From b687ff924242ecf321b9ee66055ba269c498fdd9 Mon Sep 17 00:00:00 2001 From: Denis Yuen Date: Tue, 28 Apr 2026 14:22:31 -0400 Subject: [PATCH] working prune get a couple error messages whgen sourcing and making the environment, but the output seems ok --- .gitmodules | 3 - CONTRIBUTING.rst | 1236 - Dockerfile | 81 - OPERATOR.rst | 952 - UPGRADING.rst | 3004 -- .../anvilbox/.example.environment.local.py | 1 - deployments/anvilbox/environment.py | 173 - deployments/anvildev.browser/environment.py | 41 - deployments/anvildev.gitlab/environment.py | 31 - deployments/anvildev.shared/environment.py | 1 - .../anvildev/.example.environment.local.py | 1 - deployments/anvildev/environment.py | 153 - deployments/anvilprod.browser/environment.py | 41 - deployments/anvilprod.gitlab/environment.py | 31 - deployments/anvilprod.shared/environment.py | 29 - .../anvilprod/.example.environment.local.py | 1 - deployments/anvilprod/environment.py | 1284 - deployments/dev.browser/environment.py | 50 - deployments/dev.gitlab/environment.py | 31 - deployments/dev.shared/environment.py | 38 - deployments/dev/.example.environment.local.py | 34 - .../hammerbox/.example.environment.local.py | 1 - deployments/hammerbox/environment.py | 1302 - deployments/prod.browser/environment.py | 50 - deployments/prod.gitlab/environment.py | 31 - deployments/prod.shared/environment.py | 1 - .../prod/.example.environment.local.py | 1 - deployments/prod/environment.py | 1878 - .../sandbox/.example.environment.local.py | 1 - deployments/sandbox/environment.py | 283 - deployments/tempdev.browser/environment.py | 41 - deployments/tempdev.gitlab/environment.py | 31 - deployments/tempdev.shared/environment.py | 38 - .../tempdev/.example.environment.local.py | 1 - deployments/tempdev/environment.py | 138 - docker_images.json | 167 - docs/azul-arch.svg | 1744 - docs/compliance/change_management.rst | 263 - .../CIS_Amazon_Linux_2_Benchmark_v1_0_0.pdf | Bin 2581797 -> 0 bytes .../CIS_Amazon_Linux_2_Benchmark_v2.0.0.pdf | Bin 4508470 -> 0 bytes docs/compliance/cis/license.txt | 429 - docs/dependencies.svg | 185 - docs/gitlab.monopic | Bin 6367 -> 0 bytes docs/licenses/aws-signing-proxy.txt | 5 - docs/licenses/aws_cli.txt | 14 - docs/licenses/bigquery.txt | 121 - docs/licenses/cerebro.txt | 23 - docs/licenses/curl.txt | 13 - docs/licenses/docker.txt | 51 - docs/licenses/elasticsearch.txt | 57 - docs/licenses/git.txt | 7 - docs/licenses/github.txt | 358 - docs/licenses/gitlab.txt | 30 - docs/licenses/google-cloud-sdk.txt | 22 - docs/licenses/grafana.txt | 47 - docs/licenses/jq.txt | 137 - docs/licenses/lgtm.txt | 203 - docs/licenses/locust.txt | 23 - docs/licenses/pycharm.txt | 44 - docs/licenses/python.txt | 23 - docs/licenses/python/arrow.txt | 204 - docs/licenses/python/atomicwrites.txt | 21 - docs/licenses/python/attrs.txt | 23 - docs/licenses/python/aws-requests-auth.txt | 29 - docs/licenses/python/awscli.txt | 14 - docs/licenses/python/bagit-profile.txt | 26 - docs/licenses/python/bagit.txt | 40 - docs/licenses/python/blessed.txt | 22 - docs/licenses/python/blinker.txt | 22 - docs/licenses/python/boto3-stubs.txt | 23 - docs/licenses/python/boto3.txt | 179 - docs/licenses/python/botocore-stubs.txt | 23 - docs/licenses/python/botocore.txt | 179 - docs/licenses/python/brotli.txt | 21 - docs/licenses/python/cachetools.txt | 22 - docs/licenses/python/certifi.txt | 22 - docs/licenses/python/cffi.txt | 28 - docs/licenses/python/chalice.txt | 203 - docs/licenses/python/charset-normalizer.txt | 23 - docs/licenses/python/chevron.txt | 24 - docs/licenses/python/click.txt | 30 - docs/licenses/python/colorama.txt | 29 - docs/licenses/python/configargparse.txt | 23 - docs/licenses/python/coverage.txt | 179 - docs/licenses/python/cryptography.txt | 5 - docs/licenses/python/deprecated.txt | 23 - docs/licenses/python/docker.txt | 193 - docs/licenses/python/docutils.txt | 160 - docs/licenses/python/elasticsearch-dsl.txt | 178 - docs/licenses/python/elasticsearch.txt | 178 - docs/licenses/python/fastavro.txt | 23 - docs/licenses/python/flake8.txt | 24 - docs/licenses/python/flask-basicauth.txt | 29 - docs/licenses/python/flask-cors.txt | 9 - docs/licenses/python/flask.txt | 30 - docs/licenses/python/furl.txt | 32 - docs/licenses/python/gevent.txt | 27 - docs/licenses/python/geventhttpclient.txt | 30 - docs/licenses/python/gitdb.txt | 44 - docs/licenses/python/gitpython.txt | 31 - docs/licenses/python/google-api-core.txt | 204 - .../python/google-api-python-client.txt | 203 - docs/licenses/python/google-auth-httplib2.txt | 203 - docs/licenses/python/google-auth.txt | 203 - .../google-cloud-bigquery-reservation.txt | 205 - .../licenses/python/google-cloud-bigquery.txt | 204 - docs/licenses/python/google-cloud-core.txt | 204 - docs/licenses/python/google-cloud-storage.txt | 204 - docs/licenses/python/google-crc32c.txt | 204 - .../python/google-resumable-media.txt | 204 - .../python/googleapis-common-protos.txt | 204 - docs/licenses/python/greenlet.txt | 32 - docs/licenses/python/grpcio-status.txt | 409 - docs/licenses/python/grpcio.txt | 612 - .../python/http-message-signatures.txt | 193 - docs/licenses/python/http-sfv.txt | 22 - docs/licenses/python/http_sfv.txt | 21 - docs/licenses/python/httplib2.txt | 25 - docs/licenses/python/idna.txt | 33 - docs/licenses/python/importlib-metadata.txt | 205 - docs/licenses/python/importlib-resources.txt | 204 - docs/licenses/python/inquirer.txt | 23 - docs/licenses/python/itsdangerous.txt | 30 - docs/licenses/python/jdcal.txt | 12 - docs/licenses/python/jinja2.txt | 30 - docs/licenses/python/jmespath.txt | 23 - docs/licenses/python/jq.txt | 24 - docs/licenses/python/jsonschema-spec.txt | 203 - docs/licenses/python/jsonschema.txt | 21 - docs/licenses/python/jwcrypto.txt | 167 - docs/licenses/python/lazy-object-proxy.txt | 22 - docs/licenses/python/locust.txt | 23 - docs/licenses/python/markupsafe.txt | 30 - docs/licenses/python/mccabe.txt | 27 - docs/licenses/python/more-itertools.txt | 21 - docs/licenses/python/moto.txt | 204 - docs/licenses/python/msgpack.txt | 16 - docs/licenses/python/mypy-boto3-dynamodb.txt | 23 - docs/licenses/python/mypy-boto3-ecr.txt | 23 - docs/licenses/python/mypy-boto3-iam.txt | 23 - docs/licenses/python/mypy-boto3-kms.txt | 23 - docs/licenses/python/mypy-boto3-lambda.txt | 23 - docs/licenses/python/mypy-boto3-s3.txt | 23 - docs/licenses/python/mypy-boto3-sqs.txt | 23 - .../python/mypy-boto3-stepfunctions.txt | 23 - .../python/openapi-schema-validator.txt | 31 - .../python/openapi-spec-validator.txt | 203 - docs/licenses/python/orderedmultidict.txt | 33 - docs/licenses/python/packaging.txt | 5 - docs/licenses/python/pathable.txt | 203 - docs/licenses/python/pip.txt | 22 - docs/licenses/python/ply.txt | 5 - docs/licenses/python/posix-ipc.txt | 26 - docs/licenses/python/proto-plus.txt | 204 - docs/licenses/python/protobuf.txt | 4 - docs/licenses/python/psutil.txt | 31 - docs/licenses/python/py-partiql-parser.txt | 23 - docs/licenses/python/pyasn1-modules.txt | 27 - docs/licenses/python/pyasn1.txt | 26 - docs/licenses/python/pyasn1_modules.txt | 26 - docs/licenses/python/pycodestyle.txt | 22 - docs/licenses/python/pycparser.txt | 29 - docs/licenses/python/pyflakes.txt | 23 - docs/licenses/python/pygithub.txt | 676 - docs/licenses/python/pyjwt.txt | 23 - docs/licenses/python/pynacl.txt | 176 - docs/licenses/python/pyopenssl.txt | 204 - docs/licenses/python/pyparsing.txt | 20 - docs/licenses/python/pyrsistent.txt | 24 - docs/licenses/python/python-dateutil.txt | 56 - docs/licenses/python/python-dxf.txt | 21 - docs/licenses/python/python-editor.txt | 204 - docs/licenses/python/python-gitlab.txt | 167 - docs/licenses/python/pytz.txt | 10 - docs/licenses/python/pyyaml.txt | 22 - docs/licenses/python/pyzmq.txt | 32 - docs/licenses/python/readchar.txt | 23 - docs/licenses/python/requests-toolbelt.txt | 15 - docs/licenses/python/requests.txt | 177 - docs/licenses/python/requirements-parser.txt | 2478 -- docs/licenses/python/responses.txt | 203 - docs/licenses/python/roundrobin.txt | 24 - docs/licenses/python/rsa.txt | 15 - docs/licenses/python/s3transfer.txt | 204 - docs/licenses/python/setuptools-scm.txt | 19 - docs/licenses/python/setuptools.txt | 19 - docs/licenses/python/six.txt | 20 - docs/licenses/python/smmap.txt | 32 - docs/licenses/python/strict-rfc3339.txt | 4 - docs/licenses/python/tinyquery.txt | 24 - docs/licenses/python/toml.txt | 29 - docs/licenses/python/tqdm.txt | 2043 - docs/licenses/python/types-awscrt.txt | 23 - docs/licenses/python/types-s3transfer.txt | 23 - docs/licenses/python/types-toml.txt | 239 - docs/licenses/python/typing_extensions.txt | 281 - docs/licenses/python/tzlocal.txt | 21 - docs/licenses/python/uritemplate.txt | 6 - docs/licenses/python/urllib3.txt | 23 - docs/licenses/python/watchdog.txt | 204 - docs/licenses/python/wcwidth.txt | 29 - docs/licenses/python/websocket-client.txt | 205 - docs/licenses/python/werkzeug.txt | 30 - docs/licenses/python/wheel.txt | 23 - docs/licenses/python/wrapt.txt | 26 - docs/licenses/python/www-authenticate.txt | 16 - docs/licenses/python/xmltodict.txt | 9 - docs/licenses/python/zipp.txt | 22 - docs/licenses/python/zope.event.txt | 46 - docs/licenses/python/zope.interface.txt | 46 - docs/licenses/smartgit.txt | 147 - docs/licenses/snyk.txt | 182 - docs/licenses/ssh.txt | 187 - docs/licenses/terraform.txt | 355 - docs/licenses/viscosity.txt | 198 - docs/mirror.rst | 234 - lambdas/Makefile | 24 - .../indexer/.chalice/config.json.template.py | 88 - lambdas/indexer/.chalice/deployed/.gitkeep | 0 lambdas/indexer/.gitignore | 8 - lambdas/indexer/Makefile | 4 - lambdas/indexer/app.py | 129 - lambdas/indexer/openapi.json | 908 - lambdas/indexer/vendor/azul | 1 - lambdas/indexer/vendor/humancellatlas | 1 - .../vendor/resources/environ.json.template.py | 8 - .../indexer/vendor/resources/static/schemas | 1 - .../indexer/vendor/resources/static/swagger | 1 - lambdas/lambdas.mk | 60 - .../layer/.chalice/config.json.template.py | 14 - lambdas/layer/.gitignore | 2 - lambdas/layer/Makefile | 8 - lambdas/layer/app.py | 18 - lambdas/layer/requirements.trans.txt | 1 - lambdas/layer/requirements.txt | 1 - .../service/.chalice/config.json.template.py | 46 - lambdas/service/.chalice/deployed/.gitkeep | 0 lambdas/service/.gitignore | 8 - lambdas/service/Makefile | 4 - lambdas/service/app.py | 1774 - lambdas/service/openapi.json | 11835 ------ lambdas/service/vendor/azul | 1 - lambdas/service/vendor/humancellatlas | 1 - .../vendor/resources/environ.json.template.py | 8 - .../service/vendor/resources/static/swagger | 1 - schemas/mirror/info/v1.json | 22 - security.txt | 2 - src/azul/__main__.py | 39 - src/azul/attrs.py | 860 - src/azul/auth.py | 103 - src/azul/azulclient.py | 435 - src/azul/bigquery.py | 50 - src/azul/bigquery_reservation.py | 238 - src/azul/bytes.py | 114 - src/azul/chalice.py | 885 - src/azul/compliance/__init__.py | 0 .../compliance/fedramp_inventory_service.py | 932 - src/azul/csp.py | 215 - src/azul/digests.py | 48 - src/azul/docker.py | 740 - src/azul/doctests.py | 27 - src/azul/drs.py | 320 - src/azul/dss.py | 45 - src/azul/enums.py | 14 - src/azul/es.py | 241 - src/azul/exceptions.py | 59 - src/azul/files.py | 57 - src/azul/health.py | 529 - src/azul/hmac.py | 104 - src/azul/indexer/__init__.py | 692 - src/azul/indexer/action_controller.py | 88 - src/azul/indexer/aggregate.py | 635 - src/azul/indexer/document.py | 1162 - src/azul/indexer/document_service.py | 134 - src/azul/indexer/field.py | 504 - src/azul/indexer/index_controller.py | 285 - src/azul/indexer/index_queue_service.py | 357 - src/azul/indexer/index_repository_service.py | 142 - src/azul/indexer/index_service.py | 976 - src/azul/indexer/lambda_iam_policy.py | 167 - src/azul/indexer/log_forwarding_controller.py | 47 - src/azul/indexer/log_forwarding_service.py | 183 - src/azul/indexer/mirror_controller.py | 331 - src/azul/indexer/mirror_service.py | 386 - src/azul/indexer/transform.py | 206 - src/azul/iterators.py | 99 - src/azul/json_freeze.py | 159 - src/azul/lambda_layer.py | 115 - src/azul/lambdas.py | 188 - src/azul/modules.py | 78 - src/azul/oauth2.py | 188 - src/azul/objects.py | 71 - src/azul/plugins/__init__.py | 894 - src/azul/plugins/metadata/__init__.py | 0 src/azul/plugins/metadata/anvil/__init__.py | 537 - src/azul/plugins/metadata/anvil/bundle.py | 121 - .../metadata/anvil/indexer/__init__.py | 0 .../metadata/anvil/indexer/aggregate.py | 74 - .../metadata/anvil/indexer/transform.py | 681 - src/azul/plugins/metadata/anvil/schema.py | 898 - .../metadata/anvil/service/__init__.py | 0 .../metadata/anvil/service/aggregation.py | 39 - .../plugins/metadata/anvil/service/filter.py | 10 - .../metadata/anvil/service/response.py | 251 - src/azul/plugins/metadata/hca/__init__.py | 521 - src/azul/plugins/metadata/hca/bundle.py | 49 - .../plugins/metadata/hca/indexer/__init__.py | 0 .../plugins/metadata/hca/indexer/aggregate.py | 258 - .../plugins/metadata/hca/indexer/transform.py | 1772 - .../plugins/metadata/hca/service/__init__.py | 0 .../metadata/hca/service/aggregation.py | 153 - .../hca/service/contributor_matrices.py | 367 - .../plugins/metadata/hca/service/filter.py | 10 - .../plugins/metadata/hca/service/response.py | 578 - src/azul/plugins/repository/__init__.py | 0 .../plugins/repository/canned/__init__.py | 308 - src/azul/plugins/repository/dss/__init__.py | 275 - src/azul/plugins/repository/tdr.py | 288 - .../plugins/repository/tdr_anvil/__init__.py | 940 - .../plugins/repository/tdr_hca/__init__.py | 535 - src/azul/queues.py | 591 - src/azul/schemas.py | 85 - src/azul/service/__init__.py | 172 - src/azul/service/app_controller.py | 153 - src/azul/service/async_manifest_service.py | 230 - src/azul/service/avro_pfb.py | 805 - src/azul/service/buffer.py | 67 - src/azul/service/catalog_controller.py | 89 - src/azul/service/drs_controller.py | 427 - src/azul/service/elasticsearch_service.py | 712 - src/azul/service/lambda_iam_policy.py | 212 - src/azul/service/manifest_controller.py | 302 - src/azul/service/manifest_service.py | 2095 - src/azul/service/repository_controller.py | 441 - src/azul/service/repository_service.py | 381 - src/azul/service/source_controller.py | 94 - src/azul/service/source_service.py | 123 - src/azul/service/storage_service.py | 372 - src/azul/template/__init__.py | 48 - src/azul/template/__main__.py | 35 - src/azul/terra.py | 714 - src/azul/terraform.py | 969 - src/azul/threads.py | 258 - src/azul/time.py | 193 - src/azul/uuids.py | 270 - src/azul/vendored/README.md | 11 - src/azul/vendored/__init__.py | 0 src/humancellatlas/data/metadata/age_range.py | 113 - src/humancellatlas/data/metadata/api.py | 1165 - src/humancellatlas/data/metadata/datetime.py | 147 - .../data/metadata/helpers/json.py | 48 - .../metadata/helpers/schema_validation.py | 61 - .../data/metadata/helpers/staging_area.py | 318 - src/humancellatlas/data/metadata/lookup.py | 73 - stubs/hca/dss/__init__.pyi | 20 - swagger/index.html | 19 - swagger/oauth2-redirect.html | 79 - .../oauth2-redirect.html.template.mustache | 79 - swagger/swagger-initializer.js | 20 - .../swagger-initializer.js.template.mustache | 41 - swagger/swagger-ui-bundle.js | 2 - swagger/swagger-ui-standalone-preset.js | 2 - swagger/swagger-ui.css | 3 - terraform/.gitignore | 3 - terraform/.terraform.lock.hcl | 122 - terraform/Makefile | 80 - terraform/_schema.json.gz | Bin 858831 -> 0 bytes terraform/api_gateway.tf.json.template.py | 1129 - terraform/authentication.tf.json.template.py | 122 - terraform/backend.tf.json.template.py | 21 - terraform/browser/.gitignore | 1 - terraform/browser/.terraform.lock.hcl | 1 - terraform/browser/Makefile | 1 - .../browser/add_google_search_api_key.js | 41 - terraform/browser/add_response_headers.js | 30 - terraform/browser/backend.tf.json.template.py | 1 - terraform/browser/browser.tf.json.template.py | 655 - terraform/browser/bucket_path_mapper.js | 52 - terraform/browser/common.tf.json.template.py | 1 - .../browser/providers.tf.json.template.py | 1 - terraform/cloudwatch.tf.json.template.py | 304 - .../cloudwatch_dashboard.template.json.py | 2105 - terraform/common.tf.json.template.py | 42 - terraform/data_sources.tf.json.template.py | 22 - terraform/dynamo.tf.json.template.py | 35 - terraform/elasticsearch.tf.json.template.py | 184 - terraform/gitlab/.gitignore | 1 - terraform/gitlab/.terraform.lock.hcl | 1 - terraform/gitlab/Makefile | 1 - terraform/gitlab/backend.tf.json.template.py | 1 - terraform/gitlab/common.tf.json.template.py | 1 - terraform/gitlab/gitlab.tf.json.template.py | 2278 - .../gitlab/providers.tf.json.template.py | 1 - terraform/gitlab/runner/Dockerfile | 54 - terraform/gitlab/runner/Makefile | 26 - terraform/gitlab/vpn/Makefile | 234 - terraform/gitlab/vpn/easy-rsa | 1 - terraform/lambda_layer.tf.json.template.py | 28 - terraform/providers.tf.json.template.py | 56 - terraform/s3.tf.json.template.py | 90 - terraform/shared/.gitignore | 1 - terraform/shared/.terraform.lock.hcl | 1 - terraform/shared/Makefile | 52 - terraform/shared/backend.tf.json.template.py | 1 - terraform/shared/common.tf.json.template.py | 1 - .../conformance_pack_nist_800_53_rev_4.yaml | 1308 - .../shared/providers.tf.json.template.py | 1 - terraform/shared/shared.tf.json.template.py | 1125 - terraform/sqs.tf.json.template.py | 80 - terraform/step_function.tf.json.template.py | 93 - test/__init__.py | 0 test/app_test_case.py | 138 - test/azul_test_case.py | 520 - test/docker_container_test_case.py | 180 - test/dynamodb_test_case.py | 62 - test/es_test_case.py | 100 - test/hca_metadata_api/__init__.py | 0 ...a3fb4204953.2018-08-03T082009.272868Z.json | 463 - ...a3fb4204953.2018-08-03T082009.272868Z.json | 479 - ...a3fb4204953.2018-08-03T082009.272868Z.json | 1454 - ...a3fb4204953.2018-08-03T082009.272868Z.json | 419 - ...a3fb4204953.2018-08-03T082009.272868Z.json | 436 - ...a3fb4204953.2018-08-03T082009.272868Z.json | 354 - ...a3fb4204953.2018-08-03T082009.272868Z.json | 650 - ...318dbb86000.2019-01-03T163633.780215Z.json | 1525 - ...61d6da02d44.2019-09-20T103932.395795Z.json | 832 - ...a3fb4204953.2018-03-29T142048.835519Z.json | 606 - ...d019d1c9439.2019-05-15T222432.561000Z.json | 269 - ...08092b2dabe.2019-04-17T175706.867000Z.json | 729 - ...68e20ec4a2e.2019-02-02T065454.662896Z.json | 2080 - ...19c1c2d9018.2018-10-07T130111.835234Z.json | 492 - ...406a478d5ab.2018-09-05T182535.846470Z.json | 333 - ...95a3f8deb9c.2019-04-03T103426.471000Z.json | 9126 ---- ...720f33a5dde.2019-03-17T220646.332108Z.json | 598 - test/hca_metadata_api/test.py | 825 - test/health_check_test_case.py | 303 - test/indexer/__init__.py | 337 - ...3-5e9d-52cd-b32d-af88edccabfa.dss.hca.json | 4253 -- ...5-71e2-48ca-a87b-e256938c6a98.dss.hca.json | 3131 -- ...3-0449-4e57-be2e-6f3b8fbdfb12.dss.hca.json | 34999 ---------------- ...c-6778-423d-8fe9-869e2a515d35.dss.hca.json | 618 - ...8-01a0-464a-9599-7375fda3353d.dss.hca.json | 883 - ...8-d6e9-406a-aa6a-7ee886e52bf9.dss.hca.json | 1052 - ...8-d6e9-406a-aa6a-7ee886e52bf9.tdr.hca.json | 1237 - ...0-eaba-531d-ba9e-db80164d65ef.dss.hca.json | 592 - ...4-fa14-5c6f-a474-a742540108a3.dss.hca.json | 475 - ...5-f397-4bff-9af0-eb42c37d5fbe.dss.hca.json | 606 - ...2783-aeb6-afea-e022897f4dcf.tdr.anvil.json | 36 - ...c-0c3c-4d91-a348-5d784ab48b92.dss.hca.json | 12801 ------ ...8-658e-4c51-9de4-a768322f84c5.dss.hca.json | 655 - ...3-93e1-56b4-b857-59497f5d942d.dss.hca.json | 436 - ...a-940e-49b1-9bcc-25699a55b295.dss.hca.json | 1229 - ...f-61a7-4504-a57c-fc70f38d5b13.dss.hca.json | 1816 - ...5-5990-43cd-84cc-6c7796b8a76d.dss.hca.json | 2432 -- ...5-5990-43cd-84cc-6c7796b8a76d.dss.hca.json | 2432 -- ...5-b3c5-5aab-ab86-51d8ce44dfbe.tdr.hca.json | 849 - ...a-81ad-49dc-9b12-9f77f4f50be8.dss.hca.json | 12801 ------ ...e-9df1-5cd5-a8e4-48a2fe095081.dss.hca.json | 747 - ...8-adab-59a9-b6c4-3a61242cc972.dss.hca.json | 564 - ...e-7554-4b5d-96a2-7df127a7640b.dss.hca.json | 585 - ...4-1075-4bbf-b96a-4d1ede0481b2.dss.hca.json | 1616 - ...d33d-abf7-9ba0-c7b3a0ca82f3.tdr.anvil.json | 44 - ...09d-46a4-b845-7584df39263b.tables.tdr.json | 275 - ...0.2020-12-10T10:30:00.000000Z.dss.hca.json | 17287 -------- ...1-ec7f-5aee-84d4-2ba24d66e93b.dss.hca.json | 568 - ...f-8346-5420-b7e4-b486f99451a8.dss.hca.json | 1331 - ...e-00a5-4fdc-bfe3-d339ff8a7178.dss.hca.json | 675 - ...2-e274-affe-aabc-eb3db63ad068.results.json | 4095 -- ...e274-affe-aabc-eb3db63ad068.tdr.anvil.json | 236 - ...1-f3fa-5e7b-885f-e4ee5689ee15.dss.hca.json | 557 - ...f-4c01-48d5-a79f-1c5439659da3.dss.hca.json | 683 - ...3-1885-545f-9381-0dab1edf6074.dss.hca.json | 543 - ...e-9a5d-4e3d-ada2-0414b666b880.dss.hca.json | 1355 - ...2-30c8-4de0-a78e-f95a3f8deb9c.dss.hca.json | 9128 ---- ...3-f0ac-417a-8a29-221c77debde8.dss.hca.json | 764 - ...6-ced8-448a-8e45-1fc7846d8995.dss.hca.json | 585 - ...d.2018-11-02T11:33:44.698028Z.dss.hca.json | 437 - ...d.2018-11-02T11:33:44.698028Z.results.json | 3893 -- ...d.2018-11-04T11:33:44.698028Z.dss.hca.json | 437 - ...9-5544-49fe-b54d-e29b9fc3f61f.dss.hca.json | 12801 ------ ...8-7eaa-45f4-8077-5a3fb4204953.dss.hca.json | 632 - ...e-9b7b-4800-8977-fe7c94e131df.dss.hca.json | 516 - ...9966-a0ef-88be-88caf3e8a29b.tdr.anvil.json | 97 - ...9-257f-4cd0-b2fe-eaf6d5d37d18.dss.hca.json | 12414 ------ ...4-dc9f-439e-af29-f8eb75b0729d.dss.hca.json | 589 - ...4-9a58-4763-9e66-59894efbdaa8.dss.hca.json | 33066 --------------- ...d-615f-4153-8a56-f2317d7d9ce8.dss.hca.json | 1645 - ...f-aee9-5a05-a4a1-d8f4e720aee7.dss.hca.json | 604 - ...39f-4e7d-9161-b720953432ce.tables.tdr.json | 2238 - ...1-4766-4210-966c-f9ee25d19190.dss.hca.json | 2432 -- ...a-2b51-4419-9cde-34df44c6458a.dss.hca.json | 602 - ...e-9fba-4d7a-b85b-a2220d16da73.dss.hca.json | 1816 - ...4-6b80-4eed-97c9-4984de81a47c.dss.hca.json | 8298 ---- ...7-dfc6-46d6-ae00-ba4b25313c10.dss.hca.json | 611 - ...b-2d64-49f5-8ed8-bd627ac9bc7a.dss.hca.json | 1257 - ...7-b0f0-5d11-b9a7-30e8fa3259a8.dss.hca.json | 28909 ------------- ...f-4b1c-4455-bd58-19c1a9e863b4.dss.hca.json | 840 - test/indexer/test_anvil.py | 309 - test/indexer/test_health_check.py | 49 - test/indexer/test_index_controller.py | 311 - test/indexer/test_indexer.py | 2321 - test/indexer/test_mirror_controller.py | 183 - test/indexer/test_notifications.py | 138 - test/indexer/test_projects.py | 103 - test/indexer/test_tdr.py | 464 - test/integration_test.py | 2043 - test/service/__init__.py | 348 - .../data/manifest/terra/pfb_entities.json | 3550 -- .../data/manifest/terra/pfb_schema.json | 2127 - .../manifest/verbatim/jsonl/anvil/linked.json | 235 - .../verbatim/jsonl/anvil/orphans.json | 26 - .../manifest/verbatim/jsonl/hca/manifest.json | 376 - .../verbatim/pfb/anvil/pfb_entities.json | 526 - .../verbatim/pfb/anvil/pfb_schema.json | 1200 - .../verbatim/pfb/hca/pfb_entities.json | 475 - .../manifest/verbatim/pfb/hca/pfb_schema.json | 1317 - test/service/test_app_logging.py | 158 - test/service/test_buffer.py | 69 - test/service/test_cache_poisoning.py | 84 - test/service/test_drs.py | 324 - test/service/test_filters.py | 159 - test/service/test_health_check.py | 49 - test/service/test_index_projects.py | 103 - test/service/test_index_samples.py | 61 - test/service/test_manifest.py | 1969 - test/service/test_manifest_async.py | 657 - test/service/test_pagination.py | 148 - test/service/test_repository_files.py | 444 - test/service/test_request_builder.py | 410 - test/service/test_request_validation.py | 358 - test/service/test_response.py | 3726 -- test/service/test_response_anvil.py | 1544 - test/service/test_source_cache.py | 51 - test/service/test_storage_service.py | 114 - test/sqs_test_case.py | 104 - test/test_app_logging.py | 193 - test/test_azul_flake8.py | 209 - test/test_check_branch.py | 150 - test/test_deployment.py | 21 - test/test_doctests.py | 127 - test/test_http.py | 169 - test/test_log_forwarding.py | 223 - test/test_openapi.py | 307 - test/test_tagging.py | 124 - 544 files changed, 383729 deletions(-) delete mode 100644 CONTRIBUTING.rst delete mode 100644 Dockerfile delete mode 100644 OPERATOR.rst delete mode 100644 UPGRADING.rst delete mode 120000 deployments/anvilbox/.example.environment.local.py delete mode 100644 deployments/anvilbox/environment.py delete mode 100644 deployments/anvildev.browser/environment.py delete mode 100644 deployments/anvildev.gitlab/environment.py delete mode 120000 deployments/anvildev.shared/environment.py delete mode 120000 deployments/anvildev/.example.environment.local.py delete mode 100644 deployments/anvildev/environment.py delete mode 100644 deployments/anvilprod.browser/environment.py delete mode 100644 deployments/anvilprod.gitlab/environment.py delete mode 100644 deployments/anvilprod.shared/environment.py delete mode 120000 deployments/anvilprod/.example.environment.local.py delete mode 100644 deployments/anvilprod/environment.py delete mode 100644 deployments/dev.browser/environment.py delete mode 100644 deployments/dev.gitlab/environment.py delete mode 100644 deployments/dev.shared/environment.py delete mode 100644 deployments/dev/.example.environment.local.py delete mode 120000 deployments/hammerbox/.example.environment.local.py delete mode 100644 deployments/hammerbox/environment.py delete mode 100644 deployments/prod.browser/environment.py delete mode 100644 deployments/prod.gitlab/environment.py delete mode 120000 deployments/prod.shared/environment.py delete mode 120000 deployments/prod/.example.environment.local.py delete mode 100644 deployments/prod/environment.py delete mode 120000 deployments/sandbox/.example.environment.local.py delete mode 100644 deployments/sandbox/environment.py delete mode 100644 deployments/tempdev.browser/environment.py delete mode 100644 deployments/tempdev.gitlab/environment.py delete mode 100644 deployments/tempdev.shared/environment.py delete mode 120000 deployments/tempdev/.example.environment.local.py delete mode 100644 deployments/tempdev/environment.py delete mode 100644 docker_images.json delete mode 100644 docs/azul-arch.svg delete mode 100644 docs/compliance/change_management.rst delete mode 100644 docs/compliance/cis/CIS_Amazon_Linux_2_Benchmark_v1_0_0.pdf delete mode 100644 docs/compliance/cis/CIS_Amazon_Linux_2_Benchmark_v2.0.0.pdf delete mode 100644 docs/compliance/cis/license.txt delete mode 100644 docs/dependencies.svg delete mode 100644 docs/gitlab.monopic delete mode 100644 docs/licenses/aws-signing-proxy.txt delete mode 100644 docs/licenses/aws_cli.txt delete mode 100644 docs/licenses/bigquery.txt delete mode 100644 docs/licenses/cerebro.txt delete mode 100644 docs/licenses/curl.txt delete mode 100644 docs/licenses/docker.txt delete mode 100644 docs/licenses/elasticsearch.txt delete mode 100644 docs/licenses/git.txt delete mode 100644 docs/licenses/github.txt delete mode 100644 docs/licenses/gitlab.txt delete mode 100644 docs/licenses/google-cloud-sdk.txt delete mode 100644 docs/licenses/grafana.txt delete mode 100644 docs/licenses/jq.txt delete mode 100644 docs/licenses/lgtm.txt delete mode 100644 docs/licenses/locust.txt delete mode 100644 docs/licenses/pycharm.txt delete mode 100644 docs/licenses/python.txt delete mode 100644 docs/licenses/python/arrow.txt delete mode 100644 docs/licenses/python/atomicwrites.txt delete mode 100644 docs/licenses/python/attrs.txt delete mode 100644 docs/licenses/python/aws-requests-auth.txt delete mode 100644 docs/licenses/python/awscli.txt delete mode 100644 docs/licenses/python/bagit-profile.txt delete mode 100644 docs/licenses/python/bagit.txt delete mode 100644 docs/licenses/python/blessed.txt delete mode 100644 docs/licenses/python/blinker.txt delete mode 100644 docs/licenses/python/boto3-stubs.txt delete mode 100644 docs/licenses/python/boto3.txt delete mode 100644 docs/licenses/python/botocore-stubs.txt delete mode 100644 docs/licenses/python/botocore.txt delete mode 100644 docs/licenses/python/brotli.txt delete mode 100644 docs/licenses/python/cachetools.txt delete mode 100644 docs/licenses/python/certifi.txt delete mode 100644 docs/licenses/python/cffi.txt delete mode 100644 docs/licenses/python/chalice.txt delete mode 100644 docs/licenses/python/charset-normalizer.txt delete mode 100644 docs/licenses/python/chevron.txt delete mode 100644 docs/licenses/python/click.txt delete mode 100644 docs/licenses/python/colorama.txt delete mode 100644 docs/licenses/python/configargparse.txt delete mode 100644 docs/licenses/python/coverage.txt delete mode 100644 docs/licenses/python/cryptography.txt delete mode 100644 docs/licenses/python/deprecated.txt delete mode 100644 docs/licenses/python/docker.txt delete mode 100644 docs/licenses/python/docutils.txt delete mode 100644 docs/licenses/python/elasticsearch-dsl.txt delete mode 100644 docs/licenses/python/elasticsearch.txt delete mode 100644 docs/licenses/python/fastavro.txt delete mode 100644 docs/licenses/python/flake8.txt delete mode 100644 docs/licenses/python/flask-basicauth.txt delete mode 100644 docs/licenses/python/flask-cors.txt delete mode 100644 docs/licenses/python/flask.txt delete mode 100644 docs/licenses/python/furl.txt delete mode 100644 docs/licenses/python/gevent.txt delete mode 100644 docs/licenses/python/geventhttpclient.txt delete mode 100644 docs/licenses/python/gitdb.txt delete mode 100644 docs/licenses/python/gitpython.txt delete mode 100644 docs/licenses/python/google-api-core.txt delete mode 100644 docs/licenses/python/google-api-python-client.txt delete mode 100644 docs/licenses/python/google-auth-httplib2.txt delete mode 100644 docs/licenses/python/google-auth.txt delete mode 100644 docs/licenses/python/google-cloud-bigquery-reservation.txt delete mode 100644 docs/licenses/python/google-cloud-bigquery.txt delete mode 100644 docs/licenses/python/google-cloud-core.txt delete mode 100644 docs/licenses/python/google-cloud-storage.txt delete mode 100644 docs/licenses/python/google-crc32c.txt delete mode 100644 docs/licenses/python/google-resumable-media.txt delete mode 100644 docs/licenses/python/googleapis-common-protos.txt delete mode 100644 docs/licenses/python/greenlet.txt delete mode 100644 docs/licenses/python/grpcio-status.txt delete mode 100644 docs/licenses/python/grpcio.txt delete mode 100644 docs/licenses/python/http-message-signatures.txt delete mode 100644 docs/licenses/python/http-sfv.txt delete mode 100644 docs/licenses/python/http_sfv.txt delete mode 100644 docs/licenses/python/httplib2.txt delete mode 100644 docs/licenses/python/idna.txt delete mode 100644 docs/licenses/python/importlib-metadata.txt delete mode 100644 docs/licenses/python/importlib-resources.txt delete mode 100644 docs/licenses/python/inquirer.txt delete mode 100644 docs/licenses/python/itsdangerous.txt delete mode 100644 docs/licenses/python/jdcal.txt delete mode 100644 docs/licenses/python/jinja2.txt delete mode 100644 docs/licenses/python/jmespath.txt delete mode 100644 docs/licenses/python/jq.txt delete mode 100644 docs/licenses/python/jsonschema-spec.txt delete mode 100644 docs/licenses/python/jsonschema.txt delete mode 100644 docs/licenses/python/jwcrypto.txt delete mode 100644 docs/licenses/python/lazy-object-proxy.txt delete mode 100644 docs/licenses/python/locust.txt delete mode 100644 docs/licenses/python/markupsafe.txt delete mode 100644 docs/licenses/python/mccabe.txt delete mode 100644 docs/licenses/python/more-itertools.txt delete mode 100644 docs/licenses/python/moto.txt delete mode 100644 docs/licenses/python/msgpack.txt delete mode 100644 docs/licenses/python/mypy-boto3-dynamodb.txt delete mode 100644 docs/licenses/python/mypy-boto3-ecr.txt delete mode 100644 docs/licenses/python/mypy-boto3-iam.txt delete mode 100644 docs/licenses/python/mypy-boto3-kms.txt delete mode 100644 docs/licenses/python/mypy-boto3-lambda.txt delete mode 100644 docs/licenses/python/mypy-boto3-s3.txt delete mode 100644 docs/licenses/python/mypy-boto3-sqs.txt delete mode 100644 docs/licenses/python/mypy-boto3-stepfunctions.txt delete mode 100644 docs/licenses/python/openapi-schema-validator.txt delete mode 100644 docs/licenses/python/openapi-spec-validator.txt delete mode 100644 docs/licenses/python/orderedmultidict.txt delete mode 100644 docs/licenses/python/packaging.txt delete mode 100644 docs/licenses/python/pathable.txt delete mode 100644 docs/licenses/python/pip.txt delete mode 100644 docs/licenses/python/ply.txt delete mode 100644 docs/licenses/python/posix-ipc.txt delete mode 100644 docs/licenses/python/proto-plus.txt delete mode 100644 docs/licenses/python/protobuf.txt delete mode 100644 docs/licenses/python/psutil.txt delete mode 100644 docs/licenses/python/py-partiql-parser.txt delete mode 100644 docs/licenses/python/pyasn1-modules.txt delete mode 100644 docs/licenses/python/pyasn1.txt delete mode 100644 docs/licenses/python/pyasn1_modules.txt delete mode 100644 docs/licenses/python/pycodestyle.txt delete mode 100644 docs/licenses/python/pycparser.txt delete mode 100644 docs/licenses/python/pyflakes.txt delete mode 100644 docs/licenses/python/pygithub.txt delete mode 100644 docs/licenses/python/pyjwt.txt delete mode 100644 docs/licenses/python/pynacl.txt delete mode 100644 docs/licenses/python/pyopenssl.txt delete mode 100644 docs/licenses/python/pyparsing.txt delete mode 100644 docs/licenses/python/pyrsistent.txt delete mode 100644 docs/licenses/python/python-dateutil.txt delete mode 100644 docs/licenses/python/python-dxf.txt delete mode 100644 docs/licenses/python/python-editor.txt delete mode 100644 docs/licenses/python/python-gitlab.txt delete mode 100644 docs/licenses/python/pytz.txt delete mode 100644 docs/licenses/python/pyyaml.txt delete mode 100644 docs/licenses/python/pyzmq.txt delete mode 100644 docs/licenses/python/readchar.txt delete mode 100644 docs/licenses/python/requests-toolbelt.txt delete mode 100644 docs/licenses/python/requests.txt delete mode 100644 docs/licenses/python/requirements-parser.txt delete mode 100644 docs/licenses/python/responses.txt delete mode 100644 docs/licenses/python/roundrobin.txt delete mode 100644 docs/licenses/python/rsa.txt delete mode 100644 docs/licenses/python/s3transfer.txt delete mode 100644 docs/licenses/python/setuptools-scm.txt delete mode 100644 docs/licenses/python/setuptools.txt delete mode 100644 docs/licenses/python/six.txt delete mode 100644 docs/licenses/python/smmap.txt delete mode 100644 docs/licenses/python/strict-rfc3339.txt delete mode 100644 docs/licenses/python/tinyquery.txt delete mode 100644 docs/licenses/python/toml.txt delete mode 100644 docs/licenses/python/tqdm.txt delete mode 100644 docs/licenses/python/types-awscrt.txt delete mode 100644 docs/licenses/python/types-s3transfer.txt delete mode 100644 docs/licenses/python/types-toml.txt delete mode 100644 docs/licenses/python/typing_extensions.txt delete mode 100644 docs/licenses/python/tzlocal.txt delete mode 100644 docs/licenses/python/uritemplate.txt delete mode 100644 docs/licenses/python/urllib3.txt delete mode 100644 docs/licenses/python/watchdog.txt delete mode 100644 docs/licenses/python/wcwidth.txt delete mode 100644 docs/licenses/python/websocket-client.txt delete mode 100644 docs/licenses/python/werkzeug.txt delete mode 100644 docs/licenses/python/wheel.txt delete mode 100644 docs/licenses/python/wrapt.txt delete mode 100644 docs/licenses/python/www-authenticate.txt delete mode 100644 docs/licenses/python/xmltodict.txt delete mode 100644 docs/licenses/python/zipp.txt delete mode 100644 docs/licenses/python/zope.event.txt delete mode 100644 docs/licenses/python/zope.interface.txt delete mode 100644 docs/licenses/smartgit.txt delete mode 100644 docs/licenses/snyk.txt delete mode 100644 docs/licenses/ssh.txt delete mode 100644 docs/licenses/terraform.txt delete mode 100644 docs/licenses/viscosity.txt delete mode 100644 docs/mirror.rst delete mode 100644 lambdas/Makefile delete mode 100644 lambdas/indexer/.chalice/config.json.template.py delete mode 100644 lambdas/indexer/.chalice/deployed/.gitkeep delete mode 100644 lambdas/indexer/.gitignore delete mode 100644 lambdas/indexer/Makefile delete mode 100644 lambdas/indexer/app.py delete mode 100644 lambdas/indexer/openapi.json delete mode 120000 lambdas/indexer/vendor/azul delete mode 120000 lambdas/indexer/vendor/humancellatlas delete mode 100644 lambdas/indexer/vendor/resources/environ.json.template.py delete mode 120000 lambdas/indexer/vendor/resources/static/schemas delete mode 120000 lambdas/indexer/vendor/resources/static/swagger delete mode 100644 lambdas/lambdas.mk delete mode 100644 lambdas/layer/.chalice/config.json.template.py delete mode 100644 lambdas/layer/.gitignore delete mode 100644 lambdas/layer/Makefile delete mode 100644 lambdas/layer/app.py delete mode 120000 lambdas/layer/requirements.trans.txt delete mode 120000 lambdas/layer/requirements.txt delete mode 100644 lambdas/service/.chalice/config.json.template.py delete mode 100644 lambdas/service/.chalice/deployed/.gitkeep delete mode 100644 lambdas/service/.gitignore delete mode 100644 lambdas/service/Makefile delete mode 100644 lambdas/service/app.py delete mode 100644 lambdas/service/openapi.json delete mode 120000 lambdas/service/vendor/azul delete mode 120000 lambdas/service/vendor/humancellatlas delete mode 100644 lambdas/service/vendor/resources/environ.json.template.py delete mode 120000 lambdas/service/vendor/resources/static/swagger delete mode 100644 schemas/mirror/info/v1.json delete mode 100644 security.txt delete mode 100644 src/azul/__main__.py delete mode 100644 src/azul/attrs.py delete mode 100644 src/azul/auth.py delete mode 100644 src/azul/azulclient.py delete mode 100644 src/azul/bigquery.py delete mode 100644 src/azul/bigquery_reservation.py delete mode 100644 src/azul/bytes.py delete mode 100644 src/azul/chalice.py delete mode 100644 src/azul/compliance/__init__.py delete mode 100644 src/azul/compliance/fedramp_inventory_service.py delete mode 100644 src/azul/csp.py delete mode 100644 src/azul/digests.py delete mode 100644 src/azul/docker.py delete mode 100644 src/azul/doctests.py delete mode 100644 src/azul/drs.py delete mode 100644 src/azul/dss.py delete mode 100644 src/azul/enums.py delete mode 100644 src/azul/es.py delete mode 100644 src/azul/exceptions.py delete mode 100644 src/azul/files.py delete mode 100644 src/azul/health.py delete mode 100644 src/azul/hmac.py delete mode 100644 src/azul/indexer/__init__.py delete mode 100644 src/azul/indexer/action_controller.py delete mode 100644 src/azul/indexer/aggregate.py delete mode 100644 src/azul/indexer/document.py delete mode 100644 src/azul/indexer/document_service.py delete mode 100644 src/azul/indexer/field.py delete mode 100644 src/azul/indexer/index_controller.py delete mode 100644 src/azul/indexer/index_queue_service.py delete mode 100644 src/azul/indexer/index_repository_service.py delete mode 100644 src/azul/indexer/index_service.py delete mode 100644 src/azul/indexer/lambda_iam_policy.py delete mode 100644 src/azul/indexer/log_forwarding_controller.py delete mode 100644 src/azul/indexer/log_forwarding_service.py delete mode 100644 src/azul/indexer/mirror_controller.py delete mode 100644 src/azul/indexer/mirror_service.py delete mode 100644 src/azul/indexer/transform.py delete mode 100644 src/azul/iterators.py delete mode 100644 src/azul/json_freeze.py delete mode 100644 src/azul/lambda_layer.py delete mode 100644 src/azul/lambdas.py delete mode 100644 src/azul/modules.py delete mode 100644 src/azul/oauth2.py delete mode 100644 src/azul/objects.py delete mode 100644 src/azul/plugins/__init__.py delete mode 100644 src/azul/plugins/metadata/__init__.py delete mode 100644 src/azul/plugins/metadata/anvil/__init__.py delete mode 100644 src/azul/plugins/metadata/anvil/bundle.py delete mode 100644 src/azul/plugins/metadata/anvil/indexer/__init__.py delete mode 100644 src/azul/plugins/metadata/anvil/indexer/aggregate.py delete mode 100644 src/azul/plugins/metadata/anvil/indexer/transform.py delete mode 100644 src/azul/plugins/metadata/anvil/schema.py delete mode 100644 src/azul/plugins/metadata/anvil/service/__init__.py delete mode 100644 src/azul/plugins/metadata/anvil/service/aggregation.py delete mode 100644 src/azul/plugins/metadata/anvil/service/filter.py delete mode 100644 src/azul/plugins/metadata/anvil/service/response.py delete mode 100644 src/azul/plugins/metadata/hca/__init__.py delete mode 100644 src/azul/plugins/metadata/hca/bundle.py delete mode 100644 src/azul/plugins/metadata/hca/indexer/__init__.py delete mode 100644 src/azul/plugins/metadata/hca/indexer/aggregate.py delete mode 100644 src/azul/plugins/metadata/hca/indexer/transform.py delete mode 100644 src/azul/plugins/metadata/hca/service/__init__.py delete mode 100644 src/azul/plugins/metadata/hca/service/aggregation.py delete mode 100644 src/azul/plugins/metadata/hca/service/contributor_matrices.py delete mode 100644 src/azul/plugins/metadata/hca/service/filter.py delete mode 100644 src/azul/plugins/metadata/hca/service/response.py delete mode 100644 src/azul/plugins/repository/__init__.py delete mode 100644 src/azul/plugins/repository/canned/__init__.py delete mode 100644 src/azul/plugins/repository/dss/__init__.py delete mode 100644 src/azul/plugins/repository/tdr.py delete mode 100644 src/azul/plugins/repository/tdr_anvil/__init__.py delete mode 100644 src/azul/plugins/repository/tdr_hca/__init__.py delete mode 100644 src/azul/queues.py delete mode 100644 src/azul/schemas.py delete mode 100644 src/azul/service/__init__.py delete mode 100644 src/azul/service/app_controller.py delete mode 100644 src/azul/service/async_manifest_service.py delete mode 100644 src/azul/service/avro_pfb.py delete mode 100644 src/azul/service/buffer.py delete mode 100644 src/azul/service/catalog_controller.py delete mode 100644 src/azul/service/drs_controller.py delete mode 100644 src/azul/service/elasticsearch_service.py delete mode 100644 src/azul/service/lambda_iam_policy.py delete mode 100644 src/azul/service/manifest_controller.py delete mode 100644 src/azul/service/manifest_service.py delete mode 100644 src/azul/service/repository_controller.py delete mode 100644 src/azul/service/repository_service.py delete mode 100644 src/azul/service/source_controller.py delete mode 100644 src/azul/service/source_service.py delete mode 100644 src/azul/service/storage_service.py delete mode 100644 src/azul/template/__init__.py delete mode 100644 src/azul/template/__main__.py delete mode 100644 src/azul/terra.py delete mode 100644 src/azul/terraform.py delete mode 100644 src/azul/threads.py delete mode 100644 src/azul/time.py delete mode 100644 src/azul/uuids.py delete mode 100644 src/azul/vendored/README.md delete mode 100644 src/azul/vendored/__init__.py delete mode 100644 src/humancellatlas/data/metadata/age_range.py delete mode 100644 src/humancellatlas/data/metadata/api.py delete mode 100644 src/humancellatlas/data/metadata/datetime.py delete mode 100644 src/humancellatlas/data/metadata/helpers/json.py delete mode 100644 src/humancellatlas/data/metadata/helpers/schema_validation.py delete mode 100644 src/humancellatlas/data/metadata/helpers/staging_area.py delete mode 100644 src/humancellatlas/data/metadata/lookup.py delete mode 100644 stubs/hca/dss/__init__.pyi delete mode 100644 swagger/index.html delete mode 100644 swagger/oauth2-redirect.html delete mode 100644 swagger/oauth2-redirect.html.template.mustache delete mode 100644 swagger/swagger-initializer.js delete mode 100644 swagger/swagger-initializer.js.template.mustache delete mode 100644 swagger/swagger-ui-bundle.js delete mode 100644 swagger/swagger-ui-standalone-preset.js delete mode 100644 swagger/swagger-ui.css delete mode 100644 terraform/.gitignore delete mode 100644 terraform/.terraform.lock.hcl delete mode 100644 terraform/Makefile delete mode 100644 terraform/_schema.json.gz delete mode 100644 terraform/api_gateway.tf.json.template.py delete mode 100644 terraform/authentication.tf.json.template.py delete mode 100644 terraform/backend.tf.json.template.py delete mode 100644 terraform/browser/.gitignore delete mode 120000 terraform/browser/.terraform.lock.hcl delete mode 120000 terraform/browser/Makefile delete mode 100644 terraform/browser/add_google_search_api_key.js delete mode 100644 terraform/browser/add_response_headers.js delete mode 120000 terraform/browser/backend.tf.json.template.py delete mode 100644 terraform/browser/browser.tf.json.template.py delete mode 100644 terraform/browser/bucket_path_mapper.js delete mode 120000 terraform/browser/common.tf.json.template.py delete mode 120000 terraform/browser/providers.tf.json.template.py delete mode 100644 terraform/cloudwatch.tf.json.template.py delete mode 100644 terraform/cloudwatch_dashboard.template.json.py delete mode 100644 terraform/common.tf.json.template.py delete mode 100644 terraform/data_sources.tf.json.template.py delete mode 100644 terraform/dynamo.tf.json.template.py delete mode 100644 terraform/elasticsearch.tf.json.template.py delete mode 100644 terraform/gitlab/.gitignore delete mode 120000 terraform/gitlab/.terraform.lock.hcl delete mode 120000 terraform/gitlab/Makefile delete mode 120000 terraform/gitlab/backend.tf.json.template.py delete mode 120000 terraform/gitlab/common.tf.json.template.py delete mode 100644 terraform/gitlab/gitlab.tf.json.template.py delete mode 120000 terraform/gitlab/providers.tf.json.template.py delete mode 100644 terraform/gitlab/runner/Dockerfile delete mode 100644 terraform/gitlab/runner/Makefile delete mode 100644 terraform/gitlab/vpn/Makefile delete mode 160000 terraform/gitlab/vpn/easy-rsa delete mode 100644 terraform/lambda_layer.tf.json.template.py delete mode 100644 terraform/providers.tf.json.template.py delete mode 100644 terraform/s3.tf.json.template.py delete mode 100644 terraform/shared/.gitignore delete mode 120000 terraform/shared/.terraform.lock.hcl delete mode 100644 terraform/shared/Makefile delete mode 120000 terraform/shared/backend.tf.json.template.py delete mode 120000 terraform/shared/common.tf.json.template.py delete mode 100644 terraform/shared/conformance_pack_nist_800_53_rev_4.yaml delete mode 120000 terraform/shared/providers.tf.json.template.py delete mode 100644 terraform/shared/shared.tf.json.template.py delete mode 100644 terraform/sqs.tf.json.template.py delete mode 100644 terraform/step_function.tf.json.template.py delete mode 100644 test/__init__.py delete mode 100644 test/app_test_case.py delete mode 100644 test/azul_test_case.py delete mode 100644 test/docker_container_test_case.py delete mode 100644 test/dynamodb_test_case.py delete mode 100644 test/es_test_case.py delete mode 100644 test/hca_metadata_api/__init__.py delete mode 100644 test/hca_metadata_api/cans/examples/1M Immune Cells/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json delete mode 100644 test/hca_metadata_api/cans/examples/CD4+ cytotoxic T lymphocytes/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json delete mode 100644 test/hca_metadata_api/cans/examples/HPSI_human_cerebral_organoids/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json delete mode 100644 test/hca_metadata_api/cans/examples/Healthy and type 2 diabetes pancreas/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json delete mode 100644 test/hca_metadata_api/cans/examples/Mouse Melanoma/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json delete mode 100644 test/hca_metadata_api/cans/examples/Single cell transcriptome analysis of human pancreas/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json delete mode 100644 test/hca_metadata_api/cans/examples/Tissue stability/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json delete mode 100644 test/hca_metadata_api/cans/prod/6b498499-c5b4-452f-9ff9-2318dbb86000.2019-01-03T163633.780215Z.json delete mode 100644 test/hca_metadata_api/cans/prod/86e7b58e-b9f0-4020-8b34-c61d6da02d44.2019-09-20T103932.395795Z.json delete mode 100644 test/hca_metadata_api/cans/prod/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-03-29T142048.835519Z.json delete mode 100644 test/hca_metadata_api/cans/prod/cc0b5aa4-9f66-48d2-aa4f-ed019d1c9439.2019-05-15T222432.561000Z.json delete mode 100644 test/hca_metadata_api/cans/prod/ffee3a9b-14de-4dda-980f-c08092b2dabe.2019-04-17T175706.867000Z.json delete mode 100644 test/hca_metadata_api/cans/prod/ffee7f29-5c38-461a-8771-a68e20ec4a2e.2019-02-02T065454.662896Z.json delete mode 100644 test/hca_metadata_api/cans/staging/68bdc676-c442-4581-923e-319c1c2d9018.2018-10-07T130111.835234Z.json delete mode 100644 test/hca_metadata_api/cans/staging/70184761-70fc-4b80-8c48-f406a478d5ab.2018-09-05T182535.846470Z.json delete mode 100644 test/hca_metadata_api/cans/staging/94f2ba52-30c8-4de0-a78e-f95a3f8deb9c.2019-04-03T103426.471000Z.json delete mode 100644 test/hca_metadata_api/cans/staging/eca05046-3dad-4e45-b86c-8720f33a5dde.2019-03-17T220646.332108Z.json delete mode 100644 test/hca_metadata_api/test.py delete mode 100644 test/health_check_test_case.py delete mode 100644 test/indexer/__init__.py delete mode 100644 test/indexer/data/00f48893-5e9d-52cd-b32d-af88edccabfa.dss.hca.json delete mode 100644 test/indexer/data/02e69c25-71e2-48ca-a87b-e256938c6a98.dss.hca.json delete mode 100644 test/indexer/data/04836733-0449-4e57-be2e-6f3b8fbdfb12.dss.hca.json delete mode 100644 test/indexer/data/0722b70c-6778-423d-8fe9-869e2a515d35.dss.hca.json delete mode 100644 test/indexer/data/17a3d288-01a0-464a-9599-7375fda3353d.dss.hca.json delete mode 100644 test/indexer/data/1b6d8348-d6e9-406a-aa6a-7ee886e52bf9.dss.hca.json delete mode 100644 test/indexer/data/1b6d8348-d6e9-406a-aa6a-7ee886e52bf9.tdr.hca.json delete mode 100644 test/indexer/data/1ed68210-eaba-531d-ba9e-db80164d65ef.dss.hca.json delete mode 100644 test/indexer/data/1f6afb64-fa14-5c6f-a474-a742540108a3.dss.hca.json delete mode 100644 test/indexer/data/1fd499c5-f397-4bff-9af0-eb42c37d5fbe.dss.hca.json delete mode 100644 test/indexer/data/2370f948-2783-aeb6-afea-e022897f4dcf.tdr.anvil.json delete mode 100644 test/indexer/data/2a87dc5c-0c3c-4d91-a348-5d784ab48b92.dss.hca.json delete mode 100644 test/indexer/data/2c7d06b8-658e-4c51-9de4-a768322f84c5.dss.hca.json delete mode 100644 test/indexer/data/3ac62c33-93e1-56b4-b857-59497f5d942d.dss.hca.json delete mode 100644 test/indexer/data/3db604da-940e-49b1-9bcc-25699a55b295.dss.hca.json delete mode 100644 test/indexer/data/3f8176ff-61a7-4504-a57c-fc70f38d5b13.dss.hca.json delete mode 100644 test/indexer/data/411cd8d5-5990-43cd-84cc-6c7796b8a76d.dss.hca.json delete mode 100644 test/indexer/data/412cd8d5-5990-43cd-84cc-6c7796b8a76d.dss.hca.json delete mode 100644 test/indexer/data/4426adc5-b3c5-5aab-ab86-51d8ce44dfbe.tdr.hca.json delete mode 100644 test/indexer/data/4afbb0ea-81ad-49dc-9b12-9f77f4f50be8.dss.hca.json delete mode 100644 test/indexer/data/4b03c1ce-9df1-5cd5-a8e4-48a2fe095081.dss.hca.json delete mode 100644 test/indexer/data/4da04038-adab-59a9-b6c4-3a61242cc972.dss.hca.json delete mode 100644 test/indexer/data/56a338fe-7554-4b5d-96a2-7df127a7640b.dss.hca.json delete mode 100644 test/indexer/data/587d74b4-1075-4bbf-b96a-4d1ede0481b2.dss.hca.json delete mode 100644 test/indexer/data/6b35f59c-d33d-abf7-9ba0-c7b3a0ca82f3.tdr.anvil.json delete mode 100644 test/indexer/data/6c87f0e1-509d-46a4-b845-7584df39263b.tables.tdr.json delete mode 100644 test/indexer/data/79fa91b4-f1fc-534b-a935-b57342804a70.2020-12-10T10:30:00.000000Z.dss.hca.json delete mode 100644 test/indexer/data/7a330531-ec7f-5aee-84d4-2ba24d66e93b.dss.hca.json delete mode 100644 test/indexer/data/7eb74d9f-8346-5420-b7e4-b486f99451a8.dss.hca.json delete mode 100644 test/indexer/data/80baee6e-00a5-4fdc-bfe3-d339ff8a7178.dss.hca.json delete mode 100644 test/indexer/data/826dea02-e274-affe-aabc-eb3db63ad068.results.json delete mode 100644 test/indexer/data/826dea02-e274-affe-aabc-eb3db63ad068.tdr.anvil.json delete mode 100644 test/indexer/data/8338b891-f3fa-5e7b-885f-e4ee5689ee15.dss.hca.json delete mode 100644 test/indexer/data/8543d32f-4c01-48d5-a79f-1c5439659da3.dss.hca.json delete mode 100644 test/indexer/data/8c1773c3-1885-545f-9381-0dab1edf6074.dss.hca.json delete mode 100644 test/indexer/data/8c90d4fe-9a5d-4e3d-ada2-0414b666b880.dss.hca.json delete mode 100644 test/indexer/data/94f2ba52-30c8-4de0-a78e-f95a3f8deb9c.dss.hca.json delete mode 100644 test/indexer/data/97f0cc83-f0ac-417a-8a29-221c77debde8.dss.hca.json delete mode 100644 test/indexer/data/9dec1bd6-ced8-448a-8e45-1fc7846d8995.dss.hca.json delete mode 100644 test/indexer/data/aaa96233-bf27-44c7-82df-b4dc15ad4d9d.2018-11-02T11:33:44.698028Z.dss.hca.json delete mode 100644 test/indexer/data/aaa96233-bf27-44c7-82df-b4dc15ad4d9d.2018-11-02T11:33:44.698028Z.results.json delete mode 100644 test/indexer/data/aaa96233-bf27-44c7-82df-b4dc15ad4d9d.2018-11-04T11:33:44.698028Z.dss.hca.json delete mode 100644 test/indexer/data/b0850e79-5544-49fe-b54d-e29b9fc3f61f.dss.hca.json delete mode 100644 test/indexer/data/b2216048-7eaa-45f4-8077-5a3fb4204953.dss.hca.json delete mode 100644 test/indexer/data/b7fc737e-9b7b-4800-8977-fe7c94e131df.dss.hca.json delete mode 100644 test/indexer/data/c2711e94-9966-a0ef-88be-88caf3e8a29b.tdr.anvil.json delete mode 100644 test/indexer/data/c94a43f9-257f-4cd0-b2fe-eaf6d5d37d18.dss.hca.json delete mode 100644 test/indexer/data/cfab8304-dc9f-439e-af29-f8eb75b0729d.dss.hca.json delete mode 100644 test/indexer/data/d0e17014-9a58-4763-9e66-59894efbdaa8.dss.hca.json delete mode 100644 test/indexer/data/d5e01f9d-615f-4153-8a56-f2317d7d9ce8.dss.hca.json delete mode 100644 test/indexer/data/d7b8cbff-aee9-5a05-a4a1-d8f4e720aee7.dss.hca.json delete mode 100644 test/indexer/data/d8c20944-739f-4e7d-9161-b720953432ce.tables.tdr.json delete mode 100644 test/indexer/data/dcccb551-4766-4210-966c-f9ee25d19190.dss.hca.json delete mode 100644 test/indexer/data/e0ae8cfa-2b51-4419-9cde-34df44c6458a.dss.hca.json delete mode 100644 test/indexer/data/e2c3054e-9fba-4d7a-b85b-a2220d16da73.dss.hca.json delete mode 100644 test/indexer/data/f0731ab4-6b80-4eed-97c9-4984de81a47c.dss.hca.json delete mode 100644 test/indexer/data/f79257a7-dfc6-46d6-ae00-ba4b25313c10.dss.hca.json delete mode 100644 test/indexer/data/fa5be5eb-2d64-49f5-8ed8-bd627ac9bc7a.dss.hca.json delete mode 100644 test/indexer/data/fce68057-b0f0-5d11-b9a7-30e8fa3259a8.dss.hca.json delete mode 100644 test/indexer/data/ffac201f-4b1c-4455-bd58-19c1a9e863b4.dss.hca.json delete mode 100644 test/indexer/test_anvil.py delete mode 100644 test/indexer/test_health_check.py delete mode 100644 test/indexer/test_index_controller.py delete mode 100644 test/indexer/test_indexer.py delete mode 100644 test/indexer/test_mirror_controller.py delete mode 100644 test/indexer/test_notifications.py delete mode 100644 test/indexer/test_projects.py delete mode 100644 test/indexer/test_tdr.py delete mode 100644 test/integration_test.py delete mode 100644 test/service/__init__.py delete mode 100644 test/service/data/manifest/terra/pfb_entities.json delete mode 100644 test/service/data/manifest/terra/pfb_schema.json delete mode 100644 test/service/data/manifest/verbatim/jsonl/anvil/linked.json delete mode 100644 test/service/data/manifest/verbatim/jsonl/anvil/orphans.json delete mode 100644 test/service/data/manifest/verbatim/jsonl/hca/manifest.json delete mode 100644 test/service/data/manifest/verbatim/pfb/anvil/pfb_entities.json delete mode 100644 test/service/data/manifest/verbatim/pfb/anvil/pfb_schema.json delete mode 100644 test/service/data/manifest/verbatim/pfb/hca/pfb_entities.json delete mode 100644 test/service/data/manifest/verbatim/pfb/hca/pfb_schema.json delete mode 100644 test/service/test_app_logging.py delete mode 100644 test/service/test_buffer.py delete mode 100644 test/service/test_cache_poisoning.py delete mode 100644 test/service/test_drs.py delete mode 100644 test/service/test_filters.py delete mode 100644 test/service/test_health_check.py delete mode 100644 test/service/test_index_projects.py delete mode 100644 test/service/test_index_samples.py delete mode 100644 test/service/test_manifest.py delete mode 100644 test/service/test_manifest_async.py delete mode 100644 test/service/test_pagination.py delete mode 100644 test/service/test_repository_files.py delete mode 100644 test/service/test_request_builder.py delete mode 100644 test/service/test_request_validation.py delete mode 100644 test/service/test_response.py delete mode 100644 test/service/test_response_anvil.py delete mode 100644 test/service/test_source_cache.py delete mode 100644 test/service/test_storage_service.py delete mode 100644 test/sqs_test_case.py delete mode 100644 test/test_app_logging.py delete mode 100644 test/test_azul_flake8.py delete mode 100644 test/test_check_branch.py delete mode 100644 test/test_deployment.py delete mode 100644 test/test_doctests.py delete mode 100644 test/test_http.py delete mode 100644 test/test_log_forwarding.py delete mode 100644 test/test_openapi.py delete mode 100644 test/test_tagging.py diff --git a/.gitmodules b/.gitmodules index cbe223f721..e69de29bb2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "terraform/gitlab/vpn/easy-rsa"] - path = terraform/gitlab/vpn/easy-rsa - url = https://github.com/OpenVPN/easy-rsa.git diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst deleted file mode 100644 index ee64870bdb..0000000000 --- a/CONTRIBUTING.rst +++ /dev/null @@ -1,1236 +0,0 @@ -############ -Contributing -############ - -This document contains guidelines that every contributor to this project should -follow. We call them guidelines as opposed to rules because, well, life -happens. If a contributor disregards a guideline, they should have a good -reason for that and should be considered accountable for the consequences. - -.. sectnum:: - :depth: 2 - :suffix: . - -.. contents:: - - -Code Style -========== - -PEP ------ - -* For Python we use PEP8 with E722 disabled (type too general in except clause) - and the maximum line length set to 120 characters. - -Line length ------------ - -* For prose (documentation, comments) wrap lines at the word boundary closest to - or at, but not beyond, column 79. The first column is column 0. - -* For code, we keep the trimmed line length under 81. A trimmed line is a line - in the source with leading and trailing whitespace removed. This means a line - may be indented by 40 characters and contain 80 characters after that. This - rule is designed to keep code readable without forcing excessive wrapping for - more deeply nested control flow constructs. - -String literals ---------------- - -* We prefer single quoted string literals. We used to use double quotes in JSON - literals but that convention is now deprecated and all new string literals are - single quoted except as noted below. - -* We don't escape a quote character within string literals. When a string - literal contains a single quote, that literal is delimited by double quotes - (and vice versa). https://www.python.org/dev/peps/pep-0008/#string-quotes - -Collection literals -------------------- - -* When deciding between list and tuple literals use the following rule of - thumb: Tuples are typically heterogeneous—their members usually have - different types—and immutable and therefore of a fixed length. In other - languages, tuples are referred to as *structs* or *records*. Lists - are *usually* homogeneous and of varying length. Use the type of literal - that most closely matches either side of this distinction. For example, in - - :: - - for first, last, age in [ - ('John', 'Doe', 33), - ('Jane', 'Foe', 44) - ]: - print(last, first, age) - - a list of tuples is the most obvious choice. Each list element is of the - same type `Tuple[str, str, int]`. To add a tuple element, one would have to - change more code. To change a list element one wouldn't have to do anything - else. In other words, the variability in length resembles a list. While - - :: - - for first, last, age in ( - ['John', 'Doe', 33], - ['Jane', 'Foe', 44] - ): - print(last, first, age) - - would work just as well, it *looks* confusing. - -Line wrapping and indentation ------------------------------ - -* We prefer aligned indent for wrapped constructs except for collection literals - collection comprehensions and generator expressions:: - - self.call_me(positional, - x=1, - y=2) - - foo = { - 'foo': False, - 'a': [1, 2, 3] - } - - bar = { - k.upper(): v.lower - for k,v in d.items() - if k.startswith('x') - } - -* Small literal collections may be kept on one line up to the maximum line - length. A small collection is one that has no more than 9 elements, all of - which either primitive values or other small collections. - -* We wrap all elements or none. Instead of :: - - self.call_me(foo, bar, - x=1, y=2) - - we use :: - - self.call_me(foo, - bar, - x=1, - y=2) - - The one exception to this rule are logging method invocations and calls to - reject() and require():: - - logger.info('Waiting up to %s seconds for %s queues to %s ...', - timeout, len(queues), 'empty' if empty else 'not be empty') - - reject(spline not in reticulated_splines, - 'Unreticulated splines cause discombobulation.') - - Only if the second and subsequent arguments won't fit on one line, do we - wrap all arguments, one line per argument. - -Trailing commas ---------------- - -* We don't use trailing commas in enumerations to optimize diffs yet. [#]_ - -.. [#] Note: If we were to adopt trailing commas, we would also have to - abandon our preference of aligned indent. - -Backslashes ------------ - -* We avoid the use of backslash for continuing statements beyond one line. - Instead, we exploit the fact that Python can infer continuation if they - occur in balanced constructs like brackets or parentheses. If necessary we - introduce a pair of parentheses around the wrapping expression. - - With some keywords it is impossible to add semantically insignificant - parentheses. For example, ``assert foo, 'bad'`` is not equivalent to ``assert - (foo, 'bad')``. In these exceptional situations it is permissible to use - backslash for line continuation. - -String interpolation --------------------- - -* When interpolating strings into human-readable strings like log or exception - messages, we use the ``!r`` format modifier (as in ``f'foo is {foo!r}'``) or - ``%r`` in log messages. This automatically adds quotes around the interpolated - string. - -* Except for log messages (see below), we don't use the ``%`` operator or the - ``str.format()`` method. We use ``f''`` strings or string concatenation. When - choosing between the latter two, we use the one that yields the shortest - expression. When both alternatives yield an expression of equal lengths, we - prefer string concatenation:: - - f'{a}{b}' # Simple concatenation of variables - a + b # tends to be longer with f'' strings - - a + str(b) # {} calls str implicitly so f'' strings win - f'{a}{b}' # if any of the variables is not a string - - a + ' ' + b + '.tsv' # When multiple literal strings are involved - f'{a} {b}.tsv' # f'' strings usually yield shorter expressions - -String concatenation --------------------- - -* We use ``str.join()`` when joining more than three elements with the same - character or when the elements are already in an iterable form:: - - f'{a},{b},{c},{d}' # while this is shorter - ','.join((a, b, c, d)) # this is more readable - - f'{a[0],a[1]} # this is noisy and tedious - ','.join(a) # this is not - -* We use `EAFP`_ as a principle. - -.. _EAFP: https://stackoverflow.com/questions/11360858/what-is-the-eafp-principle-in-python - -Variable names --------------- - -* We don't use all upper case (all-caps) names for pseudo constants:: - - CONSTANT_FOO = 'value_bar' # bad - constant_foo = 'value_bar' # better - -* The names of type variables are not necessarily limited to one character but - we do use all-caps for them. In particular, names of bounded type variables - should be more than a single character long, for example:: - - SOURCE_REF = TypeVar('SOURCE_REF', bound='SourceRef') - -* To name variables referencing a mapping like ``dict``, ``frozendict`` or - ``Counter`` we prefer the ``values_by_key`` or ``key_to_value`` convention. - -* The smaller the scope, the shorter the variable names we use. In :: - - def reticulate_splines(splines_to_reticulate): - spline_reticulator = SplineReticulator() - reticulated_splines = spline_reticulator.reticulate(splines_to_reticulate) - return reticulated_splines - - the ``spline`` aspect is implied by the context provided by the method name - so it can be omitted in the body:: - - def reticulate_splines(splines): - reticulator = SplineReticulator() - splines = reticulator.reticulate(splines) - return splines - - You catch my drift. Also note the reassignment. - -* For tiny scopes like comprehensions, we even use single letter variable names - if it's clear from the context what they mean:: - - {k: str(v) for k, v in numeric_splines.items()} - [ i * reticulate(s) in enumerate(numeric_splines.values()) - - We prefer ``k`` and ``v`` for mapping keys and values, and ``i`` for counters. - -Logging -------- - -* Loggers are instantiated in every module that needs to log - -* Loggers are always instantiated as follows:: - - log = logging.getLogger(__name__) - -* At program entry points we use the appropriate configuration method from - ``azul.logging``. Program entry points are - - - in scripts:: - - if __name__ == '__main__': - configure_script_logging(log) - - - in test modules:: - - def setUpModule(): - configure_test_logging(log) - - - in ``app.py``:: - - log = logging.getLogger(__name__) - app = AzulChaliceApp(app_name=config.indexer_name) - configure_app_logging(app, log) - -* We don't use ``f''`` strings or string concatenation when interpolating - dynamic values into log messages:: - - log.info(f'Foo is {bar}') # don't do this - log.info('Foo is %s', bar) # do this - -* Computationally expensive interpolations should be guarded:: - - if log.isEnabledFor(logging.DEBUG): - log.debug('Foo is %s', json.dump(giant, indent=4) - -* Log and exception messages should not end in a period unless the message - contains multiple sentences. If it does, all sentences in the message should - end in a period, including a period at the end of the string. - -Imports -------- - -* We prefer absolute imports. - -* We sort imports first by category, then lexicographically by module name and - then by imported symbol. The categories are - - 1. Import of modules in the Python runtime - - 2. Imports of modules in external dependencies of the project - - 3. Imports of modules in the project - -* To minimize diffs and reduce the potential for merge conflicts, only one - symbol may imported per line. When using ``from`` imports, all imported - symbols must be wrapped in parentheses, indented, and the last symbol must - have a trailing comma. Note that this applies even if only *one* symbol is - imported. Thus, assuming that ``foo`` and ``bar`` are from the same category, - :: - - import foo - from foo import ( - glue, - shoe, - ) - import bar - from bar import ( - far, - ) - - Is the *only* correct sequence of import statements for these symbols. - -* We carefully selected the ordering criteria to match those implemented by - PyCharm. PyCharm's *Optimize Imports* feature should be the preferred method - of resolving import statement ordering violations, as the line numbers - reported by our flake8 plugin are not always optimal in illuminating the - nature of the violations. - -* The one violation *not* addressable via PyCharm is our requirement that - single-symbol ``from`` imports be wrapped the same as multi-symbol ones. - Currently, this must be corrected manually. Vim users may find the following - macro convenient for this purpose: - :: - - ^3Wi(A,) - -Comments --------- - -* We don't use inline comments to explain what should be obvious to software - engineers familiar with the project. To help new contributors become - familiar, we document the project architecture and algorithms separately from - the Python source code in a ``docs`` subdirectory of the project root. - -* When there is the need to explain in the source, we focus on the Why rather - than the How. - - -Inline Documentation --------------------- - -* We use docstrings to document the purpose of an artifact (module, class, - function or method), and its contract between with client code using it. We - don't specify implementation details in docstrings. - -* We put the triple quotes that delimit docstrings on separate lines:: - - def foo(): - """ - Does nothing. - """ - pass - - This visually separates function signature, docstring and function body from - each other. - -* Any method or function whose purpose isn't obvious by examining its signature - (name, argument names and type hints, return type hint) should be documented - in a docstring. - -* Every external-facing API must have a docstring. An external-facing API is a - class, function, method, attribute or constant that's exposed via Chalice - or—if we ever were to release a library for use by other developers—exposed - in that library. - - -Code duplication ----------------- - -* We avoid duplication of code and continually refactor it with the goals of - reducing entropy while increasing consistency and reuse. - -Consistency and precedent -------------------------- - -* We try to follow existing precedent: we emulate what people did before us - unless there is a good reason not to do so. Taste and preference are not good - reasons because those differ from person to person. - - If resolving an issue requires touching a section of code that consistently - violates the guidelines laid out herein, we either - - a) follow the precedent and introduce another violation or - - b) change the entire section to be compliant with the guidelines. - - Both are acceptable. We weigh the cost of extending the scope of our current - work against the impact of perpetuating a problem. If we decide to make the - section compliant, we do so in a separate commit. That commit should not - introduce semantic changes and it should precede the commit that resolves the - issue. - -Ordering artifacts in the source --------------------------------- - -* We generally use top-down ordering of artifacts within a module or script. - Helper and utility artifacts succeed the code that use them. Bottom-up - ordering—which has the elementary building blocks occur first—makes it harder - to determine the purpose and intent of a module at a glance. - -Disabling sections of code --------------------------- - -* We do not comment out sections of code. To temporarily disable some section of - code, we embed it in a conditional statement with a test that always evaluates - to ``False``. We do this to keep the code subject to refactorings and type - checkers. We use ``azul.false()`` instead of just the ``False`` literal, in - order to avoid the detection of unreachable code during static analysis by - PyCharm and CodeQL. - -Control flow ------------- - -* We avoid using bail-out statements like ``continue``, ``return`` and - ``break`` unless not using them would require duplicating code, increase the - complexity of the control flow or cause an excessive degree of nesting. - - Examples from the limited set of cases in which bail-outs are preferred:: - - while True: - - if : - break - - - can be unrolled into - - :: - - - while not : - - - - but that requires duplicating the ```` section. In this case - the use of ``break`` is preferred. - - Similarly, - - :: - - while : - if not : - - if not : - - if not : - - - can be rewritten as - - :: - - while : - if : - continue - - if : - continue - - if : - continue - - - This eliminates the nesting which may in turn require fewer wrapped lines in - the ```` sections, leading to increased readability. - -* We add ``else`` for clarity even if its use isn't semantically required:: - - if - - return X - - return Y - - should be written as - - :: - - if - - return X - else: - - return Y - - The latter clearly expresses the symmetry between and the equality of the two - branches. It also reduces the possibility of introducing a defect if the code - is modified to eliminate the ``return`` statements:: - - if - - - - is broken, while the modified version with else remains intact:: - - if - - else: - - -Static methods --------------- - -* We always use ``@classmethod`` instead of @staticmethod, even if the first - argument (cls) of such a method is not used by its body. Whether cls is used - is often incidental and an implementation detail. We don't want to repeatedly - switch from ``@staticmethod`` to ``@classmethod`` and back if that - implementation detail changes. We simply declare all methods that should be - invoked through the class (as opposed to through an instance of that class) as - ``@classmethod`` and call it a day. - - The same consideration goes for instance methods and ``self``: some use it, - some don't. The ones that don't shouldn't suddenly be considered static - methods. The distinction between instance and class methods is driven by - higher order concerns than the one about whether a method's body currently - references self or not. - -Error messages --------------- - -* We avoid the use of f-strings when composing error messages for exceptions and - for use with ``require()`` or ``reject()``. If an error message is included, - it should be short, descriptive of the error encountered, and optionally - followed by the relevant value(s) involved:: - - raise KeyError(key) - - raise ValueError('Unknown file type', file_type) - -* Requirement errors should always have a message, since they are intended for - clients/users:: - - require(delay >= 0, 'Delay value must be non-negative') - - require(url.scheme == 'https', "Unexpected URL scheme (should be 'https')", url.scheme) - - reject(entity_id is None, 'Must supply an entity ID') - - reject(file_path.endswith('/'), 'Path must not end in slash', path) - -* Assertions are usually self-explanatory. Error messages should only be - included when they are not:: - - assert not debug - - assert isinstance(x, list), type(x) - - assert x == y, ('Misreticulated splines', x, y) - -Catching exceptions -------------------- - -* When catching expected exceptions, especially for `EAFP`_, we minimize the - body of the try block:: - - d = make_my_dict() - try: - x = d['x'] - except: - - else: - - - This is not a mere cosmetic convention, it affects program correctness. If the - call to ``make_my_dict`` were done inside the ``try`` block, a KeyError raised - by it would be conflated with the one raised by d['x']. The latter is - expected, the former usually constitutes a bug. - -Raising exceptions ------------------- - -* When raising an exception without arguments, we prefer raising the class - instead of raising an instance constructed without arguments:: - - raise RuntimeError() # bad - raise RuntimeError - -Type hints ----------- - -* We use type hints both to document intent and to facilitate type checking by - an IDE or other tooling. - -* When defining type hints for a function or method, we do so for all its - parameters and the return value. - -* Now that `PEP-585`_ has arrived in Python 3.9, we prefer the generic built-in - types over the deprecated aliases from ``typing`` e.g., ``dict[K,V]`` over - ``Dict[K,V]``. The one exception to this rule is that due to a bug in PyCharm - we still have to employ ``typing.Type`` instead of the recommended generic - use of ``type``. - -.. _PEP-585: https://peps.python.org/pep-0585/ - -.. - FIXME: Remove above exception - https://github.com/DataBiosphere/azul/issues/4184 - - In the same vein, we avoid any of the aliases in ``typing`` and prefer their - primary definitions instead. For example, we prefer ``collections.abc.Set`` - over ``typing.AbstractSet`` Note that the deprecated ``typing.Set`` (an alias - of ``set``) is mutable while ``collections.abc.Set`` is not, so be sure to - import ``Set`` from ``collections.abc``. - -* For method/function *arguments* we prefer the least specific type - possible e.g., ``Mapping`` over ``dict`` or ``MutableMapping`` and - ``Sequence`` over ``List`` or ``list``. For example, we don't use ``dict`` for - an argument unless it is actually modified by the function/method. - -* Unless code should truly support multiple implementations of mutable mappings, - we prefer ``dict[K,V]`` over ``MutableMapping[K,V]``. In the rare occasions - that we pick the latter, we use the definition from ``abc.collections`` - instead of the alias in ``typing``. - -* For method and function return values we specify the type that we anticipate - to be useful to the caller without being overly specific. For example, we - prefer ``dict`` for the return type because ``Mapping`` would prevent the - caller from modifying the returned dictionary, something that's typically not - desirable. If we do want to prevent modification, we would return a - ``frozendict`` or equivalent and declare the return value to be ``Mapping``. - -* Owing to the prominence of JSON in the project we annotate variables - containing deserialized JSON as such, using the ``JSON`` and ``MutableJSON`` - types from ``azul.typing``. Note that due to the lack of recursive types in - PEP-484, ``JSON`` unrolls the recursion only three levels deep. This means - that with ``x: JSON`` the expression ``x['a']['b']['c']`` would be of type - ``JSON`` while ``x['a']['b']['c']['d']`` would be of type ``Any``. - - -Method and function arguments ------------------------------ - -* Arguments declared as a keyword must be passed as keyword arguments at all - call sites. - -* For call sites with more than three passed arguments, all arguments should be - passed as keywords, even positional arguments, if one of the arguments is - passed as a keyword. - -* At call sites that pass a literal expression to a function or method, consider - passing the argument as a keyword. Instead of :: - - foo(x, {}) - bar(True) - - use :: - - foo(filters={}) - bar(delete=True) - - while leaving :: - - add(1, 2) - setDelete(True) - - as is. - -* We prefer enforcing the use of keyword arguments using keyword-only arguments - as defined in `PEP-3102`_. - - -.. _PEP-3102: https://www.python.org/dev/peps/pep-3102/ - - -Abstract classes ----------------- - -When creating abstract base classes using the `abc` module, we prefer to write:: - - class Base(metaclass=ABCMeta): - -instead of:: - - class Base(ABC): - -Testing -======= - -Coverage of new code --------------------- - -* All new code should be covered by unit tests. - -Coverage of legacy code ------------------------ - -* Legacy code for which tests were never written should be covered when it is - modified. - -Subtests --------- - -* Combinatorial tests (tests that exercise a number of combinations of inputs) - should make use of ``unittest.TestCase.subTest()`` so a single failing - combination doesn't prevent other combinations form being exercised. - -* Sub-tests may makes sense even when there isn't a large number of - combinations. Consider two independent tests that share an expensive fixture. - Instead of isolating the two tests in separate ``TestCase`` whose - ``setUpClass`` method sets up the expensive fixture, one might write a single - test method as follows:: - - def test_a_b(self): - self.set_fixture_up() - try: - with self.subTest('a'): - ... - with self.subTest('b'): - ... - finally: - self.tear_fixture_down() - - This can only be done if ``a`` and ``b`` are independent. Ask yourself: - does testing ``b`` make sense even after ``a`` fails? Can I safely reorder - ``a`` and ``b`` without affecting the result? If the answer is "no" to either - question, you have to remove the ``self.subText()`` invocations. - -* We don't use sub-tests for the sole purpose of marking different sections of - test code. - -Doctests --------- - -* Code that doesn't require elaborate or expensive fixtures should use doctests - if that adds clarity to the documentation or helps with expressing intent. - Modules containing doctests must be registered in the ``test_doctests.py`` - script. - -Integration tests ------------------ - -* Code that can only be tested in a real deployment should be covered by an - integration test. - - -Version Control -=============== - -Branches --------- - -* Feature branches are merged into ``develop``. If a hotfix is made to a - deployment branch other than ``develop``, that branch is also back-ported and - merged into ``develop`` so that the hotfix eventually propagates to all - deployments. - -* During a promotion, the branch for a lower deployment (say, ``integration``) - is merged into the branch for the next higher deployment. - -* We commit independent changes separately. If two changes could be applied in - either order, they should occur in separate commits. Two changes A and B of - which B depends on A may still be committed separately if B represents an - extension of A that we might want to revert while leaving A in place. - -Commits -------- - -* We separate semantically neutral changes from those that alter semantics by - committing them separately, even if that would violate the previous rule. The - most prominent example of a semantically neutral change is a refactoring. We - also push every semantically neutral commit separately such that the build - status checks on Github and Gitlab prove the commit's semantic neutrality. - -* In theory, every individual commit should pass unit and integration tests. In - practice, on PR branches with long histories not intended to be squashed, not - every commit is built in CI. This is acceptable. [#]_ - -.. [#] Note: I am not a fan this rule but the desire to maintain a linear - history by rebasing PR branches as opposed to merging them requires this - loophole. When pushing a rebased PR branch, we'd have to build every - commit on that branch individually. Exploitation of this loophole can be - avoided by creating narrowly focused PRs with only one logical change - and few commits, ideally only one. We consider the creation of PRs with - longer histories to be a privilege of the lead. - -Split commits -------------- - -* A split commit is a set of commits that represent a single logical change that - had to be committed separately up for technical reasons, to fairly capture - multiple authors' contributions, for example, or to avoid bloated diffs (see - below). We refer to the set of commits as the *split commit* and the members - of the set as the *part commit*. - -* The title of a part commit always carries the M/N tag (see `Commit titles`_), - where N is the number of parts while M is the ordinal of the part, reflecting - the topological order order of the parts. Splitting a change that - "reticulates splines" into two parts yields two commits having the titles - - - ``[1/2] Reticulate them splines for good measure (#123)`` and - - ``[2/2] Reticulate them splines for good measure (#123)`` - - respectively. - -* The parts must be consecutive, except for split commits made to retain - authorship. The parts of a commit that was split to retain authorship can have - other commits in between the parts if there is pressing reason to do so. - -* The body of the commit messages for each part should have prose to distinguish - the parts, except for split commits made to retain authorship, where the - distinction is obvious: each part reflects the author's contribution. - -Bloated diffs -------------- - -* We avoid bloated diffs. A bloated diff has semantic changes on top of large - hunks of deletions that resemble additions somewhere else in the diff. We - especially avoid insidiously bloated diffs where the semantic change occurs - *within* one of those large hunks of deletions or additions. Bloated diffs - distort authorship and are hard to review. - - * We avoid moving large amounts of code around via Cut & Paste unless there is - a technical reason to do so. If there is, we commit the code change that - moves the code as part 1/2 of a split commit, then commit the changes that - maintain referential integrity as part 2/2. Any additional changes to the - moved code are committed as a normal commit. - - * When splitting a file into multiple files, we identify the largest part - and move the file so that its new name reflects the largest part. We commit - that change as part 1/3 of a split commit to trigger Git's heuristic for - detecting file renames. This maximizes the amount of authorship that is - maintained. We then move the remaining parts into their respective files - using the method in the previous bullet using 2/3 for moving the code and - 3/3 for maintaining referential integrity. It's acceptable for the 1/3 - commit to include any changes maintaining referential integrity during the - file rename because those occur in different files and therefore don't risk - tripping up the heuristic. - -Commit titles -------------- - -* If a commit resolves (or contributes to the resolution of) an issue, we - mention that issue at the end of the commit title:: - - Reticulate them splines for good measure (#123) - - Note that we don't use Github resolution keywords like "fixes" or "resolves". - Any mention of those preceding an issue reference in a title would - automatically close the issue as soon as the commit appears on the default - branch. This is undesirable as we want to continue to track issues in - ZenHub's *Merged* and *Done* pipelines even after the commit appears on the - ``develop`` branch. - -* We value `expressive and concise commit message titles`_ and try to adhere to - Github's limit of 72 characters for the length of a commit message title. - Beyond 72 characters, Github truncates the title at 69 characters and adds - three dots (ellipsis) which is undesirable. Titles with lots of wide - characters like ``W`` may still wrap (as opposed to being truncated) but - that's improbable and therefore acceptable. - -* We don't use a period at the end of commit titles. - -* We use `sentence case`_ for commit titles. - -.. _expressive and concise commit message titles: https://chris.beams.io/posts/git-commit/ - -.. _sentence case: https://utica.libguides.com/c.php?g=291672&p=1943001 - -* When reverting a commit, be it literally or "in spirit", we refer to the - commit ID of the reverted commit in the body of the message of the reverting - commit. The reverting commit message title should also include a reference - to the issue whose resolution includes the reverted commit. For literal - reverts the commit message should be `Revert "{title of reverted commit}"` - Most Git tooling does this automatically. For example (a literal revert, - done with SmartGit):: - - f733e71 Revert "Reticulate them splines (#123)" - - This reverts commit bb7a87bed2c0a25aeecb1a542713ad6eda140f35 - - bb7a87b Reticulate them splines (#123) - - Another example (a reversion in spirit):: - - f733e71 Revert reticulation of discombolutated splines (#123) - - bb7a87b - … - bb7a87b Reticulate them splines (#123) - -Commit title tags ------------------ - -* Commit titles can have tags. Tags appear between square brackets at the very - beginning of a commit message. Multiple tags are separated by space. The - following tags are defined: - - - ``u``: the commit requires following manual steps to upgrade a working copy - or deployment. See `UPGRADING.rst`_ for details. - - - ``r``: the commit represents a change that requires reindexing a deployment - after that commit is deployed there. - - - ``R``: the commit requires running ``make requirements`` after switching a - working copy to a branch that includes that commit - - - ``M/N``: number of parts and ordinal of part in `Split commits`_ - - - ``h``: the commit is a temporary hotfix. These commit should be reverted - before the commit that provides a permanent fix is merged. - - - ``H``: the commit is a permanent hotfix. - - - ``a``: the commit modifies the Azul service API (adding functionality) - - - ``A``: the commit modifies the Azul service API in a way that is likely to - break existing clients (changing or removing functionality) - - - ``p``: the commit only partially addresses the issues it references. A - commit referencing more than one issue must not resolve some of those issues - partially and others completely. In other words, the ``p`` tag applies - uniformly to all referenced issues. Since merge commits from feature - branches represent a combination of individual commits, this rule prevents - the merge commit from mentioning all issues referenced by those individual - commits. A merge commit title only references the connected issues, and a - ``p`` tag in such a title applies to all of them uniformly. Merge commits - for promotions, backports, GitLab updates and hotfixes don't mention the - ``p`` tag in their titles. - -* Tags must appear in a title in the order they are defined above, as in - ``[u r R 1/2]``. This ensures that more consequential tags appear earlier. - -.. _UPGRADING.rst: ./UPGRADING.rst - -Issue Tracking -============== - -* We use Github's built-in issue tracking and ZenHub. - -* We use `sentence case`_ for issue titles. - -* We don't use a period at the end of issue titles. - -* For issue titles we prefer brevity over precision or accuracy. Issue titles - are read many times and should be optimized toward quickly scanning them. - Potential omissions, inaccuracies and ambiguities in the title can be added, - corrected or clarified in the description. - -* We make liberal use of labels. Labels denoting the subject of an issue are - blue, those denoting the kind of issue are green, issues relating to the - development process are yellow. Important labels are red. - -* We prefer issue to be assigned to one person at a time. If the original - assignee needs the assistance by another team member, the issue should be - assigned to the assisting person. Once assistance was provided, the ticket - should be assigned back to the original assignee. - -* We use ZenHub dependencies between issues to express constraints on the - order in which those issues can be worked on. If issue ``#1`` blocks - ``#2``, then work on ``#2`` can't begin before work on ``#1`` has completed. - For issues that are resolved by a commit, work is considered complete when - that commit appears on the ``develop`` branch. - - -Pull Requests -============= - -Naming Branches ---------------- - -* When naming PR branches we follow the template below:: - - issues/$AUTHOR/$ISSUE_NUMBER-$DESCRIPTION - - ``AUTHOR`` is the Github profile name of the PR author. - - ``ISSUE_NUMBER`` is a numeric reference to the issue that this PR addresses. - - ``DESCRIPTION`` is a short (no more than nine words) slug_ describing the - branch - -.. _slug: https://en.wikipedia.org/wiki/Clean_URL#Slug - - -Draft PRs ---------- - -GitHub has the option of creating draft_ PRs. Azul PRs, with the exception of -GitLab updates, promotions, hotfixes and backports must be created as drafts. -This prevents GitHub from immediately requesting a code review from the lead, -who is the sole code owner. Peer review occurs during the draft state of a -PR, primary review occurs when a PR is in the non-draft state, what GitHub -calls "ready for review". A work-in-progress review (WIP) can be requested -for PRs in any state as long as the request is accompanied with specific -questions. The PR checklist contains an item for ensuring that PRs are -initially created as draft. If you accidentially create a non-draft PR, -convert the PR to a draft and cancel the review request. - -.. _draft: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests#draft-pull-requests - - -Rebasing --------- - -* The PR author rebases the PR branch before every review - -Fixups ------- - -* Changes that address the outcome of a review should appear as separate commit. - We prefix the title of those commits with ``fixup!`` and follow that with - a space and the title of an earlier commit that the current commit should be - squashed with. A convenient way to create those commits is by using the - ``--fixup`` option to ``git commit``. - -* Changes by a PR author that resolve merge conflicts introduced after a PR - was approved by the lead should be committed separately as fixups. The PR - needs to be reviewed again by the lead. - - When the rebase stops due to a conflict, the author commits all non - conflicting changes with `--amend`, then commits the conflict resolution as - ``fixup! Previous commit's title`` and finally continues the rebase. There - should be one ``fixup!`` commit for every time the rebase stops. - - If the operator resolves a post-approval conflict, none of this is - necessary. The operator should only resolve trivial conflicts, and only if - they feel confident that the resolution does not break anything. - -Squashing previous fixups -------------------------- - -* Unless the PR reviewer has already done so, the PR author squashes all - existing fixups after they get the branch back from the reviewer, and before - addressing the review outcome with more fixups. - - -Assigning PRs -------------- - -* The author of a PR may request reviews from anyone at any time. Once the - author considers a PR ready to land (be merged into the base branch), the - author rebases the branch, assigns the PR to the reviewer, the *primary - reviewer* and requests a review from that person. Note that assigning a PR - and requesting a review are different actions on the Github UI. - -* If a PR is assigned to someone (typically the primary reviewer), only the - assignee may push to the PR branch. If a PR is assigned to no one, only the - author may push to the PR branch. - -Rewriting history ------------------ - -* Commits in a PR should not invalidate changes from previous commits in the PR. - Revisions that occur during development should be incorporated into their - relevant ancestor commit. There are various techniques to achieve this (``git - commit --amend``, ``git rebase --interactive``, ``git rebase --interactive - --autosquash`` or ``git reset`` and committing the changes again but all of - these techniques involve rewriting the commit history. Rewriting the history - of a feature branch is allowed and even encouraged but … - -* … we only rewrite the part of the branch that has not yet been reviewed. - To modify a commit that has already been reviewed, we create a new ``fixup!`` - commit containing the changes that addressing the reviewers comments. - - Before asking for another review, we may amend or rewrite that ``!fixup`` - commit. In fact, amending a ``!fixup`` commit between reviews is preferred in - order to avoid a series of redundant fixup commits referring to the same main - commit. In other words, the commits added to a feature branch after a review - should all have distinct titles. - -Drop commits ------------- - -* At times it may be necessary to temporarily add a commit to a PR branch e.g., - to facilitate testing. These commits should be removed prior to landing the - PR and their title is prefixed with ``drop!``. - -* The hunks in a ``drop!`` commit should carry an inline comment marking the - hunk as something that will be removed. That way a reviewer can easily tell - apart temporary hunks from permanent ones without having to consult the - commit history. - -* When squashing old fixups, ``drop!`` commits should be be retained. - -* Most PRs land squashed down into a single commit. A PR with more than one - significant commit is referred to as a *multi-commit PR*. Prior to landing - such a PR, the primary reviewer may decide to consolidate its branch. - Alternatively, the primary reviewer may ask the PR author to do so in a final - rejection of the PR. The final consolidation eliminates both ``fixup!`` and - ``drop!`` commits. - -Status checks -------------- - -* We usually don't request a review before all status checks are green. In - certain cases a preliminary review of a work in progress is permissible but - the request for a preliminary review has to be qualified as such in a comment - on the PR. - -Holding branches warm ---------------------- - -* Some PR branches are can't be reviewed or merged for concerns external to the - PR. The PR is labeled ``hold warm`` and the assignee of the PR, or the author, - if no assignee is set, rebases the branch periodically and resolves any - conflicts that might come up. - -Merging -------- - -* Without expressed permission by the primary reviewer, only the primary - reviewer merges PR branches. Certain team members may possess sufficient - privileges to push to main branches, but that does not imply that those team - members may merge PR branches. - -* The primary reviewer uses the ``sandbox`` label to indicate that a PR is - being tested in the sandbox deployment prior to being merged. Only one open PR - may be assigned the ``sandbox`` label at any point in time. - -* When a PR branch is merged, the title of the merge commit should match the - title of the pertinent commit in the branch, but also include the PR number. - An example of this history looks like:: - - * 8badf00d Reticulate them splines for good measure (#123, PR #124) - |\ - | * cafebabe Reticulate them splines for good measure (#123) - |/ - ... - - If a PR branch contains more than one commit, one of them usually represents - the main feature or fix while other commits are preparatory refactorings or - minor unrelated changes. The title of merge commit in this case usually - matches that of the main commit. - -Review comments ---------------- - -* Github lets any user with write access resolve comments to changes in a PR. We - aren't that permissive. When the reviewer makes a comment, either requesting - a change or asking a question, the author addresses the comment by either - - - making the requested changes and reacting to the comment with a thumbs-up 👍 - - - or replying with a comment that answers the question or explains why the - change can't be applied as requested. - - In either case, only the reviewer resolves the comment. This is to ensure that - the reviewer can refresh their memory as to which changes they requested in a - prior review so they can verify if they were addressed satisfactorily. - -PR dependencies ---------------- - -* We use ZenHub dependencies between PRs to define constraints on the order in - which they can be merged into ``develop``. If PR ``#3`` blocks PR ``#4``, - then ``#3`` must be merged before ``#4``. Issues must not block PRs and PRs - must not block issues. The only express relation we use between issues and - PRs is ZenHub's *Connect to issue* feature. Note that an explicit - dependency between two issues implies a dependency between the PRs - connected to the issues: if issue ``#1`` blocks issue ``#2`` and PR ``#3`` - is connected to ``#1`` while PR ``#4`` is connected to ``#2``, then PR - ``#4`` must be merged after PR ``#3``. - -Chained PRs ------------ - -* If two PRs touch the same code, or if one PR depends on changes in another - PR, the PRs may be chained. We say a PR ``#4`` is chained to PR ``#3``, if - the branch for PR ``#4`` is a continuation of the branch for PR ``#3``. We - refer to PR ``#3`` as the *base PR* and the branch for ``#3`` as the *base - branch*. - -* The base PR blocks the chained PR (see `PR dependencies`_ for details). It - is rare for a PR to be blocked by another PR without also being chained to - it. - -* Only a draft PR may be chained to another PR. Note that this implies that - the primary reviewer generally does not review chained PRs unless they are - labeled `WIP` and the request is accompanied by specific questions. - -* To chain PR ``#4`` to PR ``#3`` … - - 1) Make sure PR ``#4`` is a draft PR - - 2) Using ``git``, base the ``#4`` branch on the ``#3`` branch - - 3) In Github, set the base branch of PR ``#4`` to the PR branch of ``#3`` - - 4) In ZenHub, mark PR ``#4`` as blocked by PR ``#3``. - -* A PR may be chained to a PR that is chained to another PR, creating a chain - of length 3. PR chains can be of arbirary length. All but the first PR in a - chain must be drafts. - - Note that in chains involving more than two PRs, the intermediate PRs carry - both the ``chained`` and ``base`` labels. - -* Rebasing a chained PR involves rebasing its branch on the base branch - instead of ``develop``. - -* Once the base PR of a chain is merged, all chained PRs need to be rebased:: - - git rebase --onto origin/develop $start_commit issues/joe/1234-foo - - where ``start_commit`` is the first commit in ``issues/joe/1234-foo`` that - wasn't also on the base PR's branch. - -Hotfixes --------- - -A hotfix is a change that is either pushed directly to the ``prod`` branch or -that is merged into the ``prod`` branch from a PR targeting ``prod``. The need -for hotfixes arises when defects are detected *after* a promotion, or a -previous hotfix for that matter, if such defects demand urgent remediation. - -When tasked with the creation of a hotfix PR, create a new branch off the -``prod`` branch, commit the changes and request review from the lead. Hotfixes -typically do not undergo peer review. We distinguish between permanent and -temporary hotfixes. All hotfixes are backported but temporary hotfixes will -be reverted and replaced with a permanent fix via the normal promotion. The -commit title tag is - -- ``h`` on a temporary hotfix, -- ``H`` on a permanent hotfix and -- ``F`` on the permanent fix for a temporary hotfix. - -When authoring a hotfix, make sure that it doesn't negatively affect any other -deployment when the hotfix is backported. The hotfix must not break the build -in any deployment and cannot reduce test coverage in deployments other than -``prod``. A conditional on ``config.deployment_stage`` can be used to guard -against such negative effects. If the hotfix does reduce coverage, it must be -a temporary hotfix and the corresponding permanent fix must restore -coverage. Hotfixes must not alter the index document format or otherwise require -a reindex. Hotfixes must not require upgrading deployments. - -One might ask why we bother with backporting temporary hotfixes after all. -Without a backport, the promotion of the corresponding permanent fix will -likely cause conflicts that an operator might find difficult to resolve. And -that's if the permanent fix overlaps with the termporary one. If it doesn't, -the author of the permanent fix can only revert the temporary hotfix if it -was actually backported to ``develop``. - -In the most urgent situations, a hotfix may be pushed directly to the ``prod`` -branch, without filing a PR. The above requirements apply regardless. Only -operators and system administrators can push to ``prod``. For PR'ed hotfixes, -a checklist item reminds the operator to file the backport. Since there is no -such PR for directy pushed hotfixes, the author of such a hotfix must file a -backport PR immediately after pushing the hotfix and verifying that it works -as expected. diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index e1c49dc2ee..0000000000 --- a/Dockerfile +++ /dev/null @@ -1,81 +0,0 @@ -ARG azul_docker_registry -ARG azul_python_image -FROM --platform=${TARGETPLATFORM} ${azul_docker_registry}${azul_python_image} - -ARG TARGETARCH - -SHELL ["/bin/bash", "-c"] - -# Increment the value of this argument to ensure that all installed OS packages -# are updated. -# -ARG azul_image_version=1 -# FIXME: Remove mounting of fips_enabled -# https://github.com/DataBiosphere/azul/issues/6675 -ARG azul_proc_sys_crypto -RUN --mount=type=bind,source=fips_enabled,target=${azul_proc_sys_crypto}/fips_enabled \ - apt-get update \ - && apt-get upgrade -y \ - && apt-get -y install build-essential curl unzip - -# Install helper for access to ECR with credendtials from EC2 metadata service -# -RUN curl -o /usr/bin/docker-credential-ecr-login \ - https://amazon-ecr-credential-helper-releases.s3.us-east-2.amazonaws.com/0.7.0/linux-amd64/docker-credential-ecr-login \ - && printf 'c978912da7f54eb3bccf4a3f990c91cc758e1494a8af7a60f3faf77271b565db /usr/bin/docker-credential-ecr-login\n' | sha256sum -c \ - && chmod +x /usr/bin/docker-credential-ecr-login -ARG azul_docker_registry -ENV azul_docker_registry=${azul_docker_registry} -RUN mkdir -p ${HOME}/.docker \ - && printf '{"credHelpers": {"%s": "ecr-login"}}\n' "${azul_docker_registry%/}" \ - > "${HOME}/.docker/config.json" - -# Install Terraform -# -ARG azul_terraform_version -RUN mkdir terraform \ - && (set -o pipefail \ - && cd terraform \ - && curl -s -o terraform.zip \ - https://releases.hashicorp.com/terraform/${azul_terraform_version}/terraform_${azul_terraform_version}_linux_${TARGETARCH}.zip \ - && unzip terraform.zip \ - && mv terraform /usr/local/bin) \ - && rm -rf terraform - -# Install Docker from apt repository. The statically linked binaries don't -# include buildx or buildkit. -# -# https://docs.docker.com/engine/install/debian/#install-using-the-repository -# -RUN install -m 0755 -d /etc/apt/keyrings -COPY --chmod=0644 bin/keys/docker-apt-keyring.pgp /etc/apt/keyrings/docker.gpg -ARG azul_docker_version -# FIXME: Remove mounting of fips_enabled -# https://github.com/DataBiosphere/azul/issues/6675 -RUN --mount=type=bind,source=fips_enabled,target=${azul_proc_sys_crypto}/fips_enabled \ - set -o pipefail \ - && ( \ - echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" \ - | tee /etc/apt/sources.list.d/docker.list \ - ) \ - && apt-get update \ - && version=$(apt-cache madison docker-ce | awk '{ print $3 }' | grep -P "^5:\Q${azul_docker_version}\E" | head -1) \ - && test -n "$version" \ - && apt-get -y install docker-ce=$version docker-ce-cli=$version docker-buildx-plugin - -# Prepare working directory for builds -# -RUN mkdir /build -WORKDIR /build - -# Install Azul dependencies -# -ARG PIP_DISABLE_PIP_VERSION_CHECK -ENV PIP_DISABLE_PIP_VERSION_CHECK=${PIP_DISABLE_PIP_VERSION_CHECK} -COPY environment requirements*.txt common.mk Makefile ./ -ARG make_target -RUN source environment \ - && make virtualenv \ - && source .venv/bin/activate \ - && make $make_target \ - && rm requirements*.txt common.mk Makefile diff --git a/OPERATOR.rst b/OPERATOR.rst deleted file mode 100644 index 8adf35be25..0000000000 --- a/OPERATOR.rst +++ /dev/null @@ -1,952 +0,0 @@ -.. contents:: - -Getting started as operator ---------------------------- - -* Read the entire document - -* It is **strongly recommend** that you install `SmartGit`_ - -.. _SmartGit: https://www.syntevo.com/smartgit/download/ - -* Ask the lead via Slack to: - - - add you to the ``Azul Operators`` GitHub group on DataBiosphere - - - give you Maintainer access to the GitLab ``dev``, ``anvildev``, - ``anvilprod`` and ``prod`` instances - - - assign to you the ``Editor`` role on the Google Cloud - projects ``platform-hca-prod`` and ``platform-hca-anvilprod`` - - - remove the ``Editor`` role in those projects from the previous operator - -* Ask Erich Weiler (weiler@soe.ucsc.edu) via email (cc Ben and Hannes) to: - - - grant you developer access to AWS accounts ``platform-hca-prod`` and ``platform-anvil-prod` - - - revoke that access from the previous operator (mention them by name) - -* Confirm access to GitLab: - - #. Add your SSH key to your user account on GitLab under the "Settings/SSH - Keys" panel - - #. Confirm SSH access to the GitLab instance:: - - ssh -T git@ssh.gitlab.dev.singlecell.gi.ucsc.edu - Welcome to GitLab, @amarjandu! - - #. Add the gitlab instances to the local working copy's ``.git/config`` file - using:: - - [remote "gitlab.dcp2.dev"] - url = git@ssh.gitlab.dev.singlecell.gi.ucsc.edu:ucsc/azul - fetch = +refs/heads/*:refs/remotes/gitlab.dcp2.dev/* - [remote "gitlab.dcp2.prod"] - url = git@ssh.gitlab.azul.data.humancellatlas.org:ucsc/azul.git - fetch = +refs/heads/*:refs/remotes/gitlab.dcp2.prod/* - [remote "gitlab.anvil.dev"] - url = git@ssh.gitlab.anvil.gi.ucsc.edu:ucsc/azul.git - fetch = +refs/heads/*:refs/remotes/gitlab.anvil.dev/* - - #. Confirm access to fetch branches:: - - git fetch -v gitlab.dcp2.dev - From ssh.gitlab.dev.singlecell.gi.ucsc.edu:ucsc/azul - = [up to date] develop -> gitlab.dcp2.dev/develop - = [up to date] issues/amar/2653-es-2-slow -> gitlab.dcp2.dev/issues/amar/2653-es-2-slow` - -* Standardize remote repository names. If the name of the remote repository on - GitHub is set to ``origin`` rename the remote repository to ``github``. Run:: - - git remote rename origin github - -Operator jobs -------------- - -First order of business: add a calendar event for the next scheduled operator -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -As soon as your shift begins and before performing any other actions as an -operator create the following Google Calendar event in the `Team Boardwalk -calendar`_. - -Create an all-day calendar event for the two weeks after your current stint, -using the title ``Azul Operator: `` with the name of the operator who will -be serving next. - -If you are aware of any schedule irregularities, such as one operator performing -more than one consecutive stints, create events for those as well. - -.. _`Team Boardwalk calendar`: https://calendar.google.com/calendar/u/0/r?cid=dWNzYy5lZHVfMDRuZ3J1NXQzNDB0aWd0cW5qYWQ5Nm5jOWtAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ - -Check weekly for Amazon OpenSearch Service updates -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The operator checks weekly for notifications about service software updates to -Amazon OpenSearch Service domains for all Azul deployments. Note that service -software updates are distinct from updates to the upstream version of -ElasticSearch (or Amazon's OpenSearch fork) in use on an ES domain. While the -latter are discretional and applied via a change to TerraForm configuration, -some of the latter are mandatory. - -Unless we intervene, AWS will automatically force the installation of any update -about which we receive a ``High`` severity notification, typically two weeks -after the notification was sent. Read `Amazon notification severities`_ for more -information. The operator must prevent the automatic installation of such -updates. It would be disastrous if an update were to be applied during a reindex -in ``prod``. Instead, the operator must apply the update manually as part of an -operator ticket in GitHub, as soon as possible, and well before Amazon would -apply it automatically. - -To check for, and apply, if necessary, any pending service software updates, the -operator performs the following steps daily. - -1. In *Amazon OpenSearch Service Console* select the *Notifications* pane and - identify notifications with subject ``Service Software Update``. - -2. Record the severity, date and the ES domain name of these notifications. - Collect this information for all ES domain in both the ``prod`` and ``dev`` - AWS accounts. If there are no notifications, you are done. - -3. Open a new ticket in GitHub and title it ``Apply Amazon OpenSearch (ES) - Software Update (before {date})``. Include ``(before {date})`` in the title - if any notification is of ``High`` severity, representing a forced update. - Replace ``{date}`` with the anticipated date of the forced installation. If - there already is an open ticket for pending updates, reuse that ticket and - adjust it accordingly. - -4. If title contains a date, pin the ticket as *High Priority* in ZenHub. - -5. The description of the ticket should include a checklist item for each ES - domain recorded in step 2. The checklist should include items for notifying - the team members about any disruptions to their personal deployments, say, - when the ``sandbox`` domain is being updated. - - Use this template for the checklist:: - - - [ ] Update `azul-index-dev` - - [ ] Update `azul-index-anvildev` - - [ ] Update `azul-index-anvilprod` - - [ ] Confirm with Azul devs that their personal deployments are idle - - [ ] Update `azul-index-sandbox` - - [ ] Update `azul-index-anvilbox` - - [ ] Update `azul-index-hammerbox` - - [ ] Update `azul-index-prod` - - [ ] Confirm snapshots are disabled on all domains - - `aws opensearch describe-domains --domain-name | jq '.DomainStatusList[].SnapshotOptions'` - - Value of `AutomatedSnapshotStartHour` should be `-1` - - Note that, somewhat counterintuitively, main deployments are updated before - their respective ``sandbox``. If, during step 3, updates or domains were - added to an existing ticket, the entire process may have to be restarted and - certain checklist items may need to be reset. - -6. To update an ES domain, select it the Amazon OpenSearch Service console. - Under *General information*, the *Service software version* should have an - *Update available* hyperlink. Click on it and follow the subsequent - instructions. - -7. Once the upgrade process is completed for the ``dev`` or ``prod`` ES domain, - perform a smoke test using the respective Data Browser instance. - -.. _`Amazon notification severities`: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-notifications.html#managedomains-notifications-severities - -Review counts -^^^^^^^^^^^^^ - -When verifying accuracy of the ``review count`` label, search for the string -``hannes-ucsc requested`` on the PR page. Make sure to check for comments that -indicate if a review count was not bumped. - -Testing a PR in the ``sandbox`` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The operator sets ``sandbox`` label on a PR before pushing the PR branch to -GitLab. If the resulting sandbox build passes, the PR is merged and the label -stays on. If the build fails, the label is removed. Only one un-merged PR should -have the label. - -If the tests fail while running a sandbox PR, an operator should do minor -failure triage. - -Triaging ``sandbox`` failures -""""""""""""""""""""""""""""" - -* If the PR fails because of out-of-date requirements on a PR with the ``[R]`` - tag the operator should rerun ``make requirements_update``, `committing the - changes separately`_ with a title like ``[R] Update requirements``. It is not - necessary to re-request a review after doing so. - -* For integration test failures, check if the PR has the ``reindex`` tag. If so, - running an early reindex may resolve the failure. - -* Determine if the failure could have been caused by the changes in the PR. If - so, there is no need to open up a new ticket. Bounce the PR back to the "In - progress" column and notify the author of the failure. Ideally provide a link. - -* All other build failures need to be tracked in tickets. If there is an - existing ticket, comment on it with a link to the failed job and move the - ticket to Triage. If there is no existing ticket resembling the failed build, - create a new one, with a link to the failed build, a transcript of any - relevant error messages and stack traces from the build output, and any - relevant log entries from CloudWatch. - -Triaging GitLab build failures on ``dev`` and ``prod`` -"""""""""""""""""""""""""""""""""""""""""""""""""""""" - -If a GitLab build fails on a main deployment, the operator must evaluate the -impact of that failure. This evaluation should include visiting the Data Browser -to verify it isn't broken. - -To restore the deployment to a known working state, the operator should rerun -the deploy job of previous passing pipeline for that deployment. This can be -done without pushing anything and only takes a couple of minutes. The branch for -that deployment must then be reverted to the previously passing commit. - -.. _committing the changes separately: https://github.com/DataBiosphere/azul/issues/2899#issuecomment-804508017 - -Reindexing -^^^^^^^^^^ - -During reindexing, watch the ES domain for unassigned shards, using the AWS -console. The ``azul-prod`` CloudWatch dashboard has a graph for the shard count. -It is OK to have unassigned shards for a while but if the same unassigned shards -persist for over an hour, they are probably permanently unassigned. Follow the -procedure outlined in `this AWS support article`_, using either Kibana or -Cerebro. Cerebro has a dedicated form field for the index setting referenced in -that article. In the past, unassigned shards have been caused by AWS attempting -to make snapshots of the indices that are currently being written to under high -load during reindexing. Make sure that ``GET _cat/snapshots/cs-automated`` -returns nothing. Make sure that the *Start Hour* under *Snapshots* on the -*Cluster confguration* tab of the ES domain page in the AWS console is shown as -``0-1:00 UTC``. If either of these checks fails, file a support ticket with AWS -urgently requesting snapshots to be disabled. - -.. _this AWS support article: https://aws.amazon.com/premiumsupport/knowledge-center/opensearch-in-memory-shard-lock/ - -The operator must check the status of the queues after every reindex for -failures. Use ``python scripts/manage_queues.py`` to identify any failed -messages. If failed messages are found, use ``python scripts/manage_queues.py`` -to - -- dump the failed notifications to JSON file(s), using ``--delete`` to - simultaneously clear the ``notifications_fail`` queue - -- force-feed the failed notifications back into the ``notifications_retry`` - queue. We feed directly into the retry queue, not the primary queue, to save - time if/when the messages fail again. - -This may cause the previously failed messages to succeed. Repeat this procedure -until the set of failed notifications stabilizes, i.e., the -``notifications_fail`` queue is empty or no previously failed notifications -succeeded. - -Next, repeat the dump/delete/force-feed steps with the failed tallies, feeding -them into ``tallies_retry`` queue (again, **NOT** the primary queue) until the -set of failed tallies stabilizes. - -If at this point the fail queues are not empty, all remaining failures must be -tracked in tickets: - -- document the failures within the PR that added the changes - -- triage against expected failures from existing issues - -- create new issues for unexpected failures - -- link each failure you document to their respective issue - -- ping people on the Slack channel ``#dcp2`` about those issues, and finally - -- clear the fail queues so they are empty for the next reindexing - -For an example of how to document failures within a PR `click here`_. - -.. _click here: https://github.com/DataBiosphere/azul/pull/3050#issuecomment-840033931 - -Reindexing a specific catalog or sources in GitLab -"""""""""""""""""""""""""""""""""""""""""""""""""" - -From the GitLab web app, select the ``reindex`` or ``early_reindex`` job for -the pipeline that needs reindexing of a specific catalog. From there, you -should see an option for defining the key and value of additional variables to -parameterize the job with. - -To specify a catalog to be reindexed, set ``Key`` to ``azul_current_catalog`` -and ``Value`` to the name of the catalog, for example, ``dcp3``. To specify the -sources to be reindexed, set ``Key`` to ``azul_current_sources`` and -``Value`` to a space-separated list of sources globs, e.g. -``*:hca_dev_* *:lungmap_dev_*``. Check the inputs you just -made. Start the ``reindex`` job by clicking on ``Run job``. Wait until the job -has completed. - -Repeat these steps to reindex any additional catalogs. - - -Updating the AMI for GitLab instances -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -As part of the upgrades isssue, operators must check for updates to the AMI for -the root volume of the EC2 instance running GitLab. We use a hardened — to the -requirements of the CIS Amazon Linux 2 benchmark — variant of Amazon's Linux 2 -AMI. The license to use the AMI for an EC2 instance is sold by CIS as a -subscription on the AWS Marketplace: - -https://aws.amazon.com/marketplace/pp/prodview-wv574yqgjv6jg - -The license costs $0.024 per instance/hour. Every AWS account must subscribe -separately. - -There are ways to dynamically determine the latest AMI released by CIS under the -subscription but in the spirit of reproducible builds, we would rather pin the -AMI ID and adopt updates at our own discretion to avoid unexpected failures. - -Note that the AMI versioning scheme (e.g., ``v01``, ``v11``) indicates the month -of release, and is not a monotonically increasing value. - -To obtain the latest compatible AMI ID, select the desired ``….gitlab`` -component, say, ``_select dev.gitlab`` and run - -:: - - aws ec2 describe-images \ - --owners aws-marketplace \ - --filters="Name=name,Values=*abcfcbaf-134e-4639-a7b4-fd285b9fcf0a*" \ - | jq -r '.Images[] | .CreationDate+"\t"+.ImageId+"\t"+.Name' \ - | sort \ - | tail -1 - -This prints the date, ID and name of the latest CIS-hardened AMI. Update the -``ami_id`` variable in ``terraform/gitlab/gitlab.tf.json.template.py`` to refer -to the AMI ID. Update the image name in the comment right above the variable so -that we know which semantic product version the AMI represents. AMIs are -specific to a region so the variable holds a dictionary with one entry per -region. If there are ``….gitlab`` components in more than one AWS region (which -is uncommon), you need to select at least one ``….gitlab`` component in each of -these regions, rerun the command above for each such component, and add or -update the ``ami_id`` entry for the respective region. Instead of selecting a -``….gitlab`` component, you can just specify the region of the component using -the ``--region`` option to ``aws ec2 describe-images``. - -Upgrading GitLab & ClamAV -^^^^^^^^^^^^^^^^^^^^^^^^^ - -Operators check for updates to the Docker images for GitLab and ClamAV as part -of the biweekly upgrade process, and whenever a GitLab security releases -requires it. An email notification is sent to ``azul-group@ucsc.edu`` when a -GitLab security release is available. Discuss with the lead the **Table of -Fixes** referenced in the release blog post to determine the urgency of the -update. When updating the GitLab version, either as part of the regular update -or when necessary, check if there are applicable updates to the `GitLab runner -image`_ as well. Use the latest runner image whose major and minor version match -that of the GitLab image. When upgrading across multiple GitLab versions, follow -the prescribed GitLab `upgrade path`_. You will likely only be able to perform -a step on that path per biweekly upgrade PR. - -.. _upgrade path: https://docs.gitlab.com/ee/update/index.html#upgrade-paths - -Before upgrading the GitLab version, create a backup of the GitLab volume. See -`Backup GitLab volumes`_ for help. - -Upgrade direct Python dependencies -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -In PyCharm, use `Package tool window`_ to view the most recent versions of -the project's direct Python dependencies. This feature may only work properly -after running ``make envhook``, and correctly configuring the Python interpreter -for the project (at least once before). - -Proceed by identifying the packages that are candidates for upgrades. Check the -dependencies listed in ``requirements.txt`` and ``requirements.dev.txt`` against -the Package tool window, where the dependency indicates of an available version. -When updating: - - * Update to the latest mature release (a release with a high patch number or - where the most recent patch release is at least a couple of months old) and go - backward if problems occur. - - * Document each of these problems with a dedicated FIXME, with its respective - ticket & reference, when non-trivial code base changes are necessary due to - a package version upgrade. - - * Reference the GitHub link in a comment beside the conflictive package. - - * If updating a package causes a trivial change or a dismissable warning when - including a FIXME (e.g., deprecation warnings), it should be done on its own - commit, to easily identify the dependencies forcing the change and the given - resolution. - -Note, a way to display all available versions of a given package in a concise -way, is to pretend to install a non-existing version from a terminal console -via the pip command. For example, to see all available versions of ``flake8`` -one may run ``pip install flake8=9.9.9``, and the output will display all -versions of the dependency. - -As always, each of the committed changes should be tested, and should -independently succeed all feature branch checks in GitHub, etc. Perform the -following for smoke-testing basic operations and functions: - - #. Recreate the project's virtualenv from scratch, run the ``requirements`` - target, run the ``envhook`` target and end with ``requirements_update``. - - #. Run the ``test``, and ``deploy`` targets in personal deployment (or via - sandbox) and then run the integration test. - -.. _Package tool window: https://www.jetbrains.com/guide/python/tutorials/getting-started-pycharm/installing-and-managing-python-packages/ - -Increase GitLab data volume size -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -When the CloudWatch alarm for high disk usage on the GitLab data volume goes -off, you must attach a new, larger volume to the instance. Run the command below -to create both a snapshot of the current data volume and a new data volume with -the specified size restored from that snapshot. - -Discuss the desired new size with the system administrator before running the -command:: - - python scripts/create_gitlab_snapshot.py --new-size [new_size] - -When this command finishes, it will leave the instance in a stopped state. Take -note of the command logged by the script. You'll use it to delete the old data -volume after confirming that GitLab is up and running with the new volume -attached. - -Next, deploy the ``gitlab`` TF component in order to attach the new data volume. -The only resource with changes in the resulting plan should be -``aws_instance.gitlab``. Once the ``gitlab`` TF component has been deployed, -start the GitLab instance again by running:: - - python scripts/create_gitlab_snapshot.py --start-only - -Finally, SSH into the instance to complete the setup of new data volume. Use the -``df`` command to confirm the size and mount point of the device, and -``resize2fs`` to grow the size of the mounted file system so that it matches -that of the volume. Run:: - - df # Verify device /dev/nvme1n1 is mounted on /mnt/gitlab, note available size - sudo resize2fs /dev/nvme1n1 - df # Verify the new available size is larger - -The output of the last ``df`` command should inform of the success of these -operations. A larger available size compared to the first run indicates that -the resizing operation was successful. You can now delete the old data volume by -running the deletion command you noted earlier. - -Backup GitLab volumes -^^^^^^^^^^^^^^^^^^^^^ - -Use the ``create_gitlab_snapshot.py`` script to back up the EBS data volume -attached to each of our GitLab instances. The script will stop the instance, -create a snapshot of the GitLab EBS volume, tag the snapshot and finally restart -the instance:: - - python scripts/create_gitlab_snapshot.py - -For GitLab or ClamAV updates, use the ``--no-restart`` flag in order to leave -the instance stopped after the snapshot has been created. There is no point in -starting the instance only to have the update terminate it again. - -Updating software packages on GitLab instances -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Once a week, operators must update all Linux packages installed on the root -volume of each GitLab instance. SSH access to the instances is necessary to -perform these instructions but on production instances this access is -unavailable, even to operators. In these cases the operator must request the -help of the system administrator via Slack to perform these steps. - -SSH into the instance, and run ``sudo yum update`` followed by ``sudo reboot``. -Wait for the GitLab web application to become available again and perform a -``git fetch`` from one of the Git repositories hosted on that instance. - -Updating the Swagger UI -^^^^^^^^^^^^^^^^^^^^^^^ - -Operators should regularly check for available updates to the Swagger UI. The -current version used by Azul is hardcoded in ``scripts/update_swagger.py``. The -upstream source is located here: - -https://github.com/swagger-api/swagger-ui/tree/master/dist - -Scheduled upgrade PR's should only include minor and hotfix updates to the -Swagger UI. If a new major version is available, open a new issue instead. To -perform the update, edit the ``tag`` variable in the ``update_swagger`` script -and run it. If there are nontrivial changes to the ``swagger-initializer.js`` or -``oauth2-redirect.html`` files, cancel the update and open a new issue instead. -Otherwise, forward any changes to those two files to their respective mustache -template files, and commit the changes to the script and all modified files in -the ``swagger/`` directory. The commit message must include the new tag, as well -as a link to the upstream source in the commit body, e.g.:: - - Update Swagger UI to v (#issue-number) - - https://github.com/swagger-api/swagger-ui/tree/v/dist - - -Export AWS Inspector findings -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -#. ``_select anvilprod`` - -#. Run ``python scripts/export_inspector_findings.py`` to generate a CSV file - -#. Open the `Anvilprod Inspector Findings spreadsheet`_ - -#. Select ``File`` > ``Import`` to import the generated CSV, and on the ``Import - file`` dialog use these options: - - - Import location: Insert new sheet(s) - - - Convert text to numbers, dates, and formulas: Checked - -#. Rename the new tab using ``YYYY-MM-DD`` with the date of the upgrade issue, - and move it to the front of the stack - -#. Apply visual formatting (e.g. column width) to the sheet using a previous - sheet as a guide - -.. _Anvilprod Inspector Findings spreadsheet: https://docs.google.com/spreadsheets/d/1RWF7g5wRKWPGovLw4jpJGX_XMi8aWLXLOvvE5rxqgH8/edit#gid=1657352747 - -Adding snapshots to ``dev`` -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -When adding a new snapshot to ``dev``, ``anvildev``, the operator should also -add the snapshot to ``sandbox`` or ``anvilbox``, respectively. - -The ``post_deploy_tdr.py`` script will fail if the computed common prefix -contains an unacceptable number of subgraphs. If the script reports that the -common prefix is too long, truncate it by 1 character. If it's too short, append -1 arbitrary hexadecimal character. Pass the updated prefix as a keyword argument -to the ``mksrc`` function for the affected source(s), including a partition -prefix length of 1. Then refresh the environment and re-attempt the deployment. - -Adding snapshots to ``prod`` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -We decide on a case-by-case basis whether PRs which update or add new snapshots -to ``prod`` should be filed against the ``prod`` branch instead of ``develop``. -When deciding whether to perform snapshot changes directly to ``prod`` or -include them in a routine promotion, the system admin considers the scope of -changes to be promoted. It would be a mistake to promote large changes in -combination with snapshots because that would make it difficult to diagnose -whether indexing failures are caused by the changes or the snapshots. - -Removing catalogs from ``prod`` and setting a new default -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -PRs which remove catalogs or set a new default for ``prod`` should be filed -against the ``prod`` branch instead of ``develop``. - -When setting a new default catalog in ``prod``, the operator shall also delete -the old default catalog unless the ticket explicitly specifies not to delete the -old catalog. - -Add a checklist item at the end of the PR checklist to file a back-merge PR from -``prod`` to ``develop``. - -Add another checklist item instructing the operator to manually delete the old -catalog. - -Promoting to ``prod`` -^^^^^^^^^^^^^^^^^^^^^ - -Promotions to ``prod`` should happen weekly on Wednesdays, at 3pm. We promote -earlier in the week in order to triage any potential issues during reindexing. -We promote at 3pm to give a cushion of time in case anything goes wrong. - -To do a promotion: - -#. Decide together with lead up to which commit to promote. This commit will be - the HEAD of the promotions branch. - -#. Create a new GitHub issue with the title ``Promotion yyyy-mm-dd`` - -#. Make sure your ``prod`` branch is up to date with the remote. - -#. Create a branch at the commit chosen above. Name the branch correctly. See - `promotion PR template`_ for what the correct branch name is. - -#. File a PR on GitHub from the new promotion branch and connect it to the - issue. The PR must target ``prod``. Use the `promotion PR template`_. - -#. Request a review from the primary reviewer. - -#. Once PR is approved, announce in the `#team-boardwalk Slack channel`_ that - you plan to promote to ``prod`` - -#. Search for and follow any special ``[u]`` upgrading instructions that were - added. - -#. When merging, follow the checklist and making sure to carry over any commit - title tags (``[u r R]`` for example) into the default merge commit title - e.g., ``[u r R] Merge branch 'promotions/2022-02-22' into prod``. Don't - rebase the promotion branch and don't push the promotion branch to GitLab. - Merge the promotion branch into ``prod`` and push the merge commit on the - ``prod`` branch first to GitHub and then to the ``prod`` instance of GitLab. - -.. _promotion PR template: /.github/PULL_REQUEST_TEMPLATE/promotion.md - -Backporting from ``prod`` to ``develop`` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -There should only ever be one open backport PR against ``develop``. If more -commits accumulate on ``prod``, waiting to be backported, close the existing -backport PR first. The new PR will include the changes from the old one. - -#. Make a branch from ``prod`` at the most recent commit being backported. Name - the branch following this pattern:: - - backports/<7-digit SHA1 of most recent backported commit> - -#. Open a PR from your branch, targeting ``develop``. The PR title should be - - :: - - Backport: <7-digit SHA1 of most recent backported commit> (#, PR #) - - Repeat this pattern for each of the older backported commits, if there are - any. An example commit title would be - - :: - - Backport 32c55d7 (#3383, PR #3384) and d574f91 (#3327, PR #3328) - - Be sure to use the PR template for backports by appending - ``&template=backport.md`` to the URL in your browser's address bar. - -#. Assign and request review from the primary reviewer. The PR should only be - assigned to one person at a time, either the reviewer or the operator. - -#. Perform the merge. The commit title should match the PR title :: - - git merge prod --no-ff - -#. Push the merge commit to ``develop``. It is normal for the branch history to - look very ugly following the merge. - -.. _#team-boardwalk Slack channel: https://ucsc-gi.slack.com/archives/C705Y6G9Z - - -Deploying the Data Browser -^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The Data Browser is deployed in two steps. The first step is building the -``ucsc/data-browser`` project on GitLab. This is initiated by pushing a branch -whose name matches ``ucsc/*/*`` to one of our GitLab instances. The resulting -pipeline produces a tarball stored in the package registry on that GitLab -instance. The second step is running the ``deploy_browser`` job of the -``ucsc/azul`` project pipeline on that same instance. This job creates or -updates the necessary cloud infrastructure (CloudFront, S3, ACM, Route 53), -downloads the tarball from the package registry and unpacks that tarball to the -S3 bucket backing the Data Browser's CloudFront distribution. - -Typically, CC requests the deployment of a Data Browser instance on Slack, -specifying the commit (tag or sha1) they wish to be deployed. After the -system administrator approves that request, the operator pushes the specified tag -(if a tag was specified) to the GitLab instance for the Azul ``{deployment}`` -that backs the Data Browser instance to be deployed. Then the specified tag (or -commit, if no tag was specified) is merged into one of the -``ucsc/{atlas}/{deployment}`` branches. That branch is then is pushed to the -``DataBiosphere/data-browser`` project on GitHub, and the ``ucsc/data-browser`` -project on GitLab (same instance as above). For the merge commit title, -SmartGit's default can be used, as long as the title reflects the commit (tag or -sha1) specified by CC. - -The ``{atlas}`` placeholder can be ``hca``, ``anvil`` or ``lungmap``. Not all -combinations of ``{atlas}`` and ``{deployment}`` are valid. Valid combinations -are ``ucsc/anvil/anvildev``, ``ucsc/anvil/anvilprod``, ``ucsc/hca/dev``, -``ucsc/hca/prod``, ``ucsc/lungmap/dev`` or ``ucsc/lungmap/prod``, for example. -The ``ucsc/data-browser`` pipeline on GitLab blindly builds any branch, but -Azul's ``deploy_browser`` job is configured to only use the tarball from exactly -one branch (see ``deployments/*.browser/environment.py``) and it will always use -the tarball from the most recent pipeline on that branch. - - -Running a ZAP vulnerability scan -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Setting up ZAP -"""""""""""""" - -Follow these steps to set up the ZAP application for scanning the HCA and -AnVIL systems. This set up only needs to be completed once, and for future scans -you can simply jump to `Launching ZAP`_. - -#. Download ZAP from https://www.zaproxy.org/ . - -#. Install & open ZAP. - -#. From the popup, select the *No, I do not want to persis this session at this - moment in time* option and click *Start*. - -#. Confirm that ZAP is configured to run in standard mode by first selecting - *Edit* from the app menu bar, then *ZAP Mode*, then selecting *Standard - Mode*. - -#. To prevent ZAP scans from exceeding Azul's request rate limit and being - temporarily blocked by the system, you will need to configure the maximum - rate of requests that ZAP will send out. From the app menu bar, select - *Tools*, then *Options*, then *Network*, then *Rate Limit*. Add and enable a - three request per second rule for the match string ``anvilprod.org``, and - another rule for the match string ``humancellatlas.org``. - -#. With the *Options* window open, select *Check for Updates* from the list of - options. Confirm that both *Check for updates on startup*, and *Check for - updates to the add-ons you have installed* are enabled. - -#. Click *OK* to close the *Options* window, and then proceed to exit the ZAP - application. - -Launching ZAP -""""""""""""" - -All scans need be run with authenticated requests. The process for running an -authenticated scan is to first obtain an Azul authentication token, and then -launch the ZAP application with the token set as an environment variable. ZAP -will then use your token to add an authentication header to all requests made -during the scan. See the `ZAP documentation`_ for more information. - -.. _`ZAP documentation`: https://www.zaproxy.org/docs/getting-further/authentication/handling-auth-yourself/ - -Follow these steps to get an authorization token from Azul: - -#. Open the Swagger UI for the appropriate (HCA or AnVIL) Azul service. - -#. Click *Authorize*, select all scopes, click *Authorize*, then *Close* to - complete the authorization. - -#. Using the Swagger UI, execute an endpoint such as ``/index/catalogs``. - -#. Locate the example ``curl`` command that Swagger produces for you, and copy - the token value from the ``Authorization`` header (e.g. ``Bearer ya29.a0…``). - -Using the token copied above, you can now set an environment variable and launch -ZAP from the command line. Open a terminal window, and run: - -#. ``export ZAP_AUTH_HEADER_VALUE=""`` - -#. ``/Applications/ZAP.app/Contents/MacOS/ZAP.sh`` - -After the ZAP application has opened, follow the steps below to `create a new -session`_ and run a scan. After your scan has completed and you have generated -a report, close the ZAP application, and then repeat the steps above to start -each additional scan with a fresh authentication token. - -.. _`create a new session`: #zap-sessions - -ZAP Sessions -"""""""""""" - -With the ZAP application open, you must start a new session prior to running a -new scan. Failure to do so can pollute the scan results with the findings from -the previous scan. A new session is created each time you launch ZAP, or -alternatively, to manually open a new session, from the app menu bar select -*File*, and then *New Session*. - -If you are prompted with options to persist the ZAP session, select the *No, I -do not want to persis this session at this moment in time* option and click -*Start*. - -You may now continue with either a `Data Portal / Browser scan`_ or `Azul -Indexer / Service API scan`_. - -.. _`Portal / Browser scan`: #running-a-portal-browser-scan -.. _`Azul Indexer / Service API scan`: #running-an-azul-indexer-service-api-scan - -Running a Data Portal / Browser scan -"""""""""""""""""""""""""""""""""""" - -#. Using the *Quick Start* tab, click *Automated Scan*. - -#. Enter the desired URL (e.g. https://anvilproject.org/) in the *URL to attack* - field. - -#. Enable the *Use traditional spider* option. - -#. Select *If modern* from the *Use ajax spider* option, and *Firefox Headless* - from the *With* option. - -#. Click *Attack* to begin the scan. - -#. Wait until all the scans (Ajax spider, passive scans, etc.) have completed. - In practice, this can take up to four hours depending on the target URL. Note - that you will not receive a notification when the scans have completed. - Instead, take note of the *Current Status* values in the ZAP window footer. - Proceed when all scan counts show ``0``. - -#. Continue with the steps below to `generate a report`_. - -.. _`generate a report`: #generating-a-zap-report - -Running an Azul Indexer / Service API scan -"""""""""""""""""""""""""""""""""""""""""" - -In order to run an API scan you must first import the OpenAPI definition: - -#. From the app menu bar, select *Import*, then *Import an OpenAPI Definition*. - -#. Enter the URL of the OpenAPI definition (e.g. - https://service.explore.anvilproject.org/openapi.json) in the *URL* field. - -#. Click *Import* to complete start the import. - -After the import of the OpenAPI definition completes, you can then proceed to -run an automated scan using the same steps as when running an `Data Portal / -Browser scan`_. For the *URL to attack*, enter the base URL of the Azul indexer -or service with no additional path components (e.g. -https://service.explore.anvilproject.org/). - -.. _`Data Portal / Browser scan`: #running-a-data-portal-browser-scan - -Generating a ZAP Report -""""""""""""""""""""""" - -After a scan has completed, use the following steps to save a PDF export of the -scan results. - -#. From the app menu bar, select *Report*, then *Generate Report*. - -#. Navigate to the *Template* tab of the *Generate Report* window, and select - *Traditional PDF Report* from the *Template* option. - -#. Navigate to the *Scope* tab, and enter a value such as "AnVIL Data Portal" - in the *Report Title* field. - -#. The *Report Name* field specifies the name of the file to be created. Enter - a value such as "2025-01-01-anvil-data-portal.pdf" in this field. - -#. Click *Generate Report* to complete the export. - - -Troubleshooting ---------------- - -Credentials expire in the middle of a long-running operation -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -In some instances, deploying a Terraform component can take a long time. While -``_login`` now makes sure that there are four hours left on the current -credentials, it can't do that if you don't call it before such an operation. -Note that ``_select`` also calls ``_login``. The following is a list of -operations which you should expect to take an hour or longer: - -- the first time deploying any component - -- deploying a plan that creates or replaces an Elasticsearch domain - -- deploying a plan that involves ACM certificates - -- deploying a ``shared`` component after modifying - ``azul_docker_images`` in ``environment.py``, especially on a slow uplink - -To make things worse, if the credentials expire while Terraform is updating -resources, it will not be able to write the partially updated state back to the -shared bucket. A subsequent retry will therefore likely report conflicts due to -already existing resources. The rememdy is to import those existing resources -into the Terraform state using ``terraform import``. - -Push errors -^^^^^^^^^^^ - -If an error occurs when pushing to the develop branch, ensure that the branch -you would like to merge in is rebased on develop and has completed its CI -pipeline. If there is only one approval (from the primary reviewer) an operator -may approve a PR that does not belong to them. If the PR has no approvals (for -example, it belongs to the primary reviewer), the operator may approve the PR -and seek out another team member to perform the second needed review. When -making such a pro-forma review, indicate this within the review summary -(`example`_). - -.. _example: https://github.com/DataBiosphere/azul/pull/2646#pullrequestreview-572818767 - -PR Closed automatically and can't be reopened -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -This can happen when a PR is chained on another PR and the base PR is merged and -its branch deleted. To solve this, first restore the base PR branch. The -operator should have a copy of the branch locally that they can push. If not, -then the PR's original author should. - -Once the base branch is restored, the ``Reopen PR`` button should again be -clickable on the chained PR. - -Integration test time out -^^^^^^^^^^^^^^^^^^^^^^^^^ - -This can happen on the rare occasion that the IT's random selection of bundles -happens to pick predominantly large bundles that need to be partitioned before -they can be indexed. This process can divide bundles into partitions, and divide -partitions into sub-partitions, since technically bundles are partitions with an -empty prefix. - -In the AWS console, run the CloudWatch Insights query below with the indexer log -groups selected to see how many divisions have occurred:: - - fields @timestamp, @log, @message - | filter @message like 'Dividing partition' - | parse 'Dividing partition * of bundle *, version *, with * entities into * sub-partitions.' as partition, bundle, version, enities, subpartitions - | display partition, bundle, version, enities, subpartitions - | stats count(@requestId) as total_count by bundle, partition - | sort total_count desc - | sort @timestamp desc - | limit 1000 - -Note that when bundles are being partitioned, errors of exceeded rate & quota -limits should be expected:: - - [ERROR] TransportError: TransportError(429, '429 Too Many Requests /azul_v2_prod_dcp17-it_cell_suspensions/_search') - - [ERROR] Forbidden: 403 GET https://bigquery.googleapis.com/bigquery/v2/projects/...: Quota exceeded: Your project:XXXXXXXXXXXX exceeded quota for tabledata.list bytes per second per project. For more information, see https://cloud.google.com/bigquery/docs/troubleshoot-quotas - - -Follow these steps to retry the IT job: - -#. Cancel the ongoing IT job (if in progress) - -#. Comment on `issue #4299`_ with a link to the failed job - -#. Purge the queues:: - - python scripts/manage_queues.py purge_all - -#. Rerun the IT job - -.. _`issue #4299`: https://github.com/DataBiosphere/azul/issues/4299 - -GitHub bot account ------------------- - -Continuous integration environments (GitLab, Travis) may need a GitHub token to -access GitHub's API. To avoid using a personal access token tied to any -particular developer's account, we created a Google Group called -``azul-group@ucsc.edu`` of which Hannes is the owner. We then used that group -email to register a bot account in GitHub. Apparently that's ok: - - User accounts are intended for humans, but you can give one to a robot, such as a continuous integration bot, if necessary. - - (https://docs.github.com/en/github/getting-started-with-github/types-of-github-accounts#personal-user-accounts) - -Only Hannes knows the GitHub password of the bot account but any member of the -group can request the password to be reset. All members will receive the -password reset email. Hannes knows the 2FA recovery codes. - -Handing over operator duties ----------------------------- - -#. Old operator must finish any merges in progress. The sandbox should be empty. - The new operator should inherit a clean slate. This should be done before the - first working day of the new operator's shift. - -#. Old operator must re-assign `all tickets in the approved column`_ to the new - operator. - -#. Old operator must re-assign expected indexing failure tickets to the new - operator, along with ticket that tracks operator duties. - -#. New operator must request the necessary permissions, as specified in `Getting - started as operator`_. - -.. _all tickets in the approved column: https://github.com/DataBiosphere/azul/pulls?q=is%3Apr+is%3Aopen+reviewed-by%3Ahannes-ucsc+review%3Aapproved diff --git a/UPGRADING.rst b/UPGRADING.rst deleted file mode 100644 index 1a58d375be..0000000000 --- a/UPGRADING.rst +++ /dev/null @@ -1,3004 +0,0 @@ -Upgrading ---------- - -.. |deprecated| raw:: html - - - -.. |end_deprecated| raw:: html - - - - -This file documents any upgrade procedure that must be performed. Because we -don't use a semantic version, a change that requires explicit steps to upgrade a -is referenced by its Github issue number. After checking out a branch that -contains a commit resolving an issue listed here, the steps listed underneath -the issue need to be performed. When switching away from that branch, to a -branch that does not have the listed changes, the steps would need to be -reverted. This is all fairly informal and loosely defined. Hopefully we won't -have too many entries in this file. - - -#6779 Switch ES domain to OpenSearch 2.19 -========================================= - -Operator --------- - -Before pushing the PR branch to GitLab ``dev`` or ``anvildev``, confirm with -team mates on Slack that all personal deployments sharing a domain with the -respective sandbox deployment are idle. - -Before pushing these changes to any GitLab instance, the null_resource that -manages the cluster settings resource must be tainted. For some reason, -Terraform does not trigger an update to it even though the domain resources it -depends on is recreated:: - - cd azul - . environment - _select … - _login - make -C lambdas indexer service - cd terraform - make config - terraform taint null_resource.cluster_settings - -If the deployment is a sandbox, both ``make`` invocations need to be prefix with -``CI_COMMIT_REF_NAME=develop ``. - -The ``deploy`` job on GitLab will fail due to a ResourceAlreadyExistsException -for the OpenSearch domain. This exception is raised because this PR changes the -Terraform resource type from the deprecated ``aws_elasticsearch_domain`` to the -recommended ``aws_opensearch_domain`` without changing the Terraform resource -name. Terraform does not realize that it can't create one resource while -destroying the other. Retrying the job will eventually succeed. - -Once the deploy job succeeds for ``sandbox`` or ``anvilbox``, notify all team -members to incorporate these changes into their branches and redeploy any -personal deployments that share a domain with these deployments. The changes can -be incorporated by rebasing a branch on this PRs branch, or by rebasing it on -develop once these changes land there a few hours later. - - -#7076 Populate schema property in info objects -============================================== - -Operator --------- -Empty out the mirror bucket of any shared deployment prior to running the build -for a commit that introduces these changes to that deployment. - -Everyone else -------------- - -Empty out your personal deployments' mirror buckets. - - -#6516 HCA schemas for descriptor lacks drs_uri property -======================================================= - -Using the sandbox deployment's ``environment.py`` as a model, remove from your -personal deployment's ``environment.py`` the sources removed from the ``dcp3`` -and ``lm2`` catalogs. - - -#6754 Managed access flag is missing from AnVIL deployments -=========================================================== - -Using the sandbox deployment's ``environment.py`` as a model, remove the ``ma`` -flag and related logic from your personal deployment's ``environment.py``. - - -#5736 Update to Python 3.12.x -============================= - -Update Python on your developer machines to version 3.12.7. In your working -copy, run ``make virtualenv`` and ``make requirements envhook``. - - -#6531 Eliminate RepositoryPlugin.list_partitions -================================================ - -The subgraph counts of indexed sources are no longer tracked in the source tree. -For each of your personal deployments, in ``environment.py``: update the -``mksrc`` function, remove the ``subgraphs`` parameter from all of its call -sites, update the ``prefix`` parameter where is passed, and remove any functions -used to construct prefixes, e.g. ``common_prefix()``. Be careful to preserve any -flags such as ``ma`` or ``pop``. As always, use the sandbox deployment's -``environment.py`` as a model when upgrading personal deployments. - - -#6570 Upgrade dependencies 2024-09-16 -===================================== - -Update Python on your developer machines to version 3.11.10. In your working -copy, run ``make virtualenv`` and ``make requirements envhook``. - - -#6355 Explicitly configure source type in environment files -=========================================================== - -The ``mksrc`` function in ``environment.py`` has been updated. For each of your -personal deployments, update the function and insert the string ``'biqguery'`` -as its first argument at all call sites. As always, use the sandbox deployment's -``environment.py`` as a model when upgrading personal deployments. - - -#6446 Base image of Azul image is not pinned to digest -====================================================== - -Developers on the operator roster -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Install `Skopeo`_. No additional configuration is required. Version 1.15.3 was -tested extensively with these changes. Since then version 1.16.0 was released -and limited testing suggests that it works as well. - -.. _Skopeo: https://github.com/containers/skopeo - - -#6468 Upgrade dependencies 2024-08-05 -===================================== - -Everyone -~~~~~~~~ - -Update Terraform on your developer machines to version 1.9.4. - - -#6426 Clean-up and generalize TDR source specs -============================================== - -The "snapshot/" string has been removed from TDR source specs, and the ``type`` -and ``domain`` fields have been added. - -Update the ``mksrc`` function in ``environment.py`` for each of your personal -deployments. As always, use the sandbox deployment's ``environment.py`` as a -model when upgrading personal deployments. - - -#6432 Upgrade dependencies 2024-07-22 -===================================== - -Everyone -~~~~~~~~ - -Update Terraform on your developer machines to version 1.9.3. - - -#6381 Update Terraform to 1.9.x -=============================== - -Everyone -~~~~~~~~ - -Update Terraform on your developer machines to version 1.9.2. - - -#6239 Promotions fail in hammerbox with dirty requirements -========================================================== - -Remove the variable ``AZUL_IS_SANDBOX`` from all personal deployments. - - -#4655 All bucket names should default to qualified_bucket_name() -================================================================ - -Check the value of ``AZUL_S3_BUCKET`` in every personal deployments. If the -value is either - -``edu-ucsc-gi-platform-anvil-dev-storage-{AZUL_DEPLOYMENT_STAGE}.{AWS_DEFAULT_REGION}`` - -or - -``edu-ucsc-gi-platform-hca-dev-storage-{AZUL_DEPLOYMENT_STAGE}.{AWS_DEFAULT_REGION}`` - -remove the variable from ``environment.py`` for that deployment and redeploy. -Otherwise, consult with the system administrator. - - -#6218 Delete hammerbox ES domain -================================ - -Operator -~~~~~~~~ - -Due to an open issue with the `Terraform provider opensearch`_, the ``deploy`` -job will fail on ``hammerbox`` when building the feature branch. After this -occurs, run the following commands:: - - _select hammerbox - cd $project_root/terraform - terraform state rm opensearch_cluster_settings.index - -Then, retry the ``deploy`` job on GitLab. It should now succeed. - -.. _Terraform provider opensearch: https://github.com/opensearch-project/terraform-provider-opensearch/issues/60 - - -DataBiosphere/azul-private#6 data-browser: Content Security Policy (CSP) Not Implemented -======================================================================================== - -The new environment variable ``AZUL_TERRA_SERVICE_URL`` has been added. As -always, use the sandbox deployment's ``environment.py`` as a model when -upgrading personal deployments. - - -DataBiosphere/azul-private#133 Disable split tunneling for GitLab VPN in prod and anvilprod -=========================================================================================== - -This change requires an update to your existing VPN connections for `prod` and -`anvilprod`. - -Run the following commands:: - - _select prod.gitlab # or anvilprod.gitlab - cd terraform/gitlab/vpn - make config > ~/azul-gitlab-prod.ovpn # or azul-gitlab-anvilprod.ovpn - -Then, remove the existing VPN connection and import the generated `.ovpn` file -to recreate it. Finally, delete the `.ovpn` file to prevent proliferation of the -private key. - - -#6046 Fix: VPC CIDR in ``anvildev`` is wrong -============================================ - -Operator -~~~~~~~~ - -Before deploying ``anvildev.gitlab`` ask team members to checkout ``develop`` -and to run the following commands in every one of their personal deployments -collocated with ``anvildev``:: - - _select … - make deploy - cd terraform - terraform plan -out destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan -destroy -target={aws_lambda_function.{indexer{,{_aggregate,_contribute}{,_retry},_indexercachehealth},service{,_manifest,_servicecachehealth}},aws_security_group.{indexer,service}} - terraform apply destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan - -This will destroy the VPC-dependent resources in their deployment, and should -allow for the destruction of the VPC in the next step. Ask team members to -confirm the completion of this step. After receiving confirmation from every -team member, checkout the PR branch and run the following commands:: - - _select anvilbox - CI_COMMIT_REF_NAME=develop make deploy - cd terraform - terraform plan -out destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan -destroy -target={aws_security_group.{elasticsearch,indexer,service},aws_elasticsearch_domain.index} - terraform apply destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan - cd .. - -Among the resources the above command destroys is the Elasticsearch domain that -hosts the indices for the ``anvilbox`` deployment and any personal deployments -sharing the domain with the ``anvilbox`` deployment. - -Repeat this for ``anvildev``. - -Deploy the ``gitlab`` component:: - - _select anvildev.gitlab - CI_COMMIT_REF_NAME=develop make -C terraform/gitlab - -This will destroy and recreate many more resources. It will most likely fail at -some point, either because of a missing dependency declaration in our TF config -or a bug in the Terraform AWS provider or in Terraform core. Manually delete any -resource mentioned in any error messages and retry the command. Once the command -completes successfully, ensure that the GitLab web application is functional. - -After successfully deploying the ``gitlab`` component, continue with the PR -checklist. Once the sandbox build succeeds, ask team members to checkout -``develop`` and to run the following commands in every one of their personal -deployments collocated with ``anvildev``:: - - _select … - make deploy - make reindex - -This will recreate their VPC-dependent resources previously destroyed and -repopulate their indices on the ``anvilbox`` domain. - -Complete the PR checklist. - - -#6047 Fix: VPC CIDR in ``anvilprod`` is wrong -============================================= - -Operator -~~~~~~~~ - -Before deploying ``anvilprod.gitlab`` ask team members to checkout ``develop`` -and to run the following commands in every one of their personal deployments -collocated with ``anvilprod``:: - - _select … - make deploy - cd terraform - terraform plan -out destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan -destroy -target={aws_lambda_function.{indexer{,{_aggregate,_contribute}{,_retry},_indexercachehealth},service{,_manifest,_servicecachehealth}},aws_security_group.{indexer,service}} - terraform apply destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan - -This will destroy the VPC-dependent resources in their deployment, and should -allow for the destruction of the VPC in the next step. Ask team members to -confirm the completion of this step. After receiving confirmation from every -team member, checkout the PR branch and run the following commands:: - - _select hammerbox - CI_COMMIT_REF_NAME=develop make deploy - cd terraform - terraform plan -out destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan -destroy -target={aws_security_group.{elasticsearch,indexer,service},aws_elasticsearch_domain.index} - terraform apply destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan - cd .. - -Among the resources the above command destroys is the Elasticsearch domain that -hosts the indices for the ``hammerbox`` deployment and any personal deployments -sharing the domain with the ``hammerbox`` deployment. - -Repeat this for ``anvilprod``. - -Deploy the ``gitlab`` component:: - - _select anvilprod.gitlab - CI_COMMIT_REF_NAME=develop make -C terraform/gitlab - -This will destroy and recreate many more resources. It will most likely fail at -some point, either because of a missing dependency declaration in our TF config -or a bug in the Terraform AWS provider or in Terraform core. Manually delete any -resource mentioned in any error messages and retry the command. Once the command -completes successfully, ensure that the GitLab web application is functional. - -After successfully deploying the ``gitlab`` component, continue with the PR -checklist. Once the sandbox build succeeds, ask team members to checkout -``develop`` and to run the following commands in every one of their personal -deployments collocated with ``anvilprod``:: - - _select … - make deploy - make reindex - -This will recreate their VPC-dependent resources previously destroyed and -repopulate their indices on the ``hammerbox`` domain. - -Complete the PR checklist. - - -#6048 Fix: VPC CIDR in ``prod`` is wrong -======================================== - -Operator -~~~~~~~~ - -Checkout the PR branch and run the following commands:: - - _select prod - CI_COMMIT_REF_NAME=prod make deploy - cd terraform - terraform plan -out destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan -destroy -target={aws_security_group.{elasticsearch,indexer,service},aws_elasticsearch_domain.index} - terraform apply destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan - cd .. - -Deploy the ``gitlab`` component:: - - _select prod.gitlab - CI_COMMIT_REF_NAME=prod make -C terraform/gitlab - -This will destroy and recreate many resources. It will most likely fail at some -point, either because of a missing dependency declaration in our TF config or a -bug in the Terraform AWS provider or in Terraform core. Manually delete any -resource mentioned in any error messages and retry the command. Once the command -completes successfully, ensure that the GitLab web application is functional. - -After successfully deploying the ``gitlab`` component, complete the PR -checklist. - - -#6045 Fix: VPC CIDR in ``dev`` is wrong -======================================= - -Operator -~~~~~~~~ - -Before deploying ``dev.gitlab`` ask team members to checkout ``develop`` and to -run the following commands in every one of their personal deployments collocated -with ``dev``:: - - _select … - make deploy - cd terraform - terraform plan -out destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan -destroy -target={aws_lambda_function.{indexer{,{_aggregate,_contribute}{,_retry},_indexercachehealth},service{,_manifest,_servicecachehealth}},aws_security_group.{indexer,service}} - terraform apply destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan - -This will destroy the VPC-dependent resources in their deployment, and should -allow for the destruction of the VPC in the next step. Ask team members to -confirm the completion of this step. After receiving confirmation from every -team member, checkout the PR branch and run the following commands:: - - _select sandbox - CI_COMMIT_REF_NAME=develop make deploy - cd terraform - terraform plan -out destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan -destroy -target={aws_security_group.{elasticsearch,indexer,service},aws_elasticsearch_domain.index} - terraform apply destroy_${AZUL_DEPLOYMENT_STAGE}.tfplan - cd .. - -Among the resources the above command destroys is the Elasticsearch domain that -hosts the indices for the ``sandbox`` deployment and any personal deployments -sharing the domain with the ``sandbox`` deployment. - -Repeat this for `dev`. - -Deploy the ``gitlab`` component:: - - _select dev.gitlab - CI_COMMIT_REF_NAME=develop make -C terraform/gitlab - -This will destroy and recreate many more resources. It will most likely fail at -some point, either because of a missing dependency declaration in our TF config -or a bug in the Terraform AWS provider or in Terraform core. Manually delete any -resource mentioned in any error messages and retry the command. Once the command -completes successfully, ensure that the GitLab web application is functional. - -After successfully deploying the ``gitlab`` component, continue with the PR -checklist. Once the sandbox build succeeds, ask team members to checkout -``develop`` and to run the following commands in every one of their personal -deployments collocated with ``dev``:: - - _select … - make deploy - make reindex - -This will recreate their VPC-dependent resources previously destroyed and -repopulate their indices on the ``sandbox`` domain. - -Complete the PR checklist. - - -#5964 SSM Agent in GitLab lacks sufficient permissions in its role -================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5984 AWS event GetMacieSession results in AccessDenied error again -=================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5970 Upgrade dependencies 2024-02-19 -===================================== - -Operator -~~~~~~~~ - -Manually perform a two-phase deployment of the ``shared`` component of every -main deployment. Perform the first phase using the ``apply_keep_unused`` -Makefile target for the lower deployments after pushing the squashed and rebased -PR branch to GitHub. In a stable deployment (``prod``), perform the first phase -before pushing the merge commit to the GitLab instance in that deployment. In -lower and stable deployments, perform the second phase using the ``apply`` -Makefile target after the merge commit was successfully built on the GitLab -instance in that deployment. - -Deploy the ``gitlab`` component of any main deployment just after pushing the PR -branch to GitHub. Run ``make -C terraform/gitlab/runner`` just before pushing -the merge commit to the GitLab instance in that deployment. - - -#3895 Setup CloudWatch alarm for ClamAV notifications -===================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` and ``gitlab`` components of any main deployment -just before pushing the merge commit to the GitLab instance in that deployment. - - -#5975 Upgrade ES domain for Hammerbox -===================================== - -Update the ``ES_INSTANCE_COUNT`` environment variable for any personal -deployments that are co-located with ``hammerbox``, using that deployment's -``environment.py`` as a template. - - -#5876 Upgrade dependencies 2024-02-05 -===================================== - -Everyone -~~~~~~~~ - -Update Python on your developer machines to version 3.11.8. In your working -copy, run ``make virtualenv`` and ``make requirements envhook``. - -Operator -~~~~~~~~ - -Manually perform a two-phase deployment of the ``shared`` component of every -main deployment. Perform the first phase using the ``apply_keep_unused`` -Makefile target for the lower deployments after pushing the squashed and rebased -PR branch to GitHub. In a stable deployment (``prod``), perform the first phase -before pushing the merge commit to the GitLab instance in that deployment. In -lower and stable deployments, perform the second phase using the ``apply`` -Makefile target after the merge commit was successfully built on the GitLab -instance in that deployment. - -Deploy the ``gitlab`` component of any main deployment just after pushing the PR -branch to GitHub. Run ``make -C terraform/gitlab/runner`` just before pushing -the merge commit to the GitLab instance in that deployment. - - -#5728 Many stale images in gitlab-dind and GitLab registry -========================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4593 Refer to Docker images by repository digest -================================================= - -Operator -~~~~~~~~ - -Manually perform a two-phase deployment of the ``shared`` component of every -main deployment. Perform the first phase using the ``apply_keep_unused`` -Makefile target for the lower deployments after pushing the squashed and rebased -PR branch to GitHub. In a stable deployment (``prod``), perform the first phase -before pushing the merge commit to the GitLab instance in that deployment. In -lower and stable deployments, perform the second phase using the ``apply`` -Makefile target after the merge commit was successfully built on the GitLab -instance in that deployment. - - -#5467 Lambda servicecachehealth times out -========================================= - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5876 Upgrade dependencies 2024-01-22 -===================================== - -Everyone -~~~~~~~~ - -Update Terraform on your developer machines to version 1.6.6. - -Operator -~~~~~~~~ - -Manually perform a two-phase deployment of the ``shared`` component of every -main deployment. Perform the first phase using the ``apply_keep_unused`` -Makefile target for the lower deployments after pushing the squashed and rebased -PR branch to GitHub. In a stable deployment (``prod``), perform the first phase -before pushing the merge commit to the GitLab instance in that deployment. In -lower and stable deployments, perform the second phase using the ``apply`` -Makefile target after the merge commit was successfully built on the GitLab -instance in that deployment. - -Deploy the ``gitlab`` component of any main deployment just after pushing the PR -branch to GitHub. Run ``make -C terraform/gitlab/runner`` just before pushing -the merge commit to the GitLab instance in that deployment. - - -#5779 AWS event GetMacieSession results in AccessDenied error -============================================================= - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5809 Concurrently running GitLab test jobs occasionally time out -================================================================= - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5738 Suppress Inspector findings for images not used within boundary -===================================================================== - -Operator -~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5848 Dummy S3 lifecycle rule has auto-generated name -===================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the PR branch to the GitLab instance in that deployment. - - -#5847 Subgraph stitching query crashes BQ emulator -================================================== - -Operator -~~~~~~~~ - -Manually perform a two-phase deployment of the ``shared`` component of every -main deployment. In a lower deployment, perform the first phase using the -``apply_keep_unused`` Makefile target just before pushing the PR branch to the -GitLab instance in that deployment. In a stable deployment (``prod``), perform -the first phase before pushing the merge commit to the GitLab instance in that -deployment. In lower and stable deployments, perform the second phase using the -``apply`` Makefile target after the merge commit was successfully built on the -GitLab instance in that deployment. - - -#5687 Update Terraform to 1.6.x -=============================== - -Everyone -~~~~~~~~ - -Update Terraform on your developer machines to version 1.6.5. - - -#5046 Replace tinyquery with bigquery-emulator -============================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the PR branch to the GitLab instance in that deployment. - - -#5772 Upgrade dependencies 2023-12-11 -===================================== - -Everyone -~~~~~~~~ - -Update Python on your developer machines to version 3.11.7. In your working -copy, run ``make virtualenv`` and ``make requirements envhook``. - -Operator -~~~~~~~~ - -Before pushing the PR branch to the ``sandbox``, ``anvilbox``, or ``hammerbox`` -deployments, manually deploy the ``shared`` component of the corresponding main -deployment. If the PR fails during testing and is not merged, roll back the -changes made to the main deployments by deploying the ``shared`` component from -the ``develop`` branch. - -When deploying to ``prod``, manually deploy ``prod.shared`` just before -pushing the merge commit to the GitLab instance. - -Deploy the ``gitlab`` component of any main deployment, and run -``make -C terraform/gitlab/runner``, just before pushing the merge commit to -the GitLab instance in that deployment. - - -#5728 Many stale images in gitlab-dind and GitLab registry -========================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5723 Upgrade dependencies 2023-11-27 -===================================== - -Everyone -~~~~~~~~ - -Update Python on your developer machines to version 3.11.6. In your working -copy, run ``make virtualenv`` and ``make requirements envhook``. - -Update Terraform on your developer machines to version 1.3.10. - -Operator -~~~~~~~~ - -Before pushing the PR branch to the ``sandbox``, ``anvilbox``, or ``hammerbox`` -deployments, manually deploy the ``shared`` component of the corresponding main -deployment. If the PR fails during testing and is not merged, roll back the -changes made to the main deployments by deploying the ``shared`` component from -the ``develop`` branch. - -When deploying to ``prod``, manually deploy ``prod.shared`` just before -pushing the merge commit to the GitLab instance. - -Deploy the ``gitlab`` component of any main deployment, and run -``make -C terraform/gitlab/runner``, just before pushing the merge commit to -the GitLab instance in that deployment. - - - -#5536 Timebox DRS requests -========================== - -The AZUL_TERRA_TIMEOUT environment variable should be removed from any -``environment.py`` files for personal deployments that define it (uncommon). - - -#5703 Consolidate dependency updates into single bi-weekly issue -================================================================ - -Operator -~~~~~~~~ - -Run ``make -C terraform/gitlab/runner`` with the ``gitlab`` component of every -main deployment selected just before pushing the PR branch to the GitLab -instance in that deployment. If the PR has to be sent back, checkout ``develop`` -and run that command again in all deployments where it was run with the PR -branch checked out. - -Deploy the ``shared`` component of any main deployment just before pushing the -PR branch to the GitLab instance in that deployment. Do so with the PR branch -checked out. You will need to use the ``CI_COMMIT_REF_NAME=develop`` override -for that. Notify team members that their local development work will be impacted -until they rebase their branches to the PR branch or until this PR is merged and -they rebase their branches onto ``develop``. If the PR has to be sent back, -checkout ``develop`` and deploy the ``shared`` component again in any deployment -where it was deployed with the PR branch checked out, and notify the developers -to rebase their branches on ``develop`` again. - -Deploy the ``gitlab`` component of any main deployment just before pushing the -merge commit to the GitLab instance in that deployment. - - -#5561 Explicitly set no lifecycle rule in TF for buckets without one -==================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5617 False positive AWS Inspector findings after GitLab deploy -=============================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5612 AWS Inspector fails to post findings to SNS topic -======================================================= - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -DataBiosphere/azul-private#110 Reduce predictability of manifest keys -===================================================================== - -Operator -~~~~~~~~ - -Before pushing the PR branch to the ``sandbox``, ``anvilbox``, or ``hammerbox`` -deployments, manually deploy the ``gitlab`` component of the corresponding main -deployment. You will likely need assistance from the system administrator -because this particular change modifies the boundary policy. If the PR fails -during testing and is not merged, roll back the changes made to the main -deployments by deploying the ``gitlab`` component from the ``develop`` branch. - -When deploying to ``prod``, manually deploy ``prod.gitlab`` just before -pushing the merge commit to the GitLab instance. - - -#4982 Update to Python 3.11.x -============================= - -Everyone -~~~~~~~~ - -Update Python on your developer machines to version 3.11.5. In your working -copy, run ``make virtualenv`` and ``make requirements envhook``. - -Operator -~~~~~~~~ - -Before pushing the PR branch to the ``sandbox``, ``anvilbox``, or ``hammerbox`` -deployments, manually deploy the ``shared`` component of the corresponding main -deployment. If the PR fails during testing and is not merged, roll back the -changes made to the main deployments by deploying the ``shared`` component from -the ``develop`` branch. - -When deploying to ``prod``, manually deploy ``prod.gitlab`` just before -pushing the merge commit to the GitLab instance. - -#5518 GitLab updates cause false positive insufficient_data alarms -================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment, just before -pushing the merge commit to the GitLab instance in that deployment. - - -DataBiosphere/azul-private#108 Resolve vulnerabilities in docker image -====================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` & ``gitlab`` components (in that order) of any -main deployment, and with the ``gitlab`` component selected, run ``make -C -terraform/gitlab/runner`` just before pushing the merge commit to the GitLab -instance in that deployment. - - -DataBiosphere/azul-private#103 Resolve vulnerabilities in azul-pycharm -====================================================================== - -Operator -~~~~~~~~ - -Before pushing the PR branch to the ``sandbox``, ``anvilbox``, or ``hammerbox`` -deployments, manually deploy the ``shared`` component of the corresponding main -deployment. If the PR fails during testing and is not merged, roll back the -changes made to the main deployments by deploying the ``shared`` component from -the ``develop`` branch. - -When deploying to ``prod``, manually deploy ``prod.gitlab`` just before -pushing the merge commit to the GitLab instance. - - -DataBiosphere/azul-private#93 Resolve vulnerabilities in azul-elasticsearch -=========================================================================== - -Operator -~~~~~~~~ - -Before pushing the PR branch to the ``sandbox``, ``anvilbox``, or ``hammerbox`` -deployments, manually deploy the ``shared`` component of the corresponding main -deployment. If the PR fails during testing and is not merged, roll back the -changes made to the main deployments by deploying the ``shared`` component from -the ``develop`` branch. - -When deploying to ``prod``, manually deploy ``prod.shared`` just before -pushing the merge commit to the GitLab instance. - - -DataBiosphere/azul-private#94 Resolve vulnerabilities in azul-pycharm -===================================================================== - -Operator -~~~~~~~~ - -Before pushing the PR branch to the ``sandbox``, ``anvilbox``, or ``hammerbox`` -deployments, manually deploy the ``shared`` component of the corresponding main -deployment. If the PR fails during testing and is not merged, roll back the -changes made to the main deployments by deploying the ``shared`` component from -the ``develop`` branch. - -When deploying to ``prod``, manually deploy ``prod.gitlab`` just before -pushing the merge commit to the GitLab instance. - - -#5301 Alarm on detection of new vulnerabilities by Inspector -============================================================ - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` and ``gitlab`` component (in that order) of any -main deployment just before pushing the merge commit to the GitLab instance in -that deployment. - - -#5518 GitLab updates cause false positive insufficient_data alarms -================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment, just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5552 Increase retention of non-current object versions in shared bucket -======================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -DataBiosphere/azul-private#15 Insecure Transportation Security Protocol Supported (TLS 1.0) -=========================================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment, just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5189 Delete unused Docker images from ECR -========================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. Retain a -terminal transcript for each deployment so that the author can diagnose any -issues that may come up. - - -#4468 Logs by different containers are hard to distinguish -========================================================== - -Manually deploy the ``gitlab`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5408 Prepare for vacation -========================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment, just before -pushing the merge commit to the GitLab instance in that deployment. Only the -``prod.gitlab`` deployment should actually have a non-empty plan. - - -DataBiosphere/azul-private#95 Resolve vulnerabilities in AMI for GitLab -======================================================================= - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment, just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5301 Alarm on detection of new vulnerabilities by Inspector -============================================================ - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5363 Noisy alarm from EC2 for CreateNetworkInterface during initial deploy -=========================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5408 Prepare for vacation -========================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment, just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5139 CloudWatch metrics and alarms for GitLab EC2 instance -=========================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment, just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5155 Update AnVIL catalogs in `anvilprod` with replacement snapshots -===================================================================== - -Update the snapshots for any personal deployments that share an Elasticsearch -domain with ``hammerbox``, using that deployment's ``environment.py`` as a -template. - - -#5413 Make anvildev and anvilbox public -======================================= - -Operator -~~~~~~~~ - -The ``deploy`` job will fail for ``anvildev`` when building the merge commit on -the ``develop`` branch. It may also fail for ``anvilbox`` when building the feature -branch. The expected failure produces the following output:: - - ╷ - │ Error: updating REST API (1yxdxpa3db): BadRequestException: Cannot update endpoint from PRIVATE to EDGE - │ - │ with aws_api_gateway_rest_api.indexer, - │ on api_gateway.tf.json line 862, in resource[6].aws_api_gateway_rest_api[0].indexer: - │ 862: } - │ - ╵ - ╷ - │ Error: updating REST API (pmmwi1i8la): BadRequestException: Cannot update endpoint from PRIVATE to EDGE - │ - │ with aws_api_gateway_rest_api.service, - │ on api_gateway.tf.json line 1467, in resource[24].aws_api_gateway_rest_api[0].service: - │ 1467: } - │ - ╵ - -To work around this, check out the respective branch and perform the commands -below. If you have the feature branch checked out, you will need to prefix the -``make`` invocations with ``CI_COMMIT_REF_NAME=develop``. :: - - make lambdas - cd terraform - make validate - terraform taint aws_api_gateway_rest_api.indexer - terraform taint aws_api_gateway_rest_api.service - -Retry the ``deploy`` job on GitLab. It should succeed now. If the subsequent -``integration_test`` job fails with 403 or 503 errors returned by the service or -indexer, simply retry it. It appears that the edge distribution process in AWS -is subject to several minutes of latency aka eventual consistency. - - -#5292 Update/harden docker.elastic.co/elasticsearch/elasticsearch -================================================================= - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5407 False positive for unauthorized alarm from MandoService -============================================================= - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5298 Keep docker Docker images updated -======================================= - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` & ``gitlab`` components (in that order) of any -main deployment, and with the ``gitlab`` component selected, run ``make -C -terraform/gitlab/runner`` just before pushing the merge commit to the GitLab -instance in that deployment. - - -#5400 Make anvilprod public -=========================== - -Operator -~~~~~~~~ - -The ``deploy`` job will fail for ``anvilprod`` when building the merge commit on -the ``develop`` branch. It may also fail for ``hammerbox`` when building the feature -branch. The expected failure produces the following output:: - - ╷ - │ Error: updating REST API (1yxdxpa3db): BadRequestException: Cannot update endpoint from PRIVATE to EDGE - │ - │ with aws_api_gateway_rest_api.indexer, - │ on api_gateway.tf.json line 862, in resource[6].aws_api_gateway_rest_api[0].indexer: - │ 862: } - │ - ╵ - ╷ - │ Error: updating REST API (pmmwi1i8la): BadRequestException: Cannot update endpoint from PRIVATE to EDGE - │ - │ with aws_api_gateway_rest_api.service, - │ on api_gateway.tf.json line 1467, in resource[24].aws_api_gateway_rest_api[0].service: - │ 1467: } - │ - ╵ - -To work around this, check out the respective branch perform the commands below. -If you have the feature branch checked out, you will need to prefix the ``make`` -invocations with ``CI_COMMIT_REF_NAME=develop``. :: - - make lambdas - cd terraform - make validate - terraform taint aws_api_gateway_rest_api.indexer - terraform taint aws_api_gateway_rest_api.service - -Retry the ``deploy`` job on GitLab. It should succeed now. If the subsequent -``integration_test`` job fails with 403 or 503 errors returned by the service or -indexer, simply retry it. It appears that the edge distribution process in AWS -is subject to several minutes of latency aka eventual consistency. - - -#5189 Delete unused Docker images from ECR -========================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5291 Suppress unauthorized alarms for visiting Inspector console -================================================================= - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5299 Keep Python updated -========================= - -Everyone -~~~~~~~~ - -Update Python on your developer machines to version 3.9.17. - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5289 Fix: _select doesn't validate its argument -================================================ - -Set the environment variable ``azul_google_user`` in all deployments to your -``…@ucsc.edu`` email address. The easiest way to do that is in an -``environment.local.py`` at the project root. - -Many of the shell functions defined in ``environment`` have been renamed. To -avoid stale copies of these functions lingering around under their old names, -exit all shells in which you sourced that file. - - -#5325 Exclude noisy events from api_unauthorized alarm -====================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5280 Enable FIPS mode on GitLab instance -========================================= - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment, just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5283: Swap anvilprod and anvildev -================================== - -Update any personal deployments you own in AWS account ``platform-anvil-dev`` to -mirror the configuration of the ``anvilbox`` deployment. Specifically, you will -need to update the list of sources for the ``anvil`` catalog and the TDR and SAM -endpoints. You will also need to ask the system administrator to move the Terra -group memebership of the indexer service account of any such personal deployment -from ``azul-anvil-prod`` in Terra production to ``azul-anvil-dev`` in TDR -development. Redeploy and reindex those deployments after updating their -configuration. - -All indices in the Elasticsearch domains for ``anvildev`` and ``anvilbox`` have -been deleted, including the indices of personal deployments that share an -Elasticsearch domain with ``anvilbox``, regardless of whether these indices -contained managed-access or public snapshots. In order to recover from the loss -of these indices in your personal deployment, you will need to reindex that -deployment. - - -#5260 Fix: Inconsistent bucket names and CloudFront origin IDs in anvildev -========================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of the ``anvildev`` deployment just -before pushing the merge commit to the GitLab instance in that deployment. When -the ``deploy_browser`` job of the ``deploy`` stage fails on GitLab, manually -empty and delete the S3 buckets ``anvil.explorer.gi.ucsc.edu`` and -``anvil.gi.ucsc.edu`` in ``platform-anvil-dev`` . Retry the job. - - -#5226 Sporadic DNS resolution errors on GitLab -============================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5232 Fix: Operators should have SSH access to anvildev and anvilprod -===================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment, except -``prod``, just before pushing the merge commit to the GitLab instance in that -deployment. - - -#5015 Prepare platform-anvil-prod for compliance assessment -=========================================================== - -Everyone -~~~~~~~~ - -Update Python on your developer machines to version 3.9.16. - -Create a `personal access token`_ on every GitLab instance you have access to -and specify that token as the value of the ``azul_gitlab_access_token`` in your -``environment.local.py`` for the main deployment collocated with that instance. -See the documentation of that variable in the top-level ``environment.py`` for -the set of scopes (permissions) to be assigned to the token. Refresh the -environment and run ``_preauth``. - -.. _personal access token: https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html - -Operator -~~~~~~~~ - -Follow the steps for everyone listed above. - -Just before pushing the feature branch to a GitLab instance, locally merge the -feature branch into ``develop`` — without pushing the resultimg merge commit — -and deploy the merge commit to the ``shared`` & ``gitlab`` components (in that -order) of the main deployment for that GitLab instance. When the PR cannot be -merged for any reason, undo the merge locally by resetting the ``develop`` -branch to the prior commit and manually deploy the ``develop`` branch to -``shared`` & ``gitlab`` components (in that order) of the main deployment for -that GitLab instance. - -If deploying the ``gitlab`` component results in an ``OptInRequired`` error, -login to the AWS Console using credentials for the AWS account that contains the -GitLab instance and visit the URL that is included in the error message. This -will enable the required AWS Marketplace subscription for the CIS-hardened -image. - -With the ``gitlab`` component selected, run ``make -C terraform/gitlab/runner``. - -#3894 Send GitLab host logs to CloudWatch -========================================= - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5207 Fix: Partition sizing ignores supplementary bundles -========================================================= - -Subgraph counts have been updated for `anvildev` and `anvilbox`. If you have any -personal deployments that index these snapshots, update the subgraph counts -accordingly. - - -#4022 Encrypt GitLab data and root volume and snapshots -======================================================= - -Operator -~~~~~~~~ - -Prior to pushing the merge commit to a GitLab instance, login to the AWS -Console and navigate to `EC2` -> `Instances` -> select the GitLab instance -> -`Storage` to confirm that root volume is encrypted. - -If the root volume is not encrypted, manually deploy the ``gitlab`` component of -a deployment just before pushing the merge commit to the GitLab instance in that -deployment. - - -#5043 S3 server access logs are inherently incomplete -===================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5133 Trigger an alarm on absence of logs -========================================= - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5110 Update GitLab IAM policy for FedRAMP inventory -==================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4218 Configure WAF with rules -============================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment immediately -before the first time this change is pushed to the GitLab instance for that -main deployment, regardless of whether the changes come as part of a feature -branch, a merge commit or in a promotion. - - -#3911 Disallow ``||`` joiners in metadata -========================================= - -A new catalog ``dcp3`` has been added to ``dev`` and ``sandbox`` deployments. -Add the ``dcp3`` catalog to your personal deployments using the sandbox -deployment's ``environment.py`` as a model. - - -#5116 Enable NIST 800.53 conformance pack for AWS Config -======================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4713 S3 Block Public Access setting should be enabled -====================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#5071 s3_access_log_bucket_policy includes redundant condition on source account -================================================================================ - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4960 S3 server access logging for shared bucket -================================================ - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4189 Scan GitLab EC2 instance with Amazon Inspector -==================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment just *before* -pushing the merge commit to the GitLab instance in that deployment. The -Terraform code that enables Amazon Inspector is currently unreliable. Check -the Amazon Inspector console to see if it is enabled. If you see a *Get -started …* button, it is not, and you need to repeat this step. - - -#5019 Index public & mock-MA snapshots in anvilprod -=================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment just *before* -pushing the merge commit to the GitLab instance in that deployment. - - -#3634 Automate creation of a FedRAMP Integrated Inventory Workbook -================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment just *before* -pushing the merge commit to the GitLab instance in that deployment. - -Afterwards, edit the existing schedule in the Azul project on that GitLab -instance. Its description is ``Sell unused BigQuery slot commitments``. You may -need to ask a system administrator to perform make these changes on your behalf. - -1) Set the Cron timezone to ``Pacific Time (US & Canada)`` - -2) Set the variable ``azul_gitlab_schedule`` to ``sell_unused_slots`` - - -Add another schedule: - -1) Set the description to ``Prepare FedRAMP inventory`` - -2) Set the interval pattern to ``0 4 * * *`` - -3) Set the Cron timezone to ``Pacific Time (US & Canada)`` - -4) Set the variable ``azul_gitlab_schedule`` to ``fedramp_inventory`` - - -#5004 Enable access logging on AWS Config bucket -================================================ - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4176 Enable VPC flow logs -========================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` and ``shared`` components of any main deployment -just before pushing the merge commit to the GitLab instance in that deployment. - - -#4918 Rename shared (aka versioned aka config) bucket (PR 2 of 2) -================================================================= - -This change removes the old shared (aka versioned aka config) bucket and -switches all deployments to the replacement. - -Everyone -~~~~~~~~ - -When requested by the operator, remove the ``AZUL_VERSIONED_BUCKET`` variable -from all of your personal deployments, then deploy this change to all of them. -Notify the operator when done. - -Operator -~~~~~~~~ - -1. After pushing the merge commit for this change to ``develop`` on GitHub, - request that team members upgrade their personal deployments. Request that - team members report back when done. - -2. Manually deploy the ``gitlab`` component of any main deployment just *before* - pushing the merge commit to the GitLab instance in that deployment. - -3. Manually deploy the ``shared`` component of any main deployment just *after* - this change was deployed to all collocated deployments, both personal and - shared ones. - -Promote this change separately from the previous one, and when promoting it, -follow steps 2 and 3 above. - - -#4918 Rename shared (aka versioned aka config) bucket (PR 1 of 2) -================================================================= - -This change creates the new bucket with the correct name, sets up replication -between the old and the new bucket so that future object versions are copied, -and runs a batch migration of prior and current objects versions. The next PR -will actually switch all deployments to using the new bucket. - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4966 Chatbot role policy is too restrictive and causes persistent alarms -========================================================================= - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4958 Storage bucket is still being removed from TF state -========================================================= - -Everyone -~~~~~~~~ - -PR #4926 for issue #4646 left in place code to remove the S3 storage bucket -from the Terraform state. We'll refer to the changes from that PR as *broken* -and the changes for #4958 described here as *this fix*. The broken upgrading -instructions have been deprecated. When you follow these instructions, be -sure you have this fix checked out, or a commit that includes it. - -There are three possible cases to consider when upgrading a deployment. Pick -the one applicable to the deployment being upgraded and only follow the steps -listed under that case: - -Case A: - If you have already deployed the broken changes once, and have not yet - attempted to deploy again, verify that :: - - (cd terraform && make init && terraform state show aws_s3_bucket.storage) - - produces output that includes the following lines:: - - # aws_s3_bucket.storage: - resource "aws_s3_bucket" "storage" { - - Then deploy this fix. - -Case B: - If you have already deployed the broken changes, and then attempted to - deploy them again, the affected deployment needs to be repaired. A symptom - of the breakage is that the command :: - - (cd terraform && make init && terraform state show aws_s3_bucket.storage) - - fails with the message *No instance found for the given address*. - - To repair the deployment, run :: - - (cd terraform && make validate && terraform import aws_s3_bucket.storage $AZUL_S3_BUCKET) - - Then deploy this fix. Afterwards, confirm that :: - - (cd terraform && make init && terraform state show aws_s3_bucket.storage) - - produces no error but instead output that includes the following lines:: - - # aws_s3_bucket.storage: - resource "aws_s3_bucket" "storage" { - -Case C: - If you have *not* yet deployed the broken changes, first run the following - command:: - - (cd terraform && make init && terraform state rm aws_s3_bucket.storage) - - This will cause Terraform to leave the old bucket in place when you - deploy this fix, and create a new one alongside it. - - Next, in personal deployments only, specify a name for the new bucket by - changing the value of ``AZUL_S3_BUCKET`` in ``environment.py`` to :: - - "edu-ucsc-gi-{account}-storage-{AZUL_DEPLOYMENT_STAGE}.{AWS_DEFAULT_REGION}" - - where ``{account}`` is the name of the AWS account hosting the deployment, - e.g., ``"platform-hca-dev"``. As always, use the sandbox deployment's - ``environment.py`` as a model when upgrading personal deployments. - - For main deployments, the update to ``AZUL_S3_BUCKET`` has already been - made. - - Then deploy this fix. **Afterwards, manually delete the old storage bucket - for the deployment.** - - Finally, verify that :: - - (cd terraform && make init && terraform state show aws_s3_bucket.storage) - - produces output that includes the following lines :: - - # aws_s3_bucket.storage: - resource "aws_s3_bucket" "storage" { - -Operator -~~~~~~~~ - -Follow the instructions in case A above for ``sandbox``, ``dev``, -``anvilbox``, and ``anvildev``. As part of the now deprecated upgrading steps -for #4646, the old storage buckets for these deployments should already have -been removed. Confirm that this is still the case. - -Announce for other developers to upgrade their personal deployments. - -When promoting this fix to ``prod``, follow the instructions in case C above. - - -#4646 Rename Azul storage buckets -================================= - -This section has been deprecated. If you've already followed the steps -included here, please read the section for #4958 above. - -|deprecated| - -After these changes are successfully merged to ``develop``, manually delete the -old storage buckets for ``sandbox``, ``dev``, ``anvilbox``, and ``anvildev``. -Then announce for all other developers to follow the instructions in the section -below. - -After these changes are successfully merged to ``prod``, manually delete the old -storage bucket for ``prod``. - -Everyone -~~~~~~~~ - -For each of your personal deployments, change the value of ``AZUL_S3_BUCKET`` in -``environment.py`` to :: - - "edu-ucsc-gi-{account}-storage-{AZUL_DEPLOYMENT_STAGE}.{AWS_DEFAULT_REGION}" - -Where ``{account}`` is the name of the AWS account hosting the deployment, e.g., -``"platform-hca-dev"``. As always, use the sandbox deployment's -``environment.py`` as a model when upgrading personal deployments. - -After the changes are deployed to a given personal deployment, manually delete -the old storage bucket for that deployment. - -|end_deprecated| - - -#4011 Integrate monitoring SNS topic with Slack -=============================================== - -Operator -~~~~~~~~ - -Before pushing a merge commit with these changes to a GitLab instance, `set up -AWS Chatbot <./README.md#313-aws-chatbot-integration-with-slack>`_ in the AWS -account hosting that instance. AWS Chatbot has already been set up in the -``platform-hca-dev`` account. Once AWS Chatbot is set up, manually deploy the -``shared`` component of the main deployment collocated with the GitLab instance -you will be pushing to. - - -#4673 Eliminate burner accounts -=============================== - -Operator -~~~~~~~~ - -Complete the steps in the next section. Then announce on `#team-boardwalk` for -other developers to do the same. - -Everyone -~~~~~~~~ - -When notified by the operator, complete the following steps: - -#. Remove your burner account from the Google Cloud project: - - #. Go to the Google Cloud console, select the `platform-hca-dev` project, - and navigate to ``IAM & Admin`` -> ``IAM`` - - #. Select your burner; it includes the string "…ucsc.edu@gmail.com" - - #. Click ``REMOVE ACCESS`` -> ``CONFIRM`` - -#. Close your burner Google account: - - #. Sign in to Google using your burner email account. Click on the icon with - your burner's name initial (upper right-hand of the page), click the - ``Manage your Google Account`` button, and navigate to ``Data & Privacy`` - - #. At the bottom of the page, under ``More options``, click on the - ``Delete your Google Account`` button. Complete Google's requisites and - terminate your burner account by clicking on ``Delete Account`` - -#. Make sure to register your UCSC account with SAM as `described - <./README.md#234-google-cloud-tdr-and-sam>`_ in the README. - - -#4907 CIS 2.6 (S3 access logging on CloudTrail bucket) still flagged in dev -=========================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``dev.shared`` component just before pushing the merge -commit to GitLab ``dev``. - - -#4880 Alarms for CIS recommendations treat missing data as OK -============================================================= - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4832 Disable original CloudTrail trail -======================================= - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. This -deployment is expected not to change any resources; everything should be handled -by the ``rename_resources`` script. Do not proceed with the deployment if the -plan shows any changes to the resources. - - -#4794 Ensure log metric filters and alarms exist for CIS recommendations -======================================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4807 Move monitoring SNS topic to shared component -=================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``gitlab`` component of any main deployment immediately -before the first time this change is pushed to the GitLab instance for that -main deployment, regardless of whether the changes come as part of a feature -branch, a merge commit or in a promotion. This is to ensure that the GitLab -instance has sufficient permissions to deploy these changes. - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. Expect to -confirm the SNS subscription for each deployment while doing so. - - -#4792 Ensure S3 bucket access logging is enabled on the CloudTrail S3 bucket -============================================================================ - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4831 Move CloudTrail trail to default region -============================================= - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4764 Ensure security contact information is registered -======================================================= - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4692 Ensure IAM password policies have strong configurations -============================================================= - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4793 Create support role to manage incidents with AWS support -============================================================== - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4196 Enable sending of CloudTrail events to CloudWatch logs -============================================================ - -Operator -~~~~~~~~ - -Manually deploy the ``shared`` component of any main deployment just before -pushing the merge commit to the GitLab instance in that deployment. - - -#4224 Eliminate personal service accounts -========================================= - -When this PR lands in the main deployment in a given Google cloud project, the -operator should perform the following steps *in that project*, and then announce -for the other developers to do the same *in that project*. - -#. Delete your personal Google service account: - - #. Go to the Google Cloud console, select the appropriate project, and - navigate to ``IAM & Admin`` -> ``Service Accounts`` - - #. Select your personal service account. This is the one where the part - before the ``@`` symbol exactly matches your email address; it does not - include the string "azul"). - - #. Click ``DISABLE SERVICE ACCOUNT`` -> ``DISABLE``. - - #. Click ``DELETE SERVICE ACCOUNT`` -> ``DELETE``. - -#. Delete the local file containing the private key of the service account that - you deleted during step 1. Such files are usually stored in ``~/.gcp/``. - -#. Remove the ``GOOGLE_APPLICATION_CREDENTIALS`` environment variable from - ``environment.local.py`` for all Azul deployments (including non-personal - deployments) where that variable references the key file that you deleted in - step 2. - -#. For clarity's sake, remove comments referencing the - ``GOOGLE_APPLICATION_CREDENTIALS`` environment variable from - ``environment.py`` for all personal deployments that were changed during step - 3. As always, use the sandbox deployment's ``environment.py`` as a model when - upgrading personal deployments. - - -#4752 On replacement, Terraform creates ES domain before deleting it -==================================================================== - -Note: The ``apply`` and ``auto_apply`` targets in ``terraform/Makefile`` do not -recurse into the sibling ``lambdas`` directory anymore. The only way to get a -proper deployment is to run ``make deploy`` or ``make auto_deploy`` in the -project root. This change speeds up the ``apply`` and ``auto_apply`` targets -for those who know what they are doing™. - -Note: The ``post_deploy`` target is gone. The ``deploy`` target has been renamed -to ``terraform``. The new ``deploy`` target depends on the ``terraform`` target -and invokes the post-deplot scripts directly. The same goes for ``auto_deploy`` -and ``auto_terraform`` respectively. - -Ensure that the ``comm`` utility is installed. The `clean` target in most -Makefiles depends on it. - -This is a complicated change that involves renaming lots of resources, both in -TF config and in state. If a deployment is stale or borked, upgrading to this -change is just going to make things worse. Before upgrading any deployment to -this commit, or more precisely, the merge commit that introduces this change, -first check out the previous merge commit, and deploy while following any -upgrade instructions up to that commit. Then run ``make clean``, check out this -commit and run ``make deploy``. - - -#4688 Fix: Elasticsearch domains should be in a VPC -=================================================== - -Everyone -~~~~~~~~ - -Perform the steps listed below for all personal deployments that don't share an -ES domain with a shared deployment. The deletion of the ES domain will cascade -to many other resources that depend on it. Once the deletion is complete, it is -necessary to re-deploy the missing resources and perform a reindex to repopulate -the newly created ES domain:: - - (cd terraform && make validate && terraform destroy -target aws_elasticsearch_domain.index) - make deploy - make reindex - -Operator -~~~~~~~~ - -Before pushing the PR branch to ``sandbox`` or ``anvilbox``, notify the team -that personal deployments sharing the Elasticsearch domain with that deployment -will lose their indices. - -For any shared deployment, perform the first of the above steps after the -GitLab ``deploy`` job fails in that deployment. Then retry the ``deploy`` job. -When that succeeds, start the ``reindex`` or ``early_reindex`` job. - -When reindexing completes in the ``sandbox`` or ``anvilbox`` deployments, -request that team members re-deploy and reindex all personal deployments that -share the Elasticsearch domain with that deployment. - - -#4334 Upgrade Terraform CLI to 1.3.4 -==================================== - -Before upgrading personal deployments, install Terraform 1.3.4 as `described -<./README.md#21-development-prerequisites>`_ in our README. Then run ``make -deploy``. - - -#4690 Fix: EC2 instances should use Instance Metadata Service Version 2 (IMDSv2) -================================================================================ - -Operator -~~~~~~~~ - -The steps below have already been performed on ``anvildev.gitlab``, but need to -be run for ``dev.gitlab`` and ``prod.gitlab``, run:: - - _select dev.gitlab - make -C terraform/gitlab - - -#4691 Fix: S3 Block Public Access setting should be enabled at the bucket-level -=============================================================================== - -This change blocks public access for all S3 buckets in the shared component and -in all deployments. - -Everyone -~~~~~~~~ - -Run `make deploy` to update personal deployments as soon as your are notified on -Slack by the operator. - -Operator -~~~~~~~~ - -Follow these steps to deploy for ``dev.shared``, ``anvildev.shared``, and -``prod.shared``:: - - _select dev.shared - make -C $project_root/terraform/shared apply - - -#4625 Disable URL shortener -=========================== - -Everyone -~~~~~~~~ - -In personal deployments, remove ``AZUL_URL_REDIRECT_BASE_DOMAIN_NAME`` and -``AZUL_URL_REDIRECT_FULL_DOMAIN_NAME``. As always, use the sandbox deployment's -``environment.py`` as a model when upgrading personal deployments. - -Operator -~~~~~~~~ - -After this change lands in ``dev``, follow these instructions for the AWS -account ``platform-hca-dev``: - -#. Ask everyone to upgrade their personal deployments in that account. - -#. In the AWS console, navigate to *Route53 service* → *Hosted zones*. - -#. Open the hosted zone ``dev.url.singlecell.gi.ucsc.edu`` and check for - records of type ``CNAME``. If there are any, contact the owner of the - corresponding deployment. Their deployment wasn't upgraded properly. As a - last resort, remove the CNAME record. If there are records for the - ``sandbox`` or ``dev`` deployments, contact the lead. Ultimately, there - should only be SOA and NS records left. - -#. Delete the hosted zone ``dev.url.singlecell.gi.ucsc.edu``. - -#. Delete the hosted zone ``url.singlecell.gi.ucsc.edu``. - -#. In the ``singlecell.gi.ucsc.edu`` zone, delete the record for - ``url.singlecell.gi.ucsc.edu``. - -After this change lands in ``anvildev``, follow these instructions for the AWS -account ``platform-anvil-dev``: - -#. Ask everyone to bring their personal deployments in that account - up to date with ``develop``. - -#. In the AWS console, navigate to *Route53 service* → *Hosted zones*. - -#. Select ``anvil.gi.ucsc.edu`` and check for records beginning with ``url.``. - If there are any, contact the owner of the corresponding deployment. Their - deployment wasn't upgraded properly. If there are records for the - ``anvilbox`` or ``anvildev`` deployments, contact the lead. As a last - resort, remove the record. - -After completing the above two sections, ask the lead to deploy the -``dev.gitlab``, and ``anvildev.gitlab`` components. Nothing needs to be done -for ``prod.gitlab``. - -After this change lands in ``prod``, follow these instructions for AWS account -``platform-hca-prod``: - -#. In the AWS console, navigate to *Route53 service* → *Hosted zones*. - -#. Open the hosted zone ``azul.data.humancellatlas.org`` and check for a - record called ``url.azul.data.humancellatlas.org`` record. There should be - none. If there is, contact the lead. - -#. In the ``data.humancellatlas.org`` zone, delete the record for - ``url.data.humancellatlas.org``. - - - -#4648 Move GitLab ALB access logs to shared bucket -================================================== - -A new bucket in the ``shared`` component will reveived the GitLab ALB access -logs previously hosted in a dedicated bucket in the ``gitlab`` component. The -steps below have already been performed on ``dev`` and ``anvildev`` but need to -be run for ``prod`` before pushing the merge commit:: - - _select prod.shared - cd terraform/shared - make - cd ../gitlab - _select prod.gitlab - make - -This will fail to destroy the non-empty bucket. Move the contents of the old -bucket to the new one:: - - aws s3 sync s3://edu-ucsc-gi-singlecell-azul-gitlab-prod-us-east-1/logs/alb s3://edu-ucsc-gi-platform-hca-prod-logs.us-east-1/alb/access/prod/gitlab/ - aws s3 rm --recursive s3://edu-ucsc-gi-singlecell-azul-gitlab-prod-us-east-1/logs/alb - make - -If this fails with an error message about a non-empty state for an orphaned -bucket resource, the following will fix that:: - - terraform state rm aws_s3_bucket.gitlab - make - - -#4174 Enable GuardDuty and SecurityHub -====================================== - -This change enables the AWS Config, GuardDuty, and SecurityHub services, -deployed as part of the ``shared`` Terraform component. Prior to deploy, the -operator must ensure these services are currently not active and disable/remove -any that are. Use the AWS CLI's _list_ and _describe_ functionality to obtain -the status of each service, and the CLI's _delete_ and _disable_ functionality -to remove the ones that are active :: - - _select dev.shared - - aws configservice describe-configuration-recorders - aws configservice delete-configuration-recorder --configuration-recorder-name - - aws configservice describe-delivery-channels - aws configservice delete-delivery-channel --delivery-channel-name - - aws guardduty list-detectors - aws guardduty delete-detector --detector-id - - aws securityhub get-enabled-standards - aws securityhub batch-disable-standards --standards-subscription-arns - - aws securityhub describe-hub - aws securityhub disable-security-hub - -After ensuring the services are disabled, follow these steps to deploy for the -``dev.shared``, ``anvildev.shared``, and ``prod.shared`` deployments :: - - _select dev.shared - cd $project_root/terraform/shared - make apply - - -#4190 Create SNS topic for monitoring and security notifications -================================================================ - -A new environment variable called ``AZUL_MONITORING_EMAIL`` has been added. In -personal deployments, set this variable to ``'{AZUL_OWNER}'``. As always, use -the sandbox deployment's ``environment.py`` as a model when upgrading personal -deployments. - -Note: The SNS topic and email subscription will only be created for deployments -that have ``AZUL_ENABLE_MONITORING`` enabled, which is typically the case in -main deployments only. - -**IMPORTANT**: The SNS topic subscription will be created with a status of -"pending confirmation". Instead of simply clicking the link in the "Subscription -Confirmation" email, you should follow the instructions given during the -``make deploy`` process to confirm the subscription. - - -#4122 Create AnVIL deployments of Azul and Data Browser -======================================================= - -Everyone -~~~~~~~~ - -In personal deployments dedicated to AnVIL, set ``AZUL_BILLING`` to ``'anvil'``, -set it to ``'hca'`` in all other personal deployments. - -In personal deployments, set ``AZUL_VERSIONED_BUCKET`` and ``AZUL_S3_BUCKET`` to -the same value as in the ``sandbox`` deployment. - -In personal deployments, remove ``AZUL_URL_REDIRECT_FULL_DOMAIN_NAME`` if its -value is (``'{AZUL_DEPLOYMENT_STAGE}.{AZUL_URL_REDIRECT_BASE_DOMAIN_NAME}'``. - -In ``environment.py`` for personal deployments, initialize the ``is_sandbox`` -variable to ``False``, replacing the dynamic initializer, and copy the -definition of the ``AZUL_IS_SANDBOX`` environment variable from sandbox' -``environment.py``. This will make it easier in the future to synchronize your -deployments' ``environment.py`` with that of the sandbox. - -Operator -~~~~~~~~ - -Run :: - - _select dev.shared # or prod.shared - cd terraform/shared - make validate - terraform import aws_s3_bucket.versioned $AZUL_VERSIONED_BUCKET - terraform import aws_s3_bucket_versioning.versioned $AZUL_VERSIONED_BUCKET - terraform import aws_s3_bucket_lifecycle_configuration.versioned $AZUL_VERSIONED_BUCKET - terraform import aws_api_gateway_account.shared api-gateway-account - terraform import aws_iam_role.api_gateway azul-api_gateway - -Repeat for ``shared.prod``. - -Redeploy the ``shared.dev`, ``gitlab.dev``, ``shared.prod`, and ``gitlab.prod`` -components to apply the needed changes to any resources. - - -#4224 Index ENCODE snapshot as PoC -================================== - -Replace ``'tdr'`` with ``'tdr_hca'`` in the repository plugin configuration for -the ``AZUL_CATALOGS`` variable in your personal deployments. As always, use the -sandbox deployment's ``environment.py`` as a model when upgrading personal -deployments. - - -#4197 Manage CloudTrail trail in 'shared' TF component -====================================================== - -This change adds a ``shared`` terraform component to allow Terraform to manage -the existing CloudTrail resources on `develop` and `prod`. To import these -resources into Terraform, the operator must run the following steps after the -change has been merged into the respective branches. - -For `develop` :: - - git checkout develop - _select dev.shared - cd $project_root/terraform/shared - make config - terraform import aws_s3_bucket.cloudtrail_shared "edu-ucsc-gi-platform-hca-dev-cloudtrail" - terraform import aws_s3_bucket_policy.cloudtrail_shared "edu-ucsc-gi-platform-hca-dev-cloudtrail" - aws cloudtrail delete-trail --name Default - make apply - -For `prod` :: - - git checkout prod - _select prod.shared - cd $project_root/terraform/shared - make config - terraform import aws_s3_bucket.cloudtrail_shared "edu-ucsc-gi-platform-hca-prod-cloudtrail" - terraform import aws_s3_bucket_policy.cloudtrail_shared "edu-ucsc-gi-platform-hca-prod-cloudtrail" - aws cloudtrail delete-trail --name platform-hca-cloudtrail - make apply - - -#4001 Put API Gateway behind GitLab VPC -======================================= - -A new configuration variable has been added, ``AZUL_PRIVATE_API``. Set this -variable's value to ``1`` to place the deployment's API Gateway in the -GitLab VPC, thus requiring use of a VPN connection to access to the deployment. - -Note that when changing the variable's value from ``0`` to ``1`` or vice versa, -the deployment must first be destroyed (``make -C terraform destroy``), and -``AZUL_DEPLOYMENT_INCARNATION`` incremented before the change can be deployed. -Refer to the `Private API` section of the README for more information. - - -#4170 Update Python to 3.9.x -============================ - -Update your local Python installation to 3.9.12. In your working copy, run -``make virtualenv`` and ``make requirements envhook``. - -Reconcile the import section in your personal deployments' ``environment.py`` -with that in the sandbox's copy of that file. Some of the imports from the -``typing`` module have been removed or replaced with imports from other modules, -like ``collections.abc``. - - -#3530 Remove AZUL_PARTITION_PREFIX_LENGTH -========================================= - -The environment variable ``AZUL_PARTITION_PREFIX_LENGTH`` has been removed. -Ensure that all configured sources specify their own partition prefix length. -As always, use the sandbox deployment's ``environment.py`` as a model when -upgrading personal deployments. - - -#4048 Remove JsonObject -======================= - -Run ``make clean`` to remove any left-over unpacked wheel distributions. - -Run ``pip uninstall jsonobject`` to deinstall JsonObject. If that gives you -trouble, run :: - - deactivate ; make virtualenv && source .venv/bin/activate && make requirements envhook - -instead. - - -#3073 Move parsing of prefix to SourceSpec -========================================== - -The ``AZUL_DSS_ENDPOINT`` environment variable has been replaced with -``AZUL_DSS_SOURCE``. If a deployment needs to be updated, refer to the root -``environment.py`` file for the updated EBNF syntax. - - -#3605 Place GitLab behind VPN -============================= - -Follow the instructions in the README on `requesting VPN access to GitLab`_ for -both ``dev.gitlab`` and ``prod.gitlab``. - -.. _requesting VPN access to GitLab: ./README.md#911-requesting-access - -Upgrade to Terraform 0.12.31 and run ``make deploy`` in every personal -deployment. - - -#3796 Fix: Can't easily override AZUL_DEBUG for all deployments locally -======================================================================= - -This changes the precedence of ``environment.py`` and ``environment.local.py`` -files. Previously, the precedence was as follows (from high to low, with -``dev.gitlab`` selected as an example): - -1) deployments/dev.gitlab/environment.py.local -2) deployments/dev.gitlab/environment.py -3) deployments/dev/environment.py.local -4) deployments/dev/environment.py -5) environment.py.local -6) environment.py - -The new order of precedence is - -1) deployments/dev.gitlab/environment.py.local -2) deployments/dev/environment.py.local -3) environment.py.local -4) deployments/dev.gitlab/environment.py -5) deployments/dev/environment.py -6) environment.py - -Before this change, it wasn't possible to override, say, ``AZUL_DEBUG`` for all -deployments using a ``environment.py.local`` in the project root because the -setting of that variable in ``deployments/*/environment.py`` would have taken -precedence. One would have had to specify an override in every -``deployments/*/environment.local.py``. - -You may need to adjust your personal deployment's ``environment.py`` file -and/or any ``environment.local.py`` you may have created. - - -#3006 Upgrade to ElasticSearch 7.10 -=================================== - -This will destroy and recreate the ES domain for all main deployments, including -``sandbox`` which hosts the ES indices for typical personal deployments. If your -personal deployment shares the ES instance with the ``sandbox`` deployment, you -will need to run ``make reindex`` to repopulate your indices on the new ES -domain. In the uncommon case that your personal deployment uses its own ES -domain, update ``AZUL_ES_INSTANCE_TYPE`` and ``AZUL_ES_VOLUME_SIZE`` to be -consistent with what the ``sandbox`` deployment uses. Then run ``make deploy`` -and ``make reindex``. - -For main deployments, the operator needs to manually delete the deployement's -existing Elasticsearch domain before initiating the GitLab build. - - -#3561 Fix: Listing bundles for a snapshot gives zero bundles -============================================================ - -The definition of the ``mksrc`` function and the source configuration for the -``dcp2`` catalog have been updated. As always, use the sandbox deployment's -``environment.py`` as a model when upgrading personal deployments. - - -#3113 IT catalog names are inconsistent -======================================= - -The format of IT catalog name has been updated. IT catalog names are composed by -appending ``-it`` to the end of a primary catalog name. (e.g. dcp2, dcp2-it). -The regular expression that validates an IT catalog name can be found at -``azul.Config.Catalog._it_catalog_re``. As always, use the sandbox deployment's -``environment.py`` as a model when upgrading personal deployments. - - -#3515 Reduce number of shards for IT catalogs -============================================= - -The configuration will take effect in the next IT run after deleting the old -indices. To delete them run:: - - python scripts/reindex.py --catalogs it it2 --delete --index - - -#3439 Upgrade Python runtime to 3.8.12 -====================================== - -Update Python to 3.8.12 - - -#3552 Index updated snapshot into dcp2 on dev -============================================= - -A snapshot was updated in ``dcp2_sources``. As always, use the sandbox -deployment's ``environment.py`` as a model when upgrading personal deployments. - - -#3114 Define sources within catalog JSON -======================================== - -The ``AZUL_TDR_SOURCES`` and ``AZUL_…_SOURCES`` environment variables have been -removed. Sources must be defined within the catalog configuration as a list of -sources. As always, use the sandbox deployment's ``environment.py`` as a model -when upgrading personal deployments. - - -HumanCellAtlas/dcp2#17 TDR dev dataset is stale -=============================================== - -Before upgrading to this commit, run:: - - python scripts/reindex.py --delete --catalogs dcp2ebi it2ebi lungmap it3lungmap - - -#3196 Cover can_bundle.py in integration tests -============================================== - -Follow instructions in section 2.3.1 of the README. - - -#3448 Make BQ slot location configurable -======================================== - -A new configuration variable has been added, ``AZUL_TDR_SOURCE_LOCATION``. -Set the variable to the storage location of the snapshots the deployment is -configured to index. Concurrently indexing snapshots with inconsistent locations -is no longer supported. As always, use the sandbox deployment's -``environment.py`` as a model when upgrading personal deployments. - - -#2750 Add partition_prefix_length to sources -============================================ - -The syntax of the ``AZUL_TDR_SOURCES`` and ``AZUL_TDR_…_SOURCES`` environment -variables was modified to include a partition prefix length. To specify a -partition prefix length within a source, append a slash delimiter ``/`` followed -by a partition length (e.g., ``/2``) to the source entry in the -deployment's ``environment.py`` . If the partition prefix length is not -specified in one of the above variables, the default value from -``AZUL_PARTITION_PREFIX_LENGTH`` will be used. -As always, use the sandbox deployment's ``environment.py`` as a template. - - -#2865 Allow catalog.internal to be configurable -=============================================== - -The definition of the ``AZUL_CATALOGS`` environment variable now requires -the ``internal`` property. All IT catalogs must have the ``internal`` property -set to ``True``, while for non-IT catalogs it must be set to ``False``. As -always, use the sandbox deployment's ``environment.py`` as a model when -upgrading personal deployments. - - -#2495 Convert AZUL_CATALOGS to JSON -=================================== - -The definition of the ``AZUL_CATALOGS`` environment variable has been changed to -contain a JSON string. Personal deployments must be upgraded to reflect this -change in format. For details, refer to the specification within the -``environment.py`` file in the project root. As always, use the sandbox -deployment's ``environment.py`` as a model when upgrading personal deployments. - - -#3137 Increase lambda concurrency and BigQuery slots in prod -============================================================ - -If you set the variable `AZUL_INDEXER_CONCURRENCY` in your personal deployment, -replace the setting with two separate settings for -`AZUL_CONTRIBUTION_CONCURRENCY` and `AZUL_AGGREGATION_CONCURRENCY`. Also note -that you can now set different concurrencies for the retry lambdas. - - -#3080 Provision separate OAuth Client IDs for lower deployments -================================================================ - -1. Follow the instructions in section 3.2.2 of the README. For step 8, replace - the previously configured Client ID with the one you just created in your - `environment.py` file. - -2. From the hca-dev Google Cloud console, navigate to *APIs & Services* -> - *Credentials* - -3. Select the `azul-dev` Client ID and click the pencil icon to edit - -4. Delete the URL's corresponding to your deployment under - *Authorized JavaScript origins* and *Authorized redirect URIs* - -5. CLick *SAVE* - -6. `_refresh` - - -#2978 Use public snapshots for unauthenticated service requests -=============================================================== - -A second Google service account, ``AZUL_GOOGLE_SERVICE_ACCOUNT_PUBLIC``, has -been added and needs to be registered and authorized with SAM. Run `_refresh` -and `make deploy` to create the service account and register it with SAM. - -You can obtain the full email address of the public service account by running: -:: - - python3 -c 'from azul.terra import TDRClient; print(TDRClient.with_public_service_account_credentials().credentials.service_account_email)' - -This email must then be manually added to the group `azul-public-dev` by a team -member with administrator access (currently Hannes or Noah). - - -#2951 Add OAuth 2.0 authentication and log user IDs (#2951) -=========================================================== - -Follow the instructions in section 3.2.2 of the README - - -#2650 Add prefix to sources -=========================== - -Remove the ``azul_dss_query_prefix`` variable from any ``environment.py`` -files for personal deployments in which ``AZUL_DSS_ENDPOINT`` is set to -``None``. For personal deployments in which that is not the case, rename the -variable to ``AZUL_DSS_QUERY_PREFIX``. - -The syntax of ``AZUL_TDR_SOURCES`` and ``AZUL_TDR_…_SOURCES`` environment -variables was modified to include a UUID prefix. To upgrade a -deployment, append every source entry in the deployment's ``environment.py`` -with a colon delimiter ``:`` followed by a valid hexadecimal prefix e.g., -``:42``. For IT catalogs within a personal deployment set the source prefix to -an empty string. Failure to do so may cause IT errors. As always, use the -sandbox deployment's ``environment.py`` as a template. - - -#2950 Move auth and cart service to attic -========================================= - -1. Before upgrading to this commit, run :: - - source environment - _select foo - (cd terraform && make validate && terraform destroy \ - -target=module.chalice_service.aws_api_gateway_rest_api.rest_api \ - -target=module.chalice_service.aws_api_gateway_deployment.rest_api ) - -2. Upgrade to this commit or a later one and run :: - - _refresh - make deploy - - -#2755 Change AZUL_TDR_SOURCE to AZUL_TDR_SOURCES -================================================ - -Rename ``AZUL_TDR_SOURCE`` to ``AZUL_TDR_SOURCES`` and ``AZUL_TDR_…_SOURCE`` to -``AZUL_TDR_…_SOURCES``. Wrap the value of these entries in ``','.join([…,])``. -Yes, trailing comma after the entry, diverging from our guidelines, but these -entries will soon have multiple items and we want to start minimizing the -diffs from the onset. If you have multiple ``AZUL_TDR_…_SOURCES`` entries of -the same value, consider interpolating a dictionary comprehension to eliminate -the duplication. As always, use the sandbox deployment's ``environment.py`` as -a template. - - -#2399 Reduce portal DB IT concurrency -===================================== - -Reset the integrations portal database to its default state to ensure that no -pollution persists from previous IT failures :: - - python3 scripts/reset_portal_db.py - - -#2066 Add means for determining which catalogs are available -============================================================ - -The syntax of the value of the AZUL_CATALOGS environment variable was modified -to include an atlas name. In the future catalogs from other atlases will be -added, but at the moment all catalogs belong to the HCA atlas. To upgrade a -deployment, prepend every catalog entry in that variable with ``hca:``. - - -#2445 Example deployment is stale -================================= - -This change does not modify any environment variables, it just streamlines -where and how they are set. Personal deployments most resemble the sandbox so it -makes sense to use the sandbox as a template instead of a dedicated example -deployment. - -1. Remove all ``environment.local`` files you may have lying around in your - working copy. This commit removes the ``.gitignore`` rule for them so they - should show up as new files. Before deleting such a file, check if you want - to port any settings from it to the corresponding ``environment.local.py``. - -2. Synchronize ``deployments/sandbox/environment.py`` with the corresponding - file in each of your personal deployments. You want the personal - deployment's file to look structurally the same as the one for the sandbox - while retaining any meaningful differences between your personal - deployment and the sandbox. This will make it easier in the future to keep - your personal deployment up-to date with the sandbox. I used PyCharm's - diff editor for this but you could also copy the sandbox files and apply - any differences as if it were the first time you created the deployment. - -3. Check your ``environment.local.py`` files for redundant or misplaced - variables. Use the corresponding ``.example.environment.local.py`` files as - a guide. - - -#2494 Move lower deployments to ``platform-hca-dev`` -==================================================== - -1. Before upgrading to this commit run :: - - source environment - _select yourname.local - _preauth - ( cd terraform && make validate && terraform destroy \ - -target google_service_account.azul \ - -target google_project_iam_custom_role.azul \ - -target google_project_iam_member.azul ) - -2. Upgrade to this commit or a later one - -3. Make sure that your individual Google account and you burner account are - owners of the Google project ``platform-hca-dev``. Create a personal service - account and obtain its private key. Be sure to set the environment variable - ``GOOGLE_APPLICATION_CREDENTIALS`` to the new key. - -4. Ask to have your burner added as an admin of the ``azul-dev`` SAM group - (`README sections 2.3.2 and 2.3.3`_). - -5. For your personal deployment, set ``GOOGLE_PROJECT`` to ``platform-hca-dev`` - and run :: - - _refresh && _preauth - make package deploy - -6. When that fails to verify TDR access (it should, and the error message will - contain the service account name), add your personal deployment's service - account to the ``azul-dev`` SAM group (`README sections 2.3.2 and 2.3.3`_) - and run ``make deploy`` again. - -.. _README sections 2.3.2 and 2.3.3: ./README.md#232-google-cloud-credentials - - -#2658 Disable DSS plugin in all deployments -=========================================== - -In your personal deployment configuration, - -* Remove any ``AZUL_CATALOGS`` entries that contain ``repository/dss`` - -* Unset any environment variables starting in ``AZUL_DSS_`` - -Use the `sandbox` deployment's configuration as a guide. - - -#2246 Add deployment incarnation counter -======================================== - -See instructions for #2143 below. - - -#2143 Merge service accounts for indexer and service -==================================================== - -1. Before upgrading to this commit, run :: - - source environment - _select foo - _preauth - (cd terraform && make validate && terraform destroy -target=google_service_account.indexer) - - -2. Upgrade to this commit or a later one and run :: - - _refresh - _preauth - make package deploy - -3. If this fails—it should—with - - azul.RequirementError: Google service account - azul-ucsc-0-foo@human-cell-atlas-travis-test.iam.gserviceaccount.com is - not authorized to access the TDR BigQuery tables. Make sure that the SA - is registered with SAM and has been granted repository read access for - datasets and snapshots. - - let someone who can administer the SAM group that controls access to TDR - know of the renamed service account via Slack. The administrator will need - to replace the old service account email with the new one. For example, - ask them to replace - - ``azul-ucsc-indexer-foo@human-cell-atlas-travis-test.iam.gserviceaccount.com`` - - with - - ``azul-ucsc-0-foo@human-cell-atlas-travis-test.iam.gserviceaccount.com`` - -4. Run :: - - make -C terraform sam - - which should now succeed. - - -#2332 Version of pip used by build ignores wheel for gevent -=========================================================== - -Run ``make requirements``. - - -#1921 Incorporate symlink fix from Chalice upstream -=================================================== - -Run ``make requirements``. - - -#2318 Switch dcp2 catalog to optimusb snapshot -============================================== - -Update ``$AZUL_TDR_SOURCE`` in personal deployments. - - -#1764 Adapt /dss/files proxy to work with v2 and TDR -==================================================== - -Run ``make requirements``. - - -#1398 Locust script is stale -============================ - -Run ``pip uninstall locustio && make requirements``. - - -#2313 Fix `make requirements_update` assertion failure -====================================================== - -Run ``make requirements``. - - -#2269 Fix: `make requirements_update` fails in `sed` on macOS -============================================================= - -Run ``make requirements``. - - -#2261 Fix: `make requirements_update` may use stale docker image layer -====================================================================== - -Run ``make requirements``. - - -#2149 Update DCP2 catalog to `hca_ucsc_files___20200909` snapshot -================================================================= - -Change ``AZUL_TDR_SOURCE`` in personal deployments to refer to the snapshot -mentioned in the title above. - - -#2025 Register indexer SA with Broad's SAM during deployment -============================================================ - -This PR introduces two new deployment-specific environment variables, -``AZUL_TDR_SERVICE_URL`` and ``AZUL_SAM_SERVICE_URL``. Copy the settings for -these variables from the example deployment to your personal deployment. - -Service accounts must be registered and authorized with SAM for integration -tests to pass. See `section 3.2.1`_ of the README for registration instructions. - -.. _section 3.2.1: ./README.md#321-tdr-and-sam - - -#2069 Upgrade PyJWT to 1.7.1 -============================ - -The PyJWT dependency has been pinned from v1.6.4 to v1.7.1. Update by doing -`make requirements`. - - -#2112 Upgrade Chalice version to 1.14.0+5 -========================================= - -The Chalice dependency was updated. Run :: - - make requirements - - -#2149 Switch to TDR snapshot hca_dev_20200817_dssPrimaryOnly -============================================================ - -Change ``AZUL_TDR_SOURCE`` in personal deployments to refer to the snapshot -mentioned in the title above. - - -#2071 Separate ES domain for sandbox and personal deployments -============================================================= - -1. Before upgrading to this commit, and for every one of your personal - deployments, run :: - - python scripts/reindex.py --delete --catalogs it1 it2 dcp1 dcp2 - - to delete any indices that deployment may have used on the ``dev`` ES domain. - -2. Upgrade to this commit or a later one. - -3. For each personal deployment: - - a. Configure it to share an ES domain with the sandbox deployment. See - example deployment for details. - - b. Run ``make package`` - - c. Run ``make deploy`` - - d. Run ``make create`` - - e. Run ``make reindex`` - - -#2015 Change DRS URLs to Broad resolver -======================================= - -Rename `AZUL_TDR_TARGET` to `AZUL_TDR_SOURCE` in `environment.py` files for -personal deployments. - - -#2025 Register indexer SA with Broad's SAM during deployment -============================================================ - -This PR introduces two new deployment-specific environment variables, -``AZUL_TDR_SERVICE_URL`` and ``AZUL_SAM_SERVICE_URL``. Copy the settings for -these variables from the sandbox deployment to your personal deployment. - - -#2011 Always provision indexer service account -============================================== - -The indexer service account is provisioned, even if ``AZUL_SUBSCRIBE_TO_DSS`` is -0. Make sure that ``GOOGLE_APPLICATION_CREDENTIALS`` is set in -``environment.local.py`` for all deployments that you use. - - -#1644 Replace `azul_home` with `project_root` -============================================= - -Replace references to ``azul_home`` with ``project_root`` in personal deployment -files (``environment.local.py`` and -``deployments/*.local/environment{,.local}.py``). - - -#1719 Upgrade Elasticsearch version to 6.8 -========================================== - -The personal deployments that share an ES domain with ``dev`` need to be -redeployed and reindexed:: - - make package - make deploy - make reindex - - -#1770 Move `json-object` wheel from lambda packages to layer package -==================================================================== - -Run :: - - rm -r lambdas/service/vendor/jsonobject* lambdas/indexer/vendor/jsonobject* - -To ensure ``json-object`` is only deployed via the dependencies layer. - - -#1673 Ensure Lambda package hash is deterministic -================================================= - -#. If you haven't yet, install Python 3.8. - -#. Recreate your virtual environment:: - - make virtualenv - make requirements - make envhook # if you use PyCharm - -#. If you use PyCharm, update your interpreter settings by going to - ``Settings > Project: azul > Project Interpreter``. From the drop down, - select ``Show All``. Use the minus sign to remove the Python 3.6 entry - at ``azul/.venv/bin/python``. Then use the plus sign to add the newly - generated Python 3.8 interpreter, located at the same path as the one you - just removed. - - -#1645 Rethink template config variable mechanism -================================================ - -The format of environment variable 'AZUL_SUBDOMAIN_TEMPLATE' has been changed -and will need to be updated in personal deployment's 'environment.py' file. - -Change :: - - 'AZUL_SUBDOMAIN_TEMPLATE': '{{lambda_name}}.{AZUL_DEPLOYMENT_STAGE}', - -to :: - - 'AZUL_SUBDOMAIN_TEMPLATE': '*.{AZUL_DEPLOYMENT_STAGE}', - - -#1272 Use Lambda layers to speed up ``make deploy`` -=================================================== - -Upgrading with these changes should work as expected. - -If downgrading, however, you may encounter a Terraform cycle. This can be -resolved by running :: - - cd terraform - make init - terraform destroy -target aws_lambda_layer_version.dependencies_layer - - -#1577 Switch all deployments to DSS ``prod`` -============================================ - -Please switch your personal deployments to point at the production instance of -the DSS. See the example configuration files in ``deployments/.example.local`` -for the necessary configuration changes. - - -#556 Deploying lambdas with Terraform -===================================== - -To deploy lambdas with Terraform you will need to remove the currently deployed -lambda resources using Chalice. Checkout the most recent commit *before* these -changes and run :: - - cd terraform - make init - terraform destroy $(terraform state list | grep aws_api_gateway_base_path_mapping | sed 's/^/-target /') - cd .. - make -C lambdas delete - -If the last command fails with a TooManyRequests error, wait 1min and rerun it. - -Switch back to your branch that includes these changes. Now use Chalice to -generate the new Terraform config. Run :: - - make deploy - -And finally :: - - make terraform - -In the unlikely case that you need to downgrade, perform the steps below. - -Switch to the new branch you want to deploy. Run :: - - cd terraform - rm -r indexer/ service/ - make init - terraform destroy $(terraform state list | grep aws_api_gateway_base_path_mapping | sed 's/^/-target /') - cd .. - make terraform - -This will remove the Lambda resources provisioned by Terraform. Now run :: - - make deploy - -to set up the Lambdas again, and finally :: - - make terraform - -To complete the API Gateway domain mappings, etc. - -Run :: - - make deploy - -a final time to work around a bug with OpenAPI spec generation. - - -#1637 Refactor handling of environment for easier reuse -======================================================= - -1. Run :: - - python scripts/convert_environment.py deployments/foo.local/environment{,.local} - - where ``foo.local`` is the name of your personal deployment. This should - create ``environment.py`` and possibly ``environment.local.py`` with - essentially the same settings, but in Python syntax. - -2. Close the shell, start a new one and activate your venv - -3. Run ``source environment`` - -4. Run ``_select foo.local`` - -5. If you use ``envhook.py`` - - i) Reinstall it :: - - python scripts/envhook.py remove - python scripts/envhook.py install - - ii) Confirm that PyCharm picks up the new files via ``envhook.py`` by starting a Python console inside PyCharm or - running a unit test - - iii) Confirm that running ``python`` from a shell picks up the new files via - ``envhook.py`` - -6. Confirm that ``make deploy`` and ``make terraform`` still work diff --git a/deployments/anvilbox/.example.environment.local.py b/deployments/anvilbox/.example.environment.local.py deleted file mode 120000 index 31145230db..0000000000 --- a/deployments/anvilbox/.example.environment.local.py +++ /dev/null @@ -1 +0,0 @@ -../sandbox/.example.environment.local.py \ No newline at end of file diff --git a/deployments/anvilbox/environment.py b/deployments/anvilbox/environment.py deleted file mode 100644 index 83a5ce909b..0000000000 --- a/deployments/anvilbox/environment.py +++ /dev/null @@ -1,173 +0,0 @@ -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Literal, - Optional, -) - -is_sandbox = True - -pop = 1 # remove snapshot - - -def bqsrc(google_project: str, - snapshot: str, - flags: int = 0, - /, - prefix: str = '' - ) -> tuple[str, str | None]: - assert len(google_project) == 8, google_project - project = 'datarepo-dev-' + google_project - assert not snapshot.startswith('ANVIL_'), snapshot - snapshot = 'ANVIL_' + snapshot - return mksrc('bigquery', project, snapshot, flags, prefix) - - -def mksrc(source_type: Literal['bigquery', 'parquet'], - google_project, - snapshot, - flags: int = 0, - /, - prefix: str = '' - ) -> tuple[str, str | None]: - project = '_'.join(snapshot.split('_')[1:-3]) - assert flags <= pop - source = None if flags & pop else ':'.join([ - 'tdr', - source_type, - 'gcp', - google_project, - snapshot, - prefix - ]) - return project, source - - -def mkdelta(items: list[tuple[str, str]]) -> dict[str, str]: - result = dict(items) - assert len(items) == len(result), 'collisions detected' - assert list(result.keys()) == sorted(result.keys()), 'input not sorted' - return result - - -def mklist(catalog: dict[str, str]) -> list[str]: - return list(filter(None, catalog.values())) - - -def mkdict(previous_catalog: dict[str, str], - num_expected: int, - delta: dict[str, str] - ) -> dict[str, str]: - catalog = previous_catalog | delta - num_actual = len(mklist(catalog)) - assert num_expected == num_actual, (num_expected, num_actual) - return catalog - - -anvil_sources = mkdict({}, 3, mkdelta([ - bqsrc('e53e74aa', '1000G_2019_Dev_20230609_ANV5_202306121732'), - bqsrc('42c70e6a', 'CCDG_Sample_1_20230228_ANV5_202302281520'), - bqsrc('97ad270b', 'CMG_Sample_1_20230225_ANV5_202302281509') -])) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - # Set variables for the `anvilbox` deployment here. The anvilbox is used - # to run integration tests against PRs and to perform CI/CD experiments. - # - # You can use this file as a template for a personal deployment. Look - # for conditionals using the `is_sandbox` variable and adjust the `else` - # branch accordingly. - # - # Only modify this file if you intend to commit those changes. To apply - # a setting that's specific to you AND the deployment, create an - # `environment.local.py` file right next to this one and apply that - # setting there. Settings that are applicable to all environments but - # specific to you go into `environment.local.py` at the project root. - - # When using this file as a template for a personal deployment, replace - # `None` with a short string that is specific to YOU. - # - 'AZUL_DEPLOYMENT_STAGE': 'anvilbox' if is_sandbox else None, - - # This deployment uses a subdomain of the `anvildev` deployment's - # domain. - # - 'AZUL_DOMAIN_NAME': 'anvil.gi.ucsc.edu', - 'AZUL_SUBDOMAIN_TEMPLATE': '*.{AZUL_DEPLOYMENT_STAGE}', - - 'AZUL_CATALOGS': json.dumps({ - f'{catalog}{suffix}': dict(atlas=atlas, - internal=internal, - plugins=dict(metadata=dict(name='anvil'), - repository=dict(name='tdr_anvil')), - sources=list(filter(None, sources.values()))) - for atlas, catalog, sources in [ - ('anvil', 'anvil', anvil_sources), - ] - for suffix, internal in [ - ('', False), - ('-it', True) - ] - }), - - 'AZUL_TDR_SOURCE_LOCATION': 'us-central1', - 'AZUL_TDR_SERVICE_URL': 'https://jade.datarepo-dev.broadinstitute.org', - 'AZUL_SAM_SERVICE_URL': 'https://sam.dsde-dev.broadinstitute.org', - 'AZUL_DUOS_SERVICE_URL': 'https://consent.dsde-dev.broadinstitute.org', - 'AZUL_TERRA_SERVICE_URL': 'https://firecloud-orchestration.dsde-dev.broadinstitute.org', - - **( - { - 'AZUL_ES_INSTANCE_TYPE': 'r6gd.large.search', - 'AZUL_ES_INSTANCE_COUNT': '2', - } if is_sandbox else { - # Personal deployments share an ES domain with `anvilbox` - 'AZUL_SHARE_ES_DOMAIN': '1', - 'AZUL_ES_DOMAIN': 'azul-index-anvilbox', - # Personal deployments use fewer Lambda invocations in parallel. - 'AZUL_CONTRIBUTION_CONCURRENCY': '8', - 'AZUL_AGGREGATION_CONCURRENCY': '8', - } - ), - - 'AZUL_DEBUG': '1', - - 'AZUL_BILLING': 'anvil', - - # When using this file as a template for a personal deployment, change - # `None` to a string containing YOUR email address. - # - 'AZUL_OWNER': 'hannes@ucsc.edu' if is_sandbox else None, - - 'AZUL_MONITORING_EMAIL': '{AZUL_OWNER}', - - 'AZUL_AWS_ACCOUNT_ID': '289950828509', - 'AWS_DEFAULT_REGION': 'us-east-1', - - 'GOOGLE_PROJECT': 'platform-anvil-dev', - - 'AZUL_DEPLOYMENT_INCARNATION': '2', - - 'AZUL_GOOGLE_OAUTH2_CLIENT_ID': '561542988117-cpo2avhomdh6t7fetp91js78cdhm9p47.apps.googleusercontent.com', - } diff --git a/deployments/anvildev.browser/environment.py b/deployments/anvildev.browser/environment.py deleted file mode 100644 index bc4f7ce197..0000000000 --- a/deployments/anvildev.browser/environment.py +++ /dev/null @@ -1,41 +0,0 @@ -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - 'azul_terraform_component': 'browser', - 'azul_browser_sites': json.dumps({ - 'browser': { - 'zone': '{AZUL_DOMAIN_NAME}', - 'domain': '{AZUL_DOMAIN_NAME}', - 'project': 'ucsc/data-browser', - 'branch': 'ucsc/anvil/anvildev', - 'tarball_name': 'anvil', - 'tarball_path': 'out', - 'real_path': '' - } - }) - } diff --git a/deployments/anvildev.gitlab/environment.py b/deployments/anvildev.gitlab/environment.py deleted file mode 100644 index 95178a85a5..0000000000 --- a/deployments/anvildev.gitlab/environment.py +++ /dev/null @@ -1,31 +0,0 @@ -from collections.abc import ( - Mapping, -) -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - 'azul_terraform_component': 'gitlab', - 'azul_vpc_cidr': '172.23.0.0/16', - 'azul_vpn_subnet': '10.44.0.0/16' - } diff --git a/deployments/anvildev.shared/environment.py b/deployments/anvildev.shared/environment.py deleted file mode 120000 index 1a13b702a8..0000000000 --- a/deployments/anvildev.shared/environment.py +++ /dev/null @@ -1 +0,0 @@ -../dev.shared/environment.py \ No newline at end of file diff --git a/deployments/anvildev/.example.environment.local.py b/deployments/anvildev/.example.environment.local.py deleted file mode 120000 index 45b1b10142..0000000000 --- a/deployments/anvildev/.example.environment.local.py +++ /dev/null @@ -1 +0,0 @@ -../dev/.example.environment.local.py \ No newline at end of file diff --git a/deployments/anvildev/environment.py b/deployments/anvildev/environment.py deleted file mode 100644 index 2c33d50286..0000000000 --- a/deployments/anvildev/environment.py +++ /dev/null @@ -1,153 +0,0 @@ -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Literal, - Optional, -) - -pop = 1 # remove snapshot - - -def bqsrc(google_project: str, - snapshot: str, - flags: int = 0, - /, - prefix: str = '' - ) -> tuple[str, str | None]: - assert len(google_project) == 8, google_project - project = 'datarepo-dev-' + google_project - assert not snapshot.startswith('ANVIL_'), snapshot - snapshot = 'ANVIL_' + snapshot - return mksrc('bigquery', project, snapshot, flags, prefix) - - -def mksrc(source_type: Literal['bigquery', 'parquet'], - google_project, - snapshot, - flags: int = 0, - /, - prefix: str = '' - ) -> tuple[str, str | None]: - project = '_'.join(snapshot.split('_')[1:-3]) - assert flags <= pop - source = None if flags & pop else ':'.join([ - 'tdr', - source_type, - 'gcp', - google_project, - snapshot, - prefix - ]) - return project, source - - -def mkdelta(items: list[tuple[str, str]]) -> dict[str, str]: - result = dict(items) - assert len(items) == len(result), 'collisions detected' - assert list(result.keys()) == sorted(result.keys()), 'input not sorted' - return result - - -def mklist(catalog: dict[str, str]) -> list[str]: - return list(filter(None, catalog.values())) - - -def mkdict(previous_catalog: dict[str, str], - num_expected: int, - delta: dict[str, str] - ) -> dict[str, str]: - catalog = previous_catalog | delta - num_actual = len(mklist(catalog)) - assert num_expected == num_actual, (num_expected, num_actual) - return catalog - - -anvil_sources = mkdict({}, 3, mkdelta([ - bqsrc('e53e74aa', '1000G_2019_Dev_20230609_ANV5_202306121732'), - bqsrc('42c70e6a', 'CCDG_Sample_1_20230228_ANV5_202302281520'), - bqsrc('97ad270b', 'CMG_Sample_1_20230225_ANV5_202302281509') -])) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - # Set variables for the `anvildev` (short for AnVIL development) - # deployment here. - # - # Only modify this file if you intend to commit those changes. To apply - # a setting that's specific to you AND the deployment, create an - # `environment.local.py` file right next to this one and apply that - # setting there. Settings that are applicable to all environments but - # specific to you go into `environment.local.py` at the project root. - - 'AZUL_DEPLOYMENT_STAGE': 'anvildev', - - 'AZUL_DOMAIN_NAME': 'anvil.gi.ucsc.edu', - - 'AZUL_CATALOGS': json.dumps({ - f'{catalog}{suffix}': dict(atlas=atlas, - internal=internal, - plugins=dict(metadata=dict(name='anvil'), - repository=dict(name='tdr_anvil')), - sources=list(filter(None, sources.values()))) - for atlas, catalog, sources in [ - ('anvil', 'anvil', anvil_sources), - ] - for suffix, internal in [ - ('', False), - ('-it', True) - ] - }), - - 'AZUL_TDR_SOURCE_LOCATION': 'us-central1', - 'AZUL_TDR_SERVICE_URL': 'https://jade.datarepo-dev.broadinstitute.org', - 'AZUL_SAM_SERVICE_URL': 'https://sam.dsde-dev.broadinstitute.org', - 'AZUL_DUOS_SERVICE_URL': 'https://consent.dsde-dev.broadinstitute.org', - 'AZUL_TERRA_SERVICE_URL': 'https://firecloud-orchestration.dsde-dev.broadinstitute.org', - - 'AZUL_ENABLE_MONITORING': '1', - - 'AZUL_ES_INSTANCE_TYPE': 'r6gd.large.search', - 'AZUL_ES_INSTANCE_COUNT': '2', - - 'AZUL_DEBUG': '1', - - 'AZUL_BILLING': 'anvil', - - 'AZUL_OWNER': 'hannes@ucsc.edu', - - 'AZUL_MONITORING_EMAIL': 'azul-group@ucsc.edu', - - 'AZUL_AWS_ACCOUNT_ID': '289950828509', - 'AWS_DEFAULT_REGION': 'us-east-1', - - 'GOOGLE_PROJECT': 'platform-anvil-dev', - - 'AZUL_DEPLOYMENT_INCARNATION': '2', - - 'AZUL_GOOGLE_OAUTH2_CLIENT_ID': '561542988117-3cv4g8ii9enl2000ra6m02r3ne7bgnth.apps.googleusercontent.com', - - 'azul_slack_integration': json.dumps({ - 'workspace_id': 'T09P9H91S', # ucsc-gi.slack.com - 'channel_id': 'C04K4BQET7G' # #team-boardwalk-anvildev - }), - } diff --git a/deployments/anvilprod.browser/environment.py b/deployments/anvilprod.browser/environment.py deleted file mode 100644 index 221a18df02..0000000000 --- a/deployments/anvilprod.browser/environment.py +++ /dev/null @@ -1,41 +0,0 @@ -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - 'azul_terraform_component': 'browser', - 'azul_browser_sites': json.dumps({ - 'browser': { - 'zone': '{AZUL_DOMAIN_NAME}', - 'domain': '{AZUL_DOMAIN_NAME}', - 'project': 'ucsc/data-browser', - 'branch': 'ucsc/anvil/anvilprod', - 'tarball_name': 'anvil', - 'tarball_path': 'out', - 'real_path': '' - } - }) - } diff --git a/deployments/anvilprod.gitlab/environment.py b/deployments/anvilprod.gitlab/environment.py deleted file mode 100644 index cda3ae93f0..0000000000 --- a/deployments/anvilprod.gitlab/environment.py +++ /dev/null @@ -1,31 +0,0 @@ -from collections.abc import ( - Mapping, -) -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - 'azul_terraform_component': 'gitlab', - 'azul_vpc_cidr': '172.24.0.0/16', - 'azul_vpn_subnet': '10.45.0.0/16' - } diff --git a/deployments/anvilprod.shared/environment.py b/deployments/anvilprod.shared/environment.py deleted file mode 100644 index 58e7438802..0000000000 --- a/deployments/anvilprod.shared/environment.py +++ /dev/null @@ -1,29 +0,0 @@ -from collections.abc import ( - Mapping, -) -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - 'azul_terraform_component': 'shared', - } diff --git a/deployments/anvilprod/.example.environment.local.py b/deployments/anvilprod/.example.environment.local.py deleted file mode 120000 index 4f077d1558..0000000000 --- a/deployments/anvilprod/.example.environment.local.py +++ /dev/null @@ -1 +0,0 @@ -../prod/.example.environment.local.py \ No newline at end of file diff --git a/deployments/anvilprod/environment.py b/deployments/anvilprod/environment.py deleted file mode 100644 index 6766f5a402..0000000000 --- a/deployments/anvilprod/environment.py +++ /dev/null @@ -1,1284 +0,0 @@ -import base64 -import bz2 -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Literal, - Optional, -) - -pop = 1 # remove snapshot - - -def bqsrc(google_project: str, - snapshot: str, - flags: int = 0, - /, - prefix: str = '' - ) -> tuple[str, str | None]: - assert len(google_project) == 8, google_project - project = 'datarepo-' + google_project - # Some snapshots start with AnVIL instead of ANVIL - if not snapshot.upper().startswith('ANVIL_'): - snapshot = 'ANVIL_' + snapshot - return mksrc('bigquery', project, snapshot, flags, prefix) - - -def mksrc(source_type: Literal['bigquery', 'parquet'], - google_project, - snapshot, - flags: int = 0, - /, - prefix: str = '' - ) -> tuple[str, str | None]: - project = '_'.join(snapshot.split('_')[1:-3]) - assert flags <= pop - source = None if flags & pop else ':'.join([ - 'tdr', - source_type, - 'gcp', - google_project, - snapshot, - prefix - ]) - return project, source - - -def mkdelta(items: list[tuple[str, str]]) -> dict[str, str]: - result = dict(items) - assert len(items) == len(result), 'collisions detected' - assert list(result.keys()) == sorted(result.keys()), 'input not sorted' - return result - - -def mklist(catalog: dict[str, str]) -> list[str]: - return list(filter(None, catalog.values())) - - -def mkdict(previous_catalog: dict[str, str], - num_expected: int, - delta: dict[str, str] - ) -> dict[str, str]: - catalog = previous_catalog | delta - num_actual = len(mklist(catalog)) - assert num_expected == num_actual, (num_expected, num_actual) - return catalog - - -anvil_sources = mkdict({}, 11, mkdelta([ - bqsrc('3edb7fb1', '1000G_high_coverage_2019_20230517_ANV5_202305181946'), - bqsrc('db7353fb', 'CMG_UWASH_DS_BAV_IRB_PUB_RD_20230419_ANV5_202304201858'), - bqsrc('3b8ef67a', 'CMG_UWASH_DS_BDIS_20230418_ANV5_202304201958'), - bqsrc('5d27ebfe', 'CMG_UWASH_DS_HFA_20230418_ANV5_202304201932'), - bqsrc('9d1a6e0a', 'CMG_UWASH_DS_NBIA_20230418_ANV5_202304201949'), - bqsrc('3243df15', 'CMG_UWASH_HMB_20230418_ANV5_202304201923'), - bqsrc('50484f86', 'CMG_UWASH_HMB_IRB_20230418_ANV5_202304201915'), - bqsrc('74bd0964', 'CMG_UWash_DS_EP_20230419_ANV5_202304201906'), - bqsrc('e5914f89', 'CMG_UWash_GRU_20230418_ANV5_202304201848'), - bqsrc('97ec5366', 'CMG_UWash_GRU_IRB_20230418_ANV5_202304201940'), - bqsrc('4150bd87', 'GTEx_V8_hg38_20230419_ANV5_202304202007') -])) - -anvil1_sources = mkdict(anvil_sources, 63, mkdelta([ - bqsrc('d53aa186', 'CMG_BROAD_BRAIN_ENGLE_WES_20221102_ANV5_202304241525'), - bqsrc('69b2535a', 'CMG_BROAD_BRAIN_SHERR_WGS_20221102_ANV5_202304241530'), - bqsrc('490be510', 'CMG_BROAD_ORPHAN_SCOTT_WGS_20221102_ANV5_202304241538'), - bqsrc('3b33c41b', 'CMG_Broad_Blood_Gazda_WES_20221117_ANV5_202304241459'), - bqsrc('96df3cea', 'CMG_Broad_Blood_Sankaran_WES_20221117_ANV5_202304241501'), - bqsrc('179ee079', 'CMG_Broad_Blood_Sankaran_WGS_20221117_ANV5_202304241503'), - bqsrc('3dd4d039', 'CMG_Broad_Brain_Gleeson_WES_20221117_ANV5_202304241517'), - bqsrc('c361373f', 'CMG_Broad_Brain_Muntoni_WES_20221102_ANV5_202304241527'), - bqsrc('12ac342c', 'CMG_Broad_Brain_NeuroDev_WES_20221102_ANV5_202304241529'), - bqsrc('d7bfafc6', 'CMG_Broad_Brain_Thaker_WES_20221102_ANV5_202304241531'), - bqsrc('29812b42', 'CMG_Broad_Eye_Pierce_WES_20221205_ANV5_202304242250'), - bqsrc('48134558', 'CMG_Broad_Eye_Pierce_WGS_20221117_ANV5_202304241507'), - bqsrc('36ebaa12', 'CMG_Broad_Heart_PCGC_Tristani_WGS_20221025_ANV5_202304211840'), - bqsrc('f9826139', 'CMG_Broad_Heart_Seidman_WES_20221117_ANV5_202304241504'), - bqsrc('85952af8', 'CMG_Broad_Kidney_Hildebrandt_WES_20230525_ANV5_202305251733'), - bqsrc('ee4ae9a1', 'CMG_Broad_Kidney_Hildebrandt_WGS_20221025_ANV5_202304211844'), - bqsrc('cf168274', 'CMG_Broad_Kidney_Pollak_WES_20221025_ANV5_202304211846'), - bqsrc('4d47ba2c', 'CMG_Broad_Muscle_Beggs_WGS_20221102_ANV5_202304241533'), - bqsrc('82d1271a', 'CMG_Broad_Muscle_Bonnemann_WES_20221117_ANV5_202304241509'), - bqsrc('6be3fb25', 'CMG_Broad_Muscle_Bonnemann_WGS_20221117_ANV5_202304241510'), - bqsrc('b168eb10', 'CMG_Broad_Muscle_KNC_WES_20221116_ANV5_202304242219'), - bqsrc('372244aa', 'CMG_Broad_Muscle_KNC_WGS_20221117_ANV5_202304242221'), - bqsrc('77a6c0aa', 'CMG_Broad_Muscle_Kang_WGS_20221025_ANV5_202304211849'), - bqsrc('736a5f1f', 'CMG_Broad_Muscle_Laing_WES_20221208_ANV5_202304271308'), - bqsrc('5019143b', 'CMG_Broad_Muscle_Myoseq_WES_20230621_ANV5_202306211852'), - bqsrc('27eb651a', 'CMG_Broad_Muscle_Myoseq_WGS_20221208_ANV5_202304271310'), - bqsrc('c087af7a', 'CMG_Broad_Muscle_OGrady_WES_20221205_ANV5_202304242252'), - bqsrc('db987a2e', 'CMG_Broad_Muscle_Ravenscroft_WES_20221208_ANV5_202304271311'), - bqsrc('05df566c', 'CMG_Broad_Muscle_Topf_WES_20221208_ANV5_202304271313'), - bqsrc('87d91f06', 'CMG_Broad_Orphan_Chung_WES_20221102_ANV5_202304241534'), - bqsrc('25f6b696', 'CMG_Broad_Orphan_Estonia_Ounap_WES_20221117_ANV5_202304241512'), - bqsrc('c3b16b41', 'CMG_Broad_Orphan_Estonia_Ounap_WGS_20221205_ANV5_202304242255'), - bqsrc('e2976b05', 'CMG_Broad_Orphan_Jueppner_WES_20221102_ANV5_202304241535'), - bqsrc('32fe2260', 'CMG_Broad_Orphan_Lerner_Ellis_WES_20221102_ANV5_202304241536'), - bqsrc('6f9e574e', 'CMG_Broad_Orphan_Manton_WES_20221117_ANV5_202304241513'), - bqsrc('53cd689b', 'CMG_Broad_Orphan_Manton_WGS_20221117_ANV5_202304241515'), - bqsrc('e7c5babf', 'CMG_Broad_Orphan_Scott_WES_20221025_ANV5_202304241458'), - bqsrc('051877f4', 'CMG_Broad_Orphan_Sweetser_WES_20221102_ANV5_202304241539'), - bqsrc('555c7706', 'CMG_Broad_Orphan_VCGS_White_WES_20221018_ANV5_202304241522'), - bqsrc('3a8f7952', 'CMG_Broad_Orphan_VCGS_White_WGS_20221117_ANV5_202304241523'), - bqsrc('b699c5e3', 'CMG_Broad_Rare_RGP_WES_20221102_ANV5_202304241540'), - bqsrc('2d5bd095', 'CMG_Broad_Stillbirth_Wilkins_Haug_WES_20221102_ANV5_202304241542'), - bqsrc('f3d0eda6', 'CMG_UWash_GRU_20230418_ANV5_202306211828'), - bqsrc('ab5c3fa5', 'CMG_YALE_DS_RARED_20221020_ANV5_202304211812'), - bqsrc('d51578f4', 'CMG_Yale_GRU_20221020_ANV5_202304211517'), - bqsrc('bcedc554', 'CMG_Yale_HMB_20221020_ANV5_202304211813'), - bqsrc('f485fa3e', 'CMG_Yale_HMB_GSO_20221020_ANV5_202304211519'), - bqsrc('45487b69', 'GTEx_Somatic_WGS_20230331_ANV5_202304211636'), - bqsrc('5ebc368c', 'GTEx_V7_hg19_20221128_ANV5_202304211804'), - bqsrc('864913f2', 'GTEx_V9_hg38_20221128_ANV5_202304211853'), - bqsrc('b093b69d', 'GTEx_public_data_20221115_ANV5_202304211659'), - bqsrc('d948d21a', 'cmg_broad_brain_engle_wgs_20221202_ANV5_202304271345'), - bqsrc('1cb73890', 'cmg_broad_heart_ware_wes_20221215_ANV5_202304242145'), -])) - -anvil2_sources = mkdict(anvil1_sources, 104, mkdelta([ - bqsrc('36124817', 'African_American_Seq_HGV_20230727_ANV5_202308291753'), - bqsrc('d795027d', 'CCDG_Broad_CVD_AF_VAFAR_Arrays_20221020_ANV5_202304211823'), - bqsrc('642829f3', 'CCDG_Broad_CVD_AF_VAFAR_WES_20221024_ANV5_202304211826'), - bqsrc('08216a2c', 'CCDG_Broad_CVD_AFib_Vanderbilt_Ablation_WGS_20221020_ANV5_202304211819'), - bqsrc('74975e89', 'CCDG_Broad_NP_Epilepsy_JPNFKA_GRU_WES_20221220_ANV5_202304271548'), - bqsrc('ad61c47e', 'CCDG_NHGRI_Broad_ASD_Daly_phs000298_WES_vcf_20230403_ANV5_202304271610'), - bqsrc('5e719362', 'CCDG_NYGC_AI_Asthma_Gala2_WGS_20230605_ANV5_202306131248'), - bqsrc('2734a0e4', 'CCDG_NYGC_NP_Alz_EFIGA_WGS_20230605_ANV5_202306141705'), - bqsrc('710fc60d', 'CCDG_NYGC_NP_Alz_LOAD_WGS_20230605_ANV5_202306131256'), - bqsrc('9626b3eb', 'CCDG_NYGC_NP_Alz_WHICAP_WGS_20230605_ANV5_202306131303'), - bqsrc('25ec7b57', 'CCDG_WASHU_PAGE_20221220_ANV5_202304271544'), - bqsrc('6d8536f4', 'CMH_GAFK_GS_linked_read_20221107_ANV5_202304211527'), - bqsrc('482ab960', 'CMH_GAFK_GS_long_read_20221109_ANV5_202304211529'), - bqsrc('8745e97d', 'CMH_GAFK_scRNA_20221107_ANV5_202304211533'), - bqsrc('1c89dcac', 'CSER_CHARM_GRU_20221208_ANV5_202304271348'), - bqsrc('12d56848', 'CSER_NCGENES2_GRU_20221208_ANV5_202304271349'), - bqsrc('8a4d67ef', 'CSER_SouthSeq_GRU_20221208_ANV5_202304271351'), - bqsrc('f622180d', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_CIRM_GRU_VillageData_20230109_ANV5_202304242045'), - bqsrc('732d1a55', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_CIRM_GRU_WGS_20230109_ANV5_202304242048'), - bqsrc('90bab913', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_Finkel_SMA_DS_WGS_20230109_ANV5_202304242043'), - bqsrc('e4eb7641', 'NIMH_Broad_WGSPD1_McCarroll_Braff_DS_WGS_20221115_ANV5_202304242052'), - bqsrc('f9aef3dc', 'NIMH_Broad_WGSPD1_McCarroll_Escamilla_DS_WGS_20221103_ANV5_202304242049'), - bqsrc('aca6a582', 'NIMH_CIRM_FCDI_ConvergentNeuro_McCarroll_Eggan_GRU_Arrays_20230109_ANV5_202304242046'), - bqsrc('06abb598', 'PAGE_BioMe_GRU_WGS_20221128_ANV5_202304211817'), - bqsrc('7c4410ed', 'PAGE_MEC_GRU_WGS_20230131_ANV5_202304211721'), - bqsrc('84d2e3b1', 'PAGE_Stanford_Global_Reference_Panel_GRU_WGS_20221128_ANV5_202304211827'), - bqsrc('ffbc38fd', 'PAGE_WHI_HMB_IRB_WGS_20221019_ANV5_202304211722'), - bqsrc('b1f3e0d1', 'ccdg_asc_ndd_daly_talkowski_cdcseed_asd_gsa_md_20221024_ANV5_202304211749'), - bqsrc('11330a21', 'ccdg_asc_ndd_daly_talkowski_schloesser_asd_gsa_md_20221025_ANV5_202304211759'), - bqsrc('86a1dbf3', 'ccdg_broad_ai_ibd_daly_bernstein_gsa_20221025_ANV5_202304241921'), - bqsrc('833ff0a3', 'eMERGE_GRU_IRB_NPU_eMERGEseq_20230130_ANV5_202304271614'), - bqsrc('baf040af', 'eMERGE_GRU_IRB_PUB_NPU_eMERGEseq_20230130_ANV5_202304271616'), - bqsrc('270b3b62', 'eMERGE_GRU_IRB_eMERGEseq_20230130_ANV5_202304271613'), - bqsrc('c13efbe9', 'eMERGE_GRU_NPU_eMERGEseq_20230130_ANV5_202304271617'), - bqsrc('34f8138d', 'eMERGE_GRU_eMERGEseq_20230130_ANV5_202304271612'), - bqsrc('90b7b6e8', 'eMERGE_HMB_GSO_eMERGEseq_20230130_ANV5_202304271621'), - bqsrc('6e6dca92', 'eMERGE_HMB_IRB_PUB_eMERGEseq_20230130_ANV5_202304271622'), - bqsrc('1ddf2a8e', 'eMERGE_HMB_NPU_eMERGEseq_20230130_ANV5_202304271624'), - bqsrc('dba97a65', 'eMERGE_HMB_eMERGEseq_20230130_ANV5_202304271619'), - bqsrc('51aa9a22', 'eMERGE_PGRNseq_20230118_ANV5_202304241853'), - bqsrc('ce8c469f', 'eMERGE_PRS_Arrays_20221220_ANV5_202304271346') -])) - -anvil3_sources = mkdict(anvil2_sources, 151, mkdelta([ - bqsrc('9a74aed3', 'CCDG_Baylor_CVD_ARIC_20231008_ANV5_202310091900'), - bqsrc('0768a322', 'CCDG_Broad_CVD_AF_Ellinor_MGH_Arrays_20221024_ANV5_202304211831'), - bqsrc('2b135baf', 'CCDG_Broad_CVD_AFib_MGH_WGS_20221024_ANV5_202304211829'), - bqsrc('96b594f9', 'CCDG_Broad_CVD_EOCAD_TaiChi_WGS_20221026_ANV5_202310101655'), - bqsrc('318ae48e', 'CCDG_Broad_CVD_Stroke_BRAVE_WGS_20221107_ANV5_202304241543'), - bqsrc('7ea7a6e9', 'CCDG_Broad_MI_BRAVE_GRU_WES_20221107_ANV5_202304241545'), - bqsrc('2339e241', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_WES_20221101_ANV5_202304241613'), - bqsrc('cd6cee03', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_WES_20221101_ANV5_202304241612'), - bqsrc('da88c3ce', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_WES_20221101_ANV5_202304241657'), - bqsrc('2b361bda', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_WES_20221026_ANV5_202304241549'), - bqsrc('6eeff3fc', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_WES_20221108_ANV5_202304241701'), - bqsrc('21923ed0', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_WES_20221027_ANV5_202304241556'), - bqsrc('5b10132b', 'CCDG_Broad_NP_Epilepsy_CANUTN_DS_EP_WES_20230328_ANV5_202304241552'), - bqsrc('d2d5ba15', 'CCDG_Broad_NP_Epilepsy_CZEMTH_GRU_WES_20221108_ANV5_202304241702'), - bqsrc('fc0a35a8', 'CCDG_Broad_NP_Epilepsy_DEUULG_GRU_WES_20221108_ANV5_202304241704'), - bqsrc('f14cd6d7', 'CCDG_Broad_NP_Epilepsy_FINKPH_EPIL_CO_MORBIDI_MDS_WES_20230328_ANV5_202304241659'), - bqsrc('3832cf81', 'CCDG_Broad_NP_Epilepsy_GBRSWU_CARDI_NEURO_WES_20221026_ANV5_202304241548'), - bqsrc('098aadb0', 'CCDG_Broad_NP_Epilepsy_GBRUCL_DS_EARET_MDS_WES_20221026_ANV5_202304241551'), - bqsrc('d9ea4f23', 'CCDG_Broad_NP_Epilepsy_GBRUNL_EP_ETIOLOGY_MDS_WES_20221027_ANV5_202304241554'), - bqsrc('0c9ab563', 'CCDG_Broad_NP_Epilepsy_GBRUNL_GRU_WES_20221108_ANV5_202304241705'), - bqsrc('a383d752', 'CCDG_Broad_NP_Epilepsy_ITAIGI_GRU_WES_20221108_ANV5_202304241707'), - bqsrc('03b52641', 'CCDG_Broad_NP_Epilepsy_ITAUBG_DS_EPI_NPU_MDS_WES_20221027_ANV5_202304241601'), - bqsrc('2e9ab296', 'CCDG_Broad_NP_Epilepsy_ITAUMC_DS_NEURO_MDS_WES_20221108_ANV5_202304241605'), - bqsrc('89162c54', 'CCDG_Broad_NP_Epilepsy_JPNRKI_DS_NPD_IRB_NPU_WES_20221027_ANV5_202304241609'), - bqsrc('fd5cd738', 'CCDG_Broad_NP_Epilepsy_NZLUTO_EPIL_BC_ID_MDS_WES_20230328_ANV5_202304241602'), - bqsrc('d987821a', 'CCDG_Broad_NP_Epilepsy_TURBZU_GRU_WES_20221108_ANV5_202304241709'), - bqsrc('b93e1cfa', 'CCDG_Broad_NP_Epilepsy_TURIBU_DS_NEURO_AD_NPU_WES_20221027_ANV5_202304241604'), - bqsrc('2e9630dd', 'CCDG_Broad_NP_Epilepsy_USABCH_EPI_MUL_CON_MDS_WES_20221027_ANV5_202304241559'), - bqsrc('ee58a7a9', 'CCDG_Broad_NP_Epilepsy_USACHP_GRU_WES_20230612_ANV5_202306131343'), - bqsrc('ff5356bb', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_EP_MDS_WES_20221027_ANV5_202304241555'), - bqsrc('2262daa7', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_SEIZD_WES_20221027_ANV5_202304241610'), - bqsrc('2a947c33', 'CCDG_Broad_NP_Epilepsy_USACRW_EPI_ASZ_MED_MDS_WES_20221027_ANV5_202304241558'), - bqsrc('5b3c42e1', 'CCDG_Broad_NP_Epilepsy_USAEGP_GRU_WES_20221110_ANV5_202304241713'), - bqsrc('91b4b33c', 'CCDG_Broad_NP_Epilepsy_USAHEP_GRU_WES_20230328_ANV5_202306211900'), - bqsrc('e4fe111a', 'CCDG_Broad_NP_Epilepsy_USANCH_DS_NEURO_MDS_WES_20221108_ANV5_202304241607'), - bqsrc('8b120833', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_WES_20230328_ANV5_202304241716'), - bqsrc('f051499d', 'CCDG_Broad_NP_Epilepsy_USAUPN_Rader_GRU_WES_20230328_ANV5_202304241720'), - bqsrc('fd49a493', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_DS_WGS_20230525_ANV5_202306211841'), - bqsrc('076da44b', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_GRU_IRB_WGS_20230525_ANV5_202306211847'), - bqsrc('7e03b5fd', 'CMG_Broad_Brain_Walsh_WES_20230605_ANV5_202310101734'), - bqsrc('c43e7400', 'CMG_Broad_Muscle_Kang_WES_20230525_ANV5_202310101649'), - bqsrc('14f5afa3', 'NIMH_Broad_WGSPD1_McCarroll_Braff_DS_10XLRGenomes_20221115_ANV5_202310101713'), - bqsrc('94091a22', 'NIMH_Broad_WGSPD1_McCarroll_Pato_GRU_10XLRGenomes_20230331_ANV5_202310101715'), - bqsrc('55b75002', 'PAGE_SoL_HMB_WGS_20221220_ANV5_202310061302'), - bqsrc('02ad84ea', 'T2T_20230714_ANV5_202310101616'), - bqsrc('08cd15a2', 'ccdg_washu_ai_t1d_t1dgc_wgs_20221031_ANV5_202304211552'), - bqsrc('e3065356', 'ccdg_washu_cvd_eocad_biome_wgs_20221024_ANV5_202304211601'), -])) - -anvil4_sources = mkdict(anvil3_sources, 200, mkdelta([ - bqsrc('1a86e7ca', 'CCDG_Baylor_CVD_AFib_Groningen_WGS_20221122_ANV5_202304242224'), - bqsrc('92716a90', 'CCDG_Baylor_CVD_AFib_VAFAR_HMB_IRB_WGS_20221020_ANV5_202304211525'), - bqsrc('77445496', 'CCDG_Baylor_CVD_EOCAD_BioMe_WGS_20221122_ANV5_202304242226'), - bqsrc('1b0d6b90', 'CCDG_Baylor_CVD_HHRC_Brownsville_GRU_WGS_20221122_ANV5_202304242228'), - bqsrc('373b7918', 'CCDG_Baylor_CVD_HemStroke_BNI_HMB_WGS_20221215_ANV5_202304242306'), - bqsrc('efc3e806', 'CCDG_Baylor_CVD_HemStroke_Duke_DS_WGS_20221117_ANV5_202304242122'), - bqsrc('1044f96d', 'CCDG_Baylor_CVD_HemStroke_ERICH_WGS_20221207_ANV5_202304271256'), - bqsrc('f23a6ec8', 'CCDG_Baylor_CVD_HemStroke_GERFHS_HMB_WGS_20221215_ANV5_202304242307'), - bqsrc('de34ca6e', 'CCDG_Baylor_CVD_HemStroke_Regards_DS_WGS_20221117_ANV5_202304242123'), - bqsrc('d9c6f406', 'CCDG_Baylor_CVD_HemStroke_Yale_HMB_WGS_20221215_ANV5_202304242309'), - bqsrc('56883e56', 'CCDG_Baylor_CVD_Oregon_SUDS_GRU_WGS_20221215_ANV5_202304242302'), - bqsrc('7f3ba7ec', 'CCDG_Baylor_CVD_TexGen_DS_WGS_20221117_ANV5_202304242125'), - bqsrc('da965e26', 'CCDG_Baylor_CVD_Ventura_Presto_GRU_IRB_WGS_20221117_ANV5_202304242127'), - bqsrc('906bf803', 'CCDG_Broad_AI_IBD_Brant_DS_IBD_WGS_20221110_ANV5_202304241911'), - bqsrc('343ca1c3', 'CCDG_Broad_AI_IBD_Brant_HMB_WGS_20221110_ANV5_202304241912'), - bqsrc('80a63603', 'CCDG_Broad_AI_IBD_Cho_WGS_20230313_ANV5_202304241903'), - bqsrc('a98e7a43', 'CCDG_Broad_AI_IBD_Kugathasan_WGS_20221110_ANV5_202304241906'), - bqsrc('381bc957', 'CCDG_Broad_AI_IBD_McCauley_WGS_20221110_ANV5_202304241914'), - bqsrc('6a10165d', 'CCDG_Broad_AI_IBD_McGovern_WGS_20221110_ANV5_202304241907'), - bqsrc('a2743c82', 'CCDG_Broad_AI_IBD_Newberry_WGS_20221025_ANV5_202304241901'), - bqsrc('ed109b2f', 'CCDG_Broad_CVD_AF_BioVU_HMB_GSO_Arrays_20230612_ANV5_202306131350'), - bqsrc('3d8b62d7', 'CCDG_Broad_CVD_AF_BioVU_HMB_GSO_WES_20221025_ANV5_202304241856'), - bqsrc('450ba911', 'CCDG_Broad_CVD_AF_ENGAGE_DS_WES_20230418_ANV5_202304210808'), - bqsrc('dfabf632', 'CCDG_Broad_CVD_AF_Ellinor_MGH_WES_20221117_ANV5_202304271354'), - bqsrc('485eb707', 'CCDG_Broad_CVD_AF_Figtree_BioHeart_Arrays_20230128_ANV5_202304271554'), - bqsrc('58dffe5a', 'CCDG_Broad_CVD_AF_GAPP_DS_MDS_Arrays_20221103_ANV5_202304242105'), - bqsrc('cf7f2c0c', 'CCDG_Broad_CVD_AF_GAPP_DS_MDS_WES_20221103_ANV5_202304242107'), - bqsrc('f896734e', 'CCDG_Broad_CVD_AF_Marcus_UCSF_Arrays_20221102_ANV5_202304242039'), - bqsrc('40c2f4f4', 'CCDG_Broad_CVD_AF_Marcus_UCSF_WES_20221222_ANV5_202304242040'), - bqsrc('67117555', 'CCDG_Broad_CVD_AF_Rienstra_WES_20221222_ANV5_202304242035'), - bqsrc('c45dd622', 'CCDG_Broad_CVD_AF_Swiss_Cases_DS_MDS_Arrays_20221103_ANV5_202304242110'), - bqsrc('b12d2e52', 'CCDG_Broad_CVD_AF_Swiss_Cases_DS_MDS_WES_20230118_ANV5_202304242112'), - bqsrc('43f6230a', 'CCDG_Broad_CVD_AFib_AFLMU_WGS_20231008_ANV5_202310091911'), - bqsrc('de64d25a', 'CCDG_Broad_CVD_AFib_UCSF_WGS_20221222_ANV5_202304242037'), - bqsrc('e25350dd', 'CCDG_Broad_CVD_EOCAD_PartnersBiobank_HMB_Arrays_20230517_ANV5_202310101704'), - bqsrc('9921a6fa', 'CCDG_Broad_CVD_EOCAD_PartnersBiobank_HMB_WES_20230621_ANV5_202306211933'), - bqsrc('383d9d9b', 'CCDG_Broad_CVD_PROMIS_GRU_WES_20230418_ANV5_202306211912'), - bqsrc('5df71da4', 'CCDG_Broad_MI_InStem_WES_20221122_ANV5_202304242236'), - bqsrc('1793828c', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_GSRS_WES_20230324_ANV5_202304241752'), - bqsrc('d44547dc', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_WES_20230128_ANV5_202304271556'), - bqsrc('70c803d7', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_GSA_MD_20221117_ANV5_202304271400'), - bqsrc('f5a4a895', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_GSA_MD_20221117_ANV5_202304271358'), - bqsrc('b8b8ba44', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_GSA_MD_20221117_ANV5_202304271356'), - bqsrc('0b0ca621', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_IRB_WES_20230621_ANV5_202306211945'), - bqsrc('f85048a3', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_GSA_MD_20221117_ANV5_202304271401'), - bqsrc('68037179', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_ADLT_WES_20230128_ANV5_202304271559'), - bqsrc('025215fc', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_WES_20230314_ANV5_202304271601'), - bqsrc('92905a2b', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_GSA_MD_20221117_ANV5_202304271403'), - bqsrc('3f3ad5c7', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_GSA_MD_20230118_ANV5_202304271404') -])) - -anvil5_sources = mkdict(anvil4_sources, 261, mkdelta([ - bqsrc('3c30a9a2', '1000G_high_coverage_2019_20230517_ANV5_202403030329'), - bqsrc('adf70694', 'ALS_FTD_ALS_AssociatedGenes_GRU_v1_20231221_ANV5_202401112025'), - bqsrc('815ad21b', 'ALS_FTD_DEMENTIA_SEQ_GRU_v1_20231221_ANV5_202401112033'), - bqsrc('ab46a8e4', 'CCDG_NYGC_NP_Autism_ACE2_DS_MDS_WGS_20230605_ANV5_202403032021'), - bqsrc('df058a48', 'CCDG_NYGC_NP_Autism_AGRE_WGS_20230605_ANV5_202403032044'), - bqsrc('61910b61', 'CCDG_NYGC_NP_Autism_CAG_DS_WGS_20230605_ANV5_202403032053'), - bqsrc('8d6472a1', 'CCDG_NYGC_NP_Autism_HFA_DS_WGS_20230605_ANV5_202403032108'), - bqsrc('f0a12498', 'CCDG_NYGC_NP_Autism_PELPHREY_ACE_DS_WGS_20221103_ANV5_202403032124'), - bqsrc('f06dc5dd', 'CCDG_NYGC_NP_Autism_PELPHREY_ACE_GRU_WGS_20221103_ANV5_202403032131'), - bqsrc('b791f5c1', 'CCDG_NYGC_NP_Autism_SAGE_WGS_20230605_ANV5_202403032137'), - bqsrc('b9222139', 'CMG_BROAD_BRAIN_ENGLE_WES_20240205_ANV5_202402051624'), - bqsrc('7e094253', 'CMG_BROAD_BRAIN_SHERR_WGS_20221102_ANV5_202402281543'), - bqsrc('c797490f', 'CMG_BROAD_ORPHAN_SCOTT_WGS_20221102_ANV5_202402281552'), - bqsrc('0a1360b1', 'CMG_Broad_Blood_Gazda_WES_20221117_ANV5_202402290547'), - bqsrc('faa71b49', 'CMG_Broad_Blood_Sankaran_WES_20221117_ANV5_202402290555'), - bqsrc('abce6387', 'CMG_Broad_Blood_Sankaran_WGS_20221117_ANV5_202402290606'), - bqsrc('4153ad1f', 'CMG_Broad_Muscle_Laing_WES_20221208_ANV5_202402291926'), - bqsrc('5bbb5a28', 'CMG_Broad_Orphan_Jueppner_WES_20240205_ANV5_202402051640'), - bqsrc('18bd3df4', 'CMG_UWASH_HMB_20230418_ANV5_202402070029'), - bqsrc('6f4155f2', 'CMG_UWash_GRU_20240301_ANV5_202403040330'), - bqsrc('6486ae96', 'CMG_UWash_GRU_1_20240113_ANV5_202401141440'), - bqsrc('0fad0f77', 'CMG_YALE_DS_RARED_20221020_ANV5_202402281620'), - bqsrc('ad307392', 'CMG_Yale_GRU_20221020_ANV5_202402281628'), - bqsrc('fecab5bc', 'CMG_Yale_HMB_20221020_ANV5_202402290926'), - bqsrc('f9699204', 'CMG_Yale_HMB_GSO_20221020_ANV5_202402290935'), - bqsrc('c5bd892a', 'CMH_GAFK_GS_linked_read_20221107_ANV5_202402290945'), - bqsrc('5e64223a', 'CMH_GAFK_GS_long_read_20240301_ANV5_202403040349'), - bqsrc('ba97c05c', 'CMH_GAFK_scRNA_20221107_ANV5_202402291004'), - bqsrc('2659c380', 'CSER_CHARM_GRU_20240301_ANV5_202403040357'), - bqsrc('0f2e95ad', 'CSER_KidsCanSeq_GRU_20221208_ANV5_202402292138'), - bqsrc('62a0bd6d', 'CSER_NCGENES2_GRU_20221208_ANV5_202402292147'), - bqsrc('df02801a', 'CSER_NYCKIDSEQ_GRU_20240113_ANV5_202401141520'), - bqsrc('4b9c138d', 'CSER_NYCKIDSEQ_HMB_20240113_ANV5_202401141527'), - bqsrc('f4d60c69', 'CSER_P3EGS_GRU_20230727_ANV5_202402070059'), - bqsrc('fc5ed559', 'CSER_SouthSeq_GRU_20221208_ANV5_202402292154'), - bqsrc('74121c99', 'GTEx_BCM_GRU_CoRSIVs_20240116_ANV5_202401170141'), - bqsrc('1a706b0c', 'GTEx_Somatic_WGS_20240116_ANV5_202401170147'), - bqsrc('e063cf6d', 'GTEx_V7_hg19_20221128_ANV5_202402291034'), - bqsrc('383c097a', 'GTEx_V8_hg38_20240116_ANV5_202401170154'), - bqsrc('701eea84', 'GTEx_V9_hg38_20221128_ANV5_202402070108'), - bqsrc('ff9d78a5', 'GTEx_public_data_20240117_ANV5_202401180400'), - bqsrc('37c3d458', 'NIA_CARD_Coriell_Cell_Lines_Open_20230727_ANV5_202401111624'), - bqsrc('06c78117', 'NIA_CARD_LR_WGS_NABEC_GRU_20230727_ANV5_202401111634'), - bqsrc('e4eb7641', 'NIMH_Broad_WGSPD1_McCarroll_Braff_DS_WGS_20221115_ANV5_202304242052', pop), - bqsrc('a3880121', 'NIMH_Broad_WGSPD1_McCarroll_Pato_GRU_WGS_20240112_ANV5_202402062129'), - bqsrc('25790186', 'PAGE_BioMe_GRU_WGS_20221128_ANV5_202403040429'), - bqsrc('b371989b', 'PAGE_MEC_GRU_WGS_20230131_ANV5_202403040437'), - bqsrc('4a4eec27', 'PAGE_SoL_HMB_WGS_20221220_ANV5_202403040445'), - bqsrc('a1f917db', 'PAGE_Stanford_Global_Reference_Panel_GRU_WGS_20221128_ANV5_202403040453'), - bqsrc('6264931f', 'PAGE_WHI_HMB_IRB_WGS_20221019_ANV5_202403040500'), - bqsrc('8d62ec8f', 'T2T_20230714_ANV5_202312122150'), - bqsrc('bfabc906', 'ccdg_asc_ndd_daly_talkowski_ac_boston_asd_exome_20221117_ANV5_202403040552'), - bqsrc('825399a4', 'ccdg_asc_ndd_daly_talkowski_barbosa_asd_exome_20221108_ANV5_202403040608'), - bqsrc('e3b070a7', 'ccdg_asc_ndd_daly_talkowski_brusco_asd_exome_20230327_ANV5_202403040615'), - bqsrc('2354d65a', 'ccdg_asc_ndd_daly_talkowski_cdcseed_asd_gsa_md_20221024_ANV5_202402291144'), - bqsrc('0ad3f21a', 'ccdg_asc_ndd_daly_talkowski_chung_asd_exome_20221107_ANV5_202403040623'), - bqsrc('c148a340', 'ccdg_asc_ndd_daly_talkowski_control_NIMH_asd_exome_20221201_ANV5_202403040630'), - bqsrc('bc613fa9', 'ccdg_asc_ndd_daly_talkowski_domenici_asd_exome_20221117_ANV5_202403040637'), - bqsrc('97e22445', 'ccdg_asc_ndd_daly_talkowski_goethe_asd_exome_20221107_ANV5_202403040652'), - bqsrc('72efc816', 'ccdg_asc_ndd_daly_talkowski_herman_asd_exome_20221117_ANV5_202403040701'), - bqsrc('e25caee8', 'ccdg_asc_ndd_daly_talkowski_hertz_picciotto_asd_exome_20221107_ANV5_202403040708'), - bqsrc('22af2470', 'ccdg_asc_ndd_daly_talkowski_hertz_picciotto_asd_wgs_20221107_ANV5_202403040716'), - bqsrc('a81009d9', 'ccdg_asc_ndd_daly_talkowski_hultman_asd_exome_20231013_ANV5_202403040723'), - bqsrc('bc078d98', 'ccdg_asc_ndd_daly_talkowski_kolevzon_asd_exome_20221108_ANV5_202403040731'), - bqsrc('0949186c', 'ccdg_asc_ndd_daly_talkowski_kolevzon_asd_wgs_20221109_ANV5_202403040739'), - bqsrc('4dc4f939', 'ccdg_asc_ndd_daly_talkowski_lattig_asd_exome_20221122_ANV5_202403040746'), - bqsrc('5ed988f8', 'ccdg_asc_ndd_daly_talkowski_menashe_asd_exome_20221108_ANV5_202403040800'), - bqsrc('c6a938e4', 'ccdg_asc_ndd_daly_talkowski_minshew_asd_exome_20221117_ANV5_202403040807'), - bqsrc('a245d786', 'ccdg_asc_ndd_daly_talkowski_palotie_asd_exome_20221019_ANV5_202403040815'), - bqsrc('7ddd7425', 'ccdg_asc_ndd_daly_talkowski_parellada_asd_exome_20221108_ANV5_202403040822'), - bqsrc('aa9f0b28', 'ccdg_asc_ndd_daly_talkowski_pericak_vance_asd_wgs_20221027_ANV5_202403040846'), - bqsrc('0b4c3cfb', 'ccdg_asc_ndd_daly_talkowski_schloesser_asd_gsa_md_20221025_ANV5_202402291202'), - bqsrc('8023858b', 'ccdg_asc_ndd_daly_talkowski_weiss_asd_exome_20221108_ANV5_202403040925'), - bqsrc('381b5d80', 'ccdg_broad_ai_ibd_alm_gmc_wes_20230328_ANV5_202403040932'), - bqsrc('714d60b9', 'ccdg_broad_ai_ibd_daly_alm_gmc_gsa_20221025_ANV5_202402291210'), - bqsrc('86a1dbf3', 'ccdg_broad_ai_ibd_daly_bernstein_gsa_20221025_ANV5_202304241921', pop), - bqsrc('dc7a9acd', 'ccdg_broad_ai_ibd_daly_brant_niddk_gsa_20240103_ANV5_202401112147'), - bqsrc('916fc0b6', 'ccdg_broad_ai_ibd_daly_duerr_niddk_gsa_20240113_ANV5_202402062134'), - bqsrc('48d85607', 'ccdg_broad_ai_ibd_daly_hyams_protect_wes_20240104_ANV5_202403041011'), - bqsrc('21d3c731', 'ccdg_broad_ai_ibd_daly_kupcinskas_wes_20240104_ANV5_202403041018'), - bqsrc('614a8519', 'ccdg_broad_ai_ibd_daly_lewis_ccfa_wes_20240113_ANV5_202403041026'), - bqsrc('6799d240', 'ccdg_broad_ai_ibd_daly_lewis_sparc_gsa_20240104_ANV5_202401121517'), - bqsrc('d7ae08a2', 'ccdg_broad_ai_ibd_daly_louis_wes_20240104_ANV5_202403041042'), - bqsrc('9b04a16e', 'ccdg_broad_ai_ibd_daly_mccauley_gsa_20240113_ANV5_202402062137'), - bqsrc('b6a95447', 'ccdg_broad_ai_ibd_daly_mccauley_wes_20240104_ANV5_202403041049'), - bqsrc('df7a6188', 'ccdg_broad_ai_ibd_daly_mcgovern_gsa_20240118_ANV5_202402062140'), - bqsrc('5cd83e88', 'ccdg_broad_ai_ibd_daly_mcgovern_niddk_wes_20240104_ANV5_202403041057'), - bqsrc('fa7e066f', 'ccdg_broad_ai_ibd_daly_mcgovern_share_wes_20240104_ANV5_202401121556', pop), - bqsrc('2def0ed8', 'ccdg_broad_ai_ibd_daly_moayyedi_imagine_gsa_20240105_ANV5_202401121603'), - bqsrc('6e9fe586', 'ccdg_broad_ai_ibd_daly_moayyedi_imagine_wes_20240105_ANV5_202403041109'), - bqsrc('1f3dab2b', 'ccdg_broad_ai_ibd_daly_pekow_share_gsa_20240105_ANV5_202401121646'), - bqsrc('74869ac4', 'ccdg_broad_ai_ibd_daly_pekow_share_wes_20240105_ANV5_202403041133'), - bqsrc('d95b9a73', 'ccdg_broad_ai_ibd_niddk_daly_brant_wes_20240112_ANV5_202403041232'), - bqsrc('7a0883a4', 'ccdg_broad_cvd_af_pegasus_hmb_20221025_ANV5_202403030736'), - bqsrc('f62c5ebd', 'ccdg_broad_cvd_eocad_promis_wgs_20221213_ANV5_202403030935'), - bqsrc('9d116a5c', 'ccdg_broad_mi_atvb_ds_cvd_wes_20221025_ANV5_202403031035'), - bqsrc('bb315b29', 'ccdg_nygc_np_autism_tasc_wgs_20221024_ANV5_202403032216'), - bqsrc('33e3428b', 'ccdg_washu_cvd_np_ai_controls_vccontrols_wgs_20221024_ANV5_202403032319'), - bqsrc('17c5f983', 'cmg_broad_brain_engle_wgs_20221202_ANV5_202402290614'), - bqsrc('a46c0244', 'nhgri_broad_ibd_daly_kugathasan_wes_20240112_ANV5_202403041258'), - bqsrc('4b4f2325', 'nhgri_broad_ibd_daly_turner_wes_20240112_ANV5_202403041307'), -])) - -anvil6_sources = mkdict(anvil5_sources, 249, mkdelta([ - bqsrc('38af6304', '1000G_PRIMED_data_model_20240410_ANV5_202404101419'), - bqsrc('1a86e7ca', 'CCDG_Baylor_CVD_AFib_Groningen_WGS_20221122_ANV5_202304242224', pop), - bqsrc('92716a90', 'CCDG_Baylor_CVD_AFib_VAFAR_HMB_IRB_WGS_20221020_ANV5_202304211525', pop), - bqsrc('e8fc4258', 'CCDG_Baylor_CVD_ARIC_20231008_ANV5_202403030358'), - bqsrc('77445496', 'CCDG_Baylor_CVD_EOCAD_BioMe_WGS_20221122_ANV5_202304242226', pop), - bqsrc('1b0d6b90', 'CCDG_Baylor_CVD_HHRC_Brownsville_GRU_WGS_20221122_ANV5_202304242228', pop), - bqsrc('373b7918', 'CCDG_Baylor_CVD_HemStroke_BNI_HMB_WGS_20221215_ANV5_202304242306', pop), - bqsrc('efc3e806', 'CCDG_Baylor_CVD_HemStroke_Duke_DS_WGS_20221117_ANV5_202304242122', pop), - bqsrc('1044f96d', 'CCDG_Baylor_CVD_HemStroke_ERICH_WGS_20221207_ANV5_202304271256', pop), - bqsrc('f23a6ec8', 'CCDG_Baylor_CVD_HemStroke_GERFHS_HMB_WGS_20221215_ANV5_202304242307', pop), - bqsrc('de34ca6e', 'CCDG_Baylor_CVD_HemStroke_Regards_DS_WGS_20221117_ANV5_202304242123', pop), - bqsrc('d9c6f406', 'CCDG_Baylor_CVD_HemStroke_Yale_HMB_WGS_20221215_ANV5_202304242309', pop), - bqsrc('56883e56', 'CCDG_Baylor_CVD_Oregon_SUDS_GRU_WGS_20221215_ANV5_202304242302', pop), - bqsrc('7f3ba7ec', 'CCDG_Baylor_CVD_TexGen_DS_WGS_20221117_ANV5_202304242125', pop), - bqsrc('da965e26', 'CCDG_Baylor_CVD_Ventura_Presto_GRU_IRB_WGS_20221117_ANV5_202304242127', pop), - bqsrc('40647d03', 'CCDG_Broad_AI_IBD_Brant_DS_IBD_WGS_20240113_ANV5_202401141252'), - bqsrc('83339911', 'CCDG_Broad_AI_IBD_Brant_HMB_WGS_20240113_ANV5_202401141259'), - bqsrc('3f36066b', 'CCDG_Broad_AI_IBD_Cho_WGS_20240113_ANV5_202403030543'), - bqsrc('65e890b6', 'CCDG_Broad_AI_IBD_Kugathasan_WGS_20240113_ANV5_202403030551'), - bqsrc('cec499cd', 'CCDG_Broad_AI_IBD_McCauley_WGS_20240114_ANV5_202403030559'), - bqsrc('8043de16', 'CCDG_Broad_AI_IBD_McGovern_WGS_20240113_ANV5_202403030608'), - bqsrc('de3bfd4e', 'CCDG_Broad_AI_IBD_Newberry_WGS_20240113_ANV5_202403030616'), - bqsrc('ed109b2f', 'CCDG_Broad_CVD_AF_BioVU_HMB_GSO_Arrays_20230612_ANV5_202306131350', pop), - bqsrc('3d8b62d7', 'CCDG_Broad_CVD_AF_BioVU_HMB_GSO_WES_20221025_ANV5_202304241856', pop), - bqsrc('450ba911', 'CCDG_Broad_CVD_AF_ENGAGE_DS_WES_20230418_ANV5_202304210808', pop), - bqsrc('0768a322', 'CCDG_Broad_CVD_AF_Ellinor_MGH_Arrays_20221024_ANV5_202304211831', pop), - bqsrc('dfabf632', 'CCDG_Broad_CVD_AF_Ellinor_MGH_WES_20221117_ANV5_202304271354', pop), - bqsrc('485eb707', 'CCDG_Broad_CVD_AF_Figtree_BioHeart_Arrays_20230128_ANV5_202304271554', pop), - bqsrc('58dffe5a', 'CCDG_Broad_CVD_AF_GAPP_DS_MDS_Arrays_20221103_ANV5_202304242105', pop), - bqsrc('cf7f2c0c', 'CCDG_Broad_CVD_AF_GAPP_DS_MDS_WES_20221103_ANV5_202304242107', pop), - bqsrc('f896734e', 'CCDG_Broad_CVD_AF_Marcus_UCSF_Arrays_20221102_ANV5_202304242039', pop), - bqsrc('40c2f4f4', 'CCDG_Broad_CVD_AF_Marcus_UCSF_WES_20221222_ANV5_202304242040', pop), - bqsrc('67117555', 'CCDG_Broad_CVD_AF_Rienstra_WES_20221222_ANV5_202304242035', pop), - bqsrc('c45dd622', 'CCDG_Broad_CVD_AF_Swiss_Cases_DS_MDS_Arrays_20221103_ANV5_202304242110', pop), - bqsrc('b12d2e52', 'CCDG_Broad_CVD_AF_Swiss_Cases_DS_MDS_WES_20230118_ANV5_202304242112', pop), - bqsrc('d795027d', 'CCDG_Broad_CVD_AF_VAFAR_Arrays_20221020_ANV5_202304211823', pop), - bqsrc('642829f3', 'CCDG_Broad_CVD_AF_VAFAR_WES_20221024_ANV5_202304211826', pop), - bqsrc('43f6230a', 'CCDG_Broad_CVD_AFib_AFLMU_WGS_20231008_ANV5_202310091911', pop), - bqsrc('2b135baf', 'CCDG_Broad_CVD_AFib_MGH_WGS_20221024_ANV5_202304211829', pop), - bqsrc('de64d25a', 'CCDG_Broad_CVD_AFib_UCSF_WGS_20221222_ANV5_202304242037', pop), - bqsrc('08216a2c', 'CCDG_Broad_CVD_AFib_Vanderbilt_Ablation_WGS_20221020_ANV5_202304211819', pop), - bqsrc('342c77f2', 'CCDG_Broad_CVD_EOCAD_PartnersBiobank_HMB_Arrays_20230517_ANV5_202312122054'), - bqsrc('a16f8bac', 'CCDG_Broad_CVD_EOCAD_PartnersBiobank_HMB_WES_20230621_ANV5_202403030943'), - bqsrc('f2179275', 'CCDG_Broad_CVD_EOCAD_TaiChi_WGS_20221026_ANV5_202403030955'), - bqsrc('e8ee6358', 'CCDG_Broad_CVD_EOCAD_VIRGO_WGS_20221024_ANV5_202403031003'), - bqsrc('383d9d9b', 'CCDG_Broad_CVD_PROMIS_GRU_WES_20230418_ANV5_202306211912', pop), - bqsrc('318ae48e', 'CCDG_Broad_CVD_Stroke_BRAVE_WGS_20221107_ANV5_202304241543', pop), - bqsrc('7ea7a6e9', 'CCDG_Broad_MI_BRAVE_GRU_WES_20221107_ANV5_202304241545', pop), - bqsrc('5df71da4', 'CCDG_Broad_MI_InStem_WES_20221122_ANV5_202304242236', pop), - bqsrc('1793828c', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_GSRS_WES_20230324_ANV5_202304241752', pop), - bqsrc('0db6105c', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_WES_20230128_ANV5_202402020211'), - bqsrc('70c803d7', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_GSA_MD_20221117_ANV5_202304271400', pop), - bqsrc('1b92691d', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_WES_20221101_ANV5_202403031115'), - bqsrc('f5a4a895', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_GSA_MD_20221117_ANV5_202304271358', pop), - bqsrc('3da39a32', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_WES_20221101_ANV5_202403031123'), - bqsrc('b8b8ba44', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_GSA_MD_20221117_ANV5_202304271356', pop), - bqsrc('b3e42c63', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_WES_20221101_ANV5_202403031131'), - bqsrc('a2b20d71', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_IRB_WES_20230621_ANV5_202402020256'), - bqsrc('f85048a3', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_GSA_MD_20221117_ANV5_202304271401', pop), - bqsrc('b3ef2bd3', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_WES_20221026_ANV5_202403031140'), - bqsrc('1cafba94', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_ADLT_WES_20230128_ANV5_202402020305'), - bqsrc('006c9286', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_WES_20230314_ANV5_202402020314'), - bqsrc('92905a2b', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_GSA_MD_20221117_ANV5_202304271403', pop), - bqsrc('33e1bed9', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_WES_20221108_ANV5_202402020322'), - bqsrc('3f3ad5c7', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_GSA_MD_20230118_ANV5_202304271404', pop), - bqsrc('b2a5eccc', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_WES_20221027_ANV5_202403031148'), - bqsrc('7a7b911a', 'CCDG_Broad_NP_Epilepsy_BRAUSP_DS_WES_20240201_ANV5_202402020339'), - bqsrc('33634ed0', 'CCDG_Broad_NP_Epilepsy_CANCAL_GRU_v2_WES_20240201_ANV5_202402020347'), - bqsrc('47f93bbb', 'CCDG_Broad_NP_Epilepsy_CANUTN_DS_EP_WES_20230328_ANV5_202403031156'), - bqsrc('389af3b3', 'CCDG_Broad_NP_Epilepsy_CHEUBB_HMB_IRB_MDS_WES_20221102_ANV5_202403031205'), - bqsrc('ac8e01aa', 'CCDG_Broad_NP_Epilepsy_CYPCYP_HMB_NPU_MDS_WES_20230328_ANV5_202403031213'), - bqsrc('5d4aa202', 'CCDG_Broad_NP_Epilepsy_CZEMTH_GRU_WES_20221108_ANV5_202403031222'), - bqsrc('bd066b5a', 'CCDG_Broad_NP_Epilepsy_DEUPUM_HMB_MDS_WES_20230328_ANV5_202403031231'), - bqsrc('17de3c3b', 'CCDG_Broad_NP_Epilepsy_DEUUGS_DS_EP_MDS_WES_20240201_ANV5_202403031239'), - bqsrc('46e7e2ab', 'CCDG_Broad_NP_Epilepsy_DEUUKB_HMB_NPU_MDS_WES_20230328_ANV5_202403031247'), - bqsrc('ba863f29', 'CCDG_Broad_NP_Epilepsy_DEUUKL_HMB_WES_20221102_ANV5_202403031256'), - bqsrc('113d9969', 'CCDG_Broad_NP_Epilepsy_DEUULG_GRU_WES_20221108_ANV5_202403031305'), - bqsrc('fd6d20c8', 'CCDG_Broad_NP_Epilepsy_DEUUTB_HMB_NPU_MDS_WES_20230328_ANV5_202403031313'), - bqsrc('55d32c1b', 'CCDG_Broad_NP_Epilepsy_FINKPH_EPIL_CO_MORBIDI_MDS_WES_20230328_ANV5_202403031322'), - bqsrc('844a1ecf', 'CCDG_Broad_NP_Epilepsy_FINUVH_HMB_NPU_MDS_WES_20221114_ANV5_202403031331'), - bqsrc('1cbd28a5', 'CCDG_Broad_NP_Epilepsy_FRALYU_HMB_WES_20230621_ANV5_202403031340'), - bqsrc('b8b0b663', 'CCDG_Broad_NP_Epilepsy_GBRSWU_CARDI_NEURO_WES_20221026_ANV5_202403031348'), - bqsrc('2686a76a', 'CCDG_Broad_NP_Epilepsy_GBRUNL_EP_ETIOLOGY_MDS_WES_20221027_ANV5_202403031405'), - bqsrc('05e028a4', 'CCDG_Broad_NP_Epilepsy_GBRUNL_GRU_WES_20221108_ANV5_202403031413'), - bqsrc('4a6228be', 'CCDG_Broad_NP_Epilepsy_GHAKNT_GRU_WES_20221122_ANV5_202403031421'), - bqsrc('98dddf8f', 'CCDG_Broad_NP_Epilepsy_HKGHKK_HMB_MDS_WES_20230328_ANV5_202403031430'), - bqsrc('9ed2a64a', 'CCDG_Broad_NP_Epilepsy_HKOSB_GRU_WES_20230110_ANV5_202403031439'), - bqsrc('22a9e8bd', 'CCDG_Broad_NP_Epilepsy_HRVUZG_HMB_MDS_WES_20221114_ANV5_202403031446'), - bqsrc('517eda47', 'CCDG_Broad_NP_Epilepsy_IRLRCI_GRU_IRB_WES_20230328_ANV5_202403031454'), - bqsrc('b6e444c4', 'CCDG_Broad_NP_Epilepsy_ITAICB_HMB_NPU_MDS_WES_20230223_ANV5_202403031503'), - bqsrc('d8145bea', 'CCDG_Broad_NP_Epilepsy_ITAIGI_GRU_WES_20221108_ANV5_202403031512'), - bqsrc('67c3b200', 'CCDG_Broad_NP_Epilepsy_ITAUBG_DS_EPI_NPU_MDS_WES_20221027_ANV5_202403031520'), - bqsrc('4476c338', 'CCDG_Broad_NP_Epilepsy_ITAUMC_DS_NEURO_MDS_WES_20221108_ANV5_202403031529'), - bqsrc('5cd83a64', 'CCDG_Broad_NP_Epilepsy_ITAUMR_GRU_NPU_WES_20221114_ANV5_202403031537'), - bqsrc('5115b904', 'CCDG_Broad_NP_Epilepsy_JPNFKA_GRU_WES_20221220_ANV5_202403031547'), - bqsrc('f7fb0742', 'CCDG_Broad_NP_Epilepsy_JPNRKI_DS_NPD_IRB_NPU_WES_20221027_ANV5_202402062057'), - bqsrc('b979e83a', 'CCDG_Broad_NP_Epilepsy_KENKIL_GRU_WES_20230110_ANV5_202403031555'), - bqsrc('54571a90', 'CCDG_Broad_NP_Epilepsy_LEBABM_DS_Epilepsy_WES_20230328_ANV5_202403031603'), - bqsrc('5495da63', 'CCDG_Broad_NP_Epilepsy_LEBABM_GRU_WES_20230110_ANV5_202403031612'), - bqsrc('7275a9bd', 'CCDG_Broad_NP_Epilepsy_LTUUHK_HMB_NPU_MDS_WES_20221114_ANV5_202403031621'), - bqsrc('2c2a7d19', 'CCDG_Broad_NP_Epilepsy_NZLUTO_EPIL_BC_ID_MDS_WES_20230328_ANV5_202403031629'), - bqsrc('edbd02ca', 'CCDG_Broad_NP_Epilepsy_TURBZU_GRU_WES_20221108_ANV5_202403031637'), - bqsrc('225a7340', 'CCDG_Broad_NP_Epilepsy_TURIBU_DS_NEURO_AD_NPU_WES_20221027_ANV5_202403031645'), - bqsrc('97dadba8', 'CCDG_Broad_NP_Epilepsy_TWNCGM_HMB_NPU_AdultsONLY_WES_20240201_ANV5_202402020902'), - bqsrc('6dcb5d39', 'CCDG_Broad_NP_Epilepsy_USABCH_EPI_MUL_CON_MDS_WES_20221027_ANV5_202403031701'), - bqsrc('fb4ac7d8', 'CCDG_Broad_NP_Epilepsy_USABLC_GRU_NPU_WES_20221215_ANV5_202402062059'), - bqsrc('5de241b3', 'CCDG_Broad_NP_Epilepsy_USACCF_HMB_MDS_WES_20221207_ANV5_202403031709'), - bqsrc('62a84074', 'CCDG_Broad_NP_Epilepsy_USACCH_DS_NEURO_MDS_WES_20221116_ANV5_202403031719'), - bqsrc('7c06247a', 'CCDG_Broad_NP_Epilepsy_USACHP_GRU_WES_20230612_ANV5_202402062101'), - bqsrc('9042eb4a', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_EP_MDS_WES_20221027_ANV5_202403031727'), - bqsrc('cb75258b', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_SEIZD_WES_20221027_ANV5_202403031735'), - bqsrc('744bc858', 'CCDG_Broad_NP_Epilepsy_USACRW_EPI_ASZ_MED_MDS_WES_20221027_ANV5_202403031744'), - bqsrc('faff5b2b', 'CCDG_Broad_NP_Epilepsy_USAEGP_GRU_WES_20221110_ANV5_202403031752'), - bqsrc('275b2a46', 'CCDG_Broad_NP_Epilepsy_USAFEB_GRU_WES_20221205_ANV5_202403031800'), - bqsrc('5a548fd8', 'CCDG_Broad_NP_Epilepsy_USAHEP_GRU_WES_20230328_ANV5_202403031809'), - bqsrc('999301d3', 'CCDG_Broad_NP_Epilepsy_USALCH_HMB_WES_20230126_ANV5_202402021048'), - bqsrc('eda3f720', 'CCDG_Broad_NP_Epilepsy_USAMGH_HMB_MDS_WES_20221207_ANV5_202403031817'), - bqsrc('d9e55ea0', 'CCDG_Broad_NP_Epilepsy_USAMGH_MGBB_HMB_MDS_WES_20221207_ANV5_202403031826'), - bqsrc('6a627e94', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_NPU_WES_20221215_ANV5_202403031834'), - bqsrc('bfa59a11', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_WES_20240201_ANV5_202403031842'), - bqsrc('f8d5318a', 'CCDG_Broad_NP_Epilepsy_USAMON_HMB_WES_20230131_ANV5_202402021131'), - bqsrc('4ef1d979', 'CCDG_Broad_NP_Epilepsy_USAMSS_DS_EP_NEURO_MDS_WES_20230612_ANV5_202402021139'), - bqsrc('5e00a0df', 'CCDG_Broad_NP_Epilepsy_USANCH_DS_NEURO_MDS_WES_20221108_ANV5_202402062105'), - bqsrc('10948836', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_NPU_WES_20221114_ANV5_202403031858'), - bqsrc('0a247e9e', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_WES_20230328_ANV5_202403031906'), - bqsrc('154b4ef8', 'CCDG_Broad_NP_Epilepsy_USAUPN_Rader_GRU_WES_20230328_ANV5_202403031915'), - bqsrc('07b8d88c', 'CCDG_Broad_NP_Epilepsy_USAVAN_HMB_GSO_WES_20221207_ANV5_202402021226'), - bqsrc('1985a01d', 'CCDG_Broad_Spalletta_HMB_NPU_MDS_WES_20221102_ANV5_202403031942'), - bqsrc('ad61c47e', 'CCDG_NHGRI_Broad_ASD_Daly_phs000298_WES_vcf_20230403_ANV5_202304271610', pop), - bqsrc('5e719362', 'CCDG_NYGC_AI_Asthma_Gala2_WGS_20230605_ANV5_202306131248', pop), - bqsrc('2734a0e4', 'CCDG_NYGC_NP_Alz_EFIGA_WGS_20230605_ANV5_202306141705', pop), - bqsrc('710fc60d', 'CCDG_NYGC_NP_Alz_LOAD_WGS_20230605_ANV5_202306131256', pop), - bqsrc('9626b3eb', 'CCDG_NYGC_NP_Alz_WHICAP_WGS_20230605_ANV5_202306131303', pop), - bqsrc('86bb81c0', 'CCDG_NYGC_NP_Autism_ACE2_GRU_MDS_WGS_20230605_ANV5_202403032029'), - bqsrc('85674dce', 'CCDG_NYGC_NP_Autism_AGRE_WGS_20230605_ANV5_202403081651'), - bqsrc('7d1461b2', 'CCDG_NYGC_NP_Autism_SSC_WGS_20230605_ANV5_202403032206'), - bqsrc('25ec7b57', 'CCDG_WASHU_PAGE_20221220_ANV5_202304271544', pop), - bqsrc('15645b8d', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_DS_WGS_20230525_ANV5_202403040118'), - bqsrc('4a0769c7', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_GRU_IRB_WGS_20230525_ANV5_202403040126'), - bqsrc('b9222139', 'CMG_BROAD_BRAIN_ENGLE_WES_20240205_ANV5_202402051624', pop), - bqsrc('7e094253', 'CMG_BROAD_BRAIN_SHERR_WGS_20221102_ANV5_202402281543', pop), - bqsrc('c797490f', 'CMG_BROAD_ORPHAN_SCOTT_WGS_20221102_ANV5_202402281552', pop), - bqsrc('0a21cbfd', 'CMG_BaylorHopkins_HMB_IRB_NPU_WES_20221020_ANV5_202402290528'), - bqsrc('d321333c', 'CMG_BaylorHopkins_HMB_NPU_WES_20230525_ANV5_202402290537'), - bqsrc('0a1360b1', 'CMG_Broad_Blood_Gazda_WES_20221117_ANV5_202402290547', pop), - bqsrc('faa71b49', 'CMG_Broad_Blood_Sankaran_WES_20221117_ANV5_202402290555', pop), - bqsrc('abce6387', 'CMG_Broad_Blood_Sankaran_WGS_20221117_ANV5_202402290606', pop), - bqsrc('3dd4d039', 'CMG_Broad_Brain_Gleeson_WES_20221117_ANV5_202304241517', pop), - bqsrc('c361373f', 'CMG_Broad_Brain_Muntoni_WES_20221102_ANV5_202304241527', pop), - bqsrc('fc6ce406', 'CMG_Broad_Brain_NeuroDev_WES_20240112_ANV5_202401152208'), - bqsrc('d7bfafc6', 'CMG_Broad_Brain_Thaker_WES_20221102_ANV5_202304241531', pop), - bqsrc('7e03b5fd', 'CMG_Broad_Brain_Walsh_WES_20230605_ANV5_202310101734', pop), - bqsrc('29812b42', 'CMG_Broad_Eye_Pierce_WES_20221205_ANV5_202304242250', pop), - bqsrc('48134558', 'CMG_Broad_Eye_Pierce_WGS_20221117_ANV5_202304241507', pop), - bqsrc('36ebaa12', 'CMG_Broad_Heart_PCGC_Tristani_WGS_20221025_ANV5_202304211840', pop), - bqsrc('f9826139', 'CMG_Broad_Heart_Seidman_WES_20221117_ANV5_202304241504', pop), - bqsrc('85952af8', 'CMG_Broad_Kidney_Hildebrandt_WES_20230525_ANV5_202305251733', pop), - bqsrc('ee4ae9a1', 'CMG_Broad_Kidney_Hildebrandt_WGS_20221025_ANV5_202304211844', pop), - bqsrc('cf168274', 'CMG_Broad_Kidney_Pollak_WES_20221025_ANV5_202304211846', pop), - bqsrc('4d47ba2c', 'CMG_Broad_Muscle_Beggs_WGS_20221102_ANV5_202304241533', pop), - bqsrc('82d1271a', 'CMG_Broad_Muscle_Bonnemann_WES_20221117_ANV5_202304241509', pop), - bqsrc('6be3fb25', 'CMG_Broad_Muscle_Bonnemann_WGS_20221117_ANV5_202304241510', pop), - bqsrc('b168eb10', 'CMG_Broad_Muscle_KNC_WES_20221116_ANV5_202304242219', pop), - bqsrc('372244aa', 'CMG_Broad_Muscle_KNC_WGS_20221117_ANV5_202304242221', pop), - bqsrc('c43e7400', 'CMG_Broad_Muscle_Kang_WES_20230525_ANV5_202310101649', pop), - bqsrc('77a6c0aa', 'CMG_Broad_Muscle_Kang_WGS_20221025_ANV5_202304211849', pop), - bqsrc('4153ad1f', 'CMG_Broad_Muscle_Laing_WES_20221208_ANV5_202402291926', pop), - bqsrc('5019143b', 'CMG_Broad_Muscle_Myoseq_WES_20230621_ANV5_202306211852', pop), - bqsrc('27eb651a', 'CMG_Broad_Muscle_Myoseq_WGS_20221208_ANV5_202304271310', pop), - bqsrc('c087af7a', 'CMG_Broad_Muscle_OGrady_WES_20221205_ANV5_202304242252', pop), - bqsrc('db987a2e', 'CMG_Broad_Muscle_Ravenscroft_WES_20221208_ANV5_202304271311', pop), - bqsrc('05df566c', 'CMG_Broad_Muscle_Topf_WES_20221208_ANV5_202304271313', pop), - bqsrc('87d91f06', 'CMG_Broad_Orphan_Chung_WES_20221102_ANV5_202304241534', pop), - bqsrc('25f6b696', 'CMG_Broad_Orphan_Estonia_Ounap_WES_20221117_ANV5_202304241512', pop), - bqsrc('c3b16b41', 'CMG_Broad_Orphan_Estonia_Ounap_WGS_20221205_ANV5_202304242255', pop), - bqsrc('5bbb5a28', 'CMG_Broad_Orphan_Jueppner_WES_20240205_ANV5_202402051640', pop), - bqsrc('32fe2260', 'CMG_Broad_Orphan_Lerner_Ellis_WES_20221102_ANV5_202304241536', pop), - bqsrc('6f9e574e', 'CMG_Broad_Orphan_Manton_WES_20221117_ANV5_202304241513', pop), - bqsrc('53cd689b', 'CMG_Broad_Orphan_Manton_WGS_20221117_ANV5_202304241515', pop), - bqsrc('e7c5babf', 'CMG_Broad_Orphan_Scott_WES_20221025_ANV5_202304241458', pop), - bqsrc('051877f4', 'CMG_Broad_Orphan_Sweetser_WES_20221102_ANV5_202304241539', pop), - bqsrc('555c7706', 'CMG_Broad_Orphan_VCGS_White_WES_20221018_ANV5_202304241522', pop), - bqsrc('3a8f7952', 'CMG_Broad_Orphan_VCGS_White_WGS_20221117_ANV5_202304241523', pop), - bqsrc('b699c5e3', 'CMG_Broad_Rare_RGP_WES_20221102_ANV5_202304241540', pop), - bqsrc('2d5bd095', 'CMG_Broad_Stillbirth_Wilkins_Haug_WES_20221102_ANV5_202304241542', pop), - bqsrc('db7353fb', 'CMG_UWASH_DS_BAV_IRB_PUB_RD_20230419_ANV5_202304201858', pop), - bqsrc('3b8ef67a', 'CMG_UWASH_DS_BDIS_20230418_ANV5_202304201958', pop), - bqsrc('5d27ebfe', 'CMG_UWASH_DS_HFA_20230418_ANV5_202304201932', pop), - bqsrc('9d1a6e0a', 'CMG_UWASH_DS_NBIA_20230418_ANV5_202304201949', pop), - bqsrc('18bd3df4', 'CMG_UWASH_HMB_20230418_ANV5_202402070029', pop), - bqsrc('50484f86', 'CMG_UWASH_HMB_IRB_20230418_ANV5_202304201915', pop), - bqsrc('74bd0964', 'CMG_UWash_DS_EP_20230419_ANV5_202304201906', pop), - bqsrc('6f4155f2', 'CMG_UWash_GRU_20240301_ANV5_202403040330', pop), - bqsrc('6486ae96', 'CMG_UWash_GRU_1_20240113_ANV5_202401141440', pop), - bqsrc('97ec5366', 'CMG_UWash_GRU_IRB_20230418_ANV5_202304201940', pop), - bqsrc('cb305c8e', 'CMG_YALE_DS_MC_20221026_ANV5_202402281611'), - bqsrc('c2897355', 'CMG_Yale_DS_BPEAKD_20240113_ANV5_202401141447'), - bqsrc('4b5667f8', 'CMG_Yale_DS_RD_20240113_ANV5_202401141453'), - bqsrc('9e86cb23', 'CMG_Yale_DS_THAL_IRB_20240113_ANV5_202401141500'), - bqsrc('278252c3', 'CMG_Yale_HMB_IRB_20240113_ANV5_202401141507'), - bqsrc('eea2a20c', 'CMH_GAFK_10X_Genomics_20240304_ANV5_202403071539'), - bqsrc('0e0bf0f8', 'CMH_GAFK_ES_20240301_ANV5_202403040338'), - bqsrc('9935aa3f', 'CMH_GAFK_IlluminaGSA_20240311_ANV5_202403121355'), - bqsrc('d391ce5f', 'CMH_GAFK_IsoSeq_20240113_ANV5_202402062116'), - bqsrc('beef6734', 'CMH_GAFK_MGI_20240304_ANV5_202403071559'), - bqsrc('8599b1fb', 'CMH_GAFK_PacBio_methyl_tagged_20240311_ANV5_202403121402'), - bqsrc('94f58e6c', 'CMH_GAFK_SCATAC_20221107_ANV5_202402290954'), - bqsrc('5447de30', 'CMH_GAFK_WGBS_20230327_ANV5_202402062120'), - bqsrc('db73a316', 'CMH_GAFK_WGS_20240113_ANV5_202402062123'), - bqsrc('5227851b', 'CSER_ClinSeq_GRU_20240401_ANV5_202404081541'), - bqsrc('1a706b0c', 'GTEx_Somatic_WGS_20240116_ANV5_202401170147', pop), - bqsrc('8a98bcb4', 'NIMH_Broad_ConvNeuro_McCarroll_Nehme_Levy_CIRM_DS_Village_20240405_ANV5_202404081511'), - bqsrc('c02a5efb', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_CIRM_GRU_VillageData_20230109_ANV5_202402292203'), - bqsrc('817f27aa', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_CIRM_GRU_WGS_20240206_ANV5_202402081755'), - bqsrc('ddc1d72b', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_Finkel_SMA_DS_WGS_20230109_ANV5_202402292209'), - bqsrc('14f5afa3', 'NIMH_Broad_WGSPD1_McCarroll_Braff_DS_10XLRGenomes_20221115_ANV5_202310101713', pop), - bqsrc('69e4bc19', 'NIMH_Broad_WGSPD1_McCarroll_COGS_DS_WGS_20240113_ANV5_202401152215'), - bqsrc('da595e23', 'NIMH_Broad_WGSPD1_McCarroll_Escamilla_DS_WGS_20240112_ANV5_202401141541'), - bqsrc('94091a22', 'NIMH_Broad_WGSPD1_McCarroll_Pato_GRU_10XLRGenomes_20230331_ANV5_202310101715', pop), - bqsrc('df20901c', 'NIMH_Broad_WGSPD_1_McCarroll_Braff_DS_WGS_20240304_ANV5_202403071610'), - bqsrc('75e17b99', 'NIMH_CIRM_FCDI_ConvergentNeuro_McCarroll_Eggan_GRU_Arrays_20230109_ANV5_202402292215'), - bqsrc('25790186', 'PAGE_BioMe_GRU_WGS_20221128_ANV5_202403040429', pop), - bqsrc('b371989b', 'PAGE_MEC_GRU_WGS_20230131_ANV5_202403040437', pop), - bqsrc('4a4eec27', 'PAGE_SoL_HMB_WGS_20221220_ANV5_202403040445', pop), - bqsrc('a1f917db', 'PAGE_Stanford_Global_Reference_Panel_GRU_WGS_20221128_ANV5_202403040453', pop), - bqsrc('6264931f', 'PAGE_WHI_HMB_IRB_WGS_20221019_ANV5_202403040500', pop), - bqsrc('f3817357', 'ccdg_asc_ndd_daly_talkowski_AGRE_asd_exome_20221102_ANV5_202403040528'), - bqsrc('23635d1c', 'ccdg_asc_ndd_daly_talkowski_IBIS_asd_exome_20221024_ANV5_202403040537'), - bqsrc('ecf311e7', 'ccdg_asc_ndd_daly_talkowski_TASC_asd_exome_20221117_ANV5_202403040544'), - bqsrc('90923a9d', 'ccdg_asc_ndd_daly_talkowski_aleksic_asd_exome_20231013_ANV5_202403040600'), - bqsrc('2354d65a', 'ccdg_asc_ndd_daly_talkowski_cdcseed_asd_gsa_md_20221024_ANV5_202402291144', pop), - bqsrc('efc0eb70', 'ccdg_asc_ndd_daly_talkowski_gargus_asd_exome_20231013_ANV5_202403040645'), - bqsrc('d1f95953', 'ccdg_asc_ndd_daly_talkowski_gurrieri_asd_exome_20221024_ANV5_202402291153'), - bqsrc('5590427b', 'ccdg_asc_ndd_daly_talkowski_mayo_asd_exome_20221024_ANV5_202402291115'), - bqsrc('3cbe3dd3', 'ccdg_asc_ndd_daly_talkowski_mcpartland_asd_exome_20221116_ANV5_202403040753'), - bqsrc('a245d786', 'ccdg_asc_ndd_daly_talkowski_palotie_asd_exome_20221019_ANV5_202403040815', pop), - bqsrc('104705f5', 'ccdg_asc_ndd_daly_talkowski_passos_bueno_asd_exome_20221108_ANV5_202403040831'), - bqsrc('a07262c0', 'ccdg_asc_ndd_daly_talkowski_pericak_vance_asd_exome__20221025_ANV5_202403040839'), - bqsrc('418e64c1', 'ccdg_asc_ndd_daly_talkowski_persico_asd_exome_20221027_ANV5_202403040854'), - bqsrc('cfe20662', 'ccdg_asc_ndd_daly_talkowski_renieri_asd_exome_20230327_ANV5_202403040909'), - bqsrc('7c668a5c', 'ccdg_asc_ndd_daly_talkowski_schloesser_asd_exome_20230324_ANV5_202403040917'), - bqsrc('0b4c3cfb', 'ccdg_asc_ndd_daly_talkowski_schloesser_asd_gsa_md_20221025_ANV5_202402291202', pop), - bqsrc('2571477f', 'ccdg_broad_ai_ibd_daly_burnstein_gsa_20240103_ANV5_202401112154'), - bqsrc('c0abacf6', 'ccdg_broad_ai_ibd_daly_chen_gsa_20240103_ANV5_202401112202'), - bqsrc('c7473b33', 'ccdg_broad_ai_ibd_daly_chen_wes_20240103_ANV5_202403040940'), - bqsrc('ac30439c', 'ccdg_broad_ai_ibd_daly_cho_niddk_gsa_20240103_ANV5_202401112215'), - bqsrc('267ea46f', 'ccdg_broad_ai_ibd_daly_chung_gider_gsa_20240103_ANV5_202401121413'), - bqsrc('c481c20f', 'ccdg_broad_ai_ibd_daly_chung_gider_wes_20240103_ANV5_202403040947'), - bqsrc('938f9e89', 'ccdg_broad_ai_ibd_daly_faubion_share_gsa_20240104_ANV5_202401121427'), - bqsrc('d4b1264d', 'ccdg_broad_ai_ibd_daly_faubion_share_wes_20240104_ANV5_202403040954'), - bqsrc('4d149951', 'ccdg_broad_ai_ibd_daly_franchimont_gsa_20240104_ANV5_202401121441'), - bqsrc('e12ce5bd', 'ccdg_broad_ai_ibd_daly_franchimont_wes_20240104_ANV5_202403041001'), - bqsrc('2c7e5905', 'ccdg_broad_ai_ibd_daly_hyams_protect_gsa_20240311_ANV5_202403121623'), - bqsrc('f5463526', 'ccdg_broad_ai_ibd_daly_kastner_fmf_gsa_20240104_ANV5_202401121503'), - bqsrc('51367192', 'ccdg_broad_ai_ibd_daly_kastner_fmf_nhgri_wes_20240104_ANV5_202401152230'), - bqsrc('7268c3a0', 'ccdg_broad_ai_ibd_daly_kupcinskas_gsa_20240311_ANV5_202403121627'), - bqsrc('51449a60', 'ccdg_broad_ai_ibd_daly_lira_share_wes_20240104_ANV5_202403041035'), - bqsrc('ee1b3121', 'ccdg_broad_ai_ibd_daly_louis_gsa_20240311_ANV5_202403121633'), - bqsrc('083044ec', 'ccdg_broad_ai_ibd_daly_newberry_share_gsa_20240105_ANV5_202401121611'), - bqsrc('10ae29e5', 'ccdg_broad_ai_ibd_daly_newberry_share_wes_20240105_ANV5_202403041117'), - bqsrc('a240ffda', 'ccdg_broad_ai_ibd_daly_niddk_cho_wes_20240105_ANV5_202403041125'), - bqsrc('929acb2a', 'ccdg_broad_ai_ibd_daly_rioux_bitton_igenomed_wes_20240105_ANV5_202401121701'), - bqsrc('fa70ba86', 'ccdg_broad_ai_ibd_daly_rioux_genizon_wes_20240311_ANV5_202403121426'), - bqsrc('6e9030de', 'ccdg_broad_ai_ibd_daly_rioux_igenomed_gsa_20240105_ANV5_202401121709'), - bqsrc('c9265cf7', 'ccdg_broad_ai_ibd_daly_rioux_niddk_gsa_20240108_ANV5_202401121716'), - bqsrc('fe283248', 'ccdg_broad_ai_ibd_daly_rioux_niddk_wes_20240108_ANV5_202403041140'), - bqsrc('3ca098f3', 'ccdg_broad_ai_ibd_daly_sands_msccr_gsa_20240108_ANV5_202401121730'), - bqsrc('fd47ae7f', 'ccdg_broad_ai_ibd_daly_sands_msccr_wes_20240108_ANV5_202403041148'), - bqsrc('4300fbc6', 'ccdg_broad_ai_ibd_daly_silverberg_niddk_gsa_20240108_ANV5_202401121745'), - bqsrc('14285871', 'ccdg_broad_ai_ibd_daly_stampfer_nhs_gsa_20240311_ANV5_202403121637'), - bqsrc('d69ac752', 'ccdg_broad_ai_ibd_daly_stampfer_wes_20240108_ANV5_202403041155'), - bqsrc('268dabf8', 'ccdg_broad_ai_ibd_daly_vermeire_gsa_20240113_ANV5_202402062145'), - bqsrc('636bc565', 'ccdg_broad_ai_ibd_daly_vermeire_wes_20240108_ANV5_202403041203'), - bqsrc('7cc92556', 'ccdg_broad_ai_ibd_daly_xavier_prism_gsa_20240108_ANV5_202402062149'), - bqsrc('6b12cac1', 'ccdg_broad_ai_ibd_daly_xavier_prism_wes_20240108_ANV5_202403041214'), - bqsrc('5d4e150c', 'ccdg_broad_ai_ibd_daly_xavier_share_gsa_20240108_ANV5_202401121819'), - bqsrc('e30e7797', 'ccdg_broad_ai_ibd_daly_xavier_share_wes_20240108_ANV5_202403041224'), - bqsrc('597e5f25', 'ccdg_broad_ai_ibd_niddk_daly_duerr_wes_20240112_ANV5_202403041241'), - bqsrc('2f8b185b', 'ccdg_broad_ai_ibd_niddk_daly_silverberg_wes_20240112_ANV5_202403041250'), - bqsrc('7a0883a4', 'ccdg_broad_cvd_af_pegasus_hmb_20221025_ANV5_202403030736', pop), - bqsrc('f62c5ebd', 'ccdg_broad_cvd_eocad_promis_wgs_20221213_ANV5_202403030935', pop), - bqsrc('9d116a5c', 'ccdg_broad_mi_atvb_ds_cvd_wes_20221025_ANV5_202403031035', pop), - bqsrc('6c0a5f0d', 'ccdg_broad_mi_univutah_ds_cvd_wes_20221026_ANV5_202403031059'), - bqsrc('235663ab', 'ccdg_broad_np_epilepsy_usavancontrols_hmb_gso_wes_20221101_ANV5_202403031924'), - bqsrc('81cf50b1', 'ccdg_broad_np_epilepsy_zafagn_ds_epi_como_mds_wes_20221026_ANV5_202403031933'), - bqsrc('e6801146', 'ccdg_nygc_np_autism_hmca_wgs_20221024_ANV5_202403032115'), - bqsrc('64b26798', 'ccdg_washu_ai_t1d_t1dgc_wgs_20221031_ANV5_202403032311'), - bqsrc('e3065356', 'ccdg_washu_cvd_eocad_biome_wgs_20221024_ANV5_202304211601', pop), - bqsrc('01e3396c', 'ccdg_washu_cvd_eocad_cleveland_wgs_20221024_ANV5_202403040008'), - bqsrc('5e62ca4f', 'ccdg_washu_cvd_eocad_emerge_wgs_20221024_ANV5_202403040026'), - bqsrc('a0d77559', 'ccdg_washu_cvd_eocad_emory_wgs_20221024_ANV5_202403040034'), - bqsrc('33e3428b', 'ccdg_washu_cvd_np_ai_controls_vccontrols_wgs_20221024_ANV5_202403032319', pop), - bqsrc('17c5f983', 'cmg_broad_brain_engle_wgs_20221202_ANV5_202402290614', pop), - bqsrc('1cb73890', 'cmg_broad_heart_ware_wes_20221215_ANV5_202304242145', pop), - bqsrc('833ff0a3', 'eMERGE_GRU_IRB_NPU_eMERGEseq_20230130_ANV5_202304271614', pop), - bqsrc('baf040af', 'eMERGE_GRU_IRB_PUB_NPU_eMERGEseq_20230130_ANV5_202304271616', pop), - bqsrc('270b3b62', 'eMERGE_GRU_IRB_eMERGEseq_20230130_ANV5_202304271613', pop), - bqsrc('c13efbe9', 'eMERGE_GRU_NPU_eMERGEseq_20230130_ANV5_202304271617', pop), - bqsrc('34f8138d', 'eMERGE_GRU_eMERGEseq_20230130_ANV5_202304271612', pop), - bqsrc('90b7b6e8', 'eMERGE_HMB_GSO_eMERGEseq_20230130_ANV5_202304271621', pop), - bqsrc('6e6dca92', 'eMERGE_HMB_IRB_PUB_eMERGEseq_20230130_ANV5_202304271622', pop), - bqsrc('1ddf2a8e', 'eMERGE_HMB_NPU_eMERGEseq_20230130_ANV5_202304271624', pop), - bqsrc('dba97a65', 'eMERGE_HMB_eMERGEseq_20230130_ANV5_202304271619', pop), - bqsrc('51aa9a22', 'eMERGE_PGRNseq_20230118_ANV5_202304241853', pop), - bqsrc('ce8c469f', 'eMERGE_PRS_Arrays_20221220_ANV5_202304271346', pop), - bqsrc('bf91a039', 'nhgri_broad_ibd_daly_winter_wes_20240112_ANV5_202403041315'), -])) - -anvil7_sources = mkdict(anvil6_sources, 256, mkdelta([ - bqsrc('c9e438dc', 'CCDG_Broad_NP_Epilepsy_GBRUCL_DS_EARET_MDS_WES_20221026_ANV5_202406261957'), - bqsrc('90a1d452', 'GREGoR_R01_GRU_20240208_ANV5_202407011515'), - bqsrc('c27c13db', 'GREGoR_R01_HMB_20240208_ANV5_202407011529'), - bqsrc('3594cc06', 'HPRC_20240401_ANV5_202406261913'), - bqsrc('49f55ff6', 'NIMH_Broad_WGSPD1_McCarroll_Light_DS_WGS_20240625_ANV5_202406262032'), - bqsrc('54040f7f', 'T2T_CHRY_20240301_ANV5_202406271432'), - bqsrc('5048eadd', 'ccdg_broad_ai_ibd_daly_brant_burnstein_utsw_wes_20240627_ANV5_202406271535'), - bqsrc('5d003f44', 'ccdg_broad_daly_igsr_1kg_twist_wes_20240625_ANV5_202406261904') -])) - -anvil8_sources = mkdict(anvil7_sources, 254, mkdelta([ - bqsrc('6fd2f543', '1000G_PRIMED_data_model_20240410_ANV5_202409251724'), - bqsrc('13858a9f', '1000G_high_coverage_2019_20230517_ANV5_202409231755'), - bqsrc('f954ce44', 'African_American_Seq_HGV_20230727_ANV5_202409251735'), - bqsrc('1c288bc8', 'CCDG_Baylor_CVD_ARIC_20231008_ANV5_202409231808'), - bqsrc('69a5161a', 'CCDG_Broad_AI_IBD_Brant_DS_IBD_WGS_20240113_ANV5_202409302325'), - bqsrc('87ae3152', 'CCDG_Broad_AI_IBD_Brant_HMB_WGS_20240113_ANV5_202410011417'), - bqsrc('0de3f19d', 'CCDG_Broad_AI_IBD_Cho_WGS_20240113_ANV5_202409261925'), - bqsrc('183d3f73', 'CCDG_Broad_AI_IBD_Kugathasan_WGS_20240113_ANV5_202409261935'), - bqsrc('f82d1472', 'CCDG_Broad_AI_IBD_McGovern_WGS_20240113_ANV5_202409262009'), - bqsrc('a173fc34', 'CCDG_Broad_AI_IBD_Newberry_WGS_20240113_ANV5_202409262020'), - bqsrc('b0ce674b', 'CCDG_Broad_CVD_EOCAD_PartnersBiobank_HMB_Arrays_20230517_ANV5_202410011428'), - bqsrc('f88712d7', 'CCDG_Broad_CVD_EOCAD_PartnersBiobank_HMB_WES_20230621_ANV5_202409262029'), - bqsrc('948779f6', 'CCDG_Broad_CVD_EOCAD_TaiChi_WGS_20221026_ANV5_202409251741'), - bqsrc('ed6900d9', 'CCDG_Broad_CVD_EOCAD_VIRGO_WGS_20221024_ANV5_202409251751'), - bqsrc('38d33c51', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_WES_20230128_ANV5_202410011452'), - bqsrc('a6afe2df', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_WES_20221101_ANV5_202409262047'), - bqsrc('9bf401b1', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_WES_20221101_ANV5_202409262056'), - bqsrc('573b1bec', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_WES_20221101_ANV5_202409262105'), - bqsrc('eeaf2d1a', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_IRB_WES_20230621_ANV5_202410011503'), - bqsrc('3b3be681', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_WES_20221026_ANV5_202409262116'), - bqsrc('b8d6b994', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_ADLT_WES_20230128_ANV5_202410011513'), - bqsrc('49cabb98', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_WES_20230314_ANV5_202410011523'), - bqsrc('afcff545', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_WES_20221108_ANV5_202410011533'), - bqsrc('2df70f51', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_WES_20221027_ANV5_202409262125'), - bqsrc('ab5c8456', 'CCDG_Broad_NP_Epilepsy_BRAUSP_DS_WES_20240201_ANV5_202410011544'), - bqsrc('a1b27d24', 'CCDG_Broad_NP_Epilepsy_CANCAL_GRU_v2_WES_20240201_ANV5_202410011554'), - bqsrc('3f080a87', 'CCDG_Broad_NP_Epilepsy_CANUTN_DS_EP_WES_20230328_ANV5_202409262134'), - bqsrc('465bfaac', 'CCDG_Broad_NP_Epilepsy_CHEUBB_HMB_IRB_MDS_WES_20221102_ANV5_202409262144'), - bqsrc('ccb8a4b7', 'CCDG_Broad_NP_Epilepsy_CYPCYP_HMB_NPU_MDS_WES_20230328_ANV5_202409301706'), - bqsrc('015bb538', 'CCDG_Broad_NP_Epilepsy_CZEMTH_GRU_WES_20221108_ANV5_202409262231'), - bqsrc('435613ab', 'CCDG_Broad_NP_Epilepsy_DEUPUM_HMB_MDS_WES_20230328_ANV5_202409262240'), - bqsrc('2f73c7c1', 'CCDG_Broad_NP_Epilepsy_DEUUGS_DS_EP_MDS_WES_20240201_ANV5_202409262249'), - bqsrc('3841aefa', 'CCDG_Broad_NP_Epilepsy_DEUUKB_HMB_NPU_MDS_WES_20230328_ANV5_202409262258'), - bqsrc('99470817', 'CCDG_Broad_NP_Epilepsy_DEUUKL_HMB_WES_20221102_ANV5_202409262308'), - bqsrc('46e142ab', 'CCDG_Broad_NP_Epilepsy_DEUULG_GRU_WES_20221108_ANV5_202409262318'), - bqsrc('2648f51f', 'CCDG_Broad_NP_Epilepsy_DEUUTB_HMB_NPU_MDS_WES_20230328_ANV5_202409262327'), - bqsrc('b749c687', 'CCDG_Broad_NP_Epilepsy_FINKPH_EPIL_CO_MORBIDI_MDS_WES_20230328_ANV5_202409262337'), - bqsrc('5d23c09d', 'CCDG_Broad_NP_Epilepsy_FINUVH_HMB_NPU_MDS_WES_20221114_ANV5_202409262346'), - bqsrc('548a0b21', 'CCDG_Broad_NP_Epilepsy_FRALYU_HMB_WES_20230621_ANV5_202409262355'), - bqsrc('7a345902', 'CCDG_Broad_NP_Epilepsy_GBRSWU_CARDI_NEURO_WES_20221026_ANV5_202409270005'), - bqsrc('9f144aec', 'CCDG_Broad_NP_Epilepsy_GBRUCL_DS_EARET_MDS_WES_20221026_ANV5_202409251801'), - bqsrc('813188f4', 'CCDG_Broad_NP_Epilepsy_GBRUNL_EP_ETIOLOGY_MDS_WES_20221027_ANV5_202409301252'), - bqsrc('dca2300f', 'CCDG_Broad_NP_Epilepsy_GBRUNL_GRU_WES_20221108_ANV5_202409301302'), - bqsrc('6f0e0649', 'CCDG_Broad_NP_Epilepsy_GHAKNT_GRU_WES_20221122_ANV5_202409301311'), - bqsrc('6d3907bb', 'CCDG_Broad_NP_Epilepsy_HKGHKK_HMB_MDS_WES_20230328_ANV5_202409301321'), - bqsrc('636e501f', 'CCDG_Broad_NP_Epilepsy_HKOSB_GRU_WES_20230110_ANV5_202409231955'), - bqsrc('5271045a', 'CCDG_Broad_NP_Epilepsy_HRVUZG_HMB_MDS_WES_20221114_ANV5_202409301332'), - bqsrc('941ca2d1', 'CCDG_Broad_NP_Epilepsy_IRLRCI_GRU_IRB_WES_20230328_ANV5_202409301342'), - bqsrc('d6a4eda2', 'CCDG_Broad_NP_Epilepsy_ITAICB_HMB_NPU_MDS_WES_20230223_ANV5_202409301352'), - bqsrc('174f3d1e', 'CCDG_Broad_NP_Epilepsy_ITAIGI_GRU_WES_20221108_ANV5_202409301402'), - bqsrc('6cb9a7a7', 'CCDG_Broad_NP_Epilepsy_ITAUBG_DS_EPI_NPU_MDS_WES_20221027_ANV5_202409301413'), - bqsrc('87e7f1b9', 'CCDG_Broad_NP_Epilepsy_ITAUMC_DS_NEURO_MDS_WES_20221108_ANV5_202409301423'), - bqsrc('cbfb79d8', 'CCDG_Broad_NP_Epilepsy_ITAUMR_GRU_NPU_WES_20221114_ANV5_202409301433'), - bqsrc('9bbfe25c', 'CCDG_Broad_NP_Epilepsy_JPNFKA_GRU_WES_20221220_ANV5_202409301444'), - bqsrc('d4950205', 'CCDG_Broad_NP_Epilepsy_JPNRKI_DS_NPD_IRB_NPU_WES_20221027_ANV5_202410011604'), - bqsrc('12cc5629', 'CCDG_Broad_NP_Epilepsy_KENKIL_GRU_WES_20230110_ANV5_202409301453'), - bqsrc('b119a402', 'CCDG_Broad_NP_Epilepsy_LEBABM_DS_Epilepsy_WES_20230328_ANV5_202409301503'), - bqsrc('7354f3d2', 'CCDG_Broad_NP_Epilepsy_LEBABM_GRU_WES_20230110_ANV5_202409301514'), - bqsrc('00271874', 'CCDG_Broad_NP_Epilepsy_LTUUHK_HMB_NPU_MDS_WES_20221114_ANV5_202409301526'), - bqsrc('d0749ece', 'CCDG_Broad_NP_Epilepsy_NZLUTO_EPIL_BC_ID_MDS_WES_20230328_ANV5_202409301537'), - bqsrc('52be6def', 'CCDG_Broad_NP_Epilepsy_TURBZU_GRU_WES_20221108_ANV5_202409301547'), - bqsrc('8629a23a', 'CCDG_Broad_NP_Epilepsy_TURIBU_DS_NEURO_AD_NPU_WES_20221027_ANV5_202409301557'), - bqsrc('c6b049b2', 'CCDG_Broad_NP_Epilepsy_TWNCGM_HMB_NPU_AdultsONLY_WES_20240201_ANV5_202410011615'), - bqsrc('1b2e88a4', 'CCDG_Broad_NP_Epilepsy_USABCH_EPI_MUL_CON_MDS_WES_20221027_ANV5_202409301607'), - bqsrc('798646a1', 'CCDG_Broad_NP_Epilepsy_USABLC_GRU_NPU_WES_20221215_ANV5_202410011625'), - bqsrc('83ec96c3', 'CCDG_Broad_NP_Epilepsy_USACCF_HMB_MDS_WES_20221207_ANV5_202409301617'), - bqsrc('1e1218b7', 'CCDG_Broad_NP_Epilepsy_USACCH_DS_NEURO_MDS_WES_20221116_ANV5_202409301627'), - bqsrc('e421074a', 'CCDG_Broad_NP_Epilepsy_USACHP_GRU_WES_20230612_ANV5_202410011634'), - bqsrc('a7b2b8bc', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_EP_MDS_WES_20221027_ANV5_202409232006'), - bqsrc('9dc6e713', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_SEIZD_WES_20221027_ANV5_202409232016'), - bqsrc('69531ad0', 'CCDG_Broad_NP_Epilepsy_USACRW_EPI_ASZ_MED_MDS_WES_20221027_ANV5_202409232025'), - bqsrc('a1fbb513', 'CCDG_Broad_NP_Epilepsy_USAEGP_GRU_WES_20221110_ANV5_202409301638'), - bqsrc('797b067f', 'CCDG_Broad_NP_Epilepsy_USAFEB_GRU_WES_20221205_ANV5_202409301648'), - bqsrc('acd1fc6d', 'CCDG_Broad_NP_Epilepsy_USAHEP_GRU_WES_20230328_ANV5_202409301657'), - bqsrc('e44dfa03', 'CCDG_Broad_NP_Epilepsy_USALCH_HMB_WES_20230126_ANV5_202410011646'), - bqsrc('5521223c', 'CCDG_Broad_NP_Epilepsy_USAMGH_HMB_MDS_WES_20221207_ANV5_202409302000'), - bqsrc('c5ca49db', 'CCDG_Broad_NP_Epilepsy_USAMGH_MGBB_HMB_MDS_WES_20221207_ANV5_202409302009'), - bqsrc('8a9bc88a', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_NPU_WES_20221215_ANV5_202409302018'), - bqsrc('302dbf9e', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_WES_20240201_ANV5_202409302028'), - bqsrc('2d22bf8b', 'CCDG_Broad_NP_Epilepsy_USAMON_HMB_WES_20230131_ANV5_202410011657'), - bqsrc('23486b33', 'CCDG_Broad_NP_Epilepsy_USAMSS_DS_EP_NEURO_MDS_WES_20230612_ANV5_202410011708'), - bqsrc('76142d3b', 'CCDG_Broad_NP_Epilepsy_USANCH_DS_NEURO_MDS_WES_20221108_ANV5_202410011719'), - bqsrc('3e1c2a3e', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_NPU_WES_20221114_ANV5_202409302037'), - bqsrc('fd6ee483', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_WES_20230328_ANV5_202409302046'), - bqsrc('416b4095', 'CCDG_Broad_NP_Epilepsy_USAUPN_Rader_GRU_WES_20230328_ANV5_202409302055'), - bqsrc('a8099f9d', 'CCDG_Broad_NP_Epilepsy_USAVAN_HMB_GSO_WES_20221207_ANV5_202410011732'), - bqsrc('7529b6b1', 'CCDG_Broad_Spalletta_HMB_NPU_MDS_WES_20221102_ANV5_202409232034'), - bqsrc('27e59539', 'CCDG_NYGC_NP_Autism_ACE2_DS_MDS_WGS_20230605_ANV5_202409302125'), - bqsrc('37c78fc4', 'CCDG_NYGC_NP_Autism_ACE2_GRU_MDS_WGS_20230605_ANV5_202409232043'), - bqsrc('e3ebc7f0', 'CCDG_NYGC_NP_Autism_AGRE_WGS_20230605_ANV5_202410011742'), - bqsrc('1c1b8f44', 'CCDG_NYGC_NP_Autism_CAG_DS_WGS_20230605_ANV5_202409232053'), - bqsrc('f32ef49b', 'CCDG_NYGC_NP_Autism_HFA_DS_WGS_20230605_ANV5_202409232102'), - bqsrc('82575f4a', 'CCDG_NYGC_NP_Autism_PELPHREY_ACE_DS_WGS_20221103_ANV5_202409232112'), - bqsrc('25858a7b', 'CCDG_NYGC_NP_Autism_PELPHREY_ACE_GRU_WGS_20221103_ANV5_202409241351'), - bqsrc('8302ff1f', 'CCDG_NYGC_NP_Autism_SAGE_WGS_20230605_ANV5_202409302144'), - bqsrc('443d8d20', 'CCDG_NYGC_NP_Autism_SSC_WGS_20230605_ANV5_202409302154'), - bqsrc('660280f8', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_DS_WGS_20230525_ANV5_202409302255'), - bqsrc('4a0769c7', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_GRU_IRB_WGS_20230525_ANV5_202403040126', pop), - bqsrc('c2a2b724', 'CMG_YALE_DS_MC_20221026_ANV5_202409302315'), - bqsrc('f961f617', 'CMG_YALE_DS_RARED_20221020_ANV5_202409251714'), - bqsrc('5d222190', 'CMG_Yale_DS_BPEAKD_20240113_ANV5_202410011754'), - bqsrc('fe056168', 'CMG_Yale_DS_RD_20240113_ANV5_202410011804'), - bqsrc('06182245', 'CMG_Yale_DS_THAL_IRB_20240113_ANV5_202410011814'), - bqsrc('ad307392', 'CMG_Yale_GRU_20221020_ANV5_202402281628', pop), - bqsrc('35779fe0', 'CMG_Yale_HMB_20221020_ANV5_202410011825'), - bqsrc('cebe6de0', 'CMG_Yale_HMB_GSO_20221020_ANV5_202410011834'), - bqsrc('5c7f0d2a', 'CMG_Yale_HMB_IRB_20240113_ANV5_202410011846'), - bqsrc('abdbf318', 'CMH_GAFK_10X_Genomics_20240304_ANV5_202409251809'), - bqsrc('a3097787', 'CMH_GAFK_ES_20240301_ANV5_202409251815'), - bqsrc('e4a5f270', 'CMH_GAFK_GS_linked_read_20221107_ANV5_202409251830'), - bqsrc('0eaa72dc', 'CMH_GAFK_GS_long_read_20240301_ANV5_202409251840'), - bqsrc('54e0207f', 'CMH_GAFK_IlluminaGSA_20240311_ANV5_202409231642'), - bqsrc('b69c3ccd', 'CMH_GAFK_IsoSeq_20240113_ANV5_202409251851'), - bqsrc('aa13412e', 'CMH_GAFK_MGI_20240304_ANV5_202409251952'), - bqsrc('61c255d4', 'CMH_GAFK_PacBio_methyl_tagged_20240311_ANV5_202409231650'), - bqsrc('e6bc59ce', 'CMH_GAFK_WGS_20240113_ANV5_202409252004'), - bqsrc('2b8418a9', 'CSER_CHARM_GRU_20240301_ANV5_202410021502'), - bqsrc('3c4e3e42', 'CSER_NYCKIDSEQ_GRU_20240113_ANV5_202409252031'), - bqsrc('bfb01f90', 'CSER_NYCKIDSEQ_HMB_20240113_ANV5_202409252040'), - bqsrc('9fb7b90a', 'CSER_P3EGS_GRU_20230727_ANV5_202409252049'), - bqsrc('0e626b88', 'CSER_SouthSeq_GRU_20221208_ANV5_202410021513'), - bqsrc('c60190e0', 'GREGoR_R01_GRU_20240208_ANV5_202408141711'), - bqsrc('9a665ca1', 'GREGoR_R01_HMB_20240208_ANV5_202408141715'), - bqsrc('14f8d940', 'GTEx_BCM_GRU_CoRSIVs_20240116_ANV5_202409252058'), - bqsrc('44ba7ece', 'GTEx_V8_hg38_20240116_ANV5_202409251632'), - bqsrc('5fd8c286', 'GTEx_public_data_20240117_ANV5_202409252106'), - bqsrc('c1e66f15', 'HPRC_20240401_ANV5_202409251654'), - bqsrc('5dff1da7', 'NIA_CARD_Coriell_Cell_Lines_Open_20230727_ANV5_202410021438'), - bqsrc('65212bf5', 'NIA_CARD_LR_WGS_NABEC_GRU_20230727_ANV5_202410021449'), - bqsrc('9ffeaa82', 'NIMH_Broad_ConvNeuro_McCarroll_Nehme_Levy_CIRM_DS_Village_20240405_ANV5_202409201403'), - bqsrc('7f246585', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_CIRM_GRU_WGS_20240206_ANV5_202409252122'), - bqsrc('62c7b77b', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_Finkel_SMA_DS_WGS_20230109_ANV5_202409252132'), - bqsrc('0050666b', 'NIMH_Broad_WGSPD1_McCarroll_COGS_DS_WGS_20240113_ANV5_202409252139'), - bqsrc('591f1c1e', 'NIMH_Broad_WGSPD1_McCarroll_Escamilla_DS_WGS_20240112_ANV5_202410011855'), - bqsrc('59c59a28', 'NIMH_Broad_WGSPD1_McCarroll_Light_DS_WGS_20240625_ANV5_202409252147'), - bqsrc('754928da', 'NIMH_Broad_WGSPD1_McCarroll_Pato_GRU_WGS_20240112_ANV5_202410011904'), - bqsrc('cce0dbdc', 'NIMH_Broad_WGSPD_1_McCarroll_Braff_DS_WGS_20240304_ANV5_202409252156'), - bqsrc('2bf3361f', 'NIMH_CIRM_FCDI_ConvergentNeuro_McCarroll_Eggan_GRU_Arrays_20230109_ANV5_202409252204'), - bqsrc('95f60999', 'T2T_20230714_ANV5_202409252214'), - bqsrc('a20ffbf1', 'T2T_CHRY_20240301_ANV5_202409252300'), - bqsrc('c4be3462', 'ccdg_asc_ndd_daly_talkowski_AGRE_asd_exome_20221102_ANV5_202409241400'), - bqsrc('842d0cc0', 'ccdg_asc_ndd_daly_talkowski_IBIS_asd_exome_20221024_ANV5_202409241411'), - bqsrc('40c6c06f', 'ccdg_asc_ndd_daly_talkowski_TASC_asd_exome_20221117_ANV5_202409241420'), - bqsrc('56136832', 'ccdg_asc_ndd_daly_talkowski_aleksic_asd_exome_20231013_ANV5_202409241432'), - bqsrc('dd505610', 'ccdg_asc_ndd_daly_talkowski_barbosa_asd_exome_20221108_ANV5_202409241442'), - bqsrc('b2e1bb0d', 'ccdg_asc_ndd_daly_talkowski_brusco_asd_exome_20230327_ANV5_202409241451'), - bqsrc('5382a45d', 'ccdg_asc_ndd_daly_talkowski_chung_asd_exome_20221107_ANV5_202409241501'), - bqsrc('ffb6d106', 'ccdg_asc_ndd_daly_talkowski_control_NIMH_asd_exome_20221201_ANV5_202409241511'), - bqsrc('0de6bd0f', 'ccdg_asc_ndd_daly_talkowski_gargus_asd_exome_20231013_ANV5_202409241521'), - bqsrc('eced0cb1', 'ccdg_asc_ndd_daly_talkowski_goethe_asd_exome_20221107_ANV5_202409241530'), - bqsrc('849f26ad', 'ccdg_asc_ndd_daly_talkowski_gurrieri_asd_exome_20221024_ANV5_202409252359'), - bqsrc('ef7e53e2', 'ccdg_asc_ndd_daly_talkowski_hertz_picciotto_asd_exome_20221107_ANV5_202409241541'), - bqsrc('4155fb6c', 'ccdg_asc_ndd_daly_talkowski_hertz_picciotto_asd_wgs_20221107_ANV5_202409241551'), - bqsrc('7ef162bf', 'ccdg_asc_ndd_daly_talkowski_kolevzon_asd_exome_20221108_ANV5_202409241559'), - bqsrc('0aba3c39', 'ccdg_asc_ndd_daly_talkowski_kolevzon_asd_wgs_20221109_ANV5_202409241611'), - bqsrc('49fb2096', 'ccdg_asc_ndd_daly_talkowski_mayo_asd_exome_20221024_ANV5_202409252350'), - bqsrc('ac3a764d', 'ccdg_asc_ndd_daly_talkowski_mcpartland_asd_exome_20221116_ANV5_202409241620'), - bqsrc('3829964a', 'ccdg_asc_ndd_daly_talkowski_menashe_asd_exome_20221108_ANV5_202409241630'), - bqsrc('903678e2', 'ccdg_asc_ndd_daly_talkowski_parellada_asd_exome_20221108_ANV5_202409241638'), - bqsrc('9d656629', 'ccdg_asc_ndd_daly_talkowski_passos_bueno_asd_exome_20221108_ANV5_202409241649'), - bqsrc('faa3347c', 'ccdg_asc_ndd_daly_talkowski_pericak_vance_asd_exome__20221025_ANV5_202409241658'), - bqsrc('2ea97771', 'ccdg_asc_ndd_daly_talkowski_pericak_vance_asd_wgs_20221027_ANV5_202409241814'), - bqsrc('88aae06e', 'ccdg_asc_ndd_daly_talkowski_persico_asd_exome_20221027_ANV5_202409241823'), - bqsrc('08215fa6', 'ccdg_asc_ndd_daly_talkowski_renieri_asd_exome_20230327_ANV5_202409241833'), - bqsrc('6f17c190', 'ccdg_asc_ndd_daly_talkowski_schloesser_asd_exome_20230324_ANV5_202409241842'), - bqsrc('333a3617', 'ccdg_asc_ndd_daly_talkowski_weiss_asd_exome_20221108_ANV5_202409241851'), - bqsrc('1e362e1d', 'ccdg_broad_ai_ibd_daly_brant_burnstein_utsw_wes_20240627_ANV5_202409260008'), - bqsrc('8918d261', 'ccdg_broad_ai_ibd_daly_brant_niddk_gsa_20240103_ANV5_202409260018'), - bqsrc('f5fdd89a', 'ccdg_broad_ai_ibd_daly_burnstein_gsa_20240103_ANV5_202409261428'), - bqsrc('91d1ab8e', 'ccdg_broad_ai_ibd_daly_chen_gsa_20240103_ANV5_202409261437'), - bqsrc('acab4546', 'ccdg_broad_ai_ibd_daly_chen_wes_20240103_ANV5_202409241859'), - bqsrc('45c2ba3b', 'ccdg_broad_ai_ibd_daly_cho_niddk_gsa_20240103_ANV5_202409261446'), - bqsrc('185d52bd', 'ccdg_broad_ai_ibd_daly_chung_gider_gsa_20240103_ANV5_202409261456'), - bqsrc('01e1177c', 'ccdg_broad_ai_ibd_daly_chung_gider_wes_20240103_ANV5_202409241909'), - bqsrc('94a46beb', 'ccdg_broad_ai_ibd_daly_faubion_share_gsa_20240104_ANV5_202409261505'), - bqsrc('b2456308', 'ccdg_broad_ai_ibd_daly_faubion_share_wes_20240104_ANV5_202409241919'), - bqsrc('dde3655d', 'ccdg_broad_ai_ibd_daly_franchimont_gsa_20240104_ANV5_202409261515'), - bqsrc('73a081bb', 'ccdg_broad_ai_ibd_daly_franchimont_wes_20240104_ANV5_202409241929'), - bqsrc('f4d731a0', 'ccdg_broad_ai_ibd_daly_hyams_protect_gsa_20240311_ANV5_202409231656'), - bqsrc('21868172', 'ccdg_broad_ai_ibd_daly_hyams_protect_wes_20240104_ANV5_202409241940'), - bqsrc('a6a40cd9', 'ccdg_broad_ai_ibd_daly_kastner_fmf_gsa_20240104_ANV5_202409261525'), - bqsrc('4b41d063', 'ccdg_broad_ai_ibd_daly_kastner_fmf_nhgri_wes_20240104_ANV5_202409261534'), - bqsrc('59084d62', 'ccdg_broad_ai_ibd_daly_kupcinskas_gsa_20240311_ANV5_202409231708'), - bqsrc('e56d71fd', 'ccdg_broad_ai_ibd_daly_kupcinskas_wes_20240104_ANV5_202409241949'), - bqsrc('98f1acc9', 'ccdg_broad_ai_ibd_daly_lewis_sparc_gsa_20240104_ANV5_202409261543'), - bqsrc('5b2de91f', 'ccdg_broad_ai_ibd_daly_lira_share_wes_20240104_ANV5_202409242001'), - bqsrc('144a86c1', 'ccdg_broad_ai_ibd_daly_louis_gsa_20240311_ANV5_202409231721'), - bqsrc('5dd9d83b', 'ccdg_broad_ai_ibd_daly_louis_wes_20240104_ANV5_202409242011'), - bqsrc('f11a2ad0', 'ccdg_broad_ai_ibd_daly_mccauley_wes_20240104_ANV5_202409242021'), - bqsrc('2b74b327', 'ccdg_broad_ai_ibd_daly_mcgovern_niddk_wes_20240104_ANV5_202409242032'), - bqsrc('91cac0e9', 'ccdg_broad_ai_ibd_daly_moayyedi_imagine_gsa_20240105_ANV5_202409261605'), - bqsrc('1cde4183', 'ccdg_broad_ai_ibd_daly_newberry_share_gsa_20240105_ANV5_202409261616'), - bqsrc('7a369c1e', 'ccdg_broad_ai_ibd_daly_newberry_share_wes_20240105_ANV5_202409242046'), - bqsrc('db6e29bb', 'ccdg_broad_ai_ibd_daly_niddk_cho_wes_20240105_ANV5_202409242056'), - bqsrc('820a5c30', 'ccdg_broad_ai_ibd_daly_pekow_share_gsa_20240105_ANV5_202409261627'), - bqsrc('69911b0d', 'ccdg_broad_ai_ibd_daly_pekow_share_wes_20240105_ANV5_202409242107'), - bqsrc('77ec2fe1', 'ccdg_broad_ai_ibd_daly_rioux_bitton_igenomed_wes_20240105_ANV5_202409261636'), - bqsrc('08a64b4f', 'ccdg_broad_ai_ibd_daly_rioux_genizon_wes_20240311_ANV5_202409231732'), - bqsrc('13a5c9e0', 'ccdg_broad_ai_ibd_daly_rioux_igenomed_gsa_20240105_ANV5_202409261645'), - bqsrc('d8202699', 'ccdg_broad_ai_ibd_daly_rioux_niddk_gsa_20240108_ANV5_202409261653'), - bqsrc('67df5d1d', 'ccdg_broad_ai_ibd_daly_rioux_niddk_wes_20240108_ANV5_202409242116'), - bqsrc('f0ead8f9', 'ccdg_broad_ai_ibd_daly_sands_msccr_gsa_20240108_ANV5_202409261705'), - bqsrc('f890c249', 'ccdg_broad_ai_ibd_daly_sands_msccr_wes_20240108_ANV5_202409242127'), - bqsrc('065c8f18', 'ccdg_broad_ai_ibd_daly_silverberg_niddk_gsa_20240108_ANV5_202409261715'), - bqsrc('401b1cf7', 'ccdg_broad_ai_ibd_daly_stampfer_nhs_gsa_20240311_ANV5_202409231743'), - bqsrc('034aecb5', 'ccdg_broad_ai_ibd_daly_stampfer_wes_20240108_ANV5_202409251505'), - bqsrc('f3933ea2', 'ccdg_broad_ai_ibd_daly_vermeire_gsa_20240113_ANV5_202409261726'), - bqsrc('dbda69e3', 'ccdg_broad_ai_ibd_daly_vermeire_wes_20240108_ANV5_202409251516'), - bqsrc('d1d3e261', 'ccdg_broad_ai_ibd_daly_xavier_prism_gsa_20240108_ANV5_202409261740'), - bqsrc('1918c027', 'ccdg_broad_ai_ibd_daly_xavier_prism_wes_20240108_ANV5_202409251531'), - bqsrc('900597b7', 'ccdg_broad_ai_ibd_daly_xavier_share_gsa_20240108_ANV5_202409261751'), - bqsrc('e9e9f233', 'ccdg_broad_ai_ibd_daly_xavier_share_wes_20240108_ANV5_202409251548'), - bqsrc('851fd8f7', 'ccdg_broad_ai_ibd_niddk_daly_duerr_wes_20240112_ANV5_202409251558'), - bqsrc('13a30243', 'ccdg_broad_ai_ibd_niddk_daly_silverberg_wes_20240112_ANV5_202409251610'), - bqsrc('eceddedc', 'ccdg_broad_daly_igsr_1kg_twist_wes_20240625_ANV5_202409231828'), - bqsrc('96417715', 'ccdg_broad_mi_univutah_ds_cvd_wes_20221026_ANV5_202409231943'), - bqsrc('ff012258', 'ccdg_broad_np_epilepsy_usavancontrols_hmb_gso_wes_20221101_ANV5_202409302105'), - bqsrc('61b6b42b', 'ccdg_broad_np_epilepsy_zafagn_ds_epi_como_mds_wes_20221026_ANV5_202409302116'), - bqsrc('c27e3cda', 'ccdg_nygc_np_autism_hmca_wgs_20221024_ANV5_202409302135'), - bqsrc('f4073027', 'ccdg_nygc_np_autism_tasc_wgs_20221024_ANV5_202409302207'), - bqsrc('6f9855f6', 'ccdg_washu_ai_t1d_t1dgc_wgs_20221031_ANV5_202409302216'), - bqsrc('95a5e448', 'ccdg_washu_cvd_eocad_cleveland_wgs_20221024_ANV5_202409302226'), - bqsrc('9faffbb3', 'ccdg_washu_cvd_eocad_emerge_wgs_20221024_ANV5_202409302235'), - bqsrc('5d6d4dc4', 'ccdg_washu_cvd_eocad_emory_wgs_20221024_ANV5_202409302245'), - bqsrc('db95c1cc', 'nhgri_broad_ibd_daly_winter_wes_20240112_ANV5_202409251622'), -])) - -anvil9_sources = mkdict(anvil8_sources, 280, mkdelta([ - bqsrc('b555b2f5', '1000G_PRIMED_data_model_20240410_ANV5_202502211647'), - bqsrc('265cde27', 'ALSCompute_Collection_GRU_20231016_ANV5_202410310107'), - bqsrc('853bbf15', 'ALSCompute_Collection_HMB_20241018_ANV5_202410232001'), - bqsrc('5216abda', 'CCDG_Broad_AI_IBD_McCauley_WGS_20240114_ANV5_202502052138'), - bqsrc('078d7ad8', 'CCDG_Broad_CVD_AF_Figtree_BioHeart_Arrays_20250206_ANV5_202502201726'), - bqsrc('ea743ee1', 'CCDG_Broad_CVD_AF_Figtree_BioHeart_HMB_WES_20250206_ANV5_202502201731'), - bqsrc('088ebd14', 'CCDG_Broad_CVD_AF_GAPP_DS_MDS_Arrays_20250206_ANV5_202502201736'), - bqsrc('147aff13', 'CCDG_Broad_CVD_AF_GAPP_DS_MDS_WES_20250206_ANV5_202502201740'), - bqsrc('897ad869', 'CCDG_Broad_CVD_AF_Marcus_UCSF_Arrays_20250206_ANV5_202502201745'), - bqsrc('ac2033df', 'CCDG_Broad_CVD_AF_Marcus_UCSF_HMB_WES_20250206_ANV5_202502201749'), - bqsrc('190647f7', 'CCDG_Broad_CVD_AF_VAFAR_Arrays_20250219_ANV5_202502201753'), - bqsrc('9694bb1c', 'CCDG_Broad_MI_ATVB_DS_CVD_WES_20250206_ANV5_202502201757'), - bqsrc('6a7bfee9', 'CCDG_Broad_MI_BRAVE_GRU_WES_20250206_ANV5_202502201801'), - bqsrc('12048ad1', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_WES_20230128_ANV5_202502201806'), - bqsrc('f101bba7', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_IRB_WES_20230621_ANV5_202502201810'), - bqsrc('1f264a75', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_ADLT_WES_20230128_ANV5_202502201814'), - bqsrc('6d9ad64a', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_WES_20230314_ANV5_202502201818'), - bqsrc('724f8958', 'CCDG_Broad_NP_Epilepsy_BRAUSP_DS_WES_20240201_ANV5_202502201822'), - bqsrc('1d96b10b', 'CCDG_Broad_NP_Epilepsy_CANCAL_GRU_v2_WES_20240201_ANV5_202502201826'), - bqsrc('aa7f9c50', 'CCDG_Broad_NP_Epilepsy_DEUUGS_DS_EP_MDS_WES_20240201_ANV5_202502201830'), - bqsrc('aef3d233', 'CCDG_Broad_NP_Epilepsy_TWNCGM_HMB_NPU_AdultsONLY_WES_20240201_ANV5_202502201834'), - bqsrc('95c60b51', 'CCDG_Broad_NP_Epilepsy_USALCH_HMB_WES_20230126_ANV5_202502201839'), - bqsrc('b5486758', 'CCDG_Broad_NP_Epilepsy_USAMON_HMB_WES_20230131_ANV5_202502201843'), - bqsrc('0ef2f4b9', 'CMG_UWASH_DS_BAV_IRB_PUB_RD_20250206_ANV5_202502201846'), - bqsrc('e85fc320', 'CMG_UWASH_DS_BDIS_20250206_ANV5_202502201850'), - bqsrc('a5e0fb2a', 'CMG_UWASH_DS_HFA_20250206_ANV5_202502201859'), - bqsrc('28813dc5', 'CMG_UWASH_DS_NBIA_20250206_ANV5_202502201903'), - bqsrc('418e6f5b', 'CMG_UWASH_HMB_20250219_ANV5_202502201916'), - bqsrc('11e44295', 'CMG_UWASH_HMB_IRB_20250219_ANV5_202502201921'), - bqsrc('2c303369', 'CMG_UWash_DS_CHDEF_20250224_ANV5_202502241753'), - bqsrc('0e0af0a8', 'CMG_UWash_DS_EP_20250219_ANV5_202502201854'), - bqsrc('766c47dd', 'CMG_UWash_GRU_20250224_ANV5_202502241706'), - bqsrc('aa22e87e', 'CMG_UWash_GRU_IRB_20250224_ANV5_202502241723'), - bqsrc('7c44dbc8', 'CMH_GAFK_ES_20240301_ANV5_202502201925'), - bqsrc('97f2fa00', 'CMH_GAFK_GS_long_read_20240301_ANV5_202502201932'), - bqsrc('456a8996', 'CMH_GAFK_IlluminaGSA_20240311_ANV5_202502201937'), - bqsrc('9263e232', 'CMH_GAFK_IsoSeq_20240113_ANV5_202502201941'), - bqsrc('ef718b6b', 'CMH_GAFK_PacBio_methyl_tagged_20240311_ANV5_202502201945'), - bqsrc('de339830', 'CMH_GAFK_WGS_20240113_ANV5_202502201948'), - bqsrc('706dd75a', 'DepMap_HMB_20240827_ANV5_202410240027'), - bqsrc('cab8b4b3', 'DepMap_HMB_R2_20250224_ANV5_202502241800'), - bqsrc('d4765cad', 'AnVIL_ENCORE_RS293_20250304_ANV5_202503042020'), - bqsrc('e944e571', 'GREGoR_R01_GRU_20240208_ANV5_202502202158'), - bqsrc('24806158', 'GREGoR_R01_HMB_20240208_ANV5_202502202202'), - bqsrc('88e6ae93', 'GREGoR_R02_HMB_20241105_ANV5_202502202131'), - bqsrc('46fcac4d', 'MAS_ISO_seq_20240113_ANV5_202409261333'), - bqsrc('2e8d7a0e', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_CIRM_GRU_WGS_20240206_ANV5_202502202026'), - bqsrc('14a38418', 'NIMH_Broad_WGSPD1_McCarroll_COGS_DS_WGS_20240113_ANV5_202502202034'), - bqsrc('91ecebc5', 'NIMH_Broad_WGSPD_1_McCarroll_Braff_DS_WGS_20240304_ANV5_202502202030'), -])) - -anvil10_sources = mkdict(anvil9_sources, 283, mkdelta([ - bqsrc('6db4e098', 'CCDG_Baylor_CVD_ARIC_20231008_ANV5_202503171456'), - bqsrc('14967a4d', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_GRU_IRB_WGS_20230525_ANV5_202503171543'), - bqsrc('2c000b04', 'FetalGenomics_PrenatalSEQ_20250520_ANV5_202505201718'), - bqsrc('8ae2d6e6', 'ccdg_asc_ndd_daly_talkowski_AGRE_asd_exome_20250514_ANV5_202505191331'), - bqsrc('1841de51', 'ccdg_asc_ndd_daly_talkowski_IBIS_asd_exome_20250514_ANV5_202505191529'), - bqsrc('9a9bd879', 'ccdg_asc_ndd_daly_talkowski_TASC_asd_exome_20250515_ANV5_202505191729'), - bqsrc('bf0b5c71', 'ccdg_asc_ndd_daly_talkowski_ac_boston_asd_exome_20250507_ANV5_202505080038'), - bqsrc('de55c8ca', 'ccdg_asc_ndd_daly_talkowski_aleksic_asd_exome_20250514_ANV5_202505191339'), - bqsrc('05f81c53', 'ccdg_asc_ndd_daly_talkowski_barbosa_asd_exome_20250514_ANV5_202505191347'), - bqsrc('ec751e53', 'ccdg_asc_ndd_daly_talkowski_brusco_asd_exome_20250514_ANV5_202505191354'), - bqsrc('e880eb24', 'ccdg_asc_ndd_daly_talkowski_chung_asd_exome_20250514_ANV5_202505191404'), - bqsrc('14218b2f', 'ccdg_asc_ndd_daly_talkowski_control_NIMH_asd_exome_20250514_ANV5_202505191412'), - bqsrc('44dd3f7f', 'ccdg_asc_ndd_daly_talkowski_domenici_asd_exome_20250514_ANV5_202505191423'), - bqsrc('b497e3bd', 'ccdg_asc_ndd_daly_talkowski_gargus_asd_exome_20250514_ANV5_202505191431'), - bqsrc('23e0cf66', 'ccdg_asc_ndd_daly_talkowski_goethe_asd_exome_20250514_ANV5_202505191439'), - bqsrc('dae963c2', 'ccdg_asc_ndd_daly_talkowski_gurrieri_asd_exome_20250514_ANV5_202505191448'), - bqsrc('02a4023f', 'ccdg_asc_ndd_daly_talkowski_herman_asd_exome_20250514_ANV5_202505191456'), - bqsrc('562d7351', 'ccdg_asc_ndd_daly_talkowski_hertz_picciotto_asd_exome_20250514_ANV5_202505191503'), - bqsrc('90758277', 'ccdg_asc_ndd_daly_talkowski_hertz_picciotto_asd_wgs_20250514_ANV5_202505191512'), - bqsrc('cd6d2aa6', 'ccdg_asc_ndd_daly_talkowski_hultman_asd_exome_20250514_ANV5_202505191519'), - bqsrc('d21464d2', 'ccdg_asc_ndd_daly_talkowski_kolevzon_asd_exome_20250514_ANV5_202505191537'), - bqsrc('186b5498', 'ccdg_asc_ndd_daly_talkowski_kolevzon_asd_wgs_20250514_ANV5_202505191546'), - bqsrc('7fc43dc3', 'ccdg_asc_ndd_daly_talkowski_lattig_asd_exome_20250514_ANV5_202505191554'), - bqsrc('e4ab9e05', 'ccdg_asc_ndd_daly_talkowski_mayo_asd_exome_20250515_ANV5_202505191602'), - bqsrc('81d3c9c8', 'ccdg_asc_ndd_daly_talkowski_mcpartland_asd_exome_20250515_ANV5_202505191610'), - bqsrc('0b020eb2', 'ccdg_asc_ndd_daly_talkowski_menashe_asd_exome_20250515_ANV5_202505191620'), - bqsrc('f49b0d4c', 'ccdg_asc_ndd_daly_talkowski_minshew_asd_exome_20250515_ANV5_202505191632'), - bqsrc('d0e9181a', 'ccdg_asc_ndd_daly_talkowski_parellada_asd_exome_20250515_ANV5_202505191640'), - bqsrc('3965a084', 'ccdg_asc_ndd_daly_talkowski_passos_bueno_asd_exome_20250515_ANV5_202505191651'), - bqsrc('c9d758bb', 'ccdg_asc_ndd_daly_talkowski_pericak_vance_asd_exome__20250515_ANV5_202505191658'), - bqsrc('45f811c7', 'ccdg_asc_ndd_daly_talkowski_persico_asd_exome_20250515_ANV5_202505191706'), - bqsrc('c3a807a3', 'ccdg_asc_ndd_daly_talkowski_renieri_asd_exome_20250515_ANV5_202505191714'), - bqsrc('d610c1c1', 'ccdg_asc_ndd_daly_talkowski_schloesser_asd_exome_20250515_ANV5_202505191722'), - bqsrc('ea8f0099', 'ccdg_asc_ndd_daly_talkowski_weiss_asd_exome_20250515_ANV5_202505191738'), - bqsrc('f143f633', 'ccdg_broad_ai_ibd_daly_mcgovern_share_wes_20240104_ANV5_202503171541'), -])) - -anvil11_sources = mkdict(anvil10_sources, 371, mkdelta([ - bqsrc('afe52c93', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_GSA_MD_20250718_ANV5_202508070436'), - bqsrc('a0e71864', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_WES_20250718_ANV5_202507300051'), - bqsrc('d4e6fade', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_GSA_MD_20250718_ANV5_202508051209'), - bqsrc('3c8c822c', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_WES_20250718_ANV5_202507300117'), - bqsrc('1c40baac', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_GSA_MD_20250718_ANV5_202508050140'), - bqsrc('6de194a7', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_WES_20250718_ANV5_202507300109'), - bqsrc('76e40236', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_GSA_MD_20250718_ANV5_202508050131'), - bqsrc('d1f97905', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_WES_20250718_ANV5_202507300059'), - bqsrc('6b600036', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_IRB_WES_20250718_ANV5_202507300125'), - bqsrc('21abf32b', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_GSA_MD_20250718_ANV5_202508051217'), - bqsrc('a9edefce', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_NPU_IRB_GSA_MD_20250718_ANV5_202508051225'), - bqsrc('1a3c4c17', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_WES_20250718_ANV5_202507311756'), - bqsrc('f297f460', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_ADLT_WES_20250718_ANV5_202507300140'), - bqsrc('d570baa0', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_MDS_NPU_GSA_MD_20250718_ANV5_202508051233'), - bqsrc('e459e688', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_NPU_ADLT_GSA_MD_20250718_ANV5_202508051240'), - bqsrc('4497c1cf', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_WES_20250718_ANV5_202507300148'), - bqsrc('661aa0d4', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_GSA_MD_20250718_ANV5_202508051249'), - bqsrc('1432eb38', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_WES_20250718_ANV5_202507300156'), - bqsrc('41cb412f', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_GSA_MD_20250718_ANV5_202508051256'), - bqsrc('c5c63622', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_WES_20250718_ANV5_202507311805'), - bqsrc('0374d242', 'CCDG_Broad_NP_Epilepsy_BRAUSP_DS_MDS_NPU_GSA_MD_20250718_ANV5_202508051303'), - bqsrc('03d1e104', 'CCDG_Broad_NP_Epilepsy_BRAUSP_DS_WES_20250718_ANV5_202507311814'), - bqsrc('2abd204e', 'CCDG_Broad_NP_Epilepsy_CANCAL_GRU_v2_WES_20250718_ANV5_202507300218'), - bqsrc('4427fad3', 'CCDG_Broad_NP_Epilepsy_CANCAL_GSA_MD_20250718_ANV5_202508051311'), - bqsrc('bde9ccdd', 'CCDG_Broad_NP_Epilepsy_CANUTN_DS_EP_GSA_MD_20250718_ANV5_202508051319'), - bqsrc('c01aff87', 'CCDG_Broad_NP_Epilepsy_CANUTN_DS_EP_WES_20250718_ANV5_202507300230'), - bqsrc('32f47a85', 'CCDG_Broad_NP_Epilepsy_CHEUBB_HMB_IRB_MDS_GSA_MD_20250718_ANV5_202508051327'), - bqsrc('38c9f789', 'CCDG_Broad_NP_Epilepsy_CHEUBB_HMB_IRB_MDS_WES_20250718_ANV5_202507300237'), - bqsrc('11d221ae', 'CCDG_Broad_NP_Epilepsy_CYPCYP_HMB_NPU_MDS_GSA_MD_20250718_ANV5_202508051334'), - bqsrc('1e8df3c0', 'CCDG_Broad_NP_Epilepsy_CYPCYP_HMB_NPU_MDS_WES_20250718_ANV5_202507300245'), - bqsrc('605ffd28', 'CCDG_Broad_NP_Epilepsy_CZEMTH_GRU_GSA_MD_20250721_ANV5_202508051342'), - bqsrc('69b2412d', 'CCDG_Broad_NP_Epilepsy_CZEMTH_GRU_WES_20250721_ANV5_202507300252'), - bqsrc('c209fbb5', 'CCDG_Broad_NP_Epilepsy_DEUPUM_HMB_MDS_GSA_MD_20250721_ANV5_202508051355'), - bqsrc('521fffef', 'CCDG_Broad_NP_Epilepsy_DEUPUM_HMB_MDS_WES_20250721_ANV5_202507300259'), - bqsrc('89f25203', 'CCDG_Broad_NP_Epilepsy_DEUUGS_DS_EP_MDS_GSA_MD_20250721_ANV5_202508051403'), - bqsrc('3efe17c5', 'CCDG_Broad_NP_Epilepsy_DEUUGS_DS_EP_MDS_WES_20250721_ANV5_202507300307'), - bqsrc('1a1d321e', 'CCDG_Broad_NP_Epilepsy_DEUUKB_HMB_NPU_MDS_GSA_MD_20250721_ANV5_202508051412'), - bqsrc('50e7f491', 'CCDG_Broad_NP_Epilepsy_DEUUKB_HMB_NPU_MDS_WES_20250721_ANV5_202507311823'), - bqsrc('d6d892c9', 'CCDG_Broad_NP_Epilepsy_DEUUKL_HMB_GSA_MD_20250721_ANV5_202508051421'), - bqsrc('8ea29289', 'CCDG_Broad_NP_Epilepsy_DEUUKL_HMB_WES_20250721_ANV5_202507300323'), - bqsrc('51b097e1', 'CCDG_Broad_NP_Epilepsy_DEUULG_GRU_GSA_MD_20250721_ANV5_202508051429'), - bqsrc('9b1b6c81', 'CCDG_Broad_NP_Epilepsy_DEUULG_GRU_WES_20250721_ANV5_202507300331'), - bqsrc('bfd88a7f', 'CCDG_Broad_NP_Epilepsy_DEUUTB_HMB_NPU_MDS_GSA_MD_20250721_ANV5_202508051437'), - bqsrc('eadf2c20', 'CCDG_Broad_NP_Epilepsy_DEUUTB_HMB_NPU_MDS_WES_20250721_ANV5_202507311835'), - bqsrc('fdd88715', 'CCDG_Broad_NP_Epilepsy_FINKPH_EPIL_CO_MORBIDI_MDS_WES_20250721_ANV5_202507300347'), - bqsrc('c040bb51', 'CCDG_Broad_NP_Epilepsy_FINKPH_EPIL_MDS_GSA_MD_20250721_ANV5_202508051446'), - bqsrc('d8d5745a', 'CCDG_Broad_NP_Epilepsy_FINUVH_HMB_NPU_MDS_GSA_MD_20250721_ANV5_202508051454'), - bqsrc('4bb9bad6', 'CCDG_Broad_NP_Epilepsy_FINUVH_HMB_NPU_MDS_WES_20250721_ANV5_202507300355'), - bqsrc('7205017c', 'CCDG_Broad_NP_Epilepsy_FRALYU_HMB_GSA_MD_20250721_ANV5_202508051503'), - bqsrc('a1074acf', 'CCDG_Broad_NP_Epilepsy_FRALYU_HMB_WES_20250721_ANV5_202507311844'), - bqsrc('63a1cdbc', 'CCDG_Broad_NP_Epilepsy_GBRSWU_CARDI_NEURO_GSA_MD_20250721_ANV5_202508051511'), - bqsrc('67ab4fc2', 'CCDG_Broad_NP_Epilepsy_GBRSWU_CARDI_NEURO_WES_20250721_ANV5_202507300410'), - bqsrc('59478363', 'CCDG_Broad_NP_Epilepsy_GBRUCL_DS_EARET_MDS_GSA_MD_20250721_ANV5_202508051519'), - bqsrc('28c93500', 'CCDG_Broad_NP_Epilepsy_GBRUCL_DS_EARET_MDS_WES_20250721_ANV5_202507300422'), - bqsrc('508e8da9', 'CCDG_Broad_NP_Epilepsy_GBRUNL_EP_ETIOLOGY_MDS_GSA_MD_20250721_ANV5_202508051527'), - bqsrc('dcf91ba6', 'CCDG_Broad_NP_Epilepsy_GBRUNL_EP_ETIOLOGY_MDS_WES_20250721_ANV5_202507300429'), - bqsrc('3adff934', 'CCDG_Broad_NP_Epilepsy_GBRUNL_GRU_GSA_MD_20250721_ANV5_202508051535'), - bqsrc('c2dc4f2d', 'CCDG_Broad_NP_Epilepsy_GBRUNL_GRU_WES_20250721_ANV5_202507300438'), - bqsrc('a8eb2929', 'CCDG_Broad_NP_Epilepsy_GHAKNT_GRU_GSA_MD_20250721_ANV5_202508051543'), - bqsrc('0da705f6', 'CCDG_Broad_NP_Epilepsy_GHAKNT_GRU_WES_20250721_ANV5_202507300445'), - bqsrc('7e5aa87b', 'CCDG_Broad_NP_Epilepsy_HKGHKK_HMB_MDS_GSA_MD_20250721_ANV5_202508051551'), - bqsrc('df3c4c25', 'CCDG_Broad_NP_Epilepsy_HKGHKK_HMB_MDS_WES_20250721_ANV5_202507311853'), - bqsrc('be423fad', 'CCDG_Broad_NP_Epilepsy_HKOSB_GRU_GSA_MD_20250721_ANV5_202508051559'), - bqsrc('76b648a7', 'CCDG_Broad_NP_Epilepsy_HKOSB_GRU_WES_20250721_ANV5_202507300459'), - bqsrc('2e47cb4a', 'CCDG_Broad_NP_Epilepsy_HRVUZG_HMB_MDS_GSA_MD_20250721_ANV5_202508051608'), - bqsrc('b92ea668', 'CCDG_Broad_NP_Epilepsy_HRVUZG_HMB_MDS_WES_20250721_ANV5_202507300507'), - bqsrc('fb086869', 'CCDG_Broad_NP_Epilepsy_IRLRCI_GRU_IRB_GSA_MD_20250721_ANV5_202508051615'), - bqsrc('ef987506', 'CCDG_Broad_NP_Epilepsy_IRLRCI_GRU_IRB_WES_20250721_ANV5_202507300514'), - bqsrc('f695ec55', 'CCDG_Broad_NP_Epilepsy_ITAICB_HMB_NPU_MDS_GSA_MD_20250721_ANV5_202508051624'), - bqsrc('cbf89a9e', 'CCDG_Broad_NP_Epilepsy_ITAICB_HMB_NPU_MDS_WES_20250721_ANV5_202507300522'), - bqsrc('3383c514', 'CCDG_Broad_NP_Epilepsy_ITAIGI_GRU_GSA_MD_20250721_ANV5_202508051633'), - bqsrc('1e2905c4', 'CCDG_Broad_NP_Epilepsy_ITAIGI_GRU_WES_20250721_ANV5_202507311902'), - bqsrc('a49a2f24', 'CCDG_Broad_NP_Epilepsy_ITAUBG_DS_EPI_NPU_MDS_GSA_MD_20250721_ANV5_202508051641'), - bqsrc('cf8affe8', 'CCDG_Broad_NP_Epilepsy_ITAUBG_DS_EPI_NPU_MDS_WES_20250721_ANV5_202507311912'), - bqsrc('2c90922a', 'CCDG_Broad_NP_Epilepsy_ITAUMC_DS_NEURO_MDS_GSA_MD_20250721_ANV5_202508051651'), - bqsrc('a8ea4518', 'CCDG_Broad_NP_Epilepsy_ITAUMC_DS_NEURO_MDS_WES_20250721_ANV5_202507300545'), - bqsrc('e9212e1f', 'CCDG_Broad_NP_Epilepsy_ITAUMR_GRU_NPU_GSA_MD_20250721_ANV5_202508051658'), - bqsrc('14cc9aca', 'CCDG_Broad_NP_Epilepsy_ITAUMR_GRU_NPU_WES_20250721_ANV5_202507300553'), - bqsrc('2c6d0fc7', 'CCDG_Broad_NP_Epilepsy_JPNFKA_GRU_GSA_MD_20250721_ANV5_202508051707'), - bqsrc('5ec41204', 'CCDG_Broad_NP_Epilepsy_JPNFKA_GRU_WES_20250721_ANV5_202507311923'), - bqsrc('42043ca7', 'CCDG_Broad_NP_Epilepsy_JPNRKI_DS_NPD_IRB_NPU_GSA_MD_20250721_ANV5_202508051715'), - bqsrc('8696ea48', 'CCDG_Broad_NP_Epilepsy_JPNRKI_DS_NPD_IRB_NPU_WES_20250721_ANV5_202507300608'), - bqsrc('c1c7f997', 'CCDG_Broad_NP_Epilepsy_KENKIL_GRU_GSA_MD_20250721_ANV5_202508051724'), - bqsrc('55db8a23', 'CCDG_Broad_NP_Epilepsy_KENKIL_GRU_WES_20250721_ANV5_202507311932'), - bqsrc('6292d318', 'CCDG_Broad_NP_Epilepsy_LEBABM_DS_Epilepsy_GSA_MD_20250721_ANV5_202508051734'), - bqsrc('480ae148', 'CCDG_Broad_NP_Epilepsy_LEBABM_DS_Epilepsy_WES_20250721_ANV5_202507311941'), - bqsrc('3ef65a17', 'CCDG_Broad_NP_Epilepsy_LEBABM_GRU_GSA_MD_20250721_ANV5_202508051741'), - bqsrc('9d825c25', 'CCDG_Broad_NP_Epilepsy_LEBABM_GRU_WES_20250721_ANV5_202507311950'), - bqsrc('c2551282', 'CCDG_Broad_NP_Epilepsy_LTUUHK_HMB_NPU_MDS_GSA_MD_20250721_ANV5_202508051749'), - bqsrc('b623f957', 'CCDG_Broad_NP_Epilepsy_LTUUHK_HMB_NPU_MDS_WES_20250721_ANV5_202507300637'), - bqsrc('d2fe229f', 'CCDG_Broad_NP_Epilepsy_NZLUTO_EPIL_BC_ID_MDS_GSA_MD_20250721_ANV5_202508051757'), - bqsrc('eb2ef800', 'CCDG_Broad_NP_Epilepsy_NZLUTO_EPIL_BC_ID_MDS_WES_20250721_ANV5_202507300644'), - bqsrc('e78c32ac', 'CCDG_Broad_NP_Epilepsy_TURBZU_GRU_GSA_MD_20250721_ANV5_202508051804'), - bqsrc('b6e37b1f', 'CCDG_Broad_NP_Epilepsy_TURBZU_GRU_WES_20250721_ANV5_202507300652'), - bqsrc('a5c4baea', 'CCDG_Broad_NP_Epilepsy_TURIBU_DS_NEURO_AD_NPU_GSA_MD_20250721_ANV5_202508051813'), - bqsrc('fc9369c5', 'CCDG_Broad_NP_Epilepsy_TURIBU_DS_NEURO_AD_NPU_WES_20250721_ANV5_202507300659'), - bqsrc('2e229142', 'CCDG_Broad_NP_Epilepsy_TWNCGM_HMB_NPU_AdultsONLY_GSA_MD_20250721_ANV5_202508051820'), - bqsrc('be41731b', 'CCDG_Broad_NP_Epilepsy_TWNCGM_HMB_NPU_AdultsONLY_WES_20250721_ANV5_202507300707'), - bqsrc('978ba5d4', 'CCDG_Broad_NP_Epilepsy_USABCH_EPI_MUL_CON_MDS_GSA_MD_20250721_ANV5_202508051912'), - bqsrc('75f1ba4f', 'CCDG_Broad_NP_Epilepsy_USABCH_EPI_MUL_CON_MDS_WES_20250721_ANV5_202507300719'), - bqsrc('1102e29c', 'CCDG_Broad_NP_Epilepsy_USABLC_GRU_NPU_GSA_MD_20250721_ANV5_202508051920'), - bqsrc('906814a8', 'CCDG_Broad_NP_Epilepsy_USABLC_GRU_NPU_WES_20250721_ANV5_202507300726'), - bqsrc('d0448b56', 'CCDG_Broad_NP_Epilepsy_USACCF_HMB_MDS_GSA_MD_20250721_ANV5_202508051928'), - bqsrc('d76a4f76', 'CCDG_Broad_NP_Epilepsy_USACCF_HMB_MDS_WES_20250721_ANV5_202507311958'), - bqsrc('2950a024', 'CCDG_Broad_NP_Epilepsy_USACCH_DS_NEURO_MDS_GSA_MD_20250721_ANV5_202508051936'), - bqsrc('4cc169a9', 'CCDG_Broad_NP_Epilepsy_USACCH_DS_NEURO_MDS_WES_20250721_ANV5_202507300740'), - bqsrc('3a75c858', 'CCDG_Broad_NP_Epilepsy_USACHP_GRU_GSA_MD_20250721_ANV5_202508051945'), - bqsrc('6e53560b', 'CCDG_Broad_NP_Epilepsy_USACHP_GRU_WES_20250721_ANV5_202507312007'), - bqsrc('32238959', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_EP_MDS_GSA_MD_20250721_ANV5_202508051955'), - bqsrc('a0516528', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_EP_MDS_WES_20250721_ANV5_202507300756'), - bqsrc('8a490e9e', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_SEIZD_GSA_MD_20250721_ANV5_202508052004'), - bqsrc('a894d673', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_SEIZD_WES_20250721_ANV5_202507300804'), - bqsrc('8091a8f2', 'CCDG_Broad_NP_Epilepsy_USACRW_EPI_ASZ_MED_MDS_GSA_MD_20250721_ANV5_202508052013'), - bqsrc('0ba57db1', 'CCDG_Broad_NP_Epilepsy_USACRW_EPI_ASZ_MED_MDS_WES_20250721_ANV5_202507300810'), - bqsrc('e1a82cc1', 'CCDG_Broad_NP_Epilepsy_USAEGP_GRU_GSA_MD_20250721_ANV5_202508052020'), - bqsrc('98461d37', 'CCDG_Broad_NP_Epilepsy_USAEGP_GRU_WES_20250721_ANV5_202507300817'), - bqsrc('1490968b', 'CCDG_Broad_NP_Epilepsy_USAFEB_GRU_GSA_MD_20250721_ANV5_202508052028'), - bqsrc('96cd36de', 'CCDG_Broad_NP_Epilepsy_USAFEB_GRU_WES_20250721_ANV5_202507300824'), - bqsrc('189ec05e', 'CCDG_Broad_NP_Epilepsy_USAHEP_GRU_GSA_MD_20250721_ANV5_202508052035'), - bqsrc('32793aae', 'CCDG_Broad_NP_Epilepsy_USAHEP_GRU_WES_20250721_ANV5_202507300831'), - bqsrc('f344bff6', 'CCDG_Broad_NP_Epilepsy_USALCH_HMB_MDS_GSA_MD_20250721_ANV5_202508052042'), - bqsrc('21a15106', 'CCDG_Broad_NP_Epilepsy_USALCH_HMB_WES_20250721_ANV5_202507300838'), - bqsrc('1d2b5391', 'CCDG_Broad_NP_Epilepsy_USAMGH_HMB_MDS_GSA_MD_20250721_ANV5_202508052050'), - bqsrc('d3c243dc', 'CCDG_Broad_NP_Epilepsy_USAMGH_HMB_MDS_WES_20250721_ANV5_202507300845'), - bqsrc('65dc7d73', 'CCDG_Broad_NP_Epilepsy_USAMGH_MGBB_HMB_MDS_GSA_MD_20250721_ANV5_202508052101'), - bqsrc('38abec69', 'CCDG_Broad_NP_Epilepsy_USAMGH_MGBB_HMB_MDS_WES_20250721_ANV5_202507300852'), - bqsrc('aa634284', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_GSA_MD_20250730_ANV5_202508061225'), - bqsrc('f715714d', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_NPU_GSA_MD_20250721_ANV5_202508052109'), - bqsrc('0fef9408', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_NPU_WES_20250721_ANV5_202507300900'), - bqsrc('d2819933', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_WES_20250721_ANV5_202507300906'), - bqsrc('749bc2ed', 'CCDG_Broad_NP_Epilepsy_USAMON_HMB_NPU_MDS_GSA_MD_20250721_ANV5_202508052116'), - bqsrc('8951be0e', 'CCDG_Broad_NP_Epilepsy_USAMON_HMB_WES_20250721_ANV5_202507300913'), - bqsrc('2d5171ac', 'CCDG_Broad_NP_Epilepsy_USAMSS_DS_EP_NEURO_MDS_GSA_MD_20250721_ANV5_202508052124'), - bqsrc('e358235d', 'CCDG_Broad_NP_Epilepsy_USAMSS_DS_EP_NEURO_MDS_WES_20250721_ANV5_202507300921'), - bqsrc('9277558d', 'CCDG_Broad_NP_Epilepsy_USANCH_DS_NEURO_MDS_GSA_MD_20250721_ANV5_202508052131'), - bqsrc('e4cb6e34', 'CCDG_Broad_NP_Epilepsy_USANCH_DS_NEURO_MDS_WES_20250721_ANV5_202507300929'), - bqsrc('b1bb610a', 'CCDG_Broad_NP_Epilepsy_USAUPN_CHOP_GRU_GSA_MD_20250721_ANV5_202508052139'), - bqsrc('9e68cf90', 'CCDG_Broad_NP_Epilepsy_USAUPN_CHOP_GRU_NPU_GSA_MD_20250721_ANV5_202508052147'), - bqsrc('cb408fa3', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_NPU_WES_20250721_ANV5_202507300937'), - bqsrc('809be4ae', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_WES_20250721_ANV5_202507300944'), - bqsrc('3cce2504', 'CCDG_Broad_NP_Epilepsy_USAUPN_Penn_GRU_GSA_MD_20250721_ANV5_202508052154'), - bqsrc('3ca6cd04', 'CCDG_Broad_NP_Epilepsy_USAUPN_Rader_GRU_WES_20250721_ANV5_202507300951'), - bqsrc('b2659034', 'CCDG_Broad_NP_Epilepsy_USAVANControls_HMB_GSO_GSA_MD_20250721_ANV5_202508052211'), - bqsrc('cf9e28f1', 'CCDG_Broad_NP_Epilepsy_USAVAN_HMB_GSO_GSA_MD_20250721_ANV5_202508052202'), - bqsrc('11a5f960', 'CCDG_Broad_NP_Epilepsy_USAVAN_HMB_GSO_WES_20250721_ANV5_202507300959'), - # Supersedes snapshot ccdg_broad_np_epilepsy_usavancontrols_hmb_gso_wes… popped below - bqsrc('ce5b4d0e', 'CCDG_Broad_NP_Epilepsy_USAVANcontrols_HMB_GSO_WES_20250721_ANV5_202507301007'), - bqsrc('84b1d212', 'CCDG_Broad_NP_Epilepsy_ZAFAGN_DS_EPI_COMO_MDS_GSA_MD_20250721_ANV5_202508052220'), - # Supersedes snapshot ccdg_broad_np_epilepsy_zafagn_ds_epi_como_mds_wes… popped below - bqsrc('4b531498', 'CCDG_Broad_NP_Epilepsy_ZAFAGN_DS_EPI_COMO_MDS_WES_20250721_ANV5_202507301017'), - bqsrc('bdc5f5a9', 'CCDG_Broad_Spalletta_HMB_NPU_MDS_WES_20250721_ANV5_202507301024'), - bqsrc('2b98851b', 'CMG_Yale_GRU_20221020_ANV5_202507091800'), - bqsrc('83ab11a0', 'CMH_GAFK_R5_20250801_ANV5_202508011248'), - bqsrc('e5c7dfdd', 'ENCORE_293T_20250710_ANV5_202507211509'), - bqsrc('43e71067', 'ENCORE_RS293_20250710_ANV5_202507211507'), - bqsrc('262cd5df', 'GREGOR_R03_GRU_20250612_ANV5_202506271443'), - bqsrc('a50f51b8', 'GREGOR_R03_HMB_20250612_ANV5_202506271503'), - bqsrc('fe5fb412', 'GTEx_v10_hg38_20241105_ANV5_202506201300'), - bqsrc('e6508a35', 'HudsonAlpha_LR_v1_GRU_20241018_ANV5_202507091815'), - bqsrc('4ed55ce5', 'IGVF_HMB_MDS_R1_20250801_ANV5_202508011316'), - bqsrc('34477ca5', 'MAGE_20250710_ANV5_202507211510'), - bqsrc('027605b3', 'NIA_CARD_LR_WGS_HBCC_20250731_ANV5_202508011421'), - bqsrc('31f7c3dd', 'NIA_CARD_LR_WGS_NABEC_GRU_V2_20250731_ANV5_202508011423'), - bqsrc('04b6f4d8', 'PAGE_BioMe_GRU_WGS_20250224_ANV5_202502241731'), - bqsrc('af4c978f', 'PAGE_MEC_GRU_WGS_20250224_ANV5_202502241739'), - bqsrc('71b74bcf', 'PAGE_Stanford_Global_Reference_Panel_GRU_WGS_20250224_ANV5_202502241745'), - bqsrc('ff012258', 'ccdg_broad_np_epilepsy_usavancontrols_hmb_gso_wes_20221101_ANV5_202409302105', pop), - bqsrc('61b6b42b', 'ccdg_broad_np_epilepsy_zafagn_ds_epi_como_mds_wes_20221026_ANV5_202409302116', pop), -])) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - # Set variables for the `anvilprod` (short for AnVIL production) - # deployment here. - # - # Only modify this file if you intend to commit those changes. To apply - # a setting that's specific to you AND the deployment, create an - # `environment.local.py` file right next to this one and apply that - # setting there. Settings that are applicable to all environments but - # specific to you go into `environment.local.py` at the project root. - - 'AZUL_DEPLOYMENT_STAGE': 'anvilprod', - - 'AZUL_DOMAIN_NAME': 'explore.anvilproject.org', - - 'AZUL_CATALOGS': base64.b64encode(bz2.compress(json.dumps({ - f'{catalog}{suffix}': dict(atlas=atlas, - internal=internal, - plugins=dict(metadata=dict(name='anvil'), - repository=dict(name='tdr_anvil')), - sources=list(filter(None, sources.values()))) - for atlas, catalog, sources in [ - ('anvil', 'anvil9', anvil9_sources), - ('anvil', 'anvil11', anvil11_sources), - ] - for suffix, internal in [ - ('', False), - ('-it', True) - ] - }).encode())).decode('ascii'), - - 'AZUL_TDR_SOURCE_LOCATION': 'us-central1', - 'AZUL_TDR_SERVICE_URL': 'https://data.terra.bio', - 'AZUL_SAM_SERVICE_URL': 'https://sam.dsde-prod.broadinstitute.org', - 'AZUL_DUOS_SERVICE_URL': 'https://consent.dsde-prod.broadinstitute.org', - 'AZUL_TERRA_SERVICE_URL': 'https://firecloud-orchestration.dsde-prod.broadinstitute.org', - - 'AZUL_ENABLE_MONITORING': '1', - - 'AZUL_ES_INSTANCE_TYPE': 'r6gd.xlarge.search', - 'AZUL_ES_INSTANCE_COUNT': '6', - - 'AZUL_CONTRIBUTION_CONCURRENCY': '300/64', - - 'AZUL_DEBUG': '1', - - 'AZUL_BILLING': 'anvil', - - 'AZUL_OWNER': 'hannes@ucsc.edu', - - 'AZUL_MONITORING_EMAIL': 'azul-group@ucsc.edu', - - 'AZUL_AWS_ACCOUNT_ID': '465330168186', - 'AWS_DEFAULT_REGION': 'us-east-1', - - 'GOOGLE_PROJECT': 'platform-anvil-prod', - - 'AZUL_DEPLOYMENT_INCARNATION': '1', - - 'AZUL_GOOGLE_OAUTH2_CLIENT_ID': '1055427471534-8ee4mhig5j40n6n366j7uul26bbbhp2p.apps.googleusercontent.com', - - 'azul_slack_integration': json.dumps({ - 'workspace_id': 'T09P9H91S', # ucsc-gi.slack.com - 'channel_id': 'C04TKUL49FA' # #team-boardwalk-anvilprod - }), - - 'AZUL_ENABLE_VERBATIM_RELATIONS': '0', - } diff --git a/deployments/dev.browser/environment.py b/deployments/dev.browser/environment.py deleted file mode 100644 index 0b28adf523..0000000000 --- a/deployments/dev.browser/environment.py +++ /dev/null @@ -1,50 +0,0 @@ -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - 'azul_terraform_component': 'browser', - 'azul_browser_sites': json.dumps({ - 'browser': { - 'zone': '{AZUL_DOMAIN_NAME}', - 'domain': 'explore.{AZUL_DOMAIN_NAME}', - 'project': 'ucsc/data-browser', - 'branch': 'ucsc/hca/dev', - 'tarball_name': 'hca', - 'tarball_path': 'out', - 'real_path': '' - }, - 'lungmap': { - 'zone': 'dev.data-browser.lungmap.net', - 'domain': 'dev.data-browser.lungmap.net', - 'project': 'ucsc/data-browser', - 'branch': 'ucsc/lungmap/dev', - 'tarball_name': 'lungmap', - 'tarball_path': 'out', - 'real_path': '' - } - }) - } diff --git a/deployments/dev.gitlab/environment.py b/deployments/dev.gitlab/environment.py deleted file mode 100644 index 68f0d4c3f1..0000000000 --- a/deployments/dev.gitlab/environment.py +++ /dev/null @@ -1,31 +0,0 @@ -from collections.abc import ( - Mapping, -) -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - 'azul_terraform_component': 'gitlab', - 'azul_vpc_cidr': '172.21.0.0/16', - 'azul_vpn_subnet': '10.42.0.0/16' - } diff --git a/deployments/dev.shared/environment.py b/deployments/dev.shared/environment.py deleted file mode 100644 index 5705e22099..0000000000 --- a/deployments/dev.shared/environment.py +++ /dev/null @@ -1,38 +0,0 @@ -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - 'azul_terraform_component': 'shared', - 'azul_aws_support_roles': json.dumps(['administrator', 'developer']), - - 'azul_security_contact': json.dumps({ - 'name': 'Hannes Schmidt', - 'title': 'Tech lead', - 'email_address': 'azul-group@ucsc.edu', - 'phone_number': '831-454-8200' - }), - } diff --git a/deployments/dev/.example.environment.local.py b/deployments/dev/.example.environment.local.py deleted file mode 100644 index 40bda46631..0000000000 --- a/deployments/dev/.example.environment.local.py +++ /dev/null @@ -1,34 +0,0 @@ -from collections.abc import ( - Mapping, -) -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - - # In the AWS IAM console, create an access key and list it in a - # dedicated configuration profile section of `~/.aws/config` and/or - # `~/.aws/credentials`. Specify the name of the profile here. - # - 'AWS_PROFILE': 'yourprofile', - } diff --git a/deployments/hammerbox/.example.environment.local.py b/deployments/hammerbox/.example.environment.local.py deleted file mode 120000 index 31145230db..0000000000 --- a/deployments/hammerbox/.example.environment.local.py +++ /dev/null @@ -1 +0,0 @@ -../sandbox/.example.environment.local.py \ No newline at end of file diff --git a/deployments/hammerbox/environment.py b/deployments/hammerbox/environment.py deleted file mode 100644 index 6696460d64..0000000000 --- a/deployments/hammerbox/environment.py +++ /dev/null @@ -1,1302 +0,0 @@ -import base64 -import bz2 -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Literal, - Optional, -) - -is_sandbox = True - -pop = 1 # remove snapshot - - -def bqsrc(google_project: str, - snapshot: str, - flags: int = 0, - /, - prefix: str = '' - ) -> tuple[str, str | None]: - assert len(google_project) == 8, google_project - project = 'datarepo-' + google_project - # Some snapshots start with AnVIL instead of ANVIL - if not snapshot.upper().startswith('ANVIL_'): - snapshot = 'ANVIL_' + snapshot - return mksrc('bigquery', project, snapshot, flags, prefix) - - -def mksrc(source_type: Literal['bigquery', 'parquet'], - google_project, - snapshot, - flags: int = 0, - /, - prefix: str = '' - ) -> tuple[str, str | None]: - project = '_'.join(snapshot.split('_')[1:-3]) - assert flags <= pop - source = None if flags & pop else ':'.join([ - 'tdr', - source_type, - 'gcp', - google_project, - snapshot, - prefix - ]) - return project, source - - -def mkdelta(items: list[tuple[str, str]]) -> dict[str, str]: - result = dict(items) - assert len(items) == len(result), 'collisions detected' - assert list(result.keys()) == sorted(result.keys()), 'input not sorted' - return result - - -def mklist(catalog: dict[str, str]) -> list[str]: - return list(filter(None, catalog.values())) - - -def mkdict(previous_catalog: dict[str, str], - num_expected: int, - delta: dict[str, str] - ) -> dict[str, str]: - catalog = previous_catalog | delta - num_actual = len(mklist(catalog)) - assert num_expected == num_actual, (num_expected, num_actual) - return catalog - - -anvil_sources = mkdict({}, 11, mkdelta([ - bqsrc('3edb7fb1', '1000G_high_coverage_2019_20230517_ANV5_202305181946'), - bqsrc('db7353fb', 'CMG_UWASH_DS_BAV_IRB_PUB_RD_20230419_ANV5_202304201858'), - bqsrc('3b8ef67a', 'CMG_UWASH_DS_BDIS_20230418_ANV5_202304201958'), - bqsrc('5d27ebfe', 'CMG_UWASH_DS_HFA_20230418_ANV5_202304201932'), - bqsrc('9d1a6e0a', 'CMG_UWASH_DS_NBIA_20230418_ANV5_202304201949'), - bqsrc('3243df15', 'CMG_UWASH_HMB_20230418_ANV5_202304201923'), - bqsrc('50484f86', 'CMG_UWASH_HMB_IRB_20230418_ANV5_202304201915'), - bqsrc('74bd0964', 'CMG_UWash_DS_EP_20230419_ANV5_202304201906'), - bqsrc('e5914f89', 'CMG_UWash_GRU_20230418_ANV5_202304201848'), - bqsrc('97ec5366', 'CMG_UWash_GRU_IRB_20230418_ANV5_202304201940'), - bqsrc('4150bd87', 'GTEx_V8_hg38_20230419_ANV5_202304202007') -])) - -anvil1_sources = mkdict(anvil_sources, 63, mkdelta([ - bqsrc('d53aa186', 'CMG_BROAD_BRAIN_ENGLE_WES_20221102_ANV5_202304241525'), - bqsrc('69b2535a', 'CMG_BROAD_BRAIN_SHERR_WGS_20221102_ANV5_202304241530'), - bqsrc('490be510', 'CMG_BROAD_ORPHAN_SCOTT_WGS_20221102_ANV5_202304241538'), - bqsrc('3b33c41b', 'CMG_Broad_Blood_Gazda_WES_20221117_ANV5_202304241459'), - bqsrc('96df3cea', 'CMG_Broad_Blood_Sankaran_WES_20221117_ANV5_202304241501'), - bqsrc('179ee079', 'CMG_Broad_Blood_Sankaran_WGS_20221117_ANV5_202304241503'), - bqsrc('3dd4d039', 'CMG_Broad_Brain_Gleeson_WES_20221117_ANV5_202304241517'), - bqsrc('c361373f', 'CMG_Broad_Brain_Muntoni_WES_20221102_ANV5_202304241527'), - bqsrc('12ac342c', 'CMG_Broad_Brain_NeuroDev_WES_20221102_ANV5_202304241529'), - bqsrc('d7bfafc6', 'CMG_Broad_Brain_Thaker_WES_20221102_ANV5_202304241531'), - bqsrc('29812b42', 'CMG_Broad_Eye_Pierce_WES_20221205_ANV5_202304242250'), - bqsrc('48134558', 'CMG_Broad_Eye_Pierce_WGS_20221117_ANV5_202304241507'), - bqsrc('36ebaa12', 'CMG_Broad_Heart_PCGC_Tristani_WGS_20221025_ANV5_202304211840'), - bqsrc('f9826139', 'CMG_Broad_Heart_Seidman_WES_20221117_ANV5_202304241504'), - bqsrc('85952af8', 'CMG_Broad_Kidney_Hildebrandt_WES_20230525_ANV5_202305251733'), - bqsrc('ee4ae9a1', 'CMG_Broad_Kidney_Hildebrandt_WGS_20221025_ANV5_202304211844'), - bqsrc('cf168274', 'CMG_Broad_Kidney_Pollak_WES_20221025_ANV5_202304211846'), - bqsrc('4d47ba2c', 'CMG_Broad_Muscle_Beggs_WGS_20221102_ANV5_202304241533'), - bqsrc('82d1271a', 'CMG_Broad_Muscle_Bonnemann_WES_20221117_ANV5_202304241509'), - bqsrc('6be3fb25', 'CMG_Broad_Muscle_Bonnemann_WGS_20221117_ANV5_202304241510'), - bqsrc('b168eb10', 'CMG_Broad_Muscle_KNC_WES_20221116_ANV5_202304242219'), - bqsrc('372244aa', 'CMG_Broad_Muscle_KNC_WGS_20221117_ANV5_202304242221'), - bqsrc('77a6c0aa', 'CMG_Broad_Muscle_Kang_WGS_20221025_ANV5_202304211849'), - bqsrc('736a5f1f', 'CMG_Broad_Muscle_Laing_WES_20221208_ANV5_202304271308'), - bqsrc('5019143b', 'CMG_Broad_Muscle_Myoseq_WES_20230621_ANV5_202306211852'), - bqsrc('27eb651a', 'CMG_Broad_Muscle_Myoseq_WGS_20221208_ANV5_202304271310'), - bqsrc('c087af7a', 'CMG_Broad_Muscle_OGrady_WES_20221205_ANV5_202304242252'), - bqsrc('db987a2e', 'CMG_Broad_Muscle_Ravenscroft_WES_20221208_ANV5_202304271311'), - bqsrc('05df566c', 'CMG_Broad_Muscle_Topf_WES_20221208_ANV5_202304271313'), - bqsrc('87d91f06', 'CMG_Broad_Orphan_Chung_WES_20221102_ANV5_202304241534'), - bqsrc('25f6b696', 'CMG_Broad_Orphan_Estonia_Ounap_WES_20221117_ANV5_202304241512'), - bqsrc('c3b16b41', 'CMG_Broad_Orphan_Estonia_Ounap_WGS_20221205_ANV5_202304242255'), - bqsrc('e2976b05', 'CMG_Broad_Orphan_Jueppner_WES_20221102_ANV5_202304241535'), - bqsrc('32fe2260', 'CMG_Broad_Orphan_Lerner_Ellis_WES_20221102_ANV5_202304241536'), - bqsrc('6f9e574e', 'CMG_Broad_Orphan_Manton_WES_20221117_ANV5_202304241513'), - bqsrc('53cd689b', 'CMG_Broad_Orphan_Manton_WGS_20221117_ANV5_202304241515'), - bqsrc('e7c5babf', 'CMG_Broad_Orphan_Scott_WES_20221025_ANV5_202304241458'), - bqsrc('051877f4', 'CMG_Broad_Orphan_Sweetser_WES_20221102_ANV5_202304241539'), - bqsrc('555c7706', 'CMG_Broad_Orphan_VCGS_White_WES_20221018_ANV5_202304241522'), - bqsrc('3a8f7952', 'CMG_Broad_Orphan_VCGS_White_WGS_20221117_ANV5_202304241523'), - bqsrc('b699c5e3', 'CMG_Broad_Rare_RGP_WES_20221102_ANV5_202304241540'), - bqsrc('2d5bd095', 'CMG_Broad_Stillbirth_Wilkins_Haug_WES_20221102_ANV5_202304241542'), - bqsrc('f3d0eda6', 'CMG_UWash_GRU_20230418_ANV5_202306211828'), - bqsrc('ab5c3fa5', 'CMG_YALE_DS_RARED_20221020_ANV5_202304211812'), - bqsrc('d51578f4', 'CMG_Yale_GRU_20221020_ANV5_202304211517'), - bqsrc('bcedc554', 'CMG_Yale_HMB_20221020_ANV5_202304211813'), - bqsrc('f485fa3e', 'CMG_Yale_HMB_GSO_20221020_ANV5_202304211519'), - bqsrc('45487b69', 'GTEx_Somatic_WGS_20230331_ANV5_202304211636'), - bqsrc('5ebc368c', 'GTEx_V7_hg19_20221128_ANV5_202304211804'), - bqsrc('864913f2', 'GTEx_V9_hg38_20221128_ANV5_202304211853'), - bqsrc('b093b69d', 'GTEx_public_data_20221115_ANV5_202304211659'), - bqsrc('d948d21a', 'cmg_broad_brain_engle_wgs_20221202_ANV5_202304271345'), - bqsrc('1cb73890', 'cmg_broad_heart_ware_wes_20221215_ANV5_202304242145'), -])) - -anvil2_sources = mkdict(anvil1_sources, 104, mkdelta([ - bqsrc('36124817', 'African_American_Seq_HGV_20230727_ANV5_202308291753'), - bqsrc('d795027d', 'CCDG_Broad_CVD_AF_VAFAR_Arrays_20221020_ANV5_202304211823'), - bqsrc('642829f3', 'CCDG_Broad_CVD_AF_VAFAR_WES_20221024_ANV5_202304211826'), - bqsrc('08216a2c', 'CCDG_Broad_CVD_AFib_Vanderbilt_Ablation_WGS_20221020_ANV5_202304211819'), - bqsrc('74975e89', 'CCDG_Broad_NP_Epilepsy_JPNFKA_GRU_WES_20221220_ANV5_202304271548'), - bqsrc('ad61c47e', 'CCDG_NHGRI_Broad_ASD_Daly_phs000298_WES_vcf_20230403_ANV5_202304271610'), - bqsrc('5e719362', 'CCDG_NYGC_AI_Asthma_Gala2_WGS_20230605_ANV5_202306131248'), - bqsrc('2734a0e4', 'CCDG_NYGC_NP_Alz_EFIGA_WGS_20230605_ANV5_202306141705'), - bqsrc('710fc60d', 'CCDG_NYGC_NP_Alz_LOAD_WGS_20230605_ANV5_202306131256'), - bqsrc('9626b3eb', 'CCDG_NYGC_NP_Alz_WHICAP_WGS_20230605_ANV5_202306131303'), - bqsrc('25ec7b57', 'CCDG_WASHU_PAGE_20221220_ANV5_202304271544'), - bqsrc('6d8536f4', 'CMH_GAFK_GS_linked_read_20221107_ANV5_202304211527'), - bqsrc('482ab960', 'CMH_GAFK_GS_long_read_20221109_ANV5_202304211529'), - bqsrc('8745e97d', 'CMH_GAFK_scRNA_20221107_ANV5_202304211533'), - bqsrc('1c89dcac', 'CSER_CHARM_GRU_20221208_ANV5_202304271348'), - bqsrc('12d56848', 'CSER_NCGENES2_GRU_20221208_ANV5_202304271349'), - bqsrc('8a4d67ef', 'CSER_SouthSeq_GRU_20221208_ANV5_202304271351'), - bqsrc('f622180d', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_CIRM_GRU_VillageData_20230109_ANV5_202304242045'), - bqsrc('732d1a55', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_CIRM_GRU_WGS_20230109_ANV5_202304242048'), - bqsrc('90bab913', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_Finkel_SMA_DS_WGS_20230109_ANV5_202304242043'), - bqsrc('e4eb7641', 'NIMH_Broad_WGSPD1_McCarroll_Braff_DS_WGS_20221115_ANV5_202304242052'), - bqsrc('f9aef3dc', 'NIMH_Broad_WGSPD1_McCarroll_Escamilla_DS_WGS_20221103_ANV5_202304242049'), - bqsrc('aca6a582', 'NIMH_CIRM_FCDI_ConvergentNeuro_McCarroll_Eggan_GRU_Arrays_20230109_ANV5_202304242046'), - bqsrc('06abb598', 'PAGE_BioMe_GRU_WGS_20221128_ANV5_202304211817'), - bqsrc('7c4410ed', 'PAGE_MEC_GRU_WGS_20230131_ANV5_202304211721'), - bqsrc('84d2e3b1', 'PAGE_Stanford_Global_Reference_Panel_GRU_WGS_20221128_ANV5_202304211827'), - bqsrc('ffbc38fd', 'PAGE_WHI_HMB_IRB_WGS_20221019_ANV5_202304211722'), - bqsrc('b1f3e0d1', 'ccdg_asc_ndd_daly_talkowski_cdcseed_asd_gsa_md_20221024_ANV5_202304211749'), - bqsrc('11330a21', 'ccdg_asc_ndd_daly_talkowski_schloesser_asd_gsa_md_20221025_ANV5_202304211759'), - bqsrc('86a1dbf3', 'ccdg_broad_ai_ibd_daly_bernstein_gsa_20221025_ANV5_202304241921'), - bqsrc('833ff0a3', 'eMERGE_GRU_IRB_NPU_eMERGEseq_20230130_ANV5_202304271614'), - bqsrc('baf040af', 'eMERGE_GRU_IRB_PUB_NPU_eMERGEseq_20230130_ANV5_202304271616'), - bqsrc('270b3b62', 'eMERGE_GRU_IRB_eMERGEseq_20230130_ANV5_202304271613'), - bqsrc('c13efbe9', 'eMERGE_GRU_NPU_eMERGEseq_20230130_ANV5_202304271617'), - bqsrc('34f8138d', 'eMERGE_GRU_eMERGEseq_20230130_ANV5_202304271612'), - bqsrc('90b7b6e8', 'eMERGE_HMB_GSO_eMERGEseq_20230130_ANV5_202304271621'), - bqsrc('6e6dca92', 'eMERGE_HMB_IRB_PUB_eMERGEseq_20230130_ANV5_202304271622'), - bqsrc('1ddf2a8e', 'eMERGE_HMB_NPU_eMERGEseq_20230130_ANV5_202304271624'), - bqsrc('dba97a65', 'eMERGE_HMB_eMERGEseq_20230130_ANV5_202304271619'), - bqsrc('51aa9a22', 'eMERGE_PGRNseq_20230118_ANV5_202304241853'), - bqsrc('ce8c469f', 'eMERGE_PRS_Arrays_20221220_ANV5_202304271346') -])) - -anvil3_sources = mkdict(anvil2_sources, 151, mkdelta([ - bqsrc('9a74aed3', 'CCDG_Baylor_CVD_ARIC_20231008_ANV5_202310091900'), - bqsrc('0768a322', 'CCDG_Broad_CVD_AF_Ellinor_MGH_Arrays_20221024_ANV5_202304211831'), - bqsrc('2b135baf', 'CCDG_Broad_CVD_AFib_MGH_WGS_20221024_ANV5_202304211829'), - bqsrc('96b594f9', 'CCDG_Broad_CVD_EOCAD_TaiChi_WGS_20221026_ANV5_202310101655'), - bqsrc('318ae48e', 'CCDG_Broad_CVD_Stroke_BRAVE_WGS_20221107_ANV5_202304241543'), - bqsrc('7ea7a6e9', 'CCDG_Broad_MI_BRAVE_GRU_WES_20221107_ANV5_202304241545'), - bqsrc('2339e241', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_WES_20221101_ANV5_202304241613'), - bqsrc('cd6cee03', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_WES_20221101_ANV5_202304241612'), - bqsrc('da88c3ce', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_WES_20221101_ANV5_202304241657'), - bqsrc('2b361bda', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_WES_20221026_ANV5_202304241549'), - bqsrc('6eeff3fc', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_WES_20221108_ANV5_202304241701'), - bqsrc('21923ed0', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_WES_20221027_ANV5_202304241556'), - bqsrc('5b10132b', 'CCDG_Broad_NP_Epilepsy_CANUTN_DS_EP_WES_20230328_ANV5_202304241552'), - bqsrc('d2d5ba15', 'CCDG_Broad_NP_Epilepsy_CZEMTH_GRU_WES_20221108_ANV5_202304241702'), - bqsrc('fc0a35a8', 'CCDG_Broad_NP_Epilepsy_DEUULG_GRU_WES_20221108_ANV5_202304241704'), - bqsrc('f14cd6d7', 'CCDG_Broad_NP_Epilepsy_FINKPH_EPIL_CO_MORBIDI_MDS_WES_20230328_ANV5_202304241659'), - bqsrc('3832cf81', 'CCDG_Broad_NP_Epilepsy_GBRSWU_CARDI_NEURO_WES_20221026_ANV5_202304241548'), - bqsrc('098aadb0', 'CCDG_Broad_NP_Epilepsy_GBRUCL_DS_EARET_MDS_WES_20221026_ANV5_202304241551'), - bqsrc('d9ea4f23', 'CCDG_Broad_NP_Epilepsy_GBRUNL_EP_ETIOLOGY_MDS_WES_20221027_ANV5_202304241554'), - bqsrc('0c9ab563', 'CCDG_Broad_NP_Epilepsy_GBRUNL_GRU_WES_20221108_ANV5_202304241705'), - bqsrc('a383d752', 'CCDG_Broad_NP_Epilepsy_ITAIGI_GRU_WES_20221108_ANV5_202304241707'), - bqsrc('03b52641', 'CCDG_Broad_NP_Epilepsy_ITAUBG_DS_EPI_NPU_MDS_WES_20221027_ANV5_202304241601'), - bqsrc('2e9ab296', 'CCDG_Broad_NP_Epilepsy_ITAUMC_DS_NEURO_MDS_WES_20221108_ANV5_202304241605'), - bqsrc('89162c54', 'CCDG_Broad_NP_Epilepsy_JPNRKI_DS_NPD_IRB_NPU_WES_20221027_ANV5_202304241609'), - bqsrc('fd5cd738', 'CCDG_Broad_NP_Epilepsy_NZLUTO_EPIL_BC_ID_MDS_WES_20230328_ANV5_202304241602'), - bqsrc('d987821a', 'CCDG_Broad_NP_Epilepsy_TURBZU_GRU_WES_20221108_ANV5_202304241709'), - bqsrc('b93e1cfa', 'CCDG_Broad_NP_Epilepsy_TURIBU_DS_NEURO_AD_NPU_WES_20221027_ANV5_202304241604'), - bqsrc('2e9630dd', 'CCDG_Broad_NP_Epilepsy_USABCH_EPI_MUL_CON_MDS_WES_20221027_ANV5_202304241559'), - bqsrc('ee58a7a9', 'CCDG_Broad_NP_Epilepsy_USACHP_GRU_WES_20230612_ANV5_202306131343'), - bqsrc('ff5356bb', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_EP_MDS_WES_20221027_ANV5_202304241555'), - bqsrc('2262daa7', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_SEIZD_WES_20221027_ANV5_202304241610'), - bqsrc('2a947c33', 'CCDG_Broad_NP_Epilepsy_USACRW_EPI_ASZ_MED_MDS_WES_20221027_ANV5_202304241558'), - bqsrc('5b3c42e1', 'CCDG_Broad_NP_Epilepsy_USAEGP_GRU_WES_20221110_ANV5_202304241713'), - bqsrc('91b4b33c', 'CCDG_Broad_NP_Epilepsy_USAHEP_GRU_WES_20230328_ANV5_202306211900'), - bqsrc('e4fe111a', 'CCDG_Broad_NP_Epilepsy_USANCH_DS_NEURO_MDS_WES_20221108_ANV5_202304241607'), - bqsrc('8b120833', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_WES_20230328_ANV5_202304241716'), - bqsrc('f051499d', 'CCDG_Broad_NP_Epilepsy_USAUPN_Rader_GRU_WES_20230328_ANV5_202304241720'), - bqsrc('fd49a493', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_DS_WGS_20230525_ANV5_202306211841'), - bqsrc('076da44b', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_GRU_IRB_WGS_20230525_ANV5_202306211847'), - bqsrc('7e03b5fd', 'CMG_Broad_Brain_Walsh_WES_20230605_ANV5_202310101734'), - bqsrc('c43e7400', 'CMG_Broad_Muscle_Kang_WES_20230525_ANV5_202310101649'), - bqsrc('14f5afa3', 'NIMH_Broad_WGSPD1_McCarroll_Braff_DS_10XLRGenomes_20221115_ANV5_202310101713'), - bqsrc('94091a22', 'NIMH_Broad_WGSPD1_McCarroll_Pato_GRU_10XLRGenomes_20230331_ANV5_202310101715'), - bqsrc('55b75002', 'PAGE_SoL_HMB_WGS_20221220_ANV5_202310061302'), - bqsrc('02ad84ea', 'T2T_20230714_ANV5_202310101616'), - bqsrc('08cd15a2', 'ccdg_washu_ai_t1d_t1dgc_wgs_20221031_ANV5_202304211552'), - bqsrc('e3065356', 'ccdg_washu_cvd_eocad_biome_wgs_20221024_ANV5_202304211601'), -])) - -anvil4_sources = mkdict(anvil3_sources, 200, mkdelta([ - bqsrc('1a86e7ca', 'CCDG_Baylor_CVD_AFib_Groningen_WGS_20221122_ANV5_202304242224'), - bqsrc('92716a90', 'CCDG_Baylor_CVD_AFib_VAFAR_HMB_IRB_WGS_20221020_ANV5_202304211525'), - bqsrc('77445496', 'CCDG_Baylor_CVD_EOCAD_BioMe_WGS_20221122_ANV5_202304242226'), - bqsrc('1b0d6b90', 'CCDG_Baylor_CVD_HHRC_Brownsville_GRU_WGS_20221122_ANV5_202304242228'), - bqsrc('373b7918', 'CCDG_Baylor_CVD_HemStroke_BNI_HMB_WGS_20221215_ANV5_202304242306'), - bqsrc('efc3e806', 'CCDG_Baylor_CVD_HemStroke_Duke_DS_WGS_20221117_ANV5_202304242122'), - bqsrc('1044f96d', 'CCDG_Baylor_CVD_HemStroke_ERICH_WGS_20221207_ANV5_202304271256'), - bqsrc('f23a6ec8', 'CCDG_Baylor_CVD_HemStroke_GERFHS_HMB_WGS_20221215_ANV5_202304242307'), - bqsrc('de34ca6e', 'CCDG_Baylor_CVD_HemStroke_Regards_DS_WGS_20221117_ANV5_202304242123'), - bqsrc('d9c6f406', 'CCDG_Baylor_CVD_HemStroke_Yale_HMB_WGS_20221215_ANV5_202304242309'), - bqsrc('56883e56', 'CCDG_Baylor_CVD_Oregon_SUDS_GRU_WGS_20221215_ANV5_202304242302'), - bqsrc('7f3ba7ec', 'CCDG_Baylor_CVD_TexGen_DS_WGS_20221117_ANV5_202304242125'), - bqsrc('da965e26', 'CCDG_Baylor_CVD_Ventura_Presto_GRU_IRB_WGS_20221117_ANV5_202304242127'), - bqsrc('906bf803', 'CCDG_Broad_AI_IBD_Brant_DS_IBD_WGS_20221110_ANV5_202304241911'), - bqsrc('343ca1c3', 'CCDG_Broad_AI_IBD_Brant_HMB_WGS_20221110_ANV5_202304241912'), - bqsrc('80a63603', 'CCDG_Broad_AI_IBD_Cho_WGS_20230313_ANV5_202304241903'), - bqsrc('a98e7a43', 'CCDG_Broad_AI_IBD_Kugathasan_WGS_20221110_ANV5_202304241906'), - bqsrc('381bc957', 'CCDG_Broad_AI_IBD_McCauley_WGS_20221110_ANV5_202304241914'), - bqsrc('6a10165d', 'CCDG_Broad_AI_IBD_McGovern_WGS_20221110_ANV5_202304241907'), - bqsrc('a2743c82', 'CCDG_Broad_AI_IBD_Newberry_WGS_20221025_ANV5_202304241901'), - bqsrc('ed109b2f', 'CCDG_Broad_CVD_AF_BioVU_HMB_GSO_Arrays_20230612_ANV5_202306131350'), - bqsrc('3d8b62d7', 'CCDG_Broad_CVD_AF_BioVU_HMB_GSO_WES_20221025_ANV5_202304241856'), - bqsrc('450ba911', 'CCDG_Broad_CVD_AF_ENGAGE_DS_WES_20230418_ANV5_202304210808'), - bqsrc('dfabf632', 'CCDG_Broad_CVD_AF_Ellinor_MGH_WES_20221117_ANV5_202304271354'), - bqsrc('485eb707', 'CCDG_Broad_CVD_AF_Figtree_BioHeart_Arrays_20230128_ANV5_202304271554'), - bqsrc('58dffe5a', 'CCDG_Broad_CVD_AF_GAPP_DS_MDS_Arrays_20221103_ANV5_202304242105'), - bqsrc('cf7f2c0c', 'CCDG_Broad_CVD_AF_GAPP_DS_MDS_WES_20221103_ANV5_202304242107'), - bqsrc('f896734e', 'CCDG_Broad_CVD_AF_Marcus_UCSF_Arrays_20221102_ANV5_202304242039'), - bqsrc('40c2f4f4', 'CCDG_Broad_CVD_AF_Marcus_UCSF_WES_20221222_ANV5_202304242040'), - bqsrc('67117555', 'CCDG_Broad_CVD_AF_Rienstra_WES_20221222_ANV5_202304242035'), - bqsrc('c45dd622', 'CCDG_Broad_CVD_AF_Swiss_Cases_DS_MDS_Arrays_20221103_ANV5_202304242110'), - bqsrc('b12d2e52', 'CCDG_Broad_CVD_AF_Swiss_Cases_DS_MDS_WES_20230118_ANV5_202304242112'), - bqsrc('43f6230a', 'CCDG_Broad_CVD_AFib_AFLMU_WGS_20231008_ANV5_202310091911'), - bqsrc('de64d25a', 'CCDG_Broad_CVD_AFib_UCSF_WGS_20221222_ANV5_202304242037'), - bqsrc('e25350dd', 'CCDG_Broad_CVD_EOCAD_PartnersBiobank_HMB_Arrays_20230517_ANV5_202310101704'), - bqsrc('9921a6fa', 'CCDG_Broad_CVD_EOCAD_PartnersBiobank_HMB_WES_20230621_ANV5_202306211933'), - bqsrc('383d9d9b', 'CCDG_Broad_CVD_PROMIS_GRU_WES_20230418_ANV5_202306211912'), - bqsrc('5df71da4', 'CCDG_Broad_MI_InStem_WES_20221122_ANV5_202304242236'), - bqsrc('1793828c', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_GSRS_WES_20230324_ANV5_202304241752'), - bqsrc('d44547dc', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_WES_20230128_ANV5_202304271556'), - bqsrc('70c803d7', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_GSA_MD_20221117_ANV5_202304271400'), - bqsrc('f5a4a895', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_GSA_MD_20221117_ANV5_202304271358'), - bqsrc('b8b8ba44', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_GSA_MD_20221117_ANV5_202304271356'), - bqsrc('0b0ca621', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_IRB_WES_20230621_ANV5_202306211945'), - bqsrc('f85048a3', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_GSA_MD_20221117_ANV5_202304271401'), - bqsrc('68037179', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_ADLT_WES_20230128_ANV5_202304271559'), - bqsrc('025215fc', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_WES_20230314_ANV5_202304271601'), - bqsrc('92905a2b', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_GSA_MD_20221117_ANV5_202304271403'), - bqsrc('3f3ad5c7', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_GSA_MD_20230118_ANV5_202304271404') -])) - -anvil5_sources = mkdict(anvil4_sources, 261, mkdelta([ - bqsrc('3c30a9a2', '1000G_high_coverage_2019_20230517_ANV5_202403030329'), - bqsrc('adf70694', 'ALS_FTD_ALS_AssociatedGenes_GRU_v1_20231221_ANV5_202401112025'), - bqsrc('815ad21b', 'ALS_FTD_DEMENTIA_SEQ_GRU_v1_20231221_ANV5_202401112033'), - bqsrc('ab46a8e4', 'CCDG_NYGC_NP_Autism_ACE2_DS_MDS_WGS_20230605_ANV5_202403032021'), - bqsrc('df058a48', 'CCDG_NYGC_NP_Autism_AGRE_WGS_20230605_ANV5_202403032044'), - bqsrc('61910b61', 'CCDG_NYGC_NP_Autism_CAG_DS_WGS_20230605_ANV5_202403032053'), - bqsrc('8d6472a1', 'CCDG_NYGC_NP_Autism_HFA_DS_WGS_20230605_ANV5_202403032108'), - bqsrc('f0a12498', 'CCDG_NYGC_NP_Autism_PELPHREY_ACE_DS_WGS_20221103_ANV5_202403032124'), - bqsrc('f06dc5dd', 'CCDG_NYGC_NP_Autism_PELPHREY_ACE_GRU_WGS_20221103_ANV5_202403032131'), - bqsrc('b791f5c1', 'CCDG_NYGC_NP_Autism_SAGE_WGS_20230605_ANV5_202403032137'), - bqsrc('b9222139', 'CMG_BROAD_BRAIN_ENGLE_WES_20240205_ANV5_202402051624'), - bqsrc('7e094253', 'CMG_BROAD_BRAIN_SHERR_WGS_20221102_ANV5_202402281543'), - bqsrc('c797490f', 'CMG_BROAD_ORPHAN_SCOTT_WGS_20221102_ANV5_202402281552'), - bqsrc('0a1360b1', 'CMG_Broad_Blood_Gazda_WES_20221117_ANV5_202402290547'), - bqsrc('faa71b49', 'CMG_Broad_Blood_Sankaran_WES_20221117_ANV5_202402290555'), - bqsrc('abce6387', 'CMG_Broad_Blood_Sankaran_WGS_20221117_ANV5_202402290606'), - bqsrc('4153ad1f', 'CMG_Broad_Muscle_Laing_WES_20221208_ANV5_202402291926'), - bqsrc('5bbb5a28', 'CMG_Broad_Orphan_Jueppner_WES_20240205_ANV5_202402051640'), - bqsrc('18bd3df4', 'CMG_UWASH_HMB_20230418_ANV5_202402070029'), - bqsrc('6f4155f2', 'CMG_UWash_GRU_20240301_ANV5_202403040330'), - bqsrc('6486ae96', 'CMG_UWash_GRU_1_20240113_ANV5_202401141440'), - bqsrc('0fad0f77', 'CMG_YALE_DS_RARED_20221020_ANV5_202402281620'), - bqsrc('ad307392', 'CMG_Yale_GRU_20221020_ANV5_202402281628'), - bqsrc('fecab5bc', 'CMG_Yale_HMB_20221020_ANV5_202402290926'), - bqsrc('f9699204', 'CMG_Yale_HMB_GSO_20221020_ANV5_202402290935'), - bqsrc('c5bd892a', 'CMH_GAFK_GS_linked_read_20221107_ANV5_202402290945'), - bqsrc('5e64223a', 'CMH_GAFK_GS_long_read_20240301_ANV5_202403040349'), - bqsrc('ba97c05c', 'CMH_GAFK_scRNA_20221107_ANV5_202402291004'), - bqsrc('2659c380', 'CSER_CHARM_GRU_20240301_ANV5_202403040357'), - bqsrc('0f2e95ad', 'CSER_KidsCanSeq_GRU_20221208_ANV5_202402292138'), - bqsrc('62a0bd6d', 'CSER_NCGENES2_GRU_20221208_ANV5_202402292147'), - bqsrc('df02801a', 'CSER_NYCKIDSEQ_GRU_20240113_ANV5_202401141520'), - bqsrc('4b9c138d', 'CSER_NYCKIDSEQ_HMB_20240113_ANV5_202401141527'), - bqsrc('f4d60c69', 'CSER_P3EGS_GRU_20230727_ANV5_202402070059'), - bqsrc('fc5ed559', 'CSER_SouthSeq_GRU_20221208_ANV5_202402292154'), - bqsrc('74121c99', 'GTEx_BCM_GRU_CoRSIVs_20240116_ANV5_202401170141'), - bqsrc('1a706b0c', 'GTEx_Somatic_WGS_20240116_ANV5_202401170147'), - bqsrc('e063cf6d', 'GTEx_V7_hg19_20221128_ANV5_202402291034'), - bqsrc('383c097a', 'GTEx_V8_hg38_20240116_ANV5_202401170154'), - bqsrc('701eea84', 'GTEx_V9_hg38_20221128_ANV5_202402070108'), - bqsrc('ff9d78a5', 'GTEx_public_data_20240117_ANV5_202401180400'), - bqsrc('37c3d458', 'NIA_CARD_Coriell_Cell_Lines_Open_20230727_ANV5_202401111624'), - bqsrc('06c78117', 'NIA_CARD_LR_WGS_NABEC_GRU_20230727_ANV5_202401111634'), - bqsrc('e4eb7641', 'NIMH_Broad_WGSPD1_McCarroll_Braff_DS_WGS_20221115_ANV5_202304242052', pop), - bqsrc('a3880121', 'NIMH_Broad_WGSPD1_McCarroll_Pato_GRU_WGS_20240112_ANV5_202402062129'), - bqsrc('25790186', 'PAGE_BioMe_GRU_WGS_20221128_ANV5_202403040429'), - bqsrc('b371989b', 'PAGE_MEC_GRU_WGS_20230131_ANV5_202403040437'), - bqsrc('4a4eec27', 'PAGE_SoL_HMB_WGS_20221220_ANV5_202403040445'), - bqsrc('a1f917db', 'PAGE_Stanford_Global_Reference_Panel_GRU_WGS_20221128_ANV5_202403040453'), - bqsrc('6264931f', 'PAGE_WHI_HMB_IRB_WGS_20221019_ANV5_202403040500'), - bqsrc('8d62ec8f', 'T2T_20230714_ANV5_202312122150'), - bqsrc('bfabc906', 'ccdg_asc_ndd_daly_talkowski_ac_boston_asd_exome_20221117_ANV5_202403040552'), - bqsrc('825399a4', 'ccdg_asc_ndd_daly_talkowski_barbosa_asd_exome_20221108_ANV5_202403040608'), - bqsrc('e3b070a7', 'ccdg_asc_ndd_daly_talkowski_brusco_asd_exome_20230327_ANV5_202403040615'), - bqsrc('2354d65a', 'ccdg_asc_ndd_daly_talkowski_cdcseed_asd_gsa_md_20221024_ANV5_202402291144'), - bqsrc('0ad3f21a', 'ccdg_asc_ndd_daly_talkowski_chung_asd_exome_20221107_ANV5_202403040623'), - bqsrc('c148a340', 'ccdg_asc_ndd_daly_talkowski_control_NIMH_asd_exome_20221201_ANV5_202403040630'), - bqsrc('bc613fa9', 'ccdg_asc_ndd_daly_talkowski_domenici_asd_exome_20221117_ANV5_202403040637'), - bqsrc('97e22445', 'ccdg_asc_ndd_daly_talkowski_goethe_asd_exome_20221107_ANV5_202403040652'), - bqsrc('72efc816', 'ccdg_asc_ndd_daly_talkowski_herman_asd_exome_20221117_ANV5_202403040701'), - bqsrc('e25caee8', 'ccdg_asc_ndd_daly_talkowski_hertz_picciotto_asd_exome_20221107_ANV5_202403040708'), - bqsrc('22af2470', 'ccdg_asc_ndd_daly_talkowski_hertz_picciotto_asd_wgs_20221107_ANV5_202403040716'), - bqsrc('a81009d9', 'ccdg_asc_ndd_daly_talkowski_hultman_asd_exome_20231013_ANV5_202403040723'), - bqsrc('bc078d98', 'ccdg_asc_ndd_daly_talkowski_kolevzon_asd_exome_20221108_ANV5_202403040731'), - bqsrc('0949186c', 'ccdg_asc_ndd_daly_talkowski_kolevzon_asd_wgs_20221109_ANV5_202403040739'), - bqsrc('4dc4f939', 'ccdg_asc_ndd_daly_talkowski_lattig_asd_exome_20221122_ANV5_202403040746'), - bqsrc('5ed988f8', 'ccdg_asc_ndd_daly_talkowski_menashe_asd_exome_20221108_ANV5_202403040800'), - bqsrc('c6a938e4', 'ccdg_asc_ndd_daly_talkowski_minshew_asd_exome_20221117_ANV5_202403040807'), - bqsrc('a245d786', 'ccdg_asc_ndd_daly_talkowski_palotie_asd_exome_20221019_ANV5_202403040815'), - bqsrc('7ddd7425', 'ccdg_asc_ndd_daly_talkowski_parellada_asd_exome_20221108_ANV5_202403040822'), - bqsrc('aa9f0b28', 'ccdg_asc_ndd_daly_talkowski_pericak_vance_asd_wgs_20221027_ANV5_202403040846'), - bqsrc('0b4c3cfb', 'ccdg_asc_ndd_daly_talkowski_schloesser_asd_gsa_md_20221025_ANV5_202402291202'), - bqsrc('8023858b', 'ccdg_asc_ndd_daly_talkowski_weiss_asd_exome_20221108_ANV5_202403040925'), - bqsrc('381b5d80', 'ccdg_broad_ai_ibd_alm_gmc_wes_20230328_ANV5_202403040932'), - bqsrc('714d60b9', 'ccdg_broad_ai_ibd_daly_alm_gmc_gsa_20221025_ANV5_202402291210'), - bqsrc('86a1dbf3', 'ccdg_broad_ai_ibd_daly_bernstein_gsa_20221025_ANV5_202304241921', pop), - bqsrc('dc7a9acd', 'ccdg_broad_ai_ibd_daly_brant_niddk_gsa_20240103_ANV5_202401112147'), - bqsrc('916fc0b6', 'ccdg_broad_ai_ibd_daly_duerr_niddk_gsa_20240113_ANV5_202402062134'), - bqsrc('48d85607', 'ccdg_broad_ai_ibd_daly_hyams_protect_wes_20240104_ANV5_202403041011'), - bqsrc('21d3c731', 'ccdg_broad_ai_ibd_daly_kupcinskas_wes_20240104_ANV5_202403041018'), - bqsrc('614a8519', 'ccdg_broad_ai_ibd_daly_lewis_ccfa_wes_20240113_ANV5_202403041026'), - bqsrc('6799d240', 'ccdg_broad_ai_ibd_daly_lewis_sparc_gsa_20240104_ANV5_202401121517'), - bqsrc('d7ae08a2', 'ccdg_broad_ai_ibd_daly_louis_wes_20240104_ANV5_202403041042'), - bqsrc('9b04a16e', 'ccdg_broad_ai_ibd_daly_mccauley_gsa_20240113_ANV5_202402062137'), - bqsrc('b6a95447', 'ccdg_broad_ai_ibd_daly_mccauley_wes_20240104_ANV5_202403041049'), - bqsrc('df7a6188', 'ccdg_broad_ai_ibd_daly_mcgovern_gsa_20240118_ANV5_202402062140'), - bqsrc('5cd83e88', 'ccdg_broad_ai_ibd_daly_mcgovern_niddk_wes_20240104_ANV5_202403041057'), - bqsrc('fa7e066f', 'ccdg_broad_ai_ibd_daly_mcgovern_share_wes_20240104_ANV5_202401121556', pop), - bqsrc('2def0ed8', 'ccdg_broad_ai_ibd_daly_moayyedi_imagine_gsa_20240105_ANV5_202401121603'), - bqsrc('6e9fe586', 'ccdg_broad_ai_ibd_daly_moayyedi_imagine_wes_20240105_ANV5_202403041109'), - bqsrc('1f3dab2b', 'ccdg_broad_ai_ibd_daly_pekow_share_gsa_20240105_ANV5_202401121646'), - bqsrc('74869ac4', 'ccdg_broad_ai_ibd_daly_pekow_share_wes_20240105_ANV5_202403041133'), - bqsrc('d95b9a73', 'ccdg_broad_ai_ibd_niddk_daly_brant_wes_20240112_ANV5_202403041232'), - bqsrc('7a0883a4', 'ccdg_broad_cvd_af_pegasus_hmb_20221025_ANV5_202403030736'), - bqsrc('f62c5ebd', 'ccdg_broad_cvd_eocad_promis_wgs_20221213_ANV5_202403030935'), - bqsrc('9d116a5c', 'ccdg_broad_mi_atvb_ds_cvd_wes_20221025_ANV5_202403031035'), - bqsrc('bb315b29', 'ccdg_nygc_np_autism_tasc_wgs_20221024_ANV5_202403032216'), - bqsrc('33e3428b', 'ccdg_washu_cvd_np_ai_controls_vccontrols_wgs_20221024_ANV5_202403032319'), - bqsrc('17c5f983', 'cmg_broad_brain_engle_wgs_20221202_ANV5_202402290614'), - bqsrc('a46c0244', 'nhgri_broad_ibd_daly_kugathasan_wes_20240112_ANV5_202403041258'), - bqsrc('4b4f2325', 'nhgri_broad_ibd_daly_turner_wes_20240112_ANV5_202403041307'), -])) - -anvil6_sources = mkdict(anvil5_sources, 249, mkdelta([ - bqsrc('38af6304', '1000G_PRIMED_data_model_20240410_ANV5_202404101419'), - bqsrc('1a86e7ca', 'CCDG_Baylor_CVD_AFib_Groningen_WGS_20221122_ANV5_202304242224', pop), - bqsrc('92716a90', 'CCDG_Baylor_CVD_AFib_VAFAR_HMB_IRB_WGS_20221020_ANV5_202304211525', pop), - bqsrc('e8fc4258', 'CCDG_Baylor_CVD_ARIC_20231008_ANV5_202403030358'), - bqsrc('77445496', 'CCDG_Baylor_CVD_EOCAD_BioMe_WGS_20221122_ANV5_202304242226', pop), - bqsrc('1b0d6b90', 'CCDG_Baylor_CVD_HHRC_Brownsville_GRU_WGS_20221122_ANV5_202304242228', pop), - bqsrc('373b7918', 'CCDG_Baylor_CVD_HemStroke_BNI_HMB_WGS_20221215_ANV5_202304242306', pop), - bqsrc('efc3e806', 'CCDG_Baylor_CVD_HemStroke_Duke_DS_WGS_20221117_ANV5_202304242122', pop), - bqsrc('1044f96d', 'CCDG_Baylor_CVD_HemStroke_ERICH_WGS_20221207_ANV5_202304271256', pop), - bqsrc('f23a6ec8', 'CCDG_Baylor_CVD_HemStroke_GERFHS_HMB_WGS_20221215_ANV5_202304242307', pop), - bqsrc('de34ca6e', 'CCDG_Baylor_CVD_HemStroke_Regards_DS_WGS_20221117_ANV5_202304242123', pop), - bqsrc('d9c6f406', 'CCDG_Baylor_CVD_HemStroke_Yale_HMB_WGS_20221215_ANV5_202304242309', pop), - bqsrc('56883e56', 'CCDG_Baylor_CVD_Oregon_SUDS_GRU_WGS_20221215_ANV5_202304242302', pop), - bqsrc('7f3ba7ec', 'CCDG_Baylor_CVD_TexGen_DS_WGS_20221117_ANV5_202304242125', pop), - bqsrc('da965e26', 'CCDG_Baylor_CVD_Ventura_Presto_GRU_IRB_WGS_20221117_ANV5_202304242127', pop), - bqsrc('40647d03', 'CCDG_Broad_AI_IBD_Brant_DS_IBD_WGS_20240113_ANV5_202401141252'), - bqsrc('83339911', 'CCDG_Broad_AI_IBD_Brant_HMB_WGS_20240113_ANV5_202401141259'), - bqsrc('3f36066b', 'CCDG_Broad_AI_IBD_Cho_WGS_20240113_ANV5_202403030543'), - bqsrc('65e890b6', 'CCDG_Broad_AI_IBD_Kugathasan_WGS_20240113_ANV5_202403030551'), - bqsrc('cec499cd', 'CCDG_Broad_AI_IBD_McCauley_WGS_20240114_ANV5_202403030559'), - bqsrc('8043de16', 'CCDG_Broad_AI_IBD_McGovern_WGS_20240113_ANV5_202403030608'), - bqsrc('de3bfd4e', 'CCDG_Broad_AI_IBD_Newberry_WGS_20240113_ANV5_202403030616'), - bqsrc('ed109b2f', 'CCDG_Broad_CVD_AF_BioVU_HMB_GSO_Arrays_20230612_ANV5_202306131350', pop), - bqsrc('3d8b62d7', 'CCDG_Broad_CVD_AF_BioVU_HMB_GSO_WES_20221025_ANV5_202304241856', pop), - bqsrc('450ba911', 'CCDG_Broad_CVD_AF_ENGAGE_DS_WES_20230418_ANV5_202304210808', pop), - bqsrc('0768a322', 'CCDG_Broad_CVD_AF_Ellinor_MGH_Arrays_20221024_ANV5_202304211831', pop), - bqsrc('dfabf632', 'CCDG_Broad_CVD_AF_Ellinor_MGH_WES_20221117_ANV5_202304271354', pop), - bqsrc('485eb707', 'CCDG_Broad_CVD_AF_Figtree_BioHeart_Arrays_20230128_ANV5_202304271554', pop), - bqsrc('58dffe5a', 'CCDG_Broad_CVD_AF_GAPP_DS_MDS_Arrays_20221103_ANV5_202304242105', pop), - bqsrc('cf7f2c0c', 'CCDG_Broad_CVD_AF_GAPP_DS_MDS_WES_20221103_ANV5_202304242107', pop), - bqsrc('f896734e', 'CCDG_Broad_CVD_AF_Marcus_UCSF_Arrays_20221102_ANV5_202304242039', pop), - bqsrc('40c2f4f4', 'CCDG_Broad_CVD_AF_Marcus_UCSF_WES_20221222_ANV5_202304242040', pop), - bqsrc('67117555', 'CCDG_Broad_CVD_AF_Rienstra_WES_20221222_ANV5_202304242035', pop), - bqsrc('c45dd622', 'CCDG_Broad_CVD_AF_Swiss_Cases_DS_MDS_Arrays_20221103_ANV5_202304242110', pop), - bqsrc('b12d2e52', 'CCDG_Broad_CVD_AF_Swiss_Cases_DS_MDS_WES_20230118_ANV5_202304242112', pop), - bqsrc('d795027d', 'CCDG_Broad_CVD_AF_VAFAR_Arrays_20221020_ANV5_202304211823', pop), - bqsrc('642829f3', 'CCDG_Broad_CVD_AF_VAFAR_WES_20221024_ANV5_202304211826', pop), - bqsrc('43f6230a', 'CCDG_Broad_CVD_AFib_AFLMU_WGS_20231008_ANV5_202310091911', pop), - bqsrc('2b135baf', 'CCDG_Broad_CVD_AFib_MGH_WGS_20221024_ANV5_202304211829', pop), - bqsrc('de64d25a', 'CCDG_Broad_CVD_AFib_UCSF_WGS_20221222_ANV5_202304242037', pop), - bqsrc('08216a2c', 'CCDG_Broad_CVD_AFib_Vanderbilt_Ablation_WGS_20221020_ANV5_202304211819', pop), - bqsrc('342c77f2', 'CCDG_Broad_CVD_EOCAD_PartnersBiobank_HMB_Arrays_20230517_ANV5_202312122054'), - bqsrc('a16f8bac', 'CCDG_Broad_CVD_EOCAD_PartnersBiobank_HMB_WES_20230621_ANV5_202403030943'), - bqsrc('f2179275', 'CCDG_Broad_CVD_EOCAD_TaiChi_WGS_20221026_ANV5_202403030955'), - bqsrc('e8ee6358', 'CCDG_Broad_CVD_EOCAD_VIRGO_WGS_20221024_ANV5_202403031003'), - bqsrc('383d9d9b', 'CCDG_Broad_CVD_PROMIS_GRU_WES_20230418_ANV5_202306211912', pop), - bqsrc('318ae48e', 'CCDG_Broad_CVD_Stroke_BRAVE_WGS_20221107_ANV5_202304241543', pop), - bqsrc('7ea7a6e9', 'CCDG_Broad_MI_BRAVE_GRU_WES_20221107_ANV5_202304241545', pop), - bqsrc('5df71da4', 'CCDG_Broad_MI_InStem_WES_20221122_ANV5_202304242236', pop), - bqsrc('1793828c', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_GSRS_WES_20230324_ANV5_202304241752', pop), - bqsrc('0db6105c', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_WES_20230128_ANV5_202402020211'), - bqsrc('70c803d7', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_GSA_MD_20221117_ANV5_202304271400', pop), - bqsrc('1b92691d', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_WES_20221101_ANV5_202403031115'), - bqsrc('f5a4a895', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_GSA_MD_20221117_ANV5_202304271358', pop), - bqsrc('3da39a32', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_WES_20221101_ANV5_202403031123'), - bqsrc('b8b8ba44', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_GSA_MD_20221117_ANV5_202304271356', pop), - bqsrc('b3e42c63', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_WES_20221101_ANV5_202403031131'), - bqsrc('a2b20d71', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_IRB_WES_20230621_ANV5_202402020256'), - bqsrc('f85048a3', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_GSA_MD_20221117_ANV5_202304271401', pop), - bqsrc('b3ef2bd3', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_WES_20221026_ANV5_202403031140'), - bqsrc('1cafba94', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_ADLT_WES_20230128_ANV5_202402020305'), - bqsrc('006c9286', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_WES_20230314_ANV5_202402020314'), - bqsrc('92905a2b', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_GSA_MD_20221117_ANV5_202304271403', pop), - bqsrc('33e1bed9', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_WES_20221108_ANV5_202402020322'), - bqsrc('3f3ad5c7', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_GSA_MD_20230118_ANV5_202304271404', pop), - bqsrc('b2a5eccc', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_WES_20221027_ANV5_202403031148'), - bqsrc('7a7b911a', 'CCDG_Broad_NP_Epilepsy_BRAUSP_DS_WES_20240201_ANV5_202402020339'), - bqsrc('33634ed0', 'CCDG_Broad_NP_Epilepsy_CANCAL_GRU_v2_WES_20240201_ANV5_202402020347'), - bqsrc('47f93bbb', 'CCDG_Broad_NP_Epilepsy_CANUTN_DS_EP_WES_20230328_ANV5_202403031156'), - bqsrc('389af3b3', 'CCDG_Broad_NP_Epilepsy_CHEUBB_HMB_IRB_MDS_WES_20221102_ANV5_202403031205'), - bqsrc('ac8e01aa', 'CCDG_Broad_NP_Epilepsy_CYPCYP_HMB_NPU_MDS_WES_20230328_ANV5_202403031213'), - bqsrc('5d4aa202', 'CCDG_Broad_NP_Epilepsy_CZEMTH_GRU_WES_20221108_ANV5_202403031222'), - bqsrc('bd066b5a', 'CCDG_Broad_NP_Epilepsy_DEUPUM_HMB_MDS_WES_20230328_ANV5_202403031231'), - bqsrc('17de3c3b', 'CCDG_Broad_NP_Epilepsy_DEUUGS_DS_EP_MDS_WES_20240201_ANV5_202403031239'), - bqsrc('46e7e2ab', 'CCDG_Broad_NP_Epilepsy_DEUUKB_HMB_NPU_MDS_WES_20230328_ANV5_202403031247'), - bqsrc('ba863f29', 'CCDG_Broad_NP_Epilepsy_DEUUKL_HMB_WES_20221102_ANV5_202403031256'), - bqsrc('113d9969', 'CCDG_Broad_NP_Epilepsy_DEUULG_GRU_WES_20221108_ANV5_202403031305'), - bqsrc('fd6d20c8', 'CCDG_Broad_NP_Epilepsy_DEUUTB_HMB_NPU_MDS_WES_20230328_ANV5_202403031313'), - bqsrc('55d32c1b', 'CCDG_Broad_NP_Epilepsy_FINKPH_EPIL_CO_MORBIDI_MDS_WES_20230328_ANV5_202403031322'), - bqsrc('844a1ecf', 'CCDG_Broad_NP_Epilepsy_FINUVH_HMB_NPU_MDS_WES_20221114_ANV5_202403031331'), - bqsrc('1cbd28a5', 'CCDG_Broad_NP_Epilepsy_FRALYU_HMB_WES_20230621_ANV5_202403031340'), - bqsrc('b8b0b663', 'CCDG_Broad_NP_Epilepsy_GBRSWU_CARDI_NEURO_WES_20221026_ANV5_202403031348'), - bqsrc('2686a76a', 'CCDG_Broad_NP_Epilepsy_GBRUNL_EP_ETIOLOGY_MDS_WES_20221027_ANV5_202403031405'), - bqsrc('05e028a4', 'CCDG_Broad_NP_Epilepsy_GBRUNL_GRU_WES_20221108_ANV5_202403031413'), - bqsrc('4a6228be', 'CCDG_Broad_NP_Epilepsy_GHAKNT_GRU_WES_20221122_ANV5_202403031421'), - bqsrc('98dddf8f', 'CCDG_Broad_NP_Epilepsy_HKGHKK_HMB_MDS_WES_20230328_ANV5_202403031430'), - bqsrc('9ed2a64a', 'CCDG_Broad_NP_Epilepsy_HKOSB_GRU_WES_20230110_ANV5_202403031439'), - bqsrc('22a9e8bd', 'CCDG_Broad_NP_Epilepsy_HRVUZG_HMB_MDS_WES_20221114_ANV5_202403031446'), - bqsrc('517eda47', 'CCDG_Broad_NP_Epilepsy_IRLRCI_GRU_IRB_WES_20230328_ANV5_202403031454'), - bqsrc('b6e444c4', 'CCDG_Broad_NP_Epilepsy_ITAICB_HMB_NPU_MDS_WES_20230223_ANV5_202403031503'), - bqsrc('d8145bea', 'CCDG_Broad_NP_Epilepsy_ITAIGI_GRU_WES_20221108_ANV5_202403031512'), - bqsrc('67c3b200', 'CCDG_Broad_NP_Epilepsy_ITAUBG_DS_EPI_NPU_MDS_WES_20221027_ANV5_202403031520'), - bqsrc('4476c338', 'CCDG_Broad_NP_Epilepsy_ITAUMC_DS_NEURO_MDS_WES_20221108_ANV5_202403031529'), - bqsrc('5cd83a64', 'CCDG_Broad_NP_Epilepsy_ITAUMR_GRU_NPU_WES_20221114_ANV5_202403031537'), - bqsrc('5115b904', 'CCDG_Broad_NP_Epilepsy_JPNFKA_GRU_WES_20221220_ANV5_202403031547'), - bqsrc('f7fb0742', 'CCDG_Broad_NP_Epilepsy_JPNRKI_DS_NPD_IRB_NPU_WES_20221027_ANV5_202402062057'), - bqsrc('b979e83a', 'CCDG_Broad_NP_Epilepsy_KENKIL_GRU_WES_20230110_ANV5_202403031555'), - bqsrc('54571a90', 'CCDG_Broad_NP_Epilepsy_LEBABM_DS_Epilepsy_WES_20230328_ANV5_202403031603'), - bqsrc('5495da63', 'CCDG_Broad_NP_Epilepsy_LEBABM_GRU_WES_20230110_ANV5_202403031612'), - bqsrc('7275a9bd', 'CCDG_Broad_NP_Epilepsy_LTUUHK_HMB_NPU_MDS_WES_20221114_ANV5_202403031621'), - bqsrc('2c2a7d19', 'CCDG_Broad_NP_Epilepsy_NZLUTO_EPIL_BC_ID_MDS_WES_20230328_ANV5_202403031629'), - bqsrc('edbd02ca', 'CCDG_Broad_NP_Epilepsy_TURBZU_GRU_WES_20221108_ANV5_202403031637'), - bqsrc('225a7340', 'CCDG_Broad_NP_Epilepsy_TURIBU_DS_NEURO_AD_NPU_WES_20221027_ANV5_202403031645'), - bqsrc('97dadba8', 'CCDG_Broad_NP_Epilepsy_TWNCGM_HMB_NPU_AdultsONLY_WES_20240201_ANV5_202402020902'), - bqsrc('6dcb5d39', 'CCDG_Broad_NP_Epilepsy_USABCH_EPI_MUL_CON_MDS_WES_20221027_ANV5_202403031701'), - bqsrc('fb4ac7d8', 'CCDG_Broad_NP_Epilepsy_USABLC_GRU_NPU_WES_20221215_ANV5_202402062059'), - bqsrc('5de241b3', 'CCDG_Broad_NP_Epilepsy_USACCF_HMB_MDS_WES_20221207_ANV5_202403031709'), - bqsrc('62a84074', 'CCDG_Broad_NP_Epilepsy_USACCH_DS_NEURO_MDS_WES_20221116_ANV5_202403031719'), - bqsrc('7c06247a', 'CCDG_Broad_NP_Epilepsy_USACHP_GRU_WES_20230612_ANV5_202402062101'), - bqsrc('9042eb4a', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_EP_MDS_WES_20221027_ANV5_202403031727'), - bqsrc('cb75258b', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_SEIZD_WES_20221027_ANV5_202403031735'), - bqsrc('744bc858', 'CCDG_Broad_NP_Epilepsy_USACRW_EPI_ASZ_MED_MDS_WES_20221027_ANV5_202403031744'), - bqsrc('faff5b2b', 'CCDG_Broad_NP_Epilepsy_USAEGP_GRU_WES_20221110_ANV5_202403031752'), - bqsrc('275b2a46', 'CCDG_Broad_NP_Epilepsy_USAFEB_GRU_WES_20221205_ANV5_202403031800'), - bqsrc('5a548fd8', 'CCDG_Broad_NP_Epilepsy_USAHEP_GRU_WES_20230328_ANV5_202403031809'), - bqsrc('999301d3', 'CCDG_Broad_NP_Epilepsy_USALCH_HMB_WES_20230126_ANV5_202402021048'), - bqsrc('eda3f720', 'CCDG_Broad_NP_Epilepsy_USAMGH_HMB_MDS_WES_20221207_ANV5_202403031817'), - bqsrc('d9e55ea0', 'CCDG_Broad_NP_Epilepsy_USAMGH_MGBB_HMB_MDS_WES_20221207_ANV5_202403031826'), - bqsrc('6a627e94', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_NPU_WES_20221215_ANV5_202403031834'), - bqsrc('bfa59a11', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_WES_20240201_ANV5_202403031842'), - bqsrc('f8d5318a', 'CCDG_Broad_NP_Epilepsy_USAMON_HMB_WES_20230131_ANV5_202402021131'), - bqsrc('4ef1d979', 'CCDG_Broad_NP_Epilepsy_USAMSS_DS_EP_NEURO_MDS_WES_20230612_ANV5_202402021139'), - bqsrc('5e00a0df', 'CCDG_Broad_NP_Epilepsy_USANCH_DS_NEURO_MDS_WES_20221108_ANV5_202402062105'), - bqsrc('10948836', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_NPU_WES_20221114_ANV5_202403031858'), - bqsrc('0a247e9e', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_WES_20230328_ANV5_202403031906'), - bqsrc('154b4ef8', 'CCDG_Broad_NP_Epilepsy_USAUPN_Rader_GRU_WES_20230328_ANV5_202403031915'), - bqsrc('07b8d88c', 'CCDG_Broad_NP_Epilepsy_USAVAN_HMB_GSO_WES_20221207_ANV5_202402021226'), - bqsrc('1985a01d', 'CCDG_Broad_Spalletta_HMB_NPU_MDS_WES_20221102_ANV5_202403031942'), - bqsrc('ad61c47e', 'CCDG_NHGRI_Broad_ASD_Daly_phs000298_WES_vcf_20230403_ANV5_202304271610', pop), - bqsrc('5e719362', 'CCDG_NYGC_AI_Asthma_Gala2_WGS_20230605_ANV5_202306131248', pop), - bqsrc('2734a0e4', 'CCDG_NYGC_NP_Alz_EFIGA_WGS_20230605_ANV5_202306141705', pop), - bqsrc('710fc60d', 'CCDG_NYGC_NP_Alz_LOAD_WGS_20230605_ANV5_202306131256', pop), - bqsrc('9626b3eb', 'CCDG_NYGC_NP_Alz_WHICAP_WGS_20230605_ANV5_202306131303', pop), - bqsrc('86bb81c0', 'CCDG_NYGC_NP_Autism_ACE2_GRU_MDS_WGS_20230605_ANV5_202403032029'), - bqsrc('85674dce', 'CCDG_NYGC_NP_Autism_AGRE_WGS_20230605_ANV5_202403081651'), - bqsrc('7d1461b2', 'CCDG_NYGC_NP_Autism_SSC_WGS_20230605_ANV5_202403032206'), - bqsrc('25ec7b57', 'CCDG_WASHU_PAGE_20221220_ANV5_202304271544', pop), - bqsrc('15645b8d', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_DS_WGS_20230525_ANV5_202403040118'), - bqsrc('4a0769c7', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_GRU_IRB_WGS_20230525_ANV5_202403040126'), - bqsrc('b9222139', 'CMG_BROAD_BRAIN_ENGLE_WES_20240205_ANV5_202402051624', pop), - bqsrc('7e094253', 'CMG_BROAD_BRAIN_SHERR_WGS_20221102_ANV5_202402281543', pop), - bqsrc('c797490f', 'CMG_BROAD_ORPHAN_SCOTT_WGS_20221102_ANV5_202402281552', pop), - bqsrc('0a21cbfd', 'CMG_BaylorHopkins_HMB_IRB_NPU_WES_20221020_ANV5_202402290528'), - bqsrc('d321333c', 'CMG_BaylorHopkins_HMB_NPU_WES_20230525_ANV5_202402290537'), - bqsrc('0a1360b1', 'CMG_Broad_Blood_Gazda_WES_20221117_ANV5_202402290547', pop), - bqsrc('faa71b49', 'CMG_Broad_Blood_Sankaran_WES_20221117_ANV5_202402290555', pop), - bqsrc('abce6387', 'CMG_Broad_Blood_Sankaran_WGS_20221117_ANV5_202402290606', pop), - bqsrc('3dd4d039', 'CMG_Broad_Brain_Gleeson_WES_20221117_ANV5_202304241517', pop), - bqsrc('c361373f', 'CMG_Broad_Brain_Muntoni_WES_20221102_ANV5_202304241527', pop), - bqsrc('fc6ce406', 'CMG_Broad_Brain_NeuroDev_WES_20240112_ANV5_202401152208'), - bqsrc('d7bfafc6', 'CMG_Broad_Brain_Thaker_WES_20221102_ANV5_202304241531', pop), - bqsrc('7e03b5fd', 'CMG_Broad_Brain_Walsh_WES_20230605_ANV5_202310101734', pop), - bqsrc('29812b42', 'CMG_Broad_Eye_Pierce_WES_20221205_ANV5_202304242250', pop), - bqsrc('48134558', 'CMG_Broad_Eye_Pierce_WGS_20221117_ANV5_202304241507', pop), - bqsrc('36ebaa12', 'CMG_Broad_Heart_PCGC_Tristani_WGS_20221025_ANV5_202304211840', pop), - bqsrc('f9826139', 'CMG_Broad_Heart_Seidman_WES_20221117_ANV5_202304241504', pop), - bqsrc('85952af8', 'CMG_Broad_Kidney_Hildebrandt_WES_20230525_ANV5_202305251733', pop), - bqsrc('ee4ae9a1', 'CMG_Broad_Kidney_Hildebrandt_WGS_20221025_ANV5_202304211844', pop), - bqsrc('cf168274', 'CMG_Broad_Kidney_Pollak_WES_20221025_ANV5_202304211846', pop), - bqsrc('4d47ba2c', 'CMG_Broad_Muscle_Beggs_WGS_20221102_ANV5_202304241533', pop), - bqsrc('82d1271a', 'CMG_Broad_Muscle_Bonnemann_WES_20221117_ANV5_202304241509', pop), - bqsrc('6be3fb25', 'CMG_Broad_Muscle_Bonnemann_WGS_20221117_ANV5_202304241510', pop), - bqsrc('b168eb10', 'CMG_Broad_Muscle_KNC_WES_20221116_ANV5_202304242219', pop), - bqsrc('372244aa', 'CMG_Broad_Muscle_KNC_WGS_20221117_ANV5_202304242221', pop), - bqsrc('c43e7400', 'CMG_Broad_Muscle_Kang_WES_20230525_ANV5_202310101649', pop), - bqsrc('77a6c0aa', 'CMG_Broad_Muscle_Kang_WGS_20221025_ANV5_202304211849', pop), - bqsrc('4153ad1f', 'CMG_Broad_Muscle_Laing_WES_20221208_ANV5_202402291926', pop), - bqsrc('5019143b', 'CMG_Broad_Muscle_Myoseq_WES_20230621_ANV5_202306211852', pop), - bqsrc('27eb651a', 'CMG_Broad_Muscle_Myoseq_WGS_20221208_ANV5_202304271310', pop), - bqsrc('c087af7a', 'CMG_Broad_Muscle_OGrady_WES_20221205_ANV5_202304242252', pop), - bqsrc('db987a2e', 'CMG_Broad_Muscle_Ravenscroft_WES_20221208_ANV5_202304271311', pop), - bqsrc('05df566c', 'CMG_Broad_Muscle_Topf_WES_20221208_ANV5_202304271313', pop), - bqsrc('87d91f06', 'CMG_Broad_Orphan_Chung_WES_20221102_ANV5_202304241534', pop), - bqsrc('25f6b696', 'CMG_Broad_Orphan_Estonia_Ounap_WES_20221117_ANV5_202304241512', pop), - bqsrc('c3b16b41', 'CMG_Broad_Orphan_Estonia_Ounap_WGS_20221205_ANV5_202304242255', pop), - bqsrc('5bbb5a28', 'CMG_Broad_Orphan_Jueppner_WES_20240205_ANV5_202402051640', pop), - bqsrc('32fe2260', 'CMG_Broad_Orphan_Lerner_Ellis_WES_20221102_ANV5_202304241536', pop), - bqsrc('6f9e574e', 'CMG_Broad_Orphan_Manton_WES_20221117_ANV5_202304241513', pop), - bqsrc('53cd689b', 'CMG_Broad_Orphan_Manton_WGS_20221117_ANV5_202304241515', pop), - bqsrc('e7c5babf', 'CMG_Broad_Orphan_Scott_WES_20221025_ANV5_202304241458', pop), - bqsrc('051877f4', 'CMG_Broad_Orphan_Sweetser_WES_20221102_ANV5_202304241539', pop), - bqsrc('555c7706', 'CMG_Broad_Orphan_VCGS_White_WES_20221018_ANV5_202304241522', pop), - bqsrc('3a8f7952', 'CMG_Broad_Orphan_VCGS_White_WGS_20221117_ANV5_202304241523', pop), - bqsrc('b699c5e3', 'CMG_Broad_Rare_RGP_WES_20221102_ANV5_202304241540', pop), - bqsrc('2d5bd095', 'CMG_Broad_Stillbirth_Wilkins_Haug_WES_20221102_ANV5_202304241542', pop), - bqsrc('db7353fb', 'CMG_UWASH_DS_BAV_IRB_PUB_RD_20230419_ANV5_202304201858', pop), - bqsrc('3b8ef67a', 'CMG_UWASH_DS_BDIS_20230418_ANV5_202304201958', pop), - bqsrc('5d27ebfe', 'CMG_UWASH_DS_HFA_20230418_ANV5_202304201932', pop), - bqsrc('9d1a6e0a', 'CMG_UWASH_DS_NBIA_20230418_ANV5_202304201949', pop), - bqsrc('18bd3df4', 'CMG_UWASH_HMB_20230418_ANV5_202402070029', pop), - bqsrc('50484f86', 'CMG_UWASH_HMB_IRB_20230418_ANV5_202304201915', pop), - bqsrc('74bd0964', 'CMG_UWash_DS_EP_20230419_ANV5_202304201906', pop), - bqsrc('6f4155f2', 'CMG_UWash_GRU_20240301_ANV5_202403040330', pop), - bqsrc('6486ae96', 'CMG_UWash_GRU_1_20240113_ANV5_202401141440', pop), - bqsrc('97ec5366', 'CMG_UWash_GRU_IRB_20230418_ANV5_202304201940', pop), - bqsrc('cb305c8e', 'CMG_YALE_DS_MC_20221026_ANV5_202402281611'), - bqsrc('c2897355', 'CMG_Yale_DS_BPEAKD_20240113_ANV5_202401141447'), - bqsrc('4b5667f8', 'CMG_Yale_DS_RD_20240113_ANV5_202401141453'), - bqsrc('9e86cb23', 'CMG_Yale_DS_THAL_IRB_20240113_ANV5_202401141500'), - bqsrc('278252c3', 'CMG_Yale_HMB_IRB_20240113_ANV5_202401141507'), - bqsrc('eea2a20c', 'CMH_GAFK_10X_Genomics_20240304_ANV5_202403071539'), - bqsrc('0e0bf0f8', 'CMH_GAFK_ES_20240301_ANV5_202403040338'), - bqsrc('9935aa3f', 'CMH_GAFK_IlluminaGSA_20240311_ANV5_202403121355'), - bqsrc('d391ce5f', 'CMH_GAFK_IsoSeq_20240113_ANV5_202402062116'), - bqsrc('beef6734', 'CMH_GAFK_MGI_20240304_ANV5_202403071559'), - bqsrc('8599b1fb', 'CMH_GAFK_PacBio_methyl_tagged_20240311_ANV5_202403121402'), - bqsrc('94f58e6c', 'CMH_GAFK_SCATAC_20221107_ANV5_202402290954'), - bqsrc('5447de30', 'CMH_GAFK_WGBS_20230327_ANV5_202402062120'), - bqsrc('db73a316', 'CMH_GAFK_WGS_20240113_ANV5_202402062123'), - bqsrc('5227851b', 'CSER_ClinSeq_GRU_20240401_ANV5_202404081541'), - bqsrc('1a706b0c', 'GTEx_Somatic_WGS_20240116_ANV5_202401170147', pop), - bqsrc('8a98bcb4', 'NIMH_Broad_ConvNeuro_McCarroll_Nehme_Levy_CIRM_DS_Village_20240405_ANV5_202404081511'), - bqsrc('c02a5efb', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_CIRM_GRU_VillageData_20230109_ANV5_202402292203'), - bqsrc('817f27aa', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_CIRM_GRU_WGS_20240206_ANV5_202402081755'), - bqsrc('ddc1d72b', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_Finkel_SMA_DS_WGS_20230109_ANV5_202402292209'), - bqsrc('14f5afa3', 'NIMH_Broad_WGSPD1_McCarroll_Braff_DS_10XLRGenomes_20221115_ANV5_202310101713', pop), - bqsrc('69e4bc19', 'NIMH_Broad_WGSPD1_McCarroll_COGS_DS_WGS_20240113_ANV5_202401152215'), - bqsrc('da595e23', 'NIMH_Broad_WGSPD1_McCarroll_Escamilla_DS_WGS_20240112_ANV5_202401141541'), - bqsrc('94091a22', 'NIMH_Broad_WGSPD1_McCarroll_Pato_GRU_10XLRGenomes_20230331_ANV5_202310101715', pop), - bqsrc('df20901c', 'NIMH_Broad_WGSPD_1_McCarroll_Braff_DS_WGS_20240304_ANV5_202403071610'), - bqsrc('75e17b99', 'NIMH_CIRM_FCDI_ConvergentNeuro_McCarroll_Eggan_GRU_Arrays_20230109_ANV5_202402292215'), - bqsrc('25790186', 'PAGE_BioMe_GRU_WGS_20221128_ANV5_202403040429', pop), - bqsrc('b371989b', 'PAGE_MEC_GRU_WGS_20230131_ANV5_202403040437', pop), - bqsrc('4a4eec27', 'PAGE_SoL_HMB_WGS_20221220_ANV5_202403040445', pop), - bqsrc('a1f917db', 'PAGE_Stanford_Global_Reference_Panel_GRU_WGS_20221128_ANV5_202403040453', pop), - bqsrc('6264931f', 'PAGE_WHI_HMB_IRB_WGS_20221019_ANV5_202403040500', pop), - bqsrc('f3817357', 'ccdg_asc_ndd_daly_talkowski_AGRE_asd_exome_20221102_ANV5_202403040528'), - bqsrc('23635d1c', 'ccdg_asc_ndd_daly_talkowski_IBIS_asd_exome_20221024_ANV5_202403040537'), - bqsrc('ecf311e7', 'ccdg_asc_ndd_daly_talkowski_TASC_asd_exome_20221117_ANV5_202403040544'), - bqsrc('90923a9d', 'ccdg_asc_ndd_daly_talkowski_aleksic_asd_exome_20231013_ANV5_202403040600'), - bqsrc('2354d65a', 'ccdg_asc_ndd_daly_talkowski_cdcseed_asd_gsa_md_20221024_ANV5_202402291144', pop), - bqsrc('efc0eb70', 'ccdg_asc_ndd_daly_talkowski_gargus_asd_exome_20231013_ANV5_202403040645'), - bqsrc('d1f95953', 'ccdg_asc_ndd_daly_talkowski_gurrieri_asd_exome_20221024_ANV5_202402291153'), - bqsrc('5590427b', 'ccdg_asc_ndd_daly_talkowski_mayo_asd_exome_20221024_ANV5_202402291115'), - bqsrc('3cbe3dd3', 'ccdg_asc_ndd_daly_talkowski_mcpartland_asd_exome_20221116_ANV5_202403040753'), - bqsrc('a245d786', 'ccdg_asc_ndd_daly_talkowski_palotie_asd_exome_20221019_ANV5_202403040815', pop), - bqsrc('104705f5', 'ccdg_asc_ndd_daly_talkowski_passos_bueno_asd_exome_20221108_ANV5_202403040831'), - bqsrc('a07262c0', 'ccdg_asc_ndd_daly_talkowski_pericak_vance_asd_exome__20221025_ANV5_202403040839'), - bqsrc('418e64c1', 'ccdg_asc_ndd_daly_talkowski_persico_asd_exome_20221027_ANV5_202403040854'), - bqsrc('cfe20662', 'ccdg_asc_ndd_daly_talkowski_renieri_asd_exome_20230327_ANV5_202403040909'), - bqsrc('7c668a5c', 'ccdg_asc_ndd_daly_talkowski_schloesser_asd_exome_20230324_ANV5_202403040917'), - bqsrc('0b4c3cfb', 'ccdg_asc_ndd_daly_talkowski_schloesser_asd_gsa_md_20221025_ANV5_202402291202', pop), - bqsrc('2571477f', 'ccdg_broad_ai_ibd_daly_burnstein_gsa_20240103_ANV5_202401112154'), - bqsrc('c0abacf6', 'ccdg_broad_ai_ibd_daly_chen_gsa_20240103_ANV5_202401112202'), - bqsrc('c7473b33', 'ccdg_broad_ai_ibd_daly_chen_wes_20240103_ANV5_202403040940'), - bqsrc('ac30439c', 'ccdg_broad_ai_ibd_daly_cho_niddk_gsa_20240103_ANV5_202401112215'), - bqsrc('267ea46f', 'ccdg_broad_ai_ibd_daly_chung_gider_gsa_20240103_ANV5_202401121413'), - bqsrc('c481c20f', 'ccdg_broad_ai_ibd_daly_chung_gider_wes_20240103_ANV5_202403040947'), - bqsrc('938f9e89', 'ccdg_broad_ai_ibd_daly_faubion_share_gsa_20240104_ANV5_202401121427'), - bqsrc('d4b1264d', 'ccdg_broad_ai_ibd_daly_faubion_share_wes_20240104_ANV5_202403040954'), - bqsrc('4d149951', 'ccdg_broad_ai_ibd_daly_franchimont_gsa_20240104_ANV5_202401121441'), - bqsrc('e12ce5bd', 'ccdg_broad_ai_ibd_daly_franchimont_wes_20240104_ANV5_202403041001'), - bqsrc('2c7e5905', 'ccdg_broad_ai_ibd_daly_hyams_protect_gsa_20240311_ANV5_202403121623'), - bqsrc('f5463526', 'ccdg_broad_ai_ibd_daly_kastner_fmf_gsa_20240104_ANV5_202401121503'), - bqsrc('51367192', 'ccdg_broad_ai_ibd_daly_kastner_fmf_nhgri_wes_20240104_ANV5_202401152230'), - bqsrc('7268c3a0', 'ccdg_broad_ai_ibd_daly_kupcinskas_gsa_20240311_ANV5_202403121627'), - bqsrc('51449a60', 'ccdg_broad_ai_ibd_daly_lira_share_wes_20240104_ANV5_202403041035'), - bqsrc('ee1b3121', 'ccdg_broad_ai_ibd_daly_louis_gsa_20240311_ANV5_202403121633'), - bqsrc('083044ec', 'ccdg_broad_ai_ibd_daly_newberry_share_gsa_20240105_ANV5_202401121611'), - bqsrc('10ae29e5', 'ccdg_broad_ai_ibd_daly_newberry_share_wes_20240105_ANV5_202403041117'), - bqsrc('a240ffda', 'ccdg_broad_ai_ibd_daly_niddk_cho_wes_20240105_ANV5_202403041125'), - bqsrc('929acb2a', 'ccdg_broad_ai_ibd_daly_rioux_bitton_igenomed_wes_20240105_ANV5_202401121701'), - bqsrc('fa70ba86', 'ccdg_broad_ai_ibd_daly_rioux_genizon_wes_20240311_ANV5_202403121426'), - bqsrc('6e9030de', 'ccdg_broad_ai_ibd_daly_rioux_igenomed_gsa_20240105_ANV5_202401121709'), - bqsrc('c9265cf7', 'ccdg_broad_ai_ibd_daly_rioux_niddk_gsa_20240108_ANV5_202401121716'), - bqsrc('fe283248', 'ccdg_broad_ai_ibd_daly_rioux_niddk_wes_20240108_ANV5_202403041140'), - bqsrc('3ca098f3', 'ccdg_broad_ai_ibd_daly_sands_msccr_gsa_20240108_ANV5_202401121730'), - bqsrc('fd47ae7f', 'ccdg_broad_ai_ibd_daly_sands_msccr_wes_20240108_ANV5_202403041148'), - bqsrc('4300fbc6', 'ccdg_broad_ai_ibd_daly_silverberg_niddk_gsa_20240108_ANV5_202401121745'), - bqsrc('14285871', 'ccdg_broad_ai_ibd_daly_stampfer_nhs_gsa_20240311_ANV5_202403121637'), - bqsrc('d69ac752', 'ccdg_broad_ai_ibd_daly_stampfer_wes_20240108_ANV5_202403041155'), - bqsrc('268dabf8', 'ccdg_broad_ai_ibd_daly_vermeire_gsa_20240113_ANV5_202402062145'), - bqsrc('636bc565', 'ccdg_broad_ai_ibd_daly_vermeire_wes_20240108_ANV5_202403041203'), - bqsrc('7cc92556', 'ccdg_broad_ai_ibd_daly_xavier_prism_gsa_20240108_ANV5_202402062149'), - bqsrc('6b12cac1', 'ccdg_broad_ai_ibd_daly_xavier_prism_wes_20240108_ANV5_202403041214'), - bqsrc('5d4e150c', 'ccdg_broad_ai_ibd_daly_xavier_share_gsa_20240108_ANV5_202401121819'), - bqsrc('e30e7797', 'ccdg_broad_ai_ibd_daly_xavier_share_wes_20240108_ANV5_202403041224'), - bqsrc('597e5f25', 'ccdg_broad_ai_ibd_niddk_daly_duerr_wes_20240112_ANV5_202403041241'), - bqsrc('2f8b185b', 'ccdg_broad_ai_ibd_niddk_daly_silverberg_wes_20240112_ANV5_202403041250'), - bqsrc('7a0883a4', 'ccdg_broad_cvd_af_pegasus_hmb_20221025_ANV5_202403030736', pop), - bqsrc('f62c5ebd', 'ccdg_broad_cvd_eocad_promis_wgs_20221213_ANV5_202403030935', pop), - bqsrc('9d116a5c', 'ccdg_broad_mi_atvb_ds_cvd_wes_20221025_ANV5_202403031035', pop), - bqsrc('6c0a5f0d', 'ccdg_broad_mi_univutah_ds_cvd_wes_20221026_ANV5_202403031059'), - bqsrc('235663ab', 'ccdg_broad_np_epilepsy_usavancontrols_hmb_gso_wes_20221101_ANV5_202403031924'), - bqsrc('81cf50b1', 'ccdg_broad_np_epilepsy_zafagn_ds_epi_como_mds_wes_20221026_ANV5_202403031933'), - bqsrc('e6801146', 'ccdg_nygc_np_autism_hmca_wgs_20221024_ANV5_202403032115'), - bqsrc('64b26798', 'ccdg_washu_ai_t1d_t1dgc_wgs_20221031_ANV5_202403032311'), - bqsrc('e3065356', 'ccdg_washu_cvd_eocad_biome_wgs_20221024_ANV5_202304211601', pop), - bqsrc('01e3396c', 'ccdg_washu_cvd_eocad_cleveland_wgs_20221024_ANV5_202403040008'), - bqsrc('5e62ca4f', 'ccdg_washu_cvd_eocad_emerge_wgs_20221024_ANV5_202403040026'), - bqsrc('a0d77559', 'ccdg_washu_cvd_eocad_emory_wgs_20221024_ANV5_202403040034'), - bqsrc('33e3428b', 'ccdg_washu_cvd_np_ai_controls_vccontrols_wgs_20221024_ANV5_202403032319', pop), - bqsrc('17c5f983', 'cmg_broad_brain_engle_wgs_20221202_ANV5_202402290614', pop), - bqsrc('1cb73890', 'cmg_broad_heart_ware_wes_20221215_ANV5_202304242145', pop), - bqsrc('833ff0a3', 'eMERGE_GRU_IRB_NPU_eMERGEseq_20230130_ANV5_202304271614', pop), - bqsrc('baf040af', 'eMERGE_GRU_IRB_PUB_NPU_eMERGEseq_20230130_ANV5_202304271616', pop), - bqsrc('270b3b62', 'eMERGE_GRU_IRB_eMERGEseq_20230130_ANV5_202304271613', pop), - bqsrc('c13efbe9', 'eMERGE_GRU_NPU_eMERGEseq_20230130_ANV5_202304271617', pop), - bqsrc('34f8138d', 'eMERGE_GRU_eMERGEseq_20230130_ANV5_202304271612', pop), - bqsrc('90b7b6e8', 'eMERGE_HMB_GSO_eMERGEseq_20230130_ANV5_202304271621', pop), - bqsrc('6e6dca92', 'eMERGE_HMB_IRB_PUB_eMERGEseq_20230130_ANV5_202304271622', pop), - bqsrc('1ddf2a8e', 'eMERGE_HMB_NPU_eMERGEseq_20230130_ANV5_202304271624', pop), - bqsrc('dba97a65', 'eMERGE_HMB_eMERGEseq_20230130_ANV5_202304271619', pop), - bqsrc('51aa9a22', 'eMERGE_PGRNseq_20230118_ANV5_202304241853', pop), - bqsrc('ce8c469f', 'eMERGE_PRS_Arrays_20221220_ANV5_202304271346', pop), - bqsrc('bf91a039', 'nhgri_broad_ibd_daly_winter_wes_20240112_ANV5_202403041315'), -])) - -anvil7_sources = mkdict(anvil6_sources, 256, mkdelta([ - bqsrc('c9e438dc', 'CCDG_Broad_NP_Epilepsy_GBRUCL_DS_EARET_MDS_WES_20221026_ANV5_202406261957'), - bqsrc('90a1d452', 'GREGoR_R01_GRU_20240208_ANV5_202407011515'), - bqsrc('c27c13db', 'GREGoR_R01_HMB_20240208_ANV5_202407011529'), - bqsrc('3594cc06', 'HPRC_20240401_ANV5_202406261913'), - bqsrc('49f55ff6', 'NIMH_Broad_WGSPD1_McCarroll_Light_DS_WGS_20240625_ANV5_202406262032'), - bqsrc('54040f7f', 'T2T_CHRY_20240301_ANV5_202406271432'), - bqsrc('5048eadd', 'ccdg_broad_ai_ibd_daly_brant_burnstein_utsw_wes_20240627_ANV5_202406271535'), - bqsrc('5d003f44', 'ccdg_broad_daly_igsr_1kg_twist_wes_20240625_ANV5_202406261904') -])) - -anvil8_sources = mkdict(anvil7_sources, 254, mkdelta([ - bqsrc('6fd2f543', '1000G_PRIMED_data_model_20240410_ANV5_202409251724'), - bqsrc('13858a9f', '1000G_high_coverage_2019_20230517_ANV5_202409231755'), - bqsrc('f954ce44', 'African_American_Seq_HGV_20230727_ANV5_202409251735'), - bqsrc('1c288bc8', 'CCDG_Baylor_CVD_ARIC_20231008_ANV5_202409231808'), - bqsrc('69a5161a', 'CCDG_Broad_AI_IBD_Brant_DS_IBD_WGS_20240113_ANV5_202409302325'), - bqsrc('87ae3152', 'CCDG_Broad_AI_IBD_Brant_HMB_WGS_20240113_ANV5_202410011417'), - bqsrc('0de3f19d', 'CCDG_Broad_AI_IBD_Cho_WGS_20240113_ANV5_202409261925'), - bqsrc('183d3f73', 'CCDG_Broad_AI_IBD_Kugathasan_WGS_20240113_ANV5_202409261935'), - bqsrc('f82d1472', 'CCDG_Broad_AI_IBD_McGovern_WGS_20240113_ANV5_202409262009'), - bqsrc('a173fc34', 'CCDG_Broad_AI_IBD_Newberry_WGS_20240113_ANV5_202409262020'), - bqsrc('b0ce674b', 'CCDG_Broad_CVD_EOCAD_PartnersBiobank_HMB_Arrays_20230517_ANV5_202410011428'), - bqsrc('f88712d7', 'CCDG_Broad_CVD_EOCAD_PartnersBiobank_HMB_WES_20230621_ANV5_202409262029'), - bqsrc('948779f6', 'CCDG_Broad_CVD_EOCAD_TaiChi_WGS_20221026_ANV5_202409251741'), - bqsrc('ed6900d9', 'CCDG_Broad_CVD_EOCAD_VIRGO_WGS_20221024_ANV5_202409251751'), - bqsrc('38d33c51', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_WES_20230128_ANV5_202410011452'), - bqsrc('a6afe2df', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_WES_20221101_ANV5_202409262047'), - bqsrc('9bf401b1', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_WES_20221101_ANV5_202409262056'), - bqsrc('573b1bec', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_WES_20221101_ANV5_202409262105'), - bqsrc('eeaf2d1a', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_IRB_WES_20230621_ANV5_202410011503'), - bqsrc('3b3be681', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_WES_20221026_ANV5_202409262116'), - bqsrc('b8d6b994', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_ADLT_WES_20230128_ANV5_202410011513'), - bqsrc('49cabb98', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_WES_20230314_ANV5_202410011523'), - bqsrc('afcff545', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_WES_20221108_ANV5_202410011533'), - bqsrc('2df70f51', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_WES_20221027_ANV5_202409262125'), - bqsrc('ab5c8456', 'CCDG_Broad_NP_Epilepsy_BRAUSP_DS_WES_20240201_ANV5_202410011544'), - bqsrc('a1b27d24', 'CCDG_Broad_NP_Epilepsy_CANCAL_GRU_v2_WES_20240201_ANV5_202410011554'), - bqsrc('3f080a87', 'CCDG_Broad_NP_Epilepsy_CANUTN_DS_EP_WES_20230328_ANV5_202409262134'), - bqsrc('465bfaac', 'CCDG_Broad_NP_Epilepsy_CHEUBB_HMB_IRB_MDS_WES_20221102_ANV5_202409262144'), - bqsrc('ccb8a4b7', 'CCDG_Broad_NP_Epilepsy_CYPCYP_HMB_NPU_MDS_WES_20230328_ANV5_202409301706'), - bqsrc('015bb538', 'CCDG_Broad_NP_Epilepsy_CZEMTH_GRU_WES_20221108_ANV5_202409262231'), - bqsrc('435613ab', 'CCDG_Broad_NP_Epilepsy_DEUPUM_HMB_MDS_WES_20230328_ANV5_202409262240'), - bqsrc('2f73c7c1', 'CCDG_Broad_NP_Epilepsy_DEUUGS_DS_EP_MDS_WES_20240201_ANV5_202409262249'), - bqsrc('3841aefa', 'CCDG_Broad_NP_Epilepsy_DEUUKB_HMB_NPU_MDS_WES_20230328_ANV5_202409262258'), - bqsrc('99470817', 'CCDG_Broad_NP_Epilepsy_DEUUKL_HMB_WES_20221102_ANV5_202409262308'), - bqsrc('46e142ab', 'CCDG_Broad_NP_Epilepsy_DEUULG_GRU_WES_20221108_ANV5_202409262318'), - bqsrc('2648f51f', 'CCDG_Broad_NP_Epilepsy_DEUUTB_HMB_NPU_MDS_WES_20230328_ANV5_202409262327'), - bqsrc('b749c687', 'CCDG_Broad_NP_Epilepsy_FINKPH_EPIL_CO_MORBIDI_MDS_WES_20230328_ANV5_202409262337'), - bqsrc('5d23c09d', 'CCDG_Broad_NP_Epilepsy_FINUVH_HMB_NPU_MDS_WES_20221114_ANV5_202409262346'), - bqsrc('548a0b21', 'CCDG_Broad_NP_Epilepsy_FRALYU_HMB_WES_20230621_ANV5_202409262355'), - bqsrc('7a345902', 'CCDG_Broad_NP_Epilepsy_GBRSWU_CARDI_NEURO_WES_20221026_ANV5_202409270005'), - bqsrc('9f144aec', 'CCDG_Broad_NP_Epilepsy_GBRUCL_DS_EARET_MDS_WES_20221026_ANV5_202409251801'), - bqsrc('813188f4', 'CCDG_Broad_NP_Epilepsy_GBRUNL_EP_ETIOLOGY_MDS_WES_20221027_ANV5_202409301252'), - bqsrc('dca2300f', 'CCDG_Broad_NP_Epilepsy_GBRUNL_GRU_WES_20221108_ANV5_202409301302'), - bqsrc('6f0e0649', 'CCDG_Broad_NP_Epilepsy_GHAKNT_GRU_WES_20221122_ANV5_202409301311'), - bqsrc('6d3907bb', 'CCDG_Broad_NP_Epilepsy_HKGHKK_HMB_MDS_WES_20230328_ANV5_202409301321'), - bqsrc('636e501f', 'CCDG_Broad_NP_Epilepsy_HKOSB_GRU_WES_20230110_ANV5_202409231955'), - bqsrc('5271045a', 'CCDG_Broad_NP_Epilepsy_HRVUZG_HMB_MDS_WES_20221114_ANV5_202409301332'), - bqsrc('941ca2d1', 'CCDG_Broad_NP_Epilepsy_IRLRCI_GRU_IRB_WES_20230328_ANV5_202409301342'), - bqsrc('d6a4eda2', 'CCDG_Broad_NP_Epilepsy_ITAICB_HMB_NPU_MDS_WES_20230223_ANV5_202409301352'), - bqsrc('174f3d1e', 'CCDG_Broad_NP_Epilepsy_ITAIGI_GRU_WES_20221108_ANV5_202409301402'), - bqsrc('6cb9a7a7', 'CCDG_Broad_NP_Epilepsy_ITAUBG_DS_EPI_NPU_MDS_WES_20221027_ANV5_202409301413'), - bqsrc('87e7f1b9', 'CCDG_Broad_NP_Epilepsy_ITAUMC_DS_NEURO_MDS_WES_20221108_ANV5_202409301423'), - bqsrc('cbfb79d8', 'CCDG_Broad_NP_Epilepsy_ITAUMR_GRU_NPU_WES_20221114_ANV5_202409301433'), - bqsrc('9bbfe25c', 'CCDG_Broad_NP_Epilepsy_JPNFKA_GRU_WES_20221220_ANV5_202409301444'), - bqsrc('d4950205', 'CCDG_Broad_NP_Epilepsy_JPNRKI_DS_NPD_IRB_NPU_WES_20221027_ANV5_202410011604'), - bqsrc('12cc5629', 'CCDG_Broad_NP_Epilepsy_KENKIL_GRU_WES_20230110_ANV5_202409301453'), - bqsrc('b119a402', 'CCDG_Broad_NP_Epilepsy_LEBABM_DS_Epilepsy_WES_20230328_ANV5_202409301503'), - bqsrc('7354f3d2', 'CCDG_Broad_NP_Epilepsy_LEBABM_GRU_WES_20230110_ANV5_202409301514'), - bqsrc('00271874', 'CCDG_Broad_NP_Epilepsy_LTUUHK_HMB_NPU_MDS_WES_20221114_ANV5_202409301526'), - bqsrc('d0749ece', 'CCDG_Broad_NP_Epilepsy_NZLUTO_EPIL_BC_ID_MDS_WES_20230328_ANV5_202409301537'), - bqsrc('52be6def', 'CCDG_Broad_NP_Epilepsy_TURBZU_GRU_WES_20221108_ANV5_202409301547'), - bqsrc('8629a23a', 'CCDG_Broad_NP_Epilepsy_TURIBU_DS_NEURO_AD_NPU_WES_20221027_ANV5_202409301557'), - bqsrc('c6b049b2', 'CCDG_Broad_NP_Epilepsy_TWNCGM_HMB_NPU_AdultsONLY_WES_20240201_ANV5_202410011615'), - bqsrc('1b2e88a4', 'CCDG_Broad_NP_Epilepsy_USABCH_EPI_MUL_CON_MDS_WES_20221027_ANV5_202409301607'), - bqsrc('798646a1', 'CCDG_Broad_NP_Epilepsy_USABLC_GRU_NPU_WES_20221215_ANV5_202410011625'), - bqsrc('83ec96c3', 'CCDG_Broad_NP_Epilepsy_USACCF_HMB_MDS_WES_20221207_ANV5_202409301617'), - bqsrc('1e1218b7', 'CCDG_Broad_NP_Epilepsy_USACCH_DS_NEURO_MDS_WES_20221116_ANV5_202409301627'), - bqsrc('e421074a', 'CCDG_Broad_NP_Epilepsy_USACHP_GRU_WES_20230612_ANV5_202410011634'), - bqsrc('a7b2b8bc', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_EP_MDS_WES_20221027_ANV5_202409232006'), - bqsrc('9dc6e713', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_SEIZD_WES_20221027_ANV5_202409232016'), - bqsrc('69531ad0', 'CCDG_Broad_NP_Epilepsy_USACRW_EPI_ASZ_MED_MDS_WES_20221027_ANV5_202409232025'), - bqsrc('a1fbb513', 'CCDG_Broad_NP_Epilepsy_USAEGP_GRU_WES_20221110_ANV5_202409301638'), - bqsrc('797b067f', 'CCDG_Broad_NP_Epilepsy_USAFEB_GRU_WES_20221205_ANV5_202409301648'), - bqsrc('acd1fc6d', 'CCDG_Broad_NP_Epilepsy_USAHEP_GRU_WES_20230328_ANV5_202409301657'), - bqsrc('e44dfa03', 'CCDG_Broad_NP_Epilepsy_USALCH_HMB_WES_20230126_ANV5_202410011646'), - bqsrc('5521223c', 'CCDG_Broad_NP_Epilepsy_USAMGH_HMB_MDS_WES_20221207_ANV5_202409302000'), - bqsrc('c5ca49db', 'CCDG_Broad_NP_Epilepsy_USAMGH_MGBB_HMB_MDS_WES_20221207_ANV5_202409302009'), - bqsrc('8a9bc88a', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_NPU_WES_20221215_ANV5_202409302018'), - bqsrc('302dbf9e', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_WES_20240201_ANV5_202409302028'), - bqsrc('2d22bf8b', 'CCDG_Broad_NP_Epilepsy_USAMON_HMB_WES_20230131_ANV5_202410011657'), - bqsrc('23486b33', 'CCDG_Broad_NP_Epilepsy_USAMSS_DS_EP_NEURO_MDS_WES_20230612_ANV5_202410011708'), - bqsrc('76142d3b', 'CCDG_Broad_NP_Epilepsy_USANCH_DS_NEURO_MDS_WES_20221108_ANV5_202410011719'), - bqsrc('3e1c2a3e', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_NPU_WES_20221114_ANV5_202409302037'), - bqsrc('fd6ee483', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_WES_20230328_ANV5_202409302046'), - bqsrc('416b4095', 'CCDG_Broad_NP_Epilepsy_USAUPN_Rader_GRU_WES_20230328_ANV5_202409302055'), - bqsrc('a8099f9d', 'CCDG_Broad_NP_Epilepsy_USAVAN_HMB_GSO_WES_20221207_ANV5_202410011732'), - bqsrc('7529b6b1', 'CCDG_Broad_Spalletta_HMB_NPU_MDS_WES_20221102_ANV5_202409232034'), - bqsrc('27e59539', 'CCDG_NYGC_NP_Autism_ACE2_DS_MDS_WGS_20230605_ANV5_202409302125'), - bqsrc('37c78fc4', 'CCDG_NYGC_NP_Autism_ACE2_GRU_MDS_WGS_20230605_ANV5_202409232043'), - bqsrc('e3ebc7f0', 'CCDG_NYGC_NP_Autism_AGRE_WGS_20230605_ANV5_202410011742'), - bqsrc('1c1b8f44', 'CCDG_NYGC_NP_Autism_CAG_DS_WGS_20230605_ANV5_202409232053'), - bqsrc('f32ef49b', 'CCDG_NYGC_NP_Autism_HFA_DS_WGS_20230605_ANV5_202409232102'), - bqsrc('82575f4a', 'CCDG_NYGC_NP_Autism_PELPHREY_ACE_DS_WGS_20221103_ANV5_202409232112'), - bqsrc('25858a7b', 'CCDG_NYGC_NP_Autism_PELPHREY_ACE_GRU_WGS_20221103_ANV5_202409241351'), - bqsrc('8302ff1f', 'CCDG_NYGC_NP_Autism_SAGE_WGS_20230605_ANV5_202409302144'), - bqsrc('443d8d20', 'CCDG_NYGC_NP_Autism_SSC_WGS_20230605_ANV5_202409302154'), - bqsrc('660280f8', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_DS_WGS_20230525_ANV5_202409302255'), - bqsrc('4a0769c7', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_GRU_IRB_WGS_20230525_ANV5_202403040126', pop), - bqsrc('c2a2b724', 'CMG_YALE_DS_MC_20221026_ANV5_202409302315'), - bqsrc('f961f617', 'CMG_YALE_DS_RARED_20221020_ANV5_202409251714'), - bqsrc('5d222190', 'CMG_Yale_DS_BPEAKD_20240113_ANV5_202410011754'), - bqsrc('fe056168', 'CMG_Yale_DS_RD_20240113_ANV5_202410011804'), - bqsrc('06182245', 'CMG_Yale_DS_THAL_IRB_20240113_ANV5_202410011814'), - bqsrc('ad307392', 'CMG_Yale_GRU_20221020_ANV5_202402281628', pop), - bqsrc('35779fe0', 'CMG_Yale_HMB_20221020_ANV5_202410011825'), - bqsrc('cebe6de0', 'CMG_Yale_HMB_GSO_20221020_ANV5_202410011834'), - bqsrc('5c7f0d2a', 'CMG_Yale_HMB_IRB_20240113_ANV5_202410011846'), - bqsrc('abdbf318', 'CMH_GAFK_10X_Genomics_20240304_ANV5_202409251809'), - bqsrc('a3097787', 'CMH_GAFK_ES_20240301_ANV5_202409251815'), - bqsrc('e4a5f270', 'CMH_GAFK_GS_linked_read_20221107_ANV5_202409251830'), - bqsrc('0eaa72dc', 'CMH_GAFK_GS_long_read_20240301_ANV5_202409251840'), - bqsrc('54e0207f', 'CMH_GAFK_IlluminaGSA_20240311_ANV5_202409231642'), - bqsrc('b69c3ccd', 'CMH_GAFK_IsoSeq_20240113_ANV5_202409251851'), - bqsrc('aa13412e', 'CMH_GAFK_MGI_20240304_ANV5_202409251952'), - bqsrc('61c255d4', 'CMH_GAFK_PacBio_methyl_tagged_20240311_ANV5_202409231650'), - bqsrc('e6bc59ce', 'CMH_GAFK_WGS_20240113_ANV5_202409252004'), - bqsrc('2b8418a9', 'CSER_CHARM_GRU_20240301_ANV5_202410021502'), - bqsrc('3c4e3e42', 'CSER_NYCKIDSEQ_GRU_20240113_ANV5_202409252031'), - bqsrc('bfb01f90', 'CSER_NYCKIDSEQ_HMB_20240113_ANV5_202409252040'), - bqsrc('9fb7b90a', 'CSER_P3EGS_GRU_20230727_ANV5_202409252049'), - bqsrc('0e626b88', 'CSER_SouthSeq_GRU_20221208_ANV5_202410021513'), - bqsrc('c60190e0', 'GREGoR_R01_GRU_20240208_ANV5_202408141711'), - bqsrc('9a665ca1', 'GREGoR_R01_HMB_20240208_ANV5_202408141715'), - bqsrc('14f8d940', 'GTEx_BCM_GRU_CoRSIVs_20240116_ANV5_202409252058'), - bqsrc('44ba7ece', 'GTEx_V8_hg38_20240116_ANV5_202409251632'), - bqsrc('5fd8c286', 'GTEx_public_data_20240117_ANV5_202409252106'), - bqsrc('c1e66f15', 'HPRC_20240401_ANV5_202409251654'), - bqsrc('5dff1da7', 'NIA_CARD_Coriell_Cell_Lines_Open_20230727_ANV5_202410021438'), - bqsrc('65212bf5', 'NIA_CARD_LR_WGS_NABEC_GRU_20230727_ANV5_202410021449'), - bqsrc('9ffeaa82', 'NIMH_Broad_ConvNeuro_McCarroll_Nehme_Levy_CIRM_DS_Village_20240405_ANV5_202409201403'), - bqsrc('7f246585', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_CIRM_GRU_WGS_20240206_ANV5_202409252122'), - bqsrc('62c7b77b', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_Finkel_SMA_DS_WGS_20230109_ANV5_202409252132'), - bqsrc('0050666b', 'NIMH_Broad_WGSPD1_McCarroll_COGS_DS_WGS_20240113_ANV5_202409252139'), - bqsrc('591f1c1e', 'NIMH_Broad_WGSPD1_McCarroll_Escamilla_DS_WGS_20240112_ANV5_202410011855'), - bqsrc('59c59a28', 'NIMH_Broad_WGSPD1_McCarroll_Light_DS_WGS_20240625_ANV5_202409252147'), - bqsrc('754928da', 'NIMH_Broad_WGSPD1_McCarroll_Pato_GRU_WGS_20240112_ANV5_202410011904'), - bqsrc('cce0dbdc', 'NIMH_Broad_WGSPD_1_McCarroll_Braff_DS_WGS_20240304_ANV5_202409252156'), - bqsrc('2bf3361f', 'NIMH_CIRM_FCDI_ConvergentNeuro_McCarroll_Eggan_GRU_Arrays_20230109_ANV5_202409252204'), - bqsrc('95f60999', 'T2T_20230714_ANV5_202409252214'), - bqsrc('a20ffbf1', 'T2T_CHRY_20240301_ANV5_202409252300'), - bqsrc('c4be3462', 'ccdg_asc_ndd_daly_talkowski_AGRE_asd_exome_20221102_ANV5_202409241400'), - bqsrc('842d0cc0', 'ccdg_asc_ndd_daly_talkowski_IBIS_asd_exome_20221024_ANV5_202409241411'), - bqsrc('40c6c06f', 'ccdg_asc_ndd_daly_talkowski_TASC_asd_exome_20221117_ANV5_202409241420'), - bqsrc('56136832', 'ccdg_asc_ndd_daly_talkowski_aleksic_asd_exome_20231013_ANV5_202409241432'), - bqsrc('dd505610', 'ccdg_asc_ndd_daly_talkowski_barbosa_asd_exome_20221108_ANV5_202409241442'), - bqsrc('b2e1bb0d', 'ccdg_asc_ndd_daly_talkowski_brusco_asd_exome_20230327_ANV5_202409241451'), - bqsrc('5382a45d', 'ccdg_asc_ndd_daly_talkowski_chung_asd_exome_20221107_ANV5_202409241501'), - bqsrc('ffb6d106', 'ccdg_asc_ndd_daly_talkowski_control_NIMH_asd_exome_20221201_ANV5_202409241511'), - bqsrc('0de6bd0f', 'ccdg_asc_ndd_daly_talkowski_gargus_asd_exome_20231013_ANV5_202409241521'), - bqsrc('eced0cb1', 'ccdg_asc_ndd_daly_talkowski_goethe_asd_exome_20221107_ANV5_202409241530'), - bqsrc('849f26ad', 'ccdg_asc_ndd_daly_talkowski_gurrieri_asd_exome_20221024_ANV5_202409252359'), - bqsrc('ef7e53e2', 'ccdg_asc_ndd_daly_talkowski_hertz_picciotto_asd_exome_20221107_ANV5_202409241541'), - bqsrc('4155fb6c', 'ccdg_asc_ndd_daly_talkowski_hertz_picciotto_asd_wgs_20221107_ANV5_202409241551'), - bqsrc('7ef162bf', 'ccdg_asc_ndd_daly_talkowski_kolevzon_asd_exome_20221108_ANV5_202409241559'), - bqsrc('0aba3c39', 'ccdg_asc_ndd_daly_talkowski_kolevzon_asd_wgs_20221109_ANV5_202409241611'), - bqsrc('49fb2096', 'ccdg_asc_ndd_daly_talkowski_mayo_asd_exome_20221024_ANV5_202409252350'), - bqsrc('ac3a764d', 'ccdg_asc_ndd_daly_talkowski_mcpartland_asd_exome_20221116_ANV5_202409241620'), - bqsrc('3829964a', 'ccdg_asc_ndd_daly_talkowski_menashe_asd_exome_20221108_ANV5_202409241630'), - bqsrc('903678e2', 'ccdg_asc_ndd_daly_talkowski_parellada_asd_exome_20221108_ANV5_202409241638'), - bqsrc('9d656629', 'ccdg_asc_ndd_daly_talkowski_passos_bueno_asd_exome_20221108_ANV5_202409241649'), - bqsrc('faa3347c', 'ccdg_asc_ndd_daly_talkowski_pericak_vance_asd_exome__20221025_ANV5_202409241658'), - bqsrc('2ea97771', 'ccdg_asc_ndd_daly_talkowski_pericak_vance_asd_wgs_20221027_ANV5_202409241814'), - bqsrc('88aae06e', 'ccdg_asc_ndd_daly_talkowski_persico_asd_exome_20221027_ANV5_202409241823'), - bqsrc('08215fa6', 'ccdg_asc_ndd_daly_talkowski_renieri_asd_exome_20230327_ANV5_202409241833'), - bqsrc('6f17c190', 'ccdg_asc_ndd_daly_talkowski_schloesser_asd_exome_20230324_ANV5_202409241842'), - bqsrc('333a3617', 'ccdg_asc_ndd_daly_talkowski_weiss_asd_exome_20221108_ANV5_202409241851'), - bqsrc('1e362e1d', 'ccdg_broad_ai_ibd_daly_brant_burnstein_utsw_wes_20240627_ANV5_202409260008'), - bqsrc('8918d261', 'ccdg_broad_ai_ibd_daly_brant_niddk_gsa_20240103_ANV5_202409260018'), - bqsrc('f5fdd89a', 'ccdg_broad_ai_ibd_daly_burnstein_gsa_20240103_ANV5_202409261428'), - bqsrc('91d1ab8e', 'ccdg_broad_ai_ibd_daly_chen_gsa_20240103_ANV5_202409261437'), - bqsrc('acab4546', 'ccdg_broad_ai_ibd_daly_chen_wes_20240103_ANV5_202409241859'), - bqsrc('45c2ba3b', 'ccdg_broad_ai_ibd_daly_cho_niddk_gsa_20240103_ANV5_202409261446'), - bqsrc('185d52bd', 'ccdg_broad_ai_ibd_daly_chung_gider_gsa_20240103_ANV5_202409261456'), - bqsrc('01e1177c', 'ccdg_broad_ai_ibd_daly_chung_gider_wes_20240103_ANV5_202409241909'), - bqsrc('94a46beb', 'ccdg_broad_ai_ibd_daly_faubion_share_gsa_20240104_ANV5_202409261505'), - bqsrc('b2456308', 'ccdg_broad_ai_ibd_daly_faubion_share_wes_20240104_ANV5_202409241919'), - bqsrc('dde3655d', 'ccdg_broad_ai_ibd_daly_franchimont_gsa_20240104_ANV5_202409261515'), - bqsrc('73a081bb', 'ccdg_broad_ai_ibd_daly_franchimont_wes_20240104_ANV5_202409241929'), - bqsrc('f4d731a0', 'ccdg_broad_ai_ibd_daly_hyams_protect_gsa_20240311_ANV5_202409231656'), - bqsrc('21868172', 'ccdg_broad_ai_ibd_daly_hyams_protect_wes_20240104_ANV5_202409241940'), - bqsrc('a6a40cd9', 'ccdg_broad_ai_ibd_daly_kastner_fmf_gsa_20240104_ANV5_202409261525'), - bqsrc('4b41d063', 'ccdg_broad_ai_ibd_daly_kastner_fmf_nhgri_wes_20240104_ANV5_202409261534'), - bqsrc('59084d62', 'ccdg_broad_ai_ibd_daly_kupcinskas_gsa_20240311_ANV5_202409231708'), - bqsrc('e56d71fd', 'ccdg_broad_ai_ibd_daly_kupcinskas_wes_20240104_ANV5_202409241949'), - bqsrc('98f1acc9', 'ccdg_broad_ai_ibd_daly_lewis_sparc_gsa_20240104_ANV5_202409261543'), - bqsrc('5b2de91f', 'ccdg_broad_ai_ibd_daly_lira_share_wes_20240104_ANV5_202409242001'), - bqsrc('144a86c1', 'ccdg_broad_ai_ibd_daly_louis_gsa_20240311_ANV5_202409231721'), - bqsrc('5dd9d83b', 'ccdg_broad_ai_ibd_daly_louis_wes_20240104_ANV5_202409242011'), - bqsrc('f11a2ad0', 'ccdg_broad_ai_ibd_daly_mccauley_wes_20240104_ANV5_202409242021'), - bqsrc('2b74b327', 'ccdg_broad_ai_ibd_daly_mcgovern_niddk_wes_20240104_ANV5_202409242032'), - bqsrc('91cac0e9', 'ccdg_broad_ai_ibd_daly_moayyedi_imagine_gsa_20240105_ANV5_202409261605'), - bqsrc('1cde4183', 'ccdg_broad_ai_ibd_daly_newberry_share_gsa_20240105_ANV5_202409261616'), - bqsrc('7a369c1e', 'ccdg_broad_ai_ibd_daly_newberry_share_wes_20240105_ANV5_202409242046'), - bqsrc('db6e29bb', 'ccdg_broad_ai_ibd_daly_niddk_cho_wes_20240105_ANV5_202409242056'), - bqsrc('820a5c30', 'ccdg_broad_ai_ibd_daly_pekow_share_gsa_20240105_ANV5_202409261627'), - bqsrc('69911b0d', 'ccdg_broad_ai_ibd_daly_pekow_share_wes_20240105_ANV5_202409242107'), - bqsrc('77ec2fe1', 'ccdg_broad_ai_ibd_daly_rioux_bitton_igenomed_wes_20240105_ANV5_202409261636'), - bqsrc('08a64b4f', 'ccdg_broad_ai_ibd_daly_rioux_genizon_wes_20240311_ANV5_202409231732'), - bqsrc('13a5c9e0', 'ccdg_broad_ai_ibd_daly_rioux_igenomed_gsa_20240105_ANV5_202409261645'), - bqsrc('d8202699', 'ccdg_broad_ai_ibd_daly_rioux_niddk_gsa_20240108_ANV5_202409261653'), - bqsrc('67df5d1d', 'ccdg_broad_ai_ibd_daly_rioux_niddk_wes_20240108_ANV5_202409242116'), - bqsrc('f0ead8f9', 'ccdg_broad_ai_ibd_daly_sands_msccr_gsa_20240108_ANV5_202409261705'), - bqsrc('f890c249', 'ccdg_broad_ai_ibd_daly_sands_msccr_wes_20240108_ANV5_202409242127'), - bqsrc('065c8f18', 'ccdg_broad_ai_ibd_daly_silverberg_niddk_gsa_20240108_ANV5_202409261715'), - bqsrc('401b1cf7', 'ccdg_broad_ai_ibd_daly_stampfer_nhs_gsa_20240311_ANV5_202409231743'), - bqsrc('034aecb5', 'ccdg_broad_ai_ibd_daly_stampfer_wes_20240108_ANV5_202409251505'), - bqsrc('f3933ea2', 'ccdg_broad_ai_ibd_daly_vermeire_gsa_20240113_ANV5_202409261726'), - bqsrc('dbda69e3', 'ccdg_broad_ai_ibd_daly_vermeire_wes_20240108_ANV5_202409251516'), - bqsrc('d1d3e261', 'ccdg_broad_ai_ibd_daly_xavier_prism_gsa_20240108_ANV5_202409261740'), - bqsrc('1918c027', 'ccdg_broad_ai_ibd_daly_xavier_prism_wes_20240108_ANV5_202409251531'), - bqsrc('900597b7', 'ccdg_broad_ai_ibd_daly_xavier_share_gsa_20240108_ANV5_202409261751'), - bqsrc('e9e9f233', 'ccdg_broad_ai_ibd_daly_xavier_share_wes_20240108_ANV5_202409251548'), - bqsrc('851fd8f7', 'ccdg_broad_ai_ibd_niddk_daly_duerr_wes_20240112_ANV5_202409251558'), - bqsrc('13a30243', 'ccdg_broad_ai_ibd_niddk_daly_silverberg_wes_20240112_ANV5_202409251610'), - bqsrc('eceddedc', 'ccdg_broad_daly_igsr_1kg_twist_wes_20240625_ANV5_202409231828'), - bqsrc('96417715', 'ccdg_broad_mi_univutah_ds_cvd_wes_20221026_ANV5_202409231943'), - bqsrc('ff012258', 'ccdg_broad_np_epilepsy_usavancontrols_hmb_gso_wes_20221101_ANV5_202409302105'), - bqsrc('61b6b42b', 'ccdg_broad_np_epilepsy_zafagn_ds_epi_como_mds_wes_20221026_ANV5_202409302116'), - bqsrc('c27e3cda', 'ccdg_nygc_np_autism_hmca_wgs_20221024_ANV5_202409302135'), - bqsrc('f4073027', 'ccdg_nygc_np_autism_tasc_wgs_20221024_ANV5_202409302207'), - bqsrc('6f9855f6', 'ccdg_washu_ai_t1d_t1dgc_wgs_20221031_ANV5_202409302216'), - bqsrc('95a5e448', 'ccdg_washu_cvd_eocad_cleveland_wgs_20221024_ANV5_202409302226'), - bqsrc('9faffbb3', 'ccdg_washu_cvd_eocad_emerge_wgs_20221024_ANV5_202409302235'), - bqsrc('5d6d4dc4', 'ccdg_washu_cvd_eocad_emory_wgs_20221024_ANV5_202409302245'), - bqsrc('db95c1cc', 'nhgri_broad_ibd_daly_winter_wes_20240112_ANV5_202409251622'), -])) - -anvil9_sources = mkdict(anvil8_sources, 280, mkdelta([ - bqsrc('b555b2f5', '1000G_PRIMED_data_model_20240410_ANV5_202502211647'), - bqsrc('265cde27', 'ALSCompute_Collection_GRU_20231016_ANV5_202410310107'), - bqsrc('853bbf15', 'ALSCompute_Collection_HMB_20241018_ANV5_202410232001'), - bqsrc('5216abda', 'CCDG_Broad_AI_IBD_McCauley_WGS_20240114_ANV5_202502052138'), - bqsrc('078d7ad8', 'CCDG_Broad_CVD_AF_Figtree_BioHeart_Arrays_20250206_ANV5_202502201726'), - bqsrc('ea743ee1', 'CCDG_Broad_CVD_AF_Figtree_BioHeart_HMB_WES_20250206_ANV5_202502201731'), - bqsrc('088ebd14', 'CCDG_Broad_CVD_AF_GAPP_DS_MDS_Arrays_20250206_ANV5_202502201736'), - bqsrc('147aff13', 'CCDG_Broad_CVD_AF_GAPP_DS_MDS_WES_20250206_ANV5_202502201740'), - bqsrc('897ad869', 'CCDG_Broad_CVD_AF_Marcus_UCSF_Arrays_20250206_ANV5_202502201745'), - bqsrc('ac2033df', 'CCDG_Broad_CVD_AF_Marcus_UCSF_HMB_WES_20250206_ANV5_202502201749'), - bqsrc('190647f7', 'CCDG_Broad_CVD_AF_VAFAR_Arrays_20250219_ANV5_202502201753'), - bqsrc('9694bb1c', 'CCDG_Broad_MI_ATVB_DS_CVD_WES_20250206_ANV5_202502201757'), - bqsrc('6a7bfee9', 'CCDG_Broad_MI_BRAVE_GRU_WES_20250206_ANV5_202502201801'), - bqsrc('12048ad1', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_WES_20230128_ANV5_202502201806'), - bqsrc('f101bba7', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_IRB_WES_20230621_ANV5_202502201810'), - bqsrc('1f264a75', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_ADLT_WES_20230128_ANV5_202502201814'), - bqsrc('6d9ad64a', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_WES_20230314_ANV5_202502201818'), - bqsrc('724f8958', 'CCDG_Broad_NP_Epilepsy_BRAUSP_DS_WES_20240201_ANV5_202502201822'), - bqsrc('1d96b10b', 'CCDG_Broad_NP_Epilepsy_CANCAL_GRU_v2_WES_20240201_ANV5_202502201826'), - bqsrc('aa7f9c50', 'CCDG_Broad_NP_Epilepsy_DEUUGS_DS_EP_MDS_WES_20240201_ANV5_202502201830'), - bqsrc('aef3d233', 'CCDG_Broad_NP_Epilepsy_TWNCGM_HMB_NPU_AdultsONLY_WES_20240201_ANV5_202502201834'), - bqsrc('95c60b51', 'CCDG_Broad_NP_Epilepsy_USALCH_HMB_WES_20230126_ANV5_202502201839'), - bqsrc('b5486758', 'CCDG_Broad_NP_Epilepsy_USAMON_HMB_WES_20230131_ANV5_202502201843'), - bqsrc('0ef2f4b9', 'CMG_UWASH_DS_BAV_IRB_PUB_RD_20250206_ANV5_202502201846'), - bqsrc('e85fc320', 'CMG_UWASH_DS_BDIS_20250206_ANV5_202502201850'), - bqsrc('a5e0fb2a', 'CMG_UWASH_DS_HFA_20250206_ANV5_202502201859'), - bqsrc('28813dc5', 'CMG_UWASH_DS_NBIA_20250206_ANV5_202502201903'), - bqsrc('418e6f5b', 'CMG_UWASH_HMB_20250219_ANV5_202502201916'), - bqsrc('11e44295', 'CMG_UWASH_HMB_IRB_20250219_ANV5_202502201921'), - bqsrc('2c303369', 'CMG_UWash_DS_CHDEF_20250224_ANV5_202502241753'), - bqsrc('0e0af0a8', 'CMG_UWash_DS_EP_20250219_ANV5_202502201854'), - bqsrc('766c47dd', 'CMG_UWash_GRU_20250224_ANV5_202502241706'), - bqsrc('aa22e87e', 'CMG_UWash_GRU_IRB_20250224_ANV5_202502241723'), - bqsrc('7c44dbc8', 'CMH_GAFK_ES_20240301_ANV5_202502201925'), - bqsrc('97f2fa00', 'CMH_GAFK_GS_long_read_20240301_ANV5_202502201932'), - bqsrc('456a8996', 'CMH_GAFK_IlluminaGSA_20240311_ANV5_202502201937'), - bqsrc('9263e232', 'CMH_GAFK_IsoSeq_20240113_ANV5_202502201941'), - bqsrc('ef718b6b', 'CMH_GAFK_PacBio_methyl_tagged_20240311_ANV5_202502201945'), - bqsrc('de339830', 'CMH_GAFK_WGS_20240113_ANV5_202502201948'), - bqsrc('706dd75a', 'DepMap_HMB_20240827_ANV5_202410240027'), - bqsrc('cab8b4b3', 'DepMap_HMB_R2_20250224_ANV5_202502241800'), - bqsrc('d4765cad', 'AnVIL_ENCORE_RS293_20250304_ANV5_202503042020'), - bqsrc('e944e571', 'GREGoR_R01_GRU_20240208_ANV5_202502202158'), - bqsrc('24806158', 'GREGoR_R01_HMB_20240208_ANV5_202502202202'), - bqsrc('88e6ae93', 'GREGoR_R02_HMB_20241105_ANV5_202502202131'), - bqsrc('46fcac4d', 'MAS_ISO_seq_20240113_ANV5_202409261333'), - bqsrc('2e8d7a0e', 'NIMH_Broad_ConvergentNeuro_McCarroll_Eggan_CIRM_GRU_WGS_20240206_ANV5_202502202026'), - bqsrc('14a38418', 'NIMH_Broad_WGSPD1_McCarroll_COGS_DS_WGS_20240113_ANV5_202502202034'), - bqsrc('91ecebc5', 'NIMH_Broad_WGSPD_1_McCarroll_Braff_DS_WGS_20240304_ANV5_202502202030'), -])) - -anvil10_sources = mkdict(anvil9_sources, 283, mkdelta([ - bqsrc('6db4e098', 'CCDG_Baylor_CVD_ARIC_20231008_ANV5_202503171456'), - bqsrc('14967a4d', 'CCDG_WashU_CVD_EOCAD_WashU_CAD_GRU_IRB_WGS_20230525_ANV5_202503171543'), - bqsrc('2c000b04', 'FetalGenomics_PrenatalSEQ_20250520_ANV5_202505201718'), - bqsrc('8ae2d6e6', 'ccdg_asc_ndd_daly_talkowski_AGRE_asd_exome_20250514_ANV5_202505191331'), - bqsrc('1841de51', 'ccdg_asc_ndd_daly_talkowski_IBIS_asd_exome_20250514_ANV5_202505191529'), - bqsrc('9a9bd879', 'ccdg_asc_ndd_daly_talkowski_TASC_asd_exome_20250515_ANV5_202505191729'), - bqsrc('bf0b5c71', 'ccdg_asc_ndd_daly_talkowski_ac_boston_asd_exome_20250507_ANV5_202505080038'), - bqsrc('de55c8ca', 'ccdg_asc_ndd_daly_talkowski_aleksic_asd_exome_20250514_ANV5_202505191339'), - bqsrc('05f81c53', 'ccdg_asc_ndd_daly_talkowski_barbosa_asd_exome_20250514_ANV5_202505191347'), - bqsrc('ec751e53', 'ccdg_asc_ndd_daly_talkowski_brusco_asd_exome_20250514_ANV5_202505191354'), - bqsrc('e880eb24', 'ccdg_asc_ndd_daly_talkowski_chung_asd_exome_20250514_ANV5_202505191404'), - bqsrc('14218b2f', 'ccdg_asc_ndd_daly_talkowski_control_NIMH_asd_exome_20250514_ANV5_202505191412'), - bqsrc('44dd3f7f', 'ccdg_asc_ndd_daly_talkowski_domenici_asd_exome_20250514_ANV5_202505191423'), - bqsrc('b497e3bd', 'ccdg_asc_ndd_daly_talkowski_gargus_asd_exome_20250514_ANV5_202505191431'), - bqsrc('23e0cf66', 'ccdg_asc_ndd_daly_talkowski_goethe_asd_exome_20250514_ANV5_202505191439'), - bqsrc('dae963c2', 'ccdg_asc_ndd_daly_talkowski_gurrieri_asd_exome_20250514_ANV5_202505191448'), - bqsrc('02a4023f', 'ccdg_asc_ndd_daly_talkowski_herman_asd_exome_20250514_ANV5_202505191456'), - bqsrc('562d7351', 'ccdg_asc_ndd_daly_talkowski_hertz_picciotto_asd_exome_20250514_ANV5_202505191503'), - bqsrc('90758277', 'ccdg_asc_ndd_daly_talkowski_hertz_picciotto_asd_wgs_20250514_ANV5_202505191512'), - bqsrc('cd6d2aa6', 'ccdg_asc_ndd_daly_talkowski_hultman_asd_exome_20250514_ANV5_202505191519'), - bqsrc('d21464d2', 'ccdg_asc_ndd_daly_talkowski_kolevzon_asd_exome_20250514_ANV5_202505191537'), - bqsrc('186b5498', 'ccdg_asc_ndd_daly_talkowski_kolevzon_asd_wgs_20250514_ANV5_202505191546'), - bqsrc('7fc43dc3', 'ccdg_asc_ndd_daly_talkowski_lattig_asd_exome_20250514_ANV5_202505191554'), - bqsrc('e4ab9e05', 'ccdg_asc_ndd_daly_talkowski_mayo_asd_exome_20250515_ANV5_202505191602'), - bqsrc('81d3c9c8', 'ccdg_asc_ndd_daly_talkowski_mcpartland_asd_exome_20250515_ANV5_202505191610'), - bqsrc('0b020eb2', 'ccdg_asc_ndd_daly_talkowski_menashe_asd_exome_20250515_ANV5_202505191620'), - bqsrc('f49b0d4c', 'ccdg_asc_ndd_daly_talkowski_minshew_asd_exome_20250515_ANV5_202505191632'), - bqsrc('d0e9181a', 'ccdg_asc_ndd_daly_talkowski_parellada_asd_exome_20250515_ANV5_202505191640'), - bqsrc('3965a084', 'ccdg_asc_ndd_daly_talkowski_passos_bueno_asd_exome_20250515_ANV5_202505191651'), - bqsrc('c9d758bb', 'ccdg_asc_ndd_daly_talkowski_pericak_vance_asd_exome__20250515_ANV5_202505191658'), - bqsrc('45f811c7', 'ccdg_asc_ndd_daly_talkowski_persico_asd_exome_20250515_ANV5_202505191706'), - bqsrc('c3a807a3', 'ccdg_asc_ndd_daly_talkowski_renieri_asd_exome_20250515_ANV5_202505191714'), - bqsrc('d610c1c1', 'ccdg_asc_ndd_daly_talkowski_schloesser_asd_exome_20250515_ANV5_202505191722'), - bqsrc('ea8f0099', 'ccdg_asc_ndd_daly_talkowski_weiss_asd_exome_20250515_ANV5_202505191738'), - bqsrc('f143f633', 'ccdg_broad_ai_ibd_daly_mcgovern_share_wes_20240104_ANV5_202503171541'), -])) - -anvil11_sources = mkdict(anvil10_sources, 371, mkdelta([ - bqsrc('afe52c93', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_GSA_MD_20250718_ANV5_202508070436'), - bqsrc('a0e71864', 'CCDG_Broad_NP_Epilepsy_AUSALF_HMB_IRB_WES_20250718_ANV5_202507300051'), - bqsrc('d4e6fade', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_GSA_MD_20250718_ANV5_202508051209'), - bqsrc('3c8c822c', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPIL_BA_MDS_WES_20250718_ANV5_202507300117'), - bqsrc('1c40baac', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_GSA_MD_20250718_ANV5_202508050140'), - bqsrc('6de194a7', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EPI_BA_ID_MDS_WES_20250718_ANV5_202507300109'), - bqsrc('76e40236', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_GSA_MD_20250718_ANV5_202508050131'), - bqsrc('d1f97905', 'CCDG_Broad_NP_Epilepsy_AUSAUS_EP_BA_CN_ID_MDS_WES_20250718_ANV5_202507300059'), - bqsrc('6b600036', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_IRB_WES_20250718_ANV5_202507300125'), - bqsrc('21abf32b', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_GSA_MD_20250718_ANV5_202508051217'), - bqsrc('a9edefce', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_NPU_IRB_GSA_MD_20250718_ANV5_202508051225'), - bqsrc('1a3c4c17', 'CCDG_Broad_NP_Epilepsy_AUSRMB_DS_EAED_MDS_WES_20250718_ANV5_202507311756'), - bqsrc('f297f460', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_ADLT_WES_20250718_ANV5_202507300140'), - bqsrc('d570baa0', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_MDS_NPU_GSA_MD_20250718_ANV5_202508051233'), - bqsrc('e459e688', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_NPU_ADLT_GSA_MD_20250718_ANV5_202508051240'), - bqsrc('4497c1cf', 'CCDG_Broad_NP_Epilepsy_AUTMUV_DS_NS_WES_20250718_ANV5_202507300148'), - bqsrc('661aa0d4', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_GSA_MD_20250718_ANV5_202508051249'), - bqsrc('1432eb38', 'CCDG_Broad_NP_Epilepsy_BELATW_GRU_WES_20250718_ANV5_202507300156'), - bqsrc('41cb412f', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_GSA_MD_20250718_ANV5_202508051256'), - bqsrc('c5c63622', 'CCDG_Broad_NP_Epilepsy_BELULB_DS_EP_NPU_WES_20250718_ANV5_202507311805'), - bqsrc('0374d242', 'CCDG_Broad_NP_Epilepsy_BRAUSP_DS_MDS_NPU_GSA_MD_20250718_ANV5_202508051303'), - bqsrc('03d1e104', 'CCDG_Broad_NP_Epilepsy_BRAUSP_DS_WES_20250718_ANV5_202507311814'), - bqsrc('2abd204e', 'CCDG_Broad_NP_Epilepsy_CANCAL_GRU_v2_WES_20250718_ANV5_202507300218'), - bqsrc('4427fad3', 'CCDG_Broad_NP_Epilepsy_CANCAL_GSA_MD_20250718_ANV5_202508051311'), - bqsrc('bde9ccdd', 'CCDG_Broad_NP_Epilepsy_CANUTN_DS_EP_GSA_MD_20250718_ANV5_202508051319'), - bqsrc('c01aff87', 'CCDG_Broad_NP_Epilepsy_CANUTN_DS_EP_WES_20250718_ANV5_202507300230'), - bqsrc('32f47a85', 'CCDG_Broad_NP_Epilepsy_CHEUBB_HMB_IRB_MDS_GSA_MD_20250718_ANV5_202508051327'), - bqsrc('38c9f789', 'CCDG_Broad_NP_Epilepsy_CHEUBB_HMB_IRB_MDS_WES_20250718_ANV5_202507300237'), - bqsrc('11d221ae', 'CCDG_Broad_NP_Epilepsy_CYPCYP_HMB_NPU_MDS_GSA_MD_20250718_ANV5_202508051334'), - bqsrc('1e8df3c0', 'CCDG_Broad_NP_Epilepsy_CYPCYP_HMB_NPU_MDS_WES_20250718_ANV5_202507300245'), - bqsrc('605ffd28', 'CCDG_Broad_NP_Epilepsy_CZEMTH_GRU_GSA_MD_20250721_ANV5_202508051342'), - bqsrc('69b2412d', 'CCDG_Broad_NP_Epilepsy_CZEMTH_GRU_WES_20250721_ANV5_202507300252'), - bqsrc('c209fbb5', 'CCDG_Broad_NP_Epilepsy_DEUPUM_HMB_MDS_GSA_MD_20250721_ANV5_202508051355'), - bqsrc('521fffef', 'CCDG_Broad_NP_Epilepsy_DEUPUM_HMB_MDS_WES_20250721_ANV5_202507300259'), - bqsrc('89f25203', 'CCDG_Broad_NP_Epilepsy_DEUUGS_DS_EP_MDS_GSA_MD_20250721_ANV5_202508051403'), - bqsrc('3efe17c5', 'CCDG_Broad_NP_Epilepsy_DEUUGS_DS_EP_MDS_WES_20250721_ANV5_202507300307'), - bqsrc('1a1d321e', 'CCDG_Broad_NP_Epilepsy_DEUUKB_HMB_NPU_MDS_GSA_MD_20250721_ANV5_202508051412'), - bqsrc('50e7f491', 'CCDG_Broad_NP_Epilepsy_DEUUKB_HMB_NPU_MDS_WES_20250721_ANV5_202507311823'), - bqsrc('d6d892c9', 'CCDG_Broad_NP_Epilepsy_DEUUKL_HMB_GSA_MD_20250721_ANV5_202508051421'), - bqsrc('8ea29289', 'CCDG_Broad_NP_Epilepsy_DEUUKL_HMB_WES_20250721_ANV5_202507300323'), - bqsrc('51b097e1', 'CCDG_Broad_NP_Epilepsy_DEUULG_GRU_GSA_MD_20250721_ANV5_202508051429'), - bqsrc('9b1b6c81', 'CCDG_Broad_NP_Epilepsy_DEUULG_GRU_WES_20250721_ANV5_202507300331'), - bqsrc('bfd88a7f', 'CCDG_Broad_NP_Epilepsy_DEUUTB_HMB_NPU_MDS_GSA_MD_20250721_ANV5_202508051437'), - bqsrc('eadf2c20', 'CCDG_Broad_NP_Epilepsy_DEUUTB_HMB_NPU_MDS_WES_20250721_ANV5_202507311835'), - bqsrc('fdd88715', 'CCDG_Broad_NP_Epilepsy_FINKPH_EPIL_CO_MORBIDI_MDS_WES_20250721_ANV5_202507300347'), - bqsrc('c040bb51', 'CCDG_Broad_NP_Epilepsy_FINKPH_EPIL_MDS_GSA_MD_20250721_ANV5_202508051446'), - bqsrc('d8d5745a', 'CCDG_Broad_NP_Epilepsy_FINUVH_HMB_NPU_MDS_GSA_MD_20250721_ANV5_202508051454'), - bqsrc('4bb9bad6', 'CCDG_Broad_NP_Epilepsy_FINUVH_HMB_NPU_MDS_WES_20250721_ANV5_202507300355'), - bqsrc('7205017c', 'CCDG_Broad_NP_Epilepsy_FRALYU_HMB_GSA_MD_20250721_ANV5_202508051503'), - bqsrc('a1074acf', 'CCDG_Broad_NP_Epilepsy_FRALYU_HMB_WES_20250721_ANV5_202507311844'), - bqsrc('63a1cdbc', 'CCDG_Broad_NP_Epilepsy_GBRSWU_CARDI_NEURO_GSA_MD_20250721_ANV5_202508051511'), - bqsrc('67ab4fc2', 'CCDG_Broad_NP_Epilepsy_GBRSWU_CARDI_NEURO_WES_20250721_ANV5_202507300410'), - bqsrc('59478363', 'CCDG_Broad_NP_Epilepsy_GBRUCL_DS_EARET_MDS_GSA_MD_20250721_ANV5_202508051519'), - bqsrc('28c93500', 'CCDG_Broad_NP_Epilepsy_GBRUCL_DS_EARET_MDS_WES_20250721_ANV5_202507300422'), - bqsrc('508e8da9', 'CCDG_Broad_NP_Epilepsy_GBRUNL_EP_ETIOLOGY_MDS_GSA_MD_20250721_ANV5_202508051527'), - bqsrc('dcf91ba6', 'CCDG_Broad_NP_Epilepsy_GBRUNL_EP_ETIOLOGY_MDS_WES_20250721_ANV5_202507300429'), - bqsrc('3adff934', 'CCDG_Broad_NP_Epilepsy_GBRUNL_GRU_GSA_MD_20250721_ANV5_202508051535'), - bqsrc('c2dc4f2d', 'CCDG_Broad_NP_Epilepsy_GBRUNL_GRU_WES_20250721_ANV5_202507300438'), - bqsrc('a8eb2929', 'CCDG_Broad_NP_Epilepsy_GHAKNT_GRU_GSA_MD_20250721_ANV5_202508051543'), - bqsrc('0da705f6', 'CCDG_Broad_NP_Epilepsy_GHAKNT_GRU_WES_20250721_ANV5_202507300445'), - bqsrc('7e5aa87b', 'CCDG_Broad_NP_Epilepsy_HKGHKK_HMB_MDS_GSA_MD_20250721_ANV5_202508051551'), - bqsrc('df3c4c25', 'CCDG_Broad_NP_Epilepsy_HKGHKK_HMB_MDS_WES_20250721_ANV5_202507311853'), - bqsrc('be423fad', 'CCDG_Broad_NP_Epilepsy_HKOSB_GRU_GSA_MD_20250721_ANV5_202508051559'), - bqsrc('76b648a7', 'CCDG_Broad_NP_Epilepsy_HKOSB_GRU_WES_20250721_ANV5_202507300459'), - bqsrc('2e47cb4a', 'CCDG_Broad_NP_Epilepsy_HRVUZG_HMB_MDS_GSA_MD_20250721_ANV5_202508051608'), - bqsrc('b92ea668', 'CCDG_Broad_NP_Epilepsy_HRVUZG_HMB_MDS_WES_20250721_ANV5_202507300507'), - bqsrc('fb086869', 'CCDG_Broad_NP_Epilepsy_IRLRCI_GRU_IRB_GSA_MD_20250721_ANV5_202508051615'), - bqsrc('ef987506', 'CCDG_Broad_NP_Epilepsy_IRLRCI_GRU_IRB_WES_20250721_ANV5_202507300514'), - bqsrc('f695ec55', 'CCDG_Broad_NP_Epilepsy_ITAICB_HMB_NPU_MDS_GSA_MD_20250721_ANV5_202508051624'), - bqsrc('cbf89a9e', 'CCDG_Broad_NP_Epilepsy_ITAICB_HMB_NPU_MDS_WES_20250721_ANV5_202507300522'), - bqsrc('3383c514', 'CCDG_Broad_NP_Epilepsy_ITAIGI_GRU_GSA_MD_20250721_ANV5_202508051633'), - bqsrc('1e2905c4', 'CCDG_Broad_NP_Epilepsy_ITAIGI_GRU_WES_20250721_ANV5_202507311902'), - bqsrc('a49a2f24', 'CCDG_Broad_NP_Epilepsy_ITAUBG_DS_EPI_NPU_MDS_GSA_MD_20250721_ANV5_202508051641'), - bqsrc('cf8affe8', 'CCDG_Broad_NP_Epilepsy_ITAUBG_DS_EPI_NPU_MDS_WES_20250721_ANV5_202507311912'), - bqsrc('2c90922a', 'CCDG_Broad_NP_Epilepsy_ITAUMC_DS_NEURO_MDS_GSA_MD_20250721_ANV5_202508051651'), - bqsrc('a8ea4518', 'CCDG_Broad_NP_Epilepsy_ITAUMC_DS_NEURO_MDS_WES_20250721_ANV5_202507300545'), - bqsrc('e9212e1f', 'CCDG_Broad_NP_Epilepsy_ITAUMR_GRU_NPU_GSA_MD_20250721_ANV5_202508051658'), - bqsrc('14cc9aca', 'CCDG_Broad_NP_Epilepsy_ITAUMR_GRU_NPU_WES_20250721_ANV5_202507300553'), - bqsrc('2c6d0fc7', 'CCDG_Broad_NP_Epilepsy_JPNFKA_GRU_GSA_MD_20250721_ANV5_202508051707'), - bqsrc('5ec41204', 'CCDG_Broad_NP_Epilepsy_JPNFKA_GRU_WES_20250721_ANV5_202507311923'), - bqsrc('42043ca7', 'CCDG_Broad_NP_Epilepsy_JPNRKI_DS_NPD_IRB_NPU_GSA_MD_20250721_ANV5_202508051715'), - bqsrc('8696ea48', 'CCDG_Broad_NP_Epilepsy_JPNRKI_DS_NPD_IRB_NPU_WES_20250721_ANV5_202507300608'), - bqsrc('c1c7f997', 'CCDG_Broad_NP_Epilepsy_KENKIL_GRU_GSA_MD_20250721_ANV5_202508051724'), - bqsrc('55db8a23', 'CCDG_Broad_NP_Epilepsy_KENKIL_GRU_WES_20250721_ANV5_202507311932'), - bqsrc('6292d318', 'CCDG_Broad_NP_Epilepsy_LEBABM_DS_Epilepsy_GSA_MD_20250721_ANV5_202508051734'), - bqsrc('480ae148', 'CCDG_Broad_NP_Epilepsy_LEBABM_DS_Epilepsy_WES_20250721_ANV5_202507311941'), - bqsrc('3ef65a17', 'CCDG_Broad_NP_Epilepsy_LEBABM_GRU_GSA_MD_20250721_ANV5_202508051741'), - bqsrc('9d825c25', 'CCDG_Broad_NP_Epilepsy_LEBABM_GRU_WES_20250721_ANV5_202507311950'), - bqsrc('c2551282', 'CCDG_Broad_NP_Epilepsy_LTUUHK_HMB_NPU_MDS_GSA_MD_20250721_ANV5_202508051749'), - bqsrc('b623f957', 'CCDG_Broad_NP_Epilepsy_LTUUHK_HMB_NPU_MDS_WES_20250721_ANV5_202507300637'), - bqsrc('d2fe229f', 'CCDG_Broad_NP_Epilepsy_NZLUTO_EPIL_BC_ID_MDS_GSA_MD_20250721_ANV5_202508051757'), - bqsrc('eb2ef800', 'CCDG_Broad_NP_Epilepsy_NZLUTO_EPIL_BC_ID_MDS_WES_20250721_ANV5_202507300644'), - bqsrc('e78c32ac', 'CCDG_Broad_NP_Epilepsy_TURBZU_GRU_GSA_MD_20250721_ANV5_202508051804'), - bqsrc('b6e37b1f', 'CCDG_Broad_NP_Epilepsy_TURBZU_GRU_WES_20250721_ANV5_202507300652'), - bqsrc('a5c4baea', 'CCDG_Broad_NP_Epilepsy_TURIBU_DS_NEURO_AD_NPU_GSA_MD_20250721_ANV5_202508051813'), - bqsrc('fc9369c5', 'CCDG_Broad_NP_Epilepsy_TURIBU_DS_NEURO_AD_NPU_WES_20250721_ANV5_202507300659'), - bqsrc('2e229142', 'CCDG_Broad_NP_Epilepsy_TWNCGM_HMB_NPU_AdultsONLY_GSA_MD_20250721_ANV5_202508051820'), - bqsrc('be41731b', 'CCDG_Broad_NP_Epilepsy_TWNCGM_HMB_NPU_AdultsONLY_WES_20250721_ANV5_202507300707'), - bqsrc('978ba5d4', 'CCDG_Broad_NP_Epilepsy_USABCH_EPI_MUL_CON_MDS_GSA_MD_20250721_ANV5_202508051912'), - bqsrc('75f1ba4f', 'CCDG_Broad_NP_Epilepsy_USABCH_EPI_MUL_CON_MDS_WES_20250721_ANV5_202507300719'), - bqsrc('1102e29c', 'CCDG_Broad_NP_Epilepsy_USABLC_GRU_NPU_GSA_MD_20250721_ANV5_202508051920'), - bqsrc('906814a8', 'CCDG_Broad_NP_Epilepsy_USABLC_GRU_NPU_WES_20250721_ANV5_202507300726'), - bqsrc('d0448b56', 'CCDG_Broad_NP_Epilepsy_USACCF_HMB_MDS_GSA_MD_20250721_ANV5_202508051928'), - bqsrc('d76a4f76', 'CCDG_Broad_NP_Epilepsy_USACCF_HMB_MDS_WES_20250721_ANV5_202507311958'), - bqsrc('2950a024', 'CCDG_Broad_NP_Epilepsy_USACCH_DS_NEURO_MDS_GSA_MD_20250721_ANV5_202508051936'), - bqsrc('4cc169a9', 'CCDG_Broad_NP_Epilepsy_USACCH_DS_NEURO_MDS_WES_20250721_ANV5_202507300740'), - bqsrc('3a75c858', 'CCDG_Broad_NP_Epilepsy_USACHP_GRU_GSA_MD_20250721_ANV5_202508051945'), - bqsrc('6e53560b', 'CCDG_Broad_NP_Epilepsy_USACHP_GRU_WES_20250721_ANV5_202507312007'), - bqsrc('32238959', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_EP_MDS_GSA_MD_20250721_ANV5_202508051955'), - bqsrc('a0516528', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_EP_MDS_WES_20250721_ANV5_202507300756'), - bqsrc('8a490e9e', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_SEIZD_GSA_MD_20250721_ANV5_202508052004'), - bqsrc('a894d673', 'CCDG_Broad_NP_Epilepsy_USACRW_DS_SEIZD_WES_20250721_ANV5_202507300804'), - bqsrc('8091a8f2', 'CCDG_Broad_NP_Epilepsy_USACRW_EPI_ASZ_MED_MDS_GSA_MD_20250721_ANV5_202508052013'), - bqsrc('0ba57db1', 'CCDG_Broad_NP_Epilepsy_USACRW_EPI_ASZ_MED_MDS_WES_20250721_ANV5_202507300810'), - bqsrc('e1a82cc1', 'CCDG_Broad_NP_Epilepsy_USAEGP_GRU_GSA_MD_20250721_ANV5_202508052020'), - bqsrc('98461d37', 'CCDG_Broad_NP_Epilepsy_USAEGP_GRU_WES_20250721_ANV5_202507300817'), - bqsrc('1490968b', 'CCDG_Broad_NP_Epilepsy_USAFEB_GRU_GSA_MD_20250721_ANV5_202508052028'), - bqsrc('96cd36de', 'CCDG_Broad_NP_Epilepsy_USAFEB_GRU_WES_20250721_ANV5_202507300824'), - bqsrc('189ec05e', 'CCDG_Broad_NP_Epilepsy_USAHEP_GRU_GSA_MD_20250721_ANV5_202508052035'), - bqsrc('32793aae', 'CCDG_Broad_NP_Epilepsy_USAHEP_GRU_WES_20250721_ANV5_202507300831'), - bqsrc('f344bff6', 'CCDG_Broad_NP_Epilepsy_USALCH_HMB_MDS_GSA_MD_20250721_ANV5_202508052042'), - bqsrc('21a15106', 'CCDG_Broad_NP_Epilepsy_USALCH_HMB_WES_20250721_ANV5_202507300838'), - bqsrc('1d2b5391', 'CCDG_Broad_NP_Epilepsy_USAMGH_HMB_MDS_GSA_MD_20250721_ANV5_202508052050'), - bqsrc('d3c243dc', 'CCDG_Broad_NP_Epilepsy_USAMGH_HMB_MDS_WES_20250721_ANV5_202507300845'), - bqsrc('65dc7d73', 'CCDG_Broad_NP_Epilepsy_USAMGH_MGBB_HMB_MDS_GSA_MD_20250721_ANV5_202508052101'), - bqsrc('38abec69', 'CCDG_Broad_NP_Epilepsy_USAMGH_MGBB_HMB_MDS_WES_20250721_ANV5_202507300852'), - bqsrc('aa634284', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_GSA_MD_20250730_ANV5_202508061225'), - bqsrc('f715714d', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_NPU_GSA_MD_20250721_ANV5_202508052109'), - bqsrc('0fef9408', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_NPU_WES_20250721_ANV5_202507300900'), - bqsrc('d2819933', 'CCDG_Broad_NP_Epilepsy_USAMON_GRU_WES_20250721_ANV5_202507300906'), - bqsrc('749bc2ed', 'CCDG_Broad_NP_Epilepsy_USAMON_HMB_NPU_MDS_GSA_MD_20250721_ANV5_202508052116'), - bqsrc('8951be0e', 'CCDG_Broad_NP_Epilepsy_USAMON_HMB_WES_20250721_ANV5_202507300913'), - bqsrc('2d5171ac', 'CCDG_Broad_NP_Epilepsy_USAMSS_DS_EP_NEURO_MDS_GSA_MD_20250721_ANV5_202508052124'), - bqsrc('e358235d', 'CCDG_Broad_NP_Epilepsy_USAMSS_DS_EP_NEURO_MDS_WES_20250721_ANV5_202507300921'), - bqsrc('9277558d', 'CCDG_Broad_NP_Epilepsy_USANCH_DS_NEURO_MDS_GSA_MD_20250721_ANV5_202508052131'), - bqsrc('e4cb6e34', 'CCDG_Broad_NP_Epilepsy_USANCH_DS_NEURO_MDS_WES_20250721_ANV5_202507300929'), - bqsrc('b1bb610a', 'CCDG_Broad_NP_Epilepsy_USAUPN_CHOP_GRU_GSA_MD_20250721_ANV5_202508052139'), - bqsrc('9e68cf90', 'CCDG_Broad_NP_Epilepsy_USAUPN_CHOP_GRU_NPU_GSA_MD_20250721_ANV5_202508052147'), - bqsrc('cb408fa3', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_NPU_WES_20250721_ANV5_202507300937'), - bqsrc('809be4ae', 'CCDG_Broad_NP_Epilepsy_USAUPN_Marsh_GRU_WES_20250721_ANV5_202507300944'), - bqsrc('3cce2504', 'CCDG_Broad_NP_Epilepsy_USAUPN_Penn_GRU_GSA_MD_20250721_ANV5_202508052154'), - bqsrc('3ca6cd04', 'CCDG_Broad_NP_Epilepsy_USAUPN_Rader_GRU_WES_20250721_ANV5_202507300951'), - bqsrc('b2659034', 'CCDG_Broad_NP_Epilepsy_USAVANControls_HMB_GSO_GSA_MD_20250721_ANV5_202508052211'), - bqsrc('cf9e28f1', 'CCDG_Broad_NP_Epilepsy_USAVAN_HMB_GSO_GSA_MD_20250721_ANV5_202508052202'), - bqsrc('11a5f960', 'CCDG_Broad_NP_Epilepsy_USAVAN_HMB_GSO_WES_20250721_ANV5_202507300959'), - # Supersedes snapshot ccdg_broad_np_epilepsy_usavancontrols_hmb_gso_wes_… popped below - bqsrc('ce5b4d0e', 'CCDG_Broad_NP_Epilepsy_USAVANcontrols_HMB_GSO_WES_20250721_ANV5_202507301007'), - bqsrc('84b1d212', 'CCDG_Broad_NP_Epilepsy_ZAFAGN_DS_EPI_COMO_MDS_GSA_MD_20250721_ANV5_202508052220'), - # Supersedes snapshot ccdg_broad_np_epilepsy_zafagn_ds_epi_como_mds_wes… popped below - bqsrc('4b531498', 'CCDG_Broad_NP_Epilepsy_ZAFAGN_DS_EPI_COMO_MDS_WES_20250721_ANV5_202507301017'), - bqsrc('bdc5f5a9', 'CCDG_Broad_Spalletta_HMB_NPU_MDS_WES_20250721_ANV5_202507301024'), - bqsrc('2b98851b', 'CMG_Yale_GRU_20221020_ANV5_202507091800'), - bqsrc('83ab11a0', 'CMH_GAFK_R5_20250801_ANV5_202508011248'), - bqsrc('e5c7dfdd', 'ENCORE_293T_20250710_ANV5_202507211509'), - bqsrc('43e71067', 'ENCORE_RS293_20250710_ANV5_202507211507'), - bqsrc('262cd5df', 'GREGOR_R03_GRU_20250612_ANV5_202506271443'), - bqsrc('a50f51b8', 'GREGOR_R03_HMB_20250612_ANV5_202506271503'), - bqsrc('fe5fb412', 'GTEx_v10_hg38_20241105_ANV5_202506201300'), - bqsrc('e6508a35', 'HudsonAlpha_LR_v1_GRU_20241018_ANV5_202507091815'), - bqsrc('4ed55ce5', 'IGVF_HMB_MDS_R1_20250801_ANV5_202508011316'), - bqsrc('34477ca5', 'MAGE_20250710_ANV5_202507211510'), - bqsrc('027605b3', 'NIA_CARD_LR_WGS_HBCC_20250731_ANV5_202508011421'), - bqsrc('31f7c3dd', 'NIA_CARD_LR_WGS_NABEC_GRU_V2_20250731_ANV5_202508011423'), - bqsrc('04b6f4d8', 'PAGE_BioMe_GRU_WGS_20250224_ANV5_202502241731'), - bqsrc('af4c978f', 'PAGE_MEC_GRU_WGS_20250224_ANV5_202502241739'), - bqsrc('71b74bcf', 'PAGE_Stanford_Global_Reference_Panel_GRU_WGS_20250224_ANV5_202502241745'), - bqsrc('ff012258', 'ccdg_broad_np_epilepsy_usavancontrols_hmb_gso_wes_20221101_ANV5_202409302105', pop), - bqsrc('61b6b42b', 'ccdg_broad_np_epilepsy_zafagn_ds_epi_como_mds_wes_20221026_ANV5_202409302116', pop), -])) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - # Set variables for the `hammerbox` deployment here. The hammerbox is - # used to run integration tests against PRs and to perform CI/CD - # experiments. - # - # You can use this file as a template for a personal deployment. Look - # for conditionals using the `is_sandbox` variable and adjust the `else` - # branch accordingly. - # - # Only modify this file if you intend to commit those changes. To apply - # a setting that's specific to you AND the deployment, create an - # `environment.local.py` file right next to this one and apply that - # setting there. Settings that are applicable to all environments but - # specific to you go into `environment.local.py` at the project root. - - # When using this file as a template for a personal deployment, replace - # `None` with a short string that is specific to YOU. - # - 'AZUL_DEPLOYMENT_STAGE': 'hammerbox' if is_sandbox else None, - - # This deployment uses a subdomain of the `anvilprod` deployment's - # domain. - # - 'AZUL_DOMAIN_NAME': 'explore.anvilproject.org', - 'AZUL_SUBDOMAIN_TEMPLATE': '*.{AZUL_DEPLOYMENT_STAGE}', - - 'AZUL_CATALOGS': base64.b64encode(bz2.compress(json.dumps({ - f'{catalog}{suffix}': dict(atlas=atlas, - internal=internal, - plugins=dict(metadata=dict(name='anvil'), - repository=dict(name='tdr_anvil')), - sources=list(filter(None, sources.values()))) - for atlas, catalog, sources in [ - ('anvil', 'anvil9', anvil9_sources), - ('anvil', 'anvil11', anvil11_sources), - ] - for suffix, internal in [ - ('', False), - ('-it', True) - ] - }).encode())).decode('ascii'), - - 'AZUL_TDR_SOURCE_LOCATION': 'us-central1', - 'AZUL_TDR_SERVICE_URL': 'https://data.terra.bio', - 'AZUL_SAM_SERVICE_URL': 'https://sam.dsde-prod.broadinstitute.org', - 'AZUL_DUOS_SERVICE_URL': 'https://consent.dsde-prod.broadinstitute.org', - 'AZUL_TERRA_SERVICE_URL': 'https://firecloud-orchestration.dsde-prod.broadinstitute.org', - - # Personal deployments & `hammerbox` share an ES domain with `anvilprod` - 'AZUL_SHARE_ES_DOMAIN': '1', - 'AZUL_ES_DOMAIN': 'azul-index-anvilprod', - - **( - { - } if is_sandbox else { - # Personal deployments use fewer Lambda invocations in parallel. - 'AZUL_CONTRIBUTION_CONCURRENCY': '8', - 'AZUL_AGGREGATION_CONCURRENCY': '8', - } - ), - - 'AZUL_DEBUG': '1', - - 'AZUL_BILLING': 'anvil', - - # When using this file as a template for a personal deployment, change - # `None` to a string containing YOUR email address. - # - 'AZUL_OWNER': 'hannes@ucsc.edu' if is_sandbox else None, - - 'AZUL_MONITORING_EMAIL': '{AZUL_OWNER}', - - 'AZUL_AWS_ACCOUNT_ID': '465330168186', - 'AWS_DEFAULT_REGION': 'us-east-1', - - 'GOOGLE_PROJECT': 'platform-anvil-prod', - - 'AZUL_DEPLOYMENT_INCARNATION': '0', - - 'AZUL_GOOGLE_OAUTH2_CLIENT_ID': '1055427471534-ienqfvg4fl2n7agcumn63b12npsjorlr.apps.googleusercontent.com', - - 'AZUL_ENABLE_VERBATIM_RELATIONS': '0', - } diff --git a/deployments/prod.browser/environment.py b/deployments/prod.browser/environment.py deleted file mode 100644 index 753a0e6d03..0000000000 --- a/deployments/prod.browser/environment.py +++ /dev/null @@ -1,50 +0,0 @@ -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - 'azul_terraform_component': 'browser', - 'azul_browser_sites': json.dumps({ - 'browser': { - 'zone': 'explore.data.humancellatlas.org', - 'domain': 'explore.data.humancellatlas.org', - 'project': 'ucsc/data-browser', - 'branch': 'ucsc/hca/prod', - 'tarball_name': 'hca', - 'tarball_path': 'out', - 'real_path': '' - }, - 'lungmap': { - 'zone': 'data-browser.lungmap.net', - 'domain': 'data-browser.lungmap.net', - 'project': 'ucsc/data-browser', - 'branch': 'ucsc/lungmap/prod', - 'tarball_name': 'lungmap', - 'tarball_path': 'out', - 'real_path': '' - } - }) - } diff --git a/deployments/prod.gitlab/environment.py b/deployments/prod.gitlab/environment.py deleted file mode 100644 index 32fc2f33d5..0000000000 --- a/deployments/prod.gitlab/environment.py +++ /dev/null @@ -1,31 +0,0 @@ -from collections.abc import ( - Mapping, -) -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - 'azul_terraform_component': 'gitlab', - 'azul_vpc_cidr': '172.22.0.0/16', - 'azul_vpn_subnet': '10.43.0.0/16' - } diff --git a/deployments/prod.shared/environment.py b/deployments/prod.shared/environment.py deleted file mode 120000 index 1a13b702a8..0000000000 --- a/deployments/prod.shared/environment.py +++ /dev/null @@ -1 +0,0 @@ -../dev.shared/environment.py \ No newline at end of file diff --git a/deployments/prod/.example.environment.local.py b/deployments/prod/.example.environment.local.py deleted file mode 120000 index 45b1b10142..0000000000 --- a/deployments/prod/.example.environment.local.py +++ /dev/null @@ -1 +0,0 @@ -../dev/.example.environment.local.py \ No newline at end of file diff --git a/deployments/prod/environment.py b/deployments/prod/environment.py deleted file mode 100644 index 949274ef2a..0000000000 --- a/deployments/prod/environment.py +++ /dev/null @@ -1,1878 +0,0 @@ -import base64 -import bz2 -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Literal, - Optional, -) - -pop = 1 # remove snapshot - - -def mksrc(source_type: Literal['bigquery', 'parquet'], - google_project, - snapshot, - flags: int = 0, - /, - prefix: str = '' - ) -> tuple[str, str | None]: - _, env, project, _ = snapshot.split('_', 3) - assert flags <= pop - source = None if flags & pop else ':'.join([ - 'tdr', - source_type, - 'gcp', - google_project, - snapshot, - prefix - ]) - return project, source - - -def mkdelta(items: list[tuple[str, str]]) -> dict[str, str]: - result = dict(items) - assert len(items) == len(result), 'collisions detected' - assert list(result.keys()) == sorted(result.keys()), 'input not sorted' - return result - - -def mklist(catalog: dict[str, str]) -> list[str]: - return list(filter(None, catalog.values())) - - -def mkdict(previous_catalog: dict[str, str], - num_expected: int, - delta: dict[str, str] - ) -> dict[str, str]: - catalog = previous_catalog | delta - num_actual = len(mklist(catalog)) - assert num_expected == num_actual, (num_expected, num_actual) - return catalog - - -dcp12_sources = mkdict({}, 195, mkdelta([ - mksrc('bigquery', 'datarepo-a1c89fba', 'hca_prod_005d611a14d54fbf846e571a1f874f70__20220111_dcp2_20220113_dcp12'), - mksrc('bigquery', 'datarepo-a9316414', 'hca_prod_027c51c60719469fa7f5640fe57cbece__20220110_dcp2_20220113_dcp12'), - mksrc('bigquery', 'datarepo-d111fe96', 'hca_prod_03c6fce7789e4e78a27a664d562bb738__20220110_dcp2_20220113_dcp12'), - mksrc('bigquery', 'datarepo-a2d29140', 'hca_prod_04ad400c58cb40a5bc2b2279e13a910b__20220114_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-d8ad6862', 'hca_prod_05657a599f9d4bb9b77b24be13aa5cea__20220110_dcp2_20220113_dcp12'), - mksrc('bigquery', 'datarepo-c9b9a2e8', 'hca_prod_05be4f374506429bb112506444507d62__20220107_dcp2_20220113_dcp12'), - mksrc('bigquery', 'datarepo-4e087937', 'hca_prod_07073c1280064710a00b23abdb814904__20220107_dcp2_20220113_dcp12'), - mksrc('bigquery', 'datarepo-9226064c', 'hca_prod_074a9f88729a455dbca50ce80edf0cea__20220107_dcp2_20220113_dcp12'), - mksrc('bigquery', 'datarepo-5bd98333', 'hca_prod_0792db3480474e62802c9177c9cd8e28__20220107_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-580db83c', 'hca_prod_08b794a0519c4516b184c583746254c5__20220107_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-0b49ea1e', 'hca_prod_091cf39b01bc42e59437f419a66c8a45__20220107_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-109db6e4', 'hca_prod_0c09fadee0794fde8e606725b8c1d84b__20220107_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-26de5247', 'hca_prod_0c3b7785f74d40918616a68757e4c2a8__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-ae49a863', 'hca_prod_0d4b87ea6e9e456982e41343e0e3259f__20220110_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-76169feb', 'hca_prod_0fd8f91862d64b8bac354c53dd601f71__20220110_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-4b42c4ef', 'hca_prod_116965f3f09447699d28ae675c1b569c__20220107_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-eb39c36f', 'hca_prod_16ed4ad8731946b288596fe1c1d73a82__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-982c56ad', 'hca_prod_1c6a960d52ac44eab728a59c7ab9dc8e__20220110_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-f24e8394', 'hca_prod_1cd1f41ff81a486ba05b66ec60f81dcf__20220107_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-b8ffd379', 'hca_prod_1ce3b3dc02f244a896dad6d107b27a76__20220107_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-b1ac3907', 'hca_prod_1defdadaa36544ad9b29443b06bd11d6__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-4e5e9f9b', 'hca_prod_2043c65a1cf84828a6569e247d4e64f1__20220111_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-156c78f4', 'hca_prod_2084526ba66f4c40bb896fd162f2eb38__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-228ac7b7', 'hca_prod_2086eb0510b9432bb7f0169ccc49d270__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-7defc353', 'hca_prod_20f37aafcaa140e69123be6ce8feb2d6__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-783bc6c3', 'hca_prod_21ea8ddb525f4f1fa82031f0360399a2__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-d8b00524', 'hca_prod_23587fb31a4a4f58ad74cc9a4cb4c254__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-8390f5e3', 'hca_prod_248fcf0316c64a41b6ccaad4d894ca42__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-45f08380', 'hca_prod_24c654a5caa5440a8f02582921f2db4a__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-ab44f4d8', 'hca_prod_2a64db431b554639aabb8dba0145689d__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-bfdde7e3', 'hca_prod_2a72a4e566b2405abb7c1e463e8febb0__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-f4d7c97e', 'hca_prod_2ad191cdbd7a409b9bd1e72b5e4cce81__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-e4d77c97', 'hca_prod_2af52a1365cb4973b51339be38f2df3f__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-aebdd74a', 'hca_prod_2b38025da5ea4c0fb22e367824bcaf4c__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-e67b97d4', 'hca_prod_2d8460958a334f3c97d4585bafac13b4__20220111_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-b123707e', 'hca_prod_2ef3655a973d4d699b4121fa4041eed7__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-3b845979', 'hca_prod_2f67614380c24bc6b7b42613fe0fadf0__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-40cecf86', 'hca_prod_3089d311f9ed44ddbb10397059bad4dc__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-e6d0e6ab', 'hca_prod_31887183a72c43089eacc6140313f39c__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-059455a6', 'hca_prod_34cba5e9ecb14d81bf0848987cd63073__20220111_dcp2_20220114_dcp12'), - mksrc('bigquery', 'datarepo-18838720', 'hca_prod_376a7f55b8764f609cf3ed7bc83d5415__20220111_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-002f293a', 'hca_prod_379ed69ebe0548bcaf5ea7fc589709bf__20220111_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-94ea8d84', 'hca_prod_38449aea70b540db84b31e08f32efe34__20220111_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-597059bb', 'hca_prod_38e44dd0c3df418e9256d0824748901f__20220112_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-9b80ca5d', 'hca_prod_3a69470330844ece9abed935fd5f6748__20220112_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-caef7414', 'hca_prod_3c27d2ddb1804b2bbf05e2e418393fd1__20220112_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-d091ac22', 'hca_prod_3cfcdff5dee14a7ba591c09c6e850b11__20220112_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-ab983bdd', 'hca_prod_3e329187a9c448ec90e3cc45f7c2311c__20220112_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-5e5bce33', 'hca_prod_4037007b0eff4e6db7bd8dd8eec80143__20220112_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-c6ce3ced', 'hca_prod_403c3e7668144a2da5805dd5de38c7ff__20220113_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-d2fa6418', 'hca_prod_414accedeba0440fb721befbc5642bef__20220113_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-3ae19ddb', 'hca_prod_41fb1734a121461695c73b732c9433c7__20220113_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-50081b3c', 'hca_prod_42d4f8d454224b78adaee7c3c2ef511c__20220113_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-a7e55305', 'hca_prod_455b46e6d8ea4611861ede720a562ada__20220113_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-99250e4a', 'hca_prod_4a95101c9ffc4f30a809f04518a23803__20220113_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-d1983cfc', 'hca_prod_4af795f73e1d4341b8674ac0982b9efd__20220113_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-21212245', 'hca_prod_4bec484dca7a47b48d488830e06ad6db__20220113_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-001a2f34', 'hca_prod_4d6f6c962a8343d88fe10f53bffd4674__20220113_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-26396466', 'hca_prod_4e6f083b5b9a439398902a83da8188f1__20220113_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-3ef66093', 'hca_prod_50151324f3ed435898afec352a940a61__20220113_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-bd1c5759', 'hca_prod_504e0cee168840fab936361c4a831f87__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-6ab76705', 'hca_prod_5116c0818be749c58ce073b887328aa9__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-458232e4', 'hca_prod_51f02950ee254f4b8d0759aa99bb3498__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-3e19670d', 'hca_prod_520afa10f9d24e93ab7a26c4c863ce18__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-3eec204e', 'hca_prod_52b29aa4c8d642b4807ab35be94469ca__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-e7c01a93', 'hca_prod_52d10a60c8d14d068a5eaf0d5c0d5034__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-3b0847fe', 'hca_prod_53c53cd481274e12bc7f8fe1610a715c__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-d4f43fb3', 'hca_prod_54aaa409dc2848c5be26d368b4a5d5c6__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-6ed675f9', 'hca_prod_559bb888782941f2ace52c05c7eb81e9__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-5bdba230', 'hca_prod_56e73ccb7ae94faea738acfb69936d7a__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-6b1109e5', 'hca_prod_577c946d6de54b55a854cd3fde40bff2__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-d6e79c46', 'hca_prod_58028aa80ed249cab60f15e2ed5989d5__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-8494da48', 'hca_prod_591af954cdcd483996d3a0d1b1e885ac__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-17088287', 'hca_prod_5b3285614a9740acb7ad6a90fc59d374__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-4977894a', 'hca_prod_5b5f05b72482468db76d8f68c04a7a47__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-99725d7d', 'hca_prod_5bb1f67e2ff04848bbcf17d133f0fd2d__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-83783d1c', 'hca_prod_5eafb94b02d8423e81b83673da319ca0__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-f25df8f2', 'hca_prod_5ee710d7e2d54fe2818d15f5e31dae32__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-99348797', 'hca_prod_602628d7c03848a8aa97ffbb2cb44c9d__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-e8e29a46', 'hca_prod_6072616c87944b208f52fb15992ea5a4__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-bd224cce', 'hca_prod_60ea42e1af4942f58164d641fdb696bc__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-a4f706c9', 'hca_prod_63b5b6c1bbcd487d8c2e0095150c1ecd__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-0e494119', 'hca_prod_65858543530d48a6a670f972b34dfe10__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-c8ed0e98', 'hca_prod_67a3de0945b949c3a068ff4665daa50e__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-b1223d0f', 'hca_prod_68df3629d2d24eedb0aba10e0f019b88__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-b7734519', 'hca_prod_6c040a938cf84fd598de2297eb07e9f6__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-489f5a00', 'hca_prod_7027adc6c9c946f384ee9badc3a4f53b__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-465f2c7c', 'hca_prod_71436067ac414acebe1b2fbcc2cb02fa__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-574f6410', 'hca_prod_71eb5f6dcee04297b503b1125909b8c7__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-61e3e2d1', 'hca_prod_74493e9844fc48b0a58fcc7e77268b59__20220117_dcp2_20220120_dcp12'), - mksrc('bigquery', 'datarepo-699bbe9b', 'hca_prod_74b6d5693b1142efb6b1a0454522b4a0__20220117_dcp2_20220124_dcp12'), - mksrc('bigquery', 'datarepo-674de9c8', 'hca_prod_75dbbce90cde489c88a793e8f92914a3__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-d043e30f', 'hca_prod_769a08d1b8a44f1e95f76071a9827555__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-5c757273', 'hca_prod_783c9952a4ae4106a6ce56f20ce27f88__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-bc095feb', 'hca_prod_7880637a35a14047b422b5eac2a2a358__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-333e09de', 'hca_prod_78b2406dbff246fc8b6120690e602227__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-9268e5a3', 'hca_prod_79b13a2a9ca142a497bd70208a11bea6__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-93812eed', 'hca_prod_7ac8822c4ef04194adf074290611b1c6__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-db3813a8', 'hca_prod_7adede6a0ab745e69b67ffe7466bec1f__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-33a60e82', 'hca_prod_7b947aa243a74082afff222a3e3a4635__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-ccf60635', 'hca_prod_7c75f07c608d4c4aa1b7b13d11c0ad31__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-30e31b57', 'hca_prod_8185730f411340d39cc3929271784c2b__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-9d5ab6f0', 'hca_prod_83f5188e3bf749569544cea4f8997756__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-57af0017', 'hca_prod_842605c7375a47c59e2ca71c2c00fcad__20220117_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-c3aea89c', 'hca_prod_8559a8ed5d8c4fb6bde8ab639cebf03c__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-a054435f', 'hca_prod_8787c23889ef4636a57d3167e8b54a80__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-4d40e3cb', 'hca_prod_87d52a86bdc7440cb84d170f7dc346d9__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-486fab06', 'hca_prod_88ec040b87054f778f41f81e57632f7d__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-32fc3ac7', 'hca_prod_8999b4566fa6438bab17b62b1d8ec0c3__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-19e9b807', 'hca_prod_8a40ff19e6144c50b23b5c9e1d546bab__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-a71cbef5', 'hca_prod_8ab8726d81b94bd2acc24d50bee786b4__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-6cf8837e', 'hca_prod_8bd2e5f694534b9b9c5659e3a40dc87e__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-8383e25b', 'hca_prod_8c3c290ddfff4553886854ce45f4ba7f__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-d425ceae', 'hca_prod_8d566d35d8d34975a351be5e25e9b2ea__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-c15b7397', 'hca_prod_8dacb243e9184bd2bb9aaac6dc424161__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-8ed2742a', 'hca_prod_90bd693340c048d48d76778c103bf545__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-05d8344b', 'hca_prod_94023a08611d4f22a8c990956e091b2e__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-87faf2bd', 'hca_prod_946c5add47d1402a97bba5af97e8bce7__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-8238f8f6', 'hca_prod_955dfc2ca8c64d04aa4d907610545d11__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-0f11337c', 'hca_prod_95f07e6e6a734e1ba880c83996b3aa5c__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-f680e590', 'hca_prod_962bd805eb894c54bad2008e497d1307__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-9b7aa7dd', 'hca_prod_99101928d9b14aafb759e97958ac7403__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-8a2c2dfd', 'hca_prod_996120f9e84f409fa01e732ab58ca8b9__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-9385cdd8', 'hca_prod_9d97f01f9313416e9b07560f048b2350__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-ddcd2940', 'hca_prod_a004b1501c364af69bbd070c06dbc17d__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-16e78655', 'hca_prod_a29952d9925e40f48a1c274f118f1f51__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-9aa62158', 'hca_prod_a39728aa70a04201b0a281b7badf3e71__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-7180120b', 'hca_prod_a60803bbf7db45cfb52995436152a801__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-b4669bfd', 'hca_prod_a80a63f2e223489081b0415855b89abc__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-e899aaaa', 'hca_prod_a9301bebe9fa42feb75c84e8a460c733__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-373a5866', 'hca_prod_a96b71c078a742d188ce83c78925cfeb__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-92bd008d', 'hca_prod_a991ef154d4a4b80a93ec538b4b54127__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-6652ddcb', 'hca_prod_a9c022b4c7714468b769cabcf9738de3__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-4975e16f', 'hca_prod_abe1a013af7a45ed8c26f3793c24a1f4__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-be8901be', 'hca_prod_ad04c8e79b7d4cceb8e901e31da10b94__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-4a3b719a', 'hca_prod_ad98d3cd26fb4ee399c98a2ab085e737__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-d7f6d5fa', 'hca_prod_ae71be1dddd84feb9bed24c3ddb6e1ad__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-58678d36', 'hca_prod_b32a9915c81b4cbcaf533a66b5da3c9a__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-ff628beb', 'hca_prod_b4a7d12f6c2f40a39e359756997857e3__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-2a48ce64', 'hca_prod_b51f49b40d2e4cbdbbd504cd171fc2fa__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-ffc43998', 'hca_prod_b7259878436c4274bfffca76f4cb7892__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-41c56298', 'hca_prod_b9484e4edc404e389b854cecf5b8c068__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-0cbe9f7b', 'hca_prod_b963bd4b4bc14404842569d74bc636b8__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-d4fa6f7e', 'hca_prod_bd40033154b94fccbff66bb8b079ee1f__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-5cfa0843', 'hca_prod_bd7104c9a950490e94727d41c6b11c62__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-53d134a5', 'hca_prod_c1810dbc16d245c3b45e3e675f88d87b__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-8d82eeff', 'hca_prod_c1a9a93dd9de4e659619a9cec1052eaa__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-7357dda4', 'hca_prod_c31fa434c9ed4263a9b6d9ffb9d44005__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-4322539b', 'hca_prod_c4077b3c5c984d26a614246d12c2e5d7__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-c746ef64', 'hca_prod_c41dffbfad83447ca0e113e689d9b258__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-072807b7', 'hca_prod_c5ca43aa3b2b42168eb3f57adcbc99a1__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-62e87fe3', 'hca_prod_c5f4661568de4cf4bbc2a0ae10f08243__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-c59a45c5', 'hca_prod_c6ad8f9bd26a4811b2ba93d487978446__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-d0540cc6', 'hca_prod_c715cd2fdc7c44a69cd5b6a6d9f075ae__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-2b95c100', 'hca_prod_c893cb575c9f4f26931221b85be84313__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-dd3d8e06', 'hca_prod_cc95ff892e684a08a234480eca21ce79__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-2a5a6085', 'hca_prod_ccd1f1ba74ce469b9fc9f6faea623358__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-2b0f8836', 'hca_prod_ccef38d7aa9240109621c4c7b1182647__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-8d6a8dd5', 'hca_prod_cddab57b68684be4806f395ed9dd635a__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-202827af', 'hca_prod_ce33dde2382d448cb6acbfb424644f23__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-cde2c4a4', 'hca_prod_ce7b12ba664f4f798fc73de6b1892183__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-4f711011', 'hca_prod_d012d4768f8c4ff389d6ebbe22c1b5c1__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-a718a79a', 'hca_prod_d2111fac3fc44f429b6d32cd6a828267__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-12801bd1', 'hca_prod_d3446f0c30f34a12b7c36af877c7bb2d__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-dac6d601', 'hca_prod_d3a4ceac4d66498497042570c0647a56__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-1e99243c', 'hca_prod_d3ac7c1b53024804b611dad9f89c049d__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-e73ca25f', 'hca_prod_d7845650f6b14b1cb2fec0795416ba7b__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-7796a030', 'hca_prod_d7b7beae652b4fc09bf2bcda7c7115af__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-438137ee', 'hca_prod_da2747fa292142e0afd439ef57b2b88b__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-7f7fb2ac', 'hca_prod_daf9d9827ce643f6ab51272577290606__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-404d888e', 'hca_prod_dbcd4b1d31bd4eb594e150e8706fa192__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-ee4df1a4', 'hca_prod_dc1a41f69e0942a6959e3be23db6da56__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-89f05580', 'hca_prod_dd7f24360c564709bd17e526bba4cc15__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-d6e13093', 'hca_prod_df88f39f01a84b5b92f43177d6c0f242__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-319b223a', 'hca_prod_e0009214c0a04a7b96e2d6a83e966ce0__20220119_dcp2_20220126_dcp12'), - mksrc('bigquery', 'datarepo-cd37664c', 'hca_prod_e0c74c7a20a445059cf138dcdd23011b__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-921c7df9', 'hca_prod_e526d91dcf3a44cb80c5fd7676b55a1d__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-8d441277', 'hca_prod_e57dc176ab98446b90c289e0842152fd__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-a2bba34f', 'hca_prod_e5d455791f5b48c3b568320d93e7ca72__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-32d08de8', 'hca_prod_e77fed30959d4fadbc15a0a5a85c21d2__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-de2f2f56', 'hca_prod_e8808cc84ca0409680f2bba73600cba6__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-b49ee748', 'hca_prod_eaefa1b6dae14414953b17b0427d061e__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-192f44d3', 'hca_prod_ede2e0b46652464fabbc0b2d964a25a0__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-79a515aa', 'hca_prod_ef1d9888fa8647a4bb720ab0f20f7004__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-8ddfa027', 'hca_prod_ef1e3497515e4bbe8d4c10161854b699__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-902930ad', 'hca_prod_efea6426510a4b609a19277e52bfa815__20220118_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-708835eb', 'hca_prod_f0f89c1474604bab9d4222228a91f185__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-cf6bd64d', 'hca_prod_f2fe82f044544d84b416a885f3121e59__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-44df5b5a', 'hca_prod_f48e7c39cc6740559d79bc437892840c__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-eb93ad96', 'hca_prod_f6133d2a9f3d4ef99c19c23d6c7e6cc0__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-e3c29b0f', 'hca_prod_f81efc039f564354aabb6ce819c3d414__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-11942c76', 'hca_prod_f83165c5e2ea4d15a5cf33f3550bffde__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-c64a357d', 'hca_prod_f86f1ab41fbb4510ae353ffd752d4dfc__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-4167b729', 'hca_prod_f8aa201c4ff145a4890e840d63459ca2__20220119_dcp2_20220121_dcp12'), - mksrc('bigquery', 'datarepo-590e9f21', 'hca_prod_faeedcb0e0464be7b1ad80a3eeabb066__20220119_dcp2_20220121_dcp12'), -])) - -dcp13_sources = mkdict(dcp12_sources, 208, mkdelta([ - # @formatter:off - mksrc('bigquery', 'datarepo-c8f9ec5d', 'hca_prod_03c6fce7789e4e78a27a664d562bb738__20220110_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-991fac12', 'hca_prod_05657a599f9d4bb9b77b24be13aa5cea__20220110_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-b185fd85', 'hca_prod_05be4f374506429bb112506444507d62__20220107_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-30dc00be', 'hca_prod_065e6c13ad6b46a38075c3137eb03068__20220213_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-0285bfe0', 'hca_prod_06c7dd8d6cc64b79b7958805c47d36e1__20220213_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-bde655c7', 'hca_prod_102018327c7340339b653ef13d81656a__20220213_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-003ece01', 'hca_prod_1ce3b3dc02f244a896dad6d107b27a76__20220107_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-5a090360', 'hca_prod_1dddae6e375348afb20efa22abad125d__20220213_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-a0659f9b', 'hca_prod_1eb69a39b5b241ecafae5fe37f272756__20220213_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-cbdabbb4', 'hca_prod_23587fb31a4a4f58ad74cc9a4cb4c254__20220111_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-2ad5c040', 'hca_prod_2a72a4e566b2405abb7c1e463e8febb0__20220111_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-ca52c87a', 'hca_prod_2d8460958a334f3c97d4585bafac13b4__20220111_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-3da21f85', 'hca_prod_3a69470330844ece9abed935fd5f6748__20220112_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-f84c69b4', 'hca_prod_520afa10f9d24e93ab7a26c4c863ce18__20220117_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-fd9c289b', 'hca_prod_58028aa80ed249cab60f15e2ed5989d5__20220117_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-afff5936', 'hca_prod_67a3de0945b949c3a068ff4665daa50e__20220117_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-7e70b0df', 'hca_prod_6f89a7f38d4a4344aa4feccfe7e91076__20220213_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-cafbc244', 'hca_prod_78b2406dbff246fc8b6120690e602227__20220117_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-0558746b', 'hca_prod_78d7805bfdc8472b8058d92cf886f7a4__20220213_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-fb7a9fe5', 'hca_prod_8559a8ed5d8c4fb6bde8ab639cebf03c__20220118_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-5ee4d674', 'hca_prod_85a9263b088748edab1addfa773727b6__20220224_dcp2_20220224_dcp13'), - mksrc('bigquery', 'datarepo-604c0800', 'hca_prod_88ec040b87054f778f41f81e57632f7d__20220118_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-651b3c64', 'hca_prod_8c3c290ddfff4553886854ce45f4ba7f__20220118_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-9029753d', 'hca_prod_99101928d9b14aafb759e97958ac7403__20220118_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-0a0a2225', 'hca_prod_9c20a245f2c043ae82c92232ec6b594f__20220212_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-9385cdd8', 'hca_prod_9d97f01f9313416e9b07560f048b2350__20220118_dcp2_20220121_dcp12', pop), # noqa E501 - mksrc('bigquery', 'datarepo-3dda61fd', 'hca_prod_ccd1f1ba74ce469b9fc9f6faea623358__20220118_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-021d07c6', 'hca_prod_ccef38d7aa9240109621c4c7b1182647__20220118_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-8c5ae0d1', 'hca_prod_cd61771b661a4e19b2696e5d95350de6__20220213_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-e69f2dd7', 'hca_prod_d6225aee8f0e4b20a20c682509a9ea14__20220213_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-b11dcc58', 'hca_prod_d71c76d336704774a9cf034249d37c60__20220213_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-e251e383', 'hca_prod_dbd836cfbfc241f0983441cc6c0b235a__20220212_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-ce17ac99', 'hca_prod_dd7ada843f144765b7ce9b64642bb3dc__20220212_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-8e3d7fce', 'hca_prod_e8808cc84ca0409680f2bba73600cba6__20220118_dcp2_20220214_dcp13'), - mksrc('bigquery', 'datarepo-43f772c9', 'hca_prod_f6133d2a9f3d4ef99c19c23d6c7e6cc0__20220119_dcp2_20220214_dcp13'), - # @formatter:on -])) - -dcp14_sources = mkdict(dcp13_sources, 218, mkdelta([ - mksrc('bigquery', 'datarepo-ef305f42', 'hca_prod_005d611a14d54fbf846e571a1f874f70__20220111_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-4fb4619a', 'hca_prod_074a9f88729a455dbca50ce80edf0cea__20220107_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-1dbff5cd', 'hca_prod_091cf39b01bc42e59437f419a66c8a45__20220107_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-73b30762', 'hca_prod_116965f3f09447699d28ae675c1b569c__20220107_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-ecd9f488', 'hca_prod_165dea71a95a44e188cdb2d9ad68bb1e__20220303_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-c3ca85db', 'hca_prod_24d0dbbc54eb49048141934d26f1c936__20220303_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-6eecb96e', 'hca_prod_2c041c26f75a495fab36a076f89d422a__20220303_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-99fdfa87', 'hca_prod_3cdaf942f8ad42e8a77b4efedb9ea7b6__20220303_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-cf90c331', 'hca_prod_403c3e7668144a2da5805dd5de38c7ff__20220113_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-b9918259', 'hca_prod_4a95101c9ffc4f30a809f04518a23803__20220113_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-77f534b9', 'hca_prod_4bec484dca7a47b48d488830e06ad6db__20220113_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-b230b42b', 'hca_prod_4d6f6c962a8343d88fe10f53bffd4674__20220113_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-b83d5d98', 'hca_prod_4e6f083b5b9a439398902a83da8188f1__20220113_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-d7e92ae1', 'hca_prod_5116c0818be749c58ce073b887328aa9__20220117_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-9e63ca34', 'hca_prod_53c53cd481274e12bc7f8fe1610a715c__20220117_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-6b360d3f', 'hca_prod_5b5f05b72482468db76d8f68c04a7a47__20220117_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-47534f24', 'hca_prod_6ac8e777f9a04288b5b0446e8eba3078__20220303_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-aa6a9210', 'hca_prod_74b6d5693b1142efb6b1a0454522b4a0__20220117_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-7274c749', 'hca_prod_7b947aa243a74082afff222a3e3a4635__20220117_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-06d0218d', 'hca_prod_8185730f411340d39cc3929271784c2b__20220117_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-958f743f', 'hca_prod_91af6e2f65f244ec98e0ba4e98db22c8__20220303_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-8ef24363', 'hca_prod_95f07e6e6a734e1ba880c83996b3aa5c__20220118_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-bc66239d', 'hca_prod_abe1a013af7a45ed8c26f3793c24a1f4__20220118_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-ccddf7b7', 'hca_prod_b963bd4b4bc14404842569d74bc636b8__20220118_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-145862d0', 'hca_prod_c05184453b3b49c6b8fcc41daa4eacba__20220213_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-1d4ac83f', 'hca_prod_c211fd49d9804ba18c6ac24254a3cb52__20220303_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-a7ff96eb', 'hca_prod_c4077b3c5c984d26a614246d12c2e5d7__20220118_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-ff4ee826', 'hca_prod_c6a50b2a3dfd4ca89b483e682f568a25__20220303_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-15efafd9', 'hca_prod_cc95ff892e684a08a234480eca21ce79__20220118_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-264555df', 'hca_prod_e5d455791f5b48c3b568320d93e7ca72__20220119_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-9cbb67c6', 'hca_prod_f29b124a85974862ae98ff3a0fd9033e__20220303_dcp2_20220307_dcp14'), - mksrc('bigquery', 'datarepo-09a8dd1a', 'hca_prod_f83165c5e2ea4d15a5cf33f3550bffde__20220119_dcp2_20220307_dcp14'), -])) - -dcp15_sources = mkdict(dcp14_sources, 237, mkdelta([ - mksrc('bigquery', 'datarepo-bb0322f9', 'hca_prod_04ad400c58cb40a5bc2b2279e13a910b__20220114_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-4c006992', 'hca_prod_0562d2ae0b8a459ebbc06357108e5da9__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-625580ba', 'hca_prod_0777b9ef91f3468b9deadb477437aa1a__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-c6460226', 'hca_prod_18d4aae283634e008eebb9e568402cf8__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-9e1d30cd', 'hca_prod_1ce3b3dc02f244a896dad6d107b27a76__20220107_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-426125f5', 'hca_prod_2b38025da5ea4c0fb22e367824bcaf4c__20220111_dcp2_20220331_dcp15'), - mksrc('bigquery', 'datarepo-67ebf8c0', 'hca_prod_40272c3b46974bd4ba3f82fa96b9bf71__20220303_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-7e581d49', 'hca_prod_40ca2a03ec0f471fa834948199495fe7__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-4b461192', 'hca_prod_45c2c853d06f4879957ef1366fb5d423__20220303_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-b5a6fdd9', 'hca_prod_5116c0818be749c58ce073b887328aa9__20220117_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-abf80711', 'hca_prod_65d7a1684d624bc083244e742aa62de6__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-4a1d1031', 'hca_prod_6621c827b57a4268bc80df4049140193__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-ecd5ed43', 'hca_prod_6ac8e777f9a04288b5b0446e8eba3078__20220303_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-993d35db', 'hca_prod_6f89a7f38d4a4344aa4feccfe7e91076__20220213_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-fb756d63', 'hca_prod_73769e0a5fcd41f4908341ae08bfa4c1__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-b174a30e', 'hca_prod_77780d5603c0481faade2038490cef9f__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-54af5ab6', 'hca_prod_91af6e2f65f244ec98e0ba4e98db22c8__20220303_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-89b77174', 'hca_prod_957261f72bd64358a6ed24ee080d5cfc__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-c95907eb', 'hca_prod_99101928d9b14aafb759e97958ac7403__20220118_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-a186fcb1', 'hca_prod_a2a2f324cf24409ea859deaee871269c__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-b44b5550', 'hca_prod_a815c84b8999433f958e422c0720e00d__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-89acf5db', 'hca_prod_aefb919243fc46d7a4c129597f7ef61b__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-06565264', 'hca_prod_aff9c3cd6b844fc2abf2b9c0b3038277__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-0bb76e5c', 'hca_prod_c1810dbc16d245c3b45e3e675f88d87b__20220118_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-5d6926b7', 'hca_prod_c7c54245548b4d4fb15e0d7e238ae6c8__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-46a00828', 'hca_prod_dc1a41f69e0942a6959e3be23db6da56__20220119_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-e9f2b830', 'hca_prod_e255b1c611434fa683a8528f15b41038__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-c93c8ea6', 'hca_prod_f2fe82f044544d84b416a885f3121e59__20220119_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-d5d5cacf', 'hca_prod_fa3f460f4fb94cedb5488ba6a8ecae3f__20220330_dcp2_20220330_dcp15'), - mksrc('bigquery', 'datarepo-b60aabf3', 'hca_prod_fde199d2a8414ed1aa65b9e0af8969b1__20220330_dcp2_20220330_dcp15'), -])) - -dcp16_sources = mkdict(dcp15_sources, 250, mkdelta([ - mksrc('bigquery', 'datarepo-c531f177', 'hca_prod_0562d2ae0b8a459ebbc06357108e5da9__20220330_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-589be0ea', 'hca_prod_0b29914025b54861a69f7651ff3f46cf__20220519_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-a584f228', 'hca_prod_16cd67912adb4d0f82220184dada6456__20220519_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-84b4312d', 'hca_prod_18e5843776b740218ede3f0b443fa915__20220519_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-5ba935e0', 'hca_prod_2253ae594cc54bd2b44eecb6d3fd7646__20220519_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-bc2fe57d', 'hca_prod_24d0dbbc54eb49048141934d26f1c936__20220303_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-e227ee12', 'hca_prod_3cdaf942f8ad42e8a77b4efedb9ea7b6__20220303_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-3b6cd966', 'hca_prod_425c2759db664c93a358a562c069b1f1__20220519_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-26738b05', 'hca_prod_6663070ffd8b41a9a4792d1e07afa201__20220519_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-3dc96215', 'hca_prod_7b393e4d65bc4c03b402aae769299329__20220519_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-c6955be8', 'hca_prod_94e4ee099b4b410a84dca751ad36d0df__20220519_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-721e0608', 'hca_prod_b51f49b40d2e4cbdbbd504cd171fc2fa__20220118_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-9f724133', 'hca_prod_b733dc1b1d5545e380367eab0821742c__20220519_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-3403d8d8', 'hca_prod_c16a754f5da346ed8c1e6426af2ef625__20220519_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-54c4ef0b', 'hca_prod_daa371e81ec343ef924f896d901eab6f__20220519_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-190ddba0', 'hca_prod_e9f36305d85744a393f0df4e6007dc97__20220519_dcp2_20220519_dcp16'), - mksrc('bigquery', 'datarepo-b3a12f99', 'hca_prod_f4d011ced1f548a4ab61ae14176e3a6e__20220519_dcp2_20220519_dcp16'), -])) - -dcp17_sources = mkdict(dcp16_sources, 261, mkdelta([ - # @formatter:off - mksrc('bigquery', 'datarepo-0c908bdf', 'hca_prod_005d611a14d54fbf846e571a1f874f70__20220111_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-91af9f1b', 'hca_prod_04ad400c58cb40a5bc2b2279e13a910b__20220114_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-adcbf4c3', 'hca_prod_18d4aae283634e008eebb9e568402cf8__20220330_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-4cc7b9fb', 'hca_prod_20f37aafcaa140e69123be6ce8feb2d6__20220111_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-b4210c33', 'hca_prod_2eb4f5f842a54368aa2d337bacb96197__20220606_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-ba2650b6', 'hca_prod_2fe3c60bac1a4c619b59f6556c0fce63__20220606_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-eb73a0f3', 'hca_prod_34da2c5f801148afa7fdad2f56ec10f4__20220606_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-0d3feb7c', 'hca_prod_376a7f55b8764f609cf3ed7bc83d5415__20220111_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-7cfb2129', 'hca_prod_3c27d2ddb1804b2bbf05e2e418393fd1__20220112_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-cbdb9b65', 'hca_prod_3cfcdff5dee14a7ba591c09c6e850b11__20220112_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-c1f0a228', 'hca_prod_425c2759db664c93a358a562c069b1f1__20220519_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-261ff5ff', 'hca_prod_4f17edf6e9f042afa54af02fdca76ade__20220606_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-c9a47174', 'hca_prod_5b5f05b72482468db76d8f68c04a7a47__20220117_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-7dd487af', 'hca_prod_5bb1f67e2ff04848bbcf17d133f0fd2d__20220117_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-c6191eb9', 'hca_prod_6f89a7f38d4a4344aa4feccfe7e91076__20220213_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-8b966ec9', 'hca_prod_71436067ac414acebe1b2fbcc2cb02fa__20220117_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-3a9d88c9', 'hca_prod_7880637a35a14047b422b5eac2a2a358__20220117_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-63ab653d', 'hca_prod_78b2406dbff246fc8b6120690e602227__20220117_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-b79b6e00', 'hca_prod_7be050259972493a856f3342a8d1b183__20220606_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-7d012d70', 'hca_prod_8999b4566fa6438bab17b62b1d8ec0c3__20220118_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-385ef7e4', 'hca_prod_8a40ff19e6144c50b23b5c9e1d546bab__20220118_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-0339714f', 'hca_prod_8bd2e5f694534b9b9c5659e3a40dc87e__20220118_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-492bd104', 'hca_prod_a27dd61925ad46a0ae0c5c4940a1139b__20220606_dcp2_20220607_dcp17', pop), # noqa E501 - mksrc('bigquery', 'datarepo-bc83ab27', 'hca_prod_a2a2f324cf24409ea859deaee871269c__20220330_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-10a33a05', 'hca_prod_a62dae2ecd694d5cb5f84f7e8abdbafa__20220606_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-e3d0317e', 'hca_prod_a9f5323ace71471c9caf04cc118fd1d7__20220606_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-cd2ab73f', 'hca_prod_ad04c8e79b7d4cceb8e901e31da10b94__20220118_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-dcd2f9cf', 'hca_prod_aff9c3cd6b844fc2abf2b9c0b3038277__20220330_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-c9b6cc1c', 'hca_prod_b9484e4edc404e389b854cecf5b8c068__20220118_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-49083689', 'hca_prod_bd7104c9a950490e94727d41c6b11c62__20220118_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-c29ee607', 'hca_prod_c302fe54d22d451fa130e24df3d6afca__20220606_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-50fa4c1b', 'hca_prod_d138a1147df54f7d9ff1f79dfd2d428f__20220606_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-9810d23f', 'hca_prod_d3446f0c30f34a12b7c36af877c7bb2d__20220119_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-3171dab6', 'hca_prod_da2747fa292142e0afd439ef57b2b88b__20220119_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-693c392c', 'hca_prod_dbcd4b1d31bd4eb594e150e8706fa192__20220119_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-b9410272', 'hca_prod_e993adcdd4ba4f889a05d1c05bdf0c45__20220606_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-4647591c', 'hca_prod_e9f36305d85744a393f0df4e6007dc97__20220519_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-d20af009', 'hca_prod_f29b124a85974862ae98ff3a0fd9033e__20220303_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-959ea334', 'hca_prod_f6133d2a9f3d4ef99c19c23d6c7e6cc0__20220119_dcp2_20220607_dcp17'), - mksrc('bigquery', 'datarepo-a09e8946', 'hca_prod_fccd3f50cde247bf8972a293b5928aea__20220606_dcp2_20220607_dcp17'), - # @formatter:on -])) - -dcp18_sources = mkdict(dcp17_sources, 267, mkdelta([ - mksrc('bigquery', 'datarepo-3fa8ab06', 'hca_prod_1538d572bcb7426b8d2c84f3a7f87bb0__20220630_dcp2_20220630_dcp18'), - mksrc('bigquery', 'datarepo-7a96c98c', 'hca_prod_8a666b76daaf4b1f9414e4807a1d1e8b__20220630_dcp2_20220630_dcp18'), - mksrc('bigquery', 'datarepo-65814a19', 'hca_prod_9833669bd6944b93a3d06b6f9dbcfc10__20220630_dcp2_20220630_dcp18'), - mksrc('bigquery', 'datarepo-935adc8a', 'hca_prod_9fc0064b84ce40a5a768e6eb3d364ee0__20220630_dcp2_20220630_dcp18'), - mksrc('bigquery', 'datarepo-38233156', 'hca_prod_a27dd61925ad46a0ae0c5c4940a1139b__20220606_dcp2_20220630_dcp18'), - mksrc('bigquery', 'datarepo-57050405', 'hca_prod_a62dae2ecd694d5cb5f84f7e8abdbafa__20220606_dcp2_20220630_dcp18'), - mksrc('bigquery', 'datarepo-99178745', 'hca_prod_b4a7d12f6c2f40a39e359756997857e3__20220118_dcp2_20220630_dcp18'), - mksrc('bigquery', 'datarepo-38191a90', 'hca_prod_b51f49b40d2e4cbdbbd504cd171fc2fa__20220118_dcp2_20220630_dcp18'), - mksrc('bigquery', 'datarepo-0e7c311b', 'hca_prod_c4e1136978d44d29ba8eb67907c4c65c__20220630_dcp2_20220630_dcp18'), - mksrc('bigquery', 'datarepo-21969ae7', 'hca_prod_e9f36305d85744a393f0df4e6007dc97__20220519_dcp2_20220630_dcp18'), -])) - -dcp19_sources = mkdict(dcp18_sources, 276, mkdelta([ - mksrc('bigquery', 'datarepo-f15e3b59', 'hca_prod_005d611a14d54fbf846e571a1f874f70__20220111_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-995a6952', 'hca_prod_04ad400c58cb40a5bc2b2279e13a910b__20220114_dcp2_20220805_dcp19'), - mksrc('bigquery', 'datarepo-d48e7a0f', 'hca_prod_0562d2ae0b8a459ebbc06357108e5da9__20220330_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-ca2968d6', 'hca_prod_05657a599f9d4bb9b77b24be13aa5cea__20220110_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-9c3b164c', 'hca_prod_074a9f88729a455dbca50ce80edf0cea__20220107_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-413da832', 'hca_prod_0777b9ef91f3468b9deadb477437aa1a__20220330_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-5b9d4163', 'hca_prod_0b29914025b54861a69f7651ff3f46cf__20220519_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-4e2997d7', 'hca_prod_135f7f5c4a854bcf9f7c4f035ff1e428__20220729_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-44258246', 'hca_prod_20f37aafcaa140e69123be6ce8feb2d6__20220111_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-7302c74c', 'hca_prod_24d0dbbc54eb49048141934d26f1c936__20220303_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-4ff95533', 'hca_prod_2c041c26f75a495fab36a076f89d422a__20220303_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-b839ef2e', 'hca_prod_2f67614380c24bc6b7b42613fe0fadf0__20220111_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-67845d12', 'hca_prod_34da2c5f801148afa7fdad2f56ec10f4__20220606_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-00aa7019', 'hca_prod_3c9d586ebd264b4686903faaa18ccf38__20220729_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-16ec881b', 'hca_prod_3e92c74d256c40cd927316f155da8342__20220729_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-4d2761c3', 'hca_prod_40272c3b46974bd4ba3f82fa96b9bf71__20220303_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-bc41fa3c', 'hca_prod_425c2759db664c93a358a562c069b1f1__20220519_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-6aadacef', 'hca_prod_45c2c853d06f4879957ef1366fb5d423__20220303_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-2ea93600', 'hca_prod_4d9d56e4610d4748b57df8315e3f53a3__20220729_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-a59dcc04', 'hca_prod_51f02950ee254f4b8d0759aa99bb3498__20220117_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-d07fd1c7', 'hca_prod_5b3285614a9740acb7ad6a90fc59d374__20220117_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-a0b7c8ae', 'hca_prod_5b5f05b72482468db76d8f68c04a7a47__20220117_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-465c9e6a', 'hca_prod_5b910a437fb54ea7b9d643dbd1bf2776__20220729_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-75be85e4', 'hca_prod_6ac8e777f9a04288b5b0446e8eba3078__20220303_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-8336318c', 'hca_prod_7be050259972493a856f3342a8d1b183__20220606_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-57425cd8', 'hca_prod_88ec040b87054f778f41f81e57632f7d__20220118_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-cc58cf4d', 'hca_prod_8f630e0f6bf94a04975402533152a954__20220729_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-c20ed7ec', 'hca_prod_91af6e2f65f244ec98e0ba4e98db22c8__20220303_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-071fb08c', 'hca_prod_94e4ee099b4b410a84dca751ad36d0df__20220519_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-2f190159', 'hca_prod_957261f72bd64358a6ed24ee080d5cfc__20220330_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-8cdacdcd', 'hca_prod_a1312f9a01ef40a789bf9091ca76a03a__20220729_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-36f14100', 'hca_prod_a62dae2ecd694d5cb5f84f7e8abdbafa__20220606_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-f0901ade', 'hca_prod_a9f5323ace71471c9caf04cc118fd1d7__20220606_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-b8655ece', 'hca_prod_c05184453b3b49c6b8fcc41daa4eacba__20220213_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-dd7e0cf4', 'hca_prod_c16a754f5da346ed8c1e6426af2ef625__20220519_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-3b8b21f1', 'hca_prod_c1a9a93dd9de4e659619a9cec1052eaa__20220118_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-9e1a0138', 'hca_prod_c5f4661568de4cf4bbc2a0ae10f08243__20220118_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-4af209c5', 'hca_prod_c7c54245548b4d4fb15e0d7e238ae6c8__20220330_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-4888a055', 'hca_prod_d2111fac3fc44f429b6d32cd6a828267__20220119_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-5af7a6fe', 'hca_prod_d3ac7c1b53024804b611dad9f89c049d__20220119_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-3c496a8c', 'hca_prod_d71c76d336704774a9cf034249d37c60__20220213_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-9b9df5aa', 'hca_prod_d7b7beae652b4fc09bf2bcda7c7115af__20220119_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-7769445f', 'hca_prod_da9d6f243bdf4eaa9e3ff47ce2a65b36__20220729_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-68a6d3c9', 'hca_prod_daf9d9827ce643f6ab51272577290606__20220119_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-ddce2a24', 'hca_prod_df88f39f01a84b5b92f43177d6c0f242__20220119_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-4f8a62b5', 'hca_prod_e0009214c0a04a7b96e2d6a83e966ce0__20220119_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-391955ef', 'hca_prod_e526d91dcf3a44cb80c5fd7676b55a1d__20220119_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-26d7f723', 'hca_prod_e57dc176ab98446b90c289e0842152fd__20220119_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-234ad9b8', 'hca_prod_e9f36305d85744a393f0df4e6007dc97__20220519_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-125471a9', 'hca_prod_ec6476ee294941f3947b8eef41d6d3ac__20220729_dcp2_20220804_dcp19'), - mksrc('bigquery', 'datarepo-f91198ce', 'hca_prod_f86f1ab41fbb4510ae353ffd752d4dfc__20220119_dcp2_20220804_dcp19'), -])) - -dcp20_sources = mkdict(dcp19_sources, 288, mkdelta([ - mksrc('bigquery', 'datarepo-7a619b7f', 'hca_prod_34da2c5f801148afa7fdad2f56ec10f4__20220606_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-ab0fbc7f', 'hca_prod_425c2759db664c93a358a562c069b1f1__20220519_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-86ffb30f', 'hca_prod_4c73d1e4bad24a22a0ba55abbdbdcc3d__20220906_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-68f0a599', 'hca_prod_66d7d92ad6c5492c815bf81c7c93c984__20220906_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-999b7ef7', 'hca_prod_74e2ef9d7c9f418cb2817fb38f3b1571__20220906_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-d9e203e6', 'hca_prod_7be050259972493a856f3342a8d1b183__20220606_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-60b7f35f', 'hca_prod_7f351a4cd24c4fcd9040f79071b097d0__20220906_dcp2_20220909_dcp20'), - mksrc('bigquery', 'datarepo-3ef6c389', 'hca_prod_8b9cb6ae6a434e47b9fb3df7aeec941f__20220906_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-b6764413', 'hca_prod_923d323172954184b3f6c3082766a8c7__20220906_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-c341e9ae', 'hca_prod_9a23ac2d93dd4bac9bb8040e6426db9d__20220906_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-a07e8478', 'hca_prod_9ac53858606a4b89af49804ccedaa660__20220906_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-6d6c8d6e', 'hca_prod_9b876d3107394e969846f76e6a427279__20220906_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-4bad599c', 'hca_prod_a7c66eb14a4e4f6c9e30ad2a485f8301__20220906_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-b4a08996', 'hca_prod_a815c84b8999433f958e422c0720e00d__20220330_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-90b9fc26', 'hca_prod_ac289b77fb124a6bad43c0721c698e70__20220906_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-e2dfd11f', 'hca_prod_daf9d9827ce643f6ab51272577290606__20220119_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-bfc87e2c', 'hca_prod_e9f36305d85744a393f0df4e6007dc97__20220519_dcp2_20220907_dcp20'), - mksrc('bigquery', 'datarepo-17b90eb5', 'hca_prod_fcaa53cdba574bfeaf9ceaa958f95c1a__20220906_dcp2_20220907_dcp20'), -])) - -dcp21_sources = mkdict(dcp20_sources, 293, mkdelta([ - mksrc('bigquery', 'datarepo-f8cc03ae', 'hca_prod_03c6fce7789e4e78a27a664d562bb738__20220110_dcp2_20221011_dcp21'), - mksrc('bigquery', 'datarepo-1f11d8e0', 'hca_prod_0b29914025b54861a69f7651ff3f46cf__20220519_dcp2_20221011_dcp21'), - mksrc('bigquery', 'datarepo-eeee85f1', 'hca_prod_1fa8b11f56fa45a6a7776af70e17a6b3__20220928_dcp2_20221011_dcp21'), - mksrc('bigquery', 'datarepo-e2f09b06', 'hca_prod_34ec845bcd7a4c4399e4d2932d5d85bb__20220928_dcp2_20221011_dcp21'), - mksrc('bigquery', 'datarepo-abf25e53', 'hca_prod_575c0ad9c78e469b9fdf9a68dd881137__20220928_dcp2_20221011_dcp21'), - mksrc('bigquery', 'datarepo-41b246f0', 'hca_prod_615158205bb845d08d12f0850222ecf0__20221007_dcp2_20221011_dcp21'), - mksrc('bigquery', 'datarepo-a5548d96', 'hca_prod_7f351a4cd24c4fcd9040f79071b097d0__20220906_dcp2_20221011_dcp21'), - mksrc('bigquery', 'datarepo-ee2f9607', 'hca_prod_a62dae2ecd694d5cb5f84f7e8abdbafa__20220606_dcp2_20221011_dcp21'), - mksrc('bigquery', 'datarepo-ccacece4', 'hca_prod_c0d82ef215044ef09e5ed8a13e45fdec__20220928_dcp2_20221011_dcp21'), -])) - -dcp22_sources = mkdict(dcp21_sources, 303, mkdelta([ - mksrc('bigquery', 'datarepo-89e53cfa', 'hca_prod_0d4aaaac02c344c48ae04465f97f83ed__20221101_dcp2_20221101_dcp22'), - mksrc('bigquery', 'datarepo-8d629004', 'hca_prod_16e9915978bc44aab47955a5e903bf50__20221101_dcp2_20221101_dcp22'), - mksrc('bigquery', 'datarepo-69c9824a', 'hca_prod_21ea8ddb525f4f1fa82031f0360399a2__20220111_dcp2_20221101_dcp22'), - mksrc('bigquery', 'datarepo-fe5ea9a7', 'hca_prod_2837165560ba449ea3035859b29ead65__20221101_dcp2_20221101_dcp22'), - mksrc('bigquery', 'datarepo-96dc6466', 'hca_prod_2b81ecc46ee0438f8c5bc10b2464069e__20221101_dcp2_20221101_dcp22'), - mksrc('bigquery', 'datarepo-330124fc', 'hca_prod_34c9a62ca6104e31b3438fb7be676f8c__20221101_dcp2_20221101_dcp22'), - mksrc('bigquery', 'datarepo-31ee9b01', 'hca_prod_4a95101c9ffc4f30a809f04518a23803__20220113_dcp2_20221101_dcp22'), - mksrc('bigquery', 'datarepo-a03f3f9a', 'hca_prod_94023a08611d4f22a8c990956e091b2e__20220118_dcp2_20221101_dcp22'), - mksrc('bigquery', 'datarepo-9c08dc57', 'hca_prod_957261f72bd64358a6ed24ee080d5cfc__20220330_dcp2_20221102_dcp22'), - mksrc('bigquery', 'datarepo-93c53553', 'hca_prod_990d251f6dab4a98a2b66cfe7e4708b9__20221101_dcp2_20221101_dcp22'), - mksrc('bigquery', 'datarepo-93db2e27', 'hca_prod_9e3370a0144a49a99e926f6a9290125a__20221101_dcp2_20221101_dcp22'), - mksrc('bigquery', 'datarepo-d0ed9366', 'hca_prod_c8e6c5d9fcde4845beadff96999e3051__20221101_dcp2_20221101_dcp22'), - mksrc('bigquery', 'datarepo-a5bd2972', 'hca_prod_dcbb50d19acf4f709fdab1f63a948c49__20221101_dcp2_20221101_dcp22'), - mksrc('bigquery', 'datarepo-7e89d1a8', 'hca_prod_e4b18cd28f15490db9f1d118aa067dc3__20221101_dcp2_20221101_dcp22'), -])) - -dcp23_sources = mkdict(dcp22_sources, 313, mkdelta([ - mksrc('bigquery', 'datarepo-1a3040e1', 'hca_prod_0751843070314bdfa3ce1bf0917a1923__20221208_dcp2_20221208_dcp23'), - mksrc('bigquery', 'datarepo-79dd7eb4', 'hca_prod_1ebe8c34454e4c28bd713a3e8b127be4__20221208_dcp2_20221208_dcp23'), - mksrc('bigquery', 'datarepo-e0ff550c', 'hca_prod_258c5e15d1254f2d8b4ce3122548ec9b__20221208_dcp2_20221209_dcp23'), - mksrc('bigquery', 'datarepo-2a9467bc', 'hca_prod_29ed827bc5394f4cbb6bce8f9173dfb7__20221208_dcp2_20221208_dcp23'), - mksrc('bigquery', 'datarepo-023be474', 'hca_prod_34ec845bcd7a4c4399e4d2932d5d85bb__20220928_dcp2_20221208_dcp23'), - mksrc('bigquery', 'datarepo-5d5e636b', 'hca_prod_48b198ef3d594e57900fdf54c2435669__20221208_dcp2_20221208_dcp23'), - mksrc('bigquery', 'datarepo-354e1286', 'hca_prod_504e0cee168840fab936361c4a831f87__20220117_dcp2_20221208_dcp23'), - mksrc('bigquery', 'datarepo-fa6adf44', 'hca_prod_79351583b21244bab473731bdcddb407__20221208_dcp2_20221208_dcp23'), - mksrc('bigquery', 'datarepo-678f9dd2', 'hca_prod_b7259878436c4274bfffca76f4cb7892__20220118_dcp2_20221208_dcp23'), - mksrc('bigquery', 'datarepo-cde3a08e', 'hca_prod_cc95ff892e684a08a234480eca21ce79__20220118_dcp2_20221209_dcp23'), - mksrc('bigquery', 'datarepo-0fd803ec', 'hca_prod_cdc2d2706c99414288839bd95c041d05__20221208_dcp2_20221208_dcp23'), - mksrc('bigquery', 'datarepo-c008323e', 'hca_prod_e0c74c7a20a445059cf138dcdd23011b__20220119_dcp2_20221209_dcp23'), - mksrc('bigquery', 'datarepo-e3e51223', 'hca_prod_e6773550c1a6494986431a3154cf2670__20221208_dcp2_20221208_dcp23'), - mksrc('bigquery', 'datarepo-8d65fbe5', 'hca_prod_ea9eec5a4fc24c5894d02fcb598732bc__20221208_dcp2_20221208_dcp23'), - mksrc('bigquery', 'datarepo-6a118cd6', 'hca_prod_f4d011ced1f548a4ab61ae14176e3a6e__20220519_dcp2_20221208_dcp23'), - mksrc('bigquery', 'datarepo-f7f5893b', 'hca_prod_fc381e70df1b407d813152ab523270bd__20221208_dcp2_20221208_dcp23') -])) - -dcp24_sources = mkdict(dcp23_sources, 324, mkdelta([ - mksrc('bigquery', 'datarepo-b7dfe3eb', 'hca_prod_12f320548f184dae8959bfce7e3108e7__20230201_dcp2_20230210_dcp24'), - mksrc('bigquery', 'datarepo-27434eaf', 'hca_prod_2d4d89f2ebeb467cae60a3efc5e8d4ba__20230206_dcp2_20230210_dcp24'), - mksrc('bigquery', 'datarepo-215ae20a', 'hca_prod_3ce9ae94c469419a96375d138a4e642f__20230201_dcp2_20230210_dcp24'), - mksrc('bigquery', 'datarepo-7230d8d4', 'hca_prod_6e60a555fd954aa28e293ec2ef01a580__20230206_dcp2_20230210_dcp24'), - mksrc('bigquery', 'datarepo-c5864eb0', 'hca_prod_77dedd59137648879bcadc42b56d5b7a__20230201_dcp2_20230210_dcp24'), - mksrc('bigquery', 'datarepo-f3272b0a', 'hca_prod_8787c23889ef4636a57d3167e8b54a80__20220118_dcp2_20230210_dcp24'), - mksrc('bigquery', 'datarepo-b1aa4336', 'hca_prod_957261f72bd64358a6ed24ee080d5cfc__20220330_dcp2_20230210_dcp24'), - mksrc('bigquery', 'datarepo-83e0bc68', 'hca_prod_95d058bc9cec4c888d2c05b4a45bf24f__20230201_dcp2_20230210_dcp24'), - mksrc('bigquery', 'datarepo-6a865365', 'hca_prod_cbd2911f252b4428abde69e270aefdfc__20230201_dcp2_20230210_dcp24'), - mksrc('bigquery', 'datarepo-da0b7e39', 'hca_prod_cd9d6360ce38432197dff13c79e3cb84__20230206_dcp2_20230210_dcp24'), - mksrc('bigquery', 'datarepo-19358e1b', 'hca_prod_cdabcf0b76024abf9afb3b410e545703__20230201_dcp2_20230210_dcp24'), - mksrc('bigquery', 'datarepo-4582b46e', 'hca_prod_e57dc176ab98446b90c289e0842152fd__20220119_dcp2_20230210_dcp24'), - mksrc('bigquery', 'datarepo-06c4cdf8', 'hca_prod_e88714c22e7849da81465a60b50628b4__20230206_dcp2_20230210_dcp24'), - mksrc('bigquery', 'datarepo-7e506a9c', 'hca_prod_f2078d5f2e7d48448552f7c41a231e52__20230201_dcp2_20230210_dcp24') -])) - -dcp25_sources = mkdict(dcp24_sources, 333, mkdelta([ - # @formatter:off - mksrc('bigquery', 'datarepo-3b7ecb2b', 'hca_prod_0562d2ae0b8a459ebbc06357108e5da9__20220330_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-23177a5e', 'hca_prod_065e6c13ad6b46a38075c3137eb03068__20220213_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-28f02436', 'hca_prod_0751843070314bdfa3ce1bf0917a1923__20221208_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-2be1e691', 'hca_prod_0777b9ef91f3468b9deadb477437aa1a__20220330_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-2ace314a', 'hca_prod_0b29914025b54861a69f7651ff3f46cf__20220519_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-620d39a2', 'hca_prod_0d4aaaac02c344c48ae04465f97f83ed__20221101_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-70e4eabb', 'hca_prod_0d4b87ea6e9e456982e41343e0e3259f__20220110_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-7888c2ce', 'hca_prod_102018327c7340339b653ef13d81656a__20220213_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-d023038c', 'hca_prod_135f7f5c4a854bcf9f7c4f035ff1e428__20220729_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-c5065d3a', 'hca_prod_1538d572bcb7426b8d2c84f3a7f87bb0__20220630_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-7767d47a', 'hca_prod_165dea71a95a44e188cdb2d9ad68bb1e__20220303_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-673f4c49', 'hca_prod_1688d7cc6f5c49efb353e308b61d4e4c__20230313_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-9abcd921', 'hca_prod_16cd67912adb4d0f82220184dada6456__20220519_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-9b0d8d86', 'hca_prod_16e9915978bc44aab47955a5e903bf50__20221101_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-f59c20aa', 'hca_prod_16ed4ad8731946b288596fe1c1d73a82__20220111_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-2b6bbe36', 'hca_prod_18d4aae283634e008eebb9e568402cf8__20220330_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-a85d395a', 'hca_prod_18e5843776b740218ede3f0b443fa915__20220519_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-7ec15bbc', 'hca_prod_1dddae6e375348afb20efa22abad125d__20220213_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-8e5453fd', 'hca_prod_1eb69a39b5b241ecafae5fe37f272756__20220213_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-e55df4ed', 'hca_prod_1ebe8c34454e4c28bd713a3e8b127be4__20221208_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-8e161efb', 'hca_prod_1fa8b11f56fa45a6a7776af70e17a6b3__20220928_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-76ddb6a2', 'hca_prod_2084526ba66f4c40bb896fd162f2eb38__20220111_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-857c8f17', 'hca_prod_2253ae594cc54bd2b44eecb6d3fd7646__20220519_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-8e9e865c', 'hca_prod_235092021e3c49598a459c5b642a1066__20230313_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-634a63c7', 'hca_prod_258c5e15d1254f2d8b4ce3122548ec9b__20221208_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-c0287284', 'hca_prod_2837165560ba449ea3035859b29ead65__20221101_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-6a89dcba', 'hca_prod_2a64db431b554639aabb8dba0145689d__20220111_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-c215e7c1', 'hca_prod_2ad191cdbd7a409b9bd1e72b5e4cce81__20220111_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-d4e011f2', 'hca_prod_2b38025da5ea4c0fb22e367824bcaf4c__20220111_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-529a323b', 'hca_prod_2b81ecc46ee0438f8c5bc10b2464069e__20221101_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-deaef690', 'hca_prod_2eb4f5f842a54368aa2d337bacb96197__20220606_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-49314a87', 'hca_prod_2f67614380c24bc6b7b42613fe0fadf0__20220111_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-573f4ced', 'hca_prod_2fe3c60bac1a4c619b59f6556c0fce63__20220606_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-d8951cb5', 'hca_prod_3089d311f9ed44ddbb10397059bad4dc__20220111_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-b1d73b5d', 'hca_prod_34c9a62ca6104e31b3438fb7be676f8c__20221101_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-ede741aa', 'hca_prod_34ec845bcd7a4c4399e4d2932d5d85bb__20220928_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-d4b1487a', 'hca_prod_379ed69ebe0548bcaf5ea7fc589709bf__20220111_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-06d8d7f5', 'hca_prod_38e44dd0c3df418e9256d0824748901f__20220112_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-497bd309', 'hca_prod_3c9d586ebd264b4686903faaa18ccf38__20220729_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-cf03259b', 'hca_prod_3cdaf942f8ad42e8a77b4efedb9ea7b6__20220303_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-b2aefc7f', 'hca_prod_3cfcdff5dee14a7ba591c09c6e850b11__20220112_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-cbd0d764', 'hca_prod_3e92c74d256c40cd927316f155da8342__20220729_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-5934cc66', 'hca_prod_403c3e7668144a2da5805dd5de38c7ff__20220113_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-8a262357', 'hca_prod_414accedeba0440fb721befbc5642bef__20220113_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-84e2745e', 'hca_prod_425c2759db664c93a358a562c069b1f1__20220519_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-0baf4047', 'hca_prod_45c2c853d06f4879957ef1366fb5d423__20220303_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-ff143887', 'hca_prod_48b198ef3d594e57900fdf54c2435669__20221208_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-7bf7a66d', 'hca_prod_4a95101c9ffc4f30a809f04518a23803__20220113_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-641f98b4', 'hca_prod_4bec484dca7a47b48d488830e06ad6db__20220113_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-61ddb23f', 'hca_prod_4c73d1e4bad24a22a0ba55abbdbdcc3d__20220906_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-616afd75', 'hca_prod_4d9d56e4610d4748b57df8315e3f53a3__20220729_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-fc5c976e', 'hca_prod_4ef86852aca04a9185229968e0e54dbe__20230313_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-10eb0685', 'hca_prod_4f17edf6e9f042afa54af02fdca76ade__20220606_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-7964fe37', 'hca_prod_50151324f3ed435898afec352a940a61__20220113_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-82d6ee00', 'hca_prod_504e0cee168840fab936361c4a831f87__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-5fefa259', 'hca_prod_5116c0818be749c58ce073b887328aa9__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-8bb6f657', 'hca_prod_54aaa409dc2848c5be26d368b4a5d5c6__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-f194b1da', 'hca_prod_575c0ad9c78e469b9fdf9a68dd881137__20220928_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-102399d2', 'hca_prod_58028aa80ed249cab60f15e2ed5989d5__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-cbb1feac', 'hca_prod_591af954cdcd483996d3a0d1b1e885ac__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-2917ceb6', 'hca_prod_5b3285614a9740acb7ad6a90fc59d374__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-46332822', 'hca_prod_5b910a437fb54ea7b9d643dbd1bf2776__20220729_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-04558655', 'hca_prod_5bb1f67e2ff04848bbcf17d133f0fd2d__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-6a083ad7', 'hca_prod_602628d7c03848a8aa97ffbb2cb44c9d__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-41cca7ce', 'hca_prod_60ea42e1af4942f58164d641fdb696bc__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-96f28c63', 'hca_prod_615158205bb845d08d12f0850222ecf0__20221007_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-4f72c082', 'hca_prod_65d7a1684d624bc083244e742aa62de6__20220330_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-6e86e38d', 'hca_prod_6621c827b57a4268bc80df4049140193__20220330_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-1a46eca7', 'hca_prod_6663070ffd8b41a9a4792d1e07afa201__20220519_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-d9380f70', 'hca_prod_66d7d92ad6c5492c815bf81c7c93c984__20220906_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-9586eb0b', 'hca_prod_68df3629d2d24eedb0aba10e0f019b88__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-31de31e5', 'hca_prod_6c040a938cf84fd598de2297eb07e9f6__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-fe215496', 'hca_prod_6e522b939b704f0c9990b9cff721251b__20230313_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-bf5922e5', 'hca_prod_6f03e4ad93054bfaa5b6929ffb1d94bd__20230313_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-259b6fce', 'hca_prod_6f89a7f38d4a4344aa4feccfe7e91076__20220213_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-e3ce8d32', 'hca_prod_71eb5f6dcee04297b503b1125909b8c7__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-63751bc2', 'hca_prod_73769e0a5fcd41f4908341ae08bfa4c1__20220330_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-a7e215db', 'hca_prod_74e2ef9d7c9f418cb2817fb38f3b1571__20220906_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-0059cce8', 'hca_prod_769a08d1b8a44f1e95f76071a9827555__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-e62a1f78', 'hca_prod_78b2406dbff246fc8b6120690e602227__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-aad6282b', 'hca_prod_79351583b21244bab473731bdcddb407__20221208_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-6ffd3fa5', 'hca_prod_79b13a2a9ca142a497bd70208a11bea6__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-12a154cb', 'hca_prod_7ac8822c4ef04194adf074290611b1c6__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-ff62a88c', 'hca_prod_7b393e4d65bc4c03b402aae769299329__20220519_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-d4e5780e', 'hca_prod_7b947aa243a74082afff222a3e3a4635__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-664a24cb', 'hca_prod_7c75f07c608d4c4aa1b7b13d11c0ad31__20220117_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-9caf17c8', 'hca_prod_8559a8ed5d8c4fb6bde8ab639cebf03c__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-3e85541c', 'hca_prod_8999b4566fa6438bab17b62b1d8ec0c3__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-a4f6e9ac', 'hca_prod_8b9cb6ae6a434e47b9fb3df7aeec941f__20220906_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-d8991cff', 'hca_prod_8d566d35d8d34975a351be5e25e9b2ea__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-65954398', 'hca_prod_8f630e0f6bf94a04975402533152a954__20220729_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-3539412c', 'hca_prod_91af6e2f65f244ec98e0ba4e98db22c8__20220303_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-64e86c6c', 'hca_prod_923d323172954184b3f6c3082766a8c7__20220906_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-bd3072b5', 'hca_prod_955dfc2ca8c64d04aa4d907610545d11__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-1fc717b1', 'hca_prod_957261f72bd64358a6ed24ee080d5cfc__20220330_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-b7b5c053', 'hca_prod_990d251f6dab4a98a2b66cfe7e4708b9__20221101_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-2736a43e', 'hca_prod_9ac53858606a4b89af49804ccedaa660__20220906_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-9f5be9ac', 'hca_prod_9b876d3107394e969846f76e6a427279__20220906_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-34fd3cd0', 'hca_prod_9e3370a0144a49a99e926f6a9290125a__20221101_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-78a0de43', 'hca_prod_a1312f9a01ef40a789bf9091ca76a03a__20220729_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-be58fa69', 'hca_prod_a39728aa70a04201b0a281b7badf3e71__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-11157f54', 'hca_prod_a60803bbf7db45cfb52995436152a801__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-278d9dd8', 'hca_prod_a62dae2ecd694d5cb5f84f7e8abdbafa__20220606_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-7a531766', 'hca_prod_a7c66eb14a4e4f6c9e30ad2a485f8301__20220906_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-39471648', 'hca_prod_a80a63f2e223489081b0415855b89abc__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-1553d994', 'hca_prod_a9301bebe9fa42feb75c84e8a460c733__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-d962a1b4', 'hca_prod_a991ef154d4a4b80a93ec538b4b54127__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-60416b5f', 'hca_prod_a9f5323ace71471c9caf04cc118fd1d7__20220606_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-f2f57a7c', 'hca_prod_ac289b77fb124a6bad43c0721c698e70__20220906_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-bbe8303d', 'hca_prod_ad04c8e79b7d4cceb8e901e31da10b94__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-d67d5486', 'hca_prod_ae62bb3155ca4127b0fbb1771a604645__20230313_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-2a19065b', 'hca_prod_aefb919243fc46d7a4c129597f7ef61b__20220330_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-ed809ac3', 'hca_prod_b7259878436c4274bfffca76f4cb7892__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-4c6b830c', 'hca_prod_b733dc1b1d5545e380367eab0821742c__20220519_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-2285af8d', 'hca_prod_b9484e4edc404e389b854cecf5b8c068__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-ffeff93b', 'hca_prod_bd40033154b94fccbff66bb8b079ee1f__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-208fbdb6', 'hca_prod_bd7104c9a950490e94727d41c6b11c62__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-3daf9fbc', 'hca_prod_be010abcfb684581b61f7dd7c3d7b044__20230314_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-03ab12e5', 'hca_prod_c05184453b3b49c6b8fcc41daa4eacba__20220213_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-e798f7a3', 'hca_prod_c0d82ef215044ef09e5ed8a13e45fdec__20220928_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-3be98d08', 'hca_prod_c16a754f5da346ed8c1e6426af2ef625__20220519_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-097f9535', 'hca_prod_c1a9a93dd9de4e659619a9cec1052eaa__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-c674ec37', 'hca_prod_c211fd49d9804ba18c6ac24254a3cb52__20220303_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-7978f7d7', 'hca_prod_c31fa434c9ed4263a9b6d9ffb9d44005__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-06d2f7a5', 'hca_prod_c4e1136978d44d29ba8eb67907c4c65c__20220630_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-cba6aa82', 'hca_prod_c5ca43aa3b2b42168eb3f57adcbc99a1__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-e7beed27', 'hca_prod_c6a50b2a3dfd4ca89b483e682f568a25__20220303_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-4c1109c3', 'hca_prod_c715cd2fdc7c44a69cd5b6a6d9f075ae__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-b9ed6937', 'hca_prod_c7c54245548b4d4fb15e0d7e238ae6c8__20220330_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-8b443018', 'hca_prod_c8e6c5d9fcde4845beadff96999e3051__20221101_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-cf75399d', 'hca_prod_cd61771b661a4e19b2696e5d95350de6__20220213_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-6e91dfce', 'hca_prod_cdc2d2706c99414288839bd95c041d05__20221208_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-ebcfd951', 'hca_prod_ce7b12ba664f4f798fc73de6b1892183__20220119_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-2bf47b4d', 'hca_prod_d138a1147df54f7d9ff1f79dfd2d428f__20220606_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-fdb31a8e', 'hca_prod_d6225aee8f0e4b20a20c682509a9ea14__20220213_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-9f65205b', 'hca_prod_d71c76d336704774a9cf034249d37c60__20220213_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-94746fdf', 'hca_prod_d7845650f6b14b1cb2fec0795416ba7b__20220119_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-29fbe41f', 'hca_prod_d8ae869c39c24cddb3fc2d0d8f60e7b8__20230313_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-225f8649', 'hca_prod_da9d6f243bdf4eaa9e3ff47ce2a65b36__20220729_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-fc1febb7', 'hca_prod_daa371e81ec343ef924f896d901eab6f__20220519_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-6d15b6d0', 'hca_prod_daf9d9827ce643f6ab51272577290606__20220119_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-cf5ce794', 'hca_prod_dbcd4b1d31bd4eb594e150e8706fa192__20220119_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-a44da434', 'hca_prod_dc1a41f69e0942a6959e3be23db6da56__20220119_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-c3eee222', 'hca_prod_dcbb50d19acf4f709fdab1f63a948c49__20221101_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-5ba86b6e', 'hca_prod_dd7ada843f144765b7ce9b64642bb3dc__20220212_dcp2_20230314_dcp25', pop), # noqa E501 - mksrc('bigquery', 'datarepo-a4d35f23', 'hca_prod_dd7f24360c564709bd17e526bba4cc15__20220119_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-7882d448', 'hca_prod_e0c74c7a20a445059cf138dcdd23011b__20220119_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-cf662b44', 'hca_prod_e255b1c611434fa683a8528f15b41038__20220330_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-fc908765', 'hca_prod_e4b18cd28f15490db9f1d118aa067dc3__20221101_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-410d6eb1', 'hca_prod_e57dc176ab98446b90c289e0842152fd__20220119_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-d0d87d10', 'hca_prod_e6773550c1a6494986431a3154cf2670__20221208_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-4a7bcd86', 'hca_prod_e8808cc84ca0409680f2bba73600cba6__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-a8d7a228', 'hca_prod_e956e66aac8e483a963a0f92c7e5abfb__20230313_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-03f5da17', 'hca_prod_e993adcdd4ba4f889a05d1c05bdf0c45__20220606_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-aa5721d7', 'hca_prod_e9f36305d85744a393f0df4e6007dc97__20220519_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-1c07a6e4', 'hca_prod_ea9eec5a4fc24c5894d02fcb598732bc__20221208_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-f01e417c', 'hca_prod_ec6476ee294941f3947b8eef41d6d3ac__20220729_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-b1b215b9', 'hca_prod_ede2e0b46652464fabbc0b2d964a25a0__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-7bf9ffaf', 'hca_prod_ee166275f63a486481554df86c9de679__20230313_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-d9d4043e', 'hca_prod_ef1d9888fa8647a4bb720ab0f20f7004__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-4cca88b5', 'hca_prod_ef1e3497515e4bbe8d4c10161854b699__20220118_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-d7d0cebe', 'hca_prod_f29b124a85974862ae98ff3a0fd9033e__20220303_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-7949d5c1', 'hca_prod_f2fe82f044544d84b416a885f3121e59__20220119_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-10db03cf', 'hca_prod_f4d011ced1f548a4ab61ae14176e3a6e__20220519_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-2df3359d', 'hca_prod_fa3f460f4fb94cedb5488ba6a8ecae3f__20220330_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-7da03753', 'hca_prod_fc381e70df1b407d813152ab523270bd__20221208_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-c4cba2d7', 'hca_prod_fcaa53cdba574bfeaf9ceaa958f95c1a__20220906_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-fa96c6bd', 'hca_prod_fccd3f50cde247bf8972a293b5928aea__20220606_dcp2_20230314_dcp25'), - mksrc('bigquery', 'datarepo-289f5713', 'hca_prod_fde199d2a8414ed1aa65b9e0af8969b1__20220330_dcp2_20230314_dcp25'), - # @formatter:on -])) - -dcp26_sources = mkdict(dcp25_sources, 334, mkdelta([ - # @formatter:off - mksrc('bigquery', 'datarepo-37928b8f', 'hca_prod_2d4d89f2ebeb467cae60a3efc5e8d4ba__20230206_dcp2_20230331_dcp26'), - mksrc('bigquery', 'datarepo-96f28c63', 'hca_prod_615158205bb845d08d12f0850222ecf0__20221007_dcp2_20230314_dcp25', pop), # noqa E501 - mksrc('bigquery', 'datarepo-0d0c66d4', 'hca_prod_c281ab637b7d4bdfb7619b1baaa18f82__20230331_dcp2_20230331_dcp26'), - mksrc('bigquery', 'datarepo-b3b1e92f', 'hca_prod_c5b475f276b34a8e8465f3b69828fec3__20230331_dcp2_20230331_dcp26'), - mksrc('bigquery', 'datarepo-baa51c1d', 'hca_prod_cd9d6360ce38432197dff13c79e3cb84__20230206_dcp2_20230331_dcp26'), - mksrc('bigquery', 'datarepo-d0d87d10', 'hca_prod_e6773550c1a6494986431a3154cf2670__20221208_dcp2_20230314_dcp25', pop), # noqa E501 - mksrc('bigquery', 'datarepo-636717a5', 'hca_prod_f3825dfe990a431fb9719c26d39840db__20230331_dcp2_20230331_dcp26'), - # @formatter:on -])) - -dcp27_sources = mkdict(dcp26_sources, 350, mkdelta([ - mksrc('bigquery', 'datarepo-75b50ae7', 'hca_prod_04e4292cf62f4098ae9bfd69ae002a90__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-d2f36342', 'hca_prod_0751843070314bdfa3ce1bf0917a1923__20221208_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-26882f0f', 'hca_prod_07d5987e7f9e4f34b0fba185a35504f5__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-c89e2c59', 'hca_prod_1fac187b1c3f41c4b6b66a9a8c0489d1__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-87be288c', 'hca_prod_30dc396411354b56b393ce2dcbc6e379__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-c4141b50', 'hca_prod_3ce9ae94c469419a96375d138a4e642f__20230201_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-4064f470', 'hca_prod_40272c3b46974bd4ba3f82fa96b9bf71__20220303_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-94eb2b77', 'hca_prod_4627f43ea43f44dd8c4b7efddb3f296d__20230501_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-e3915cae', 'hca_prod_4f4f0193ede84a828cb07a0a22f06e63__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-a498b8c7', 'hca_prod_50154d1e230844bf960810c7afaa560b__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-f800a6a6', 'hca_prod_566d00b0e1f84b929cbd57de9fad0050__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-bf159952', 'hca_prod_5f44a860d96e4a99b67e24e1b8ccfd26__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-319b1c54', 'hca_prod_6e1771950ac0468b99a287de96dc9db4__20230503_dcp2_20230503_dcp27'), - mksrc('bigquery', 'datarepo-7eec55b7', 'hca_prod_77c13c40a5984036807fbe09209ec2dd__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-daba93c4', 'hca_prod_7c5990297a3c4b5c8e79e72c9a9a65fe__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-2431c03c', 'hca_prod_aa55000c016848d890262d3a76ec8af3__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-e2b50763', 'hca_prod_c844538b88544a95bd01aacbaf86d97f__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-37a0e19e', 'hca_prod_dc0b65b0771346f0a3390b03ea786046__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-cc43a54a', 'hca_prod_e090445c69714212bc5fae4ec3914102__20230427_dcp2_20230501_dcp27'), - mksrc('bigquery', 'datarepo-054ea5fa', 'hca_prod_f6133d2a9f3d4ef99c19c23d6c7e6cc0__20220119_dcp2_20230501_dcp27'), -])) - -dcp28_sources = mkdict(dcp27_sources, 364, mkdelta([ - mksrc('bigquery', 'datarepo-60acbcdf', 'hca_prod_111d272bc25a49ac9b25e062b70d66e0__20230530_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-7ef68d1b', 'hca_prod_272b760266cd4b02a86b2b7c9c51a9ea__20230526_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-db922a93', 'hca_prod_29b5416534ee4da5b257b4c1f7343656__20230530_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-6985b629', 'hca_prod_57a2c2deb0d4465abe53a41e59e75fab__20230526_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-131b24da', 'hca_prod_77423e580fbb495a9ec2bd9a8010f21d__20230526_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-6a3a84b5', 'hca_prod_842605c7375a47c59e2ca71c2c00fcad__20220117_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-e3af5c43', 'hca_prod_8b954fb2bccb44c584e39f91e9189c40__20230526_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-bb339f80', 'hca_prod_92afaa56d501481ea027dddd72212ba8__20230526_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-f4518d09', 'hca_prod_9746f4e0d3b2454389b310288162851b__20230526_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-0ea3a03c', 'hca_prod_a4f154f85cc940b5b8d7af90afce8a8f__20230526_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-a5f69eaf', 'hca_prod_ae62bb3155ca4127b0fbb1771a604645__20230313_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-72f08c60', 'hca_prod_c3354786c17c4e53b4d7c7afbed5b208__20230526_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-d2e866b8', 'hca_prod_cae461deecbd482fa5d411d607fc12ba__20230526_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-30f2f8b0', 'hca_prod_e6773550c1a6494986431a3154cf2670__20221208_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-c3fad823', 'hca_prod_e925633fabd9486a81c61a6a66891d23__20230526_dcp2_20230530_dcp28'), - mksrc('bigquery', 'datarepo-9176f1e6', 'hca_prod_fae72d894ac44aab9b93574775e168d4__20230530_dcp2_20230530_dcp28') -])) - -dcp29_sources = mkdict(dcp28_sources, 386, mkdelta([ - mksrc('bigquery', 'datarepo-a066b1d5', 'hca_prod_01aacb6840764fd99eb9aba0f48c1b5a__20230616_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-36015bab', 'hca_prod_0d737cce1c1c493a8e2eb00143bccc12__20230616_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-34ba456a', 'hca_prod_0efecd202b524e4f96c59b4b94158713__20230614_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-7ab77437', 'hca_prod_16e9915978bc44aab47955a5e903bf50__20221101_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-cac974a7', 'hca_prod_1c4cbdd433e34dedab435958de817123__20230614_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-e13ec32c', 'hca_prod_2973a42cf81048129a235bbc9644588d__20230614_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-780b7376', 'hca_prod_2caedc30c8164b99a237b9f3b458c8e5__20230614_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-27e5c5cf', 'hca_prod_2d559a6e7cd9432f9f6e0e4df03b0888__20230614_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-340d69da', 'hca_prod_3d49e5e5976f44cbb6b9079016c31c56__20230614_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-6c9af5df', 'hca_prod_457d0bfe79e443f1be5d83bf080d809e__20230616_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-8d3a1856', 'hca_prod_5a54c6170eed486e8c1a8a8041fc1729__20230616_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-3b876136', 'hca_prod_5f607e50ba224598b1e9f3d9d7a35dcc__20230201_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-4c3d24fa', 'hca_prod_615158205bb845d08d12f0850222ecf0__20221007_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-2eac2e30', 'hca_prod_65cbfea55c544255a1d014549a86a5c1__20230616_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-2987dba5', 'hca_prod_73011a86475548ac9f70a28903b4ad77__20230616_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-a0198d42', 'hca_prod_92892ab213344b1c976114f5a73548ea__20230616_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-3525d30e', 'hca_prod_9c20a245f2c043ae82c92232ec6b594f__20220212_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-a03549fc', 'hca_prod_9f17ed7d93254723a120b00e48db20c0__20230614_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-76e3e0fa', 'hca_prod_b208466a6fb043858cfb8e03ff6b939e__20230616_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-32c91a7f', 'hca_prod_b91c623b19454727b1670a93027b0d3f__20230616_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-41efd06c', 'hca_prod_bc5512cc95444aa48b758af445ee2257__20230614_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-3ed34ae5', 'hca_prod_cea413af79b34f118b48383fe9a65fbe__20230614_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-4d68a94d', 'hca_prod_da74b50760ee4dd1bd02807bb051a337__20230614_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-72424b3d', 'hca_prod_e5fe827437694d7daa356d33c226ab43__20230616_dcp2_20230616_dcp29'), - mksrc('bigquery', 'datarepo-0e1a9ef4', 'hca_prod_f0f89c1474604bab9d4222228a91f185__20220119_dcp2_20230616_dcp29'), -])) - -dcp30_sources = mkdict(dcp29_sources, 391, mkdelta([ - mksrc('bigquery', 'datarepo-664081d7', 'hca_prod_07073c1280064710a00b23abdb814904__20220107_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-b58dd635', 'hca_prod_1c6a960d52ac44eab728a59c7ab9dc8e__20220110_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-db2290d3', 'hca_prod_1cd1f41ff81a486ba05b66ec60f81dcf__20220107_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-bb040c00', 'hca_prod_1eba4d0b2d154ba7bb3cd4654dd94519__20230815_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-3c37eadf', 'hca_prod_23587fb31a4a4f58ad74cc9a4cb4c254__20220111_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-f259cc76', 'hca_prod_279f176633194e3c9f996fb59ba9b3e5__20230815_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-b5f40aa1', 'hca_prod_31887183a72c43089eacc6140313f39c__20220111_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-f1f04670', 'hca_prod_41fb1734a121461695c73b732c9433c7__20220113_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-1c267fa5', 'hca_prod_4a95101c9ffc4f30a809f04518a23803__20220113_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-9ec63340', 'hca_prod_51f02950ee254f4b8d0759aa99bb3498__20220117_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-1188524b', 'hca_prod_520afa10f9d24e93ab7a26c4c863ce18__20220117_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-c35a61eb', 'hca_prod_559bb888782941f2ace52c05c7eb81e9__20220117_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-1840929b', 'hca_prod_7027adc6c9c946f384ee9badc3a4f53b__20220117_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-019a64bb', 'hca_prod_739ef78aba5d4487a0139982db66d222__20230815_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-e0eccf2a', 'hca_prod_74493e9844fc48b0a58fcc7e77268b59__20220117_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-ccee34ca', 'hca_prod_783c9952a4ae4106a6ce56f20ce27f88__20220117_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-5dd80f6c', 'hca_prod_8f1f653d3ea14d8eb4a7b97dc852c2b1__20230815_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-6f3c6cc2', 'hca_prod_92afaa56d501481ea027dddd72212ba8__20230526_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-41c736b4', 'hca_prod_996120f9e84f409fa01e732ab58ca8b9__20220118_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-bdbe74eb', 'hca_prod_b208466a6fb043858cfb8e03ff6b939e__20230616_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-20f3401b', 'hca_prod_b4a7d12f6c2f40a39e359756997857e3__20220118_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-47aed999', 'hca_prod_c893cb575c9f4f26931221b85be84313__20220118_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-e7b395be', 'hca_prod_ccef38d7aa9240109621c4c7b1182647__20220118_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-b11d40e9', 'hca_prod_d3a4ceac4d66498497042570c0647a56__20220119_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-c47b01c5', 'hca_prod_d8ae869c39c24cddb3fc2d0d8f60e7b8__20230313_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-a2b3ca2a', 'hca_prod_efea6426510a4b609a19277e52bfa815__20220118_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-6f4f0e4f', 'hca_prod_f7b464770f2a4bffa9b7719e000499a3__20230815_dcp2_20230815_dcp30'), - mksrc('bigquery', 'datarepo-80208d02', 'hca_prod_f86f1ab41fbb4510ae353ffd752d4dfc__20220119_dcp2_20230815_dcp30'), -])) - -dcp31_sources = mkdict(dcp30_sources, 399, mkdelta([ - mksrc('bigquery', 'datarepo-36295e0b', 'hca_prod_0911cc0406d64ffc8318b90b0039e8ad__20230905_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-83dafa1a', 'hca_prod_279f176633194e3c9f996fb59ba9b3e5__20230815_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-789ec382', 'hca_prod_326b36bd0975475f983b56ddb8f73a4d__20230905_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-b68fee1b', 'hca_prod_3e92c74d256c40cd927316f155da8342__20220729_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-d8916247', 'hca_prod_453d7ee2319f496c986299d397870b63__20230905_dcp2_20230906_dcp31'), - mksrc('bigquery', 'datarepo-7ad0a304', 'hca_prod_4ef86852aca04a9185229968e0e54dbe__20230313_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-18691416', 'hca_prod_51f02950ee254f4b8d0759aa99bb3498__20220117_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-d6c0be70', 'hca_prod_577c946d6de54b55a854cd3fde40bff2__20220117_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-3352a319', 'hca_prod_6936da41369246bbbca1cd0f507991e9__20230905_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-ff7365d6', 'hca_prod_739ef78aba5d4487a0139982db66d222__20230815_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-517878d7', 'hca_prod_7dcffc327c8243969a4f88b5579bfe8a__20230905_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-088b9165', 'hca_prod_7f9766ffbb124279b34078d140bdd7ba__20230905_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-4450b12b', 'hca_prod_92892ab213344b1c976114f5a73548ea__20230616_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-f305a966', 'hca_prod_9746f4e0d3b2454389b310288162851b__20230526_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-6a51c34a', 'hca_prod_e374c1cf73fd4a7a866979dc41714984__20230905_dcp2_20230905_dcp31'), - mksrc('bigquery', 'datarepo-2abbf49d', 'hca_prod_e456c042f6b64ceca3381a8ef80bd779__20230905_dcp2_20230905_dcp31'), -])) - -dcp32_sources = mkdict(dcp31_sources, 405, mkdelta([ - # @formatter:off - mksrc('bigquery', 'datarepo-6885133e', 'hca_prod_0792db3480474e62802c9177c9cd8e28__20220107_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-03b554f8', 'hca_prod_0911cc0406d64ffc8318b90b0039e8ad__20230905_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-a5249352', 'hca_prod_279f176633194e3c9f996fb59ba9b3e5__20230815_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-e676a270', 'hca_prod_2a72a4e566b2405abb7c1e463e8febb0__20220111_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-720eb4d9', 'hca_prod_31887183a72c43089eacc6140313f39c__20220111_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-8c4f04c0', 'hca_prod_326b36bd0975475f983b56ddb8f73a4d__20230905_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-9f296da3', 'hca_prod_376a7f55b8764f609cf3ed7bc83d5415__20220111_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-223a067e', 'hca_prod_3e92c74d256c40cd927316f155da8342__20220729_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-f053f0b1', 'hca_prod_421bc6cdbbb44398ac60a32ea94f02ae__20230929_dcp2_20231003_dcp32'), - mksrc('bigquery', 'datarepo-7221e50b', 'hca_prod_453d7ee2319f496c986299d397870b63__20230905_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-262093aa', 'hca_prod_48f60534ba4e45bcaa5b6d3a6c45962e__20230929_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-129b6bcc', 'hca_prod_4a95101c9ffc4f30a809f04518a23803__20220113_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-85e28021', 'hca_prod_4ef86852aca04a9185229968e0e54dbe__20230313_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-ad300086', 'hca_prod_50154d1e230844bf960810c7afaa560b__20230427_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-6d4f90e5', 'hca_prod_51f02950ee254f4b8d0759aa99bb3498__20220117_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-d13e36e7', 'hca_prod_53c53cd481274e12bc7f8fe1610a715c__20220117_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-0287a0ba', 'hca_prod_577c946d6de54b55a854cd3fde40bff2__20220117_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-4d2eebce', 'hca_prod_5a54c6170eed486e8c1a8a8041fc1729__20230616_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-2917ceb6', 'hca_prod_5b3285614a9740acb7ad6a90fc59d374__20220117_dcp2_20230314_dcp25', pop), # noqa E501 - mksrc('bigquery', 'datarepo-069ac8d2', 'hca_prod_67a3de0945b949c3a068ff4665daa50e__20220117_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-7be1db07', 'hca_prod_6936da41369246bbbca1cd0f507991e9__20230905_dcp2_20231003_dcp32'), - mksrc('bigquery', 'datarepo-b59acd40', 'hca_prod_72ff481856924bbc8886e47763531023__20230929_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-a2f56dc5', 'hca_prod_739ef78aba5d4487a0139982db66d222__20230815_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-114ecc76', 'hca_prod_74e2ef9d7c9f418cb2817fb38f3b1571__20220906_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-87452786', 'hca_prod_7dcffc327c8243969a4f88b5579bfe8a__20230905_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-c844e919', 'hca_prod_bfaedc29fe844e72a46175dc8aabbd1b__20230929_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-46a39a89', 'hca_prod_c412be53cf9547c7980cc0a0caa2d3a0__20230929_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-89205d73', 'hca_prod_cfece4d2f18d44ada46a42bbcb5cb3b7__20230929_dcp2_20231002_dcp32'), - mksrc('bigquery', 'datarepo-48284a59', 'hca_prod_dcc28fb37bab48cebc4b684c00e133ce__20230905_dcp2_20231002_dcp32'), - # @formatter:on -])) - -dcp33_sources = mkdict(dcp32_sources, 412, mkdelta([ - mksrc('bigquery', 'datarepo-fe1f8660', 'hca_prod_0d737cce1c1c493a8e2eb00143bccc12__20230616_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-46bbfa8a', 'hca_prod_16e9915978bc44aab47955a5e903bf50__20221101_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-d5d4057a', 'hca_prod_1c5eaabf075b4b7aa9e607792c2034b3__20231101_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-b64e953d', 'hca_prod_1ffa222328a64133a5a4badd00faf4bc__20231101_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-ca76b840', 'hca_prod_21ea8ddb525f4f1fa82031f0360399a2__20220111_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-a0ffb40f', 'hca_prod_2af52a1365cb4973b51339be38f2df3f__20220111_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-526f3da5', 'hca_prod_3d49e5e5976f44cbb6b9079016c31c56__20230614_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-766c30b1', 'hca_prod_4ef86852aca04a9185229968e0e54dbe__20230313_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-08e00b61', 'hca_prod_5bd01deb01ee46118efdcf0ec5f56ac4__20231101_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-70ee98ab', 'hca_prod_645b20c95ed0450086b57aef770d010a__20230929_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-2e06a188', 'hca_prod_73011a86475548ac9f70a28903b4ad77__20230616_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-76a818d4', 'hca_prod_7f9766ffbb124279b34078d140bdd7ba__20230905_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-2bb1dd84', 'hca_prod_849ed38c591743c4a8f90782241cf10c__20231101_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-11a44864', 'hca_prod_8a666b76daaf4b1f9414e4807a1d1e8b__20220630_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-4bc03f16', 'hca_prod_91674dcf864140e6978dc1706feffba8__20231101_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-0b11f34c', 'hca_prod_94023a08611d4f22a8c990956e091b2e__20220118_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-bc7bde81', 'hca_prod_95f07e6e6a734e1ba880c83996b3aa5c__20220118_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-69bbc337', 'hca_prod_9c20a245f2c043ae82c92232ec6b594f__20220212_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-55e4f61e', 'hca_prod_9f17ed7d93254723a120b00e48db20c0__20230614_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-7f36ef82', 'hca_prod_cc35f94ee93b4dbda08c702978d9046f__20231101_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-3ad8245f', 'hca_prod_da74b50760ee4dd1bd02807bb051a337__20230614_dcp2_20231102_dcp33'), - mksrc('bigquery', 'datarepo-5f867d37', 'hca_prod_dbd836cfbfc241f0983441cc6c0b235a__20220212_dcp2_20231102_dcp33') -])) - -dcp34_sources = mkdict(dcp33_sources, 427, mkdelta([ - mksrc('bigquery', 'datarepo-a2f2ced7', 'hca_prod_08fb10df32e5456c9882e33fcd49077a__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-cd738b8d', 'hca_prod_10a845f7036146fa92a32a36483136b1__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-6fec2801', 'hca_prod_1538d572bcb7426b8d2c84f3a7f87bb0__20220630_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-05ece841', 'hca_prod_1dd552a5eb4f4b9280887224bcbd0629__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-1d8f9fa4', 'hca_prod_2184e63d82d84ab2839ee93f8395f568__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-64f7ba3d', 'hca_prod_222a92d5277b489caad8a680d1fd2b12__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-5f2ddddc', 'hca_prod_272b760266cd4b02a86b2b7c9c51a9ea__20230526_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-3dbccc52', 'hca_prod_2f67614380c24bc6b7b42613fe0fadf0__20220111_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-078dbc55', 'hca_prod_34c9a62ca6104e31b3438fb7be676f8c__20221101_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-a0115d6e', 'hca_prod_3cfcdff5dee14a7ba591c09c6e850b11__20220112_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-66dbe882', 'hca_prod_415eb773cadb43d1ab897d160d5cfc7d__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-37f63790', 'hca_prod_58028aa80ed249cab60f15e2ed5989d5__20220117_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-9f64fc88', 'hca_prod_581de139461f4875b40856453a9082c7__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-78a292c4', 'hca_prod_5b910a437fb54ea7b9d643dbd1bf2776__20220729_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-84d96baf', 'hca_prod_65cbfea55c544255a1d014549a86a5c1__20230616_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-96cc1349', 'hca_prod_6735ff731a04422eb500730202e46f8a__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-e8198e31', 'hca_prod_6874b7eb344547ec877375141430e169__20231213_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-43f096b1', 'hca_prod_77dedd59137648879bcadc42b56d5b7a__20230201_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-594e57c3', 'hca_prod_78b2406dbff246fc8b6120690e602227__20220117_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-13c1e76b', 'hca_prod_8185730f411340d39cc3929271784c2b__20220117_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-10cff382', 'hca_prod_849ed38c591743c4a8f90782241cf10c__20231101_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-77cc3acc', 'hca_prod_8559a8ed5d8c4fb6bde8ab639cebf03c__20220118_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-af50b124', 'hca_prod_85c0d6faf1174d76b01a5d5e8f5f9188__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-40731b27', 'hca_prod_894ae6ac5b4841a8a72f315a9b60a62e__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-e7931a4c', 'hca_prod_925f9a4ccac0444aad2c612656ab3a85__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-96344c2b', 'hca_prod_957261f72bd64358a6ed24ee080d5cfc__20220330_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-7f53a7f2', 'hca_prod_abe1a013af7a45ed8c26f3793c24a1f4__20220118_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-1e2e46c4', 'hca_prod_bfaedc29fe844e72a46175dc8aabbd1b__20230929_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-2901e79b', 'hca_prod_c05184453b3b49c6b8fcc41daa4eacba__20220213_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-5b1e55df', 'hca_prod_c16a754f5da346ed8c1e6426af2ef625__20220519_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-94d17e05', 'hca_prod_c1a9a93dd9de4e659619a9cec1052eaa__20220118_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-d12842d9', 'hca_prod_c4077b3c5c984d26a614246d12c2e5d7__20220118_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-abaa9315', 'hca_prod_c844538b88544a95bd01aacbaf86d97f__20230427_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-02709814', 'hca_prod_cbd3d2769f244af98381b11f6cdbdc4b__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-7da203ad', 'hca_prod_cfece4d2f18d44ada46a42bbcb5cb3b7__20230929_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-45fc3b21', 'hca_prod_da77bd0643ae4012a774e4d62797df51__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-0bc51bfc', 'hca_prod_daf9d9827ce643f6ab51272577290606__20220119_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-8ecfd261', 'hca_prod_e49e556ada5a442ab45c8691b457623e__20231212_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-99284b34', 'hca_prod_e526d91dcf3a44cb80c5fd7676b55a1d__20220119_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-88582dc4', 'hca_prod_ede2e0b46652464fabbc0b2d964a25a0__20220118_dcp2_20231213_dcp34'), - mksrc('bigquery', 'datarepo-145a904d', 'hca_prod_ef1e3497515e4bbe8d4c10161854b699__20220118_dcp2_20231213_dcp34') -])) - -dcp35_sources = mkdict(dcp34_sources, 438, mkdelta([ - mksrc('bigquery', 'datarepo-3b981d26', 'hca_prod_17cf943be247454f908bda58665fcc56__20240201_dcp2_20240206_dcp35'), - mksrc('bigquery', 'datarepo-2a225323', 'hca_prod_1dddae6e375348afb20efa22abad125d__20220213_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-a318416f', 'hca_prod_27e2e0ae59714927aac119e81804097b__20240201_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-3403e1a6', 'hca_prod_41fb1734a121461695c73b732c9433c7__20220113_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-f2e5bb83', 'hca_prod_4bec484dca7a47b48d488830e06ad6db__20220113_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-d9f05210', 'hca_prod_4f4f0193ede84a828cb07a0a22f06e63__20230427_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-ea22560e', 'hca_prod_6735ff731a04422eb500730202e46f8a__20231212_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-33c2177f', 'hca_prod_77780d5603c0481faade2038490cef9f__20220330_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-a8a3410a', 'hca_prod_7a8d45f1353b45088e8965a96785b167__20240201_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-d9783a5a', 'hca_prod_7bc1f14b5e644c7f86b023596b97e2aa__20240201_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-011b06f4', 'hca_prod_894ae6ac5b4841a8a72f315a9b60a62e__20231212_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-9a5c3a4a', 'hca_prod_896f377c8e88463e82b0b2a5409d6fe4__20240201_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-aef76795', 'hca_prod_902dc0437091445c9442d72e163b9879__20240201_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-dea71195', 'hca_prod_95f07e6e6a734e1ba880c83996b3aa5c__20220118_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-33ff6c5e', 'hca_prod_9a23ac2d93dd4bac9bb8040e6426db9d__20220906_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-060b0c69', 'hca_prod_a2a2f324cf24409ea859deaee871269c__20220330_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-5e526b40', 'hca_prod_aebc99a33151482a9709da6802617763__20240201_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-84148b68', 'hca_prod_aecfd908674c4d4eb36e0c1ceab02245__20231101_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-a31095ba', 'hca_prod_aff9c3cd6b844fc2abf2b9c0b3038277__20220330_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-9a93e11b', 'hca_prod_c302fe54d22d451fa130e24df3d6afca__20220606_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-6db90b39', 'hca_prod_c4077b3c5c984d26a614246d12c2e5d7__20220118_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-cc96a15f', 'hca_prod_c6ef0270eafc43bd8097c10020a03cfc__20240201_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-258d3043', 'hca_prod_c9e83418a9f04ed1ab4f56d9513417bf__20240201_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-faa23f13', 'hca_prod_e1fda2177ee14c1aadfa648279dafac6__20240201_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-87eefe3c', 'hca_prod_e255b1c611434fa683a8528f15b41038__20220330_dcp2_20240202_dcp35'), - mksrc('bigquery', 'datarepo-36bcfc7a', 'hca_prod_e9f36305d85744a393f0df4e6007dc97__20220519_dcp2_20240202_dcp35') -])) - -dcp36_sources = mkdict(dcp35_sources, 441, mkdelta([ - # @formatter:off - mksrc('bigquery', 'datarepo-e650c603', 'hca_prod_07d5987e7f9e4f34b0fba185a35504f5__20230427_dcp2_20240301_dcp36'), - mksrc('bigquery', 'datarepo-bac72cd7', 'hca_prod_116965f3f09447699d28ae675c1b569c__20220107_dcp2_20240301_dcp36'), - mksrc('bigquery', 'datarepo-4c496b01', 'hca_prod_28dd14388f4040d08e53ee3301b66218__20240301_dcp2_20240306_dcp36'), - mksrc('bigquery', 'datarepo-314aac18', 'hca_prod_377c35d193bf470c806708f954b269bd__20240301_dcp2_20240301_dcp36'), - mksrc('bigquery', 'datarepo-9f97463d', 'hca_prod_87f519b4886241f9acff75e823e0e430__20240301_dcp2_20240301_dcp36'), - mksrc('bigquery', 'datarepo-383230bf', 'hca_prod_9483c664d5464b309ba3efbdbf9290b4__20240301_dcp2_20240301_dcp36'), - mksrc('bigquery', 'datarepo-f0643a05', 'hca_prod_957261f72bd64358a6ed24ee080d5cfc__20220330_dcp2_20240301_dcp36'), - mksrc('bigquery', 'datarepo-72f08c60', 'hca_prod_c3354786c17c4e53b4d7c7afbed5b208__20230526_dcp2_20230530_dcp28', pop), # noqa E501 - mksrc('bigquery', 'datarepo-91076846', 'hca_prod_e090445c69714212bc5fae4ec3914102__20230427_dcp2_20240301_dcp36') - # @formatter:on -])) - -dcp37_sources = mkdict(dcp36_sources, 450, mkdelta([ - mksrc('bigquery', 'datarepo-e57afe2a', 'hca_prod_2079bb2e676e4bbf8c68f9c6459edcbb__20240327_dcp2_20240328_dcp37'), - mksrc('bigquery', 'datarepo-a37f1015', 'hca_prod_46a7e4bf04744a8f8d1843afcde90491__20240327_dcp2_20240328_dcp37'), - mksrc('bigquery', 'datarepo-3bb4aecc', 'hca_prod_4bcc16b57a4745bbb9c0be9d5336df2d__20240327_dcp2_20240328_dcp37'), - mksrc('bigquery', 'datarepo-cad8e8e7', 'hca_prod_581de139461f4875b40856453a9082c7__20231212_dcp2_20240328_dcp37'), - mksrc('bigquery', 'datarepo-27a37706', 'hca_prod_60109425a6e64be1a3bc15de680317d4__20240327_dcp2_20240328_dcp37'), - mksrc('bigquery', 'datarepo-03e157f1', 'hca_prod_6836c1e4906b4c34a11ccb025167896d__20240327_dcp2_20240328_dcp37'), - mksrc('bigquery', 'datarepo-a1e5fe66', 'hca_prod_69324a96a68a4514bbb4f8f3ea4bd0f1__20240327_dcp2_20240328_dcp37'), - mksrc('bigquery', 'datarepo-f9215b2b', 'hca_prod_750b455ae3cf472195818609a6c9d561__20240327_dcp2_20240328_dcp37'), - mksrc('bigquery', 'datarepo-d8e57f88', 'hca_prod_86fe0a0c88b34a3e94a16f9feadc401e__20240327_dcp2_20240328_dcp37'), - mksrc('bigquery', 'datarepo-f0498b78', 'hca_prod_902dc0437091445c9442d72e163b9879__20240201_dcp2_20240328_dcp37'), - mksrc('bigquery', 'datarepo-28635bac', 'hca_prod_aebc99a33151482a9709da6802617763__20240201_dcp2_20240328_dcp37'), - mksrc('bigquery', 'datarepo-6ac05956', 'hca_prod_c05184453b3b49c6b8fcc41daa4eacba__20220213_dcp2_20240328_dcp37'), - mksrc('bigquery', 'datarepo-86633e77', 'hca_prod_c0fecf0baf8641b8ba82d5fd81b7542a__20240301_dcp2_20240328_dcp37') -])) - -dcp38_sources = mkdict(dcp37_sources, 455, mkdelta([ - mksrc('bigquery', 'datarepo-316d4b45', 'hca_prod_1662accf0e0c48c493145aba063f2220__20240503_dcp2_20240508_dcp38'), - mksrc('bigquery', 'datarepo-126c9c22', 'hca_prod_bcdf233f92464c0c98430514120b7e3a__20240503_dcp2_20240508_dcp38'), - mksrc('bigquery', 'datarepo-cc6b2b4f', 'hca_prod_c05184453b3b49c6b8fcc41daa4eacba__20220213_dcp2_20240508_dcp38'), - mksrc('bigquery', 'datarepo-5292bdb6', 'hca_prod_ccc3b7861da0427fa45f76306d6143b6__20240503_dcp2_20240508_dcp38'), - mksrc('bigquery', 'datarepo-37460143', 'hca_prod_d5c91e922e7f473d8cf3ab03bbae21c2__20240503_dcp2_20240508_dcp38'), - mksrc('bigquery', 'datarepo-39884574', 'hca_prod_daef3fda262045aea3f71613814a35bf__20240503_dcp2_20240508_dcp38') -])) - -dcp39_sources = mkdict(dcp38_sources, 455, mkdelta([ - # @formatter:off - mksrc('bigquery', 'datarepo-31abbcbe', 'hca_prod_4a95101c9ffc4f30a809f04518a23803__20220113_dcp2_20240603_dcp39'), - mksrc('bigquery', 'datarepo-664a24cb', 'hca_prod_7c75f07c608d4c4aa1b7b13d11c0ad31__20220117_dcp2_20230314_dcp25', pop), # noqa E501 - mksrc('bigquery', 'datarepo-cd6f5afa', 'hca_prod_838d46603d624b08b32ddc5cbd93919d__20240531_dcp2_20240603_dcp39'), - mksrc('bigquery', 'datarepo-f6c258a6', 'hca_prod_9483c664d5464b309ba3efbdbf9290b4__20240301_dcp2_20240604_dcp39'), - mksrc('bigquery', 'datarepo-cf29bb39', 'hca_prod_f2078d5f2e7d48448552f7c41a231e52__20230201_dcp2_20240603_dcp39') - # @formatter:on -])) - -dcp40_sources = mkdict(dcp39_sources, 458, mkdelta([ - mksrc('bigquery', 'datarepo-7ff6ae27', 'hca_prod_005d611a14d54fbf846e571a1f874f70__20220111_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-083a593d', 'hca_prod_027c51c60719469fa7f5640fe57cbece__20220110_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-6e878a15', 'hca_prod_065e6c13ad6b46a38075c3137eb03068__20220213_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-d001eadd', 'hca_prod_102018327c7340339b653ef13d81656a__20220213_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-56a4f662', 'hca_prod_135f7f5c4a854bcf9f7c4f035ff1e428__20220729_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-b081c1a1', 'hca_prod_1538d572bcb7426b8d2c84f3a7f87bb0__20220630_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-0c56d5cc', 'hca_prod_16dc40f92c1342e38cdf251e95bfc043__20240708_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-2f17d9dd', 'hca_prod_16ed4ad8731946b288596fe1c1d73a82__20220111_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-98b77527', 'hca_prod_1c6a960d52ac44eab728a59c7ab9dc8e__20220110_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-8c31fd19', 'hca_prod_2d4d89f2ebeb467cae60a3efc5e8d4ba__20230206_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-5feaa5ad', 'hca_prod_31887183a72c43089eacc6140313f39c__20220111_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-c094bcbc', 'hca_prod_40272c3b46974bd4ba3f82fa96b9bf71__20220303_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-d72f8298', 'hca_prod_425c2759db664c93a358a562c069b1f1__20220519_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-496892e7', 'hca_prod_4a95101c9ffc4f30a809f04518a23803__20220113_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-1f66dc6c', 'hca_prod_4bec484dca7a47b48d488830e06ad6db__20220113_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-3b468668', 'hca_prod_4d6f6c962a8343d88fe10f53bffd4674__20220113_dcp2_20240712_dcp40'), - mksrc('bigquery', 'datarepo-03fca13b', 'hca_prod_50151324f3ed435898afec352a940a61__20220113_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-bfba7263', 'hca_prod_51f02950ee254f4b8d0759aa99bb3498__20220117_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-af6e91dc', 'hca_prod_577c946d6de54b55a854cd3fde40bff2__20220117_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-1a5200cb', 'hca_prod_86fd2521c5014e41841c06d79277bb7c__20240708_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-436c5a47', 'hca_prod_99101928d9b14aafb759e97958ac7403__20220118_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-e10ecf5f', 'hca_prod_a83b7f45bfb14c6a97e98e3370065cc1__20240708_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-028b06ac', 'hca_prod_ad04c8e79b7d4cceb8e901e31da10b94__20220118_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-7c60076d', 'hca_prod_ae71be1dddd84feb9bed24c3ddb6e1ad__20220118_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-27cbfba4', 'hca_prod_b963bd4b4bc14404842569d74bc636b8__20220118_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-7345f02d', 'hca_prod_c16a754f5da346ed8c1e6426af2ef625__20220519_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-ed0b32a2', 'hca_prod_c1a9a93dd9de4e659619a9cec1052eaa__20220118_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-9e3eace2', 'hca_prod_c211fd49d9804ba18c6ac24254a3cb52__20220303_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-4db5785d', 'hca_prod_c4077b3c5c984d26a614246d12c2e5d7__20220118_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-325d0681', 'hca_prod_c5ca43aa3b2b42168eb3f57adcbc99a1__20220118_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-2e8307b5', 'hca_prod_c6ad8f9bd26a4811b2ba93d487978446__20220118_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-812cbdeb', 'hca_prod_cddab57b68684be4806f395ed9dd635a__20220118_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-d8cb1e24', 'hca_prod_d3446f0c30f34a12b7c36af877c7bb2d__20220119_dcp2_20240711_dcp40'), - mksrc('bigquery', 'datarepo-bde87024', 'hca_prod_dc0b65b0771346f0a3390b03ea786046__20230427_dcp2_20240711_dcp40') -])) - -dcp41_sources = mkdict(dcp40_sources, 462, mkdelta([ - mksrc('bigquery', 'datarepo-ed01025c', 'hca_prod_0cc58d0b17344e1d9113b32e52f75e36__20240531_dcp2_20240604_dcp39'), - mksrc('bigquery', 'datarepo-50b00aaf', 'hca_prod_2079bb2e676e4bbf8c68f9c6459edcbb__20240327_dcp2_20240807_dcp41'), - mksrc('bigquery', 'datarepo-32cb91ae', 'hca_prod_4bcc16b57a4745bbb9c0be9d5336df2d__20240327_dcp2_20240807_dcp41'), - mksrc('bigquery', 'datarepo-17cfd151', 'hca_prod_660fc8b58fb840508c57e6313195bc81__20240806_dcp2_20240807_dcp41'), - mksrc('bigquery', 'datarepo-cc9e8ac9', 'hca_prod_815c5ef50fb14eb798821d160362468e__20240806_dcp2_20240807_dcp41'), - mksrc('bigquery', 'datarepo-c2886bdd', 'hca_prod_838d46603d624b08b32ddc5cbd93919d__20240531_dcp2_20240807_dcp41'), - mksrc('bigquery', 'datarepo-832dbfa1', 'hca_prod_c16a754f5da346ed8c1e6426af2ef625__20220519_dcp2_20240807_dcp41'), - mksrc('bigquery', 'datarepo-65bb12f3', 'hca_prod_e870ab5635374b6da66f534fbf8cc57f__20240806_dcp2_20240807_dcp41') -])) - -dcp42_sources = mkdict(dcp41_sources, 470, mkdelta([ - # @formatter:off - mksrc('bigquery', 'datarepo-db22b6c5', 'hca_prod_19037ec943a74823b93f9e59c694d17e__20240903_dcp2_20240904_dcp42'), - mksrc('bigquery', 'datarepo-8e43554a', 'hca_prod_35d5b0573daf4ccd8112196194598893__20240903_dcp2_20240905_dcp42'), - mksrc('bigquery', 'datarepo-5b6ac433', 'hca_prod_5f1a1aee6c484dd4a2c4eb4ca6aadf74__20240903_dcp2_20240904_dcp42'), - mksrc('bigquery', 'datarepo-d5e4c41e', 'hca_prod_7c75f07c608d4c4aa1b7b13d11c0ad31__20220117_dcp2_20240904_dcp42'), - mksrc('bigquery', 'datarepo-eb6182b7', 'hca_prod_888f17664c8443bb8717b5f9d2046097__20240903_dcp2_20240904_dcp42'), - mksrc('bigquery', 'datarepo-b9e1d9ec', 'hca_prod_9dd91b6e7c6249d3a3d474f603deffdb__20240903_dcp2_20240904_dcp42'), - mksrc('bigquery', 'datarepo-582bf509', 'hca_prod_b176d75662d8493383a48b026380262f__20240903_dcp2_20240904_dcp42'), - mksrc('bigquery', 'datarepo-c85d293d', 'hca_prod_f598aee0d269403690e9d6d5b1c84429__20240903_dcp2_20240904_dcp42') - # @formatter:on -])) - -dcp43_sources = mkdict(dcp42_sources, 475, mkdelta([ - # @formatter:off - mksrc('bigquery', 'datarepo-ac7cee91', 'hca_prod_087efc3c26014de6bbe90114593050d1__20241004_dcp2_20241007_dcp43'), - mksrc('bigquery', 'datarepo-65c49269', 'hca_prod_2ef3655a973d4d699b4121fa4041eed7__20220111_dcp2_20241004_dcp43'), - mksrc('bigquery', 'datarepo-456691e5', 'hca_prod_3627473eb6d645c987b5b9f12ce57a10__20241004_dcp2_20241007_dcp43'), - mksrc('bigquery', 'datarepo-c577eed5', 'hca_prod_7f351a4cd24c4fcd9040f79071b097d0__20220906_dcp2_20241004_dcp43'), - mksrc('bigquery', 'datarepo-1dbd3c50', 'hca_prod_ae9f439bbd474d6ebd7232dc70b35d97__20241004_dcp2_20241004_dcp43'), - mksrc('bigquery', 'datarepo-21d1f89b', 'hca_prod_b39381584e8d4fdb9e139e94270dde16__20241004_dcp2_20241004_dcp43'), - mksrc('bigquery', 'datarepo-550c8f98', 'hca_prod_c3dd819dabab4957b20988f1e0900368__20241004_dcp2_20241004_dcp43'), - mksrc('bigquery', 'datarepo-06a00830', 'hca_prod_c5ca43aa3b2b42168eb3f57adcbc99a1__20220118_dcp2_20241004_dcp43') - # @formatter:on -])) - -dcp44_sources = mkdict(dcp43_sources, 478, mkdelta([ - # @formatter:off - mksrc('bigquery', 'datarepo-a4cd7c7b', 'hca_prod_027c51c60719469fa7f5640fe57cbece__20220110_dcp2_20241112_dcp44'), - mksrc('bigquery', 'datarepo-f491f2ec', 'hca_prod_065e6c13ad6b46a38075c3137eb03068__20220213_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-c107c54b', 'hca_prod_07d5987e7f9e4f34b0fba185a35504f5__20230427_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-1544f53f', 'hca_prod_08fb10df32e5456c9882e33fcd49077a__20231212_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-285e7eaf', 'hca_prod_0cc58d0b17344e1d9113b32e52f75e36__20240531_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-7d484792', 'hca_prod_102018327c7340339b653ef13d81656a__20220213_dcp2_20241115_dcp44'), - mksrc('bigquery', 'datarepo-a6b52720', 'hca_prod_10a845f7036146fa92a32a36483136b1__20231212_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-5d2b40af', 'hca_prod_111d272bc25a49ac9b25e062b70d66e0__20230530_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-7f01a691', 'hca_prod_12f320548f184dae8959bfce7e3108e7__20230201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-9312f848', 'hca_prod_135f7f5c4a854bcf9f7c4f035ff1e428__20220729_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-92a43732', 'hca_prod_1538d572bcb7426b8d2c84f3a7f87bb0__20220630_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-285944ef', 'hca_prod_17cf943be247454f908bda58665fcc56__20240201_dcp2_20241115_dcp44'), - mksrc('bigquery', 'datarepo-acd73a95', 'hca_prod_1c4cbdd433e34dedab435958de817123__20230614_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-81029e95', 'hca_prod_1c6a960d52ac44eab728a59c7ab9dc8e__20220110_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-9966e606', 'hca_prod_1dd552a5eb4f4b9280887224bcbd0629__20231212_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-6bb2f7dc', 'hca_prod_1dddae6e375348afb20efa22abad125d__20220213_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-052b303a', 'hca_prod_1eba4d0b2d154ba7bb3cd4654dd94519__20230815_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-9817de52', 'hca_prod_2184e63d82d84ab2839ee93f8395f568__20231212_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-e03d3225', 'hca_prod_222a92d5277b489caad8a680d1fd2b12__20231212_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-d5cbd84c', 'hca_prod_235092021e3c49598a459c5b642a1066__20230313_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-6529cd88', 'hca_prod_24d0dbbc54eb49048141934d26f1c936__20220303_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-7f2e151b', 'hca_prod_27e2e0ae59714927aac119e81804097b__20240201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-1bbc6412', 'hca_prod_28dd14388f4040d08e53ee3301b66218__20240301_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-65288d14', 'hca_prod_29b5416534ee4da5b257b4c1f7343656__20230530_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-df397f52', 'hca_prod_2caedc30c8164b99a237b9f3b458c8e5__20230614_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-52af9737', 'hca_prod_2d4d89f2ebeb467cae60a3efc5e8d4ba__20230206_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-5b3c92c1', 'hca_prod_2ef3655a973d4d699b4121fa4041eed7__20220111_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-bdf9501b', 'hca_prod_2fe3c60bac1a4c619b59f6556c0fce63__20220606_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-e1452566', 'hca_prod_3089d311f9ed44ddbb10397059bad4dc__20220111_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-e8d32f19', 'hca_prod_30dc396411354b56b393ce2dcbc6e379__20230427_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-bfcbd18f', 'hca_prod_31887183a72c43089eacc6140313f39c__20220111_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-a26a6e31', 'hca_prod_3373e59c525f4a838c9cd8b280454697__20241104_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-c6ed9e98', 'hca_prod_35d5b0573daf4ccd8112196194598893__20240903_dcp2_20241118_dcp44'), - mksrc('bigquery', 'datarepo-dc8f8d03', 'hca_prod_377c35d193bf470c806708f954b269bd__20240301_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-23475197', 'hca_prod_3ce9ae94c469419a96375d138a4e642f__20230201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-7479ecb2', 'hca_prod_40272c3b46974bd4ba3f82fa96b9bf71__20220303_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-2d8292ac', 'hca_prod_415eb773cadb43d1ab897d160d5cfc7d__20231212_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-f6668a9c', 'hca_prod_425c2759db664c93a358a562c069b1f1__20220519_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-6c0c74f9', 'hca_prod_453d7ee2319f496c986299d397870b63__20230905_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-a2e83020', 'hca_prod_457d0bfe79e443f1be5d83bf080d809e__20230616_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-46ccc1c1', 'hca_prod_46a7e4bf04744a8f8d1843afcde90491__20240327_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-a1a1c788', 'hca_prod_4bec484dca7a47b48d488830e06ad6db__20220113_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-64d19b39', 'hca_prod_4c8e9d75d85a47de959806549cf44b91__20241104_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-3b02f77f', 'hca_prod_4d6f6c962a8343d88fe10f53bffd4674__20220113_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-3770b6e0', 'hca_prod_4f4f0193ede84a828cb07a0a22f06e63__20230427_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-538dafe5', 'hca_prod_50151324f3ed435898afec352a940a61__20220113_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-acb1f8c3', 'hca_prod_50154d1e230844bf960810c7afaa560b__20230427_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-517d86dc', 'hca_prod_51f02950ee254f4b8d0759aa99bb3498__20220117_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-1b8e989c', 'hca_prod_58028aa80ed249cab60f15e2ed5989d5__20220117_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-29937178', 'hca_prod_5a54c6170eed486e8c1a8a8041fc1729__20230616_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-4554e0e3', 'hca_prod_5f1a1aee6c484dd4a2c4eb4ca6aadf74__20240903_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-e255bf81', 'hca_prod_5f607e50ba224598b1e9f3d9d7a35dcc__20230201_dcp2_20241115_dcp44'), - mksrc('bigquery', 'datarepo-4383dd44', 'hca_prod_60109425a6e64be1a3bc15de680317d4__20240327_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-3689cbc4', 'hca_prod_60ea42e1af4942f58164d641fdb696bc__20220117_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-f2c9e5bf', 'hca_prod_615158205bb845d08d12f0850222ecf0__20221007_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-9b1ffe66', 'hca_prod_645b20c95ed0450086b57aef770d010a__20230929_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-fe3604ca', 'hca_prod_660fc8b58fb840508c57e6313195bc81__20240806_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-fe39b414', 'hca_prod_66d7d92ad6c5492c815bf81c7c93c984__20220906_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-b0222171', 'hca_prod_6836c1e4906b4c34a11ccb025167896d__20240327_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-5107f4a2', 'hca_prod_6874b7eb344547ec877375141430e169__20231213_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-a1a451e6', 'hca_prod_69324a96a68a4514bbb4f8f3ea4bd0f1__20240327_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-80c360f9', 'hca_prod_6936da41369246bbbca1cd0f507991e9__20230905_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-3c354503', 'hca_prod_6ac8e777f9a04288b5b0446e8eba3078__20220303_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-c6da3d05', 'hca_prod_6e522b939b704f0c9990b9cff721251b__20230313_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-153c5b86', 'hca_prod_6f89a7f38d4a4344aa4feccfe7e91076__20220213_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-7d510074', 'hca_prod_73769e0a5fcd41f4908341ae08bfa4c1__20220330_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-1b612d2f', 'hca_prod_750b455ae3cf472195818609a6c9d561__20240327_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-ac75d2f9', 'hca_prod_769a08d1b8a44f1e95f76071a9827555__20220117_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-dce10d00', 'hca_prod_77c13c40a5984036807fbe09209ec2dd__20230427_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-18dc896d', 'hca_prod_783c9952a4ae4106a6ce56f20ce27f88__20220117_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-644c3917', 'hca_prod_7a8d45f1353b45088e8965a96785b167__20240201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-8d379d5d', 'hca_prod_7ac8822c4ef04194adf074290611b1c6__20220117_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-0ef114d8', 'hca_prod_7adede6a0ab745e69b67ffe7466bec1f__20220117_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-9c685691', 'hca_prod_7bc1f14b5e644c7f86b023596b97e2aa__20240201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-ae7a821e', 'hca_prod_7c5990297a3c4b5c8e79e72c9a9a65fe__20230427_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-91bd47d7', 'hca_prod_7f351a4cd24c4fcd9040f79071b097d0__20220906_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-a90007b2', 'hca_prod_8185730f411340d39cc3929271784c2b__20220117_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-baff1e7b', 'hca_prod_85c0d6faf1174d76b01a5d5e8f5f9188__20231212_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-4e239288', 'hca_prod_86fe0a0c88b34a3e94a16f9feadc401e__20240327_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-30f63e1c', 'hca_prod_87f519b4886241f9acff75e823e0e430__20240301_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-f391a682', 'hca_prod_888f17664c8443bb8717b5f9d2046097__20240903_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-5a9f99a9', 'hca_prod_894ae6ac5b4841a8a72f315a9b60a62e__20231212_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-cf1a6aa5', 'hca_prod_8b9cb6ae6a434e47b9fb3df7aeec941f__20220906_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-1c32d243', 'hca_prod_902dc0437091445c9442d72e163b9879__20240201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-346ec822', 'hca_prod_91674dcf864140e6978dc1706feffba8__20231101_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-4f521c22', 'hca_prod_923d323172954184b3f6c3082766a8c7__20220906_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-f8c1c1ea', 'hca_prod_925f9a4ccac0444aad2c612656ab3a85__20231212_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-11b5e221', 'hca_prod_92afaa56d501481ea027dddd72212ba8__20230526_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-5b5b0ae7', 'hca_prod_9483c664d5464b309ba3efbdbf9290b4__20240301_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-f6d99590', 'hca_prod_94e4ee099b4b410a84dca751ad36d0df__20220519_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-6b371ac5', 'hca_prod_957261f72bd64358a6ed24ee080d5cfc__20220330_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-ca228387', 'hca_prod_95d058bc9cec4c888d2c05b4a45bf24f__20230201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-08513423', 'hca_prod_95f07e6e6a734e1ba880c83996b3aa5c__20220118_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-02ac07f3', 'hca_prod_990d251f6dab4a98a2b66cfe7e4708b9__20221101_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-6adaba0e', 'hca_prod_99101928d9b14aafb759e97958ac7403__20220118_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-bd836b40', 'hca_prod_9b876d3107394e969846f76e6a427279__20220906_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-47e132f5', 'hca_prod_9bef1e81e5d94ece81cbab7449232021__20241104_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-8e2c06ed', 'hca_prod_9dd91b6e7c6249d3a3d474f603deffdb__20240903_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-b45fddfb', 'hca_prod_a4f154f85cc940b5b8d7af90afce8a8f__20230526_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-18b2a11c', 'hca_prod_ad04c8e79b7d4cceb8e901e31da10b94__20220118_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-950c161b', 'hca_prod_ae62bb3155ca4127b0fbb1771a604645__20230313_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-ca6f869a', 'hca_prod_ae71be1dddd84feb9bed24c3ddb6e1ad__20220118_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-168f955e', 'hca_prod_aebc99a33151482a9709da6802617763__20240201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-26751345', 'hca_prod_b176d75662d8493383a48b026380262f__20240903_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-4607bc00', 'hca_prod_b208466a6fb043858cfb8e03ff6b939e__20230616_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-6d0ddc88', 'hca_prod_b91c623b19454727b1670a93027b0d3f__20230616_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-49f33629', 'hca_prod_b963bd4b4bc14404842569d74bc636b8__20220118_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-8673c791', 'hca_prod_bc5512cc95444aa48b758af445ee2257__20230614_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-79899546', 'hca_prod_bcdf233f92464c0c98430514120b7e3a__20240503_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-f0f918aa', 'hca_prod_bd40033154b94fccbff66bb8b079ee1f__20220118_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-92f46628', 'hca_prod_c0fecf0baf8641b8ba82d5fd81b7542a__20240301_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-c0391f5d', 'hca_prod_c211fd49d9804ba18c6ac24254a3cb52__20220303_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-ea95f69b', 'hca_prod_c41dffbfad83447ca0e113e689d9b258__20220118_dcp2_20241112_dcp44'), - mksrc('bigquery', 'datarepo-ee90ca9d', 'hca_prod_c4e1136978d44d29ba8eb67907c4c65c__20220630_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-67c06dec', 'hca_prod_c5ca43aa3b2b42168eb3f57adcbc99a1__20220118_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-40e3cc19', 'hca_prod_c6ad8f9bd26a4811b2ba93d487978446__20220118_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-1373f076', 'hca_prod_c6ef0270eafc43bd8097c10020a03cfc__20240201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-aaf93620', 'hca_prod_c893cb575c9f4f26931221b85be84313__20220118_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-33089fb6', 'hca_prod_c9e83418a9f04ed1ab4f56d9513417bf__20240201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-5d94c9fa', 'hca_prod_cae461deecbd482fa5d411d607fc12ba__20230526_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-b96ab3a4', 'hca_prod_cbd2911f252b4428abde69e270aefdfc__20230201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-e139b9c0', 'hca_prod_cbd3d2769f244af98381b11f6cdbdc4b__20231212_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-a3e9f4f3', 'hca_prod_ccc3b7861da0427fa45f76306d6143b6__20240503_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-3eb0c0d8', 'hca_prod_cd61771b661a4e19b2696e5d95350de6__20220213_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-40f156cd', 'hca_prod_cdabcf0b76024abf9afb3b410e545703__20230201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-c2bf25d4', 'hca_prod_cddab57b68684be4806f395ed9dd635a__20220118_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-3bc1fca5', 'hca_prod_d3446f0c30f34a12b7c36af877c7bb2d__20220119_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-70f84f46', 'hca_prod_d8ae869c39c24cddb3fc2d0d8f60e7b8__20230313_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-daeda853', 'hca_prod_da77bd0643ae4012a774e4d62797df51__20231212_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-aaf5b372', 'hca_prod_daa371e81ec343ef924f896d901eab6f__20220519_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-258af604', 'hca_prod_daef3fda262045aea3f71613814a35bf__20240503_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-89bbe20f', 'hca_prod_dcbb50d19acf4f709fdab1f63a948c49__20221101_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-e18d4e0f', 'hca_prod_e090445c69714212bc5fae4ec3914102__20230427_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-afd111d1', 'hca_prod_e1fda2177ee14c1aadfa648279dafac6__20240201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-7a453efe', 'hca_prod_e456c042f6b64ceca3381a8ef80bd779__20230905_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-a81f6726', 'hca_prod_e5fe827437694d7daa356d33c226ab43__20230616_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-973f472d', 'hca_prod_e77fed30959d4fadbc15a0a5a85c21d2__20220119_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-eca4f16f', 'hca_prod_e870ab5635374b6da66f534fbf8cc57f__20240806_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-f401aa72', 'hca_prod_e956e66aac8e483a963a0f92c7e5abfb__20230313_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-e61457b8', 'hca_prod_e9f36305d85744a393f0df4e6007dc97__20220519_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-cd1f7849', 'hca_prod_f2078d5f2e7d48448552f7c41a231e52__20230201_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-7d26acbb', 'hca_prod_f86f1ab41fbb4510ae353ffd752d4dfc__20220119_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-b137f55d', 'hca_prod_fae72d894ac44aab9b93574775e168d4__20230530_dcp2_20241107_dcp44'), - mksrc('bigquery', 'datarepo-44e393e0', 'hca_prod_fcaa53cdba574bfeaf9ceaa958f95c1a__20220906_dcp2_20241107_dcp44'), - # @formatter:on -])) - -dcp45_sources = mkdict(dcp44_sources, 484, mkdelta([ - # @formatter:off - mksrc('bigquery', 'datarepo-44d8565d', 'hca_prod_005d611a14d54fbf846e571a1f874f70__20220111_dcp2_20241205_dcp45'), - mksrc('bigquery', 'datarepo-46f6eb97', 'hca_prod_01aacb6840764fd99eb9aba0f48c1b5a__20230616_dcp2_20241205_dcp45'), - mksrc('bigquery', 'datarepo-6130b203', 'hca_prod_08fb10df32e5456c9882e33fcd49077a__20231212_dcp2_20241205_dcp45'), - mksrc('bigquery', 'datarepo-94e55f6a', 'hca_prod_2433c1e45a1246a5b2d5d3554a7694f2__20241205_dcp2_20241205_dcp45'), - mksrc('bigquery', 'datarepo-bcdeba16', 'hca_prod_40bb5783c9244d19b6cbd26a8d3ae1d8__20241205_dcp2_20241205_dcp45'), - mksrc('bigquery', 'datarepo-059abc16', 'hca_prod_474a4229840e4d6382af8d3aa615ee17__20241205_dcp2_20241205_dcp45'), - mksrc('bigquery', 'datarepo-8d869988', 'hca_prod_7fc0a7569b064e63a7806c9fc3f9d76d__20241205_dcp2_20241205_dcp45'), - mksrc('bigquery', 'datarepo-f7e93b13', 'hca_prod_9762d70c9b274f578cbc377b9b92ea9b__20241205_dcp2_20241205_dcp45'), - mksrc('bigquery', 'datarepo-66f332bc', 'hca_prod_ae9f439bbd474d6ebd7232dc70b35d97__20241004_dcp2_20241205_dcp45'), - mksrc('bigquery', 'datarepo-48f5e511', 'hca_prod_df8eb7ce370746afb823e081a562e954__20241205_dcp2_20241205_dcp45'), - mksrc('bigquery', 'datarepo-6c94b83b', 'hca_prod_e255b1c611434fa683a8528f15b41038__20220330_dcp2_20241205_dcp45'), - # @formatter:on -])) - -dcp46_sources = mkdict(dcp45_sources, 489, mkdelta([ - # @formatter:off - mksrc('bigquery', 'datarepo-6ecaa13f', 'hca_prod_031980e69f2b433a8f6e081bd9aad0a3__20250203_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-2be1e691', 'hca_prod_0777b9ef91f3468b9deadb477437aa1a__20220330_dcp2_20230314_dcp25', pop), # noqa E501 - mksrc('bigquery', 'datarepo-e8dc17ba', 'hca_prod_0cc58d0b17344e1d9113b32e52f75e36__20240531_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-88134e98', 'hca_prod_102018327c7340339b653ef13d81656a__20220213_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-4e5e9f9b', 'hca_prod_2043c65a1cf84828a6569e247d4e64f1__20220111_dcp2_20220120_dcp12', pop), # noqa E501 - mksrc('bigquery', 'datarepo-c3a6307c', 'hca_prod_2433c1e45a1246a5b2d5d3554a7694f2__20241205_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-3928cdc0', 'hca_prod_24d0dbbc54eb49048141934d26f1c936__20220303_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-996ef22b', 'hca_prod_3089d311f9ed44ddbb10397059bad4dc__20220111_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-51fe137d', 'hca_prod_3373e59c525f4a838c9cd8b280454697__20241104_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-3d34fbb4', 'hca_prod_3bb95c61630d4970ae408a951bd11cc1__20250203_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-29421115', 'hca_prod_40bb5783c9244d19b6cbd26a8d3ae1d8__20241205_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-180ff3a3', 'hca_prod_46a7e4bf04744a8f8d1843afcde90491__20240327_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-0e25311c', 'hca_prod_474a4229840e4d6382af8d3aa615ee17__20241205_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-1e1baa84', 'hca_prod_50151324f3ed435898afec352a940a61__20220113_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-d45e266f', 'hca_prod_57916660af5a44d5a7a92e84b65f8a68__20250203_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-ec04039e', 'hca_prod_5f607e50ba224598b1e9f3d9d7a35dcc__20230201_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-cc39ad0b', 'hca_prod_60109425a6e64be1a3bc15de680317d4__20240327_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-b46d2c92', 'hca_prod_60ea42e1af4942f58164d641fdb696bc__20220117_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-f0716cdf', 'hca_prod_6836c1e4906b4c34a11ccb025167896d__20240327_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-bab0d9fc', 'hca_prod_6f89a7f38d4a4344aa4feccfe7e91076__20220213_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-b2c70f75', 'hca_prod_750b455ae3cf472195818609a6c9d561__20240327_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-ec282ab2', 'hca_prod_783c9952a4ae4106a6ce56f20ce27f88__20220117_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-ff62a88c', 'hca_prod_7b393e4d65bc4c03b402aae769299329__20220519_dcp2_20230314_dcp25', pop), # noqa E501 - mksrc('bigquery', 'datarepo-a2ed4715', 'hca_prod_7f980afc4e014b9ca9a1f50e17fce8c2__20250203_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-644d80c0', 'hca_prod_84d1697fd4af42c29a5037fb5842c586__20250203_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-226acb8e', 'hca_prod_9dd91b6e7c6249d3a3d474f603deffdb__20240903_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-9f7d0bf5', 'hca_prod_9f7aa40170e34695951a30541a1434eb__20250203_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-418bfa3b', 'hca_prod_ccc3b7861da0427fa45f76306d6143b6__20240503_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-1fdfaac3', 'hca_prod_cdabcf0b76024abf9afb3b410e545703__20230201_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-8e29c61a', 'hca_prod_d3446f0c30f34a12b7c36af877c7bb2d__20220119_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-ff63dc94', 'hca_prod_dcbb50d19acf4f709fdab1f63a948c49__20221101_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-b72037cb', 'hca_prod_e255b1c611434fa683a8528f15b41038__20220330_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-1514f0eb', 'hca_prod_e579d0f418ef4d4290fa4d2afb60a862__20250203_dcp2_20250211_dcp46'), - mksrc('bigquery', 'datarepo-753fc76a', 'hca_prod_f77290ae0d7b4239b0fe3cf2c9e8858d__20250203_dcp2_20250211_dcp46'), - # @formatter:on -])) - -dcp47_sources = mkdict(dcp46_sources, 494, mkdelta([ - mksrc('bigquery', 'datarepo-3c5378af', 'hca_prod_03c6fce7789e4e78a27a664d562bb738__20220110_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-2590222b', 'hca_prod_04ad400c58cb40a5bc2b2279e13a910b__20220114_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-f35c4c99', 'hca_prod_04e4292cf62f4098ae9bfd69ae002a90__20230427_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-7926539f', 'hca_prod_0562d2ae0b8a459ebbc06357108e5da9__20220330_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-96dd015a', 'hca_prod_05657a599f9d4bb9b77b24be13aa5cea__20220110_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-f1f90008', 'hca_prod_05be4f374506429bb112506444507d62__20220107_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-e4925842', 'hca_prod_06c7dd8d6cc64b79b7958805c47d36e1__20220213_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-32ae3e6c', 'hca_prod_07073c1280064710a00b23abdb814904__20220107_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-d6204096', 'hca_prod_074a9f88729a455dbca50ce80edf0cea__20220107_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-e784e4fd', 'hca_prod_0751843070314bdfa3ce1bf0917a1923__20221208_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-b203eddb', 'hca_prod_0777b9ef91f3468b9deadb477437aa1a__20220330_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-a4d50172', 'hca_prod_0792db3480474e62802c9177c9cd8e28__20220107_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-4b0b26b3', 'hca_prod_08b794a0519c4516b184c583746254c5__20220107_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-2aaefe9a', 'hca_prod_0911cc0406d64ffc8318b90b0039e8ad__20230905_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-e8a91d58', 'hca_prod_091cf39b01bc42e59437f419a66c8a45__20220107_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-4c79cb59', 'hca_prod_0b29914025b54861a69f7651ff3f46cf__20220519_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-c57aaae4', 'hca_prod_0c09fadee0794fde8e606725b8c1d84b__20220107_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-085859a8', 'hca_prod_0c3b7785f74d40918616a68757e4c2a8__20220111_dcp2_20250305_dcp47'), - mksrc('bigquery', 'datarepo-770a569a', 'hca_prod_0d4aaaac02c344c48ae04465f97f83ed__20221101_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-6d9a8207', 'hca_prod_0d4b87ea6e9e456982e41343e0e3259f__20220110_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-e270be56', 'hca_prod_0efecd202b524e4f96c59b4b94158713__20230614_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-93aa3444', 'hca_prod_0fd8f91862d64b8bac354c53dd601f71__20220110_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-c009c4fa', 'hca_prod_116965f3f09447699d28ae675c1b569c__20220107_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-364b83a2', 'hca_prod_165dea71a95a44e188cdb2d9ad68bb1e__20220303_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-a1039074', 'hca_prod_1688d7cc6f5c49efb353e308b61d4e4c__20230313_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-ce0a0e21', 'hca_prod_16cd67912adb4d0f82220184dada6456__20220519_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-39ccfc9c', 'hca_prod_16e9915978bc44aab47955a5e903bf50__20221101_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-78e6040d', 'hca_prod_18d4aae283634e008eebb9e568402cf8__20220330_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-21acc033', 'hca_prod_18e5843776b740218ede3f0b443fa915__20220519_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-8105677b', 'hca_prod_1cd1f41ff81a486ba05b66ec60f81dcf__20220107_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-cb0d39a0', 'hca_prod_1ce3b3dc02f244a896dad6d107b27a76__20220107_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-8b9a1bbf', 'hca_prod_1defdadaa36544ad9b29443b06bd11d6__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-eee8ecce', 'hca_prod_1eb69a39b5b241ecafae5fe37f272756__20220213_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-80477604', 'hca_prod_1ebe8c34454e4c28bd713a3e8b127be4__20221208_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-40766c2f', 'hca_prod_1fa8b11f56fa45a6a7776af70e17a6b3__20220928_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-fa586d18', 'hca_prod_1fac187b1c3f41c4b6b66a9a8c0489d1__20230427_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-1ffce377', 'hca_prod_2084526ba66f4c40bb896fd162f2eb38__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-05637602', 'hca_prod_2086eb0510b9432bb7f0169ccc49d270__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-31f6c2b1', 'hca_prod_20f37aafcaa140e69123be6ce8feb2d6__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-26ec96aa', 'hca_prod_2253ae594cc54bd2b44eecb6d3fd7646__20220519_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-bfed6fd4', 'hca_prod_23587fb31a4a4f58ad74cc9a4cb4c254__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-cb6b77e6', 'hca_prod_248fcf0316c64a41b6ccaad4d894ca42__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-790b4ce9', 'hca_prod_24c654a5caa5440a8f02582921f2db4a__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-d115c83c', 'hca_prod_258c5e15d1254f2d8b4ce3122548ec9b__20221208_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-febeb27d', 'hca_prod_272b760266cd4b02a86b2b7c9c51a9ea__20230526_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-c22d601a', 'hca_prod_279f176633194e3c9f996fb59ba9b3e5__20230815_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-ec4e5100', 'hca_prod_2837165560ba449ea3035859b29ead65__20221101_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-585ee422', 'hca_prod_2973a42cf81048129a235bbc9644588d__20230614_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-1956d072', 'hca_prod_2a64db431b554639aabb8dba0145689d__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-78487f46', 'hca_prod_2a72a4e566b2405abb7c1e463e8febb0__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-2c545be5', 'hca_prod_2ad191cdbd7a409b9bd1e72b5e4cce81__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-fdde7aeb', 'hca_prod_2b38025da5ea4c0fb22e367824bcaf4c__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-0f359191', 'hca_prod_2b81ecc46ee0438f8c5bc10b2464069e__20221101_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-6a2aed44', 'hca_prod_2c041c26f75a495fab36a076f89d422a__20220303_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-3db654ee', 'hca_prod_2d559a6e7cd9432f9f6e0e4df03b0888__20230614_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-34e5d3e0', 'hca_prod_2d8460958a334f3c97d4585bafac13b4__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-570e9946', 'hca_prod_2eb4f5f842a54368aa2d337bacb96197__20220606_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-4391a4ff', 'hca_prod_2f67614380c24bc6b7b42613fe0fadf0__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-cc13a8b0', 'hca_prod_326b36bd0975475f983b56ddb8f73a4d__20230905_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-1fd78084', 'hca_prod_34c9a62ca6104e31b3438fb7be676f8c__20221101_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-df6f3ce2', 'hca_prod_34cba5e9ecb14d81bf0848987cd63073__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-6a24f127', 'hca_prod_34da2c5f801148afa7fdad2f56ec10f4__20220606_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-fd090af1', 'hca_prod_34ec845bcd7a4c4399e4d2932d5d85bb__20220928_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-103f6ed4', 'hca_prod_376a7f55b8764f609cf3ed7bc83d5415__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-df24d80d', 'hca_prod_379ed69ebe0548bcaf5ea7fc589709bf__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-73262b6b', 'hca_prod_38449aea70b540db84b31e08f32efe34__20220111_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-7c8ba452', 'hca_prod_38e3413162fc4323b43515113dfd6dcc__20250228_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-e2ece787', 'hca_prod_38e44dd0c3df418e9256d0824748901f__20220112_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-c3ace62f', 'hca_prod_3a69470330844ece9abed935fd5f6748__20220112_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-204432cf', 'hca_prod_3c27d2ddb1804b2bbf05e2e418393fd1__20220112_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-11a2ab55', 'hca_prod_3c9d586ebd264b4686903faaa18ccf38__20220729_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-2651413e', 'hca_prod_3cdaf942f8ad42e8a77b4efedb9ea7b6__20220303_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-de4d114b', 'hca_prod_3cfcdff5dee14a7ba591c09c6e850b11__20220112_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-b6823d07', 'hca_prod_3e329187a9c448ec90e3cc45f7c2311c__20220112_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-50f846fa', 'hca_prod_3e92c74d256c40cd927316f155da8342__20220729_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-1a165fa0', 'hca_prod_4037007b0eff4e6db7bd8dd8eec80143__20220112_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-8184d295', 'hca_prod_403c3e7668144a2da5805dd5de38c7ff__20220113_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-1bf756f5', 'hca_prod_40ca2a03ec0f471fa834948199495fe7__20220330_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-3acd6add', 'hca_prod_414accedeba0440fb721befbc5642bef__20220113_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-4d222ee6', 'hca_prod_41fb1734a121461695c73b732c9433c7__20220113_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-cef20640', 'hca_prod_421bc6cdbbb44398ac60a32ea94f02ae__20230929_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-6787198d', 'hca_prod_42d4f8d454224b78adaee7c3c2ef511c__20220113_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-bc91141c', 'hca_prod_45c2c853d06f4879957ef1366fb5d423__20220303_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-a516c1e4', 'hca_prod_4627f43ea43f44dd8c4b7efddb3f296d__20230501_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-1b8ad176', 'hca_prod_48b198ef3d594e57900fdf54c2435669__20221208_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-c08474ae', 'hca_prod_48f60534ba4e45bcaa5b6d3a6c45962e__20230929_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-d69a3fbc', 'hca_prod_4af795f73e1d4341b8674ac0982b9efd__20220113_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-a748d93f', 'hca_prod_4c73d1e4bad24a22a0ba55abbdbdcc3d__20220906_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-0d617d9f', 'hca_prod_4d9d56e4610d4748b57df8315e3f53a3__20220729_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-63d32334', 'hca_prod_4e6f083b5b9a439398902a83da8188f1__20220113_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-2a2d1eea', 'hca_prod_4ef86852aca04a9185229968e0e54dbe__20230313_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-93268fac', 'hca_prod_4f17edf6e9f042afa54af02fdca76ade__20220606_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-ef47026a', 'hca_prod_504e0cee168840fab936361c4a831f87__20220117_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-b556a56f', 'hca_prod_5116c0818be749c58ce073b887328aa9__20220117_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-4fa6bd68', 'hca_prod_520afa10f9d24e93ab7a26c4c863ce18__20220117_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-fe73ea6e', 'hca_prod_52b29aa4c8d642b4807ab35be94469ca__20220117_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-53d53d6f', 'hca_prod_52d10a60c8d14d068a5eaf0d5c0d5034__20220117_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-ecf619d2', 'hca_prod_53c53cd481274e12bc7f8fe1610a715c__20220117_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-4ca27b9a', 'hca_prod_54aaa409dc2848c5be26d368b4a5d5c6__20220117_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-932ab85b', 'hca_prod_559bb888782941f2ace52c05c7eb81e9__20220117_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-76ead5af', 'hca_prod_64809a52f7034aecb3a5eca808a971d0__20250227_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-bf994170', 'hca_prod_90588227d8c147eea3970d0b1d79aea9__20250301_dcp2_20250304_dcp47'), - mksrc('bigquery', 'datarepo-660076de', 'hca_prod_fc2a0b4e1e4a447ba09747b398402f37__20250227_dcp2_20250304_dcp47'), -])) - -dcp48_sources = mkdict(dcp47_sources, 499, mkdelta([ - mksrc('bigquery', 'datarepo-011bff46', 'hca_prod_0d737cce1c1c493a8e2eb00143bccc12__20230616_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-a9a9ad32', 'hca_prod_50db6ba439864d5586b7e1a5a888a17b__20250404_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-e3d00fca', 'hca_prod_566d00b0e1f84b929cbd57de9fad0050__20230427_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-a05eee72', 'hca_prod_56e73ccb7ae94faea738acfb69936d7a__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-2f505c90', 'hca_prod_575c0ad9c78e469b9fdf9a68dd881137__20220928_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-0a11e1ec', 'hca_prod_57a2c2deb0d4465abe53a41e59e75fab__20230526_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-07c9f071', 'hca_prod_591af954cdcd483996d3a0d1b1e885ac__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-d6dafbeb', 'hca_prod_5b5f05b72482468db76d8f68c04a7a47__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-6afd7353', 'hca_prod_5b910a437fb54ea7b9d643dbd1bf2776__20220729_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-02558f60', 'hca_prod_5bb1f67e2ff04848bbcf17d133f0fd2d__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-92539b02', 'hca_prod_5bd01deb01ee46118efdcf0ec5f56ac4__20231101_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-75e2bf1e', 'hca_prod_5ee710d7e2d54fe2818d15f5e31dae32__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-f8401f40', 'hca_prod_5f44a860d96e4a99b67e24e1b8ccfd26__20230427_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-b3417b02', 'hca_prod_602628d7c03848a8aa97ffbb2cb44c9d__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-f4fbdb56', 'hca_prod_6072616c87944b208f52fb15992ea5a4__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-a53e10b7', 'hca_prod_63b5b6c1bbcd487d8c2e0095150c1ecd__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-f6cda77e', 'hca_prod_65858543530d48a6a670f972b34dfe10__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-09d3c9a0', 'hca_prod_65cbfea55c544255a1d014549a86a5c1__20230616_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-aa587adb', 'hca_prod_65d7a1684d624bc083244e742aa62de6__20220330_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-16e3113c', 'hca_prod_6621c827b57a4268bc80df4049140193__20220330_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-37e49b45', 'hca_prod_6663070ffd8b41a9a4792d1e07afa201__20220519_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-c3fbd449', 'hca_prod_6735ff731a04422eb500730202e46f8a__20231212_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-fb0a665c', 'hca_prod_67a3de0945b949c3a068ff4665daa50e__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-718fee68', 'hca_prod_6874b7eb344547ec877375141430e169__20231213_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-c3f1b532', 'hca_prod_68df3629d2d24eedb0aba10e0f019b88__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-52a537d5', 'hca_prod_6c040a938cf84fd598de2297eb07e9f6__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-038a63e9', 'hca_prod_6e1771950ac0468b99a287de96dc9db4__20230503_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-41271673', 'hca_prod_6e60a555fd954aa28e293ec2ef01a580__20230206_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-62e880a9', 'hca_prod_6f03e4ad93054bfaa5b6929ffb1d94bd__20230313_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-7e726ec8', 'hca_prod_7027adc6c9c946f384ee9badc3a4f53b__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-61b7cf4b', 'hca_prod_71436067ac414acebe1b2fbcc2cb02fa__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-92d177e0', 'hca_prod_71eb5f6dcee04297b503b1125909b8c7__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-7b914023', 'hca_prod_72ff481856924bbc8886e47763531023__20230929_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-997f44d8', 'hca_prod_739ef78aba5d4487a0139982db66d222__20230815_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-af8ea80b', 'hca_prod_74493e9844fc48b0a58fcc7e77268b59__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-f8f965ea', 'hca_prod_74b6d5693b1142efb6b1a0454522b4a0__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-ac5d901a', 'hca_prod_74e2ef9d7c9f418cb2817fb38f3b1571__20220906_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-344e8c1f', 'hca_prod_77423e580fbb495a9ec2bd9a8010f21d__20230526_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-d7f7634c', 'hca_prod_77780d5603c0481faade2038490cef9f__20220330_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-706c1d29', 'hca_prod_77dedd59137648879bcadc42b56d5b7a__20230201_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-4be2efa6', 'hca_prod_7880637a35a14047b422b5eac2a2a358__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-57a0285d', 'hca_prod_78b2406dbff246fc8b6120690e602227__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-3da5180a', 'hca_prod_78d7805bfdc8472b8058d92cf886f7a4__20220213_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-29f89b5e', 'hca_prod_79351583b21244bab473731bdcddb407__20221208_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-e93f812d', 'hca_prod_79b13a2a9ca142a497bd70208a11bea6__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-811ba6a9', 'hca_prod_7b393e4d65bc4c03b402aae769299329__20220519_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-d6382230', 'hca_prod_7b947aa243a74082afff222a3e3a4635__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-b51e3bae', 'hca_prod_7be050259972493a856f3342a8d1b183__20220606_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-7b552ec1', 'hca_prod_7c75f07c608d4c4aa1b7b13d11c0ad31__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-65cab7fa', 'hca_prod_7dcffc327c8243969a4f88b5579bfe8a__20230905_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-2278b52b', 'hca_prod_7f9766ffbb124279b34078d140bdd7ba__20230905_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-7a1e692a', 'hca_prod_83f5188e3bf749569544cea4f8997756__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-f5c9343a', 'hca_prod_842605c7375a47c59e2ca71c2c00fcad__20220117_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-df8b06b3', 'hca_prod_849ed38c591743c4a8f90782241cf10c__20231101_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-9aa73d3d', 'hca_prod_8559a8ed5d8c4fb6bde8ab639cebf03c__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-170f553e', 'hca_prod_85a9263b088748edab1addfa773727b6__20220224_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-c4f9feb6', 'hca_prod_8787c23889ef4636a57d3167e8b54a80__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-c3077d46', 'hca_prod_88ec040b87054f778f41f81e57632f7d__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-9936e573', 'hca_prod_896f377c8e88463e82b0b2a5409d6fe4__20240201_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-e6850c04', 'hca_prod_8999b4566fa6438bab17b62b1d8ec0c3__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-53696f00', 'hca_prod_8a40ff19e6144c50b23b5c9e1d546bab__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-faf405bc', 'hca_prod_8b954fb2bccb44c584e39f91e9189c40__20230526_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-21732d04', 'hca_prod_8bd2e5f694534b9b9c5659e3a40dc87e__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-4b293efc', 'hca_prod_8c3c290ddfff4553886854ce45f4ba7f__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-f45b82af', 'hca_prod_8d566d35d8d34975a351be5e25e9b2ea__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-fc66dedf', 'hca_prod_8dacb243e9184bd2bb9aaac6dc424161__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-64d8f81f', 'hca_prod_8f1f653d3ea14d8eb4a7b97dc852c2b1__20230815_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-950102ed', 'hca_prod_8f630e0f6bf94a04975402533152a954__20220729_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-a9b5e225', 'hca_prod_90bd693340c048d48d76778c103bf545__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-d50ff5b7', 'hca_prod_91af6e2f65f244ec98e0ba4e98db22c8__20220303_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-47836ad0', 'hca_prod_92892ab213344b1c976114f5a73548ea__20230616_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-ba72f23e', 'hca_prod_946c5add47d1402a97bba5af97e8bce7__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-bb5be846', 'hca_prod_955dfc2ca8c64d04aa4d907610545d11__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-f6f752c9', 'hca_prod_962bd805eb894c54bad2008e497d1307__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-8c28a376', 'hca_prod_9746f4e0d3b2454389b310288162851b__20230526_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-580e5870', 'hca_prod_9833669bd6944b93a3d06b6f9dbcfc10__20220630_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-a613ddaf', 'hca_prod_996120f9e84f409fa01e732ab58ca8b9__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-ff8ecfae', 'hca_prod_9a23ac2d93dd4bac9bb8040e6426db9d__20220906_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-dd8fce65', 'hca_prod_9ac53858606a4b89af49804ccedaa660__20220906_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-e28e8e7f', 'hca_prod_9d97f01f9313416e9b07560f048b2350__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-35f5e987', 'hca_prod_9e3370a0144a49a99e926f6a9290125a__20221101_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-64ce279b', 'hca_prod_a1312f9a01ef40a789bf9091ca76a03a__20220729_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-e7d9713d', 'hca_prod_a27dd61925ad46a0ae0c5c4940a1139b__20220606_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-837925a2', 'hca_prod_a29952d9925e40f48a1c274f118f1f51__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-949ff561', 'hca_prod_a2a2f324cf24409ea859deaee871269c__20220330_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-c7c0c1c0', 'hca_prod_a39728aa70a04201b0a281b7badf3e71__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-9fe8f7b5', 'hca_prod_a60803bbf7db45cfb52995436152a801__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-3307c8fa', 'hca_prod_a62dae2ecd694d5cb5f84f7e8abdbafa__20220606_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-d1bd4420', 'hca_prod_a7c66eb14a4e4f6c9e30ad2a485f8301__20220906_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-c44d45f6', 'hca_prod_a80a63f2e223489081b0415855b89abc__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-9287b7fb', 'hca_prod_a815c84b8999433f958e422c0720e00d__20220330_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-46272509', 'hca_prod_a9301bebe9fa42feb75c84e8a460c733__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-cd174e08', 'hca_prod_a96b71c078a742d188ce83c78925cfeb__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-304658c8', 'hca_prod_a991ef154d4a4b80a93ec538b4b54127__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-dc22e9aa', 'hca_prod_a9c022b4c7714468b769cabcf9738de3__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-b2e26e38', 'hca_prod_a9f5323ace71471c9caf04cc118fd1d7__20220606_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-afaed7b9', 'hca_prod_aa55000c016848d890262d3a76ec8af3__20230427_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-65fbb09a', 'hca_prod_abe1a013af7a45ed8c26f3793c24a1f4__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-41f0fa20', 'hca_prod_ac289b77fb124a6bad43c0721c698e70__20220906_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-943f36a2', 'hca_prod_ad3c5c48ad2843fd9ec09b7a87e0ee6d__20250404_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-b2b70aaf', 'hca_prod_aecfd908674c4d4eb36e0c1ceab02245__20231101_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-a3ea9423', 'hca_prod_aefb919243fc46d7a4c129597f7ef61b__20220330_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-624d3c74', 'hca_prod_aff9c3cd6b844fc2abf2b9c0b3038277__20220330_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-ccefbdda', 'hca_prod_b4a7d12f6c2f40a39e359756997857e3__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-bfa6cc71', 'hca_prod_b51f49b40d2e4cbdbbd504cd171fc2fa__20220118_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-a261829a', 'hca_prod_cb4e5e44d8984819a456393527c3186f__20250404_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-ca45ca22', 'hca_prod_f0f89c1474604bab9d4222228a91f185__20220119_dcp2_20250415_dcp48'), - mksrc('bigquery', 'datarepo-a96f0164', 'hca_prod_fc2a0b4e1e4a447ba09747b398402f37__20250227_dcp2_20250415_dcp48'), -])) - -dcp49_sources = mkdict(dcp48_sources, 501, mkdelta([ - mksrc('bigquery', 'datarepo-f60f4b83', 'hca_prod_08c7910b5ebb4dfca8665bf392ef3b36__20250513_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-f2653856', 'hca_prod_4bdaedeb99ae4fb4be6957497cf98b90__20250513_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-2cf88e44', 'hca_prod_b7259878436c4274bfffca76f4cb7892__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-8cc68fbe', 'hca_prod_b733dc1b1d5545e380367eab0821742c__20220519_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-1dd70e59', 'hca_prod_b9484e4edc404e389b854cecf5b8c068__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-7c98f55a', 'hca_prod_bd7104c9a950490e94727d41c6b11c62__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-84d9d771', 'hca_prod_be010abcfb684581b61f7dd7c3d7b044__20230314_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-2b8dcf12', 'hca_prod_bfaedc29fe844e72a46175dc8aabbd1b__20230929_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-9bdfab50', 'hca_prod_c05184453b3b49c6b8fcc41daa4eacba__20220213_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-1c111ed3', 'hca_prod_c0d82ef215044ef09e5ed8a13e45fdec__20220928_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-2c456b41', 'hca_prod_c281ab637b7d4bdfb7619b1baaa18f82__20230331_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-f543ac47', 'hca_prod_c302fe54d22d451fa130e24df3d6afca__20220606_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-a97e3c14', 'hca_prod_c31fa434c9ed4263a9b6d9ffb9d44005__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-fa09caaa', 'hca_prod_c412be53cf9547c7980cc0a0caa2d3a0__20230929_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-4d9991fa', 'hca_prod_c41dffbfad83447ca0e113e689d9b258__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-b59ebcd2', 'hca_prod_c5b475f276b34a8e8465f3b69828fec3__20230331_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-b3169144', 'hca_prod_c5f4661568de4cf4bbc2a0ae10f08243__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-7a8210cc', 'hca_prod_c6a50b2a3dfd4ca89b483e682f568a25__20220303_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-06bf8b45', 'hca_prod_c715cd2fdc7c44a69cd5b6a6d9f075ae__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-e288a8a0', 'hca_prod_c7c54245548b4d4fb15e0d7e238ae6c8__20220330_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-e8e001c9', 'hca_prod_c844538b88544a95bd01aacbaf86d97f__20230427_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-c13e222f', 'hca_prod_c8e6c5d9fcde4845beadff96999e3051__20221101_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-4e65ea34', 'hca_prod_cae461deecbd482fa5d411d607fc12ba__20230526_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-d5c5efaf', 'hca_prod_cc35f94ee93b4dbda08c702978d9046f__20231101_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-d3c8089e', 'hca_prod_cc95ff892e684a08a234480eca21ce79__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-f14e004d', 'hca_prod_ccd1f1ba74ce469b9fc9f6faea623358__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-fc4216a2', 'hca_prod_ccef38d7aa9240109621c4c7b1182647__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-46924d25', 'hca_prod_cd9d6360ce38432197dff13c79e3cb84__20230206_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-45855706', 'hca_prod_cdc2d2706c99414288839bd95c041d05__20221208_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-dde971bb', 'hca_prod_ce33dde2382d448cb6acbfb424644f23__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-42e1040f', 'hca_prod_ce7b12ba664f4f798fc73de6b1892183__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-4da4cff9', 'hca_prod_cfece4d2f18d44ada46a42bbcb5cb3b7__20230929_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-fe2f151a', 'hca_prod_d012d4768f8c4ff389d6ebbe22c1b5c1__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-83c5cff1', 'hca_prod_d138a1147df54f7d9ff1f79dfd2d428f__20220606_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-9332a1ce', 'hca_prod_d2111fac3fc44f429b6d32cd6a828267__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-ce1acc6b', 'hca_prod_d3a4ceac4d66498497042570c0647a56__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-284edb0c', 'hca_prod_d3ac7c1b53024804b611dad9f89c049d__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-720ff634', 'hca_prod_d5c91e922e7f473d8cf3ab03bbae21c2__20240503_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-5445be31', 'hca_prod_d6225aee8f0e4b20a20c682509a9ea14__20220213_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-57e121b0', 'hca_prod_d71c76d336704774a9cf034249d37c60__20220213_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-c8afd733', 'hca_prod_d7845650f6b14b1cb2fec0795416ba7b__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-c9b6f66a', 'hca_prod_d7b7beae652b4fc09bf2bcda7c7115af__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-e3fb7ab9', 'hca_prod_da2747fa292142e0afd439ef57b2b88b__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-b376d5e4', 'hca_prod_da9d6f243bdf4eaa9e3ff47ce2a65b36__20220729_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-f19470c4', 'hca_prod_daf9d9827ce643f6ab51272577290606__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-7101311b', 'hca_prod_dbcd4b1d31bd4eb594e150e8706fa192__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-d036fb75', 'hca_prod_dbd836cfbfc241f0983441cc6c0b235a__20220212_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-03b81808', 'hca_prod_dc1a41f69e0942a6959e3be23db6da56__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-cb23ec44', 'hca_prod_dcc28fb37bab48cebc4b684c00e133ce__20230905_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-c86f2d3c', 'hca_prod_dd7f24360c564709bd17e526bba4cc15__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-5b384ff0', 'hca_prod_df88f39f01a84b5b92f43177d6c0f242__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-c89c4f2a', 'hca_prod_e0009214c0a04a7b96e2d6a83e966ce0__20220119_dcp2_20250516_dcp49'), - mksrc('bigquery', 'datarepo-af42bae1', 'hca_prod_e0c74c7a20a445059cf138dcdd23011b__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-7ef2dd07', 'hca_prod_e374c1cf73fd4a7a866979dc41714984__20230905_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-509854f1', 'hca_prod_e49e556ada5a442ab45c8691b457623e__20231212_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-4f84a64f', 'hca_prod_e4b18cd28f15490db9f1d118aa067dc3__20221101_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-375ec5ad', 'hca_prod_e526d91dcf3a44cb80c5fd7676b55a1d__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-1904c869', 'hca_prod_e57dc176ab98446b90c289e0842152fd__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-13689713', 'hca_prod_e5d455791f5b48c3b568320d93e7ca72__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-ccd9ee40', 'hca_prod_e6773550c1a6494986431a3154cf2670__20221208_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-e5bfc6c9', 'hca_prod_e8808cc84ca0409680f2bba73600cba6__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-f21e83a5', 'hca_prod_e88714c22e7849da81465a60b50628b4__20230206_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-faaa90cd', 'hca_prod_e925633fabd9486a81c61a6a66891d23__20230526_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-64aef8e3', 'hca_prod_e993adcdd4ba4f889a05d1c05bdf0c45__20220606_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-f130f625', 'hca_prod_ea9eec5a4fc24c5894d02fcb598732bc__20221208_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-9bbed65a', 'hca_prod_eaefa1b6dae14414953b17b0427d061e__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-8196d213', 'hca_prod_ec6476ee294941f3947b8eef41d6d3ac__20220729_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-8b0f20f6', 'hca_prod_ede2e0b46652464fabbc0b2d964a25a0__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-aa834f98', 'hca_prod_ee166275f63a486481554df86c9de679__20230313_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-e0b09b24', 'hca_prod_ef1d9888fa8647a4bb720ab0f20f7004__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-33c8c690', 'hca_prod_ef1e3497515e4bbe8d4c10161854b699__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-8eb1f82a', 'hca_prod_efea6426510a4b609a19277e52bfa815__20220118_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-a1a0ebb1', 'hca_prod_f29b124a85974862ae98ff3a0fd9033e__20220303_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-40656060', 'hca_prod_f2fe82f044544d84b416a885f3121e59__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-09e2f758', 'hca_prod_f3825dfe990a431fb9719c26d39840db__20230331_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-3907996d', 'hca_prod_f48e7c39cc6740559d79bc437892840c__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-c1e3cab6', 'hca_prod_f4d011ced1f548a4ab61ae14176e3a6e__20220519_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-9b39eeeb', 'hca_prod_f6133d2a9f3d4ef99c19c23d6c7e6cc0__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-e6f8e5cb', 'hca_prod_f7b464770f2a4bffa9b7719e000499a3__20230815_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-310373da', 'hca_prod_f81efc039f564354aabb6ce819c3d414__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-1b84fc22', 'hca_prod_f83165c5e2ea4d15a5cf33f3550bffde__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-6efa2983', 'hca_prod_f8aa201c4ff145a4890e840d63459ca2__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-69fee559', 'hca_prod_fa3f460f4fb94cedb5488ba6a8ecae3f__20220330_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-6afeebdc', 'hca_prod_faeedcb0e0464be7b1ad80a3eeabb066__20220119_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-6936a062', 'hca_prod_fc381e70df1b407d813152ab523270bd__20221208_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-c394650e', 'hca_prod_fccd3f50cde247bf8972a293b5928aea__20220606_dcp2_20250514_dcp49'), - mksrc('bigquery', 'datarepo-7ae396a0', 'hca_prod_fde199d2a8414ed1aa65b9e0af8969b1__20220330_dcp2_20250514_dcp49'), -])) - -dcp50_sources = mkdict(dcp49_sources, 506, mkdelta([ - mksrc('bigquery', 'datarepo-80eb7b4b', 'hca_prod_2e40df1ed3c248b48a17c46e34d7be59__20250528_dcp2_20250528_dcp50'), - mksrc('bigquery', 'datarepo-109974d4', 'hca_prod_5bb1f67e2ff04848bbcf17d133f0fd2d__20220117_dcp2_20250528_dcp50'), - mksrc('bigquery', 'datarepo-b66195b1', 'hca_prod_6601b3d4ed5a4e1fb54ae36adf45aa28__20250528_dcp2_20250528_dcp50'), - mksrc('bigquery', 'datarepo-8c4fb6f2', 'hca_prod_9ff75ecece81483abb1f85e727f3805b__20250528_dcp2_20250528_dcp50'), - mksrc('bigquery', 'datarepo-7be28950', 'hca_prod_bba2f908e0cb4ee7b007f9c650e08be0__20250528_dcp2_20250528_dcp50'), - mksrc('bigquery', 'datarepo-4c68d77c', 'hca_prod_e889ffc986f644f5b684dfce78e552a3__20250528_dcp2_20250528_dcp50'), -])) - -dcp51_sources = mkdict(dcp50_sources, 513, mkdelta([ - mksrc('bigquery', 'datarepo-42f1b9db', 'hca_prod_0d4aaaac02c344c48ae04465f97f83ed__20221101_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-96fb5b0d', 'hca_prod_16e9915978bc44aab47955a5e903bf50__20221101_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-2cf4df93', 'hca_prod_1c5eaabf075b4b7aa9e607792c2034b3__20231101_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-a1f67b41', 'hca_prod_1ffa222328a64133a5a4badd00faf4bc__20231101_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-642c1565', 'hca_prod_2043c65a1cf84828a6569e247d4e64f1__20220111_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-d6108285', 'hca_prod_2079bb2e676e4bbf8c68f9c6459edcbb__20240327_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-3f39fd30', 'hca_prod_2af52a1365cb4973b51339be38f2df3f__20220111_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-b67c1e0d', 'hca_prod_3d49e5e5976f44cbb6b9079016c31c56__20230614_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-75507299', 'hca_prod_4060444714e44e55ad221fd2d7eb4c68__20250702_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-d4a6add9', 'hca_prod_5bb1f67e2ff04848bbcf17d133f0fd2d__20220117_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-a2be998c', 'hca_prod_6137c3f4261f4192b32e4827a77ff793__20250702_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-fa80d73b', 'hca_prod_73011a86475548ac9f70a28903b4ad77__20230616_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-3e36296c', 'hca_prod_815c5ef50fb14eb798821d160362468e__20240806_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-8896b1cd', 'hca_prod_838d46603d624b08b32ddc5cbd93919d__20240531_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-4f60472d', 'hca_prod_8a666b76daaf4b1f9414e4807a1d1e8b__20220630_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-b80e6888', 'hca_prod_8dcbd84a62434501a6840dcd084bb536__20250702_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-ad8e8c60', 'hca_prod_94023a08611d4f22a8c990956e091b2e__20220118_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-9b90945d', 'hca_prod_9762d70c9b274f578cbc377b9b92ea9b__20241205_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-e7993e15', 'hca_prod_9c20a245f2c043ae82c92232ec6b594f__20220212_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-5d898bf1', 'hca_prod_9f17ed7d93254723a120b00e48db20c0__20230614_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-637990cf', 'hca_prod_9fc0064b84ce40a5a768e6eb3d364ee0__20220630_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-a2779004', 'hca_prod_b486e0d9dd8e462ab6629a5bbad5edae__20250702_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-1f843cbc', 'hca_prod_da74b50760ee4dd1bd02807bb051a337__20230614_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-06170818', 'hca_prod_dbd836cfbfc241f0983441cc6c0b235a__20220212_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-dd62c255', 'hca_prod_ea9f4ea7d7b341e7b23a43f95f569074__20250702_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-82f70d1a', 'hca_prod_f0f89c1474604bab9d4222228a91f185__20220119_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-799d515d', 'hca_prod_f598aee0d269403690e9d6d5b1c84429__20240903_dcp2_20250702_dcp51'), - mksrc('bigquery', 'datarepo-2e8b7553', 'hca_prod_fed95462342044fb8b9d2efbffb35479__20250702_dcp2_20250702_dcp51'), -])) - -dcp52_sources = mkdict(dcp51_sources, 518, mkdelta([ - mksrc('bigquery', 'datarepo-961a8ff8', 'hca_prod_087efc3c26014de6bbe90114593050d1__20241004_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-2e9e61d9', 'hca_prod_21ea8ddb525f4f1fa82031f0360399a2__20220111_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-a33bf04b', 'hca_prod_29ed827bc5394f4cbb6bce8f9173dfb7__20221208_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-7220e6a0', 'hca_prod_35d5b0573daf4ccd8112196194598893__20240903_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-0b71589d', 'hca_prod_455b46e6d8ea4611861ede720a562ada__20220113_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-5f09b54e', 'hca_prod_4bcc16b57a4745bbb9c0be9d5336df2d__20240327_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-0f612c28', 'hca_prod_581de139461f4875b40856453a9082c7__20231212_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-5f99c04c', 'hca_prod_74b6d5693b1142efb6b1a0454522b4a0__20220117_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-e9388599', 'hca_prod_7be050259972493a856f3342a8d1b183__20220606_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-1cc22721', 'hca_prod_8c3c290ddfff4553886854ce45f4ba7f__20220118_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-1b940b9d', 'hca_prod_8fd1609bcd2d4b4dbb9649ae6b8ade2f__20250730_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-48cacb84', 'hca_prod_a9ad734654b443a990557512aa532ba0__20250730_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-18d25baa', 'hca_prod_aca93e287d874aa4b8ae498b9b235f46__20250730_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-f288d111', 'hca_prod_ad3c5c48ad2843fd9ec09b7a87e0ee6d__20250404_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-c1b1899c', 'hca_prod_ad98d3cd26fb4ee399c98a2ab085e737__20220118_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-2a6b7b79', 'hca_prod_b39381584e8d4fdb9e139e94270dde16__20241004_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-06f50646', 'hca_prod_c1810dbc16d245c3b45e3e675f88d87b__20220118_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-45a87f19', 'hca_prod_cea413af79b34f118b48383fe9a65fbe__20230614_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-540987b5', 'hca_prod_df8eb7ce370746afb823e081a562e954__20241205_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-767387a8', 'hca_prod_e0009214c0a04a7b96e2d6a83e966ce0__20220119_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-a5f23e97', 'hca_prod_e5ef5c5fb85647d1b64362c265528060__20250730_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-2a8c1e63', 'hca_prod_f8aa201c4ff145a4890e840d63459ca2__20220119_dcp2_20250801_dcp52'), - mksrc('bigquery', 'datarepo-c14d1f15', 'hca_prod_febdadddad3c4f4a820fade15c48545a__20250730_dcp2_20250801_dcp52'), -])) - -lungmap_sources = mkdict({}, 3, mkdelta([ - mksrc('bigquery', 'datarepo-32f75497', 'lungmap_prod_00f056f273ff43ac97ff69ca10e38c89__20220308_20220308'), - mksrc('bigquery', 'datarepo-7066459d', 'lungmap_prod_1bdcecde16be420888f478cd2133d11d__20220308_20220308'), - mksrc('bigquery', 'datarepo-cfaedae8', 'lungmap_prod_2620497955a349b28d2b53e0bdfcb176__20220308_20220308'), -])) - -lm2_sources = mkdict(lungmap_sources, 5, mkdelta([ - mksrc('bigquery', 'datarepo-5eee9956', 'lungmap_prod_00f056f273ff43ac97ff69ca10e38c89__20220308_20220314_lm2'), - mksrc('bigquery', 'datarepo-73453de6', 'lungmap_prod_20037472ea1d4ddb9cd356a11a6f0f76__20220307_20220310_lm2'), - mksrc('bigquery', 'datarepo-360d3b54', 'lungmap_prod_f899709cae2c4bb988f0131142e6c7ec__20220310_20220608_lm2'), -])) - -lm3_sources = mkdict(lm2_sources, 6, mkdelta([ - mksrc('bigquery', 'datarepo-d139f96d', 'lungmap_prod_1bdcecde16be420888f478cd2133d11d__20220308_20230207_lm3'), - mksrc('bigquery', 'datarepo-0fdfdb69', 'lungmap_prod_6135382f487d4adb9cf84d6634125b68__20230207_20230314_lm3'), -])) - -lm4_sources = mkdict(lm3_sources, 7, mkdelta([ - mksrc('bigquery', 'datarepo-3d684ccd', 'lungmap_prod_00f056f273ff43ac97ff69ca10e38c89__20220308_20231207_lm4'), - mksrc('bigquery', 'datarepo-a65c8237', 'lungmap_prod_1bdcecde16be420888f478cd2133d11d__20220308_20231207_lm4'), - mksrc('bigquery', 'datarepo-43d1f2cb', 'lungmap_prod_20037472ea1d4ddb9cd356a11a6f0f76__20220307_20231207_lm4'), - mksrc('bigquery', 'datarepo-91587240', 'lungmap_prod_2620497955a349b28d2b53e0bdfcb176__20220308_20231207_lm4'), - mksrc('bigquery', 'datarepo-252f2a7d', 'lungmap_prod_4ae8c5c91520437198276935661f6c84__20231004_20231207_lm4'), - mksrc('bigquery', 'datarepo-e70d4665', 'lungmap_prod_6135382f487d4adb9cf84d6634125b68__20230207_20231207_lm4'), - mksrc('bigquery', 'datarepo-3f332829', 'lungmap_prod_f899709cae2c4bb988f0131142e6c7ec__20220310_20231207_lm4'), -])) - -lm6_sources = mkdict(lm4_sources, 8, mkdelta([ - mksrc('bigquery', 'datarepo-c3ad47d2', 'lungmap_prod_6511b041b11e4ccf85932b40148c437e__20240326_20240326_lm6'), -])) - -lm7_sources = mkdict(lm6_sources, 2, mkdelta([ - # @formatter:off - mksrc('bigquery', 'datarepo-3d684ccd', 'lungmap_prod_00f056f273ff43ac97ff69ca10e38c89__20220308_20231207_lm4', pop), # noqa E501 - mksrc('bigquery', 'datarepo-43d1f2cb', 'lungmap_prod_20037472ea1d4ddb9cd356a11a6f0f76__20220307_20231207_lm4', pop), # noqa E501 - mksrc('bigquery', 'datarepo-91587240', 'lungmap_prod_2620497955a349b28d2b53e0bdfcb176__20220308_20231207_lm4', pop), # noqa E501 - mksrc('bigquery', 'datarepo-252f2a7d', 'lungmap_prod_4ae8c5c91520437198276935661f6c84__20231004_20231207_lm4', pop), # noqa E501 - mksrc('bigquery', 'datarepo-c3ad47d2', 'lungmap_prod_6511b041b11e4ccf85932b40148c437e__20240326_20240326_lm6', pop), # noqa E501 - mksrc('bigquery', 'datarepo-3f332829', 'lungmap_prod_f899709cae2c4bb988f0131142e6c7ec__20220310_20231207_lm4', pop), # noqa E501 - # @formatter:on -])) - -lm8_sources = mkdict(lm7_sources, 12, mkdelta([ - mksrc('bigquery', 'datarepo-3f02598d', 'lungmap_prod_00f056f273ff43ac97ff69ca10e38c89__20220308_20250325_lm8'), - mksrc('bigquery', 'datarepo-2b15227b', 'lungmap_prod_1977dc4784144263a8706b0f207d8ab3__20240206_20241002_lm8'), - mksrc('bigquery', 'datarepo-c9158593', 'lungmap_prod_20037472ea1d4ddb9cd356a11a6f0f76__20220307_20241002_lm8'), - mksrc('bigquery', 'datarepo-2f143f27', 'lungmap_prod_2620497955a349b28d2b53e0bdfcb176__20220308_20250325_lm8'), - mksrc('bigquery', 'datarepo-35a6d7ca', 'lungmap_prod_3a02d15f9c6a4ef7852b4ddec733b70b__20241001_20241002_lm8'), - mksrc('bigquery', 'datarepo-131a1234', 'lungmap_prod_4ae8c5c91520437198276935661f6c84__20231004_20241002_lm8'), - mksrc('bigquery', 'datarepo-936db385', 'lungmap_prod_6135382f487d4adb9cf84d6634125b68__20230207_20241106_lm8'), - mksrc('bigquery', 'datarepo-42daf980', 'lungmap_prod_6511b041b11e4ccf85932b40148c437e__20240326_20250325_lm8'), - mksrc('bigquery', 'datarepo-3c4905d2', 'lungmap_prod_834e0d1671b64425a8ab022b5000961c__20241001_20241002_lm8'), - mksrc('bigquery', 'datarepo-d7447983', 'lungmap_prod_f899709cae2c4bb988f0131142e6c7ec__20220310_20241002_lm8'), - mksrc('bigquery', 'datarepo-c11ef363', 'lungmap_prod_fdadee7e209745d5bf81cc280bd8348e__20240206_20241002_lm8') -])) - -lm9_sources = mkdict(lm8_sources, 19, mkdelta([ - mksrc('bigquery', 'datarepo-6a2dd798', 'lungmap_prod_0229ea32ef02489eb11eff15819e22c1__20250415_20250521_lm9'), - mksrc('bigquery', 'datarepo-1635e8d0', 'lungmap_prod_1977dc4784144263a8706b0f207d8ab3__20240206_20250521_lm9'), - mksrc('bigquery', 'datarepo-753403ae', 'lungmap_prod_1f00915122064294929a9c720f19a13f__20250415_20250521_lm9'), - mksrc('bigquery', 'datarepo-13f2c938', 'lungmap_prod_20037472ea1d4ddb9cd356a11a6f0f76__20220307_20250521_lm9'), - mksrc('bigquery', 'datarepo-aa49b92f', 'lungmap_prod_4ae8c5c91520437198276935661f6c84__20231004_20250521_lm9'), - mksrc('bigquery', 'datarepo-27a7736d', 'lungmap_prod_4fb3669262404146a7e654543543230c__20250415_20250521_lm9'), - mksrc('bigquery', 'datarepo-73797ea1', 'lungmap_prod_5134c97dbbdb4d9db483cdebeaf667b3__20250415_20250521_lm9'), - mksrc('bigquery', 'datarepo-4f6af8a7', 'lungmap_prod_ccea5717a8484c068d2dd1b694e89441__20250415_20250521_lm9'), - mksrc('bigquery', 'datarepo-9c6a9693', 'lungmap_prod_e651ac3e03aa46fa9ed370c6fda4e440__20250415_20250521_lm9'), - mksrc('bigquery', 'datarepo-35ee2bca', 'lungmap_prod_e68d2111316f4dedbf490ab332488665__20250415_20250521_lm9'), - mksrc('bigquery', 'datarepo-79fb8a00', 'lungmap_prod_f899709cae2c4bb988f0131142e6c7ec__20220310_20250521_lm9'), - mksrc('bigquery', 'datarepo-c10ea239', 'lungmap_prod_fdadee7e209745d5bf81cc280bd8348e__20240206_20250521_lm9'), -])) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - # Set variables for the `prod` (short for production) deployment here. - # - # Only modify this file if you intend to commit those changes. To apply - # a setting that's specific to you AND the deployment, create an - # `environment.local.py` file right next to this one and apply that - # setting there. Settings that are applicable to all environments but - # specific to you go into `environment.local.py` at the project root. - - 'AZUL_DEPLOYMENT_STAGE': 'prod', - - 'AZUL_DOMAIN_NAME': 'azul.data.humancellatlas.org', - - 'AZUL_CATALOGS': base64.b64encode(bz2.compress(json.dumps({ - f'{catalog}{suffix}': dict(atlas=atlas, - internal=internal, - plugins=dict(metadata=dict(name='hca'), - repository=dict(name='tdr_hca')), - sources=mklist(sources)) - for atlas, catalog, sources in [ - ('hca', 'dcp51', dcp51_sources), - ('hca', 'dcp52', dcp52_sources), - ('lungmap', 'lm9', lm9_sources) - ] for suffix, internal in [ - ('', False), - ('-it', True) - ] - }).encode())).decode('ascii'), - - 'AZUL_TDR_SOURCE_LOCATION': 'US', - 'AZUL_TDR_SERVICE_URL': 'https://data.terra.bio', - 'AZUL_SAM_SERVICE_URL': 'https://sam.dsde-prod.broadinstitute.org', - 'AZUL_TERRA_SERVICE_URL': 'https://firecloud-orchestration.dsde-prod.broadinstitute.org', - - 'AZUL_ENABLE_MONITORING': '1', - - 'AZUL_ES_INSTANCE_TYPE': 'r6gd.xlarge.search', - 'AZUL_ES_INSTANCE_COUNT': '6', - - 'AZUL_CONTRIBUTION_CONCURRENCY': '300/64', - - 'AZUL_DEBUG': '1', - - 'AZUL_BILLING': 'hca', - - 'AZUL_OWNER': 'hannes@ucsc.edu', - - 'AZUL_MONITORING_EMAIL': 'azul-group@ucsc.edu', - - 'AZUL_AWS_ACCOUNT_ID': '542754589326', - 'AWS_DEFAULT_REGION': 'us-east-1', - - 'GOOGLE_PROJECT': 'platform-hca-prod', - - 'AZUL_GOOGLE_OAUTH2_CLIENT_ID': '473200283737-h5e1l7neunbuesrtgjf8b12lb7o3jf1m.apps.googleusercontent.com', - - 'azul_slack_integration': json.dumps({ - 'workspace_id': 'T09P9H91S', # ucsc-gi.slack.com - 'channel_id': 'C04JWDFCPFZ' # #team-boardwalk-prod - }), - - 'AZUL_ENABLE_REPLICAS': '1', - - 'AZUL_ENABLE_VERBATIM_RELATIONS': '0', - - 'AZUL_ENABLE_MIRRORING': '1', - - 'AZUL_MIRROR_BUCKET': 'humancellatlas', - - 'AZUL_MIRRORING_CONCURRENCY': '128' - } diff --git a/deployments/sandbox/.example.environment.local.py b/deployments/sandbox/.example.environment.local.py deleted file mode 120000 index 45b1b10142..0000000000 --- a/deployments/sandbox/.example.environment.local.py +++ /dev/null @@ -1 +0,0 @@ -../dev/.example.environment.local.py \ No newline at end of file diff --git a/deployments/sandbox/environment.py b/deployments/sandbox/environment.py deleted file mode 100644 index 7d46df1219..0000000000 --- a/deployments/sandbox/environment.py +++ /dev/null @@ -1,283 +0,0 @@ -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Literal, - Optional, -) - -is_sandbox = True - -pop = 2 # remove snapshot - - -def mksrc(source_type: Literal['bigquery', 'parquet'], - google_project, - snapshot, - flags: int = 0, - /, - prefix: str = '' - ) -> tuple[str, str | None]: - _, env, project, _ = snapshot.split('_', 3) - assert flags <= pop - source = None if flags & pop else ':'.join([ - 'tdr', - source_type, - 'gcp', - google_project, - snapshot, - prefix - ]) - return project, source - - -def mkdelta(items: list[tuple[str, str]]) -> dict[str, str]: - result = dict(items) - assert len(items) == len(result), 'collisions detected' - assert list(result.keys()) == sorted(result.keys()), 'input not sorted' - return result - - -def mklist(catalog: dict[str, str]) -> list[str]: - return list(filter(None, catalog.values())) - - -def mkdict(previous_catalog: dict[str, str], - num_expected: int, - delta: dict[str, str] - ) -> dict[str, str]: - catalog = previous_catalog | delta - num_actual = len(mklist(catalog)) - assert num_expected == num_actual, (num_expected, num_actual) - return catalog - - -dcp2_sources = mkdict({}, 105, mkdelta([ - mksrc('bigquery', 'datarepo-dev-a9252919', 'hca_dev_005d611a14d54fbf846e571a1f874f70__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-c148d39c', 'hca_dev_027c51c60719469fa7f5640fe57cbece__20210827_20210902'), - mksrc('bigquery', 'datarepo-dev-e2ab8487', 'hca_dev_03c6fce7789e4e78a27a664d562bb738__20210902_20210907'), - mksrc('bigquery', 'datarepo-dev-37639c56', 'hca_dev_05657a599f9d4bb9b77b24be13aa5cea__20210827_20210928'), - mksrc('bigquery', 'datarepo-dev-9f4012c9', 'hca_dev_05be4f374506429bb112506444507d62__20210827_20210902'), - mksrc('bigquery', 'datarepo-dev-baa2812f', 'hca_dev_0792db3480474e62802c9177c9cd8e28__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-38e08b5c', 'hca_dev_08b794a0519c4516b184c583746254c5__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-2749da57', 'hca_dev_091cf39b01bc42e59437f419a66c8a45__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-eab7fa76', 'hca_dev_0c3b7785f74d40918616a68757e4c2a8__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-fef02a92', 'hca_dev_0d4b87ea6e9e456982e41343e0e3259f__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-78bae095', 'hca_dev_0fd8f91862d64b8bac354c53dd601f71__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-ff0a2fe7', 'hca_dev_116965f3f09447699d28ae675c1b569c__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-4de1b9fd', 'hca_dev_16ed4ad8731946b288596fe1c1d73a82__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-135f340c', 'hca_dev_1c6a960d52ac44eab728a59c7ab9dc8e__20210827_20210928'), - mksrc('bigquery', 'datarepo-dev-86c60513', 'hca_dev_1cd1f41ff81a486ba05b66ec60f81dcf__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-f5321179', 'hca_dev_1ce3b3dc02f244a896dad6d107b27a76__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-76de829d', 'hca_dev_2043c65a1cf84828a6569e247d4e64f1__20210831_20210907'), - mksrc('bigquery', 'datarepo-dev-c808badb', 'hca_dev_2086eb0510b9432bb7f0169ccc49d270__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-23782220', 'hca_dev_23587fb31a4a4f58ad74cc9a4cb4c254__20210827_20210909'), - mksrc('bigquery', 'datarepo-dev-4c3e6011', 'hca_dev_248fcf0316c64a41b6ccaad4d894ca42__20210907_20210907'), - mksrc('bigquery', 'datarepo-dev-1c2c69d9', 'hca_dev_24c654a5caa5440a8f02582921f2db4a__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-38f08cd8', 'hca_dev_2a64db431b554639aabb8dba0145689d__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-4cf05ce2', 'hca_dev_2a72a4e566b2405abb7c1e463e8febb0__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-3041c2cf', 'hca_dev_2af52a1365cb4973b51339be38f2df3f__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-311340f6', 'hca_dev_2d8460958a334f3c97d4585bafac13b4__20210902_20210907'), - mksrc('bigquery', 'datarepo-dev-766bfb76', 'hca_dev_2ef3655a973d4d699b4121fa4041eed7__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-1720b3c5', 'hca_dev_379ed69ebe0548bcaf5ea7fc589709bf__20210827_20210902'), - mksrc('bigquery', 'datarepo-dev-ac6efd3f', 'hca_dev_38449aea70b540db84b31e08f32efe34__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-40283c27', 'hca_dev_3a69470330844ece9abed935fd5f6748__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-b08233fa', 'hca_dev_3cfcdff5dee14a7ba591c09c6e850b11__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-bdc9f342', 'hca_dev_3e329187a9c448ec90e3cc45f7c2311c__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-ec07c8d8', 'hca_dev_4037007b0eff4e6db7bd8dd8eec80143__20210831_20210903'), - mksrc('bigquery', 'datarepo-dev-c0ec174a', 'hca_dev_403c3e7668144a2da5805dd5de38c7ff__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-31b3553a', 'hca_dev_414accedeba0440fb721befbc5642bef__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-b4789901', 'hca_dev_41fb1734a121461695c73b732c9433c7__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-4e5ffd52', 'hca_dev_42d4f8d454224b78adaee7c3c2ef511c__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-5ef7f2e2', 'hca_dev_455b46e6d8ea4611861ede720a562ada__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-a6c6b953', 'hca_dev_4bec484dca7a47b48d488830e06ad6db__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-f31edbc2', 'hca_dev_4d6f6c962a8343d88fe10f53bffd4674__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-bb8fbae4', 'hca_dev_51f02950ee254f4b8d0759aa99bb3498__20210827_20210928'), - mksrc('bigquery', 'datarepo-dev-71de019e', 'hca_dev_520afa10f9d24e93ab7a26c4c863ce18__20210827_20210928'), - mksrc('bigquery', 'datarepo-dev-ffcf8b00', 'hca_dev_52b29aa4c8d642b4807ab35be94469ca__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-f76414c8', 'hca_dev_52d10a60c8d14d068a5eaf0d5c0d5034__20210827_20210902'), - mksrc('bigquery', 'datarepo-dev-319b80f7', 'hca_dev_577c946d6de54b55a854cd3fde40bff2__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-279f1986', 'hca_dev_5ee710d7e2d54fe2818d15f5e31dae32__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-0abea017', 'hca_dev_6072616c87944b208f52fb15992ea5a4__20210827_20210902'), - mksrc('bigquery', 'datarepo-dev-da221b1a', 'hca_dev_60ea42e1af4942f58164d641fdb696bc__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-c3d623dc', 'hca_dev_63b5b6c1bbcd487d8c2e0095150c1ecd__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-ecb9c129', 'hca_dev_67a3de0945b949c3a068ff4665daa50e__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-3545971c', 'hca_dev_71436067ac414acebe1b2fbcc2cb02fa__20210827_20210928'), - mksrc('bigquery', 'datarepo-dev-12b7a9e1', 'hca_dev_7880637a35a14047b422b5eac2a2a358__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-7913b094', 'hca_dev_78b2406dbff246fc8b6120690e602227__20210827_20210902'), - mksrc('bigquery', 'datarepo-dev-4747d8fe', 'hca_dev_7adede6a0ab745e69b67ffe7466bec1f__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-aba01389', 'hca_dev_7b947aa243a74082afff222a3e3a4635__20210831_20210907'), - mksrc('bigquery', 'datarepo-dev-bf3a4c8a', 'hca_dev_8185730f411340d39cc3929271784c2b__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-560ee3d1', 'hca_dev_83f5188e3bf749569544cea4f8997756__20210929_20211007'), - mksrc('bigquery', 'datarepo-dev-bd995e95', 'hca_dev_842605c7375a47c59e2ca71c2c00fcad__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-d0772077', 'hca_dev_8787c23889ef4636a57d3167e8b54a80__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-8eb2ffd1', 'hca_dev_87d52a86bdc7440cb84d170f7dc346d9__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-0c5c20b5', 'hca_dev_8c3c290ddfff4553886854ce45f4ba7f__20210902_20210907'), - mksrc('bigquery', 'datarepo-dev-29509483', 'hca_dev_90bd693340c048d48d76778c103bf545__20210827_20211110'), - mksrc('bigquery', 'datarepo-dev-59d37b9a', 'hca_dev_946c5add47d1402a97bba5af97e8bce7__20210831_20210903'), - mksrc('bigquery', 'datarepo-dev-788c3b52', 'hca_dev_955dfc2ca8c64d04aa4d907610545d11__20210831_20210903'), - mksrc('bigquery', 'datarepo-dev-4b88b45b', 'hca_dev_962bd805eb894c54bad2008e497d1307__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-02c59b72', 'hca_dev_99101928d9b14aafb759e97958ac7403__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-a6312a94', 'hca_dev_992aad5e7fab46d9a47ddf715e8cfd24__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-75589244', 'hca_dev_996120f9e84f409fa01e732ab58ca8b9__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-d4b988d6', 'hca_dev_a004b1501c364af69bbd070c06dbc17d__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-9ec7beb6', 'hca_dev_a29952d9925e40f48a1c274f118f1f51__20210827_20210902'), - mksrc('bigquery', 'datarepo-dev-d3d5bbfa', 'hca_dev_a39728aa70a04201b0a281b7badf3e71__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-7b7daff7', 'hca_dev_a96b71c078a742d188ce83c78925cfeb__20210827_20210902'), - mksrc('bigquery', 'datarepo-dev-58610528', 'hca_dev_a9c022b4c7714468b769cabcf9738de3__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-1dce87e5', 'hca_dev_ae71be1dddd84feb9bed24c3ddb6e1ad__20210916_20210916'), - mksrc('bigquery', 'datarepo-dev-b2004d1c', 'hca_dev_b4a7d12f6c2f40a39e359756997857e3__20210831_20210903'), - mksrc('bigquery', 'datarepo-dev-0b465564', 'hca_dev_b51f49b40d2e4cbdbbd504cd171fc2fa__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-cd97e83a', 'hca_dev_b963bd4b4bc14404842569d74bc636b8__20210827_20210928'), - mksrc('bigquery', 'datarepo-dev-376d3f4a', 'hca_dev_bd40033154b94fccbff66bb8b079ee1f__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-aa783adb', 'hca_dev_c5f4661568de4cf4bbc2a0ae10f08243__20210827_20210928'), - mksrc('bigquery', 'datarepo-dev-990234a8', 'hca_dev_c6ad8f9bd26a4811b2ba93d487978446__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-61b8d081', 'hca_dev_c715cd2fdc7c44a69cd5b6a6d9f075ae__20210827_20210902'), - mksrc('bigquery', 'datarepo-dev-71926fdc', 'hca_dev_c893cb575c9f4f26931221b85be84313__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-2f4bfe5d', 'hca_dev_ccd1f1ba74ce469b9fc9f6faea623358__20210827_20210902'), - mksrc('bigquery', 'datarepo-dev-aa8357fb', 'hca_dev_ccef38d7aa9240109621c4c7b1182647__20210831_20210903'), - mksrc('bigquery', 'datarepo-dev-24e672db', 'hca_dev_cddab57b68684be4806f395ed9dd635a__20210831_20210907'), - mksrc('bigquery', 'datarepo-dev-f4cb2365', 'hca_dev_ce33dde2382d448cb6acbfb424644f23__20210827_20210928'), - mksrc('bigquery', 'datarepo-dev-0d6f73ac', 'hca_dev_d012d4768f8c4ff389d6ebbe22c1b5c1__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-5674b4eb', 'hca_dev_d2111fac3fc44f429b6d32cd6a828267__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-b3632667', 'hca_dev_d3446f0c30f34a12b7c36af877c7bb2d__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-92c3a1de', 'hca_dev_d3a4ceac4d66498497042570c0647a56__20210831_20210903'), - mksrc('bigquery', 'datarepo-dev-e5bc6d76', 'hca_dev_d3ac7c1b53024804b611dad9f89c049d__20210827_20211015'), - mksrc('bigquery', 'datarepo-dev-dbc582d9', 'hca_dev_dbcd4b1d31bd4eb594e150e8706fa192__20210827_20210902'), - mksrc('bigquery', 'datarepo-dev-848e2d4f', 'hca_dev_dbd836cfbfc241f0983441cc6c0b235a__20210827_20210902'), - mksrc('bigquery', 'datarepo-dev-3b058b81', 'hca_dev_dc1a41f69e0942a6959e3be23db6da56__20210827_20220228_dcp14'), - mksrc('bigquery', 'datarepo-dev-27ad01e5', 'hca_dev_df88f39f01a84b5b92f43177d6c0f242__20210827_20210928'), - mksrc('bigquery', 'datarepo-dev-b839d6c7', 'hca_dev_e526d91dcf3a44cb80c5fd7676b55a1d__20210902_20210907'), - mksrc('bigquery', 'datarepo-dev-3faef568', 'hca_dev_e5d455791f5b48c3b568320d93e7ca72__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-e304a8fe', 'hca_dev_e77fed30959d4fadbc15a0a5a85c21d2__20210830_20210903'), - mksrc('bigquery', 'datarepo-dev-6fdac3db', 'hca_dev_e8808cc84ca0409680f2bba73600cba6__20210902_20210907'), - mksrc('bigquery', 'datarepo-dev-dbc3e131', 'hca_dev_eaefa1b6dae14414953b17b0427d061e__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-b51e6694', 'hca_dev_f48e7c39cc6740559d79bc437892840c__20210830_20211007'), - mksrc('bigquery', 'datarepo-dev-10f0610a', 'hca_dev_f81efc039f564354aabb6ce819c3d414__20210827_20210903'), - mksrc('bigquery', 'datarepo-dev-24e9529e', 'hca_dev_f83165c5e2ea4d15a5cf33f3550bffde__20210901_20210908'), - mksrc('bigquery', 'datarepo-dev-67240cf2', 'hca_dev_f86f1ab41fbb4510ae353ffd752d4dfc__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-e8e0a59a', 'hca_dev_f8aa201c4ff145a4890e840d63459ca2__20210901_20210903'), - mksrc('bigquery', 'datarepo-dev-96d8e08c', 'hca_dev_faeedcb0e0464be7b1ad80a3eeabb066__20210831_20210903'), -])) - -dcp3_sources = mkdict(dcp2_sources, 104, mkdelta([ - mksrc('bigquery', 'datarepo-dev-3d6d24ad', 'hca_dev_05657a599f9d4bb9b77b24be13aa5cea__20210827_20230215'), - mksrc('bigquery', 'datarepo-dev-76de829d', 'hca_dev_2043c65a1cf84828a6569e247d4e64f1__20210831_20210907', pop), - mksrc('bigquery', 'datarepo-dev-b46086a9', 'hca_dev_51f02950ee254f4b8d0759aa99bb3498__20210827_20230215'), - mksrc('bigquery', 'datarepo-dev-27c50fbc', 'hca_dev_c5f4661568de4cf4bbc2a0ae10f08243__20210827_20230215'), - mksrc('bigquery', 'datarepo-dev-2a4ab485', 'hca_dev_d2111fac3fc44f429b6d32cd6a828267__20210830_20230215'), - mksrc('bigquery', 'datarepo-dev-1005632d', 'hca_dev_d3ac7c1b53024804b611dad9f89c049d__20210827_20230215'), - mksrc('bigquery', 'datarepo-dev-8709b362', 'hca_dev_df88f39f01a84b5b92f43177d6c0f242__20210827_20230215'), - mksrc('bigquery', 'datarepo-dev-e1712bfa', 'hca_dev_e526d91dcf3a44cb80c5fd7676b55a1d__20210902_20230215'), -])) - -lungmap_sources = mkdict({}, 2, mkdelta([ - mksrc('bigquery', 'datarepo-dev-5d9526e0', 'lungmap_dev_1bdcecde16be420888f478cd2133d11d__20220401_20220404'), - mksrc('bigquery', 'datarepo-dev-8de6d66b', 'lungmap_dev_2620497955a349b28d2b53e0bdfcb176__20220404_20220404') -])) - -lm2_sources = mkdict(lungmap_sources, 3, mkdelta([ - mksrc('bigquery', 'datarepo-dev-b47b6759', 'lungmap_dev_00f056f273ff43ac97ff69ca10e38c89__20220404_20220404_lm2'), -])) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - # Set variables for the `sandbox` deployment here. The sandbox is used - # to run integration tests against PRs and to perform CI/CD experiments. - # - # You can use this file as a template for a personal deployment. Look - # for conditionals using the `is_sandbox` variable and adjust the `else` - # branch accordingly. - # - # Only modify this file if you intend to commit those changes. To apply - # a setting that's specific to you AND the deployment, create an - # `environment.local.py` file right next to this one and apply that - # setting there. Settings that are applicable to all environments but - # specific to you go into `environment.local.py` at the project root. - - # When using this file as a template for a personal deployment, replace - # `None` with a short string that is specific to YOU. - # - 'AZUL_DEPLOYMENT_STAGE': 'sandbox' if is_sandbox else None, - - # This deployment uses a subdomain of the `dev` deployment's domain. - # - 'AZUL_DOMAIN_NAME': 'dev.singlecell.gi.ucsc.edu', - 'AZUL_SUBDOMAIN_TEMPLATE': '*.{AZUL_DEPLOYMENT_STAGE}', - 'AZUL_DRS_DOMAIN_NAME': 'drs.{AZUL_DEPLOYMENT_STAGE}.dev.singlecell.gi.ucsc.edu', - - 'AZUL_CATALOGS': json.dumps({ - f'{catalog}{suffix}': dict(atlas=atlas, - internal=internal, - plugins=dict(metadata=dict(name='hca'), - repository=dict(name='tdr_hca')), - sources=list(filter(None, sources.values()))) - for atlas, catalog, sources in [ - ('hca', 'dcp3', dcp3_sources), - ('lungmap', 'lungmap', lungmap_sources), - ('lungmap', 'lm2', lm2_sources) - ] - for suffix, internal in [ - ('', False), - ('-it', True) - ] - }), - - 'AZUL_TDR_SOURCE_LOCATION': 'us-central1', - 'AZUL_TDR_SERVICE_URL': 'https://jade.datarepo-dev.broadinstitute.org', - 'AZUL_SAM_SERVICE_URL': 'https://sam.dsde-dev.broadinstitute.org', - 'AZUL_TERRA_SERVICE_URL': 'https://firecloud-orchestration.dsde-dev.broadinstitute.org', - - **( - { - 'AZUL_ES_INSTANCE_TYPE': 'r6gd.large.search', - 'AZUL_ES_INSTANCE_COUNT': '2', - } if is_sandbox else { - # Personal deployments share an ES domain with `sandbox` - 'AZUL_SHARE_ES_DOMAIN': '1', - 'AZUL_ES_DOMAIN': 'azul-index-sandbox', - # Personal deployments use fewer Lambda invocations in parallel. - 'AZUL_CONTRIBUTION_CONCURRENCY': '8', - 'AZUL_AGGREGATION_CONCURRENCY': '8', - } - ), - - 'AZUL_DEBUG': '1', - - 'AZUL_BILLING': 'hca', - - # When using this file as a template for a personal deployment, change - # `None` to a string containing YOUR email address. - # - 'AZUL_OWNER': 'hannes@ucsc.edu' if is_sandbox else None, - - 'AZUL_MONITORING_EMAIL': '{AZUL_OWNER}', - - 'AZUL_AWS_ACCOUNT_ID': '122796619775', - 'AWS_DEFAULT_REGION': 'us-east-1', - - 'GOOGLE_PROJECT': 'platform-hca-dev', - - 'AZUL_GOOGLE_OAUTH2_CLIENT_ID': '713613812354-3bj4m7vnsbco82bke96idvg8cpdv6r9r.apps.googleusercontent.com', - - 'AZUL_ENABLE_MIRRORING': '1', - } diff --git a/deployments/tempdev.browser/environment.py b/deployments/tempdev.browser/environment.py deleted file mode 100644 index 5841567270..0000000000 --- a/deployments/tempdev.browser/environment.py +++ /dev/null @@ -1,41 +0,0 @@ -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - 'azul_terraform_component': 'browser', - 'azul_browser_sites': json.dumps({ - 'browser': { - 'zone': '{AZUL_DOMAIN_NAME}', - 'domain': '{AZUL_DOMAIN_NAME}', - 'project': 'ucsc/data-browser', - 'branch': 'ucsc/anvil/tempdev', - 'tarball_name': 'anvil', - 'tarball_path': 'out', - 'real_path': '' - } - }) - } diff --git a/deployments/tempdev.gitlab/environment.py b/deployments/tempdev.gitlab/environment.py deleted file mode 100644 index edb1f5e066..0000000000 --- a/deployments/tempdev.gitlab/environment.py +++ /dev/null @@ -1,31 +0,0 @@ -from collections.abc import ( - Mapping, -) -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - 'azul_terraform_component': 'gitlab', - 'azul_vpc_cidr': '172.25.0.0/16', - 'azul_vpn_subnet': '10.46.0.0/16' - } diff --git a/deployments/tempdev.shared/environment.py b/deployments/tempdev.shared/environment.py deleted file mode 100644 index 5705e22099..0000000000 --- a/deployments/tempdev.shared/environment.py +++ /dev/null @@ -1,38 +0,0 @@ -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Optional, -) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - 'azul_terraform_component': 'shared', - 'azul_aws_support_roles': json.dumps(['administrator', 'developer']), - - 'azul_security_contact': json.dumps({ - 'name': 'Hannes Schmidt', - 'title': 'Tech lead', - 'email_address': 'azul-group@ucsc.edu', - 'phone_number': '831-454-8200' - }), - } diff --git a/deployments/tempdev/.example.environment.local.py b/deployments/tempdev/.example.environment.local.py deleted file mode 120000 index 3d88e15943..0000000000 --- a/deployments/tempdev/.example.environment.local.py +++ /dev/null @@ -1 +0,0 @@ -../anvildev/.example.environment.local.py \ No newline at end of file diff --git a/deployments/tempdev/environment.py b/deployments/tempdev/environment.py deleted file mode 100644 index d30adcc701..0000000000 --- a/deployments/tempdev/environment.py +++ /dev/null @@ -1,138 +0,0 @@ -from collections.abc import ( - Mapping, -) -import json -from typing import ( - Literal, - Optional, -) - -pop = 1 # remove snapshot - - -def mksrc(source_type: Literal['bigquery', 'parquet'], - google_project, - snapshot, - flags: int = 0, - /, - prefix: str = '' - ) -> tuple[str, str | None]: - project = '_'.join(snapshot.split('_')[1:-3]) - assert flags <= pop - source = None if flags & pop else ':'.join([ - 'tdr', - source_type, - 'gcp', - google_project, - snapshot, - prefix - ]) - return project, source - - -def mkdelta(items: list[tuple[str, str]]) -> dict[str, str]: - result = dict(items) - assert len(items) == len(result), 'collisions detected' - assert list(result.keys()) == sorted(result.keys()), 'input not sorted' - return result - - -def mklist(catalog: dict[str, str]) -> list[str]: - return list(filter(None, catalog.values())) - - -def mkdict(previous_catalog: dict[str, str], - num_expected: int, - delta: dict[str, str] - ) -> dict[str, str]: - catalog = previous_catalog | delta - num_actual = len(mklist(catalog)) - assert num_expected == num_actual, (num_expected, num_actual) - return catalog - - -anvil_sources = mkdict({}, 3, mkdelta([ - mksrc('bigquery', 'datarepo-dev-e53e74aa', 'ANVIL_1000G_2019_Dev_20230609_ANV5_202306121732'), - mksrc('bigquery', 'datarepo-dev-42c70e6a', 'ANVIL_CCDG_Sample_1_20230228_ANV5_202302281520'), - mksrc('bigquery', 'datarepo-dev-97ad270b', 'ANVIL_CMG_Sample_1_20230225_ANV5_202302281509') -])) - - -def env() -> Mapping[str, Optional[str]]: - """ - Returns a dictionary that maps environment variable names to values. The - values are either None or strings. String values can contain references to - other environment variables in the form `{FOO}` where FOO is the name of an - environment variable. See - - https://docs.python.org/3.12/library/string.html#format-string-syntax - - for the concrete syntax. These references will be resolved *after* the - overall environment has been compiled by merging all relevant - `environment.py` and `environment.local.py` files. - - Entries with a `None` value will be excluded from the environment. They - can be used to document a variable without a default value in which case - other, more specific `environment.py` or `environment.local.py` files must - provide the value. - """ - return { - # Set variables for the `anvildev` (short for AnVIL development) - # deployment here. - # - # Only modify this file if you intend to commit those changes. To apply - # a setting that's specific to you AND the deployment, create an - # `environment.local.py` file right next to this one and apply that - # setting there. Settings that are applicable to all environments but - # specific to you go into `environment.local.py` at the project root. - - 'AZUL_DEPLOYMENT_STAGE': 'tempdev', - - 'AZUL_DOMAIN_NAME': 'temp.gi.ucsc.edu', - - 'AZUL_S3_BUCKET': 'edu-ucsc-gi-platform-temp-dev-storage-{AZUL_DEPLOYMENT_STAGE}.{AWS_DEFAULT_REGION}', - - 'AZUL_CATALOGS': json.dumps({ - f'{catalog}{suffix}': dict(atlas=atlas, - internal=internal, - plugins=dict(metadata=dict(name='anvil'), - repository=dict(name='tdr_anvil')), - sources=list(filter(None, sources.values()))) - for atlas, catalog, sources in [ - ('anvil', 'anvil', anvil_sources), - ] - for suffix, internal in [ - ('', False), - ('-it', True) - ] - }), - - 'AZUL_TDR_SOURCE_LOCATION': 'us-central1', - 'AZUL_TDR_SERVICE_URL': 'https://jade.datarepo-dev.broadinstitute.org', - 'AZUL_SAM_SERVICE_URL': 'https://sam.dsde-dev.broadinstitute.org', - 'AZUL_DUOS_SERVICE_URL': 'https://consent.dsde-dev.broadinstitute.org', - 'AZUL_TERRA_SERVICE_URL': 'https://firecloud-orchestration.dsde-dev.broadinstitute.org', - - 'AZUL_ENABLE_MONITORING': '1', - - # $0.191/h × 2 × 24h/d × 30d/mo = $275.08/mo - 'AZUL_ES_INSTANCE_TYPE': 'r6gd.large.search', - 'AZUL_ES_INSTANCE_COUNT': '2', - - 'AZUL_DEBUG': '1', - - 'AZUL_BILLING': 'anvil', - - 'AZUL_OWNER': 'hannes@ucsc.edu', - - 'AZUL_MONITORING_EMAIL': 'azul-group@ucsc.edu', - - 'AZUL_AWS_ACCOUNT_ID': '654654270592', - 'AWS_DEFAULT_REGION': 'us-east-1', - - 'GOOGLE_PROJECT': 'platform-temp-dev', - - 'AZUL_DEPLOYMENT_INCARNATION': '1', - - 'AZUL_GOOGLE_OAUTH2_CLIENT_ID': '807674395527-erth0gf1m7qme5pe6bu384vpdfjh06dg.apps.googleusercontent.com', - } diff --git a/docker_images.json b/docker_images.json deleted file mode 100644 index 0c16abf732..0000000000 --- a/docker_images.json +++ /dev/null @@ -1,167 +0,0 @@ -{ - "docker.io/library/docker:28.3.3": { - "digest": "sha256:c0872aae4791ff427e6eda52769afa04f17b5cf756f8267e0d52774c99d5c9de", - "mirror_digest": "sha256:8540613af2771eff7cc76188d1e2071e5800efcc17b2b640e4f2dd84d5ddd11d", - "parts": { - "linux/amd64": { - "digest": "sha256:acf2e2d09cedf21fa8f27bb0962674e33e159c744c152b248f1f7f43623ccd82", - "id": "sha256:b2a8bf985f76be7345c0c827c568db287ccb4dfad919a4693488224e3644fb0c", - "platform": "linux/amd64" - }, - "linux/arm64": { - "digest": "sha256:88bf2ba4673e2963049952ad60d46389e6d2be3d31f0f4d1d69c55e0712d22a4", - "id": "sha256:e0680e652cec44e947fd5401c80526cad1e184420cc2645f6399d102127e5bbf", - "platform": "linux/arm64" - } - } - }, - "docker.io/library/python:3.12.11-slim-bookworm": { - "digest": "sha256:3a4908d9f85cf155ef5847883c247e420d7f9d2686027f0575ac44c2b6db9782", - "mirror_digest": "sha256:7ad2683bddd96dd1cdd2fa74c17a06d00a4df93a63c450bc1b51190e7a8dd7bd", - "parts": { - "linux/amd64": { - "digest": "sha256:4084f1a51b5bb5f4cbf6ae741f72dd9b9d6d11a398830ec6550f5b43e5dfb3aa", - "id": "sha256:78b97569762e7aa9cadd22d089be7ac6ca075be195b3e1b910c9379e414cbe82", - "platform": "linux/amd64" - }, - "linux/arm64": { - "digest": "sha256:5dcd6be9c9367c5d394e1a7cc739901b056a6947017a146aded3ba99daa2f85d", - "id": "sha256:0791981c53ac9ef47abb38ea94f6d74a9e9e6781a0f5b4302d98c598d2626fc9", - "platform": "linux/arm64" - } - } - }, - "docker.io/ucscgi/azul-pycharm:2024.3.6-59": { - "digest": "sha256:1077be5c5a440a1cd1392e2b7e046911c2fb54c6b3aeab952ad8787213e572c6", - "mirror_digest": "sha256:f7a9816d85760968b91383786c0edecc5cd6932f1508d72f0077bee04a351402", - "parts": { - "linux/amd64": { - "digest": "sha256:4234d37768aa6ec02b6ed7682d61fbdec8e28795c7ca0f12763b120cb2e1f228", - "id": "sha256:16bb6b7c0ccdf72259c8aab94e1d7a46218ef7cf27508e9dea1d13b14f30c7fd", - "platform": "linux/amd64" - }, - "linux/arm64": { - "digest": "sha256:ed064994264eb388d2ea509025133ab415788d42def75b7f5406e76749f29cbd", - "id": "sha256:5bd1243a2afe36d5762ed9bae78fdf2ff5a7a427ee2834831a47e7dbadf8e192", - "platform": "linux/arm64" - } - } - }, - "docker.io/opensearchproject/opensearch:2.19.3": { - "digest": "sha256:a54d2deebe965848afc0d06f5088baa0fbf77fedb3a2c62de9e032eb6d6aaf7f", - "mirror_digest": "sha256:51ad0959df798111b5513b056d9a6b83898092a0854da05ec3027f108a7696e1", - "parts": { - "linux/amd64": { - "digest": "sha256:9c21f88114b185897a88cfd69cb5f02bc3c30502b195fa573af158565a36b32c", - "id": "sha256:b9713a137fd77d837349b41830c8aaba72904afbbcaa5f79dd0f7a74f66b31e6", - "platform": "linux/amd64" - }, - "linux/arm64": { - "digest": "sha256:b1e8187a62da244c0bca4c7724d02baf0ccc13c16dacb209f34b854d381097f2", - "id": "sha256:857be6bf6afae22a2baa8976ceaef2924cee2f9ef82924be19cb2ae6444aa7a7", - "platform": "linux/arm64" - } - } - }, - "docker.io/ucscgi/azul-bigquery-emulator:0.4.4-41": { - "digest": "sha256:d504cc667ab5426d81079c97a8233c8f4e8a0e81e83c6f6380517381788f9d97", - "mirror_digest": "sha256:276d06ad268830bf55b279ffd58d35e6df493b314c8e8f636c89b4079d202269", - "parts": { - "linux/amd64": { - "digest": "sha256:9f00b8e64a0fafa964c34d373899828f7abb736374a1cab849be01c64c85ce71", - "id": "sha256:186c565ee10f3301f23988d689ffc8d23ad2e7e8c96e18414616215a51e25fac", - "platform": "linux/amd64" - }, - "linux/arm64": { - "digest": "sha256:d2f16251ae22e2fe9f7aa3e0e59cf26aefe3396c98b104043f6b169126d87532", - "id": "sha256:e2af0ee37403e05d7035cdb6f9381ca088ee2b97062aca7c175b5def3094e515", - "platform": "linux/arm64" - } - } - }, - "docker.io/clamav/clamav:1.4.3-51": { - "digest": "sha256:eeef3abc9720c350d552f650ca2f1c3a987ebd8a531019aea1effc6f38d68861", - "mirror_digest": "sha256:58bf974f44e3231c0d18ea6cc72d34f9fc22153028e328b12e0abe139ed28835", - "parts": { - "linux/amd64": { - "digest": "sha256:1179cfb8bd9f7d497ecd86df4d8d88c165300300c1c3ac96db2f9c3d3a6ad7dc", - "id": "sha256:73d4b29c677cb5bc06fe87ef6973abdb7b1ffd1ea1390003716e286990b97bb7", - "platform": "linux/amd64" - } - } - }, - "docker.io/gitlab/gitlab-ce:18.2.2-ce.0": { - "digest": "sha256:ae39a4eb025f8138ecf63dda1dbdd3d4759e8f3cea86beb80e5a80b355dfe708", - "mirror_digest": "sha256:5a23d4addec672e0b68ec28ac6ce3e2db36e7e5398b91c1dff1f468fba861e42", - "parts": { - "linux/amd64": { - "digest": "sha256:104ad65c84276deeb8ed04cc35c29b327f41b6590b3f4a43c9292c92f7c9c16f", - "id": "sha256:8aad4c87c3d469f57b912c4ce3ab2e2a8b7277d5ba2e76fe2e2134f85e4f6045", - "platform": "linux/amd64" - }, - "linux/arm64": { - "digest": "sha256:32d48d34af09070e4fe8479683d6280c5fd6711890e633ac94fada4035e3b756", - "id": "sha256:0907db568bd88ab8550b6d912aba75fdd20be2a937367b77837a621682f609d8", - "platform": "linux/arm64" - } - } - }, - "docker.io/gitlab/gitlab-runner:ubuntu-v18.2.1": { - "digest": "sha256:e37142793d94abb8e66258d43d622b9d132bbcc1c3a6b4f9cea7dd0e8d839996", - "mirror_digest": "sha256:bd557b08032cc5582d2cd97bbb058c4dc3f82e896b63d7792484f161d3fc1623", - "parts": { - "linux/amd64": { - "digest": "sha256:98271bd866bc798dc2e11ffdf2e838d0e7e1837e42b350e7c606d565cf0dfdd8", - "id": "sha256:fbd362edd5dc642642108998a2f362ec03fa380dfb8ce609c46be28abb5ac227", - "platform": "linux/amd64" - }, - "linux/arm64": { - "digest": "sha256:a5f367f0964deadd2fe26b115e5eeabcd0674a58110bc92c2e211aecd7a9cb02", - "id": "sha256:2f49053b767c803d37c3fc8d042eb335761d7903eeb1d6c834604e0d1eb7f8a8", - "platform": "linux/arm64" - } - } - }, - "docker.io/library/docker:28.3.3-dind": { - "digest": "sha256:c0872aae4791ff427e6eda52769afa04f17b5cf756f8267e0d52774c99d5c9de", - "mirror_digest": "sha256:8540613af2771eff7cc76188d1e2071e5800efcc17b2b640e4f2dd84d5ddd11d", - "parts": { - "linux/amd64": { - "digest": "sha256:acf2e2d09cedf21fa8f27bb0962674e33e159c744c152b248f1f7f43623ccd82", - "id": "sha256:b2a8bf985f76be7345c0c827c568db287ccb4dfad919a4693488224e3644fb0c", - "platform": "linux/amd64" - }, - "linux/arm64": { - "digest": "sha256:88bf2ba4673e2963049952ad60d46389e6d2be3d31f0f4d1d69c55e0712d22a4", - "id": "sha256:e0680e652cec44e947fd5401c80526cad1e184420cc2645f6399d102127e5bbf", - "platform": "linux/arm64" - } - } - }, - "docker.io/cllunsford/aws-signing-proxy:0.2.2": { - "digest": "sha256:928281593b8b69bc6608d113c6bcdd5c291216a6f3596403cb89309e4de728aa", - "id": "sha256:6cfb415b5f85e3522b4fd21c692a8343396f07db17e4056e21af94719cddf734", - "platform": "linux/amd64" - }, - "docker.io/lmenezes/cerebro:0.9.4": { - "digest": "sha256:7d9e2b77e459e55b4f8173f7a2fbb5257d88d5af829577266c5ddf2953fe82ec", - "id": "sha256:617b8f87c98a03ec4efffbca9534dd36dcdbf68235f775a78c6599a96c0bdb40", - "platform": "linux/amd64" - }, - "docker.io/opensearchproject/opensearch-dashboards:2.19.3": { - "digest": "sha256:a6b92ab4ccdb71a056347c1ca1022c4266e2cfd20fc0a74a6687433cb258ae71", - "mirror_digest": "sha256:0654300473c9f3b3e6dccbbf906eafb996293bcf9b42208fcf353cfb19a357fb", - "parts": { - "linux/amd64": { - "digest": "sha256:b51521e7ff99d6dbdc160835a2fbeb90465bfc58f92f3aa4387ecd56ae051d2f", - "id": "sha256:1534f70025563f31d9dea585dae5aeb508e7fbd24b4d40672bdab61f1351b094", - "platform": "linux/amd64" - }, - "linux/arm64": { - "digest": "sha256:4de79bb89763da9dd068335c8f57d6190dcc4e97b43d6440bab21a495a630e55", - "id": "sha256:cb69221a8c12e29464f69660ec60e4776d4b03fb0a8a9acc3b80f8fd4d312086", - "platform": "linux/arm64" - } - } - } -} \ No newline at end of file diff --git a/docs/azul-arch.svg b/docs/azul-arch.svg deleted file mode 100644 index a4bd471989..0000000000 --- a/docs/azul-arch.svg +++ /dev/null @@ -1,1744 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - Azul Architecture - - Layer 1 - - - - - Tallies Queue (FIFO, one message group per entity) - - - - - files_123 - - - - - projects_42 - - - - - samples_71 - - - - - files_98 - - - - - Data Store - - - - - Notifications Queue - - - - - ContributionsIndex - - - - - AggregateIndex - - - Rectangle : Violet - - - Indexer REST API - - - Rectangle : Blue - - - Notificationb1 - - - Rectangle : Blue - - - b1 - - - - - - - - - Rectangle : Blue - - - b2 - - - Rectangle : Green - - - Indexer Workers (64) - - - - - - Rectangle : Blue - - - Bundleb2 - - - - - - - SQS Push - - - Rectangle : Blue - - - 1 - - - Rectangle : Blue - - - Contributionfiles_123_b1 - - - Rectangle : Yellow - - - Agregator Workers (64) - - - Rectangle : Blue - - - 1 - - - Rectangle : Blue - - - 2 - - - Rectangle : Blue - - - 1 - - - Rectangle : Blue - - - 2 - - - - - - - - - Rectangle : Blue - - - Contributionprojects_42_b1 - - - Rectangle : Blue - - - Contributionsamples_71_b1 - - - - - - Rectangle : Blue - - - Aggregatefiles_98 - - - Rectangle : Blue - - - Aggregateprojects_42 - - - Rectangle : Blue - - - Aggregatesamples_71 - - - Rectangle : Blue - - - Contributionfiles_98_b2 - - - Rectangle : Blue - - - Contributionprojects_42_b2 - - - Rectangle : Blue - - - Contributionsamples_71_b2 - - - - - - Rectangle : Blue - - - Notificationb2 - - - - HTTP - - - Rectangle : Blue - - - Bundleb1 - - - - - - Rectangle : Blue - - - Aggregatefiles_123 - - - Rectangle : Violet - - - Service REST API - - - - - - - - - - - - - - - - EmulatedSQS Push - - - - Deferment - - - Rectangle : Blue - - - 1 - - - Rectangle : Blue - - - 1 - - - Rectangle : Blue - - - 1 - - - - - - diff --git a/docs/compliance/change_management.rst b/docs/compliance/change_management.rst deleted file mode 100644 index 9c45af2757..0000000000 --- a/docs/compliance/change_management.rst +++ /dev/null @@ -1,263 +0,0 @@ -Software development policy & procedures -**************************************** - - -Introduction -============ - -Changes to the system are implemented through a workflow process that involves -multiple team members and covers a range of steps including the -conceptualization, prioritization, implementation, testing, deployment, and -verification of changes on the production environment. Multiple software -products and services are utilized during this process including `git`_ for -version control, `GitHub`_ for issue tracking, pull request (PR) management and -continuous integration (CI), `Terraform`_ for deployment of infrastructure as -code (IaC), `GitLab`_ for CI/CD, and the cloud providers `AWS`_ and `Google -Cloud`_ for cloud resources. - -.. _git: https://git-scm.com/ -.. _GitHub: https://github.com/ -.. _Terraform: https://www.terraform.io/ -.. _GitLab: https://about.gitlab.com/ -.. _AWS: https://aws.amazon.com/ -.. _Google Cloud: https://cloud.google.com/ - -During this process of managing changes, several separate `deployments`_ are -used. The `dev` deployment receives changes that were merged into the `develop` -branch, and allows verification in a scaled down production-like environment -prior to changes being merged into the `prod` branch and deployed to the `prod` -deployment. For the `AnVIL project`_, this setup is duplicated with both an -`anvildev` and `anvilprod` deployment. The two dev deployments `dev` and -`anvildev` are updated together from the same `develop` branch, however they -differ from each other in their deployment configuration which specifies the set -of TDR snapshots the deployment will index, and which metadata and repository -plugins the deployment will use. Similar to the dev deployments, the two prod -deployments `prod` and `anvilprod` are kept in sync with updates from the `prod` -branch. - -.. _deployments: https://docs.google.com/document/d/1Kg0dMZmCw6gtkvabD2jYWPZO2Mx_wsC8BJPKdeKTfg0/edit#bookmark=id.3zefi1arki7p -.. _AnVIL project: https://anvilproject.org/ - - -Issue Management -================ - -All change requests, including requests for new features, changes to existing -features, or changes that address defects, start as GitHub issues in one of the -GitHub repositories used by the system. The GitHub issue includes a description -of the desired change and, if the issue constitutes a defect, the steps needed -to reproduce it. - -The `project manager`_ and `system administrator`_ triage the GitHub issue, -determine its priority relative to existing issues, and assign it to a developer -for implementation. - -.. _project manager: https://docs.google.com/document/d/1Kg0dMZmCw6gtkvabD2jYWPZO2Mx_wsC8BJPKdeKTfg0/edit#heading=h.jk936f4i59y8 -.. _system administrator: https://docs.google.com/document/d/1Kg0dMZmCw6gtkvabD2jYWPZO2Mx_wsC8BJPKdeKTfg0/edit#heading=h.o3qbvwbucpqo - - -Code Development & Peer Review -============================== - -When working on a GitHub issue, the assigned developer will create a feature -branch using the latest commit from the `develop` branch as a base. The -`develop` branch contains the latest development code, and is updated by the -`operator`_ through the merging of tested, reviewed, and approved feature -branches. - -.. _operator: https://docs.google.com/document/d/1Kg0dMZmCw6gtkvabD2jYWPZO2Mx_wsC8BJPKdeKTfg0/edit#heading=h.1rxjx57g24fq - -Following the guidance provided in the contribution guide (`CONTRIBUTING.rst`_) -and project README (`README.md`_), the developer implements the requested change -in the feature branch and deploys the branch to their personal deployment for -testing. A developer's personal deployment is similar in configuration to the -`dev` deployment, with the main difference being the scale of the infrastructure -(such as the size of the ElasticSearch domain) and the set of snapshots (frozen -sets of metadata documents) configured to be indexed on each deployment. - -.. _CONTRIBUTING.rst: https://github.com/DataBiosphere/azul/blob/develop/CONTRIBUTING.rst -.. _README.md: https://github.com/DataBiosphere/azul/blob/develop/README.md - -When the developer’s feature branch is ready, it is pushed to GitHub where a PR -is created and connected to the respective GitHub issue. GitHub performs CI -checks against the branch including running unit tests, checking for -vulnerabilities with `CodeQL`_, checking test coverage with `CodeCov`_ & -`Coveralls`_, and security scanning with `Snyk`_. The unit tests have no -dependencies on the cloud infrastructure in any deployments within the system. -If a unit test covers code that relies on a cloud resource, that resource is -mocked by the test. Only PRs from developers (team members) kick off unit tests. -This is because running unit tests consumes resources and requires credentials -for uploading test coverage results to CodeCov & Coveralls. - -.. _CodeQL: https://codeql.github.com/ -.. _CodeCov: https://about.codecov.io/ -.. _Coveralls: https://github.com/marketplace/coveralls -.. _Snyk: https://snyk.io/ - -The developer then follows the `checklist`_ included in every PR to ensure that -the PR has been properly set up and is ready for review. When ready, the -developer requests a review from a peer. If the peer has review feedback and/or -requests changes, ownership of the PR goes back to the developer for updates and -the review process repeats. - -.. _checklist: https://github.com/DataBiosphere/azul/blob/develop/.github/pull_request_template.md - - -Change Approval -=============== - -Once the PR is approved by the peer, a review is requested from the system -administrator. If the system administrator has review feedback and/or requests -changes, ownership of the PR goes back to the developer for updates. After -completing the updates, the developer requests another review from the system -administrator and the review process is repeated until the PR is approved. When -approving a PR, the system administrator decides what procedures (if any) are -needed to demonstrate the resolution of the issue, adds these demo expectations -to the GitHub issue (or marks the issue “no demo”), approves the PR, and assigns -the PR to the operator for further validation and merging the PR's feature -branch into the `develop` branch. - - -Deployment to dev environment -============================= - -To facilitate CI/CD to the various deployments, multiple separate GitLab -instances are used. One GitLab instance is used to manage both the `dev` and -`sandbox` deployments, and another GitLab instance is used solely for the `prod` -deployment. This setup is mirrored for the AnVIL project, with one GitLab -instance to manage both the `anvildev` and `anvilbox` deployments, and another -GitLab instance for the `anvilprod` deployment. - -The `sandbox` deployment is similar in configuration to the `dev` deployment, -the main difference being the scale of the infrastructure. The `sandbox` and -`dev` deployments share the same set of snapshots, although `sandbox` only -indexes a subset of each snapshot. The operator follows the PR checklist to -validate the feature branch in the `sandbox` and `anvilbox` deployments prior to -merging into the `develop` branch. The exception to this is when a PR is labeled -`no sandbox`, which indicates that the system administrator has deemed it not -necessary to test the PR in the sandbox, for instance when the change is -specific only to the `dev` deployment. - -This process of testing a PR in the `sandbox` deployment starts with the feature -branch being rebased on the latest commit in `develop` and the squashing of any -fixup commits. The operator then pushes the feature branch to GitHub, followed -by `GitLab dev`_ and `GitLab anvildev`_. On GitLab, the branch is run through a -CI/CD pipeline to build, test, deploy the branch to the `sandbox` and `anvilbox` -deployments, and run integration tests against the deployments. The difference -between unit and integration tests is that unit tests are specific to individual -components of the system and will mock components that are outside the focus of -the test, while integration tests follow a holistic approach to verify the -interconnection between the components of the system as a whole. - -.. _GitLab dev: https://gitlab.dev.singlecell.gi.ucsc.edu/ -.. _GitLab anvildev: https://gitlab.anvil.gi.ucsc.edu/ - -A reindex is performed on the `sandbox` deployment if the feature branch -includes an update to the set of snapshots indexed by the deployment or changes -the behavior of the indexer in a way that affects the shape of documents in the -ElasticSearch index. - -Some PRs require the operator to perform special procedures beyond the standard -deploy/test/reindex cycle. Common examples of this include deploying to the -`shared` components (which manage infrastructure shared between deployments in -the same AWS account, e.g., `dev.shared` and `prod.shared`) and updating the -GitLab instances. These special procedures are referred to as upgrading -instructions and are cumulatively documented in `UPGRADING.rst`_. - -.. _UPGRADING.rst: https://github.com/DataBiosphere/azul/blob/develop/UPGRADING.rst - -After the CI/CD pipeline in GitLab completes without error, the operator merges -the feature branch into `develop`. The operator then pushes the updated -`develop` branch to GitHub, followed by GitLab `dev` and `anvildev`. On GitLab, -the `develop` branch is run through a CI/CD pipeline again to build, test, -deploy the merged changes, but this time to the `dev` (or `anvildev`) -deployment, and run integration tests against that deployment. A reindex is -performed on the deployment if the feature branch includes an update to the set -of snapshots indexed by the deployment or changes the behavior of the indexer. - - -Deployment to production environment -==================================== - -Once a week, the system administrator and operator review the recent changes to -the `develop` branch and decide which changes are ready to be promoted to the -`prod` and `anvilprod` deployments. The decision as to what changes to include -in a promotion considers a number of factors: For one, changes should usually -mature on the develop branch for one week, before they are promoted to `prod`, -so that they can be validated interactively, and more subtle defects like memory -leaks have time to emerge. If the changes affect a REST API in a way that -requires changes to the UI code, a second PR must add those changes to the UI -component. Only after both PRs have been deployed to `dev`, can they be promoted -to `prod`. The operator creates a GitHub issue for the promotion, creates a -branch from the agreed commit in the `develop` branch, pushes the branch to -GitHub, and creates a promotion PR. The promotion PR contains a `promotion -checklist`_ of tasks for the operator to complete to ensure the PR is properly -set up and ready for review. The operator requests a review from the system -administrator, and after approval the PR is assigned back to the operator. - -.. _promotion checklist: https://github.com/DataBiosphere/azul/blob/develop/.github/PULL_REQUEST_TEMPLATE/promotion.md - -At this time the operator announces the promotion via Slack. The promotion -branch is merged into the `prod` branch, then the updated `prod` branch is -pushed to GitHub, followed by `GitLab prod`_ and `GitLab anvilprod`_. On GitLab, -the `prod` branch is run through a CI/CD pipeline to build, test, deploy to the -`prod` deployment, and run integration tests. A reindex is performed on the -`prod` deployment if the promotion PR includes an update to the set of snapshots -indexed by the deployment or changes to the indexer. The operator also performs -all accumulated upgrading instructions from the changes included in the -promotion. When the operator finishes with the updates, the promoted GitHub -issues are marked as merged, and the promotion PR checklist is completed with -the operator unassigning themself from the promotion PR. - -.. _GitLab prod: https://gitlab.azul.data.humancellatlas.org/ucsc/azul -.. _GitLab anvilprod: https://gitlab.explore.anvilproject.org - -As a final step in the process, a meeting is held once a week for developers to -demonstrate to the team the changes they’ve implemented. Following the demo -expectations provided by the system administrator at the time of approval, a -developer demonstrates the resolution of the GitHub issue to the team, and if -successful the issue is then closed. Issues marked “no demo” are also closed at -this time. In the event that a demonstration shows that the issue has not been -successfully resolved, the original issue will be put back in the developer’s -sprint for additional work, or a new follow-up issue will be created. - - -Hotfixes and backports -====================== - -An exception to the procedure of change management and deployment detailed above -is in the case of a `hotfix`_. A hotfix is a change made directly to, or that is -merged into, the `prod` branch without first being merged into the `develop` -branch. The system administrator may determine that a hotfix is necessary when a -defect is discovered following an update to the production environment and there -is need for urgent remediation. Using the checklist included in the `hotfix -PR`_, the change is created, reviewed, and deployed to the production -environment. After a hotfix has been deployed, a `backport PR`_ is created to -backport the change from the `prod` branch to `develop`. - -.. _hotfix: https://github.com/DataBiosphere/azul/blob/develop/CONTRIBUTING.rst#hotfixes -.. _hotfix PR: https://github.com/DataBiosphere/azul/blob/develop/.github/PULL_REQUEST_TEMPLATE/hotfix.md -.. _backport PR: https://github.com/DataBiosphere/azul/blob/develop/.github/PULL_REQUEST_TEMPLATE/backport.md - - -GitLab updates -============== - -The GitLab instances used by the system for CI/CD are self-managed, created from -`GitLab Docker images`_, and are routinely updated by the operator as security -release updates and new versions of GitLab become available. When an update to -GitLab is available, the operator reviews the list of changes in the update with -the system administrator. If the update is approved, the operator will first -create a backup of the storage volumes attached to the `dev` and `anvildev` -GitLab instances. The operator then creates a feature branch to update the -version of the `GitLab Docker image`_ and/or `GitLab runner image`_ used by the -system, and deploys this change to the `dev` and `anvildev` deployments. Once -the new GitLab instances have been created and are active, the same change is -deployed to update the GitLab instances used by the production (`prod` and -`anvilprod`) deployments. Once GitLab has been updated on all deployments, a PR -is created from the feature branch, and the PR checklist is followed to get the -PR reviewed, approved, and merged. - -.. _GitLab Docker images: https://docs.gitlab.com/ee/install/docker.html -.. _GitLab Docker image: https://hub.docker.com/r/gitlab/gitlab-ce/tags -.. _GitLab runner image: https://hub.docker.com/r/gitlab/gitlab-runner/tags diff --git a/docs/compliance/cis/CIS_Amazon_Linux_2_Benchmark_v1_0_0.pdf b/docs/compliance/cis/CIS_Amazon_Linux_2_Benchmark_v1_0_0.pdf deleted file mode 100644 index 586474af23cf84210cd21e44f2193f892f5a5c8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2581797 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
  • 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%0D+Hbt2B+>jDPv08wI~!L+l!zc#cz4K0nyOAmy4- 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 z zwfv|(Oe0CwazxA^!5-k5K|1y38dTU%`AmNWIXi#_ja>%N57UuGeyJb(+XA33RU_hm zKgRaW_K?G3Ef|){4RgUmPS0>@M*aGX+amli9znG>pwJ-VuSMu|#aIdVeGZFaA)SCA z=^l;wNtCWlZj*cf8_9WuXeMpkfGj!)(h0%W~5;3f-ah8&Br>&qab3S2wd0lB&T`QA}8swfbAP8D5#dbsHLj5h^oD=R?T* zxm6~R6g64F_&Em4yT9cEyozqCjVD0Ui0$fcf=zHe061e)A$BwHET;V_chBj={OSlCht-^9{kDPST=K&d+!srKI)QN+&bd!Jr{LC6f% zEH$1QuY|sBHLLWaCyBESHIlzfeWea9~)|9+ie62v_FUT*F40 zEggwycf-rGY-`Blq`v%%@d_inb$=L7rgRwFJmy3S=6TwNEDNax`I+3CB5C9#NX!I~ zMMpNDkt9zRn$63e*5l6yT)Z|gmRcSZFkPV>OTJGdU`dySfT$h6(G|w+5{GwO~cEu=z4?Y4@n=A6FwpCo7Z1f+lN-Bv z^e4+moui{$dWp*I2^F4XKZpmU%b=+s7*QqoX5%zU0?+B_`w!wJnp10Ami!>zw>E0E zzEl8^{VM%;baRcZZkfDa@q(T9G#SA@${xdu9ay5>TKNF$9$@QlM^YBfojN)jYn&js zwUc?u(m{>l-|#Z$L6c!rSv&Dv_Q^`{g1((bmBoZx2szUP2NYT@?WT<{V*-jxrIG3= z>i068MugBdDm1|Xl?zdm0xh#`^No#QmV^a~yKe~2a8VY_UWo{FA}7d8h)4|vvQBJ@ zyfDsWinxSUq)?}$CB%uj67zp@I1t}ij`?5~63vMe#ff@iuj73_7@~F{Z{j6n2v-(A z7DL#Sgze^LY{}HU?>=nPZJm0_K9h=K3s4coAlSepSEx6m>hz^Jt+{nH5TA+AjVsqK+yKh3tDd>c*#c@$q%*Vmzg|xQ+&=Hu* ze-t$c)(XHT^cMt6-S5h|_EDfbJ&1GGbmkbB{d8aA6a%#hR>hqfJ+43!) zR3i%^T{KsEB#wY;34wRK>$#Z)e%^I?nO%R{-Qiv19cKbvi7o8_k9vNIZ_Lk9`sZ*% zI@e%TT}L9{5re4G!$3gk?q0hpTP6O>$2bkL%z!9>F(o;9nwox+aP9b_%HCcwHAq-bc2+t#CJfik57MGVu!W4$ez_ ze`eu{G}^g1+!g^-%|gxr&o8sl$=VAxZPMtpE-%&|yA6}O1iH18x2y`=%KiAas|91O z@03k*(|I#h&YrV>L=n=e&6fWuitzH>`{BGHA*OUt2Uz2=^T+#re*XIV`~9h_qoEJ< zvE8Ao^LwFQf^^7Z(IDz$X}mvp9kd3Mwd{l)_6B@z@;il3t@`xztEdQfL~b3gmlB+R zgSWoiJn!(xzE+Ng-f#x-Uczw@3=3b@43{H9bUYSRR^1f+*9uQMqQITP@m_Q#SOw}114lq*uKHG1!3n*7j6)uim*iP~ z?4#gG-AhJP27PCM{xU>#eZQvFzmdB%#@q9E8ed0t|BxPEd@v=S;P7wzY74|b7Lw^9 z!P=_sJdaoI>VJ`*y4C)0Fg9BURQ8K$Furb1kS|Bo?^|2-X`iwoa7?}NwbYYM=2yvP zBUrw-DEU7iVtp&4o*JwSnwM2<{9|`X(>!IKR$AFfrSw>0_Sh|xSU$ft`%o_G9W;qz z>8D}4wN!4c569ipB(5edc_wmFD(MB}?seL)*G43s_C=PcgFV3t!1IV7K0<=Z)hLQ# z>>g5n^bv&-_cn>U3mq^ezY>A+{P^T;h;v0y956FHxX6$^E7;q}GCc^@=lDL=Yp}&? zuS8lHit`yHBa~1+lch#n%&1Gnlf;LgIKK(--_nj{Gz!T@U@lnZxJ%_tCk6wd*)bCR z!NIcGqOq?2BBpN_`X01aG?~pN^aV5p1{(w2>OsXW1Kk=+6d1ql@a2O{H&tg0{RMCqoZXkPdOB{F}feeN(}(-j+9b8ZgUaqBcY~T_=a>F zR;x2ZLO!@dMaS@l*NGf8sw^KI1oKt`o+maV(7 zkmh9E@J_7MgtLiqN(bTJM4-CsWU8XBM)E?bO+p&@!VLszgT{$F%;<1=bIKUfgHLt4 zQ)3E0)*6exWz0}_IT6SW3g5@Bt|=>+VMrkP*I{Bk+!Y}#)nN9h1x5i(hXR>@q@lwe za{E>4mH{vEn|E!1MN;l;6ssu_@ufKOy?zM%$728DVHTgBkG8_T(ZC{DHXIZNHdwk z?*kWo_|_UsF+cGBJqk*s;*Yj=cL@&zy{XnL;{z1!TN*k<&G2Duhp9eh@~`SQ6s^X@ z^LkP7G@o&0zS7`CdDjxzXw;y0A}}NB%gIAdvXq;Sb`!;d2{ac;DHe%x(^r-lR zv*(ftVF034E+~MAqV8U+-D-3(9;iS*^}f<@&TH(Pb>{3|p{|^^!$L8dM|L%piIG2l zHd-?omCM{3$uf|r`e}H^7Jt8DIy+cBSVRHOFgr0INPDVam9g=adfWx4OB^gt51@bt z`oytx*ISPA9G|IlvZz8y?vAlb9#!FjW@mOl{KYpb*sAj}Q94h<9Mv4?zU z!E63~`XbnQXy?xeYoVLQT68WRfN*TW7Flkz*HO20;!K z=oFyj9@?7UHqNS+8XN8M--nK>>{i!wJmz*~!@(5nQ@v*rYc^RsTIcF6+(_#y+a2qx zE10zPri z)zd3$hlf8a`Q{1+r$(|(L%{a|U?o3&|K3IMI@kO@_3tWx(B^pEzwfJZalAYXV=1cD zp>4J+;7&VF&j;syfL-0iJ+Ti1gw{*;r5fP3$l)*?ke{+4>B`O_Ukv>dzR1{>=PJ7< zRLv>q2JH4aW55{n^QK{|JU(mBF&P#Y;5wNS_*?cosAZV(5E2M)8DD?9*=stiW4O?5 z0@b_h^P#=c6i{oqb&mcZGa}C)FUPr{vbm6B;(EOD*rGq+Jw6<5s^!tf#V*pi3F-!_ z8RQFj{hk9^0DTIQz*aFT-GFk^F0FBAd+1W)vU1j!y$g*$~e-%LKr>($nwI;IG9coiX zj@f7p4wDMnLijUqJX105d|v3c!}`KgB-@ollvKSP8NxM%N`@C7cG4Z8Tc)`Q?%dj@ z=12QFR;Rzl-qLzlEmS*{>|(VbE>9YXj7pRh?p?>n=9Unn&>IyJ4_gus z)X;*Ff1Qb2svo(0y$Xl@mE9Gu9yJ2)w;L2tN-9 zN;!B=oIdsioT%M!@FyI=QuufVUyq0uHY}%%vniJF3_c!kt9nku|IBW;yL$K zo(AkLFh+Ar@4YsM7R36d5b~!Q;zG9QvpvnkE`jls@1FN%>RF+loADNZX?yu8AxbVP zWIa6UdD{{K{5B<+Hp%L$-fh(YhCTFnLWMXB`Q;HYU*r{o(e(VG+U zXjLk|Ea$RJ(wxD|2vmOMsu_Z5&r*YQg_WY(UD!>T0ViNgT>YAcHcZWMxdLv^ZTOyA zwr<))ia>=Y|1v1|DsKGa(Q8MW*0)x%_eR7MCuqZpn#*j}L*Be3>>l+C2#l@_=-?Z0 zM@~NBe}K<_7g7Ijg53Ye1pW6mqqO}22U0iqs6PP%x@TR1Xp|Q$7HlzhrXYNayEk{= zWq~ zxXX06EI*2>YSmZ9b~jJy0{xh88o8?4;X>AXO}{ojx@c<6PLDZ$4PV1|c3%7DP>+Vh zaRUI~fJTF>m*4XZzNVkw^WO7^&3mKC?XH`nADKbI1c-9tF5UwvyzY>lI>T{#R>D>~ z1Aa%DzT(40`UA5Ypoq$#o%s&Vne3NAYfo;T?!e$T7e9ASu!f_57BG>_V>jm{R$>A) zt4ydZ+EY5MSNFx8!1e4wH+3YL?(BKD3|%pOwut}MK>B^oA{zAgQU5O;OOZq9Y~m17 zktooppX=bhnIHPBV2C63GQA_7dPln!9@8z)KzG#FG{6U|znHKXGIjBp=0isz#+HN(dWl=QvHRz5%!MD{+m8Jh>eUWp~&c0L{_?nReCNSMQPo z#D~*HeQla1{~3UZh2g&+3w652>{O!B;BCLnc?+WbGa~(wzcP{D(EoBaQepDgX7W%q z*fEAX`3I9{1k&H#;W`U*I+n&`8pr;Fj}x{uSV*N{M)yXA@H()d%-pd!mlqf-fl2x~qTQ$ks zJ;KgD%2UP&?y0%^68918rH9Wc21kdY2Wm5jtnQVD+8h9*JREE!Rid>T03d3>E4LfU zyW5{nOVS-9oMxWwtP>;Mt#>s2Ex4!|;YH0FWVRNBL#II=B%hd$<2qsSU}hR!M>1ls z##8FRZ7xq~31R>$jP4*x0U80sGiGd0@Fzep5ZK}|2P78~A|nH??DXo8&s208X=5CA zlQ7*Oe6o5Dgxom=NbkI4>!8~Z0ixy>=oJO7AzP85-_pH_NYjQE%}ELgW^>v#0)w-$ zi6;38Itt89Q`6W0`E*I`60;<6?!7UNq2nF)TCX4j@|08dT}FGY#UQ0Wz(Jp3sOVXa znF*&?n-h4d4^#@`5-h(TNrcb}m5dIKlV&GrSnYSI6W|CaBr!}S{sq7*= zEnnSXwJJ!i>LYqyO%(ayF<2_rA3x|VGjicl6s~qL@8tD>Eb>h(+Cbb(kKOoG23i7I zL$Je=;U;LmIWpjxHkw;70B*u1wWbnt|NSo-Yn^$b%)Mpuj_{hr>p10tkpaFAZn>OB zdFT|6Cx_l{6jZ+n-?8sl7!*tz1_9FI;=@(fQmwW1j$EJ*uToIletQec2dX3I9{I0^ z+}1Uc^0oC+S6@7=ay%^;6YB+`klOyQ(rRa+%R&t!G+mw>yIsvdZ&y+L_2#BroPvIr zs*JrFU&6=4jo`B=EIZYvmkX%+^iv9gi)~PGK_#-s9Ex+lE=2?0$);uD!Z>Wj4g}e7 znUyUaJTSgg!Jq(e6|88_5QI1n6d>PgP~E#~ec+!c71o5NCQ{A_>(ABfrjK5=p$|vh z%`5FZKIIWLGq4OKy%5j@!BVd|i@acCXhLBe3e!UaX__}dOPs7h_`7{@`^4dT%}0bE zJdI_^)u3;^YIL@VVHuROF*_Ng;+US)g}=F&f&egpN+LouM&v1kUqRh6^Vve!oS#ZC zlfHq!pR==<6+U`S24lrxMGN6rZ^rjZn{xhT>K;*Z)7k>T@%%ZB21!?hsO@6&%5D^W z`)IY3YTHLMF+rtCxAsUkQMU9)4qotDV}=ieQ#T3MWQyz%EAxj)eu|9!Cf{pgP2$|Qi5UTGLbK{V8v$p0L_=DCADILgI&JCjd!O5 zSe_jTb!HgLA#bi?Ph_jWmSvZ;Br8@$kBRDHE^2pCEHQ>Kv)|K5fu%D}v0s>nk4*O+ zomzvMx}AO|Uxxn+h7*di-i%wqms@g7%?95AA=n{$K8^92Ipfekd!2C4K5twNle7;D zLYK89gA`RZ&pojfM3_KFJpI{LRi+rbAd=JNuK_aF4eZRrlvx)0 z35WmpkwiNWPw(R^0xTyM)3giw6vo0qFjpMJ9#`&0pF6koU!4(WZef|b&HA(2xp@dF z-EEzNA>|P+eKzszGJFddP#ndWd(6YfjwS;SyV0&$5-e-Ru>7Va0aI0$=PtcmFBA%| z#HJHyoB77_RLEJdA922 zfVx&@tL{pI>y1XH17Zn%mcmA_4&x@ub27`zwL4=iJEFXiA~!FekYV&VjOO_*5@Ing zADIzY!!?T{_8EQqB3|vQDvk0RaIICk$1^ZldOcLnX1d?b`Ar#!%GB!&Z^5x~BWgG@ zcv2pK>YscAJ1#StYKJsUOJqd4a^tup9u9piQUF42wWrFQnNr2Wzh4Q|q*Ur1C$w4% zs2yK0B=oe4kep}Q>Xcdy6quKpsPR`}n^`8$o9!@Sak^sBFvU0)3lmS{%8BT0P2~dP z>Aqc|O2w-W367we2_foA_&|tpe&(O61EQaL!hOtpF@GzJ7#BjTk=%f&%&EvQd{LUQ zx&@cK@2MR~7AZvWB|rHf^;e7K{E>JrBv#F!a#Q#RKFf&}Y)O~A(vZAo3DWhHt>H=o zBz1WeBFX>m6dU$Ab>oNe;3dGi@d1S|GPLbJDwmhoLKz1jupZ6u=nSOxL zg~R+Hr*tCB`hSm{EDZl95B*<|lbP+m_B(&%hZ`+Oe)1*N5w2Ik#lkChp30U1)Ek_*mTF?7K zx2hY*Ln`sBCwmuvY%kvQ2mU?@!Sf#`H;ivI)P&`!!PDx!H`i!)`Mf1{`TY(1^z}x* z1^8wn)a*5S%`-`&eY%?Z_A^_$n!5PAk+oNw)EE2r?kYAw5D;0WBq*FFi3bv;BX1yM zhmX`|zSqY_sAqnvcE`?s6(Hny$`*PaZ}~^h>L-3H`;EaqzrB6U3V|{Y*J1!ja_0=5 zGa1RA(37;`U(wG4DLs@Bo;3NxJBkF7hh67gaFg{p6{zasYnRA{90odRF(BU2TrVKo#C);Ep;2lG@9W@vjHe~%M&n!J_QUgD!}oupL+Y<``zLs) zHU`~DU%?Z_!)kwI(EET|;}7aVYTRL|EvDjo8h;3?0|})wt_jYAv&is@5vSg|mabL)#1(K* zN8{A;r5NmKt`%-A_vo0n#K{rGw#V3V;XooE0kdqG>^_}WKphc`Cb)_CjRsJaWfb|U zw>z&r$o^G9Z5|M21YAgqmCYRR-b!O;96%9lwbK0ki9+i@+QO8EOU^?;GfxIP2C^y4 z0CfB;A_-Sp(P^a<8vsbb|aBufkjZ+?!3ih8Hs((&eS{9 zR6N6Nh_TJ|7-3T;|5qvw2te_&>RD7z7zR+{lvj-piV#G^B$;V=tXG4h zB%gQ?_+w*#&;Z_@k|dsqF$7#dX1UgBJU9_=%^XOcr24`V&=aGE97(%w=e$P{L zYXaB+c*NT{S(KrOY&&M4sJ(9DQ=9`e<73$edyH2bEu;wmRz~_hSSHXXl&94l41;=G zGdLUbs+dgE811C1lxITka4umR8jrL!G|s7)>hKyjI}wh3BX?M+*?gnWvCUprU*E1K zFF{bAOR5Mk{VA%hNqngV{N{@eT-#G%@jzGeo7Tb_Ew2VG#F{;_G>lR2(w&NlWu36I z1OyfAkvMZsqF&YS5|QzN$(C_vUWxtR;EFC%>Zqp4j=Tf9tP%isgmH{R8fl|$D=vJZ zeX~eG>a^CS7xVG*3aUh6}3K^8;PoYCN%b8ujY!)bU@AW_TeUTN=6) z8eJfqn7JQikMt0O)8{kTLfy>5Y~9>=D24)fGQu|)I;<9ziGfg-k0=ybnr<(aX=TEb z(y-b?z=6+O!EiNeg6?O8JCL)2nvikG8- z{-3(&?$W#y8%{Ox`p~B}`}4_vx@`q8chNL&sIm)@H<2S2PI-7uE==0IuyQ&qfNwdBCFV;1aDTaiqO zP{2im#40OrXWF|#CPYTjmgNee+x_O6J3Mc5LcHpJa5v%Ju?z1wT0r8GnIm=8Q zfJxXN^quaSa5>ZV@MVZcg(u2#+*Cz@L}8P3JK7(+i2M2bGuVWmQIEz5l8;{&Y@&yb zf?KdM5gP7uK0lp(#P=t7=a_>P{}8V!joW>1hHi4^w-YP}ZLeIYj#AEwj2AHraPtnn zMu%mCt=s)l{#jU*A@&WxHEsD)&;F6?NMYR=ZyqJ``QA|U-m3PRwdz~XB@b15^WP9{ z75pDy?Ef+horUGUMBX)P{~s8`KQc;3qf|^Uq)aHboC5}tOa^^NI25E_uqI48BA(l_ znc@8IVoo`nkV>(km&faDk#G!S-q9JG)K{m{CMzf6|77v6R!OQk4D!kBp-iQUu6^hz zi_P|z!E10WY;fZJ?(9;3JzZ%~X?TA#zdufIJ=|GQr*pm2pX6|q1jsX-lqCJhyZZ>N zs;%AL)YYHzKLP=}PFqojA!`poRC z$WP>ch8`Zhrtb7odr|3Lcl#52m+p-4R|Ur@AJW=OAIB(GLL!r2CiIg1NniUhrJlx>yGKDA=f7ZKVS<>f*)Dl{^YVmuV~8?!O>u!^QpD&#;I!( z&tPQ33XS7ls4_}Y=3v)jW3z0JK)1=r0J7SHPL)f4nX0|jM2dz>&687>TWsLZw%oOW9XI$IPWY1p)l1qP(tAdvu| z79tCzmSomhgas;)=P4*>=d}7X2XYy3(ZvDP2!`$6Tgk@h?O+h@GyP$JLkairL}(=j zT6tyQBsK%nV+sHTv&cB^SG?Td!hn{fSKHFu9LOGY#A?S%^9H}Y(1>6#Ft1BYkXz_h zo8G>M6tV%A8RM!bIg!+=aLP>|T5N>UkeQ}@FJ&D7dAcLlS6 zJxSkFS^s-G<`lrUA57#$DF7!sXMH07oSWurZ3w=^rfFNsRyw1hBevk(-lDG>;SR4v&aQ zQr57T2`1?!wTzr}PvcFx0u~#|DoBv5D9v+ro4h}MNh|R$F;tLr>eHC*m0ZHF#*7%9 zhYnz4xCWp{PXa$Y8YPd~P!0!U4Ltqa!ypZ|>sG>qcKWq7HJquc>fspjdaiH3vn`Y6 zS63n^x(1>FfwJ z1%ZgE10dKS`Qi}I zXK&1)F(Jpz0DFIqYE|HM8!$sB{fUK_uSB`P9i)9gl9s@2;*!DjxfnPOfYI#oYIsJ1 zd0O@?7IE#tV$_SuI~+EANQNU*XvLmBZWu^O9(e8KD(8JnPks!V@hIoVlBy|#y_98U zf@Q4Qu~%?K&?f1nnwKjG^9<+GMN>Id1zu@x#H9MXy-!dQ+H7&oJCBwY;$35QF#f6IVl2G7GM*LKvU|3a{F*=k98(!Q<*{Q>( z3?}?Yhv{(t-D`1L5gMK@2OofV@`&sI9l;TYMXmL|IvcZy48)0RU~(*WiO7c_|JUEs6_OCgJQb0L0+ z#$6nRtlIq&M}%!GM2wy+tmnn_1#JMM9zAMxUpNs`lYIFH^6&= zrmctL0gHB{BiL+(Z3KCxm34@%+J>Evk}V%f$o`;FrZz|E=^~iVJz}%(>Mm>6yQ(7H zAvIdqo@{jmjp`rRo#vwsJYKfTvL@?2l>y+)_C1CRwPt88$AP(gUdEDzD(pD$t4}6k zL2sjZKyjfA>(kHIGgcOU_9tdtxI037T!zt|XxSj%3zfaV?k;UYn0Q+lmNF;Po6XC4 z4@+`0VTR9`C)I^N@~+K8)oR)?%;RB}-~JV}V5dw7O&+v^@Rk-R<=6cxOsb@M;GX@! ziB)8>;(F@**r!CVfIIj8>5;UMk~e!$+?kR(A=25R383BY>J*C zvU|h7o>iRUuPSu5^9%MQl}HuE-Yp_dEuYwf8Z?sB2pZ^GTf7huN36ra#1b{U%0V$= z=}}IZ^A?hJ)a$xTwAoKskA9g*&$HbM;9!xJSoJDSV+3R2DFz2fLj1C#ecCE2mP%Q) zKhu_wEHOyz4UDk7cuzd>RPiYFmEmI4Hm}OX-=qB0U}E z#Cb%T8iXw^-BLdywq#yFH{J9Ip| zmz@w_m!JJaeBeU(<4PT~bpZn!%e{=sWIl*0pP7~D`i^ubwjs7ijkIT8*)&d4Cxx}B zQsi}=BXaBvKr(qQdE21=NEF`a_0CtW4>eMA9`v^q$RaTM1f+!!L^<{D@<>>t6d zRvzhOG}Ojb%@q(G%iOcpN7SUN+ zbjx&aMo>dCG;(5V&K<#Gh>;1ypKOnCrP`^7T$^99fX4n;ClD>TAX=j;4bxv?F6bZU zEz<;Y2Tz0^A-VfY{tlP^B1OdYron~+pv+gGsF^4Yk|WePESFnz;juNrb$bH$!zHY1 zs3KAm1|d`&m(Jl0bCW38QA}sk_OlW;pYkYRpR7 zKjGa>q+dr8x|7C>q1w* zq5?_5q8u)WZEg?nsZW-z&#F$@8_{a%r_aWQF0sFx)F$C^^DyO0wykK{;K;>t`&{jA zBE!|WMBH{42W=eHQM7T@IroDv~iay?+=N- zD;%*yfv9k9ck+&UxHWy3zi~GWvfF2{dF9Y~2n>$tj23`Ib59C$eLEfQ2a*hR);CzQ zKXfkK3d{?V$Ose09tW{i%ka8*l})ravo-yNLy}ZphNEE+?S3F&O@MgNfCq{f`o4vh zdk>5j#mZCaW5{?lDCK_i9I`LRg-^yIadg_Ek-&FQeYUh6fl7{r7=<7WL3$vewa=vZ zTLhC-(k3rPU$Y|I0Uz=h8d7jF#U{|V6Qm5C9AFzYbZuzt&HGj#gS!t7j~G8Qrq$!4 zaH|)yqpNq0RMuIYOIWvSZKhLumj?pU75p_UsKw+Y{5W>7wIQ7Gz2A(7cMK`}io9mC zUz)-1;%mOSj-LLPMOzhv*Wy8yWCc3{t) z;E(G^J+X(5XJT>7C~L$qmb&e{(>XUDHc^V<)~J08>$$DMKlX8+!DFpvXq(KFainxK;xtk2-Y*9V58e!gdM#Ri~||r1*NnKi|Qt21%yre@BLTcYNs|oZE#l z6ry`;%_+beVym$fvzo4MP;L@VTY&lPfHL6CGMtl(e?C`HqN~ANmeW)m1+dhgmf0me z1P}(AB!$CNzRp0YRJZ!pAU0L5!a(;sBJDBIg)8)NdvjeV_0tKRrl};W1XM-9)lHdw zNCr7v1r%LJTW^fpuo_P-L5o+QS&j4M(#cBe?<$uqZ@Mezg}?lA$xkE4)XwBT1sy++ z|Jo_oS^nLxLfO^G{&5vxXQ$&}BltNM(sBOFV}R~o@km0-JUsO3 z|KvZ>ixIHU3;wMBWv3u$>|$weN3Tq;swDZ(hr+_e#es{S-o?hmfzIB^oL)j+T}7T= zMopIXKb|OmEG2%-C!Ac3T@(zR{t?14GyE$t>Hie^?=BPnO`(hotaR+G1Z*svbnKi2 zEF8>q3{3xT+5f*{<=x%s%$!V3O-!AwUF`p(Xm?9%OL}E{GZ*)t66u})mAPd?FQ_2- zv)P*dM+BEM{eSaI82`WdSSkV><$Zlb@u zBE_#_NmVLK;$`+Z(8#8!u@9WXw)pFgoq09RSVp(Q+q1V0=ApUgZFTIl!s=c!iS73B z?6l%1Dl#p0Z{gH)jpb;6;`G@sGqxt#QjbJd53ML`X(cR8FWod*btbp(A)S7AXRj9- z?{jD#9A2pN*J?NwHr$sV(2&FJhZ_e**E690rd$|sqzImbLLv&Fg+7LS-xZMM_9jNg z@+f@i2TFC`HVn8!q>u_o>lyh7`!#x-FFQ`B&@g^j@B?c^>TCyAok7~m7@)OKOu~5` ziU-4aIIZV8w8$xc5_!`}qfEEqMa`D9zBIX|f9Y#cQ}UXUpr?@51GTb<77~0gnFy2+ zDM^FcD~7d8A(JD{9eFbOC#8?oWv_Ppekwir}J^r1* za9$4fhh$_G2`rGg%uC+ZL!IZWGZjSW;)$0XJYddLD!HBAEO75E#m5!EE!LKDD)PNd zTXD(UOJFED}jI-P2XWmJBby0GR&|bJN7p`-pKh<^@UmgW#DA5-She^P5_pH2TV3!!thKuhFOwU~zn<0c7a-K`) z4?fGq;9YJZXT`WiZf$@ENwd7bmVUAKf{1=T%4j6&=?aVAT8g^k?J1}V55{T7$=TF0 zuv0Xar*Jw|4pTJ2l6*5(>`vE+F0KPA&=QHd{ZDli*b);#j+qSFhf#;pe?*5N$xSdi z2*Yf1&6?|$wAMmv)Y?9ijA`S8*7!pUB#57DVUiO`pOU6EWeD!b=G3tLZwZSGbSz* z)AhG?mVfnqZ%2XE1AODc1(djHLMIjXr6YE>N(w|OUOlRDnO`_`9up@ciYyAbh;`?8&1RQ@Q{!QSWHbHqHqirLrNQF7dQU56 zm7(H7V)J;E8T9dGqa4OZDSPgsx47Qv%N?pp(~t=+YAIi(Pt?bbXS!VqyE`CEhZ5qN ze{l?BQGQv*Szr2bQK72v_8xkYZ9c~TnIz+%m6pWc6iB!3fPNFvly-z@Pj8WvY_;-~ z+~A`9cxVb;uN;;1G_n-y7=%Vu=$+2)$%fo$S*7PgC{d}#{_+)(81BZWudE|=V$xD; zRSIzp(R`pNz+4qLoWk)zHoYh`>wIV!DKp3IV0Fa`UxB9Dp(Q37Qw;V08*83@HUp*-e&hMUA5MU^H(sRI z4)oOrvq365^K4y2VX559tCte1diA@Xrlih&?jXX-XK1r=Z=rQP7t0^+aYCQEA`iKF zm`UqIB#WF&{h4FbBwk{jh7%vLlCa*m9(e0imb2|S=5yJ=L~Vz_Zeb>8uU^#v)DZ$ z%?9wbdp}x)`&hlFnERZyI^v$BI<(GB+Q;GRn7DV8!j)Y3^Z?Wd!zsJx$#|SjoieMm zNK}togL}OubbqHCdUCmnPmt!}5F?Uqg+ zUq}ED$2W~S}D*Y%KHAZ;LIwA}RDN-^Ru?6wzcb~i|5A51veWCD{ETPZyZ?BC6J z4nx8QeQT{blX;)cgVB(LXig#cN5CxHlYA!5*&i@tVadwTnA{joifTkPK***ZEGUTN z9&k`np%_T8$SG;P%P9d!sge65??$f^6R#+zq=Uf56p{3%aNiX__g7~~xwEF$CThv} z+j%?U>rga|V?cqCa7OQGuer_Qm0 zJPwKS2nKkcTtC6@$atR^)!j}AowKvdR2jnU0WQlj7*WF1rq;s*2~GP7WkdPqrE%9$ zkzwN0TCTF;;!s&NnZwNK#T28Bf{hjmjJM}s8Kp_V3{m3Q7Iy}5pND3>%IX|#^Hkt9 zjOm&xen15a?XH6Ww3Ic~ggoMay^_v8Fh7hB280%`%tVCS_}{<;>x0FSQ<$8!j8AU?weMl!%ofn<%aH?lH7;BPs*YsQ!sq(kCe!@g@IdEzZ-x2n8}gCD*UK)Q z9dV4u%M~)@h>_veW`$<)71b@bkuAHqA7KCS@CNMYU3vM2`H{izSC$MkF8 zHN=;xYJT(RxX6P$Dks)gd;=DjOJ_9&^E$?!$4_MhF1!(CC~k753YSfZdEX>lJC5#> zATA1;qso*1&AH(8F|ZHleO^rrk0~w%8b;{&Hn~4aaaJpbGopZDSWtcCO0D>CTCp%f z;sa+g!k*C;eGXV5CPZV&XEzF-T$Pt=6`(rmkVN%PJgQRKNz8gRr{YRSppLZekoka+ zD+=BE2j;-6E!x!Xu!+`GJ{cKin+f$udPRd%xg^lKKF>)zjf>WihMhw<)6+$dbxW2% z$EvjLtO@d~0k`i=eL^U_^w)8F%&IUhlocl}ma3u({@RC1P4ilu9)U?t#Sw+L5jd_4~&pa8}H;;R5^ zk?K;TT^{X&-9|{Gg*~FznfS~;f&&bD{b!%Fo%LmUk&-wUcYXk^RDcSi^VKKuy6k{} zZQ&JHqvXQ28__V@(c_d-wydlfPwa@s^=KZxE3kkeeI!?X0v;0RNq7O1)T;D+Y~eiu z3ldbY`v&Hqhd32AGfAd`6_bn@$~mE?lu=~YshoAH7n2mz)_rl4xRt`i3fQL0us?(U zw>O!V5Xrk^X;$J(?Z5(R7j|!MbWmoT2WEu4^pB5i#Mg>P57r>mGWZMc*Y-o$YF(fc zqJ&y9LeK4~i5XY_7I=G`CXy&()HHe$@zP*WfaatI{cLLt^&mtWT5T;e&!{3PR_C_! zx?xu0($Jw{ z^RMtJ#YtHIW(fahMJ^01jQ^iYWm?f|>?ps*_V{qjbp=(Van|kY%BW;)%d48^8bsDY zn&2rh$dE{^kk+CW@Vk%Md+5R7L7m+RqAs5|czuosFtt@=c*n_pa(lA2S)^Gx7#7`_ z-{)DSIlLG%cWI~2I+E@-5d)u64S+!FN+VLmYR)3vU^CW`|L( zS!cKfY=s-p`db89_~u@E*Lop|^a65QEXA#Q&U@t{MLLIEj3I7uZ!Ge&$j5*7?p}*|g^E_R_LxGDV% zru0V~F3N^X*8f{FTp*6gxg!{jE8K;w{M$r62-K}M$?X#8It@o@YD9vA6&<2VmD=H+ zDBEb^jYSNe&f$DzosZ5@ON=~g01&Rtndu^E!6>U2Lif%w1bRTn5(-rn>uH>#5Z+tTv~xxD}&C9QOx=QqcAz^Wo(Z97SleHh$kVP;bothqu@KaOq^ z1NJ~eRAqA!Nh)nuIziT(XQiizhL(`3U3Y^{g-NPDlmV+^jpdUYr!LlNY05&Xck9S{Wy|1~FviT_5#3P^7~3vF)H zwsD;u@TF0(;r@#g&E9E;6W`hFD*7`iKkGz{Dw#hTCqzP%OWT5NDyh_fq^x6T%~OD9 z#-q)+#vmNbC5h#w-v*}4piOv4Yy+BqZUh^*Z)fUibGkbx$O`nf%Y zb8drj9)E|Z;%|_PM6K^S|9CbVxY(G>7|u^O3}z|+wCYOgK%=nN%_pc_0j)e3)Y&|tGs=8qxiA~0MVxS-h^48M7?L~n z!4QCp#QV3jx{iz#@@MNW_OescPK<$)k}69p={=5PB#+Un0909%H%lz2^2x39?9%n2 zfk5G+>%nJI@zLWCOGVn#wh1fRz^1fpMZEXmd6`6|rS?Xp>rVJ*>Z?6u&vnFA-DgX;XhnIQjJK?DOk>%Sb$_y^60p!ROwNlP>8v)?`%LBwUD?+gJx&hd4}HY8tPMB)9Ur0P?w^p?zPHJ{J5E0h zf?t{-L~CMQ_X$k}NysX+q1UX=bk+X4As7g_9_ZuA6VH3mx4&IPQ;_Q@c5e1!@9UgN zf}`o}O;iOF?Frw-)C7eRez(*v!G8YXz=$1XkD8D(nTB01Hlw42qY%;$}PfO5lsrIby0F@!`3&8};-4fxOd< zHtTuBvBKeQu~6blO9U->A?0%%ox=9en%p}i1Yi1gFWeli5NTN3Zrf)^qDgAW2T|C7 zAFafKIW3v!<$543tU1^QqbMvH8hFWQvdS$YQT4M-CL*p>*T=y`6KjZ_$h&AV!XZ%x z_cBG&2KjWVLRmCr^`Z;SP_3e;O6o?%Iod>nlZ~wFp#hQ(T3z#-;6h^B zC8bG%d(0KC;O_Z@_`*9NY3k#C9UNA|j|sACSR7`wp_3yVnpb=NgL42>#&mwyA7*`t zJL-63$cF1+;q=H=IRk$SL!4oS)Ly@FEWz16OO#Bl7= z88SF84$YX<5pE(NK2~Cb^`-4drmaID zJODPmPs=Jc8?LGo`u%r%kXFo03|nrW1@!vE9VD%A&p-MWk+$Z8!j#+-^)`)xFb#>c z5_zJZLgdM`z}mR{=}Y3I%VUsX>d**lZ_9=+4s!7Fop~T?)x?z-SAmoK^GWFuK{TO! z5&W3RayFuvtt3KoX>GzUL8EqKQFUN2uny*?ly6|%00#qIxOK(nLS}k<#u2=1TP0$= zu7tWP2ezxA?@TOcttHT;PA4>wV`0VAV!6}vH4k>N)Z|R(xSUm(>WLRQ>X!PyRsols z4*hu=Y~K&^u7&_{&a=}Nyy1)H1d|(N=ztqJUEH7vaRVv3ZS@%-aR>)S zAF+MAB#BQdk+$gJ%}qx-uC+Y_F4SLeqV6k}iz7q*@FJmJopiiic^6-zN)i{hHY~a7 zwbWNn!fM@_RTdTlu2lva#oVLdACeO>oykLv*l>I}f%R}omkvQoM3SPGZfQpkVkyRS!gD2bGInzpJOZ>%DiZ1>0P3p-?&Kk7S%H%DT$@M(zezNF` zVR5+dZv(Sn8O#DV%E7-X)_T=a6rI8l6?RZ8GNzXZ8%Lmcq}*RSf!NO9S4T8eIFxXD zx1ABL0Aeo7xWEguI)g0-E`RCrL=|vo5UhSTsg^*DrO5;|?}s%phmS%e z#pR-{Da3^^rZc+z8qFwIS+9p{13cPupVo=nCk32qEbp^A{$OoN4@})zTW52ujBybb zg$&4mC?`7O{t%OG3Jo}w;aRg-Eb(a)iL(Be8*vQ{ zk`@+MlVCH?Y%fOd0fMP50jhV$+^K{Ql|y5o7ev_U!Bx>=DI5hwsm$+dmcH7bek^~G z=l@=he`#-z(MXk`$2u)>K$vW;(bl;3SK%2!<^LEy9v??MkL&BLIOVA5brryrsUhpwF z=V6HCXhS;-zL;#BesW_(-}8nU(EtH^sYpAS=;nN99hup~q1?zgS3h7-=ijehuxL;g zaR_r)A?Te}u3 zF`;6iv$bOS^VSj-N3L3smOdG>i4sq-GWR!o&XUKxP{Q|tJ;rGZfTVIWqH%6^yaFH6 z9lu{WIiwi|=1i02Dq6!QDEC7-_rDp*|50 z?bFLkV_CwZy!giWy{_ck;KiD|RqOOtg>m|C!Bn`HS7%qL`Kh(SLYvnuh)&mU@UNec zcy}jsN4#zbd)49I6c2Vc*GwZJ0m<>Zdhbh+8z~dPpi#njb_j^3z~b4Iay>?2%-2<@ z6V%-BM@N)v+@08PdV$iyVDa}6$aYWI(!8*cwl_O+{k<nZ%EPN1|p3Gl1+!o0z{L1VZ=vgB2`+VMUbno1D!kh^YZ}@H73c{Bl6;k!$9fpt`Tb{Pp~d>c$NaDEY;H9iYay@(xQXky0d;(ttzxNTGNYFyEjo z;GLdg5X^>UvMSjAT^>rfSGFb(ARNp`QUbrr3vL+sNrCKW1Sc-rq_sTyXLJzDMmm_4 zj>Nc#xdLqr80GLpS55d#RI4COV= zzhMG zNk;gVZm=Y#xo1ne(?E>!b;#u2r@KxFfu>|_Q_u39W4KaIw`8;K&o2czsTCg5 zL35E^eKn($ys8v`4F-sU-Z87JhrhpixpaR5j>!i12vYgbbMhG-0P|Y$27aelos+q? z)|bhdcz)KE9}}#b*_X*NQxu$0qz2w|$~eKFzj@{Vg3fZwmGmAgLfp z$O>LLPH8$oZpEPag2WL1I{p8j5-k5&(v^Xo@n5FIH@HQw{~vHu9%vB1B}A3*HM--6 z26Mm2S*cU=rD;vdaEkbRhNB#%3!7V$!f%7Lq>19_-(_RM7sKk-L>~pDp`5(j z-InKtl0Ds`Y)0vtip0`%|FOkWy?u6MmYXXPuXFP1e9+~3`q)>Yud>FC0Q8@i_Wmf%+H`1wbKz-oQ<@a@A3hi4{{jJ9;8 zn5VxbxaDpCv-P)Kpg;UjFf)?}OSh$OKR4gM^}C?3Zdk};Ed<7iCz_e?#x5;L4J9H5 z{Y%Xm8-=g6xnUlB7>^uy$7qYpSNzVl>8ntOJ>f%RIP{^+l_aQ%{(&^zM&X{YG@(8u zkYKQWup*NimV+H(vVQs*zSNI0Q}6JHID=@$1IQF6n4^+^-_i9S~?R)l`|h9P1mN51=f{qmhkAFGrJt$a4oBH_n>)h9Kc#Ch*6;BN{ll~ zvdw~2CM4&#hVyg_-YNELi|9p;{YdHc_0?TC8E)!hBw>$9eiZu2GXgB*<+EA9>1DbK zg4QweyH5}~^WgXfSB5bY{$4DhEHauvw{jPY&N)wV9NMxPYy<&$)#Ac9ZyPepO5V&C z#;dx5u~Kr%$cRQ#5LYEyLn0t%Hate)3Kc0)c)efIt|3?=(6=6pKa?LAxu+QvTx-ve zV2EYiX5u7U{8qC^o;cYh$zPYiAXojNGKOapPmm{*PV1u8S(N9s_2)-lfzLEPLU!%r zNPQe-u1N!PB(fY^RG)xcZ}lRFY3Ad?z{=g?2T}mo4Vjm}kn^7CcVp4p>H>E&Y8Lko;I&BrR$uiu2rl{;J}V;RlouBHc9s z5*pmIma}1;Y)a?jVRWqB>@H2oRKEdb3=~be9vqj1@U8x`Mnx>^orZ0T`BjJ%h7lHl5|dj| zt32|$IA6|+sPfTTvaTwSpvJGh&DL5O>mOE5I#5pwXRv2)EoSm6V`T@9*=3K?ljVN= z;J5>v4WbpT)44@yg!XR=g@d-XQH80D_zA>om#ae;}kOseLPScWi?YL&~7?|9b1v*?RraWu+&!`qqR zKk!EVV8-B6J5hA|4R2ma=;ua?!XkB%Mb_kdDh0ij5lsqAd%6fd? z1S!9=ncFohJI$KMckstAX#>zKSz0XIcx)JCYHIt5CcxBYyDV*98i<)RPmUJUQ3Z~# z`06@E01b9!pQ_~|A3tdw&R(`RcF*ocIcR8+)X(iPag3^oC=g!t$z@IvXG3X4IL*gw z(%{nOh?TWSFpl(1G0zbx`{g5?l4>`Zag8g)%q(N0UfbZC(C;1q4{n=~>&Og=wMv+6 zr=4&^KgeVjuyZF#zuVnL`xZf>4kL2!D;cYo~3>RS_abS4IrKd?bLw`P{J8H zL^t*CxM}<>&@xP21J=(=O(!kRNwz~rI~lL*{JgCU8T;%??NgF33YU#Kn#1@zoWWP< z0?(hq9tElQHsr3h(FxP5J_Drv!EZV50^dtG?us+lC?X!s&!&S*inBYrD@{ zk8y|FjO`EM(j~lVYY`|Vcp~Ys^|@)ErHw4Me=~3YvoIqA3-iC;Owd@5`kuGmY&$*} zIdqDM^F$&N%CQhDzh?7*o5K8fN!(}F8fX@hn&LXJL0_Jy9h~9ynl3)WR$A9Bgxk-dAcUh++$hXH6rK%y50U?!2!PD_foCCKnC1orM{BzkYDf6-%d&gMx4lP=pOX=7rUNX1t6S)JwTv% z4M_~WhGDuZKC=443O-;Wb8Yj#xQsxt*XVT=M(7Jh`g`%Zr8n#Y|2=7AB++;pdVsJy zaMid#qxNsQXR1@sFG zyyDzkSdSU`e25gs?Y(SVFQ)8l_2gXfJ4k9Zv z73&RdX(~t!lQ(5x!^^S7lARwZzm-rbVVHYi@z2BLk#$7~2k;EL@Bp-(j$oO~Xhpec z3U{4Uap@By1rx=?wgEPgpJWE;MH;JskJ!IX;16i?2Af9bzG6sMe4=A#3=>0*??7V>5WEQ7n{afGGO_DnYYbzqU zr+vREj3WTPU#WtD!knJ9_7YBnNzK%I3tGC2T4>V@r!_0 zhfrW~oYIm+;y01unm=i?swfcJ!^w$$rq(&^P-TUpaEMz`B)Ngyc@@eaA+?j-r&MT1 z{uZsIL{P)}t33sB*Y$}`5j&}UoKBDjzLtv)R(d{%h&I$CuUX5QpkxPqRy}T|G|!8E zAPm}ub)`;18)-Kd{1-LL+??l{9|C}Ti7vGTL?6{ zyM^P0x~~+Dh^qv3Dee29Nt13{8p1W8EWTNF!BCc3OhH>TBkbz_t%lOFf~UnvO=g(9#(>^_3)H*}GHX^zH4ERVPL&i>N?4#2M)%KeTpZJ2#@iiYS)n z<_kv{QKS-eUb{5n9{cV>P0o&&PP1c6W+4-m{xphN^AWUtrCty(*^Cppyyi8@jExrr zAdI+P33V7i_Mq=Fe9WjIO&U7g_iXc2-!9{PW@8vF{aA+nS0eRYumSC-SAa-ib#8fD zm3^^I-oqj%RS}D3wY}*To6V!Iz_wA)mC~nKAXAg+*2?lB~5adl2h>&7%w4bprYJhQEC^aPiHC( zyWSP6=lH!YmGsGRoaHsokD)5&Q;rL`PIFsD;lQ2YN7kn7S-fcPU~6?jLHE$ zpK}>TFN2B5c9=oOJH8F(oy5PHDF0!EiuHe5`u}&D!Y!jwxU18OG`(TSmMw9;l<)GCWfT&72ai03qIFbM^3RLqc3&cxo*8f=S5rQX zfAwG(yr&z1Sn%L@xq}_r-FPwLfK`L-z{juJ_1Mp2u#Y6vBM|k*)dr42KXr78>)G6R z(l@)FK3+Z80TF}6QcC}=)}i>YrFZ`}<`2MsG2v|J`b*cHG=ZV5?0G-*V2by(a7Tf# zNq(F|(_w`G&|GiSnbFYZX)9dtKVm~$ir2<*=otStP$M3s*qgdEa?OR#vmq%HCVpEt zZs(C~>wo;AhzCerQrC+;mcz&LB3c1R0x2U3KyU4lJKpUe5WEVQ-|QYA!6SW`T>J1a zVdu@GXq*(_qUj7S+jnu&m2#mM)w#8hP8Y=`oD}5!XXTRFqiJ zVL~_&aY(}u$z?8ws<2-vPbb%7BmRzLd3Xp%up~wje?wSSgCZu>=Scr(X;@N7%V4uo zgH8&v*cDQqv8?3OjgRN85e%jtvUEDeY^8yGF%*IoA<;H^cl{9tcd73>J3=jq@_qQx#w=u=mPK`RCK6F!q1XjbXf@USC!sf4DaGSU50Tdq6jr}jz&!b!;`;Cx1 zSoQttC!dj)#WvdaiFJqU_8U>}dfkO)rK-SuLELC!3lR9-?J5drWI9`lhHH&nt`r<5 z&hr57Li>{velZD`KsjD>rFXy>#{@k?L?P>P%6ZB$ID>Dlfm)?%lQwW-^Wt8eSrx+| zp{{CrX@1TRkqM&(;{6d+@z6h%*T5RzZz?M-@CAbVvbB6Alx?(O-4^{jefWc0`aw}lW*%XetwBpah8dsW*NIVSBD6+=uB>5mi9CJtsQ4F+=<;dcq?R9hgE>!Eic8B1 zft6@RvD8nRWGxyk(bgTz)>VJmzYm^NZm5nLLik%$N`S7_*s}j5hV~!zpMb`GLj~yx zT6>5cj+}uOUk$f$v_h23tdh_aNo!kc8-y6zN*DQg59<8BfHL2|fnT^jwPjPc>#MSf za-g9d-;bM^3O1ZuAZKT3B*w2X)K>$4g3>M}_5i?wA#1yFxye|4)t;{t_B7n%q_)zR z*8UCuOu3mKqS{npJ#IvV$#+n{eysGK)s=+HPvX1^dQzj-uK>Z-hnHY_GUR%b)gr2k zT2#2weY5LHwVFNKi+_>N=H&SaeocOyV%w0v>A66SZmDvGi_EvcKs2E~c5T5weg0ze zP)gG#Q*VP!a|$j{pRu=?L?{}kX+oL=yOrUSy7R!@QeKoFp1IqRn2ENefgMK*2$S8% zWv6G4l^G3)_Ay?FEoW=772bN&oLL7+-;mzxNC^G7-TsI=P!yY>s7;Be$)Cmyo?C~Z znrbMM1Q-W@kR72I;#4{C-c6nguTM-%!yfi*oP zVAONGIUbXhzVjvgn6xO3c*D)}=I1~FNWT&2B5gG3f67MI0w(-Lp?6Qc47nW7R@Vu# zQH6_}zS>S%wI2lRg#)ImSGPYK)THH)2ka@r2Co^1!}P>sEWW(xal~qk)mMwUt>6<+ z`Nv%*_$M6_=kFWlE~7o#=w`HR*NEv<KUL+1=Or*4$=XTFxwJMXv>}Jn%6N2{ z*{dX~TNPdO99aniOD7}u74Zy*zJN?liAw&>So+UGddw_rw5*K(JEX_V{{4yL|26ye z{}|F^`0pV-mj64X_wS=^j0}wbVqNL{Z(V;Q-(7#Ck_mABK&_2tvwH=jAjgEK0jfpT zgiQx$b?p$Z`_mIM&FXuc=ZxBV##(vo&9+^bifJ8X>jp`OG@iExf6J`vy>g2$<`0|~ zn-tE#=O_I0U1j_NU@sD7$f ze%H%95mQ%J>ul@j%KV1L_|=lBtqX;5z|?C*m!eZw*3&bR+8PXdg;lehf;^7lUhn;^D;%2d|6brGG7Ic$g>yxoydVC5C6YBjjPp zZREUUfit#b$5XE5`$uhO_q&@+Y|ii%@wyOMCZd@&f5ouAtf-y*NrPu~yGe5&H{brk z`;oV=gCnZi0*U#9yA3uz052YKhpcVEkUaJpT!ovdBp2MRHtuE>bj$NbQG0TR8r)0U z;?Y7zK?BV_*z`JF0gP{?IQ{F_QB#&IQJ6czx)bMd+)gX|lQnN_c*tn!J9<}jT(S+j z6s6>ofPk{s3EhvMT1;wInPA+tYsVkKwF^%kqab2`1I2q~(>ok*VYLNt8gBNpo|}R6 zHV;_#JUb5|CCsWNzsvvD!2T)!bM$>LmYH4xR)8L?z5ZGU_t+7%Dg=Dn@J?(&(wQ%K zcChkNpIgB3Tml&|ebv+dR56N)kH)W%8AC?_EHazb9f)j&3M*J{2TkN%%4gYg z*HcSx%URlJgBiPf*EVy=^_N;rT$T0hjGBJ6K_AmHD8u6FOf$=)s02JGE}-Si$uxol zH9(zu_^7w_p__roHc42wq)dBhld^L(g2gQXdJ z1-y1Wv54wKiUMB01Yw0Ha*G8?;BunyKEg!gte`^mY|FmLQHp9Ry~G8o%4ltHt!_`z zTnz7)91syD{a&zW1*22Q=psiYjka+qEHYlWKD^iWmE#%+n9AR-O>&7O+%i^*krCLc zJigsh!=Xg83UWskzE_0;yk<=_P^>s9xA0<}K;uO#MHS(3cFPUE_!cS%8h?r$f}r-{ zz;o$Zp{+HOM~qRe)3|k7a#=~361dS=Q(J}h>ZR;aok_a*R|}La=k=O?K-+RWa1g zJhU{69qXg!;Mby0wgZi%nQ#V90f;a{E_}BRDqbEw8x}P6H%DTwV`1&N~5&yNYs_4v1Aoi16ocLnt~#s zg@t(F^C!L0R%5peFu*U*95kI;A%L^Gp-ri~74FXD?5GhKw;!f78QsZI+qs4GY38UC;q( z1@9L)fn=*PYr2`1UV3%HQo|=3_D|G8XaVo_*u)|}T`RT2N(n6SQUs+jdj$U&G4Fwy zEjZq8b)qK(eza8{MHnrVg&yCu9%(nfj82aGsmd@}CoEiKF_Ie0fc16oEpBcUL8p}n zdYI&oJn)B=Yju9xIM;_R&&^*tgB5UpQQ_a<1a+Op6_;0WNhj;f*x23#xlo#MnnU1d zC(GyVpN++Gf+OyG#H`u$%JNu>^*I6ahfBxx#=*VzjcP>T%=@L2V~*?KW3xIEC5m1} zPE?;NY@0l#xecyOVj!2Tb&@=$PJ3q2B#|Il_k%tsl6^B3ntO3LeR%j!W+{$iTC;>q z()I%f33<+bTCpb0NeIh|QO-1$Xdy$}+A4{NiX%B3+tsTu^D|V7`r0yvw2J8{dV*%9 zxTHh~_7zrfoE~{z6ej2e7GzsL&KrElCp%F>@;ysGv>vw(&fq7jeuQs80p zk+LXaru*H#;sm~KuO0Ev*3t3x5qQFe@d;dNPz-$P-7A-^FtWVCv)_C@_l^A?uPCJ{UQ58r9A41a|5m;I*+@pe+*8;t`1#0$p?=5F#qfna+uA@6osHI zm|fOeovQ1Wt@q*?=xC@@!r6%Ag58GbIOa9>0dW(|%T(RzOgVcaTBg%C?h?c8SL@69 zY>xAOJPS#$v(SSA!KX)ydQ~`PYt%8ZuAM8kb-cHBzd}CBmEk0S(EYi-hmsGn4d;%P zF9*LG#K|5q`@t-ye}5_$dJrm2nE{fG<{s~5Qeg`8{@|71FC=_%f^7!M)L}0*1Sck3%PyAxdwS28w zi86b7Kc6#mamZ^ciqh>ILyg1sCOX{jOipf#hZ2}HFrIJp-$yYt01GHp!{m(&4}XW< z>a@#m3p0|b&Br`gy4E%@+MIQkMOpCq`bLkHo;h&906E=?fl*<-?;fKe;*|?>&72sf&4|J7xCCb=vJd%UyHKZffhA|Ma=?3)aq-B-b>to!Ym% zeTA#0K<-+5;dxlLLC#(AlJYfn=7&2pk+#nz!f^v7lBh?7u$wm)%@`B^34&U}2ph1` zJHfW#nb1VhJ(h;!7>_@$7zMjMOyMfc1#~gA&Nz5yg~KVNQ$jtxa9SCWcGZVHBLNn3)v5_=WZ{hA(k-Nk=F9=q z-^-d1o~g1~P>ZNVK3PGd$=vKF&g>?YpHi(s&iOX8=*EK!K$68n=8=ph)x~2t25|x`GsWCC zH`#}8+zz!$TbI!PStT`AVSz_(VfqJBEQR6>W``6LEeZ=BFIi)S#V1_Ar;{jnMx|4b zgj&mJ$|HuqT|fIJIWHQQg)o*35XpJ;Wg(JO)VZ+OgS;oed(QN%*b!FlX6W@H(xPh( z4$t3RgG5{w3FfC{-P(r=g<|YYHa)UY#jr8+Lm|;appt1||76I8;7o>Q*pw71d(l^H z&{5?=Vglqd{drvs-Y+bYRGnwV1F2zT&hCqNCVkYG*!J-&ezzqNW-PKHt*uT^ic?2p z5d!I=Er(LSbS)%YxFr+DWwim4epUJ-K{TH=c{(v&6jIXMD@JjncWvv7clIhzU$vQB z`L$PA6?No~#tNS1)*BZ(4jWysQj$~cY17tllb2mz(xrg1A=|LyS!Tn>hDJy@qtx2I z4&Ho)53r8S?$^J0CjVz)bw*}-=KtPS^^JzFx{1w z?HT2YFU}9F6_yA8MvqSJQ)PNZUDtD0)e~j^s=l`Hx_4AqFn@Vv@qGKlefv5L8rOc0 z2sEO-+r<)&OFTUs^zkuzIUHP1ACDNFj_Zv`Up)-+6`)0y4)XVumcnZZ-vsDS&@BVE zSNr0%7k~9VcI(p8tzhsgkJ!XjN1;c4>alg}=y(D3b?fS6ObZmWY#sXgLS2{lSNMVb zD$z%2%3RoPx@kDK*S*@czm)7Nz)ssdo>jNl9hjWvd8fE6X!$g94Y}d@Bu3!a@QE?UZPBI_gDL#M_Fdy zo$$Ht2k^I0j6)ALXqtfpKf@Z>E2ycjA@P3ax`)Od-^{M8Zw1=*^F|K&#j9Di(9O@P za{-232b~J|d4~F&@xJ-7#(-r`_NT?ZksGB$M;+B*@_kA#@w3NYU$A`#|LK!K2k?Rw z=+dFXq&_?v47>AR{c`^I&<6vKMc*uN?(bAJ80QJG&YbyuE z7hpDK5Ue=5;}ToPR*o8O5lhOz+d0nv91$7#`aJJ$aDGc7m@TzEFwYP>qU5~AGAazd z0h7Jg?XXGUWj*Wz4xIW)fB;VP8n3h8no2W`D~X47eEc44naW!LLk8G|LhR+1aT{Km zuP@x|2|9n;*$x0HR#D9RU9Ab3%fC)jT9@#B7Vd(m*@O`R3b@DDQF`FaQ>j9AfYV=o zLwEOoF!xSTl85Q`W;!eF%u3s+G%9V|HY-tS+qP}nwr$%+r8!aEXXc#K^Y69#ZssOd z#6{di{JwX8``yn@=NNmIx{Or2Unmq{C6zWyIql(WNbX1}LTFM_BPufYYl2l2%MR{> zGFIoS(K==s5{mG`1fR%IzPCv;s*l)H9XxZ@+Q-G_$EiG~Og9d1zzUoqrf^lBFCmrm z(UOv9`(crU%33)SV&dGdd8{jNw$Q2d@Zt+_# z`G5shcAKODSDA{13Whq9ImrZA=}MFP0zL6io?wMZ5seFYUNzK{j?ds1PH|sSdj}Ka zj2((o0@#;9&nIKkCcFXsZKla4TLA7%Zfk|XS<-;>oE;O-i(DJ)y+WsZ-DlQ8{n|{9^D(Id?L-aMlt} z%UWzX%Rs8!TH^PK*82^og*Gb;s!<;nIICpHt|Hd_Yc@QEHZG7vSOGi;pXpuo<;AO~ z@3NOf2q!|tfpdcEtW<-5z8$^5H@5a4^Jv&hu{{38PW+JH6F|Ba`eCzLlYJ6e&v*Zb z+zI%CaalmNYXx?G1RTTVKKu%5IDc}8Q8DttX1u?v;Kvn>Y(o@%8=F&D?I^B(3TAF6 z!QHnGk?2(Bn&!=MDQ>bupuoFx;Jf7;H9>Rhl{x%w%~yAHTdC;PJ{E3~DP2u*(Zlk= zBwaP;fV8~I=-H+}lRa80J<*HIXUq0ID^wXSkkrmU@-?uE+6}P8Db_qQaw#JC1kq?w zPdHDxed_PTKIfL7%c;>=nDbOrmeSz}h*BrI*-jZsEed`B8c@+(z_X(G?BY1F~w z>IcM~aJDL=pHXvf|cntS`>o{?31Z9r9zBbIh@3@Njtt*6ESzcL_MN0iq*Ci z2W?Y=c>`wnOcvJuGmdoQQ@;R@^PK&YNAR?v4{quk_5DTmzC#y;(dkUF; z@7ld2F}LrFN7k^Yd0kM2s zZE5R8vafDaCJtAMya(v=jH4YYtKA6GOyT8`k7#ZYuaeqLd^2{y(gI^h%QvYFnGXl_BK%Ygtf-6BCuuAf%W|dDH2Vy!Pj;5bIo82HWfF zs9Jj3cYM8$7WwNqNJglStN11N(bC5YboV56oE=Is$nMq5T zm5=P#@#h4*MIaVF=|@I%Y)@N(5gvN??nV%m&YVVi_v|E(_-tK`~PL`=b2MXsQ}WzGkV!@`O2o5xiD^%enw@Pvtoq0VBu?BK+t zo;>N>K4X4imZYyBc4)YfNS)Xip>40qW$$~sC}Icf6{3xTkH8H{6y_HR`Dz^q8iOGP z&KZa;^3q@*6Lo;wufV*@(cjl8wxpI)aH)?kHC=tu;9kyMyGXy`qXoKX&}rw zua?@VWmBGH@ua3SxYk!lRpTn}9bVd1uRI|BgX97G$Zmw;6Ewis@A2OZZ2uY9fRTyg zU%>{Nng9`v{*Qr8PxpXdFdQRv4q%S2!~R?W$s}9xG&|yNJQVVwbtUDG~?U8XR?8b|uxrl7*!a>LM4ISZ?1e{_6Yn(=dOyG2{;LsjiG=4Tb3%i*LA`EjhB zobgXs4znGpMDEnrt%@)dQ)TrO3@o^9?juiNw8TM>#<<=?Mq``hUrK;99_jPFJ1f*q zP{Zr<^q+;LcyS@Z;q_h$M!FElA&yx0!6E$X1i8 z2}crFBi!t#9~tBKgxZX|-vFJFL+1V1>9U7mdjx^_k2}0TzVj9;MBU4kfinY-M9v~+ zzh!`|V)dkeUrqC~RDk(mw`!}u(%lz&Qa8fX-xqfHeTXm3TA6Tm{c{ug*}ot7z_wV- zL{4ZUsjm`l3flSuz0bo&z$`Z=qmutoOCO!BrRJ0mnoqy^8NC zvs7t?5k$G}!ADABzM+$dk6UZ00w{U)jHX>7?M5y3cS29p^UFoeLl6| zC@0v9McYW!P^O@tZ_H`A^M}sx`O*rz_wcnn_~uyA66Stm!}fgXf@ zf5#Sj^+EZ97LOc)n_B0(knHL%0Z#|LpO?|UrzB4;-^5f9o|X^kjvfcXb5u-KQy!O&KZU~>)bp>wFR5OJT1kPo@4dov64KkZ84Fiig2bD~mXIb9n`qWk0>@$t* z@}1iX^~49#eRF2K9?KD##epysesu1!&QrFV$8zqX#L@2!Db7ul3k{EOtCSN+G$fc2 zmk=+;QhxSPQIaDleX+vT<2;d9hh++)>*y5JqsY6kUe&lw>dZ2cXVdg7`e0%0DMoPt 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%0D04kf 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

    dE=j(CQcGOrN0`=pFNRxt^2GY0G!r+(ws78?=TS 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

    dZFl` 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≀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 z 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

    %`GzgEy+THAADje;PcTtg0K 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 vs_af1Ab<}*&8^PP1K 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
    HU)dXJDgVLq0d!)+cG*RTThlU3P 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

    B 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⋘Dfhw(^ePX2&*i>jl7=K`?~YI+al@ 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�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 z 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:nugOYee~GN^?b|$61Tx>l^r|(PoNy`mbO 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

    H#|qS13}HI`jEhIM^&k*P+6xIy8hy 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

    po9rDMK~Xb30~z7K0oVuyc3|b#K+{F-k|& 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

    -P)4kob^<=0NWNn+Mf+ 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≪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

    vZ%326Y*Z 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 hrh^F(o%@l@X)H+OgQRjS?zcK608PgCUdmU_=C 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­r2S;rD0Z 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�^-=Ws|0?coTBq60>x|D2 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 diff --git a/docs/compliance/cis/CIS_Amazon_Linux_2_Benchmark_v2.0.0.pdf b/docs/compliance/cis/CIS_Amazon_Linux_2_Benchmark_v2.0.0.pdf deleted file mode 100644 index 68fc3c93ef660913f52ceb5da161e7efca8a00c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4508470 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

    qY9&Cq9oVgWYw9$ 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�t85U+K{@^b(A;7tEHF8XC?7=H#R|nt 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

    }Vlc;B-Nv(P=&ge9z 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%0AeMpY;F_ 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

  • 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�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Ξ>`shY8jUkV2|O{IGvf+VH{3Tkdbe2FVT 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

    Asy&pw(A8t1M~glRbhBy*`o;jhnN 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

    !6D6bc=~C`u44}I1S?p{k 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%0AOOi-X21UQ06xV{t$&MF~!y=y#7SK(Y}u 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%0A6RZXn`hF;>H7bDYu!PV%NU zRI@qem9SfoLaB=QJspUX7p(1>ox0Nx%05n1kC})8o_sSFXM8$0PK@hpWP>XcP`NBCd@=u(4M^1`f zM^*|Ch(#1@8O2x&flccQ(#VzQc4H|i+9c{qaK}hWR)@H1(21x}6(vmWrip+2T{B+; zuaN?fvc}B-uc>@;lV_mrEY9>*BbSvNrGnO>k?}$%5r=gQ(NMm{M7m;jJvp2|l}_PS zJ6(0-*c_G$NW+=y5hV&dGf6}(wKT{5nn|%{?yvKgJ|{Uq~j93z@a)d3VoX(nUI|`d1L0Ej7#jpO&8~2}k;WAuiS+|(u6T;azz^G-lQ`iM2 z^$&?DkmxSS#YYtt#R`)n4)S=DRmEnUvX=p-3YU6{gl=)nz2bCK0kCj3a>9O1Ag|P4 zFy31VY7SrgPQNCM%{j<_Q`KM0s^gRsv7eHMaPh9YEMKx_9kG%RgdyZ@CnNZbsl2x5pV(A@n2d;*?tK-Ak zz&6h?9-+40(PztH>ypjzvQwi_JP!ZU=7k!dr&Pm_#^G#6826h~=oc57v)Swh$*X_J zKQ~$^gY}?2++PUU9ha}*bUEd8yxW)?Qh3*5q-||(0%$|!#N?DAfsm%PzLd!{?Aq7x zY?`Lvv8|piU)aG@20GVKJpMC5GZXqAOm>!6%>p%jIUXbcYQ7JM;N5SXS>ExP>@`ieLQ<=W?&pQ!%M6qtT@|apn z_=`#y;I>gfi#Qv=4>vFepVlga5-fzn^v54}K@Gm!Pv@npdtELVW$3BY=!s9-LoE1p zOEsqwX(Yw8UJ(`doe~7W#^%!i3t5}qrv;fb&8=CK>4x+^*O>+naTUs{=x>7v$!9!RNx&ur4qRS8~?03#oT0W9SYVGVaZv_yx5n94DR*+ovHxN1`o zt4v8jRP<(c{`|m#DQU8t2pnzf-{nUB_Y%1omHARoh#E-cW(VKufy_>R`MC{&`WVDr zKTy@-MGZ&5VK>@xc<`^K^x(&#@L-#ZbblKenL^h92iTl@%Sswq;oEo;GWD=f!0r9n zd=`Zzt66%Uh;x{D6r+S75wT=;U|5DuHA(0qOiC z8c%J8;?|u}bF6|Q>0|p*D?eJO*7dKm>!O1B%eQdTuY+8>-JpCg`fsZym+14~nvgJ{ z&SyClCVqi&rvVfVMOKWw=!FCPnz{M?bWwG&)wgm{0rygV+iI5R5O73&t|ac%S9M?N z8Cl_{-IU>go1d$I4Y4SV4&cTbKKZsv71x(KD53a~Kfsb+wfB{cZltf8ftG5?WezAt zhni!7y2JmoY!{33T)~%ieUhu*;EJ9?e*6OEz6L5E>EpeQ$>Mdg>KKDqkh~^EcE~o= zJ=nHEVGc`2`rX=dp+b*Zm_zF2p<`tj+Mr5P)N4YSJ5{t_DF=ecq-De)4r6h9NfvLb z#1Zza7>1BZ<`M-TU&5#{`0nbv{XUl{;a>0Z7~JXc8~x_xbLxolt2kvz6T8DH z~46a1V4`|`f}>3#Y6-hov9xqCji;w$$DdHoMBc=(4GJhb&(R#MN? z^lc%de+I$ZMG+fDoDTn&U?3r)+1Mk{|Fjc0WXusf}_q7qy=iNEJNtDZ$Mc$5&_w1I0Jwf|b z2yaa35*X&=Z%qpZV2d|S%rG;vY0rZLi$;+tkg(a4fJ1mf;kQ2isgnkkHl4Svv2|Y8 z^saZ&> zj_JriKp1da=v-6Gx~Yb&viy|oj?>qlq18V0LVjH=({?#pRhsgQi(c=muPK}p*%H{% zINh5RubGnq|D)E}bZPUXu62a1-%Z_@W+pVV`E|$I7UTMW;;3c1a88`|7Pmc8J5JHF zHx6Z^-)W!S)eto1G$mq$B-)Yk{a3Jz#GD3Qh!Pjh=FegZ%8%9bgA7PhNuN0(3h_$NUsC=8D%SLOl&QZbVt;vcPx|Hqux zfIzAP5J?kG+Y62^5mgIV?1lxnG%cqt1q6;qkVmPKqlMl%4ZaRK`BpWQ87|(&4P&Pz zQLSdI@kHZsGA})QJJeOAvQmY;(_c1Xmn1di-9<&`Mzn+=31Q>RQG$xGN1rRf6zl7c1lVQD^a3hq799hAX(DDJ`3D78vcxzBFDDvse zgF~(!#O7OdbjSkXMV3%J(_H&;QC>W@iQqeM_ES9;cWv=lgY9 z5RVb{Q`t4e9fqQb$|hsJ!AWSXp*{ zFxrHYkr+olg4kidnb<#UT2jxYEu}GtpNkw)eq(QI%8LO1yO+@e0VT=R5Cppk_s`N8 zu@&sMbWMO8=N@&nQC`I0h)x+*q0^Q7fVEys4RWf+6bm?iJf zi%kEEOkLtM+O$20rm6}2Z*Ml%aWcIx>s~z!D8sBn;hvQD)V*-m4Q!r{m2w8KOb6u= z?GP9+o(NgxKQW~*zcIL7-G8!t*LvL*)}fSC7UTViJ2rkgA{j*T@uzZ?pNZQb$mz%0 z-i{)3hu{!YnwkwDxXoeXN*SMYjIHPGOn!tLuMBgRAH5MOiiRNptXQzVW`IKOjoT*T9U(?1N)dq|7d&cQsT zp5;#UkeRoQ{bIAUU6WvRs^nO__*xkxe-Si^r>{o9mP@ z(x?E0=KKOje&`o**E=i&W*3RoYpOxS#cDqCXK|f*7e7k9cW~595M2w3Cs!sF?5+1}BnWV%ED}vw_z?a7kuX<8wf-6(~{ZLu&OrtKg z3jqhYT)^5j?f&QDQYHe=Nw^GJeZtlc^d@84g?nE7-{&}54u7HjMyalvKM@>9RjuhA zFp=JU>NT3$0HEs3HUwejGT)zqiHl3I8CA zFszII+pdxI|F&ynXJ!2VGdk0{dJec87(PEFPeDV2VnaFj-f^)u!9@09dPP>T=7D*yGEek0u_DmpqQK1_6u=e4~L z6+=7z1bd?ANAu2E_Nu7k%Q|>Cp2o!Wlj7B3qfGyxyRfx`(-;TVv*UFI>g(;%E7+Xy zC#m!J>G$PdnGh5vrmLD_KQh-5=U{MC%3<4>`5?vDy`SWl%w|)jt_)pW*pf@U=wZeD zP$G6zQc|kv+PTbNvl&KVxzojE-28QKrdG7wrpK4kYO}du(QN1Yj~PA54HT~Ox@@!+ zYTF?<54}ooK>L3FhP;zC&tFywmvpYBF z{@!9&aO`rx_I|97Jg>TayL>t>HvkO0?;p+m!=zs{XHwuK1l^ad7@^=RwX~0e+1w>_C6y^FGc968F z3*WGIE3O_Dwm$@ZGz_x2z`9uMt`L93Zv33+MFDE~8dRQ6R~Bw(#S}*jKPRIp5`^VnH@zpz9#)=!?K-@J8s^c~lbch`Ojn|)KYMXxT6wQ2@P8k{s z^4pNdaw>?W)LXmsFEEs)>Nv0{kX5=FNgOBQ^<+|H7f%dhA07=!$k*PjM zro+AEb!v%r+?@*pm6~Q|dYTkGzG}FGL&0W+89@Rn(DI%T#)jc?4hUHVuplxe{_9>i z&WYvs6ZgN?&(8-$9%#vTaHPZV;%nMoB<%2TfZI|KsVRT{yZimyEJHM)38>B`!;^J6C`qX$)wHQ(VVNClXFj)ucMo(=m2x`^2M1+rkKxQSDGw zKM=l8H-;rMX!_QpG8#mYVfDIDo0tq}YO*Doi%~sE31|R4dF0+d$#fvyJmxn;M`dL8 zWkIkMZh6jl0wWK*bL074diMj49U8CmAEL@RgyV{eLdEM$14S$_6?_dWG@?lG5F;A2 zqE0T*a7`h@Cr-zuX@l*?G3z!jDP|JTaAV)=awH6YNA#y@Mp}dUOI~P5!84N3R-tY< zgz#a}A`^sYL_|0uLnV3!K`M&qQQV|T0<(!O?=KA_A6&)8{(E)FwrkQmEgvK*2WJ57Xk z9C?%>#9xqhKndsBkoVNtpGZ*64H|${U3XB!oa)9Uh-65%Bc9)UImRsC`T0P04ddQy zY7Os^?Z!3qkz%1oTz`J^0{DajyS;3OJgv@hhBRKUbe>d){)N$G?qr@;$PL{8rEinQ zmf*kV%g~CNe&pEeKliO~hY12w`1-S$_gf4^?Yo!P!m>o|217b#w6Cz?(EhP)$ds=< zBM4iwvlV^@c;$H#>3JHOm50-)e0^Ua@t<6yQ_;69{#(1JLK;q+{mpCDw;G5nReuaP zHg}UuL6HzC-L}i&$e`OT5`d_}e8`6&LZdsAfT4n4Ub#7dB>|t(;We<%N)*69Lhe3E zePmHS0f7qv<3=fe>#_znrfu$|suM6}7EGaPdy*XOPUA)kG7v<~q1!M< z;rhGZAq>v`MYp8M(iVt0IA6Zv)u07iW%x8ZrARnYf0y-QDpO(hiX$ma zA`CqrOR8XSvgyJ|PsL2RN@Dh%EoV_GW+aIgU3M!B=J)kt97E^RCMlT);PlaV+XXcC z3|LDDe@{JjD`GMTe~+IlOag6$IS|yUS(5l2kg8?05qaoo>>$7{-yJaMGWul_dJ;P* z-cMQvdjMl+kUIf59(v(U%s4dNlP7VxOsa8o6@Y}&5;A)7P^@Hx8!|GjV}wZv;0(Az z7YE7s`$!F8TzP^nPD~3lPfZyOMq7jy3LI`EWRy%SLhYZAP9~1P`i>H$inKpv6RqqD zB&>;q4eiP-22lZYwptaftVkq}!j+NGM|Ml(1TNUAZ}CJ5QqH2AA9FH_KcVvOG-X*W zsqc$du@{^E5NXKdYm=txXd&yRN68B+OdZZr>dR7!h7&JR%6c&{wgm;^91$oZM-u{e z@CPg}D>aZT?MLxcAs({;B%y}x0G=h&Lt+;JNkJjX5JaLom(k?hD(pbi6KCCs;RMHvoJ6v)v+So!X#fkCu3mj_K526_w} z^hQ+@CQmyB(VY0A$|S|)_D~uf&-QElY1o^W>>^R`HdYZ7izbFj10u- zT8PL{r-T?BACd&(tQ}SlWQIFYh{#^xZlMhe2kQIR0tdJp#=Eet|6Yj$6B$wyFolmw z{81vq(7g|XkBm|PXVq-~ldz9v@Yvdpw%H_Pfs zzhJ;#Qec__m#M>bz(GD=Ivgi@q#S^Z0}`}$&~ng-i8K(}i%5p)AleM#2PkPM1@SIk z!^9$q1Jcoczi0WA{XfRuDMplNYujzxwr$(CZLPL#+xBYPwr#AoZQI>{?{jy)WGDNo zW~C}Mld8lJ7l*nr0lN@@VO4S_fp#tS)_$^TJR$TT$#Y{R4ba zCK>$S)G6!#q)u5G*#3_N$+WIb+=f`<_b=!m0Ka%RbI_MKD@q4o)FBXu&fo27>mwcn z+(V2RtstR`8H<~5Gj6BGmzc6)l|*%1&p(>=+(`XNdAh>0BP+Wy4Zd{i>i9j`=V@ta za>2ss%g`(7%lT>g&Y5fb$MNZUa`b8`YkKRtj`J!utg==9M*eomZS=t6$t!;NY#e*yJ=#qNyVc-tl4C`?mJHEKkR6(bH_iAJ0b9{_IAtkZAO(bA15=P z#7maae*$P6#lR|4<{}00Q!oQlH7T7;J5rBVv@l`*sIIK*Iew6DT#zoSZ?;LB3Y|pi z+jb*P=>5D>P1bDp`8*#~;`dBPX0XQz$W%eWzRb19_-)h-pZj_>Ze%ahS1j4m{(2zj zr@o~=IWub>11bA}$=e-X{;S&)*R!;Z=2-dun=w*(FsN0{WC%7r{j=uvYHQ|?P%#M6rz8P-?+lwscbqVJISikv?UN^HN&=cW!pRLdOJzjxZ<};*Cl#UHFMFx45x^~ zSqnZ2$k-2qXf&|&?CjI*!Q`sP%X8Hl_co2Hs$fL+$Ot0dFg7aH#vhili815`&mh>k zQhLg9tI)y=u&LJP+Yv;+CC&vOoS|~wg#|Ua4cZQx1A$;p=cun@Qg=r2P_4M^cUDUE zfE=Wo&~Z}sI@M7Z^P`*4@Obn@VSd<>$fi2a5B?xxB#|`mAAvQOJ(q1+^V|0J_3z>9VJKlRA^dq?}r)v#kb}E)yf6%*4c4G-(6e<`g z>Q+X^ARy1bWAoa~;lsg~51an-@K~wUJ3+e^4#8*dQ;`lZbb>x5gcb?V`qhuqcfO6> zG6SLdwi$;5twsAL(5DX$($gH>JG67 z_2xE!Tr<#sJDoJMMdPkjGZ~@9pf80K8dLWRBG%QrBHq>ZbVWrIs+HKC;q?*}8i!KI zR*J0*cils-8`A1S)tT;tsy2szXdE?WSoIDW0uPTWaa1n=E7G%%K_Dm9IfcQRO5V)G z)m`J_6}H*Y1U^BPkKb&t>r2-*0ql2MY9O908Bv#ryDgc0ptAT=A9_Mw98pF0+5)9Z0;Umte?Ylm z5+oMvzmVDj#YX_DD-{9gAJ7d26CF}-Qab_H6iEPJy&zijxdb55I~jX5OwmFU^V=+l zC|PU0hHFn`)2B0|FzO$mJrdWnXVk=nZES6&P`dEr(o{K8qJZzUX=9Zl12TaSMPUo z)+C7ity{W)AaE*QS}gYEl`AIpX1Agi@k4n$^62ztJ4!LcQ6c?EKjAL5KghC^l8;lJy<7~7~DpFYE8e>(-ngUL@{r4tovWDBl zLliU|U~MQ!!9$nPKBaJ({asSQzTY7N&nZP)mB`F61*m-Zs>qdy7^VBdGz6$T1Zb3w zE&>M!{|>p;IxytPm{>-#OU=1O81jFf-_xhCxyt63iEL7(U;v|8*VI>bI%7yHQc}R- zbp#y^!j#`9k^4)BWi#~-s7F9c1l9nx?EeQ;Sg@M(0y-jO0->Zv!SHXaD4I}0U+A22 zWQx*-Dv$+D>Tif15k!0bq9g!w{bD(UP#wKXs$c=6Q8m2_Qn(D23ya|HQ}GM~UT|^j zsGC z?nZhGghe@!j+!FT zzt$y9NJ#PP!-ySld@<|{I#Oo0a;vyZA=o#B+w>Xu2~?D9t}RP~xHc-?y&HQY>B*MR zQBRgf_V;-1fD0V1!;uGk? zLU-XU^lZrSGBJZF^r&}X6X=CP^~AgE5=dn-QG+P8eYc|%h%yid_J*@=vDX%HQEeF3 zq9ZR&#_Yyk>jy&fMA-N9PDipIk3mP)&tAfH==G5mcoTnXmyMnVwK*u^a%0051|8r_ zq0#XvaNIGe!^{v6zRm#9m5dXt+Gb!%nGB$9r^;h6+jUDOX49wnxdSsn`@`EC+do{( z;sN(SfCE;QtuYs&9miZfRj&B;A}Mk)Samb6G7GFdv4(LR!RRIP0D<9PHw2 z!pgU&7MUtKI?t4si5zvYteke$$Xu82Jyzf0VN+vo&~Ky{VFN~~Gog!BVyZ0pkxE)E z7kjJEuM*2-=;lAmIO;)UDN(wAE^x=G=lRXK(F#rn?v`DgmlaHfz|=7FDf67QKS$A* zn2Y%*PV^L`1D=Q7Tmj?LyeV;s8An6vHFOPG-7TRjL3_QFbT325J!pBihAf)Sv}T(Y z*#5Jq7IKR;LMdeuCvSbhlz*2=SS^71EA5*wD+Hr7RYOcFRy??S8D(J@98bsc87!RaLv_8zQtY0s-%1s`%^hre*Ae# z-UXbw_%NS4NZcn@+iRQ5i#bP)>$ybGB#)iHR;fE+a+2v!RxXCQS-)Zo07nJ2)5t?x z!z61g3C4YpDe{_`rSS?;-0f1zA0C~R_{f=5Q!PKp)1>RW(<3QO#lcBM@RWjp-tysY zG5x4Gqam-5&(q=bZXsLf@U_o9>I((uIu{MeXO5rg=LS2;0V4ixt4Y@H^bNfUmXdn zxw*^He*qiMfReKEl|Sa>F>G=%u9t?w7)1Qngmy5@`B}yA3#v6SvO&Mk`gK5cHOl#G z^~>__-o&ofbMOFLPw@ffBDXhI^hFrMHoh_`$*uNmb~}E|LAnRlS>ZI2LuUF3UioL_ zy+X3!zVBO}y3DCw=aDSlgd{d^HDkTL z+cA{YLa9yG&f@Z|l?3o-jonum&yoP}`enl9omVT-fG9YCxp;&37nHGd0X8?;9aX~E z!wr1D5M#)(RmKr!Z!a(lUJf9ubpd@Dll4UIxgd9L_gl8{f-j2#?G184P@~iYh^sus{m<%ii7aUE1bth-l zmLC8$t^V8?LCdG}BW&Zb*^4S-lMF4K*%B-1G(&hAvMDp2sIUFffcDs@FGs&%?F)o7 z1}v8S{Xp#u0Mi6fHKVV+aB%m%Z6T+I!ZEGGAtVN2E;n0EVx85hXaHZhs}4=`(>J{3 z39e*l&3wqI(mVI9g0B;t+QA=Q)#aFiMwjT{N=T<~ww-<~8I3T`j-z-6>t3Ko?l&Y? z`47Lr1*&fw+AJ3!208}8IB~Z;AE53t0Z?M@04F{_20>1RGhmMSYHLibs+nWyu4cQk zuvr(2%J#jzq{1sq;sQ8bI_nRct{W0h)`@Cz5}_)e23wg=lO!8D>5=c~;JDt}d>!l#HT`1H%k&x52&5nL+g zOJ^LSO>#@(ba~_|(oKc^OqyY|C%u!o>E|ynhzromW}hrxEDoN*8>f?ez*{$jxAAXe zEWk)slg&!(xi=NDMkb+L_Yej{J?Oi@0j@dRW2^l(7C6cl7rwtIaa1u*M3cK)hVyCL zY(U#!oev)kfm!OATwDz*6C6aY*Vai|?EV9DV%Juz-}Z(l+8A@unku!mx$E8;m1^!Z zMmq}A)C{`@1v`2f;qkGn4_|jZVawsi2ab6~MKe~3k{Ho-?!@nerWoSFqEAPcfu^j~ ziHuk<%F}6~(#^zzXRgqviPPa$b5Dhu_!AzzH^Njd{2n=W=!*w6`(QVEK2uKi1Xu-v z^JbgHTxIs%IieB%gD?WP4xhjdtH>|b#B{7NHonS5UqFO;3SJG{kxhOGwNQ=3vxXR%CoB^Q)Sj0SJL2{*(#cMo zq77XY1=L=Y(Of$L!cTo<7EnhX0b?FnXd@htUs2&#C#)dZeKXSfGO=13F#WZFVk+R> zo68X^1{)aKWG6Q8vj)Z!mZhK51pWr?{=ww_Zz(~x|0yNN#K!P{Qi9#uig8&INWS{+Y{-3*$4&g-6%_$@80)KYCt?XP z`DYdH9hE&5fiks|T)E^H(|X;RdMhr8bd8uF96rj6F7@9|o-eQQvODBa-bsrd^%=ga z+bizpCk17V_fJ;O$5*f)-X44Hc;CZ13~?d1n8Sf7Ye&Pq`gPMs!&#k^QD?J({UM!i zN1$PXcn30K|6oy|gRwmlx2g^2=<$hK$_#{B^7Jd-o+gh#JAo*b>N_6`4?g-2GX5E6!_BR0z>DPgouD=eY zKsF^GSAcpDX;&Ude`=y9g`W#{*WE2uZ{v9zi2j@BfU`$ZNqHZzy2{!u1Jtz1d zB~Gc^67=YMVGM0=Z8Na>#QC~oj4k5YPMr= zyn(L~lJ^|Q)p&=sf)nD@xg}MOt*K~p&^3;$?$%vOhpMx)>Xl=7OPXcK0D;E_4=!_* zrOOs29o%sG^6bkzF%<$X9ZJn-MA{Z7UG(<9MsDp7LFR1jj#gzgQ*30dx=Ik;XUi&_d2+1{>t#T-lg0>N5Td zK;y#h8j9wZsllQ-Gy(h8PIeQpv$6C!q}4Q@YS6nlGQ-!`%OGzcuz zG_e3OyPX@RA`govq{3Js*x;m9JleaFSSF+%{A+C67NuMmVFsipq5dSaO+6d6XvIB* zAZkkh8yLQSCjXj=m_aKR{8bbE%=tqS_mNngUPlu5fN{w(j;$@flZX%Ma2o1!XGeH! zqN=qo<}0v3Nq10dWNafW473|U20H=}zmuii0-(?`hwK;ijFy#s304uH@CA4<%FR*G z9dCDg@{FygNuGr{bY3)~%<_sDZzLI+3_|EDj4mZ&r`mpL>xjxd8O@8(oHEX}0N6`1 z&{_Jog{o&C(IS9G$P;vDN*|20HTY$^o&_Mb`A(xVY?Gv#(0rDtcl*zh|tDB z4$*ZO$>bd~FAsH+94cN$jhnmZ;L^Hy;~1gpsoLFP=Ggp@s!~JF z1EA0ffB=@Rv8eYX1dtXCkRf1-rpAkw^Z}5T%~o2UCT~M>J&PW^VgV34{dx%xNcllk-4|S*Oed@ zP!+)l;g;G_lNQ+@u|6&28(|I=Fb%gMZ5;`GDv~4-FX*$dzLSv<@9P21;r@wcRh6hd z)$atbXAClq1VbR@?A=Y+ubkJNNGxC?(E(=4W;2GO>w2?f4pVz~&)C(C;ri`zB?ld6 zFUj2lTf;fW=RUUI%pj*!FL`ZkOOG5YHOFI z(*3QeB(cXDJc@`A%j_5T+{Ij|$&`vt)&0VNNLZ&elfJ4iJNpTlZE&hpBV(?)?}2ffKX?aZ#B48A zO>~3{It21`Y&^WB!HBcKRm-!ElY_IHl5Tx@NS`%5r&+3JF>{M|^@1fz7p)08yCS8V za8F)j6r&~pHXHihc1-q-V$BnP&c*$`hei$21+hcF;p46(wJ=V5x1_k3zf@7QgK{&H z$ko=onX|4kMhe^*M`9_G^ zt5g#?O6a3^rwyX!3H0?14ouw*P|7Z0L2d7yS>hEfi#nt9S9sQ+RAalp*30RiXYV|G z%Ee36vS;~+yX--d4f}YDo>CI)4?RWJblGWn_^?!2zj-ZB)=NBVYV zSIR=`Gs~|~*|bbjxXtg2Cxs>5#QPA!+Huvb*ji^E^+GFjJ%M&NmuXD`>{<(9&;Ao? zR#FgWq4koriaP5jX*rbx;b-c+JnT@wo*20M#3T$@LgD@$97?MzhXYT8*FJII$)$Wk z*aY!tm*K{>>k6rptmbE1~8ZX}5^=@S748thk^($_5 z%02CfaM^>OTk-x~-h2rLfMo7ugwo}(mMuwi{&G$>Gcq+hE}UN;2zwWL)$RxcYWe>$ z%3tx~+D{RPal>pAO#en50PnH4uG8Qc&=6G1rGQTb=V6mAUm#G)MXDX{x0~N34`%KXR`C1_yr9e#*{0cDU{#0pYNMTj^vUQuwVrx+C8*F zI(YmCse-q`DT#sZLsLUUbG0tDkUpXLOtSMKxhDg zvJi+nV4vD+ITUkv3FzQXBJBAgzP{gff|;@oTWD>?1O*OShP+K2@sWnZJF3VPBlZVJ zu)YU2FiFfN)_)MHFoJlOBhtVJIt1JGJKA02P@QgT>}E{aBj>VyZI2Me^eLX)*N3f) zu-i5>l}jFf(Xyz}bF{XCU6wtMc=a#iERrAIf#1D55rl(3zBlx+-5@;A^VWCJ-Mo)& zP+qcPz{%&_4P{) zrAR_IDP;XD;?_|r(GZ{TqxzH@?1-SK;hx_SCfBD81h*8F<{Q7v%@Wvulb!7Ulk8;v zZLj(N*GV?(T-Y6q!T#V8{0w?G!NpX0NEQwn1z5Y@)QO_6cFJzRdxZ_SBoCG0bBb?^ z&-3>jc9CdeNxC|NR}ouLBnmr9e2X1q>EBE)eHm#cs@EQ`{At(VLvuTP_?)hxam(5{ zY2C?b7ewCto%@4Wh4*xMo9ez$0)j{3S-Ih@|Wz8^gjMIwLIm&25lfXdaJ8S825 zdOd+R@$$Gke!e&QMkZ#k_ww@)44@!P4wo5HLLA?xK|FK?7UB1s7#n0}Ac23+YS{7Z z=^{`k5T$VJ{Ny>{iSZ?G_3Q3(2e10&?{Vmd=?rz{2ccDy`sO5z7nwK=bQH&1YW-wM z<;b|xVDB42-s5kEg-m+8_Q(v=2jaak&IPmBxrd?AhVuX+2W0JQzek`^aoZ(T0N#;oXrt3gz z?39>MV{qUj?&Q@;BK1Xs?ovj3{|?-&T?Wssru&5X6|EZ0odWti`Lj%qpW&W$b6> zEbcNj`72|VUOm2FW2+Qo=v8Ksf9i;1CX=?k9ArQ#thdnr7LIqHF6N`H>#GfkyNRq- zMcQY`l)?lVmE6Y*){voqEHROkv0cEgu>W|jSF2Cn)aP8QK-0<|WQUe;E;+i+liq8z zXvbZQ(dd4PPmBg`-qZ=ytZ-wzLQ%K3l&n-%YwDPx&A49AWU%?QS_+3GtqnlZ$uJwe z=abARNj~?1SZD1w5oR3Cp;F3NBoEt9K8etVehx`(CX{5?V@54FQ#fivg+rn!7=l_N zel5`)oB(-yzOvynHG8)kq4dEzubXL+{S^RA0YNR(JdW_zg~=fHYG;ccNV?Z?Dx*Y^ z2!dLiy2A$=w-dG>plj ztT{%6j0P@|Cb_PR<2j<+5ptKazl#YHB@8br3r*?mQdayJ8G`b3uR#1px?8L)?QSlt zM76EjX9u9y{R4szQtP_m*sD!E$Azx#Vk0GlX+roGv|ABc^GL@W#rzww^&PY!7`+m? zSH<2f; zYO+9`YiD|prW=>fLv*o5Ka$Q2@nK#T`r z;bzn*BdYgNpgWZ4j5%xqObIcbSTv8swy>WjqZ2c(lYp~3cE3@c)%{qC{>i@dZ^!5} z%0Z;8lfHoN^1Zn;A@bo!aX?!%3;t-6&K8=`D4y}587#uS%^_dH(*DPH;&2>N#E3rQ zvCBFR<}+#~`$RDgs0>+dkP$5N^ljD+C>Mr9PNoFLlrEva&z_b5f)cG0{g6eBd)2xK z4S3DkDtL|StX*A?OUhwh&H@M4_JoCfpP4C!o>8Vzm*zfwL@1fzQOI}6D$liSMN|&i zKL}V_#inRgBqj-$5t&)Fe8JAw)IUL{6k6(@vuoW7nHGq&p?xODIBgF}?l1xo^Jl5x z-2v1}41N%N`k_lMAG)Q)-*b9{MBFDk;YcDy0!b@@h)@mDJmg#ocflhuPp<~W0;)CmaN$65k=Tz zqCb*HtyU~iS&BCGpq9skV0E70VMUEv;;reX7g8y@Qt*KmS&1d&R>Sd>OflhNHAxcb z69{XO&y~T+fNMJLs~*)X+`ss9BeO!Ac-(h> z*|4TYMWo~7PgTXd!PxLvg#rn}Bc&)trMPSENCoV(Cq8WVqja<5bQQX~VBD+2MY%;E zMOvJ1pmG*KmZ6SfFle!*3GIZIl$+*6>plPPFkvXCVnM_X9y`h^0QHeqGL3z!z0`a? z5{(kid}ruock}MhStHGTM2Pzqil_PTrH(e@6#!@W*Y|h0lt%KL?@;GXa16`dR=r z$Bc$B;NS^9DYJJFK*rL4m#s_%K=5r4!WCOq5E@1jPrG|`N}&ad>pmig5_%mU*rS>y_r{yoEpU0Q#v~yBb+Lp=e3yz5n&MBbN}S} zd|K7pmqr}xp$PPuk-y$Z3m(T9qDl;n(%%o|ng|OCNGDvyyIq__xUDwSvCb={E~?d2 z+tw^5@t~%Rqa1DYbNt5%~z88DK+s`m9^UX zx}2;;wV`L_O;hM&zY5h~46DT*ohEB_FECqoD^!i$v80z$5#LR1RG)3{Chb`3zc}*L z%oTy2nQcj@pDt5~=xW~%m9&@XwrGhhft&YlL7@}k$dUWt%}Yd4=TygrlF+F89eFI# z((T&->vu;dSgyS7eiB+*8a;EbI9Yj#VS)9K-Vcy}q`_Il(wEGw8NL(=+V+X*eL zD{-y_Cn^rX!(x+3mfSAsRhIvgfga$30lV;1s|x+I!^_g24%c<-B+~ z_MhMmJ;G>pf-TPg(NI*wv{`2`a@fY8;IXqo#AZ>3hE2m*9&iMKjU$R2d(_1BaQ9_^ zsTIg*LA2k@1Nu)!jaP1^dJ7zOZ4g<9 z##--u@{W>s4di<9WZ}cu1RA_&M?m%^QE}AU($Ip4Sk@SFObctglWrd&IZc^U@Jgv5 zNV-9Pc%32E_q^Icx1ZuYBwci*ja0&s`H2UYPy!^Xude8xA$|h(Si7zVF5SCt-by<4n8$KVWXwceyRnoh4mfhxEthk8+!UZ_KRVcEIJXedgt|{5lp45 z4cWu1eGr)Q8eep+tC@S?v5#WiQq|!f^obwcbcNo<-RS^dYU@-{35s{3Ey2MuZijlc z9qha6x|%*1E3M?u=5@lf)%4UpmWsfzFlb`eo7e9UDcbPnLE;=Xs@Y{W!j7ZEhUI-p z!35OC#oyp^>=>1$Z!rO^-&0Weyx;OD=8g`dG5-kL(34i$0MQg`=|L9!b3&p;S1G); z&4LY7qW;(V&|fgCmEQFGZ6zYzcTsr$Xz$NY+@lfUsk8RD*i{8rgA_Zl)p9#CBX77Bv-HcBy{{tn=L zKO~$Wg60{3TiuY1cH^~nJ$kJWytf58X9+;WJZko%Jz2&yvj_&iKws{^iX4L4AKh0K z4Pki%1p?)7J-bGe3=wk(2nNjl@Z!0;#DRz-B<}uGlL(9msRLlg+r3$Fj_-{~$pnD@ z@BoiNPi*Vs2`K75mH(2JdiDEB*v}bGFFgDKpU8Rt{%;`=$Nv-pF|l+0AM?L%?F+jN z4y6BtK)?YXMCj;RMP=%WC=&RcZG%s9S72`V9Z^9~_a1E`N(&)&hP0_EKMT=zQ_@dU%c<=O%S}|6TNG z&-v--uD)BA|D$P^)oQoa34gPOpN3B7c1Mqv*iPd=%aCfFq^tM&fvT;q*VWnHmHtD5 z$E`&CqkD2muu57R6}a#Vj-HvIVWWf7Hg;3ld=Jh*wd6F>dYt7 z%`l{v|Ie-4oAc!tJ^uNaQ~zex)F^-R^BmBQ90P6(ojWRspG9DV$KvgX7{EaCAN2Uz zam~pwx>i`G2VAbMN31!$P@4h1nRO^bc^xT$*2VB|eruCC}z=3bsjcOQ2n^-=Oh zhNGndPS~F~2DP@Cjv9@BU1_PzJCwJKJ|?dT%b0Qv1`J_n4iD zX4Vj}G>{@#oM=daZkBZmklj(eTwWg{9^I3sYe(jVI&SD}?-;Zhr1#d<9eTusR#u>! zjuA7|QT4TH-pE8=f+Dgkla!^#v2ixkPErlpiJM!dN_NS2SaRtbGl(;eeq0G`K^+d% zO6iuVD44pg3MnhWcmV-M2!d&3Ew2^IVh@?Th$NIOrKk*Ow}Q3Ig@sgqKYk z6YgwDbRaCleQO!aud`Duez%DF%0GobHC)HHK;EjnMJOTGUqw|mE%wAv4Ikw!t^ry; zWc_WO4EaQO*k~h7-t%Tt_(`yqi(L{GSgezYaFoLbx8hN%frAji5ffDNV9Lq_|NNK0 z5=dz8@QKuh8QcNu%5Rv}40`rdSc$zR)G-U$*IFj*c`92hB5T!`kc8(7+=aThh!1`1 z@jMbI>lzJUVS-bFRXoRA3rhLbxmIvEYN6M-opx?`;E(asYo4@%eC_NcKz8{hv z$B6^}Lpn&up^v&UMFa9zpcurPAGZn@e0>WL_}97+qi4uzYEX)wxa7Ak+fqEAU{z#2 zZ%YsX351-Y%DF&z(K1#wEc=f**UUoK2Le-0L}CZQrDE=+W@Ya#m(;yS0G(5>ksh;* zAw_%w#ExD;*M(!ov|v2w+Jb>&qHk^gWth%>m^#(yvSXxSnrRf_d1~vbN|-93fvrl| zjH;@@6Yh8aR5wfpmh&Ixrg12-(3kAazskz^hv}Nlhf$d56tpzsCkaD1$2e0NYW_wf zk`A=;KB5#eE#-pYEaE|EX(bheVvhll`DHyyh*_f@5l~}lgm>eda~yb)b?Y6Q61N#R z^y=de#JCQf(*^_4KU9lHvN2qhl|Fqd`hxvFW?NJoufSd2=Ts3p=MuJacjCkU9JN_`ps6Wyg7(DU!kOtP3<2|i zn}f1aYRqai0)y1wGKJzRwn;G7{2lSoFz=s`Y{BALmRPEEwCSAP6^FWO4C=y@&I!sW zdk+TSI6Fo4T3HWAhYX;i7Q?IeKCwmh#&wbN1)oFD)*lKYn)ky`l$A&8GUqKn7q=tF zN4ols_C2t~Q1{4eJGZr%Dk)fyhcqy)x$FpMGATRx;A2?CLwK4`3{^Dc3A0`OtvgHH zeKgTl@AE2-0$58)J7Q6NNUUUrDw&V|AsbTR4UzST9sOhDBY1-pD(Ot6g9pyVk`e3! z)?sM;hS9xo)nWyiQiOy5WtGptfc|)Dtg!f%-ysZ5_ue+iR^^<*8ioXwW@m zEy@>FyBq#QEv;lEl%Y+1vA+yZ(do@SVCEjdqp8J?fjeJX8X|?jW+fu)Y^? z)zsKDtIf@WaUW&4U@bb%6#ky~ppS8C>sXbhxK=&HG zBj-f-FK{JkK0Z;ynXYHomgiFE7lJ)>N;o+4hkZKU2@~)4H6l)5>bTCv%oP980fVR~ zH!2Lt%O4h-9d?mhek#Ya2f+T|I5j#@OtX2USX_J;%H8i=N0~*AH|zJ2+{5Bb50A|O z)eqeoK>wX~Fp-Kwlz_aT(5ydT++9MFrl9b#UYR>Qc2JmQY%bo=c~h1-ICe0|6$h~- zW8UHA^Kot?>-<7&-R$;c}*Q$ut^-p{5!pH84Jyq1>+r|ikNr$MGAQB?%8r3b{|Dc z!gDy-cP5Cxd;Kq8XQ=1x$5u8fEuPF8Dgym4jcn%!0|$u-2zc;?$ej#1-AxkV0DcjS zoMX*tXitu}1&Ij_@hGgMh0Mc+G$f+3!(y`@K5blL)!gnY)LBVPZKtTNVIoc3Qx}iOAqI9fUJXYcQ?z z^LLvZ%DX(2*mu66HWcUeDB~mssywk!HBI~gju}Uk|2OT-`9EoAW@gs^tDS$h53t#h zetsL-fcY(>EW5q04ir%A6I;gipdRVkFTx7&RWx0rSCuTsA%QmW{g}P4oZ2d%o}oli zQwKBlrsA`A;x{TUN*BJaOudYDeB4}oxNKVRUD+>NE7ijm&Td~nmOg58UDbQ7udiRS z7QPJqp03~Gkon&4>^ZJ-dVX@cJs&cE8+#IpF~8Lv`k7J(%@iS@n>xE*pRikcyWF3? z@AuEe`}6j`u8u!)uLpi<5gEfUZ&jBfA)PD|ZDJGp^`UCn$`u2lOAnei&n`BttIbH>Xf89PzIM~bTLM60uksZbC>s-B48j?1#j%*^6tN9LpL1u0c-(pH4*! zN-8&YDRgn{FP6@L??ItVBn|DWeY%HGWmRePkR~FDIWv#0QMROBaR{E1mL|4EqRxO6 z5Swy7;SgxB4$a~|U1jRLnB(8$A~t02kuRX~Cb`K?PFWNRpE_-;7XtaW9o7pF?5Xrm2af5w_))VB+Y2z)X1)<(t}LQ-e@JXyquT}#!v{h1#n2&v{Q`P}^&Oeg=ne1F)JK}?7=*#H&esd_ zah)JGZ27RROxatmT-j|Ao$r~bM;8Pg5l-VHr7hS_L)mBx=H$!|*s(TZv14k$mLP-0 z6bLTQgC+^ooA~no&W+L+wrq8HNctrmC+|zA3!tlss*=%InlQ<*26rTYgd&7Qtl(n7a6=`dw!mT6c&Igu}r zl#_HN+Kd46ME7;BiqhvgE%_MwNHe5-AYR6? zy;j+le6Dzt5xQKj1Mf=Of?Aqc*Dx*+r>@c#GMrv^*|K;~y7%=CsXg5@Em6Ay2< zQ9s!;LZPpflymheqI>Nx8^`8H*cNOjSoTMDRn$_9hcgrBAb(=B2JUs z#WYtcd<%1U(j<`b-{nJHGP2;IVXH1M*H{W|H7igdG{on3|CSx{rE@mTlS;40{w-#Z z1LZ_v>ncX7y@Qb-E>fN9D(Hkov3Np+3{uvZS$0VaO1Wdgf4DF=oxz0|IROghZN{&U zY?Ri_QmnYHc?pCZn9r}D$OwD-gU=BBmQQQ~G4in-p<40}3kcSRB4GrJ!v?QcJ*slp zqr;T`-d7S+Cnv!Vv4(6mgGCIF#XhG%U@gAe@+~jE!RCLA-?aE2s+T?RRsQ%|k6h2n z&p~Tq{94F2<6-4k(b#M}AWoxg20b$u#c>~Ej8(1SA=l7W*W21ukID<2f~d7P2oN7< z6bil42bZ217WTW?S<*L@%&i|hrANEEn171KPB!FAU7v<$N1Y?uc&lu`Mi@oAyvN@b zxQedunp*Pnr>9QvK_Rbjj?A`rPH5yTE5vXH*Lc`df!7ANo6%UuOs_l9%rW&Y2Se_p zTlzw-lWm5?9n_VnlRQ#UO;G1LfJ4oj48FisHqgiH1rzkC>zPJOPe!%F`re;=I_4csTP_IN+qR5YGfrtFd_D{~20npDw%nk|D z$xuV}>cIB?q{mrs!>nC=(Y2Fbw%8>|$l__?DYRBZmm=G!Jzdf;U6%(|V@`<-1#GPH z|HRiw2HW!AssjC(B__+RQrih;(2u;A!EUKKkahv=LepTwt9oBmW^p26S6G7dPccA% zlYj}z7m^Vu2MJTCX2$`80s+iWg7JPzH`<-2nCDMs9{a3`C@?iz3fr8YahR)a7P1o&a1#u? z<}{+c#7pJ^b=6MrWshEyH1*lVy}=FB?1&fcEWe-Yj1;=@NTl^AAz494vw2RJ-P~QV z8XLoNmH!P626MhPiZ9~Z@pD^mojbYl><}|}0VofHR?qHy?dIpsEDrV{O{OkAqj=$F zZ|hs@JP~#+!@<*K3jE)wB>g{#HZFib=h50ql{-BgA2zG-2OT?2Z>21C&_y#cS^ui5 zHn-uT+@1=zriJ2yK0`Vv_w`77^%9vhLE6J2W9#mYOU+;w=E6HFoN8t7kENO7 zK)&UZi*Su4My&?@=ESd%QP+6vp8yFVwimU+v^}PQR6kCi2TCpZ{V}DUsU`c2F|9s({sYF26;>f&4wdau6Cqj}xFU!vsNC6LJOv1?>q8qGbk% zuc83wE+BsacaeO26!9|<7(xTdUfB!V;<>;|D!U7dQe=~wL$NPH1Yk?c8Un~r;7 zC>9s@VpBo$Uk602^*Uo*aRV7N(4=fl%(DP6i&qTN3k#9&qLa^GB`Xpi@xCJ6@Fa4Y zdYY#l)eWEE_3y&t2{S&Rj8Q*8_16Khh3xna6`ik`=+?l=$ItkI(8juV5ees`WIkWw z5}^SwJgnlP8vM#X|z^>h`8Er5dgo)XA2_eZgu zpzwJ{I61_f6wbTX&_JOg{6lc(%Y}=Jxqo)G0Il1V8;95A`*t$V3&CRe`!&{+?*Cv0 zh95^ZGQgVI;TTPrEQwnp!n435v7@Z5$ z;K1j33!d{AI5EDPeFpQYy|5lKV{kT-AJic2A>wXDe($eLXPOxLU_n~H_{Ye-;Z%)5 zn<^@qeMPWi23FPiz{%iNX}z<1gB-A(hGdl^+Y=|aiVVBq+8|1!tT}<`WZUHB-n_Nkh=^aPWtAgdmaeFLIi^pAl6tilsa;}aV$oHA%NqxLyt}#k`lY| zsdcf7A^_;dS{HoQT>pb_KQYqFX*fCV>&&n~ZiO@!5RH^FE`}iet-M=jPPjHer2T*) zSh~Bikm%2-!yxkp@hy7lE6#YK;Ws*bmyZ$LB4+{wjlw0L!|Sg!sFpj;lMIbEvY;&Z zeJD)mP!K>UZktOPVV%c`k2IlGyS><;P796@`Q@>hc$v03ReTaJz0B`7zwtHvamz*~ z8JbF%i?E>b)kvvC2rKa7^rOZgBhb~^!K;A;m6ZL1H(#vM0oNxE(rGBJqVrw2A-ZF-BX`$TlWG|t)oy7eL)_6M z)e_GKsur&2-HE8@Xnd$YGJFgDXotzsM8Q6Z9iJ&U|SqsvOd6%)zDk!FQ>%KXUH+mxP3dU<4F7*1ML2=wSvNVGKHcYm23@%(?eN( z*x;@bJ^5&|K}Yx3A&|qT+f#Kx(mh_YHhNT9P!l=5JNfXjY4ygdQQa!hP1`cr>ypaC z`(90PUgdQc@E@J!&C7GA1^+YjYY_mw#UA;!2>ga2=hk1HjaNP_CLY-a^hZ8iEF!}R z|5^k>7E}n;RjvS2R0l39?i^$x2FEt*$6Ux0_3pz808+21ad-8eT z>OH#htf>@`1;=)lW+ag!_87zg6rypUGY5>n1J+gip^Q<7Vc+9VOju8vMev~1sYX8k zDDSQofDt`Eu2~ExU)pAOy1x%$A7Zw+Z_}vQ;6jE#P&);PODBotL;C8q)Kyh$!0>$X z+{c1%+9H{D_pd}i&@ZnJsGVAt;c6z+SLi9I)o@%tr1ed&VFF2@(x;M&CeTb5$|;rC zuvnv&tk4(qFKD)xUWL^B(!>{fy2%zC8rh-ox-0CsQx0t7PhN?HHkxK`-y`}3wbxyS`hz;3udfExV}~#+jb)pV5*t zY8OFrb!r5H-!hWieq!A%F2;un`%r(`p?{LY3>EsA&V)lwNAT`^uif<@2jKET^DB$| z5!+4PiM_7I(`e+-Ald!{4@IvrekPqvuN(TU_dhm2U~A6lp+N@!)0H>+4U6%+Zb7>7 zVjakuP}RNmm&wd-t8as#KMCkx>qt;Ekn$z`RjDgT!Y0dfCxrlR)kH;wfD*rkTL2v( zklEyFB*YT(K381=%~#_DX%|ngfH9+dp+f@Wx{-KhGAhh~Sx}}kXkaPC@>t@sae|Lv zpR6rFd?L+4)gEspvv>b_W|VfVqnqA1hNf{4pvTPUgm^`Tc&59Bso#4WaC{S#O_L4( zqsS@q;tReE{&4mm>#2j$Zy^Av_k4++BlLe+Nw1wnyW0VtGcFRTO{|%kQW+0~_b8$g zR@Je!Mc9tW=*$?JQG!PvBWHOks?_6-DcAH}6!XXh#tG3YZ#0Jk{fBT`y79$AC@$S4{7|9Be1PWQlv@A%XE&nttl`C_yI*gc7?y#P^8&Se zBqoe?s#08=Sqf7T#deM7+I|zX5-@%++Ys{1%7#FjtfY{fDm}ObqV-@mQYv-FL!JtO z64S8oLH8(ZT=XDVHl*v>BXOECt9^?5vs^&de`6SY6dFg%!rh*<;}%mVV1NG{;WVa; ze*;f@;+ucB{#4$`=)!eTUTZYwp0)xoKpt}+EFM}L9UN939~h*9sSgUB1`^(OO_`e3 zDB6P(cYn>0&GRazkOV0@y2a|Tg!1k zk~tYG6~VHER$&$H44;2!Et~?2Vl7PY)^+v60*&+xI9Lw%UI)Z&k%v7B#YMiSbJpR_@l04;7avvQJrQkWfKwgmw=<l|9OuT8-9x-p^GcJ<9N>S;0&5W>Z64h$UCAZfS7Wh#(dlZQc37N(qC zEa=C?-R07ESU&Jt4y5#Knv&bQ`+eRNC|B9ABAYELU>I_nhK(tzU}!>;1q;r7#nm~+ zCOp(RrjCI3ePpvu?;+GaP#`Ozt&0YcG#7;X!T zB5ADiL}!4)omYRoRVevAi?JCwaG}f)Aj6rnToz=>9VfflwLBp4Ssf68OxFYu$Nf*q z)o}pwRNvPr!HA&|(pvl<^-4bZR@~amfTEplsq0lbLDAj-ISlun3k8rAr4_%-t9^xN zG%?0P)Nd$kerG|%Z1%0+c(-N9&$q6<~l`%oR00)u$m6+-J9srVcJz2U>)+eo>SGED}1h48SQLR z@s|8XWnONYM640eijKS#St^O)2$Xm)wF7PUTXBl~nk7veM7<)?kBSXzSJal|gsg3p z&XSvr$Go~{H{dZBGy#X?0=P2#WL-cH=4`dBD^8imYg0>0Z$N)kpun+?{9p&g8x|^i zLId*ZRo#^*p1?W$l;z@pyvk0)C43W(j`fz%ErplBZwQ2oL-fq3?d?m?xfXO_oQO;G z&wl0`%$ah%%>t95^eKl#J$Q~Ko;0ESR>Us@eQ0ga(uF92uJH%^(Huw?{fscepmVxU zDfOFUI~>d`7U~C-;|Z{u#75p{^}KNk;a|6%?ghS!rZ;_QpAdq(eXH$RJY?<8)>GKJS+u}{*s_0;%s+anw?CVJiSKnVtaJ4cAQ~C7nLk8t`CcFGZ z#g-1(Q}K3>gP?cTwVc5qH&Bojv1uMQ7?f;R*gmNOe*pt1Fxo+gLXGRrp0!-I8+i9i z1%5|#d2t2{Ouj~y^ljOhyR|}hU?6+hQY~=Mb5xagB%I9=tOR~HQAkco_er02yNpF! zT|zr`+sepcI;-^MvxNIH(krqTi#IDX-6s*g7JL>rdhtC>+Q54gZzO->LEe#*4e53e zM+Km6_}A~U7mcAs@v$`)3B$|S@FeA$a~L5yQ^aPZw|HzEk_c`&Jc$BVig=tLAO5AW zM*NcG6SsnHVGszCc_DT)G4tI;3V4ZcX7!DFQp!TEe{p9|SC@PkiOH5x+kdbY#EMQ) zE^BOn3YbU5pCjO~m8iVQBpui3u7z!^kgSpVH?nFqtnvPE3(XzW+XdtF9~wH6G2tDO z82wn?qkM)N4t5g$2Q7>H+UcoomGcR;zlLB1k@f_R;OOjl8Hyl;B%GrV5MyJruFY7E z06l|^O`VfbjR3v#_qLBhK#VYV!|*_fNW*TI2uCS`2Y>8vE?P``j~%ohS|N(F?~8!= z+cv8tSyU+fnFQXi3e)IE$1?$(WFxUjagY}UT>jrR1Q`^xf=pz%KD!f^+rm`rlM8Vg zJBa{3@+R?WB7&WjzdZ=D>G?>&s0D+)Ae&sj@NU4zZ!<^G3)-e)cnC7s%Yf57EnzHR z6UiTEK3qh6sV|SP1R5H4;8NEz=uD9tB+UIfNNq%|Iv4S-3B4Q;O%G!1f_8&Z$@H2_V|S%&c%<#{lQBiOz`m58oyP{DBc z6cQ;~PMGm;6fX>uVpI;nh7`)R_k}#e`|bDHu$j9RztO#Myxfob*pDH@2Ehh`^cQ?~ zu*u?o(=iPHla66#p=bR6TTZ&QHDV80k$i0Pegg5X2&&QO6rchC97%pv3_mMVr#r;` zUfVX$NZVC-Y&x!<@2Bb=l5uzvH4`MgjV5({go=@hw}@oBZ#`cPKKi8L^Hu8$UCik4 z{nt6+$JO`Iwc8fYkI&CY^6ekXj4QQPwqBoPYg=2Lp3d&}AAgg%+v~gM5CDbv_$aBINJ?bpRM6QS z9^m;{TjOUZKe$Hnr%J|NpRVrlYd`4P2G_}5lPL6u-A31+w(d8)j_=j0X(vpJoW>NG zh~|UWO=_tTkzWY+Ndn8@yDp_qfnK{={UqqEZ-egAo=?uMf`AG1*9qje9fM|Zf*(4E zM2V`10%U-(Z?S!i`Fu zY3{KP`Kl%o)?1qTn?5%j$2jyfAP?jk5k5hobW11n$z$v_23I)<7_j2U&*;z3SP&=C z1IIN39kSZYMu4LVT0W2KUs?GW`UFC}k<2!KHImsx0fLS|mjRbV*Bv(?neUxq!TF$G z0xy>L&R#elvnj5%0<=~5;7d}fvi7AizNM?7*7to-u1)^n+YRJ|yJzy^^y3}`Od`Sv z&#u5iB4EYHYbVZj3KCi*flzMNZ$AzG$Y2%^!Z6;pUyde$kQ_yf*Dw|eLw4@riIG4d zVn#_xhJL$ro=50h}^{iW%?pyBbh)`6K{=N zfDiu5C6y}+M8Puq)mUOQy zQU`_|j0nkQWV7a|;!wkHK#F_|df{ymf=q+j^CQ9Eavk?$uuj$vX66O}H#(7RbPykn z>GezZr#c;+6IX|poQGfE&~#G;_}ML4*OW%s(_TV1Gg;_48mS@2MT&M$?(W_Cpw`q1 zy%X!Ci|1<&&7EU&AJu4bN6#4EYNkrd2>zz@d`~Vir=|?G+*64hb!m~Vysh?bZOr7y z@R`0hNK>x{?tSQo@Y5erBY8h3XFf1DNL5|GNXB8GX6^vO*GuTnNmb3I77O{^oZEu$ z4B5A=fe0hQ@_QcH#Kq5;x^y2j(Va3G zZ89}OndUjSzu-j_;C#@XQ@Gn;t`XJfJuNH+!ccXC91UFP`2^FNMyhX`H>3i z6wPLh5g~bMdD*Ve66W~tH29I|+SI&a+W1rQa!j@LBpiJ>)=VJJ-B-Y$B@k+O;UQD< zs>CKF+w**uVLGxw?#4a#!$%|#@~W`$=w~SSvIwX(__!4aArBIqhkl(F&hryZ6LjA|$A*QzQWN!LE zh}$EhQO^5YuvDT_96-%z(dnXR|+`>os0ZM)WWNc5BR47g(SLrkB z&HN?UtJtyN_y(Z)4A(+nK%t>+t3_x#FHWbpO+6X~v0Eg~pc)yGm_cQToJH;1uile4k z_uU}6QAOwJ^ksA+1SZ`Dj8IPeN+>{FDEo%Tx{T@}+4R`bMR7!hb-;!(4cRZK+UHCg zoA%3upSxWiAOy68Fqky2*pu4i^rpa`k(|aXic^PU_p#@Y&{3(Q<5G4$%UTS_<|M=t zL{lVHoJuvTns~$1q*0wiX;u(o8q~*ez;l>p^^Woask@h)VK(y;ln)S_(QzA6#fc&) zD2091)+Rmh1j-yV1E239M%Sf0aMYdGp&lHH8N7u45^<+4`wg$f4WBbN)G_vskV?9y z?2^b)qEZ{_=uuLci#p7kEm_uv+o<8|aETf())YEK=4BUQ@}|siNmLdQM(O807n>ux zUv)2}sT*!Etnhc;AdeD*h{oJ%;W-5bg&y5)cpfptEHzm&y@Vgm1L8}q#+MjSTEj^$ zHoZs{ZV%Nl!)gm-2|&2b=F!VI)>4}Q!b}{@4;$$>dr(&(mQbjB5_yt{5|BVjt0=s> z6>#S+>`EKT42U~8@Dg{2^Q~daCM~!&Jhg9hnR9Jn=eSmA*{ZnS zc`Vx0u{F7Az>Sxjh_o>olE(sEEtPP9JAw9xRx~LA<{?9oG=L|G*uYw8uNI54Nkh7+ zTHWEje<(Ze-8+>Ol`$Be9%4GZ>s(i3W^8el5N=Fw8oq=S8Cw7cL8o065ZizP(2p*H z0L7v?B{{+BO7~YH=mzVsV!vw9#JUBMd3JMF6tY}QpA&il`aK4b6X40SIv!uIX^~bIPV3&tzixf- zcxLaVGCddHU4$$d_tBYIf=rUehhpxHaU8gFLRl@EXvy$H%TQ*?!8=YaVXuf3Z&mW< zn}%#41f>rSDTS%!ohh~vtvL@t6)%E_sqpOjMhv^HJ%7%VGq#^>R8@mx4-u7pQbMG@ zLn$@%Us3;}U|kA)KD}<5=`y8U2At;4K$V`eY_Cin z%R2Xv6_(DC0^wqHdH;zBF+FCny~gBZrMVV=$k&RngzK@BzUj>}KVZ5sRW0f+*K~5skR6Fm#Z~ugjIok|a`s{Rc{H+Z>VSyPUNk625 z)}b-1`W9}5VU+O&nnNKI?E#7uRCPL25WuaU0uIPJfM;|SrbbDoq3N23P2 zc2#NG`$CiMfa7!qtTe4-Vd3Ua*JcUXs7?sD5(Uq9VH(nF#1vTk&$4q?zJ3TOI2W;G zd}BbUYQg2+{_C{8@YDn)U16Ad2*Mpn3l{Q=1FnBKtQ0m}p+^O0ncLnq`+|YWGP-R0 z@USxsy4=4i1|vVmK!?U)&jRv6a1hqYFC2wMo6N6GlFPVGd|9cs4lP``Scn-`eveXo z5;q-N76Q&|bhLba%FJ%{1KdtzFRNIdSa6OvNo{!Ws7XPL7tZa$C}IZKs=z*dqTL4J zAH+S+8Zas&|HD!hJdpR*KLWp|VHi1dCTRaJfKCRzU6O8H1cvj+R*9YNBwWC0Svjgq z&d#OJrU_~b=Dl2ur1CrGK)|>gbQO#Sj!tlnDb!H>xL30{@x+Ttv3VrRc>j5N`<>@P?+4iGvc$uitfSh^8x`8-hqLB zHa*x+80icGoQxJf3ghz{pEGd4czp}T3A3qkt~d%GM;w%T#p7W;`&#IT5oj$`TyM$i3lTHC_T2!P`Kcv>_%BeG`m?d=)5%L%^L4T&?i9t-LVS@uCtqYjyg0L9|a>$I3T0MZF8$FR2JZ=D# ziGX6oxr;1ra3?ugvgs6u0hn}5Fpwo+JdJl``6w6)DnQ4orEB~ zIBoHGCOb(JXqUwPzz~@cf|I<*d8{3unQU#~XsAoJD&5;(TgR`Zk9YAbWN$xmZ@Sq@G`Fsnz2GIw29!S)nfC); z9YCflEEZ&HVCQfSiFhZSlB~>o8k$p*@tjVzYpQXSZjs1~%#_I}&DM@IEX^}Mb>(I3 zbLi>jNI87nQBrf2e;c8mOYg4gbx8Y0z{wQ&mP5%Du;>IgB%a8rDFW|g&G4kQ_ubjE@Oph7AVG;W7C&ZtNHB& zd9#1*AH8pFvav8#s$frR-lJR1Tk5pJd~B#Fl8`Y<7c+s)C*?Qnbq|zrNWs$Hb*#2s543`)VUG+FOrL?zc=|E?Q zPEL04+o|thAPh0beUtLr1+2p&JQ{bvK&*7Zg8UKYrySr%=oe5B^V6#XR{M2|3ja31 z)jAY-g8cQ`fHhkoob?bD_k2Rv0$(&ijyNHJ1Y{j;-2AF5ZMf{koUHg#E=mV`WLL{omkd;dRAUA-s&Q9+5wxwjc`k&Ns7aPz8lqbq(ww_vidrn=^oq|?IIp>J<` zyb)Im#z{XjzY!0`%azGSk0^~`rPTsEMn%$9AV~y%9hTTms?*5|8VTOxy!Lz z560(=tS<+*8?^S1huf_k9#XC+n;XG`@ZFUDN}2Fh@|W_Ohx$*m2;DEAa*JRTIFIj2 z*31qcTnH0_+}fw)_7GgwCK7n}XaK8fi3kql8L=P1AUBv7eXbckRRRFxT_IuUapE7x z(>umBG34SA6Wy`D7x&9tShx32Nd5e8qR7o|7nlAu4?6r78lc<&FDsw{p7R5>0f3N! zE>20Z%3@Att{KjEpX00EDMta9#9mN0E(~#LRjQrNQK0@_9YYox0iJC3J}x0{w3?Gt zGVrcMrKOi6Jxn(9q=Us@!%*tLlR4bx+NG>(ZGKG)B^s!%d1mdG5i}^jLWDsd|C(3vk-ZO?p_v@Um_6#ioMz{x<)8j+_O58Egcvx7qG9F?6&D?e2h# zfUdo05KaPn+CNYFbyv3}2XT{gLyNrP|GZOMEC+<&xp(II=(O2>6Yb5;C=UE>351_h zzKd4V$W11>{V7I9?l^o4gYD91)Boea0~s+dXtm|#ks`t)A%u4w&-DX1$N41HkZlk$Lh=v5A+6jjdgzH1Q>I=iSvy;R3WX>mukF{bU1r2FNeA{S%*oo`&$5( z4z%Dt&74EU>R$=8GzE&)*!6eMSUWLW(fBLiQojN`zp(OvYGy_8#14BZqaz?jO7RZ0 zOJz0!n$Z$633zIUhQ84W zfEJiDUJswIfxXj5#J3_PB=CcZdM-Dq%jyvGf4>s>Ro&Tn&&q{Qr`?u zUHs5PA6{agtjzd@kfR=|7$3v@Z_q+)yRF~-)Vlh~a~%lo@iyYbQp$G{(Q%G{1rL33 zP#+DW0)tsnrX#MECud{2yPERsMO{#Bmp zodh7Fz0Jpz4oaGfYTktBrxbHNxsujrg5NQXD_e6gCRA;``6z(lzoZB2$S^s1n1aRl z867UoY0-gLZ_4+R2-1ld72Khi2#m+H>(!V~SVfdV7Q`2cQV6T=`-F`*q4a#rS7EF; zcGz%j>R?duR%l&grN)&ZX~{hfQo60;lJGp|{sQmzupkiSCGUv23dx^q`ARj{Se>QL zF)22e4G$p5RGFJSC##dtLmFW$ca11e3|E`zRgwP`{Zc+|t;SRQzI;ImB9%uMvl{wD(b1Yg-mqjAf;aCv{&4 zyODpssPrGk08o=1AP5=dZEd; zeJw>hQ5R)28E6QJqBG41P07ufpji6W3m&AhoEZB&Sg_(iNd~;w#l4vPk-NliiGmW% z9whi5Ik<9W?KQKC36zC)2~?gUT2-T{506Q?H-=?OwS96OKADH6gD}aqBJ6coJMR(; z*2l$Qd`^j~$WUL50aqGV_~fLl4seAGod?8*t^e~S?=RqCkagdRC9@=gRA+J>x2d>Mmmc=dO|&xDn1!du-|C8VkC=v(r}MAC(&UlD*XV2+|8o6Q*AonrFNfHlgMWP%(JlPMlUGqdlg<#J>=hDuf{$$A6R-+z%yqysj#3u6>a@Pjs6%d}aBmeIxILkSE zfNuKM%;S|zhw-089_iYS_UN-sY->9d7N-{HzK+ZiK>7@hFtp4ZBEg zy^Wdd()8i3Ht>84tDSN%R?~{6ioNJBYU?!X@68!dH2s5SNt}K z0iJrbB!ZPckMotO)y{noYaR>JLd5Qo)*Y&o5zEhvN;cAH_V_C5N0G#x5A z52FZ>c^7YF@N8e|2e1;4)!Qpcd!!pimbF{hH23?*!3{YgOtHAblYE~fOjK72bQyq| zw)E71Urnwp2h4Zr2i8hfzc;f)w^1Qt=x=dFw^+C^Y$7~M8+NFaWiFJ$!bg9&UN{>^ zX%d5-dy3gs>Zui|HD_*UqhG>p+Bp+16%j1S8)`PS&$0?#J(-jds%y_^77r}EQT7(8 zIkcr4N!PCzP-N0cI3-&U?2v#gM0wEBLVL?Jm!%YX{7LK?16muUL#4l4Ub#;2n96`X z=mOPev6G}aS!waJgI3H?Z#2P08u!*ONMLowguSki(v>%npN_o5Ize^h49;LHe-lhz zY2u^CvGcuV{oW2Xq~Zw+7B_h5Y&CRZ%%sy0$EYfYX6u9RgHe8o;cPN`5C&lwzCHo< zrDLlKBR@N_%%9IYoe9cg>E}VK`bS7yvTwDLmMihFt!~JyU$3=a0oA8tGABwS4qvn# zX+~;knNCAkhqOXZJ9+-wQ>=^BJs*vfLlXk1Jk>c=Yk~`-r<3@kGcB{N-`vx+1P9pGlXRR$WN|=PXnZ)-Uk1+vw8fB(ZLp@!fX*n> z%v6Dwept4};)N_4RJ4S|YzWT-Rm|6Tnaa-q?SIP$lY-HiMFhja#0hY`csw_WiP||d zMNB*rZ~Zzs*2mz%bhk>G(cBxHq|U8m%*8T^*ySx(kEfP5PUi3>>YR3 zPum&H4&pK^(z|9$_l@TzhbQ0BsyOj$wfBJzrK#6%lss)V24ip&A0`FS=eU(2u1A;n zr^1bj}z)&|4ltG{ZHzFnThTH za1{<~TigDw5P$zBa`=n%u89C8~57-r-J@-R-Se+fKxc z+iu=%`gs0&!|Y^MQ^@FU|28K~R{x&b`MmnP)MR?(o0&ajT%t?_#@vuhF&dpW#UMDeO`;JcoJSD{{^fK<-0$EdP~*SG(xi%eb>uIOAk&#GFylp~;PzFq;+2QrXyn z(|JS5MnnGM&Czv}cmdt_$}Smf3&E?7ZL7Z#V~cY*zY)aC=9uzLA^HTX;xA_f{KX32?% zW%tGT$_?hW)#4}ouUwZl)_zVy2lO_K2R?@wWKJK@06qv0)?q*#8 z)uE32_7Dr1$-*-qz9LCetA4n(tNwVNSUwc88y=WhU_&}j7YggEd1j0tKAY%jKJH;z zY&1ajkg;|ednI&{8`+~U4(P2MZ5*YgbqyclI0nzpzhuUhPFgDcgSE64KrK|Zs!3tw z!UED$u09R>Y;e+3{|741)*YTt^6OgmKK*t-B0ngbYYv&FzdUn7l}n*6l}mxNLfI>n zO5WKyd0;?$3f+KDw32WLm%^c>c?-aRc9k*s^6~!kD7Z;}!iXS!)toW>!Jz$$ zTSYN_3v)qNAEOjx5IY9$K&Z$dO67xcN9^=6fS`NuT2->3paN=EbvaOy+<#L60xt@j ziKvnE?6lkPLX8uPsE`Eoosg-N7zE@ov_n8%+2=bR9(WDdV*=o(dG#QM`;w>HWTX5^ z`@TQ?@+liUCbY>Nc_8f|wf@R+kSPZM0c!cVmk2=0ir?Zm5Fqa4*L{aWz#EWODhohT z{NpFu3aq=<$3fjwZdGEIhU<8y;Gl3E~_?XtRej&&MtF%DKsb# zv;szwp4rDSPv8~QT#X`ZZqKE|aBgaSk=j2}j9E`|??3^G9+~@vw5Oo?PM`BAv(QTN zypX$!@se6HuTj2h9VX-J5g?|2v77;tg1Jk$4XV|JDF#a3+GtsrssHP)+@+G%+SASV zlb+wq*Q-K|JQ(jXHkDlH^ziELUc6f_cR`CBYa)xf9jlS+$IHj)qt()-bDMhEpwYXR z8vQqUU#h*0X?Oj}#a)92Z{tTbmQAW%?}Mh(r?cnVS%Z4bq_abV^-o1=7F~v%)v}LQ zkA`aGhc}b-$7VL>MLVWZqt81uP3|&)tCQhEAFcc8NCDY)D4?te6pbh4fHB!{kO-ig z-HTR)$@bsSlZVm~tlh1f+Lz2zTtXzk%OE^d%Kj<9uGUCj!#b-q{7aiwpHz!0NIyyEW$>CfeSgA}p5ILwpLc$OUWrIjC z#~-y9@U=+gaiX`v=$cW)z{>U?V}Z~iq0eg(`tfS%3FdF;SbKuq*SB37MQN2>EJVQn zd0UJWv-E{}Y!eazj|0pLK#JR&!`>G2(vl7Yi~-o&n}eX`YI*1@+0wo19_;^~YO)~? zghK6OqWBYlgfO^>wMTo|&O%8G&?|q-NYXbtKJ0A5ljLP*7DIwxwh@(@;Vpmo8Cc=0 zDyMPcLPhJrjlM_gwu3dS;EyDme*`hxry?H|j^H7T@hj${rl4>6{{@K02aHyo#-2dP z^=~HM0se@R6j5!X4t6~3Q zi~Z>_a8dkGfbVhaPnW^`mGuyuv9wSyfWgxEPmfL9Qe3a*HFU;zB1V|U55qE$d=k`* z$s+01c>$jaq~^O%6BOw@ApfF&3AaRYlxyNBMi*#n;dG~?90g__O$Z@*WxdXuOH=r8 zGmjpOCY0WI+6za+)Or+KsPY4ZwzC&Fgh&x!BvXon+Ksjw^u02-mWlrYMOy!S8Yv@u z*Q^L2nhdYRZNPE+LgIxTK=KAfTZBhe7cv5Ng_jM~JsL?uJs=vR81X)(`H8koWvUl$ zmW?_3bVVYZ8OYde7Pn^4-~79DXOnK#W$08QN6g(?Wp64q{kU5%CXe8^2v1NUlg(Y< z#ZOHwm|jSPR;_p*r6W7_eZOteO_3qWRp+kLe)u>suBY!_4!D{wZM9a)Bs1G!old=K z_}gXc02(=r+sW$P0xz>UIPtSTtw>YmPD%cUY2j7pkI+jn<>J{q@*76Iw?>1}Ln_U! zwhM{tSv>Q;SZu_y#?0vO4Q8CxOP2;;KAyBf8YFH2%#)sx{;4=>$HWy6bG>q;3l05Q zjOcM4{B@SLLpe<7lp@QpB!Y^nSN+mo*^2(sK^RGw<{e$#=JgV_>Hs4)wcP0PiLkk_ zz?5h4m$Er|(?#Wjqs1AM4yg+(t5kE-MOdaIs}e4b@S>W`XjQuTyat=UsjA4}%zLWk<`cc~}6~;b@Uf((*xZd<+1lc6ulb7#P|z)4YHf@xUpS)vr#wgm}m%tsKI> zBQbSsgvtk2Buh9Tcl%*sY07hfe@KlN2_w z#e3VvNMS;;w8)T;AB_zTFnMMdU`X2{3dTKh zRH}x^JPt_vyguUC6p(_^7!x!RYZ#+Yj)rhudOV+h+1X(_C@Ka>yFC*ZkThi@zw+bV zR6qn&z}C_}xR5?t7$t9xhP=K&9QG(RlD>o<+V9={9`N^%%VY#i)A;Rjc$5K}i1GKj z7!6_n{$PZaC-B8axU2d{>h#E}Dy2XOy>+~F^z;mIij1!ncwqs2e5}~_i0t`Vh`fy_mp0 z5_N!_{^1cLbpW5f;gRw>lA)2X3^H0)GGJi(Zd%qD;KXMngqSjO1LW56G6D>t53IPh z>EL1bnTybr6}aj6VwQOjeQp*?Q53bi{XjGgmZQ$aa@2yB2q|3rWXdBJx3DXROinyt zlkZG^_JWNFPgDp@f+5KSZ**~(Jf{Iaimn63QJ^*e@~-SMfdMwKdQe+siN2lZu^9CK&CITRJME9qd-*2B}r|pBZCAUcH zbh=WwHmJ-im37xD_L?t3nUOm|39}%~>52;H-@ZZ!3n0v4K&Tf$fw_w!43K%Z3FTKl zzK!ySf{9}g_LK0<&F4>Av!i1s0S;W#sp8b0lq^~vd0ZAGg1u9Jx>9F@6%m!fsXI-uOtb}gBb7@ z@MmSbNO3Bg`EAZi%z0(4LUAHvYt5Wy7*1jenlL^k1tPR5!HJ?%oEU=qgJ^||v>S*t z1R{iU>SU~A@K>bZ{D;x1xrym3%um`ffgZ!&@oYAvzi~dq7zSiNwPjiFZs*}cS;?RE z=jAUq8BlsYv22ECi0m-fJsHLChp(xWoFH@>SEv*ykSiD+*aS={6o<_fCL0Ro08~CE zU(8>^^fc_@I42)DUI2&Y1%@X=no~$D>;Ju^z^T&sR6)z`d%>e!Z*G-kG@yt3ruQw` zlri@{HSA$yNB5Xf321PRFtiz02p^eBBog62tylu4#C%{mtHgf)F7`T@2>#z85*L1l z=oiQee}>@!nxPJfVW+slTAh@dvDV&H`KYII zy{Oo}o>HHkCYZ~p26G-4Vnbtlof3w^YB(POgP;m?Jo!9`XUj2~y z%t1HkzrhIVRP?K>rzlyzLysGTbFY#J-BBzUIaJ?s(S1)f7N4I4z z&Y;C}#V{#w(<)MuBf7Z{MSG{0oRxv^4AQ#11OgL4&%{RMR%zlZ?y}=gVSs+)lXx__ z`)~6s%>Uaw3(NoIDAwMz!C^!4M$hv-^-cuJwAgt^8Ul2v57Z{$Z(yy17pO}UC)Nz3 z)o{ld?eqCekZCX#UA#0%joE`m*j~d^%_Y+)jTl}u-QBXSp;bG{Jg=;s=~=f@J-Jyy zU#2tN-LYnMW$Vr9etR5!zbswetlV5aKEHmxd-NnJr?p92;baQm~BH0#kCZ$@$((n9@kz6V9 za6F`a-*?vR_P*h*^Wgei8Q%3_=dH-;)R9)}=J+`h#`b=5@x#-`WWLov>va{%iCV)hvrjIr)E!brrfLue5=6`RknOYb!bd==yvk;ca3;`8IQ zuULLN>IbZ?;DM2N=H4bQ4c>c8ByMaP$qKk<0D44Zp9nq<*nk5Z}SY;S!+B1dHqcVeBn~B58tl zQG5p<++lECTo-qDcXxML++7!UcU#=u7Kg=Qaa&|@mpkt{aeth9a6U{d{nWWp7UY67TG;A#v$}9O9C-jqo8fX2Z|s**pr2*7!Y=Z$&pKpjBkWsuNsp8 zE-X;(p;EAj;R-A`Y7l~G;~*TIKv95Q0}^&J3SIvT!3hWlt^bDL2^0oM1WKT$`yPrG zwb(1vu}U`Sd^OXQYQpR%rO;f{nPU$(xgrwOx)NOwPMXe&5AjPs?eI69HSX>5|43 z!e6FE{K&WaUhdzFUl+>upd=5HMR!EBT-SajpkoE{Re(>SAN4Lf@3PR!bAY@DhLW6PH}tjVT82eNN;)nQq#7?f|TpiNOC>|@&R2;nG${8A|` zM&YC+>%rre&#>VMaQ*aBwK8*BV#3IS{O$0UTSM%u{oedjV|>u^(-e?PJxWz>CeXz= zBNnjjPtacMBH``7bvX&@)hY!d$R>yExM zkkw*&lVH$^8PMMd_`qP@3dD>%!2TH zQfNCbko=@Qd?ZQXk8y;FnGM<$IqvqaO8Kts_^o6{c`zy=H)N;PWHkuiU4cO((CZ~RCykVSJo2Y{4RUg5>4YT@`2egT|=r=^Qr}~ z-0X`>JkWWOb>TtT?)Ii^yX$uKleT|!a%`LY*mRvWh%cKX?{bKVH%pXZp#i&VV7}sp z?*2mY_D+Lm_1qZvqQvTdKd~8%Z@vzWO}wC4xkbLz_Gg}={S2J+ga{}&<1urhH_)s6 zsSvQCz~i?;8<1RUH+|;xovpPg$D|NN*?RNv>kj%0%Fi%CpbsN!qRc*{EhK%|25IXR zbm{S6@M;=-PF^sq)ZhJ@so8&xxjEaln@r5vr1wOOkd{R7wU({Rt0lb|GMt%5b8cDB5pYzjQ<$FEx=80sh4Y?kV~?BbsGBHOzgIcV!O&@Nr_LHu zyRBY4{(Erw@jFj#eXGsoQ?u{6PoIb3PWt{M<#qCPdi~SowpYino!(USN%Q#Q%;)eE zy{<}Q>2T@3v-75JQ)8&*-?H3VT%~&fn6i2Cv8f3qrp z?Ebs6bGQm;((_Ev3+=*-JL%%&)#|_ZbFF;GQPTY}iI(1bMXz?Fr_m6relm(`;8v{gU4(J@^ zi>ofbOZd+Zvlp4|-#?c|zs{$7`Ue{tZg+$yIAH&qIzFq`<@%dLZPYn3G;z4v@+DxM zef?{h6hksW@fQBtWvH{wC5304EGqtm*69tAp7#DtND5WMtjkI}3@HHtIQM$6j8Bxt zRxdgc8HrI+3KC=1b+H0uL)v+%TmkZket8R76FvNigdLg|&zZa31imd3XRjUTEC*p2 z+}`WOBLCt_Y7#>u6}f?agK!v_M!fl=62lu?6k(c@AQ`#~0hw@cX*etb^`JKIgw8b7 z6!c+A=paD)xtXK~6GBJK#aQfV!Uzs!43wd?HTpesK##qmHF~PF5dme-h&ei^5Hdk= ztkqZbPP@&)b*|dKU-{qA4pA=>#q*kL&EClWl5~Ev9Yo>l(<~j71K4LD+?6{+&WteQ zx^}T{SeR&zwu=uxlolBP3Uk@3O0lz8T!1pXQ8S8}{bjd+pj@%zj#VKy#LgOczHbS@ zRcW_8L?n?8(2N~ahA`L8{#R=>veDDuNHlk@!o%Dw1v>&bVseYe5u>6<=fp_Ji2aBq zfx+;IB3)Flm|+c=FqnXz3``}bprB!Pc|7J7^Len{s}-Pl9}oGNU}^*^sO#}% zHv5fAAF8cK|BZs!baHk(^pMJkrpmxU^r*R(s8q@njZ`EuF(sgkERB(h^+a$YY@tc9 z-IcmtAaGvT^e0t=2zF>>oW_8v+w@LY2gDIx)G&Tl-}sWZBzwS|6=0kslW0u-FG zG?hAd=7-~;!SI6mNpUz*d<<9*Ycs}}Bw?C~r!CuwFK}p_Na%g+jNG1hn|f&=#|`P= z&CY*aD5@*2n0TblDSQ?ii2SP8jRjtYWH9z*!ny3#W`v}zllHkB#sR0=Fer1nP6I)9 znOxc!51RSnJ0QMr;-7GKP9SN@RF0r7jA-DGC>|n4b^vK+#v*Nq1=W@BlnW8|TC?6i z#zyBJVkW7x`%8{j#8yO%)USMWB=VkR=D{KgyX^R6fV}&0EkW%f%(qD@7Y-B?;u})euh=0YDD=?;^g(0X<_*9T_=uv5trx#Pa&A~ZO25bgiyW-A2yg;e|01KI zJ4DSXW;c+@Lp*8pt>tkAudjGxc&wyTI!405aZFtYCGyA$BL__dXAy^%Xd&3N z_d|r>LuD)!z!lP@1>-Z)^%sPTl`>ZdM@E+xgd-v{SI~x*f+~bhV*Z0j%oT;{={E%y zjb0i86}zOx*s@xOA^7OHgb4`e)SB4c_Ef)uQ|rW4eUg=z`cH&xjRTKeu|(J@#lNVw zrp8hjxe4{F5)#pb8p*iiFSbKSy5q(@pBULu7elYTzKNW+!-ap5f$!+X6(c>+Rq!CqMG)A!75Z(zkP~}4!ZRTdrX(zlG&q8;AHq#q4g5vknBlrm6>J=;L>%=6 zNMn?ipQsLaPVy2-Lk5ziV=9cRK%{;_2Hb-soFRx#GZC5J!Uw;YsBa*S8gZ9vP`*n1 zxJ;!D6_Clf{popzZh5s+6fTXisthecMJa)7XXm609VYKBqE8yCV)DBm7LN1>dNCaM zrmTQ0Oa`|&>DnuTBo33C;n0{uZ##c*ged}c(L^AI{6!)!!hrple1!`TaD^i1(72q; zi5FpINEw4*%#RL*%SjiBqlpZO)blnpE(ZdwJ(=5;4dR?`H)?1Q76M&pqQ=@ev^)}5 zVM&G2P1B{T5hQ>j!4#v6n9Q-Ou!W-NrZ}8Jkv(C+E+vT6F-8DhGH#cd6QshUan_N? z^{9pk2Ghi^w6L#$xF76Wx^0BcqsV){;^|yLM6Dn*6_wS&5jd6T-{$f=_8uU$|1b<( zVPx_kHdKa-JxQ37bkw?lol#&T6uewxYl4VWf|xxCCo4b`*z9Lz7Tw~9DdI_C_1X|5 zEQS=)iW-MFqYcNEPCaJII}!hG>nB$^Bt}z65wYeaiUzI{N*bR$ej2I{8v-B=K@al- z=%t;$(1dc!++fOCfjFw=XP{cE5=5-x#ned{*%QT*e`)vEh^ob4v0E%~%NaRs%!&8& z#T6;)>Dho zajNb%7{EO$7%ae%LP5U-FE}TQCNN)KH#)CVSTQP6Yn31!+%~ff_RvKItC8 z5wTp3ZdFMvhe9!l=Mit$4U<*~TkI$@<$#v;7%D_{t2BrtPbl-ji$WR7Zcmny0m%Qy#C^Cf_N+hV(-Dw|Vxk5>#h=-VTSaVH_FbgwDjg;zz0$ zsj*}^M~q=pgR6wjNZ+0j7`eHp_3?AW=Xv(r+@fbXc6Qi3X`Qe~jwAQyX$34rLbwrg zq3+16@@Pa*W$iep@UttKCzZAID=Nx>5$%gAwc+m8&-+6Y7YbSZ(X(h{?W(>4afnVk zQfKfZGqyHuVp*Y_; z)W`&1qQVUBh73$%wU;NIvOl3mv>&zqC;t)0|CRrUm4oH~OCGAT;jkfv?#Hzga3bm4 zP`1WpfGrF$mI=?g3h}4K^O2MdRYz9?MoUGa>}U3f@0*&sp_hGf8V{t2>fgUri|R{T z?$N#7-+p9|9r{iD>F(&Jn>>6^UxI%1eReQRd%dVn_XG#gFgm84O*?2iJakQN><7ra z{Vjj*)g$`TYyR(#Vbk`^Y%=#i04xrJG40zF!T?J3ZBxK!zsIrVzss3f#sG9AxJ%;M zS#AJjEL&=&*0Ed+w=8DYM(|w3Mr>`qFsbfh`KJGilm94VfAp`lt@q*Xzv0Irz0{Q{Iv&lFP#CU-jlsuP(oTFz_i~@fKQNtBq^}SaG#c^D& z-&Pj)CV3w^&>MlIuU|>r(`GMjNUJba$1%cKzM8<}ns{lj)(uME22>xo1#e6sL~E6C z^t-bSW=&8Sg?Ve^-{zDie&yM>X2^p3%Vv(1Pb&c}{L5GdL3P)2o}@&_N=LvoqgH#6 z0U`h&uJ#D>tCeMG!_ZI0lK^p>#&3L%WXP+MMKzWKLt)V|puDt|7o!qvxb%_%vrJ4c zi@Wkn40fa31ED9Y*w{9LgU1DoN?mt#$qJ?8gLsVB6$yR67#`zAnaf7L-JkX za_m!0`8jnHt~t99v3EGT0OJTy3meOaY4EAJA|+hoBP;>21Sm$%1V%_P=>(%>h%(g( za>?TsWZ%(H0pd`VRT!=pG%}|}xeNDkqUA)$L&oU`eolKB=h0k$q41h z-O9~98nf#x=0JrnhV2owN%ZNPd{tDua&-rnQa2g+Q~!(7U?aPH z3Azgk#V3~W=LodP#t*mrPvpY~TU?(!j0zgH8ZUs=B(=XfzM?QATl4y==B=2l6g%6W ze4i-V#T%PY8a!r?9?9*0MJCs{`Xw>QqegzA>^x$pCSj&X0etO>=EGR6gsEtytN4&f zxXSo^0%9FWG^esZHc~F#hv$(L`)QDB@cdtK%`I?i7ecW>WI@Tl_a6;~0RbuNmQP9p zy20%Jx3RVrP79Lg?GacPJ@X5U{eG>AVdADOS`Za0HKG3gG2D(k7He*DNV567;he@h zI!9X~UdI}d22`_}PbZaw-M31ax&+VfUV+*b!6hH)`X{}IYXh6HMEUdf0(>We=v#G4 z#W-vZ8xnd1+BXh|wHM%*H5?+_YDgr{Apr3CdRKx+MR0!i%_r%1oCaF`ve-%0@23=~ zbP7NH<$0_%pgO%yXN|8DL0FEuf0UO-SP>EN`uZ3(KJApI|NeS^`<8}1UhyJ#Rciz@ zyCU|_gy`+>2gdt$%bTVKX&p_Yj!)|vu99G8cl#GL{N7zKJ-FS1P25SkdX{=n>~S~$ z51PH;h(X*sI0kT%hCC6!8q$dZla-YXpvFG(8VUCdu>t>s1<$sPnk_!n7A}W)n})-n zPTI#d@w*K&Dl-6!5BnlY1D3bud*8>Gx>NZ<#QRnva1BZygI;GljHN5NoBTt$l=pP^ z7j)_uMMQ^Hzv&?9WJq0TEFLtdtL$r|$5%)kh43YJ((`nNfI?J)Kh76l6`xq`S{^)P zrn0Gh;+7WSuL+q7`uo&Cuzu5sisw-Hz7g5%cZoKNM0rKl%%-%;hpgN|HE^|bcU-q0a-DkaUJuNl^O@&e3hq}&0@E2P zZb=UW*+MajO*S-U{eQ;*h}-2$9_Cey9`2z&HJgs-&PDI7_L%x51nwU~P>6Feld25lmf9+;!puAs&k- z%Jk7?s&vm92$hxNAWtw{DljALvI8pmb3Nc znPbSNXgsc3WO%^bz#nx0Muz5)V+YgpR2S&9 z;*xzU9$g%H*&17Ar>YX`tiOLXF!Z zo8QbBj!!5AOm)vcx%h!?b{h}RDJHZ{+|%D0DTY2{)Ru^ZoZ>&V1K4raOQ$EptDVd# z;g0(Zcf>qkd?JL|FBm{WovBRzwt`bVzL4tiQzDc3TN`9w9C1ipPY#$SiNIxxbx^6R z-AOKs*M+fr|6D95vTC%3~&;KhfJ51n^lNy|C4#h`G02~vj6|M<#o;+bELrJFcY7m*8fU`FdygUx)q`*sXa8bbIBd|mi!|h z$p)EC-H^P3oDVj)K6}-dm=l=I_N4PE+4!>Rsti}UGIN&f1!Nbn^91vATI`emSg1ZR zduzAYw>+7;ygQ}K*Cl%!P}v)#raVq6e%5z z#rb>wbn;lPL`>4tEg+E9?Ey)mHyfWof#M<*jF5Uoex;B04WSN)`{ekMbc!Gcc;t)a zt|>@DG61iljHXvk!l3y4K;ra1c|8xS@P2kZzsol)=cIjii)m!%gIPI=f^fnHT~TC51xm z73%|m*5OPN^s1iCPWJT&!$OD$C&}|lItD&(-`j6 z5h@XeLH}IyP@{JC^nUX&pWgi=-Zas*Jj!#7+2k_}K5j2q9COornB|`{N?#eY7D9gR z=Cij*%U^jc&fUi(Zl=@fborIE zV|e+l)S=;7N>N&-9U<|=7=`b(K#K^O^sTV68?j=>1CBLKlroX$vSU@)Zi1xn>l^}H zt-{uNcmOT|wXAw4BC9&zk|Q7TQLLxr?$4EF_b{#HrC6a~@XJUumzRKAGDVEeS6WGi zn4E#{Ph-Xn$X>~4BG|Fl&8X;)jicwW#(Q*V$b2)dWAMeQZ2mk*Vf7LK=g>pJl|@K+ zIams{5i2!;vwSv>$oWyv!v@$5CO&XE* z%SDylSycfcsPu50orY&$e{j06Vi<@zi1|_^bZHTrY%(0{tE6KoZ3{r0#iO=n+<2rI zS!AK(dSI*2;%Z7RCL}p7iKd#r7m4DzHgK!vJs3<}Z4{K52ems>9B?&L88zl*LaP{m zJ&cc5cXkNI4NqhFs&2q=Q1O9VEuD&K%vV>M_(RnN+P+6@i(yerl6FX;z%!m0--5fY zY#hefsOnp4-O&9LW7QEbt&Tp}NRM;Bif$`W|DBlGvTQ!~fJQsSNNa_=>kn?z zPa)Q`om7Tf+Cu;6bS9d9X+GyC5~h<-6GH`2e41(vE{Gkzd3ePU+mYkP*1tuj8?$G- zKYpn^{adhe_C#A052Pl|ts#DvtMN2`Mq(p0t>sf3HpMm17&QK{VDLQC9KNOno&VYj zOkvlUptQE^P%vZySg{6bZV7IC&B8gEDqBp;W-TG={4P6n?LI|#^X1ppB@OK~7p?qe z1EEdG#HaY(UAXeGYtrE%9NRSs(tHi8S8Iruk>J3m-<+(5cI~?Y9uG65R8vQvF66UJ_OprxX{n~)060V zx`lu$e{_)CENy?AoEZ)X7$OyWW~X1HP+nis8BnC4*3{P1eK-4+`6Vb)QhQA^?<8r4z8 zn$pR#TI^>W7shXhHJ~2(U)~loDL%cJjfAG$&_&tP$>#Hej*c@)lL_bge-gj;9Qt$U zsUBl3RGH-u$De;1Gv|@}^6WTe)0+2)&#tzyjd#Oe*jS$xz{>|z8wOe`G4bqKi_W?s zmJ}>>y~MiO{SLDh|F9ZB)OaAC{Nb^{%DtPB_$tS8A~!$qMgh|!4W>Q2>KGwZdXzSv z##XH?9F!6xl~VM&v?;e>Hhq%XCuX9na3P3nPWtkRoILv(PMs2Pk;L-i9A849G|-qr zE@$BQ-~=St>35anS?w?Jj<$KfzM0;b2)O*)ZMXaH@-wfW!gdj!YTBE&Y^`RkP4sGY zx>o-JkwI3P-V@qm4vuV^fiU6HcIgL#J4}mm@~^5$)Od2us%Jk@sevxi+~5HIan0T< zuCm?SUmMLZ#Q1G+E{JVjPAFN=N;4Pf`K4D(| zM}gZQtb{W?)Ia7iv43y6 zx8qsNR+1!NNy%%}DV;pC8MWwj*lrHFwTw)9PN5;iT6~ zUbU+$)$}Wv4b`vI(Y-XVWY!Q{tI1g~DC%=!`{1C3s5XOiNtm~>E8V&Z_NsF}P*J@l zYvng9ot{Jh=4j8Pl}%SJnRvS?UP}GLYD(~{!D#FHmK2R=?2Eyv{6$Mw#u)6-w-*lh zd?&|xBOIs+3Fz<6V>rl5kKL4Yy1|q-G4X%1v-{uRPM|!$Ytlepc9<4+GL%(B`&rVj zStYyDb8fFn*fxnR8?lOVUewKn)Yap?*k z+TdD3%_|>qPKLPtzWHgljCRdpbS7Y(r$lnWGkdci@Ut`wUuW?7`PfWpF0OPI|9+@? zHvR5VTzw2XxM6GYg@DbE_xNdBI;`{!ac6_m?|(A!xc;w9Ja%SQuK%-^>yo~%<0dDz zKiAG@fr;Vhhz_iJrF)J~zguUW2aWV27N#75tnGy28gwDMV zZGMp{$!YNd#JQ7WL&Y)asAt*L&nEi5*CQj7_ddN(4c!d>-A^_x2KATzonDWp`!{W&UYLr{CS>n$r7RNLxp;1sikrVaWM* zmc5v=x49+0vA4B1mbq}hra00SkdxQ#k^XUcM`0MQk#3_H{;~W{6p(|}(8X>}8SziW zj^vE%_q$xFOp|BVLi?-XSl=D$Sz8$2FZE1`UfJ%Yi;ijA`u=cH-4~#* zhG9sY3T&*jdqm++zdl?%TZV%@kCjiBzCJ$JxjM}-SDcu9BC>bKhj!i` zTMI6Q<4_l1rrz2{(btU^JPCX4DB)9HjK9P+Y=wtIix)R&EexYSQe_~*b+F8{embCY zb#yu_LNBtG8w_3%AMb3X?rynztV*BNI;(TG&=PNoZ&IEqwEQ^ju5_@o&K9XqnTV4X zXfMjLLWXlAvuU;&bK7GYxgWYQWiez(OGp?Qap`H#5Y+!u!{nn+%fuu=vXBMseSdvJ zw+q7wuJi3Payh6V+4cD^UHD{%YyGD#IgZ9%z%XS&#H;vu#1Q_aJo9>cgURh#&sZ)e zsZ4>}T09_w_(5kGIRSthz)x%BGbj;kkn~#U#}Tg?x&Kc2Q0~iBBY3px#beXuihU&X z{o}Ca?q>Jsm-dlj?tlS*M_;X=2g`NW@{Z%eQ&p;{N$CQ&*M z(lW%1CN^TcG(qw*4bW5BCLaw?S9?9*4`~X^Byyldq%9e8rf0&$p(va>)MSE*wEStX zQ73sSX`yyJOTWJ-^uz2(n`axO^2=$Eq(4$nsLJ0a+G@IMbF3x)hJbIDlW~H87gdBP z(`bn?6OQsqf%SkmvivsC-A#U{9+>iZk#@It#vUXEPGdXXg##;X$dH#;Lb zzZtNOCKn2fmXM?yiq$qB<)AiyCj~@aV6QM9WB_@&5HWP2BM>mr=gIggma64sCx=HY{P*1d! z3$m^dQmteIeeCRiXR1yLrr zfXX0+>l3`{V4VO3Yh*|ME)+Z{AH&|i0QW+QffZPYdZZ)hS48W0d*TQXpUc%D#1HQtLRud;jEt7<-QUkO(f)JRhIUziOO@G11 zdJwc&f}yD2?)~`Cm61j=i4c0(WWhiiMiG`elcwCIUV>{>R9YH?01pM8mh#Y5aspOB zJ(Dw`Um8t;3qDZ97Ap3@4cONDQo?YU6N+3{SMBdv#UywMGs>qd@&2ws6q16hrjiKs zlH4!TUdhFR3{n|?Q&dXvMzwpe^>sbFvOH7WCYxMIedV{hKhMg3UslL;4bibIxv85( zNqRd$3A!gAt&|dJq|mgr%9J=rr=^H}A-+>;``LwG52%$m_k9{!(Qhpr{WbSe)im;w z=1VsIN0Njb89|(20l)FF&|L+5<2%G`dz{_U3_vh)E78GQ1;Vwkn%B0%HB}7*35S^FDBJ}i3Ma~VE#EHGr=QFHq#NSTd z|E(<4_(kh>+A8q7NwCC-i4@T~G0T!_882Pq{9wQ(l(XL1yJ5MgIyKL38bVmBVEPN? zcQtc`Q6QhY{F_-0aOr6B*lP5sPg9D-1URE$f_xPo9LLCoK^S&@ zY4X-E^_=}sw^Hhy^np!iQd_Ri?H)_T{=%nVR8C4S})qc0f3#GN8P}O*p|xl&7281kg`fpqP>IB{)37cq(Ome)XJAsg z;Fq+bBVYW(P%R>+<1lb;=$Volfn>3kB;!@_>m)kX%#WV%6HmtO{b~LhpyHpE7{}CaLG7IA}dFlt10h4yYEj?N-=uoy}Mx z6sa>=Renz!WYAsD(Ie5$hPq}Ox+DMgfeH)X6-Qa*F!Jxy3>=oEXRRGQxcMo3_X>Cw z1YaF|-_UmwVj3iU;pR86WUT@8!mlo;wYte)bRDt%IWY=eW#2zgkr5eM(`sqXt_QVD zWJpGyXp4>if=|(yj)hj{Af${Uu8F9;Q}@@*27*OTjL@BO)UKv#>a^4aTfid1yd7{Pu?eajprP(+`c z0&g!!3%Th+&#J_B2dCQ5^5S3)FN;K$NXcg=I*MlT zhJq#dyj1TyR29 z#qgFON2c{X-|2WS7ij7^XSZWQFzmb{ zcq9eGx#KiBK7FVgFAffj!PayI9TD7J|cql!fVMFJ%o`xVSh_QUZ1GVCoyf-4$PCmy&dy7j)_RQ^fQq) zoPI?6;wIWF2!Nk4_4N1nPBX2sv^@FKLd?+qfmejD9GMem?ew16ekPv%S~PLCDELC% zBfgtI`&Qp(Kxz8{J&yLX;vfGZVwBfQYi`4@7u^2+_6R=P4g%c$Y6 zv=UL=%0$6c!j-sisLn;-d}EWKEY`wX?5jdn8_I_m{zz z1h75u7dACnh!;yzA-0NW!aMRDN=i|jrABV8A*A?R zbm0C{6l%c@uPhbA{ygQ65TlXa3FoW)%^8RG#VN-#{e$HbQ5Zd;;D2%iaQ|OA0ytUz zPe;JCzP{rY=YOFVJ-a zKd6S+Ggg<@t*}|BF=&zzn3hLQUTz=f{vBR|T{_r;Z%!X}9Xa}bIfginv-#U!(>?S3 z`TO2py!}6X9*muNbr~-mX19I4+s*^-ZY~{o`T|~>y*~D1_Q0uR>e~08?lL&)#_#p^ zLby=4aNgtKJ7re{s zX*Mq%`%b%@aBrvJ0D|N5Eu!OXXLw#c?sk)r){5%M|BPVM>wwu}x7X}K`W zRxKc5SumI_jHC3Xjq{^kf1icjex+kKzx&gn{fu}3cdp}!kWS0bs>GjX-@7R`Vh@FqqZ1!GP zvGmv08jl_51I&**W?S>Wmj@u9fK$o-8Da!f2FP2CoF6@|twi+Aerhow4pzN5RsXm! zMk_J_zIW+;5>#|ESUhTyn}iFE```I z#=}F5G8d3el<<}BQef7Rmb-Iky3$rxqZWvw4vED4&9Wbb_zp%nu(ah8B?zXWH7okd z#LdU##gZKlwJ>B&&1k)yOf|2Y}njGy$0M9>30_{{8;I{>6)49Tjr8LOwPMt~@-J-^3Y=Mk?sl(knDfzIi2TxfpeTTJ9)bj`_?u7KR4+qazJPKsDmrf9an(DN zD+DuypnCP&+&RQ8*WdSfh*|Xw(wsySC@rfq4a={q{bEUMFb(}akFEgxK-ktxIu!g* zMhi{NA3TAFOIB$-w-H}{;r7ee`W&Ya5$U;MnZ|)Xe2e3g+G!i28c%AZTvUwAQa9nX zoEPfb^e^NGW3Qy$GwMrBZ{rWVwRgjs{Dp0Jkh~O+Mhbm*)<%>#N!LkffJpm1s0?cW z;TH7wD>X3FX5bIN!=gw;!w19uy(wnR46lTA0NpUFNCD-PKqg*^bGO5w_QFe`5|UA4 zoEj1`0+%!gz~5@eq@)5gUJw*pC_FHNI51i6waYTu*qbvLMmRRVTGtlbxteiQ; zpcTp#ITZ{N!i#!7HNv3rZ~H8`OD9I~GqW~=T-lr2}& z2~al@&ZhxZl5Nx!99T*8+%S_1ouYF>4Gc+ZpgE%(1eAvUES-M?Fu2r6AN-2+C6g4@ zN}i?5Q$hof%b%DuxavNWREqfh(fL+kEQlq|!JB|LH%aOQ!NQy733)w&^>cOppMFeM zNo@$BYe8bL!mThmK`^j5j4)jJ2{;-n6M@1T)24WxH5YlNcvua?jh6}k$Y#vd0B`~> zh^7+GC{?5ggybDUJA-_g%A|nwaYiX&VP?i81CWsMJYto|)xRXeM3Z0|$59_1&P zkSZXbuNiL19LUQvl_d8R6D;VKJ-`jE5Sr>5*V5fT%~8)&z#_M7@cDJF(S(DlH)`V36&#w4=l^n#X@vgl zojh`mucZ<^mawn#tYTXSEk_KKJ0COMF1{QrzWK1|=H<0e$Edoxc)s??sfl0Q)y95d zT;X^pR&)>L(f?7_V&1j*Il0K@=i(W#o`cyEV0ZD!^ygks*Nf(F%HD4E=fsf9pU=ZZ zQD^5KE$rToK9{A>;^&$^AR|uG-us?~0mDn*CiYO@=My&t-?*iE>7_)zsVOCQK2!aS zrD1pO@uQ)`5$fSRj|{3*=1&bgLgOOQUk?l1`?-4GhjAX?F>?*SYC^9hD6#Zi>=NT6 z1-#6CGQXj5L0MC+bqY%75e2(I5W_?!aKK@eH42P0aCLYN_f?T|SmOlT8KJ7aFCKra zWUC6oywCRH;1~RsdaJ4S55sLShThu79ciKrkNe(^j$0i6$A4F&8@^5L z_pUSbqaw4-uQu*Jf&QE9>ujZOG!ppor7}y-r|_XdB7?0}uN_1 z0qXkXbyJC+0JCbOqiZFCc(k^uu2B~WC}TuQk|}AISDGlq**Dwk5=b*;z;Uh-z*}6B zt~GvZ<^WkZvL|4xnMB;)l&{oCz_4wGSaDz?xwEp9KjObrkheZZPaXB%ZkEAlpQC=XnO0m4QK zVMI0x6UqYEA;YF&vLFhfle$AOafeSsg)sitUN90)_f*&$IeNA-eegxw+rf)k_bG8!71C_`z${fFBj(l&)K<{Ea2B6eeaR*#?8Q zB*w*YR|3fCp%Lbc*UOqO{_F`BNjs&Bru2*ioNb)bevsqWGT?W+rfC`)<}1B%X&aMk z1{=TNdbiCO7emeDWntW|)CUsyB|2(Dr3<6$L8qS{GO55=cI(^Uy*Sy z_N90A_%4#QD-(PeiaX&6U5PvWR{iuAcgmE6!5O%Z4P3uC)Wsg4O{ol?T$PZ}p|34H zae0L%^k5UcPq9)2^L@z3oV;WVSDXgni-n9I%6knvrW}DdL#jyy%cgc!FM#4?*<8_V za=_MYXQ$m59J)|O<&yQ0e$eWNP>X86Q>8~Fr*gsiNCjBHD9F4B#*AQGS|Ah}3AHo> z9mb*wE?mE5+yGJ-`Ol>xMk`WEqjX`S2Q>Q>YFTXP&j|ULvskZ~JvbFhA&rHXe_;Ir zR**4Dq{KuKkc0Bbh|MCpO`AjN_kcxqEq`#Qwagat8De0kjQjradR}u*pLk%RPP8se zv4nG(fLZ#WxqL>iIE1n`f-a1T5->}~IVKP)Ogs6@Jh&)d4=!eoKL@`m)j1ldB#lg% zDIBg*zVN2lb(I)W#ETaF&Lj}HfmukA02SFK388F&FLT3M0KxC)%?pm+)SoO&Yq4g4;qpX#Y`iU7cv^EA72E_mmW}*^zZb# z2tf{&z_W|E)6T=Fs5x!(6e#b`!Qhj2{jh?f1$#A!z+R0htj%(iVX#-jU1(@fKJCBG z3os&jKo!{}DvJ@2C45@0&7hAt8Hks_^Mi8Ld=3! z6a}t-y_zf1kF`rmYNLgd93txE-i{aKd8h8B_=QzT$)7A3!xMrcI^>j}Dt4f45hra7 zF%Bqv(%K}#G$3whtAxx4yiq&22ND^$hZ?X(4!kU$f-(GmSP59-C-=U9>{ zC<04HJca>wah$9ByP>SxtN=J7y$BVNfWh4fc!H2Xt}TfQ;n00AJf%PsHttT}&Yn(% z(v42nQuC^9tI%)aHyNq_Y&tgsB`Q=)+`do2ICsV+R!E(;ViJs3LZovDx30whZ;U%! z8JOXK(eJcqABrs|(^gsmihTX=Ap&C{7>5;revqhiPX9lQy;G1VL6^4MwrzX2ZQHhO z+qP|Mw{6?D?cQzc?{DJV%$%5rxv8p%%BqX3%!-w7u4lbKzmo_-5rJ|$bs&)7KWfjF zF=PQa;-U>DEkxw6Qb9spcSiXBsol}tBVD|?amtig>05*dh05SQ*WHFsvMmasH012H zL@|RBsJz-)1^J)%(~3y94(Ib%T>k#`bvw3+Fh1gKr5FUVr(@1pc@*BW6PY3USG5Ki z!ZY58;Vws}^tdJCi9SAsIjA4RvNvKfdNByZ6S`+I3C2DV#ax9>@&G~4I&~J6pg%zV zMUeG7!OJ{DZPnT}itXi^H#Lma$bm&e+*Q>+gt$K*2~BfgLf~(uvRolsa_w#|QdN;x z>4uJe;s-+aTYX^T zm63l!rg%+^G|+V=(ZbkczxJ=nD)`)4#Wtk;#tAw)PcAAhjXi}kyVsS|*N!UnY<4rd zD$9;8YCCmyr#EgY&0epEpYNkD_n()J-RrcK)3#o|Pp`dDc0L=|6^=j8G+saZfnOe; zi9?Xzf7v6GYgAIy+1K*6jUrWQW`FEgZK zTg#i5TgOya=;+%0-V#q0_pQI$o15zmvfP`K+l3=kV7NZOUpju!3d)t4LM=N~hpI|< z`7`=o%uwooF+(4MQ6E@2kkjZ=4`#4_$-2p-g87N*_|w%S30AS3jOv0l>J^4?6{y;1 zSl;Cgg<}>I*L1~CEN4uB`-;*h^=P$X@Pb!|Y0x7xy$8G>jt*}Dq_bPxi~tN$j$1-H z(dY@<+PeMVgLa)Z&AZ!TW{wW8r;`VhUjH96gp2?5-O3c;$;y1q)N6!9h zV^9(5#osMZOoM4-q`HAF>KG5WsA$3i3+j#cEMybhTn<)Xh6zHNdFoG^P@|=A=}{B7 z29~IJk;s;y^koP7DD@J0)MvGo(a$__nu#w1WD9>@L?a&*Zf*0aUkhm5JlFzp8Yo(q zY^W^5M05wLFsCU#|B!F@Y$wIzSZD;tc zF~Zn!>JB)}NYAQB!c4@bTRE|km+W#jbHbr3;6^7$Fq(hZkr-#X1DI1MhG7Cr$XhYd zo6}C#VA&-C#-&5Do!>BLK}O1A6+CdL-Q`PaA=A0MlxY=)o%^b`uKX?R`1c+54nf71 zmAe)~<4n_G-zj1mBkUvo+M9?46z*qK4p|Kx$KppyLRcL!{P;MhwQ)J z0pPiXXF4Ds5wh#XUa`01Wp1^xhmXXB&8;yRBE=+OixhE;7BPX0z=GGcJ?0G@9FNqG z1twO2C6P4bjOY#l3nuUvUJP+NqmVLlqii@%+X$KcQbP)9M?w)~ie=J~BxpL7F->{$ zp%#WwvLdp7I%KWLu9F$V8RcopsKtKM7+K56k`0;`ouM+OBjRb%iTGj>Eu);%vu2p? zX>rLckia9f^890DVCPjo~n0bDv#?f3cxRuPKoV zwd%P4!iMV6+=T@o*Fv&@ccY4!n&)myc3<6NbaE7qd92eYCck*RQ!A-Bk)fXps#0I4 zcDB;ku5fQ>N6)CWwg_5eMBpF%3bt%vg~E)0P(iO`F@ZMjBJ@&5gyJV*tm0RCIAxoH zg<%(S{+^~YPS>c0Cn6f5b3J~sQlYiZYjmvX!>q)`lYLO=B(sm)9**d!AgZldD~l!@ zT7d`~3R~RXkxj%1i?Au!igm0aiZO8m7SY$4y1%eaOwntWK$8AqLy=2|UpEB7eiGM! zw3hBt@grQ|+Cni&v=aKDe>OadQgr+~TXvzMMl9-$YlW-;! zfz_SvuqiauoIrZBvg7#*7r3Ht00xf0P=*7z@0XX$JZK!0vm;EGSUS&n@RSLmlY_-a zX)nRJq?e3R&d7VR zC^S9<0Uyes4XYk#Ad|`HS%opzEjqWhgrL3&dx$x=Y^KlhXvDhWD`blGXB7s5r$@@N zTQx~N_kQca@-?tY{*O0lvbjp#m*?$suY-&ol5TnHw)yM`^X*2AQCxX|S?Uk9N#=EL z)oQYP!B5kkaxWWhI*CT?Bjt1ig8yzb_{WQwHaoWJZb)H%%XFjn+I{S$jYm(KLEf+b zhv5##Jakn6Yj}}+z}t5S&@{fKj=L`U++OEqv4Ov$7cIKtUPm<{XlyU&$;Y#veGjp_ zu0UL=7TYCv$hC>-;$%e&deGpC*uKMI;9i@Cf%_VDK0_?DdBm^rcj72f<6C^m<2Pp= zd=#%3ZVva1B8#wqGo)x#iK#&9J5pn68C+)0pi+#?2R)8Uvh=&Oi}y48$9x8kXZrn~ z(}&4Oa;aV!47O4%271xZt4XTT0{~XbXF|o@ChiJf<-)yTx$D0K04X8=RRGII78AI> zP7%1~xN;_4oMTLz}Q*I6dC z!f!w){MI!u3xyl7-Au7}Y#jaIdm&gl?(Hz3Zk_K{9bjfV0_L+WLSp4LuNlpbQjuv4 zOU6?V!LWYX?dld2X7|=A#MGK@`c-;{Kr^;JK&sXJykq5pL%PNXyKbESKGO8K1X;dam(!T6sdv z7P|`;B;s6xYP7rb%1h{HRJ~iz;>Uvxa5FRIbYL8ha!}|f$5fX$?c~MxLe=SX=>c3f zVGiV9c!X^5N?U2TX^;q_n1Z}Ajxh>Kez9suU2;xh@1 zDzp~(pEe(y=6$77Hh_yIRzr{;f4cSHrV!3=K1Ac5RQUd=g~T2kBg#GhfK9@7+y5^? z9t-{dDaiXZfcqc&LCxA)cAM;IzVPusedB21I?PQJi5)PR0OvMy!!2h`8QWo|E%G+& zh$9Ky9n90(-ygX`lCd@ssn_-odr`sL_%Sw@_a)|Bd%REbU%Tu;0CM5h=-~{ zy;bNt*mqIQbEAp7-dO;dPa}YCzefl4t?q_^;yQ98%6P@Md_Z>@42Zm& zwy+=bxMK0O*Xj*=eXFm!*C)j)^6|I0^d!WRz+0TIaxmjT<0OJX77Rub(cBo~R zIvR2I2%wd(aR|iwK1Z19vhF})p6@+b2m435R{q0-Ya6dENEDmy@aA8m6EAn8HrJgMlxX(m{-B9(ko?_x^@aDp2}Qr z2Td}A0h^9koTYxlf@u~$XOnzz0d4tb$c2EGN%2OB$YMNF{5+p)m*j`{kAmwVFpcP@ zF((W#5HO1t_5?vBI5n&?@4o3y(cT3B6f^D%O9wgIE7*IrGK(sk5@QXN_<17VTrO2T zcs1s(@VWG6fCTrjp2|bwXCR*!^scT?fWyRh*Rc9kcO>Gt3Ro+D_yXmYOmfR#OzKKb zbmiNXLO+iWs52jruxx^;8_0%go8?<-Wp`tY>O#Dv!uBQp$LJ$>rfOINX?s|V=z&Yz zse2Ye~UY# zie`f@FY(|6p>gb2$NHhjhLsR5>27v<@V_7}R5TOG|Lv9;qof_qb7zrKf*w=9GsgHJ zPr$jhqexP90&-DUjAr~Dyz4-d0RwC{<~5-*gV&7suoe2XB_V9~w}VR*Gz2x~i0SZ{ z%MT@E}@=&tS>RDKARf{S7cMkzG>p%XAFu3`nm8rCcTs;EOp%%bA}tOGtYKsqh&X+2oKf zm^+-04l>zqX=+0Gq!KV0Wso=ppGbvI<_yBIj^Kr4Zf6#3>Wn}f@XLh-HWie+CpMqI zGf?SV{y5M`RX8*?MBiQ|k+pC1>WoED#4p2j-wd)YQcFGi{gq1%%or`;v-Qdt%5) zM73HOO;}=6yw+(pn|!B7|1(9isZ~OCpKj{JjX(8o<+!ZI;V-(4?Fv(5O2IP{C0((g zD^nK|EU%uhM~41lM74gr5E!{Pvf_%NHv-6rw6dzvXZTc7A&Gk`9*aRP+-K%(ErFX* zm0|@?y|u#@!chxNU8R_~qemcftRiy{!UF;-7t41QZ&KKtrDmFTO8>w^{ywI#D$laI z)v_`g!CENk(}lj$XO$E)Z5P*mgZ+i#zYOTIDZ!kEbws+pY%i%}=geZ{hC+<)KaC0l zFv^I{N$sk|bG%or@+rTcQ^P)YE8#gnw6!8k>Q^_$ zN9ecC)ZTtOVw^7EI@{;JqrOehSdr}AXP^cR=Vl z^Jk5g3bk-aPpNa7uDOn^O0jg(D&S5a6S19O%V!KXls zIB}czxugEhP433cW?cX(E$RVIs82*~6NOWa_Ygu;@Nn`K%%yi+h>8Yv8_5wPH0sY{ z0W{}hM7YoPy8#^zl(P!V1s15^Tg=QaLr*T3Btt(fBbTcIcioO?DcfMI)mYqMq`R@2 z>|!8~mtXsVdjVSB%*lV%O@ao(O24zF!G&OaFKo0?JMeyX>uUE?3e7Zeq zYSmg3MI&kYbQ@eL3s?|6AO<1^r-A+4*KR9-;Ms*Wq2osDin!IDfD;`RMFZKd4hTTC zx85MO5t({6_vl^4a}dqwH3HSpw6~ApInZZl^#_$Klg&IFhkW~JvV*5_=OA-wTN_TB z4pmI!T7qshBijr+vr!UiF(aF_XfYw%1gGIpR5YBCPJM~Vknmcx&LQuJ-F>28=)EJM zk}Gv_BLi7?@-b9bzJSnkV=rb3#C>{VVh`c1TMbiBIIfXa(|=wWzmD8n?8+P+Hc;Nw zfz354wz$EW2mQEoLQbJ9XZXuCc@=;Oh0?}LpVF%e8$=BHCnvg!M-WAyYvTt~qaWwW zgH>MRe0(tIp^8ccUN;21S#`GGO2i1ECt^CxiM_57E-}tttyCgaS3kRTlVWYsBN0b+T6g8M6H5}zZnPbm6`hz3HAxXk{md7 z%ED@1I#e|CIo||t5KjjfmAMRR!ukyU!jGQ-3|ju3YgvsIAFKmD#ha%Iz6jb@jnNwG zB1kLj2W=dzC*i6eEI&zptQCRt)*)bJrDN^Dw%Ab0zirU`EUUb@qOr{atA&DS%Ve#$ zH!GamI2@djV54V&Epd0hV8=&_rqnzc((i4T1FyHW8n36rwG$h)dEy6fejx_)e_J>( z{GS#MEc6WjKkv8mIBd4mAKShk;8E;8#rPUpJQo^6;D~DwU1_w8q0SG&TpfxF%XS1@ z9>sBR*AqXz9((zoxYKliO=at9QlKd8wG z>BaYEs`L$XdAx76wd2p{NjJMZKEHc*#P`FUA7ygoB$1G$M92z>Nx>o-)MK47B=2{t z(N%B_0u2Mbj$f;Ba(VIC<03~#+xM-QatCjE>0%ObI?3YSe;%M+|DC?UN}X93d~1yR2{Zl?k{~z;2Ma=_ zybl({&bSh!6{jMi%0j!JB}%}E{H-wcIrg=>cEPe>CJmQHz#WI=+WnXq-t~5lO4!Ob z$oX-;ytzuk>vU%y7Os&!h{c(5m*zNQmUUmFx%7}_tvWqy-TJjUIpW%v8OeM=J41d3 z!zo+4jMZ^yF;i&F-n?^dtTwLuO=0pv3Xzh%>#dr0o3w;q0sMDwb#PzZmq~6|(> z&ZV6YI)7JLOGN$#{mGUtFJ7*p*|M7q9}T}iM{)22my$1S^03Ro%U5X%?WkvCC!xf< zW0T(~il#~8LZ>{%#xrk%5aZdm8+Zj8rH*9HiIUCv4$v1|y&`V8LtBDMxXh{=h4U4{s{$WyUm^r%ykkR>g5>jM?uREnm16K7xNgHn>P>-lb9)eB z+?7p%;wck7L0l(4IFvUbbDHr^(1B9EmZNPf;YuKOuyu`&wInly-rw;RE^NDj>&{`# z9_w(Fw>+e7ZE^+f$hTE@5ag940uKEmT!77eqAA`<~`Y^*CtllF9v*N@CeU z=dwmCef7{Auqi{LKcp_LqLBIJdS!z5663k zkI*1fw;%k&kEoIa36UfduSIU!1CvbX=+)?PVMxtH&T=JE7f?QfDKh}^$F_|D*+C>l z8=J{gC>E|P`a|D(-eba8nifDgyhjp9BG1UVp$m7+v-EVf=tSYMazGdE2|{3Bd4-47 zRd@oUn{UCZcdWeRoIM>Mi_k>sgptfiQd~>-CLEUU`TlV2w-_uw^6WI)AeQf=|D-}Q zcV>po-z}Smhs-2&>E;l(t_Y%4W%tGGnSPN)-r$Kw6Yhyd{hZeGNM`vFUIPc=q=4w% zX$Fbzy7zS?`rBOiqgz0KZb1ekpD<>Ou1n)j!{)^OPQ{TgW;2P3PDd?Z8yCF-uGp2c z3=)@eCwJ5-oir#Bd$m2r+-Po6-J?HTmUXXe9phdCVl|7 zt5GIlP0-hYRfKm+xJ%)Gi+g0nRwK(dY~YWOkG>~;&dZsD2Q=OZ^X0E0s0oROGbxeL zTnMY1wFAnyQ#y-ENtT4_PO(+M73vSrQ&Sk+{qm_>^+gr^*C)V~Psxvu6Di zmfP&`?L{ZnUl&$44?Ne+W0~fuHv3LsD~nE7LTr%ADQ3cEPCM_5TGhR5n^%b7jBFiz zv%39mkoUJV<5hyap@?q2hA*8KYgi40xdX%80<*Jn>Luf41ArCNbopmsNvscyZ5_w} z9BaG`lL+#f41=vVp~YRh*|TG-G3W>YQK-w3(5B97LJOz?QK-N_QgkB0p!4N9)$d9NuIh!QEz znS4;ZwhDD0SN{JW^<69`8NU$PPmAap3t}|CQW*oSF&w_UCG^XH>dFJHu^d`yLr4M`nR>(0QN&aEy&b&$ znxM`OWFnWyrI`M+P^!+zdXZ#$5r5CjAeZm7V`;SiV~W=Yg*`mQ0Di7I)%tUdJqn;I zs1{Wn#4?QNS+#`tO&_Q8wN?n^-c1b*VaS0cl-}||89GMs9J8bmI^YoI`~l+9f4uD zP9iII$Z(<*a3|l{t1Z|To60eRuyCPbXs+BgPPhwq^>g0`OwMRY(;(27C+@8MnlR|e zab=he2`3!4P5|Aq*;NyV#%fXhx8a_f!b!6<7zVq2)mB9ctmEY14s!a zN2sDaC<*@Sd=6|ZInE9luVWCQl?~|+GFM4GUIuVLgGv57>n0EW%!vyXuQR=X@HllB z|2}ZXa!CrCpi`E#GMSv{fJL-ivtXH~na(V1sdK#Cg*KwaC@W;VzUU4De**%UFYi*) z4=z?~%-vj^4mMX;=r6om0stysCqba*~*#!Qvn~&;gBz8Npq7 zm@38Zz>KgEFs0yW-%+)n9lE|U8JgJwoe0_X&pC)O8ESMRf|pcOB|oIW#6d)UG+K06 zVMv`rNP`33{3qx-b+AAXlR2CLSsT9wKvF4N#oH|git%6ud&yx=^Vf5CZObfaX0}}A zwHaVch-58SL1&Y5PS~cUG3tCR)V;k{j5k4!UdN1(u&|}tUCAv7Od$8|r+_ER`svZ} zIY*|IYQ830jic+whSJOlLrkRg1!6Hk=nOS~+o74Tn+BCtnOhp%Ftma)tup5b*-r2} zDv=NxbQ#Esr(ZC@8ws>SkDwQXt2NM!4F~z~tEe%2M8^6+BVxOaY4P4a!V7U_V`4z% z2Vc*A9==sI`)$_=5{NtdG2Q96tLs|(79`(Io69fT7&mua&Bq39kBR)VGD@@GH6 zn)l!G)5w&aH=h*nLH+?QwlO!{6`RZi)xeOAtq0MJA&JQqJXref9c(qE|l)z>vCE`Z|GSht$ z=Iug4%)t~jWH{I@h5P<##}@`khbiu9*fCrR{U{@F>3h^tWZLxIUx;q|@;4F|SfUue z%ScosQKO;|;h7>qX-sAzc859hDQq+#W+5i?{1)$^6$jTcde?(w(G0VxbhoKQf(8=% zO0Z7Lsc0Zc3R{-jI1M3okEsSY=-j;a1x~z0lo{H5AqwbhZzqy)+~@tn2LWVk)ieu%9$ZodRjcQmobP;?G%t0;_&H@e^7Q z2P64+o-?!^E{v55XyLXjF`zvyA)n@8o0VGSpwAw)e6AuD<;n4i6+E8oit1t@P|r2p z4LiXRe*IP*L;)(kQyoOePZ7|aB+P@?Eb8N=YPS109+ zaUSEhQNP_hMsHc@VcSm9^Pt0n{~&|&N(f9xoVZWQTswL3}z5;dPtk$ z5lg6;?Z3j2!ZBJ&Y&S&R@0Bmx-x2GSSdeCS8V$JM8RLd}h-z`h7BaAQ0c z#a6Q&;QUTMn0NPwdk?C1-}R|dIK)ee(k;R>P->BmPzP#)DIL1Zie|2SK2S_4_BeY~ z%BOKoB4u;@dKpespNr1)#U7F`7efR0PITS5w8u##hhyGv*(oxu0!k#3xC%nOO8oBl z&NlZ?Bo;oa0!r~3c7iP&e@QC zjlCq`$AT2(AK^gKt?(84Y8UXS-S<{OsUod;ApXt@@{|tCgau@MG#`DU^{3mQ@-k`J zqJ6T0R;@*`KFoSM(xF|=zpXKKLyvF?eE*KieshA~!D`MLo#lI{mOBpt{jI`i9+a{ZEA6n!n zbhtS1Y|ivA&u$lV?D8H7nte3WGd#@Dpa)d^(if|6qZa`Oj(xNbvjll8(Q5Iq8V@#1 ziZ+zxT~-ibW;CO=qNN(Y5sX0D&TAV(Q!#uNso!TDnJmpY$~=LZX}pKL(5BfdBbtHE z(XWNA!W`YdPpFz{_7*h$VTrc}V9x@Y;Tgu&mg*| zLuC@tr;w=%-}3l&f5mHa*6)Qv`uwz7!*wkS_uU<`BZ96BP{;YbA<~7HhG1wT_=GB_ z((!;)Z>E?dMRT5Tf{z%-!?$CM1S{M=d9e>HuOs-DaDX8o@q!-RzCk3KL9hxZ?z=(e zfSceGCFxlm3{x9M@JJa+8aQOBjhB-e99R}A9ffmY#`|K+D4&@ZC)vksj(rrvB13d+ zm_PK+uu5N@ninR;I|qqh=im~{>zvE; ztI3AT3h88unwE->@;Q*{cd9YSzE+V>r5pt{&p|senWcO2Dj^?jq{~7&CKR<~9bz00 zBDh@*=E_4lq6lSWal(F*R_UV$CZUeZTQkS@1eZm!;&Sf;J(%eDXqOY59dR+Z*)wtA z(A6%vX;%qCjqFJ!mrK!mO-X~QT-|0R$fii8dl2Z=4TKF zbW`@4guZoWI#*Z1RiQcMTmaDfU`DFhlMIzb+2Y*XlOle)akmme9DRaaBFwS>r3^Tdogz>G zX}l%-2D&I1j#JZ{$4Wy@%h8}bVy~TrDir2@)M&J0lewoEut?--us?!!>^h8SHqy!C z!+EkLi#qPu%>zzX^Jhkba6lQLv-SA5>-f0O4$$ej+3^K%ak8QF?+VF*#ls5vO#m|c z@}uio&-5G|>x>|5rJ5b{Ir^840Bk(Ul#tLoGH zwu2$fw`DNs*5?J0$6}iFx6Vo-&4dBCl9|!l8m(XPo^t;hJ-0~{E8x*3M#pAJAv|nM z7c&TpA7E;tXPtCs$raTk7<<3wSWkT*vWk|))Xggm4G(v@GFhN~VIcEFY0}b1y+^}H z3`(pfU&F>IYBUYDn_+3U0?nt(l@k^K{D8yDVtM~>Iv?ZzN#|o^XJr2GS)koo8gZNK zNWOOYKfnPx1dj2gBHNnASYs?f)T{zz=l$HpX28wVn*(EoMMYj+To1dg6%=pg5e{1h zEdgts<}3Z2JyeW~W-3XuNlgZFd9rydGKsW}m>=vuv{|AxzFE39E9;Ls4P%qV<0c$m zb34qhXJV9DRUKW%vwA)Hd9$_ej({nPBJ8T={XbDLKmZ~|E*K8UsQyHaa&$Z)^Kh8_QcVREV{*DYS zj-GnNyJlb7sa6Ih9CsG9k!1;D0-b#?r(+A zK1YwKn6?{lt{3|7ZqJ9n`g5+wMm9R#UgPJ88Q{2(*+czk8F>bHPTux#eoVNTVFL|~ zW(<$l+@o8vnqhME8d6vE+xkF$g?`ucdFN*OjBrd(`2TRvR7L%WGJG5$cq9jlJ=jX`){o-F?(zYk@npdx;t{Y zr-a2=&bV&R`mwsqAcI8E$Y~oY>jwdVN_d!u-16@vXB7Sve@63Y)heini;(AT(Ru79yRM`X zhM-Vo&|(%G93}skYKn3te|(`DoQoe=kugT{b`#JG{b@!cn;Zs?Q7I)=1P=@d7H#gi z79+G>_%GObFOmcXV{O$h~i zZ6()cVQjWC19Zm>`=44YR~>@CDci}RI&6CeRYi_Aq{lD?Q5+&*wCGr#UXj)@mW;8@ z%&@7%Eqe(g!u(0d0Cq|I8I@~|YN-U8Aj8iDxs^*y1VUL#uclPZB zWZ&NkMS?+p7+3b@NM&1Z#$uSOgZl6$2Pnb5qv>;qU^V6Su3>hLhH!~xl_K9nwKS|}koWnW> zQummQwEz`hXvv?;FaC)$bonXQ3nQ-@Nb6h+V$`pP&vV0Qb|vIWNs5}&obQ-diqK4qCZd=3!c<5+l<7T!pJ>4 zB%UkQVxt3lLH0DiXG`7sn!%I#@ev+5+vGr!^}qI4hy_s8#@{Dk?F+ax=U7{m_`;Za zU(8yyEBnz=;~*L6n zFnZUIKQLpHnVmfkYQa%JAc%z%;^&k4$u;G`xo;dEKgUBIdEE_GM*6b$7OxN4Q$A+9(G z>Q!8lBOPo5I5FCS&JsZD*C%IiSjOS@9-+53@ zDS(^8md3|@?FgJTIe`P;4ebdS%1Z-}y{=ltx@yr#JP|fpZiwk_0Y&ANn_AlM2~Y|T zgo_IL2a=Re=(Amo;HHk$E3dkIZ(2nmr&2L({uz?9Lz)R^RTY^c&C+%PFrO+I>)`T{ zNgAxoHutr|c#j{+5&UsiDKGf>);RF5KT5GY=b00dtCkn!S+R)7bPJwTH?TGGI8wqV zx1M}iX68y&DYGCOOp!+6Gg7D6o6T>+Zkg+i?yRs6{S=fNYAkr!39Uc+^F;Du?qX%*|#%;_zO$K_=4wY?4VV{g&5!BajWk zgoM7zA4^%KxB5=+;&}s;LlgK`tuu@~+NoLfk*jDnv0@r!BE3ScT9%t1e(J#z%y_!? z*-|qB05=S^V{ewrU;K+Jm2&Et;qB2aO<+^nFDCGqt@*2CENeP8%d)>Zf(wq0OgC|B zz|-}^`7)^_{P?b<(xpZM;Q(S3zh$jxxOpU!+Sy06s|pe&tK>OwBG=u+3IpFhT(OGLGBE}uZ+yo#OJj-heHtyi>@r{^CwoG1 zZU`y}8bB_NTy$u|hy+!IgK=*7Xe%hykj$&RcC^@1P%d4d0pV^}B%ZL&{==|^<|l-Z z$iqR*rzj^JmN}6CFLiB<6rymM%h__m3xUB~E=48E$H4!agmN|cE#Jwbr%Av)5RSf@ zM4nDTuQydU3w2U>&mY8C0y?1u%pLFuXn3L(@xZJgUeriS51-9b&>6f<%2HRKs**JQ zK4z*8x+aWS4;fe`Dc;=5eHK%6{NWX9M+G%B0XzCO&@4YukgUbDk(}71v1y}l{DhED z3{U<|mCUNkElES@#2H||Ch6X+^At-h+~TQ@+cSU3yfkWu1=Kzev56t4Hz;B*78dBG zjYN9+g+9NVzdvUIBb|y)Eu7AtKXUxSZ8R9({Fs$^ulqfaAxo^HKO#!siNwyS>*B$O zVU;T8$)|Q|MRkD2E_LY2Er17H7G^i*m;{XK9KJN+M~2M1_ihepl8J!7*W#u^gFxva zFJN;8!A@>ye7c8nZlUxhcfYqYpTz;lMf#LFD^nL<&Fml|o#nifVhUqFzyEL)Fx}tQ zDoQEmo*5*rYn6Od(i!wm`_w!)3R7${5Ps#eel1D}1u z9mLIbK0M_yP=h=j?O8W}bTvjH3&UpEJR7m=jMWbqXif-yOkt3CEkFkQh)fC4UU2fV z7NPWF|9Lk}mFZo&$(MS<&10dIE8sD&zWHP>E}*!|=%m_mo@LDQFZc9S9m3Xrg36h8 z1&-7Sm(wrz6ZFsml*B@SDv=`TwI#fmK_9)rulbXmzo%)=R^$Wm&_+M_R&xW+`Jqi; zwZ(#p-|z(!x+(u#RL%5%i>ld}{)Z#e@^9MhRvYSn*s4AeJ<~u<;vJHPH4yQJED>nx z%x#R#FnxTo=QYfs=VBw+1%Qu3FY(CCC}G7yxy>c`o;#SQ^TT-#{J7XA_ja2Vw#mv+ z@1L&&lSS%U-kO^6kKsz0MeBcldfL8UU7B4wJ2m*J)1D7??yVnl>3-eo)|t!C!_fB^ zVXH@Zr)DM!nRGIkloFu3R?}myF22ukW=H#j$vJ^!C4bE2917B+22LD2j;V zksT;U_ju91o@z;(V(IZ)8@TznshrQgS&)c8SY zpnL=RzhU{SujpK?B04EHFVuS83cmVi5-Hu${5}-qXzx?+T9Ox6uYTf8>c3H%PXx!7 z0YQR^z`}V;n&e{BSS(oqNX3Z2fhC~tB_wu~=9LNGqmzuBC(1J`ut`z~wGd-DF?i9V z(L6om26wBP#yq{BCvZjCE_ZhTLmet7*c?Oe_Rd_r+jUP`)9Fvasqe(rs_vo%MKqV& za`LH1*-Tk(3rzNN$$G)(?TZ`uy+Ni1W;0p#Mn2vu?EBZJ`V6(b4SG+xmXn{(_G}&u zLvi31g36TbbaX@esBqZ<{cYTbQkO0UoGBkxxmfSq5K_f?;z1@ za+*8+Hy7(z-m#AP;wOfy!ss2G`{L-NxWaaV6xr#J1;egxt)4@gXp~Wj;1GkFsI-@b z6~N%_8iVWk9+++DDTlIUZr2UZ8zJm4<~q!@Q5}iK&`EvCDGoHWGOVc0RLU|GbnKUc zj&`EF3|KI)!7t`DM!a|Aj-5I_WG`9ULJ#6-l_!?o_E$`R-W#|i+7Gt z{>KD6Q&r|R*-!umKHa5-I#_=50Tm2k2?8L#;6|9Y-_agji;KjiKbNY=Jo zVuw%Z$@J}9?X{jXO6YfnZqZ?fFSjQIN9MxG*9}ntkfKUfq=vh4loTQ;b>#O$>4pS} z#-K6t3lHpj?a?9ap#lM*g4rXqq#Ap?n7lpR%~tvagiG`-$c2ggF=eCl=$iW*>532l zMZ`{U0;}Enxg{Q^UsiT(@^xwVM1F~ueD9j*m763JR=7msZI?P z*<+;_K2o@ygd+urIBOuU1*tTO*dvgNsQ6}Qj7%WhX{Wv?)5#CmbJLANvP(+yd9Yj zAuRvW48stO(G1%M^Z02+jhlcO%}PEeY8oa`&TKL;&Rf49ChbXx$div(S2*f#1oP4uF}wZ3OJk8}u4J^; z(fHyLkFhf5j^J2NiEROZ@R2QHKY^gZYRR|PwP4Wg&)}CJ;6yxjD3F+k})ek z3|EnFHhcTxY)U9SlVcF&t?iT3bdjw8GC?q*rcT%#f#DK}c0=LHoi-XAu`hK(zHa~U^@`R zQ>(%-l)eNgrbaFZCN1=|*bZPa21{|OWKCqn?;vwUL^8l%RILX?JW{PEk%S#rt#`~2 zSet25sX}4uiByRop}}AwQ5&8p0WC5;s!*rY6#Z={3OlY+@5muA)@6fg6gK>WE1g0hgR*jr_+5I*m$MCt~?4rsDtP&jq*Nrzp z3c5ql_%kMo$RrZK4AI|;YMgOJFtno@Pde6*VoclpCQK>&V9a*)Pz+H#p12X|qSmIL zz^y^7Dkddh@$%5to1!a|gy|YIfr7oqL&Jc% zx&7o=K%N+{YluR;XmB5>R!9k3pAj$+AaJ?v6DVPC!+tG9Da}rg-8|q^{z~CsRz7 zLC?vrTyKxR;_LnS$NuaH-6>=uQCXFuV;i^R<=#^C5B8-P?r`o&FW_-giSz#!`ZE8Y zLSH6!4vzmWC{Jr^{3ebf`Qqz;1HZ^<8naJV#t|^=y+U-Y={MHbf5aaNtUN}CoY@zz zu!B91+M&kvtZ!c!zyaqbWR_GMs0|ycBxG)$jv6}kYN8)i*4pNw4_kf__7d~$_&QNU z4*omcbj#yAY2B^GWBpL6=eV-l&D}+RJ$u@hKN>Zg9b==@i`T2ICBoY8jdnmv!0;u* zBp>~Jzv%TN|G2EQ+tJb6?l}Pg+u7FBV<3oxAZAQZE)jOf6i)2g1e|ZRL%z2M3Oy3& zmAdYeg;+Q+iIcoptOiPZIJ(L|ldH2J4FK4kcF#IsQ!V@+mEtr^agT;0^d5{!{ z^!Kc`FB(1cK#4ZYPtx&Ke*2&S7Jv}#@DVd7D*|WdQtohRtAs!Rj@ar`p}QZDSw`*9 zr(tRgZ09ok`!m$*7->pEtf7?=9#J&Oyz8Mi4M2G?%`OxDVq*#Ov6DBahAI6G#PaL;^m!k;y)QYGDM88MYpJhZUYt`s{=L2MiCV$& z1Xc4de>Goj_o#0mtg{I1lT(w%q%%r(s5Fj{|6-*8Z0d@MvySiUd)KaU9*O))IJ6`& zD|!-(A5h%m2TGa$eah)6dx!*@Kt78%5Ygp4Ntb-!q-|nJZWg=iOt%?U1*hHv3*h)7XYSXw&`@kNeWn79~MD>~9Q>x|n^ z6-ydvfvDMoPM|o1SbT6n*ZHqS>*i;J(^$_BGKNC`%T2E@QqN6?&D7&pPS4Yv3STF~ z#bOVcKVXHoTI)1Y@R$ZgDMnkz?Tk^4_Qb8UDwcM2(?74y>qpp{|F`@WM%b0&`!y|o zBl11E911?x+XWw+)FbgAOsQ}md*%HY4zvB<3&yf&?`wHcs2<8+`LqW};&owcz1*XJ zF~B_3TMa)%`085x8D9-g#`}A)O(ACk_4g%RWT_ECTZI!u&f7vhKyXGd+RPY|i~aBv zFp6dK++1bfrWiQ9Liw89h>i)6ie>W>V@Q;h^PmGt3IJ-xmGfjUsX(|{Ca!UvjJ3-x z0Bi7-%j6J=0IFdJF0ziPLrWm|pQtsP5gh{{r(x?BV=RVLCvG>tU8{Cn<~c+_quMi< zD1YR-jr@Y3dh5CkMxg>LMPa7ZtFl!XCvLH@Dlr#j7g3A9(rh{v_UcK?5?EVs=};9F zSJ`v^Te={t1Dn@5!zyq%&hnNnVF=tA<-#6MkZYH99N3Xdip^luq0xQkD6*cvV$|}r z$WmZ1XxB>;WKhR;9+Dt#*YhO<8!obbT%IXWvdyst45kJ79Ff+-(zd!FZcnVh-)htE zB;VAaNC>xA#x7Oj0wd=2tpy#!9$an-pra%gS>W%iDEaE%0tN@*0%J!{n|DGB_w!Qg z28H`aMd=2mYDjdR#R&(~CTC0(XmoDI`l#IrN7p-u>|cOCquDwho2_2l(SzyG5*0A* zf+o@W_4Z?TM6PFKcCld8zF9iExjrEZQ~v5=L3H1 zo^GzO^zb8FP@&Wrrp>)`2B|*oBxMMEtm422#oC>sk>;F4*SlAS?um2^(i-?K+=r?;BUyjS zVp#Qz&AZp43fwI`_Ivi|{+zdoMw9!M&b$xC(Yt{7b7TQ#cMZRaAjAT%;X~aUKBXn@ z``Pum$z9)(NcWIUWLn4ns2z^*`pg*ogI&IzVd!>WgkQQvm%8D`qwLVhovoe>w>Tpz zdIj()%dNSSWN} zm8@>t2wSUXIETFl-13O$@zEa0wYEC28lkpp+;F%y|g)PR$>;qM%Bs6?0)$fw#hM zdC*F^Vc$T>4v~SGk$iAEe?BR0H4s#!DVz=#js1LT7#9cC!(_8s80q|@ zs4LZOsGAq&*Q%gQ79p|_EuEl5NOH$f5g|i!w4QIM{%3wEB^uVn1II`=>De7C7MHzm zPhH#k=%sLTR?(Vjh}BvXyE$Vc#&H07wec{8ND`j?K<#&K-=3!=^A4Jy*{T!^aJ^h| zq2`D{Fop?RX+P|}Ilicr0Q`PXrV!gh48%ZcYBkH>GFIKY=gsR;P~Deh5o+I(1-7O zt^3c!;UAN?uXny~+KH<)9;OnnTeo&eNWm<8OUWE;Cw>adP#r{2e=l%f>C0*<%hcnl z-Plt&5Y*!3-J3W;|4zo$*k)0xoZ0Ww+72!`=e?Rt<3bpUys-}1?&hj;($ct112nES zJ^cHv)uak^vH}t&xIDBu-x;IReftWwXRU*hXcFsPO7N>f$wU8KYV(lg_Jr6AO7l+z zeVyqBGe37)#=i$hd+Mt|0L%I8Z#{WQGrJAibf!kEZK#?pae_u5X6DsGMEgla!cYD8 z((fR9@Q=IpXPye^Y8kyLNh|fY;TsdqzW4WJ_YE+7`+11h)$yTHL^gxOVxph}vpa^uT3l zv#rwo+prE{3)2HN__D7GhlcUEt-wHX5o<~!lIOI!T*TJt7(@%C^ZXzI=S(4B{3l8) zZeyk)=0)hFroYkU+4PGmqF`G$k$iZ(=Cb6yRp4LjIQOfEhX};@^Zo!l`K9X#v!utv`3h=u+caJ|RuZEYjG!5ZSX(@sP^=yMc6P?u zGG4C(!e@W0?B)z4T&QLAnHbO1ML=E8{(hV(xNz&1=kx^A+yZpe%#wokgHqhfg)`ub z>XNVsz^Ic<2FxWvq8I*QZiH4q$rdtXi)dE)(~D8Bk_KKxiAE<}?;mH43N5quMC<#n z*9fa}&!}&t;F9PM8u3s-tfc0q71_X0Kx$~EEx21N&-y??)lG;-t4_z^9yOXq0zokv zu@dei7YZYuRvYkmNR|Z&8T~Se@G`c-5aR1l5_b|AX7jCIUP3>8Im~{B$t-LL2xkPK zAl)P^1XDK?!N`Ah5;TyAx+~4Vc`R+F5LX$mKN(8y(zZ`{cnjl>;II9|N8s=Uu74z)vxu-y{F$N`2Mw@)KCT*>ACYMm_+6^QK1U6PHV^Iz&6i7+XBHb|XR>U@ zzj#B{4Yi4#(p31CwMXy&2)m{#9p3GoxAy1dRhP`3#vnbtpF_Uvy$hFK^^rO4ENAlD@e7chnaUeEM83s(LYw<}}_frX%wjf!4UzoK5f8e!% z?Skv8lLKNlKnf3) z?B>S>Okfs1%~I-B!BX|GJ|_Qx^`~vjocl4KjPV$UMfBeB-Eti7B23`?NZ{aWi$^Aa zkuw<72VREKn&Z)KoNhEs?yfFTG*tJD-E-%d&*^Y~cwb+v4KR*yid~z$0SkQTP2sEF zxjT`N(^33B-y;q~C!^uwV8WMTFa%KY_Y;rtRA%LF9tZcL;+c1H%mH0Bh7|-JLZduo zaNArSUS%pc4URs5PfQBC~kSjvAObOE#i`}n{{ZKoo*z+V5co5`a~ z*s30jxT*qkYj`Fy-d0y-G#vNARShQ*i6n$_@g$|{)uU`WDWU8xWR^%dIxuI0i*H^F zGKE!|Zz1HgrlC@q9k%Ku!<6}H_{CNY7Mr9moB*ZvW%oJ4DclnQQ%JaQ4j?R5r!zI= zTp0o!vk|ZpVy$!ah%KuBUABXX2tgrPe$P=>N+rY-M4S~?!)|PsMuaZBUqN$!A4z#bQjAv8 z7MU3bcpQjDfvl|H1->wKQZn?yptvAF_|s8!J^PA*X?tTRtBE(b(914%nC1=!Hidi* zHs{JTqo^=rkYj8Ib`1G%JgFU2tBfp}iwGDu)M!!wI2GnG-2&2!Y1W=X3%H5A|14E2 zqOKK{85J@;g7N~E7jKAbGwLl&;SECA3-19jUl4x}g03eq76bGNhR+CQIwiKOfk`tX z!3DoRdcFj9??6E&^wzwj82a~DbFIP*`oO>}MzZlUW_p7>X7J`4-!muNc&B$vKjv!b z8HP;?moChT03*&oZYCP)0IS0HppdGCF-DJUh#G^g@?mVcjdj^Gxgfq+|4&E7P=>Tw z1qwlLWVi(QRGJV69$FI1FJQ2>g_;dkyI=dh*XH(s&RE56T!lNhxU!@=<*kPiyog9c z``;rOC3<>Ajj0B$w3_II&rojmz{Z;Ss<`TaV--qQp%{EemGyZ~Qjs@ne-ZNJa!3(K zA~w?3#T#bthnN2^3hf4?pt?f)nS{(og<5+J(CWQ7N0h$~>qmo0Rd&3Y+UVt3j*+JN zQt}UNc<}{L8s*oWS6{Y*_~Evm!VaL58%mH&6FV-R(0e3q2|xncVV>Qbjw!@CGSi;@ zjP46Zs5subK2|t$*C7EgytjAO8@2RxPaXP#?^WUb?Dw?BsiP_amhjp5`=bRuRA@8F zu)?hlEtIy7g{Qy1%#R*)>x`ze#xgYbu|9!J?^C>W0Sv*F2U3e; zj**;2?~z17WP4o;a*`XFcD|RgH@vw4`#~-49vkSh*7fkA-{&R6W6Cxjf-~_zL>RySO7*YHBFb<9g?nK$=5Dd$F{S#6)XeZ zi}=IW{|JL&aOn1H4`&#FaMl^_oDl&6;vm3p`Asg?YN!N%LN>X&7#`^c9X6{<1b3G~xP_idQrfBg?PyyK`mQR( z=p}l8G!$#Qhf};lVWiL&SFe4d#Az|dVA*xlm)>=hjgkn&^e2Y9jCdMLsyo~~i3G&? z5RC8t%#$f5`VNEHY=%jzgL~6Ig{r|gTSQ@V^WfRLuSpVjBU$EB&j+vBLqJ zXku0M2kRJaF4L5zk7hxc6xctI0g`LSw5G%=qgie-D0(j-6k7@pZfsQ!rXFqxiHV^p zsWGaKYV2VXND(_@7b~5D9E4-m3*noG(vI$25x7n<$I6vMN?qlWjs29@!bVz_V$QaQ zH+rsqB-ZX#tWraDBNkxB4@f`S>&ViqRcgVfvtk?9eIEtfr{he5%w9%{nB#?->NcR70%%Jb1VN%R>Yr7>lWv(wrIf2vp~ZFny_a6Z-^?w)Wx= znq6U7^p}3BAd4$u6!*8f5FynMJpWO2*?)`i*#4&&kC~B~?f-4I{BoaTH-5R#|7o^F zdjAW=)$Ei!EP#wFlKlsblF1gh^~-yjjxskIWS;)@I|6D=)Bv(DeOW|O&eJp}#ut1~*~PenKV^C9D} zKIzH7@YT`#ENlNhx+mHJAA|BZ4D4>~-v7V^>X6b+GWn!BwbSkq){RYV+!aryZf*bW z`VidN+;~IXb8BYVxn5!)Hm9b5*U&Uz&}a(YZM`Z~Yazg>(C}AXk@=!(>yKMfg8GW@ zFmGRR?5qv<(1B4@v~%cw8Hf0KeXt5bv)!zQIu}=<(KI zKRvrpX0BEFQ@IS@X!X;b`>J@t>dD%$6yP^`jfr5PSeS4YZjOg|9xlM0@OfdSfMGG@V$6$=^(7?F%z_6*J zI?j~}dBsEpEbaKlTGG-llc2vbuc+`)FxH6(J8Cc}@(-0T;~lzFkG8j1OXXCBX8uq` zn+B=kH-|I-vF10?Ed@abU-GcBFV)o8-i3V(= zz(F2^{RdJ}QdH1E-dQ>ZLzK7{aRF*R^JRS!!ld!%_rNE$MAOg!;6Xe7czl%}& z=LrULpM%$(3k=r3!gun4^^ei(?ex-|28(>e$HJ}(tk}zU;=?7svU-wLo-N#A0n^HL zjFcCi@xI)Le7ryQIn~s|mc0NH(M!za@ExfLrvZRe+y!AZjssb>SAQE^MJ6y9!1X&!>Wx^V2HBSh+_ zXc}{;EvH82wXzdL__{=^=Y)mZc-ia&@8I%h0U+wg%&Yn(MD+*isOW;$MSd5d!X-@C zidydt$!-HS8pjQ<7^9tN(Ko>?l=d`KC9(=*5P~7Q8PG~2-m+K=&dZXu!Rs&~6n7UP z3`eSIHxz>$CuAXz6xjDJdYoaLK#E7}a!xo{f;+^ykS61%!sG@PWZdcDLjf;wv6Ps0 z8=O*Eb_cxj-w-LSdVtIZ#sSChq9zkTJ2ct@Px5R95&r6oizqt-`Rz4BQfJpN%Nv<= z?m#*zZk2JU9*UX*+0h0nj+c`{6-o5ei4Ax(r7DBtT(BlX0&v`in*5juSm9ZllQBf5 zJxc=c*ks}^y^g^Ta&L>tUtc-`3=aCFT1&vqy4yXXEE{}%W*Mm+NY05$i20|JRikQO;lcXWw zwL_8wArha&ODc3eedP0&&@qv1L{ZW%8QLw8929lQ1GvWzs3sQ54ISkCelu#6Ohn=o z6tLVI(eWTq2aD-N^(9i!JG9Dj;K=~Ig@+eJ+$ygQ!Z`j#IxhXaF8smKT(K;buW#j6 z^5__Ei<&zvH;IURY#q2)A62WlwmYRK-F`3L^-3uBGaYx1i(mY1C#B#_yVbclm01lh zjw0i1nfwdae>j5VpRE-|#apkX*CMz(*T6$JnnZv3Xn?bN@^Eno8}4R{#-r{bQaH$B z#ANT`Sc$tlj;CY{Ga^x0;!RNAm@Zt_M*RwzLD|>skes+|=REU@JLPR%X|7uwfpXJV zYp*3E~oI1-6Aa^DdarD8j8P8PjLWKDt4X}6y?xt-p&<35^L2t z+`sFVqb+D%$lzf^#{>}GvE*nxS|&w(4C4nAESkI@rItdC<}CnFpQM`Nh>y^V^Edej zgRFeq0h9q!+msU>1z>HEYN9-EaH$_lfbHM70~rk~z?_yTC!BOfy$&!#?eAfNfV&!% zG^GLmxse;Kl8$~CvTT`R!hSt;qRc`yO!%0y8Jp0kz!BXTX%pZ6l&p@Q$mo!VsXRg1 zW|V;aYCYRQSWa2_q;*_-jPR^ql;EU-P_6FobnsI2FQT4x@V*H#MLb&y!ZYm1ikN1^ zAf1k81>qNYqcI&MElvr50~t3zjG~@CDzM1h+!{fU*sUoBkiwGw zi*RE>)KHSf0@Ro{2>{ZVCka53S0*)(OazYvp|L2aD@tZTsw)};0j(>N1R*6<+m*_Y zQThF#SnEH6F{^Rq1jby%(Cv`M8a=a+VzVL;LQ_5OMut?!Ly+8PQu4bO=uZYOlp_s7 z&~ZlyH1%*N*c%U&aa$Aysf0IrC0Pb<4WdTiDeHxOb_v_RolXo3$3Eq#e>j|#HL#~O zT6`#jy5!+(EWP3BJ6hyiY-tvw;$u_)G`wjB{L4TR zd57Wd4VMaF5#ae8aWQnp$S&>)r?ithKq^vfR+__DtJI2WAm!pH50YkKJG+NepvR0_ z2#zBVVOn6oLxCtR<0OHdm?z?ON=ASv{`-%8BtSe#PqSauPkeb5jvYLvDV!$Wo>DQc zoyA>W(9a(@S_GNorf*EYza@RLtv~5Mkj_dvWSled-&o*XVDf^ozfA;1hE|*1drMXP z1#TaYQ3V##9a05i>_3uI!0-=*9ccToHzLUb8ruo1u_~W$R7uA z0FI9buGIm^^sC{^1e5M{l7=bgRSBfQ!UWk_qV#hxgqJ!B;sBeH_UmX6z|qxX8B)pwmldsRFuW#E8l`eH+Nc1O+aLjtjH%${G~JKa3Vp z>+S8%;&~Rst(XcTuLv^^p2^eQlv^mOA<_DYwDtC0 z0fz%7`hYQSip5!L?79RL^(Vx&31`_IP<6=|5Xd#!C+nf44NAf9M`5d<9rXjXV3VMx zB)I`@z$HXOulmGsT=gHpdu+e_CA`ui=9XYo-l-g1d0-e^8dP{Z=H0VpvH{l0;_wYg(6S$YW5}bG&rXEdDI68q3{M`GjZ(h=I(6#%h#@$mABEuH8VkJ)(Q+2k=@5ZSKEiBkccE zHp0Tp_r*!z~>T%G82z`eqGvaZr0eu9A4Dc=HkXyX2LIJbas5( z`2H4leY<@=-i)2UJe*tBs$(+0uHUB)K8SrDzkGbF;C6hZyFKr+K0TgD3NgQ_G08FK zZZlG|a4IUvf4&1QYjV6^p3ldgUa|xRHa05BVSlufFAluRQ+ZP%t28Ytg1+B;(wo`UrpmV&MJ9jQgYy?@sgxs(M%9}%VucGaUJ{2A zq9pv0#B`$F`&;fOoStfGNZ0n&|L6hvo)y?ef(WYm>F`J(qWArp6?d`HI_=~2eGWP{ zt;0hE#5e<`BV3B%TajX9uV2kxd2nyhy-IUr)bnAP^H)=xJuxF9?Ht*Ii`YE19hTie z*ABqG;>$B_IP%M|98IJ*kMooK=B@!2;aC5)$Lw`)S9Lq}1zf&NaF%hY%KoZVeTz&j zs&?qoP(Avq{|bx$Qkc>yC#AF~*B;n2mE^p@g=+`HpllDhICpdG^3bu3SqUBa`y}v7 z;POI7PKt!c9>XC}ZX6|+ih_mXkgv=%uEWQQP~k4xfJoc9z7_tk;(~sKEQZc_aW^*y zvJ8_Kfe0J|j%igtv0hiTF89MOZ*H7G`$;5zo!H=|yS;LOhwbU3vZ*?`G6Qdb+q|EIt>|c#vKhSzWos6+ZxQqd zbe6N;jGxn?cJPyHEWrxRw$QSJ;D>s&g4xV~>k}^(w?9r{-z}`Kx1I6kVj@Wg5I_W< zO`D~zU;l1?|GYJQ`Z(qoZfwUvTiAS^bMHJw0f?aR1Eb$bT-rMxV7~#yCnoK|K}Jt7 zv!tUG1p+|$8UbLDa2LjNt$X#wEG&}oE9(qGaZJ^1O zg_idN;ME2Zj7(vqfy}C+I7FcdwQOnUp8{z2L*mdKqi2!_`k@*UdC*WIn_LIsQ%?ak zZP1k5HBcop2GHX3mCFWJot4==VcRr7YSvX#QZq;&=r+NG-Wz5?L~hhTL~qQ3qAV}7 zbTWpbY6#*X!Y0NPxq=vbLRy!l|BI;IXWxtJW*c@`BC1W(2X@>~8;tyyV%>eSs^=@j zKV;4#*8twQKM1QUZ}@~)zAn^XwGd*x4-Vm>#g^o<={R(!*X`lKWE?|UHm?)3I zhU7f%{JBi{T_L3m55)Ax!Riznl!D(Vyj;Td&?ap5;Hbw<1(S-?Y5i>|7HuauMQHBXHZ$_h9PM zX;M-_i^*i=(gY^GG$hCh)0!-<)D)1Izl(kub&rCA?vg19qPh3iHxK`)lBNbG+mh$25}G_!gR_Gt-zuM#-5d0 zJ~9M_i&O`bg7Yfi+A(m$+DrnXCq{IFOB{Ah=6=BnGIgnKSZ4HPkPCc$%SV=J#*JC} z14)oBtm*?<(((bclS>REr|B94NtDej+5=H`3Ddl7PZsJPj?V4Dco|nhwo;8NoHRT+ z?8}_=U}zo@i^H^!I(=!=xh#}6sVMd!j)~OiBu)RumUzrmBDl%u+OQ1G-tQ2S8H&>- zrTdf2f>O#Uqova3CrL;RrI_QB?if@_Wh~6*6Bvpyi%qqp3Xw`!m?b6C=4D7s`*kE! z=O>LtOQkKuvj4WH^<6*lneCRclU}&sv)nF(s(3BtNzvHLbMNONmw;<2WRvjDLM{aI zDIk|9^gkK|r93PEXEX4oNy`6cD<}NSUoH*r(J{fUd;lo;b0C#WD>hRW`ECM7&+}f>(()#O zZ&RRa%j?CrT~Gh9mYF799qXF04G*$P7{=t>lg~9Beg{4!^RJpMhHE>P2g$KEbJN!4 zm}TUPIO^wH+M!`*%jWua%J5BvmdbUMc+Oi1ZbKvAsFf=6%)V>VbEYir0Phy?^{Tm@ zbG?wl>JPZDKl^#C8Nml`IiD)G@kS`=1lpksX=zd3U0Se1a z3|!Ooi+F~FW;vzXVp{zirHjoZns&HQAoJWMW^|@$Q2NSWyZ<01yb}spQkqN{E3R^D$`PMMIc&gjZ`av>!A& z)E!hPlmN@Prke-A=$hcCQL?G7StW#|K=wc^(2Hdq4z>jB{qQx9q+<|ej&#Ky5u99i#~UlzX4qB)iya7E14R~P z$V0ahm2?Fw&WxgW?N&gZ{{;y6q?(Cf;4rcO^sl09XrxMw1*x6VgP2Cr6puWn?(rPF z0lVSfNsk*A&2D{Bcdt?Ki=c)({Siu}dtW(PqF`WAfg!_c!U)XrXmLqdbV88@pAkKu z8GSZL#5fey8|m|XjyR*TGk%LYLY8H1K|Ubw7$4H2}nT{M}c*7lOK8Q)I)Kk!#J%GwcMy4`w(#F ztQ?8J&nGMlu~3UPX;)JZ?oV zXUvx{L93j+mP9h+7KdL<@zjwTPj=+sD*Pu~ za!F<_oH~s3ffIn=%CyodoV_TCy<_rRep)pDkj#`~=(14B(oVeS-?nfH^gtLPLSBa7 z$p)s5a=PP2S*C*93ThIHa={NJzv!ybE>b&gUm^CGv1ry2tp0Kc=dOq=D{0kGy?lsi zQW@)Z>-+aSrn&bC{vl`vm&G~PtrdWRJ{c0~-9N_;No?p2i_9TPS&N!Fx{07_WeYem z6?4>QMr%T3&9DB%^Vf@*<{wfOdWq3#MYe|_UMIn8{qs$XG#NUzHaQzSDCEbR#~3rU zB^Lh5M86cyR47FYyY~()W`!XpMQ{jrK<+l3<3^O$6lij}K%vkAug^DP&~542b01$c zN!Rqe*S(){nSDl!*zPb&Q`dYUwx92f4>c~T2WU@Ak7^gEl0|5!gI~F+1Tb|x#w#Tw?bWg zwwi00kE(pbdfe6qI=VHCl8MT{G|U6VP-)vNDeP8wP~3Xu6s&d@u;u0Bx^_x(bia%K zag(~O`&kZ+5{N{U9{MKd60y97aaD=?eCA2nq(KxyWd@i|>8*!5d5)4=X0XZZ3{R$# zoZ1vq7Tdk_!Q6>?vWHS`)P(d;%IV2L8>BQ-cS3(s-Ly?$w+0v&e*8Q;rYgGN&cW47 z9ysmGS1IjLdeSLT->KnkO2(HJ4@)M(!YC&MsppcwZXl^qB4XYksQR;f@@V*Q<0@eN z`6%aI$Dz@u{9d%K?URK3KsnvsyGg=66*=&@wS30)Yl(;!ZMcFfm#{lC?f^0Fm^@O4 z3>foctJt@;NmJMP7NmWi41^iQ3*~*jCS@g~%7v@Y0g>db zBDdG`coFE9rE8xGZ>>r2g?;x7U8uEMO!%x#9QIr_whqF|kzvDE<2_dhRsx%y zt>WNeXMb!L5G@i^F#gC=kK4s!xQPOC?Cwz+8h(2GoD!N0#Ft9Xwt_b_D!^%>|JaFJ)2UvFZaI7~|+iPn2?@jOK?5p(4w{9a~|g1-Oww zuU-TD*4Za!GjF!AYGFHcw+@0f#Dmll?o6Ja<`zO9qkU2^9vZPv`qygs@!t@zAW%}D zJ?A#AW>EM>vq51T2)cbFF7h~gBZs?sj!)>T_i;`F#lt2_ zj2qIT>#PWF$xJw*#>#DT~uL4bkwu2BMF*cnl`d@Ip25FP#mzAEm|Hs{*_PBoqP=@J*A zw;k05ueTrBk|cgeEgqb-CZr2a9_0SM1_6_Nb--nt`bEc3WOA3Um>&M^W(zO4PoO?h z3JMVVv5h8wh+K%lE*hyB*tPXv9>La81b4nGdatZv>J&VY#x9K|*EpG^cPu9MD!L6I z_f~KJc*{z)tVKS|(em&hCt=l6=F0+LX-QY2rM}2e=^+^0%TxXM)8QcV-6?LuJ(5n| z8GRu;dp?7foov9?QxN?J0P33CKV$A;8w%rz1mHlk^%xKiOffs0yf}x0?-1!3XT~I> z;m%0&C<|kDamZH#p{Ky!uYdXHMZ;u6+i(2^Pl?eE8DQU(A?UE=(Sls?40@rd3IA}( z4_@zzkzmx49z>ywBCQ`-2Dma4HF;|bO?NBu=JVE&bC41vwc1XsQX;4yY=AGi=`-aG zPbZY2?ck^*E&s$JamQNH(sdtZ1M9-dULWfEiU%s`(%V1p+=TI>4x?ngv)_C}51B;Y z{I?QTb9$auKFgNpmsSF`BqsWHLu!i zkb7JkSwY3tGjo%R-|!Y{l5U$wMc@3e^Q=$h^{A|Bgyc(`@Q!Z5*Rnak(lrFn1~h21TE!d-0ON1mR##=+a_RmWe@tlJeK39P6^c*4i_T|u(|mMEXZPFz zv)ONWM%A}*bt%U+QDuUvhf?L0BUxI6ov=}7!q@?wJ#{Jf`;Oz<@#{Ya7s=q3$Ewx- z7L9bYSmxrM5xd(Nxi)HS@fiLcVSIoI z-8(;mBM7TuJzhQ{tqUI6+p|=hI-L`c?T6TvzU6=6;sBZk^%gKljLs7tWHLccg>bc< zx19_g7NOn)v#RrXVfz$c5c;9GX4IE{)MCSLoIgd;x2)RChLZRvjFSsRw${Af(sVWZ zy|C@)J47AHXK-I1h^2Bo;jTl=8N$LzPe6&F#sH(Xvb$IS6eO;TJ*5Qyrkv|m0dYj$ z2h$J~{g@JI_2>bS!YCU?-321H6rE<{gH0$aD9jUW9Xn~Mp~$i>7^Tre&3pVlf#>a- z#;w~LYK_t27d1#WPX(C$OwE5?(m6D87o5B`HovWSWzz~u)p}n<#@Q$PmR2V&KpEAD!f7WR z!E6$ctB3T;5Vjg%zy4y1RBw*1;ij85l+D1^(<7y{O^O2*K_R$Ya_l~8Rxp$Z{u;@5Xzrd?YnfIjQ>-F; z;X^!QqYt<4@fr@-v%zs){HZL9doMfvi1(f}I4U!vDT~nC?YG=EVb(hdrq+cZCukq>L?RNn zizpuK*3jlZMDfjp%F^+-F`${rUxy5Ku7^Ag6e+uTB(8296l7P)*CK>sc}C z5*Nw(Z19I7SFzi2{0VjgvFG3^wP04Xwz0X9sibJx?`m}(ET!I~oQM6g;wLSu_=5x@d?8I)4>v++s~7bdwDe{p!)Z`ybqiAk^Vek#I-ucjwS7k0?VM#y292$EcovM|7Tx zxN>5O%xm=bmU3{w@eiSVD`!|dPjUG($z8oqDm{JbIbHjsyA`iGwIHc}Ve;S#In>1O zM}6NGYWqxxTJp3?wI^+H{YCCL*Tk`C**IAGWb+*P*4W-eDjSX%CI8IZ z6($Na0v(U{B+^M-)28a~!l*jb}o zP%*8bLEFcsgz}MF?@koZL22~@V?ygYjhhZcCptqhL&6Y9L$(tj0U8i$!UAc4wm3}M zK{`Ya;5ZEvG1S)lof6))y?jGNSq2h^{;2z`8n}T*3EP6%KBE1G5KK|mq~nJWOl_hN z812>batM4Rj~xejQ(XmdxNySB*N(_7TCF8)PR(CwzmKHVdOddK-6h z&UW%!oQ@@=IN-U_mK9_K1&iEF-+81wGy$z@adQ(wAqRc)5ni@v<{Vo>fqp(F%vm7Q zsc%bXso}|b1Z-@g>!Bf{t3B*?;zo8Fp_(eu5Q`gzNrWp{XjZhoX-=~;@9I#)aI=@Y zJ+)E8IDfg(I++P9R9tMrdgiOZ-h5;t@$mKBjGwfy3}A?@7w!;l!gg?@SS@!DHW4so zF?R|MQ#GFWqq$&{I88s@NIdTDXq9OeMLx)U8Ds1nI{y2VvM2tYpuMTM#p`utm zcSjJ6cp;cX!-n}OqVWtZ!Lhm68~t0NnOM8goJ~HEJM$Ze*)3)nT@LYR8Arb@yqJ>a z{}!Ec{!h{AZwK%HMyEP|e_tB;ZQ&98_~Ta(iK6Y0SSq6YS+MyRNAZjEj-8V+d!`#8~KsY>A~u&oD%s_y6^9m z-m{f_Wb-icdHvzY_|vFS(;Vs0v@y+(|4nnZOy8lad8yw+X1lYM&{I>Jz|r^PFfJja z^g8Jv_B`~o)Z;_6aZ%agx}yG|kKrHEF>*l-B?Or-VnUP>A%SKdPT-1-@P5llJb|tt zk@B8dzr&}aACF!4YgyLu!*rk|>KoV5qp#luzSN_upB+nx&S+~eThcT{&&-sbOe3e! zf~w?v;j6rs2pMZSphMI5J+FH@?Hys0R@4yu))2%mG#ycn5Jpmx*rqB?A*m=1rmGN8 zL{yTe)w`k-056(yBE^6Inz;Pix{DHQ1=*uYx%^M-Zriu>|6}YOV{8e#wcXjaZF9A4 zcdxc>+qP}nwzb+=ZQHi()!nD}KFP`X_Ln!=f1X*hGE=D^mCP}o8rOZ18Gk{Ytc`5w z?Iaxj9UBBeY!cbSyj zkaO&S$7a`<0SfEtZ-f(mhrg4rZt}~+(4GNTQ(`PbC-uq4V267I!7<8|yKGbZ))_KY znMZY_KN8-vkAt4j?9e6mKawGIk}90XC1ktIi8EkY%wht30NRa%2!0{XxY-48onEP? zvT@|Y%?Q_~Osn#+26w{u2e0RSZ@d+HmRXlJ2LErRj?_jLS&g>0b@Q(dVq5$r@K)*4 zEam#iVy45;EU2quLGG5Xp3R%wDD@Yo$_O&`Y|{dGS>8+${E5~S_JoYe*SKUkFptf> z{TAJu{5_n>&2?Pex>i%BoIm9)`E%Jr)Cht&nv3Z=KYRN?^qHDu5zLTB_{qf_;RPG< zU5@4IsHF_!hV4h^DXBuf`_yZUso70fB5ZirO|$?*U;s62K3jTk#-9&I_f@oyG$Of) z35PkdHH1+jrUB1EKvG^n!Xvb&}ug*Yrg?rzuLe$df~ZQIR3_O9YaNP{?qhb6T9G zn9VfcYBheDOJbrQ&yr)AE>nNrv1EUpR{Sfc_*N(nlOtGpRL-4G0(2sRq7b6e1))aD z#0M!?I?ZNmXXyJ3pkb7)`MV7p3v%^a4yj{KLxxG$(=nC~a~Nym7o$`wsXvA4Fc}aB zFUA-1M%0&Wm7ts7NCfK&G9W#RFUpJWF&ohOs8AP|mknf&+67SNbohon2Ndt?L@m)O zPxtzYNrtL*+Wgt6X$a+Ov%X%32~3_5dWN8=t%Nq~{xjn5D`1x%&I#Yep&)Xrj+Zv> zwaF{(%dwa_Je7^xR>9>FWQWb+vUk!{fNp}RCdML!KMm~efd5~C4hQQ#9 z$TaS)E~SrBP5`MvRoF|B?^f#ZpLR=gA#&tOgNpUvr|KfIUo$28gOOky>>rDa4976r zfi|xUq{5d;>sDF+#)9{xj%f-gZzw2_u&5su84A=vW=#ttH8~bNwqNWzJuNR`C3%&7 zPF@?f3R$F_AW~C6GP5N7iDk02Bxc}=p_fS9EXn`7tlFU{&73_DUyD`HP%WvvQ>#CH zYASv9lNLbs7+6C#>FGn`s62wDC951kT985stvLO}r3>Ohb0QkpzNuJDW>1#r0hx}m z^xS0)!6coe{7C#jEND!(VhM%v55PcQF~vDYryY3_*olya0(H>1W(-P4!5J(CEOppj zpDluzlJ#q_yz7vVni7#QO}RcXn0=%h!=YWCn5WjnP?feoYFRm>mL<9)!?>~7HjFf4 z1dU6K#BH6Uh;fR0@edS3IsAzHcsAdyWUgzuQ<1AWUa)T74C8rn&dtdAr9O^w*q+=1 zk+W-jaLXTi6=cjhk^+)MO2yIk#p8m-q>pE8(shx#m$kl$VxA>$CRBgm&a11E9$f8j#~aJAQomD3=bYeuTMO$my;h zLpP!f`m?iy(IhwAFa7otWFm}%krj+dWmuTRYOk`M?mKs+TF26AMl7Vf%eHQ(UpC1z z_(fUHr3kRJ2n?hz3S0|y`4OCs#=R*>Xzr!5m)Uag(K)&wmC!Ysf!SgU(bb*o4+2@{cov5fWecW}c$Hhm4-)ct<@<}Dc z^P(Slh5PDl5Ih|Y91xN_NaxR81_;@J#fDI{y*-HrWpVphz z18m^3zAZL4B2pPH&>la(z!Qoo&+5p!nc<=}oJ$ zn}sYhy_9yxol_6nhBkUfTsa-z!6wLyO2`lx4O`LNtYrFz5th0Qf#;EkDge z1Dg!(j+Srzvaae)6Yt0g$FjNnd>gYEg0^t@@Su$yWsEf>U|S9dlb0 zi}_%Xn4&&ews^wDiX~o~--vFvq&b}~!H73cd92g1vRXD;z5-qIrA-%%s1^T_Hijgj zhI}WBcRFdtz>90ed@!iCS@vqr&cV=K`?_v$L{bIH*6MBCM()F36mgO5?jfV?cKhr? zUx+g5O`auK%G<0jO~IBWMT^@@ru_aJJ}bD~!xdBxJ}kvuHX&hX+#pz<8}`G%8ScO{ zwB}aW>O3&_*(U-zEnC=DEsBth7=*y9(x^Stg&|L}SdiF^8!w!cmQI!aSoT*!OZSrl$>hIBPS1renU|f$qIdBa6;}u+PM3!FA zwd&STq?C`4B1*#FeEG3kKzzB}z6iSoChb%s#a|A>{)f7#+S9iqAR|8Cu*0zpVbV0rwvnd%m>5qy zdEKK_hZ9K0a4QOj&THm1ucdDNADnPA>m*}c*DhXj{|=S0OK#hX7wCJbnZ^5`;no;i z%WGU(7JyW!j$Qk4u2wV3;fsPOC010=wN^3zGfE zE4I>C^n9@Q6)u5hk1B{Wv>witP)76X`X4%H@0#mDs<(9w-DdAAQg*g~!dc!j#qQ*6 zlPmQ)CcNIX<$X6N=3xJI(0@~J4rkDVuDaWbAq0(^0mX9@;d1LS;@TC6s5hw3jbriq z*Y9&(FXo&aN<(+3I^9jYiB)?r``6`qq`aFy8+i}E@fr`}e}Yez>(TN`JX+G`5*ZB; zupDZ5#k8?67!5vu>TbW`ePJS#dIdwZ%d#UMin}a4kMcwlMcs^d3Tf*Fl?S zFDRVUeIxjiNa_BEo`a3yf7Np^F|hv+)o_c(PtPHS{Pm+6Ht@$sWGYwHc1)uWTl7aM z3yE@yC#Sm(+JeE1NQ_7lPobA}ar^us)r*ZqNejfc&q1gX2Xo9!PjU_>3MI|%iUZZ^ zhSOBgWoR8r{uaCU0d#$J7R4;|H0Hpm*yk07I5VxwIZlM$C2jKH8Y486PF?7 zgXIJ2g8!DF>55^ylm}8mzoo26={|9uf?%{s1z-sq7 zJ#JeUiSIx33nNAA*UYdAnY1;fc3XuQZ~nXm9LcwuL3tf&+@B%fv*`A3R5$fZvbM6aj7x5jZfY)WqxO{l>pc#We%L-fk8fcm@oZuu!UNVd_UoTu z7>Z1d8j5bQD52ca-(oQjOwaLGW-Se}O)W|d^QDD<+u#EPZR-r-om+zZ&QNP}?M|Q_ zgwj!B1@7s}P*)Ha@7o>LWP>#mY0muQf|aySkK1gNF~5BF#L6U_%2r}0MoDyrac(X3 zq$IgNY(Mc`G!B^+6(ucYb{$)YZD{8uq}}+-$|pp}$F;scSz25e#t>DG5e&GBkzZCR z_hHZest{iWcc{gp1Y?*Y3n4<*fMYsXp5$GyW*|zN2(b*=%ky0jTtdc;0c#8YD~^_* zCiv6OqKqg4}Q6S=q8l$d;1;6UF4)q30iXcfJWf zUourX3qu?O!^#_cEHJ5`q(>GDH|a4s(*Nq`eOQP1adMZ`?g?i#G83LBM-i!rU#ftF z-;g&l4VYr-q@N&3gAuj zre1D#8j5m>TPH7={j2dztUcRlG?uTvy03VHN2dwjf=Jj$3{hcgr!Jr@MhJ;T)jO2h zC)$0Sz|eDaucadV#1IJ6Wz{eIWk9=YmzM?oYEz!lE&PLM@AJfUw&s>PQY4@IlEQcx zYQxCLdkuHLnsL_C5~5~nkT@@?#OSIB@tzXhgE}xd~#Ff*BCINA@@U1OnAYKn*-S@9H~to2&va8be2B_2U}e$uAq5kE6U z>3|ve!8elzPRhzQbWcJf2wp=THWD1opHs7DWLjFI!cClr*W-e|vINqp^G@J};z;hn z?b9dCb3ZqVZ`f-3I(gR4s?YZ+NH23mxKo-^~Z>qc+`A8b(<{=u% z$%^8NL-1Qsi@$FwnM!=5sK?TO;`jPAE1X>>WDAXf#GVTrg0tu0mRnmVf5il~Ug6y7 zviWQ<1%d;c9EYq7ie$J$cloZG=M{EcEgunHTH}hb?v1-Oc$>0D!I%j%vW!9h ze9hnhT`B0(rfo!vP8*K<^8Ac=!a{kBY78uE;363=+nEl?kguD?VCWMJP zQVsx$!+et0Wuv*J#D+B$=#zh3QWQkq5O-;QgHdM45F?g3sKEaECJ>G8X>O+Rf6!eG`{+ z|CscxM&M__`MoTp8@B>O5+|bhel=r(RfUn4c&9k%!BR+B7B+TyijgcF;MJCeRDCes zh@eDR;fyQS#)5NhYwRR-$;34gS76*7E(+z-qjNwzZ6MyProyx87nP#x_=>yeypA$i}vkZ~1Os6TQCG7TlCtiGjtrdq_mW9r8-i!sKRaEBwQ)7kyol_+6Ta(|Yq!GM5(C|)fKYk2%a)0~ z)=|KO$;;i%?-Swn$nI!B^^E|q8LR$JwFcw=s@7oszYv8j9Vt7U-^e{Mvwo+dbj3(; zWqAuIf5ELO;9Udsb6V=X7##DdB*}%MbR#242>E?K#`fYD;w(~jx1I!(7muzp?J6&- zDt*nL9XqvjW-z!PKVO>CI=8&<96Um{XLM~`JEzL@%+e6@(wf>HvX-vA+txRyx3~OO z&-8x846YMbQ5dI72z7J4Gc)Iv%io&P@-e~h>&>7xX(wjio}sogGrBstc~jen#n^Op zGc)zbl}KXM254#FNtG2?9si1heLYw5v$&UtIvDvSUKW1L45vad1Ed|=U3u~fa(<%! zZDvq#`J8yu_ybQ{WiAK7+>CYi2^tVHugr>t59Sj0M6u}JRf={4r{=)=74tpJv$=5w zw&%{&M!wHM%P~}FVk_D->B^lMKbVYDRB6?W#>_*}vMofJ-k&AC z``Y??m8{>CV%VI0aLq;Tw-WOdqa}CV)rmr~p2R`Cg^6i_bZb@~FwsBS6l(oUMg7}V z5o2)>w7d`&4uRtsXhjTyyfRc`0JKDE(JaJKqvARMk!@kR;2#(eBEz7DdzaY6$I_Bs zZWXLCT02iOUv-;Dd?_e_L;io-L)70CBVwlH85JZ&i#1<<}73MQw3CiJ%hi=gRvg$^;6=30?}l3~K-)MLHss z7UfNZ9}V3MKl(xfE;gPO2>^}# zV-_5%yJQ5!O*GKmr|kpp+H(>Sf#sHt&a}@OIMGzfgs12CM~W1!*Jg<;XCdBWuVIp@ zAKt7hiTd)QP)^g_Gq*n`o|(+5R~uv-5A1S?m}+Q+63kQB+~X2AHCMq>iP&3yIRW4Y zMR>sB06hcAhxvElKPnpc+%#h+05ZvH;s*nR|8@Ajn0EsC^NCl7l(DCwh(2JG{4(yV%^g+Mu zt!pQcr}?9X^O8fLuqnPix!(g2FUPH|<>F*3Kt_a+H&zdtkC_D~EOH$BR5S)u`q#GS z2@PYsfJqGi%VRqKoKy$AuA{vu)km-T(g0T1Y$|^ZfyG8H94D%c*b>5{tnT{~QNsN- z0M^=+3ry4-wgq(29lXQ(QPCiVLAFCu-LjZiSKi2o|Fv^KLV?yuaR1kOLyq42UypEX zOpwWCEw9Qjxs29W?1}>#cMzC>ZtgN!MJBn*(DaVara-->(fC+Ur3ofKAjCief|XJo z&z6v5s=<*zZNegm@uB=PpN>)XV%^s2Z7*T?rD# z|K-J&9B3kZR|l9O5Mdj}0f-Pl&_yvtM(>`6h!q2~4I>yZYOZ~o3rxoEZU@v=3$s0; zZvmA3^O;l%{5w8%l}9k~V8C$Y8Y>Z35A&Exv7#0Os;Skf+5d^QRucfShaO0zO~_NM z8A>FW+^$WS4WM90v?Y4&XH+JlLJF))j}gVCPr%GsqyJ7Bpye?tLx_)M^-1g|MBT2` z`CioLh2Q7h?iR_*7x(K?51_ic;1{5fd;X}mEu13@OR)6zN7u+_?4sY0H%hrxIT(E8 zl$HOFMqQg`p4UHw6+|!6tG8aF5+*vsav~;OuP=I_iO~bUcJOc~o&tD75OLjcD7Nl< zM(%>h_Hah?U-MNAd8on9Tezrkzo9*1&O0m*f^kyno#dtdo-Ml}8*P+N>f$i(ykvo_ zjv3v6J$HhvI{dNjn;ZsjBI+5EQOc<;_x`*B8uTpDLAmMFs>YNs)$>pi#_e`$ugq4< z)?LkhwnqGDGFA`KjdA#U#;+ZO+run6Y-mk*z0;sFjLP<=1cWm9y(x3>EjW z+Hk)BlC}v|rj)gT)VEZMgwwZ7>ND*PATB}q%c>Wg?gLDf!*m@GD(;}2s`45OsC$;& zOUN;a=>erqG)Wl%PMBWQsE;0NB&2h^*HEQmLd3DrPEE;P%+NspODoGaK^+3txAji* z>+0gZiRNc#=jSTnuzzJ_=_VwBK`>_18Ax$wUXP7AioPweCTN$0HW`i%u%4zxXwpX| z)d=ab@6X2Lg*cBv5{TNJ$pR#}bOPGV$IE_|xC>bKxSdG?$0?ja|8-H~)4>V_w|A|I z7!|1(NF>@nVMB?)9`DIgha;nN&R3WqW=;0-`hv&cd1tGgP0X@Ru>$|lvZL_BNYZ}@ z^Sl>hjC&(!C2&svPtDW+&K1qf&hbAsYNxdSU%tDi?+ap^z4O#@h&_Qi6JU{v%BdaD zI=1Bl`QE?vWE=fZyU_Cg2fQ^~R{(eG`{B&qp@);qo`1aW>{mCdYvF(RZhAdj_^K*| z3#d_K`p%EH`>m6>iwOeNwycjOgQm`2?~m6BAcXGiEBK4BlbJF0ogUKO+&r}A zK0maBVnQjGg%D?hC7i_QmTMd8#U_3H)iUhu6sIUN`=w+QFr{7>f+3-p_riP11e{Bcv-O# zO5kC^f$32F$try?bp8MF-MzaF|K;~E{>F;EM6mkj&_+>L%MJm&KkFDmQKPoHn>iM_ zY29ko*iZ2CH}~6s*C|4^xKL#cJB$)~ylUHFHy0rMmv_(6r@cd)H!vp+A#UR-S6A8)QEVB0K-0O4u3KGral+$@Z6i@7BKH3u_+4fHXDQlFvq? z8&FH18E|laWdPm}YtHk$ zBn^Uj@gDC02`JqO4MpI$5!aUZ(S1BwDvI(Mafpy9l>q*XmO~EcN-7vF#;*ykx6W_{ zgs?OlRxlo~vkxpH<92&h9}Uf4!M*0;>MQlE?a?)EUFYwyuTo=Y4Wsv%X)3RScj;zf z=hrpS8WvT^3NoOZ{y}JBkdu_repZ&(p}q&?B$Lr1>5ig+kt>8^!<|=98bL3eDP&`| zL$GZY1|QlRdpJK%z`n~U`Z+DdKiy;vrd3_pRn2@bW-l$&7?QOS8K6^}z<-jL^ahMu zHF~zc-(F($j}XquvHuu9U|3O*lLYx^(}KUiN$JPl9h^Sf%x)P&C7ztKK&xlg((9F= ze%Aq+0#nw}QqDvw;M-Fpoi;(Tqw-=P=MDmrnDV=w0f{FwnB|xuWP@zK&@!1(QeZc# zgW+oQ{9uwfRRD_uFaaYvm`2FYPT&@F%Yf()NFwX5HE_X=OCxiC8y%?1g8MiV~>r^6+xA+=rC?n}G=}rVm-Lc9=T*#eOnhB)V z=4R0r{0VaD2Ux+#3}O=jkj%Dtnd&+|JPh~_^dm?uI_v3RQsL-(2Pe?PZ$vriVaHWi zL6}lw>_l%Z#9FD8?LhF%!AeySEqNZ^7BDzS78*zyA1(Q<+|9s_uQ8PgCH-Qmut*Ow zdCs>L`r{|~!_eL}fST5&o9k z6|2GTs@yaHsUNSM^`f6XFFoV%FK$!`lPe>u_I& z<{ru$wYQVtnA$!L2-))MuzUiikY++Fm08M6oow55mem6N!|G+Khf-npxKzkcre}&% zlI}5+us_^HSF^(P;jbGkU~BQ651RC>o(Whaw&EM+gfT=z;dj2k$;XQuCSh&Jk4b5D zChKp5Jgk7D;71)(NGKwoya=gKNW}S%5KweK=UBTE{=Xm|q z`=bvz9hR%ke#dZCU{bYfEe9(k3vFvPLAn{@<6MTf3MhAYXoarJ%Ryc8@YgA@{x zSLODZW+)V@-zgJi10+A**$|ajz@G4;w7lbDyLUJ?kjeRxZAuV#y7T zjeV2IH8pb2+~d9Ehvct@6z$Mc9eE>ynSEuD#lq_HWqmMO*u%3$T)q6)7W5^6JDLcP z6A6xLn{!BfHJCcAnW}4Q8d$25x`YRpKyr*emxSH8M*Y4$Ia+m`1^%B?$WHy16|0(K z2IeV&m@-t4OSWiL@H}&+WVfrYmGmSN@?X@I#`BR+gT775fZcRf>NwVDsq{1|tJv%n zEAencSfPZ-B;8wJ`Vw+epLiE^h_!x;x+3flLCmBrMIfZ|dP;7tAZ!Jb%xh3>+(blp z%U^;fFB-MOiv)MNDP#Ek$sq+hxlq>&1{aBvdsj5uKH3MZdAGWVF6dr!L?;&LDar0} zWp4QHGIt6)XT!Cu5>CL>6|j5|ss86vZqIDEZ2KIvOjsZl#WZ>QZS^=3B>L>R$L#c6 zTXxjc3Cb*+s_hZ1OY-(;eI)f7^? zTO(XYN|#nr~e#;u|&>>bZClv0X#5&upwM~oybt)$jQWMTuMjVp6D+Iy9mX&uZBv#USN zuq6J0o{KKsCD}~B+}$`-B=O%t1S*You~FQF+;*)@4BbjQeQ}uWy0{-bHDWbRj)w*8 zwl(0OoR<@3882v9mImx-O}dPFa1^BxKybL&UAPU;ATiT5U9XGHyVj4B&Tii+%uPf? zutf6a53hGdCvwE{(hvekJ0(7M$EdtQy3xrA)!4Q=Nv9O)D7RB9ZtMw8UG8$eX zGI%M40wA532nnkY6UX%A=5q2y9J%=;-QI%$`#B@W0CUWiAotv4HF!mQPRl39DH+tVq< zPSZt8IrSh>)m{D0kpqIC*{5~emuo&xEN9i{QT!444GTZbfM4Dja>|~!AdtPEZR1)8 zUU%U7y|$#!4-1J6B>Jj0`joJ|ohYBlNQfMrCTZ+12GQY7Lp`mtzEw3nal?rWTv7iH zK(a%0)GO%IFe>f*d*<3(M|goT@PZ*V=eR#!L>pJ5IPtjCs8%Btc zxqb)T`eo-o!?F|nJCnKam{ZpL=)zBGsm;apOTHkarRumdb{60M{S>ciV5l3`@*^|# zR%g=r*k9#$b>X+Qkvf7OYPsM=LD%lK)Xsyi7-kaMvF;w5qjh-G2*+D5?w%~9f!dJK zeu!B@cP*$Qdw3|j-a{Dca;hnLRo3CaBwfZcPePhhQ2yTp9IGexdZx(Qo z5)(ctoqQ@`hSXa+6tXGWW?b9M?U-u+BaKA(?=`b?8Rr}HxH{flf}ps7ofKJeAFNae zC}Cv6f;Y@>K*2|+UXqXh`OUe=Qx|H~o1F4@Qz$_vTKX8`x$T-Ec`&po#W9@>Y?Kg= zw`>nfDrKJogyG98AaddAybu!RcNU6)^&U#4egY!)xP~7YnfC8NH(TdlWC_6JT;|$I z{_yXSI0;W=p61Cz1!4H}cpkcyK^=S>JA(SI5f3;i1ApHFUWeehMEG`Lr|G)j0ZlMQ zmAwAR)-RaF>z{~8Q@)@s|BXD0Xy28Bpj#T2K)=j9(hOA!YeUT7k=MFE{l-7pq}{Jn z`s)&_`diy8MV7Eu*9bBagiu8^tQ|g&XENyD6~+kogz{r<8O*6%#-a(7BdbXK36+a9 zQ$aI%r!iXIBl)ZPiE9kPA;IW%?!SeT%lMufg1X()CC}bo!N69qIhdE%lda?Jgu=l= z>Uvc1tg)zHJVq~&1TSH^Bf~{L*{SM8&0b!CXMAIWvrSmQ`6n(;a*9!L>l91)L5S8g zj64p)Hk0~j#xfZSfIGwSg#n5)$-B?sRx0nEvX#69<_?k0QYbh_|4oY%Qx)-f5-4}= zq&^(pZ?jx8u1K9GxW$jP)G%Of^LQLTQYJK1KKE&*CTL@>mpOHHvX0W2Y2vMY{u)nE z>24<8O7Yf4udx{@vUj$NQRti7H_NRyp{(J<(#kXfYy^ia-cp)q)1Cpi~HccJ}%qZ&yk5X4B_;tE8uhf5cfUYatK*+TSX5v$2N5sN=e zn7bRdi}w(|VR>C*H0C3T=d&D^vN(PL%9-f1&dyCfwibo>@^#-~7f`9ghF0GyY%t z-WfRA{|D5osqr(yg!o^+_xe#3jlWjcLnM&E92A-?qM4Yd!nmN#B4Z+y^F&l_)b9t} z%u;W}?2#!k1eEv_IbO$E1#xogJ=%v&xx7A}-t#YSmxbv~aU(NXJ$9;jv2yHbLwB9t z8p|GfY)^M#Pabh?y6iG~%`>?TC-i#tbzu-lakum+iJ~;2Mu`&3=wT3kp9ANEK__Kl z5F>SDK@eq8gCIar#N_F+EbLUwi4+N@Wxv!PkA(+P@vMJX-V}H>J9vauB>6ci?i?Rj zWtu^`%g46CAhr6ZyfBE5hj@$H>sx{1i2V_NkD|m|aakn;cEit;sN4utcDGRnkjJzQ z6y$3ichVS0$B(990-L}A3<$3Mfh2_uWH`)k^+}(~%!R*1hM6(eq*%c4Djicvo*s~STS$d%a$om}V*W(y zNM9;;dz+JoYj>n&mK8Zau|y_5X5Y$-L zgh0)fMJH|3c~Q$17&oSm7~RwN2SnK}8{#Hdy`)>-R#tR#vY_5jx;oTL0loir*i!|P zUthxH=@RwG>LC4-g}&JT9tCU#znDdaUe{G>86daJx;-K({F0ha4(L}g$J7pY9+#=;(*Ra zUggDH&A@2zMMa1B01}o?wt?2TN99mroA_l-J)b<%5H*e!ERKs>bsSk3R!P@c&|-v?GqP+I%yhfF z0ag-&D6A1Ws6@5bAVG7i;%xu%T(*ah0g%yO4c2|s)j!vrQXHSqA zm)S3LM9)Wn-3tOrQW7Kq1*rx8WaGU}l~S4#JvKDe)%RC*zC3%)*!Sq8x!9}VmoLbs zJ45IY7|iKtiCZlwFW+c8fcgf2pKz^(KgJ_Y>6>FOTK6sIm>B(tsR1e@rpneAUtBM$ zm&0bIP2gZGo(paePf(ZYcItNsDGzHMWmK|C2fxODjJuX|{``pzqCFX~W%sC(9$IP9 z>lFoJ0ll^bUo|#d-e!_3J!{bdq`T${Ni&bETVp^>vj0-V3e_*&yW*RlN@$N0x zCO^zk;9xJ(jgvi%EK)bcdZ*Iq*HIEW2Si;#?p5}oMRYf|(d@yq+tit5=?N3jY&DiB z?+C_+4Jy0uAl0OwMi(Vp9Vu$rlF=vZ@qUyg6f`e~f8nCOpxOjVMxV|ImIRFgO7v2i zt|on~dL9Nerx7r;%97WVV+02?^NZ+!wyLk{PQFeJFnfD*pqoC-CDjx|* zk97aHP*avXuz!`$WVQUdhxB3O${ZzB>=CkS0l#X7f*p0yU}v&OTRon6Yq`?qu|sIQ z<#vBF8MnKp!DRTtrbrJCf1%NTS<}^a)EwFqD!cp%W}gOn)C<{cQQ0O&SP*7+*P0_d z7yP9Ev2`fhWTrQNY|-;v31Fz)+;4IAFn z+em`5Bt?yj*PMUl0@M8GOy_J59JXs8RJ=zc&{p>j!&M?MC|IJuG*rcy#*Z1Lrd^q? z#WO1dP%4A+V*^eQY`Z3|7<969(Nz}Jd&L8W4*HNwdVXyg692dU^M+Xl!I!~DU_fbA zqEz*O1x8(YDB3aX?`A*(e-1y7$)U(D<^jboaWenQ=%{fvxZ`Aaa8Uz#ClBVBzR5WT zWwo|X{Ugo{(OLiKBpw+{bePONR9DH7%^iu^#J9~SA1{{7hhpu3Z?_XPfKFs zO7}~fdG7P%V!#UHjzmcCKY|GP$%Fq?e*7<;+l-vd|7ZE}qk*v7WW)CPDL(}C^-KdZ z2dhMA*MTM0QFZcHosBN}K!*$s<8lP8h2n3oB zW$c|goojv{w4P5}R*yfURDlt1EApX`m5(bO2Ijq-yl*Qo&TgLf=l>p!pF)Xr?0sE4 zgmY$$@ir&hrU=BoObqYT>n4cH`gAgJ)1&3u;KvIeJ}sw~_RIf+v35 zyl=W{pATmeoS|a+d;|LQHg&JQ0e!WKMgygFfuS4kaOa+h_B6lK1{L+bJ3jiiH#d&3 zlAIe{cWR&5i7;>|K?C)n#j0ZD6EnFiePAT>CG{(-(BD_YEa64BSjK%1&qHc{CaSGU z3DN|#4aRcgbRi0E{5)f3&uctpd_6x8+`=clJ=_6?GRYocxrW|v_J4Q|qOKHa){ipO z|Fv8;;OnFyM_lZx9XVSf3RZQKIaOy!VFU$!A^pl|VSw@pa0 z+vs>kJs;m7Nd0MN{+qA*{WynSP_-39)ydd0B882mUOCa~39c8S%reAxACq}l1IA8b!fw@kjambj|txLC>CYf0BHB%M=I zEHt$(HSS|WP$FFuc%JGOK(TLVN(1w^h3C@`ne)XpaEEVsx6CMv?$J;~;=SK|DcQ$uwKgiK8WPLtMN<9=QTy6z@ReV}AtqMokuGFAkC{h*dmy_f_lBfbv zQqflMAbmMVinf$LR`xU04OA)wRfJxPo=*@2@Jsot0RYOFeF3&U5_hXS1d_sy`PJ9_ z);FpfonEwsW4ha$Jy)PKnpE8S)LtUaw!fXA1Mss$5pfY8us$;ngMjiathXtTKnRzZ zhyx+vUtbqX)=)|PjmM3nQQNJlaRRVl%&OG?EU~NMPpb)o6$GP2oyv2dxnNlp7xYB- zY?@RngiomB>2m+Qeo8ki9q^PsF>MJaT;YnsNAOFm=?qjlqyi-obrovwothK$R~G$c zs!|@0<*&U&XiQ%B7mCl(B_61ln%t-uaGt*aR>nZ0atpnX z#vOtc5{)Kyem7Gv5MJNM;QzP=744B#`8EY^SX?;(Ne(K;o;&lg6(-}T3?DC6LHrCy zPYNOMT~Qebd29g-G71)r{K18G50w8Ntttpgh7A%Au8v0nCU2C@vyVtZwG&2V z3~u;%_`v{Wx}E>@wST})z#%mc%$UD#E1)6{^Y>LEo-hzZbGzVbtM#*OA(NCDaOTfE zC9N|FD*(Nl4T=<<{%3R3dR>N&9Z(@yf6loHFb3||fM@?R76D>jCqFy~X%C#97hgCQ z(WAJe+pZ78V7)&-r@`|UYDz)yfGW%`jQ8jQ}P-@Z9`ZBBCcdqlhyl+|hfYm#VbJ7{p( zXVIRV@#*!aznu$f7t0Goz@?FlbsZGm6xkKQoGw_hBp%X?6xC zAsAg9w8Ru~HQjf#YRz$ox`zXia3nU^Ti2Z0f=S++ARcj<=~j9mZ%!)Ccqbzm%;W@= zs*%Kl=@(gc3+1DKF8jj zW)CUy{Vb>iYsercG~nVu$(R&y{Yx;y9+ppmgq!73xoztG9#MhjXxTfqmK=5t$buDZ z>VqCpC6j#~QBU=+3ZV|uQ4j9{ zuX1vxy&Om`fnws^OZnWJvC2P1G5V>*s!iXBI07K*iqu7~>L%&3H`Qafiog8tBFYk} zxO+Lh5GaG03kDz~uN1);NbgA26)g#?q0G`s%g54Nln~iMvQp`fK=i*xHcF`Y9L=t< z{b{bQ<^fdpRB^1RY7U(&NQOs4AtFs9@-n1eq=8%_vQvR1e+zh8(2_FT5=`H*-~`l4 z7ltx-J-^od!3Pu+3_weKEkGJ5=VVw@nLrH6+zn(Il8B<Pla;w}ie zQU=s3XPaaeQkV_01BpXyGt-)a4#+r^T0|yX7STfn_bQJ3Os8T~AQXgP2|E}XfTI9E za5?ePklFw0O)qy~=I2)cZhN#s7OJq4gxXxMGql}B_bX{X^IniFjtIcC;5=yle;E6x z7+a&Q?HVrIwr$(CZQHhOt+H*~wr$(ys#Ra@H~-21Bs1La7Rw3n(m4J*KO|HZVlJ?)f4Is75vXKcpE4Zt~YH!ahUoKr>+_v)z4 z3|tLRN;%MAb+`obfRI*fBjJ;oUq{9!ivWL#xRH&aqsp5CuC6N2!&08ZACp*7JCf&L zWwt-MNcCV64X+x@3C%f&S%hHD_(3j=9VdFMlkj&Y6XjTjtWDb)Nj2;-5NGnZ)w(ny zqeC}22xs0h_~%@NEnA{)mflznu9J7^@fPcw)@{ILmfh6wii zAB&g46;yl`a4@>cyTZ3tI>iTvaTrx6V`>>HE;{VX3`#=GF+!T>6{E62N?#y4kQqkh z;*|2HWJ{VRYQk3T@lLC}uwi-FBNaia~ z-${Q*NHRi{t`OiE5}Gsc8B%F`#sQL0w#%{Zppp^6EX!pnD)KN+XNaT*0XLxrTy=&v zFXeEBxL=+5gK+RY#E#jVi}mc@wItyzpHmkv@H9Xvq|j%wq_A_xY=5FgeZhKQFU>6KJN^Py~m%zOJZ&ggA*J&~czcK}JMp7rMj|K5uOU@#5wQy%_RR zzMg-te>wqabqd_u_-WIRH|EZF_G;_&1lNArdo%5YCm5~Q4OFmW`DqoHXhCN!`_NS2 zuly^XBeM+`6v9Ez{qOzL2fh<_6a>+zzvh7d4viS)OakQ^C;g6Q6o4%FqA-ArBp#;= ztl{vb0x=wmYEn5*eWRDINmtWTv_}({*5{{b!wa3SywM|S{mWn5c%$F*iGE~8hmTIz zIF_m_XpQBsWp4G**|SwEyDrtRVd`DK>&-sXUR;oEAEqho1pUQ}ju-0>#OP2#i8nX( zhgkHk;WIP{z=BKfgLkj2u>pc;=O37LICED&hmH_?I=8YBB7~=EdM$evVOue4=D*Fl z#IU~&!>7OTSDDi+BBgXDM>#ZdjkR9mgvUTI3gaNBUM}1^yui5A!q09#Bkocwf{+5| z#fdn`qJ2azUpDHF;Slz4oK<=*_VNB+zw*2wAH9uz_6o z?G#wYn1#?^c+fq$j47_sD`Nnik`)kbBp5{p%JJXa%~B}K(2k(eNZ3YIs5j+l$r$gf zJQFumtNiC72T#8B>hAs{kjOJY1fTNk+88JfcHnU~zO1cD!n*#F#okIU-%9WIZxmqL z8+RlGx$pK*CT4!ZM=6x^x1zm@NVW zvG@z#(a&zAn9)zf2r@wfRp>p+xwK|0LV%+NM#-p{8Mv+;>X4%;v`d6N8Y4PGaOzdDDN8SlC|#Ry?d=E*V4{Jzma=jFVz8<)l3XfrAXhEZHD0 zCF+IyW26!Ii52{IQkF_ zldjA7Mkt>y-(O4qVvWy?wR1ta1mMnR7xn&od^i`S>yU^1iXECePyGduYygEO%Rx^- zFtP}LDJN#EG9$%<0^}oOv>1qo=Rvds%nlqCkVY}EF@0hVZV;4NzYvCq5lac$VKhi_ zBN$i)YLAI!3Tk+~XGzxo_yk-q5~MRxH*flB`SSfU{k}S7=}cF;r%3CX9wHSyf9sfH zpsQQBboe@`yTilj6s`AfT*Rc901>3XZCL7@y@^2ZoJHQXe(W7Xx{^&?;I88 zS5q+e?)(31G`bV;o9i?JnHUZoiAd#_G*#@Mm7LsbYh15l_B2&Y07}!P?Xxy*SPSE? zY{UR0@ild{S&sh-p+e0md}OCK6%&xvnMC1SnEW@cM3yl8Ps?n$b%A8onXs+S8H0+p zG?jJ<*U)j?{qbpzSF@A2S`XR`oz61~m`3`+OlU|M$6#ae1cL<`uHGZ+GL$zzH(LDn zGwp7iA!91teM-3cVFZc`2w-&_X*P`>97M*0kti57`d?C~GL85@>v5)VWvbJ++H1nJ zmOb5aMLPF(KUO*{`l*6Z-u-daT2TMnNopgZjQh8zC)3%~#%NL+G6M3IMvXH&EL^-^ zu48~VU~Hv<0_jGl&J`1o#6Yvzj!=WUdSl!oJS$BzY1ty2Xu$pg2o`WS^07oVLTpWC zHvszk=HUc@Hg`6(T+|q#&5Z+0HYB4M$vU*ojRPGXWiDua%Mc?E*;qPCd?TuGK1mEC z8`H2=xa*U|O+pipGF#$SB+B$;D2AP059imy6v|vcMLVeTR5%l8gA?bpjEPbLW!g{- z!4Y&s(l7cHq`v`lsH34YPpK`46MRyQR47xA+m3XoV}fJ@SR2L>H?1iul3`%&AUfQ! zPO=WEgX##ARgsk}gWzq8$rvO#*b^z4V*rl_4HLbdGZ6uU53RBTg9{A|iW%Ed>m)KfkIIaGbsn1-p{?O6pK`dRmV>#}bDQt@~le4LxcN?FQM>i@h0(no!& zknjydyixi z$&$N_GJwY_YCEl5zxiAvb$+pVR?*K-yWhPaSHp;Ph^`3iQnxQT4VEpHVB9#|c(w0u z=F`B3!=3?fHI_}Agdt*}tjuDj0Nt*~{kK<)z%gNQj!n#2xa8|hn*bWjdt(4oUBxOy zE)&DVo>Vv{g=;;=i+ur&~(-y1l$SZ(dC(**7py7Gid^L6KHB#pUT(? z=hf`dzzAlEXc4o@apA@yEu(`<#M79mX5r7u3 zHMfnm{+vYeaVg6Vbk^4vxriWony+#$7r$1yq%kQ5WGaRsW-#A%7?vc*{&VszcD+8BEJy~cKnL0z&E!w|sbKphxYvfPsmu6kP!t?>O z{8!=Mx6QV8u)yFst=WGj4g ziYEOsw1z}K0vgl2W54OB(cd;=b<)R9@N*3_ahN(7;I)aquV($ZOhc~7<2z7Uds~25 z+6qe_KIoLy4o&E+I(ja?2#K{|Cj=>3cnEx7_^54~R;}!QK_{_&lg_oZJOPOx>rUQH z^4yL!%}i=>-mp!%rv-@Z%Q~~Fl-zBAzvgf17uAkE9KbGpZX~B~V=)P63{_+d7-6}a z;dX-vk*e%iJsTf{R_Um06(l6;$w2MVWzh(K7 zU!%XWRP9D0*Wv3xP}msJ!I%rjQFx%T>EcC!osc73S)gq^+S$Y<#mGzU?#N@(*s#-- z;bii+jTUzG?-=C9H80wAU!Khv z*8}W7U)YY?y@S+S5e%>6PPdeN{tX1T3pRxwwdew-+_htjXx$GH=+;<-~=4)hM^r23jXBw5z^Z)W~%%!T_1+JFwyJXb~j{Ii0rC5k4*CTz+&7iG6P2M(yF&k2Lzhc2W?__@O&j@Ss($Jc@4^vT}q;yp?kHvge_xie0 zROHzx&;39IUyMNrdCwO9#;2L+8nK`Y55-_1keP@v3p6jE+raQ9rpFQ9B^700aJel5 zFj8`70vDBtpB=1&NU(e$s?HNfKM`vUUQ-UEQ<1hOIK&m=R-HWlq|!Xnz$XA};4O-H*^ zqE_l^COq!JT0(9fd-fR9PK0_Zjd}7_k=?;lEgJkaZ#XiOl$O}VQ9d|ZC`4w7wV)}B z+fr1DW|OI-#k;Z)tRSN(`3fS30#;h;M?CmPe%x&Sx3l{HW}ataV*fuuu{Bzn|Irxu z+2{WNCwe9Z+iDe;TO)v+?#0eWdKf?=5SsP0=59m5urQCCoxsEsgHP^55jK z!1=7Gb?x=~&g}7gOa1orJ#ohWQ6kKkBWfS5Fsb_cdD%y=>FWD(di!bhH`(O=(9X@5 zG+^93s6yj`!LZ=Cp>BN#DZ=j`O4A1xnTfNPRAyOTUEMmYgCb;C*0#4GN?dP!m%pBV zPk4oYS8u0In99Sx0GN?1&K>V*jP$hc#$4#l^5+(6-#omBM}J&+zyI!Tf)lP~B;*?_j=INYf_J%D> ziYP}8?2B%ChxP$sHB!g(p!}N-L-rE-GCP^>|e?)JgyOQujSS_9x z3x4YX)u(~-i8aeaHI%r;44#Eldv!_i7_}*Ak;`wW7qI2S!O^h0n1)yG5U|>g=JQ2Z z0kqRNM5!n9d=WJz8B!i7OEm{@Q~;o`!SUd{%Elh_h2jB9D~wYEYl=1N59Usv1L%42 zT#eNphjC&3I1H`j?c}s=#4sWo(U_KG{T{T4FmwAdHOnUm4<2As8$NNTo$e1Jy>>9w|EDoQr-fj2Bi>AeMh1xk6NtbgdAs%g+HK>&HQIxHN{Gi>X~JaWwQ zZe?T}3m7vz$`rC%p zt9hu-^;E0|RWUX(x3PCbE+2|kVsSlqy6c);68S(9S>?hP1Wq8*s!2{Oraz3_LQ$HM zo_m-EAT|ZXv0n*~4aEKBg#qA};otQ6j-j$X0kS;#{5guW>wlX46Y^{-ZHmwp=m`0K zfXFAy(izyVaHhng(NXQ-Npj6XIDf)Tl4IEjcWVMwu&skwa}K>DbPG_rXhWesi5FN$ zivqhz97KaqQZgnVA?xY2QA!2qo08c0$wXr#ZGiU;3#02o{fsnOMMEoT%`BR^hk>=z zzYUP~@EK|Z{eLu*Cr8U8>aJkZYecG$j`ddW+gEF65Z`%jGK*;b^^<~}2%c81h7L&4 z5c?cbv5FAN6JzvO%iw-_&1{w<>6lzp65)xnU4;GJ zcokFOkOFRWU)vA_W_B@3tjsqy;5}_lxQbmaDY(G_e#IM$%@s0R>S^cuFYGo0?zjiV zqo2LS&?b0~sk$CMqGuYY>!&;mvvem&J7%S(rR32*z6H44Q6PrH!Ski#`=?f2&bPu$ z5gD9l_ntVR&8FC*^RfYd^8H^QLMR1Ys7b;bUTyNZPdcz$d9x62E&&pP`|E?o@Yj9* z@He9O!CQLXhFQi-2#K|;Zc#7xynQ?+K%Ct^yhI{MR6%&FY4&yhe23H1uXC&=Gag($ zKvm)8#pyeB8v8Tnpq}JAXLnhycGVQO<8Mv7F_R2*;9BN^%%iN6A_ya8LkD@2M#xDx zEIi=OPJaW8$)-br9uxx6T|CnjM8h*~gtSy=kRa$XC~!6yg$#xSz(^nQ?QHFn2NJ0p6pX9DNf5*H7SbV(F%9JA%<+t# zw{L=d1Wx|3CvMa|60m5C#X(@DW6v#%eQ<_sOB&S{c`?trrFr;m;w15yWxAk)i#rA4 z^?sY=I}Nx-`(&B80Qt8mu1jRj6CHpX`)UCB&>1lvmSBqE)Q`QZXH3nYj=k_SQuaR6 zyen=t;JmQAIq?cuFmm{*Pp{)u$jj%TZ}-_z2DK6Ea2-(F^77VUR=%1@$475@Ox!1} zvZ-)#^000@Us63*Cewk?hKq|E>bal`(pKlSv)v}@%YMcW+%;$&YLO2+r|-6Nps{@V zBWP;|sv;lz3Q^G>I9h1BInPYKB$iFRrzD~PO@vJn%voXUkp)#$=m6O&nxCMq0vSS< z%Ysi!8mJEMBOD;YW!{GcpjiF4@g5P(R}4si=G+cUpad2X@s4Hjwi>k!ru7p z>^`6J*R`xFD$j?*zox3TwY_$IBzd#?JL)UnH~431KR#Qz{_EGT?pap;{_g)CE}TQ# zc6ayGx58hzJYP;-AJ;A^*^C)7Hw! zVPYObNR_5!{zM*T%$hoRLW|w;U7EZ>z$N4A{<*!}xsY@MQ#8rY(eu@cER^_>p!4VB z?EqN&;pFAS3r@_iFwCDvd03*-q=}k!;=>{R9hvScIjqnzsYInyM({uT$sh2Qm}@tx ziv3<62v@1PQGzhZZ5UaULMt&k7al^8%0OW<-q#u|QA`l7h^4HUdVxRw1+!SgohC$5 zG7jg&;l(CK>gtk@{{r*<)=YjsWE1c{9wH!xv(i3cof!IMMlb(}|4QB0eRW+P{3GK< zt{TgWtD?UeF;6nj9y@e*TE^yc9ty8ik~PegsIHh0Q7W$v7>uf>BY*j+YE|aslbcO2 zFSG!#3p=2TK?^|rydW|rmCGrV(MWu73ow&cTr-!Omq?V7OKzqxOoBtNP|TE@&x4gP0O_50(G`BnmaiTqh1^1z6}YD6Dcn%G2$85}UU=P4r2 zGzGe<3opxHZ#L*T8RuCd44NR(CYg=InnVt5r^1wS%*ptV*vhm# zBxRV+LzFf#MVX1sr0WxuC~0c87dpl+fLov5&}f-+C^3x+1rQ-GuE9isO8*m?z^H3t zA-5xuL=v*XlwSODZ>J)$u_8sCG6*DvGQWKQeTt5!0qsnuOK-~3Wk3az@REM_8jxaA ztt(6{!Za-6q+;S#q~lYi>w!Q4t<#;zQ>N>?rWn2XGA-2EwR7u`Ar7E`_v-Zs#+`}8 zmPRUKAN3d*78&5s28#{|?$VA?F6wU*N1iU%+`8y z&!&bO3`fsg8?p+w?p`lU?W1^K7+PwIvPo?5H+r=7C_1b{kYgYL2y}=JPX{a`<_Piz zk;f0S<)(F7*dYjaVCDuN^z_DtW1k0X1N{lfq+8idvKF;6)z8@vkfISX$ zJ&7XA;8CZU+=&4)V4j3YRn< zEZNYyTiM6QODLMw`1lEHBz6bK5&K5#UwCN2Snpi9$qeA4O*od zI{S@GJ-n>^C<#nmCo3_fCOn(bJaf?7JX(2@?_0;#!1$&eeAM?(E1xp^Wr1WpWY8U@ zXtvzPgMO)@JvVf+4Q7pwux6!>nw73kLmy05H8}<(1`s6UO}D>Xftu> z)}`1*_i+_vv8Xa9nGa-sTi1yl3!c{abEecBh&9qh6Yzm>!X*9IhqeOCA_w7Mt7ar# zisZz<7jZq7FocR=Kof3s&XSl++h&`7?ai1H$oSNj&LMN2EMLsayzl~C8h4KC`<7(QYOPnaKLpAa7S>K7Tn+dgT1r@>^nKlt_y#jKiV<`VX2wNLIh5`$^f93$`9tfwR9h$C(n(l4Nr^ z64HX>6C+i&#j~ug^w6WAP!A#Jp0YvSlWZ#(o6dLk(~y&x!qJQyNUR%<;8bx{hhhCc z8&wM)nHZk%(z*`u&Nyp3RSOj%;!JIE*0%$}oKrj)E^%jNkvBU$>BRA`Oz-Nu_Fo$> zOwT%WUB^fHDIZzwpR&Yu`oIGn)vvp(Nu{otr8JeA*W&i%tS{VoqLd?npn!q{9&6syhSI}bdMKTWzuyq znO^Bz;5&U3Ds!+43lJ*9^_y3TrbxIur0yrwhZa+KM#oGeZEC*l^w!(}?Owm&V!th- z<2dWARFJ2j84q6pCdd~-acmI4RfCVP?L@c>+^k@w55mlg>`%pDlkJKb)KU{`8Al{vc8|H~-Y*v^ElNHS7ODT1%$5 zQ7f(cm?Nd}n<775UdFoQ7W^{!lyQaM;vg^0 z{uJjhn|DNV_$`rz;$PxlatP9ZcV++FTp6#*Z_3-_7~scx2&9??<(@F#)a+X)vTAmi zclHQ4KZBkx(QSZW^Q*zyiCf!9B;b6ZkbyB10fLMHMn%=cNc)|sMhIha=>g3`qoe{3 z4Ag*JC>?`u;cUXm{o;2MA5%Jjfu*N`YihPJ11+10>PBkiCANX@Y?}<&xouENxoLdy zm}P32T=t@60Y-f&@^ z^<60|)w*FYm1~j(#!a@7K$A5>x`hbol2j9ThA_d#?O#g15jUNeW-|jqN4XIvS&(c4 zep3J9@9-FBlAO;blRzDNClD5E7dmG)Z{s9jJFFA(P3ojr#m1R0VZ=B1%U(h>O2S2? zmP7YVAh;g5%1#Tc+qEv?}V3kTkgprhyCeEZU~Ev zUieaafJy$BytgjpyXw#VC)0GKc>jFtOnM}Ipi1(El^rS}q0u==p`W`R6||2y%RIZc zapsTyBR9K$wAsNAI5Jnpe=FwyH-9S|)Bl*|+W79%mhBiA_ByAnN zp)_ZR6&urH_KhOjijB*QVycSX%H;a|{%DhPF^W-@6%CD{8+#CcH$vmqmraf^gpfxi zpTE%ib_HX#hb`+v-zf=zn;d%Q2on_;tPnH-V=|~hW6(I7za^6$V~|11GI)o)**g7SzZV7HM1jeM-B-&@n(_axbI@;KZ@ z#^|3@U;ZK9pdgW_f=eBez7SX^Js6Q$H@hY!QS!DS1q~rG14;~WbH6Q}qHw|EZ#^5$ zEW{hyBUP^pv=}pS?DC2Mvi4>ia6T}z@%_GqI{d@QgX7^AQy8WAYa3!DGK&m0TvxQ1 zBp%IE2{M3;k?kp;WPsJfitT~lpA89Sp>SNEs{4k7;~=XrsrV!slV`%G7?ni+vAj!!IZ**K~!Ot45qeleZqnZwkp-ONINw}g$oewP z+dbvjXP+#!)~$Lj3>}S4mHFnOZ#^Q>rOsvc+PmSWR%Q8i@XWER=DevY)9>N(y}DeO zE4`QjmqJIwGEP!1DKB&iK3nmHl((%F%r4($OZr#ZB@>#KJ@I}p;uJRUL(1~(2~OamoD zTGZC?6tN zIcu5Q&*|}ppZ^jqK{C2zWQbw!=|(t+kfKWv(-h6vVKm%>p_0dR5fGJ!*p+U(y^(niDoHm+7b4qHa)5Meng0d0oPT zG~!mZ1FLADGCS!m`T49z1 z6fo4xHNej9gwMCSZ{1YaR9QMJeAmdRSa@5LERZ6;j`Fb|gSWwEa(iFfQlDYr3$kE! z4jIkkALCi5?!x5cHiL3@Pk3cRSu)l*XleO#T_Qvm4%@M_gVRRPBf{|bv49SUu+?nu zq6ugwM=LOn#i#N~y*Qpp>)m0GdzJGO0>$q^83UjgzSYn9wFCl7f1)x1hj#ziwo3%f zE&paLRRxza-Y9LWeak>pcta6#BO*s@m)LZhz876o1W857ymirsJ7$?2QjX_&R^L${ z5QpPod#n+0XDAkV;fP9p9+RlYDt|8YPQbca9bua)ic#LV>`+iwui36FOx{Wrx*tYo zYJz3pL4QU)dIJ->0oqM|@$wCzS2Y$@Db&c@FOAO}l}4Z>nArvUQXVR%s8o^(exC@H zsA=$qG8G%{r_`1qI1h8K{~fT79mmaN;54f!o1@(WjDe7}TAXs}eG;8fBx}A~k5Mc} z$#@PsJOn>V#IJT@Sgtz&Cr@$rb13T8OBNBxC2y4vqOI|uqf;5sNtK+pVN>k^+@5o! z)hn_&>?~OWFQ*2peGgF&Cwh@U(V&t%Z1o|@`yQ~mR#dJhr&ecIc=i8ViIG!S&rrSK0$qVV$I~=h9X^Z!FbSN+>(t`<4&tq;k z`3;9#wL&9O%c~?g=8d9kWN^S!sS1DJ!p|4SRRsvVs_|Eif^g-9nE(Lwtyld#;q_lIzjq|qcV{2Zj z&$f-NeYWB`uEwo=BgpNedS`6~EF5QW3y=oazGDSB3!YwsOveaUAtZ_KePw7N;xBZ@ z(#yccRb|iG5Q`aVxn)r8f5jy!Wbk|Bo|9!vC`8v;WVAo&N(?_h{|dAF(0% z!zcVY=X)eXXCm;CN`{OAuf?PBY6UuBZ}HfC=O?3zxVNN8IYk4$j_kuyaJh+Sr>1rY z>Pa1^F=x;0C3JP!bzSq&aXp_-FFUUu4-2xB=hW{mYpc}#b$0mpQ`Ol&3boF3RqN{f z_Ixhx7vx=c{>*H(9q)v{9nVcgM~J6EFi-7?=v@{3OlArfA8lpPy{&`9Iq+eEK*iRfl=0rlTum`6X&eZKy8tR z2A==IbzA|2B|9>}o__rwD5SaMz2nZ|+V6Y@FVJE$$0tnD4O8|+zFr6ufok+xu~r+d z-tiPE(v|)+I83>Xd zi%U7Sf|2rGks4LIPU`XJ10rijbrepXU&SDX9oO>t)83r&mH=5QSqeE_#;D3**{A*S zVx&rXfc}F&vM81B6*(%UsPTnCadgzbqrqc?Lu&A{?9$m6(4S?(M-@8Ar{VYpnAM9z zb~E{dsS&{_3e5VS-<0}R(cpjI5z=cJKzEld?BQWaz}2`&F_Z#+w3!#E2<8e;VV`}z z0^II`Av8A=BOt{vw_1gD{e}u|OT!~2p(2#Qw{_it zbxA4*F@mf_oYUF@zKH{sI&%fnDerB<#jC6Co}MUH7EI2RmakgmbU^Jq-;E$|sE(<@r!v^-C{^WN zGKk93!cZNwiSB};jNX-Op2u%~haK&1g%(*qI(1cTwFxbI$Q0ZIv7EJ#ns>9c6>GaU zw$K14jX@m3ykYl9fvT&!#RGDr<5jJ9g59*gfOWJo{qSo~?{lolC;QHG`&Rr!=f#`z zY943PlJ9AXgglfZXC#&4<&Y>VdzCYr8y{~;-01KZuCEFq9r-1&T;?~NKo=C|-=P>c z!dW69*>xqKkFe&w7lOmd^at;Rl!ehDw)Lf`ET>K(&1kUo5!en{;(9I?PBk;idbKKJ zN{tAP%KoY{=g_;Fy{#%grAXZ#@^#v?xuz|xs7z@na31fGQzd&x$y(f7u4KqcIba;A zz<+ek`{r7H*Xu6J7K{5pSs6{zow8d)wMS*ke47Hokx67kOLtKUT)~srPp}Wj0%giX zD1f``w@Xr3P~}+jfU|pYj{zDSCt1U1c^b9FvH_M)7lPw5^8&Ek$iM9alKm}5O|LW5 zqCxdiD!Ngwl;)TUN~Vf2#|6ZS4C7ifje(y`_fZ`g%z(;uu&(TYepv8#a9DC%`DV82 zM`+90h}BZN0xcKk#s$Ho>(w$C+Q6BO_FB@`^?cChG1pA#Wz!`&QyH#hjaLKIA0sC^ zYNc}N$*_-?b0K_I`yzNxNxnL-EXz&cfF~??il_bK-?WO>SC{5trt$+iP=5v^8q3$Z zh~IN3!1GV~Zc63NSL0(lKhkpWy3wx*hytMvGA+mll*bMj^5jsdMWl?>_m%SgT3H?3 zzl)!eYtK>|=X3v6g}l(RFoIJkzFf-47Yizx?A(B;0Lmc*NDT@kpJ*ee2)-=aOYU%2 z2$hKYlE$BS=E%w=60gbI+1wGaOd(Zm2HO2y@B99_zbuTvJ3lQfAyD z5)QaD&y>B^oRj23_QxLdjPcI~-8;s~MdE%|r@SM{d%p1jo}2Qv8!I$36_Ecgm3CwyLw#*Q6_JJvoCkb!8+f z?HcjDcC4tU?VXUh5R(~sc0iEF(pgei+Zg@5LgpnI;wU(zDoknDMV(tf&3s7h`|DLU zSCRQaU00BA041%J;0gqBhdXC8QhlNsMNIP2w|EGEQ~8_2ZVx`EjBtT@xcwX-T-GrO z7FU=_z{TYHq-klEuL9d5g*77kG~Vk=sh46Bt#s}H^0b~WrkTVO?jaWPg&{8!Z~cAx zW{gK@;1UeOj;AQ}>>a{_b7!)m0Vy*Z1Q;!x!2QC)cK}J9qg${hjX*W7ikU zj$NCyuNgb*tep{HxVLbX+(Foh=Z?-zznG zePH$>@o3q)&2x{x(3#fz=cMJQImMUEbHrozLm*ajz|8J5PIZEEDPklyB}39Vo-S8B zUg@Ir!(Zt}HFj}~^(b?mIpoT`oxup?6Y3{sUL8;;BQWVYngw>rEBYsoQH)rUN`!2| z4p4M6r&!Ah&gj(F&1}NFcEMxWk~4ORDjBPD5Qf>d>?dP# z{;sogx5Sx8YQO)6rT))a{ zw#f2v0K^J&Cl<>NifZfLez_U|FIuB}=2`1lXTg}}pu0^cax>N5WfiDT$}%0=bytHkp7Tw{7CS^&BagFJf zUvLQf8MM~QK0av$;M(;3GkUr9iq~Z-8|q_dH3U}GIh74rdW}(|K48DIxc}U#Pbg;> z(8}NCi*J{8l^CeU;JE|wdXTRuvUVrA#ED#~s*aRfBsEg$5luaf#J@^8q-)XcrBy=H zmh|ljE#Ec1lVVhDt$!zZ>;rqw`ZI6k0M!weQk*YL;PLHH}|-uOh8wx(?K zGJoqUh4ZY5GEHJYdfOvDgyCO;bNfby3rXb}W|`I(wy*9^XDPuDCLYf+v;wtO=|P3f zb_T@l%%Bi$qIkbY(wXbpuiorW{6Gj#%$`L&*K99{?LU>>nCRS*kD{Wr-46~{FMvT& zVh>VK2}vHGi9gQ^);qV*dm3q6aP1hkBRH76V=`jmbIt8PkqgS%h%&XI^mDKSAi5Un zwrqYkU%Y@gH>%tL48F3CIw05$57-icDwx%0vpo>r&BA9QxZbe2;-a77y55(2E&K@M z$|Az+LS(SG-K+?u=|FuYn9BQ-O2z)`#=osB8Y&74M?-WoRV~~rb1tp4T3K@H<0eOxV&Bpekm@+N<+)?3Q8&HOm0R?1mcsFsvlc=x z>2s&Q1`r4MhVi6KXgXv#k*EA$(8$#*SRs?3rYn#;9)q?3Ep3WTz_a4O3fvet5kdjW zM#N2U{A&CX*Pl5QsIXcaQ{DnB@B>`GT{S6bC3DATe>Xh;AMYknH~|&YLz?!OtL|vh z0{P=9`R&(rmFHp{pm*|RJfP)r@}c)!8aN@Efz5lqU1yA)BQNUX<$J&JB8<*DZ)cQl zd`zBQv9~hN_XZSC8GPig10BaFpgMBh53e*H!nZUDrMo_#@u}^R)w41wz zhB!Qz4+iO214gJ@VR4}|tHbryoeR=j&aq^#f@^x@A=xPI?a zW=grBw=xXZ_ui><2%kHePI4#x2p8!6w^v+&B%oYrUIhJT!N1AZTmjp*Z>jUENRHF$ zA}sM$$2(T?7&cE4?N{2H97lx1eWV1OCCS|Z9aBbfVg!8v*){^n<53jH{N&0!b5R31 z8N{-pg8prc(4X)NZm^PbJE!cnjM^-+`MqIp%BQUrZHCT!k6=kfwNgM zhYRgnGr24P-2p8#!$1bq3vm${z>N)%WypKVV?GJkJc^um6>D@Xkb>Sl;iK>qOe?O7 zh;Yz2GlV|)@3VZ*WYi-4gAK!V_r{l%4y5VAHY((hnrdf=E0z!?HC*lzeZZ3OZAB!)buaqqy`ZzWV?_3+2XqadPQk^#BWwMhaJ6YX}B#K7u%S zdm*D)qw;RULhF~aw~ndWKo9u;7<;D}+rn*aw`|*X)hye#ZQHhOyJp$8ZQC|x*~Y2; zU!0t?|Ey$PjWN>u)ku1J%hTTPdH>n;yEel+HqXzX{b^vmw8qy0KI)$sU*CWPbat*j znPqUcasHe@)8k_B&8b@kW+ye^A`OnM$3-0+(eph5kA_VPWSmRcm~=A`)7syHNtVIu zsl!}Fcup1<64@}mAf0TBt!otI1hPu3W+V1ee!U7QgPOH6!~*J%wYps*FSFmO#*~j{ z?=bp{Ic@2usho6L@?o+?*nUhw66bhX_9eMh&P($^a+ANO0L5Np1W^W1#3*!aDmfK?VK&>`^r z1FlYASMi^w>Hn^7g^`~Af2|suHKl&39YPQIm>4URol3J~;?FDD{clPwy zX%?G_PFiKJ?R5@bLl*o$BDw`mx~MF_^3dwbQWiLo0>V@{k*Q7{pa}IEvIilKNKNiv zLFyrca;7*WVR$Bgz`v}aOW-}xrPt7QZ zxJE`+mVQ!|oq(YTI@Cp(lB^J!JrMJP!;JI~MMk`R2KMR^9EgD1`7LPPRK{!**cnewTaf}7D}q{6yTF|hBB#b~tj)CHe+Rq?k_ z)$#Q=$9**jTw$3Zr=;CIE08wXC2GX;<({#@$;ePhxk{T6syr~t>G{j?q8XI%@BC0j z>OHQ=&4w9N7W&6j@jpgIlByzVjcwRjW*$I$^ZzuCT1$ARaE~CdmqzWz^Muf$gHsZ1 z8~niGuxrUtKi+_Id&Ydn>`n}12?^N%t-wKsq7aBt5fDZY+f{;07>&*oeZcU*G+c>* zU+Wc{ygE=^gG!vP(@*Fid3mO;uM{y4eB3dWBk*TT zMQhnw0|MP;6ETR=sPEI`U5gC8cwn^Vtr|nBRE>CozR85mwP3YG*gkTt1kJZD(yN8_9T05C<0FQ|$bj#}jOYhssY4TzuuN9~IY zc-0CZT_9(KJ|xI0%`%BeIA5khvIH@b-On9>T=b%`E`D5Munf(+z}^(K6i8x{R#J_> z02q+_sgDUDZ)=WWoT&@qI*HY-fxo9JIy*V+uz*>}uu>KW>ry)Cz3M+9en{U=y@c|tN*gJy=;aF{&4LP>1tES;IJAZ%1^tyK$1Q!pBlKEm$D zyfoC83)P*4xFm&SOW^H0O&XJ(}(A9HYxP>61gK72atXk2yCQ{w(9Uf9U% zlQ$ySRq~M|9Y%t_h59Oq|Dn;@uvC+2A!?{2(Blk^Be_JpUD;`#2Gy-3q3?-|DjnoT zxh|A}IL0S}s3j`$LEPG!g=BM$lT0zbf2q;ta_*U^K(&A@xmq|ZpljRYW$W5ed_g)w ztG~TO@i)cSN9ROD8EsQ1O9Bdq!1R{tY6G`YcDARkg?g34M#V|Mp^Vt_c-QXXWR2}A zC;}7hUR7W#4L5wCp1hJql9?}B%dcxQ0-`cbI|p~oIzw!6X(I7l@6O-U{B4`XIyLf3 zeG)q_=dhzXPiNFGv8K@{P{{rXJ%=-5ySEE_YxoYwn(f+4|CVQhQ-3V%P2zS{-Ft+) z5h8UiG>zoG2BmKeDU;LY-(iV@$-&M&!Y~kGW9}PX!Wu%wHc$0~5|}mvcB8Gpd0A

    Q*M!j)sw50q z9p9yu^U~%^%h_P~D&r zdrRrN{)g_O{bc!(#Jic~3D zYt0))x*AG$H*UzmZcmPnyClAu*?XE%Khi^q9P?LZ zQn?(~-!kiW()HY2o$bH5I$fub%v;`kzjbWMOoox9cREX7cIQ z|J3$BLBf3W7ha=5I1c!Z20@4 zC2?-><@W1AN6)a#m_%9IeTT-{Ds>)5)vCH$Me8Zjv_84#Kf%oUQ$?ac5y}YzlOG?E ziV3`or`dg!G`;n7(u}}tarl$LAu)8Et41}$3E-p^>L?@h|l36 zJS38Y&K?Hm z70Jn`6fK&l94=k34HVhLClRxRGc@&aIh8o8U3gcv=!jRULdN18f@#_z`@@tHHNE&i ztFreYp1Mr)O|Pr3^4RHw(8NpE^bjbKYVlimL!V$VuVZU+~ z7}AV5sLwHE8n7Xe*vJ-PCW6gO-1=>lH|$3yJh~98rtZtwkR3-p-zicipso@}U^Q>1 zGtwG&IQs*V8PH(Pq{VZY#8a`dO`}&8G7W#R9VA&yH0ZxWaBUPM)|U845AOg}$@5i` zsahVSl`chD@${suzx1du;@WV6J^JNXlWDd?=7H(TL`Sf680|M!$>va zFL`ShutPCwa~}D7H;t(0{TBCzbQJ1?NQ$a*C7l!HiV2>uhY%?YrE>h7Ph6fioo_X5 zA!PM?v_LTp-6v$ES&d8|bw5lM+k~$GW^yP%RziUKgZn{*qXeb_#(0vNTE0juqp}>) zB;BTZl-r2~aq(CQWrIP;CIR@mWFl}%6HMMzrexp%qn=Saq9q!wiDXUN$8*1 z{Qht)J(Lyl!W3`e{Bn=z)=Yue7BFEVZWHes+euCGkmepDXg;TND?m?Lu~hq>{rvX3 zdyLK>2#=Rd(g{aD_}r{bDxG_gd$1b4g<=hF;Oq9vv%4=gYmcpgm{Sg&Lwfv_@OD>( z5PGBg9lmmz>O1yJRCBC~Pd6h`!7>zQMvTO_t);*&#o{;=|F39&k`9KVXj7lx(fY7Zz$%0ZzB zvgXyuRC{+rY&YG&kCwV{sUwWv(_0psZZG(*D#r90@P};cg*i?P0@y;$Y>NeE9DPS; zE^Z>SF?ayZ^H91HfQm@)roZ9;N6yx;0k-AhoI$$K4`wmZ+4|J+d8TZi0OZ0_c4CNa z2)!KaK!lFDnhopEju&ts_Vr3z0E73;gEoj3!$Y<-pnXR5+3pXN=e4kzc+Y1-?$O9c zc&_)QUb`Ctgv#*Hx^8JKPj(vuB?eI6PNtGRmwmy>Mt3G+-D5}%c9Tlj9MTHB9Mj- zZ8Uw?tel|uNP-R@<&Shc+2>r+eae6$iw-MuMB(J>EICwqRY(F`m#rkmT0ix6eyMpiJSbdZXt{6r<5{a?r~Jc_kI%8c_~|5w%vm zNRESv^l}yg{h9lZ&TVx_*IaWMm4uvty2LM${RCt-ui)z0_fKpB-LC7hf<{ZAS8)a9 zH21dmpOPu55$Uj1q55a)}+sBwg!2DvkDxiiK%3B=f zl0Knb@gM&Ff-fG{m3bk0eA9A78qt2As`XKdjcY*!t6${C+6lOHWweKS0p(5$%kRwqawpet z0pQrXZ6&B>HN>EYIKO3==#~{pzjlr1u-e+>@+}nZC&%w7OYQ;als5b~n%@_Yechid z0aan_CsX>4n_AS(G?p0^^y_Pc=8R8x6PBdgx%0AV*m|Bh;2ms7E@KnEHGP-JRCsYI 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

    v8OS*wKOtd9ogqk5gYJO1j{&9 zl=|2SN19T3VNY$*i#TS}0F15bcr4;I;S_3cQ@(T`?@2r&fnloZ!+k+E2D$mnncBq3 zn5T5Hur!T?R24BLi;<&f+sYY}A~eA#O+yQiefqhkf7xw|Sg_tH>EeRKg^nUf;bE31I8LcfanYCKm9U?1doRE$sUMn?rRV~)Iz;yRmCefNy=rl zzgsqi#21q-)gWFxEGq8a&l``fS{lI|AaD@#@D(;+%|=)u`VKP1>(8U*g5SGH1@Zpn1 zpe*WUPfW~bc!g0fVirKu&QsrBbDiG=!xtb+m@nx+8~%;qKbjr~y$Pb}DPOxU)(2@n zhzDAuBaxksfTE^Tz6gwu}td-i4ch36U<3Y>@L5(Ecnb;b0Zja4Qs6$8+TzX{9gN( z(aCdL2ilpsL+HJnRuog5+V-p&?nd{`xHBQBDJkv-Rexe#^H}@mwnlFRBtS!EgfiH48j0M#h zD;^c99*&Lnkk(y+>oSQYu&-Gps2ZE=Jck=Tv89$-!ZKV%y)rz3zZM{tzV;tW$3h0v z)5LgVmiV?k!27@~(phjutJJCm@ zQbk=OK$l&2#)Te7QulvYIy=vE>LR0w)2%D415O2WLDEZ+(yd2{_Q+)i1alRvT)(f|B=2UfOoLt zS^zA1ExCffv6q^_hO`BFywGAwiX4iRkJ1Hp$Bp1*M_FBCoWB2q%rtf63GC8v=1vsq z`)*E32))3@IJ<628arhL_m&su$c3w(C#r6&c53w>MnB|D8#UK-C#D1cr^9sGvn7-; za#)=UX4@`~%%qy;6j@;bsgb2lhOh{)YYbA#V*T)gSQT4z>84%ts%?#|z|YqRX5wQV z)psEioiCRB|A*+pC31HdwD{}5$#Y*DrF-X#n@Wf^_sk;x7}Je*#tnfVRa33ugYu)T zv9gT{FzJciF}#j1o5F1J1Qhocr)7?y^sOaubExSbLYxt2S+93L}vb;Cbz2R1j|bDeye2YL-3I^6<#49 zg-9Gb>^$NTG+af`&trpH+HUV)h$(mavVm^2kNw_7wMD$W9PA*4R9#CG?S#TlnYSrhlvyHtp&qOb z^Ro=d8`ZaGr4lrii7K@u zC7IdN*V(A=c z|BI!=cQ^;m{>{>F@$nh$!Q|Hs?6!+~L%9Nrq8||;NihwlIuqLTdmQgbOsUe$C*zeF>!Y{mjIss0VEzn z$%rHZ&r1j@?vDy!As3>bG=qKqLR@bMD47f<(dLd?8zf49j>zu&&H}{Vmr;Pa*@bU^ ze!H22@w^v|i$fYgk)h#WN-vm-NFx%)rzjS|M2_F^3BDa*^|S(Wtit$4`QM#Xg9LHX8m5IWqGovI3Yv)~b!2j)OZ6U~3; zOU|c)?`{sWongnoVucri`LN@CWBc|iy4;*1c*5()w1WeC&Yf-cNv8&Goxlu2_){%X z(f`Lfyzzgm!_RJ$ZVcZ1ak~4I%9x6OXhXBq55GIjNwM}N9z`sS@(5lL4~zGdxb(*l zo6v=Mtq;3Ym;PaK654~&8R%VUP>PkY+iCSaZEkV+C?B0ezyqQp{Eu_E0Oyz%TD~zL zbmQG%k_`f8U0wEXX%NgBLThXZI-=#mvTUi0lSBjan33iNK|No%v~HgSMKQy7^;CGgBGnmKd#_B9L_DaBf=&1PnK5)f z>7!xwS<^5{Rp^-EzWlHo>2pBg@rzw4&S+Uf20bdK2V1E zf+Az*@X0vEQ-Y?`4_beWz*m!Ipr-i9wYaxdy~dh)6|prIQ%+eQq$Cutclj?_i&0Xd zF6W^;&ib$zZg#RzgE4nICp}r|v3yMMu-~fBT-8%kdPK8D8!~= zP$oD~vNG>gWqik3)7rE=ZC+M|V1Jvjj?zj{p>Krb1>8z0QFI(%U)U-Gj23INxY@k0 z!OZIIFieuix@cPH8rcVmfw4}B_4+85TI<+i(2bdHfuOuhfLIq4`v-*YZ~3vdwstM8 za1P>#(Z*q+CU{G1>mYCLPze(`&N}!M{cX>Xe;EwDv4hO}$)W1IVI`)vEqaCnnCj0M z!iETCKAIYkunGO8A%3VEM4!IQR-A>DVTGY`>2{WcOYHvu)V4o{I@mt%fSi5K+LI5^ zU2XV~`sT87@Ob6J!HuH;BlpTPe0JvBYT>;we=giZLvv#X9$+BVF94gAV(`ii(2Nw}yY1jcBo4d~r2GxXFriqO@v#s+F^oEoBpn z>y8?m*2W}RlDEok$9NIR212%8B{#RRW@->Gild~t*m7xGv1!gM7>Fv_L9(4x=y%4; z`~B9#LT7BtL0)pRb#-3t8|=9yLpLjSkRNA(p7O2>85EL$Ko5{na+})crgv|YHoDM1 zo#O7bpkrnPdC68uA*%D8G*8{jNlo@rGMMz`l9$g%M>}$9n`k5F5i3LPtEhX7@TldA zW5wPc2yNRhe`N(2{Pa0!$MW52D!1v&nER9$OWU?Q2&!{HTWE)UszzCs!eyucrPOA@ zE5>}2f|}V2AtQ&Q+wJBmCsAl;Ne4k$vhfFw<4cC^M1ag(?;*4MRYU-04*x!*nY zY9a|isCk_O&vmg@UA2tPA`H<4k_*8jTfhiAgeHPKn`Pi7<8@*WxU)${t7o+&kmbF< z!v`(@_@ono1P$A9@m4Ig%B9Bu$o3Rrv9-NylCo-nEmPsT-!w&FFO0^{E5)XE&Qy6v z?v+Oztx2hi@?XhKx$Ce$C7r3RAJKp@M#}E<_7ilqW7K3+*FW*%1q~97wBy2CrPa3N zvU{z_h7n+9VVpS^DAriyHtU%FhFZSY!KeB>kumj$9)O7VU~3XVdx;3|A4ye=ood|670)uaE)Fk8cHO}KQ0I7XM1}T zzsegJ8(kgt&cB&xs-gTcrfAGneI=Ub?sTmV(jg~9@1yC75OJUEH?_l=VHXa+sTf=V z!ZCN0E$#)P?4`p9=j?TAosG~XGlD~Yh;a1)Xs!>!QifMt3<+3UD@7zei7F6HH^LZ9 zc7R$GtwE(VMEYS)va&uSRO@EdhdY5GLT8h-GBBzHsE-L&-9V{=pC#j#V{&N-Mwt>@ zHLcq^CmB~D!*hSpYUVwZd}fP!JB);5&W05pAQbFNe4J^v#6h*oAmAqXy{{!K?;lz{ zLJP81&kIV0T47M-uRwt#RdzJcCapqsakiEZN*P>@e=2UQ3H%l2%usIHVHOt$AgoVaU?54g{8V+ zg|%71TWKDCd97KkA@7m*1K~!V;+AWf0>a0sW>l|_RSb|jA*z^T$&@CuKt~jZC($#L zoBQG7YK1LRl_#-zvRL)LZ?Ya7_U552+Ef8_&zA7DZOxU~)Nk@zK->^EC1SxNqsusK zVz;1txZsS+IQ#+=ECxsZKb3(j|5s%o8w=b2t|r#Ci`xf*SAjq8FqE9Dn$b;kJtuaY zX#?gQunj^1w&rzDMm#WOcI`S58>h{O_fuP&ACJ|4vnXVeO*zp?__u&V-p{J_QEF(- z?-L+6F;qcn;Me>vvw%?n^Uc)OpysuNR!wQ+Zah z`SXMQ<*3$SOwgb=svqz*K~07#y=#%l+Q4Yg`#K|-xOJwn)AjSi`h}2e_S*mM6*E*G zwLq*G7{iLz$P^3d^##c3`I(mZ27w@Td1#RFdG@waJBlcUitE+;S{JeK{W-MjYXfwS z{@I^DKTf?7+5uiL!5H)u{+cKb%JWRdAnIzRo##6iO-3|K=wyU&do{)A>?{byNmmjr z^5KH~72&D$Dne2i?_H$!IBFbaQp^-88!r}u5r%bbK?D&FoVt_UZg?poc%V2@fj&hG zu`rs{{{>2uaro&gGkQw}%Bt=8*sCS)aJ+GZ8DtxGM9eXHZ%26kTd%7jj=otOO@k8c z{ZxA9D&x~oE+uk_<|m=xaCHCMUUY_UOcUqH?rdaNf-cISa*MwmIdQ0^hqmRQUVq?f zsYE-lS*63WVmAze3}$}u!1LPlPBuW!8N1H;=W~#4g`F44jM|+du`m@PHOgqqW-v%0 z`e%zT`5RnKB$U=tS?`GC^G91H-uaD^KBIe`AvPp$O89=u%^?p$Cu~`pV5D_8VAM(D z^9g;NQ6u)<0`VDE7S^29!j;jeeC@(?-|0z_Z!b^59m)GwIEtFYwjkuL|Knjvn2ocx z0W{}WP?>bn>9^uR=IGQ*38{t0}fga3UD?MPUvjOh*XI zaa6g=i~d+gmm>(CsZ;!knj$GJr4o*!Y1U@l0o^8Xmsp~FITw}emn^0qgbCA`4~JO4 zU0{ECt+A!~u6-#5g=BiXk;p}Sn?GbtQ4NNQjdoZ;K4Uo#N6W36>o`k}Xm!*-Cv`_b zIDzE%@?%^ywUhkqD5Hc_##=dggfz<=e$)QU0s)n()CpjJI|TQjI0m&IumRmTj-?ZX zJu&ji>DAdg1g8UPXh6TcRja3($(Mg(^f}Wk@zaTmiy!zjBF{r{dAU9-V~#`5$zjnf zs`jq!0&eaL{OJzIYe=~Acf#GOvukSo=!*7q-Mw`POImsAJmi!M-RqRn!MA*HAc3~v zJh6=!-o%*rJHjLwT6%TAgr^&;x?8*(K5MYsh`g@3F%+9EeHCl~doZ_Ig9RhE_ILMa^vnRYe$ogzD>#gKdSvqld&Vszn6m>nT)ea;mFvK_dU&xLVN%^=0;!& zzP?6NnmYOwhBPtqyL~X^Ukue&RzzRE0-@8A@5VH5_#($k*~z$V9u_Tr&K}Ud^Pagy zSVVs->#5=~Vr{J~){?H3j^-cP0*@hHY|&!lfY=uDYzsBo{|{sD6eC)+t?QOK%eHOX zwr$(CZQHhOdzNiumhC#V&UxDRW+nTrC!>#-k&%{$zkUBJx#OLNH@AP)C<|CGW)*sp zgS30N(Q7*z+G@(t?@5|i7R2Usk;LqWeIhnY+|)Hft?`gR`Igv`@XR`gg-a=(TNqkk zO#JRFE(Ogc)NPX+VMio4A1fDaC!`M?k8pO#cne3)oaz}K>#^4ZYPvLY@PLF?T#h?@ zr0m!{hKuN}!iO?3N;;S!=S^4mlI|2yBUGcnOHJ=)k|N|yyc3ZPvknS4lgQWekRbBx z?H>e^PIM#TjxXJ>kgaM5)=1C0z5RFe=AANn7dl+A{T3;#XOR}_yo$9BbTHbF>4kMW z0(WyeLi$;=!}8%trKf!Vs>+&F=k;eQ@6p{<2(Ti{dnPx8LJ?;^{*VfVKpcsi+iCB| z+QpcWwIVjv0knf?{1R3X)_z}!eD>_e1@?m(MeK)EBG^+e`^g9Dkq6*Urd*QkormcghExK%LUWeDJ|otORyB`C zvD)BLgn#ud+ST9pz20n@a}+f$z@@+%s68S^qu~%S(x&t^jYP&}K^vKn*m+K7{_lMI7_X=Fn!Dx~(R8}kWslKRO8Eko(ZC+Dw>`-qm z)@hIu;vkCTyT$tJOl%WtM?3~>oPbqNm_g0rPoGIo@*9bvMKa+~kYP^mPc!H$;}fcP zc6oJMKwkSMXoi&DVAG#}*r)NJM}ha!G&tO!?~D@+!%As;b_!>24r+>*D@S8MS(W%& zmznq)$QR{JoVgM^6G7=!Mck@lJHKLgx{zs)NKgdu6B!pcLjl(O#4)NWPcdJ?X7}`J z-ITCzg+{ai1a8a#r&3xWw@OxKjq%y;Dmp1iBW_T39kXuf^mkvuGEtPc@Q-KzQz|SA zDz{Dl(J0BB<1PtQIO6 z#SM-L2PqRT>c*lRarS-cBjJS=6OSfTV85L~6?|!@V~rRfx2dI)QLG!)q8R3cT{U(z zH*WEt0`tWtv48PuzCwtVNu15^eZxpS;=PW-q7UxyukBz#>^i+<7e%1w5*CRTHpLg= z&CGS5Tl7}W0d9aMmh9NthVO_V@FkC1=vii??#YK9THr=ID8mMP5=v?9D*Q|=vtwlG z?+pV*J$DDbZ@`X3SUXawtL9IdHf+}NHtQ3gUDk(&^{n`IZGID4c0vB6eL+Htr4f3a z=d+(%I_DPS6m|gi58C)hUKTYS8tqR?__AjyV;pac^y057u@49_THh}kyn-%WmGqqJuN@oc~Iqnq4;F5{+zs9)Sdt#J|B;#P*>y{X8397oIcCGN;$43~k zTJZW;${PjFs38aoXIxdlJFi_8V2q>1dH{o`u80$(e{o$wl!rF0&c5u7x~;9iBw$LFA7X5w|u#&CcIcK?y{bM$J6)zksn+JOGF=gPL~+^RI?%ffm1C8!W$p7K3Y8e zUe0sS)DvMw)5~je2P_Y;n|7!^Xak%vQc$rvX-a>JT3c;OciMVtlb9w^Xy`xUi3~Al zaPx>BeJcm!B^MidbVPN@IR`?usLS+XiF!SU&2_PeE@T$!k~$(opL<7+`}#*DtP5bh z=S9e|(oJX7I27-}sNbuQHst?iAEUvuo^pP|52K+rmJPfn7EP&#L;i6QneGJgF)S5J zFCV)kLjMAAf)H&5pz`9lV}}R9exv5numaG7Shk-rsV%mX1NnwI$&ql48(N-#n+fR# z$FrOO>q%RN%bwOG``h^k`{pb>>F~3i3;>2sda?8_dWlVYeLVFSmGrKt8g`3O*4f8O z<}4a46Uhv_G@_2s4Y2z>iKvtw4mI@SuIhEm(O0p_%P(bV|QJ~cFgmB7T*q<@Ubw-M$km`sUh2>pR%M5zN6-#*XF(i_9fYr0$wh&-QBxw_^y@z5O z5X(5i>N9$+0+71dZ`mPfo_>+G)C0FK5T`-OCw&oP2wbs?{v8TBxNcdkm zE~s|Jsiq@E*tkVCIEcGioHzgGBg+(Ht-nKFy&07=#$mU2^5d?N^k)Qy(VUoY1=53L z!^~~LOG`YY!pm|Jk>1b+1mjM1iIbSZfdEmjr=GzQvuSNTrB=aj2Qeb;W272cO^?`MC96a|__vC#LAfPb+}Bq~*W3)p-7vw(te zR62D@VK!m^_v?1TN~79kw_F_>~>($it5y;=2?ohi2jeel_sdj$=!*0?H|Jv+X z-o8LnUM{V_W>L_9uZA6&v+S}^{zA#Z(xv#IQh^YuSlN%yNN7Daj+#XSwZw_SiAEjHA;L0*{}d5V zDLzbGq-Z>G?2rKsp$MciQsmz7$Ob;Z)d8ZWDVyQx_IUvh5JiFGIZZUW=Vd`KM7jAg z<`SX@t{9@Lo~?M{`Z9lnf6W5B-7q;14qBE#r)FVgrfFP3l5O?T6spPoehG=FYF z%OM*}6U&913Z#o69K}WJvnLocH0sm;ZIlYGvQi6<9Ng>-Ufk3I>Q)tzm8(NB)TIJG z__C7=vN=MMGa@~p$b%Ii#LZe7KqgfXtp4o(c7P{7kHGSkL?kVO6cV+V&V!&~2%<8S z1(hOuIsKAtpuU;J)SkdP#kh8w+$nGmtyRSCfjCHbV-v>gJR|S3v-rnz%oejTsv%ee zTW}5u2MY+#(>AgWh|h#P$nZTC3GZ%bYZA{x%zbGxoXld$bc7{g_^;@A*tl}8Citmso;uvZJ){r+YegP)NTB?lVhMUPuM+qa6tuX zOcVn*^GEv&Ev*v7CvMH0>J)370s?E994WDP%1amtff9mexO0h>e^qte8Fb@xiz>?I zC3*qKyB1Qo}tAIc0!1ao6yOoQ&eU-?_E}#?dE^1FYs;hl|qDMM$P@ z;uzjZBdwNFJvf_WA~`5blHHYfNHHJH+xXk)o8RkU138!p5|tuqIQdB^OAh-^Em?x} z_=jY`tEQ(OMDB8~0Ypxn0ns{qX}pZ}bN5j-!l@oq%+jhvKO_wO1NAZXG6f^i6CG6b zUGB4z;<7^V>O}L6oFzlhW%a#l_U@0wZqmY8PU=uA#f*%A-L;Kh1fm^WhVqkb2ASk- zF-EL_h0i9HHF|bZ=oSL&icm{n)G-OU7a?h0a_cFllRB-PeI>~xj-P-oG7U}^xH4M@ zVAbSIr9BTbsp&%IZN+=QcBoN@03Z?_HYTQ8H67DvnSQ^04LPj)l2{iFBA=^lK#J;^ zL%0xXG|p=Q+59a|MX#cW2_}LtG#A_td5ed^eQ`+v?SQM35UXL(nvvLR{>XeSGa)j= zp|>S;m^q`1NRq+yLBpF{`ytAlpC`7W$uA5)icT~I!jZbv^*owVM09307)2;W@{n=2 zoV=~FNOL3*&J8q=?Pm@d#X@V<`OEgT#!NxL;2B)=!vb?0B>QAzUL8w$+ zZ-LNsKZ@yl`=QN5b{D`DK0~K7e!l~JJ103LhsB(ZbBTB~{B@gQ^EgXQgn!84iUkw4 zyrecHoLc4Ca!yljiWFAQS1a6|!by0XpmlkBQ>p1v78Gt1|93G;(?lO2nsyN8e~b0Z z|EpNf#K_3@KV$u}j*ZjiFCF05aT0vkg>K;qWIqNVW2)q^Tb8p!n)Z|x?{X`edOo$Z z@ho21JGb=fY6O}>3e`Y<;k{Jm#8AsW0z7Jjw+q_7&M!GF>0zK=ST655Zqkt+yNt+r z!7n$(#PzMi&)X^GnePuRX_ElQgz1;wsaeU}nM-Pl#rGwK=l4D6dt;v%J%bW8x!6x*UmH)Tuzqjg0IZD|_c?yO0y1f} z2eLC)jh+0VNbsS#2|M=r9o>c9sNffzY2Mf8!IhLS z>wk!t3JGhM1zqTICq=e#ZlpT%6kR;?9*x_LwK0+s!6|M_T!|W4%-hR`%1NmVL-U=Q zKH0PK9J2EstjiC%rmH&Z8Pn0&w2!mp=&oK4WUITfwVgfXN(Z)bu5)+oST3X?wtu_2 zZ3S18&XJGb0e@RQ^lZC-TaynqnAv0KBfJ+OBob`MMI_||kvanL31s6vgYLTkauEv; z%(P~dnWKrfTx~ERr+XD^;x?*T;O;fGTK^{KZnk-z?`GiXX3*T-N9Za#*YeFe)&QF8 zvmB3_Lm^iN8)mr68w44oW-?59mn*1~Cs|ag)L|DDo{i!d zH?z}JTWW^jrkd&|)m7{O*b<6g%tm~{g%1&iSo~>;mx-JKMA6E!CH+C4vBiecZpjjR zb1qhUJ^X0XOxf)_e@ubb>TB$uH{c98Vy2RKiQ2T#M3KS>tI@ zyDd^={y@kA*5n>Nx^5CFIvRO$UO!zexB-rWKAjg~4@7!Sx{Z`_ZNVl)d6W$km=Y~t zE0%~TRixrclYGZvh)orP;M8%;zLJY>Q$91%8M^E&R`GnY(j&TU+&#+2bCD-w`qd=B z081aXg@br3i-U!4bH17ZZZtS^D!ZV3M!^(017tq7_9+CR1JS7h*QMDi)}rqAAxyY{ zq|QCe8MpaZG0#3zZ?F1P=s8}v&1=#U<)lirlmLqotbK+)LjC+NJ#djhkRJHfrH4v$ zW=g``L{(O>?MhaVN=KChSxP#Ug!mIEasUK*gh4jbu+0(;w)O|ZaVv3qfcSSer+5+i zZ8u94M+VHF9%~Y8`0gFj(|d!XIPQCqZ+V)LrVoX!X}`^on@()~>2mY3JKe-={p_T9 zQ*74JOfdEbXc> zU{O&~FSQ+fR_x@78CYMzw+a$~Ko?9>@OUcXyYXcO5f1=>JdtAzw1*-;p*c}Jrz-#f z8!Q%2k2Gydg8%?qByky1Po1E_I`bPAZchO7VNkC~Q2`qD6}TGCa-7U#>RV_8&glVA z_XUNNw4}lS*R*gU>4IZqpn>VzwuWoD#zFeG91r!H<0saMLBRT#pf2?ClVr!6833fH z)@-SO^mRb3+6YgBED}Q7X#E>d7+EvEY)pXkHD@{!zy~rlxULHQ06EkCQapk)L_O=n z6U{)%aNQ&V+6!FiT0aG{9ADzD?HDNnW7 z2&;V2d?x>I(J@aY#t`yEf{Tj=AW1jdpwxAV3^3uo@{z)SEb~H4fFB;RKHMEJB&G#m z+8tDwabqo0Cj6uPac5gH7zmzn#kD_k=-J+^7&vs*0}RZmfeRo$^k412wo-tA_CTk@ zQTiJEgu$TxI2T6)sSE!20hF`2@n9sHB6A|Sx}Yf_gnnXfiiiMQT4b)kh8|C#JiKo- z&J|$&lTcSi^ERM_fYH_Q)8P6NxOqSK?I|CGfYLU?HwcjVF9+SQet}l=xYPCs5k@-; zehK~@w26D<>#wK{Aob6b&qU_;`GLI2!Qyt1rwt(dB|{FOu)26XJ}(!?NRKasGkGBM zfM9=SqENYc6W}>$MY`crL7eT)?cBj`0pk52eVl!gHon^Ob~+QbBg z5lOBm9L~O|LfG8wV!a3`#t`Zen^IM6R|1;LfyxR~Y)E@MaEO$H_t#t=TE_K8?L}Yk z#m<_++N0zGjc>KqL zuX18|yL~=Cr6zy!_~9F&^Rf0@@_Ru1Ju(t?A+knqAwgie06eV{__uUwvlHUQH-7c6 z!v^8d`E96B!xrI&|L@YUizynv9Svgm$JF&BK{Xj1;*c8Z&W$zoM$q5T6V}Y;qezf= zDne7rT7Qr`NDvKW>|KzmnJ89}gXHeW1K>gj1#fux@d6Jj{{3Je5`as2Gvv%P^3N4Y z0Ins95P$wa3Q$Ra@PfY-)>LreRZ1#~1o&|0kpG;#F+9#ai5d2Ogy0y_tH7bVADzYq6xeGmc-A?;_Q z0=q@@LM8yEPYYfy$%nH}Rb=8s>GL^{RClmQem|iCqY}HNmr}f7H>6$_JXx2XQYrq; zNSD_n0YA+nIHAI+F1ZB=a3!DZ_7|)9JZ`hViKE2SY6AH%*GCJGg{9PW9|eLoJwRxU zt~gYIMF9^y2dA2RF~Xnn=XRDC%{&pO@ppLJwQOCKBQUSD2j@!NS3)%CGeQDrAdk_87r&umZYlY;iREJfC}&+W5iKd>OTU8fqNQTV?BAzN?*6@4s&*5- z-DsOO{^WKyFe20<?5^lI^`}oPrX7j#T)QRVUNv?w)KoM(gNzCwQcf5vYYU> z?g9rBO$ChC)0ke&F?z;DiOMAxBVO?~?s3l4($~VtGKSj@7Wd$M_rA^ill9|dDr91jDoq%1wT^nH?2Gs&6r#}03$r1;&2%Wc!B zC-NV@-27){)t3JAn{2p=DQngDIYG$@92t8N>BGTxQzAb~Qq95cC?KE=NmN5}u0@99 zeQ95=TB;DtIFb^|O+gt+dPVOQ#>lml7M?m^1^Gh+%_@`$i+V69XqGzxL>-cDbQ7L8A=eMUF6eN~yI8$XUd59dO@U!+}hlhqWJ_wQGCK0$h4@+vaEug_Y~ z+b?x%cC&dNwP8OcTV}XXduG}1m+^dl&vATB_is%%wz+&=-vefI_D#PI077JO4yeNc zSftdC+iTEkGq{{zudJpoEYjoG=SmB|BJMXPS5W1^;O*+&nn88;zWOXbzwb*H>94%m zyx+xC%=W@D-~`gh8`Wvdl(nZ%2g=Ll>e<$_kX-vATn;vn_m>Me%`L3cNw_!4q`vEY zHTYUbEo_k7shR;vp2YY=YzArqNOk0P>{8f0BTS%Bf$UO9nDx&LQy-|82Dk&Lbn&e@ zKhBrAh@S5^6r)u;``?1+qUSpx0UUSl?-^`qe`hp;dO3y9)b2CFPG} zhBbJx2Ykn%@Y|o9fx$PW8quy>^1E&Oa!o!iwE@bH7V?|*9;6!A=Qu|sE0L7+K!!b_2CA|ijhAFFOfO-^|R$HpqhqZd^w4fMjhYc_O1eVS0(0Z3+ z?U1T3++OZf$7!<5`oH;2eTLw#@vCDxMpjByA!7dD_WR?7>J3I2KeiFLFN$oe2_ODT z_bx$FGdBQ~syO>*N&7D^&Ca5JX-n?ZZ5S|b`3{2c`)*f+&6lSC{O>r9vY>j2&U#&I z3sI8#8w|Ta@n2+%pTVGg|82zhyB6^`|&s^Bz*b55;7B*I;Nb!=H&o&DiK5OaZ?&> zrhI={9I1uPH9~^X8Go&NNO|~UkAYS^RtXzA&Be>q<+io8>K*srDf>drQ!J9YAVzjx`&MjjgP?{|;pXD#JtBhNWUQK%Ico*!^Xnu7=1*X8dSRe>b zhCy1jgA87($u+9#ni&8-M+F8Z8O$joW7=4~b!)8~r^R`o=xohe`8f;b>QTT108)Rb zXFM$Xo|fP}L>Q9p(oRPe#$o9p+e09Z&`BAXh0s&mCH@@gAe`e{(-*lH|GF|*)Vv2* zfFI3>Ug`C=`|2gH-ZXh~HBIiFb3241F?8Y`o)7AynYr==>`GO80C(`Lp#yx~Y%Xs( zJT!n`F$g^PgYb;bcP(FCVME99+{ZTTd5NNO=4<2q8>)F|;|TSJ{u45vMBe}pbvv#X zECG|ykIlte=#RVxNhdZO2z+Q^Xj~8_u5nfQQJB5Ujp`kW#|wiBojVAZHUPwR3Ywwc zNb_)}eoH_IuyQap-=J?Nf{w1?-fVG4ldc8m@Q6hJpF_aF2$1v%O_bfh3fT7|K!d&& zupb6~mbKbx6W3UqzAZ3B*Xwb*dVQ*%A-$ zD-t-w?g1pwEAlBu1gtq8tjKyj8p6kJoqtHThMwQ}#ruA&k15=yVH$A7r7f$U!GO!} zIIZv>`k~u*{Ql-Gysq(4e$ZOLHcD7uW0z$t2^KC<;tu@-Yi$2lK^2O61zMD0)rmZ#c0Lb0(neIgh>voz3 zh&UQ{n5}<%Ec6-l{}h0szo+4hvposeSwB_bF*wdJ2YA`TzNk4-u|p*tw8LXT(Fz1l zO3tPmj0a>uyrGbzp4BxK4q1Y2b2~!&F(vh=|1beT!&b432|&>-p18|uqIwHq4a_n$ zQJA_z*1Uo?4i|N=EoG}7h|2j|<~<{_nnjxFn^ z#5x+O=mRu~%Yj1Vj?Gp9n|6{LL^Nxa&Rs1<>dF=UgU8*j7)qcFL$6X}Z^8P95-R9b zEyb4d0=CB{`n)#P#YK%Y*ti2mwPNgJ*IIN?pC|d+TmaQD#5;7Ngh!@h@Gm5#-@Cu` z22u?IDa$F8!P|Pvppq0?nBGP%~gM z8 zl2E-;IlVnkrEDxTvQ#IGO@2TAo67&7tc{%Qvx+iHNQA4lRZacI$R#D<^YUIL`=SGq zhkU<_VU3NTpYEWv>UB_I{J7$Z%F2poyMVTATh4yx|Z$`{4&t zZVOThO}-@};u%D2wD(d913`lM$(*FkZD0vOg580MTAZ~FsFqZ;{=)!@j4*M68ED(E z3=%pdc#He^KfeML_N7K-Pq40Vt%1L%wg*|S96~n9FesP~d;?tVs*9lckOqItYu!A7 z+A2?jTg3zy#Tm{}UbU0_69_cRIXYZEHwh=fia*nl6y#Hl&rG;R%|)#Xa9lx#`3n+q zNCK5oDFJ*Wn)g1@C*me+77^BLxMU+}R*=u`QdF(mrTtVbaj05?YXM6DE)B8M<=@Z6 zB9~vY#}&D{iQ#)i<>J+=spaD#>U*V#T`$_j4H;IE`-xpaP(hu5qPWD0NsMFg0|+t` z()iR?DXZ%PB@+7mBD<51AvtoEPmh<++og34!UDx{TZRr~MQtE;kR%X+a8IwWVKtw3{$gJ?h>;lPqQ!;Wx{lmKjj^Yykwn-6dR+-PP^xxRW)1} zVhqxP$-wYfNP$u~JFe7pSryk5xzfAnGM1VP&XD-~b)NF($(%oJS(lR~)RhhioR+(^ zxVp9m=k_W!k*t{*x2jg1m!}jqs zv2lmUz_1j5a;k}ISjdne3gvU+n<@<6dTpP60OD>w<$pyGc)x&g`;Y)T4Eb;QJ z4cB$^p>PkBanEAF?!Ag>)R{jfoRcBI@+jsx4B8zB9f^4cI=w(PQQc$sN>-Y@aCpf~ zu#;&_bT12-+@3j1X!62;AT}wtcu%*zJkrVN*^nz_R^!r7xS{tR9#BjnQ7j{&r@Dca zj1oE`L5u|=!zuRQSV&Cjo`p(PQsat9^}-gV)kBe%8&pz@?bqDlK!W$@@$NVE{Pj>mNZ z%Y@wo>MvnsQf6BKA7+OAVajLc`g?u=j`{NL7ABV1@dd6vBwG_XQO#MZD7RZyTL-6SEYVizu;d(MD3>pnceD4HITEI(PH) zpzjaB#&`y(TLcC_H6PS8bo!kqj$WA5U+%w>mLaST&s%ow_BUhwTK$-BbdRJLE2cY9 z0E6i>jjBr9DrhB>XNp<`!Svt{wFWr8B>h%85P-ujnt8a?d0hWvZfkzyv6{O8luu`@ z+#BO@u8*AU5vp1)xqMx5U(I_HcJ>Mb(FKtKP?CY(2IoVVB+Pq?k2w#_%-Wn>Vc87X z{3oWVVJ0vmsa7flo)C>4j%{ho{uJx(6@Bz)5VF$A6Sy25;CcM`57zsrR+s`g_1zf= z{gPzD5;!P9A>r{IS7>*0EEYVB+K|>q=Q(V?u3dKh2=Y-SJ&bI;rMR^Hb}hXuVXm$1 z4nLA>uZ#BfzE^aRIWLVS1^>Idu!6H-XLA!|4CeiqIEnNaZL#Pf(ScE3-ZM~*NJs_G z*OGdrOY8-iZCo`P!47^kr#-ESarNLN>Khgb8V;Mhl^$F9jURi#hCD1g%`3ix?~YLj?2n*iH-iGa{|bCZjftX8qu+qDe-Z_qp)~GUoQr*(Tv==IN*M zS%JBYfkIaPCRso$K_vP^c0aLE@1utnw^tmYQy!Qe7Ulg`Ewp@7_{oq<$MCRpDYT*V zD79xq>4=gB{^!hee~^QN>dNS~rGiOJ*7_0K#U z0x{9%H-qJGh{K0&$mF&EuELA(jr=Pc8(13>(^;q(W|2lOIb7vw9332Tp12O7ERYq<8ndeAGk9u>aWvo>D15|iZ`vZLjw8K@R{%L6uUL;8S<8kktx*AS(>J&J%gJ|&*853OT z?RhFZ3?Y16Sle`Q6Oc(bqrC3X2i&Ci4g;dW_J>@cm z*6_-8+;#NNsE8B-1&^Vv`XqiE?dpsY<1yg?7u}iwx6EO}<9iawKa%ztG`!ukdB&1e zm?hmbb>(i`*+I^gG%tXFgmAFZv z>I}<>bp={7(Hurfc7|gjvFWXtD#n#YP~;(npul1i z5T~31!C4-V7R3snU{oyNbe1ppD^Vevsj9Wl!nYSy^<*K`Xow8&P)|0fO zc9Wg7cDymOH?~c8V~?D43!HROcXm}(m~=kmQ=D4gx4{1oj(?Xh>+>lUY|IP2k4}!JP*7^knKP51Jp#1B6(>n3!1rSr<}37({QwiwFxRbk8y)aNDgq z;OgXj#`79fn6kZ!#}rhYHSEj6ERiz~_T*iAcAAQfXd?#fZ>ZO<4t;oB)KQ4ynSg4^K78oiUbO8954&MhmQ1lc=VdBs^p;4Wk z9m0$Vuf*Mj3T!!@Bk;lY)R6w>yu>g;T7e818nL5Z+p|r2IfTbs!lzm<-U#0uy)v>x z4RxS&ErTDUd3lC{f)llebxz)k8xm1o6DX4KeXzKGE~^Kv7nm|Ftmf-}?5mqN*0OQL zw@;K(9agKnu0}iuvoRsO&3r$ozo%`&B2Ye(cu3dlPwZuekU1Lr-90~D7bmB?hK5AnsP0wWR`TNqGWI;G*vDWBLzcTwPL?Mij)j2h}w)g%d8y(*A5|- znUZwAT4?e-K&qR22t{Gc) zCH(RRa$%5lGt!^Ta2RG}J4-fHKN&m){!V)TM23Lqjzre;+KDh_X#kayIj)1*Q~j5% zc9lID`xcXEIJH~p)*XkWk`qtc*j4`p>ktuuDKqCSf}n7!`MNVTA~*~Z)dJ^B0)nsi z4bl?L?M!xB1~98sHWX{58z*S2x}qet(0s|1uB1=68mCN+9%l27EunCRXFd^*;l-=_69#96~@<_7diWGuW*~_LgT2 z8ZYR)!Q53VfZ}M*ig&~fGltxVy=fVLSTGLnR+ItbbMGW0#5&PIxN9QkSR$EgVW|}} z13`iIVmToMtm7YPIyV5?B`Q+25aNWQ`lCwuv&u-X8;pbChOR^&K>sx(<{%%T?tY;s(J=#j8Gd^QO$$1*Bk!}ivz-p6GfMz6tGz`VM{ufZ3wg#CQ#d3NEwX{L$ZPDi z%WdQ-_Gp-=#3crBs()r3F!>B_yV}fZ@zRP9=5}0IWV+mttqw4^(u5I)d%+5C4Yd{m zf$kND3o+kyJw<{a!R#2tj6YA~%MNI_yJ--^qEA-Ig1(t98R&({ruKp@H>>U(@1^#;?`MuS=M3bs5`0h)bypej?z#`Ry%&Yc4Ri)^%gp_i%DDivhmqH zw@cU?FclvRJb(<_Y^!(-9uk2<^HBAdBl3UFOUs=)`aqTSAw>)Q@?z<{rKQuMywn<1 z-`HhEVf7-bvh?71pD&RY%#Vl73yL5nN2%xG14)9S1Wn^aW)U>hbO0w3jQ=Z)sHL(d zTuhGkACLPWF~lRdiac;=frWTabZU5xvd}P?w)S~~anb-rl;eRj_*)x*e~MX9UP@8K z`J4E6c_EO1+lB({AW4AJg8eO$ywLIf{#Gg2VB^#}${9?KKtP=;2Gb+^>G1V5wl7WQ z^+S|tM9+AG_q7z0o%gm)#8&^hp8RWjH?f;^_Ck0Q59>ii_}laSFLC$+Hm?}zEL|zr zAV0Za*8TcSuCfX$-x*C_E~l_xFsPfHFSZ^9;)Me9A^mx4wxQ$viB-g_z_8kBW}rP- zXVP|?EY26A@co>Z=HmVoEV9K~>Md5^aIG@OI}gdE`5B5J!4o(CJ#5+Itk;U=*-2`t z`XgW|^(ioU#N@iK9A=0!Piy_Y>}s4hA_S2+NNujJ|oCEzm1>k}tqq_(35LLoa@ z>U=#GO5d32u3nZj7SPh$BTJgv4n>G746GDEXuZ3?b6EyFg`*XT-vW6FCsoG#di_c_ znl*YAb%&JZh+LJwlJ%ZU^i(X4y2;xfh>$S zv`UX1rSL4+Vz+V*ptaOIxW$JIoY+a<>bD5B(w^f|${-Xs(aGAUw`UfhOe$!!te@b6 z+hgvS?vP8w&j3|W>U}N}66b@lSUWfK*_GfEyraiZCAA#1CMB%RbAOuXeMrpt1YW_R%h5zIZmgYIFI)C+=_4ISUQkm-VfE+WVCgEtd51TKs`xY$5RAtv zh5{EDjQ8B~6^y4cHe_3Xmxpi^+}pfrJSKyPv>IX+2tC_C2Ny(CBo1ti+kZ^D+n;Wsh~kz2$lf`^`q9(A1yA01XEjAfHoL(r!l z-D=liun9ojLK;CoMQcVOea3@hK#Uo>q&<6UT|A{Qk@w&3Lv-{Qs6~L)>d>Xw1CMT7GlUA+)Jf@^#%4|A!62 z5f65zY_^0#fIz8rzL-4|SQXHn_gIzZwYj89(xye=h4QGoIgz z*QFy;yUa3LHodQbK2J|p&vj{Zh4h1dBGVefim%g9e_5BO(0*Q%YxH_wFRrH09_-kI zLfhQv^oHjs3>lI#{v>6Sa8DCX?C|oJ+4)VbeW8LGzdTZ{_VxO_1?m8zWHhx!xit|> z1?H`9_Vs$-frWl=PNAh4ksFi4(!*O6zS@pze)Vd?iNUL=q)#3l?NJ5DHKjM6s;=ZOGuCu=AiIZthu zF<&^%nPCr;WQ-35^WpJ08`|~y&8&TbYn$!%eP3Il=5)9R0~?|qw}-|ue5->RKFe>f zm|$s}G;zi^nSO;$8DqVek1@i8L_H#Sc{0W2S+PD&FJ^~H=(Y92)gD!Umgw#_ech3N>&por}wz$}n_!DWZuv)j(ux`q&>GV{#UP8XAwykwq@BOPaIj#gE z>KHY+35coIQT??@V;)dp^m6x)>T2mc<#AO{p39hB1M^kh+^&3Tshk;B+Vk~0fKZrT zv(@?fKsZ;6O8wp%WL9qqnr$7%eF2F|$>kprK^)D1Udk-LS(&;=u;9}qB>>;QVHNIe zY?}g*o-OUP+QYoNYTBdBVHi7rH%LnQ95b?CHd5`e6ok@k7e zMKzeuB9W=mSdMz3hjA6MHbc?fqRd?^QRxA_k)&Lz&zFDj7RCXZo~TyQbivpO1gw1o zV313sM+gd^Kkhf4I}Xk=X|id{Z66+(c7oGmHu4mAvo2eH>;I=4WyyGxM8ub)B{y} zzaF_ia#8S>V*An-i=QZwWKiF?EeLdaLUKx`#V=KeV7~x~hhZMV5|}O&Y3OJmgXgTws;S zfYL8&0Oq*ekH1H+G?zmRo&;%NjeCL-4<}+7^a~X@n4YuX&w5&riZoZw@_U*8EY+R0 zo4j(gOuc{0H>9B8!31(KX!R!wOX&X>xyla=fs79&jq3Ph!0sc+H6htzWq|W2ZXAe_ zhU4Fuz~qIFT#T^fSPth2vM3FV{VZ=0Cy-S_aH`sJ5PxdBEcsc1I!DF*3fqRf+>IOr zYg&Tw%M=KM?ZkG3NF48;A~-jdzlamCKsEh^3h;h0wj4E{8c`^crMfj$LB4nVLIoT& z?+?3QPv9<-{;gNN7X8fBnPrt)@KH~xd>DNA_Po~XTyJciSbQ1ywCS+1&0Kx_)Bo%H z;}sWKx->+d$-Tm~Y5ge8xkQbSUXj}h5AElfs-Jp&bXE1I{eAY|x^kzlZHb}yT0`Rv zu>a0XZCx3BwiW}rU_TLBAgt6$*VPH<>jN_GHK1G~Zx|6SPyqXJnY}TzK|eAk9s)n0 zd1BPt{(#qr$hF|y@mQw@%gdAJFIC_cjoSlNiQ64AH+vXaovCj8F;OPtBnJG4fEa&@ z_V++Vg?KLbyEwd$8(r;x_U0IC4=1XsFV8TOU=cOQqpm)YHv$WXs(PQa=Ac&Fx_p%R zpNrB?-lR?hV%%%$-h01T0W+Ce;AgzJgzU)vEs7wUJZTJKxQ?@7M?y>q%=WQrK*ytB ziOxrR#VU03;E76CI$!GM)gsMDe{SkiC6MItmGQt}*c3T&M>IkEVg~5TK4#%~ zME+1cOjiw?pK;p^GI3n5VLAowleR_K{6np+rAQl2bfMb^wq~G*rw>LTQ%`wtoO3{#EC^2MR%4vrK;wJ**Qc1b zJm>LQ2zcFSM`U7{$DxBw#nWCj*xE^jCBJsCgrgw~zkBr*VBYZSAg6(ihrPK&a@7p| zq5JLKP@Z_!$-XH^$W+iNBgYvCt@q@^9WpkY?ey6bJa(OD&Eq@{*820r8UzRy8JXvw zI2YP{he8~8D=2y_ z{a_xKis~Yo$@)P!n;;5#=GMX?^l`7gnIlyMq4e;?T~ZU*I|z2Ktbc16Nga{SH-P#M zA2lzth~)b5=;N6}j@Ai-^e&`ahU8V~Q2|Zk_6dyK@@S%!+|B3kJ z3zo2gcQ=N9VHAQYac37|XHN6k6}{``z6nNc85R#U9*!;rxjN-NFPJ} zs4lqS^R`^OA7mfPKi9=-^St;mn)z&2tv`!-jqVYUP+N2GKr9r4 zM8My5vSPBm5-!cyYVmLo8E5!N0BQ@URPuKq!dZ>%FmL0GH@_>vu+p?9zxojxAWD$_LIz63)chaDzBxFOH)=PwtxYzzZQHgpu{ZW+W81cEZtP@Z zTN~TD^V_fPKVQ|Yx_|XdpQ@fd^SsZ|+vjwWv`FV{(vC;S0ra6cFPh$_lbr3GN}l|O zj_vo_AVrz#M87PN(iwLn~_hD|$PUq@G^Z4&attTVE4{4QaJZ|8Z zS$2y*QJ_r*4+N2g+7kQ@<)xc2mYJ+rj%oHjPD7Ah98&Y}uTsTaNp4X8Q<8V6aKc

    ?+Uw?$_ z#G5aO>b#Z)i}D)6P0c0s*z`u#vf@McM*qH`Ii~F3cAeaAdk!w}LL$jXj={8Z>hf)@ zB)~Xm2xm=NyY^quWYcS-%)=8LL`|3O6T62P64vFWcoCEjKmO$;6lR#h#;fT!gy);? z0o5;8%j{W*n-)^!L6$;kiYc;A;s`75*m9BjJz^TC%!mgXTJW>gF*%Hd)x0nUqk=X$ z8$DW=dUGE&>L~pUOqMq|@-56_=89idW>0&mU5@J^YUh|;4|3JA-eZ`K*&s$gt+tD{ z%mDd$Jld}sxYq_>KvrZC8zH6XCr+{8J!T{ShM;&^kd;i$A`=4b=iZv<{WkF=*UkBT z{S4Ykrxw~3BZIA-%K#h^uP^ia5pa+|7LzX&MA}?!|KDbZ;s`iCt+SmpcTm_cs{KiE zd(^@9jN<`PIbTV}Mk({ByQ?_Ph3k~^#@o8zO)E9ec`LWwuSCxH*uNG*J2pQHbZdWo zSMUd4FIPu51ik|Mr5>;_pGUn7y7O2rreG_j3*YFNIU;m9OS|8~nVA=NojmLrJ1)Py zHm;*@vj8>eY;{ijDe2opcd1mLqH#yxBylWB@MWnzJ5%}{>l<7K6-;8y1)*`BE^l%- zYUhQ{;pVRtml16jyAG&_OlhTI;;YWj51+rL*n{aE5?4?#*8q|{>!mCgAD9L}duyM@ z^SCQ9Sr4Ew<3`>1t&HUCHSGt;Tby$7 zFnF+`KKhRsqg>Bf7;s2weW)MEMuh!sP)f;+#~+XJ0e61txMv7|Xr1u{Mv~6{Y_=Cg zQ;kHqJTXP#o#b=xUgnqb%n8o`w!x2`7f#A1M;bAq$H=7?(UhMNzL?U1 ze5G+K#(=sDcgrPOAu!iANvNsxRphv^5gy-MSU(cG5I|(3PLP*yr|;Ib%iRV(X$moS zq4YAHSM}(c-M@vzPhakPab^|X?gx;e!!oleHHZE&e2z^+@De|7wh_C^E`L}maS?SM zd|vp}5op@n9fA#e`o7wCbK;n2VCw_65&s8=zFm8kP;_6`ql{#qA@2vt{=9bDBiO#I zcG>2?NwMo6N%+a| z!IsW3txQGzM;89SMMI}Wrt6z7Rn;X7DL0|MN!OcZa&IuWrqdFmRG3aG%v1IxZq2c% z%3cfkfnF|Bqb~JH_k;<%{|ybO?r$%R&~u15EaxINyqXt$`W~Msu%djji&7H_2f=+( zu4b9?1k32l{DD7+5cB_X?M1+!vROi$Tt4ptGtm4P#rASWfGV;mxMk# zrpR*_@JMlU!VR}oyWeiyHO_G$ce|;Y4Z)AI(>o%@&dS`{E25m*Smd|kN<|05m{U!`i>Hyz zv(|0%?XPR*w}+2T62=ApUsR1GHix~NO6IklPgkGEjH`EV?%V!;Uzew)EQv%uJ>Fjm zQu!q4+MA1>^A_^y?&8_LehDJ}9}9pd=v5=PTL04vMStHfhPUt43%-vpN2&7j&FlVv z+^@TjP9nhk*T?6k7f}dLt+{~Z{MsI4=DCSRM;FzAMgw(~zu~xns+uP&Ybxj5XZM=~ z^wZs==xW$h^NTZM@4}S1J2mnt2{yKDWy)Xt{I$PkFuvK%t_)`L&F@Z@W=LoDI9}Dx zPuQEM+*|I&=QTW)uU*tLPX=%R!OsuV6#b8?;ni)y&x_D1DFQxqjh1$q;wu0zo9F79 zJy!RmczMP+pw_(h>8IhRXz0!6#Kfhiu7f?1-&gE8Q78V(#pj8YuASRVt5?&6q1o+- zqJyI1a;<+=7jS}3wM(hoPWJt)hMnqqG#(;s<=v*0ai+!^9d# z73-D7L3Y_RdQ`Wjw}V=oSt1-`aUc#^EkvL^e5dV0iT=l77dw<` z*9GH#b<_ITnU0$0#mw02sh98Ore!M8mr+gqE(rs>I(e<)cyXAG92XphoBf~pf+B_O zaca{)Uu*+RQSH&_%BI5+Wz6&LIZB(&r}O3CKFS#ZDyBtp)+sE}Spq|og#}u)hXt(q z`GuLWY{!pOd5gy^(+dk>ERd2_*@ol94rhsxt3>r89>AvsiZy=u7B6>;=4x&M?s_|a zLASEnvIi>-@Y+VUi4_l({9RpUHwc8ty7yyyaq93!&w(=ZX0@y?osHU=<{;n;VKmGn0Dp7jDN4T z)ueB}f2GE8Z0l7z5H>1y?yokF88BF-Bia3e$*9G$n zZ+8%C=11Xm1A_dvnN$0h*CWEy7#HSGNxo{G=riufPY$&Q1ogwQ4d@keWbc3G=ee{m zav7~VXd=2OIhX=V)M+NV%BGfTi^hfQy2&5z!GelhZjD+8e z%Up+vf;0uW__`FbY*G&1IMhF`F%T~-)TUYM`L=ChD`y+2QQc>|3u{Vil zq*ErW>jZ6{TUNClr`~QVMvF91@_Yq>pk5*Zw?0wQaxmi@G%6MhWM7q(Z&)^7GkPkp z>JSpPjHNCWHo2S^#BEZedrk0R`T2oDGgbdDzBNd#ljx|d0{vsZ{Wa;ziW=>h1XFnB z2XRz0b?OBUQs;Z&`0SmqN!QkSL+QtQ%NpOAd}pY|!&P_3SzWK{*H+i~4MS)LN@gkV z%LQ?#x6&`&DUgwDG(R3QVe?i<;C)`hH|ns zzSv&sh@Ov>wTp;)?2g%r5!q3_LBG@sO#Qz*5Y3+<*lHzc3tTZ{cFn}tJ4sonD;2)6GRfLGZOD&6**Oa3=9z@qRJmDa^;)+ce{O!aLOT{Qy z_Sl8__83Us#Ln#$Fuk?|ibu;z2G5)I`*@%>qQzl3v=+PQj+?mL!qdxtEFS4tT|tWj zU7^mlg+p>9epy)E!!o3UAU%?$PT`kX4721qc;8jy$s; z<&E#(i!i%^W2B3OW%R(pPjp)g)xL`aR80oZo;!j?ZritR9x2#)0o+wi`)mU*Faj}M zq!Acbr9hqJ9bHKmE=f@dLU+`$)&+=0U2b7GI9`s0XnJ`6264KUI(w zhR7X+LOIV8fic%{ZfE-@lbZQ8zMDtPHZ9^-DK_MS4A_JDSCzE)7lq&w37jRN z5^2N~dyb}E;6Xhv(elPZRVL=c2^Vk_3i+0`ZQ#W|+BELSt!7=m`0uiFgKL z;Qdq0k^j5@6}7uclr$F!h(vo^sDx=L=Ar@l=twI1U}?^w5Gjl7z@h>AcD)RwVxo{V z2ry*Pw(IyPcw3eOL8e_j2^QJ8#p;eM58y9Gpr5c5RUS5-Y>!G&vuWbE7s2BnOIyfE z#MK~SWGJN*>#yu`pSakyZ-4Z3jy*D#Y-|WxKx-SVffL`BR_@P7`kn8Ie;mC&JUec* z=qP|Gp(=wZ&DNTov{GbrP~TDTzuB+gC!$`%CwWSx{>r^y-o_oij%1STW3;3P^J@|H zc!nJ3E1KwI{HNUWKjj)GZ6M(VNdtE|Ily-LFG1jTbqJNKjk3Q+#nT6Kv@U3T(A%Tu>W1a8h}GKu{sb zcjA8w%@U0yog7x27aXqL#}*9meGVW+Rr`zQh&V5VY!_}nCdhc74>o!%jHM1X=_e2; z4D%#%9tD1S8v9Ok?yin0ST}Vbl)gaBdvq zm_4IEIuOuyv337f(ie12mR87>mXxi%G7+Jaam70+Od80|#R1N3S%ibMS29eVlG0C* zWg<$@q#%s6m!iiY9~yY^M;XL6lmr)h#Vl+KNt{I%2}?v@!AE=rf<~lh!m+MwfS{}BiZ4@W7d9DpBjlUGhM}6)#)q5hGmXEGisJOv zc`H#zG|zp7%$TNn!kTW>>C@Q5VFpNra2YgOBI~6&hG}9gc&v?4N1}=HECa(qj_N0ULh$ohRv#9g}(*w z(oV*RY|)&hcm}zqcrKYwg8o^mWyZCWZ0n9 z$Uf!zk{jb;JkLk#hsXN8WI6bAW~tV;p5@n01*3WvHB3x{Bomiyj78lU=I3vVGwfEa z^n6E|K$UY;90l1wbk_h+U5r!qETjRiaRZZ;uq?vodqw%EsjRFyI(`KF^3|V;UoMdL z)_S{E<@4aVpTtqrEhlN_C&nv0uFgC2f|WmYof&aB_;vn33sAy3?x4f3t|-{fLJQRY zNf>f1HmDmSdba(*!#-spvyappJb!p33kMp7?@0K^!nSe}S$DP{d+4;RAn?3hk2S{^ zmz?Fq+V4%-4v#u6iO;;0K^;>=&Al7OLG+F}2=`v&)W6FK zylq2MR zhKL#_zi61@s}+R7+IW-e$V@yK!Z| z(r?08$$u}Xw{rajlW_rXtsC~|0NbxxM3~qk8oZ$Hss)bcH_1vyRNLX&i#nr*c^W3r zrR@CjlaH@9uAP#NY^bKeN$jOwe}kl6I1DQ@uuqg2#QA}N`fJI9q=V4dVf@ig z7|xZO6K0YpEea+OQ#w#nM(sG}zNV4Cf!%JGC)$yo>~R_i6-nAmGZr zkS9l>9>K7LREx*WKEk}=I9@GBD5Vmc$^fxJHItk851VQ&q=vZPPtw&eWcv#UB!$WS zW@Z_9*!ntf2{&XMLK4RqB&75INdL;bBOTy}fHU6qn?m%!^tY0^^l-^oB!x+D3o=HO z6!5x~w+xTX4+p#fOI$mnIBo%yh0M717VFS(5@nNd%;(p8xSQKGi=0PQvY1?Fz`6Dg zgb!!WZlQ9CmuC##TUQISsoRUBJ*U#8W&G=n{qgcmsUEgg$>?q~DUN~1b@gLct4KfL zFi)Hb>@$D&@EyRIyn?i-` z;M8zImI0Qh@Zf1a?6YuhF}=obeE!ixRvna$m{fA{48JPtI&Ds5`)z|m)mKlKjYIg= z);n3JGvAtiT9h%IBu-=`*)!beE#MIm><(t8+kZ> zI46`o{IxGK4-I@r)Y@2Rb6ij<1%9?$0~$6e#k1K>pkbpL-JTr!FWmVoIuYA)`q|_0GanU*j5@}`pHSq z3nYhzxe=z@vkBzm?uBsgtN{^e#ct#1aS$<7_UB!C=Qu39em^W$$M8`QOT(4;uI7?b z`o8^ah2T+6|0a+<9zgb7uQA{{LCx)_0%fKSB3?ivaV;-1!*>a=(_eZC$PH~EX=@?O z{Mpe#%jXYC!zL3;M)*;p#17}vp%X>p<7>Wbe*^$1R z-=3;b%#ranO>-l%zqT%(fuip3Syu%qtX$87Rj@C-QNIAPksb5iQZ3ax8a@r{4&2*Y z>E^3%(*3-m$Yy3QYvWNircHl!rhvo5{iV~&EX9lN?}BT1)uIUymG*THe^os2gjR`b zW?Q5b=A?#TqKPL<26h1Q!UiEks1DJ8U_s=t^?=81I9F&y>oFh5@l1rna^*&kO^uhx4D+dtE~cS^k%~A ztuU+@l-hx|TD``Y(t{2^^PS$97%Z7q<>>cDg&=#};313+Mw;j_Nt-QiP&X-^Sf0K3 zI6?Y;Vxmzr$qyOlBW1=4jah8Ev}hQpyA=e8#(0z8Q9x_$1BrY@%>iM4h5^B9KXy3h zLe*};=c{muOZv~htg%Xv$TDeW%YgYuNQMawMI_-eEsI;;!v9M5iC(~iCP*7Vx;EmV zAdR_!L8a2k=K!y+8%c$}({vqqv^xIu%dF5a-PY=&5qLNPra|)OsGOKMneW7e#9*#8 zDn}kv-)g#((V$F%xZ%QploxB#@6XvoB~hv%0mOvCo&W;@Y1RS7elt_F_ zfSjZqSpNsxNo5E1wI}#UD$hVz7OSxgSDiWo75j&_T<5=ug z)!x$z`{R%33=3^*^P||X%8}wzc)k%A4JMJ%pFhIqT%yry*bsU93RhO5sN^SvtRj-Q zF(L)(tbQsJ7{`b>0Uc+AUF!9a6)u%RJWJ?a&^<83RLV-q@!XiWZL(g>f>5>@x-*;V}7%r)PL7BrvjV2-mOO;HdMLJDpWX%wfrJ@Z^Rr-^a*mty1WL&hv zaz-}eR;>KOqDt7OG6@-)VzQEvY+NNSebV>pZ*~|M^#3Z!bN_#pu0?791>HC zPSj*rl-VI8Nv+r2qYuB&#->3cV~@w(qu1u9-`Y00V6Ufphk;`3m(Shq-PIeX;Ke2K z$mWA1Pmkx<{h9jb$@=_BhoJup;P&#YHo?E!FS$7V-7pthI)!bo*Upga_~T5||4Y}| z=i_uUbh&oRN0)5x7c!Ay?|86M%7OHvhSesyYkZ4#vX2Lb$ac3w;#*`HQ@iHZ>11z@ z_XkZos!j#Ni{sl}iT(P8U?TF@=j$S8!ReRJhjlliZ*mGNev)*pC6K2bwngW9jPChRTiMh?3TtiyHdM0{OuyZh??&DC# z`t2`(xBi%fKz;z^$71E6>O7)Mq<|gG`xNc4gMpH^sl(Aufz5muI)7%dT`SvjB;8pC zV=7X_>~W#$GRkRy|7n$MWxcA{3D{dH!3Vlp%B^CyJK7raXZY-K8T#d<$p@>QJ7BFk z0=K1UkC#ruOt@C!Yovg7=La`T=FG!)KJ?Ku3i=FbNZ0KrS=0wET+|mX_Cvh_Yy5|7 zkmR)5EYw-U_H-e7i4toa$;9v#Q{sY-A-sYP0E5z_HHw7mHOX*k$KVyQf9AHz-3qWvg{%w9mg74LT12{Mi|i&5CJLqDX5 zAQ6LQG`bSXwDpD&C?WTF>1 zGeI__Y2S|1tunpm%_EUeZQT*0P4Bp)_v^vXMkFA1aMVqD#dU&)Z;HqJ{mdyOt%_MkUgPsuTZZ?doni%R~wsvEsxYR7ngQ-|NpdDR}DxA3_Edl|D zJsAPCPj3`rQ^gWZQw{*NQVq7D~bKcr^%y}>Ry8sSKUB2N_x@n%SF&;)sXX(>kUBrQSZ(kk3}R$!%G#9@(u4z-?mI-PY#S^7W7Casc(gsmJyjsMs07 zZ?Vp$M2vz40+HbEdKg3{N#=!0`hffrNxDqSD~|*bwUk23Aa{}lWt`~S>8jO zqM!4~#Ynf&g@R3iz@bEn@F}D4ok)=IGI!crxWVhkD;27H^4H6c)@~~f3+YaUnkTGG z-k03$IF;NhMvOTPT%9A=wT1YcY|kov1X*o{TzQ;LU^cjky!iXCfh_YZe~tC`oP_?_ zj};D#P5eS5mslH?9yWgK(BjF}AQre4V#*(GF>*A_1JV-q1m#0B1+cJFyzX4W04Ga> z*5<2qPWXhWE_C*?Dy5uArxx<$yI&C+xMvl9z7Kgn~K}yy%&dGOXREJ zvj-Z{oGelT6V;_GTv*C?vApVkt)7G=$1CONgQMl~uXOL2@Unf1^vo5C5GGjS8=97* z&y9-+3Sz>NKGvS4Rv%&TsZ-n0sRtV5iU{_B)DtTrI0jNLk~`tFW;f1E?0dqnHA+Gh zh6I{w@`tq*by$(~I!Hp5GK{pG{8DO%=!ujkMjk1E$`qf2h6H$Q6w_5N(Z+XFY<>I2E`6Uy*>Gv`Nx!^Gv?8ou?6Y3Ds@3pk^3=3qJb*Bg zw>qA!Ooqxbrm{)xu497U?nv7A!|)NkSH6F!fX}NvNe&Q2h>kSWO51k``ekyj3=-q~ zr)oDctIqzeY4BYg4X3vSP0Emb@He&wTac>?Org6aCP^&^Od$3W(0uSZuaKP(O5u?I z{s}>6hR<to#W(K;D46GukT z02ZFL>lU9+^6KO2sWmVy_c5@id5y^P>$^px-{#iAi}}-aUW?MDeXTY6AyH@L8nFi@ zAX_{mOTSoqF{@(qaGvPG|Lwpg`&}S(JkcA-s!y30wc%Yxp>N`XwJjj8>4e6uJZd=` z=*fpG*#8+%jMsuLR+~qbr>eomWYb40RD|AqJSjo?p&eu(r8H#Vz#VPzN%ENCNKlr| ze9L(;t_G6Sts_l(84UH;Z9NQ`sh$k~S`Dh^( zvEXnv0C-ZfeAYy{H+ynKPX~;){~)o@N{P%0?!HvRj>-~UP>yfZ#3$ljC)_1H-U`n$ z)@E>yxmF0`p>dA6ojzv?v=uJX18Eounj=Y55@nB5(up9(s2N9-ku?^Hwi69vkq{Qy z&4^-@51os@qY{#wRvKorEeMOs%AZVdk*AEMyFRu(+aUi&6Dh6f+RTSHmKdYgq+PfX z7o#+ts8ET(1<=K2I59GopqNKPpZPizED6)qWzq)Qpqe$cDSI(7_fc zqwm{u7@E+u2Q{iuI26U$=It2fE+g6;XT(Xw7< z^J9?f&T(z5&c|QD{(>30nT(E;ctUFHlicWSu@O%#jAodZ?vD?vQq&=f_0s6ax9|)}B|| zrT4A&0S8rX2FPbc`k_DQnt)y%9k}@)w)h35%y4t)|MjyqkZR-_j%f(K%oLZnf?ZBeK{_7M6=7qqX}`*j>xe9_2pGcb-@}@mY24J?}tx zsD2-@P8OXzU)OMTAaZ(V)in+yYT6HzGAv;M5{(b6CDBRlS3Mpm#tjpnQsH?w->?D8 zsPk>EmIxEhZ2!mAjl3A5ktArQ^I*R}Ym5U&HF>iNNYIirR-1>WV zLg2t`k)07&gG4^?gp~(;(y6kSwH-!Y=@Lb9ovIB$wG_bZ$%KDPO})_vfi-OGyBd~j z^s~#Ha#_QQ(}_Pnn@Fu`daQ(M&9IoaVrNbc87#ulwNK_UFb`p=!yD8xfu2+C{+vmxoKr`41Voj!m=5TKl$`_~apWM$wI$2=J>d(H-X!b;GOlA;Bqp zRje=Bd!}bCu1;a&ENoSgP2h=o?1E#>BJIKXhTO=a)htG)F6-@dLBY5fuZTH?*T8DP zORT?Cjed^bvc=0G#FF||To2jX{(Uus``M+E!D1K*BaQ4g;&rf=_Y{TO-UQc7j-LKNiv>soVU@OF|oBoMwTztOpNIT zsMkvqhNytvB8nC@wOmiVU6{`>m6X6gy_Dj*5W#W|rZ|YkRzjj9Ml33#roUd)zKqFK<&(H)-k%8n1(IB$I;7sXUXww`$S8hwIaqi;G9^jCo%gi=I7{0n1kG#p6R zI2ahnJpQ>i6n{G-)%dPpKl|<))vIK?`O;s&mhOXZp{HqK!6M2TuJ)k22XHE{#!JnAp^l$%#KsL#stMdwZ?96qvpi~W^3w#oXf@5t=eCWxhZQSx&K4=hT$K&jhiHio~#GiSbbgi z6+gS?RS>Qm)kSfNiy%MFNpQyL@-*+$ z-+6BSoNc;brwpxAMi`LEOgz-QJcft#ZvvguTacz5$Ys=czy*4D=Gk7q#~Xz4bu5kQ zJY6N00~=SiAf*Fjhy5WGoGW^WpJ4xkk5`^i%lIHmB_N+GciN}f12VEI4nM95hA=L~ zdMBW$I1Ln5lfACy2)d}=&Qgd)q7M{y+04hvD=EhhAM$TEdZNsVRbxRlI5gVRB6S@d zYh2Se-ngQJnsD}ryDFLW=~^x`s#zM*5VWU5>NY0Uq-R7ogPhwbWN1&pR06F9&yn6y zVbf^lV5SlW(r(VX@jaG}f-^v{!1Q|AdSG1zp@KBn?sijg5$- zZc5H~k}0Q93(1#vSzKR7r{EA-lJsPecw)ET1(E8fqp1~t+)gkGOZ!}^UWqXJ!~5w` zOAqI`J*e-F@2Pw8$6~JEO3M*so1%Yuq}g$*q21fVkB-VUWsdHR-ES8j18Rk=I}dH? z-VSthlLsAhMx30X?e<|jB+Cyr`#<#8$=_+6S)cZ_w9=&AOgDhOPs(k7gVo__??}rt ztS7hnf&+=NY1GAT88I`&ngYHddH|N5U3c9Ti!;6AJXKa!e%URX{EzhdFy?A`(j~O% zf|=cN^z%R5C50WiVgA^3Dh+eks)^NHh@_K)AL<5xFS*@Kc5`DT15mVF<6+1+IjWiZ z(f&9w~3k7FA1Ps&^0|DZHR`wWR>*j}ZI(9g)yrEMDFd%D)0=+dCqe9B&4`-s8 z6a(Gk-NAho!VtQA&@l~01b^4KHV)9hje|K(r$i4a#HNY9-g*nMn-h3{gd z>pbZuAg~{TVA7j!k{KO4;A&w#SITpRA{%L^N3gQ(N6~{xs97o-) zNwf$pbs`0WV5C2E%GFS%? z0w~-@NQss>PD3W1X_sbE&B`y_KH~m{IVnIbld@N+Bc#%!U@I~<=F8qlDomt!Byyrl ztzTAYkLLRl4OZFSt>AR)%>6EG=zdqFaparQGw8~B7RA(FxebH0Byk*vQotCR*|j%^ zQ1hctnYm?XhewL2&!(3rXSqewRws<_pro#iP4pZGdFU@`+_&R=&xuqkTZ6{YB@&!f zQFfG7od{u$8tX7<8^Tr7b(Dr^Wt7!6ihbGnVo|)a9z>TUoCdWgyF9JYCcA=2KYS`I z9cSHly2`j94tI1NEgV(eR2xWrgyu1PrzI`pJbA4?QQb-eY0Dp+`9sCHX)pAj{^E}W z$#Bd2m13Zb%WSF!g)2)p-%MePfDp9?XKwWO6VR{gv~WkHfSyumc{M`wq~smq8e-z#Gf#MTAhv!3j&mRD*@FK@p4W zc~!x?O3uOe6oPc`zyoY6CBzQ`8I!adlwIU-@Zl9@BH>tVtKOtI64tYqwTxH)wgy@h zYT)({_b1Nu&mrJ{V9l&b%~?n9k*Gos!VHb5-nyu<4v*YSt*3sx#M(7-Z(KtDCEAZu5%LNw%LVPGD8UpJeL1D2G8mn!K&8cJlrzMn};DH|g- zpk4w!y)ef(|D7A-+-%oW@kd;P4uq*&8I-ezEOXwFIwERTLVww}^$;zasKB}*c5TB` z!eWa!Nl-5+-0^>o9@mVjvB*w+^b$6|ni5?+72wyLh_LAP&SqY|M2 zC<`veU3;Z3Nzo9@YOU^KGF_2$eQ`;U{_7aMaO1LAyQLofw=s65##)D*=#Zm__1ptU znSlCxv)nQ!=-~=Ci&SQ8@Fr!wdusUK1t%zkk;RlxV!_;WA-t3#_~Ju2$CJ9R0;Kn_?WZ6qqYb$ z<6&#W_76QT7A2(=;ex+iTx4!!X#3H1V)yuc=*l(-D?r(tqFUN+{r>k2JpfB;7THT!;2(inWk+ckaV-&|pF-&(q zlczcT8TEjNkWKQt!p>Y`TVMl04!klOi^E~Fvd1G0{7&Nuk{hMt$(W9?cFZ(t5A3qU zEcZXN_G5`Abtk|B$dVZ#OJ;N;`dDkMVcwm61Mzn~ZSngXnc?f zM=2zWbmLrK)9)I9NGIu@7F(PYA83pw2)v%nTR=$=jZaEk=-dhf?EXpd_bG3nX=<5~_UMp~<*v`CBY1`xoE>PjWg6C5(wF zo^K>lGQP22$f%n;WdDz?KxU@@&#gf2|FsqPUw6(oPT*D`;xq4k;k41_CHxx{1gLX1 zJV&F!N~HexbZBvIx1i*hE}oI}2P47v1o;Mss#ok)6$<3~BGrRlt@BGm%*@ia2hG^j z^`~Xd)bmJ21Ao_cz3q3eck;KJhh^l{iGh!8gWk9Io9EZ5htT!;hr`F+``3%oT*f2C zZ9zW0m{>!E7G1$!Hg4#NqY1joER$^sm%jK@4OACA8xtn* ztH1ibn2;`~cGVY?G?yQ9kza`x^}gj!fU6%IHU_&k{mq=apFJVIr?F8tIIT(kbhUIr zQ0GMWSULD08aBw?^VK{#QPJK!mVa=$YF2*SMBWcC;3bT@`$edb{NQTvpuKpUjFoxO zxa=_b@;t!l|H(mnlt@=W&zZ+SA9idIp+1A4Lf`Cexe+DmbOVWW8sUo_=>^OE6|0E z97p-0(){|2$7RUSOW0_L^sxAFeEyiV$(OZtW@s*H|_1W9Wxin z?f@kYJA>v(qzq%67K;6o1G&kQg(VyK#pZoxP#&kyEY|wajq$wMRI29lLVA~mdS=|x zAzl`RiM2e!VOqvhQ4S|&*G56VrnGnQKjx86UHGKf7`6uz-G5jvZKJDZRxC5gn*dua z@JlQf+UQ3xdF0b5Yc-`c>Bb>S^|&G(EfdH%cHDw>5%5w>KdlGOLD(^IB)vPQ5ibet zYp(9U1PRtE*Aqbv9^F6s9tuA_9sQZDL?0U!dTVP&wiP9jZ4~d2QP%@M$&=9aOg~sT3{Liu!rn6X+aDCJOA{|NajN! zpy?s~O2sG)qVwH#%u-AVH`4gUUi-u{ARFJZpzk(7;ms|;en;`#NXE18_H_X#ew$yx zz?(0GBBy0HhIa__mCR6PK@~z$_%Ss`NLuaCGOaeW)J)E@C|CY%hf6FQRn`S!VPQeog5i$oD$;@Q+>G)lxS1ucuvpLtbP#bt zJK%by5Vv5rZSHfZJhXVl62}GcXi9tOWJ{0R=Skmb=WvFtVAf&suwwlQ>&jOAW7zWO zdd{pMl_pPaDZXHZ_9&>k)jppD zhb|5FKAZtWayTANGiI3{=CCU6M8wc7l2a@|NAIX1Ick?h8G2wCtkN=c+33@9sW3M7 z={0rz?qwK{*UOhc+3jx4=wkOavhVs~-$`f6e79xfOh-{>)6pPvP^j~~ zZ+zf`8kBae%Ll3D>ZY$T`(9Y0GdW6#S6QX71#N92Lkr}$Wo+F3AB76>yiNJAD7S(t z2|My8N-;{|7*TH(7ma}}jim=YDz6&bRRcy1^i~e^ZjB)m%R`o3tCz7oUjUmhk{df9 zI`S~1dMc=2{Q_5~9l@r)3w6cAs6WSt?jq<`{OO+C&;=YFsC_Vf$ImgSEBR6vamx8_ zI2-!~jDc?4CYxRTY?Mnx=%;UMF&9xSqi&TrKObr6+KqJ)XoffW&6bILdCbjg!@Fs_ zE9%A91ON!HD}*A`rSopF$Ve?w$Ru{vMF{IORfWo`Kbz%i!y1ShI7Fg_>FFs7m!?9b z)@bMolvP2SsPn@$O}R3$G8Xe%$(wp!*>D;QAxo;RAVl2Q&~V^+Ga5KegJ5~1;Xs#o zAYS0!oQRv|N9SB$(}HR19QV`7{|{qt85C#NM2iA};O=h09fG?X-a1w17c;Yg**(*}di9poTy+o;3|eXlDQ06IYiY|e98G>y z*h=di0g*_rcVFbyF@3~pP;NekR7*>r6*Lc#{WZmnjf1nGa3`m|#dN`U{7H(@vNq3a z+Fe!BHhrmkMNi*-ds=^}uRfPWr?UqFn=`p+<+G7+bPhiGpizo)#Lo&4y2pVArg~FT zwb=T@Mc$C(A34}bt3?o8>CYDqfHv8!eUFM87yMr9om!RgV-^oK}CLARZpk}Mwc_=w3yal`nM1`FT z9gJs+5FUFvb!CYvwM0(GIkB*aWw@r?HNBnt8TadZY(!?sitA1S{rdeZhvPS=>r(S2 zrQStvWA#df4slmoW((gILI!(c`GtX9MqXlj37nPA?;H{92O;-Q*`phk<%|&nRFN76 z@~s!s=ISe_nU~jQV|Zt0(ZB8m^=KKx?-5=9E}p73>hiOWRWPm+P@B;Rh6; z<;bL64p=_-i9!9`(4CId#3)XQ6qAFE?J zqc{WS=Eg6_roYCx<|9}5N+HbC!mRE0NxdH9ix&n{nPe2dLEl2-H?-QUT}Vpyp?L zsV02OG-}CgcS%KnZ3Qg$UKO~_`nqfMIX$(_=(!|ms!i)r>>yvbj zICM8*L}i@xy*_k&+39^uZRfX27~B}Z{Oka=w5P-Vhp$KmVgE?Sr2h#nH(0pEp9|d` zDy>ym1I1!5cr2qFKBjBwDEDA;o^=sL5dWdJ9^o#HiO136xX0Y9!Bu>9sbu8BM%*^2 zw!XB#7Bi!gH*i!W%}h?2Yu~#*9`&HKq~{uw18YKKdCRTQoLw_J>B;ofdwQ>c@z;3x zZSOF>F-YZscwxUVf;(=!^6A4_)1ezwyq;0bvvCTC-C7 zqe{nYM8Fc~{o8FoLye4?gNJ3x`4@|;ry&KT2AP1&0=WRAvK7N0unm~%sga#V;1C+A z#=EH$l-hFo##d~t1$WFmdQ}6ED{v9AG{2=|P1Mt-b8GQjJHbVHLk+7aaS&8EQ4r?g zumeOi-ll5Qt8jE95itVRX;cy5_#ZWwVWAH9Ooj4Nd>@7ekZrKwR20uyYnDV5Fyp51 zMgHV8K-{Qi!tlFdTE$=!dDdaG-jta_-lUTS64}rT#kjg7@_%TNm^rOoQegS+e4*C5 zYGHII@JE6MMC{6~?>0j3@JVtx`&eCtQeP#wPt=xTo5pGw5uHgSnw+Q@OPG(7oa{24 z_7jm69V!zk53CcxWjrwXy9Nxa#OCUjrb=a~zFNxBXWDLtfM!ttcq}bRR=xI`2CN+e zjGo-^?AQ9XO0?A^qxdZlHmYE`4hO#1aV1-KZwo$HYmg@~5 zhOKJs&D=koUbV~*cI@jqrM`yQv6DMUVz?KT2eyW56Av^+#O^pqmWXdojE6?@=5_(5 zu2TF>alLx~QXH21(>C?iM7rUs+?vp;79F@-6W#Z(T6B@E9yTy;6EvZ`s|hjrnTm>= zavy(oiE{WF)}k0}l7bM=j&jD;7|t)Pd!CTkF%3259ji=ATL_o!I{AMwkWJ7?@KrOE z9UAI@JJhvWcfD#9E1CHxw-XNE4hdVwkSED!rKdaZa_)4QxSDi8eYX!Eig7)?ac3pc zpBP1aB@ZEHT3(qlRz2z2N3|BQ1mW*+QsHJsjG=05fd`np7sV-r=s>FV=RYy&Xj2#i!Iz{s`X4L;>fm3?eyu%%Mr7e9k<-&{r0rBl}y)*!QXbnY;2V zxf>iDVyXKzNA~r=T#VjsrK%~&7HU2J?>7goul<*tU^L!NrLy9JPo@cNj<1nya?>I3 z<&@II;FXhHV3~aAx|S#1gyokz$DpCwjI(a81@BCTw|(g{Cv|1OUbZP-XrO$|+WK8% zfvB|JGXQbFEI@1wr+a5<(>lxl@YMy^Tiw}l&SGZ{Rh-d|;b)AiM^uOXTW{O@fmNBK zVU$Leuy-?;|lL+Gf62kS4+vT_KHrCoi^q8L6! zG@h-np{U%a zfwYR_?ho4MGOBu@vx=S-b;A6jzEBzl51*NnIf&~LH}_=PIikAZv~Wf zmmfeui=gx=bNG%Hy~_YS`oqu~Ub*`L zQBW7Zkt)0IEB71i5eL>y4-SK{&kA(wF5ff)J7sckeiVIrF9A}>6){U4I;%?*RmSCZiiR%wMA=!i8 zH8flfaW%A$kic&45JWKL))5bt?h9Mz60LzhU;rlXiKzx}@<)8gaf*D7>?aTtWei@q z4ZzI*{6n(&TjbnL=w;Drd)1cK;SkVb7C@h}e=wB@jUgmSs*kA8*w2x`pAtGmVnv@=JV4}ZsFd5??*kZqb`|Na{Igr^@ z@T7WoiWfm!+IBP@a6aK#h}+#!wI5&$b%*=C7Z0axSXe3xrA-U_wJMTKlz-6Dh3Udbe^5q3*DcE=rrk#*a|*>66F zyg$JUQNi}33y9<{7j>K_fShdBsG~GRRD*AN7NR)(i{i+u{(YM+Y|zwSW?~#6_q7(v zPA7Fo`lFo|${eK?J&J|_g4&7m!Qw&LnPV4vimMQ1MN%Xgqmon4JcOfV%t9aGeVP8o zJD)}5riUcQ7vdGB7EO zjG}7DuE2{=LylmwaFd>^pzvDO7%^Rbw|YdduX4$5xV_p|N9K;!Rlw77b>L|{yc@fj zh80v-(s&c8ZGA>_ykrYQE0oFI#v z)&}JgdE;Myov-;+A~LJ#XRHUZAMF#4^NAlPg66}pgf^wt9!@Q(0!A0L{m4#PE_LU3 zf}j?NUQ14{D)w&-_$$@bqIZARPZU1KtWaU1D0Hmo908ZV_?Sl$TZ%&xI#adALzNpp zebJlM%=MI8gBwr+_T(!tG%W0y*%t588pQY4KFUG8j9IaJ9EQDyPlf?y|MBc@vC zPD3ugiJ~}5$0rW1KH$+vR$QvqHUaRv}BN!&I6E-0cOe zCxK+Jn~8=GI4U5cz4i-I&>Bz`Z~;^W${`=NDqgzH%9&sGt4SZY3rSua6a|50I>M&mVg@^3qMt7ZkV#F)YQVbCnB6}@3lY4N=5OV@c=^R2`)I*#LZqUh zE~XU$f``oWd5fl)lV|ZEanwF;)F3*SAH0-4o;>~`y*Z|iyA0J4xlU6s=5>Nw-KVE@ zDc#3tki?y-Ww1xz6E4AbQCSv>hu4sN1#?={@rQB`mBmw+On5~66Plg&F4bESrjkVO zyfSSZN)84;V~SMxl;`e>h_+1QHK)q3ZcqBAuJO^weYE*6Llh1gD!Dw`Te`+X_#+e< zD$FTee=8B1Ot?divOKDY;xBf+%6R{{M~A#!uQ48;En0XD-FOaPJ5K(erCO@80wa?Q z`9vT4=)J{#6X z44#kE{UNSBMjq(vSQ|UbtzqJv$zJz;$P>hG#ku_Yc4xT$oVG@&f2)Da8KRLHOf@*5 z*UO4bee}^z(`KSdrIf|q%(#w7-fhSB_BkYAjm^h&gYG&H_T;7*N55-EB~DMiiF1@$ zJ~S;jvi2`Q{JEa1Nh z0eL|d{Ac5y65M}&HHL79vi;y5T16ZY&cK`y4*cg0hDbFy_(Q^ND%8-Zo>$d%Y&-+; zp8aDl+|S{-rrVP2r8vYz8e=30w);7>Y;4=0-4Pz$A>bH(+b`UrQQ}OuD&)ZBobwqZ zZ3B7UvfLM*<{G3FWzQl( z9`)W{T~6%X1z%DOVwTQP;jgE`=3Z5dmE77NwQ{ixv!;X z(4z(O$L45W{8t`33r$_#f-~jSb~>IKj=2tRf?9U?;?b$;Xgbm>%X)(dX4SuBr-y5L z^c*IX4VWq9X^P$L7KnOs8fb;ca21s&@>28xOTaRj@y4}8x8{!pvy!>_XWksXD$wgpHAHuqn9%k%B!=GxhVJfBU;h_jJR{l>hZXq!W=L#U7s!>M`}t@#9P&d^JF->pDQ98VpDS5VNRkAl(ST@dT2iQBht6{+t;fqbOKZeH= ze9UHT=onw&&_$E)EUg}eb<+rN6bY=JiEJv(=_w)Lz;du5;=i~v&fT7R~v@A&OkHeN*S}|Ta=_yZnT}h8$f51C$z?O|llIPHe5XxC*vGj;Pex_AT z&kdJ{1! zH}tHBaY_y4O5hG9`EV^Nii?BcOzE$gIOp#9Cg@K+VEupEWMuij+GONn=J+fifC%UO z&B@Hj77@-pqde0#hM+NSa07nI?N3TA_~)YoXcCysA=inJ#li>|E`segoO1KMAPu&W ziLyw7vtHutr8U#n2pd~J_j+EnGGoW|PFjwo*C){6@$1^wo%YLROl4=YK5}Cxks!wR z@2>~fx1Mh|F$?E!w~r4`r&~L(hYsz6+4}DH?NQ0`~q)>3jNugJ}NKQdl60s zBkyu*dWqspZ@jWDm+sz=+nw)<8TuU$*R3hQ_N4*#c7Pku;XqZSh`uD3aM_0wORt@H zq{01O8s>HHAm_my6%mVg&i>cqDHD?cMrB}b??>ZS zWR+HXECK47k?jq){#q^EJ2S#Y=q}%mZs!$m(BF%iJO==Y^Qtupi&cW)P z!y0coKdQXfhr!%v@eeo#+TX-qPhlS(Wlb-fB`XwimL7OjKc;Bq{cs; zade9#sTE7h80@^NMl^qa#Vqb`bY|*IJtM|+$+552OENAfw5d&Lu3ii^I-$iW=4cwJ zX56dj7}`1WrTXRE!pA=X-|}!6k{!W`d_S1bQWo(nPYnG$pDI zEmn!rU*#QG$DroLs7F^f$GrGc^;?VUmlU$l%(S3>DxzhfJEL+wr%MpfB#Q)RDog28 z`k)Whi86`)z-Qf{VaV%LwvLl$Zpf_PiLJp<-r__m{sT>xj8jC2F2WX>EN=!z#bmhk zIe~>ggtb6}O*GiRtc#1fRw9FXE7&y|H8@nX1Yx^x5~DA!`2=eP%TZ~CZ@Ug? z2$>L7DRCaP6+B?}1xf7m1O&W4QN80#pAUU@AcVkLh!|+0^ zT3#riB6S_u**qr0EXl%T#qh(!Tx^l7CR{a6D#b)!;v4Ij(%5MDMD9u{YYlPwEAw<| z)V{N4{cld83J$zD+_N6sY`eZag)e=-7(e+ROE(!?)*_sS_UcL@v>@U$^IQG=`VHde zS25NG!F3e9&tz%9IbC&M3p5z)V!Sv;(I(eeC4eEt2d)^dqA}WKP-SqWi8M)V!6f1K z^b+1D$6mi1QTBImjDn6u1rZqkW!}u!wuF|p!@cjF|{$)F%?H+NLxBh*F-ngp2oxo zLZ_yBb_bT0j|z;I?~@7dKH_goK>zDnA($oTyGve=XbZx7I#1Mh!r@ND0fzVO0gpG! z1lX5Sa!evs^9O7<_u?Cg;&zbPbD&4s;#Lo7!`fRjKhOqE0&lR5nlZ*xBPD{;8L15ErJxbxIkdwu4=4_!PKIG#HOcW1~_y(@5~ z1Q_~bkvaERX(@t+51xaEEHeCedl{BAk1ipTveChkh~ujXuY>=LAP<)fYb4ib@%P*| zF-ac9hpGAk8Z!p$QVP;nzh%<#ZRCw1t*0rG`D~}hu9zj_`~l&zt_a>X$gBp_DOrS9<3VS~ozF@7maG$P3SB;bFgJ#hQ zo;uj$wy_SKLMy*;)0wjfbQAPH6xBlxfxwj#I3nfq+QeH3cG+?hjG}YB)xTk_>0>wb zFo$?B__Lg+|43a>M%Z^$Ve}#J7<=v@9m6jq*#|^|l0Ajg=z~NEA%}e`>afWgu7&#U zMs(sj=*1&jg-pdC>`w0FM%G3t%WQKP*B95rxXs|~jp7V9jIC^)w2mzk0ruyOWpB&8)o+77hjsv^=QVSqWxSYujFx5cMajm<2nc zX4!G?h1%bB1h7RX`=Li$LymK5!zgezk+Q9PCFNRr(Ergqz!g}4w;GL@LnP%%GY;RE zJRC`}0n-XOk7&02`FF?+>MQ5I~gmr)5xOXJi+&{bh$Lvy5U3`6PQ8-Ky?$> zF{BgIvNi*i(b)fw>p5|B|IFbb*+RLPlTW->hxU+@%E-ZBZMyhG;{mh_b%A2I@>Ku^ zjQ~OC>Zqr1BHS)PZ9aavRPF#N+gXHrbSbyF>LBFrXnJypM${z!9_B205Gq zCVN}fy+s*Z{dGlLjpD%GjdcU0bFFvvo8x3_`P57)hlS`Lr2)HBAIkg-K$DxYzZ+c6jNw)*^Cp6qKb5C zjcfmWt4-f{4$IuAhsoN|V{`CbPFF=O#(0`tf zir}uW*oU?;!JEyWSc#KyDrsZhpoDWj|(BJ)$EH}^4u|4nMZ3(JX!TQ$L z5^JCd0@qyK+ta>1zdt(YRVr6A7?WQqZIPxEZ00S(JQ_41O$j(>Dmn6D3fkjec6E(W zXC(Q~^Hq)pp1P@6!&YS&RJZiOhzi_xmiW)l!5n06m?UnLhA7nuGNW*QxF98GSo+Vu zwkN(#f#Zqbh?qqO<^sjx%lVs#6B8y6x0PEdw6(WHE(p+OMa z;Di+0!GI*Q8y--ODFW_yoq#i;dfoXUf??G7TsM#*Q&-uE=CETP+x@`eiHlVICY7R9 zQXKMHHF26O!~PkOGqqlZou!tBd6p7A*{Vf~0XiuyKfS5ddU6hJnj8s~GWPG)v zF+auTG%EyjBQ?JJY)oBMI>J@FZztQ(--i0TkWqonhk28~@F;N)A8=ek54Q4TsKqiS zSZcVOtSmr!ksP|@A`aN*5^_#VGAx_+EL~Q>9$*!X#ej{bm2xJX*X58`+80RRz4WN8V`u74Gk0W=XRvt>0STS`Cb9?6hR9 zP$Q)m5c=|xjhVwhH3kd}K`e*Q!OWH!{;7R`T?`ybMn@iu-j?*Ai|H?mu+puL4C+o4 zi(3?m`sox!IMOlQ+I{I_NE@+dv2&2Yv2e7OrCd!u8~|(7#NA1Da1UFVyh1wKQYWHa z;P%dWW2A9?cW-OQveGce_peqY`-Dy*3xy5Tk4WJlo~02sRlT>O)WfbtS$D%F3?bAb zRz=mikpSaxZisM4Yd(zA&`I$@lXm-sh`P}v2B(c}tXgw3Ix7yS5a7!iQ72Z<*2Jx}K}E9HTjE(vVrakp zV}DRs%4hH94VkgB?ZZ|y%Ez=C!Q3#~T#|`rSHVi=P;oW>vw1{nt2x|q#Hh;XphRn< zOV=z@#2IrYJ}RF`iRZ^X#ErzD7PY6QzBQ4hb-iK>O$c*wbnzv21jp=}@xzEK51J$lw!l@#2j3{1K@<+qe>R(wOx0n0_`I6< z_u4taXCP=l13`=TH)xTmr8+Xfq&fgXn93(5g_vbd+kT6j7Uh6ft!CFGV~~ueR6h10q0k0YR)R*%&1PG_W#tJQwdoJbPmon}t?nNsROU0BjZ& zv`9!R+Xtu#qXGdN`c)#3>VE_OI0BjRe;gt6w2AnI#gW~sBCJS!A3r_7g7LxJyfyaN zFI3yAI)~exOZLo!-*XLb)Wu=k7LfrKpva%kYg z7RUf3!QyaEpeur87u^IUtVD{&P?*my;{DD~e_>8SH^-dcIW&*dRNb0w2~yx@N2io} zo`o|Io}XrQ&1kI;ts?a?5ZdrwMvW7r@S=ZBco}$LQAPz6QbWwj{QLQ2nSpEulprDI zLW@zCCV6ClEy(|D**5xTi$-9N&odTIc!)OS^%VODkD`1WqU{3R65!e!vd;zza+FGJ z2%rlu!~fGSL>}w{Wq2{#L-aFp+*o+XI2S{e2xXj#CaQ?uSg(1>p5uqC5dQvNh5NGtXUTb9e@Bx_v_r+KX)xC40F;B?#{{)o1laWT;PEW3nvx8R|{2?ANKRk@msio z)B(IALz!$YbeONnB*fG&@(*mCXs|}gx_RrK%{w~ls4CN|(E3LZJjJsM6U(bVgsn5o zGkERH1HufTTCMD84b4c_WdxrcMyA8(#+{U3^i)iP+vVDUY81Pb{rC6CS7r`pIWnW< zmQO+4lMb?8I?#J-6do8fZnE@NbxJXKo>D!Y7&&CNSN`QvB4A?JROi6qm zAtUMVB<|1Vkko@j{R3rS3_KmQUqFt#i(kb^@O{`qqa@&J<19z=^~gsDv^K!-%T+?7 zWdBldF+C+b0k>fpzXL`i(iKko2;Va_EbR|9pyb4yip-M8!~&_bEfa(MOUF--P2ElX zCaYXAk^pgJFE-2L2wFxU+#zB*e2}jg?O^at_HukXC=_{f6?mt#Qhgn18ojP@kg;Db zQHHX%dpX^!w54o=Yl~D3l}aPe!3okuqfGrJgj1gkCc^gVrL}8RDl9aS8_7J7s+SJcictSU z=Y>!y^C+R;k0a5{o{!3E5>{e)VNfc_nGqX_4DGY!o?HM3+nh2Iha?6YSh z@PCG8Ot2O5NCp2aC!K7R3B* zBD~~OPLE01evS&2ud^?OMgaGDN9tg*!gbjkXaR)-)j&{EI6j)D5iqJVareH8)Wn#y7!jV8AA&t?HXD@w8Hsx^U<0l!K`-0ONQXBlWaV(yN3WX&bx z)r%zNiL1F(+3jPD3ruU14m2XBg^5`oa@aOE``ZBTm4lo$0J$oZsM?)GZ5f?R*nYUW z;7%dYvehLZg#4kIqy8@i>^d$D8uC&z86{vUg0jQj+#Zb%&C4FaKgJ#%@e;+-A(@i zxQKB9*=phra0TxF=PKy-OeiuXQ8XJc+01U`V#*^J(;+G_%H{H5 zItUtOt-y)Dtwd=tkZihGumjqU<*`p__wF1<1QD&zgTGSgb|a@jxO*SCZEY^|&m>){ zO~vhTljd4EV~`tc};7r%^Mz8p=W}VS$*{3n~%+P^>VEX6E}FgNpu__ zZqhHyP_wQ?^0SrC_~*7-sdHFWW*S^<$}B?W7nrOHDi;v-Rn_wMubQx5ZcF4S2}~-} zFV+$@K{R#%_(kYAc8{3+=_Dp15?Dnz()81wpQ@2M9CE ztP_Mu&>~@1;qNd-hJ#dr3j@ti-!zOn@76@~yf>|U4azXW{PT>}8%YSgGkZd55lB|` zH~r>U^sGXrOlXylhWZ_9wB_QuIpL_M^`&Nu#y-&lvrMwe4Ut zgH^;VpXGuLrx3D*po`ukgx75Wro%$TLIVUAovHTXlC`*1-|F$wmhxFB-20nH+s}w+^f$7CY{dg7P{;iN;if6Rki%o zj+NIRs|HUl28ktcI((hJ0fz(C)4Z~tt~5Xo01Fi zQ|kdDFH@3)p)YgoBWi6qK+}{Q{1-_@t?tv*gx9)v4z_Ikg8qy}Ki$pcd7Mu85BcqofA4VSVB#rX zro5-{`>$OSP|P61T4Lp0+SOn`nIu3`^X7vo7*zK!78PnnwcG)Mxy53|03Ks5_8@0v zt2rrRh7^Ol1ysFTEOdOMzLh0QR`mA|zmK&cdVaI}FBSzc<2i~lp2mxyM0RNSMGTMz zivMp_?s6S|D&k&o;BEw;4EsE13@=JADSSZc6;S2<>?%izH(YL|(^mC0(yRNI5=d6q z1iRQEha+I1X%HtW-c|AzA)qzDyRN%;ywuT+;Z4IH%IwlOH^qgd4DWGzv0V;QTpmJvhDtEm9mRF{q$=ktvm|;i$lH}d)Pt>&oMtY;x zd`8@j5vt)*Y28L_Ba9ZCvEFx2SWNUtJNg$~vy>{y&aG1UF!i_u1N_nS2XIYFH_OJI z6(2q91FD#?z2~$q?2oi+M!?_sa#{o08tJofzBTE-h_1f|_*WckUufB(zLu%c{$4&9 zd=6N)@%^^yJCC&FH(#Ei+OyIwID)5*J*f}^9Sd(0Zq7Z7XdCD#fIY>5juqJ|B_5gB ztoyT=+zs7kmHrz{~1!OaEyA>S*u%6B(1hx*#)swODx$T&Iis~p z_1##R2Z=DDY2~=#SnT@4YxrpX5H<6jcBCg)*?7t$Z}#zyFmj$|vEl-68ZaG^9u%N& zspb$klyYz5I&??dZF7ds!xY#MoN685Y*x9C3RKqzOZjn_k}#=S%4z*`crdhUc#t!I zl9)V*inxGAhMfV5DjOg*yC#_;3CJ_RRGKTu8vDwGDv7X#pm>GF^gOg7qeI*%oJ__? zxKzH5MJ5XV#EY0LJJ{uK(VEQt756E>W9l8*!z%R4|7ka$_5W%&pOfSB|EHl}eWp&# zDo4$KSB6dQA;=?I;9(#>Eu9!6%li@Zb$LkL<*?cD21HtT?{BYxJ#QhOCyLE?N=4NU zE$I>#0eW>HF>dLM4*M^cPOTb^UkmlftK)$=;QB&(|ZbrJMIQ-};S^=F;UP{{F7T3om)C*HKx<=4uXFsUfo-)JRSK!odQFhEpP6R%0%B>C^|GX z>-%Qm=LV=-nO#D1N&{_L65cbsaC_}C4x~%l-XrX8Db{162rAB|AxsF;&<-_kY%EipudjMs0=*RGv!rsORU1PHN{dk~k=;0?X>K zQHrw0FCaMNpoipESbF#HcKA~I^n7>a-W2z488-9H+neXuAUiNNyFCFe#2|Vj<7uZh z!&2e&@+D6onYeDyKwfFeU^c`xwL~dVvOQrVeHh<%-|COU6bR*pUhmkRP%dSLnxei} z*<7nxFVSnCFHMDFruQ+bp ziI&d-qrPqp8`|R&<-cB#MscMl)&m}U<<@Ysj~@rU?e?>i{QiWL;9?=(T=UtBkL{U? z&F+1!vktQ(xN(E{yxrj>(dWIV4$+RF*=S=@MB&9rX0BOA?x{HsaawjjJo}Mp+t^CN z;Cmg;i`i6L;Muvv5EK+#vp%%WNM?ELEiRnxPwvR}@J8HA^OB>mrm?5cG(}8u=T!W( zFPJE`Iibyiu<&Db==4nG;t}u|HKaWh^Zj+Qt*ya(&micqmeJ0M#>R8`9i{54Tp0IX z+z%__(u8McG-zi|l}QHU1yrkE%4K%>0n6Zr$>x_^Z^Eok7nd&&&xa+P-U2T&Pv)@kUwHfM&m>BFc#;DgjIekHQ|%(6c0 ziDpRL`=NcLwowWMtA2m9h@mXPuRa!yqYP?{^a369X?^VYa-FCEuVxrm ze6Fhv%qjB`POy@0AQj9XyK*y|$(+d3xt>@j3vv^_U{;+Qw}2!uHKWds*`-gT6Udb@PiPSNHMnh${+5$SOE8RqO>k9enYSD?6$) z!_;?)DjEih$uIKoBlA0ZTi2Fc>$)=D8^wmJ#~HuEoTANq9q-@jkm6L|as_}}nfoPC zx{L<7i`bkr3uA%E-tk7VSJJ_u*wjB6Q_O~>+4L2=wIqT89b_r((IM6ozbdWZ&=e|Q z&>Taou!|tc97EhR0>OkjK1{4Pyi1n+bAU1;U63afbG#+TFvS-G4y75v4&;|x{?lf_!ai%z6?zZp%&SS z-zEJq@w&groudf#n{>%fp|Y)U5{!(}qqU8T!D-nRzwl;cTNB*apQQJl*1kMna)vc! z6<#n65`V70t$DwG#A0?-fNqsg&1E7+TBy58v(L5l4D{FKjQx2{SccKK|nDQ6_`^N z!3pWm2n`+}g%MqhhR?y3?0g_vtAc^>)#7g<1~=2K^e1gBB3h&OW7Q!ECq)jG%Y6WP zs-f&@{6q-lhwTHtRg!}C%^zQ7&B3arF*X#_z>Sx;*iqPr&bIOA6$&ql-sZG;(kULl z%iOJ{qTMK%2Sc-FI=Bl?*)N?b;V#mO=rbWv+=Xhx zAu`~hplBMyN9!E2xF6kOdZFKN5#}?WSlMv$x*B`W_=bjJUHNT7m@H?yIcyU`%30Dr ztccwLtJI4Hgyux>GlCh!3JEV4PmQ&D5Yd{g(DhzV(-TfvHlqROl(;5rAL_$IfX;D6 zNpBJn{i$`p$%N^GNHf3rXlUeRu{5AL*3|xBK^I>CQv6~WPdfvv_@wcCsNvX?If*&Y zaY1V}adOj>s5ZwQrgoktRBJUpA|F>l(bf}O(U$D*{6i}^;(*K2?XoYm%qs(Pl(YS* zr-j@fYDcY{^T3)0;o*gVURHkdrXRspnwI-UaQp&$5y0%v&jk-@ujz5!Ut6_pd_1{I zDdz7v7mlQ>j=kD9J+HUEu@jlm1^8SXrTlv8=e!z3qdhw^q~Zk>*vX9#AgvP$jq$O6 zDyHP*UNuIBbI-%jQbt{>e%t9*u8ta2C>m9)CgFerUc~~gIvmUE-6e6vxeCD^qfp#~tmeB}BUW zk;B2Lox>P%@Un=Z`RhU#4Ww4cDQ+!zOORC#)93v4Kd^71jpN~egb94i!X>P2H!&BrCxUoEC( zYdm7`ktQrT-MR2V5xJ2_y1C~4%LpUWjBM`eeeG?6f*S&a7zs?;o5(>%azbc!t$en7 ziPRD!DyKQi+%6B_zI!>phU}hh63wYW)s#i48Ld_YT{3R8bg1b(%M7lK^A4C(a~>Kg zs15+#aVl@zqn)4-HVC{hd=mCqFRY>a7c##2q3yA#?t|%~{6zD@@Q;9~J9;P(JEI`d zZnCrav{_Sa4_S_fPuli16939F6U|>{AVl1w=K>VuyETVg z=ofPvKbqt)1cDq9nXlrd69<7!t}22~R!I0qQSWc#@O-Eu_G6#;wrFf*&FKl;!q9MO z*%0J;$Cw{3bBhWDUdo6j+LQCo+`sXLoF~T|obef&Xr#2Xl(tlRBdn?dE%jvj^>VR* z6EMj6>NLn~V@h1I+M``Lgs867O){##fR=|w!r$P=l<4WhCrVaUJnLp+qIx}NLpMEV zIX@gLk@wI3YNE*owj6b1f;)0NXL+EGmHx$_VwLU*RF@M=ydxoe@Si>7PqlkFW#jwY z0Ub}3^`)aM01GDG-EoLt;<5LApxPh>qj`eaG5N( zO_wCsOQzV|>)JC2c@o*`ecxgBn-?oG;;^7^dwxvV;+{O)(AS8bhw^P!y8_}zhVtH$ z#J3W=LSph7*}fewqK-82yH&B7m^f{U?aOx5)meWVm)0+RJ37=k_M|>`xrc*1^-_I1 zybOOURo>j28+1rzl?ayluYuVdyKWX9P}60Z+m;^=S!V`ji*4w>{G>~pxjjODoKaJ- z81s^ar{Rn*cns@JMZm@FK_@_GYxX|2k^aQ}298+~YqBm5{K^UEN~(YU1QLz>M2L+3_=n zmGK8`2z<2DLmuVe_3e4d*sDYLq{!)29j5JEbYdarJ}SM})O9(xc&<01XNpDUmz{$v z;l`;(j^5_s-PA^~vX)!U$UXqEXd#ioYpU zb=~Z@mP_kKtW}AYGA^nt?FPc9q`019rkTWND_ok?C&s6b$_57*UwnXee!xiv|Jeoj zsU*(Czy3Znfthd zG#KQ+qa8#7vH*c|Ft^t1HY6BX2fGude#RJ^f?t+~$jHKyFV0sM7Nk!m_XT#1Aob&P z3bBh)5`oi|hS};$Llxt+BDM6URQ`!hyvs@_x>0I?w^T;?huQ{4^NuQD+BTIP1#}{} zHFxL98=X22;#4QW2$eHF6WcnJAGz+!wepbkH6i)+p{y9!rSyMNV7cZ*+5%St7 zYcw`mRQkfE?>?1Mq8dxxCw^>-xMe<~OVsJq+4pN`w1I<@B61|clUqMeFK`r^Vh-lg zZKfyQQ)wF2?fp-9+rr(+Sz$@X!oH*6`Ro$h*^Ojp&~FQ}DHj9Gbo6RGQ6SNqEZ{`p zm@m>xTL)O6VQF<>9|vH8fR(4D*1++BGruFGl>8Viq)ese=6y?@`e9~ZUSJn`hy}p_ zE+)%3?j9sc|piL^J6iq13Lwugln-xxk{7q!ug4Q%;kRKPvv>H{A2Ie(3O|vx28fE%X zShf(MN-*U8E}Zz`lRlmc?-W>(nZ5ufmNdGHH9;VYYW#k_UjAL|N1fM)WsduLts2iZ z3`etSJUWGe!mkM`RrKPafIhIt()nkW`Hs3VhDLPlhy>%+hvyeY9B-9IaNGIGdOwln z-tNniOs&oGe5ZNvomm>cOo<99FD@$tIXhU#)IIIzwIrfPAOhOs1|pz~jgXpCTLna- zN7-bt3yFUqSoC5Hu!&CXcxGHB)zp#~kr2`so(#0DEb@|e(dl-AO!BO)u$}@VosLk% zk1a%x9~KNbcW!`-TiVTuIA89CYsLO<*kqs#`;{7{_M7K|16^7!ecu6HD=ca7gu!O_ z7|!>@1|H6g$cdWaulUPD4uh-ES##8=f7O2V=X<$+QmQ=~XAa!fal>?$5qu=fxje8L zMepKa?V?*nyeQFJIil-@2pC4~=$CIoY6xBf4tEf6xU^Ox15_TqUn1#-a_PU{_Yx7yQr6DSt^tt^O&CY@^s!H<*WV8!z#8j*4W&| z6(tKX12#k^Vj#1k5oxkhi_ab`RKN-I!v5BUtRtAHy@FI`w!Jm8lo>g;1I0^y@z7q8 zSkc4A+=8?=*Lzg0t$kqa2v0K`iJ4Bpm|Q)ocymY^fbC6)D-C()q99(^4>C$T0m&c# zPx3?5{z*Pdqcuf!I|@#Lz7Q>)Cqqn%a2Ou3)hLO9Ius(q-B0*AcCgS;4S=k#;?>08 zL0(#=NO##$pkt>j`BSMV*PMjV=w~tz3u$Hzf3KXVkX-r_J>!paU9hSaZEWkBN*Yy& zPldLjk~7pua%g^$5Mr_Uv(YES3$DNJ!i;B=+Xvv;n8Xong=c$*q`9hO!tcf5kf+qu9sBjn`zSXF)#?R>fX_f#% zVA~sTP7*+^q$Nt7UrLl>BTiLm1((W1jl%oev}^;$34}69m1F7q`rE35Jey5N9*r(+ zhv?|eVWtH2>GM^Q9rM(IlL?4(*r>GEgX?-sN@Z@*%Qt_Q2F}$N=5IGLQMzAqu+2}_ zM}bNsyO(010XEa4Lvy@Ju@`%-jnBG)uEmW~K?$NEq5MIKTJgoMo*5APmZUZ$@kwzI zTA-7i2>uF9U^7Dr033wSMBY`!YbO=qfa-$oDgTM9E(K^dD$GRAVPGYamv)NjXfYsM z+%y0lchO#E3(P_VHi`pk0|g~U^94$b@Sk|i1QN!r$kxX$J*^wbF;o%e(r^CB$@02H zT>Hs_i8kz>?Jl|Y6FR^&DQ3}N@K~9@Ux{FGkOK`O8j%AHTnVhInHJhjEn%atW~{p@ zN%ZswL0eS9vZT0UpR~B}HyQCRbXGESG9&q3Dc2pQw*sV>AY!6Zq>Ka`;QWV^=&>R< z#B@3uN@NY0Oa8}Xnxr7246!JB@!yGM5)wpqFdYlMBI1-^7t2T)Ho@7yBStciG#jqJ zeFX|i(k_yPfBoMcjV`NQBda-VDeQH6cCe*;;ufl+%DzVSN9EQgH#erndW2JpcjeN@ zdr$=LGBKxk9HtP&T{bXrKRXHZl5FKg$61$*6K)ax6A!{I!)>)kcUAkU)F3l#yu%8J zJxvpE+evZVNjj-kn&eo&42`>=Hj`|DtV91YB*F>OUH)G(J^l-^LnOO$$CHw^G$Qp~ zFtXPzX!_A^5y%)iuujUxTvg=8CG3oQ0P&^)#Jhu$m|^k-PA|+A67U8^T-1LHy?QQ9 z*}1ol6H95ji~kC3oPytf`OK~>{GF`hBm%OHDq{^SGQJTAVJl*hKRDWGJ}HUAcQa1O zKgt9I! zYzmt>_K~&i_A>4(2-N01iVq4%Tcotd)~O|^&bU+U%0m3JL$=6=HTGD-`ed3&B$1rTje@O@8810AG4|3Ozp86*JOC>u8Fu1_06j1 zqi)=y5hL5wjYc7{rw5I|bJ7J}0n&I`wDh>Xd}Z&$0y`>bgyvnt8~Ngp*C9NLmGh$) zaDt!?axRPSn@LMr`Q(nO+L-W~+OI~xT`dbzZZH6l!9x`|b~??XsI5`_+cok(^2EQc zdP{%B2>BP766W|0gHP*aDdlhH_J(T4n(fSDm@|Y_0jt=S{Y~sHd#Sy#^5;HkBAS>{ zVZr_21{av}Cu=Cr?Li8aMlx!>w-+yN?bD&w`B+p0;OQS7n@$^*ufMF6_G0{$A@;it zEmyCYkgHz|zDtm07{d;nC}6`*w^DuU3v~!sZK)Yp#bW(|uc#M|Z!8zE$hDQ!l&93} zplfO_Xk&Vs?ps(Ht0%6po**-(Zcl-c*aSp34UN)0vnb65`liA2TRxe2iO0Cxmw%*Z zW*JfHJT;c>9!-l)Y%zXVqO&_voJ_MguC@#Zj;7@BOVLC6$lI*ziggBuH}vbKt&h|U zAxazr;afrEKnBO4rKYI9WyDcKA6URcHHGq&OgKw5a~ zgUA$$M$6@ImhJQpMkxf-=}k$#z%jSCpWDn;s=4%EH{-65QV3c!P_i7mS&++9iphVo zDAiycZ^7kP!2NO4CfIgD1r5If zYmg;Yb(MAUv1WOf@ajZl+{++6ySuH$b6~7>VmiQ%V$bnFV?phQQD|V!vQT z(`>fdc(t*r`HXOJov+Ge_N#L;TSd__+q0&U%E!_VjnFA6>q`U1l@&0qJz^Y$oFwgn zfxyWr>Hlo&z{vkJNG32t4Nck%a$IZ)Vy^&2j};R0=2>OTZuSw%c9!)U8|0cT9^+Rr z9#pJvM^s+2gZJcU_{~pzsZ=Bj8mo1zD@5e-1raP1B{hV^JZ_y%!DOk_XbS~oS-yh? zlLrCRa*+I%9c;c=Pu-V19)(PemuMc{XcwFRAFACYj*;OO~1divh7 z_j?^Q4euqlI%BW#cd2A|Pnqlc$b{6>cJ$>_OwDZ$=6ouHIZ` z`@mwZ5AB6f)ObR|syQ2~^6WeA&nx*N=e_;*p($l~tCSxE?P03juEpghB=?5F$<^>Z z$<@~2+Fin7tsed&M>kB{UtJzRzf9%AV^1|IjXoZQYq9NtMNK5l5OZcA{?yDgIaQcbQlk4FzT@_dVuFBq##4V}lw(Pr4Kl#?(L z(?^#uGGcu~uIKg=Ae-Gs8Hdt~w~kb&p$MC3TS`Yw2rDvt))%Dp_F#zN5e_3$vsJhV zH!QFj!FUN0S3X6eRQm_A+<5tfPr1L383CF4QH@;G37=u`a{Kbn9htBM&yW_VL^{<& zzDW-C)>SkI_uC)5l=bm7 zds*_#n9lc#ox3s#u#uT)6(bRI1g~U%1d2vStg!0M0a0uR5S&Go*DekOz1i3+Q}8%| z?hpT``w(gkl#`p(feo(U@HC5{=qVB*;eUxy z6VO;b-ghA|4uO6IzR*9{5LJY-mwz{pu> zgZ)GM*BrcE_3NhX*W2H);KwHwCjsU3?iBSMYyR(7V+sj^gFK>2k-(e+3O`%g0UUq) z!pAL6t!U@hHS>oBl}n)W`>{D22B%(U)7!mEdn(%7`*VBjutV}!3&|Dl6Mc-FqE7m)9jE;4`08O|>mwm^v+MbxZ;j>h zQ`2y#H@LmoS{zT&z;N+SY7<6HW8ZVe00%p8TF2|6{x#f$wq3;=bA0RL=0WN~TGce@ ztnZwr-HFutBg^wCy4l(bPU>@Mjb+UfExkkgDMykby!)(9rGEBM2)QY)wdUip@vKoO zvl-}up*Y)G<0<*;)#j?wxNlYcX;1Sp*U;W)?mCU+`fO&Zgdm_X%IpT;J8hs9pPY9r z{N`vO1e5NC^}W#Uk!0aSqT`ZcMoUT=)>Wf(-5oFC{VKmrPOvZE!3$|yaYgoUAx23+ z8&Y4I+x;`X1IPRAVyk-!$~j)>SRUm5nY3;J)pPS1o{43Gy4!W>O#BkI5%o-Bopg*I zhkZ0sNzd4nVoe*ZhWXTPe83vypwhuLT%m~bqO5}u@zGy$=J@7~aMp3SKU48Ci)Zt$ zeOKw@+9mF@3w5ckJ>AXOtIgDT#rXNN;O+Tfqo$oplR8+!De>H6Ri{2&ew{}vb6xIe zfdh~JY;r}LaVzzJXY?Qn_4Duv1H@TBlO+@NiZ8I?Q|jf_=806`)$uXXW>4*kzok_r zEA+?x#Zvl`W5vl>M>W~d(UvrU*K40a1IBGt4^QUkyF;EsWOpFT5v->+%ucbw-g}MH zQ+Xa*TlEs8crB`4L|Zfe0k7Ap-Z1788Gn24bE%eBo_BwwKvVabQbv{Kuv>p+#dX^nnJxeAVZH6Rdd4*5>Z}n`U+Tm2( z0ij|C1ztQ7r9ocSO58<7V8fKEN#sYD<2ofKy2TT-x#tam(tCL|?mVJgl< z1sS^ZQHr>GOz7~D)Q%~?Abr_tsYQX*Xrgh2!+7iy`45bX!1s6Qn^y0n#mD?b6v7P&f}ci4ML7NCXn(6Iwk`Y8~Jbu68N;cMfE!n}LYk)AC<)ttQtQ`7Z4`4Z2=Po_<`C zbtURC*N(Km;j~$W&U#5S#ZSl_16zN!=N#%1WG-Ad1WDuF0(jrGQ9j0)^@t5eguXq2m?nqPy1Y2rNW0?)5(VmjKf zi-=g_TxlQ*t$?h3u7#@l+Ft>p0pZc_S?#L@8Wnl$-S@3O6xlAA`I&yUchEt#<7vRp zGkMZg%FBfwdz^qOMYUarhO!9ru@KRP$1FLTa2$C0r~Izib^-oKJ8FP@!wpaMpY@;Iss}-ye^bk)>c%TU8>waY zQ#6!)AyI>uDwk2sBAwm4 zWs4rCgiuyc74Xi=D@Bh1=-?4jUK7nX=0NS#NA^X-b!rP2LVp~d5L#nb%)~uF>!I=u z6zPPXQgTGvj}0`)bVV(olbSzV{smOGM2Hp|;3sq=(pQ1?dB!1md9)yE=5GSKNC9|O zBYU$Br0*H?kl(W6)2?zOAT5lBy_3u|gXqoio9rIJbwZWBh{6=nu^%k4U`Ie5{Lkej z5#45)W%w*(X?Q8RzXY~Hf9<V{I_24Y` zOmo)R^Q+ZlVuoID;VwNaQxV!45-55M-OOB2SaLqUu&t)alrc+uQ4*k6JA-oduM}wG z;#mhaKsYt6W@^J)UzZ~|du%CqT_b{6##IKJcVi2etuy9ef`;R{VEoa@Hv-|)hpz|L znrU)rzTVTy?;m`DEDdcImI8_U$9*N(W`Q9okO+tj&=#X z(}LAV=K?q4CJHZP>ad-bM%>Us|FO6XTNvN`Wei90mpyep3{t;rYAOh$CHFi$!6xn^ zib?Ie&jmQY%q0ka=pgB99cX=4=iL!cQ5N@QU1ux`6Ts-s`-c4@x38!Q)`Z3rtB9%< znPE4f_FF7c!I#$k7Uonk4$pzdNA^H!L_%Z&|5RpSy?=>*xkQhDwNh&i&c(qj|Fl8} zkcO-%f37)o6&o5tM?6lFu6Gegw#^lhX2 z`O<}GBA)X~U=V-yI+f7H&nBwoz9uy*%y5r$?bk+*c|#WzCuhw1>g+TB1MhYN62~ik z$Wf8;lY;%rqt7Ymsk;^|%Kwmm1tYdHOM@UUWh;GWpC34Q0`48A_#8& zw*Dr)tkEWxvp;Vg>fS~%DD*qvVY)#Jyc52MJdkMAL#;Zd&Fc`B?%y70JhOjGTcHUp ztG*q~c01C~Tq04DJLTF&n4z!Ha2^+vRd36B5%h@fc2wAxl6oG?S6|D35dAcJd%-xN zudxckr)})3iJ}#mX1AaMI4nZ>?fC3zfC+ffnQ@ul?7!8_)zw3|E2*>W;=+;;{KkZb zuvmfyZHn#vW0aP5;42OV>W+f>1*rUhq??W$$UB#SInlYOrG2A}GNxw+R`hbLK3oLe$k$3mEl{l}l&01YG=wGZMmQ@ol46@b@ zPM%L%>&CcM&Kvh#w&+qe-*mI(;CQoT)w?5OG*qt6cTLwe?v0Ce;wMY-nZ5pnoZ}x>kIi@FtZf|GL zDD;O#6cxZGJY1B4%`n>^xk#)y>JO^Z^+n*0Ac7=|EvWDUyJoq$s9xC5^ zJ^G+-z;VW1iF&_d_pK7P`>lhQ$>)snwOoKopriG6FopF1h6kFtv!@cb**6ZU#O|B4 zs8k0N)E_YbOmtF$@!}Jgr6QZ@`3No|`b)pL8OxYRyg1f+sYNAT@8w{tvwaM7%5~$CKxlB1 zhRYGrpMmfQO*3zpz}g+49z`$@VsGEn33{V=%NumLCy698v~qgNkIlUvo|4@EeR`V0 z{K|Ci_rBZ5cR8}itHRM}etS?gG*y3Zf#5>}CGHivqtmG2o^EW^%)E^bYi#MDhyCRH zA8X;xyAwM&S?C{`$ z1v&~%K*XA?Nu)*ToX8pYDd+&_tf9|FSQ(uWk=BQ=NA*3*cgpHMn5&LOVgjcCN8dDT za)#eOI6Cs~_hT|I>!xHx8o^$+ZK}7P94XL9WTZ+7rcj@yX;n&+khLkjW9Ot&VXJG^ zyG9`EHKkd5{8iTWoNe!Y>(GwvmMsIUR+CQA?2#P(7x7EXfjy}M3*X803&!YJ@Hik3 zNcV^hjo}~4n5#JCgtvIn=pN%QRi{SwrU!LyCm z4w+Sv|C4QVecU>5OSL_r5t_6|-%+#@`jpDH>1otK%4h1+pAS@qeGjgqX5nwWt~e#3 zvDE(MHSOiWi{Wlh()P-i)k)=D(JT2}ZCI-vh2q9N8_|r`I)A;@_A_}zmVMR$e7FkW zLsI}BnooP?41<+nnF|GY$wjG+Y2?ddGNSmZ&ta}(IN*?4`;vcO4FG_DK5P1a0y^7- z;v_MyM&-xG!St04XbG6yDJmiZ+Tb!AYw;#AigAsB**D2;Jf@S>HO-w=zciT6+<{DXLQD^ zCZ^PFdDUQc!FXd?4MJ9RkC>l8*138^bgHH0ZAjq5XD&QNcg}^j4}2HU?ERk9GDs+~ z-a}&@OD?c3?o~u*$)Os+!%jKOm*HV@4(kKzV!s$|C?!-p=$Tp0KK28UZylrNl^?bO%3{$##wY62Hm+ zrw0L^Vh@>RG<9rFmm3XNYZdGKBpwB!(NoU1ufoc|zxjD?%OP@T><0wtJ{ z|8N~18yQo0j*5`YLiDo_iyk_Bh`|yxe_d>^=szDqK?N4e8U7P@g*`B4ya9+=UgL#t z95RLJ;cDgBC(T?e5QKA-W*J_4YY%Oj7$g`b&kukKS-zmL- zBMkr&ay2!5L1Toe%xXvsZMHd-X`ZVG`Eu@JgJAm$&9TW-vGskQ*jCxqHxwvCx5s%c zG+XR;D563O4-&IVjdeR(9M(`DqzC0-F0RNv-r>Ou%cb}2HNl+EjZz=Fw`e7UvD8B! zZBUZXbgu;Ca#yhG;Xd8R@DIQv(qW(q{uyvan3DgLoscQCTprh97Ul7V-yC zy$T(;5Zy*pmsFT*kQeJgRIgwD14(s?#GX6wk7|zjn=Nm{5X2lEbWlT!-;;39qj044 zY2Om`snR2tBe`A@*_4fnKn&quvb0?=c)Kpl&s|fDwb8n5j>L<_t%C0(rY zkz@~m-#KYEJ|d0G=+|-8Gc+r;^!@<9C1g)gZL#a#>+!2TI&RLN3t&Vyc+#g-TLcC~ zNo>f(*(9c^lMK0x{-|YIjq`A^b+<5mSw#6kc!$9GNq!?UsagG2sX$l z_yY*$ph}^d83)MMxaztq3E-ej4jmB}{I27#+Yd}oMS}oc9FSQu!M?28Fwa%P~$We6stqU;2McT6yRCm08{SbggAgYiC)XlO=9TsplUGt zzh01c{bcuU;T;{fnE~fcKMrRVe|G))n zOywg#yVi?wYx8IwX1SElpF_D-qOdBVr_&u1gf5>E`_>;Rt^O@q8u(KVv+~47W`s7_ zxv{*(u#&vQzSDcXDRz-ph{0`9zaWLZ33*2)(Y2a$yRt@)$Yo^|nvcL~M(Y%ZA>4bm z@>UH5skD*;y~Ft}i&9|RJ1C0=xZLK>sb9cW>_}3xlr$B|I=o$Ms(Yn11vhtGHkicO znHG|kR*eKxHIuwjfd)JJRv1dRU2?Ww3?-uA2qC1AB7rCT)`~ZLbTWG(I}baA3OOb_ zal0hBB??N$(`f1!Rg;c?pDAg+swQv1RlG8gZZTxq6hVC#D-ZuErH*--AI@F&-wPG! zDR4x9kW{yP5*-9TfPO~QIHiwMBanFu(C3DhONx}?%o+PqO}>{-hv*|R6)=}s)A56& z=T=%RqF3v57lw?X;RlepeyrbFp2N8rSZ@9<)+JAkbm}Z~;T@j_`|=B?UZk@w_b`65 z)3GfXN7^i|JH3Huyy*1CN}zdJmoGJfPya9<{>aXtf}dg&EfT=Jz#Vv#`3-o!!A%l^ z>HR+`G3h|E1ufpLKEh3lb^%#Jn96U2mFepUFldAx@T6=i1MxEhLBl2)eg?oaC(SY# zFs6)7n8km9*Q}1e8ux1~GEy)fRYjd~+~_RL*I4SW19?&b_^v1}{)i}Hx+JQk7~yXt zgtqB!vH_#eNPQppq@z?r2oAyR@3(zS?d`5hrO7rPN#3lSBV405mNPHEqfc_>c=9b+D%9|x)kufHQN6>6KkLb_yD10iN;xWC^_5rafk%-w!Z|D! z5hB&+Fc*7rYR^Jsvxd{@aR7DS+~)qHE+MJ20}~gRp(}hj4=q@oq&FR&o_65S>BR!V zUmgB4cZn5jCR~HQmGKw5rKvi}h!)8dHXc0U!Z?)U14L-W^x6`GT~DdmK5Bt1dSCOU zp8$>zjVq-~IBHN=04k+t_kTXb1iOB$YqB7HCwZYCZW1-7Y-w}Q#==}|hGGPO+oF$3{O@?}fmVZCZ zY=NK0z_bDjDTxW#JGaCwN@i#1W(|P_b|#MLQ{)gy!0P6S7&d={Qm2p&{c>y|5<(hc z0>6winaHbaVMwe{G8KVz!C*2u`rF=VdRo3l$JiAn;ZAsPAO5cMC(J!plaT?Mxt#oo z(YrTMX@t%HtpLUN|5$)xr2qfU9@enNY6c2W{}!C?9{pahdg%1U^@+D%8vq~f1%JR} zQ~?a}7h;(dGZoJ?}x{qb^j<>2=Au(s3A zsvjM&iyuZyC{`bO|^3aqlvUrv}uDBgJP1J9?i}N|7AP^ApL& zDbXTqBUV+D$zWYMO|v!>viCEex17OHJiS-k#r(i>!oBLezM6z#y~p)|$i3&=_N({1 zz1)OOT|rZVfB@Tw$!A5oF>UT<&np_fWsI6rL{a3-B$v-hHR9yHfE*S$Lu zbt*n^iC+4S`;_cSv#`T%kF}ZJY!-fnwFj4<@_D_k_NjRmbVUa9KRyag)&`zbglgK+ zY%B6G8LoYo_VkLun35To3U0nhHiiU!-hFa#+(3i%>T**vKdB-U5>OM+L8|O15vgv- z8tocb66DfB6tk@CRH99f79bOLl~UZNwfgx{R5tjrX6a*hH}E&Nn~}~Dms^V|>70|a z&M|U#Zv0xzOk$uIF<;M2+QaS+?8JbzeEo^?-Kuh{Ej9DyyX(&}NQK@)mQU6?LXWB< zk=NE#Y!%SF)3G)khiR#~2ILtX5{kSoY0vs3lVEKf#2iHT5jA-Gk;-rEY{iXZ+%Muq z;F$1Sl#_5=l;*xhvvUL|{;0Kdjrr9)>d+tfCiMXi&IAVjet{KBKeR?ODr0KVe^{n& zhSy!9@)C9#YKb~bBiwf23@&Ftx@^XC0)q}_Gid#aTW4Bwz~F1S4cN>^d1Nu13UrHyB)P!s5r>=yu$$LbMDe68+hL3HnY9pGqglVKU;wMM8hP3Q=(= zWORIM;OXRmPJ(P2xBOtAwru~Mu(lEcm-(b$OGr3?_@NguY&m6pK>dx($o z?J%p}x0$z}jltYD;->`|z6M0|yCmIAS%iNHEI}ZXnK|`r(2fm9;)IiyNTtdMZCPMu zQ^lCgzzJw)o|#e|=3F|zc783o5E~>`k?60VmhEsMnPn)Ii2PcGB*qoSK>aka^f2&2QyKQ40mSLcPe>@j@2TlUn&eLUx*rH?8 z(Q)J#Myzu5tsaFnZ{xYswYQr|hfNqTw+kc4;7v-n%@T{%m#aOb!b zc+6umTKIVnSBhx+GG(4W`&m*KaJLl^G*)&zeW&{Yn`ZayEo?H|DEI8GY@#d;iz(Us zE7+9Em+qY1H)W9@x=2^#B5al)ZElkyz*HZupYd!cP!^Uz3%(`#*v}`)=EDWqfQ?te z0(UF&#?A7Xh>Z?BMnnpISVhYs?Q0APh5s*M*5RSZ-+0zcH|BPFP`I#b^e$oP>0r;K zZbYv{*4-YSoS9Pt8*iomr}{;f=H zeX2K;tQ8(=E=X(V$r95l9Og@XF?wjL4yEt>@Y8k)1FR?9y{@*QPb|;*Bg23Op;nu! zLH14vU*pXw{zbn2sj?3PlWE}T94P5*gS;^ldfi6WJP}3wy*6jO`R`$qAulq^quraf zR`|&kkGv*RD^p4R-g`+Y#b+{HaPZEl*zqjOs@0UR^j4@_UaN<1dnaiz?V9ZU^Z7H2 zBS(d!hK|F7O@?(2i11}i@x@6Uasn4;ex!KTjIM4(nq9<2v1nBg-h_ER?k}YzUQ-SX z%EG>0G^TyhO!zbhOQfQD{(3t%1vF>7-|6snt6{v-QyaL_8f4?9MHJburewp%f!02A zlcfEoMI=D8Ko(>1`ypeoZ^*6LBEKC*hy~k5Q{fQ`OOBh}cdY{1ph$G(=1vTetOdrr zM-x;fEtmo)>{;RB%wyXQd?k9Ti5Lp28;tp&>XXM{lFrO|D}CD(V#ubkI=2L3#{|RC zI3e+?+wJe30+-kqv@6D*OS z#F&W)O~tbE#?GQLAJnA5=U{mvsn&xw*m)>?an4+&JL)MbzNJ!)4EcU4KFHALxNFi9 zTL)Q^l-ARRaAV=C_3R-f;aXE=!0FdvjS`GWmcEIWkEOaqAEj9HkK()!7+aim{4An3 zsvYiStgyfg>w0Quf>ziIW}x>?Z=rC3@JzxKzme8#>`N28ArIk~CL)k_f!1AfO|~hO zd^@`L_?|Guo*FuVrIsG^wv+SB;vt%{9Io`tB-lse&M|vVtjmit6bXgRvd-MFR zesd&3ybIt!ICKd?E(CMgBxsZ^{&FysVTOJ^z62}$89^Yu21Hpo4WwTzJ!0cPIs?bd zkP+{V!7jFvzInQ^()BO{IU=(Gb8Hv_^B^WYr2p3DddB3TH`yI|2{j&a0eAV9w3$lL z2T-RtJ0ShM_7;P{zT`o&&d#211*Q79D&c-Ql*0*2*%zHXzb=$>PfZ{HTMgr*l)fTv zDW_(MTh$SlyFrWXlVJOAbTjKspw?R#fZ=jYx9eYvrK!P&R9ef_oLQFeD(3uRr$8wwChoQiM2 zOA+^}b55yK29=+OrvS0Fd=vM^@eN!nRk99*KMwoUR0LoupeS9wiC>J7)FFSn{nzYqxLD6i*z9ycfPT1KK|0=@ zIU;H_)?Y;xoUp5MjzkaNXqdtpQuni&IY^Sw+2B&{0vJX=$uLtQ$?CG8gomiB9~5fq zpFg%uSp9HRy$`+gGvR~AY-NM8^>l4jC6B#>&D3SHqgC!P4d){JF7Jhgy>+vqC!J&W z!09er{XCDj-J~~_-h1w`YdTeHD*&GJBvSgLLWzWbKEDa;`g?S`4KLb;9?QJZ|vLW0Ha211co6$a!MC1$R;@ z2Y27{&r0O%b=5uF+v%Vq*lJIxmv|Zijlj=s3MvRP&(!kIc}>v!Yi$+!r|%l0@$I7z zq|OP^6o+Kiibb;A^3T14(A7KO#_M;Rz0HcfFOULmhf5ncWiL!f%2Vi2EMf8AI{K*` zb%RFwV4yGQdUaW?zD4WiGl2BPhG91D)2=(jB7;V3e{)0%%3npGwGasyvMJaRwq%1g z79oG+qNDr8w>=3ZRk%y%N%pqrUF@blO%<>82B`T8i&`s!=W=&h~2caSV5l zK@EMhAalM(&IT+&-sxUPVlup08{jx@PCgQP3WCF_B*%a(%WZFwOb6eySdANiuz`%u zi0py5f~d1~mHtUDrO@ceo)7!O`TGKVA4D1I5CovEb6%bnR`m(|2GFU|uPMNW#EFm> zPFxSMKa?Qa2tNP0q8B0%Rg-jh#{9OTC!%X^`H1``N$%-Jvt5F0*qG|?%lYetUv2k2 z*ncY$Q-;FEx?wRJeL-P)nl<=ifij2VkyQGp=5+B+$gA;$NSy}cfJ>N_dMNU5tA)dj z`HnyVsfZ;Td2_zora4L?;=G(}l$nH29nk(LUB;tz*e)AnknSXs#zhcYjLgG+uDzt`K zA7dlzEtCz!+7oJt2~w#d%Eh##IU|Ba9ivw1X{*}pMAa~GMA0r~FMeaGO!h68Nc!3q zFa}4Wn+*K)3SF>0abX6(BI<&Wd!VUhu}Fr8`D07q@&z*!@=MhGKnd0N-?tYzlwU|n z^1om$Bz^hKfzRnfAVg<22EzKEo`3mI&zlIX4(OxEL(>Nk2$c|6%Ku$scE@}Z*IQ4V zI!B?PRuo&WAm=Y5v_g?UR1}MF|IfhDM7~ZP7uw?Pbfh)LNbK?&^liGCjgswCKEa{% z)=(K)bKRSn(@ky0>Rn>*Cv^tcC3OOxrnH2PGQd`UoTB&dQ)$WC?c0g^EriVb^c1FN z${Y{;-P7A05UO8Il@I1VxUq9)%e)+CKNvc+T4!zS8&xk@#`HEp z!zOm>Z_?X_vHJzvT5`f}_|y#L4c6cWTB2hg{IdZ)eI5U707}7Zl36b&BYsM77v``4 z!N3)q^S%Nw#@&_mHOR#z(vP#BYejVxq;i;`tNzQo4-%>VFAY+BoET8UCRwaOM$#x< zKBzT%Su7z8Boc%$jsy0 zeoG24OxzI(wLY)j&Rv0IQK1q$-?zm?2p9Fx3J$dr=>UH&QKq#4X>X^O<&Tgt(hmOI zf97jw;Hu?{k{1Uxh<>tG4c=7~ZPcQ5ndQVz{I4Fcl+E&*!1K(Ve}=$w*uU3(epTc} zaG?kea5ydnQ%Gch!+8_M>HWJv;5j+i*n>$qKQeGF0?#j;SjIk1-z$$6iTxxy$tG2&AmCY?=>z>wr!muaoSa9suU z;a^)7lEJpNkJt2M9wN89l}KaFdAFT1z1{QDHl^<>{fa$_o=Wyq*0Xc#h1^BmVT+wt z6)pK;e+-N=;v{knT|C#&Pi^BVv$`V#We<01tNU_=DVYODhLckEm(tc&7D=bnb%#dj z0DJwjt_0!YDe7amW?lSMU;>tIzcRpaa?LE z8!THEGljpXjkda8iWy#bE$Sa~uNY~4b2#NHafJ-l(XbN+S)Q?&4v&^B?9T()rckND zt9Ik&dMviIw+Qoc|*;;#)%{+*Yb9)p@%y|m<8gfV-B)%>8t zcX=Li{+jF^fmHwI-+lv`nAAJQQ*UkZJcI$3>}~VU6bbg+M5BHg;}IQXW2VSU_Kq1( zayxMS?V(E&3arN&GSuq)n4>em z)$Q9pZT;n4=RVkrYxG&{9L(jlB8&O+YM*tB4&=|8eupQmom0yO>c-JtIH#OY8RvWo zf%dO*ak^`OoPK~D+^k;+O{0iF8<0RG+m2xXptwRE6;~DSn~Sbe69`iwzjvOkaIYhf z1UT0dWs1$RTjJBo) z4I=#z;r|2Tr81p;$*7YE+|@8TY%NEFL=$%u-v_2At1W~%W&=z7$i6WTs@10mp53Qz zWKh~a3OtZDt1;weWC~Y|2JBMthx|tAskB{`RP8wQ7<+zGo1{D$3NGKi(s45#;kK-0 z55?!vR=4a%Shs9(N^8{uA&%=v(YP&3YHDe}?u9RZZNkl>zm0p6^&5P1e z4rs9@VUUf_uCVmWn~9kd4MYdRemEfP_c7tXTGz)2L=)imZ^Fs}CM{M) z?$|3^ENWYuY0)u`qBOMjhW(j9wr4T14@~S$r%0*txLHb}>ium$0J!beUi3g_6#!cS z1DFb*&v=TTp#?Kk>QUmRcn!vkXUZwU4()%DCGu$mO-cPqf8ytkr?BF1;NTu|y!Bwl zKzz~^IWd?|@l{>llz4vgATqnn%4uIq4}bFTH9wK{OmXX=&30Zse8OsuKCG7;xowR? zn#rLWI&6zJuuGZhU=Ev-GlcYL>g%~_jZ&Qc_atJuz&!sc13A5MDg8yQp_2c5S#~8v zMfRbU?7Kyw&HK2+K4SM`1~=&aZ7+)~4@bW2`}o~|vr-P~KQj&(;QoPhQSPs?RM`}C z_Api%WdvZ1X5(;eX5u!qi(k_`LVK_`qNe3GICCNg11zI&UeOUSnv7Ucm|UceoWrJn zK$Isx{<5}`KCI`UaCdfR`qj0b7Up_r^{J)JC{Ubrnu+Q3D8)kl92uP#rI=qr7tCRL znecxYd&{7@nqXl!xVw9BcZUGMN$}vo-95MyG`PFFySux)I|O&PyU6?1{c);J)%mq* z@2=W4v!|!0r&mASO$Mo%;oF+PW#jxL=z^E%SVHg*u6^$av}^zmtc%)~8h|^0^Dnis z6)h&W5j^7Yxh=%h8qQFoemN253NcaqZW z2j8C`H3Z5=n>{tmoEPvq%uD;87fPyj{Cc^#y;Me#b-1zL{p3w&jzMAy)WDN%i!`yg zg6fq4Q#J;LO{u*29fpG*UMw>vtow%t)E{s>VAmoqs4TjdkvNRx64BD(9l&9)yKC;; z)L)e_0)^;(Ex-EHsl)Srmn&Ujz?r^>Khzmwq_i}$N zMi&!RHj>`hJ&mkWTE~*Ud(*;xy|B+%OBeNDDtj_z5_r9MQgWnkWfQ)8+fOKQEOdGw zU4K6~R@n$Het*6#Ib{x&)?(C?D~}t{F0aPA{(z+JqMM9fHzXg;LwKyQ&aRXnI_lo# z!rU5K%9pRqD&Cthyx33Yw(>|!{PYN`tDYoKS|I#4&DAAi z@%(|vhDvrzaw*|ey{qR$;K z)CjKA{5_$(v0JfMGcLiPcVh^hFExWuv>9<}qUHGR`-{BxYhYtwdG$NJ)2R|Q|1kgA zQOQis!y(e;%$u##nzjeB00B|%Wmzp(dJR(dU+47^?N^GC4Fdi_StQclaK4k1;NLdWEJGKP;<`h-ymx`0etb3GI;X$2F_9lm2qq zpQNY;tc6PKir&TbLxGb{!pkPy{F?*U#Glyz5m3G#1XOT)T5a$L0c8phP|Xxy$?u|P zD4wF#v1>_m$6CY7kqxwx{#r5n6k4g_&gS6e%Mr8&j}@JH+)kBVAAC!pQ*=`iq{wpC|9`wD9Q+8S8LV{NGD<1e4Rq1t*R&5~P@~V%fXN6c)$M z5D#idOmn{d9Ps(2z?!05&se80%B1^6#(?BG_x>|%2n&4N)ZO|EJ_}nvfzMt%Dp=efd~I{5XI8omB(eLuqof#dtBJ zcIq%A_tX_Bwyzk{*DR*H*xZ~+-n#0Bmvw9`*H{>ny+i)NhOos0xs$(g$aS}TCUI2z zF$kfu!c6Bzqlh)OzL!y=MFa6Z(d!$0j)7xInQ zq9)O3D{ObeL;k+hgMX9o1^hfEa;xTOXp!P+C=l7M!45B;G)CCUKNUzoM><~z$yVv5 zeUFsYsd$y;ycu@`f#)am_`S*Hz#BF(b3b0#GC^w;6Lta?YJL{pb{>C2?s^IX$}WPw z`P>t_}!O<>uzmPl!!3P$8SX+eP#v&s2ka%CWRA zvd?^b2$mKlsid?-d}{EP^EQ@09~*_7EZKK497@2^DX4}smE?q18NaBDN0%M8)Bo&g zcd0jvFp3pVf~AsDj3+kd($LZ^_JWyzrSNJKIEM_YYS{M5;zC0DV=;jDt#SXz*>y1d zipXxSUbB4lZ1@M(EfGrV*K1s6JAixv^W*H5`&JY6$0xATu?ULzmmv5qJ=HLABZes2 z9Q}D1iOr-MxR11Tp)E!p#b+x)`S1=Px$s_WixWsL6sxGUTv%`sm>g*bnszQND1Bvk z#zm_<386{Kw;T4;x=X9``*~OA6FJgeh?v5(W_pxUG_n7f$gd);mbf?%infA%APQN{ z##{v&!)|=s4FX4huLyz?GR%@&X1?_L#dI&H%{TWn;M1_4q8dC@=ZKBY;`co$qMXp zW@fZv=G(>jk1^HVW;1mNL(*vIvnh=f9|`w5>`pA7N}2}yIYzm&RqUh2aQ#H7S-W7z zX+Coa%0vF%?ho$Q`KHIT){&>PC?G3%8ikdn^z~PEHNXRHU1eXV{Zx$0*dSuu7~((ulm-ob z?~_Knk0BJi&N^P-MrIB4Tk`s*q7jB%QYMx729USwmb3Yhx0|y-qu>Y+rfuoF#j6Ci zRZ@oiuw8s&m{-Q+uDOEjE-i=L{%<}RwV%@X3m~YNs>Q3DSvuUd`9)D;DE=T9OJ8OI zB{1fSGVIZv;{2tY>h44*OW{OLLBY|TWGMz|ujoXljF?1mihLzjM)dutA>8X~V?9Us zh4%IUL!8M5eSR^!b+3_AoHzQvzu#QO%_C4sM(Y?WZFM1)x||a-1^8AyhQ_fF=F}fQ z-Kl?@nTUSRK)hNwuy}VKOdp351pxo!TE4E7a#$r6V;PdtukFLU>yXe zX@|zWwY~*#)GLjnG(`i}q|ls(8; z+8sCE`C%$VEIq>*G9x}q;FsI%QT3*1x~+uMb1T_xVN)AL@8@3v2b*Whg(KP(yKY6U zH431Joa~h-pB4Slo_oWgmWy)W*T_Lmq2TN#&`}}?yO~k-U*x6Wn?rQ65946ie))pJ zB4h3sCPrqWd!b{-pw^l^e21vl+cl~zq+`OgBu5Sz4(cK)HA%K`pu;RsCZ;>`{*0;1 z$Kl^hT0qeD7Lqd#+RF7O%%Ufi@u^SVqSi=XZ3vBQac-R=6I4(>ASC-fyJ<06L+akT z2>WhALEddw#Vy4fTEq~CB%o(6=%Jw}!NQ5pq(z|5+KT^MyYv7s(YjSvCt9vTEo@Dn zAHGvTVwDB=+^5kM^|6dq@GZoUE%12ZK7mz^Lkv9}Ahxi7>^_%^$TR+g*IUQ)-vV|U ze9HP}yl#p&3xp^)IOT_8LTu*#Q_MVR>Iovjk;;B>hMs1#NtV*8?vY90&;kf`n?jgs%t8B_KfsB(RkKGeno&V8jWEyD)F$H_)c!>}c~3mjyD(sFW0|8`>F^l>kspOgU{`MRv)yFARbYBh~` zSDwFotFa4H`muT{>5ObyYh7lK4^5{XZzo3F#IL|Vqon)i!AM0vh??gc-ZoJ)S zA89VE9HMs<<({l<;FB?uW9~(LKlm-A<;V>qT{fAtMnsfuU@JZSc=(+RC1a+!eH712 zam9O&UJzST3cO2S?KyRq!sFXRH+H;XBSA8+Z>#RnA)lDk;K+LF$ z!q*ORdBiAyO$e749yOFaXi2~EeOLC^5$F+ioM8|h3o7)t0xr9`j3=F@|y(gc8Q78Pptr#|9M z7F99{_t|u!R2;Ux4yD5D$`GMT#HzZlcOj=F|9~S_jX!K^;B3DeVw`aV;R_nJdqBIa z4|ZkhCh+gbY=C}ABGgSVZSf`)G30*v&scW+r*glqXqCQ)3RwDHaw>sc7L;MXY!&Ax z#Z`Ad*joxeunG#kY$bmnHNJ++L!anoNbpve4uZ7uMLEo0lwLUi`uOA7a#P&(CDGWvP)iHi88BM`SxTZYLf% zlIT<1IoaDxp{6DdJq)2>Ph(Ub1 z6gAMt+sB_WLs=@drDmDxKVdooGee0pv{8dyL%z;8_LunqC{dpw*C)b+WkbK8Cx8^w z$OZ?I>xoy-Grpto>o%<(C=Y7fUZ-k6`foiZvBsQE>>ErFu^H0R@Ds3qk`GGJ3CLrvt}(g$ zDXtv1`U|oP&?Rg@m#_g{5(9MU0MMmSK$k)RT@w4JOLCc{lwg^pQDK&e_9Dj;1~s7i zeDha!+g)4_JgD(~I;8^)jC%FYihm1pfQ`?D3R0=V#z5NnA;s#~Ap?~G+u5R%UE)h8 z^b1#%Yvo-hn!6M>SvYop;%Y3Cmd$ji0gMQaEZU5?Lh=Z8_VZge&YCn!%%%E+(T`pkwP{8n^>M(i)f#LTZxga*z6C);P zeulD@zB{f4_$<&VoJmlW<-~w7{3zgA%DosOB|;Fv^Z<*3HNRjh9c4rH$}HCgPcmK9 z{+FK;Npx}7=>sZw>Hj469NQZ8mBAiAB+<4nOgO? znvvcOBK;On&a58IZ8E<`ITFAC1R`{33|Qk`HO^A$;7IQ2-TX( zRI<}GYr4YQrjt7^+!Pg|ifD#%n9b3fLCA9J5%jK{aymPd7Wn+z^~jFfc*bnTXBD=i zi1=2uaBW~K0GSt5n+-H&xPBDMtBuCvx-b9psF6Dfv=$v;zl>h0F8V-eMuH(+CZ)4g zgKWfu{ek^or2{Z^p#t&ks$UJct0F&iE>=}ycszS)4t6cO0QbJwRe}y1jS5qP9eC2x zVI~%zDkheG?HD;i;OqrNp&K{&X(G`5qnE{+F{? zAbnRMONub~&ep4ShVHer1Hlf+^3I)^2s#tczJasv1*1Uqn=sWRcikh`3R^+<%d_Qz zPVZkf1`kuu=r5!b*JswkFjXhkUzKM=bPdU@Iz&nDPm|SGjL)$Zazq8bmHC*YIq_Oy z2+Fi-iViMts^Xf{2J|-;n`Rf3GKB$NdziFbWdDD+5Vo*_2~%7!v=y2I|6FD!wW&r_ zSkqF1*+PYQG3~&dZ1@mSNl@X83B9YoX9(@|e|p;0(D5Q(vMh5LyMZH4Y0E~R?V;fH zaprPMIb9c*D_QzVneXJsMAP~YzZFzhK1CP4A6eQRr6mj%>c0fzs>7~usJLUC#m*J= z={uTsAJKy8nG;>WQNVa3m>3=_Vi??&B8Kf|g0i9MggQ+{{5Z`pQGWGLkXSfXZcu7I zBooH%QJ}yy0hh=z;%K`Xi`$>mAtUv@6==9ky<# zq~w79c;+9pz;_vv)q`C!(4<7=u~xYlXoKo>k(;s{W>+mO%=Y|1|I07gM}d=*2NR@& z2VUx_DZ$`dsTmR`2`JCn!`)c7jcmdtHoeUDFt(#ETlxKL zqSR3tsh)6Xr!gCkKQP-p1N?C=hP(r7=T5Mlz#qHUNd}FZ{nnlUkvAZ^%gY7q2uMfm z4c$uHkI6ZveNs#~8pZzDprzQbVDmGI&fK;0;0?2D{V7sH8G70B&*)=W_9g*DLlLtitI~R3IIHoM$C_%E!k%FB z)W&{pl;S*%6Wy%DAMt{tn^{RZ)e=*9tJ?^dIeG3=eKm`O8SrtsKb*Gm<1U=%NOf}$ z!t;BQP+(_RsrziBB$?w}j1xc7S~TA95J|U?iPeuCjMr~(*E5wqyswq#Jg{;nQBbPo z7bo7J;vSM-B^zsyKk1vARq0fL^stxbbb+>JitX`DAa2|G(0$rmqvMm;S788XRw@;jpa9ZROXvrLPSwOP2!9 zjO+1Ky_zAcxo{!OT4Kv>+ za!=nz)Y2tajt?G=EPhfS&x{YO%u2cZu;9&g3Kea~iog!=C4bs#3;iiRG0`_CHWe4Uqt{5nti&*h1~9W+815`zC;Q!t9*u@cHpCa((_ zeYOA1m#oR$QW70AdW*_gf+nHHIO*4Nad#jY-Pl(a{7cm6`=`o`o!6OHe77rnFo)%c z^rPWxAH=8GFJ=+XM{bkjcYmFtLncg=&p%j_P{lEkCR*N%i7qf_Au%=d4(LbY2k{?>UT~_UaFE zWy>j$7%L$xCE<!`@mRqQ|$0_YE)x<0%u66Pgj1i()`+}5_ODEBHF#-+73{7_25;IU6r{<_XciKh* zZkmgnlR3lo$c~wCd+Rwxcxj`v+fqSq2X6`DTdfSgRL+#;nUwdFO0 zP`WR*{OYih8F^%6R^2p9@SWB9Dblq%(cX? zx^@Dq@lk+HgQ0pYNQ>F(yn2S+kKjq#dj zDFr*i#@N5mnDgPr?Y9SFH4{Lr#+^g6yZtXPpx{tgdp{WoSs+3<_3cot-i9vLV`r3rJh(MB@^i6{^5Lx(`QQuj@Pi^sD7HTu(dbjRR?hm8s$J&GRwwxVaMb`G19ZXI?Y42)Q|?$`_?3?rGtsH;Nc~RGtE?m z39}NMj4d*)XP3^7J-uHi;wAiVZwop8k8cY(|3^v1vNTQWJ&x#rbG*OrnUZdwMzY%> zz(JyipsK%m(@psD&l#l)O zJT~%pIkWcK^l((NVm*G)@+^Qz6tZE}!IwTUF!A2{da;lIls0riikNUZ7}&W!t*ChC zDIt2b`I3&rsO_cc{=Bvk^6vItPD6X!@oiRA>E>!ew>TuB=h^A~x?%hAwZ&SX)ywHw zSaVR@{o&>ZH>h!tIPGk$UX!-X2|>%+0!msEqmKA`oU$@}fjvr}J~qUpeP z&#Se{+M?Eb&BKNE`GyB$%iH<=`Q0;9ong(Dprm=XbAMahSqDW^6$0^NdDo*ymG59i?q0(v*qI~gn z=+}3Br;JDLFOTN}9x94&WRhl*2qsjNIAvM5!~FR2PHS3m3!G)|l4zlqs1EW&JKl;L zz4j>dQwTpgO*!;v_J}|Akh?cd<0=r|J5WnRbRcEhXDyOVUaaOd3W{T$BGz! zQG9ubNj7qE*SwDcd!pA{kdvHz&c-n7nagB41LR?FWA_>U=0r0C^ucIg}2o0%#YE@LAt^M;2!R{7GXjzv{`5?u|CvFQ)6N6YdMqt$mBw5u(8ldgF=+S zQP?rN(HMf77MqBeKWs3<&u+K@?O><@^WdGx4%>*N`a(T6%&4#d<0z;B|FAUUCl$}( zc#tH78`XIZtJcB(umLz~Z4QokZG#$r4aUHXg$_#xvTMtHxwWfT!+_8AGQz2e_|#Rx6Hm1 z&%uhhOrJfk%u!>qkgLAL<=hEmAK$w3tOiHEpWTNWkmT|*+2$lG(G7?U8tGJvYOWNK zng#^ag{IO+`6AXC>MVpKJMs-R5+o}q+_4u836D!WjqnoWNDxEeu_lJ_w)Us0D|_(J z#PjhV,AB=j7pAFYKP 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 m&v2MtIY{SYFCpx@d<-QYyc{ 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%0DrE!`h=J0g4{ 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

    q4<5c%4zrk400*Fh)B;a2qik0>%AB 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 @_t`EM< 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%0Dd21N&1axiiwQ6U#k{T)3*dHP8DjaMOim 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%0Aq+rl;k&>kR_ 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

    jY5b_- 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 z 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

    s(m1@#0>H|F$<{WiY8!&nqeaQhp% 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̞g1m<;$iIG(0Pc=y<^ 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

  • I!YBKkXAxDL^UXCAo?*-O@tos8uB&J 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

    PD!b9?!>(!i*b=w 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⋘hL3_RxK=LWS8Vns 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%0D-XZq7VMXbK0+ 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


    onXW@mtxn{$e)jaY&DR#|7|AuG2^6TW9}e43 zs7`S^>HHtvn=W~$H$qVA3()I@O}fk%*&6yHZn}Wu1)qC1IJ`fYv2y{o^h@A!Ur-w= zd_W*+?o1=UTWH_Kw|pXr`qkLFe9T-d@rSd4tt3Fbw7f0{$A#fP#HOUzlBA%}=Qahi z;C(&f9%tjzkRudw(uh2yH_uq>Uo#P&4QHk*%&kFW=EL9h7e3Zgd9u>o;=OUQT#k{A z=f5dKd4ah<&<0LOb?GVR#an#ZJtc;>*&Knse+{%$&g4dE_#N_xn0muvf1uJo_k(<7 zD)Jh8KH#6^=qnbtZub>_9RFj5ohgp&fpo-?0(iwdeCCtOUV9G@M9XZ39}mwS>-v1N z+jIbpSMMJG`fE}%u^BJSzTg_g6NqN>XI!V}!xpQXXZac8;yt-^dq3m+1#DM2A-=r9 zx!W)ic`bK*y zy<5+Y8vvWlZRRT)wwvdO{Pd8gOwrCwO}g&j*2-(AE3jCb?r)a*sl7s2GuodyKDk4y zL4cgW*VK+a8L#uVwDu-$ZtItLfuHAw>urBwbIuQQLnP1p3w>*Ev!)x(TcrK>%1r;8 z_$m!m{KkRo`JIr+24-Tf6WyJ7&K?gQHR?3ytjf$8AGbYo`mVFau=&dHiu^jbig>cv z+NJV!)HbwH{7czmZLtn&!zJWL>NjExvb|nGqrbYo+DqkKnpGi7M zTtCWP#T(bTp3i_Yq4E~N4$Tgk4pTD;t*}W%TWw3LExn9ptRP*=3oi34I(?kfxABE@ zu>xp&*4K#z)_UF-uSa7uAk$Qij8TIuFqhUBIC{zbhPQ?4es3%uTdku}WeQA3P{n?;5F|8IBB}FX& zdIh-Hp;v81L&1v5!DEY-Oz@@=GL=#MtXv80j43nMA@~A9^xmnIqosUDrhk~cgoIxS zT5?AlTb|G4adL$oRUFK*2zgq}pC|3X*<_ACcJ}JCK~vauLb=F&xSwpUwXzoqFOVOJ zDA3T9fKT#nqK_HY&Fmp|33=nO>t}LJkgq3Q)Grzggka=c*!9mY3(4p|p5#fgJJvAkY_&cqp-2w44HldNC9IFy=aL)^T*CwX%xrm=fLC)ktH96`K)-_ zl_vC;k{ZcL7~t_VKJ)o*k*(b|PS%4aC&4mWyNANXKEJa-QFFAo@G0?tZ05{gp3Wiz z#@TpNO%AZ`A8czPT8R}Zik40s%KG#TleZ3!Mfdv$+Gx%;Ogvj{?QmP)r6} z?LWN+G4&9KhuT(9f`e?ISE==fQ$HCqZvw%uiWOtQ7GTljrhjdd!4l867H#+dEHKW| zrHbaiE?W2HgjH<$6iGw%ErhiK_rM{(ifgW2TAG@97ZV>!7brE2&9=y+uaT16-;2^i z!GFb+OvEp!XConpyU@+QW>EwJFG#tmrBqfX!jO)7 z{uJG3K#qp&G*|lSg7e5)>B+|_fpMvbI6=PSc9kt5+tUxHN%;&F!(nyKY7`o%|2nVb zV+irNhWVH5xwiK;d)=On+>44~C0wkswhpiHwiylGCn#12l0wG3k==q5_kqOr(gD2;+9!(O`=z^;~;QxV`plsO#~&GD7wl$Jgo&sWso9A>Xu-9?q?$t<44j2N(r>8UEFPMnk;B zeT913V)+X#?udl?_u|$RT>s$cuw#|8@UBCCe(JjniR|dZP9Wn&qYkM{^DL1d--J2r zG1{z3TJTpRWz?+s&G>7PmzJUC;8b`R1W_V8n^pK!EX^(oN2yP7;*PJ9k7XWwHM*d1`HVHmU%8_RH6`O?dCWu!S znDrNn^ol0K&M=y35(9pTK0#dNgRX_eQ)zvF(;*8RLl8J(4KuL7__b&_8FMAb!q@=4 z7=(&W|3+tn^~MS@KG8)cX%wca!*!hdhfb=66i_K7Gjhj^H6&+IKt7CC-#&(Ay$qs^?%q* zfgsOg3Q%g%6ZNgt#e-KQ71LM$)U{4RuJA5x^l%8rCIa*>p=baCA_ zFo6Ub2ZI3~Y8>N4nefhC{C!o>{seaE!O-LKXs>wh)DMOlA~R+8z3|MaZ+4k6i+KK} zat{DEqDrEV)pum+2>90)m}(P8I?j3cW>s z(m0!BDoWAy2J`$Nbl2KrCM<$yfE+iaEgaR>{+WLzHFyQ+rhOSi;^i^(gPQqs3pO*Y zWAw9$cYPg`YF+K2dig|`S2?{_wXMB(9@l!j2H(_LBH<=$hDBGdYjstwSFfuzyfXyX zzwA-JthAux5~gEy#Y(eYk=cOSD>q@6h`4LBMF{iu!|Do$a=ogmGM(ML z>`F(xI*ZZpvO{&fp|SgPByyN+Oq*$ZA0LO=5)%NUyY7}pTnld95%I+0@U$&19zD(2 zZ(!!2rZ1*HTVQ2te3Zek70A3NBTvxJy!_HFY%QD9E5!#`%LHzHY$q*m(|x}(+YhH# zca1uJq%H(ZG~!FP8o-Dp%`w!g8u1USX&23+HmL%a%j=lXnK^=pjG0I9vE?VhB%@Px zqD=j=#}{WkbDjr!o9+{Q%T|8?rIYhFq?uSOJ~jJ1bZ9=*Zc+KBAE*Be*X0qB8lYOI z;!)7MI|-AL>9wr8g;8AfV5F}NfzSSP1bzfFkv;H1L_f-JX{jNt0nn(So>AT+X-aH* zUE{KxV$n!1l-@3~%(t9bLdC=jt3-7JLkP>wFf0oSU?%A z7a@+K{#qVdT!nJF?nAys9S;*d<>Q#%9ERs6Y^mn$<(kkoMEexf**@bh6qCrQ4{j{# zT0CJTV$#2`24|+^^ND!_<{8Us<@+#b;(9z=7+z)603CTS9ycbvWX79uRjjsSGe1*g z>wANt?@oiXOEpd;-8P!RyKq?tY3lF4S=+uZsz+=M3D`AsK{382)Yc>6`jEGLjv*@@ z`)bZgs|p<7+1{nSL4N_)1WK0^`UWT61$BYw3b^K}4?oBA<^5HjV>6_2W*0a-T_0Gy za4dOd&r0wZjgJ{$P=Y_VNB^^GMRrHC0WYd1@Q8jGO z4zV31YCBAs}2Fsltn+y*1KJR?n6-$=w=dtzj|epGTx}p zxDX`pXcS%CB_EZ8GTP-90zprstXJ}<1Y#9iUUY;{f7eFQlgh4d38A)CLq_PPIFK8! z?n!8NI!yH)!d&vec)PYqRbSP#gw!5mz14*?a~>^WY%)V8ZGHhMJjqT5OnGAA)Pb{* zec-IQZep;pD$R%Uq<+F0^&Ck1Q+Itba}#qdoZ7cZo&IED)rz#3w9(g-tKsqMU?qoD?<*!24TOx3x0?r4nl-lxqLtb>nlD1rE6 z77VMLOF7?4KuYl;=x#EL(gXxj}#UT9RXa!3-7-q}h*1sR=AVLo{fX`wbgKeiT7Yh(*+nYym7 zSSnqTI6sY)C?TwB_v=*Ev3zyc zV358rAVG9szhW9Bu8b06LaRtGy8x7I59;}qb5xX}JqnIB(z2Fts<8m5#GPL&63lnz&Ly>88HEmI5e zG@Iy#N7swlOV#LKFLiKVKkf~@G{%{tw>XA8Tfb+V=3d*=8D%q~-7nl>J#M^(u0Y_d zai(sobGHbDfODAyBpsH=n3-o0!bg>4rJctfAAd)WpWpH%JOC3g*%|Y}h`|yAQ9Q~W zz{>>UiE_qQ<|#5V)t?}RW!UVz*ba%^a#N>}$UBo8f)k7X?826RQnnJ!I>`t#VHXZf z-foqHnk7enUq!{aE@pCA5}9Rrm^inh9(+mjAZf_z)atPV&y|ttcHw@>bM}Lxc`wE@H->hz@$=)irY>-- zgzk~=k|oe3!-I{S6~<76@~ya?)Rb&jOQvsK!+>U>Oo-yxT8bn@Qx4W+5hOG2RdApc8*El3FWqorG8)8cxhm3_VZ0M zF?Y*pevfUG9CmK_NlmRH!g{$f<2mU!a5PT4(qd#Nxd5O_f`fnjgjje!B&#LZ$U0^R zD>S6h@=b61HKv7;uU#*a1v`VeZf%bNyRQ4OZF*$UH+}<+Z;9XwFP%wu?xvpBJp1}TP z&f&!&vs#Ek;ZR1S(Sh7^>jIkg3Xf7w#a(Vqc~&JC?QAEXea+lAUnIVS8SRYnd0ZyH zG-(Oxj5IEA2}9jpwW$qUj3-;D&~}ydfW^u`N%d(2uxVHRfSRe08#Sx_Mx!Dg-|`;8 zqMYZJR30awFTb`>aF(BB3p!XrE@Q33>=r#Mw{9_VVaY&DyIx!3F6rLClR4b92`HWy z)mYlff(%4tg?%~ghYB18u{Tg@k%(vOEe9kPn>(x@M!g1a4T+ zU_hV-N%7>uQD=M+bqKq@)VETg9+0OPA^r7Sqmb4D0I|alyOq*$Nc`J&)-vWI9AS1Z zHI|E(260EKIGkiTT2+b7jB2sU>h*6A()F@Qym(7lfih;t&>IOuos#1y5imtuLL()$>_G47Ev zs8~JcE&2-CvwY7Ju`Vtqw?T^vx2jkd6QX1AFW+Z_8=@mifL%vs9Co~8+_b(WG_ft* za5h`jlHVj~*q+OrMKz;J7uv0&68imcP8ScZXxEkb%Zzcr(6_|Wk%ImsUTP;wkLw^AHJes*2N%l)PfEIIu$5jy*&*D?4y-C4uv z&O2qow@K`*saI<6gq4ul{QB)`>hkkBnuTV)%WmA|yJ;56NoQef`m*H2f=Z+2t-)v; zxt3jYwtd#{X#RUf=E>=bVm-v(L2aQSZd6_ovKQHyvBL4F#1$*CZ>k8xd#y`!@5XpoSsibxcb~RGLk% z$6J^XrW2Y4r0)`c^El;noJ03?HOA|Mm15C!t)>VT0au?+C zOj^4exmMMhUwOMqu5}b6XY3g1v9^_!JLN_+*;B^2oTYV~1-0;Y9#=C!^&JYDJ>3)5 zyGq(AUkfL0JGr6u+j%^Z>jUT`!uCSW@n3$zvoIVqa7W|ZnMe|%D(D>p#_WN9O!3Lzt&Y@LKl1DMjvgGbYOr!^ntc!+HuW=#O(u4bTxu(FmmoS8ZVo z?i#5_4U-W9TvWPyD@!9XIX%_44xtTdt*4|$xI?emY{Z~Ilg9X2jpKe?TM$cb3;WHHbN zGu|08_=rEWkjBYGmkj5uu*EW|2^18$5vVa<@)$*PB7~O8u%_XoIJD@yW<(tRF(>$- z3;U3lo_~K!V`ATrP#*fUs+0-t#bbylo1K#S{oa*dVL1A6W>&6(G*Z*-c|XqDGM@jK zG~vmLtllYe-IS^~L|r?K@fqo;-7JQ9AMcqxx)Cb|>Vx^yb0-eKDfD5h~F) z^CLB~)-(6R+?o$5c{g>Vi$h(bZ*o`6K1Dzc1bL7nc}cI4tb}X@;Wg zj175h7M_i&8R}M4?u#T&dVbDrh*sC8TzgZvs5ES_&ROxwpZCT4qCRYp(sKY&1<3> zt86uk8=?zQmH-&`NM1uxTNnaD!$Vl4e%S)0V`0y8;L=IH*_`0C>E$noAxOhcjV1|S zh=2(Jgp7gg0T&dSYA!kGQ>^BWD9<>gyDP!=_((GlxqfQkCv={(20{7tjRgu9bAyrQQ%ivzMWQSb zu?~+O$cTnh9py1*>{OWTcLbWeG4)V0Kj?bHjcW?%c@ATmd)^kfF zjXnf@n%07lSnBA>6OuyKzNH7dY$X??xDZ}OB*GWXDk)oF>Qk$~>zRqYK#zx`^AjWw z)Xvgr`Tp2*n?agb+0-rjGTE?BkgHW0mofo_LQ8(p%E-b*q1kGb_I?jyG7-wpffWm; zS5!yZtnmhO!OAkt?p@vnut|tij>y`xN{Y9RlzkD_g%m9q({345nl5=3Orco~#Zi^J z23qe)dPsMEppO>KQ#+T+bIpN03VUJAV9ky!_0EMu?Bq%T9>0IK|CYY9Jlrl}7RA;V z+;=>5IXn?JKBnCkTa$aFjrT}MLTH*Lp`}&>l|SgE`}^JsDZ>u~`^$CQ+-_sDhRz?t zQJrWgC7rC)>MzSxthn1MQe9BAPjoi4<}s=*+qrWnOHBWodl)R{Oqv&%=4Ilxe4h9485zDue#{d`Mqz?yKYxb56K8Tj z{w=DdMR3MyO=_s7n9M$7p!xoKNm!O!ZdpW1Dw|gtzOX`x&`F7im1;4K-j4WjWjV1B zn`v@p2E;KG*;UGW^ZOtOTf}aIY!NL&X?i_maIc^vw#~wgb5{LD;Bk&q6j%^j7VJGs z__Gd~82?;Mefu95r~y_i**zh=t_4NkjZhoQ{6}PC;Fj);0BHLa4-$C#>8Q}r?C5)I z_XDwnsovZxAptZfWh?OdeOM{4N%CG6kd3I-^dkbit7mR?i%@`&kWxb1ktf6k(t+G_4Te^yy2`yrvx>*WHsrXv(gYrNDG^ ztD2>4S&202aX&bnkO~Qzj@x;0TgYKdjL^l>Wp1vY`+E4q`DA#?OZTdLbX;&2#_c=K zK+D4??o1l=C!RT)`+Kl=z~E6fl)923Knh^ww#ZnKCE~Mm_QyLF)B!}d3F9w586^x7 zSjk}Y*$FF%#GlcKr)cD2*;a+XV~6&b$EM$~tI%VwfQVgw(RDuIF8I=nxb;wZU3 zm6+UR5!|+uWZ$Pzpd*UeMz+EYd>N0%w1Z;u0B+8Pj}0v`1f@szsilG{ROzVITC~YD z)aEM!19fRrSG`VGD%{+MTw^oQ;;j^dq1dU%3}D$U)~4wvlnlsSnu>spHb?O(GyBO0 zXI=jm&5GvV)H7z-AUVyme=?m2O6z$DN_+!A?&$5g=^jbvYmr{heNs0(ttzDc9*4%a zk~?6z5N?Bdl>`9n{FTraUc&s9^yyF&Rm?gtq#K(z_@MXe3Nz45TwPDU{}xSi3J1 zonGEKa~Z80npl4a^$!x4!5X4`wz=2^i1Gs|rA)>#$}C`l%bQ%))IdZ^GC5TG`FIyI zzLuj5KtL;Cx9$(UM!t0Lyh(9EAkJpqH>k&{9b;_<&db-1Z!Y7HCsNCyL`#;=O-swo zbE!{gmmwT8#Lmwqpb>I-SNJf83`Z@}#L@(rn5>orhslqi>a4r$Ba%XLeP(>Xy>PqaWL$C!I>N#W-{>F%z*0qTo9^xINd_)IK&21&p5MtC zqp4?Ur5eWV#~JR|tE`VHW+3@Euv!eZ@CmMugqZ~G`C{s~%{ow8`^J7KuHst)P4e|#$;J^R`8)bLI$u3g z!>kM`o<93k=(LTUBRYo9!|d2#UJRgbQ6CVWsTaecq1dB})fM@H< z25$WBN>gyYw2K7>oDY=5NE}DJujY0CV~XZ=W$_wH;wHLCokQ(Mg2y zlUBM7Q*tkfrR9u{QG;6HzDvhC%=ehmmX){X#ab>>jOtlZliLc++KDc*6trHP7{>$W zmWZe!)|ynqVI2fQ+QGoGOh`@mYNur$FV)Z|t|j*Xepx1D%g8sE_x`IQEz??+`mfVBs3PwVwNh3ht z<(@0D5;S;6su3cU0T@DmW@{X>GFrEZ#_viN%7N9|36b0!fHo7kPJ-5u@EA=XEgeFA zid)}n18w8jq3t`8)~lu%BqRY4p8frx|jT$uSOnMkMk2BR9h+=27BAH2?l` zDd(*-CtYnvh@PPJmB^=^7c4=sM=F%ob6%2EH@DME407n#YLZ$o2{$SsDF6vDtsPY~ zwKLFZW%6j3ES+%X%#dKwnykYOrjGf!lBbs^l>cT6%S%nwMpu~+3(xE}(&<3Q{xe#>J zR#oiPVni96nSsB$UE~FI8`Cr{OL$tW@D@ebBPF-gpgfOnM*$Xex9Ok7PS|Jib|ISn6MY0-MkA4;YVD;~_~KOhm%5zrnv z5>;cE#lZ>lPpWA31N%3UtU(hSvFa=2C*aaTy^=XHTsg2uqw4kr9>$Z?Lgj|n)nmj$ zjn(5Dd3l)A06L>=t5H={mmFeRDP}WRiI%hcdErj(Hm_ZaN*#Up_Lg zb?R+zWjo`8rT69o5h zzuc=F(Z0VqPP)r%b$7{gb=s*pye%z*rY}{vpj8x&p&ywQgwxFpdEg(eQV=0Dwx!Vl zBI6>>N}v{cdVJ&*^(%iKRwOBCRggH5ohlY9!wX>=2;-c6QfTHDClq=y&~!o|KiN^N z9hDN>PoLtE4IrNxct&9sB$JVwf^rFQZN4?6dq+3u)UU}q!SC^rkg<}k+y=6}l zZKJ0Fu1GIWHm}g@&y*0eGvCv_>T1n(%&cZ66t!PoyO*XKt0W_9#*^GT<&LA*Sqp4g z)QGi@n@uZoXXk2*Yid4wc3kBjq)d8mG^6cRNC-}pfWqdWrcndaX%>Fkd3S+`QVNk; z`V2h?`uar!=d>G%2-A()_$>x54-AebLAGfntOJz$-2LYSmOVBcQYQOljPfi89X~I3*d|i*d2%a3 zoUb-RAWGI0t*z6Z;7#&cixMW`HT#G9Hxm`+n-E^cU~?@a=+$dmuseEdcy}w54yA&h z%ngp}!H8z63dG}Sm7`{2b9)J{MDZrrSH*`CJU_0fIHsicl@--6QX+?_&Tp`HKaDG` zg?3BZe5F#;c(UOAL#)z>%d<4PYTt8OwS8>_4i*azuJ~tX?ah8?@IN3Yv%E zh8dfkkLE`H);ICc{kzC=tjIsR1^8DUO3F4R02tPC=N9y0$xHh*-`PK|xZWMQcaeG# ze3lq+lEG+>JJU)KsGpNs(eu?{WGgB`Unn@y0H%( z)Tf5DRtg$8wr5u_k-BjR6GY@DVR{s!;LwsoayYBvhdDY5U10pTJW%*-V()iQH$$w3 z9=LtNZ*-XINu!osEZBPxShZi!CV?%FmcGm{9T+z(S=xS(Ay$5$+qso zM4)r^32o&BS&;sjo7F18A^F$B^{3WGUyr?W&`I9@d>&6M!>WkIny7mha2 zlGz7ik-y+F^l-RBHODU)u;PMBsy#Mr@P$zCmzE#o+j{+BHdo{yr=AGXMe`}#3|-udqR|J}PAv9TL*A|o>^E35LUQ;Ent=Lt7mGOb$wOr840 zC1YKB(b&}va$Z<&{-gqp3uiqf2(B)_B43lK!GC-@%Q<^is4cMCOm+N_Q7rFVANDDt zNA1A_rV|}Hv%R>Mr}ek#DV%dXphQM%;5T}?uPC&>&A^4l)Ydby=P3ECGC~!M_-~q1 zZ(<~=Q#^&v1uIXH+$9w{txH1g3MMfovOZUwc#X;jq4$kr&QVr>DGBJly>T%|x%ki|P`_+urgN}|zt`H(8*r&FpGcLS3-IA+J^Bvjx)6PH zRgDc&tzQ7Gf9xV!s8*A(LW5Z1jxxrZV;=HTiL)uEDGe7>?jYQyPD+frmVv`9&HTp? z93HD0HnZ+i$W1zvyY`I z{xtZ{NbsFBiQvln>#h+?J0%UJKYbZeni_(@=r7?IwxZtsQI0TGs1(TFH++@O^0S;_ z*Uq@^y*44?fvY=o^nz*I>XyX}fl|Z8YlgnG8q;EpE3df(YIbjB`Q!Q_uHlAJJ1N$U zTg|K8dcIN>9)+WceB5YS_@fJYG(Dq`J|!7HCY##Wc;*bO3W7OyQNbafUR1CP84`Kz zgK$0-)$A^`XjXV!^01?zgS*@Qb&yQ)wZ~jDx=#3sG5LtIyn{L8_zA%89s3|5;DLfg zR+^kA$p`Dea`FsM{YKCK6qf2?O8P4#)Hnmpn18dOR+M;gW~~C?*!DP@4#Z`rDaS zWswdu6~{KKxx}O@$iz9%gyu?2j==y|X~RWtbHDavB0DWv?6G))x&Lio_<>q8OSGu0?B&WkV@0<} zf6Qdv2Z`k_QlX6*hzmQ z7e5tjJ;FDR>@wYt)6ZNqD_ZdJQ88fSY8Y4Nwh!){0+LA&R-90<`R0L*UuP|Xt5&Q- z>U(oFl`9Te+qoWcSBJcO(>(FaC)K^itgA>*{zr$>{p~W7!?5bp{or?E+u`0`jAysT zHXTaj$~c7znC_wYGYJc)@WPsXhIHT}gvxPD%|a&NH#xGZbSHX*`#UnRG;sl^e*xWR zyAwR88R*R_^tt)C9^lO^zV6pU-v1nnB9PTTQ!jcndCC-5-Aj5}cQG%Xr#E!R%B%9C zRDQ#0UE)mz537U9D4ZQ}L~R!+wr0`cIk#xNJNEN!F?vS@r63l|Fp=L&B4x^|*G0UA zyOJyVKURw_frPJxoV;n|ZkZUluvF1)5K1@TGoYSv#fw@QlyHs-VP^S>*&wz z%{1_1maLJ7g0b(9b_7^*GPmq+qcFt=HWDg~x6+J~el977Og}VW(Q`n=f8HdDXwXqj zkklo_jN|EANL%^*DiZ~XeIX=uJWjFT_7M(Pte)#k@L2n~*rr>N9fDBC0ZCmdlW(+` zq9YIeRIr56u(k?!2YV&ysbs`>d{!}f`-f+x>H5T@D@gcEk!6;d zuCGq0UgHejS;Xjlpi0I80%|U!G<*PrG=0!rCD}Q=$PW{oY#Dp?YIuzb<+Tf?qa@+A zgdHAB@n#IzqoypWKR?(8F}QRD_T3($eV@cduslGVoYbBr=w!7eb@2;008!f zNm>7(ue(i)9)&UaAFaV=pOJs$pUL*0A_WfWo-->3+pP^{_UKSGDmtbFmSelEVSD{= zVdUjZkHKyT0znneDobj;N~Tq}*7ld-o-_lEEoLf9KliABjO75Gf$_-@wPPVdfbdv%4KDGNs-(stG^*7TF%9 z)>p14q^x9IGnugxby`e$>cp^k#)yg`I|^Df zqQm=KdzG^2aZY%XO?@92)uH#^gB)uigpA27GgKzDMRx0RsZ*@Sq+LK&eL@k7r=Zc| zMl5DbeS4b=>p0SL7$TiwDwYv>iJ9Z}0u4z&Oz=oDf>IKcmcdbQc_03XTd_}ol@gQ) z)Uc5>eLF^7P2OK6UR53P(N;-~Umy%V*y>tRDBIDnu;Vf05wcmhjq+hU({lx%juS)+JmSS`bjh=22*8)K#18nA&9D?>GL zP)z&YyRj2(m8%pUmGSL8Drmf2}n)HyJh_mI3@_2>%qrKLSi%gZZ+OX*$=+rV3L5ncrP>^DZ z=c#Q}!2(1lyw>}#Wi>(8(##IBQZ zau@c41xWyg|PJea)P?yke4${@pl>Y_#Dh5xTzySyzl}NfVD>wxId_kPg$H@tr-#6^X%k1 zQlcsKGZ#bG6~P(Y%Yv0Z`+_aemmqH0Q(Acot#L5ney3Od9?8%M^>-@_b#ECQl zKlY%aj6yPHbmwsXZ-;~uwG?$FAPI!Z67(YmI=O6aRpABC?II}O^Q6pR`%Hbd1~&?9 z{Wa~wl-#7SidIXFlrE^eKrlgf-0lP*_`(VGmMU9;6%>fK^kKU1IO78Bw$N*zNeUX@ z#0;6=I|P4WgmEcSCgBmbN^Sc@gcnd1gYOYhCgyK^)OEn4t9*ox$5CkN&Dd*xiuF$) zuN;FhgaQme`HvDS9MCHCcZbGGBvxrgzW~QPe595gFtL7YFVKL#klG`wB`j1Xl|8K~oJb#s}B=kt<$O`Ev)v~955n83YK;CJ+U z+2>s>ZmZo#ykx6FlEG?s*S6I%1=ww_Jg!E~7sAmq#*icD9_Fk?fW(;0DpP6C7B&a8 zg5?Cbu-snSI@#|z)H(zhg`&*L8BmO0PV}GlQzu+%UXPHMmI?{gC^tNCh zIKC#r!}W{NsHMVX2Lu&kSA&7G@w2Q%GQ(xG<7};A=fOtAd2YnHwRv4WgC>(D^M1s4 zZ?HSaZCu7z;2r^auxLpa?_Io&&&)REnDw`punJp3AI*zn5`PNBaAzeIkXhr2EOmimVMLafn4fxJ?0#jS6FbRl*r0)Di7-#p*#uev;*xIEO!qv2 z>*bz;*B^_h=os64jCI`O;VqG;$qwBwLJ(Oh7~A2qgU^+4OTrM~rjLJcL@(iD^}&ct zc`lY)@GQ7epxg3aJ2JvarHdP9vDg-uY+gIYx`s7%&n;TCc(aBeUosXd8hp68tst+33G}Dh3hB`x3`MgLl%)I5c#k|+FH?+#K;q_`^Lb1jacguSRP=1C>)1MYf@cdC zcJV^(IB^Vi2;G;($+s9C{(`F*R8u^rW73xEWq|TI_Lb{xR+&iu7W@l=6U%AQ^I9PG z=wd68nWejxDa^cZ@Wj{(GR#~m>?;SRtWsYVucT8Fl7*ryg)3TO z<$#7v&O$5cLRLsv`s#K`1!F*^YMl)@%`^W)K-h>MJ74A^!RG<*XBmQ-eI3x|Kx`=|#1n z-ilzmO?kq;fOWTQkOC=6Ob;tP^ul3y?U5^8?KIITz5hG0EwmOPb;>VONRG0zpr+6# z#Cb~nM_RaH<*|J+yYuT7x8BNgn030>LC0U*-C}v9wykXzS1b7#mvXo}QOO~w4M5-f zO6}a2m76$Qmz8OM<=3}$Rwo<0Qr)?b=Ety>*}ORTTzZEup*}kV{9N&{rsw`h*TJ#i z@Tke0N7-$!iiF>dJE~ctQXBTwv6=pQ^xuNye9BP->^am@vooJ7%98y7#LTsNiCUZ; zw34qZKTL`Fe348oD9SoWct=YsX~~aH5d#h~*n(1{dq&VE`<2<@q_THNC9WQ-hiYYT z9aUs4np`mJ!SmJEy_>Sk`NAkV(=D5{M^I;1`vPp6ICjJdwFR_o#jo*0yg9;w8#1Nf zx}sz_QIPSWBs5T>EScnJ6H6OYqjVuLSy{_}g)4Z(RA`H!VpYf7@Cg3yL_1THg&Pn2 z5ez9$wJ2rB^fHxHsWQUG-q7FMQ8eW`sRwass2LimVWw+reduzt^DcfNJCR|mV;P;^ zi@aS!>+By#sosM(4JaPsZUS}A8@ZndxMmhGF{LskD^(^?4OL>Z8|EWT!JgXjFcVy#@;$n!EVSChjIR~?_;bM~bDX`3<5gMJ`xYk%5pIF9*hl$(a{05xyXj zVxK~r{_#*2789G;X-eaKj}?0{||Y&-pT zpnmK{S1&Iw?;%em9#?=%g z=~9)Yw;EjZ$TNFQ3aYF6mlo2`a)6l=bejVH1HYfFdha-lQRHp?;h}rjFY62&UDq#) zx1>k19iFN~mbF~vJG^Z~0}^*wvGdlp5?Vt=kvo~^=TdD9mv@_->I-gT@uWRTk{A@d z!E3e4S57Y$f3cS&5G1FX@w&nI>R&jG;s{qNz&KL&jT*ibe(OkFMOF-*t0DA?ldfqU z%fI4RnNyFIri;>FCxwIwV3UfiJHRcsZ@<>ACm-EPFXn%vy?8_S>AR5zwK4Yv$2@(j zw#VC>Z>MciTqflu=O)dje(Qa?4jT+Brao6RR=qDZA$|OFKg3bsFEx7hbniKQkSLqh8{MuN(@fgE<70{1*uNS<-X^{O44IB)N`_A}Yi>4eQNXxcuu>TRfw<6{Rb82Os>J%nP$05=ubM8kwNr3|Tedqq5p7%Ig{nUo zJP`9U4nnyFdG`|hn#hZ?zY_`=9=Bp1yFHBMY%lr3 zIlO`tkgnIODW{@~3~%{gPafEq%iSjSOW6?)X(RQSA?b?U`M)ZZzaa>EM)CW#10wVL zMmY$QS>pPWv?aL96Vm${;SQKv@rj58{9lDCUXa~!Z775OtK3h>%6gIy-xy=ke(oSo zqAu9^50HTkXrSIpcWeVXw+)rYk<#r-nEv~JG)q9} zW_K?ic|->o{K7AONq%|p-$Hu5E(vUj@3IvHH05uuDPG|bb#Mu}IsZD@Bl?HHCb!hp zrt}E_Rr*>qq%HaUf8pLauK0}9mA(UZ@b%;HzmUWtE^VYPW=H2+7iK47fRn7q<=o)hp1h+Viu4xB>9jDKmZ{3!aK{deCA zFBDMvh9Sr^Isb~-i?JVa>{E2ub@4~hEBL@QiC;?dli@|KuNRv5TSYbN7C#p>2)d(Q zV=)Plh>)B15FLq8h`yTGkovrN65M#78O4ko=q?U8GZAc5gkIwgM6k)wNn;I3hk+6@ zGYzKrFcosd-q^@$s4B{Ip9$yFxSB|{$8EOG#lRK6R?5Utauz;h$z^d$#Y$4#J-t~RNe*$z zS>3n`4Dr0rxJ?l^_uSpF^2n)!`M3*bUz~Lr4ASIDd~R_!X@R4$NP$kAw;FEJlhnWS ziR`-y*r#LCB!DFlNsq{8jePD#h8eq-*+lrnzh{(^9K+bP@RARVV&o7m;Q8M<;7(_WT=-wU)ZA zk9L!-dG>3|P4pW+t>(J3t#;@C&x?T4CY%zx^H&XIjL-qvyHG_mS4K4D-D3h&Z<1dZ z=%!=Hduy_B6>s+s0m#IGzuK`}5S+EEYUoHO4M-g@M2D9Y)})G4K=TGtsL zl+H}90{%AQ=-AY07OL8OUGnfK`^HsKr?*4R{yVjn!eOFkzBL`cGdFznS^^lk9`ExhKhoNIf|bFrWB)x0s@HmD7PY2UE8hKR?67JpVSTcY8Qczv9&94&`j{q}^j< z>?gRSrtDv^blUA}Pbr%pVinskt`;YLW>mb9j&g~WQu^qXjHuTvJ0+?XFBZptd}X4Nf6&QIAn<$)qw}AyjQLDj!P&8-h^(3|NX5bI_dxaWfy4Sd@vbV7Hi6 zOH7JZ2WFhbUzoQ2>_k-~zf&VTthjvKbA6c8yNqQ|J&`Ohe$2~&@SR=rX?pZ7Lfprr zMY72d_1${Gxh&0~!F7=#*MZ^not#Opf5TEMZf55#GKQo)(w>q1&8omlZdmJ}Eh}|t z;2Zv?6&tBX>^z_Wf#*M_Hy@UYW_^PiU^yJC`De|hE1;$PK4r#lB5S<4Ooy(7{}dKS zx4B|{v|r+hM0UJK!W4n((u{kV#n|<;O0CCKxJX9TRL${l>ZlT;mJ$#VDNBp>>FHLArUJ8T*iecK8^e;LetKx z-ro(j>D`3eL!hsV4l)-jewO4AIDBeCmq_*d@rnkTr_(PhJ<}I`AT|tUyrMYT`H6Ap z(kB&dZ!5Sy`Dz`$qNgL~+1vX9OA8Tqr2#D}BsO*S`V=0vuGipzGk{X}_$uI%GZD13 z{FkYDohm;(=id>eQJCBdT1l!-42`7Rl~%p|#hLHkdk(VN$wO5uA8u1k-V2ClTA}s8EMK{)KpsbQkbpgZo{8U8gutKY~h# zL?J2(Y{Mzs>F0SlHl}$(`DcX4%Bbj%M3eg7h?sd$Lyw}YAgPR=@w!A;rM`4rgx4UN z(2qYt9EjdMLS$G_uf;T343Hy45+81qV+Bzk{U(lV7|`J^o%4x8bJx?blAx%Ag;=4u z=54&>=Lw(9;XAX8|C}$YE-}qqljqeH;u_M;65fv7`8{w_z=pz_^1a;`e;Fm>Ek|?- zsl{^hDhXxt9fTJ%J5tHjfA-K}qbEUhfxID)#mSJ*!(yYt#Xn0n`YZQx^3G!3nvZ@U zmq&+cbB6}33FFY0!E|ICrsI@q5e3P?p8O?zIDQwEGxmz{^y5le;7_=oOwH{OR}eGd zIaM)U%p9^a{H@ZMh0o0hWP-6M^@1I!D9%1hSCK366)nfHpvl5yfIAwi6AN~^EVzvj zEN9xN)N_wsQp1X&9)8J%5JMEnH3j|&CEMUpM5BtCfR6QX9asysA@f)N6Cv2fbQ0|~ z`fg53xm+9=r0V5Ily>~+J)SIU_`zKH%P&7BS(cP{2hkkWFee`!frlTEmddL@jz|{= z9yBG!I@y&lF|W*om-_Du)Io{Or`6=XYU)5&ehx-Oz52hh^b7v>`%|IkYFy8laIFa| z^As727BQj~?D81)v40715MALtEh!BGCuYD?bKr`V{Bwb(q475C%*@-sBcxhTz9MolB)L}8#ym|xrd05zoQO9C)VMWt?G z4WP(eOd$W3TICJW!dPjyGN99#Ym-5)JKrmT`F4<&%>foIB;2KK0L}|}}&nJh?t)NL6+q8>U^Dw{H0y0}H z0>$8KtLd*6-Am7e(tp$rHPCA5E$cGN`uR~|J+V8a2)yIDMtUE9Pb?c5!89;)f04jN zOeG&9V&t$DY_p)t-1578nEKJRxEVGZ1$`)3`uCbuJ~mLHPJb$rj#>|pCWUS^iqSr% z(uJO|)h0^~2*TO}{+(S|Um%gLp34)jTg*dcxb(gx9J6f+B&lEc3jGLrBDwRqBtL*( zpB$^Vswe3!>yG;fYejyQzob8CYmpzjw#rW2UTP)kEmtS*t@r=+QP_&^o!yG>9sY!T zH@dEHpxCUKD7YXX3M{=8`O|MWs_}Bx{~j}1h7@2dAFXc6astz z45$n%hjsA@f*!+(y$gh>Szqm6-AU0?REkf$`lGx6PC?s zOdQik&&N7^^TAB>#S_q2e{we`h7c^1e52Zv6^3Ib7>eOapBRJPOx|5GfVC@_j636EdR*3jt_g?|;N zVU$5~EBf3#hJXCA@?7;`Rxh9U+T~y4HXpfNTB>ngVOKE63_B|NTQ*v70VC?cAF1cG z2mE#XW4`*niO+y1;*}1Y#9j~o*pJwA+=I`$&#~=}9`QI?_~MPx`7;^+QmMcBbNNCH zE0c+ur_~Ahi}_*!GJ!DOEj>7|)}Ph~Fx{Z9*q_)3>~A;+GTlk%u5YeGeD#9yABedv z<^RalNxoGBf43Se8j@Lb_vB@yyDcYuMaEe?%(`nt7}RQ_eusWR+@-&zk99t7jj{W{ z-)X*Sj`=?Pd%wr-vG)i6u@)ctyOp<6-nanWF2nj53p#oy(f4C54!R}mt0whD z{z?f?BZZDpdgb0SH`-bPRSAL0J8lv_ zWq7F{(qG?quMVH@+iwY0O#ax4m7_QzM6-c;47=L7khMDQbZR_0^Segsh zspu=@myc}ByX5WWT6g;QM7~O<$OBC%*EhaJk{$}~zE-K;4SFSV%9e#;4})8pwdM19 zJ?-B7q-_?CA8O_E>*Z`8VnU~L7T7*@6c>(hIXI^UtD3Ffaw(TMj~>fT0pjutlTBG= z^)fbDJ!S3-5A5gJWxY!CZ2qF#Wv7mAHd$XIS!JiX9qjVkE-IhAqfrY*$BcgrCsj&gS$xZ4nQfY0S+hYtmc+jyBo|wz^lg z-fZmj?rvwMmDxI_N#BdVhD+nbR!eMnsg>IBCD<`ff^Axs0L^@wOHMAUGK$MpK(Ya4 z?2~kSjve)e`+Pt?gJZY~r*6j5?fAiJ* zZd~DadR_vX-iNMm7p5OLroUG7qM=!F2l&)S#|!^LFJ|X0>#w%tqhKr;=q_21xTO}3 z0-EbV{ToDau{);EoyAU#HAS*1A6Dw_8u8FY{5Kvtd%me6{Ro&WlrGj6`{ADjFMI3A z`r#$RS`?V*&PSj*>j)Vfa-8m$v!7$Se9hKkQ61PFKaCEy+FH76XYB(!Tqg}hi)owQ z$K3+c6Fs*9hconF34%xYCybAb)A(7ue2#9wbMH>jcQ8q?QSCR&_;c2)H|IY_>Q0@4 zVm!nR`CKASz6}&!bb($C6wMqDKJD&Y^jfG4ux$({noJctik|S@wq|A-a%SsU((f-_E~D|*6$^Xl>Xe-+a(>+qm=mhn@@2)!6zYZb1lz4< zUTE$Gl7%A$Upt-Q=II3wd0r(F89wq$S)NoqgCuR1W->LFLNkr=y`)2O#k3mQHKjYB z@v@|_}JNqmFt++XCRu3;94I3OqZ4bDWyVL$O$#P8j zK(X~!Hdb@<_vxrVRUv=#8*8;22{MZhAE9e0*r@F(IW)9&%!k`3*#5c0(u&>U=kbTH zERmzEkJ7IkI2+MuC&uF$PP43JT7fRcnKhnt8CXA}Z@*)(o(L1Pc*nw4!*7Ipl<{Ra zKD!FAdGgru4-8kcMs3(V^dxM5x60xkWGz78(SF%tR*>g{zOpw^i?1{F5n;Lfd&||YuPZZru_I@#_9Jh9 z%hy9U9P@<7_Mzra-1Ic@w86qe-eea|Por_^MnEyWyS(}@>Y~32XcbH(F;SjmDp6EBkobS}$+(MQ@RMnOC2B zocpTTpv#Z?j@h8wT2eo)@D%8SA>SAWE8W@PT^8jBZu^`!Y(I~G3BEguOgkdJj8gRH z#iD}5ug&IVABni$lYEi`-JD3!>?0Rt1J7Pmf?{OB{jPCN$m| z6XA4=PA8hycew=AUo}Ni?*OCOe3z=bT;69#cmwqeD!^rg=#tsobwX=8W z53uLaGQ{@4<!aX%f=!lQ$9>Kjk8_MN`U~p~lF_%6 z@=Qei8zoNjT$+tbAFG#0&tn90#8i)nWP=u~#iB>VdcB<1b`$BNq*z%|+4wtz#(2&| z|2ui%pELE>x{oH|sSGwX?JqM`OKw=Up@)Hk^-DVDb;!%0E7QxMv&kkI$JAPkVdTeA z26x*(|Lwlwl;xCZv!_(ghefeXEKhu^WHqwqaBLs@bq!XLY$N3LHl5}A*^jl=5^r-W z(5sg?Eb3_Uj?asC4*Q6AqB{g{7^7{1m{O~QzSq$BH$O&Q1=Ed%;oXQ5fE(33!j$hm zbHgv_%3P^^*6n>56u&hkV^mw!Vp`)?{)zdDv8dsWVGsXv`vy%&mES;gBx2T zNqS!S%)6_+pV)hyAkq^Xhp|5ta1_%J#llOCS}xZmJ>9{2)_#ErsN&*W@2(>D;CJ5) z{^x+8gNk@XfHqg}u&5=udSaYCRc~V~wesu_JFEJ#C6Fu(aI9;}uP6%9g-EC+n!QNm zZXg5S5{H4(p?@Q|oN#g)ZZl$rI9k-{zo=##TdKymEEUF;tH(S3$aZPxwyv#s1y^d{ zncJEY!EQZjP3rxtMSy!H$?)3#^I|a#c7cbE&*^7#VlS@=KJxKgvTLo4Gr@D~9Iy&q zU%C^#L)cR)yvK>$tdH=YZ*J(eKEoZ2c6f(yWhcl@=)h3B^>GlvnBRJ1#kD^QSefIV zf)fylp+rG8A&?_P;9$me!S{_p(H2%BnV=~qx0ws+U$epQo&~Og0YriCqF+~|e(i)9 zeIlJm+y5O^oSi4|#claxU5O+jZVK$6-FO2*zj|{*J z`#Bp3drEV;@O}k5K_LtxzYv`5Kvskk?o#=`LI;Ey?qE6hx(Lo}nE>^dji-OzYq8sF z2Vd66)bf}7)|1{Rf_g0pC4z%+!W1KdVWtWp!BPZ3E5V@}qsWC(GofqDEtB3*@%@Y+ zl<@+cFh=KtR_wR&!qNI(2hrFP<^tW;)$u-skiS~9b`Ku`}J%!mjsNUmC?H|^aB%H(=3JWjyvp|BVc z-~Z%9RFcpqrYlqlyoSCTi$cfzt-HBDi={5K&?#r}u1Ra~lN0f6E{LzmSKcvj z4l zcSr?nxDfV#{8TopiUophb6dcbR>Nq*O1AAk8}_M~x#WW-3u>N(EY57kFW*2I{!hB^Kc za8!mL`jWz`_-(r)J2jhwqz84sT-_$*pKtN4T5ym;?_AhJ#U zqO8{Y{%@e#LBjfDneZHfkdX%OZ_0uxtNKwPZbY2@d6*pE;AkBhe!?#oFl#mUqt-HM zS^hkqGRnoSVcpljGKaX40qIh~H=s6osW}YGe_>95^+x(})Q4r+ZN>!YRm;<*fp1Wa zP_G`oQpH+SGF&i6!=6EC$|CpMy3dE@B$+w*A=3%*j;+8sHn2F)+ez>a?1so+ zTk0!3A^mTg`Pk&?IVqo@OwXuS0G>CxwIYdNXctain57XsA8hIk9v|ZOua+A{Ey(X6 zOk@5oaNHepFNiPr`T^S;o-PpFU3o89V3_<3f?b%WF>Dv4t}(7%IQ|W?9~^Hjz8CO+ z%8xwGU&rt}-e6up9zI9>yf%bc-SFeu!TY+t|A@wpH*L)4vfRFI1nblF+yV#})b@e| z{>P8UWtXPX6BC4AyA5coqyP1z{&vxVm<8D%{4a&zQ;2t zk0_>Z$~z{kRd?WQZnoL1-25|r)zrSfyVbitqccc4d@JS5r-FBlI{H3zE8yIvxOv&c z(a}Vd{ZYf&rG&?*wohPLdxwXn&lfJ1ez5U}`c4iY^d(!CgTxL@(?4te=Yv33k3V(X z%Y^H91U^ZK8fBoS?z={f!e6m5ckYKU!HA_gWG7ZJV;DKgFNX|}=K<9QoIHx!pm){= zY+xw;4Z*GY=63jhk3wQ&TErNcWf?|K=-fGgr%ciz(j!AL#%H+1-L$U<;lxvIDi%J( zewXTrCeS>J9?(40PQKY_@w~tYgS_;eZNA=#d)|XBxa;I&FfO6>=N#vAuFmm=Kx)(U zZFGcekp~ubolZ!Lg*`kO{@(3r`+W|$6n9e8*@bW^+YpTqEDr5R(7T)~!_{cv| zjy>nY8YK^|U41p84QMEPfFDM#aAQ4I63kMP7qX&pBI}&|gzdvv2FGqHH55SrOkq|(R zJ)FUN!g*dm&UPiaWO@UF@^>-0e)bMHH;9EDiHy?jAbX(^1dke%^MM>T!2D~Q5j!9K z`U(H9XY%g+n-fjpz;>LUeL`5^nIvF>>A&+Q=c2{40vKQCtEIEcaFfJwT4@IDg8evh zX!(x3=P=fVeNW{4Gz<8XpQa{vTweICyN!PwLf-npyKns)xMo4FJcYrF{>@$n(K28b z3c$U#nJqy+S`pvc-OWD^gG?r@0sWDt)iw@$R`p04=BMuje+R)DBJiC1UZ+Nj!;W)>T`s3 zVIWLMKZVQG3k_{+S0KS0%OkHr&iF1gj(50@cVOIq3h3qrS93#Zx+2sa;pt6tw|DHq z$@x-TW~TQap2_J=XSQeE-}oHU;d#yspr3tYbDc|kPqJR-gt^-1{10J2UbmTPS<11k z=3dcot*hP9)9nYe2D#cp&~6UGJUjK&?%3fT+v)bNdH5GM+2^p@hw?2{H68d>XStd^ zN*|AL{cmY^jjK7r)9&YP401JNw;bcL9Bbzh%=2-mF$(of`W*AFL9V}JjthSa+ODT|=tO!mZPQp1rbR(d&0@_J zHU3b_;`Z<}v|vne1k0y2pZ#mM89C}h#x%OpxpiR$`t4Y{l>^#4gHUu{cKvK<>XM4`Q94KA6VxL z5pECSILk@2?D21gS>5(t$h&{6h%X84wGHsCgObhn%=Q-tU(kLq`TYzpIWIOZpgkd5 z2ld9+fy4fY9qZ9`Pygs1R&LOFhnCe$Y-#?mr>s%w;yJ9|3oq;7A*&%?Z6fiz3JLO34?T}}deKmPXw;?8q7fY~inwgA^H-0g&z7LW5^pe}8p~i=zo98++w2 z^2Tz0;=iU3%U1hb8vo|16o_#-RsauW&f?%`PtZKU6n|F!qY8rq~a>F=)me1B2;3Sq+}S zZJRr>C4@MyBUC*D_oHYaUn=^YFG2IX|09skA^v*)Mi_U_yu0djUZ}NPdG%Zte(Gls8DG=Hu8g|$7YuTF75M{Y>~hH7>L^u?*plNasQE%F7z4_NO%eQalx6V;-*lWG<*WvS%4*PZL*sONTN%zn0$?L_IlX{HLC8jT( zk>2#%N!Dc*pw#5z?3wIos$Y6Vx#r_TQJ%r#La>icb$N@APE~p7e}YgSoBHx6ADi0p z5g(fx%(CT)^?G=SZ$#(& zP3z=4aKG`6h`O0gNyNG!B>cvR2*kt+EEZN_WoYMzbHrdUJXQocQ%cG*GYnmQ{UWP~YETC5~HHePN}#%u%kpkt5K} z|Kao&+YZfXO3&j2>mY9VVtm+?>eqUgAHzuhjr~^tjUjT_^kI6qHF^CS^-cfn>vHJH z;C-C*e+GBuxQ{cVzQ_CBuH(GvUH{LZ(xu%0s(Ci|39umGxqhthjt~&_eEmN&Hm&n{ zFJ1prijid_H|k2wt-OdAeXH_BVfb#F#VNdq7j3KX1VP-BszY=hKk7=!Exc%6z-*JI z*ZUARYOLI5uTbe81TVDM83V(JcxHrKE6B$W26LB2FV@zH{vVy!xf8#G5U)dX_01|J zo!tMy+FL-y6>Mw52}vM?00{&L9w0z)x5g6O3GNP!JB>>S7Tn!}yEbl(H|{j{dcBUt#4I*wfC;QPxq-+U8hbJ1AoguqK)VT%>ULH4V)9u1LAQr{m!4^+OloJ>TL}ew?8Hh10D(7j(@kDG_2w48Cw9SiG#U_!nhIw@H>JllFMQB zXkTrUxA=)KMLkzJ@Jj-j*uB-tX^L*Xpg}DNyva`V2HHez-WL;?ZThR2hp{<9{gAU1 z9u>~3K2m?qU?O8R^X(29N%)AzB48k5GVnGO_n#zU$jJ9WmqRBKzCc8Gy!cGyf4ZjX zM^k}FT`0mfnV*~V74}1Ea$db)c_nGihWqfC3*J*4o~j-BPbv-a)=e3=pz8>69G2Z{ z#r>Y4o^YS>ASx~v6CIq*SHmxv*<-sSxZ-Zvy#_44%^D5QzeZ{QwQ$l}72KY$M#xrV z00a#bhb2xjfdN2e=)i7*8X?PnC8ez+Ur()F9`8D&JKegvztnOZ#xMVPrAm0qGwybR zMfJ$hV>5fGzsVn2jDF;?Sux@`Z(0Gpz8)*~)wK`FV9n_CN4*5wtcomNjw$;y z9=?Bkzng2HQr;EyOz&`F8tai1=NfEfqPhP`4ezRZG5^PwtmgH_^(XrFu4PFn$`D%$ zpfLfMCCrwxJ2l~J_z7iq`e!fw`@o$?CbTZjPZ|d-wYsRK?USC6fBZZVxv-)YD)8Hd ziU~Oy4s-j`KjbMX{t(7eR3zzco~BEKOtPg8Eo@%t9MuoEy_2uT(#QYm!FpTWLpR!H zBRQBZnj6r(;iXb}S|;H+QEF-B%xq`j%wwmiig%MhID0ZQ+=0ybk#faw07}J)mAB&1 z*rGnauWdf+{S~%?ebs`MI=%deZ;Nx-O>tz8e%R%4oq4t2{V?6Wmx!^Ol>t#-Q!sP? z9vWVF5`{;s^juJUF37R*6?ThGUg!UluN$y)1%yvT^1h=1nZe;HAj>WSQA0 zqJ|a1U(Qf1JikT~pmNom#%Dtu#q1cDgIGK0sea()um~(gZOq#H3(Ioiw0a*d#Np?? z?Lox9-%wJDZ?}-n?TP6{*q!OMrE25Ov7hGX>})vu(d@zmx@L>0jpmkj(8bsETSuQ? zyQ}ONPaBHw%(9>ADWwW{$Vv#7{CbmP)`Cm}U#JenQVj$ax5ui6(p$8O%oAc49z5dG z2%3p#sB*3WsseIYtlnd?SfRKX!+&ZKuUK3OhUyv`&%Tx-Jjq&$3U05*4Y?sQ@_-^<|%UWeF!xu;bvb4UGtC5UEWymzE zqd)P}vDMdhS@_8I1Bc&-cN^&0^Bg7#O@B<^Na_&Kx__0y_1HFo$v!O)FH1N1)t;ak ze!u4>`2MyL^W((#W^yZZH;i=DWK1XDw9eaOp;dc59$RD8$ZPj}X?Kz;iV1yvgXyHY zem1872mNUCLu7M|D}a|yzN~}W!oxKN(eZtJ$E}cTLbNmEfXq37Zyn@uO}!t33Bdwj zKnOR<*}0#%krt)ztv<`}tX4l;Q38_m2b3pl3Xz=t2+vBS!Bfb%% zco^OHrXVG*&-57{C*CVl5fRvZ;Etpa?_ z<8AuMHNn1;DwtN9?V)gN^xccG8N{%v_no6(=_a4A^WBTIIlw4YYv(0d0g%r-B6B?R zn(6{sw-Rl`i&3i8&L&ysf&p&@KOXL3 zscid&Se+yC6z$5Ucpc?exUb0(&z@^Ow>JCi8NB>}Q7ZbZ_YXPkI2+l{egi>{c@W|*_9L4GgF-jpxHs)XF?T}Syo(bD$uW!lcfyh(zD@pyx zltyEdF*77aj*1GvfEd$w=KdThaE!QQqAeARr&ynZMB=7d9}m1;Vd@aeAX9ObD5&=hTg8Qw_0BG$WD%Ff>Mu-pDLxz>$iD-l#iA z3KFvu!F(W}tJasDEhX`6Jm$Hns+gS^=2UqKterqly5gEK4?qLur##{IM3%CU;?RTO z;*e&HdXh`YCOkFlJEd&$OZ9B3OaHaxNZHOsko$1`t4RFS$ev1PX+tBPUCs{M+%0{v zYZv8ga!=K4s>dG$hw!eh1}f_OCx}1PsRwC<|qaYqDHUAL%da z+HP{f(j6Z;Ql3Jf{pIs#p<(f^Exl*)Zti|l#hujQWe%RzYj|5_c8_@BWuQ{5sT=nx zw?{;H7t&?#^@soT zdav|JB%A8gh&=_D?kS!((&mwbqKYxY4;fX;L|@<)W>SI;08^P6PS8o2=n7zB#wkjh z=n0@;;w6l9`XW-WKFj{sD!hd95M-2ukyc;qXB*zg(r}e_W(rzexFPj~k#=8lxY2fu z|4HfpLmqCQ32vu9q5RjgL(lF1n~ju5J$tG5kBG{Bk!cd)-e5mF68KNUC~ybiytI^R zJ3OlY@e05LeHNwFdk+3Ns{dwZ)N%#=B#Qt`52MsirkUtOaDKdtwWKF(6@q zhG-+7Z$j=EA%EcUyw3s!n*Nu>l_$0BV!tGUl_Q@gb0x&F-nwNbRuDIVBQlcUVlSgEM0gdc~=~uW~K9Tz;QPT7?NfDPzL^O{o>+cy;3tIwQ$bCcgMFc>DdoB$h#f`;t& zQZ{JSKk~1(f=|fM_x0syf_GJ`x&g-Z@H%!n!||Z&e~xj`KFv(@JAmBQh_CMd-u49wiH8l&qJJ4{<$0b`7O;Y94?iBvlRZNn{e(Ys{$0IV&??T>?h0KT7iqN7+5M6@Qmx(hU`ROEOw@=wY-p-nlPxHYHO?-YqZ8dB$jw)d&gCLB<(*{jHe)WW=6YDXP1oDL7?d3 zxz0MhxL8$X-I-7Qjzj~wJ#zcA9i>!2X=ZcGWcUu2UxWP<74(O)-zUZVNdC++5RrNc zlvv!4;n-7?)9=boNsM7hR{g2pmhGMx!;n1iSdN<>Llq5lotBdAixyX7rjlgujno6H zGZ#gl8jOWlF(-Ebt@CD*qp-LK7hPGDnGK?u^~WqMnFYyN6d45-fF{P|#Oy+0%q-+A zEJn%{gMAd>as?u(UZ2!c-R4LJ+#7K&Mk*wB+>KNb7m0-<*1o+^i{2iY!mHjMclfSt8{*Dzc`@x7JE?gd#3}a@qtmPl?^hB6qr$c@vi~GfQi>-4c=J#e4?k zxi{6k#We~dUPYrzg*Ds*t?yXMRV}ZI4q|3y5<_JO_5Ez1b>P~LeeX*+ z1XBTB@4!`cw{(M9z(TcW@e(t)qS-@6`&6J+L1Gb$J==eX)0T1srvkd)vDCxGr6IF2 z1qU%|TGqr>G+Ql^iMTFVoAq=n|$_W=;W_P&N z%`*eT1)h@8@^e(!=Zf6oESS5Aj5?O+;EXJ|8_LzqN|smUS;>Th`}qdYl-*iZs_ImI z3EAo_R&Y)l-C0p}s{EWrQFU`HSIIzu@zAQ7C3?|;Vs#Bi(E%FvB-kWl_E2R`WAakD zdZDdQMw!k?iLl6Q;_}zC!=E}}EX4}7YHgKWv_)_yDwQnZmzKA952(emx2wt_`fLk+ z!I;Veyi?5@6a9k8yyS1nc+nkGkHEH6_|QTv{Ct zf|@>%pXDy0J~a_@zyi1_0CZ#ocMf<0FPZG!K!alg1Adci{XlpT9G<8(P;9hG0K8P3 zqEAkofe!EiYnZ{oiPZxs3R)fKic^dmN9c`-GlK)lKt~pPA{KOmO--N`5J(JfV5VBLq-8Ry z#oDWKMaP;dUshB$HWV%P^#PQJjEy`d`#hB|l}ap(jd*Fcgb)kO{{~E7f4FfDDr+I8BwI+*2=FQV*|$`--rKSh%F_R8iWjzhJE9h=hh057eYw zQ>R(lu!xCuTCplRl0MxgGS74yyl*?QtzohHZHpPQSL7K!4nI@6d(c=j$@Wb**5|3= zI-+h6Q)zR1}IdpPY6$~pv?yabX<%|O=A&uK$h>E5nb*H%KWq{Y6X}t z*%y&}uN^)O4!|eV_@P8izi>`antU;|yS4W_Xs*dG*OaEEJ9RqtoL^b5(lv!T9n&v% zynIcD=bb9NS`#7Vkny2ZcK_Yfa8Q627$YHI+y($&8#e^?)0;wCY@c&RI$Hfcjg|PY z=XH_2nNu$PP!^Vk>7NVm3qs2iTSv!CGph7> zWMJk>|@6wC7%W z`|}8F9n5~s8>i2OmkMEhFUnva-v8h(tcs=8`x^*ZE3~mbhmV;8xF5pQAO?J{)n`+6 z!_}ph9iYhB?Tfm$y}4A#M~)TXRLNx9RK|RpHA*;(nd$jinA4rbRl_46KmYO;lA!fI zHwpfo+kNYr@iF+=*@7d;nTEBpC{inQ-z-Fju%^peDDTh?-wJAMiv(MVzI}SRad+B>7M6&9W zjGoHtbk5x4JV$&lY&F~``|zj6HOy<2@TUOtTCPVULvi=%ljQ575&S1}ca*sk%X`$c zP6e?5r4vY(lK|hN)3w`vEB`Vv)9?2pO#WW&{A)UlVMnVvC)S6NU9Z!+uZ}(LUvQti z_xwX}`b`(d)0cRSGNBWEP37sokRULse#gZVo^F7y-3p&~*A_r#FkrY`!Mew|JE8XU zn>q$8wkA8HSg#Q_1z*{`Xme%#jYk`yXDliso8oguDv6Q)Hk=ZB4MFpdtUmJY36&<1 zE2fGrc~XWariwnBdO4!XikYU5`DhTkX24$Cg%Gz@r*s{B56yo}e9i~S%wyw`%Nwk& zl+&H4PGcw1t2s)>EyPMqe|8j+Ia6raEa@psx*{!_u$DW(P91F0(Wx!S7*M57|@^hjbIj zqAgu=dvZ5?v1@2-q0c%DNyF!o5ZR!)nf;Q-M`j;)S3kY?_kDeTiz}q@ z=c+2C`;(fAd;fi)?M?0g*sB_&?G5Oqauu@#fHupA2w;iNB&Fo(X2lQ>ED;JggBL0* zzta3G+@(j5bTAvL`oHgw(8Fb>74$diDSwX}_n#vfk;Vz6>=_5!SpOqag*9vi;m?DxmG9K{PWv#BNiU%{to@;8pcVe6-I zM^hJw&8tt9RwbAvKkpa0X(sK&dkVs&asbLjgF9xsR3PSTr!AMXBCfX2L>equX{A)F zT;b`^;f~*@kgq_gaJF1%;W`_ewRl$TNh$P*i^wLxMD=gfIJJwngiO);8)_~~wAsNQ zZsgT6AX>^PF20WX!Un!7B^83XV$K@jgZGN(9g|9;WkHKSwLryZGe_q$kX20UBIV0C zL1jYm$pzqKg|r{PdrzT3$CL6(Z(m_n*6GzqoQQS7qgIs+bgtcCbdHce_*BBMd2Q?1 zW!S5&qA03sBT_Fjkq6PgM8cZ0WRX zHyMduvoBVlB!&%*Q1H%Xizc6&L=#z#Wl6hMiHEcAjQ;0IU{2+rgi&&AA3IH~r84zg zv7$(cVvSmXMKnFSinNBq2rG9ke`v~3RkhN19FwIQDCg8>vZh*TE-Z>3Kf51sr}9UG zMZ|OVm&42#Eq2v{Vz9j0ReA)oI8}7azX82ZW3dvf`!Z4;4g;-HogYLIz&4-xexa}0 zxW5J4z7FdQu>G{TY~ubJx(t6PVPH$Z=fB2;PPr_U;v3CGoVTo);y*4I%wj_^B;cZC zWT|gd-P30#x2hSAlY!jDvK!h^^nYP ze#H+kT#b+-h_Y3~jju-Q>!~ZQ{&{1~bul|kzA@i%X(xV@9M8*DA05q5-$x1QuTEYc z_V9eHgz_q5kzMu88Wj#_$rm)2U`QBUY!C&Ksth}^hl4nbDNsEk|IPmy{DfGU8JJMVnO?Dc6eM_l zOnv==?@z}G$w2o~3tq*+-DUuIeO_8!^o?Vo>S#fm<9cnIkbk4}kx zo%*wm7peK*s{Ti*>i;e^|27(%X(#L|dY>U@jw5H-mcyK!l*Ml`H z9C$t&!k6@)A`KPf*~yLmJy_c~`nc5P#`)_*R3#Nva@2dZ_Av5&Rrwv^+8I43zr~)9 z6=i^#YcKC9TKq-HM9C2eo;234#iXn5kJcu8k}V9AK&G$; z3UjUK>a>;wy7>Nt(|40e06Xq<|H8&esj6OZyc)RlToVi}sq~&@(Jfo>`$B)g1pTh!urY_5CN{xF)`~x#?iTlEK=|Wv+it zd-3x0|4f}eg|CoDl1Iv_v>2J>52!4H0pra3Zu38Bc?+5s@?feN zpG_uy%d>3(V9q>sNEr?a!TxP{k~G#&qNR$BhSCxY{Ph{$C>q`%le>wg+LFy4?Lk#8 zwa(wq0(XNna`H+F_n%lqPV}-kRS!(jpBe&iyMAPGntVbEUHvOZz#8NuVmtB;4e$R4 z+4fYhWurxWkvd+!?yK z=V^VYk!~E>E@f({->t=Vqo%p5Ojc2kFAbzExJ?Y!-qUoEwI{P`AH)*17vV5=_;_(5dLaxRE0wCbb;Z%BC{hkE_ZB5szkR8`M=VMJ(HKt;QbTe%-UcjG}$Peqd%!^ zG^woOHctuH93s-_Cj~+RU^Gu{H4fXOJ0G@{4_bXO;E1Te|5g@&SMvWNt!?n%xZ)hG zybv&{A~JhU7(=Sa#>KuY%I&x`DH#CGv6J*u7|y)rmp&fE4(rdJ9mn|oON{saD;)nO zb>i9O4AF1WVOlKve54X`MbmwUwe}G7uQV-UlAGh);N(N>=3`0=$5xV?0jf!zx3;ZG z`yOwo{{?S1V%6L)NBjtzR~S~`+fl{pULtdRSwZ|d|H~Kuvks=LbWh$N{>PA#rcAsI z?&)!nF*z(YS&{Qq6CcgL)a#;!eAh&07hb>6+YpsjkQAHW_KHq^mzeC~FO28%iqk}G zH!BPoN#_Xqq)}y2qcFK~*=F|Ac9drIGcFc1q2jBj^@ZH*J&UDvw$4*+eeg{Tbwq4o z&@8od=}*uEqafs=475N{Af5KHVog$a1#e zvHk?oU4Lp-Va)9Nz1L=}%d%zla*ne$a80M0^}2ZikN+)V{>r1CMS!;hBLM-K$PHO* z#j@Le`fKKI97zYCYlLndKY{YR$P+|vjh7K^YJ+kuJ`_;l|M+Bqpwa5cM7=>%O_77^ zj(RLaMQ0{`q)k1`{dT$0>1}JH&FuNzC-&UxghFazi9IdabEf{Lg-g-RouhJy`e2tC zkg^!a8CO0*RLFo_iLn{-Hitc^qvB=c*x%gTPDPPEb~Z?D4s&Pt@uv&tAXgq? z-n2|2S-J4TDS1KMhO+NhY?Z2m(X#oCqjx;#+9c^@52Vhq4^uPrhIiOxvRL_uY|hc> z)1@zH+5o?dBXmADx=+TLfe#Am9UGE@(`ZKQrH`dSPREwz2@g&)o~@4cNdYZWnMc*z zjR+o7e~<7SG=0LhGS*zSorwUY-=SD-mf4W?`LYQfNW9pYkM6H`cL5cIh+}Ow$GkQe zJf-VShFbYu|8W4NS=2bjT{kU z1thmT1$_=a=NLC;@kth{ePEH@hY;K&2^V_``wZBxI4 zmpb+5N>higZVT-zaO46=&W2mwg8j}e6iScxeRbEnJbbiR0mXP zjcDOpW?!i&nHaI-C5BP}v%D+BylBUW`}1RZ|04zZLIoZyo=BB8jDPpH(R~Sb>3dD< zQQ-Gfd8{#ph;}>xNn;(orR=8Um3DnOw>9ncu?a0sx9rHrNS7=B%|KCk^EXFh5vhIJ zpip6Q7Ug|f>Okeco;eHQwz@Co1lvZ<$S1rIF4C8Yla`k;IaS{wNv`NpIZpTzvbFWf zyZ^v!`HLLJ*QT90E&0hUP@h50f;^~1s3P_oJ4P2@=Ctsq^EU;{Uu;rlX=&Z(1FviU%yu7f zcS_vWF5a7K#o&&MaJqKRs)^hYKfj7}d}k|+Wx&(&;{8vmkQ1ellXGiE0(bP3 z*UX&k@cuBi{j)UWm5vYLUty&{PZ&@MXxTOeo%S4ZRu2HK+P$5lEK<8PVMB58Jz-xN zVs10{J;BrK_N`TX&!>Oe^qv$V}?ZOj{Q+n&}-`M{5G`;V7vaxdxXLImGj z?;x0gPDbBcZzH%nyku**-as&OIH`VfJ&WLO`Ld0 zz;%A2rME@knjl%KBwjx`UT*W<0pWgfdD)H`FTs5FBFRN0uYzUHy0q#k-8EzV{R_P2~OBHu%;G57In%r2A0xs5|x`-JqS_fD>rOp|D;z z94y!@su=pjJ@S|niTCv8m~?bSl61<;=OEc4KI)1OEc77!k^3aJ_suQDU-~KZHarLu zb7?%m+9G|?G^_yzjI^};IH??Ru$4K>rxr7pCCuevAKcrE&Fs){leyDbWBuFl>0*#= zvmgJ2!DjZ>3)5r}HFTV=GM>W!50Y@;w@%7|tkQRKq<%e)er(X{?>b|mfkubl7`15~ zhB3(xZ*(I;!5WsK=ZHZVN1otvv`;seszb9Xp%P(0`>z_W#Wue7ZEV|- zuB*2@;RMZzF^!1l%nId7zqqEes;$8}dnRiG`k=QDus{nP)fXVBss*t$2(J^Xubz#XO z6H_f58ZO_spn-U03>`Johj&49_%z#+2WzW3h#7uHRpmk0%5rXO)hbQ~;q~1_!}@N4 zJ(*ofRh((q_NEm{*k{t#16{xED*kHHew%Wa-j>ei9KWS+KKaUs5rTlbY{)3XsHVd^Kgw3>qW(hIBC9Nx)obh?0qmxr&xtqaRr`kB?*pVaVM zMJmvClQK$Y%sO=}*!Z$=sgq0KBe4&Y({3z}S$I!!p$i;y!CeilU8LN{m^R1>uPa*( zZK&#`SdspczaV_M{r0=4E=8SE%C;wI(!#;DFR(@@7-(JBa~XyR)qmr&-0-$E_+Npo z`sSyGC65M~ru7@9F=x*FLH}8ce7fI#r1=8@QKag$nboA~H0^gKOiwGCRAE(`Y?HUv zHk_Xk!d{5}&RG7&_&(cbW!WTFk1&fF!MLcv8+n<)hW`2^CwdAx#cz~Wzh%;hg4_mT zAJBI%eCOsqo8)QFf?QXk?N?~81H4VmsEL}(zIpd!)F!pCj;QYXj1=>l&lh3$eyWOm zH+IZ}5N?KBrXHq3*ItBOt+v-Ot>WhON2B=g&enX888&NGaNuE(REN&X^O}glli@Yw z%Y)>vaGxN-uDxs=gr;og=(XVKN5ZBz)IYGClkd&S6V4lB9*|TK%v#~w6ZoE#rpp5f zFSq~JUs!Ntt_2FlTMGxZr^ zo+=3so@J!@;9F!N31bd=|pFCSGPNtXC!OSRi=&tk65D0RxsC$Kdc!ixY$vF_X#(33T8J|3DSp8 zZdQ+lER<4@Uy%3M;4*9azmF#u=`srZ+)vqkdV)CV>?7aw!&Lv?jF?1P)2O?`h>-Mm zok~v|&HUWKHCA?xygGGGjhz{d>?ze`ikwx;tmB6&Yyo2u2W){Yfo;vVsVH+iN;)iN zDp#Dj-OzCY6Wpa1&~EJz-%PoWSi-4M~!ZMm2Wn>nM$D0RE4Z4i-DB>^jrC zujV{-uss=2An|@n{q09aD_51rPHGD`+-pnhLG26M=(bPnHG@zi(B9nagL>SFc}z#1 z(aLz`v8md^b=B^|sp&YE)7B$x5fVRpy#_z5`KWJq#2Ad}!H#eGi8NFoTka1l1*u=4 zmiycf@rR5mI_i))FZHN}y`J)qgB&;t=G2B%PSdh!fE@1{)0dt)Pm6$Prr|9)iGI8 z(W>F^y6T91)&55cn<_`_Rg3_ll2S8#rDias;POpe|G-*&R}(gb5;%mC$cCoh&Drku zxr`Y}<0iI8AI90^h0TN1_nE1$qVwGzWW+|_`uTO}a1_Vk@W^%FGTfGeLO&VJz^2wiJ-ol>hQjQP=!J&hG#HYt>Husa$^DIB3iP7rV9 z8Sqx#E131rsBy2>l1$E+Avj=gQTUTu!n!3mINl?$WAA%)7XtIkqU zYnWtKE{b`vj4es+h)8gd-2jJFp}2dTS&1x3Tv=QW4YO7v9p<l^obceJqq=y3WW!;9hHTikLNu5rMgp0!n(Dndv5{5GQOY7? zePZfu#PS+(Y~Hhy1s+({;eRhd`c?IX*&ganj}{fUs4^B8DuMOx8uLl4V7dvu0y=#d zldw)^=}U^fy>0ubRZaJ>&f7R#ov3w&Ki85WUfZ8d86;1S*Q%=>E{`eL!$g2-KH8H+19qhFBwOS)+EOt=1^Y^lwyY zJ_Ep8nQ~))TgJh@uje9Nc$jps30`Pxk4um8*+w%2C<-v>YBQ+X$0n#q z;Cqv+!M5o?4(k0>j+&nuk$KT4A}}NN4Sy!%NGAJHgb?A?WiGJ0gdvhLibXIe8T;)iMb#@{4eiVp?35j~5VIhT|YAOoTTiNJt zzi1NDSs)(UOa_?Qytc#hP7(QPT0UuRLL57u+g5jJhnYsk(aRtD-H{B?k5*qIV3m`) zK|yenT^NZnXfMUqcCpNIu-AqC@k4>YpI67)&4~{w47b6=!3Fxi6R1u*KiQ(6Y_gts z$NqMbuD%VVpc$0FoGW<=`>{&1r)yq(-F+Jg@@DJ24FvhH4KxfkKmmgdQw_s_x!dN8 zCQw+l{{@D5304J#T5<^;%t(3QcD|wAtTG0a6Eg|rE6%t{vZVJx~rnybId zM2{ESx%doJXvcB%CKp5cG}h^0GAR=#r4I((B`Un)e0wNtg}Ms{{I8 z?dx4KRYE*cJW>b@(=Ec|kY?hiRr-7m(q~vUe%`6wskt<18I(m(PA4OHY~;7T^p-SI zUJhzyy^;DtX%pa1#mLR5(Xx`VlR~xR(9MmxLAoVi9CaUHUtpi8xgup-8bb_F;pXT8 z7&q7lXs*p~%+vAPAA;T)O}KPYMM@7v4=Fe@Y~dPL9B{J@ncX=Xr=I2T4w*V89Y`4m zn9uM#zOrgf+jq4ZX_-K+FSx`yd}-zHQSBDwR;aa|wiyQY+Ibw|?f0BWT~0IL-;{A+ zs3dj*&zm1CHB2=Q&kWZy)G^H9&&Mx7rZpBI^<^{Zjn)m;Gdc~{jn;EIjlm0DmuOA} zcP$U0jq_T1G_^w|=&Fa%L+Hynt%Fju*Ylvm++S-}wzY`xV;v7wycL}SiV#fG&JA@V zwwxajkX#;`AHB1hUNyh;)?55yZKGS~l;Gs9>&wxHkNJ7+p_QBF*yD)ch|(L})Zb)| zz<*hKX7yGRest5q=epU(nPj56?#9VR7Mo^{{zh(_ET{CV@5{iWA4eIj?~guOTP-Ue zu^olB9xRd`9eJy1SE~^AoW;5Izv90#Yo2Z8U8J^F`m&^PP=YqU=htkr%x7JKgFJs^ zxf6@+T(06;h6z8sku7&B9HH#Ip;EeV^_KE)D_KeIyGBCmrWPJ@fU} za(Ze(8|3xVt`y26-8ILS|8h~AN@~jTUK@m)1F`70H8+b-u+Ni?6-o>7eQP~S9nWQgI! z|4k8pTl#X-?o$u{u*)E%71FA6hvDu-oA~ z22T8Y{#!4HOwUA}O^Z{VQyn|@yRzFdfX4mQgRo4N&JN_jeTCt22~=|@d7mQ#hP0P~ zT2A;c`E6sCmO1K_O&m;`XatS@h8*wwhtMB74{(w`_1Pf>(4#&~@P6&2?d2tPu-pbX znMepq_;Ay1fMY_fT>Dh0bn2n!hm+jvVIS-iaTnD>h6spt54pwf0~mHg4;9R4_Cj~n zG26<&bJJ?d*V|G48LKgvA^iv24zc;=Mc8j1R?yiyX|x zZVo`1n3iVrcX-d)Dj-WEl#Q)x{GdKn;b1HIbo7Db%vpLtu8D@L*3?s4Lxv~EsJdH> zrZBE3T*C+=>5^AnGoKoQ>88Osn@zfIg{6fZcJU1pRMw#Slyu%*Gml1fu;99SI;T2Y zZFQOJ0C26wE0$5>NII`nz6;DtaN1LhE@Zkf2blbj%qR|^7{_$H_gA;-gLUnQP1~Y= z+m_NB)6Sui!)E9`vQ3pdOsiTo2s%kS>aI8nE_{6ieV8LknKaCvjERYbS=KjPeyTK( zWjn-5JOPw5UqGtv*_|2c^RApl9Ll=s%*%S_hJ$bO3MU~?%6OOgIBQ0W%GL#ROW16@ zRqBoDyDpGqMU91qDUe!2^^HfaLCc6Wb`8T$l|AVkW@Ak8c8mlRQzajgkn(01*|irx zP_=w)9aJQ32Tgud%Ztk=x2y+ERPoFZk8Sm@Y8OkQ8g<5DnJt#ysaNuEr^v5Oq~A<( za-c=K9S)h#3%l{Z-g1i88IM$sEevD*+=LIZGQ&?CRyrazItb3QIgIH%32scOz?xy} z^5R~HW+mUKuL1dUHDgP{locA2u}qTx?8!0Eaj*UqO)}U+6?I$hc&e5(o>M?oonBJv zfFuOn%G_}WZgbC7-fCVIYYo4gSgo1Rz#{~;I0cuEn>csLND6CY4GXzrkeoUjp=-EO zcy4NcaLErV#W;W}C1p zr-R=n^uEf!v5YZ!*Ik{9A(}qIlTX=TSwEMPS3k7KaNv4$nLlUxgyw#>v5OXMmFkiW zO7O{cEXV>`sZHI8ZP|%G%$ul&=ue6g?I_y01T-fZ(pOO)R`^*iTWyr;gUT!9Y`r#D_Gxyx*r%bwdRBa}}y z@O@}@XgP#2VVE`ZP1iu?g$Vn*i0G+noF+gTQ^wr9vo0~(h1x&8#9A(I%2a2K-v>TS za#PI(va>08=sYDk%v~=sS_q08mAk61&Kqy(eZt+Vq6&za7atDR$&)&_;0<2jXPHTJ?>f|p-+sKUP&cmu zm1LcHwunG<%x*8^tmkA8AEN4r7P4Em9sUbdR~Z#Y6KsPA64(I2-GVy=cZa~@i@SY` z1$PKea18{9#ob+lyDjeS?z)fn{=FY_s=BIsrq9fe>C=7d-mY_&mX~?v3@T7U;pw6J z>il8g0L|8DaY5y@TNDY?fv09D;oe^>#}KRbem1H@Ehzx)>GgEA2&Rnf@!>)Tv=yXq zXqPCvWR+e z9T4pb*6wHEUvT)xaJLlQXYrS__@yuN+;Nq4OcxMn+6F>-SAVg&@XVVfE> zxd<<~lKb!+N3j;%x$8AAj}&{UKf(S@@AAL-y{JNM&wBH2IIabJvvmLK6J{0~Xt?yS z=5gx*tY&y<4tVNT9>Jdfyz+foCsU|7pWc=#?9u6OZG+6Y)-zPZn87%Hk`*5>GK>mV zx%B6Bs4w5=B-P|O?-TsXoSWU&ntb~4!>xMaEuE)+em#`~bAIHT3&c}fs9**hG8{Sa z=|EfmY@a66{WrDmvh_=0iJ6aq(7NUs~ED>SE)n~8fKX=_65Kp@Pr&Tt}k zjnyqMt>un!b#?7rF}FGC3Zq$<`?clI9IZN(Hu5)-XxYpRmdXCL3%3%wrc6nx;?re= zrPhyOJ!6mbgZzS9JK2F_1fex{MZC+_HqPa922l96(FIqO#kk2F=amj4t-q}JuKVwm@6%>*Z8wG1hANy#vw_5Cb5=QA!TP6y3g z=KCs7+D>&d8cg7hCKtW`V)PSKb>GlA?Am>alP?pMKxp<-|B|WcD!Aq>o4#|rPn+@O z9RE4G*GJZx8ujY^5si7~dIecLvV%?d1TeKEwd4-QOG!Kex28@wq)y0=_p5iHM+fJj zlGlno&1vVd;*p{Ez*3#|+}{XN1y^56$#qz%?87z^xcX^wg=FbAN!&!;DXXAnReTJa z0!PlRk%$1(#n8Q$h#$A8I9)*EWJ_rs_DZvPdNhhtBVX^he=oLdD!k3eST%Z|5aZg> zSrgF!v7j#6Zma6RAhpl3O)6PB^hg?lp1f%^_2REqcaE-6g)?rM{;G~>k!&#mS}z9P z#qWnB^s#?qtq9y~<>hV{a^>=UbTQ7Xss(SiZZlgniRRYH&XxRcTX-G4GGI4*O`$n|0^X)^N>;m9eMB=+@f) zkWn0Mdb}c(tF?UA7PRjp5NFU_SbuWMp)XRHhq3-Hm=r_hzF*u+sD>@{*7OI5`S|yA zjE2O0$yznDEoAF#!gCu~;WBtw{W@+wtA2g5%* zBY%|lCujmxJGc|LeTd^H_zSqGo-WNE27u$mFj1=XSc5QZmGK9 zdk4dxhE)?zu!9b>Ec>;SF=yD`+gQhf&#ceb+wbRs*1^o3j@=G(;CK5+gCot>h|`gk z`<43>#?jUewH2H*wC6&*jOS{fq}HWXGvMs`{ZjK8-WljF;|v41Brtt>l)}*=vMez%rlZ^UO97q zxrAw7!85;>y)InObJPetReU;C^Q!fIhOTYlJ;p4v!y4aU3(GH9FjTKrSRJfx^`!Hx z)6Vad^$KrM;6=W3`c1mi8r=Ax@InKZv(AmK^`t-ZtNh*J&6&zkgSWH#ae(4)kW(vR ziSiUY4$%L?OYW?4KINj9r7zO-uzVRDsr zkdc`v8lR3W4U`qRC)0H{KXr4`=tS)*J^9rf9orI*llN@ zSeYpuw^k$$N^PcCu|)5eOT#i54k99Cjl)0Ur0J(=boy>6G9p;_Uk45 z=gXNT;$Wpl^4&?M)Tq+NX=3O#UY=lT1T@@E0<3r)D}Pui%g2>vSNPo-Mb)nbyBM8W zlmXIeg<7!&RG2zLxM4dpBT!ZIM5GV>GlM+|OVEVu6Q;kE zA8H^C4)-{~8LXT>u3C{l->6uV8t&7(fja}!S`^I*O5j|4){sXz__RQlPY9;^SgS!` z!Ptglj2aPC6&$s;gKNhTL`5u*B~MoqB;!8FY{FJaKWgnlr`d~oLxdT_$3p5v?1^?x z5l0(UAmL&L!>`*)I$>DQIn}zrg7$+TuLI_%4brFZj;2uGT(UDbC&sJpe=!26 zVa8P=hUtLkO%uekO>qazGvi47P%nJeZ=0kQU)3g`X18?eyfRWkTni%(>7G$8Q4(L% zw8GAJNF4y&*b%+$>U6jf&vY_OnD=U#S`4Jwds||cZa!NMH3hIsx1${u~wpO(Uzjzu<8OO0jzPplyyoxmVS z$BI>)W+_561ke97EBt#vz78+Px8k(|0-d|f7c(RJ7yH$;>2qj2x;Zq*Q#u_JxF{VE z2j83-CygHUB#k}Ho=O;;X#JI-FIE@dwrG%!lV7=dYU%({(GnuCLn;jfo8EAg$l?oA z$>Vy@1}Bl>qMRO7c#1{!!45rp`U0QZ2NeH@AP@6dQS^%9nCqA z6B02Np|b4m1aF>}oQ9p#`L7NBo^7ZtUU1LMiDRjKI2}H%cuyVb9p!-z?wD)C1r?^v z&`-St@*(8gvDr%&i=^`8jKkR9$sK`vV~KWei)~2U6C9SC#g=Kc4!4@unkz%ZP8eK% z?63g-{ZuEF9@{>Exf%qb#)9y-=j1arD} zs&nrZgim7~Wt~KeMZ@_oFW@D}BfxQ#ur?&Tjx*1KuwL0I8<%HSJ9<|Xa3Y>h*s4rW zr2v1`qDfitOKR?dwBV zrjFp#Dl|c0NF4T#|D5OopaxkCyWwBeZ>`x$Ky`>RwsnyU+!29slsIFThWlFeoK~Ii zc+1y6$=b==N0Qc9XV>!9Xgj6l|4qIFJ;Dg>YTklU?HerAtdBLVSvnGy%a)CuLS68d zT9%)PZX0oRK2fZju0{yx*)U5lK9@ZkHTSlVJ>}1-T9HV-~?N(7we<{{Rx>X~M8YrslH&BGkMbBnqcl@ zb4p=;T7Q>2?lb4RKwO8Bb3!{uJLzZV6RjDoW!UvrbW3v*qifi+7o;I^3s;P2e&}N& z3$K_uIF(-%7X?6Fwrw4%ArT0PKhYBSL%3kD{KUt0y2 z6USDBqjM9GvVOY=I+NF8QX=?$vpZ+}?OnRCs`TW84q!>8PS+NYb9blgh3`@~(HN>` z`3(OIUnlU7^fxV`ZA{3n)SXlle?KY0tCknjnPs{UyAFYUjLcZ_LUQ)r$jQj$6QUQq zyuO`bw5xwwvFx_RPS+R|tH}d-cY$YtM>)p_;zM=QHJOO;8C|`=f-ajQDlZN}PJ&Zm zELV_Q7tXp^ceXs%za(zG7`JPW#f8V_S9x(#{~T1u)EZp;PWAnt4f1^1lHDJosM|$~h zWWzG&k}La?(uX+~CBk;-;L?Ao~@Ona7--<7O)-#w&Wg zO?+fU1lN84X*GvcI||2M$t8M!GK-4&^ee``Z;9yd%vD32a_g4ri{KSPh>u71@U2KgeW3V*p* zn6yV6A1_pteH2};6tDf;up!`!Ui@Lui&4h|p*XBzN;h^L8I2Vl%?|()5oP#*yZ+k} z7V8R^?1!kg7B7s4f|0 zhZ#jXQ%Nrbv()Fp+W`|l!m%5se)c&- z3;d-U_9{6j%pjIg%6`zN@52s4H{6OzEdJ+a`3L1;fba$q*@q=;F-%EY3KevZk4<8N zP2E5B+C}v~j9_k{8e9Z@x;&xkqm%y%=_WV|uip49w`JnMK8xUlA7j6b#g2J}V}v<0 zO4;&DN>B07q$DN$e20)N+?g%>_+sn_Lgk>5!KS%EPVZ-Sge!D--XE|#1lOF$9`Zdv z(kK}+yC44OOZUJ_PWWSB)?<&+9zb{xpfO7J@_)I5k(V5i>rmhK2AkjiZ;ZX<0IoyV zM#-MuGw+R<$T;@**&ZTUh9x+}Vw=J5NdEoEr~OSrDULpodB&Vyn?u2Z!k#jXoHbr5 zkzskrbuf@a7GW1DYw`Yw~GLvH!^N zm8vPIjWKh4ru9N>+}WIR!ew_0oXH5Nu~35p(Sm4)UG>jfGMAbyn(QQf6OM6rfX$iW z70sGnKN&`kM+=Su6=zZ0?7L@sR}mQALJM&4PQ5W24uj*S}7@QiZxHx%?E2_HZrl zc%CKZUdn3^5iBDREI)}tJalB7iue*$M~(N`N+!~o6CSm^EZ*6;dsS0@*IRzuGx_$X ziVSB8cyres2}MCiIG;d2R#K!u#@|P0^F6ih(L!O)tRH*d z{~B=*bbEDv@2oKA?yE0DM!?}+HaFh0v`YYxgC$%8H@~v?3|WTEEQQyb__uLS&|7Az zA!e%Kfv~$>(Na#oaxVWjZc~VFQ%D-?!@vt9s>-mjBGf`xE}>XZVz143;apI{tj#c~ z$`FJu65AA}EGju!2=tA*roIpCv7ucDTju~c_vumg#mFqi)kf0`%V)=qkkimg;p<%* zTej)PYdyOQrc3hvXxf+Z$lumKiF0-lDvv~?rH~}C3ow|tCQh6br7Wso)$nN8 z8i|Wj_*8{?r_J5}pw1yeo%kM9oi6g}C#?(AKNL74Fxl6=p~Nwf zOSeqhNV&E*Ts1MU$liS$s9^-w3cE^^#cc^rl41j;b`zxh@bH;fj9 zcNLKKl7LAy%!F)&KBt*){BMWhzcNYMjO9s9p#$XuL)PUrnks_$(1Z;(pe|6tz`9(j zf~KIdJJi`<{~AoP{+fmoC$V)1C^!hRU*0^XgLc3-dAa4(%dTU`}8| zAyuu9tx#S#N=@!(NsP)qDO)MNg=V#p=5zKUz!wL>*X7Htl`oE|57-AyyO!yk{*Ox{ z@v*{B=E{8FeMwIwV+a9=iL=7&M;FUrh;3{#0jU4K$dQr%i!c2bc}zVo&mU#zaq8(R zbimyyFYxaFHSA;Syb3VfjWgwGyr#hWWz9EQ-!@ura$?eow1d@(ct103hu$2uitI?> zo}BCf`s@x88BBGUHSbUAjb!{w0HU?f(@$}5G3`(4k7Vp2HIEUeA8UW;|=&>S;qN?$ugG{^O19$GjY4jX-cR6=)e)3wMQU`H9=PfzMtQ zu#d1Wu|WJ2W9!IxpY28_oodp1(;IGtHG{P{$B{8KwL}X?p>LF&-S<-{Pj7ZZ|cdgx0fSQw{BAccoT{S$?C|AH#BT8whDr?@}WFQE#t zx3VX^E0-gri~d`%5Vsm@adJ_{Qf>pA{ffVLD~x`+z1zAxR4aYe5Xvu3LM265t0zv@7WWd z2sTQB2tkUuEP$iF;IB?>d*oLTb{V;ICeQTL{`4?DxIJ36(8CO=<18ySe|gwB==aZ? zLBc;vFIzQJWRng-<8F5kZ8(SF_V*7j4ZEo^V9mLkmwW;G9B4M#%L>mZ_9}T?Y7-%p*(LfW_GOA>7_R_uCP)_s1Z1}Ra>>_1}=t*cxWZjK{@~oG2$w}0!sP?&_ z<9uX%n(Xz0Htzm$^-3b&ucJTfT1G_m2vnvmFh4PLtIotMB82u@NB2n6#U%37Kkg#s zJI1~KSXmqW=cPU?6^T0o_*^++-O)&S+1ZS{wd_LQ2HKeDPrk-56RCDO`s=ty2 zDEZIh$`^RH?VQ@dcpl>zw7(qPv*QGGedk9&?W=cfq1x%ve3qWVo#B6ec>5wXtbn~CGRd)*)}DC7?FsAoj`VG` zai{+p_a=F?b_Qgo0ET?F_w9zG6ytF&FCtfuA)n?}eC4m#1r@d|Uq=r+=MN1plrotv zBbND&*N>I-=Q~ShE8w;bFIbBCc56NIZ#tG3McUP7fNuu(wQfG+r5V7xb*GnA%2ErQ zOgFjH!J=238duojeuuvQOW-NX=Ie3h4DU(u3A_#!kV7+3u(`w=?$XT=^6=c6v-i18 zeWvAZolNiYZp8h7z=iD5qW%r|a^`+zdv)?^?dHl4IpcxB(j+<_Z4ce7?X^$W&sWcg z>iu9Sojq6Q#+l_KMgVcRTR$x$+1McvYTa&QmO5Y1S}2WH44|q6EA8uP{owR z;_M{(m>ZT*y+gyk(xQxXf1Pk(N9CZTQU_rqQPHVH$3y59vvlMRiAfT2CQ9>u@Tn-} zF?r;-#n~R&3Uzhl!o;Ff^y~4{|%AyX;w|vJflIXjCLG7p1MRz$7%T zY#)Um`M}?XRXArII|W50b}1hDGFUqk2mVVGq_DOsQ)tq2t`_c&XPKqdnl`V%2a%+1 zguBs9QiI|d|9(4mV)`$faWzS4zNtn}+qt~dzm!6MAAAIsp3xiAANwyvcqZO%a-U{8 z>ZwgKwHPR$mv$@n`^M5onsPOFLN-tPDN-`kmdv@;szP8cLl$triFK%QpS5y7sdJBZ zui~ke6-QTdOYoZ#^zQH<&R|LbefV>WoHL#0!q=YkB-ypHBIvx|9Zbgt-t(|9VLX+{ zxqZrTxpC0AgG0U=6@MUVM*KrWLPEGNdGBcn zz$PEeGecF+zR*h1J^kRd{QkgUlXE6GnQiRyO z`XZiS55JR5%C!_;bhGH_zV~VNYKF~E3b;9)zpv71%)dVsb^F|yN&eXp2Is`=K@4%T z3mMLeNpGN+8ctrY&p;B%bVsK_6(Ney=+lEPnGpZzJ*FuZnx?< zdM9r@uu#ZAcv_oyvLbJ>R?-yD#_Z0^#^-DtT4vMP%c-<ar6=X7xDG& zO$Elw6YhTt0*E8P9ol+!8^vAAD^5Kj zCcyiv*=O-XSQhLy*;8tM%V65|NLBq}TBS zZT{?rVt-m&TLt*eNbzB$q%azM7%b1?Oyi8UILWL2nFc&o{e^jz%*f!2rvW+MUU0M- ze@6QFj%y3A4?S=KlbT&dQ2KCudwe^w%n~hpX1_=^w{}TeQF~l%oHI7dB{O(T$C9~1 zcwbP)AQ~dO%^NQMz97N`@$jX^b{@5%Ju{CJ#k%~E>Zo0P1kmu>^VzEjS%%gkfYu$> z#Ky>YTeBYrA5+59g~mx2&Ryq&NJzkYWb);K_rgXp>p_`hXP`m%OK^6Og=WhK6PM6m6F( zi4Q!}tOia=0LLv~RjgOBK~r#)cwl8C0;yjA7484uXmp$&ZWT;kmUHLy$R{ z`bya22TDG665m5gXj`f2!eg;i312^yuy%AD3*K%B=qQ5d-eQU zvhb+}pq`%;q7(2Wgbz7c;*!PZGJE2adz_jUoVXG}Bc+?wO83O`L&w&yp?z&P6Xw)m8b{QZtUGK}V%zkt4vJ_2sj^Lm+5_?|V06UJXb#6tn=Z{T%3ghf;h3;8-Bbs}-?A z_NyZ4ka-T|dL;E0Em@&=ql78@%F>^pPA_6ZEy-dT0Kfo_~&~}1wR0RmLBvVfI5yifP zGXUv>^i?Y)-Qiii0^C7pg8uVK$iR(Y+Ck9@NdERB8Ps3I>a!yD0|M&+aG)u*o6(&w zoIle?LLbz@NJe-{ar9HqMK`+C^+dHbQSXG)<_`D!Kuh!K*qsH~=w0t~uALAca`4? z*A~2HJe5Ds2KN$)r@jlXY&+&>G8ERG)4yKj`JR(p*B@|XstoDNZy9l)aqym#LX<=- zKNAr9)AGRs`D@d)FNCf$9tZ2)(XTQr&j5f|L;-Ol-iU*j194+=mxEXJIQu?+K0j?b_F(<~VBkb- zN-(;6G?zI8QBCxzf+Z|&_zm*+ih&$KL#9uK<2gn!DK9=-PIE{dm|x@>8~0N~2CkqM zZ^-n$Bc}i1i3rDnA9X3E#^?4s$}wJkHvObx4(N<#eXxNHT0yC63CRvd3Bt|Nfcs*r zy9Q_$r}>WM_XVR6`Mqj;+`Wnq+qQKK)&yz(Z^F+pxrxBXpBm3Ntj|f3IGV#Y$h_tg^UKi?Y<4Xl)hSDHohwtl;^L*2<7eWJCE0Q*Y{yiKd2w2(T0Hq ziaI$<>`B@e*?ZehTsMA%gR`e7Xb9!X^WJ`P*~F(H(a<@BjMphq0PI4P4A$F~EjsDv zWF%`8WUpuRV`I9DdVQx0+I7>V=&uX!gy4pVn|ns%{)FludeJ+9qKTOKu}n;7e;IS( z%fidh?dBfJ>X0cLcL$- z9yD+IU-iPTMlLWcP-G~}KUbg$Z>JG>3pY*iVBd2KHE}g9Hu5zwH&HclHlf%%x?X%) zTQqAUA`rw9B#n31O_Ml_IvS|tXjZfxd#C7wn)bBK_LR6UP1B!UKfHyJwE>e|B0PJBK}EukNl(hXZkNW zgf_S^q%hPTZ5=B!V(kmw3PFbiEcjBmN8ukJ7?cg8$t|G$IS>dRyve=kvWdQ_xLLm0 z_>vW}4migk`$#6uJV5!i+BqhyHz@f50|{3ei}IH8Z%4)fp!7Y+6}=;6LfIE*aueC? zA1n(*Ji9pkc!mm;vTx#2MN7MjtBA{t^NlN!<>g>Vh@))}r@{;j#mNGjHeS=j3 z*j>??notqHmQbFj*d|1L|loH?!HR(Z9(~wXL>p(>awKjzf zNv&|=o@1K*n3lOL}H ziU1=np)Xb~wCM3kH9Q({YM?kn%Be5XGZOyMl?BF;bhHR69g-k8DZBh*f3)?&zmahE z2v5&pdvKQ|xsRha=N~!*#NCD=EP-e6ew9E#3y0p~O=M|YDQ3CTZj<8y-$t3BCuvbh zm;u*tB!}nXfsJzkC^D{J_NkG54Ih{mSsF=yQ^G#m6w-h{Pc%Ps-2ZtyrY>oo%yvIX z1_sytb4s@@;U9*AHmN7x4PEBi{wt>NR=s#@dB3LV(*oGEK1Zmn-?DPH`$+V;46PL9 zw9!+?=P-75olsJSDQg#EI>$W6e3Nt=d&@@B_(ym7AjrU)C%x*_0-`GCpXk5-zOj6 z$j}yugK&C$a@=e5egdGczQ}o!7PS7BAfzk#zQGW+<^7EF?Bd}68q%&9S>L$4+}C%f zd#7vC_8R?~(}bvX^($p3b3c=|!r{G8NLBCHjQ{Tzzhx7rp58gJn(7Y(lW=TK?m}EY zBtm)Y#y}a%@J@dj%ZT8TYB1B8N;3n934V

    %IiHBwwpcUPE~W@R>v1=0hn7%lBeT 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⁢;QD?p4vxV)F5c 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≪S>`z^l8juqOHQ%i-1lkUns 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 hrh^F(o%@l@X) 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

    \n"};var mC=fC.getBreak=function getBreak(s,o){return(o=nextToken(s,o))1)break;if(41===i&&--a<0)break;o++}return _!==o&&(u=unescapeMd(s.src.slice(_,o)),!!s.parser.validateLink(u)&&(s.linkContent=u,s.pos=o,!0))}function parseLinkTitle(s,o){var i,a=o,u=s.posMax,_=s.src.charCodeAt(o);if(34!==_&&39!==_&&40!==_)return!1;for(o++,40===_&&(_=41);o=s.length)&&!EC.test(s[o])}function replaceAt(s,o,i){return s.substr(0,o)+i+s.substr(o+1)}var wC=[["block",function block(s){s.inlineMode?s.tokens.push({type:"inline",content:s.src.replace(/\n/g," ").trim(),level:0,lines:[0,1],children:[]}):s.block.parse(s.src,s.options,s.env,s.tokens)}],["abbr",function abbr(s){var o,i,a,u,_=s.tokens;if(!s.inlineMode)for(o=1,i=_.length-1;o0?w[o].count:1,a=0;a=0;o--)if("text"===(_=u[o]).type){for(C=0,w=_.content,L.lastIndex=0,j=_.level,x=[];B=L.exec(w);)L.lastIndex>C&&x.push({type:"text",content:w.slice(C,B.index+B[1].length),level:j}),x.push({type:"abbr_open",title:s.env.abbreviations[":"+B[2]],level:j++}),x.push({type:"text",content:B[2],level:j}),x.push({type:"abbr_close",level:--j}),C=L.lastIndex-B[3].length;x.length&&(C=0;_--)if("inline"===s.tokens[_].type)for(o=(u=s.tokens[_].children).length-1;o>=0;o--)"text"===(i=u[o]).type&&(a=replaceScopedAbbr(a=i.content),yC.test(a)&&(a=a.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---([^-]|$)/gm,"$1—$2").replace(/(^|\s)--(\s|$)/gm,"$1–$2").replace(/(^|[^-\s])--([^-\s]|$)/gm,"$1–$2")),i.content=a)}],["smartquotes",function smartquotes(s){var o,i,a,u,_,w,x,C,j,L,B,$,V,U,z,Y,Z;if(s.options.typographer)for(Z=[],z=s.tokens.length-1;z>=0;z--)if("inline"===s.tokens[z].type)for(Y=s.tokens[z].children,Z.length=0,o=0;o=0&&!(Z[V].level<=x);V--);Z.length=V+1,_=0,w=(a=i.content).length;e:for(;_=0&&(L=Z[V],!(Z[V].level=(u=s.eMarks[o])||42!==(i=s.src.charCodeAt(a++))&&45!==i&&43!==i||a=u)return-1;if((i=s.src.charCodeAt(a++))<48||i>57)return-1;for(;;){if(a>=u)return-1;if(!((i=s.src.charCodeAt(a++))>=48&&i<=57)){if(41===i||46===i)break;return-1}}return a=this.eMarks[s]},StateBlock.prototype.skipEmptyLines=function skipEmptyLines(s){for(var o=this.lineMax;si;)if(o!==this.src.charCodeAt(--s))return s+1;return s},StateBlock.prototype.getLines=function getLines(s,o,i,a){var u,_,w,x,C,j=s;if(s>=o)return"";if(j+1===o)return _=this.bMarks[j]+Math.min(this.tShift[j],i),w=a?this.eMarks[j]+1:this.eMarks[j],this.src.slice(_,w);for(x=new Array(o-s),u=0;ji&&(C=i),C<0&&(C=0),_=this.bMarks[j]+C,w=j+1]/,OC=/^<\/([a-zA-Z]{1,15})[\s>]/;function index_browser_getLine(s,o){var i=s.bMarks[o]+s.blkIndent,a=s.eMarks[o];return s.src.substr(i,a-i)}function skipMarker(s,o){var i,a,u=s.bMarks[o]+s.tShift[o],_=s.eMarks[o];return u>=_||126!==(a=s.src.charCodeAt(u++))&&58!==a||u===(i=s.skipSpaces(u))||i>=_?-1:i}var CC=[["code",function code(s,o,i){var a,u;if(s.tShift[o]-s.blkIndent<4)return!1;for(u=a=o+1;a=4))break;u=++a}return s.line=a,s.tokens.push({type:"code",content:s.getLines(o,u,4+s.blkIndent,!0),block:!0,lines:[o,s.line],level:s.level}),!0}],["fences",function fences(s,o,i,a){var u,_,w,x,C,j=!1,L=s.bMarks[o]+s.tShift[o],B=s.eMarks[o];if(L+3>B)return!1;if(126!==(u=s.src.charCodeAt(L))&&96!==u)return!1;if(C=L,(_=(L=s.skipChars(L,u))-C)<3)return!1;if((w=s.src.slice(L,B).trim()).indexOf("`")>=0)return!1;if(a)return!0;for(x=o;!(++x>=i)&&!((L=C=s.bMarks[x]+s.tShift[x])<(B=s.eMarks[x])&&s.tShift[x]=4||(L=s.skipChars(L,u))-C<_||(L=s.skipSpaces(L))Y)return!1;if(62!==s.src.charCodeAt(z++))return!1;if(s.level>=s.options.maxNesting)return!1;if(a)return!0;for(32===s.src.charCodeAt(z)&&z++,C=s.blkIndent,s.blkIndent=0,x=[s.bMarks[o]],s.bMarks[o]=z,_=(z=z=Y,w=[s.tShift[o]],s.tShift[o]=z-s.bMarks[o],B=s.parser.ruler.getRules("blockquote"),u=o+1;u=(Y=s.eMarks[u]));u++)if(62!==s.src.charCodeAt(z++)){if(_)break;for(U=!1,$=0,V=B.length;$=Y,w.push(s.tShift[u]),s.tShift[u]=z-s.bMarks[u];for(j=s.parentType,s.parentType="blockquote",s.tokens.push({type:"blockquote_open",lines:L=[o,0],level:s.level++}),s.parser.tokenize(s,o,u),s.tokens.push({type:"blockquote_close",level:--s.level}),s.parentType=j,L[1]=s.line,$=0;$C)return!1;if(42!==(u=s.src.charCodeAt(x++))&&45!==u&&95!==u)return!1;for(_=1;x=0)z=!0;else{if(!((B=skipBulletListMarker(s,o))>=0))return!1;z=!1}if(s.level>=s.options.maxNesting)return!1;if(U=s.src.charCodeAt(B-1),a)return!0;for(Z=s.tokens.length,z?(L=s.bMarks[o]+s.tShift[o],V=Number(s.src.substr(L,B-L-1)),s.tokens.push({type:"ordered_list_open",order:V,lines:ie=[o,0],level:s.level++})):s.tokens.push({type:"bullet_list_open",lines:ie=[o,0],level:s.level++}),u=o,ee=!1,ce=s.parser.ruler.getRules("list");!(!(u=s.eMarks[u]?1:Y-B)>4&&($=1),$<1&&($=1),_=B-s.bMarks[u]+$,s.tokens.push({type:"list_item_open",lines:ae=[o,0],level:s.level++}),x=s.blkIndent,C=s.tight,w=s.tShift[o],j=s.parentType,s.tShift[o]=Y-s.bMarks[o],s.blkIndent=_,s.tight=!0,s.parentType="list",s.parser.tokenize(s,o,i,!0),s.tight&&!ee||(fe=!1),ee=s.line-o>1&&s.isEmpty(s.line-1),s.blkIndent=x,s.tShift[o]=w,s.tight=C,s.parentType=j,s.tokens.push({type:"list_item_close",level:--s.level}),u=o=s.line,ae[1]=u,Y=s.bMarks[o],u>=i)||s.isEmpty(u)||s.tShift[u]L)return!1;if(91!==s.src.charCodeAt(j))return!1;if(94!==s.src.charCodeAt(j+1))return!1;if(s.level>=s.options.maxNesting)return!1;for(x=j+2;x=L||58!==s.src.charCodeAt(++x))&&(a||(x++,s.env.footnotes||(s.env.footnotes={}),s.env.footnotes.refs||(s.env.footnotes.refs={}),C=s.src.slice(j+2,x-2),s.env.footnotes.refs[":"+C]=-1,s.tokens.push({type:"footnote_reference_open",label:C,level:s.level++}),u=s.bMarks[o],_=s.tShift[o],w=s.parentType,s.tShift[o]=s.skipSpaces(x)-x,s.bMarks[o]=x,s.blkIndent+=4,s.parentType="footnote",s.tShift[o]=C)return!1;if(35!==(u=s.src.charCodeAt(x))||x>=C)return!1;for(_=1,u=s.src.charCodeAt(++x);35===u&&x6||xx&&32===s.src.charCodeAt(w-1)&&(C=w),s.line=o+1,s.tokens.push({type:"heading_open",hLevel:_,lines:[o,s.line],level:s.level}),x=i)&&(!(s.tShift[w]3)&&(!((u=s.bMarks[w]+s.tShift[w])>=(_=s.eMarks[w]))&&((45===(a=s.src.charCodeAt(u))||61===a)&&(u=s.skipChars(u,a),!((u=s.skipSpaces(u))<_)&&(u=s.bMarks[o]+s.tShift[o],s.line=w+1,s.tokens.push({type:"heading_open",hLevel:61===a?1:2,lines:[o,s.line],level:s.level}),s.tokens.push({type:"inline",content:s.src.slice(u,s.eMarks[o]).trim(),level:s.level+1,lines:[o,s.line-1],children:[]}),s.tokens.push({type:"heading_close",hLevel:61===a?1:2,level:s.level}),!0))))))}],["htmlblock",function htmlblock(s,o,i,a){var u,_,w,x=s.bMarks[o],C=s.eMarks[o],j=s.tShift[o];if(x+=j,!s.options.html)return!1;if(j>3||x+2>=C)return!1;if(60!==s.src.charCodeAt(x))return!1;if(33===(u=s.src.charCodeAt(x+1))||63===u){if(a)return!0}else{if(47!==u&&!function isLetter$1(s){var o=32|s;return o>=97&&o<=122}(u))return!1;if(47===u){if(!(_=s.src.slice(x,C).match(OC)))return!1}else if(!(_=s.src.slice(x,C).match(kC)))return!1;if(!0!==xC[_[1].toLowerCase()])return!1;if(a)return!0}for(w=o+1;wi)return!1;if(C=o+1,s.tShift[C]=s.eMarks[C])return!1;if(124!==(u=s.src.charCodeAt(w))&&45!==u&&58!==u)return!1;if(_=index_browser_getLine(s,o+1),!/^[-:| ]+$/.test(_))return!1;if((j=_.split("|"))<=2)return!1;for(B=[],x=0;x=0;if(L=o+1,s.isEmpty(L)&&++L>i)return!1;if(s.tShift[L]=s.options.maxNesting)return!1;j=s.tokens.length,s.tokens.push({type:"dl_open",lines:C=[o,0],level:s.level++}),w=o,_=L;e:for(;;){for(Z=!0,Y=!1,s.tokens.push({type:"dt_open",lines:[w,w],level:s.level++}),s.tokens.push({type:"inline",content:s.getLines(w,w+1,s.blkIndent,!1).trim(),level:s.level+1,lines:[w,w],children:[]}),s.tokens.push({type:"dt_close",level:--s.level});;){if(s.tokens.push({type:"dd_open",lines:x=[L,0],level:s.level++}),z=s.tight,$=s.ddIndent,B=s.blkIndent,U=s.tShift[_],V=s.parentType,s.blkIndent=s.ddIndent=s.tShift[_]+2,s.tShift[_]=u-s.bMarks[_],s.tight=!0,s.parentType="deflist",s.parser.tokenize(s,_,i,!0),s.tight&&!Y||(Z=!1),Y=s.line-_>1&&s.isEmpty(s.line-1),s.tShift[_]=U,s.tight=z,s.parentType=V,s.blkIndent=B,s.ddIndent=$,s.tokens.push({type:"dd_close",level:--s.level}),x[1]=L=s.line,L>=i)break e;if(s.tShift[L]=i)break;if(w=L,s.isEmpty(w))break;if(s.tShift[w]=i)break;if(s.isEmpty(_)&&_++,_>=i)break;if(s.tShift[_]3)){for(u=!1,_=0,w=x.length;_=i))&&!(s.tShift[w]=0&&(s=s.replace(AC,(function(o,i){var a;return 10===s.charCodeAt(i)?(_=i+1,w=0,o):(a=" ".slice((i-_-w)%4),w=i-_+1,a)}))),u=new StateBlock(s,this,o,i,a),this.tokenize(u,u.line,u.lineMax)};for(var PC=[],TC=0;TC<256;TC++)PC.push(0);function isAlphaNum(s){return s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122}function scanDelims(s,o){var i,a,u,_=o,w=!0,x=!0,C=s.posMax,j=s.src.charCodeAt(o);for(i=o>0?s.src.charCodeAt(o-1):-1;_=C&&(w=!1),(u=_-o)>=4?w=x=!1:(32!==(a=_?@[]^_`{|}~-".split("").forEach((function(s){PC[s.charCodeAt(0)]=1}));var NC=/\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;var MC=/\\([ \\!"#$%&'()*+,.\/:;<=>?@[\]^_`{|}~-])/g;var RC=["coap","doi","javascript","aaa","aaas","about","acap","cap","cid","crid","data","dav","dict","dns","file","ftp","geo","go","gopher","h323","http","https","iax","icap","im","imap","info","ipp","iris","iris.beep","iris.xpc","iris.xpcs","iris.lwz","ldap","mailto","mid","msrp","msrps","mtqp","mupdate","news","nfs","ni","nih","nntp","opaquelocktoken","pop","pres","rtsp","service","session","shttp","sieve","sip","sips","sms","snmp","soap.beep","soap.beeps","tag","tel","telnet","tftp","thismessage","tn3270","tip","tv","urn","vemmi","ws","wss","xcon","xcon-userid","xmlrpc.beep","xmlrpc.beeps","xmpp","z39.50r","z39.50s","adiumxtra","afp","afs","aim","apt","attachment","aw","beshare","bitcoin","bolo","callto","chrome","chrome-extension","com-eventbrite-attendee","content","cvs","dlna-playsingle","dlna-playcontainer","dtn","dvb","ed2k","facetime","feed","finger","fish","gg","git","gizmoproject","gtalk","hcp","icon","ipn","irc","irc6","ircs","itms","jar","jms","keyparc","lastfm","ldaps","magnet","maps","market","message","mms","ms-help","msnim","mumble","mvn","notes","oid","palm","paparazzi","platform","proxy","psyc","query","res","resource","rmi","rsync","rtmp","secondlife","sftp","sgn","skype","smb","soldat","spotify","ssh","steam","svn","teamspeak","things","udp","unreal","ut2004","ventrilo","view-source","webcal","wtai","wyciwyg","xfire","xri","ymsgr"],DC=/^<([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,LC=/^<([a-zA-Z.\-]{1,25}):([^<>\x00-\x20]*)>/;function replace$1(s,o){return s=s.source,o=o||"",function self(i,a){return i?(a=a.source||a,s=s.replace(i,a),self):new RegExp(s,o)}}var FC=replace$1(/(?:unquoted|single_quoted|double_quoted)/)("unquoted",/[^"'=<>`\x00-\x20]+/)("single_quoted",/'[^']*'/)("double_quoted",/"[^"]*"/)(),BC=replace$1(/(?:\s+attr_name(?:\s*=\s*attr_value)?)/)("attr_name",/[a-zA-Z_:][a-zA-Z0-9:._-]*/)("attr_value",FC)(),$C=replace$1(/<[A-Za-z][A-Za-z0-9]*attribute*\s*\/?>/)("attribute",BC)(),qC=replace$1(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)("open_tag",$C)("close_tag",/<\/[A-Za-z][A-Za-z0-9]*\s*>/)("comment",/|/)("processing",/<[?].*?[?]>/)("declaration",/]*>/)("cdata",//)();var VC=/^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,UC=/^&([a-z][a-z0-9]{1,31});/i;var zC=[["text",function index_browser_text(s,o){for(var i=s.pos;i=0&&32===s.pending.charCodeAt(i))if(i>=1&&32===s.pending.charCodeAt(i-1)){for(var _=i-2;_>=0;_--)if(32!==s.pending.charCodeAt(_)){s.pending=s.pending.substring(0,_+1);break}s.push({type:"hardbreak",level:s.level})}else s.pending=s.pending.slice(0,-1),s.push({type:"softbreak",level:s.level});else s.push({type:"softbreak",level:s.level});for(u++;u=x)return!1;if(126!==s.src.charCodeAt(C+1))return!1;if(s.level>=s.options.maxNesting)return!1;if(_=C>0?s.src.charCodeAt(C-1):-1,w=s.src.charCodeAt(C+2),126===_)return!1;if(126===w)return!1;if(32===w||10===w)return!1;for(a=C+2;aC+3)return s.pos+=a-C,o||(s.pending+=s.src.slice(C,a)),!0;for(s.pos=C+2,u=1;s.pos+1=x)return!1;if(43!==s.src.charCodeAt(C+1))return!1;if(s.level>=s.options.maxNesting)return!1;if(_=C>0?s.src.charCodeAt(C-1):-1,w=s.src.charCodeAt(C+2),43===_)return!1;if(43===w)return!1;if(32===w||10===w)return!1;for(a=C+2;a=x)return!1;if(61!==s.src.charCodeAt(C+1))return!1;if(s.level>=s.options.maxNesting)return!1;if(_=C>0?s.src.charCodeAt(C-1):-1,w=s.src.charCodeAt(C+2),61===_)return!1;if(61===w)return!1;if(32===w||10===w)return!1;for(a=C+2;a=s.options.maxNesting)return!1;for(s.pos=L+i,x=[i];s.pos=u)return!1;if(s.level>=s.options.maxNesting)return!1;for(s.pos=_+1;s.pos=u)return!1;if(s.level>=s.options.maxNesting)return!1;for(s.pos=_+1;s.pos=s.options.maxNesting)return!1;if(i=V+1,(a=parseLinkLabel(s,V))<0)return!1;if((x=a+1)<$&&40===s.src.charCodeAt(x)){for(x++;x<$&&(32===(j=s.src.charCodeAt(x))||10===j);x++);if(x>=$)return!1;for(V=x,parseLinkDestination(s,x)?(_=s.linkContent,x=s.pos):_="",V=x;x<$&&(32===(j=s.src.charCodeAt(x))||10===j);x++);if(x<$&&V!==x&&parseLinkTitle(s,x))for(w=s.linkContent,x=s.pos;x<$&&(32===(j=s.src.charCodeAt(x))||10===j);x++);else w="";if(x>=$||41!==s.src.charCodeAt(x))return s.pos=B,!1;x++}else{if(s.linkLevel>0)return!1;for(;x<$&&(32===(j=s.src.charCodeAt(x))||10===j);x++);if(x<$&&91===s.src.charCodeAt(x)&&(V=x+1,(x=parseLinkLabel(s,x))>=0?u=s.src.slice(V,x++):x=V-1),u||(void 0===u&&(x=a+1),u=s.src.slice(i,a)),!(C=s.env.references[normalizeReference(u)]))return s.pos=B,!1;_=C.href,w=C.title}return o||(s.pos=i,s.posMax=a,L?s.push({type:"image",src:_,title:w,alt:s.src.substr(i,a-i),level:s.level}):(s.push({type:"link_open",href:_,title:w,level:s.level++}),s.linkLevel++,s.parser.tokenize(s),s.linkLevel--,s.push({type:"link_close",level:--s.level}))),s.pos=x,s.posMax=$,!0}],["footnote_inline",function footnote_inline(s,o){var i,a,u,_,w=s.posMax,x=s.pos;return!(x+2>=w)&&(94===s.src.charCodeAt(x)&&(91===s.src.charCodeAt(x+1)&&(!(s.level>=s.options.maxNesting)&&(i=x+2,!((a=parseLinkLabel(s,x+1))<0)&&(o||(s.env.footnotes||(s.env.footnotes={}),s.env.footnotes.list||(s.env.footnotes.list=[]),u=s.env.footnotes.list.length,s.pos=i,s.posMax=a,s.push({type:"footnote_ref",id:u,level:s.level}),s.linkLevel++,_=s.tokens.length,s.parser.tokenize(s),s.env.footnotes.list[u]={tokens:s.tokens.splice(_)},s.linkLevel--),s.pos=a+1,s.posMax=w,!0)))))}],["footnote_ref",function footnote_ref(s,o){var i,a,u,_,w=s.posMax,x=s.pos;if(x+3>w)return!1;if(!s.env.footnotes||!s.env.footnotes.refs)return!1;if(91!==s.src.charCodeAt(x))return!1;if(94!==s.src.charCodeAt(x+1))return!1;if(s.level>=s.options.maxNesting)return!1;for(a=x+2;a=w)&&(a++,i=s.src.slice(x+2,a-1),void 0!==s.env.footnotes.refs[":"+i]&&(o||(s.env.footnotes.list||(s.env.footnotes.list=[]),s.env.footnotes.refs[":"+i]<0?(u=s.env.footnotes.list.length,s.env.footnotes.list[u]={label:i,count:0},s.env.footnotes.refs[":"+i]=u):u=s.env.footnotes.refs[":"+i],_=s.env.footnotes.list[u].count,s.env.footnotes.list[u].count++,s.push({type:"footnote_ref",id:u,subId:_,level:s.level})),s.pos=a,s.posMax=w,!0)))}],["autolink",function autolink(s,o){var i,a,u,_,w,x=s.pos;return 60===s.src.charCodeAt(x)&&(!((i=s.src.slice(x)).indexOf(">")<0)&&((a=i.match(LC))?!(RC.indexOf(a[1].toLowerCase())<0)&&(w=normalizeLink(_=a[0].slice(1,-1)),!!s.parser.validateLink(_)&&(o||(s.push({type:"link_open",href:w,level:s.level}),s.push({type:"text",content:_,level:s.level+1}),s.push({type:"link_close",level:s.level})),s.pos+=a[0].length,!0)):!!(u=i.match(DC))&&(w=normalizeLink("mailto:"+(_=u[0].slice(1,-1))),!!s.parser.validateLink(w)&&(o||(s.push({type:"link_open",href:w,level:s.level}),s.push({type:"text",content:_,level:s.level+1}),s.push({type:"link_close",level:s.level})),s.pos+=u[0].length,!0))))}],["htmltag",function htmltag(s,o){var i,a,u,_=s.pos;return!!s.options.html&&(u=s.posMax,!(60!==s.src.charCodeAt(_)||_+2>=u)&&(!(33!==(i=s.src.charCodeAt(_+1))&&63!==i&&47!==i&&!function isLetter$2(s){var o=32|s;return o>=97&&o<=122}(i))&&(!!(a=s.src.slice(_).match(qC))&&(o||s.push({type:"htmltag",content:s.src.slice(_,_+a[0].length),level:s.level}),s.pos+=a[0].length,!0))))}],["entity",function entity(s,o){var i,a,u=s.pos,_=s.posMax;if(38!==s.src.charCodeAt(u))return!1;if(u+1<_)if(35===s.src.charCodeAt(u+1)){if(a=s.src.slice(u).match(VC))return o||(i="x"===a[1][0].toLowerCase()?parseInt(a[1].slice(1),16):parseInt(a[1],10),s.pending+=isValidEntityCode(i)?fromCodePoint(i):fromCodePoint(65533)),s.pos+=a[0].length,!0}else if(a=s.src.slice(u).match(UC)){var w=decodeEntity(a[1]);if(a[1]!==w)return o||(s.pending+=w),s.pos+=a[0].length,!0}return o||(s.pending+="&"),s.pos++,!0}]];function ParserInline(){this.ruler=new Ruler;for(var s=0;s0)s.pos=i;else{for(o=0;o=_)break}else s.pending+=s.src[s.pos++]}s.pending&&s.pushPending()},ParserInline.prototype.parse=function(s,o,i,a){var u=new StateInline(s,this,o,i,a);this.tokenize(u)};var WC={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["block","inline","references","replacements","smartquotes","references","abbr2","footnote_tail"]},block:{rules:["blockquote","code","fences","footnote","heading","hr","htmlblock","lheading","list","paragraph","table"]},inline:{rules:["autolink","backticks","del","emphasis","entity","escape","footnote_ref","htmltag","links","newline","text"]}}},full:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{},block:{},inline:{}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:"language-",linkTarget:"",typographer:!1,quotes:"“”‘’",highlight:null,maxNesting:20},components:{core:{rules:["block","inline","references","abbr2"]},block:{rules:["blockquote","code","fences","heading","hr","htmlblock","lheading","list","paragraph"]},inline:{rules:["autolink","backticks","emphasis","entity","escape","htmltag","links","newline","text"]}}}};function StateCore(s,o,i){this.src=o,this.env=i,this.options=s.options,this.tokens=[],this.inlineMode=!1,this.inline=s.inline,this.block=s.block,this.renderer=s.renderer,this.typographer=s.typographer}function Remarkable(s,o){"string"!=typeof s&&(o=s,s="default"),o&&null!=o.linkify&&console.warn("linkify option is removed. Use linkify plugin instead:\n\nimport Remarkable from 'remarkable';\nimport linkify from 'remarkable/linkify';\nnew Remarkable().use(linkify)\n"),this.inline=new ParserInline,this.block=new ParserBlock,this.core=new Core,this.renderer=new Renderer,this.ruler=new Ruler,this.options={},this.configure(WC[s]),this.set(o||{})}Remarkable.prototype.set=function(s){index_browser_assign(this.options,s)},Remarkable.prototype.configure=function(s){var o=this;if(!s)throw new Error("Wrong `remarkable` preset, check name/content");s.options&&o.set(s.options),s.components&&Object.keys(s.components).forEach((function(i){s.components[i].rules&&o[i].ruler.enable(s.components[i].rules,!0)}))},Remarkable.prototype.use=function(s,o){return s(this,o),this},Remarkable.prototype.parse=function(s,o){var i=new StateCore(this,s,o);return this.core.process(i),i.tokens},Remarkable.prototype.render=function(s,o){return o=o||{},this.renderer.render(this.parse(s,o),this.options,o)},Remarkable.prototype.parseInline=function(s,o){var i=new StateCore(this,s,o);return i.inlineMode=!0,this.core.process(i),i.tokens},Remarkable.prototype.renderInline=function(s,o){return o=o||{},this.renderer.render(this.parseInline(s,o),this.options,o)};function indexOf(s,o){if(Array.prototype.indexOf)return s.indexOf(o);for(var i=0,a=s.length;i=0;i--)!0===o(s[i])&&s.splice(i,1)}function throwUnhandledCaseError(s){throw new Error("Unhandled case for value: '".concat(s,"'"))}var JC=function(){function HtmlTag(s){void 0===s&&(s={}),this.tagName="",this.attrs={},this.innerHTML="",this.whitespaceRegex=/\s+/,this.tagName=s.tagName||"",this.attrs=s.attrs||{},this.innerHTML=s.innerHtml||s.innerHTML||""}return HtmlTag.prototype.setTagName=function(s){return this.tagName=s,this},HtmlTag.prototype.getTagName=function(){return this.tagName||""},HtmlTag.prototype.setAttr=function(s,o){return this.getAttrs()[s]=o,this},HtmlTag.prototype.getAttr=function(s){return this.getAttrs()[s]},HtmlTag.prototype.setAttrs=function(s){return Object.assign(this.getAttrs(),s),this},HtmlTag.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},HtmlTag.prototype.setClass=function(s){return this.setAttr("class",s)},HtmlTag.prototype.addClass=function(s){for(var o,i=this.getClass(),a=this.whitespaceRegex,u=i?i.split(a):[],_=s.split(a);o=_.shift();)-1===indexOf(u,o)&&u.push(o);return this.getAttrs().class=u.join(" "),this},HtmlTag.prototype.removeClass=function(s){for(var o,i=this.getClass(),a=this.whitespaceRegex,u=i?i.split(a):[],_=s.split(a);u.length&&(o=_.shift());){var w=indexOf(u,o);-1!==w&&u.splice(w,1)}return this.getAttrs().class=u.join(" "),this},HtmlTag.prototype.getClass=function(){return this.getAttrs().class||""},HtmlTag.prototype.hasClass=function(s){return-1!==(" "+this.getClass()+" ").indexOf(" "+s+" ")},HtmlTag.prototype.setInnerHTML=function(s){return this.innerHTML=s,this},HtmlTag.prototype.setInnerHtml=function(s){return this.setInnerHTML(s)},HtmlTag.prototype.getInnerHTML=function(){return this.innerHTML||""},HtmlTag.prototype.getInnerHtml=function(){return this.getInnerHTML()},HtmlTag.prototype.toAnchorString=function(){var s=this.getTagName(),o=this.buildAttrsStr();return["<",s,o=o?" "+o:"",">",this.getInnerHtml(),""].join("")},HtmlTag.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var s=this.getAttrs(),o=[];for(var i in s)s.hasOwnProperty(i)&&o.push(i+'="'+s[i]+'"');return o.join(" ")},HtmlTag}();var HC=function(){function AnchorTagBuilder(s){void 0===s&&(s={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=s.newWindow||!1,this.truncate=s.truncate||{},this.className=s.className||""}return AnchorTagBuilder.prototype.build=function(s){return new JC({tagName:"a",attrs:this.createAttrs(s),innerHtml:this.processAnchorText(s.getAnchorText())})},AnchorTagBuilder.prototype.createAttrs=function(s){var o={href:s.getAnchorHref()},i=this.createCssClass(s);return i&&(o.class=i),this.newWindow&&(o.target="_blank",o.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length=_)return w.host.length==o?(w.host.substr(0,o-u)+i).substr(0,_+a):buildSegment(C,_).substr(0,_+a);var j="";if(w.path&&(j+="/"+w.path),w.query&&(j+="?"+w.query),j){if((C+j).length>=_)return(C+j).length==o?(C+j).substr(0,o):(C+buildSegment(j,_-C.length)).substr(0,_+a);C+=j}if(w.fragment){var L="#"+w.fragment;if((C+L).length>=_)return(C+L).length==o?(C+L).substr(0,o):(C+buildSegment(L,_-C.length)).substr(0,_+a);C+=L}if(w.scheme&&w.host){var B=w.scheme+"://";if((C+B).length<_)return(B+C).substr(0,o)}if(C.length<=o)return C;var $="";return _>0&&($=C.substr(-1*Math.floor(_/2))),(C.substr(0,Math.ceil(_/2))+i+$).substr(0,_+a)}(s,i):"middle"===a?function truncateMiddle(s,o,i){if(s.length<=o)return s;var a,u;null==i?(i="…",a=8,u=3):(a=i.length,u=i.length);var _=o-u,w="";return _>0&&(w=s.substr(-1*Math.floor(_/2))),(s.substr(0,Math.ceil(_/2))+i+w).substr(0,_+a)}(s,i):function truncateEnd(s,o,i){return function ellipsis(s,o,i){var a;return s.length>o&&(null==i?(i="…",a=3):a=i.length,s=s.substring(0,o-a)+i),s}(s,o,i)}(s,i)},AnchorTagBuilder}(),KC=function(){function Match(s){this.__jsduckDummyDocProp=null,this.matchedText="",this.offset=0,this.tagBuilder=s.tagBuilder,this.matchedText=s.matchedText,this.offset=s.offset}return Match.prototype.getMatchedText=function(){return this.matchedText},Match.prototype.setOffset=function(s){this.offset=s},Match.prototype.getOffset=function(){return this.offset},Match.prototype.getCssClassSuffixes=function(){return[this.getType()]},Match.prototype.buildTag=function(){return this.tagBuilder.build(this)},Match}(),extendStatics=function(s,o){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,o){s.__proto__=o}||function(s,o){for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(s[i]=o[i])},extendStatics(s,o)};function tslib_es6_extends(s,o){if("function"!=typeof o&&null!==o)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");function __(){this.constructor=s}extendStatics(s,o),s.prototype=null===o?Object.create(o):(__.prototype=o.prototype,new __)}var __assign=function(){return __assign=Object.assign||function __assign(s){for(var o,i=1,a=arguments.length;i-1},UrlMatchValidator.isValidUriScheme=function(s){var o=s.match(this.uriSchemeRegex),i=o&&o[0].toLowerCase();return"javascript:"!==i&&"vbscript:"!==i},UrlMatchValidator.urlMatchDoesNotHaveProtocolOrDot=function(s,o){return!(!s||o&&this.hasFullProtocolRegex.test(o)||-1!==s.indexOf("."))},UrlMatchValidator.urlMatchDoesNotHaveAtLeastOneWordChar=function(s,o){return!(!s||!o)&&(!this.hasFullProtocolRegex.test(o)&&!this.hasWordCharAfterProtocolRegex.test(s))},UrlMatchValidator.hasFullProtocolRegex=/^[A-Za-z][-.+A-Za-z0-9]*:\/\//,UrlMatchValidator.uriSchemeRegex=/^[A-Za-z][-.+A-Za-z0-9]*:/,UrlMatchValidator.hasWordCharAfterProtocolRegex=new RegExp(":[^\\s]*?["+cA+"]"),UrlMatchValidator.ipRegex=/[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?\.[0-9][0-9]?[0-9]?(:[0-9]*)?\/?$/,UrlMatchValidator}(),wA=(GC=new RegExp("[/?#](?:["+hA+"\\-+&@#/%=~_()|'$*\\[\\]{}?!:,.;^✓]*["+hA+"\\-+&@#/%=~_()|'$*\\[\\]{}✓])?"),new RegExp(["(?:","(",/(?:[A-Za-z][-.+A-Za-z0-9]{0,63}:(?![A-Za-z][-.+A-Za-z0-9]{0,63}:\/\/)(?!\d+\/?)(?:\/\/)?)/.source,getDomainNameStr(2),")","|","(","(//)?",/(?:www\.)/.source,getDomainNameStr(6),")","|","(","(//)?",getDomainNameStr(10)+"\\.",yA.source,"(?![-"+pA+"])",")",")","(?::[0-9]+)?","(?:"+GC.source+")?"].join(""),"gi")),xA=new RegExp("["+hA+"]"),kA=function(s){function UrlMatcher(o){var i=s.call(this,o)||this;return i.stripPrefix={scheme:!0,www:!0},i.stripTrailingSlash=!0,i.decodePercentEncoding=!0,i.matcherRegex=wA,i.wordCharRegExp=xA,i.stripPrefix=o.stripPrefix,i.stripTrailingSlash=o.stripTrailingSlash,i.decodePercentEncoding=o.decodePercentEncoding,i}return tslib_es6_extends(UrlMatcher,s),UrlMatcher.prototype.parseMatches=function(s){for(var o,i=this.matcherRegex,a=this.stripPrefix,u=this.stripTrailingSlash,_=this.decodePercentEncoding,w=this.tagBuilder,x=[],_loop_1=function(){var i=o[0],j=o[1],L=o[4],B=o[5],$=o[9],V=o.index,U=B||$,z=s.charAt(V-1);if(!EA.isValid(i,j))return"continue";if(V>0&&"@"===z)return"continue";if(V>0&&U&&C.wordCharRegExp.test(z))return"continue";if(/\?$/.test(i)&&(i=i.substr(0,i.length-1)),C.matchHasUnbalancedClosingParen(i))i=i.substr(0,i.length-1);else{var Y=C.matchHasInvalidCharAfterTld(i,j);Y>-1&&(i=i.substr(0,Y))}var Z=["http://","https://"].find((function(s){return!!j&&-1!==j.indexOf(s)}));if(Z){var ee=i.indexOf(Z);i=i.substr(ee),j=j.substr(ee),V+=ee}var ie=j?"scheme":L?"www":"tld",ae=!!j;x.push(new eA({tagBuilder:w,matchedText:i,offset:V,urlMatchType:ie,url:i,protocolUrlMatch:ae,protocolRelativeMatch:!!U,stripPrefix:a,stripTrailingSlash:u,decodePercentEncoding:_}))},C=this;null!==(o=i.exec(s));)_loop_1();return x},UrlMatcher.prototype.matchHasUnbalancedClosingParen=function(s){var o,i=s.charAt(s.length-1);if(")"===i)o="(";else if("]"===i)o="[";else{if("}"!==i)return!1;o="{"}for(var a=0,u=0,_=s.length-1;u<_;u++){var w=s.charAt(u);w===o?a++:w===i&&(a=Math.max(a-1,0))}return 0===a},UrlMatcher.prototype.matchHasInvalidCharAfterTld=function(s,o){if(!s)return-1;var i=0;o&&(i=s.indexOf(":"),s=s.slice(i));var a=new RegExp("^((.?//)?[-."+hA+"]*[-"+hA+"]\\.[-"+hA+"]+)").exec(s);return null===a?-1:(i+=a[1].length,s=s.slice(a[1].length),/^[^-.A-Za-z0-9:\/?#]/.test(s)?i:-1)},UrlMatcher}(tA),OA=new RegExp("[_".concat(hA,"]")),CA=function(s){function HashtagMatcher(o){var i=s.call(this,o)||this;return i.serviceName="twitter",i.serviceName=o.serviceName,i}return tslib_es6_extends(HashtagMatcher,s),HashtagMatcher.prototype.parseMatches=function(s){for(var o=this.tagBuilder,i=this.serviceName,a=[],u=s.length,_=0,w=-1,x=0;_-1&&_-w<=140){var u=s.slice(w,_),x=new XC({tagBuilder:o,matchedText:u,offset:w,serviceName:i,hashtag:u.slice(1)});a.push(x)}}},HashtagMatcher}(tA),AA=["twitter","facebook","instagram","tiktok"],jA=new RegExp("".concat(/(?:(?:(?:(\+)?\d{1,3}[-\040.]?)?\(?\d{3}\)?[-\040.]?\d{3}[-\040.]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-\040.]?(?:\d[-\040.]?){6,12}\d+))([,;]+[0-9]+#?)*/.source,"|").concat(/(0([1-9]{1}-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/.source),"g"),IA=function(s){function PhoneMatcher(){var o=null!==s&&s.apply(this,arguments)||this;return o.matcherRegex=jA,o}return tslib_es6_extends(PhoneMatcher,s),PhoneMatcher.prototype.parseMatches=function(s){for(var o,i=this.matcherRegex,a=this.tagBuilder,u=[];null!==(o=i.exec(s));){var _=o[0],w=_.replace(/[^0-9,;#]/g,""),x=!(!o[1]&&!o[2]),C=0==o.index?"":s.substr(o.index-1,1),j=s.substr(o.index+_.length,1),L=!C.match(/\d/)&&!j.match(/\d/);this.testMatch(o[3])&&this.testMatch(_)&&L&&u.push(new ZC({tagBuilder:a,matchedText:_,offset:o.index,number:w,plusSign:x}))}return u},PhoneMatcher.prototype.testMatch=function(s){return sA.test(s)},PhoneMatcher}(tA),PA=new RegExp("@[_".concat(hA,"]{1,50}(?![_").concat(hA,"])"),"g"),TA=new RegExp("@[_.".concat(hA,"]{1,30}(?![_").concat(hA,"])"),"g"),NA=new RegExp("@[-_.".concat(hA,"]{1,50}(?![-_").concat(hA,"])"),"g"),MA=new RegExp("@[_.".concat(hA,"]{1,23}[_").concat(hA,"](?![_").concat(hA,"])"),"g"),RA=new RegExp("[^"+hA+"]"),DA=function(s){function MentionMatcher(o){var i=s.call(this,o)||this;return i.serviceName="twitter",i.matcherRegexes={twitter:PA,instagram:TA,soundcloud:NA,tiktok:MA},i.nonWordCharRegex=RA,i.serviceName=o.serviceName,i}return tslib_es6_extends(MentionMatcher,s),MentionMatcher.prototype.parseMatches=function(s){var o,i=this.serviceName,a=this.matcherRegexes[this.serviceName],u=this.nonWordCharRegex,_=this.tagBuilder,w=[];if(!a)return w;for(;null!==(o=a.exec(s));){var x=o.index,C=s.charAt(x-1);if(0===x||u.test(C)){var j=o[0].replace(/\.+$/g,""),L=j.slice(1);w.push(new QC({tagBuilder:_,matchedText:j,offset:x,serviceName:i,mention:L}))}}return w},MentionMatcher}(tA);function parseHtml(s,o){for(var i=o.onOpenTag,a=o.onCloseTag,u=o.onText,_=o.onComment,w=o.onDoctype,x=new LA,C=0,j=s.length,L=0,B=0,$=x;C"===s?($=new LA(__assign(__assign({},$),{name:captureTagName()})),emitTagAndPreviousTextNode()):rA.test(s)||nA.test(s)||":"===s||resetToDataState()}function stateEndTagOpen(s){">"===s?resetToDataState():rA.test(s)?L=3:resetToDataState()}function stateBeforeAttributeName(s){oA.test(s)||("/"===s?L=12:">"===s?emitTagAndPreviousTextNode():"<"===s?startNewTag():"="===s||iA.test(s)||aA.test(s)?resetToDataState():L=5)}function stateAttributeName(s){oA.test(s)?L=6:"/"===s?L=12:"="===s?L=7:">"===s?emitTagAndPreviousTextNode():"<"===s?startNewTag():iA.test(s)&&resetToDataState()}function stateAfterAttributeName(s){oA.test(s)||("/"===s?L=12:"="===s?L=7:">"===s?emitTagAndPreviousTextNode():"<"===s?startNewTag():iA.test(s)?resetToDataState():L=5)}function stateBeforeAttributeValue(s){oA.test(s)||('"'===s?L=8:"'"===s?L=9:/[>=`]/.test(s)?resetToDataState():"<"===s?startNewTag():L=10)}function stateAttributeValueDoubleQuoted(s){'"'===s&&(L=11)}function stateAttributeValueSingleQuoted(s){"'"===s&&(L=11)}function stateAttributeValueUnquoted(s){oA.test(s)?L=4:">"===s?emitTagAndPreviousTextNode():"<"===s&&startNewTag()}function stateAfterAttributeValueQuoted(s){oA.test(s)?L=4:"/"===s?L=12:">"===s?emitTagAndPreviousTextNode():"<"===s?startNewTag():(L=4,function reconsumeCurrentCharacter(){C--}())}function stateSelfClosingStartTag(s){">"===s?($=new LA(__assign(__assign({},$),{isClosing:!0})),emitTagAndPreviousTextNode()):L=4}function stateMarkupDeclarationOpen(o){"--"===s.substr(C,2)?(C+=2,$=new LA(__assign(__assign({},$),{type:"comment"})),L=14):"DOCTYPE"===s.substr(C,7).toUpperCase()?(C+=7,$=new LA(__assign(__assign({},$),{type:"doctype"})),L=20):resetToDataState()}function stateCommentStart(s){"-"===s?L=15:">"===s?resetToDataState():L=16}function stateCommentStartDash(s){"-"===s?L=18:">"===s?resetToDataState():L=16}function stateComment(s){"-"===s&&(L=17)}function stateCommentEndDash(s){L="-"===s?18:16}function stateCommentEnd(s){">"===s?emitTagAndPreviousTextNode():"!"===s?L=19:"-"===s||(L=16)}function stateCommentEndBang(s){"-"===s?L=17:">"===s?emitTagAndPreviousTextNode():L=16}function stateDoctype(s){">"===s?emitTagAndPreviousTextNode():"<"===s&&startNewTag()}function resetToDataState(){L=0,$=x}function startNewTag(){L=1,$=new LA({idx:C})}function emitTagAndPreviousTextNode(){var o=s.slice(B,$.idx);o&&u(o,B),"comment"===$.type?_($.idx):"doctype"===$.type?w($.idx):($.isOpening&&i($.name,$.idx),$.isClosing&&a($.name,$.idx)),resetToDataState(),B=C+1}function captureTagName(){var o=$.idx+($.isClosing?2:1);return s.slice(o,C).toLowerCase()}B=0&&a++},onText:function(s,i){if(0===a){var _=function splitAndCapture(s,o){if(!o.global)throw new Error("`splitRegex` must have the 'g' flag set");for(var i,a=[],u=0;i=o.exec(s);)a.push(s.substring(u,i.index)),a.push(i[0]),u=i.index+i[0].length;return a.push(s.substring(u)),a}(s,/( | |<|<|>|>|"|"|')/gi),w=i;_.forEach((function(s,i){if(i%2==0){var a=o.parseText(s,w);u.push.apply(u,a)}w+=s.length}))}},onCloseTag:function(s){i.indexOf(s)>=0&&(a=Math.max(a-1,0))},onComment:function(s){},onDoctype:function(s){}}),u=this.compactMatches(u),u=this.removeUnwantedMatches(u)},Autolinker.prototype.compactMatches=function(s){s.sort((function(s,o){return s.getOffset()-o.getOffset()}));for(var o=0;ou?o:o+1;s.splice(w,1);continue}if(s[o+1].getOffset()<_){s.splice(o+1,1);continue}}o++}return s},Autolinker.prototype.removeUnwantedMatches=function(s){return this.hashtag||utils_remove(s,(function(s){return"hashtag"===s.getType()})),this.email||utils_remove(s,(function(s){return"email"===s.getType()})),this.phone||utils_remove(s,(function(s){return"phone"===s.getType()})),this.mention||utils_remove(s,(function(s){return"mention"===s.getType()})),this.urls.schemeMatches||utils_remove(s,(function(s){return"url"===s.getType()&&"scheme"===s.getUrlMatchType()})),this.urls.wwwMatches||utils_remove(s,(function(s){return"url"===s.getType()&&"www"===s.getUrlMatchType()})),this.urls.tldMatches||utils_remove(s,(function(s){return"url"===s.getType()&&"tld"===s.getUrlMatchType()})),s},Autolinker.prototype.parseText=function(s,o){void 0===o&&(o=0),o=o||0;for(var i=this.getMatchers(),a=[],u=0,_=i.length;u<_;u++){for(var w=i[u].parseMatches(s),x=0,C=w.length;x/g,">"));for(var o=this.parse(s),i=[],a=0,u=0,_=o.length;u<_;u++){var w=o[u];i.push(s.substring(a,w.getOffset())),i.push(this.createMatchReturnVal(w)),a=w.getOffset()+w.getMatchedText().length}return i.push(s.substring(a)),i.join("")},Autolinker.prototype.createMatchReturnVal=function(s){var o;return this.replaceFn&&(o=this.replaceFn.call(this.context,s)),"string"==typeof o?o:!1===o?s.getMatchedText():o instanceof JC?o.toAnchorString():s.buildTag().toAnchorString()},Autolinker.prototype.getMatchers=function(){if(this.matchers)return this.matchers;var s=this.getTagBuilder(),o=[new CA({tagBuilder:s,serviceName:this.hashtag}),new _A({tagBuilder:s}),new IA({tagBuilder:s}),new DA({tagBuilder:s,serviceName:this.mention}),new kA({tagBuilder:s,stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding})];return this.matchers=o},Autolinker.prototype.getTagBuilder=function(){var s=this.tagBuilder;return s||(s=this.tagBuilder=new HC({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),s},Autolinker.version="3.16.2",Autolinker.AnchorTagBuilder=HC,Autolinker.HtmlTag=JC,Autolinker.matcher={Email:_A,Hashtag:CA,Matcher:tA,Mention:DA,Phone:IA,Url:kA},Autolinker.match={Email:YC,Hashtag:XC,Match:KC,Mention:QC,Phone:ZC,Url:eA},Autolinker}();const BA=FA;var $A=/www|@|\:\/\//;function isLinkOpen(s){return/^\s]/i.test(s)}function isLinkClose(s){return/^<\/a\s*>/i.test(s)}function createLinkifier(){var s=[],o=new BA({stripPrefix:!1,url:!0,email:!0,replaceFn:function(o){switch(o.getType()){case"url":s.push({text:o.matchedText,url:o.getUrl()});break;case"email":s.push({text:o.matchedText,url:"mailto:"+o.getEmail().replace(/^mailto:/i,"")})}return!1}});return{links:s,autolinker:o}}function parseTokens(s){var o,i,a,u,_,w,x,C,j,L,B,$,V,U=s.tokens,z=null;for(i=0,a=U.length;i=0;o--)if("link_close"!==(_=u[o]).type){if("htmltag"===_.type&&(isLinkOpen(_.content)&&B>0&&B--,isLinkClose(_.content)&&B++),!(B>0)&&"text"===_.type&&$A.test(_.content)){if(z||($=(z=createLinkifier()).links,V=z.autolinker),w=_.content,$.length=0,V.link(w),!$.length)continue;for(x=[],L=_.level,C=0;C<$.length;C++)s.inline.validateLink($[C].url)&&((j=w.indexOf($[C].text))&&x.push({type:"text",content:w.slice(0,j),level:L}),x.push({type:"link_open",href:$[C].url,title:"",level:L++}),x.push({type:"text",content:$[C].text,level:L}),x.push({type:"link_close",level:--L}),w=w.slice(j+$[C].text.length));w.length&&x.push({type:"text",content:w,level:L}),U[i].children=u=[].concat(u.slice(0,o),x,u.slice(o+1))}}else for(o--;u[o].level!==_.level&&"link_open"!==u[o].type;)o--}function linkify(s){s.core.ruler.push("linkify",parseTokens)}const{entries:qA,setPrototypeOf:VA,isFrozen:UA,getPrototypeOf:zA,getOwnPropertyDescriptor:WA}=Object;let{freeze:JA,seal:HA,create:KA}=Object,{apply:GA,construct:YA}="undefined"!=typeof Reflect&&Reflect;JA||(JA=function freeze(s){return s}),HA||(HA=function seal(s){return s}),GA||(GA=function apply(s,o,i){return s.apply(o,i)}),YA||(YA=function construct(s,o){return new s(...o)});const XA=unapply(Array.prototype.forEach),QA=unapply(Array.prototype.lastIndexOf),ZA=unapply(Array.prototype.pop),ej=unapply(Array.prototype.push),fj=unapply(Array.prototype.splice),mj=unapply(String.prototype.toLowerCase),_j=unapply(String.prototype.toString),Cj=unapply(String.prototype.match),Aj=unapply(String.prototype.replace),Nj=unapply(String.prototype.indexOf),Bj=unapply(String.prototype.trim),$j=unapply(Object.prototype.hasOwnProperty),zj=unapply(RegExp.prototype.test),Jj=function unconstruct(s){return function(){for(var o=arguments.length,i=new Array(o),a=0;a1?i-1:0),u=1;u2&&void 0!==arguments[2]?arguments[2]:mj;VA&&VA(s,null);let a=o.length;for(;a--;){let u=o[a];if("string"==typeof u){const s=i(u);s!==u&&(UA(o)||(o[a]=s),u=s)}s[u]=!0}return s}function purify_es_cleanArray(s){for(let o=0;o/gm),uI=HA(/\$\{[\w\W]*/gm),pI=HA(/^data-[\-\w.\u00B7-\uFFFF]+$/),hI=HA(/^aria-[\-\w]+$/),dI=HA(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),fI=HA(/^(?:\w+script|data):/i),mI=HA(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),gI=HA(/^html$/i),yI=HA(/^[a-z][.\w]*(-[.\w]+)+$/i);var vI=Object.freeze({__proto__:null,ARIA_ATTR:hI,ATTR_WHITESPACE:mI,CUSTOM_ELEMENT:yI,DATA_ATTR:pI,DOCTYPE_NAME:gI,ERB_EXPR:lI,IS_ALLOWED_URI:dI,IS_SCRIPT_OR_DATA:fI,MUSTACHE_EXPR:cI,TMPLIT_EXPR:uI});const bI=1,_I=3,SI=7,EI=8,wI=9,xI=function getGlobal(){return"undefined"==typeof window?null:window};var kI=function createDOMPurify(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:xI();const DOMPurify=s=>createDOMPurify(s);if(DOMPurify.version="3.2.4",DOMPurify.removed=[],!s||!s.document||s.document.nodeType!==wI||!s.Element)return DOMPurify.isSupported=!1,DOMPurify;let{document:o}=s;const i=o,a=i.currentScript,{DocumentFragment:u,HTMLTemplateElement:_,Node:w,Element:x,NodeFilter:C,NamedNodeMap:j=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:L,DOMParser:B,trustedTypes:$}=s,V=x.prototype,U=lookupGetter(V,"cloneNode"),z=lookupGetter(V,"remove"),Y=lookupGetter(V,"nextSibling"),Z=lookupGetter(V,"childNodes"),ee=lookupGetter(V,"parentNode");if("function"==typeof _){const s=o.createElement("template");s.content&&s.content.ownerDocument&&(o=s.content.ownerDocument)}let ie,ae="";const{implementation:ce,createNodeIterator:le,createDocumentFragment:pe,getElementsByTagName:de}=o,{importNode:fe}=i;let ye={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};DOMPurify.isSupported="function"==typeof qA&&"function"==typeof ee&&ce&&void 0!==ce.createHTMLDocument;const{MUSTACHE_EXPR:be,ERB_EXPR:_e,TMPLIT_EXPR:Se,DATA_ATTR:we,ARIA_ATTR:xe,IS_SCRIPT_OR_DATA:Pe,ATTR_WHITESPACE:Te,CUSTOM_ELEMENT:Re}=vI;let{IS_ALLOWED_URI:$e}=vI,qe=null;const ze=addToSet({},[...Kj,...Gj,...Xj,...tI,...nI]);let We=null;const He=addToSet({},[...sI,...oI,...iI,...aI]);let Ye=Object.seal(KA(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Xe=null,Qe=null,et=!0,tt=!0,rt=!1,nt=!0,st=!1,ot=!0,it=!1,at=!1,ct=!1,lt=!1,ut=!1,pt=!1,ht=!0,dt=!1,mt=!0,gt=!1,yt={},vt=null;const bt=addToSet({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let _t=null;const St=addToSet({},["audio","video","img","source","image","track"]);let Et=null;const wt=addToSet({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),xt="http://www.w3.org/1998/Math/MathML",kt="http://www.w3.org/2000/svg",Ot="http://www.w3.org/1999/xhtml";let Ct=Ot,At=!1,jt=null;const It=addToSet({},[xt,kt,Ot],_j);let Pt=addToSet({},["mi","mo","mn","ms","mtext"]),Tt=addToSet({},["annotation-xml"]);const Nt=addToSet({},["title","style","font","a","script"]);let Mt=null;const Rt=["application/xhtml+xml","text/html"];let Dt=null,Lt=null;const Ft=o.createElement("form"),Bt=function isRegexOrFunction(s){return s instanceof RegExp||s instanceof Function},$t=function _parseConfig(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!Lt||Lt!==s){if(s&&"object"==typeof s||(s={}),s=clone(s),Mt=-1===Rt.indexOf(s.PARSER_MEDIA_TYPE)?"text/html":s.PARSER_MEDIA_TYPE,Dt="application/xhtml+xml"===Mt?_j:mj,qe=$j(s,"ALLOWED_TAGS")?addToSet({},s.ALLOWED_TAGS,Dt):ze,We=$j(s,"ALLOWED_ATTR")?addToSet({},s.ALLOWED_ATTR,Dt):He,jt=$j(s,"ALLOWED_NAMESPACES")?addToSet({},s.ALLOWED_NAMESPACES,_j):It,Et=$j(s,"ADD_URI_SAFE_ATTR")?addToSet(clone(wt),s.ADD_URI_SAFE_ATTR,Dt):wt,_t=$j(s,"ADD_DATA_URI_TAGS")?addToSet(clone(St),s.ADD_DATA_URI_TAGS,Dt):St,vt=$j(s,"FORBID_CONTENTS")?addToSet({},s.FORBID_CONTENTS,Dt):bt,Xe=$j(s,"FORBID_TAGS")?addToSet({},s.FORBID_TAGS,Dt):{},Qe=$j(s,"FORBID_ATTR")?addToSet({},s.FORBID_ATTR,Dt):{},yt=!!$j(s,"USE_PROFILES")&&s.USE_PROFILES,et=!1!==s.ALLOW_ARIA_ATTR,tt=!1!==s.ALLOW_DATA_ATTR,rt=s.ALLOW_UNKNOWN_PROTOCOLS||!1,nt=!1!==s.ALLOW_SELF_CLOSE_IN_ATTR,st=s.SAFE_FOR_TEMPLATES||!1,ot=!1!==s.SAFE_FOR_XML,it=s.WHOLE_DOCUMENT||!1,lt=s.RETURN_DOM||!1,ut=s.RETURN_DOM_FRAGMENT||!1,pt=s.RETURN_TRUSTED_TYPE||!1,ct=s.FORCE_BODY||!1,ht=!1!==s.SANITIZE_DOM,dt=s.SANITIZE_NAMED_PROPS||!1,mt=!1!==s.KEEP_CONTENT,gt=s.IN_PLACE||!1,$e=s.ALLOWED_URI_REGEXP||dI,Ct=s.NAMESPACE||Ot,Pt=s.MATHML_TEXT_INTEGRATION_POINTS||Pt,Tt=s.HTML_INTEGRATION_POINTS||Tt,Ye=s.CUSTOM_ELEMENT_HANDLING||{},s.CUSTOM_ELEMENT_HANDLING&&Bt(s.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ye.tagNameCheck=s.CUSTOM_ELEMENT_HANDLING.tagNameCheck),s.CUSTOM_ELEMENT_HANDLING&&Bt(s.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ye.attributeNameCheck=s.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),s.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof s.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Ye.allowCustomizedBuiltInElements=s.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),st&&(tt=!1),ut&&(lt=!0),yt&&(qe=addToSet({},nI),We=[],!0===yt.html&&(addToSet(qe,Kj),addToSet(We,sI)),!0===yt.svg&&(addToSet(qe,Gj),addToSet(We,oI),addToSet(We,aI)),!0===yt.svgFilters&&(addToSet(qe,Xj),addToSet(We,oI),addToSet(We,aI)),!0===yt.mathMl&&(addToSet(qe,tI),addToSet(We,iI),addToSet(We,aI))),s.ADD_TAGS&&(qe===ze&&(qe=clone(qe)),addToSet(qe,s.ADD_TAGS,Dt)),s.ADD_ATTR&&(We===He&&(We=clone(We)),addToSet(We,s.ADD_ATTR,Dt)),s.ADD_URI_SAFE_ATTR&&addToSet(Et,s.ADD_URI_SAFE_ATTR,Dt),s.FORBID_CONTENTS&&(vt===bt&&(vt=clone(vt)),addToSet(vt,s.FORBID_CONTENTS,Dt)),mt&&(qe["#text"]=!0),it&&addToSet(qe,["html","head","body"]),qe.table&&(addToSet(qe,["tbody"]),delete Xe.tbody),s.TRUSTED_TYPES_POLICY){if("function"!=typeof s.TRUSTED_TYPES_POLICY.createHTML)throw Jj('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof s.TRUSTED_TYPES_POLICY.createScriptURL)throw Jj('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ie=s.TRUSTED_TYPES_POLICY,ae=ie.createHTML("")}else void 0===ie&&(ie=function _createTrustedTypesPolicy(s,o){if("object"!=typeof s||"function"!=typeof s.createPolicy)return null;let i=null;const a="data-tt-policy-suffix";o&&o.hasAttribute(a)&&(i=o.getAttribute(a));const u="dompurify"+(i?"#"+i:"");try{return s.createPolicy(u,{createHTML:s=>s,createScriptURL:s=>s})}catch(s){return console.warn("TrustedTypes policy "+u+" could not be created."),null}}($,a)),null!==ie&&"string"==typeof ae&&(ae=ie.createHTML(""));JA&&JA(s),Lt=s}},qt=addToSet({},[...Gj,...Xj,...eI]),Vt=addToSet({},[...tI,...rI]),Ut=function _forceRemove(s){ej(DOMPurify.removed,{element:s});try{ee(s).removeChild(s)}catch(o){z(s)}},zt=function _removeAttribute(s,o){try{ej(DOMPurify.removed,{attribute:o.getAttributeNode(s),from:o})}catch(s){ej(DOMPurify.removed,{attribute:null,from:o})}if(o.removeAttribute(s),"is"===s)if(lt||ut)try{Ut(o)}catch(s){}else try{o.setAttribute(s,"")}catch(s){}},Wt=function _initDocument(s){let i=null,a=null;if(ct)s=""+s;else{const o=Cj(s,/^[\r\n\t ]+/);a=o&&o[0]}"application/xhtml+xml"===Mt&&Ct===Ot&&(s=''+s+"");const u=ie?ie.createHTML(s):s;if(Ct===Ot)try{i=(new B).parseFromString(u,Mt)}catch(s){}if(!i||!i.documentElement){i=ce.createDocument(Ct,"template",null);try{i.documentElement.innerHTML=At?ae:u}catch(s){}}const _=i.body||i.documentElement;return s&&a&&_.insertBefore(o.createTextNode(a),_.childNodes[0]||null),Ct===Ot?de.call(i,it?"html":"body")[0]:it?i.documentElement:_},Jt=function _createNodeIterator(s){return le.call(s.ownerDocument||s,s,C.SHOW_ELEMENT|C.SHOW_COMMENT|C.SHOW_TEXT|C.SHOW_PROCESSING_INSTRUCTION|C.SHOW_CDATA_SECTION,null)},Ht=function _isClobbered(s){return s instanceof L&&("string"!=typeof s.nodeName||"string"!=typeof s.textContent||"function"!=typeof s.removeChild||!(s.attributes instanceof j)||"function"!=typeof s.removeAttribute||"function"!=typeof s.setAttribute||"string"!=typeof s.namespaceURI||"function"!=typeof s.insertBefore||"function"!=typeof s.hasChildNodes)},Kt=function _isNode(s){return"function"==typeof w&&s instanceof w};function _executeHooks(s,o,i){XA(s,(s=>{s.call(DOMPurify,o,i,Lt)}))}const Gt=function _sanitizeElements(s){let o=null;if(_executeHooks(ye.beforeSanitizeElements,s,null),Ht(s))return Ut(s),!0;const i=Dt(s.nodeName);if(_executeHooks(ye.uponSanitizeElement,s,{tagName:i,allowedTags:qe}),s.hasChildNodes()&&!Kt(s.firstElementChild)&&zj(/<[/\w]/g,s.innerHTML)&&zj(/<[/\w]/g,s.textContent))return Ut(s),!0;if(s.nodeType===SI)return Ut(s),!0;if(ot&&s.nodeType===EI&&zj(/<[/\w]/g,s.data))return Ut(s),!0;if(!qe[i]||Xe[i]){if(!Xe[i]&&Xt(i)){if(Ye.tagNameCheck instanceof RegExp&&zj(Ye.tagNameCheck,i))return!1;if(Ye.tagNameCheck instanceof Function&&Ye.tagNameCheck(i))return!1}if(mt&&!vt[i]){const o=ee(s)||s.parentNode,i=Z(s)||s.childNodes;if(i&&o){for(let a=i.length-1;a>=0;--a){const u=U(i[a],!0);u.__removalCount=(s.__removalCount||0)+1,o.insertBefore(u,Y(s))}}}return Ut(s),!0}return s instanceof x&&!function _checkValidNamespace(s){let o=ee(s);o&&o.tagName||(o={namespaceURI:Ct,tagName:"template"});const i=mj(s.tagName),a=mj(o.tagName);return!!jt[s.namespaceURI]&&(s.namespaceURI===kt?o.namespaceURI===Ot?"svg"===i:o.namespaceURI===xt?"svg"===i&&("annotation-xml"===a||Pt[a]):Boolean(qt[i]):s.namespaceURI===xt?o.namespaceURI===Ot?"math"===i:o.namespaceURI===kt?"math"===i&&Tt[a]:Boolean(Vt[i]):s.namespaceURI===Ot?!(o.namespaceURI===kt&&!Tt[a])&&!(o.namespaceURI===xt&&!Pt[a])&&!Vt[i]&&(Nt[i]||!qt[i]):!("application/xhtml+xml"!==Mt||!jt[s.namespaceURI]))}(s)?(Ut(s),!0):"noscript"!==i&&"noembed"!==i&&"noframes"!==i||!zj(/<\/no(script|embed|frames)/i,s.innerHTML)?(st&&s.nodeType===_I&&(o=s.textContent,XA([be,_e,Se],(s=>{o=Aj(o,s," ")})),s.textContent!==o&&(ej(DOMPurify.removed,{element:s.cloneNode()}),s.textContent=o)),_executeHooks(ye.afterSanitizeElements,s,null),!1):(Ut(s),!0)},Yt=function _isValidAttribute(s,i,a){if(ht&&("id"===i||"name"===i)&&(a in o||a in Ft))return!1;if(tt&&!Qe[i]&&zj(we,i));else if(et&&zj(xe,i));else if(!We[i]||Qe[i]){if(!(Xt(s)&&(Ye.tagNameCheck instanceof RegExp&&zj(Ye.tagNameCheck,s)||Ye.tagNameCheck instanceof Function&&Ye.tagNameCheck(s))&&(Ye.attributeNameCheck instanceof RegExp&&zj(Ye.attributeNameCheck,i)||Ye.attributeNameCheck instanceof Function&&Ye.attributeNameCheck(i))||"is"===i&&Ye.allowCustomizedBuiltInElements&&(Ye.tagNameCheck instanceof RegExp&&zj(Ye.tagNameCheck,a)||Ye.tagNameCheck instanceof Function&&Ye.tagNameCheck(a))))return!1}else if(Et[i]);else if(zj($e,Aj(a,Te,"")));else if("src"!==i&&"xlink:href"!==i&&"href"!==i||"script"===s||0!==Nj(a,"data:")||!_t[s]){if(rt&&!zj(Pe,Aj(a,Te,"")));else if(a)return!1}else;return!0},Xt=function _isBasicCustomElement(s){return"annotation-xml"!==s&&Cj(s,Re)},Qt=function _sanitizeAttributes(s){_executeHooks(ye.beforeSanitizeAttributes,s,null);const{attributes:o}=s;if(!o||Ht(s))return;const i={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:We,forceKeepAttr:void 0};let a=o.length;for(;a--;){const u=o[a],{name:_,namespaceURI:w,value:x}=u,C=Dt(_);let j="value"===_?x:Bj(x);if(i.attrName=C,i.attrValue=j,i.keepAttr=!0,i.forceKeepAttr=void 0,_executeHooks(ye.uponSanitizeAttribute,s,i),j=i.attrValue,!dt||"id"!==C&&"name"!==C||(zt(_,s),j="user-content-"+j),ot&&zj(/((--!?|])>)|<\/(style|title)/i,j)){zt(_,s);continue}if(i.forceKeepAttr)continue;if(zt(_,s),!i.keepAttr)continue;if(!nt&&zj(/\/>/i,j)){zt(_,s);continue}st&&XA([be,_e,Se],(s=>{j=Aj(j,s," ")}));const L=Dt(s.nodeName);if(Yt(L,C,j)){if(ie&&"object"==typeof $&&"function"==typeof $.getAttributeType)if(w);else switch($.getAttributeType(L,C)){case"TrustedHTML":j=ie.createHTML(j);break;case"TrustedScriptURL":j=ie.createScriptURL(j)}try{w?s.setAttributeNS(w,_,j):s.setAttribute(_,j),Ht(s)?Ut(s):ZA(DOMPurify.removed)}catch(s){}}}_executeHooks(ye.afterSanitizeAttributes,s,null)},Zt=function _sanitizeShadowDOM(s){let o=null;const i=Jt(s);for(_executeHooks(ye.beforeSanitizeShadowDOM,s,null);o=i.nextNode();)_executeHooks(ye.uponSanitizeShadowNode,o,null),Gt(o),Qt(o),o.content instanceof u&&_sanitizeShadowDOM(o.content);_executeHooks(ye.afterSanitizeShadowDOM,s,null)};return DOMPurify.sanitize=function(s){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=null,_=null,x=null,C=null;if(At=!s,At&&(s="\x3c!--\x3e"),"string"!=typeof s&&!Kt(s)){if("function"!=typeof s.toString)throw Jj("toString is not a function");if("string"!=typeof(s=s.toString()))throw Jj("dirty is not a string, aborting")}if(!DOMPurify.isSupported)return s;if(at||$t(o),DOMPurify.removed=[],"string"==typeof s&&(gt=!1),gt){if(s.nodeName){const o=Dt(s.nodeName);if(!qe[o]||Xe[o])throw Jj("root node is forbidden and cannot be sanitized in-place")}}else if(s instanceof w)a=Wt("\x3c!----\x3e"),_=a.ownerDocument.importNode(s,!0),_.nodeType===bI&&"BODY"===_.nodeName||"HTML"===_.nodeName?a=_:a.appendChild(_);else{if(!lt&&!st&&!it&&-1===s.indexOf("<"))return ie&&pt?ie.createHTML(s):s;if(a=Wt(s),!a)return lt?null:pt?ae:""}a&&ct&&Ut(a.firstChild);const j=Jt(gt?s:a);for(;x=j.nextNode();)Gt(x),Qt(x),x.content instanceof u&&Zt(x.content);if(gt)return s;if(lt){if(ut)for(C=pe.call(a.ownerDocument);a.firstChild;)C.appendChild(a.firstChild);else C=a;return(We.shadowroot||We.shadowrootmode)&&(C=fe.call(i,C,!0)),C}let L=it?a.outerHTML:a.innerHTML;return it&&qe["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&zj(gI,a.ownerDocument.doctype.name)&&(L="\n"+L),st&&XA([be,_e,Se],(s=>{L=Aj(L,s," ")})),ie&&pt?ie.createHTML(L):L},DOMPurify.setConfig=function(){$t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),at=!0},DOMPurify.clearConfig=function(){Lt=null,at=!1},DOMPurify.isValidAttribute=function(s,o,i){Lt||$t({});const a=Dt(s),u=Dt(o);return Yt(a,u,i)},DOMPurify.addHook=function(s,o){"function"==typeof o&&ej(ye[s],o)},DOMPurify.removeHook=function(s,o){if(void 0!==o){const i=QA(ye[s],o);return-1===i?void 0:fj(ye[s],i,1)[0]}return ZA(ye[s])},DOMPurify.removeHooks=function(s){ye[s]=[]},DOMPurify.removeAllHooks=function(){ye={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},DOMPurify}();kI.addHook&&kI.addHook("beforeSanitizeElements",(function(s){return s.href&&s.setAttribute("rel","noopener noreferrer"),s}));const OI=function Markdown({source:s,className:o="",getConfigs:i=()=>({useUnsafeMarkdown:!1})}){if("string"!=typeof s)return null;const a=new Remarkable({html:!0,typographer:!0,breaks:!0,linkTarget:"_blank"}).use(linkify);a.core.ruler.disable(["replacements","smartquotes"]);const{useUnsafeMarkdown:u}=i(),_=a.render(s),w=sanitizer(_,{useUnsafeMarkdown:u});return s&&_&&w?Re.createElement("div",{className:Jn()(o,"markdown"),dangerouslySetInnerHTML:{__html:w}}):null};function sanitizer(s,{useUnsafeMarkdown:o=!1}={}){const i=o,a=o?[]:["style","class"];return o&&!sanitizer.hasWarnedAboutDeprecation&&(console.warn("useUnsafeMarkdown display configuration parameter is deprecated since >3.26.0 and will be removed in v4.0.0."),sanitizer.hasWarnedAboutDeprecation=!0),kI.sanitize(s,{ADD_ATTR:["target"],FORBID_TAGS:["style","form"],ALLOW_DATA_ATTR:i,FORBID_ATTR:a})}sanitizer.hasWarnedAboutDeprecation=!1;class BaseLayout extends Re.Component{render(){const{errSelectors:s,specSelectors:o,getComponent:i}=this.props,a=i("SvgAssets"),u=i("InfoContainer",!0),_=i("VersionPragmaFilter"),w=i("operations",!0),x=i("Models",!0),C=i("Webhooks",!0),j=i("Row"),L=i("Col"),B=i("errors",!0),$=i("ServersContainer",!0),V=i("SchemesContainer",!0),U=i("AuthorizeBtnContainer",!0),z=i("FilterContainer",!0),Y=o.isSwagger2(),Z=o.isOAS3(),ee=o.isOAS31(),ie=!o.specStr(),ae=o.loadingStatus();let ce=null;if("loading"===ae&&(ce=Re.createElement("div",{className:"info"},Re.createElement("div",{className:"loading-container"},Re.createElement("div",{className:"loading"})))),"failed"===ae&&(ce=Re.createElement("div",{className:"info"},Re.createElement("div",{className:"loading-container"},Re.createElement("h4",{className:"title"},"Failed to load API definition."),Re.createElement(B,null)))),"failedConfig"===ae){const o=s.lastError(),i=o?o.get("message"):"";ce=Re.createElement("div",{className:"info failed-config"},Re.createElement("div",{className:"loading-container"},Re.createElement("h4",{className:"title"},"Failed to load remote configuration."),Re.createElement("p",null,i)))}if(!ce&&ie&&(ce=Re.createElement("h4",null,"No API definition provided.")),ce)return Re.createElement("div",{className:"swagger-ui"},Re.createElement("div",{className:"loading-container"},ce));const le=o.servers(),pe=o.schemes(),de=le&&le.size,fe=pe&&pe.size,ye=!!o.securityDefinitions();return Re.createElement("div",{className:"swagger-ui"},Re.createElement(a,null),Re.createElement(_,{isSwagger2:Y,isOAS3:Z,alsoShow:Re.createElement(B,null)},Re.createElement(B,null),Re.createElement(j,{className:"information-container"},Re.createElement(L,{mobile:12},Re.createElement(u,null))),de||fe||ye?Re.createElement("div",{className:"scheme-container"},Re.createElement(L,{className:"schemes wrapper",mobile:12},de||fe?Re.createElement("div",{className:"schemes-server-container"},de?Re.createElement($,null):null,fe?Re.createElement(V,null):null):null,ye?Re.createElement(U,null):null)):null,Re.createElement(z,null),Re.createElement(j,null,Re.createElement(L,{mobile:12,desktop:12},Re.createElement(w,null))),ee&&Re.createElement(j,{className:"webhooks-container"},Re.createElement(L,{mobile:12,desktop:12},Re.createElement(C,null))),Re.createElement(j,null,Re.createElement(L,{mobile:12,desktop:12},Re.createElement(x,null)))))}}const core_components=()=>({components:{App:HO,authorizationPopup:AuthorizationPopup,authorizeBtn:AuthorizeBtn,AuthorizeBtnContainer,authorizeOperationBtn:AuthorizeOperationBtn,auths:Auths,AuthItem:auth_item_Auths,authError:AuthError,oauth2:Oauth2,apiKeyAuth:ApiKeyAuth,basicAuth:BasicAuth,clear:Clear,liveResponse:LiveResponse,InitializedInput,info:rC,InfoContainer,InfoUrl,InfoBasePath,Contact:nC,License:sC,JumpToPath,CopyToClipboardBtn,onlineValidatorBadge:OnlineValidatorBadge,operations:Operations,operation:operation_Operation,OperationSummary,OperationSummaryMethod,OperationSummaryPath,responses:responses_Responses,response:response_Response,ResponseExtension:response_extension,responseBody:ResponseBody,parameters:Parameters,parameterRow:ParameterRow,execute:Execute,headers:headers_Headers,errors:Errors,contentType:ContentType,overview:Overview,footer:Footer,FilterContainer,ParamBody,curl:Curl,Property:property,TryItOutButton,Markdown:OI,BaseLayout,VersionPragmaFilter,VersionStamp:version_stamp,OperationExt:operation_extensions,OperationExtRow:operation_extension_row,ParameterExt:parameter_extension,ParameterIncludeEmpty,OperationTag,OperationContainer,OpenAPIVersion:openapi_version,DeepLink:deep_link,SvgAssets:svg_assets,Example:example_Example,ExamplesSelect,ExamplesSelectValueRetainer}}),form_components=()=>({components:{..._e}}),base=()=>[configsPlugin,util,logs,view,view_legacy,plugins_spec,err,icons,plugins_layout,json_schema_5,json_schema_5_samples,core_components,form_components,swagger_client,auth,downloadUrlPlugin,deep_linking,filter,on_complete,plugins_request_snippets,syntax_highlighting,versions,safe_render()],CI=(0,ze.Map)();function onlyOAS3(s){return(o,i)=>(...a)=>{if(i.getSystem().specSelectors.isOAS3()){const o=s(...a);return"function"==typeof o?o(i):o}return o(...a)}}const AI=onlyOAS3(xs()(null)),jI=onlyOAS3(((s,o)=>s=>s.getSystem().specSelectors.findSchema(o))),II=onlyOAS3((()=>s=>{const o=s.getSystem().specSelectors.specJson().getIn(["components","schemas"]);return ze.Map.isMap(o)?o:CI})),PI=onlyOAS3((()=>s=>s.getSystem().specSelectors.specJson().hasIn(["servers",0]))),TI=onlyOAS3(Vt(Ns,(s=>s.getIn(["components","securitySchemes"])||null))),wrap_selectors_validOperationMethods=(s,o)=>(i,...a)=>o.specSelectors.isOAS3()?o.oas3Selectors.validOperationMethods():s(...a),NI=AI,MI=AI,RI=AI,DI=AI,LI=AI;const FI=function wrap_selectors_onlyOAS3(s){return(o,i)=>(...a)=>{if(i.getSystem().specSelectors.isOAS3()){let o=i.getState().getIn(["spec","resolvedSubtrees","components","securitySchemes"]);return s(i,o,...a)}return o(...a)}}(Vt((s=>s),(({specSelectors:s})=>s.securityDefinitions()),((s,o)=>{let i=(0,ze.List)();return o?(o.entrySeq().forEach((([s,o])=>{const a=o?.get("type");if("oauth2"===a&&o.get("flows").entrySeq().forEach((([a,u])=>{let _=(0,ze.fromJS)({flow:a,authorizationUrl:u.get("authorizationUrl"),tokenUrl:u.get("tokenUrl"),scopes:u.get("scopes"),type:o.get("type"),description:o.get("description")});i=i.push(new ze.Map({[s]:_.filter((s=>void 0!==s))}))})),"http"!==a&&"apiKey"!==a||(i=i.push(new ze.Map({[s]:o}))),"openIdConnect"===a&&o.get("openIdConnectData")){let a=o.get("openIdConnectData");(a.get("grant_types_supported")||["authorization_code","implicit"]).forEach((u=>{let _=a.get("scopes_supported")&&a.get("scopes_supported").reduce(((s,o)=>s.set(o,"")),new ze.Map),w=(0,ze.fromJS)({flow:u,authorizationUrl:a.get("authorization_endpoint"),tokenUrl:a.get("token_endpoint"),scopes:_,type:"oauth2",openIdConnectUrl:o.get("openIdConnectUrl")});i=i.push(new ze.Map({[s]:w.filter((s=>void 0!==s))}))}))}})),i):i})));function OAS3ComponentWrapFactory(s){return(o,i)=>a=>"function"==typeof i.specSelectors?.isOAS3?i.specSelectors.isOAS3()?Re.createElement(s,Mn()({},a,i,{Ori:o})):Re.createElement(o,a):(console.warn("OAS3 wrapper: couldn't get spec"),null)}const BI=(0,ze.Map)(),selectors_isSwagger2=()=>s=>function isSwagger2(s){const o=s.get("swagger");return"string"==typeof o&&"2.0"===o}(s.getSystem().specSelectors.specJson()),selectors_isOAS30=()=>s=>function isOAS30(s){const o=s.get("openapi");return"string"==typeof o&&/^3\.0\.(?:[1-9]\d*|0)$/.test(o)}(s.getSystem().specSelectors.specJson()),selectors_isOAS3=()=>s=>s.getSystem().specSelectors.isOAS30();function selectors_onlyOAS3(s){return(o,...i)=>a=>{if(a.specSelectors.isOAS3()){const u=s(o,...i);return"function"==typeof u?u(a):u}return null}}const $I=selectors_onlyOAS3((()=>s=>s.specSelectors.specJson().get("servers",BI))),findSchema=(s,o)=>{const i=s.getIn(["resolvedSubtrees","components","schemas",o],null),a=s.getIn(["json","components","schemas",o],null);return i||a||null},qI=selectors_onlyOAS3(((s,{callbacks:o,specPath:i})=>s=>{const a=s.specSelectors.validOperationMethods();return ze.Map.isMap(o)?o.reduce(((s,o,u)=>{if(!ze.Map.isMap(o))return s;const _=o.reduce(((s,o,_)=>{if(!ze.Map.isMap(o))return s;const w=o.entrySeq().filter((([s])=>a.includes(s))).map((([s,o])=>({operation:(0,ze.Map)({operation:o}),method:s,path:_,callbackName:u,specPath:i.concat([u,_,s])})));return s.concat(w)}),(0,ze.List)());return s.concat(_)}),(0,ze.List)()).groupBy((s=>s.callbackName)).map((s=>s.toArray())).toObject():{}})),callbacks=({callbacks:s,specPath:o,specSelectors:i,getComponent:a})=>{const u=i.callbacksOperations({callbacks:s,specPath:o}),_=Object.keys(u),w=a("OperationContainer",!0);return 0===_.length?Re.createElement("span",null,"No callbacks"):Re.createElement("div",null,_.map((s=>Re.createElement("div",{key:`${s}`},Re.createElement("h2",null,s),u[s].map((o=>Re.createElement(w,{key:`${s}-${o.path}-${o.method}`,op:o.operation,tag:"callbacks",method:o.method,path:o.path,specPath:o.specPath,allowTryItOut:!1})))))))},getDefaultRequestBodyValue=(s,o,i,a)=>{const u=s.getIn(["content",o])??(0,ze.OrderedMap)(),_=u.get("schema",(0,ze.OrderedMap)()).toJS(),w=void 0!==u.get("examples"),x=u.get("example"),C=w?u.getIn(["examples",i,"value"]):x;return stringify(a.getSampleSchema(_,o,{includeWriteOnly:!0},C))},components_request_body=({userHasEditedBody:s,requestBody:o,requestBodyValue:i,requestBodyInclusionSetting:a,requestBodyErrors:u,getComponent:_,getConfigs:w,specSelectors:x,fn:C,contentType:j,isExecute:L,specPath:B,onChange:$,onChangeIncludeEmpty:V,activeExamplesKey:U,updateActiveExamplesKey:z,setRetainRequestBodyValueFlag:Y})=>{const handleFile=s=>{$(s.target.files[0])},setIsIncludedOptions=s=>{let o={key:s,shouldDispatchInit:!1,defaultValue:!0};return"no value"===a.get(s,"no value")&&(o.shouldDispatchInit=!0),o},Z=_("Markdown",!0),ee=_("modelExample"),ie=_("RequestBodyEditor"),ae=_("HighlightCode",!0),ce=_("ExamplesSelectValueRetainer"),le=_("Example"),pe=_("ParameterIncludeEmpty"),{showCommonExtensions:de}=w(),fe=o?.get("description")??null,ye=o?.get("content")??new ze.OrderedMap;j=j||ye.keySeq().first()||"";const be=ye.get(j)??(0,ze.OrderedMap)(),_e=be.get("schema",(0,ze.OrderedMap)()),Se=be.get("examples",null),we=Se?.map(((s,i)=>{const a=s?.get("value",null);return a&&(s=s.set("value",getDefaultRequestBodyValue(o,j,i,C),a)),s}));u=ze.List.isList(u)?u:(0,ze.List)();if(C.isFileUploadIntended(be?.get("schema"),j)){const s=_("Input");return L?Re.createElement(s,{type:"file",onChange:handleFile}):Re.createElement("i",null,"Example values are not available for ",Re.createElement("code",null,j)," media types.")}if(!be.size)return null;if(C.hasSchemaType(be.get("schema"),"object")&&("application/x-www-form-urlencoded"===j||0===j.indexOf("multipart/"))&&_e.get("properties",(0,ze.OrderedMap)()).size>0){const s=_("JsonSchemaForm"),o=_("ParameterExt"),j=_e.get("properties",(0,ze.OrderedMap)());return i=ze.Map.isMap(i)?i:(0,ze.OrderedMap)(),Re.createElement("div",{className:"table-container"},fe&&Re.createElement(Z,{source:fe}),Re.createElement("table",null,Re.createElement("tbody",null,ze.Map.isMap(j)&&j.entrySeq().map((([j,U])=>{if(U.get("readOnly"))return;const z=U.get("oneOf")?.get(0)?.toJS(),Y=U.get("anyOf")?.get(0)?.toJS();U=(0,ze.fromJS)(C.mergeJsonSchema(U.toJS(),z??Y??{}));let ie=de?getCommonExtensions(U):null;const ae=_e.get("required",(0,ze.List)()).includes(j),ce=C.getSchemaObjectType(U),le=C.getSchemaObjectTypeLabel(U),fe=C.getSchemaObjectType(U?.get("items")),ye=U.get("format"),be=U.get("description"),Se=i.getIn([j,"value"]),we=i.getIn([j,"errors"])||u,xe=a.get(j)||!1;let Pe=C.getSampleSchema(U,!1,{includeWriteOnly:!0});!1===Pe&&(Pe="false"),0===Pe&&(Pe="0"),"string"!=typeof Pe&&"object"===ce&&(Pe=stringify(Pe)),"string"==typeof Pe&&"array"===ce&&(Pe=JSON.parse(Pe));const Te=C.isFileUploadIntended(U),$e=Re.createElement(s,{fn:C,dispatchInitialValue:!Te,schema:U,description:j,getComponent:_,value:void 0===Se?Pe:Se,required:ae,errors:we,onChange:s=>{$(s,[j])}});return Re.createElement("tr",{key:j,className:"parameters","data-property-name":j},Re.createElement("td",{className:"parameters-col_name"},Re.createElement("div",{className:ae?"parameter__name required":"parameter__name"},j,ae?Re.createElement("span",null," *"):null),Re.createElement("div",{className:"parameter__type"},le,ye&&Re.createElement("span",{className:"prop-format"},"($",ye,")"),de&&ie.size?ie.entrySeq().map((([s,i])=>Re.createElement(o,{key:`${s}-${i}`,xKey:s,xVal:i}))):null),Re.createElement("div",{className:"parameter__deprecated"},U.get("deprecated")?"deprecated":null)),Re.createElement("td",{className:"parameters-col_description"},Re.createElement(Z,{source:be}),L?Re.createElement("div",null,"object"===ce||"object"===fe?Re.createElement(ee,{getComponent:_,specPath:B.push("schema"),getConfigs:w,isExecute:L,specSelectors:x,schema:U,example:$e}):$e,ae?null:Re.createElement(pe,{onChange:s=>V(j,s),isIncluded:xe,isIncludedOptions:setIsIncludedOptions(j),isDisabled:Array.isArray(Se)?0!==Se.length:!isEmptyValue(Se)})):null))})))))}const xe=getDefaultRequestBodyValue(o,j,U,C);let Pe=null;getKnownSyntaxHighlighterLanguage(xe)&&(Pe="json");const Te=L?Re.createElement(ie,{value:i,errors:u,defaultValue:xe,onChange:$,getComponent:_}):Re.createElement(ae,{className:"body-param__example",language:Pe},stringify(i)||xe);return Re.createElement("div",null,fe&&Re.createElement(Z,{source:fe}),we?Re.createElement(ce,{userHasEditedBody:s,examples:we,currentKey:U,currentUserInputValue:i,onSelect:s=>{z(s)},updateValue:$,defaultToFirstExample:!0,getComponent:_,setRetainRequestBodyValueFlag:Y}):null,Re.createElement(ee,{getComponent:_,getConfigs:w,specSelectors:x,expandDepth:1,isExecute:L,schema:be.get("schema"),specPath:B.push("content",j),example:Te,includeWriteOnly:!0}),we?Re.createElement(le,{example:we.get(U),getComponent:_,getConfigs:w}):null)};class operation_link_OperationLink extends Re.Component{render(){const{link:s,name:o,getComponent:i}=this.props,a=i("Markdown",!0);let u=s.get("operationId")||s.get("operationRef"),_=s.get("parameters")&&s.get("parameters").toJS(),w=s.get("description");return Re.createElement("div",{className:"operation-link"},Re.createElement("div",{className:"description"},Re.createElement("b",null,Re.createElement("code",null,o)),w?Re.createElement(a,{source:w}):null),Re.createElement("pre",null,"Operation `",u,"`",Re.createElement("br",null),Re.createElement("br",null),"Parameters ",function padString(s,o){if("string"!=typeof o)return"";return o.split("\n").map(((o,i)=>i>0?Array(s+1).join(" ")+o:o)).join("\n")}(0,JSON.stringify(_,null,2))||"{}",Re.createElement("br",null)))}}const VI=operation_link_OperationLink,components_servers=({servers:s,currentServer:o,setSelectedServer:i,setServerVariableValue:a,getServerVariable:u,getEffectiveServerValue:_})=>{const w=(s.find((s=>s.get("url")===o))||(0,ze.OrderedMap)()).get("variables")||(0,ze.OrderedMap)(),x=0!==w.size;(0,Re.useEffect)((()=>{o||i(s.first()?.get("url"))}),[]),(0,Re.useEffect)((()=>{const u=s.find((s=>s.get("url")===o));if(!u)return void i(s.first().get("url"));(u.get("variables")||(0,ze.OrderedMap)()).map(((s,i)=>{a({server:o,key:i,val:s.get("default")||""})}))}),[o,s]);const C=(0,Re.useCallback)((s=>{i(s.target.value)}),[i]),j=(0,Re.useCallback)((s=>{const i=s.target.getAttribute("data-variable"),u=s.target.value;a({server:o,key:i,val:u})}),[a,o]);return Re.createElement("div",{className:"servers"},Re.createElement("label",{htmlFor:"servers"},Re.createElement("select",{onChange:C,value:o,id:"servers"},s.valueSeq().map((s=>Re.createElement("option",{value:s.get("url"),key:s.get("url")},s.get("url"),s.get("description")&&` - ${s.get("description")}`))).toArray())),x&&Re.createElement("div",null,Re.createElement("div",{className:"computed-url"},"Computed URL:",Re.createElement("code",null,_(o))),Re.createElement("h4",null,"Server variables"),Re.createElement("table",null,Re.createElement("tbody",null,w.entrySeq().map((([s,i])=>Re.createElement("tr",{key:s},Re.createElement("td",null,s),Re.createElement("td",null,i.get("enum")?Re.createElement("select",{"data-variable":s,onChange:j},i.get("enum").map((i=>Re.createElement("option",{selected:i===u(o,s),key:i,value:i},i)))):Re.createElement("input",{type:"text",value:u(o,s)||"",onChange:j,"data-variable":s})))))))))};class ServersContainer extends Re.Component{render(){const{specSelectors:s,oas3Selectors:o,oas3Actions:i,getComponent:a}=this.props,u=s.servers(),_=a("Servers");return u&&u.size?Re.createElement("div",null,Re.createElement("span",{className:"servers-title"},"Servers"),Re.createElement(_,{servers:u,currentServer:o.selectedServer(),setSelectedServer:i.setSelectedServer,setServerVariableValue:i.setServerVariableValue,getServerVariable:o.serverVariableValue,getEffectiveServerValue:o.serverEffectiveValue})):null}}const UI=Function.prototype;class RequestBodyEditor extends Re.PureComponent{static defaultProps={onChange:UI,userHasEditedBody:!1};constructor(s,o){super(s,o),this.state={value:stringify(s.value)||s.defaultValue},s.onChange(s.value)}applyDefaultValue=s=>{const{onChange:o,defaultValue:i}=s||this.props;return this.setState({value:i}),o(i)};onChange=s=>{this.props.onChange(stringify(s))};onDomChange=s=>{const o=s.target.value;this.setState({value:o},(()=>this.onChange(o)))};UNSAFE_componentWillReceiveProps(s){this.props.value!==s.value&&s.value!==this.state.value&&this.setState({value:stringify(s.value)}),!s.value&&s.defaultValue&&this.state.value&&this.applyDefaultValue(s)}render(){let{getComponent:s,errors:o}=this.props,{value:i}=this.state,a=o.size>0;const u=s("TextArea");return Re.createElement("div",{className:"body-param"},Re.createElement(u,{className:Jn()("body-param__text",{invalid:a}),title:o.size?o.join(", "):"",value:i,onChange:this.onDomChange}))}}class HttpAuth extends Re.Component{constructor(s,o){super(s,o);let{name:i,schema:a}=this.props,u=this.getValue();this.state={name:i,schema:a,value:u}}getValue(){let{name:s,authorized:o}=this.props;return o&&o.getIn([s,"value"])}onChange=s=>{let{onChange:o}=this.props,{value:i,name:a}=s.target,u=Object.assign({},this.state.value);a?u[a]=i:u=i,this.setState({value:u},(()=>o(this.state)))};render(){let{schema:s,getComponent:o,errSelectors:i,name:a,authSelectors:u}=this.props;const _=o("Input"),w=o("Row"),x=o("Col"),C=o("authError"),j=o("Markdown",!0),L=o("JumpToPath",!0),B=(s.get("scheme")||"").toLowerCase(),$=u.selectAuthPath(a);let V=this.getValue(),U=i.allErrors().filter((s=>s.get("authId")===a));if("basic"===B){let o=V?V.get("username"):null;return Re.createElement("div",null,Re.createElement("h4",null,Re.createElement("code",null,a),"  (http, Basic)",Re.createElement(L,{path:$})),o&&Re.createElement("h6",null,"Authorized"),Re.createElement(w,null,Re.createElement(j,{source:s.get("description")})),Re.createElement(w,null,Re.createElement("label",{htmlFor:"auth-basic-username"},"Username:"),o?Re.createElement("code",null," ",o," "):Re.createElement(x,null,Re.createElement(_,{id:"auth-basic-username",type:"text",required:"required",name:"username","aria-label":"auth-basic-username",onChange:this.onChange,autoFocus:!0}))),Re.createElement(w,null,Re.createElement("label",{htmlFor:"auth-basic-password"},"Password:"),o?Re.createElement("code",null," ****** "):Re.createElement(x,null,Re.createElement(_,{id:"auth-basic-password",autoComplete:"new-password",name:"password",type:"password","aria-label":"auth-basic-password",onChange:this.onChange}))),U.valueSeq().map(((s,o)=>Re.createElement(C,{error:s,key:o}))))}return"bearer"===B?Re.createElement("div",null,Re.createElement("h4",null,Re.createElement("code",null,a),"  (http, Bearer)",Re.createElement(L,{path:$})),V&&Re.createElement("h6",null,"Authorized"),Re.createElement(w,null,Re.createElement(j,{source:s.get("description")})),Re.createElement(w,null,Re.createElement("label",{htmlFor:"auth-bearer-value"},"Value:"),V?Re.createElement("code",null," ****** "):Re.createElement(x,null,Re.createElement(_,{id:"auth-bearer-value",type:"text","aria-label":"auth-bearer-value",onChange:this.onChange,autoFocus:!0}))),U.valueSeq().map(((s,o)=>Re.createElement(C,{error:s,key:o})))):Re.createElement("div",null,Re.createElement("em",null,Re.createElement("b",null,a)," HTTP authentication: unsupported scheme ",`'${B}'`))}}class operation_servers_OperationServers extends Re.Component{setSelectedServer=s=>{const{path:o,method:i}=this.props;return this.forceUpdate(),this.props.setSelectedServer(s,`${o}:${i}`)};setServerVariableValue=s=>{const{path:o,method:i}=this.props;return this.forceUpdate(),this.props.setServerVariableValue({...s,namespace:`${o}:${i}`})};getSelectedServer=()=>{const{path:s,method:o}=this.props;return this.props.getSelectedServer(`${s}:${o}`)};getServerVariable=(s,o)=>{const{path:i,method:a}=this.props;return this.props.getServerVariable({namespace:`${i}:${a}`,server:s},o)};getEffectiveServerValue=s=>{const{path:o,method:i}=this.props;return this.props.getEffectiveServerValue({server:s,namespace:`${o}:${i}`})};render(){const{operationServers:s,pathServers:o,getComponent:i}=this.props;if(!s&&!o)return null;const a=i("Servers"),u=s||o,_=s?"operation":"path";return Re.createElement("div",{className:"opblock-section operation-servers"},Re.createElement("div",{className:"opblock-section-header"},Re.createElement("div",{className:"tab-header"},Re.createElement("h4",{className:"opblock-title"},"Servers"))),Re.createElement("div",{className:"opblock-description-wrapper"},Re.createElement("h4",{className:"message"},"These ",_,"-level options override the global server options."),Re.createElement(a,{servers:u,currentServer:this.getSelectedServer(),setSelectedServer:this.setSelectedServer,setServerVariableValue:this.setServerVariableValue,getServerVariable:this.getServerVariable,getEffectiveServerValue:this.getEffectiveServerValue})))}}const zI={Callbacks:callbacks,HttpAuth,RequestBody:components_request_body,Servers:components_servers,ServersContainer,RequestBodyEditor,OperationServers:operation_servers_OperationServers,operationLink:VI},WI=new Remarkable("commonmark");WI.block.ruler.enable(["table"]),WI.set({linkTarget:"_blank"});const JI=OAS3ComponentWrapFactory((({source:s,className:o="",getConfigs:i=()=>({useUnsafeMarkdown:!1})})=>{if("string"!=typeof s)return null;if(s){const{useUnsafeMarkdown:a}=i(),u=sanitizer(WI.render(s),{useUnsafeMarkdown:a});let _;return"string"==typeof u&&(_=u.trim()),Re.createElement("div",{dangerouslySetInnerHTML:{__html:_},className:Jn()(o,"renderedMarkdown")})}return null})),HI=OAS3ComponentWrapFactory((({Ori:s,...o})=>{const{schema:i,getComponent:a,errSelectors:u,authorized:_,onAuthChange:w,name:x,authSelectors:C}=o,j=a("HttpAuth");return"http"===i.get("type")?Re.createElement(j,{key:x,schema:i,name:x,errSelectors:u,authorized:_,getComponent:a,onChange:w,authSelectors:C}):Re.createElement(s,o)})),KI=OAS3ComponentWrapFactory(OnlineValidatorBadge);class ModelComponent extends Re.Component{render(){let{getConfigs:s,schema:o,Ori:i}=this.props,a=["model-box"],u=null;return!0===o.get("deprecated")&&(a.push("deprecated"),u=Re.createElement("span",{className:"model-deprecated-warning"},"Deprecated:")),Re.createElement("div",{className:a.join(" ")},u,Re.createElement(i,Mn()({},this.props,{getConfigs:s,depth:1,expandDepth:this.props.expandDepth||0})))}}const GI=OAS3ComponentWrapFactory(ModelComponent),YI=OAS3ComponentWrapFactory((({Ori:s,...o})=>{const{schema:i,getComponent:a,errors:u,onChange:_,fn:w}=o,x=w.isFileUploadIntended(i),C=a("Input");return x?Re.createElement(C,{type:"file",className:u.length?"invalid":"",title:u.length?u:"",onChange:s=>{_(s.target.files[0])},disabled:s.isDisabled}):Re.createElement(s,o)})),XI={Markdown:JI,AuthItem:HI,OpenAPIVersion:function OAS30ComponentWrapFactory(s){return(o,i)=>a=>"function"==typeof i.specSelectors?.isOAS30?i.specSelectors.isOAS30()?Re.createElement(s,Mn()({},a,i,{Ori:o})):Re.createElement(o,a):(console.warn("OAS30 wrapper: couldn't get spec"),null)}((s=>{const{Ori:o}=s;return Re.createElement(o,{oasVersion:"3.0"})})),JsonSchema_string:YI,model:GI,onlineValidatorBadge:KI},QI="oas3_set_servers",ZI="oas3_set_request_body_value",eP="oas3_set_request_body_retain_flag",tP="oas3_set_request_body_inclusion",rP="oas3_set_active_examples_member",nP="oas3_set_request_content_type",sP="oas3_set_response_content_type",oP="oas3_set_server_variable_value",iP="oas3_set_request_body_validate_error",aP="oas3_clear_request_body_validate_error",cP="oas3_clear_request_body_value";function setSelectedServer(s,o){return{type:QI,payload:{selectedServerUrl:s,namespace:o}}}function setRequestBodyValue({value:s,pathMethod:o}){return{type:ZI,payload:{value:s,pathMethod:o}}}const setRetainRequestBodyValueFlag=({value:s,pathMethod:o})=>({type:eP,payload:{value:s,pathMethod:o}});function setRequestBodyInclusion({value:s,pathMethod:o,name:i}){return{type:tP,payload:{value:s,pathMethod:o,name:i}}}function setActiveExamplesMember({name:s,pathMethod:o,contextType:i,contextName:a}){return{type:rP,payload:{name:s,pathMethod:o,contextType:i,contextName:a}}}function setRequestContentType({value:s,pathMethod:o}){return{type:nP,payload:{value:s,pathMethod:o}}}function setResponseContentType({value:s,path:o,method:i}){return{type:sP,payload:{value:s,path:o,method:i}}}function setServerVariableValue({server:s,namespace:o,key:i,val:a}){return{type:oP,payload:{server:s,namespace:o,key:i,val:a}}}const setRequestBodyValidateError=({path:s,method:o,validationErrors:i})=>({type:iP,payload:{path:s,method:o,validationErrors:i}}),clearRequestBodyValidateError=({path:s,method:o})=>({type:aP,payload:{path:s,method:o}}),initRequestBodyValidateError=({pathMethod:s})=>({type:aP,payload:{path:s[0],method:s[1]}}),clearRequestBodyValue=({pathMethod:s})=>({type:cP,payload:{pathMethod:s}});var lP=__webpack_require__(60680),uP=__webpack_require__.n(lP);const oas3_selectors_onlyOAS3=s=>(o,...i)=>a=>{if(a.getSystem().specSelectors.isOAS3()){const u=s(o,...i);return"function"==typeof u?u(a):u}return null};const pP=oas3_selectors_onlyOAS3(((s,o)=>{const i=o?[o,"selectedServer"]:["selectedServer"];return s.getIn(i)||""})),hP=oas3_selectors_onlyOAS3(((s,o,i)=>s.getIn(["requestData",o,i,"bodyValue"])||null)),dP=oas3_selectors_onlyOAS3(((s,o,i)=>s.getIn(["requestData",o,i,"retainBodyValue"])||!1)),selectDefaultRequestBodyValue=(s,o,i)=>s=>{const{oas3Selectors:a,specSelectors:u,fn:_}=s.getSystem();if(u.isOAS3()){const s=a.requestContentType(o,i);if(s)return getDefaultRequestBodyValue(u.specResolvedSubtree(["paths",o,i,"requestBody"]),s,a.activeExamplesMember(o,i,"requestBody","requestBody"),_)}return null},fP=oas3_selectors_onlyOAS3(((s,o,i)=>s=>{const{oas3Selectors:a,specSelectors:u,fn:_}=s;let w=!1;const x=a.requestContentType(o,i);let C=a.requestBodyValue(o,i);const j=u.specResolvedSubtree(["paths",o,i,"requestBody"]);if(!j)return!1;if(ze.Map.isMap(C)&&(C=stringify(C.mapEntries((s=>ze.Map.isMap(s[1])?[s[0],s[1].get("value")]:s)).toJS())),ze.List.isList(C)&&(C=stringify(C)),x){const s=getDefaultRequestBodyValue(j,x,a.activeExamplesMember(o,i,"requestBody","requestBody"),_);w=!!C&&C!==s}return w})),mP=oas3_selectors_onlyOAS3(((s,o,i)=>s.getIn(["requestData",o,i,"bodyInclusion"])||(0,ze.Map)())),gP=oas3_selectors_onlyOAS3(((s,o,i)=>s.getIn(["requestData",o,i,"errors"])||null)),yP=oas3_selectors_onlyOAS3(((s,o,i,a,u)=>s.getIn(["examples",o,i,a,u,"activeExample"])||null)),vP=oas3_selectors_onlyOAS3(((s,o,i)=>s.getIn(["requestData",o,i,"requestContentType"])||null)),bP=oas3_selectors_onlyOAS3(((s,o,i)=>s.getIn(["requestData",o,i,"responseContentType"])||null)),_P=oas3_selectors_onlyOAS3(((s,o,i)=>{let a;if("string"!=typeof o){const{server:s,namespace:u}=o;a=u?[u,"serverVariableValues",s,i]:["serverVariableValues",s,i]}else{a=["serverVariableValues",o,i]}return s.getIn(a)||null})),SP=oas3_selectors_onlyOAS3(((s,o)=>{let i;if("string"!=typeof o){const{server:s,namespace:a}=o;i=a?[a,"serverVariableValues",s]:["serverVariableValues",s]}else{i=["serverVariableValues",o]}return s.getIn(i)||(0,ze.OrderedMap)()})),EP=oas3_selectors_onlyOAS3(((s,o)=>{var i,a;if("string"!=typeof o){const{server:u,namespace:_}=o;a=u,i=_?s.getIn([_,"serverVariableValues",a]):s.getIn(["serverVariableValues",a])}else a=o,i=s.getIn(["serverVariableValues",a]);i=i||(0,ze.OrderedMap)();let u=a;return i.map(((s,o)=>{u=u.replace(new RegExp(`{${uP()(o)}}`,"g"),s)})),u})),wP=function validateRequestBodyIsRequired(s){return(...o)=>i=>{const a=i.getSystem().specSelectors.specJson();let u=[...o][1]||[];return!a.getIn(["paths",...u,"requestBody","required"])||s(...o)}}(((s,o)=>((s,o)=>(o=o||[],!!s.getIn(["requestData",...o,"bodyValue"])))(s,o))),validateShallowRequired=(s,{oas3RequiredRequestBodyContentType:o,oas3RequestContentType:i,oas3RequestBodyValue:a})=>{let u=[];if(!ze.Map.isMap(a))return u;let _=[];return Object.keys(o.requestContentType).forEach((s=>{if(s===i){o.requestContentType[s].forEach((s=>{_.indexOf(s)<0&&_.push(s)}))}})),_.forEach((s=>{a.getIn([s,"value"])||u.push(s)})),u},xP=xs()(["get","put","post","delete","options","head","patch","trace"]),kP={[QI]:(s,{payload:{selectedServerUrl:o,namespace:i}})=>{const a=i?[i,"selectedServer"]:["selectedServer"];return s.setIn(a,o)},[ZI]:(s,{payload:{value:o,pathMethod:i}})=>{let[a,u]=i;if(!ze.Map.isMap(o))return s.setIn(["requestData",a,u,"bodyValue"],o);let _,w=s.getIn(["requestData",a,u,"bodyValue"])||(0,ze.Map)();ze.Map.isMap(w)||(w=(0,ze.Map)());const[...x]=o.keys();return x.forEach((s=>{let i=o.getIn([s]);w.has(s)&&ze.Map.isMap(i)||(_=w.setIn([s,"value"],i))})),s.setIn(["requestData",a,u,"bodyValue"],_)},[eP]:(s,{payload:{value:o,pathMethod:i}})=>{let[a,u]=i;return s.setIn(["requestData",a,u,"retainBodyValue"],o)},[tP]:(s,{payload:{value:o,pathMethod:i,name:a}})=>{let[u,_]=i;return s.setIn(["requestData",u,_,"bodyInclusion",a],o)},[rP]:(s,{payload:{name:o,pathMethod:i,contextType:a,contextName:u}})=>{let[_,w]=i;return s.setIn(["examples",_,w,a,u,"activeExample"],o)},[nP]:(s,{payload:{value:o,pathMethod:i}})=>{let[a,u]=i;return s.setIn(["requestData",a,u,"requestContentType"],o)},[sP]:(s,{payload:{value:o,path:i,method:a}})=>s.setIn(["requestData",i,a,"responseContentType"],o),[oP]:(s,{payload:{server:o,namespace:i,key:a,val:u}})=>{const _=i?[i,"serverVariableValues",o,a]:["serverVariableValues",o,a];return s.setIn(_,u)},[iP]:(s,{payload:{path:o,method:i,validationErrors:a}})=>{let u=[];if(u.push("Required field is not provided"),a.missingBodyValue)return s.setIn(["requestData",o,i,"errors"],(0,ze.fromJS)(u));if(a.missingRequiredKeys&&a.missingRequiredKeys.length>0){const{missingRequiredKeys:_}=a;return s.updateIn(["requestData",o,i,"bodyValue"],(0,ze.fromJS)({}),(s=>_.reduce(((s,o)=>s.setIn([o,"errors"],(0,ze.fromJS)(u))),s)))}return console.warn("unexpected result: SET_REQUEST_BODY_VALIDATE_ERROR"),s},[aP]:(s,{payload:{path:o,method:i}})=>{const a=s.getIn(["requestData",o,i,"bodyValue"]);if(!ze.Map.isMap(a))return s.setIn(["requestData",o,i,"errors"],(0,ze.fromJS)([]));const[...u]=a.keys();return u?s.updateIn(["requestData",o,i,"bodyValue"],(0,ze.fromJS)({}),(s=>u.reduce(((s,o)=>s.setIn([o,"errors"],(0,ze.fromJS)([]))),s))):s},[cP]:(s,{payload:{pathMethod:o}})=>{let[i,a]=o;const u=s.getIn(["requestData",i,a,"bodyValue"]);return u?ze.Map.isMap(u)?s.setIn(["requestData",i,a,"bodyValue"],(0,ze.Map)()):s.setIn(["requestData",i,a,"bodyValue"],""):s}};function oas3({getSystem:s}){const o=(s=>(o,i=null)=>{const{getConfigs:a,fn:u}=s(),{fileUploadMediaTypes:_}=a();if("string"==typeof i&&_.some((s=>i.startsWith(s))))return!0;const w=ze.Map.isMap(o);if(!w&&!as()(o))return!1;const x=w?o.get("format"):o.format;return u.hasSchemaType(o,"string")&&["binary","byte"].includes(x)})(s);return{components:zI,wrapComponents:XI,statePlugins:{spec:{wrapSelectors:Se,selectors:xe},auth:{wrapSelectors:we},oas3:{actions:{...Pe},reducers:kP,selectors:{...Te}}},fn:{isFileUploadIntended:o,isFileUploadIntendedOAS30:o}}}const webhooks=({specSelectors:s,getComponent:o})=>{const i=s.selectWebhooksOperations(),a=Object.keys(i),u=o("OperationContainer",!0);return 0===a.length?null:Re.createElement("div",{className:"webhooks"},Re.createElement("h2",null,"Webhooks"),a.map((s=>Re.createElement("div",{key:`${s}-webhook`},i[s].map((o=>Re.createElement(u,{key:`${s}-${o.method}-webhook`,op:o.operation,tag:"webhooks",method:o.method,path:s,specPath:(0,ze.List)(o.specPath),allowTryItOut:!1})))))))},oas31_components_license=({getComponent:s,specSelectors:o})=>{const i=o.selectLicenseNameField(),a=o.selectLicenseUrl(),u=s("Link");return Re.createElement("div",{className:"info__license"},a?Re.createElement("div",{className:"info__license__url"},Re.createElement(u,{target:"_blank",href:sanitizeUrl(a)},i)):Re.createElement("span",null,i))},oas31_components_contact=({getComponent:s,specSelectors:o})=>{const i=o.selectContactNameField(),a=o.selectContactUrl(),u=o.selectContactEmailField(),_=s("Link");return Re.createElement("div",{className:"info__contact"},a&&Re.createElement("div",null,Re.createElement(_,{href:sanitizeUrl(a),target:"_blank"},i," - Website")),u&&Re.createElement(_,{href:sanitizeUrl(`mailto:${u}`)},a?`Send email to ${i}`:`Contact ${i}`))},oas31_components_info=({getComponent:s,specSelectors:o})=>{const i=o.version(),a=o.url(),u=o.basePath(),_=o.host(),w=o.selectInfoSummaryField(),x=o.selectInfoDescriptionField(),C=o.selectInfoTitleField(),j=o.selectInfoTermsOfServiceUrl(),L=o.selectExternalDocsUrl(),B=o.selectExternalDocsDescriptionField(),$=o.contact(),V=o.license(),U=s("Markdown",!0),z=s("Link"),Y=s("VersionStamp"),Z=s("OpenAPIVersion"),ee=s("InfoUrl"),ie=s("InfoBasePath"),ae=s("License",!0),ce=s("Contact",!0),le=s("JsonSchemaDialect",!0);return Re.createElement("div",{className:"info"},Re.createElement("hgroup",{className:"main"},Re.createElement("h2",{className:"title"},C,Re.createElement("span",null,i&&Re.createElement(Y,{version:i}),Re.createElement(Z,{oasVersion:"3.1"}))),(_||u)&&Re.createElement(ie,{host:_,basePath:u}),a&&Re.createElement(ee,{getComponent:s,url:a})),w&&Re.createElement("p",{className:"info__summary"},w),Re.createElement("div",{className:"info__description description"},Re.createElement(U,{source:x})),j&&Re.createElement("div",{className:"info__tos"},Re.createElement(z,{target:"_blank",href:sanitizeUrl(j)},"Terms of service")),$.size>0&&Re.createElement(ce,null),V.size>0&&Re.createElement(ae,null),L&&Re.createElement(z,{className:"info__extdocs",target:"_blank",href:sanitizeUrl(L)},B||L),Re.createElement(le,null))},json_schema_dialect=({getComponent:s,specSelectors:o})=>{const i=o.selectJsonSchemaDialectField(),a=o.selectJsonSchemaDialectDefault(),u=s("Link");return Re.createElement(Re.Fragment,null,i&&i===a&&Re.createElement("p",{className:"info__jsonschemadialect"},"JSON Schema dialect:"," ",Re.createElement(u,{target:"_blank",href:sanitizeUrl(i)},i)),i&&i!==a&&Re.createElement("div",{className:"error-wrapper"},Re.createElement("div",{className:"no-margin"},Re.createElement("div",{className:"errors"},Re.createElement("div",{className:"errors-wrapper"},Re.createElement("h4",{className:"center"},"Warning"),Re.createElement("p",{className:"message"},Re.createElement("strong",null,"OpenAPI.jsonSchemaDialect")," field contains a value different from the default value of"," ",Re.createElement(u,{target:"_blank",href:a},a),". Values different from the default one are currently not supported. Please either omit the field or provide it with the default value."))))))},version_pragma_filter=({bypass:s,isSwagger2:o,isOAS3:i,isOAS31:a,alsoShow:u,children:_})=>s?Re.createElement("div",null,_):o&&(i||a)?Re.createElement("div",{className:"version-pragma"},u,Re.createElement("div",{className:"version-pragma__message version-pragma__message--ambiguous"},Re.createElement("div",null,Re.createElement("h3",null,"Unable to render this definition"),Re.createElement("p",null,Re.createElement("code",null,"swagger")," and ",Re.createElement("code",null,"openapi")," fields cannot be present in the same Swagger or OpenAPI definition. Please remove one of the fields."),Re.createElement("p",null,"Supported version fields are ",Re.createElement("code",null,'swagger: "2.0"')," and those that match ",Re.createElement("code",null,"openapi: 3.x.y")," (for example,"," ",Re.createElement("code",null,"openapi: 3.1.0"),").")))):o||i||a?Re.createElement("div",null,_):Re.createElement("div",{className:"version-pragma"},u,Re.createElement("div",{className:"version-pragma__message version-pragma__message--missing"},Re.createElement("div",null,Re.createElement("h3",null,"Unable to render this definition"),Re.createElement("p",null,"The provided definition does not specify a valid version field."),Re.createElement("p",null,"Please indicate a valid Swagger or OpenAPI version field. Supported version fields are ",Re.createElement("code",null,'swagger: "2.0"')," and those that match ",Re.createElement("code",null,"openapi: 3.x.y")," (for example,"," ",Re.createElement("code",null,"openapi: 3.1.0"),").")))),getModelName=s=>"string"==typeof s&&s.includes("#/components/schemas/")?(s=>{const o=s.replace(/~1/g,"/").replace(/~0/g,"~");try{return decodeURIComponent(o)}catch{return o}})(s.replace(/^.*#\/components\/schemas\//,"")):null,OP=(0,Re.forwardRef)((({schema:s,getComponent:o,onToggle:i=()=>{},specPath:a},u)=>{const _=o("JSONSchema202012"),w=getModelName(s.get("$$ref")),x=(0,Re.useCallback)(((s,o)=>{i(w,o)}),[w,i]);return Re.createElement(_,{name:w,schema:s.toJS(),ref:u,onExpand:x,identifier:a.toJS().join("_")})})),CP=OP,models=({specActions:s,specSelectors:o,layoutSelectors:i,layoutActions:a,getComponent:u,getConfigs:_,fn:w})=>{const x=o.selectSchemas(),C=Object.keys(x).length>0,j=["components","schemas"],{docExpansion:L,defaultModelsExpandDepth:B}=_(),$=B>0&&"none"!==L,V=i.isShown(j,$),U=u("Collapse"),z=u("JSONSchema202012"),Y=u("ArrowUpIcon"),Z=u("ArrowDownIcon"),{getTitle:ee}=w.jsonSchema202012.useFn();(0,Re.useEffect)((()=>{const i=V&&B>1,a=null!=o.specResolvedSubtree(j);i&&!a&&s.requestResolvedSubtree(j)}),[V,B]);const ie=(0,Re.useCallback)((()=>{a.show(j,!V)}),[V]),ae=(0,Re.useCallback)((s=>{null!==s&&a.readyToScroll(j,s)}),[]),handleJSONSchema202012Ref=s=>o=>{null!==o&&a.readyToScroll([...j,s],o)},handleJSONSchema202012Expand=i=>(a,u)=>{if(u){const a=[...j,i];null!=o.specResolvedSubtree(a)||s.requestResolvedSubtree([...j,i])}};return!C||B<0?null:Re.createElement("section",{className:Jn()("models",{"is-open":V}),ref:ae},Re.createElement("h4",null,Re.createElement("button",{"aria-expanded":V,className:"models-control",onClick:ie},Re.createElement("span",null,"Schemas"),V?Re.createElement(Y,null):Re.createElement(Z,null))),Re.createElement(U,{isOpened:V},Object.entries(x).map((([s,o])=>{const i=ee(o,{lookup:"basic"})||s;return Re.createElement(z,{key:s,ref:handleJSONSchema202012Ref(s),schema:o,name:i,onExpand:handleJSONSchema202012Expand(s)})}))))},mutual_tls_auth=({schema:s,getComponent:o,name:i,authSelectors:a})=>{const u=o("JumpToPath",!0),_=a.selectAuthPath(i);return Re.createElement("div",null,Re.createElement("h4",null,i," (mutualTLS) ",Re.createElement(u,{path:_})),Re.createElement("p",null,"Mutual TLS is required by this API/Operation. Certificates are managed via your Operating System and/or your browser."),Re.createElement("p",null,s.get("description")))};class auths_Auths extends Re.Component{constructor(s,o){super(s,o),this.state={}}onAuthChange=s=>{let{name:o}=s;this.setState({[o]:s})};submitAuth=s=>{s.preventDefault();let{authActions:o}=this.props;o.authorizeWithPersistOption(this.state)};logoutClick=s=>{s.preventDefault();let{authActions:o,definitions:i}=this.props,a=i.map(((s,o)=>o)).toArray();this.setState(a.reduce(((s,o)=>(s[o]="",s)),{})),o.logoutWithPersistOption(a)};close=s=>{s.preventDefault();let{authActions:o}=this.props;o.showDefinitions(!1)};render(){let{definitions:s,getComponent:o,authSelectors:i,errSelectors:a}=this.props;const u=o("AuthItem"),_=o("oauth2",!0),w=o("Button"),x=i.authorized(),C=s.filter(((s,o)=>!!x.get(o))),j=s.filter((s=>"oauth2"!==s.get("type")&&"mutualTLS"!==s.get("type"))),L=s.filter((s=>"oauth2"===s.get("type"))),B=s.filter((s=>"mutualTLS"===s.get("type")));return Re.createElement("div",{className:"auth-container"},j.size>0&&Re.createElement("form",{onSubmit:this.submitAuth},j.map(((s,_)=>Re.createElement(u,{key:_,schema:s,name:_,getComponent:o,onAuthChange:this.onAuthChange,authorized:x,errSelectors:a,authSelectors:i}))).toArray(),Re.createElement("div",{className:"auth-btn-wrapper"},j.size===C.size?Re.createElement(w,{className:"btn modal-btn auth",onClick:this.logoutClick,"aria-label":"Remove authorization"},"Logout"):Re.createElement(w,{type:"submit",className:"btn modal-btn auth authorize","aria-label":"Apply credentials"},"Authorize"),Re.createElement(w,{className:"btn modal-btn auth btn-done",onClick:this.close},"Close"))),L.size>0?Re.createElement("div",null,Re.createElement("div",{className:"scope-def"},Re.createElement("p",null,"Scopes are used to grant an application different levels of access to data on behalf of the end user. Each API may declare one or more scopes."),Re.createElement("p",null,"API requires the following scopes. Select which ones you want to grant to Swagger UI.")),s.filter((s=>"oauth2"===s.get("type"))).map(((s,o)=>Re.createElement("div",{key:o},Re.createElement(_,{authorized:x,schema:s,name:o})))).toArray()):null,B.size>0&&Re.createElement("div",null,B.map(((s,_)=>Re.createElement(u,{key:_,schema:s,name:_,getComponent:o,onAuthChange:this.onAuthChange,authorized:x,errSelectors:a,authSelectors:i}))).toArray()))}}const AP=auths_Auths,isOAS31=s=>{const o=s.get("openapi");return"string"==typeof o&&/^3\.1\.(?:[1-9]\d*|0)$/.test(o)},fn_createOnlyOAS31Selector=s=>(o,...i)=>a=>{if(a.getSystem().specSelectors.isOAS31()){const u=s(o,...i);return"function"==typeof u?u(a):u}return null},createOnlyOAS31SelectorWrapper=s=>(o,i)=>(a,...u)=>{if(i.getSystem().specSelectors.isOAS31()){const _=s(a,...u);return"function"==typeof _?_(o,i):_}return o(...u)},fn_createSystemSelector=s=>(o,...i)=>a=>{const u=s(o,a,...i);return"function"==typeof u?u(a):u},createOnlyOAS31ComponentWrapper=s=>(o,i)=>a=>i.specSelectors.isOAS31()?Re.createElement(s,Mn()({},a,{originalComponent:o,getSystem:i.getSystem})):Re.createElement(o,a),wrapOAS31Fn=(s,o)=>{const{fn:i,specSelectors:a}=o;return Object.fromEntries(Object.entries(s).map((([s,o])=>{const u=i[s];return[s,(...s)=>a.isOAS31()?o(...s):"function"==typeof u?u(...s):void 0]})))},jP=createOnlyOAS31ComponentWrapper((({getSystem:s})=>{const o=s().getComponent("OAS31License",!0);return Re.createElement(o,null)})),IP=createOnlyOAS31ComponentWrapper((({getSystem:s})=>{const o=s().getComponent("OAS31Contact",!0);return Re.createElement(o,null)})),PP=createOnlyOAS31ComponentWrapper((({getSystem:s})=>{const o=s().getComponent("OAS31Info",!0);return Re.createElement(o,null)})),getProperties=(s,{includeReadOnly:o,includeWriteOnly:i})=>{if(!s?.properties)return{};const a=Object.entries(s.properties).filter((([,s])=>(!(!0===s?.readOnly)||o)&&(!(!0===s?.writeOnly)||i)));return Object.fromEntries(a)},makeGetSchemaKeywords=s=>{if("function"!=typeof s)return null;const o=s();return()=>[...o,"discriminator","xml","externalDocs","example","$$ref"]},TP=createOnlyOAS31ComponentWrapper((({getSystem:s,...o})=>{const i=s(),{getComponent:a,fn:u,getConfigs:_}=i,w=_(),x=a("OAS31Model"),C=a("withJSONSchema202012SystemContext");return TP.ModelWithJSONSchemaContext??=C(x,{config:{default$schema:"https://spec.openapis.org/oas/3.1/dialect/base",defaultExpandedLevels:w.defaultModelExpandDepth,includeReadOnly:o.includeReadOnly,includeWriteOnly:o.includeWriteOnly},fn:{getProperties:u.jsonSchema202012.getProperties,isExpandable:u.jsonSchema202012.isExpandable,getSchemaKeywords:makeGetSchemaKeywords(u.jsonSchema202012.getSchemaKeywords)}}),Re.createElement(TP.ModelWithJSONSchemaContext,o)})),NP=TP,MP=createOnlyOAS31ComponentWrapper((({getSystem:s})=>{const{getComponent:o,fn:i,getConfigs:a}=s(),u=a();if(MP.ModelsWithJSONSchemaContext)return Re.createElement(MP.ModelsWithJSONSchemaContext,null);const _=o("OAS31Models",!0),w=o("withJSONSchema202012SystemContext");return MP.ModelsWithJSONSchemaContext??=w(_,{config:{default$schema:"https://spec.openapis.org/oas/3.1/dialect/base",defaultExpandedLevels:u.defaultModelsExpandDepth-1,includeReadOnly:!0,includeWriteOnly:!0},fn:{getProperties:i.jsonSchema202012.getProperties,isExpandable:i.jsonSchema202012.isExpandable,getSchemaKeywords:makeGetSchemaKeywords(i.jsonSchema202012.getSchemaKeywords)}}),Re.createElement(MP.ModelsWithJSONSchemaContext,null)}));MP.ModelsWithJSONSchemaContext=null;const RP=MP,wrap_components_version_pragma_filter=(s,o)=>s=>{const i=o.specSelectors.isOAS31(),a=o.getComponent("OAS31VersionPragmaFilter");return Re.createElement(a,Mn()({isOAS31:i},s))},DP=createOnlyOAS31ComponentWrapper((({originalComponent:s,...o})=>{const{getComponent:i,schema:a,name:u}=o,_=i("MutualTLSAuth",!0);return"mutualTLS"===a.get("type")?Re.createElement(_,{schema:a,name:u}):Re.createElement(s,o)})),LP=DP,FP=createOnlyOAS31ComponentWrapper((({getSystem:s,...o})=>{const i=s().getComponent("OAS31Auths",!0);return Re.createElement(i,o)})),BP=(0,ze.Map)(),$P=Vt(((s,o)=>o.specSelectors.specJson()),isOAS31),selectors_webhooks=()=>s=>{const o=s.specSelectors.specJson().get("webhooks");return ze.Map.isMap(o)?o:BP},qP=Vt([(s,o)=>o.specSelectors.webhooks(),(s,o)=>o.specSelectors.validOperationMethods(),(s,o)=>o.specSelectors.specResolvedSubtree(["webhooks"])],((s,o)=>s.reduce(((s,i,a)=>{if(!ze.Map.isMap(i))return s;const u=i.entrySeq().filter((([s])=>o.includes(s))).map((([s,o])=>({operation:(0,ze.Map)({operation:o}),method:s,path:a,specPath:["webhooks",a,s]})));return s.concat(u)}),(0,ze.List)()).groupBy((s=>s.path)).map((s=>s.toArray())).toObject())),selectors_license=()=>s=>{const o=s.specSelectors.info().get("license");return ze.Map.isMap(o)?o:BP},selectLicenseNameField=()=>s=>s.specSelectors.license().get("name","License"),selectLicenseUrlField=()=>s=>s.specSelectors.license().get("url"),VP=Vt([(s,o)=>o.specSelectors.url(),(s,o)=>o.oas3Selectors.selectedServer(),(s,o)=>o.specSelectors.selectLicenseUrlField()],((s,o,i)=>{if(i)return safeBuildUrl(i,s,{selectedServer:o})})),selectLicenseIdentifierField=()=>s=>s.specSelectors.license().get("identifier"),selectors_contact=()=>s=>{const o=s.specSelectors.info().get("contact");return ze.Map.isMap(o)?o:BP},selectContactNameField=()=>s=>s.specSelectors.contact().get("name","the developer"),selectContactEmailField=()=>s=>s.specSelectors.contact().get("email"),selectContactUrlField=()=>s=>s.specSelectors.contact().get("url"),UP=Vt([(s,o)=>o.specSelectors.url(),(s,o)=>o.oas3Selectors.selectedServer(),(s,o)=>o.specSelectors.selectContactUrlField()],((s,o,i)=>{if(i)return safeBuildUrl(i,s,{selectedServer:o})})),selectInfoTitleField=()=>s=>s.specSelectors.info().get("title"),selectInfoSummaryField=()=>s=>s.specSelectors.info().get("summary"),selectInfoDescriptionField=()=>s=>s.specSelectors.info().get("description"),selectInfoTermsOfServiceField=()=>s=>s.specSelectors.info().get("termsOfService"),zP=Vt([(s,o)=>o.specSelectors.url(),(s,o)=>o.oas3Selectors.selectedServer(),(s,o)=>o.specSelectors.selectInfoTermsOfServiceField()],((s,o,i)=>{if(i)return safeBuildUrl(i,s,{selectedServer:o})})),selectExternalDocsDescriptionField=()=>s=>s.specSelectors.externalDocs().get("description"),selectExternalDocsUrlField=()=>s=>s.specSelectors.externalDocs().get("url"),WP=Vt([(s,o)=>o.specSelectors.url(),(s,o)=>o.oas3Selectors.selectedServer(),(s,o)=>o.specSelectors.selectExternalDocsUrlField()],((s,o,i)=>{if(i)return safeBuildUrl(i,s,{selectedServer:o})})),selectJsonSchemaDialectField=()=>s=>s.specSelectors.specJson().get("jsonSchemaDialect"),selectJsonSchemaDialectDefault=()=>"https://spec.openapis.org/oas/3.1/dialect/base",JP=Vt(((s,o)=>o.specSelectors.definitions()),((s,o)=>o.specSelectors.specResolvedSubtree(["components","schemas"])),((s,o)=>ze.Map.isMap(s)?ze.Map.isMap(o)?Object.entries(s.toJS()).reduce(((s,[i,a])=>{const u=o.get(i);return s[i]=u?.toJS()||a,s}),{}):s.toJS():{})),wrap_selectors_isOAS3=(s,o)=>(i,...a)=>o.specSelectors.isOAS31()||s(...a),HP=createOnlyOAS31SelectorWrapper((()=>(s,o)=>o.oas31Selectors.selectLicenseUrl())),KP=createOnlyOAS31SelectorWrapper((()=>(s,o)=>{const i=o.specSelectors.securityDefinitions();let a=s();return i?(i.entrySeq().forEach((([s,o])=>{const i=o?.get("type");"mutualTLS"===i&&(a=a.push(new ze.Map({[s]:o})))})),a):a})),GP=Vt([(s,o)=>o.specSelectors.url(),(s,o)=>o.oas3Selectors.selectedServer(),(s,o)=>o.specSelectors.selectLicenseUrlField(),(s,o)=>o.specSelectors.selectLicenseIdentifierField()],((s,o,i,a)=>i?safeBuildUrl(i,s,{selectedServer:o}):a?`https://spdx.org/licenses/${a}.html`:void 0)),keywords_Example=({schema:s,getSystem:o})=>{const{fn:i,getComponent:a}=o(),{hasKeyword:u}=i.jsonSchema202012.useFn(),_=a("JSONSchema202012JSONViewer");return u(s,"example")?Re.createElement(_,{name:"Example",value:s.example,className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--example"}):null},keywords_Xml=({schema:s,getSystem:o})=>{const i=s?.xml||{},{fn:a,getComponent:u,getConfigs:_}=o(),{showExtensions:w}=_(),{useComponent:x,useIsExpanded:C,usePath:j,useLevel:L}=a.jsonSchema202012,{path:B}=j("xml"),{isExpanded:$,setExpanded:V,setCollapsed:U}=C("xml"),[z,Y]=L(),Z=w?getExtensions(i):[],ee=!!(i.name||i.namespace||i.prefix||Z.length>0),ie=x("Accordion"),ae=x("ExpandDeepButton"),ce=u("OpenAPI31Extensions"),le=u("JSONSchema202012PathContext")(),pe=u("JSONSchema202012LevelContext")(),de=(0,Re.useCallback)((()=>{$?U():V()}),[$,V,U]),fe=(0,Re.useCallback)(((s,o)=>{o?V({deep:!0}):U({deep:!0})}),[V,U]);return 0===Object.keys(i).length?null:Re.createElement(le.Provider,{value:B},Re.createElement(pe.Provider,{value:Y},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--xml","data-json-schema-level":z},ee?Re.createElement(Re.Fragment,null,Re.createElement(ie,{expanded:$,onChange:de},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"XML")),Re.createElement(ae,{expanded:$,onClick:fe})):Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"XML"),!0===i.attribute&&Re.createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted"},"attribute"),!0===i.wrapped&&Re.createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted"},"wrapped"),Re.createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"object"),Re.createElement("ul",{className:Jn()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!$})},$&&Re.createElement(Re.Fragment,null,i.name&&Re.createElement("li",{className:"json-schema-2020-12-property"},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword"},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"name"),Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},i.name))),i.namespace&&Re.createElement("li",{className:"json-schema-2020-12-property"},Re.createElement("div",{className:"json-schema-2020-12-keyword"},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"namespace"),Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},i.namespace))),i.prefix&&Re.createElement("li",{className:"json-schema-2020-12-property"},Re.createElement("div",{className:"json-schema-2020-12-keyword"},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"prefix"),Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},i.prefix)))),Z.length>0&&Re.createElement(ce,{openAPISpecObj:i,openAPIExtensions:Z,getSystem:o})))))},Discriminator_DiscriminatorMapping=({discriminator:s})=>{const o=s?.mapping||{};return 0===Object.keys(o).length?null:Object.entries(o).map((([s,o])=>Re.createElement("div",{key:`${s}-${o}`,className:"json-schema-2020-12-keyword"},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},s),Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},o))))},keywords_Discriminator_Discriminator=({schema:s,getSystem:o})=>{const i=s?.discriminator||{},{fn:a,getComponent:u,getConfigs:_}=o(),{showExtensions:w}=_(),{useComponent:x,useIsExpanded:C,usePath:j,useLevel:L}=a.jsonSchema202012,B="discriminator",{path:$}=j(B),{isExpanded:V,setExpanded:U,setCollapsed:z}=C(B),[Y,Z]=L(),ee=w?getExtensions(i):[],ie=!!(i.mapping||ee.length>0),ae=x("Accordion"),ce=x("ExpandDeepButton"),le=u("OpenAPI31Extensions"),pe=u("JSONSchema202012PathContext")(),de=u("JSONSchema202012LevelContext")(),fe=(0,Re.useCallback)((()=>{V?z():U()}),[V,U,z]),ye=(0,Re.useCallback)(((s,o)=>{o?U({deep:!0}):z({deep:!0})}),[U,z]);return 0===Object.keys(i).length?null:Re.createElement(pe.Provider,{value:$},Re.createElement(de.Provider,{value:Z},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--discriminator","data-json-schema-level":Y},ie?Re.createElement(Re.Fragment,null,Re.createElement(ae,{expanded:V,onChange:fe},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"Discriminator")),Re.createElement(ce,{expanded:V,onClick:ye})):Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"Discriminator"),i.propertyName&&Re.createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted"},i.propertyName),Re.createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"object"),Re.createElement("ul",{className:Jn()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!V})},V&&Re.createElement("li",{className:"json-schema-2020-12-property"},Re.createElement(Discriminator_DiscriminatorMapping,{discriminator:i})),ee.length>0&&Re.createElement(le,{openAPISpecObj:i,openAPIExtensions:ee,getSystem:o})))))},keywords_OpenAPIExtensions=({openAPISpecObj:s,getSystem:o,openAPIExtensions:i})=>{const{fn:a}=o(),{useComponent:u}=a.jsonSchema202012,_=u("JSONViewer");return i.map((o=>Re.createElement(_,{key:o,name:o,value:s[o],className:"json-schema-2020-12-json-viewer-extension-keyword"})))},keywords_ExternalDocs=({schema:s,getSystem:o})=>{const i=s?.externalDocs||{},{fn:a,getComponent:u,getConfigs:_}=o(),{showExtensions:w}=_(),{useComponent:x,useIsExpanded:C,usePath:j,useLevel:L}=a.jsonSchema202012,B="externalDocs",{path:$}=j(B),{isExpanded:V,setExpanded:U,setCollapsed:z}=C(B),[Y,Z]=L(),ee=w?getExtensions(i):[],ie=!!(i.description||i.url||ee.length>0),ae=x("Accordion"),ce=x("ExpandDeepButton"),le=u("JSONSchema202012KeywordDescription"),pe=u("Link"),de=u("OpenAPI31Extensions"),fe=u("JSONSchema202012PathContext")(),ye=u("JSONSchema202012LevelContext")(),be=(0,Re.useCallback)((()=>{V?z():U()}),[V,U,z]),_e=(0,Re.useCallback)(((s,o)=>{o?U({deep:!0}):z({deep:!0})}),[U,z]);return 0===Object.keys(i).length?null:Re.createElement(fe.Provider,{value:$},Re.createElement(ye.Provider,{value:Z},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--externalDocs","data-json-schema-level":Y},ie?Re.createElement(Re.Fragment,null,Re.createElement(ae,{expanded:V,onChange:be},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"External documentation")),Re.createElement(ce,{expanded:V,onClick:_e})):Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"External documentation"),Re.createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"object"),Re.createElement("ul",{className:Jn()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!V})},V&&Re.createElement(Re.Fragment,null,i.description&&Re.createElement("li",{className:"json-schema-2020-12-property"},Re.createElement(le,{schema:i,getSystem:o})),i.url&&Re.createElement("li",{className:"json-schema-2020-12-property"},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword"},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"url"),Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},Re.createElement(pe,{target:"_blank",href:sanitizeUrl(i.url)},i.url))))),ee.length>0&&Re.createElement(de,{openAPISpecObj:i,openAPIExtensions:ee,getSystem:o})))))},keywords_Description=({schema:s,getSystem:o})=>{if(!s?.description)return null;const{getComponent:i}=o(),a=i("Markdown");return Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--description"},Re.createElement("div",{className:"json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary"},Re.createElement(a,{source:s.description})))},YP=createOnlyOAS31ComponentWrapper(keywords_Description),XP=createOnlyOAS31ComponentWrapper((({schema:s,getSystem:o,originalComponent:i})=>{const{getComponent:a}=o(),u=a("JSONSchema202012KeywordDiscriminator"),_=a("JSONSchema202012KeywordXml"),w=a("JSONSchema202012KeywordExample"),x=a("JSONSchema202012KeywordExternalDocs");return Re.createElement(Re.Fragment,null,Re.createElement(i,{schema:s}),Re.createElement(u,{schema:s,getSystem:o}),Re.createElement(_,{schema:s,getSystem:o}),Re.createElement(x,{schema:s,getSystem:o}),Re.createElement(w,{schema:s,getSystem:o}))})),QP=XP,keywords_Properties=({schema:s,getSystem:o})=>{const{fn:i,getComponent:a}=o(),{useComponent:u,usePath:_}=i.jsonSchema202012,{getDependentRequired:w,getProperties:x}=i.jsonSchema202012.useFn(),C=i.jsonSchema202012.useConfig(),j=Array.isArray(s?.required)?s.required:[],{path:L}=_("properties"),B=u("JSONSchema"),$=a("JSONSchema202012PathContext")(),V=x(s,C);return 0===Object.keys(V).length?null:Re.createElement($.Provider,{value:L},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--properties"},Re.createElement("ul",null,Object.entries(V).map((([o,i])=>{const a=j.includes(o),u=w(o,s);return Re.createElement("li",{key:o,className:Jn()("json-schema-2020-12-property",{"json-schema-2020-12-property--required":a})},Re.createElement(B,{name:o,schema:i,dependentRequired:u}))})))))},ZP=createOnlyOAS31ComponentWrapper(keywords_Properties);const eT=function oas31_after_load_afterLoad({fn:s,getSystem:o}){if(s.jsonSchema202012){const i=((s,o)=>{const{fn:i}=o();if("function"!=typeof s)return null;const{hasKeyword:a}=i.jsonSchema202012;return o=>s(o)||a(o,"example")||o?.xml||o?.discriminator||o?.externalDocs})(s.jsonSchema202012.isExpandable,o);Object.assign(this.fn.jsonSchema202012,{isExpandable:i,getProperties})}if("function"==typeof s.sampleFromSchema&&s.jsonSchema202012){const i=wrapOAS31Fn({sampleFromSchema:s.jsonSchema202012.sampleFromSchema,sampleFromSchemaGeneric:s.jsonSchema202012.sampleFromSchemaGeneric,createXMLExample:s.jsonSchema202012.createXMLExample,memoizedSampleFromSchema:s.jsonSchema202012.memoizedSampleFromSchema,memoizedCreateXMLExample:s.jsonSchema202012.memoizedCreateXMLExample,getJsonSampleSchema:s.jsonSchema202012.getJsonSampleSchema,getYamlSampleSchema:s.jsonSchema202012.getYamlSampleSchema,getXmlSampleSchema:s.jsonSchema202012.getXmlSampleSchema,getSampleSchema:s.jsonSchema202012.getSampleSchema,mergeJsonSchema:s.jsonSchema202012.mergeJsonSchema,getSchemaObjectTypeLabel:o=>s.jsonSchema202012.getType(immutableToJS(o)),getSchemaObjectType:o=>s.jsonSchema202012.foldType(immutableToJS(o)?.type)},o());Object.assign(this.fn,i)}const i=(s=>(o,i=null)=>{const{fn:a}=s();if(a.isFileUploadIntendedOAS30(o,i))return!0;const u=ze.Map.isMap(o);if(!u&&!as()(o))return!1;const _=u?o.get("contentMediaType"):o.contentMediaType,w=u?o.get("contentEncoding"):o.contentEncoding;return"string"==typeof _&&""!==_||"string"==typeof w&&""!==w})(o),{isFileUploadIntended:a}=wrapOAS31Fn({isFileUploadIntended:i},o());if(this.fn.isFileUploadIntended=a,this.fn.isFileUploadIntendedOAS31=i,s.jsonSchema202012){const{hasSchemaType:i}=wrapOAS31Fn({hasSchemaType:s.jsonSchema202012.hasSchemaType},o());this.fn.hasSchemaType=i}},oas31=({fn:s})=>{const o=s.createSystemSelector||fn_createSystemSelector,i=s.createOnlyOAS31Selector||fn_createOnlyOAS31Selector;return{afterLoad:eT,fn:{isOAS31,createSystemSelector:fn_createSystemSelector,createOnlyOAS31Selector:fn_createOnlyOAS31Selector},components:{Webhooks:webhooks,JsonSchemaDialect:json_schema_dialect,MutualTLSAuth:mutual_tls_auth,OAS31Info:oas31_components_info,OAS31License:oas31_components_license,OAS31Contact:oas31_components_contact,OAS31VersionPragmaFilter:version_pragma_filter,OAS31Model:CP,OAS31Models:models,OAS31Auths:AP,JSONSchema202012KeywordExample:keywords_Example,JSONSchema202012KeywordXml:keywords_Xml,JSONSchema202012KeywordDiscriminator:keywords_Discriminator_Discriminator,JSONSchema202012KeywordExternalDocs:keywords_ExternalDocs,OpenAPI31Extensions:keywords_OpenAPIExtensions},wrapComponents:{InfoContainer:PP,License:jP,Contact:IP,VersionPragmaFilter:wrap_components_version_pragma_filter,Model:NP,Models:RP,AuthItem:LP,auths:FP,JSONSchema202012KeywordDescription:YP,JSONSchema202012KeywordExamples:QP,JSONSchema202012KeywordProperties:ZP},statePlugins:{auth:{wrapSelectors:{definitionsToAuthorize:KP}},spec:{selectors:{isOAS31:o($P),license:selectors_license,selectLicenseNameField,selectLicenseUrlField,selectLicenseIdentifierField:i(selectLicenseIdentifierField),selectLicenseUrl:o(VP),contact:selectors_contact,selectContactNameField,selectContactEmailField,selectContactUrlField,selectContactUrl:o(UP),selectInfoTitleField,selectInfoSummaryField:i(selectInfoSummaryField),selectInfoDescriptionField,selectInfoTermsOfServiceField,selectInfoTermsOfServiceUrl:o(zP),selectExternalDocsDescriptionField,selectExternalDocsUrlField,selectExternalDocsUrl:o(WP),webhooks:i(selectors_webhooks),selectWebhooksOperations:i(o(qP)),selectJsonSchemaDialectField,selectJsonSchemaDialectDefault,selectSchemas:o(JP)},wrapSelectors:{isOAS3:wrap_selectors_isOAS3,selectLicenseUrl:HP}},oas31:{selectors:{selectLicenseUrl:i(o(GP))}}}}},tT=es().object,rT=es().bool,nT=(es().oneOfType([tT,rT]),(0,Re.createContext)(null));nT.displayName="JSONSchemaContext";const sT=(0,Re.createContext)(0);sT.displayName="JSONSchemaLevelContext";const oT=(0,Re.createContext)(new Set),iT=(0,Re.createContext)([]);class JSONSchemaIsExpandedState{static Collapsed="collapsed";static Expanded="expanded";static DeeplyExpanded="deeply-expanded"}const useConfig=()=>{const{config:s}=(0,Re.useContext)(nT);return s},useComponent=s=>{const{components:o}=(0,Re.useContext)(nT);return o[s]||null},useFn=(s=void 0)=>{const{fn:o}=(0,Re.useContext)(nT);return void 0!==s?o[s]:o},useJSONSchemaContextState=()=>{const[,s]=(0,Re.useState)(null),{state:o}=(0,Re.useContext)(nT);return{state:o,setState:i=>{i(o),s({})}}},useLevel=()=>{const s=(0,Re.useContext)(sT);return[s,s+1]},usePath=s=>{const o=(0,Re.useContext)(iT),{setState:i}=useJSONSchemaContextState(),a="string"==typeof s?[...o,s]:o;return{path:a,pathMutator:(s,o={deep:!1})=>{const u=a.toString(),updateFn=o=>{o.paths[u]=s,s===JSONSchemaIsExpandedState.Collapsed&&Object.keys(o.paths).forEach((s=>{s.startsWith(u)&&o.paths[s]===JSONSchemaIsExpandedState.DeeplyExpanded&&(o.paths[s]=JSONSchemaIsExpandedState.Expanded)}))},updateDeepFn=o=>{Object.keys(o.paths).forEach((i=>{i.startsWith(u)&&(o.paths[i]=s)}))};o.deep?i(updateDeepFn):i(updateFn)}}},useIsExpanded=s=>{const[o]=useLevel(),{defaultExpandedLevels:i}=useConfig(),{path:a,pathMutator:u}=usePath(s),{path:_}=usePath(),{state:w}=useJSONSchemaContextState(),x=w.paths[a.toString()],C=w.paths[_.toString()]??w.paths[_.slice(0,-1).toString()],j=x??(i-o>0?JSONSchemaIsExpandedState.Expanded:JSONSchemaIsExpandedState.Collapsed),L=j!==JSONSchemaIsExpandedState.Collapsed;(0,Re.useEffect)((()=>{u(C===JSONSchemaIsExpandedState.DeeplyExpanded?JSONSchemaIsExpandedState.DeeplyExpanded:j)}),[C]);return{isExpanded:L,setExpanded:(0,Re.useCallback)(((s={deep:!1})=>{u(s.deep?JSONSchemaIsExpandedState.DeeplyExpanded:JSONSchemaIsExpandedState.Expanded)}),[]),setCollapsed:(0,Re.useCallback)(((s={deep:!1})=>{u(JSONSchemaIsExpandedState.Collapsed,s)}),[])}},useRenderedSchemas=(s=void 0)=>{if(void 0===s)return(0,Re.useContext)(oT);const o=(0,Re.useContext)(oT);return new Set([...o,s])},aT=(0,Re.forwardRef)((({schema:s,name:o="",dependentRequired:i=[],onExpand:a=()=>{},identifier:u=""},_)=>{const w=useFn(),x=u||s?.$id||o,{path:C}=usePath(x),{isExpanded:j,setExpanded:L,setCollapsed:B}=useIsExpanded(x),[$,V]=useLevel(),U=(()=>{const[s]=useLevel();return s>0})(),z=w.isExpandable(s)||i.length>0,Y=(s=>useRenderedSchemas().has(s))(s),Z=useRenderedSchemas(s),ee=w.stringifyConstraints(s),ie=useComponent("Accordion"),ae=useComponent("Keyword$schema"),ce=useComponent("Keyword$vocabulary"),le=useComponent("Keyword$id"),pe=useComponent("Keyword$anchor"),de=useComponent("Keyword$dynamicAnchor"),fe=useComponent("Keyword$ref"),ye=useComponent("Keyword$dynamicRef"),be=useComponent("Keyword$defs"),_e=useComponent("Keyword$comment"),Se=useComponent("KeywordAllOf"),we=useComponent("KeywordAnyOf"),xe=useComponent("KeywordOneOf"),Pe=useComponent("KeywordNot"),Te=useComponent("KeywordIf"),$e=useComponent("KeywordThen"),qe=useComponent("KeywordElse"),ze=useComponent("KeywordDependentSchemas"),We=useComponent("KeywordPrefixItems"),He=useComponent("KeywordItems"),Ye=useComponent("KeywordContains"),Xe=useComponent("KeywordProperties"),Qe=useComponent("KeywordPatternProperties"),et=useComponent("KeywordAdditionalProperties"),tt=useComponent("KeywordPropertyNames"),rt=useComponent("KeywordUnevaluatedItems"),nt=useComponent("KeywordUnevaluatedProperties"),st=useComponent("KeywordType"),ot=useComponent("KeywordEnum"),it=useComponent("KeywordConst"),at=useComponent("KeywordConstraint"),ct=useComponent("KeywordDependentRequired"),lt=useComponent("KeywordContentSchema"),ut=useComponent("KeywordTitle"),pt=useComponent("KeywordDescription"),ht=useComponent("KeywordDefault"),dt=useComponent("KeywordDeprecated"),mt=useComponent("KeywordReadOnly"),gt=useComponent("KeywordWriteOnly"),yt=useComponent("KeywordExamples"),vt=useComponent("ExtensionKeywords"),bt=useComponent("ExpandDeepButton"),_t=(0,Re.useCallback)(((s,o)=>{o?L():B(),a(s,o,!1)}),[a,L,B]),St=(0,Re.useCallback)(((s,o)=>{o?L({deep:!0}):B({deep:!0}),a(s,o,!0)}),[a,L,B]);return Re.createElement(iT.Provider,{value:C},Re.createElement(sT.Provider,{value:V},Re.createElement(oT.Provider,{value:Z},Re.createElement("article",{ref:_,"data-json-schema-level":$,className:Jn()("json-schema-2020-12",{"json-schema-2020-12--embedded":U,"json-schema-2020-12--circular":Y})},Re.createElement("div",{className:"json-schema-2020-12-head"},z&&!Y?Re.createElement(Re.Fragment,null,Re.createElement(ie,{expanded:j,onChange:_t},Re.createElement(ut,{title:o,schema:s})),Re.createElement(bt,{expanded:j,onClick:St})):Re.createElement(ut,{title:o,schema:s}),Re.createElement(dt,{schema:s}),Re.createElement(mt,{schema:s}),Re.createElement(gt,{schema:s}),Re.createElement(st,{schema:s,isCircular:Y}),ee.length>0&&ee.map((s=>Re.createElement(at,{key:`${s.scope}-${s.value}`,constraint:s})))),Re.createElement("div",{className:Jn()("json-schema-2020-12-body",{"json-schema-2020-12-body--collapsed":!j})},j&&Re.createElement(Re.Fragment,null,Re.createElement(pt,{schema:s}),!Y&&z&&Re.createElement(Re.Fragment,null,Re.createElement(Xe,{schema:s}),Re.createElement(Qe,{schema:s}),Re.createElement(et,{schema:s}),Re.createElement(nt,{schema:s}),Re.createElement(tt,{schema:s}),Re.createElement(Se,{schema:s}),Re.createElement(we,{schema:s}),Re.createElement(xe,{schema:s}),Re.createElement(Pe,{schema:s}),Re.createElement(Te,{schema:s}),Re.createElement($e,{schema:s}),Re.createElement(qe,{schema:s}),Re.createElement(ze,{schema:s}),Re.createElement(We,{schema:s}),Re.createElement(He,{schema:s}),Re.createElement(rt,{schema:s}),Re.createElement(Ye,{schema:s}),Re.createElement(lt,{schema:s})),Re.createElement(ot,{schema:s}),Re.createElement(it,{schema:s}),Re.createElement(ct,{schema:s,dependentRequired:i}),Re.createElement(ht,{schema:s}),Re.createElement(yt,{schema:s}),Re.createElement(ae,{schema:s}),Re.createElement(ce,{schema:s}),Re.createElement(le,{schema:s}),Re.createElement(pe,{schema:s}),Re.createElement(de,{schema:s}),Re.createElement(fe,{schema:s}),!Y&&z&&Re.createElement(be,{schema:s}),Re.createElement(ye,{schema:s}),Re.createElement(_e,{schema:s}),Re.createElement(vt,{schema:s})))))))})),cT=aT,keywords_$schema=({schema:s})=>s?.$schema?Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$schema"},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$schema"),Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},s.$schema)):null,$vocabulary_$vocabulary=({schema:s})=>{const o="$vocabulary",{path:i}=usePath(o),{isExpanded:a,setExpanded:u,setCollapsed:_}=useIsExpanded(o),w=useComponent("Accordion"),x=(0,Re.useCallback)((()=>{a?_():u()}),[a,u,_]);return s?.$vocabulary?"object"!=typeof s.$vocabulary?null:Re.createElement(iT.Provider,{value:i},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$vocabulary"},Re.createElement(w,{expanded:a,onChange:x},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$vocabulary")),Re.createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"object"),Re.createElement("ul",null,a&&Object.entries(s.$vocabulary).map((([s,o])=>Re.createElement("li",{key:s,className:Jn()("json-schema-2020-12-$vocabulary-uri",{"json-schema-2020-12-$vocabulary-uri--disabled":!o})},Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},s))))))):null},keywords_$id=({schema:s})=>s?.$id?Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$id"},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$id"),Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},s.$id)):null,keywords_$anchor=({schema:s})=>s?.$anchor?Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$anchor"},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$anchor"),Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},s.$anchor)):null,keywords_$dynamicAnchor=({schema:s})=>s?.$dynamicAnchor?Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicAnchor"},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$dynamicAnchor"),Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},s.$dynamicAnchor)):null,keywords_$ref=({schema:s})=>s?.$ref?Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$ref"},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$ref"),Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},s.$ref)):null,keywords_$dynamicRef=({schema:s})=>s?.$dynamicRef?Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$dynamicRef"},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$dynamicRef"),Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},s.$dynamicRef)):null,keywords_$defs=({schema:s})=>{const o=s?.$defs||{},i="$defs",{path:a}=usePath(i),{isExpanded:u,setExpanded:_,setCollapsed:w}=useIsExpanded(i),[x,C]=useLevel(),j=useComponent("Accordion"),L=useComponent("ExpandDeepButton"),B=useComponent("JSONSchema"),$=(0,Re.useCallback)((()=>{u?w():_()}),[u,_,w]),V=(0,Re.useCallback)(((s,o)=>{o?_({deep:!0}):w({deep:!0})}),[_,w]);return 0===Object.keys(o).length?null:Re.createElement(iT.Provider,{value:a},Re.createElement(sT.Provider,{value:C},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$defs","data-json-schema-level":x},Re.createElement(j,{expanded:u,onChange:$},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$defs")),Re.createElement(L,{expanded:u,onClick:V}),Re.createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"object"),Re.createElement("ul",{className:Jn()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!u})},u&&Re.createElement(Re.Fragment,null,Object.entries(o).map((([s,o])=>Re.createElement("li",{key:s,className:"json-schema-2020-12-property"},Re.createElement(B,{name:s,schema:o})))))))))},keywords_$comment=({schema:s})=>s?.$comment?Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--$comment"},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--secondary"},"$comment"),Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--secondary"},s.$comment)):null,keywords_AllOf=({schema:s})=>{const o=s?.allOf||[],i=useFn(),a="allOf",{path:u}=usePath(a),{isExpanded:_,setExpanded:w,setCollapsed:x}=useIsExpanded(a),[C,j]=useLevel(),L=useComponent("Accordion"),B=useComponent("ExpandDeepButton"),$=useComponent("JSONSchema"),V=useComponent("KeywordType"),U=(0,Re.useCallback)((()=>{_?x():w()}),[_,w,x]),z=(0,Re.useCallback)(((s,o)=>{o?w({deep:!0}):x({deep:!0})}),[w,x]);return Array.isArray(o)&&0!==o.length?Re.createElement(iT.Provider,{value:u},Re.createElement(sT.Provider,{value:j},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--allOf","data-json-schema-level":C},Re.createElement(L,{expanded:_,onChange:U},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"All of")),Re.createElement(B,{expanded:_,onClick:z}),Re.createElement(V,{schema:{allOf:o}}),Re.createElement("ul",{className:Jn()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!_})},_&&Re.createElement(Re.Fragment,null,o.map(((s,o)=>Re.createElement("li",{key:`#${o}`,className:"json-schema-2020-12-property"},Re.createElement($,{name:`#${o} ${i.getTitle(s)}`,schema:s}))))))))):null},keywords_AnyOf=({schema:s})=>{const o=s?.anyOf||[],i=useFn(),a="anyOf",{path:u}=usePath(a),{isExpanded:_,setExpanded:w,setCollapsed:x}=useIsExpanded(a),[C,j]=useLevel(),L=useComponent("Accordion"),B=useComponent("ExpandDeepButton"),$=useComponent("JSONSchema"),V=useComponent("KeywordType"),U=(0,Re.useCallback)((()=>{_?x():w()}),[_,w,x]),z=(0,Re.useCallback)(((s,o)=>{o?w({deep:!0}):x({deep:!0})}),[w,x]);return Array.isArray(o)&&0!==o.length?Re.createElement(iT.Provider,{value:u},Re.createElement(sT.Provider,{value:j},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--anyOf","data-json-schema-level":C},Re.createElement(L,{expanded:_,onChange:U},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Any of")),Re.createElement(B,{expanded:_,onClick:z}),Re.createElement(V,{schema:{anyOf:o}}),Re.createElement("ul",{className:Jn()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!_})},_&&Re.createElement(Re.Fragment,null,o.map(((s,o)=>Re.createElement("li",{key:`#${o}`,className:"json-schema-2020-12-property"},Re.createElement($,{name:`#${o} ${i.getTitle(s)}`,schema:s}))))))))):null},keywords_OneOf=({schema:s})=>{const o=s?.oneOf||[],i=useFn(),a="oneOf",{path:u}=usePath(a),{isExpanded:_,setExpanded:w,setCollapsed:x}=useIsExpanded(a),[C,j]=useLevel(),L=useComponent("Accordion"),B=useComponent("ExpandDeepButton"),$=useComponent("JSONSchema"),V=useComponent("KeywordType"),U=(0,Re.useCallback)((()=>{_?x():w()}),[_,w,x]),z=(0,Re.useCallback)(((s,o)=>{o?w({deep:!0}):x({deep:!0})}),[w,x]);return Array.isArray(o)&&0!==o.length?Re.createElement(iT.Provider,{value:u},Re.createElement(sT.Provider,{value:j},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--oneOf","data-json-schema-level":C},Re.createElement(L,{expanded:_,onChange:U},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"One of")),Re.createElement(B,{expanded:_,onClick:z}),Re.createElement(V,{schema:{oneOf:o}}),Re.createElement("ul",{className:Jn()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!_})},_&&Re.createElement(Re.Fragment,null,o.map(((s,o)=>Re.createElement("li",{key:`#${o}`,className:"json-schema-2020-12-property"},Re.createElement($,{name:`#${o} ${i.getTitle(s)}`,schema:s}))))))))):null},keywords_Not=({schema:s})=>{const o=useFn(),i=useComponent("JSONSchema");if(!o.hasKeyword(s,"not"))return null;const a=Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Not");return Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--not"},Re.createElement(i,{name:a,schema:s.not,identifier:"not"}))},keywords_If=({schema:s})=>{const o=useFn(),i=useComponent("JSONSchema");if(!o.hasKeyword(s,"if"))return null;const a=Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"If");return Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--if"},Re.createElement(i,{name:a,schema:s.if,identifier:"if"}))},keywords_Then=({schema:s})=>{const o=useFn(),i=useComponent("JSONSchema");if(!o.hasKeyword(s,"then"))return null;const a=Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Then");return Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--then"},Re.createElement(i,{name:a,schema:s.then,identifier:"then"}))},keywords_Else=({schema:s})=>{const o=useFn(),i=useComponent("JSONSchema");if(!o.hasKeyword(s,"else"))return null;const a=Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Else");return Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--if"},Re.createElement(i,{name:a,schema:s.else,identifier:"else"}))},keywords_DependentSchemas=({schema:s})=>{const o=s?.dependentSchemas||[],i="dependentSchemas",{path:a}=usePath(i),{isExpanded:u,setExpanded:_,setCollapsed:w}=useIsExpanded(i),[x,C]=useLevel(),j=useComponent("Accordion"),L=useComponent("ExpandDeepButton"),B=useComponent("JSONSchema"),$=(0,Re.useCallback)((()=>{u?w():_()}),[u,_,w]),V=(0,Re.useCallback)(((s,o)=>{o?_({deep:!0}):w({deep:!0})}),[_,w]);return"object"!=typeof o||0===Object.keys(o).length?null:Re.createElement(iT.Provider,{value:a},Re.createElement(sT.Provider,{value:C},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentSchemas","data-json-schema-level":x},Re.createElement(j,{expanded:u,onChange:$},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Dependent schemas")),Re.createElement(L,{expanded:u,onClick:V}),Re.createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"object"),Re.createElement("ul",{className:Jn()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!u})},u&&Re.createElement(Re.Fragment,null,Object.entries(o).map((([s,o])=>Re.createElement("li",{key:s,className:"json-schema-2020-12-property"},Re.createElement(B,{name:s,schema:o})))))))))},keywords_PrefixItems=({schema:s})=>{const o=s?.prefixItems||[],i=useFn(),a="prefixItems",{path:u}=usePath(a),{isExpanded:_,setExpanded:w,setCollapsed:x}=useIsExpanded(a),[C,j]=useLevel(),L=useComponent("Accordion"),B=useComponent("ExpandDeepButton"),$=useComponent("JSONSchema"),V=useComponent("KeywordType"),U=(0,Re.useCallback)((()=>{_?x():w()}),[_,w,x]),z=(0,Re.useCallback)(((s,o)=>{o?w({deep:!0}):x({deep:!0})}),[w,x]);return Array.isArray(o)&&0!==o.length?Re.createElement(iT.Provider,{value:u},Re.createElement(sT.Provider,{value:j},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--prefixItems","data-json-schema-level":C},Re.createElement(L,{expanded:_,onChange:U},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Prefix items")),Re.createElement(B,{expanded:_,onClick:z}),Re.createElement(V,{schema:{prefixItems:o}}),Re.createElement("ul",{className:Jn()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!_})},_&&Re.createElement(Re.Fragment,null,o.map(((s,o)=>Re.createElement("li",{key:`#${o}`,className:"json-schema-2020-12-property"},Re.createElement($,{name:`#${o} ${i.getTitle(s)}`,schema:s}))))))))):null},keywords_Items=({schema:s})=>{const o=useFn(),i=useComponent("JSONSchema");if(!o.hasKeyword(s,"items"))return null;const a=Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Items");return Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--items"},Re.createElement(i,{name:a,schema:s.items,identifier:"items"}))},keywords_Contains=({schema:s})=>{const o=useFn(),i=useComponent("JSONSchema");if(!o.hasKeyword(s,"contains"))return null;const a=Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Contains");return Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--contains"},Re.createElement(i,{name:a,schema:s.contains,identifier:"contains"}))},keywords_Properties_Properties=({schema:s})=>{const o=useFn(),i=s?.properties||{},a=Array.isArray(s?.required)?s.required:[],u=useComponent("JSONSchema"),{path:_}=usePath("properties");return 0===Object.keys(i).length?null:Re.createElement(iT.Provider,{value:_},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--properties"},Re.createElement("ul",null,Object.entries(i).map((([i,_])=>{const w=a.includes(i),x=o.getDependentRequired(i,s);return Re.createElement("li",{key:i,className:Jn()("json-schema-2020-12-property",{"json-schema-2020-12-property--required":w})},Re.createElement(u,{name:i,schema:_,dependentRequired:x}))})))))},PatternProperties_PatternProperties=({schema:s})=>{const o=s?.patternProperties||{},i=useComponent("JSONSchema"),{path:a}=usePath("patternProperties");return 0===Object.keys(o).length?null:Re.createElement(iT.Provider,{value:a},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--patternProperties"},Re.createElement("ul",null,Object.entries(o).map((([s,o])=>Re.createElement("li",{key:s,className:"json-schema-2020-12-property"},Re.createElement(i,{name:s,schema:o})))))))},keywords_AdditionalProperties=({schema:s})=>{const o=useFn(),i=useComponent("JSONSchema");if(!o.hasKeyword(s,"additionalProperties"))return null;const a=Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Additional properties");return Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--additionalProperties"},!0===s.additionalProperties?Re.createElement(Re.Fragment,null,a,Re.createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"allowed")):!1===s.additionalProperties?Re.createElement(Re.Fragment,null,a,Re.createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},"forbidden")):Re.createElement(i,{name:a,schema:s.additionalProperties,identifier:"additionalProperties"}))},keywords_PropertyNames=({schema:s})=>{const o=useFn(),i=useComponent("JSONSchema"),a=Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Property names");return o.hasKeyword(s,"propertyNames")?Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--propertyNames"},Re.createElement(i,{name:a,schema:s.propertyNames,identifier:"propertyNames"})):null},keywords_UnevaluatedItems=({schema:s})=>{const o=useFn(),i=useComponent("JSONSchema");if(!o.hasKeyword(s,"unevaluatedItems"))return null;const a=Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Unevaluated items");return Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedItems"},Re.createElement(i,{name:a,schema:s.unevaluatedItems,identifier:"unevaluatedItems"}))},keywords_UnevaluatedProperties=({schema:s})=>{const o=useFn(),i=useComponent("JSONSchema");if(!o.hasKeyword(s,"unevaluatedProperties"))return null;const a=Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Unevaluated properties");return Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--unevaluatedProperties"},Re.createElement(i,{name:a,schema:s.unevaluatedProperties,identifier:"unevaluatedProperties"}))},keywords_Type=({schema:s,isCircular:o=!1})=>{const i=useFn().getType(s),a=o?" [circular]":"";return Re.createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},`${i}${a}`)},Enum_Enum=({schema:s})=>{const o=useComponent("JSONViewer");return Array.isArray(s?.enum)?Re.createElement(o,{name:"Enum",value:s.enum,className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--enum"}):null},Const_Const=({schema:s})=>{const o=useFn(),i=useComponent("JSONViewer");return o.hasKeyword(s,"const")?Re.createElement(i,{name:"Const",value:s.const,className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--const"}):null},fn_upperFirst=s=>"string"==typeof s?`${s.charAt(0).toUpperCase()}${s.slice(1)}`:s,makeGetTitle=s=>(o,{lookup:i="extended"}={})=>{const a=s();if(null!=o?.title)return a.upperFirst(String(o.title));if("extended"===i){if(null!=o?.$anchor)return a.upperFirst(String(o.$anchor));if(null!=o?.$id)return String(o.$id)}return""},makeGetType=s=>{const getType=(o,i=new WeakSet)=>{const a=s();if(null==o)return"any";if(a.isBooleanJSONSchema(o))return o?"any":"never";if("object"!=typeof o)return"any";if(i.has(o))return"any";i.add(o);const{type:u,prefixItems:_,items:w}=o,getArrayType=()=>{if(Array.isArray(_)){const s=_.map((s=>getType(s,i))),o=w?getType(w,i):"any";return`array<[${s.join(", ")}], ${o}>`}if(w){return`array<${getType(w,i)}>`}return"array"};if(o.not&&"any"===getType(o.not))return"never";const handleCombiningKeywords=(s,a)=>{if(Array.isArray(o[s])){return`(${o[s].map((s=>getType(s,i))).join(a)})`}return null},x=[Array.isArray(u)?u.map((s=>"array"===s?getArrayType():s)).join(" | "):"array"===u?getArrayType():["null","boolean","object","array","number","integer","string"].includes(u)?u:(()=>{if(Object.hasOwn(o,"prefixItems")||Object.hasOwn(o,"items")||Object.hasOwn(o,"contains"))return getArrayType();if(Object.hasOwn(o,"properties")||Object.hasOwn(o,"additionalProperties")||Object.hasOwn(o,"patternProperties"))return"object";if(["int32","int64"].includes(o.format))return"integer";if(["float","double"].includes(o.format))return"number";if(Object.hasOwn(o,"minimum")||Object.hasOwn(o,"maximum")||Object.hasOwn(o,"exclusiveMinimum")||Object.hasOwn(o,"exclusiveMaximum")||Object.hasOwn(o,"multipleOf"))return"number | integer";if(Object.hasOwn(o,"pattern")||Object.hasOwn(o,"format")||Object.hasOwn(o,"minLength")||Object.hasOwn(o,"maxLength")||Object.hasOwn(o,"contentEncoding")||Object.hasOwn(o,"contentMediaType"))return"string";if(void 0!==o.const){if(null===o.const)return"null";if("boolean"==typeof o.const)return"boolean";if("number"==typeof o.const)return Number.isInteger(o.const)?"integer":"number";if("string"==typeof o.const)return"string";if(Array.isArray(o.const))return"array";if("object"==typeof o.const)return"object"}return null})(),handleCombiningKeywords("oneOf"," | "),handleCombiningKeywords("anyOf"," | "),handleCombiningKeywords("allOf"," & ")].filter(Boolean).join(" | ");return i.delete(o),x||"any"};return getType},isBooleanJSONSchema=s=>"boolean"==typeof s,hasKeyword=(s,o)=>null!==s&&"object"==typeof s&&Object.hasOwn(s,o),fn_makeIsExpandable=s=>o=>{const i=s();return o?.$schema||o?.$vocabulary||o?.$id||o?.$anchor||o?.$dynamicAnchor||o?.$ref||o?.$dynamicRef||o?.$defs||o?.$comment||o?.allOf||o?.anyOf||o?.oneOf||i.hasKeyword(o,"not")||i.hasKeyword(o,"if")||i.hasKeyword(o,"then")||i.hasKeyword(o,"else")||o?.dependentSchemas||o?.prefixItems||i.hasKeyword(o,"items")||i.hasKeyword(o,"contains")||o?.properties||o?.patternProperties||i.hasKeyword(o,"additionalProperties")||i.hasKeyword(o,"propertyNames")||i.hasKeyword(o,"unevaluatedItems")||i.hasKeyword(o,"unevaluatedProperties")||o?.description||o?.enum||i.hasKeyword(o,"const")||i.hasKeyword(o,"contentSchema")||i.hasKeyword(o,"default")||o?.examples||i.getExtensionKeywords(o).length>0},fn_stringify=s=>null===s||["number","bigint","boolean"].includes(typeof s)?String(s):Array.isArray(s)?`[${s.map(fn_stringify).join(", ")}]`:JSON.stringify(s),stringifyConstraintRange=(s,o,i)=>{const a="number"==typeof o,u="number"==typeof i;return a&&u?o===i?`${o} ${s}`:`[${o}, ${i}] ${s}`:a?`≥ ${o} ${s}`:u?`≤ ${i} ${s}`:null},stringifyConstraints=s=>{const o=[],i=(s=>{if("number"!=typeof s?.multipleOf)return null;if(s.multipleOf<=0)return null;if(1===s.multipleOf)return null;const{multipleOf:o}=s;if(Number.isInteger(o))return`multiple of ${o}`;const i=10**o.toString().split(".")[1].length;return`multiple of ${o*i}/${i}`})(s);null!==i&&o.push({scope:"number",value:i});const a=(s=>{const o=s?.minimum,i=s?.maximum,a=s?.exclusiveMinimum,u=s?.exclusiveMaximum,_="number"==typeof o,w="number"==typeof i,x="number"==typeof a,C="number"==typeof u,j=x&&(!_||ou);if((_||x)&&(w||C))return`${j?"(":"["}${j?a:o}, ${L?u:i}${L?")":"]"}`;if(_||x)return`${j?">":"≥"} ${j?a:o}`;if(w||C)return`${L?"<":"≤"} ${L?u:i}`;return null})(s);null!==a&&o.push({scope:"number",value:a}),s?.format&&o.push({scope:"string",value:s.format});const u=stringifyConstraintRange("characters",s?.minLength,s?.maxLength);null!==u&&o.push({scope:"string",value:u}),s?.pattern&&o.push({scope:"string",value:`matches ${s?.pattern}`}),s?.contentMediaType&&o.push({scope:"string",value:`media type: ${s.contentMediaType}`}),s?.contentEncoding&&o.push({scope:"string",value:`encoding: ${s.contentEncoding}`});const _=stringifyConstraintRange(s?.uniqueItems?"unique items":"items",s?.minItems,s?.maxItems);null!==_&&o.push({scope:"array",value:_}),s?.uniqueItems&&!_&&o.push({scope:"array",value:"unique"});const w=stringifyConstraintRange("contained items",s?.minContains,s?.maxContains);null!==w&&o.push({scope:"array",value:w});const x=stringifyConstraintRange("properties",s?.minProperties,s?.maxProperties);return null!==x&&o.push({scope:"object",value:x}),o},getDependentRequired=(s,o)=>o?.dependentRequired?Array.from(Object.entries(o.dependentRequired).reduce(((o,[i,a])=>Array.isArray(a)&&a.includes(s)?(o.add(i),o):o),new Set)):[],fn_isPlainObject=s=>"object"==typeof s&&null!==s&&!Array.isArray(s)&&(null===Object.getPrototypeOf(s)||Object.getPrototypeOf(s)===Object.prototype),getSchemaKeywords=()=>["$schema","$vocabulary","$id","$anchor","$dynamicAnchor","$dynamicRef","$ref","$defs","$comment","allOf","anyOf","oneOf","not","if","then","else","dependentSchemas","prefixItems","items","contains","properties","patternProperties","additionalProperties","propertyNames","unevaluatedItems","unevaluatedProperties","type","enum","const","multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","maxItems","minItems","uniqueItems","maxContains","minContains","maxProperties","minProperties","required","dependentRequired","title","description","default","deprecated","readOnly","writeOnly","examples","format","contentEncoding","contentMediaType","contentSchema"],makeGetExtensionKeywords=s=>o=>{const i=s().getSchemaKeywords();return fn_isPlainObject(o)?((s,o)=>{const i=new Set(o);return s.filter((s=>!i.has(s)))})(Object.keys(o),i):[]},fn_hasSchemaType=(s,o)=>{const i=ze.Map.isMap(s);if(!i&&!fn_isPlainObject(s))return!1;const hasType=s=>o===s||Array.isArray(o)&&o.includes(s),a=i?s.get("type"):s.type;return ze.List.isList(a)||Array.isArray(a)?a.some((s=>hasType(s))):hasType(a)},Constraint=({constraint:s})=>fn_isPlainObject(s)&&"string"==typeof s.scope&&"string"==typeof s.value?Re.createElement("span",{className:`json-schema-2020-12__constraint json-schema-2020-12__constraint--${s.scope}`},s.value):null,lT=Re.memo(Constraint),DependentRequired_DependentRequired=({dependentRequired:s})=>Array.isArray(s)&&0!==s.length?Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--dependentRequired"},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Required when defined"),Re.createElement("ul",null,s.map((s=>Re.createElement("li",{key:s},Re.createElement("span",{className:"json-schema-2020-12-keyword__value json-schema-2020-12-keyword__value--warning"},s)))))):null,keywords_ContentSchema=({schema:s})=>{const o=useFn(),i=useComponent("JSONSchema");if(!o.hasKeyword(s,"contentSchema"))return null;const a=Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--primary"},"Content schema");return Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--contentSchema"},Re.createElement(i,{name:a,schema:s.contentSchema,identifier:"contentSchema"}))},Title_Title=({title:s="",schema:o})=>{const i=useFn(),a=s||i.getTitle(o);return a?Re.createElement("div",{className:"json-schema-2020-12__title"},a):null},keywords_Description_Description=({schema:s})=>s?.description?Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--description"},Re.createElement("div",{className:"json-schema-2020-12-core-keyword__value json-schema-2020-12-core-keyword__value--secondary"},s.description)):null,Default_Default=({schema:s})=>{const o=useFn(),i=useComponent("JSONViewer");return o.hasKeyword(s,"default")?Re.createElement(i,{name:"Default",value:s.default,className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--default"}):null},keywords_Deprecated=({schema:s})=>!0!==s?.deprecated?null:Re.createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--warning"},"deprecated"),keywords_ReadOnly=({schema:s})=>!0!==s?.readOnly?null:Re.createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted"},"read-only"),keywords_WriteOnly=({schema:s})=>!0!==s?.writeOnly?null:Re.createElement("span",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--muted"},"write-only"),keywords_Examples_Examples=({schema:s})=>{const o=s?.examples||[],i=useComponent("JSONViewer");return Array.isArray(o)&&0!==o.length?Re.createElement(i,{name:"Examples",value:s.examples,className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--examples"}):null},ExtensionKeywords_ExtensionKeywords=({schema:s})=>{const o=useFn(),i="ExtensionKeywords",{path:a}=usePath(i),{isExpanded:u,setExpanded:_,setCollapsed:w}=useIsExpanded(i),[x,C]=useLevel(),j=useComponent("Accordion"),L=useComponent("ExpandDeepButton"),B=useComponent("JSONViewer"),{showExtensionKeywords:$}=useConfig(),V=o.getExtensionKeywords(s),U=(0,Re.useCallback)((()=>{u?w():_()}),[u,_,w]),z=(0,Re.useCallback)(((s,o)=>{o?_({deep:!0}):w({deep:!0})}),[_,w]);return $&&0!==V.length?Re.createElement(iT.Provider,{value:a},Re.createElement(sT.Provider,{value:C},Re.createElement("div",{className:"json-schema-2020-12-keyword json-schema-2020-12-keyword--extension-keywords","data-json-schema-level":x},Re.createElement(j,{expanded:u,onChange:U},Re.createElement("span",{className:"json-schema-2020-12-keyword__name json-schema-2020-12-keyword__name--extension"},"Extension Keywords")),Re.createElement(L,{expanded:u,onClick:z}),Re.createElement("ul",{className:Jn()("json-schema-2020-12-keyword__children",{"json-schema-2020-12-keyword__children--collapsed":!u})},u&&Re.createElement(Re.Fragment,null,V.map((o=>Re.createElement(B,{key:o,name:o,value:s[o],className:"json-schema-2020-12-json-viewer-extension-keyword"})))))))):null},JSONViewer=({name:s,value:o,className:i})=>{const a=useFn(),{path:u}=usePath(s),{isExpanded:_,setExpanded:w,setCollapsed:x}=useIsExpanded(s),[C,j]=useLevel(),L=useComponent("Accordion"),B=useComponent("ExpandDeepButton"),$="string"==typeof o||"number"==typeof o||"bigint"==typeof o||"boolean"==typeof o||"symbol"==typeof o||null==o,V=(s=>fn_isPlainObject(s)&&0===Object.keys(s).length)(o)||(s=>Array.isArray(s)&&0===s.length)(o),U=(0,Re.useCallback)((()=>{_?x():w()}),[_,w,x]),z=(0,Re.useCallback)(((s,o)=>{o?w({deep:!0}):x({deep:!0})}),[w,x]);return $?Re.createElement("div",{className:Jn()("json-schema-2020-12-json-viewer",i)},Re.createElement("span",{className:"json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary"},s),Re.createElement("span",{className:"json-schema-2020-12-json-viewer__value json-schema-2020-12-json-viewer__value--secondary"},a.stringify(o))):V?Re.createElement("div",{className:Jn()("json-schema-2020-12-json-viewer",i)},Re.createElement("span",{className:"json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary"},s),Re.createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},Array.isArray(o)?"empty array":"empty object")):Re.createElement(iT.Provider,{value:u},Re.createElement(sT.Provider,{value:j},Re.createElement("div",{className:Jn()("json-schema-2020-12-json-viewer",i),"data-json-schema-level":C},Re.createElement(L,{expanded:_,onChange:U},Re.createElement("span",{className:"json-schema-2020-12-json-viewer__name json-schema-2020-12-json-viewer__name--secondary"},s)),Re.createElement(B,{expanded:_,onClick:z}),Re.createElement("strong",{className:"json-schema-2020-12__attribute json-schema-2020-12__attribute--primary"},Array.isArray(o)?"array":"object"),Re.createElement("ul",{className:Jn()("json-schema-2020-12-json-viewer__children",{"json-schema-2020-12-json-viewer__children--collapsed":!_})},_&&Re.createElement(Re.Fragment,null,Array.isArray(o)?o.map(((s,o)=>Re.createElement("li",{key:`#${o}`,className:"json-schema-2020-12-property"},Re.createElement(JSONViewer,{name:`#${o}`,value:s,className:i})))):Object.entries(o).map((([s,o])=>Re.createElement("li",{key:s,className:"json-schema-2020-12-property"},Re.createElement(JSONViewer,{name:s,value:o,className:i})))))))))},uT=JSONViewer,Accordion_Accordion=({expanded:s=!1,children:o,onChange:i})=>{const a=useComponent("ChevronRightIcon"),u=(0,Re.useCallback)((o=>{i(o,!s)}),[s,i]);return Re.createElement("button",{type:"button",className:"json-schema-2020-12-accordion",onClick:u},Re.createElement("div",{className:"json-schema-2020-12-accordion__children"},o),Re.createElement("span",{className:Jn()("json-schema-2020-12-accordion__icon",{"json-schema-2020-12-accordion__icon--expanded":s,"json-schema-2020-12-accordion__icon--collapsed":!s})},Re.createElement(a,null)))},ExpandDeepButton_ExpandDeepButton=({expanded:s,onClick:o})=>{const i=(0,Re.useCallback)((i=>{o(i,!s)}),[s,o]);return Re.createElement("button",{type:"button",className:"json-schema-2020-12-expand-deep-button",onClick:i},s?"Collapse all":"Expand all")},icons_ChevronRight=()=>Re.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},Re.createElement("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"})),withJSONSchemaContext=(s,o={})=>{const i={components:{JSONSchema:cT,Keyword$schema:keywords_$schema,Keyword$vocabulary:$vocabulary_$vocabulary,Keyword$id:keywords_$id,Keyword$anchor:keywords_$anchor,Keyword$dynamicAnchor:keywords_$dynamicAnchor,Keyword$ref:keywords_$ref,Keyword$dynamicRef:keywords_$dynamicRef,Keyword$defs:keywords_$defs,Keyword$comment:keywords_$comment,KeywordAllOf:keywords_AllOf,KeywordAnyOf:keywords_AnyOf,KeywordOneOf:keywords_OneOf,KeywordNot:keywords_Not,KeywordIf:keywords_If,KeywordThen:keywords_Then,KeywordElse:keywords_Else,KeywordDependentSchemas:keywords_DependentSchemas,KeywordPrefixItems:keywords_PrefixItems,KeywordItems:keywords_Items,KeywordContains:keywords_Contains,KeywordProperties:keywords_Properties_Properties,KeywordPatternProperties:PatternProperties_PatternProperties,KeywordAdditionalProperties:keywords_AdditionalProperties,KeywordPropertyNames:keywords_PropertyNames,KeywordUnevaluatedItems:keywords_UnevaluatedItems,KeywordUnevaluatedProperties:keywords_UnevaluatedProperties,KeywordType:keywords_Type,KeywordEnum:Enum_Enum,KeywordConst:Const_Const,KeywordConstraint:lT,KeywordDependentRequired:DependentRequired_DependentRequired,KeywordContentSchema:keywords_ContentSchema,KeywordTitle:Title_Title,KeywordDescription:keywords_Description_Description,KeywordDefault:Default_Default,KeywordDeprecated:keywords_Deprecated,KeywordReadOnly:keywords_ReadOnly,KeywordWriteOnly:keywords_WriteOnly,KeywordExamples:keywords_Examples_Examples,ExtensionKeywords:ExtensionKeywords_ExtensionKeywords,JSONViewer:uT,Accordion:Accordion_Accordion,ExpandDeepButton:ExpandDeepButton_ExpandDeepButton,ChevronRightIcon:icons_ChevronRight,...o.components},config:{default$schema:"https://json-schema.org/draft/2020-12/schema",defaultExpandedLevels:0,showExtensionKeywords:!0,...o.config},fn:{upperFirst:fn_upperFirst,getTitle:makeGetTitle(useFn),getType:makeGetType(useFn),isBooleanJSONSchema,hasKeyword,isExpandable:fn_makeIsExpandable(useFn),stringify:fn_stringify,stringifyConstraints,getDependentRequired,getSchemaKeywords,getExtensionKeywords:makeGetExtensionKeywords(useFn),...o.fn},state:{paths:{}}},HOC=o=>Re.createElement(nT.Provider,{value:i},Re.createElement(s,o));return HOC.contexts={JSONSchemaContext:nT},HOC.displayName=s.displayName,HOC},makeWithJSONSchemaSystemContext=({getSystem:s})=>(o,i={})=>{const{getComponent:a,getConfigs:u}=s(),_=u(),w=a("JSONSchema202012"),x=a("JSONSchema202012Keyword$schema"),C=a("JSONSchema202012Keyword$vocabulary"),j=a("JSONSchema202012Keyword$id"),L=a("JSONSchema202012Keyword$anchor"),B=a("JSONSchema202012Keyword$dynamicAnchor"),$=a("JSONSchema202012Keyword$ref"),V=a("JSONSchema202012Keyword$dynamicRef"),U=a("JSONSchema202012Keyword$defs"),z=a("JSONSchema202012Keyword$comment"),Y=a("JSONSchema202012KeywordAllOf"),Z=a("JSONSchema202012KeywordAnyOf"),ee=a("JSONSchema202012KeywordOneOf"),ie=a("JSONSchema202012KeywordNot"),ae=a("JSONSchema202012KeywordIf"),ce=a("JSONSchema202012KeywordThen"),le=a("JSONSchema202012KeywordElse"),pe=a("JSONSchema202012KeywordDependentSchemas"),de=a("JSONSchema202012KeywordPrefixItems"),fe=a("JSONSchema202012KeywordItems"),ye=a("JSONSchema202012KeywordContains"),be=a("JSONSchema202012KeywordProperties"),_e=a("JSONSchema202012KeywordPatternProperties"),Se=a("JSONSchema202012KeywordAdditionalProperties"),we=a("JSONSchema202012KeywordPropertyNames"),xe=a("JSONSchema202012KeywordUnevaluatedItems"),Pe=a("JSONSchema202012KeywordUnevaluatedProperties"),Te=a("JSONSchema202012KeywordType"),Re=a("JSONSchema202012KeywordEnum"),$e=a("JSONSchema202012KeywordConst"),qe=a("JSONSchema202012KeywordConstraint"),ze=a("JSONSchema202012KeywordDependentRequired"),We=a("JSONSchema202012KeywordContentSchema"),He=a("JSONSchema202012KeywordTitle"),Ye=a("JSONSchema202012KeywordDescription"),Xe=a("JSONSchema202012KeywordDefault"),Qe=a("JSONSchema202012KeywordDeprecated"),et=a("JSONSchema202012KeywordReadOnly"),tt=a("JSONSchema202012KeywordWriteOnly"),rt=a("JSONSchema202012KeywordExamples"),nt=a("JSONSchema202012ExtensionKeywords"),st=a("JSONSchema202012JSONViewer"),ot=a("JSONSchema202012Accordion"),it=a("JSONSchema202012ExpandDeepButton"),at=a("JSONSchema202012ChevronRightIcon");return withJSONSchemaContext(o,{components:{JSONSchema:w,Keyword$schema:x,Keyword$vocabulary:C,Keyword$id:j,Keyword$anchor:L,Keyword$dynamicAnchor:B,Keyword$ref:$,Keyword$dynamicRef:V,Keyword$defs:U,Keyword$comment:z,KeywordAllOf:Y,KeywordAnyOf:Z,KeywordOneOf:ee,KeywordNot:ie,KeywordIf:ae,KeywordThen:ce,KeywordElse:le,KeywordDependentSchemas:pe,KeywordPrefixItems:de,KeywordItems:fe,KeywordContains:ye,KeywordProperties:be,KeywordPatternProperties:_e,KeywordAdditionalProperties:Se,KeywordPropertyNames:we,KeywordUnevaluatedItems:xe,KeywordUnevaluatedProperties:Pe,KeywordType:Te,KeywordEnum:Re,KeywordConst:$e,KeywordConstraint:qe,KeywordDependentRequired:ze,KeywordContentSchema:We,KeywordTitle:He,KeywordDescription:Ye,KeywordDefault:Xe,KeywordDeprecated:Qe,KeywordReadOnly:et,KeywordWriteOnly:tt,KeywordExamples:rt,ExtensionKeywords:nt,JSONViewer:st,Accordion:ot,ExpandDeepButton:it,ChevronRightIcon:at,...i.components},config:{showExtensionKeywords:_.showExtensions,...i.config},fn:{...i.fn}})},json_schema_2020_12=({getSystem:s,fn:o})=>{const fnAccessor=()=>({upperFirst:o.upperFirst,...o.jsonSchema202012});return{components:{JSONSchema202012:cT,JSONSchema202012Keyword$schema:keywords_$schema,JSONSchema202012Keyword$vocabulary:$vocabulary_$vocabulary,JSONSchema202012Keyword$id:keywords_$id,JSONSchema202012Keyword$anchor:keywords_$anchor,JSONSchema202012Keyword$dynamicAnchor:keywords_$dynamicAnchor,JSONSchema202012Keyword$ref:keywords_$ref,JSONSchema202012Keyword$dynamicRef:keywords_$dynamicRef,JSONSchema202012Keyword$defs:keywords_$defs,JSONSchema202012Keyword$comment:keywords_$comment,JSONSchema202012KeywordAllOf:keywords_AllOf,JSONSchema202012KeywordAnyOf:keywords_AnyOf,JSONSchema202012KeywordOneOf:keywords_OneOf,JSONSchema202012KeywordNot:keywords_Not,JSONSchema202012KeywordIf:keywords_If,JSONSchema202012KeywordThen:keywords_Then,JSONSchema202012KeywordElse:keywords_Else,JSONSchema202012KeywordDependentSchemas:keywords_DependentSchemas,JSONSchema202012KeywordPrefixItems:keywords_PrefixItems,JSONSchema202012KeywordItems:keywords_Items,JSONSchema202012KeywordContains:keywords_Contains,JSONSchema202012KeywordProperties:keywords_Properties_Properties,JSONSchema202012KeywordPatternProperties:PatternProperties_PatternProperties,JSONSchema202012KeywordAdditionalProperties:keywords_AdditionalProperties,JSONSchema202012KeywordPropertyNames:keywords_PropertyNames,JSONSchema202012KeywordUnevaluatedItems:keywords_UnevaluatedItems,JSONSchema202012KeywordUnevaluatedProperties:keywords_UnevaluatedProperties,JSONSchema202012KeywordType:keywords_Type,JSONSchema202012KeywordEnum:Enum_Enum,JSONSchema202012KeywordConst:Const_Const,JSONSchema202012KeywordConstraint:lT,JSONSchema202012KeywordDependentRequired:DependentRequired_DependentRequired,JSONSchema202012KeywordContentSchema:keywords_ContentSchema,JSONSchema202012KeywordTitle:Title_Title,JSONSchema202012KeywordDescription:keywords_Description_Description,JSONSchema202012KeywordDefault:Default_Default,JSONSchema202012KeywordDeprecated:keywords_Deprecated,JSONSchema202012KeywordReadOnly:keywords_ReadOnly,JSONSchema202012KeywordWriteOnly:keywords_WriteOnly,JSONSchema202012KeywordExamples:keywords_Examples_Examples,JSONSchema202012ExtensionKeywords:ExtensionKeywords_ExtensionKeywords,JSONSchema202012JSONViewer:uT,JSONSchema202012Accordion:Accordion_Accordion,JSONSchema202012ExpandDeepButton:ExpandDeepButton_ExpandDeepButton,JSONSchema202012ChevronRightIcon:icons_ChevronRight,withJSONSchema202012Context:withJSONSchemaContext,withJSONSchema202012SystemContext:makeWithJSONSchemaSystemContext(s()),JSONSchema202012PathContext:()=>iT,JSONSchema202012LevelContext:()=>sT},fn:{upperFirst:fn_upperFirst,jsonSchema202012:{getTitle:makeGetTitle(fnAccessor),getType:makeGetType(fnAccessor),isExpandable:fn_makeIsExpandable(fnAccessor),isBooleanJSONSchema,hasKeyword,useFn,useConfig,useComponent,useIsExpanded,usePath,useLevel,getSchemaKeywords,getExtensionKeywords:makeGetExtensionKeywords(fnAccessor),hasSchemaType:fn_hasSchemaType}}}},array=(s,{sample:o=[]}={})=>((s,o={})=>{const{minItems:i,maxItems:a,uniqueItems:u}=o,{contains:_,minContains:w,maxContains:x}=o;let C=[...s];if(null!=_&&"object"==typeof _){if(Number.isInteger(w)&&w>1){const s=C.at(0);for(let o=1;o0&&(C=s.slice(0,a)),Number.isInteger(i)&&i>0)for(let s=0;C.length{throw new Error("Not implemented")},bytes=s=>xt()(s),random_pick=s=>s.at(0),predicates_isBooleanJSONSchema=s=>"boolean"==typeof s,isJSONSchemaObject=s=>as()(s),isJSONSchema=s=>predicates_isBooleanJSONSchema(s)||isJSONSchemaObject(s);const pT=class Registry{data={};register(s,o){this.data[s]=o}unregister(s){void 0===s?this.data={}:delete this.data[s]}get(s){return this.data[s]}},int32=()=>0,int64=()=>0,generators_float=()=>.1,generators_double=()=>.1,email=()=>"user@example.com",idn_email=()=>"실례@example.com",hostname=()=>"example.com",idn_hostname=()=>"실례.com",ipv4=()=>"198.51.100.42",ipv6=()=>"2001:0db8:5b96:0000:0000:426f:8e17:642a",uri=()=>"https://example.com/",uri_reference=()=>"path/index.html",iri=()=>"https://실례.com/",iri_reference=()=>"path/실례.html",uuid=()=>"3fa85f64-5717-4562-b3fc-2c963f66afa6",uri_template=()=>"https://example.com/dictionary/{term:1}/{term}",generators_json_pointer=()=>"/a/b/c",relative_json_pointer=()=>"1/0",date_time=()=>(new Date).toISOString(),date=()=>(new Date).toISOString().substring(0,10),time=()=>(new Date).toISOString().substring(11),duration=()=>"P3D",generators_password=()=>"********",regex=()=>"^[a-z]+$";const hT=new class FormatRegistry extends pT{#s={int32,int64,float:generators_float,double:generators_double,email,"idn-email":idn_email,hostname,"idn-hostname":idn_hostname,ipv4,ipv6,uri,"uri-reference":uri_reference,iri,"iri-reference":iri_reference,uuid,"uri-template":uri_template,"json-pointer":generators_json_pointer,"relative-json-pointer":relative_json_pointer,"date-time":date_time,date,time,duration,password:generators_password,regex};data={...this.#s};get defaults(){return{...this.#s}}},formatAPI=(s,o)=>"function"==typeof o?hT.register(s,o):null===o?hT.unregister(s):hT.get(s);formatAPI.getDefaults=()=>hT.defaults;const dT=formatAPI;var fT=__webpack_require__(48287).Buffer;const _7bit=s=>fT.from(s).toString("ascii");var mT=__webpack_require__(48287).Buffer;const _8bit=s=>mT.from(s).toString("utf8");var gT=__webpack_require__(48287).Buffer;const encoders_binary=s=>gT.from(s).toString("binary"),quoted_printable=s=>{let o="";for(let i=0;i=33&&a<=60||a>=62&&a<=126||9===a||32===a)o+=s.charAt(i);else if(13===a||10===a)o+="\r\n";else if(a>126){const a=unescape(encodeURIComponent(s.charAt(i)));for(let s=0;syT.from(s).toString("hex");var vT=__webpack_require__(48287).Buffer;const base32=s=>{const o=vT.from(s).toString("utf8"),i="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";let a=0,u="",_=0,w=0;for(let s=0;s=5;)u+=i.charAt(_>>>w-5&31),w-=5;w>0&&(u+=i.charAt(_<<5-w&31),a=(8-8*o.length%5)%5);for(let s=0;sbT.from(s).toString("base64");var _T=__webpack_require__(48287).Buffer;const base64url=s=>_T.from(s).toString("base64url");const ST=new class EncoderRegistry extends pT{#s={"7bit":_7bit,"8bit":_8bit,binary:encoders_binary,"quoted-printable":quoted_printable,base16,base32,base64,base64url};data={...this.#s};get defaults(){return{...this.#s}}},encoderAPI=(s,o)=>"function"==typeof o?ST.register(s,o):null===o?ST.unregister(s):ST.get(s);encoderAPI.getDefaults=()=>ST.defaults;const ET=encoderAPI,wT={"text/plain":()=>"string","text/css":()=>".selector { border: 1px solid red }","text/csv":()=>"value1,value2,value3","text/html":()=>"

    content

    ","text/calendar":()=>"BEGIN:VCALENDAR","text/javascript":()=>"console.dir('Hello world!');","text/xml":()=>'John Doe',"text/*":()=>"string"},xT={"image/*":()=>bytes(25).toString("binary")},kT={"audio/*":()=>bytes(25).toString("binary")},OT={"video/*":()=>bytes(25).toString("binary")},CT={"application/json":()=>'{"key":"value"}',"application/ld+json":()=>'{"name": "John Doe"}',"application/x-httpd-php":()=>"Hello World!

    '; ?>","application/rtf":()=>String.raw`{\rtf1\adeflang1025\ansi\ansicpg1252\uc1`,"application/x-sh":()=>'echo "Hello World!"',"application/xhtml+xml":()=>"

    content

    ","application/*":()=>bytes(25).toString("binary")};const AT=new class MediaTypeRegistry extends pT{#s={...wT,...xT,...kT,...OT,...CT};data={...this.#s};get defaults(){return{...this.#s}}},mediaTypeAPI=(s,o)=>{if("function"==typeof o)return AT.register(s,o);if(null===o)return AT.unregister(s);const i=s.split(";").at(0),a=`${i.split("/").at(0)}/*`;return AT.get(s)||AT.get(i)||AT.get(a)};mediaTypeAPI.getDefaults=()=>AT.defaults;const jT=mediaTypeAPI,applyStringConstraints=(s,o={})=>{const{maxLength:i,minLength:a}=o;let u=s;if(Number.isInteger(i)&&i>0&&(u=u.slice(0,i)),Number.isInteger(a)&&a>0){let s=0;for(;u.length{const{contentEncoding:i,contentMediaType:a,contentSchema:u}=s,{pattern:_,format:w}=s,x=ET(i)||yO();let C;return C="string"==typeof _?applyStringConstraints((s=>{try{const o=/(?<=(?{const{format:o}=s,i=dT(o);return"function"==typeof i?i(s):"string"})(s):isJSONSchema(u)&&"string"==typeof a&&void 0!==o?Array.isArray(o)||"object"==typeof o?JSON.stringify(o):applyStringConstraints(String(o),s):"string"==typeof a?(s=>{const{contentMediaType:o}=s,i=jT(o);return"function"==typeof i?i(s):"string"})(s):applyStringConstraints("string",s),x(C)},applyNumberConstraints=(s,o={})=>{const{minimum:i,maximum:a,exclusiveMinimum:u,exclusiveMaximum:_}=o,{multipleOf:w}=o,x=Number.isInteger(s)?1:Number.EPSILON;let C="number"==typeof i?i:null,j="number"==typeof a?a:null,L=s;if("number"==typeof u&&(C=null!==C?Math.max(C,u+x):u+x),"number"==typeof _&&(j=null!==j?Math.min(j,_-x):_-x),L=C>j&&s||C||j||L,"number"==typeof w&&w>0){const s=L%w;L=0===s?L:L+w-s}return L},types_number=s=>{const{format:o}=s;let i;return i="string"==typeof o?(s=>{const{format:o}=s,i=dT(o);return"function"==typeof i?i(s):0})(s):0,applyNumberConstraints(i,s)},types_integer=s=>{const{format:o}=s;let i;return i="string"==typeof o?(s=>{const{format:o}=s,i=dT(o);if("function"==typeof i)return i(s);switch(o){case"int32":return int32();case"int64":return int64()}return 0})(s):0,applyNumberConstraints(i,s)},types_boolean=s=>"boolean"!=typeof s.default||s.default,IT=new Proxy({array,object,string:types_string,number:types_number,integer:types_integer,boolean:types_boolean,null:()=>null},{get:(s,o)=>"string"==typeof o&&Object.hasOwn(s,o)?s[o]:()=>`Unknown Type: ${o}`}),PT=["array","object","number","integer","string","boolean","null"],hasExample=s=>{if(!isJSONSchemaObject(s))return!1;const{examples:o,example:i,default:a}=s;return!!(Array.isArray(o)&&o.length>=1)||(void 0!==a||void 0!==i)},extractExample=s=>{if(!isJSONSchemaObject(s))return null;const{examples:o,example:i,default:a}=s;return Array.isArray(o)&&o.length>=1?o.at(0):void 0!==a?a:void 0!==i?i:void 0},TT={array:["items","prefixItems","contains","maxContains","minContains","maxItems","minItems","uniqueItems","unevaluatedItems"],object:["properties","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","required","dependentSchemas","dependentRequired","unevaluatedProperties"],string:["pattern","format","minLength","maxLength","contentEncoding","contentMediaType","contentSchema"],integer:["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf"]};TT.number=TT.integer;const NT="string",inferTypeFromValue=s=>void 0===s?null:null===s?"null":Array.isArray(s)?"array":Number.isInteger(s)?"integer":typeof s,foldType=s=>{if(Array.isArray(s)&&s.length>=1){if(s.includes("array"))return"array";if(s.includes("object"))return"object";{const o=s.filter((s=>"null"!==s)),i=random_pick(o.length>0?o:s);if(PT.includes(i))return i}}return PT.includes(s)?s:null},inferType=(s,o=new WeakSet)=>{if(!isJSONSchemaObject(s))return NT;if(o.has(s))return NT;o.add(s);let{type:i,const:a}=s;if(i=foldType(i),"string"!=typeof i){const o=Object.keys(TT);e:for(let a=0;a{if(Array.isArray(s[i])){const a=s[i].map((s=>inferType(s,o)));return foldType(a)}return null},a=combineTypes("allOf"),u=combineTypes("anyOf"),_=combineTypes("oneOf"),w=s.not?inferType(s.not,o):null;(a||u||_||w)&&(i=foldType([a,u,_,w].filter(Boolean)))}if("string"!=typeof i&&hasExample(s)){const o=extractExample(s),a=inferTypeFromValue(o);i="string"==typeof a?a:i}return o.delete(s),i||NT},type_getType=s=>inferType(s),typeCast=s=>predicates_isBooleanJSONSchema(s)?(s=>!1===s?{not:{}}:{})(s):isJSONSchemaObject(s)?s:{},merge_merge=(s,o,i={})=>{if(predicates_isBooleanJSONSchema(s)&&!0===s)return!0;if(predicates_isBooleanJSONSchema(s)&&!1===s)return!1;if(predicates_isBooleanJSONSchema(o)&&!0===o)return!0;if(predicates_isBooleanJSONSchema(o)&&!1===o)return!1;if(!isJSONSchema(s))return o;if(!isJSONSchema(o))return s;const a={...o,...s};if(o.type&&s.type&&Array.isArray(o.type)&&"string"==typeof o.type){const i=normalizeArray(o.type).concat(s.type);a.type=Array.from(new Set(i))}if(Array.isArray(o.required)&&Array.isArray(s.required)&&(a.required=[...new Set([...s.required,...o.required])]),o.properties&&s.properties){const u=new Set([...Object.keys(o.properties),...Object.keys(s.properties)]);a.properties={};for(const _ of u){const u=o.properties[_]||{},w=s.properties[_]||{};u.readOnly&&!i.includeReadOnly||u.writeOnly&&!i.includeWriteOnly?a.required=(a.required||[]).filter((s=>s!==_)):a.properties[_]=merge_merge(w,u,i)}}return isJSONSchema(o.items)&&isJSONSchema(s.items)&&(a.items=merge_merge(s.items,o.items,i)),isJSONSchema(o.contains)&&isJSONSchema(s.contains)&&(a.contains=merge_merge(s.contains,o.contains,i)),isJSONSchema(o.contentSchema)&&isJSONSchema(s.contentSchema)&&(a.contentSchema=merge_merge(s.contentSchema,o.contentSchema,i)),a},MT=merge_merge,main_sampleFromSchemaGeneric=(s,o={},i=void 0,a=!1)=>{if(null==s&&void 0===i)return;"function"==typeof s?.toJS&&(s=s.toJS()),s=typeCast(s);let u=void 0!==i||hasExample(s);const _=!u&&Array.isArray(s.oneOf)&&s.oneOf.length>0,w=!u&&Array.isArray(s.anyOf)&&s.anyOf.length>0;if(!u&&(_||w)){const i=typeCast(random_pick(_?s.oneOf:s.anyOf));!(s=MT(s,i,o)).xml&&i.xml&&(s.xml=i.xml),hasExample(s)&&hasExample(i)&&(u=!0)}const x={};let{xml:C,properties:j,additionalProperties:L,items:B,contains:$}=s||{},V=type_getType(s),{includeReadOnly:U,includeWriteOnly:z}=o;C=C||{};let Y,{name:Z,prefix:ee,namespace:ie}=C,ae={};if(Object.hasOwn(s,"type")||(s.type=V),a&&(Z=Z||"notagname",Y=(ee?`${ee}:`:"")+Z,ie)){x[ee?`xmlns:${ee}`:"xmlns"]=ie}a&&(ae[Y]=[]);const ce=objectify(j);let le,pe=0;const hasExceededMaxProperties=()=>Number.isInteger(s.maxProperties)&&s.maxProperties>0&&pe>=s.maxProperties,canAddProperty=o=>!(Number.isInteger(s.maxProperties)&&s.maxProperties>0)||!hasExceededMaxProperties()&&(!(o=>!Array.isArray(s.required)||0===s.required.length||!s.required.includes(o))(o)||s.maxProperties-pe-(()=>{if(!Array.isArray(s.required)||0===s.required.length)return 0;let o=0;return a?s.required.forEach((s=>o+=void 0===ae[s]?0:1)):s.required.forEach((s=>{o+=void 0===ae[Y]?.find((o=>void 0!==o[s]))?0:1})),s.required.length-o})()>0);if(le=a?(i,u=void 0)=>{if(s&&ce[i]){if(ce[i].xml=ce[i].xml||{},ce[i].xml.attribute){const s=Array.isArray(ce[i].enum)?random_pick(ce[i].enum):void 0;if(hasExample(ce[i]))x[ce[i].xml.name||i]=extractExample(ce[i]);else if(void 0!==s)x[ce[i].xml.name||i]=s;else{const s=typeCast(ce[i]),a=type_getType(s),_=ce[i].xml.name||i;if("array"===a){const s=main_sampleFromSchemaGeneric(ce[i],o,u,!1);x[_]=s.map((s=>as()(s)?"UnknownTypeObject":Array.isArray(s)?"UnknownTypeArray":s)).join(" ")}else x[_]="object"===a?"UnknownTypeObject":IT[a](s)}return}ce[i].xml.name=ce[i].xml.name||i}else ce[i]||!1===L||(ce[i]={xml:{name:i}});let _=main_sampleFromSchemaGeneric(ce[i],o,u,a);canAddProperty(i)&&(pe++,Array.isArray(_)?ae[Y]=ae[Y].concat(_):ae[Y].push(_))}:(i,u)=>{if(canAddProperty(i)){if(as()(s.discriminator?.mapping)&&s.discriminator.propertyName===i&&"string"==typeof s.$$ref){for(const o in s.discriminator.mapping)if(-1!==s.$$ref.search(s.discriminator.mapping[o])){ae[i]=o;break}}else ae[i]=main_sampleFromSchemaGeneric(ce[i],o,u,a);pe++}},u){let u;if(u=void 0!==i?i:extractExample(s),!a){if("number"==typeof u&&"string"===V)return`${u}`;if("string"!=typeof u||"string"===V)return u;try{return JSON.parse(u)}catch{return u}}if("array"===V){if(!Array.isArray(u)){if("string"==typeof u)return u;u=[u]}let i=[];return isJSONSchemaObject(B)&&(B.xml=B.xml||C||{},B.xml.name=B.xml.name||C.name,i=u.map((s=>main_sampleFromSchemaGeneric(B,o,s,a)))),isJSONSchemaObject($)&&($.xml=$.xml||C||{},$.xml.name=$.xml.name||C.name,i=[main_sampleFromSchemaGeneric($,o,void 0,a),...i]),i=IT.array(s,{sample:i}),C.wrapped?(ae[Y]=i,ds()(x)||ae[Y].push({_attr:x})):ae=i,ae}if("object"===V){if("string"==typeof u)return u;for(const s in u)Object.hasOwn(u,s)&&(ce[s]?.readOnly&&!U||ce[s]?.writeOnly&&!z||(ce[s]?.xml?.attribute?x[ce[s].xml.name||s]=u[s]:le(s,u[s])));return ds()(x)||ae[Y].push({_attr:x}),ae}return ae[Y]=ds()(x)?u:[{_attr:x},u],ae}if("array"===V){let i=[];if(isJSONSchemaObject($))if(a&&($.xml=$.xml||s.xml||{},$.xml.name=$.xml.name||C.name),Array.isArray($.anyOf)){const{anyOf:s,...u}=B;i.push(...$.anyOf.map((s=>main_sampleFromSchemaGeneric(MT(s,u,o),o,void 0,a))))}else if(Array.isArray($.oneOf)){const{oneOf:s,...u}=B;i.push(...$.oneOf.map((s=>main_sampleFromSchemaGeneric(MT(s,u,o),o,void 0,a))))}else{if(!(!a||a&&C.wrapped))return main_sampleFromSchemaGeneric($,o,void 0,a);i.push(main_sampleFromSchemaGeneric($,o,void 0,a))}if(isJSONSchemaObject(B))if(a&&(B.xml=B.xml||s.xml||{},B.xml.name=B.xml.name||C.name),Array.isArray(B.anyOf)){const{anyOf:s,...u}=B;i.push(...B.anyOf.map((s=>main_sampleFromSchemaGeneric(MT(s,u,o),o,void 0,a))))}else if(Array.isArray(B.oneOf)){const{oneOf:s,...u}=B;i.push(...B.oneOf.map((s=>main_sampleFromSchemaGeneric(MT(s,u,o),o,void 0,a))))}else{if(!(!a||a&&C.wrapped))return main_sampleFromSchemaGeneric(B,o,void 0,a);i.push(main_sampleFromSchemaGeneric(B,o,void 0,a))}return i=IT.array(s,{sample:i}),a&&C.wrapped?(ae[Y]=i,ds()(x)||ae[Y].push({_attr:x}),ae):i}if("object"===V){for(let s in ce)Object.hasOwn(ce,s)&&(ce[s]?.deprecated||ce[s]?.readOnly&&!U||ce[s]?.writeOnly&&!z||le(s));if(a&&x&&ae[Y].push({_attr:x}),hasExceededMaxProperties())return ae;if(predicates_isBooleanJSONSchema(L)&&L)a?ae[Y].push({additionalProp:"Anything can be here"}):ae.additionalProp1={},pe++;else if(isJSONSchemaObject(L)){const i=L,u=main_sampleFromSchemaGeneric(i,o,void 0,a);if(a&&"string"==typeof i?.xml?.name&&"notagname"!==i?.xml?.name)ae[Y].push(u);else{const o=Number.isInteger(s.minProperties)&&s.minProperties>0&&pe{const a=main_sampleFromSchemaGeneric(s,o,i,!0);if(a)return"string"==typeof a?a:ls()(a,{declaration:!0,indent:"\t"})},main_sampleFromSchema=(s,o,i)=>main_sampleFromSchemaGeneric(s,o,i,!1),main_resolver=(s,o,i)=>[s,JSON.stringify(o),JSON.stringify(i)],RT=utils_memoizeN(main_createXMLExample,main_resolver),DT=utils_memoizeN(main_sampleFromSchema,main_resolver);const LT=new class OptionRegistry extends pT{#s={};data={...this.#s};get defaults(){return{...this.#s}}},api_optionAPI=(s,o)=>(void 0!==o&<.register(s,o),LT.get(s)),FT=[{when:/json/,shouldStringifyTypes:["string"]}],BT=["object"],fn_get_json_sample_schema=s=>(o,i,a,u)=>{const{fn:_}=s(),w=_.jsonSchema202012.memoizedSampleFromSchema(o,i,u),x=typeof w,C=FT.reduce(((s,o)=>o.when.test(a)?[...s,...o.shouldStringifyTypes]:s),BT);return gt()(C,(s=>s===x))?JSON.stringify(w,null,2):w},fn_get_yaml_sample_schema=s=>(o,i,a,u)=>{const{fn:_}=s(),w=_.jsonSchema202012.getJsonSampleSchema(o,i,a,u);let x;try{x=fn.dump(fn.load(w),{lineWidth:-1},{schema:rn}),"\n"===x[x.length-1]&&(x=x.slice(0,x.length-1))}catch(s){return console.error(s),"error: could not generate yaml example"}return x.replace(/\t/g," ")},fn_get_xml_sample_schema=s=>(o,i,a)=>{const{fn:u}=s();if(o&&!o.xml&&(o.xml={}),o&&!o.xml.name){if(!o.$$ref&&(o.type||o.items||o.properties||o.additionalProperties))return'\n\x3c!-- XML example cannot be generated; root element name is undefined --\x3e';if(o.$$ref){let s=o.$$ref.match(/\S*\/(\S+)$/);o.xml.name=s[1]}}return u.jsonSchema202012.memoizedCreateXMLExample(o,i,a)},fn_get_sample_schema=s=>(o,i="",a={},u=void 0)=>{const{fn:_}=s();return"function"==typeof o?.toJS&&(o=o.toJS()),"function"==typeof u?.toJS&&(u=u.toJS()),/xml/.test(i)?_.jsonSchema202012.getXmlSampleSchema(o,a,u):/(yaml|yml)/.test(i)?_.jsonSchema202012.getYamlSampleSchema(o,a,i,u):_.jsonSchema202012.getJsonSampleSchema(o,a,i,u)},json_schema_2020_12_samples=({getSystem:s})=>{const o=fn_get_json_sample_schema(s),i=fn_get_yaml_sample_schema(s),a=fn_get_xml_sample_schema(s),u=fn_get_sample_schema(s);return{fn:{jsonSchema202012:{sampleFromSchema:main_sampleFromSchema,sampleFromSchemaGeneric:main_sampleFromSchemaGeneric,sampleOptionAPI:api_optionAPI,sampleEncoderAPI:ET,sampleFormatAPI:dT,sampleMediaTypeAPI:jT,createXMLExample:main_createXMLExample,memoizedSampleFromSchema:DT,memoizedCreateXMLExample:RT,getJsonSampleSchema:o,getYamlSampleSchema:i,getXmlSampleSchema:a,getSampleSchema:u,mergeJsonSchema:MT,foldType}}}};function PresetApis(){return[base,oas3,json_schema_2020_12,json_schema_2020_12_samples,oas31]}const inline_plugin=s=>()=>({fn:s.fn,components:s.components}),factorization_system=s=>{const o=Ye()({layout:{layout:s.layout,filter:s.filter},spec:{spec:"",url:s.url},requestSnippets:s.requestSnippets},s.initialState);if(s.initialState)for(const[i,a]of Object.entries(s.initialState))void 0===a&&delete o[i];return{system:{configs:s.configs},plugins:s.presets,state:o}},sources_query=()=>s=>{const o=s.queryConfigEnabled?(()=>{const s=new URLSearchParams(lt.location.search);return Object.fromEntries(s)})():{};return Object.entries(o).reduce(((s,[o,i])=>("config"===o?s.configUrl=i:"urls.primaryName"===o?s[o]=i:s=co()(s,o,i),s)),{})},sources_url=({url:s,system:o})=>async i=>{if(!s)return{};if("function"!=typeof o.configsActions?.getConfigByUrl)return{};const a=(()=>{const s={};return s.promise=new Promise(((o,i)=>{s.resolve=o,s.reject=i})),s})();return o.configsActions.getConfigByUrl({url:s,loadRemoteConfig:!0,requestInterceptor:i.requestInterceptor,responseInterceptor:i.responseInterceptor},(s=>{a.resolve(s)})),a.promise},runtime=()=>()=>{const s={};return globalThis.location&&(s.oauth2RedirectUrl=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname.substring(0,globalThis.location.pathname.lastIndexOf("/"))}/oauth2-redirect.html`),s},$T=Object.freeze({dom_id:null,domNode:null,spec:{},url:"",urls:null,configUrl:null,layout:"BaseLayout",docExpansion:"list",maxDisplayedTags:-1,filter:!1,validatorUrl:"https://validator.swagger.io/validator",oauth2RedirectUrl:void 0,persistAuthorization:!1,configs:{},displayOperationId:!1,displayRequestDuration:!1,deepLinking:!1,tryItOutEnabled:!1,requestInterceptor:s=>(s.curlOptions=[],s),responseInterceptor:s=>s,showMutatedRequest:!0,defaultModelRendering:"example",defaultModelExpandDepth:1,defaultModelsExpandDepth:1,showExtensions:!1,showCommonExtensions:!1,withCredentials:!1,requestSnippetsEnabled:!1,requestSnippets:{generators:{curl_bash:{title:"cURL (bash)",syntax:"bash"},curl_powershell:{title:"cURL (PowerShell)",syntax:"powershell"},curl_cmd:{title:"cURL (CMD)",syntax:"bash"}},defaultExpanded:!0,languages:null},supportedSubmitMethods:["get","put","post","delete","options","head","patch","trace"],queryConfigEnabled:!1,presets:[PresetApis],plugins:[],initialState:{},fn:{},components:{},syntaxHighlight:{activated:!0,theme:"agate"},operationsSorter:null,tagsSorter:null,onComplete:null,modelPropertyMacro:null,parameterMacro:null,fileUploadMediaTypes:["application/octet-stream","image/","audio/","video/"],uncaughtExceptionHandler:null});var qT=__webpack_require__(61448),VT=__webpack_require__.n(qT),UT=__webpack_require__(77731),zT=__webpack_require__.n(UT);const type_casters_array=(s,o=[])=>Array.isArray(s)?s:o,type_casters_boolean=(s,o=!1)=>!0===s||"true"===s||1===s||"1"===s||!1!==s&&"false"!==s&&0!==s&&"0"!==s&&o,dom_node=s=>null===s||"null"===s?null:s,type_casters_filter=s=>{const o=String(s);return type_casters_boolean(s,o)},type_casters_function=(s,o)=>"function"==typeof s?s:o,nullable_array=s=>Array.isArray(s)?s:null,nullable_function=s=>"function"==typeof s?s:null,nullable_string=s=>null===s||"null"===s?null:String(s),type_casters_number=(s,o=-1)=>{const i=parseInt(s,10);return Number.isNaN(i)?o:i},type_casters_object=(s,o={})=>as()(s)?s:o,sorter=s=>"function"==typeof s||"string"==typeof s?s:null,type_casters_string=s=>String(s),syntax_highlight=(s,o)=>as()(s)?s:!1===s||"false"===s||0===s||"0"===s?{activated:!1}:o,undefined_string=s=>void 0===s||"undefined"===s?void 0:String(s),WT={components:{typeCaster:type_casters_object},configs:{typeCaster:type_casters_object},configUrl:{typeCaster:nullable_string},deepLinking:{typeCaster:type_casters_boolean,defaultValue:$T.deepLinking},defaultModelExpandDepth:{typeCaster:type_casters_number,defaultValue:$T.defaultModelExpandDepth},defaultModelRendering:{typeCaster:type_casters_string},defaultModelsExpandDepth:{typeCaster:type_casters_number,defaultValue:$T.defaultModelsExpandDepth},displayOperationId:{typeCaster:type_casters_boolean,defaultValue:$T.displayOperationId},displayRequestDuration:{typeCaster:type_casters_boolean,defaultValue:$T.displayRequestDuration},docExpansion:{typeCaster:type_casters_string},dom_id:{typeCaster:nullable_string},domNode:{typeCaster:dom_node},fileUploadMediaTypes:{typeCaster:type_casters_array,defaultValue:$T.fileUploadMediaTypes},filter:{typeCaster:type_casters_filter},fn:{typeCaster:type_casters_object},initialState:{typeCaster:type_casters_object},layout:{typeCaster:type_casters_string},maxDisplayedTags:{typeCaster:type_casters_number,defaultValue:$T.maxDisplayedTags},modelPropertyMacro:{typeCaster:nullable_function},oauth2RedirectUrl:{typeCaster:undefined_string},onComplete:{typeCaster:nullable_function},operationsSorter:{typeCaster:sorter},paramaterMacro:{typeCaster:nullable_function},persistAuthorization:{typeCaster:type_casters_boolean,defaultValue:$T.persistAuthorization},plugins:{typeCaster:type_casters_array,defaultValue:$T.plugins},presets:{typeCaster:type_casters_array,defaultValue:$T.presets},requestInterceptor:{typeCaster:type_casters_function,defaultValue:$T.requestInterceptor},requestSnippets:{typeCaster:type_casters_object,defaultValue:$T.requestSnippets},requestSnippetsEnabled:{typeCaster:type_casters_boolean,defaultValue:$T.requestSnippetsEnabled},responseInterceptor:{typeCaster:type_casters_function,defaultValue:$T.responseInterceptor},showCommonExtensions:{typeCaster:type_casters_boolean,defaultValue:$T.showCommonExtensions},showExtensions:{typeCaster:type_casters_boolean,defaultValue:$T.showExtensions},showMutatedRequest:{typeCaster:type_casters_boolean,defaultValue:$T.showMutatedRequest},spec:{typeCaster:type_casters_object,defaultValue:$T.spec},supportedSubmitMethods:{typeCaster:type_casters_array,defaultValue:$T.supportedSubmitMethods},syntaxHighlight:{typeCaster:syntax_highlight,defaultValue:$T.syntaxHighlight},"syntaxHighlight.activated":{typeCaster:type_casters_boolean,defaultValue:$T.syntaxHighlight.activated},"syntaxHighlight.theme":{typeCaster:type_casters_string},tagsSorter:{typeCaster:sorter},tryItOutEnabled:{typeCaster:type_casters_boolean,defaultValue:$T.tryItOutEnabled},url:{typeCaster:type_casters_string},urls:{typeCaster:nullable_array},"urls.primaryName":{typeCaster:type_casters_string},validatorUrl:{typeCaster:nullable_string},withCredentials:{typeCaster:type_casters_boolean,defaultValue:$T.withCredentials},uncaughtExceptionHandler:{typeCaster:nullable_function}},type_cast=s=>Object.entries(WT).reduce(((s,[o,{typeCaster:i,defaultValue:a}])=>{if(VT()(s,o)){const u=i(An()(s,o),a);s=zT()(o,u,s)}return s}),{...s}),config_merge=(s,...o)=>{let i=Symbol.for("domNode"),a=Symbol.for("primaryName");const u=[];for(const s of o){const o={...s};Object.hasOwn(o,"domNode")&&(i=o.domNode,delete o.domNode),Object.hasOwn(o,"urls.primaryName")?(a=o["urls.primaryName"],delete o["urls.primaryName"]):Array.isArray(o.urls)&&Object.hasOwn(o.urls,"primaryName")&&(a=o.urls.primaryName,delete o.urls.primaryName),u.push(o)}const _=Ye()(s,...u);return i!==Symbol.for("domNode")&&(_.domNode=i),a!==Symbol.for("primaryName")&&Array.isArray(_.urls)&&(_.urls.primaryName=a),type_cast(_)};function SwaggerUI(s){const o=sources_query()(s),i=runtime()(),a=SwaggerUI.config.merge({},SwaggerUI.config.defaults,i,s,o),u=factorization_system(a),_=inline_plugin(a),w=new Store(u);w.register([a.plugins,_]);const x=w.getSystem(),persistConfigs=s=>{w.setConfigs(s),x.configsActions.loaded()},updateSpec=s=>{!o.url&&"object"==typeof s.spec&&Object.keys(s.spec).length>0?(x.specActions.updateUrl(""),x.specActions.updateLoadingStatus("success"),x.specActions.updateSpec(JSON.stringify(s.spec))):"function"==typeof x.specActions.download&&s.url&&!s.urls&&(x.specActions.updateUrl(s.url),x.specActions.download(s.url))},render=s=>{if(s.domNode)x.render(s.domNode,"App");else if(s.dom_id){const o=document.querySelector(s.dom_id);x.render(o,"App")}else null===s.dom_id||null===s.domNode||console.error("Skipped rendering: no `dom_id` or `domNode` was specified")};return a.configUrl?((async()=>{const{configUrl:s}=a,i=await sources_url({url:s,system:x})(a),u=SwaggerUI.config.merge({},a,i,o);persistConfigs(u),null!==i&&updateSpec(u),render(u)})(),x):(persistConfigs(a),updateSpec(a),render(a),x)}SwaggerUI.System=Store,SwaggerUI.config={defaults:$T,merge:config_merge,typeCast:type_cast,typeCastMappings:WT},SwaggerUI.presets={base,apis:PresetApis},SwaggerUI.plugins={Auth:auth,Configs:configsPlugin,DeepLining:deep_linking,Err:err,Filter:filter,Icons:icons,JSONSchema5:json_schema_5,JSONSchema5Samples:json_schema_5_samples,JSONSchema202012:json_schema_2020_12,JSONSchema202012Samples:json_schema_2020_12_samples,Layout:plugins_layout,Logs:logs,OpenAPI30:oas3,OpenAPI31:oas3,OnComplete:on_complete,RequestSnippets:plugins_request_snippets,Spec:plugins_spec,SwaggerClient:swagger_client,Util:util,View:view,ViewLegacy:view_legacy,DownloadUrl:downloadUrlPlugin,SyntaxHighlighting:syntax_highlighting,Versions:versions,SafeRender:safe_render};const JT=SwaggerUI})(),i=i.default})())); \ No newline at end of file diff --git a/swagger/swagger-ui-standalone-preset.js b/swagger/swagger-ui-standalone-preset.js deleted file mode 100644 index 5a6358834a..0000000000 --- a/swagger/swagger-ui-standalone-preset.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see swagger-ui-standalone-preset.js.LICENSE.txt */ -!function webpackUniversalModuleDefinition(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.SwaggerUIStandalonePreset=e():t.SwaggerUIStandalonePreset=e()}(this,(()=>(()=>{var t={2:(t,e,r)=>{var n=r(2199),i=r(4664),o=r(5950);t.exports=function getAllKeys(t){return n(t,o,i)}},79:(t,e,r)=>{var n=r(3702),i=r(80),o=r(4739),a=r(8655),s=r(1175);function ListCache(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e{var n=r(6025),i=Array.prototype.splice;t.exports=function listCacheDelete(t){var e=this.__data__,r=n(e,t);return!(r<0)&&(r==e.length-1?e.pop():i.call(e,r,1),--this.size,!0)}},104:(t,e,r)=>{var n=r(3661);function memoize(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var memoized=function(){var r=arguments,n=e?e.apply(this,r):r[0],i=memoized.cache;if(i.has(n))return i.get(n);var o=t.apply(this,r);return memoized.cache=i.set(n,o)||i,o};return memoized.cache=new(memoize.Cache||n),memoized}memoize.Cache=n,t.exports=memoize},251:(t,e)=>{e.read=function(t,e,r,n,i){var o,a,s=8*i-n-1,u=(1<>1,f=-7,l=r?i-1:0,h=r?-1:1,p=t[e+l];for(l+=h,o=p&(1<<-f)-1,p>>=-f,f+=s;f>0;o=256*o+t[e+l],l+=h,f-=8);for(a=o&(1<<-f)-1,o>>=-f,f+=n;f>0;a=256*a+t[e+l],l+=h,f-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,n),o-=c}return(p?-1:1)*a*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var a,s,u,c=8*o-i-1,f=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,d=n?1:-1,_=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=f):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+l>=1?h/u:h*Math.pow(2,1-l))*u>=2&&(a++,u/=2),a+l>=f?(s=0,a=f):a+l>=1?(s=(e*u-1)*Math.pow(2,i),a+=l):(s=e*Math.pow(2,l-1)*Math.pow(2,i),a=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(a=a<0;t[r+p]=255&a,p+=d,a/=256,c-=8);t[r+p-d]|=128*_}},270:(t,e,r)=>{var n=r(7068),i=r(346);t.exports=function baseIsEqual(t,e,r,o,a){return t===e||(null==t||null==e||!i(t)&&!i(e)?t!=t&&e!=e:n(t,e,r,o,baseIsEqual,a))}},289:(t,e,r)=>{var n=r(2651);t.exports=function mapCacheGet(t){return n(this,t).get(t)}},294:t=>{t.exports=function isLength(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},317:t=>{t.exports=function mapToArray(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}},346:t=>{t.exports=function isObjectLike(t){return null!=t&&"object"==typeof t}},361:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function isIndex(t,r){var n=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&e.test(t))&&t>-1&&t%1==0&&t{"use strict";t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},392:t=>{t.exports=function getValue(t,e){return null==t?void 0:t[e]}},462:(t,e,r)=>{"use strict";var n=r(975);t.exports=n},470:(t,e,r)=>{"use strict";var n=r(6028),i=r(5594);t.exports=function(t){var e=n(t,"string");return i(e)?e:e+""}},575:(t,e,r)=>{"use strict";var n=r(3121);t.exports=function(t){return n(t.length)}},581:(t,e,r)=>{"use strict";var n=r(3930),i=r(2250),o=r(6285),a=TypeError;t.exports=function(t,e){var r,s;if("string"===e&&i(r=t.toString)&&!o(s=n(r,t)))return s;if(i(r=t.valueOf)&&!o(s=n(r,t)))return s;if("string"!==e&&i(r=t.toString)&&!o(s=n(r,t)))return s;throw new a("Can't convert object to primitive value")}},583:(t,e,r)=>{var n=r(7237),i=r(7255),o=r(8586),a=r(7797);t.exports=function property(t){return o(t)?n(a(t)):i(t)}},631:(t,e,r)=>{var n=r(8077),i=r(9326);t.exports=function hasIn(t,e){return null!=t&&i(t,e,n)}},641:(t,e,r)=>{var n=r(6649),i=r(5950);t.exports=function baseForOwn(t,e){return t&&n(t,e,i)}},659:(t,e,r)=>{var n=r(1873),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=n?n.toStringTag:void 0;t.exports=function getRawTag(t){var e=o.call(t,s),r=t[s];try{t[s]=void 0;var n=!0}catch(t){}var i=a.call(t);return n&&(e?t[s]=r:delete t[s]),i}},689:(t,e,r)=>{var n=r(2),i=Object.prototype.hasOwnProperty;t.exports=function equalObjects(t,e,r,o,a,s){var u=1&r,c=n(t),f=c.length;if(f!=n(e).length&&!u)return!1;for(var l=f;l--;){var h=c[l];if(!(u?h in e:i.call(e,h)))return!1}var p=s.get(t),d=s.get(e);if(p&&d)return p==e&&d==t;var _=!0;s.set(t,e),s.set(e,t);for(var y=u;++l{var n=r(8096),i=r(2428),o=r(6449),a=r(3656),s=r(361),u=r(7167),c=Object.prototype.hasOwnProperty;t.exports=function arrayLikeKeys(t,e){var r=o(t),f=!r&&i(t),l=!r&&!f&&a(t),h=!r&&!f&&!l&&u(t),p=r||f||l||h,d=p?n(t.length,String):[],_=d.length;for(var y in t)!e&&!c.call(t,y)||p&&("length"==y||l&&("offset"==y||"parent"==y)||h&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||s(y,_))||d.push(y);return d}},756:(t,e,r)=>{var n=r(3805);t.exports=function isStrictComparable(t){return t==t&&!n(t)}},776:(t,e,r)=>{var n=r(756),i=r(5950);t.exports=function getMatchData(t){for(var e=i(t),r=e.length;r--;){var o=e[r],a=t[o];e[r]=[o,a,n(a)]}return e}},798:(t,e,r)=>{"use strict";var n,i,o=r(5951),a=r(6794),s=o.process,u=o.Deno,c=s&&s.versions||u&&u.version,f=c&&c.v8;f&&(i=(n=f.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!i&&a&&(!(n=a.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=a.match(/Chrome\/(\d+)/))&&(i=+n[1]),t.exports=i},828:(t,e,r)=>{var n=r(4647),i=r(3222),o=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,a=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");t.exports=function deburr(t){return(t=i(t))&&t.replace(o,n).replace(a,"")}},882:t=>{t.exports=function arrayReduce(t,e,r,n){var i=-1,o=null==t?0:t.length;for(n&&o&&(r=t[++i]);++i{var n=r(641),i=r(8329)(n);t.exports=i},916:(t,e,r)=>{var n=r(909);t.exports=function baseSome(t,e){var r;return n(t,(function(t,n,i){return!(r=e(t,n,i))})),!!r}},938:t=>{t.exports=function stackDelete(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}},945:(t,e,r)=>{var n=r(79),i=r(8223),o=r(3661);t.exports=function stackSet(t,e){var r=this.__data__;if(r instanceof n){var a=r.__data__;if(!i||a.length<199)return a.push([t,e]),this.size=++r.size,this;r=this.__data__=new o(a)}return r.set(t,e),this.size=r.size,this}},953:(t,e,r)=>{"use strict";t.exports=r(3375)},975:(t,e,r)=>{"use strict";var n=r(9748);t.exports=n},1042:(t,e,r)=>{var n=r(6110)(Object,"create");t.exports=n},1074:t=>{t.exports=function asciiToArray(t){return t.split("")}},1091:(t,e,r)=>{"use strict";var n=r(5951),i=r(6024),o=r(2361),a=r(2250),s=r(3846).f,u=r(7463),c=r(2046),f=r(8311),l=r(1626),h=r(9724);r(6128);var wrapConstructor=function(t){var Wrapper=function(e,r,n){if(this instanceof Wrapper){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,r)}return new t(e,r,n)}return i(t,this,arguments)};return Wrapper.prototype=t.prototype,Wrapper};t.exports=function(t,e){var r,i,p,d,_,y,m,g,v,b=t.target,w=t.global,I=t.stat,x=t.proto,B=w?n:I?n[b]:n[b]&&n[b].prototype,k=w?c:c[b]||l(c,b,{})[b],C=k.prototype;for(d in e)i=!(r=u(w?d:b+(I?".":"#")+d,t.forced))&&B&&h(B,d),y=k[d],i&&(m=t.dontCallGetSet?(v=s(B,d))&&v.value:B[d]),_=i&&m?m:e[d],(r||x||typeof y!=typeof _)&&(g=t.bind&&i?f(_,n):t.wrap&&i?wrapConstructor(_):x&&a(_)?o(_):_,(t.sham||_&&_.sham||y&&y.sham)&&l(g,"sham",!0),l(k,d,g),x&&(h(c,p=b+"Prototype")||l(c,p,{}),l(c[p],d,_),t.real&&C&&(r||!C[d])&&l(C,d,_)))}},1175:(t,e,r)=>{var n=r(6025);t.exports=function listCacheSet(t,e){var r=this.__data__,i=n(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}},1176:t=>{"use strict";var e=Math.ceil,r=Math.floor;t.exports=Math.trunc||function trunc(t){var n=+t;return(n>0?r:e)(n)}},1234:t=>{t.exports=function baseZipObject(t,e,r){for(var n=-1,i=t.length,o=e.length,a={};++n{"use strict";var n=r(1091),i=r(9538);n({target:"Object",stat:!0,arity:2,forced:Object.assign!==i},{assign:i})},1380:t=>{t.exports=function setCacheAdd(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},1420:(t,e,r)=>{var n=r(79);t.exports=function stackClear(){this.__data__=new n,this.size=0}},1459:t=>{t.exports=function setCacheHas(t){return this.__data__.has(t)}},1489:(t,e,r)=>{var n=r(7400);t.exports=function toInteger(t){var e=n(t),r=e%1;return e==e?r?e-r:e:0}},1505:(t,e,r)=>{"use strict";var n=r(8828);t.exports=!n((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},1549:(t,e,r)=>{var n=r(2032),i=r(3862),o=r(6721),a=r(2749),s=r(5749);function Hash(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e{"use strict";var n=r(9447),i=r(4284),o=r(5817);t.exports=n?function(t,e,r){return i.f(t,e,o(1,r))}:function(t,e,r){return t[e]=r,t}},1733:t=>{var e=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;t.exports=function asciiWords(t){return t.match(e)||[]}},1747:(t,e,r)=>{"use strict";var n=r(5951),i=r(2046);t.exports=function(t,e){var r=i[t+"Prototype"],o=r&&r[e];if(o)return o;var a=n[t],s=a&&a.prototype;return s&&s[e]}},1769:(t,e,r)=>{var n=r(6449),i=r(8586),o=r(1802),a=r(3222);t.exports=function castPath(t,e){return n(t)?t:i(t,e)?[t]:o(a(t))}},1799:(t,e,r)=>{var n=r(7217),i=r(270);t.exports=function baseIsMatch(t,e,r,o){var a=r.length,s=a,u=!o;if(null==t)return!s;for(t=Object(t);a--;){var c=r[a];if(u&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++a{var e=/\s/;t.exports=function trimmedEndIndex(t){for(var r=t.length;r--&&e.test(t.charAt(r)););return r}},1802:(t,e,r)=>{var n=r(2224),i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o=/\\(\\)?/g,a=n((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(i,(function(t,r,n,i){e.push(n?i.replace(o,"$1"):r||t)})),e}));t.exports=a},1873:(t,e,r)=>{var n=r(9325).Symbol;t.exports=n},1882:(t,e,r)=>{var n=r(2552),i=r(3805);t.exports=function isFunction(t){if(!i(t))return!1;var e=n(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1907:(t,e,r)=>{"use strict";var n=r(1505),i=Function.prototype,o=i.call,a=n&&i.bind.bind(o,o);t.exports=n?a:function(t){return function(){return o.apply(t,arguments)}}},1986:(t,e,r)=>{var n=r(1873),i=r(7828),o=r(5288),a=r(5911),s=r(317),u=r(4247),c=n?n.prototype:void 0,f=c?c.valueOf:void 0;t.exports=function equalByTag(t,e,r,n,c,l,h){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!l(new i(t),new i(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return o(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var p=s;case"[object Set]":var d=1&n;if(p||(p=u),t.size!=e.size&&!d)return!1;var _=h.get(t);if(_)return _==e;n|=2,h.set(t,e);var y=a(p(t),p(e),n,c,l,h);return h.delete(t),y;case"[object Symbol]":if(f)return f.call(t)==f.call(e)}return!1}},2006:(t,e,r)=>{var n=r(5389),i=r(4894),o=r(5950);t.exports=function createFind(t){return function(e,r,a){var s=Object(e);if(!i(e)){var u=n(r,3);e=o(e),r=function(t){return u(s[t],t,s)}}var c=t(e,r,a);return c>-1?s[u?e[c]:c]:void 0}}},2032:(t,e,r)=>{var n=r(1042);t.exports=function hashClear(){this.__data__=n?n(null):{},this.size=0}},2046:t=>{"use strict";t.exports={}},2054:t=>{var e="\\ud800-\\udfff",r="["+e+"]",n="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",o="[^"+e+"]",a="(?:\\ud83c[\\udde6-\\uddff]){2}",s="[\\ud800-\\udbff][\\udc00-\\udfff]",u="(?:"+n+"|"+i+")"+"?",c="[\\ufe0e\\ufe0f]?",f=c+u+("(?:\\u200d(?:"+[o,a,s].join("|")+")"+c+u+")*"),l="(?:"+[o+n+"?",n,a,s,r].join("|")+")",h=RegExp(i+"(?="+i+")|"+l+f,"g");t.exports=function unicodeToArray(t){return t.match(h)||[]}},2159:(t,e,r)=>{"use strict";var n=r(2250),i=r(4640),o=TypeError;t.exports=function(t){if(n(t))return t;throw new o(i(t)+" is not a function")}},2199:(t,e,r)=>{var n=r(4528),i=r(6449);t.exports=function baseGetAllKeys(t,e,r){var o=e(t);return i(t)?o:n(o,r(t))}},2205:function(t,e,r){var n;n=void 0!==r.g?r.g:this,t.exports=function(t){if(t.CSS&&t.CSS.escape)return t.CSS.escape;var cssEscape=function(t){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var e,r=String(t),n=r.length,i=-1,o="",a=r.charCodeAt(0);++i=1&&e<=31||127==e||0==i&&e>=48&&e<=57||1==i&&e>=48&&e<=57&&45==a?"\\"+e.toString(16)+" ":0==i&&1==n&&45==e||!(e>=128||45==e||95==e||e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)?"\\"+r.charAt(i):r.charAt(i):o+="�";return o};return t.CSS||(t.CSS={}),t.CSS.escape=cssEscape,cssEscape}(n)},2224:(t,e,r)=>{var n=r(104);t.exports=function memoizeCapped(t){var e=n(t,(function(t){return 500===r.size&&r.clear(),t})),r=e.cache;return e}},2225:t=>{var e="\\ud800-\\udfff",r="\\u2700-\\u27bf",n="a-z\\xdf-\\xf6\\xf8-\\xff",i="A-Z\\xc0-\\xd6\\xd8-\\xde",o="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",a="["+o+"]",s="\\d+",u="["+r+"]",c="["+n+"]",f="[^"+e+o+s+r+n+i+"]",l="(?:\\ud83c[\\udde6-\\uddff]){2}",h="[\\ud800-\\udbff][\\udc00-\\udfff]",p="["+i+"]",d="(?:"+c+"|"+f+")",_="(?:"+p+"|"+f+")",y="(?:['’](?:d|ll|m|re|s|t|ve))?",m="(?:['’](?:D|LL|M|RE|S|T|VE))?",g="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",v="[\\ufe0e\\ufe0f]?",b=v+g+("(?:\\u200d(?:"+["[^"+e+"]",l,h].join("|")+")"+v+g+")*"),w="(?:"+[u,l,h].join("|")+")"+b,I=RegExp([p+"?"+c+"+"+y+"(?="+[a,p,"$"].join("|")+")",_+"+"+m+"(?="+[a,p+d,"$"].join("|")+")",p+"?"+d+"+"+y,p+"+"+m,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",s,w].join("|"),"g");t.exports=function unicodeWords(t){return t.match(I)||[]}},2250:t=>{"use strict";var e="object"==typeof document&&document.all;t.exports=void 0===e&&void 0!==e?function(t){return"function"==typeof t||t===e}:function(t){return"function"==typeof t}},2361:(t,e,r)=>{"use strict";var n=r(5807),i=r(1907);t.exports=function(t){if("Function"===n(t))return i(t)}},2426:(t,e,r)=>{var n=r(4248),i=r(5389),o=r(916),a=r(6449),s=r(6800);t.exports=function some(t,e,r){var u=a(t)?n:o;return r&&s(t,e,r)&&(e=void 0),u(t,i(e,3))}},2428:(t,e,r)=>{var n=r(7534),i=r(346),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,u=n(function(){return arguments}())?n:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=u},2507:(t,e,r)=>{var n=r(8754),i=r(9698),o=r(3912),a=r(3222);t.exports=function createCaseFirst(t){return function(e){e=a(e);var r=i(e)?o(e):void 0,s=r?r[0]:e.charAt(0),u=r?n(r,1).join(""):e.slice(1);return s[t]()+u}}},2523:t=>{t.exports=function baseFindIndex(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o{"use strict";var n=r(5951),i=Object.defineProperty;t.exports=function(t,e){try{i(n,t,{value:e,configurable:!0,writable:!0})}catch(r){n[t]=e}return e}},2552:(t,e,r)=>{var n=r(1873),i=r(659),o=r(9350),a=n?n.toStringTag:void 0;t.exports=function baseGetTag(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?i(t):o(t)}},2567:(t,e,r)=>{"use strict";r(9307);var n=r(1747);t.exports=n("Function","bind")},2574:(t,e)=>{"use strict";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,i=n&&!r.call({1:2},1);e.f=i?function propertyIsEnumerable(t){var e=n(this,t);return!!e&&e.enumerable}:r},2651:(t,e,r)=>{var n=r(4218);t.exports=function getMapData(t,e){var r=t.__data__;return n(e)?r["string"==typeof e?"string":"hash"]:r.map}},2749:(t,e,r)=>{var n=r(1042),i=Object.prototype.hasOwnProperty;t.exports=function hashHas(t){var e=this.__data__;return n?void 0!==e[t]:i.call(e,t)}},2802:(t,e,r)=>{var n=t.exports=function SHA(t){t=t.toLowerCase();var e=n[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};n.sha=r(7816),n.sha1=r(3737),n.sha224=r(6710),n.sha256=r(4107),n.sha384=r(2827),n.sha512=r(2890)},2804:(t,e,r)=>{var n=r(6110)(r(9325),"Promise");t.exports=n},2827:(t,e,r)=>{var n=r(6698),i=r(2890),o=r(8011),a=r(2861).Buffer,s=new Array(160);function Sha384(){this.init(),this._w=s,o.call(this,128,112)}n(Sha384,i),Sha384.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},Sha384.prototype._hash=function(){var t=a.allocUnsafe(48);function writeInt64BE(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),t},t.exports=Sha384},2861:(t,e,r)=>{var n=r(8287),i=n.Buffer;function copyProps(t,e){for(var r in t)e[r]=t[r]}function SafeBuffer(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(copyProps(n,e),e.Buffer=SafeBuffer),SafeBuffer.prototype=Object.create(i.prototype),copyProps(i,SafeBuffer),SafeBuffer.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},SafeBuffer.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},SafeBuffer.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},SafeBuffer.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},2875:(t,e,r)=>{"use strict";var n=r(3045),i=r(376);t.exports=Object.keys||function keys(t){return n(t,i)}},2890:(t,e,r)=>{var n=r(6698),i=r(8011),o=r(2861).Buffer,a=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function Sha512(){this.init(),this._w=s,i.call(this,128,112)}function Ch(t,e,r){return r^t&(e^r)}function maj(t,e,r){return t&e|r&(t|e)}function sigma0(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function sigma1(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function Gamma0(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function Gamma0l(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function Gamma1(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function Gamma1l(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function getCarry(t,e){return t>>>0>>0?1:0}n(Sha512,i),Sha512.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},Sha512.prototype._update=function(t){for(var e=this._w,r=0|this._ah,n=0|this._bh,i=0|this._ch,o=0|this._dh,s=0|this._eh,u=0|this._fh,c=0|this._gh,f=0|this._hh,l=0|this._al,h=0|this._bl,p=0|this._cl,d=0|this._dl,_=0|this._el,y=0|this._fl,m=0|this._gl,g=0|this._hl,v=0;v<32;v+=2)e[v]=t.readInt32BE(4*v),e[v+1]=t.readInt32BE(4*v+4);for(;v<160;v+=2){var b=e[v-30],w=e[v-30+1],I=Gamma0(b,w),x=Gamma0l(w,b),B=Gamma1(b=e[v-4],w=e[v-4+1]),k=Gamma1l(w,b),C=e[v-14],q=e[v-14+1],L=e[v-32],j=e[v-32+1],z=x+q|0,P=I+C+getCarry(z,x)|0;P=(P=P+B+getCarry(z=z+k|0,k)|0)+L+getCarry(z=z+j|0,j)|0,e[v]=P,e[v+1]=z}for(var D=0;D<160;D+=2){P=e[D],z=e[D+1];var U=maj(r,n,i),W=maj(l,h,p),V=sigma0(r,l),K=sigma0(l,r),$=sigma1(s,_),H=sigma1(_,s),Y=a[D],Z=a[D+1],J=Ch(s,u,c),tt=Ch(_,y,m),et=g+H|0,rt=f+$+getCarry(et,g)|0;rt=(rt=(rt=rt+J+getCarry(et=et+tt|0,tt)|0)+Y+getCarry(et=et+Z|0,Z)|0)+P+getCarry(et=et+z|0,z)|0;var nt=K+W|0,it=V+U+getCarry(nt,K)|0;f=c,g=m,c=u,m=y,u=s,y=_,s=o+rt+getCarry(_=d+et|0,d)|0,o=i,d=p,i=n,p=h,n=r,h=l,r=rt+it+getCarry(l=et+nt|0,et)|0}this._al=this._al+l|0,this._bl=this._bl+h|0,this._cl=this._cl+p|0,this._dl=this._dl+d|0,this._el=this._el+_|0,this._fl=this._fl+y|0,this._gl=this._gl+m|0,this._hl=this._hl+g|0,this._ah=this._ah+r+getCarry(this._al,l)|0,this._bh=this._bh+n+getCarry(this._bl,h)|0,this._ch=this._ch+i+getCarry(this._cl,p)|0,this._dh=this._dh+o+getCarry(this._dl,d)|0,this._eh=this._eh+s+getCarry(this._el,_)|0,this._fh=this._fh+u+getCarry(this._fl,y)|0,this._gh=this._gh+c+getCarry(this._gl,m)|0,this._hh=this._hh+f+getCarry(this._hl,g)|0},Sha512.prototype._hash=function(){var t=o.allocUnsafe(64);function writeInt64BE(e,r,n){t.writeInt32BE(e,n),t.writeInt32BE(r,n+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),writeInt64BE(this._gh,this._gl,48),writeInt64BE(this._hh,this._hl,56),t},t.exports=Sha512},2949:(t,e,r)=>{var n=r(2651);t.exports=function mapCacheSet(t,e){var r=n(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}},3034:(t,e,r)=>{"use strict";var n=r(8280),i=r(2567),o=Function.prototype;t.exports=function(t){var e=t.bind;return t===o||n(o,t)&&e===o.bind?i:e}},3040:(t,e,r)=>{var n=r(1549),i=r(79),o=r(8223);t.exports=function mapCacheClear(){this.size=0,this.__data__={hash:new n,map:new(o||i),string:new n}}},3045:(t,e,r)=>{"use strict";var n=r(1907),i=r(9724),o=r(7374),a=r(4436).indexOf,s=r(8530),u=n([].push);t.exports=function(t,e){var r,n=o(t),c=0,f=[];for(r in n)!i(s,r)&&i(n,r)&&u(f,r);for(;e.length>c;)i(n,r=e[c++])&&(~a(f,r)||u(f,r));return f}},3121:(t,e,r)=>{"use strict";var n=r(5482),i=Math.min;t.exports=function(t){var e=n(t);return e>0?i(e,9007199254740991):0}},3209:(t,e,r)=>{"use strict";var n=r(5606),i=65536,o=4294967295;var a=r(2861).Buffer,s=r.g.crypto||r.g.msCrypto;s&&s.getRandomValues?t.exports=function randomBytes(t,e){if(t>o)throw new RangeError("requested too many random bytes");var r=a.allocUnsafe(t);if(t>0)if(t>i)for(var u=0;u{t.exports=function createBaseFor(t){return function(e,r,n){for(var i=-1,o=Object(e),a=n(e),s=a.length;s--;){var u=a[t?s:++i];if(!1===r(o[u],u,o))break}return e}}},3222:(t,e,r)=>{var n=r(7556);t.exports=function toString(t){return null==t?"":n(t)}},3243:(t,e,r)=>{var n=r(6110),i=function(){try{var t=n(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},3345:t=>{t.exports=function stubArray(){return[]}},3360:(t,e,r)=>{var n=r(3243);t.exports=function baseAssignValue(t,e,r){"__proto__"==e&&n?n(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}},3375:(t,e,r)=>{"use strict";var n=r(3700);t.exports=n},3427:(t,e,r)=>{"use strict";var n=r(1907);t.exports=n([].slice)},3488:t=>{t.exports=function identity(t){return t}},3556:(t,e,r)=>{"use strict";var n=r(9846);t.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3605:t=>{t.exports=function stackGet(t){return this.__data__.get(t)}},3648:(t,e,r)=>{"use strict";var n=r(9447),i=r(8828),o=r(9552);t.exports=!n&&!i((function(){return 7!==Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},3650:(t,e,r)=>{var n=r(4335)(Object.keys,Object);t.exports=n},3656:(t,e,r)=>{t=r.nmd(t);var n=r(9325),i=r(9935),o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,s=a&&a.exports===o?n.Buffer:void 0,u=(s?s.isBuffer:void 0)||i;t.exports=u},3661:(t,e,r)=>{var n=r(3040),i=r(7670),o=r(289),a=r(4509),s=r(2949);function MapCache(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e{var n=r(1799),i=r(776),o=r(7197);t.exports=function baseMatches(t){var e=i(t);return 1==e.length&&e[0][2]?o(e[0][0],e[0][1]):function(r){return r===t||n(r,t,e)}}},3700:(t,e,r)=>{"use strict";var n=r(9709);t.exports=n},3702:t=>{t.exports=function listCacheClear(){this.__data__=[],this.size=0}},3737:(t,e,r)=>{var n=r(6698),i=r(8011),o=r(2861).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function Sha1(){this.init(),this._w=s,i.call(this,64,56)}function rotl5(t){return t<<5|t>>>27}function rotl30(t){return t<<30|t>>>2}function ft(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}n(Sha1,i),Sha1.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha1.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,u=0|this._e,c=0;c<16;++c)r[c]=t.readInt32BE(4*c);for(;c<80;++c)r[c]=(e=r[c-3]^r[c-8]^r[c-14]^r[c-16])<<1|e>>>31;for(var f=0;f<80;++f){var l=~~(f/20),h=rotl5(n)+ft(l,i,o,s)+u+r[f]+a[l]|0;u=s,s=o,o=rotl30(i),i=n,n=h}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0},Sha1.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=Sha1},3805:t=>{t.exports=function isObject(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},3846:(t,e,r)=>{"use strict";var n=r(9447),i=r(3930),o=r(2574),a=r(5817),s=r(7374),u=r(470),c=r(9724),f=r(3648),l=Object.getOwnPropertyDescriptor;e.f=n?l:function getOwnPropertyDescriptor(t,e){if(t=s(t),e=u(e),f)try{return l(t,e)}catch(t){}if(c(t,e))return a(!i(o.f,t,e),t[e])}},3862:t=>{t.exports=function hashDelete(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},3912:(t,e,r)=>{var n=r(1074),i=r(9698),o=r(2054);t.exports=function stringToArray(t){return i(t)?o(t):n(t)}},3930:(t,e,r)=>{"use strict";var n=r(1505),i=Function.prototype.call;t.exports=n?i.bind(i):function(){return i.apply(i,arguments)}},4058:(t,e,r)=>{var n=r(4792),i=r(5539)((function(t,e,r){return e=e.toLowerCase(),t+(r?n(e):e)}));t.exports=i},4107:(t,e,r)=>{var n=r(6698),i=r(8011),o=r(2861).Buffer,a=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=new Array(64);function Sha256(){this.init(),this._w=s,i.call(this,64,56)}function ch(t,e,r){return r^t&(e^r)}function maj(t,e,r){return t&e|r&(t|e)}function sigma0(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function sigma1(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function gamma0(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}n(Sha256,i),Sha256.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},Sha256.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,u=0|this._e,c=0|this._f,f=0|this._g,l=0|this._h,h=0;h<16;++h)r[h]=t.readInt32BE(4*h);for(;h<64;++h)r[h]=0|(((e=r[h-2])>>>17|e<<15)^(e>>>19|e<<13)^e>>>10)+r[h-7]+gamma0(r[h-15])+r[h-16];for(var p=0;p<64;++p){var d=l+sigma1(u)+ch(u,c,f)+a[p]+r[p]|0,_=sigma0(n)+maj(n,i,o)|0;l=f,f=c,c=u,u=s+d|0,s=o,o=i,i=n,n=d+_|0}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0,this._f=c+this._f|0,this._g=f+this._g|0,this._h=l+this._h|0},Sha256.prototype._hash=function(){var t=o.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t},t.exports=Sha256},4128:(t,e,r)=>{var n=r(1800),i=/^\s+/;t.exports=function baseTrim(t){return t?t.slice(0,n(t)+1).replace(i,""):t}},4218:t=>{t.exports=function isKeyable(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},4239:(t,e,r)=>{"use strict";var n=r(7136),i=TypeError;t.exports=function(t){if(n(t))throw new i("Can't call method on "+t);return t}},4247:t=>{t.exports=function setToArray(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}},4248:t=>{t.exports=function arraySome(t,e){for(var r=-1,n=null==t?0:t.length;++r{"use strict";var n=r(9447),i=r(3648),o=r(8661),a=r(6624),s=r(470),u=TypeError,c=Object.defineProperty,f=Object.getOwnPropertyDescriptor,l="enumerable",h="configurable",p="writable";e.f=n?o?function defineProperty(t,e,r){if(a(t),e=s(e),a(r),"function"==typeof t&&"prototype"===e&&"value"in r&&p in r&&!r[p]){var n=f(t,e);n&&n[p]&&(t[e]=r.value,r={configurable:h in r?r[h]:n[h],enumerable:l in r?r[l]:n[l],writable:!1})}return c(t,e,r)}:c:function defineProperty(t,e,r){if(a(t),e=s(e),a(r),i)try{return c(t,e,r)}catch(t){}if("get"in r||"set"in r)throw new u("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},4335:t=>{t.exports=function overArg(t,e){return function(r){return t(e(r))}}},4394:(t,e,r)=>{var n=r(2552),i=r(346);t.exports=function isSymbol(t){return"symbol"==typeof t||i(t)&&"[object Symbol]"==n(t)}},4436:(t,e,r)=>{"use strict";var n=r(7374),i=r(4849),o=r(575),createMethod=function(t){return function(e,r,a){var s=n(e),u=o(s);if(0===u)return!t&&-1;var c,f=i(a,u);if(t&&r!=r){for(;u>f;)if((c=s[f++])!=c)return!0}else for(;u>f;f++)if((t||f in s)&&s[f]===r)return t||f||0;return!t&&-1}};t.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},4509:(t,e,r)=>{var n=r(2651);t.exports=function mapCacheHas(t){return n(this,t).has(t)}},4528:t=>{t.exports=function arrayPush(t,e){for(var r=-1,n=e.length,i=t.length;++r{t.exports=function basePropertyOf(t){return function(e){return null==t?void 0:t[e]}}},4640:t=>{"use strict";var e=String;t.exports=function(t){try{return e(t)}catch(t){return"Object"}}},4647:(t,e,r)=>{var n=r(4552)({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"});t.exports=n},4664:(t,e,r)=>{var n=r(9770),i=r(3345),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),n(a(t),(function(e){return o.call(t,e)})))}:i;t.exports=s},4673:(t,e,r)=>{"use strict";var n=r(1907),i=r(2159),o=r(6285),a=r(9724),s=r(3427),u=r(1505),c=Function,f=n([].concat),l=n([].join),h={};t.exports=u?c.bind:function bind(t){var e=i(this),r=e.prototype,n=s(arguments,1),u=function bound(){var r=f(n,s(arguments));return this instanceof u?function(t,e,r){if(!a(h,e)){for(var n=[],i=0;i{var n=r(2523),i=r(5389),o=r(1489),a=Math.max;t.exports=function findIndex(t,e,r){var s=null==t?0:t.length;if(!s)return-1;var u=null==r?0:o(r);return u<0&&(u=a(s+u,0)),n(t,i(e,3),u)}},4739:(t,e,r)=>{var n=r(6025);t.exports=function listCacheGet(t){var e=this.__data__,r=n(e,t);return r<0?void 0:e[r][1]}},4792:(t,e,r)=>{var n=r(3222),i=r(5808);t.exports=function capitalize(t){return i(n(t).toLowerCase())}},4840:(t,e,r)=>{var n="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;t.exports=n},4849:(t,e,r)=>{"use strict";var n=r(5482),i=Math.max,o=Math.min;t.exports=function(t,e){var r=n(t);return r<0?i(r+e,0):o(r,e)}},4851:(t,e,r)=>{"use strict";t.exports=r(5401)},4894:(t,e,r)=>{var n=r(1882),i=r(294);t.exports=function isArrayLike(t){return null!=t&&i(t.length)&&!n(t)}},4901:(t,e,r)=>{var n=r(2552),i=r(294),o=r(346),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function baseIsTypedArray(t){return o(t)&&i(t.length)&&!!a[n(t)]}},4932:t=>{t.exports=function arrayMap(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r{var n=r(1882),i=r(7296),o=r(3805),a=r(7473),s=/^\[object .+?Constructor\]$/,u=Function.prototype,c=Object.prototype,f=u.toString,l=c.hasOwnProperty,h=RegExp("^"+f.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function baseIsNative(t){return!(!o(t)||i(t))&&(n(t)?h:s).test(a(t))}},5160:t=>{t.exports=function baseSlice(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(r=r>i?i:r)<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var o=Array(i);++n{"use strict";var r=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),u=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),l=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),p=Symbol.iterator;var d={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,y={};function E(t,e,r){this.props=t,this.context=e,this.refs=y,this.updater=r||d}function F(){}function G(t,e,r){this.props=t,this.context=e,this.refs=y,this.updater=r||d}E.prototype.isReactComponent={},E.prototype.setState=function(t,e){if("object"!=typeof t&&"function"!=typeof t&&null!=t)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")},E.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")},F.prototype=E.prototype;var m=G.prototype=new F;m.constructor=G,_(m,E.prototype),m.isPureReactComponent=!0;var g=Array.isArray,v=Object.prototype.hasOwnProperty,b={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function M(t,e,n){var i,o={},a=null,s=null;if(null!=e)for(i in void 0!==e.ref&&(s=e.ref),void 0!==e.key&&(a=""+e.key),e)v.call(e,i)&&!w.hasOwnProperty(i)&&(o[i]=e[i]);var u=arguments.length-2;if(1===u)o.children=n;else if(1{t.exports=function eq(t,e){return t===e||t!=t&&e!=e}},5389:(t,e,r)=>{var n=r(3663),i=r(7978),o=r(3488),a=r(6449),s=r(583);t.exports=function baseIteratee(t){return"function"==typeof t?t:null==t?o:"object"==typeof t?a(t)?i(t[0],t[1]):n(t):s(t)}},5401:(t,e,r)=>{"use strict";var n=r(462);t.exports=n},5434:t=>{var e=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;t.exports=function hasUnicodeWord(t){return e.test(t)}},5481:(t,e,r)=>{var n=r(9325)["__core-js_shared__"];t.exports=n},5482:(t,e,r)=>{"use strict";var n=r(1176);t.exports=function(t){var e=+t;return e!=e||0===e?0:n(e)}},5527:t=>{var e=Object.prototype;t.exports=function isPrototype(t){var r=t&&t.constructor;return t===("function"==typeof r&&r.prototype||e)}},5539:(t,e,r)=>{var n=r(882),i=r(828),o=r(6645),a=RegExp("['’]","g");t.exports=function createCompounder(t){return function(e){return n(o(i(e).replace(a,"")),t,"")}}},5580:(t,e,r)=>{var n=r(6110)(r(9325),"DataView");t.exports=n},5582:(t,e,r)=>{"use strict";var n=r(2046),i=r(5951),o=r(2250),aFunction=function(t){return o(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?aFunction(n[t])||aFunction(i[t]):n[t]&&n[t][e]||i[t]&&i[t][e]}},5594:(t,e,r)=>{"use strict";var n=r(5582),i=r(2250),o=r(8280),a=r(3556),s=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=n("Symbol");return i(e)&&o(e.prototype,s(t))}},5606:t=>{var e,r,n=t.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(t){if(e===setTimeout)return setTimeout(t,0);if((e===defaultSetTimout||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(r){try{return e.call(null,t,0)}catch(r){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(t){e=defaultSetTimout}try{r="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(t){r=defaultClearTimeout}}();var i,o=[],a=!1,s=-1;function cleanUpNextTick(){a&&i&&(a=!1,i.length?o=i.concat(o):s=-1,o.length&&drainQueue())}function drainQueue(){if(!a){var t=runTimeout(cleanUpNextTick);a=!0;for(var e=o.length;e;){for(i=o,o=[];++s1)for(var r=1;r{var n=r(1042);t.exports=function hashSet(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=n&&void 0===e?"__lodash_hash_undefined__":e,this}},5807:(t,e,r)=>{"use strict";var n=r(1907),i=n({}.toString),o=n("".slice);t.exports=function(t){return o(i(t),8,-1)}},5808:(t,e,r)=>{var n=r(2507)("toUpperCase");t.exports=n},5816:(t,e,r)=>{"use strict";var n=r(6128);t.exports=function(t,e){return n[t]||(n[t]=e||{})}},5817:t=>{"use strict";t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},5861:(t,e,r)=>{var n=r(5580),i=r(8223),o=r(2804),a=r(6545),s=r(8303),u=r(2552),c=r(7473),f="[object Map]",l="[object Promise]",h="[object Set]",p="[object WeakMap]",d="[object DataView]",_=c(n),y=c(i),m=c(o),g=c(a),v=c(s),b=u;(n&&b(new n(new ArrayBuffer(1)))!=d||i&&b(new i)!=f||o&&b(o.resolve())!=l||a&&b(new a)!=h||s&&b(new s)!=p)&&(b=function(t){var e=u(t),r="[object Object]"==e?t.constructor:void 0,n=r?c(r):"";if(n)switch(n){case _:return d;case y:return f;case m:return l;case g:return h;case v:return p}return e}),t.exports=b},5911:(t,e,r)=>{var n=r(8859),i=r(4248),o=r(9219);t.exports=function equalArrays(t,e,r,a,s,u){var c=1&r,f=t.length,l=e.length;if(f!=l&&!(c&&l>f))return!1;var h=u.get(t),p=u.get(e);if(h&&p)return h==e&&p==t;var d=-1,_=!0,y=2&r?new n:void 0;for(u.set(t,e),u.set(e,t);++d{var n=r(695),i=r(8984),o=r(4894);t.exports=function keys(t){return o(t)?n(t):i(t)}},5951:function(t,e,r){"use strict";var check=function(t){return t&&t.Math===Math&&t};t.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof r.g&&r.g)||check("object"==typeof this&&this)||function(){return this}()||Function("return this")()},6009:(t,e,r)=>{t=r.nmd(t);var n=r(4840),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i&&n.process,s=function(){try{var t=o&&o.require&&o.require("util").types;return t||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s},6024:(t,e,r)=>{"use strict";var n=r(1505),i=Function.prototype,o=i.apply,a=i.call;t.exports="object"==typeof Reflect&&Reflect.apply||(n?a.bind(o):function(){return a.apply(o,arguments)})},6025:(t,e,r)=>{var n=r(5288);t.exports=function assocIndexOf(t,e){for(var r=t.length;r--;)if(n(t[r][0],e))return r;return-1}},6028:(t,e,r)=>{"use strict";var n=r(3930),i=r(6285),o=r(5594),a=r(9367),s=r(581),u=r(6264),c=TypeError,f=u("toPrimitive");t.exports=function(t,e){if(!i(t)||o(t))return t;var r,u=a(t,f);if(u){if(void 0===e&&(e="default"),r=n(u,t,e),!i(r)||o(r))return r;throw new c("Can't convert object to primitive value")}return void 0===e&&(e="number"),s(t,e)}},6110:(t,e,r)=>{var n=r(5083),i=r(392);t.exports=function getNative(t,e){var r=i(t,e);return n(r)?r:void 0}},6128:(t,e,r)=>{"use strict";var n=r(7376),i=r(5951),o=r(2532),a="__core-js_shared__",s=t.exports=i[a]||o(a,{});(s.versions||(s.versions=[])).push({version:"3.40.0",mode:n?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE",source:"https://github.com/zloirock/core-js"})},6264:(t,e,r)=>{"use strict";var n=r(5951),i=r(5816),o=r(9724),a=r(6499),s=r(9846),u=r(3556),c=n.Symbol,f=i("wks"),l=u?c.for||c:c&&c.withoutSetter||a;t.exports=function(t){return o(f,t)||(f[t]=s&&o(c,t)?c[t]:l("Symbol."+t)),f[t]}},6285:(t,e,r)=>{"use strict";var n=r(2250);t.exports=function(t){return"object"==typeof t?null!==t:n(t)}},6449:t=>{var e=Array.isArray;t.exports=e},6499:(t,e,r)=>{"use strict";var n=r(1907),i=0,o=Math.random(),a=n(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++i+o,36)}},6540:(t,e,r)=>{"use strict";t.exports=r(5287)},6545:(t,e,r)=>{var n=r(6110)(r(9325),"Set");t.exports=n},6547:(t,e,r)=>{var n=r(3360),i=r(5288),o=Object.prototype.hasOwnProperty;t.exports=function assignValue(t,e,r){var a=t[e];o.call(t,e)&&i(a,r)&&(void 0!==r||e in t)||n(t,e,r)}},6624:(t,e,r)=>{"use strict";var n=r(6285),i=String,o=TypeError;t.exports=function(t){if(n(t))return t;throw new o(i(t)+" is not an object")}},6645:(t,e,r)=>{var n=r(1733),i=r(5434),o=r(3222),a=r(2225);t.exports=function words(t,e,r){return t=o(t),void 0===(e=r?void 0:e)?i(t)?a(t):n(t):t.match(e)||[]}},6649:(t,e,r)=>{var n=r(3221)();t.exports=n},6698:t=>{"function"==typeof Object.create?t.exports=function inherits(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function inherits(t,e){if(e){t.super_=e;var TempCtor=function(){};TempCtor.prototype=e.prototype,t.prototype=new TempCtor,t.prototype.constructor=t}}},6710:(t,e,r)=>{var n=r(6698),i=r(4107),o=r(8011),a=r(2861).Buffer,s=new Array(64);function Sha224(){this.init(),this._w=s,o.call(this,64,56)}n(Sha224,i),Sha224.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},Sha224.prototype._hash=function(){var t=a.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t},t.exports=Sha224},6721:(t,e,r)=>{var n=r(1042),i=Object.prototype.hasOwnProperty;t.exports=function hashGet(t){var e=this.__data__;if(n){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return i.call(e,t)?e[t]:void 0}},6794:(t,e,r)=>{"use strict";var n=r(5951).navigator,i=n&&n.userAgent;t.exports=i?String(i):""},6800:(t,e,r)=>{var n=r(5288),i=r(4894),o=r(361),a=r(3805);t.exports=function isIterateeCall(t,e,r){if(!a(r))return!1;var s=typeof e;return!!("number"==s?i(r)&&o(e,r.length):"string"==s&&e in r)&&n(r[e],t)}},6946:(t,e,r)=>{"use strict";var n=r(1907),i=r(8828),o=r(5807),a=Object,s=n("".split);t.exports=i((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"===o(t)?s(t,""):a(t)}:a},7068:(t,e,r)=>{var n=r(7217),i=r(5911),o=r(1986),a=r(689),s=r(5861),u=r(6449),c=r(3656),f=r(7167),l="[object Arguments]",h="[object Array]",p="[object Object]",d=Object.prototype.hasOwnProperty;t.exports=function baseIsEqualDeep(t,e,r,_,y,m){var g=u(t),v=u(e),b=g?h:s(t),w=v?h:s(e),I=(b=b==l?p:b)==p,x=(w=w==l?p:w)==p,B=b==w;if(B&&c(t)){if(!c(e))return!1;g=!0,I=!1}if(B&&!I)return m||(m=new n),g||f(t)?i(t,e,r,_,y,m):o(t,e,b,r,_,y,m);if(!(1&r)){var k=I&&d.call(t,"__wrapped__"),C=x&&d.call(e,"__wrapped__");if(k||C){var q=k?t.value():t,L=C?e.value():e;return m||(m=new n),y(q,L,r,_,m)}}return!!B&&(m||(m=new n),a(t,e,r,_,y,m))}},7136:t=>{"use strict";t.exports=function(t){return null==t}},7167:(t,e,r)=>{var n=r(4901),i=r(7301),o=r(6009),a=o&&o.isTypedArray,s=a?i(a):n;t.exports=s},7170:(t,e)=>{"use strict";e.f=Object.getOwnPropertySymbols},7197:t=>{t.exports=function matchesStrictComparable(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}}},7217:(t,e,r)=>{var n=r(79),i=r(1420),o=r(938),a=r(3605),s=r(9817),u=r(945);function Stack(t){var e=this.__data__=new n(t);this.size=e.size}Stack.prototype.clear=i,Stack.prototype.delete=o,Stack.prototype.get=a,Stack.prototype.has=s,Stack.prototype.set=u,t.exports=Stack},7237:t=>{t.exports=function baseProperty(t){return function(e){return null==e?void 0:e[t]}}},7248:(t,e,r)=>{var n=r(6547),i=r(1234);t.exports=function zipObject(t,e){return i(t||[],e||[],n)}},7255:(t,e,r)=>{var n=r(7422);t.exports=function basePropertyDeep(t){return function(e){return n(e,t)}}},7296:(t,e,r)=>{var n,i=r(5481),o=(n=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";t.exports=function isMasked(t){return!!o&&o in t}},7301:t=>{t.exports=function baseUnary(t){return function(e){return t(e)}}},7309:(t,e,r)=>{var n=r(2006)(r(4713));t.exports=n},7374:(t,e,r)=>{"use strict";var n=r(6946),i=r(4239);t.exports=function(t){return n(i(t))}},7376:t=>{"use strict";t.exports=!0},7400:(t,e,r)=>{var n=r(9374),i=1/0;t.exports=function toFinite(t){return t?(t=n(t))===i||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},7422:(t,e,r)=>{var n=r(1769),i=r(7797);t.exports=function baseGet(t,e){for(var r=0,o=(e=n(e,t)).length;null!=t&&r{"use strict";var n=r(8828),i=r(2250),o=/#|\.prototype\./,isForced=function(t,e){var r=s[a(t)];return r===c||r!==u&&(i(e)?n(e):!!e)},a=isForced.normalize=function(t){return String(t).replace(o,".").toLowerCase()},s=isForced.data={},u=isForced.NATIVE="N",c=isForced.POLYFILL="P";t.exports=isForced},7473:t=>{var e=Function.prototype.toString;t.exports=function toSource(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},7526:(t,e)=>{"use strict";e.byteLength=function byteLength(t){var e=getLens(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function toByteArray(t){var e,r,o=getLens(t),a=o[0],s=o[1],u=new i(function _byteLength(t,e,r){return 3*(e+r)/4-r}(0,a,s)),c=0,f=s>0?a-4:a;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;2===s&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e);1===s&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e);return u},e.fromByteArray=function fromByteArray(t){for(var e,n=t.length,i=n%3,o=[],a=16383,s=0,u=n-i;su?u:s+a));1===i?(e=t[n-1],o.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],o.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"="));return o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=o[a],n[o.charCodeAt(a)]=a;function getLens(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function encodeChunk(t,e,n){for(var i,o,a=[],s=e;s>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},7534:(t,e,r)=>{var n=r(2552),i=r(346);t.exports=function baseIsArguments(t){return i(t)&&"[object Arguments]"==n(t)}},7556:(t,e,r)=>{var n=r(1873),i=r(4932),o=r(6449),a=r(4394),s=n?n.prototype:void 0,u=s?s.toString:void 0;t.exports=function baseToString(t){if("string"==typeof t)return t;if(o(t))return i(t,baseToString)+"";if(a(t))return u?u.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},7666:(t,e,r)=>{var n=r(4851),i=r(953);function _extends(){var e;return t.exports=_extends=n?i(e=n).call(e):function(t){for(var e=1;e{var n=r(2651);t.exports=function mapCacheDelete(t){var e=n(this,t).delete(t);return this.size-=e?1:0,e}},7797:(t,e,r)=>{var n=r(4394);t.exports=function toKey(t){if("string"==typeof t||n(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}},7816:(t,e,r)=>{var n=r(6698),i=r(8011),o=r(2861).Buffer,a=[1518500249,1859775393,-1894007588,-899497514],s=new Array(80);function Sha(){this.init(),this._w=s,i.call(this,64,56)}function rotl30(t){return t<<30|t>>>2}function ft(t,e,r,n){return 0===t?e&r|~e&n:2===t?e&r|e&n|r&n:e^r^n}n(Sha,i),Sha.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha.prototype._update=function(t){for(var e,r=this._w,n=0|this._a,i=0|this._b,o=0|this._c,s=0|this._d,u=0|this._e,c=0;c<16;++c)r[c]=t.readInt32BE(4*c);for(;c<80;++c)r[c]=r[c-3]^r[c-8]^r[c-14]^r[c-16];for(var f=0;f<80;++f){var l=~~(f/20),h=0|((e=n)<<5|e>>>27)+ft(l,i,o,s)+u+r[f]+a[l];u=s,s=o,o=rotl30(i),i=n,n=h}this._a=n+this._a|0,this._b=i+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=u+this._e|0},Sha.prototype._hash=function(){var t=o.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t},t.exports=Sha},7828:(t,e,r)=>{var n=r(9325).Uint8Array;t.exports=n},7978:(t,e,r)=>{var n=r(270),i=r(8156),o=r(631),a=r(8586),s=r(756),u=r(7197),c=r(7797);t.exports=function baseMatchesProperty(t,e){return a(t)&&s(e)?u(c(t),e):function(r){var a=i(r,t);return void 0===a&&a===e?o(r,t):n(e,a,3)}}},8011:(t,e,r)=>{var n=r(2861).Buffer;function Hash(t,e){this._block=n.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}Hash.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=n.from(t,e));for(var r=this._block,i=this._blockSize,o=t.length,a=this._len,s=0;s=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},Hash.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=Hash},8077:t=>{t.exports=function baseHasIn(t,e){return null!=t&&e in Object(t)}},8096:t=>{t.exports=function baseTimes(t,e){for(var r=-1,n=Array(t);++r{var n=r(7422);t.exports=function get(t,e,r){var i=null==t?void 0:n(t,e);return void 0===i?r:i}},8223:(t,e,r)=>{var n=r(6110)(r(9325),"Map");t.exports=n},8280:(t,e,r)=>{"use strict";var n=r(1907);t.exports=n({}.isPrototypeOf)},8287:(t,e,r)=>{"use strict";const n=r(7526),i=r(251),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=Buffer,e.SlowBuffer=function SlowBuffer(t){+t!=t&&(t=0);return Buffer.alloc(+t)},e.INSPECT_MAX_BYTES=50;const a=2147483647;function createBuffer(t){if(t>a)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,Buffer.prototype),e}function Buffer(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(t)}return from(t,e,r)}function from(t,e,r){if("string"==typeof t)return function fromString(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!Buffer.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|byteLength(t,e);let n=createBuffer(r);const i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e);if(ArrayBuffer.isView(t))return function fromArrayView(t){if(isInstance(t,Uint8Array)){const e=new Uint8Array(t);return fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength)}return fromArrayLike(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(isInstance(t,ArrayBuffer)||t&&isInstance(t.buffer,ArrayBuffer))return fromArrayBuffer(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(isInstance(t,SharedArrayBuffer)||t&&isInstance(t.buffer,SharedArrayBuffer)))return fromArrayBuffer(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return Buffer.from(n,e,r);const i=function fromObject(t){if(Buffer.isBuffer(t)){const e=0|checked(t.length),r=createBuffer(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return"number"!=typeof t.length||numberIsNaN(t.length)?createBuffer(0):fromArrayLike(t);if("Buffer"===t.type&&Array.isArray(t.data))return fromArrayLike(t.data)}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return Buffer.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function assertSize(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function allocUnsafe(t){return assertSize(t),createBuffer(t<0?0:0|checked(t))}function fromArrayLike(t){const e=t.length<0?0:0|checked(t.length),r=createBuffer(e);for(let n=0;n=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|t}function byteLength(t,e){if(Buffer.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||isInstance(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return utf8ToBytes(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return base64ToBytes(t).length;default:if(i)return n?-1:utf8ToBytes(t).length;e=(""+e).toLowerCase(),i=!0}}function slowToString(t,e,r){let n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return hexSlice(this,e,r);case"utf8":case"utf-8":return utf8Slice(this,e,r);case"ascii":return asciiSlice(this,e,r);case"latin1":case"binary":return latin1Slice(this,e,r);case"base64":return base64Slice(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function swap(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function bidirectionalIndexOf(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),numberIsNaN(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=Buffer.from(e,n)),Buffer.isBuffer(e))return 0===e.length?-1:arrayIndexOf(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):arrayIndexOf(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(t,e,r,n,i){let o,a=1,s=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,r/=2}function read(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){let n=-1;for(o=r;os&&(r=s-u),o=r;o>=0;o--){let r=!0;for(let n=0;ni&&(n=i):n=i;const o=e.length;let a;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function base64Slice(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function utf8Slice(t,e,r){r=Math.min(t.length,r);const n=[];let i=e;for(;i239?4:e>223?3:e>191?2:1;if(i+a<=r){let r,n,s,u;switch(a){case 1:e<128&&(o=e);break;case 2:r=t[i+1],128==(192&r)&&(u=(31&e)<<6|63&r,u>127&&(o=u));break;case 3:r=t[i+1],n=t[i+2],128==(192&r)&&128==(192&n)&&(u=(15&e)<<12|(63&r)<<6|63&n,u>2047&&(u<55296||u>57343)&&(o=u));break;case 4:r=t[i+1],n=t[i+2],s=t[i+3],128==(192&r)&&128==(192&n)&&128==(192&s)&&(u=(15&e)<<18|(63&r)<<12|(63&n)<<6|63&s,u>65535&&u<1114112&&(o=u))}}null===o?(o=65533,a=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=a}return function decodeCodePointsArray(t){const e=t.length;if(e<=s)return String.fromCharCode.apply(String,t);let r="",n=0;for(;nn.length?(Buffer.isBuffer(e)||(e=Buffer.from(e)),e.copy(n,i)):Uint8Array.prototype.set.call(n,e,i);else{if(!Buffer.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(n,i)}i+=e.length}return n},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function swap16(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;er&&(t+=" ... "),""},o&&(Buffer.prototype[o]=Buffer.prototype.inspect),Buffer.prototype.compare=function compare(t,e,r,n,i){if(isInstance(t,Uint8Array)&&(t=Buffer.from(t,t.offset,t.byteLength)),!Buffer.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;let o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(e>>>=0);const s=Math.min(o,a),u=this.slice(n,i),c=t.slice(e,r);for(let t=0;t>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return hexWrite(this,t,e,r);case"utf8":case"utf-8":return utf8Write(this,t,e,r);case"ascii":case"latin1":case"binary":return asciiWrite(this,t,e,r);case"base64":return base64Write(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const s=4096;function asciiSlice(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;in)&&(r=n);let i="";for(let n=e;nr)throw new RangeError("Trying to access beyond buffer length")}function checkInt(t,e,r,n,i,o){if(!Buffer.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function wrtBigUInt64LE(t,e,r,n,i){checkIntBI(e,n,i,t,r,7);let o=Number(e&BigInt(4294967295));t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,r}function wrtBigUInt64BE(t,e,r,n,i){checkIntBI(e,n,i,t,r,7);let o=Number(e&BigInt(4294967295));t[r+7]=o,o>>=8,t[r+6]=o,o>>=8,t[r+5]=o,o>>=8,t[r+4]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=a,a>>=8,t[r+2]=a,a>>=8,t[r+1]=a,a>>=8,t[r]=a,r+8}function checkIEEE754(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function writeFloat(t,e,r,n,o){return e=+e,r>>>=0,o||checkIEEE754(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function writeDouble(t,e,r,n,o){return e=+e,r>>>=0,o||checkIEEE754(t,0,r,8),i.write(t,e,r,n,52,8),r+8}Buffer.prototype.slice=function slice(t,e){const r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||checkOffset(t,e,this.length);let n=this[t],i=1,o=0;for(;++o>>=0,e>>>=0,r||checkOffset(t,e,this.length);let n=this[t+--e],i=1;for(;e>0&&(i*=256);)n+=this[t+--e]*i;return n},Buffer.prototype.readUint8=Buffer.prototype.readUInt8=function readUInt8(t,e){return t>>>=0,e||checkOffset(t,1,this.length),this[t]},Buffer.prototype.readUint16LE=Buffer.prototype.readUInt16LE=function readUInt16LE(t,e){return t>>>=0,e||checkOffset(t,2,this.length),this[t]|this[t+1]<<8},Buffer.prototype.readUint16BE=Buffer.prototype.readUInt16BE=function readUInt16BE(t,e){return t>>>=0,e||checkOffset(t,2,this.length),this[t]<<8|this[t+1]},Buffer.prototype.readUint32LE=Buffer.prototype.readUInt32LE=function readUInt32LE(t,e){return t>>>=0,e||checkOffset(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},Buffer.prototype.readUint32BE=Buffer.prototype.readUInt32BE=function readUInt32BE(t,e){return t>>>=0,e||checkOffset(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},Buffer.prototype.readBigUInt64LE=defineBigIntMethod((function readBigUInt64LE(t){validateNumber(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||boundsError(t,this.length-8);const n=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,i=this[++t]+256*this[++t]+65536*this[++t]+r*2**24;return BigInt(n)+(BigInt(i)<>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||boundsError(t,this.length-8);const n=e*2**24+65536*this[++t]+256*this[++t]+this[++t],i=this[++t]*2**24+65536*this[++t]+256*this[++t]+r;return(BigInt(n)<>>=0,e>>>=0,r||checkOffset(t,e,this.length);let n=this[t],i=1,o=0;for(;++o=i&&(n-=Math.pow(2,8*e)),n},Buffer.prototype.readIntBE=function readIntBE(t,e,r){t>>>=0,e>>>=0,r||checkOffset(t,e,this.length);let n=e,i=1,o=this[t+--n];for(;n>0&&(i*=256);)o+=this[t+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},Buffer.prototype.readInt8=function readInt8(t,e){return t>>>=0,e||checkOffset(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},Buffer.prototype.readInt16LE=function readInt16LE(t,e){t>>>=0,e||checkOffset(t,2,this.length);const r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt16BE=function readInt16BE(t,e){t>>>=0,e||checkOffset(t,2,this.length);const r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt32LE=function readInt32LE(t,e){return t>>>=0,e||checkOffset(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},Buffer.prototype.readInt32BE=function readInt32BE(t,e){return t>>>=0,e||checkOffset(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},Buffer.prototype.readBigInt64LE=defineBigIntMethod((function readBigInt64LE(t){validateNumber(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||boundsError(t,this.length-8);const n=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(n)<>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||boundsError(t,this.length-8);const n=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(n)<>>=0,e||checkOffset(t,4,this.length),i.read(this,t,!0,23,4)},Buffer.prototype.readFloatBE=function readFloatBE(t,e){return t>>>=0,e||checkOffset(t,4,this.length),i.read(this,t,!1,23,4)},Buffer.prototype.readDoubleLE=function readDoubleLE(t,e){return t>>>=0,e||checkOffset(t,8,this.length),i.read(this,t,!0,52,8)},Buffer.prototype.readDoubleBE=function readDoubleBE(t,e){return t>>>=0,e||checkOffset(t,8,this.length),i.read(this,t,!1,52,8)},Buffer.prototype.writeUintLE=Buffer.prototype.writeUIntLE=function writeUIntLE(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){checkInt(this,t,e,r,Math.pow(2,8*r)-1,0)}let i=1,o=0;for(this[e]=255&t;++o>>=0,r>>>=0,!n){checkInt(this,t,e,r,Math.pow(2,8*r)-1,0)}let i=r-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+r},Buffer.prototype.writeUint8=Buffer.prototype.writeUInt8=function writeUInt8(t,e,r){return t=+t,e>>>=0,r||checkInt(this,t,e,1,255,0),this[e]=255&t,e+1},Buffer.prototype.writeUint16LE=Buffer.prototype.writeUInt16LE=function writeUInt16LE(t,e,r){return t=+t,e>>>=0,r||checkInt(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},Buffer.prototype.writeUint16BE=Buffer.prototype.writeUInt16BE=function writeUInt16BE(t,e,r){return t=+t,e>>>=0,r||checkInt(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},Buffer.prototype.writeUint32LE=Buffer.prototype.writeUInt32LE=function writeUInt32LE(t,e,r){return t=+t,e>>>=0,r||checkInt(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},Buffer.prototype.writeUint32BE=Buffer.prototype.writeUInt32BE=function writeUInt32BE(t,e,r){return t=+t,e>>>=0,r||checkInt(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},Buffer.prototype.writeBigUInt64LE=defineBigIntMethod((function writeBigUInt64LE(t,e=0){return wrtBigUInt64LE(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeBigUInt64BE=defineBigIntMethod((function writeBigUInt64BE(t,e=0){return wrtBigUInt64BE(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeIntLE=function writeIntLE(t,e,r,n){if(t=+t,e>>>=0,!n){const n=Math.pow(2,8*r-1);checkInt(this,t,e,r,n-1,-n)}let i=0,o=1,a=0;for(this[e]=255&t;++i>>=0,!n){const n=Math.pow(2,8*r-1);checkInt(this,t,e,r,n-1,-n)}let i=r-1,o=1,a=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===a&&0!==this[e+i+1]&&(a=1),this[e+i]=(t/o|0)-a&255;return e+r},Buffer.prototype.writeInt8=function writeInt8(t,e,r){return t=+t,e>>>=0,r||checkInt(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},Buffer.prototype.writeInt16LE=function writeInt16LE(t,e,r){return t=+t,e>>>=0,r||checkInt(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},Buffer.prototype.writeInt16BE=function writeInt16BE(t,e,r){return t=+t,e>>>=0,r||checkInt(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},Buffer.prototype.writeInt32LE=function writeInt32LE(t,e,r){return t=+t,e>>>=0,r||checkInt(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},Buffer.prototype.writeInt32BE=function writeInt32BE(t,e,r){return t=+t,e>>>=0,r||checkInt(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},Buffer.prototype.writeBigInt64LE=defineBigIntMethod((function writeBigInt64LE(t,e=0){return wrtBigUInt64LE(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeBigInt64BE=defineBigIntMethod((function writeBigInt64BE(t,e=0){return wrtBigUInt64BE(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeFloatLE=function writeFloatLE(t,e,r){return writeFloat(this,t,e,!0,r)},Buffer.prototype.writeFloatBE=function writeFloatBE(t,e,r){return writeFloat(this,t,e,!1,r)},Buffer.prototype.writeDoubleLE=function writeDoubleLE(t,e,r){return writeDouble(this,t,e,!0,r)},Buffer.prototype.writeDoubleBE=function writeDoubleBE(t,e,r){return writeDouble(this,t,e,!1,r)},Buffer.prototype.copy=function copy(t,e,r,n){if(!Buffer.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(i=e;i=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function checkIntBI(t,e,r,n,i,o){if(t>r||t3?0===e||e===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(o+1)}${n}`:`>= -(2${n} ** ${8*(o+1)-1}${n}) and < 2 ** ${8*(o+1)-1}${n}`:`>= ${e}${n} and <= ${r}${n}`,new u.ERR_OUT_OF_RANGE("value",i,t)}!function checkBounds(t,e,r){validateNumber(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||boundsError(e,t.length-(r+1))}(n,i,o)}function validateNumber(t,e){if("number"!=typeof t)throw new u.ERR_INVALID_ARG_TYPE(e,"number",t)}function boundsError(t,e,r){if(Math.floor(t)!==t)throw validateNumber(t,r),new u.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new u.ERR_BUFFER_OUT_OF_BOUNDS;throw new u.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}E("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),E("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),E("ERR_OUT_OF_RANGE",(function(t,e,r){let n=`The value of "${t}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=addNumericalSeparator(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=addNumericalSeparator(i)),i+="n"),n+=` It must be ${e}. Received ${i}`,n}),RangeError);const c=/[^+/0-9A-Za-z-_]/g;function utf8ToBytes(t,e){let r;e=e||1/0;const n=t.length;let i=null;const o=[];for(let a=0;a55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function base64ToBytes(t){return n.toByteArray(function base64clean(t){if((t=(t=t.split("=")[0]).trim().replace(c,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function blitBuffer(t,e,r,n){let i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function isInstance(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function numberIsNaN(t){return t!=t}const f=function(){const t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function defineBigIntMethod(t){return"undefined"==typeof BigInt?BufferBigIntNotDefined:t}function BufferBigIntNotDefined(){throw new Error("BigInt not supported")}},8303:(t,e,r)=>{var n=r(6110)(r(9325),"WeakMap");t.exports=n},8311:(t,e,r)=>{"use strict";var n=r(2361),i=r(2159),o=r(1505),a=n(n.bind);t.exports=function(t,e){return i(t),void 0===e?t:o?a(t,e):function(){return t.apply(e,arguments)}}},8329:(t,e,r)=>{var n=r(4894);t.exports=function createBaseEach(t,e){return function(r,i){if(null==r)return r;if(!n(r))return t(r,i);for(var o=r.length,a=e?o:-1,s=Object(r);(e?a--:++a{"use strict";t.exports={}},8586:(t,e,r)=>{var n=r(6449),i=r(4394),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function isKey(t,e){if(n(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!i(t))||(a.test(t)||!o.test(t)||null!=e&&t in Object(e))}},8655:(t,e,r)=>{var n=r(6025);t.exports=function listCacheHas(t){return n(this.__data__,t)>-1}},8661:(t,e,r)=>{"use strict";var n=r(9447),i=r(8828);t.exports=n&&i((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},8754:(t,e,r)=>{var n=r(5160);t.exports=function castSlice(t,e,r){var i=t.length;return r=void 0===r?i:r,!e&&r>=i?t:n(t,e,r)}},8828:t=>{"use strict";t.exports=function(t){try{return!!t()}catch(t){return!0}}},8859:(t,e,r)=>{var n=r(3661),i=r(1380),o=r(1459);function SetCache(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new n;++e{var n=r(5527),i=r(3650),o=Object.prototype.hasOwnProperty;t.exports=function baseKeys(t){if(!n(t))return i(t);var e=[];for(var r in Object(t))o.call(t,r)&&"constructor"!=r&&e.push(r);return e}},9219:t=>{t.exports=function cacheHas(t,e){return t.has(e)}},9298:(t,e,r)=>{"use strict";var n=r(4239),i=Object;t.exports=function(t){return i(n(t))}},9307:(t,e,r)=>{"use strict";var n=r(1091),i=r(4673);n({target:"Function",proto:!0,forced:Function.bind!==i},{bind:i})},9325:(t,e,r)=>{var n=r(4840),i="object"==typeof self&&self&&self.Object===Object&&self,o=n||i||Function("return this")();t.exports=o},9326:(t,e,r)=>{var n=r(1769),i=r(2428),o=r(6449),a=r(361),s=r(294),u=r(7797);t.exports=function hasPath(t,e,r){for(var c=-1,f=(e=n(e,t)).length,l=!1;++c{var e=Object.prototype.toString;t.exports=function objectToString(t){return e.call(t)}},9367:(t,e,r)=>{"use strict";var n=r(2159),i=r(7136);t.exports=function(t,e){var r=t[e];return i(r)?void 0:n(r)}},9374:(t,e,r)=>{var n=r(4128),i=r(3805),o=r(4394),a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,c=parseInt;t.exports=function toNumber(t){if("number"==typeof t)return t;if(o(t))return NaN;if(i(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=i(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=n(t);var r=s.test(t);return r||u.test(t)?c(t.slice(2),r?2:8):a.test(t)?NaN:+t}},9404:function(t){t.exports=function(){"use strict";var t=Array.prototype.slice;function createClass(t,e){e&&(t.prototype=Object.create(e.prototype)),t.prototype.constructor=t}function Iterable(t){return isIterable(t)?t:Seq(t)}function KeyedIterable(t){return isKeyed(t)?t:KeyedSeq(t)}function IndexedIterable(t){return isIndexed(t)?t:IndexedSeq(t)}function SetIterable(t){return isIterable(t)&&!isAssociative(t)?t:SetSeq(t)}function isIterable(t){return!(!t||!t[e])}function isKeyed(t){return!(!t||!t[r])}function isIndexed(t){return!(!t||!t[n])}function isAssociative(t){return isKeyed(t)||isIndexed(t)}function isOrdered(t){return!(!t||!t[i])}createClass(KeyedIterable,Iterable),createClass(IndexedIterable,Iterable),createClass(SetIterable,Iterable),Iterable.isIterable=isIterable,Iterable.isKeyed=isKeyed,Iterable.isIndexed=isIndexed,Iterable.isAssociative=isAssociative,Iterable.isOrdered=isOrdered,Iterable.Keyed=KeyedIterable,Iterable.Indexed=IndexedIterable,Iterable.Set=SetIterable;var e="@@__IMMUTABLE_ITERABLE__@@",r="@@__IMMUTABLE_KEYED__@@",n="@@__IMMUTABLE_INDEXED__@@",i="@@__IMMUTABLE_ORDERED__@@",o="delete",a=5,s=1<>>0;if(""+r!==e||4294967295===r)return NaN;e=r}return e<0?ensureSize(t)+e:e}function returnTrue(){return!0}function wholeSlice(t,e,r){return(0===t||void 0!==r&&t<=-r)&&(void 0===e||void 0!==r&&e>=r)}function resolveBegin(t,e){return resolveIndex(t,e,0)}function resolveEnd(t,e){return resolveIndex(t,e,e)}function resolveIndex(t,e,r){return void 0===t?r:t<0?Math.max(0,e+t):void 0===e?t:Math.min(e,t)}var h=0,p=1,d=2,_="function"==typeof Symbol&&Symbol.iterator,y="@@iterator",m=_||y;function Iterator(t){this.next=t}function iteratorValue(t,e,r,n){var i=0===t?e:1===t?r:[e,r];return n?n.value=i:n={value:i,done:!1},n}function iteratorDone(){return{value:void 0,done:!0}}function hasIterator(t){return!!getIteratorFn(t)}function isIterator(t){return t&&"function"==typeof t.next}function getIterator(t){var e=getIteratorFn(t);return e&&e.call(t)}function getIteratorFn(t){var e=t&&(_&&t[_]||t[y]);if("function"==typeof e)return e}function isArrayLike(t){return t&&"number"==typeof t.length}function Seq(t){return null==t?emptySequence():isIterable(t)?t.toSeq():seqFromValue(t)}function KeyedSeq(t){return null==t?emptySequence().toKeyedSeq():isIterable(t)?isKeyed(t)?t.toSeq():t.fromEntrySeq():keyedSeqFromValue(t)}function IndexedSeq(t){return null==t?emptySequence():isIterable(t)?isKeyed(t)?t.entrySeq():t.toIndexedSeq():indexedSeqFromValue(t)}function SetSeq(t){return(null==t?emptySequence():isIterable(t)?isKeyed(t)?t.entrySeq():t:indexedSeqFromValue(t)).toSetSeq()}Iterator.prototype.toString=function(){return"[Iterator]"},Iterator.KEYS=h,Iterator.VALUES=p,Iterator.ENTRIES=d,Iterator.prototype.inspect=Iterator.prototype.toSource=function(){return this.toString()},Iterator.prototype[m]=function(){return this},createClass(Seq,Iterable),Seq.of=function(){return Seq(arguments)},Seq.prototype.toSeq=function(){return this},Seq.prototype.toString=function(){return this.__toString("Seq {","}")},Seq.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},Seq.prototype.__iterate=function(t,e){return seqIterate(this,t,e,!0)},Seq.prototype.__iterator=function(t,e){return seqIterator(this,t,e,!0)},createClass(KeyedSeq,Seq),KeyedSeq.prototype.toKeyedSeq=function(){return this},createClass(IndexedSeq,Seq),IndexedSeq.of=function(){return IndexedSeq(arguments)},IndexedSeq.prototype.toIndexedSeq=function(){return this},IndexedSeq.prototype.toString=function(){return this.__toString("Seq [","]")},IndexedSeq.prototype.__iterate=function(t,e){return seqIterate(this,t,e,!1)},IndexedSeq.prototype.__iterator=function(t,e){return seqIterator(this,t,e,!1)},createClass(SetSeq,Seq),SetSeq.of=function(){return SetSeq(arguments)},SetSeq.prototype.toSetSeq=function(){return this},Seq.isSeq=isSeq,Seq.Keyed=KeyedSeq,Seq.Set=SetSeq,Seq.Indexed=IndexedSeq;var g,v,b,w="@@__IMMUTABLE_SEQ__@@";function ArraySeq(t){this._array=t,this.size=t.length}function ObjectSeq(t){var e=Object.keys(t);this._object=t,this._keys=e,this.size=e.length}function IterableSeq(t){this._iterable=t,this.size=t.length||t.size}function IteratorSeq(t){this._iterator=t,this._iteratorCache=[]}function isSeq(t){return!(!t||!t[w])}function emptySequence(){return g||(g=new ArraySeq([]))}function keyedSeqFromValue(t){var e=Array.isArray(t)?new ArraySeq(t).fromEntrySeq():isIterator(t)?new IteratorSeq(t).fromEntrySeq():hasIterator(t)?new IterableSeq(t).fromEntrySeq():"object"==typeof t?new ObjectSeq(t):void 0;if(!e)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+t);return e}function indexedSeqFromValue(t){var e=maybeIndexedSeqFromValue(t);if(!e)throw new TypeError("Expected Array or iterable object of values: "+t);return e}function seqFromValue(t){var e=maybeIndexedSeqFromValue(t)||"object"==typeof t&&new ObjectSeq(t);if(!e)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+t);return e}function maybeIndexedSeqFromValue(t){return isArrayLike(t)?new ArraySeq(t):isIterator(t)?new IteratorSeq(t):hasIterator(t)?new IterableSeq(t):void 0}function seqIterate(t,e,r,n){var i=t._cache;if(i){for(var o=i.length-1,a=0;a<=o;a++){var s=i[r?o-a:a];if(!1===e(s[1],n?s[0]:a,t))return a+1}return a}return t.__iterateUncached(e,r)}function seqIterator(t,e,r,n){var i=t._cache;if(i){var o=i.length-1,a=0;return new Iterator((function(){var t=i[r?o-a:a];return a++>o?iteratorDone():iteratorValue(e,n?t[0]:a-1,t[1])}))}return t.__iteratorUncached(e,r)}function fromJS(t,e){return e?fromJSWith(e,t,"",{"":t}):fromJSDefault(t)}function fromJSWith(t,e,r,n){return Array.isArray(e)?t.call(n,r,IndexedSeq(e).map((function(r,n){return fromJSWith(t,r,n,e)}))):isPlainObj(e)?t.call(n,r,KeyedSeq(e).map((function(r,n){return fromJSWith(t,r,n,e)}))):e}function fromJSDefault(t){return Array.isArray(t)?IndexedSeq(t).map(fromJSDefault).toList():isPlainObj(t)?KeyedSeq(t).map(fromJSDefault).toMap():t}function isPlainObj(t){return t&&(t.constructor===Object||void 0===t.constructor)}function is(t,e){if(t===e||t!=t&&e!=e)return!0;if(!t||!e)return!1;if("function"==typeof t.valueOf&&"function"==typeof e.valueOf){if((t=t.valueOf())===(e=e.valueOf())||t!=t&&e!=e)return!0;if(!t||!e)return!1}return!("function"!=typeof t.equals||"function"!=typeof e.equals||!t.equals(e))}function deepEqual(t,e){if(t===e)return!0;if(!isIterable(e)||void 0!==t.size&&void 0!==e.size&&t.size!==e.size||void 0!==t.__hash&&void 0!==e.__hash&&t.__hash!==e.__hash||isKeyed(t)!==isKeyed(e)||isIndexed(t)!==isIndexed(e)||isOrdered(t)!==isOrdered(e))return!1;if(0===t.size&&0===e.size)return!0;var r=!isAssociative(t);if(isOrdered(t)){var n=t.entries();return e.every((function(t,e){var i=n.next().value;return i&&is(i[1],t)&&(r||is(i[0],e))}))&&n.next().done}var i=!1;if(void 0===t.size)if(void 0===e.size)"function"==typeof t.cacheResult&&t.cacheResult();else{i=!0;var o=t;t=e,e=o}var a=!0,s=e.__iterate((function(e,n){if(r?!t.has(e):i?!is(e,t.get(n,c)):!is(t.get(n,c),e))return a=!1,!1}));return a&&t.size===s}function Repeat(t,e){if(!(this instanceof Repeat))return new Repeat(t,e);if(this._value=t,this.size=void 0===e?1/0:Math.max(0,e),0===this.size){if(v)return v;v=this}}function invariant(t,e){if(!t)throw new Error(e)}function Range(t,e,r){if(!(this instanceof Range))return new Range(t,e,r);if(invariant(0!==r,"Cannot step a Range by 0"),t=t||0,void 0===e&&(e=1/0),r=void 0===r?1:Math.abs(r),en?iteratorDone():iteratorValue(t,i,r[e?n-i++:i++])}))},createClass(ObjectSeq,KeyedSeq),ObjectSeq.prototype.get=function(t,e){return void 0===e||this.has(t)?this._object[t]:e},ObjectSeq.prototype.has=function(t){return this._object.hasOwnProperty(t)},ObjectSeq.prototype.__iterate=function(t,e){for(var r=this._object,n=this._keys,i=n.length-1,o=0;o<=i;o++){var a=n[e?i-o:o];if(!1===t(r[a],a,this))return o+1}return o},ObjectSeq.prototype.__iterator=function(t,e){var r=this._object,n=this._keys,i=n.length-1,o=0;return new Iterator((function(){var a=n[e?i-o:o];return o++>i?iteratorDone():iteratorValue(t,a,r[a])}))},ObjectSeq.prototype[i]=!0,createClass(IterableSeq,IndexedSeq),IterableSeq.prototype.__iterateUncached=function(t,e){if(e)return this.cacheResult().__iterate(t,e);var r=getIterator(this._iterable),n=0;if(isIterator(r))for(var i;!(i=r.next()).done&&!1!==t(i.value,n++,this););return n},IterableSeq.prototype.__iteratorUncached=function(t,e){if(e)return this.cacheResult().__iterator(t,e);var r=getIterator(this._iterable);if(!isIterator(r))return new Iterator(iteratorDone);var n=0;return new Iterator((function(){var e=r.next();return e.done?e:iteratorValue(t,n++,e.value)}))},createClass(IteratorSeq,IndexedSeq),IteratorSeq.prototype.__iterateUncached=function(t,e){if(e)return this.cacheResult().__iterate(t,e);for(var r,n=this._iterator,i=this._iteratorCache,o=0;o=n.length){var e=r.next();if(e.done)return e;n[i]=e.value}return iteratorValue(t,i,n[i++])}))},createClass(Repeat,IndexedSeq),Repeat.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},Repeat.prototype.get=function(t,e){return this.has(t)?this._value:e},Repeat.prototype.includes=function(t){return is(this._value,t)},Repeat.prototype.slice=function(t,e){var r=this.size;return wholeSlice(t,e,r)?this:new Repeat(this._value,resolveEnd(e,r)-resolveBegin(t,r))},Repeat.prototype.reverse=function(){return this},Repeat.prototype.indexOf=function(t){return is(this._value,t)?0:-1},Repeat.prototype.lastIndexOf=function(t){return is(this._value,t)?this.size:-1},Repeat.prototype.__iterate=function(t,e){for(var r=0;r=0&&e=0&&rr?iteratorDone():iteratorValue(t,o++,a)}))},Range.prototype.equals=function(t){return t instanceof Range?this._start===t._start&&this._end===t._end&&this._step===t._step:deepEqual(this,t)},createClass(Collection,Iterable),createClass(KeyedCollection,Collection),createClass(IndexedCollection,Collection),createClass(SetCollection,Collection),Collection.Keyed=KeyedCollection,Collection.Indexed=IndexedCollection,Collection.Set=SetCollection;var I="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function imul(t,e){var r=65535&(t|=0),n=65535&(e|=0);return r*n+((t>>>16)*n+r*(e>>>16)<<16>>>0)|0};function smi(t){return t>>>1&1073741824|3221225471&t}function hash(t){if(!1===t||null==t)return 0;if("function"==typeof t.valueOf&&(!1===(t=t.valueOf())||null==t))return 0;if(!0===t)return 1;var e=typeof t;if("number"===e){if(t!=t||t===1/0)return 0;var r=0|t;for(r!==t&&(r^=4294967295*t);t>4294967295;)r^=t/=4294967295;return smi(r)}if("string"===e)return t.length>j?cachedHashString(t):hashString(t);if("function"==typeof t.hashCode)return t.hashCode();if("object"===e)return hashJSObj(t);if("function"==typeof t.toString)return hashString(t.toString());throw new Error("Value type "+e+" cannot be hashed.")}function cachedHashString(t){var e=D[t];return void 0===e&&(e=hashString(t),P===z&&(P=0,D={}),P++,D[t]=e),e}function hashString(t){for(var e=0,r=0;r0)switch(t.nodeType){case 1:return t.uniqueID;case 9:return t.documentElement&&t.documentElement.uniqueID}}var k,C="function"==typeof WeakMap;C&&(k=new WeakMap);var q=0,L="__immutablehash__";"function"==typeof Symbol&&(L=Symbol(L));var j=16,z=255,P=0,D={};function assertNotInfinite(t){invariant(t!==1/0,"Cannot perform this action with an infinite size.")}function Map(t){return null==t?emptyMap():isMap(t)&&!isOrdered(t)?t:emptyMap().withMutations((function(e){var r=KeyedIterable(t);assertNotInfinite(r.size),r.forEach((function(t,r){return e.set(r,t)}))}))}function isMap(t){return!(!t||!t[W])}createClass(Map,KeyedCollection),Map.of=function(){var e=t.call(arguments,0);return emptyMap().withMutations((function(t){for(var r=0;r=e.length)throw new Error("Missing value for key: "+e[r]);t.set(e[r],e[r+1])}}))},Map.prototype.toString=function(){return this.__toString("Map {","}")},Map.prototype.get=function(t,e){return this._root?this._root.get(0,void 0,t,e):e},Map.prototype.set=function(t,e){return updateMap(this,t,e)},Map.prototype.setIn=function(t,e){return this.updateIn(t,c,(function(){return e}))},Map.prototype.remove=function(t){return updateMap(this,t,c)},Map.prototype.deleteIn=function(t){return this.updateIn(t,(function(){return c}))},Map.prototype.update=function(t,e,r){return 1===arguments.length?t(this):this.updateIn([t],e,r)},Map.prototype.updateIn=function(t,e,r){r||(r=e,e=void 0);var n=updateInDeepMap(this,forceIterator(t),e,r);return n===c?void 0:n},Map.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):emptyMap()},Map.prototype.merge=function(){return mergeIntoMapWith(this,void 0,arguments)},Map.prototype.mergeWith=function(e){return mergeIntoMapWith(this,e,t.call(arguments,1))},Map.prototype.mergeIn=function(e){var r=t.call(arguments,1);return this.updateIn(e,emptyMap(),(function(t){return"function"==typeof t.merge?t.merge.apply(t,r):r[r.length-1]}))},Map.prototype.mergeDeep=function(){return mergeIntoMapWith(this,deepMerger,arguments)},Map.prototype.mergeDeepWith=function(e){var r=t.call(arguments,1);return mergeIntoMapWith(this,deepMergerWith(e),r)},Map.prototype.mergeDeepIn=function(e){var r=t.call(arguments,1);return this.updateIn(e,emptyMap(),(function(t){return"function"==typeof t.mergeDeep?t.mergeDeep.apply(t,r):r[r.length-1]}))},Map.prototype.sort=function(t){return OrderedMap(sortFactory(this,t))},Map.prototype.sortBy=function(t,e){return OrderedMap(sortFactory(this,e,t))},Map.prototype.withMutations=function(t){var e=this.asMutable();return t(e),e.wasAltered()?e.__ensureOwner(this.__ownerID):this},Map.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new OwnerID)},Map.prototype.asImmutable=function(){return this.__ensureOwner()},Map.prototype.wasAltered=function(){return this.__altered},Map.prototype.__iterator=function(t,e){return new MapIterator(this,t,e)},Map.prototype.__iterate=function(t,e){var r=this,n=0;return this._root&&this._root.iterate((function(e){return n++,t(e[1],e[0],r)}),e),n},Map.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?makeMap(this.size,this._root,t,this.__hash):(this.__ownerID=t,this.__altered=!1,this)},Map.isMap=isMap;var U,W="@@__IMMUTABLE_MAP__@@",V=Map.prototype;function ArrayMapNode(t,e){this.ownerID=t,this.entries=e}function BitmapIndexedNode(t,e,r){this.ownerID=t,this.bitmap=e,this.nodes=r}function HashArrayMapNode(t,e,r){this.ownerID=t,this.count=e,this.nodes=r}function HashCollisionNode(t,e,r){this.ownerID=t,this.keyHash=e,this.entries=r}function ValueNode(t,e,r){this.ownerID=t,this.keyHash=e,this.entry=r}function MapIterator(t,e,r){this._type=e,this._reverse=r,this._stack=t._root&&mapIteratorFrame(t._root)}function mapIteratorValue(t,e){return iteratorValue(t,e[0],e[1])}function mapIteratorFrame(t,e){return{node:t,index:0,__prev:e}}function makeMap(t,e,r,n){var i=Object.create(V);return i.size=t,i._root=e,i.__ownerID=r,i.__hash=n,i.__altered=!1,i}function emptyMap(){return U||(U=makeMap(0))}function updateMap(t,e,r){var n,i;if(t._root){var o=MakeRef(f),a=MakeRef(l);if(n=updateNode(t._root,t.__ownerID,0,void 0,e,r,o,a),!a.value)return t;i=t.size+(o.value?r===c?-1:1:0)}else{if(r===c)return t;i=1,n=new ArrayMapNode(t.__ownerID,[[e,r]])}return t.__ownerID?(t.size=i,t._root=n,t.__hash=void 0,t.__altered=!0,t):n?makeMap(i,n):emptyMap()}function updateNode(t,e,r,n,i,o,a,s){return t?t.update(e,r,n,i,o,a,s):o===c?t:(SetRef(s),SetRef(a),new ValueNode(e,n,[i,o]))}function isLeafNode(t){return t.constructor===ValueNode||t.constructor===HashCollisionNode}function mergeIntoNode(t,e,r,n,i){if(t.keyHash===n)return new HashCollisionNode(e,n,[t.entry,i]);var o,s=(0===r?t.keyHash:t.keyHash>>>r)&u,c=(0===r?n:n>>>r)&u;return new BitmapIndexedNode(e,1<>>=1)a[u]=1&r?e[o++]:void 0;return a[n]=i,new HashArrayMapNode(t,o+1,a)}function mergeIntoMapWith(t,e,r){for(var n=[],i=0;i>1&1431655765))+(t>>2&858993459))+(t>>4)&252645135,t+=t>>8,127&(t+=t>>16)}function setIn(t,e,r,n){var i=n?t:arrCopy(t);return i[e]=r,i}function spliceIn(t,e,r,n){var i=t.length+1;if(n&&e+1===i)return t[e]=r,t;for(var o=new Array(i),a=0,s=0;s=K)return createNodes(t,u,n,i);var p=t&&t===this.ownerID,d=p?u:arrCopy(u);return h?s?f===l-1?d.pop():d[f]=d.pop():d[f]=[n,i]:d.push([n,i]),p?(this.entries=d,this):new ArrayMapNode(t,d)}},BitmapIndexedNode.prototype.get=function(t,e,r,n){void 0===e&&(e=hash(r));var i=1<<((0===t?e:e>>>t)&u),o=this.bitmap;return o&i?this.nodes[popCount(o&i-1)].get(t+a,e,r,n):n},BitmapIndexedNode.prototype.update=function(t,e,r,n,i,o,s){void 0===r&&(r=hash(n));var f=(0===e?r:r>>>e)&u,l=1<=$)return expandNodes(t,_,h,f,m);if(p&&!m&&2===_.length&&isLeafNode(_[1^d]))return _[1^d];if(p&&m&&1===_.length&&isLeafNode(m))return m;var g=t&&t===this.ownerID,v=p?m?h:h^l:h|l,b=p?m?setIn(_,d,m,g):spliceOut(_,d,g):spliceIn(_,d,m,g);return g?(this.bitmap=v,this.nodes=b,this):new BitmapIndexedNode(t,v,b)},HashArrayMapNode.prototype.get=function(t,e,r,n){void 0===e&&(e=hash(r));var i=(0===t?e:e>>>t)&u,o=this.nodes[i];return o?o.get(t+a,e,r,n):n},HashArrayMapNode.prototype.update=function(t,e,r,n,i,o,s){void 0===r&&(r=hash(n));var f=(0===e?r:r>>>e)&u,l=i===c,h=this.nodes,p=h[f];if(l&&!p)return this;var d=updateNode(p,t,e+a,r,n,i,o,s);if(d===p)return this;var _=this.count;if(p){if(!d&&--_0&&n=0&&t>>e&u;if(n>=this.array.length)return new VNode([],t);var i,o=0===n;if(e>0){var s=this.array[n];if((i=s&&s.removeBefore(t,e-a,r))===s&&o)return this}if(o&&!i)return this;var c=editableVNode(this,t);if(!o)for(var f=0;f>>e&u;if(i>=this.array.length)return this;if(e>0){var o=this.array[i];if((n=o&&o.removeAfter(t,e-a,r))===o&&i===this.array.length-1)return this}var s=editableVNode(this,t);return s.array.splice(i+1),n&&(s.array[i]=n),s};var J,tt,et={};function iterateList(t,e){var r=t._origin,n=t._capacity,i=getTailOffset(n),o=t._tail;return iterateNodeOrLeaf(t._root,t._level,0);function iterateNodeOrLeaf(t,e,r){return 0===e?iterateLeaf(t,r):iterateNode(t,e,r)}function iterateLeaf(t,a){var u=a===i?o&&o.array:t&&t.array,c=a>r?0:r-a,f=n-a;return f>s&&(f=s),function(){if(c===f)return et;var t=e?--f:c++;return u&&u[t]}}function iterateNode(t,i,o){var u,c=t&&t.array,f=o>r?0:r-o>>i,l=1+(n-o>>i);return l>s&&(l=s),function(){for(;;){if(u){var t=u();if(t!==et)return t;u=null}if(f===l)return et;var r=e?--l:f++;u=iterateNodeOrLeaf(c&&c[r],i-a,o+(r<=t.size||e<0)return t.withMutations((function(t){e<0?setListBounds(t,e).set(0,r):setListBounds(t,0,e+1).set(e,r)}));e+=t._origin;var n=t._tail,i=t._root,o=MakeRef(l);return e>=getTailOffset(t._capacity)?n=updateVNode(n,t.__ownerID,0,e,r,o):i=updateVNode(i,t.__ownerID,t._level,e,r,o),o.value?t.__ownerID?(t._root=i,t._tail=n,t.__hash=void 0,t.__altered=!0,t):makeList(t._origin,t._capacity,t._level,i,n):t}function updateVNode(t,e,r,n,i,o){var s,c=n>>>r&u,f=t&&c0){var l=t&&t.array[c],h=updateVNode(l,e,r-a,n,i,o);return h===l?t:((s=editableVNode(t,e)).array[c]=h,s)}return f&&t.array[c]===i?t:(SetRef(o),s=editableVNode(t,e),void 0===i&&c===s.array.length-1?s.array.pop():s.array[c]=i,s)}function editableVNode(t,e){return e&&t&&e===t.ownerID?t:new VNode(t?t.array.slice():[],e)}function listNodeFor(t,e){if(e>=getTailOffset(t._capacity))return t._tail;if(e<1<0;)r=r.array[e>>>n&u],n-=a;return r}}function setListBounds(t,e,r){void 0!==e&&(e|=0),void 0!==r&&(r|=0);var n=t.__ownerID||new OwnerID,i=t._origin,o=t._capacity,s=i+e,c=void 0===r?o:r<0?o+r:i+r;if(s===i&&c===o)return t;if(s>=c)return t.clear();for(var f=t._level,l=t._root,h=0;s+h<0;)l=new VNode(l&&l.array.length?[void 0,l]:[],n),h+=1<<(f+=a);h&&(s+=h,i+=h,c+=h,o+=h);for(var p=getTailOffset(o),d=getTailOffset(c);d>=1<p?new VNode([],n):_;if(_&&d>p&&sa;g-=a){var v=p>>>g&u;m=m.array[v]=editableVNode(m.array[v],n)}m.array[p>>>a&u]=_}if(c=d)s-=d,c-=d,f=a,l=null,y=y&&y.removeBefore(n,0,s);else if(s>i||d>>f&u;if(b!==d>>>f&u)break;b&&(h+=(1<i&&(l=l.removeBefore(n,f,s-h)),l&&di&&(i=s.size),isIterable(a)||(s=s.map((function(t){return fromJS(t)}))),n.push(s)}return i>t.size&&(t=t.setSize(i)),mergeIntoCollectionWith(t,e,n)}function getTailOffset(t){return t>>a<=s&&a.size>=2*o.size?(n=(i=a.filter((function(t,e){return void 0!==t&&u!==e}))).toKeyedSeq().map((function(t){return t[0]})).flip().toMap(),t.__ownerID&&(n.__ownerID=i.__ownerID=t.__ownerID)):(n=o.remove(e),i=u===a.size-1?a.pop():a.set(u,void 0))}else if(f){if(r===a.get(u)[1])return t;n=o,i=a.set(u,[e,r])}else n=o.set(e,a.size),i=a.set(a.size,[e,r]);return t.__ownerID?(t.size=n.size,t._map=n,t._list=i,t.__hash=void 0,t):makeOrderedMap(n,i)}function ToKeyedSequence(t,e){this._iter=t,this._useKeys=e,this.size=t.size}function ToIndexedSequence(t){this._iter=t,this.size=t.size}function ToSetSequence(t){this._iter=t,this.size=t.size}function FromEntriesSequence(t){this._iter=t,this.size=t.size}function flipFactory(t){var e=makeSequence(t);return e._iter=t,e.size=t.size,e.flip=function(){return t},e.reverse=function(){var e=t.reverse.apply(this);return e.flip=function(){return t.reverse()},e},e.has=function(e){return t.includes(e)},e.includes=function(e){return t.has(e)},e.cacheResult=cacheResultThrough,e.__iterateUncached=function(e,r){var n=this;return t.__iterate((function(t,r){return!1!==e(r,t,n)}),r)},e.__iteratorUncached=function(e,r){if(e===d){var n=t.__iterator(e,r);return new Iterator((function(){var t=n.next();if(!t.done){var e=t.value[0];t.value[0]=t.value[1],t.value[1]=e}return t}))}return t.__iterator(e===p?h:p,r)},e}function mapFactory(t,e,r){var n=makeSequence(t);return n.size=t.size,n.has=function(e){return t.has(e)},n.get=function(n,i){var o=t.get(n,c);return o===c?i:e.call(r,o,n,t)},n.__iterateUncached=function(n,i){var o=this;return t.__iterate((function(t,i,a){return!1!==n(e.call(r,t,i,a),i,o)}),i)},n.__iteratorUncached=function(n,i){var o=t.__iterator(d,i);return new Iterator((function(){var i=o.next();if(i.done)return i;var a=i.value,s=a[0];return iteratorValue(n,s,e.call(r,a[1],s,t),i)}))},n}function reverseFactory(t,e){var r=makeSequence(t);return r._iter=t,r.size=t.size,r.reverse=function(){return t},t.flip&&(r.flip=function(){var e=flipFactory(t);return e.reverse=function(){return t.flip()},e}),r.get=function(r,n){return t.get(e?r:-1-r,n)},r.has=function(r){return t.has(e?r:-1-r)},r.includes=function(e){return t.includes(e)},r.cacheResult=cacheResultThrough,r.__iterate=function(e,r){var n=this;return t.__iterate((function(t,r){return e(t,r,n)}),!r)},r.__iterator=function(e,r){return t.__iterator(e,!r)},r}function filterFactory(t,e,r,n){var i=makeSequence(t);return n&&(i.has=function(n){var i=t.get(n,c);return i!==c&&!!e.call(r,i,n,t)},i.get=function(n,i){var o=t.get(n,c);return o!==c&&e.call(r,o,n,t)?o:i}),i.__iterateUncached=function(i,o){var a=this,s=0;return t.__iterate((function(t,o,u){if(e.call(r,t,o,u))return s++,i(t,n?o:s-1,a)}),o),s},i.__iteratorUncached=function(i,o){var a=t.__iterator(d,o),s=0;return new Iterator((function(){for(;;){var o=a.next();if(o.done)return o;var u=o.value,c=u[0],f=u[1];if(e.call(r,f,c,t))return iteratorValue(i,n?c:s++,f,o)}}))},i}function countByFactory(t,e,r){var n=Map().asMutable();return t.__iterate((function(i,o){n.update(e.call(r,i,o,t),0,(function(t){return t+1}))})),n.asImmutable()}function groupByFactory(t,e,r){var n=isKeyed(t),i=(isOrdered(t)?OrderedMap():Map()).asMutable();t.__iterate((function(o,a){i.update(e.call(r,o,a,t),(function(t){return(t=t||[]).push(n?[a,o]:o),t}))}));var o=iterableClass(t);return i.map((function(e){return reify(t,o(e))}))}function sliceFactory(t,e,r,n){var i=t.size;if(void 0!==e&&(e|=0),void 0!==r&&(r===1/0?r=i:r|=0),wholeSlice(e,r,i))return t;var o=resolveBegin(e,i),a=resolveEnd(r,i);if(o!=o||a!=a)return sliceFactory(t.toSeq().cacheResult(),e,r,n);var s,u=a-o;u==u&&(s=u<0?0:u);var c=makeSequence(t);return c.size=0===s?s:t.size&&s||void 0,!n&&isSeq(t)&&s>=0&&(c.get=function(e,r){return(e=wrapIndex(this,e))>=0&&es)return iteratorDone();var t=i.next();return n||e===p?t:iteratorValue(e,u-1,e===h?void 0:t.value[1],t)}))},c}function takeWhileFactory(t,e,r){var n=makeSequence(t);return n.__iterateUncached=function(n,i){var o=this;if(i)return this.cacheResult().__iterate(n,i);var a=0;return t.__iterate((function(t,i,s){return e.call(r,t,i,s)&&++a&&n(t,i,o)})),a},n.__iteratorUncached=function(n,i){var o=this;if(i)return this.cacheResult().__iterator(n,i);var a=t.__iterator(d,i),s=!0;return new Iterator((function(){if(!s)return iteratorDone();var t=a.next();if(t.done)return t;var i=t.value,u=i[0],c=i[1];return e.call(r,c,u,o)?n===d?t:iteratorValue(n,u,c,t):(s=!1,iteratorDone())}))},n}function skipWhileFactory(t,e,r,n){var i=makeSequence(t);return i.__iterateUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterate(i,o);var s=!0,u=0;return t.__iterate((function(t,o,c){if(!s||!(s=e.call(r,t,o,c)))return u++,i(t,n?o:u-1,a)})),u},i.__iteratorUncached=function(i,o){var a=this;if(o)return this.cacheResult().__iterator(i,o);var s=t.__iterator(d,o),u=!0,c=0;return new Iterator((function(){var t,o,f;do{if((t=s.next()).done)return n||i===p?t:iteratorValue(i,c++,i===h?void 0:t.value[1],t);var l=t.value;o=l[0],f=l[1],u&&(u=e.call(r,f,o,a))}while(u);return i===d?t:iteratorValue(i,o,f,t)}))},i}function concatFactory(t,e){var r=isKeyed(t),n=[t].concat(e).map((function(t){return isIterable(t)?r&&(t=KeyedIterable(t)):t=r?keyedSeqFromValue(t):indexedSeqFromValue(Array.isArray(t)?t:[t]),t})).filter((function(t){return 0!==t.size}));if(0===n.length)return t;if(1===n.length){var i=n[0];if(i===t||r&&isKeyed(i)||isIndexed(t)&&isIndexed(i))return i}var o=new ArraySeq(n);return r?o=o.toKeyedSeq():isIndexed(t)||(o=o.toSetSeq()),(o=o.flatten(!0)).size=n.reduce((function(t,e){if(void 0!==t){var r=e.size;if(void 0!==r)return t+r}}),0),o}function flattenFactory(t,e,r){var n=makeSequence(t);return n.__iterateUncached=function(n,i){var o=0,a=!1;function flatDeep(t,s){var u=this;t.__iterate((function(t,i){return(!e||s0}function zipWithFactory(t,e,r){var n=makeSequence(t);return n.size=new ArraySeq(r).map((function(t){return t.size})).min(),n.__iterate=function(t,e){for(var r,n=this.__iterator(p,e),i=0;!(r=n.next()).done&&!1!==t(r.value,i++,this););return i},n.__iteratorUncached=function(t,n){var i=r.map((function(t){return t=Iterable(t),getIterator(n?t.reverse():t)})),o=0,a=!1;return new Iterator((function(){var r;return a||(r=i.map((function(t){return t.next()})),a=r.some((function(t){return t.done}))),a?iteratorDone():iteratorValue(t,o++,e.apply(null,r.map((function(t){return t.value}))))}))},n}function reify(t,e){return isSeq(t)?e:t.constructor(e)}function validateEntry(t){if(t!==Object(t))throw new TypeError("Expected [K, V] tuple: "+t)}function resolveSize(t){return assertNotInfinite(t.size),ensureSize(t)}function iterableClass(t){return isKeyed(t)?KeyedIterable:isIndexed(t)?IndexedIterable:SetIterable}function makeSequence(t){return Object.create((isKeyed(t)?KeyedSeq:isIndexed(t)?IndexedSeq:SetSeq).prototype)}function cacheResultThrough(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):Seq.prototype.cacheResult.call(this)}function defaultComparator(t,e){return t>e?1:t=0;r--)e={value:arguments[r],next:e};return this.__ownerID?(this.size=t,this._head=e,this.__hash=void 0,this.__altered=!0,this):makeStack(t,e)},Stack.prototype.pushAll=function(t){if(0===(t=IndexedIterable(t)).size)return this;assertNotInfinite(t.size);var e=this.size,r=this._head;return t.reverse().forEach((function(t){e++,r={value:t,next:r}})),this.__ownerID?(this.size=e,this._head=r,this.__hash=void 0,this.__altered=!0,this):makeStack(e,r)},Stack.prototype.pop=function(){return this.slice(1)},Stack.prototype.unshift=function(){return this.push.apply(this,arguments)},Stack.prototype.unshiftAll=function(t){return this.pushAll(t)},Stack.prototype.shift=function(){return this.pop.apply(this,arguments)},Stack.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):emptyStack()},Stack.prototype.slice=function(t,e){if(wholeSlice(t,e,this.size))return this;var r=resolveBegin(t,this.size);if(resolveEnd(e,this.size)!==this.size)return IndexedCollection.prototype.slice.call(this,t,e);for(var n=this.size-r,i=this._head;r--;)i=i.next;return this.__ownerID?(this.size=n,this._head=i,this.__hash=void 0,this.__altered=!0,this):makeStack(n,i)},Stack.prototype.__ensureOwner=function(t){return t===this.__ownerID?this:t?makeStack(this.size,this._head,t,this.__hash):(this.__ownerID=t,this.__altered=!1,this)},Stack.prototype.__iterate=function(t,e){if(e)return this.reverse().__iterate(t);for(var r=0,n=this._head;n&&!1!==t(n.value,r++,this);)n=n.next;return r},Stack.prototype.__iterator=function(t,e){if(e)return this.reverse().__iterator(t);var r=0,n=this._head;return new Iterator((function(){if(n){var e=n.value;return n=n.next,iteratorValue(t,r++,e)}return iteratorDone()}))},Stack.isStack=isStack;var ut,ct="@@__IMMUTABLE_STACK__@@",lt=Stack.prototype;function makeStack(t,e,r,n){var i=Object.create(lt);return i.size=t,i._head=e,i.__ownerID=r,i.__hash=n,i.__altered=!1,i}function emptyStack(){return ut||(ut=makeStack(0))}function mixin(t,e){var keyCopier=function(r){t.prototype[r]=e[r]};return Object.keys(e).forEach(keyCopier),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(e).forEach(keyCopier),t}lt[ct]=!0,lt.withMutations=V.withMutations,lt.asMutable=V.asMutable,lt.asImmutable=V.asImmutable,lt.wasAltered=V.wasAltered,Iterable.Iterator=Iterator,mixin(Iterable,{toArray:function(){assertNotInfinite(this.size);var t=new Array(this.size||0);return this.valueSeq().__iterate((function(e,r){t[r]=e})),t},toIndexedSeq:function(){return new ToIndexedSequence(this)},toJS:function(){return this.toSeq().map((function(t){return t&&"function"==typeof t.toJS?t.toJS():t})).__toJS()},toJSON:function(){return this.toSeq().map((function(t){return t&&"function"==typeof t.toJSON?t.toJSON():t})).__toJS()},toKeyedSeq:function(){return new ToKeyedSequence(this,!0)},toMap:function(){return Map(this.toKeyedSeq())},toObject:function(){assertNotInfinite(this.size);var t={};return this.__iterate((function(e,r){t[r]=e})),t},toOrderedMap:function(){return OrderedMap(this.toKeyedSeq())},toOrderedSet:function(){return OrderedSet(isKeyed(this)?this.valueSeq():this)},toSet:function(){return Set(isKeyed(this)?this.valueSeq():this)},toSetSeq:function(){return new ToSetSequence(this)},toSeq:function(){return isIndexed(this)?this.toIndexedSeq():isKeyed(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Stack(isKeyed(this)?this.valueSeq():this)},toList:function(){return List(isKeyed(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(t,e){return 0===this.size?t+e:t+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+e},concat:function(){return reify(this,concatFactory(this,t.call(arguments,0)))},includes:function(t){return this.some((function(e){return is(e,t)}))},entries:function(){return this.__iterator(d)},every:function(t,e){assertNotInfinite(this.size);var r=!0;return this.__iterate((function(n,i,o){if(!t.call(e,n,i,o))return r=!1,!1})),r},filter:function(t,e){return reify(this,filterFactory(this,t,e,!0))},find:function(t,e,r){var n=this.findEntry(t,e);return n?n[1]:r},forEach:function(t,e){return assertNotInfinite(this.size),this.__iterate(e?t.bind(e):t)},join:function(t){assertNotInfinite(this.size),t=void 0!==t?""+t:",";var e="",r=!0;return this.__iterate((function(n){r?r=!1:e+=t,e+=null!=n?n.toString():""})),e},keys:function(){return this.__iterator(h)},map:function(t,e){return reify(this,mapFactory(this,t,e))},reduce:function(t,e,r){var n,i;return assertNotInfinite(this.size),arguments.length<2?i=!0:n=e,this.__iterate((function(e,o,a){i?(i=!1,n=e):n=t.call(r,n,e,o,a)})),n},reduceRight:function(t,e,r){var n=this.toKeyedSeq().reverse();return n.reduce.apply(n,arguments)},reverse:function(){return reify(this,reverseFactory(this,!0))},slice:function(t,e){return reify(this,sliceFactory(this,t,e,!0))},some:function(t,e){return!this.every(not(t),e)},sort:function(t){return reify(this,sortFactory(this,t))},values:function(){return this.__iterator(p)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some((function(){return!0}))},count:function(t,e){return ensureSize(t?this.toSeq().filter(t,e):this)},countBy:function(t,e){return countByFactory(this,t,e)},equals:function(t){return deepEqual(this,t)},entrySeq:function(){var t=this;if(t._cache)return new ArraySeq(t._cache);var e=t.toSeq().map(entryMapper).toIndexedSeq();return e.fromEntrySeq=function(){return t.toSeq()},e},filterNot:function(t,e){return this.filter(not(t),e)},findEntry:function(t,e,r){var n=r;return this.__iterate((function(r,i,o){if(t.call(e,r,i,o))return n=[i,r],!1})),n},findKey:function(t,e){var r=this.findEntry(t,e);return r&&r[0]},findLast:function(t,e,r){return this.toKeyedSeq().reverse().find(t,e,r)},findLastEntry:function(t,e,r){return this.toKeyedSeq().reverse().findEntry(t,e,r)},findLastKey:function(t,e){return this.toKeyedSeq().reverse().findKey(t,e)},first:function(){return this.find(returnTrue)},flatMap:function(t,e){return reify(this,flatMapFactory(this,t,e))},flatten:function(t){return reify(this,flattenFactory(this,t,!0))},fromEntrySeq:function(){return new FromEntriesSequence(this)},get:function(t,e){return this.find((function(e,r){return is(r,t)}),void 0,e)},getIn:function(t,e){for(var r,n=this,i=forceIterator(t);!(r=i.next()).done;){var o=r.value;if((n=n&&n.get?n.get(o,c):c)===c)return e}return n},groupBy:function(t,e){return groupByFactory(this,t,e)},has:function(t){return this.get(t,c)!==c},hasIn:function(t){return this.getIn(t,c)!==c},isSubset:function(t){return t="function"==typeof t.includes?t:Iterable(t),this.every((function(e){return t.includes(e)}))},isSuperset:function(t){return(t="function"==typeof t.isSubset?t:Iterable(t)).isSubset(this)},keyOf:function(t){return this.findKey((function(e){return is(e,t)}))},keySeq:function(){return this.toSeq().map(keyMapper).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(t){return this.toKeyedSeq().reverse().keyOf(t)},max:function(t){return maxFactory(this,t)},maxBy:function(t,e){return maxFactory(this,e,t)},min:function(t){return maxFactory(this,t?neg(t):defaultNegComparator)},minBy:function(t,e){return maxFactory(this,e?neg(e):defaultNegComparator,t)},rest:function(){return this.slice(1)},skip:function(t){return this.slice(Math.max(0,t))},skipLast:function(t){return reify(this,this.toSeq().reverse().skip(t).reverse())},skipWhile:function(t,e){return reify(this,skipWhileFactory(this,t,e,!0))},skipUntil:function(t,e){return this.skipWhile(not(t),e)},sortBy:function(t,e){return reify(this,sortFactory(this,e,t))},take:function(t){return this.slice(0,Math.max(0,t))},takeLast:function(t){return reify(this,this.toSeq().reverse().take(t).reverse())},takeWhile:function(t,e){return reify(this,takeWhileFactory(this,t,e))},takeUntil:function(t,e){return this.takeWhile(not(t),e)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=hashIterable(this))}});var ht=Iterable.prototype;ht[e]=!0,ht[m]=ht.values,ht.__toJS=ht.toArray,ht.__toStringMapper=quoteString,ht.inspect=ht.toSource=function(){return this.toString()},ht.chain=ht.flatMap,ht.contains=ht.includes,mixin(KeyedIterable,{flip:function(){return reify(this,flipFactory(this))},mapEntries:function(t,e){var r=this,n=0;return reify(this,this.toSeq().map((function(i,o){return t.call(e,[o,i],n++,r)})).fromEntrySeq())},mapKeys:function(t,e){var r=this;return reify(this,this.toSeq().flip().map((function(n,i){return t.call(e,n,i,r)})).flip())}});var pt=KeyedIterable.prototype;function keyMapper(t,e){return e}function entryMapper(t,e){return[e,t]}function not(t){return function(){return!t.apply(this,arguments)}}function neg(t){return function(){return-t.apply(this,arguments)}}function quoteString(t){return"string"==typeof t?JSON.stringify(t):String(t)}function defaultZipper(){return arrCopy(arguments)}function defaultNegComparator(t,e){return te?-1:0}function hashIterable(t){if(t.size===1/0)return 0;var e=isOrdered(t),r=isKeyed(t),n=e?1:0;return murmurHashOfSize(t.__iterate(r?e?function(t,e){n=31*n+hashMerge(hash(t),hash(e))|0}:function(t,e){n=n+hashMerge(hash(t),hash(e))|0}:e?function(t){n=31*n+hash(t)|0}:function(t){n=n+hash(t)|0}),n)}function murmurHashOfSize(t,e){return e=I(e,3432918353),e=I(e<<15|e>>>-15,461845907),e=I(e<<13|e>>>-13,5),e=I((e=e+3864292196^t)^e>>>16,2246822507),e=smi((e=I(e^e>>>13,3266489909))^e>>>16)}function hashMerge(t,e){return t^e+2654435769+(t<<6)+(t>>2)}return pt[r]=!0,pt[m]=ht.entries,pt.__toJS=ht.toObject,pt.__toStringMapper=function(t,e){return JSON.stringify(e)+": "+quoteString(t)},mixin(IndexedIterable,{toKeyedSeq:function(){return new ToKeyedSequence(this,!1)},filter:function(t,e){return reify(this,filterFactory(this,t,e,!1))},findIndex:function(t,e){var r=this.findEntry(t,e);return r?r[0]:-1},indexOf:function(t){var e=this.keyOf(t);return void 0===e?-1:e},lastIndexOf:function(t){var e=this.lastKeyOf(t);return void 0===e?-1:e},reverse:function(){return reify(this,reverseFactory(this,!1))},slice:function(t,e){return reify(this,sliceFactory(this,t,e,!1))},splice:function(t,e){var r=arguments.length;if(e=Math.max(0|e,0),0===r||2===r&&!e)return this;t=resolveBegin(t,t<0?this.count():this.size);var n=this.slice(0,t);return reify(this,1===r?n:n.concat(arrCopy(arguments,2),this.slice(t+e)))},findLastIndex:function(t,e){var r=this.findLastEntry(t,e);return r?r[0]:-1},first:function(){return this.get(0)},flatten:function(t){return reify(this,flattenFactory(this,t,!1))},get:function(t,e){return(t=wrapIndex(this,t))<0||this.size===1/0||void 0!==this.size&&t>this.size?e:this.find((function(e,r){return r===t}),void 0,e)},has:function(t){return(t=wrapIndex(this,t))>=0&&(void 0!==this.size?this.size===1/0||t{"use strict";var n=r(8828);t.exports=!n((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},9538:(t,e,r)=>{"use strict";var n=r(9447),i=r(1907),o=r(3930),a=r(8828),s=r(2875),u=r(7170),c=r(2574),f=r(9298),l=r(6946),h=Object.assign,p=Object.defineProperty,d=i([].concat);t.exports=!h||a((function(){if(n&&1!==h({b:1},h(p({},"a",{enumerable:!0,get:function(){p(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol("assign detection"),i="abcdefghijklmnopqrst";return t[r]=7,i.split("").forEach((function(t){e[t]=t})),7!==h({},t)[r]||s(h({},e)).join("")!==i}))?function assign(t,e){for(var r=f(t),i=arguments.length,a=1,h=u.f,p=c.f;i>a;)for(var _,y=l(arguments[a++]),m=h?d(s(y),h(y)):s(y),g=m.length,v=0;g>v;)_=m[v++],n&&!o(p,y,_)||(r[_]=y[_]);return r}:h},9552:(t,e,r)=>{"use strict";var n=r(5951),i=r(6285),o=n.document,a=i(o)&&i(o.createElement);t.exports=function(t){return a?o.createElement(t):{}}},9698:t=>{var e=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function hasUnicode(t){return e.test(t)}},9709:(t,e,r)=>{"use strict";var n=r(3034);t.exports=n},9724:(t,e,r)=>{"use strict";var n=r(1907),i=r(9298),o=n({}.hasOwnProperty);t.exports=Object.hasOwn||function hasOwn(t,e){return o(i(t),e)}},9748:(t,e,r)=>{"use strict";r(1340);var n=r(2046);t.exports=n.Object.assign},9770:t=>{t.exports=function arrayFilter(t,e){for(var r=-1,n=null==t?0:t.length,i=0,o=[];++r{t.exports=function stackHas(t){return this.__data__.has(t)}},9846:(t,e,r)=>{"use strict";var n=r(798),i=r(8828),o=r(5951).String;t.exports=!!Object.getOwnPropertySymbols&&!i((function(){var t=Symbol("symbol detection");return!o(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},9935:t=>{t.exports=function stubFalse(){return!1}}},e={};function __webpack_require__(r){var n=e[r];if(void 0!==n)return n.exports;var i=e[r]={id:r,loaded:!1,exports:{}};return t[r].call(i.exports,i,i.exports,__webpack_require__),i.loaded=!0,i.exports}__webpack_require__.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var r in e)__webpack_require__.o(e,r)&&!__webpack_require__.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var r={};return(()=>{"use strict";__webpack_require__.d(r,{default:()=>ae});var t={};__webpack_require__.r(t),__webpack_require__.d(t,{TOGGLE_CONFIGS:()=>Qt,UPDATE_CONFIGS:()=>Jt,downloadConfig:()=>downloadConfig,getConfigByUrl:()=>getConfigByUrl,loaded:()=>loaded,toggle:()=>toggle,update:()=>update});var e={};__webpack_require__.r(e),__webpack_require__.d(e,{get:()=>get});var n=__webpack_require__(6540);class StandaloneLayout extends n.Component{render(){const{getComponent:t}=this.props,e=t("Container"),r=t("Row"),i=t("Col"),o=t("Topbar",!0),a=t("BaseLayout",!0),s=t("onlineValidatorBadge",!0);return n.createElement(e,{className:"swagger-ui"},o?n.createElement(o,null):null,n.createElement(a,null),n.createElement(r,null,n.createElement(i,null,n.createElement(s,null))))}}const i=StandaloneLayout,stadalone_layout=()=>({components:{StandaloneLayout:i}});var o=__webpack_require__(9404),a=__webpack_require__.n(o);__webpack_require__(4058),__webpack_require__(5808),__webpack_require__(104),__webpack_require__(7309),__webpack_require__(2426),__webpack_require__(5288),__webpack_require__(1882),__webpack_require__(2205),__webpack_require__(3209),__webpack_require__(2802);const s=function makeWindow(){var t={location:{},history:{},open:()=>{},close:()=>{},File:function(){},FormData:function(){}};if("undefined"==typeof window)return t;try{t=window;for(var e of["File","Blob","FormData"])e in window&&(t[e]=window[e])}catch(t){console.error(t)}return t}();a().Set.of("type","format","items","default","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","maxItems","minItems","uniqueItems","enum","multipleOf");__webpack_require__(8287).Buffer;const parseSearch=()=>{const t=new URLSearchParams(s.location.search);return Object.fromEntries(t)};class TopBar extends n.Component{constructor(t,e){super(t,e),this.state={url:t.specSelectors.url(),selectedIndex:0}}UNSAFE_componentWillReceiveProps(t){this.setState({url:t.specSelectors.url()})}onUrlChange=t=>{let{target:{value:e}}=t;this.setState({url:e})};flushAuthData(){const{persistAuthorization:t}=this.props.getConfigs();t||this.props.authActions.restoreAuthorization({authorized:{}})}loadSpec=t=>{this.flushAuthData(),this.props.specActions.updateUrl(t),this.props.specActions.download(t)};onUrlSelect=t=>{let e=t.target.value||t.target.href;this.loadSpec(e),this.setSelectedUrl(e),t.preventDefault()};downloadUrl=t=>{this.loadSpec(this.state.url),t.preventDefault()};setSearch=t=>{let e=parseSearch();e["urls.primaryName"]=t.name;const r=`${window.location.protocol}//${window.location.host}${window.location.pathname}`;window&&window.history&&window.history.pushState&&window.history.replaceState(null,"",`${r}?${(t=>{const e=new URLSearchParams(Object.entries(t));return String(e)})(e)}`)};setSelectedUrl=t=>{const e=this.props.getConfigs().urls||[];e&&e.length&&t&&e.forEach(((e,r)=>{e.url===t&&(this.setState({selectedIndex:r}),this.setSearch(e))}))};componentDidMount(){const t=this.props.getConfigs(),e=t.urls||[];if(e&&e.length){var r=this.state.selectedIndex;let n=parseSearch()["urls.primaryName"]||t.urls.primaryName;n&&e.forEach(((t,e)=>{t.name===n&&(this.setState({selectedIndex:e}),r=e)})),this.loadSpec(e[r].url)}}onFilterChange=t=>{let{target:{value:e}}=t;this.props.layoutActions.updateFilter(e)};render(){let{getComponent:t,specSelectors:e,getConfigs:r}=this.props;const i=t("Button"),o=t("Link"),a=t("Logo");let s="loading"===e.loadingStatus();const u=["download-url-input"];"failed"===e.loadingStatus()&&u.push("failed"),s&&u.push("loading");const{urls:c}=r();let f=[],l=null;if(c){let t=[];c.forEach(((e,r)=>{t.push(n.createElement("option",{key:r,value:e.url},e.name))})),f.push(n.createElement("label",{className:"select-label",htmlFor:"select"},n.createElement("span",null,"Select a definition"),n.createElement("select",{id:"select",disabled:s,onChange:this.onUrlSelect,value:c[this.state.selectedIndex].url},t)))}else l=this.downloadUrl,f.push(n.createElement("input",{className:u.join(" "),type:"text",onChange:this.onUrlChange,value:this.state.url,disabled:s,id:"download-url-input"})),f.push(n.createElement(i,{className:"download-url-button",onClick:this.downloadUrl},"Explore"));return n.createElement("div",{className:"topbar"},n.createElement("div",{className:"wrapper"},n.createElement("div",{className:"topbar-wrapper"},n.createElement(o,null,n.createElement(a,null)),n.createElement("form",{className:"download-url-wrapper",onSubmit:l},f.map(((t,e)=>(0,n.cloneElement)(t,{key:e})))))))}}const u=TopBar;var c,f,l,h,p,d,_,y,m,g,v,b,w,I,x,B,k,C,q,L,j,z,P,D,U,W,V,K,$,H,Y,Z;function _extends(){return _extends=Object.assign?Object.assign.bind():function(t){for(var e=1;en.createElement("svg",_extends({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 407 116"},t),c||(c=n.createElement("defs",null,n.createElement("clipPath",{id:"logo_small_svg__clip-SW_TM-logo-on-dark"},n.createElement("path",{d:"M0 0h407v116H0z"})),n.createElement("style",null,".logo_small_svg__cls-2{fill:#fff}.logo_small_svg__cls-3{fill:#85ea2d}"))),n.createElement("g",{id:"logo_small_svg__SW_TM-logo-on-dark",style:{clipPath:"url(#logo_small_svg__clip-SW_TM-logo-on-dark)"}},n.createElement("g",{id:"logo_small_svg__SW_In-Product",transform:"translate(-.301)"},f||(f=n.createElement("path",{id:"logo_small_svg__Path_2936",d:"M359.15 70.674h-.7v-3.682h-1.26v-.6h3.219v.6h-1.259Z",className:"logo_small_svg__cls-2","data-name":"Path 2936"})),l||(l=n.createElement("path",{id:"logo_small_svg__Path_2937",d:"m363.217 70.674-1.242-3.574h-.023q.05.8.05 1.494v2.083h-.636v-4.286h.987l1.19 3.407h.017l1.225-3.407h.99v4.283h-.675v-2.118a30 30 0 0 1 .044-1.453h-.023l-1.286 3.571Z",className:"logo_small_svg__cls-2","data-name":"Path 2937"})),h||(h=n.createElement("path",{id:"logo_small_svg__Path_2938",d:"M50.328 97.669a47.642 47.642 0 1 1 47.643-47.642 47.64 47.64 0 0 1-47.643 47.642",className:"logo_small_svg__cls-3","data-name":"Path 2938"})),p||(p=n.createElement("path",{id:"logo_small_svg__Path_2939",d:"M50.328 4.769A45.258 45.258 0 1 1 5.07 50.027 45.26 45.26 0 0 1 50.328 4.769m0-4.769a50.027 50.027 0 1 0 50.027 50.027A50.027 50.027 0 0 0 50.328 0",className:"logo_small_svg__cls-3","data-name":"Path 2939"})),n.createElement("path",{id:"logo_small_svg__Path_2940",d:"M31.8 33.854c-.154 1.712.058 3.482-.057 5.213a43 43 0 0 1-.693 5.156 9.53 9.53 0 0 1-4.1 5.829c4.079 2.654 4.54 6.771 4.81 10.946.135 2.25.077 4.52.308 6.752.173 1.731.846 2.174 2.636 2.231.73.02 1.48 0 2.327 0v5.349c-5.29.9-9.657-.6-10.734-5.079a31 31 0 0 1-.654-5c-.117-1.789.076-3.578-.058-5.367-.386-4.906-1.02-6.56-5.713-6.791v-6.1a9 9 0 0 1 1.028-.173c2.577-.135 3.674-.924 4.231-3.463a29 29 0 0 0 .481-4.329 82 82 0 0 1 .6-8.406c.673-3.982 3.136-5.906 7.234-6.137 1.154-.057 2.327 0 3.655 0v5.464c-.558.038-1.039.115-1.539.115-3.336-.115-3.51 1.02-3.762 3.79m6.406 12.658h-.077a3.515 3.515 0 1 0-.346 7.021h.231a3.46 3.46 0 0 0 3.655-3.251v-.192a3.523 3.523 0 0 0-3.461-3.578Zm12.062 0a3.373 3.373 0 0 0-3.482 3.251 2 2 0 0 0 .02.327 3.3 3.3 0 0 0 3.578 3.443 3.263 3.263 0 0 0 3.443-3.558 3.308 3.308 0 0 0-3.557-3.463Zm12.351 0a3.59 3.59 0 0 0-3.655 3.482 3.53 3.53 0 0 0 3.536 3.539h.039c1.769.309 3.559-1.4 3.674-3.462a3.57 3.57 0 0 0-3.6-3.559Zm16.948.288c-2.232-.1-3.348-.846-3.9-2.962a21.5 21.5 0 0 1-.635-4.136c-.154-2.578-.135-5.175-.308-7.753-.4-6.117-4.828-8.252-11.254-7.195v5.31c1.019 0 1.808 0 2.6.019 1.366.019 2.4.539 2.539 2.059.135 1.385.135 2.789.27 4.193.269 2.79.422 5.618.9 8.369a8.72 8.72 0 0 0 3.921 5.348c-3.4 2.289-4.406 5.559-4.578 9.234-.1 2.52-.154 5.059-.289 7.6-.115 2.308-.923 3.058-3.251 3.116-.654.019-1.289.077-2.019.115v5.445c1.365 0 2.616.077 3.866 0 3.886-.231 6.233-2.117 7-5.887A49 49 0 0 0 75 63.4c.135-1.923.116-3.866.308-5.771.289-2.982 1.655-4.213 4.636-4.4a4 4 0 0 0 .828-.192v-6.1c-.5-.058-.843-.115-1.208-.135Z","data-name":"Path 2940",style:{fill:"#173647"}}),d||(d=n.createElement("path",{id:"logo_small_svg__Path_2941",d:"M152.273 58.122a11.23 11.23 0 0 1-4.384 9.424q-4.383 3.382-11.9 3.382-8.14 0-12.524-2.1V63.7a33 33 0 0 0 6.137 1.879 32.3 32.3 0 0 0 6.575.689q5.322 0 8.015-2.02a6.63 6.63 0 0 0 2.692-5.62 7.2 7.2 0 0 0-.954-3.9 8.9 8.9 0 0 0-3.194-2.8 44.6 44.6 0 0 0-6.81-2.911q-6.387-2.286-9.126-5.417a11.96 11.96 0 0 1-2.74-8.172A10.16 10.16 0 0 1 128.039 27q3.977-3.131 10.52-3.131a31 31 0 0 1 12.555 2.5L149.455 31a28.4 28.4 0 0 0-11.021-2.38 10.67 10.67 0 0 0-6.606 1.816 5.98 5.98 0 0 0-2.38 5.041 7.7 7.7 0 0 0 .877 3.9 8.24 8.24 0 0 0 2.959 2.786 36.7 36.7 0 0 0 6.371 2.8q7.2 2.566 9.91 5.51a10.84 10.84 0 0 1 2.708 7.649",className:"logo_small_svg__cls-2","data-name":"Path 2941"})),_||(_=n.createElement("path",{id:"logo_small_svg__Path_2942",d:"M185.288 70.3 179 50.17q-.594-1.848-2.222-8.391h-.251q-1.252 5.479-2.192 8.453L167.849 70.3h-6.011l-9.361-34.315h5.447q3.318 12.931 5.057 19.693a80 80 0 0 1 1.988 9.111h.25q.345-1.785 1.112-4.618t1.33-4.493l6.294-19.693h5.635l6.137 19.693a66 66 0 0 1 2.379 9.048h.251a33 33 0 0 1 .673-3.475q.548-2.347 6.528-25.266h5.385L191.456 70.3Z",className:"logo_small_svg__cls-2","data-name":"Path 2942"})),y||(y=n.createElement("path",{id:"logo_small_svg__Path_2943",d:"m225.115 70.3-1.033-4.885h-.25a14.45 14.45 0 0 1-5.119 4.368 15.6 15.6 0 0 1-6.372 1.143q-5.1 0-8-2.63t-2.9-7.483q0-10.4 16.626-10.9l5.823-.188V47.6q0-4.038-1.738-5.964t-5.552-1.923a22.6 22.6 0 0 0-9.706 2.63l-1.6-3.977a24.4 24.4 0 0 1 5.557-2.16 24 24 0 0 1 6.058-.783q6.136 0 9.1 2.724t2.959 8.735V70.3Zm-11.741-3.663a10.55 10.55 0 0 0 7.626-2.66 9.85 9.85 0 0 0 2.771-7.451v-3.1l-5.2.219q-6.2.219-8.939 1.926a5.8 5.8 0 0 0-2.74 5.306 5.35 5.35 0 0 0 1.707 4.29 7.08 7.08 0 0 0 4.775 1.472Z",className:"logo_small_svg__cls-2","data-name":"Path 2943"})),m||(m=n.createElement("path",{id:"logo_small_svg__Path_2944",d:"M264.6 35.987v3.287l-6.356.752a11.16 11.16 0 0 1 2.255 6.856 10.15 10.15 0 0 1-3.444 8.047q-3.444 3-9.456 3a15.7 15.7 0 0 1-2.88-.25Q241.4 59.438 241.4 62.1a2.24 2.24 0 0 0 1.159 2.082 8.46 8.46 0 0 0 3.976.673h6.074q5.573 0 8.563 2.348a8.16 8.16 0 0 1 2.99 6.825 9.74 9.74 0 0 1-4.571 8.688q-4.572 2.989-13.338 2.99-6.732 0-10.379-2.5a8.09 8.09 0 0 1-3.647-7.076 7.95 7.95 0 0 1 2-5.417 10.2 10.2 0 0 1 5.636-3.1 5.43 5.43 0 0 1-2.207-1.847 4.9 4.9 0 0 1-.893-2.912 5.53 5.53 0 0 1 1-3.288 10.5 10.5 0 0 1 3.162-2.723 9.28 9.28 0 0 1-4.336-3.726 10.95 10.95 0 0 1-1.675-6.012q0-5.634 3.382-8.688t9.58-3.052a17.4 17.4 0 0 1 4.853.626Zm-27.367 40.075a4.66 4.66 0 0 0 2.348 4.227 12.97 12.97 0 0 0 6.732 1.44q6.543 0 9.69-1.956a5.99 5.99 0 0 0 3.147-5.307q0-2.787-1.723-3.867t-6.481-1.08h-6.23a8.2 8.2 0 0 0-5.51 1.69 6.04 6.04 0 0 0-1.973 4.853m2.818-29.086a6.98 6.98 0 0 0 2.035 5.448 8.12 8.12 0 0 0 5.667 1.847q7.608 0 7.608-7.389 0-7.733-7.7-7.733a7.63 7.63 0 0 0-5.635 1.972q-1.976 1.973-1.975 5.855",className:"logo_small_svg__cls-2","data-name":"Path 2944"})),g||(g=n.createElement("path",{id:"logo_small_svg__Path_2945",d:"M299.136 35.987v3.287l-6.356.752a11.17 11.17 0 0 1 2.254 6.856 10.15 10.15 0 0 1-3.444 8.047q-3.444 3-9.455 3a15.7 15.7 0 0 1-2.88-.25q-3.32 1.754-3.319 4.415a2.24 2.24 0 0 0 1.158 2.082 8.46 8.46 0 0 0 3.976.673h6.074q5.574 0 8.563 2.348a8.16 8.16 0 0 1 2.99 6.825 9.74 9.74 0 0 1-4.571 8.688q-4.57 2.989-13.337 2.99-6.732 0-10.379-2.5a8.09 8.09 0 0 1-3.648-7.076 7.95 7.95 0 0 1 2-5.417 10.2 10.2 0 0 1 5.636-3.1 5.43 5.43 0 0 1-2.208-1.847 4.9 4.9 0 0 1-.892-2.912 5.53 5.53 0 0 1 1-3.288 10.5 10.5 0 0 1 3.162-2.723 9.27 9.27 0 0 1-4.336-3.726 10.95 10.95 0 0 1-1.675-6.012q0-5.634 3.381-8.688t9.581-3.052a17.4 17.4 0 0 1 4.853.626Zm-27.364 40.075a4.66 4.66 0 0 0 2.348 4.227 12.97 12.97 0 0 0 6.731 1.44q6.544 0 9.691-1.956a5.99 5.99 0 0 0 3.146-5.307q0-2.787-1.722-3.867t-6.481-1.08h-6.23a8.2 8.2 0 0 0-5.511 1.69 6.04 6.04 0 0 0-1.972 4.853m2.818-29.086a6.98 6.98 0 0 0 2.035 5.448 8.12 8.12 0 0 0 5.667 1.847q7.607 0 7.608-7.389 0-7.733-7.7-7.733a7.63 7.63 0 0 0-5.635 1.972q-1.975 1.973-1.975 5.855",className:"logo_small_svg__cls-2","data-name":"Path 2945"})),v||(v=n.createElement("path",{id:"logo_small_svg__Path_2946",d:"M316.778 70.928q-7.608 0-12.007-4.634t-4.4-12.868q0-8.3 4.086-13.181a13.57 13.57 0 0 1 10.974-4.884 12.94 12.94 0 0 1 10.207 4.239q3.762 4.247 3.762 11.2v3.287h-23.643q.156 6.044 3.053 9.174t8.156 3.131a27.6 27.6 0 0 0 10.958-2.317v4.634a27.5 27.5 0 0 1-5.213 1.706 29.3 29.3 0 0 1-5.933.513m-1.409-31.215a8.49 8.49 0 0 0-6.591 2.692 12.4 12.4 0 0 0-2.9 7.452h17.94q0-4.916-2.191-7.53a7.71 7.71 0 0 0-6.258-2.614",className:"logo_small_svg__cls-2","data-name":"Path 2946"})),b||(b=n.createElement("path",{id:"logo_small_svg__Path_2947",d:"M350.9 35.361a20.4 20.4 0 0 1 4.1.375l-.721 4.822a17.7 17.7 0 0 0-3.757-.47 9.14 9.14 0 0 0-7.122 3.382 12.33 12.33 0 0 0-2.959 8.422V70.3h-5.2V35.987h4.29l.6 6.356h.25a15.1 15.1 0 0 1 4.6-5.166 10.36 10.36 0 0 1 5.919-1.816",className:"logo_small_svg__cls-2","data-name":"Path 2947"})),w||(w=n.createElement("path",{id:"logo_small_svg__Path_2948",d:"M255.857 96.638s-3.43-.391-4.85-.391c-2.058 0-3.111.735-3.111 2.18 0 1.568.882 1.935 3.748 2.719 3.527.98 4.8 1.911 4.8 4.777 0 3.675-2.3 5.267-5.61 5.267a36 36 0 0 1-5.487-.662l.27-2.18s3.306.441 5.046.441c2.082 0 3.037-.931 3.037-2.7 0-1.421-.759-1.91-3.331-2.523-3.626-.93-5.193-2.033-5.193-4.948 0-3.381 2.229-4.776 5.585-4.776a37 37 0 0 1 5.315.587Z",className:"logo_small_svg__cls-2","data-name":"Path 2948"})),I||(I=n.createElement("path",{id:"logo_small_svg__Path_2949",d:"M262.967 94.14h4.733l3.748 13.106L275.2 94.14h4.752v16.78H277.2v-14.5h-.145l-4.191 13.816h-2.842l-4.191-13.816h-.145v14.5h-2.719Z",className:"logo_small_svg__cls-2","data-name":"Path 2949"})),x||(x=n.createElement("path",{id:"logo_small_svg__Path_2950",d:"M322.057 94.14H334.3v2.425h-4.728v14.355h-2.743V96.565h-4.777Z",className:"logo_small_svg__cls-2","data-name":"Path 2950"})),B||(B=n.createElement("path",{id:"logo_small_svg__Path_2951",d:"M346.137 94.14c3.332 0 5.12 1.249 5.12 4.361 0 2.033-.637 3.037-1.984 3.772 1.445.563 2.4 1.592 2.4 3.9 0 3.43-2.081 4.752-5.339 4.752h-6.566V94.14Zm-3.65 2.352v4.8h3.6c1.666 0 2.4-.832 2.4-2.474 0-1.617-.833-2.327-2.5-2.327Zm0 7.1v4.973h3.7c1.689 0 2.694-.539 2.694-2.548 0-1.911-1.421-2.425-2.744-2.425Z",className:"logo_small_svg__cls-2","data-name":"Path 2951"})),k||(k=n.createElement("path",{id:"logo_small_svg__Path_2952",d:"M358.414 94.14H369v2.377h-7.864v4.751h6.394v2.332h-6.394v4.924H369v2.4h-10.586Z",className:"logo_small_svg__cls-2","data-name":"Path 2952"})),C||(C=n.createElement("path",{id:"logo_small_svg__Path_2953",d:"M378.747 94.14h5.414l4.164 16.78h-2.744l-1.239-4.92h-5.777l-1.239 4.923h-2.719Zm.361 9.456h4.708l-1.737-7.178h-1.225Z",className:"logo_small_svg__cls-2","data-name":"Path 2953"})),q||(q=n.createElement("path",{id:"logo_small_svg__Path_2954",d:"M397.1 105.947v4.973h-2.719V94.14h6.37c3.7 0 5.683 2.12 5.683 5.843 0 2.376-.956 4.519-2.744 5.352l2.769 5.585h-2.989l-2.426-4.973Zm3.651-9.455H397.1v7.1h3.7c2.057 0 2.841-1.85 2.841-3.589 0-1.9-.934-3.511-2.894-3.511Z",className:"logo_small_svg__cls-2","data-name":"Path 2954"})),L||(L=n.createElement("path",{id:"logo_small_svg__Path_2955",d:"M290.013 94.14h5.413l4.164 16.78h-2.743l-1.239-4.92h-5.777l-1.239 4.923h-2.719Zm.361 9.456h4.707l-1.737-7.178h-1.225Z",className:"logo_small_svg__cls-2","data-name":"Path 2955"})),j||(j=n.createElement("path",{id:"logo_small_svg__Path_2956",d:"M308.362 105.947v4.973h-2.719V94.14h6.369c3.7 0 5.683 2.12 5.683 5.843 0 2.376-.955 4.519-2.743 5.352l2.768 5.585h-2.989l-2.425-4.973Zm3.65-9.455h-3.65v7.1h3.7c2.058 0 2.841-1.85 2.841-3.589-.003-1.903-.931-3.511-2.891-3.511",className:"logo_small_svg__cls-2","data-name":"Path 2956"})),z||(z=n.createElement("path",{id:"logo_small_svg__Path_2957",d:"M130.606 107.643a3.02 3.02 0 0 1-1.18 2.537 5.1 5.1 0 0 1-3.2.91 8 8 0 0 1-3.371-.564v-1.383a9 9 0 0 0 1.652.506 8.7 8.7 0 0 0 1.77.186 3.57 3.57 0 0 0 2.157-.544 1.78 1.78 0 0 0 .725-1.512 1.95 1.95 0 0 0-.257-1.05 2.4 2.4 0 0 0-.86-.754 12 12 0 0 0-1.833-.784 5.84 5.84 0 0 1-2.456-1.458 3.2 3.2 0 0 1-.738-2.2 2.74 2.74 0 0 1 1.071-2.267 4.44 4.44 0 0 1 2.831-.843 8.3 8.3 0 0 1 3.38.675l-.447 1.247a7.6 7.6 0 0 0-2.966-.641 2.88 2.88 0 0 0-1.779.489 1.61 1.61 0 0 0-.64 1.357 2.1 2.1 0 0 0 .236 1.049 2.2 2.2 0 0 0 .8.75 10 10 0 0 0 1.715.754 6.8 6.8 0 0 1 2.667 1.483 2.92 2.92 0 0 1 .723 2.057",className:"logo_small_svg__cls-2","data-name":"Path 2957"})),P||(P=n.createElement("path",{id:"logo_small_svg__Path_2958",d:"M134.447 101.686v5.991a2.4 2.4 0 0 0 .515 1.686 2.1 2.1 0 0 0 1.609.556 2.63 2.63 0 0 0 2.12-.792 4 4 0 0 0 .67-2.587v-4.854h1.4v9.236H139.6l-.2-1.239h-.075a2.8 2.8 0 0 1-1.193 1.045 4 4 0 0 1-1.74.362 3.53 3.53 0 0 1-2.524-.8 3.4 3.4 0 0 1-.839-2.562v-6.042Z",className:"logo_small_svg__cls-2","data-name":"Path 2958"})),D||(D=n.createElement("path",{id:"logo_small_svg__Path_2959",d:"M148.206 111.09a4 4 0 0 1-1.647-.333 3.1 3.1 0 0 1-1.252-1.023h-.1a12 12 0 0 1 .1 1.533v3.8h-1.4v-13.381h1.137l.194 1.264h.067a3.26 3.26 0 0 1 1.256-1.1 3.8 3.8 0 0 1 1.643-.337 3.41 3.41 0 0 1 2.836 1.256 6.68 6.68 0 0 1-.017 7.057 3.42 3.42 0 0 1-2.817 1.264m-.2-8.385a2.48 2.48 0 0 0-2.048.784 4.04 4.04 0 0 0-.649 2.494v.312a4.63 4.63 0 0 0 .649 2.785 2.47 2.47 0 0 0 2.082.839 2.16 2.16 0 0 0 1.875-.969 4.6 4.6 0 0 0 .678-2.671 4.43 4.43 0 0 0-.678-2.651 2.23 2.23 0 0 0-1.915-.923Z",className:"logo_small_svg__cls-2","data-name":"Path 2959"})),U||(U=n.createElement("path",{id:"logo_small_svg__Path_2960",d:"M159.039 111.09a4 4 0 0 1-1.647-.333 3.1 3.1 0 0 1-1.252-1.023h-.1a12 12 0 0 1 .1 1.533v3.8h-1.4v-13.381h1.137l.194 1.264h.067a3.26 3.26 0 0 1 1.256-1.1 3.8 3.8 0 0 1 1.643-.337 3.41 3.41 0 0 1 2.836 1.256 6.68 6.68 0 0 1-.017 7.057 3.42 3.42 0 0 1-2.817 1.264m-.2-8.385a2.48 2.48 0 0 0-2.048.784 4.04 4.04 0 0 0-.649 2.494v.312a4.63 4.63 0 0 0 .649 2.785 2.47 2.47 0 0 0 2.082.839 2.16 2.16 0 0 0 1.875-.969 4.6 4.6 0 0 0 .678-2.671 4.43 4.43 0 0 0-.678-2.651 2.23 2.23 0 0 0-1.911-.923Z",className:"logo_small_svg__cls-2","data-name":"Path 2960"})),W||(W=n.createElement("path",{id:"logo_small_svg__Path_2961",d:"M173.612 106.3a5.1 5.1 0 0 1-1.137 3.527 4 4 0 0 1-3.143 1.268 4.17 4.17 0 0 1-2.2-.581 3.84 3.84 0 0 1-1.483-1.669 5.8 5.8 0 0 1-.522-2.545 5.1 5.1 0 0 1 1.129-3.518 4 4 0 0 1 3.135-1.26 3.9 3.9 0 0 1 3.08 1.29 5.07 5.07 0 0 1 1.141 3.488m-7.036 0a4.4 4.4 0 0 0 .708 2.7 2.81 2.81 0 0 0 4.167 0 4.37 4.37 0 0 0 .712-2.7 4.3 4.3 0 0 0-.712-2.675 2.5 2.5 0 0 0-2.1-.915 2.46 2.46 0 0 0-2.072.9 4.33 4.33 0 0 0-.7 2.69Z",className:"logo_small_svg__cls-2","data-name":"Path 2961"})),V||(V=n.createElement("path",{id:"logo_small_svg__Path_2962",d:"M180.525 101.517a5.5 5.5 0 0 1 1.1.1l-.194 1.3a4.8 4.8 0 0 0-1.011-.127 2.46 2.46 0 0 0-1.917.911 3.32 3.32 0 0 0-.8 2.267v4.955h-1.4v-9.236h1.154l.16 1.71h.068a4.05 4.05 0 0 1 1.238-1.39 2.8 2.8 0 0 1 1.6-.49Z",className:"logo_small_svg__cls-2","data-name":"Path 2962"})),K||(K=n.createElement("path",{id:"logo_small_svg__Path_2963",d:"M187.363 109.936a4.5 4.5 0 0 0 .716-.055 4 4 0 0 0 .548-.114v1.07a2.5 2.5 0 0 1-.67.181 5 5 0 0 1-.8.072q-2.68 0-2.68-2.823v-5.494h-1.323v-.673l1.323-.582.59-1.972h.809v2.141h2.68v1.087h-2.68v5.435a1.87 1.87 0 0 0 .4 1.281 1.38 1.38 0 0 0 1.087.446",className:"logo_small_svg__cls-2","data-name":"Path 2963"})),$||($=n.createElement("path",{id:"logo_small_svg__Path_2964",d:"M194.538 111.09a4.24 4.24 0 0 1-3.231-1.247 4.82 4.82 0 0 1-1.184-3.463 5.36 5.36 0 0 1 1.1-3.548 3.65 3.65 0 0 1 2.954-1.315 3.48 3.48 0 0 1 2.747 1.142 4.38 4.38 0 0 1 1.011 3.013v.885h-6.362a3.66 3.66 0 0 0 .822 2.469 2.84 2.84 0 0 0 2.2.843 7.4 7.4 0 0 0 2.949-.624v1.247a7.4 7.4 0 0 1-1.4.459 8 8 0 0 1-1.6.139Zm-.379-8.4a2.29 2.29 0 0 0-1.774.725 3.34 3.34 0 0 0-.779 2.006h4.828a3.07 3.07 0 0 0-.59-2.027 2.08 2.08 0 0 0-1.685-.706Z",className:"logo_small_svg__cls-2","data-name":"Path 2964"})),H||(H=n.createElement("path",{id:"logo_small_svg__Path_2965",d:"M206.951 109.683h-.076a3.29 3.29 0 0 1-2.9 1.407 3.43 3.43 0 0 1-2.819-1.239 5.45 5.45 0 0 1-1.006-3.522 5.54 5.54 0 0 1 1.011-3.548 3.4 3.4 0 0 1 2.814-1.264 3.36 3.36 0 0 1 2.883 1.365h.109l-.059-.665-.034-.649v-3.759h1.4v13.113h-1.138Zm-2.8.236a2.55 2.55 0 0 0 2.078-.779 3.95 3.95 0 0 0 .644-2.516v-.3a4.64 4.64 0 0 0-.653-2.8 2.48 2.48 0 0 0-2.086-.839 2.14 2.14 0 0 0-1.883.957 4.76 4.76 0 0 0-.653 2.7 4.55 4.55 0 0 0 .649 2.671 2.2 2.2 0 0 0 1.906.906Z",className:"logo_small_svg__cls-2","data-name":"Path 2965"})),Y||(Y=n.createElement("path",{id:"logo_small_svg__Path_2966",d:"M220.712 101.534a3.44 3.44 0 0 1 2.827 1.243 6.65 6.65 0 0 1-.009 7.053 3.42 3.42 0 0 1-2.818 1.26 4 4 0 0 1-1.648-.333 3.1 3.1 0 0 1-1.251-1.023h-.1l-.295 1.188h-1V97.809h1.4V101q0 1.069-.068 1.921h.068a3.32 3.32 0 0 1 2.894-1.387m-.2 1.171a2.44 2.44 0 0 0-2.064.822 6.34 6.34 0 0 0 .017 5.553 2.46 2.46 0 0 0 2.081.839 2.16 2.16 0 0 0 1.922-.94 4.83 4.83 0 0 0 .632-2.7 4.64 4.64 0 0 0-.632-2.689 2.24 2.24 0 0 0-1.959-.885Z",className:"logo_small_svg__cls-2","data-name":"Path 2966"})),Z||(Z=n.createElement("path",{id:"logo_small_svg__Path_2967",d:"M225.758 101.686h1.5l2.023 5.267a20 20 0 0 1 .826 2.6h.067q.109-.431.459-1.471t2.288-6.4h1.5l-3.969 10.518a5.25 5.25 0 0 1-1.378 2.212 2.93 2.93 0 0 1-1.934.653 5.7 5.7 0 0 1-1.264-.143V113.8a5 5 0 0 0 1.037.1 2.136 2.136 0 0 0 2.056-1.618l.514-1.314Z",className:"logo_small_svg__cls-2","data-name":"Path 2967"}))))),components_Logo=()=>n.createElement(logo_small,{height:"40"}),top_bar=()=>({components:{Topbar:u,Logo:components_Logo}});function isNothing(t){return null==t}var J={isNothing,isObject:function js_yaml_isObject(t){return"object"==typeof t&&null!==t},toArray:function toArray(t){return Array.isArray(t)?t:isNothing(t)?[]:[t]},repeat:function repeat(t,e){var r,n="";for(r=0;rs&&(e=n-s+(o=" ... ").length),r-n>s&&(r=n+s-(a=" ...").length),{str:o+t.slice(e,r).replace(/\t/g,"→")+a,pos:n-e+o.length}}function padStart(t,e){return J.repeat(" ",e-t.length)+t}var et=function makeSnippet(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var r,n=/\r?\n|\r|\0/g,i=[0],o=[],a=-1;r=n.exec(t.buffer);)o.push(r.index),i.push(r.index+r[0].length),t.position<=r.index&&a<0&&(a=i.length-2);a<0&&(a=i.length-1);var s,u,c="",f=Math.min(t.line+e.linesAfter,o.length).toString().length,l=e.maxLength-(e.indent+f+3);for(s=1;s<=e.linesBefore&&!(a-s<0);s++)u=getLine(t.buffer,i[a-s],o[a-s],t.position-(i[a]-i[a-s]),l),c=J.repeat(" ",e.indent)+padStart((t.line-s+1).toString(),f)+" | "+u.str+"\n"+c;for(u=getLine(t.buffer,i[a],o[a],t.position,l),c+=J.repeat(" ",e.indent)+padStart((t.line+1).toString(),f)+" | "+u.str+"\n",c+=J.repeat("-",e.indent+f+3+u.pos)+"^\n",s=1;s<=e.linesAfter&&!(a+s>=o.length);s++)u=getLine(t.buffer,i[a+s],o[a+s],t.position-(i[a]-i[a+s]),l),c+=J.repeat(" ",e.indent)+padStart((t.line+s+1).toString(),f)+" | "+u.str+"\n";return c.replace(/\n$/,"")},rt=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],nt=["scalar","sequence","mapping"];var it=function Type$1(t,e){if(e=e||{},Object.keys(e).forEach((function(e){if(-1===rt.indexOf(e))throw new tt('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')})),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=function compileStyleAliases(t){var e={};return null!==t&&Object.keys(t).forEach((function(r){t[r].forEach((function(t){e[String(t)]=r}))})),e}(e.styleAliases||null),-1===nt.indexOf(this.kind))throw new tt('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function compileList(t,e){var r=[];return t[e].forEach((function(t){var e=r.length;r.forEach((function(r,n){r.tag===t.tag&&r.kind===t.kind&&r.multi===t.multi&&(e=n)})),r[e]=t})),r}function Schema$1(t){return this.extend(t)}Schema$1.prototype.extend=function extend(t){var e=[],r=[];if(t instanceof it)r.push(t);else if(Array.isArray(t))r=r.concat(t);else{if(!t||!Array.isArray(t.implicit)&&!Array.isArray(t.explicit))throw new tt("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(r=r.concat(t.explicit))}e.forEach((function(t){if(!(t instanceof it))throw new tt("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new tt("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new tt("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),r.forEach((function(t){if(!(t instanceof it))throw new tt("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var n=Object.create(Schema$1.prototype);return n.implicit=(this.implicit||[]).concat(e),n.explicit=(this.explicit||[]).concat(r),n.compiledImplicit=compileList(n,"implicit"),n.compiledExplicit=compileList(n,"explicit"),n.compiledTypeMap=function compileMap(){var t,e,r={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function collectType(t){t.multi?(r.multi[t.kind].push(t),r.multi.fallback.push(t)):r[t.kind][t.tag]=r.fallback[t.tag]=t}for(t=0,e=arguments.length;t=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),dt=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var _t=/^[-+]?[0-9]+e/;var yt=new it("tag:yaml.org,2002:float",{kind:"scalar",resolve:function resolveYamlFloat(t){return null!==t&&!(!dt.test(t)||"_"===t[t.length-1])},construct:function constructYamlFloat(t){var e,r;return r="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:r*parseFloat(e,10)},predicate:function isFloat(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||J.isNegativeZero(t))},represent:function representYamlFloat(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(J.isNegativeZero(t))return"-0.0";return r=t.toString(10),_t.test(r)?r.replace("e",".e"):r},defaultStyle:"lowercase"}),mt=ct.extend({implicit:[lt,ht,pt,yt]}),gt=mt,vt=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),bt=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var St=new it("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function resolveYamlTimestamp(t){return null!==t&&(null!==vt.exec(t)||null!==bt.exec(t))},construct:function constructYamlTimestamp(t){var e,r,n,i,o,a,s,u,c=0,f=null;if(null===(e=vt.exec(t))&&(e=bt.exec(t)),null===e)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(o=+e[4],a=+e[5],s=+e[6],e[7]){for(c=e[7].slice(0,3);c.length<3;)c+="0";c=+c}return e[9]&&(f=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(f=-f)),u=new Date(Date.UTC(r,n,i,o,a,s,c)),f&&u.setTime(u.getTime()-f),u},instanceOf:Date,represent:function representYamlTimestamp(t){return t.toISOString()}});var wt=new it("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function resolveYamlMerge(t){return"<<"===t||null===t}}),It="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var xt=new it("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function resolveYamlBinary(t){if(null===t)return!1;var e,r,n=0,i=t.length,o=It;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8==0},construct:function constructYamlBinary(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,o=It,a=0,s=[];for(e=0;e>16&255),s.push(a>>8&255),s.push(255&a)),a=a<<6|o.indexOf(n.charAt(e));return 0===(r=i%4*6)?(s.push(a>>16&255),s.push(a>>8&255),s.push(255&a)):18===r?(s.push(a>>10&255),s.push(a>>2&255)):12===r&&s.push(a>>4&255),new Uint8Array(s)},predicate:function isBinary(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)},represent:function representYamlBinary(t){var e,r,n="",i=0,o=t.length,a=It;for(e=0;e>18&63],n+=a[i>>12&63],n+=a[i>>6&63],n+=a[63&i]),i=(i<<8)+t[e];return 0===(r=o%3)?(n+=a[i>>18&63],n+=a[i>>12&63],n+=a[i>>6&63],n+=a[63&i]):2===r?(n+=a[i>>10&63],n+=a[i>>4&63],n+=a[i<<2&63],n+=a[64]):1===r&&(n+=a[i>>2&63],n+=a[i<<4&63],n+=a[64],n+=a[64]),n}}),Et=Object.prototype.hasOwnProperty,Ot=Object.prototype.toString;var Bt=new it("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function resolveYamlOmap(t){if(null===t)return!0;var e,r,n,i,o,a=[],s=t;for(e=0,r=s.length;e>10),56320+(t-65536&1023))}for(var Pt=new Array(256),Ft=new Array(256),Dt=0;Dt<256;Dt++)Pt[Dt]=simpleEscapeSequence(Dt)?1:0,Ft[Dt]=simpleEscapeSequence(Dt);function State$1(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||qt,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function generateError(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=et(r),new tt(e,r)}function throwError(t,e){throw generateError(t,e)}function throwWarning(t,e){t.onWarning&&t.onWarning.call(null,generateError(t,e))}var Ut={YAML:function handleYamlDirective(t,e,r){var n,i,o;null!==t.version&&throwError(t,"duplication of %YAML directive"),1!==r.length&&throwError(t,"YAML directive accepts exactly one argument"),null===(n=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&throwError(t,"ill-formed argument of the YAML directive"),i=parseInt(n[1],10),o=parseInt(n[2],10),1!==i&&throwError(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=o<2,1!==o&&2!==o&&throwWarning(t,"unsupported YAML version of the document")},TAG:function handleTagDirective(t,e,r){var n,i;2!==r.length&&throwError(t,"TAG directive accepts exactly two arguments"),n=r[0],i=r[1],Rt.test(n)||throwError(t,"ill-formed tag handle (first argument) of the TAG directive"),Lt.call(t.tagMap,n)&&throwError(t,'there is a previously declared suffix for "'+n+'" tag handle'),zt.test(i)||throwError(t,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch(e){throwError(t,"tag prefix is malformed: "+i)}t.tagMap[n]=i}};function captureSegment(t,e,r,n){var i,o,a,s;if(e1&&(t.result+=J.repeat("\n",e-1))}function readBlockSequence(t,e){var r,n,i=t.tag,o=t.anchor,a=[],s=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=a),n=t.input.charCodeAt(t.position);0!==n&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,throwError(t,"tab characters must not be used in indentation")),45===n)&&is_WS_OR_EOL(t.input.charCodeAt(t.position+1));)if(s=!0,t.position++,skipSeparationSpace(t,!0,-1)&&t.lineIndent<=e)a.push(null),n=t.input.charCodeAt(t.position);else if(r=t.line,composeNode(t,e,3,!1,!0),a.push(t.result),skipSeparationSpace(t,!0,-1),n=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&0!==n)throwError(t,"bad indentation of a sequence entry");else if(t.lineIndente?d=1:t.lineIndent===e?d=0:t.lineIndente?d=1:t.lineIndent===e?d=0:t.lineIndente)&&(m&&(a=t.line,s=t.lineStart,u=t.position),composeNode(t,e,4,!0,i)&&(m?_=t.result:y=t.result),m||(storeMappingPair(t,h,p,d,_,y,a,s,u),d=_=y=null),skipSeparationSpace(t,!0,-1),c=t.input.charCodeAt(t.position)),(t.line===o||t.lineIndent>e)&&0!==c)throwError(t,"bad indentation of a mapping entry");else if(t.lineIndent=0))break;0===i?throwError(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?throwError(t,"repeat of an indentation width identifier"):(f=e+i-1,c=!0)}if(is_WHITE_SPACE(o)){do{o=t.input.charCodeAt(++t.position)}while(is_WHITE_SPACE(o));if(35===o)do{o=t.input.charCodeAt(++t.position)}while(!is_EOL(o)&&0!==o)}for(;0!==o;){for(readLineBreak(t),t.lineIndent=0,o=t.input.charCodeAt(t.position);(!c||t.lineIndentf&&(f=t.lineIndent),is_EOL(o))l++;else{if(t.lineIndent0){for(i=a,o=0;i>0;i--)(a=fromHexCode(s=t.input.charCodeAt(++t.position)))>=0?o=(o<<4)+a:throwError(t,"expected hexadecimal character");t.result+=charFromCodepoint(o),t.position++}else throwError(t,"unknown escape sequence");r=n=t.position}else is_EOL(s)?(captureSegment(t,r,n,!0),writeFoldedLines(t,skipSeparationSpace(t,!1,e)),r=n=t.position):t.position===t.lineStart&&testDocumentSeparator(t)?throwError(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}throwError(t,"unexpected end of the stream within a double quoted scalar")}(t,h)?y=!0:!function readAlias(t){var e,r,n;if(42!==(n=t.input.charCodeAt(t.position)))return!1;for(n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!is_WS_OR_EOL(n)&&!is_FLOW_INDICATOR(n);)n=t.input.charCodeAt(++t.position);return t.position===e&&throwError(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),Lt.call(t.anchorMap,r)||throwError(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],skipSeparationSpace(t,!0,-1),!0}(t)?function readPlainScalar(t,e,r){var n,i,o,a,s,u,c,f,l=t.kind,h=t.result;if(is_WS_OR_EOL(f=t.input.charCodeAt(t.position))||is_FLOW_INDICATOR(f)||35===f||38===f||42===f||33===f||124===f||62===f||39===f||34===f||37===f||64===f||96===f)return!1;if((63===f||45===f)&&(is_WS_OR_EOL(n=t.input.charCodeAt(t.position+1))||r&&is_FLOW_INDICATOR(n)))return!1;for(t.kind="scalar",t.result="",i=o=t.position,a=!1;0!==f;){if(58===f){if(is_WS_OR_EOL(n=t.input.charCodeAt(t.position+1))||r&&is_FLOW_INDICATOR(n))break}else if(35===f){if(is_WS_OR_EOL(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&testDocumentSeparator(t)||r&&is_FLOW_INDICATOR(f))break;if(is_EOL(f)){if(s=t.line,u=t.lineStart,c=t.lineIndent,skipSeparationSpace(t,!1,-1),t.lineIndent>=e){a=!0,f=t.input.charCodeAt(t.position);continue}t.position=o,t.line=s,t.lineStart=u,t.lineIndent=c;break}}a&&(captureSegment(t,i,o,!1),writeFoldedLines(t,t.line-s),i=o=t.position,a=!1),is_WHITE_SPACE(f)||(o=t.position+1),f=t.input.charCodeAt(++t.position)}return captureSegment(t,i,o,!1),!!t.result||(t.kind=l,t.result=h,!1)}(t,h,1===r)&&(y=!0,null===t.tag&&(t.tag="?")):(y=!0,null===t.tag&&null===t.anchor||throwError(t,"alias node should not have any properties")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===d&&(y=s&&readBlockSequence(t,p))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&throwError(t,'unacceptable node kind for ! tag; it should be "scalar", not "'+t.kind+'"'),u=0,c=t.implicitTypes.length;u"),null!==t.result&&l.kind!==t.kind&&throwError(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+l.kind+'", not "'+t.kind+'"'),l.resolve(t.result,t.tag)?(t.result=l.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):throwError(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||y}function readDocument(t){var e,r,n,i,o=t.position,a=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(i=t.input.charCodeAt(t.position))&&(skipSeparationSpace(t,!0,-1),i=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==i));){for(a=!0,i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!is_WS_OR_EOL(i);)i=t.input.charCodeAt(++t.position);for(n=[],(r=t.input.slice(e,t.position)).length<1&&throwError(t,"directive name must not be less than one character in length");0!==i;){for(;is_WHITE_SPACE(i);)i=t.input.charCodeAt(++t.position);if(35===i){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&!is_EOL(i));break}if(is_EOL(i))break;for(e=t.position;0!==i&&!is_WS_OR_EOL(i);)i=t.input.charCodeAt(++t.position);n.push(t.input.slice(e,t.position))}0!==i&&readLineBreak(t),Lt.call(Ut,r)?Ut[r](t,r,n):throwWarning(t,'unknown document directive "'+r+'"')}skipSeparationSpace(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,skipSeparationSpace(t,!0,-1)):a&&throwError(t,"directives end mark is expected"),composeNode(t,t.lineIndent-1,4,!1,!0),skipSeparationSpace(t,!0,-1),t.checkLineBreaks&&jt.test(t.input.slice(o,t.position))&&throwWarning(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&testDocumentSeparator(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,skipSeparationSpace(t,!0,-1)):t.position=55296&&n<=56319&&e+1=56320&&r<=57343?1024*(n-55296)+r-56320+65536:n}function needIndentIndicator(t){return/^\n* /.test(t)}function chooseScalarStyle(t,e,r,n,i,o,a,s){var u,c=0,f=null,l=!1,h=!1,p=-1!==n,d=-1,_=function isPlainSafeFirst(t){return isPrintable(t)&&t!==$t&&!isWhitespace(t)&&45!==t&&63!==t&&58!==t&&44!==t&&91!==t&&93!==t&&123!==t&&125!==t&&35!==t&&38!==t&&42!==t&&33!==t&&124!==t&&61!==t&&62!==t&&39!==t&&34!==t&&37!==t&&64!==t&&96!==t}(codePointAt(t,0))&&function isPlainSafeLast(t){return!isWhitespace(t)&&58!==t}(codePointAt(t,t.length-1));if(e||a)for(u=0;u=65536?u+=2:u++){if(!isPrintable(c=codePointAt(t,u)))return 5;_=_&&isPlainSafe(c,f,s),f=c}else{for(u=0;u=65536?u+=2:u++){if(10===(c=codePointAt(t,u)))l=!0,p&&(h=h||u-d-1>n&&" "!==t[d+1],d=u);else if(!isPrintable(c))return 5;_=_&&isPlainSafe(c,f,s),f=c}h=h||p&&u-d-1>n&&" "!==t[d+1]}return l||h?r>9&&needIndentIndicator(t)?5:a?2===o?5:2:h?4:3:!_||a||i(t)?2===o?5:2:1}function writeScalar(t,e,r,n,i){t.dump=function(){if(0===e.length)return 2===t.quotingType?'""':"''";if(!t.noCompatMode&&(-1!==Yt.indexOf(e)||Zt.test(e)))return 2===t.quotingType?'"'+e+'"':"'"+e+"'";var o=t.indent*Math.max(1,r),a=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-o),s=n||t.flowLevel>-1&&r>=t.flowLevel;switch(chooseScalarStyle(e,s,t.indent,a,(function testAmbiguity(e){return function testImplicitResolving(t,e){var r,n;for(r=0,n=t.implicitTypes.length;r"+blockHeader(e,t.indent)+dropEndingNewline(indentString(function foldString(t,e){var r,n,i=/(\n+)([^\n]*)/g,o=(s=t.indexOf("\n"),s=-1!==s?s:t.length,i.lastIndex=s,foldLine(t.slice(0,s),e)),a="\n"===t[0]||" "===t[0];var s;for(;n=i.exec(t);){var u=n[1],c=n[2];r=" "===c[0],o+=u+(a||r||""===c?"":"\n")+foldLine(c,e),a=r}return o}(e,a),o));case 5:return'"'+function escapeString(t){for(var e,r="",n=0,i=0;i=65536?i+=2:i++)n=codePointAt(t,i),!(e=Ht[n])&&isPrintable(n)?(r+=t[i],n>=65536&&(r+=t[i+1])):r+=e||encodeHex(n);return r}(e)+'"';default:throw new tt("impossible error: invalid scalar style")}}()}function blockHeader(t,e){var r=needIndentIndicator(t)?String(e):"",n="\n"===t[t.length-1];return r+(n&&("\n"===t[t.length-2]||"\n"===t)?"+":n?"":"-")+"\n"}function dropEndingNewline(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function foldLine(t,e){if(""===t||" "===t[0])return t;for(var r,n,i=/ [^ ]/g,o=0,a=0,s=0,u="";r=i.exec(t);)(s=r.index)-o>e&&(n=a>o?a:s,u+="\n"+t.slice(o,n),o=n+1),a=s;return u+="\n",t.length-o>e&&a>o?u+=t.slice(o,a)+"\n"+t.slice(a+1):u+=t.slice(o),u.slice(1)}function writeBlockSequence(t,e,r,n){var i,o,a,s="",u=t.tag;for(i=0,o=r.length;i tag resolver accepts not "'+u+'" style');n=s.represent[u](e,u)}t.dump=n}return!0}return!1}function writeNode(t,e,r,n,i,o,a){t.tag=null,t.dump=r,detectType(t,r,!1)||detectType(t,r,!0);var s,u=Vt.call(t.dump),c=n;n&&(n=t.flowLevel<0||t.flowLevel>e);var f,l,h="[object Object]"===u||"[object Array]"===u;if(h&&(l=-1!==(f=t.duplicates.indexOf(r))),(null!==t.tag&&"?"!==t.tag||l||2!==t.indent&&e>0)&&(i=!1),l&&t.usedDuplicates[f])t.dump="*ref_"+f;else{if(h&&l&&!t.usedDuplicates[f]&&(t.usedDuplicates[f]=!0),"[object Object]"===u)n&&0!==Object.keys(t.dump).length?(!function writeBlockMapping(t,e,r,n){var i,o,a,s,u,c,f="",l=t.tag,h=Object.keys(r);if(!0===t.sortKeys)h.sort();else if("function"==typeof t.sortKeys)h.sort(t.sortKeys);else if(t.sortKeys)throw new tt("sortKeys must be a boolean or a function");for(i=0,o=h.length;i1024)&&(t.dump&&10===t.dump.charCodeAt(0)?c+="?":c+="? "),c+=t.dump,u&&(c+=generateNextLine(t,e)),writeNode(t,e+1,s,!0,u)&&(t.dump&&10===t.dump.charCodeAt(0)?c+=":":c+=": ",f+=c+=t.dump));t.tag=l,t.dump=f||"{}"}(t,e,t.dump,i),l&&(t.dump="&ref_"+f+t.dump)):(!function writeFlowMapping(t,e,r){var n,i,o,a,s,u="",c=t.tag,f=Object.keys(r);for(n=0,i=f.length;n1024&&(s+="? "),s+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),writeNode(t,e,a,!1,!1)&&(u+=s+=t.dump));t.tag=c,t.dump="{"+u+"}"}(t,e,t.dump),l&&(t.dump="&ref_"+f+" "+t.dump));else if("[object Array]"===u)n&&0!==t.dump.length?(t.noArrayIndent&&!a&&e>0?writeBlockSequence(t,e-1,t.dump,i):writeBlockSequence(t,e,t.dump,i),l&&(t.dump="&ref_"+f+t.dump)):(!function writeFlowSequence(t,e,r){var n,i,o,a="",s=t.tag;for(n=0,i=r.length;n",t.dump=s+" "+t.dump)}return!0}function getDuplicateReferences(t,e){var r,n,i=[],o=[];for(inspectNode(t,i,o),r=0,n=o.length;r()=>{},downloadConfig=t=>e=>{const{fn:{fetch:r}}=e;return r(t)},getConfigByUrl=(t,e)=>r=>{const{specActions:n,configsActions:i}=r;if(t)return i.downloadConfig(t).then(next,next);function next(i){i instanceof Error||i.status>=400?(n.updateLoadingStatus("failedConfig"),n.updateLoadingStatus("failedConfig"),n.updateUrl(""),console.error(i.statusText+" "+t.url),e(null)):e(((t,e)=>{try{return Gt.load(t)}catch(t){return e&&e.errActions.newThrownErr(new Error(t)),{}}})(i.text,r))}},get=(t,e)=>t.getIn(Array.isArray(e)?e:[e]),Xt={[Jt]:(t,e)=>t.merge((0,o.fromJS)(e.payload)),[Qt]:(t,e)=>{const r=e.payload,n=t.get(r);return t.set(r,!n)}};var te=__webpack_require__(7248),ee=__webpack_require__.n(te),re=__webpack_require__(7666),ne=__webpack_require__.n(re);const ie=console.error,withErrorBoundary=t=>e=>{const{getComponent:r,fn:i}=t(),o=r("ErrorBoundary"),a=i.getDisplayName(e);class WithErrorBoundary extends n.Component{render(){return n.createElement(o,{targetName:a,getComponent:r,fn:i},n.createElement(e,ne()({},this.props,this.context)))}}var s;return WithErrorBoundary.displayName=`WithErrorBoundary(${a})`,(s=e).prototype&&s.prototype.isReactComponent&&(WithErrorBoundary.prototype.mapStateToProps=e.prototype.mapStateToProps),WithErrorBoundary},fallback=({name:t})=>n.createElement("div",{className:"fallback"},"😱 ",n.createElement("i",null,"Could not render ","t"===t?"this component":t,", see the console."));class ErrorBoundary extends n.Component{static defaultProps={targetName:"this component",getComponent:()=>fallback,fn:{componentDidCatch:ie},children:null};static getDerivedStateFromError(t){return{hasError:!0,error:t}}constructor(...t){super(...t),this.state={hasError:!1,error:null}}componentDidCatch(t,e){this.props.fn.componentDidCatch(t,e)}render(){const{getComponent:t,targetName:e,children:r}=this.props;if(this.state.hasError){const r=t("Fallback");return n.createElement(r,{name:e})}return r}}const oe=ErrorBoundary,ae=[top_bar,function configsPlugin(){return{statePlugins:{configs:{reducers:Xt,actions:t,selectors:e}}}},stadalone_layout,(({componentList:t=[],fullOverride:e=!1}={})=>({getSystem:r})=>{const n=e?t:["App","BaseLayout","VersionPragmaFilter","InfoContainer","ServersContainer","SchemesContainer","AuthorizeBtnContainer","FilterContainer","Operations","OperationContainer","parameters","responses","OperationServers","Models","ModelWrapper",...t],i=ee()(n,Array(n.length).fill(((t,{fn:e})=>e.withErrorBoundary(t))));return{fn:{componentDidCatch:ie,withErrorBoundary:withErrorBoundary(r)},components:{ErrorBoundary:oe,Fallback:fallback},wrapComponents:i}})({fullOverride:!0,componentList:["Topbar","StandaloneLayout","onlineValidatorBadge"]})]})(),r=r.default})())); \ No newline at end of file diff --git a/swagger/swagger-ui.css b/swagger/swagger-ui.css deleted file mode 100644 index faea5f3b9e..0000000000 --- a/swagger/swagger-ui.css +++ /dev/null @@ -1,3 +0,0 @@ -.swagger-ui{color:#3b4151;font-family:sans-serif}.swagger-ui html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.swagger-ui body{margin:0}.swagger-ui article,.swagger-ui aside,.swagger-ui footer,.swagger-ui header,.swagger-ui nav,.swagger-ui section{display:block}.swagger-ui h1{font-size:2em;margin:.67em 0}.swagger-ui figcaption,.swagger-ui figure,.swagger-ui main{display:block}.swagger-ui figure{margin:1em 40px}.swagger-ui hr{box-sizing:content-box;height:0;overflow:visible}.swagger-ui pre{font-family:monospace,monospace;font-size:1em}.swagger-ui a{background-color:transparent;-webkit-text-decoration-skip:objects}.swagger-ui abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.swagger-ui b,.swagger-ui strong{font-weight:inherit;font-weight:bolder}.swagger-ui code,.swagger-ui kbd,.swagger-ui samp{font-family:monospace,monospace;font-size:1em}.swagger-ui dfn{font-style:italic}.swagger-ui mark{background-color:#ff0;color:#000}.swagger-ui small{font-size:80%}.swagger-ui sub,.swagger-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.swagger-ui sub{bottom:-.25em}.swagger-ui sup{top:-.5em}.swagger-ui audio,.swagger-ui video{display:inline-block}.swagger-ui audio:not([controls]){display:none;height:0}.swagger-ui img{border-style:none}.swagger-ui svg:not(:root){overflow:hidden}.swagger-ui button,.swagger-ui input,.swagger-ui optgroup,.swagger-ui select,.swagger-ui textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}.swagger-ui button,.swagger-ui input{overflow:visible}.swagger-ui button,.swagger-ui select{text-transform:none}.swagger-ui [type=reset],.swagger-ui [type=submit],.swagger-ui button,.swagger-ui html [type=button]{-webkit-appearance:button}.swagger-ui [type=button]::-moz-focus-inner,.swagger-ui [type=reset]::-moz-focus-inner,.swagger-ui [type=submit]::-moz-focus-inner,.swagger-ui button::-moz-focus-inner{border-style:none;padding:0}.swagger-ui [type=button]:-moz-focusring,.swagger-ui [type=reset]:-moz-focusring,.swagger-ui [type=submit]:-moz-focusring,.swagger-ui button:-moz-focusring{outline:1px dotted ButtonText}.swagger-ui fieldset{padding:.35em .75em .625em}.swagger-ui legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.swagger-ui progress{display:inline-block;vertical-align:baseline}.swagger-ui textarea{overflow:auto}.swagger-ui [type=checkbox],.swagger-ui [type=radio]{box-sizing:border-box;padding:0}.swagger-ui [type=number]::-webkit-inner-spin-button,.swagger-ui [type=number]::-webkit-outer-spin-button{height:auto}.swagger-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.swagger-ui [type=search]::-webkit-search-cancel-button,.swagger-ui [type=search]::-webkit-search-decoration{-webkit-appearance:none}.swagger-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.swagger-ui details,.swagger-ui menu{display:block}.swagger-ui summary{display:list-item}.swagger-ui canvas{display:inline-block}.swagger-ui [hidden],.swagger-ui template{display:none}.swagger-ui .debug *{outline:1px solid gold}.swagger-ui .debug-white *{outline:1px solid #fff}.swagger-ui .debug-black *{outline:1px solid #000}.swagger-ui .debug-grid{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat 0 0}.swagger-ui .debug-grid-16{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODYyRjhERDU2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODYyRjhERDQ2N0YyMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QTY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3QjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvCS01IAAABMSURBVHjaYmR4/5+BFPBfAMFm/MBgx8RAGWCn1AAmSg34Q6kBDKMGMDCwICeMIemF/5QawEipAWwUhwEjMDvbAWlWkvVBwu8vQIABAEwBCph8U6c0AAAAAElFTkSuQmCC) repeat 0 0}.swagger-ui .debug-grid-8-solid{background:#fff url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAAAAD/4QMxaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzExMSA3OS4xNTgzMjUsIDIwMTUvMDkvMTAtMDE6MTA6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIxMjI0OTczNjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIxMjI0OTc0NjdCMzExRTZCMkJDRTI0MDgxMDAyMTcxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QjEyMjQ5NzE2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QjEyMjQ5NzI2N0IzMTFFNkIyQkNFMjQwODEwMDIxNzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAbGhopHSlBJiZBQi8vL0JHPz4+P0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHAR0pKTQmND8oKD9HPzU/R0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0f/wAARCAAIAAgDASIAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAAYBAQEAAAAAAAAAAAAAAAAAAAIEEAEBAAMBAAAAAAAAAAAAAAABADECA0ERAAEDBQAAAAAAAAAAAAAAAAARITFBUWESIv/aAAwDAQACEQMRAD8AoOnTV1QTD7JJshP3vSM3P//Z) repeat 0 0}.swagger-ui .debug-grid-16-solid{background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzY3MkJEN0U2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzY3MkJEN0Y2N0M1MTFFNkIyQkNFMjQwODEwMDIxNzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3QzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3RDY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pve6J3kAAAAzSURBVHjaYvz//z8D0UDsMwMjSRoYP5Gq4SPNbRjVMEQ1fCRDg+in/6+J1AJUxsgAEGAA31BAJMS0GYEAAAAASUVORK5CYII=) repeat 0 0}.swagger-ui .border-box,.swagger-ui a,.swagger-ui article,.swagger-ui body,.swagger-ui code,.swagger-ui dd,.swagger-ui div,.swagger-ui dl,.swagger-ui dt,.swagger-ui fieldset,.swagger-ui footer,.swagger-ui form,.swagger-ui h1,.swagger-ui h2,.swagger-ui h3,.swagger-ui h4,.swagger-ui h5,.swagger-ui h6,.swagger-ui header,.swagger-ui html,.swagger-ui input[type=email],.swagger-ui input[type=number],.swagger-ui input[type=password],.swagger-ui input[type=tel],.swagger-ui input[type=text],.swagger-ui input[type=url],.swagger-ui legend,.swagger-ui li,.swagger-ui main,.swagger-ui ol,.swagger-ui p,.swagger-ui pre,.swagger-ui section,.swagger-ui table,.swagger-ui td,.swagger-ui textarea,.swagger-ui th,.swagger-ui tr,.swagger-ui ul{box-sizing:border-box}.swagger-ui .aspect-ratio{height:0;position:relative}.swagger-ui .aspect-ratio--16x9{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1{padding-bottom:100%}.swagger-ui .aspect-ratio--object{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}@media screen and (min-width:30em){.swagger-ui .aspect-ratio-ns{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-ns{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-ns{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-ns{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-ns{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-ns{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-ns{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-ns{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-ns{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-ns{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-ns{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-ns{padding-bottom:100%}.swagger-ui .aspect-ratio--object-ns{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .aspect-ratio-m{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-m{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-m{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-m{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-m{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-m{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-m{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-m{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-m{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-m{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-m{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-m{padding-bottom:100%}.swagger-ui .aspect-ratio--object-m{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}@media screen and (min-width:60em){.swagger-ui .aspect-ratio-l{height:0;position:relative}.swagger-ui .aspect-ratio--16x9-l{padding-bottom:56.25%}.swagger-ui .aspect-ratio--9x16-l{padding-bottom:177.77%}.swagger-ui .aspect-ratio--4x3-l{padding-bottom:75%}.swagger-ui .aspect-ratio--3x4-l{padding-bottom:133.33%}.swagger-ui .aspect-ratio--6x4-l{padding-bottom:66.6%}.swagger-ui .aspect-ratio--4x6-l{padding-bottom:150%}.swagger-ui .aspect-ratio--8x5-l{padding-bottom:62.5%}.swagger-ui .aspect-ratio--5x8-l{padding-bottom:160%}.swagger-ui .aspect-ratio--7x5-l{padding-bottom:71.42%}.swagger-ui .aspect-ratio--5x7-l{padding-bottom:140%}.swagger-ui .aspect-ratio--1x1-l{padding-bottom:100%}.swagger-ui .aspect-ratio--object-l{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:100}}.swagger-ui img{max-width:100%}.swagger-ui .cover{background-size:cover!important}.swagger-ui .contain{background-size:contain!important}@media screen and (min-width:30em){.swagger-ui .cover-ns{background-size:cover!important}.swagger-ui .contain-ns{background-size:contain!important}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .cover-m{background-size:cover!important}.swagger-ui .contain-m{background-size:contain!important}}@media screen and (min-width:60em){.swagger-ui .cover-l{background-size:cover!important}.swagger-ui .contain-l{background-size:contain!important}}.swagger-ui .bg-center{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left{background-position:0;background-repeat:no-repeat}@media screen and (min-width:30em){.swagger-ui .bg-center-ns{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-ns{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-ns{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-ns{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-ns{background-position:0;background-repeat:no-repeat}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .bg-center-m{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-m{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-m{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-m{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-m{background-position:0;background-repeat:no-repeat}}@media screen and (min-width:60em){.swagger-ui .bg-center-l{background-position:50%;background-repeat:no-repeat}.swagger-ui .bg-top-l{background-position:top;background-repeat:no-repeat}.swagger-ui .bg-right-l{background-position:100%;background-repeat:no-repeat}.swagger-ui .bg-bottom-l{background-position:bottom;background-repeat:no-repeat}.swagger-ui .bg-left-l{background-position:0;background-repeat:no-repeat}}.swagger-ui .outline{outline:1px solid}.swagger-ui .outline-transparent{outline:1px solid transparent}.swagger-ui .outline-0{outline:0}@media screen and (min-width:30em){.swagger-ui .outline-ns{outline:1px solid}.swagger-ui .outline-transparent-ns{outline:1px solid transparent}.swagger-ui .outline-0-ns{outline:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .outline-m{outline:1px solid}.swagger-ui .outline-transparent-m{outline:1px solid transparent}.swagger-ui .outline-0-m{outline:0}}@media screen and (min-width:60em){.swagger-ui .outline-l{outline:1px solid}.swagger-ui .outline-transparent-l{outline:1px solid transparent}.swagger-ui .outline-0-l{outline:0}}.swagger-ui .ba{border-style:solid;border-width:1px}.swagger-ui .bt{border-top-style:solid;border-top-width:1px}.swagger-ui .br{border-right-style:solid;border-right-width:1px}.swagger-ui .bb{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl{border-left-style:solid;border-left-width:1px}.swagger-ui .bn{border-style:none;border-width:0}@media screen and (min-width:30em){.swagger-ui .ba-ns{border-style:solid;border-width:1px}.swagger-ui .bt-ns{border-top-style:solid;border-top-width:1px}.swagger-ui .br-ns{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-ns{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-ns{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-ns{border-style:none;border-width:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .ba-m{border-style:solid;border-width:1px}.swagger-ui .bt-m{border-top-style:solid;border-top-width:1px}.swagger-ui .br-m{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-m{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-m{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-m{border-style:none;border-width:0}}@media screen and (min-width:60em){.swagger-ui .ba-l{border-style:solid;border-width:1px}.swagger-ui .bt-l{border-top-style:solid;border-top-width:1px}.swagger-ui .br-l{border-right-style:solid;border-right-width:1px}.swagger-ui .bb-l{border-bottom-style:solid;border-bottom-width:1px}.swagger-ui .bl-l{border-left-style:solid;border-left-width:1px}.swagger-ui .bn-l{border-style:none;border-width:0}}.swagger-ui .b--black{border-color:#000}.swagger-ui .b--near-black{border-color:#111}.swagger-ui .b--dark-gray{border-color:#333}.swagger-ui .b--mid-gray{border-color:#555}.swagger-ui .b--gray{border-color:#777}.swagger-ui .b--silver{border-color:#999}.swagger-ui .b--light-silver{border-color:#aaa}.swagger-ui .b--moon-gray{border-color:#ccc}.swagger-ui .b--light-gray{border-color:#eee}.swagger-ui .b--near-white{border-color:#f4f4f4}.swagger-ui .b--white{border-color:#fff}.swagger-ui .b--white-90{border-color:hsla(0,0%,100%,.9)}.swagger-ui .b--white-80{border-color:hsla(0,0%,100%,.8)}.swagger-ui .b--white-70{border-color:hsla(0,0%,100%,.7)}.swagger-ui .b--white-60{border-color:hsla(0,0%,100%,.6)}.swagger-ui .b--white-50{border-color:hsla(0,0%,100%,.5)}.swagger-ui .b--white-40{border-color:hsla(0,0%,100%,.4)}.swagger-ui .b--white-30{border-color:hsla(0,0%,100%,.3)}.swagger-ui .b--white-20{border-color:hsla(0,0%,100%,.2)}.swagger-ui .b--white-10{border-color:hsla(0,0%,100%,.1)}.swagger-ui .b--white-05{border-color:hsla(0,0%,100%,.05)}.swagger-ui .b--white-025{border-color:hsla(0,0%,100%,.025)}.swagger-ui .b--white-0125{border-color:hsla(0,0%,100%,.013)}.swagger-ui .b--black-90{border-color:rgba(0,0,0,.9)}.swagger-ui .b--black-80{border-color:rgba(0,0,0,.8)}.swagger-ui .b--black-70{border-color:rgba(0,0,0,.7)}.swagger-ui .b--black-60{border-color:rgba(0,0,0,.6)}.swagger-ui .b--black-50{border-color:rgba(0,0,0,.5)}.swagger-ui .b--black-40{border-color:rgba(0,0,0,.4)}.swagger-ui .b--black-30{border-color:rgba(0,0,0,.3)}.swagger-ui .b--black-20{border-color:rgba(0,0,0,.2)}.swagger-ui .b--black-10{border-color:rgba(0,0,0,.1)}.swagger-ui .b--black-05{border-color:rgba(0,0,0,.05)}.swagger-ui .b--black-025{border-color:rgba(0,0,0,.025)}.swagger-ui .b--black-0125{border-color:rgba(0,0,0,.013)}.swagger-ui .b--dark-red{border-color:#e7040f}.swagger-ui .b--red{border-color:#ff4136}.swagger-ui .b--light-red{border-color:#ff725c}.swagger-ui .b--orange{border-color:#ff6300}.swagger-ui .b--gold{border-color:#ffb700}.swagger-ui .b--yellow{border-color:gold}.swagger-ui .b--light-yellow{border-color:#fbf1a9}.swagger-ui .b--purple{border-color:#5e2ca5}.swagger-ui .b--light-purple{border-color:#a463f2}.swagger-ui .b--dark-pink{border-color:#d5008f}.swagger-ui .b--hot-pink{border-color:#ff41b4}.swagger-ui .b--pink{border-color:#ff80cc}.swagger-ui .b--light-pink{border-color:#ffa3d7}.swagger-ui .b--dark-green{border-color:#137752}.swagger-ui .b--green{border-color:#19a974}.swagger-ui .b--light-green{border-color:#9eebcf}.swagger-ui .b--navy{border-color:#001b44}.swagger-ui .b--dark-blue{border-color:#00449e}.swagger-ui .b--blue{border-color:#357edd}.swagger-ui .b--light-blue{border-color:#96ccff}.swagger-ui .b--lightest-blue{border-color:#cdecff}.swagger-ui .b--washed-blue{border-color:#f6fffe}.swagger-ui .b--washed-green{border-color:#e8fdf5}.swagger-ui .b--washed-yellow{border-color:#fffceb}.swagger-ui .b--washed-red{border-color:#ffdfdf}.swagger-ui .b--transparent{border-color:transparent}.swagger-ui .b--inherit{border-color:inherit}.swagger-ui .br0{border-radius:0}.swagger-ui .br1{border-radius:.125rem}.swagger-ui .br2{border-radius:.25rem}.swagger-ui .br3{border-radius:.5rem}.swagger-ui .br4{border-radius:1rem}.swagger-ui .br-100{border-radius:100%}.swagger-ui .br-pill{border-radius:9999px}.swagger-ui .br--bottom{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left{border-bottom-right-radius:0;border-top-right-radius:0}@media screen and (min-width:30em){.swagger-ui .br0-ns{border-radius:0}.swagger-ui .br1-ns{border-radius:.125rem}.swagger-ui .br2-ns{border-radius:.25rem}.swagger-ui .br3-ns{border-radius:.5rem}.swagger-ui .br4-ns{border-radius:1rem}.swagger-ui .br-100-ns{border-radius:100%}.swagger-ui .br-pill-ns{border-radius:9999px}.swagger-ui .br--bottom-ns{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-ns{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-ns{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-ns{border-bottom-right-radius:0;border-top-right-radius:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .br0-m{border-radius:0}.swagger-ui .br1-m{border-radius:.125rem}.swagger-ui .br2-m{border-radius:.25rem}.swagger-ui .br3-m{border-radius:.5rem}.swagger-ui .br4-m{border-radius:1rem}.swagger-ui .br-100-m{border-radius:100%}.swagger-ui .br-pill-m{border-radius:9999px}.swagger-ui .br--bottom-m{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-m{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-m{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-m{border-bottom-right-radius:0;border-top-right-radius:0}}@media screen and (min-width:60em){.swagger-ui .br0-l{border-radius:0}.swagger-ui .br1-l{border-radius:.125rem}.swagger-ui .br2-l{border-radius:.25rem}.swagger-ui .br3-l{border-radius:.5rem}.swagger-ui .br4-l{border-radius:1rem}.swagger-ui .br-100-l{border-radius:100%}.swagger-ui .br-pill-l{border-radius:9999px}.swagger-ui .br--bottom-l{border-top-left-radius:0;border-top-right-radius:0}.swagger-ui .br--top-l{border-bottom-left-radius:0;border-bottom-right-radius:0}.swagger-ui .br--right-l{border-bottom-left-radius:0;border-top-left-radius:0}.swagger-ui .br--left-l{border-bottom-right-radius:0;border-top-right-radius:0}}.swagger-ui .b--dotted{border-style:dotted}.swagger-ui .b--dashed{border-style:dashed}.swagger-ui .b--solid{border-style:solid}.swagger-ui .b--none{border-style:none}@media screen and (min-width:30em){.swagger-ui .b--dotted-ns{border-style:dotted}.swagger-ui .b--dashed-ns{border-style:dashed}.swagger-ui .b--solid-ns{border-style:solid}.swagger-ui .b--none-ns{border-style:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .b--dotted-m{border-style:dotted}.swagger-ui .b--dashed-m{border-style:dashed}.swagger-ui .b--solid-m{border-style:solid}.swagger-ui .b--none-m{border-style:none}}@media screen and (min-width:60em){.swagger-ui .b--dotted-l{border-style:dotted}.swagger-ui .b--dashed-l{border-style:dashed}.swagger-ui .b--solid-l{border-style:solid}.swagger-ui .b--none-l{border-style:none}}.swagger-ui .bw0{border-width:0}.swagger-ui .bw1{border-width:.125rem}.swagger-ui .bw2{border-width:.25rem}.swagger-ui .bw3{border-width:.5rem}.swagger-ui .bw4{border-width:1rem}.swagger-ui .bw5{border-width:2rem}.swagger-ui .bt-0{border-top-width:0}.swagger-ui .br-0{border-right-width:0}.swagger-ui .bb-0{border-bottom-width:0}.swagger-ui .bl-0{border-left-width:0}@media screen and (min-width:30em){.swagger-ui .bw0-ns{border-width:0}.swagger-ui .bw1-ns{border-width:.125rem}.swagger-ui .bw2-ns{border-width:.25rem}.swagger-ui .bw3-ns{border-width:.5rem}.swagger-ui .bw4-ns{border-width:1rem}.swagger-ui .bw5-ns{border-width:2rem}.swagger-ui .bt-0-ns{border-top-width:0}.swagger-ui .br-0-ns{border-right-width:0}.swagger-ui .bb-0-ns{border-bottom-width:0}.swagger-ui .bl-0-ns{border-left-width:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .bw0-m{border-width:0}.swagger-ui .bw1-m{border-width:.125rem}.swagger-ui .bw2-m{border-width:.25rem}.swagger-ui .bw3-m{border-width:.5rem}.swagger-ui .bw4-m{border-width:1rem}.swagger-ui .bw5-m{border-width:2rem}.swagger-ui .bt-0-m{border-top-width:0}.swagger-ui .br-0-m{border-right-width:0}.swagger-ui .bb-0-m{border-bottom-width:0}.swagger-ui .bl-0-m{border-left-width:0}}@media screen and (min-width:60em){.swagger-ui .bw0-l{border-width:0}.swagger-ui .bw1-l{border-width:.125rem}.swagger-ui .bw2-l{border-width:.25rem}.swagger-ui .bw3-l{border-width:.5rem}.swagger-ui .bw4-l{border-width:1rem}.swagger-ui .bw5-l{border-width:2rem}.swagger-ui .bt-0-l{border-top-width:0}.swagger-ui .br-0-l{border-right-width:0}.swagger-ui .bb-0-l{border-bottom-width:0}.swagger-ui .bl-0-l{border-left-width:0}}.swagger-ui .shadow-1{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}@media screen and (min-width:30em){.swagger-ui .shadow-1-ns{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-ns{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-ns{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-ns{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-ns{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .shadow-1-m{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-m{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-m{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-m{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-m{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}@media screen and (min-width:60em){.swagger-ui .shadow-1-l{box-shadow:0 0 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-2-l{box-shadow:0 0 8px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-3-l{box-shadow:2px 2px 4px 2px rgba(0,0,0,.2)}.swagger-ui .shadow-4-l{box-shadow:2px 2px 8px 0 rgba(0,0,0,.2)}.swagger-ui .shadow-5-l{box-shadow:4px 4px 8px 0 rgba(0,0,0,.2)}}.swagger-ui .pre{overflow-x:auto;overflow-y:hidden;overflow:scroll}.swagger-ui .top-0{top:0}.swagger-ui .right-0{right:0}.swagger-ui .bottom-0{bottom:0}.swagger-ui .left-0{left:0}.swagger-ui .top-1{top:1rem}.swagger-ui .right-1{right:1rem}.swagger-ui .bottom-1{bottom:1rem}.swagger-ui .left-1{left:1rem}.swagger-ui .top-2{top:2rem}.swagger-ui .right-2{right:2rem}.swagger-ui .bottom-2{bottom:2rem}.swagger-ui .left-2{left:2rem}.swagger-ui .top--1{top:-1rem}.swagger-ui .right--1{right:-1rem}.swagger-ui .bottom--1{bottom:-1rem}.swagger-ui .left--1{left:-1rem}.swagger-ui .top--2{top:-2rem}.swagger-ui .right--2{right:-2rem}.swagger-ui .bottom--2{bottom:-2rem}.swagger-ui .left--2{left:-2rem}.swagger-ui .absolute--fill{bottom:0;left:0;right:0;top:0}@media screen and (min-width:30em){.swagger-ui .top-0-ns{top:0}.swagger-ui .left-0-ns{left:0}.swagger-ui .right-0-ns{right:0}.swagger-ui .bottom-0-ns{bottom:0}.swagger-ui .top-1-ns{top:1rem}.swagger-ui .left-1-ns{left:1rem}.swagger-ui .right-1-ns{right:1rem}.swagger-ui .bottom-1-ns{bottom:1rem}.swagger-ui .top-2-ns{top:2rem}.swagger-ui .left-2-ns{left:2rem}.swagger-ui .right-2-ns{right:2rem}.swagger-ui .bottom-2-ns{bottom:2rem}.swagger-ui .top--1-ns{top:-1rem}.swagger-ui .right--1-ns{right:-1rem}.swagger-ui .bottom--1-ns{bottom:-1rem}.swagger-ui .left--1-ns{left:-1rem}.swagger-ui .top--2-ns{top:-2rem}.swagger-ui .right--2-ns{right:-2rem}.swagger-ui .bottom--2-ns{bottom:-2rem}.swagger-ui .left--2-ns{left:-2rem}.swagger-ui .absolute--fill-ns{bottom:0;left:0;right:0;top:0}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .top-0-m{top:0}.swagger-ui .left-0-m{left:0}.swagger-ui .right-0-m{right:0}.swagger-ui .bottom-0-m{bottom:0}.swagger-ui .top-1-m{top:1rem}.swagger-ui .left-1-m{left:1rem}.swagger-ui .right-1-m{right:1rem}.swagger-ui .bottom-1-m{bottom:1rem}.swagger-ui .top-2-m{top:2rem}.swagger-ui .left-2-m{left:2rem}.swagger-ui .right-2-m{right:2rem}.swagger-ui .bottom-2-m{bottom:2rem}.swagger-ui .top--1-m{top:-1rem}.swagger-ui .right--1-m{right:-1rem}.swagger-ui .bottom--1-m{bottom:-1rem}.swagger-ui .left--1-m{left:-1rem}.swagger-ui .top--2-m{top:-2rem}.swagger-ui .right--2-m{right:-2rem}.swagger-ui .bottom--2-m{bottom:-2rem}.swagger-ui .left--2-m{left:-2rem}.swagger-ui .absolute--fill-m{bottom:0;left:0;right:0;top:0}}@media screen and (min-width:60em){.swagger-ui .top-0-l{top:0}.swagger-ui .left-0-l{left:0}.swagger-ui .right-0-l{right:0}.swagger-ui .bottom-0-l{bottom:0}.swagger-ui .top-1-l{top:1rem}.swagger-ui .left-1-l{left:1rem}.swagger-ui .right-1-l{right:1rem}.swagger-ui .bottom-1-l{bottom:1rem}.swagger-ui .top-2-l{top:2rem}.swagger-ui .left-2-l{left:2rem}.swagger-ui .right-2-l{right:2rem}.swagger-ui .bottom-2-l{bottom:2rem}.swagger-ui .top--1-l{top:-1rem}.swagger-ui .right--1-l{right:-1rem}.swagger-ui .bottom--1-l{bottom:-1rem}.swagger-ui .left--1-l{left:-1rem}.swagger-ui .top--2-l{top:-2rem}.swagger-ui .right--2-l{right:-2rem}.swagger-ui .bottom--2-l{bottom:-2rem}.swagger-ui .left--2-l{left:-2rem}.swagger-ui .absolute--fill-l{bottom:0;left:0;right:0;top:0}}.swagger-ui .cf:after,.swagger-ui .cf:before{content:" ";display:table}.swagger-ui .cf:after{clear:both}.swagger-ui .cf{zoom:1}.swagger-ui .cl{clear:left}.swagger-ui .cr{clear:right}.swagger-ui .cb{clear:both}.swagger-ui .cn{clear:none}@media screen and (min-width:30em){.swagger-ui .cl-ns{clear:left}.swagger-ui .cr-ns{clear:right}.swagger-ui .cb-ns{clear:both}.swagger-ui .cn-ns{clear:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .cl-m{clear:left}.swagger-ui .cr-m{clear:right}.swagger-ui .cb-m{clear:both}.swagger-ui .cn-m{clear:none}}@media screen and (min-width:60em){.swagger-ui .cl-l{clear:left}.swagger-ui .cr-l{clear:right}.swagger-ui .cb-l{clear:both}.swagger-ui .cn-l{clear:none}}.swagger-ui .flex{display:flex}.swagger-ui .inline-flex{display:inline-flex}.swagger-ui .flex-auto{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none{flex:none}.swagger-ui .flex-column{flex-direction:column}.swagger-ui .flex-row{flex-direction:row}.swagger-ui .flex-wrap{flex-wrap:wrap}.swagger-ui .flex-nowrap{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse{flex-direction:column-reverse}.swagger-ui .flex-row-reverse{flex-direction:row-reverse}.swagger-ui .items-start{align-items:flex-start}.swagger-ui .items-end{align-items:flex-end}.swagger-ui .items-center{align-items:center}.swagger-ui .items-baseline{align-items:baseline}.swagger-ui .items-stretch{align-items:stretch}.swagger-ui .self-start{align-self:flex-start}.swagger-ui .self-end{align-self:flex-end}.swagger-ui .self-center{align-self:center}.swagger-ui .self-baseline{align-self:baseline}.swagger-ui .self-stretch{align-self:stretch}.swagger-ui .justify-start{justify-content:flex-start}.swagger-ui .justify-end{justify-content:flex-end}.swagger-ui .justify-center{justify-content:center}.swagger-ui .justify-between{justify-content:space-between}.swagger-ui .justify-around{justify-content:space-around}.swagger-ui .content-start{align-content:flex-start}.swagger-ui .content-end{align-content:flex-end}.swagger-ui .content-center{align-content:center}.swagger-ui .content-between{align-content:space-between}.swagger-ui .content-around{align-content:space-around}.swagger-ui .content-stretch{align-content:stretch}.swagger-ui .order-0{order:0}.swagger-ui .order-1{order:1}.swagger-ui .order-2{order:2}.swagger-ui .order-3{order:3}.swagger-ui .order-4{order:4}.swagger-ui .order-5{order:5}.swagger-ui .order-6{order:6}.swagger-ui .order-7{order:7}.swagger-ui .order-8{order:8}.swagger-ui .order-last{order:99999}.swagger-ui .flex-grow-0{flex-grow:0}.swagger-ui .flex-grow-1{flex-grow:1}.swagger-ui .flex-shrink-0{flex-shrink:0}.swagger-ui .flex-shrink-1{flex-shrink:1}@media screen and (min-width:30em){.swagger-ui .flex-ns{display:flex}.swagger-ui .inline-flex-ns{display:inline-flex}.swagger-ui .flex-auto-ns{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-ns{flex:none}.swagger-ui .flex-column-ns{flex-direction:column}.swagger-ui .flex-row-ns{flex-direction:row}.swagger-ui .flex-wrap-ns{flex-wrap:wrap}.swagger-ui .flex-nowrap-ns{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-ns{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-ns{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-ns{flex-direction:row-reverse}.swagger-ui .items-start-ns{align-items:flex-start}.swagger-ui .items-end-ns{align-items:flex-end}.swagger-ui .items-center-ns{align-items:center}.swagger-ui .items-baseline-ns{align-items:baseline}.swagger-ui .items-stretch-ns{align-items:stretch}.swagger-ui .self-start-ns{align-self:flex-start}.swagger-ui .self-end-ns{align-self:flex-end}.swagger-ui .self-center-ns{align-self:center}.swagger-ui .self-baseline-ns{align-self:baseline}.swagger-ui .self-stretch-ns{align-self:stretch}.swagger-ui .justify-start-ns{justify-content:flex-start}.swagger-ui .justify-end-ns{justify-content:flex-end}.swagger-ui .justify-center-ns{justify-content:center}.swagger-ui .justify-between-ns{justify-content:space-between}.swagger-ui .justify-around-ns{justify-content:space-around}.swagger-ui .content-start-ns{align-content:flex-start}.swagger-ui .content-end-ns{align-content:flex-end}.swagger-ui .content-center-ns{align-content:center}.swagger-ui .content-between-ns{align-content:space-between}.swagger-ui .content-around-ns{align-content:space-around}.swagger-ui .content-stretch-ns{align-content:stretch}.swagger-ui .order-0-ns{order:0}.swagger-ui .order-1-ns{order:1}.swagger-ui .order-2-ns{order:2}.swagger-ui .order-3-ns{order:3}.swagger-ui .order-4-ns{order:4}.swagger-ui .order-5-ns{order:5}.swagger-ui .order-6-ns{order:6}.swagger-ui .order-7-ns{order:7}.swagger-ui .order-8-ns{order:8}.swagger-ui .order-last-ns{order:99999}.swagger-ui .flex-grow-0-ns{flex-grow:0}.swagger-ui .flex-grow-1-ns{flex-grow:1}.swagger-ui .flex-shrink-0-ns{flex-shrink:0}.swagger-ui .flex-shrink-1-ns{flex-shrink:1}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .flex-m{display:flex}.swagger-ui .inline-flex-m{display:inline-flex}.swagger-ui .flex-auto-m{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-m{flex:none}.swagger-ui .flex-column-m{flex-direction:column}.swagger-ui .flex-row-m{flex-direction:row}.swagger-ui .flex-wrap-m{flex-wrap:wrap}.swagger-ui .flex-nowrap-m{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-m{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-m{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-m{flex-direction:row-reverse}.swagger-ui .items-start-m{align-items:flex-start}.swagger-ui .items-end-m{align-items:flex-end}.swagger-ui .items-center-m{align-items:center}.swagger-ui .items-baseline-m{align-items:baseline}.swagger-ui .items-stretch-m{align-items:stretch}.swagger-ui .self-start-m{align-self:flex-start}.swagger-ui .self-end-m{align-self:flex-end}.swagger-ui .self-center-m{align-self:center}.swagger-ui .self-baseline-m{align-self:baseline}.swagger-ui .self-stretch-m{align-self:stretch}.swagger-ui .justify-start-m{justify-content:flex-start}.swagger-ui .justify-end-m{justify-content:flex-end}.swagger-ui .justify-center-m{justify-content:center}.swagger-ui .justify-between-m{justify-content:space-between}.swagger-ui .justify-around-m{justify-content:space-around}.swagger-ui .content-start-m{align-content:flex-start}.swagger-ui .content-end-m{align-content:flex-end}.swagger-ui .content-center-m{align-content:center}.swagger-ui .content-between-m{align-content:space-between}.swagger-ui .content-around-m{align-content:space-around}.swagger-ui .content-stretch-m{align-content:stretch}.swagger-ui .order-0-m{order:0}.swagger-ui .order-1-m{order:1}.swagger-ui .order-2-m{order:2}.swagger-ui .order-3-m{order:3}.swagger-ui .order-4-m{order:4}.swagger-ui .order-5-m{order:5}.swagger-ui .order-6-m{order:6}.swagger-ui .order-7-m{order:7}.swagger-ui .order-8-m{order:8}.swagger-ui .order-last-m{order:99999}.swagger-ui .flex-grow-0-m{flex-grow:0}.swagger-ui .flex-grow-1-m{flex-grow:1}.swagger-ui .flex-shrink-0-m{flex-shrink:0}.swagger-ui .flex-shrink-1-m{flex-shrink:1}}@media screen and (min-width:60em){.swagger-ui .flex-l{display:flex}.swagger-ui .inline-flex-l{display:inline-flex}.swagger-ui .flex-auto-l{flex:1 1 auto;min-height:0;min-width:0}.swagger-ui .flex-none-l{flex:none}.swagger-ui .flex-column-l{flex-direction:column}.swagger-ui .flex-row-l{flex-direction:row}.swagger-ui .flex-wrap-l{flex-wrap:wrap}.swagger-ui .flex-nowrap-l{flex-wrap:nowrap}.swagger-ui .flex-wrap-reverse-l{flex-wrap:wrap-reverse}.swagger-ui .flex-column-reverse-l{flex-direction:column-reverse}.swagger-ui .flex-row-reverse-l{flex-direction:row-reverse}.swagger-ui .items-start-l{align-items:flex-start}.swagger-ui .items-end-l{align-items:flex-end}.swagger-ui .items-center-l{align-items:center}.swagger-ui .items-baseline-l{align-items:baseline}.swagger-ui .items-stretch-l{align-items:stretch}.swagger-ui .self-start-l{align-self:flex-start}.swagger-ui .self-end-l{align-self:flex-end}.swagger-ui .self-center-l{align-self:center}.swagger-ui .self-baseline-l{align-self:baseline}.swagger-ui .self-stretch-l{align-self:stretch}.swagger-ui .justify-start-l{justify-content:flex-start}.swagger-ui .justify-end-l{justify-content:flex-end}.swagger-ui .justify-center-l{justify-content:center}.swagger-ui .justify-between-l{justify-content:space-between}.swagger-ui .justify-around-l{justify-content:space-around}.swagger-ui .content-start-l{align-content:flex-start}.swagger-ui .content-end-l{align-content:flex-end}.swagger-ui .content-center-l{align-content:center}.swagger-ui .content-between-l{align-content:space-between}.swagger-ui .content-around-l{align-content:space-around}.swagger-ui .content-stretch-l{align-content:stretch}.swagger-ui .order-0-l{order:0}.swagger-ui .order-1-l{order:1}.swagger-ui .order-2-l{order:2}.swagger-ui .order-3-l{order:3}.swagger-ui .order-4-l{order:4}.swagger-ui .order-5-l{order:5}.swagger-ui .order-6-l{order:6}.swagger-ui .order-7-l{order:7}.swagger-ui .order-8-l{order:8}.swagger-ui .order-last-l{order:99999}.swagger-ui .flex-grow-0-l{flex-grow:0}.swagger-ui .flex-grow-1-l{flex-grow:1}.swagger-ui .flex-shrink-0-l{flex-shrink:0}.swagger-ui .flex-shrink-1-l{flex-shrink:1}}.swagger-ui .dn{display:none}.swagger-ui .di{display:inline}.swagger-ui .db{display:block}.swagger-ui .dib{display:inline-block}.swagger-ui .dit{display:inline-table}.swagger-ui .dt{display:table}.swagger-ui .dtc{display:table-cell}.swagger-ui .dt-row{display:table-row}.swagger-ui .dt-row-group{display:table-row-group}.swagger-ui .dt-column{display:table-column}.swagger-ui .dt-column-group{display:table-column-group}.swagger-ui .dt--fixed{table-layout:fixed;width:100%}@media screen and (min-width:30em){.swagger-ui .dn-ns{display:none}.swagger-ui .di-ns{display:inline}.swagger-ui .db-ns{display:block}.swagger-ui .dib-ns{display:inline-block}.swagger-ui .dit-ns{display:inline-table}.swagger-ui .dt-ns{display:table}.swagger-ui .dtc-ns{display:table-cell}.swagger-ui .dt-row-ns{display:table-row}.swagger-ui .dt-row-group-ns{display:table-row-group}.swagger-ui .dt-column-ns{display:table-column}.swagger-ui .dt-column-group-ns{display:table-column-group}.swagger-ui .dt--fixed-ns{table-layout:fixed;width:100%}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .dn-m{display:none}.swagger-ui .di-m{display:inline}.swagger-ui .db-m{display:block}.swagger-ui .dib-m{display:inline-block}.swagger-ui .dit-m{display:inline-table}.swagger-ui .dt-m{display:table}.swagger-ui .dtc-m{display:table-cell}.swagger-ui .dt-row-m{display:table-row}.swagger-ui .dt-row-group-m{display:table-row-group}.swagger-ui .dt-column-m{display:table-column}.swagger-ui .dt-column-group-m{display:table-column-group}.swagger-ui .dt--fixed-m{table-layout:fixed;width:100%}}@media screen and (min-width:60em){.swagger-ui .dn-l{display:none}.swagger-ui .di-l{display:inline}.swagger-ui .db-l{display:block}.swagger-ui .dib-l{display:inline-block}.swagger-ui .dit-l{display:inline-table}.swagger-ui .dt-l{display:table}.swagger-ui .dtc-l{display:table-cell}.swagger-ui .dt-row-l{display:table-row}.swagger-ui .dt-row-group-l{display:table-row-group}.swagger-ui .dt-column-l{display:table-column}.swagger-ui .dt-column-group-l{display:table-column-group}.swagger-ui .dt--fixed-l{table-layout:fixed;width:100%}}.swagger-ui .fl{_display:inline;float:left}.swagger-ui .fr{_display:inline;float:right}.swagger-ui .fn{float:none}@media screen and (min-width:30em){.swagger-ui .fl-ns{_display:inline;float:left}.swagger-ui .fr-ns{_display:inline;float:right}.swagger-ui .fn-ns{float:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .fl-m{_display:inline;float:left}.swagger-ui .fr-m{_display:inline;float:right}.swagger-ui .fn-m{float:none}}@media screen and (min-width:60em){.swagger-ui .fl-l{_display:inline;float:left}.swagger-ui .fr-l{_display:inline;float:right}.swagger-ui .fn-l{float:none}}.swagger-ui .sans-serif{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica,helvetica neue,ubuntu,roboto,noto,segoe ui,arial,sans-serif}.swagger-ui .serif{font-family:georgia,serif}.swagger-ui .system-sans-serif{font-family:sans-serif}.swagger-ui .system-serif{font-family:serif}.swagger-ui .code,.swagger-ui code{font-family:Consolas,monaco,monospace}.swagger-ui .courier{font-family:Courier Next,courier,monospace}.swagger-ui .helvetica{font-family:helvetica neue,helvetica,sans-serif}.swagger-ui .avenir{font-family:avenir next,avenir,sans-serif}.swagger-ui .athelas{font-family:athelas,georgia,serif}.swagger-ui .georgia{font-family:georgia,serif}.swagger-ui .times{font-family:times,serif}.swagger-ui .bodoni{font-family:Bodoni MT,serif}.swagger-ui .calisto{font-family:Calisto MT,serif}.swagger-ui .garamond{font-family:garamond,serif}.swagger-ui .baskerville{font-family:baskerville,serif}.swagger-ui .i{font-style:italic}.swagger-ui .fs-normal{font-style:normal}@media screen and (min-width:30em){.swagger-ui .i-ns{font-style:italic}.swagger-ui .fs-normal-ns{font-style:normal}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .i-m{font-style:italic}.swagger-ui .fs-normal-m{font-style:normal}}@media screen and (min-width:60em){.swagger-ui .i-l{font-style:italic}.swagger-ui .fs-normal-l{font-style:normal}}.swagger-ui .normal{font-weight:400}.swagger-ui .b{font-weight:700}.swagger-ui .fw1{font-weight:100}.swagger-ui .fw2{font-weight:200}.swagger-ui .fw3{font-weight:300}.swagger-ui .fw4{font-weight:400}.swagger-ui .fw5{font-weight:500}.swagger-ui .fw6{font-weight:600}.swagger-ui .fw7{font-weight:700}.swagger-ui .fw8{font-weight:800}.swagger-ui .fw9{font-weight:900}@media screen and (min-width:30em){.swagger-ui .normal-ns{font-weight:400}.swagger-ui .b-ns{font-weight:700}.swagger-ui .fw1-ns{font-weight:100}.swagger-ui .fw2-ns{font-weight:200}.swagger-ui .fw3-ns{font-weight:300}.swagger-ui .fw4-ns{font-weight:400}.swagger-ui .fw5-ns{font-weight:500}.swagger-ui .fw6-ns{font-weight:600}.swagger-ui .fw7-ns{font-weight:700}.swagger-ui .fw8-ns{font-weight:800}.swagger-ui .fw9-ns{font-weight:900}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .normal-m{font-weight:400}.swagger-ui .b-m{font-weight:700}.swagger-ui .fw1-m{font-weight:100}.swagger-ui .fw2-m{font-weight:200}.swagger-ui .fw3-m{font-weight:300}.swagger-ui .fw4-m{font-weight:400}.swagger-ui .fw5-m{font-weight:500}.swagger-ui .fw6-m{font-weight:600}.swagger-ui .fw7-m{font-weight:700}.swagger-ui .fw8-m{font-weight:800}.swagger-ui .fw9-m{font-weight:900}}@media screen and (min-width:60em){.swagger-ui .normal-l{font-weight:400}.swagger-ui .b-l{font-weight:700}.swagger-ui .fw1-l{font-weight:100}.swagger-ui .fw2-l{font-weight:200}.swagger-ui .fw3-l{font-weight:300}.swagger-ui .fw4-l{font-weight:400}.swagger-ui .fw5-l{font-weight:500}.swagger-ui .fw6-l{font-weight:600}.swagger-ui .fw7-l{font-weight:700}.swagger-ui .fw8-l{font-weight:800}.swagger-ui .fw9-l{font-weight:900}}.swagger-ui .input-reset{-webkit-appearance:none;-moz-appearance:none}.swagger-ui .button-reset::-moz-focus-inner,.swagger-ui .input-reset::-moz-focus-inner{border:0;padding:0}.swagger-ui .h1{height:1rem}.swagger-ui .h2{height:2rem}.swagger-ui .h3{height:4rem}.swagger-ui .h4{height:8rem}.swagger-ui .h5{height:16rem}.swagger-ui .h-25{height:25%}.swagger-ui .h-50{height:50%}.swagger-ui .h-75{height:75%}.swagger-ui .h-100{height:100%}.swagger-ui .min-h-100{min-height:100%}.swagger-ui .vh-25{height:25vh}.swagger-ui .vh-50{height:50vh}.swagger-ui .vh-75{height:75vh}.swagger-ui .vh-100{height:100vh}.swagger-ui .min-vh-100{min-height:100vh}.swagger-ui .h-auto{height:auto}.swagger-ui .h-inherit{height:inherit}@media screen and (min-width:30em){.swagger-ui .h1-ns{height:1rem}.swagger-ui .h2-ns{height:2rem}.swagger-ui .h3-ns{height:4rem}.swagger-ui .h4-ns{height:8rem}.swagger-ui .h5-ns{height:16rem}.swagger-ui .h-25-ns{height:25%}.swagger-ui .h-50-ns{height:50%}.swagger-ui .h-75-ns{height:75%}.swagger-ui .h-100-ns{height:100%}.swagger-ui .min-h-100-ns{min-height:100%}.swagger-ui .vh-25-ns{height:25vh}.swagger-ui .vh-50-ns{height:50vh}.swagger-ui .vh-75-ns{height:75vh}.swagger-ui .vh-100-ns{height:100vh}.swagger-ui .min-vh-100-ns{min-height:100vh}.swagger-ui .h-auto-ns{height:auto}.swagger-ui .h-inherit-ns{height:inherit}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .h1-m{height:1rem}.swagger-ui .h2-m{height:2rem}.swagger-ui .h3-m{height:4rem}.swagger-ui .h4-m{height:8rem}.swagger-ui .h5-m{height:16rem}.swagger-ui .h-25-m{height:25%}.swagger-ui .h-50-m{height:50%}.swagger-ui .h-75-m{height:75%}.swagger-ui .h-100-m{height:100%}.swagger-ui .min-h-100-m{min-height:100%}.swagger-ui .vh-25-m{height:25vh}.swagger-ui .vh-50-m{height:50vh}.swagger-ui .vh-75-m{height:75vh}.swagger-ui .vh-100-m{height:100vh}.swagger-ui .min-vh-100-m{min-height:100vh}.swagger-ui .h-auto-m{height:auto}.swagger-ui .h-inherit-m{height:inherit}}@media screen and (min-width:60em){.swagger-ui .h1-l{height:1rem}.swagger-ui .h2-l{height:2rem}.swagger-ui .h3-l{height:4rem}.swagger-ui .h4-l{height:8rem}.swagger-ui .h5-l{height:16rem}.swagger-ui .h-25-l{height:25%}.swagger-ui .h-50-l{height:50%}.swagger-ui .h-75-l{height:75%}.swagger-ui .h-100-l{height:100%}.swagger-ui .min-h-100-l{min-height:100%}.swagger-ui .vh-25-l{height:25vh}.swagger-ui .vh-50-l{height:50vh}.swagger-ui .vh-75-l{height:75vh}.swagger-ui .vh-100-l{height:100vh}.swagger-ui .min-vh-100-l{min-height:100vh}.swagger-ui .h-auto-l{height:auto}.swagger-ui .h-inherit-l{height:inherit}}.swagger-ui .tracked{letter-spacing:.1em}.swagger-ui .tracked-tight{letter-spacing:-.05em}.swagger-ui .tracked-mega{letter-spacing:.25em}@media screen and (min-width:30em){.swagger-ui .tracked-ns{letter-spacing:.1em}.swagger-ui .tracked-tight-ns{letter-spacing:-.05em}.swagger-ui .tracked-mega-ns{letter-spacing:.25em}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .tracked-m{letter-spacing:.1em}.swagger-ui .tracked-tight-m{letter-spacing:-.05em}.swagger-ui .tracked-mega-m{letter-spacing:.25em}}@media screen and (min-width:60em){.swagger-ui .tracked-l{letter-spacing:.1em}.swagger-ui .tracked-tight-l{letter-spacing:-.05em}.swagger-ui .tracked-mega-l{letter-spacing:.25em}}.swagger-ui .lh-solid{line-height:1}.swagger-ui .lh-title{line-height:1.25}.swagger-ui .lh-copy{line-height:1.5}@media screen and (min-width:30em){.swagger-ui .lh-solid-ns{line-height:1}.swagger-ui .lh-title-ns{line-height:1.25}.swagger-ui .lh-copy-ns{line-height:1.5}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .lh-solid-m{line-height:1}.swagger-ui .lh-title-m{line-height:1.25}.swagger-ui .lh-copy-m{line-height:1.5}}@media screen and (min-width:60em){.swagger-ui .lh-solid-l{line-height:1}.swagger-ui .lh-title-l{line-height:1.25}.swagger-ui .lh-copy-l{line-height:1.5}}.swagger-ui .link{-webkit-text-decoration:none;text-decoration:none}.swagger-ui .link,.swagger-ui .link:active,.swagger-ui .link:focus,.swagger-ui .link:hover,.swagger-ui .link:link,.swagger-ui .link:visited{transition:color .15s ease-in}.swagger-ui .link:focus{outline:1px dotted currentColor}.swagger-ui .list{list-style-type:none}.swagger-ui .mw-100{max-width:100%}.swagger-ui .mw1{max-width:1rem}.swagger-ui .mw2{max-width:2rem}.swagger-ui .mw3{max-width:4rem}.swagger-ui .mw4{max-width:8rem}.swagger-ui .mw5{max-width:16rem}.swagger-ui .mw6{max-width:32rem}.swagger-ui .mw7{max-width:48rem}.swagger-ui .mw8{max-width:64rem}.swagger-ui .mw9{max-width:96rem}.swagger-ui .mw-none{max-width:none}@media screen and (min-width:30em){.swagger-ui .mw-100-ns{max-width:100%}.swagger-ui .mw1-ns{max-width:1rem}.swagger-ui .mw2-ns{max-width:2rem}.swagger-ui .mw3-ns{max-width:4rem}.swagger-ui .mw4-ns{max-width:8rem}.swagger-ui .mw5-ns{max-width:16rem}.swagger-ui .mw6-ns{max-width:32rem}.swagger-ui .mw7-ns{max-width:48rem}.swagger-ui .mw8-ns{max-width:64rem}.swagger-ui .mw9-ns{max-width:96rem}.swagger-ui .mw-none-ns{max-width:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .mw-100-m{max-width:100%}.swagger-ui .mw1-m{max-width:1rem}.swagger-ui .mw2-m{max-width:2rem}.swagger-ui .mw3-m{max-width:4rem}.swagger-ui .mw4-m{max-width:8rem}.swagger-ui .mw5-m{max-width:16rem}.swagger-ui .mw6-m{max-width:32rem}.swagger-ui .mw7-m{max-width:48rem}.swagger-ui .mw8-m{max-width:64rem}.swagger-ui .mw9-m{max-width:96rem}.swagger-ui .mw-none-m{max-width:none}}@media screen and (min-width:60em){.swagger-ui .mw-100-l{max-width:100%}.swagger-ui .mw1-l{max-width:1rem}.swagger-ui .mw2-l{max-width:2rem}.swagger-ui .mw3-l{max-width:4rem}.swagger-ui .mw4-l{max-width:8rem}.swagger-ui .mw5-l{max-width:16rem}.swagger-ui .mw6-l{max-width:32rem}.swagger-ui .mw7-l{max-width:48rem}.swagger-ui .mw8-l{max-width:64rem}.swagger-ui .mw9-l{max-width:96rem}.swagger-ui .mw-none-l{max-width:none}}.swagger-ui .w1{width:1rem}.swagger-ui .w2{width:2rem}.swagger-ui .w3{width:4rem}.swagger-ui .w4{width:8rem}.swagger-ui .w5{width:16rem}.swagger-ui .w-10{width:10%}.swagger-ui .w-20{width:20%}.swagger-ui .w-25{width:25%}.swagger-ui .w-30{width:30%}.swagger-ui .w-33{width:33%}.swagger-ui .w-34{width:34%}.swagger-ui .w-40{width:40%}.swagger-ui .w-50{width:50%}.swagger-ui .w-60{width:60%}.swagger-ui .w-70{width:70%}.swagger-ui .w-75{width:75%}.swagger-ui .w-80{width:80%}.swagger-ui .w-90{width:90%}.swagger-ui .w-100{width:100%}.swagger-ui .w-third{width:33.3333333333%}.swagger-ui .w-two-thirds{width:66.6666666667%}.swagger-ui .w-auto{width:auto}@media screen and (min-width:30em){.swagger-ui .w1-ns{width:1rem}.swagger-ui .w2-ns{width:2rem}.swagger-ui .w3-ns{width:4rem}.swagger-ui .w4-ns{width:8rem}.swagger-ui .w5-ns{width:16rem}.swagger-ui .w-10-ns{width:10%}.swagger-ui .w-20-ns{width:20%}.swagger-ui .w-25-ns{width:25%}.swagger-ui .w-30-ns{width:30%}.swagger-ui .w-33-ns{width:33%}.swagger-ui .w-34-ns{width:34%}.swagger-ui .w-40-ns{width:40%}.swagger-ui .w-50-ns{width:50%}.swagger-ui .w-60-ns{width:60%}.swagger-ui .w-70-ns{width:70%}.swagger-ui .w-75-ns{width:75%}.swagger-ui .w-80-ns{width:80%}.swagger-ui .w-90-ns{width:90%}.swagger-ui .w-100-ns{width:100%}.swagger-ui .w-third-ns{width:33.3333333333%}.swagger-ui .w-two-thirds-ns{width:66.6666666667%}.swagger-ui .w-auto-ns{width:auto}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .w1-m{width:1rem}.swagger-ui .w2-m{width:2rem}.swagger-ui .w3-m{width:4rem}.swagger-ui .w4-m{width:8rem}.swagger-ui .w5-m{width:16rem}.swagger-ui .w-10-m{width:10%}.swagger-ui .w-20-m{width:20%}.swagger-ui .w-25-m{width:25%}.swagger-ui .w-30-m{width:30%}.swagger-ui .w-33-m{width:33%}.swagger-ui .w-34-m{width:34%}.swagger-ui .w-40-m{width:40%}.swagger-ui .w-50-m{width:50%}.swagger-ui .w-60-m{width:60%}.swagger-ui .w-70-m{width:70%}.swagger-ui .w-75-m{width:75%}.swagger-ui .w-80-m{width:80%}.swagger-ui .w-90-m{width:90%}.swagger-ui .w-100-m{width:100%}.swagger-ui .w-third-m{width:33.3333333333%}.swagger-ui .w-two-thirds-m{width:66.6666666667%}.swagger-ui .w-auto-m{width:auto}}@media screen and (min-width:60em){.swagger-ui .w1-l{width:1rem}.swagger-ui .w2-l{width:2rem}.swagger-ui .w3-l{width:4rem}.swagger-ui .w4-l{width:8rem}.swagger-ui .w5-l{width:16rem}.swagger-ui .w-10-l{width:10%}.swagger-ui .w-20-l{width:20%}.swagger-ui .w-25-l{width:25%}.swagger-ui .w-30-l{width:30%}.swagger-ui .w-33-l{width:33%}.swagger-ui .w-34-l{width:34%}.swagger-ui .w-40-l{width:40%}.swagger-ui .w-50-l{width:50%}.swagger-ui .w-60-l{width:60%}.swagger-ui .w-70-l{width:70%}.swagger-ui .w-75-l{width:75%}.swagger-ui .w-80-l{width:80%}.swagger-ui .w-90-l{width:90%}.swagger-ui .w-100-l{width:100%}.swagger-ui .w-third-l{width:33.3333333333%}.swagger-ui .w-two-thirds-l{width:66.6666666667%}.swagger-ui .w-auto-l{width:auto}}.swagger-ui .overflow-visible{overflow:visible}.swagger-ui .overflow-hidden{overflow:hidden}.swagger-ui .overflow-scroll{overflow:scroll}.swagger-ui .overflow-auto{overflow:auto}.swagger-ui .overflow-x-visible{overflow-x:visible}.swagger-ui .overflow-x-hidden{overflow-x:hidden}.swagger-ui .overflow-x-scroll{overflow-x:scroll}.swagger-ui .overflow-x-auto{overflow-x:auto}.swagger-ui .overflow-y-visible{overflow-y:visible}.swagger-ui .overflow-y-hidden{overflow-y:hidden}.swagger-ui .overflow-y-scroll{overflow-y:scroll}.swagger-ui .overflow-y-auto{overflow-y:auto}@media screen and (min-width:30em){.swagger-ui .overflow-visible-ns{overflow:visible}.swagger-ui .overflow-hidden-ns{overflow:hidden}.swagger-ui .overflow-scroll-ns{overflow:scroll}.swagger-ui .overflow-auto-ns{overflow:auto}.swagger-ui .overflow-x-visible-ns{overflow-x:visible}.swagger-ui .overflow-x-hidden-ns{overflow-x:hidden}.swagger-ui .overflow-x-scroll-ns{overflow-x:scroll}.swagger-ui .overflow-x-auto-ns{overflow-x:auto}.swagger-ui .overflow-y-visible-ns{overflow-y:visible}.swagger-ui .overflow-y-hidden-ns{overflow-y:hidden}.swagger-ui .overflow-y-scroll-ns{overflow-y:scroll}.swagger-ui .overflow-y-auto-ns{overflow-y:auto}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .overflow-visible-m{overflow:visible}.swagger-ui .overflow-hidden-m{overflow:hidden}.swagger-ui .overflow-scroll-m{overflow:scroll}.swagger-ui .overflow-auto-m{overflow:auto}.swagger-ui .overflow-x-visible-m{overflow-x:visible}.swagger-ui .overflow-x-hidden-m{overflow-x:hidden}.swagger-ui .overflow-x-scroll-m{overflow-x:scroll}.swagger-ui .overflow-x-auto-m{overflow-x:auto}.swagger-ui .overflow-y-visible-m{overflow-y:visible}.swagger-ui .overflow-y-hidden-m{overflow-y:hidden}.swagger-ui .overflow-y-scroll-m{overflow-y:scroll}.swagger-ui .overflow-y-auto-m{overflow-y:auto}}@media screen and (min-width:60em){.swagger-ui .overflow-visible-l{overflow:visible}.swagger-ui .overflow-hidden-l{overflow:hidden}.swagger-ui .overflow-scroll-l{overflow:scroll}.swagger-ui .overflow-auto-l{overflow:auto}.swagger-ui .overflow-x-visible-l{overflow-x:visible}.swagger-ui .overflow-x-hidden-l{overflow-x:hidden}.swagger-ui .overflow-x-scroll-l{overflow-x:scroll}.swagger-ui .overflow-x-auto-l{overflow-x:auto}.swagger-ui .overflow-y-visible-l{overflow-y:visible}.swagger-ui .overflow-y-hidden-l{overflow-y:hidden}.swagger-ui .overflow-y-scroll-l{overflow-y:scroll}.swagger-ui .overflow-y-auto-l{overflow-y:auto}}.swagger-ui .static{position:static}.swagger-ui .relative{position:relative}.swagger-ui .absolute{position:absolute}.swagger-ui .fixed{position:fixed}@media screen and (min-width:30em){.swagger-ui .static-ns{position:static}.swagger-ui .relative-ns{position:relative}.swagger-ui .absolute-ns{position:absolute}.swagger-ui .fixed-ns{position:fixed}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .static-m{position:static}.swagger-ui .relative-m{position:relative}.swagger-ui .absolute-m{position:absolute}.swagger-ui .fixed-m{position:fixed}}@media screen and (min-width:60em){.swagger-ui .static-l{position:static}.swagger-ui .relative-l{position:relative}.swagger-ui .absolute-l{position:absolute}.swagger-ui .fixed-l{position:fixed}}.swagger-ui .o-100{opacity:1}.swagger-ui .o-90{opacity:.9}.swagger-ui .o-80{opacity:.8}.swagger-ui .o-70{opacity:.7}.swagger-ui .o-60{opacity:.6}.swagger-ui .o-50{opacity:.5}.swagger-ui .o-40{opacity:.4}.swagger-ui .o-30{opacity:.3}.swagger-ui .o-20{opacity:.2}.swagger-ui .o-10{opacity:.1}.swagger-ui .o-05{opacity:.05}.swagger-ui .o-025{opacity:.025}.swagger-ui .o-0{opacity:0}.swagger-ui .rotate-45{transform:rotate(45deg)}.swagger-ui .rotate-90{transform:rotate(90deg)}.swagger-ui .rotate-135{transform:rotate(135deg)}.swagger-ui .rotate-180{transform:rotate(180deg)}.swagger-ui .rotate-225{transform:rotate(225deg)}.swagger-ui .rotate-270{transform:rotate(270deg)}.swagger-ui .rotate-315{transform:rotate(315deg)}@media screen and (min-width:30em){.swagger-ui .rotate-45-ns{transform:rotate(45deg)}.swagger-ui .rotate-90-ns{transform:rotate(90deg)}.swagger-ui .rotate-135-ns{transform:rotate(135deg)}.swagger-ui .rotate-180-ns{transform:rotate(180deg)}.swagger-ui .rotate-225-ns{transform:rotate(225deg)}.swagger-ui .rotate-270-ns{transform:rotate(270deg)}.swagger-ui .rotate-315-ns{transform:rotate(315deg)}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .rotate-45-m{transform:rotate(45deg)}.swagger-ui .rotate-90-m{transform:rotate(90deg)}.swagger-ui .rotate-135-m{transform:rotate(135deg)}.swagger-ui .rotate-180-m{transform:rotate(180deg)}.swagger-ui .rotate-225-m{transform:rotate(225deg)}.swagger-ui .rotate-270-m{transform:rotate(270deg)}.swagger-ui .rotate-315-m{transform:rotate(315deg)}}@media screen and (min-width:60em){.swagger-ui .rotate-45-l{transform:rotate(45deg)}.swagger-ui .rotate-90-l{transform:rotate(90deg)}.swagger-ui .rotate-135-l{transform:rotate(135deg)}.swagger-ui .rotate-180-l{transform:rotate(180deg)}.swagger-ui .rotate-225-l{transform:rotate(225deg)}.swagger-ui .rotate-270-l{transform:rotate(270deg)}.swagger-ui .rotate-315-l{transform:rotate(315deg)}}.swagger-ui .black-90{color:rgba(0,0,0,.9)}.swagger-ui .black-80{color:rgba(0,0,0,.8)}.swagger-ui .black-70{color:rgba(0,0,0,.7)}.swagger-ui .black-60{color:rgba(0,0,0,.6)}.swagger-ui .black-50{color:rgba(0,0,0,.5)}.swagger-ui .black-40{color:rgba(0,0,0,.4)}.swagger-ui .black-30{color:rgba(0,0,0,.3)}.swagger-ui .black-20{color:rgba(0,0,0,.2)}.swagger-ui .black-10{color:rgba(0,0,0,.1)}.swagger-ui .black-05{color:rgba(0,0,0,.05)}.swagger-ui .white-90{color:hsla(0,0%,100%,.9)}.swagger-ui .white-80{color:hsla(0,0%,100%,.8)}.swagger-ui .white-70{color:hsla(0,0%,100%,.7)}.swagger-ui .white-60{color:hsla(0,0%,100%,.6)}.swagger-ui .white-50{color:hsla(0,0%,100%,.5)}.swagger-ui .white-40{color:hsla(0,0%,100%,.4)}.swagger-ui .white-30{color:hsla(0,0%,100%,.3)}.swagger-ui .white-20{color:hsla(0,0%,100%,.2)}.swagger-ui .white-10{color:hsla(0,0%,100%,.1)}.swagger-ui .black{color:#000}.swagger-ui .near-black{color:#111}.swagger-ui .dark-gray{color:#333}.swagger-ui .mid-gray{color:#555}.swagger-ui .gray{color:#777}.swagger-ui .silver{color:#999}.swagger-ui .light-silver{color:#aaa}.swagger-ui .moon-gray{color:#ccc}.swagger-ui .light-gray{color:#eee}.swagger-ui .near-white{color:#f4f4f4}.swagger-ui .white{color:#fff}.swagger-ui .dark-red{color:#e7040f}.swagger-ui .red{color:#ff4136}.swagger-ui .light-red{color:#ff725c}.swagger-ui .orange{color:#ff6300}.swagger-ui .gold{color:#ffb700}.swagger-ui .yellow{color:gold}.swagger-ui .light-yellow{color:#fbf1a9}.swagger-ui .purple{color:#5e2ca5}.swagger-ui .light-purple{color:#a463f2}.swagger-ui .dark-pink{color:#d5008f}.swagger-ui .hot-pink{color:#ff41b4}.swagger-ui .pink{color:#ff80cc}.swagger-ui .light-pink{color:#ffa3d7}.swagger-ui .dark-green{color:#137752}.swagger-ui .green{color:#19a974}.swagger-ui .light-green{color:#9eebcf}.swagger-ui .navy{color:#001b44}.swagger-ui .dark-blue{color:#00449e}.swagger-ui .blue{color:#357edd}.swagger-ui .light-blue{color:#96ccff}.swagger-ui .lightest-blue{color:#cdecff}.swagger-ui .washed-blue{color:#f6fffe}.swagger-ui .washed-green{color:#e8fdf5}.swagger-ui .washed-yellow{color:#fffceb}.swagger-ui .washed-red{color:#ffdfdf}.swagger-ui .color-inherit{color:inherit}.swagger-ui .bg-black-90{background-color:rgba(0,0,0,.9)}.swagger-ui .bg-black-80{background-color:rgba(0,0,0,.8)}.swagger-ui .bg-black-70{background-color:rgba(0,0,0,.7)}.swagger-ui .bg-black-60{background-color:rgba(0,0,0,.6)}.swagger-ui .bg-black-50{background-color:rgba(0,0,0,.5)}.swagger-ui .bg-black-40{background-color:rgba(0,0,0,.4)}.swagger-ui .bg-black-30{background-color:rgba(0,0,0,.3)}.swagger-ui .bg-black-20{background-color:rgba(0,0,0,.2)}.swagger-ui .bg-black-10{background-color:rgba(0,0,0,.1)}.swagger-ui .bg-black-05{background-color:rgba(0,0,0,.05)}.swagger-ui .bg-white-90{background-color:hsla(0,0%,100%,.9)}.swagger-ui .bg-white-80{background-color:hsla(0,0%,100%,.8)}.swagger-ui .bg-white-70{background-color:hsla(0,0%,100%,.7)}.swagger-ui .bg-white-60{background-color:hsla(0,0%,100%,.6)}.swagger-ui .bg-white-50{background-color:hsla(0,0%,100%,.5)}.swagger-ui .bg-white-40{background-color:hsla(0,0%,100%,.4)}.swagger-ui .bg-white-30{background-color:hsla(0,0%,100%,.3)}.swagger-ui .bg-white-20{background-color:hsla(0,0%,100%,.2)}.swagger-ui .bg-white-10{background-color:hsla(0,0%,100%,.1)}.swagger-ui .bg-black{background-color:#000}.swagger-ui .bg-near-black{background-color:#111}.swagger-ui .bg-dark-gray{background-color:#333}.swagger-ui .bg-mid-gray{background-color:#555}.swagger-ui .bg-gray{background-color:#777}.swagger-ui .bg-silver{background-color:#999}.swagger-ui .bg-light-silver{background-color:#aaa}.swagger-ui .bg-moon-gray{background-color:#ccc}.swagger-ui .bg-light-gray{background-color:#eee}.swagger-ui .bg-near-white{background-color:#f4f4f4}.swagger-ui .bg-white{background-color:#fff}.swagger-ui .bg-transparent{background-color:transparent}.swagger-ui .bg-dark-red{background-color:#e7040f}.swagger-ui .bg-red{background-color:#ff4136}.swagger-ui .bg-light-red{background-color:#ff725c}.swagger-ui .bg-orange{background-color:#ff6300}.swagger-ui .bg-gold{background-color:#ffb700}.swagger-ui .bg-yellow{background-color:gold}.swagger-ui .bg-light-yellow{background-color:#fbf1a9}.swagger-ui .bg-purple{background-color:#5e2ca5}.swagger-ui .bg-light-purple{background-color:#a463f2}.swagger-ui .bg-dark-pink{background-color:#d5008f}.swagger-ui .bg-hot-pink{background-color:#ff41b4}.swagger-ui .bg-pink{background-color:#ff80cc}.swagger-ui .bg-light-pink{background-color:#ffa3d7}.swagger-ui .bg-dark-green{background-color:#137752}.swagger-ui .bg-green{background-color:#19a974}.swagger-ui .bg-light-green{background-color:#9eebcf}.swagger-ui .bg-navy{background-color:#001b44}.swagger-ui .bg-dark-blue{background-color:#00449e}.swagger-ui .bg-blue{background-color:#357edd}.swagger-ui .bg-light-blue{background-color:#96ccff}.swagger-ui .bg-lightest-blue{background-color:#cdecff}.swagger-ui .bg-washed-blue{background-color:#f6fffe}.swagger-ui .bg-washed-green{background-color:#e8fdf5}.swagger-ui .bg-washed-yellow{background-color:#fffceb}.swagger-ui .bg-washed-red{background-color:#ffdfdf}.swagger-ui .bg-inherit{background-color:inherit}.swagger-ui .hover-black:focus,.swagger-ui .hover-black:hover{color:#000}.swagger-ui .hover-near-black:focus,.swagger-ui .hover-near-black:hover{color:#111}.swagger-ui .hover-dark-gray:focus,.swagger-ui .hover-dark-gray:hover{color:#333}.swagger-ui .hover-mid-gray:focus,.swagger-ui .hover-mid-gray:hover{color:#555}.swagger-ui .hover-gray:focus,.swagger-ui .hover-gray:hover{color:#777}.swagger-ui .hover-silver:focus,.swagger-ui .hover-silver:hover{color:#999}.swagger-ui .hover-light-silver:focus,.swagger-ui .hover-light-silver:hover{color:#aaa}.swagger-ui .hover-moon-gray:focus,.swagger-ui .hover-moon-gray:hover{color:#ccc}.swagger-ui .hover-light-gray:focus,.swagger-ui .hover-light-gray:hover{color:#eee}.swagger-ui .hover-near-white:focus,.swagger-ui .hover-near-white:hover{color:#f4f4f4}.swagger-ui .hover-white:focus,.swagger-ui .hover-white:hover{color:#fff}.swagger-ui .hover-black-90:focus,.swagger-ui .hover-black-90:hover{color:rgba(0,0,0,.9)}.swagger-ui .hover-black-80:focus,.swagger-ui .hover-black-80:hover{color:rgba(0,0,0,.8)}.swagger-ui .hover-black-70:focus,.swagger-ui .hover-black-70:hover{color:rgba(0,0,0,.7)}.swagger-ui .hover-black-60:focus,.swagger-ui .hover-black-60:hover{color:rgba(0,0,0,.6)}.swagger-ui .hover-black-50:focus,.swagger-ui .hover-black-50:hover{color:rgba(0,0,0,.5)}.swagger-ui .hover-black-40:focus,.swagger-ui .hover-black-40:hover{color:rgba(0,0,0,.4)}.swagger-ui .hover-black-30:focus,.swagger-ui .hover-black-30:hover{color:rgba(0,0,0,.3)}.swagger-ui .hover-black-20:focus,.swagger-ui .hover-black-20:hover{color:rgba(0,0,0,.2)}.swagger-ui .hover-black-10:focus,.swagger-ui .hover-black-10:hover{color:rgba(0,0,0,.1)}.swagger-ui .hover-white-90:focus,.swagger-ui .hover-white-90:hover{color:hsla(0,0%,100%,.9)}.swagger-ui .hover-white-80:focus,.swagger-ui .hover-white-80:hover{color:hsla(0,0%,100%,.8)}.swagger-ui .hover-white-70:focus,.swagger-ui .hover-white-70:hover{color:hsla(0,0%,100%,.7)}.swagger-ui .hover-white-60:focus,.swagger-ui .hover-white-60:hover{color:hsla(0,0%,100%,.6)}.swagger-ui .hover-white-50:focus,.swagger-ui .hover-white-50:hover{color:hsla(0,0%,100%,.5)}.swagger-ui .hover-white-40:focus,.swagger-ui .hover-white-40:hover{color:hsla(0,0%,100%,.4)}.swagger-ui .hover-white-30:focus,.swagger-ui .hover-white-30:hover{color:hsla(0,0%,100%,.3)}.swagger-ui .hover-white-20:focus,.swagger-ui .hover-white-20:hover{color:hsla(0,0%,100%,.2)}.swagger-ui .hover-white-10:focus,.swagger-ui .hover-white-10:hover{color:hsla(0,0%,100%,.1)}.swagger-ui .hover-inherit:focus,.swagger-ui .hover-inherit:hover{color:inherit}.swagger-ui .hover-bg-black:focus,.swagger-ui .hover-bg-black:hover{background-color:#000}.swagger-ui .hover-bg-near-black:focus,.swagger-ui .hover-bg-near-black:hover{background-color:#111}.swagger-ui .hover-bg-dark-gray:focus,.swagger-ui .hover-bg-dark-gray:hover{background-color:#333}.swagger-ui .hover-bg-mid-gray:focus,.swagger-ui .hover-bg-mid-gray:hover{background-color:#555}.swagger-ui .hover-bg-gray:focus,.swagger-ui .hover-bg-gray:hover{background-color:#777}.swagger-ui .hover-bg-silver:focus,.swagger-ui .hover-bg-silver:hover{background-color:#999}.swagger-ui .hover-bg-light-silver:focus,.swagger-ui .hover-bg-light-silver:hover{background-color:#aaa}.swagger-ui .hover-bg-moon-gray:focus,.swagger-ui .hover-bg-moon-gray:hover{background-color:#ccc}.swagger-ui .hover-bg-light-gray:focus,.swagger-ui .hover-bg-light-gray:hover{background-color:#eee}.swagger-ui .hover-bg-near-white:focus,.swagger-ui .hover-bg-near-white:hover{background-color:#f4f4f4}.swagger-ui .hover-bg-white:focus,.swagger-ui .hover-bg-white:hover{background-color:#fff}.swagger-ui .hover-bg-transparent:focus,.swagger-ui .hover-bg-transparent:hover{background-color:transparent}.swagger-ui .hover-bg-black-90:focus,.swagger-ui .hover-bg-black-90:hover{background-color:rgba(0,0,0,.9)}.swagger-ui .hover-bg-black-80:focus,.swagger-ui .hover-bg-black-80:hover{background-color:rgba(0,0,0,.8)}.swagger-ui .hover-bg-black-70:focus,.swagger-ui .hover-bg-black-70:hover{background-color:rgba(0,0,0,.7)}.swagger-ui .hover-bg-black-60:focus,.swagger-ui .hover-bg-black-60:hover{background-color:rgba(0,0,0,.6)}.swagger-ui .hover-bg-black-50:focus,.swagger-ui .hover-bg-black-50:hover{background-color:rgba(0,0,0,.5)}.swagger-ui .hover-bg-black-40:focus,.swagger-ui .hover-bg-black-40:hover{background-color:rgba(0,0,0,.4)}.swagger-ui .hover-bg-black-30:focus,.swagger-ui .hover-bg-black-30:hover{background-color:rgba(0,0,0,.3)}.swagger-ui .hover-bg-black-20:focus,.swagger-ui .hover-bg-black-20:hover{background-color:rgba(0,0,0,.2)}.swagger-ui .hover-bg-black-10:focus,.swagger-ui .hover-bg-black-10:hover{background-color:rgba(0,0,0,.1)}.swagger-ui .hover-bg-white-90:focus,.swagger-ui .hover-bg-white-90:hover{background-color:hsla(0,0%,100%,.9)}.swagger-ui .hover-bg-white-80:focus,.swagger-ui .hover-bg-white-80:hover{background-color:hsla(0,0%,100%,.8)}.swagger-ui .hover-bg-white-70:focus,.swagger-ui .hover-bg-white-70:hover{background-color:hsla(0,0%,100%,.7)}.swagger-ui .hover-bg-white-60:focus,.swagger-ui .hover-bg-white-60:hover{background-color:hsla(0,0%,100%,.6)}.swagger-ui .hover-bg-white-50:focus,.swagger-ui .hover-bg-white-50:hover{background-color:hsla(0,0%,100%,.5)}.swagger-ui .hover-bg-white-40:focus,.swagger-ui .hover-bg-white-40:hover{background-color:hsla(0,0%,100%,.4)}.swagger-ui .hover-bg-white-30:focus,.swagger-ui .hover-bg-white-30:hover{background-color:hsla(0,0%,100%,.3)}.swagger-ui .hover-bg-white-20:focus,.swagger-ui .hover-bg-white-20:hover{background-color:hsla(0,0%,100%,.2)}.swagger-ui .hover-bg-white-10:focus,.swagger-ui .hover-bg-white-10:hover{background-color:hsla(0,0%,100%,.1)}.swagger-ui .hover-dark-red:focus,.swagger-ui .hover-dark-red:hover{color:#e7040f}.swagger-ui .hover-red:focus,.swagger-ui .hover-red:hover{color:#ff4136}.swagger-ui .hover-light-red:focus,.swagger-ui .hover-light-red:hover{color:#ff725c}.swagger-ui .hover-orange:focus,.swagger-ui .hover-orange:hover{color:#ff6300}.swagger-ui .hover-gold:focus,.swagger-ui .hover-gold:hover{color:#ffb700}.swagger-ui .hover-yellow:focus,.swagger-ui .hover-yellow:hover{color:gold}.swagger-ui .hover-light-yellow:focus,.swagger-ui .hover-light-yellow:hover{color:#fbf1a9}.swagger-ui .hover-purple:focus,.swagger-ui .hover-purple:hover{color:#5e2ca5}.swagger-ui .hover-light-purple:focus,.swagger-ui .hover-light-purple:hover{color:#a463f2}.swagger-ui .hover-dark-pink:focus,.swagger-ui .hover-dark-pink:hover{color:#d5008f}.swagger-ui .hover-hot-pink:focus,.swagger-ui .hover-hot-pink:hover{color:#ff41b4}.swagger-ui .hover-pink:focus,.swagger-ui .hover-pink:hover{color:#ff80cc}.swagger-ui .hover-light-pink:focus,.swagger-ui .hover-light-pink:hover{color:#ffa3d7}.swagger-ui .hover-dark-green:focus,.swagger-ui .hover-dark-green:hover{color:#137752}.swagger-ui .hover-green:focus,.swagger-ui .hover-green:hover{color:#19a974}.swagger-ui .hover-light-green:focus,.swagger-ui .hover-light-green:hover{color:#9eebcf}.swagger-ui .hover-navy:focus,.swagger-ui .hover-navy:hover{color:#001b44}.swagger-ui .hover-dark-blue:focus,.swagger-ui .hover-dark-blue:hover{color:#00449e}.swagger-ui .hover-blue:focus,.swagger-ui .hover-blue:hover{color:#357edd}.swagger-ui .hover-light-blue:focus,.swagger-ui .hover-light-blue:hover{color:#96ccff}.swagger-ui .hover-lightest-blue:focus,.swagger-ui .hover-lightest-blue:hover{color:#cdecff}.swagger-ui .hover-washed-blue:focus,.swagger-ui .hover-washed-blue:hover{color:#f6fffe}.swagger-ui .hover-washed-green:focus,.swagger-ui .hover-washed-green:hover{color:#e8fdf5}.swagger-ui .hover-washed-yellow:focus,.swagger-ui .hover-washed-yellow:hover{color:#fffceb}.swagger-ui .hover-washed-red:focus,.swagger-ui .hover-washed-red:hover{color:#ffdfdf}.swagger-ui .hover-bg-dark-red:focus,.swagger-ui .hover-bg-dark-red:hover{background-color:#e7040f}.swagger-ui .hover-bg-red:focus,.swagger-ui .hover-bg-red:hover{background-color:#ff4136}.swagger-ui .hover-bg-light-red:focus,.swagger-ui .hover-bg-light-red:hover{background-color:#ff725c}.swagger-ui .hover-bg-orange:focus,.swagger-ui .hover-bg-orange:hover{background-color:#ff6300}.swagger-ui .hover-bg-gold:focus,.swagger-ui .hover-bg-gold:hover{background-color:#ffb700}.swagger-ui .hover-bg-yellow:focus,.swagger-ui .hover-bg-yellow:hover{background-color:gold}.swagger-ui .hover-bg-light-yellow:focus,.swagger-ui .hover-bg-light-yellow:hover{background-color:#fbf1a9}.swagger-ui .hover-bg-purple:focus,.swagger-ui .hover-bg-purple:hover{background-color:#5e2ca5}.swagger-ui .hover-bg-light-purple:focus,.swagger-ui .hover-bg-light-purple:hover{background-color:#a463f2}.swagger-ui .hover-bg-dark-pink:focus,.swagger-ui .hover-bg-dark-pink:hover{background-color:#d5008f}.swagger-ui .hover-bg-hot-pink:focus,.swagger-ui .hover-bg-hot-pink:hover{background-color:#ff41b4}.swagger-ui .hover-bg-pink:focus,.swagger-ui .hover-bg-pink:hover{background-color:#ff80cc}.swagger-ui .hover-bg-light-pink:focus,.swagger-ui .hover-bg-light-pink:hover{background-color:#ffa3d7}.swagger-ui .hover-bg-dark-green:focus,.swagger-ui .hover-bg-dark-green:hover{background-color:#137752}.swagger-ui .hover-bg-green:focus,.swagger-ui .hover-bg-green:hover{background-color:#19a974}.swagger-ui .hover-bg-light-green:focus,.swagger-ui .hover-bg-light-green:hover{background-color:#9eebcf}.swagger-ui .hover-bg-navy:focus,.swagger-ui .hover-bg-navy:hover{background-color:#001b44}.swagger-ui .hover-bg-dark-blue:focus,.swagger-ui .hover-bg-dark-blue:hover{background-color:#00449e}.swagger-ui .hover-bg-blue:focus,.swagger-ui .hover-bg-blue:hover{background-color:#357edd}.swagger-ui .hover-bg-light-blue:focus,.swagger-ui .hover-bg-light-blue:hover{background-color:#96ccff}.swagger-ui .hover-bg-lightest-blue:focus,.swagger-ui .hover-bg-lightest-blue:hover{background-color:#cdecff}.swagger-ui .hover-bg-washed-blue:focus,.swagger-ui .hover-bg-washed-blue:hover{background-color:#f6fffe}.swagger-ui .hover-bg-washed-green:focus,.swagger-ui .hover-bg-washed-green:hover{background-color:#e8fdf5}.swagger-ui .hover-bg-washed-yellow:focus,.swagger-ui .hover-bg-washed-yellow:hover{background-color:#fffceb}.swagger-ui .hover-bg-washed-red:focus,.swagger-ui .hover-bg-washed-red:hover{background-color:#ffdfdf}.swagger-ui .hover-bg-inherit:focus,.swagger-ui .hover-bg-inherit:hover{background-color:inherit}.swagger-ui .pa0{padding:0}.swagger-ui .pa1{padding:.25rem}.swagger-ui .pa2{padding:.5rem}.swagger-ui .pa3{padding:1rem}.swagger-ui .pa4{padding:2rem}.swagger-ui .pa5{padding:4rem}.swagger-ui .pa6{padding:8rem}.swagger-ui .pa7{padding:16rem}.swagger-ui .pl0{padding-left:0}.swagger-ui .pl1{padding-left:.25rem}.swagger-ui .pl2{padding-left:.5rem}.swagger-ui .pl3{padding-left:1rem}.swagger-ui .pl4{padding-left:2rem}.swagger-ui .pl5{padding-left:4rem}.swagger-ui .pl6{padding-left:8rem}.swagger-ui .pl7{padding-left:16rem}.swagger-ui .pr0{padding-right:0}.swagger-ui .pr1{padding-right:.25rem}.swagger-ui .pr2{padding-right:.5rem}.swagger-ui .pr3{padding-right:1rem}.swagger-ui .pr4{padding-right:2rem}.swagger-ui .pr5{padding-right:4rem}.swagger-ui .pr6{padding-right:8rem}.swagger-ui .pr7{padding-right:16rem}.swagger-ui .pb0{padding-bottom:0}.swagger-ui .pb1{padding-bottom:.25rem}.swagger-ui .pb2{padding-bottom:.5rem}.swagger-ui .pb3{padding-bottom:1rem}.swagger-ui .pb4{padding-bottom:2rem}.swagger-ui .pb5{padding-bottom:4rem}.swagger-ui .pb6{padding-bottom:8rem}.swagger-ui .pb7{padding-bottom:16rem}.swagger-ui .pt0{padding-top:0}.swagger-ui .pt1{padding-top:.25rem}.swagger-ui .pt2{padding-top:.5rem}.swagger-ui .pt3{padding-top:1rem}.swagger-ui .pt4{padding-top:2rem}.swagger-ui .pt5{padding-top:4rem}.swagger-ui .pt6{padding-top:8rem}.swagger-ui .pt7{padding-top:16rem}.swagger-ui .pv0{padding-bottom:0;padding-top:0}.swagger-ui .pv1{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0{padding-left:0;padding-right:0}.swagger-ui .ph1{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0{margin:0}.swagger-ui .ma1{margin:.25rem}.swagger-ui .ma2{margin:.5rem}.swagger-ui .ma3{margin:1rem}.swagger-ui .ma4{margin:2rem}.swagger-ui .ma5{margin:4rem}.swagger-ui .ma6{margin:8rem}.swagger-ui .ma7{margin:16rem}.swagger-ui .ml0{margin-left:0}.swagger-ui .ml1{margin-left:.25rem}.swagger-ui .ml2{margin-left:.5rem}.swagger-ui .ml3{margin-left:1rem}.swagger-ui .ml4{margin-left:2rem}.swagger-ui .ml5{margin-left:4rem}.swagger-ui .ml6{margin-left:8rem}.swagger-ui .ml7{margin-left:16rem}.swagger-ui .mr0{margin-right:0}.swagger-ui .mr1{margin-right:.25rem}.swagger-ui .mr2{margin-right:.5rem}.swagger-ui .mr3{margin-right:1rem}.swagger-ui .mr4{margin-right:2rem}.swagger-ui .mr5{margin-right:4rem}.swagger-ui .mr6{margin-right:8rem}.swagger-ui .mr7{margin-right:16rem}.swagger-ui .mb0{margin-bottom:0}.swagger-ui .mb1{margin-bottom:.25rem}.swagger-ui .mb2{margin-bottom:.5rem}.swagger-ui .mb3{margin-bottom:1rem}.swagger-ui .mb4{margin-bottom:2rem}.swagger-ui .mb5{margin-bottom:4rem}.swagger-ui .mb6{margin-bottom:8rem}.swagger-ui .mb7{margin-bottom:16rem}.swagger-ui .mt0{margin-top:0}.swagger-ui .mt1{margin-top:.25rem}.swagger-ui .mt2{margin-top:.5rem}.swagger-ui .mt3{margin-top:1rem}.swagger-ui .mt4{margin-top:2rem}.swagger-ui .mt5{margin-top:4rem}.swagger-ui .mt6{margin-top:8rem}.swagger-ui .mt7{margin-top:16rem}.swagger-ui .mv0{margin-bottom:0;margin-top:0}.swagger-ui .mv1{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0{margin-left:0;margin-right:0}.swagger-ui .mh1{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7{margin-left:16rem;margin-right:16rem}@media screen and (min-width:30em){.swagger-ui .pa0-ns{padding:0}.swagger-ui .pa1-ns{padding:.25rem}.swagger-ui .pa2-ns{padding:.5rem}.swagger-ui .pa3-ns{padding:1rem}.swagger-ui .pa4-ns{padding:2rem}.swagger-ui .pa5-ns{padding:4rem}.swagger-ui .pa6-ns{padding:8rem}.swagger-ui .pa7-ns{padding:16rem}.swagger-ui .pl0-ns{padding-left:0}.swagger-ui .pl1-ns{padding-left:.25rem}.swagger-ui .pl2-ns{padding-left:.5rem}.swagger-ui .pl3-ns{padding-left:1rem}.swagger-ui .pl4-ns{padding-left:2rem}.swagger-ui .pl5-ns{padding-left:4rem}.swagger-ui .pl6-ns{padding-left:8rem}.swagger-ui .pl7-ns{padding-left:16rem}.swagger-ui .pr0-ns{padding-right:0}.swagger-ui .pr1-ns{padding-right:.25rem}.swagger-ui .pr2-ns{padding-right:.5rem}.swagger-ui .pr3-ns{padding-right:1rem}.swagger-ui .pr4-ns{padding-right:2rem}.swagger-ui .pr5-ns{padding-right:4rem}.swagger-ui .pr6-ns{padding-right:8rem}.swagger-ui .pr7-ns{padding-right:16rem}.swagger-ui .pb0-ns{padding-bottom:0}.swagger-ui .pb1-ns{padding-bottom:.25rem}.swagger-ui .pb2-ns{padding-bottom:.5rem}.swagger-ui .pb3-ns{padding-bottom:1rem}.swagger-ui .pb4-ns{padding-bottom:2rem}.swagger-ui .pb5-ns{padding-bottom:4rem}.swagger-ui .pb6-ns{padding-bottom:8rem}.swagger-ui .pb7-ns{padding-bottom:16rem}.swagger-ui .pt0-ns{padding-top:0}.swagger-ui .pt1-ns{padding-top:.25rem}.swagger-ui .pt2-ns{padding-top:.5rem}.swagger-ui .pt3-ns{padding-top:1rem}.swagger-ui .pt4-ns{padding-top:2rem}.swagger-ui .pt5-ns{padding-top:4rem}.swagger-ui .pt6-ns{padding-top:8rem}.swagger-ui .pt7-ns{padding-top:16rem}.swagger-ui .pv0-ns{padding-bottom:0;padding-top:0}.swagger-ui .pv1-ns{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-ns{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-ns{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-ns{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-ns{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-ns{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-ns{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-ns{padding-left:0;padding-right:0}.swagger-ui .ph1-ns{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-ns{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-ns{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-ns{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-ns{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-ns{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-ns{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-ns{margin:0}.swagger-ui .ma1-ns{margin:.25rem}.swagger-ui .ma2-ns{margin:.5rem}.swagger-ui .ma3-ns{margin:1rem}.swagger-ui .ma4-ns{margin:2rem}.swagger-ui .ma5-ns{margin:4rem}.swagger-ui .ma6-ns{margin:8rem}.swagger-ui .ma7-ns{margin:16rem}.swagger-ui .ml0-ns{margin-left:0}.swagger-ui .ml1-ns{margin-left:.25rem}.swagger-ui .ml2-ns{margin-left:.5rem}.swagger-ui .ml3-ns{margin-left:1rem}.swagger-ui .ml4-ns{margin-left:2rem}.swagger-ui .ml5-ns{margin-left:4rem}.swagger-ui .ml6-ns{margin-left:8rem}.swagger-ui .ml7-ns{margin-left:16rem}.swagger-ui .mr0-ns{margin-right:0}.swagger-ui .mr1-ns{margin-right:.25rem}.swagger-ui .mr2-ns{margin-right:.5rem}.swagger-ui .mr3-ns{margin-right:1rem}.swagger-ui .mr4-ns{margin-right:2rem}.swagger-ui .mr5-ns{margin-right:4rem}.swagger-ui .mr6-ns{margin-right:8rem}.swagger-ui .mr7-ns{margin-right:16rem}.swagger-ui .mb0-ns{margin-bottom:0}.swagger-ui .mb1-ns{margin-bottom:.25rem}.swagger-ui .mb2-ns{margin-bottom:.5rem}.swagger-ui .mb3-ns{margin-bottom:1rem}.swagger-ui .mb4-ns{margin-bottom:2rem}.swagger-ui .mb5-ns{margin-bottom:4rem}.swagger-ui .mb6-ns{margin-bottom:8rem}.swagger-ui .mb7-ns{margin-bottom:16rem}.swagger-ui .mt0-ns{margin-top:0}.swagger-ui .mt1-ns{margin-top:.25rem}.swagger-ui .mt2-ns{margin-top:.5rem}.swagger-ui .mt3-ns{margin-top:1rem}.swagger-ui .mt4-ns{margin-top:2rem}.swagger-ui .mt5-ns{margin-top:4rem}.swagger-ui .mt6-ns{margin-top:8rem}.swagger-ui .mt7-ns{margin-top:16rem}.swagger-ui .mv0-ns{margin-bottom:0;margin-top:0}.swagger-ui .mv1-ns{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-ns{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-ns{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-ns{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-ns{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-ns{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-ns{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-ns{margin-left:0;margin-right:0}.swagger-ui .mh1-ns{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-ns{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-ns{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-ns{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-ns{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-ns{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-ns{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .pa0-m{padding:0}.swagger-ui .pa1-m{padding:.25rem}.swagger-ui .pa2-m{padding:.5rem}.swagger-ui .pa3-m{padding:1rem}.swagger-ui .pa4-m{padding:2rem}.swagger-ui .pa5-m{padding:4rem}.swagger-ui .pa6-m{padding:8rem}.swagger-ui .pa7-m{padding:16rem}.swagger-ui .pl0-m{padding-left:0}.swagger-ui .pl1-m{padding-left:.25rem}.swagger-ui .pl2-m{padding-left:.5rem}.swagger-ui .pl3-m{padding-left:1rem}.swagger-ui .pl4-m{padding-left:2rem}.swagger-ui .pl5-m{padding-left:4rem}.swagger-ui .pl6-m{padding-left:8rem}.swagger-ui .pl7-m{padding-left:16rem}.swagger-ui .pr0-m{padding-right:0}.swagger-ui .pr1-m{padding-right:.25rem}.swagger-ui .pr2-m{padding-right:.5rem}.swagger-ui .pr3-m{padding-right:1rem}.swagger-ui .pr4-m{padding-right:2rem}.swagger-ui .pr5-m{padding-right:4rem}.swagger-ui .pr6-m{padding-right:8rem}.swagger-ui .pr7-m{padding-right:16rem}.swagger-ui .pb0-m{padding-bottom:0}.swagger-ui .pb1-m{padding-bottom:.25rem}.swagger-ui .pb2-m{padding-bottom:.5rem}.swagger-ui .pb3-m{padding-bottom:1rem}.swagger-ui .pb4-m{padding-bottom:2rem}.swagger-ui .pb5-m{padding-bottom:4rem}.swagger-ui .pb6-m{padding-bottom:8rem}.swagger-ui .pb7-m{padding-bottom:16rem}.swagger-ui .pt0-m{padding-top:0}.swagger-ui .pt1-m{padding-top:.25rem}.swagger-ui .pt2-m{padding-top:.5rem}.swagger-ui .pt3-m{padding-top:1rem}.swagger-ui .pt4-m{padding-top:2rem}.swagger-ui .pt5-m{padding-top:4rem}.swagger-ui .pt6-m{padding-top:8rem}.swagger-ui .pt7-m{padding-top:16rem}.swagger-ui .pv0-m{padding-bottom:0;padding-top:0}.swagger-ui .pv1-m{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-m{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-m{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-m{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-m{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-m{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-m{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-m{padding-left:0;padding-right:0}.swagger-ui .ph1-m{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-m{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-m{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-m{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-m{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-m{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-m{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-m{margin:0}.swagger-ui .ma1-m{margin:.25rem}.swagger-ui .ma2-m{margin:.5rem}.swagger-ui .ma3-m{margin:1rem}.swagger-ui .ma4-m{margin:2rem}.swagger-ui .ma5-m{margin:4rem}.swagger-ui .ma6-m{margin:8rem}.swagger-ui .ma7-m{margin:16rem}.swagger-ui .ml0-m{margin-left:0}.swagger-ui .ml1-m{margin-left:.25rem}.swagger-ui .ml2-m{margin-left:.5rem}.swagger-ui .ml3-m{margin-left:1rem}.swagger-ui .ml4-m{margin-left:2rem}.swagger-ui .ml5-m{margin-left:4rem}.swagger-ui .ml6-m{margin-left:8rem}.swagger-ui .ml7-m{margin-left:16rem}.swagger-ui .mr0-m{margin-right:0}.swagger-ui .mr1-m{margin-right:.25rem}.swagger-ui .mr2-m{margin-right:.5rem}.swagger-ui .mr3-m{margin-right:1rem}.swagger-ui .mr4-m{margin-right:2rem}.swagger-ui .mr5-m{margin-right:4rem}.swagger-ui .mr6-m{margin-right:8rem}.swagger-ui .mr7-m{margin-right:16rem}.swagger-ui .mb0-m{margin-bottom:0}.swagger-ui .mb1-m{margin-bottom:.25rem}.swagger-ui .mb2-m{margin-bottom:.5rem}.swagger-ui .mb3-m{margin-bottom:1rem}.swagger-ui .mb4-m{margin-bottom:2rem}.swagger-ui .mb5-m{margin-bottom:4rem}.swagger-ui .mb6-m{margin-bottom:8rem}.swagger-ui .mb7-m{margin-bottom:16rem}.swagger-ui .mt0-m{margin-top:0}.swagger-ui .mt1-m{margin-top:.25rem}.swagger-ui .mt2-m{margin-top:.5rem}.swagger-ui .mt3-m{margin-top:1rem}.swagger-ui .mt4-m{margin-top:2rem}.swagger-ui .mt5-m{margin-top:4rem}.swagger-ui .mt6-m{margin-top:8rem}.swagger-ui .mt7-m{margin-top:16rem}.swagger-ui .mv0-m{margin-bottom:0;margin-top:0}.swagger-ui .mv1-m{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-m{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-m{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-m{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-m{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-m{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-m{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-m{margin-left:0;margin-right:0}.swagger-ui .mh1-m{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-m{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-m{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-m{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-m{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-m{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-m{margin-left:16rem;margin-right:16rem}}@media screen and (min-width:60em){.swagger-ui .pa0-l{padding:0}.swagger-ui .pa1-l{padding:.25rem}.swagger-ui .pa2-l{padding:.5rem}.swagger-ui .pa3-l{padding:1rem}.swagger-ui .pa4-l{padding:2rem}.swagger-ui .pa5-l{padding:4rem}.swagger-ui .pa6-l{padding:8rem}.swagger-ui .pa7-l{padding:16rem}.swagger-ui .pl0-l{padding-left:0}.swagger-ui .pl1-l{padding-left:.25rem}.swagger-ui .pl2-l{padding-left:.5rem}.swagger-ui .pl3-l{padding-left:1rem}.swagger-ui .pl4-l{padding-left:2rem}.swagger-ui .pl5-l{padding-left:4rem}.swagger-ui .pl6-l{padding-left:8rem}.swagger-ui .pl7-l{padding-left:16rem}.swagger-ui .pr0-l{padding-right:0}.swagger-ui .pr1-l{padding-right:.25rem}.swagger-ui .pr2-l{padding-right:.5rem}.swagger-ui .pr3-l{padding-right:1rem}.swagger-ui .pr4-l{padding-right:2rem}.swagger-ui .pr5-l{padding-right:4rem}.swagger-ui .pr6-l{padding-right:8rem}.swagger-ui .pr7-l{padding-right:16rem}.swagger-ui .pb0-l{padding-bottom:0}.swagger-ui .pb1-l{padding-bottom:.25rem}.swagger-ui .pb2-l{padding-bottom:.5rem}.swagger-ui .pb3-l{padding-bottom:1rem}.swagger-ui .pb4-l{padding-bottom:2rem}.swagger-ui .pb5-l{padding-bottom:4rem}.swagger-ui .pb6-l{padding-bottom:8rem}.swagger-ui .pb7-l{padding-bottom:16rem}.swagger-ui .pt0-l{padding-top:0}.swagger-ui .pt1-l{padding-top:.25rem}.swagger-ui .pt2-l{padding-top:.5rem}.swagger-ui .pt3-l{padding-top:1rem}.swagger-ui .pt4-l{padding-top:2rem}.swagger-ui .pt5-l{padding-top:4rem}.swagger-ui .pt6-l{padding-top:8rem}.swagger-ui .pt7-l{padding-top:16rem}.swagger-ui .pv0-l{padding-bottom:0;padding-top:0}.swagger-ui .pv1-l{padding-bottom:.25rem;padding-top:.25rem}.swagger-ui .pv2-l{padding-bottom:.5rem;padding-top:.5rem}.swagger-ui .pv3-l{padding-bottom:1rem;padding-top:1rem}.swagger-ui .pv4-l{padding-bottom:2rem;padding-top:2rem}.swagger-ui .pv5-l{padding-bottom:4rem;padding-top:4rem}.swagger-ui .pv6-l{padding-bottom:8rem;padding-top:8rem}.swagger-ui .pv7-l{padding-bottom:16rem;padding-top:16rem}.swagger-ui .ph0-l{padding-left:0;padding-right:0}.swagger-ui .ph1-l{padding-left:.25rem;padding-right:.25rem}.swagger-ui .ph2-l{padding-left:.5rem;padding-right:.5rem}.swagger-ui .ph3-l{padding-left:1rem;padding-right:1rem}.swagger-ui .ph4-l{padding-left:2rem;padding-right:2rem}.swagger-ui .ph5-l{padding-left:4rem;padding-right:4rem}.swagger-ui .ph6-l{padding-left:8rem;padding-right:8rem}.swagger-ui .ph7-l{padding-left:16rem;padding-right:16rem}.swagger-ui .ma0-l{margin:0}.swagger-ui .ma1-l{margin:.25rem}.swagger-ui .ma2-l{margin:.5rem}.swagger-ui .ma3-l{margin:1rem}.swagger-ui .ma4-l{margin:2rem}.swagger-ui .ma5-l{margin:4rem}.swagger-ui .ma6-l{margin:8rem}.swagger-ui .ma7-l{margin:16rem}.swagger-ui .ml0-l{margin-left:0}.swagger-ui .ml1-l{margin-left:.25rem}.swagger-ui .ml2-l{margin-left:.5rem}.swagger-ui .ml3-l{margin-left:1rem}.swagger-ui .ml4-l{margin-left:2rem}.swagger-ui .ml5-l{margin-left:4rem}.swagger-ui .ml6-l{margin-left:8rem}.swagger-ui .ml7-l{margin-left:16rem}.swagger-ui .mr0-l{margin-right:0}.swagger-ui .mr1-l{margin-right:.25rem}.swagger-ui .mr2-l{margin-right:.5rem}.swagger-ui .mr3-l{margin-right:1rem}.swagger-ui .mr4-l{margin-right:2rem}.swagger-ui .mr5-l{margin-right:4rem}.swagger-ui .mr6-l{margin-right:8rem}.swagger-ui .mr7-l{margin-right:16rem}.swagger-ui .mb0-l{margin-bottom:0}.swagger-ui .mb1-l{margin-bottom:.25rem}.swagger-ui .mb2-l{margin-bottom:.5rem}.swagger-ui .mb3-l{margin-bottom:1rem}.swagger-ui .mb4-l{margin-bottom:2rem}.swagger-ui .mb5-l{margin-bottom:4rem}.swagger-ui .mb6-l{margin-bottom:8rem}.swagger-ui .mb7-l{margin-bottom:16rem}.swagger-ui .mt0-l{margin-top:0}.swagger-ui .mt1-l{margin-top:.25rem}.swagger-ui .mt2-l{margin-top:.5rem}.swagger-ui .mt3-l{margin-top:1rem}.swagger-ui .mt4-l{margin-top:2rem}.swagger-ui .mt5-l{margin-top:4rem}.swagger-ui .mt6-l{margin-top:8rem}.swagger-ui .mt7-l{margin-top:16rem}.swagger-ui .mv0-l{margin-bottom:0;margin-top:0}.swagger-ui .mv1-l{margin-bottom:.25rem;margin-top:.25rem}.swagger-ui .mv2-l{margin-bottom:.5rem;margin-top:.5rem}.swagger-ui .mv3-l{margin-bottom:1rem;margin-top:1rem}.swagger-ui .mv4-l{margin-bottom:2rem;margin-top:2rem}.swagger-ui .mv5-l{margin-bottom:4rem;margin-top:4rem}.swagger-ui .mv6-l{margin-bottom:8rem;margin-top:8rem}.swagger-ui .mv7-l{margin-bottom:16rem;margin-top:16rem}.swagger-ui .mh0-l{margin-left:0;margin-right:0}.swagger-ui .mh1-l{margin-left:.25rem;margin-right:.25rem}.swagger-ui .mh2-l{margin-left:.5rem;margin-right:.5rem}.swagger-ui .mh3-l{margin-left:1rem;margin-right:1rem}.swagger-ui .mh4-l{margin-left:2rem;margin-right:2rem}.swagger-ui .mh5-l{margin-left:4rem;margin-right:4rem}.swagger-ui .mh6-l{margin-left:8rem;margin-right:8rem}.swagger-ui .mh7-l{margin-left:16rem;margin-right:16rem}}.swagger-ui .na1{margin:-.25rem}.swagger-ui .na2{margin:-.5rem}.swagger-ui .na3{margin:-1rem}.swagger-ui .na4{margin:-2rem}.swagger-ui .na5{margin:-4rem}.swagger-ui .na6{margin:-8rem}.swagger-ui .na7{margin:-16rem}.swagger-ui .nl1{margin-left:-.25rem}.swagger-ui .nl2{margin-left:-.5rem}.swagger-ui .nl3{margin-left:-1rem}.swagger-ui .nl4{margin-left:-2rem}.swagger-ui .nl5{margin-left:-4rem}.swagger-ui .nl6{margin-left:-8rem}.swagger-ui .nl7{margin-left:-16rem}.swagger-ui .nr1{margin-right:-.25rem}.swagger-ui .nr2{margin-right:-.5rem}.swagger-ui .nr3{margin-right:-1rem}.swagger-ui .nr4{margin-right:-2rem}.swagger-ui .nr5{margin-right:-4rem}.swagger-ui .nr6{margin-right:-8rem}.swagger-ui .nr7{margin-right:-16rem}.swagger-ui .nb1{margin-bottom:-.25rem}.swagger-ui .nb2{margin-bottom:-.5rem}.swagger-ui .nb3{margin-bottom:-1rem}.swagger-ui .nb4{margin-bottom:-2rem}.swagger-ui .nb5{margin-bottom:-4rem}.swagger-ui .nb6{margin-bottom:-8rem}.swagger-ui .nb7{margin-bottom:-16rem}.swagger-ui .nt1{margin-top:-.25rem}.swagger-ui .nt2{margin-top:-.5rem}.swagger-ui .nt3{margin-top:-1rem}.swagger-ui .nt4{margin-top:-2rem}.swagger-ui .nt5{margin-top:-4rem}.swagger-ui .nt6{margin-top:-8rem}.swagger-ui .nt7{margin-top:-16rem}@media screen and (min-width:30em){.swagger-ui .na1-ns{margin:-.25rem}.swagger-ui .na2-ns{margin:-.5rem}.swagger-ui .na3-ns{margin:-1rem}.swagger-ui .na4-ns{margin:-2rem}.swagger-ui .na5-ns{margin:-4rem}.swagger-ui .na6-ns{margin:-8rem}.swagger-ui .na7-ns{margin:-16rem}.swagger-ui .nl1-ns{margin-left:-.25rem}.swagger-ui .nl2-ns{margin-left:-.5rem}.swagger-ui .nl3-ns{margin-left:-1rem}.swagger-ui .nl4-ns{margin-left:-2rem}.swagger-ui .nl5-ns{margin-left:-4rem}.swagger-ui .nl6-ns{margin-left:-8rem}.swagger-ui .nl7-ns{margin-left:-16rem}.swagger-ui .nr1-ns{margin-right:-.25rem}.swagger-ui .nr2-ns{margin-right:-.5rem}.swagger-ui .nr3-ns{margin-right:-1rem}.swagger-ui .nr4-ns{margin-right:-2rem}.swagger-ui .nr5-ns{margin-right:-4rem}.swagger-ui .nr6-ns{margin-right:-8rem}.swagger-ui .nr7-ns{margin-right:-16rem}.swagger-ui .nb1-ns{margin-bottom:-.25rem}.swagger-ui .nb2-ns{margin-bottom:-.5rem}.swagger-ui .nb3-ns{margin-bottom:-1rem}.swagger-ui .nb4-ns{margin-bottom:-2rem}.swagger-ui .nb5-ns{margin-bottom:-4rem}.swagger-ui .nb6-ns{margin-bottom:-8rem}.swagger-ui .nb7-ns{margin-bottom:-16rem}.swagger-ui .nt1-ns{margin-top:-.25rem}.swagger-ui .nt2-ns{margin-top:-.5rem}.swagger-ui .nt3-ns{margin-top:-1rem}.swagger-ui .nt4-ns{margin-top:-2rem}.swagger-ui .nt5-ns{margin-top:-4rem}.swagger-ui .nt6-ns{margin-top:-8rem}.swagger-ui .nt7-ns{margin-top:-16rem}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .na1-m{margin:-.25rem}.swagger-ui .na2-m{margin:-.5rem}.swagger-ui .na3-m{margin:-1rem}.swagger-ui .na4-m{margin:-2rem}.swagger-ui .na5-m{margin:-4rem}.swagger-ui .na6-m{margin:-8rem}.swagger-ui .na7-m{margin:-16rem}.swagger-ui .nl1-m{margin-left:-.25rem}.swagger-ui .nl2-m{margin-left:-.5rem}.swagger-ui .nl3-m{margin-left:-1rem}.swagger-ui .nl4-m{margin-left:-2rem}.swagger-ui .nl5-m{margin-left:-4rem}.swagger-ui .nl6-m{margin-left:-8rem}.swagger-ui .nl7-m{margin-left:-16rem}.swagger-ui .nr1-m{margin-right:-.25rem}.swagger-ui .nr2-m{margin-right:-.5rem}.swagger-ui .nr3-m{margin-right:-1rem}.swagger-ui .nr4-m{margin-right:-2rem}.swagger-ui .nr5-m{margin-right:-4rem}.swagger-ui .nr6-m{margin-right:-8rem}.swagger-ui .nr7-m{margin-right:-16rem}.swagger-ui .nb1-m{margin-bottom:-.25rem}.swagger-ui .nb2-m{margin-bottom:-.5rem}.swagger-ui .nb3-m{margin-bottom:-1rem}.swagger-ui .nb4-m{margin-bottom:-2rem}.swagger-ui .nb5-m{margin-bottom:-4rem}.swagger-ui .nb6-m{margin-bottom:-8rem}.swagger-ui .nb7-m{margin-bottom:-16rem}.swagger-ui .nt1-m{margin-top:-.25rem}.swagger-ui .nt2-m{margin-top:-.5rem}.swagger-ui .nt3-m{margin-top:-1rem}.swagger-ui .nt4-m{margin-top:-2rem}.swagger-ui .nt5-m{margin-top:-4rem}.swagger-ui .nt6-m{margin-top:-8rem}.swagger-ui .nt7-m{margin-top:-16rem}}@media screen and (min-width:60em){.swagger-ui .na1-l{margin:-.25rem}.swagger-ui .na2-l{margin:-.5rem}.swagger-ui .na3-l{margin:-1rem}.swagger-ui .na4-l{margin:-2rem}.swagger-ui .na5-l{margin:-4rem}.swagger-ui .na6-l{margin:-8rem}.swagger-ui .na7-l{margin:-16rem}.swagger-ui .nl1-l{margin-left:-.25rem}.swagger-ui .nl2-l{margin-left:-.5rem}.swagger-ui .nl3-l{margin-left:-1rem}.swagger-ui .nl4-l{margin-left:-2rem}.swagger-ui .nl5-l{margin-left:-4rem}.swagger-ui .nl6-l{margin-left:-8rem}.swagger-ui .nl7-l{margin-left:-16rem}.swagger-ui .nr1-l{margin-right:-.25rem}.swagger-ui .nr2-l{margin-right:-.5rem}.swagger-ui .nr3-l{margin-right:-1rem}.swagger-ui .nr4-l{margin-right:-2rem}.swagger-ui .nr5-l{margin-right:-4rem}.swagger-ui .nr6-l{margin-right:-8rem}.swagger-ui .nr7-l{margin-right:-16rem}.swagger-ui .nb1-l{margin-bottom:-.25rem}.swagger-ui .nb2-l{margin-bottom:-.5rem}.swagger-ui .nb3-l{margin-bottom:-1rem}.swagger-ui .nb4-l{margin-bottom:-2rem}.swagger-ui .nb5-l{margin-bottom:-4rem}.swagger-ui .nb6-l{margin-bottom:-8rem}.swagger-ui .nb7-l{margin-bottom:-16rem}.swagger-ui .nt1-l{margin-top:-.25rem}.swagger-ui .nt2-l{margin-top:-.5rem}.swagger-ui .nt3-l{margin-top:-1rem}.swagger-ui .nt4-l{margin-top:-2rem}.swagger-ui .nt5-l{margin-top:-4rem}.swagger-ui .nt6-l{margin-top:-8rem}.swagger-ui .nt7-l{margin-top:-16rem}}.swagger-ui .collapse{border-collapse:collapse;border-spacing:0}.swagger-ui .striped--light-silver:nth-child(odd){background-color:#aaa}.swagger-ui .striped--moon-gray:nth-child(odd){background-color:#ccc}.swagger-ui .striped--light-gray:nth-child(odd){background-color:#eee}.swagger-ui .striped--near-white:nth-child(odd){background-color:#f4f4f4}.swagger-ui .stripe-light:nth-child(odd){background-color:hsla(0,0%,100%,.1)}.swagger-ui .stripe-dark:nth-child(odd){background-color:rgba(0,0,0,.1)}.swagger-ui .strike{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline{-webkit-text-decoration:none;text-decoration:none}@media screen and (min-width:30em){.swagger-ui .strike-ns{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline-ns{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline-ns{-webkit-text-decoration:none;text-decoration:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .strike-m{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline-m{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline-m{-webkit-text-decoration:none;text-decoration:none}}@media screen and (min-width:60em){.swagger-ui .strike-l{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .underline-l{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .no-underline-l{-webkit-text-decoration:none;text-decoration:none}}.swagger-ui .tl{text-align:left}.swagger-ui .tr{text-align:right}.swagger-ui .tc{text-align:center}.swagger-ui .tj{text-align:justify}@media screen and (min-width:30em){.swagger-ui .tl-ns{text-align:left}.swagger-ui .tr-ns{text-align:right}.swagger-ui .tc-ns{text-align:center}.swagger-ui .tj-ns{text-align:justify}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .tl-m{text-align:left}.swagger-ui .tr-m{text-align:right}.swagger-ui .tc-m{text-align:center}.swagger-ui .tj-m{text-align:justify}}@media screen and (min-width:60em){.swagger-ui .tl-l{text-align:left}.swagger-ui .tr-l{text-align:right}.swagger-ui .tc-l{text-align:center}.swagger-ui .tj-l{text-align:justify}}.swagger-ui .ttc{text-transform:capitalize}.swagger-ui .ttl{text-transform:lowercase}.swagger-ui .ttu{text-transform:uppercase}.swagger-ui .ttn{text-transform:none}@media screen and (min-width:30em){.swagger-ui .ttc-ns{text-transform:capitalize}.swagger-ui .ttl-ns{text-transform:lowercase}.swagger-ui .ttu-ns{text-transform:uppercase}.swagger-ui .ttn-ns{text-transform:none}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .ttc-m{text-transform:capitalize}.swagger-ui .ttl-m{text-transform:lowercase}.swagger-ui .ttu-m{text-transform:uppercase}.swagger-ui .ttn-m{text-transform:none}}@media screen and (min-width:60em){.swagger-ui .ttc-l{text-transform:capitalize}.swagger-ui .ttl-l{text-transform:lowercase}.swagger-ui .ttu-l{text-transform:uppercase}.swagger-ui .ttn-l{text-transform:none}}.swagger-ui .f-6,.swagger-ui .f-headline{font-size:6rem}.swagger-ui .f-5,.swagger-ui .f-subheadline{font-size:5rem}.swagger-ui .f1{font-size:3rem}.swagger-ui .f2{font-size:2.25rem}.swagger-ui .f3{font-size:1.5rem}.swagger-ui .f4{font-size:1.25rem}.swagger-ui .f5{font-size:1rem}.swagger-ui .f6{font-size:.875rem}.swagger-ui .f7{font-size:.75rem}@media screen and (min-width:30em){.swagger-ui .f-6-ns,.swagger-ui .f-headline-ns{font-size:6rem}.swagger-ui .f-5-ns,.swagger-ui .f-subheadline-ns{font-size:5rem}.swagger-ui .f1-ns{font-size:3rem}.swagger-ui .f2-ns{font-size:2.25rem}.swagger-ui .f3-ns{font-size:1.5rem}.swagger-ui .f4-ns{font-size:1.25rem}.swagger-ui .f5-ns{font-size:1rem}.swagger-ui .f6-ns{font-size:.875rem}.swagger-ui .f7-ns{font-size:.75rem}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .f-6-m,.swagger-ui .f-headline-m{font-size:6rem}.swagger-ui .f-5-m,.swagger-ui .f-subheadline-m{font-size:5rem}.swagger-ui .f1-m{font-size:3rem}.swagger-ui .f2-m{font-size:2.25rem}.swagger-ui .f3-m{font-size:1.5rem}.swagger-ui .f4-m{font-size:1.25rem}.swagger-ui .f5-m{font-size:1rem}.swagger-ui .f6-m{font-size:.875rem}.swagger-ui .f7-m{font-size:.75rem}}@media screen and (min-width:60em){.swagger-ui .f-6-l,.swagger-ui .f-headline-l{font-size:6rem}.swagger-ui .f-5-l,.swagger-ui .f-subheadline-l{font-size:5rem}.swagger-ui .f1-l{font-size:3rem}.swagger-ui .f2-l{font-size:2.25rem}.swagger-ui .f3-l{font-size:1.5rem}.swagger-ui .f4-l{font-size:1.25rem}.swagger-ui .f5-l{font-size:1rem}.swagger-ui .f6-l{font-size:.875rem}.swagger-ui .f7-l{font-size:.75rem}}.swagger-ui .measure{max-width:30em}.swagger-ui .measure-wide{max-width:34em}.swagger-ui .measure-narrow{max-width:20em}.swagger-ui .indent{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media screen and (min-width:30em){.swagger-ui .measure-ns{max-width:30em}.swagger-ui .measure-wide-ns{max-width:34em}.swagger-ui .measure-narrow-ns{max-width:20em}.swagger-ui .indent-ns{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-ns{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-ns{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .measure-m{max-width:30em}.swagger-ui .measure-wide-m{max-width:34em}.swagger-ui .measure-narrow-m{max-width:20em}.swagger-ui .indent-m{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-m{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-m{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media screen and (min-width:60em){.swagger-ui .measure-l{max-width:30em}.swagger-ui .measure-wide-l{max-width:34em}.swagger-ui .measure-narrow-l{max-width:20em}.swagger-ui .indent-l{margin-bottom:0;margin-top:0;text-indent:1em}.swagger-ui .small-caps-l{font-feature-settings:"smcp";font-variant:small-caps}.swagger-ui .truncate-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.swagger-ui .overflow-container{overflow-y:scroll}.swagger-ui .center{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto{margin-right:auto}.swagger-ui .ml-auto{margin-left:auto}@media screen and (min-width:30em){.swagger-ui .center-ns{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-ns{margin-right:auto}.swagger-ui .ml-auto-ns{margin-left:auto}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .center-m{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-m{margin-right:auto}.swagger-ui .ml-auto-m{margin-left:auto}}@media screen and (min-width:60em){.swagger-ui .center-l{margin-left:auto;margin-right:auto}.swagger-ui .mr-auto-l{margin-right:auto}.swagger-ui .ml-auto-l{margin-left:auto}}.swagger-ui .clip{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}@media screen and (min-width:30em){.swagger-ui .clip-ns{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .clip-m{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}@media screen and (min-width:60em){.swagger-ui .clip-l{position:fixed!important;_position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}}.swagger-ui .ws-normal{white-space:normal}.swagger-ui .nowrap{white-space:nowrap}.swagger-ui .pre{white-space:pre}@media screen and (min-width:30em){.swagger-ui .ws-normal-ns{white-space:normal}.swagger-ui .nowrap-ns{white-space:nowrap}.swagger-ui .pre-ns{white-space:pre}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .ws-normal-m{white-space:normal}.swagger-ui .nowrap-m{white-space:nowrap}.swagger-ui .pre-m{white-space:pre}}@media screen and (min-width:60em){.swagger-ui .ws-normal-l{white-space:normal}.swagger-ui .nowrap-l{white-space:nowrap}.swagger-ui .pre-l{white-space:pre}}.swagger-ui .v-base{vertical-align:baseline}.swagger-ui .v-mid{vertical-align:middle}.swagger-ui .v-top{vertical-align:top}.swagger-ui .v-btm{vertical-align:bottom}@media screen and (min-width:30em){.swagger-ui .v-base-ns{vertical-align:baseline}.swagger-ui .v-mid-ns{vertical-align:middle}.swagger-ui .v-top-ns{vertical-align:top}.swagger-ui .v-btm-ns{vertical-align:bottom}}@media screen and (min-width:30em)and (max-width:60em){.swagger-ui .v-base-m{vertical-align:baseline}.swagger-ui .v-mid-m{vertical-align:middle}.swagger-ui .v-top-m{vertical-align:top}.swagger-ui .v-btm-m{vertical-align:bottom}}@media screen and (min-width:60em){.swagger-ui .v-base-l{vertical-align:baseline}.swagger-ui .v-mid-l{vertical-align:middle}.swagger-ui .v-top-l{vertical-align:top}.swagger-ui .v-btm-l{vertical-align:bottom}}.swagger-ui .dim{opacity:1;transition:opacity .15s ease-in}.swagger-ui .dim:focus,.swagger-ui .dim:hover{opacity:.5;transition:opacity .15s ease-in}.swagger-ui .dim:active{opacity:.8;transition:opacity .15s ease-out}.swagger-ui .glow{transition:opacity .15s ease-in}.swagger-ui .glow:focus,.swagger-ui .glow:hover{opacity:1;transition:opacity .15s ease-in}.swagger-ui .hide-child .child{opacity:0;transition:opacity .15s ease-in}.swagger-ui .hide-child:active .child,.swagger-ui .hide-child:focus .child,.swagger-ui .hide-child:hover .child{opacity:1;transition:opacity .15s ease-in}.swagger-ui .underline-hover:focus,.swagger-ui .underline-hover:hover{-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .grow{-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-out}.swagger-ui .grow:focus,.swagger-ui .grow:hover{transform:scale(1.05)}.swagger-ui .grow:active{transform:scale(.9)}.swagger-ui .grow-large{-moz-osx-font-smoothing:grayscale;backface-visibility:hidden;transform:translateZ(0);transition:transform .25s ease-in-out}.swagger-ui .grow-large:focus,.swagger-ui .grow-large:hover{transform:scale(1.2)}.swagger-ui .grow-large:active{transform:scale(.95)}.swagger-ui .pointer:hover{cursor:pointer}.swagger-ui .shadow-hover{cursor:pointer;position:relative;transition:all .5s cubic-bezier(.165,.84,.44,1)}.swagger-ui .shadow-hover:after{border-radius:inherit;box-shadow:0 0 16px 2px rgba(0,0,0,.2);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .5s cubic-bezier(.165,.84,.44,1);width:100%;z-index:-1}.swagger-ui .shadow-hover:focus:after,.swagger-ui .shadow-hover:hover:after{opacity:1}.swagger-ui .bg-animate,.swagger-ui .bg-animate:focus,.swagger-ui .bg-animate:hover{transition:background-color .15s ease-in-out}.swagger-ui .z-0{z-index:0}.swagger-ui .z-1{z-index:1}.swagger-ui .z-2{z-index:2}.swagger-ui .z-3{z-index:3}.swagger-ui .z-4{z-index:4}.swagger-ui .z-5{z-index:5}.swagger-ui .z-999{z-index:999}.swagger-ui .z-9999{z-index:9999}.swagger-ui .z-max{z-index:2147483647}.swagger-ui .z-inherit{z-index:inherit}.swagger-ui .z-initial,.swagger-ui .z-unset{z-index:auto}.swagger-ui .nested-copy-line-height ol,.swagger-ui .nested-copy-line-height p,.swagger-ui .nested-copy-line-height ul{line-height:1.5}.swagger-ui .nested-headline-line-height h1,.swagger-ui .nested-headline-line-height h2,.swagger-ui .nested-headline-line-height h3,.swagger-ui .nested-headline-line-height h4,.swagger-ui .nested-headline-line-height h5,.swagger-ui .nested-headline-line-height h6{line-height:1.25}.swagger-ui .nested-list-reset ol,.swagger-ui .nested-list-reset ul{list-style-type:none;margin-left:0;padding-left:0}.swagger-ui .nested-copy-indent p+p{margin-bottom:0;margin-top:0;text-indent:.1em}.swagger-ui .nested-copy-seperator p+p{margin-top:1.5em}.swagger-ui .nested-img img{display:block;max-width:100%;width:100%}.swagger-ui .nested-links a{color:#357edd;transition:color .15s ease-in}.swagger-ui .nested-links a:focus,.swagger-ui .nested-links a:hover{color:#96ccff;transition:color .15s ease-in}.swagger-ui .wrapper{box-sizing:border-box;margin:0 auto;max-width:1460px;padding:0 20px;width:100%}.swagger-ui .opblock-tag-section{display:flex;flex-direction:column}.swagger-ui .try-out.btn-group{display:flex;flex:.1 2 auto;padding:0}.swagger-ui .try-out__btn{margin-left:1.25rem}.swagger-ui .opblock-tag{align-items:center;border-bottom:1px solid rgba(59,65,81,.3);cursor:pointer;display:flex;padding:10px 20px 10px 10px;transition:all .2s}.swagger-ui .opblock-tag:hover{background:rgba(0,0,0,.02)}.swagger-ui .opblock-tag{color:#3b4151;font-family:sans-serif;font-size:24px;margin:0 0 5px}.swagger-ui .opblock-tag.no-desc span{flex:1}.swagger-ui .opblock-tag svg{transition:all .4s}.swagger-ui .opblock-tag small{color:#3b4151;flex:2;font-family:sans-serif;font-size:14px;font-weight:400;padding:0 10px}.swagger-ui .opblock-tag>div{flex:1 1 150px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.swagger-ui .opblock-tag small,.swagger-ui .opblock-tag>div{flex:1}}.swagger-ui .opblock-tag .info__externaldocs{text-align:right}.swagger-ui .parameter__type{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;padding:5px 0}.swagger-ui .parameter-controls{margin-top:.75em}.swagger-ui .examples__title{display:block;font-size:1.1em;font-weight:700;margin-bottom:.75em}.swagger-ui .examples__section{margin-top:1.5em}.swagger-ui .examples__section-header{font-size:.9rem;font-weight:700;margin-bottom:.5rem}.swagger-ui .examples-select{display:inline-block;margin-bottom:.75em}.swagger-ui .examples-select .examples-select-element{width:100%}.swagger-ui .examples-select__section-label{font-size:.9rem;font-weight:700;margin-right:.5rem}.swagger-ui .example__section{margin-top:1.5em}.swagger-ui .example__section-header{font-size:.9rem;font-weight:700;margin-bottom:.5rem}.swagger-ui .view-line-link{cursor:pointer;margin:0 5px;position:relative;top:3px;transition:all .5s;width:20px}.swagger-ui .opblock{border:1px solid #000;border-radius:4px;box-shadow:0 0 3px rgba(0,0,0,.19);margin:0 0 15px}.swagger-ui .opblock .tab-header{display:flex;flex:1}.swagger-ui .opblock .tab-header .tab-item{cursor:pointer;padding:0 40px}.swagger-ui .opblock .tab-header .tab-item:first-of-type{padding:0 40px 0 0}.swagger-ui .opblock .tab-header .tab-item.active h4 span{position:relative}.swagger-ui .opblock .tab-header .tab-item.active h4 span:after{background:grey;bottom:-15px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:120%}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid #000}.swagger-ui .opblock .opblock-section-header{align-items:center;background:hsla(0,0%,100%,.8);box-shadow:0 1px 2px rgba(0,0,0,.1);display:flex;min-height:50px;padding:8px 20px}.swagger-ui .opblock .opblock-section-header>label{align-items:center;color:#3b4151;display:flex;font-family:sans-serif;font-size:12px;font-weight:700;margin:0 0 0 auto}.swagger-ui .opblock .opblock-section-header>label>span{padding:0 10px 0 0}.swagger-ui .opblock .opblock-section-header h4{color:#3b4151;flex:1;font-family:sans-serif;font-size:14px;margin:0}.swagger-ui .opblock .opblock-summary-method{background:#000;border-radius:3px;color:#fff;font-family:sans-serif;font-size:14px;font-weight:700;min-width:80px;padding:6px 0;text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.1)}@media(max-width:768px){.swagger-ui .opblock .opblock-summary-method{font-size:12px}}.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{align-items:center;color:#3b4151;display:flex;font-family:monospace;font-size:16px;font-weight:600;word-break:break-word}@media(max-width:768px){.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{font-size:12px}}.swagger-ui .opblock .opblock-summary-path{flex-shrink:1}@media(max-width:640px){.swagger-ui .opblock .opblock-summary-path{max-width:100%}}.swagger-ui .opblock .opblock-summary-path__deprecated{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .opblock .opblock-summary-operation-id{font-size:14px}.swagger-ui .opblock .opblock-summary-description{color:#3b4151;font-family:sans-serif;font-size:13px;word-break:break-word}.swagger-ui .opblock .opblock-summary-path-description-wrapper{align-items:center;display:flex;flex-direction:row;flex-grow:1;flex-wrap:wrap;gap:0 10px;padding:0 10px}@media(max-width:550px){.swagger-ui .opblock .opblock-summary-path-description-wrapper{align-items:flex-start;flex-direction:column}}.swagger-ui .opblock .opblock-summary{align-items:center;cursor:pointer;display:flex;padding:5px}.swagger-ui .opblock .opblock-summary .view-line-link{cursor:pointer;margin:0;position:relative;top:2px;transition:all .5s;width:0}.swagger-ui .opblock .opblock-summary:hover .view-line-link{margin:0 5px;width:18px}.swagger-ui .opblock .opblock-summary:hover .view-line-link.copy-to-clipboard{width:24px}.swagger-ui .opblock.opblock-post{background:rgba(73,204,144,.1);border-color:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary{border-color:#49cc90}.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after{background:#49cc90}.swagger-ui .opblock.opblock-put{background:rgba(252,161,48,.1);border-color:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary-method{background:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary{border-color:#fca130}.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after{background:#fca130}.swagger-ui .opblock.opblock-delete{background:rgba(249,62,62,.1);border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary-method{background:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary{border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after{background:#f93e3e}.swagger-ui .opblock.opblock-get{background:rgba(97,175,254,.1);border-color:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary-method{background:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary{border-color:#61affe}.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after{background:#61affe}.swagger-ui .opblock.opblock-patch{background:rgba(80,227,194,.1);border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary-method{background:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary{border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after{background:#50e3c2}.swagger-ui .opblock.opblock-head{background:rgba(144,18,254,.1);border-color:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary-method{background:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary{border-color:#9012fe}.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after{background:#9012fe}.swagger-ui .opblock.opblock-options{background:rgba(13,90,167,.1);border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary-method{background:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary{border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after{background:#0d5aa7}.swagger-ui .opblock.opblock-deprecated{background:hsla(0,0%,92%,.1);border-color:#ebebeb;opacity:.6}.swagger-ui .opblock.opblock-deprecated .opblock-summary-method{background:#ebebeb}.swagger-ui .opblock.opblock-deprecated .opblock-summary{border-color:#ebebeb}.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after{background:#ebebeb}.swagger-ui .opblock .opblock-schemes{padding:8px 20px}.swagger-ui .opblock .opblock-schemes .schemes-title{padding:0 10px 0 0}.swagger-ui .filter .operation-filter-input{border:2px solid #d8dde7;margin:20px 0;padding:10px;width:100%}.swagger-ui .download-url-wrapper .failed,.swagger-ui .filter .failed{color:red}.swagger-ui .download-url-wrapper .loading,.swagger-ui .filter .loading{color:#aaa}.swagger-ui .model-example{margin-top:1em}.swagger-ui .model-example .model-container{overflow-x:auto;width:100%}.swagger-ui .model-example .model-container .model-hint:not(.model-hint--embedded){top:-1.15em}.swagger-ui .tab{display:flex;list-style:none;padding:0}.swagger-ui .tab li{color:#3b4151;cursor:pointer;font-family:sans-serif;font-size:12px;min-width:60px;padding:0}.swagger-ui .tab li:first-of-type{padding-left:0;padding-right:12px;position:relative}.swagger-ui .tab li:first-of-type:after{background:rgba(0,0,0,.2);content:"";height:100%;position:absolute;right:6px;top:0;width:1px}.swagger-ui .tab li.active{font-weight:700}.swagger-ui .tab li button.tablinks{background:none;border:0;color:inherit;font-family:inherit;font-weight:inherit;padding:0}.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px;padding:15px 20px}.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-title_normal h4{color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px}.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-title_normal p{color:#3b4151;font-family:sans-serif;font-size:14px;margin:0}.swagger-ui .opblock-external-docs-wrapper h4{padding-left:0}.swagger-ui .execute-wrapper{padding:20px;text-align:right}.swagger-ui .execute-wrapper .btn{padding:8px 40px;width:100%}.swagger-ui .body-param-options{display:flex;flex-direction:column}.swagger-ui .body-param-options .body-param-edit{padding:10px 0}.swagger-ui .body-param-options label{padding:8px 0}.swagger-ui .body-param-options label select{margin:3px 0 0}.swagger-ui .responses-inner{padding:20px}.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5{color:#3b4151;font-family:sans-serif;font-size:12px;margin:10px 0 5px}.swagger-ui .responses-inner .curl{max-height:400px;min-height:6em;overflow-y:auto}.swagger-ui .response-col_status{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .response-col_status .response-undocumented{color:#909090;font-family:monospace;font-size:11px;font-weight:600}.swagger-ui .response-col_links{color:#3b4151;font-family:sans-serif;font-size:14px;max-width:40em;padding-left:2em}.swagger-ui .response-col_links .response-undocumented{color:#909090;font-family:monospace;font-size:11px;font-weight:600}.swagger-ui .response-col_links .operation-link{margin-bottom:1.5em}.swagger-ui .response-col_links .operation-link .description{margin-bottom:.5em}.swagger-ui .opblock-body .opblock-loading-animation{display:block;margin:3em auto}.swagger-ui .opblock-body pre.microlight{background:#333;border-radius:4px;font-size:12px;hyphens:auto;margin:0;padding:10px;white-space:pre-wrap;word-break:break-all;word-break:break-word;word-wrap:break-word;color:#fff;font-family:monospace;font-weight:600}.swagger-ui .opblock-body pre.microlight .headerline{display:block}.swagger-ui .highlight-code{position:relative}.swagger-ui .highlight-code>.microlight{max-height:400px;min-height:6em;overflow-y:auto}.swagger-ui .highlight-code>.microlight code{white-space:pre-wrap!important;word-break:break-all}.swagger-ui .curl-command{position:relative}.swagger-ui .download-contents{align-items:center;background:#7d8293;border:none;border-radius:4px;bottom:10px;color:#fff;display:flex;font-family:sans-serif;font-size:14px;font-weight:600;height:30px;justify-content:center;padding:5px;position:absolute;right:10px;text-align:center}.swagger-ui .scheme-container{background:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.15);margin:0 0 20px;padding:30px 0}.swagger-ui .scheme-container .schemes{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.swagger-ui .scheme-container .schemes>.schemes-server-container{display:flex;flex-wrap:wrap;gap:10px}.swagger-ui .scheme-container .schemes>.schemes-server-container>label{color:#3b4151;display:flex;flex-direction:column;font-family:sans-serif;font-size:12px;font-weight:700;margin:-20px 15px 0 0}.swagger-ui .scheme-container .schemes>.schemes-server-container>label select{min-width:130px;text-transform:uppercase}.swagger-ui .scheme-container .schemes:not(:has(.schemes-server-container)){justify-content:flex-end}.swagger-ui .scheme-container .schemes .auth-wrapper{flex:none;justify-content:start}.swagger-ui .scheme-container .schemes .auth-wrapper .authorize{display:flex;flex-wrap:nowrap;margin:0;padding-right:20px}.swagger-ui .loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:1em;min-height:1px;padding:40px 0 60px}.swagger-ui .loading-container .loading{position:relative}.swagger-ui .loading-container .loading:after{color:#3b4151;content:"loading";font-family:sans-serif;font-size:10px;font-weight:700;left:50%;position:absolute;text-transform:uppercase;top:50%;transform:translate(-50%,-50%)}.swagger-ui .loading-container .loading:before{animation:rotation 1s linear infinite,opacity .5s;backface-visibility:hidden;border:2px solid rgba(85,85,85,.1);border-radius:100%;border-top-color:rgba(0,0,0,.6);content:"";display:block;height:60px;left:50%;margin:-30px;opacity:1;position:absolute;top:50%;width:60px}@keyframes rotation{to{transform:rotate(1turn)}}.swagger-ui .response-controls{display:flex;padding-top:1em}.swagger-ui .response-control-media-type{margin-right:1em}.swagger-ui .response-control-media-type--accept-controller select{border-color:green}.swagger-ui .response-control-media-type__accept-message{color:green;font-size:.7em}.swagger-ui .response-control-examples__title,.swagger-ui .response-control-media-type__title{display:block;font-size:.7em;margin-bottom:.2em}@keyframes blinker{50%{opacity:0}}.swagger-ui .hidden{display:none}.swagger-ui .no-margin{border:none;height:auto;margin:0;padding:0}.swagger-ui .float-right{float:right}.swagger-ui .svg-assets{height:0;position:absolute;width:0}.swagger-ui section h3{color:#3b4151;font-family:sans-serif}.swagger-ui a.nostyle{display:inline}.swagger-ui a.nostyle,.swagger-ui a.nostyle:visited{color:inherit;cursor:pointer;text-decoration:inherit}.swagger-ui .fallback{color:#aaa;padding:1em}.swagger-ui .version-pragma{height:100%;padding:5em 0}.swagger-ui .version-pragma__message{display:flex;font-size:1.2em;height:100%;justify-content:center;line-height:1.5em;padding:0 .6em;text-align:center}.swagger-ui .version-pragma__message>div{flex:1;max-width:55ch}.swagger-ui .version-pragma__message code{background-color:#dedede;padding:4px 4px 2px;white-space:pre}.swagger-ui .opblock-link{font-weight:400}.swagger-ui .opblock-link.shown{font-weight:700}.swagger-ui span.token-string{color:#555}.swagger-ui span.token-not-formatted{color:#555;font-weight:700}.swagger-ui .btn{background:transparent;border:2px solid grey;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.1);color:#3b4151;font-family:sans-serif;font-size:14px;font-weight:700;padding:5px 23px;transition:all .3s}.swagger-ui .btn.btn-sm{font-size:12px;padding:4px 23px}.swagger-ui .btn[disabled]{cursor:not-allowed;opacity:.3}.swagger-ui .btn:hover{box-shadow:0 0 5px rgba(0,0,0,.3)}.swagger-ui .btn.cancel{background-color:transparent;border-color:#ff6060;color:#ff6060;font-family:sans-serif}.swagger-ui .btn.authorize{background-color:transparent;border-color:#49cc90;color:#49cc90;display:inline;line-height:1}.swagger-ui .btn.authorize span{float:left;padding:4px 20px 0 0}.swagger-ui .btn.authorize svg{fill:#49cc90}.swagger-ui .btn.execute{background-color:#4990e2;border-color:#4990e2;color:#fff}.swagger-ui .btn-group{display:flex;padding:30px}.swagger-ui .btn-group .btn{flex:1}.swagger-ui .btn-group .btn:first-child{border-radius:4px 0 0 4px}.swagger-ui .btn-group .btn:last-child{border-radius:0 4px 4px 0}.swagger-ui .authorization__btn{background:none;border:none;padding:0 0 0 10px}.swagger-ui .authorization__btn .locked{opacity:1}.swagger-ui .authorization__btn .unlocked{opacity:.4}.swagger-ui .model-box-control,.swagger-ui .models-control,.swagger-ui .opblock-summary-control{all:inherit;border-bottom:0;cursor:pointer;flex:1;padding:0}.swagger-ui .model-box-control:focus,.swagger-ui .models-control:focus,.swagger-ui .opblock-summary-control:focus{outline:auto}.swagger-ui .expand-methods,.swagger-ui .expand-operation{background:none;border:none}.swagger-ui .expand-methods svg,.swagger-ui .expand-operation svg{height:20px;width:20px}.swagger-ui .expand-methods{padding:0 10px}.swagger-ui .expand-methods:hover svg{fill:#404040}.swagger-ui .expand-methods svg{transition:all .3s;fill:#707070}.swagger-ui button{cursor:pointer}.swagger-ui button.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui .copy-to-clipboard{align-items:center;background:#7d8293;border:none;border-radius:4px;bottom:10px;display:flex;height:30px;justify-content:center;position:absolute;right:100px;width:30px}.swagger-ui .copy-to-clipboard button{background:url("data:image/svg+xml;charset=utf-8,") 50% no-repeat;border:none;flex-grow:1;flex-shrink:1;height:25px}.swagger-ui .copy-to-clipboard:active{background:#5e626f}.swagger-ui .opblock-control-arrow{background:none;border:none;text-align:center}.swagger-ui .curl-command .copy-to-clipboard{bottom:5px;height:20px;right:10px;width:20px}.swagger-ui .curl-command .copy-to-clipboard button{height:18px}.swagger-ui .opblock .opblock-summary .view-line-link.copy-to-clipboard{height:26px;position:static}.swagger-ui select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f7f7f7 url("data:image/svg+xml;charset=utf-8,") right 10px center no-repeat;background-size:20px;border:2px solid #41444e;border-radius:4px;box-shadow:0 1px 2px 0 rgba(0,0,0,.25);color:#3b4151;font-family:sans-serif;font-size:14px;font-weight:700;padding:5px 40px 5px 10px}.swagger-ui select[multiple]{background:#f7f7f7;margin:5px 0;padding:5px}.swagger-ui select.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui .opblock-body select{min-width:230px}@media(max-width:768px){.swagger-ui .opblock-body select{min-width:180px}}@media(max-width:640px){.swagger-ui .opblock-body select{min-width:100%;width:100%}}.swagger-ui label{color:#3b4151;font-family:sans-serif;font-size:12px;font-weight:700;margin:0 0 5px}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{line-height:1}@media(max-width:768px){.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{max-width:175px}}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text],.swagger-ui textarea{background:#fff;border:1px solid #d9d9d9;border-radius:4px;margin:5px 0;min-width:100px;padding:8px 10px}.swagger-ui input[type=email].invalid,.swagger-ui input[type=file].invalid,.swagger-ui input[type=password].invalid,.swagger-ui input[type=search].invalid,.swagger-ui input[type=text].invalid,.swagger-ui textarea.invalid{animation:shake .4s 1;background:#feebeb;border-color:#f93e3e}.swagger-ui input[disabled],.swagger-ui select[disabled],.swagger-ui textarea[disabled]{background-color:#fafafa;color:#888;cursor:not-allowed}.swagger-ui select[disabled]{border-color:#888}.swagger-ui textarea[disabled]{background-color:#41444e;color:#fff}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.swagger-ui textarea{background:hsla(0,0%,100%,.8);border:none;border-radius:4px;color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;min-height:280px;outline:none;padding:10px;width:100%}.swagger-ui textarea:focus{border:2px solid #61affe}.swagger-ui textarea.curl{background:#41444e;border-radius:4px;color:#fff;font-family:monospace;font-size:12px;font-weight:600;margin:0;min-height:100px;padding:10px;resize:none}.swagger-ui .checkbox{color:#303030;padding:5px 0 10px;transition:opacity .5s}.swagger-ui .checkbox label{display:flex}.swagger-ui .checkbox p{color:#3b4151;font-family:monospace;font-style:italic;font-weight:400!important;font-weight:600;margin:0!important}.swagger-ui .checkbox input[type=checkbox]{display:none}.swagger-ui .checkbox input[type=checkbox]+label>.item{background:#e8e8e8;border-radius:1px;box-shadow:0 0 0 2px #e8e8e8;cursor:pointer;display:inline-block;flex:none;height:16px;margin:0 8px 0 0;padding:5px;position:relative;top:3px;width:16px}.swagger-ui .checkbox input[type=checkbox]+label>.item:active{transform:scale(.9)}.swagger-ui .checkbox input[type=checkbox]:checked+label>.item{background:#e8e8e8 url("data:image/svg+xml;charset=utf-8,") 50% no-repeat}.swagger-ui .dialog-ux{bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.swagger-ui .dialog-ux .backdrop-ux{background:rgba(0,0,0,.8);bottom:0;left:0;position:fixed;right:0;top:0}.swagger-ui .dialog-ux .modal-ux{background:#fff;border:1px solid #ebebeb;border-radius:4px;box-shadow:0 10px 30px 0 rgba(0,0,0,.2);left:50%;max-width:650px;min-width:300px;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%;z-index:9999}.swagger-ui .dialog-ux .modal-ux-content{max-height:540px;overflow-y:auto;padding:20px}.swagger-ui .dialog-ux .modal-ux-content p{color:#41444e;color:#3b4151;font-family:sans-serif;font-size:12px;margin:0 0 5px}.swagger-ui .dialog-ux .modal-ux-content h4{color:#3b4151;font-family:sans-serif;font-size:18px;font-weight:600;margin:15px 0 0}.swagger-ui .dialog-ux .modal-ux-header{align-items:center;border-bottom:1px solid #ebebeb;display:flex;padding:12px 0}.swagger-ui .dialog-ux .modal-ux-header .close-modal{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0 10px}.swagger-ui .dialog-ux .modal-ux-header h3{color:#3b4151;flex:1;font-family:sans-serif;font-size:20px;font-weight:600;margin:0;padding:0 20px}.swagger-ui .model{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300;font-weight:600}.swagger-ui .model .deprecated span,.swagger-ui .model .deprecated td{color:#a0a0a0!important}.swagger-ui .model .deprecated>td:first-of-type{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .model-toggle{cursor:pointer;display:inline-block;font-size:10px;margin:auto .3em;position:relative;top:6px;transform:rotate(90deg);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .model-toggle.collapsed{transform:rotate(0deg)}.swagger-ui .model-toggle:after{background:url("data:image/svg+xml;charset=utf-8,") 50% no-repeat;background-size:100%;content:"";display:block;height:20px;width:20px}.swagger-ui .model-jump-to-path{cursor:pointer;position:relative}.swagger-ui .model-jump-to-path .view-line-link{cursor:pointer;position:absolute;top:-.4em}.swagger-ui .model-title{position:relative}.swagger-ui .model-title:hover .model-hint{display:block}.swagger-ui .model-hint{background:rgba(0,0,0,.7);border-radius:4px;color:#ebebeb;display:none;padding:.1em .5em;position:absolute;top:-1.8em;white-space:nowrap}.swagger-ui .model p{margin:0 0 1em}.swagger-ui .model .property{color:#999;font-style:italic}.swagger-ui .model .property.primitive{color:#6b6b6b}.swagger-ui .model .property.primitive.extension{display:block}.swagger-ui .model .property.primitive.extension>td:first-child{padding-left:0;padding-right:0;width:auto}.swagger-ui .model .property.primitive.extension>td:first-child:after{content:": "}.swagger-ui .model .external-docs,.swagger-ui table.model tr.description{color:#666;font-weight:400}.swagger-ui table.model tr.description td:first-child,.swagger-ui table.model tr.property-row.required td:first-child{font-weight:700}.swagger-ui table.model tr.property-row td{vertical-align:top}.swagger-ui table.model tr.property-row td:first-child{padding-right:.2em}.swagger-ui table.model tr.property-row .star{color:red}.swagger-ui table.model tr.extension{color:#777}.swagger-ui table.model tr.extension td:last-child{vertical-align:top}.swagger-ui table.model tr.external-docs td:first-child{font-weight:700}.swagger-ui table.model tr .renderedMarkdown p:first-child{margin-top:0}.swagger-ui section.models{border:1px solid rgba(59,65,81,.3);border-radius:4px;margin:30px 0}.swagger-ui section.models .pointer{cursor:pointer}.swagger-ui section.models.is-open{padding:0 0 20px}.swagger-ui section.models.is-open h4{border-bottom:1px solid rgba(59,65,81,.3);margin:0 0 5px}.swagger-ui section.models h4{align-items:center;color:#606060;cursor:pointer;display:flex;font-family:sans-serif;font-size:16px;margin:0;padding:10px 20px 10px 10px;transition:all .2s}.swagger-ui section.models h4 svg{transition:all .4s}.swagger-ui section.models h4 span{flex:1}.swagger-ui section.models h4:hover{background:rgba(0,0,0,.02)}.swagger-ui section.models h5{color:#707070;font-family:sans-serif;font-size:16px;margin:0 0 10px}.swagger-ui section.models .model-jump-to-path{position:relative;top:5px}.swagger-ui section.models .model-container{background:rgba(0,0,0,.05);border-radius:4px;margin:0 20px 15px;position:relative;transition:all .5s}.swagger-ui section.models .model-container:hover{background:rgba(0,0,0,.07)}.swagger-ui section.models .model-container:first-of-type{margin:20px}.swagger-ui section.models .model-container:last-of-type{margin:0 20px}.swagger-ui section.models .model-container .models-jump-to-path{opacity:.65;position:absolute;right:5px;top:8px}.swagger-ui section.models .model-box{background:none}.swagger-ui section.models .model-box:has(.model-box){overflow-x:auto;width:100%}.swagger-ui .model-box{background:rgba(0,0,0,.1);border-radius:4px;display:inline-block;padding:10px}.swagger-ui .model-box .model-jump-to-path{position:relative;top:4px}.swagger-ui .model-box.deprecated{opacity:.5}.swagger-ui .model-title{color:#505050;font-family:sans-serif;font-size:16px}.swagger-ui .model-title img{bottom:0;margin-left:1em;position:relative}.swagger-ui .model-deprecated-warning{color:#f93e3e;font-family:sans-serif;font-size:16px;font-weight:600;margin-right:1em}.swagger-ui span>span.model .brace-close{padding:0 0 0 10px}.swagger-ui .prop-name{display:inline-block;margin-right:1em}.swagger-ui .prop-type{color:#55a}.swagger-ui .prop-enum{display:block}.swagger-ui .prop-format{color:#606060}.swagger-ui .servers>label{color:#3b4151;font-family:sans-serif;font-size:12px;margin:-20px 15px 0 0}.swagger-ui .servers>label select{max-width:100%;min-width:130px;width:100%}.swagger-ui .servers h4.message{padding-bottom:2em}.swagger-ui .servers table tr{width:30em}.swagger-ui .servers table td{display:inline-block;max-width:15em;padding-bottom:10px;padding-top:10px;vertical-align:middle}.swagger-ui .servers table td:first-of-type{padding-right:1em}.swagger-ui .servers table td input{height:100%;width:100%}.swagger-ui .servers .computed-url{margin:2em 0}.swagger-ui .servers .computed-url code{display:inline-block;font-size:16px;margin:0 1em;padding:4px}.swagger-ui .servers-title{font-size:12px;font-weight:700}.swagger-ui .operation-servers h4.message{margin-bottom:2em}.swagger-ui table{border-collapse:collapse;padding:0 10px;width:100%}.swagger-ui table.model tbody tr td{padding:0 0 0 1em;vertical-align:top}.swagger-ui table.model tbody tr td:first-of-type{padding:0 0 0 2em;width:174px}.swagger-ui table.headers td{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300;font-weight:600;vertical-align:middle}.swagger-ui table.headers .header-example{color:#999;font-style:italic}.swagger-ui table tbody tr td{padding:10px 0 0;vertical-align:top}.swagger-ui table tbody tr td:first-of-type{min-width:6em;padding:10px 0}.swagger-ui table tbody tr td:has(.model-box){max-width:1px}.swagger-ui table thead tr td,.swagger-ui table thead tr th{border-bottom:1px solid rgba(59,65,81,.2);color:#3b4151;font-family:sans-serif;font-size:12px;font-weight:700;padding:12px 0;text-align:left}.swagger-ui .parameters-col_description{margin-bottom:2em;width:99%}.swagger-ui .parameters-col_description input{max-width:340px;width:100%}.swagger-ui .parameters-col_description select{border-width:1px}.swagger-ui .parameters-col_description .markdown p,.swagger-ui .parameters-col_description .renderedMarkdown p{margin:0}.swagger-ui .parameter__name{color:#3b4151;font-family:sans-serif;font-size:16px;font-weight:400;margin-right:.75em}.swagger-ui .parameter__name.required{font-weight:700}.swagger-ui .parameter__name.required span{color:red}.swagger-ui .parameter__name.required:after{color:rgba(255,0,0,.6);content:"required";font-size:10px;padding:5px;position:relative;top:-6px}.swagger-ui .parameter__extension,.swagger-ui .parameter__in{color:grey;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .parameter__deprecated{color:red;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .parameter__empty_value_toggle{display:block;font-size:13px;padding-bottom:12px;padding-top:5px}.swagger-ui .parameter__empty_value_toggle input{margin-right:7px;width:auto}.swagger-ui .parameter__empty_value_toggle.disabled{opacity:.7}.swagger-ui .table-container{padding:20px}.swagger-ui .response-col_description{width:99%}.swagger-ui .response-col_description .markdown p,.swagger-ui .response-col_description .renderedMarkdown p{margin:0}.swagger-ui .response-col_links{min-width:6em}.swagger-ui .response__extension{color:grey;font-family:monospace;font-size:12px;font-style:italic;font-weight:600}.swagger-ui .topbar{background-color:#1b1b1b;padding:10px 0}.swagger-ui .topbar .topbar-wrapper{align-items:center;display:flex;flex-wrap:wrap;gap:10px}@media(max-width:550px){.swagger-ui .topbar .topbar-wrapper{align-items:start;flex-direction:column}}.swagger-ui .topbar a{align-items:center;color:#fff;display:flex;flex:1;font-family:sans-serif;font-size:1.5em;font-weight:700;max-width:300px;-webkit-text-decoration:none;text-decoration:none}.swagger-ui .topbar a span{margin:0;padding:0 10px}.swagger-ui .topbar .download-url-wrapper{display:flex;flex:3;justify-content:flex-end}.swagger-ui .topbar .download-url-wrapper input[type=text]{border:2px solid #62a03f;border-radius:4px 0 0 4px;margin:0;max-width:100%;outline:none;width:100%}.swagger-ui .topbar .download-url-wrapper .select-label{align-items:center;color:#f0f0f0;display:flex;margin:0;max-width:600px;width:100%}.swagger-ui .topbar .download-url-wrapper .select-label span{flex:1;font-size:16px;padding:0 10px 0 0;text-align:right}.swagger-ui .topbar .download-url-wrapper .select-label select{border:2px solid #62a03f;box-shadow:none;flex:2;outline:none;width:100%}.swagger-ui .topbar .download-url-wrapper .download-url-button{background:#62a03f;border:none;border-radius:0 4px 4px 0;color:#fff;font-family:sans-serif;font-size:16px;font-weight:700;padding:4px 30px}@media(max-width:550px){.swagger-ui .topbar .download-url-wrapper{width:100%}}.swagger-ui .info{margin:50px 0}.swagger-ui .info.failed-config{margin-left:auto;margin-right:auto;max-width:880px;text-align:center}.swagger-ui .info hgroup.main{margin:0 0 20px}.swagger-ui .info hgroup.main a{font-size:12px}.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info pre,.swagger-ui .info table{font-size:14px}.swagger-ui .info h1,.swagger-ui .info h2,.swagger-ui .info h3,.swagger-ui .info h4,.swagger-ui .info h5,.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table{color:#3b4151;font-family:sans-serif}.swagger-ui .info a{color:#4990e2;font-family:sans-serif;font-size:14px;transition:all .4s}.swagger-ui .info a:hover{color:#1f69c0}.swagger-ui .info>div{margin:0 0 5px}.swagger-ui .info .base-url{color:#3b4151;font-family:monospace;font-size:12px;font-weight:300!important;font-weight:600;margin:0}.swagger-ui .info .title{color:#3b4151;font-family:sans-serif;font-size:36px;margin:0}.swagger-ui .info .title small{background:#7d8492;border-radius:57px;display:inline-block;font-size:10px;margin:0 0 0 5px;padding:2px 4px;position:relative;top:-5px;vertical-align:super}.swagger-ui .info .title small.version-stamp{background-color:#89bf04}.swagger-ui .info .title small pre{color:#fff;font-family:sans-serif;margin:0;padding:0}.swagger-ui .auth-btn-wrapper{display:flex;justify-content:center;padding:10px 0}.swagger-ui .auth-btn-wrapper .btn-done{margin-right:1em}.swagger-ui .auth-wrapper{display:flex;flex:1;justify-content:flex-end}.swagger-ui .auth-wrapper .authorize{margin-left:10px;margin-right:10px;padding-right:20px}.swagger-ui .auth-container{border-bottom:1px solid #ebebeb;margin:0 0 10px;padding:10px 20px}.swagger-ui .auth-container:last-of-type{border:0;margin:0;padding:10px 20px}.swagger-ui .auth-container h4{margin:5px 0 15px!important}.swagger-ui .auth-container .wrapper{margin:0;padding:0}.swagger-ui .auth-container input[type=password],.swagger-ui .auth-container input[type=text]{min-width:230px}.swagger-ui .auth-container .errors{background-color:#fee;border-radius:4px;color:red;color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;margin:1em;padding:10px}.swagger-ui .auth-container .errors b{margin-right:1em;text-transform:capitalize}.swagger-ui .scopes h2{color:#3b4151;font-family:sans-serif;font-size:14px}.swagger-ui .scopes h2 a{color:#4990e2;cursor:pointer;font-size:12px;padding-left:10px;-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .scope-def{padding:0 0 20px}.swagger-ui .errors-wrapper{animation:scaleUp .5s;background:rgba(249,62,62,.1);border:2px solid #f93e3e;border-radius:4px;margin:20px;padding:10px 20px}.swagger-ui .errors-wrapper .error-wrapper{margin:0 0 10px}.swagger-ui .errors-wrapper .errors h4{color:#3b4151;font-family:monospace;font-size:14px;font-weight:600;margin:0}.swagger-ui .errors-wrapper .errors small{color:#606060}.swagger-ui .errors-wrapper .errors .message{white-space:pre-line}.swagger-ui .errors-wrapper .errors .message.thrown{max-width:100%}.swagger-ui .errors-wrapper .errors .error-line{cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline}.swagger-ui .errors-wrapper hgroup{align-items:center;display:flex}.swagger-ui .errors-wrapper hgroup h4{color:#3b4151;flex:1;font-family:sans-serif;font-size:20px;margin:0}@keyframes scaleUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.swagger-ui .Resizer.vertical.disabled{display:none}.swagger-ui .markdown p,.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown p,.swagger-ui .renderedMarkdown pre{margin:1em auto;word-break:break-all;word-break:break-word}.swagger-ui .markdown pre,.swagger-ui .renderedMarkdown pre{background:none;color:#000;font-weight:400;padding:0;white-space:pre-wrap}.swagger-ui .markdown code,.swagger-ui .renderedMarkdown code{background:rgba(0,0,0,.05);border-radius:4px;color:#9012fe;font-family:monospace;font-size:14px;font-weight:600;padding:5px 7px}.swagger-ui .markdown pre>code,.swagger-ui .renderedMarkdown pre>code{display:block}.swagger-ui .json-schema-2020-12-keyword--\$vocabulary ul{border-left:1px dashed rgba(0,0,0,.1);margin:0 0 0 20px}.swagger-ui .json-schema-2020-12-\$vocabulary-uri{margin-left:35px}.swagger-ui .json-schema-2020-12-\$vocabulary-uri--disabled{-webkit-text-decoration:line-through;text-decoration:line-through}.swagger-ui .json-schema-2020-12-keyword--const .json-schema-2020-12-json-viewer__name,.swagger-ui .json-schema-2020-12-keyword--const .json-schema-2020-12-json-viewer__value{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12__constraint{background-color:#805ad5;border-radius:4px;color:#3b4151;color:#fff;font-family:monospace;font-weight:600;line-height:1.5;margin-left:10px;padding:1px 3px}.swagger-ui .json-schema-2020-12__constraint--string{background-color:#d69e2e;color:#fff}.swagger-ui .json-schema-2020-12-keyword--default .json-schema-2020-12-json-viewer__name,.swagger-ui .json-schema-2020-12-keyword--default .json-schema-2020-12-json-viewer__value{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-keyword--dependentRequired>ul{display:inline-block;margin:0;padding:0}.swagger-ui .json-schema-2020-12-keyword--dependentRequired>ul li{display:inline;list-style-type:none}.swagger-ui .json-schema-2020-12-keyword--description{color:#6b6b6b;font-size:12px;margin-left:20px}.swagger-ui .json-schema-2020-12-keyword--description p{margin:0}.swagger-ui .json-schema-2020-12-keyword--enum .json-schema-2020-12-json-viewer__name,.swagger-ui .json-schema-2020-12-keyword--enum .json-schema-2020-12-json-viewer__value,.swagger-ui .json-schema-2020-12-keyword--examples .json-schema-2020-12-json-viewer__name,.swagger-ui .json-schema-2020-12-keyword--examples .json-schema-2020-12-json-viewer__value{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-json-viewer-extension-keyword .json-schema-2020-12-json-viewer__name,.swagger-ui .json-schema-2020-12-json-viewer-extension-keyword .json-schema-2020-12-json-viewer__value{color:#929292;font-style:italic}.swagger-ui .json-schema-2020-12-keyword--patternProperties ul{border:none;margin:0;padding:0}.swagger-ui .json-schema-2020-12-keyword--patternProperties .json-schema-2020-12__title:first-of-type:after,.swagger-ui .json-schema-2020-12-keyword--patternProperties .json-schema-2020-12__title:first-of-type:before{color:#55a;content:"/"}.swagger-ui .json-schema-2020-12-keyword--properties>ul{border:none;margin:0;padding:0}.swagger-ui .json-schema-2020-12-property{list-style-type:none}.swagger-ui .json-schema-2020-12-property--required>.json-schema-2020-12:first-of-type>.json-schema-2020-12-head .json-schema-2020-12__title:after{color:red;content:"*";font-weight:700}.swagger-ui .json-schema-2020-12__title{color:#505050;display:inline-block;font-family:sans-serif;font-size:12px;font-weight:700;line-height:normal}.swagger-ui .json-schema-2020-12__title .json-schema-2020-12-keyword__name{margin:0}.swagger-ui .json-schema-2020-12-property{margin:7px 0}.swagger-ui .json-schema-2020-12-property .json-schema-2020-12__title{color:#3b4151;font-family:monospace;font-size:12px;font-weight:600;vertical-align:middle}.swagger-ui .json-schema-2020-12-keyword{margin:5px 0}.swagger-ui .json-schema-2020-12-keyword__children{border-left:1px dashed rgba(0,0,0,.1);margin:0 0 0 20px;padding:0}.swagger-ui .json-schema-2020-12-keyword__children--collapsed{display:none}.swagger-ui .json-schema-2020-12-keyword__name{font-size:12px;font-weight:700;margin-left:20px}.swagger-ui .json-schema-2020-12-keyword__name--primary{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-keyword__name--secondary{color:#6b6b6b;font-style:italic}.swagger-ui .json-schema-2020-12-keyword__name--extension{color:#929292;font-style:italic}.swagger-ui .json-schema-2020-12-keyword__value{color:#6b6b6b;font-size:12px;font-style:italic;font-weight:400}.swagger-ui .json-schema-2020-12-keyword__value--primary{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-keyword__value--secondary{color:#6b6b6b;font-style:italic}.swagger-ui .json-schema-2020-12-keyword__value--extension{color:#929292;font-style:italic}.swagger-ui .json-schema-2020-12-keyword__value--warning{border:1px dashed red;border-radius:4px;color:#3b4151;color:red;display:inline-block;font-family:monospace;font-style:normal;font-weight:600;line-height:1.5;margin-left:10px;padding:1px 4px}.swagger-ui .json-schema-2020-12-keyword__name--secondary+.json-schema-2020-12-keyword__value--secondary:before{content:"="}.swagger-ui .json-schema-2020-12__attribute{color:#3b4151;font-family:monospace;font-size:12px;padding-left:10px;text-transform:lowercase}.swagger-ui .json-schema-2020-12__attribute--primary{color:#55a}.swagger-ui .json-schema-2020-12__attribute--muted{color:gray}.swagger-ui .json-schema-2020-12__attribute--warning{color:red}.swagger-ui .json-schema-2020-12-json-viewer{margin:5px 0}.swagger-ui .json-schema-2020-12-json-viewer__children{border-left:1px dashed rgba(0,0,0,.1);margin:0 0 0 20px;padding:0}.swagger-ui .json-schema-2020-12-json-viewer__children--collapsed{display:none}.swagger-ui .json-schema-2020-12-json-viewer__name{font-size:12px;font-weight:700;margin-left:20px}.swagger-ui .json-schema-2020-12-json-viewer__name--primary{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-json-viewer__name--secondary{color:#6b6b6b;font-style:italic}.swagger-ui .json-schema-2020-12-json-viewer__name--extension{color:#929292;font-style:italic}.swagger-ui .json-schema-2020-12-json-viewer__value{color:#6b6b6b;font-size:12px;font-style:italic;font-weight:400}.swagger-ui .json-schema-2020-12-json-viewer__value--primary{color:#3b4151;font-style:normal}.swagger-ui .json-schema-2020-12-json-viewer__value--secondary{color:#6b6b6b;font-style:italic}.swagger-ui .json-schema-2020-12-json-viewer__value--extension{color:#929292;font-style:italic}.swagger-ui .json-schema-2020-12-json-viewer__value--warning{border:1px dashed red;border-radius:4px;color:#3b4151;color:red;display:inline-block;font-family:monospace;font-style:normal;font-weight:600;line-height:1.5;margin-left:10px;padding:1px 4px}.swagger-ui .json-schema-2020-12-json-viewer__name--secondary+.json-schema-2020-12-json-viewer__value--secondary:before{content:"="}.swagger-ui .json-schema-2020-12{background-color:rgba(0,0,0,.05);border-radius:4px;margin:0 20px 15px;padding:12px 0 12px 20px}.swagger-ui .json-schema-2020-12:first-of-type{margin:20px}.swagger-ui .json-schema-2020-12:last-of-type{margin:0 20px}.swagger-ui .json-schema-2020-12--embedded{background-color:inherit;padding-bottom:0;padding-left:inherit;padding-right:inherit;padding-top:0}.swagger-ui .json-schema-2020-12-body{border-left:1px dashed rgba(0,0,0,.1);margin:2px 0}.swagger-ui .json-schema-2020-12-body--collapsed{display:none}.swagger-ui .json-schema-2020-12-accordion{border:none;outline:none;padding-left:0}.swagger-ui .json-schema-2020-12-accordion__children{display:inline-block}.swagger-ui .json-schema-2020-12-accordion__icon{display:inline-block;height:18px;vertical-align:bottom;width:18px}.swagger-ui .json-schema-2020-12-accordion__icon--expanded{transform:rotate(-90deg);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .json-schema-2020-12-accordion__icon--collapsed{transform:rotate(0deg);transform-origin:50% 50%;transition:transform .15s ease-in}.swagger-ui .json-schema-2020-12-accordion__icon svg{height:20px;width:20px}.swagger-ui .json-schema-2020-12-expand-deep-button{border:none;color:#505050;color:#afaeae;font-family:sans-serif;font-size:12px;padding-right:0}.swagger-ui .model-box .json-schema-2020-12:not(.json-schema-2020-12--embedded)>.json-schema-2020-12-head .json-schema-2020-12__title:first-of-type{font-size:16px}.swagger-ui .model-box>.json-schema-2020-12{margin:0}.swagger-ui .model-box .json-schema-2020-12{background-color:transparent;padding:0}.swagger-ui .model-box .json-schema-2020-12-accordion,.swagger-ui .model-box .json-schema-2020-12-expand-deep-button{background-color:transparent}.swagger-ui .models .json-schema-2020-12:not(.json-schema-2020-12--embedded)>.json-schema-2020-12-head .json-schema-2020-12__title:first-of-type{font-size:16px}.swagger-ui .models .json-schema-2020-12:not(.json-schema-2020-12--embedded){overflow-x:auto;width:calc(100% - 40px)} - -/*# sourceMappingURL=swagger-ui.css.map*/ \ No newline at end of file diff --git a/terraform/.gitignore b/terraform/.gitignore deleted file mode 100644 index c7186fc2e9..0000000000 --- a/terraform/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/*.tf.json -/plan.bin -/plan.json diff --git a/terraform/.terraform.lock.hcl b/terraform/.terraform.lock.hcl deleted file mode 100644 index d3976d4fab..0000000000 --- a/terraform/.terraform.lock.hcl +++ /dev/null @@ -1,122 +0,0 @@ -# This file is maintained automatically by "terraform init". -# Manual edits may be lost in future updates. - -provider "registry.terraform.io/hashicorp/aws" { - version = "5.80.0" - constraints = "5.80.0" - hashes = [ - "h1:1O1XLPOrMg30ATXLC9itDvvyQUoIPIre7NiNscCOz28=", - "h1:N5Wfsf4xe5DJfSeo0G/ulkIxzyfmUIoSj/hAiZ2DaKU=", - "h1:hhgPPhwxbuD3TaJq4clfKjy31vK68UGvN87PctNMuiY=", - "h1:q2pqSs7uPWvxunrBYjyirXARlxFIoxn2Lju42uJbxk4=", - "zh:0b1655e39639d60f2de2860a5df8642f9556ba0ca04529c1b861fde4935cb0df", - "zh:13dc0155e0a11edceee29ce687fc04c5a5a85f3324c67556472713cfd52e5807", - "zh:180f6cb2be44be14cfe329e0649121b774319f083b6e4e8fb749f85090d73121", - "zh:3158d44b74c67465f7f19f22c42b643840c8d18ce833e2ec86e8d93085b06926", - "zh:6351b5bf7cde5dc83e926944891570636069e05ca43341f4d1feda67773469bf", - "zh:6fa9db1532096ba50e842d369b6688979306d2295c7ead49b8a266b0d60962cc", - "zh:85d2fe75def7619ff2cc29102048875039cad088fafb62ecc14c3763e7b1e9d9", - "zh:9028d653f1d7341c6dfe2afe961b6541581e9043a474eac2faf90e6426a24f6d", - "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", - "zh:9c4e248c442bc60f07f9f089e5361f19936833370dc3c04b27916672b765f0e1", - "zh:a710a3979596e3f3938c3ec6bb748e604724d3a4afa96ed2c14f0a245cc41a11", - "zh:c27936bdf447779d0c0833bf52a9ef618985f5ea8e3e243d6266513520ca31c4", - "zh:c7681134a123486e72eaedc3f8d2d75e267dbbfd45fa7de5aea8f757af57f89b", - "zh:ea717ebad3561fd02591f9eecf30f3df5635405556fba2bdbf29fd42691bebac", - "zh:f4e1e8f23c58c3e8f4371f9c3379a723ab4155246e6b6daad8eb99e16666b2cb", - ] -} - -provider "registry.terraform.io/hashicorp/external" { - version = "2.2.0" - constraints = "2.2.0" - hashes = [ - "h1:V1XoXkVwM+Bg73BNtbMxScjTcty2jbRZzgSdHrYxQ+4=", - "h1:iU5OVMibHvIxbj2Dye1q3aYpjYXS3bKL9iZWZyh+xTg=", - "h1:oKQyjNWJn1iY049gPmwy6rN+9k4VKd7YBUIhJ1I2yE8=", - "h1:xb07xydqZU4Tt0mwVvMAP8Cr0D8aENZ51AufUqelATA=", - "zh:094c3cfae140fbb70fb0e272b1df833b4d7467c6c819fbf59a3e8ac0922f95b6", - "zh:15c3906abbc1cd03a72afd02bda9caeeb5f6ca421292c32ddeb2acd7a3488669", - "zh:388c14bceeb1593bb16cadedc8f5ad7d41d398197db049dc0871bc847aa61083", - "zh:5696772136b6763faade0cc065fafc2bf06493021b943826be0144790fae514a", - "zh:6427c693b1b750644d5b633395e54617dc36ae717a531a5cde8cb0246b6593ca", - "zh:7196d9845eeffa3158f5e3067bf8b7ad489490aa26d29e2da1ad4c8924463469", - "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", - "zh:8850d3ce9e5f5776b9349890ce4e2c4056defe16ed741dc845045942a6d9e025", - "zh:a2c6fc6cf087b35ebd6b6f20272ed32d4217ea9936c1dd630baa46d86718a455", - "zh:ac709be4ea5c9a6e1ab80e864d24cd9f8e6aaea29fb5dbe1de0897e2e86c3c17", - "zh:dcf806f044801fae5b21ae2754dc3c19c68e458d4584965752ce49be75305ff5", - "zh:f875b34be86c3439899828978638ef7e2d41a9e5e32397858a0c31daeaa1abc2", - ] -} - -provider "registry.terraform.io/hashicorp/google" { - version = "4.58.0" - constraints = "4.58.0" - hashes = [ - "h1:7/5Nn8TVyIUtYLmg7Q4yegLtQbkmXapPTI6JjuGfJbc=", - "h1:KAky/Qsg2q+b+udRcSxfE6qcV1YTVOAzabfhGpe9IZ8=", - "h1:gm2VkLDG/ofmJ53962fQF+66gyyXn006hkXZ7CGcsSA=", - "h1:i82VNU/ZAKbAG0vuYXQO1CBhcYv+PsRYOnGU2uTQaiQ=", - "zh:0d5e5c1c18d6941db174d899b346f4529b636ec685c17870fdff87c431d3472d", - "zh:2011ae69f39da600cdb7dc461c76681336aa3e5b5dc1819e962943d0760dd84d", - "zh:250da6a2bafb081ff2ba4da2e76296393940fe64b3130ff7c94a56504c4241c0", - "zh:25fc0ce60c5a5a2518812a1bec9b5ea1450fe1fd5083ae244fcf402d7ea544cd", - "zh:32aa26026b836038a8abc2a6b33c975982df8bd84bdef4f54517e7dd7afdd10d", - "zh:3428ae88298e63bba4b7f4c689446f045db9b6f711fc8598f986905978f43f72", - "zh:5e73be40ed475f1b37453e1deb863fe1cbbad0c24d833745435ee69c891768f2", - "zh:642eb019ac7e1b76ef97a4f62d4b92aaa2da28b49cb3863d1a406b02ecfa6979", - "zh:8b626a135d653f49d205880156541aa74ecb93eea2dd55a23b82f211eb9890f9", - "zh:92efa1a0b8af4b866e7bed7e130de5496e5d5463ae41fd1af676ef427d9a7652", - "zh:cf8bca8f685fac7b5dabb646c1023360f949ad8205facfe7bf047ad5ba43152e", - "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", - ] -} - -provider "registry.terraform.io/hashicorp/null" { - version = "3.2.0" - constraints = "3.2.0" - hashes = [ - "h1:6yiJqQ6JAJW3oMxuZrWoUgHYpkscorX40Q/LzOMzY+w=", - "h1:ZbuTqXe8q7Z0IJ2wkF4nio7eZDQc02sezY0esJ5b1Bc=", - "h1:mOyH5zzIfGum26vacbWuAYgcIvJ+oMtjh+5Ao0ZHUgM=", - "h1:pfjuwssoCoBDRbutlVLAP8wiDrkQ3G4d3rs+f7uSh2A=", - "zh:1d88ea3af09dcf91ad0aaa0d3978ca8dcb49dc866c8615202b738d73395af6b5", - "zh:3844db77bfac2aca43aaa46f3f698c8e5320a47e838ee1318408663449547e7e", - "zh:538fadbd87c576a332b7524f352e6004f94c27afdd3b5d105820d328dc49c5e3", - "zh:56def6f00fc2bc9c3c265b841ce71e80b77e319de7b0f662425b8e5e7eb26846", - "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", - "zh:8fce56e5f1d13041d8047a1d0c93f930509704813a28f8d39c2b2082d7eebf9f", - "zh:989e909a5eca96b8bdd4a0e8609f1bd525949fd226ae870acedf2da0c55b0451", - "zh:99ddc34ad13e04e9c3477f5422fbec20fc13395ff940720c287bfa5c546d2fbc", - "zh:b546666da4b4b60c0eec23faab7f94dc900e48f66b5436fc1ac0b87c6709ef04", - "zh:d56643cb08cba6e074d70c4af37d5de2bd7c505f81d866d6d47c9e1d28ec65d1", - "zh:f39ac5ff9e9d00e6a670bce6825529eded4b0b4966abba36a387db5f0712d7ba", - "zh:fe102389facd09776502327352be99becc1ac09e80bc287db84a268172be641f", - ] -} - -provider "registry.terraform.io/opensearch-project/opensearch" { - version = "2.2.1" - constraints = "2.2.1" - hashes = [ - "h1:6+067AwobGU7h6cDr4VIuqgpPsQZ30GdaE8AHUQxfvY=", - "h1:Ax6LBIz60LItuP0WXKuHnZieApm1/cwiTofJScnP2u0=", - "h1:NAhxGrcRNabQzj9L27frh/iQBG2V1xj+xW5eJULW5uY=", - "h1:nOKLn0j4T/9Gu/0/Ry9vE5Wb/v9LKIA1zNUv6JTFHLc=", - "zh:08118e8dfbf2f1ddb10a8d844458fe138e530a30192423c21a0c8bb46980a21c", - "zh:0f5924c2cda05af4126c0257988237bb89c56404bfb03187fb04a9e43e14e30e", - "zh:2623b931d27c394557cbe09d27f3b7977b6e68121466248dc57cfc4cab0fb791", - "zh:427b372c94a5b113cd081cac76cdd9721553466a1438de8eb9f2c8493d0a8ce8", - "zh:72de2de0cd7fb741b1af18b4ede378b6ddd1c095f9a8efec38dec17c6b79b762", - "zh:773f00740e5c4df0c99614a36360b52221fc6cf8ed68530e3b6052d0c46b4ae3", - "zh:7e40994b68ce540fc8110fe9294902dc3289b53d1804da5d119a1ee2cffb1dea", - "zh:b1b82720530f760ebc2ba66b057779d63011d00d3ba850823fdd3d0d3f0f89ab", - "zh:b56de74db81d2ab4960c0f7e4a6875c3076c4b77f6f099a599d0ff4d824949ae", - "zh:bfad44ef9dc818bbedec47dab45d54b3474323e2353860cf966081bc344e3063", - "zh:d1b11f23cc9f120f2c552b6c2d03fe5a57bdc5a4205ddf1e0b05c05e22e3086a", - "zh:e36d5178201076195fe71a0a87b4b245dcd999a86717c59d5affa5aa6b902cb4", - "zh:eaf98a111d5fd8af60ac49d3641cdacb2e7f0f7b48a49486402a3f20c5539e28", - "zh:eb1ddb6c8deee47860598bac1714abe44073d04f9c54cf26ea2e3eb7b7054983", - ] -} diff --git a/terraform/Makefile b/terraform/Makefile deleted file mode 100644 index b2704cd3ac..0000000000 --- a/terraform/Makefile +++ /dev/null @@ -1,80 +0,0 @@ -.PHONY: all -all: apply - -include ../common.mk - -.PHONY: clean -clean: check_env check_branch git_clean - -.PHONY: state -state: check_terraform check_aws - -.PHONY: initable -initable: clean state providers.tf.json backend.tf.json - -.PHONY: init -init: initable - terraform init -reconfigure -lockfile=readonly - -.PHONY: check_schema -check_schema: init - python $(project_root)/scripts/terraform_schema.py check \ - || (echo "Schema is stale. Run 'make update_schema' and commit." ; false) - -.PHONY: update_schema -update_schema: init - python $(project_root)/scripts/terraform_schema.py update - -.PHONY: config -config: check_schema $(patsubst %.template.py,%,$(wildcard *.tf.json.template.py)) - -.PHONY: validate -validate: config - terraform validate - -.PHONY: rename_resources -rename_resources: validate - python $(project_root)/scripts/rename_resources.py - -.PHONY: import_resources -import_resources: rename_resources - -.PHONY: plan -plan: import_resources - terraform plan - -.PHONY: apply -apply: import_resources -ifeq ($(AZUL_PRIVATE_API),1) - # For private API we need the VPC endpoints to be created first so that the - # aws_lb_target_group_attachment can iterate over the network_interface_ids. - terraform apply -target aws_vpc_endpoint.indexer -target aws_vpc_endpoint.service -endif - terraform apply - -.PHONY: auto_apply -auto_apply: import_resources -ifeq ($(AZUL_PRIVATE_API),1) - # See `apply` above - terraform apply -auto-approve -target aws_vpc_endpoint.indexer -target aws_vpc_endpoint.service -endif - terraform plan -no-color -out=plan.bin - terraform show -json plan.bin > plan.json - terraform apply -auto-approve plan.bin - -.PHONY: destroy -destroy: import_resources - terraform destroy - -.PHONY: auto_destroy -auto_destroy: import_resources - @echo '!!! All resources will be deleted in 10s, hit Ctrl-C to cancel !!!'; sleep 10 - terraform destroy -auto-approve - -.PHONY: provider_update -provider_update: initable - terraform init -upgrade - terraform providers lock -platform=linux_amd64 \ - -platform=linux_arm64 \ - -platform=darwin_amd64 \ - -platform=darwin_arm64 diff --git a/terraform/_schema.json.gz b/terraform/_schema.json.gz deleted file mode 100644 index e4320699bc50fedf6e963545e97bc6563d7e1ac5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 858831 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

    $Nq@bfG9AyRp* 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 z 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

    Mw6YIf<07YoCa~Y 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

    y*YI*VX!rvKcph)DFTa%Uw5&!-Uz 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 sF8h3G5 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%0AwnBN~%pRZd7>{ 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 diff --git a/terraform/api_gateway.tf.json.template.py b/terraform/api_gateway.tf.json.template.py deleted file mode 100644 index c994337076..0000000000 --- a/terraform/api_gateway.tf.json.template.py +++ /dev/null @@ -1,1129 +0,0 @@ -from dataclasses import ( - dataclass, -) -import importlib -import json - -from more_itertools import ( - one, -) - -from azul import ( - R, - cached_property, - config, - iif, -) -from azul.chalice import ( - AzulChaliceApp, -) -from azul.deployment import ( - aws, - public_ip, -) -from azul.modules import ( - load_app_module, -) -from azul.objects import ( - InternMeta, -) -from azul.terraform import ( - chalice, - emit_tf, - vpc, -) -from azul.types import ( - JSON, - JSONs, -) - - -@dataclass(frozen=True) -class Application: - """ - An application is set of AWS Lambda functions that cooperate to serve a - particular purpose. One of the functions is fronted by AWS API Gateway so - as to expose the application via HTTP. - """ - name: str # the name of the application, e.g. 'service' - domains: list[str] # a list of public domain names that the application is exposed at - policy: str # the AWS IAM policy defining the permissions of the application - - @classmethod - def for_name(cls, name): - policy_module = importlib.import_module(f'azul.{name}.lambda_iam_policy') - return cls(name=name, - domains=[ - config.api_lambda_domain(name), - *config.api_lambda_domain_aliases(name) - ], - policy=json.dumps(getattr(policy_module, 'policy'))) - - @cached_property - def chalice(self) -> AzulChaliceApp: - return load_app_module(self.name).app - - -apps = [ - Application.for_name('indexer'), - Application.for_name('service') -] - - -@dataclass(frozen=True) -class Zone(metaclass=InternMeta): - """ - Represents a Route 53 hosted zone - """ - slug: str # the string to use to name the Terraform data source for the zone - name: str # the name of the zone - - @classmethod - def for_domain(cls, domain): - if domain.endswith(config.domain_name): - # Any subdomain of the main domain for the current deployment is expected to be defined in a single zone - # For some lesser deployments (like the `sandbox` or personal deployments), the subdomain may have a dot - # in it and the main domain may be shared with other deployments (like the `dev` deployment). - name = config.domain_name - else: - # Other subdomain are expected to be defined in the zone for their immediate parent domain. - name = '.'.join(domain.split('.')[1:]) - assert name - return cls(slug=name.replace('.', '_').replace('-', '_'), - name=name) - - -def check_waf_rules(rules: JSONs) -> JSONs: - """ - Verify that all the WAF rule actions we use are from a known set of actions. - If an unexpected action is identified here, it is likely that the logging - filters in the WAF logging configuration will also need to be updated to - handle the identified action. - """ - for rule in rules: - if 'action' in rule: - assert one(rule['action'].keys()) in ['block', 'allow'], R( - 'WAF rule has an unexpected action', rule) - elif 'override_action' in rule: - assert one(rule['override_action'].keys()) == 'none', R( - 'WAF rule has an unexpected override action', rule) - else: - assert False, rule - return rules - - -zones_by_domain = { - domain: Zone.for_domain(domain) - for app in apps - for domain in app.domains -} - -api_gateway_log_format = { - 'accountId': '$context.accountId', - 'apiId': '$context.apiId', - 'domainName': '$context.domainName', - 'domainPrefix': '$context.domainPrefix', - 'error_message': '$context.error.message', - 'error_responseType': '$context.error.responseType', - 'extendedRequestId': '$context.extendedRequestId', - 'httpMethod': '$context.httpMethod', - 'identity_sourceIp': '$context.identity.sourceIp', - 'identity_userAgent': '$context.identity.userAgent', - 'integration_error': '$context.integration.error', - 'integration_integrationStatus': '$context.integration.integrationStatus', - 'integration_latency': '$context.integration.latency', - 'integration_requestId': '$context.integration.requestId', - 'integration_status': '$context.integration.status', - 'integrationStatus': '$context.integrationStatus', - 'path': '$context.path', - 'protocol': '$context.protocol', - 'requestId': '$context.requestId', - 'requestTime': '$context.requestTime', - 'requestTimeEpoch': '$context.requestTimeEpoch', - 'responseLatency': '$context.responseLatency', - 'responseLength': '$context.responseLength', - 'stage': '$context.stage', - 'status': '$context.status' -} - - -def waf_match_method(http_method: str) -> JSON: - return { - 'byte_match_statement': { - 'field_to_match': { - 'method': {} - }, - 'positional_constraint': 'EXACTLY', - 'search_string': http_method, - 'text_transformation': { - 'priority': 0, - 'type': 'NONE' - } - } - } - - -def waf_match_path(path_regex: str) -> JSON: - return { - 'regex_match_statement': { - 'regex_string': path_regex, - 'field_to_match': { - 'uri_path': {} - }, - 'text_transformation': { - 'priority': 0, - 'type': 'NONE' - } - } - } - - -def add_waf_blocked_alarm(resources: JSON) -> JSON: - """ - Add a metric alarm that trips if the ratio between blocked and overall - requests goes above 25%. Note that requests blocked by rules listed in - :py:attr:`Config.waf_rules_not_logged` are not considered. - """ - if not config.enable_monitoring: - return resources - else: - rules = [ - rule['name'] - for rule in resources['aws_wafv2_web_acl']['api_gateway']['rule'] - if ( - ( - 'block' in rule.get('action', {}) - # In the case of AWS-managed rules, each rule's action is - # pre-configured, and 'override_action' must be specified. - # Note, not all possible managed rules use a block action, - # however all the managed rules we use do. - or 'none' in rule.get('override_action', {}) - ) - and rule['name'] not in config.waf_rules_not_logged - ) - ] - metrics = [ - ('AllowedRequests', 'ALL'), - *[('BlockedRequests', rule) for rule in rules] - ] - m_sum = '+'.join(f'm{i}' for i in range(1, len(metrics))) - expression = f'({m_sum})/(m0+{m_sum})*100' - - assert 'aws_cloudwatch_metric_alarm' not in resources - return resources | { - 'aws_cloudwatch_metric_alarm': { - 'waf_blocked': { - 'alarm_name': config.qualified_resource_name('waf_blocked'), - 'comparison_operator': 'GreaterThanThreshold', - 'threshold': 25, # percent blocked of total requests in a period - 'evaluation_periods': 4, - 'datapoints_to_alarm': 4, - 'treat_missing_data': 'notBreaching', - 'alarm_actions': ['${data.aws_sns_topic.monitoring.arn}'], - 'ok_actions': ['${data.aws_sns_topic.monitoring.arn}'], - 'metric_query': [ - { - 'id': 'waf', - 'label': 'Percentage of blocked requests', - 'expression': expression, - 'return_data': 'true', - }, - *( - { - 'id': f'm{i}', - 'metric': { - 'namespace': 'AWS/WAFV2', - 'metric_name': metric, - 'period': 15 * 60, - 'stat': 'Sum', - 'dimensions': { - 'WebACL': '${aws_wafv2_web_acl.api_gateway.name}', - 'Region': config.region, - 'Rule': rule - } - } - } - for i, (metric, rule) in enumerate(metrics) - ) - ] - } - } - } - - -emit_tf({ - 'data': [ - { - 'aws_route53_zone': { - zone.slug: { - 'name': zone.name, - 'private_zone': False - } - for zone in set(zones_by_domain.values()) - }, - 'aws_vpc': { - 'gitlab': { - 'filter': { - 'name': 'tag:Name', - 'values': ['azul-gitlab'] - } - } - }, - 'aws_subnet': { - f'gitlab_{vpc.subnet_name(public)}_{zone}': { - 'filter': { - 'name': 'tag:Name', - 'values': [f'azul-gitlab_{vpc.subnet_name(public)}_{zone}'] - } - } - for public in (False, True) - for zone in range(vpc.num_zones) - }, - 'aws_wafv2_ip_set': { - name: { - 'name': config.qualified_resource_name(resource_name=name, - stage=config.main_deployment_stage), - 'scope': 'REGIONAL' - } - for name in [ - config.blocked_v4_ips_term, - config.allowed_v4_ips_term - ] - }, - 'aws_wafv2_regex_pattern_set': { - name: { - 'name': config.qualified_resource_name(resource_name=name, - stage=config.main_deployment_stage), - 'scope': 'REGIONAL', - } - for name in [ - config.blocked_user_agents_regex_term, - config.blocked_user_agents_custom_regex_term - ] - } - }, - *( - { - **chalice.tf_config(app.name)['data'], - **( - { - # To allow the network interface IDs to be iterated here, the - # `apply` target in `$project_root/terraform/Makefile` creates - # the VPC endpoints first before all other resources. - 'aws_network_interface': { - app.name: { - 'for_each': '${aws_vpc_endpoint.%s.network_interface_ids}' % app.name, - 'id': '${each.key}' - } - } - } - if config.private_api else - {} - ) - } - for app in apps - ) - ], - 'locals': [ - chalice.tf_config(app.name)['locals'] - for app in apps - ], - 'resource': [ - add_waf_blocked_alarm({ - 'aws_wafv2_ip_set': { - # The IPs in this set are exempt from the rate limit on service - # API requests so as to prevent integration tests from tripping - # them. In the set, we include the IP of the GitLab instance and - # that of the machine deploying the set because those are the - # machines most likely to run integration tests. - # - 'it_v4_ips': { - 'name': config.qualified_resource_name('it_v4_ips'), - 'scope': 'REGIONAL', - 'ip_address_version': 'IPV4', - 'addresses': [ - f'{public_ip()}/32', - *[ - # Data source defined in data_sources.tf.json - f'${{data.aws_nat_gateway.gitlab_{zone}.public_ip}}/32' - for zone in range(vpc.num_zones) - ] - ] - } - }, - 'aws_wafv2_web_acl': { - 'api_gateway': { - 'name': config.qualified_resource_name('api_gateway'), - 'default_action': { - 'allow': {} - }, - 'rule': check_waf_rules([ - {**rule, 'priority': i} - for i, rule in enumerate([ - *[ - { - 'name': name, - 'statement': { - 'ip_set_reference_statement': { - 'arn': '${data.aws_wafv2_ip_set.%s.arn}' % name - } - }, - 'action': { - action: {} - }, - # We label these requests to give us the - # option to exclude them from being logged - # in the WAF log group. See - # aws_wafv2_web_acl_logging_configuration - 'rule_label': { - 'name': name - }, - 'visibility_config': { - 'metric_name': name, - 'sampled_requests_enabled': True, - 'cloudwatch_metrics_enabled': True - } - } - for name, action in [ - (config.blocked_v4_ips_term, 'block'), - (config.allowed_v4_ips_term, 'allow') - ] - ], - { - 'name': config.blocked_user_agents_regex_term, - 'statement': { - 'or_statement': { - 'statement': [ - { - 'regex_pattern_set_reference_statement': { - 'arn': '${data.aws_wafv2_regex_pattern_set.%s.arn}' % regex_set, - 'field_to_match': { - 'single_header': { - 'name': 'user-agent' - } - }, - 'text_transformation': { - 'priority': 0, - 'type': 'NONE' - } - } - } - for regex_set in [ - config.blocked_user_agents_regex_term, - config.blocked_user_agents_custom_regex_term - ] - ] - } - }, - 'action': { - 'block': {} - }, - # We label these requests to give us the option - # to exclude them from being logged in the WAF - # log group. See - # aws_wafv2_web_acl_logging_configuration - 'rule_label': { - 'name': config.blocked_user_agents_regex_term - }, - 'visibility_config': { - 'metric_name': config.blocked_user_agents_regex_term, - 'sampled_requests_enabled': True, - 'cloudwatch_metrics_enabled': True - } - }, - { - 'name': 'aws_common_rule_set', - 'statement': { - 'managed_rule_group_statement': { - 'name': 'AWSManagedRulesCommonRuleSet', - 'vendor_name': 'AWS', - 'rule_action_override': [ - { - # This rule would limit the query - # string to 2048 bytes, which would - # block valid requests made during - # the integration tests. We disarm - # it by setting the action to - # `count`. API Gateway protects us - # from over-sized query strings by - # limiting the total combined size - # of the request line and header - # values to 10240 bytes. - 'name': 'SizeRestrictions_QUERYSTRING', - 'action_to_use': { - 'count': {} - } - }, - # FIXME: https://github.com/DataBiosphere/azul-private/issues/128 - { - # This rule aims to limit bodies to - # 8192 bytes. We need to be able to - # handle larger bodies with hoisted - # parameters, so we demote the rule - # action to be counting instead of - # blocking. - 'name': 'SizeRestrictions_BODY', - 'action_to_use': { - 'count': {} - } - } - ] - } - }, - 'override_action': { - 'none': {} - }, - 'visibility_config': { - 'metric_name': 'aws_common_rule_set', - 'sampled_requests_enabled': True, - 'cloudwatch_metrics_enabled': True - } - }, - { - 'name': 'aws_amazon_ip_reputation_list', - 'statement': { - 'managed_rule_group_statement': { - 'name': 'AWSManagedRulesAmazonIpReputationList', - 'vendor_name': 'AWS' - } - }, - 'override_action': { - 'none': {} - }, - 'visibility_config': { - 'metric_name': 'aws_amazon_ip_reputation_list', - 'sampled_requests_enabled': True, - 'cloudwatch_metrics_enabled': True - } - }, - { - 'name': 'aws_unix_rule_set', - 'statement': { - 'managed_rule_group_statement': { - 'name': 'AWSManagedRulesUnixRuleSet', - 'vendor_name': 'AWS' - } - }, - 'override_action': { - 'none': {} - }, - 'visibility_config': { - 'metric_name': 'aws_unix_rule_set', - 'sampled_requests_enabled': True, - 'cloudwatch_metrics_enabled': True - } - }, - *iif(config.waf_bot_control, [ - { - 'name': 'aws_managed_rules_bot_control_rule_set', - 'statement': { - 'managed_rule_group_statement': { - 'name': 'AWSManagedRulesBotControlRuleSet', - 'vendor_name': 'AWS', - 'version': 'Version_3.1', - 'scope_down_statement': { - 'not_statement': { - # Keep consistent with the rules in the response of the - # /robots.txt route in src/azul/chalice.py - 'statement': waf_match_path(r'^/($|swagger/|robots.txt$)') - } - }, - 'managed_rule_group_configs': [ - { - 'aws_managed_rules_bot_control_rule_set': { - 'inspection_level': 'COMMON' - } - } - ], - 'rule_action_override': [ - { - 'name': name, - 'action_to_use': { - "count": {} - } - } for name in [ - 'CategoryHttpLibrary', - 'SignalNonBrowserUserAgent', - 'SignalAutomatedBrowser', - 'CategoryMiscellaneous', - ] - ] - } - }, - 'override_action': { - 'none': {} - }, - 'visibility_config': { - 'metric_name': 'aws_managed_rules_bot_control_rule_set', - 'sampled_requests_enabled': True, - 'cloudwatch_metrics_enabled': True - } - }, - { - # It's undocumented what bots are considered - # "verified". While the above managed rule - # only labels requests from "verified" bots, - # this rule completely blocks those labeled - # requests. The managed rule is scoped down - # to URLs dissallowed in robots.txt, so this - # rule shouldn't affect well-behaved bot. - 'name': 'block_verified_bots_rule', - 'statement': { - 'label_match_statement': { - 'scope': 'LABEL', - 'key': 'awswaf:managed:aws:bot-control:bot:verified' - } - }, - 'action': { - 'block': {} - }, - "visibility_config": { - 'metric_name': 'block_verified_bots_rule', - 'sampled_requests_enabled': True, - 'cloudwatch_metrics_enabled': True - } - } - ]), - *[ - { - 'name': rate_limit.name, - 'statement': { - 'rate_based_statement': { - 'limit': rate_limit.value, - 'evaluation_window_sec': rate_limit.period, - 'aggregate_key_type': 'IP' - } - }, - 'action': { - 'block': { - 'custom_response': { - 'response_code': 429, - 'response_header': [ - { - 'name': 'Retry-After', - 'value': str(rate_limit.retry_after) - } - ] - } - } - }, - 'visibility_config': { - 'metric_name': rate_limit.name, - 'sampled_requests_enabled': True, - 'cloudwatch_metrics_enabled': True - } - } - # We use two rate rules, one with a lower - # threshold that will block requests, and one - # with a higher threshold that will block - # requests and trigger an alarm. Note, the rules - # need to be defined in order of descending - # threshold size since once a rate rule is - # tripped, it will prevent evaluation of any - # following rules. - for rate_limit in [ - config.waf_rate_limit_alarm, - config.waf_rate_limit, - ] - ], - { - # See it_v4_ips above - 'name': 'allow_it_requests', - 'statement': { - 'and_statement': [ - { - 'statement': [ - { - 'ip_set_reference_statement': { - 'arn': '${aws_wafv2_ip_set.%s.arn}' % 'it_v4_ips' - } - }, - waf_match_method('PUT'), - waf_match_path('^(/fetch)?/manifest/files') - ] - } - ] - }, - 'action': { - 'allow': {} - }, - 'visibility_config': { - 'metric_name': 'allow_it_requests', - 'sampled_requests_enabled': True, - 'cloudwatch_metrics_enabled': True - } - }, - *[ - { - 'name': limit.name, - 'statement': { - 'rate_based_statement': { - 'limit': limit.value, - 'evaluation_window_sec': limit.period, - 'aggregate_key_type': 'IP', - 'scope_down_statement': { - 'and_statement': [ - { - 'statement': [ - waf_match_method(method), - waf_match_path(path) - ] - } - ] - } - } - }, - 'action': { - 'block': { - 'custom_response': { - 'response_code': 429, - 'response_header': [ - { - 'name': 'Retry-After', - 'value': str(limit.retry_after) - } - ] - } - } - }, - 'visibility_config': { - 'metric_name': limit.name, - 'sampled_requests_enabled': True, - 'cloudwatch_metrics_enabled': True - } - } - for method, path, limit in [ - ('GET', '^(/fetch)?/repository/files', config.waf_rate_limit_files), - ('PUT', '^(/fetch)?/manifest/files', config.waf_rate_limit_manifests) - ] - ] - ]) - ]), - 'scope': 'REGIONAL', - 'visibility_config': { - 'cloudwatch_metrics_enabled': True, - 'metric_name': 'WebACL', - 'sampled_requests_enabled': True, - } - } - }, - 'aws_cloudwatch_log_group': { - 'waf_api_gateway': { - # WAF logging requires this specific log group name prefix - # https://docs.aws.amazon.com/waf/latest/developerguide/logging-cw-logs.html#logging-cw-logs-naming - 'name': 'aws-waf-logs-' + config.qualified_resource_name('api_gateway'), - 'retention_in_days': config.audit_log_retention_days - } - }, - 'aws_wafv2_web_acl_logging_configuration': { - 'waf_api_gateway': { - 'log_destination_configs': [ - '${aws_cloudwatch_log_group.waf_api_gateway.arn}' - ], - 'resource_arn': '${aws_wafv2_web_acl.api_gateway.arn}', - 'logging_filter': { - # We use the default behavior of 'KEEP' and selectively - # 'DROP' logs that we don't need. This implementation - # gives us filters that only 'DROP', working around - # https://www.github.com/hashicorp/terraform-provider-aws/issues/32665 - # which causes TF to deploy the filters in random order, - # potentially breaking the desired effect when some - # filters 'DROP' and others 'KEEP'. - # - 'default_behavior': 'KEEP', - 'filter': [ - { - 'behavior': 'DROP', - 'requirement': 'MEETS_ALL', - 'condition': condition - } - for condition in [ - { - 'action_condition': { - 'action': 'ALLOW' - } - }, - *[ - { - 'label_name_condition': { - 'label_name': 'awswaf:%s:webacl:' - '${aws_wafv2_web_acl.api_gateway.name}:%s' % ( - config.aws_account_id, - term - ) - } - } for term in config.waf_rules_not_logged - ] - ] - ] - } - } - }, - 'aws_lambda_function_event_invoke_config': { - retry.tf_function_resource_name: { - 'function_name': '${aws_lambda_function.%s.function_name}' - % retry.tf_function_resource_name, - 'maximum_retry_attempts': retry.num_retries - } - for app in apps - for retry in app.chalice.retries - } - }), - *( - chalice.tf_config(app.name)['resource'] - for app in apps - ), - *( - { - 'aws_api_gateway_stage': { - app.name: { - 'rest_api_id': '${aws_api_gateway_rest_api.%s.id}' % app.name, - 'deployment_id': '${aws_api_gateway_deployment.%s.id}' % app.name, - 'stage_name': config.deployment_stage, - 'access_log_settings': { - 'destination_arn': '${aws_cloudwatch_log_group.%s.arn}' % app.name, - 'format': json.dumps(api_gateway_log_format) - }, - 'lifecycle': { - 'replace_triggered_by': [ - 'aws_api_gateway_deployment.%s.id' % app.name - ] - } - } - }, - 'aws_api_gateway_base_path_mapping': { - f'{app.name}_{i}': { - 'api_id': '${aws_api_gateway_rest_api.%s.id}' % app.name, - 'stage_name': '${aws_api_gateway_stage.%s.stage_name}' % app.name, - 'domain_name': '${aws_api_gateway_domain_name.%s_%i.domain_name}' % (app.name, i), - 'lifecycle': { - 'replace_triggered_by': [ - 'aws_api_gateway_stage.%s.id' % app.name - ] - } - } - for i, domain in enumerate(app.domains) - }, - 'aws_api_gateway_domain_name': { - f'{app.name}_{i}': { - 'domain_name': '${aws_acm_certificate.%s_%i.domain_name}' % (app.name, i), - 'certificate_arn': '${aws_acm_certificate_validation.%s_%i.certificate_arn}' % (app.name, i), - 'security_policy': 'TLS_1_2' - } for i, domain in enumerate(app.domains) - }, - 'aws_api_gateway_method_settings': { - f'{app.name}_{i}': { - 'rest_api_id': '${aws_api_gateway_rest_api.%s.id}' % app.name, - 'stage_name': '${aws_api_gateway_stage.%s.stage_name}' % app.name, - 'method_path': '*/*', # every URL path, every HTTP method - 'settings': { - 'metrics_enabled': True, - 'data_trace_enabled': config.debug == 2, - 'logging_level': 'ERROR' if config.debug == 0 else 'INFO' - }, - 'lifecycle': { - 'replace_triggered_by': [ - 'aws_api_gateway_stage.%s.id' % app.name - ] - } - } for i, domain in enumerate(app.domains) - }, - 'aws_acm_certificate': { - f'{app.name}_{i}': { - 'domain_name': domain, - 'validation_method': 'DNS', - 'provider': 'aws.us-east-1', - # I tried using SANs for the alias domains (like the DRS - # domain) but Terraform kept swapping the zones, I think - # because the order of elements in - # `aws_acm_certificate.domain_validation_options` is not - # deterministic. The alternative is to use separate certs, - # one for each domain, the main one as well as for each - # alias. - # - # Update 03/07/2022: My guess about the non-determinism was - # correct. That bug was 'fixed' in Terraform by making the - # domain_validation_options a set so that elements can't be - # accessed via numeric index. The Terraform documentation - # recommends looping over the elements in that set. That's - # what we do for GitLab. To do the same here would require - # bigger refactoring that I don't think is worth it. The - # current solution works, too. - 'subject_alternative_names': [], - 'lifecycle': { - 'create_before_destroy': True - } - } for i, domain in enumerate(app.domains) - }, - 'aws_acm_certificate_validation': { - f'{app.name}_{i}': { - 'certificate_arn': '${aws_acm_certificate.%s_%i.arn}' % (app.name, i), - 'validation_record_fqdns': [ - '${aws_route53_record.%s_domain_validation_%i.fqdn}' % (app.name, i)], - 'provider': 'aws.us-east-1' - } for i, domain in enumerate(app.domains) - }, - 'aws_route53_record': { - **{ - f'{app.name}_domain_validation_{i}': { - **{ - # We know there is only one. See comment above. - key: '${tolist(aws_acm_certificate.%s_%i.domain_validation_options)' - '.0.resource_record_%s}' - % (app.name, i, key) - for key in ('name', 'type') - }, - 'zone_id': '${data.aws_route53_zone.%s.id}' % zones_by_domain[domain].slug, - 'records': [ - # We know there is only one. See comment above. - '${tolist(aws_acm_certificate.%s_%i.domain_validation_options)' - '.0.resource_record_value}' - % (app.name, i) - ], - 'ttl': 60 - } for i, domain in enumerate(app.domains) - }, - **{ - f'{app.name}_{i}': { - 'zone_id': '${data.aws_route53_zone.%s.id}' % zones_by_domain[domain].slug, - 'name': '${aws_api_gateway_domain_name.%s_%i.domain_name}' % (app.name, i), - 'type': 'A', - **({ - 'alias': { - 'name': '${aws_lb.%s.dns_name}' % app.name, - 'zone_id': '${aws_lb.%s.zone_id}' % app.name, - 'evaluate_target_health': False - } - } - if config.private_api else - { - 'alias': { - 'name': '${aws_api_gateway_domain_name.%s_%i.cloudfront_domain_name}' % ( - app.name, i), - 'zone_id': '${aws_api_gateway_domain_name.%s_%i.cloudfront_zone_id}' % ( - app.name, i), - 'evaluate_target_health': True, - } - }) - } for i, domain in enumerate(app.domains) - } - }, - 'aws_cloudwatch_log_group': { - app.name: { - 'name': '/aws/apigateway/' + config.qualified_resource_name(app.name), - 'retention_in_days': config.audit_log_retention_days, - }, - f'{app.name}_api_execution': { - 'name': 'API-Gateway-Execution-Logs_' + - '${aws_api_gateway_rest_api.%s.id}' % app.name + - '/%s' % config.deployment_stage, - 'retention_in_days': config.audit_log_retention_days, - } - }, - 'aws_iam_role': { - app.name: { - 'name': config.qualified_resource_name(app.name), - 'assume_role_policy': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Action': 'sts:AssumeRole', - 'Principal': { - 'Service': 'lambda.amazonaws.com' - } - }, - *( - { - 'Effect': 'Allow', - 'Action': 'sts:AssumeRole', - 'Principal': { - 'AWS': f'arn:aws:iam::{account}:root' - }, - # Wildcards are not supported in `Principal`, but they are in `Condition` - 'Condition': { - 'StringLike': { - 'aws:PrincipalArn': [f'arn:aws:iam::{account}:role/{role}' - for role in roles] - } - } - } - for account, roles in config.external_lambda_role_assumptors.items() - ) - ] - }), - **aws.permissions_boundary_tf - } - }, - 'aws_iam_role_policy': { - app.name: { - 'name': app.name, - 'policy': app.policy, - 'role': '${aws_iam_role.%s.id}' % app.name - }, - }, - 'aws_wafv2_web_acl_association': { - app.name: { - 'resource_arn': '${aws_api_gateway_stage.%s.arn}' % app.name, - 'web_acl_arn': '${aws_wafv2_web_acl.api_gateway.arn}', - 'lifecycle': { - 'replace_triggered_by': [ - 'aws_api_gateway_stage.%s.id' % app.name - ] - } - } - }, - 'aws_security_group': { - app.name: { - 'name': config.qualified_resource_name(app.name), - 'vpc_id': '${data.aws_vpc.gitlab.id}', - 'ingress': [ - vpc.security_rule(description='Any traffic from the VPC', - cidr_blocks=['${data.aws_vpc.gitlab.cidr_block}'], - protocol=-1, - from_port=0, - to_port=0) - ], - 'egress': [ - vpc.security_rule(description='Any traffic', - cidr_blocks=['0.0.0.0/0'], - protocol=-1, - from_port=0, - to_port=0) - ], - }, - **( - { - f'{app.name}_alb': { - 'name': config.qualified_resource_name(app.name, suffix='_alb'), - 'vpc_id': '${data.aws_vpc.gitlab.id}', - 'ingress': [ - vpc.security_rule(description='Any traffic from the VPC', - cidr_blocks=['${data.aws_vpc.gitlab.cidr_block}'], - protocol=-1, - from_port=0, - to_port=0) - ], - 'egress': [ - vpc.security_rule(description='Any traffic to the VPC', - cidr_blocks=['${data.aws_vpc.gitlab.cidr_block}'], - protocol=-1, - from_port=0, - to_port=0) - ], - }, - f'{app.name}_vpce': { - 'name': config.qualified_resource_name(app.name, suffix='_vpce'), - 'vpc_id': '${data.aws_vpc.gitlab.id}', - 'ingress': [ - vpc.security_rule(description='Any traffic from the VPC', - cidr_blocks=['${data.aws_vpc.gitlab.cidr_block}'], - protocol=-1, - from_port=0, - to_port=0) - ], - 'egress': [ - vpc.security_rule(description='Any traffic to the VPC', - cidr_blocks=['${data.aws_vpc.gitlab.cidr_block}'], - protocol=-1, - from_port=0, - to_port=0) - ], - } - } if config.private_api else { - } - ) - }, - **( - { - 'aws_lb': { - app.name: { - 'name': config.qualified_resource_name(app.name), - 'load_balancer_type': 'application', - 'internal': 'true', - 'subnets': [ - '${data.aws_subnet.gitlab_%s_%s.id}' % ( - vpc.subnet_name(public=True), zone) - for zone in range(vpc.num_zones) - ], - 'security_groups': [ - '${aws_security_group.%s_alb.id}' % app.name - ], - 'access_logs': [ - { - 'bucket': '${data.aws_s3_bucket.logs.id}', - 'prefix': config.alb_access_log_path_prefix(app.name), - 'enabled': True - } - ] - } - }, - 'aws_lb_listener': { - app.name: { - 'port': 443, - 'protocol': 'HTTPS', - 'ssl_policy': 'ELBSecurityPolicy-FS-1-2-Res-2019-08', - 'certificate_arn': '${aws_acm_certificate.%s_0.arn}' % app.name, - 'default_action': [ - { - 'target_group_arn': '${aws_lb_target_group.%s.id}' % app.name, - 'type': 'forward' - } - ], - 'load_balancer_arn': '${aws_lb.%s.id}' % app.name - } - }, - 'aws_lb_target_group': { - app.name: { - 'name': config.qualified_resource_name(app.name), - 'port': 443, - 'protocol': 'HTTPS', - 'target_type': 'ip', - 'vpc_id': '${data.aws_vpc.gitlab.id}', - 'health_check': { - 'protocol': 'HTTPS', - 'path': f'/{config.deployment_stage}/version', - 'port': 'traffic-port', - 'healthy_threshold': 5, - 'unhealthy_threshold': 2, - 'timeout': 5, - 'interval': 30, - 'matcher': '200,403' - } - } - }, - 'aws_lb_target_group_attachment': { - app.name: { - 'for_each': '${{for i in data.aws_network_interface.%s : i.id => i.private_ip}}' % ( - app.name), - 'target_group_arn': '${aws_lb_target_group.%s.arn}' % app.name, - 'target_id': '${each.value}' - } - }, - 'aws_vpc_endpoint': { - app.name: { - 'vpc_id': '${data.aws_vpc.gitlab.id}', - 'service_name': f'com.amazonaws.{config.region}.execute-api', - 'vpc_endpoint_type': 'Interface', - 'security_group_ids': [ - '${aws_security_group.%s_vpce.id}' % app.name - ], - 'subnet_ids': [ - f'${{data.aws_subnet.gitlab_{vpc.subnet_name(public=False)}_{zone}.id}}' - for zone in range(vpc.num_zones) - ] - } - }, - 'aws_vpc_endpoint_policy': { - app.name: { - 'vpc_endpoint_id': '${aws_vpc_endpoint.%s.id}' % app.name, - } - } - } - if config.private_api else { - } - ) - } for app in apps - ) - ] -}) diff --git a/terraform/authentication.tf.json.template.py b/terraform/authentication.tf.json.template.py deleted file mode 100644 index cf291378b5..0000000000 --- a/terraform/authentication.tf.json.template.py +++ /dev/null @@ -1,122 +0,0 @@ -import shlex - -from azul import ( - config, -) -from azul.terraform import ( - emit_tf, -) - -emit_tf({ - "resource": [ - { - "google_service_account": { - 'azul' + service_account.value: { - "project": "${local.google_project}", - "account_id": service_account.id(config), - "display_name": service_account.id(config), - "description": f"Azul service account in {config.deployment_stage}", - "provisioner": [ - { - "local-exec": { - "command": ' '.join(map(shlex.quote, [ - "python", - config.project_root + "/scripts/provision_credentials.py", - "google-key", - "--build", - "${self.email}", - service_account.secret_name - ])) - } - }, { - "local-exec": { - "when": "destroy", - "command": ' '.join(map(shlex.quote, [ - "python", - config.project_root + "/scripts/provision_credentials.py", - "google-key", - "--destroy", - "${self.email}", - service_account.secret_name - ])) - } - } - ] - } - for service_account in config.ServiceAccount - }, - **( - { - "google_project_iam_member": { - "azul": { - "project": "${local.google_project}", - "role": "${google_project_iam_custom_role.azul.id}", - "member": "serviceAccount:${google_service_account.azul.email}" - }, - }, - "google_project_iam_custom_role": { - "azul": { - "role_id": f"azul_{config.deployment_stage}_{config.deployment_incarnation}", - "title": f"azul_{config.deployment_stage}", - "permissions": [ - "bigquery.jobs.create", - "bigquery.tables.list", - *[ - f'bigquery.{resource}.{action}' - for resource in ('capacityCommitments', 'reservations') - for action in ('get', 'update') - ], - *[ - f'bigquery.{resource}.{action}' - for resource in ('capacityCommitments', 'reservations', 'reservationAssignments') - for action in ('create', 'list', 'delete') - ] - ] - }, - } - } - if config.is_tdr_enabled() else - {} - ), - "null_resource": { - "hmac_secret": { - "provisioner": [ - { - "local-exec": { - "command": ' '.join(map(shlex.quote, [ - "python", - config.project_root + "/scripts/provision_credentials.py", - "hmac-key", - "--build", - ])) - } - }, { - "local-exec": { - "when": "destroy", - "command": ' '.join(map(shlex.quote, [ - "python", - config.project_root + "/scripts/provision_credentials.py", - "hmac-key", - "--destroy", - ])) - } - } - ] - } - }, - 'aws_kms_key': { - config.manifest_kms_key_tf_name: { - 'key_usage': 'GENERATE_VERIFY_MAC', - 'customer_master_key_spec': 'HMAC_256', - 'deletion_window_in_days': min(max(config.manifest_expiration, 7), 30) - } - }, - 'aws_kms_alias': { - config.manifest_kms_key_tf_name: { - 'name': config.manifest_kms_alias, - 'target_key_id': '${aws_kms_key.%s.key_id}' % config.manifest_kms_key_tf_name - } - } - }, - ] -}) diff --git a/terraform/backend.tf.json.template.py b/terraform/backend.tf.json.template.py deleted file mode 100644 index d2b3423ba2..0000000000 --- a/terraform/backend.tf.json.template.py +++ /dev/null @@ -1,21 +0,0 @@ -from azul import ( - config, -) -from azul.deployment import ( - aws, -) -from azul.terraform import ( - emit_tf, -) - -emit_tf(tag_resources=False, config={ - "terraform": { - "backend": { - "s3": { - "bucket": aws.shared_bucket, - "key": f"azul-{config.terraform_component}-{config.deployment_stage}.tfstate", - "region": aws.region_name, - } - } - } -}) diff --git a/terraform/browser/.gitignore b/terraform/browser/.gitignore deleted file mode 100644 index 325fc68ea1..0000000000 --- a/terraform/browser/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/*.tf.json diff --git a/terraform/browser/.terraform.lock.hcl b/terraform/browser/.terraform.lock.hcl deleted file mode 120000 index d6d4ac31e3..0000000000 --- a/terraform/browser/.terraform.lock.hcl +++ /dev/null @@ -1 +0,0 @@ -../.terraform.lock.hcl \ No newline at end of file diff --git a/terraform/browser/Makefile b/terraform/browser/Makefile deleted file mode 120000 index 74b5d6c41f..0000000000 --- a/terraform/browser/Makefile +++ /dev/null @@ -1 +0,0 @@ -../shared/Makefile \ No newline at end of file diff --git a/terraform/browser/add_google_search_api_key.js b/terraform/browser/add_google_search_api_key.js deleted file mode 100644 index ddacb4f059..0000000000 --- a/terraform/browser/add_google_search_api_key.js +++ /dev/null @@ -1,41 +0,0 @@ -function handler(event) { - - var response400 = { - statusCode: 400, - statusDescription: 'Bad Request' - }; - - var searchEngineIds = { - "anvil":"dac3c914beb0adbe9", - "ncpi":"c83b7333b91318572" - }; - - var request = event.request; - - // cx parameter needs to be provided - if(!request.querystring.cx){ - // no cx provided - // block the request - return response400; - } - - //console.log(request.querystring["cx"].value); - - // Force cx value so this API can only be used to query the AnVIL or NCPI Google search engine and not others - var searchEngineId = searchEngineIds[request.querystring.cx.value]; - - if(!searchEngineId){ - // cx parameter was not one of the configured ones. - // block the request - return response400; - } - - // We have a valid searchEngineId, replace cx. - request.querystring["cx"]={"value": searchEngineId}; - - - // Add the API key and let the request proceed - request.querystring["key"]={"value": "{GOOGLE_SEARCH_API_KEY}"}; - - return request; -} diff --git a/terraform/browser/add_response_headers.js b/terraform/browser/add_response_headers.js deleted file mode 100644 index c77de66364..0000000000 --- a/terraform/browser/add_response_headers.js +++ /dev/null @@ -1,30 +0,0 @@ -function handler(event) { - var response = event.response; - var headers = response.headers; - var request = event.request; - var uri = request.uri; - - // Set HTTP security headers - // Since JavaScript doesn't allow for hyphens in variable names, we use the dict["key"] notation - - // Set cache control header … - if (uri.startsWith('/_next/static/')) { - // … for files in _next/static (versioned assets like JS, CSS) - headers['cache-control'] = { value: 'public, max-age=31536000, immutable' }; - } else if (uri.startsWith('/api/')) { - // … for API routes - headers['cache-control'] = { value: 'no-store' }; - } else if ( - uri.startsWith('/static/') - || uri.match(/\.(jpg|jpeg|png|svg|webp|gif|css|js)$/) - ) { - // … for images and other static assets - headers['cache-control'] = { value: 'public, max-age=86400' }; - } else { - // … for HTML pages and all other content - headers['cache-control'] = { value: 'public, max-age=0, must-revalidate' }; - } - - // Return the response to viewers - return response; -} \ No newline at end of file diff --git a/terraform/browser/backend.tf.json.template.py b/terraform/browser/backend.tf.json.template.py deleted file mode 120000 index ab5f569a5a..0000000000 --- a/terraform/browser/backend.tf.json.template.py +++ /dev/null @@ -1 +0,0 @@ -../backend.tf.json.template.py \ No newline at end of file diff --git a/terraform/browser/browser.tf.json.template.py b/terraform/browser/browser.tf.json.template.py deleted file mode 100644 index 7f4591cf28..0000000000 --- a/terraform/browser/browser.tf.json.template.py +++ /dev/null @@ -1,655 +0,0 @@ -import json -from operator import ( - attrgetter, -) -import os -from pathlib import ( - Path, -) -import uuid - -from furl import ( - furl, -) -import gitlab -from more_itertools import ( - before_and_after, - flatten, - one, -) - -from azul import ( - cached_property, - config, - iif, -) -from azul.collections import ( - adict, - dict_merge, -) -from azul.deployment import ( - aws, -) -from azul.strings import ( - double_quote as dq, - join_words as jw, - single_quote as sq, -) -from azul.terraform import ( - block_public_s3_bucket_access, - emit_tf, - enable_s3_bucket_inventory, - set_empty_s3_bucket_lifecycle_config, -) -from azul.types import ( - JSON, -) - -sites = config.browser_sites - -#: Whether to emit a Google custom search instance and a CF origin for it -provision_custom_search = False - - -def emit(): - bucket_id_key = '.bucket_id' - tf_config = { - 'data': { - 'aws_s3_bucket': { - 'logs': { - 'bucket': aws.logs_bucket, - } - }, - 'aws_cloudfront_cache_policy': { - 'caching_optimized': { - 'name': 'Managed-CachingOptimized' - }, - 'caching_disabled': { - 'name': 'Managed-CachingDisabled' - } - }, - 'aws_cloudfront_response_headers_policy': { - 'security_headers': { - 'name': 'Managed-SecurityHeadersPolicy' - } - }, - 'aws_route53_zone': { - name: { - 'name': site['zone'] + '.', - 'private_zone': False - } - for name, site in sites.items() - } - }, - 'resource': { - 'aws_s3_bucket': { - name: { - 'bucket': aws.qualified_bucket_name(name), - 'force_destroy': True, - 'lifecycle': { - 'prevent_destroy': False - } - } - for name in sites.keys() - }, - 'aws_s3_bucket_logging': { - name: { - 'bucket': '${aws_s3_bucket.%s.id}' % name, - 'target_bucket': '${data.aws_s3_bucket.logs.id}', - # Other S3 log deliveries, like ELB, implicitly put a slash - # after the prefix. S3 doesn't, so we add one explicitly. - 'target_prefix': config.s3_access_log_path_prefix(name) + '/' - } - for name in sites.keys() - }, - 'aws_s3_bucket_policy': { - name: { - 'bucket': '${aws_s3_bucket.%s.id}' % name, - 'policy': json.dumps({ - 'Version': '2008-10-17', - 'Id': 'PolicyForCloudFrontPrivateContent', - 'Statement': [ - { - 'Sid': 'AllowCloudFrontServicePrincipal', - 'Effect': 'Allow', - 'Principal': { - 'Service': 'cloudfront.amazonaws.com' - }, - 'Action': [ - 's3:GetObject', - 's3:ListBucket' - ], - 'Resource': [ - '${aws_s3_bucket.%s.arn}' % name, - '${aws_s3_bucket.%s.arn}/*' % name - ], - 'Condition': { - 'StringEquals': { - 'AWS:SourceArn': '${aws_cloudfront_distribution.%s.arn}' % name - } - } - } - ] - }) - } - for name in sites.keys() - }, - 'aws_cloudfront_distribution': { - name: { - 'enabled': True, - 'restrictions': { - 'geo_restriction': { - 'locations': [], - 'restriction_type': 'none' - } - }, - 'price_class': 'PriceClass_100', - 'aliases': [site['domain']], - 'default_root_object': 'index.html', - 'is_ipv6_enabled': True, - 'ordered_cache_behavior': [ - *iif(provision_custom_search, [google_search_behavior()]) - ], - 'default_cache_behavior': - bucket_behaviour(name, - bucket_path_mapper=True, - add_response_headers=False), - 'viewer_certificate': { - 'acm_certificate_arn': '${aws_acm_certificate.%s.arn}' % name, - 'minimum_protocol_version': 'TLSv1.2_2021', - 'ssl_support_method': 'sni-only' - }, - 'origin': [ - { - 'origin_id': bucket_origin_id(name), - 'domain_name': bucket_regional_domain_name(name), - 'origin_access_control_id': - '${aws_cloudfront_origin_access_control.%s.id}' % name - }, - *iif(provision_custom_search, [google_search_origin()]) - ], - 'custom_error_response': [ - { - 'error_code': error_code, - 'response_code': 404, - 'response_page_path': '/404.html', - 'error_caching_min_ttl': 10 - } - for error_code in [403, 404] - ] - } - for name, site in sites.items() - }, - 'aws_cloudfront_origin_access_control': { - name: { - 'name': bucket_origin_id(name), - 'description': '', # becomes 'Managed by Terraform' if omitted - 'origin_access_control_origin_type': 's3', - 'signing_behavior': 'always', - 'signing_protocol': 'sigv4' - } - for name in sites.keys() - }, - 'aws_cloudfront_function': { - script.stem: cloudfront_function(script) - for script in Path(__file__).parent.glob('*.js') - if provision_custom_search or not script.stem == 'add_google_search_api_key' - }, - 'aws_cloudfront_response_headers_policy': { - name: { - 'name': name, - 'security_headers_config': { - 'content_security_policy': { - 'override': True, - 'content_security_policy': content_security_policy() - }, - 'content_type_options': { - 'override': True - }, - 'frame_options': { - 'override': False, - 'frame_option': 'DENY' - }, - 'referrer_policy': { - 'override': False, - 'referrer_policy': 'strict-origin-when-cross-origin' - }, - 'strict_transport_security': { - 'override': False, - 'access_control_max_age_sec': 63072000, - 'include_subdomains': True, - 'preload': True - - }, - 'xss_protection': { - 'override': False, - 'protection': True, - 'mode_block': True - } - } - } - for name in sites.keys() - }, - 'aws_acm_certificate': { - name: { - 'domain_name': site['domain'], - 'validation_method': 'DNS', - 'lifecycle': { - 'create_before_destroy': True - } - } - for name, site in sites.items() - }, - 'aws_acm_certificate_validation': { - name: { - 'certificate_arn': '${aws_acm_certificate.%s.arn}' % name, - 'validation_record_fqdns': '${[for r in aws_route53_record.%s_validation : r.fqdn]}' % name, - } - for name in sites.keys() - }, - 'aws_route53_record': dict_merge( - { - name: { - 'zone_id': '${data.aws_route53_zone.%s.id}' % name, - 'name': site['domain'], - 'type': 'A', - 'alias': { - 'name': '${aws_cloudfront_distribution.%s.domain_name}' % name, - 'zone_id': '${aws_cloudfront_distribution.%s.hosted_zone_id}' % name, - 'evaluate_target_health': False - } - }, - name + '_validation': { - 'for_each': '${{' - 'for o in aws_acm_certificate.%s.domain_validation_options : ' - 'o.domain_name => o' - '}}' % name, - 'name': '${each.value.resource_record_name}', - 'type': '${each.value.resource_record_type}', - 'zone_id': '${data.aws_route53_zone.%s.id}' % name, - 'records': [ - '${each.value.resource_record_value}', - ], - 'ttl': 60 - } - } - for name, site in sites.items() - ), - **iif(provision_custom_search, { - 'aws_cloudfront_origin_request_policy': { - 'google_search': { - 'depends_on': ['google_project_service.customsearch'], - 'name': config.qualified_resource_name('portal_search'), - 'headers_config': { - 'header_behavior': 'whitelist', - 'headers': { - 'items': ['Referer'] - } - }, - 'query_strings_config': { - 'query_string_behavior': 'all' - }, - 'cookies_config': { - 'cookie_behavior': 'none' - } - } - }, - 'google_project_service': { - api: { - 'service': f'{api}.googleapis.com', - 'disable_dependent_services': False, - 'disable_on_destroy': False, - } for api in ['apikeys', 'customsearch'] - }, - 'google_apikeys_key': { - 'google_search': { - 'depends_on': ['google_project_service.apikeys'], - **{k: config.qualified_resource_name('portal') for k in ['name', 'display_name']}, - 'project': '${local.google_project}', - 'restrictions': { - 'api_targets': [ - { - 'service': 'customsearch.googleapis.com' - } - ], - 'browser_key_restrictions': { - 'allowed_referrers': list(flatten( - [f'https://{domain}', f'https://{domain}/*'] - for domain in { - 'prod': [ - 'data-browser.lungmap.net', - config.domain_name - ], - }.get(config.deployment_stage, [config.domain_name]) - )) - } - } - } - } - }), - 'aws_s3_object': { - # The site deployment below needs to be triggered whenever the - # content changes but also when the bucket has been deleted and is - # being recreated, requiring some sort of ability to detect the - # creation of a bucket. The `lifecycle.replace_triggered_by` - # property does not cause replacement when the upstream resource is - # first created, only when there is a change to an already existing - # resource, so it of no use in this case. We could work around this - # if the bucket had an identifying property that would let us - # distinguish two distinct incarnations. Unfortunately, S3 doesn't - # offer that either. As a workaround, we create a special object in - # the bucket and set its content to a pseudo random value. We use - # `life_cycle.ignore_changes` to make sure that the object is not - # overwritten with a new random value on every deployment. That - # object, or rather its `etag` attribute (some hash of the content) - # then serves as a stand-in for a bucket identifier which we can - # then use to trigger site deployment and CloudFront invalidation. - name + '_bucket_id': { - 'bucket': '${aws_s3_bucket.%s.id}' % name, - 'key': bucket_id_key, - 'content': str(uuid.uuid4()), - 'lifecycle': { - 'ignore_changes': ['content'] - } - } - for name in sites.keys() - }, - 'null_resource': { - **{ - f'deploy_site_{name}': { - 'triggers': { - 'tarball_hash': gitlab_helper.tarball_hash(site), - 'bucket_id': '${aws_s3_object.%s_bucket_id.etag}' % name, - 'tarball_path': site['tarball_path'], - 'real_path': site['real_path'] - }, - 'provisioner': { - 'local-exec': { - 'when': 'create', - 'interpreter': ['/bin/bash', '-c'], - 'command': ' && '.join([ - # TF uses concurrent workers so we need to keep the directories - # separate between the null_resource resources. - f'rm -rf out_{name}', - f'mkdir out_{name}', - ' | '.join([ - ' '.join([ - 'curl', - '--fail', - '--silent', - gitlab_helper.curl_auth_flags(), - dq(gitlab_helper.tarball_url(site)) - ]), - ' '.join([ - # --transform is specific to GNU Tar, which, on macOS must be installed - # separately (via Homebrew, for example) and is called `gtar` there - '$(type -p gtar tar | head -1)', - '-xvjf -', - f'--transform s#^{site["tarball_path"]}/#{site["real_path"]}/#', - '--show-transformed-names', - f'-C out_{name}' - ]) - ]), - ' '.join([ - 'aws', 's3', 'sync', - '--exclude', bucket_id_key, - '--delete', - f'out_{name}/', - 's3://${aws_s3_bucket.%s.id}/' % name - ]), - f'rm -rf out_{name}', - ]) - } - } - } - for name, site in sites.items() - }, - **{ - 'invalidate_cloudfront_' + name: { - 'depends_on': [ - f'null_resource.deploy_site_{name}' - ], - 'triggers': { - f'{trigger}_{name}': '${null_resource.deploy_site_%s.triggers.%s}' % (name, trigger) - for trigger in ['tarball_hash', 'bucket_id'] - }, - 'provisioner': { - 'local-exec': { - 'when': 'create', - 'command': ' '.join([ - 'aws', - 'cloudfront create-invalidation', - '--distribution-id ${aws_cloudfront_distribution.%s.id}' % name, - '--paths "/*"' - ]) - } - } - } - for name in sites.keys() - } - } - } - } - tf_config = enable_s3_bucket_inventory(tf_config) - tf_config = block_public_s3_bucket_access(tf_config) - tf_config = set_empty_s3_bucket_lifecycle_config(tf_config) - emit_tf(tf_config) - - -def bucket_behaviour(origin, *, path_pattern: str = None, **functions: bool) -> JSON: - return adict( - path_pattern=path_pattern, - allowed_methods=['GET', 'HEAD'], - cached_methods=['GET', 'HEAD'], - cache_policy_id='${data.aws_cloudfront_cache_policy.caching_optimized.id}', - response_headers_policy_id=( - '${aws_cloudfront_response_headers_policy.%s.id}' % origin - ), - viewer_protocol_policy='redirect-to-https', - target_origin_id=bucket_origin_id(origin), - compress=True, - function_association=[ - { - 'event_type': 'viewer-request' if is_request else 'viewer-response', - 'function_arn': '${aws_cloudfront_function.%s.arn}' % name - } - for name, is_request in functions.items() - ] - ) - - -def bucket_origin_id(bucket): - return bucket - - -def bucket_regional_domain_name(bucket): - return '${aws_s3_bucket.%s.bucket_regional_domain_name}' % bucket - - -def cloudfront_function(script: Path): - prefix = '//' - - def predicate(s): - s = s.strip() - return not s or s.startswith(prefix) - - with script.open() as f: - comment, source = before_and_after(predicate, f) - comment = list(filter(None, map(str.strip, comment))) - comment = comment[0].removeprefix(prefix).strip() if comment else None - source = ''.join(source) - # I tried Terrafornm's try() but it won't catch undefined references - if provision_custom_search: - source = source.replace('{GOOGLE_SEARCH_API_KEY}', - '${google_apikeys_key.google_search.key_string}') - - return dict(name=config.qualified_resource_name(script.stem), - comment=comment, - runtime='cloudfront-js-1.0', - code=source, - # publish=False would update the function so that it can be used - # with the TestFunction API but wouldn't affect what's live. - publish=True) - - -def content_security_policy() -> str: - self = sq('self') - none = sq('none') - unsafe_inline = sq('unsafe-inline') - unsafe_eval = sq('unsafe-eval') - - return ';'.join([ - jw('default-src', self), - jw('object-src', none), - jw('frame-src', none), - jw('frame-ancestors', none), - jw('form-action', self), - jw('child-src', none), - jw('img-src', - self, - 'data:', - 'https://lh3.googleusercontent.com', - 'https://www.google-analytics.com', - 'https://www.googletagmanager.com'), - jw('script-src', - self, - unsafe_inline, - unsafe_eval, - 'https://accounts.google.com/gsi/client', - 'https://www.google-analytics.com', - 'https://www.googletagmanager.com'), - jw('style-src', - self, - unsafe_inline, - 'https://fonts.googleapis.com', - 'https://p.typekit.net', - 'https://use.typekit.net'), - jw('font-src', - self, - 'data:', - 'https://fonts.gstatic.com', - 'https://use.typekit.net/af/'), - jw('connect-src', - self, - 'https://www.google-analytics.com', - 'https://www.googleapis.com/oauth2/v3/userinfo', - 'https://www.googletagmanager.com', - 'https://support.terra.bio/api/v2/', - str(furl(config.sam_service_url, - path='/register/user/v1')), - str(furl(config.sam_service_url, - path='/register/user/v2/self/termsOfServiceDetails')), - str(furl(config.terra_service_url, - path='/api/nih/status')), - str(config.service_endpoint)) - ]) - - -def google_search_origin(): - return adict( - origin_id=google_search_origin_id(), - domain_name='www.googleapis.com', - connection_attempts=3, - connection_timeout=10, - custom_origin_config=adict( - origin_protocol_policy='https-only', - origin_ssl_protocols=['TLSv1.2'], - https_port=443, - http_port=80, - origin_keepalive_timeout=5, - origin_read_timeout=30, - ) - ) - - -def google_search_behavior(): - return adict( - path_pattern='/customsearch*', - target_origin_id=google_search_origin_id(), - allowed_methods=['GET', 'HEAD', 'OPTIONS'], - cached_methods=['GET', 'HEAD'], - compress=True, - default_ttl=0, - max_ttl=0, - min_ttl=0, - smooth_streaming=False, - cache_policy_id='${data.aws_cloudfront_cache_policy.caching_disabled.id}', - origin_request_policy_id='${aws_cloudfront_origin_request_policy.google_search.id}', - response_headers_policy_id='${data.aws_cloudfront_response_headers_policy.security_headers.id}', - viewer_protocol_policy='https-only', - trusted_key_groups=[], - trusted_signers=[], - function_association=adict( - event_type='viewer-request', - function_arn='${aws_cloudfront_function.add_google_search_api_key.arn}', - ) - ) - - -def google_search_origin_id(): - if config.deployment_stage == 'anvildev': - return 'Google Programmable Search Engine' - else: - return 'google_search' - - -class GitLabHelper: - gitlab_url = 'https://gitlab.' + config.domain_name - - @cached_property - def client(self) -> gitlab.Gitlab: - token = config.gitlab_access_token - if token is None: - kwargs = {'job_token': os.environ['CI_JOB_TOKEN']} - else: - kwargs = {'private_token': token} - return gitlab.Gitlab(url=self.gitlab_url, **kwargs) - - def curl_auth_flags(self) -> str: - token_type, token = 'PRIVATE', config.gitlab_access_token - if token is None: - token_type, token = 'JOB', os.environ['CI_JOB_TOKEN'] - header = dq(token_type + '-TOKEN:', token) - return '--header ' + header - - def tarball_hash(self, site: config.BrowserSite) -> str: - project = self.client.projects.get(site['project'], lazy=True) - packages = project.packages.list(iterator=True, package_type='generic') - version = self.tarball_version(site['branch']) - package = one(p for p in packages if p.version == version) - package_files = ( - pf - for pf in package.package_files.list(iterator=True) - if pf.file_name == self.tarball_file_name(site) - ) - package_file = max(package_files, key=attrgetter('created_at')) - return package_file.file_sha256 - - def tarball_url(self, site: config.BrowserSite) -> str: - # GET /projects/:id/packages/generic/:package_name/:package_version/:file_name - return str(furl(self.gitlab_url, - path=[ - 'api', 'v4', 'projects', site['project'], - 'packages', 'generic', 'tarball', - self.tarball_version(site['branch']), - self.tarball_file_name(site) - ])) - - def tarball_file_name(self, site: config.BrowserSite) -> str: - return '_'.join([ - site['project'].split('/')[-1], # just the project name - config.deployment_stage, - site['tarball_name'], - 'distribution', - ]) + '.tar.bz2' - - def tarball_version(self, branch: str) -> str: - # package_version can't contain slashes - return branch.replace('/', '_') - - -gitlab_helper = GitLabHelper() -del GitLabHelper - -if __name__ == '__main__': - emit() diff --git a/terraform/browser/bucket_path_mapper.js b/terraform/browser/bucket_path_mapper.js deleted file mode 100644 index 497f79757c..0000000000 --- a/terraform/browser/bucket_path_mapper.js +++ /dev/null @@ -1,52 +0,0 @@ -function handler(event) { - var request = event.request; - - var new_uri = request.uri.replace(/^\/explore(\/|$)/,'/'); - if( request.uri !== new_uri ) { - return { - statusCode: 301, - statusDescription: 'Moved Permanently', - headers: { - 'location': {'value': new_uri} - } - } - } - - // @alex explorePath needs to be configurable to the path of the behavior like - // /explore, /data or /ncpi/data or "" - var explorePath = "" - - var uri = request.uri; - if (uri === "/") { - // Default root - uri = explorePath + "/index.html"; - } - request.uri = uri; - - if (explorePath && uri.endsWith(explorePath)) { - // this was a request for /explore, add the default root - request.uri += "/index.html"; - return request; - } - - if (explorePath && uri.endsWith(explorePath + "/")) { - // this was a request for /explorePath/ add the default root - request.uri += "index.html"; - return request; - } - - if (uri.includes(".")) { - // is a request for a file, leave alone - return request; - } - - if (uri.endsWith("/")) { - //this was a request for for something like /explorePath/files/ remove the trailing / - request.uri = request.uri.slice(0, -1); - } - - // final case add .html as this was not a file /explorePath or /explorePath/ - request.uri += ".html"; - - return request; -} diff --git a/terraform/browser/common.tf.json.template.py b/terraform/browser/common.tf.json.template.py deleted file mode 120000 index 4aaf3badb1..0000000000 --- a/terraform/browser/common.tf.json.template.py +++ /dev/null @@ -1 +0,0 @@ -../common.tf.json.template.py \ No newline at end of file diff --git a/terraform/browser/providers.tf.json.template.py b/terraform/browser/providers.tf.json.template.py deleted file mode 120000 index a00233d1c5..0000000000 --- a/terraform/browser/providers.tf.json.template.py +++ /dev/null @@ -1 +0,0 @@ -../providers.tf.json.template.py \ No newline at end of file diff --git a/terraform/cloudwatch.tf.json.template.py b/terraform/cloudwatch.tf.json.template.py deleted file mode 100644 index 11b9fd6dec..0000000000 --- a/terraform/cloudwatch.tf.json.template.py +++ /dev/null @@ -1,304 +0,0 @@ -import json - -from azul import ( - config, -) -from azul.deployment import ( - aws, -) -from azul.modules import ( - load_app_module, - load_module, -) -from azul.terraform import ( - emit_tf, - vpc, -) - - -def dashboard_body(name: str) -> str: - module = load_module(config.cloudwatch_dashboard_template, - 'cloudwatch_dashboard_template') - body = json.dumps(module.dashboard_body(name)) - return body - - -emit_tf({ - 'data': [ - { - 'external': { - 'elasticsearch_nodes': { - 'program': [ - 'python', - f'{config.project_root}/scripts/elasticsearch_nodes.py' - ], - 'query': {}, - 'depends_on': ([] - if config.share_es_domain else - ['aws_opensearch_domain.index']) - } - } - }, - *( - ( - { - 'aws_sns_topic': { - 'monitoring': { - 'name': aws.monitoring_topic_name - } - } - }, - { - 'aws_ec2_client_vpn_endpoint': { - 'gitlab': { - 'filter': { - 'name': 'tag:Name', - 'values': ['azul-gitlab'] - } - } - } - } - ) if config.enable_monitoring else () - ), - ], - 'locals': { - 'nodes': '${jsondecode(data.external.elasticsearch_nodes.result.nodes)}' - }, - 'resource': [ - *( - ( - *( - { - 'aws_cloudwatch_metric_alarm': { - f'{lambda_}_5xx': { - 'alarm_name': config.qualified_resource_name(lambda_ + '_5xx'), - 'comparison_operator': 'GreaterThanThreshold', - # This alarm catches persistent 5XX errors occurring over - # one hour, specifically when more than one occurrence is - # sampled in a ten-minute period for six consecutive periods. - 'evaluation_periods': 6, - 'period': 60 * 10, - 'metric_name': '5XXError', - 'namespace': 'AWS/ApiGateway', - 'statistic': 'Sum', - 'threshold': 1, - 'treat_missing_data': 'notBreaching', - 'dimensions': { - 'ApiName': config.qualified_resource_name(lambda_), - 'Stage': config.deployment_stage, - }, - 'alarm_actions': ['${data.aws_sns_topic.monitoring.arn}'], - 'ok_actions': ['${data.aws_sns_topic.monitoring.arn}'], - } - } - } - for lambda_ in config.lambda_names() - ), - *( - { - 'aws_cloudwatch_log_metric_filter': { - f'{lambda_}cachehealth': { - 'name': config.qualified_resource_name(f'{lambda_}cachehealth', suffix='.filter'), - 'pattern': '', - 'log_group_name': ( - '/aws/lambda/' - + config.qualified_resource_name(lambda_) - + f'-{lambda_}cachehealth' - ), - 'metric_transformation': { - 'name': config.qualified_resource_name(f'{lambda_}cachehealth'), - 'namespace': 'LogMetrics', - 'value': 1, - 'default_value': 0, - } - } - } - } - for lambda_ in config.lambda_names() - ), - *( - { - 'aws_cloudwatch_metric_alarm': { - f'{lambda_}cachehealth': { - 'alarm_name': config.qualified_resource_name(f'{lambda_}cachehealth', suffix='.alarm'), - 'comparison_operator': 'LessThanThreshold', - 'threshold': 1, - 'datapoints_to_alarm': 1, - 'evaluation_periods': 1, - 'treat_missing_data': 'breaching', - 'alarm_actions': ['${data.aws_sns_topic.monitoring.arn}'], - 'ok_actions': ['${data.aws_sns_topic.monitoring.arn}'], - # CloudWatch uses an unconfigurable "evaluation range" when missing - # data is involved. In practice this means that an alarm on the - # absence of logs with an evaluation window of ten minutes would - # require thirty minutes of no logs before the alarm is raised. - # Using a metric query we can fill in missing datapoints with a - # value of zero and avoid the need for the evaluation range. - 'metric_query': [ - { - 'id': 'log_count_filled', - 'expression': 'FILL(log_count_raw, 0)', - 'return_data': True, - }, - { - 'id': 'log_count_raw', - 'metric': { - 'metric_name': '${aws_cloudwatch_log_metric_filter.' - '%scachehealth.metric_transformation[0].name}' % lambda_, - 'namespace': 'LogMetrics', - 'period': 10 * 60, - 'stat': 'Sum', - } - } - ] - } - } - } - for lambda_ in config.lambda_names() - ), - { - 'aws_cloudwatch_metric_alarm': { - **{ - f'internet_{direction}': { - 'alarm_name': config.qualified_resource_name(f'internet_{direction}'), - 'comparison_operator': 'GreaterThanThreshold', - 'threshold': threshold, - 'evaluation_periods': 1, - 'datapoints_to_alarm': 1, - 'treat_missing_data': 'notBreaching', - 'metric_query': [ - { - 'id': f'internet_{direction}', - 'label': f'Internet {direction} bytes/h', - 'expression': ' + '.join(f'm{zone}' for zone in range(vpc.num_zones)), - 'return_data': True, - }, - *( - { - 'id': f'm{zone}', - 'metric': { - 'dimensions': { - # Data source defined in data_sources.tf.json - 'NatGatewayId': f'${{data.aws_nat_gateway.gitlab_{zone}.id}}' - }, - 'namespace': 'AWS/NATGateway', - 'metric_name': metric_name, - 'period': 1 * 60 * 60, - 'stat': 'Sum', - } - } - for zone in range(vpc.num_zones) - ) - ], - 'alarm_actions': ['${data.aws_sns_topic.monitoring.arn}'], - 'ok_actions': ['${data.aws_sns_topic.monitoring.arn}'], - } - for direction, metric_name, threshold in [ - ('ingress', 'BytesInFromDestination', 50 * 1024 * 1024 * 1024), - ('egress', 'BytesOutToDestination', 10 * 1024 * 1024 * 1024) - ] - }, - **{ - f'vpn_{direction}': { - 'alarm_name': config.qualified_resource_name(f'vpn_{direction}'), - 'comparison_operator': 'GreaterThanThreshold', - 'threshold': threshold, - 'evaluation_periods': 1, - 'datapoints_to_alarm': 1, - 'treat_missing_data': 'notBreaching', - 'metric_query': [ - { - 'id': f'vpn_{direction}', - 'label': f'VPN {direction} bytes/h', - 'metric': { - 'dimensions': { - 'Endpoint': '${data.aws_ec2_client_vpn_endpoint.gitlab.id}' - }, - 'namespace': 'AWS/ClientVPN', - 'metric_name': metric_name, - 'period': 1 * 60 * 60, - 'stat': 'Sum', - }, - 'return_data': True, - } - ], - 'alarm_actions': ['${data.aws_sns_topic.monitoring.arn}'], - 'ok_actions': ['${data.aws_sns_topic.monitoring.arn}'], - } - for direction, metric_name, threshold in [ - ('ingress', 'IngressBytes', 100 * 1024 * 1024 * 1024), - ('egress', 'EgressBytes', 10 * 1024 * 1024 * 1024) - ] - }, - **{ - metric_alarm.tf_resource_name: { - 'alarm_name': config.qualified_resource_name( - metric_alarm.tf_resource_name, - suffix='.alarm' - ), - 'namespace': 'AWS/Lambda', - 'dimensions': { - 'FunctionName': '${' + '.'.join(( - 'aws_lambda_function', metric_alarm.tf_function_resource_name, - 'function_name' - )) + '}' - }, - 'metric_name': metric_alarm.metric.aws_name, - 'comparison_operator': 'GreaterThanThreshold', - 'statistic': 'Sum', - 'threshold': metric_alarm.threshold, - 'period': metric_alarm.period, - 'datapoints_to_alarm': 1, - 'evaluation_periods': 1, - 'treat_missing_data': 'notBreaching', - 'alarm_actions': ['${data.aws_sns_topic.monitoring.arn}'], - 'ok_actions': ['${data.aws_sns_topic.monitoring.arn}'], - } - for lambda_name in config.lambda_names() - for metric_alarm in load_app_module(lambda_name).app.metric_alarms - }, - 'waf_rate_blocked': { - 'alarm_name': config.qualified_resource_name('waf_rate_blocked'), - 'comparison_operator': 'GreaterThanThreshold', - 'threshold': 0, - 'datapoints_to_alarm': 1, - 'evaluation_periods': 1, - 'period': 5 * 60, - 'metric_name': 'BlockedRequests', - 'namespace': 'AWS/WAFV2', - 'statistic': 'Sum', - 'treat_missing_data': 'notBreaching', - 'dimensions': { - 'WebACL': '${aws_wafv2_web_acl.api_gateway.name}', - 'Region': config.region, - 'Rule': config.waf_rate_limit_alarm.name - }, - 'alarm_actions': ['${data.aws_sns_topic.monitoring.arn}'], - 'ok_actions': ['${data.aws_sns_topic.monitoring.arn}'], - } - } - } - ) - if config.enable_monitoring else - () - ), - { - 'aws_cloudwatch_dashboard': { - 'indexer': { - 'dashboard_name': config.qualified_resource_name('indexer'), - 'dashboard_body': dashboard_body('indexer') - }, - **( - { - 'mirror': { - 'dashboard_name': config.qualified_resource_name('mirror'), - 'dashboard_body': dashboard_body('mirror') - } - } - if config.enable_mirroring else - {} - ) - } - } - ] -}) diff --git a/terraform/cloudwatch_dashboard.template.json.py b/terraform/cloudwatch_dashboard.template.json.py deleted file mode 100644 index 5710db7273..0000000000 --- a/terraform/cloudwatch_dashboard.template.json.py +++ /dev/null @@ -1,2105 +0,0 @@ -from textwrap import ( - dedent, -) - -from more_itertools import ( - flatten, -) - -from azul import ( - JSON, - R, - config, - iif, -) -from azul.deployment import ( - aws, -) - -es_instance_count = ( - aws.es_instance_count - if config.share_es_domain else - config.es_instance_count -) - - -def dashboard_body(name: str): - valid_names = ['indexer', *iif(config.enable_mirroring, ['mirror'])] - assert name in valid_names, R('Invalid dashboard name', name) - - def coordinates(**kwargs: tuple[int, int]) -> JSON: - """ - Return a dashboard widget's coordinates. Argument keys are dashboard - names, and values are (col, row) pairs, with (0, 0) representing the - first cell in the top-left corner of the dashboard. - """ - try: - x, y = kwargs[name] - except KeyError: - # Since coordinates() is called as part of a call to non-lazy iif() - # we need to handle the case where coordinates aren't provided for a - # dashboard that won't include the widget. - return {} - else: - assert x >= 0 and y >= 0, (x, y) - return {'x': x * 12, 'y': y * 6, 'width': 12, 'height': 6} - - is_indexer = name == 'indexer' - return { - 'widgets': [ - *iif(is_indexer, [ - { - **coordinates(indexer=(1, 1)), - 'type': 'log', - 'properties': { - 'query': dedent(f'''\ - SOURCE '/aws/lambda/{config.indexer_function_name('aggregate_retry')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('aggregate')}' - | filter @message like /Attempt \\d+ of handling \\d+ contribution\\(s\\) for entity/ - or @message like /Deferring aggregation of \\d+ contribution\\(s\\) to entity/ - or @message like /Successfully aggregated \\d+ contribution\\(s\\) to entity/ - | parse 'of handling * contribution(s) for entity' as attempts - | parse 'Deferring aggregation of * contribution(s) to entity' as deferrals - | parse 'Successfully aggregated * contribution(s) to entity' as successes - | stats sum(successes) as Successes, - sum(attempts) - sum(successes) - sum(deferrals) as Failures, - sum(deferrals) as Deferrals - by bin(5min) - '''), - 'region': config.region, - 'stacked': True, - 'title': 'Aggregation outcomes in # of contributions', - 'view': 'timeSeries' - } - } - ]), - { - **coordinates(indexer=(0, 2), mirror=(0, 2)), - 'type': 'metric', - 'properties': { - 'metrics': ( - [ - [ - { - 'expression': 'nv+ni+nd', - 'label': 'notifications', - 'id': 'n', - 'region': config.region - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.notifications_queue.name, - { - 'id': 'nv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'ni', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'nd', - 'visible': False - } - ], - [ - { - 'expression': 'nrv+nri+nrd', - 'label': 'notifications_retry', - 'id': 'nr', - 'region': config.region, - 'color': '#ff7f0e' - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.notifications_queue.to_retry.name, - { - 'id': 'nrv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'nri', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'nrd', - 'visible': False - } - ], - [ - { - 'expression': 'nfv+nfi+nfd', - 'label': 'notifications_fail', - 'id': 'nf', - 'region': config.region, - 'color': '#9467bd' - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.notifications_queue.to_fail.name, - { - 'id': 'nfv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'nfi', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'nfd', - 'visible': False - } - ], - [ - { - 'expression': 'tv+ti+td', - 'label': 'tallies', - 'id': 't', - 'region': config.region, - 'color': '#2ca02c' - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.tallies_queue.name, - { - 'id': 'tv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'ti', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'td', - 'visible': False - } - ], - [ - { - 'expression': 'trv+tri+trd', - 'label': 'tallies_retry', - 'id': 'tr', - 'region': config.region, - 'color': '#d62728' - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.tallies_queue.to_retry.name, - { - 'id': 'trv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'tri', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'trd', - 'visible': False - } - ], - [ - { - 'expression': 'tfv+tfi+tfd', - 'label': 'tallies_fail', - 'id': 'tf', - 'region': config.region, - 'color': '#f7b6d2' - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.tallies_queue.to_fail.name, - { - 'id': 'tfv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'tfi', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'tfd', - 'visible': False - } - ] - ] - if is_indexer else - [ - [ - { - 'expression': 'mv+mi+md', - 'label': 'mirror', - 'id': 'm', - 'region': config.region - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.mirror_queue.name, - { - 'id': 'mv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'mi', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'md', - 'visible': False - } - ], - [ - { - 'expression': 'mfv+mfi+mfd', - 'label': 'mirror_fail', - 'id': 'mf', - 'region': config.region, - 'color': '#9467bd' - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.mirror_queue.to_fail.name, - { - 'id': 'mfv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'mfi', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'mfd', - 'visible': False - } - ] - ] - ), - 'view': 'timeSeries', - 'stacked': False, - 'region': config.region, - 'title': 'Queue lengths', - 'period': 300, - 'stat': 'Maximum' - } - }, - { - **coordinates(indexer=(0, 0), mirror=(0, 0)), - 'type': 'log', - 'properties': { - 'query': ( - f"SOURCE '/aws/lambda/{config.indexer_function_name('contribute')}'" + - f"| SOURCE '/aws/lambda/{config.indexer_function_name('contribute_retry')}'" - if is_indexer else - f"SOURCE '/aws/lambda/{config.indexer_function_name('mirror')}'" - ) + dedent(f'''\ - | fields strcontains(@message, 'Worker successfully handled') as success, - strcontains(@message,'Worker failed to handle message') as failure, - strcontains(@message,'Task timed out after') as timeout - | filter failure > 0 or success > 0 or timeout > 0 - | stats sum(success) as Successes, - sum(failure + timeout) as Failures - by bin(5min) - '''), - 'region': config.region, - 'stacked': True, - 'title': ( - 'Contribution outcomes in # of notifications' - if is_indexer else - 'Mirror outcomes in # of messages' - ), - 'view': 'timeSeries' - } - }, - *iif(is_indexer, [ - { - **coordinates(indexer=(1, 4)), - 'type': 'metric', - 'properties': { - 'metrics': [ - [ - { - 'expression': ' + '.join(f'm{2 + i * 2}' for i in range(es_instance_count)), - 'label': 'Primary', - 'id': 'e1', - 'region': config.region, - 'color': '#2ca02c' - } - ], - [ - { - 'expression': ' + '.join(f'm{3 + i * 2}' for i in range(es_instance_count)), - 'label': 'Replica', - 'id': 'e2', - 'region': config.region, - 'color': '#1f77b4' - } - ], - [ - 'AWS/ES', - 'Shards.unassigned', - 'DomainName', - config.es_domain, - 'ClientId', - config.aws_account_id, - { - 'id': 'm1', - 'label': 'Unassigned', - 'color': '#d62728' - } - ], - [ - '.', - 'ShardCount', - 'ShardRole', - 'Primary', - 'DomainName', - config.es_domain, - 'NodeId', - '${local.nodes[0]}', - 'ClientId', - config.aws_account_id, - { - 'id': 'm2', - 'visible': False - } - ], - [ - '...', - 'Replica', - '.', - '.', - '.', - '.', - '.', - '.', - { - 'id': 'm3', - 'visible': False - } - ], - *flatten(( - [ - [ - '...', - 'Primary', - '.', - '.', - '.', - '${local.nodes[%d]}' % i, - '.', - '.', - { - 'id': f'm{2 + i * 2}', - 'visible': False - } - ], - [ - '...', - 'Replica', - '.', - '.', - '.', - '.', - '.', - '.', - { - 'id': f'm{3 + i * 2}', - 'visible': False - } - ] - ] - for i in range(1, es_instance_count) - )) - ], - 'view': 'timeSeries', - 'stacked': False, - 'region': config.region, - 'period': 300, - 'stat': 'Maximum', - 'title': 'ES shards' - } - } - ]), - *iif(is_indexer, [ - { - **coordinates(indexer=(1, 2)), - 'type': 'log', - 'properties': { - 'query': dedent(f'''\ - SOURCE '/aws/lambda/{config.indexer_function_name('aggregate')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('aggregate_retry')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('contribute')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('contribute_retry')}' - | filter @message like 'TransportError' - | fields strcontains(@log, 'contribute') as contribute, 1 - contribute as aggregate - | stats sum(contribute) as Contribution, sum(aggregate) as Aggregation by bin(5min) - '''), - 'region': config.region, - 'stacked': False, - 'title': 'ES TransportErrors', - 'view': 'timeSeries' - } - } - ]), - *iif(is_indexer, [ - { - **coordinates(indexer=(1, 5)), - 'type': 'metric', - 'properties': { - 'view': 'timeSeries', - 'stacked': True, - 'metrics': [ - [ - 'AWS/ES', - 'JVMMemoryPressure', - 'DomainName', - config.es_domain, - 'NodeId', - '${local.nodes[0]}', - 'ClientId', - config.aws_account_id - ], - *( - [ - '...', - '${local.nodes[%d]}' % i, - '.', - '.' - ] - for i in range(1, es_instance_count) - ) - ], - 'region': config.region, - 'title': 'ES JVM memory pressure [%]', - 'period': 300 - } - } - ]), - *iif(is_indexer, [ - { - **coordinates(indexer=(1, 6)), - 'type': 'metric', - 'properties': { - 'metrics': [ - [ - { - 'expression': 'DIFF(%s)/4/1000/60/5*100' % - '+'.join(f'm{i + 1}' for i in range(es_instance_count)), - 'label': 'Old generation', - 'id': 'e2', - 'region': config.region, - 'stat': 'Maximum' - } - ], - [ - { - 'expression': 'DIFF(%s)/4/1000/60/5*100' % '+'.join( - f'm{i + es_instance_count + 1}' - for i in range(es_instance_count) - ), - 'label': 'Young generation', - 'id': 'e1', - 'region': config.region, - 'stat': 'Maximum', - 'yAxis': 'left' - } - ], - [ - 'AWS/ES', - 'JVMGCOldCollectionTime', - 'DomainName', - config.es_domain, - 'NodeId', - '${local.nodes[0]}', - 'ClientId', - config.aws_account_id, - { - 'id': 'm1', - 'visible': False - } - ], - *( - [ - '...', - '${local.nodes[%d]}' % i, - '.', - '.', - { - 'id': f'm{i + 1}', - 'visible': False - } - ] - for i in range(1, es_instance_count) - ), - [ - '.', - 'JVMGCYoungCollectionTime', - '.', - '.', - '.', - '${local.nodes[0]}', - '.', - '.', - { - 'id': f'm{es_instance_count + 1}', - 'visible': False - } - ], - *( - [ - '...', - '${local.nodes[%d]}' % i, - '.', - '.', - { - 'id': f'm{i + es_instance_count + 1}', - 'visible': False - } - ] - for i in range(1, es_instance_count) - ) - ], - 'view': 'timeSeries', - 'stacked': True, - 'region': config.region, - 'period': 300, - 'stat': 'Maximum', - 'title': 'ES JVM garbage collection time', - 'yAxis': { - 'left': { - 'label': '% of wall clock time', - 'showUnits': False - }, - 'right': { - 'showUnits': False - } - } - } - } - ]), - *iif(is_indexer, [ - { - **coordinates(indexer=(0, 5)), - 'type': 'log', - 'properties': { - 'query': dedent(f'''\ - SOURCE '/aws/lambda/{config.indexer_function_name('contribute')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('contribute_retry')}' - | fields @log - | parse 'It took *s to download' as duration - | filter ispresent(duration) - | fields strcontains(@log, '_retry') as is_retry - | stats avg(duration * (1 - is_retry)) as Initial, - avg(duration * is_retry) as Retry - by bin(5m) - '''), - 'region': config.region, - 'stacked': False, - 'title': 'Subgraph download time, average [s]', - 'view': 'timeSeries' - } - } - ]), - { - **coordinates(indexer=(1, 12), mirror=(1, 4)), - 'type': 'metric', - 'properties': { - 'metrics': ( - [ - [ - 'AWS/Lambda', - 'Throttles', - 'FunctionName', - config.indexer_function_name('contribute'), - { - 'label': 'contribute' - } - ], - [ - '...', - config.indexer_function_name('contribute_retry'), - { - 'label': 'contribute_retry' - } - ], - [ - '...', - config.indexer_function_name('aggregate'), - { - 'label': 'aggregate' - } - ], - [ - '...', - config.indexer_function_name('aggregate_retry'), - { - 'label': 'aggregate_retry' - } - ] - ] - if is_indexer else - [ - [ - 'AWS/Lambda', - 'Throttles', - 'FunctionName', - config.indexer_function_name('mirror'), - { - 'label': 'mirror' - } - ] - ] - ), - 'view': 'timeSeries', - 'stacked': False, - 'region': config.region, - 'stat': 'Sum', - 'period': 300, - 'title': 'Lambda throttles' - } - }, - { - **coordinates(indexer=(1, 10), mirror=(1, 5)), - 'type': 'metric', - 'properties': { - 'metrics': ( - [ - [ - 'AWS/Lambda', - 'Errors', - 'FunctionName', - config.indexer_function_name('contribute'), - { - 'label': 'contribute', - 'region': config.region - } - ], - [ - '...', - config.indexer_function_name('contribute_retry'), - { - 'label': 'contribute_retry', - 'region': config.region - } - ], - [ - '...', - config.indexer_function_name('aggregate'), - { - 'label': 'aggregate', - 'region': config.region - } - ], - [ - '...', - config.indexer_function_name('aggregate_retry'), - { - 'label': 'aggregate_retry', - 'region': config.region - } - ] - ] - if is_indexer else - [ - [ - 'AWS/Lambda', - 'Errors', - 'FunctionName', - config.indexer_function_name('mirror'), - { - 'label': 'mirror', - 'region': config.region - } - ] - ] - ), - 'view': 'timeSeries', - 'stacked': False, - 'region': config.region, - 'stat': 'Sum', - 'period': 300, - 'title': 'Lambda errors' - } - }, - { - **coordinates(indexer=(1, 8), mirror=(1, 2)), - 'type': 'metric', - 'properties': { - 'metrics': ( - [ - [ - 'AWS/Lambda', - 'Invocations', - 'FunctionName', - config.indexer_function_name('contribute'), - { - 'label': 'contribute' - } - ], - [ - '...', - config.indexer_function_name('contribute_retry'), - { - 'label': 'contribute_retry' - } - ], - [ - '...', - config.indexer_function_name('aggregate'), - { - 'label': 'aggregate' - } - ], - [ - '...', - config.indexer_function_name('aggregate_retry'), - { - 'label': 'aggregate_retry' - } - ] - ] - if is_indexer else - [ - [ - 'AWS/Lambda', - 'Invocations', - 'FunctionName', - config.indexer_function_name('mirror'), - { - 'label': 'mirror' - } - ] - ] - ), - 'view': 'timeSeries', - 'stacked': False, - 'region': config.region, - 'stat': 'Sum', - 'period': 300, - 'title': 'Lambda invocations' - } - }, - { - **coordinates(indexer=(1, 9), mirror=(1, 3)), - 'type': 'metric', - 'properties': { - 'metrics': ( - [ - [ - 'AWS/Lambda', - 'ConcurrentExecutions', - 'FunctionName', - config.indexer_function_name('contribute'), - { - 'label': 'contribute' - } - ], - [ - '...', - config.indexer_function_name('contribute_retry'), - { - 'label': 'contribute_retry' - } - ], - [ - '...', - config.indexer_function_name('aggregate'), - { - 'label': 'aggregate' - } - ], - [ - '...', - config.indexer_function_name('aggregate_retry'), - { - 'label': 'aggregate_retry' - } - ] - ] - if is_indexer else - [ - [ - 'AWS/Lambda', - 'ConcurrentExecutions', - 'FunctionName', - config.indexer_function_name('mirror'), - { - 'label': 'mirror' - } - ] - ] - ), - 'view': 'timeSeries', - 'stacked': False, - 'region': config.region, - 'stat': 'Maximum', - 'period': 300, - 'title': 'Concurrent Lambda executions' - } - }, - { - **coordinates(indexer=(1, 7), mirror=(1, 1)), - 'type': 'metric', - 'properties': { - 'metrics': ( - [ - [ - { - 'expression': 'm3 / 1000', - 'label': 'contribute', - 'id': 'e1', - 'stat': 'Average', - 'region': config.region - } - ], - [ - { - 'expression': 'm4 / 1000', - 'label': 'contribute_retry', - 'id': 'e2', - 'stat': 'Average', - 'region': config.region - } - ], - [ - { - 'expression': 'm1 / 1000', - 'label': 'aggregate', - 'id': 'e3', - 'stat': 'Average', - 'region': config.region - } - ], - [ - { - 'expression': 'm2 / 1000', - 'label': 'aggregate_retry', - 'id': 'e4', - 'stat': 'Average', - 'region': config.region - } - ], - [ - 'AWS/Lambda', - 'Duration', - 'FunctionName', - config.indexer_function_name('aggregate'), - { - 'id': 'm1', - 'visible': False - } - ], - [ - '...', - config.indexer_function_name('aggregate_retry'), - { - 'id': 'm2', - 'visible': False - } - ], - [ - '...', - config.indexer_function_name('contribute'), - { - 'id': 'm3', - 'visible': False - } - ], - [ - '...', - config.indexer_function_name('contribute_retry'), - { - 'id': 'm4', - 'visible': False - } - ] - ] - if is_indexer else - [ - [ - { - 'expression': 'm1 / 1000', - 'label': 'mirror', - 'id': 'e1', - 'stat': 'Average', - 'region': config.region - } - ], - [ - 'AWS/Lambda', - 'Duration', - 'FunctionName', - config.indexer_function_name('mirror'), - { - 'id': 'm1', - 'visible': False - } - ] - ] - ), - 'view': 'timeSeries', - 'stacked': False, - 'region': config.region, - 'stat': 'Average', - 'period': 300, - 'title': 'Lambda duration [s]', - 'yAxis': { - 'left': { - 'showUnits': False - } - } - } - }, - *iif(is_indexer, [ - { - **coordinates(indexer=(0, 6)), - 'type': 'log', - 'properties': { - 'query': dedent(f'''\ - SOURCE '/aws/lambda/{config.indexer_function_name('contribute')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('contribute_retry')}' - | filter @message like 'Exceeded rate limits' - | sort @timestamp desc - | stats count(@requestId) as trips by bin(5min) - '''), - 'region': config.region, - 'stacked': False, - 'title': 'BQ rate limit trips', - 'view': 'timeSeries' - } - } - ]), - *iif(is_indexer, [ - { - **coordinates(indexer=(0, 4)), - 'type': 'log', - 'properties': { - 'query': dedent(f'''\ - SOURCE '/aws/lambda/{config.indexer_function_name('contribute')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('contribute_retry')}' - | filter ispresent(stats.totalSlotMs) - | stats sum(stats.totalSlotMs) / 1000 / 3600 * 12 as `slot hours` by bin(5min) - '''), - 'region': config.region, - 'stacked': False, - 'title': 'BQ slot-hours (pro-rated)', - 'view': 'timeSeries' - } - } - ]), - *iif(is_indexer, [ - { - **coordinates(indexer=(0, 7)), - 'type': 'log', - 'properties': { - 'query': dedent(f'''\ - SOURCE '/aws/lambda/{config.indexer_function_name('contribute')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('contribute_retry')}' - | filter @message like 'Exceeded rate limits' - | parse 'BigQuery job error during attempt *. Retrying in *s.' as a, d - | filter ispresent(d) - | stats avg(d) as Delay by bin(5min) - '''), - 'region': config.region, - 'stacked': False, - 'title': 'BQ rate limit back-off, average [s]', - 'view': 'timeSeries' - } - } - ]), - { - **coordinates(indexer=(0, 3), mirror=(0, 3)), - 'type': 'metric', - 'properties': { - 'metrics': ( - [ - [ - { - 'expression': 'DIFF(nv+ni+nd)', - 'label': 'notifications', - 'id': 'n', - 'region': config.region - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.notifications_queue.name, - { - 'id': 'nv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'ni', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'nd', - 'visible': False - } - ], - [ - { - 'expression': 'DIFF(nrv+nri+nrd)', - 'label': 'notifications_retry', - 'id': 'nr', - 'region': config.region, - 'color': '#ff7f0e' - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.notifications_queue.to_retry.name, - { - 'id': 'nrv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'nri', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'nrd', - 'visible': False - } - ], - [ - { - 'expression': 'DIFF(nfv+nfi+nfd)', - 'label': 'notifications_fail', - 'id': 'nf', - 'region': config.region, - 'color': '#9467bd' - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.notifications_queue.to_fail.name, - { - 'id': 'nfv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'nfi', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'nfd', - 'visible': False - } - ], - [ - { - 'expression': 'DIFF(tv+ti+td)', - 'label': 'tallies', - 'id': 't', - 'region': config.region, - 'color': '#2ca02c' - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.tallies_queue.name, - { - 'id': 'tv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'ti', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'td', - 'visible': False - } - ], - [ - { - 'expression': 'DIFF(trv+tri+trd)', - 'label': 'tallies_retry', - 'id': 'tr', - 'region': config.region, - 'color': '#d62728' - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.tallies_queue.to_retry.name, - { - 'id': 'trv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'tri', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'trd', - 'visible': False - } - ], - [ - { - 'expression': 'DIFF(tfv+tfi+tfd)', - 'label': 'tallies_fail', - 'id': 'tf', - 'region': config.region, - 'color': '#f7b6d2' - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.tallies_queue.to_fail.name, - { - 'id': 'tfv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'tfi', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'tfd', - 'visible': False - } - ] - ] - if is_indexer else - [ - [ - { - 'expression': 'DIFF(mv+mi+md)', - 'label': 'mirror', - 'id': 'm', - 'region': config.region - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.mirror_queue.name, - { - 'id': 'mv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'mi', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'md', - 'visible': False - } - ], - [ - { - 'expression': 'DIFF(mfv+mfi+mfd)', - 'label': 'mirror_fail', - 'id': 'mf', - 'region': config.region, - 'color': '#9467bd' - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.mirror_queue.to_fail.name, - { - 'id': 'mfv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'mfi', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'mfd', - 'visible': False - } - ] - ] - ), - 'view': 'timeSeries', - 'stacked': False, - 'region': config.region, - 'title': 'Queue length Δ', - 'period': 300, - 'stat': 'Maximum', - 'annotations': { - 'horizontal': [ - { - 'color': '#aec7e8', - 'value': 0 - } - ] - } - } - }, - { - **coordinates(indexer=(0, 9), mirror=(0, 4)), - 'type': 'metric', - 'properties': { - 'metrics': ( - [ - [ - { - 'expression': 'CEIL(m1 * 20 / PERIOD(m1))', - 'label': 'notifications', - 'id': 'e1', - 'region': config.region - } - ], - [ - { - 'expression': 'CEIL(m2 * 20 / PERIOD(m2))', - 'label': 'notifications_retry', - 'id': 'e2', - 'region': config.region - } - ], - [ - { - 'expression': 'CEIL(m3 * 20 / PERIOD(m3))', - 'label': 'tallies.fifo', - 'id': 'e3', - 'region': config.region - } - ], - [ - { - 'expression': 'CEIL(m4 * 20 / PERIOD(m4))', - 'label': 'tallies_retry.fifo', - 'id': 'e4', - 'region': config.region - } - ], - [ - 'AWS/SQS', - 'NumberOfEmptyReceives', - 'QueueName', - config.notifications_queue.name, - { - 'id': 'm1', - 'visible': False, - 'region': config.region - } - ], - [ - 'AWS/SQS', - 'NumberOfEmptyReceives', - 'QueueName', - config.notifications_queue.to_retry.name, - { - 'id': 'm2', - 'visible': False, - 'region': config.region - } - ], - [ - 'AWS/SQS', - 'NumberOfEmptyReceives', - 'QueueName', - config.tallies_queue.name, - { - 'id': 'm3', - 'visible': False, - 'region': config.region - } - ], - [ - 'AWS/SQS', - 'NumberOfEmptyReceives', - 'QueueName', - config.tallies_queue.to_retry.name, - { - 'id': 'm4', - 'visible': False, - 'region': config.region - } - ] - ] - if is_indexer else - [ - [ - { - 'expression': 'CEIL(m1 * 20 / PERIOD(m1))', - 'label': 'mirror', - 'id': 'e1', - 'region': config.region - } - ], - [ - 'AWS/SQS', - 'NumberOfEmptyReceives', - 'QueueName', - config.mirror_queue.name, - { - 'id': 'm1', - 'visible': False, - 'region': config.region - } - ] - ] - ), - 'view': 'timeSeries', - 'stacked': False, - 'region': config.region, - 'title': 'Idle queue polling threads', - 'period': 300, - 'stat': 'Sum' - } - }, - *iif(is_indexer, [ - { - **coordinates(indexer=(1, 0)), - 'type': 'log', - 'properties': { - 'query': dedent(f'''\ - SOURCE '/aws/lambda/{config.indexer_function_name('aggregate_retry')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('aggregate')}' - | filter @message like /Attempt \\d+ of handling \\d+ contribution\\(s\\) for entity/ - or @message like /Deferring \\d+ tallies/ - or @message like /Successfully referred \\d+ tallies/ - | field strcontains(@message,'Attempt') and strcontains(@message,'contribution(s) for entity') as attempts - | parse 'Deferring * tallies' as deferrals - | parse 'Successfully referred * tallies' as successes - | stats sum(successes) as Successes, - sum(attempts) - sum(successes) - sum(deferrals) as Failures, - sum(deferrals) as Deferrals - by bin(5min) - '''), - 'region': config.region, - 'stacked': True, - 'title': 'Aggregation outcomes in # of tallies', - 'view': 'timeSeries' - } - } - ]), - *iif(is_indexer, [ - { - **coordinates(indexer=(0, 8)), - 'type': 'log', - 'properties': { - 'query': dedent(f'''\ - SOURCE '/aws/lambda/{config.indexer_function_name('contribute')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('contribute_retry')}' - | fields stats.cacheHit, strcontains(@log, 'retry') as is_retry - | filter @message like 'Job info: ' - | sort @timestamp desc - | stats sum(stats.cacheHit * (1 - is_retry)) / sum(1 - is_retry) * 100 as Initial, - sum(stats.cacheHit * is_retry ) / sum(is_retry) * 100 as Retry - by bin(5min) - '''), - 'region': config.region, - 'stacked': False, - 'title': 'BQ cache utilization [%]', - 'view': 'timeSeries' - } - } - ]), - { - **coordinates(indexer=(0, 1), mirror=(0, 1)), - 'type': 'metric', - 'properties': { - 'metrics': ( - [ - [ - { - 'expression': 'IF(DIFF(nv+ni+nd+nrv+nri+nrd) < 0, ((nv+ni+nd+nrv+nri+nrd) / -DIFF(nv+ni+nd+nrv+nri+nrd)) * DIFF_TIME(nv+ni+nd+nrv+nri+nrd) / 3600)', - 'label': 'notifications', - 'id': 'n', - 'region': config.region - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.notifications_queue.name, - { - 'id': 'nv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'ni', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'nd', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesVisible', - '.', - config.notifications_queue.to_retry.name, - { - 'id': 'nrv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'nri', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'nrd', - 'visible': False - } - ], - [ - { - 'expression': 'IF(DIFF(tv+ti+td+trv+tri+trd) < 0, ((tv+ti+td+trv+tri+trd) / -DIFF(tv+ti+td+trv+tri+trd)) * DIFF_TIME(tv+ti+td+trv+tri+trd) / 3600)', - 'label': 'tallies', - 'id': 't', - 'region': config.region, - 'color': '#2ca02c' - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.tallies_queue.name, - { - 'id': 'tv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'ti', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'td', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesVisible', - '.', - config.tallies_queue.to_retry.name, - { - 'id': 'trv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'tri', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'trd', - 'visible': False - } - ] - ] - if is_indexer else - [ - [ - { - 'expression': 'IF(DIFF(mv+mi+md) < 0, ((mv+mi+md) / -DIFF(mv+mi+md)) * DIFF_TIME(mv+mi+md) / 3600)', - 'label': 'mirror', - 'id': 'm', - 'region': config.region - } - ], - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesVisible', - 'QueueName', - config.mirror_queue.name, - { - 'id': 'mv', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesNotVisible', - '.', - '.', - { - 'id': 'mi', - 'visible': False - } - ], - [ - '.', - 'ApproximateNumberOfMessagesDelayed', - '.', - '.', - { - 'id': 'md', - 'visible': False - } - ] - ] - ), - 'view': 'timeSeries', - 'stacked': False, - 'region': config.region, - 'title': 'ETA [h]', - 'period': 300, - 'stat': 'Maximum' - } - }, - { - **coordinates(indexer=(1, 11), mirror=(1, 6)), - 'type': 'log', - 'properties': { - 'query': ( - dedent(f'''\ - SOURCE '/aws/lambda/{config.indexer_function_name('aggregate')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('aggregate_retry')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('contribute')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('contribute_retry')}' - | filter @message like 'Task timed out' - | fields strcontains(@log, 'aggregate') == 0 and strcontains(@log, 'retry') == 0 as c - | fields strcontains(@log, 'aggregate') == 0 and strcontains(@log, 'retry') == 1 as cr - | fields strcontains(@log, 'aggregate') == 1 and strcontains(@log, 'retry') == 0 as a - | fields strcontains(@log, 'aggregate') == 1 and strcontains(@log, 'retry') == 1 as ar - | stats sum(c) as contribute, - sum(cr) as contribute_retry, - sum(a) as aggregate, - sum(ar) as aggregate_retry - by bin(5min) - ''') - if is_indexer else - dedent(f'''\ - SOURCE '/aws/lambda/{config.indexer_function_name('mirror')}' - | filter @message like 'Task timed out' - | fields strcontains(@log, 'mirror') == 1 as m - | stats sum(m) as mirror - by bin(5min) - ''') - ), - 'region': config.region, - 'stacked': False, - 'title': 'Lambda timeouts', - 'view': 'timeSeries' - } - }, - { - **coordinates(indexer=(1, 3), mirror=(1, 0)), - 'type': 'metric', - 'properties': { - 'metrics': ( - [ - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesNotVisible', - 'QueueName', - config.notifications_queue.name, - { - 'label': 'notifications' - } - ], - [ - '...', - config.notifications_queue.to_retry.name, - { - 'label': 'notifications_retry' - } - ], - [ - '...', - config.tallies_queue.name, - { - 'label': 'tallies' - } - ], - [ - '...', - config.tallies_queue.to_retry.name, - { - 'label': 'tallies_retry' - } - ] - ] - if is_indexer else - [ - [ - 'AWS/SQS', - 'ApproximateNumberOfMessagesNotVisible', - 'QueueName', - config.mirror_queue.name, - { - 'label': 'mirror' - } - ] - ] - ), - 'view': 'timeSeries', - 'stacked': False, - 'region': config.region, - 'title': 'In-flight messages', - 'period': 300, - 'stat': 'Average' - } - }, - { - **coordinates(indexer=(0, 10), mirror=(0, 5)), - 'type': 'metric', - 'properties': { - 'metrics': ( - [ - [ - { - 'expression': 'm1 * 100 / m5', - 'label': 'contribute', - 'id': 'e1' - } - ], - [ - { - 'expression': 'm2 * 100 / m6', - 'label': 'contribute_retry', - 'id': 'e2' - } - ], - [ - { - 'expression': 'm3 * 100 / m7', - 'label': 'aggregate', - 'id': 'e3' - } - ], - [ - { - 'expression': 'm4 * 100 / m8', - 'label': 'aggregate_retry', - 'id': 'e4' - } - ], - [ - 'AWS/Lambda', - 'Errors', - 'FunctionName', - config.indexer_function_name('contribute'), - { - 'label': 'contribute', - 'id': 'm1', - 'visible': False - } - ], - [ - '...', - config.indexer_function_name('contribute_retry'), - { - 'label': 'contribute_retry', - 'id': 'm2', - 'visible': False - } - ], - [ - '...', - config.indexer_function_name('aggregate'), - { - 'label': 'aggregate', - 'id': 'm3', - 'visible': False - } - ], - [ - '...', - config.indexer_function_name('aggregate_retry'), - { - 'label': 'aggregate_retry', - 'id': 'm4', - 'visible': False - } - ], - [ - '.', - 'Invocations', - '.', - config.indexer_function_name('contribute'), - { - 'id': 'm5', - 'visible': False - } - ], - [ - '...', - config.indexer_function_name('contribute_retry'), - { - 'id': 'm6', - 'visible': False - } - ], - [ - '...', - config.indexer_function_name('aggregate'), - { - 'id': 'm7', - 'visible': False - } - ], - [ - '...', - config.indexer_function_name('aggregate_retry'), - { - 'id': 'm8', - 'visible': False - } - ] - ] - if is_indexer else - [ - [ - { - 'expression': 'm1 * 100 / m2', - 'label': 'mirror', - 'id': 'e1' - } - ], - [ - 'AWS/Lambda', - 'Errors', - 'FunctionName', - config.indexer_function_name('mirror'), - { - 'label': 'mirror', - 'id': 'm1', - 'visible': False - } - ], - [ - '.', - 'Invocations', - '.', - config.indexer_function_name('mirror'), - { - 'id': 'm2', - 'visible': False - } - ] - ] - ), - 'view': 'timeSeries', - 'stacked': False, - 'region': config.region, - 'stat': 'Sum', - 'period': 300, - 'title': 'Lambda error rate [%]' - } - }, - { - **coordinates(indexer=(0, 11), mirror=(0, 6)), - 'type': 'log', - 'properties': { - 'query': ( - dedent(f'''\ - SOURCE '/aws/lambda/{config.indexer_function_name('aggregate')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('aggregate_retry')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('contribute')}' - | SOURCE '/aws/lambda/{config.indexer_function_name('contribute_retry')}' - | filter @message like 'Task timed out' or @message like 'START' - | fields strcontains(@message, 'Task timed out') == 1 as timeout - | fields strcontains(@message, 'START') == 1 as attempt - | fields strcontains(@log, 'aggregate') == 0 and strcontains(@log, 'retry') == 0 as c - | fields strcontains(@log, 'aggregate') == 0 and strcontains(@log, 'retry') == 1 as cr - | fields strcontains(@log, 'aggregate') == 1 and strcontains(@log, 'retry') == 0 as a - | fields strcontains(@log, 'aggregate') == 1 and strcontains(@log, 'retry') == 1 as ar - | stats sum(c*timeout) * 100 / sum(c*attempt) as contribute, - sum(cr*timeout) * 100 / sum(cr*attempt) as contribute_retry, - sum(a*timeout) * 100 / sum(a*attempt) as aggregate, - sum(ar*timeout) * 100 / sum(ar*attempt) as aggregate_retry - by bin(5min) - ''') - if is_indexer else - dedent(f'''\ - SOURCE '/aws/lambda/{config.indexer_function_name('mirror')}' - | filter @message like 'Task timed out' or @message like 'START' - | fields strcontains(@message, 'Task timed out') == 1 as timeout - | fields strcontains(@message, 'START') == 1 as attempt - | fields strcontains(@log, 'mirror') == 1 as m - | stats sum(m*timeout) * 100 / sum(m*attempt) as mirror - by bin(5min) - ''') - ), - 'region': config.region, - 'stacked': False, - 'title': 'Lambda timeout rate [%]', - 'view': 'timeSeries' - } - } - ] - } diff --git a/terraform/common.tf.json.template.py b/terraform/common.tf.json.template.py deleted file mode 100644 index ce53ec7994..0000000000 --- a/terraform/common.tf.json.template.py +++ /dev/null @@ -1,42 +0,0 @@ -from pathlib import ( - Path, -) - -from azul import ( - config, - require, -) -from azul.terraform import ( - emit_tf, -) - -expected_component_path = Path(config.project_root) / 'terraform' / config.terraform_component -actual_component_path = Path(__file__).absolute().parent -require(expected_component_path.samefile(actual_component_path), - f"The current Terraform component is set to '{config.terraform_component}'. " - f"You should therefore be in '{expected_component_path}'") - -emit_tf({ - "data": [ - { - "aws_caller_identity": { - "current": {} - } - }, - { - "aws_region": { - "current": {} - } - }, - *([{ - "google_client_config": { - "current": {} - } - }] if config.enable_gcp() else []) - ], - "locals": { - "account_id": "${data.aws_caller_identity.current.account_id}", - "region": "${data.aws_region.current.name}", - "google_project": "${data.google_client_config.current.project}" if config.enable_gcp() else None - }, -}) diff --git a/terraform/data_sources.tf.json.template.py b/terraform/data_sources.tf.json.template.py deleted file mode 100644 index 159b45735f..0000000000 --- a/terraform/data_sources.tf.json.template.py +++ /dev/null @@ -1,22 +0,0 @@ -from azul.terraform import ( - emit_tf, - vpc, -) - -emit_tf({ - 'data': [ - { - 'aws_nat_gateway': { - **{ - f'gitlab_{zone}': { - 'filter': { - 'name': 'tag:Name', - 'values': [f'azul-gitlab_{zone}'] - }, - } - for zone in range(vpc.num_zones) - } - } - } - ] -}) diff --git a/terraform/dynamo.tf.json.template.py b/terraform/dynamo.tf.json.template.py deleted file mode 100644 index 6f6b1f7de3..0000000000 --- a/terraform/dynamo.tf.json.template.py +++ /dev/null @@ -1,35 +0,0 @@ -from azul import ( - config, -) -from azul.service.source_service import ( - SourceService, -) -from azul.terraform import ( - emit_tf, -) - -emit_tf( - { - "resource": [ - { - "aws_dynamodb_table": { - "sources_cache_by_auth": { - "name": config.dynamo_sources_cache_table_name, - "billing_mode": "PAY_PER_REQUEST", - "hash_key": SourceService.key_attribute, - "attribute": [ - { - "name": SourceService.key_attribute, - "type": "S" - } - ], - "ttl": { - "attribute_name": SourceService.ttl_attribute, - "enabled": True - } - } - } - } - ] - } -) diff --git a/terraform/elasticsearch.tf.json.template.py b/terraform/elasticsearch.tf.json.template.py deleted file mode 100644 index 5c9d0e288b..0000000000 --- a/terraform/elasticsearch.tf.json.template.py +++ /dev/null @@ -1,184 +0,0 @@ -import json - -from azul import ( - config, -) -from azul.terraform import ( - emit_tf, - vpc, -) - -logs = { - 'index': ('INDEX_SLOW_LOGS', True), - 'search': ('SEARCH_SLOW_LOGS', True), - 'error': ('ES_APPLICATION_LOGS', True) -} - -domain = config.es_domain - -emit_tf(None if config.share_es_domain else { - 'resource': [ - *( - { - 'aws_cloudwatch_log_group': { - f'{log}_log': { - 'name': f'/aws/aes/domains/{domain}/{log}-logs', - 'retention_in_days': config.audit_log_retention_days - } - } - } - for log in logs.keys() - ), - { - 'aws_cloudwatch_log_resource_policy': { - 'index': { - 'policy_name': domain, - 'policy_document': json.dumps( - { - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Principal': { - 'Service': 'es.amazonaws.com' - }, - 'Action': [ - 'logs:PutLogEvents', - 'logs:CreateLogStream' - ], - 'Resource': [ - '${aws_cloudwatch_log_group.' + log + '_log.arn}:*' for log in logs.keys() - ] - } - ] - } - ) - } - } - }, - { - 'aws_opensearch_domain': { - 'index': { - 'access_policies': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Principal': { - 'AWS': 'arn:aws:iam::${local.account_id}:root' - }, - 'Action': 'es:*', - 'Resource': 'arn:aws:es:${local.region}:${local.account_id}:domain/' + domain + '/*' - } - ] - }), - 'advanced_options': { - 'rest.action.multi.allow_explicit_index': 'true', - 'override_main_response_version': 'false' - }, - 'cluster_config': { - 'instance_count': config.es_instance_count, - 'instance_type': config.es_instance_type, - # Needed for using multiple subnets (1 per zone) in the VPC - 'zone_awareness_enabled': True - }, - 'domain_name': domain, - 'ebs_options': { - 'ebs_enabled': 'true', - 'volume_size': config.es_volume_size, - 'volume_type': 'gp2' - } - if config.es_volume_size else - { - 'ebs_enabled': 'false', - }, - 'vpc_options': { - 'subnet_ids': [ - f'${{data.aws_subnet.gitlab_private_{zone}.id}}' - for zone in range(vpc.num_zones) - ], - 'security_group_ids': ['${aws_security_group.elasticsearch.id}'] - }, - 'engine_version': 'OpenSearch_2.19', - 'log_publishing_options': [ - { - 'cloudwatch_log_group_arn': '${aws_cloudwatch_log_group.' + log + '_log.arn}', - 'enabled': 'true' if enabled else 'false', - 'log_type': log_type - } - for log, (log_type, enabled) in logs.items() - ], - 'lifecycle': { - 'ignore_changes': [ - # Quoting AWS support: - # - # > Please note that with automated snapshots - # > disabled, the 'automatedSnapshotStartHour' - # > parameter of the domain configuration is set - # > to '-1' from the service end (this can only - # > be done from the service side). Please ensure - # > that this parameter is not overriden to a - # > different value from your end, else the - # > automated snapshots would be triggered back - # > again. - # - # So we can't explicitly set `ignore_changes` - # to -1 here since that would prevent the - # creation of the resource by Terraform. It's - # possible that just omitting that property is - # sufficient but doing so resulted in a plan - # that changed the property from -1 to null - # while listing it in `ignore_changes` resulted - # in a plan without any changes, which seems - # safer to me. The property is deprecated - # anyways. - # - 'snapshot_options' - ] - }, - 'encrypt_at_rest': { - 'enabled': True - }, - 'node_to_node_encryption': { - 'enabled': True - } - } - }, - 'null_resource': { - 'cluster_settings': { - 'depends_on': [ - 'aws_opensearch_domain.index' - ], - 'triggers': { - 'script_hash': '${filesha256("%s/scripts/manage_cluster_settings.py")}' % config.project_root - }, - 'lifecycle': { - 'replace_triggered_by': [ - 'aws_opensearch_domain.index' - ] - }, - 'provisioner': { - 'local-exec': { - 'command': ' '.join([ - 'python', - f'{config.project_root}/scripts/manage_cluster_settings.py' - ]), - } - } - } - }, - 'aws_security_group': { - 'elasticsearch': { - 'name': config.qualified_resource_name('elasticsearch'), - 'vpc_id': '${data.aws_vpc.gitlab.id}', - 'ingress': [ - vpc.security_rule(cidr_blocks=['${data.aws_vpc.gitlab.cidr_block}'], - protocol='tcp', - from_port=443, - to_port=443) - ], - } - } - } - ] -}) diff --git a/terraform/gitlab/.gitignore b/terraform/gitlab/.gitignore deleted file mode 100644 index 325fc68ea1..0000000000 --- a/terraform/gitlab/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/*.tf.json diff --git a/terraform/gitlab/.terraform.lock.hcl b/terraform/gitlab/.terraform.lock.hcl deleted file mode 120000 index d6d4ac31e3..0000000000 --- a/terraform/gitlab/.terraform.lock.hcl +++ /dev/null @@ -1 +0,0 @@ -../.terraform.lock.hcl \ No newline at end of file diff --git a/terraform/gitlab/Makefile b/terraform/gitlab/Makefile deleted file mode 120000 index 74b5d6c41f..0000000000 --- a/terraform/gitlab/Makefile +++ /dev/null @@ -1 +0,0 @@ -../shared/Makefile \ No newline at end of file diff --git a/terraform/gitlab/backend.tf.json.template.py b/terraform/gitlab/backend.tf.json.template.py deleted file mode 120000 index ab5f569a5a..0000000000 --- a/terraform/gitlab/backend.tf.json.template.py +++ /dev/null @@ -1 +0,0 @@ -../backend.tf.json.template.py \ No newline at end of file diff --git a/terraform/gitlab/common.tf.json.template.py b/terraform/gitlab/common.tf.json.template.py deleted file mode 120000 index 4aaf3badb1..0000000000 --- a/terraform/gitlab/common.tf.json.template.py +++ /dev/null @@ -1 +0,0 @@ -../common.tf.json.template.py \ No newline at end of file diff --git a/terraform/gitlab/gitlab.tf.json.template.py b/terraform/gitlab/gitlab.tf.json.template.py deleted file mode 100644 index 4723869177..0000000000 --- a/terraform/gitlab/gitlab.tf.json.template.py +++ /dev/null @@ -1,2278 +0,0 @@ -from collections.abc import ( - Iterable, -) -import ipaddress -from itertools import ( - chain, -) -import json - -from more_itertools import ( - nth, -) -import yaml - -from azul import ( - config, -) -from azul.collections import ( - alist, - dict_merge, -) -from azul.deployment import ( - aws, -) -from azul.docker import ( - resolve_docker_image_for_pull, -) -from azul.strings import ( - departition, - double_quote as dq, - join_lines as jl, - join_words as jw, - single_quote as sq, -) -from azul.terraform import ( - chalice, - emit_tf, - vpc, -) - -# This Terraform config creates a single EC2 instance with a bunch of Docker -# containers running on it: -# -# ╔══════════════════════════════════════════════════════════════════════════════════════════════════╗ -# ║ gitlab ║ -# ║ ║ -# ║ ┏━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ║ -# ║ ┃ gitlab ┃ ┃ gitlab-runner ┃ ┃ gitlab-dind ┃ ║ -# ║ ┃ gitlab/gitlab-ce ┃ ┃ gitlab/gitlab-runner ┃ ┃ library/docker ┃ ║ -# ║ ┃ ┃ ┃ ┃ ┃ ┃ ║ -# ║ ┃ ┌──────────┐ ┃ ┃ ┌───────────────┐ ┃ ┃ ┌────────────┐ ┃ ║ -# ║ ┃ │ rails │─ ╋ ▶┃ │ gitlab-runner │────╋──╋───▶ 2375│ dockerd │docker.sock ◀─┐ ┃ ║ -# ╔═════╗ ║ ┃ └──────────┘ ┃ ┃ └───┬───────┬───┘ ┃ ┃ └────────────┘ │ ┃ ║ -# ║ ALB ║ ║ ┃ ┌──────────┐ ┃ ┃ │ ┃ ┃ │ ┃ ║ -# ┌──▶ 443╠ ─ ─ ╬──╬──╋───▶ 80│ nginx │ ┃ ┗━━━━━━━╋━━━━━━━╋━━━━━━━━┛ ┃ ┏━━━━━━━━━━━━━━━━━━┓ │ ┃ ║ -# │ ╚═════╝ ║ ┃ └──────────┘ ┃ │ ▲ ┃ ┃ "executor" ┃ │ ┃ ║ -# │ ╔═════╗ ║ ┃ ┌──────────┐ ┃ │ │ ┃ ┃ ucsc/azul/runner ┃ │ ┃ ║ -# │ 22╠ ─ ─ ╬──╬──╋─▶ 2222│ gitaly │ ┃ │ │ ─ ─ ─ ─ ─ ─┃─ ─ ─▶┃ ┃ │ ┃ ║ -# │ ║ ║ ║ ┃ └──────────┘ ┃◀─ ─ ─ │ ┃ ┃ ┌────────────┐ ┃ │ ┃ ║ -# │ ║ ║ ║ ┃ ┃ │ │ │ ┃ ─ ╋ ─│ make │ ┃ │ ┃ ║ -# │ ║ NLB ║ ║ ┗━━━━━━━━━━━━━━━━━━━━━┛ │ ┃ │ ┃ └────────────┘ ┃ │ ┃ ║ -# │ ║ ║ ║ │ │ │ ┃ ┃ ┌────────────┐ ┃ │ ┃ ║ -# │ ║ ║ ║ ┌─────────┐ │ ┃ │ ┃ │ docker │──╋───────────┤ ┃ ║ -# │ 2222╠ ─ ─ ╬──╬──────────────▶ 22│ sshd │ │ │ │ ┃ ┃ └────────────┘ ┃ │ ┃ ║ -# │ ╚═════╝ ║ └─────────┘ │ ┃ │ ┗━━━━━━━━━━━━━━━━━━┛ │ ┃ ║ -# │ ║ ┌─────────┐ │ │ │ ┃ ┏━━━━━━━━━━━━━━━━━━┓ │ ┃ ║ -# │ ║ ┌─▶ docker.sock│ dockerd │ │ ┃ │ ┃ "build" ┃ │ ┃ ║ -# │ ║ │ └─────────┘ │ │ │ ┃ ┃ ucsc/azul/dev ┃ │ ┃ ║ -# │ ║ │ ┌─────────┐ │ ┃ │ ┃ ┃ │ ┃ ║ -# │ ║ └──────────────│ systemd │─ ┴ ─ ┼ ─ ┴ ─ ─ ─ ─ ─ ─ ─▶┃ ┃ ┌────────────┐ ┃ │ ┃ ║ -# │ ║ └─────────┘ │ ┃ │ ┃ │ make │ ┃ │ ┃ ║ -# │ ║ │ ┃ ─▶┃ └────────────┘ ┃ │ ┃ ║ -# └────────────────╬───────────────────────────────────┘ ┃ ┃ ┌────────────┐ ┃ │ ┃ ║ -# ║ ┃ ┃ │ ├──╋───────────┘ ┃ ║ -# ║ ┃ ┌────╋──│ python │ ┃ ┃ ║ -# ║ ┃ │ ┃ │ ├ ─┃─ ┐ ┃ ║ -# ║ ┃ │ ┃ └────────────┘ ┃ ┃ ║ -# ║ ┃ │ ┗━━━━━━━━━━━━━━━━━━┛ │ ┃ ║ -# ║ ┃ │ ┏━━━━━━━━━━━━━━━━━━┓ ┃ ║ -# ║ ┃ │ ┃ elasticsearch ┃ │ ┃ ║ -# ║ ┃ │ ┃ ┌────────────┐ ┃ ┃ ║ -# ║ ┃ └─▶ 9200│ java │ ┃◀ ┘ ┃ ║ -# ║ ┃ ┃ └────────────┘ ┃ ┃ ║ -# ║ ┃ ┗━━━━━━━━━━━━━━━━━━┛ ┃ ║ -# ║ ┃ ┃ ║ -# ║ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ║ -# ║ ║ -# ╚══════════════════════════════════════════════════════════════════════════════════════════════════╝ -# -# ╔════════════╗ ┏━━━━━━━━━━━┓ ┌───────────┐ -# Legend: ║ instance ║ ┃ container ┃ │ process │ ───interact──▶ ─ ─ run ─ ─ ▶ -# ╚════════════╝ ┗━━━━━━━━━━━┛ └───────────┘ -# -# The instance is fronted by two AWS load balancers: -# -# 1) an application load balancer (ALB) that terminates SSL and forwards to the -# Gitlab web UI -# -# 2) an network load balancer that forwards port 22 to an SSH daemon in the -# Gitlab container (for git+ssh://) and port 2222 to an SSH daemon for shell -# access in RancherOS' `console` container. -# -# The instance itself does not have a public IP and is only reachable from the -# internet through the load balancers. -# -# The NLB's public IP is bound to ssh.gitlab. -# {dev,prod}.singlecell.gi.ucsc.edu The ALB's public IP is bound to gitlab. -# {dev,prod}.singlecell.gi.ucsc.edu To log into the instance run `ssh -# rancher@ssh.gitlab.dev.singlecell.gi.ucsc.edu -p 2222`. Your SSH key must be -# mentioned in public_key or other_public_keys below. -# -# The Gitlab web UI is at https://gitlab.{dev,prod}.singlecell.gi.ucsc.edu/. It -# is safe to destroy all resources in this TF config. You can always build them -# up again. The only golden egg is the EBS volume that's attached to the -# instance. See below under ebs_volume_name. RancherOS was chosen for the AMI -# because it has Docker pre installed and supports cloud-init user data. -# -# The container wiring is fairly complicated as it involves docker-in-docker. It -# is inspired by -# -# https://medium.com/@tonywooster/docker-in-docker-in-gitlab-runners-220caeb708ca -# -# In this setup the build container is not privileged while allowing for image -# layer caching between builds. The `elasticsearch` and `dynamodb-local` -# containers are included as examples of test fixtures launched during test -# setup. This aspect may evolve over time. It's worth noting that these fixture -# containers are siblings of the build container. When the tests are run -# locally or on Travis, the tests run on the host. The above diagram also -# glosses over the fact that there are multiple separate bridge networks -# involved. The `gitlab-dind` and `gitlab-runner` containers are attached to a -# separate bridge network. The `gitlab` container is on the default bridge -# network. IMPORTANT: There is a bug in the Terraform AWS provider (I think -# it's conflating the listeners) which causes one of the NLB listeners to be -# missing after `terraform apply`. - -# The name of an EBS volume to attach to the instance. This EBS volume must -# exist, be encrypted, and be formatted with ext4. We don't manage the volume in -# Terraform because that would require formatting it once after creation. That -# can only be one after attaching it to an EC2 instance but before mounting it. -# This turns out to be difficult and risks overwriting existing data on the -# volume. We'd also have to prevent the volume from being deleted during -# `terraform destroy`. -# -# If this EBS volume does not exist you must create it with the desired size -# before running Terraform. For example: -# -# aws ec2 create-volume \ -# --encrypted \ -# --size 100 \ -# --availability-zone "${AWS_DEFAULT_REGION}a" \ -# --tag-specifications 'ResourceType=volume,Tags=[{Key=Name,Value=azul-gitlab},{Key=owner,Value=hannes@ucsc.edu}]' -# -# To then format the volume, you can then either attach it to some other Linux -# instance and format it there or use `make terraform` to create the actual -# Gitlab instance and attach the volume. For the latter you would need to ssh -# into the Gitlab instance, format `/dev/xvdf` (`/dev/nvme1n1` on newer -# instance types) and reboot the instance. For example: -# -# docker stop gitlab-runner -# docker stop gitlab -# docker stop gitlab-dind -# sudo mv /mnt/gitlab /mnt/gitlab.deleteme -# sudo mkdir /mnt/gitlab -# sudo mkfs.ext4 /dev/nvme1n1 -# sudo reboot -# sudo rm -rf /mnt/gitlab.deleteme -# -# The EBS volume should be backed up (EBS snapshot) periodically. Not only does -# it contain Gitlab's data but also its config. -# -ebs_volume_name = 'azul-gitlab' - -num_zones = 2 # An ALB needs at least two availability zones - -# List of port forwardings by the network load balancer (NLB). The first element -# in the tuple is the port on the external interface of the NLB, the second -# element is the port on the instance the NLB forwards to. -# -nlb_ports = [(22, 2222, 'git'), (2222, 22, 'ssh')] - -# The Azul Gitlab instance uses one VPC. This variable specifies the IPv4 -# address block to be used by that VPC. -# -# Be sure to avoid the default Docker address pool: -# -# https://github.com/docker/libnetwork/blob/a79d3687931697244b8e03485bf7b2042f8ec6b6/ipamutils/utils.go#L10 -# - -all_ipv4 = '0.0.0.0/0' - -vpc_cidr = config.vpc_cidr - -vpn_subnet = config.vpn_subnet - -split_tunnel = not config.deployment.is_stable - -# The public key of that keypair -# -administrator_key = ( - 'ssh-rsa' - ' ' - 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDhRBbejN2qT5+6nfpzxPTfTFuSDSiPrAyDKH+V/A9+Xw4ZT8Z3K4d0w0KlwjtRZ' - '7shmIxkN44DY8R8LGCiybYHHVHqRNoQYqY1BkfSSP8h+eTylo4kRE4hKzs97dsBKYN1iXYXxd9yJGf6u3iR51LFijNLNN' - '6QEsxC6PhBReye21X8KdrlOO1owG3D+BVF6Q8PxpBFTjwMLiJUe3hm/vNTrCJErtHAr6ok28BY7rj3UVbGscrnsMIpdsX' - 'OFDl5NU7tB6H9HlQ46l/W70ZSpzx8FQel9kbxcjZLinmsujuILC2bI1ev4EcdTRXo9SHo5VLPnE9J2f6StlqbBYJpbdOl' - ' ' - 'hannes@ucsc.edu' -) - -operator_keys = [ - ( - 'ssh-rsa' - ' ' - 'AAAAB3NzaC1yc2EAAAADAQABAAABgQCrIU25zlzHBxIdEATJZsGXvatdWuen5zlOw1uE25spQ8eNnOUfbz5fR' - 'yiQqyMNxE/dX2hCCDT1mr5Flke4uJ0FayC/l5ZC3bKYE2gnILbZBNsFuueZuDy9pRmZ+eTYs3vKXN361+loRi' - '6ag8h/pOQCvx6oO5NrVSBse0NcEn1tk1h7C1hOf8sblW17+OO9aDQJAA7G4PJw2kBRCYYEwDNLBRy3k1wBdcK' - 'G2t2SuVh+PCpmMPA5/i/raDUqATO1H3bcRubtyGHNbAtihL5HLZK83O9fHVf/MD7il4N/9OwBNpOwvc2gi9zp' - 'ChGpbl5jA2ZfoEDEOhX4ffOD1UwmkmkoUC82BvHyAwdnqgh3Nk4qCum53TsMhXVWMW/8tr/t+AxjE3/Acwj6H' - 'VMz2j+67A0p1oaTbxBXdf00BmAYV2xPZNg8Fa2/AkQWPt4c4JJnktVjWM8/PU1h6FamyHfQ6pNmi+j6rHz9UZ' - 'e1Zt6WybGr+Tt+KifhbCnZQkg74I1uT6M=' - ' ' - 'achave11@ucsc.edu' - ), - ( - 'ssh-rsa' - ' ' - 'AAAAB3NzaC1yc2EAAAADAQABAAABAQDDPUVio1tlAstsaM2Da7QfSIv0zMU7JwjO7a/BvsWg0tXES' - 'gpL59i5QcycpYq6q7naF+N0co325e/OJ4lzi13T5xojSbh/kNETwiI+aJ9f0GxwnygcvVUpsTlH3X01fR+1xm' - 'rlGWi8AhEfbFyAFaqb2i+Whbkt9/oa3EIv4l+OSH6VSRtKRE56IvJ06hnWQ3yR57wxRBnHjiUuEBQ5I0jsye3' - '0OE0USvjfbHqjbR9zyKCgnGuf/fY4aC+oimHu6/FSS3Q8+f5BtRrUjcYvddbAHnzrx08csztCx3s7iA5qUdhr' - 'W07wIjyG7vfB9Y70CDNsfi1Zo/Ff+IMKSzPtasXx' - ' ' - 'dsotirho@ucsc.edu' - ) -] - -# FIXME: Launch GitLab, DinD & runner images using image ID -# https://github.com/DataBiosphere/azul/issues/5960 - -clamav_image, _ = resolve_docker_image_for_pull('clamav') -dind_image, _ = resolve_docker_image_for_pull('dind') -gitlab_image, _ = resolve_docker_image_for_pull('gitlab') -runner_image, _ = resolve_docker_image_for_pull('gitlab_runner') - -# For instructions on finding the latest CIS-hardened AMI, see "Updating the AMI -# for GitLab instances" section in OPERATOR.rst. -# -# CIS Amazon Linux 2 Kernel 5.10 Benchmark - Level 1 - v07 -abcfcbaf-134e-4639-a7b4-fd285b9fcf0a -# -ami_id = { - 'us-east-1': 'ami-05697d3e8a6a5fa8d' -} - -gitlab_mount = '/mnt/gitlab' - -vpc_dns_servers = [ - # https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#AmazonDNS - str(nth(ipaddress.ip_network(vpc_cidr).hosts(), 1)), - '169.254.169.253' -] - -vpc_dns_docker_flags = [f'--dns {s}' for s in vpc_dns_servers] - -aws_managed_buckets_for_ssm_agent = [ - f'{aws.region_name}-birdwatcher-prod', - f'amazon-ssm-{aws.region_name}', - f'amazon-ssm-packages-{aws.region_name}', - f'aws-patchmanager-macos-{aws.region_name}', - f'aws-ssm-{aws.region_name}', - f'aws-ssm-document-attachments-{aws.region_name}', - f'aws-windows-downloads-{aws.region_name}', - f'patch-baseline-snapshot-{aws.region_name}' -] - - -def merge(sets: Iterable[Iterable[str]]) -> Iterable[str]: - return sorted(set(chain(*sets))) - - -emit_tf({} if config.terraform_component != 'gitlab' else { - 'data': { - 'aws_sns_topic': { - 'monitoring': { - 'name': aws.monitoring_topic_name - } - }, - 'aws_availability_zones': { - 'available': {} - }, - 'aws_acm_certificate': { - 'gitlab_vpn': { - 'domain': 'azul-gitlab-vpn-server-' + config.deployment_stage - } - }, - 'aws_ebs_volume': { - 'gitlab': { - 'filter': [ - { - 'name': 'volume-type', - 'values': ['gp2'] - }, - { - 'name': 'tag:Name', - 'values': [ebs_volume_name] - } - ], - 'most_recent': True - } - }, - # This Route53 zone also has to exist. - 'aws_route53_zone': { - 'gitlab': { - 'name': config.domain_name + '.', - 'private_zone': False - } - }, - 'aws_s3_bucket': { - 'logs': { - 'bucket': aws.logs_bucket, - } - }, - 'aws_iam_policy_document': { - # This policy is really close to the policy size limit, if you get - # LimitExceeded: Cannot exceed quota for PolicySize: 6144, you need - # to strip the existing policy down by essentially replacing the - # calls to the helper functions like allow_service() with a - # hand-curated list of actions, potentially by starting from a copy - # of the template output. - 'gitlab_boundary': { - 'statement': [ - { - 'actions': [ - 's3:ListAllMyBuckets', - 's3:GetAccountPublicAccessBlock', - 's3:ListBucket' - ], - 'resources': [ - '*' - ] - }, - { - 'actions': [ - 's3:*' - ], - 'resources': merge( - [ - f'arn:aws:s3:::{bucket_name}', - f'arn:aws:s3:::{bucket_name}/*' - ] for bucket_name in alist( - aws.qualified_bucket_name('*'), - config.mirror_bucket, - *aws_managed_buckets_for_ssm_agent - ) - ) - }, - { - 'actions': [ - 'kms:ListAliases', - 'kms:ListKeys' - ], - 'resources': [ - '*' - ] - }, - { - 'actions': [ - 'kms:GetKeyRotationStatus', - 'kms:ListRetirableGrants', - 'kms:ListResourceTags', - 'kms:ListAliases', - 'kms:GetKeyPolicy', - 'kms:ListKeys', - 'kms:ListGrants', - 'kms:ListKeyPolicies', - 'kms:GetParametersForImport', - 'kms:DescribeKey', - 'kms:GenerateMac', - 'kms:VerifyMac' - ], - 'resources': [ - f'arn:aws:kms:{aws.region_name}:{aws.account}:key/*', - f'arn:aws:kms:{aws.region_name}:{aws.account}:alias/*' - ] - }, - - { - 'actions': [ - 'sqs:ListQueues' - ], - 'resources': [ - '*' - ] - }, - { - 'actions': [ - 'sqs:*' - ], - 'resources': [ - f'arn:aws:sqs:{aws.region_name}:{aws.account}:azul-*' - ] - }, - - # API Gateway ARNs refer to APIs by ID so we cannot restrict - # to name or prefix. Even though all API Gateway ARNs start - # with `arn:aws:apigateway:${Region}::`, using the pattern - # `arn:aws:apigateway:${Region}::*` in the policy causes the - # CreateDomainName action to return AccessDenied for unknown - # reasons. Other API Gateway actions succeed with that ARN - # pattern in the policy. - { - 'actions': [ - 'apigateway:*' - ], - 'resources': [ - '*' - ] - }, - - { - 'actions': [ - 'es:DescribeElasticsearchInstanceTypeLimits', - 'es:ListElasticsearchInstanceTypes', - 'es:ListElasticsearchVersions', - 'es:DescribeReservedElasticsearchInstances', - 'es:ListDomainNames', - 'es:DescribeReservedElasticsearchInstanceOfferings' - ], - 'resources': [ - '*' - ] - }, - - { - 'actions': [ - 'es:*' - ], - 'resources': [ - f'arn:aws:es:{aws.region_name}:{aws.account}:domain/azul-*' - ] - }, - { - 'actions': [ - 'es:ListTags' - ], - 'resources': [ - f'arn:aws:es:{aws.region_name}:{aws.account}:domain/*' - ] - }, - - { - 'actions': [ - 'sts:GetCallerIdentity' - ], - 'resources': [ - '*' - ] - }, - { - 'actions': [ - 'sts:GetFederationToken', - 'sts:GetCallerIdentity' - ], - 'resources': [ - f'arn:aws:sts::{aws.account}:*', - f'arn:aws:iam::{aws.account}:*', - f'arn:aws:iam::{aws.account}:role/*', - f'arn:aws:iam::{aws.account}:user/*' - ] - }, - - { - # ACM ARNs refer to certificates by ID so we - # cannot restrict to name or prefix - 'actions': [ - 'acm:RequestCertificate', - 'acm:ListTagsForCertificate', - 'acm:ListCertificates' - ], - 'resources': [ - '*' - ] - }, - - # API Gateway certs must reside in us-east-1, - # so we'll always add that region - { - 'actions': [ - 'acm:*' - ], - 'resources': [ - f'arn:aws:acm:us-east-1:{aws.account}:certificate/*' - ] - }, - - { - 'actions': [ - 'dynamodb:ListTables', - 'dynamodb:DescribeTimeToLive', - 'dynamodb:DescribeReservedCapacityOfferings', - 'dynamodb:ListBackups', - 'dynamodb:ListStreams', - 'dynamodb:ListTagsOfResource', - 'dynamodb:DescribeLimits', - 'dynamodb:ListGlobalTables', - 'dynamodb:DescribeReservedCapacity' - ], - 'resources': [ - '*' - ] - }, - { - 'actions': [ - 'dynamodb:*' - ], - 'resources': [ - f'arn:aws:dynamodb:{aws.region_name}:{aws.account}:table/azul-*', - f'arn:aws:dynamodb:{aws.region_name}:{aws.account}:table/azul-*/index/*' - ] - }, - - # Lambda ARNs refer to event source mappings by UUID so we - # cannot restrict to name or prefix - { - 'actions': [ - 'lambda:CreateEventSourceMapping', - 'lambda:ListFunctions', - 'lambda:ListLayers', - 'lambda:GetAccountSettings', - 'lambda:ListEventSourceMappings', - 'lambda:GetEventSourceMapping', - 'lambda:ListLayerVersions', - 'lambda:UpdateEventSourceMapping' - ], - 'resources': [ - '*' - ] - }, - { - 'actions': [ - 'lambda:*' - ], - 'resources': [ - f'arn:aws:lambda:{aws.region_name}:{aws.account}:event-source-mapping:*', - f'arn:aws:lambda:{aws.region_name}:{aws.account}:layer:azul-*', - f'arn:aws:lambda:{aws.region_name}:{aws.account}:function:azul-*', - f'arn:aws:lambda:{aws.region_name}:{aws.account}:layer:azul-*:*' - ] - }, - - *chalice.vpc_lambda_iam_policy(for_tf=True), - - # CloudWatch does not describe any resource-level - # permissions - { - 'actions': [ - 'cloudwatch:*' - ], - 'resources': [ - '*' - ] - }, - { - 'actions': [ - 'events:DescribeEventBus', - 'events:TestEventPattern' - ], - 'resources': [ - '*' - ] - }, - { - 'actions': [ - 'events:*' - ], - 'resources': [ - f'arn:aws:events:{aws.region_name}:{aws.account}:rule/azul-*' - ] - }, - # Route 53 ARNs refer to resources by ID so we cannot - # restrict to name or prefix - # - # FIXME: this is obviously problematic - { - 'actions': [ - 'route53:*' - ], - 'resources': [ - '*' - ] - }, - # Secret Manager ARNs refer to secrets by UUID so we cannot - # restrict to name or prefix - # - # FIXME: this is obviously problematic - # - { - 'actions': [ - 'secretsmanager:CreateSecret', - 'secretsmanager:ListSecrets', - 'secretsmanager:GetRandomPassword' - ], - 'resources': [ - '*' - ] - }, - { - 'actions': [ - 'secretsmanager:*' - ], - 'resources': [ - f'arn:aws:secretsmanager:{aws.region_name}:{aws.account}:secret:*' - ] - }, - { - 'actions': [ - 'ssm:GetParameter' - ], - 'resources': [ - f'arn:aws:ssm:{aws.region_name}:{aws.account}:parameter/dcp/dss/*' - ] - }, - { - 'actions': [ - 'states:*' - ], - 'resources': [ - f'arn:aws:states:{aws.region_name}:{aws.account}:execution:azul-*:*', - f'arn:aws:states:{aws.region_name}:{aws.account}:stateMachine:azul-*' - ] - }, - { - 'actions': [ - 'states:ListStateMachines', - 'states:CreateStateMachine' - ], - 'resources': [ - '*' - ] - }, - - # CloudFront uses identifiers in most if its ARNs, not - # names. The identifiers are random so we can't easily use - # the ARNs that reference them in policies. - # - # FIXME: Tighten GitLab security boundary - # https://github.com/DataBiosphere/azul/issues/4207 - { - 'actions': [ - 'cloudfront:*' - ], - 'resources': [ - '*' - ] - }, - - # CloudWatch Logs - # - # FIXME: Tighten GitLab security boundary - # https://github.com/DataBiosphere/azul/issues/4207 - { - 'actions': [ - 'logs:*' - ], - 'resources': [ - '*' - ] - }, - - # WAFv2 - { - 'actions': [ - 'wafv2:*' - ], - 'resources': [ - '*' - ] - } - ] - }, - 'gitlab_iam': { - 'statement': [ - # Let Gitlab manage roles as long as they specify the - # permissions boundary This prevents privilege escalation. - { - 'actions': [ - 'iam:CreateRole', - 'iam:TagRole', - 'iam:UntagRole', - 'iam:PutRolePolicy', - 'iam:DeleteRolePolicy', - 'iam:AttachRolePolicy', - 'iam:DetachRolePolicy', - 'iam:PutRolePermissionsBoundary' - ], - 'resources': [ - f'arn:aws:iam::{aws.account}:role/azul-*' - ], - 'condition': { - 'test': 'StringEquals', - 'variable': 'iam:PermissionsBoundary', - 'values': [ - f'arn:aws:iam::{aws.account}:policy/azul-boundary' - ] - } - }, - { - 'actions': [ - 'iam:CreateServiceLinkedRole' - ], - 'resources': [ - f'arn:aws:iam::{aws.account}' - ':role' - '/aws-service-role' - '/ops.apigateway.amazonaws.com' - '/AWSServiceRoleForAPIGateway', - ] - }, - { - 'actions': [ - 'iam:UpdateAssumeRolePolicy', - 'iam:TagRole', - 'iam:DeleteRole', - 'iam:PassRole' # FIXME: consider iam:PassedToService condition - ], - 'resources': [ - f'arn:aws:iam::{aws.account}:role/azul-*' - ] - }, - { - 'actions': [ - 'iam:GetServiceLinkedRoleDeletionStatus', - 'iam:ListAttachedGroupPolicies', - 'iam:ListSigningCertificates', - 'iam:ListUsers', - 'iam:GetPolicyVersion', - 'iam:GetLoginProfile', - 'iam:ListPolicies', - 'iam:GetUser', - 'iam:GetSSHPublicKey', - 'iam:GetPolicy', - 'iam:ListInstanceProfiles', - 'iam:GenerateCredentialReport', - 'iam:ListMFADevices', - 'iam:ListRoles', - 'iam:SimulateCustomPolicy', - 'iam:ListUserPolicies', - 'iam:GetContextKeysForCustomPolicy', - 'iam:GetServiceLastAccessedDetails', - 'iam:GetCredentialReport', - 'iam:ListServerCertificates', - 'iam:GetOpenIDConnectProvider', - 'iam:ListVirtualMFADevices', - 'iam:ListPolicyVersions', - 'iam:GetInstanceProfile', - 'iam:ListRolePolicies', - 'iam:ListAttachedRolePolicies', - 'iam:GetAccountAuthorizationDetails', - 'iam:GetGroupPolicy', - 'iam:GetRole', - 'iam:SimulatePrincipalPolicy', - 'iam:GetContextKeysForPrincipalPolicy', - 'iam:GetServiceLastAccessedDetailsWithEntities', - 'iam:GetAccessKeyLastUsed', - 'iam:ListGroupPolicies', - 'iam:GetGroup', - 'iam:ListPoliciesGrantingServiceAccess', - 'iam:GetUserPolicy', - 'iam:ListAttachedUserPolicies', - 'iam:ListRoleTags', - 'iam:GenerateServiceLastAccessedDetails', - 'iam:GetSAMLProvider', - 'iam:ListGroups', - 'iam:ListOpenIDConnectProviders', - 'iam:ListServiceSpecificCredentials', - 'iam:ListSSHPublicKeys', - 'iam:ListGroupsForUser', - 'iam:GetServerCertificate', - 'iam:ListEntitiesForPolicy', - 'iam:ListAccessKeys', - 'iam:ListAccountAliases', - 'iam:GetAccountPasswordPolicy', - 'iam:ListUserTags', - 'iam:ListInstanceProfilesForRole', - 'iam:ListSAMLProviders', - 'iam:GetAccountSummary', - 'iam:GetRolePolicy' - ], - 'resources': [ - '*' - ] - }, - *( - # Permissions required to deploy Data Browser and - # Portal - [ - { - 'actions': [ - 's3:*' - ], - 'resources': [ - # Data Portal Dev - 'arn:aws:s3:::dev.singlecell.gi.ucsc.edu/*', - 'arn:aws:s3:::dev.singlecell.gi.ucsc.edu', - # Data Browser Dev - 'arn:aws:s3:::dev.explore.singlecell.gi.ucsc.edu/*', - 'arn:aws:s3:::dev.explore.singlecell.gi.ucsc.edu', - # Data Portal UX-Dev - 'arn:aws:s3:::ux-dev.singlecell.gi.ucsc.edu/*', - 'arn:aws:s3:::ux-dev.singlecell.gi.ucsc.edu', - # Data Browser UX-Dev - 'arn:aws:s3:::ux-dev.explore.singlecell.gi.ucsc.edu/*', - 'arn:aws:s3:::ux-dev.explore.singlecell.gi.ucsc.edu', - # Lungmap Data Portal Dev - 'arn:aws:s3:::data-browser.dev.lungmap.net/*', - 'arn:aws:s3:::data-browser.dev.lungmap.net', - # Lungmap Data Browser Dev - 'arn:aws:s3:::dev.explore.lungmap.net/*', - 'arn:aws:s3:::dev.explore.lungmap.net' - ] - } - ] if config.deployment_stage == 'dev' else [ - { - 'actions': [ - 's3:*' - ], - 'resources': [ - # HCA Data Portal Prod - 'arn:aws:s3:::org-humancellatlas-data-portal-dcp2-prod/*', - 'arn:aws:s3:::org-humancellatlas-data-portal-dcp2-prod', - # HCA Data Browser Prod - 'arn:aws:s3:::org-humancellatlas-data-browser-dcp2-prod/*', - 'arn:aws:s3:::org-humancellatlas-data-browser-dcp2-prod', - # Lungmap Data Browser Prod - 'arn:aws:s3:::data-browser.lungmap.net/*', - 'arn:aws:s3:::data-browser.lungmap.net', - # Lungmap Data Portal Prod - 'arn:aws:s3:::data-browser.explore.lungmap.net/*', - 'arn:aws:s3:::data-browser.explore.lungmap.net' - ] - } - ] if config.deployment_stage == 'prod' else [ - # anvildev and anvilprod already follow the bucket - # naming convention and is covered by the S3 - # permissions in the boundary. - ] - ), - # Manage VPN infrastructure for private API - # FIXME: Tighten GitLab security boundary - # https://github.com/DataBiosphere/azul/issues/4207 - { - 'actions': [ - 'ec2:*' - ], - 'resources': [ - '*' - ] - }, - { - 'actions': [ - 'elasticloadbalancing:*' - ], - 'resources': [ - '*' - ] - }, - - # SNS - { - 'actions': [ - 'sns:*' - ], - 'resources': [ - f'arn:aws:sns:{aws.region_name}:{aws.account}:azul-*' - ] - }, - # Restricting the topic name prevents the SNS topic from - # being used in data blocks. - { - 'actions': [ - 'sns:ListTopics' - ], - 'resources': [ - f'arn:aws:sns:{aws.region_name}:{aws.account}:*' - ] - }, - - # FedRAMP inventory - { - 'actions': [ - 'config:ListDiscoveredResources', - 'config:BatchGetResourceConfig' - ], - 'resources': [ - '*' - ] - }, - { - 'actions': [ - 'ecr:BatchCheckLayerAvailability', - 'ecr:BatchGet*', - 'ecr:Describe*', - 'ecr:Get*', - 'ecr:List*' - ], - 'resources': [ - '*' - ] - }, - { - 'actions': [ - 'logs:CreateLogGroup', - 'logs:CreateLogStream', - 'logs:PutLogEvents' - ], - 'resources': [ - 'arn:aws:logs:*:*:*' - ] - }, - - # KMS writes (reads are granted by boundary policy) - { - 'actions': [ - 'kms:CreateKey' - ], - 'resources': [ - '*' - ] - }, - { - 'actions': [ - 'kms:CreateAlias', - 'kms:UpdateAlias', - 'kms:UpdateKeyDescription', - 'kms:ScheduleKeyDeletion', - 'kms:DeleteAlias', - 'kms:TagResource', - 'kms:UntagResource' - ], - 'resources': [ - f'arn:aws:kms:{aws.region_name}:{aws.account}:key/*', - f'arn:aws:kms:{aws.region_name}:{aws.account}:alias/*' - ] - }, - - # The SSM agent requires explicit permission to access - # certain AWS-managed buckets if S3 traffic is routed - # through a VPC gateway endpoint. See: - # https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-minimum-s3-permissions.html - { - 'actions': [ - 's3:GetObject', - 's3:ListBucket' - ], - 'resources': merge( - [ - f'arn:aws:s3:::{bucket_name}', - f'arn:aws:s3:::{bucket_name}/*' - ] for bucket_name in aws_managed_buckets_for_ssm_agent - ) - } - ] - } - }, - }, - 'resource': { - 'aws_vpc': { - 'gitlab': { - 'cidr_block': vpc_cidr - } - }, - 'aws_subnet': { - # A public and a private subnet per availability zone - f'gitlab_{vpc.subnet_name(public)}_{zone}': { - 'availability_zone': f'${{data.aws_availability_zones.available.names[{zone}]}}', - 'cidr_block': f'${{cidrsubnet(aws_vpc.gitlab.cidr_block, 8, {vpc.subnet_number(zone, public)})}}', - 'map_public_ip_on_launch': public, - 'vpc_id': '${aws_vpc.gitlab.id}' - } - for public in (False, True) - for zone in range(num_zones) - }, - 'aws_internet_gateway': { - 'gitlab': { - 'vpc_id': '${aws_vpc.gitlab.id}' - } - }, - 'aws_route': { - 'gitlab': { - 'destination_cidr_block': all_ipv4, - 'gateway_id': '${aws_internet_gateway.gitlab.id}', - 'route_table_id': '${aws_vpc.gitlab.main_route_table_id}' - } - }, - 'aws_eip': { - f'gitlab_{zone}': { - 'depends_on': [ - 'aws_internet_gateway.gitlab' - ], - 'domain': 'vpc' - } - for zone in range(num_zones) - }, - 'aws_nat_gateway': { - f'gitlab_{zone}': { - 'allocation_id': f'${{aws_eip.gitlab_{zone}.id}}', - 'subnet_id': f'${{aws_subnet.gitlab_public_{zone}.id}}' - } - for zone in range(num_zones) - }, - 'aws_route_table': { - f'gitlab_{zone}': { - 'route': [ - { - 'cidr_block': all_ipv4, - 'nat_gateway_id': f'${{aws_nat_gateway.gitlab_{zone}.id}}', - 'egress_only_gateway_id': None, - 'gateway_id': None, - 'instance_id': None, - 'ipv6_cidr_block': None, - 'network_interface_id': None, - 'transit_gateway_id': None, - 'vpc_peering_connection_id': None, - 'carrier_gateway_id': None, - 'destination_prefix_list_id': None, - 'local_gateway_id': None, - 'vpc_endpoint_id': None, - 'core_network_arn': None, - } - ], - 'vpc_id': '${aws_vpc.gitlab.id}' - } - for zone in range(num_zones) - }, - 'aws_route_table_association': { - f'gitlab_{zone}': { - 'route_table_id': f'${{aws_route_table.gitlab_{zone}.id}}', - 'subnet_id': f'${{aws_subnet.gitlab_private_{zone}.id}}' - } - for zone in range(num_zones) - }, - 'aws_vpc_endpoint': { - f'gitlab_{service}': { - 'service_name': f'com.amazonaws.{config.region}.{service}', - 'vpc_endpoint_type': 'Gateway', - 'vpc_id': '${aws_vpc.gitlab.id}', - 'route_table_ids': [ - '${aws_route_table.gitlab_%d.id}' % i for i in range(num_zones) - ], - } - for service in ['dynamodb', 's3'] - }, - 'aws_default_security_group': { - 'gitlab': { - 'vpc_id': '${aws_vpc.gitlab.id}', - 'egress': [], - 'ingress': [] - } - }, - 'aws_security_group': { - 'gitlab_vpn': { - 'name': 'azul-gitlab-vpn', - 'vpc_id': '${aws_vpc.gitlab.id}', - 'egress': [ - vpc.security_rule(description='Any traffic to the ' - f"{'VPC' if split_tunnel else 'internet'}", - cidr_blocks=['${aws_vpc.gitlab.cidr_block}' if split_tunnel else all_ipv4], - protocol=-1, - from_port=0, - to_port=0), - vpc.security_rule(description='ICMP for PMTUD', - cidr_blocks=[all_ipv4], - protocol='icmp', - from_port=3, # Destination Unreachable - to_port=4) # Fragmentation required DF-flag set - ], - 'ingress': [ - vpc.security_rule(description='Any traffic from the VPC', - cidr_blocks=['${aws_vpc.gitlab.cidr_block}'], - protocol=-1, - from_port=0, - to_port=0), - vpc.security_rule(description='ICMP for PMTUD', - cidr_blocks=[all_ipv4], - protocol='icmp', - from_port=3, # Destination Unreachable - to_port=4) # Fragmentation required DF-flag set - ] - }, - 'gitlab_alb': { - 'name': 'azul-gitlab-alb', - 'vpc_id': '${aws_vpc.gitlab.id}', - 'egress': [ - vpc.security_rule(description='Any traffic to the VPC', - cidr_blocks=['${aws_vpc.gitlab.cidr_block}'], - protocol=-1, - from_port=0, - to_port=0), - vpc.security_rule(description='ICMP for PMTUD', - cidr_blocks=[all_ipv4], - protocol='icmp', - from_port=3, # Destination Unreachable - to_port=4) # Fragmentation required DF-flag set - ], - 'ingress': [ - vpc.security_rule(description='HTTPS from the VPC', - cidr_blocks=['${aws_vpc.gitlab.cidr_block}'], - protocol='tcp', - from_port=443, - to_port=443), - vpc.security_rule(description='ICMP for PMTUD', - cidr_blocks=[all_ipv4], - protocol='icmp', - from_port=3, # Destination Unreachable - to_port=4) # Fragmentation required DF-flag set - - ] - }, - 'gitlab': { - 'name': 'azul-gitlab', - 'vpc_id': '${aws_vpc.gitlab.id}', - 'egress': [ - vpc.security_rule(description='Any traffic to anywhere (to be routed by NAT Gateway)', - cidr_blocks=[all_ipv4], - protocol=-1, - from_port=0, - to_port=0), - # VXLAN for AWS Traffic Capture to a target in the same SG - # In a nutshell, start target instance in this SG, set up - # mirroring target for instance, set up mirroring session - # for source. Then on target instance: - # - # sudo ip link add vxlan0 type vxlan id dev eth0 local 10.0.0.207 dstport 4789 - # sudo sysctl net.ipv6.conf.vxlan0.disable_ipv6=1 - # sudo ip link set vxlan0 up - # sudo tcpdump -i vxlan0 -w /tmp/gitlab.pcap - # OR - # sudo tcpdump -i vxlan0 -w - | tee /tmp/gitlab.pcap | tcpdump -r - - vpc.security_rule(description='VXLAN for AWS Traffic Capture to a target in the same SG', - self=True, - protocol='udp', - from_port=4789, - to_port=4789), - vpc.security_rule(description='ICMP for PMTUD', - cidr_blocks=[all_ipv4], - protocol='icmp', - from_port=3, # Destination Unreachable - to_port=4) # Fragmentation required DF-flag set - ], - 'ingress': [ - vpc.security_rule(description='HTTP from VPC', - cidr_blocks=['${aws_vpc.gitlab.cidr_block}'], - protocol='tcp', - from_port=80, - to_port=80), - *( - vpc.security_rule(description=f'SSH for {name} from VPC', - cidr_blocks=['${aws_vpc.gitlab.cidr_block}'], - protocol='tcp', - from_port=int_port, - to_port=int_port) - for ext_port, int_port, name in nlb_ports - ), - vpc.security_rule(description='VXLAN for AWS Traffic Capture to a target in the same SG', - self=True, - protocol='udp', - from_port=4789, - to_port=4789), - vpc.security_rule(description='ICMP for PMTUD', - cidr_blocks=[all_ipv4], - protocol='icmp', - from_port=3, # Destination Unreachable - to_port=4) # Fragmentation required DF-flag set - ] - } - }, - 'aws_cloudwatch_log_group': { - 'gitlab_vpn': { - 'name': '/aws/vpn/azul-gitlab', - 'retention_in_days': config.audit_log_retention_days, - }, - 'gitlab_vpc': { - 'name': '/aws/vpc/azul-gitlab', - 'retention_in_days': config.audit_log_retention_days, - }, - 'gitlab_cwagent': { - 'name': '/aws/cwagent/azul-gitlab', - 'retention_in_days': config.audit_log_retention_days, - } - }, - 'aws_flow_log': { - 'gitlab': { - 'iam_role_arn': '${aws_iam_role.gitlab_vpc.arn}', - 'log_destination': '${aws_cloudwatch_log_group.gitlab_vpc.arn}', - 'log_destination_type': 'cloud-watch-logs', - 'traffic_type': 'ALL', - 'vpc_id': '${aws_vpc.gitlab.id}', - } - }, - 'aws_ec2_client_vpn_endpoint': { - 'gitlab': { - 'client_cidr_block': vpn_subnet, - 'security_group_ids': ['${aws_security_group.gitlab_vpn.id}'], - 'server_certificate_arn': '${data.aws_acm_certificate.gitlab_vpn.arn}', - 'transport_protocol': 'udp', - 'split_tunnel': split_tunnel, - 'dns_servers': [] if split_tunnel else vpc_dns_servers, - 'authentication_options': { - 'type': 'certificate-authentication', - 'root_certificate_chain_arn': '${data.aws_acm_certificate.gitlab_vpn.arn}' - }, - 'session_timeout_hours': 8, - 'vpc_id': '${aws_vpc.gitlab.id}', - 'connection_log_options': { - 'enabled': True, - 'cloudwatch_log_group': '${aws_cloudwatch_log_group.gitlab_vpn.name}' - } - } - }, - 'aws_ec2_client_vpn_network_association': { - f'gitlab_{zone}': { - 'client_vpn_endpoint_id': '${aws_ec2_client_vpn_endpoint.gitlab.id}', - 'subnet_id': f'${{aws_subnet.gitlab_public_{zone}.id}}' - } - for zone in range(num_zones) - }, - 'aws_ec2_client_vpn_route': { - f'gitlab_{zone}': { - 'client_vpn_endpoint_id': '${aws_ec2_client_vpn_endpoint.gitlab.id}', - 'target_vpc_subnet_id': '${aws_subnet.gitlab_public_%s.id}' % zone, - 'destination_cidr_block': all_ipv4, - 'timeouts': { - # The default is 4 min, which is too short - 'create': '10m' - } - } - for zone in range(num_zones) - if not split_tunnel - }, - 'aws_ec2_client_vpn_authorization_rule': { - 'gitlab': { - 'client_vpn_endpoint_id': '${aws_ec2_client_vpn_endpoint.gitlab.id}', - 'target_network_cidr': ( - '${aws_vpc.gitlab.cidr_block}' - if split_tunnel else - all_ipv4 - ), - 'authorize_all_groups': True - } - }, - 'aws_lb': { - # Add an NLB so we can have a Route 53 alias record pointing at it - 'gitlab_nlb': { - 'name': 'azul-gitlab-nlb', - 'load_balancer_type': 'network', - 'internal': 'true', - 'subnets': [ - f'${{aws_subnet.gitlab_public_{zone}.id}}' for zone in range(num_zones) - ] - }, - # Add an ALB for the same reason and for terminating TLS - 'gitlab_alb': { - 'name': 'azul-gitlab-alb', - 'load_balancer_type': 'application', - 'internal': 'true', - 'subnets': [ - f'${{aws_subnet.gitlab_public_{zone}.id}}' for zone in range(num_zones) - ], - 'security_groups': [ - '${aws_security_group.gitlab_alb.id}' - ], - 'access_logs': [ - { - 'bucket': '${data.aws_s3_bucket.logs.id}', - 'prefix': config.alb_access_log_path_prefix('gitlab'), - 'enabled': True - } - ] - } - }, - 'aws_lb_listener': { - **( - { - 'gitlab_' + name: { - 'port': ext_port, - 'protocol': 'TCP', - 'default_action': [ - { - 'target_group_arn': '${aws_lb_target_group.gitlab_' + name + '.id}', - 'type': 'forward' - } - ], - 'load_balancer_arn': '${aws_lb.gitlab_nlb.id}' - } - for ext_port, int_port, name in nlb_ports - } - ), - 'gitlab_http': { - 'port': 443, - 'protocol': 'HTTPS', - 'ssl_policy': 'ELBSecurityPolicy-FS-1-2-Res-2019-08', - 'certificate_arn': '${aws_acm_certificate.gitlab.arn}', - 'default_action': [ - { - 'target_group_arn': '${aws_lb_target_group.gitlab_http.id}', - 'type': 'forward' - } - ], - 'load_balancer_arn': '${aws_lb.gitlab_alb.id}' - } - }, - 'aws_lb_target_group': { - **( - { - 'gitlab_' + name: { - 'name': 'azul-gitlab-' + name, - 'port': int_port, - 'protocol': 'TCP', - # A target type of `instance` preserves the source IP in - # packets forwarded by the NLB. Any security group - # guarding this traffic must allow ingress not from the - # NLB's internal IP but from the original source IP. - 'target_type': 'instance', - 'vpc_id': '${aws_vpc.gitlab.id}' - } - for ext_port, int_port, name in nlb_ports - } - ), - 'gitlab_http': { - 'name': 'azul-gitlab-http', - 'port': 80, - 'protocol': 'HTTP', - 'target_type': 'instance', - 'vpc_id': '${aws_vpc.gitlab.id}', - 'health_check': { - 'protocol': 'HTTP', - 'path': '/', - 'port': 'traffic-port', - 'healthy_threshold': 5, - 'unhealthy_threshold': 2, - 'timeout': 5, - 'interval': 30, - 'matcher': '302' - } - } - }, - 'aws_lb_target_group_attachment': { - **( - { - 'gitlab_' + name: { - 'target_group_arn': '${aws_lb_target_group.gitlab_' + name + '.arn}', - 'target_id': '${aws_instance.gitlab.id}' - } - for ext_port, int_port, name in nlb_ports - } - ), - 'gitlab_http': { - 'target_group_arn': '${aws_lb_target_group.gitlab_http.arn}', - 'target_id': '${aws_instance.gitlab.id}' - } - }, - 'aws_acm_certificate': { - 'gitlab': { - 'domain_name': '${aws_route53_record.gitlab.name}', - 'subject_alternative_names': ['${aws_route53_record.gitlab_docker.name}'], - 'validation_method': 'DNS', - 'lifecycle': { - 'create_before_destroy': True - } - } - }, - 'aws_acm_certificate_validation': { - 'gitlab': { - 'certificate_arn': '${aws_acm_certificate.gitlab.arn}', - 'validation_record_fqdns': '${[for r in aws_route53_record.gitlab_validation : r.fqdn]}', - } - }, - 'aws_route53_record': { - 'gitlab_validation': { - # The double curlies are not a mistake. This is not an f-string, - # it's a TF expression containing a dictiona - 'for_each': '${{for o in aws_acm_certificate.gitlab.domain_validation_options : o.domain_name => o}}', - 'name': '${each.value.resource_record_name}', - 'type': '${each.value.resource_record_type}', - 'zone_id': '${data.aws_route53_zone.gitlab.id}', - 'records': [ - '${each.value.resource_record_value}', - ], - 'ttl': 60 - }, - **dict_merge( - { - departition('gitlab', '_', subdomain): { - 'zone_id': '${data.aws_route53_zone.gitlab.id}', - 'name': departition(subdomain, '.', f'gitlab.{config.domain_name}'), - 'type': 'A', - 'alias': { - 'name': '${aws_lb.gitlab_alb.dns_name}', - 'zone_id': '${aws_lb.gitlab_alb.zone_id}', - 'evaluate_target_health': False - } - } - } - for subdomain in [None, 'docker'] - ), - 'gitlab_ssh': { - 'zone_id': '${data.aws_route53_zone.gitlab.id}', - 'name': f'ssh.gitlab.{config.domain_name}', - 'type': 'A', - 'alias': { - 'name': '${aws_lb.gitlab_nlb.dns_name}', - 'zone_id': '${aws_lb.gitlab_nlb.zone_id}', - 'evaluate_target_health': False - } - } - }, - 'aws_network_interface': { - 'gitlab': { - 'subnet_id': '${aws_subnet.gitlab_private_0.id}', - 'security_groups': [ - '${aws_security_group.gitlab.id}' - ] - } - }, - 'aws_volume_attachment': { - 'gitlab': { - 'device_name': '/dev/sdf', - 'volume_id': '${data.aws_ebs_volume.gitlab.id}', - 'instance_id': '${aws_instance.gitlab.id}', - 'provisioner': { - 'local-exec': { - 'when': 'destroy', - 'command': 'aws ec2 stop-instances --instance-ids ${self.instance_id}' - ' && aws ec2 wait instance-stopped --instance-ids ${self.instance_id}' - } - } - } - }, - 'aws_key_pair': { - 'gitlab': { - 'key_name': 'azul-gitlab', - 'public_key': administrator_key - } - }, - 'aws_iam_role': { - 'gitlab': { - 'name': 'azul-gitlab', - 'path': '/', - 'assume_role_policy': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - { - 'Action': 'sts:AssumeRole', - 'Principal': { - 'Service': 'ec2.amazonaws.com' - }, - 'Effect': 'Allow', - 'Sid': '' - } - ] - }) - }, - 'gitlab_vpc': { - 'name': 'azul-gitlab_vpc', - 'assume_role_policy': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - { - 'Action': 'sts:AssumeRole', - 'Principal': { - 'Service': 'vpc-flow-logs.amazonaws.com' - }, - 'Effect': 'Allow' - } - ] - }) - } - }, - 'aws_iam_instance_profile': { - 'gitlab': { - 'name': 'azul-gitlab', - 'role': '${aws_iam_role.gitlab.name}', - } - }, - 'aws_iam_policy': { - 'gitlab_iam': { - 'name': 'azul-gitlab-iam', - 'path': '/', - 'policy': '${data.aws_iam_policy_document.gitlab_iam.json}' - }, - 'gitlab_boundary': { - 'name': config.permissions_boundary_name, - 'path': '/', - 'policy': '${data.aws_iam_policy_document.gitlab_boundary.json}' - }, - 'gitlab_vpc': { - 'name': 'azul-gitlab_vpc', - 'policy': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Action': [ - 'logs:CreateLogGroup', - 'logs:CreateLogStream', - 'logs:PutLogEvents', - 'logs:DescribeLogGroups', - 'logs:DescribeLogStreams' - ], - 'Resource': '*' - } - ] - }) - }, - }, - 'aws_iam_service_linked_role': { - 'gitlab_ssm': { - 'aws_service_name': 'ssm.amazonaws.com', - } - }, - 'aws_iam_role_policy_attachment': { - 'gitlab_iam': { - 'role': '${aws_iam_role.gitlab.name}', - 'policy_arn': '${aws_iam_policy.gitlab_iam.arn}' - }, - 'gitlab_ssm': { - 'role': '${aws_iam_role.gitlab.name}', - 'policy_arn': 'arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore' - }, - 'gitlab_ssm_cloudwatch': { - 'role': '${aws_iam_role.gitlab.name}', - 'policy_arn': 'arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy' - }, - # Since we are using the boundary as a policy Gitlab can explicitly - # do everything within the boundary - 'gitlab_boundary': { - 'role': '${aws_iam_role.gitlab.name}', - 'policy_arn': '${aws_iam_policy.gitlab_boundary.arn}' - }, - 'gitlab_vpc': { - 'role': '${aws_iam_role.gitlab_vpc.name}', - 'policy_arn': '${aws_iam_policy.gitlab_vpc.arn}' - } - }, - # FIXME: Move inspector-related resources from gitlab to shared component - # https://github.com/DataBiosphere/azul/issues/5760 - 'aws_inspector2_enabler': { - 'gitlab': { - 'account_ids': [aws.account], - 'resource_types': ['ECR', 'EC2'], - 'depends_on': ['aws_iam_service_linked_role.gitlab_ssm'] - } - }, - 'google_service_account': { - 'gitlab': { - 'project': '${local.google_project}', - 'account_id': name, - 'display_name': name, - } - for name in ['azul-gitlab'] - }, - 'google_project_iam_member': { - 'gitlab_' + name: { - 'project': '${local.google_project}', - 'role': role, - 'member': 'serviceAccount:${google_service_account.gitlab.email}' - } - for name, role in [ - ('write', '${google_project_iam_custom_role.gitlab.id}'), - ('read', 'roles/viewer') - ] - }, - 'google_project_iam_custom_role': { - 'gitlab': { - 'role_id': 'azul_gitlab', - 'title': 'azul_gitlab', - 'permissions': [ - 'resourcemanager.projects.setIamPolicy', - *( - f'iam.{resource}.{operation}' - for operation in ['create', 'delete', 'get', 'list', 'update', 'undelete'] - for resource in ['roles', 'serviceAccountKeys', 'serviceAccounts'] - if resource != 'serviceAccountKeys' or operation not in ['update', 'undelete'] - ), - 'serviceusage.services.use' - ] - } - }, - 'aws_instance': { - 'gitlab': { - 'iam_instance_profile': '${aws_iam_instance_profile.gitlab.name}', - 'ami': ami_id[config.region], - 'instance_type': 't3a.xlarge', - 'metadata_options': { - 'http_endpoint': 'enabled', - 'http_tokens': 'required', - # This value was empirically determined. With a lower value - # builds in GitLab failed with NoCredentialsError. - 'http_put_response_hop_limit': 3 - }, - 'root_block_device': { - 'encrypted': True, - 'volume_size': 20 - }, - 'key_name': '${aws_key_pair.gitlab.key_name}', - 'network_interface': { - 'network_interface_id': '${aws_network_interface.gitlab.id}', - 'device_index': 0 - }, - 'user_data_replace_on_change': True, - 'user_data': '#cloud-config\n' + yaml.dump({ - 'mounts': [ - ['/dev/nvme1n1', gitlab_mount, 'ext4', ''] - ], - 'packages': [ - 'docker', - 'amazon-cloudwatch-agent', - 'amazon-ecr-credential-helper', - 'dracut-fips', - ( - 'https://s3.amazonaws.com' - '/ec2-downloads-windows/SSMAgent/latest/linux_amd64' - '/amazon-ssm-agent.rpm' - ) - ], - 'ssh_authorized_keys': [] if config.deployment.is_stable else operator_keys, - 'bootcmd': [ - [ - 'cloud-init-per', - 'once', - 'disable-ssm', - 'systemctl', - 'disable', - '--now', - 'amazon-ssm-agent.service' - ] - ], - 'write_files': [ - { - 'path': '/root/.docker/config.json', - 'permissions': '0644', - 'owner': 'root', - 'content': json.dumps( - { - 'credHelpers': { - config.docker_registry: 'ecr-login' - } - } - if config.docker_registry else - {} - ) - }, - { - 'path': '/etc/systemd/system/gitlab-dind.service', - 'permissions': '0644', - 'owner': 'root', - 'content': jl( - '[Unit]', - 'Description=Docker-in-Docker service for GitLab', - 'After=docker.service', - 'Requires=docker.service', - '[Service]', - # We explicitly configure Docker (see /etc/docker/daemon.json) to log to - # journald, so we don't need systemd to capture process output. - 'StandardOutput=null', - 'StandardError=null', - 'TimeoutStartSec=5min', # `docker pull` may take a long time - 'Restart=always', - 'ExecStartPre=-/usr/bin/docker stop gitlab-dind', - 'ExecStartPre=-/usr/bin/docker rm gitlab-dind', - 'ExecStartPre=-/usr/bin/docker network rm gitlab-runner-net', - 'ExecStartPre=/usr/bin/docker network create gitlab-runner-net', - 'ExecStartPre=/usr/bin/docker pull ' + str(dind_image), - jw( - 'ExecStart=/usr/bin/docker', - 'run', - '--name gitlab-dind', - '--privileged', - '--rm', - '--network gitlab-runner-net', - # The following option makes dockerd - # listen on port 2375 without TLS. By - # default, dockerd only listens on 2376 - # with TLS. The port is not exposed and - # can only be reached from other - # containers on the dedicated - # gitlab-runner-net network, so TLS is - # unnecessary. - '--env DOCKER_TLS_CERTDIR=', - # This DinD container is attached to a - # custom network. Because of that, Docker - # provides an /etc/resolv.conf that - # configures the container to use the DNS - # server embedded in the Docker daemon, - # which is reachable in the container at - # 127.0.0.11. This is a localhost-like alias - # that would be ignored in second-tier - # containers started by the Docker-daemon - # running in the DinD container, causing - # that container, or rather the embedded DNS - # server it's configured to use, to fall - # back to the reckless defaults hard-coded - # in the Docker source: 8.8.8.8 and 8.8.4.4. - # These servers are operated by Google and - # are rate-limited by source IP. All the - # VPC's egress traffic is routed through a - # NAT so all requests to these servers made - # within the VPC would appear to originate - # from the same public IP, therefore sharing - # one rate limit, causing them to be dropped - # whenever the rate limit is tripped. - # - # By mounting the host's resolv.conf into - # the Dind container, we work around this - # issue, so that containers launched by the - # Docker daemon running in the Dind - # container have a functional non-localhost - # DNS server and don't fall back to the - # Google ones. - # - # It is unclear if mounting resolv.conf is - # needed in conjunction with the --dns flags - # passed below. Then again, providing a - # functional resolv.conf to the DinD - # container can't hurt either. - # - '--volume /etc/resolv.conf:/etc/resolv.conf', - f'--volume {gitlab_mount}/docker:/var/lib/docker', - f'--volume {gitlab_mount}/runner/config:/etc/gitlab-runner', - - # These instances of the `--dns` option are - # passed to the docker client. They affect - # DNS lookups made by the dockerd daemon - # running inside the container. - # - *vpc_dns_docker_flags, - - str(dind_image), - - # These instances of the `--dns` option are - # passed to the dockerd daemon running in - # the container. They affect DNS lookups - # made by containers managed by that daemon, - # not those managed by the daemon running on - # the host. - # - *vpc_dns_docker_flags - ), - '[Install]', - 'WantedBy=multi-user.target', - ) - }, - { - 'path': '/etc/systemd/system/gitlab.service', - 'permissions': '0644', - 'owner': 'root', - 'content': jl( - '[Unit]', - 'Description=GitLab service', - 'After=docker.service', - 'Requires=docker.service', - '[Service]', - # We explicitly configure Docker (see /etc/docker/daemon.json) to log to - # journald, so we don't need systemd to capture process output. - 'StandardOutput=null', - 'StandardError=null', - 'TimeoutStartSec=5min', # `docker pull` may take a long time - 'Restart=always', - 'ExecStartPre=-/usr/bin/docker stop gitlab', - 'ExecStartPre=-/usr/bin/docker rm gitlab', - 'ExecStartPre=/usr/bin/docker pull ' + str(gitlab_image), - # The hardened AMI contains some code that - # creates a default nftables ruleset at boot - # time, in order to satisfy some CIS control, I - # believe. Also at boot time, Docker creates a - # competing iptables ruleset using the - # `iptables` command, which is symlinked to the - # `iptables-legacy` alternative. The result was - # that the GitLab web app provided by this - # container was not reachable from outside the - # host. I tried switching to the `iptables-nft` - # alternative and that prevented the creation of - # a competing iptables ruleset, with only the - # nftables ruleset present, but the webapp - # remained unreachable. I assume this is because - # the nftables ruleset had both the rules from - # the hardened AMI code and those created by - # Docker, still contradicting each other. For - # the time being, we will simply delete the - # default nftables ruleset. This is acceptable - # because even without any firewall rules, the - # the EC2 instance has no public IP and is - # protected by EC2 security groups, which serve - # the same purpose as firewall rules in the - # guest OS. - 'ExecStartPre=/sbin/nft flush ruleset', - # FIXME: Re-enable FIPS mode in GitLab container - # https://github.com/DataBiosphere/azul/issues/7218 - f'ExecStartPre=/bin/mkdir -p {gitlab_mount}/etc', - f'ExecStartPre=/bin/sh -c "echo 0 > {gitlab_mount}/etc/fips_enabled"', - jw( - 'ExecStart=/usr/bin/docker', - 'run', - '--name gitlab', - '--env GITLAB_SKIP_TAIL_LOGS=true', - '--hostname ${aws_route53_record.gitlab.name}', - '--publish 80:80', - '--publish 2222:22', - '--rm', - f'--volume {gitlab_mount}/config:/etc/gitlab', - f'--volume {gitlab_mount}/logs:/var/log/gitlab', - f'--volume {gitlab_mount}/data:/var/opt/gitlab', - # FIXME: Re-enable FIPS mode in GitLab container - # https://github.com/DataBiosphere/azul/issues/7218 - f'--volume {gitlab_mount}/etc/fips_enabled:/proc/sys/crypto/fips_enabled', - *vpc_dns_docker_flags, - str(gitlab_image) - ), - '[Install]', - 'WantedBy=multi-user.target' - ) - }, - { - 'path': '/etc/systemd/system/gitlab-runner.service', - 'permissions': '0644', - 'owner': 'root', - 'content': jl( - '[Unit]', - 'Description=GitLab runner service', - 'After=docker.service gitlab-dind.service gitlab.service', - 'Requires=docker.service gitlab-dind.service gitlab.service', - '[Service]', - # We explicitly configure Docker (see /etc/docker/daemon.json) to log to - # journald, so we don't need systemd to capture process output. - 'StandardOutput=null', - 'StandardError=null', - 'TimeoutStartSec=5min', # `docker pull` may take a long time - 'Restart=always', - 'ExecStartPre=-/usr/bin/docker stop gitlab-runner', - 'ExecStartPre=-/usr/bin/docker rm gitlab-runner', - 'ExecStartPre=/usr/bin/docker pull ' + str(runner_image), - jw( - 'ExecStart=/usr/bin/docker', - 'run', - '--name gitlab-runner', - '--rm', - f'--volume {gitlab_mount}/runner/config:/etc/gitlab-runner', - '--network gitlab-runner-net', - '--env DOCKER_HOST=tcp://gitlab-dind:2375', - *vpc_dns_docker_flags, - str(runner_image) - ), - '[Install]', - 'WantedBy=multi-user.target' - ) - }, - { - 'path': '/etc/systemd/system/clamscan.service', - 'permissions': '0644', - 'owner': 'root', - 'content': jl( - '[Unit]', - 'Description=ClamAV malware scan of entire file system', - 'After=docker.service gitlab-dind.service', - 'Requires=docker.service gitlab-dind.service', - '[Service]', - # We explicitly configure Docker (see /etc/docker/daemon.json) to log to - # journald, so we don't need systemd to capture process output. - 'StandardOutput=null', - 'StandardError=null', - 'Type=simple', - 'TimeoutStartSec=5min', # `docker pull` may take a long time - 'ExecStartPre=-/usr/bin/docker stop clamscan', - 'ExecStartPre=-/usr/bin/docker rm clamscan', - 'ExecStartPre=/usr/bin/docker pull ' + str(clamav_image), - jw( - 'ExecStart=/usr/bin/docker', - 'run', - '--name clamscan', - '--rm', - '--volume /var/run/docker.sock:/var/run/docker.sock', - '--volume /:/scan:ro', - f'--volume {gitlab_mount}/clamav:/var/lib/clamav:rw', - *vpc_dns_docker_flags, - str(clamav_image), - '/bin/sh', - '-c', - dq( - 'freshclam', - '&& echo freshclam succeeded', - '|| (echo freshclam failed; false)', - '&& clamscan', - '--recursive', - '--infected', # Only print infected files - '--allmatch=yes', # Continue scanning within file after a match - '--exclude-dir=^/scan/var/lib/docker/overlay2/.*/merged/sys', - '--exclude-dir=^/scan/var/lib/docker/overlay2/.*/merged/proc', - '--exclude-dir=^/scan/var/lib/docker/overlay2/.*/merged/dev', - '--exclude-dir=^/scan/sys', - '--exclude-dir=^/scan/proc', - '--exclude-dir=^/scan/dev', - '/scan', - '&& echo clamscan succeeded', - '|| (echo clamscan failed; false)' - ) - ), - '[Install]', - 'WantedBy=' - ) - }, - { - 'path': '/etc/systemd/system/clamscan.timer', - 'permissions': '0644', - 'owner': 'root', - 'content': jl( - '[Unit]', - 'Description=Scheduled ClamAV malware scan of entire file system', - '[Timer]', - # Start service every hour unless already running - 'OnCalendar=*-*-* *:0:0', - '[Install]', - 'WantedBy=timers.target' - ) - }, - { - 'path': '/etc/systemd/system/docker-prune.service', - 'permissions': '0644', - 'owner': 'root', - 'content': jl( - '[Unit]', - 'Description=Pruning of stale docker data (containers, networks, images, volumes)', - 'After=docker.service gitlab-dind.service', - 'Requires=docker.service gitlab-dind.service', - '[Service]', - # We explicitly configure Docker (see /etc/docker/daemon.json) to log to - # journald, so we don't need systemd to capture process output. - 'StandardOutput=null', - 'StandardError=null', - 'Type=oneshot', # oneshot to allow multiple ExecStart - 'TimeoutStartSec=5min', # `docker pull` may take a long time - 'ExecStartPre=-/usr/bin/docker stop docker-prune', - 'ExecStartPre=-/usr/bin/docker rm docker-prune', - 'ExecStartPre=/usr/bin/docker pull ' + str(dind_image), - *[ - jw( - 'ExecStart=/usr/bin/docker', - 'exec', # Execute (as in `docker exec`) … - 'gitlab-dind', # … inside the gitlab-dind container … - 'sh -c', # … via the shell so we can redirect stdout - # Normally, output from a `docker exec` command isn't processed by docker's - # logging mechanism, however with a redirect to /proc/1/fd/1 we can send the - # output of the command being exec'd to the docker container's STDOUT. - # https://github.com/moby/moby/issues/8662#issuecomment-277396232 - command, - ) - for command in [ - sq( - 'docker', # The docker … - 'volume', # … volume command … - 'prune', # … to delete, … - '--force', # … without prompting for confirmation, … - '--all', # … all unused volumes … - '> /proc/1/fd/1', # … with output sent to the container's STDOUT. - ), - sq( - 'docker', # The docker … - 'system', # … system command … - 'prune', # … to delete, … - '--force', # … without prompting for confirmation, … - '--all', # … all unused containers, networks, and images … - f'--filter "until={90 * 24}h"', # … except those from more recent builds … - '> /proc/1/fd/1', # … with output sent to the container's STDOUT. - # - # If we deleted more recent images, we would risk failing the requirements - # check on sandbox builds since that check depends on image caching. The - # deadline above assumes that the most recent pipeline was run less than - # three months ago. - ) - ] - ], - '[Install]', - 'WantedBy=' - ) - }, - { - 'path': '/etc/systemd/system/docker-prune.timer', - 'permissions': '0644', - 'owner': 'root', - 'content': jl( - '[Unit]', - 'Description=Scheduled pruning of stale docker images', - '[Timer]', - 'OnCalendar=Sat *-*-* 12:0:0', - '[Install]', - 'WantedBy=timers.target' - ) - }, - { - 'path': '/etc/systemd/system/registry-garbage-collect.service', - 'permissions': '0644', - 'owner': 'root', - 'content': jl( - '[Unit]', - 'Description=GitLab container registry garbage collection', - 'After=docker.service gitlab.service', - 'Requires=docker.service gitlab.service', - '[Service]', - # We explicitly configure Docker (see /etc/docker/daemon.json) to log to - # journald, so we don't need systemd to capture process output. - 'StandardOutput=null', - 'StandardError=null', - 'Type=simple', - 'TimeoutStartSec=5min', # `docker pull` may take a long time - 'ExecStartPre=-/usr/bin/docker stop registry-garbage-collect', - 'ExecStartPre=-/usr/bin/docker rm registry-garbage-collect', - 'ExecStartPre=/usr/bin/docker pull ' + str(gitlab_image), - jw( - 'ExecStart=/usr/bin/docker', - 'exec', # Execute (as in `docker exec`) … - 'gitlab', # … inside the gitlab container … - 'sh -c', # … via the shell so we can redirect stdout - sq( - # Normally, output from a `docker exec` command isn't processed by docker's - # logging mechanism, however with a redirect to /proc/1/fd/1 we can send the - # output of the command being exec'd to the docker container's STDOUT. - # https://github.com/moby/moby/issues/8662#issuecomment-277396232 - '/opt/gitlab/bin/gitlab-ctl', # The gitlab-ctl … - 'registry-garbage-collect', # … garbage collect command … - '-m', # … deleting untagged images … - '> /proc/1/fd/1', # … with output sent to the container's STDOUT. - ), - ), - '[Install]', - 'WantedBy=' - ) - }, - { - 'path': '/etc/systemd/system/registry-garbage-collect.timer', - 'permissions': '0644', - 'owner': 'root', - 'content': jl( - '[Unit]', - 'Description=Scheduled GitLab container registry garbage collection', - '[Timer]', - 'OnCalendar=Sat *-*-* 14:0:0', - '[Install]', - 'WantedBy=timers.target' - ) - }, - { - # AWS recommends placing the amazon-cloudwatch-agent config file at this path. - # Note that the parent of etc/ is where the agent is installed. - 'path': '/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json', - 'permissions': '0664', - 'owner': 'root', - 'content': json.dumps({ - 'agent': { - 'region': aws.region_name, - 'logfile': '/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log', - 'debug': bool(config.debug) - }, - 'metrics': { - 'metrics_collected': { - 'cpu': { - 'append_dimensions': { - 'InstanceName': 'azul-gitlab' - }, - 'resources': [ - "*" - ], - 'measurement': [ - 'cpu_usage_active' - ] - }, - 'mem': { - 'append_dimensions': { - 'InstanceName': 'azul-gitlab' - }, - 'measurement': [ - 'used_percent' - ], - }, - 'disk': { - 'append_dimensions': { - 'InstanceName': 'azul-gitlab' - }, - 'measurement': [ - 'used_percent' - ], - 'resources': [ - '/', - gitlab_mount - ], - # This drops the name of the device - # from the dimensions in each data - # point. Since the device name - # correlates with the mount point, - # maintaining that dimension is - # redundant. Note that we cannot - # drop the fstype dimension this - # way, and therefore have to - # specify it explicitly when we - # create the alarm below. - 'drop_device': True - } - }, - # The dimensions appended to the specific - # metrics are only appended if we specify - # a global append_dimensions field as well. - 'append_dimensions': { - }, - }, - 'logs': { - 'logs_collected': { - 'files': { - 'collect_list': [ - { - 'file_path': path, - 'log_group_name': '${aws_cloudwatch_log_group.gitlab_cwagent.name}', - # https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogStream.html - # Characters disallowed for use in a log stream name are `:` and - # `*`, so we replace any occurrence of `*` in `path` with `?`. - 'log_stream_name': path.replace('*', '?') - } - for path in - [ - f'/var/log/{file}' - for file in - [ - 'amazon/ssm/amazon-ssm-agent.log', - 'audit/audit.log', - 'cloud-init.log', - 'cron', - 'maillog', - 'messages', - 'secure' - ] - - ] + [ - f'{gitlab_mount}/logs/{file}.log' - for file in - [ - 'gitaly/gitaly_ruby_json', - 'gitlab-shell/gitlab-shell', - 'nginx/gitlab_access', - 'nginx/gitlab_error', - 'nginx/gitlab_registry_access', - 'puma/puma_stderr', - 'puma/puma_stdout', - # The '*' is used in order to get the most recent GitLab - # reconfigure logs (name based on UNIX timestamp of when - # reconfigure initiated). Only the most recent file, by - # modification time, matching the wildcard is collected. - 'reconfigure/*' - ] - ] + [ - f'{gitlab_mount}/logs/gitlab-rails/{file}.log' - for file in - [ - 'api_json', - 'application_json', - 'application', - 'audit_json', - 'auth', - 'database_load_balancing', - 'exceptions_json', - 'graphql_json', - 'migrations', - 'production_json', - 'production', - 'sidekiq_client' - ] - ] - ] - } - } - } - # FIXME: Re-enable formatting of the JSON above - # https://github.com/DataBiosphere/azul/issues/5314 - }) - }, - { - 'path': '/etc/docker/daemon.json', - 'permissions': '0644', - 'owner': 'root', - 'content': json.dumps( - { - 'log-driver': 'journald', - 'log-opts': { - 'tag': 'docker: {{.Name}}' - } - } - ) - }, - ], - 'runcmd': [ - ['systemctl', 'daemon-reload'], - ['dracut', '-f'], - ['/sbin/grubby', '--update-kernel=ALL', '--args="fips=1"'], - [ - 'sed', - '--in-place', - # Key exchange algorithm curve25519 is not FIPS-compliant - '--expression=s/curve25519[^,]*,//g', - # OpenSSH fails to start with the chacha20 cipher enabled - '--expression=s/chacha20-poly1305@openssh.com,//g', - '/etc/ssh/sshd_config' - ], - [ - 'systemctl', - 'enable', - '--now', # also start the units - '--no-block', # avoid deadlock with cloud-init which is an active systemd unit, too - 'docker', - 'gitlab-dind', - 'gitlab', - 'gitlab-runner', - 'clamscan.timer', - 'docker-prune.timer', - 'registry-garbage-collect.timer' - ], - [ - 'amazon-cloudwatch-agent-ctl', - '-m', 'ec2', # mode - '-a', 'fetch-config', # action (fetch file from location specified in -c) - '-c', 'file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json', - '-s' # restart agent afterwards - ], - ['yum', '-y', 'update'], - ['systemctl', 'enable', '--now', 'amazon-ssm-agent.service'] - ], - # Reboot to realize the added kernel parameter the changed sshd configuration - 'power_state': { - 'mode': 'reboot' - }, - }, indent=2), - 'tags': { - 'Owner': config.owner - } - } - }, - 'aws_cloudwatch_metric_alarm': { - **{ - 'gitlab_' + resource: { - 'alarm_name': config.qualified_resource_name('gitlab_' + resource), - 'comparison_operator': 'GreaterThanOrEqualToThreshold', - 'datapoints_to_alarm': periods, - 'evaluation_periods': periods, - 'period': 60 * 10, - 'metric_name': metric, - 'namespace': 'CWAgent', - 'dimensions': dimensions | { - # Instead of using 'InstanceId' here, we use a custom - # dimension that has been appended to each metric. This - # removes the need to recreate the alarm every time the - # EC2 instance is recreated, which avoids the alarm from - # entering an insufficient_data state every time the new - # EC2 instance is launched for a first time. - 'InstanceName': 'azul-gitlab' - }, - 'statistic': stat, - 'threshold': threshold, - 'treat_missing_data': 'missing', - **{ - state + '_actions': ['${data.aws_sns_topic.monitoring.arn}'] - for state in ('insufficient_data', 'alarm', 'ok') - }, - } for resource, metric, periods, stat, threshold, dimensions in - [ - # FIXME: Add `mem_used_percent` alarm - # https://github.com/DataBiosphere/azul/issues/5139 - ('data_disk_use', 'disk_used_percent', 6, 'Maximum', 75, {'path': gitlab_mount, 'fstype': 'ext4'}), - ('root_disk_use', 'disk_used_percent', 6, 'Maximum', 75, {'path': '/', 'fstype': 'xfs'}), - ('cpu_use', 'cpu_usage_active', 6 * 5, 'Average', 90, {'cpu': 'cpu-total'}) - ] - } - } - } -}) diff --git a/terraform/gitlab/providers.tf.json.template.py b/terraform/gitlab/providers.tf.json.template.py deleted file mode 120000 index a00233d1c5..0000000000 --- a/terraform/gitlab/providers.tf.json.template.py +++ /dev/null @@ -1 +0,0 @@ -../providers.tf.json.template.py \ No newline at end of file diff --git a/terraform/gitlab/runner/Dockerfile b/terraform/gitlab/runner/Dockerfile deleted file mode 100644 index d1027c38dc..0000000000 --- a/terraform/gitlab/runner/Dockerfile +++ /dev/null @@ -1,54 +0,0 @@ -ARG azul_docker_image -FROM --platform=${TARGETPLATFORM} ${azul_docker_image} - -# Increment the value of this variable to ensure that all installed OS packages -# are upgraded. -# -ARG azul_executor_image_version=1 -RUN apk -U upgrade \ - && apk add make bash docker-credential-ecr-login - -ARG azul_docker_registry -ENV azul_docker_registry=${azul_docker_registry} -RUN mkdir -p ${HOME}/.docker \ - && printf '{"credHelpers": {"%s": "ecr-login"}}\n' "${azul_docker_registry%/}" \ - > "${HOME}/.docker/config.json" - -# This is the image for the GitLab executor for Azul builds. It needs to be -# built locally and pushed to the Docker registry on each GitLab instance before -# Azul can be built there. This should happen once after the EBS data volume -# attached to the instance is initially provisioned, and everytime this file is -# modified. Additionally, the GitLab runner on that instance needs to be -# configured to use it. To build and push the image to a GitLab instance, login -# to the GitLab instance's web UI and perform the following two steps: -# -# 1) Create a group called `UCSC` and a project called Azul underneath it. This -# will ensure that the `ucsc/azul` image repository is created underneath in -# GitLab's image registry. Skip this step if the group and project already -# exist. -# -# 2) Go to your user profile settings and generate a personal access token. For -# details see the documentation on the `azul_gitlab_access_token` environment -# variable. Set that variable to the token. Set the `azul_gitlab_user` -# variable to your GitLab user name. You only need to perform this step once -# per instance. -# -# Run -# -# $ _login -# -# You should now be logged into the GitLab instance's Docker registry. -# -# From the directory containing this file, build the image: -# -# $ make docker -# -# Push the image: -# -# $ make docker_push -# -# To configure the Azul runners on the GitLab instance to use the executor -# image, SSH into the instance and edit `/mnt/gitlab/runner/config/config.toml`. -# Make sure that the runner(s) reserved for Azul refer to this image. This only -# needs to be done once per GitLab data volume, after the volume was newly -# provisioned per data volume. diff --git a/terraform/gitlab/runner/Makefile b/terraform/gitlab/runner/Makefile deleted file mode 100644 index 305b5ff300..0000000000 --- a/terraform/gitlab/runner/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -.PHONY: all -all: docker_push - -include ../../../common.mk - -image := docker.gitlab.$(AZUL_DOMAIN_NAME)/ucsc/azul/runner - -.PHONY: -docker: check_docker - docker build \ - --platform linux/amd64 \ - --build-arg azul_docker_registry=$(azul_docker_registry) \ - --build-arg azul_docker_image=$$(AZUL_DEBUG=0 python -m azul 'docker.resolve_docker_image_for_pull("docker")[0]') \ - --tag $(image) . - -.PHONY: -docker_push: docker - docker push $(image) - -.PHONY: -docker_run: docker - docker run --rm -it \ - --volume $(project_root):/azul \ - --workdir /azul \ - --volume /var/run/docker.sock:/var/run/docker.sock \ - $(image) diff --git a/terraform/gitlab/vpn/Makefile b/terraform/gitlab/vpn/Makefile deleted file mode 100644 index 57a3bb9383..0000000000 --- a/terraform/gitlab/vpn/Makefile +++ /dev/null @@ -1,234 +0,0 @@ -.PHONY: all -all: - -include ../../../common.mk - -SHELL = /bin/bash -easyrsa = $(abspath easy-rsa/easyrsa3/easyrsa) - -client_cn = $(shell git config user.email) -cn = azul-gitlab-vpn -server_cn = $(cn)-server-$(AZUL_DEPLOYMENT_STAGE) -ca_cn = $(cn)-$(AZUL_DEPLOYMENT_STAGE) -pki = $(azul_easyrsa_pki)/gitlab/$(AZUL_DEPLOYMENT_STAGE) - -export EASYRSA_CERT_EXPIRE = $(shell expr 365 '*' 5 / 12) -export EASYRSA_CRL_DAYS = 3650 - -.PHONY: _client -_client: check_env - $(eval export EASYRSA_PKI = $(pki)/client) - -.PHONY: _admin -_admin: check_env - $(eval export EASYRSA_PKI = $(pki)/admin) - -.PHONY: _init -_init: - mkdir -p $(EASYRSA_PKI) - $(easyrsa) init-pki - -.PHONY: init -init: _client _init - -.PHONY: request -request: _client - EASYRSA_REQ_CN=$(client_cn) $(easyrsa) --batch gen-req $(client_cn) nopass - @echo "Hold onto '$(EASYRSA_PKI)/reqs/pki/private/$(client_cn).key' and keep it confidential" - @echo "Send the following certificate request to your administrator:" - @echo - @cat $(EASYRSA_PKI)/reqs/$(client_cn).req \ - | ( command -v pbcopy && tee >(pbcopy) || cat ) - @echo - -.PHONY: import -import: _client - mkdir -p $(EASYRSA_PKI)/issued - @echo "Paste the certificate you received from your administrator and hit Ctrl-D" - @cat > $(EASYRSA_PKI)/issued/$(client_cn).crt - @echo - @echo "Run 'make config > ~/azul-gitlab-$(AZUL_DEPLOYMENT_STAGE)-$(client_cn).ovpn' to generate the OpenVPN configuration" - @echo - -.PHONY: config -config: _client - @echo "Generating configuration for your OpenVPN client ..." >&2 - @if [ -t 1 ]; then echo "Standard output is a terminal." \ - "Please run this target as in 'make config > ~/azul-gitlab-$(AZUL_DEPLOYMENT_STAGE)-$(client_cn).ovpn'." >&2; false; fi - @export endpoint=$$(aws ec2 describe-client-vpn-endpoints \ - --filters Name=tag:Name,Values=azul-gitlab \ - --query ClientVpnEndpoints[*].ClientVpnEndpointId \ - --output text) \ - && aws ec2 export-client-vpn-client-configuration \ - --client-vpn-endpoint-id $$endpoint \ - --output=text - @if [ "$$(AZUL_DEBUG=0 python -m azul config.deployment.is_stable)" != True ] ; then \ - echo "pull-filter ignore redirect-gateway" ; \ - fi - @echo "" - @cat $(EASYRSA_PKI)/issued/$(client_cn).crt | openssl x509 -inform pem - @echo "" - @echo "" - @cat $(EASYRSA_PKI)/private/$(client_cn).key - @echo "" - @echo >&2 - @echo "... done. You can now import the generated configuration to your OpenVPN client." >&2 - @echo "On Ubuntu, this is done with" \ - "'nmcli connection import type openvpn file ~/azul-gitlab-$(AZUL_DEPLOYMENT_STAGE)-$(client_cn).ovpn'" >&2 - @echo >&2 - @if [ "$$(AZUL_DEBUG=0 python -m azul config.deployment.is_stable)" != True ] ; then \ - echo "Please make sure that other Internet traffic isn't routed through the VPN connection." >&2 ; \ - echo "On Ubuntu, this is done with" \ - "'nmcli connection modify azul-gitlab-$(AZUL_DEPLOYMENT_STAGE)-$(client_cn) ipv4.never-default true'" >&2 ; \ - echo "For other operating systems please refer to README.md section 9.1" >&2 ; \ - echo >&2 ; \ - fi - -.PHONY: ca -ca: _admin _init - EASYRSA_REQ_CN=$(ca_cn) $(easyrsa) --batch build-ca nopass - -.PHONY: server -server: _admin - $(easyrsa) --san=DNS:$(server_cn) build-server-full $(server_cn) nopass - @echo "Now run 'make publish'" - -.PHONY: renew_server -renew_server: _admin - $(easyrsa) expire $(server_cn) - $(easyrsa) revoke-expired $(server_cn) - $(easyrsa) --san=DNS:$(server_cn) sign-req server $(server_cn) - @echo "Now run 'make publish'" - -.PHONY: publish -publish: _admin - set -o pipefail \ - && certificate_arn=$$( \ - aws acm list-certificates \ - | jq -r ' \ - .CertificateSummaryList[] \ - | select(.DomainName == "$(server_cn)") \ - | "--certificate-arn " + .CertificateArn \ - ' \ - | python -c 'import sys; \ - l = sys.stdin.readlines(); \ - assert len(l) < 2, ("Too many certificates", l); \ - print(*l[:1]) \ - ' \ - ) \ - && aws acm import-certificate \ - $${certificate_arn} \ - --certificate fileb://$(EASYRSA_PKI)/issued/$(server_cn).crt \ - --private-key fileb://$(EASYRSA_PKI)/private/$(server_cn).key \ - --certificate-chain fileb://$(EASYRSA_PKI)/ca.crt - @echo "Now run 'make apply' in the parent directory. If a certificate for " - @echo "the server CN already existed, it was updated in place and " - @echo "Terraform won't be making any additional changes. However, it may " - @echo "take 15 minutes for the certificate update to percolate. If no " - @echo "certificate existed before, a new one was created just now and " - @echo "Terraform will update (or create) the server VPN endpoint to use " - @echo "that certificate." - -.PHONY: publish_new -publish_new: _admin - aws acm import-certificate \ - --certificate fileb://$(EASYRSA_PKI)/issued/$(server_cn).crt \ - --private-key fileb://$(EASYRSA_PKI)/private/$(server_cn).key \ - --certificate-chain fileb://$(EASYRSA_PKI)/ca.crt - @echo "Now run 'make apply' in the parent directory. A new certificate was " - @echo "created, even if other certificates for the server CN already " - @echo "existed. The presence of multiple certificates for the server CN " - @echo "will cause Terraform to fail. To fix that, you'll have to manually " - @echo "modify the VPN endpoint to use one of them and delete the others. " - @echo "Alternatively, consider using 'make publish' instead." - -_check/%: _admin - @test ! -e $(EASYRSA_PKI)/issued/$*.crt \ - || (echo Certificate $* already exists, you must must revoke it first. ; false) - -import/%: _check/% - @echo "Paste the certificate request you received from the client and hit Ctrl-D" - @export request=$$(mktemp -u) \ - && (cat > $$request) \ - && rm -f $(EASYRSA_PKI)/reqs/$*.req \ - && $(easyrsa) import-req $$request $* \ - && rm $$request - -sign/%: _check/% - $(easyrsa) sign-req client $* - @cat $(EASYRSA_PKI)/issued/$*.crt \ - | openssl x509 -inform pem \ - | ( command -v pbcopy && tee >(pbcopy) || cat ) - @echo - -renew/%: _admin - $(easyrsa) expire $* - $(easyrsa) revoke-expired $* - $(easyrsa) --san=DNS:$(server_cn) sign-req client $* - @cat $(EASYRSA_PKI)/issued/$*.crt \ - | openssl x509 -inform pem \ - | ( command -v pbcopy && tee >(pbcopy) || cat ) - @echo - -.PHONY: list -list: _admin - @cat $(EASYRSA_PKI)/index.txt - @echo - -revoke/%: _admin - $(easyrsa) revoke $* - $(easyrsa) gen-crl - -.PHONY: list_revocations -list_revocations: _admin - $(easyrsa) gen-crl - openssl crl -in $(EASYRSA_PKI)/crl.pem -noout -text - @echo - -.PHONY: publish_revocations -publish_revocations: _admin - $(easyrsa) gen-crl - endpoint_id=$$( \ - aws ec2 describe-client-vpn-endpoints \ - --filters Name=tag:Name,Values=azul-gitlab \ - --query "ClientVpnEndpoints[0].ClientVpnEndpointId" \ - --output text \ - ) \ - && aws ec2 import-client-vpn-client-certificate-revocation-list \ - --certificate-revocation-list file://$(EASYRSA_PKI)/crl.pem \ - --client-vpn-endpoint-id $${endpoint_id} \ - --region $${AWS_DEFAULT_REGION} - -.PHONY: list_published_revocations -list_published_revocations: _admin - set -o pipefail \ - && endpoint_id=$$( \ - aws ec2 describe-client-vpn-endpoints \ - --filters Name=tag:Name,Values=azul-gitlab \ - | jq -r ' \ - .ClientVpnEndpoints[0].ClientVpnEndpointId \ - // error("No such endpoint") \ - ' \ - ) \ - && ( \ - aws ec2 export-client-vpn-client-certificate-revocation-list \ - --client-vpn-endpoint-id $${endpoint_id} \ - --region $${AWS_DEFAULT_REGION} \ - | jq -r '.CertificateRevocationList // empty' \ - | openssl crl -in /dev/stdin -noout -text \ - ) - -# Use this target in conjunction with either _admin or _client to run additional -# EasyRSA commands. 'eval "`make _admin _env`"' for example would configure an -# shell alias called 'easyrsa' pointing at the right executable and also set -# EASYRSA_PKI to point at the PKI directory containing the CA and server certs. - -.PHONY: _env -_env: - @echo "export EASYRSA_PKI='$(EASYRSA_PKI)'" - @echo "alias 'easyrsa=$(easyrsa)'" - - -# Without this `make` would append a dot to $* in pattern rules -# https://stackoverflow.com/questions/4122831/disable-make-builtwwqin-rules-and-variables-from-inside-the-make-file -.SUFFIXES: diff --git a/terraform/gitlab/vpn/easy-rsa b/terraform/gitlab/vpn/easy-rsa deleted file mode 160000 index 8281fa3ac3..0000000000 --- a/terraform/gitlab/vpn/easy-rsa +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8281fa3ac347730153699840ccbf821438815048 diff --git a/terraform/lambda_layer.tf.json.template.py b/terraform/lambda_layer.tf.json.template.py deleted file mode 100644 index 9e210c35dc..0000000000 --- a/terraform/lambda_layer.tf.json.template.py +++ /dev/null @@ -1,28 +0,0 @@ -from azul import ( - config, -) -from azul.deployment import ( - aws, -) -from azul.lambda_layer import ( - DependenciesLayer, -) -from azul.terraform import ( - emit_tf, -) - -layer = DependenciesLayer() - -emit_tf({ - "resource": [ - { - "aws_lambda_layer_version": { - "dependencies": { - "layer_name": config.qualified_resource_name("dependencies"), - "s3_bucket": aws.shared_bucket, - "s3_key": layer.object_key - } - } - } - ], -}) diff --git a/terraform/providers.tf.json.template.py b/terraform/providers.tf.json.template.py deleted file mode 100644 index 0cbdba1b82..0000000000 --- a/terraform/providers.tf.json.template.py +++ /dev/null @@ -1,56 +0,0 @@ -from azul import ( - config, -) -from azul.terraform import ( - emit_tf, -) - -emit_tf(tag_resources=False, config={ - 'terraform': { - 'required_version': config.terraform_version, - 'required_providers': { - 'external': { - 'source': 'hashicorp/external', - 'version': '2.2.0' - }, - 'null': { - 'source': 'hashicorp/null', - 'version': '3.2.0' - }, - 'google': { - 'source': 'hashicorp/google', - 'version': '4.58.0' - }, - 'aws': { - 'source': 'hashicorp/aws', - 'version': '5.80.0' - }, - # FIXME: Remove the provider - # https://github.com/DataBiosphere/azul/pull/6285 - 'opensearch': { - 'source': 'opensearch-project/opensearch', - 'version': '2.2.1' - } - }, - }, - 'provider': [ - *( - # Generate a default `aws` provider and one that pins the region for the certificates of the API Gateway - # custom domain names. Certificates of edge-optimized custom domain names have to reside in us-east-1. - { - 'aws': { - 'region': region, - 'alias': region - } if region else { - } - } - for region in (None, 'us-east-1', 'us-west-2') - ), - { - 'google': { - 'billing_project': config.google_project(), - 'user_project_override': True, - } - } - ] -}) diff --git a/terraform/s3.tf.json.template.py b/terraform/s3.tf.json.template.py deleted file mode 100644 index 019c63748d..0000000000 --- a/terraform/s3.tf.json.template.py +++ /dev/null @@ -1,90 +0,0 @@ -from azul import ( - config, -) -from azul.deployment import ( - aws, -) -from azul.terraform import ( - block_public_s3_bucket_access, - emit_tf, - enable_s3_bucket_inventory, - set_empty_s3_bucket_lifecycle_config, -) - -tf_config = { - 'data': { - 'aws_s3_bucket': { - config.logs_term: { - 'bucket': aws.logs_bucket, - } - }, - }, - 'resource': { - 'aws_s3_bucket': { - config.storage_term: { - 'bucket': aws.storage_bucket, - 'force_destroy': True - }, - **( - { - config.mirror_term: { - 'bucket': aws.mirror_bucket, - } - } - if config.enable_mirroring else - {} - ) - }, - 'aws_s3_bucket_lifecycle_configuration': { - config.storage_term: { - 'bucket': '${aws_s3_bucket.%s.id}' % config.storage_term, - 'rule': { - 'id': 'manifests', - 'status': 'Enabled', - 'filter': { - 'prefix': 'manifests/' - }, - 'expiration': { - 'days': config.manifest_expiration - }, - 'abort_incomplete_multipart_upload': { - 'days_after_initiation': 1 - } - } - }, - **( - { - config.mirror_term: { - 'bucket': '${aws_s3_bucket.%s.id}' % config.mirror_term, - 'rule': { - 'id': 'mirror_cleanup', - 'status': 'Enabled', - 'abort_incomplete_multipart_upload': { - 'days_after_initiation': 1 - } - } - } - } - if config.enable_mirroring else - {} - ) - }, - 'aws_s3_bucket_logging': { - bucket: { - 'bucket': '${aws_s3_bucket.%s.id}' % bucket, - 'target_bucket': '${data.aws_s3_bucket.%s.id}' % config.logs_term, - # Other S3 log deliveries, like ELB, implicitly put a slash - # after the prefix. S3 doesn't, so we add one explicitly. - 'target_prefix': config.s3_access_log_path_prefix(bucket) + '/' - } - for bucket in ( - config.storage_term, - *([config.mirror_term] if config.enable_mirroring else []) - ) - } - } -} -tf_config = enable_s3_bucket_inventory(tf_config) -tf_config = block_public_s3_bucket_access(tf_config) -tf_config = set_empty_s3_bucket_lifecycle_config(tf_config) -emit_tf(tf_config) diff --git a/terraform/shared/.gitignore b/terraform/shared/.gitignore deleted file mode 100644 index 325fc68ea1..0000000000 --- a/terraform/shared/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/*.tf.json diff --git a/terraform/shared/.terraform.lock.hcl b/terraform/shared/.terraform.lock.hcl deleted file mode 120000 index d6d4ac31e3..0000000000 --- a/terraform/shared/.terraform.lock.hcl +++ /dev/null @@ -1 +0,0 @@ -../.terraform.lock.hcl \ No newline at end of file diff --git a/terraform/shared/Makefile b/terraform/shared/Makefile deleted file mode 100644 index f763c07063..0000000000 --- a/terraform/shared/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -.PHONY: all -all: apply - -include ../../common.mk - -.PHONY: clean -clean: git_clean - -.PHONY: state -state: check_terraform check_branch check_aws - -.PHONY: init -init: state providers.tf.json backend.tf.json - terraform init -reconfigure - -.PHONY: config -config: init $(patsubst %.template.py,%,$(wildcard *.tf.json.template.py)) - -.PHONY: validate -validate: config - terraform validate - -.PHONY: plan -plan: validate - terraform plan - -.PHONY: rename_resources -rename_resources: config - python $(project_root)/scripts/rename_resources.py - -.PHONY: import_resources -import_resources: rename_resources - python $(project_root)/scripts/import_default_vpc.py - -.PHONY: apply -apply: validate import_resources - terraform apply - -.PHONY: apply_keep_unused -apply_keep_unused: - azul_terraform_keep_unused=1 $(MAKE) apply - @echo -e "\n" It is safe to ignore any warnings above about azul_terraform_keep_unused. "\n" - -.PHONY: auto_apply -auto_apply: validate import_resources - terraform plan -no-color -out=plan.bin - terraform show -json plan.bin > plan.json - terraform apply -auto-approve plan.bin - -.PHONY: destroy -destroy: validate - terraform destroy diff --git a/terraform/shared/backend.tf.json.template.py b/terraform/shared/backend.tf.json.template.py deleted file mode 120000 index ab5f569a5a..0000000000 --- a/terraform/shared/backend.tf.json.template.py +++ /dev/null @@ -1 +0,0 @@ -../backend.tf.json.template.py \ No newline at end of file diff --git a/terraform/shared/common.tf.json.template.py b/terraform/shared/common.tf.json.template.py deleted file mode 120000 index 4aaf3badb1..0000000000 --- a/terraform/shared/common.tf.json.template.py +++ /dev/null @@ -1 +0,0 @@ -../common.tf.json.template.py \ No newline at end of file diff --git a/terraform/shared/conformance_pack_nist_800_53_rev_4.yaml b/terraform/shared/conformance_pack_nist_800_53_rev_4.yaml deleted file mode 100644 index 7f4f4585d7..0000000000 --- a/terraform/shared/conformance_pack_nist_800_53_rev_4.yaml +++ /dev/null @@ -1,1308 +0,0 @@ -################################################################################## -# -# Copied from: -# https://github.com/awslabs/aws-config-rules/blob/68879566/aws-config-conformance-packs/Operational-Best-Practices-for-NIST-800-53-rev-4.yaml -# -################################################################################## -# -# Conformance Pack: -# Operational Best Practices for 800-53 rev 4 -# -# This conformance pack helps verify compliance with 800-53 rev 4 requirements. -# -# See Parameters section for names and descriptions of required parameters. -# -################################################################################## - -Parameters: - AccessKeysRotatedParamMaxAccessKeyAge: - Default: '90' - Type: String - AcmCertificateExpirationCheckParamDaysToExpiration: - Default: '90' - Type: String - Ec2VolumeInuseCheckParamDeleteOnTermination: - Default: 'TRUE' - Type: String - GuarddutyNonArchivedFindingsParamDaysHighSev: - Default: '1' - Type: String - GuarddutyNonArchivedFindingsParamDaysLowSev: - Default: '30' - Type: String - GuarddutyNonArchivedFindingsParamDaysMediumSev: - Default: '7' - Type: String - IamPasswordPolicyParamMaxPasswordAge: - Default: '90' - Type: String - IamPasswordPolicyParamMinimumPasswordLength: - Default: '14' - Type: String - IamPasswordPolicyParamPasswordReusePrevention: - Default: '24' - Type: String - IamPasswordPolicyParamRequireLowercaseCharacters: - Default: 'true' - Type: String - IamPasswordPolicyParamRequireNumbers: - Default: 'true' - Type: String - IamPasswordPolicyParamRequireSymbols: - Default: 'true' - Type: String - IamPasswordPolicyParamRequireUppercaseCharacters: - Default: 'true' - Type: String - IamUserUnusedCredentialsCheckParamMaxCredentialUsageAge: - Default: '90' - Type: String - RestrictedIncomingTrafficParamBlockedPort1: - Default: '20' - Type: String - RestrictedIncomingTrafficParamBlockedPort2: - Default: '21' - Type: String - RestrictedIncomingTrafficParamBlockedPort3: - Default: '3389' - Type: String - RestrictedIncomingTrafficParamBlockedPort4: - Default: '3306' - Type: String - RestrictedIncomingTrafficParamBlockedPort5: - Default: '4333' - Type: String - S3AccountLevelPublicAccessBlocksParamBlockPublicAcls: - Default: 'True' - Type: String - S3AccountLevelPublicAccessBlocksParamBlockPublicPolicy: - Default: 'True' - Type: String - S3AccountLevelPublicAccessBlocksParamIgnorePublicAcls: - Default: 'True' - Type: String - S3AccountLevelPublicAccessBlocksParamRestrictPublicBuckets: - Default: 'True' - Type: String - VpcSgOpenOnlyToAuthorizedPortsParamAuthorizedTcpPorts: - Default: '443' - Type: String - VpcSgOpenOnlyToAuthorizedPortsParamAuthorizedUdpPorts: - Default: 1020-1025 - Type: String -Resources: - AccessKeysRotated: - Properties: - ConfigRuleName: access-keys-rotated - InputParameters: - maxAccessKeyAge: - Fn::If: - - accessKeysRotatedParamMaxAccessKeyAge - - Ref: AccessKeysRotatedParamMaxAccessKeyAge - - Ref: AWS::NoValue - Source: - Owner: AWS - SourceIdentifier: ACCESS_KEYS_ROTATED - Type: AWS::Config::ConfigRule - AcmCertificateExpirationCheck: - Properties: - ConfigRuleName: acm-certificate-expiration-check - InputParameters: - daysToExpiration: - Fn::If: - - acmCertificateExpirationCheckParamDaysToExpiration - - Ref: AcmCertificateExpirationCheckParamDaysToExpiration - - Ref: AWS::NoValue - Scope: - ComplianceResourceTypes: - - AWS::ACM::Certificate - Source: - Owner: AWS - SourceIdentifier: ACM_CERTIFICATE_EXPIRATION_CHECK - Type: AWS::Config::ConfigRule - AlbHttpDropInvalidHeaderEnabled: - Properties: - ConfigRuleName: alb-http-drop-invalid-header-enabled - Scope: - ComplianceResourceTypes: - - AWS::ElasticLoadBalancingV2::LoadBalancer - Source: - Owner: AWS - SourceIdentifier: ALB_HTTP_DROP_INVALID_HEADER_ENABLED - Type: AWS::Config::ConfigRule - AlbHttpToHttpsRedirectionCheck: - Properties: - ConfigRuleName: alb-http-to-https-redirection-check - Source: - Owner: AWS - SourceIdentifier: ALB_HTTP_TO_HTTPS_REDIRECTION_CHECK - Type: AWS::Config::ConfigRule - AlbWafEnabled: - Properties: - ConfigRuleName: alb-waf-enabled - Scope: - ComplianceResourceTypes: - - AWS::ElasticLoadBalancingV2::LoadBalancer - Source: - Owner: AWS - SourceIdentifier: ALB_WAF_ENABLED - Type: AWS::Config::ConfigRule - ApiGwCacheEnabledAndEncrypted: - Properties: - ConfigRuleName: api-gw-cache-enabled-and-encrypted - Scope: - ComplianceResourceTypes: - - AWS::ApiGateway::Stage - Source: - Owner: AWS - SourceIdentifier: API_GW_CACHE_ENABLED_AND_ENCRYPTED - Type: AWS::Config::ConfigRule - ApiGwExecutionLoggingEnabled: - Properties: - ConfigRuleName: api-gw-execution-logging-enabled - Scope: - ComplianceResourceTypes: - - AWS::ApiGateway::Stage - - AWS::ApiGatewayV2::Stage - Source: - Owner: AWS - SourceIdentifier: API_GW_EXECUTION_LOGGING_ENABLED - Type: AWS::Config::ConfigRule - AutoscalingGroupElbHealthcheckRequired: - Properties: - ConfigRuleName: autoscaling-group-elb-healthcheck-required - Scope: - ComplianceResourceTypes: - - AWS::AutoScaling::AutoScalingGroup - Source: - Owner: AWS - SourceIdentifier: AUTOSCALING_GROUP_ELB_HEALTHCHECK_REQUIRED - Type: AWS::Config::ConfigRule - CloudTrailCloudWatchLogsEnabled: - Properties: - ConfigRuleName: cloud-trail-cloud-watch-logs-enabled - Source: - Owner: AWS - SourceIdentifier: CLOUD_TRAIL_CLOUD_WATCH_LOGS_ENABLED - Type: AWS::Config::ConfigRule - CloudTrailEnabled: - Properties: - ConfigRuleName: cloudtrail-enabled - Source: - Owner: AWS - SourceIdentifier: CLOUD_TRAIL_ENABLED - Type: AWS::Config::ConfigRule - CloudTrailEncryptionEnabled: - Properties: - ConfigRuleName: cloud-trail-encryption-enabled - Source: - Owner: AWS - SourceIdentifier: CLOUD_TRAIL_ENCRYPTION_ENABLED - Type: AWS::Config::ConfigRule - CloudTrailLogFileValidationEnabled: - Properties: - ConfigRuleName: cloud-trail-log-file-validation-enabled - Source: - Owner: AWS - SourceIdentifier: CLOUD_TRAIL_LOG_FILE_VALIDATION_ENABLED - Type: AWS::Config::ConfigRule - CloudtrailS3DataeventsEnabled: - Properties: - ConfigRuleName: cloudtrail-s3-dataevents-enabled - Source: - Owner: AWS - SourceIdentifier: CLOUDTRAIL_S3_DATAEVENTS_ENABLED - Type: AWS::Config::ConfigRule - CloudtrailSecurityTrailEnabled: - Properties: - ConfigRuleName: cloudtrail-security-trail-enabled - Source: - Owner: AWS - SourceIdentifier: CLOUDTRAIL_SECURITY_TRAIL_ENABLED - Type: AWS::Config::ConfigRule - CloudwatchAlarmActionCheck: - Properties: - ConfigRuleName: cloudwatch-alarm-action-check - InputParameters: - alarmActionRequired: 'TRUE' - insufficientDataActionRequired: 'TRUE' - okActionRequired: 'FALSE' - Scope: - ComplianceResourceTypes: - - AWS::CloudWatch::Alarm - Source: - Owner: AWS - SourceIdentifier: CLOUDWATCH_ALARM_ACTION_CHECK - Type: AWS::Config::ConfigRule - CloudwatchLogGroupEncrypted: - Properties: - ConfigRuleName: cloudwatch-log-group-encrypted - Source: - Owner: AWS - SourceIdentifier: CLOUDWATCH_LOG_GROUP_ENCRYPTED - Type: AWS::Config::ConfigRule - CmkBackingKeyRotationEnabled: - Properties: - ConfigRuleName: cmk-backing-key-rotation-enabled - Source: - Owner: AWS - SourceIdentifier: CMK_BACKING_KEY_ROTATION_ENABLED - Type: AWS::Config::ConfigRule - CodebuildProjectEnvvarAwscredCheck: - Properties: - ConfigRuleName: codebuild-project-envvar-awscred-check - Scope: - ComplianceResourceTypes: - - AWS::CodeBuild::Project - Source: - Owner: AWS - SourceIdentifier: CODEBUILD_PROJECT_ENVVAR_AWSCRED_CHECK - Type: AWS::Config::ConfigRule - CodebuildProjectSourceRepoUrlCheck: - Properties: - ConfigRuleName: codebuild-project-source-repo-url-check - Scope: - ComplianceResourceTypes: - - AWS::CodeBuild::Project - Source: - Owner: AWS - SourceIdentifier: CODEBUILD_PROJECT_SOURCE_REPO_URL_CHECK - Type: AWS::Config::ConfigRule - CwLoggroupRetentionPeriodCheck: - Properties: - ConfigRuleName: cw-loggroup-retention-period-check - Source: - Owner: AWS - SourceIdentifier: CW_LOGGROUP_RETENTION_PERIOD_CHECK - Type: AWS::Config::ConfigRule - DbInstanceBackupEnabled: - Properties: - ConfigRuleName: db-instance-backup-enabled - Scope: - ComplianceResourceTypes: - - AWS::RDS::DBInstance - Source: - Owner: AWS - SourceIdentifier: DB_INSTANCE_BACKUP_ENABLED - Type: AWS::Config::ConfigRule - DmsReplicationNotPublic: - Properties: - ConfigRuleName: dms-replication-not-public - Scope: - ComplianceResourceTypes: [] - Source: - Owner: AWS - SourceIdentifier: DMS_REPLICATION_NOT_PUBLIC - Type: AWS::Config::ConfigRule - DynamodbAutoscalingEnabled: - Properties: - ConfigRuleName: dynamodb-autoscaling-enabled - Scope: - ComplianceResourceTypes: - - AWS::DynamoDB::Table - Source: - Owner: AWS - SourceIdentifier: DYNAMODB_AUTOSCALING_ENABLED - Type: AWS::Config::ConfigRule - DynamodbInBackupPlan: - Properties: - ConfigRuleName: dynamodb-in-backup-plan - Source: - Owner: AWS - SourceIdentifier: DYNAMODB_IN_BACKUP_PLAN - Type: AWS::Config::ConfigRule - DynamodbPitrEnabled: - Properties: - ConfigRuleName: dynamodb-pitr-enabled - Scope: - ComplianceResourceTypes: - - AWS::DynamoDB::Table - Source: - Owner: AWS - SourceIdentifier: DYNAMODB_PITR_ENABLED - Type: AWS::Config::ConfigRule - DynamodbTableEncryptedKms: - Properties: - ConfigRuleName: dynamodb-table-encrypted-kms - Scope: - ComplianceResourceTypes: - - AWS::DynamoDB::Table - Source: - Owner: AWS - SourceIdentifier: DYNAMODB_TABLE_ENCRYPTED_KMS - Type: AWS::Config::ConfigRule - EbsInBackupPlan: - Properties: - ConfigRuleName: ebs-in-backup-plan - Source: - Owner: AWS - SourceIdentifier: EBS_IN_BACKUP_PLAN - Type: AWS::Config::ConfigRule - EbsSnapshotPublicRestorableCheck: - Properties: - ConfigRuleName: ebs-snapshot-public-restorable-check - Source: - Owner: AWS - SourceIdentifier: EBS_SNAPSHOT_PUBLIC_RESTORABLE_CHECK - Type: AWS::Config::ConfigRule - Ec2EbsEncryptionByDefault: - Properties: - ConfigRuleName: ec2-ebs-encryption-by-default - Source: - Owner: AWS - SourceIdentifier: EC2_EBS_ENCRYPTION_BY_DEFAULT - Type: AWS::Config::ConfigRule - Ec2Imdsv2Check: - Properties: - ConfigRuleName: ec2-imdsv2-check - Scope: - ComplianceResourceTypes: - - AWS::EC2::Instance - Source: - Owner: AWS - SourceIdentifier: EC2_IMDSV2_CHECK - Type: AWS::Config::ConfigRule - Ec2InstanceDetailedMonitoringEnabled: - Properties: - ConfigRuleName: ec2-instance-detailed-monitoring-enabled - Scope: - ComplianceResourceTypes: - - AWS::EC2::Instance - Source: - Owner: AWS - SourceIdentifier: EC2_INSTANCE_DETAILED_MONITORING_ENABLED - Type: AWS::Config::ConfigRule - Ec2InstanceManagedBySsm: - Properties: - ConfigRuleName: ec2-instance-managed-by-systems-manager - Scope: - ComplianceResourceTypes: - - AWS::EC2::Instance - - AWS::SSM::ManagedInstanceInventory - Source: - Owner: AWS - SourceIdentifier: EC2_INSTANCE_MANAGED_BY_SSM - Type: AWS::Config::ConfigRule - Ec2InstanceNoPublicIp: - Properties: - ConfigRuleName: ec2-instance-no-public-ip - Scope: - ComplianceResourceTypes: - - AWS::EC2::Instance - Source: - Owner: AWS - SourceIdentifier: EC2_INSTANCE_NO_PUBLIC_IP - Type: AWS::Config::ConfigRule - Ec2ManagedinstanceAssociationComplianceStatusCheck: - Properties: - ConfigRuleName: ec2-managedinstance-association-compliance-status-check - Scope: - ComplianceResourceTypes: - - AWS::SSM::AssociationCompliance - Source: - Owner: AWS - SourceIdentifier: EC2_MANAGEDINSTANCE_ASSOCIATION_COMPLIANCE_STATUS_CHECK - Type: AWS::Config::ConfigRule - Ec2ManagedinstancePatchComplianceStatusCheck: - Properties: - ConfigRuleName: ec2-managedinstance-patch-compliance-status-check - Scope: - ComplianceResourceTypes: - - AWS::SSM::PatchCompliance - Source: - Owner: AWS - SourceIdentifier: EC2_MANAGEDINSTANCE_PATCH_COMPLIANCE_STATUS_CHECK - Type: AWS::Config::ConfigRule - Ec2StoppedInstance: - Properties: - ConfigRuleName: ec2-stopped-instance - Source: - Owner: AWS - SourceIdentifier: EC2_STOPPED_INSTANCE - Type: AWS::Config::ConfigRule - Ec2VolumeInuseCheck: - Properties: - ConfigRuleName: ec2-volume-inuse-check - InputParameters: - deleteOnTermination: - Fn::If: - - ec2VolumeInuseCheckParamDeleteOnTermination - - Ref: Ec2VolumeInuseCheckParamDeleteOnTermination - - Ref: AWS::NoValue - Scope: - ComplianceResourceTypes: - - AWS::EC2::Volume - Source: - Owner: AWS - SourceIdentifier: EC2_VOLUME_INUSE_CHECK - Type: AWS::Config::ConfigRule - EfsEncryptedCheck: - Properties: - ConfigRuleName: efs-encrypted-check - Source: - Owner: AWS - SourceIdentifier: EFS_ENCRYPTED_CHECK - Type: AWS::Config::ConfigRule - EfsInBackupPlan: - Properties: - ConfigRuleName: efs-in-backup-plan - Source: - Owner: AWS - SourceIdentifier: EFS_IN_BACKUP_PLAN - Type: AWS::Config::ConfigRule - ElasticacheRedisClusterAutomaticBackupCheck: - Properties: - ConfigRuleName: elasticache-redis-cluster-automatic-backup-check - Source: - Owner: AWS - SourceIdentifier: ELASTICACHE_REDIS_CLUSTER_AUTOMATIC_BACKUP_CHECK - Type: AWS::Config::ConfigRule - ElasticsearchEncryptedAtRest: - Properties: - ConfigRuleName: elasticsearch-encrypted-at-rest - Source: - Owner: AWS - SourceIdentifier: ELASTICSEARCH_ENCRYPTED_AT_REST - Type: AWS::Config::ConfigRule - ElasticsearchInVpcOnly: - Properties: - ConfigRuleName: elasticsearch-in-vpc-only - Source: - Owner: AWS - SourceIdentifier: ELASTICSEARCH_IN_VPC_ONLY - Type: AWS::Config::ConfigRule - ElasticsearchNodeToNodeEncryptionCheck: - Properties: - ConfigRuleName: elasticsearch-node-to-node-encryption-check - Scope: - ComplianceResourceTypes: - - AWS::Elasticsearch::Domain - Source: - Owner: AWS - SourceIdentifier: ELASTICSEARCH_NODE_TO_NODE_ENCRYPTION_CHECK - Type: AWS::Config::ConfigRule - ElbAcmCertificateRequired: - Properties: - ConfigRuleName: elb-acm-certificate-required - Scope: - ComplianceResourceTypes: - - AWS::ElasticLoadBalancing::LoadBalancer - Source: - Owner: AWS - SourceIdentifier: ELB_ACM_CERTIFICATE_REQUIRED - Type: AWS::Config::ConfigRule - ElbCrossZoneLoadBalancingEnabled: - Properties: - ConfigRuleName: elb-cross-zone-load-balancing-enabled - Scope: - ComplianceResourceTypes: - - AWS::ElasticLoadBalancing::LoadBalancer - Source: - Owner: AWS - SourceIdentifier: ELB_CROSS_ZONE_LOAD_BALANCING_ENABLED - Type: AWS::Config::ConfigRule - ElbDeletionProtectionEnabled: - Properties: - ConfigRuleName: elb-deletion-protection-enabled - Scope: - ComplianceResourceTypes: - - AWS::ElasticLoadBalancingV2::LoadBalancer - Source: - Owner: AWS - SourceIdentifier: ELB_DELETION_PROTECTION_ENABLED - Type: AWS::Config::ConfigRule - ElbLoggingEnabled: - Properties: - ConfigRuleName: elb-logging-enabled - Scope: - ComplianceResourceTypes: - - AWS::ElasticLoadBalancing::LoadBalancer - - AWS::ElasticLoadBalancingV2::LoadBalancer - Source: - Owner: AWS - SourceIdentifier: ELB_LOGGING_ENABLED - Type: AWS::Config::ConfigRule - ElbTlsHttpsListenersOnly: - Properties: - ConfigRuleName: elb-tls-https-listeners-only - Scope: - ComplianceResourceTypes: - - AWS::ElasticLoadBalancing::LoadBalancer - Source: - Owner: AWS - SourceIdentifier: ELB_TLS_HTTPS_LISTENERS_ONLY - Type: AWS::Config::ConfigRule - EmrKerberosEnabled: - Properties: - ConfigRuleName: emr-kerberos-enabled - Source: - Owner: AWS - SourceIdentifier: EMR_KERBEROS_ENABLED - Type: AWS::Config::ConfigRule - EmrMasterNoPublicIp: - Properties: - ConfigRuleName: emr-master-no-public-ip - Scope: - ComplianceResourceTypes: [] - Source: - Owner: AWS - SourceIdentifier: EMR_MASTER_NO_PUBLIC_IP - Type: AWS::Config::ConfigRule - EncryptedVolumes: - Properties: - ConfigRuleName: encrypted-volumes - Scope: - ComplianceResourceTypes: - - AWS::EC2::Volume - Source: - Owner: AWS - SourceIdentifier: ENCRYPTED_VOLUMES - Type: AWS::Config::ConfigRule - GuarddutyEnabledCentralized: - Properties: - ConfigRuleName: guardduty-enabled-centralized - Source: - Owner: AWS - SourceIdentifier: GUARDDUTY_ENABLED_CENTRALIZED - Type: AWS::Config::ConfigRule - GuarddutyNonArchivedFindings: - Properties: - ConfigRuleName: guardduty-non-archived-findings - InputParameters: - daysHighSev: - Fn::If: - - guarddutyNonArchivedFindingsParamDaysHighSev - - Ref: GuarddutyNonArchivedFindingsParamDaysHighSev - - Ref: AWS::NoValue - daysLowSev: - Fn::If: - - guarddutyNonArchivedFindingsParamDaysLowSev - - Ref: GuarddutyNonArchivedFindingsParamDaysLowSev - - Ref: AWS::NoValue - daysMediumSev: - Fn::If: - - guarddutyNonArchivedFindingsParamDaysMediumSev - - Ref: GuarddutyNonArchivedFindingsParamDaysMediumSev - - Ref: AWS::NoValue - Source: - Owner: AWS - SourceIdentifier: GUARDDUTY_NON_ARCHIVED_FINDINGS - Type: AWS::Config::ConfigRule - IamGroupHasUsersCheck: - Properties: - ConfigRuleName: iam-group-has-users-check - Scope: - ComplianceResourceTypes: - - AWS::IAM::Group - Source: - Owner: AWS - SourceIdentifier: IAM_GROUP_HAS_USERS_CHECK - Type: AWS::Config::ConfigRule - IamNoInlinePolicyCheck: - Properties: - ConfigRuleName: iam-no-inline-policy-check - Scope: - ComplianceResourceTypes: - - AWS::IAM::User - - AWS::IAM::Role - - AWS::IAM::Group - Source: - Owner: AWS - SourceIdentifier: IAM_NO_INLINE_POLICY_CHECK - Type: AWS::Config::ConfigRule - IamPasswordPolicy: - Properties: - ConfigRuleName: iam-password-policy - InputParameters: - MaxPasswordAge: - Fn::If: - - iamPasswordPolicyParamMaxPasswordAge - - Ref: IamPasswordPolicyParamMaxPasswordAge - - Ref: AWS::NoValue - MinimumPasswordLength: - Fn::If: - - iamPasswordPolicyParamMinimumPasswordLength - - Ref: IamPasswordPolicyParamMinimumPasswordLength - - Ref: AWS::NoValue - PasswordReusePrevention: - Fn::If: - - iamPasswordPolicyParamPasswordReusePrevention - - Ref: IamPasswordPolicyParamPasswordReusePrevention - - Ref: AWS::NoValue - RequireLowercaseCharacters: - Fn::If: - - iamPasswordPolicyParamRequireLowercaseCharacters - - Ref: IamPasswordPolicyParamRequireLowercaseCharacters - - Ref: AWS::NoValue - RequireNumbers: - Fn::If: - - iamPasswordPolicyParamRequireNumbers - - Ref: IamPasswordPolicyParamRequireNumbers - - Ref: AWS::NoValue - RequireSymbols: - Fn::If: - - iamPasswordPolicyParamRequireSymbols - - Ref: IamPasswordPolicyParamRequireSymbols - - Ref: AWS::NoValue - RequireUppercaseCharacters: - Fn::If: - - iamPasswordPolicyParamRequireUppercaseCharacters - - Ref: IamPasswordPolicyParamRequireUppercaseCharacters - - Ref: AWS::NoValue - Source: - Owner: AWS - SourceIdentifier: IAM_PASSWORD_POLICY - Type: AWS::Config::ConfigRule - IamPolicyNoStatementsWithAdminAccess: - Properties: - ConfigRuleName: iam-policy-no-statements-with-admin-access - Scope: - ComplianceResourceTypes: - - AWS::IAM::Policy - Source: - Owner: AWS - SourceIdentifier: IAM_POLICY_NO_STATEMENTS_WITH_ADMIN_ACCESS - Type: AWS::Config::ConfigRule - IamRootAccessKeyCheck: - Properties: - ConfigRuleName: iam-root-access-key-check - Source: - Owner: AWS - SourceIdentifier: IAM_ROOT_ACCESS_KEY_CHECK - Type: AWS::Config::ConfigRule - IamUserGroupMembershipCheck: - Properties: - ConfigRuleName: iam-user-group-membership-check - Scope: - ComplianceResourceTypes: - - AWS::IAM::User - Source: - Owner: AWS - SourceIdentifier: IAM_USER_GROUP_MEMBERSHIP_CHECK - Type: AWS::Config::ConfigRule - IamUserMfaEnabled: - Properties: - ConfigRuleName: iam-user-mfa-enabled - Source: - Owner: AWS - SourceIdentifier: IAM_USER_MFA_ENABLED - Type: AWS::Config::ConfigRule - IamUserNoPoliciesCheck: - Properties: - ConfigRuleName: iam-user-no-policies-check - Scope: - ComplianceResourceTypes: - - AWS::IAM::User - Source: - Owner: AWS - SourceIdentifier: IAM_USER_NO_POLICIES_CHECK - Type: AWS::Config::ConfigRule - IamUserUnusedCredentialsCheck: - Properties: - ConfigRuleName: iam-user-unused-credentials-check - InputParameters: - maxCredentialUsageAge: - Fn::If: - - iamUserUnusedCredentialsCheckParamMaxCredentialUsageAge - - Ref: IamUserUnusedCredentialsCheckParamMaxCredentialUsageAge - - Ref: AWS::NoValue - Source: - Owner: AWS - SourceIdentifier: IAM_USER_UNUSED_CREDENTIALS_CHECK - Type: AWS::Config::ConfigRule - IncomingSshDisabled: - Properties: - ConfigRuleName: restricted-ssh - Scope: - ComplianceResourceTypes: - - AWS::EC2::SecurityGroup - Source: - Owner: AWS - SourceIdentifier: INCOMING_SSH_DISABLED - Type: AWS::Config::ConfigRule - InstancesInVpc: - Properties: - ConfigRuleName: ec2-instances-in-vpc - Scope: - ComplianceResourceTypes: - - AWS::EC2::Instance - Source: - Owner: AWS - SourceIdentifier: INSTANCES_IN_VPC - Type: AWS::Config::ConfigRule - InternetGatewayAuthorizedVpcOnly: - Properties: - ConfigRuleName: internet-gateway-authorized-vpc-only - Scope: - ComplianceResourceTypes: - - AWS::EC2::InternetGateway - Source: - Owner: AWS - SourceIdentifier: INTERNET_GATEWAY_AUTHORIZED_VPC_ONLY - Type: AWS::Config::ConfigRule - KmsCmkNotScheduledForDeletion: - Properties: - ConfigRuleName: kms-cmk-not-scheduled-for-deletion - Scope: - ComplianceResourceTypes: - - AWS::KMS::Key - Source: - Owner: AWS - SourceIdentifier: KMS_CMK_NOT_SCHEDULED_FOR_DELETION - Type: AWS::Config::ConfigRule - LambdaFunctionPublicAccessProhibited: - Properties: - ConfigRuleName: lambda-function-public-access-prohibited - Scope: - ComplianceResourceTypes: - - AWS::Lambda::Function - Source: - Owner: AWS - SourceIdentifier: LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED - Type: AWS::Config::ConfigRule - LambdaInsideVpc: - Properties: - ConfigRuleName: lambda-inside-vpc - Scope: - ComplianceResourceTypes: - - AWS::Lambda::Function - Source: - Owner: AWS - SourceIdentifier: LAMBDA_INSIDE_VPC - Type: AWS::Config::ConfigRule - MfaEnabledForIamConsoleAccess: - Properties: - ConfigRuleName: mfa-enabled-for-iam-console-access - Source: - Owner: AWS - SourceIdentifier: MFA_ENABLED_FOR_IAM_CONSOLE_ACCESS - Type: AWS::Config::ConfigRule - MultiRegionCloudTrailEnabled: - Properties: - ConfigRuleName: multi-region-cloudtrail-enabled - Source: - Owner: AWS - SourceIdentifier: MULTI_REGION_CLOUD_TRAIL_ENABLED - Type: AWS::Config::ConfigRule - RdsEnhancedMonitoringEnabled: - Properties: - ConfigRuleName: rds-enhanced-monitoring-enabled - Scope: - ComplianceResourceTypes: - - AWS::RDS::DBInstance - Source: - Owner: AWS - SourceIdentifier: RDS_ENHANCED_MONITORING_ENABLED - Type: AWS::Config::ConfigRule - RdsInBackupPlan: - Properties: - ConfigRuleName: rds-in-backup-plan - Source: - Owner: AWS - SourceIdentifier: RDS_IN_BACKUP_PLAN - Type: AWS::Config::ConfigRule - RdsInstanceDeletionProtectionEnabled: - Properties: - ConfigRuleName: rds-instance-deletion-protection-enabled - Scope: - ComplianceResourceTypes: - - AWS::RDS::DBInstance - Source: - Owner: AWS - SourceIdentifier: RDS_INSTANCE_DELETION_PROTECTION_ENABLED - Type: AWS::Config::ConfigRule - RdsInstancePublicAccessCheck: - Properties: - ConfigRuleName: rds-instance-public-access-check - Scope: - ComplianceResourceTypes: - - AWS::RDS::DBInstance - Source: - Owner: AWS - SourceIdentifier: RDS_INSTANCE_PUBLIC_ACCESS_CHECK - Type: AWS::Config::ConfigRule - RdsLoggingEnabled: - Properties: - ConfigRuleName: rds-logging-enabled - Scope: - ComplianceResourceTypes: - - AWS::RDS::DBInstance - Source: - Owner: AWS - SourceIdentifier: RDS_LOGGING_ENABLED - Type: AWS::Config::ConfigRule - RdsMultiAzSupport: - Properties: - ConfigRuleName: rds-multi-az-support - Scope: - ComplianceResourceTypes: - - AWS::RDS::DBInstance - Source: - Owner: AWS - SourceIdentifier: RDS_MULTI_AZ_SUPPORT - Type: AWS::Config::ConfigRule - RdsSnapshotEncrypted: - Properties: - ConfigRuleName: rds-snapshot-encrypted - Scope: - ComplianceResourceTypes: - - AWS::RDS::DBSnapshot - - AWS::RDS::DBClusterSnapshot - Source: - Owner: AWS - SourceIdentifier: RDS_SNAPSHOT_ENCRYPTED - Type: AWS::Config::ConfigRule - RdsSnapshotsPublicProhibited: - Properties: - ConfigRuleName: rds-snapshots-public-prohibited - Scope: - ComplianceResourceTypes: - - AWS::RDS::DBSnapshot - - AWS::RDS::DBClusterSnapshot - Source: - Owner: AWS - SourceIdentifier: RDS_SNAPSHOTS_PUBLIC_PROHIBITED - Type: AWS::Config::ConfigRule - RdsStorageEncrypted: - Properties: - ConfigRuleName: rds-storage-encrypted - Scope: - ComplianceResourceTypes: - - AWS::RDS::DBInstance - Source: - Owner: AWS - SourceIdentifier: RDS_STORAGE_ENCRYPTED - Type: AWS::Config::ConfigRule - RedshiftClusterConfigurationCheck: - Properties: - ConfigRuleName: redshift-cluster-configuration-check - InputParameters: - clusterDbEncrypted: 'TRUE' - loggingEnabled: 'TRUE' - Scope: - ComplianceResourceTypes: - - AWS::Redshift::Cluster - Source: - Owner: AWS - SourceIdentifier: REDSHIFT_CLUSTER_CONFIGURATION_CHECK - Type: AWS::Config::ConfigRule - RedshiftClusterPublicAccessCheck: - Properties: - ConfigRuleName: redshift-cluster-public-access-check - Scope: - ComplianceResourceTypes: - - AWS::Redshift::Cluster - Source: - Owner: AWS - SourceIdentifier: REDSHIFT_CLUSTER_PUBLIC_ACCESS_CHECK - Type: AWS::Config::ConfigRule - RedshiftRequireTlsSsl: - Properties: - ConfigRuleName: redshift-require-tls-ssl - Scope: - ComplianceResourceTypes: - - AWS::Redshift::Cluster - Source: - Owner: AWS - SourceIdentifier: REDSHIFT_REQUIRE_TLS_SSL - Type: AWS::Config::ConfigRule - RestrictedIncomingTraffic: - Properties: - ConfigRuleName: restricted-common-ports - InputParameters: - blockedPort1: - Fn::If: - - restrictedIncomingTrafficParamBlockedPort1 - - Ref: RestrictedIncomingTrafficParamBlockedPort1 - - Ref: AWS::NoValue - blockedPort2: - Fn::If: - - restrictedIncomingTrafficParamBlockedPort2 - - Ref: RestrictedIncomingTrafficParamBlockedPort2 - - Ref: AWS::NoValue - blockedPort3: - Fn::If: - - restrictedIncomingTrafficParamBlockedPort3 - - Ref: RestrictedIncomingTrafficParamBlockedPort3 - - Ref: AWS::NoValue - blockedPort4: - Fn::If: - - restrictedIncomingTrafficParamBlockedPort4 - - Ref: RestrictedIncomingTrafficParamBlockedPort4 - - Ref: AWS::NoValue - blockedPort5: - Fn::If: - - restrictedIncomingTrafficParamBlockedPort5 - - Ref: RestrictedIncomingTrafficParamBlockedPort5 - - Ref: AWS::NoValue - Scope: - ComplianceResourceTypes: - - AWS::EC2::SecurityGroup - Source: - Owner: AWS - SourceIdentifier: RESTRICTED_INCOMING_TRAFFIC - Type: AWS::Config::ConfigRule - RootAccountHardwareMfaEnabled: - Properties: - ConfigRuleName: root-account-hardware-mfa-enabled - Source: - Owner: AWS - SourceIdentifier: ROOT_ACCOUNT_HARDWARE_MFA_ENABLED - Type: AWS::Config::ConfigRule - RootAccountMfaEnabled: - Properties: - ConfigRuleName: root-account-mfa-enabled - Source: - Owner: AWS - SourceIdentifier: ROOT_ACCOUNT_MFA_ENABLED - Type: AWS::Config::ConfigRule - S3AccountLevelPublicAccessBlocks: - Properties: - ConfigRuleName: s3-account-level-public-access-blocks - InputParameters: - BlockPublicAcls: - Fn::If: - - s3AccountLevelPublicAccessBlocksParamBlockPublicAcls - - Ref: S3AccountLevelPublicAccessBlocksParamBlockPublicAcls - - Ref: AWS::NoValue - BlockPublicPolicy: - Fn::If: - - s3AccountLevelPublicAccessBlocksParamBlockPublicPolicy - - Ref: S3AccountLevelPublicAccessBlocksParamBlockPublicPolicy - - Ref: AWS::NoValue - IgnorePublicAcls: - Fn::If: - - s3AccountLevelPublicAccessBlocksParamIgnorePublicAcls - - Ref: S3AccountLevelPublicAccessBlocksParamIgnorePublicAcls - - Ref: AWS::NoValue - RestrictPublicBuckets: - Fn::If: - - s3AccountLevelPublicAccessBlocksParamRestrictPublicBuckets - - Ref: S3AccountLevelPublicAccessBlocksParamRestrictPublicBuckets - - Ref: AWS::NoValue - Scope: - ComplianceResourceTypes: - - AWS::S3::AccountPublicAccessBlock - Source: - Owner: AWS - SourceIdentifier: S3_ACCOUNT_LEVEL_PUBLIC_ACCESS_BLOCKS - Type: AWS::Config::ConfigRule - S3BucketDefaultLockEnabled: - Properties: - ConfigRuleName: s3-bucket-default-lock-enabled - Scope: - ComplianceResourceTypes: - - AWS::S3::Bucket - Source: - Owner: AWS - SourceIdentifier: S3_BUCKET_DEFAULT_LOCK_ENABLED - Type: AWS::Config::ConfigRule - S3BucketLoggingEnabled: - Properties: - ConfigRuleName: s3-bucket-logging-enabled - Scope: - ComplianceResourceTypes: - - AWS::S3::Bucket - Source: - Owner: AWS - SourceIdentifier: S3_BUCKET_LOGGING_ENABLED - Type: AWS::Config::ConfigRule - S3BucketPolicyGranteeCheck: - Properties: - ConfigRuleName: s3-bucket-policy-grantee-check - Scope: - ComplianceResourceTypes: - - AWS::S3::Bucket - Source: - Owner: AWS - SourceIdentifier: S3_BUCKET_POLICY_GRANTEE_CHECK - Type: AWS::Config::ConfigRule - S3BucketPublicReadProhibited: - Properties: - ConfigRuleName: s3-bucket-public-read-prohibited - Scope: - ComplianceResourceTypes: - - AWS::S3::Bucket - Source: - Owner: AWS - SourceIdentifier: S3_BUCKET_PUBLIC_READ_PROHIBITED - Type: AWS::Config::ConfigRule - S3BucketPublicWriteProhibited: - Properties: - ConfigRuleName: s3-bucket-public-write-prohibited - Scope: - ComplianceResourceTypes: - - AWS::S3::Bucket - Source: - Owner: AWS - SourceIdentifier: S3_BUCKET_PUBLIC_WRITE_PROHIBITED - Type: AWS::Config::ConfigRule - S3BucketReplicationEnabled: - Properties: - ConfigRuleName: s3-bucket-replication-enabled - Scope: - ComplianceResourceTypes: - - AWS::S3::Bucket - Source: - Owner: AWS - SourceIdentifier: S3_BUCKET_REPLICATION_ENABLED - Type: AWS::Config::ConfigRule - S3BucketServerSideEncryptionEnabled: - Properties: - ConfigRuleName: s3-bucket-server-side-encryption-enabled - Scope: - ComplianceResourceTypes: - - AWS::S3::Bucket - Source: - Owner: AWS - SourceIdentifier: S3_BUCKET_SERVER_SIDE_ENCRYPTION_ENABLED - Type: AWS::Config::ConfigRule - S3BucketSslRequestsOnly: - Properties: - ConfigRuleName: s3-bucket-ssl-requests-only - Scope: - ComplianceResourceTypes: - - AWS::S3::Bucket - Source: - Owner: AWS - SourceIdentifier: S3_BUCKET_SSL_REQUESTS_ONLY - Type: AWS::Config::ConfigRule - S3BucketVersioningEnabled: - Properties: - ConfigRuleName: s3-bucket-versioning-enabled - Scope: - ComplianceResourceTypes: - - AWS::S3::Bucket - Source: - Owner: AWS - SourceIdentifier: S3_BUCKET_VERSIONING_ENABLED - Type: AWS::Config::ConfigRule - SagemakerEndpointConfigurationKmsKeyConfigured: - Properties: - ConfigRuleName: sagemaker-endpoint-configuration-kms-key-configured - Source: - Owner: AWS - SourceIdentifier: SAGEMAKER_ENDPOINT_CONFIGURATION_KMS_KEY_CONFIGURED - Type: AWS::Config::ConfigRule - SagemakerNotebookInstanceKmsKeyConfigured: - Properties: - ConfigRuleName: sagemaker-notebook-instance-kms-key-configured - Source: - Owner: AWS - SourceIdentifier: SAGEMAKER_NOTEBOOK_INSTANCE_KMS_KEY_CONFIGURED - Type: AWS::Config::ConfigRule - SagemakerNotebookNoDirectInternetAccess: - Properties: - ConfigRuleName: sagemaker-notebook-no-direct-internet-access - Source: - Owner: AWS - SourceIdentifier: SAGEMAKER_NOTEBOOK_NO_DIRECT_INTERNET_ACCESS - Type: AWS::Config::ConfigRule - SecretsmanagerScheduledRotationSuccessCheck: - Properties: - ConfigRuleName: secretsmanager-scheduled-rotation-success-check - Scope: - ComplianceResourceTypes: - - AWS::SecretsManager::Secret - Source: - Owner: AWS - SourceIdentifier: SECRETSMANAGER_SCHEDULED_ROTATION_SUCCESS_CHECK - Type: AWS::Config::ConfigRule - SecurityhubEnabled: - Properties: - ConfigRuleName: securityhub-enabled - Source: - Owner: AWS - SourceIdentifier: SECURITYHUB_ENABLED - Type: AWS::Config::ConfigRule - SnsEncryptedKms: - Properties: - ConfigRuleName: sns-encrypted-kms - Scope: - ComplianceResourceTypes: - - AWS::SNS::Topic - Source: - Owner: AWS - SourceIdentifier: SNS_ENCRYPTED_KMS - Type: AWS::Config::ConfigRule - VpcDefaultSecurityGroupClosed: - Properties: - ConfigRuleName: vpc-default-security-group-closed - Scope: - ComplianceResourceTypes: - - AWS::EC2::SecurityGroup - Source: - Owner: AWS - SourceIdentifier: VPC_DEFAULT_SECURITY_GROUP_CLOSED - Type: AWS::Config::ConfigRule - VpcFlowLogsEnabled: - Properties: - ConfigRuleName: vpc-flow-logs-enabled - Source: - Owner: AWS - SourceIdentifier: VPC_FLOW_LOGS_ENABLED - Type: AWS::Config::ConfigRule - VpcSgOpenOnlyToAuthorizedPorts: - Properties: - ConfigRuleName: vpc-sg-open-only-to-authorized-ports - InputParameters: - authorizedTcpPorts: - Fn::If: - - vpcSgOpenOnlyToAuthorizedPortsParamAuthorizedTcpPorts - - Ref: VpcSgOpenOnlyToAuthorizedPortsParamAuthorizedTcpPorts - - Ref: AWS::NoValue - authorizedUdpPorts: - Fn::If: - - vpcSgOpenOnlyToAuthorizedPortsParamAuthorizedUdpPorts - - Ref: VpcSgOpenOnlyToAuthorizedPortsParamAuthorizedUdpPorts - - Ref: AWS::NoValue - Scope: - ComplianceResourceTypes: - - AWS::EC2::SecurityGroup - Source: - Owner: AWS - SourceIdentifier: VPC_SG_OPEN_ONLY_TO_AUTHORIZED_PORTS - Type: AWS::Config::ConfigRule - VpcVpn2TunnelsUp: - Properties: - ConfigRuleName: vpc-vpn-2-tunnels-up - Scope: - ComplianceResourceTypes: - - AWS::EC2::VPNConnection - Source: - Owner: AWS - SourceIdentifier: VPC_VPN_2_TUNNELS_UP - Type: AWS::Config::ConfigRule - Wafv2LoggingEnabled: - Properties: - ConfigRuleName: wafv2-logging-enabled - Source: - Owner: AWS - SourceIdentifier: WAFV2_LOGGING_ENABLED - Type: AWS::Config::ConfigRule -Conditions: - accessKeysRotatedParamMaxAccessKeyAge: - Fn::Not: - - Fn::Equals: - - '' - - Ref: AccessKeysRotatedParamMaxAccessKeyAge - acmCertificateExpirationCheckParamDaysToExpiration: - Fn::Not: - - Fn::Equals: - - '' - - Ref: AcmCertificateExpirationCheckParamDaysToExpiration - ec2VolumeInuseCheckParamDeleteOnTermination: - Fn::Not: - - Fn::Equals: - - '' - - Ref: Ec2VolumeInuseCheckParamDeleteOnTermination - guarddutyNonArchivedFindingsParamDaysHighSev: - Fn::Not: - - Fn::Equals: - - '' - - Ref: GuarddutyNonArchivedFindingsParamDaysHighSev - guarddutyNonArchivedFindingsParamDaysLowSev: - Fn::Not: - - Fn::Equals: - - '' - - Ref: GuarddutyNonArchivedFindingsParamDaysLowSev - guarddutyNonArchivedFindingsParamDaysMediumSev: - Fn::Not: - - Fn::Equals: - - '' - - Ref: GuarddutyNonArchivedFindingsParamDaysMediumSev - iamPasswordPolicyParamMaxPasswordAge: - Fn::Not: - - Fn::Equals: - - '' - - Ref: IamPasswordPolicyParamMaxPasswordAge - iamPasswordPolicyParamMinimumPasswordLength: - Fn::Not: - - Fn::Equals: - - '' - - Ref: IamPasswordPolicyParamMinimumPasswordLength - iamPasswordPolicyParamPasswordReusePrevention: - Fn::Not: - - Fn::Equals: - - '' - - Ref: IamPasswordPolicyParamPasswordReusePrevention - iamPasswordPolicyParamRequireLowercaseCharacters: - Fn::Not: - - Fn::Equals: - - '' - - Ref: IamPasswordPolicyParamRequireLowercaseCharacters - iamPasswordPolicyParamRequireNumbers: - Fn::Not: - - Fn::Equals: - - '' - - Ref: IamPasswordPolicyParamRequireNumbers - iamPasswordPolicyParamRequireSymbols: - Fn::Not: - - Fn::Equals: - - '' - - Ref: IamPasswordPolicyParamRequireSymbols - iamPasswordPolicyParamRequireUppercaseCharacters: - Fn::Not: - - Fn::Equals: - - '' - - Ref: IamPasswordPolicyParamRequireUppercaseCharacters - iamUserUnusedCredentialsCheckParamMaxCredentialUsageAge: - Fn::Not: - - Fn::Equals: - - '' - - Ref: IamUserUnusedCredentialsCheckParamMaxCredentialUsageAge - restrictedIncomingTrafficParamBlockedPort1: - Fn::Not: - - Fn::Equals: - - '' - - Ref: RestrictedIncomingTrafficParamBlockedPort1 - restrictedIncomingTrafficParamBlockedPort2: - Fn::Not: - - Fn::Equals: - - '' - - Ref: RestrictedIncomingTrafficParamBlockedPort2 - restrictedIncomingTrafficParamBlockedPort3: - Fn::Not: - - Fn::Equals: - - '' - - Ref: RestrictedIncomingTrafficParamBlockedPort3 - restrictedIncomingTrafficParamBlockedPort4: - Fn::Not: - - Fn::Equals: - - '' - - Ref: RestrictedIncomingTrafficParamBlockedPort4 - restrictedIncomingTrafficParamBlockedPort5: - Fn::Not: - - Fn::Equals: - - '' - - Ref: RestrictedIncomingTrafficParamBlockedPort5 - s3AccountLevelPublicAccessBlocksParamBlockPublicAcls: - Fn::Not: - - Fn::Equals: - - '' - - Ref: S3AccountLevelPublicAccessBlocksParamBlockPublicAcls - s3AccountLevelPublicAccessBlocksParamBlockPublicPolicy: - Fn::Not: - - Fn::Equals: - - '' - - Ref: S3AccountLevelPublicAccessBlocksParamBlockPublicPolicy - s3AccountLevelPublicAccessBlocksParamIgnorePublicAcls: - Fn::Not: - - Fn::Equals: - - '' - - Ref: S3AccountLevelPublicAccessBlocksParamIgnorePublicAcls - s3AccountLevelPublicAccessBlocksParamRestrictPublicBuckets: - Fn::Not: - - Fn::Equals: - - '' - - Ref: S3AccountLevelPublicAccessBlocksParamRestrictPublicBuckets - vpcSgOpenOnlyToAuthorizedPortsParamAuthorizedTcpPorts: - Fn::Not: - - Fn::Equals: - - '' - - Ref: VpcSgOpenOnlyToAuthorizedPortsParamAuthorizedTcpPorts - vpcSgOpenOnlyToAuthorizedPortsParamAuthorizedUdpPorts: - Fn::Not: - - Fn::Equals: - - '' - - Ref: VpcSgOpenOnlyToAuthorizedPortsParamAuthorizedUdpPorts diff --git a/terraform/shared/providers.tf.json.template.py b/terraform/shared/providers.tf.json.template.py deleted file mode 120000 index a00233d1c5..0000000000 --- a/terraform/shared/providers.tf.json.template.py +++ /dev/null @@ -1 +0,0 @@ -../providers.tf.json.template.py \ No newline at end of file diff --git a/terraform/shared/shared.tf.json.template.py b/terraform/shared/shared.tf.json.template.py deleted file mode 100644 index 15181de574..0000000000 --- a/terraform/shared/shared.tf.json.template.py +++ /dev/null @@ -1,1125 +0,0 @@ -import json -import shlex -from typing import ( - NamedTuple, -) - -from azul import ( - config, - docker, -) -from azul.deployment import ( - aws, -) -from azul.terraform import ( - block_public_s3_bucket_access, - emit_tf, - enable_s3_bucket_inventory, - set_empty_s3_bucket_lifecycle_config, - vpc, -) - - -class CloudTrailAlarm(NamedTuple): - name: str - statistic: str - filter_pattern: str - threshold: int = 0 - period: int = 5 * 60 - - @property - def metric_name(self) -> str: - return f'{self.name}_metric' - - -def conformance_pack(name: str) -> str: - path = f'{config.project_root}/terraform/shared/{name}.yaml' - with open(path) as f: - body = f.read() - return body - - -trail_alarms = [ - # [CloudWatch.2] Ensure a log metric filter and alarm exist for unauthorized API calls - # https://docs.aws.amazon.com/securityhub/latest/userguide/cloudwatch-controls.html#cloudwatch-2 - CloudTrailAlarm(name='api_unauthorized', - statistic='Sum', - filter_pattern='{($.errorCode="*UnauthorizedOperation") || ($.errorCode="AccessDenied*")}'), - # [CloudWatch.3] Ensure a log metric filter and alarm exist for Management Console sign-in without MFA - # https://docs.aws.amazon.com/securityhub/latest/userguide/cloudwatch-controls.html#cloudwatch-3 - CloudTrailAlarm(name='console_no_mfa', - statistic='Sum', - filter_pattern='{ ($.eventName = "ConsoleLogin") && ($.additionalEventData.MFAUsed != "Yes") && ' - '($.userIdentity.type = "IAMUser") && ' - '($.responseElements.ConsoleLogin = "Success") }'), - # [CloudWatch.1] A log metric filter and alarm should exist for usage of the "root" user - # https://docs.aws.amazon.com/securityhub/latest/userguide/cloudwatch-controls.html#cloudwatch-1 - CloudTrailAlarm(name='root_usage', - statistic='Sum', - filter_pattern='{$.userIdentity.type="Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType ' - '!="AwsServiceEvent"}'), - # [CloudWatch.4] Ensure a log metric filter and alarm exist for IAM policy changes - # https://docs.aws.amazon.com/securityhub/latest/userguide/cloudwatch-controls.html#cloudwatch-4 - CloudTrailAlarm(name='iam_policy_change', - statistic='Sum', - filter_pattern='{($.eventName=DeleteGroupPolicy) || ($.eventName=DeleteRolePolicy) || ' - '($.eventName=DeleteUserPolicy) || ($.eventName=PutGroupPolicy) || ' - '($.eventName=PutRolePolicy) || ($.eventName=PutUserPolicy) || ' - '($.eventName=CreatePolicy) || ($.eventName=DeletePolicy) || ' - '($.eventName=CreatePolicyVersion) || ($.eventName=DeletePolicyVersion) || ' - '($.eventName=AttachRolePolicy) || ($.eventName=DetachRolePolicy) || ' - '($.eventName=AttachUserPolicy) || ($.eventName=DetachUserPolicy) || ' - '($.eventName=AttachGroupPolicy) || ($.eventName=DetachGroupPolicy)}'), - # [CloudWatch.5] Ensure a log metric filter and alarm exist for CloudTrail AWS Configuration changes - # https://docs.aws.amazon.com/securityhub/latest/userguide/cloudwatch-controls.html#cloudwatch-5 - CloudTrailAlarm(name='cloudtrail_config_change', - statistic='Sum', - filter_pattern='{($.eventName=CreateTrail) || ($.eventName=UpdateTrail) || ' - '($.eventName=DeleteTrail) || ($.eventName=StartLogging) || ' - '($.eventName=StopLogging)}'), - # [CloudWatch.8] Ensure a log metric filter and alarm exist for S3 bucket policy changes - # https://docs.aws.amazon.com/securityhub/latest/userguide/cloudwatch-controls.html#cloudwatch-8 - CloudTrailAlarm(name='s3_policy_change', - statistic='Sum', - filter_pattern='{($.eventSource=s3.amazonaws.com) && (($.eventName=PutBucketAcl) || ' - '($.eventName=PutBucketPolicy) || ($.eventName=PutBucketCors) || ' - '($.eventName=PutBucketLifecycle) || ($.eventName=PutBucketReplication) || ' - '($.eventName=DeleteBucketPolicy) || ($.eventName=DeleteBucketCors) || ' - '($.eventName=DeleteBucketLifecycle) || ($.eventName=DeleteBucketReplication))}'), - # [CloudWatch.12] Ensure a log metric filter and alarm exist for changes to network gateways - # https://docs.aws.amazon.com/securityhub/latest/userguide/cloudwatch-controls.html#cloudwatch-12 - CloudTrailAlarm(name='network_gateway_change', - statistic='Sum', - filter_pattern='{($.eventName=CreateCustomerGateway) || ($.eventName=DeleteCustomerGateway) || ' - '($.eventName=AttachInternetGateway) || ($.eventName=CreateInternetGateway) || ' - '($.eventName=DeleteInternetGateway) || ($.eventName=DetachInternetGateway)}'), - # [CloudWatch.13] Ensure a log metric filter and alarm exist for route table changes - # https://docs.aws.amazon.com/securityhub/latest/userguide/cloudwatch-controls.html#cloudwatch-13 - CloudTrailAlarm(name='route_table_change', - statistic='Sum', - filter_pattern='{($.eventName=CreateRoute) || ($.eventName=CreateRouteTable) || ' - '($.eventName=ReplaceRoute) || ($.eventName=ReplaceRouteTableAssociation) || ' - '($.eventName=DeleteRouteTable) || ($.eventName=DeleteRoute) || ' - '($.eventName=DisassociateRouteTable)}'), - # [CloudWatch.14] Ensure a log metric filter and alarm exist for VPC changes - # https://docs.aws.amazon.com/securityhub/latest/userguide/cloudwatch-controls.html#cloudwatch-14 - CloudTrailAlarm(name='vpc_change', - statistic='Sum', - filter_pattern='{($.eventName=CreateVpc) || ($.eventName=DeleteVpc) || ' - '($.eventName=ModifyVpcAttribute) || ($.eventName=AcceptVpcPeeringConnection) || ' - '($.eventName=CreateVpcPeeringConnection) || ' - '($.eventName=DeleteVpcPeeringConnection) || ' - '($.eventName=RejectVpcPeeringConnection) || ($.eventName=AttachClassicLinkVpc) || ' - '($.eventName=DetachClassicLinkVpc) || ($.eventName=DisableVpcClassicLink) || ' - '($.eventName=EnableVpcClassicLink)}'), -] - -# The deployment and/or backup of the GitLab instance requires a reboot, which -# can interrupt an ongoing ClamAV scan. Since scans are run twice a day, we set -# the alarm period to 24 hours (maximum allowed by CloudWatch) to allow enough -# time for the next scan to complete following an interrupted scan. -# -clam_alarm_period = 24 * 60 * 60 - -tf_config = { - 'data': { - 'aws_iam_role': { - f'support_{i}': { - 'name': role - } - for i, role in enumerate(config.aws_support_roles) - }, - 'aws_vpc': { - vpc.default_vpc_name: { - 'default': True - } - } - }, - 'resource': { - 'aws_default_vpc': { - vpc.default_vpc_name: {} - }, - 'aws_flow_log': { - vpc.default_vpc_name: { - 'iam_role_arn': '${aws_iam_role.%s.arn}' % vpc.default_vpc_name, - 'log_destination': '${aws_cloudwatch_log_group.%s.arn}' % vpc.default_vpc_name, - 'log_destination_type': 'cloud-watch-logs', - 'traffic_type': 'ALL', - # https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/default_vpc#attributes-reference - # While the `aws_default_vpc` resource doesn't list `.id` as an - # attribute in the docs, its usage is valid. - 'vpc_id': '${aws_default_vpc.%s.id}' % vpc.default_vpc_name, - } - }, - 'aws_default_security_group': { - vpc.default_security_group_name: { - 'vpc_id': '${aws_default_vpc.%s.id}' % vpc.default_vpc_name, - 'egress': [], - 'ingress': [] - } - }, - 'aws_s3_bucket': { - 'trail': { - 'bucket': f'edu-ucsc-gi-{aws.account_name}-trail.{aws.region_name}', - 'lifecycle': { - 'prevent_destroy': True - } - }, - 'shared': { - 'bucket': aws.shared_bucket, - 'lifecycle': { - 'prevent_destroy': True - } - }, - 'aws_config': { - 'bucket': aws.qualified_bucket_name(config.aws_config_term), - 'lifecycle': { - 'prevent_destroy': True - } - }, - 'logs': { - 'bucket': aws.logs_bucket, - 'lifecycle': { - 'prevent_destroy': True - } - } - }, - 'aws_s3_bucket_logging': { - bucket: { - 'bucket': '${aws_s3_bucket.%s.id}' % bucket, - 'target_bucket': '${aws_s3_bucket.logs.id}', - # Other S3 log deliveries, like ELB, implicitly put a slash - # after the prefix. S3 doesn't, so we add one explicitly. - 'target_prefix': config.s3_access_log_path_prefix(prefix) + '/' - } - for bucket, prefix in [ - ('trail', 'cloudtrail'), - ('aws_config', 'aws_config'), - ('shared', 'shared') - ] - }, - 'aws_s3_account_public_access_block': { - f'{aws.account_name}': { - 'block_public_acls': True, - 'block_public_policy': True, - 'ignore_public_acls': True, - 'restrict_public_buckets': True - } - }, - 'aws_s3_bucket_policy': { - 'trail': { - 'bucket': '${aws_s3_bucket.trail.id}', - 'policy': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Principal': { - 'Service': 'cloudtrail.amazonaws.com' - }, - 'Action': 's3:GetBucketAcl', - 'Resource': '${aws_s3_bucket.trail.arn}', - }, - { - 'Effect': 'Allow', - 'Principal': { - 'Service': 'cloudtrail.amazonaws.com' - }, - 'Action': 's3:PutObject', - 'Resource': '${aws_s3_bucket.trail.arn}/AWSLogs/%s/*' % config.aws_account_id, - 'Condition': { - 'StringEquals': { - 's3:x-amz-acl': 'bucket-owner-full-control' - } - } - } - ] - }) - }, - 'aws_config': { - # https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html - 'bucket': '${aws_s3_bucket.aws_config.id}', - 'policy': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Principal': { - 'Service': 'config.amazonaws.com' - }, - 'Action': ['s3:GetBucketAcl', 's3:ListBucket'], - 'Resource': '${aws_s3_bucket.aws_config.arn}' - }, - { - 'Effect': 'Allow', - 'Principal': { - 'Service': 'config.amazonaws.com' - }, - 'Action': 's3:PutObject', - 'Resource': '${aws_s3_bucket.aws_config.arn}' - f'/AWSLogs/{config.aws_account_id}/Config/*', - 'Condition': { - 'StringEquals': { - 's3:x-amz-acl': 'bucket-owner-full-control', - 'AWS:SourceAccount': config.aws_account_id - } - } - } - ] - }) - }, - 'logs': { - 'bucket': '${aws_s3_bucket.logs.id}', - 'policy': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - *aws.elb_access_log_bucket_policy( - bucket_arn='${aws_s3_bucket.logs.arn}', - path_prefix=config.alb_access_log_path_prefix('*', deployment=None) - ), - *aws.s3_access_log_bucket_policy( - source_bucket_arn='arn:aws:s3:::*', - target_bucket_arn='${aws_s3_bucket.logs.arn}', - path_prefix=config.s3_access_log_path_prefix('*', deployment=None) - ), - { - 'Effect': 'Allow', - 'Principal': { - 'Service': 's3.amazonaws.com' - }, - 'Action': [ - 's3:PutObject' - ], - 'Resource': [ - 'arn:aws:s3:::${aws_s3_bucket.logs.id}/*' - ], - 'Condition': { - 'ArnLike': { - 'aws:SourceArn': f'arn:aws:s3:::{aws.qualified_bucket_name("*")}' - }, - 'StringEquals': { - 'aws:SourceAccount': config.aws_account_id, - 's3:x-amz-acl': 'bucket-owner-full-control' - } - } - } - ] - }) - }, - }, - 'aws_s3_bucket_lifecycle_configuration': { - 'shared': { - 'bucket': '${aws_s3_bucket.shared.id}', - 'rule': { - 'id': 'expire-tag', - 'status': 'Enabled', - 'filter': { - 'tag': { - 'key': 'expires', - 'value': 'true' - } - }, - 'noncurrent_version_expiration': { - 'noncurrent_days': 90 - } - } - }, - **{ - bucket: { - 'bucket': '${aws_s3_bucket.%s.id}' % bucket, - 'rule': { - 'id': 'expire', - 'status': 'Enabled', - 'filter': { - }, - 'expiration': { - 'days': config.audit_log_retention_days - } - } - } - for bucket in ['aws_config', 'logs', 'trail'] - } - }, - 'aws_s3_bucket_versioning': { - 'shared': { - 'bucket': '${aws_s3_bucket.shared.id}', - 'versioning_configuration': { - 'status': 'Enabled' - } - } - }, - 'aws_cloudformation_stack': { - **( - { - 'chatbot': { - 'name': config.qualified_resource_name('chatbot'), - 'template_body': json.dumps({ - 'AWSTemplateFormatVersion': '2010-09-09', - 'Description': 'Use AWS Chatbot to forward messages from monitoring SNS topic to Slack', - 'Resources': { - 'SlackChannelConfiguration': { - 'Type': 'AWS::Chatbot::SlackChannelConfiguration', - 'Properties': { - 'ConfigurationName': config.qualified_resource_name('chatbot'), - 'GuardrailPolicies': ['arn:aws:iam::aws:policy/CloudWatchReadOnlyAccess'], - 'IamRoleArn': '${aws_iam_role.chatbot.arn}', - 'LoggingLevel': 'INFO', - 'SlackChannelId': config.slack_integration.channel_id, - 'SlackWorkspaceId': config.slack_integration.workspace_id, - 'SnsTopicArns': ['${aws_sns_topic.monitoring.arn}'], - 'UserRoleRequired': False - } - } - } - }) - }, - } - if config.slack_integration else - {} - ), - # Images whose short name begins with '_' are only used outside the - # security boundary, so vulnerabilities that are detected within - # them do not need to be addressed with the same urgency. - # - # FIXME: Remove workaround for false Terraform bug - # https://github.com/DataBiosphere/azul/issues/6577 - 'inspector_filters': { - 'name': config.qualified_resource_name('inspectorfilters'), - 'template_body': json.dumps({ - 'AWSTemplateFormatVersion': '2010-09-09', - 'Description': 'Create suppression rules for select Docker images in AWS Inspector', - 'Resources': { - image_ref.tf_alnum_repository: { - 'Type': 'AWS::InspectorV2::Filter', - 'Properties': { - 'Name': 'exclude_image' + alias, - 'FilterAction': 'SUPPRESS', - 'FilterCriteria': { - 'EcrImageRepositoryName': [ - { - 'Comparison': 'EQUALS', - 'Value': image_ref.name - } - ] - } - } - } - for alias, image_ref in docker.images_by_alias.items() - if alias.startswith('_') - } - }) - } - }, - **( - { - 'aws_cloudwatch_event_rule': { - 'inspector': { - 'name': 'inspector', - 'event_pattern': json.dumps({ - 'source': ['aws.inspector2'], - 'detail-type': ['Inspector2 Finding'], - 'detail.severity': ['CRITICAL', 'HIGH'], - 'detail.status': ['ACTIVE'] - }) - } - }, - 'aws_cloudwatch_event_target': { - 'inspector_to_sns': { - 'rule': '${aws_cloudwatch_event_rule.inspector.name}', - 'arn': '${aws_sns_topic.monitoring.arn}', - 'input_transformer': { - # AWS EventBridge transforms resemble JSON, but are not valid JSON - # https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html - 'input_template': json.dumps({ - 'deployment': config.deployment_stage, - 'event': {} - }).replace('{}', '') - } - } - } - } - if config.slack_integration else - {} - ), - 'aws_cloudtrail': { - 'trail': { - 'name': config.qualified_resource_name('trail'), - 's3_bucket_name': '${aws_s3_bucket.trail.id}', - 'enable_log_file_validation': True, - 'is_multi_region_trail': True, - 'cloud_watch_logs_group_arn': '${aws_cloudwatch_log_group.trail.arn}:*', - 'cloud_watch_logs_role_arn': '${aws_iam_role.trail.arn}', - 'event_selector': { - 'read_write_type': 'All', - 'include_management_events': True, - 'data_resource': { - 'type': 'AWS::S3::Object', - 'values': ['arn:aws:s3'] - } - } - } - }, - 'aws_cloudwatch_log_group': { - 'trail': { - 'name': config.qualified_resource_name('trail'), - 'retention_in_days': config.audit_log_retention_days - }, - vpc.default_vpc_name: { - 'name': '/aws/vpc/' + config.qualified_resource_name(vpc.default_vpc_name), - 'retention_in_days': config.audit_log_retention_days - }, - **( - { - 'chatbot': { - 'name': '/aws/chatbot/' + config.qualified_resource_name('chatbot'), - 'retention_in_days': config.audit_log_retention_days - } - } - if config.slack_integration else - {} - ), - }, - 'aws_cloudwatch_log_metric_filter': { - **{ - a.name: { - 'name': config.qualified_resource_name(a.name, suffix='.filter'), - 'pattern': a.filter_pattern, - 'log_group_name': '${aws_cloudwatch_log_group.trail.name}', - 'metric_transformation': { - 'name': a.metric_name, - 'namespace': 'LogMetrics', - 'value': 1 - } - } - for a in trail_alarms - }, - 'trail_logs': { - 'name': config.qualified_resource_name('trail_logs', suffix='.filter'), - 'pattern': '', - 'log_group_name': '${aws_cloudwatch_log_group.trail.name}', - 'metric_transformation': { - 'name': config.qualified_resource_name('trail_logs'), - 'namespace': 'LogMetrics', - 'value': 1, - 'default_value': 0, - } - }, - **{ - name: { - 'name': config.qualified_resource_name(name, suffix='.filter'), - 'pattern': pattern, - 'log_group_name': '/aws/cwagent/azul-gitlab', - 'metric_transformation': { - 'name': config.qualified_resource_name(name), - 'namespace': 'LogMetrics', - 'value': 1, - 'default_value': 0, - } - } - for name, pattern in [ - # Using '?' to create an "a OR b" filter pattern. - # If the GitLab instance is rebooted when a long-running - # (14h+) scan is nearing completion, we may go more than 24 - # hours without matching a successful scan. To prevent this - # from triggering false positive alarms, we include a - # sub-pattern to also match successful power-offs & reboots. - ('clamscan', '?"clamscan succeeded" ' - '?"systemd: Starting Reboot" ' - '?"systemd: Starting Power-Off"'), - ('freshclam', '?"freshclam succeeded" ' - '?"systemd: Starting Reboot" ' - '?"systemd: Starting Power-Off"'), - ('clam_fail', '?"clamscan failed" ' - '?"freshclam failed"') - ] - } - }, - 'aws_cloudwatch_metric_alarm': { - **{ - a.name: { - 'alarm_name': config.qualified_resource_name(a.name, suffix='.alarm'), - 'comparison_operator': 'GreaterThanThreshold', - 'evaluation_periods': 1, - 'metric_name': '${aws_cloudwatch_log_metric_filter.' - '%s.metric_transformation[0].name}' % a.name, - 'namespace': 'LogMetrics', - 'statistic': a.statistic, - 'treat_missing_data': 'notBreaching', - 'threshold': a.threshold, - # The CIS documentation does not specify a period. 5 minutes is - # the default value when creating the alarm via the console UI. - 'period': a.period, - 'alarm_actions': ['${aws_sns_topic.monitoring.arn}'], - 'ok_actions': ['${aws_sns_topic.monitoring.arn}'] - } - for a in trail_alarms - }, - 'clam_fail': { - 'alarm_name': config.qualified_resource_name('clam_fail', suffix='.alarm'), - 'comparison_operator': 'GreaterThanThreshold', - 'evaluation_periods': 1, - 'metric_name': '${aws_cloudwatch_log_metric_filter.' - '%s.metric_transformation[0].name}' % 'clam_fail', - 'namespace': 'LogMetrics', - 'statistic': 'Sum', - 'treat_missing_data': 'notBreaching', - 'threshold': 0, - 'period': clam_alarm_period, - 'alarm_actions': ['${aws_sns_topic.monitoring.arn}'], - 'ok_actions': ['${aws_sns_topic.monitoring.arn}'] - }, - **{ - resource_name: { - 'alarm_name': config.qualified_resource_name(resource_name, suffix='.alarm'), - 'comparison_operator': 'LessThanThreshold', - 'threshold': 1, - 'datapoints_to_alarm': 1, - 'evaluation_periods': 1, - 'treat_missing_data': 'breaching', - 'alarm_actions': ['${aws_sns_topic.monitoring.arn}'], - 'ok_actions': ['${aws_sns_topic.monitoring.arn}'], - # CloudWatch uses an unconfigurable "evaluation range" when missing - # data is involved. In practice this means that an alarm on the - # absence of logs with an evaluation window of ten minutes would - # require thirty minutes of no logs before the alarm is raised. - # Using a metric query we can fill in missing datapoints with a - # value of zero and avoid the need for the evaluation range. - 'metric_query': [ - { - 'id': 'log_count_filled', - 'expression': 'FILL(log_count_raw, 0)', - 'return_data': True - }, - { - 'id': 'log_count_raw', - 'metric': { - 'metric_name': '${aws_cloudwatch_log_metric_filter.' - '%s.metric_transformation[0].name}' % resource_name, - 'namespace': 'LogMetrics', - 'period': period, - 'stat': 'Sum', - } - } - ] - } for resource_name, period in [ - ('trail_logs', 10 * 60), - ('clamscan', clam_alarm_period), - ('freshclam', clam_alarm_period) - ] - } - }, - 'aws_iam_role': { - 'api_gateway': { - 'name': 'azul-api_gateway', - 'assume_role_policy': json.dumps( - { - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Principal': { - 'Service': 'apigateway.amazonaws.com' - }, - 'Action': 'sts:AssumeRole' - } - ] - } - ) - }, - 'trail': { - 'name': config.qualified_resource_name('trail'), - 'assume_role_policy': json.dumps( - { - 'Version': '2012-10-17', - 'Statement': [ - { - 'Action': 'sts:AssumeRole', - 'Effect': 'Allow', - 'Principal': { - 'Service': 'cloudtrail.amazonaws.com', - } - } - ] - } - ) - }, - vpc.default_vpc_name: { - 'name': config.qualified_resource_name(f'{vpc.default_vpc_name}_vpc'), - 'assume_role_policy': json.dumps( - { - 'Version': '2012-10-17', - 'Statement': [ - { - 'Action': 'sts:AssumeRole', - 'Effect': 'Allow', - 'Principal': { - 'Service': 'vpc-flow-logs.amazonaws.com', - } - } - ] - } - ) - }, - **( - { - 'chatbot': { - 'name': config.qualified_resource_name('chatbot'), - 'assume_role_policy': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Action': 'sts:AssumeRole', - 'Principal': { - 'Service': 'chatbot.amazonaws.com' - } - } - ] - }) - } - } - if config.slack_integration else - {} - ), - }, - 'aws_iam_role_policy': { - 'api_gateway': { - 'name': 'azul-api_gateway', - 'role': '${aws_iam_role.api_gateway.id}', - 'policy': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Action': [ - 'logs:CreateLogGroup', - 'logs:CreateLogStream', - 'logs:DescribeLogGroups', - 'logs:DescribeLogStreams', - 'logs:PutLogEvents', - 'logs:GetLogEvents', - 'logs:FilterLogEvents' - ], - 'Resource': '*' - } - ] - }) - }, - 'trail': { - 'name': config.qualified_resource_name('trail'), - 'role': '${aws_iam_role.trail.id}', - # noqa https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-required-policy-for-cloudwatch-logs.html - 'policy': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Action': [ - 'logs:CreateLogStream', - 'logs:PutLogEvents' - ], - 'Resource': [ - '${aws_cloudwatch_log_group.trail.arn}:*' - ] - } - ] - }) - }, - vpc.default_vpc_name: { - 'name': config.qualified_resource_name(f'{vpc.default_vpc_name}_vpc'), - 'role': '${aws_iam_role.%s.id}' % vpc.default_vpc_name, - 'policy': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Action': [ - 'logs:CreateLogGroup', - 'logs:CreateLogStream', - 'logs:PutLogEvents', - 'logs:DescribeLogGroups', - 'logs:DescribeLogStreams' - ], - 'Resource': '*' - } - ] - }) - }, - **( - { - 'chatbot': { - 'name': config.qualified_resource_name('chatbot'), - 'role': '${aws_iam_role.chatbot.id}', - 'policy': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Resource': '*', - 'Action': [ - 'cloudwatch:Describe*', - 'cloudwatch:Get*', - 'cloudwatch:List*', - 'logs:Get*', - 'logs:List*', - 'logs:Describe*', - 'logs:TestMetricFilter', - 'logs:FilterLogEvents', - 'sns:Get*', - 'sns:List*' - ] - } - ] - }) - } - } - if config.slack_integration else - {} - ), - }, - 'aws_iam_service_linked_role': { - 'opensearch': { - 'aws_service_name': 'opensearchservice.amazonaws.com' - }, - 'aws_config': { - 'aws_service_name': 'config.amazonaws.com' - } - }, - 'aws_api_gateway_account': { - 'shared': { - 'cloudwatch_role_arn': '${aws_iam_role.api_gateway.arn}' - } - }, - 'aws_config_configuration_recorder': { - 'shared': { - 'name': config.qualified_resource_name(config.aws_config_term), - 'role_arn': '${aws_iam_service_linked_role.aws_config.arn}', - 'recording_group': { - 'all_supported': True, - 'include_global_resource_types': True - } - } - }, - 'aws_config_configuration_recorder_status': { - 'shared': { - 'name': '${aws_config_configuration_recorder.shared.name}', - 'is_enabled': True, - 'depends_on': [ - 'aws_config_delivery_channel.shared' - ] - } - }, - 'aws_config_conformance_pack': { - 'nist_800_53': { - 'name': 'nist-800-53', - 'template_body': conformance_pack('conformance_pack_nist_800_53_rev_4'), - 'depends_on': ['aws_config_configuration_recorder.shared'] - } - }, - 'aws_iam_role_policy_attachment': { - **{ - f'support_{i}': { - 'role': '${data.aws_iam_role.support_%s.name}' % i, - 'policy_arn': 'arn:aws:iam::aws:policy/AWSSupportAccess' - } - for i, role in enumerate(config.aws_support_roles) - }, - }, - 'aws_config_delivery_channel': { - 'shared': { - 'name': config.qualified_resource_name(config.aws_config_term), - 's3_bucket_name': '${aws_s3_bucket.aws_config.bucket}', - 'depends_on': [ - 'aws_config_configuration_recorder.shared' - ] - } - }, - 'aws_guardduty_detector': { - 'shared': { - 'enable': True, - # All data sources are enabled in a new detector by default. - 'datasources': { - 'kubernetes': { - 'audit_logs': { - 'enable': False - } - } - } - } - }, - 'aws_securityhub_account': { - 'shared': {} - - }, - 'aws_securityhub_finding_aggregator': { - 'shared': { - 'linking_mode': 'ALL_REGIONS', - 'depends_on': [ - 'aws_securityhub_account.shared' - ] - } - }, - 'aws_securityhub_standards_subscription': { - 'nist_800_53': { - 'standards_arn': 'arn:aws:securityhub:us-east-1::standards' - '/nist-800-53/v/5.0.0', - 'depends_on': [ - 'aws_securityhub_account.shared' - ] - } - }, - # FIXME: Enable Macie in AWS - # https://github.com/DataBiosphere/azul/issues/5890 - 'aws_securityhub_standards_control': { - **{ - 'nist_control_' + control.lower().replace('.', '_'): { - 'standards_control_arn': f'arn:aws:securityhub:{aws.region_name}:{aws.account}:control' - f'/nist-800-53/v/5.0.0/{control}', - 'control_status': 'DISABLED', - 'disabled_reason': 'Generates alarm noise; tracked independently as follow-up work', - 'depends_on': [ - 'aws_securityhub_standards_subscription.nist_800_53' - ] - } - for control in ['Macie.1', 'Macie.2'] - }, - **{ - 'nist_control_' + control.lower().replace('.', '_'): { - 'standards_control_arn': f'arn:aws:securityhub:{aws.region_name}:{aws.account}:control' - f'/nist-800-53/v/5.0.0/{control}', - 'control_status': 'DISABLED', - 'disabled_reason': 'Not a moderate level control', - 'depends_on': [ - 'aws_securityhub_standards_subscription.nist_800_53' - ] - } - for control in [ - 'ACM.1', - 'CloudFront.1', - 'S3.15', - # - # We don't disable EFS.6 since despite it being listed as a - # control applicable to NIST SP 800-53 Rev. 5 … - # - # https://docs.aws.amazon.com/securityhub/latest/userguide/nist-standard.html - # - # … but it is not. Other AWS documentation backs up this - # claim: - # - # https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-controls-reference.html - # - # We don't disable ElasticCache.4 to .7 since these controls - # are not available in our AWS Region: - # - # https://docs.aws.amazon.com/securityhub/latest/userguide/regions-controls.html - ] - } - }, - 'aws_iam_account_password_policy': { - 'cis': { - 'require_uppercase_characters': True, - 'require_lowercase_characters': True, - 'require_symbols': True, - 'require_numbers': True, - 'minimum_password_length': 14, - 'password_reuse_prevention': 24, - 'max_password_age': 90, - } - }, - **( - { - 'aws_account_alternate_contact': { - 'security': { - **config.security_contact, - 'alternate_contact_type': 'SECURITY' - } - } - } - if config.security_contact else - {} - ), - 'aws_sns_topic': { - 'monitoring': { - 'name': aws.monitoring_topic_name - } - }, - 'aws_sns_topic_policy': { - 'monitoring': { - 'arn': '${aws_sns_topic.monitoring.arn}', - 'policy': json.dumps({ - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Principal': { - 'Service': [ - 'events.amazonaws.com', - 'cloudwatch.amazonaws.com' - ] - }, - 'Action': 'sns:Publish', - 'Resource': '${aws_sns_topic.monitoring.arn}', - 'Condition': { - 'StringEquals': { - 'aws:SourceAccount': config.aws_account_id - } - } - } - ] - }) - } - }, - 'aws_sns_topic_subscription': { - 'monitoring': { - 'topic_arn': '${aws_sns_topic.monitoring.arn}', - # The `email` protocol is only partially supported. Since - # Terraform cannot confirm or delete pending subscriptions - # (see link below), we use a separate script for this purpose. - # https://registry.terraform.io/providers/hashicorp/aws/4.3.0/docs/resources/sns_topic_subscription#protocol-support - 'protocol': 'email', - 'endpoint': config.monitoring_email, - 'provisioner': { - 'local-exec': { - 'command': ' '.join(map(shlex.quote, [ - 'python', - config.project_root + '/scripts/confirm_sns_subscription.py' - ])) - } - } - } - }, - 'aws_wafv2_ip_set': { - **{ - name: { - 'name': config.qualified_resource_name(name), - 'scope': 'REGIONAL', - 'ip_address_version': 'IPV4', - 'addresses': [], - 'lifecycle': { - 'ignore_changes': [ - 'addresses' - ] - } - } - for name in [ - config.blocked_v4_ips_term, - config.allowed_v4_ips_term - ] - } - }, - 'aws_wafv2_regex_pattern_set': { - config.blocked_user_agents_regex_term: { - 'name': config.qualified_resource_name(config.blocked_user_agents_regex_term), - 'scope': 'REGIONAL', - 'regular_expression': [ - { - # This is for a specific Google Apps Script project ID - 'regex_string': r'id: ?UAEmdDd991fowvU7Kc-RVc3LUfU7cmcjwBg[);]' - }, - { - 'regex_string': r'^aria2/' - } - ] - }, - config.blocked_user_agents_custom_regex_term: { - 'name': config.qualified_resource_name(config.blocked_user_agents_custom_regex_term), - 'scope': 'REGIONAL', - 'lifecycle': { - 'ignore_changes': [ - 'regular_expression' - ] - } - } - }, - 'aws_ecr_repository': { - tf_repository: { - 'name': name, - 'force_delete': True - } - for name, tf_repository in docker.images_by_tf_repository.keys() - if config.docker_registry - }, - 'null_resource': { - **{ - # Copy image from upstream to ECR - image.tf_image: { - 'depends_on': [ - 'aws_ecr_repository.' + image.tf_repository - ], - 'triggers': { - 'always': '${timestamp()}' - }, - 'provisioner': { - 'local-exec': { - 'command': ' '.join([ - 'python', - f'{config.project_root}/scripts/manage_images.py', - '--copy', - str(image) - ]), - } - } - } - for image in docker.images - if config.docker_registry - }, - **( - { - # Clean up leftovers from copying - 'cleanup': { - 'depends_on': [ - 'null_resource.' + image.tf_image - for image in docker.images - ], - 'lifecycle': { - 'replace_triggered_by': [ - 'aws_ecr_repository.' + image.tf_repository - for image in docker.images - ] - }, - 'provisioner': { - 'local-exec': { - 'command': ' '.join([ - 'python', - f'{config.project_root}/scripts/manage_images.py', - '--cleanup' - ]), - } - } - } - } - if config.docker_registry else - {} - ), - **{ - # Delete unused images - tf_repository: { - 'depends_on': [ - 'aws_ecr_repository.' + tf_repository, - *('null_resource.' + image.tf_image for image in images), - 'null_resource.cleanup' - ], - 'triggers': { - 'always': '${timestamp()}' - }, - 'provisioner': { - 'local-exec': { - 'command': ' '.join([ - 'python', - f'{config.project_root}/scripts/manage_images.py', - '--delete-unused', - str(name) - ]), - } - } - } - for (name, tf_repository), images in docker.images_by_tf_repository.items() - if config.docker_registry - } - } - } -} -tf_config = enable_s3_bucket_inventory(tf_config, 'aws_s3_bucket.logs') -tf_config = block_public_s3_bucket_access(tf_config) -tf_config = set_empty_s3_bucket_lifecycle_config(tf_config) -emit_tf(tf_config) diff --git a/terraform/sqs.tf.json.template.py b/terraform/sqs.tf.json.template.py deleted file mode 100644 index a2fc49739e..0000000000 --- a/terraform/sqs.tf.json.template.py +++ /dev/null @@ -1,80 +0,0 @@ -import json - -from azul import ( - config, -) -from azul.terraform import ( - emit_tf, -) - -emit_tf( - { - 'resource': [ - { - 'aws_sqs_queue': { - **{ - config.notifications_queue.derive(retry=retry).unqual_name: { - 'name': config.notifications_queue.derive(retry=retry).name, - 'visibility_timeout_seconds': config.contribution_lambda_timeout(retry=retry) + 10, - 'message_retention_seconds': 7 * 24 * 60 * 60, - 'redrive_policy': json.dumps({ - 'maxReceiveCount': 9 if retry else 1, - 'deadLetterTargetArn': '${aws_sqs_queue.%s.arn}' - % config.notifications_queue.derive(retry=not retry, - fail=retry).unqual_name - }) - } - for retry in (False, True) - }, - **{ - config.tallies_queue.derive(retry=retry).unqual_name: { - 'name': config.tallies_queue.derive(retry=retry).name, - 'fifo_queue': True, - 'delay_seconds': config.es_refresh_interval + 9, - 'visibility_timeout_seconds': config.aggregation_lambda_timeout(retry=retry) + 10, - 'message_retention_seconds': 7 * 24 * 60 * 60, - 'redrive_policy': json.dumps({ - 'maxReceiveCount': 9 if retry else 1, - 'deadLetterTargetArn': '${aws_sqs_queue.%s.arn}' - % config.tallies_queue.derive(retry=not retry, - fail=retry).unqual_name - }) - } - for retry in (False, True) - }, - config.notifications_queue.to_fail.unqual_name: { - 'name': config.notifications_queue.to_fail.name, - 'message_retention_seconds': 14 * 24 * 60 * 60, - }, - config.tallies_queue.to_fail.unqual_name: { - 'fifo_queue': True, - 'name': config.tallies_queue.to_fail.name, - 'message_retention_seconds': 14 * 24 * 60 * 60, - }, - **( - { - config.mirror_queue.unqual_name: { - 'name': config.mirror_queue.name, - 'fifo_queue': True, - 'message_retention_seconds': 7 * 24 * 60 * 60, - 'visibility_timeout_seconds': config.mirror_lambda_timeout + 10, - 'redrive_policy': json.dumps({ - 'maxReceiveCount': 10, - 'deadLetterTargetArn': '${aws_sqs_queue.%s.arn}' - % config.mirror_queue.to_fail.unqual_name - }) - }, - config.mirror_queue.to_fail.unqual_name: { - 'name': config.mirror_queue.to_fail.name, - 'fifo_queue': True, - 'message_retention_seconds': 14 * 24 * 60 * 60, - } - } - if config.enable_mirroring else - {} - ) - } - } - ] - } -) diff --git a/terraform/step_function.tf.json.template.py b/terraform/step_function.tf.json.template.py deleted file mode 100644 index 643ce88cf5..0000000000 --- a/terraform/step_function.tf.json.template.py +++ /dev/null @@ -1,93 +0,0 @@ -import json - -from azul import ( - config, -) -from azul.deployment import ( - aws, -) -from azul.modules import ( - load_app_module, -) -from azul.service.manifest_controller import ( - manifest_state_key, -) -from azul.terraform import ( - emit_tf, -) - -service = load_app_module('service') - -emit_tf({ - "resource": { - "aws_iam_role": { - "states": { - "name": config.qualified_resource_name("statemachine"), - "assume_role_policy": json.dumps({ - "Version": "2012-10-17", - "Statement": [ - { - "Sid": "", - "Effect": "Allow", - "Principal": { - "Service": "states.amazonaws.com" - }, - "Action": "sts:AssumeRole" - } - ] - }), - **aws.permissions_boundary_tf - } - }, - "aws_iam_role_policy": { - "states": { - "name": config.qualified_resource_name("statemachine"), - "role": "${aws_iam_role.states.id}", - "policy": json.dumps({ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": [ - "lambda:InvokeFunction" - ], - "Resource": [ - aws.get_lambda_arn(config.service_name, service.generate_manifest.name), - ] - } - ] - }) - } - }, - "aws_sfn_state_machine": { - "manifest": { - "name": config.qualified_resource_name(config.manifest_sfn), - "role_arn": "${aws_iam_role.states.arn}", - "definition": json.dumps({ - "StartAt": "Loop", - "States": { - "Loop": { - "Type": "Choice", - "Default": "Manifest", - "Choices": [ - { - "Variable": f"$.{manifest_state_key}", - "IsPresent": True, - "Next": "Done" - } - ], - }, - "Manifest": { - "Type": "Task", - "Resource": aws.get_lambda_arn(config.service_name, service.generate_manifest.name), - "Next": "Loop" - }, - "Done": { - "Type": "Succeed" - } - } - }, indent=2) - } - } - } -}) diff --git a/test/__init__.py b/test/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/test/app_test_case.py b/test/app_test_case.py deleted file mode 100644 index 8f289f1193..0000000000 --- a/test/app_test_case.py +++ /dev/null @@ -1,138 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from threading import ( - Thread, -) -import time - -# noinspection PyPackageRequirements -from chalice.config import ( - Config as ChaliceConfig, -) -# noinspection PyPackageRequirements -from chalice.local import ( - LocalDevServer, -) -from furl import ( - furl, -) -import requests - -from azul import ( - config, - mutable_furl, -) -from azul.logging import ( - get_test_logger, -) -from azul.modules import ( - load_app_module, -) -from azul_test_case import ( - CatalogTestCase, -) - -log = get_test_logger(__name__) - - -class ChaliceServerThread(Thread): - - def __init__(self, app, config, host, port): - super().__init__() - self.server_wrapper = LocalDevServer(app, config, host, port) - - def run(self): - # FIXME: A newline should separate the unit test description and log output - # https://github.com/DataBiosphere/azul/issues/3665 - log.info('Serving on http://%s:%d', self.address[0], self.address[1]) - # A shorter poll intervall causes the server thread to check the exit - # flag more frequently, but wastes more CPU. Going from the default of - # .5 to .05 caused an improvement of the overall test duration by tens - # of seconds. - self.server_wrapper.server.serve_forever(poll_interval=.05) - - def kill_thread(self): - self.server_wrapper.server.shutdown() - self.server_wrapper.server.server_close() - - @property - def address(self): - return self.server_wrapper.server.server_address - - -class LocalAppTestCase(CatalogTestCase, metaclass=ABCMeta): - """ - A mixin for test cases against a locally running instance of an AWS Lambda - Function aka Chalice application. By default, the local instance will use - the remote AWS Elasticsearch domain configured via AZUL_ES_DOMAIN or - AZUL_ES_ENDPOINT. To use a locally running ES instance, combine this mixin - with ElasticsearchTestCase. Be sure to list ElasticsearchTestCase first such - that this mixin picks up the environment overrides made by - ElasticsearchTestCase. - """ - - @classmethod - @abstractmethod - def lambda_name(cls) -> str: - """ - Return the name of the AWS Lambda function to start locally. Must match - the name of a subdirectory of ${project_root}/lambdas. Subclasses must - override this to select which AWS Lambda function to start locally. - """ - raise NotImplementedError - - @property - def base_url(self) -> mutable_furl: - """ - The HTTP endpoint of the locally running Chalice application. Subclasses - should use this to derive the URLs for the test requests that they issue. - """ - host, port = self.server_thread.address - return furl(scheme='http', host=host, port=port) - - @classmethod - def setUpClass(cls): - super().setUpClass() - # Load the application module without modifying `sys.path` and without - # adding it to `sys.modules`. This simplifies tear down and isolates the - # app modules from different lambdas loaded by different concrete - # subclasses. It does, however, violate this one invariant: - # `sys.modules[module.__name__] == module` - cls.app_module = load_app_module(cls.lambda_name()) - - @classmethod - def tearDownClass(cls): - cls.app_module = None - super().tearDownClass() - - def setUp(self): - super().setUp() - self.server_thread = ChaliceServerThread(self.app_module.app, self.chalice_config(), 'localhost', 0) - self.server_thread.start() - deadline = time.time() + 10 - while True: - try: - response = self._ping() - response.raise_for_status() - except Exception: - if time.time() > deadline: - raise - log.debug('Unable to connect to server', exc_info=True) - time.sleep(1) - else: - break - - def _ping(self): - return requests.get(str(self.base_url.set(path='/health/basic'))) - - def chalice_config(self): - return ChaliceConfig.create(lambda_timeout=config.api_gateway_lambda_timeout) - - def tearDown(self): - log.debug('Tearing down server thread …') - self.server_thread.kill_thread() - self.server_thread.join(timeout=10) - if self.server_thread.is_alive(): - self.fail('Thread is still alive after joining') diff --git a/test/azul_test_case.py b/test/azul_test_case.py deleted file mode 100644 index 7d5ac7e176..0000000000 --- a/test/azul_test_case.py +++ /dev/null @@ -1,520 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from collections.abc import ( - Set, -) -import contextlib -from contextlib import ( - AbstractContextManager, -) -from functools import ( - partial, -) -import os -from re import ( - escape, -) -from typing import ( - Callable, - Iterable, - Optional, -) -from unittest import ( - TestCase, -) -from unittest.mock import ( - PropertyMock, - _patch, - _patch_dict, - patch, -) -import warnings - -import boto3.session -from botocore.credentials import ( - Credentials, -) -import botocore.session -from furl import ( - furl, -) -import moto.backends -import moto.core.models -from opensearchpy.exceptions import ( - OpenSearchWarning, -) - -from azul import ( - CatalogName, - Config, - config, -) -from azul.deployment import ( - aws, -) -from azul.indexer import ( - SourceRef, -) -from azul.logging import ( - configure_test_logging, - get_test_logger, -) -from azul.plugins.repository.dss import ( - DSSSourceRef, -) -from azul.plugins.repository.tdr_hca import ( - TDRSourceRef, -) -from azul.terra import ( - TDRSourceSpec, -) -from humancellatlas.data.metadata import ( - api, -) - -log = get_test_logger(__name__) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging(log) - - -type Patch = _patch | _patch_dict - - -def patch_config(name: str, value: str) -> Patch: - return patch.object(Config, name, new=PropertyMock(return_value=value)) - - -class AzulTestCase(TestCase): - _catch_warnings: Optional[AbstractContextManager] - _caught_warnings: list[warnings.WarningMessage] - - @classmethod - def setUpClass(cls) -> None: - super().setUpClass() - - class RE(str): - pass - - catch_warnings = warnings.catch_warnings(record=True) - # Use tuple assignment to modify state atomically - cls._catch_warnings, cls._caught_warnings = catch_warnings, catch_warnings.__enter__() - permitted_warnings_: dict[type[Warning], set[str]] = { - ResourceWarning: { - RE(r'.*'), - RE(r'.*'), - }, - DeprecationWarning: { - RE(r'Call to deprecated method .*\. \(DOS support will be removed\)'), - - 'Call to deprecated method fetch_bundle_manifest', - - 'ProjectContact.contact_name is deprecated', - 'File.file_format is deprecated', - 'ProjectPublication.publication_title is deprecated', - 'ProjectPublication.publication_url is deprecated', - 'CellLine.cell_line_type is deprecated', - 'CellSuspension.selected_cell_type is deprecated', - 'CellSuspension.total_estimated_cells is deprecated', - 'DonorOrganism.biological_sex is deprecated', - 'DonorOrganism.disease is deprecated', - 'LibraryPreparationProtocol.library_construction_approach is deprecated', - 'SpecimenFromOrganism.disease is deprecated', - 'SpecimenFromOrganism.organ_part has been removed', - 'Project.laboratory_names is deprecated', - 'Project.project_shortname is deprecated', - 'Project.insdc_project_accessions is deprecated', - 'Project.geo_series_accessions is deprecated', - 'Project.array_express_accessions is deprecated', - 'Project.insdc_study_accessions is deprecated', - - RE(r'.*humancellatlas\.data\.metadata\.api\.DissociationProcess'), - RE(r'.*humancellatlas\.data\.metadata\.api\.EnrichmentProcess'), - RE(r'.+humancellatlas\.data\.metadata\.api\.LibraryPreparationProcess'), - RE(r'.*humancellatlas\.data\.metadata\.api\.SequencingProcess'), - - 'Call to deprecated function (or staticmethod) patch_source_cache', - - # FIXME: DeprecationWarning for ES body parameter - # https://github.com/DataBiosphere/azul/issues/5912 - # - RE( - 'The \'body\' parameter is deprecated for the \'.*\' API ' - 'and will be removed in .*. Instead use .*' - ), - - # FIXME: DeprecationWarning for datetime methods in Python 3.12 - # https://github.com/DataBiosphere/azul/issues/5953 - 'datetime.datetime.utcnow() is deprecated', - }, - OpenSearchWarning: { - # FIXME: ES DeprecationWarning for using _id as sort key - # https://github.com/DataBiosphere/azul/issues/7290 - RE('.*Loading the fielddata on the _id field is deprecated and will be removed in future versions.*'), - } - } - for warning_class, message_patterns in permitted_warnings_.items(): - for message_pattern in message_patterns: - if isinstance(message_pattern, tuple): - message_pattern, module_name = message_pattern - else: - module_name = '' - if not isinstance(message_pattern, RE): - message_pattern = escape(message_pattern) - if not isinstance(module_name, RE): - module_name = escape(module_name) - warnings.filterwarnings('ignore', - message=message_pattern, - category=warning_class, - module=module_name) - - @classmethod - def tearDownClass(cls) -> None: - if cls._catch_warnings is not None: - cls._catch_warnings.__exit__(None, None, None) - caught_warnings = cls._caught_warnings - # Use tuple assignment to modify state atomically - cls._catch_warnings, cls._caught_warnings = None, [] - if caught_warnings: - # Running a single test method in PyCharm somehow doesn't print - # anything when the assertion below is raised. To account for - # that we additionally log each warning. Note that PyCharm - # sometimes (non-deterministically) dumps these log messages - # above the log messages emitted by the actual tests, even - # though these messages are emitted afterwards, when the class - # is torn down. - for warning in caught_warnings: - log.error('Caught unexpected warning: %s', warning) - assert False, list(map(str, caught_warnings)) - super().tearDownClass() - - def assertIsSubset(self, subset: Set, superset: Set): - """ - More useful than using :meth:`assertTrue` and :meth:`set.issubset` - because the offending elements are shown. - """ - self.assertEqual(set(), subset - superset) - - def assertIsDisjoint(self, set1: Set, set2: Set): - """ - More useful than using :meth:`assertTrue` and :meth:`set.isdisjoint` - because the offending elements are shown. - """ - self.assertEqual(set(), set1 & set2) - - @classmethod - def addClassPatch(cls, instance: Patch) -> None: - instance.start() - cls.addClassCleanup(instance.stop) - - def addPatch(self, instance: Patch) -> None: - # Moto mock's stop() method has the drastic effect of resetting the - # model class attributes that are used to track model instances so that - # they can later be cleaned up when the backend is reset. - cleanup: Callable[[], None] - if isinstance(instance, moto.core.models.MockAWS): - cleanup = partial(instance.stop, remove_data=False) - else: - cleanup = instance.stop - instance.start() - self.addCleanup(cleanup) - - @contextlib.contextmanager - def stacked_patches(self, patches: Iterable[Patch]): - with contextlib.ExitStack() as context: - for cm in patches: - context.enter_context(cm) - yield - - -class AzulUnitTestCase(AzulTestCase): - - @classmethod - def setUpClass(cls) -> None: - super().setUpClass() - cls._patch_aws_account() - cls._patch_aws_credentials() - cls._patch_aws_region() - cls._patch_dss_query_prefix() - cls._patch_lambda_env() - cls._patch_valid_schema_domains() - - def setUp(self) -> None: - super().setUp() - # Moto backends are reset to ensure no mock resources are left over if - # a test fails to clean up after itself. - self._reset_moto() - - def _reset_moto(self): - # Note that we don't use moto.core.models.moto_api_backend.reset() here - # because it resets all backends and therefore requires that all Moto - # extras are installed. The backends listed here need to match the - # extras specified for the `moto` dependency in `requirements.dev.txt`. - for name in ('s3', 'sqs', 'sns', 'dynamodb', 'iam'): - backends = moto.backends.get_backend(name) - for region_name, backend in backends.items(): - backend.reset() - - _aws_account_name = 'test-hca-dev' - - @classmethod - def _patch_aws_account(cls): - # Set AZUL_AWS_ACCOUNT_ID to what the Moto is using. This circumvents - # assertion errors in azul.deployment.aws.account. - cls.addClassPatch(patch.dict(os.environ, - AZUL_AWS_ACCOUNT_ID=moto.core.models.DEFAULT_ACCOUNT_ID, - azul_aws_account_name=cls._aws_account_name)) - - @classmethod - def _patch_aws_credentials(cls): - # Discard cached Boto3/botocore clients, resources and sessions - def reset(): - aws.clear_caches() - aws.discard_all_sessions() - - reset() - cls.addClassCleanup(reset) - - # Save and then reset the default boto3session. This overrides any - # session customizations such as those performed by envhook.py which - # interfere with moto patchers, rendering them ineffective. - cls.addClassPatch(patch.object(boto3, 'DEFAULT_SESSION', None)) - - # This ensures that we don't accidentally use actual cloud resources in - # unit tests. Furthermore, `boto3` and `botocore` cache credentials - # which can lead to credentials from an unmocked use of boto3 in one - # test to leak into a mocked use of boto3. The latter was the reason for - # https://github.com/DataBiosphere/azul/issues/668. - - def dummy_get_credentials(_self): - # These must match what `moto` uses to mock the instance metadata - # response (see InstanceMetadataResponse.metadata_response() in - # moto.instance_metadata.responses). - return Credentials(access_key='test-key', - secret_key='test-secret-key', - token='test-session-token') - - cls.addClassPatch(patch.object(botocore.session.Session, - 'get_credentials', - dummy_get_credentials)) - - cls.addClassPatch(patch.object(boto3.session.Session, - 'get_credentials', - dummy_get_credentials)) - - # We almost certainly won't have access to this region - _aws_test_region = 'us-gov-west-1' - - @classmethod - def _patch_aws_region(cls): - # Ensure that mock leakages fail by targeting a region we don't have - # access to. Subclasses can override the selected region if moto rejects - # the default one. - cls.addClassPatch(patch.dict(os.environ, - AWS_DEFAULT_REGION=cls._aws_test_region)) - - dss_query_prefix = '' - - @classmethod - def _patch_dss_query_prefix(cls): - cls.addClassPatch(patch.object(target=Config, - attribute='dss_query_prefix', - new_callable=PropertyMock, - return_value=cls.dss_query_prefix)) - - @classmethod - def _patch_lambda_env(cls): - cls.addClassPatch(patch.dict(os.environ, - AWS_LAMBDA_FUNCTION_NAME='unit-tests')) - - valid_schema_domains = [ - 'schema.humancellatlas.org', - 'schema.dev.data.humancellatlas.org', - 'schema.staging.data.humancellatlas.org', - 'schema.integration.data.humancellatlas.org', - ] - - @classmethod - def _patch_valid_schema_domains(cls): - cls.addClassPatch(patch.object(target=api, - attribute='valid_schema_domains', - new=cls.valid_schema_domains)) - - -class CatalogTestCase(AzulUnitTestCase, metaclass=ABCMeta): - catalog: CatalogName = 'test' - source: SourceRef - - @classmethod - @abstractmethod - def catalog_config(cls) -> dict[CatalogName, Config.Catalog]: - raise NotImplementedError - - @classmethod - def setUpClass(cls) -> None: - super().setUpClass() - cls._patch_catalogs() - cls._patch_replicas_enabled() - cls._patch_deployment() - - @classmethod - def _patch_catalogs(cls): - # Reset the cached properties - try: - # noinspection PyPropertyAccess - del config.catalogs - except AttributeError: - pass - try: - # noinspection PyPropertyAccess - del config.default_catalog - except AttributeError: - pass - try: - # noinspection PyPropertyAccess - del config.integration_test_catalogs - except AttributeError: - pass - # Patch the catalog property to use a single fake test catalog. - cls.addClassPatch(patch.object(target=type(config), - attribute='catalogs', - new_callable=PropertyMock, - return_value=cls.catalog_config())) - assert cls.catalog_config()[cls.catalog] - # Ensure that derived cached properties are affected - assert config.default_catalog == cls.catalog - assert config.integration_test_catalogs == {} - - @classmethod - def _patch_replicas_enabled(cls): - cls.addClassPatch(patch.object(type(config), - 'enable_replicas', - new_callable=PropertyMock, - return_value=True)) - - @classmethod - def _patch_deployment(cls): - cls.addClassPatch(patch.object(type(config), - 'deployment_stage', - new_callable=PropertyMock, - return_value=config.deployment.test_name)) - - -class DSSTestCase(CatalogTestCase, metaclass=ABCMeta): - """ - A mixin for test cases that depend on certain DSS-related environment - variables. - """ - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._patch_source_cache() - cls._patch_drs_domain() - - source = DSSSourceRef.for_dss_source('https://fake_dss_instance/v1:/2') - - @classmethod - def _patch_source_cache(cls): - from service import ( # type: ignore[import-untyped] - patch_source_cache, - ) - cls.addClassPatch(patch_source_cache()) - - # With DSS as the repository, which doesn't support DRS, Azul acts as a - # partial DRS implementation, proxying DSS. The REST endpoints making up - # that partial implementaton are exposed by the Azul service. Optionally, a - # CNAME alias for the canonical service endpoint can be set up. When the - # repository is DSS and if the alias is enabled by configuring - # AZUL_DRS_DOMAIN_NAME, all DRS URIs emitted by the service reference that - # alias instead of the service's canonical endpoint. In a unit test, the - # canonical service endpoint is 'localhost:' followed by some ephemeral - # port. Since many cans hard-code DRS URIs we need a predictable value for - # the DRS endpoint, so we patch AZUL_DRS_DOMAIN_NAME to achieve that. - - _drs_domain_name = 'mock_drs_domain.lan' - - @classmethod - def _patch_drs_domain(cls): - cls.addClassPatch(patch.dict(os.environ, - AZUL_DRS_DOMAIN_NAME=cls._drs_domain_name)) - - -class DCP1TestCase(DSSTestCase): - - @classmethod - def catalog_config(cls) -> dict[CatalogName, Config.Catalog]: - return { - cls.catalog: config.Catalog(name=cls.catalog, - atlas='hca', - internal=False, - plugins=dict(metadata=config.Catalog.Plugin(name='hca'), - repository=config.Catalog.Plugin(name='dss')), - sources={str(cls.source.spec)}) - } - - -class TDRTestCase(CatalogTestCase, metaclass=ABCMeta): - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._patch_tdr_service_url() - cls._patch_source_cache() - - mock_tdr_service_url = furl('https://mock_tdr.lan') - - @classmethod - def _patch_tdr_service_url(cls): - cls.addClassPatch(patch.object(type(config), - 'tdr_service_url', - new=PropertyMock(return_value=cls.mock_tdr_service_url))) - - _drs_domain_name = str(mock_tdr_service_url.netloc) - - @classmethod - def _sources(cls): - return {str(cls.source.spec)} - - @classmethod - def _patch_source_cache(cls): - from service import ( - patch_source_cache, - ) - cls.addClassPatch(patch_source_cache(hit=[cls.source.id])) - - -class DCP2TestCase(TDRTestCase): - source = TDRSourceRef(id='d8c20944-739f-4e7d-9161-b720953432ce', - spec=TDRSourceSpec.parse('tdr:bigquery:gcp:test_hca_project:hca_snapshot:/2')) - - @classmethod - def catalog_config(cls) -> dict[CatalogName, Config.Catalog]: - return { - cls.catalog: config.Catalog(name=cls.catalog, - atlas='hca', - internal=False, - plugins=dict(metadata=config.Catalog.Plugin(name='hca'), - repository=config.Catalog.Plugin(name='tdr_hca')), - sources=cls._sources()) - } - - -class AnvilTestCase(TDRTestCase): - source = TDRSourceRef(id='6c87f0e1-509d-46a4-b845-7584df39263b', - spec=TDRSourceSpec.parse('tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0')) - - @classmethod - def catalog_config(cls) -> dict[CatalogName, Config.Catalog]: - return { - cls.catalog: config.Catalog(name=cls.catalog, - atlas='anvil', - internal=False, - plugins=dict(metadata=config.Catalog.Plugin(name='anvil'), - repository=config.Catalog.Plugin(name='tdr_anvil')), - sources={str(cls.source.spec)}) - } diff --git a/test/docker_container_test_case.py b/test/docker_container_test_case.py deleted file mode 100644 index f34300b7a3..0000000000 --- a/test/docker_container_test_case.py +++ /dev/null @@ -1,180 +0,0 @@ -import atexit -from datetime import ( - datetime, -) -from functools import ( - partial, -) -import os -import time -from typing import ( - ClassVar, - Optional, -) - -import docker -from docker import ( - DockerClient, -) -from docker.models.containers import ( - Container, -) -from more_itertools import ( - one, -) - -from azul import ( - Netloc, -) -from azul.json import ( - json_hash, -) -from azul.logging import ( - get_test_logger, -) -from azul_test_case import ( - AzulUnitTestCase, -) - -log = get_test_logger(__name__) - - -class DockerContainerTestCase(AzulUnitTestCase): - """ - A test case facilitating the creation of Docker containers that live as long - as the test case. - """ - _docker: ClassVar[Optional[DockerClient]] = None - - _containers: ClassVar[dict[bytes, tuple[bool, Container]]] = {} - - @classmethod - def setUpClass(cls) -> None: - super().setUpClass() - atexit.register(partial(cls._kill_containers, keep_cached=False)) - if cls._docker is None: - cls._docker = docker.from_env() - - @classmethod - def _create_container(cls, - image: str, - container_port: int, - cached: bool = False, - **kwargs - ) -> Netloc: - """ - Create a Docker container from the given image, exposing the given - container port on an interface that is within reach of the current - process. - - :param image: the fully qualified name of the Docker image to run - - :param container_port: The TCP port that the process inside the - container binds to. - - :param kwargs: Additional parameters to the client.container.run() - method of the Docker Python SDK. - - :return: A tuple `(ip, port)` describing the actual endpoint the given - container port was exposed on. - """ - key = json_hash(dict(cached=cached, - image=image, - container_port=container_port, - kwargs=kwargs)).digest() - try: - was_cached, container = cls._containers[key] - except KeyError: - container = None - else: - assert was_cached, ('Left over container', container) - if not cached: - container = None - # If the current process runs in a container (as is currently the case - # on Gitlab), our best guess is that the container launcher here will - # be a sibling of the current container. Exposing the container port on - # the host is difficult if not impossible since we don't know—and may - # not even have access to—the host's network interfaces. Even if we - # correctly guessed the IP of an interface on the host, we would still - # need traffic to be forwarded from the current container to that host - # interface. - is_sibling = cls._running_in_docker() - start = datetime.now() - if container is None: - log.info('Launching %scontainer from image %s', - 'sibling ' if is_sibling else '', image) - ports = None if is_sibling else {container_port: ('127.0.0.1', None)} - container = cls._docker.containers.run(image, - detach=True, - auto_remove=True, - ports=ports, - **kwargs) - else: - log.info('Reusing container from image %s', image) - try: - container_info = cls._docker.api.inspect_container(container.id) - if is_sibling: # no coverage - container_ip = container_info['NetworkSettings']['IPAddress'] - assert isinstance(container_ip, str) - endpoint = (container_ip, container_port) - log.info('Sibling container %s from image %s is listening on %s:%i', - container.name, image, container_ip, container_port) - else: - while True: - seconds = (datetime.now() - start).total_seconds() - ports = container_info['NetworkSettings']['Ports'][f'{container_port}/tcp'] - if len(ports) > 0: - break - elif seconds > 3: - raise RuntimeError('Unreachable TCP port', container_port, container.name) - else: - time.sleep(.33) - container_info = cls._docker.api.inspect_container(container.id) - port = one(ports) - host_ip = port['HostIp'] - host_port = int(port['HostPort']) - log.info('Launched (or reused) container %s from image %s after %.3fs, ' - 'with container port %s mapped to %s:%i on the host', - container.name, image, seconds, container_port, host_ip, host_port) - endpoint = (host_ip, host_port) - except BaseException: # no coverage - container.kill() - raise - else: - cls._containers[key] = (cached, container) - return endpoint - - @classmethod - def _running_in_docker(cls): - """ - Detect if the current process is running inside a Docker container. - """ - # This is how Docker does it internally. - # - # https://github.com/docker/libnetwork/blob/411d314/drivers/bridge/setup_bridgenetfiltering.go#L160 - # - # People have been warning that it might go away. However, they've been - # saying that since 2015. - try: - os.stat('/.dockerenv') - except FileNotFoundError: - running_in_container = False - else: # no coverage - running_in_container = True - return running_in_container - - @classmethod - def _kill_containers(cls, keep_cached: bool = True): - containers = {} - for key, (cached, container) in cls._containers.items(): - if cached and keep_cached: - containers[key] = (cached, container) - else: - container.kill() - cls._containers.clear() - cls._containers.update(containers) - - @classmethod - def tearDownClass(cls): - cls._kill_containers() - super().tearDownClass() diff --git a/test/dynamodb_test_case.py b/test/dynamodb_test_case.py deleted file mode 100644 index ee6e90271b..0000000000 --- a/test/dynamodb_test_case.py +++ /dev/null @@ -1,62 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from collections.abc import ( - Mapping, -) - -from moto import ( - mock_aws, -) -from mypy_boto3_dynamodb import ( - DynamoDBClient, -) -from mypy_boto3_dynamodb.literals import ( - ScalarAttributeTypeType, -) - -from azul.deployment import ( - aws, -) -from azul_test_case import ( - AzulUnitTestCase, -) - - -class DynamoDBTestCase(AzulUnitTestCase, metaclass=ABCMeta): - # Moto's dynamodb backend doesn't support government regions. - _aws_test_region = 'ap-south-1' - - @abstractmethod - def _dynamodb_table_name(self) -> str: - raise NotImplementedError - - @abstractmethod - def _dynamodb_atttributes(self) -> Mapping[str, ScalarAttributeTypeType]: - raise NotImplementedError - - @abstractmethod - def _dynamodb_hash_key(self) -> str: - raise NotImplementedError - - @property - def dynamodb(self) -> DynamoDBClient: - return aws.dynamodb - - def setUp(self): - super().setUp() - self.addPatch(mock_aws()) - self.dynamodb.create_table(TableName=self._dynamodb_table_name(), - BillingMode='PAY_PER_REQUEST', - AttributeDefinitions=[ - dict(AttributeName=attr_name, AttributeType=attr_type) - for attr_name, attr_type in self._dynamodb_atttributes().items() - ], - KeySchema=[ - dict(AttributeName=self._dynamodb_hash_key(), KeyType='HASH') - ]) - - def tearDown(self): - self.dynamodb.delete_table(TableName=self._dynamodb_table_name()) - super().tearDown() diff --git a/test/es_test_case.py b/test/es_test_case.py deleted file mode 100644 index 847d0179d1..0000000000 --- a/test/es_test_case.py +++ /dev/null @@ -1,100 +0,0 @@ -import os -import time -from unittest import ( - mock, -) - -from azul import ( - config, -) -from azul.docker import ( - resolve_docker_image_for_launch, -) -from azul.es import ( - ESClientFactory, -) -from azul.json_freeze import ( - freeze, - sort_frozen, -) -from azul.logging import ( - get_test_logger, - silenced_es_logger, -) -from docker_container_test_case import ( - DockerContainerTestCase, -) - -log = get_test_logger(__name__) - - -class ElasticsearchTestCase(DockerContainerTestCase): - """ - A test case that uses an Elasticsearch instance running in a container. - The same Elasticsearch instance will be shared by all tests in the class. - """ - es_client = None - _env_patch = None - - @classmethod - def setUpClass(cls): - super().setUpClass() - image = resolve_docker_image_for_launch('opensearch') - es_endpoint = cls._create_container(image=image, - container_port=9200, - cached=True, - environment=['discovery.type=single-node', - 'DISABLE_INSTALL_DEMO_CONFIG=true', - 'DISABLE_SECURITY_PLUGIN=true', - 'DISABLE_SECURITY_DASHBOARDS_PLUGIN=true', - 'ES_JAVA_OPTS=-Xms512m -Xmx512m', - 'indices.breaker.total.use_real_memory=false']) - try: - new_env = config.es_endpoint_env(es_endpoint=es_endpoint, - es_instance_count=2) - cls._env_patch = mock.patch.dict(os.environ, **new_env) - cls._env_patch.start() - cls.es_client = ESClientFactory.get() - cls._wait_for_es() - - # Disable the automatic creation of indexes when documents are - # indexed. We create indexes explicitly before any documents are - # indexed so a missing index would be indicative of some sort of - # bug. We want to fail early in that situation. Automatically - # created indices have a only a default mapping, resulting in - # failure modes that are harder to diagnose. - # - cls.es_client.cluster.put_settings(body={ - 'persistent': { - 'action.auto_create_index': False, - 'action.destructive_requires_name': False - } - }) - except BaseException: # no coverage - cls._kill_containers(keep_cached=False) - raise - - @classmethod - def _wait_for_es(cls): - start_time = time.time() - with silenced_es_logger(): - while not cls.es_client.ping(): - assert time.time() - start_time < 60, 'Docker container timed out' - log.debug('Could not ping Elasticsearch. Retrying...') - time.sleep(1) - log.info(f'It took {time.time() - start_time:.3f}s for ES container to boot up') - - def assertElasticEqual(self, first, second): - """ - The ordering of list items in our Elasticsearch responses typically - doesn't matter. The comparison done by this method is insensitive to - ordering differences in lists. - - For details see the doc string for sort_frozen() and freeze() - """ - self.assertEqual(sort_frozen(freeze(first)), sort_frozen(freeze(second))) - - @classmethod - def tearDownClass(cls): - cls._env_patch.stop() - super().tearDownClass() diff --git a/test/hca_metadata_api/__init__.py b/test/hca_metadata_api/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/test/hca_metadata_api/cans/examples/1M Immune Cells/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json b/test/hca_metadata_api/cans/examples/1M Immune Cells/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json deleted file mode 100644 index 5c2c197ca9..0000000000 --- a/test/hca_metadata_api/cans/examples/1M Immune Cells/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json +++ /dev/null @@ -1,463 +0,0 @@ -{ - "manifest": { - "sequence_file/36d7f891-8a43-4ae4-8472-a34dcb2be643": { - "crc32c": "29B559F9", - "sha1": "0587673d7d88efa40a6f4d25d34d2eba14cf8e8b", - "sha256": "df8b88b6f32f494a53687f79724a6ebd8bbb9c5c0474b9a857d467a0bdb83c2d", - "s3_etag": "ef8edc4bf0ba07805a052cd7686b5ea7", - "content-type": "application/octet-stream", - "indexed": false, - "name": "MantonBM1_HiSeq_1_S1_L007_I1_001.fastq.gz", - "size": 566, - "uuid": "c8a4ea32-6d66-48f3-b480-9421743b9c0a", - "version": "1" - } - }, - "metadata": { - "cell_suspension/7b53bae2-2424-44c0-9d80-ad72e8bca136": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "1_BM1_cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "selected_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "total_estimated_cells": 4294, - "provenance": { - "document_id": "7b53bae2-2424-44c0-9d80-ad72e8bca136", - "submission_date": "2018-09-04T12:26:41.629Z", - "update_date": "2018-09-04T12:27:19.625Z" - } - }, - "dissociation_protocol/eebf404f-4fbb-41b0-a9c6-81586f729599": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "protocol_name": "mononuclear cell isolation", - "protocol_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing." - }, - "dissociation_method": { - "text": "10x sequencing", - "ontology": "EFO:0008995" - }, - "provenance": { - "document_id": "eebf404f-4fbb-41b0-a9c6-81586f729599", - "submission_date": "2018-09-04T12:26:54.982Z", - "update_date": "2018-09-04T12:26:56.433Z" - } - }, - "donor_organism/628e8b1d-a1ce-4dee-b15a-3fd33290eafe": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/10.1.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "BM1", - "biomaterial_name": "Bone Marrow donor 1", - "biomaterial_description": "Bone Marrow donor 1", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organism_age": "52", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "is_living": "yes", - "sex": "female", - "medical_history": { - "smoking_history": "no" - }, - "human_specific": { - "ethnicity": [ - { - "text": "Caucasian" - } - ] - }, - "weight": "69", - "weight_unit": { - "text": "kilogram", - "ontology": "UO:0000009" - }, - "height": "165", - "height_unit": { - "text": "centimeter", - "ontology": "UO:0000015" - }, - "provenance": { - "document_id": "628e8b1d-a1ce-4dee-b15a-3fd33290eafe", - "submission_date": "2018-09-04T12:26:40.051Z", - "update_date": "2018-09-04T12:27:10.175Z" - } - }, - "library_preparation_protocol/e4024c4a-dbce-4bda-bed8-21414091e7ce": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/4.3.2/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1", - "protocol_name": "Preparing RNA for sequencing by 10x" - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "10X sequencing", - "ontology": "EFO:0008995" - }, - "nucleic_acid_source": "single cell", - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "second", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 16, - "barcode_length": 10 - }, - "provenance": { - "document_id": "e4024c4a-dbce-4bda-bed8-21414091e7ce", - "submission_date": "2018-09-04T12:26:54.992Z", - "update_date": "2018-09-04T12:27:50.909Z" - } - }, - "process/98442f49-9afb-491e-8347-f891f39d8d70": { - "process_core": { - "process_id": "process_id_128" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "98442f49-9afb-491e-8347-f891f39d8d70", - "submission_date": "2018-09-04T12:26:57.064Z", - "update_date": "2018-09-04T12:28:00.426Z" - } - }, - "process/d691bda4-ed01-48b6-a4ea-65b70f6a3946": { - "process_core": { - "process_id": "process_id_255" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d691bda4-ed01-48b6-a4ea-65b70f6a3946", - "submission_date": "2018-09-04T12:26:58.574Z", - "update_date": "2018-09-04T12:28:06.541Z" - } - }, - "process/5aa4645b-2802-4140-9b15-d1008338b1c9": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5aa4645b-2802-4140-9b15-d1008338b1c9", - "submission_date": "2018-09-04T12:26:55.041Z", - "update_date": "2018-09-04T12:27:51.508Z" - } - }, - "project/617eb7c1-a3bc-4dd3-9a2a-50a77c998e22": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/project/9.0.2/project", - "schema_type": "project", - "project_core": { - "project_short_name": "1M Immune Cells", - "project_title": "Census of Immune Cells", - "project_description": "Diverse cells of the immune system maintain and protect tissue function, integrity, and homeostasis upon changes in functional demands and diverse perturbations. Recent advances such as massively parallel single-cell RNA-sequencing and sophisticated computational methods help shed new light on this complexity. This immune cell census aims to profile up to 2M immunocytes, the first tranche of this is currently available. With computational methods optimized to a massive scale, we can readily identify cell types and markers, as well as the process of hematopoietic differentiation. The high quality and comprehensive reference map is provided as an open community resource for understanding human health and disease." - }, - "contributors": [ - { - "contact_name": "Aviv,,Regev", - "email": "aregev@broadinstitute.org", - "phone": "(617) 714-7020", - "institution": "Broad Institute", - "laboratory": "Regev Lab", - "address": "415 Main Street, Cambridge, MA", - "country": "USA" - }, - { - "contact_name": "Bo,,Li", - "email": "libo@broadinstitute.org", - "phone": "(617) 714-8681", - "institution": "Broad Institute", - "laboratory": "Regev Lab", - "address": "415 Main Street, Cambridge, MA", - "country": "USA" - }, - { - "contact_name": "Monika,S,Kowalczyk", - "email": "msk.kowalczyk@gmail.com", - "institution": "Broad Institute", - "laboratory": "Regev Lab", - "address": "415 Main Street, Cambridge, MA", - "country": "USA" - }, - { - "contact_name": "Danielle,,Dionne", - "email": "dionne@broadinstitute.org", - "phone": "(617) 714-8147", - "institution": "Broad Institute", - "laboratory": "Regev Lab", - "address": "415 Main Street, Cambridge, MA", - "country": "USA" - }, - { - "contact_name": "Timothy,,Tickle", - "email": "ttickle@broadinstitute.org", - "phone": "(617) 714-7084", - "institution": "Broad Institute", - "laboratory": "Regev Lab", - "address": "415 Main Street, Cambridge, MA", - "country": "USA" - }, - { - "contact_name": "Jane,,Lee", - "email": "janelee@broadinstitute.org", - "phone": "(617) 714-7448", - "institution": "Broad Institute", - "laboratory": "Regev Lab", - "address": "415 Main Street, Cambridge, MA", - "country": "USA" - }, - { - "contact_name": "Orit,,Rozenblatt-Rosen", - "email": "orit@broadinstitute.org", - "phone": "(617) 714-7789", - "institution": "Broad Institute", - "laboratory": "Regev Lab", - "address": "415 Main Street, Cambridge, MA", - "country": "USA" - }, - { - "contact_name": "Orr,,Ashenberg", - "email": "orr@broadinstitute.org", - "phone": "(617) 714-8681", - "institution": "Broad Institute", - "laboratory": "Regev Lab", - "address": "415 Main Street, Cambridge, MA", - "country": "USA" - }, - { - "contact_name": "Marcin,,Tabaka", - "email": "mtabaka@broadinstitute.org", - "phone": "(617) 714-7470", - "institution": "Broad Institute", - "laboratory": "Regev Lab", - "address": "415 Main Street, Cambridge, MA", - "country": "USA" - }, - { - "contact_name": "Karthik,,Shekhar", - "email": "karthik@broadinstitute.org", - "phone": "(617) 714-8067", - "institution": "Broad Institute", - "laboratory": "Regev Lab", - "address": "415 Main Street, Cambridge, MA", - "country": "USA" - }, - { - "contact_name": "Michal,,Slyper", - "email": "mslyper@broadinstitute.org", - "phone": "(617) 714-7199", - "institution": "Broad Institute", - "laboratory": "Regev Lab", - "address": "415 Main Street, Cambridge, MA", - "country": "USA" - }, - { - "contact_name": "Julia,,Waldman", - "email": "jwaldman@broadinstitute.org", - "institution": "Broad Institute", - "laboratory": "Regev Lab", - "address": "415 Main Street, Cambridge, MA", - "country": "USA" - }, - { - "contact_name": "Mallory,Ann,Freeberg", - "email": "mfreeberg@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2949-3921", - "corresponding_contributor": false - }, - { - "contact_name": "Danielle,,Welter", - "email": "dwelter@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-1058-2668", - "corresponding_contributor": false - } - ], - "provenance": { - "document_id": "617eb7c1-a3bc-4dd3-9a2a-50a77c998e22", - "submission_date": "2018-09-04T12:26:40.041Z", - "update_date": "2018-09-04T12:27:09.930Z" - } - }, - "sequence_file/36d7f891-8a43-4ae4-8472-a34dcb2be643": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_1_S1_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "technical_replicate_group": "1_BM1_cells_r1", - "provenance": { - "document_id": "36d7f891-8a43-4ae4-8472-a34dcb2be643", - "submission_date": "2018-09-04T12:26:43.089Z", - "update_date": "2018-09-04T12:27:39.827Z" - } - }, - "sequencing_protocol/aaa08845-5150-4a4f-9c44-5ea22add1fc3": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "10x_v2_sequencing_protocol_1", - "protocol_name": "Sequencing bone marrow donor 1-4", - "protocol_description": "Single cell sequencing of cDNAs by 10x" - }, - "instrument_manufacturer_model": { - "text": "Illumina Hiseq X 10", - "ontology": "EFO:0008567" - }, - "local_machine_name": "HXE", - "paired_end": true, - "sequencing_approach": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440" - }, - "provenance": { - "document_id": "aaa08845-5150-4a4f-9c44-5ea22add1fc3", - "submission_date": "2018-09-04T12:26:55.003Z", - "update_date": "2018-09-04T12:27:50.911Z" - } - }, - "specimen_from_organism/6228558b-436a-46c9-9cd3-ea9b5c123070": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "1_BM1", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "bone", - "ontology": "UBERON:0001474" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "purchased_specimen": { - "manufacturer": "Stem Cell Technologies" - }, - "provenance": { - "document_id": "6228558b-436a-46c9-9cd3-ea9b5c123070", - "submission_date": "2018-09-04T12:26:40.206Z", - "update_date": "2018-09-04T12:27:13.378Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.1/links", - "schema_type": "link_bundle", - "schema_version": "1.1.1", - "links": [ - { - "process": "d691bda4-ed01-48b6-a4ea-65b70f6a3946", - "inputs": [ - "7b53bae2-2424-44c0-9d80-ad72e8bca136" - ], - "input_type": "biomaterial", - "outputs": [ - "36d7f891-8a43-4ae4-8472-a34dcb2be643" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "e4024c4a-dbce-4bda-bed8-21414091e7ce" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "aaa08845-5150-4a4f-9c44-5ea22add1fc3" - } - ] - }, - { - "process": "98442f49-9afb-491e-8347-f891f39d8d70", - "inputs": [ - "6228558b-436a-46c9-9cd3-ea9b5c123070" - ], - "input_type": "biomaterial", - "outputs": [ - "7b53bae2-2424-44c0-9d80-ad72e8bca136" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "eebf404f-4fbb-41b0-a9c6-81586f729599" - } - ] - }, - { - "process": "5aa4645b-2802-4140-9b15-d1008338b1c9", - "inputs": [ - "628e8b1d-a1ce-4dee-b15a-3fd33290eafe" - ], - "input_type": "biomaterial", - "outputs": [ - "6228558b-436a-46c9-9cd3-ea9b5c123070" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/examples/CD4+ cytotoxic T lymphocytes/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json b/test/hca_metadata_api/cans/examples/CD4+ cytotoxic T lymphocytes/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json deleted file mode 100644 index 64cebd9426..0000000000 --- a/test/hca_metadata_api/cans/examples/CD4+ cytotoxic T lymphocytes/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json +++ /dev/null @@ -1,479 +0,0 @@ -{ - "manifest": { - "sequence_file/a5806f2e-3f85-486a-9015-e02e5c805285": { - "crc32c": "E0404A01", - "sha1": "2d85a788acb4a291d5d13fb918dfbb25d4205de9", - "sha256": "895c57e9ca2bccbcd306086fd691c55b8e9303a864f1791d9a924b599a3c5313", - "s3_etag": "2f991645e73f650f6ad740cea4202d04", - "content-type": "application/octet-stream", - "indexed": false, - "name": "SRR6257787.fastq.gz", - "size": 519, - "uuid": "6ac13e04-d123-42de-bed9-f874b0d2fed2", - "version": "1" - } - }, - "metadata": { - "cell_suspension/cc0d9bf0-6ad5-4489-994b-db26ff761c5a": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Single-cell_RNA-seq_Subject10_TEMRA_Cell001", - "biomaterial_name": "Single-cell_RNA-seq_Subject10_TEMRA_Cell001", - "biomaterial_description": "Single-cell_RNA-seq_Subject10_TEMRA_Cell001", - "ncbi_taxon_id": [ - 9606 - ], - "insdc_biomaterial": "SRS2661967" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "selected_cell_type": [ - { - "text": "TEMRA", - "ontology": "CL:0000625" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "subject9-10_batch1", - "cell_quality": "OK" - }, - "provenance": { - "document_id": "cc0d9bf0-6ad5-4489-994b-db26ff761c5a", - "submission_date": "2018-09-05T09:47:21.355Z", - "update_date": "2018-09-05T09:53:09.415Z" - } - }, - "collection_protocol/f8d9778f-0f72-4432-a929-1096fd9ca2f4": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/biomaterial_collection/8.2.6/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "collection_protocol_2", - "protocol_name": "Blood sample collection", - "protocol_description": "Blood sample collection", - "publication_doi": "10.1126/sciimmunol.aan8664" - }, - "collection_method": { - "text": "blood draw", - "ontology": "EFO:0009121" - }, - "provenance": { - "document_id": "f8d9778f-0f72-4432-a929-1096fd9ca2f4", - "submission_date": "2018-09-05T09:48:40.196Z", - "update_date": "2018-09-05T09:52:05.472Z" - } - }, - "dissociation_protocol/a934e15c-e1ce-423b-b554-9203d4e93f41": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "protocol_name": "Dissociation by FACS into single cells", - "protocol_description": "Dissociation by FACS into single cells", - "publication_doi": "10.1126/sciimmunol.aan8664" - }, - "dissociation_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "provenance": { - "document_id": "a934e15c-e1ce-423b-b554-9203d4e93f41", - "submission_date": "2018-09-05T09:48:40.205Z", - "update_date": "2018-09-05T09:51:59.418Z" - } - }, - "donor_organism/25e083e3-d747-4295-86c8-c7ddc4b975be": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/10.1.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Subject10", - "biomaterial_name": "Subject10", - "biomaterial_description": "Subject10", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "is_living": "yes", - "sex": "unknown", - "medical_history": { - "test_results": "dengue virus negative" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "organism_age": "18-60", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "provenance": { - "document_id": "25e083e3-d747-4295-86c8-c7ddc4b975be", - "submission_date": "2018-09-05T09:47:20.947Z", - "update_date": "2018-09-05T09:50:15.914Z" - } - }, - "enrichment_protocol/80921b90-fe8d-45e1-a5e5-4fdb55f9a3fa": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_1", - "protocol_name": "PBMC Enrichment", - "protocol_description": "CD4 memory cell types were isolated from PBMCs and directly sorted by Flow cytometry into a 96-well plate wells with lysis buffer with RNAase inhibitor (Takara) - Described in Picelli et al. Nat Protoc. 2014, PMID:24385147. No particular cell growth procedure was required.", - "publication_doi": "10.1073/pnas.1305227110" - }, - "enrichment_method": { - "text": "Ficoll-Hypaque method", - "ontology": "EFO:0009110" - }, - "provenance": { - "document_id": "80921b90-fe8d-45e1-a5e5-4fdb55f9a3fa", - "submission_date": "2018-09-05T09:48:40.213Z", - "update_date": "2018-09-05T09:52:05.683Z" - } - }, - "enrichment_protocol/77c71448-fb32-472f-9d44-ea9a42867a41": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_2", - "protocol_name": "TEMRA Enrichment", - "protocol_description": "For single-cell RNA-seq experiments, live and singlet gated cells were further gated to sort 1) TCM; CD3+CD4+CD8\u03b1/CD14/CD19-CD45RA-CCR7+, 2) TEM; CD3+CD4+CD8\u03b1/CD14/CD19-CD45RA-CCR7-, 3) TEMRA; CD3+CD4+CD8\u03b1/CD14/CD19-CD45RA+CCR7-, 4) IL-7Rhigh TEMRA (CD4-CTL precursors); CD3+CD4+CD8\u03b1/CD14/CD19-CD45RA+CCR7-CD127high, 5) IL-7R- TEMRA (CD4-CTL effectors); CD3+CD4+CD8\u03b1/CD14/CD19-CD45RA+CCR7- CD127-. Single cells were directly sorted into 96 well plate with lysis buffer for downstream processing using Smart-seq2 method", - "publication_doi": "10.1126/sciimmunol.aan8664" - }, - "enrichment_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "markers": "CD3+CD4+CD8alpha/CD14/CD19-CD45RA+CCR7-", - "provenance": { - "document_id": "77c71448-fb32-472f-9d44-ea9a42867a41", - "submission_date": "2018-09-05T09:48:40.222Z", - "update_date": "2018-09-05T09:51:58.823Z" - } - }, - "library_preparation_protocol/0ea30fa0-7183-4ffc-a4b8-537c6de32e65": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/4.3.2/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1", - "protocol_name": "Preparation of mRNAs for single cell SmartSeq2 sequencing", - "protocol_description": "Single cell RNAseq was performed as described in Picelli et al.Nat Protoc. 2014, PMID:24385147. We performed 23 cycles of amplification. Barcoded Illumina sequencing libraries (Nextera XT library preparation kit, Illumina) were prepared as following manufacturers protocol.", - "publication_doi": "10.1038/nprot.2014.006" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931" - }, - "nucleic_acid_source": "single cell", - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_kit": { - "retail_name": "Nextera XT library preparation kit", - "manufacturer": "Illumina" - }, - "library_preamplification_method": { - "text": "PCR", - "ontology": "OBI:0000415" - }, - "provenance": { - "document_id": "0ea30fa0-7183-4ffc-a4b8-537c6de32e65", - "submission_date": "2018-09-05T09:48:40.286Z", - "update_date": "2018-09-05T09:52:00.867Z" - } - }, - "process/bcfcb3d7-674a-429f-8bf9-347a0f222db2": { - "insdc_experiment": { - "insdc_experiment": "SRX3364233" - }, - "process_core": { - "process_id": "process_id_2273" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "bcfcb3d7-674a-429f-8bf9-347a0f222db2", - "submission_date": "2018-09-05T09:49:29.182Z", - "update_date": "2018-09-05T09:56:34.501Z" - } - }, - "process/f8e3c0b7-ed2a-464d-bff4-b80fac2a3849": { - "process_core": { - "process_id": "process_id_29" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f8e3c0b7-ed2a-464d-bff4-b80fac2a3849", - "submission_date": "2018-09-05T09:48:40.598Z", - "update_date": "2018-09-05T09:55:08.938Z" - } - }, - "process/4e504efb-a65b-4fe5-97f5-8148f6a8ed4d": { - "process_core": { - "process_location": "Sri Lanka", - "process_id": "process_id_16" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4e504efb-a65b-4fe5-97f5-8148f6a8ed4d", - "submission_date": "2018-09-05T09:48:40.463Z", - "update_date": "2018-09-05T09:55:08.214Z" - } - }, - "project/ee5b3a17-4128-40ff-88f4-44903ef1ab54": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/project/9.0.2/project", - "schema_type": "project", - "project_core": { - "project_short_name": "CD4+ cytotoxic T lymphocytes", - "project_title": "Precursors of human CD4+ cytotoxic T lymphocytes identified by single-cell transcriptome analysis", - "project_description": "CD4+ cytotoxic T lymphocytes (CD4-CTLs) have been reported to play a protective role in several viral infections. However, little is known in humans about the biology of CD4-CTL generation, their functional properties, heterogeneity and clonal diversity, especially in relation to other well-described CD4+ memory T cell subsets. We performed single-cell RNA-seq in over 9000 cells to unravel CD4-CTL heterogeneity, transcriptional profile and clonality in humans. The single-cell differential gene expression analysis, revealed a spectrum of known transcripts, including several linked to cytotoxic and co-stimulatory function, and transcripts of unknown cytotoxicity-related function that are expressed at higher levels in the TEMRA subset, which is highly enriched for CD4-CTLs, compared to cells in the central and effector memory subsets (TCM, TEM). Simultaneous T cells antigen receptor (TCR) analysis in single-cells and bulk subsets revealed that CD4-TEMRA cells show marked clonal expansion compared to TCM and TEM cells and that the majority of CD4-TEMRA were dengue virus (DENV)-specific in subjects with previous DENV infection. The profile of CD4-TEMRA was highly heterogeneous across subjects, with four distinct clusters identified by the single-cell analysis. Most importantly, we identified distinct clusters of CD4-CTL effector and precursor cells in the TEMRA subset; the precursor cells shared TCR clonotypes with CD4-CTL effectors and were distinguished by high expression of the interleukin-7 receptor. Our identification of a CD4-CTL precursor population may allow further investigation of how CD4-CTLs arise in humans and thus could provide insights into the mechanisms that may be utilized to generate durable and effective CD4-CTL immunity." - }, - "insdc_project": "SRP124157", - "geo_series": "GSE106540", - "insdc_study": "PRJNA417191", - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-106540/Results" - ], - "contributors": [ - { - "contact_name": "Pandurangan,,Vijayanand", - "email": "vijay@lji.org", - "institution": "La Jolla Institute for Allergy and Immunology", - "laboratory": "Division of Vaccine Discovery", - "address": "La Jolla, CA 92037", - "country": "USA", - "corresponding_contributor": true - }, - { - "contact_name": "Mallory,Ann,Freeberg", - "email": "mfreeberg@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2949-3921", - "corresponding_contributor": false - }, - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Molecular Atlas", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "external curator", - "orcid_id": "0000-0002-8748-599X", - "corresponding_contributor": false - } - ], - "funders": [ - { - "grant_id": "U19AI118626", - "funder_name": "National Institutes of Health (NIH)" - }, - { - "grant_id": "U19AI118610", - "funder_name": "National Institutes of Health (NIH)" - }, - { - "grant_id": "R01HL114093", - "funder_name": "National Institutes of Health (NIH)" - }, - { - "grant_id": "R24AI108564", - "funder_name": "National Institutes of Health (NIH)" - }, - { - "funder_name": "William K. Bowes Jr. Foundation" - } - ], - "publications": [ - { - "authors": [ - "Patil VS, Madrigal A, Schmiedel BJ, Clarke J, O'Rourke P, Harris E, de Silva AD, Harris E, Peters B, Seumois G, Weiskopf D, Sette A, Vijayanand P" - ], - "publication_title": "Precursors of human CD4+ cytotoxic T lymphocytes identified by single-cell transcriptome analysis.", - "doi": "10.1126/sciimmunol.aan8664", - "pmid": 29352091, - "publication_url": "http://immunology.sciencemag.org/content/3/19/eaan8664.long" - } - ], - "provenance": { - "document_id": "ee5b3a17-4128-40ff-88f4-44903ef1ab54", - "submission_date": "2018-09-05T09:47:20.825Z", - "update_date": "2018-09-05T09:50:15.608Z" - } - }, - "sequence_file/a5806f2e-3f85-486a-9015-e02e5c805285": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR6257787.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "read_length": 50, - "insdc_run": [ - "SRR6257787" - ], - "provenance": { - "document_id": "a5806f2e-3f85-486a-9015-e02e5c805285", - "submission_date": "2018-09-05T09:48:00.065Z", - "update_date": "2018-09-05T09:54:36.578Z" - } - }, - "sequencing_protocol/2d0f835b-ced1-4cf1-a053-0cf109fdefeb": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1", - "protocol_name": "SmartSeq 2 single cell sequencing", - "protocol_description": "Libraries were sequenced on the Illumina HiSeq 2500 platform to obtain 50-bp single end reads (barcoded Illumina sequencing libraries (Nextera XT library preparation kit, Illumina))." - }, - "sequencing_approach": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565" - }, - "paired_end": false, - "provenance": { - "document_id": "2d0f835b-ced1-4cf1-a053-0cf109fdefeb", - "submission_date": "2018-09-05T09:48:40.296Z", - "update_date": "2018-09-05T09:51:58.194Z" - } - }, - "specimen_from_organism/ff63b5d7-e702-40da-bbe9-619e52131b63": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Subject10_DENV negative_PBMC_TEMRA", - "biomaterial_name": "Subject10_DENV negative_PBMC_TEMRA", - "biomaterial_description": "Subject10_DENV negative_PBMC_TEMRA", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "blood", - "ontology": "UBERON:0000178" - }, - "organ_part": { - "text": "peripheral blood mononuclear cell", - "ontology": "CL:2000001" - }, - "preservation_storage": { - "preservation_method": "cryopreservation, other", - "storage_method": "frozen, liquid nitrogen" - }, - "provenance": { - "document_id": "ff63b5d7-e702-40da-bbe9-619e52131b63", - "submission_date": "2018-09-05T09:47:21.215Z", - "update_date": "2018-09-05T09:50:44.523Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.1/links", - "schema_type": "link_bundle", - "schema_version": "1.1.1", - "links": [ - { - "process": "bcfcb3d7-674a-429f-8bf9-347a0f222db2", - "inputs": [ - "cc0d9bf0-6ad5-4489-994b-db26ff761c5a" - ], - "input_type": "biomaterial", - "outputs": [ - "a5806f2e-3f85-486a-9015-e02e5c805285" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "0ea30fa0-7183-4ffc-a4b8-537c6de32e65" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "2d0f835b-ced1-4cf1-a053-0cf109fdefeb" - } - ] - }, - { - "process": "f8e3c0b7-ed2a-464d-bff4-b80fac2a3849", - "inputs": [ - "ff63b5d7-e702-40da-bbe9-619e52131b63" - ], - "input_type": "biomaterial", - "outputs": [ - "cc0d9bf0-6ad5-4489-994b-db26ff761c5a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "a934e15c-e1ce-423b-b554-9203d4e93f41" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "77c71448-fb32-472f-9d44-ea9a42867a41" - } - ] - }, - { - "process": "4e504efb-a65b-4fe5-97f5-8148f6a8ed4d", - "inputs": [ - "25e083e3-d747-4295-86c8-c7ddc4b975be" - ], - "input_type": "biomaterial", - "outputs": [ - "ff63b5d7-e702-40da-bbe9-619e52131b63" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f8d9778f-0f72-4432-a929-1096fd9ca2f4" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "80921b90-fe8d-45e1-a5e5-4fdb55f9a3fa" - } - ] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/examples/HPSI_human_cerebral_organoids/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json b/test/hca_metadata_api/cans/examples/HPSI_human_cerebral_organoids/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json deleted file mode 100644 index ce1cfe8977..0000000000 --- a/test/hca_metadata_api/cans/examples/HPSI_human_cerebral_organoids/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json +++ /dev/null @@ -1,1454 +0,0 @@ -{ - "manifest": { - "sequence_file/740b2221-41c6-498d-87de-8b2937a5ebed": { - "crc32c": "E9B38AA1", - "sha1": "0cec1204162ddfbd3782a1aedce104b373163a9f", - "sha256": "3f29407965e542a4787b6ab1f32ea3f4162017dc88e294ab3e48ddfe76d476e7", - "s3_etag": "ed217eaabe182e88101a33d82db57842", - "content-type": "application/octet-stream", - "indexed": false, - "name": "GAC027_hOrg_HipSci_1_S5_L007_I1_001.fastq.gz", - "size": 574, - "uuid": "b9f26dd4-dddc-426d-97bb-674e8a0a26a2", - "version": "1" - }, - "sequence_file/a3f614b3-e6cf-4751-a15d-ff623efea62a": { - "crc32c": "59378C79", - "sha1": "d982fed4c2cfd402a145637f1bc1d6364745a506", - "sha256": "ff3118605c52fd9cb96cb17b96ecc8ec74b72cb75558305e8630568478c03547", - "s3_etag": "7e5fa30788311a17e73c0f468c1f5111", - "content-type": "application/octet-stream", - "indexed": false, - "name": "GAC027_hOrg_HipSci_1_S5_L007_R1_001.fastq.gz", - "size": 574, - "uuid": "1af1df49-a772-4645-bc0e-e8a599ab7121", - "version": "1" - }, - "sequence_file/56c2a158-e389-40a3-97a7-0f2966a393b8": { - "crc32c": "8F96945F", - "sha1": "9cc9baf78624edf0e2c39e48ab7f559f32cfd7ca", - "sha256": "5a4bc638c31346d1fc4cde4cc8bfaf2341e486ba377edbeafb42a12d49ab6ddc", - "s3_etag": "fb796be961dfacd6fda6643898524312", - "content-type": "application/octet-stream", - "indexed": false, - "name": "GAC027_hOrg_HipSci_1_S5_L007_R2_001.fastq.gz", - "size": 575, - "uuid": "53c4d13c-d3d3-4294-affe-fd1fecf9d1ef", - "version": "1" - }, - "supplementary_file/a0eb3208-97e4-498c-993b-20757231b233": { - "crc32c": "62D4DB03", - "sha1": "32df780ee719286fccafae4d715607d4f05f3c40", - "sha256": "6daea9af107bd45e2666ca2ccd1a2a3d98c42b892a7a783093b638508eccb158", - "s3_etag": "b16ebe4790175d73a26b993dc1802c45", - "content-type": "application/octet-stream", - "indexed": false, - "name": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf", - "size": 531, - "uuid": "c7555cbd-d66c-4f9a-b3f4-23e013da6910", - "version": "1" - }, - "supplementary_file/e01ee650-58b3-4f3c-8da8-4483700a1eae": { - "crc32c": "B9D38666", - "sha1": "095ce1889337b2d8dd5ba3ce21ad85903ebda004", - "sha256": "a8b3535da8ba62f83c31b238c86a6f4b9848f913c6d35824cef5f955748f1ab9", - "s3_etag": "048ed5e075c2e93f61ada1b555ea0ea3", - "content-type": "application/octet-stream", - "indexed": false, - "name": "hipsci-ipsc-pipeline.pdf", - "size": 495, - "uuid": "b5bc3187-6553-4410-b589-ac0f3bb6858f", - "version": "1" - }, - "supplementary_file/5ab06a61-c66b-4d3d-9889-ab47371a65b0": { - "crc32c": "47985515", - "sha1": "b12c361c6d4ebb7c255ddb3e67e3babbd1fe0e25", - "sha256": "492641dd1bc0004c879d9fe8599e03a455612892df4802f5a1e9c860216777f6", - "s3_etag": "d1bfcd931b2213f02df82362e2fdc609", - "content-type": "application/octet-stream", - "indexed": false, - "name": "Dissociation_protocol_130-092-628.pdf", - "size": 508, - "uuid": "28aa156f-3eee-481b-8849-ab68ddf4b67d", - "version": "1" - } - }, - "metadata": { - "cell_line/304fadde-e22a-4ff9-9544-f8ec097b6135": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.6.2/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg_2", - "biomaterial_name": "iPS cell line kucg_2", - "biomaterial_description": "iPS cell line kucg_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2645814" - }, - "diseases": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650065", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0214i-kucg_2", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 25, - "growth_medium": "E8", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2014-11-03T00:00:00Z", - "provenance": { - "document_id": "304fadde-e22a-4ff9-9544-f8ec097b6135", - "submission_date": "2018-09-05T09:25:02.372Z", - "update_date": "2018-09-05T09:25:11.221Z" - } - }, - "cell_line/cc5c8bd6-3bd6-49d6-87b3-b24ef3a577a4": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.6.2/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj_2", - "biomaterial_name": "iPS cell line wibj_2", - "biomaterial_description": "iPS cell line wibj_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2627567" - }, - "diseases": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650057", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0214i-wibj_2", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 24, - "growth_medium": "E8", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2014-10-24T00:00:00Z", - "provenance": { - "document_id": "cc5c8bd6-3bd6-49d6-87b3-b24ef3a577a4", - "submission_date": "2018-09-05T09:25:02.352Z", - "update_date": "2018-09-05T09:25:10.838Z" - } - }, - "cell_line/6953e086-13cc-4467-b059-4d5f91f6f268": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.6.2/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd_3", - "biomaterial_name": "iPS cell line sojd_3", - "biomaterial_description": "iPS cell line sojd_3", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2627569" - }, - "diseases": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650126", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0314i-sojd_3", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 22, - "growth_medium": "E8", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2015-01-09T00:00:00Z", - "provenance": { - "document_id": "6953e086-13cc-4467-b059-4d5f91f6f268", - "submission_date": "2018-09-05T09:25:02.407Z", - "update_date": "2018-09-05T09:25:05.636Z" - } - }, - "cell_line/8bd345cb-4635-4bf5-9435-bf144013b938": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.6.2/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik_1", - "biomaterial_name": "iPS cell line hoik_1", - "biomaterial_description": "iPS cell line hoik_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2698315" - }, - "diseases": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650129", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0314i-hoik_1", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 20, - "growth_medium": "E8", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2015-02-02T00:00:00Z", - "provenance": { - "document_id": "8bd345cb-4635-4bf5-9435-bf144013b938", - "submission_date": "2018-09-05T09:25:02.397Z", - "update_date": "2018-09-05T09:25:11.557Z" - } - }, - "cell_suspension/8fc8b364-98bb-4082-98af-e3fdffcf82b7": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI_organoids_pooled_1", - "biomaterial_name": "pooled cells from 4 dissociated organoids", - "biomaterial_description": "pooled cells from 4 dissociated organoids (wibj_2, kucg_2, hoik_1, sojd_3)", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "selected_cell_type": [ - { - "text": "neural cell", - "ontology": "CL:0002319" - } - ], - "total_estimated_cells": 6316, - "provenance": { - "document_id": "8fc8b364-98bb-4082-98af-e3fdffcf82b7", - "submission_date": "2018-09-05T09:25:02.595Z", - "update_date": "2018-09-05T09:25:12.353Z" - } - }, - "differentiation_protocol/537b3c44-998f-43c2-8146-7e3e2932c30b": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/biomaterial_collection/1.3.0/differentiation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Org_Lanc_2014", - "protocol_name": "Generation of cerebral organoids from human pluripotent stem cells", - "publication_doi": "10.1038/nprot.2014.158" - }, - "differentiation_method": "embryoid bodies", - "differentiation_target_pathway": "RHO||ROCK", - "differentiation_validation_method": "immunostaining", - "differentiation_reagents": { - "retail_name": "ROCK inhibitor Y27632" - }, - "differentiation_small_molecules": "Vitamin A (retinoic acid)", - "provenance": { - "document_id": "537b3c44-998f-43c2-8146-7e3e2932c30b", - "submission_date": "2018-09-05T09:25:02.643Z", - "update_date": "2018-09-05T09:25:11.867Z" - } - }, - "dissociation_protocol/58334256-af4f-4754-9455-668fb31bbcff": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Cerebral_organoid_dissociation", - "protocol_name": "cerebral organoid dissociation", - "document": "Dissociation_protocol_130-092-628.pdf" - }, - "dissociation_method": { - "text": "Papain-based enzymatic dissociation", - "ontology": "EFO:0009128" - }, - "protocol_reagents": [ - { - "retail_name": "Neural Tissue Dissociation Kit", - "catalog_number": "130-092-628", - "manufacturer": "Miltenyi Biotec" - } - ], - "provenance": { - "document_id": "58334256-af4f-4754-9455-668fb31bbcff", - "submission_date": "2018-09-05T09:25:02.654Z", - "update_date": "2018-09-05T09:25:09.326Z" - } - }, - "donor_organism/5554b939-a268-4619-9cef-0f09151454fc": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/10.1.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd", - "biomaterial_name": "donor HPSI0314i-sojd", - "biomaterial_description": "donor HPSI0314i-sojd_3, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2418245" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "female", - "organism_age": "45-49", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "White - other, Ad Mixed American", - "ontology": "hancestro:0463" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "5554b939-a268-4619-9cef-0f09151454fc", - "submission_date": "2018-09-05T09:25:02.273Z", - "update_date": "2018-09-05T09:25:09.818Z" - } - }, - "donor_organism/eea3dd19-90e0-45c4-803d-4620d1fab90d": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/10.1.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj", - "biomaterial_name": "donor HPSI0214i-wibj", - "biomaterial_description": "donor HPSI0214i-wibj_2, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2398911" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "female", - "organism_age": "55-59", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "hancestro:0462" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "eea3dd19-90e0-45c4-803d-4620d1fab90d", - "submission_date": "2018-09-05T09:25:02.230Z", - "update_date": "2018-09-05T09:25:09.806Z" - } - }, - "donor_organism/fbd4c071-58bd-4818-8ddd-2c31ddb60363": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/10.1.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg", - "biomaterial_name": "donor HPSI0214i-kucg", - "biomaterial_description": "donor HPSI0214i-kucg_2, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2397923" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "male", - "organism_age": "65-69", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "hancestro:0462" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "fbd4c071-58bd-4818-8ddd-2c31ddb60363", - "submission_date": "2018-09-05T09:25:02.247Z", - "update_date": "2018-09-05T09:25:09.903Z" - } - }, - "donor_organism/62ee5119-4fa1-4508-95f3-59c7b0fddd34": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/10.1.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik", - "biomaterial_name": "donor HPSI0314i-hoik", - "biomaterial_description": "donor HPSI0314i-hoik_1, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2399961" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "female", - "organism_age": "40-44", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "hancestro:0462" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "62ee5119-4fa1-4508-95f3-59c7b0fddd34", - "submission_date": "2018-09-05T09:25:02.257Z", - "update_date": "2018-09-05T09:25:09.841Z" - } - }, - "ipsc_induction_protocol/9e3b5ef9-cbb0-43ef-a194-1ce1969cfd62": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/biomaterial_collection/2.0.1/ipsc_induction_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "ipsc_induction_protocol_1", - "protocol_name": "iPSC induction by Sendai virus", - "protocol_description": "Fibroblasts are thawed, transduced using Cytotune 2.0 Sendai virus (containing the Yamanaka genes encoding transcription factors Oct4, Sox2, cMyc and Klf4) and maintained until iPSC colony formation. Colonies are then picked and cultured to obtain a sizable yield of IPS cells, which are banked to a commercial grade standard. These banks then undergo quality checks to ensure the banks pass resuscitation tests and are free of mycoplasma.", - "document": "hipsci-ipsc-pipeline.pdf" - }, - "ipsc_induction_method": "sendai virus", - "pluripotency_vector_removed": "yes", - "ipsc_induction_kit": { - "retail_name": "Cytotune 1.0", - "manufacturer": "Thermofisher" - }, - "pluripotency_test": "HipSci Pluri test", - "ipsc_induction_produced_in_house": false, - "provenance": { - "document_id": "9e3b5ef9-cbb0-43ef-a194-1ce1969cfd62", - "submission_date": "2018-09-05T09:25:02.631Z", - "update_date": "2018-09-05T09:25:09.069Z" - } - }, - "library_preparation_protocol/853c2086-1ac4-488e-b3b3-fe7956e74283": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/4.3.2/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "10x_3'_library_preparation", - "protocol_name": "10x 3' single cell library preparation", - "protocol_description": "10x Chromium single cell 3' v2 library preparation", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "Chromium 3' Single Cell v2", - "ontology": "EFO:0008995" - }, - "end_bias": "3 prime end bias", - "primer": "poly-dT", - "strand": "unstranded", - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 15, - "barcode_length": 10 - }, - "library_construction_kit": { - "retail_name": "10X Chromium Single Cell 3' Solution v2 Chemistry", - "manufacturer": "10X Genomics" - }, - "provenance": { - "document_id": "853c2086-1ac4-488e-b3b3-fe7956e74283", - "submission_date": "2018-09-05T09:25:02.667Z", - "update_date": "2018-09-05T09:25:09.008Z" - } - }, - "organoid/e4307721-7d92-4f92-a6f1-6f1d4ecf1835": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.3.6/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0214i-kucg_2_1", - "biomaterial_name": "human cerebral organoid kucg_2", - "biomaterial_description": "human cerebral organoid kucg_2, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": false, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "e4307721-7d92-4f92-a6f1-6f1d4ecf1835", - "submission_date": "2018-09-05T09:25:02.484Z", - "update_date": "2018-09-05T09:25:10.346Z" - } - }, - "organoid/dfd95ce4-c5be-4175-9e9a-249b1b09f5d9": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.3.6/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0314i-sojd_3_1", - "biomaterial_name": "human cerebral organoid sojd_3", - "biomaterial_description": "human cerebral organoid sojd_3, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": false, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "dfd95ce4-c5be-4175-9e9a-249b1b09f5d9", - "submission_date": "2018-09-05T09:25:02.561Z", - "update_date": "2018-09-05T09:25:10.134Z" - } - }, - "organoid/08936dad-6f12-4f43-8bd2-b6863f166a21": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.3.6/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0314i-hoik_1_1", - "biomaterial_name": "human cerebral organoid hoik_1", - "biomaterial_description": "human cerebral organoid hoik_1, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": false, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "08936dad-6f12-4f43-8bd2-b6863f166a21", - "submission_date": "2018-09-05T09:25:02.525Z", - "update_date": "2018-09-05T09:25:10.146Z" - } - }, - "organoid/77a87953-5d2d-4e22-9c8b-c012fa8656b9": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.3.6/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0214i-wibj_2_1", - "biomaterial_name": "human cerebral organoid wibj_2", - "biomaterial_description": "human cerebral organoid wibj_2, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": false, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "77a87953-5d2d-4e22-9c8b-c012fa8656b9", - "submission_date": "2018-09-05T09:25:02.422Z", - "update_date": "2018-09-05T09:25:10.427Z" - } - }, - "process/359f3d8c-e29c-41f1-b058-1854a7d7e79e": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "359f3d8c-e29c-41f1-b058-1854a7d7e79e", - "submission_date": "2018-09-05T09:25:02.792Z", - "update_date": "2018-09-05T09:25:09.834Z" - } - }, - "process/f999e1a4-31fc-4298-b958-8f567511935e": { - "process_core": { - "process_id": "process_id_18" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f999e1a4-31fc-4298-b958-8f567511935e", - "submission_date": "2018-09-05T09:25:02.998Z", - "update_date": "2018-09-05T09:25:12.150Z" - } - }, - "process/3ef770a1-1f72-47f2-952e-9fd584e74598": { - "process_core": { - "process_id": "process_id_9" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3ef770a1-1f72-47f2-952e-9fd584e74598", - "submission_date": "2018-09-05T09:25:02.893Z", - "update_date": "2018-09-05T09:25:11.841Z" - } - }, - "process/9c2903a9-d93e-41a4-88bf-61647c6990a6": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "9c2903a9-d93e-41a4-88bf-61647c6990a6", - "submission_date": "2018-09-05T09:25:02.805Z", - "update_date": "2018-09-05T09:25:11.730Z" - } - }, - "process/1ff79cfa-57e9-4af1-a754-51bdf36c4414": { - "process_core": { - "process_id": "process_id_15" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "1ff79cfa-57e9-4af1-a754-51bdf36c4414", - "submission_date": "2018-09-05T09:25:02.958Z", - "update_date": "2018-09-05T09:25:12.025Z" - } - }, - "process/88ef68b1-0c0b-4594-be46-4bb0bcf2025d": { - "process_core": { - "process_id": "tech_rep_1" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "88ef68b1-0c0b-4594-be46-4bb0bcf2025d", - "submission_date": "2018-09-05T09:25:02.691Z", - "update_date": "2018-09-05T09:25:10.851Z" - } - }, - "process/0ec71414-3c56-4347-85a2-a2b66a4a147d": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0ec71414-3c56-4347-85a2-a2b66a4a147d", - "submission_date": "2018-09-05T09:25:02.846Z", - "update_date": "2018-09-05T09:25:11.878Z" - } - }, - "process/d3c8ba6e-e552-48cc-ab34-38a95712b3f7": { - "process_core": { - "process_id": "process_id_21" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d3c8ba6e-e552-48cc-ab34-38a95712b3f7", - "submission_date": "2018-09-05T09:25:03.039Z", - "update_date": "2018-09-05T09:25:12.221Z" - } - }, - "process/4e60bff4-9ede-42e2-9152-7f8f445938f5": { - "process_core": { - "process_id": "process_id_8" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4e60bff4-9ede-42e2-9152-7f8f445938f5", - "submission_date": "2018-09-05T09:25:02.882Z", - "update_date": "2018-09-05T09:25:06.559Z" - } - }, - "process/6ecf593a-c3d6-42a8-bf4e-a47549e7bb1f": { - "process_core": { - "process_id": "process_id_4" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6ecf593a-c3d6-42a8-bf4e-a47549e7bb1f", - "submission_date": "2018-09-05T09:25:02.827Z", - "update_date": "2018-09-05T09:25:11.893Z" - } - }, - "process/1c4b3da5-41c3-40bd-b128-4a4a94fb876e": { - "process_core": { - "process_id": "process_id_5" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "1c4b3da5-41c3-40bd-b128-4a4a94fb876e", - "submission_date": "2018-09-05T09:25:02.837Z", - "update_date": "2018-09-05T09:25:11.945Z" - } - }, - "process/85e8adfd-f23b-47fb-9617-e51593923405": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "85e8adfd-f23b-47fb-9617-e51593923405", - "submission_date": "2018-09-05T09:25:02.817Z", - "update_date": "2018-09-05T09:25:11.959Z" - } - }, - "process/df40cef2-60ae-400c-bece-947329b40946": { - "process_core": { - "process_id": "process_id_12" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "df40cef2-60ae-400c-bece-947329b40946", - "submission_date": "2018-09-05T09:25:02.924Z", - "update_date": "2018-09-05T09:25:12.073Z" - } - }, - "process/94b7d3a9-2a09-40d1-ba0e-80e8410b3d55": { - "process_core": { - "process_id": "process_id_7" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "94b7d3a9-2a09-40d1-ba0e-80e8410b3d55", - "submission_date": "2018-09-05T09:25:02.859Z", - "update_date": "2018-09-05T09:25:12.053Z" - } - }, - "project/88f5dff1-d784-4d9a-9c5d-f309fbe738c8": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/project/9.0.2/project", - "schema_type": "project", - "project_core": { - "project_short_name": "HPSI_human_cerebral_organoids", - "project_title": "Assessing the relevance of organoids to model inter-individual variation", - "project_description": "The purpose of this project is to assess the relevance of pluripotent stem cell-derived cerebral and liver organoids to recapitulate the variation in cell-type specific gene expression programs between individuals. Towards this aim, we will generate reference atlases of the developing cortex and liver from multiple individuals, derive iPSC lines from these same individuals, and determine if inter-individual gene expression variation is recapitulated in cerebral and liver organoids from the same individual from which we have reference maps. In parallel we will assess the genetic contribution to variablity between organoids from different iPSCs of multiple human individuals that are available in existing iPSC resources (e.g. HipSci)." - }, - "contributors": [ - { - "contact_name": "Barbara,,Treutlein", - "email": "barbara_treutlein@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "project_role": "principal investigator", - "orcid_id": "0000-0002-3299-5597", - "corresponding_contributor": true - }, - { - "contact_name": "J,Gray,Camp", - "email": "gray_camp@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Zhisong,,He", - "email": "zhisong_he@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Sabina,,Kanton", - "email": "sabina_kanton@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Mallory,Ann,Freeberg", - "email": "mfreeberg@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2949-3921", - "corresponding_contributor": false - } - ], - "provenance": { - "document_id": "88f5dff1-d784-4d9a-9c5d-f309fbe738c8", - "submission_date": "2018-09-05T09:25:01.786Z", - "update_date": "2018-09-05T09:25:05.557Z" - } - }, - "sequence_file/740b2221-41c6-498d-87de-8b2937a5ebed": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_1_S5_L007_I1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "c6e1beaa24f6a580bf9632cc37d69d38" - }, - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "provenance": { - "document_id": "740b2221-41c6-498d-87de-8b2937a5ebed", - "submission_date": "2018-09-05T09:25:01.845Z", - "update_date": "2018-09-05T09:25:03.221Z" - } - }, - "sequence_file/a3f614b3-e6cf-4751-a15d-ff623efea62a": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_1_S5_L007_R1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "0129f8043b3c2bf2bfa4d28acc5e29f2" - }, - "read_index": "read1", - "lane_index": 7, - "read_length": 26, - "provenance": { - "document_id": "a3f614b3-e6cf-4751-a15d-ff623efea62a", - "submission_date": "2018-09-05T09:25:01.867Z", - "update_date": "2018-09-05T09:25:03.230Z" - } - }, - "sequence_file/56c2a158-e389-40a3-97a7-0f2966a393b8": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_1_S5_L007_R2_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "a7224a02d3a64e45f9264c9594e5a0b3" - }, - "read_index": "read2", - "lane_index": 7, - "read_length": 100, - "provenance": { - "document_id": "56c2a158-e389-40a3-97a7-0f2966a393b8", - "submission_date": "2018-09-05T09:25:01.903Z", - "update_date": "2018-09-05T09:25:03.244Z" - } - }, - "sequencing_protocol/0b1dfbd4-1fbe-42a4-9213-b66dac4d4ac0": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "10x_scRNASeq", - "protocol_name": "10x single cell RNA Sequencing", - "protocol_description": "10x RNA sequencing", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565" - }, - "paired_end": true, - "sequencing_approach": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440" - }, - "provenance": { - "document_id": "0b1dfbd4-1fbe-42a4-9213-b66dac4d4ac0", - "submission_date": "2018-09-05T09:25:02.679Z", - "update_date": "2018-09-05T09:25:09.017Z" - } - }, - "specimen_from_organism/54046c37-b50d-41ae-a95f-2db29b1b706b": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik_skin", - "biomaterial_name": "Skin cells from HPSI0314i-hoik_skin", - "biomaterial_description": "Skin cells from HPSI0314i-hoik_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "54046c37-b50d-41ae-a95f-2db29b1b706b", - "submission_date": "2018-09-05T09:25:02.318Z", - "update_date": "2018-09-05T09:25:10.219Z" - } - }, - "specimen_from_organism/2b541914-778d-4b24-9680-9d2643cfeff9": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd_skin", - "biomaterial_name": "Skin cells from HPSI0314i-sojd_skin", - "biomaterial_description": "Skin cells from HPSI0314i-sojd_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "2b541914-778d-4b24-9680-9d2643cfeff9", - "submission_date": "2018-09-05T09:25:02.335Z", - "update_date": "2018-09-05T09:25:05.620Z" - } - }, - "specimen_from_organism/440a306a-54c6-4193-9b60-ad4423c8a62b": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj_skin", - "biomaterial_name": "Skin cells from HPSI0214i-wibj_skin", - "biomaterial_description": "Skin cells from HPSI0214i-wibj_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "440a306a-54c6-4193-9b60-ad4423c8a62b", - "submission_date": "2018-09-05T09:25:02.283Z", - "update_date": "2018-09-05T09:25:10.273Z" - } - }, - "specimen_from_organism/4eb07fdb-dcd8-4805-89ad-6068071c80c9": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg_skin", - "biomaterial_name": "Skin cells from HPSI0214i-kucg_skin", - "biomaterial_description": "Skin cells from HPSI0214i-kucg_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "4eb07fdb-dcd8-4805-89ad-6068071c80c9", - "submission_date": "2018-09-05T09:25:02.307Z", - "update_date": "2018-09-05T09:25:09.878Z" - } - }, - "supplementary_file/a0eb3208-97e4-498c-993b-20757231b233": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/1.1.3/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf", - "file_format": "pdf" - }, - "file_description": "10x Chromium single cell 3' v2 library preparation", - "provenance": { - "document_id": "a0eb3208-97e4-498c-993b-20757231b233", - "submission_date": "2018-09-05T09:25:01.832Z", - "update_date": "2018-09-05T09:25:02.972Z" - } - }, - "supplementary_file/e01ee650-58b3-4f3c-8da8-4483700a1eae": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/1.1.3/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "hipsci-ipsc-pipeline.pdf", - "file_format": "pdf" - }, - "file_description": "iPSC induction by Sendai virus protocol.", - "provenance": { - "document_id": "e01ee650-58b3-4f3c-8da8-4483700a1eae", - "submission_date": "2018-09-05T09:25:01.803Z", - "update_date": "2018-09-05T09:25:03.001Z" - } - }, - "supplementary_file/5ab06a61-c66b-4d3d-9889-ab47371a65b0": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/1.1.3/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "Dissociation_protocol_130-092-628.pdf", - "file_format": "pdf" - }, - "file_description": "Cerebral organoid dissociation protocol.", - "provenance": { - "document_id": "5ab06a61-c66b-4d3d-9889-ab47371a65b0", - "submission_date": "2018-09-05T09:25:01.815Z", - "update_date": "2018-09-05T09:25:02.980Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.1/links", - "schema_type": "link_bundle", - "schema_version": "1.1.1", - "links": [ - { - "process": "88ef68b1-0c0b-4594-be46-4bb0bcf2025d", - "inputs": [ - "8fc8b364-98bb-4082-98af-e3fdffcf82b7" - ], - "input_type": "biomaterial", - "outputs": [ - "740b2221-41c6-498d-87de-8b2937a5ebed", - "a3f614b3-e6cf-4751-a15d-ff623efea62a", - "56c2a158-e389-40a3-97a7-0f2966a393b8" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "853c2086-1ac4-488e-b3b3-fe7956e74283" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "0b1dfbd4-1fbe-42a4-9213-b66dac4d4ac0" - } - ] - }, - { - "process": "d3c8ba6e-e552-48cc-ab34-38a95712b3f7", - "inputs": [ - "77a87953-5d2d-4e22-9c8b-c012fa8656b9", - "e4307721-7d92-4f92-a6f1-6f1d4ecf1835", - "08936dad-6f12-4f43-8bd2-b6863f166a21", - "dfd95ce4-c5be-4175-9e9a-249b1b09f5d9" - ], - "input_type": "biomaterial", - "outputs": [ - "8fc8b364-98bb-4082-98af-e3fdffcf82b7" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "58334256-af4f-4754-9455-668fb31bbcff" - } - ] - }, - { - "process": "3ef770a1-1f72-47f2-952e-9fd584e74598", - "inputs": [ - "cc5c8bd6-3bd6-49d6-87b3-b24ef3a577a4" - ], - "input_type": "biomaterial", - "outputs": [ - "77a87953-5d2d-4e22-9c8b-c012fa8656b9" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "537b3c44-998f-43c2-8146-7e3e2932c30b" - } - ] - }, - { - "process": "1c4b3da5-41c3-40bd-b128-4a4a94fb876e", - "inputs": [ - "440a306a-54c6-4193-9b60-ad4423c8a62b" - ], - "input_type": "biomaterial", - "outputs": [ - "cc5c8bd6-3bd6-49d6-87b3-b24ef3a577a4" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "9e3b5ef9-cbb0-43ef-a194-1ce1969cfd62" - } - ] - }, - { - "process": "359f3d8c-e29c-41f1-b058-1854a7d7e79e", - "inputs": [ - "eea3dd19-90e0-45c4-803d-4620d1fab90d" - ], - "input_type": "biomaterial", - "outputs": [ - "440a306a-54c6-4193-9b60-ad4423c8a62b" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "df40cef2-60ae-400c-bece-947329b40946", - "inputs": [ - "304fadde-e22a-4ff9-9544-f8ec097b6135" - ], - "input_type": "biomaterial", - "outputs": [ - "e4307721-7d92-4f92-a6f1-6f1d4ecf1835" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "537b3c44-998f-43c2-8146-7e3e2932c30b" - } - ] - }, - { - "process": "0ec71414-3c56-4347-85a2-a2b66a4a147d", - "inputs": [ - "4eb07fdb-dcd8-4805-89ad-6068071c80c9" - ], - "input_type": "biomaterial", - "outputs": [ - "304fadde-e22a-4ff9-9544-f8ec097b6135" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "9e3b5ef9-cbb0-43ef-a194-1ce1969cfd62" - } - ] - }, - { - "process": "9c2903a9-d93e-41a4-88bf-61647c6990a6", - "inputs": [ - "fbd4c071-58bd-4818-8ddd-2c31ddb60363" - ], - "input_type": "biomaterial", - "outputs": [ - "4eb07fdb-dcd8-4805-89ad-6068071c80c9" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "1ff79cfa-57e9-4af1-a754-51bdf36c4414", - "inputs": [ - "8bd345cb-4635-4bf5-9435-bf144013b938" - ], - "input_type": "biomaterial", - "outputs": [ - "08936dad-6f12-4f43-8bd2-b6863f166a21" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "537b3c44-998f-43c2-8146-7e3e2932c30b" - } - ] - }, - { - "process": "94b7d3a9-2a09-40d1-ba0e-80e8410b3d55", - "inputs": [ - "54046c37-b50d-41ae-a95f-2db29b1b706b" - ], - "input_type": "biomaterial", - "outputs": [ - "8bd345cb-4635-4bf5-9435-bf144013b938" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "9e3b5ef9-cbb0-43ef-a194-1ce1969cfd62" - } - ] - }, - { - "process": "85e8adfd-f23b-47fb-9617-e51593923405", - "inputs": [ - "62ee5119-4fa1-4508-95f3-59c7b0fddd34" - ], - "input_type": "biomaterial", - "outputs": [ - "54046c37-b50d-41ae-a95f-2db29b1b706b" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "f999e1a4-31fc-4298-b958-8f567511935e", - "inputs": [ - "6953e086-13cc-4467-b059-4d5f91f6f268" - ], - "input_type": "biomaterial", - "outputs": [ - "dfd95ce4-c5be-4175-9e9a-249b1b09f5d9" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "537b3c44-998f-43c2-8146-7e3e2932c30b" - } - ] - }, - { - "process": "4e60bff4-9ede-42e2-9152-7f8f445938f5", - "inputs": [ - "2b541914-778d-4b24-9680-9d2643cfeff9" - ], - "input_type": "biomaterial", - "outputs": [ - "6953e086-13cc-4467-b059-4d5f91f6f268" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "9e3b5ef9-cbb0-43ef-a194-1ce1969cfd62" - } - ] - }, - { - "process": "6ecf593a-c3d6-42a8-bf4e-a47549e7bb1f", - "inputs": [ - "5554b939-a268-4619-9cef-0f09151454fc" - ], - "input_type": "biomaterial", - "outputs": [ - "2b541914-778d-4b24-9680-9d2643cfeff9" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/examples/Healthy and type 2 diabetes pancreas/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json b/test/hca_metadata_api/cans/examples/Healthy and type 2 diabetes pancreas/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json deleted file mode 100644 index e38da43d8c..0000000000 --- a/test/hca_metadata_api/cans/examples/Healthy and type 2 diabetes pancreas/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json +++ /dev/null @@ -1,419 +0,0 @@ -{ - "manifest": { - "sequence_file/60471337-a47b-4b9c-95e7-4a19349a5e05": { - "crc32c": "3D02CDD9", - "sha1": "b2dad8a028624c456ba43f1f97ac20bba430af74", - "sha256": "730386f5383a1c82f114ba6cc9ff381f2c47872d6edc4f1342b0b9df9a282795", - "s3_etag": "5a43cfafe8d19b34b73ec4561653e517", - "content-type": "application/octet-stream", - "indexed": false, - "name": "AZ_B8.fastq.gz", - "size": 514, - "uuid": "32d60a94-9f0f-44e3-83c6-eb2d1c1177bd", - "version": "1" - } - }, - "metadata": { - "cell_suspension/1200f5bf-7d45-4f26-865e-b560797f1808": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "AZ_B8", - "biomaterial_name": "AZ_B8 cell", - "biomaterial_description": "AZ_B8 cell", - "ncbi_taxon_id": [ - 9606 - ], - "insdc_biomaterial": "ERS1348492", - "biosd_biomaterial": "SAMEA4437043" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AZ", - "well_id": "B8", - "cell_quality": "OK" - }, - "provenance": { - "document_id": "1200f5bf-7d45-4f26-865e-b560797f1808", - "submission_date": "2018-09-05T12:09:41.946Z", - "update_date": "2018-09-05T12:21:55.818Z" - } - }, - "dissociation_protocol/6029a289-861c-4349-9614-4c244103be21": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "protocol_name": "Single cell dissociation", - "protocol_description": "Islets were dissociated into single-cell suspension and viable individual cells were distributed by FACS into 384-well plates containing lysis buffer.", - "publication_doi": "10.1016/j.cmet.2016.08.020" - }, - "dissociation_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "provenance": { - "document_id": "6029a289-861c-4349-9614-4c244103be21", - "submission_date": "2018-09-05T12:11:53.063Z", - "update_date": "2018-09-05T12:17:49.721Z" - } - }, - "donor_organism/8bb4258a-90c7-4af6-8a1b-c4ab6c5483e2": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/10.1.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "H1", - "biomaterial_name": "Normal Donor 1", - "biomaterial_description": "Normal Donor 1", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "is_living": "no", - "sex": "male", - "medical_history": { - "test_results": "HbA1c 5.0%" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "organism_age": "43", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "body_mass_index": 30.8 - }, - "provenance": { - "document_id": "8bb4258a-90c7-4af6-8a1b-c4ab6c5483e2", - "submission_date": "2018-09-05T12:09:41.702Z", - "update_date": "2018-09-05T12:14:26.204Z" - } - }, - "library_preparation_protocol/079bc155-71c9-45ab-bd12-cab025890d82": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/4.3.2/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1", - "protocol_name": "Library preparation for sequencing", - "protocol_description": "Single-cell RNA-seq libraries were generated as described in Picelli et al., 2014, Full-length RNA-seq from single cells using Smart-seq2, Nature Protocols.", - "publication_doi": "10.1038/nprot.2014.006" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931" - }, - "nucleic_acid_source": "single cell", - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "spike_in_dilution": 40000, - "spike_in_kit": { - "retail_name": "External RNA Controls Consortium (ERCC)", - "manufacturer": "Ambion, Life Technologies" - }, - "provenance": { - "document_id": "079bc155-71c9-45ab-bd12-cab025890d82", - "submission_date": "2018-09-05T12:11:53.080Z", - "update_date": "2018-09-05T12:17:48.051Z" - } - }, - "process/aa67d2ed-e4ea-4cdf-92ed-7d5e6dc1f6fa": { - "insdc_experiment": { - "insdc_experiment": "ERX1700368" - }, - "process_core": { - "process_id": "process_id_3526" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "aa67d2ed-e4ea-4cdf-92ed-7d5e6dc1f6fa", - "submission_date": "2018-09-05T12:13:16.786Z", - "update_date": "2018-09-05T12:26:35.419Z" - } - }, - "process/443b4672-3f14-4f1e-b7be-862ae02493dc": { - "process_core": { - "process_id": "process_id_12" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "443b4672-3f14-4f1e-b7be-862ae02493dc", - "submission_date": "2018-09-05T12:11:53.403Z", - "update_date": "2018-09-05T12:25:01.078Z" - } - }, - "process/738243c5-e336-4c55-a8b6-b192b6f98fe7": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "738243c5-e336-4c55-a8b6-b192b6f98fe7", - "submission_date": "2018-09-05T12:11:53.128Z", - "update_date": "2018-09-05T12:25:00.908Z" - } - }, - "project/6751cc10-8cc3-452f-929c-4dcb98ee1435": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/project/9.0.2/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Healthy and type 2 diabetes pancreas", - "project_title": "Single-cell RNA-seq analysis of human pancreas from healthy individuals and type 2 diabetes patients", - "project_description": "We used single-cell RNA-sequencing to generate transcriptional profiles of endocrine and exocrine cell types of the human pancreas. Pancreatic tissue and islets were obtained from six healthy and four T2D cadaveric donors. Islets were cultured and dissociated into single-cell suspension. Viable individual cells were distributed via fluorescence-activated cell sorted (FACS) into 384-well plates containing lysis buffer. Single-cell cDNA libraries were generated using the Smart-seq2 protocol. Gene expression was quantified as reads per kilobase transcript and per million mapped reads (RPKM) using rpkmforgenes. Bioinformatics analysis was used to classify cells into cell types without knowledge of cell types or prior purification of cell populations. We revealed subpopulations in endocrine and exocrine cell types, identified genes with interesting correlations to body mass index (BMI) in specific cell types and found transcriptional alterations in T2D. Complementary whole-islet RNA-seq data have also been deposited at ArrayExpress under accession number E-MTAB-5060 (http://www.ebi.ac.uk/arrayexpress/experiments/E-MTAB-5060)." - }, - "insdc_project": "ERP017126", - "array_express_investigation": "E-MTAB-5061", - "insdc_study": "PRJEB15401", - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-MTAB-5061/Results" - ], - "contributors": [ - { - "contact_name": "Athanasia,,Palasantza", - "email": "Athanasia.Palasantza@ki.se", - "institution": "Karolinska Institutet", - "laboratory": "Department of Cell and Molecular Biology (CMB)", - "address": "Nobels vag 3, 171 77, Stockholm", - "country": "Sweden", - "corresponding_contributor": false - }, - { - "contact_name": "Rickard,,Sandberg", - "email": "Rickard.Sandberg@ki.se", - "institution": "Karolinska Institutet", - "laboratory": "Department of Cell and Molecular Biology (CMB)", - "address": "Nobels vag 3, 171 77, Stockholm", - "country": "Sweden", - "orcid_id": "0000-0001-6473-1740", - "corresponding_contributor": true - }, - { - "contact_name": "Asa,,Segerstolpe", - "email": "Asa.Segerstolpe@ki.se", - "institution": "Karolinska Institutet", - "laboratory": "Department of Cell and Molecular Biology (CMB)", - "address": "Nobels vag 3, 171 77, Stockholm", - "country": "Sweden", - "corresponding_contributor": false - }, - { - "contact_name": "Mallory,Ann,Freeberg", - "email": "mfreeberg@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2949-3921", - "corresponding_contributor": false - }, - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Molecular Atlas", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "external curator", - "orcid_id": "0000-0002-8748-599X", - "corresponding_contributor": false - } - ], - "funders": [ - { - "grant_id": "648842", - "funder_name": "European Research Council" - }, - { - "funder_name": "Swedish Research Council" - }, - { - "funder_name": "Swedish Foundation for Strategic Research" - }, - { - "funder_name": "Swedish Cancer Society" - }, - { - "funder_name": "Center for Innovative Medicine" - } - ], - "publications": [ - { - "authors": [ - "Segerstolpe A, Palasantza A, Eliasson P, Andersson EM, Andreasson AC, Sun X, Picelli S, Sabirsh A, Clausen M, Bjursell MK, Smith DM, Kasper M, Ammala C, Sandberg R" - ], - "publication_title": "Single-Cell Transcriptome Profiling of Human Pancreatic Islets in Health and Type 2 Diabetes", - "doi": "10.1016/j.cmet.2016.08.020", - "pmid": 27667667, - "publication_url": "https://europepmc.org/abstract/MED/27667667" - } - ], - "provenance": { - "document_id": "6751cc10-8cc3-452f-929c-4dcb98ee1435", - "submission_date": "2018-09-05T12:09:41.693Z", - "update_date": "2018-09-05T12:14:26.167Z" - } - }, - "sequence_file/60471337-a47b-4b9c-95e7-4a19349a5e05": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "AZ_B8.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "read_length": 43, - "insdc_run": [ - "ERR1630035" - ], - "provenance": { - "document_id": "60471337-a47b-4b9c-95e7-4a19349a5e05", - "submission_date": "2018-09-05T12:10:45.476Z", - "update_date": "2018-09-05T12:27:42.525Z" - } - }, - "sequencing_protocol/3aece946-4be6-4a0c-af23-ac884a87bcbb": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1", - "protocol_name": "SmartSeq2 single cell sequencing", - "protocol_description": "Libraries were sequenced on an Illumina HiSeq 2000, generating 43 bp single-end reads.", - "publication_doi": "10.1038/nprot.2014.006" - }, - "sequencing_approach": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2000", - "ontology": "EFO:0004203" - }, - "paired_end": false, - "provenance": { - "document_id": "3aece946-4be6-4a0c-af23-ac884a87bcbb", - "submission_date": "2018-09-05T12:11:53.105Z", - "update_date": "2018-09-05T12:16:50.390Z" - } - }, - "specimen_from_organism/38002d8f-eac5-4ee4-8290-03d323bf780e": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "H1_pancreas", - "biomaterial_name": "Pancreas from donor H1", - "biomaterial_description": "Pancreas from normal donor H1", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "pancreas", - "ontology": "UBERON:0001264" - }, - "organ_part": { - "text": "islet of Langerhans", - "ontology": "UBERON:0000006" - }, - "purchased_specimen": { - "manufacturer": "Prodo Laboratories Inc (Irvine, CA, USA) " - }, - "provenance": { - "document_id": "38002d8f-eac5-4ee4-8290-03d323bf780e", - "submission_date": "2018-09-05T12:09:41.800Z", - "update_date": "2018-09-05T12:14:29.994Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.1/links", - "schema_type": "link_bundle", - "schema_version": "1.1.1", - "links": [ - { - "process": "aa67d2ed-e4ea-4cdf-92ed-7d5e6dc1f6fa", - "inputs": [ - "1200f5bf-7d45-4f26-865e-b560797f1808" - ], - "input_type": "biomaterial", - "outputs": [ - "60471337-a47b-4b9c-95e7-4a19349a5e05" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "079bc155-71c9-45ab-bd12-cab025890d82" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "3aece946-4be6-4a0c-af23-ac884a87bcbb" - } - ] - }, - { - "process": "443b4672-3f14-4f1e-b7be-862ae02493dc", - "inputs": [ - "38002d8f-eac5-4ee4-8290-03d323bf780e" - ], - "input_type": "biomaterial", - "outputs": [ - "1200f5bf-7d45-4f26-865e-b560797f1808" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "6029a289-861c-4349-9614-4c244103be21" - } - ] - }, - { - "process": "738243c5-e336-4c55-a8b6-b192b6f98fe7", - "inputs": [ - "8bb4258a-90c7-4af6-8a1b-c4ab6c5483e2" - ], - "input_type": "biomaterial", - "outputs": [ - "38002d8f-eac5-4ee4-8290-03d323bf780e" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/examples/Mouse Melanoma/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json b/test/hca_metadata_api/cans/examples/Mouse Melanoma/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json deleted file mode 100644 index 96617dcbfd..0000000000 --- a/test/hca_metadata_api/cans/examples/Mouse Melanoma/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json +++ /dev/null @@ -1,436 +0,0 @@ -{ - "manifest": { - "sequence_file/b93897c4-0681-407a-bc0c-fb791b919fa4": { - "crc32c": "4AEB011B", - "sha1": "7d5358d6a69ffc7e92ae1bae5e4ae6b9467bc8c5", - "sha256": "d184ee1517a86acdf92d35e911db3effef0630ab40ef062b094d456d4e6084e1", - "s3_etag": "21f3e54a46262a9b85b10b48040ff303", - "content-type": "application/octet-stream", - "indexed": false, - "name": "21784_6#10_1.fastq.gz", - "size": 472, - "uuid": "b2b4819a-e22d-4ed4-a5c8-c04a1dec79eb", - "version": "1" - } - }, - "metadata": { - "cell_suspension/1446ca36-ba75-45ea-b6ab-a80641a88812": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "21784_6#10", - "ncbi_taxon_id": [ - 10090 - ], - "supplementary_files": [ - "FACS_sorting_markers.pdf" - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "selected_cell_type": [ - { - "text": "CD11b+ Macrophages/monocytes" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "607", - "well_id": "A05" - }, - "provenance": { - "document_id": "1446ca36-ba75-45ea-b6ab-a80641a88812", - "submission_date": "2018-09-04T12:44:38.405Z", - "update_date": "2018-09-04T13:12:52.699Z" - } - }, - "dissociation_protocol/7142ed25-3237-4156-b10d-0aa74b2c37b3": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "tissue_dissociation_protocol", - "protocol_name": "Extracting cells from lymph nodes", - "document": "TissueDissociationProtocol.pdf" - }, - "dissociation_method": { - "text": "mechanical dissociation", - "ontology": "EFO:0009129" - }, - "provenance": { - "document_id": "7142ed25-3237-4156-b10d-0aa74b2c37b3", - "submission_date": "2018-09-04T12:53:50.982Z", - "update_date": "2018-09-04T12:58:01.497Z" - } - }, - "donor_organism/b56697f5-d350-4e1d-93b2-72eee68c972e": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/10.1.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "1131", - "biomaterial_name": "Mouse_day8_rep10", - "ncbi_taxon_id": [ - 10090 - ] - }, - "mouse_specific": { - "strain": [ - { - "text": "C57BL/6", - "ontology": "EFO:0004472" - } - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "organism_age": "6-12", - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034" - }, - "diseases": [ - { - "text": "subcutaneous melanoma", - "ontology": "MONDO:0005105" - } - ], - "is_living": "no", - "sex": "female", - "provenance": { - "document_id": "b56697f5-d350-4e1d-93b2-72eee68c972e", - "submission_date": "2018-09-04T12:44:37.445Z", - "update_date": "2018-09-04T13:08:09.637Z" - } - }, - "enrichment_protocol/4a19c599-e429-4eda-9644-3a46c1202c7f": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "FACS3", - "protocol_name": "FACS sorting cells by surface markers" - }, - "enrichment_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "markers": "CD45+ CD3e- B220- CD11b+", - "provenance": { - "document_id": "4a19c599-e429-4eda-9644-3a46c1202c7f", - "submission_date": "2018-09-04T12:53:51.016Z", - "update_date": "2018-09-04T12:57:51.962Z" - } - }, - "library_preparation_protocol/38e07040-6198-4a46-b195-88c0680ef283": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/4.3.2/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "SmartSeq2_RTPCR_protocol", - "protocol_name": "Make/amplify cDNA for each cell", - "document": "SmartSeq2_RTPCR_protocol.pdf" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "provenance": { - "document_id": "38e07040-6198-4a46-b195-88c0680ef283", - "submission_date": "2018-09-04T12:53:51.109Z", - "update_date": "2018-09-04T12:55:56.069Z" - } - }, - "process/3c85210e-6554-450c-88fb-c5d5035cf134": { - "process_core": { - "process_id": "process_id_55" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3c85210e-6554-450c-88fb-c5d5035cf134", - "submission_date": "2018-09-04T12:53:53.002Z", - "update_date": "2018-09-04T13:23:54.508Z" - } - }, - "process/ab9f0b8f-3195-4ccd-8bdf-52d91a2c9029": { - "process_core": { - "process_id": "process_id_28" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ab9f0b8f-3195-4ccd-8bdf-52d91a2c9029", - "submission_date": "2018-09-04T12:53:52.144Z", - "update_date": "2018-09-04T13:23:54.228Z" - } - }, - "process/e9c888db-256a-4c78-af5d-2977fa6bc22c": { - "process_core": { - "process_id": "process_id_6694" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e9c888db-256a-4c78-af5d-2977fa6bc22c", - "submission_date": "2018-09-04T12:59:17.940Z", - "update_date": "2018-09-04T13:27:57.677Z" - } - }, - "project/092574d1-a391-4c09-a0c4-d06104a503f6": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/project/9.0.2/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Mouse Melanoma", - "project_title": "Melanoma infiltration of stromal and immune cells", - "project_description": "The cancer microenvironment is a complex ecosystem characterized by dynamic interactions between diverse cell types, including malignant, immune and stromal cells. Here, we performed single-cell RNA sequencing on CD45+ and CD45- cells isolated from tumour and lymph nodes during a mouse model of melanoma. The transcriptional profiles of these individual cells taken at different time points coupled with assembled T cell receptor sequences, allowed us to identify distinct immune subpopulations and delineate their developmental trajectory. Our study provides insights into the complex interplay among cells within the tumour microenvironment and presents a valuable resource for future translational applications." - }, - "contributors": [ - { - "contact_name": "Sarah,A,Teichmann", - "email": "st9@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Sarah Teichmann", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK" - }, - { - "contact_name": "Mirjana,,Efremova", - "email": "me5@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Sarah Teichmann", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK" - }, - { - "contact_name": "Bidesh,,Mahata", - "email": "bm11@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Sarah Teichmann", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK" - }, - { - "contact_name": "Jacqueline,D,Shields", - "email": "JS970@MRCCU.cam.ac.uk", - "institution": "University of Cambridge", - "laboratory": "MRC Cancer Unit", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "country": "UK" - }, - { - "contact_name": "Sarah,,Davidson", - "email": "SED49@MRCCU.cam.ac.uk", - "institution": "University of Cambridge", - "laboratory": "MRC Cancer Unit", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "country": "UK" - }, - { - "contact_name": "Angela,,Riedel", - "email": "a.riedel@dkfz-heidelberg.de", - "institution": "DKFZ German Cancer Research Center", - "country": "Germany" - }, - { - "contact_name": "Roser,,Vento-Tormo", - "email": "rv4@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Sarah Teichmann", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK" - }, - { - "contact_name": "Jhuma,,Pramanik", - "email": "jp19@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Sarah Teichmann", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK" - }, - { - "contact_name": "Gozde,,Kar", - "email": "gkar@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Sarah Teichmann", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK" - }, - { - "contact_name": "Jani,,Huuhtanen", - "email": "jani.huuhtanen@helsinki.fi", - "institution": "University of Helsinki", - "country": "Finland" - }, - { - "contact_name": "Mallory,Ann,Freeberg", - "email": "mfreeberg@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2949-3921", - "corresponding_contributor": false - }, - { - "contact_name": "Danielle,,Welter", - "email": "dwelter@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-1058-2668", - "corresponding_contributor": false - } - ], - "provenance": { - "document_id": "092574d1-a391-4c09-a0c4-d06104a503f6", - "submission_date": "2018-09-04T12:44:36.854Z", - "update_date": "2018-09-04T13:08:08.264Z" - } - }, - "sequence_file/b93897c4-0681-407a-bc0c-fb791b919fa4": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "21784_6#10_1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 6, - "provenance": { - "document_id": "b93897c4-0681-407a-bc0c-fb791b919fa4", - "submission_date": "2018-09-04T12:47:44.261Z", - "update_date": "2018-09-04T13:20:33.745Z" - } - }, - "sequencing_protocol/2c530a47-d87a-4d50-bfb9-74d15fdb1fd9": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "SmartSeq2_sequencing_protocol", - "protocol_name": "Sequencing SmartSeq2 cells" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008567" - }, - "paired_end": true, - "sequencing_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931" - }, - "provenance": { - "document_id": "2c530a47-d87a-4d50-bfb9-74d15fdb1fd9", - "submission_date": "2018-09-04T12:53:51.118Z", - "update_date": "2018-09-04T12:57:59.862Z" - } - }, - "specimen_from_organism/6dc01fb6-6aba-432e-828e-ae3045914f34": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "1131_LN", - "biomaterial_name": "Mouse_day8_LN_rep10", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "organ": { - "text": "lymph node", - "ontology": "UBERON:0000029" - }, - "provenance": { - "document_id": "6dc01fb6-6aba-432e-828e-ae3045914f34", - "submission_date": "2018-09-04T12:44:38.074Z", - "update_date": "2018-09-04T13:10:12.581Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.1/links", - "schema_type": "link_bundle", - "schema_version": "1.1.1", - "links": [ - { - "process": "e9c888db-256a-4c78-af5d-2977fa6bc22c", - "inputs": [ - "1446ca36-ba75-45ea-b6ab-a80641a88812" - ], - "input_type": "biomaterial", - "outputs": [ - "b93897c4-0681-407a-bc0c-fb791b919fa4" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "38e07040-6198-4a46-b195-88c0680ef283" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "2c530a47-d87a-4d50-bfb9-74d15fdb1fd9" - } - ] - }, - { - "process": "3c85210e-6554-450c-88fb-c5d5035cf134", - "inputs": [ - "6dc01fb6-6aba-432e-828e-ae3045914f34" - ], - "input_type": "biomaterial", - "outputs": [ - "1446ca36-ba75-45ea-b6ab-a80641a88812" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "7142ed25-3237-4156-b10d-0aa74b2c37b3" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "4a19c599-e429-4eda-9644-3a46c1202c7f" - } - ] - }, - { - "process": "ab9f0b8f-3195-4ccd-8bdf-52d91a2c9029", - "inputs": [ - "b56697f5-d350-4e1d-93b2-72eee68c972e" - ], - "input_type": "biomaterial", - "outputs": [ - "6dc01fb6-6aba-432e-828e-ae3045914f34" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/examples/Single cell transcriptome analysis of human pancreas/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json b/test/hca_metadata_api/cans/examples/Single cell transcriptome analysis of human pancreas/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json deleted file mode 100644 index 1d47965c93..0000000000 --- a/test/hca_metadata_api/cans/examples/Single cell transcriptome analysis of human pancreas/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json +++ /dev/null @@ -1,354 +0,0 @@ -{ - "manifest": { - "sequence_file/baf745cd-9052-4a6c-8c1a-919390062c09": { - "crc32c": "30F94925", - "sha1": "472dd1bf4a1e942cbfc6ad79687e2a2ca8f72c74", - "sha256": "b474913c2db1d26a3d8ab9f37c59ac7e1768b2c628b4e250d0dae0c942adc677", - "s3_etag": "4d938ebdb3772c0b6cf2f8bd2600d375", - "content-type": "application/octet-stream", - "indexed": false, - "name": "SRR3562210_1.fastq.gz", - "size": 521, - "uuid": "a4f16d4f-cdd7-46f4-8ead-42155d059f23", - "version": "1" - }, - "sequence_file/0494ee09-b1e2-437a-986f-06d5df4a6858": { - "crc32c": "3727801A", - "sha1": "98b1bcf334aae2a06b973565497b16b092b5fc7e", - "sha256": "a58cc9dff7f585b8ddc40c56c60219b9c61f76fe210e357d2761ca6cea0693f9", - "s3_etag": "751b8f95e34765687a99ab87e3b60cb8", - "content-type": "application/octet-stream", - "indexed": false, - "name": "SRR3562210_2.fastq.gz", - "size": 521, - "uuid": "26f05d68-8700-40a4-8c5f-173cad377f22", - "version": "1" - } - }, - "metadata": { - "cell_suspension/c61125ab-d5e0-4d93-b0a7-2deac1729f65": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "GSM2171880 1", - "biomaterial_description": "Single cell from human pancreas", - "ncbi_taxon_id": [ - 9606 - ], - "insdc_biomaterial": "SRS1458605" - }, - "selected_cell_type": [ - { - "text": "pancreatic A cell", - "ontology": "CL:0000171" - } - ], - "total_estimated_cells": 1, - "provenance": { - "document_id": "c61125ab-d5e0-4d93-b0a7-2deac1729f65", - "submission_date": "2018-09-06T14:14:55.036Z", - "update_date": "2018-09-06T14:25:54.342Z" - } - }, - "donor_organism/cd379b0c-7b23-4093-b0b0-65d592ab2839": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/10.1.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "DID_scRSq04", - "ncbi_taxon_id": [ - 9696 - ] - }, - "human_specific": { - "body_mass_index": 28.4, - "ethnicity": [ - { - "text": "European", - "ontology": "hancestro:0005" - } - ] - }, - "death": { - "cause_of_death": "anoxia" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organism_age": "21", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "no", - "sex": "male", - "provenance": { - "document_id": "cd379b0c-7b23-4093-b0b0-65d592ab2839", - "submission_date": "2018-09-06T14:14:54.645Z", - "update_date": "2018-09-06T14:23:05.946Z" - } - }, - "library_preparation_protocol/34c6db60-ef27-4502-9191-102d1a235adc": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/4.3.2/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1" - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "smart-seq2", - "ontology": "EFO:0008931" - }, - "library_construction_kit": { - "retail_name": "Nextera XT kit", - "manufacturer": "Illumina" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "nucleic_acid_source": "single cell", - "provenance": { - "document_id": "34c6db60-ef27-4502-9191-102d1a235adc", - "submission_date": "2018-09-06T14:18:31.859Z", - "update_date": "2018-09-06T14:18:35.854Z" - } - }, - "process/6c357ba8-bd9a-41cb-9d74-b9442efb7217": { - "process_core": { - "process_id": "process_id_9" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6c357ba8-bd9a-41cb-9d74-b9442efb7217", - "submission_date": "2018-09-06T14:18:32.012Z", - "update_date": "2018-09-06T14:31:09.024Z" - } - }, - "process/5f868fc6-dc13-4f06-a82e-ff83497d03ee": { - "process_core": { - "process_id": "SRR3562210" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5f868fc6-dc13-4f06-a82e-ff83497d03ee", - "submission_date": "2018-09-06T14:20:46.372Z", - "update_date": "2018-09-06T14:31:54.751Z" - } - }, - "process/0aede7bd-0a5d-4dc5-a8e8-2d4ad6d01bfb": { - "process_core": { - "process_id": "process_id_4" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0aede7bd-0a5d-4dc5-a8e8-2d4ad6d01bfb", - "submission_date": "2018-09-06T14:18:31.926Z", - "update_date": "2018-09-06T14:31:08.929Z" - } - }, - "project/05f74601-064c-4a8a-a9c1-a0b57c6c71a7": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/project/9.0.2/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Single cell transcriptome analysis of human pancreas", - "project_title": "Single cell transcriptome analysis of human pancreas reveals transcriptional signatures of aging and somatic mutation patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue" - }, - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "contributors": [ - { - "contact_name": "Martin, Enge", - "email": "martin.enge@gmail.com", - "institution": "Stanford University", - "address": "Bioengineering, Stanford University, James H. Clark Center, 318 Campus Drive,, Stanford, CA, USA", - "country": "USA" - }, - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Molecular Atlas", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "external curator", - "orcid_id": "0000-0002-8748-599X", - "corresponding_contributor": false - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "HCA Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2771-9894" - } - ], - "provenance": { - "document_id": "05f74601-064c-4a8a-a9c1-a0b57c6c71a7", - "submission_date": "2018-09-06T14:14:54.609Z", - "update_date": "2018-09-06T14:23:05.636Z" - } - }, - "sequence_file/baf745cd-9052-4a6c-8c1a-919390062c09": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3562210_1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "read_length": 75, - "insdc_run": [ - "SRR3562210" - ], - "provenance": { - "document_id": "baf745cd-9052-4a6c-8c1a-919390062c09", - "submission_date": "2018-09-06T14:16:32.925Z", - "update_date": "2018-09-06T14:29:33.854Z" - } - }, - "sequence_file/0494ee09-b1e2-437a-986f-06d5df4a6858": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3562210_2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "read_length": 75, - "insdc_run": [ - "SRR3562210" - ], - "provenance": { - "document_id": "0494ee09-b1e2-437a-986f-06d5df4a6858", - "submission_date": "2018-09-06T14:16:32.894Z", - "update_date": "2018-09-06T14:29:33.843Z" - } - }, - "sequencing_protocol/319dd8c8-e9d6-40df-bf72-e0423f4f5418": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1" - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0008566" - }, - "paired_end": true, - "sequencing_approach": { - "text": "RNA-Seq" - }, - "provenance": { - "document_id": "319dd8c8-e9d6-40df-bf72-e0423f4f5418", - "submission_date": "2018-09-06T14:18:31.870Z", - "update_date": "2018-09-06T14:18:35.890Z" - } - }, - "specimen_from_organism/07282a68-dca4-449e-81b6-7b0da34230df": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "DID_scRSq04_pancreas", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "pancreas", - "ontology": "UBERON:0001264" - }, - "organ_part": { - "text": "islet of Langerhans", - "ontology": "UBERON:0000006" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "07282a68-dca4-449e-81b6-7b0da34230df", - "submission_date": "2018-09-06T14:14:54.969Z", - "update_date": "2018-09-06T14:24:20.677Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.1/links", - "schema_type": "link_bundle", - "schema_version": "1.1.1", - "links": [ - { - "process": "5f868fc6-dc13-4f06-a82e-ff83497d03ee", - "inputs": [ - "c61125ab-d5e0-4d93-b0a7-2deac1729f65" - ], - "input_type": "biomaterial", - "outputs": [ - "0494ee09-b1e2-437a-986f-06d5df4a6858", - "baf745cd-9052-4a6c-8c1a-919390062c09" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "34c6db60-ef27-4502-9191-102d1a235adc" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "319dd8c8-e9d6-40df-bf72-e0423f4f5418" - } - ] - }, - { - "process": "6c357ba8-bd9a-41cb-9d74-b9442efb7217", - "inputs": [ - "07282a68-dca4-449e-81b6-7b0da34230df" - ], - "input_type": "biomaterial", - "outputs": [ - "c61125ab-d5e0-4d93-b0a7-2deac1729f65" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "0aede7bd-0a5d-4dc5-a8e8-2d4ad6d01bfb", - "inputs": [ - "cd379b0c-7b23-4093-b0b0-65d592ab2839" - ], - "input_type": "biomaterial", - "outputs": [ - "07282a68-dca4-449e-81b6-7b0da34230df" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/examples/Tissue stability/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json b/test/hca_metadata_api/cans/examples/Tissue stability/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json deleted file mode 100644 index 4bb9746248..0000000000 --- a/test/hca_metadata_api/cans/examples/Tissue stability/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-08-03T082009.272868Z.json +++ /dev/null @@ -1,650 +0,0 @@ -{ - "manifest": { - "sequence_file/4d3839bf-e39f-4136-92a4-6f7009e88567": { - "crc32c": "5E314552", - "sha1": "0caf6b4d52c6095fe9b78eae9f12f4b2e7bdee3b", - "sha256": "e7f7e93c198d758a084d0ef4065b0314ba7365a72eeccc77f3b6368e4b951308", - "s3_etag": "86e0aff5a1b15c1a9c4f396f4ebcd2ed", - "content-type": "application/octet-stream", - "indexed": false, - "name": "HCATisStabAug177078016_S1_L001_I1_001.fastq.gz", - "size": 545, - "uuid": "72b3bd3f-1874-4636-bffe-0ab382cf6d72", - "version": "1" - }, - "supplementary_file/c3ce4634-ba98-45a7-a546-a2e3f4873d4c": { - "crc32c": "5BA5B282", - "sha1": "6c65e7c34a953a96a9991e302a367999f0612fab", - "sha256": "fced35e7be4a017707f154e25a16f4b8f5287f636909d7d4c1ef4802cc090c78", - "s3_etag": "098f7bdf35bb0508201e3b13e894cee0", - "content-type": "application/octet-stream", - "indexed": false, - "name": "SOP_MACS Live Dead Separation V3.pdf", - "size": 520, - "uuid": "e0e51494-0793-4145-b10e-32d0c48f7905", - "version": "1" - }, - "supplementary_file/f973157b-0dfa-48aa-b790-faef283a513d": { - "crc32c": "CAD4F2CE", - "sha1": "595994145200f0ad7917bb019f86164e6bcc58e8", - "sha256": "a01dcb62b1948ea2b998b2e763a9aa5d888072c0e71c6c324c9aa1c2b9ed13d4", - "s3_etag": "06d38e739da0ab85b142bc5d48036a2e", - "content-type": "application/octet-stream", - "indexed": false, - "name": "Human_spleen_dissociation_protocol.pdf", - "size": 527, - "uuid": "81f61d0b-514d-47c5-814d-e238996ecab2", - "version": "1" - }, - "supplementary_file/339458c4-c7ab-4ee1-9071-999af6d16d47": { - "crc32c": "92435DE6", - "sha1": "e6928d497f33a976aa49ee799358f3b2f048196b", - "sha256": "4b05be3a55ad520d3d3afd0b0e1c9f82b5ed7e0b1feb9b57c0283b7e430f0f38", - "s3_etag": "4c8a685c90633f44fe4af0cddcec3c07", - "content-type": "application/octet-stream", - "indexed": false, - "name": "SOP - Human Oesophagus Dissociation 19.02.18.pdf", - "size": 578, - "uuid": "0b251162-aeb6-418b-b313-49602512745e", - "version": "1" - }, - "supplementary_file/903bc97d-addf-45fa-ae35-cf7e31d0c20b": { - "crc32c": "03D66B96", - "sha1": "225ec6c9f8675206e628611b2bf2dbb4a24b5765", - "sha256": "be3904db8cdb8deba1619eed9ec227071d842c874c61676eaa9a6bf8afd73156", - "s3_etag": "bb7bd150105d8047e0c823f825dd0051", - "content-type": "application/octet-stream", - "indexed": false, - "name": "Clinical_metadata.xlsx", - "size": 513, - "uuid": "7b8da1fb-e6c2-4fc1-b370-11fa9698939f", - "version": "1" - }, - "supplementary_file/e9000e63-4ead-468d-826a-9bea0a1c68ab": { - "crc32c": "455326F9", - "sha1": "f1cc033ec095cf812f0d2ad0689d277b271523e5", - "sha256": "023f39b768280f66d91cf9cc7771d14c1a0f893ecd96d4727ec6206d99041922", - "s3_etag": "1366c0d41b7ed73229d5f1177146448a", - "content-type": "application/octet-stream", - "indexed": false, - "name": "10x_sequencing_protocol.pdf", - "size": 502, - "uuid": "a0e29103-23b1-4570-a335-29ab7e4de062", - "version": "1" - }, - "supplementary_file/529fd903-f4b9-44a9-b32f-047d359ad541": { - "crc32c": "76070BE8", - "sha1": "8c6fd1a6af8c050415b42795e40975ce0e685d1b", - "sha256": "ade3a42aa52b0159f8cafdf112119632ec06fc9eefe3a8846e7431e02b1dca87", - "s3_etag": "807c710c0d280481e634f68ab1926046", - "content-type": "application/octet-stream", - "indexed": false, - "name": "Experimental_report.pdf", - "size": 426, - "uuid": "06403366-b0af-455b-b5e7-ec7cfbacb791", - "version": "1" - }, - "supplementary_file/9904d58a-4a23-4099-b885-3bdefac39b20": { - "crc32c": "FCA6B2B2", - "sha1": "05e3276d65e86b46b080243380ca92954fa8e46d", - "sha256": "32f7948b17e53588ba1c7ebe2c0ea11560eeb232b1d626e3d24a82d46a035140", - "s3_etag": "92bfdbbfaed67053422af7be835392a4", - "content-type": "application/octet-stream", - "indexed": false, - "name": "SOP-Mechanical Human Spleen Dissociation 19.02.17.pdf", - "size": 569, - "uuid": "aa155ec7-5ef5-4a22-9907-23019097fba0", - "version": "1" - }, - "supplementary_file/f863f044-f904-4bf2-8535-fa45f123f237": { - "crc32c": "A5FA937C", - "sha1": "8b8325fffab6dff50944126ad95ff44776128440", - "sha256": "ab30dc7402b9d849adf90f1433b952f005a56a6989c6a0306901d7dbeac203d8", - "s3_etag": "c0c8a11d34500469afd134a264ff94cd", - "content-type": "application/octet-stream", - "indexed": false, - "name": "284C_IMAGE_spleen_annotated.jpeg", - "size": 507, - "uuid": "769901d5-ef88-4c45-b83c-5bf9a97d59d2", - "version": "1" - } - }, - "metadata": { - "cell_suspension/932dae75-ba79-42a6-915a-c6a67b39835c": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "A1-Spl-0-TL5_cells", - "biomaterial_name": "cells from fresh spleen", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA1098924", - "insdc_biomaterial": "ERS2392443" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 1970, - "provenance": { - "document_id": "932dae75-ba79-42a6-915a-c6a67b39835c", - "submission_date": "2018-09-05T09:14:54.798Z", - "update_date": "2018-09-05T09:15:05.597Z" - } - }, - "dissociation_protocol/f1f2f791-f5f0-4eaa-8a4d-d6de9cf6807b": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "protocol_name": "Dissociation of spleen tissue sample into cell suspension", - "document": "Human_spleen_dissociation_protocol.pdf" - }, - "dissociation_method": { - "text": "mechanical", - "ontology": "EFO:0009129" - }, - "provenance": { - "document_id": "f1f2f791-f5f0-4eaa-8a4d-d6de9cf6807b", - "submission_date": "2018-09-05T09:14:54.916Z", - "update_date": "2018-09-05T09:15:02.163Z" - } - }, - "donor_organism/8909e260-7472-4c95-a96e-05d53d3c9221": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/biomaterial/10.1.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "284C-A1", - "biomaterial_name": "284C-spleen", - "biomaterial_description": "Spleen", - "ncbi_taxon_id": [ - 9606 - ] - }, - "death": { - "cause_of_death": "Hypoxic brain damage", - "cold_perfused": true, - "organ_donation_death_type": "Donation after circulatory death (DCD)" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "is_living": "no", - "sex": "male", - "organism_age": "55-60", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "height": "1.75-1.8", - "height_unit": { - "text": "meter", - "ontology": "UO:0000008" - }, - "weight": "80-85", - "weight_unit": { - "text": "kilogram", - "ontology": "UO:0000009" - }, - "medical_history": { - "alcohol_history": "3-6 units/day", - "smoking_history": "Smoker, 20/day for 25 years, stopped 2000" - }, - "normothermic_regional_perfusion": "yes", - "provenance": { - "document_id": "8909e260-7472-4c95-a96e-05d53d3c9221", - "submission_date": "2018-09-05T09:14:54.658Z", - "update_date": "2018-09-05T09:15:03.935Z" - } - }, - "enrichment_protocol/e8c1f3fe-d694-467c-a823-01426f44ed71": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_1", - "protocol_name": "Enrichment for live cells", - "document": "Human_spleen_dissociation_protocol.pdf" - }, - "enrichment_method": { - "text": "magnetic affinity cell sorting", - "ontology": "EFO:0009109" - }, - "markers": "LiveCells", - "provenance": { - "document_id": "e8c1f3fe-d694-467c-a823-01426f44ed71", - "submission_date": "2018-09-05T09:14:54.896Z", - "update_date": "2018-09-05T09:15:02.160Z" - } - }, - "library_preparation_protocol/cc50851b-4c12-463b-b527-60d1c8d5ef60": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/4.3.2/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1", - "protocol_name": "Library preparation for 10x_v2 sequencing", - "protocol_description": "ChromiumTM Single Cell 3' Library & Gel Bead Kit v2", - "document": "10x_sequencing_protocol.pdf" - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "10X sequencing", - "ontology": "EFO:0008995" - }, - "nucleic_acid_source": "single cell", - "end_bias": "3 prime tag", - "strand": "second", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 16, - "barcode_length": 10 - }, - "provenance": { - "document_id": "cc50851b-4c12-463b-b527-60d1c8d5ef60", - "submission_date": "2018-09-05T09:14:54.945Z", - "update_date": "2018-09-05T09:15:02.223Z" - } - }, - "process/8b006d76-80c0-4e2c-866a-01fa5e900ab5": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8b006d76-80c0-4e2c-866a-01fa5e900ab5", - "submission_date": "2018-09-05T09:14:54.996Z", - "update_date": "2018-09-05T09:15:03.169Z" - } - }, - "process/a85a679d-38f0-4eb2-bfce-ed0e621769c8": { - "process_core": { - "process_id": "process_id_29" - }, - "schema_type": "process", - "describedBy": "http://schema.dev.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a85a679d-38f0-4eb2-bfce-ed0e621769c8", - "submission_date": "2018-09-05T09:14:55.295Z", - "update_date": "2018-09-05T09:15:05.629Z" - } - }, - "project/e7043342-977a-4f43-b382-d2a4f0932b56": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/project/9.0.2/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Tissue stability", - "project_title": "Ischaemic sensitivity of human tissue by single cell RNA seq", - "project_description": "Assessment of ischaemic sensitivity of human tissues using 10x 3' single cell RNA sequencing. Currently, this project contains data for spleen and oesophagus. Ultimately we aim to collect data from three tissues expected to have different sensitivity to ischaemia: spleen (expected least sensitive), oesophagus (in the middle), and lung. Samples will be collected fresh (i.e. as soon as possible) and at 12h, 24h, and 72h post onset of ischaemia in the donor. Single cell RNA sequencing data will be generated at each time point using the 10x genomics single cell 3' method." - }, - "insdc_project": "ERP107913", - "insdc_study": "PRJEB25946", - "contributors": [ - { - "contact_name": "Mike,,Stubbington", - "email": "ms31@sanger.ac.uk", - "phone": "44 (0)1223 834244", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Human Cell Atlas (Mike Stubbington)", - "address": "Wellcome Trust Sanger Institute, Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "country": "UK", - "orcid_id": "0000-0001-5924-3566" - }, - { - "contact_name": "Phillipa,,Harding", - "email": "ph11@sanger.ac.uk", - "phone": "44 (0)1223 834244", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Human Cell Atlas (Mike Stubbington)", - "address": "Wellcome Trust Sanger Institute, Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "country": "UK" - }, - { - "contact_name": "Anna,,Wilbrey-Clark", - "email": "aw24@sanger.ac.uk", - "phone": "44 (0)1223 834244", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Human Cell Atlas (Mike Stubbington)", - "address": "Wellcome Trust Sanger Institute, Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "country": "UK" - }, - { - "contact_name": "Krzysztof,,Polanski", - "email": "kp9@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Human Cell Atlas (Mike Stubbington)", - "address": "Wellcome Trust Sanger Institute, Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "country": "UK" - }, - { - "contact_name": "Kevin,,Loudon", - "email": "kevinloudon@doctors.org.uk", - "institution": "University of Cambridge", - "laboratory": "Molecular Immunity Unit, Department of Medicine", - "address": "Cambridge CB2 0QQ", - "country": "UK" - }, - { - "contact_name": "John,R,Ferdinand", - "email": "jrf58@cam.ac.uk", - "institution": "University of Cambridge", - "laboratory": "Molecular Immunity Unit, Department of Medicine", - "address": "Cambridge CB2 0QQ", - "country": "UK", - "orcid_id": "0000-0003-0936-0128" - }, - { - "contact_name": "Krishnaa,,Mahbubani", - "email": "ktam2@cam.ac.uk", - "institution": "University of Cambridge", - "laboratory": "Cambridge Biorepository for Translational Medicine", - "address": "Cambridge CB2 0QQ", - "country": "UK" - }, - { - "contact_name": "Nikitas,,Georgakopoulos", - "email": "ng395@cam.ac.uk", - "institution": "University of Cambridge", - "laboratory": "Cambridge Biorepository for Translational Medicine", - "address": "Cambridge CB2 0QQ", - "country": "UK" - }, - { - "contact_name": "Kerstin,B,Meyer", - "email": "km16@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Sanger Institute, Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "country": "UK", - "corresponding_contributor": true - }, - { - "contact_name": "Kourosh,,Saeb-Parsy", - "email": "ks10014@cam.ac.uk", - "institution": "University of Cambridge", - "address": "Cambridge CB2 0QQ", - "country": "UK" - }, - { - "contact_name": "Karol,,Nowicki-Osuch", - "email": "kpn25@mrc-cu.cam.ac.uk", - "institution": "MRC Cancer Unit", - "laboratory": "Rebecca Fitzgerald", - "address": "MRC Cancer Unit, Hutchison-MRC Research Centre, University of Cambridge, Cambridge CB2 0XZ.", - "country": "UK" - }, - { - "contact_name": "Rebecca,,Fitzgerald", - "email": "rcf29@mrc-cu.cam.ac.uk", - "institution": "MRC Cancer Unit", - "laboratory": "Rebecca Fitzgerald", - "address": "MRC Cancer Unit, Hutchison-MRC Research Centre, University of Cambridge, Cambridge CB2 0XZ.", - "country": "UK" - }, - { - "contact_name": "Ricardo,J,Miragaia", - "email": "rm13@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Human Cell Atlas (Sarah Teichmann)", - "address": "Wellcome Trust Sanger Institute, Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "country": "UK" - }, - { - "contact_name": "Mallory,Ann,Freeberg", - "email": "mfreeberg@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2949-3921", - "corresponding_contributor": false - }, - { - "contact_name": "Danielle,,Welter", - "email": "dwelter@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-1058-2668", - "corresponding_contributor": false - } - ], - "provenance": { - "document_id": "e7043342-977a-4f43-b382-d2a4f0932b56", - "submission_date": "2018-09-05T09:14:54.288Z", - "update_date": "2018-09-05T09:15:01.681Z" - } - }, - "sequence_file/4d3839bf-e39f-4136-92a4-6f7009e88567": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "HCATisStabAug177078016_S1_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "insdc_run": [ - "ERR2508319" - ], - "provenance": { - "document_id": "4d3839bf-e39f-4136-92a4-6f7009e88567", - "submission_date": "2018-09-05T09:14:54.400Z", - "update_date": "2018-09-05T09:14:56.841Z" - } - }, - "sequencing_protocol/29150a65-718c-46bc-8a7f-11ac585bf959": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1", - "protocol_name": "10x_v2 sequencing", - "protocol_description": "ChromiumTM Single Cell 3' Library & Gel Bead Kit v2", - "document": "10x_sequencing_protocol.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 4000", - "ontology": "EFO:0008563" - }, - "paired_end": true, - "sequencing_approach": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440" - }, - "provenance": { - "document_id": "29150a65-718c-46bc-8a7f-11ac585bf959", - "submission_date": "2018-09-05T09:14:54.986Z", - "update_date": "2018-09-05T09:15:02.167Z" - } - }, - "supplementary_file/c3ce4634-ba98-45a7-a546-a2e3f4873d4c": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/1.1.3/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "SOP_MACS Live Dead Separation V3.pdf", - "file_format": "pdf", - "checksum": "NEED" - }, - "file_description": "Enrichment for live cells", - "provenance": { - "document_id": "c3ce4634-ba98-45a7-a546-a2e3f4873d4c", - "submission_date": "2018-09-05T09:14:54.357Z", - "update_date": "2018-09-05T09:14:56.869Z" - } - }, - "supplementary_file/f973157b-0dfa-48aa-b790-faef283a513d": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/1.1.3/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "Human_spleen_dissociation_protocol.pdf", - "file_format": "pdf" - }, - "file_description": "Dissociation of spleen tissue sample into cell suspension.", - "provenance": { - "document_id": "f973157b-0dfa-48aa-b790-faef283a513d", - "submission_date": "2018-09-05T09:14:54.313Z", - "update_date": "2018-09-05T09:14:56.831Z" - } - }, - "supplementary_file/339458c4-c7ab-4ee1-9071-999af6d16d47": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/1.1.3/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "SOP - Human Oesophagus Dissociation 19.02.18.pdf", - "file_format": "pdf", - "checksum": "NEED" - }, - "file_description": "Dissociation of human oesophagus epithelium into single cell suspension", - "provenance": { - "document_id": "339458c4-c7ab-4ee1-9071-999af6d16d47", - "submission_date": "2018-09-05T09:14:54.382Z", - "update_date": "2018-09-05T09:14:56.806Z" - } - }, - "supplementary_file/903bc97d-addf-45fa-ae35-cf7e31d0c20b": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/1.1.3/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "Clinical_metadata.xlsx", - "file_format": "xlsx", - "checksum": "NEED" - }, - "file_description": "Clinical metadata about donors.", - "provenance": { - "document_id": "903bc97d-addf-45fa-ae35-cf7e31d0c20b", - "submission_date": "2018-09-05T09:14:54.333Z", - "update_date": "2018-09-05T09:14:56.827Z" - } - }, - "supplementary_file/e9000e63-4ead-468d-826a-9bea0a1c68ab": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/1.1.3/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "10x_sequencing_protocol.pdf", - "file_format": "pdf" - }, - "file_description": "Sequencing and library preparation protocol.", - "provenance": { - "document_id": "e9000e63-4ead-468d-826a-9bea0a1c68ab", - "submission_date": "2018-09-05T09:14:54.301Z", - "update_date": "2018-09-05T09:14:56.827Z" - } - }, - "supplementary_file/529fd903-f4b9-44a9-b32f-047d359ad541": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/1.1.3/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "Experimental_report.pdf", - "file_format": "pdf" - }, - "provenance": { - "document_id": "529fd903-f4b9-44a9-b32f-047d359ad541", - "submission_date": "2018-09-05T09:14:54.323Z", - "update_date": "2018-09-05T09:14:56.872Z" - } - }, - "supplementary_file/9904d58a-4a23-4099-b885-3bdefac39b20": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/1.1.3/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "SOP-Mechanical Human Spleen Dissociation 19.02.17.pdf", - "file_format": "pdf", - "checksum": "NEED" - }, - "file_description": "Dissociation of spleen tissue sample into cell suspension", - "provenance": { - "document_id": "9904d58a-4a23-4099-b885-3bdefac39b20", - "submission_date": "2018-09-05T09:14:54.367Z", - "update_date": "2018-09-05T09:14:56.865Z" - } - }, - "supplementary_file/f863f044-f904-4bf2-8535-fa45f123f237": { - "describedBy": "http://schema.dev.data.humancellatlas.org/type/file/1.1.3/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "284C_IMAGE_spleen_annotated.jpeg", - "file_format": "jpeg" - }, - "file_description": "Gross image of specimen location in spleen.", - "provenance": { - "document_id": "f863f044-f904-4bf2-8535-fa45f123f237", - "submission_date": "2018-09-05T09:14:54.346Z", - "update_date": "2018-09-05T09:14:55.825Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.1/links", - "schema_type": "link_bundle", - "schema_version": "1.1.1", - "links": [ - { - "process": "8b006d76-80c0-4e2c-866a-01fa5e900ab5", - "inputs": [ - "932dae75-ba79-42a6-915a-c6a67b39835c" - ], - "input_type": "biomaterial", - "outputs": [ - "4d3839bf-e39f-4136-92a4-6f7009e88567" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "cc50851b-4c12-463b-b527-60d1c8d5ef60" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "29150a65-718c-46bc-8a7f-11ac585bf959" - } - ] - }, - { - "process": "a85a679d-38f0-4eb2-bfce-ed0e621769c8", - "inputs": [ - "8909e260-7472-4c95-a96e-05d53d3c9221" - ], - "input_type": "biomaterial", - "outputs": [ - "932dae75-ba79-42a6-915a-c6a67b39835c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "f1f2f791-f5f0-4eaa-8a4d-d6de9cf6807b" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "e8c1f3fe-d694-467c-a823-01426f44ed71" - } - ] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/prod/6b498499-c5b4-452f-9ff9-2318dbb86000.2019-01-03T163633.780215Z.json b/test/hca_metadata_api/cans/prod/6b498499-c5b4-452f-9ff9-2318dbb86000.2019-01-03T163633.780215Z.json deleted file mode 100644 index 1904c588e2..0000000000 --- a/test/hca_metadata_api/cans/prod/6b498499-c5b4-452f-9ff9-2318dbb86000.2019-01-03T163633.780215Z.json +++ /dev/null @@ -1,1525 +0,0 @@ -{ - "manifest": { - "sequence_file/9c49bbf2-cf62-4f94-9b9d-a3da42e2d52a": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "dec968a1", - "indexed": false, - "name": "GAC027_hOrg_HipSci_2_S6_L007_I1_001.fastq.gz", - "s3_etag": "786fc96923a5679756310bdfd04fc556-11", - "sha1": "c9e9bc9a41f08542ef10f0b1703ca4fa929597cb", - "sha256": "db46327da5d22af03508e0e277631003872d2b8eb5557eaec6b68b57c55a24f8", - "size": 682675184, - "uuid": "44b4cb90-1ae1-48a8-aaf9-2a0b8023f3d1", - "version": "2019-01-03T163557.783237Z" - }, - "sequence_file/ac93d656-4aa5-4f6c-b273-dc1d8be1934c": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "d5532b5f", - "indexed": false, - "name": "GAC027_hOrg_HipSci_2_S6_L007_R1_001.fastq.gz", - "s3_etag": "d598e1a0973c6897c2a12eb2e9406172-29", - "sha1": "f8baf75d483900aadb3998008b39e7df9b6babb8", - "sha256": "329fa460251c519fd13c2006b93ac4aca4fe83f224aeb3f120327062f8f66751", - "size": 1935574142, - "uuid": "9df72772-4e7f-443d-ba15-4c1000f60003", - "version": "2019-01-03T163558.131144Z" - }, - "sequence_file/5989ca50-45b5-4834-bfde-d290a8dfa97e": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "802b0183", - "indexed": false, - "name": "GAC027_hOrg_HipSci_2_S6_L007_R2_001.fastq.gz", - "s3_etag": "d7501ecd11fa347731cdce263da225ec-93", - "sha1": "24940d3ce2b37303c2ae2364380e611c95f9eff1", - "sha256": "f8b9ce92fb34b95c4c930c7df607e5adcda097bffa803b0f0f473a1ea607c90d", - "size": 6230565577, - "uuid": "4de318e4-8292-4b51-8f06-25bf2f6697bf", - "version": "2019-01-03T163558.311125Z" - }, - "supplementary_file/434fa581-90e3-43cc-8ff5-2596e6e8d366": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "1e67ff31", - "indexed": false, - "name": "hipsci-ipsc-pipeline.pdf", - "s3_etag": "d276fabcc867f6100a053ee354b0fc9a", - "sha1": "09855c6bf665c999ebfb1a5ffe66bcee5a606762", - "sha256": "d5928f0c9fc0c67352df51f4747c76efebe5749a59b4b6c7effc722c01ddf4c6", - "size": 10012457, - "uuid": "83361a8e-5029-45fd-9705-68e5a9bb4074", - "version": "2019-01-03T163558.501100Z" - }, - "supplementary_file/f126dd41-0041-46b7-8c63-7da264be6b81": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "201fded1", - "indexed": false, - "name": "Dissociation_protocol_130-092-628.pdf", - "s3_etag": "6ecf47fe7a612eec681b313225744035", - "sha1": "5180c3713cd1a0a01a8bb3991cb1ab872d1a8813", - "sha256": "745844f42a0bef18e57eca252c2d52ef6042a1b55a7df8c74232cdc36f5a34e6", - "size": 104805, - "uuid": "f633ef07-9c42-4771-9057-16f4adfb2350", - "version": "2019-01-03T163558.748211Z" - }, - "supplementary_file/f48ebd9a-f3ac-4e02-b698-7146cd396946": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "47441108", - "indexed": false, - "name": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf", - "s3_etag": "67e93ad84439bc3515066da4362d2439", - "sha1": "194a0f2b6b8db8272f33f3c1f6a2cf2dca26160d", - "sha256": "b6b98dc6b82be35951bf0a8f47cd6e1c2262c18ea75532ca0800223d1f846910", - "size": 5645416, - "uuid": "d2eedcf0-e06b-4975-99f8-f3c810ca1e39", - "version": "2019-01-03T163559.110502Z" - } - }, - "metadata": { - "cell_suspension/c2396f83-22e4-4a2d-8cce-a30feb533603": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/8.6.2/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI_organoids_pooled_2", - "biomaterial_name": "pooled cells from 4 dissociated organoids", - "biomaterial_description": "pooled cells from 4 dissociated organoids (wibj_2, kucg_2, hoik_1, sojd_3)", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_type": [ - { - "text": "neural cell", - "ontology": "CL:0002319", - "ontology_label": "neural cell" - } - ], - "total_estimated_cells": 6210, - "provenance": { - "document_id": "c2396f83-22e4-4a2d-8cce-a30feb533603", - "submission_date": "2019-01-03T12:07:51.214Z", - "update_date": "2019-01-03T12:08:03.256Z" - } - }, - "organoid/a690df06-cc52-4346-a926-fe5e5b3a7547": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/8.3.9/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0214i-wibj_2_2", - "biomaterial_name": "human cerebral organoid wibj_2", - "biomaterial_description": "human cerebral organoid wibj_2, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033", - "ontology_label": "day" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "a690df06-cc52-4346-a926-fe5e5b3a7547", - "submission_date": "2019-01-03T12:07:51.090Z", - "update_date": "2019-01-03T12:08:02.342Z" - } - }, - "organoid/f0b636ce-505c-4339-a69c-2305352b6796": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/8.3.9/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0214i-kucg_2_2", - "biomaterial_name": "human cerebral organoid kucg_2", - "biomaterial_description": "human cerebral organoid kucg_2, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033", - "ontology_label": "day" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "f0b636ce-505c-4339-a69c-2305352b6796", - "submission_date": "2019-01-03T12:07:51.122Z", - "update_date": "2019-01-03T12:08:02.944Z" - } - }, - "organoid/46e7ed04-5916-4c10-8a05-fe510eda819a": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/8.3.9/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0314i-hoik_1_2", - "biomaterial_name": "human cerebral organoid hoik_1", - "biomaterial_description": "human cerebral organoid hoik_1, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033", - "ontology_label": "day" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "46e7ed04-5916-4c10-8a05-fe510eda819a", - "submission_date": "2019-01-03T12:07:51.151Z", - "update_date": "2019-01-03T12:08:02.497Z" - } - }, - "organoid/d49998ff-c873-41fd-bb44-f221f89b8f15": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/8.3.9/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0314i-sojd_3_2", - "biomaterial_name": "human cerebral organoid sojd_3", - "biomaterial_description": "human cerebral organoid sojd_3, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033", - "ontology_label": "day" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "d49998ff-c873-41fd-bb44-f221f89b8f15", - "submission_date": "2019-01-03T12:07:51.178Z", - "update_date": "2019-01-03T12:08:02.781Z" - } - }, - "cell_line/a689172e-cae2-4e2c-b1d2-5aeff0a90171": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/9.0.1/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj_2", - "biomaterial_name": "iPS cell line wibj_2", - "biomaterial_description": "iPS cell line wibj_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2627567" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248", - "ontology_label": "pluripotent stem cell" - }, - "catalog_number": "77650057", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0214i-wibj_2", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 32, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2014-10-24T00:00:00Z", - "provenance": { - "document_id": "a689172e-cae2-4e2c-b1d2-5aeff0a90171", - "submission_date": "2019-01-03T12:07:51.043Z", - "update_date": "2019-01-03T12:08:03.319Z" - } - }, - "specimen_from_organism/597b4050-0778-4a81-b882-e1704ab0b6ad": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/6.3.4/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj_skin", - "biomaterial_name": "Skin cells from HPSI0214i-wibj_skin", - "biomaterial_description": "Skin cells from HPSI0214i-wibj_skin", - "biosd_biomaterial": "SAMEA2397844", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097", - "ontology_label": "skin of body" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003", - "ontology_label": "skin epidermis" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "597b4050-0778-4a81-b882-e1704ab0b6ad", - "submission_date": "2019-01-03T12:07:50.973Z", - "update_date": "2019-01-03T12:08:03.189Z" - } - }, - "donor_organism/4934d9c3-753b-47bc-b2d5-468ce255a139": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.2.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj", - "biomaterial_name": "donor HPSI0214i-wibj", - "biomaterial_description": "donor HPSI0214i-wibj_2, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2398911" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "organism_age": "55-59", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "HANCESTRO:0462", - "ontology_label": "British" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "4934d9c3-753b-47bc-b2d5-468ce255a139", - "submission_date": "2019-01-03T12:07:50.939Z", - "update_date": "2019-01-03T12:08:02.040Z" - } - }, - "cell_line/37833da3-505d-4bb2-916e-26aa8985d183": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/9.0.1/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg_2", - "biomaterial_name": "iPS cell line kucg_2", - "biomaterial_description": "iPS cell line kucg_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2645814" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248", - "ontology_label": "pluripotent stem cell" - }, - "catalog_number": "77650065", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0214i-kucg_2", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 36, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2014-11-03T00:00:00Z", - "provenance": { - "document_id": "37833da3-505d-4bb2-916e-26aa8985d183", - "submission_date": "2019-01-03T12:07:51.052Z", - "update_date": "2019-01-03T12:08:03.268Z" - } - }, - "specimen_from_organism/1fc181fe-60c6-4b94-85c1-1f227be60658": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/6.3.4/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg_skin", - "biomaterial_name": "Skin cells from HPSI0214i-kucg_skin", - "biomaterial_description": "Skin cells from HPSI0214i-kucg_skin", - "biosd_biomaterial": "SAMEA2398627", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097", - "ontology_label": "skin of body" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003", - "ontology_label": "skin epidermis" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "1fc181fe-60c6-4b94-85c1-1f227be60658", - "submission_date": "2019-01-03T12:07:50.987Z", - "update_date": "2019-01-03T12:08:03.087Z" - } - }, - "donor_organism/7c3a6d87-9f43-4de5-b47d-6fa78a897624": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.2.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg", - "biomaterial_name": "donor HPSI0214i-kucg", - "biomaterial_description": "donor HPSI0214i-kucg_2, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2397923" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "organism_age": "65-69", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "HANCESTRO:0462", - "ontology_label": "British" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "7c3a6d87-9f43-4de5-b47d-6fa78a897624", - "submission_date": "2019-01-03T12:07:50.949Z", - "update_date": "2019-01-03T12:08:01.492Z" - } - }, - "cell_line/d954547d-94bc-401d-bdff-ccd727251c74": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/9.0.1/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik_1", - "biomaterial_name": "iPS cell line hoik_1", - "biomaterial_description": "iPS cell line hoik_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2698315" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248", - "ontology_label": "pluripotent stem cell" - }, - "catalog_number": "77650129", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0314i-hoik_1", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 28, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2015-02-02T00:00:00Z", - "provenance": { - "document_id": "d954547d-94bc-401d-bdff-ccd727251c74", - "submission_date": "2019-01-03T12:07:51.061Z", - "update_date": "2019-01-03T12:08:03.322Z" - } - }, - "specimen_from_organism/ad702cb9-3b40-4f8f-b9a5-331eeb153d9b": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/6.3.4/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik_skin", - "biomaterial_name": "Skin cells from HPSI0314i-hoik_skin", - "biomaterial_description": "Skin cells from HPSI0314i-hoik_skin", - "biosd_biomaterial": "SAMEA2399963", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097", - "ontology_label": "skin of body" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003", - "ontology_label": "skin epidermis" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "ad702cb9-3b40-4f8f-b9a5-331eeb153d9b", - "submission_date": "2019-01-03T12:07:50.997Z", - "update_date": "2019-01-03T12:08:02.789Z" - } - }, - "donor_organism/3322ea3a-30ea-4e6e-b187-18525de4ee3e": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.2.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik", - "biomaterial_name": "donor HPSI0314i-hoik", - "biomaterial_description": "donor HPSI0314i-hoik_1, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2399961" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "organism_age": "40-44", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "HANCESTRO:0462", - "ontology_label": "British" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "3322ea3a-30ea-4e6e-b187-18525de4ee3e", - "submission_date": "2019-01-03T12:07:50.957Z", - "update_date": "2019-01-03T12:08:02.270Z" - } - }, - "cell_line/95deef55-86e9-42be-9f82-3102b0d89dbe": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/9.0.1/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd_3", - "biomaterial_name": "iPS cell line sojd_3", - "biomaterial_description": "iPS cell line sojd_3", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2627569" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248", - "ontology_label": "pluripotent stem cell" - }, - "catalog_number": "77650126", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0314i-sojd_3", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 29, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2015-01-09T00:00:00Z", - "provenance": { - "document_id": "95deef55-86e9-42be-9f82-3102b0d89dbe", - "submission_date": "2019-01-03T12:07:51.071Z", - "update_date": "2019-01-03T12:08:03.373Z" - } - }, - "specimen_from_organism/2e32e319-53d4-4e69-af0f-c43e2b15a94f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/6.3.4/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd_skin", - "biomaterial_name": "Skin cells from HPSI0314i-sojd_skin", - "biomaterial_description": "Skin cells from HPSI0314i-sojd_skin", - "biosd_biomaterial": "SAMEA2418243", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097", - "ontology_label": "skin of body" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003", - "ontology_label": "skin epidermis" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "2e32e319-53d4-4e69-af0f-c43e2b15a94f", - "submission_date": "2019-01-03T12:07:51.019Z", - "update_date": "2019-01-03T12:08:03.124Z" - } - }, - "donor_organism/872169f4-8479-4476-9646-20b3997e1f01": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.2.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd", - "biomaterial_name": "donor HPSI0314i-sojd", - "biomaterial_description": "donor HPSI0314i-sojd_3, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2418245" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "organism_age": "45-49", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "human_specific": { - "ethnicity": [ - { - "text": "White - other, Ad Mixed American", - "ontology": "HANCESTRO:0463", - "ontology_label": "American" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "872169f4-8479-4476-9646-20b3997e1f01", - "submission_date": "2019-01-03T12:07:50.965Z", - "update_date": "2019-01-03T12:08:02.262Z" - } - }, - "sequence_file/9c49bbf2-cf62-4f94-9b9d-a3da42e2d52a": { - "describedBy": "https://schema.humancellatlas.org/type/file/7.0.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_2_S6_L007_I1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "fdb858b0c02365a1ac66b93eb7d6ad91" - }, - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "provenance": { - "document_id": "9c49bbf2-cf62-4f94-9b9d-a3da42e2d52a", - "submission_date": "2019-01-03T12:07:50.674Z", - "update_date": "2019-01-03T12:16:54.090Z" - } - }, - "sequence_file/ac93d656-4aa5-4f6c-b273-dc1d8be1934c": { - "describedBy": "https://schema.humancellatlas.org/type/file/7.0.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_2_S6_L007_R1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "be86a99afeb1e9142db887d9fcdfe3c7" - }, - "read_index": "read1", - "lane_index": 7, - "read_length": 26, - "provenance": { - "document_id": "ac93d656-4aa5-4f6c-b273-dc1d8be1934c", - "submission_date": "2019-01-03T12:07:50.685Z", - "update_date": "2019-01-03T12:20:06.160Z" - } - }, - "sequence_file/5989ca50-45b5-4834-bfde-d290a8dfa97e": { - "describedBy": "https://schema.humancellatlas.org/type/file/7.0.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_2_S6_L007_R2_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "611ba41c18875cc6392c64e0b01ce875" - }, - "read_index": "read2", - "lane_index": 7, - "read_length": 100, - "provenance": { - "document_id": "5989ca50-45b5-4834-bfde-d290a8dfa97e", - "submission_date": "2019-01-03T12:07:50.705Z", - "update_date": "2019-01-03T12:28:59.095Z" - } - }, - "supplementary_file/434fa581-90e3-43cc-8ff5-2596e6e8d366": { - "describedBy": "https://schema.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "hipsci-ipsc-pipeline.pdf", - "file_format": "pdf" - }, - "file_description": "iPSC induction by Sendai virus protocol.", - "provenance": { - "document_id": "434fa581-90e3-43cc-8ff5-2596e6e8d366", - "submission_date": "2019-01-03T12:07:50.566Z", - "update_date": "2019-01-03T12:12:23.302Z" - } - }, - "supplementary_file/f126dd41-0041-46b7-8c63-7da264be6b81": { - "describedBy": "https://schema.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "Dissociation_protocol_130-092-628.pdf", - "file_format": "pdf" - }, - "file_description": "Cerebral organoid dissociation protocol.", - "provenance": { - "document_id": "f126dd41-0041-46b7-8c63-7da264be6b81", - "submission_date": "2019-01-03T12:07:50.578Z", - "update_date": "2019-01-03T12:11:14.380Z" - } - }, - "supplementary_file/f48ebd9a-f3ac-4e02-b698-7146cd396946": { - "describedBy": "https://schema.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf", - "file_format": "pdf" - }, - "file_description": "10x Chromium single cell 3' v2 library preparation.", - "provenance": { - "document_id": "f48ebd9a-f3ac-4e02-b698-7146cd396946", - "submission_date": "2019-01-03T12:07:50.588Z", - "update_date": "2019-01-03T12:11:14.378Z" - } - }, - "project/d96c2451-6e22-441f-a3e6-70fd0878bb1b": { - "describedBy": "https://schema.humancellatlas.org/type/project/9.0.4/project", - "schema_type": "project", - "project_core": { - "project_short_name": "HPSI human cerebral organoids", - "project_title": "Assessing the relevance of organoids to model inter-individual variation", - "project_description": "The purpose of this project is to assess the relevance of pluripotent stem cell-derived cerebral and liver organoids to recapitulate the variation in cell-type specific gene expression programs between individuals. Towards this aim, we will generate reference atlases of the developing cortex and liver from multiple individuals, derive iPSC lines from these same individuals, and determine if inter-individual gene expression variation is recapitulated in cerebral and liver organoids from the same individual from which we have reference maps. In parallel we will assess the genetic contribution to variablity between organoids from different iPSCs of multiple human individuals that are available in existing iPSC resources (e.g. HipSci)." - }, - "contributors": [ - { - "contact_name": "Barbara,,Treutlein", - "email": "barbara_treutlein@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "project_role": "principal investigator", - "orcid_id": "0000-0002-3299-5597", - "corresponding_contributor": true - }, - { - "contact_name": "J,Gray,Camp", - "email": "gray_camp@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Zhisong,,He", - "email": "zhisong_he@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Sabina,,Kanton", - "email": "sabina_kanton@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Mallory,Ann,Freeberg", - "email": "mfreeberg@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2949-3921", - "corresponding_contributor": false - } - ], - "provenance": { - "document_id": "d96c2451-6e22-441f-a3e6-70fd0878bb1b", - "submission_date": "2019-01-03T12:07:50.548Z", - "update_date": "2019-01-03T12:07:59.988Z" - } - }, - "library_preparation_protocol/65ce5281-b07e-4b21-be8d-66ac5dea4d69": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/4.4.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "10x_3'_library_preparation", - "protocol_name": "10x 3' single cell library preparation", - "protocol_description": "10x Chromium single cell 3' v2 library preparation", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "library_construction_approach": { - "text": "Chromium 3' Single Cell v2", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "unstranded", - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 15, - "barcode_length": 10 - }, - "library_construction_kit": { - "retail_name": "10X Chromium Single Cell 3' Solution v2 Chemistry", - "manufacturer": "10X Genomics" - }, - "provenance": { - "document_id": "65ce5281-b07e-4b21-be8d-66ac5dea4d69", - "submission_date": "2019-01-03T12:07:51.265Z", - "update_date": "2019-01-03T12:07:58.774Z" - } - }, - "sequencing_protocol/1547584e-d9e4-4519-a72a-91db0d0fec3c": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/9.0.3/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "10x_scRNASeq", - "protocol_name": "10x single cell RNA Sequencing", - "protocol_description": "10x RNA sequencing", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565", - "ontology_label": "Illumina HiSeq 2500" - }, - "paired_end": true, - "sequencing_approach": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "provenance": { - "document_id": "1547584e-d9e4-4519-a72a-91db0d0fec3c", - "submission_date": "2019-01-03T12:07:51.274Z", - "update_date": "2019-01-03T12:07:58.338Z" - } - }, - "dissociation_protocol/c23de226-536c-403d-a757-f4200cb1777b": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Cerebral_organoid_dissociation", - "protocol_name": "cerebral organoid dissociation", - "protocol_description": "cerebral organoid dissociation", - "document": "Dissociation_protocol_130-092-628.pdf" - }, - "dissociation_method": { - "text": "Papain-based enzymatic dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "protocol_reagents": [ - { - "retail_name": "Neural Tissue Dissociation Kit", - "catalog_number": "130-092-628", - "manufacturer": "Miltenyi Biotec" - } - ], - "provenance": { - "document_id": "c23de226-536c-403d-a757-f4200cb1777b", - "submission_date": "2019-01-03T12:07:51.254Z", - "update_date": "2019-01-03T12:07:58.689Z" - } - }, - "differentiation_protocol/3ec905f4-5950-4cfa-bd0b-86cc0370fd47": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/1.3.0/differentiation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Org_Lanc_2014", - "protocol_name": "Differentiation of cerebral organoids", - "protocol_description": "Generation of cerebral organoids from human pluripotent stem cells", - "publication_doi": "10.1038/nprot.2014.158" - }, - "differentiation_method": "embryoid bodies", - "target_pathway": "RHO, ROCK", - "validation_method": "immunostaining", - "reagents": [ - { - "retail_name": "ROCK inhibitor Y27632" - } - ], - "small_molecules": "Vitamin A (retinoic acid)", - "provenance": { - "document_id": "3ec905f4-5950-4cfa-bd0b-86cc0370fd47", - "submission_date": "2019-01-03T12:07:51.244Z", - "update_date": "2019-01-03T12:07:58.180Z" - } - }, - "ipsc_induction_protocol/97a30135-246f-4c0d-aef8-4e33183d1ff7": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/2.0.1/ipsc_induction_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "ipsc_induction_protocol_1", - "protocol_name": "iPSC induction by Sendai virus", - "protocol_description": "Fibroblasts are thawed, transduced using Cytotune 2.0 Sendai virus (containing the Yamanaka genes encoding transcription factors Oct4, Sox2, cMyc and Klf4) and maintained until iPSC colony formation. Colonies are then picked and cultured to obtain a sizable yield of IPS cells, which are banked to a commercial grade standard. These banks then undergo quality checks to ensure the banks pass resuscitation tests and are free of mycoplasma.", - "document": "hipsci-ipsc-pipeline.pdf" - }, - "ipsc_induction_method": "sendai virus", - "pluripotency_vector_removed": "yes", - "ipsc_induction_kit": { - "retail_name": "Cytotune 1.0", - "manufacturer": "Thermofisher" - }, - "pluripotency_test": "HipSci Pluri test", - "ipsc_induction_produced_in_house": false, - "provenance": { - "document_id": "97a30135-246f-4c0d-aef8-4e33183d1ff7", - "submission_date": "2019-01-03T12:07:51.230Z", - "update_date": "2019-01-03T12:07:58.380Z" - } - }, - "process/54438211-29fb-4e57-87f4-95412e5d8b15": { - "process_core": { - "process_id": "tech_rep_3" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "54438211-29fb-4e57-87f4-95412e5d8b15", - "submission_date": "2019-01-03T12:07:51.302Z", - "update_date": "2019-01-03T12:07:59.105Z" - } - }, - "process/7d683bc4-6e59-4c7e-bbc8-5dad46fe2684": { - "process_core": { - "process_id": "process_id_22" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "7d683bc4-6e59-4c7e-bbc8-5dad46fe2684", - "submission_date": "2019-01-03T12:07:51.550Z", - "update_date": "2019-01-03T12:07:59.380Z" - } - }, - "process/d1a9aae1-99dc-4b49-bee3-af685b7f013a": { - "process_core": { - "process_id": "process_id_10" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d1a9aae1-99dc-4b49-bee3-af685b7f013a", - "submission_date": "2019-01-03T12:07:51.438Z", - "update_date": "2019-01-03T12:08:00.039Z" - } - }, - "process/a02a2a59-cdb4-4261-b220-b0cfebaec5ac": { - "process_core": { - "process_id": "process_id_5" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a02a2a59-cdb4-4261-b220-b0cfebaec5ac", - "submission_date": "2019-01-03T12:07:51.383Z", - "update_date": "2019-01-03T12:07:58.898Z" - } - }, - "process/01e52705-77de-4715-b35f-442aff9312be": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "01e52705-77de-4715-b35f-442aff9312be", - "submission_date": "2019-01-03T12:07:51.338Z", - "update_date": "2019-01-03T12:07:59.330Z" - } - }, - "process/58a58315-2f03-4a36-9cea-dd306b609ba9": { - "process_core": { - "process_id": "process_id_13" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "58a58315-2f03-4a36-9cea-dd306b609ba9", - "submission_date": "2019-01-03T12:07:51.477Z", - "update_date": "2019-01-03T12:07:59.265Z" - } - }, - "process/56c911d5-6b99-486c-9ce7-141ee41528eb": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "56c911d5-6b99-486c-9ce7-141ee41528eb", - "submission_date": "2019-01-03T12:07:51.391Z", - "update_date": "2019-01-03T12:07:59.791Z" - } - }, - "process/23fe1739-6bbe-4a86-be96-bd75f19f8375": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "23fe1739-6bbe-4a86-be96-bd75f19f8375", - "submission_date": "2019-01-03T12:07:51.346Z", - "update_date": "2019-01-03T12:07:58.637Z" - } - }, - "process/831dc734-9813-4c34-a163-16dd5b75d9a0": { - "process_core": { - "process_id": "process_id_16" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "831dc734-9813-4c34-a163-16dd5b75d9a0", - "submission_date": "2019-01-03T12:07:51.503Z", - "update_date": "2019-01-03T12:07:59.485Z" - } - }, - "process/d8f1d436-6bc3-4638-9801-8a9241996d28": { - "process_core": { - "process_id": "process_id_7" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d8f1d436-6bc3-4638-9801-8a9241996d28", - "submission_date": "2019-01-03T12:07:51.413Z", - "update_date": "2019-01-03T12:07:59.548Z" - } - }, - "process/a9a39b30-8243-4d08-8f36-8f2e1275e8d0": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a9a39b30-8243-4d08-8f36-8f2e1275e8d0", - "submission_date": "2019-01-03T12:07:51.354Z", - "update_date": "2019-01-03T12:07:58.435Z" - } - }, - "process/024c9f05-1743-4d66-83b7-134a31cd1c27": { - "process_core": { - "process_id": "process_id_19" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "024c9f05-1743-4d66-83b7-134a31cd1c27", - "submission_date": "2019-01-03T12:07:51.527Z", - "update_date": "2019-01-03T12:07:59.150Z" - } - }, - "process/50d53f80-5e54-4cda-97f0-5acb4d686d3e": { - "process_core": { - "process_id": "process_id_8" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "50d53f80-5e54-4cda-97f0-5acb4d686d3e", - "submission_date": "2019-01-03T12:07:51.421Z", - "update_date": "2019-01-03T12:07:59.502Z" - } - }, - "process/baa3a061-534c-4b6e-8c51-a11a8307f537": { - "process_core": { - "process_id": "process_id_4" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "baa3a061-534c-4b6e-8c51-a11a8307f537", - "submission_date": "2019-01-03T12:07:51.362Z", - "update_date": "2019-01-03T12:07:58.911Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.4/links", - "schema_type": "link_bundle", - "schema_version": "1.1.4", - "links": [ - { - "process": "54438211-29fb-4e57-87f4-95412e5d8b15", - "inputs": [ - "c2396f83-22e4-4a2d-8cce-a30feb533603" - ], - "input_type": "biomaterial", - "outputs": [ - "9c49bbf2-cf62-4f94-9b9d-a3da42e2d52a", - "ac93d656-4aa5-4f6c-b273-dc1d8be1934c", - "5989ca50-45b5-4834-bfde-d290a8dfa97e" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "65ce5281-b07e-4b21-be8d-66ac5dea4d69" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "1547584e-d9e4-4519-a72a-91db0d0fec3c" - } - ] - }, - { - "process": "7d683bc4-6e59-4c7e-bbc8-5dad46fe2684", - "inputs": [ - "a690df06-cc52-4346-a926-fe5e5b3a7547", - "f0b636ce-505c-4339-a69c-2305352b6796", - "46e7ed04-5916-4c10-8a05-fe510eda819a", - "d49998ff-c873-41fd-bb44-f221f89b8f15" - ], - "input_type": "biomaterial", - "outputs": [ - "c2396f83-22e4-4a2d-8cce-a30feb533603" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "c23de226-536c-403d-a757-f4200cb1777b" - } - ] - }, - { - "process": "d1a9aae1-99dc-4b49-bee3-af685b7f013a", - "inputs": [ - "a689172e-cae2-4e2c-b1d2-5aeff0a90171" - ], - "input_type": "biomaterial", - "outputs": [ - "a690df06-cc52-4346-a926-fe5e5b3a7547" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "3ec905f4-5950-4cfa-bd0b-86cc0370fd47" - } - ] - }, - { - "process": "a02a2a59-cdb4-4261-b220-b0cfebaec5ac", - "inputs": [ - "597b4050-0778-4a81-b882-e1704ab0b6ad" - ], - "input_type": "biomaterial", - "outputs": [ - "a689172e-cae2-4e2c-b1d2-5aeff0a90171" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "97a30135-246f-4c0d-aef8-4e33183d1ff7" - } - ] - }, - { - "process": "01e52705-77de-4715-b35f-442aff9312be", - "inputs": [ - "4934d9c3-753b-47bc-b2d5-468ce255a139" - ], - "input_type": "biomaterial", - "outputs": [ - "597b4050-0778-4a81-b882-e1704ab0b6ad" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "58a58315-2f03-4a36-9cea-dd306b609ba9", - "inputs": [ - "37833da3-505d-4bb2-916e-26aa8985d183" - ], - "input_type": "biomaterial", - "outputs": [ - "f0b636ce-505c-4339-a69c-2305352b6796" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "3ec905f4-5950-4cfa-bd0b-86cc0370fd47" - } - ] - }, - { - "process": "56c911d5-6b99-486c-9ce7-141ee41528eb", - "inputs": [ - "1fc181fe-60c6-4b94-85c1-1f227be60658" - ], - "input_type": "biomaterial", - "outputs": [ - "37833da3-505d-4bb2-916e-26aa8985d183" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "97a30135-246f-4c0d-aef8-4e33183d1ff7" - } - ] - }, - { - "process": "23fe1739-6bbe-4a86-be96-bd75f19f8375", - "inputs": [ - "7c3a6d87-9f43-4de5-b47d-6fa78a897624" - ], - "input_type": "biomaterial", - "outputs": [ - "1fc181fe-60c6-4b94-85c1-1f227be60658" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "831dc734-9813-4c34-a163-16dd5b75d9a0", - "inputs": [ - "d954547d-94bc-401d-bdff-ccd727251c74" - ], - "input_type": "biomaterial", - "outputs": [ - "46e7ed04-5916-4c10-8a05-fe510eda819a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "3ec905f4-5950-4cfa-bd0b-86cc0370fd47" - } - ] - }, - { - "process": "d8f1d436-6bc3-4638-9801-8a9241996d28", - "inputs": [ - "ad702cb9-3b40-4f8f-b9a5-331eeb153d9b" - ], - "input_type": "biomaterial", - "outputs": [ - "d954547d-94bc-401d-bdff-ccd727251c74" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "97a30135-246f-4c0d-aef8-4e33183d1ff7" - } - ] - }, - { - "process": "a9a39b30-8243-4d08-8f36-8f2e1275e8d0", - "inputs": [ - "3322ea3a-30ea-4e6e-b187-18525de4ee3e" - ], - "input_type": "biomaterial", - "outputs": [ - "ad702cb9-3b40-4f8f-b9a5-331eeb153d9b" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "024c9f05-1743-4d66-83b7-134a31cd1c27", - "inputs": [ - "95deef55-86e9-42be-9f82-3102b0d89dbe" - ], - "input_type": "biomaterial", - "outputs": [ - "d49998ff-c873-41fd-bb44-f221f89b8f15" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "3ec905f4-5950-4cfa-bd0b-86cc0370fd47" - } - ] - }, - { - "process": "50d53f80-5e54-4cda-97f0-5acb4d686d3e", - "inputs": [ - "2e32e319-53d4-4e69-af0f-c43e2b15a94f" - ], - "input_type": "biomaterial", - "outputs": [ - "95deef55-86e9-42be-9f82-3102b0d89dbe" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "97a30135-246f-4c0d-aef8-4e33183d1ff7" - } - ] - }, - { - "process": "baa3a061-534c-4b6e-8c51-a11a8307f537", - "inputs": [ - "872169f4-8479-4476-9646-20b3997e1f01" - ], - "input_type": "biomaterial", - "outputs": [ - "2e32e319-53d4-4e69-af0f-c43e2b15a94f" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/prod/86e7b58e-b9f0-4020-8b34-c61d6da02d44.2019-09-20T103932.395795Z.json b/test/hca_metadata_api/cans/prod/86e7b58e-b9f0-4020-8b34-c61d6da02d44.2019-09-20T103932.395795Z.json deleted file mode 100644 index 3b91c06755..0000000000 --- a/test/hca_metadata_api/cans/prod/86e7b58e-b9f0-4020-8b34-c61d6da02d44.2019-09-20T103932.395795Z.json +++ /dev/null @@ -1,832 +0,0 @@ -{ - "manifest": { - "sequence_file/12484c33-24ec-4293-8f96-4cb1a43a6479": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "759039c3", - "indexed": false, - "name": "19D015_NeuNT_R1.fastq.gz", - "s3_etag": "ed76eee572ae35b0eff88a66d07e4109-769", - "sha1": "5b5562b854a46298f2459b471def0f6e02d51752", - "sha256": "ce7471e89d0432c46ba22a1421ec5e89282d051a1691824a912205d9a8f08092", - "size": 51558308013, - "uuid": "ea5eea99-d788-4762-8de5-32602316da79", - "version": "2019-09-20T104007.794231Z" - }, - "sequence_file/f85b458b-b189-4ee7-939a-c905b70ae431": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "9069c15e", - "indexed": false, - "name": "19D015_NeuNT_R2.fastq.gz", - "s3_etag": "a4224318fdcbe14d2445bb2accfee3e8-633", - "sha1": "78f248cc1a43c307e77476a1195ed887ab0329c7", - "sha256": "90a8b913b628cfcad5a02b8628b1dfd17a5964ba9f590107404ee42035a69b1e", - "size": 42457074211, - "uuid": "351cae9c-9695-4797-b455-526dd29117bb", - "version": "2019-09-20T104008.028755Z" - }, - "sequence_file/18feeb7d-66ca-4ea4-a019-a10e5b762465": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "80b75620", - "indexed": false, - "name": "19D015_NeuNT_I1.fastq.gz", - "s3_etag": "6a9109b858d853ad276e1049bd7f5738-59", - "sha1": "a889db5ca65a684e3c25ebfb94d950e7d5b25060", - "sha256": "b1ed22a4f76feb2459ff5f2b958a18ea443aae44d93556cfeac53417ae74f017", - "size": 3935041540, - "uuid": "b64d8e12-028a-46fd-a778-5a5a8e971289", - "version": "2019-09-20T104008.305993Z" - }, - "supplementary_file/2e64e936-85ec-49a0-8365-578b5621bcb1": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "82c6888c", - "indexed": false, - "name": "NeuN_enrichment_protocol.pdf", - "s3_etag": "07f40c8891e3ee6c8afcbefc5ae5666e", - "sha1": "cd7fc7a040f22d885e6dce51a88c2ab4d39c9208", - "sha256": "347151ff3cc9aba252ca2bbb48f0aaaea0164105f5cac88ce9fb438c2efd76c3", - "size": 74562, - "uuid": "8e71749b-d445-409a-bc53-ba359438df69", - "version": "2019-09-20T104008.555357Z" - }, - "supplementary_file/720e6453-71ff-4742-ba6a-e5a3a5d3cee0": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "18cb622e", - "indexed": false, - "name": "Single_nuclei_dissociation_protocol.pdf", - "s3_etag": "65ff1ba0ab370718fea68ba8ecaa5f62", - "sha1": "2b8981a89132fbbad5270b3079b7ca1422613e8a", - "sha256": "c004a0458be630d278542be89de54184fd61166deb61316a434d22381cc9e7b8", - "size": 72083, - "uuid": "dfa8a3b3-192c-4867-8c52-f956a6ebab06", - "version": "2019-09-20T104008.746891Z" - }, - "supplementary_file/09917cf3-76de-4b85-8944-03664cd0d954": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "ced2f561", - "indexed": false, - "name": "seq_protocol.pdf", - "s3_etag": "c74d7e9b5d3fe25d13cfc0c2ccc2c6c5", - "sha1": "29496e4720dee72f475bce872be3cba5091bf61e", - "sha256": "20554cc86f4388dcd35cf5810bf0cd3039405dcb7f8e759ea08498c7603aca37", - "size": 2008495, - "uuid": "deb6c7db-8ed1-4c87-ab39-44c3499e8499", - "version": "2019-09-20T104008.919497Z" - }, - "supplementary_file/8fb964a1-fd66-43b6-9d13-57db6bd185f2": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "5ef01a45", - "indexed": false, - "name": "standard_10x_library_preparation.pdf", - "s3_etag": "769a1335f7a9e6ec65c6284120f4b609", - "sha1": "11fae8d7a1ad844e3244163fc943e085e4bf87c6", - "sha256": "ab21d955fb53246c78b9828a8d83707720768a752ba0731a5e2145bb3a48de14", - "size": 7910067, - "uuid": "58b2c404-62c7-46cc-912f-99a5731cd8e5", - "version": "2019-09-20T104009.214107Z" - } - }, - "metadata": { - "cell_suspension/eb27c398-f017-4ef1-acc8-3f51af87fe17": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "19D015_NeuNT_nuclei", - "biomaterial_name": "19D015_NeuNT", - "biomaterial_description": "dissocitated nuclei of human retina (peripheral region), incubated with anti-NeuN antibody and FACS sorted (Nuclei with top 5% signal intensity)", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "NeuN-positive-nuclei in peripheral retina", - "ontology": "CL:0000540", - "ontology_label": "neuron" - } - ], - "estimated_cell_count": 24600, - "provenance": { - "document_id": "eb27c398-f017-4ef1-acc8-3f51af87fe17", - "submission_date": "2019-09-20T08:29:51.970Z", - "update_date": "2019-09-20T08:29:59.187Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "specimen_from_organism/0a63e007-09d0-4330-989b-ca248f8b3c3c": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "19D015_per", - "biomaterial_name": "19D015_per", - "biomaterial_description": "retinal tissues from the donor body", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "eye", - "ontology": "UBERON:0000970", - "ontology_label": "eye" - }, - "organ_parts": [ - { - "text": "retina", - "ontology": "UBERON:0000966", - "ontology_label": "retina" - } - ], - "provenance": { - "document_id": "0a63e007-09d0-4330-989b-ca248f8b3c3c", - "submission_date": "2019-09-20T08:29:51.904Z", - "update_date": "2019-09-20T08:29:55.265Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "donor_organism/fa1bd656-7f7b-4288-84c6-d511232cfe95": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "19D015", - "biomaterial_name": "Homo Sapiens", - "biomaterial_description": "postmortem human donor", - "ncbi_taxon_id": [ - 9606 - ] - }, - "human_specific": { - "ethnicity": [ - { - "text": "Caucasian", - "ontology": "HANCESTRO:0005", - "ontology_label": "European" - } - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "no", - "organism_age": "73", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "development_stage": { - "text": "human adult", - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "heart failure", - "cold_perfused": false, - "hardy_scale": 2, - "organ_donation_death_type": "Donation after brainstem death (DBD)", - "normothermic_regional_perfusion": "no" - }, - "provenance": { - "document_id": "fa1bd656-7f7b-4288-84c6-d511232cfe95", - "submission_date": "2019-09-20T08:29:51.866Z", - "update_date": "2019-09-20T08:29:55.262Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "sequence_file/12484c33-24ec-4293-8f96-4cb1a43a6479": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "19D015_NeuNT_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "read_length": 26, - "library_prep_id": "batch_1", - "provenance": { - "document_id": "12484c33-24ec-4293-8f96-4cb1a43a6479", - "submission_date": "2019-09-20T08:29:52.232Z", - "update_date": "2019-09-20T10:13:35.720Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/f85b458b-b189-4ee7-939a-c905b70ae431": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "19D015_NeuNT_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "read_length": 151, - "library_prep_id": "batch_1", - "provenance": { - "document_id": "f85b458b-b189-4ee7-939a-c905b70ae431", - "submission_date": "2019-09-20T08:29:52.239Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/18feeb7d-66ca-4ea4-a019-a10e5b762465": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "19D015_NeuNT_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "read_length": 8, - "library_prep_id": "batch_1", - "provenance": { - "document_id": "18feeb7d-66ca-4ea4-a019-a10e5b762465", - "submission_date": "2019-09-20T08:29:52.247Z", - "update_date": "2019-09-20T08:50:13.111Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "supplementary_file/2e64e936-85ec-49a0-8365-578b5621bcb1": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "NeuN_enrichment_protocol.pdf", - "format": "pdf" - }, - "file_description": "Protocol for enrichment in NeuN+ Cells", - "provenance": { - "document_id": "2e64e936-85ec-49a0-8365-578b5621bcb1", - "submission_date": "2019-09-20T08:29:52.277Z", - "update_date": "2019-09-20T08:38:58.167Z", - "submitter_id": "67a720af-4482-4619-81d7-3693b2d3cc4c", - "schema_major_version": 2, - "schema_minor_version": 2 - } - }, - "supplementary_file/720e6453-71ff-4742-ba6a-e5a3a5d3cee0": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "Single_nuclei_dissociation_protocol.pdf", - "format": "pdf" - }, - "file_description": "Protocol to dissociate nuclei", - "provenance": { - "document_id": "720e6453-71ff-4742-ba6a-e5a3a5d3cee0", - "submission_date": "2019-09-20T08:29:52.285Z", - "update_date": "2019-09-20T08:38:58.165Z", - "submitter_id": "67a720af-4482-4619-81d7-3693b2d3cc4c", - "schema_major_version": 2, - "schema_minor_version": 2 - } - }, - "supplementary_file/09917cf3-76de-4b85-8944-03664cd0d954": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "seq_protocol.pdf", - "format": "pdf" - }, - "file_description": "Protocol for sequencing", - "provenance": { - "document_id": "09917cf3-76de-4b85-8944-03664cd0d954", - "submission_date": "2019-09-20T08:29:52.292Z", - "update_date": "2019-09-20T08:38:58.165Z", - "submitter_id": "67a720af-4482-4619-81d7-3693b2d3cc4c", - "schema_major_version": 2, - "schema_minor_version": 2 - } - }, - "supplementary_file/8fb964a1-fd66-43b6-9d13-57db6bd185f2": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "standard_10x_library_preparation.pdf", - "format": "pdf" - }, - "file_description": "Protocol for library preparation", - "provenance": { - "document_id": "8fb964a1-fd66-43b6-9d13-57db6bd185f2", - "submission_date": "2019-09-20T08:29:52.299Z", - "update_date": "2019-09-20T08:38:58.167Z", - "submitter_id": "67a720af-4482-4619-81d7-3693b2d3cc4c", - "schema_major_version": 2, - "schema_minor_version": 2 - } - }, - "project/9c20a245-f2c0-43ae-82c9-2232ec6b594f": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "snRNA-seq_for_human_retina", - "project_title": "Transcriptomic classification of human retinal cell types with single-nuclei RNA-seq.", - "project_description": "The human neural retina is a heterogenous tissue that is an ordered array of approximately 70 different types of neurons, each playing a unique role in processing the visual signal. Currently, the transcriptomic-level classification of human retinal cell types is still limited. Using single-nuclei RNA-seq, a comprehensive single-cell profiling study has been carried out for healthy human retina from four individual donors. With the transcriptomic profiles for a total of over 200K nuclei being generated, we aim at revealing the transcriptome profiles for most subtypes of the retinal cells. Comparison with previous published macaque and mice dataset indicates an overall good alignment among species. In addition, the gene expression profile that is unique to human has been discovered. Furthermore, over 200 genes associated with human retinal diseases are investigated in our dataset and are found to show both cell type and regional specificity. In summary, results from our study serves as not only a cell atlas reference but also the foundation for future studies of human retinal diseases." - }, - "contributors": [ - { - "name": "Qingnan,,Liang", - "email": "qingnan.liang@bcm.edu", - "phone": "(+1)7137983610", - "institution": "Baylor College of Medicine", - "laboratory": "Human Genome Sequencing Center, Department of Molecular and Human Genetics,", - "address": "One Baylor Plaza, Houston, Texas, 77054", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Xuesen,,Cheng", - "email": "xuesen.cheng@bcm.edu", - "phone": "(+1)7137983654", - "institution": "Baylor College of Medicine", - "laboratory": "Human Genome Sequencing Center, Department of Molecular and Human Genetics,", - "address": "One Baylor Plaza, Houston, Texas, 77054", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Yumei,,Li", - "email": "yumeil@bcm.edu", - "phone": "(+1)7137987565", - "institution": "Baylor College of Medicine", - "laboratory": "Human Genome Sequencing Center, Department of Molecular and Human Genetics,", - "address": "One Baylor Plaza, Houston, Texas, 77054", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Leah,,Owen", - "email": "leah.owen@hsc.utah.edu", - "phone": "(+1)8015812352", - "institution": "University of Utah", - "laboratory": "Department of Ophthalmology and Visual Sciences", - "address": "65 Mario Capecchi Drive, Salt Lake City, Utah, 84132", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Denise,,Morgan", - "email": "denisej.jones@hsc.utah.edu", - "institution": "University of Utah", - "laboratory": "Department of Ophthalmology and Visual Sciences", - "address": "65 Mario Capecchi Drive, Salt Lake City, Utah, 84132", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Sangbae,,Kim", - "email": "sangbae.kim@bcm.edu", - "phone": "(+1)7137983348", - "institution": "Baylor College of Medicine", - "laboratory": "Human Genome Sequencing Center, Department of Molecular and Human Genetics,", - "address": "One Baylor Plaza, Houston, Texas, 77054", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Albert,,Vitale", - "email": "Albert.Vitale@hsc.utah.edu", - "phone": "(+1)8015812352", - "institution": "University of Utah", - "laboratory": "Department of Ophthalmology and Visual Sciences", - "address": "65 Mario Capecchi Drive, Salt Lake City, Utah, 84132", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Ivana,,Kim", - "email": "Ivana_Kim@meei.harvard.edu", - "phone": "(+1)6175733367", - "institution": "University of Utah", - "laboratory": "Department of Ophthalmology and Visual Sciences", - "address": "65 Mario Capecchi Drive, Salt Lake City, Utah, 84132", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Akbar,,Shakoor", - "email": "akbar.shakoor@hsc.utah.edu", - "phone": "(+1)8015856701", - "institution": "University of Utah", - "laboratory": "Department of Ophthalmology and Visual Sciences", - "address": "65 Mario Capecchi Drive, Salt Lake City, Utah, 84132", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Margaret,,DeAngelis", - "email": "margaret.deangelis@utah.edu", - "phone": "(+1)8015812352", - "institution": "University of Utah", - "laboratory": "Department of Ophthalmology and Visual Sciences", - "address": "65 Mario Capecchi Drive, Salt Lake City, Utah, 84132", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Rui,,Chen", - "email": "ruichen@bcm.edu", - "phone": "(+1)7137985194", - "institution": "Baylor College of Medicine", - "laboratory": "Human Genome Sequencing Center, Department of Molecular and Human Genetics,", - "address": "One Baylor Plaza, Houston, Texas, 77054", - "country": "USA", - "corresponding_contributor": true, - "project_role": { - "text": "principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Zinaida,A,Perova", - "email": "zina@ebi.ac.uk", - "phone": "(+44) 01223494121", - "institution": "EMBL-EBI", - "address": "Wellcome Trust Genome Center, Hinxton, CB10 1SD", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "HCA data wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - }, - "orcid_id": "0000-0001-9913-3249" - } - ], - "funders": [ - { - "grant_title": "Cell Atlas of the Neural Retina Seed Networks", - "grant_id": "CZF2019-002425", - "organization": "Chan Zuckerberg Foundation" - } - ], - "provenance": { - "document_id": "9c20a245-f2c0-43ae-82c9-2232ec6b594f", - "submission_date": "2019-09-20T08:29:51.843Z", - "update_date": "2019-09-20T08:29:55.163Z", - "schema_major_version": 14, - "schema_minor_version": 1 - } - }, - "library_preparation_protocol/6ce5a9c7-b4f7-41e5-a182-21e85627feee": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "standard_10x_library_preparation", - "protocol_name": "standard_10x_library_preparation", - "protocol_description": "This is a standard 10x genomics library preparation method", - "document": "standard_10x_library_preparation.pdf" - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "nucleic_acid_source": "single nucleus", - "library_construction_method": { - "text": "10X 3' v3 sequencing", - "ontology": "EFO:0009922", - "ontology_label": "10x 3' v3 sequencing" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "unstranded", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 16, - "barcode_length": 12 - }, - "library_preamplification_method": { - "text": "reverse transcription PCR", - "ontology": "OBI:0000552", - "ontology_label": "reverse transcription PCR" - }, - "cdna_library_amplification_method": { - "text": "PCR", - "ontology": "OBI:0000415", - "ontology_label": "PCR" - }, - "nominal_length": 150, - "provenance": { - "document_id": "6ce5a9c7-b4f7-41e5-a182-21e85627feee", - "submission_date": "2019-09-20T08:29:52.319Z", - "update_date": "2019-09-20T08:29:58.625Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "sequencing_protocol/e01aa420-488b-4189-a8c8-98ada395ee91": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "seq_protocol", - "protocol_name": "seq_protocol", - "protocol_description": "a standard illumina sequencing protocol", - "document": "seq_protocol.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina Novaseq 6000", - "ontology": "EFO:0008637", - "ontology_label": "Illumina NovaSeq 6000" - }, - "paired_end": false, - "method": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "10x": { - "fastq_method": "Cellranger mkfastq", - "fastq_method_version": "Cell Ranger 3.0.2", - "pooled_channels": 4.0 - }, - "provenance": { - "document_id": "e01aa420-488b-4189-a8c8-98ada395ee91", - "submission_date": "2019-09-20T08:29:52.324Z", - "update_date": "2019-09-20T08:29:58.905Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - }, - "dissociation_protocol/a3623f22-83e7-4207-b204-34041abb54e2": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Single-nuclei-dissociation-protocol", - "protocol_name": "Single-nuclei-dissociation-protocol", - "document": "Single_nuclei_dissociation_protocol.pdf" - }, - "method": { - "text": "sample dissociation", - "ontology": "EFO:0009091", - "ontology_label": "sample dissociation" - }, - "provenance": { - "document_id": "a3623f22-83e7-4207-b204-34041abb54e2", - "submission_date": "2019-09-20T08:29:52.309Z", - "update_date": "2019-09-20T08:29:58.448Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "enrichment_protocol/76f64d5b-fa01-4efe-ad4a-097d70311581": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "NeuN-enrichment-protocol", - "protocol_name": "NeuN-enrichment-protocol", - "protocol_description": "Enrichment of the NeuN positive nuclei in the peripheral retina. The purpose is to enrich amacrine cells and retinal ganglion cells.", - "document": "NeuN_enrichment_protocol.pdf" - }, - "method": { - "text": "antibody enrichment with FACS sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "NeuN+", - "provenance": { - "document_id": "76f64d5b-fa01-4efe-ad4a-097d70311581", - "submission_date": "2019-09-20T08:29:52.314Z", - "update_date": "2019-09-20T08:29:58.761Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - }, - "collection_protocol/9a46c161-fb6e-4a4f-8c8d-a91a3c7b99c2": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Retina_collection_protocol", - "protocol_name": "Retina_collection_protocol", - "protocol_description": "This is a standard protocol including post-mortem phenotyping (to make sure the donor does not have an retinal disease) and dissection of the eye.", - "publication_doi": "10.1167/iovs.18-24254" - }, - "method": { - "text": "dissection", - "ontology": "EFO:0003856", - "ontology_label": "dissection" - }, - "provenance": { - "document_id": "9a46c161-fb6e-4a4f-8c8d-a91a3c7b99c2", - "submission_date": "2019-09-20T08:29:52.304Z", - "update_date": "2019-09-20T08:29:58.737Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/a29d4d8a-e8bf-4e1a-aacc-eeea8f3b65d2": { - "start_time": "2019/08/28", - "process_core": { - "process_id": "lib_prep10" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a29d4d8a-e8bf-4e1a-aacc-eeea8f3b65d2", - "submission_date": "2019-09-20T08:29:52.505Z", - "update_date": "2019-09-20T08:29:59.338Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/b6e09f03-0ddc-44ff-8cc9-7caf9eb70f57": { - "process_core": { - "process_id": "process_id_19" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "b6e09f03-0ddc-44ff-8cc9-7caf9eb70f57", - "submission_date": "2019-09-20T08:29:52.437Z", - "update_date": "2019-09-20T08:29:59.191Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/b3cddf6f-65ee-4aa8-8682-60f00c55be73": { - "process_core": { - "process_id": "process_id_7" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "b3cddf6f-65ee-4aa8-8682-60f00c55be73", - "submission_date": "2019-09-20T08:29:52.365Z", - "update_date": "2019-09-20T08:29:59.366Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.5/links", - "schema_type": "link_bundle", - "schema_version": "1.1.5", - "links": [ - { - "process": "a29d4d8a-e8bf-4e1a-aacc-eeea8f3b65d2", - "inputs": [ - "eb27c398-f017-4ef1-acc8-3f51af87fe17" - ], - "input_type": "biomaterial", - "outputs": [ - "12484c33-24ec-4293-8f96-4cb1a43a6479", - "f85b458b-b189-4ee7-939a-c905b70ae431", - "18feeb7d-66ca-4ea4-a019-a10e5b762465" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "6ce5a9c7-b4f7-41e5-a182-21e85627feee" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "e01aa420-488b-4189-a8c8-98ada395ee91" - } - ] - }, - { - "process": "b6e09f03-0ddc-44ff-8cc9-7caf9eb70f57", - "inputs": [ - "0a63e007-09d0-4330-989b-ca248f8b3c3c" - ], - "input_type": "biomaterial", - "outputs": [ - "eb27c398-f017-4ef1-acc8-3f51af87fe17" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "a3623f22-83e7-4207-b204-34041abb54e2" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "76f64d5b-fa01-4efe-ad4a-097d70311581" - } - ] - }, - { - "process": "b3cddf6f-65ee-4aa8-8682-60f00c55be73", - "inputs": [ - "fa1bd656-7f7b-4288-84c6-d511232cfe95" - ], - "input_type": "biomaterial", - "outputs": [ - "0a63e007-09d0-4330-989b-ca248f8b3c3c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9a46c161-fb6e-4a4f-8c8d-a91a3c7b99c2" - } - ] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/prod/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-03-29T142048.835519Z.json b/test/hca_metadata_api/cans/prod/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-03-29T142048.835519Z.json deleted file mode 100644 index 29664b620b..0000000000 --- a/test/hca_metadata_api/cans/prod/b2216048-7eaa-45f4-8077-5a3fb4204953.2018-03-29T142048.835519Z.json +++ /dev/null @@ -1,606 +0,0 @@ -{ - "manifest": { - "sequence_file/d2f32681-9c1a-4dfd-b506-c24327afb8d1": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "f93b9d00", - "indexed": false, - "name": "22011_1#268_1.fastq.gz", - "s3_etag": "7d462983b8d41346d61513f9e03f8036-2", - "sha1": "beeb73e062974cd9f37fc09822fea4fec2ceb609", - "sha256": "ee09a5fc9ba7ce42f8ebef0904950f6cf017cff3b0e4882b7b35ce26e20158f7", - "size": 74420452, - "uuid": "d2f32681-9c1a-4dfd-b506-c24327afb8d1", - "version": "2018-03-29T142044.370144Z" - }, - "sequence_file/aa662c76-d220-49f4-8316-f4af5820d60b": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "1b953a24", - "indexed": false, - "name": "22011_1#268_2.fastq.gz", - "s3_etag": "a9ec4ab980a8ef01ad111e667d2c50ae-2", - "sha1": "284b9be625b43327f353fd3d77b6aa5b4d32e69c", - "sha256": "124645d6130107c1368568b91a37f7ea08dc7eae57bcd9eb519ac8ddb328880d", - "size": 88782381, - "uuid": "aa662c76-d220-49f4-8316-f4af5820d60b", - "version": "2018-03-29T142045.025802Z" - } - }, - "metadata": { - "project/93f6a42f-1790-4af4-b5d1-8c436cb6feae": { - "content": { - "describedBy": "https://schema.humancellatlas.org/type/project/5.1.0/project", - "project_core": { - "project_shortname": "Mouse Melanoma", - "project_description": "The cancer microenvironment is a complex ecosystem characterized by dynamic interactions between diverse cell types, including malignant, immune and stromal cells. Here, we performed single-cell RNA sequencing on CD45+ and CD45- cells isolated from tumour and lymph nodes during a mouse model of melanoma. The transcriptional profiles of these individual cells taken at different time points coupled with assembled T cell receptor sequences, allowed us to identify distinct immune subpopulations and delineate their developmental trajectory. Our study provides insights into the complex interplay among cells within the tumour microenvironment and presents a valuable resource for future translational applications.", - "project_title": "Melanoma infiltration of stromal and immune cells" - }, - "publications": [], - "contributors": [ - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Sarah,A,Teichmann", - "email": "st9@sanger.ac.uk" - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Mirjana,,Efremova", - "email": "me5@sanger.ac.uk" - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Bidesh,,Mahata", - "email": "bm11@sanger.ac.uk" - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "laboratory": "MRC Cancer Unit", - "contact_name": "Jacqueline,D,Shields", - "email": "JS970@MRCCU.cam.ac.uk" - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "laboratory": "MRC Cancer Unit", - "contact_name": "Sarah,,Davidson", - "email": "SED49@MRCCU.cam.ac.uk" - }, - { - "country": "Germany", - "contact_name": "Angela,,Riedel", - "email": "a.riedel@dkfz-heidelberg.de", - "institution": "DKFZ German Cancer Research Center" - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Roser,,Veno-Tormo", - "email": "rv4@sanger.ac.uk" - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Jhuma,,Pramanik", - "email": "jp19@sanger.ac.uk" - }, - { - "country": "UK", - "institution": "EMBL-EBI", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Gozde,,Kar", - "email": "gkar@ebi.ac.uk" - }, - { - "country": "Finland", - "contact_name": "Jani,,Huuhtanen", - "email": "jani.huuhtanen@helsinki.fi", - "institution": "University of Helsinki" - } - ], - "schema_type": "project" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.025Z", - "updateDate": "2018-03-28T14:27:32.460Z", - "document_id": "93f6a42f-1790-4af4-b5d1-8c436cb6feae" - }, - "describedBy": "https://schema.humancellatlas.org/bundle/5.1.0/project", - "schema_version": "5.1.0", - "schema_type": "project_bundle" - }, - "cell_suspension/603a818f-dbe7-466a-8241-58b9c1618846": { - "content": { - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "total_estimated_cells": 1, - "target_cell_type": [ - { - "text": "CD11b+ Macrophages/monocytes" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1139_T", - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "22011_1#268" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:00:05.544Z", - "updateDate": "2018-03-28T14:39:28.596Z", - "document_id": "603a818f-dbe7-466a-8241-58b9c1618846" - } - }, - "specimen_from_organism/4e41a067-dbb7-439f-b72f-80240ce858f6": { - "content": { - "biomaterial_core": { - "has_input_biomaterial": "1139", - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "1139_T", - "supplementary_files": [ - "FACS_sorting_markers.pdf" - ], - "biomaterial_name": "Mouse_day11_T_rep5" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism", - "organ": { - "text": "tumor" - }, - "schema_type": "biomaterial" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:31.072Z", - "updateDate": "2018-03-28T14:15:11.657Z", - "document_id": "4e41a067-dbb7-439f-b72f-80240ce858f6" - } - }, - "donor_organism/bf8492ad-1d45-46aa-9fe9-67058b8c2410": { - "content": { - "is_living": false, - "mus_musculus_specific": { - "strain": [ - { - "text": "C57BL/6" - } - ] - }, - "biological_sex": "female", - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "disease": [ - { - "text": "subcutaneous melanoma", - "ontology": "EFO:0000756" - } - ], - "organism_age": "6-12", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "1139", - "biomaterial_name": "Mouse_day11_rep5" - }, - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:58:05.518Z", - "updateDate": "2018-03-28T14:01:13.757Z", - "document_id": "bf8492ad-1d45-46aa-9fe9-67058b8c2410" - } - }, - "sequence_file/d2f32681-9c1a-4dfd-b506-c24327afb8d1": { - "content": { - "file_core": { - "file_name": "22011_1#268_1.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "read1", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-28T14:00:30.935Z", - "document_id": "d2f32681-9c1a-4dfd-b506-c24327afb8d1" - } - }, - "sequence_file/aa662c76-d220-49f4-8316-f4af5820d60b": { - "content": { - "file_core": { - "file_name": "22011_1#268_2.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "read2", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-28T14:00:30.947Z", - "document_id": "aa662c76-d220-49f4-8316-f4af5820d60b" - } - }, - "dissociation_process/b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_id": "TissueDissociationProcess", - "process_name": "Extracting cells from lymph nodes" - }, - "dissociation_method": "mechanical", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:04:14.574Z", - "updateDate": "2018-03-28T14:13:28.361Z", - "document_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902" - } - }, - "process/f03590d8-4e65-478e-bc67-a8c64d2c93e9": { - "content": { - "process_core": { - "process_id": "sampling_process_6" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:00:15.938Z", - "updateDate": "2018-03-28T14:51:13.100Z", - "document_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9" - } - }, - "enrichment_process/2f2fb366-249f-49e3-b47d-a0bb39d9bc78": { - "content": { - "enrichment_method": "FACS", - "process_core": { - "process_id": "FACS2" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/enrichment_process", - "markers": "CD45+ CD3e- B220- CD11c+", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:05:22.289Z", - "updateDate": "2018-03-28T14:29:50.280Z", - "document_id": "2f2fb366-249f-49e3-b47d-a0bb39d9bc78" - } - }, - "enrichment_process/a192f0d7-8e8e-48ae-b80d-3cb18acb3215": { - "content": { - "enrichment_method": "FACS", - "process_core": { - "process_id": "FACS3.7" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/enrichment_process", - "markers": "CD45+ CD3e- B220- CD11b+", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:04:02.056Z", - "updateDate": "2018-03-28T14:32:20.272Z", - "document_id": "a192f0d7-8e8e-48ae-b80d-3cb18acb3215" - } - }, - "library_preparation_process/687065f3-c70f-46c3-8452-a5eead33a1bf": { - "content": { - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "process_core": { - "process_id": "lib_prep_1", - "process_name": "Library preparation process" - }, - "umi_barcode": { - "barcode_offset": 0, - "barcode_length": 16, - "barcode_read": "Read 1" - }, - "library_construction_approach": "Smart-seq2", - "schema_type": "process", - "end_bias": "full length", - "primer": "poly-dT", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/library_preparation_process", - "strand": "unstranded" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:05:43.803Z", - "updateDate": "2018-03-28T14:43:01.679Z", - "document_id": "687065f3-c70f-46c3-8452-a5eead33a1bf" - } - }, - "sequencing_process/2580dcf9-3f7d-4421-b962-ab860e10d072": { - "content": { - "paired_ends": true, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008567" - }, - "process_core": { - "process_id": "seq_264", - "process_name": "Sequencing process" - }, - "smartseq2": { - "well_name": "F02", - "plate_id": "575" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/sequencing_process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:03:27.156Z", - "updateDate": "2018-03-28T14:32:54.422Z", - "document_id": "2580dcf9-3f7d-4421-b962-ab860e10d072" - } - }, - "protocol/c9a1e203-bddc-45d3-87c4-6010be8e0127": { - "content": { - "protocol_core": { - "protocol_name": "Extracting cells from lymph nodes", - "document": "TissueDissociationProtocol.pdf", - "protocol_id": "tissue_dissociation_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.033Z", - "updateDate": "2018-03-28T14:14:33.716Z", - "document_id": "c9a1e203-bddc-45d3-87c4-6010be8e0127" - } - }, - "protocol/a1c80daf-58b0-4b7a-8e29-d0130493c8e6": { - "content": { - "protocol_core": { - "protocol_name": "FACS sorting cells by surface markers", - "document": "FACSsortingProtocol.pdf", - "protocol_id": "FACS_sorting_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.040Z", - "updateDate": "2018-03-28T14:45:43.500Z", - "document_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6" - } - }, - "protocol/52d79a89-4b49-4c1b-b857-5cc5da07f643": { - "content": { - "protocol_core": { - "protocol_name": "Make/amplify cDNA for each cell", - "document": "SmartSeq2_RTPCR_protocol.pdf", - "protocol_id": "SmartSeq2_RTPCR_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "Smart-seq2 protocol", - "ontology": "EFO:0008442" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.044Z", - "updateDate": "2018-03-28T14:24:04.790Z", - "document_id": "52d79a89-4b49-4c1b-b857-5cc5da07f643" - } - }, - "protocol/ca6096cf-13c1-4930-8308-6ab05865e2c9": { - "content": { - "protocol_core": { - "protocol_name": "Sequencing SmartSeq2 cells", - "protocol_id": "SmartSeq2_sequencing_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.050Z", - "updateDate": "2018-03-28T14:30:39.321Z", - "document_id": "ca6096cf-13c1-4930-8308-6ab05865e2c9" - } - } - }, - "links": { - "links": [ - { - "source_id": "4e41a067-dbb7-439f-b72f-80240ce858f6", - "source_type": "biomaterial", - "destination_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "destination_type": "dissociation_process" - }, - { - "source_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "source_type": "dissociation_process", - "destination_id": "603a818f-dbe7-466a-8241-58b9c1618846", - "destination_type": "biomaterial" - }, - { - "source_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "source_type": "dissociation_process", - "destination_id": "c9a1e203-bddc-45d3-87c4-6010be8e0127", - "destination_type": "protocol" - }, - { - "source_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9", - "source_type": "process", - "destination_id": "4e41a067-dbb7-439f-b72f-80240ce858f6", - "destination_type": "biomaterial" - }, - { - "source_id": "bf8492ad-1d45-46aa-9fe9-67058b8c2410", - "source_type": "biomaterial", - "destination_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9", - "destination_type": "process" - }, - { - "source_id": "4e41a067-dbb7-439f-b72f-80240ce858f6", - "source_type": "biomaterial", - "destination_id": "2f2fb366-249f-49e3-b47d-a0bb39d9bc78", - "destination_type": "enrichment_process" - }, - { - "source_id": "2f2fb366-249f-49e3-b47d-a0bb39d9bc78", - "source_type": "enrichment_process", - "destination_id": "603a818f-dbe7-466a-8241-58b9c1618846", - "destination_type": "biomaterial" - }, - { - "source_id": "2f2fb366-249f-49e3-b47d-a0bb39d9bc78", - "source_type": "enrichment_process", - "destination_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6", - "destination_type": "protocol" - }, - { - "source_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9", - "source_type": "process", - "destination_id": "4e41a067-dbb7-439f-b72f-80240ce858f6", - "destination_type": "biomaterial" - }, - { - "source_id": "bf8492ad-1d45-46aa-9fe9-67058b8c2410", - "source_type": "biomaterial", - "destination_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9", - "destination_type": "process" - }, - { - "source_id": "4e41a067-dbb7-439f-b72f-80240ce858f6", - "source_type": "biomaterial", - "destination_id": "a192f0d7-8e8e-48ae-b80d-3cb18acb3215", - "destination_type": "enrichment_process" - }, - { - "source_id": "a192f0d7-8e8e-48ae-b80d-3cb18acb3215", - "source_type": "enrichment_process", - "destination_id": "603a818f-dbe7-466a-8241-58b9c1618846", - "destination_type": "biomaterial" - }, - { - "source_id": "a192f0d7-8e8e-48ae-b80d-3cb18acb3215", - "source_type": "enrichment_process", - "destination_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6", - "destination_type": "protocol" - }, - { - "source_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9", - "source_type": "process", - "destination_id": "4e41a067-dbb7-439f-b72f-80240ce858f6", - "destination_type": "biomaterial" - }, - { - "source_id": "bf8492ad-1d45-46aa-9fe9-67058b8c2410", - "source_type": "biomaterial", - "destination_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9", - "destination_type": "process" - }, - { - "source_id": "603a818f-dbe7-466a-8241-58b9c1618846", - "source_type": "biomaterial", - "destination_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "destination_type": "library_preparation_process" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "d2f32681-9c1a-4dfd-b506-c24327afb8d1", - "destination_type": "file" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "aa662c76-d220-49f4-8316-f4af5820d60b", - "destination_type": "file" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "52d79a89-4b49-4c1b-b857-5cc5da07f643", - "destination_type": "protocol" - }, - { - "source_id": "603a818f-dbe7-466a-8241-58b9c1618846", - "source_type": "biomaterial", - "destination_id": "2580dcf9-3f7d-4421-b962-ab860e10d072", - "destination_type": "sequencing_process" - }, - { - "source_id": "2580dcf9-3f7d-4421-b962-ab860e10d072", - "source_type": "sequencing_process", - "destination_id": "d2f32681-9c1a-4dfd-b506-c24327afb8d1", - "destination_type": "file" - }, - { - "source_id": "2580dcf9-3f7d-4421-b962-ab860e10d072", - "source_type": "sequencing_process", - "destination_id": "aa662c76-d220-49f4-8316-f4af5820d60b", - "destination_type": "file" - }, - { - "source_id": "2580dcf9-3f7d-4421-b962-ab860e10d072", - "source_type": "sequencing_process", - "destination_id": "ca6096cf-13c1-4930-8308-6ab05865e2c9", - "destination_type": "protocol" - } - ], - "describedBy": "https://schema.humancellatlas.org/bundle/1.0.0/links", - "schema_version": "1.0.0", - "schema_type": "link_bundle" - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/prod/cc0b5aa4-9f66-48d2-aa4f-ed019d1c9439.2019-05-15T222432.561000Z.json b/test/hca_metadata_api/cans/prod/cc0b5aa4-9f66-48d2-aa4f-ed019d1c9439.2019-05-15T222432.561000Z.json deleted file mode 100644 index bb95ea3cae..0000000000 --- a/test/hca_metadata_api/cans/prod/cc0b5aa4-9f66-48d2-aa4f-ed019d1c9439.2019-05-15T222432.561000Z.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "manifest": { - "sequence_file/61fd5348-92c5-446b-a57a-746330cebf76": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "86192092", - "indexed": false, - "name": "21784_6#51_1.fastq.gz", - "s3_etag": "8ef4064fd5c94502b0d42c0dbecc74ca", - "sha1": "0c0a36b8e8e8bf53db8e5eed5688546f0d23f863", - "sha256": "1975336c7071ac70caef3ff833089b0dc26962b4d6fc5159aece28eaa4324052", - "size": 7591723, - "uuid": "e4d9ebe5-2e62-47cf-bc35-1fb8ef7c1ef7", - "version": "2019-05-16T015324.490566Z" - }, - "supplementary_file/e738a267-87fc-4070-abc7-b3be6442c6d0": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "847325b6", - "indexed": false, - "name": "TissueDissociationProtocol.pdf", - "s3_etag": "7e892bf8f6aa489ccb08a995c7f017e1", - "sha1": "f2237ad0a776fd7057eb3d3498114c85e2f521d7", - "sha256": "6929799f227ae5f0b3e0167a6cf2bd683db097848af6ccde6329185212598779", - "size": 32748, - "uuid": "6578c322-7060-4c82-8469-9e54100e6b44", - "version": "2019-05-16T015325.007527Z" - }, - "supplementary_file/01a1d04b-05d0-4904-b627-68b0dc02bc17": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "b9364bfa", - "indexed": false, - "name": "SmartSeq2_RTPCR_protocol.pdf", - "s3_etag": "846fd9e6b98041df46a1ddb94e85b6b9", - "sha1": "89d9eb3f1b94f78a33d46c0288c2e81d4002049b", - "sha256": "2f6866c4ede92123f90dd15fb180fac56e33309b8fd3f4f52f263ed2f8af2f16", - "size": 29230, - "uuid": "cd8e02d1-d0f9-4094-9a31-329931df60dc", - "version": "2019-05-16T015325.251968Z" - } - }, - "metadata": { - "cell_suspension/01ba6be9-ed4b-4c6b-ae05-2e06aadc2019": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.1.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "21784_6#51", - "ncbi_taxon_id": [ - 10090 - ] - }, - "provenance": { - "document_id": "01ba6be9-ed4b-4c6b-ae05-2e06aadc2019", - "submission_date": "2019-05-14T11:01:32.467Z", - "update_date": "2019-05-14T12:00:06.941Z" - } - }, - "specimen_from_organism/74eb3cb5-918a-49fc-9e15-3ac49fd54caf": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.2.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "1126_LN", - "ncbi_taxon_id": [ - 10090 - ] - }, - "organ": { - "text": "lymph node" - }, - "provenance": { - "document_id": "74eb3cb5-918a-49fc-9e15-3ac49fd54caf", - "submission_date": "2019-05-14T11:01:26.115Z", - "update_date": "2019-05-14T11:46:47.512Z" - } - }, - "donor_organism/63818269-c4d9-429b-85a3-db39c0dd7fa0": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.3.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "1126", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus" - } - ], - "is_living": "no", - "sex": "female", - "development_stage": { - "text": "adult" - }, - "provenance": { - "document_id": "63818269-c4d9-429b-85a3-db39c0dd7fa0", - "submission_date": "2019-05-14T11:01:25.684Z", - "update_date": "2019-05-14T11:29:50.173Z" - } - }, - "sequence_file/61fd5348-92c5-446b-a57a-746330cebf76": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.0.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "21784_6#51_1.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "provenance": { - "document_id": "61fd5348-92c5-446b-a57a-746330cebf76", - "submission_date": "2019-05-14T10:52:59.245Z", - "update_date": "2019-05-14T11:21:17.762Z" - } - }, - "supplementary_file/e738a267-87fc-4070-abc7-b3be6442c6d0": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.0.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "TissueDissociationProtocol.pdf", - "format": "pdf" - }, - "provenance": { - "document_id": "e738a267-87fc-4070-abc7-b3be6442c6d0", - "submission_date": "2019-05-14T10:52:33.892Z", - "update_date": "2019-05-14T11:01:15.816Z" - } - }, - "supplementary_file/01a1d04b-05d0-4904-b627-68b0dc02bc17": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.0.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "SmartSeq2_RTPCR_protocol.pdf", - "format": "pdf" - }, - "provenance": { - "document_id": "01a1d04b-05d0-4904-b627-68b0dc02bc17", - "submission_date": "2019-05-14T10:52:33.898Z", - "update_date": "2019-05-14T11:01:09.564Z" - } - }, - "project/8c3c290d-dfff-4553-8868-54ce45f4ba7f": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.0.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Mouse Melanoma", - "project_title": "Melanoma infiltration of stromal and immune cells", - "project_description": "The cancer microenvironment is a complex ecosystem characterized by dynamic interactions between diverse cell types, including malignant, immune and stromal cells. Here, we performed single-cell RNA sequencing on CD45+ and CD45- cells isolated from tumour and lymph nodes during a mouse model of melanoma. The transcriptional profiles of these individual cells taken at different time points coupled with assembled T cell receptor sequences, allowed us to identify distinct immune subpopulations and delineate their developmental trajectory. Our study provides insights into the complex interplay among cells within the tumour microenvironment and presents a valuable resource for future translational applications." - }, - "funders": [], - "provenance": { - "document_id": "8c3c290d-dfff-4553-8868-54ce45f4ba7f", - "submission_date": "2019-05-14T10:52:33.885Z", - "update_date": "2019-05-14T11:20:51.382Z" - } - }, - "process/91f475ec-be51-4f1e-a904-74b10b7259f1": { - "process_core": { - "process_id": "proc_21784_6#51" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.0.0/process", - "provenance": { - "document_id": "91f475ec-be51-4f1e-a904-74b10b7259f1", - "submission_date": "2019-05-14T11:06:54.971Z", - "update_date": "2019-05-14T12:10:53.274Z" - } - }, - "process/e521d67d-c134-4dbd-9555-29e23f0463c5": { - "process_core": { - "process_id": "process_id_366" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.0.0/process", - "provenance": { - "document_id": "e521d67d-c134-4dbd-9555-29e23f0463c5", - "submission_date": "2019-05-14T11:12:40.680Z", - "update_date": "2019-05-14T12:27:20.135Z" - } - }, - "process/453a352c-94fb-4d3b-b609-df1e7abf8c09": { - "process_core": { - "process_id": "process_id_24" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.0.0/process", - "provenance": { - "document_id": "453a352c-94fb-4d3b-b609-df1e7abf8c09", - "submission_date": "2019-05-14T11:12:15.946Z", - "update_date": "2019-05-14T12:26:52.545Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/2.0.0/links", - "schema_type": "link_bundle", - "schema_version": "2.0.0", - "links": [ - { - "link_type": "process_link", - "process_id": "91f475ec-be51-4f1e-a904-74b10b7259f1", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "01ba6be9-ed4b-4c6b-ae05-2e06aadc2019" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "61fd5348-92c5-446b-a57a-746330cebf76" - } - ], - "protocols": [] - }, - { - "link_type": "process_link", - "process_id": "e521d67d-c134-4dbd-9555-29e23f0463c5", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "74eb3cb5-918a-49fc-9e15-3ac49fd54caf" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "01ba6be9-ed4b-4c6b-ae05-2e06aadc2019" - } - ], - "protocols": [] - }, - { - "link_type": "process_link", - "process_id": "453a352c-94fb-4d3b-b609-df1e7abf8c09", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "63818269-c4d9-429b-85a3-db39c0dd7fa0" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "74eb3cb5-918a-49fc-9e15-3ac49fd54caf" - } - ], - "protocols": [] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "8c3c290d-dfff-4553-8868-54ce45f4ba7f" - }, - "files": [ - { - "file_id": "e738a267-87fc-4070-abc7-b3be6442c6d0", - "file_type": "supplementary_file" - }, - { - "file_id": "01a1d04b-05d0-4904-b627-68b0dc02bc17", - "file_type": "supplementary_file" - } - ] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/prod/ffee3a9b-14de-4dda-980f-c08092b2dabe.2019-04-17T175706.867000Z.json b/test/hca_metadata_api/cans/prod/ffee3a9b-14de-4dda-980f-c08092b2dabe.2019-04-17T175706.867000Z.json deleted file mode 100644 index 1fbfd0b774..0000000000 --- a/test/hca_metadata_api/cans/prod/ffee3a9b-14de-4dda-980f-c08092b2dabe.2019-04-17T175706.867000Z.json +++ /dev/null @@ -1,729 +0,0 @@ -{ - "manifest": { - "sequence_file/a31d51c9-7354-4c8c-91e6-a9d2a2e10616": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "9e612174", - "indexed": false, - "name": "SRR5174359_2.fastq.gz", - "s3_etag": "d36aaa593942b13a919531a1ee1a6821", - "sha1": "7309f2df68753bfbce40494e849409f2ed478025", - "sha256": "ee3460f575d22a5eb63adde61d676aeadacb3c1ea093c5d8c2642ff0dadc1240", - "size": 55845877, - "uuid": "a8cd43ba-07c4-41d4-864c-51bdd8414e2a", - "version": "2019-04-17T185612.704173Z" - }, - "sequence_file/a2db643f-decd-426d-94db-13c3279ea80a": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "8178debb", - "indexed": false, - "name": "SRR5174359_1.fastq.gz", - "s3_etag": "de907bad7481f6ca8f15482361139457", - "sha1": "0ab50c453242cbe095a4e12255650e87ed942652", - "sha256": "4155d5635ada90888551db93ab76e4af10051bde815870f0ce6206a4c01e3226", - "size": 55064135, - "uuid": "13f3e771-f16b-4589-b317-ed88c817bb59", - "version": "2019-04-17T185613.009698Z" - } - }, - "metadata": { - "cell_suspension/e4c205cd-746f-4665-8c29-149c6e109e9d": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/11.0.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "D54Dn15E01", - "biomaterial_name": "hESC-derived inhibitory interneurons", - "biomaterial_description": "hESC-derived inhibitory interneurons at day 54", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "DCX-Citrine" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_type": [ - { - "text": "inhibitory interneurons", - "ontology": "CL:0000498", - "ontology_label": "inhibitory interneuron" - } - ], - "timecourse": { - "value": "54", - "unit": { - "text": "day", - "ontology_label": "day", - "ontology": "UO:0000627" - } - }, - "provenance": { - "document_id": "e4c205cd-746f-4665-8c29-149c6e109e9d", - "submission_date": "2019-04-17T16:51:39.733Z", - "update_date": "2019-04-17T16:58:31.889Z" - } - }, - "cell_line/961092cd-dcff-4b59-a0d2-ceeef0aece74": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/11.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "cell_line_at_day_54", - "biomaterial_name": "cell_line_at_day_54", - "biomaterial_description": "hESC-derived inhibitory interneurons at day 54", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "DCX-Citrine" - }, - "cell_line_type": "stem cell-derived", - "cell_type": { - "text": "interneuron", - "ontology": "CL:0000099", - "ontology_label": "interneuron" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "publication": { - "authors": [ - "Close JL", - "Yao Z", - "Levi BP", - "Miller JA", - "Bakken TE", - "Menon V", - "Ting JT", - "Wall A", - "Krostag AR", - "Thomsen ER", - "Nelson AM", - "Mich JK", - "Hodge RD", - "Shehata SI", - "Glass IA", - "Bort S", - "Shapovalova NV", - "Ngo NK", - "Grimley JS", - "Phillips JW", - "Thompson CL", - "Ramanathan S", - "Lein E" - ], - "publication_title": "Single-Cell Profiling of an In\u00a0Vitro Model of Human Interneuron Development Reveals Temporal Dynamics of Cell Type Production and Maturation.", - "doi": "10.1016/j.neuron.2017.02.014", - "pmid": 28279351, - "publication_url": "https://europepmc.org/abstract/MED/28279351" - }, - "model_organ": { - "text": "brain", - "ontology": "UBERON_0000955", - "ontology_label": "brain" - }, - "provenance": { - "document_id": "961092cd-dcff-4b59-a0d2-ceeef0aece74", - "submission_date": "2019-04-17T16:51:35.053Z", - "update_date": "2019-04-17T16:57:09.605Z" - } - }, - "specimen_from_organism/a72a2ac2-c91b-406a-968c-28c8e15a2eaf": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/9.0.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "embryo_WAe001-A", - "biomaterial_name": "human embryo", - "biomaterial_description": "human embryo", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "DCX-Citrine" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "embryo", - "ontology": "UBERON:0000922", - "ontology_label": "embryo" - }, - "organ_parts": [ - { - "text": "blastocyst", - "ontology": "UBERON:0000358", - "ontology_label": "blastocyst" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "a72a2ac2-c91b-406a-968c-28c8e15a2eaf", - "submission_date": "2019-04-17T16:51:35.037Z", - "update_date": "2019-04-17T16:55:13.039Z" - } - }, - "donor_organism/6c6973d5-9b4a-426d-9d88-825b464500f8": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/14.0.7/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "donor_WAe001-A", - "biomaterial_name": "human embryo", - "biomaterial_description": "human embryo", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "development_stage": { - "text": "human embryonic stage", - "ontology": "HsapDv:0000002", - "ontology_label": "human embryonic stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "is_living": "yes", - "sex": "male", - "provenance": { - "document_id": "6c6973d5-9b4a-426d-9d88-825b464500f8", - "submission_date": "2019-04-17T16:51:35.032Z", - "update_date": "2019-04-17T16:55:12.518Z" - } - }, - "sequence_file/a31d51c9-7354-4c8c-91e6-a9d2a2e10616": { - "describedBy": "https://schema.humancellatlas.org/type/file/8.0.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR5174359_2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "provenance": { - "document_id": "a31d51c9-7354-4c8c-91e6-a9d2a2e10616", - "submission_date": "2019-04-17T16:53:04.375Z", - "update_date": "2019-04-17T17:27:47.623Z" - } - }, - "sequence_file/a2db643f-decd-426d-94db-13c3279ea80a": { - "describedBy": "https://schema.humancellatlas.org/type/file/8.0.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR5174359_1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "provenance": { - "document_id": "a2db643f-decd-426d-94db-13c3279ea80a", - "submission_date": "2019-04-17T16:53:04.385Z", - "update_date": "2019-04-17T17:27:46.767Z" - } - }, - "project/b6dc9b93-929a-45d0-beb2-5cf8e64872fe": { - "describedBy": "https://schema.humancellatlas.org/type/project/11.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Single cell RNAseq characterization of cell types produced over time in an in vitro model of human inhibitory interneuron differentiation.", - "project_title": "Single-cell RNA-seq analysis throughout a 125-day differentiation protocol that converted H1 human embryonic stem cells to a variety of ventrally-derived cell types.", - "project_description": "Diverse cell types are produced from dorsal and ventral regions of the developing neural tube. In this study we describe a system for generating human inhibitory interneurons by ventralizing human embryonic stem cells in vitro and characterizing the gene expression of the cell types produced over time. We engineered a DCX-Citrine/Y hESC line to sort and characterize progenitor and neuron transcriptomics separately at both the subpopulation and single cell level. The cells generated in vitro were compared to similar populations present in human fetal brain samples by mapping gene expression data from human fetal cells onto the principal component analysis (PCA) space of in vitro-derived populations. Weighted gene co-expression network analysis (WGCNA) was used to determine the discreet cell types present at D24, D54, D100 and D125 of culture, and describe the gene expression changes that occur in progenitor and neuron populations over time. Immature lateral ganglionic eminence and medial ganglionic eminence cells are present at early timepoints, along with MGE-like and dorsal pallium-like neuronal progenitors. At later timepoints we observe the emergence of SST-expressing interneurons, as well as oligodendrocyte and astrocyte progenitors. We also identified genes that were upregulated in somatostatin-expressing interneurons as they mature. The transcriptomes of 1732 ventralized single cells were profiled by SmartSeq2 at different timepoints throughout a 125-day differentiation protocol that converted H1 human embryonic stem cells to a variety of ventrally-derived cell types." - }, - "insdc_project_accessions": [ - "SRP096727" - ], - "geo_series_accessions": [ - "GSE93593" - ], - "insdc_study_accessions": [ - "PRJNA361254" - ], - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-93593/Results" - ], - "array_express_accessions": [ - "E-GEOD-93593" - ], - "contributors": [ - { - "contact_name": "Jennie,,Close", - "email": "jenniec@alleninstitute.org", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Zizhen,,Yao", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Boaz,,Levi", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Jeremy,,Miller", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Trygve,,Bakken", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Vilas,,Menon", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Jonathan,,Ting", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Abigail,,Wall", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Anne-Rachel,,Krogstag", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Elliot,,Thomsen", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Angel,,Nelson", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "John,,Mich", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Rebecca,,Hodge", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Soraya,,Shehata", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Ian,,Glass", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Susan,,Bort", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Nadiya,,Shapovalova", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Olivia,,Fong", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Kiet,,Ngo", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Joshua,,Grimley", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "John,,Phillips", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Carol,,Thompson", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Sharad,,Ramanathan", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Ed,,Lein", - "institution": "The Allen Institute for Brain Science", - "address": "615 Westlake Ave N, Seattle, WA", - "country": "USA" - }, - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Molecular Atlas", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "external curator", - "orcid_id": "0000-0002-8748-599X", - "corresponding_contributor": false - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "phone": "(+44) 122-349-4444", - "institution": "EMBL-EBI European Bioinformatics Institute", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2771-9894", - "corresponding_contributor": false - } - ], - "funders": [ - { - "grant_title": "Directors Pioneer Award", - "grant_id": "5DP1MH099906-03", - "organization": "National Institute of Health" - }, - { - "grant_title": "National Science Foundation grant", - "grant_id": "PHY-0952766", - "organization": "National Science Foundation" - } - ], - "publications": [ - { - "authors": [ - "Close JL", - "Yao Z", - "Levi BP", - "Miller JA", - "Bakken TE", - "Menon V", - "Ting JT", - "Wall A", - "Krostag AR", - "Thomsen ER", - "Nelson AM", - "Mich JK", - "Hodge RD", - "Shehata SI", - "Glass IA", - "Bort S", - "Shapovalova NV", - "Ngo NK", - "Grimley JS", - "Phillips JW", - "Thompson CL", - "Ramanathan S", - "Lein E" - ], - "publication_title": "Single-Cell Profiling of an In\u00a0Vitro Model of Human Interneuron Development Reveals Temporal Dynamics of Cell Type Production and Maturation.", - "doi": "10.1016/j.neuron.2017.02.014", - "pmid": 28279351, - "publication_url": "https://europepmc.org/abstract/MED/28279351" - } - ], - "provenance": { - "document_id": "b6dc9b93-929a-45d0-beb2-5cf8e64872fe", - "submission_date": "2019-04-17T16:51:35.026Z", - "update_date": "2019-04-17T16:55:12.490Z" - } - }, - "library_preparation_protocol/60085aee-e5a6-40ac-bda1-855c052550b5": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.0.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "P-GSE93593-3", - "protocol_name": "single cell library construction protocol", - "protocol_description": "Cells were prepared for single-cell transcriptomics using SmartSeq2 (Picelli et al., 2014). After reverse transcription and template switching, we amplified cDNA with KAPA HotStart HIFI 2\u00d7 ReadyMix (Kapa Biosystems) for 22 cycles for RNA from single primary cortical cells. We purified PCR products using Ampure XP beads (Beckman Coulter). We quantified cDNA using a High Sensitivity DNA Chip (Agilent) on a Bioanalyzer 2100 or with the Quant-iT PicoGreen dsDNA Assay Kit (Thermo Fisher) on an Enspire plate reader (PerkinElmer)." - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "library_construction_method": { - "text": "Smart-seq2", - "ontology": "EFO:0008931", - "ontology_label": "Smart-seq2" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "provenance": { - "document_id": "60085aee-e5a6-40ac-bda1-855c052550b5", - "submission_date": "2019-04-17T16:52:10.952Z", - "update_date": "2019-04-17T16:52:16.679Z" - } - }, - "sequencing_protocol/9ccabcf3-7203-4f07-837f-6dde903d4cec": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.0.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "P-GSE93593-4", - "protocol_name": "single cell sequencing protocol", - "protocol_description": "We used 1 ng of cDNA to generate RNA-Seq libraries using the Nextera XT library prep system (Illumina). We carried out sequencing of human cortical cells the on Illumina HiSeq using 50 base paired-end reads" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565", - "ontology_label": "Illumina HiSeq 2500" - }, - "paired_end": true, - "method": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441", - "ontology_label": "full length single cell RNA sequencing" - }, - "provenance": { - "document_id": "9ccabcf3-7203-4f07-837f-6dde903d4cec", - "submission_date": "2019-04-17T16:52:11.186Z", - "update_date": "2019-04-17T16:52:16.627Z" - } - }, - "differentiation_protocol/348b04e9-d131-4d45-b198-0c75300ee4a3": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/1.3.3/differentiation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "P-GSE93593-1", - "protocol_name": "growth protocol", - "protocol_description": "We constructed an hESC line with Citrine (Cit) fused to the endogenous copy of the DCX gene in the H1 parent line (WAe001-A RRID:CVCL_9771) to allow us to profile neurons (Cit+) and progenitors (Cit\u2212) (Yao et al., 2017). hESCs were seeded for a 10-day cortical induction phase in NIMX media with SMAD inhibitors; reseeded for the ventralization phase at D10 in culture media containing Shh and purmorphamine, and finally at D24 for neural differentiation with neurogenic/neurotrophic factors BDNF, GDNF, NT3, and cAMP. The protocol was ended at D125." - }, - "differentiation_method": "cell suspension", - "provenance": { - "document_id": "348b04e9-d131-4d45-b198-0c75300ee4a3", - "submission_date": "2019-04-17T16:52:10.815Z", - "update_date": "2019-04-17T16:52:16.700Z" - } - }, - "dissociation_protocol/31b89ceb-0625-4f88-9623-85a18bbb84ee": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.0.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "P-GSE93593-2", - "protocol_name": "single cell isolation protocol", - "protocol_description": "To generate single cell suspensions, hESC-derived cultures were dissociated from plates using Accutase (ThermoFisher) at 37C. Light trituration using a P1000 pipette was done every 5 min until nearly all clumps had been dissociated (up to 1 h). Cell suspension was washed and filtered through a 40 um cell strainer. Cells were washed in PBS with 1% FBS and stained with 0.5-1 ug/mL DAPI. Single-cell suspensions were loaded onto a FACSAria II SORP (Becton Dickinson) and sorted directly into PCR strip tubes or plates held in chilled aluminium blocks. Doublets and dead cells were excluded based on forward scatter, side scatter and DAPI fluorescence. Sorting was done using the 130 um nozzle with the sort mode set to single cell. Accuracy of single-cell sorts was confirmed by sorting DAPI-stained fixed cells onto a dry well of a 96-well plate and analyzing by fluorescence microscopy." - }, - "method": { - "text": "enzymatic dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "provenance": { - "document_id": "31b89ceb-0625-4f88-9623-85a18bbb84ee", - "submission_date": "2019-04-17T16:52:10.865Z", - "update_date": "2019-04-17T16:52:16.668Z" - } - }, - "enrichment_protocol/958d38c4-fd0a-4352-9b1d-d95e28e2085e": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/2.2.9/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "FACS_enrichment_protocol", - "protocol_name": "FACS enrichment for single, live cells.", - "protocol_description": "Single-cell suspensions were loaded onto a FACSAria II SORP (Becton Dickinson) and sorted directly into PCR strip tubes or plates held in chilled aluminum blocks. Doublets and dead cells were excluded based on forward scatter, side scatter and DAPI fluorescence. Sorting was done using the 130 \u03bcm nozzle with the sort mode set to single cell. Accuracy of single-cell sorts was confirmed by sorting DAPI-stained fixed cells onto a dry well of a 96-well plate and analyzing by fluorescence microscopy." - }, - "enrichment_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "DAPI", - "provenance": { - "document_id": "958d38c4-fd0a-4352-9b1d-d95e28e2085e", - "submission_date": "2019-04-17T16:52:10.900Z", - "update_date": "2019-04-17T16:52:16.605Z" - } - }, - "process/3d88118e-44df-4c1a-a364-bf92ff2ca0e6": { - "process_core": { - "process_id": "D54Dn15E01" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/7.0.0/process", - "provenance": { - "document_id": "3d88118e-44df-4c1a-a364-bf92ff2ca0e6", - "submission_date": "2019-04-17T16:54:54.638Z", - "update_date": "2019-04-17T17:02:01.452Z" - } - }, - "process/2fbc1012-55ae-4fde-9069-fbf5376ca535": { - "process_core": { - "process_id": "process_id_601" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/7.0.0/process", - "provenance": { - "document_id": "2fbc1012-55ae-4fde-9069-fbf5376ca535", - "submission_date": "2019-04-17T16:53:46.016Z", - "update_date": "2019-04-17T17:00:21.013Z" - } - }, - "process/466050f5-213c-4554-939e-4bb8298130dd": { - "process_core": { - "process_id": "process_id_4" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/7.0.0/process", - "provenance": { - "document_id": "466050f5-213c-4554-939e-4bb8298130dd", - "submission_date": "2019-04-17T16:53:30.594Z", - "update_date": "2019-04-17T16:59:59.704Z" - } - }, - "process/4276c1dd-50aa-4ffa-a618-dee757bff479": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/7.0.0/process", - "provenance": { - "document_id": "4276c1dd-50aa-4ffa-a618-dee757bff479", - "submission_date": "2019-04-17T16:53:30.570Z", - "update_date": "2019-04-17T16:59:59.680Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.5/links", - "schema_type": "link_bundle", - "schema_version": "1.1.5", - "links": [ - { - "process": "3d88118e-44df-4c1a-a364-bf92ff2ca0e6", - "inputs": [ - "e4c205cd-746f-4665-8c29-149c6e109e9d" - ], - "input_type": "biomaterial", - "outputs": [ - "a31d51c9-7354-4c8c-91e6-a9d2a2e10616", - "a2db643f-decd-426d-94db-13c3279ea80a" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "60085aee-e5a6-40ac-bda1-855c052550b5" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "9ccabcf3-7203-4f07-837f-6dde903d4cec" - } - ] - }, - { - "process": "2fbc1012-55ae-4fde-9069-fbf5376ca535", - "inputs": [ - "961092cd-dcff-4b59-a0d2-ceeef0aece74" - ], - "input_type": "biomaterial", - "outputs": [ - "e4c205cd-746f-4665-8c29-149c6e109e9d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "348b04e9-d131-4d45-b198-0c75300ee4a3" - }, - { - "protocol_type": "dissociation_protocol", - "protocol_id": "31b89ceb-0625-4f88-9623-85a18bbb84ee" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "958d38c4-fd0a-4352-9b1d-d95e28e2085e" - } - ] - }, - { - "process": "466050f5-213c-4554-939e-4bb8298130dd", - "inputs": [ - "a72a2ac2-c91b-406a-968c-28c8e15a2eaf" - ], - "input_type": "biomaterial", - "outputs": [ - "961092cd-dcff-4b59-a0d2-ceeef0aece74" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "4276c1dd-50aa-4ffa-a618-dee757bff479", - "inputs": [ - "6c6973d5-9b4a-426d-9d88-825b464500f8" - ], - "input_type": "biomaterial", - "outputs": [ - "a72a2ac2-c91b-406a-968c-28c8e15a2eaf" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/prod/ffee7f29-5c38-461a-8771-a68e20ec4a2e.2019-02-02T065454.662896Z.json b/test/hca_metadata_api/cans/prod/ffee7f29-5c38-461a-8771-a68e20ec4a2e.2019-02-02T065454.662896Z.json deleted file mode 100644 index 8b3aa37ba1..0000000000 --- a/test/hca_metadata_api/cans/prod/ffee7f29-5c38-461a-8771-a68e20ec4a2e.2019-02-02T065454.662896Z.json +++ /dev/null @@ -1,2080 +0,0 @@ -{ - "manifest": { - "analysis_file/b91aca7b-e71b-4014-ab09-5d87e52bc305": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "82ad16f4", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.bait_bias_summary_metrics.txt", - "s3_etag": "fc1f00e6397632b1ffadc1d64098ad60", - "sha1": "38bf9ba607420a68f610fc98d6feb934098538e9", - "sha256": "c70b134256247d3390920199f55b6482e6fd093a17232b2a50e94165eba01441", - "size": 2714, - "uuid": "17da1d2f-8da0-4b77-ae99-257399a88f75", - "version": "2019-02-02T065434.636713Z" - }, - "analysis_file/34e92010-0e2d-49af-b4b7-bed7a2c9e490": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "cc0c1472", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.insert_size_metrics.txt", - "s3_etag": "c83b2f6f3a9f8dba2f4e65b8fc6050e7", - "sha1": "df8795b1fef98ff636bd99a00417f41d626e157c", - "sha256": "69aad2469e18731b0e5b20c0af6fde89c3234aa3e9c2154a9578cffbaa7a0b1d", - "size": 11322, - "uuid": "435d0d63-4d37-47b6-85f4-09d66d5ac287", - "version": "2019-02-02T065434.962270Z" - }, - "analysis_file/3db4d80f-cbd5-45da-9048-6fe8e2e4d0d2": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "d7ba769f", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.quality_by_cycle_metrics.txt", - "s3_etag": "c349ab1622333e96a23e01ef20413f01", - "sha1": "87c99d534d93d5e00e303d7ffe682f4eb0960db1", - "sha256": "4b3fcb075200d267daacc8fc669dc4cf3afd50b9fcbe2c5d2e45a0c2fe320604", - "size": 3207, - "uuid": "c113f2cd-2f99-4db0-bdeb-f9d91ffb0bc6", - "version": "2019-02-02T065435.361197Z" - }, - "analysis_file/ed37a61e-4449-4bce-a774-7cbd732781c8": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "d5ece005", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.quality_distribution_metrics.txt", - "s3_etag": "f205b9d30fb741ad9d61a2829cd04944", - "sha1": "deba445fa19e291bc2892caabdde94bfb4fed562", - "sha256": "80924dbbb9cb751c2de39bfcc1753d71ed525f147c47f16b45b1268f6bf9d84f", - "size": 1282, - "uuid": "4a020965-bc91-4c57-b277-86a161712dab", - "version": "2019-02-02T065435.661240Z" - }, - "analysis_file/b70e4907-383c-4466-a244-3e7ce9890dae": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "3abf5428", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.rna_metrics.txt", - "s3_etag": "d2d0c27a7db0897a18310242fa230fa3", - "sha1": "b1e9c0a4048903b4396a7a26c3282e0a6d823b54", - "sha256": "f0486dea7e64c2211a3ec7866bec3597829275ab77f6448be852a268c2869b3a", - "size": 3238, - "uuid": "614368df-6a91-41cd-9301-db259e303e38", - "version": "2019-02-02T065435.993593Z" - }, - "analysis_file/7ee496ab-286c-4962-919a-70244090e315": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "7dc7d4d1", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_QCs.csv", - "s3_etag": "774fcabfad9067f60be364bca855f348", - "sha1": "30185e7092bd70d0415d23418ff9b29235483105", - "sha256": "951c31a3edd597d5d467cf695d74dc462c71eaa4a526987ecca96b2d0260cc3f", - "size": 8080, - "uuid": "78e49bf5-c92b-4663-bc12-6e838ad63040", - "version": "2019-02-02T065436.433736Z" - }, - "analysis_file/c15427d1-e5b7-4bee-91fe-d98b04dc6a01": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "65ded069", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_bait_bias_detail_metrics.csv", - "s3_etag": "4ba621a399463d20987ee63db7951f08", - "sha1": "43eaa11ab0933eafc501fbe5ef953e0b5050909c", - "sha256": "90631bb7a429d94593795d11235fb21b6bb51e1f701ceaee98ff498dfa322193", - "size": 32302, - "uuid": "7a08e477-1b95-4667-a443-4257ff879e3a", - "version": "2019-02-02T065436.875303Z" - }, - "analysis_file/b11e96c4-2472-4317-b45b-5bc1c9b55704": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "202ef83a", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_base_distribution_by_cycle_metrics.csv", - "s3_etag": "81e3739416359684aa5395d556d66396", - "sha1": "c19c4c171e729d95641c33e746a102ad3200831f", - "sha256": "d6e968105c89f2aa69e8453111b1f5a2f99477203c1067fd79a43d583afb9708", - "size": 13102, - "uuid": "b263ebdf-6585-473a-a3eb-a19588b43e35", - "version": "2019-02-02T065437.247604Z" - }, - "analysis_file/828d7e40-4f6b-42e1-8cd2-6ddccb5b0e6c": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "0e0c45c6", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_error_summary_metrics.csv", - "s3_etag": "0c35947b7e49e3d13481a3dff35d4d69", - "sha1": "04797ec54ebdd12e545dae01e111b30d3e02760b", - "sha256": "b504b34d564eccfbf7cdbd401c8a32b92688c0067338b37e79bc53d978cea080", - "size": 486, - "uuid": "8fdc9b77-6b95-4149-91b6-1ed529eb75af", - "version": "2019-02-02T065437.646451Z" - }, - "analysis_file/6804b943-fda7-4e8f-bfba-23e368843e63": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "cd082d61", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_gc_bias.csv", - "s3_etag": "9b3a9b4731020def0434f01ab8fe2ad0", - "sha1": "35b199ffc788c97dfbd26fdda3a2b1fa4ba06268", - "sha256": "44660c52ac7c76df7dac98728936a7c95f69e0444263b8a85b12c7de1c17df76", - "size": 9075, - "uuid": "a08fbac2-47d0-426d-9b62-94f60792c554", - "version": "2019-02-02T065438.217456Z" - }, - "analysis_file/aeb5aebe-9e45-4c9d-931a-883f8fa71225": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "4bb6bdc9", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_pre_adapter_detail_metrics.csv", - "s3_etag": "d0a5bec0bb91ccc17f5e344afca145e4", - "sha1": "a5a76fb326fbeae150f7f06ec98f99fbf232c904", - "sha256": "cf4deb16fb90ad4f62814f52929cabbcf030559ee1d7df0c30b34a77f2766290", - "size": 28752, - "uuid": "e274aff4-2348-4d25-a69f-aa5e30f50529", - "version": "2019-02-02T065438.572940Z" - }, - "analysis_file/7c5a87c1-e3b6-42aa-8d68-0f534ded7d2d": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "99822758", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_pre_adapter_summary_metrics.csv", - "s3_etag": "d67ee0d3a4bc2c81373dbc668901f830", - "sha1": "364b21bbe2267dd859dc061d118ec324252b1fd5", - "sha256": "d596efc8207919d017bc8c935e1fee46b588938b5678da960595f3d312523264", - "size": 1894, - "uuid": "b426e03c-0f98-4b9e-838b-b6fe67e35a0a", - "version": "2019-02-02T065439.061311Z" - }, - "analysis_file/87bd704c-3d36-4620-bdf2-5ad28c5a3d56": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "d9e787ec", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.bam", - "s3_etag": "4d946798c0e62a4a9c82f8fddd0a385a", - "sha1": "e0e0577f8534c767702feb4492ea2592cc403edb", - "sha256": "d45f25d38c2506f4867c49869e610b37ce47a508d194fb923c350a6f39fac976", - "size": 35906509, - "uuid": "f467b2b5-d0d5-4c2c-a253-1f9f64629e3b", - "version": "2019-02-02T065439.579077Z" - }, - "analysis_file/0aa4b2f3-b969-40d7-97f9-f33af0088915": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "01716cae", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.bam.bai", - "s3_etag": "f80304dbe6c2a8eb74e1c3232177396b", - "sha1": "030bc99c64f21915c9294d7b648c1a0360d39258", - "sha256": "997d2f8aa3871e63f3f6c6f8d27e57741433db6fedeb08375f092ec5998fddd8", - "size": 1835672, - "uuid": "70d8b64f-a333-4ac3-8b63-17ba0fb8ef64", - "version": "2019-02-02T065440.809043Z" - }, - "analysis_file/697a869d-079b-48d4-9a7d-c04cf05dd0a9": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "c2d024b3", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_rsem.bam", - "s3_etag": "b07fa5f2d2ce1a088de1ab0a62b06200", - "sha1": "0ca398a8971ef854218ebd3e6cb95bb7cf004019", - "sha256": "a61415e45c58208d977185c528209be0b2c9d738fa7a6331f45d026c4aa26dbb", - "size": 36324944, - "uuid": "28d29046-bdb9-4b70-bb18-f4e8e577e26c", - "version": "2019-02-02T065441.191549Z" - }, - "analysis_file/6d928f58-2e83-46a0-84a2-d08744a42abd": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "0d996a3f", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_rsem.genes.results", - "s3_etag": "60bee9ca3703d79fd356799aaeb8e9c7", - "sha1": "baf9b8d27b56525dfc579c545f2d17addf065170", - "sha256": "0c4920803f5ba726234b84c423af625330a8b773982a67e3d2a4676dbc4c8386", - "size": 7608598, - "uuid": "4bf077f4-ca44-48db-a1ec-fe8ee8a78ba6", - "version": "2019-02-02T065442.065089Z" - }, - "analysis_file/cc958050-fd69-4919-8529-6f91552ce0ea": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c9e4f397", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_rsem.isoforms.results", - "s3_etag": "f4f372f63b6792d0ceedbfd24e598f36", - "sha1": "500321a1bcd226b21e905e04bb85b8830f21e4f7", - "sha256": "a776734581c06c3abba47d1c970e24fea4ae75bf6ee3c7f9c2d5025bf59fd831", - "size": 18886665, - "uuid": "ee682f7d-5153-4383-8820-7c382fea111a", - "version": "2019-02-02T065442.936752Z" - }, - "analysis_file/0a5730dc-eeeb-4f25-bcc7-24cb7d15ac01": { - "content-type": "application/json; dcp-type=data", - "crc32c": "f8813cc8", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!.zattrs", - "s3_etag": "154c7026c73c9d1f3c36f5743dde7756", - "sha1": "b1e5bd4702e9c3c18f810160b5f09e55de714388", - "sha256": "655382d01214d1ac3a58deabea0463f58e1afead12cf581da5e447a4d77733da", - "size": 148, - "uuid": "1ac59e2e-ac4c-4bc0-a88a-fcfa8ff9e554", - "version": "2019-02-02T065443.721413Z" - }, - "analysis_file/42fffad8-d47d-4da5-8318-45b0f5577c08": { - "content-type": "application/json; dcp-type=data", - "crc32c": "444a7707", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!.zgroup", - "s3_etag": "e20297935e73dd0154104d4ea53040ab", - "sha1": "63b0fcd7748c79d0de97705fb1b8ed5fcc5ac788", - "sha256": "2383746e67b4bcc2762b3f100f06c3fa2d5f149ab5a8e5da5d33521464a01959", - "size": 24, - "uuid": "c736ed67-6c4e-4a9c-a4e0-42e1bb8e0fa7", - "version": "2019-02-02T065444.065526Z" - }, - "analysis_file/2842a995-c205-4d80-959f-fcb9ff8719ee": { - "content-type": "application/json; dcp-type=data", - "crc32c": "f35d7e55", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_id!.zarray", - "s3_etag": "adf52f6446cf3395b891614c2cf2372a", - "sha1": "9fd2e280f325ed95273798729cf3129d5f31a55d", - "sha256": "2fa6969421abba6ad8f00f603ec90614fddf2fdea2fbe05def7e279ccc753b94", - "size": 311, - "uuid": "f1db2924-0210-4e97-9a24-302c61ad237f", - "version": "2019-02-02T065444.301965Z" - }, - "analysis_file/90d148ed-a6eb-44c3-a398-df29459943ff": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "067c801b", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_id!0", - "s3_etag": "0f2eabc7960e1bf6985fa4c7a26d022c", - "sha1": "3f0b780c8a510d3863258e003a54b0c06901e7ee", - "sha256": "b0a1f538d7bd282b07f4b8d936fca4990a41efa3f196145e0b1394e83c66f86b", - "size": 146, - "uuid": "271f3b5a-549a-41dc-be0f-31b024f8be2b", - "version": "2019-02-02T065444.467750Z" - }, - "analysis_file/269a143b-a2c2-40cd-9394-41a13321581d": { - "content-type": "application/json; dcp-type=data", - "crc32c": "88068bce", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric!.zarray", - "s3_etag": "143c99e56f6dbf5df7db5f13b4bfcff4", - "sha1": "a7612dc1d58458f975ffd26d2bd8b5ce49a811b6", - "sha256": "95979e9877f4a2e5973967ed1e5cb4e3b894742696df8e4189f4fe3c42be6966", - "size": 337, - "uuid": "25122289-69e6-49ec-b2f7-34f8f0197fe1", - "version": "2019-02-02T065444.766955Z" - }, - "analysis_file/1dda8255-de1c-4bfa-aa79-dbc501d3a112": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "5825e083", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric!0.0", - "s3_etag": "1b8f8382f047ed7e121020567f992bdb", - "sha1": "9eb85dfe145c3f226c454d6b2907a27c53ab0772", - "sha256": "a73160b367086d9b4a011b2431e53562488cd61ef022680902b2763fde90a04f", - "size": 620, - "uuid": "45cc3e84-7d4f-4fdc-b3f1-4fe5f3913c81", - "version": "2019-02-02T065444.968166Z" - }, - "analysis_file/d76f404c-d294-49f2-bfd5-d475e08fa783": { - "content-type": "application/json; dcp-type=data", - "crc32c": "38a3821e", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric_name!.zarray", - "s3_etag": "6cd55b5c19627b1221e44c0b623f6a7a", - "sha1": "379887b0c96e35f627437c9bd02884aee0a469ec", - "sha256": "1d678d0e30a79f5625ce9dcbfc0a16a755887c41c0c542896c9147c61d78dfc5", - "size": 315, - "uuid": "d8146b44-678e-4954-8a88-c796b21ff424", - "version": "2019-02-02T065445.333721Z" - }, - "analysis_file/3f672b26-ea2f-4e94-ba77-f463c3cb7c38": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "afce17ed", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric_name!0", - "s3_etag": "40a03beade9cbe20471da510719e87ee", - "sha1": "07067e1916a1f326c6039c1135cc365d8157e250", - "sha256": "109b07d4cac30dc70dbab56f630a100ba7edf46ced95eaaa60bbd1b642c8695e", - "size": 3920, - "uuid": "f4bb3e61-373c-4266-a55b-3c212a75d660", - "version": "2019-02-02T065445.564680Z" - }, - "analysis_file/4bc5b41c-9fea-4baa-9bf9-75fa4f4a9818": { - "content-type": "application/json; dcp-type=data", - "crc32c": "c6565f75", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string!.zarray", - "s3_etag": "a191a4cbbc03d856923e37be13612e94", - "sha1": "967aa8a1960dd44731fc73e97bd31f9d31a1ac28", - "sha256": "bdfbef7a1f7947596fcc1e176471ce97e895f58970e8e2289d73343ccc60bc7e", - "size": 333, - "uuid": "9f9fd74e-59e3-4f7b-be1a-13ab4fef6bfd", - "version": "2019-02-02T065445.798613Z" - }, - "analysis_file/3e44e8f9-e76d-4158-a7af-eeb9602cf8cc": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c0b4fc1c", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string!0.0", - "s3_etag": "8e35dfc78f4530c7cc629e722e41c14a", - "sha1": "8f2698a020fa520b3619c7f24a016a0ebc7c52e8", - "sha256": "910c28ef76e19d3c845e7918df9fec4a45bf28aa349ad3b9d68bc765d7be5015", - "size": 104, - "uuid": "69635c16-9520-440e-a38e-3f618b1697d8", - "version": "2019-02-02T065446.025189Z" - }, - "analysis_file/3fe1e9e8-1b0f-4683-a402-ae970b33f144": { - "content-type": "application/json; dcp-type=data", - "crc32c": "80af448b", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string_name!.zarray", - "s3_etag": "d70cdb9540920623d2b47a915c218930", - "sha1": "34b30d940aedf75dd406119b8044ba1f0d718392", - "sha256": "ec2f2606d246f1ff4b76c00a5c38fc6298435762df413f88690e44abb5447075", - "size": 311, - "uuid": "e0130298-cda9-412e-9c80-aad41273e0aa", - "version": "2019-02-02T065446.267656Z" - }, - "analysis_file/e53c14f5-1a4f-44d6-9773-53faac32233b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f282f971", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string_name!0", - "s3_etag": "a9f7d989dc368de1512249f67ae71b01", - "sha1": "823ae16a87d600986573fe05f5f03f30008c7fa3", - "sha256": "62248abc08d4717360bbcb7fea1aea23260ee6fa4c9bcdc207bffdcba17aedd2", - "size": 172, - "uuid": "1b685fee-669b-4f9d-b2d5-2f193e24fb29", - "version": "2019-02-02T065446.482201Z" - }, - "analysis_file/7a26e63d-fcf2-419a-a945-bca9e539480f": { - "content-type": "application/json; dcp-type=data", - "crc32c": "b89e6723", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!expression!.zarray", - "s3_etag": "1cc8c5a815470108493b451c5a974fd3", - "sha1": "b62a2d173d1b4fa4f35817a5eefa525a7b126691", - "sha256": "31f6f311ce1934669c993d3ae909f89084d605554312bc34262340e3f37005ca", - "size": 341, - "uuid": "247a7408-946c-4d2e-bbda-e79f27541347", - "version": "2019-02-02T065446.804119Z" - }, - "analysis_file/644b261b-450e-453c-bb5e-0498a1cf5804": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "38f2e38c", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!expression!0.0", - "s3_etag": "359eccbee3435e935ee6c9e106a07ca2", - "sha1": "3547f51280955e61de2cfac8a8fb0940cafe3ab5", - "sha256": "93bbe150426cc65d22c6185d6e63976cbdb7487585bdcb6ecf8b44a57fd39488", - "size": 45059, - "uuid": "133e7526-bc1e-4731-b304-942b2302b260", - "version": "2019-02-02T065447.022845Z" - }, - "analysis_file/b367129a-e83f-4a2b-9278-b5f7930ad457": { - "content-type": "application/json; dcp-type=data", - "crc32c": "88035931", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!gene_id!.zarray", - "s3_etag": "12f1697e02f5dc989975f3a4e2ac3f98", - "sha1": "fffcd7c2eda62aac81a0c656ae034a4271256cee", - "sha256": "fc15b29aeda7d465c6d39028fd015c7ec5e364129721154547d245107758cc4a", - "size": 319, - "uuid": "30d5a0b7-f83c-4834-a708-bfa5f33a1e79", - "version": "2019-02-02T065447.365605Z" - }, - "analysis_file/6d4785d0-bd42-4f98-8f7a-ab9ca8fcab39": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "d3733841", - "indexed": false, - "name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!gene_id!0", - "s3_etag": "b1340be37e97bfa77eea653ed55df86e", - "sha1": "edd20a8ccf3894e957f42913a8afb8d438569e13", - "sha256": "6934073545ed7cdc70acc7ec765929125452b2753510fdcb682a19e8d8fde970", - "size": 192191, - "uuid": "e0c065fb-3297-44e8-ab6b-cb6aa461bedc", - "version": "2019-02-02T065447.635894Z" - }, - "sequence_file/c15ee840-4702-45f7-bb19-693de19a742a": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "4df5f693", - "indexed": false, - "name": "ERR2462443_1.fastq.gz", - "s3_etag": "50ea47ab9850309a470ce78b38f77c9a", - "sha1": "88ade3d68a3a835bcd4d4a5434e7ca0f27da7cea", - "sha256": "a8ba89633116043dcc81c4e79bb8794e8fabb45107cb1ae6aac50b425ea9951c", - "size": 11869523, - "uuid": "e3a876c0-814d-48d0-ab33-5de0ca400125", - "version": "2019-02-01T115352.287395Z" - }, - "sequence_file/5f5d9c84-3565-4398-886c-2e50ad4c3964": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "aa8d705d", - "indexed": false, - "name": "ERR2462443_2.fastq.gz", - "s3_etag": "eef771438861eb1181c0a42e707ce313", - "sha1": "13d71b1e22c7f000d4e95109757386214078ab13", - "sha256": "af1307de700fc3aa828fc08c1a6b0ebe7df3f168878e42f8ee597ec61d7cee5d", - "size": 11778346, - "uuid": "54d7fff5-6a9e-44c9-b515-ea28a9b1940f", - "version": "2019-02-01T115352.858162Z" - } - }, - "metadata": { - "cell_suspension/9ea49dd1-7511-48f8-be12-237e3d0690c0": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/8.6.6/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "24088_4_92", - "biomaterial_name": "T cell from blood", - "biomaterial_description": "=", - "ncbi_taxon_id": [ - 9606 - ], - "insdc_biomaterial": "ERS2335002", - "biosd_biomaterial": "SAMEA1015535" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_type": [ - { - "text": "T cell", - "ontology": "CL:0000084", - "ontology_label": "T cell" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "not provided" - }, - "provenance": { - "document_id": "9ea49dd1-7511-48f8-be12-237e3d0690c0", - "submission_date": "2019-01-23T10:27:50.080Z", - "update_date": "2019-01-23T11:01:24.376Z" - } - }, - "specimen_from_organism/e7049663-aa57-4001-8bb4-870e341b4f0b": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/6.3.8/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "blood_from_donor_D4", - "biomaterial_name": "Peripheral blood sample 1", - "biomaterial_description": "Blood from early pregnancy (6- 14 weeks gestation)", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "blood", - "ontology": "UBERON:0000178", - "ontology_label": "blood" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "preservation_storage": { - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "e7049663-aa57-4001-8bb4-870e341b4f0b", - "submission_date": "2019-01-23T10:25:32.280Z", - "update_date": "2019-01-23T10:55:57.143Z" - } - }, - "donor_organism/a879fffa-3b98-4204-ae5a-603180007ca0": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/12.0.5/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "D4", - "biomaterial_name": "Donor 4", - "biomaterial_description": "Donor 4, 6-14 weeks pregnant", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "is_living": "yes", - "sex": "female", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272", - "ontology_label": "adult" - }, - "provenance": { - "document_id": "a879fffa-3b98-4204-ae5a-603180007ca0", - "submission_date": "2019-01-23T10:25:32.001Z", - "update_date": "2019-01-23T10:40:40.695Z" - } - }, - "analysis_file/b91aca7b-e71b-4014-ab09-5d87e52bc305": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.bait_bias_summary_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "b91aca7b-e71b-4014-ab09-5d87e52bc305", - "submission_date": "2019-02-02T06:45:00.418Z", - "update_date": "2019-02-02T06:49:43.861Z" - } - }, - "analysis_file/34e92010-0e2d-49af-b4b7-bed7a2c9e490": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.insert_size_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "34e92010-0e2d-49af-b4b7-bed7a2c9e490", - "submission_date": "2019-02-02T06:45:00.594Z", - "update_date": "2019-02-02T06:49:37.893Z" - } - }, - "analysis_file/3db4d80f-cbd5-45da-9048-6fe8e2e4d0d2": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.quality_by_cycle_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "3db4d80f-cbd5-45da-9048-6fe8e2e4d0d2", - "submission_date": "2019-02-02T06:45:00.770Z", - "update_date": "2019-02-02T06:49:40.900Z" - } - }, - "analysis_file/ed37a61e-4449-4bce-a774-7cbd732781c8": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.quality_distribution_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "ed37a61e-4449-4bce-a774-7cbd732781c8", - "submission_date": "2019-02-02T06:45:00.949Z", - "update_date": "2019-02-02T06:49:40.853Z" - } - }, - "analysis_file/b70e4907-383c-4466-a244-3e7ce9890dae": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.rna_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "b70e4907-383c-4466-a244-3e7ce9890dae", - "submission_date": "2019-02-02T06:45:01.127Z", - "update_date": "2019-02-02T06:49:43.860Z" - } - }, - "analysis_file/7ee496ab-286c-4962-919a-70244090e315": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_QCs.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "7ee496ab-286c-4962-919a-70244090e315", - "submission_date": "2019-02-02T06:45:01.306Z", - "update_date": "2019-02-02T06:49:53.070Z" - } - }, - "analysis_file/c15427d1-e5b7-4bee-91fe-d98b04dc6a01": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_bait_bias_detail_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "c15427d1-e5b7-4bee-91fe-d98b04dc6a01", - "submission_date": "2019-02-02T06:45:01.483Z", - "update_date": "2019-02-02T06:49:53.044Z" - } - }, - "analysis_file/b11e96c4-2472-4317-b45b-5bc1c9b55704": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_base_distribution_by_cycle_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "b11e96c4-2472-4317-b45b-5bc1c9b55704", - "submission_date": "2019-02-02T06:45:01.662Z", - "update_date": "2019-02-02T06:49:55.885Z" - } - }, - "analysis_file/828d7e40-4f6b-42e1-8cd2-6ddccb5b0e6c": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_error_summary_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "828d7e40-4f6b-42e1-8cd2-6ddccb5b0e6c", - "submission_date": "2019-02-02T06:45:01.843Z", - "update_date": "2019-02-02T06:49:55.882Z" - } - }, - "analysis_file/6804b943-fda7-4e8f-bfba-23e368843e63": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_gc_bias.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "6804b943-fda7-4e8f-bfba-23e368843e63", - "submission_date": "2019-02-02T06:45:02.034Z", - "update_date": "2019-02-02T06:49:58.883Z" - } - }, - "analysis_file/aeb5aebe-9e45-4c9d-931a-883f8fa71225": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_pre_adapter_detail_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "aeb5aebe-9e45-4c9d-931a-883f8fa71225", - "submission_date": "2019-02-02T06:45:02.212Z", - "update_date": "2019-02-02T06:49:58.860Z" - } - }, - "analysis_file/7c5a87c1-e3b6-42aa-8d68-0f534ded7d2d": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_pre_adapter_summary_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "7c5a87c1-e3b6-42aa-8d68-0f534ded7d2d", - "submission_date": "2019-02-02T06:45:02.394Z", - "update_date": "2019-02-02T06:50:01.875Z" - } - }, - "analysis_file/87bd704c-3d36-4620-bdf2-5ad28c5a3d56": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "87bd704c-3d36-4620-bdf2-5ad28c5a3d56", - "submission_date": "2019-02-02T06:45:02.573Z", - "update_date": "2019-02-02T06:49:34.958Z" - } - }, - "analysis_file/0aa4b2f3-b969-40d7-97f9-f33af0088915": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.bam.bai", - "file_format": "bai" - }, - "provenance": { - "document_id": "0aa4b2f3-b969-40d7-97f9-f33af0088915", - "submission_date": "2019-02-02T06:45:02.767Z", - "update_date": "2019-02-02T06:49:37.919Z" - } - }, - "analysis_file/697a869d-079b-48d4-9a7d-c04cf05dd0a9": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_rsem.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "697a869d-079b-48d4-9a7d-c04cf05dd0a9", - "submission_date": "2019-02-02T06:45:02.955Z", - "update_date": "2019-02-02T06:49:46.903Z" - } - }, - "analysis_file/6d928f58-2e83-46a0-84a2-d08744a42abd": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_rsem.genes.results", - "file_format": "results" - }, - "provenance": { - "document_id": "6d928f58-2e83-46a0-84a2-d08744a42abd", - "submission_date": "2019-02-02T06:45:03.146Z", - "update_date": "2019-02-02T06:49:49.891Z" - } - }, - "analysis_file/cc958050-fd69-4919-8529-6f91552ce0ea": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_rsem.isoforms.results", - "file_format": "results" - }, - "provenance": { - "document_id": "cc958050-fd69-4919-8529-6f91552ce0ea", - "submission_date": "2019-02-02T06:45:03.325Z", - "update_date": "2019-02-02T06:49:53.098Z" - } - }, - "analysis_file/0a5730dc-eeeb-4f25-bcc7-24cb7d15ac01": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!.zattrs", - "file_format": "matrix" - }, - "provenance": { - "document_id": "0a5730dc-eeeb-4f25-bcc7-24cb7d15ac01", - "submission_date": "2019-02-02T06:45:03.500Z", - "update_date": "2019-02-02T06:50:01.882Z" - } - }, - "analysis_file/42fffad8-d47d-4da5-8318-45b0f5577c08": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!.zgroup", - "file_format": "unknown" - }, - "provenance": { - "document_id": "42fffad8-d47d-4da5-8318-45b0f5577c08", - "submission_date": "2019-02-02T06:45:03.681Z", - "update_date": "2019-02-02T06:50:04.892Z" - } - }, - "analysis_file/2842a995-c205-4d80-959f-fcb9ff8719ee": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_id!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "2842a995-c205-4d80-959f-fcb9ff8719ee", - "submission_date": "2019-02-02T06:45:03.862Z", - "update_date": "2019-02-02T06:50:04.900Z" - } - }, - "analysis_file/90d148ed-a6eb-44c3-a398-df29459943ff": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_id!0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "90d148ed-a6eb-44c3-a398-df29459943ff", - "submission_date": "2019-02-02T06:45:04.048Z", - "update_date": "2019-02-02T06:50:07.892Z" - } - }, - "analysis_file/269a143b-a2c2-40cd-9394-41a13321581d": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "269a143b-a2c2-40cd-9394-41a13321581d", - "submission_date": "2019-02-02T06:45:04.228Z", - "update_date": "2019-02-02T06:50:10.886Z" - } - }, - "analysis_file/1dda8255-de1c-4bfa-aa79-dbc501d3a112": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "1dda8255-de1c-4bfa-aa79-dbc501d3a112", - "submission_date": "2019-02-02T06:45:04.425Z", - "update_date": "2019-02-02T06:50:10.905Z" - } - }, - "analysis_file/d76f404c-d294-49f2-bfd5-d475e08fa783": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric_name!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "d76f404c-d294-49f2-bfd5-d475e08fa783", - "submission_date": "2019-02-02T06:45:04.602Z", - "update_date": "2019-02-02T06:50:13.892Z" - } - }, - "analysis_file/3f672b26-ea2f-4e94-ba77-f463c3cb7c38": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric_name!0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "3f672b26-ea2f-4e94-ba77-f463c3cb7c38", - "submission_date": "2019-02-02T06:45:04.791Z", - "update_date": "2019-02-02T06:50:13.961Z" - } - }, - "analysis_file/4bc5b41c-9fea-4baa-9bf9-75fa4f4a9818": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "4bc5b41c-9fea-4baa-9bf9-75fa4f4a9818", - "submission_date": "2019-02-02T06:45:04.980Z", - "update_date": "2019-02-02T06:50:13.945Z" - } - }, - "analysis_file/3e44e8f9-e76d-4158-a7af-eeb9602cf8cc": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "3e44e8f9-e76d-4158-a7af-eeb9602cf8cc", - "submission_date": "2019-02-02T06:45:05.160Z", - "update_date": "2019-02-02T06:50:16.898Z" - } - }, - "analysis_file/3fe1e9e8-1b0f-4683-a402-ae970b33f144": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string_name!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "3fe1e9e8-1b0f-4683-a402-ae970b33f144", - "submission_date": "2019-02-02T06:45:05.347Z", - "update_date": "2019-02-02T06:50:16.905Z" - } - }, - "analysis_file/e53c14f5-1a4f-44d6-9773-53faac32233b": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string_name!0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "e53c14f5-1a4f-44d6-9773-53faac32233b", - "submission_date": "2019-02-02T06:45:05.539Z", - "update_date": "2019-02-02T06:50:19.912Z" - } - }, - "analysis_file/7a26e63d-fcf2-419a-a945-bca9e539480f": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!expression!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "7a26e63d-fcf2-419a-a945-bca9e539480f", - "submission_date": "2019-02-02T06:45:05.734Z", - "update_date": "2019-02-02T06:50:19.912Z" - } - }, - "analysis_file/644b261b-450e-453c-bb5e-0498a1cf5804": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!expression!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "644b261b-450e-453c-bb5e-0498a1cf5804", - "submission_date": "2019-02-02T06:45:05.915Z", - "update_date": "2019-02-02T06:50:22.891Z" - } - }, - "analysis_file/b367129a-e83f-4a2b-9278-b5f7930ad457": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!gene_id!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "b367129a-e83f-4a2b-9278-b5f7930ad457", - "submission_date": "2019-02-02T06:45:06.096Z", - "update_date": "2019-02-02T06:50:22.873Z" - } - }, - "analysis_file/6d4785d0-bd42-4f98-8f7a-ab9ca8fcab39": { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!gene_id!0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "6d4785d0-bd42-4f98-8f7a-ab9ca8fcab39", - "submission_date": "2019-02-02T06:45:06.274Z", - "update_date": "2019-02-02T06:50:25.954Z" - } - }, - "sequence_file/c15ee840-4702-45f7-bb19-693de19a742a": { - "describedBy": "https://schema.humancellatlas.org/type/file/7.0.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "ERR2462443_1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "read_length": 75, - "insdc_run": [ - "ERR2462443" - ], - "provenance": { - "document_id": "c15ee840-4702-45f7-bb19-693de19a742a", - "submission_date": "2019-01-23T10:32:54.467Z", - "update_date": "2019-01-23T16:20:56.497Z" - } - }, - "sequence_file/5f5d9c84-3565-4398-886c-2e50ad4c3964": { - "describedBy": "https://schema.humancellatlas.org/type/file/7.0.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "ERR2462443_2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "read_length": 75, - "insdc_run": [ - "ERR2462443" - ], - "provenance": { - "document_id": "5f5d9c84-3565-4398-886c-2e50ad4c3964", - "submission_date": "2019-01-23T10:32:54.477Z", - "update_date": "2019-01-23T16:20:53.469Z" - } - }, - "project/aabbec1a-1215-43e1-8e42-6489af25c12c": { - "describedBy": "https://schema.humancellatlas.org/type/project/9.0.8/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Fetal/Maternal Interface", - "project_title": "Reconstructing the human first trimester fetal-maternal interface using single cell transcriptomics", - "project_description": "During early human pregnancy the uterine mucosa transforms into the decidua, into which the fetal placenta implants and where placental trophoblast cells intermingle and communicate with maternal cells. Trophoblast\u2013decidual interactions underlie common diseases of pregnancy, including pre-eclampsia and stillbirth. Here we profile the transcriptomes of about 70,000 single cells from first-trimester placentas with matched maternal blood and decidual cells. The cellular composition of human decidua reveals subsets of perivascular and stromal cells that are located in distinct decidual layers. There are three major subsets of decidual natural killer cells that have distinctive immunomodulatory and chemokine profiles. We develop a repository of ligand\u2013receptor complexes and a statistical tool to predict the cell-type specificity of cell\u2013cell communication via these molecular interactions. Our data identify many regulatory interactions that prevent harmful innate or adaptive immune responses in this environment. Our single-cell atlas of the maternal\u2013fetal interface reveals the cellular organization of the decidua and placenta, and the interactions that are critical for placentation and reproductive success." - }, - "insdc_project": "ERP107748", - "array_express_investigation": "E-MTAB-6678", - "insdc_study": "PRJEB25794", - "supplementary_links": [ - "https://www.ebi.ac.uk/arrayexpress/experiments/E-MTAB-6678/", - "https://www.ebi.ac.uk/arrayexpress/experiments/E-MTAB-6701/", - "https://www.ebi.ac.uk/ena/data/view/PRJEB25794", - "https://www.ebi.ac.uk/ena/data/view/PRJEB28266" - ], - "contributors": [ - { - "contact_name": "Johan,,Henriksson", - "email": "mahogny@areta.org", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge", - "country": "UK", - "corresponding_contributor": false - }, - { - "contact_name": "Mirjana,,Efremova", - "email": "me5@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge", - "country": "UK", - "corresponding_contributor": true - }, - { - "contact_name": "Roser,,Vento-Tormo", - "email": "rv4@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge", - "country": "UK", - "corresponding_contributor": true - }, - { - "contact_name": "Muzlifah,,Haniffa", - "email": "m.a.haniffa@ncl.ac.uk", - "institution": "Newcastle University", - "laboratory": "Institute of Cellular Medicine", - "address": "Newcastle upon Tyne, NE2 4HH", - "country": "UK", - "corresponding_contributor": true - }, - { - "contact_name": "Ashley,,Moffett", - "email": "am485@cam.ac.uk", - "institution": "University of Cambridge", - "laboratory": "Centre for Trophoblast Research", - "address": "Cambridge, CB2 3EG", - "country": "UK", - "corresponding_contributor": true - }, - { - "contact_name": "Sarah,A,Teichmann", - "email": "st9@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge", - "country": "UK", - "corresponding_contributor": true - }, - { - "contact_name": "Mallory,Ann,Freeberg", - "email": "mfreeberg@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2949-3921", - "corresponding_contributor": false - }, - { - "contact_name": "Zinaida, A, Perova", - "email": "zina@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0001-9913-3249", - "corresponding_contributor": false - }, - { - "contact_name": "Anja,,Fullgrabe", - "email": "anjaf@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "ArrayExpress ", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "external curator", - "orcid_id": "0000-0002-8674-0039", - "corresponding_contributor": false - } - ], - "funders": [ - { - "funder_name": "Swedish Research Council" - }, - { - "grant_id": "099175/Z/12/Z", - "funder_name": "Medical Research Council / Wellcome Trust" - }, - { - "grant_id": "WT107931/Z/15/Z", - "funder_name": "Wellcome Trust" - }, - { - "funder_name": "EMBO Long-Term Fellowship" - }, - { - "funder_name": "Human Frontier Science Program Long-Term Fellowship" - }, - { - "funder_name": "Royal Society Dorothy Hodgkin Fellowship" - }, - { - "funder_name": "The Lister Institute for Preventive Medicine" - }, - { - "funder_name": "National Institute for Health Research" - }, - { - "funder_name": "Newcastle Biomedical Research Centre" - }, - { - "grant_id": "ThDEFINE, ThSWITCH", - "funder_name": "ERC" - }, - { - "grant_id": "MRG-GRAMMAR no. 664918", - "funder_name": "EU FET-OPEN" - }, - { - "grant_id": "Investigator award", - "funder_name": "Wellcome Trust" - }, - { - "grant_id": "WT206194", - "funder_name": "Wellcome Sanger core funding" - } - ], - "publications": [ - { - "authors": [ - "Vento-Tormo R", - "Efremova M", - "Botting RA", - "Turco MY", - "Vento-Tormo M", - "Meyer KB", - "Park J", - "Stephenson E", - "Polanski K", - "Payne RP", - "Goncalves A", - "Zou A", - "Henriksson J", - "Wood L", - "Lisgo S", - "Filby A", - "Wright GJ", - "Stubbington MJ", - "Haniffa M", - "Moffett A", - "Teichmann SA" - ], - "publication_title": "Reconstructing the human first trimester fetal-maternal interface using single cell transcriptomics", - "doi": "10.1101/429589", - "publication_url": "https://www.biorxiv.org/content/early/2018/09/29/429589" - }, - { - "authors": [ - "Vento-Tormo R", - "Efremova M", - "Botting RA", - "Turco MY", - "Vento-Tormo M", - "Meyer KB", - "Park J", - "Stephenson E", - "Polanski K", - "Goncalves A", - "Gardner L", - "Holmqvist S", - "Henriksson J", - "Zou A", - "Sharkey A", - "Millar B", - "Innes B", - "Wood L", - "Wilbrey-Clark A", - "Payne RP", - "Ivarsson M", - "Lisgo S", - "Filby A", - "Rowitch D", - "Bulmer J", - "Wright GJ", - "Stubbington MJ", - "Haniffa M", - "Moffett A", - "Teichmann SA" - ], - "publication_title": "Single-cell reconstruction of the early maternal\u2013fetal interface in humans", - "doi": "10.1038/s41586-018-0698-6", - "pmid": 30429548, - "publication_url": "https://www.nature.com/articles/s41586-018-0698-6#Sec35" - } - ], - "provenance": { - "document_id": "aabbec1a-1215-43e1-8e42-6489af25c12c", - "submission_date": "2019-01-23T10:25:31.744Z", - "update_date": "2019-01-23T10:40:40.301Z" - } - }, - "analysis_protocol/bb17ee61-193e-4ae1-a014-4f1b1c19b8b7": { - "computational_method": "SmartSeq2SingleCell", - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/8.0.3/analysis_protocol", - "protocol_core": { - "protocol_id": "smartseq2_v2.2.0" - }, - "protocol_type": { - "text": "analysis" - }, - "schema_type": "protocol", - "provenance": { - "document_id": "bb17ee61-193e-4ae1-a014-4f1b1c19b8b7", - "submission_date": "2019-02-02T06:44:58.913Z", - "update_date": "2019-02-02T06:45:04.641Z" - } - }, - "library_preparation_protocol/edda2708-1172-47f0-9c8b-b6771f463db1": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/4.4.4/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1", - "protocol_name": "Preparation of mRNAs for single cell SmartSeq2 sequencing", - "protocol_description": "The SmartSeq2 protocol was performed on single-cells as described in 10.1038/nprot.2014.006, with some modifications.", - "publication_doi": "10.1038/nprot.2014.006" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931", - "ontology_label": "Smart-seq2" - }, - "nucleic_acid_source": "single cell", - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "library_construction_kit": { - "retail_name": "Nextera XT library preparation kit" - }, - "provenance": { - "document_id": "edda2708-1172-47f0-9c8b-b6771f463db1", - "submission_date": "2019-01-23T10:33:59.845Z", - "update_date": "2019-01-23T10:34:05.563Z" - } - }, - "sequencing_protocol/46f58d61-c784-47fb-9c75-7af37871810e": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/9.0.8/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1", - "protocol_name": "SmartSeq2 single cell sequencing", - "protocol_description": "Libraries were sequenced on the Illumina HiSeq 2000 platform to obtain 75-bp paired-end reads." - }, - "sequencing_approach": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441", - "ontology_label": "full length single cell RNA sequencing" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2000", - "ontology": "EFO:0004203", - "ontology_label": "Illumina HiSeq 2000" - }, - "paired_end": true, - "provenance": { - "document_id": "46f58d61-c784-47fb-9c75-7af37871810e", - "submission_date": "2019-01-23T10:33:59.865Z", - "update_date": "2019-01-23T10:34:05.670Z" - } - }, - "enrichment_protocol/dcfe8429-af02-491e-96e9-4ac0569cd5d1": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/2.2.8/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_3", - "protocol_name": "Isolation (enrichment) of PBMCs from blood", - "protocol_description": "Blood samples were carefully layered onto a Ficoll-paque gradient and centrifuged at 2,000 rpm for 30 min without brakes. Peripheral blood mononuclear cells (PBMCs) from the interface between the plasma and the Ficoll\u2013 Paque gradient were collected and washed in ice-cold phosphate-buffered saline (PBS), followed by centrifugation at 2000r.p.m. for 5 min. The pellet was resuspended in 5ml of red blood cell lysis buffer (Invitrogen, 00-4300) for 10min.", - "publication_doi": "10.1038/s41586-018-0698-6" - }, - "enrichment_method": { - "text": "Ficoll-paque gradient", - "ontology": "EFO:0009112", - "ontology_label": "density gradient centrifugation" - }, - "provenance": { - "document_id": "dcfe8429-af02-491e-96e9-4ac0569cd5d1", - "submission_date": "2019-01-23T10:33:59.669Z", - "update_date": "2019-01-23T10:34:05.632Z" - } - }, - "enrichment_protocol/55dd1cfc-cc9c-4a03-aa43-2cb92b843253": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/2.2.8/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_10", - "protocol_name": "FACS sorting to enrich for live cells (DAPI+)", - "protocol_description": "Cells were stained for DAPI and only viable (DAPI+) cells were sorted. ", - "publication_doi": "10.1038/s41586-018-0698-6" - }, - "enrichment_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "DAPI+", - "provenance": { - "document_id": "55dd1cfc-cc9c-4a03-aa43-2cb92b843253", - "submission_date": "2019-01-23T10:33:59.759Z", - "update_date": "2019-01-23T10:34:06.540Z" - } - }, - "enrichment_protocol/3d2707fa-83ad-472b-8282-7b6191f96bc2": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/2.2.8/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_11", - "protocol_name": "FACS sorting to deplete B cells", - "protocol_description": "FACS was used with CD19- and CD20-", - "publication_doi": "10.1038/s41586-018-0698-6" - }, - "enrichment_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD19- CD20-", - "provenance": { - "document_id": "3d2707fa-83ad-472b-8282-7b6191f96bc2", - "submission_date": "2019-01-23T10:33:59.768Z", - "update_date": "2019-01-23T10:34:05.715Z" - } - }, - "enrichment_protocol/88bd21a4-8d6c-48ce-ab57-8b5e0b582cca": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/2.2.8/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_5", - "protocol_name": "FACS sorting to enrich for T cells for SS2", - "protocol_description": "FACS was used with gates CD45+HLADR\u2212CD56\u2212CD3+CD4+CD8\u2212; CD45+HLA-DR\u2212CD56\u2212CD3+CD8+; CD45+HLA-DR\u2212CD56\u2212CD3+CD4\u2212CD8\u2212", - "publication_doi": "10.1038/s41586-018-0698-6" - }, - "enrichment_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD45+ HLA-DR\u2212 CD56\u2212 CD3+ CD4+ CD8\u2212 CD8+ CD4\u2212", - "provenance": { - "document_id": "88bd21a4-8d6c-48ce-ab57-8b5e0b582cca", - "submission_date": "2019-01-23T10:33:59.686Z", - "update_date": "2019-01-23T10:34:05.783Z" - } - }, - "collection_protocol/477b201f-67f0-4f97-86d5-de32a7afc267": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/8.2.10/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "blood_draw_1", - "protocol_name": "blood draw", - "protocol_description": "blood draw", - "publication_doi": "10.1038/s41586-018-0698-6" - }, - "collection_method": { - "text": "blood draw", - "ontology": "EFO:0009121", - "ontology_label": "blood draw" - }, - "provenance": { - "document_id": "477b201f-67f0-4f97-86d5-de32a7afc267", - "submission_date": "2019-01-23T10:33:59.629Z", - "update_date": "2019-01-23T10:34:05.575Z" - } - }, - "analysis_process/d6c56c65-bed0-4d6e-bf89-7e0d71bd3026": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/8.0.3/analysis_process", - "input_bundles": [ - "8324dd3f-ddaf-42aa-9b3f-aef342229028" - ], - "inputs": [ - { - "parameter_name": "fastq1", - "parameter_value": "gs://org-hca-dss-checkout-prod/bundles/8324dd3f-ddaf-42aa-9b3f-aef342229028.2019-02-01T115354.796712Z/ERR2462443_1.fastq.gz" - }, - { - "parameter_name": "fastq2", - "parameter_value": "gs://org-hca-dss-checkout-prod/bundles/8324dd3f-ddaf-42aa-9b3f-aef342229028.2019-02-01T115354.796712Z/ERR2462443_2.fastq.gz" - }, - { - "parameter_name": "sample_name", - "parameter_value": "9ea49dd1-7511-48f8-be12-237e3d0690c0" - }, - { - "parameter_name": "output_name", - "parameter_value": "9ea49dd1-7511-48f8-be12-237e3d0690c0" - }, - { - "parameter_name": "gtf_file", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.primary_assembly.annotation.gtf" - }, - { - "parameter_name": "genome_ref_fasta", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "rrna_intervals", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.rRNA.interval_list" - }, - { - "parameter_name": "gene_ref_flat", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_gencode.v27.refFlat.txt" - }, - { - "parameter_name": "hisat2_ref_index", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/HISAT2/genome_snp_tran.tar.gz" - }, - { - "parameter_name": "hisat2_ref_trans_name", - "parameter_value": "gencode_v27_trans_rsem" - }, - { - "parameter_name": "rsem_ref_index", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode_v27_primary.tar" - }, - { - "parameter_name": "hisat2_ref_name", - "parameter_value": "genome_snp_tran" - }, - { - "parameter_name": "hisat2_ref_trans_name", - "parameter_value": "gencode_v27_trans_rsem" - }, - { - "parameter_name": "stranded", - "parameter_value": "NONE" - } - ], - "outputs": [ - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.bait_bias_summary_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.insert_size_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.quality_by_cycle_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.quality_distribution_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.rna_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_QCs.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_bait_bias_detail_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_base_distribution_by_cycle_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_error_summary_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_gc_bias.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_pre_adapter_detail_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_pre_adapter_summary_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bam", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bai", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_qc.bam.bai" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bam", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_rsem.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "results", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_rsem.genes.results" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "results", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0_rsem.isoforms.results" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "matrix", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!.zattrs" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!.zgroup" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_id!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_id!0" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric!0.0" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric_name!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric_name!0" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string!0.0" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string_name!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string_name!0" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!expression!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!expression!0.0" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!gene_id!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!gene_id!0" - }, - "schema_type": "file" - } - ], - "process_core": { - "process_id": "1a5b6337-c719-4dc7-9014-e7cb7f739e22" - }, - "process_type": { - "text": "analysis" - }, - "reference_bundle": "bf51d668-3e14-4843-9bc7-5d676fdf0e01", - "schema_type": "process", - "tasks": [ - { - "cpus": 2, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-CollectDuplicationMetrics/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-CollectDuplicationMetrics/stdout", - "memory": "7.5 GB", - "start_time": "2019-02-02T06:17:07.504Z", - "stop_time": "2019-02-02T06:20:06.008Z", - "task_name": "CollectDuplicationMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 14 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-CollectMultipleMetrics/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-CollectMultipleMetrics/stdout", - "memory": "7.5 GB", - "start_time": "2019-02-02T06:17:07.504Z", - "stop_time": "2019-02-02T06:26:15.019Z", - "task_name": "CollectMultipleMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-CollectRnaMetrics/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-CollectRnaMetrics/stdout", - "memory": "3.5 GB", - "start_time": "2019-02-02T06:17:07.504Z", - "stop_time": "2019-02-02T06:30:57.010Z", - "task_name": "CollectRnaMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.0", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-GroupQCOutputs/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-GroupQCOutputs/stdout", - "memory": "2 GB", - "start_time": "2019-02-02T06:30:58.954Z", - "stop_time": "2019-02-02T06:36:21.014Z", - "task_name": "GroupQCOutputs", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 23 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-HISAT2PairedEnd/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-HISAT2PairedEnd/stdout", - "memory": "15 GB", - "start_time": "2019-02-02T06:09:49.934Z", - "stop_time": "2019-02-02T06:17:06.009Z", - "task_name": "HISAT2PairedEnd", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 14 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-HISAT2Transcriptome/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-HISAT2Transcriptome/stdout", - "memory": "15 GB", - "start_time": "2019-02-02T06:09:49.935Z", - "stop_time": "2019-02-02T06:13:12.013Z", - "task_name": "HISAT2Transcriptome", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 22 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-rsem:v0.2.2-1.3.0", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-RSEMExpression/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-RSEMExpression/stdout", - "memory": "3.5 GB", - "start_time": "2019-02-02T06:13:13.934Z", - "stop_time": "2019-02-02T06:18:24.008Z", - "task_name": "RSEMExpression", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 100 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-python3-scientific:0.1.7", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-SmartSeq2ZarrConversion/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/e39de6d0-0ba4-4c92-bd96-f4b1117ca390/call-analysis/ss2.SmartSeq2SingleCell/1a5b6337-c719-4dc7-9014-e7cb7f739e22/call-SmartSeq2ZarrConversion/stdout", - "memory": "16 GB", - "start_time": "2019-02-02T06:36:22.504Z", - "stop_time": "2019-02-02T06:39:18.012Z", - "task_name": "SmartSeq2ZarrConversion", - "zone": "us-central1-b" - } - ], - "timestamp_start_utc": "2019-02-02T06:09:46.854Z", - "timestamp_stop_utc": "2019-02-02T06:39:21.010Z", - "provenance": { - "document_id": "d6c56c65-bed0-4d6e-bf89-7e0d71bd3026", - "submission_date": "2019-02-02T06:44:59.796Z", - "update_date": "2019-02-02T06:45:04.794Z" - } - }, - "process/55faef19-0c09-41ef-b21c-ad25a89ea2e3": { - "insdc_experiment": { - "insdc_experiment": "ERX2481489" - }, - "process_core": { - "process_id": "24088_4_92" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.6/process", - "provenance": { - "document_id": "55faef19-0c09-41ef-b21c-ad25a89ea2e3", - "submission_date": "2019-01-23T10:40:00.000Z", - "update_date": "2019-01-23T11:19:16.982Z" - } - }, - "process/e84cac5b-1467-4055-a029-48d67a5505d6": { - "process_core": { - "process_id": "process_id_5845" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.6/process", - "provenance": { - "document_id": "e84cac5b-1467-4055-a029-48d67a5505d6", - "submission_date": "2019-01-23T10:36:29.102Z", - "update_date": "2019-01-23T11:10:57.210Z" - } - }, - "process/832b39e3-ebba-4686-a724-52babb96056f": { - "process_core": { - "process_id": "process_id_21" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.6/process", - "provenance": { - "document_id": "832b39e3-ebba-4686-a724-52babb96056f", - "submission_date": "2019-01-23T10:34:00.619Z", - "update_date": "2019-01-23T11:05:44.002Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.4/links", - "schema_type": "link_bundle", - "schema_version": "1.1.4", - "links": [ - { - "process": "d6c56c65-bed0-4d6e-bf89-7e0d71bd3026", - "inputs": [ - "c15ee840-4702-45f7-bb19-693de19a742a", - "5f5d9c84-3565-4398-886c-2e50ad4c3964" - ], - "input_type": "file", - "outputs": [ - "b91aca7b-e71b-4014-ab09-5d87e52bc305", - "34e92010-0e2d-49af-b4b7-bed7a2c9e490", - "3db4d80f-cbd5-45da-9048-6fe8e2e4d0d2", - "ed37a61e-4449-4bce-a774-7cbd732781c8", - "b70e4907-383c-4466-a244-3e7ce9890dae", - "7ee496ab-286c-4962-919a-70244090e315", - "c15427d1-e5b7-4bee-91fe-d98b04dc6a01", - "b11e96c4-2472-4317-b45b-5bc1c9b55704", - "828d7e40-4f6b-42e1-8cd2-6ddccb5b0e6c", - "6804b943-fda7-4e8f-bfba-23e368843e63", - "aeb5aebe-9e45-4c9d-931a-883f8fa71225", - "7c5a87c1-e3b6-42aa-8d68-0f534ded7d2d", - "87bd704c-3d36-4620-bdf2-5ad28c5a3d56", - "0aa4b2f3-b969-40d7-97f9-f33af0088915", - "697a869d-079b-48d4-9a7d-c04cf05dd0a9", - "6d928f58-2e83-46a0-84a2-d08744a42abd", - "cc958050-fd69-4919-8529-6f91552ce0ea", - "0a5730dc-eeeb-4f25-bcc7-24cb7d15ac01", - "42fffad8-d47d-4da5-8318-45b0f5577c08", - "2842a995-c205-4d80-959f-fcb9ff8719ee", - "90d148ed-a6eb-44c3-a398-df29459943ff", - "269a143b-a2c2-40cd-9394-41a13321581d", - "1dda8255-de1c-4bfa-aa79-dbc501d3a112", - "d76f404c-d294-49f2-bfd5-d475e08fa783", - "3f672b26-ea2f-4e94-ba77-f463c3cb7c38", - "4bc5b41c-9fea-4baa-9bf9-75fa4f4a9818", - "3e44e8f9-e76d-4158-a7af-eeb9602cf8cc", - "3fe1e9e8-1b0f-4683-a402-ae970b33f144", - "e53c14f5-1a4f-44d6-9773-53faac32233b", - "7a26e63d-fcf2-419a-a945-bca9e539480f", - "644b261b-450e-453c-bb5e-0498a1cf5804", - "b367129a-e83f-4a2b-9278-b5f7930ad457", - "6d4785d0-bd42-4f98-8f7a-ab9ca8fcab39" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "bb17ee61-193e-4ae1-a014-4f1b1c19b8b7" - } - ] - }, - { - "process": "55faef19-0c09-41ef-b21c-ad25a89ea2e3", - "inputs": [ - "9ea49dd1-7511-48f8-be12-237e3d0690c0" - ], - "input_type": "biomaterial", - "outputs": [ - "c15ee840-4702-45f7-bb19-693de19a742a", - "5f5d9c84-3565-4398-886c-2e50ad4c3964" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "edda2708-1172-47f0-9c8b-b6771f463db1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "46f58d61-c784-47fb-9c75-7af37871810e" - } - ] - }, - { - "process": "e84cac5b-1467-4055-a029-48d67a5505d6", - "inputs": [ - "e7049663-aa57-4001-8bb4-870e341b4f0b" - ], - "input_type": "biomaterial", - "outputs": [ - "9ea49dd1-7511-48f8-be12-237e3d0690c0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "dcfe8429-af02-491e-96e9-4ac0569cd5d1" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "55dd1cfc-cc9c-4a03-aa43-2cb92b843253" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "3d2707fa-83ad-472b-8282-7b6191f96bc2" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "88bd21a4-8d6c-48ce-ab57-8b5e0b582cca" - } - ] - }, - { - "process": "832b39e3-ebba-4686-a724-52babb96056f", - "inputs": [ - "a879fffa-3b98-4204-ae5a-603180007ca0" - ], - "input_type": "biomaterial", - "outputs": [ - "e7049663-aa57-4001-8bb4-870e341b4f0b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "477b201f-67f0-4f97-86d5-de32a7afc267" - } - ] - }, - { - "process": "55faef19-0c09-41ef-b21c-ad25a89ea2e3", - "inputs": [ - "9ea49dd1-7511-48f8-be12-237e3d0690c0" - ], - "input_type": "biomaterial", - "outputs": [ - "c15ee840-4702-45f7-bb19-693de19a742a", - "5f5d9c84-3565-4398-886c-2e50ad4c3964" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "edda2708-1172-47f0-9c8b-b6771f463db1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "46f58d61-c784-47fb-9c75-7af37871810e" - } - ] - }, - { - "process": "e84cac5b-1467-4055-a029-48d67a5505d6", - "inputs": [ - "e7049663-aa57-4001-8bb4-870e341b4f0b" - ], - "input_type": "biomaterial", - "outputs": [ - "9ea49dd1-7511-48f8-be12-237e3d0690c0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "dcfe8429-af02-491e-96e9-4ac0569cd5d1" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "55dd1cfc-cc9c-4a03-aa43-2cb92b843253" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "3d2707fa-83ad-472b-8282-7b6191f96bc2" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "88bd21a4-8d6c-48ce-ab57-8b5e0b582cca" - } - ] - }, - { - "process": "832b39e3-ebba-4686-a724-52babb96056f", - "inputs": [ - "a879fffa-3b98-4204-ae5a-603180007ca0" - ], - "input_type": "biomaterial", - "outputs": [ - "e7049663-aa57-4001-8bb4-870e341b4f0b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "477b201f-67f0-4f97-86d5-de32a7afc267" - } - ] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/staging/68bdc676-c442-4581-923e-319c1c2d9018.2018-10-07T130111.835234Z.json b/test/hca_metadata_api/cans/staging/68bdc676-c442-4581-923e-319c1c2d9018.2018-10-07T130111.835234Z.json deleted file mode 100644 index 10a4f1ed3d..0000000000 --- a/test/hca_metadata_api/cans/staging/68bdc676-c442-4581-923e-319c1c2d9018.2018-10-07T130111.835234Z.json +++ /dev/null @@ -1,492 +0,0 @@ -{ - "manifest": { - "sequence_file/f3d5c7cb-7ab4-4903-8e0e-dc942121fe27": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "a3f89844", - "indexed": false, - "name": "SRR6260013.fastq.gz", - "s3_etag": "8c9bb4704875cbe67cfc12abb0c66d57", - "sha1": "ee681bf47c0b7fbad663b20704ddb45d632709ed", - "sha256": "3f50829dc75cbb1e5a95403fe59e1f3bc4e897e5fbf1bb3c5861854eafa5b84c", - "size": 38471612, - "uuid": "9dee7111-d743-43a1-b768-118614bf7987", - "version": "2018-10-07T130110.968810Z" - } - }, - "metadata": { - "cell_suspension/ef97eef1-a436-4462-a152-1a2b86ee8831": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Single-cell_RNA-seq_Subject9_TEMRA_Cell030", - "biomaterial_name": "Single-cell_RNA-seq_Subject9_TEMRA_Cell030", - "biomaterial_description": "Single-cell_RNA-seq_Subject9_TEMRA_Cell030", - "ncbi_taxon_id": [ - 9606 - ], - "insdc_biomaterial": "SRS2664188" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "selected_cell_type": [ - { - "text": "TEMRA", - "ontology": "CL:0000625" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "subject9-10_batch1", - "cell_quality": "OK" - }, - "provenance": { - "document_id": "ef97eef1-a436-4462-a152-1a2b86ee8831", - "submission_date": "2018-10-07T11:57:52.282Z", - "update_date": "2018-10-07T12:04:46.292Z" - } - }, - "specimen_from_organism/80cb479b-dcb4-4dbb-a75d-0249a964bb70": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Subject9_DENV negative_PBMC_TEMRA", - "biomaterial_name": "Subject9_DENV negative_PBMC_TEMRA", - "biomaterial_description": "Subject9_DENV negative_PBMC_TEMRA", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "blood", - "ontology": "UBERON:0000178" - }, - "organ_part": { - "text": "peripheral blood mononuclear cell", - "ontology": "CL:2000001" - }, - "preservation_storage": { - "preservation_method": "cryopreservation, other", - "storage_method": "frozen, liquid nitrogen" - }, - "provenance": { - "document_id": "80cb479b-dcb4-4dbb-a75d-0249a964bb70", - "submission_date": "2018-10-07T11:56:59.350Z", - "update_date": "2018-10-07T12:01:39.672Z" - } - }, - "donor_organism/6c992ba4-c132-4dd3-840e-13cf3f38243e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Subject9", - "biomaterial_name": "Subject9", - "biomaterial_description": "Subject9", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "not provided" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "is_living": "yes", - "sex": "unknown", - "medical_history": { - "test_results": "dengue virus negative" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "organism_age": "18-60", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "provenance": { - "document_id": "6c992ba4-c132-4dd3-840e-13cf3f38243e", - "submission_date": "2018-10-07T11:56:59.023Z", - "update_date": "2018-10-07T12:00:40.749Z" - } - }, - "sequence_file/f3d5c7cb-7ab4-4903-8e0e-dc942121fe27": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR6260013.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "read_length": 50, - "insdc_run": [ - "SRR6260013" - ], - "provenance": { - "document_id": "f3d5c7cb-7ab4-4903-8e0e-dc942121fe27", - "submission_date": "2018-10-07T11:58:46.814Z", - "update_date": "2018-10-07T12:08:49.204Z" - } - }, - "project/519b58ef-6462-4ed3-8c0d-375b54f53c31": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "CD4+ cytotoxic T lymphocytes", - "project_title": "Precursors of human CD4+ cytotoxic T lymphocytes identified by single-cell transcriptome analysis", - "project_description": "CD4+ cytotoxic T lymphocytes (CD4-CTLs) have been reported to play a protective role in several viral infections. However, little is known in humans about the biology of CD4-CTL generation, their functional properties, heterogeneity and clonal diversity, especially in relation to other well-described CD4+ memory T cell subsets. We performed single-cell RNA-seq in over 9000 cells to unravel CD4-CTL heterogeneity, transcriptional profile and clonality in humans. The single-cell differential gene expression analysis, revealed a spectrum of known transcripts, including several linked to cytotoxic and co-stimulatory function, and transcripts of unknown cytotoxicity-related function that are expressed at higher levels in the TEMRA subset, which is highly enriched for CD4-CTLs, compared to cells in the central and effector memory subsets (TCM, TEM). Simultaneous T cells antigen receptor (TCR) analysis in single-cells and bulk subsets revealed that CD4-TEMRA cells show marked clonal expansion compared to TCM and TEM cells and that the majority of CD4-TEMRA were dengue virus (DENV)-specific in subjects with previous DENV infection. The profile of CD4-TEMRA was highly heterogeneous across subjects, with four distinct clusters identified by the single-cell analysis. Most importantly, we identified distinct clusters of CD4-CTL effector and precursor cells in the TEMRA subset; the precursor cells shared TCR clonotypes with CD4-CTL effectors and were distinguished by high expression of the interleukin-7 receptor. Our identification of a CD4-CTL precursor population may allow further investigation of how CD4-CTLs arise in humans and thus could provide insights into the mechanisms that may be utilized to generate durable and effective CD4-CTL immunity." - }, - "insdc_project": "SRP124157", - "geo_series": "GSE106540", - "insdc_study": "PRJNA417191", - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-106540/Results" - ], - "contributors": [ - { - "contact_name": "Pandurangan,,Vijayanand", - "email": "vijay@lji.org", - "institution": "La Jolla Institute for Allergy and Immunology", - "laboratory": "Division of Vaccine Discovery", - "address": "La Jolla, CA 92037", - "country": "USA", - "corresponding_contributor": true - }, - { - "contact_name": "Mallory,Ann,Freeberg", - "email": "mfreeberg@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2949-3921", - "corresponding_contributor": false - }, - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Molecular Atlas", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "external curator", - "orcid_id": "0000-0002-8748-599X", - "corresponding_contributor": false - } - ], - "funders": [ - { - "grant_id": "U19AI118626", - "funder_name": "National Institutes of Health (NIH)" - }, - { - "grant_id": "U19AI118610", - "funder_name": "National Institutes of Health (NIH)" - }, - { - "grant_id": "R01HL114093", - "funder_name": "National Institutes of Health (NIH)" - }, - { - "grant_id": "R24AI108564", - "funder_name": "National Institutes of Health (NIH)" - }, - { - "funder_name": "William K. Bowes Jr. Foundation" - } - ], - "publications": [ - { - "authors": [ - "Patil VS", - "Madrigal A", - "Schmiedel BJ", - "Clarke J", - "ORourke P", - "Harris E", - "de Silva AD", - "Harris E", - "Peters B", - "Seumois G", - "Weiskopf D", - "Sette A", - "Vijayanand P" - ], - "publication_title": "Precursors of human CD4+ cytotoxic T lymphocytes identified by single-cell transcriptome analysis.", - "doi": "10.1126/sciimmunol.aan8664", - "pmid": 29352091, - "publication_url": "http://immunology.sciencemag.org/content/3/19/eaan8664.long" - } - ], - "provenance": { - "document_id": "519b58ef-6462-4ed3-8c0d-375b54f53c31", - "submission_date": "2018-10-07T11:56:58.869Z", - "update_date": "2018-10-07T12:00:40.290Z" - } - }, - "library_preparation_protocol/5f82b9c4-f3d7-410c-b843-0e5cdec9efa5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1", - "protocol_name": "Preparation of mRNAs for single cell SmartSeq2 sequencing", - "protocol_description": "Single cell RNAseq was performed as described in Picelli et al.Nat Protoc. 2014, PMID:24385147. We performed 23 cycles of amplification. Barcoded Illumina sequencing libraries (Nextera XT library preparation kit, Illumina) were prepared as following manufacturers protocol.", - "publication_doi": "10.1038/nprot.2014.006" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931" - }, - "nucleic_acid_source": "single cell", - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_kit": { - "retail_name": "Nextera XT library preparation kit", - "manufacturer": "Illumina" - }, - "library_preamplification_method": { - "text": "PCR", - "ontology": "OBI:0000415" - }, - "provenance": { - "document_id": "5f82b9c4-f3d7-410c-b843-0e5cdec9efa5", - "submission_date": "2018-10-07T11:58:47.200Z", - "update_date": "2018-10-07T11:58:50.532Z" - } - }, - "sequencing_protocol/d678165b-2753-4393-bf3b-5e2a09ba892c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1", - "protocol_name": "SmartSeq 2 single cell sequencing", - "protocol_description": "Libraries were sequenced on the Illumina HiSeq 2500 platform to obtain 50-bp single end reads (barcoded Illumina sequencing libraries (Nextera XT library preparation kit, Illumina))." - }, - "sequencing_approach": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565" - }, - "paired_end": false, - "provenance": { - "document_id": "d678165b-2753-4393-bf3b-5e2a09ba892c", - "submission_date": "2018-10-07T11:58:47.211Z", - "update_date": "2018-10-07T11:58:50.511Z" - } - }, - "dissociation_protocol/920078d0-b17e-4f23-8cf6-0674b19e7bec": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "protocol_name": "Dissociation by FACS into single cells", - "protocol_description": "Dissociation by FACS into single cells", - "publication_doi": "10.1126/sciimmunol.aan8664" - }, - "dissociation_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "provenance": { - "document_id": "920078d0-b17e-4f23-8cf6-0674b19e7bec", - "submission_date": "2018-10-07T11:58:47.100Z", - "update_date": "2018-10-07T11:58:50.432Z" - } - }, - "enrichment_protocol/644c5f2d-33c8-4bf4-b411-b2dbec8b8227": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_2", - "protocol_name": "TEMRA Enrichment", - "protocol_description": "For single-cell RNA-seq experiments, live and singlet gated cells were further gated to sort 1) TCM; CD3+CD4+CD8\u03b1/CD14/CD19-CD45RA-CCR7+, 2) TEM; CD3+CD4+CD8\u03b1/CD14/CD19-CD45RA-CCR7-, 3) TEMRA; CD3+CD4+CD8\u03b1/CD14/CD19-CD45RA+CCR7-, 4) IL-7Rhigh TEMRA (CD4-CTL precursors); CD3+CD4+CD8\u03b1/CD14/CD19-CD45RA+CCR7-CD127high, 5) IL-7R- TEMRA (CD4-CTL effectors); CD3+CD4+CD8\u03b1/CD14/CD19-CD45RA+CCR7- CD127-. Single cells were directly sorted into 96 well plate with lysis buffer for downstream processing using Smart-seq2 method", - "publication_doi": "10.1126/sciimmunol.aan8664" - }, - "enrichment_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "markers": "CD3+ CD4+ CD8alpha/CD14/CD19- CD45RA+ CCR7-", - "provenance": { - "document_id": "644c5f2d-33c8-4bf4-b411-b2dbec8b8227", - "submission_date": "2018-10-07T11:58:47.120Z", - "update_date": "2018-10-07T11:58:50.413Z" - } - }, - "collection_protocol/403b586f-fd8d-45f2-a431-4bb6cc33d7d4": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/8.2.6/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "collection_protocol_2", - "protocol_name": "Blood sample collection", - "protocol_description": "Blood sample collection by blood draw", - "publication_doi": "10.1126/sciimmunol.aan8664" - }, - "collection_method": { - "text": "blood draw", - "ontology": "EFO:0009121" - }, - "provenance": { - "document_id": "403b586f-fd8d-45f2-a431-4bb6cc33d7d4", - "submission_date": "2018-10-07T11:58:47.087Z", - "update_date": "2018-10-07T11:58:50.563Z" - } - }, - "enrichment_protocol/9ab53e6a-464e-44b1-aa24-12daca989969": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_1", - "protocol_name": "PBMC Enrichment", - "protocol_description": "Enrichment for peripheral blood mononuclear cells", - "publication_doi": "10.1073/pnas.1305227110" - }, - "enrichment_method": { - "text": "Ficoll-Hypaque method", - "ontology": "EFO:0009110" - }, - "provenance": { - "document_id": "9ab53e6a-464e-44b1-aa24-12daca989969", - "submission_date": "2018-10-07T11:58:47.110Z", - "update_date": "2018-10-07T11:58:50.474Z" - } - }, - "process/18d49b08-d095-4371-bb34-151037f9f461": { - "insdc_experiment": { - "insdc_experiment": "SRX3366459" - }, - "process_core": { - "process_id": "process_id_4499" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "18d49b08-d095-4371-bb34-151037f9f461", - "submission_date": "2018-10-07T12:00:39.740Z", - "update_date": "2018-10-07T12:08:28.754Z" - } - }, - "process/d13a5a85-b8c7-4a07-9c0c-9180bd0a78eb": { - "process_core": { - "process_id": "process_id_2255" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d13a5a85-b8c7-4a07-9c0c-9180bd0a78eb", - "submission_date": "2018-10-07T11:59:45.914Z", - "update_date": "2018-10-07T12:06:52.636Z" - } - }, - "process/5a15ed38-5e37-44ff-ba35-0d17bb8564bd": { - "process_core": { - "process_location": "Sri Lanka", - "process_id": "process_id_15" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5a15ed38-5e37-44ff-ba35-0d17bb8564bd", - "submission_date": "2018-10-07T11:58:47.999Z", - "update_date": "2018-10-07T12:05:17.018Z" - } - } - }, - "links": { - "describedBy": "http://schema.staging.data.humancellatlas.org/system/1.1.3/links", - "schema_type": "link_bundle", - "schema_version": "1.1.3", - "links": [ - { - "process": "18d49b08-d095-4371-bb34-151037f9f461", - "inputs": [ - "ef97eef1-a436-4462-a152-1a2b86ee8831" - ], - "input_type": "biomaterial", - "outputs": [ - "f3d5c7cb-7ab4-4903-8e0e-dc942121fe27" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "5f82b9c4-f3d7-410c-b843-0e5cdec9efa5" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "d678165b-2753-4393-bf3b-5e2a09ba892c" - } - ] - }, - { - "process": "d13a5a85-b8c7-4a07-9c0c-9180bd0a78eb", - "inputs": [ - "80cb479b-dcb4-4dbb-a75d-0249a964bb70" - ], - "input_type": "biomaterial", - "outputs": [ - "ef97eef1-a436-4462-a152-1a2b86ee8831" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "920078d0-b17e-4f23-8cf6-0674b19e7bec" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "644c5f2d-33c8-4bf4-b411-b2dbec8b8227" - } - ] - }, - { - "process": "5a15ed38-5e37-44ff-ba35-0d17bb8564bd", - "inputs": [ - "6c992ba4-c132-4dd3-840e-13cf3f38243e" - ], - "input_type": "biomaterial", - "outputs": [ - "80cb479b-dcb4-4dbb-a75d-0249a964bb70" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "403b586f-fd8d-45f2-a431-4bb6cc33d7d4" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9ab53e6a-464e-44b1-aa24-12daca989969" - } - ] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/staging/70184761-70fc-4b80-8c48-f406a478d5ab.2018-09-05T182535.846470Z.json b/test/hca_metadata_api/cans/staging/70184761-70fc-4b80-8c48-f406a478d5ab.2018-09-05T182535.846470Z.json deleted file mode 100644 index 38fcbca312..0000000000 --- a/test/hca_metadata_api/cans/staging/70184761-70fc-4b80-8c48-f406a478d5ab.2018-09-05T182535.846470Z.json +++ /dev/null @@ -1,333 +0,0 @@ -{ - "manifest": { - "sequence_file/20474552-c0a3-471e-8fa0-d3c5aa05c017": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "4ef74578", - "indexed": false, - "name": "R1.fastq.gz", - "s3_etag": "c7bbee4c46bbf29432862e05830c8f39", - "sha1": "17f8b4be0cc6e8281a402bb365b1283b458906a3", - "sha256": "fe6d4fdfea2ff1df97500dcfe7085ac3abfb760026bff75a34c20fb97a4b2b29", - "size": 125191, - "uuid": "2580e8f2-f2f8-4292-b14d-c9ae8bd25a4e", - "version": "2018-09-05T182535.418417Z" - }, - "sequence_file/177a9d2c-99d4-4fb6-aab7-5869923e9d6a": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "69987b3e", - "indexed": false, - "name": "R2.fastq.gz", - "s3_etag": "a3a9f23d07cfc5e40a4c3a8adf3903ae", - "sha1": "f166b6952e30a41e1409e7fb0cb0fb1ad93f3f21", - "sha256": "c305bee37b3c3735585e11306272b6ab085f04cd22ea8703957b4503488cfeba", - "size": 130024, - "uuid": "a53ef014-85f1-4ea8-b24a-454328724e77", - "version": "2018-09-05T182535.627826Z" - } - }, - "metadata": { - "cell_suspension/a31a0e93-5be4-44b8-b152-9e25b066e1e5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.4.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Q4_DEMO-cellsus_SAMN02797092", - "ncbi_taxon_id": [ - 9606 - ] - }, - "provenance": { - "document_id": "a31a0e93-5be4-44b8-b152-9e25b066e1e5", - "submission_date": "2018-09-05T18:24:05.915Z", - "update_date": "2018-09-05T18:24:09.865Z" - } - }, - "specimen_from_organism/e964f81f-54d9-4600-a9e9-981b1f1a6ca2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.2.7/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Q4_DEMO-sample_SAMN02797092", - "biomaterial_name": "Q4_DEMO-Single cell mRNA-seq_MGH30_A01", - "ncbi_taxon_id": [ - 9606 - ], - "supplementary_files": [ - "Q4_DEMO-protocol" - ] - }, - "genus_species": [ - { - "text": "Homo sapiens" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955" - }, - "organ_part": { - "text": "temporal lobe", - "ontology": "UBERON:0001871" - }, - "disease": [ - { - "text": "glioblastoma" - } - ], - "provenance": { - "document_id": "e964f81f-54d9-4600-a9e9-981b1f1a6ca2", - "submission_date": "2018-09-05T18:24:05.907Z", - "update_date": "2018-09-05T18:24:10.111Z" - } - }, - "donor_organism/c6001597-990c-4753-80bb-c5a01c9dda0d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.0.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Q4_DEMO-donor_MGH30", - "biomaterial_name": "Q4 DEMO donor MGH30", - "ncbi_taxon_id": [ - 9606 - ] - }, - "medical_history": { - "smoking_history": "yes" - }, - "genus_species": [ - { - "text": "Homo sapiens" - } - ], - "is_living": "no", - "sex": "unknown", - "provenance": { - "document_id": "c6001597-990c-4753-80bb-c5a01c9dda0d", - "submission_date": "2018-09-05T18:24:05.892Z", - "update_date": "2018-09-05T18:24:09.957Z" - } - }, - "sequence_file/20474552-c0a3-471e-8fa0-d3c5aa05c017": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "R1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "20474552-c0a3-471e-8fa0-d3c5aa05c017", - "submission_date": "2018-09-05T18:24:05.950Z", - "update_date": "2018-09-05T18:25:10.415Z" - } - }, - "sequence_file/177a9d2c-99d4-4fb6-aab7-5869923e9d6a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "R2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "177a9d2c-99d4-4fb6-aab7-5869923e9d6a", - "submission_date": "2018-09-05T18:24:05.995Z", - "update_date": "2018-09-05T18:25:10.316Z" - } - }, - "project/bedfd14f-cc98-4142-b627-d44dfec5aced": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/project/9.0.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "integration/Smart-seq2/2018-09-05T18:24:03Z", - "project_title": "Q4_DEMO-Single cell RNA-seq of primary human glioblastomas", - "project_description": "Q4_DEMO-We report transcriptomes from 430 single glioblastoma cells isolated from 5 individual tumors and 102 single cells from gliomasphere cells lines generated using SMART-seq. In addition, we report population RNA-seq from the five tumors as well as RNA-seq from cell lines derived from 3 tumors (MGH26, MGH28, MGH31) cultured under serum free (GSC) and differentiated (DGC) conditions. This dataset highlights intratumoral heterogeneity with regards to the expression of de novo derived transcriptional modules and established subtype classifiers. Overall design: Operative specimens from five glioblastoma patients (MGH26, MGH28, MGH29, MGH30, MGH31) were acutely dissociated, depleted for CD45+ inflammatory cells and then sorted as single cells (576 samples). Population controls for each tumor were isolated by sorting 2000-10000 cells and processed in parallel (5 population control samples). Single cells from two established cell lines, GBM6 and GBM8, were also sorted as single cells (192 samples). SMART-seq protocol was implemented to generate single cell full length transcriptomes (modified from Shalek, et al Nature 2013) and sequenced using 25 bp paired end reads. Single cell cDNA libraries for MGH30 were resequenced using 100 bp paired end reads to allow for isoform and splice junction reconstruction (96 samples, annotated MGH30L). Cells were also cultured in serum free conditions to generate gliomasphere cell lines for MGH26, MGH28, and MGH31 (GSC) which were then differentiated using 10% serum (DGC). Population RNA-seq was performed on these samples (3 GSC, 3 DGC, 6 total). The initial dataset included 875 RNA-seq libraries (576 single glioblastoma cells, 96 resequenced MGH30L, 192 single gliomasphere cells, 5 tumor population controls, 6 population libraries from GSC and DGC samples). Data was processed as described below using RSEM for quantification of gene expression. 5,948 genes with the highest composite expression either across all single cells combined (average log2(TPM)>4.5) or within a single tumor (average log2(TPM)>6 in at least one tumor) were included. Cells expressing less than 2,000 of these 5,948 genes were excluded. The final processed dataset then included 430 primary single cell glioblastoma transcriptomes, 102 single cell transcriptomes from cell lines(GBM6,GBM8), 5 population controls (1 for each tumor), and 6 population libraries from cell lines derived from the tumors (GSC and DGC for MGH26, MGH28 and MGH31). The final matrix (GBM_data_matrix.txt) therefore contains 5948 rows (genes) quantified in 543 samples (columns). Please note that the samples which are not included in the data processing are indicated in the sample description field." - }, - "contributors": [ - { - "contact_name": "Q4_DEMO-MintTeam", - "email": "dummy@email.com", - "institution": "Fake Institution" - } - ], - "provenance": { - "document_id": "bedfd14f-cc98-4142-b627-d44dfec5aced", - "submission_date": "2018-09-05T18:24:05.880Z", - "update_date": "2018-09-05T18:24:10.105Z" - } - }, - "library_preparation_protocol/f77e65be-ca7a-4711-a7a9-701ad372901a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/4.3.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "preparation1" - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931" - }, - "nucleic_acid_source": "single cell", - "end_bias": "5 prime end bias", - "primer": "poly-dT", - "strand": "unstranded", - "provenance": { - "document_id": "f77e65be-ca7a-4711-a7a9-701ad372901a", - "submission_date": "2018-09-05T18:24:06.041Z", - "update_date": "2018-09-05T18:24:09.959Z" - } - }, - "sequencing_protocol/9d3c0c92-2716-410b-85c6-963a29c24fe0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/9.0.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "assay_1" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500" - }, - "paired_end": true, - "sequencing_approach": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441" - }, - "provenance": { - "document_id": "9d3c0c92-2716-410b-85c6-963a29c24fe0", - "submission_date": "2018-09-05T18:24:06.050Z", - "update_date": "2018-09-05T18:24:09.960Z" - } - }, - "dissociation_protocol/d08422cf-7d04-46cd-9452-394bb2864ba7": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.1/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_1", - "protocol_name": "a FACS method to separate cells" - }, - "dissociation_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "provenance": { - "document_id": "d08422cf-7d04-46cd-9452-394bb2864ba7", - "submission_date": "2018-09-05T18:24:06.024Z", - "update_date": "2018-09-05T18:24:10.036Z" - } - }, - "enrichment_protocol/f3304cfe-c133-444c-a2db-92294d3f6a4d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.3/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment1" - }, - "enrichment_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "provenance": { - "document_id": "f3304cfe-c133-444c-a2db-92294d3f6a4d", - "submission_date": "2018-09-05T18:24:06.033Z", - "update_date": "2018-09-05T18:24:09.887Z" - } - }, - "process/bf7360ae-511e-4803-821e-c03167107588": { - "process_core": { - "process_id": "sequence_process_file_1" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.0/process", - "provenance": { - "document_id": "bf7360ae-511e-4803-821e-c03167107588", - "submission_date": "2018-09-05T18:24:06.090Z", - "update_date": "2018-09-05T18:24:09.872Z" - } - }, - "process/b78f4279-9c6f-49da-890f-98499d8fb84a": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.0/process", - "provenance": { - "document_id": "b78f4279-9c6f-49da-890f-98499d8fb84a", - "submission_date": "2018-09-05T18:24:06.079Z", - "update_date": "2018-09-05T18:24:09.856Z" - } - }, - "process/6284381f-de72-4015-ae51-fa17e13677f8": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.0/process", - "provenance": { - "document_id": "6284381f-de72-4015-ae51-fa17e13677f8", - "submission_date": "2018-09-05T18:24:06.058Z", - "update_date": "2018-09-05T18:24:09.861Z" - } - } - }, - "links": { - "describedBy": "http://schema.staging.data.humancellatlas.org/system/1.1.1/links", - "schema_type": "link_bundle", - "schema_version": "1.1.1", - "links": [ - { - "process": "bf7360ae-511e-4803-821e-c03167107588", - "inputs": [ - "a31a0e93-5be4-44b8-b152-9e25b066e1e5" - ], - "input_type": "biomaterial", - "outputs": [ - "20474552-c0a3-471e-8fa0-d3c5aa05c017", - "177a9d2c-99d4-4fb6-aab7-5869923e9d6a" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "f77e65be-ca7a-4711-a7a9-701ad372901a" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "9d3c0c92-2716-410b-85c6-963a29c24fe0" - } - ] - }, - { - "process": "b78f4279-9c6f-49da-890f-98499d8fb84a", - "inputs": [ - "e964f81f-54d9-4600-a9e9-981b1f1a6ca2" - ], - "input_type": "biomaterial", - "outputs": [ - "a31a0e93-5be4-44b8-b152-9e25b066e1e5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "d08422cf-7d04-46cd-9452-394bb2864ba7" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f3304cfe-c133-444c-a2db-92294d3f6a4d" - } - ] - }, - { - "process": "6284381f-de72-4015-ae51-fa17e13677f8", - "inputs": [ - "c6001597-990c-4753-80bb-c5a01c9dda0d" - ], - "input_type": "biomaterial", - "outputs": [ - "e964f81f-54d9-4600-a9e9-981b1f1a6ca2" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/staging/94f2ba52-30c8-4de0-a78e-f95a3f8deb9c.2019-04-03T103426.471000Z.json b/test/hca_metadata_api/cans/staging/94f2ba52-30c8-4de0-a78e-f95a3f8deb9c.2019-04-03T103426.471000Z.json deleted file mode 100644 index c861381dc3..0000000000 --- a/test/hca_metadata_api/cans/staging/94f2ba52-30c8-4de0-a78e-f95a3f8deb9c.2019-04-03T103426.471000Z.json +++ /dev/null @@ -1,9126 +0,0 @@ -{ - "manifest": { - "image_file/6baa3aff-b2a5-4e49-82f7-25c108a6107a": { - "content-type": "application/json; dcp-type=data", - "crc32c": "d1fbf93a", - "indexed": false, - "name": "codebook.json", - "s3_etag": "f8b57fb434c840df94b55a56c77450d3", - "sha1": "0af7a2aca946bb2c8680932196ebb9020baa414d", - "sha256": "87ca14c8e7dfe4dcce1ac4d8a14423babdb74763ce13c59a755da3f6719ce8e8", - "size": 832, - "uuid": "34d230e7-dd9f-4a47-8d5b-23043fe43bc0", - "version": "2019-04-03T105535.336469Z" - }, - "image_file/06dcfc33-21da-485f-8e50-49d294713a9e": { - "content-type": "application/json; dcp-type=data", - "crc32c": "88def662", - "indexed": false, - "name": "experiment.json", - "s3_etag": "f67915ee4d014041844dc020d29e4ddf", - "sha1": "9153498094d2a7c53998168de9211e951bad523a", - "sha256": "82464691f44b4f0cafdcd3e9854a03074432bb36547fcc7184b3810c644d8bcc", - "size": 186, - "uuid": "3db743f3-8235-4553-9a70-37dee987dd64", - "version": "2019-04-03T105535.723353Z" - }, - "image_file/404dd50b-4bc9-4c82-8c18-f53c68eed2fc": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ad2281ce", - "indexed": false, - "name": "nuclei-fov_000-Z0-H0-C0.tiff", - "s3_etag": "d2daf199d12d7b04320e4bb052f53986", - "sha1": "82dca7b68d4860c565668be2d6b044476e4095c4", - "sha256": "0589dd5b928af541e1659017e95ba6d9785749a3f4f476d294f0c93df240b121", - "size": 1600269, - "uuid": "13ce8b32-13df-411e-8874-810de85a6d51", - "version": "2019-04-03T105536.220197Z" - }, - "image_file/5ceb5dc3-9194-494a-b1df-42bb75ab1a04": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d8b5d806", - "indexed": false, - "name": "nuclei-fov_000-Z1-H0-C0.tiff", - "s3_etag": "67cc6b7a2a8d677c159de350edef6bcc", - "sha1": "ee20d8d4e134e893394a1a03bdc866f397dd6687", - "sha256": "1f5a3012c9ef4a4770308912f8f46607182e3c38a3ab8a3bacb22f292d1694e1", - "size": 1600269, - "uuid": "1eb42fec-c278-43a5-b3a3-b68d998b3a2a", - "version": "2019-04-03T105536.479486Z" - }, - "image_file/76e52f76-ede7-4088-b7f6-d6e5f6152292": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "3b0cdc15", - "indexed": false, - "name": "nuclei-fov_000-Z10-H0-C0.tiff", - "s3_etag": "1753dbb2290e609761ce3f84dd0afc24", - "sha1": "95e12c876c352476ea4edb096ee6dc1796bac431", - "sha256": "23e8f06cae4c966865c79a2191cd5a681ec2ed7b02f20e790b0c229c8d548465", - "size": 1600269, - "uuid": "fe9c7709-3a1c-4548-9578-01e4a63cc9d3", - "version": "2019-04-03T105536.745978Z" - }, - "image_file/2e496fe6-f500-4e27-b7f5-3c87fe43bbe5": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d1935fb2", - "indexed": false, - "name": "nuclei-fov_000-Z11-H0-C0.tiff", - "s3_etag": "b35770d5b97ec9b27fd308d80061b72e", - "sha1": "7d5e13f9db6b1cce6c416daf66bec1a337d8a4d1", - "sha256": "07977366ff55e8863a6df4924d16d7cf9ae7f94b8cfc638ba004c5817b7ad22b", - "size": 1600269, - "uuid": "508e6ec1-6693-4ffb-aa0c-53940a9b1a30", - "version": "2019-04-03T105537.018211Z" - }, - "image_file/be66141d-84a3-457d-a8d2-2f0da8c91dff": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "817e676f", - "indexed": false, - "name": "nuclei-fov_000-Z12-H0-C0.tiff", - "s3_etag": "116d31fb34c9fc4690871fabb44148c3", - "sha1": "a49d6792ecb9c0bb71c8529045ea1e3241e08b2b", - "sha256": "d8b766da53f216a594da6ba833c99bd8213bee52058cec0d48647602c97de377", - "size": 1600269, - "uuid": "9d66777d-7af9-4cf2-bcd7-6d4b0cba8fab", - "version": "2019-04-03T105537.249443Z" - }, - "image_file/680cf532-ef0c-4155-b44d-a6ec3920743a": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b3be7c25", - "indexed": false, - "name": "nuclei-fov_000-Z13-H0-C0.tiff", - "s3_etag": "6ee57a84a94c6092903e173a2d1a9aca", - "sha1": "fe2a6ea83f6bcc3a1f5da9bcebf375e6f65556ac", - "sha256": "0a4051c4b023501f0c82111379daa4b4763b7428f37ae0e609acfcfdca96dfd1", - "size": 1600269, - "uuid": "50b7b8e6-16fa-4e0c-999a-42cab234b1db", - "version": "2019-04-03T105537.599532Z" - }, - "image_file/08609f14-cf43-4188-b743-4a0b55b17347": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "acf4da3b", - "indexed": false, - "name": "nuclei-fov_000-Z14-H0-C0.tiff", - "s3_etag": "e4f1a1d854cdc849172788991e2e53af", - "sha1": "f19b5381231a32d27a71777f93042e66cbf7e4ea", - "sha256": "80e1471ea76d4e4ef929130494ca206c1f3e42600936d65cfb4347d5764d1678", - "size": 1600269, - "uuid": "c4be485e-8f30-454c-a641-7d0ff3cafb4a", - "version": "2019-04-03T105537.940591Z" - }, - "image_file/d10827a1-38f7-457d-9c9f-695f2fc7689c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "527eec28", - "indexed": false, - "name": "nuclei-fov_000-Z15-H0-C0.tiff", - "s3_etag": "d68135d3e69d3e53f2823c88c443a8cf", - "sha1": "83c3ed3a8fe54080394881357653bd7c0fe179a2", - "sha256": "934dc0c464a532d89bf0d5f29004466a64c648561ffe56945faba7f63bba0679", - "size": 1600269, - "uuid": "23fad5c1-d704-479d-b8cc-a629fee2b340", - "version": "2019-04-03T105538.199379Z" - }, - "image_file/6f8eb2e5-7a0c-4c98-8da0-276457357071": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "60e20c9b", - "indexed": false, - "name": "nuclei-fov_000-Z16-H0-C0.tiff", - "s3_etag": "7145c8a469f01dcd600febdd94e10591", - "sha1": "27dbacb8100155e78851842f0eee89b5ccd91542", - "sha256": "822a57a48974c1f0fcaf5b0565652876ec1b4265558942222830ab9d246bfe26", - "size": 1600269, - "uuid": "4a9702b6-04e4-409b-a241-42540df7a07f", - "version": "2019-04-03T105538.500545Z" - }, - "image_file/ca480df3-71bb-4634-8f71-b6a75aeb9f05": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c031ab08", - "indexed": false, - "name": "nuclei-fov_000-Z2-H0-C0.tiff", - "s3_etag": "6164a16c6ea593bf5ad7527860c155eb", - "sha1": "c783cb51f109af91225f99ea3114e918f6b0564c", - "sha256": "ab38699d9d1abe447b38225d70490aa0ba7a92cd02bffd4a3a18d8ac1bd13d5f", - "size": 1600269, - "uuid": "bb22c7d2-a22e-4e97-ab75-5bf44d95aa47", - "version": "2019-04-03T105538.750403Z" - }, - "image_file/03ae5f5e-65ac-4491-b0ce-eefc940e0224": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "46b7935c", - "indexed": false, - "name": "nuclei-fov_000-Z3-H0-C0.tiff", - "s3_etag": "8222dac4e29d16a650ad20a1a1a8c5ae", - "sha1": "45b2fbe7405043b09a6e93d3cb2ef7f7c1d8bb6e", - "sha256": "e7ee71cf986302b3466c2c19d0a00403d381ded671bf3a8b631582d35a2177f0", - "size": 1600269, - "uuid": "3047eca0-886e-4989-a220-c35ee497ed62", - "version": "2019-04-03T105538.997194Z" - }, - "image_file/ff117ecb-767e-4e72-baa9-2bda4fcd3e62": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6571f990", - "indexed": false, - "name": "nuclei-fov_000-Z4-H0-C0.tiff", - "s3_etag": "4654641a3711f09ab256f7617f558162", - "sha1": "23383caa829a08b3a05cbd76d7a41de87417e0a0", - "sha256": "28a01a55f7889ff47606ac9c785092231908f3418c3821da3be58b03c410d7b3", - "size": 1600269, - "uuid": "86df917c-0969-4e27-8f29-ad2b73837818", - "version": "2019-04-03T105539.261002Z" - }, - "image_file/887f3d73-94d2-44ac-9047-67aca5225882": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6c5755bd", - "indexed": false, - "name": "nuclei-fov_000-Z5-H0-C0.tiff", - "s3_etag": "4284d4f412a74007207bb3a7592ecec8", - "sha1": "69e9b6ab402527be214cd08732a0d8190948d11b", - "sha256": "d8e7819f4dff7d2ef181c459f3ec538d38fe43a093706772e02c42d2aa28fb0f", - "size": 1600269, - "uuid": "25ce5f57-b9e8-4403-aa8d-6e0d69044683", - "version": "2019-04-03T105539.480189Z" - }, - "image_file/896dfacd-206b-4e4f-a846-ba5b070060d9": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2e614198", - "indexed": false, - "name": "nuclei-fov_000-Z6-H0-C0.tiff", - "s3_etag": "0395c6734209a2fb9e4b2b507528555c", - "sha1": "829b3ccaa580580a94675e08c5a42a8f29f8ae25", - "sha256": "240f3bb6f1614280f772073723d721c4e92f379b7e1db3a866884c2ef32d8333", - "size": 1600269, - "uuid": "2f887578-9f16-4dcf-86ad-b8967c32b7a5", - "version": "2019-04-03T105539.720912Z" - }, - "image_file/23303c88-01b1-47d0-b770-dca6802caa13": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5ce077ba", - "indexed": false, - "name": "nuclei-fov_000-Z7-H0-C0.tiff", - "s3_etag": "8f1f102df1957b494923fc5d170c1d71", - "sha1": "d039df202d60522d38ccdb9a0605472a755e7558", - "sha256": "7632def6e8897eea870cb47f2d1925bbe24ece886696c646dbec63835fe44636", - "size": 1600269, - "uuid": "275513cc-14aa-4ea8-9da8-f47ef8524e37", - "version": "2019-04-03T105539.960131Z" - }, - "image_file/3c1a388d-0577-4417-9cd2-ff33bfed9140": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "40df3cb1", - "indexed": false, - "name": "nuclei-fov_000-Z8-H0-C0.tiff", - "s3_etag": "bcc7c062ffb6535c2d14b9e25b26786c", - "sha1": "644f28b846c88d16391cbb0cf8ec9ffecc2e5f84", - "sha256": "d1a1c9dfd8422ac2c0dc965ac6ac44ed6c008b4529c4f11c61c54f2245aa1b76", - "size": 1600269, - "uuid": "1f9c2a23-a564-4fd5-9682-7c7d4a68b436", - "version": "2019-04-03T105540.220248Z" - }, - "image_file/67e71b34-7157-4a37-b495-0d740772b480": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "95200df1", - "indexed": false, - "name": "nuclei-fov_000-Z9-H0-C0.tiff", - "s3_etag": "d7d0114775507a0500a0f0ba78424d38", - "sha1": "6da2cf3544c519fef20e267b649a5f396eaec045", - "sha256": "43fee434f3dcadd88f911f64b64611f66e56ae4ba428827fded65babfdcf3ebb", - "size": 1600269, - "uuid": "6c37dc76-a843-4009-986e-90f28512e5ef", - "version": "2019-04-03T105540.469870Z" - }, - "image_file/cd3e5e62-6145-42d9-9a5b-046e1b49cf26": { - "content-type": "application/json; dcp-type=data", - "crc32c": "4e149113", - "indexed": false, - "name": "nuclei-fov_000.json", - "s3_etag": "b1c2b59d6f156cd2b0f8d5a660627411", - "sha1": "0256b1daed586807e3aca60f080f68387047ab7f", - "sha256": "648c306a1d4dfb9641f4def7efb3ad3fe299f0c459b83bdd6f88fbc9adc53219", - "size": 4690, - "uuid": "4ed6be97-90ba-4e59-b81f-6432a13ce7da", - "version": "2019-04-03T105540.859515Z" - }, - "image_file/5fbcb75e-3ee3-4429-8ede-b243afa0789f": { - "content-type": "application/json; dcp-type=data", - "crc32c": "f456645f", - "indexed": false, - "name": "nuclei.json", - "s3_etag": "8c3355f66685fcab73eaf5c7030fa178", - "sha1": "846d7f68755d488e57701c01c1e19ff76398fee2", - "sha256": "fcd7959c7a5df652934f5866aaacb44675bd6bb643d2ce0dbe66139a50048b06", - "size": 112, - "uuid": "d79a3b8e-7031-43a3-9ac3-0f93dbd3228c", - "version": "2019-04-03T105541.199977Z" - }, - "image_file/09226b24-6b11-4e4f-8052-2b544be461aa": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5919ffe8", - "indexed": false, - "name": "primary_image-fov_000-Z0-H0-C0.tiff", - "s3_etag": "a1c6a5e8fa17ebdf33eb0ca5659f1ac2", - "sha1": "1c0256e517b262f98f75ae9473de02275fa88b85", - "sha256": "85c5be8c3b6e4242837162f693f5d1bfce5300a32dc6ff5c30db24f1372e9c25", - "size": 1600269, - "uuid": "4777d5a6-1e0e-4041-8a30-b95a0e98d95c", - "version": "2019-04-03T105541.479157Z" - }, - "image_file/f67473fd-fbf8-4d69-9db1-556938ab5b87": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "dc899808", - "indexed": false, - "name": "primary_image-fov_000-Z0-H0-C1.tiff", - "s3_etag": "092438df9d1c75434c86b3a44abd3e34", - "sha1": "b815d45333f98a6e415f409f7f1f7646c50d98ae", - "sha256": "48c8b06f40fb077a3afe1089895fbda21ccca2111fe85c39b7b575fd39fa47f2", - "size": 1600269, - "uuid": "6309bae1-2138-4507-8a39-33bb19030090", - "version": "2019-04-03T105541.754003Z" - }, - "image_file/16acc1f2-9f1c-43c8-8ffe-4a9ea674e6ff": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ef95e538", - "indexed": false, - "name": "primary_image-fov_000-Z0-H0-C2.tiff", - "s3_etag": "b8d01ac3aeb362bba01f7cebc3970c4e", - "sha1": "599979a65ef48582469bc5d7e16a72645da874d5", - "sha256": "a540dc4a9ccdcfeb2b1ba4061f7735747e776c3b2d1f9bac758d13173a34315f", - "size": 1600269, - "uuid": "30263603-56cd-48da-9694-8b4bacaaf7bc", - "version": "2019-04-03T105542.029318Z" - }, - "image_file/017a2c88-4f6e-418e-bb96-f42f3a220f87": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "41667304", - "indexed": false, - "name": "primary_image-fov_000-Z0-H0-C3.tiff", - "s3_etag": "ef267373bca39f6c022c1363b4014fa5", - "sha1": "3aa293167e534c86eb86e9603e655e8db1a344fe", - "sha256": "27e04905020b0b33e62f0bee4e1ef338cf24c1114ca58a71af7444d41fe55a9f", - "size": 1600269, - "uuid": "516cc5f6-45ae-4b5a-94ca-bc8a6ece4510", - "version": "2019-04-03T105542.261771Z" - }, - "image_file/30305240-004d-4632-84d4-37d7e7378782": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6de2e7a5", - "indexed": false, - "name": "primary_image-fov_000-Z0-H1-C0.tiff", - "s3_etag": "37e50c5142ba89b0fee52882b441c2a3", - "sha1": "d3e006a7573788c42b24a9d1a7bf58677b1fa3ab", - "sha256": "baad4bcb11c43438f20f8e478666e7ec40ccd74c0b8d37e7119acd7dabb4dab5", - "size": 1600269, - "uuid": "e9a2424f-12b0-4ce8-b61e-29d859a1af3c", - "version": "2019-04-03T105542.605503Z" - }, - "image_file/20c5a14a-aaf3-40e1-9ab7-f95c06ea4200": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b94c15e4", - "indexed": false, - "name": "primary_image-fov_000-Z0-H1-C1.tiff", - "s3_etag": "a14109d34d7467c1f367c36df26e3488", - "sha1": "d9883b3112b42265aaaf02f00b34de45b010dda5", - "sha256": "13232371857789fbb26be5f783f2df61e65064dad45d495e4c7c5eaf89f4a1ee", - "size": 1600269, - "uuid": "80269cb6-3de5-4818-97b2-fb3748d8facd", - "version": "2019-04-03T105543.080155Z" - }, - "image_file/3fd2781b-6855-4eaa-b2fb-81db386adb18": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "57641644", - "indexed": false, - "name": "primary_image-fov_000-Z0-H1-C2.tiff", - "s3_etag": "a843d6e5142dabe4d2ee18737fced212", - "sha1": "be5e106fa634516f0987016c58e99c43b5abf74e", - "sha256": "6033c84accb8aeaa13c1d120e18f3250961eefd15501628893fe80eb60861c82", - "size": 1600269, - "uuid": "06862bf0-7add-4177-9d3f-d95aec58c436", - "version": "2019-04-03T105543.440368Z" - }, - "image_file/40474d53-44a4-4ab2-9f20-61b71291f8aa": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2ef0631d", - "indexed": false, - "name": "primary_image-fov_000-Z0-H1-C3.tiff", - "s3_etag": "8dc65ccb1a30f1196a2619c75c001a6a", - "sha1": "52b27d8337b17bee034add31aa9f320331172719", - "sha256": "c8e712cb8d7c982fc222f4ebcda04a2f75f4dbc9808f77e71ee296ec8b900b47", - "size": 1600269, - "uuid": "9e9be46c-708f-4931-ad11-4fed782e3949", - "version": "2019-04-03T105543.739247Z" - }, - "image_file/aaa97d47-7124-4763-a3fc-f6d66eb6d990": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "e84829d0", - "indexed": false, - "name": "primary_image-fov_000-Z0-H2-C0.tiff", - "s3_etag": "41ed5a93744a943d8fe70f2f3f17b96a", - "sha1": "cab05b18334080557b77701ab0550482feb7c2d1", - "sha256": "5abe3360206c21d661aeeee347e1e9bf3a65218798986c50b52328bd5c218845", - "size": 1600269, - "uuid": "6bfdc846-e6f8-4786-ac75-9fb7ac241778", - "version": "2019-04-03T105544.019854Z" - }, - "image_file/4adbed13-1cb6-4405-b892-fe8165050691": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "0ad5372d", - "indexed": false, - "name": "primary_image-fov_000-Z0-H2-C1.tiff", - "s3_etag": "9aea02b0c75eb4e67c9f9fc43d5d3491", - "sha1": "272b6b0db0808768ca0719295bfc2fb296acf011", - "sha256": "f1d06980228acb649ce21b0ef38736ec78d04c4cbd07117f7d2c798633271cab", - "size": 1600269, - "uuid": "8d3f44f7-00a0-4fab-adec-401781b783e5", - "version": "2019-04-03T105544.392532Z" - }, - "image_file/2bbf0125-b9cc-4413-8dd7-78ea72beaa17": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "8f903d20", - "indexed": false, - "name": "primary_image-fov_000-Z0-H2-C2.tiff", - "s3_etag": "6e8f2af5b0a2d3fc5025595ef1b2c2ed", - "sha1": "23489e202e34cabd7d9d61c46cfb451cdbfaaa2b", - "sha256": "a9200607a382651d0a0f8c74fe30b2c470f3004a6e3ccb7aa80394e905a89e17", - "size": 1600269, - "uuid": "b102d32f-1140-4ede-8813-8ed053f350df", - "version": "2019-04-03T105544.670961Z" - }, - "image_file/5402916f-6de1-4842-8585-fc25c153992b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f419bc60", - "indexed": false, - "name": "primary_image-fov_000-Z0-H2-C3.tiff", - "s3_etag": "81d22aa6eada5862f67fc2f6aea4b90a", - "sha1": "fe091ab324b0c644d1c29bde67fd4f7e5cd84132", - "sha256": "c9d2705aa363a24172108e1951134e8272d251ca1e3c82c9aef40e90f059c75e", - "size": 1600269, - "uuid": "e4ba18e1-b072-41cd-a091-32b51b5078f4", - "version": "2019-04-03T105544.961246Z" - }, - "image_file/75b78bfc-8d15-4a07-a07a-c62ae6d656b5": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "0686a5ad", - "indexed": false, - "name": "primary_image-fov_000-Z1-H0-C0.tiff", - "s3_etag": "3c2fc50883f92b0b76e252ff12acaa52", - "sha1": "e041d31c5ca58e22c8fc16c2e4b79724517c9374", - "sha256": "c8ebf8c62c728145e8802ba9cf396ae5f5706ca1ca33602d2ea2287ad9df4988", - "size": 1600269, - "uuid": "c296fb80-3fb8-476b-b8ff-eae9e8c75388", - "version": "2019-04-03T105545.187187Z" - }, - "image_file/8a78224e-4106-41d4-96cb-4d9a8b9ecad2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "68f4056c", - "indexed": false, - "name": "primary_image-fov_000-Z1-H0-C1.tiff", - "s3_etag": "aa85587e50c61f3c880f811af83589b3", - "sha1": "be1b220b93033b9f9cfffedb624017b5cfa0ee66", - "sha256": "2eb6cb0132ea1571b590522a167bd60479c7bf52cd671b0763df3178e87853e3", - "size": 1600269, - "uuid": "399445e5-b4f6-4f3e-8b65-bfc76f0e078c", - "version": "2019-04-03T105545.522173Z" - }, - "image_file/cb92dd92-570c-4075-8893-eb19dbd837b8": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "533d7018", - "indexed": false, - "name": "primary_image-fov_000-Z1-H0-C2.tiff", - "s3_etag": "fac114b1689dd0fca29af6d3636fbdde", - "sha1": "ba56f9680075f5677ed7294406fe53b5553207f3", - "sha256": "ea883a274715c627c3a2615a1340c22d88f8c5417de3106a9aa666f0c02b851c", - "size": 1600269, - "uuid": "fbefb123-cf54-4eeb-9ec2-d826e44ad953", - "version": "2019-04-03T105545.766611Z" - }, - "image_file/b36948c4-0646-42be-9db2-16626a757343": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c69cd6f6", - "indexed": false, - "name": "primary_image-fov_000-Z1-H0-C3.tiff", - "s3_etag": "816a7f3754cb7c2932ac7e0ccd3b72ba", - "sha1": "81551338a2440f0189af43a590750fdcd999c47f", - "sha256": "7c1d52008fd944b34aa86fd0a5d56a2c0d0360bd6c7939fcc86a5ca28312c024", - "size": 1600269, - "uuid": "8bf3db8e-e9cf-40e8-916b-b1e24449d79d", - "version": "2019-04-03T105546.280407Z" - }, - "image_file/c974f4eb-27b8-4ec3-913e-a6eb19572a51": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4ee7d925", - "indexed": false, - "name": "primary_image-fov_000-Z1-H1-C0.tiff", - "s3_etag": "dea6ad5eef4899e73f04c8f4690d40b6", - "sha1": "5013191d6a7ab184c73a492f80075e994a1a4fd9", - "sha256": "37665c56980c1c395bcf89548565b40d44bd1a6e84bc31ba101d2e83818fe89e", - "size": 1600269, - "uuid": "2207ffb3-4f5a-47ba-99c1-b7d81b56168b", - "version": "2019-04-03T105547.016718Z" - }, - "image_file/febb760d-1e9e-4432-9b88-ce2869a43c44": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a8a836cb", - "indexed": false, - "name": "primary_image-fov_000-Z1-H1-C1.tiff", - "s3_etag": "5e0e4bc2b50cc746ff593818d3eec6b4", - "sha1": "555c67dadbbfd481b3137d4a4a5ff6cfde52edf6", - "sha256": "5eebc95b1f0daa116d73359a0c653759910a84e2a086239105fd31cc2c463d6e", - "size": 1600269, - "uuid": "6b04d393-7852-48b4-ae14-8cfa4543c5ca", - "version": "2019-04-03T105547.282294Z" - }, - "image_file/054f40a4-68d0-41db-81e9-00239042d9fa": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1debd71b", - "indexed": false, - "name": "primary_image-fov_000-Z1-H1-C2.tiff", - "s3_etag": "068c894051c2c8b83133fdb7098a10be", - "sha1": "ced49b3e129ebb7516e2719ed98c90b9176065e5", - "sha256": "ab3b43d91b8106b24f550afb6b04e4ff06c29703b8b7c03b62b5ded3e3562bcf", - "size": 1600269, - "uuid": "d2859680-0fe8-400a-be0e-e04a3d832d1f", - "version": "2019-04-03T105547.626243Z" - }, - "image_file/ec7f06aa-e4f9-4f4f-afd1-0ecd39b2e3f5": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "170b0997", - "indexed": false, - "name": "primary_image-fov_000-Z1-H1-C3.tiff", - "s3_etag": "d4bf941909636e00f4e65df0f937c3cb", - "sha1": "f368d9c51c85353f576504ce351dbe5f7c9abc20", - "sha256": "51a22aa82eda457911b822c3a67a6c3d2169c54b7204b66711ff6113d45114e6", - "size": 1600269, - "uuid": "467e4b98-519f-430b-8c59-57270f0e1259", - "version": "2019-04-03T105547.939813Z" - }, - "image_file/819e3227-cc54-4919-95af-c1f8194bf729": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7fa1a6ac", - "indexed": false, - "name": "primary_image-fov_000-Z1-H2-C0.tiff", - "s3_etag": "fb985f9815313f8178cc81bba8e6899a", - "sha1": "44d97a67583454e7b540bf23634b635ec77273e6", - "sha256": "2783f3179b06e80ae1b5a0f45c40afeae45b8da41930d0c1e3e050d7e9698344", - "size": 1600269, - "uuid": "f7f95a37-370c-459f-bf84-19691fb195a5", - "version": "2019-04-03T105548.236748Z" - }, - "image_file/b1e2b9d1-6973-41dc-acdf-95474303561f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c57cc4b9", - "indexed": false, - "name": "primary_image-fov_000-Z1-H2-C1.tiff", - "s3_etag": "bfb6be8b742f97e57548a08c2f520360", - "sha1": "2de2a3814a9dbc094c76fadcad41a234fc6bc51b", - "sha256": "9055d0b3f83ba41e98c9105cb806e216b0d14a24f50c88489fa06e207f046f3c", - "size": 1600269, - "uuid": "dbf2dbfb-2470-40db-96c8-eab439922ceb", - "version": "2019-04-03T105548.520165Z" - }, - "image_file/41ffc783-5ad4-4197-8fd1-c029903c43c0": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5b3ff3f3", - "indexed": false, - "name": "primary_image-fov_000-Z1-H2-C2.tiff", - "s3_etag": "51231d0f2eaf546c0530395a18067409", - "sha1": "e111abd73a379d0adb85398ed96e8b21c7e8a023", - "sha256": "5e4028907526a099ee4b685a15a583e000c0164c14ecfcd41118b48cc3c05bc4", - "size": 1600269, - "uuid": "cbb74511-25d3-431a-83e5-96d8746b7b13", - "version": "2019-04-03T105548.859536Z" - }, - "image_file/ec9c70f0-3ed8-461c-ad0b-2475bd48ac8f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "316b67c4", - "indexed": false, - "name": "primary_image-fov_000-Z1-H2-C3.tiff", - "s3_etag": "d99c136ee57c7e24b55ce51a10a849eb", - "sha1": "ee5b76ef47b16398d5ee3d4e1c3125f32ceabffc", - "sha256": "c72b7a15560b7ab0419e223ad09ded3e3f182263c0c7ae4a6596246e8960b1c0", - "size": 1600269, - "uuid": "8feb1eb5-aae7-49f3-8a50-ca08fc6cd9ae", - "version": "2019-04-03T105549.143186Z" - }, - "image_file/9014bbaf-a047-4b69-8e28-8356cc99f84e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "8776fda9", - "indexed": false, - "name": "primary_image-fov_000-Z10-H0-C0.tiff", - "s3_etag": "53114fb78c0083e71676e1f5df07c223", - "sha1": "5d9ca067634e35d3c6d2d9c42343551c600757cf", - "sha256": "148e60401f58fffa7ec7e17ef68b45e712114e52d1e33a79b849773f3a5cd5b3", - "size": 1600269, - "uuid": "c24714bc-d736-44b9-80f7-226178093cb0", - "version": "2019-04-03T105549.500027Z" - }, - "image_file/f7acf90c-2b32-463b-b832-8daa8529f727": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a7bafd39", - "indexed": false, - "name": "primary_image-fov_000-Z10-H0-C1.tiff", - "s3_etag": "609844220fd3b593ee0caccac529202c", - "sha1": "9a6a05000bf0851e9469c5a582d04bf716cbe7f1", - "sha256": "1abb6241a8357ff244d86c8352bd1e713ef343fbf15dec7157ac533152d92a0d", - "size": 1600269, - "uuid": "f2f917fb-0729-43a9-8b91-badc7768e23c", - "version": "2019-04-03T105549.865712Z" - }, - "image_file/fae4f8b8-e6ad-4c1f-8126-e03ba8aca46e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "23d93904", - "indexed": false, - "name": "primary_image-fov_000-Z10-H0-C2.tiff", - "s3_etag": "4dd7610181826f6adf9c563c901e0fca", - "sha1": "dfc98d2e436aef7982fa4241d774aeb6b9aa0ff1", - "sha256": "499483d49cd71506c7095f30a39c64a556ce63902cdbf375b613c495de56e733", - "size": 1600269, - "uuid": "3b548656-b0e1-4fd0-8ed8-0002a5a618ba", - "version": "2019-04-03T105550.106030Z" - }, - "image_file/db22deab-498a-409c-8386-5bf4e60a080c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1439edf9", - "indexed": false, - "name": "primary_image-fov_000-Z10-H0-C3.tiff", - "s3_etag": "629e25a7c5a804cda8c849843844076c", - "sha1": "be5ce9eb8bd863dd596a98f4150ab661e01147d4", - "sha256": "d2d0f8b5f1ae031f26adb3a579be5cf845b0c0a0468fe0f0f71ecfb8d3db7e28", - "size": 1600269, - "uuid": "07db36b4-87d4-4fa1-8a85-b85701d5a9f8", - "version": "2019-04-03T105550.478983Z" - }, - "image_file/07d600bc-0d55-4a8d-9a48-390fc4169845": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "23dfcc29", - "indexed": false, - "name": "primary_image-fov_000-Z10-H1-C0.tiff", - "s3_etag": "f4a1a90d44cff0e07b1b2d7b9aefcf8c", - "sha1": "2b3ded69a6c35ed47e325fe661482929f4dc4cb4", - "sha256": "4e13cfd76ea5e4b52c9316fbbd563e5bbd9673a708c71bbbfb45b789c6759cd0", - "size": 1600269, - "uuid": "49ada68a-c5b7-4e03-9449-3684e06db4fd", - "version": "2019-04-03T105550.739481Z" - }, - "image_file/d0a032bb-cd0e-4873-b346-5cb19e45c202": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b8797e65", - "indexed": false, - "name": "primary_image-fov_000-Z10-H1-C1.tiff", - "s3_etag": "98a99be632b58130697636723e4bc732", - "sha1": "638bb19206f156858aebb94110483a0dedcd79ce", - "sha256": "e6bd3d5c56ed7b408a4096a224efd0f09a861674f14991f3c1fcee26aea63d5a", - "size": 1600269, - "uuid": "dc2076bd-19ec-47c7-8ac9-6c6503386cd6", - "version": "2019-04-03T105551.111778Z" - }, - "image_file/a161f60f-af92-4b09-9df0-dd7ff2bf571a": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "387caf6a", - "indexed": false, - "name": "primary_image-fov_000-Z10-H1-C2.tiff", - "s3_etag": "bf79470aa23df7680bc3dab20bc9fdeb", - "sha1": "30b2559ccffd430ab301d0181b7a016fa68a8b39", - "sha256": "28a08c2edb7044af26e5732fe991643c1fb97851d35ad18658b6ff75e9a9e2e7", - "size": 1600269, - "uuid": "2f5d576a-9e48-4f98-b19b-11e0bbd86615", - "version": "2019-04-03T105551.335466Z" - }, - "image_file/25c6b755-7f62-49a3-a1b5-aafbc772b5dd": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "94de8736", - "indexed": false, - "name": "primary_image-fov_000-Z10-H1-C3.tiff", - "s3_etag": "c4406f061e2d8b568d72b2d8bba598ee", - "sha1": "cfc78b40a3a786933d7e46b3808cb4fadd1b275b", - "sha256": "621cd72144807a88513d47937d763ac4b665ae144f364f4c69ed0ab6802c9985", - "size": 1600269, - "uuid": "56a4a357-0c62-4058-9362-1ae9b928a38c", - "version": "2019-04-03T105551.680479Z" - }, - "image_file/f10fd9e2-5747-4d7a-8c0c-beba81749011": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ef84dc08", - "indexed": false, - "name": "primary_image-fov_000-Z10-H2-C0.tiff", - "s3_etag": "4fa41de358086361a329422e9eb9c045", - "sha1": "f50094df26c7aabc9a83d46b85fa59badc5586cb", - "sha256": "e54c2e4b5a5d10ae3be6b91d08415b3fe463c3ccd9f86f7ebf9b2bf9617ffbdc", - "size": 1600269, - "uuid": "ab9c2448-9e9c-4847-ab2a-7e65333c7795", - "version": "2019-04-03T105552.080625Z" - }, - "image_file/553b6aab-4745-45f8-98ab-de6aadbf48e4": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f901ef1b", - "indexed": false, - "name": "primary_image-fov_000-Z10-H2-C1.tiff", - "s3_etag": "28eb33b0ea77042d1e5467e78ba4a9ee", - "sha1": "162fc33e51482e60820e4c51c5705e10c7cccaa2", - "sha256": "02324cb2dc6975d11959c1694c534654ef48aeae1086128362bd554c92bd4a25", - "size": 1600269, - "uuid": "5b961510-975a-44ee-82c4-47fb7a1ef69f", - "version": "2019-04-03T105552.339328Z" - }, - "image_file/3572abe9-6e42-4266-8671-ff24b592065c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a7975ec3", - "indexed": false, - "name": "primary_image-fov_000-Z10-H2-C2.tiff", - "s3_etag": "1f322edc3014aa0637924a3fcf4c7c14", - "sha1": "c7f8bd8e320ae18fc3443dd06e596d2d1468c8c4", - "sha256": "c48167caf74695965ea023cdb713253ea866d0970eb40c0fe23df266c7226917", - "size": 1600269, - "uuid": "db9d6d77-a51f-49ce-946f-21038694b549", - "version": "2019-04-03T105552.640285Z" - }, - "image_file/6882abf6-c247-4167-a18d-e3fec24bcba2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "3c89e00e", - "indexed": false, - "name": "primary_image-fov_000-Z10-H2-C3.tiff", - "s3_etag": "16ca9c5b30cf10887d69732d835cef73", - "sha1": "d697fdf4b12a4e4f1f562f90b9347a3a6597d34b", - "sha256": "5a8338ac1fda0c1554f616d4501369f07f7de1d0ea4e3e17ab682e314dfcde98", - "size": 1600269, - "uuid": "5146d165-1eee-48ad-8327-174d1817dfac", - "version": "2019-04-03T105552.942022Z" - }, - "image_file/15f8b73e-937c-444d-8362-fdf458abb651": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c5ceab43", - "indexed": false, - "name": "primary_image-fov_000-Z11-H0-C0.tiff", - "s3_etag": "6ceae755ed9aeaebb963364ec7a90d1b", - "sha1": "fa929971df1181934df9282fc6f1db41e8f79d88", - "sha256": "6dfdab9d07ef4c282a65d2e6f0f6b0b3f65993ad10100c7c4e92c1f6b5c8bc3f", - "size": 1600269, - "uuid": "78dc3350-0cb6-4731-b0fb-fa0088f7dac7", - "version": "2019-04-03T105553.200291Z" - }, - "image_file/33b4e374-20ad-4fee-b682-aaa4fc12bec2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2e42a5e7", - "indexed": false, - "name": "primary_image-fov_000-Z11-H0-C1.tiff", - "s3_etag": "06ed8b773024d7146d717791f414ff10", - "sha1": "e5926a496daa980fd009cf259c1d09d60ef88af8", - "sha256": "755a673f5eac78d48792f777ab04e352814e75596625a9331b9e5af7c199d7a3", - "size": 1600269, - "uuid": "213981ed-c5de-40d6-8d09-ef4354fed57a", - "version": "2019-04-03T105553.480733Z" - }, - "image_file/0e83c507-2211-4561-b75a-92326fb2d4fd": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4e0d8d92", - "indexed": false, - "name": "primary_image-fov_000-Z11-H0-C2.tiff", - "s3_etag": "11563e56e169852a5c3a993b476de480", - "sha1": "7e4ab718e0abd53edaa1db559eea3a63784e6e8c", - "sha256": "840268313bf93809cf0f6d546a4d24152fe1514a472d4c2715df3904e397f835", - "size": 1600269, - "uuid": "4f19bb8b-95d6-4dfd-8c58-6bf557cf7e8e", - "version": "2019-04-03T105553.790586Z" - }, - "image_file/912c55cf-0774-4838-8874-352766984715": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ae3e068c", - "indexed": false, - "name": "primary_image-fov_000-Z11-H0-C3.tiff", - "s3_etag": "a9a16146242832c0defa79e41ae59204", - "sha1": "d6370db80b250ed05858f6eaff1e1b4b95006cca", - "sha256": "b6500f6c5ece4770f0299a3145253b99a012eeba9c451e68e1a887b8f454c2da", - "size": 1600269, - "uuid": "b735a8fe-4d8b-43dc-856b-5376aaf8e7f2", - "version": "2019-04-03T105554.038843Z" - }, - "image_file/b2f32e7c-fea2-44c2-a6ae-832c1c7b9e37": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "27ad1cac", - "indexed": false, - "name": "primary_image-fov_000-Z11-H1-C0.tiff", - "s3_etag": "bfc0e583fb4ddbf764b5cbe65aab35b7", - "sha1": "5d833a37af8766382fabd4337b7e8ccbcad60815", - "sha256": "d1ec35fd392cf3d718332fa54250ecf8efd284f3120a1c8d60074e15b84f5377", - "size": 1600269, - "uuid": "6465a79b-714e-4286-835c-f510fcc744e8", - "version": "2019-04-03T105554.264803Z" - }, - "image_file/5b8e3d96-e625-46b6-9689-110fa84fd721": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "73c913f4", - "indexed": false, - "name": "primary_image-fov_000-Z11-H1-C1.tiff", - "s3_etag": "bee5e534a6183e9308bdeb31977a213b", - "sha1": "49eb9d3550635011759d0f5c18ca341bf72a20b6", - "sha256": "3f952c140d5afa90976992b1a5c729b4603648bd12d19e601cdc91427d0cb49b", - "size": 1600269, - "uuid": "9a77ba3d-6773-4e07-ac91-61f0b9203183", - "version": "2019-04-03T105554.539793Z" - }, - "image_file/de43f9bc-ddec-4326-9cb1-7b9c5f76a84f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c026823a", - "indexed": false, - "name": "primary_image-fov_000-Z11-H1-C2.tiff", - "s3_etag": "89cee9ee67610a67152ecf11612fea08", - "sha1": "b5e4908efff59dcd7ad788bfaca249425f528af8", - "sha256": "ac1ffe203eb3ec5c71c7b75ed3fd052a99d8d1161f7ace904b6860ad7c82b129", - "size": 1600269, - "uuid": "fc091e1c-afc8-46e4-b9d3-68341242512a", - "version": "2019-04-03T105554.778615Z" - }, - "image_file/6f3272d7-4a62-4a3c-8c44-11dda8756956": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "44c7966c", - "indexed": false, - "name": "primary_image-fov_000-Z11-H1-C3.tiff", - "s3_etag": "0c1fb1c4fb4c8e371fae1aae894c0135", - "sha1": "a2a83424533f08979828792bb6fd54836a7a7b21", - "sha256": "8c06e4f22cbd47302f82585d2134b1230c4062e03215a7d83b801bbb72900e6d", - "size": 1600269, - "uuid": "e4021199-842a-489e-a65b-fc3160446904", - "version": "2019-04-03T105555.379342Z" - }, - "image_file/168422c5-e89d-466c-9085-f29c02160143": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d7b7bf7a", - "indexed": false, - "name": "primary_image-fov_000-Z11-H2-C0.tiff", - "s3_etag": "d5e9649396c9c7f1f98f0672dcee3864", - "sha1": "b6ce1d39b6b2399b96af8eeb8bab755586acb152", - "sha256": "fdb06d5ef69715919d7ea4bdeeda0c7a81b838a0ef28268a87bf6abe4af8c898", - "size": 1600269, - "uuid": "1aa253f9-b137-4fd9-b65f-c307420bcfc4", - "version": "2019-04-03T105555.600718Z" - }, - "image_file/7331367a-cc43-4af0-8750-a2921d513f97": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "88ae4d73", - "indexed": false, - "name": "primary_image-fov_000-Z11-H2-C1.tiff", - "s3_etag": "dd2287f120520149e017c264e72f3de6", - "sha1": "887e3e928d8afcdfda17e64a56f6bebef141d2e8", - "sha256": "30f20720e23acf0caff1ff1bdbe582de254d3a8ab93188a44b63d5cdd597fc28", - "size": 1600269, - "uuid": "22be2eb0-32f3-4b49-884a-e2d28c01706d", - "version": "2019-04-03T105555.855632Z" - }, - "image_file/edf83a09-2e60-4571-b650-abf4c7ff757b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4ae105be", - "indexed": false, - "name": "primary_image-fov_000-Z11-H2-C2.tiff", - "s3_etag": "72c1259fa055687565fc81b8cfa196e5", - "sha1": "342a81768acd7d32ba4b7f92f3ca11e7f17e0691", - "sha256": "8c1bb26f1be6c9196ef0e074a968bfee34806079e57474577fd3ba8947a07173", - "size": 1600269, - "uuid": "c99e944a-475c-4df4-9e6d-9ea50057cfb6", - "version": "2019-04-03T105556.233992Z" - }, - "image_file/24bdb70c-4bd1-41e0-b5c2-a3a2e0e4ce5b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ac587eaa", - "indexed": false, - "name": "primary_image-fov_000-Z11-H2-C3.tiff", - "s3_etag": "18fe5ebd9f1da1734d7e233b29b4f39e", - "sha1": "1db0756bba2080c9e1a91bbb6abc7b7fda196869", - "sha256": "30b35d9ebce19e936ca156ccc1669700a28819a57082b28b9390e863c21b9f6f", - "size": 1600269, - "uuid": "2a5f4fda-058f-4478-94dc-c12130be8969", - "version": "2019-04-03T105556.579317Z" - }, - "image_file/be9d12b6-f8dd-407c-b1d7-844deb6a5023": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d02a9c3c", - "indexed": false, - "name": "primary_image-fov_000-Z12-H0-C0.tiff", - "s3_etag": "887f41fc2ff12774fef02765785202d1", - "sha1": "490d14a6d94736b991639b06b5a5690e68f03488", - "sha256": "616f5e816d18b75695af9ae3ca6bf250730ebaf7de10b43be96cdbb96d9c54c6", - "size": 1600269, - "uuid": "cca66a40-ea4e-4d2e-a9a5-084a9dd6241a", - "version": "2019-04-03T105556.968010Z" - }, - "image_file/e3e59792-61e3-4bf0-a985-2acec75acafd": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "9b9bae44", - "indexed": false, - "name": "primary_image-fov_000-Z12-H0-C1.tiff", - "s3_etag": "b4adeb99c5cc807251a7c41114cb2ffe", - "sha1": "d804db3cc63cd09b7ede0a4706b4abd2b2d633e5", - "sha256": "add26fb8561728ddcc1da5b8019bf30c34a1a4724680eb8f4f297867123b6054", - "size": 1600269, - "uuid": "ab43f67c-1352-4344-9ab2-164ec39d5b23", - "version": "2019-04-03T105557.260494Z" - }, - "image_file/095ee09c-1605-4c07-9324-b5382f20b78e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1aecea4a", - "indexed": false, - "name": "primary_image-fov_000-Z12-H0-C2.tiff", - "s3_etag": "789c4f2bf1ef3b375f0804110a733d7a", - "sha1": "749897eaf2fc13f1a61b2277d91173c3ac04bc18", - "sha256": "400a32e254cc7e8ff63c0f7ecbb06f46046180447674d1192404dab8d37a1202", - "size": 1600269, - "uuid": "78046a68-90a9-4761-85fe-bb8f1059a75e", - "version": "2019-04-03T105557.518156Z" - }, - "image_file/77b96424-accb-4c6b-884c-756f2bb40929": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "3b5afbfa", - "indexed": false, - "name": "primary_image-fov_000-Z12-H0-C3.tiff", - "s3_etag": "5a4deb28c50b741404bdbf9b482731b6", - "sha1": "d13f3bbade8b67796a019f3163b697a4de1f9f6f", - "sha256": "7bfd376a2be4d88c67c8d175c52423ea1391402a062b7a0392b0dc2dbfccfdb6", - "size": 1600269, - "uuid": "fbb1d9de-baca-44fd-82b4-1b5f9b76e126", - "version": "2019-04-03T105557.760815Z" - }, - "image_file/a0c2a5b4-7cc2-47f5-97a7-6b59019155da": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "16ce63ca", - "indexed": false, - "name": "primary_image-fov_000-Z12-H1-C0.tiff", - "s3_etag": "f4f92e4d0fe49222df6715b1eacfc860", - "sha1": "89495f8ee49f756930b7f9699716d720eff0250e", - "sha256": "2202bb6788f971004969c17f5d5013579ac627048d6bd25ad7c63e671e3687f2", - "size": 1600269, - "uuid": "d33aac64-f261-46d0-8712-543ccdc219c0", - "version": "2019-04-03T105558.079130Z" - }, - "image_file/78518dc1-d38e-4230-88b8-887bdd83f965": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "8ee8eacd", - "indexed": false, - "name": "primary_image-fov_000-Z12-H1-C1.tiff", - "s3_etag": "b3986a3a15c69644873dd204270a63d2", - "sha1": "384ee670a45003c385d732abb08ffe4b5054b2b3", - "sha256": "3e99efc1c84bdf4f3022a35b02d6a310924388f5a64d245322abbb39179bac14", - "size": 1600269, - "uuid": "ea165ff1-76d8-4fc4-b5b1-46e13a92d61a", - "version": "2019-04-03T105558.419178Z" - }, - "image_file/652dd3c5-6467-41ee-89b3-e4b3361fb533": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b653f9f2", - "indexed": false, - "name": "primary_image-fov_000-Z12-H1-C2.tiff", - "s3_etag": "d9d98464887e0fd0e375a7ce2035fde6", - "sha1": "2f9ed661847addb7a1e508f7a64551d56e71055b", - "sha256": "91d3a98042a86c79996b0cf5713812607de53519f3b9c7227fcb5667fba95831", - "size": 1600269, - "uuid": "fbfd8b5e-6818-4204-8a1d-af17f654c63e", - "version": "2019-04-03T105558.880203Z" - }, - "image_file/cae3d214-d485-4350-8cd2-f4142aca4aef": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5d2ad397", - "indexed": false, - "name": "primary_image-fov_000-Z12-H1-C3.tiff", - "s3_etag": "ead473980cdf361a40efde6487b5812e", - "sha1": "ee103d84ace151c7dfe68e579546b4445ecd0c89", - "sha256": "9ac81cb46bb7244b76dbec83afa406653bc80e5f50e8cec14bcf52da96f53a46", - "size": 1600269, - "uuid": "88045284-69d1-49a5-951a-ce861ed0dbee", - "version": "2019-04-03T105559.179305Z" - }, - "image_file/2ab7ea06-08e0-4669-88e0-23c1e74a3b49": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1b57836e", - "indexed": false, - "name": "primary_image-fov_000-Z12-H2-C0.tiff", - "s3_etag": "dc98cbd9f2ed861f4839edee92c741ac", - "sha1": "ee94e5cf8c841bba7be2a55582d83bf336b25b2e", - "sha256": "b0559f19893372f5d1e2eb022c8de33afab9460c5bfdc3fa43a1d132a553080c", - "size": 1600269, - "uuid": "29982631-185e-43c5-ae8c-daeba6e26c2b", - "version": "2019-04-03T105559.659913Z" - }, - "image_file/de282263-0944-48d4-9819-6182636c76bd": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ab93140f", - "indexed": false, - "name": "primary_image-fov_000-Z12-H2-C1.tiff", - "s3_etag": "27f70fe14e7e3b07edd0dbf20bc14d9e", - "sha1": "ea798bb2f189c427a46b4d80219fc6d16e7e2818", - "sha256": "d18bcb7369e1a4c3fba02e006c593aeb12d3baf16115db0d5324404ee403db77", - "size": 1600269, - "uuid": "083944c0-37af-4c9c-80e1-2c101b95acc3", - "version": "2019-04-03T105559.998865Z" - }, - "image_file/bfdbe9b5-42ac-419a-b297-843095de2cc2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "402e893b", - "indexed": false, - "name": "primary_image-fov_000-Z12-H2-C2.tiff", - "s3_etag": "05a62cd5712c3eeba56bfe96f267bb9a", - "sha1": "497da012af65c6fcaf0be9986227d77d45b94e80", - "sha256": "f19fd7d959fb5c7a48fe8cd776a0e4d7706bde6f11d8fec837ced211b64eca29", - "size": 1600269, - "uuid": "40cbb7e6-b5f1-48ad-825a-5159197c6803", - "version": "2019-04-03T105600.308174Z" - }, - "image_file/0ef6ffa4-e40f-476c-8ac9-10732ef6e42d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f843bf4e", - "indexed": false, - "name": "primary_image-fov_000-Z12-H2-C3.tiff", - "s3_etag": "a3ced1c2e181c3ae3b6c0175d034d4f5", - "sha1": "ac3087f9eb2e5a42b61bef858f5ff15cf7bdc36f", - "sha256": "88bd33e3488dffad8404a0dc27afaef8dbe5bada2d88ad5a59ddf43c3e8c0597", - "size": 1600269, - "uuid": "ebe33ee1-8e0b-4412-abb1-b26c5ead07e1", - "version": "2019-04-03T105600.586805Z" - }, - "image_file/e2763cda-3236-487e-9944-5169c0cb8856": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "052f06bf", - "indexed": false, - "name": "primary_image-fov_000-Z13-H0-C0.tiff", - "s3_etag": "bcc9167532fe6d4332a6042181df7d1a", - "sha1": "d66ea4b0cb0b34be2de8e9e5a12926f49145dff3", - "sha256": "2b078043f0c405d3cb989c43456e5b7ac835f416bb620ea3c85e16c8962b3433", - "size": 1600269, - "uuid": "a94e0444-861c-418a-a338-16ed56e9b430", - "version": "2019-04-03T105600.867025Z" - }, - "image_file/37018bd8-8537-47c3-a5a9-efb43552f30c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d6ebd4ee", - "indexed": false, - "name": "primary_image-fov_000-Z13-H0-C1.tiff", - "s3_etag": "34c1ff12c674255cd44d44d5e7201890", - "sha1": "190094d40dfa2f357d761866860d24d687a8158d", - "sha256": "871f6921cdd3d12ec7b1670a59eb2c8e123a376e391e59f434efce751661da40", - "size": 1600269, - "uuid": "2e39b6d1-7755-4265-a044-f74cac9943a1", - "version": "2019-04-03T105601.179469Z" - }, - "image_file/a6c9b1ce-2054-4a48-b262-bb0723b8a567": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "584d986e", - "indexed": false, - "name": "primary_image-fov_000-Z13-H0-C2.tiff", - "s3_etag": "2dfbbfab11c2528ce2f4beafdfdbe1be", - "sha1": "6403da61835d4362a70a2e5dfbd112984cd22d81", - "sha256": "dd7b8ec3c8a18855a787d282efaffe9b9c5927d29046b194bb405586fc0f4a6b", - "size": 1600269, - "uuid": "fcab0b60-14e5-441a-b5ab-492576785bfb", - "version": "2019-04-03T105601.420192Z" - }, - "image_file/8319ee38-f199-49d7-989a-25b451656b38": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a9ee4bc6", - "indexed": false, - "name": "primary_image-fov_000-Z13-H0-C3.tiff", - "s3_etag": "b36579dc19eb793dab6d74b099b3c094", - "sha1": "bdf15acace826820eb39fab732fc21b1c9b71ba5", - "sha256": "7c822e36225c6ae1ae17eeae2c3d8d036386e57b7c4a096e2f5412af9441a227", - "size": 1600269, - "uuid": "45caa165-0ccb-424e-a454-da6ee8c3debb", - "version": "2019-04-03T105601.721498Z" - }, - "image_file/022841b6-8b7c-4d0c-b65f-06ba14253540": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6ff498a1", - "indexed": false, - "name": "primary_image-fov_000-Z13-H1-C0.tiff", - "s3_etag": "263ae72ab8c5b07cdb67115ead4b0581", - "sha1": "0b1851977e68f57322a9b9b610e28ad2a9ca59c2", - "sha256": "e2160976c70adaa0cbbe30ad556550978fb8e179c5c2c01d43e51eaf392fd8ec", - "size": 1600269, - "uuid": "cd27dad7-cd62-442b-ac93-1a492df1045e", - "version": "2019-04-03T105602.039781Z" - }, - "image_file/299dfbe5-05f5-48a7-816b-61036f0e435a": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d3808e49", - "indexed": false, - "name": "primary_image-fov_000-Z13-H1-C1.tiff", - "s3_etag": "9825ecfc61e68ca25e40bef25e59ccfa", - "sha1": "ff0a443f513db573f55cc98e5ee1a37296bfae97", - "sha256": "bef348b002b6d232a391fb0d3f9c31506dbb24eaca6a82ea255e8e362affc71a", - "size": 1600269, - "uuid": "60dd0c9f-00a5-4d05-9e03-d3d9ed094144", - "version": "2019-04-03T105602.303691Z" - }, - "image_file/6b8b11aa-3600-4a63-a980-93465e681c9c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "559258c8", - "indexed": false, - "name": "primary_image-fov_000-Z13-H1-C2.tiff", - "s3_etag": "f36dfa34f3494ced8619bcf41f50b609", - "sha1": "8b42c0a67ebb80242e695de36af2704240a43541", - "sha256": "d122a74a78ee74b8ec52ad8c0e8c91a0da215f9ccaa8997d97ac19312792f3ec", - "size": 1600269, - "uuid": "c6feee87-37de-465d-b860-b9bd70da69c9", - "version": "2019-04-03T105602.620006Z" - }, - "image_file/35716168-df43-4273-b52f-72e3d18a47bc": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7da89022", - "indexed": false, - "name": "primary_image-fov_000-Z13-H1-C3.tiff", - "s3_etag": "b8911343150f670d61645fc8a8d33ae5", - "sha1": "5bd3d9288289f0c69a6d4f56d3361d3743b423f2", - "sha256": "2170b2d5225a5c06b8e6a0d4c7baf98fedc829c55cf39384836319dde5cfd27b", - "size": 1600269, - "uuid": "bf2d918b-0a45-4f42-83b5-e38dd2c77084", - "version": "2019-04-03T105602.924316Z" - }, - "image_file/6be783ec-c132-4e09-90e0-0958efaf6619": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7855861f", - "indexed": false, - "name": "primary_image-fov_000-Z13-H2-C0.tiff", - "s3_etag": "adee3752465a14bac55600bb2ba15d49", - "sha1": "6ec29fd007cae668ee61a9fb88415817247f59c5", - "sha256": "8c8299f5933f6546bbca375bdd0258ccf642bae8cbed6cbad569037a21477389", - "size": 1600269, - "uuid": "31896233-7b29-42a4-94b0-208095c99f5f", - "version": "2019-04-03T105603.161708Z" - }, - "image_file/a11956c9-c24e-4efb-8af8-1167b3081e70": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "aa188246", - "indexed": false, - "name": "primary_image-fov_000-Z13-H2-C1.tiff", - "s3_etag": "8a7c1094a104a9a7cc40ed6178fcb752", - "sha1": "0035dc38e3f4276b3442a308d0d7418a6eb24614", - "sha256": "cf7f002f384c6f5491b164dd7a571d9c768be9bf3e019401015b6dc69b957696", - "size": 1600269, - "uuid": "55001751-e224-4825-87c4-bd786345faef", - "version": "2019-04-03T105603.421325Z" - }, - "image_file/b69a349b-0e07-4fbe-9e3b-9f2cea828b96": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d735689c", - "indexed": false, - "name": "primary_image-fov_000-Z13-H2-C2.tiff", - "s3_etag": "6312ba6081f851b6a62ecd624764cad3", - "sha1": "53f3a2a46803321bfa6b0271c887130a4d87a94d", - "sha256": "4de7ef1850de8d30f292f26d5df973c15a37d0f09fcec7e36206c1380e74abcb", - "size": 1600269, - "uuid": "9e4aa7a1-045c-448d-9506-9f180646f31e", - "version": "2019-04-03T105603.652981Z" - }, - "image_file/753c2a57-b5f1-4984-b874-b2b10d582847": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "3ede4f1c", - "indexed": false, - "name": "primary_image-fov_000-Z13-H2-C3.tiff", - "s3_etag": "c6cd4cc027b68101cdebd5cd9c8b4a67", - "sha1": "745fd35a8b5509b852148f57dbd9a4dbb4bd355a", - "sha256": "42173d6b156f00f205f92f20f694b7392ce3d7619033122df8388e1a45acdc73", - "size": 1600269, - "uuid": "54ddc5aa-4b48-48e5-a955-2f969478eb8d", - "version": "2019-04-03T105603.939697Z" - }, - "image_file/e0b93b3d-075b-482b-838a-e36d8849607b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2567a82f", - "indexed": false, - "name": "primary_image-fov_000-Z14-H0-C0.tiff", - "s3_etag": "23d4e877ecb39a2bb4b4323ee3560bd9", - "sha1": "076ae34880e7546836d365851668aae082501850", - "sha256": "2c9e806302eecfe1fa003b8ed15beeed08d6cb6e93b2552c30c7d48a8253386b", - "size": 1600269, - "uuid": "9ab3b14e-52eb-45fe-8473-b166185732fa", - "version": "2019-04-03T105604.189833Z" - }, - "image_file/96c8ed8d-8bd6-49f3-b97b-025b0d6bc9ec": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d89a7999", - "indexed": false, - "name": "primary_image-fov_000-Z14-H0-C1.tiff", - "s3_etag": "733724cfb40992f157c06a21429ce63b", - "sha1": "f81644e79659aa85009d30b5747126a4a4c3bf52", - "sha256": "c5554bc09b3722f4b63a015ccd5f952778d60b0e5c5b11e8e6850028cd41f4e6", - "size": 1600269, - "uuid": "e877a847-80aa-4d68-a069-6da3015bb19e", - "version": "2019-04-03T105604.480375Z" - }, - "image_file/c647964a-7796-4dd2-9fa8-b23f012ac14e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6a6f2b31", - "indexed": false, - "name": "primary_image-fov_000-Z14-H0-C2.tiff", - "s3_etag": "caf29bdd34d04d56efa7ffe4e69bdf15", - "sha1": "178b19662651333bcd83ee5c979c5fb21a24ee3a", - "sha256": "8c77ea0a4a7e17738c3f1148a63b37d068acc1ffc8fc2d5c9e9f0dbcf88d02ce", - "size": 1600269, - "uuid": "f30fb34c-ea78-4c55-8342-666e028b1ec7", - "version": "2019-04-03T105604.725431Z" - }, - "image_file/87a63649-9834-49b8-89a0-310211c1b5b3": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "8e7e28ba", - "indexed": false, - "name": "primary_image-fov_000-Z14-H0-C3.tiff", - "s3_etag": "50d4a2b1c64d9a6091118b0f3ba69082", - "sha1": "904cedf9d6d62d129da6d3a1d30fd7c74e21bdfe", - "sha256": "a6d97e21fea1d3cc28be720bccb70f9f2a0e3fca6ffbce383ade7612ed90ea13", - "size": 1600269, - "uuid": "a800e1a6-58b9-48ea-b33b-b2c58627e5f0", - "version": "2019-04-03T105605.006005Z" - }, - "image_file/b2eb5b20-fd1a-403c-8b55-9eec5972d482": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f31ac427", - "indexed": false, - "name": "primary_image-fov_000-Z14-H1-C0.tiff", - "s3_etag": "8ffb788e265f2f239b5b23fa695e1119", - "sha1": "087a91c220f450a4baee76b805e81170384a1e63", - "sha256": "2f3af86421a5d9ec2101ff3943a8157d3ca2b257d04676bec5a1608241b9e93b", - "size": 1600269, - "uuid": "4971ef5d-cd50-48e1-a7f3-91e1ebf27dda", - "version": "2019-04-03T105605.420646Z" - }, - "image_file/4b3b36cb-cd90-4526-978d-2e7e8f7add39": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "71e66e31", - "indexed": false, - "name": "primary_image-fov_000-Z14-H1-C1.tiff", - "s3_etag": "8c328a7008b42a8ca4dd7cea274cb679", - "sha1": "7da5e8987204a4abb4329c45a04e79eb5181006d", - "sha256": "c87288170e297bcacb92a8b685251eb3b8b5f61cd14cbf569ba7473e33bf289d", - "size": 1600269, - "uuid": "0fe0425a-1371-42d6-a6d2-36962c8a22f7", - "version": "2019-04-03T105605.641366Z" - }, - "image_file/cdc774f8-3310-4f1f-8c67-03579c253640": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "bb067245", - "indexed": false, - "name": "primary_image-fov_000-Z14-H1-C2.tiff", - "s3_etag": "072dfe78e868a7886774cb3aa04a0a7f", - "sha1": "04486bf2cabb0f3ce29603ce8605d0bbb5b36aa8", - "sha256": "9a1b23dff11928fe74e4779a3e9865b9cb732683a0bee85da64e5afb38959383", - "size": 1600269, - "uuid": "25ff77de-95eb-4737-9ba2-fff2969eca73", - "version": "2019-04-03T105605.904789Z" - }, - "image_file/607370e0-7e7e-4d25-ba5c-957c00a73ac1": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "69c233e3", - "indexed": false, - "name": "primary_image-fov_000-Z14-H1-C3.tiff", - "s3_etag": "ab66d0e958e7ae0cd9f7de7b21edd2ee", - "sha1": "149743809ed468c9878334e4deabf25b5f0de6ff", - "sha256": "3afe34c5645c4c6ed4e8fd71882f8e84d62544eea7b926de3eddc31a81084854", - "size": 1600269, - "uuid": "f1bdabbf-13ed-483c-8492-a6c9c2f65db6", - "version": "2019-04-03T105606.322160Z" - }, - "image_file/3240d7ab-568b-4be5-adba-3178b3e8f85e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f98fd263", - "indexed": false, - "name": "primary_image-fov_000-Z14-H2-C0.tiff", - "s3_etag": "1a39d83cd8e12cc23e42c24f6668dc33", - "sha1": "eaf2b358ed990a93bae6c6c2bcb9a462673901a4", - "sha256": "304439ad4583424ef116b6ac98a44c1d43a7622472b2a3a89677b54392acb577", - "size": 1600269, - "uuid": "5b57e6a7-e098-4605-b00a-d58652698580", - "version": "2019-04-03T105606.659307Z" - }, - "image_file/c0b6ee98-677a-41d9-9d80-9ac63d251b08": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "9db56d08", - "indexed": false, - "name": "primary_image-fov_000-Z14-H2-C1.tiff", - "s3_etag": "dda12be46aeb27da4da7ecf1cbb44dd5", - "sha1": "9e1e7ad1c9c013feba08c3ed48c29e3b81f4469a", - "sha256": "9158ddf94cd4395252a02c2f61a4e2f3b179593839a2c22a2c89066dc053e5de", - "size": 1600269, - "uuid": "5cadfa19-ed60-4ba2-b04c-c23b6c0495f7", - "version": "2019-04-03T105607.139632Z" - }, - "image_file/f34c01ec-06df-49e6-bc2f-c50c7f398851": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7a76cc49", - "indexed": false, - "name": "primary_image-fov_000-Z14-H2-C2.tiff", - "s3_etag": "424a333527ec9d3651d09f2ae01ca8bb", - "sha1": "ab8ab11f26ccdeb60dbda96f689ff38939ef585e", - "sha256": "e49b7f981478d3e32fe3ffde7a952a2361d22a6df1cc55b8f6d364646149d425", - "size": 1600269, - "uuid": "f2fe8c9e-6ed6-4999-a98b-4fecf57da55a", - "version": "2019-04-03T105607.380785Z" - }, - "image_file/2047311b-f3ee-4137-8338-a45166e01d53": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1ad0ed69", - "indexed": false, - "name": "primary_image-fov_000-Z14-H2-C3.tiff", - "s3_etag": "91f0b66a436c7f9a78827c3a3ccac38d", - "sha1": "49f4f1cc2731e44d68b362d30535d674a02b9e1c", - "sha256": "24612939c544d89c59e974d0283cafae98528f56a9e52d5761f70e7b8757a5fa", - "size": 1600269, - "uuid": "b8ab79bd-28c8-448b-9847-f8f10d3ccc45", - "version": "2019-04-03T105607.648634Z" - }, - "image_file/44ea335a-1991-4504-be12-04f1a332ddfb": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "0b2929e7", - "indexed": false, - "name": "primary_image-fov_000-Z15-H0-C0.tiff", - "s3_etag": "2f41176517472845c1720f78d268af09", - "sha1": "8c432af92536a457fbacd9f78a8c8591d6c116ca", - "sha256": "67b14eeac471ed074ca1063bbe78845143390c42914e8908ea4ef7341b10fb13", - "size": 1600269, - "uuid": "dcc63bdc-2c05-488c-98ce-905b6b1fcfe4", - "version": "2019-04-03T105607.955180Z" - }, - "image_file/59f3d0ab-1fe1-4cc8-b343-c12b520d769d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "004524d0", - "indexed": false, - "name": "primary_image-fov_000-Z15-H0-C1.tiff", - "s3_etag": "9d4f239273a8134f9a0f3496f3fa931e", - "sha1": "5512afc374fe1b4acd0d7bfd009d33885bf820cd", - "sha256": "7652e6b69da6660427c7a985344ed04eef6970f43ad69af6e52bd92d90cceec0", - "size": 1600269, - "uuid": "f3926330-cfa4-4f64-b12c-3e50e06a7153", - "version": "2019-04-03T105608.221439Z" - }, - "image_file/58f9fb1a-b6be-42c4-98ed-a5c091a3c716": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1d122a71", - "indexed": false, - "name": "primary_image-fov_000-Z15-H0-C2.tiff", - "s3_etag": "aeb11c110398d407c6c2a4266d8c3349", - "sha1": "84198102a0a6dc4cf9b96da68ea81ef165ff8df6", - "sha256": "0551b9abc860383650a0fc551ee22f876d3041924377eeb5ec079917718fa75d", - "size": 1600269, - "uuid": "b134deb9-6a03-486f-a603-955348d1cb67", - "version": "2019-04-03T105608.540867Z" - }, - "image_file/6af3cb41-9e64-4b11-b272-be87adf0fa94": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ced5e43d", - "indexed": false, - "name": "primary_image-fov_000-Z15-H0-C3.tiff", - "s3_etag": "93e4975a342f3f4bd9e540e466807eba", - "sha1": "f488f82f0865e633c467aa3d807d3bf3b785a36c", - "sha256": "0d40beb93999b640ac48a7aff74214eb0e17fd80e40303be16f0d04f232dfaef", - "size": 1600269, - "uuid": "b9aef9b6-f326-4d1a-b912-41030791bc78", - "version": "2019-04-03T105608.782580Z" - }, - "image_file/7541d176-dfba-4e05-ba45-0c6964271dff": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "9621a4da", - "indexed": false, - "name": "primary_image-fov_000-Z15-H1-C0.tiff", - "s3_etag": "2e7af9b5ba0712fa9823898c582b1171", - "sha1": "592bc4308878410f03ada6e6c8ea5a7d39ff87cc", - "sha256": "42ed249546e37d66f631498a848e02d183fa919bc242d810333ac5b2ca94e7e8", - "size": 1600269, - "uuid": "e9f28e2b-b63c-4819-8385-18062c5411aa", - "version": "2019-04-03T105609.057230Z" - }, - "image_file/8ee1e829-a507-40a5-87ac-7fd8379b87ce": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4f9f2476", - "indexed": false, - "name": "primary_image-fov_000-Z15-H1-C1.tiff", - "s3_etag": "caa6bab888b91f870d1dfc5eb758f541", - "sha1": "7304181ad037514a180bf43a1a79254c86301b42", - "sha256": "4c9493782169ea02a632b1d911b9b026c680569c1d87cada888458f025962129", - "size": 1600269, - "uuid": "a7309326-5690-413e-8b73-1f33f8897dab", - "version": "2019-04-03T105609.289499Z" - }, - "image_file/8e57554a-abb2-4664-87b6-a397f4da6555": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "570dd01a", - "indexed": false, - "name": "primary_image-fov_000-Z15-H1-C2.tiff", - "s3_etag": "626956c92c5187481a0c0276c7839812", - "sha1": "33752130b76286f50bcc5873000dd9613faaa16c", - "sha256": "dcdc7393bfb9721c8bb3062e1ddbfb6e5f6ea1108ebdca1afca0a797d05697c7", - "size": 1600269, - "uuid": "6bd9329f-5602-4c75-92c8-84882ba69685", - "version": "2019-04-03T105609.542553Z" - }, - "image_file/88fa5ec5-db7d-49bf-8c7e-86f348fbc84c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "84defed1", - "indexed": false, - "name": "primary_image-fov_000-Z15-H1-C3.tiff", - "s3_etag": "51ad1fb9bcded0393d1a2995c5861df3", - "sha1": "2ea4671d25ab754b32c564caa28ab7823d8d6ad2", - "sha256": "6b311490b4b187aa705716c5facca6e74d2248638d95af9be1b8fff6d0afccb4", - "size": 1600269, - "uuid": "0c9f682a-a5dd-45ed-bcaa-be4e5342771c", - "version": "2019-04-03T105609.824711Z" - }, - "image_file/a2b4ab97-84bd-4808-884d-bd8cc5e7b922": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d96c5e2a", - "indexed": false, - "name": "primary_image-fov_000-Z15-H2-C0.tiff", - "s3_etag": "92545335007f347406aacdbf892ebfdd", - "sha1": "86094e1e453f5831cf76f320aa3975ed986e8f86", - "sha256": "2bd656d393d3d3337ed6258b1e5e61f799370f6a5958a9fc5f816f1407adca4f", - "size": 1600269, - "uuid": "36063754-9a8a-4815-9783-1508974a6ca3", - "version": "2019-04-03T105610.096845Z" - }, - "image_file/56c83f8e-3ef2-4a3a-b808-52cc1e96ac8e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1b71539b", - "indexed": false, - "name": "primary_image-fov_000-Z15-H2-C1.tiff", - "s3_etag": "027dfa4d7f544005e04f75be47ae1cdb", - "sha1": "9eedcc5e6e5bab401388effd57769e35ba897ee6", - "sha256": "8597d134ccea0e906080b36f8717c8be936bf90b682434d23c9eca0649bea27f", - "size": 1600269, - "uuid": "a601ed00-aadd-4ac3-95ef-25fc052c37db", - "version": "2019-04-03T105610.401438Z" - }, - "image_file/8af22b64-2c3f-4aad-a2d5-5d9b122a7b1c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b7fd53a2", - "indexed": false, - "name": "primary_image-fov_000-Z15-H2-C2.tiff", - "s3_etag": "bf901bf83745da9c9c53c26e8852938d", - "sha1": "45a4b73120e37579508e9e6a9719e5944bbe0c78", - "sha256": "da60f26d4165e3fa29819338ce470d2101c02df2657b8b1272fd56be0919c280", - "size": 1600269, - "uuid": "e9da4b39-a542-4f3a-85af-c9da97172715", - "version": "2019-04-03T105610.683603Z" - }, - "image_file/f0cb4244-e19a-46a0-89f1-04143548872d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7944dc17", - "indexed": false, - "name": "primary_image-fov_000-Z15-H2-C3.tiff", - "s3_etag": "ffd7b80c10d1e2654181a38485f457a8", - "sha1": "6708d5c43e6742546aca16c0ba9cd5585b72e56b", - "sha256": "b80a54f1e3efafb5aa6de7d3f0d6e309dc3973c957c91245e790cc36c08482b9", - "size": 1600269, - "uuid": "215ebd60-69d7-4509-8575-301f28d841b0", - "version": "2019-04-03T105611.022078Z" - }, - "image_file/73074f55-d009-41a2-929e-6fd9949bb1dd": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6af55e11", - "indexed": false, - "name": "primary_image-fov_000-Z16-H0-C0.tiff", - "s3_etag": "a88aa7b3a586d4d26b8be621167c5b94", - "sha1": "66da568c0925617e3b3c6825fd6a541fdeea6f7e", - "sha256": "516ccfdda5551806152d5f3de11fc1f14ec21ca2b5452dc53e98416f5f47daea", - "size": 1600269, - "uuid": "47c1ab01-7bb9-4cc6-949e-aff889b78bc4", - "version": "2019-04-03T105611.559338Z" - }, - "image_file/0c2a3965-fbd7-4dc2-bcf0-9c51650a7331": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "89ab529c", - "indexed": false, - "name": "primary_image-fov_000-Z16-H0-C1.tiff", - "s3_etag": "46fc4422fe7b8dc81ff4e5c614263b1f", - "sha1": "aad78416ba051f4e2d6b406292b8d7e0265e89e9", - "sha256": "68c9dfe824f02f572aa39d5dfc16d5cc92a0664ce4ec7fce21b513a5d5120400", - "size": 1600269, - "uuid": "bbaf020d-e851-4259-8784-832fc85b6c83", - "version": "2019-04-03T105611.801366Z" - }, - "image_file/3774ecbd-d397-4b46-ba08-a7cbc6da0c07": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "771e1a24", - "indexed": false, - "name": "primary_image-fov_000-Z16-H0-C2.tiff", - "s3_etag": "9fada1d9ff3394e4b113f8ad2bdba081", - "sha1": "6e43f11f0a5ca2f28378d8770e9af3d356fd644d", - "sha256": "1494d456f4a227f28525a90eaa34a68e76b852aee12b8e010331f6908dc73904", - "size": 1600269, - "uuid": "6c0ffe0f-19a5-4ed9-92e1-316f3d8cc1f9", - "version": "2019-04-03T105612.278469Z" - }, - "image_file/146231bb-1b13-4db5-8157-9d9962cc3a3a": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "77615d8f", - "indexed": false, - "name": "primary_image-fov_000-Z16-H0-C3.tiff", - "s3_etag": "40fc5c6cea15336a43a4dc4711a4ae00", - "sha1": "da32bedc5eeb2ce47908ded5a770610cc07f8c30", - "sha256": "33a6cd371f88a33bf0f1daa0345e47f414af1636f420e4fb1a1edcdd6687563b", - "size": 1600269, - "uuid": "60edf99d-ab78-4bab-b3de-801fabbb7116", - "version": "2019-04-03T105612.622653Z" - }, - "image_file/1d1b3f27-4f67-4338-bb36-173fd6ecf14b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "735764c8", - "indexed": false, - "name": "primary_image-fov_000-Z16-H1-C0.tiff", - "s3_etag": "fdc28a410e4b61d3264243827629e74d", - "sha1": "75cd7a485c26b1559eb0ead8f71e3892037b9f38", - "sha256": "061cb156a427a7277fe5bfdada22068981a75546e1cb8cda89b6259a359e4c8a", - "size": 1600269, - "uuid": "bbb92406-a0df-4de1-97fa-fa10457198d8", - "version": "2019-04-03T105612.859568Z" - }, - "image_file/7fe17380-3090-4fc3-9504-02b3f8ed95b6": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4043af28", - "indexed": false, - "name": "primary_image-fov_000-Z16-H1-C1.tiff", - "s3_etag": "a587f1d6e7b711ed13cec30e69c0c1b2", - "sha1": "37ae6779436a6a258606562697fa6d7ddfe44fc6", - "sha256": "bd0be59413d859115ff7f265726c32a303dacdd3660f5f70eecd9a9511db0ec1", - "size": 1600269, - "uuid": "0d38ed8b-ccdd-4a32-9be3-bfa62f535c5c", - "version": "2019-04-03T105613.080125Z" - }, - "image_file/fc405b01-60ca-436f-a06c-2f38f7156a87": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a88f3cf2", - "indexed": false, - "name": "primary_image-fov_000-Z16-H1-C2.tiff", - "s3_etag": "b4e387ce74fcb5a511fd92cdfef07e13", - "sha1": "fee047cab4461e58350bc44a07aab0c5a067784a", - "sha256": "7c9e194ae38ba112afb630d03d686135c13cedbd0dca0a6a287b91a82af1ad9e", - "size": 1600269, - "uuid": "0bdded17-864c-4c7a-a499-24a4267b4dc8", - "version": "2019-04-03T105613.344358Z" - }, - "image_file/bae92b53-c6c7-4712-865e-6cff3cba506e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "261d6caf", - "indexed": false, - "name": "primary_image-fov_000-Z16-H1-C3.tiff", - "s3_etag": "fcee02cab9e177c39658cd9313183445", - "sha1": "f888e61fba8808efe439bda90dd47a06009a35a8", - "sha256": "f7833d340e6ba0fcfa3082241e16e54444576db840d73a911a2d40c62e6c7c42", - "size": 1600269, - "uuid": "e61824cb-b2e3-4131-a93c-0f809407e12a", - "version": "2019-04-03T105613.584363Z" - }, - "image_file/83662ec5-a202-42ab-9a47-a701d4f19de3": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ffeec2e6", - "indexed": false, - "name": "primary_image-fov_000-Z16-H2-C0.tiff", - "s3_etag": "9961c3c49217e32c5ede426cf5171155", - "sha1": "2fc56166144927399d9e3e5d39c873e242580388", - "sha256": "341648c0b44a819c34a6c27d213e5d252d5edcef5e88d842f817832b09bfbcba", - "size": 1600269, - "uuid": "1cab431e-680b-491e-9f8a-9503230a602c", - "version": "2019-04-03T105613.859236Z" - }, - "image_file/a04957c6-8ce8-4fa6-950d-71812ff3d698": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b0e8ea39", - "indexed": false, - "name": "primary_image-fov_000-Z16-H2-C1.tiff", - "s3_etag": "0102cca9defd31c65585f717a10d5bda", - "sha1": "d5c57eff3c4be5edd22e442408c8231393bed2c8", - "sha256": "1360f3f3c583137c692923cc6b1fb416575482e6e248196a6bb1fecd5e27cd97", - "size": 1600269, - "uuid": "c8f06cec-ac9f-4241-8f0d-86daecbda3af", - "version": "2019-04-03T105614.120757Z" - }, - "image_file/9284d3a4-73bd-4aa0-847c-ab273d14185a": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2d57a1e1", - "indexed": false, - "name": "primary_image-fov_000-Z16-H2-C2.tiff", - "s3_etag": "c17ba6739bc7684046bfe0bb9ae5b549", - "sha1": "a0100b495ba6b92a6140a9483abe9e396dd79089", - "sha256": "144d25544bf2995a01f834cfe7e71f696d1cec67ff4ff355216189c25696301f", - "size": 1600269, - "uuid": "0fb666f0-0331-4532-8ed6-9ee27b383f96", - "version": "2019-04-03T105614.469912Z" - }, - "image_file/4d664562-c333-4aaf-bb8b-641e0568733e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4c624098", - "indexed": false, - "name": "primary_image-fov_000-Z16-H2-C3.tiff", - "s3_etag": "d99948dce1012b3533fc8d8807372c4f", - "sha1": "eb2b7fc4b7c3c5e39fc623add18d5755173355a7", - "sha256": "9c4ffe1988df43cf7718d61790392096a85d294aabf389c177a3caf31df8e8a0", - "size": 1600269, - "uuid": "ebcf808e-8039-4d0f-9c6a-82ddf9bd6dc0", - "version": "2019-04-03T105614.720103Z" - }, - "image_file/b533685d-3c60-4483-841b-a054f0a69fec": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1b85888c", - "indexed": false, - "name": "primary_image-fov_000-Z2-H0-C0.tiff", - "s3_etag": "8c3c48e91e7ae78c3ab1c7c64e764aa2", - "sha1": "d617c969390d82f651fe9fa0243ccf3ffe0c6686", - "sha256": "e4eb56824253d3871a1255644aacbc8a00214b68d774463d87a0a4913f61ac25", - "size": 1600269, - "uuid": "ae06e940-6a8d-44a1-9e5f-de404f802e0d", - "version": "2019-04-03T105614.967111Z" - }, - "image_file/3f14c88e-58db-4f76-b6e0-4b483ded1ca3": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "52c76c82", - "indexed": false, - "name": "primary_image-fov_000-Z2-H0-C1.tiff", - "s3_etag": "78532080864bd984fd9893f40046b488", - "sha1": "677b6148a4420ee93322f9d716b55e5a6df96450", - "sha256": "cd54522df1f749716b726df51c45563c3d7be47d9bcce9b5ac97576062e9f720", - "size": 1600269, - "uuid": "a3001444-768b-45bd-82f8-ffd492f8a9ff", - "version": "2019-04-03T105615.221216Z" - }, - "image_file/32d0b267-f399-408a-b35f-f1ebc7d0fc1f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "49c661d3", - "indexed": false, - "name": "primary_image-fov_000-Z2-H0-C2.tiff", - "s3_etag": "85a90e2603bf8881499014d78c07a9c1", - "sha1": "72c98cb505fd875344a522431e5132e0e00e3f8a", - "sha256": "f280463e13ed0c1804280dfe839aeafc31978f5aa22fef71f998c05fa3981e1a", - "size": 1600269, - "uuid": "fcf35fc4-c4da-4643-9b4c-46ae410160ea", - "version": "2019-04-03T105615.545209Z" - }, - "image_file/3e8510c9-7e31-49bd-bb90-cb55577c2f25": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c52334cd", - "indexed": false, - "name": "primary_image-fov_000-Z2-H0-C3.tiff", - "s3_etag": "c70b5e8025a12c00f90d64da288e0666", - "sha1": "f36222db39a0600e497c8547c40e057d69cce655", - "sha256": "1bf0530559802b92677858e96a43be30c77ba94dd170630b3bb2702b740eb5e2", - "size": 1600269, - "uuid": "a454ef32-a818-48bb-8986-59c91a3582d6", - "version": "2019-04-03T105615.780166Z" - }, - "image_file/463aff9a-ec7e-40d0-be42-c6686af9130d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "83b7b009", - "indexed": false, - "name": "primary_image-fov_000-Z2-H1-C0.tiff", - "s3_etag": "1477e3cfd21e5661b4f38c0002d622f3", - "sha1": "63188f3bcfe791d5e7ac797662c764857bbfb7a5", - "sha256": "04733ed9c6df06e23b249b23f985e61c66927e8be780f691e87f23b5cb01ad66", - "size": 1600269, - "uuid": "514c1928-88b2-4ee4-9a36-6df3a1ea6ad6", - "version": "2019-04-03T105616.144108Z" - }, - "image_file/02ddb50f-4a97-4fbc-ac08-32cd5f0fb319": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a90594d4", - "indexed": false, - "name": "primary_image-fov_000-Z2-H1-C1.tiff", - "s3_etag": "cc4644e2e6ceeafae8135a4d6f9a8d0a", - "sha1": "2326bc68eee158ed0a04d6d985c18a75d18ad15a", - "sha256": "7300a8d3a2a5b2e2104979e3740320ee9595bba2483ef225e6d35134d1284d9f", - "size": 1600269, - "uuid": "7334d870-d87a-42c5-a56d-cad22755b2c4", - "version": "2019-04-03T105616.706622Z" - }, - "image_file/868efb99-df36-462b-91a2-bb6ca27e842a": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7f7b23b1", - "indexed": false, - "name": "primary_image-fov_000-Z2-H1-C2.tiff", - "s3_etag": "1dbebf9b99808edfb51ae30baff92a4a", - "sha1": "6117c5ba6b63412656028968a4a840bc68d0573d", - "sha256": "188f587144c32af04e345736189d8fe2ff0d937fcad34cd4245ab39df87f07d3", - "size": 1600269, - "uuid": "8f9a873c-db55-46f0-ac21-2675647a2553", - "version": "2019-04-03T105616.941310Z" - }, - "image_file/dd124d84-cb44-42e6-88d8-0d97fcb2c0f1": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "548dcdb6", - "indexed": false, - "name": "primary_image-fov_000-Z2-H1-C3.tiff", - "s3_etag": "769b4c4c76ffb3bce4b616db20d034d5", - "sha1": "a08d40f28616ef6ae142b4c37b4d84c591efe435", - "sha256": "1fd2a0467af9e35362571370a84a6b64815813f78b265c2dd52f5def6d096f3d", - "size": 1600269, - "uuid": "6d2fd5c1-91d8-42b4-9958-41b9b7be2ee5", - "version": "2019-04-03T105617.319136Z" - }, - "image_file/36ded48a-869f-4fa8-971f-56bc28298276": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "29d61c42", - "indexed": false, - "name": "primary_image-fov_000-Z2-H2-C0.tiff", - "s3_etag": "57c05571d8b8821b13e556be93da0d84", - "sha1": "fc0fff1511e1e4d84669d57033b6ffc39ed4405f", - "sha256": "b650b9e0da3106417bae5b48d9eb37eac1fce1448ec94f5c71be1ac7062fda2f", - "size": 1600269, - "uuid": "909dd3ed-d856-4a87-aa6a-7f5e0d390d2f", - "version": "2019-04-03T105617.543209Z" - }, - "image_file/b62567c9-27d5-49b9-aa2e-7e9e1513dcb4": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f72a81a6", - "indexed": false, - "name": "primary_image-fov_000-Z2-H2-C1.tiff", - "s3_etag": "cce75b96e44777a01f2ad68299492f6d", - "sha1": "59611c72b8d9fcf13669eada705254fcdefdc7ff", - "sha256": "d2b61894955a168fb0ac7829cc9ee733143524604b1e80530485ea8e5011360a", - "size": 1600269, - "uuid": "b70a3092-a8b6-40ae-9cbb-34cbcb5a2cf0", - "version": "2019-04-03T105617.821595Z" - }, - "image_file/e72742a4-23ba-4e5d-a29b-ad449abe8101": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f5c2377d", - "indexed": false, - "name": "primary_image-fov_000-Z2-H2-C2.tiff", - "s3_etag": "67a34e735ffd103e596353c26fee3c3f", - "sha1": "792ba03c85920df2ce38be9c03eec054caa1047c", - "sha256": "650bf866b8fb87ab9cafe2bbfdee1efb65c72f63e95428af59c5e8c41d95ebac", - "size": 1600269, - "uuid": "b9efda80-7e16-4e5c-ba35-6129b824b553", - "version": "2019-04-03T105618.200496Z" - }, - "image_file/cd6e1096-f8c3-4eda-957d-b09741d60901": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d6429d4f", - "indexed": false, - "name": "primary_image-fov_000-Z2-H2-C3.tiff", - "s3_etag": "9296ab3ee1b462b5a5d65a56f214b997", - "sha1": "e49c58ddc0fb9e6290520a2f60d1ef891b56206f", - "sha256": "2386bc3553f1f52628afebecf6ea96b17f3312340de1a7b9386a4dcbb4d8fd10", - "size": 1600269, - "uuid": "8c4f42e5-8544-46a9-9744-7540c07e040e", - "version": "2019-04-03T105618.586702Z" - }, - "image_file/903ea376-5153-4fb8-8ffa-e2948951409c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5aafd070", - "indexed": false, - "name": "primary_image-fov_000-Z3-H0-C0.tiff", - "s3_etag": "d062ee9eb1e0c4e80b71eef975768106", - "sha1": "e6d768504b4a0a608de93df16912d44b44da0e7b", - "sha256": "3d3c0fbe3d11decaacf6c24eed84bcf915c9cf6714962d290e12dbada9f3abd3", - "size": 1600269, - "uuid": "c9b04d1c-02ce-4db6-bfd5-b69edef36c55", - "version": "2019-04-03T105618.841432Z" - }, - "image_file/89c5fc1e-9d18-4a6b-9025-ea0b75d01adb": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ef964528", - "indexed": false, - "name": "primary_image-fov_000-Z3-H0-C1.tiff", - "s3_etag": "9194049a53022defccc87e6e373c702e", - "sha1": "8dacd7cc7ccec6a231a1c2ef9ab8fc6ca5b1d567", - "sha256": "f53aff93086e8ff3abd65c5bdf385d44cda29bfd5cfb71bb2296a3e3bd0bc48c", - "size": 1600269, - "uuid": "70c7781a-b4b2-49db-b818-9582ae41c32f", - "version": "2019-04-03T105619.399696Z" - }, - "image_file/8381d167-c4dd-49a2-b5df-1ae815bbe42e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4820d355", - "indexed": false, - "name": "primary_image-fov_000-Z3-H0-C2.tiff", - "s3_etag": "9d48c889e143511f4ca118d57244795f", - "sha1": "b3c27cdfad9eb8676658dbe431aa25b084fe051e", - "sha256": "83a46a8f63f65099bb24b3a2ca046d0bb138915d48069cb1d598fb14418774ce", - "size": 1600269, - "uuid": "8a21baa6-cff7-4807-85f6-2815522f2305", - "version": "2019-04-03T105619.679038Z" - }, - "image_file/9be80be6-ee45-49d5-8d3d-a6df8f0383f6": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ad76dbb5", - "indexed": false, - "name": "primary_image-fov_000-Z3-H0-C3.tiff", - "s3_etag": "f4f641752b8c92b5e33846f971e2bb99", - "sha1": "54f1de46504eac499d5da453eb8fc09787c800f8", - "sha256": "48ed76ac22ccd6d9b378b605a2e6fd92618d49c684b7ba4e5a656dc94b825aa4", - "size": 1600269, - "uuid": "8ddd205f-c13f-4001-93ae-c9b834c762bc", - "version": "2019-04-03T105619.959849Z" - }, - "image_file/cf305c60-bb2c-41af-82bf-0631c2a7b0be": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "da30f7e2", - "indexed": false, - "name": "primary_image-fov_000-Z3-H1-C0.tiff", - "s3_etag": "73ff3d828f234c4a34e41c43cb1b8e1a", - "sha1": "688dea42d4d0341008af68033eb471047d7448a0", - "sha256": "862916d173844e00fa7c89f2f569127dc9b4ea40ffced0685ba1f6c0366b6ec1", - "size": 1600269, - "uuid": "318fcac8-e540-4c30-840c-9baf19dd8ac1", - "version": "2019-04-03T105620.515721Z" - }, - "image_file/074290a9-35e1-422f-a3af-e5ed58781b4d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4acc4110", - "indexed": false, - "name": "primary_image-fov_000-Z3-H1-C1.tiff", - "s3_etag": "ba6d37a8269a9bf6c3788d52031b29bb", - "sha1": "913541ed4d6e6c3cb87e40e7c479f2520eb489df", - "sha256": "2dcba4d4d5519f97c2eca00e9840d3e16a585760fa5768dff9aa464d1c70b025", - "size": 1600269, - "uuid": "76690f93-b774-4a5b-8e44-ed1a15463d28", - "version": "2019-04-03T105620.763724Z" - }, - "image_file/0c49b3ca-bb47-41d9-a58c-e5ea79f673c3": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "43cc3f48", - "indexed": false, - "name": "primary_image-fov_000-Z3-H1-C2.tiff", - "s3_etag": "97b6d5bf0fd61b5f513efa2b409b9edf", - "sha1": "315da7494e53e2b8017b5a83f6add784aac12d6b", - "sha256": "e3632c252f3e5ed30bb19bf77c1a9689e68d4e62749a22903eba05181f6b118b", - "size": 1600269, - "uuid": "a5c6ec42-6651-416f-8bf2-a75d19067701", - "version": "2019-04-03T105621.035316Z" - }, - "image_file/783c4def-7dc3-40a6-aa9e-a3f92a2dffba": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ba844c65", - "indexed": false, - "name": "primary_image-fov_000-Z3-H1-C3.tiff", - "s3_etag": "dc45a53df4bcdbe0f43c5413905aba1f", - "sha1": "87120245035e23c44389cb116f9cb669618b9f0d", - "sha256": "572b1a336be5579f17ba32ae2100148ac7375673f8e44b9d23e27fee815b861d", - "size": 1600269, - "uuid": "08360384-d64d-423c-b393-ac77e55f5b54", - "version": "2019-04-03T105621.335645Z" - }, - "image_file/5165cc56-ff89-42bf-b000-fec4bd57176e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a22c482c", - "indexed": false, - "name": "primary_image-fov_000-Z3-H2-C0.tiff", - "s3_etag": "762d5e4141197e0c63b8b038de8d6782", - "sha1": "5ddf8c065eefec37b866ac74b577fe05638c18f7", - "sha256": "5d614db01b19b9ca8cd948080d29026bfbdaa175e49cdf9e2f7462525b640d20", - "size": 1600269, - "uuid": "9fced6a6-70df-414b-ac73-dff271a5dbf5", - "version": "2019-04-03T105621.654577Z" - }, - "image_file/545be634-5893-45e0-93b2-dd4ea93e00db": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "93e07072", - "indexed": false, - "name": "primary_image-fov_000-Z3-H2-C1.tiff", - "s3_etag": "e3d9685615d21051daa9b834083d3d96", - "sha1": "1b8656a4a26eca4adaba32a328e1963cd6296a61", - "sha256": "3ca858c6ec4f2703e14b6b32f8823c108155400b89ee6bed925a7ae8185ee2f3", - "size": 1600269, - "uuid": "a05d672e-b664-412e-a050-a57c205edabe", - "version": "2019-04-03T105621.895551Z" - }, - "image_file/2d2e58c6-7c24-4089-bbe9-d47b7482be46": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f3907f41", - "indexed": false, - "name": "primary_image-fov_000-Z3-H2-C2.tiff", - "s3_etag": "a9632bd5ab7fe1c532115b21830bcf93", - "sha1": "4b47753bfd6d202f885abb97da2533b7bd333a9d", - "sha256": "a0529f39e6739c75a7967c08cf06f3368676fee4ad8608e7fb44807583116479", - "size": 1600269, - "uuid": "186d9626-1b8b-4bc2-ac7c-745ae7479019", - "version": "2019-04-03T105622.164338Z" - }, - "image_file/e4ce035a-f9e2-459f-8ecf-ce138ea00b34": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1dafc649", - "indexed": false, - "name": "primary_image-fov_000-Z3-H2-C3.tiff", - "s3_etag": "619b8ccde9982a5537734b1ce393368e", - "sha1": "ac208729e50fb9db5975b6451093f635cf38d2f1", - "sha256": "dcacf37924188294b6f2ec83cddb037ed8477a4500ac8ece18e1499863a3f87c", - "size": 1600269, - "uuid": "db870673-6390-488f-998f-c96d02a17238", - "version": "2019-04-03T105622.575382Z" - }, - "image_file/81214e49-318f-4221-bf2c-4ef00cfa916b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "e812fa56", - "indexed": false, - "name": "primary_image-fov_000-Z4-H0-C0.tiff", - "s3_etag": "b86ff8c077a32dc884738059d569152d", - "sha1": "d768db2b3899d10c260b912d87160d27de8aa1a9", - "sha256": "fbdbe7a0b4a3a51e684b5a1bacb0ac4a993133d784f9eebcdaf20643396a0142", - "size": 1600269, - "uuid": "56ecf18f-2cf1-4db1-8acf-a82a04b55ddd", - "version": "2019-04-03T105622.895893Z" - }, - "image_file/7fc97754-1121-468b-b1e4-839bde86b6c8": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "daa4be7d", - "indexed": false, - "name": "primary_image-fov_000-Z4-H0-C1.tiff", - "s3_etag": "059da13f286d8489c3cb3dbaa28a3f8b", - "sha1": "85115eaeed5919dce2dbfd3177377032850caab3", - "sha256": "868c1a7e2880dfc0018ecd373afe8dbb4a7d99288abb66443153f49641c631b3", - "size": 1600269, - "uuid": "a79ce39b-a4ed-4b97-a047-afb96e4ce398", - "version": "2019-04-03T105623.199025Z" - }, - "image_file/7d70d44c-b5d7-47be-9687-e9a775e86251": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5cedc9de", - "indexed": false, - "name": "primary_image-fov_000-Z4-H0-C2.tiff", - "s3_etag": "4d963c867351acbb456f9058467b5a39", - "sha1": "d113362b2d7d9b8270b27b255c5fac598548cf86", - "sha256": "1bd2f114e642e4fba400ed901f4a45bc6c7b4eff683a36f9ad66d693c5234385", - "size": 1600269, - "uuid": "4f29d438-3acb-4a71-af29-e3191f071a44", - "version": "2019-04-03T105623.525898Z" - }, - "image_file/ddb4f9d4-f2a1-42a5-87fa-e818071a5b33": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a618c91c", - "indexed": false, - "name": "primary_image-fov_000-Z4-H0-C3.tiff", - "s3_etag": "df6da4b2926b1d8f8f89a2032651a430", - "sha1": "3d35e6e7ea83ab7c2e3cf11d002f89a8ecd483f4", - "sha256": "236595504636b01cc3493f1191584b64b12b79f4471938f8b5da36aa41ce6048", - "size": 1600269, - "uuid": "9578fe1c-6623-49ee-afd7-8e6c4d85d8fd", - "version": "2019-04-03T105623.779296Z" - }, - "image_file/b7607809-e975-4c32-bff7-375cb2d8276f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b92778d5", - "indexed": false, - "name": "primary_image-fov_000-Z4-H1-C0.tiff", - "s3_etag": "453f91d8dd3b445904d6f0f85ab6becd", - "sha1": "54d59f36669cc295891467c014cd4f69cbe6253e", - "sha256": "bb52f37c1253132ca1f2575e0dd3cbd445cfb2ae821967968de96530844dc17a", - "size": 1600269, - "uuid": "24fc3772-5e01-4a34-8bd8-98d745595571", - "version": "2019-04-03T105624.055806Z" - }, - "image_file/b8a6c863-626d-4fbf-863b-610cffaac37d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "aedae183", - "indexed": false, - "name": "primary_image-fov_000-Z4-H1-C1.tiff", - "s3_etag": "fd1d5c55761ad8e46e70a8c49e2252e8", - "sha1": "ba3212180c1c65ce661492c22140c9781049ddaa", - "sha256": "b46abde44f1fb374d8d796c7bf1e5ecd3f65b80eef3229107cfc975b60407c30", - "size": 1600269, - "uuid": "af10a2c0-5f84-448a-a429-7e88bcf8d2d4", - "version": "2019-04-03T105624.344848Z" - }, - "image_file/45077a5c-ee96-47c0-a84f-9d46cf799338": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "53cd4995", - "indexed": false, - "name": "primary_image-fov_000-Z4-H1-C2.tiff", - "s3_etag": "a7d7945c407b8d014f92a2f292dfbe65", - "sha1": "6fa31c4a9d846a353a5149a538a1ceb6b48293d7", - "sha256": "b39e60b7133221fbc35eff41ca912aaab4c7492bfe8197ada75fb5c5ae81ba8f", - "size": 1600269, - "uuid": "ceb1e477-69a0-4fa0-90c9-ee35e16c6d33", - "version": "2019-04-03T105624.610737Z" - }, - "image_file/49d82b74-6f1a-415c-93ab-958c60f083b6": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "8579d287", - "indexed": false, - "name": "primary_image-fov_000-Z4-H1-C3.tiff", - "s3_etag": "fa4ef541c7993436f3cda78604b8b5b6", - "sha1": "0dbd02794fbb3b7541f22220e8f882baeee12b2d", - "sha256": "bd1775fa1eaeab9ca466e3cdfc758760d43e3c1f866138f62965ab94a6f69725", - "size": 1600269, - "uuid": "be9b7636-fbb5-462b-af38-a351e006b334", - "version": "2019-04-03T105624.895931Z" - }, - "image_file/753b51b7-a909-44e7-bb21-cf2cd18328f8": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "8a9835bb", - "indexed": false, - "name": "primary_image-fov_000-Z4-H2-C0.tiff", - "s3_etag": "ae02ec63016b9abdd620536f859d69bb", - "sha1": "d5d346e6aa8fd1ceda276aed39620fd326da934e", - "sha256": "67f9709da7392cfcc65d8e6460d9b353617de5b56e3480573e5ca8c7bd582037", - "size": 1600269, - "uuid": "a01e972b-5d55-4816-9589-0c016a8eceef", - "version": "2019-04-03T105625.257370Z" - }, - "image_file/c7ab6349-b2bb-4ba3-9c9b-27d270550052": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "98a57d8d", - "indexed": false, - "name": "primary_image-fov_000-Z4-H2-C1.tiff", - "s3_etag": "e84bc9fd5931d981c7ade8b43df6cd77", - "sha1": "ac170164ac57262e00deab61c41757b410cda006", - "sha256": "878d36ccf128a83cf8bba81022d55d30fc4781ab16f0c92952938dfd6eac5a54", - "size": 1600269, - "uuid": "e2ec1f14-7d7f-4693-bb0c-ec5a6f417803", - "version": "2019-04-03T105625.515250Z" - }, - "image_file/7be770fc-4a56-4f82-a4cf-3cf908d54dca": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "aaa60b26", - "indexed": false, - "name": "primary_image-fov_000-Z4-H2-C2.tiff", - "s3_etag": "f4debfc643dd4c87c943390f9f0927b8", - "sha1": "c60896cd90c6eba3f25b3ad43809e9e4b0e175ba", - "sha256": "0e097b54b24ddce69cecd5b38e194c3b8bc501f7557b8641f90268b84711b109", - "size": 1600269, - "uuid": "707f043c-a115-45ee-8fad-2962f55ff58e", - "version": "2019-04-03T105626.011308Z" - }, - "image_file/3f5f8537-c1af-4d2e-a732-53b6d4275588": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "03952f13", - "indexed": false, - "name": "primary_image-fov_000-Z4-H2-C3.tiff", - "s3_etag": "fb57bffe031aac808b3f763a95b55a19", - "sha1": "be462c01298c1cc2c37e6f3e36775fd36514f179", - "sha256": "5d7170e3cf1805663408e69eed861a2dd604cefe911cc1887575252210147770", - "size": 1600269, - "uuid": "0bf3e1df-6d4e-4fe2-b608-95a23ed4e5a0", - "version": "2019-04-03T105626.396309Z" - }, - "image_file/3820feac-72c4-49c5-a5a0-773f4e5ee3c1": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "428ef5bb", - "indexed": false, - "name": "primary_image-fov_000-Z5-H0-C0.tiff", - "s3_etag": "a142720da87ce8c6ada038aa5d49a169", - "sha1": "cd4a508c87fe959f211edb71c11bbd7fbfafd37e", - "sha256": "a0ce165b659ef69ad056ad76b6e93d3dfa999f7845762c3d6d305dcb835885ed", - "size": 1600269, - "uuid": "d90b7354-47b4-4aec-8d4c-ac8805467b6a", - "version": "2019-04-03T105626.655715Z" - }, - "image_file/f986c2c2-2823-45a0-80cf-5e6f67958afb": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "39397452", - "indexed": false, - "name": "primary_image-fov_000-Z5-H0-C1.tiff", - "s3_etag": "4707b7fa9f888219b829054ca0be4c14", - "sha1": "a56b208676f6a45450b96c5708672d809bb7cdba", - "sha256": "0d77858e76d5a1f29df86674f4732744cd22ebe67739ee0f73430e15124e190c", - "size": 1600269, - "uuid": "dfb213e1-e9c1-4996-a0fb-1da6ea5e6992", - "version": "2019-04-03T105626.976077Z" - }, - "image_file/7d17d6d6-d038-40c6-b965-6de41ce9c931": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "73578068", - "indexed": false, - "name": "primary_image-fov_000-Z5-H0-C2.tiff", - "s3_etag": "425d807333615faee9e53384c99d1525", - "sha1": "33ca4a69c8fb9c36678b6f43165c22594f4470f9", - "sha256": "b06202c2da34f93e9888e7b227ec8bc955d0a7eb655f43605272fe8d3f76f8e9", - "size": 1600269, - "uuid": "58d7e9ca-9c4f-4a92-8335-d03a007b4b3a", - "version": "2019-04-03T105627.218596Z" - }, - "image_file/3d208b38-62c8-492d-9434-21bb66ead16e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ce40d3ac", - "indexed": false, - "name": "primary_image-fov_000-Z5-H0-C3.tiff", - "s3_etag": "38ea4d04b518aa2faebfab95c00879ca", - "sha1": "1a0876b3528a7c5a979e0b3f8593989c09ccd060", - "sha256": "8f2919c5a7a173b660fdb1a268f6a8b501e725b1cc4014c46c17900a1c7b40ac", - "size": 1600269, - "uuid": "a7e2a1b2-a3b0-4c19-9baa-17da6bfc9c60", - "version": "2019-04-03T105627.502876Z" - }, - "image_file/9a982898-77c6-4a56-8e54-9cb83ff0b235": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ab01a9d0", - "indexed": false, - "name": "primary_image-fov_000-Z5-H1-C0.tiff", - "s3_etag": "b7b0f23db471b2ba161a37bbbb49dacb", - "sha1": "a5335cd38929f7454e0661780b49b4c8d3e4c3ef", - "sha256": "10965856cd7ff817b66b2770367587844c69cf3897907c422b9285f5a5240b43", - "size": 1600269, - "uuid": "a2366fa7-fba6-4899-a2da-d297f781ed4a", - "version": "2019-04-03T105627.790236Z" - }, - "image_file/1bdd91d7-0a1a-488d-ab9c-78eba7a6daa3": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7ea6bda4", - "indexed": false, - "name": "primary_image-fov_000-Z5-H1-C1.tiff", - "s3_etag": "e15f3bdc49f3eece05d6b91c433e7f56", - "sha1": "62b7d1490a78d98165468dbe5bb2f3a6424dda14", - "sha256": "bf275b7057317795046a4371e0da5d060dd7db54b43f8af451b6f69dd6d9d179", - "size": 1600269, - "uuid": "3f058b01-c8fc-43e8-b4f9-9c10449bf12c", - "version": "2019-04-03T105628.115924Z" - }, - "image_file/24b6366f-03ce-4e4d-b50f-90687f3e2b94": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c11084d8", - "indexed": false, - "name": "primary_image-fov_000-Z5-H1-C2.tiff", - "s3_etag": "15c1b90d42d37afd77efb11c5dece01c", - "sha1": "ecf9e80d36eaefd41ffb2b2c8cc338a7f65af317", - "sha256": "95b7f3c4382bc8230e8e7497150cdabcdf6a979bf05e469ecdae77c6ce996d6e", - "size": 1600269, - "uuid": "b28492e5-5b71-4048-8261-82b20ef55540", - "version": "2019-04-03T105628.372925Z" - }, - "image_file/ec1d0987-fb49-48b8-aaeb-321c659fb67f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1e451967", - "indexed": false, - "name": "primary_image-fov_000-Z5-H1-C3.tiff", - "s3_etag": "0898d4a1d00f1aa862dc33cced7b0c9d", - "sha1": "ba2f5515bceff182e8bb2ce6b1fe644e865fb5be", - "sha256": "723f48bc1a4bac1847199bdd6709ea7531c0bf1d4f53d812923f3fe3ef56f0c2", - "size": 1600269, - "uuid": "c5684e6e-6461-4360-bae9-fab162dfe7da", - "version": "2019-04-03T105628.797211Z" - }, - "image_file/e756ce65-ad72-42e6-a8cc-9c1bac781ce5": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "dbab5433", - "indexed": false, - "name": "primary_image-fov_000-Z5-H2-C0.tiff", - "s3_etag": "ae3f68ee7ff45d011ca9c39e96f92093", - "sha1": "24768b34064040f3e115af28c05bfbd60c8ae118", - "sha256": "6de64340a14313461ca2cbe4a30c368cb82566f77909afd64beed0048c1aed87", - "size": 1600269, - "uuid": "97b5dded-4ea8-4404-8c9a-449ba9fb8269", - "version": "2019-04-03T105629.135928Z" - }, - "image_file/6fbcb1c7-ce98-46db-8054-b451b6bca205": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c12f70f8", - "indexed": false, - "name": "primary_image-fov_000-Z5-H2-C1.tiff", - "s3_etag": "15b094ffd10bf74d2dbf06c63afce6f0", - "sha1": "1a3a7e964c90e3330ef6934e27ad20a6b74f5d1c", - "sha256": "acb8c3fe3a17d12b5354c2ccb7625d132140a15af70dea14288e627d54ce2c96", - "size": 1600269, - "uuid": "e879b6b4-3fc2-4436-b8ff-eb9df73d3ed2", - "version": "2019-04-03T105629.377960Z" - }, - "image_file/c225fa8c-e8c8-46a4-bf23-720e2cf1c9ac": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b524a465", - "indexed": false, - "name": "primary_image-fov_000-Z5-H2-C2.tiff", - "s3_etag": "abce483fa1f38c6eff3adc8c139838fe", - "sha1": "4f51deacf61528b2c5e913cc7b90a27b27fbd07b", - "sha256": "11f0f0fc92c2d30e0c5f6113b542e2642f7311db72775ae75d9104e963f5bd7a", - "size": 1600269, - "uuid": "53781f5a-928a-451e-addf-57873b35b752", - "version": "2019-04-03T105629.795795Z" - }, - "image_file/aa6fca0d-6a70-4016-a0e4-307878e9ff45": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1def4990", - "indexed": false, - "name": "primary_image-fov_000-Z5-H2-C3.tiff", - "s3_etag": "4978c445486bca4c2448ef12aa04ca51", - "sha1": "a0c842723a0445c494ec6893045e3e5af44a4634", - "sha256": "f1e583acebdebb6c0fa20e100eb1cd5d6489c8aafd5e1090754dd45bd1dc6901", - "size": 1600269, - "uuid": "e6f008b0-bf18-46bb-be73-2705c748a25d", - "version": "2019-04-03T105630.050748Z" - }, - "image_file/ee62cd8d-fb93-4082-980b-213c7a8a0c47": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f0c87133", - "indexed": false, - "name": "primary_image-fov_000-Z6-H0-C0.tiff", - "s3_etag": "f81727967edfe177a6d063a95dd36e00", - "sha1": "30fe4f671719c78fd7de1b0f28938142fc5990fd", - "sha256": "4f52e11e66b921de450714aa0091d3fec21f96fbc62dade12de2a69dd5438746", - "size": 1600269, - "uuid": "4f5e3c36-fd75-4ee0-8b18-cf54422d037b", - "version": "2019-04-03T105630.396132Z" - }, - "image_file/bbd60a79-3572-42c0-8e53-b0c566a72f06": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ed8bf4f8", - "indexed": false, - "name": "primary_image-fov_000-Z6-H0-C1.tiff", - "s3_etag": "ecfc2fda1eabe6b5276007a200fdcc11", - "sha1": "ae1728de3c363dff7e8e776c5b74f12109745958", - "sha256": "976128eba622c8b5f5ec780f37ae7ac1410f32130a518bbd1e595c2cfe5da14f", - "size": 1600269, - "uuid": "4ffb1482-0d3c-4796-9a4d-e714d6b943fb", - "version": "2019-04-03T105630.713724Z" - }, - "image_file/bf585666-2fb4-4ad5-a9b3-b268a9953ed9": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "bdf3643f", - "indexed": false, - "name": "primary_image-fov_000-Z6-H0-C2.tiff", - "s3_etag": "f9a9614b6742ae7b70059efe0faa4f1e", - "sha1": "3269e888f787f08a92bcf8f641918ddf7dd7363e", - "sha256": "dc35f4a49dfcb2d1b8d1381612dd19651ceabca0b69f18279a96d8d40e76584e", - "size": 1600269, - "uuid": "a173a354-3997-4205-83f2-19e37e174996", - "version": "2019-04-03T105631.296167Z" - }, - "image_file/52548ff8-5bbd-4b1c-9c52-4e5d82f846e2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "02ca92c5", - "indexed": false, - "name": "primary_image-fov_000-Z6-H0-C3.tiff", - "s3_etag": "829b50d687a0edc863b03dec0e62c83b", - "sha1": "709535f9930c30f8c2d77112f0039eb0878204c2", - "sha256": "8e489fb561fbd17c7a72f577038dd2be247ec95e8d72dce76a3f59abe8e9ccc6", - "size": 1600269, - "uuid": "410082ea-b30c-410a-9aa1-9dc4d7c16346", - "version": "2019-04-03T105631.687118Z" - }, - "image_file/240a67cc-e827-41bf-8ac8-a66bc2797f13": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "cd171abf", - "indexed": false, - "name": "primary_image-fov_000-Z6-H1-C0.tiff", - "s3_etag": "5ecfab98c0ffd40322de4c4096a7af18", - "sha1": "7a42648e778cd5c5cf562edefb283b9b9e4f3613", - "sha256": "686dea8aa0155de53310fb9717465eb88f5435c676e2561bdb5bbd17f1ada351", - "size": 1600269, - "uuid": "ea4feacf-2273-4faa-bccb-16e694e14de0", - "version": "2019-04-03T105631.942387Z" - }, - "image_file/7a9b6534-fa1d-4282-a064-11e60e57a322": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "653c9b7a", - "indexed": false, - "name": "primary_image-fov_000-Z6-H1-C1.tiff", - "s3_etag": "36d6f6dd8df14136f191373a7af2f4c1", - "sha1": "9da58900ca057df2c53738723dae3b66eb0f717b", - "sha256": "4c684d7b345db1d204134bd77a4b536134d3c2abcebe677e292c0a503d104bf9", - "size": 1600269, - "uuid": "7e6e78b0-a7a4-4b5d-9217-76780babe1dc", - "version": "2019-04-03T105632.208582Z" - }, - "image_file/b0af6371-4379-45f0-8c09-f6610833fc46": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "e148b974", - "indexed": false, - "name": "primary_image-fov_000-Z6-H1-C2.tiff", - "s3_etag": "599e4babff80285e97242bd4cd08f7e3", - "sha1": "d564342f4a3c0cdadaf0df852f0e197e972d82a6", - "sha256": "1a4a4d532775f1fb0df3a7808db2fb297dce720e6fdbafcaa4e0ff382193c998", - "size": 1600269, - "uuid": "ef0dbdf9-5adf-4503-b48b-c59cf84f30f4", - "version": "2019-04-03T105632.536420Z" - }, - "image_file/f5ce7a96-cfc0-42c4-852b-386f9a27111d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "553155b3", - "indexed": false, - "name": "primary_image-fov_000-Z6-H1-C3.tiff", - "s3_etag": "0e1a664c446d81fb18223b4149e8b2ac", - "sha1": "7fe65a76887149fb1f50c86f27859d689311674b", - "sha256": "c5d5c84a9c0efd4abf05b4dd557dae8cafe485608a1b62f3d565d772fd1158fc", - "size": 1600269, - "uuid": "4ad6424c-538b-4387-b54a-70aaac5e0a01", - "version": "2019-04-03T105632.798766Z" - }, - "image_file/8bc05db7-bd23-4a10-9761-96be7b8ef9ee": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f4752a9d", - "indexed": false, - "name": "primary_image-fov_000-Z6-H2-C0.tiff", - "s3_etag": "168337b82e797db619902e906292bb14", - "sha1": "efedb0f65e78da53fc026c6275b60695e30987de", - "sha256": "37e84417d3876f66a9d669d401977fe0efd36d538b95047daa57ae3d88773593", - "size": 1600269, - "uuid": "e54926ec-cfc5-4a80-952a-961a98d01264", - "version": "2019-04-03T105633.035247Z" - }, - "image_file/3dff4add-7d6f-418c-afba-e46864af51d2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "62f80682", - "indexed": false, - "name": "primary_image-fov_000-Z6-H2-C1.tiff", - "s3_etag": "b280fa6859fd8571e68682c0d3d6f181", - "sha1": "0c70628b53eaeb6d425583bce2f98b085bace46a", - "sha256": "72f7df5e3c5965bd88315189329887ba47bf8d51e3f9464646e5faebdab1b1a7", - "size": 1600269, - "uuid": "1a98673d-9d2d-4083-a0d5-b128c5d267de", - "version": "2019-04-03T105633.297846Z" - }, - "image_file/ab2b7c67-8f13-4388-acd7-e2abb0091f30": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "978bc625", - "indexed": false, - "name": "primary_image-fov_000-Z6-H2-C2.tiff", - "s3_etag": "d87a672aaa65722044eec823981cbaf5", - "sha1": "f90814c037f00b4d41efed7d9e1f2e00efd69205", - "sha256": "49b58722e29ddd4a2468439e672dccc23e171f283232e13f98ca5f1475f618eb", - "size": 1600269, - "uuid": "a9477ea9-35a8-449c-a157-4ec3b9057989", - "version": "2019-04-03T105633.619365Z" - }, - "image_file/d9912d93-3d92-48d2-9f75-826fbba3d94e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ed432bf7", - "indexed": false, - "name": "primary_image-fov_000-Z6-H2-C3.tiff", - "s3_etag": "440b9064ae05440988d3ffad8e9b629d", - "sha1": "e9463d9b903587304016899a06170eb7323cd381", - "sha256": "bba29e16735e9620268b88bc2db40d656771c3b30948489e84add2bda58ce0a5", - "size": 1600269, - "uuid": "ca573914-fead-42c2-acc3-3a9536d720a4", - "version": "2019-04-03T105634.196322Z" - }, - "image_file/8b37aba2-be5e-4963-8e6f-51a2df8e143e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7f1c78ad", - "indexed": false, - "name": "primary_image-fov_000-Z7-H0-C0.tiff", - "s3_etag": "cb0c4a925ce2e8464672ad3053ddae1c", - "sha1": "1210c56cddbb77d129a2e3bdbb6ad45ea318c191", - "sha256": "6e044a88160ce6f2480840525804b5fc7f115f3d787e15594ae2b9d3d635a354", - "size": 1600269, - "uuid": "03e3dcc3-d45a-4c83-bc0b-817e563e19a9", - "version": "2019-04-03T105634.597173Z" - }, - "image_file/81c0e4e2-9021-4c4d-9876-1ed5b78ca7a7": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f5f7ed24", - "indexed": false, - "name": "primary_image-fov_000-Z7-H0-C1.tiff", - "s3_etag": "1b2683b7a2ee7678f79731c3cc75690d", - "sha1": "86964dff4fdc8cf47e6a873b3baab70e4d933718", - "sha256": "9efe951da0f64c505dabcd815234e3960626ebc09bcbb31c26ae9885fd573892", - "size": 1600269, - "uuid": "202940df-87ab-4deb-9ee3-565408ba1316", - "version": "2019-04-03T105634.889498Z" - }, - "image_file/2d7e88dd-bddd-4289-9556-27d301be0b83": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5cd6ee04", - "indexed": false, - "name": "primary_image-fov_000-Z7-H0-C2.tiff", - "s3_etag": "e196eb320d1fdb6cb9924932fcd91e6a", - "sha1": "bbef2157f75133fa93b1da4c130fb4c25384502b", - "sha256": "e9435a040e8d6a92506516e18edbf5017effc9e5d60358f0bf91fa7c9ad4a094", - "size": 1600269, - "uuid": "3a044d9b-72cf-4c00-a331-b920f8bbef8f", - "version": "2019-04-03T105635.152162Z" - }, - "image_file/0c1c578d-d4cc-40bb-a54d-d1d4d004373f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "217ea5dd", - "indexed": false, - "name": "primary_image-fov_000-Z7-H0-C3.tiff", - "s3_etag": "a908d34dbf74e09c25de5b9f7273ff21", - "sha1": "6919b4ef62136cf8056f10c9035eaf34350be210", - "sha256": "bc27ec72db5a5da93908b49865f479cafdd06e54a5ea02145cf5fc437bcf8c1e", - "size": 1600269, - "uuid": "9ca4cd36-67c4-4a19-9e65-82b70a73f820", - "version": "2019-04-03T105635.416620Z" - }, - "image_file/9dc0ead3-f17a-4bb8-88e2-87f779029ff8": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "be84f068", - "indexed": false, - "name": "primary_image-fov_000-Z7-H1-C0.tiff", - "s3_etag": "a0ea29c8f6b4ed700405d0b7b9f25508", - "sha1": "74769dc49f9243e25fe628f7761cd68d943c0a52", - "sha256": "d4700ed483bb7a10c940c309765d07f28e25897d67d9890636a0ed9a9b89ea11", - "size": 1600269, - "uuid": "62d38039-7672-472b-8847-c63bf52bfb6e", - "version": "2019-04-03T105635.669528Z" - }, - "image_file/f618a8bc-5e07-477f-a6d3-1b0af8c81ff0": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "bf3a8200", - "indexed": false, - "name": "primary_image-fov_000-Z7-H1-C1.tiff", - "s3_etag": "72c4457ab957a85df4a9115a34f109dd", - "sha1": "5c44bb630300766ff7b359d96dbec03f4db98b5c", - "sha256": "a112cd97673c1085b02fe6a9efb24f643ee42cc12a5e6d226aac67531451ec1d", - "size": 1600269, - "uuid": "c0fe4ea4-1562-4402-80fb-78cec6415fb6", - "version": "2019-04-03T105636.216303Z" - }, - "image_file/e834d3df-8432-40ba-b67d-c7cd0bd7328d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "177eb23a", - "indexed": false, - "name": "primary_image-fov_000-Z7-H1-C2.tiff", - "s3_etag": "bba07940f0a5aaa5957f81c9e0065e61", - "sha1": "3db85d8e823b23f1aa680053951e9c33ff485aa7", - "sha256": "552e403f54a98bb55ff0803f6b58ad6270ac38b7a39d1a0763bb2120b0b92985", - "size": 1600269, - "uuid": "92351261-9885-477b-8d2a-227901e6ffc7", - "version": "2019-04-03T105636.729218Z" - }, - "image_file/d8908d6d-5daa-454d-9082-726054cfddc1": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "0c632a10", - "indexed": false, - "name": "primary_image-fov_000-Z7-H1-C3.tiff", - "s3_etag": "d3179c0a7294de7f691d8c7db3666e3e", - "sha1": "7c3d00508196f32958021c50778fb38a6082d357", - "sha256": "e3dc5487b384395b8f935206ed5b6a95afd4cc6e3c4815bf9483ed47c156a1b9", - "size": 1600269, - "uuid": "bdf53fbd-fb66-456a-976c-d97414d1ab3b", - "version": "2019-04-03T105637.056125Z" - }, - "image_file/c5a7142e-4702-4e84-b7aa-239df2a71ba8": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "aa061cbb", - "indexed": false, - "name": "primary_image-fov_000-Z7-H2-C0.tiff", - "s3_etag": "b3dbbd62b9b385661d35955aae4b9513", - "sha1": "5aace9b7444f82c5b3640fc9ed2a79b1a9e12e27", - "sha256": "3d7b47e0d89808e906e6fa93b41cddafa38a3b2886441a8bcda381f0f44d06e4", - "size": 1600269, - "uuid": "f76cf7a7-8ae0-4cc2-8c49-497d8eeb4bd5", - "version": "2019-04-03T105637.312587Z" - }, - "image_file/f69e44ef-cf23-4571-8dad-e44222697974": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1321fee4", - "indexed": false, - "name": "primary_image-fov_000-Z7-H2-C1.tiff", - "s3_etag": "dc1eadd4622eeba183ce61f908d093da", - "sha1": "1b1f67ce1f6db8cc0249b9f499734d01b9dc9519", - "sha256": "a62a5092a92c76327e49883c2652e3ebaea9953c2a48afca5c165a47b10e4f90", - "size": 1600269, - "uuid": "ccdd0669-ecf0-42d0-9eed-e6f32f4e2137", - "version": "2019-04-03T105637.562208Z" - }, - "image_file/ea72f81c-2c58-43e2-acca-294254f470f7": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "65556d46", - "indexed": false, - "name": "primary_image-fov_000-Z7-H2-C2.tiff", - "s3_etag": "29efa087a59c0d3e0a180290bea0bf7b", - "sha1": "f7f4cd42d06294f61ad5fef654a0406618b95f49", - "sha256": "fcefebbbbb13678824196b57eecdf5a290d936dc8809f8fbc1ccdd29d1b96e18", - "size": 1600269, - "uuid": "599e9909-55d0-4d43-bef2-c94997a9b5ed", - "version": "2019-04-03T105637.875619Z" - }, - "image_file/89d1d2b5-81d3-487d-9fc1-d8b1d8ac34ab": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "3193e54b", - "indexed": false, - "name": "primary_image-fov_000-Z7-H2-C3.tiff", - "s3_etag": "08175c1691b34c11dc647d01d1c3065f", - "sha1": "813943f84b4375657844bef235fdb2ddc6e1b830", - "sha256": "3a277e268ebdbd068dc4513ba21820455b81ba7c06a0172210a91706ddddf8c4", - "size": 1600269, - "uuid": "b6642034-460c-4628-8995-959aed6daf4c", - "version": "2019-04-03T105638.140553Z" - }, - "image_file/6928ac1b-fd1d-436c-bfc6-4087c65809d7": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b20225fc", - "indexed": false, - "name": "primary_image-fov_000-Z8-H0-C0.tiff", - "s3_etag": "d82f9b12e1c2ae0df138faa1ea08d33f", - "sha1": "174399a0891dfebe57176fb5852103fa69513ea0", - "sha256": "9788637a05eb6abaf9202ce9f80219686edb82669af2d5f53bee50b35f430126", - "size": 1600269, - "uuid": "43a3a428-155b-4174-b22e-8fa69be8d792", - "version": "2019-04-03T105638.472919Z" - }, - "image_file/07a7b938-435b-4804-b140-c255957b6532": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "592b9781", - "indexed": false, - "name": "primary_image-fov_000-Z8-H0-C1.tiff", - "s3_etag": "bc52bd93291f0673d856257761ea8252", - "sha1": "2d734ec0a0cf384feb7de9d08b984da7b41fc24f", - "sha256": "7dc04a42f36d4535311bccefc01ac3c3993c52cd9fd900f556cf943705ed0e88", - "size": 1600269, - "uuid": "12b0c950-9687-4b28-979c-6b370ace1cd3", - "version": "2019-04-03T105638.747128Z" - }, - "image_file/3d532a7b-55e7-4461-afbc-65ef76403384": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "22ecfc52", - "indexed": false, - "name": "primary_image-fov_000-Z8-H0-C2.tiff", - "s3_etag": "e1af122e50eea65daa022f8571517bfd", - "sha1": "0c0b67437f1e48770ddc9002c09d5e281bc97d1e", - "sha256": "39c47edd52b1c74758d90dbc21977a9fda7ae4de554cb9238e7bf0903b8fdea2", - "size": 1600269, - "uuid": "d0d46791-b50d-4622-a375-300d35ef1ba4", - "version": "2019-04-03T105638.999068Z" - }, - "image_file/bab40245-28bd-49a2-8be0-ba109fe41c91": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2b09e4ff", - "indexed": false, - "name": "primary_image-fov_000-Z8-H0-C3.tiff", - "s3_etag": "ccfc7c9f94dd6e47d59c20e2e76d0f16", - "sha1": "1b5c3493b162347b528a4f0e22a9879e4c7d766a", - "sha256": "5c86130e5dc26548c71301779426353401667b0b373fd5b2fa0886d8ecb54328", - "size": 1600269, - "uuid": "6cfbdd29-5799-40c9-9329-917cfe98fb3a", - "version": "2019-04-03T105639.334527Z" - }, - "image_file/9d577bd4-3a27-48be-ad7c-8c44cf803cda": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "42e96812", - "indexed": false, - "name": "primary_image-fov_000-Z8-H1-C0.tiff", - "s3_etag": "60febe6a957ecea63058bfb412e570a5", - "sha1": "94a507aa40e4b3f93f17ad8d15d9e4780571a914", - "sha256": "56a67c43ffb995edaa30ce0ce151f0df38ea08827d93c1e57b902bebe78e1cc7", - "size": 1600269, - "uuid": "c665c520-397f-4410-abed-1cd9e23fe942", - "version": "2019-04-03T105639.905452Z" - }, - "image_file/c4de7605-fec5-4389-bb9e-f2ea0c41cdef": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b18acdbe", - "indexed": false, - "name": "primary_image-fov_000-Z8-H1-C1.tiff", - "s3_etag": "09f753ef93d7ae051a784a327cc79e95", - "sha1": "ae87ab3d3d51095ea4cc74dda5475b47d344875b", - "sha256": "49f068eaae48dbfa68b9f63876e10fa94a613115a7285dd0fad6ee7438d1624e", - "size": 1600269, - "uuid": "fdac5e58-f0bb-40b1-9a58-b49f43bc4238", - "version": "2019-04-03T105640.178722Z" - }, - "image_file/21a043b6-6dde-41b9-b20e-74b961da8b88": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "af59c8a5", - "indexed": false, - "name": "primary_image-fov_000-Z8-H1-C2.tiff", - "s3_etag": "3ae21db88d4c1d098bcf3354adc846f2", - "sha1": "801f806cd3df94b5d4038b4441a8854e065682ba", - "sha256": "b16291cd500218be60bc2069d6e58dbe4f81cabb070f130aedb7ab04612a2465", - "size": 1600269, - "uuid": "bf5e1454-492c-4748-811b-b8ef68548d79", - "version": "2019-04-03T105640.476175Z" - }, - "image_file/11280200-1803-4110-aa84-2808776c2d50": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c323197b", - "indexed": false, - "name": "primary_image-fov_000-Z8-H1-C3.tiff", - "s3_etag": "75d5ca11e181f3120f46ac2c12be6d5f", - "sha1": "c53ecb067ac777473317f7e19440495bfdc305ab", - "sha256": "ae4b6948a3008f08f364741085ad1cec433765c359e69736fc4097557d43edc7", - "size": 1600269, - "uuid": "37a2c628-29f7-4845-ace9-62ed637c7c74", - "version": "2019-04-03T105640.730992Z" - }, - "image_file/86df5269-576b-4d18-a0ce-6e2b2a36d51b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "e7e994f8", - "indexed": false, - "name": "primary_image-fov_000-Z8-H2-C0.tiff", - "s3_etag": "3da7df800a70d2d6e8726bcc76b3b24e", - "sha1": "9ee95d06a5b17fd363fce5c4fed6e8fbb0f05258", - "sha256": "25aede1f80b6e87f0333cd85db66008ef1034eda88ca645fc15a4d0a6b00f675", - "size": 1600269, - "uuid": "1e18aaa0-df92-4bab-81dc-7e225e2c8a09", - "version": "2019-04-03T105641.356591Z" - }, - "image_file/e524ff4e-95fa-4561-bfd3-276cba79e664": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "e62e1b96", - "indexed": false, - "name": "primary_image-fov_000-Z8-H2-C1.tiff", - "s3_etag": "ab7076ebad2e8ab1fe3a2ba36c9d4a05", - "sha1": "5f72db56bea0fbfe4060b03644c49ae514013a01", - "sha256": "f61291d855a579b62e4b92f6119c8682c2784bb5e60cddf3ddc016b1bf9c2543", - "size": 1600269, - "uuid": "682e7e32-5795-4fc3-ad31-5c5f5e737c55", - "version": "2019-04-03T105641.597762Z" - }, - "image_file/3d5737da-b1ab-48cb-a26f-d420e53edccd": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "eb94ca22", - "indexed": false, - "name": "primary_image-fov_000-Z8-H2-C2.tiff", - "s3_etag": "b19708d148c785414fd0f61e7fd497d0", - "sha1": "80e40c2765dbcd3874274020fed22714a4675a38", - "sha256": "745c2423dd6f6a0c53b0be8b4d3f01fa4f52e09e499fb3400885ebe61562eb59", - "size": 1600269, - "uuid": "3b5bde9d-8af7-4253-9013-61bc6917eac4", - "version": "2019-04-03T105642.155558Z" - }, - "image_file/44cf15ec-3d4e-4698-bb14-107c34891191": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "30148627", - "indexed": false, - "name": "primary_image-fov_000-Z8-H2-C3.tiff", - "s3_etag": "8d555490d25c9b375e1f798726f75c8e", - "sha1": "c97a2af4b2500b157661443dbde450170b7be1de", - "sha256": "887cc80db875bf5d704c18bea2ecde0e311f94a1db43e96ad2b71fbae2228ba5", - "size": 1600269, - "uuid": "e6f193a6-c235-4357-b1c8-bd075e0be111", - "version": "2019-04-03T105642.455372Z" - }, - "image_file/6242cdf3-fd6d-4479-a08a-1747818fd978": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "01ece1c6", - "indexed": false, - "name": "primary_image-fov_000-Z9-H0-C0.tiff", - "s3_etag": "0ad31b3db47ab0cc64feab103cd95c06", - "sha1": "1011cca6dff2b136733eaa0fc9ed427dbcbd724f", - "sha256": "33afd30928b802f9b37e1761eea55b04aa17d9c246bbf015174fc46e6ffbbc6d", - "size": 1600269, - "uuid": "33b9e890-93dd-46bf-a464-0b293605ca13", - "version": "2019-04-03T105642.695635Z" - }, - "image_file/bc60bbd4-8b09-425c-b507-9da24a84f412": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "3a56f81e", - "indexed": false, - "name": "primary_image-fov_000-Z9-H0-C1.tiff", - "s3_etag": "6463c0af4aad289aa06ab596accd7f72", - "sha1": "0e55731c16adc0a5423f2476793d2c423b1deb6a", - "sha256": "5337ba319da091c05651d7da158e1cd3719f9befb1f2f6db1344338e0ac70449", - "size": 1600269, - "uuid": "1a57ba61-0aaa-4a98-8714-44ef51295163", - "version": "2019-04-03T105642.933998Z" - }, - "image_file/1f054ccf-f8dd-4127-a6f8-c577d7dd93dc": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4f573958", - "indexed": false, - "name": "primary_image-fov_000-Z9-H0-C2.tiff", - "s3_etag": "662e5f08087f7cc4ee6454f6ed734c66", - "sha1": "96feb27dc74eb05d307d6d5f8a66826962cb037b", - "sha256": "8e7b543d6baf164527bb6ec8b391acd79cd52d61a88ecba8b72db31ade03ff95", - "size": 1600269, - "uuid": "e1a484a8-5557-440d-8196-38a39c8acc3e", - "version": "2019-04-03T105643.266340Z" - }, - "image_file/9954cb4b-b0a4-4479-b31d-0bee1e75d9c7": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5fd73b1d", - "indexed": false, - "name": "primary_image-fov_000-Z9-H0-C3.tiff", - "s3_etag": "b89d1752986854195217fda6c5f7c246", - "sha1": "f0b6ea2f3b8c3f166db793d6f02498041141a527", - "sha256": "3a328ccdc6f19fa663c1e703efe15cb80fd8f5c260eb679ac64222aead8fa19c", - "size": 1600269, - "uuid": "4a836a20-3f30-4e33-8374-c9837de94790", - "version": "2019-04-03T105643.598363Z" - }, - "image_file/5f67c32c-a154-4620-8603-0b64979b04a4": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2335b62b", - "indexed": false, - "name": "primary_image-fov_000-Z9-H1-C0.tiff", - "s3_etag": "a45f76cccdd8e3688c03f9afb3a48e42", - "sha1": "5acfa2d86b69216cb8b25dd5e0ff44e2353a7a2a", - "sha256": "89c07cd8d4d7a47f7d7c85c4e9918e937b9dd248275c3597b520bb29685fd275", - "size": 1600269, - "uuid": "fa8e2052-2f21-420b-84bb-dee4e2ce79ab", - "version": "2019-04-03T105643.915023Z" - }, - "image_file/7d5bffb2-8bf9-4366-a8b2-762ebb4d6c5d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "61289ac4", - "indexed": false, - "name": "primary_image-fov_000-Z9-H1-C1.tiff", - "s3_etag": "859abbee84741bc542fd3c1916e6c76f", - "sha1": "e0a1535468297319590ac1edea0f9f17b1fcbbc3", - "sha256": "3f15a6b5d60834705355dfe79c38f4a8cae0a1fcaf3dbf61bdd2be8eeadf213b", - "size": 1600269, - "uuid": "c605b91e-3b62-442d-bd3e-2d58a213a4bf", - "version": "2019-04-03T105644.156708Z" - }, - "image_file/dcee6df0-9e87-4935-8873-f8d30d449d76": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "081bc6e9", - "indexed": false, - "name": "primary_image-fov_000-Z9-H1-C2.tiff", - "s3_etag": "154e0e39f4e0598830e28c466f606604", - "sha1": "095bcb4c03fd228f69c2cff4e55d75a55f3de86a", - "sha256": "ceb0e9ae90e00e9fe53a63807eac2bb319974203ac92a4ca7ebd9c3287de2284", - "size": 1600269, - "uuid": "d6621482-70a1-42ac-895d-8398aa0bb2b7", - "version": "2019-04-03T105644.436640Z" - }, - "image_file/7d6bdde6-523f-46cb-bed5-d6cfa8fea80c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b65a523e", - "indexed": false, - "name": "primary_image-fov_000-Z9-H1-C3.tiff", - "s3_etag": "44e91c2235e2933c382881c9260e729e", - "sha1": "98be3ab0b504f834c06b8cff450da4d2f27ddb93", - "sha256": "4a722651fc388de26b1dbfcffa7be65c448b26a31d1738e5363857dfea81ea61", - "size": 1600269, - "uuid": "1d051231-9ed8-44fd-8086-93da3a04dd0b", - "version": "2019-04-03T105644.954210Z" - }, - "image_file/e6d00b0c-3641-4ec4-a553-8fd742193dba": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6e9add20", - "indexed": false, - "name": "primary_image-fov_000-Z9-H2-C0.tiff", - "s3_etag": "89384b0fb6345d99cb41c07570b88ac9", - "sha1": "27cc8de22a7967083534b80d11537d38e1adfb2a", - "sha256": "d19fd3d6fececce2aaa3877f38d1c775f76419ec07374b7cff010b9867a12854", - "size": 1600269, - "uuid": "bba231df-4b9b-44fe-a9e9-df314fc8f75d", - "version": "2019-04-03T105645.222571Z" - }, - "image_file/e5034863-0528-4f55-be95-c8501c29f9fe": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "bd266ca9", - "indexed": false, - "name": "primary_image-fov_000-Z9-H2-C1.tiff", - "s3_etag": "59d0ae52331b02c2ad8c8868f7ef97c8", - "sha1": "931b276a47bc715902e1a06f3ed7a264756b1e62", - "sha256": "e1144263f89f3b3b2c4812ca0599274d78057636dcca1d09fdebc30e0d327ced", - "size": 1600269, - "uuid": "6c85c7e1-832c-476c-add9-e2cc509f8de0", - "version": "2019-04-03T105645.515825Z" - }, - "image_file/cc61b14a-59d9-477b-8cb1-43c4ee4cf434": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1285ec2c", - "indexed": false, - "name": "primary_image-fov_000-Z9-H2-C2.tiff", - "s3_etag": "9952c98d3f77cce10a633a2b7af2ad10", - "sha1": "d88ae8998890e877ff4bcb7d9c901ebf6c0f87fa", - "sha256": "b66e916f703c1bccfccb6ad7fcc95fb3af42ac4e6868bbdcea424de9e40a12af", - "size": 1600269, - "uuid": "9a71aa79-aa5e-41ca-89ed-2d5eaea98840", - "version": "2019-04-03T105645.832519Z" - }, - "image_file/33d332c9-aefe-4db5-8830-b8daddaed0d2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ee12e15f", - "indexed": false, - "name": "primary_image-fov_000-Z9-H2-C3.tiff", - "s3_etag": "34fa837a2fb39db2dddfabd84e6a560d", - "sha1": "e0ff15a11a35119aae3feb4e2afb3a0708daa28f", - "sha256": "9f447baf510beb7f942054f980818c6819a12bf9b12e5cadc2cff30af37d9674", - "size": 1600269, - "uuid": "bec2697f-31b6-4db5-888a-024379f3d13f", - "version": "2019-04-03T105646.096587Z" - }, - "image_file/bb3b6fc7-0902-432d-bad1-6b3f61951314": { - "content-type": "application/json; dcp-type=data", - "crc32c": "d148a0e3", - "indexed": false, - "name": "primary_image-fov_000.json", - "s3_etag": "c9bae9cb31bf1356ad858eba63ca3cb8", - "sha1": "bf49d7043b7e4c528a3ec7fdd1d80a49913125b6", - "sha256": "b7d0787c0f9b656331d4e56c4249dc2762ae8bd04f87995910e5ce3c30cde8d2", - "size": 55640, - "uuid": "194db0d1-dfca-44d7-9ad7-194a9e091d32", - "version": "2019-04-03T105646.365296Z" - }, - "image_file/2b734e88-3a33-4c73-92bb-82e0b8f8c13b": { - "content-type": "application/json; dcp-type=data", - "crc32c": "3c1c81b7", - "indexed": false, - "name": "primary_image.json", - "s3_etag": "512105655a1319dc48a63ce1b6034d61", - "sha1": "d623f185225a0edd5334fde5eba07204bf9891dd", - "sha256": "23e8dbd4385ec7be7ce90ba0fdcd00f5357735e8dc77538caa993506e0ce0307", - "size": 119, - "uuid": "57e036f8-063a-47fe-b668-499222390e95", - "version": "2019-04-03T105646.657106Z" - } - }, - "metadata": { - "imaged_specimen/87f58f88-ef8b-4323-bd19-cde1a2497b59": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/2.0.7/imaged_specimen", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "420508-10-1", - "biomaterial_name": "420508 coronal sections slice 10-1", - "biomaterial_description": "mouse brain coronal section 20um", - "ncbi_taxon_id": [ - 10090 - ], - "supplementary_files": [ - "point1nissl10x.tar.gz" - ] - }, - "slice_thickness": 20.0, - "internal_anatomical_structures": [ - { - "text": "V1, Provided files are Neurotrace stain and DIC images of the half brain slice imaged at 10x" - } - ], - "provenance": { - "document_id": "87f58f88-ef8b-4323-bd19-cde1a2497b59", - "submission_date": "2019-04-03T10:13:40.000Z", - "update_date": "2019-04-03T10:13:50.866Z" - } - }, - "specimen_from_organism/edd1d525-a6ae-4658-a6bf-6c31d7ab6948": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "420508_specimen", - "biomaterial_name": "fresh frozen brain", - "ncbi_taxon_id": [ - 10090 - ], - "genotype": "wt" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "collection_time": "2018-09-18T10:00:00Z", - "provenance": { - "document_id": "edd1d525-a6ae-4658-a6bf-6c31d7ab6948", - "submission_date": "2019-04-03T10:13:39.992Z", - "update_date": "2019-04-03T10:13:45.512Z" - } - }, - "donor_organism/6cb9fc09-7755-4a35-b6b1-0d6fe696b2d4": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/14.0.7/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "420508", - "biomaterial_name": "C57BL6J-420508", - "ncbi_taxon_id": [ - 10090 - ], - "genotype": "wt" - }, - "mouse_specific": { - "strain": [ - { - "text": "C57BL6J", - "ontology": "EFO:0000606", - "ontology_label": "C57BL/6J" - } - ] - }, - "death": { - "cause_of_death": "euthanasia under anesthesia", - "cold_perfused": false, - "days_on_ventilator": 0.0, - "hardy_scale": 1, - "time_of_death": "2018-09-18T10:00:00Z" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organism_age": "56", - "organism_age_unit": { - "text": "days", - "ontology": "UO:0000033", - "ontology_label": "day" - }, - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272", - "ontology_label": "adult" - }, - "is_living": "no", - "sex": "male", - "provenance": { - "document_id": "6cb9fc09-7755-4a35-b6b1-0d6fe696b2d4", - "submission_date": "2019-04-03T10:13:39.984Z", - "update_date": "2019-04-03T10:13:45.427Z" - } - }, - "image_file/6baa3aff-b2a5-4e49-82f7-25c108a6107a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "codebook.json", - "file_format": "json" - }, - "provenance": { - "document_id": "6baa3aff-b2a5-4e49-82f7-25c108a6107a", - "submission_date": "2019-04-03T10:13:40.056Z", - "update_date": "2019-04-03T10:15:44.995Z" - } - }, - "image_file/06dcfc33-21da-485f-8e50-49d294713a9e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "experiment.json", - "file_format": "json" - }, - "provenance": { - "document_id": "06dcfc33-21da-485f-8e50-49d294713a9e", - "submission_date": "2019-04-03T10:13:40.066Z", - "update_date": "2019-04-03T10:15:44.993Z" - } - }, - "image_file/404dd50b-4bc9-4c82-8c18-f53c68eed2fc": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z0-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "404dd50b-4bc9-4c82-8c18-f53c68eed2fc", - "submission_date": "2019-04-03T10:13:40.076Z", - "update_date": "2019-04-03T10:15:51.032Z" - } - }, - "image_file/5ceb5dc3-9194-494a-b1df-42bb75ab1a04": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z1-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "5ceb5dc3-9194-494a-b1df-42bb75ab1a04", - "submission_date": "2019-04-03T10:13:40.085Z", - "update_date": "2019-04-03T10:15:47.812Z" - } - }, - "image_file/76e52f76-ede7-4088-b7f6-d6e5f6152292": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z10-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "76e52f76-ede7-4088-b7f6-d6e5f6152292", - "submission_date": "2019-04-03T10:13:40.093Z", - "update_date": "2019-04-03T10:15:51.115Z" - } - }, - "image_file/2e496fe6-f500-4e27-b7f5-3c87fe43bbe5": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z11-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "2e496fe6-f500-4e27-b7f5-3c87fe43bbe5", - "submission_date": "2019-04-03T10:13:40.102Z", - "update_date": "2019-04-03T10:15:54.073Z" - } - }, - "image_file/be66141d-84a3-457d-a8d2-2f0da8c91dff": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z12-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "be66141d-84a3-457d-a8d2-2f0da8c91dff", - "submission_date": "2019-04-03T10:13:40.111Z", - "update_date": "2019-04-03T10:15:51.125Z" - } - }, - "image_file/680cf532-ef0c-4155-b44d-a6ec3920743a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z13-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "680cf532-ef0c-4155-b44d-a6ec3920743a", - "submission_date": "2019-04-03T10:13:40.120Z", - "update_date": "2019-04-03T10:15:50.982Z" - } - }, - "image_file/08609f14-cf43-4188-b743-4a0b55b17347": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z14-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "08609f14-cf43-4188-b743-4a0b55b17347", - "submission_date": "2019-04-03T10:13:40.128Z", - "update_date": "2019-04-03T10:15:47.817Z" - } - }, - "image_file/d10827a1-38f7-457d-9c9f-695f2fc7689c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z15-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "d10827a1-38f7-457d-9c9f-695f2fc7689c", - "submission_date": "2019-04-03T10:13:40.137Z", - "update_date": "2019-04-03T10:15:44.996Z" - } - }, - "image_file/6f8eb2e5-7a0c-4c98-8da0-276457357071": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z16-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6f8eb2e5-7a0c-4c98-8da0-276457357071", - "submission_date": "2019-04-03T10:13:40.145Z", - "update_date": "2019-04-03T10:15:47.821Z" - } - }, - "image_file/ca480df3-71bb-4634-8f71-b6a75aeb9f05": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z2-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ca480df3-71bb-4634-8f71-b6a75aeb9f05", - "submission_date": "2019-04-03T10:13:40.154Z", - "update_date": "2019-04-03T10:15:47.796Z" - } - }, - "image_file/03ae5f5e-65ac-4491-b0ce-eefc940e0224": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z3-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "03ae5f5e-65ac-4491-b0ce-eefc940e0224", - "submission_date": "2019-04-03T10:13:40.166Z", - "update_date": "2019-04-03T10:15:48.018Z" - } - }, - "image_file/ff117ecb-767e-4e72-baa9-2bda4fcd3e62": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z4-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ff117ecb-767e-4e72-baa9-2bda4fcd3e62", - "submission_date": "2019-04-03T10:13:40.176Z", - "update_date": "2019-04-03T10:15:51.040Z" - } - }, - "image_file/887f3d73-94d2-44ac-9047-67aca5225882": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z5-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "887f3d73-94d2-44ac-9047-67aca5225882", - "submission_date": "2019-04-03T10:13:40.186Z", - "update_date": "2019-04-03T10:15:51.029Z" - } - }, - "image_file/896dfacd-206b-4e4f-a846-ba5b070060d9": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z6-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "896dfacd-206b-4e4f-a846-ba5b070060d9", - "submission_date": "2019-04-03T10:13:40.197Z", - "update_date": "2019-04-03T10:15:47.819Z" - } - }, - "image_file/23303c88-01b1-47d0-b770-dca6802caa13": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z7-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "23303c88-01b1-47d0-b770-dca6802caa13", - "submission_date": "2019-04-03T10:13:40.207Z", - "update_date": "2019-04-03T10:15:47.812Z" - } - }, - "image_file/3c1a388d-0577-4417-9cd2-ff33bfed9140": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z8-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3c1a388d-0577-4417-9cd2-ff33bfed9140", - "submission_date": "2019-04-03T10:13:40.217Z", - "update_date": "2019-04-03T10:15:47.821Z" - } - }, - "image_file/67e71b34-7157-4a37-b495-0d740772b480": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z9-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "67e71b34-7157-4a37-b495-0d740772b480", - "submission_date": "2019-04-03T10:13:40.227Z", - "update_date": "2019-04-03T10:15:51.111Z" - } - }, - "image_file/cd3e5e62-6145-42d9-9a5b-046e1b49cf26": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000.json", - "file_format": "json" - }, - "provenance": { - "document_id": "cd3e5e62-6145-42d9-9a5b-046e1b49cf26", - "submission_date": "2019-04-03T10:13:40.236Z", - "update_date": "2019-04-03T10:15:51.054Z" - } - }, - "image_file/5fbcb75e-3ee3-4429-8ede-b243afa0789f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei.json", - "file_format": "json" - }, - "provenance": { - "document_id": "5fbcb75e-3ee3-4429-8ede-b243afa0789f", - "submission_date": "2019-04-03T10:13:40.246Z", - "update_date": "2019-04-03T10:15:51.028Z" - } - }, - "image_file/09226b24-6b11-4e4f-8052-2b544be461aa": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "09226b24-6b11-4e4f-8052-2b544be461aa", - "submission_date": "2019-04-03T10:13:40.256Z", - "update_date": "2019-04-03T10:15:51.126Z" - } - }, - "image_file/f67473fd-fbf8-4d69-9db1-556938ab5b87": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f67473fd-fbf8-4d69-9db1-556938ab5b87", - "submission_date": "2019-04-03T10:13:40.266Z", - "update_date": "2019-04-03T10:15:54.317Z" - } - }, - "image_file/16acc1f2-9f1c-43c8-8ffe-4a9ea674e6ff": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "16acc1f2-9f1c-43c8-8ffe-4a9ea674e6ff", - "submission_date": "2019-04-03T10:13:40.276Z", - "update_date": "2019-04-03T10:15:50.940Z" - } - }, - "image_file/017a2c88-4f6e-418e-bb96-f42f3a220f87": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "017a2c88-4f6e-418e-bb96-f42f3a220f87", - "submission_date": "2019-04-03T10:13:40.286Z", - "update_date": "2019-04-03T10:15:50.977Z" - } - }, - "image_file/30305240-004d-4632-84d4-37d7e7378782": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "30305240-004d-4632-84d4-37d7e7378782", - "submission_date": "2019-04-03T10:13:40.296Z", - "update_date": "2019-04-03T10:15:51.136Z" - } - }, - "image_file/20c5a14a-aaf3-40e1-9ab7-f95c06ea4200": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "20c5a14a-aaf3-40e1-9ab7-f95c06ea4200", - "submission_date": "2019-04-03T10:13:40.306Z", - "update_date": "2019-04-03T10:15:51.052Z" - } - }, - "image_file/3fd2781b-6855-4eaa-b2fb-81db386adb18": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3fd2781b-6855-4eaa-b2fb-81db386adb18", - "submission_date": "2019-04-03T10:13:40.315Z", - "update_date": "2019-04-03T10:15:51.027Z" - } - }, - "image_file/40474d53-44a4-4ab2-9f20-61b71291f8aa": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "40474d53-44a4-4ab2-9f20-61b71291f8aa", - "submission_date": "2019-04-03T10:13:40.325Z", - "update_date": "2019-04-03T10:15:47.810Z" - } - }, - "image_file/aaa97d47-7124-4763-a3fc-f6d66eb6d990": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "aaa97d47-7124-4763-a3fc-f6d66eb6d990", - "submission_date": "2019-04-03T10:13:40.334Z", - "update_date": "2019-04-03T10:15:50.958Z" - } - }, - "image_file/4adbed13-1cb6-4405-b892-fe8165050691": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "4adbed13-1cb6-4405-b892-fe8165050691", - "submission_date": "2019-04-03T10:13:40.344Z", - "update_date": "2019-04-03T10:15:51.040Z" - } - }, - "image_file/2bbf0125-b9cc-4413-8dd7-78ea72beaa17": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "2bbf0125-b9cc-4413-8dd7-78ea72beaa17", - "submission_date": "2019-04-03T10:13:40.354Z", - "update_date": "2019-04-03T10:15:51.020Z" - } - }, - "image_file/5402916f-6de1-4842-8585-fc25c153992b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "5402916f-6de1-4842-8585-fc25c153992b", - "submission_date": "2019-04-03T10:13:40.364Z", - "update_date": "2019-04-03T10:15:51.039Z" - } - }, - "image_file/75b78bfc-8d15-4a07-a07a-c62ae6d656b5": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "75b78bfc-8d15-4a07-a07a-c62ae6d656b5", - "submission_date": "2019-04-03T10:13:40.375Z", - "update_date": "2019-04-03T10:16:00.740Z" - } - }, - "image_file/8a78224e-4106-41d4-96cb-4d9a8b9ecad2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8a78224e-4106-41d4-96cb-4d9a8b9ecad2", - "submission_date": "2019-04-03T10:13:40.386Z", - "update_date": "2019-04-03T10:16:00.295Z" - } - }, - "image_file/cb92dd92-570c-4075-8893-eb19dbd837b8": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "cb92dd92-570c-4075-8893-eb19dbd837b8", - "submission_date": "2019-04-03T10:13:40.396Z", - "update_date": "2019-04-03T10:16:00.289Z" - } - }, - "image_file/b36948c4-0646-42be-9db2-16626a757343": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b36948c4-0646-42be-9db2-16626a757343", - "submission_date": "2019-04-03T10:13:40.405Z", - "update_date": "2019-04-03T10:15:57.643Z" - } - }, - "image_file/c974f4eb-27b8-4ec3-913e-a6eb19572a51": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c974f4eb-27b8-4ec3-913e-a6eb19572a51", - "submission_date": "2019-04-03T10:13:40.414Z", - "update_date": "2019-04-03T10:15:57.265Z" - } - }, - "image_file/febb760d-1e9e-4432-9b88-ce2869a43c44": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "febb760d-1e9e-4432-9b88-ce2869a43c44", - "submission_date": "2019-04-03T10:13:40.423Z", - "update_date": "2019-04-03T10:16:03.118Z" - } - }, - "image_file/054f40a4-68d0-41db-81e9-00239042d9fa": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "054f40a4-68d0-41db-81e9-00239042d9fa", - "submission_date": "2019-04-03T10:13:40.432Z", - "update_date": "2019-04-03T10:15:54.056Z" - } - }, - "image_file/ec7f06aa-e4f9-4f4f-afd1-0ecd39b2e3f5": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ec7f06aa-e4f9-4f4f-afd1-0ecd39b2e3f5", - "submission_date": "2019-04-03T10:13:40.441Z", - "update_date": "2019-04-03T10:15:57.262Z" - } - }, - "image_file/819e3227-cc54-4919-95af-c1f8194bf729": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "819e3227-cc54-4919-95af-c1f8194bf729", - "submission_date": "2019-04-03T10:13:40.450Z", - "update_date": "2019-04-03T10:16:00.245Z" - } - }, - "image_file/b1e2b9d1-6973-41dc-acdf-95474303561f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b1e2b9d1-6973-41dc-acdf-95474303561f", - "submission_date": "2019-04-03T10:13:40.458Z", - "update_date": "2019-04-03T10:16:00.392Z" - } - }, - "image_file/41ffc783-5ad4-4197-8fd1-c029903c43c0": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "41ffc783-5ad4-4197-8fd1-c029903c43c0", - "submission_date": "2019-04-03T10:13:40.467Z", - "update_date": "2019-04-03T10:16:00.242Z" - } - }, - "image_file/ec9c70f0-3ed8-461c-ad0b-2475bd48ac8f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ec9c70f0-3ed8-461c-ad0b-2475bd48ac8f", - "submission_date": "2019-04-03T10:13:40.475Z", - "update_date": "2019-04-03T10:15:54.163Z" - } - }, - "image_file/9014bbaf-a047-4b69-8e28-8356cc99f84e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9014bbaf-a047-4b69-8e28-8356cc99f84e", - "submission_date": "2019-04-03T10:13:40.484Z", - "update_date": "2019-04-03T10:15:54.097Z" - } - }, - "image_file/f7acf90c-2b32-463b-b832-8daa8529f727": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f7acf90c-2b32-463b-b832-8daa8529f727", - "submission_date": "2019-04-03T10:13:40.492Z", - "update_date": "2019-04-03T10:15:51.110Z" - } - }, - "image_file/fae4f8b8-e6ad-4c1f-8126-e03ba8aca46e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "fae4f8b8-e6ad-4c1f-8126-e03ba8aca46e", - "submission_date": "2019-04-03T10:13:40.501Z", - "update_date": "2019-04-03T10:15:54.068Z" - } - }, - "image_file/db22deab-498a-409c-8386-5bf4e60a080c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "db22deab-498a-409c-8386-5bf4e60a080c", - "submission_date": "2019-04-03T10:13:40.509Z", - "update_date": "2019-04-03T10:15:54.171Z" - } - }, - "image_file/07d600bc-0d55-4a8d-9a48-390fc4169845": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "07d600bc-0d55-4a8d-9a48-390fc4169845", - "submission_date": "2019-04-03T10:13:40.518Z", - "update_date": "2019-04-03T10:15:54.155Z" - } - }, - "image_file/d0a032bb-cd0e-4873-b346-5cb19e45c202": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "d0a032bb-cd0e-4873-b346-5cb19e45c202", - "submission_date": "2019-04-03T10:13:40.526Z", - "update_date": "2019-04-03T10:15:54.147Z" - } - }, - "image_file/a161f60f-af92-4b09-9df0-dd7ff2bf571a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "a161f60f-af92-4b09-9df0-dd7ff2bf571a", - "submission_date": "2019-04-03T10:13:40.536Z", - "update_date": "2019-04-03T10:15:54.146Z" - } - }, - "image_file/25c6b755-7f62-49a3-a1b5-aafbc772b5dd": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "25c6b755-7f62-49a3-a1b5-aafbc772b5dd", - "submission_date": "2019-04-03T10:13:40.545Z", - "update_date": "2019-04-03T10:15:57.073Z" - } - }, - "image_file/f10fd9e2-5747-4d7a-8c0c-beba81749011": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f10fd9e2-5747-4d7a-8c0c-beba81749011", - "submission_date": "2019-04-03T10:13:40.553Z", - "update_date": "2019-04-03T10:15:54.011Z" - } - }, - "image_file/553b6aab-4745-45f8-98ab-de6aadbf48e4": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "553b6aab-4745-45f8-98ab-de6aadbf48e4", - "submission_date": "2019-04-03T10:13:40.562Z", - "update_date": "2019-04-03T10:15:54.255Z" - } - }, - "image_file/3572abe9-6e42-4266-8671-ff24b592065c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3572abe9-6e42-4266-8671-ff24b592065c", - "submission_date": "2019-04-03T10:13:40.571Z", - "update_date": "2019-04-03T10:15:54.233Z" - } - }, - "image_file/6882abf6-c247-4167-a18d-e3fec24bcba2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6882abf6-c247-4167-a18d-e3fec24bcba2", - "submission_date": "2019-04-03T10:13:40.579Z", - "update_date": "2019-04-03T10:15:54.124Z" - } - }, - "image_file/15f8b73e-937c-444d-8362-fdf458abb651": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "15f8b73e-937c-444d-8362-fdf458abb651", - "submission_date": "2019-04-03T10:13:40.588Z", - "update_date": "2019-04-03T10:15:54.117Z" - } - }, - "image_file/33b4e374-20ad-4fee-b682-aaa4fc12bec2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "33b4e374-20ad-4fee-b682-aaa4fc12bec2", - "submission_date": "2019-04-03T10:13:40.596Z", - "update_date": "2019-04-03T10:15:54.178Z" - } - }, - "image_file/0e83c507-2211-4561-b75a-92326fb2d4fd": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "0e83c507-2211-4561-b75a-92326fb2d4fd", - "submission_date": "2019-04-03T10:13:40.605Z", - "update_date": "2019-04-03T10:15:54.229Z" - } - }, - "image_file/912c55cf-0774-4838-8874-352766984715": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "912c55cf-0774-4838-8874-352766984715", - "submission_date": "2019-04-03T10:13:40.613Z", - "update_date": "2019-04-03T10:15:54.213Z" - } - }, - "image_file/b2f32e7c-fea2-44c2-a6ae-832c1c7b9e37": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b2f32e7c-fea2-44c2-a6ae-832c1c7b9e37", - "submission_date": "2019-04-03T10:13:40.622Z", - "update_date": "2019-04-03T10:15:50.981Z" - } - }, - "image_file/5b8e3d96-e625-46b6-9689-110fa84fd721": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "5b8e3d96-e625-46b6-9689-110fa84fd721", - "submission_date": "2019-04-03T10:13:40.630Z", - "update_date": "2019-04-03T10:15:54.097Z" - } - }, - "image_file/de43f9bc-ddec-4326-9cb1-7b9c5f76a84f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "de43f9bc-ddec-4326-9cb1-7b9c5f76a84f", - "submission_date": "2019-04-03T10:13:40.639Z", - "update_date": "2019-04-03T10:15:57.225Z" - } - }, - "image_file/6f3272d7-4a62-4a3c-8c44-11dda8756956": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6f3272d7-4a62-4a3c-8c44-11dda8756956", - "submission_date": "2019-04-03T10:13:40.647Z", - "update_date": "2019-04-03T10:15:53.957Z" - } - }, - "image_file/168422c5-e89d-466c-9085-f29c02160143": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "168422c5-e89d-466c-9085-f29c02160143", - "submission_date": "2019-04-03T10:13:40.656Z", - "update_date": "2019-04-03T10:15:54.119Z" - } - }, - "image_file/7331367a-cc43-4af0-8750-a2921d513f97": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7331367a-cc43-4af0-8750-a2921d513f97", - "submission_date": "2019-04-03T10:13:40.664Z", - "update_date": "2019-04-03T10:15:57.287Z" - } - }, - "image_file/edf83a09-2e60-4571-b650-abf4c7ff757b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "edf83a09-2e60-4571-b650-abf4c7ff757b", - "submission_date": "2019-04-03T10:13:40.672Z", - "update_date": "2019-04-03T10:15:54.149Z" - } - }, - "image_file/24bdb70c-4bd1-41e0-b5c2-a3a2e0e4ce5b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "24bdb70c-4bd1-41e0-b5c2-a3a2e0e4ce5b", - "submission_date": "2019-04-03T10:13:40.681Z", - "update_date": "2019-04-03T10:15:54.166Z" - } - }, - "image_file/be9d12b6-f8dd-407c-b1d7-844deb6a5023": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "be9d12b6-f8dd-407c-b1d7-844deb6a5023", - "submission_date": "2019-04-03T10:13:40.689Z", - "update_date": "2019-04-03T10:15:54.168Z" - } - }, - "image_file/e3e59792-61e3-4bf0-a985-2acec75acafd": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e3e59792-61e3-4bf0-a985-2acec75acafd", - "submission_date": "2019-04-03T10:13:40.698Z", - "update_date": "2019-04-03T10:15:57.350Z" - } - }, - "image_file/095ee09c-1605-4c07-9324-b5382f20b78e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "095ee09c-1605-4c07-9324-b5382f20b78e", - "submission_date": "2019-04-03T10:13:40.707Z", - "update_date": "2019-04-03T10:15:51.023Z" - } - }, - "image_file/77b96424-accb-4c6b-884c-756f2bb40929": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "77b96424-accb-4c6b-884c-756f2bb40929", - "submission_date": "2019-04-03T10:13:40.715Z", - "update_date": "2019-04-03T10:15:54.145Z" - } - }, - "image_file/a0c2a5b4-7cc2-47f5-97a7-6b59019155da": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "a0c2a5b4-7cc2-47f5-97a7-6b59019155da", - "submission_date": "2019-04-03T10:13:40.724Z", - "update_date": "2019-04-03T10:15:57.414Z" - } - }, - "image_file/78518dc1-d38e-4230-88b8-887bdd83f965": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "78518dc1-d38e-4230-88b8-887bdd83f965", - "submission_date": "2019-04-03T10:13:40.733Z", - "update_date": "2019-04-03T10:15:54.195Z" - } - }, - "image_file/652dd3c5-6467-41ee-89b3-e4b3361fb533": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "652dd3c5-6467-41ee-89b3-e4b3361fb533", - "submission_date": "2019-04-03T10:13:40.741Z", - "update_date": "2019-04-03T10:15:54.138Z" - } - }, - "image_file/cae3d214-d485-4350-8cd2-f4142aca4aef": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "cae3d214-d485-4350-8cd2-f4142aca4aef", - "submission_date": "2019-04-03T10:13:40.749Z", - "update_date": "2019-04-03T10:15:54.152Z" - } - }, - "image_file/2ab7ea06-08e0-4669-88e0-23c1e74a3b49": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "2ab7ea06-08e0-4669-88e0-23c1e74a3b49", - "submission_date": "2019-04-03T10:13:40.758Z", - "update_date": "2019-04-03T10:15:54.144Z" - } - }, - "image_file/de282263-0944-48d4-9819-6182636c76bd": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "de282263-0944-48d4-9819-6182636c76bd", - "submission_date": "2019-04-03T10:13:40.766Z", - "update_date": "2019-04-03T10:15:50.968Z" - } - }, - "image_file/bfdbe9b5-42ac-419a-b297-843095de2cc2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "bfdbe9b5-42ac-419a-b297-843095de2cc2", - "submission_date": "2019-04-03T10:13:40.775Z", - "update_date": "2019-04-03T10:15:57.263Z" - } - }, - "image_file/0ef6ffa4-e40f-476c-8ac9-10732ef6e42d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "0ef6ffa4-e40f-476c-8ac9-10732ef6e42d", - "submission_date": "2019-04-03T10:13:40.783Z", - "update_date": "2019-04-03T10:15:57.144Z" - } - }, - "image_file/e2763cda-3236-487e-9944-5169c0cb8856": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e2763cda-3236-487e-9944-5169c0cb8856", - "submission_date": "2019-04-03T10:13:40.792Z", - "update_date": "2019-04-03T10:15:57.230Z" - } - }, - "image_file/37018bd8-8537-47c3-a5a9-efb43552f30c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "37018bd8-8537-47c3-a5a9-efb43552f30c", - "submission_date": "2019-04-03T10:13:40.801Z", - "update_date": "2019-04-03T10:15:57.364Z" - } - }, - "image_file/a6c9b1ce-2054-4a48-b262-bb0723b8a567": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "a6c9b1ce-2054-4a48-b262-bb0723b8a567", - "submission_date": "2019-04-03T10:13:40.809Z", - "update_date": "2019-04-03T10:15:57.302Z" - } - }, - "image_file/8319ee38-f199-49d7-989a-25b451656b38": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8319ee38-f199-49d7-989a-25b451656b38", - "submission_date": "2019-04-03T10:13:40.818Z", - "update_date": "2019-04-03T10:15:54.124Z" - } - }, - "image_file/022841b6-8b7c-4d0c-b65f-06ba14253540": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "022841b6-8b7c-4d0c-b65f-06ba14253540", - "submission_date": "2019-04-03T10:13:40.826Z", - "update_date": "2019-04-03T10:15:54.250Z" - } - }, - "image_file/299dfbe5-05f5-48a7-816b-61036f0e435a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "299dfbe5-05f5-48a7-816b-61036f0e435a", - "submission_date": "2019-04-03T10:13:40.835Z", - "update_date": "2019-04-03T10:15:54.232Z" - } - }, - "image_file/6b8b11aa-3600-4a63-a980-93465e681c9c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6b8b11aa-3600-4a63-a980-93465e681c9c", - "submission_date": "2019-04-03T10:13:40.844Z", - "update_date": "2019-04-03T10:15:50.951Z" - } - }, - "image_file/35716168-df43-4273-b52f-72e3d18a47bc": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "35716168-df43-4273-b52f-72e3d18a47bc", - "submission_date": "2019-04-03T10:13:40.853Z", - "update_date": "2019-04-03T10:15:57.202Z" - } - }, - "image_file/6be783ec-c132-4e09-90e0-0958efaf6619": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6be783ec-c132-4e09-90e0-0958efaf6619", - "submission_date": "2019-04-03T10:13:40.862Z", - "update_date": "2019-04-03T10:15:57.305Z" - } - }, - "image_file/a11956c9-c24e-4efb-8af8-1167b3081e70": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "a11956c9-c24e-4efb-8af8-1167b3081e70", - "submission_date": "2019-04-03T10:13:40.871Z", - "update_date": "2019-04-03T10:15:57.283Z" - } - }, - "image_file/b69a349b-0e07-4fbe-9e3b-9f2cea828b96": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b69a349b-0e07-4fbe-9e3b-9f2cea828b96", - "submission_date": "2019-04-03T10:13:40.880Z", - "update_date": "2019-04-03T10:15:51.102Z" - } - }, - "image_file/753c2a57-b5f1-4984-b874-b2b10d582847": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "753c2a57-b5f1-4984-b874-b2b10d582847", - "submission_date": "2019-04-03T10:13:40.889Z", - "update_date": "2019-04-03T10:16:00.454Z" - } - }, - "image_file/e0b93b3d-075b-482b-838a-e36d8849607b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e0b93b3d-075b-482b-838a-e36d8849607b", - "submission_date": "2019-04-03T10:13:40.899Z", - "update_date": "2019-04-03T10:15:57.655Z" - } - }, - "image_file/96c8ed8d-8bd6-49f3-b97b-025b0d6bc9ec": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "96c8ed8d-8bd6-49f3-b97b-025b0d6bc9ec", - "submission_date": "2019-04-03T10:13:40.908Z", - "update_date": "2019-04-03T10:15:57.378Z" - } - }, - "image_file/c647964a-7796-4dd2-9fa8-b23f012ac14e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c647964a-7796-4dd2-9fa8-b23f012ac14e", - "submission_date": "2019-04-03T10:13:40.917Z", - "update_date": "2019-04-03T10:15:54.078Z" - } - }, - "image_file/87a63649-9834-49b8-89a0-310211c1b5b3": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "87a63649-9834-49b8-89a0-310211c1b5b3", - "submission_date": "2019-04-03T10:13:40.926Z", - "update_date": "2019-04-03T10:15:57.378Z" - } - }, - "image_file/b2eb5b20-fd1a-403c-8b55-9eec5972d482": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b2eb5b20-fd1a-403c-8b55-9eec5972d482", - "submission_date": "2019-04-03T10:13:40.936Z", - "update_date": "2019-04-03T10:15:54.167Z" - } - }, - "image_file/4b3b36cb-cd90-4526-978d-2e7e8f7add39": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "4b3b36cb-cd90-4526-978d-2e7e8f7add39", - "submission_date": "2019-04-03T10:13:40.953Z", - "update_date": "2019-04-03T10:15:57.225Z" - } - }, - "image_file/cdc774f8-3310-4f1f-8c67-03579c253640": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "cdc774f8-3310-4f1f-8c67-03579c253640", - "submission_date": "2019-04-03T10:13:40.968Z", - "update_date": "2019-04-03T10:15:57.258Z" - } - }, - "image_file/607370e0-7e7e-4d25-ba5c-957c00a73ac1": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "607370e0-7e7e-4d25-ba5c-957c00a73ac1", - "submission_date": "2019-04-03T10:13:40.979Z", - "update_date": "2019-04-03T10:16:00.280Z" - } - }, - "image_file/3240d7ab-568b-4be5-adba-3178b3e8f85e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3240d7ab-568b-4be5-adba-3178b3e8f85e", - "submission_date": "2019-04-03T10:13:40.990Z", - "update_date": "2019-04-03T10:16:00.280Z" - } - }, - "image_file/c0b6ee98-677a-41d9-9d80-9ac63d251b08": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c0b6ee98-677a-41d9-9d80-9ac63d251b08", - "submission_date": "2019-04-03T10:13:41.002Z", - "update_date": "2019-04-03T10:15:57.303Z" - } - }, - "image_file/f34c01ec-06df-49e6-bc2f-c50c7f398851": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f34c01ec-06df-49e6-bc2f-c50c7f398851", - "submission_date": "2019-04-03T10:13:41.020Z", - "update_date": "2019-04-03T10:16:00.436Z" - } - }, - "image_file/2047311b-f3ee-4137-8338-a45166e01d53": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "2047311b-f3ee-4137-8338-a45166e01d53", - "submission_date": "2019-04-03T10:13:41.032Z", - "update_date": "2019-04-03T10:15:50.968Z" - } - }, - "image_file/44ea335a-1991-4504-be12-04f1a332ddfb": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "44ea335a-1991-4504-be12-04f1a332ddfb", - "submission_date": "2019-04-03T10:13:41.044Z", - "update_date": "2019-04-03T10:16:00.403Z" - } - }, - "image_file/59f3d0ab-1fe1-4cc8-b343-c12b520d769d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "59f3d0ab-1fe1-4cc8-b343-c12b520d769d", - "submission_date": "2019-04-03T10:13:41.054Z", - "update_date": "2019-04-03T10:15:54.147Z" - } - }, - "image_file/58f9fb1a-b6be-42c4-98ed-a5c091a3c716": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "58f9fb1a-b6be-42c4-98ed-a5c091a3c716", - "submission_date": "2019-04-03T10:13:41.065Z", - "update_date": "2019-04-03T10:16:00.681Z" - } - }, - "image_file/6af3cb41-9e64-4b11-b272-be87adf0fa94": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6af3cb41-9e64-4b11-b272-be87adf0fa94", - "submission_date": "2019-04-03T10:13:41.076Z", - "update_date": "2019-04-03T10:15:57.097Z" - } - }, - "image_file/7541d176-dfba-4e05-ba45-0c6964271dff": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7541d176-dfba-4e05-ba45-0c6964271dff", - "submission_date": "2019-04-03T10:13:41.087Z", - "update_date": "2019-04-03T10:15:57.397Z" - } - }, - "image_file/8ee1e829-a507-40a5-87ac-7fd8379b87ce": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8ee1e829-a507-40a5-87ac-7fd8379b87ce", - "submission_date": "2019-04-03T10:13:41.097Z", - "update_date": "2019-04-03T10:15:57.618Z" - } - }, - "image_file/8e57554a-abb2-4664-87b6-a397f4da6555": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8e57554a-abb2-4664-87b6-a397f4da6555", - "submission_date": "2019-04-03T10:13:41.107Z", - "update_date": "2019-04-03T10:16:00.218Z" - } - }, - "image_file/88fa5ec5-db7d-49bf-8c7e-86f348fbc84c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "88fa5ec5-db7d-49bf-8c7e-86f348fbc84c", - "submission_date": "2019-04-03T10:13:41.117Z", - "update_date": "2019-04-03T10:15:57.372Z" - } - }, - "image_file/a2b4ab97-84bd-4808-884d-bd8cc5e7b922": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "a2b4ab97-84bd-4808-884d-bd8cc5e7b922", - "submission_date": "2019-04-03T10:13:41.127Z", - "update_date": "2019-04-03T10:15:57.219Z" - } - }, - "image_file/56c83f8e-3ef2-4a3a-b808-52cc1e96ac8e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "56c83f8e-3ef2-4a3a-b808-52cc1e96ac8e", - "submission_date": "2019-04-03T10:13:41.136Z", - "update_date": "2019-04-03T10:16:00.319Z" - } - }, - "image_file/8af22b64-2c3f-4aad-a2d5-5d9b122a7b1c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8af22b64-2c3f-4aad-a2d5-5d9b122a7b1c", - "submission_date": "2019-04-03T10:13:41.146Z", - "update_date": "2019-04-03T10:16:00.829Z" - } - }, - "image_file/f0cb4244-e19a-46a0-89f1-04143548872d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f0cb4244-e19a-46a0-89f1-04143548872d", - "submission_date": "2019-04-03T10:13:41.156Z", - "update_date": "2019-04-03T10:16:00.414Z" - } - }, - "image_file/73074f55-d009-41a2-929e-6fd9949bb1dd": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "73074f55-d009-41a2-929e-6fd9949bb1dd", - "submission_date": "2019-04-03T10:13:41.166Z", - "update_date": "2019-04-03T10:15:57.285Z" - } - }, - "image_file/0c2a3965-fbd7-4dc2-bcf0-9c51650a7331": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "0c2a3965-fbd7-4dc2-bcf0-9c51650a7331", - "submission_date": "2019-04-03T10:13:41.176Z", - "update_date": "2019-04-03T10:16:03.247Z" - } - }, - "image_file/3774ecbd-d397-4b46-ba08-a7cbc6da0c07": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3774ecbd-d397-4b46-ba08-a7cbc6da0c07", - "submission_date": "2019-04-03T10:13:41.185Z", - "update_date": "2019-04-03T10:15:51.101Z" - } - }, - "image_file/146231bb-1b13-4db5-8157-9d9962cc3a3a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "146231bb-1b13-4db5-8157-9d9962cc3a3a", - "submission_date": "2019-04-03T10:13:41.195Z", - "update_date": "2019-04-03T10:16:00.042Z" - } - }, - "image_file/1d1b3f27-4f67-4338-bb36-173fd6ecf14b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "1d1b3f27-4f67-4338-bb36-173fd6ecf14b", - "submission_date": "2019-04-03T10:13:41.205Z", - "update_date": "2019-04-03T10:15:57.650Z" - } - }, - "image_file/7fe17380-3090-4fc3-9504-02b3f8ed95b6": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7fe17380-3090-4fc3-9504-02b3f8ed95b6", - "submission_date": "2019-04-03T10:13:41.215Z", - "update_date": "2019-04-03T10:16:00.270Z" - } - }, - "image_file/fc405b01-60ca-436f-a06c-2f38f7156a87": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "fc405b01-60ca-436f-a06c-2f38f7156a87", - "submission_date": "2019-04-03T10:13:41.225Z", - "update_date": "2019-04-03T10:16:00.160Z" - } - }, - "image_file/bae92b53-c6c7-4712-865e-6cff3cba506e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "bae92b53-c6c7-4712-865e-6cff3cba506e", - "submission_date": "2019-04-03T10:13:41.235Z", - "update_date": "2019-04-03T10:16:00.763Z" - } - }, - "image_file/83662ec5-a202-42ab-9a47-a701d4f19de3": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "83662ec5-a202-42ab-9a47-a701d4f19de3", - "submission_date": "2019-04-03T10:13:41.246Z", - "update_date": "2019-04-03T10:16:00.067Z" - } - }, - "image_file/a04957c6-8ce8-4fa6-950d-71812ff3d698": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "a04957c6-8ce8-4fa6-950d-71812ff3d698", - "submission_date": "2019-04-03T10:13:41.256Z", - "update_date": "2019-04-03T10:15:57.271Z" - } - }, - "image_file/9284d3a4-73bd-4aa0-847c-ab273d14185a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9284d3a4-73bd-4aa0-847c-ab273d14185a", - "submission_date": "2019-04-03T10:13:41.266Z", - "update_date": "2019-04-03T10:16:00.765Z" - } - }, - "image_file/4d664562-c333-4aaf-bb8b-641e0568733e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "4d664562-c333-4aaf-bb8b-641e0568733e", - "submission_date": "2019-04-03T10:13:41.276Z", - "update_date": "2019-04-03T10:16:00.166Z" - } - }, - "image_file/b533685d-3c60-4483-841b-a054f0a69fec": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b533685d-3c60-4483-841b-a054f0a69fec", - "submission_date": "2019-04-03T10:13:41.286Z", - "update_date": "2019-04-03T10:15:54.188Z" - } - }, - "image_file/3f14c88e-58db-4f76-b6e0-4b483ded1ca3": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3f14c88e-58db-4f76-b6e0-4b483ded1ca3", - "submission_date": "2019-04-03T10:13:41.296Z", - "update_date": "2019-04-03T10:15:57.291Z" - } - }, - "image_file/32d0b267-f399-408a-b35f-f1ebc7d0fc1f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "32d0b267-f399-408a-b35f-f1ebc7d0fc1f", - "submission_date": "2019-04-03T10:13:41.305Z", - "update_date": "2019-04-03T10:16:00.394Z" - } - }, - "image_file/3e8510c9-7e31-49bd-bb90-cb55577c2f25": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3e8510c9-7e31-49bd-bb90-cb55577c2f25", - "submission_date": "2019-04-03T10:13:41.315Z", - "update_date": "2019-04-03T10:16:00.298Z" - } - }, - "image_file/463aff9a-ec7e-40d0-be42-c6686af9130d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "463aff9a-ec7e-40d0-be42-c6686af9130d", - "submission_date": "2019-04-03T10:13:41.325Z", - "update_date": "2019-04-03T10:16:00.374Z" - } - }, - "image_file/02ddb50f-4a97-4fbc-ac08-32cd5f0fb319": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "02ddb50f-4a97-4fbc-ac08-32cd5f0fb319", - "submission_date": "2019-04-03T10:13:41.334Z", - "update_date": "2019-04-03T10:16:00.331Z" - } - }, - "image_file/868efb99-df36-462b-91a2-bb6ca27e842a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "868efb99-df36-462b-91a2-bb6ca27e842a", - "submission_date": "2019-04-03T10:13:41.344Z", - "update_date": "2019-04-03T10:15:57.472Z" - } - }, - "image_file/dd124d84-cb44-42e6-88d8-0d97fcb2c0f1": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "dd124d84-cb44-42e6-88d8-0d97fcb2c0f1", - "submission_date": "2019-04-03T10:13:41.354Z", - "update_date": "2019-04-03T10:15:57.134Z" - } - }, - "image_file/36ded48a-869f-4fa8-971f-56bc28298276": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "36ded48a-869f-4fa8-971f-56bc28298276", - "submission_date": "2019-04-03T10:13:41.363Z", - "update_date": "2019-04-03T10:16:00.039Z" - } - }, - "image_file/b62567c9-27d5-49b9-aa2e-7e9e1513dcb4": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b62567c9-27d5-49b9-aa2e-7e9e1513dcb4", - "submission_date": "2019-04-03T10:13:41.373Z", - "update_date": "2019-04-03T10:15:57.347Z" - } - }, - "image_file/e72742a4-23ba-4e5d-a29b-ad449abe8101": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e72742a4-23ba-4e5d-a29b-ad449abe8101", - "submission_date": "2019-04-03T10:13:41.382Z", - "update_date": "2019-04-03T10:15:57.374Z" - } - }, - "image_file/cd6e1096-f8c3-4eda-957d-b09741d60901": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "cd6e1096-f8c3-4eda-957d-b09741d60901", - "submission_date": "2019-04-03T10:13:41.392Z", - "update_date": "2019-04-03T10:16:00.117Z" - } - }, - "image_file/903ea376-5153-4fb8-8ffa-e2948951409c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "903ea376-5153-4fb8-8ffa-e2948951409c", - "submission_date": "2019-04-03T10:13:41.401Z", - "update_date": "2019-04-03T10:15:57.150Z" - } - }, - "image_file/89c5fc1e-9d18-4a6b-9025-ea0b75d01adb": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "89c5fc1e-9d18-4a6b-9025-ea0b75d01adb", - "submission_date": "2019-04-03T10:13:41.411Z", - "update_date": "2019-04-03T10:16:00.258Z" - } - }, - "image_file/8381d167-c4dd-49a2-b5df-1ae815bbe42e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8381d167-c4dd-49a2-b5df-1ae815bbe42e", - "submission_date": "2019-04-03T10:13:41.421Z", - "update_date": "2019-04-03T10:15:57.334Z" - } - }, - "image_file/9be80be6-ee45-49d5-8d3d-a6df8f0383f6": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9be80be6-ee45-49d5-8d3d-a6df8f0383f6", - "submission_date": "2019-04-03T10:13:41.430Z", - "update_date": "2019-04-03T10:15:57.150Z" - } - }, - "image_file/cf305c60-bb2c-41af-82bf-0631c2a7b0be": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "cf305c60-bb2c-41af-82bf-0631c2a7b0be", - "submission_date": "2019-04-03T10:13:41.440Z", - "update_date": "2019-04-03T10:15:57.290Z" - } - }, - "image_file/074290a9-35e1-422f-a3af-e5ed58781b4d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "074290a9-35e1-422f-a3af-e5ed58781b4d", - "submission_date": "2019-04-03T10:13:41.450Z", - "update_date": "2019-04-03T10:15:57.347Z" - } - }, - "image_file/0c49b3ca-bb47-41d9-a58c-e5ea79f673c3": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "0c49b3ca-bb47-41d9-a58c-e5ea79f673c3", - "submission_date": "2019-04-03T10:13:41.460Z", - "update_date": "2019-04-03T10:16:00.451Z" - } - }, - "image_file/783c4def-7dc3-40a6-aa9e-a3f92a2dffba": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "783c4def-7dc3-40a6-aa9e-a3f92a2dffba", - "submission_date": "2019-04-03T10:13:41.470Z", - "update_date": "2019-04-03T10:16:03.144Z" - } - }, - "image_file/5165cc56-ff89-42bf-b000-fec4bd57176e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "5165cc56-ff89-42bf-b000-fec4bd57176e", - "submission_date": "2019-04-03T10:13:41.479Z", - "update_date": "2019-04-03T10:16:00.708Z" - } - }, - "image_file/545be634-5893-45e0-93b2-dd4ea93e00db": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "545be634-5893-45e0-93b2-dd4ea93e00db", - "submission_date": "2019-04-03T10:13:41.489Z", - "update_date": "2019-04-03T10:16:00.405Z" - } - }, - "image_file/2d2e58c6-7c24-4089-bbe9-d47b7482be46": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "2d2e58c6-7c24-4089-bbe9-d47b7482be46", - "submission_date": "2019-04-03T10:13:41.499Z", - "update_date": "2019-04-03T10:16:00.253Z" - } - }, - "image_file/e4ce035a-f9e2-459f-8ecf-ce138ea00b34": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e4ce035a-f9e2-459f-8ecf-ce138ea00b34", - "submission_date": "2019-04-03T10:13:41.509Z", - "update_date": "2019-04-03T10:15:57.292Z" - } - }, - "image_file/81214e49-318f-4221-bf2c-4ef00cfa916b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "81214e49-318f-4221-bf2c-4ef00cfa916b", - "submission_date": "2019-04-03T10:13:41.519Z", - "update_date": "2019-04-03T10:16:00.761Z" - } - }, - "image_file/7fc97754-1121-468b-b1e4-839bde86b6c8": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7fc97754-1121-468b-b1e4-839bde86b6c8", - "submission_date": "2019-04-03T10:13:41.529Z", - "update_date": "2019-04-03T10:15:57.316Z" - } - }, - "image_file/7d70d44c-b5d7-47be-9687-e9a775e86251": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7d70d44c-b5d7-47be-9687-e9a775e86251", - "submission_date": "2019-04-03T10:13:41.539Z", - "update_date": "2019-04-03T10:16:00.785Z" - } - }, - "image_file/ddb4f9d4-f2a1-42a5-87fa-e818071a5b33": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ddb4f9d4-f2a1-42a5-87fa-e818071a5b33", - "submission_date": "2019-04-03T10:13:41.552Z", - "update_date": "2019-04-03T10:15:57.619Z" - } - }, - "image_file/b7607809-e975-4c32-bff7-375cb2d8276f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b7607809-e975-4c32-bff7-375cb2d8276f", - "submission_date": "2019-04-03T10:13:41.564Z", - "update_date": "2019-04-03T10:15:57.213Z" - } - }, - "image_file/b8a6c863-626d-4fbf-863b-610cffaac37d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b8a6c863-626d-4fbf-863b-610cffaac37d", - "submission_date": "2019-04-03T10:13:41.579Z", - "update_date": "2019-04-03T10:16:00.707Z" - } - }, - "image_file/45077a5c-ee96-47c0-a84f-9d46cf799338": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "45077a5c-ee96-47c0-a84f-9d46cf799338", - "submission_date": "2019-04-03T10:13:41.590Z", - "update_date": "2019-04-03T10:15:57.619Z" - } - }, - "image_file/49d82b74-6f1a-415c-93ab-958c60f083b6": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "49d82b74-6f1a-415c-93ab-958c60f083b6", - "submission_date": "2019-04-03T10:13:41.601Z", - "update_date": "2019-04-03T10:15:57.323Z" - } - }, - "image_file/753b51b7-a909-44e7-bb21-cf2cd18328f8": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "753b51b7-a909-44e7-bb21-cf2cd18328f8", - "submission_date": "2019-04-03T10:13:41.612Z", - "update_date": "2019-04-03T10:16:00.722Z" - } - }, - "image_file/c7ab6349-b2bb-4ba3-9c9b-27d270550052": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c7ab6349-b2bb-4ba3-9c9b-27d270550052", - "submission_date": "2019-04-03T10:13:41.624Z", - "update_date": "2019-04-03T10:16:00.390Z" - } - }, - "image_file/7be770fc-4a56-4f82-a4cf-3cf908d54dca": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7be770fc-4a56-4f82-a4cf-3cf908d54dca", - "submission_date": "2019-04-03T10:13:41.635Z", - "update_date": "2019-04-03T10:16:00.789Z" - } - }, - "image_file/3f5f8537-c1af-4d2e-a732-53b6d4275588": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3f5f8537-c1af-4d2e-a732-53b6d4275588", - "submission_date": "2019-04-03T10:13:41.646Z", - "update_date": "2019-04-03T10:16:00.749Z" - } - }, - "image_file/3820feac-72c4-49c5-a5a0-773f4e5ee3c1": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3820feac-72c4-49c5-a5a0-773f4e5ee3c1", - "submission_date": "2019-04-03T10:13:41.657Z", - "update_date": "2019-04-03T10:15:57.145Z" - } - }, - "image_file/f986c2c2-2823-45a0-80cf-5e6f67958afb": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f986c2c2-2823-45a0-80cf-5e6f67958afb", - "submission_date": "2019-04-03T10:13:41.668Z", - "update_date": "2019-04-03T10:16:00.833Z" - } - }, - "image_file/7d17d6d6-d038-40c6-b965-6de41ce9c931": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7d17d6d6-d038-40c6-b965-6de41ce9c931", - "submission_date": "2019-04-03T10:13:41.680Z", - "update_date": "2019-04-03T10:15:57.652Z" - } - }, - "image_file/3d208b38-62c8-492d-9434-21bb66ead16e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3d208b38-62c8-492d-9434-21bb66ead16e", - "submission_date": "2019-04-03T10:13:41.692Z", - "update_date": "2019-04-03T10:16:03.214Z" - } - }, - "image_file/9a982898-77c6-4a56-8e54-9cb83ff0b235": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9a982898-77c6-4a56-8e54-9cb83ff0b235", - "submission_date": "2019-04-03T10:13:41.704Z", - "update_date": "2019-04-03T10:16:03.249Z" - } - }, - "image_file/1bdd91d7-0a1a-488d-ab9c-78eba7a6daa3": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "1bdd91d7-0a1a-488d-ab9c-78eba7a6daa3", - "submission_date": "2019-04-03T10:13:41.715Z", - "update_date": "2019-04-03T10:16:00.293Z" - } - }, - "image_file/24b6366f-03ce-4e4d-b50f-90687f3e2b94": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "24b6366f-03ce-4e4d-b50f-90687f3e2b94", - "submission_date": "2019-04-03T10:13:41.726Z", - "update_date": "2019-04-03T10:16:00.295Z" - } - }, - "image_file/ec1d0987-fb49-48b8-aaeb-321c659fb67f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ec1d0987-fb49-48b8-aaeb-321c659fb67f", - "submission_date": "2019-04-03T10:13:41.736Z", - "update_date": "2019-04-03T10:16:03.247Z" - } - }, - "image_file/e756ce65-ad72-42e6-a8cc-9c1bac781ce5": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e756ce65-ad72-42e6-a8cc-9c1bac781ce5", - "submission_date": "2019-04-03T10:13:41.746Z", - "update_date": "2019-04-03T10:16:03.243Z" - } - }, - "image_file/6fbcb1c7-ce98-46db-8054-b451b6bca205": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6fbcb1c7-ce98-46db-8054-b451b6bca205", - "submission_date": "2019-04-03T10:13:41.756Z", - "update_date": "2019-04-03T10:16:03.126Z" - } - }, - "image_file/c225fa8c-e8c8-46a4-bf23-720e2cf1c9ac": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c225fa8c-e8c8-46a4-bf23-720e2cf1c9ac", - "submission_date": "2019-04-03T10:13:41.766Z", - "update_date": "2019-04-03T10:16:00.740Z" - } - }, - "image_file/aa6fca0d-6a70-4016-a0e4-307878e9ff45": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "aa6fca0d-6a70-4016-a0e4-307878e9ff45", - "submission_date": "2019-04-03T10:13:41.776Z", - "update_date": "2019-04-03T10:16:00.704Z" - } - }, - "image_file/ee62cd8d-fb93-4082-980b-213c7a8a0c47": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ee62cd8d-fb93-4082-980b-213c7a8a0c47", - "submission_date": "2019-04-03T10:13:41.785Z", - "update_date": "2019-04-03T10:16:03.200Z" - } - }, - "image_file/bbd60a79-3572-42c0-8e53-b0c566a72f06": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "bbd60a79-3572-42c0-8e53-b0c566a72f06", - "submission_date": "2019-04-03T10:13:41.795Z", - "update_date": "2019-04-03T10:16:00.196Z" - } - }, - "image_file/bf585666-2fb4-4ad5-a9b3-b268a9953ed9": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "bf585666-2fb4-4ad5-a9b3-b268a9953ed9", - "submission_date": "2019-04-03T10:13:41.805Z", - "update_date": "2019-04-03T10:16:03.144Z" - } - }, - "image_file/52548ff8-5bbd-4b1c-9c52-4e5d82f846e2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "52548ff8-5bbd-4b1c-9c52-4e5d82f846e2", - "submission_date": "2019-04-03T10:13:41.816Z", - "update_date": "2019-04-03T10:16:00.186Z" - } - }, - "image_file/240a67cc-e827-41bf-8ac8-a66bc2797f13": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "240a67cc-e827-41bf-8ac8-a66bc2797f13", - "submission_date": "2019-04-03T10:13:41.827Z", - "update_date": "2019-04-03T10:16:00.772Z" - } - }, - "image_file/7a9b6534-fa1d-4282-a064-11e60e57a322": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7a9b6534-fa1d-4282-a064-11e60e57a322", - "submission_date": "2019-04-03T10:13:41.838Z", - "update_date": "2019-04-03T10:15:57.638Z" - } - }, - "image_file/b0af6371-4379-45f0-8c09-f6610833fc46": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b0af6371-4379-45f0-8c09-f6610833fc46", - "submission_date": "2019-04-03T10:13:41.848Z", - "update_date": "2019-04-03T10:15:57.644Z" - } - }, - "image_file/f5ce7a96-cfc0-42c4-852b-386f9a27111d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f5ce7a96-cfc0-42c4-852b-386f9a27111d", - "submission_date": "2019-04-03T10:13:41.859Z", - "update_date": "2019-04-03T10:16:00.829Z" - } - }, - "image_file/8bc05db7-bd23-4a10-9761-96be7b8ef9ee": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8bc05db7-bd23-4a10-9761-96be7b8ef9ee", - "submission_date": "2019-04-03T10:13:41.869Z", - "update_date": "2019-04-03T10:16:00.329Z" - } - }, - "image_file/3dff4add-7d6f-418c-afba-e46864af51d2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3dff4add-7d6f-418c-afba-e46864af51d2", - "submission_date": "2019-04-03T10:13:41.880Z", - "update_date": "2019-04-03T10:16:00.156Z" - } - }, - "image_file/ab2b7c67-8f13-4388-acd7-e2abb0091f30": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ab2b7c67-8f13-4388-acd7-e2abb0091f30", - "submission_date": "2019-04-03T10:13:41.895Z", - "update_date": "2019-04-03T10:16:00.743Z" - } - }, - "image_file/d9912d93-3d92-48d2-9f75-826fbba3d94e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "d9912d93-3d92-48d2-9f75-826fbba3d94e", - "submission_date": "2019-04-03T10:13:41.907Z", - "update_date": "2019-04-03T10:16:03.046Z" - } - }, - "image_file/8b37aba2-be5e-4963-8e6f-51a2df8e143e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8b37aba2-be5e-4963-8e6f-51a2df8e143e", - "submission_date": "2019-04-03T10:13:41.917Z", - "update_date": "2019-04-03T10:16:00.282Z" - } - }, - "image_file/81c0e4e2-9021-4c4d-9876-1ed5b78ca7a7": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "81c0e4e2-9021-4c4d-9876-1ed5b78ca7a7", - "submission_date": "2019-04-03T10:13:41.927Z", - "update_date": "2019-04-03T10:16:00.805Z" - } - }, - "image_file/2d7e88dd-bddd-4289-9556-27d301be0b83": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "2d7e88dd-bddd-4289-9556-27d301be0b83", - "submission_date": "2019-04-03T10:13:41.937Z", - "update_date": "2019-04-03T10:16:03.188Z" - } - }, - "image_file/0c1c578d-d4cc-40bb-a54d-d1d4d004373f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "0c1c578d-d4cc-40bb-a54d-d1d4d004373f", - "submission_date": "2019-04-03T10:13:41.947Z", - "update_date": "2019-04-03T10:16:03.221Z" - } - }, - "image_file/9dc0ead3-f17a-4bb8-88e2-87f779029ff8": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9dc0ead3-f17a-4bb8-88e2-87f779029ff8", - "submission_date": "2019-04-03T10:13:41.958Z", - "update_date": "2019-04-03T10:16:00.822Z" - } - }, - "image_file/f618a8bc-5e07-477f-a6d3-1b0af8c81ff0": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f618a8bc-5e07-477f-a6d3-1b0af8c81ff0", - "submission_date": "2019-04-03T10:13:41.969Z", - "update_date": "2019-04-03T10:16:03.130Z" - } - }, - "image_file/e834d3df-8432-40ba-b67d-c7cd0bd7328d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e834d3df-8432-40ba-b67d-c7cd0bd7328d", - "submission_date": "2019-04-03T10:13:41.979Z", - "update_date": "2019-04-03T10:16:03.234Z" - } - }, - "image_file/d8908d6d-5daa-454d-9082-726054cfddc1": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "d8908d6d-5daa-454d-9082-726054cfddc1", - "submission_date": "2019-04-03T10:13:41.990Z", - "update_date": "2019-04-03T10:16:03.189Z" - } - }, - "image_file/c5a7142e-4702-4e84-b7aa-239df2a71ba8": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c5a7142e-4702-4e84-b7aa-239df2a71ba8", - "submission_date": "2019-04-03T10:13:42.000Z", - "update_date": "2019-04-03T10:16:00.189Z" - } - }, - "image_file/f69e44ef-cf23-4571-8dad-e44222697974": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f69e44ef-cf23-4571-8dad-e44222697974", - "submission_date": "2019-04-03T10:13:42.011Z", - "update_date": "2019-04-03T10:16:03.186Z" - } - }, - "image_file/ea72f81c-2c58-43e2-acca-294254f470f7": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ea72f81c-2c58-43e2-acca-294254f470f7", - "submission_date": "2019-04-03T10:13:42.021Z", - "update_date": "2019-04-03T10:16:03.138Z" - } - }, - "image_file/89d1d2b5-81d3-487d-9fc1-d8b1d8ac34ab": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "89d1d2b5-81d3-487d-9fc1-d8b1d8ac34ab", - "submission_date": "2019-04-03T10:13:42.031Z", - "update_date": "2019-04-03T10:16:03.194Z" - } - }, - "image_file/6928ac1b-fd1d-436c-bfc6-4087c65809d7": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6928ac1b-fd1d-436c-bfc6-4087c65809d7", - "submission_date": "2019-04-03T10:13:42.042Z", - "update_date": "2019-04-03T10:16:03.234Z" - } - }, - "image_file/07a7b938-435b-4804-b140-c255957b6532": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "07a7b938-435b-4804-b140-c255957b6532", - "submission_date": "2019-04-03T10:13:42.052Z", - "update_date": "2019-04-03T10:16:03.185Z" - } - }, - "image_file/3d532a7b-55e7-4461-afbc-65ef76403384": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3d532a7b-55e7-4461-afbc-65ef76403384", - "submission_date": "2019-04-03T10:13:42.062Z", - "update_date": "2019-04-03T10:16:00.225Z" - } - }, - "image_file/bab40245-28bd-49a2-8be0-ba109fe41c91": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "bab40245-28bd-49a2-8be0-ba109fe41c91", - "submission_date": "2019-04-03T10:13:42.072Z", - "update_date": "2019-04-03T10:16:03.171Z" - } - }, - "image_file/9d577bd4-3a27-48be-ad7c-8c44cf803cda": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9d577bd4-3a27-48be-ad7c-8c44cf803cda", - "submission_date": "2019-04-03T10:13:42.082Z", - "update_date": "2019-04-03T10:16:03.221Z" - } - }, - "image_file/c4de7605-fec5-4389-bb9e-f2ea0c41cdef": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c4de7605-fec5-4389-bb9e-f2ea0c41cdef", - "submission_date": "2019-04-03T10:13:42.093Z", - "update_date": "2019-04-03T10:16:03.221Z" - } - }, - "image_file/21a043b6-6dde-41b9-b20e-74b961da8b88": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "21a043b6-6dde-41b9-b20e-74b961da8b88", - "submission_date": "2019-04-03T10:13:42.104Z", - "update_date": "2019-04-03T10:16:03.210Z" - } - }, - "image_file/11280200-1803-4110-aa84-2808776c2d50": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "11280200-1803-4110-aa84-2808776c2d50", - "submission_date": "2019-04-03T10:13:42.114Z", - "update_date": "2019-04-03T10:16:03.231Z" - } - }, - "image_file/86df5269-576b-4d18-a0ce-6e2b2a36d51b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "86df5269-576b-4d18-a0ce-6e2b2a36d51b", - "submission_date": "2019-04-03T10:13:42.124Z", - "update_date": "2019-04-03T10:16:03.201Z" - } - }, - "image_file/e524ff4e-95fa-4561-bfd3-276cba79e664": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e524ff4e-95fa-4561-bfd3-276cba79e664", - "submission_date": "2019-04-03T10:13:42.134Z", - "update_date": "2019-04-03T10:16:03.251Z" - } - }, - "image_file/3d5737da-b1ab-48cb-a26f-d420e53edccd": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3d5737da-b1ab-48cb-a26f-d420e53edccd", - "submission_date": "2019-04-03T10:13:42.144Z", - "update_date": "2019-04-03T10:16:03.057Z" - } - }, - "image_file/44cf15ec-3d4e-4698-bb14-107c34891191": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "44cf15ec-3d4e-4698-bb14-107c34891191", - "submission_date": "2019-04-03T10:13:42.154Z", - "update_date": "2019-04-03T10:16:03.206Z" - } - }, - "image_file/6242cdf3-fd6d-4479-a08a-1747818fd978": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6242cdf3-fd6d-4479-a08a-1747818fd978", - "submission_date": "2019-04-03T10:13:42.164Z", - "update_date": "2019-04-03T10:16:03.054Z" - } - }, - "image_file/bc60bbd4-8b09-425c-b507-9da24a84f412": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "bc60bbd4-8b09-425c-b507-9da24a84f412", - "submission_date": "2019-04-03T10:13:42.174Z", - "update_date": "2019-04-03T10:16:00.270Z" - } - }, - "image_file/1f054ccf-f8dd-4127-a6f8-c577d7dd93dc": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "1f054ccf-f8dd-4127-a6f8-c577d7dd93dc", - "submission_date": "2019-04-03T10:13:42.184Z", - "update_date": "2019-04-03T10:16:03.187Z" - } - }, - "image_file/9954cb4b-b0a4-4479-b31d-0bee1e75d9c7": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9954cb4b-b0a4-4479-b31d-0bee1e75d9c7", - "submission_date": "2019-04-03T10:13:42.195Z", - "update_date": "2019-04-03T10:16:03.267Z" - } - }, - "image_file/5f67c32c-a154-4620-8603-0b64979b04a4": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "5f67c32c-a154-4620-8603-0b64979b04a4", - "submission_date": "2019-04-03T10:13:42.207Z", - "update_date": "2019-04-03T10:16:03.116Z" - } - }, - "image_file/7d5bffb2-8bf9-4366-a8b2-762ebb4d6c5d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7d5bffb2-8bf9-4366-a8b2-762ebb4d6c5d", - "submission_date": "2019-04-03T10:13:42.219Z", - "update_date": "2019-04-03T10:16:00.148Z" - } - }, - "image_file/dcee6df0-9e87-4935-8873-f8d30d449d76": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "dcee6df0-9e87-4935-8873-f8d30d449d76", - "submission_date": "2019-04-03T10:13:42.230Z", - "update_date": "2019-04-03T10:16:03.250Z" - } - }, - "image_file/7d6bdde6-523f-46cb-bed5-d6cfa8fea80c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7d6bdde6-523f-46cb-bed5-d6cfa8fea80c", - "submission_date": "2019-04-03T10:13:42.242Z", - "update_date": "2019-04-03T10:16:03.126Z" - } - }, - "image_file/e6d00b0c-3641-4ec4-a553-8fd742193dba": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e6d00b0c-3641-4ec4-a553-8fd742193dba", - "submission_date": "2019-04-03T10:13:42.254Z", - "update_date": "2019-04-03T10:16:03.321Z" - } - }, - "image_file/e5034863-0528-4f55-be95-c8501c29f9fe": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e5034863-0528-4f55-be95-c8501c29f9fe", - "submission_date": "2019-04-03T10:13:42.272Z", - "update_date": "2019-04-03T10:16:03.187Z" - } - }, - "image_file/cc61b14a-59d9-477b-8cb1-43c4ee4cf434": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "cc61b14a-59d9-477b-8cb1-43c4ee4cf434", - "submission_date": "2019-04-03T10:13:42.284Z", - "update_date": "2019-04-03T10:16:03.190Z" - } - }, - "image_file/33d332c9-aefe-4db5-8830-b8daddaed0d2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "33d332c9-aefe-4db5-8830-b8daddaed0d2", - "submission_date": "2019-04-03T10:13:42.295Z", - "update_date": "2019-04-03T10:16:03.189Z" - } - }, - "image_file/bb3b6fc7-0902-432d-bad1-6b3f61951314": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000.json", - "file_format": "json" - }, - "provenance": { - "document_id": "bb3b6fc7-0902-432d-bad1-6b3f61951314", - "submission_date": "2019-04-03T10:13:42.306Z", - "update_date": "2019-04-03T10:15:51.086Z" - } - }, - "image_file/2b734e88-3a33-4c73-92bb-82e0b8f8c13b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image.json", - "file_format": "json" - }, - "provenance": { - "document_id": "2b734e88-3a33-4c73-92bb-82e0b8f8c13b", - "submission_date": "2019-04-03T10:13:42.318Z", - "update_date": "2019-04-03T10:16:00.280Z" - } - }, - "project/ae5237b4-633f-403a-afc6-cb87e6f90db1": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/project/11.0.1/project", - "schema_type": "project", - "project_core": { - "project_short_name": "barista_seq", - "project_title": "1 FOV BaristaSeq mouse SpaceTx dataset", - "project_description": "1 FOV BaristaSeq mouse SpaceTx dataset" - }, - "supplementary_links": [ - "https://github.com/spacetx" - ], - "funders": [ - { - "grant_title": "grant", - "grant_id": "1", - "organization": "funder" - } - ], - "provenance": { - "document_id": "ae5237b4-633f-403a-afc6-cb87e6f90db1", - "submission_date": "2019-04-03T10:13:39.976Z", - "update_date": "2019-04-03T10:13:45.439Z" - } - }, - "imaging_protocol/96ecb94d-e848-4d7b-8df9-f19af6ab17b8": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/imaging/11.0.12/imaging_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "zador_singlerolseq_1" - }, - "microscope_setup_description": "PerkinElmer Ultraview Vox Spinning disk (Nikon Ti-E, Yokogawa CSU-X1, Hamamatsu orca-R2, ASI MS-2000 xyz stage, Nikon Plan Apo 10x 0.45 and Nikon Plan Apo 20x 0.75)", - "microscopy_technique": { - "text": "spinning disk confocal" - }, - "magnification": "20x", - "numerical_aperture": 0.75, - "immersion_medium_type": "air", - "immersion_medium_refractive_index": 1.0, - "pixel_size": 322.5, - "number_of_tiles": 25, - "tile_size_y": 433.0, - "tile_size_x": 330.0, - "z_stack_step_size": 3000.0, - "number_of_z_steps": 17, - "overlapping_tiles": "yes", - "target": [ - { - "molecule_name": "Ank1", - "molecule_id": "NM_001277289", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggcccacactcattccagagaaggatcaccaccatccaaggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ank1", - "molecule_id": "NM_001277289", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggactgggataaacagggttccacagcggtacacccgcaagaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ank1", - "molecule_id": "NM_001277289", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agcagcgagttcacgcccgaatcacagactcaccctcagtgag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnmb2", - "molecule_id": "NM_028231", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gtgggagacaaagctggtgagatcactcccagtaaactgactgg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnmb2", - "molecule_id": "NM_028231", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cctgaccaaactctacagctccaatgtgctgttccattctctct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnmb2", - "molecule_id": "NM_028231", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ttcagctgtgggcccgactgttggaagctctctcagtacccttg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ankrd55", - "molecule_id": "NM_001168404", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agggcccgtccattatcaactacgacgacgagagtgggaaga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ankrd55", - "molecule_id": "NM_001168404", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgcagagcctgatgtgaggctcctcatagtcctgctgcagca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ankrd55", - "molecule_id": "NM_001168404", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgtgtgagtctgctcagaaacggtgccaagcacaacatcccag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc32a1", - "molecule_id": "NM_009508", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tcttcacgctgctcatggccatctacgtgccacacttcgcgct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc32a1", - "molecule_id": "NM_009508", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tatccgttgcccttcttcgcggccgtcgaagtgctggagaagt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc32a1", - "molecule_id": "NM_009508", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tcaacatcctggtcatcgcttactgtctctctcgcgcgcgtgatt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Btbd11", - "molecule_id": "NM_001017525", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgagatcatggagcttctgtctgctgctaaatttttccagctggag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Btbd11", - "molecule_id": "NM_001017525", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cgtgaagtatcccatcttccagctcgtcatgcagtatctctactac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Btbd11", - "molecule_id": "NM_001017525", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctcttgttcacagcctctcccaggttcaaggccctcctctcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Arx", - "molecule_id": "NM_001305940", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agcattttggcgctctatgttgatttaagcgcggcccggctaaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Arx", - "molecule_id": "NM_001305940", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caaggcagttcttggcgctaaaggatgtggcacctcctccact", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Arx", - "molecule_id": "NM_001305940", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atggaaacagaggaccagctcactcccaagaaggcacagacag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dlx1", - "molecule_id": "NM_010053", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgtaaacatgttgcacaagcttagcctctttccgttctgttgtg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dlx1", - "molecule_id": "NM_010053", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "taagacacaagcagcggctcgaccacagaacacaagtcatcaccct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dlx1", - "molecule_id": "NM_010053", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcacagtaacttttgtacttggctgaaatgcagaaagggaaaac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gad2", - "molecule_id": "NM_008078", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aaaggtggcgccagtgattaaagccagaatgatggagtatggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gad2", - "molecule_id": "NM_008078", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agtgttcagctctcctggttagagaggagggactgatgcagagct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gad2", - "molecule_id": "NM_008078", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tactgatgtcccggaaacacaagtggaagctgagtggagtagaga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pvalb", - "molecule_id": "NM_013645", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgcttggtactgagtgctcatgtgggccacctcgttcaatc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pvalb", - "molecule_id": "NM_013645", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggagaaacaataaaggctgtaccaatcggacaccacctgtaggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pvalb", - "molecule_id": "NM_013645", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctcctcagatgccagagacttgtctgctaaagaaacaaagacgc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pdgfra", - "molecule_id": "NM_001083316", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgggcaagaggaacagacacagctcacagacttcggaagagag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pdgfra", - "molecule_id": "NM_001083316", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaaaagattcacctggacttcctaaagagtgaccatccggccgt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pdgfra", - "molecule_id": "NM_001083316", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agtgagcccgagaagagaccctccttctaccacctcagcgagata", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nxph4", - "molecule_id": "NM_183297", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aattgccacgtggaatatgagaagacaaaccgcgctcgcaag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nxph4", - "molecule_id": "NM_183297", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cacaattcgtccagcctgggtaacctaagcgtcagtatcgtgc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nxph4", - "molecule_id": "NM_183297", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgtgcataccctcaagttctcgctgttggtgaccggcaagatc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Car3", - "molecule_id": "NM_007606", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cattgtgtggctgctgctcaaagagcccatgactgtgagctc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Car3", - "molecule_id": "NM_007606", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "catcatgcctgttccctgcttgccgggactattggacctatc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Car3", - "molecule_id": "NM_007606", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gggagaaaggcgagttccagattcttcttgatgccctggacaaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc17a8", - "molecule_id": "NM_001310710", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaactcaaccacgagactttcgtaagtcccagaaagaagatgtct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc17a8", - "molecule_id": "NM_001310710", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggctttgctatttcaggcttcaatgtcaaccacctggacattgc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc17a8", - "molecule_id": "NM_001310710", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgctcctggtggttggattttcccataccaaaggagtggctatc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Syt6", - "molecule_id": "NM_001276679", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cgagacgctgattgtgcgcatcctgaaggcctttgacctccct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Syt6", - "molecule_id": "NM_001276679", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agatgcatgtctccagcgtggactatggcaatgagctgccgc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Syt6", - "molecule_id": "NM_001276679", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acaaagctgcagcgacagaccacagagccagcatcctccacca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rspo1", - "molecule_id": "NM_138683", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagaagaggaagctgtgcggtttccggaagggatcggaagag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rspo1", - "molecule_id": "NM_138683", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gtgtcaggagggcttgtacttacacaagggccgctgctatcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rspo1", - "molecule_id": "NM_138683", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cccaagctcttcattctgctggagaggaacgacatccgccaggt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fam84b", - "molecule_id": "NM_001162926", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcctggaggacttgatcatggagaagcggcgcaacgaccagat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fam84b", - "molecule_id": "NM_001162926", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aacgatctgtatcgctacaagccactgagccctagcgctgtagt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fam84b", - "molecule_id": "NM_001162926", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aacaagtgcagtccgggtgacctggtggagtttgtatcgcaggc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Deptor", - "molecule_id": "NM_001037937", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctcaggagacgcatgacagtcccttctgtctgaggaagcagag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Deptor", - "molecule_id": "NM_001037937", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcaacctcctctaccagttcagaatgaacttccgtcggaggcgga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Deptor", - "molecule_id": "NM_001037937", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagaggcagagcagctttgccaccggcttatggaccatgggatc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ndnf", - "molecule_id": "NM_172399", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caccagaaagaaatcagagaaggtcctttgcaaatacttccacag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ndnf", - "molecule_id": "NM_172399", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agcttttgacaagctacgtacctgctcttcagttacggtggcat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ndnf", - "molecule_id": "NM_172399", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aggcaacaggaaaggagcatcaaagctgaaaatactggcgacca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Chrna2", - "molecule_id": "NM_144803", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagcactagaaggtgtacactacattgctgaccacctgaggtct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Chrna2", - "molecule_id": "NM_144803", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tcattggctggagaccaacatggatgctgaagaaagggaggag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Chrna2", - "molecule_id": "NM_144803", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgtcttcctgctgctcatcacagaaattatcccatccacctcac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Calb1", - "molecule_id": "NM_009788", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cacccaaagcacctctgtgctgcttctatctggcggaagggat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Calb1", - "molecule_id": "NM_009788", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cgaacagaccttgctcttattctttctgctggagacaactagagtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Calb1", - "molecule_id": "NM_009788", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgcgaggaattcatgaagacttggagaaagtatgatactgaccac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sncg", - "molecule_id": "NM_011430", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gttgcccaagttctctgtccctagcccagtgccacaagtcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sncg", - "molecule_id": "NM_011430", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gagaatgaagaggccaagagtggagaagactagaaggctgccag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sncg", - "molecule_id": "NM_011430", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tggtcagcagcgtcaacacagtggccaacaagaccgtggagga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Th", - "molecule_id": "NM_009377", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gacaagctcaggaactatgcctctcgtatccagcgcccattctc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Th", - "molecule_id": "NM_009377", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgggacacgtacccatgttggctgaccgcacatttgcccagtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Th", - "molecule_id": "NM_009377", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gtttcagtgcacacagtacatccgtcatgcctcctcacctatgc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gad1", - "molecule_id": "NM_001312900", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgatcgctccaccaaggttctggatttccaccacccacacca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gad1", - "molecule_id": "NM_001312900", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tccaagaacctgctttcctgtgaaaacagtgaccagggtgccc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gad1", - "molecule_id": "NM_001312900", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tctgtggcttcttacaaaggaccaatagcctggaagagaagagtcg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc17a7", - "molecule_id": "NM_182993", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atcgctgactttttgcgcagtcgtcacataatgtccactaccaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc17a7", - "molecule_id": "NM_182993", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caccctggaggcgcttctttacgtccatgcccgtctatgccat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc17a7", - "molecule_id": "NM_182993", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tatggcagcttcgggatcttttggtacctgttctggttgcttgtct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Neurod1", - "molecule_id": "NM_010894", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gatcctgcgctcaggcaaaagccctgatctggtctccttcgta", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Neurod1", - "molecule_id": "NM_010894", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cttgctactccaagacccagaaactgtctaaaatagagacactgcg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Neurod1", - "molecule_id": "NM_010894", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcgcgcctagaacgttttaaattaaggcgcatgaaggccaacg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rorb", - "molecule_id": "NM_146095", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctttgcgaagaatctgtgttccttgcagctgactgaggaagagat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rorb", - "molecule_id": "NM_146095", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccacacctacgaggaaatcaaggcgtatcaaagcaagtccaggga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rorb", - "molecule_id": "NM_146095", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgcacagaacatcattaagtcccatttggagacatgtcagtacac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fezf2", - "molecule_id": "NM_080433", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gctttcaccaaaaagggaactacaagaatcacaagctcacccaca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fezf2", - "molecule_id": "NM_080433", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ttcaatcgcagctccacgctcaacacgcacatccgcatccac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fezf2", - "molecule_id": "NM_080433", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agctagaccgtttgtgtgcaaagtctgtggcaaaggcttccg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Adarb2", - "molecule_id": "NM_001289530", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ataccgacaaaacaggcctctccttagtggcgtgagtcacgca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Adarb2", - "molecule_id": "NM_001289530", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atcgagcctgtgtacctccacagcatcattgtgggcagcctgca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Adarb2", - "molecule_id": "NM_001289530", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cagacttgaacagcagcaaacacatcgtcaggaagttccgaggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Lamp5", - "molecule_id": "NM_029530", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgactttgtcttcagtgaagaacataaatgtccagtggatgagc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Lamp5", - "molecule_id": "NM_029530", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tttctctggcctccagtgaccctcagaagactgtcaccatgatcct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Lamp5", - "molecule_id": "NM_029530", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctcagaatgctctttgtaaaggaaagtcacaacacttccaaagg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Vip", - "molecule_id": "NM_001313969", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gggtcagatttctgccaaaaaataccttgagtcactcattggcaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Vip", - "molecule_id": "NM_001313969", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcagaaaatggcacaccctattatgatgtgtcaagaaatgccaggc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Vip", - "molecule_id": "NM_001313969", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccttctgtagtgagtaggctggatgacaggatgccgtttgaagg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Lhx6", - "molecule_id": "NM_001083127", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cgcatccattacgacaccatgatcgagaacctcaagagggcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Lhx6", - "molecule_id": "NM_001083127", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctggcatgtttcgcctgcttttcctgcaagcgccagctatcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Lhx6", - "molecule_id": "NM_001083127", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atttggaaccaagtgcgcccggtgcggcagacaaatctatgcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Chodl", - "molecule_id": "NM_139134", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggtgcaacatgaagcacaattacatctgcaagtatgaaccagaga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Chodl", - "molecule_id": "NM_139134", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aatgtgtagtcatgtaccaccaaccaactgccaatcctggccta", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Chodl", - "molecule_id": "NM_139134", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aaacatcgggtgcctgcccagatctctaccagtggtctgatggaag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fa2h", - "molecule_id": "NM_178086", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tacctgcacttcggctctccacacaagggctcctacctgtacaac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fa2h", - "molecule_id": "NM_178086", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gattgccttcttctatgtgttcctgcggctcattctgcctgaga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fa2h", - "molecule_id": "NM_178086", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gccattacctcatcatgttgcattttgtcatgcacggccagcac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ly86", - "molecule_id": "NM_010745", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggcttggaagtagtctaccagagctgtgatcccttacaggattttg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ly86", - "molecule_id": "NM_010745", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "attctgacttctccgagcagcagtgaccatggcagcgaaaatg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ly86", - "molecule_id": "NM_010745", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atggcaaaaggctcttctattctgaactactcctatcccctttg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dcn", - "molecule_id": "NM_007833", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caggtcgtctaccttcacaacaacaacatctccgcagttgggcaaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dcn", - "molecule_id": "NM_007833", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tctcactgaagtgcatctagatggcaacaagatcaccaaggttgat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dcn", - "molecule_id": "NM_007833", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agggactgaagagtctctcatacattcgcatctcagacaccaacat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fgfr3", - "molecule_id": "NM_001163216", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cctcactgtgacatcaaccgacgagtacttggacctctccgt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fgfr3", - "molecule_id": "NM_001163216", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgtacatgatcatgcgggaatgttggcatgcggtgccttcacag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fgfr3", - "molecule_id": "NM_001163216", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgctggtggagtacgcagccaagggcaatctccgggagttcctt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Map3k7cl", - "molecule_id": "NM_144854", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagctacctatcgttcagacacaccgttgagtgaatgcagaattag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Map3k7cl", - "molecule_id": "NM_144854", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cctttgtgttagcacacagtggtcacatttgccttggccgtgtg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Map3k7cl", - "molecule_id": "NM_144854", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gagcctaaatgctttcttgtgaaaatatcagcaggcgtgtgtcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nxph1", - "molecule_id": "NM_008751", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gattccaagtccttcaactgtcgcattgagtatgagaaggttgac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nxph1", - "molecule_id": "NM_008751", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tctgggactggctgaggaactccacagatcttcaggagcctcg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nxph1", - "molecule_id": "NM_008751", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gtcggctcctctcacagactttccgtggtaaagaaaatgacac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pcp4", - "molecule_id": "NM_008791", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agaagaaaaaggcaggatcacagtcctagtggtgaagctgcttc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pcp4", - "molecule_id": "NM_008791", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggcagaagaaagtccaagaagaatttgatatcgacatggatgcacc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pcp4", - "molecule_id": "NM_008791", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tagctgcggagtcaggccaacatgagtgagagacaaagtgccgg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Neurod6", - "molecule_id": "NM_009717", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccaactacaaacttggtggcaggctgcttacagctcaacgcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Neurod6", - "molecule_id": "NM_009717", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ttacatctgggcactttctgaaattctgaggattggcaagagacc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Neurod6", - "molecule_id": "NM_009717", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggtcaagttcaggagacaggaagctaatgcgcgcgagaggaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nrn1", - "molecule_id": "NM_153529", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "actcacccacactcacaccatgctcccggaaatcgagaggaata", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nrn1", - "molecule_id": "NM_153529", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "accgtgtgcacatactgggaggatttccacagctgcacggtc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nrn1", - "molecule_id": "NM_153529", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cttttcagactgtttgctcaagctgggcgacagcatggccaacta", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nrgn", - "molecule_id": "NM_022029", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ttctttgtttatgcaaaagcctcctgagcgcctggaggctcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nrgn", - "molecule_id": "NM_022029", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctcccgctcttctttgtttatgcaaaagcctcctgagcgcctgga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nrgn", - "molecule_id": "NM_022029", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccaagccagacgacgatattcttgacatcccgctggatgatcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ptn", - "molecule_id": "NM_008973", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caatgctgactgtcagaaaactgtcaccatctccaagccctgtg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ptn", - "molecule_id": "NM_008973", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccttcctggcattgattttcatcttggcagctgtggacactgct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ptn", - "molecule_id": "NM_008973", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aaaggcagccagctagtcagcgaggacctctgcaagccaaaaaatg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cck", - "molecule_id": "NM_031161", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgccgaggactacgaatacccatcgtagtgggccagcgtctt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cck", - "molecule_id": "NM_031161", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tacatccagcaggtccgcaaagctccttctggccgcatgtccgtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cck", - "molecule_id": "NM_031161", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagagcggcgtatgtctgtgcgtggtgatggcagtcctagctgct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Synpr", - "molecule_id": "NM_001163032", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgatgtcagcttgcaagcagccttccaacaagtgcatggctg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Synpr", - "molecule_id": "NM_001163032", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gactttatcgtcactgtagtcttttcattcttgtggctggtgg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Synpr", - "molecule_id": "NM_001163032", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tttctctactccctggctgccacggtcgtgtacattttcttccag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc6a1", - "molecule_id": "NM_178703", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "catcattgtggcgggcgtgtttctcttcagtgctgtgcagatg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc6a1", - "molecule_id": "NM_178703", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgtcaaccggttctatgacaacatccaggagatggttggctcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc6a1", - "molecule_id": "NM_178703", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctcttcattgctgccgtgtgcatcgtgtcctacctgattggc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dlx6", - "molecule_id": "NM_010057", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cacaccaggacaccatgcagagaccacagatgatgtgacttctc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dlx6", - "molecule_id": "NM_010057", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgtcaccacgatcaccagccctgcctccagtgtgggacgtttct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dlx6", - "molecule_id": "NM_010057", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccatcgctttcagcagactcaatacctggcccttcccgagaga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Atp1a3", - "molecule_id": "NM_001290469", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "actgggatgatcgcactgtcaatgacctagaagacagttatggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Atp1a3", - "molecule_id": "NM_001290469", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cccacgcacagacaaactggtcaacgaaaggctcatcagcatg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Atp1a3", - "molecule_id": "NM_001290469", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cctgagatcacacccttcctgctcttcatcatggctaacatccc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Arpp19", - "molecule_id": "NM_021548", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caatgcatctccaccatttgatatgcaataggacactgcctgt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Arpp19", - "molecule_id": "NM_021548", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcccactgtaagcacttcacttacattttctaaagcaccgtcttg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Arpp19", - "molecule_id": "NM_021548", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagcaggtagcctctgggaagagctattctgatggttaccaagg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cxcl14", - "molecule_id": "NM_019568", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acagcactgttctctgagttaggatgttaggacgatcctgcgcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cxcl14", - "molecule_id": "NM_019568", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagggaagatgcaggattagatgcaggacacacagccagagcta", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cxcl14", - "molecule_id": "NM_019568", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tactgctccgctccaggcttacaaagcttccgctcagagagcct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rab3b", - "molecule_id": "NM_023537", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cttttccaataagtgtgatcccgtcgcttggaatcctgcccaag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rab3b", - "molecule_id": "NM_023537", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gctggtatcaggcccagtgatcaaatgaaagggccaaatagag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rab3b", - "molecule_id": "NM_023537", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aggtaaagggagctctatagggaagcaggctcaggctgtagtg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cryab", - "molecule_id": "NM_001289785", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aaacaggtgtctggccctgagcgcaccattcccatcacccgtgaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cryab", - "molecule_id": "NM_001289785", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggcttcatctccagggagttccacaggaagtaccggatccca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cryab", - "molecule_id": "NM_001289785", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gatgcgtttggagaaggacagattctctgtgaatctggacgtgaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Penk", - "molecule_id": "NM_001002927", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gctgaaagagctactgggaacgggagacaaccgtgcgaaagac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Penk", - "molecule_id": "NM_001002927", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggtacggaggcttcatgaagaagatggacgagctatatcccatg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Penk", - "molecule_id": "NM_001002927", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acatcgacatgtacaaagacagcagcaaacaggatgagagccac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Crh", - "molecule_id": "NM_205769", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcaagctcacagcaacaggaaactgatggagattatcgggaaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Crh", - "molecule_id": "NM_205769", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cgcccatctctctggatctcaccttccaccttctgcgggaagt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Crh", - "molecule_id": "NM_205769", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aaacctgcaggaggcatcctgagagaagtccctctgcagaggca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Caln1", - "molecule_id": "NM_021371", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tccatcccgcaccagcatcttggaatctgcagagagcctggct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Caln1", - "molecule_id": "NM_021371", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gccacctctatccatgacccaattctttcaacccagggaccc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Caln1", - "molecule_id": "NM_021371", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgctttcttttcgtcttggaattccagtagccatccagatagca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnip1", - "molecule_id": "NM_027398", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gatcatgtgcaaatggtacttccagacagcacctcttttctaat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnip1", - "molecule_id": "NM_027398", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctctatggctcaggagaggcaagttgtgacaaagggtggttagt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnip1", - "molecule_id": "NM_027398", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccaaatgtgcaccatcctccgatggcctcccaagccaatgtg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gm11549", - "molecule_id": "NR_040411", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aactcagacatccgcctgcctctgcctcctgagtgctgggatta", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gm11549", - "molecule_id": "NR_040411", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggctattgtatgtacagttcacaccattctcgtgtgtgtgtgt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gm11549", - "molecule_id": "NR_040411", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acagcctacgtactggccaagccgagggagaagaaacacttcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ctxn1", - "molecule_id": "NM_183315", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gactcacattggacgctgcctacctataatgcacggtacagtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ctxn1", - "molecule_id": "NM_183315", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agggcgttcggagaagtccagtccttacctaccttagctacccat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ctxn1", - "molecule_id": "NM_183315", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgttcgccttcgtgctctgcctgctcgtggtgttggttctgtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Car4", - "molecule_id": "NM_007607", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aacttcctccagtaatggcccacttctggatatctgacctctga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Car4", - "molecule_id": "NM_007607", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaaggacaagtttgcagtgctggcatttatgattgaggtaggag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Car4", - "molecule_id": "NM_007607", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaatgacaacggttcagagcacagtattgatgggagacactttgc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nfib", - "molecule_id": "NM_008687", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atgacatgaactctggtgtgaacctgcagaggtcgctgtcttct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nfib", - "molecule_id": "NM_008687", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gagtatccagaacacccataacccagggaactggagtcaacttcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nfib", - "molecule_id": "NM_008687", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acaatcaggaagtccaagccacagtgatcctgccaagaatcctc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Id2", - "molecule_id": "NM_010496", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aaggaattgcccaatgtaagcagactttgccttttcacaaaggtgg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Id2", - "molecule_id": "NM_010496", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcggaaggaaaactaaggatgatcgtcttgcccaggtgtcgttct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Id2", - "molecule_id": "NM_010496", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acccgatgagtctgctctacaacatgaacgactgctactccaagc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Igfbp6", - "molecule_id": "NM_008344", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcctttgccagtgtctccagatggtcaaggaagcactcagtg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Igfbp6", - "molecule_id": "NM_008344", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgggctctatgtgccaaactgtgacctcagaggcttctaccg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Igfbp6", - "molecule_id": "NM_008344", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aggagtgtacagggcaaaaactctgaccatgacctgggatgggct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Itpka", - "molecule_id": "NM_146125", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cttcgtgcatgaccattgccatcgtgctggtgtgtggctcatc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Itpka", - "molecule_id": "NM_146125", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcctacagcagatccgggataccctggagatctctgatttcttt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Itpka", - "molecule_id": "NM_146125", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acgaagccgagagcaagtgacccgtgtctttgaggagttcatgca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ptprd", - "molecule_id": "NM_001352630", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccgccttgttaatattatgccatatgaatccacaagggtgtgcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ptprd", - "molecule_id": "NM_001352630", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atccatgatgcactgttagaagcagtgacatgtggaaataccgaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ptprd", - "molecule_id": "NM_001352630", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aatcctccagatgcagggccaatggtggtacactgcagtgctggt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sv2b", - "molecule_id": "NM_001109753", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tttggcaacagcgagtctgcgatgatcggctggcaatgcctgtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sv2b", - "molecule_id": "NM_001109753", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gctcatggacagaattggaagactcaagatgattggcggctccat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sv2b", - "molecule_id": "NM_001109753", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggactttgaagaggacaatgattttctgatttacctcgtcagct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Vxn", - "molecule_id": "NM_178399", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgagcatctgaccctcatgtccaaacatagtctggacacttgg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Vxn", - "molecule_id": "NM_178399", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acatggcggtaagtcaaacccagacttccaggctcttgcctt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Vxn", - "molecule_id": "NM_178399", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgaactgtttgggtatcaggcttgcttctgctgttctgtggattct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Reln", - "molecule_id": "NM_001310464", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aggagttctactgcgctggtggcagccacgccacaatggaaca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Reln", - "molecule_id": "NM_001310464", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atcacctggcacgtcatcgctcagcaccagccgaaggacttcaca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Reln", - "molecule_id": "NM_001310464", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cactcgagcaagcaaaattatgtttgtcttgcaaattgggagcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rprml", - "molecule_id": "NM_001033212", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aacgaagtacctcgcaccacccgggtctggacaccataggact", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rprml", - "molecule_id": "NM_001033212", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cttgccagagttgaagcaccgcgaggaagagactacggagcct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rprml", - "molecule_id": "NM_001033212", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tcaagtccgagagcatgatcaactttctgatgcaggagcgcagg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cnr1", - "molecule_id": "NM_007726", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gagacatgctttccgcagcatgttcccttcatgtgaaggcact", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cnr1", - "molecule_id": "NM_007726", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgaacaagcttatcaagacggtgtttgccttctgtagtatgctct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cnr1", - "molecule_id": "NM_007726", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atccagcgtggaacccagaaaagcatcatcattcacacctcaga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cacna2d3", - "molecule_id": "NM_009785", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaatcccttaagtgtgaacggttaaaggctcagaagatcagacgac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cacna2d3", - "molecule_id": "NM_009785", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tggtggtggacagtagctgtctctgtgagtccgtggctcctata", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cacna2d3", - "molecule_id": "NM_009785", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agaccacagggaacattgcttgcgaagactgctccaagtcct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Plpp4", - "molecule_id": "NM_001080963", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaggagtgattggcctcatttttgcctatatttgctacagacaac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Plpp4", - "molecule_id": "NM_001080963", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgctgccatcttgcccttgtactgtgccatgatgatcgccct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Plpp4", - "molecule_id": "NM_001080963", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ttctcgggcctcggtttcacaacattctacctggctggcaagc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Adcy2", - "molecule_id": "NM_153534", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caataagcactccttcaacgacttcaaacttcgagtgggtatcaac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Adcy2", - "molecule_id": "NM_153534", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atacatggcagccacgggtctgagtgctgtacccagtcaggagca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Adcy2", - "molecule_id": "NM_153534", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aggagttgtaccaccagtcctacgattgtgtctgtgtcatgtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnip4", - "molecule_id": "NM_030265", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgcctagtgacgcttattaacaagtaaccctaacagcagtaaagg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnip4", - "molecule_id": "NM_030265", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccatgcagctctttgaaaatgtgatctagaatgtcagcacctcctc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnip4", - "molecule_id": "NM_030265", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaagatgagctggagatggctactgtcaggcatcggcctgaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sparcl1", - "molecule_id": "NM_010097", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caggatcttgacacactctgaacttgctcctctgcgagcttccct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sparcl1", - "molecule_id": "NM_010097", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cggatgagagactggctcaaaaacatcctcatgcagctttatgaac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sparcl1", - "molecule_id": "NM_010097", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acaccaactgcagctggattacttcggagcttgcaaatctattc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Brinp3", - "molecule_id": "NM_001145807", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tatgcctgtgagtgagagcagctttccagactgggagcggacta", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Brinp3", - "molecule_id": "NM_001145807", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "actctgcaagcctgaagtcgctgagtcaaccgatcactacattg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Brinp3", - "molecule_id": "NM_001145807", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gctctttagccttagcaaacggtgccacaagcagcctctcatca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Snrpn", - "molecule_id": "NM_013670", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caagccaaagaatgcaaaacagccagaacgtgaagaaaaacggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Snrpn", - "molecule_id": "NM_013670", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agaggtggttaaagcagtattgcaacttcaaggtggtggaattca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Snrpn", - "molecule_id": "NM_013670", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caagagtgtcacttgtacccacgacgttctcagcaacagcaagt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ly6c2", - "molecule_id": "NM_001099217", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gccatttagttgtggatctctattcttggccctggaggcatgt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ly6c2", - "molecule_id": "NM_001099217", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tcctgttgcagcgaagacctctgcaatgcagcagttcccact", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ly6c2", - "molecule_id": "NM_001099217", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caaagaaggaaactaaagacccgtcagtgcctttctttctgcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Npy", - "molecule_id": "NM_023456", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gtctgcctgtcccaccaatgcatgccaccactaggctggact", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Npy", - "molecule_id": "NM_023456", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cattctggctgaggggtacccctccaagccggacaatccg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Npy", - "molecule_id": "NM_023456", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cactacatcaatctcatcaccagacagagatatggcaagagatcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Tesc", - "molecule_id": "NM_021344", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caagatgcacattcgtttcctcaacatggagaccatcgccctct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Tesc", - "molecule_id": "NM_021344", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aatgtggtggaggagctgctctcgggaaaccctcacattgaaaagg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Tesc", - "molecule_id": "NM_021344", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgactatcatgtcctacttccggcccatcgacaccaccctggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sst", - "molecule_id": "NM_009215", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gggaaacaggaactggccaagtacttcttggcagagctgctgtc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sst", - "molecule_id": "NM_009215", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gagcccaaccagacagagaatgatgccctggagcccgaggattt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sst", - "molecule_id": "NM_009215", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ttcttggcagagctgctgtccgagcccaaccagacagagaat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - } - ], - "channel": [ - { - "channel_id": "nissl", - "excitation_wavelength": 440.0, - "filter_range": "455-515", - "multiplexed": "no", - "target_fluorophore": "Neurotrace 435/455", - "exposure_time": 400.0 - }, - { - "channel_id": "G", - "excitation_wavelength": 514.0, - "filter_range": "525-575", - "multiplexed": "yes", - "target_fluorophore": "Illumina G", - "exposure_time": 1000.0 - }, - { - "channel_id": "T", - "excitation_wavelength": 561.0, - "filter_range": "580-650", - "multiplexed": "yes", - "target_fluorophore": "Illumina Y", - "exposure_time": 240.0 - }, - { - "channel_id": "A", - "excitation_wavelength": 640.0, - "filter_range": "661-691", - "multiplexed": "yes", - "target_fluorophore": "Illumina A", - "exposure_time": 500.0 - }, - { - "channel_id": "C", - "excitation_wavelength": 640.0, - "filter_range": "705-845", - "multiplexed": "yes", - "target_fluorophore": "Illumina C", - "exposure_time": 1000.0 - } - ], - "provenance": { - "document_id": "96ecb94d-e848-4d7b-8df9-f19af6ab17b8", - "submission_date": "2019-04-03T10:13:40.043Z", - "update_date": "2019-04-03T10:13:45.902Z" - } - }, - "imaging_preparation_protocol/a6d431b0-4373-4eaf-a3af-8c3fe461ab38": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/imaging/2.0.3/imaging_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "zador_baristaseq_1", - "protocol_name": "BaristaSeq for genes", - "protocol_description": "BaristaSeq for targeted endogenous mRNA sequencing without gapfilling" - }, - "imaged_slice_thickness": 20.0, - "final_slicing_method": "cryosectioning", - "fiducial_marker": "rolonies", - "expansion_factor": 1.0, - "provenance": { - "document_id": "a6d431b0-4373-4eaf-a3af-8c3fe461ab38", - "submission_date": "2019-04-03T10:13:40.034Z", - "update_date": "2019-04-03T10:13:45.426Z" - } - }, - "collection_protocol/caf94c25-8327-4379-b88e-2a6642cd7513": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/9.0.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "col_protocol_1", - "protocol_name": "Fresh frozen mouse brain embedded in OCT", - "protocol_description": "Fresh mouse brain was dissected and embedded in OCT, frozen, and stored at -80C." - }, - "method": { - "text": "organ extraction", - "ontology": "EFO:0009124", - "ontology_label": "organ extraction" - }, - "provenance": { - "document_id": "caf94c25-8327-4379-b88e-2a6642cd7513", - "submission_date": "2019-04-03T10:13:40.027Z", - "update_date": "2019-04-03T10:13:45.505Z" - } - }, - "process/da265acd-5601-49c5-855e-d792d51b4042": { - "process_core": { - "process_id": "zador_baristaseq_1" - }, - "schema_type": "process", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/7.0.0/process", - "provenance": { - "document_id": "da265acd-5601-49c5-855e-d792d51b4042", - "submission_date": "2019-04-03T10:13:42.362Z", - "update_date": "2019-04-03T10:14:03.513Z" - } - }, - "process/07acb7d0-3f1c-47f7-9ef9-851c4f1caaec": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/7.0.0/process", - "provenance": { - "document_id": "07acb7d0-3f1c-47f7-9ef9-851c4f1caaec", - "submission_date": "2019-04-03T10:13:42.335Z", - "update_date": "2019-04-03T10:13:53.863Z" - } - }, - "process/fee8a188-5783-44cd-a1c1-ed9d5d7c32a9": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/7.0.0/process", - "provenance": { - "document_id": "fee8a188-5783-44cd-a1c1-ed9d5d7c32a9", - "submission_date": "2019-04-03T10:13:42.326Z", - "update_date": "2019-04-03T10:13:53.834Z" - } - } - }, - "links": { - "describedBy": "https://schema.staging.data.humancellatlas.org/system/1.1.5/links", - "schema_type": "link_bundle", - "schema_version": "1.1.5", - "links": [ - { - "process": "da265acd-5601-49c5-855e-d792d51b4042", - "inputs": [ - "87f58f88-ef8b-4323-bd19-cde1a2497b59" - ], - "input_type": "biomaterial", - "outputs": [ - "6baa3aff-b2a5-4e49-82f7-25c108a6107a", - "06dcfc33-21da-485f-8e50-49d294713a9e", - "404dd50b-4bc9-4c82-8c18-f53c68eed2fc", - "5ceb5dc3-9194-494a-b1df-42bb75ab1a04", - "76e52f76-ede7-4088-b7f6-d6e5f6152292", - "2e496fe6-f500-4e27-b7f5-3c87fe43bbe5", - "be66141d-84a3-457d-a8d2-2f0da8c91dff", - "680cf532-ef0c-4155-b44d-a6ec3920743a", - "08609f14-cf43-4188-b743-4a0b55b17347", - "d10827a1-38f7-457d-9c9f-695f2fc7689c", - "6f8eb2e5-7a0c-4c98-8da0-276457357071", - "ca480df3-71bb-4634-8f71-b6a75aeb9f05", - "03ae5f5e-65ac-4491-b0ce-eefc940e0224", - "ff117ecb-767e-4e72-baa9-2bda4fcd3e62", - "887f3d73-94d2-44ac-9047-67aca5225882", - "896dfacd-206b-4e4f-a846-ba5b070060d9", - "23303c88-01b1-47d0-b770-dca6802caa13", - "3c1a388d-0577-4417-9cd2-ff33bfed9140", - "67e71b34-7157-4a37-b495-0d740772b480", - "cd3e5e62-6145-42d9-9a5b-046e1b49cf26", - "5fbcb75e-3ee3-4429-8ede-b243afa0789f", - "09226b24-6b11-4e4f-8052-2b544be461aa", - "f67473fd-fbf8-4d69-9db1-556938ab5b87", - "16acc1f2-9f1c-43c8-8ffe-4a9ea674e6ff", - "017a2c88-4f6e-418e-bb96-f42f3a220f87", - "30305240-004d-4632-84d4-37d7e7378782", - "20c5a14a-aaf3-40e1-9ab7-f95c06ea4200", - "3fd2781b-6855-4eaa-b2fb-81db386adb18", - "40474d53-44a4-4ab2-9f20-61b71291f8aa", - "aaa97d47-7124-4763-a3fc-f6d66eb6d990", - "4adbed13-1cb6-4405-b892-fe8165050691", - "2bbf0125-b9cc-4413-8dd7-78ea72beaa17", - "5402916f-6de1-4842-8585-fc25c153992b", - "75b78bfc-8d15-4a07-a07a-c62ae6d656b5", - "8a78224e-4106-41d4-96cb-4d9a8b9ecad2", - "cb92dd92-570c-4075-8893-eb19dbd837b8", - "b36948c4-0646-42be-9db2-16626a757343", - "c974f4eb-27b8-4ec3-913e-a6eb19572a51", - "febb760d-1e9e-4432-9b88-ce2869a43c44", - "054f40a4-68d0-41db-81e9-00239042d9fa", - "ec7f06aa-e4f9-4f4f-afd1-0ecd39b2e3f5", - "819e3227-cc54-4919-95af-c1f8194bf729", - "b1e2b9d1-6973-41dc-acdf-95474303561f", - "41ffc783-5ad4-4197-8fd1-c029903c43c0", - "ec9c70f0-3ed8-461c-ad0b-2475bd48ac8f", - "9014bbaf-a047-4b69-8e28-8356cc99f84e", - "f7acf90c-2b32-463b-b832-8daa8529f727", - "fae4f8b8-e6ad-4c1f-8126-e03ba8aca46e", - "db22deab-498a-409c-8386-5bf4e60a080c", - "07d600bc-0d55-4a8d-9a48-390fc4169845", - "d0a032bb-cd0e-4873-b346-5cb19e45c202", - "a161f60f-af92-4b09-9df0-dd7ff2bf571a", - "25c6b755-7f62-49a3-a1b5-aafbc772b5dd", - "f10fd9e2-5747-4d7a-8c0c-beba81749011", - "553b6aab-4745-45f8-98ab-de6aadbf48e4", - "3572abe9-6e42-4266-8671-ff24b592065c", - "6882abf6-c247-4167-a18d-e3fec24bcba2", - "15f8b73e-937c-444d-8362-fdf458abb651", - "33b4e374-20ad-4fee-b682-aaa4fc12bec2", - "0e83c507-2211-4561-b75a-92326fb2d4fd", - "912c55cf-0774-4838-8874-352766984715", - "b2f32e7c-fea2-44c2-a6ae-832c1c7b9e37", - "5b8e3d96-e625-46b6-9689-110fa84fd721", - "de43f9bc-ddec-4326-9cb1-7b9c5f76a84f", - "6f3272d7-4a62-4a3c-8c44-11dda8756956", - "168422c5-e89d-466c-9085-f29c02160143", - "7331367a-cc43-4af0-8750-a2921d513f97", - "edf83a09-2e60-4571-b650-abf4c7ff757b", - "24bdb70c-4bd1-41e0-b5c2-a3a2e0e4ce5b", - "be9d12b6-f8dd-407c-b1d7-844deb6a5023", - "e3e59792-61e3-4bf0-a985-2acec75acafd", - "095ee09c-1605-4c07-9324-b5382f20b78e", - "77b96424-accb-4c6b-884c-756f2bb40929", - "a0c2a5b4-7cc2-47f5-97a7-6b59019155da", - "78518dc1-d38e-4230-88b8-887bdd83f965", - "652dd3c5-6467-41ee-89b3-e4b3361fb533", - "cae3d214-d485-4350-8cd2-f4142aca4aef", - "2ab7ea06-08e0-4669-88e0-23c1e74a3b49", - "de282263-0944-48d4-9819-6182636c76bd", - "bfdbe9b5-42ac-419a-b297-843095de2cc2", - "0ef6ffa4-e40f-476c-8ac9-10732ef6e42d", - "e2763cda-3236-487e-9944-5169c0cb8856", - "37018bd8-8537-47c3-a5a9-efb43552f30c", - "a6c9b1ce-2054-4a48-b262-bb0723b8a567", - "8319ee38-f199-49d7-989a-25b451656b38", - "022841b6-8b7c-4d0c-b65f-06ba14253540", - "299dfbe5-05f5-48a7-816b-61036f0e435a", - "6b8b11aa-3600-4a63-a980-93465e681c9c", - "35716168-df43-4273-b52f-72e3d18a47bc", - "6be783ec-c132-4e09-90e0-0958efaf6619", - "a11956c9-c24e-4efb-8af8-1167b3081e70", - "b69a349b-0e07-4fbe-9e3b-9f2cea828b96", - "753c2a57-b5f1-4984-b874-b2b10d582847", - "e0b93b3d-075b-482b-838a-e36d8849607b", - "96c8ed8d-8bd6-49f3-b97b-025b0d6bc9ec", - "c647964a-7796-4dd2-9fa8-b23f012ac14e", - "87a63649-9834-49b8-89a0-310211c1b5b3", - "b2eb5b20-fd1a-403c-8b55-9eec5972d482", - "4b3b36cb-cd90-4526-978d-2e7e8f7add39", - "cdc774f8-3310-4f1f-8c67-03579c253640", - "607370e0-7e7e-4d25-ba5c-957c00a73ac1", - "3240d7ab-568b-4be5-adba-3178b3e8f85e", - "c0b6ee98-677a-41d9-9d80-9ac63d251b08", - "f34c01ec-06df-49e6-bc2f-c50c7f398851", - "2047311b-f3ee-4137-8338-a45166e01d53", - "44ea335a-1991-4504-be12-04f1a332ddfb", - "59f3d0ab-1fe1-4cc8-b343-c12b520d769d", - "58f9fb1a-b6be-42c4-98ed-a5c091a3c716", - "6af3cb41-9e64-4b11-b272-be87adf0fa94", - "7541d176-dfba-4e05-ba45-0c6964271dff", - "8ee1e829-a507-40a5-87ac-7fd8379b87ce", - "8e57554a-abb2-4664-87b6-a397f4da6555", - "88fa5ec5-db7d-49bf-8c7e-86f348fbc84c", - "a2b4ab97-84bd-4808-884d-bd8cc5e7b922", - "56c83f8e-3ef2-4a3a-b808-52cc1e96ac8e", - "8af22b64-2c3f-4aad-a2d5-5d9b122a7b1c", - "f0cb4244-e19a-46a0-89f1-04143548872d", - "73074f55-d009-41a2-929e-6fd9949bb1dd", - "0c2a3965-fbd7-4dc2-bcf0-9c51650a7331", - "3774ecbd-d397-4b46-ba08-a7cbc6da0c07", - "146231bb-1b13-4db5-8157-9d9962cc3a3a", - "1d1b3f27-4f67-4338-bb36-173fd6ecf14b", - "7fe17380-3090-4fc3-9504-02b3f8ed95b6", - "fc405b01-60ca-436f-a06c-2f38f7156a87", - "bae92b53-c6c7-4712-865e-6cff3cba506e", - "83662ec5-a202-42ab-9a47-a701d4f19de3", - "a04957c6-8ce8-4fa6-950d-71812ff3d698", - "9284d3a4-73bd-4aa0-847c-ab273d14185a", - "4d664562-c333-4aaf-bb8b-641e0568733e", - "b533685d-3c60-4483-841b-a054f0a69fec", - "3f14c88e-58db-4f76-b6e0-4b483ded1ca3", - "32d0b267-f399-408a-b35f-f1ebc7d0fc1f", - "3e8510c9-7e31-49bd-bb90-cb55577c2f25", - "463aff9a-ec7e-40d0-be42-c6686af9130d", - "02ddb50f-4a97-4fbc-ac08-32cd5f0fb319", - "868efb99-df36-462b-91a2-bb6ca27e842a", - "dd124d84-cb44-42e6-88d8-0d97fcb2c0f1", - "36ded48a-869f-4fa8-971f-56bc28298276", - "b62567c9-27d5-49b9-aa2e-7e9e1513dcb4", - "e72742a4-23ba-4e5d-a29b-ad449abe8101", - "cd6e1096-f8c3-4eda-957d-b09741d60901", - "903ea376-5153-4fb8-8ffa-e2948951409c", - "89c5fc1e-9d18-4a6b-9025-ea0b75d01adb", - "8381d167-c4dd-49a2-b5df-1ae815bbe42e", - "9be80be6-ee45-49d5-8d3d-a6df8f0383f6", - "cf305c60-bb2c-41af-82bf-0631c2a7b0be", - "074290a9-35e1-422f-a3af-e5ed58781b4d", - "0c49b3ca-bb47-41d9-a58c-e5ea79f673c3", - "783c4def-7dc3-40a6-aa9e-a3f92a2dffba", - "5165cc56-ff89-42bf-b000-fec4bd57176e", - "545be634-5893-45e0-93b2-dd4ea93e00db", - "2d2e58c6-7c24-4089-bbe9-d47b7482be46", - "e4ce035a-f9e2-459f-8ecf-ce138ea00b34", - "81214e49-318f-4221-bf2c-4ef00cfa916b", - "7fc97754-1121-468b-b1e4-839bde86b6c8", - "7d70d44c-b5d7-47be-9687-e9a775e86251", - "ddb4f9d4-f2a1-42a5-87fa-e818071a5b33", - "b7607809-e975-4c32-bff7-375cb2d8276f", - "b8a6c863-626d-4fbf-863b-610cffaac37d", - "45077a5c-ee96-47c0-a84f-9d46cf799338", - "49d82b74-6f1a-415c-93ab-958c60f083b6", - "753b51b7-a909-44e7-bb21-cf2cd18328f8", - "c7ab6349-b2bb-4ba3-9c9b-27d270550052", - "7be770fc-4a56-4f82-a4cf-3cf908d54dca", - "3f5f8537-c1af-4d2e-a732-53b6d4275588", - "3820feac-72c4-49c5-a5a0-773f4e5ee3c1", - "f986c2c2-2823-45a0-80cf-5e6f67958afb", - "7d17d6d6-d038-40c6-b965-6de41ce9c931", - "3d208b38-62c8-492d-9434-21bb66ead16e", - "9a982898-77c6-4a56-8e54-9cb83ff0b235", - "1bdd91d7-0a1a-488d-ab9c-78eba7a6daa3", - "24b6366f-03ce-4e4d-b50f-90687f3e2b94", - "ec1d0987-fb49-48b8-aaeb-321c659fb67f", - "e756ce65-ad72-42e6-a8cc-9c1bac781ce5", - "6fbcb1c7-ce98-46db-8054-b451b6bca205", - "c225fa8c-e8c8-46a4-bf23-720e2cf1c9ac", - "aa6fca0d-6a70-4016-a0e4-307878e9ff45", - "ee62cd8d-fb93-4082-980b-213c7a8a0c47", - "bbd60a79-3572-42c0-8e53-b0c566a72f06", - "bf585666-2fb4-4ad5-a9b3-b268a9953ed9", - "52548ff8-5bbd-4b1c-9c52-4e5d82f846e2", - "240a67cc-e827-41bf-8ac8-a66bc2797f13", - "7a9b6534-fa1d-4282-a064-11e60e57a322", - "b0af6371-4379-45f0-8c09-f6610833fc46", - "f5ce7a96-cfc0-42c4-852b-386f9a27111d", - "8bc05db7-bd23-4a10-9761-96be7b8ef9ee", - "3dff4add-7d6f-418c-afba-e46864af51d2", - "ab2b7c67-8f13-4388-acd7-e2abb0091f30", - "d9912d93-3d92-48d2-9f75-826fbba3d94e", - "8b37aba2-be5e-4963-8e6f-51a2df8e143e", - "81c0e4e2-9021-4c4d-9876-1ed5b78ca7a7", - "2d7e88dd-bddd-4289-9556-27d301be0b83", - "0c1c578d-d4cc-40bb-a54d-d1d4d004373f", - "9dc0ead3-f17a-4bb8-88e2-87f779029ff8", - "f618a8bc-5e07-477f-a6d3-1b0af8c81ff0", - "e834d3df-8432-40ba-b67d-c7cd0bd7328d", - "d8908d6d-5daa-454d-9082-726054cfddc1", - "c5a7142e-4702-4e84-b7aa-239df2a71ba8", - "f69e44ef-cf23-4571-8dad-e44222697974", - "ea72f81c-2c58-43e2-acca-294254f470f7", - "89d1d2b5-81d3-487d-9fc1-d8b1d8ac34ab", - "6928ac1b-fd1d-436c-bfc6-4087c65809d7", - "07a7b938-435b-4804-b140-c255957b6532", - "3d532a7b-55e7-4461-afbc-65ef76403384", - "bab40245-28bd-49a2-8be0-ba109fe41c91", - "9d577bd4-3a27-48be-ad7c-8c44cf803cda", - "c4de7605-fec5-4389-bb9e-f2ea0c41cdef", - "21a043b6-6dde-41b9-b20e-74b961da8b88", - "11280200-1803-4110-aa84-2808776c2d50", - "86df5269-576b-4d18-a0ce-6e2b2a36d51b", - "e524ff4e-95fa-4561-bfd3-276cba79e664", - "3d5737da-b1ab-48cb-a26f-d420e53edccd", - "44cf15ec-3d4e-4698-bb14-107c34891191", - "6242cdf3-fd6d-4479-a08a-1747818fd978", - "bc60bbd4-8b09-425c-b507-9da24a84f412", - "1f054ccf-f8dd-4127-a6f8-c577d7dd93dc", - "9954cb4b-b0a4-4479-b31d-0bee1e75d9c7", - "5f67c32c-a154-4620-8603-0b64979b04a4", - "7d5bffb2-8bf9-4366-a8b2-762ebb4d6c5d", - "dcee6df0-9e87-4935-8873-f8d30d449d76", - "7d6bdde6-523f-46cb-bed5-d6cfa8fea80c", - "e6d00b0c-3641-4ec4-a553-8fd742193dba", - "e5034863-0528-4f55-be95-c8501c29f9fe", - "cc61b14a-59d9-477b-8cb1-43c4ee4cf434", - "33d332c9-aefe-4db5-8830-b8daddaed0d2", - "bb3b6fc7-0902-432d-bad1-6b3f61951314", - "2b734e88-3a33-4c73-92bb-82e0b8f8c13b" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "imaging_protocol", - "protocol_id": "96ecb94d-e848-4d7b-8df9-f19af6ab17b8" - } - ] - }, - { - "process": "07acb7d0-3f1c-47f7-9ef9-851c4f1caaec", - "inputs": [ - "edd1d525-a6ae-4658-a6bf-6c31d7ab6948" - ], - "input_type": "biomaterial", - "outputs": [ - "87f58f88-ef8b-4323-bd19-cde1a2497b59" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "imaging_preparation_protocol", - "protocol_id": "a6d431b0-4373-4eaf-a3af-8c3fe461ab38" - } - ] - }, - { - "process": "fee8a188-5783-44cd-a1c1-ed9d5d7c32a9", - "inputs": [ - "6cb9fc09-7755-4a35-b6b1-0d6fe696b2d4" - ], - "input_type": "biomaterial", - "outputs": [ - "edd1d525-a6ae-4658-a6bf-6c31d7ab6948" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "caf94c25-8327-4379-b88e-2a6642cd7513" - } - ] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/cans/staging/eca05046-3dad-4e45-b86c-8720f33a5dde.2019-03-17T220646.332108Z.json b/test/hca_metadata_api/cans/staging/eca05046-3dad-4e45-b86c-8720f33a5dde.2019-03-17T220646.332108Z.json deleted file mode 100644 index fce57ca57b..0000000000 --- a/test/hca_metadata_api/cans/staging/eca05046-3dad-4e45-b86c-8720f33a5dde.2019-03-17T220646.332108Z.json +++ /dev/null @@ -1,598 +0,0 @@ -{ - "manifest": { - "sequence_file/6380c3bc-8bc3-459b-aea3-05dd6c0842ef": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "da1a6040", - "indexed": false, - "name": "pbmc4k_1000_S1_L001_R1_001.fastq.gz", - "s3_etag": "eeaf6532a43b731e1ed9068bf32add47", - "sha1": "1e9baaa563f2559a6eb42f586730d1fc2aba6abc", - "sha256": "5e3f4a1a8cad609ab42b3c66c069fc29c2cfc3875f600e121aed3bde36b66fd1", - "size": 10287500, - "uuid": "46ab4893-bb4a-43fa-bc86-22f0d89fddf6", - "version": "2019-03-17T220644.137081Z" - }, - "sequence_file/ceb4dfaa-ecaf-4757-ae54-9d83707f66cc": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "0eee0a0a", - "indexed": false, - "name": "pbmc4k_1000_S1_L001_R2_001.fastq.gz", - "s3_etag": "891e3067ff772d599a5c424f5a93bfd5", - "sha1": "b866551f9f1b449039b4eeeda6c6b05bf3eee72b", - "sha256": "4718d026a1a2fdd13e6c9cb3bb92eb096f24478571cb6045cd3ce54f2623c2e1", - "size": 30926462, - "uuid": "2a2b38af-9776-41c8-b643-2e094ac1c58b", - "version": "2019-03-17T220644.507486Z" - }, - "sequence_file/5201d410-d789-4df6-b3fd-9edac998e5f3": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "51ffe105", - "indexed": false, - "name": "pbmc4k_1000_S1_L001_I1_001.fastq.gz", - "s3_etag": "3d252f83492bf030ddfd05a5a1411cdc", - "sha1": "02e40d38df063e54310edefe956fc9ed336c70fb", - "sha256": "7f11f8f3a5a8e879d3c7d612f4d37233ebfdd3e226406c013bc375403bae2137", - "size": 3454130, - "uuid": "04a1ab2c-e522-4d73-a881-effa1d9492d1", - "version": "2019-03-17T220644.766900Z" - } - }, - "metadata": { - "cell_suspension/74a06f8b-dff1-44d2-b1a6-99e3d14b69d1": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "cell_ID_1", - "biomaterial_name": "This is a dummy cell", - "biomaterial_description": "This is a dummy donor cell", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "DRB1 0401 protective allele", - "biosd_biomaterial": "SAMN00000000", - "insdc_biomaterial": "SRS0000000" - }, - "cell_morphology": { - "cell_morphology": "adherent cells, form single layer colonies", - "cell_size": "20-30", - "cell_size_unit": { - "text": "nm", - "ontology": "UO:0000018", - "ontology_label": "nanometer" - }, - "percent_cell_viability": 85.3, - "cell_viability_method": "Fluorescein diacetate hydrolysis assay", - "cell_viability_result": "pass", - "percent_necrosis": 10.0 - }, - "growth_conditions": { - "passage_number": 22, - "growth_medium": "lysogeny broth (LB) medium", - "mycoplasma_testing_results": "pass", - "drug_treatment": "100 ug/mL ampicillin", - "feeder_layer_type": "feeder-dependent, mouse embryonic fibroblast cells" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "74a06f8b-dff1-44d2-b1a6-99e3d14b69d1", - "submission_date": "2019-03-17T22:00:57.699Z", - "update_date": "2019-03-17T22:01:03.482Z" - } - }, - "specimen_from_organism/f3531ee2-d408-4075-b63e-0d0e2b01116c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/7.0.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "specimen_ID_1", - "biomaterial_name": "This is a dummy specimen", - "biomaterial_description": "This is a dummy donor specimen", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "DRB1 0401 protective allele", - "biosd_biomaterial": "SAMN00000000", - "insdc_biomaterial": "SRS0000000" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organ_part": { - "text": "amygdala", - "ontology": "UBERON:0001876", - "ontology_label": "amygdala" - }, - "diseases": [ - { - "text": "H syndrome", - "ontology": "MONDO:0011273", - "ontology_label": "H syndrome" - } - ], - "state_of_specimen": { - "autolysis_score": "none", - "gross_description": "normal color and size" - }, - "provenance": { - "document_id": "f3531ee2-d408-4075-b63e-0d0e2b01116c", - "submission_date": "2019-03-17T22:00:57.694Z", - "update_date": "2019-03-17T22:01:03.535Z" - } - }, - "donor_organism/20db3238-9ce6-4820-8495-6753e4147d51": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/14.0.3/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "donor_ID_1", - "biomaterial_name": "This is a dummy donor", - "biomaterial_description": "This is a dummy donor description", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "DRB1 0401 protective allele", - "biosd_biomaterial": "SAMN00000000", - "insdc_biomaterial": "SRS0000000" - }, - "human_specific": { - "body_mass_index": 36.4, - "ethnicity": [ - { - "text": "European", - "ontology": "HANCESTRO:0005", - "ontology_label": "European" - } - ] - }, - "death": { - "cause_of_death": "motor vehicle accident", - "cold_perfused": false, - "days_on_ventilator": 4.0, - "hardy_scale": 0, - "time_of_death": "1999-01-21T00:00:00Z", - "organ_donation_death_type": "Donation after circulatory death (DCD)" - }, - "medical_history": { - "alcohol_history": "1 units/day", - "medication": "Naproxen 500mg/day,", - "nutritional_state": "normal", - "smoking_history": "Smoker, 5/day for 10 years, stopped 1995" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organism_age": "20", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "development_stage": { - "text": "human adult stage", - "ontology": "HsapDv:0000087" - }, - "diseases": [ - { - "text": "H syndrome", - "ontology": "MONDO:0011273", - "ontology_label": "H syndrome" - } - ], - "gestational_age": "5-7", - "height": "160", - "height_unit": { - "text": "cm", - "ontology": "UO:0000015", - "ontology_label": "centimeter" - }, - "is_living": "no", - "weight": "60", - "weight_unit": { - "text": "kg", - "ontology": "UO:0000009", - "ontology_label": "kilogram" - }, - "sex": "male", - "provenance": { - "document_id": "20db3238-9ce6-4820-8495-6753e4147d51", - "submission_date": "2019-03-17T22:00:57.690Z", - "update_date": "2019-03-17T22:01:03.211Z" - } - }, - "sequence_file/6380c3bc-8bc3-459b-aea3-05dd6c0842ef": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/7.0.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "pbmc4k_1000_S1_L001_R1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "eeaf6532a43b731e1ed9068bf32add47" - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 26, - "insdc_run": [ - "SRR0000000" - ], - "provenance": { - "document_id": "6380c3bc-8bc3-459b-aea3-05dd6c0842ef", - "submission_date": "2019-03-17T22:00:57.704Z", - "update_date": "2019-03-17T22:03:04.130Z" - } - }, - "sequence_file/ceb4dfaa-ecaf-4757-ae54-9d83707f66cc": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/7.0.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "pbmc4k_1000_S1_L001_R2_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "891e3067ff772d599a5c424f5a93bfd5" - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 98, - "insdc_run": [ - "SRR0000000" - ], - "provenance": { - "document_id": "ceb4dfaa-ecaf-4757-ae54-9d83707f66cc", - "submission_date": "2019-03-17T22:00:57.714Z", - "update_date": "2019-03-17T22:03:06.010Z" - } - }, - "sequence_file/5201d410-d789-4df6-b3fd-9edac998e5f3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/7.0.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "pbmc4k_1000_S1_L001_I1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "3d252f83492bf030ddfd05a5a1411cdc" - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run": [ - "SRR0000000" - ], - "provenance": { - "document_id": "5201d410-d789-4df6-b3fd-9edac998e5f3", - "submission_date": "2019-03-17T22:00:57.719Z", - "update_date": "2019-03-17T22:03:03.738Z" - } - }, - "project/5014cd10-bbed-4e85-bc45-6fe3a8a0079b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/project/11.0.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "staging/10x/2019-03-17T22:00:54Z", - "project_title": "10x 1 Run Integration Test", - "project_description": "Contains a small file set from the dataset: 4k PBMCs from a Healthy Donor, a Single Cell Gene Expression Dataset by Cell Ranger 2.1.0. Peripheral blood mononuclear cells (PBMCs) were taken from a healthy donor (same donor as pbmc8k). PBMCs are primary cells with relatively small amounts of RNA (~1pg RNA/cell). Data/Analysis can be found here https://support.10xgenomics.com/single-cell-gene-expression/datasets/2.1.0/pbmc4k and all data is licensed under the creative commons attribution license (https://creativecommons.org/licenses/by/4.0/). This test also contains extensive metadata for browser testing. Metadata is fabricated." - }, - "publications": [ - { - "authors": [ - "Doe JD, Doe JJ" - ], - "publication_title": "A title of a publication goes here.", - "doi": "10.1016/j.cell.2016.07.054", - "pmid": 27565351, - "publication_url": "https://europepmc.org" - } - ], - "insdc_project_accessions": [ - "SRP000000", - "SRP000001" - ], - "geo_series_accessions": [ - "GSE00000" - ], - "array_express_accessions": [ - "E-AAAA-00" - ], - "insdc_study_accessions": [ - "PRJNA000000" - ], - "funders": [ - { - "grant_title": "A title of a grant proposal.", - "grant_id": "BB/P0000001/1", - "organization": "Biotechnology and Biological Sciences Research Council (BBSRC)" - } - ], - "contributors": [ - { - "contact_name": "John,D,Doe.", - "email": "dummy@email.com", - "phone": "(+1) 234-555-6789", - "institution": "EMBL-EBI", - "laboratory": "Department of Biology", - "address": "0000 Main Street, Nowheretown, MA, 12091", - "country": "USA", - "corresponding_contributor": false, - "project_role": "principal investigator", - "orcid_id": "0000-1111-2222-3333" - } - ], - "provenance": { - "document_id": "5014cd10-bbed-4e85-bc45-6fe3a8a0079b", - "submission_date": "2019-03-17T22:00:57.685Z", - "update_date": "2019-03-17T22:01:03.175Z" - } - }, - "library_preparation_protocol/aa7e9a08-2a0c-4575-a9a9-13cab4e96e73": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/sequencing/4.4.6/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "lib_prep_1", - "protocol_name": "A dummy library prep protocol", - "protocol_description": "A dummy library prep description", - "publication_doi": "10.1101/193219", - "protocols_io_doi": "10.17504/protocols.io.mgjc3un", - "document": "my_cool_protocol.pdf" - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_approach": { - "text": "10x v2", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "unstranded", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "library_preamplification_method": { - "text": "Rapid Amplification of cDNA Ends", - "ontology": "EFO:0004182", - "ontology_label": "Rapid Amplification of cDNA Ends" - }, - "provenance": { - "document_id": "aa7e9a08-2a0c-4575-a9a9-13cab4e96e73", - "submission_date": "2019-03-17T22:00:57.735Z", - "update_date": "2019-03-17T22:01:03.138Z" - } - }, - "sequencing_protocol/4bc436f7-e429-4355-8d6e-853d8e639b37": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/sequencing/9.0.11/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1", - "protocol_name": "A dummy sequencing protocol", - "protocol_description": "A dummy sequencing protocol description", - "publication_doi": "10.1101/193219", - "protocols_io_doi": "10.17504/protocols.io.mgjc3un", - "document": "my_cool_protocol.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565" - }, - "local_machine_name": "Machine1", - "paired_end": false, - "sequencing_approach": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441", - "ontology_label": "full length single cell RNA sequencing" - }, - "10x": { - "fastq_method": "Cellranger mkfastq", - "fastq_method_version": "Cellranger 2.1.1", - "pooled_channels": 4.0, - "drop_uniformity": false - }, - "provenance": { - "document_id": "4bc436f7-e429-4355-8d6e-853d8e639b37", - "submission_date": "2019-03-17T22:00:57.739Z", - "update_date": "2019-03-17T22:01:02.999Z" - } - }, - "dissociation_protocol/1e9abdf3-54da-4c73-9e57-1297ceb39399": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.8/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "protocol_name": "A dummy dissociation protocol", - "protocol_description": "A dummmy description of a dissociation protocol", - "publication_doi": "10.1101/193219", - "protocols_io_doi": "10.17504/protocols.io.mgjc3un", - "document": "my_cool_protocol.pdf" - }, - "dissociation_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "provenance": { - "document_id": "1e9abdf3-54da-4c73-9e57-1297ceb39399", - "submission_date": "2019-03-17T22:00:57.728Z", - "update_date": "2019-03-17T22:01:03.046Z" - } - }, - "enrichment_protocol/df679627-ccb6-426d-a709-c259db607d84": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.9/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_1", - "protocol_name": "an example enrichment protocol", - "protocol_description": "an example enrichemnt protocol description", - "publication_doi": "10.1101/193219", - "protocols_io_doi": "10.17504/protocols.io.mgjc3un", - "document": "my_cool_protocol.pdf" - }, - "enrichment_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD4+ CD8-", - "min_size_selected": 70.0, - "max_size_selected": 90.0, - "provenance": { - "document_id": "df679627-ccb6-426d-a709-c259db607d84", - "submission_date": "2019-03-17T22:00:57.731Z", - "update_date": "2019-03-17T22:01:03.051Z" - } - }, - "collection_protocol/c3dabd8c-6f32-4c0b-a13b-11bb71cc95de": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/8.2.11/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "collection_protocol_1", - "protocol_name": "A dummy collection protocol", - "protocol_description": "A dummy collection protocol description", - "publication_doi": "10.1101/193219", - "protocols_io_doi": "10.17504/protocols.io.mgjc3un", - "document": "my_cool_protocol.pdf" - }, - "collection_method": { - "text": "organ extraction", - "ontology": "EFO:0009124", - "ontology_label": "organ extraction" - }, - "protocol_reagents": [ - { - "retail_name": "SureCell WTA 3' Library Prep Kit", - "catalog_number": "20014279", - "manufacturer": "Illumina", - "lot_number": "10001A", - "expiry_date": "2018-01-31", - "kit_titer": "Titer: Specification is 3.0x10^7" - } - ], - "provenance": { - "document_id": "c3dabd8c-6f32-4c0b-a13b-11bb71cc95de", - "submission_date": "2019-03-17T22:00:57.724Z", - "update_date": "2019-03-17T22:01:03.060Z" - } - }, - "process/8a0879df-13e0-4dce-9776-20fb259796e9": { - "process_core": { - "process_id": "bundle1" - }, - "schema_type": "process", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/6.0.7/process", - "provenance": { - "document_id": "8a0879df-13e0-4dce-9776-20fb259796e9", - "submission_date": "2019-03-17T22:00:57.752Z", - "update_date": "2019-03-17T22:01:03.421Z" - } - }, - "process/b2e86d49-6874-4522-a68c-43166e858bdd": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/6.0.7/process", - "provenance": { - "document_id": "b2e86d49-6874-4522-a68c-43166e858bdd", - "submission_date": "2019-03-17T22:00:57.748Z", - "update_date": "2019-03-17T22:01:03.392Z" - } - }, - "process/b147df84-443b-4dd2-8327-7ea42adcd151": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/6.0.7/process", - "provenance": { - "document_id": "b147df84-443b-4dd2-8327-7ea42adcd151", - "submission_date": "2019-03-17T22:00:57.743Z", - "update_date": "2019-03-17T22:01:03.254Z" - } - } - }, - "links": { - "describedBy": "https://schema.staging.data.humancellatlas.org/system/1.1.5/links", - "schema_type": "link_bundle", - "schema_version": "1.1.5", - "links": [ - { - "process": "8a0879df-13e0-4dce-9776-20fb259796e9", - "inputs": [ - "74a06f8b-dff1-44d2-b1a6-99e3d14b69d1" - ], - "input_type": "biomaterial", - "outputs": [ - "6380c3bc-8bc3-459b-aea3-05dd6c0842ef", - "ceb4dfaa-ecaf-4757-ae54-9d83707f66cc", - "5201d410-d789-4df6-b3fd-9edac998e5f3" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "aa7e9a08-2a0c-4575-a9a9-13cab4e96e73" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4bc436f7-e429-4355-8d6e-853d8e639b37" - } - ] - }, - { - "process": "b2e86d49-6874-4522-a68c-43166e858bdd", - "inputs": [ - "f3531ee2-d408-4075-b63e-0d0e2b01116c" - ], - "input_type": "biomaterial", - "outputs": [ - "74a06f8b-dff1-44d2-b1a6-99e3d14b69d1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "1e9abdf3-54da-4c73-9e57-1297ceb39399" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "df679627-ccb6-426d-a709-c259db607d84" - } - ] - }, - { - "process": "b147df84-443b-4dd2-8327-7ea42adcd151", - "inputs": [ - "20db3238-9ce6-4820-8495-6753e4147d51" - ], - "input_type": "biomaterial", - "outputs": [ - "f3531ee2-d408-4075-b63e-0d0e2b01116c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "c3dabd8c-6f32-4c0b-a13b-11bb71cc95de" - } - ] - } - ] - } -} \ No newline at end of file diff --git a/test/hca_metadata_api/test.py b/test/hca_metadata_api/test.py deleted file mode 100644 index f7b83b3973..0000000000 --- a/test/hca_metadata_api/test.py +++ /dev/null @@ -1,825 +0,0 @@ -from collections import ( - Counter, -) -from datetime import ( - datetime, - timezone, -) -import doctest -from itertools import ( - chain, -) -import json -import logging -import os -from pathlib import ( - Path, -) -from tempfile import ( - TemporaryDirectory, -) -from unittest import ( - skip, -) -from uuid import ( - UUID, -) - -from atomicwrites import ( - atomic_write, -) -from furl import ( - furl, -) -from more_itertools import ( - one, -) - -from azul import ( - R, -) -from azul.indexer.document import ( - EntityReference, -) -from azul.types import ( - JSON, -) -from azul_test_case import ( - AzulUnitTestCase, -) -from humancellatlas.data.metadata.api import ( - Accession, - AgeRange, - AnalysisFile, - AnalysisProtocol, - Biomaterial, - Bundle, - CellLine, - CellSuspension, - DonorOrganism, - ImagedSpecimen, - ImagingProtocol, - LibraryPreparationProtocol, - Project, - Protocol, - SequenceFile, - SequencingProtocol, - SpecimenFromOrganism, - SupplementaryFile, - entity_types as api_entity_types, -) -from humancellatlas.data.metadata.helpers.json import ( - as_json, -) -from humancellatlas.data.metadata.helpers.schema_validation import ( - SchemaValidator, -) -from humancellatlas.data.metadata.helpers.staging_area import ( - CannedStagingAreaFactory, -) - - -# noinspection PyPep8Naming -def setUpModule(): - logging.basicConfig(level=logging.INFO, - format='%(asctime)s %(levelname)s %(name)s %(threadName)s: %(message)s', ) - logging.getLogger('humancellatlas').setLevel(logging.DEBUG) - - -class TestAccessorApi(AzulUnitTestCase): - - def _rename_keys(self, d, **kwargs): - for new_name, old_name in kwargs.items(): - assert new_name != old_name - if old_name in d: - d[new_name] = d[old_name] - del d[old_name] - - def test_lymphocytes(self): - self._test_example_bundle(directory='CD4+ cytotoxic T lymphocytes', - age_range=AgeRange(min=567648000.0, max=1892160000.0), - diseases={'normal'}, - project_roles={None, 'Human Cell Atlas wrangler', 'external curator'}, - storage_methods={'frozen, liquid nitrogen'}, - preservation_methods={'cryopreservation, other'}, - library_construction_methods={'Smart-seq2'}, - selected_cell_types={'TEMRA'}) - - def test_diabetes_pancreas(self): - self._test_example_bundle(directory='Healthy and type 2 diabetes pancreas', - age_range=AgeRange(min=1356048000.0, max=1356048000.0), - diseases={'normal'}, - project_roles={None, 'Human Cell Atlas wrangler', 'external curator'}, - library_construction_methods={'Smart-seq2'}) - - def test_hpsi(self): - self._test_example_bundle(directory='HPSI_human_cerebral_organoids', - age_range=AgeRange(min=1419120000.0, max=1545264000.0), - diseases={'normal'}, - project_roles={None, 'principal investigator', 'Human Cell Atlas wrangler'}, - library_construction_methods={"Chromium 3' Single Cell v2"}, - selected_cell_types={'neural cell'}) - - def test_mouse(self): - self._test_example_bundle(directory='Mouse Melanoma', - age_range=AgeRange(3628800.0, 7257600.0), - diseases={'subcutaneous melanoma'}, - project_roles={None, 'Human Cell Atlas wrangler', 'Human Cell Atlas wrangler'}, - library_construction_methods={'Smart-seq2'}, - selected_cell_types={'CD11b+ Macrophages/monocytes'}) - - def test_pancreas(self): - self._test_example_bundle(directory='Single cell transcriptome analysis of human pancreas', - age_range=AgeRange(662256000.0, 662256000.0), - diseases={'normal'}, - project_roles={None, 'external curator', 'Human Cell Atlas wrangler'}, - library_construction_methods={'smart-seq2'}, - selected_cell_types={'pancreatic A cell'}) - - def test_tissue_stability(self): - self._test_example_bundle(directory='Tissue stability', - age_range=AgeRange(1734480000.0, 1892160000.0), - diseases={'normal'}, - storage_methods=set(), - preservation_methods=set(), - project_roles={None, 'Human Cell Atlas wrangler', 'Human Cell Atlas wrangler'}, - library_construction_methods={'10X sequencing'}) - - def test_immune_cells(self): - self._test_example_bundle(directory='1M Immune Cells', - age_range=AgeRange(1639872000.0, 1639872000.0), - diseases=set(), - project_roles={None, 'Human Cell Atlas wrangler', 'Human Cell Atlas wrangler'}, - library_construction_methods={'10X sequencing'}, - selected_cell_types={'bone marrow hematopoietic cell'}) - - def _test_example_bundle(self, directory, **kwargs): - uuid = 'b2216048-7eaa-45f4-8077-5a3fb4204953' - version = '2018-08-03T082009.272868Z' - canning_directory = os.path.join('examples', directory) - manifest, metadata, links = self._canned_bundle(canning_directory, uuid, version) - self.assertIsNotNone(manifest) - self._assert_bundle(uuid=uuid, - version=version, - manifest=manifest, - metadata=metadata, - links=links, - **kwargs) - - def _canned_bundle_path(self, directory, uuid, version): - name = f'{uuid}.{version}.json' - return os.path.join(os.path.dirname(__file__), 'cans', directory, name) - - def _can_bundle(self, directory, uuid, version, manifest, metadata, links): # pragma: no cover - """ - Save a bundle's manifest & metadata files to a local directory - """ - path = self._canned_bundle_path(directory, uuid, version) - os.makedirs(directory, exist_ok=True) - with atomic_write(path, overwrite=True) as f: - json.dump({ - 'manifest': manifest, - 'metadata': metadata, - 'links': links - }, f) - - def _canned_bundle(self, directory, uuid, version): - """ - Load a previously canned bundle - """ - dir_path = self._canned_bundle_path(directory, uuid, version) - with open(dir_path) as f: - bundle = json.load(f) - return bundle['manifest'], bundle['metadata'], bundle['links'] - - def test_v5_bundle(self): - """ - A v5 bundle in production - """ - self._test_bundle(uuid='b2216048-7eaa-45f4-8077-5a3fb4204953', - version='2018-03-29T142048.835519Z', - age_range=AgeRange(3628800.0, 7257600.0), - diseases={'subcutaneous melanoma'}), - - # TODO: Use bundle from production to fix test broken by missing bundle - @skip('Test bundle no longer exists on staging') - def test_vx_primary_cs_bundle(self): - """ - A vx primary bundle with a cell_suspension as sequencing input - """ - self._test_bundle(uuid='3e7c6f8e-334c-41fb-a1e5-ddd9fe70a0e2', - version=None, - deployment='staging', - diseases={'glioblastoma'}) - - # TODO: Use bundle from production to fix test broken by missing bundle - @skip('Test bundle no longer exists on staging') - def test_vx_analysis_cs_bundle(self): - """ - A vx analysis bundle for the primary bundle with a cell_suspension as - sequencing input - """ - self._test_bundle(uuid='859a8bd2-de3c-4c78-91dd-9e35a3418972', - version='2018-09-20T232924.687620Z', - deployment='staging', - diseases={'glioblastoma'}), - - # TODO: Use bundle from production to fix test broken by missing bundle - @skip('Test bundle no longer exists on staging') - def test_vx_analysis_specimen_bundle(self): - """ - A vx primary bundle with a specimen_from_organism as sequencing input - """ - self._test_bundle(uuid='3e7c6f8e-334c-41fb-a1e5-ddd9fe70a0e2', - version='2018-09-20T230221.622042Z', - deployment='staging', - diseases={'glioblastoma'}), - - def test_vx_specimen_v271_bundle(self): - """ - A bundle containing a specimen_from_organism.json with a schema version of 2.7.1 - """ - self._test_bundle(uuid='70184761-70fc-4b80-8c48-f406a478d5ab', - version='2018-09-05T182535.846470Z', - deployment='staging', - diseases={'glioblastoma'}, - library_construction_methods={'Smart-seq2'}) - - def test_preservation_storage_bundle(self): - """ - A bundle with preservation_method and storage_method fields and a - donor_organism document with a development_stage field. - """ - bundle = self._test_bundle(uuid='68bdc676-c442-4581-923e-319c1c2d9018', - version='2018-10-07T130111.835234Z', - deployment='staging', - age_range=AgeRange(min=567648000.0, max=1892160000.0), - diseases={'normal'}, - project_roles={'Human Cell Atlas wrangler', None, 'external curator'}, - storage_methods={'frozen, liquid nitrogen'}, - preservation_methods={'cryopreservation, other'}, - library_construction_methods={'Smart-seq2'}, - selected_cell_types={'TEMRA'}, - ncbi_taxon_ids={9606}) - donors = [bio for bio in bundle.biomaterials.values() if isinstance(bio, DonorOrganism)] - donor_organism = one(donors) - self.assertEqual(donor_organism.development_stage, 'adult') - - def test_ontology_label_field(self): - """ - A bundle with a library_preparation_protocol that has a - library_construction_approach ontology and nucleic_acid_source field. - """ - bundle = self._test_bundle(uuid='6b498499-c5b4-452f-9ff9-2318dbb86000', - version='2019-01-03T163633.780215Z', - age_range=AgeRange(1734480000.0, 1860624000.0), - diseases={'normal'}, - project_roles={None, 'principal investigator', 'Human Cell Atlas wrangler'}, - library_construction_methods={'10X v2 sequencing'}, - selected_cell_types={'neural cell'}) - protocols = [p for p in bundle.protocols.values() if isinstance(p, LibraryPreparationProtocol)] - protocol = one(protocols) - self.assertEqual(protocol.nucleic_acid_source, 'single cell') - - def test_accessions_fields(self): - self._test_bundle(uuid='eca05046-3dad-4e45-b86c-8720f33a5dde', - version='2019-03-17T220646.332108Z', - deployment='staging', - diseases={'H syndrome'}, - project_roles={'principal investigator'}, - age_range=AgeRange(630720000.0, 630720000.0), - library_construction_methods={'10X v2 sequencing'}, - insdc_project_accessions={'SRP000000', 'SRP000001'}, - geo_series_accessions={'GSE00000'}, - array_express_accessions={'E-AAAA-00'}, - insdc_study_accessions={'PRJNA000000'}, - accessions={ - Accession('insdc_project', 'SRP000000'), - Accession('insdc_project', 'SRP000001'), - Accession('geo_series', 'GSE00000'), - Accession('array_express', 'E-AAAA-00'), - Accession('insdc_study', 'PRJNA000000') - }) - - def test_imaging_bundle(self): - self._test_bundle(uuid='94f2ba52-30c8-4de0-a78e-f95a3f8deb9c', - version='2019-04-03T103426.471000Z', - deployment='staging', - diseases=set(), - selected_cell_types=None, - project_roles=set(), - age_range=AgeRange(min=4838400.0, max=4838400.0), - is_sequencing_bundle=False, - storage_methods={'fresh'}, - preservation_methods={'fresh'}, - slice_thickness=[20.0]) - - def test_file_core_bundle(self): - """ - Verify file_core.content_description, provenance.submitter_id, - provenance.submission_date, and provenance.update_date - """ - bundle = self._test_bundle(uuid='86e7b58e-b9f0-4020-8b34-c61d6da02d44', - version='2019-09-20T103932.395795Z', - deployment='prod', - diseases={'normal'}, - selected_cell_types={'neuron'}, - project_roles={'data curator', 'experimental scientist', 'principal investigator'}, - age_range=AgeRange(min=2302128000.0, max=2302128000.0), - library_construction_methods={"10x 3' v3 sequencing"}, - content_description={'DNA sequence'}) - submitter_id_counts = Counter(file.submitter_id for file in bundle.files.values()) - submitter_id_expected = { - None: 3, # Sequence files without a submitter_id field - '67a720af-4482-4619-81d7-3693b2d3cc4c': 4 # Supplementary files with submitter_id - } - self.assertEqual(submitter_id_expected, submitter_id_counts) - submission_date_counts = Counter(entity.submission_date - for entity in bundle.files.values()) - submission_date_expected = { - datetime(2019, 9, 20, 8, 29, 52, ms, tzinfo=timezone.utc): 1 - for ms in (232000, 239000, 247000, 277000, 285000, 292000, 299000) - } - self.assertEqual(submission_date_expected, submission_date_counts) - update_date_counts = Counter(entity.update_date - for entity in bundle.files.values()) - update_date_expected = { - None: 1, - datetime(2019, 9, 20, 8, 38, 58, 167000, tzinfo=timezone.utc): 2, - datetime(2019, 9, 20, 8, 38, 58, 165000, tzinfo=timezone.utc): 2, - datetime(2019, 9, 20, 10, 13, 35, 720000, tzinfo=timezone.utc): 1, - datetime(2019, 9, 20, 8, 50, 13, 111000, tzinfo=timezone.utc): 1 - } - self.assertEqual(update_date_expected, update_date_counts) - - def test_sequencing_process_paired_end(self): - uuid = '6b498499-c5b4-452f-9ff9-2318dbb86000' - version = '2019-01-03T163633.780215Z' - manifest, metadata, links = self._canned_bundle('prod', uuid, version) - bundle = Bundle(uuid, version, manifest, metadata, links) - sequencing_protocols = [p for p in bundle.protocols.values() if isinstance(p, SequencingProtocol)] - self.assertEqual(len(sequencing_protocols), 1) - self.assertEqual(sequencing_protocols[0].paired_end, True) - - def _test_bundle(self, - uuid, - version, - deployment='prod', - **assertion_kwargs - ) -> Bundle: - - manifest, metadata, links = self._canned_bundle(deployment, uuid, version) - - return self._assert_bundle(uuid=uuid, - version=version, - manifest=manifest, - metadata=metadata, - links=links, - **assertion_kwargs) - - def _assert_bundle(self, uuid, version, manifest, metadata, links, - age_range=None, - diseases=frozenset({None}), - project_roles=frozenset({None}), - storage_methods=frozenset({None}), - preservation_methods=frozenset({None}), - library_construction_methods=frozenset(), - selected_cell_types=frozenset(), - accessions=frozenset(), - insdc_project_accessions=frozenset(), - geo_series_accessions=frozenset(), - array_express_accessions=frozenset(), - insdc_study_accessions=frozenset(), - is_sequencing_bundle=True, - slice_thickness=None, - ncbi_taxon_ids=None, - content_description=None) -> Bundle: - bundle = Bundle(uuid, version, manifest, metadata, links) - - # Every data file's manifest entry should be referenced by a metadata - # entity that describes the data file. id() is used to work around the - # fact that dict instances aren't hashable and to ensure that no - # redundant copies are made. - self.assertEqual(set(id(f.manifest_entry.json) for f in bundle.files.values()), - set(id(me) for me in manifest.values() if not me['indexed'])) - - biomaterials = bundle.biomaterials.values() - - if ncbi_taxon_ids is not None: - self.assertSetEqual(ncbi_taxon_ids, set(chain(*(b.ncbi_taxon_id for b in biomaterials)))) - - actual_diseases = set(chain(*(bm.diseases for bm in biomaterials - if isinstance(bm, (DonorOrganism, SpecimenFromOrganism))))) - # noinspection PyDeprecation - actual_disease = set(chain(*(bm.disease for bm in biomaterials - if isinstance(bm, (DonorOrganism, SpecimenFromOrganism))))) - self.assertEqual(actual_diseases, diseases) - self.assertEqual(actual_diseases, actual_disease) - self.assertEqual(str(bundle.uuid), uuid) - self.assertEqual(bundle.version, version) - self.assertEqual(1, len(bundle.projects)) - - if selected_cell_types is not None: - cell_suspension = next(x for x in bundle.biomaterials.values() if isinstance(x, CellSuspension)) - self.assertEqual(CellSuspension, type(cell_suspension)) - self.assertEqual(selected_cell_types, cell_suspension.selected_cell_types) - # noinspection PyDeprecation - self.assertEqual(cell_suspension.selected_cell_types, cell_suspension.selected_cell_type) - # noinspection PyDeprecation - self.assertEqual(cell_suspension.estimated_cell_count, cell_suspension.total_estimated_cells) - - project = list(bundle.projects.values())[0] - self.assertEqual(Project, type(project)) - self.assertEqual(project_roles, {c.project_role for c in project.contributors}) - # noinspection PyDeprecation - self.assertLessEqual(len(project.laboratory_names), len(project.contributors)) - # noinspection PyDeprecation - self.assertEqual(project.project_short_name, project.project_shortname) - - self.assertEqual(insdc_project_accessions, project.insdc_project_accessions) - self.assertEqual(geo_series_accessions, project.geo_series_accessions) - self.assertEqual(array_express_accessions, project.array_express_accessions) - self.assertEqual(insdc_study_accessions, project.insdc_study_accessions) - self.assertEqual(accessions, project.accessions) - - root_entities = bundle.root_entities().values() - root_entity_types = {type(e) for e in root_entities} - self.assertIn(DonorOrganism, root_entity_types) - self.assertTrue({DonorOrganism, SupplementaryFile}.issuperset(root_entity_types)) - root_entity = next(iter(root_entities)) - self.assertEqual(root_entity.ref.entity_type, 'donor_organism') - self.assertIsInstance(root_entity, DonorOrganism) - self.assertEqual(root_entity.organism_age_in_seconds, age_range) - self.assertIn(root_entity.sex, {'female', 'male', 'unknown'}) - # noinspection PyDeprecation - self.assertEqual(root_entity.sex, root_entity.biological_sex) - - if is_sequencing_bundle: - sequencing_input = bundle.sequencing_input - self.assertGreater(len(sequencing_input), 0, - 'There should be at least one sequencing input') - self.assertEqual(len(set(si.document_id for si in sequencing_input)), len(sequencing_input), - 'Sequencing inputs should be distinct entities') - self.assertEqual(len(set(si.biomaterial_id for si in sequencing_input)), len(sequencing_input), - 'Sequencing inputs should have distinct biomaterial IDs') - self.assertTrue(all(isinstance(si, Biomaterial) for si in sequencing_input), - 'All sequencing inputs should be instances of Biomaterial') - sequencing_input_schema_names = set(si.schema_name for si in sequencing_input) - self.assertTrue({'cell_suspension', 'specimen_from_organism'}.issuperset(sequencing_input_schema_names), - 'The sequencing inputs in the test bundle are of specific schemas') - - sequencing_output = bundle.sequencing_output - self.assertGreater(len(sequencing_output), 0, - 'There should be at least one sequencing output') - self.assertEqual(len(set(so.document_id for so in sequencing_output)), len(sequencing_output), - 'Sequencing outputs should be distinct entities') - self.assertTrue(all(isinstance(so, SequenceFile) for so in sequencing_output), - 'All sequencing outputs should be instances of SequenceFile') - self.assertTrue(all(so.manifest_entry.name.endswith('.fastq.gz') for so in sequencing_output), - 'All sequencing outputs in the test bundle are fastq files.') - - has_specimens = storage_methods or preservation_methods - specimen_types = {type(s) for s in bundle.specimens} - self.assertEqual({SpecimenFromOrganism} if has_specimens else set(), specimen_types) - - self.assertEqual(storage_methods, {s.storage_method for s in bundle.specimens}) - self.assertEqual(preservation_methods, {s.preservation_method for s in bundle.specimens}) - - if has_specimens: - # noinspection PyDeprecation - self.assertRaises(AttributeError, lambda: bundle.specimens[0].organ_part) - - # Prove that as_json returns a valid JSON structure (no cycles, correct types, etc.) - self.assertTrue(isinstance(json.dumps(as_json(bundle), default=str), str)) - - library_prep_protos = [p for p in bundle.protocols.values() if isinstance(p, LibraryPreparationProtocol)] - library_prep_proto_types = {type(p) for p in library_prep_protos} - has_library_preps = library_construction_methods != set() or len(library_prep_protos) > 0 - self.assertEqual({LibraryPreparationProtocol} if has_library_preps else set(), library_prep_proto_types) - self.assertEqual(library_construction_methods, {p.library_construction_method for p in library_prep_protos}) - # noinspection PyDeprecation - self.assertEqual(library_construction_methods, {p.library_construction_approach for p in library_prep_protos}) - - if slice_thickness is not None: - self.assertEqual(slice_thickness, - [s.slice_thickness for s in bundle.entities.values() if isinstance(s, ImagedSpecimen)]) - - if content_description is not None: - self.assertSetEqual(content_description, - set(chain.from_iterable(file.content_description for file in bundle.files.values()))) - - return bundle - - def test_canned_staging_area(self): - remote_url = furl('https://github.com/HumanCellAtlas/schema-test-data.git') - staging_area_path = Path('tests') - ref = 'eb93f83b' - with TemporaryDirectory() as tmpdir: - factory = CannedStagingAreaFactory.clone_remote(remote_url, - Path(tmpdir), - ref) - staging_area = factory.load_staging_area(staging_area_path) - self.assertGreater(len(staging_area.links), 0) - for link_id in staging_area.links: - with self.subTest(link_id=link_id): - bundle = staging_area.get_bundle(link_id) - self.assertEqual(bundle.uuid, UUID(link_id)) - project = bundle.projects[UUID('90bf705c-d891-5ce2-aa54-094488b445c6')] - self.assertEqual(project.estimated_cell_count, 10000) - - def test_analysis_protocol(self): - uuid = 'ffee7f29-5c38-461a-8771-a68e20ec4a2e' - version = '2019-02-02T065454.662896Z' - manifest, metadata, links = self._canned_bundle('prod', uuid, version) - bundle = Bundle(uuid, version, manifest, metadata, links) - analysis_protocols = [p for p in bundle.protocols.values() if isinstance(p, AnalysisProtocol)] - self.assertEqual(len(analysis_protocols), 1) - self.assertEqual(str(analysis_protocols[0].document_id), 'bb17ee61-193e-4ae1-a014-4f1b1c19b8b7') - self.assertEqual(analysis_protocols[0].protocol_id, 'smartseq2_v2.2.0') - self.assertEqual(analysis_protocols[0].protocol_name, None) - - def test_imaging_protocol(self): - uuid = '94f2ba52-30c8-4de0-a78e-f95a3f8deb9c' - version = '2019-04-03T103426.471000Z' - manifest, metadata, links = self._canned_bundle('staging', uuid, version) - bundle = Bundle(uuid, version, manifest, metadata, links) - imaging_protocol = one(p for p in bundle.protocols.values() if isinstance(p, ImagingProtocol)) - self.assertEqual(len(imaging_protocol.probe), 240) - assay_types = {probe.assay_type for probe in imaging_protocol.probe} - self.assertEqual(assay_types, {'in situ sequencing'}) - - def test_cell_line(self): - uuid = 'ffee3a9b-14de-4dda-980f-c08092b2dabe' - version = '2019-04-17T175706.867000Z' - manifest, metadata, links = self._canned_bundle('prod', uuid, version) - bundle = Bundle(uuid, version, manifest, metadata, links) - cell_lines = [cl for cl in bundle.biomaterials.values() if isinstance(cl, CellLine)] - self.assertEqual(len(cell_lines), 1) - self.assertEqual(str(cell_lines[0].document_id), '961092cd-dcff-4b59-a0d2-ceeef0aece74') - self.assertEqual(cell_lines[0].biomaterial_id, 'cell_line_at_day_54') - self.assertEqual(cell_lines[0].has_input_biomaterial, None) - self.assertEqual(cell_lines[0].type, 'stem cell-derived') - # noinspection PyDeprecation - self.assertEqual(cell_lines[0].type, cell_lines[0].cell_line_type) - self.assertEqual(cell_lines[0].model_organ, 'brain') - - def test_links_json_v2_0_0(self): - """ - Test a bundle with a v2.0.0 links.json and supplementary_file links - """ - uuid = 'cc0b5aa4-9f66-48d2-aa4f-ed019d1c9439' - version = '2019-05-15T222432.561000Z' - manifest, metadata, links = self._canned_bundle('prod', uuid, version) - bundle = Bundle(uuid, version, manifest, metadata, links) - for expected_count, link_type in [(6, 'process_link'), (2, 'supplementary_file_link')]: - actual_count = sum(1 for link in bundle.links if link.link_type == link_type) - self.assertEqual(expected_count, actual_count) - for link in bundle.links: - self.assertIn(link.source_type, api_entity_types) - self.assertIn(link.source_id, bundle.entities) - self.assertIsInstance(bundle.entities[link.source_id], api_entity_types[link.source_type]) - self.assertIn(link.destination_type, api_entity_types) - self.assertIn(link.destination_id, bundle.entities) - self.assertIsInstance(bundle.entities[link.destination_id], api_entity_types[link.destination_type]) - - def test_project_fields(self): - uuid = '68bdc676-c442-4581-923e-319c1c2d9018' - version = '2018-10-07T130111.835234Z' - manifest, metadata, links = self._canned_bundle('staging', uuid, version) - project_id = '519b58ef-6462-4ed3-8c0d-375b54f53c31' - - def assert_bundle(): - bundle = Bundle(uuid, version, manifest, metadata, links) - project = bundle.projects[UUID(project_id)] - self.assertEqual(len(project.publications), 1) - publication = project.publications.pop() - title = 'Precursors of human CD4+ cytotoxic T lymphocytes identified by single-cell transcriptome analysis.' - self.assertEqual(publication.title, title) - # noinspection PyDeprecation - self.assertEqual(publication.doi, '10.1126/sciimmunol.aan8664') - self.assertEqual(publication.official_hca, None) - self.assertEqual(publication.title, publication.publication_title) - self.assertEqual(publication.url, 'http://immunology.sciencemag.org/content/3/19/eaan8664.long') - # noinspection PyDeprecation - self.assertEqual(publication.url, publication.publication_url) - project_roles = {c.project_role for c in project.contributors} - self.assertEqual(project_roles, {None, 'external curator', 'Human Cell Atlas wrangler'}) - supplementary_links = {'https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-106540/Results'} - self.assertEqual(project.supplementary_links, supplementary_links) - - assert_bundle() - project_metadata = metadata[f'project/{project_id}'] - for publication in project_metadata['publications']: - self._rename_keys(publication, title='publication_title', url='publication_url') - for contributor in project_metadata['contributors']: - if 'project_role' in contributor: - contributor['project_role'] = dict(text=contributor['project_role']) - - assert_bundle() - - def test_project_contact(self): - uuid = '6b498499-c5b4-452f-9ff9-2318dbb86000' - version = '2019-01-03T163633.780215Z' - manifest, metadata, links = self._canned_bundle('prod', uuid, version) - project_id = 'd96c2451-6e22-441f-a3e6-70fd0878bb1b' - - def assert_bundle(): - bundle = Bundle(uuid, version, manifest, metadata, links) - project = bundle.projects[UUID(project_id)] - self.assertEqual(len(project.contributors), 5) - expected_names = { - 'Sabina,,Kanton', - 'Barbara,,Treutlein', - 'J,Gray,Camp', - 'Mallory,Ann,Freeberg', - 'Zhisong,,He' - } - self.assertEqual({c.name for c in project.contributors}, expected_names) - # noinspection PyDeprecation - self.assertEqual({c.contact_name for c in project.contributors}, expected_names) - - assert_bundle() - - for contributor in metadata[f'project/{project_id}']['contributors']: - self._rename_keys(contributor, name='contact_name') - - assert_bundle() - - def test_file_format(self): - uuid = '6b498499-c5b4-452f-9ff9-2318dbb86000' - version = '2019-01-03T163633.780215Z' - manifest, metadata, links = self._canned_bundle('prod', uuid, version) - - def assert_bundle(): - bundle = Bundle(uuid, version, manifest, metadata, links) - self.assertEqual(len(bundle.files), 6) - for file in bundle.files.values(): - if isinstance(file, SequenceFile): - self.assertEqual(file.format, 'fastq.gz') - if isinstance(file, SupplementaryFile): - self.assertEqual(file.format, 'pdf') - # noinspection PyDeprecation - self.assertEqual(file.format, file.file_format) - - assert_bundle() - - for ref, file_content in metadata.items(): - if EntityReference.parse(ref).entity_type in {'sequence_file', 'supplementary_file_'}: - self._rename_keys(file_content['file_core'], format='file_format') - - assert_bundle() - - def test_link_destination_type(self): - uuid = '6b498499-c5b4-452f-9ff9-2318dbb86000' - version = '2019-01-03T163633.780215Z' - manifest, metadata, links = self._canned_bundle('prod', uuid, version) - - def assert_bundle(): - bundle = Bundle(uuid, version, manifest, metadata, links) - destination_types = {link.destination_type for link in bundle.links} - expected_types = { - 'library_preparation_protocol', - 'sequencing_protocol', - 'dissociation_protocol', - 'differentiation_protocol', - 'ipsc_induction_protocol', - 'biomaterial', - 'process', - 'file' - } - self.assertEqual(destination_types, expected_types) - - assert_bundle() - - for link in links['links']: - for protocol in link['protocols']: - self._rename_keys(protocol, type='protocol_type') - - assert_bundle() - - def test_missing_mandatory_checksums(self): - uuid = '404f9663-21c6-49ff-afd0-8cfeff816949' - checksums = [] - cases = [{}, {'crc32c': None}, {'crc32c': 'a'}, {'crc32c': 'a', 'sha1': None}] - for case in cases: - with self.assertRaises(TypeError) as cm: - Bundle(uuid=uuid, - version='', - manifest={ - '': { - 'uuid': uuid, - 'version': '', - 'name': '', - 'size': 0, - 'indexed': True, - 'content-type': '', - **case - } - }, - metadata={}, - links_json={}) - self.assertEqual(cm.exception.args[0], 'Property cannot be absent or None') - checksums.append(cm.exception.args[1]) - self.assertEqual(['crc32c', 'crc32c', 'sha256', 'sha256'], checksums) - - def test_name_substitution(self): - uuid = 'ffee7f29-5c38-461a-8771-a68e20ec4a2e' - version = '2019-02-02T065454.662896Z' - manifest, metadata, links = self._canned_bundle('prod', uuid, version) - - files_before = [f['name'] for f in manifest.values()] - with_bang_before = set(f for f in files_before if '!' in f) - expected_bang_before = { - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!.zattrs', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!.zgroup', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_id!.zarray', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_id!0', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric!.zarray', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric!0.0', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric_name!.zarray', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_numeric_name!0', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string!.zarray', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string!0.0', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string_name!.zarray', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!cell_metadata_string_name!0', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!expression!.zarray', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!expression!0.0', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!gene_id!.zarray', - '9ea49dd1-7511-48f8-be12-237e3d0690c0.zarr!gene_id!0', - } - self.assertEqual(expected_bang_before, with_bang_before) - with_slash_before = set(f for f in files_before if '/' in f) - self.assertEqual(set(), with_slash_before) - - bundle = Bundle(uuid, version, manifest, metadata, links) - - expected_slash_after = set(f1.replace('!', '/') for f1 in with_bang_before) - entity_json_file_names = set(e.json['file_core']['file_name'] - for e in bundle.entities.values() - if isinstance(e, (AnalysisFile, SequenceFile))) - for files_after in {e.name for e in bundle.manifest.values()}, entity_json_file_names: - with_bang_after = set(f1 for f1 in files_after if '!' in f1) - self.assertEqual(set(), with_bang_after) - with_slash_after = set(f1 for f1 in files_after if '/' in f1) - self.assertEqual(expected_slash_after, with_slash_after) - - -class TestSchema(AzulUnitTestCase): - - def _entity_json(self, schema_domain: str) -> JSON: - return { - 'content': { - 'describedBy': f'https://{schema_domain}/type/protocol/7.1.0/protocol', - 'protocol_core': { - 'protocol_id': 'test-protocol' - }, - 'schema_type': 'protocol' - }, - 'hca_ingest': { - 'document_id': '7f91c388-0197-4c55-bf62-1e8268951e03', - 'submissionDate': '2024-01-01T00:00:01.000Z', - } - } - - def test_valid_schema_domain(self): - json_body = self._entity_json(schema_domain='schema.humancellatlas.org') - protocol = Protocol.from_json(json_body) - self.assertIsInstance(protocol, Protocol) - - def test_invalid_schema_domain(self): - json_body = self._entity_json(schema_domain='foo.humancellatlas.org') - with self.assertRaises(AssertionError) as cm: - Protocol.from_json(json_body) - expected = ( - 'Unexpected schema domain', - furl('https://foo.humancellatlas.org/type/protocol/7.1.0/protocol'), - self.valid_schema_domains - ) - self.assertEqual(expected, cm.exception.args[0].args) - - def test_schema_validation(self): - validator = SchemaValidator() - test_data = { - 'describedBy': 'https://schema.humancellatlas.org/type/file/9.6.0/sequence_file', - 'schema_type': 'file', - 'file_core': {'file_name': 'foo.fastq.gz', 'format': 'fastq.gz'}, - 'read_index': 'read1', - } - validator.validate_json(test_data, 'foo.json') - - test_data['read_index'] = 'bad-value' - with self.assertRaises(AssertionError) as cm: - validator.validate_json(test_data, 'foo.json') - self.assertTrue(R.caused(cm.exception)) - - -def load_tests(_loader, tests, _ignore): - modules = ( - 'humancellatlas.data.metadata.age_range', - 'humancellatlas.data.metadata.api', - 'humancellatlas.data.metadata.datetime', - 'humancellatlas.data.metadata.lookup', - ) - for module in modules: - tests.addTests(doctest.DocTestSuite(module)) - return tests diff --git a/test/health_check_test_case.py b/test/health_check_test_case.py deleted file mode 100644 index a8ef810bb8..0000000000 --- a/test/health_check_test_case.py +++ /dev/null @@ -1,303 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from contextlib import ( - contextmanager, -) -import os -import random -import time -from typing import ( - ContextManager, -) -from unittest import ( - TestSuite, -) -from unittest.mock import ( - MagicMock, - patch, -) - -from furl import ( - furl, -) -from moto import ( - mock_aws, -) -import requests -import responses - -from app_test_case import ( - LocalAppTestCase, -) -from azul import ( - config, -) -from azul.health import ( - Health, -) -from azul.logging import ( - configure_test_logging, -) -from azul.modules import ( - load_app_module, -) -from azul.types import ( - MutableJSON, -) -from es_test_case import ( - ElasticsearchTestCase, -) -from service import ( - StorageServiceTestCase, -) -from sqs_test_case import ( - SqsTestCase, -) - - -# FIXME: This is inelegant: https://github.com/DataBiosphere/azul/issues/652 -# noinspection PyUnusedLocal -def load_tests(loader, tests, pattern): - suite = TestSuite() - return suite - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class HealthCheckTestCase(LocalAppTestCase, - ElasticsearchTestCase, - StorageServiceTestCase, - SqsTestCase, - metaclass=ABCMeta): - - def test_basic(self): - response = requests.get(str(self.base_url.set(path='/health/basic'))) - self.assertEqual(200, response.status_code) - self.assertEqual({'up': True}, response.json()) - - def test_validation(self): - for path in ['foo', 'elasticsearch,', ',elasticsearch', ',', '1']: - response = requests.get(str(self.base_url.set(path=('health', path)))) - self.assertEqual(400, response.status_code) - - @mock_aws - def test_health_all_ok(self): - self._create_mock_queues() - with self._mock(): - response = self._test('/health/') - self.assertEqual(200, response.status_code) - self.assertEqual({ - 'up': True, - **self._expected_elasticsearch(up=True), - **self._expected_queues(up=True), - **self._expected_other_lambdas(up=True), - **self._expected_api_endpoints(up=True), - **self._expected_progress() - }, response.json()) - - @mock_aws - def test_health_endpoint_keys(self): - expected = { - keys: { - 'up': True, - **expected_response - } for keys, expected_response in [ - ('elasticsearch', self._expected_elasticsearch(up=True)), - ('queues', self._expected_queues(up=True)), - ('other_lambdas', self._expected_other_lambdas(up=True)), - ('api_endpoints', self._expected_api_endpoints(up=True)), - ('progress', self._expected_progress()), - ('progress,queues', self._expected_progress() | self._expected_queues(up=True)), - ] - } - self._create_mock_queues() - for keys, expected_response in expected.items(): - with self.subTest(keys=keys): - with self._mock(): - response = self._test(f'health/{keys}') - self.assertEqual(200, response.status_code) - self.assertEqual(expected_response, response.json()) - - @mock_aws - def test_cached_health(self): - # No health object is available in S3 bucket, yielding an error - with self._mock(): - response = self._test('/health/cached') - self.assertEqual(404, response.status_code) - expected_response = { - 'Code': 'NotFoundError', - 'Message': 'Cached health object does not exist' - } - self.assertEqual(expected_response, response.json()) - - # A successful response is obtained when all the systems are functional - self._create_mock_queues() - app = load_app_module(self.lambda_name()) - with self._mock(): - app.update_health_cache(MagicMock(), MagicMock()) - response = self._test('/health/cached') - self.assertEqual(200, response.status_code) - - # Another failure is observed when the cache health object is older than - # 2 minutes - future_time = time.time() + 3 * 60 - with patch('time.time', new=lambda: future_time): - with self._mock(): - response = self._test('/health/cached') - self.assertEqual(500, response.status_code) - expected_response = { - 'Code': 'ChaliceViewError', - 'Message': 'Cached health object is stale' - } - self.assertEqual(expected_response, response.json()) - - def test_laziness(self): - # Note the absence of moto decorators on this test. - # If Health weren't lazy, it would fail due the lack of mocks for SQS. - with self._mock(): - response = self._test('/health/other_lambdas') - # The use of subTests ensures that we see the result of both - # assertions. In the case of the health endpoint, the body of a 503 - # may carry a body with additional information. - self.assertEqual(200, response.status_code) - expected_response = {'up': True, **self._expected_other_lambdas(up=True)} - self.assertEqual(expected_response, response.json()) - - @abstractmethod - def _expected_health(self, - *, - endpoints_up: bool = True, - es_up: bool = True - ) -> MutableJSON: - raise NotImplementedError - - @mock_aws - def test_elasticsearch_down(self): - self._create_mock_queues() - mock_endpoint = ('7c9f2ddb-74ca-46a3-9438-24ce1fe7050e.com', 80) - with patch.dict(os.environ, **config.es_endpoint_env(es_endpoint=mock_endpoint, - es_instance_count=1)): - with self._mock(): - response = self._test('/health/fast') - self.assertEqual(503, response.status_code) - self.assertEqual(self._expected_health(es_up=False), response.json()) - - def _expected_queues(self, *, up: bool) -> MutableJSON: - return { - 'queues': { - 'up': up, - **({ - queue_name: { - 'up': True, - 'messages': { - 'delayed': 0, 'invisible': 0, 'queued': 0 - } - } if up else { - 'up': False, - 'error': 'The specified queue does not exist.' - } - for queue_name in config.all_queue_names - }) - } - } - - def _expected_api_endpoints(self, *, up: bool) -> MutableJSON: - return { - 'api_endpoints': { - 'up': up - } if up else { - 'up': up, - 'error': ( - "HTTPError('503 Server Error: " - "Service Unavailable for url: " - f"{self._endpoint('/index/bundles?size=1')}')" - ) - } - } - - def _endpoint(self, relative_url: str) -> str: - return str(config.service_endpoint.join(furl(relative_url))) - - def _other_lambda_names(self) -> list[str]: - return [ - lambda_name - for lambda_name in config.lambda_names() - if lambda_name != self.lambda_name() - ] - - def _expected_other_lambdas(self, *, up: bool) -> MutableJSON: - return { - 'other_lambdas': { - 'up': up, - **{ - lambda_name: { - 'up': up - } - for lambda_name in self._other_lambda_names() - } - } - } - - def _expected_progress(self) -> MutableJSON: - return { - 'progress': { - 'up': True, - 'unindexed_bundles': 0, - 'unindexed_documents': 0 - } - } - - def _expected_elasticsearch(self, *, up: bool) -> MutableJSON: - return { - 'elasticsearch': { - 'up': up - } - } - - @contextmanager - def _mock(self, *, endpoints_up: bool = True, lambdas_up: bool = True): - with self.helper() as helper: - self._mock_other_lambdas(helper, up=lambdas_up) - with self._mock_service_endpoints(helper, up=endpoints_up): - yield - - def _test(self, path: str) -> requests.Response: - return requests.get(str(self.base_url.set(path=path))) - - def helper(self): - helper = responses.RequestsMock() - helper.add_passthru(str(self.base_url)) - # We originally shared the Requests mock with Moto which had this set - # to False. Because of that, and without noticing, we ended up mocking - # more responses than necessary for some of the tests. Instead of - # rewriting the tests to only mock what is actually used, we simply - # disable the assertion, just like Moto did. - helper.assert_all_requests_are_fired = False - return helper - - def _mock_service_endpoints(self, - helper: responses.RequestsMock, - *, - up: bool - ) -> ContextManager: - helper.add(responses.Response(method='HEAD', - url=self._endpoint('/index/bundles?size=1'), - status=200 if up else 503, - json={})) - # Patching the Health class to use a random generator with a pinned - # seed allows us to predict the service endpoint that will be picked - # to check the health of the service REST API. - return patch.object(Health, '_random', random.Random(x=42)) - - def _mock_other_lambdas(self, helper: responses.RequestsMock, *, up: bool): - for lambda_name in self._other_lambda_names(): - url = config.lambda_endpoint(lambda_name).set(path='/health/basic') - helper.add(responses.Response(method='GET', - url=str(url), - status=200 if up else 500, - json={'up': up})) diff --git a/test/indexer/__init__.py b/test/indexer/__init__.py deleted file mode 100644 index 1871de3bf7..0000000000 --- a/test/indexer/__init__.py +++ /dev/null @@ -1,337 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -import json -from pathlib import ( - Path, -) -from typing import ( - ClassVar, - Literal, - Optional, - Type, - Union, - cast, -) - -from more_itertools import ( - one, -) -from opensearchpy.helpers import ( - scan, -) - -from azul import ( - CatalogName, - config, -) -from azul.es import ( - ESClientFactory, -) -from azul.indexer import ( - Bundle, - BundleFQID, - SourcedBundleFQID, -) -from azul.indexer.document import ( - DocumentType, - IndexName, -) -from azul.indexer.index_service import ( - IndexService, - IndexWriter, -) -from azul.plugins import ( - FieldPath, -) -from azul.plugins.repository.dss import ( - DSSBundle, - DSSBundleFQID, -) -from azul.plugins.repository.tdr import ( - TDRBundleFQID, -) -from azul.plugins.repository.tdr_anvil import ( - BundleType, - TDRAnvilBundle, - TDRAnvilBundleFQID, -) -from azul.plugins.repository.tdr_hca import ( - TDRHCABundle, -) -from azul.types import ( - AnyJSON, - JSON, - JSONs, - MutableJSON, - MutableJSONs, -) -from azul_test_case import ( - AnvilTestCase, - AzulUnitTestCase, - CatalogTestCase, - DCP1TestCase, - DCP2TestCase, -) -from es_test_case import ( - ElasticsearchTestCase, -) - - -class ForcedRefreshIndexService(IndexService): - - def _create_writer(self, - doc_type: DocumentType, - catalog: Optional[CatalogName] - ) -> IndexWriter: - writer = super()._create_writer(doc_type, catalog) - # With a single client thread, refresh=True is faster than - # refresh="wait_for". The latter would limit the request rate to - # 1/refresh_interval. That's only one request per second with - # refresh_interval being 1s. - writer.refresh = True - return writer - - -class CannedFileTestCase(AzulUnitTestCase): - """ - A test case that loads JSON cans. A can is a file containing test inputs or - expected outputs. - """ - - @classmethod - def _data_path(cls, module: Literal['service', 'indexer'], *path: str) -> Path: - return Path(config.project_root).joinpath('test', module, 'data', *path) - - @classmethod - def _load_canned_file(cls, - bundle: BundleFQID, - extension: str - ) -> Union[MutableJSONs, MutableJSON]: - def load(version): - return cls._load_canned_file_version(uuid=bundle.uuid, - version=version, - extension=extension) - - try: - return load(bundle.version) - except FileNotFoundError: - return load(None) - - @classmethod - def _load_canned_file_version(cls, - *, - uuid: str, - version: Optional[str], - extension: str - ) -> Union[MutableJSONs, MutableJSON]: - suffix = '' if version is None else '.' + version - file_name = f'{uuid}{suffix}.{extension}.json' - with open(cls._data_path('indexer', file_name), 'r') as infile: - return json.load(infile) - - -class CannedBundleTestCase[BUNDLE: Bundle](CannedFileTestCase): - """ - A test case that loads a canned bundle, i.e. a can containing the input to - tests involving a metadata plugin or the expected output of tests involving - a repository plugin. - """ - - @classmethod - @abstractmethod - def _bundle_cls(cls) -> Type[BUNDLE]: - raise NotImplementedError - - @classmethod - def _load_canned_bundle(cls, fqid: SourcedBundleFQID) -> BUNDLE: - bundle_cls = cls._bundle_cls() - bundle_json = cls._load_canned_file(fqid, bundle_cls.canning_qualifier()) - bundle_json['fqid'] = fqid.to_json() - bundle = bundle_cls.from_json(bundle_json) - assert bundle.fqid == fqid - return bundle - - -class DCP1CannedBundleTestCase(DCP1TestCase, CannedBundleTestCase[DSSBundle]): - - @classmethod - def _bundle_cls(cls) -> Type[DSSBundle]: - return DSSBundle - - @classmethod - def bundle_fqid(cls, *, uuid: str, version: str) -> DSSBundleFQID: - return DSSBundleFQID(source=cls.source, - uuid=uuid, - version=version) - - -class DCP2CannedBundleTestCase(DCP2TestCase, CannedBundleTestCase[TDRHCABundle]): - - @classmethod - def _bundle_cls(cls) -> Type[TDRHCABundle]: - return TDRHCABundle - - @classmethod - def bundle_fqid(cls, *, uuid: str, version: str) -> TDRBundleFQID: - return TDRBundleFQID(source=cls.source, - uuid=uuid, - version=version) - - -class AnvilCannedBundleTestCase(AnvilTestCase, CannedBundleTestCase[TDRAnvilBundle]): - #: AnVIL doesn't use versioning and all versions are fixed - version = '2022-06-01T00:00:00.000000Z' - - @classmethod - def _bundle_cls(cls) -> Type[TDRAnvilBundle]: - return TDRAnvilBundle - - @classmethod - def bundle_fqid(cls, - *, - uuid: str, - table_name: str = BundleType.primary.value, - ) -> TDRAnvilBundleFQID: - return TDRAnvilBundleFQID(source=cls.source, - uuid=uuid, - version=cls.version, - table_name=table_name, - batch_prefix='' if BundleType.is_batched(table_name) else None) - - -class IndexerTestCase(CatalogTestCase, - ElasticsearchTestCase, - CannedBundleTestCase, - metaclass=ABCMeta): - index_service: ClassVar[IndexService | None] = None - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls.index_service = ForcedRefreshIndexService() - - @classmethod - def _purge_indices(cls): - """ - Deletes everything and is faster than deleting indices individually - through the service. - """ - es = ESClientFactory.get() - es.indices.delete(index='*') - - def _get_all_hits(self): - # Without `preserve_order`, hits are sorted by `_doc`, which is fastest - # but causes the `sort` field in hits to vary unpredictably, based on - # the number of shards, for example, but also under what appear to be - # unrelated code changes. This makes asserting test results verbatim - # impossible. Thus we set `preserve_order` to True. - hits = list(scan(client=self.es_client, - index=','.join(map(str, self.index_service.index_names(self.catalog))), - preserve_order=True)) - - def is_duos_contribution(entity_type, doc_type): - return ( - config.is_anvil_enabled(self.catalog) - and entity_type in {'bundles', 'datasets'} - and doc_type is DocumentType.contribution - and 'description' in one(hit['_source']['contents']['datasets']) - ) - - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - if not ( - # Replicas may contain (intentionally) unsorted metadata - doc_type is DocumentType.replica - # DUOS contributions contain no lists - or is_duos_contribution(qualifier, doc_type) - ): - self._verify_sorted_lists(hit['_source']) - return hits - - def _parse_index_name(self, hit) -> tuple[str, DocumentType]: - index_name = IndexName.parse(hit['_index']) - index_name.validate() - return index_name.qualifier, index_name.doc_type - - def _load_canned_result(self, bundle_fqid: BundleFQID) -> MutableJSONs: - """ - Load the canned index documents for the given canned bundle and fix the - '_index' entry in each to match the index name in the current deployment - """ - expected_hits = self._load_canned_file(bundle_fqid, 'results') - assert isinstance(expected_hits, list) - for hit in expected_hits: - index_name = IndexName.parse(hit['_index']) - index_name = IndexName.create(catalog=self.catalog, - qualifier=index_name.qualifier, - doc_type=index_name.doc_type) - hit['_index'] = str(index_name) - return expected_hits - - @classmethod - def _index_canned_bundle(cls, - bundle_fqid: SourcedBundleFQID, - *, - delete=False - ) -> Bundle: - bundle = cls._load_canned_bundle(bundle_fqid) - cls._index_bundle(bundle, delete=delete) - return bundle - - @classmethod - def _index_bundle(cls, bundle: Bundle, *, delete: bool = False) -> None: - if delete: - cls.index_service.delete(cls.catalog, bundle) - else: - cls.index_service.index(cls.catalog, bundle) - - def _verify_sorted_lists(self, data: AnyJSON): - """ - Traverse through an index document or service response to verify all - lists of primitives are sorted. Fails if no lists to check are found. - """ - - def verify_sorted_lists(data: AnyJSON, path: FieldPath = ()) -> int: - if isinstance(data, dict): - return sum(verify_sorted_lists(val, (*path, key)) - for key, val in cast(JSON, data).items()) - elif isinstance(data, list): - if data: - if isinstance(data[0], dict): - return sum(verify_sorted_lists(v, (*path, k)) - for val in cast(JSONs, data) - for k, v in val.items()) - elif isinstance(data[0], (type(None), bool, int, float, str)): - # FIXME: Field types don't express ordering requirements - # https://github.com/DataBiosphere/azul/issues/4664 - ordered_fields = { - 'laboratory', - 'institutions', - 'contact_names', - 'publication_titles' - } - if path[-2] == 'projects' and path[-1] in ordered_fields: - return 0 - else: - self.assertEqual(data, sorted(data, key=lambda x: (x is None, x))) - return 1 - elif isinstance(data[0], list): - # In lieu of tuples, a range in JSON is a list of two values - def pair(t: tuple) -> list: - return list(t) - - self.assertEqual(data, list(map(pair, sorted(map(tuple, data))))) - return 1 - else: - assert False, str(type(data[0])) - else: - return 0 - elif isinstance(data, (type(None), bool, int, float, str)): - return 0 - else: - assert False, str(type(data)) - - num_lists_counted = verify_sorted_lists(data) - self.assertGreater(num_lists_counted, 0) diff --git a/test/indexer/data/00f48893-5e9d-52cd-b32d-af88edccabfa.dss.hca.json b/test/indexer/data/00f48893-5e9d-52cd-b32d-af88edccabfa.dss.hca.json deleted file mode 100644 index 11f6fa1851..0000000000 --- a/test/indexer/data/00f48893-5e9d-52cd-b32d-af88edccabfa.dss.hca.json +++ /dev/null @@ -1,4253 +0,0 @@ -{ - "manifest": { - "sequence_file/e0efcd8d-8433-4b40-9eee-11dafb699a5a": { - "name": "Retina_Wong_scRNA_Sample5_I1.fastq.gz", - "uuid": "07b45ad4-7797-4c16-bfae-493fb41d6600", - "version": "2019-09-13T09:16:27.260339Z", - "content-type": "application/gzip; dcp-type=data", - "size": 847438091, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b9549f9f-d892-4093-93fd-197d02ec7c97", - "crc32c": "0292db90", - "sha1": "37b36efd183adba3577bbe6c2e64a7b00b08b6cf", - "sha256": "cc6bf034743ed5bf781320deeceb119b4584a7854d922b59f05392d6cd5cc737", - "s3_etag": "b9223d5e376a061971bd23fb78e25fd8-13" - }, - "sequence_file/6d52232d-dc77-4070-bdb1-9bb0ee59d309": { - "name": "Retina_Wong_scRNA_Sample5_R1.fastq.gz", - "uuid": "09eb8fc6-9e27-4f08-87c5-bfccf918ee12", - "version": "2019-09-13T09:16:28.234453Z", - "content-type": "application/gzip; dcp-type=data", - "size": 3115598454, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7f4c7463-76d0-4f3a-a690-e93369ada2e9", - "crc32c": "24d98de6", - "sha1": "16ba78b49cfeddddb37a00d9873099bb01b5b8b9", - "sha256": "62495704a4bb9a99543fd2143ec577d7b4c106c57b7de37d5c8ed9e002152e5d", - "s3_etag": "e3b61e35217b7ed1526704c92446e18a-47" - }, - "sequence_file/30040306-be5c-48f9-b221-e666e279ab5b": { - "name": "Retina_Wong_scRNA_Sample4_I1.fastq.gz", - "uuid": "1985c53a-b78f-4d9e-9563-dffed8207efd", - "version": "2019-09-13T09:16:23.710869Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1110577684, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cd7ace86-c1f9-4c36-8ba0-078520babe83", - "crc32c": "3f0921bb", - "sha1": "d66799b111293bf727bca4956c419fcc3341f538", - "sha256": "fbb183a7608f5c4b98e0d9a2f4f77b843d24dcd727f0d5e4ea8111de7d9b22b2", - "s3_etag": "f393918b58d786a89c467455152aa66e-17" - }, - "analysis_file/7a96a0c2-e22a-57ad-ac46-4c2433a63d94": { - "name": "262f55a3-d03d-49ae-8080-1a6208fddb4f.bam", - "uuid": "20329887-aab3-55fb-ba2c-e3eb27a20f6d", - "version": "2021-02-03T20:52:24.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 26511968866, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5fcadd72-ba4a-4571-a1c4-5d4d3aeef8b5", - "crc32c": "c844464d", - "sha256": "7a1ae83ca759edadf571751156b4482f592bda1224ae3bf8c7baccd1a2373b80" - }, - "sequence_file/f6407a7a-eecc-4735-a96a-b8bb634118e4": { - "name": "Retina_Wong_scRNA_Sample2_I1.fastq.gz", - "uuid": "27622c20-c017-4a98-b62c-76035758bc09", - "version": "2019-09-13T09:16:27.588981Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2219396571, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_bfb499b5-2323-4fcf-a8b0-38ad5a885576", - "crc32c": "fce36c7d", - "sha1": "559dfca5a88c303fb6e31fa9b6c06b06fe67e00d", - "sha256": "4d2a000eb5fe6eac0926812796794f265f1a1438346c30a2d459ddd3a0f3362c", - "s3_etag": "0f3a2d1294d0e1cb0a2f504adc2aefaf-34" - }, - "sequence_file/b01b2e61-3ebd-48cc-b071-f2e8cb42ff7c": { - "name": "Retina_Wong_scRNA_Sample1_I1.fastq.gz", - "uuid": "39ae3998-72a4-41ba-b00f-526bfecb8ca2", - "version": "2019-09-13T09:16:26.837580Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2138914697, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c2fbaabe-13b9-44ce-82a0-7c98360ac75f", - "crc32c": "f549d920", - "sha1": "05b544255eccdacdfe433569a0b28826cb3e18c1", - "sha256": "979ff8bf675f4a3d56bb83e80e64641656bbfd1b7bfc805023445cf53fdd5450", - "s3_etag": "ad7a88538e8a9c00b6d904c7eb00318c-32" - }, - "analysis_file/43598186-06cd-5f4b-95d9-fecb0a35d3ab": { - "name": "ad220152-0eb4-4f85-a03e-c7e81ea3f167.bam", - "uuid": "3ac6d370-c10b-54a2-a1ed-52f661aae1d7", - "version": "2021-02-03T20:52:32.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 26831853703, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_591d4cef-47cf-4bfb-9334-88220e7cdc60", - "crc32c": "f82a27d8", - "sha256": "874aaeeaf5d963df1fdc30a399250427873d5594457eece6603ae5f085930320" - }, - "sequence_file/15f64718-69cf-462c-9704-e8a1f54c27c8": { - "name": "Retina_Wong_scRNA_Sample3_R2.fastq.gz", - "uuid": "3e2b02f8-5b3b-4ab2-8ef4-7ae8a856854e", - "version": "2019-09-13T09:16:27.026166Z", - "content-type": "application/gzip; dcp-type=data", - "size": 9531866142, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_799febcc-e9a4-4bb2-9c77-bdcf327c3905", - "crc32c": "a837186f", - "sha1": "947925ae25d2b71b8fccf895a71a76e37ed1eb78", - "sha256": "33ed54a5916930322b59f2e66ef840b7ae347da5fdec6a2443e5dceeb577b8a9", - "s3_etag": "7d5599e41f686131c8d7da5b5f69f80f-143" - }, - "sequence_file/a7b21a25-e76e-420d-8892-538062bfefbf": { - "name": "Retina_Wong_scRNA_Sample3_R1.fastq.gz", - "uuid": "3e3505f9-4f47-402f-bfb8-960af07f91da", - "version": "2019-09-13T09:16:26.831163Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2845965046, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2830c506-de2e-4f68-8b95-5b6f5ac4b54d", - "crc32c": "7eb38813", - "sha1": "e5d842ef311aef51880854af2dfb86220c07dcdf", - "sha256": "d06f4c866cb6f475692f322ae7415a188ae13fc3c37965daa101f73b425a8a47", - "s3_etag": "fd9244e048c7d9e1f63f113736701ed5-43" - }, - "analysis_file/a7915c55-1d80-5724-9c81-6dd0a9130361": { - "name": "262f55a3-d03d-49ae-8080-1a6208fddb4f.loom", - "uuid": "4b611790-d17b-5938-86c4-695480abb4ef", - "version": "2021-02-03T21:06:32.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 776280864, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a15219d7-6a71-4827-8337-5bd42816a568", - "crc32c": "a9fb633c", - "sha256": "3acf571a7329dece2fa69d92663bf6ea1cfe662b22e0ac8ab46b89ea8b1b5ba8" - }, - "sequence_file/9f8f5212-0749-460b-9a46-2949dea45d52": { - "name": "Retina_Wong_scRNA_Sample4_R2.fastq.gz", - "uuid": "5140b603-8cc1-4566-9043-e68145efbbd6", - "version": "2019-09-13T09:16:24.192766Z", - "content-type": "application/gzip; dcp-type=data", - "size": 9820193406, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7b607ae7-1136-41f7-937e-ea2c3015a949", - "crc32c": "3c380752", - "sha1": "b4c85dfc7a775102fac6b43394739dca6ff90e14", - "sha256": "76f22d617806fffc64137ef2449e1e827a6d889c0b8e6fc0e38274f68c9f556d", - "s3_etag": "012e21be88b6293dfc864c018f67ccf5-147" - }, - "analysis_file/d90280cc-a294-57de-b350-5234a5278c19": { - "name": "1116b396-448e-4dd1-b9c9-78357c511e15.loom", - "uuid": "5a11ed4f-41d1-53b4-9e62-3c0bbd04b4b0", - "version": "2021-02-03T21:08:31.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1016626791, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_55cb0c0b-e617-491a-b055-a7cd1a438c96", - "crc32c": "9d1f0a8c", - "sha256": "733a4a7db49e1ef08a7f5631f3e658f49233c1d468d6d3da0a3f7c02621fab27" - }, - "sequence_file/52149e21-dcd2-4288-a5eb-e526c3dcf745": { - "name": "Retina_Wong_scRNA_Sample5_R2.fastq.gz", - "uuid": "5ceca6a5-2bc0-4b38-908b-01d4fec71d9f", - "version": "2019-09-13T09:16:28.462542Z", - "content-type": "application/gzip; dcp-type=data", - "size": 12676468570, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_16af29e4-8b77-4d44-b6f0-39403e4bf6ea", - "crc32c": "093721b6", - "sha1": "52cf67253815b9a37ff0c30a0b5df605e0f826cc", - "sha256": "46cc1e1fdd748e40227ccbb1eabd5f6456c7ef31faa934cbcb68a0707cb25427", - "s3_etag": "a32e912ba25ab2702a47e31082806ee5-189" - }, - "analysis_file/b949e4b6-c3fb-58b4-865b-40cb3ef2b6c6": { - "name": "1116b396-448e-4dd1-b9c9-78357c511e15.bam", - "uuid": "640e64f1-6ada-5d12-a772-fe4ed4eeecea", - "version": "2021-02-03T20:52:27.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 13010167180, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4bc6a861-4ecb-4758-ba27-8326821d6be5", - "crc32c": "2ad80e5f", - "sha256": "45e831be417a5bbf75b7d0a0a1a024ac9d9f22971115fd56f5b0e5b346e87a71" - }, - "analysis_file/70ff6783-333f-5c1b-8208-3b495df95620": { - "name": "8b81f0c2-3b57-4072-8a10-c169fece543e.bam", - "uuid": "76fc7a86-572e-5e00-ac87-b55d81a8515d", - "version": "2021-02-03T20:52:29.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 12572677836, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ae7ba5e9-3f9b-449f-9fc1-5d52226ce8fe", - "crc32c": "a8427ce7", - "sha256": "7098a7b9661d3be54f376c0e8b63ec7efbf2bf88ec389b79efbd7956f930519d" - }, - "sequence_file/39255288-6791-45b0-ac7e-b3ef4c981a3b": { - "name": "Retina_Wong_scRNA_Sample4_R1.fastq.gz", - "uuid": "79f589cb-32a2-4ba6-a091-7c5d820d02df", - "version": "2019-09-13T09:16:23.982952Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2950925436, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_96e58cce-a961-48c5-b4fd-84f4e994e10a", - "crc32c": "068824ae", - "sha1": "da3a5a63315c5c3e8f24e2f59d291ee1923306f8", - "sha256": "bb61a115aed93057cbd1dc8fb08e68ed5615cc8dc926a9b3336ea0ad58eef648", - "s3_etag": "be870140031523af537bbb3861fff77e-44" - }, - "analysis_file/4c866eb3-7470-5ee8-91b9-942246f19fde": { - "name": "2f8a07c2-4a6b-47ac-a304-0dead66eee9e.bam", - "uuid": "820c396e-248b-5b4e-91b9-d7801cd9725f", - "version": "2021-02-03T20:52:12.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 15412634970, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6e60265d-6c02-44bb-80e1-e6158592353a", - "crc32c": "a068a3b9", - "sha256": "1ef67647e5113fcbebbf04fa7e57aaa220ae35229a9f28af289708ab4c975298" - }, - "analysis_file/bc111cd3-bf54-57ce-8af1-88f5997a0a9d": { - "name": "ad220152-0eb4-4f85-a03e-c7e81ea3f167.loom", - "uuid": "98ab4428-d66a-57b7-a802-83fdec68d744", - "version": "2021-02-03T21:06:08.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 806647102, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_65f4713e-e622-4204-ba56-4e24350ac6db", - "crc32c": "72dc7f49", - "sha256": "c9f957119f9a7d5f7b05d338ea622a7c6f1384bcf6e72d290f1f7738df8f3f86" - }, - "sequence_file/6bd884d2-fccf-4227-8efc-184751527dfb": { - "name": "Retina_Wong_scRNA_Sample2_R1.fastq.gz", - "uuid": "9d720856-425d-404f-bb5b-51c225e92dd6", - "version": "2019-09-13T09:16:27.766043Z", - "content-type": "application/gzip; dcp-type=data", - "size": 6042475560, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_08aeefd9-3ae6-4b9e-b95d-05129fd54f43", - "crc32c": "f3a599fa", - "sha1": "9548f4cf5ddadcb1cc004995aac5b84dc1e08774", - "sha256": "705302cc9b0e08a951d2cca198da496da212426e3f69153381245bbd9cbc2e20", - "s3_etag": "8276b9dd2ef8b1174cb233d0aaf0f63a-91" - }, - "analysis_file/f51568e8-b84c-504b-82f0-3ad5975d4bcb": { - "name": "2f8a07c2-4a6b-47ac-a304-0dead66eee9e.loom", - "uuid": "a301dcb4-6a8f-5ef8-af7e-6a9fe44058e8", - "version": "2021-02-03T21:12:10.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 639715445, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_97429722-fa8d-4e23-b7a8-9bce9f6dafab", - "crc32c": "3b799574", - "sha256": "285d82ac997f24fcd3543a47407bb84ed18babeb0186ecda4b3b208ba98e7a09" - }, - "sequence_file/799f314f-7c6c-4981-be36-8e1310bf38e6": { - "name": "Retina_Wong_scRNA_Sample3_I1.fastq.gz", - "uuid": "ad5fed6e-b0e1-40a0-82e8-0cfc2eca0786", - "version": "2019-09-13T09:16:26.425735Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1071829396, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5c7817ba-9ebe-4ee4-adf4-7e377576c709", - "crc32c": "de18d088", - "sha1": "106881ceba786c5a631ff6797286ce33ee22ebff", - "sha256": "700d3f3197a2f3f24273ab664dfa8e06c7a97ee8108c09b01de9e85f04f5390d", - "s3_etag": "fbb100a856afca4d91f70afb015c2b5b-16" - }, - "sequence_file/1016adeb-cdc3-47d6-a89e-771c763dd2e7": { - "name": "Retina_Wong_scRNA_Sample2_R2.fastq.gz", - "uuid": "b9ab7f46-071a-48cf-bc7f-fdb9c8dd0c22", - "version": "2019-09-13T09:16:27.945734Z", - "content-type": "application/gzip; dcp-type=data", - "size": 20962104505, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2b407a11-dc22-4313-a523-f0cd6387bd13", - "crc32c": "b844e997", - "sha1": "961fba6d9a0c6f4165e42156761068bbb4605d03", - "sha256": "ba581a5282522ad15266c7843b1d18181e923c44f6ad9840184842af252e8f10", - "s3_etag": "e2d161f5590706c0128c1aa41cc9b3eb-313" - }, - "analysis_file/fec17064-9014-50b0-9e1a-dfaef2fbb4fc": { - "name": "wong-retina-human-eye-10XV2.loom", - "uuid": "bd98f428-881e-501a-ac16-24f27a68ce2f", - "version": "2021-02-11T23:11:45.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 255471211, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b4cdcc6c-15ea-4f43-a872-0d2fc7db6fd8", - "crc32c": "d1b06ce5", - "sha256": "6a6483c2e78da77017e912a4d350f141bda1ec7b269f20ca718b55145ee5c83c" - }, - "analysis_file/759bad57-b725-5346-b3ff-9fb80b27cfe7": { - "name": "8b81f0c2-3b57-4072-8a10-c169fece543e.loom", - "uuid": "bdd02a5f-2007-56f9-abeb-8c2c5c99a08e", - "version": "2021-02-03T21:08:27.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 972969186, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f76e3d66-f748-4d82-b345-69e7ef60b1ab", - "crc32c": "567bee09", - "sha256": "52d70178293e01248f66928edaa01191c204e5169fa2b66b2008ddb4b0d4a412" - }, - "sequence_file/33682180-6cdf-4d0c-9fe0-e1c029ac13b2": { - "name": "Retina_Wong_scRNA_Sample1_R1.fastq.gz", - "uuid": "d65c128c-3bb7-4da3-8d56-b60007cf8d15", - "version": "2019-09-13T09:16:27.063168Z", - "content-type": "application/gzip; dcp-type=data", - "size": 5915975880, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7da1904a-5076-46fd-b95e-2366a907d789", - "crc32c": "1c00b5b2", - "sha1": "b4056ae48d430ea0a5ed309d6b461baed998b4a6", - "sha256": "1a22499817f26c307ffe7876e2be5a2bdc9ab8aee2da3c6ca89af2bf3ab903e1", - "s3_etag": "3c7331aa4273cc9d75e234311833acf7-89" - }, - "sequence_file/e92c42c7-f238-44ea-b147-e199b768d450": { - "name": "Retina_Wong_scRNA_Sample1_R2.fastq.gz", - "uuid": "d94b88bc-3507-4644-a221-1c99861895e2", - "version": "2019-09-13T09:16:27.300840Z", - "content-type": "application/gzip; dcp-type=data", - "size": 20619721127, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a18a7953-48aa-4e6b-810b-caf5767095c7", - "crc32c": "a5db114b", - "sha1": "80ee50d59bdc253c51a5e4d26187011e9d4e90fc", - "sha256": "e67ad7cfc615175e9c0f8940909965b4fa0e376253e8969596d638603bac7e8c", - "s3_etag": "977e306603976db10215fba42f753254-308" - } - }, - "metadata": { - "analysis_file/43598186-06cd-5f4b-95d9-fecb0a35d3ab": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "ad220152-0eb4-4f85-a03e-c7e81ea3f167.bam", - "format": "bam" - }, - "provenance": { - "document_id": "43598186-06cd-5f4b-95d9-fecb0a35d3ab", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/4c866eb3-7470-5ee8-91b9-942246f19fde": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "2f8a07c2-4a6b-47ac-a304-0dead66eee9e.bam", - "format": "bam" - }, - "provenance": { - "document_id": "4c866eb3-7470-5ee8-91b9-942246f19fde", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/70ff6783-333f-5c1b-8208-3b495df95620": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "8b81f0c2-3b57-4072-8a10-c169fece543e.bam", - "format": "bam" - }, - "provenance": { - "document_id": "70ff6783-333f-5c1b-8208-3b495df95620", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/759bad57-b725-5346-b3ff-9fb80b27cfe7": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "8b81f0c2-3b57-4072-8a10-c169fece543e.loom", - "format": "loom" - }, - "provenance": { - "document_id": "759bad57-b725-5346-b3ff-9fb80b27cfe7", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/7a96a0c2-e22a-57ad-ac46-4c2433a63d94": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "262f55a3-d03d-49ae-8080-1a6208fddb4f.bam", - "format": "bam" - }, - "provenance": { - "document_id": "7a96a0c2-e22a-57ad-ac46-4c2433a63d94", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/a7915c55-1d80-5724-9c81-6dd0a9130361": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "262f55a3-d03d-49ae-8080-1a6208fddb4f.loom", - "format": "loom" - }, - "provenance": { - "document_id": "a7915c55-1d80-5724-9c81-6dd0a9130361", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/b949e4b6-c3fb-58b4-865b-40cb3ef2b6c6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "1116b396-448e-4dd1-b9c9-78357c511e15.bam", - "format": "bam" - }, - "provenance": { - "document_id": "b949e4b6-c3fb-58b4-865b-40cb3ef2b6c6", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/bc111cd3-bf54-57ce-8af1-88f5997a0a9d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "ad220152-0eb4-4f85-a03e-c7e81ea3f167.loom", - "format": "loom" - }, - "provenance": { - "document_id": "bc111cd3-bf54-57ce-8af1-88f5997a0a9d", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/d90280cc-a294-57de-b350-5234a5278c19": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "1116b396-448e-4dd1-b9c9-78357c511e15.loom", - "format": "loom" - }, - "provenance": { - "document_id": "d90280cc-a294-57de-b350-5234a5278c19", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/f51568e8-b84c-504b-82f0-3ad5975d4bcb": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "2f8a07c2-4a6b-47ac-a304-0dead66eee9e.loom", - "format": "loom" - }, - "provenance": { - "document_id": "f51568e8-b84c-504b-82f0-3ad5975d4bcb", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/fec17064-9014-50b0-9e1a-dfaef2fbb4fc": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "wong-retina-human-eye-10XV2.loom", - "format": "loom" - }, - "provenance": { - "document_id": "fec17064-9014-50b0-9e1a-dfaef2fbb4fc", - "submission_date": "2020-02-03T10:30:00.000000Z", - "submitter_id": "e67aaabe-93ea-564a-aa66-31bc0857b707" - }, - "schema_type": "file" - }, - "analysis_protocol/289ec28b-ce11-5be8-89ab-92fbceb874a0": { - "computational_method": "Optimus", - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/9.1.0/analysis_protocol", - "protocol_core": { - "protocol_id": "optimus_v4.2.2" - }, - "provenance": { - "document_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "submission_date": "2021-02-26T16:30:00.000000Z", - "update_date": "2021-02-26T16:30:00.000000Z" - }, - "schema_type": "protocol", - "type": { - "text": "analysis_protocol" - } - }, - "analysis_protocol/432a7422-59b5-5c46-8983-a7953f196781": { - "computational_method": "optimus_post_processing_v1.0.0", - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/9.1.0/analysis_protocol", - "protocol_core": { - "protocol_id": "optimus_post_processing_v1.0.0" - }, - "provenance": { - "document_id": "432a7422-59b5-5c46-8983-a7953f196781", - "submission_date": "2021-05-24T12:00:00.000000Z", - "update_date": "2021-05-24T12:00:00.000000Z" - }, - "schema_type": "protocol", - "type": { - "text": "analysis; merge matrices" - } - }, - "analysis_process/366c7a41-3b80-4c7d-af4b-20248e69425f": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_08aeefd9-3ae6-4b9e-b95d-05129fd54f43']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_2b407a11-dc22-4313-a523-f0cd6387bd13']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_bfb499b5-2323-4fcf-a8b0-38ad5a885576']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "ad220152-0eb4-4f85-a03e-c7e81ea3f167" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "366c7a41-3b80-4c7d-af4b-20248e69425f" - }, - "provenance": { - "document_id": "366c7a41-3b80-4c7d-af4b-20248e69425f", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-03T20:52:03.262Z", - "stop_time": "2021-02-03T20:52:34.362Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-03T20:52:03.261Z", - "stop_time": "2021-02-03T20:52:31.360Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-03T20:51:26.551Z", - "stop_time": "2021-02-03T20:52:01.392Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-03T20:51:03.090Z", - "stop_time": "2021-02-03T20:51:25.367Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:52:03.261Z", - "stop_time": "2021-02-03T20:52:31.360Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 576 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-FastqProcessing/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:49:04.322Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-03T20:51:26.551Z", - "stop_time": "2021-02-03T20:52:01.391Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-03T20:52:43.040Z", - "stop_time": "2021-02-03T20:52:55.335Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-MergeCountFiles/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:52:46.100Z", - "stop_time": "2021-02-03T20:52:58.341Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-03T20:52:43.040Z", - "stop_time": "2021-02-03T20:52:55.334Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-MergeSorted/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-03T20:52:10.400Z", - "stop_time": "2021-02-03T20:52:37.332Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-ModifyGtf/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:50:16.333Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-03T20:53:11.600Z", - "stop_time": "2021-02-03T21:09:04.321Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:26.550Z", - "stop_time": "2021-02-03T20:52:01.392Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:26.551Z", - "stop_time": "2021-02-03T20:52:01.391Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:50:48.810Z", - "stop_time": "2021-02-03T20:51:01.365Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-03T20:53:00.380Z", - "stop_time": "2021-02-03T20:53:10.321Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-03T20:49:07.832Z", - "stop_time": "2021-02-03T20:49:34.343Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:50:18.210Z", - "stop_time": "2021-02-03T20:50:46.335Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-checkOptimusInput/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/366c7a41-3b80-4c7d-af4b-20248e69425f/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:48:58.319Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-03T20:48:45.892Z", - "timestamp_stop_utc": "2021-02-03T21:09:05.403Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/3d7a4690-8760-491c-98f9-9a1aea3f79b5": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_96e58cce-a961-48c5-b4fd-84f4e994e10a']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_7b607ae7-1136-41f7-937e-ea2c3015a949']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_cd7ace86-c1f9-4c36-8ba0-078520babe83']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "1116b396-448e-4dd1-b9c9-78357c511e15" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "3d7a4690-8760-491c-98f9-9a1aea3f79b5" - }, - "provenance": { - "document_id": "3d7a4690-8760-491c-98f9-9a1aea3f79b5", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-03T20:51:26.549Z", - "stop_time": "2021-02-03T20:51:55.360Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-03T20:51:26.548Z", - "stop_time": "2021-02-03T20:52:01.390Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-03T20:51:09.209Z", - "stop_time": "2021-02-03T20:51:25.367Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-03T20:50:50.849Z", - "stop_time": "2021-02-03T20:51:07.330Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:29.609Z", - "stop_time": "2021-02-03T20:52:16.356Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 536 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-FastqProcessing/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:49:01.334Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-03T20:51:09.209Z", - "stop_time": "2021-02-03T20:51:25.367Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-03T20:52:30.798Z", - "stop_time": "2021-02-03T20:52:43.323Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeCountFiles/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:52:43.039Z", - "stop_time": "2021-02-03T20:52:55.334Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-03T20:52:36.919Z", - "stop_time": "2021-02-03T20:52:49.324Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeSorted/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-03T20:51:55.099Z", - "stop_time": "2021-02-03T20:52:31.358Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-ModifyGtf/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:50:16.332Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-03T20:53:11.599Z", - "stop_time": "2021-02-03T21:12:04.320Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:09.209Z", - "stop_time": "2021-02-03T20:51:28.347Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:09.209Z", - "stop_time": "2021-02-03T20:51:28.347Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:50:39.628Z", - "stop_time": "2021-02-03T20:50:49.329Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-03T20:52:57.319Z", - "stop_time": "2021-02-03T20:53:10.321Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-03T20:49:04.769Z", - "stop_time": "2021-02-03T20:49:25.374Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:50:18.209Z", - "stop_time": "2021-02-03T20:50:37.340Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-checkOptimusInput/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:48:58.319Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-03T20:48:45.893Z", - "timestamp_stop_utc": "2021-02-03T21:12:05.952Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/3f615b1d-d507-4912-82c5-9cb575cd19c1": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_7da1904a-5076-46fd-b95e-2366a907d789']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_a18a7953-48aa-4e6b-810b-caf5767095c7']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_c2fbaabe-13b9-44ce-82a0-7c98360ac75f']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "262f55a3-d03d-49ae-8080-1a6208fddb4f" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "3f615b1d-d507-4912-82c5-9cb575cd19c1" - }, - "provenance": { - "document_id": "3f615b1d-d507-4912-82c5-9cb575cd19c1", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-03T20:51:29.589Z", - "stop_time": "2021-02-03T20:52:01.390Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-03T20:51:29.589Z", - "stop_time": "2021-02-03T20:52:04.353Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-03T20:51:12.251Z", - "stop_time": "2021-02-03T20:51:28.347Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-03T20:50:53.889Z", - "stop_time": "2021-02-03T20:51:10.344Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:29.589Z", - "stop_time": "2021-02-03T20:52:10.352Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 575 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-FastqProcessing/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-03T20:48:48.428Z", - "stop_time": "2021-02-03T20:49:04.322Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-03T20:51:12.251Z", - "stop_time": "2021-02-03T20:51:28.347Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-03T20:52:33.850Z", - "stop_time": "2021-02-03T20:52:46.322Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-MergeCountFiles/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:52:33.850Z", - "stop_time": "2021-02-03T20:52:46.322Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-03T20:52:33.850Z", - "stop_time": "2021-02-03T20:52:46.322Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-MergeSorted/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-03T20:51:52.029Z", - "stop_time": "2021-02-03T20:52:31.358Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-ModifyGtf/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:48:48.428Z", - "stop_time": "2021-02-03T20:50:16.332Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-03T20:53:00.370Z", - "stop_time": "2021-02-03T21:08:34.323Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:12.250Z", - "stop_time": "2021-02-03T20:51:28.347Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:12.252Z", - "stop_time": "2021-02-03T20:51:28.348Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:50:42.670Z", - "stop_time": "2021-02-03T20:50:52.338Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-03T20:52:48.130Z", - "stop_time": "2021-02-03T20:52:58.341Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-03T20:49:07.811Z", - "stop_time": "2021-02-03T20:49:28.332Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:50:18.189Z", - "stop_time": "2021-02-03T20:50:40.359Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-checkOptimusInput/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3f615b1d-d507-4912-82c5-9cb575cd19c1/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-03T20:48:48.428Z", - "stop_time": "2021-02-03T20:48:55.321Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-03T20:48:45.892Z", - "timestamp_stop_utc": "2021-02-03T21:08:35.833Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/76502973-5eb8-40b1-a0dc-17c4f772edaa": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_2830c506-de2e-4f68-8b95-5b6f5ac4b54d']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_799febcc-e9a4-4bb2-9c77-bdcf327c3905']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_5c7817ba-9ebe-4ee4-adf4-7e377576c709']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "8b81f0c2-3b57-4072-8a10-c169fece543e" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "76502973-5eb8-40b1-a0dc-17c4f772edaa" - }, - "provenance": { - "document_id": "76502973-5eb8-40b1-a0dc-17c4f772edaa", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-03T20:51:51.018Z", - "stop_time": "2021-02-03T20:52:28.331Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-03T20:51:47.959Z", - "stop_time": "2021-02-03T20:52:25.342Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-03T20:51:20.429Z", - "stop_time": "2021-02-03T20:51:49.366Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-03T20:51:03.089Z", - "stop_time": "2021-02-03T20:51:19.355Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:51.018Z", - "stop_time": "2021-02-03T20:52:31.359Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 535 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-FastqProcessing/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:49:01.335Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-03T20:51:20.429Z", - "stop_time": "2021-02-03T20:51:46.404Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-03T20:52:36.919Z", - "stop_time": "2021-02-03T20:52:49.324Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-MergeCountFiles/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:52:39.978Z", - "stop_time": "2021-02-03T20:52:52.317Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-03T20:52:36.919Z", - "stop_time": "2021-02-03T20:52:49.324Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-MergeSorted/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-03T20:52:04.279Z", - "stop_time": "2021-02-03T20:52:34.362Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-ModifyGtf/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:50:16.333Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-03T20:53:05.478Z", - "stop_time": "2021-02-03T21:09:25.322Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:20.429Z", - "stop_time": "2021-02-03T20:51:49.366Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:20.429Z", - "stop_time": "2021-02-03T20:51:49.366Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:50:42.689Z", - "stop_time": "2021-02-03T20:51:01.363Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-03T20:52:54.259Z", - "stop_time": "2021-02-03T20:53:04.325Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-03T20:49:04.771Z", - "stop_time": "2021-02-03T20:49:31.400Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:50:18.209Z", - "stop_time": "2021-02-03T20:50:40.358Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-checkOptimusInput/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/76502973-5eb8-40b1-a0dc-17c4f772edaa/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:48:55.321Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-03T20:48:45.892Z", - "timestamp_stop_utc": "2021-02-03T21:09:26.814Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/9b4ae2d9-d681-4f08-b111-6f1878145b35": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_7f4c7463-76d0-4f3a-a690-e93369ada2e9']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_16af29e4-8b77-4d44-b6f0-39403e4bf6ea']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_b9549f9f-d892-4093-93fd-197d02ec7c97']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "2f8a07c2-4a6b-47ac-a304-0dead66eee9e" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "9b4ae2d9-d681-4f08-b111-6f1878145b35" - }, - "provenance": { - "document_id": "9b4ae2d9-d681-4f08-b111-6f1878145b35", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-03T20:51:18.389Z", - "stop_time": "2021-02-03T20:51:40.353Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-03T20:51:18.389Z", - "stop_time": "2021-02-03T20:51:46.405Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-03T20:51:00.029Z", - "stop_time": "2021-02-03T20:51:16.376Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-03T20:50:41.669Z", - "stop_time": "2021-02-03T20:50:58.331Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:18.389Z", - "stop_time": "2021-02-03T20:51:46.405Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 545 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-FastqProcessing/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:49:01.334Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-03T20:51:00.029Z", - "stop_time": "2021-02-03T20:51:16.376Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-03T20:52:21.629Z", - "stop_time": "2021-02-03T20:52:37.331Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-MergeCountFiles/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:52:27.748Z", - "stop_time": "2021-02-03T20:52:40.337Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-03T20:52:21.629Z", - "stop_time": "2021-02-03T20:52:37.331Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-MergeSorted/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-03T20:51:42.869Z", - "stop_time": "2021-02-03T20:52:16.355Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-ModifyGtf/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:50:13.323Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-03T20:52:57.329Z", - "stop_time": "2021-02-03T20:57:25.329Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:00.029Z", - "stop_time": "2021-02-03T20:51:16.377Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:00.029Z", - "stop_time": "2021-02-03T20:51:16.377Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:50:30.449Z", - "stop_time": "2021-02-03T20:50:40.358Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-03T20:52:42.029Z", - "stop_time": "2021-02-03T20:52:55.334Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-03T20:49:04.771Z", - "stop_time": "2021-02-03T20:49:31.401Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:50:15.149Z", - "stop_time": "2021-02-03T20:50:28.333Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-checkOptimusInput/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/9b4ae2d9-d681-4f08-b111-6f1878145b35/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:48:55.321Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-03T20:48:45.894Z", - "timestamp_stop_utc": "2021-02-03T21:13:26.523Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/c8430132-0f12-43ec-8b8d-bbcfcd401dab": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [], - "process_core": { - "process_id": "c8430132-0f12-43ec-8b8d-bbcfcd401dab" - }, - "provenance": { - "document_id": "c8430132-0f12-43ec-8b8d-bbcfcd401dab", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [], - "schema_type": "process", - "tasks": [], - "timestamp_start_utc": "2021-02-11T23:11:45.000000Z", - "timestamp_stop_utc": "2021-02-11T23:11:45.000000Z", - "type": { - "text": "analysis; merge matrices" - } - }, - "project/8185730f-4113-40d3-9cc3-929271784c2b": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "WongAdultRetina", - "project_title": "A single-cell transcriptome atlas of the adult human retina", - "project_description": "The retina is a specialized neural tissue that senses light and initiates image processing. Although the functional organization of specific retina cells has been well studied, the molecular profile of many cell types remains unclear in humans. To comprehensively profile the human retina, we performed single\u2010cell RNA sequencing on 20,009 cells from three donors and compiled a reference transcriptome atlas. Using unsupervised clustering analysis, we identified 18 transcriptionally distinct cell populations representing all known neural retinal cells: rod photoreceptors, cone photoreceptors, M\u00fcller glia, bipolar cells, amacrine cells, retinal ganglion cells, horizontal cells, astrocytes, and microglia. Our data captured molecular profiles for healthy and putative early degenerating rod photoreceptors, and revealed the loss of\u00a0MALAT1\u00a0expression with longer post\u2010mortem time, which potentially suggested a novel role of\u00a0MALAT1\u00a0in rod photoreceptor degeneration. We have demonstrated the use of this retina transcriptome atlas to benchmark pluripotent stem cell\u2010derived cone photoreceptors and an adult M\u00fcller glia cell line. This work provides an important reference with unprecedented insights into the transcriptional landscape of human retinal cells, which is fundamental to understanding retinal biology and disease." - }, - "supplementary_links": [ - "https://github.com/satijalab/seurat", - "https://github.com/powellgenomicslab/ascend", - "https://github.com/IMB-Computational-Genomics-Lab/scGPS" - ], - "array_express_accessions": [ - "E-MTAB-7316" - ], - "contributors": [ - { - "name": "Samuel,W,Lukowski", - "email": "s.lukowski@imb.uq.edu.au", - "institution": "University of Queensland", - "laboratory": "Institute for Molecular Bioscience", - "address": "306 Carmody Rd, St Lucia QLD 4072", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0002-8598-7902" - }, - { - "name": "Camden,Y,Lo", - "email": "lo.camden@gmail.com", - "institution": "Monash University", - "address": "Wellington Rd, Clayton VIC 3800", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Alexei,A,Sharov", - "email": "sharoval@mail.nih.gov", - "institution": "National Institutes of Health", - "laboratory": "National Institute for Aging", - "address": "251 Bayview Blvd, Baltimore, MD 21224", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Quan,,Nguyen", - "email": "quan.nguyen@imb.uq.edu.au", - "institution": "University of Queensland", - "laboratory": "Institute for Molecular Bioscience", - "address": "306 Carmody Rd, St Lucia QLD 4072", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0001-7870-5703" - }, - { - "name": "Lyujie,,Fang", - "email": "fanglyujie@foxmail.com", - "institution": "Centre for Eye Research Australia", - "laboratory": "Cellular Reprogramming Unit", - "address": "Melbourne, Vic", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-2286-0023" - }, - { - "name": "Sandy,SC,Hung", - "email": "sandy.hung@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Clinical Genetics Unit", - "address": "Melbourne, Vic", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Ling,,Zhu", - "email": "ling.zhu@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0003-0776-1630" - }, - { - "name": "Ting,,Zhang", - "email": "Ting.zhang@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0001-8074-8999" - }, - { - "name": "Ulrike,,Gr\u00fcnert", - "email": "ulrike.grunert@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Tu,,Nguyen", - "email": "thanhn3@student.unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Cellular Reprogramming Unit", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-6165-1822" - }, - { - "name": "Anne,,Senabouth", - "email": "a.senabouth@imb.uq.edu.au", - "institution": "University of Queensland", - "laboratory": "Institute for Molecular Bioscience", - "address": "306 Carmody Rd, St Lucia QLD 4072", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Jafar,S,Jabbari", - "email": "Jafar.Jabbari@agrf.org.au", - "institution": "Australian Genome Research Facility", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Emily,,Welby", - "email": "emily.welby@nih.gov", - "institution": "UCL Great Ormond Street Institute of Child Health", - "laboratory": "Stem Cells and Regenerative Medicine Section, NIHR Great Ormond Street Hospital Biomedical Research Centre", - "address": "London", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Jane,C,Sowden", - "email": "j.sowden@ucl.ac.uk", - "institution": "UCL Great Ormond Street Institute of Child Health", - "laboratory": "Stem Cells and Regenerative Medicine Section, NIHR Great Ormond Street Hospital Biomedical Research Centre", - "address": "London", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Hayley,S,Nguyen", - "email": "hayley.waugh229@gmail.com", - "institution": "Centre for Eye Research Australia", - "laboratory": "Lions Eye Donation Services", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Eye bank coordinator", - "ontology": "EFO:0001729", - "ontology_label": "biomaterial provider" - } - }, - { - "name": "Adrienne,,Mackey", - "email": "amackey@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Lions Eye Donation Services", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Eye bank coordinator", - "ontology": "EFO:0001729", - "ontology_label": "biomaterial provider" - } - }, - { - "name": "Graeme,,Pollock", - "email": "gpollock@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Lions Eye Donation Services", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Eye bank director", - "ontology": "EFO:0001729", - "ontology_label": "biomaterial provider" - } - }, - { - "name": "Trevor,D,Lamb", - "email": "trevor.lamb@anu.edu.au", - "institution": "The Australian National University", - "laboratory": "John Curtin School of Medical Research", - "address": "Canberra, ACT", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Peng-Yuna,,Wang", - "email": "pengyuanwang@swin.edu.au", - "institution": "Swinburne University of Technology", - "laboratory": "Department of Chemistry and Biotechnology", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Alex,W,Hewitt", - "email": "alex.hewitt@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Clinical Genetics Unit", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Mark,C,Gillies", - "email": "mark.gillies@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Joseph,E,Powell", - "email": "j.powell@garvan.org.au", - "institution": "Garvan Institute of Medical Research", - "laboratory": "Garvan\u2010Weizmann Centre for Cellular Genomics", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0001-9031-6356" - }, - { - "name": "Raymond,CB,Wong", - "email": "wongcb@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Cellular Reprogramming Unit", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": true, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-8092-9455" - }, - { - "name": "Marion,F,Shadbolt", - "email": "mshadbolt@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - }, - "orcid_id": "0000-0001-7505-5418" - } - ], - "funders": [ - { - "grant_title": "Building a reference transcriptomic atlas for the human retina at a single cell level", - "grant_id": "not provided", - "organization": "Opthalmic Research Institute of Australia" - }, - { - "grant_title": "LOUISA JEAN de BRETTEVILLE BEQUEST", - "grant_id": "not provided", - "organization": "University of Melbourne De Brettville Trust" - }, - { - "grant_id": "not provided", - "organization": "Kel and Rosie Day Foundation" - }, - { - "grant_id": "not provided", - "organization": "Great Ormond Street Hospital Children's Charity" - } - ], - "publications": [ - { - "authors": [ - "Lukowski SW", - "Lo CY", - "Sharov AA", - "Nguyen Q", - "Fang L", - "Hung SS", - "Zhu L", - "Zhang T", - "Gr\u00fcnert U", - "Nguyen T", - "Senabouth A", - "Jabbari JS", - "Welby E", - "Sowden JC", - "Waugh HS", - "Mackey A", - "Pollock G", - "Lamb TD", - "Wang PY", - "Hewitt AW", - "Gillies MC", - "Powell JE", - "Wong RC" - ], - "title": "A single\u2010cell transcriptome atlas of the adult human retina", - "doi": "10.15252/embj.2018100811", - "pmid": 31436334, - "url": "https://www.ncbi.nlm.nih.gov/pubmed/31436334" - } - ], - "provenance": { - "document_id": "8185730f-4113-40d3-9cc3-929271784c2b", - "submission_date": "2019-09-13T08:37:50.384Z", - "update_date": "2019-09-13T08:37:53.825Z" - } - }, - "sequence_file/1016adeb-cdc3-47d6-a89e-771c763dd2e7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample2_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "38253c29c3dbfef2c17277138414f4bc" - }, - "library_prep_id": "Retina_3_repB", - "read_index": "read2", - "lane_index": 8, - "read_length": 98, - "provenance": { - "document_id": "1016adeb-cdc3-47d6-a89e-771c763dd2e7", - "submission_date": "2019-09-13T08:37:50.544Z", - "update_date": "2019-09-13T09:07:26.172Z" - } - }, - "sequence_file/15f64718-69cf-462c-9704-e8a1f54c27c8": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample3_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "f79f17b9d5007d9537b167038486713a" - }, - "library_prep_id": "Retina_2_repA", - "read_index": "read2", - "lane_index": 3, - "read_length": 98, - "provenance": { - "document_id": "15f64718-69cf-462c-9704-e8a1f54c27c8", - "submission_date": "2019-09-13T08:37:50.572Z", - "update_date": "2019-09-13T08:56:51.563Z" - } - }, - "sequence_file/30040306-be5c-48f9-b221-e666e279ab5b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample4_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "dde40c4018ccc7f6991906680cdd9c81" - }, - "library_prep_id": "Retina_2_repB", - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "provenance": { - "document_id": "30040306-be5c-48f9-b221-e666e279ab5b", - "submission_date": "2019-09-13T08:37:50.581Z", - "update_date": "2019-09-13T08:43:56.724Z" - } - }, - "sequence_file/33682180-6cdf-4d0c-9fe0-e1c029ac13b2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample1_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "25e9b3b8a5413cf18881d97771959071" - }, - "library_prep_id": "Retina_3_repA", - "read_index": "read1", - "lane_index": 7, - "read_length": 26, - "provenance": { - "document_id": "33682180-6cdf-4d0c-9fe0-e1c029ac13b2", - "submission_date": "2019-09-13T08:37:50.509Z", - "update_date": "2019-09-13T08:53:16.964Z" - } - }, - "sequence_file/39255288-6791-45b0-ac7e-b3ef4c981a3b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample4_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "98e8d68d9724a4ced38629d66a447d60" - }, - "library_prep_id": "Retina_2_repB", - "read_index": "read1", - "lane_index": 3, - "read_length": 26, - "provenance": { - "document_id": "39255288-6791-45b0-ac7e-b3ef4c981a3b", - "submission_date": "2019-09-13T08:37:50.590Z", - "update_date": "2019-09-13T08:54:00.067Z" - } - }, - "sequence_file/52149e21-dcd2-4288-a5eb-e526c3dcf745": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample5_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "43b9c585c83df6dd06e219db8c15bdfc" - }, - "library_prep_id": "Retina_1", - "read_index": "read2", - "lane_index": 6, - "read_length": 98, - "provenance": { - "document_id": "52149e21-dcd2-4288-a5eb-e526c3dcf745", - "submission_date": "2019-09-13T08:37:50.627Z", - "update_date": "2019-09-13T09:01:51.268Z" - } - }, - "sequence_file/6bd884d2-fccf-4227-8efc-184751527dfb": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample2_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "c098fbb8f7cbca050531284dc9c856d5" - }, - "library_prep_id": "Retina_3_repB", - "read_index": "read1", - "lane_index": 8, - "read_length": 26, - "provenance": { - "document_id": "6bd884d2-fccf-4227-8efc-184751527dfb", - "submission_date": "2019-09-13T08:37:50.536Z", - "update_date": "2019-09-13T08:56:00.663Z" - } - }, - "sequence_file/6d52232d-dc77-4070-bdb1-9bb0ee59d309": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample5_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "18dc8d31b9211031291d2ef2ace78d73" - }, - "library_prep_id": "Retina_1", - "read_index": "read1", - "lane_index": 6, - "read_length": 26, - "provenance": { - "document_id": "6d52232d-dc77-4070-bdb1-9bb0ee59d309", - "submission_date": "2019-09-13T08:37:50.618Z", - "update_date": "2019-09-13T08:46:45.334Z" - } - }, - "sequence_file/799f314f-7c6c-4981-be36-8e1310bf38e6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample3_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "1f4a850b124bbf9d623300d773b0ee35" - }, - "library_prep_id": "Retina_2_repA", - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "provenance": { - "document_id": "799f314f-7c6c-4981-be36-8e1310bf38e6", - "submission_date": "2019-09-13T08:37:50.553Z", - "update_date": "2019-09-13T08:42:35.822Z" - } - }, - "sequence_file/9f8f5212-0749-460b-9a46-2949dea45d52": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample4_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "908d9684249467698a6fd2e2c5f61c44" - }, - "library_prep_id": "Retina_2_repB", - "read_index": "read2", - "lane_index": 3, - "read_length": 98, - "provenance": { - "document_id": "9f8f5212-0749-460b-9a46-2949dea45d52", - "submission_date": "2019-09-13T08:37:50.599Z", - "update_date": "2019-09-13T08:57:01.788Z" - } - }, - "sequence_file/a7b21a25-e76e-420d-8892-538062bfefbf": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample3_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "6906b9614da9de3fd1fbb31f47aec05d" - }, - "library_prep_id": "Retina_2_repA", - "read_index": "read1", - "lane_index": 3, - "read_length": 26, - "provenance": { - "document_id": "a7b21a25-e76e-420d-8892-538062bfefbf", - "submission_date": "2019-09-13T08:37:50.563Z", - "update_date": "2019-09-13T08:53:56.305Z" - } - }, - "sequence_file/b01b2e61-3ebd-48cc-b071-f2e8cb42ff7c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample1_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "e29b037110d1ee96fe6d1025ef6d0cd2" - }, - "library_prep_id": "Retina_3_repA", - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "provenance": { - "document_id": "b01b2e61-3ebd-48cc-b071-f2e8cb42ff7c", - "submission_date": "2019-09-13T08:37:50.499Z", - "update_date": "2019-09-13T08:54:12.962Z" - } - }, - "sequence_file/e0efcd8d-8433-4b40-9eee-11dafb699a5a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample5_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "3c5256a2aeadd76095539e7808c87bda" - }, - "library_prep_id": "Retina_1", - "read_index": "index1", - "lane_index": 6, - "read_length": 8, - "provenance": { - "document_id": "e0efcd8d-8433-4b40-9eee-11dafb699a5a", - "submission_date": "2019-09-13T08:37:50.609Z", - "update_date": "2019-09-13T08:53:22.108Z" - } - }, - "sequence_file/e92c42c7-f238-44ea-b147-e199b768d450": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample1_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "9d3e76528d045c5c7136164053fbab86" - }, - "library_prep_id": "Retina_3_repA", - "read_index": "read2", - "lane_index": 7, - "read_length": 98, - "provenance": { - "document_id": "e92c42c7-f238-44ea-b147-e199b768d450", - "submission_date": "2019-09-13T08:37:50.518Z", - "update_date": "2019-09-13T09:07:14.915Z" - } - }, - "sequence_file/f6407a7a-eecc-4735-a96a-b8bb634118e4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample2_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "847f1f3d62abaf63c481543128d37d87" - }, - "library_prep_id": "Retina_3_repB", - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "provenance": { - "document_id": "f6407a7a-eecc-4735-a96a-b8bb634118e4", - "submission_date": "2019-09-13T08:37:50.527Z", - "update_date": "2019-09-13T08:49:05.856Z" - } - }, - "specimen_from_organism/1dda6a28-cbaa-4506-be47-fa117e8f463c": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "17-011-R", - "biomaterial_name": "17-011 retina", - "biomaterial_description": "17-011 donor retina (right eye)", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "right eye", - "ontology": "UBERON:0000970", - "ontology_label": "eye" - }, - "organ_parts": [ - { - "text": "Neural retina", - "ontology": "UBERON:0003902", - "ontology_label": "retinal neural layer" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "collection_time": "2017-05-26", - "provenance": { - "document_id": "1dda6a28-cbaa-4506-be47-fa117e8f463c", - "submission_date": "2019-09-13T08:37:50.423Z", - "update_date": "2019-09-13T08:37:53.863Z" - } - }, - "specimen_from_organism/252b008d-8b5a-450c-a17c-4e779a17ff26": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "17-010-R", - "biomaterial_name": "17-010 retina", - "biomaterial_description": "17-010 donor retina (right eye)", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "right eye", - "ontology": "UBERON:0000970", - "ontology_label": "eye" - }, - "organ_parts": [ - { - "text": "Neural retina", - "ontology": "UBERON:0003902", - "ontology_label": "retinal neural layer" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "collection_time": "2017-01-13", - "provenance": { - "document_id": "252b008d-8b5a-450c-a17c-4e779a17ff26", - "submission_date": "2019-09-13T08:37:50.410Z", - "update_date": "2019-09-13T08:37:53.886Z" - } - }, - "specimen_from_organism/edc72947-b776-4150-8bfe-b7331acfa66f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SC-L", - "biomaterial_name": "SC retina", - "biomaterial_description": "SC donor retina (left eye)", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "left eye", - "ontology": "UBERON:0000970", - "ontology_label": "eye" - }, - "organ_parts": [ - { - "text": "Neural retina", - "ontology": "UBERON:0003902", - "ontology_label": "retinal neural layer" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "collection_time": "2017-12-06", - "provenance": { - "document_id": "edc72947-b776-4150-8bfe-b7331acfa66f", - "submission_date": "2019-09-13T08:37:50.417Z", - "update_date": "2019-09-13T08:37:53.864Z" - } - }, - "donor_organism/427c0a62-9baf-42ab-a3a3-f48d10544280": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "17-011", - "biomaterial_name": "Donor", - "biomaterial_description": "post-mortem donor", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "development_stage": { - "text": "Adult", - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage" - }, - "organism_age": "53", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "diseases": [ - { - "text": "normal ocular history", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "427c0a62-9baf-42ab-a3a3-f48d10544280", - "submission_date": "2019-09-13T08:37:50.404Z", - "update_date": "2019-09-13T08:37:53.845Z" - } - }, - "donor_organism/66b7152c-8e94-412b-b0e4-f8fbf554df5a": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "17-010", - "biomaterial_name": "Donor", - "biomaterial_description": "post-mortem donor", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "development_stage": { - "text": "Adult", - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage" - }, - "organism_age": "80", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "diseases": [ - { - "text": "Cataract on left eye, right eye has normal ocular history", - "ontology": "MONDO:0005129", - "ontology_label": "cataract (disease)" - } - ], - "provenance": { - "document_id": "66b7152c-8e94-412b-b0e4-f8fbf554df5a", - "submission_date": "2019-09-13T08:37:50.391Z", - "update_date": "2019-09-13T08:37:53.837Z" - } - }, - "donor_organism/b8049daa-7458-47bf-8ec2-3f5c56d2cb34": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SC", - "biomaterial_name": "Donor", - "biomaterial_description": "post-mortem donor", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "no", - "development_stage": { - "text": "Adult", - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage" - }, - "organism_age": "42", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "diseases": [ - { - "text": "normal ocular history", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "b8049daa-7458-47bf-8ec2-3f5c56d2cb34", - "submission_date": "2019-09-13T08:37:50.398Z", - "update_date": "2019-09-13T08:37:53.853Z" - } - }, - "dissociation_protocol/2509f42a-0328-4e33-8d21-79d37560d846": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "wong-retina-dissociation", - "protocol_name": "Retina dissociation", - "protocol_description": "Neural retina samples were dissociated into single cells in dissociation solution (2mg/ml papain, 120 Units/ml DNase I) for 15 minutes . The extracted neural retinal samples were dissociated and processed for scRNA-seq right away." - }, - "method": { - "text": "enzymatic dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "provenance": { - "document_id": "2509f42a-0328-4e33-8d21-79d37560d846", - "submission_date": "2019-09-13T08:37:50.470Z", - "update_date": "2019-09-13T08:37:53.822Z" - } - }, - "cell_suspension/0aabed05-6a89-4141-9384-828a33581419": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "17-010-R-A", - "biomaterial_name": "17-010 right retina A", - "biomaterial_description": "Library A for 17-010 right retina", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 4000, - "provenance": { - "document_id": "0aabed05-6a89-4141-9384-828a33581419", - "submission_date": "2019-09-13T08:37:50.430Z", - "update_date": "2019-09-13T08:37:53.849Z" - } - }, - "cell_suspension/1d3e48d7-d80f-4b99-85bd-04ff393288e7": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "17-011-R-B", - "biomaterial_name": "17-011 right retina B", - "biomaterial_description": "Library B for 17-011 right retina", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "1d3e48d7-d80f-4b99-85bd-04ff393288e7", - "submission_date": "2019-09-13T08:37:50.458Z", - "update_date": "2019-09-13T08:37:53.860Z" - } - }, - "cell_suspension/932000d6-c63b-40f0-bdd5-469fa4db8be2": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SC-L-B", - "biomaterial_name": "SC left retina B", - "biomaterial_description": "Library B for SC left retina", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "932000d6-c63b-40f0-bdd5-469fa4db8be2", - "submission_date": "2019-09-13T08:37:50.444Z", - "update_date": "2019-09-13T08:37:53.868Z" - } - }, - "cell_suspension/b1b6ea44-e0b7-425a-9faa-51ecff56783e": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "17-011-R-A", - "biomaterial_name": "17-011 right retina A", - "biomaterial_description": "Library A for 17-011 right retina", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "b1b6ea44-e0b7-425a-9faa-51ecff56783e", - "submission_date": "2019-09-13T08:37:50.451Z", - "update_date": "2019-09-13T08:37:53.838Z" - } - }, - "cell_suspension/eb32bfc6-e7be-4093-8959-b8bf27f2404f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SC-L-A", - "biomaterial_name": "SC left retina A", - "biomaterial_description": "Library A for SC left retina", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "eb32bfc6-e7be-4093-8959-b8bf27f2404f", - "submission_date": "2019-09-13T08:37:50.437Z", - "update_date": "2019-09-13T08:37:53.864Z" - } - }, - "process/1116b396-448e-4dd1-b9c9-78357c511e15": { - "process_core": { - "process_id": "Retina_2_repB" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "1116b396-448e-4dd1-b9c9-78357c511e15", - "submission_date": "2019-09-13T08:37:50.700Z", - "update_date": "2019-09-13T08:37:57.269Z" - } - }, - "process/25999eea-6f12-40a8-aecf-d1524c7cf564": { - "process_core": { - "process_id": "process_id_7" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "25999eea-6f12-40a8-aecf-d1524c7cf564", - "submission_date": "2019-09-13T08:37:50.671Z", - "update_date": "2019-09-13T08:37:57.270Z" - } - }, - "process/262f55a3-d03d-49ae-8080-1a6208fddb4f": { - "process_core": { - "process_id": "Retina_3_repA" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "262f55a3-d03d-49ae-8080-1a6208fddb4f", - "submission_date": "2019-09-13T08:37:50.683Z", - "update_date": "2019-09-13T08:37:57.205Z" - } - }, - "process/2f8a07c2-4a6b-47ac-a304-0dead66eee9e": { - "process_core": { - "process_id": "Retina_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "2f8a07c2-4a6b-47ac-a304-0dead66eee9e", - "submission_date": "2019-09-13T08:37:50.706Z", - "update_date": "2019-09-13T08:37:57.269Z" - } - }, - "process/3ad5d964-6c2c-4adc-badb-9100ceada68c": { - "process_core": { - "process_id": "process_id_8" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "3ad5d964-6c2c-4adc-badb-9100ceada68c", - "submission_date": "2019-09-13T08:37:50.677Z", - "update_date": "2019-09-13T08:37:57.203Z" - } - }, - "process/4054b722-a585-4e90-8d74-a02fb4d98202": { - "process_core": { - "process_id": "process_id_5" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "4054b722-a585-4e90-8d74-a02fb4d98202", - "submission_date": "2019-09-13T08:37:50.660Z", - "update_date": "2019-09-13T08:37:57.167Z" - } - }, - "process/48a0c58c-ea67-4014-8752-6339de02b70e": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "48a0c58c-ea67-4014-8752-6339de02b70e", - "submission_date": "2019-09-13T08:37:50.634Z", - "update_date": "2019-09-13T08:37:57.186Z" - } - }, - "process/8b81f0c2-3b57-4072-8a10-c169fece543e": { - "process_core": { - "process_id": "Retina_2_repA" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "8b81f0c2-3b57-4072-8a10-c169fece543e", - "submission_date": "2019-09-13T08:37:50.695Z", - "update_date": "2019-09-13T08:37:57.252Z" - } - }, - "process/98c88684-6469-4bb3-90aa-57a4ea101244": { - "process_core": { - "process_id": "process_id_4" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "98c88684-6469-4bb3-90aa-57a4ea101244", - "submission_date": "2019-09-13T08:37:50.654Z", - "update_date": "2019-09-13T08:37:57.171Z" - } - }, - "process/a5e37780-0b71-4610-8a7c-26142dedfcec": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a5e37780-0b71-4610-8a7c-26142dedfcec", - "submission_date": "2019-09-13T08:37:50.641Z", - "update_date": "2019-09-13T08:37:57.174Z" - } - }, - "process/ad220152-0eb4-4f85-a03e-c7e81ea3f167": { - "process_core": { - "process_id": "Retina_3_repB" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "ad220152-0eb4-4f85-a03e-c7e81ea3f167", - "submission_date": "2019-09-13T08:37:50.689Z", - "update_date": "2019-09-13T08:37:57.252Z" - } - }, - "process/b360251f-7550-4c08-b576-781858554ea1": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "b360251f-7550-4c08-b576-781858554ea1", - "submission_date": "2019-09-13T08:37:50.665Z", - "update_date": "2019-09-13T08:37:57.252Z" - } - }, - "process/e511e7ff-e67c-4eb3-b0db-13aecefb5486": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "e511e7ff-e67c-4eb3-b0db-13aecefb5486", - "submission_date": "2019-09-13T08:37:50.648Z", - "update_date": "2019-09-13T08:37:57.269Z" - } - }, - "sequencing_protocol/a166be3d-6e84-4058-a1bd-edf90cf3ee88": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HiSeq2500_200cycle", - "protocol_name": "200 cycle", - "protocol_description": "Single\u2010cell libraries were sequenced in 100\u00a0bp paired\u2010end configuration using an Illumina Hi\u2010Seq 2500 at the Australian Genome Research Facility" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565", - "ontology_label": "Illumina HiSeq 2500" - }, - "paired_end": false, - "method": { - "text": "3' single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "10x": { - "fastq_method": "mkfastq", - "fastq_method_version": "cellranger 2.2.0", - "drop_uniformity": true - }, - "provenance": { - "document_id": "a166be3d-6e84-4058-a1bd-edf90cf3ee88", - "submission_date": "2019-09-13T08:37:50.490Z", - "update_date": "2019-09-13T08:37:53.815Z" - } - }, - "enrichment_protocol/ba595d79-aa43-4e3a-ad10-89f92ef4f22f": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "wong-cell-size-selection", - "protocol_name": "MACS Smart Strainer filtering", - "protocol_description": "The dissociated neural retina was filtered to ensure single cell suspension using a 30\u00b5m MACS Smart Strainer (Miltenyi)" - }, - "method": { - "text": "cell size selection", - "ontology": "EFO:0009337", - "ontology_label": "cell size selection" - }, - "maximum_size": 30, - "provenance": { - "document_id": "ba595d79-aa43-4e3a-ad10-89f92ef4f22f", - "submission_date": "2019-09-13T08:37:50.476Z", - "update_date": "2019-09-13T08:37:53.832Z" - } - }, - "library_preparation_protocol/fa99959f-faa2-4d69-a092-48333e59f5f3": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "10X_3GEX_v2", - "protocol_name": "10X V2 library preparation", - "protocol_description": "10X Genomics 3' Gene Expression protocol, version 2 chemistry" - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 26 - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_method": { - "text": "10X v2 sequencing", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "first", - "cdna_library_amplification_method": { - "text": "PCR", - "ontology": "OBI:0000415", - "ontology_label": "PCR" - }, - "provenance": { - "document_id": "fa99959f-faa2-4d69-a092-48333e59f5f3", - "submission_date": "2019-09-13T08:37:50.482Z", - "update_date": "2019-09-13T08:37:53.809Z" - } - }, - "collection_protocol/3030903f-4a4b-4b30-ab93-3b10183181e0": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Wong-retina collection", - "protocol_name": "Retina collection", - "protocol_description": "Post-mortem eye globes were collected by the Lions Eye Donation Service (Royal Victorian Eye and Ear Hospital) for donor cornea transplantation. The remaining eye globes were used for dissection to extract the neural retina. The lens, iris and vitreous were removed and the choroid/RPE layers were excluded from the sample collection." - }, - "method": { - "text": "collecting specimen from organ postmortem", - "ontology": "EFO:0009627", - "ontology_label": "collecting specimen from organ postmortem" - }, - "provenance": { - "document_id": "3030903f-4a4b-4b30-ab93-3b10183181e0", - "submission_date": "2019-09-13T08:37:50.464Z", - "update_date": "2019-09-13T08:37:53.821Z" - } - } - }, - "links": { - "schema_type": "links", - "schema_version": "3.0.0", - "describedBy": "https://schema.humancellatlas.org/system/3.0.0/links", - "links": [ - { - "inputs": [ - { - "input_id": "d90280cc-a294-57de-b350-5234a5278c19", - "input_type": "analysis_file" - }, - { - "input_id": "a7915c55-1d80-5724-9c81-6dd0a9130361", - "input_type": "analysis_file" - }, - { - "input_id": "f51568e8-b84c-504b-82f0-3ad5975d4bcb", - "input_type": "analysis_file" - }, - { - "input_id": "759bad57-b725-5346-b3ff-9fb80b27cfe7", - "input_type": "analysis_file" - }, - { - "input_id": "bc111cd3-bf54-57ce-8af1-88f5997a0a9d", - "input_type": "analysis_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "fec17064-9014-50b0-9e1a-dfaef2fbb4fc", - "output_type": "analysis_file" - } - ], - "process_id": "c8430132-0f12-43ec-8b8d-bbcfcd401dab", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "432a7422-59b5-5c46-8983-a7953f196781", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "a7b21a25-e76e-420d-8892-538062bfefbf", - "input_type": "sequence_file" - }, - { - "input_id": "15f64718-69cf-462c-9704-e8a1f54c27c8", - "input_type": "sequence_file" - }, - { - "input_id": "799f314f-7c6c-4981-be36-8e1310bf38e6", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "759bad57-b725-5346-b3ff-9fb80b27cfe7", - "output_type": "analysis_file" - }, - { - "output_id": "70ff6783-333f-5c1b-8208-3b495df95620", - "output_type": "analysis_file" - } - ], - "process_id": "76502973-5eb8-40b1-a0dc-17c4f772edaa", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "33682180-6cdf-4d0c-9fe0-e1c029ac13b2", - "input_type": "sequence_file" - }, - { - "input_id": "e92c42c7-f238-44ea-b147-e199b768d450", - "input_type": "sequence_file" - }, - { - "input_id": "b01b2e61-3ebd-48cc-b071-f2e8cb42ff7c", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "a7915c55-1d80-5724-9c81-6dd0a9130361", - "output_type": "analysis_file" - }, - { - "output_id": "7a96a0c2-e22a-57ad-ac46-4c2433a63d94", - "output_type": "analysis_file" - } - ], - "process_id": "3f615b1d-d507-4912-82c5-9cb575cd19c1", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "6d52232d-dc77-4070-bdb1-9bb0ee59d309", - "input_type": "sequence_file" - }, - { - "input_id": "52149e21-dcd2-4288-a5eb-e526c3dcf745", - "input_type": "sequence_file" - }, - { - "input_id": "e0efcd8d-8433-4b40-9eee-11dafb699a5a", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "f51568e8-b84c-504b-82f0-3ad5975d4bcb", - "output_type": "analysis_file" - }, - { - "output_id": "4c866eb3-7470-5ee8-91b9-942246f19fde", - "output_type": "analysis_file" - } - ], - "process_id": "9b4ae2d9-d681-4f08-b111-6f1878145b35", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "6bd884d2-fccf-4227-8efc-184751527dfb", - "input_type": "sequence_file" - }, - { - "input_id": "1016adeb-cdc3-47d6-a89e-771c763dd2e7", - "input_type": "sequence_file" - }, - { - "input_id": "f6407a7a-eecc-4735-a96a-b8bb634118e4", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "bc111cd3-bf54-57ce-8af1-88f5997a0a9d", - "output_type": "analysis_file" - }, - { - "output_id": "43598186-06cd-5f4b-95d9-fecb0a35d3ab", - "output_type": "analysis_file" - } - ], - "process_id": "366c7a41-3b80-4c7d-af4b-20248e69425f", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "ad220152-0eb4-4f85-a03e-c7e81ea3f167", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "1d3e48d7-d80f-4b99-85bd-04ff393288e7" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "f6407a7a-eecc-4735-a96a-b8bb634118e4" - }, - { - "output_type": "sequence_file", - "output_id": "6bd884d2-fccf-4227-8efc-184751527dfb" - }, - { - "output_type": "sequence_file", - "output_id": "1016adeb-cdc3-47d6-a89e-771c763dd2e7" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "fa99959f-faa2-4d69-a092-48333e59f5f3" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "a166be3d-6e84-4058-a1bd-edf90cf3ee88" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "3ad5d964-6c2c-4adc-badb-9100ceada68c", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "1dda6a28-cbaa-4506-be47-fa117e8f463c" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "1d3e48d7-d80f-4b99-85bd-04ff393288e7" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "2509f42a-0328-4e33-8d21-79d37560d846" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ba595d79-aa43-4e3a-ad10-89f92ef4f22f" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "e511e7ff-e67c-4eb3-b0db-13aecefb5486", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "427c0a62-9baf-42ab-a3a3-f48d10544280" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "1dda6a28-cbaa-4506-be47-fa117e8f463c" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "3030903f-4a4b-4b30-ab93-3b10183181e0" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "8b81f0c2-3b57-4072-8a10-c169fece543e", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "eb32bfc6-e7be-4093-8959-b8bf27f2404f" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "799f314f-7c6c-4981-be36-8e1310bf38e6" - }, - { - "output_type": "sequence_file", - "output_id": "a7b21a25-e76e-420d-8892-538062bfefbf" - }, - { - "output_type": "sequence_file", - "output_id": "15f64718-69cf-462c-9704-e8a1f54c27c8" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "fa99959f-faa2-4d69-a092-48333e59f5f3" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "a166be3d-6e84-4058-a1bd-edf90cf3ee88" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "4054b722-a585-4e90-8d74-a02fb4d98202", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "edc72947-b776-4150-8bfe-b7331acfa66f" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "eb32bfc6-e7be-4093-8959-b8bf27f2404f" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "2509f42a-0328-4e33-8d21-79d37560d846" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ba595d79-aa43-4e3a-ad10-89f92ef4f22f" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "a5e37780-0b71-4610-8a7c-26142dedfcec", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "b8049daa-7458-47bf-8ec2-3f5c56d2cb34" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "edc72947-b776-4150-8bfe-b7331acfa66f" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "3030903f-4a4b-4b30-ab93-3b10183181e0" - } - ] - }, - { - "inputs": [ - { - "input_id": "39255288-6791-45b0-ac7e-b3ef4c981a3b", - "input_type": "sequence_file" - }, - { - "input_id": "9f8f5212-0749-460b-9a46-2949dea45d52", - "input_type": "sequence_file" - }, - { - "input_id": "30040306-be5c-48f9-b221-e666e279ab5b", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "d90280cc-a294-57de-b350-5234a5278c19", - "output_type": "analysis_file" - }, - { - "output_id": "b949e4b6-c3fb-58b4-865b-40cb3ef2b6c6", - "output_type": "analysis_file" - } - ], - "process_id": "3d7a4690-8760-491c-98f9-9a1aea3f79b5", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "262f55a3-d03d-49ae-8080-1a6208fddb4f", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "b1b6ea44-e0b7-425a-9faa-51ecff56783e" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "b01b2e61-3ebd-48cc-b071-f2e8cb42ff7c" - }, - { - "output_type": "sequence_file", - "output_id": "33682180-6cdf-4d0c-9fe0-e1c029ac13b2" - }, - { - "output_type": "sequence_file", - "output_id": "e92c42c7-f238-44ea-b147-e199b768d450" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "fa99959f-faa2-4d69-a092-48333e59f5f3" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "a166be3d-6e84-4058-a1bd-edf90cf3ee88" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "25999eea-6f12-40a8-aecf-d1524c7cf564", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "1dda6a28-cbaa-4506-be47-fa117e8f463c" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "b1b6ea44-e0b7-425a-9faa-51ecff56783e" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "2509f42a-0328-4e33-8d21-79d37560d846" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ba595d79-aa43-4e3a-ad10-89f92ef4f22f" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "e511e7ff-e67c-4eb3-b0db-13aecefb5486", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "427c0a62-9baf-42ab-a3a3-f48d10544280" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "1dda6a28-cbaa-4506-be47-fa117e8f463c" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "3030903f-4a4b-4b30-ab93-3b10183181e0" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "2f8a07c2-4a6b-47ac-a304-0dead66eee9e", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "0aabed05-6a89-4141-9384-828a33581419" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "e0efcd8d-8433-4b40-9eee-11dafb699a5a" - }, - { - "output_type": "sequence_file", - "output_id": "6d52232d-dc77-4070-bdb1-9bb0ee59d309" - }, - { - "output_type": "sequence_file", - "output_id": "52149e21-dcd2-4288-a5eb-e526c3dcf745" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "fa99959f-faa2-4d69-a092-48333e59f5f3" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "a166be3d-6e84-4058-a1bd-edf90cf3ee88" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "98c88684-6469-4bb3-90aa-57a4ea101244", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "252b008d-8b5a-450c-a17c-4e779a17ff26" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "0aabed05-6a89-4141-9384-828a33581419" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "2509f42a-0328-4e33-8d21-79d37560d846" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ba595d79-aa43-4e3a-ad10-89f92ef4f22f" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "48a0c58c-ea67-4014-8752-6339de02b70e", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "66b7152c-8e94-412b-b0e4-f8fbf554df5a" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "252b008d-8b5a-450c-a17c-4e779a17ff26" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "3030903f-4a4b-4b30-ab93-3b10183181e0" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "1116b396-448e-4dd1-b9c9-78357c511e15", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "932000d6-c63b-40f0-bdd5-469fa4db8be2" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "30040306-be5c-48f9-b221-e666e279ab5b" - }, - { - "output_type": "sequence_file", - "output_id": "39255288-6791-45b0-ac7e-b3ef4c981a3b" - }, - { - "output_type": "sequence_file", - "output_id": "9f8f5212-0749-460b-9a46-2949dea45d52" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "fa99959f-faa2-4d69-a092-48333e59f5f3" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "a166be3d-6e84-4058-a1bd-edf90cf3ee88" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "b360251f-7550-4c08-b576-781858554ea1", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "edc72947-b776-4150-8bfe-b7331acfa66f" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "932000d6-c63b-40f0-bdd5-469fa4db8be2" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "2509f42a-0328-4e33-8d21-79d37560d846" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ba595d79-aa43-4e3a-ad10-89f92ef4f22f" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "a5e37780-0b71-4610-8a7c-26142dedfcec", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "b8049daa-7458-47bf-8ec2-3f5c56d2cb34" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "edc72947-b776-4150-8bfe-b7331acfa66f" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "3030903f-4a4b-4b30-ab93-3b10183181e0" - } - ] - } - ] - }, - "stitched": [ - "07b45ad4-7797-4c16-bfae-493fb41d6600", - "09eb8fc6-9e27-4f08-87c5-bfccf918ee12", - "0aabed05-6a89-4141-9384-828a33581419", - "1016adeb-cdc3-47d6-a89e-771c763dd2e7", - "1116b396-448e-4dd1-b9c9-78357c511e15", - "15f64718-69cf-462c-9704-e8a1f54c27c8", - "1985c53a-b78f-4d9e-9563-dffed8207efd", - "1d3e48d7-d80f-4b99-85bd-04ff393288e7", - "1dda6a28-cbaa-4506-be47-fa117e8f463c", - "20329887-aab3-55fb-ba2c-e3eb27a20f6d", - "2509f42a-0328-4e33-8d21-79d37560d846", - "252b008d-8b5a-450c-a17c-4e779a17ff26", - "25999eea-6f12-40a8-aecf-d1524c7cf564", - "262f55a3-d03d-49ae-8080-1a6208fddb4f", - "27622c20-c017-4a98-b62c-76035758bc09", - "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "2f8a07c2-4a6b-47ac-a304-0dead66eee9e", - "30040306-be5c-48f9-b221-e666e279ab5b", - "3030903f-4a4b-4b30-ab93-3b10183181e0", - "33682180-6cdf-4d0c-9fe0-e1c029ac13b2", - "366c7a41-3b80-4c7d-af4b-20248e69425f", - "39255288-6791-45b0-ac7e-b3ef4c981a3b", - "39ae3998-72a4-41ba-b00f-526bfecb8ca2", - "3ac6d370-c10b-54a2-a1ed-52f661aae1d7", - "3ad5d964-6c2c-4adc-badb-9100ceada68c", - "3d7a4690-8760-491c-98f9-9a1aea3f79b5", - "3e2b02f8-5b3b-4ab2-8ef4-7ae8a856854e", - "3e3505f9-4f47-402f-bfb8-960af07f91da", - "3f615b1d-d507-4912-82c5-9cb575cd19c1", - "4054b722-a585-4e90-8d74-a02fb4d98202", - "427c0a62-9baf-42ab-a3a3-f48d10544280", - "43598186-06cd-5f4b-95d9-fecb0a35d3ab", - "48a0c58c-ea67-4014-8752-6339de02b70e", - "4b611790-d17b-5938-86c4-695480abb4ef", - "4c866eb3-7470-5ee8-91b9-942246f19fde", - "5140b603-8cc1-4566-9043-e68145efbbd6", - "52149e21-dcd2-4288-a5eb-e526c3dcf745", - "5a11ed4f-41d1-53b4-9e62-3c0bbd04b4b0", - "5ceca6a5-2bc0-4b38-908b-01d4fec71d9f", - "640e64f1-6ada-5d12-a772-fe4ed4eeecea", - "66b7152c-8e94-412b-b0e4-f8fbf554df5a", - "6bd884d2-fccf-4227-8efc-184751527dfb", - "6d52232d-dc77-4070-bdb1-9bb0ee59d309", - "70ff6783-333f-5c1b-8208-3b495df95620", - "759bad57-b725-5346-b3ff-9fb80b27cfe7", - "76502973-5eb8-40b1-a0dc-17c4f772edaa", - "76fc7a86-572e-5e00-ac87-b55d81a8515d", - "799f314f-7c6c-4981-be36-8e1310bf38e6", - "79f589cb-32a2-4ba6-a091-7c5d820d02df", - "7a96a0c2-e22a-57ad-ac46-4c2433a63d94", - "820c396e-248b-5b4e-91b9-d7801cd9725f", - "8b81f0c2-3b57-4072-8a10-c169fece543e", - "932000d6-c63b-40f0-bdd5-469fa4db8be2", - "98ab4428-d66a-57b7-a802-83fdec68d744", - "98c88684-6469-4bb3-90aa-57a4ea101244", - "9b4ae2d9-d681-4f08-b111-6f1878145b35", - "9d720856-425d-404f-bb5b-51c225e92dd6", - "9f8f5212-0749-460b-9a46-2949dea45d52", - "a166be3d-6e84-4058-a1bd-edf90cf3ee88", - "a301dcb4-6a8f-5ef8-af7e-6a9fe44058e8", - "a5e37780-0b71-4610-8a7c-26142dedfcec", - "a7915c55-1d80-5724-9c81-6dd0a9130361", - "a7b21a25-e76e-420d-8892-538062bfefbf", - "ad220152-0eb4-4f85-a03e-c7e81ea3f167", - "ad5fed6e-b0e1-40a0-82e8-0cfc2eca0786", - "b01b2e61-3ebd-48cc-b071-f2e8cb42ff7c", - "b1b6ea44-e0b7-425a-9faa-51ecff56783e", - "b360251f-7550-4c08-b576-781858554ea1", - "b8049daa-7458-47bf-8ec2-3f5c56d2cb34", - "b949e4b6-c3fb-58b4-865b-40cb3ef2b6c6", - "b9ab7f46-071a-48cf-bc7f-fdb9c8dd0c22", - "ba595d79-aa43-4e3a-ad10-89f92ef4f22f", - "bc111cd3-bf54-57ce-8af1-88f5997a0a9d", - "bdd02a5f-2007-56f9-abeb-8c2c5c99a08e", - "d65c128c-3bb7-4da3-8d56-b60007cf8d15", - "d90280cc-a294-57de-b350-5234a5278c19", - "d94b88bc-3507-4644-a221-1c99861895e2", - "e0efcd8d-8433-4b40-9eee-11dafb699a5a", - "e511e7ff-e67c-4eb3-b0db-13aecefb5486", - "e92c42c7-f238-44ea-b147-e199b768d450", - "eb32bfc6-e7be-4093-8959-b8bf27f2404f", - "edc72947-b776-4150-8bfe-b7331acfa66f", - "f51568e8-b84c-504b-82f0-3ad5975d4bcb", - "f6407a7a-eecc-4735-a96a-b8bb634118e4", - "fa99959f-faa2-4d69-a092-48333e59f5f3" - ] -} \ No newline at end of file diff --git a/test/indexer/data/02e69c25-71e2-48ca-a87b-e256938c6a98.dss.hca.json b/test/indexer/data/02e69c25-71e2-48ca-a87b-e256938c6a98.dss.hca.json deleted file mode 100644 index 94433205bb..0000000000 --- a/test/indexer/data/02e69c25-71e2-48ca-a87b-e256938c6a98.dss.hca.json +++ /dev/null @@ -1,3131 +0,0 @@ -{ - "manifest": { - "sequence_file/c87f6dbf-1062-4e72-a19d-db779f1d3e66": { - - "name": "mouse_cortex_S2_L002_R1_001.fastq", - "uuid": "035ded30-cc0f-4e93-b675-8496f7146a27", - "version": "2021-06-28T14:21:17.506000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2833603821, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_5b9faa43-71d3-4421-9147-c35c5a1020d6", - "crc32c": "99e502af", - "sha1": "e38e81028df5693d93274a15e996f0300a381d30", - "sha256": "f2c91b2abac48d6ac42ac318aaa15a97e67e09c8dfa18a8aea31ea7cd7471940", - "s3_etag": "ec65113cc3959679fb3bcb19baab4d12-43" - }, - "analysis_file/c61a76f4-aebe-4a18-b272-e2e78307bb4a": { - "name": "experiment2_mouse_pbs_scp_metadata.txt", - "uuid": "04f754f4-1c3c-4eac-a64f-c1a0937cae06", - "version": "2021-06-28T14:21:17.989000Z", - "content-type": "application/octet-stream; dcp-type=data; dcp-type=data", - "size": 264733, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_06900980-e0f1-4600-8fb4-b091fbbeca82", - "crc32c": "a161ac05", - "sha1": "a4542eeacc1523ef4d984123809af9a08d3e171e", - "sha256": "b7fbb04eef7332f2bd51e6e52d360cd00aa9e3408fabaf430bd3564d8ac4b31f", - "s3_etag": "d98cf4712057af4eae7962bf2a6bfb23" - }, - "sequence_file/bca273dd-1758-4439-b7e0-745755dcffa0": { - "name": "mouse_cortex_S2_L001_R2_001.fastq", - "uuid": "16c2629e-f042-4eef-a40e-3643dacf9926", - "version": "2021-06-28T14:21:17.481000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4088255061, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_632ab1c1-1e1e-4475-b8b0-4684c9204e45", - "crc32c": "ce40df66", - "sha1": "8d0dc4991cc6e502432381caed10609894f31afc", - "sha256": "663698584d3d5ff95977f1dc8fd540fa71f2c8ed14faecb540df97e7862a784b", - "s3_etag": "106ccbe979fe820b6104926cb0d66092-61" - }, - "sequence_file/d86c34c4-0aeb-4f50-a53e-5a0983c906b7": { - "name": "mouse_cortex_S2_L004_R1_001.fastq", - "uuid": "1a2e6680-19be-406a-852f-51eda87d7e42", - "version": "2021-06-28T14:21:17.582000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2868503392, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_8beb3758-3c01-4925-b455-46fa31a78641", - "crc32c": "b05bd34e", - "sha1": "6b9148506eafc5c1b9a622e669e0dcb9e11c284b", - "sha256": "bde66de4a5d354100c314f5d1a7529c09e41602426e97fd83f8383bc9d9b6181", - "s3_etag": "ec5dc1c2cd475c640ef3bb0885b11f75-43" - }, - "sequence_file/6b94ce38-27b9-460e-ab1b-bceb18275c71": { - "name": "mouse_cortex_S2_L001_I1_001.fastq", - "uuid": "3cd05b67-22cf-4bea-988a-7a1fb8104fa9", - "version": "2021-06-28T14:21:17.456000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1856426785, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_928b877a-0d23-4661-a577-85dc213cea43", - "crc32c": "0b7968e1", - "sha1": "b47b2bb455f5df72a1929678f1fbd3bbbd14cbea", - "sha256": "f59d61941571d8f64c54ca537511fa6688488771bde7c522838da98c8839a038", - "s3_etag": "72356e1061ae68e3a7be385124c5e322-28" - }, - "analysis_file/ad3f7b5e-77ed-4df1-a9af-5355f7951af4": { - "name": "experiment2_mouse_pbs_scp_X_diffmap_pca_coords.txt", - "uuid": "43f5d587-8891-45ec-b415-8e82b33fec7d", - "version": "2021-06-28T14:21:17.965000Z", - "content-type": "application/octet-stream; dcp-type=data; dcp-type=data", - "size": 184842, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_b7f242d4-8641-4765-9f8d-c1b8ceaa1e8e", - "crc32c": "b8c266c7", - "sha1": "a50df977aac20684d2e3b27ac8a21feff8240a01", - "sha256": "335d0e738c2b28ffea73c03c89a85d05d02dbdb6efc8769276533380d5916791", - "s3_etag": "e3c262117b366ac8dd8f70f1ec836965" - }, - "analysis_file/cde6359a-a2b0-421d-a898-c53278c21399": { - "name": "experiment2_mouse_pbs_scp_X_tsne_coords.txt", - "uuid": "4a8b396c-7f26-4b6b-b06c-e445bff36ab3", - "version": "2021-06-28T14:21:17.977000Z", - "content-type": "application/octet-stream; dcp-type=data; dcp-type=data", - "size": 193841, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_b7503d91-124b-4275-a220-5a3e023e1217", - "crc32c": "5ebb84c6", - "sha1": "baa69f67ae57d988de7ce9db6f6f8a082175e204", - "sha256": "c48c80f86597468dbb1c8e5cfacd46ca37ab18203e4285e787314a9afce4e7dc", - "s3_etag": "078f88af590b20e672210ac06f349f66" - }, - "analysis_file/004d18f2-f23c-4fd1-af2e-f0a6a9e13cc9": { - "name": "experiment2_mouse_pbs_scp_barcodes.tsv", - "uuid": "50d634ef-77b0-4339-a9c3-9a83bd9e5ab6", - "version": "2021-06-28T14:21:17.953000Z", - "content-type": "application/octet-stream; dcp-type=data; dcp-type=data", - "size": 57834, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_70dd09f2-b511-4ba0-b9a9-c29f9970bddb", - "crc32c": "f345df0c", - "sha1": "d94027cbd01ca96ef5d926aa6b06f332c22e00f6", - "sha256": "7313b430ea480a928fc42dcbe297a96e577a4b8def5acd500e5cf7aab7498285", - "s3_etag": "03a8156f979f3e0e9d88e26fcde6e2f5" - }, - "sequence_file/989f8f5d-710f-4529-b89b-0bfbf592951c": { - "name": "mouse_cortex_R1.fastq", - "uuid": "59822819-0515-4b9f-beb6-5836aa2df759", - "version": "2021-06-28T14:21:17.626000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1022583763, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_1cd03a77-2af0-4507-a0c9-0edc2579c71f", - "crc32c": "2e806c02", - "sha1": "77ea21fba80035bd39e6c24b6e6178a1d43785eb", - "sha256": "4471fac7eeee5f2d76236263d3e8ad69c06cbfe2bcd8b6e8fc0236a2718a110d", - "s3_etag": "21fddfe43b4970c78d126e38c647bacb-16" - }, - "sequence_file/a97f4858-0f13-405a-8b28-98ee5f997999": { - "name": "mouse_cortex_S2_L003_R2_001.fastq", - "uuid": "64eeaef0-b669-4637-9333-466c78643c09", - "version": "2021-06-28T14:21:17.557000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4203835842, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_13506603-a2be-4cc7-bd11-4711bb0b7d7d", - "crc32c": "e6f8d11a", - "sha1": "7615c1000702179efc767ed9260f039b8f4d3041", - "sha256": "173e04d13e9e2d7b223638ac3c2f27ad9a1b722373ff7e37ab7aa6ae56b4b21e", - "s3_etag": "dc517e665a37fc8b6c71ac7b66c8fddb-63" - }, - "sequence_file/1697aa82-0910-44e6-ac07-2020248e1977": { - "name": "mouse_cortex_I1.fastq", - "uuid": "694df5ad-6907-48ef-9a80-46681e9c294b", - "version": "2021-06-28T14:21:17.614000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 700197355, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_15d3e34d-828d-40d3-867a-1204fc662dad", - "crc32c": "d0e55a31", - "sha1": "06b09124d56f639a398f8a605fc3c45b11e3d1e8", - "sha256": "a75c91a4f96a11ac205d36750badc1f747628c15bfb1ac27c41c3bfd5c37cff7", - "s3_etag": "7badf646dc3cad2a10fbd5e07cd3102c-11" - }, - "analysis_file/6ccd1b16-d3a9-4ba4-9dda-99aa882dfc2c": { - "name": "experiment2_mouse_pbs_scp_genes.tsv", - "uuid": "6b8fc3ff-4e32-4f2c-97ae-d634066f87db", - "version": "2021-06-28T14:21:17.941000Z", - "content-type": "application/octet-stream; dcp-type=data; dcp-type=data", - "size": 547824, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_82d416d0-30c5-455f-a219-b0c98956acd8", - "crc32c": "cb0ebb55", - "sha1": "4f3d433480449f70d9d3095e1ae9d93881eb9c7f", - "sha256": "f49a568c569b330d7215fcf4a2bcf02d7aff08f8ab414a03059db859b9e3e054", - "s3_etag": "cf3e64f665fe6159bdc5bf4321d4d8cb" - }, - "sequence_file/000d1e4b-4c1f-40de-8fd6-8a3d1a26e1d2": { - "name": "mouse_cortex_S2_L003_I1_001.fastq", - "uuid": "7113cb1e-7289-4fe2-ba15-bbe0620bd808", - "version": "2021-06-28T14:21:17.533000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1908869082, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_f257507e-5911-4421-ab82-37ee6f10da74", - "crc32c": "6611c40b", - "sha1": "b56188420c9c2889dbae2e86d93485b9913f1584", - "sha256": "23dfaa860c9d8c6a0e08c30094f125ea2436caaa20b5119b5bca55054a8fc5e4", - "s3_etag": "ec5e5a66574d78665b2dbdcd53416081-29" - }, - "sequence_file/06d54587-f54b-490c-8d29-3d84025e3b14": { - "name": "mouse_cortex_S2_L002_R2_001.fastq", - "uuid": "87e562e3-cb28-4239-bdf6-5c562d35963a", - "version": "2021-06-28T14:21:17.521000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4272849055, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_9e70df3e-e8ee-4f80-a7ab-203a2dd88aa0", - "crc32c": "2468ae75", - "sha1": "4abb681e9a1d751a52de1aa96b064b216640c00e", - "sha256": "966596104c5d1a00d0d3ed59204321c6c85e5762672834aa4c0d00c6b44581ba", - "s3_etag": "d0961bee9d2ebb0e1f89f14e26997641-64" - }, - "analysis_file/4d64269d-bd3f-46c1-a179-1c27e1caeb30": { - "name": "experiment2_mouse_pbs_scp_matrix.mtx", - "uuid": "9601aedb-6de9-4a32-8bd9-ed8b78b256e1", - "version": "2021-06-28T14:21:17.929000Z", - "content-type": "application/octet-stream; dcp-type=data; dcp-type=data", - "size": 87863503, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_2966f26e-7628-415b-9348-8878d982a676", - "crc32c": "55189345", - "sha1": "052478f56b3bafac30cc2dede1600633ac56e530", - "sha256": "bff4eabd5df1ab167efc180791d7d189fc3c79f216450cffacab2cb763e3c171", - "s3_etag": "738b071be0c056fe5cc01460b2908836-2" - }, - "sequence_file/eacaacbb-f514-49bb-bfbf-ccb123c5bf2e": { - "name": "mouse_cortex_S2_L004_R2_001.fastq", - "uuid": "9c473261-cbb8-462f-ae4a-778a3ae8c566", - "version": "2021-06-28T14:21:17.599000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4325523016, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_91e61cc0-f5ee-4fa7-b77d-1526fe370117", - "crc32c": "f848708b", - "sha1": "c997c9ce7279b5284645327adc6e119ce2938f2c", - "sha256": "5188dc19099d8c3f5d7fc8eea66a9de94439073d6459071fbf0ec6b4f65aaa66", - "s3_etag": "ec3be90bee96d8b23dcc953a4bfbb072-65" - }, - "sequence_file/9610cb70-57c1-466d-b9c9-faa22aa7b917": { - "name": "mouse_cortex_S2_L001_R1_001.fastq", - "uuid": "9fa34db2-7968-4749-a83f-91ec2b12982d", - "version": "2021-06-28T14:21:17.469000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2711169529, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_da6a4e63-7d13-4cdd-8fc7-3d1e5c39ca8d", - "crc32c": "b80517a8", - "sha1": "c4e84040e453bfcc9a2b3825d72c408fb8a12b33", - "sha256": "fa2329cd8e2bdfa80b9fe746f69c266a7851e32b2ea50abf54677ccb14e00f0a", - "s3_etag": "d3d453961f7e7c93333d6225d4e6f182-41" - }, - "sequence_file/49eefca3-6441-4a63-a0f0-178d6fc2573d": { - "name": "mouse_cortex_R2.fastq", - "uuid": "b5a30ee7-6c2f-452a-b2aa-f032731b8b17", - "version": "2021-06-28T14:21:17.637000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1541984087, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_af994530-3921-487c-94cc-acbaff660b0a", - "crc32c": "576c4860", - "sha1": "8d3e1887ddb16f693cfa35e229bb17cac0366d59", - "sha256": "a09fba3b9062f341f3f8faaa74b9747379b28b98e3a951a27804a8830d6750d8", - "s3_etag": "a79201831572e399a524d3d652e7bc2a-23" - }, - "sequence_file/7c1802b3-0be5-4202-b14e-141974ca7fb3": { - "name": "mouse_cortex_S2_L002_I1_001.fastq", - "uuid": "d3965eac-1d56-4809-bf64-8291c9bbdf2f", - "version": "2021-06-28T14:21:17.493000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1940279193, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_67f2c31b-0e63-4bd2-9e3c-92c006f95717", - "crc32c": "a50e0bbc", - "sha1": "56be5996a560b4e499b8225b19df418800bc21bd", - "sha256": "204f41cf51e95a402700052c0e8d70b06d01f7122b9fd5e40c141b7db53f2cb6", - "s3_etag": "3a85b50188d8766f46c62f35bb0d3e3e-29" - }, - "sequence_file/dc5b2d96-ba74-4bd0-bcf0-747548e1c6d7": { - "name": "mouse_cortex_S2_L004_I1_001.fastq", - "uuid": "d5925eb4-5192-4bc0-83e4-5c6d847118ef", - "version": "2021-06-28T14:21:17.569000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1964146384, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_e01c4a62-ecd9-4a8d-9178-c3602160d045", - "crc32c": "925cac87", - "sha1": "2a709f46cb570bf9cddbfa7155c8012d249430ce", - "sha256": "0b6d42af920f73359dc9ceaa2d27c39d566bd2bd1bdf53ac92a68a1cad073148", - "s3_etag": "7f5ae23a8f94d968a687aafb0fa6ef57-30" - }, - "sequence_file/ee52ecd1-68c0-48dd-82c2-6d3e45869b38": { - "name": "mouse_cortex_S2_L003_R1_001.fastq", - "uuid": "fd13fc62-8767-45d7-aa48-8a140f9a5005", - "version": "2021-06-28T14:21:17.545000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2787792522, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_08755a99-c8f0-420a-9d21-4dca10b40ba5_0a3b3a90-9b36-4030-821e-7e50c1f833d9", - "crc32c": "71b46fde", - "sha1": "4c69c314d109422e806998f4a73131977e51a2c5", - "sha256": "26617f9afe828346983a9b372d493abbc48580293aa1eb17b14d69a9a9103020", - "s3_etag": "9e3d18fa00322a7bd0f2b77dcab8d605-42" - } - }, - "metadata": { - "process/02e69c25-71e2-48ca-a87b-e256938c6a98": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX5499352" - }, - "process_core": { - "process_id": "exp_2_hto" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "02e69c25-71e2-48ca-a87b-e256938c6a98", - "submission_date": "2021-06-28T14:21:18.700Z", - "update_date": "2021-06-28T14:21:38.648Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/341460a3-edf2-4f77-9625-7c6b92ac863e": { - "process_core": { - "process_id": "process_id_7" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "341460a3-edf2-4f77-9625-7c6b92ac863e", - "submission_date": "2021-06-28T14:21:18.054Z", - "update_date": "2021-06-28T14:21:36.494Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/3798c749-7f72-4847-a9d1-d99112f98162": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "3798c749-7f72-4847-a9d1-d99112f98162", - "submission_date": "2021-06-28T14:21:18.018Z", - "update_date": "2021-06-28T14:21:36.356Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/39fdb0ae-9a00-4829-a581-e7cb59798f02": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX5499353" - }, - "process_core": { - "process_id": "exp_2_gex" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "39fdb0ae-9a00-4829-a581-e7cb59798f02", - "submission_date": "2021-06-28T14:21:18.691Z", - "update_date": "2021-06-28T14:21:38.484Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/4b963d42-aad1-4f26-94d2-c13c8321c09d": { - "process_core": { - "process_id": "process_id_35" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "4b963d42-aad1-4f26-94d2-c13c8321c09d", - "submission_date": "2021-06-28T14:21:18.634Z", - "update_date": "2021-06-28T14:21:37.486Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/721fcf01-ab0d-4220-9dfc-396ca6991d1d": { - "process_core": { - "process_id": "process_id_4" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "721fcf01-ab0d-4220-9dfc-396ca6991d1d", - "submission_date": "2021-06-28T14:21:18.027Z", - "update_date": "2021-06-28T14:21:36.394Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/771e716e-9906-4f5d-b41a-2fa7cc9bd77b": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "771e716e-9906-4f5d-b41a-2fa7cc9bd77b", - "submission_date": "2021-06-28T14:21:17.998Z", - "update_date": "2021-06-28T14:21:36.286Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/7e90d996-b643-4732-af87-ac090325a6e8": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "7e90d996-b643-4732-af87-ac090325a6e8", - "submission_date": "2021-06-28T14:21:18.008Z", - "update_date": "2021-06-28T14:21:36.321Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/9a8d9df1-c511-4b6b-b6d3-cacc0eaf76c1": { - "process_core": { - "process_id": "process_id_8" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "9a8d9df1-c511-4b6b-b6d3-cacc0eaf76c1", - "submission_date": "2021-06-28T14:21:18.070Z", - "update_date": "2021-06-28T14:21:36.535Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/a85ceb28-cdb0-4021-98c8-752b9d07170a": { - "process_core": { - "process_id": "process_id_5" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a85ceb28-cdb0-4021-98c8-752b9d07170a", - "submission_date": "2021-06-28T14:21:18.035Z", - "update_date": "2021-06-28T14:21:36.423Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/bd774f12-82e6-4036-8779-d8674bce9205": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "bd774f12-82e6-4036-8779-d8674bce9205", - "submission_date": "2021-06-28T14:21:18.045Z", - "update_date": "2021-06-28T14:21:36.456Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/da317018-1b0b-4e4f-b508-2c1c7d049507": { - "process_core": { - "process_id": "exp2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "da317018-1b0b-4e4f-b508-2c1c7d049507", - "submission_date": "2021-06-28T14:21:18.755Z", - "update_date": "2021-06-28T14:21:39.847Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "specimen_from_organism/5608f2b1-d42f-4198-8d52-96e40e5239e4": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "S15_cortex", - "biomaterial_name": "S15 cortex", - "biomaterial_description": "S15 mouse cortex tagged with hashtag oligotide: TotalSeq-A0457, CTTATCACCGCTCAA", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organ_parts": [ - { - "text": "cerebral cortex", - "ontology": "UBERON:0000956", - "ontology_label": "cerebral cortex" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "5608f2b1-d42f-4198-8d52-96e40e5239e4", - "submission_date": "2021-06-28T14:21:16.987Z", - "update_date": "2021-06-28T14:21:29.425Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/5e9f5040-c83a-4442-8944-db144717107a": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "S10_cortex", - "biomaterial_name": "S10_cortex", - "biomaterial_description": "S10 mouse cortex tagged with hashtag oligotide: TotalSeq-A0452, CCGTACCTCATTGTT", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organ_parts": [ - { - "text": "cerebral cortex", - "ontology": "UBERON:0000956", - "ontology_label": "cerebral cortex" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "5e9f5040-c83a-4442-8944-db144717107a", - "submission_date": "2021-06-28T14:21:16.920Z", - "update_date": "2021-06-28T14:21:28.116Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/6254fedf-0978-45ee-af82-e7f30ffebf0c": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "S11_cortex", - "biomaterial_name": "S11_cortex", - "biomaterial_description": "S11 mouse cortex tagged with hashtag oligotide: TotalSeq-A0453, GGTAGATGTCCTCAG", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organ_parts": [ - { - "text": "cerebral cortex", - "ontology": "UBERON:0000956", - "ontology_label": "cerebral cortex" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "6254fedf-0978-45ee-af82-e7f30ffebf0c", - "submission_date": "2021-06-28T14:21:16.928Z", - "update_date": "2021-06-28T14:21:28.358Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/63170a26-263d-4207-8eab-871b687e234d": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "S09_cortex", - "biomaterial_name": "S09_cortex", - "biomaterial_description": "S09 mouse cortex tagged with hashtag oligotide: TotalSeq-A0451, TTCCTGCCATTACTA", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organ_parts": [ - { - "text": "cerebral cortex", - "ontology": "UBERON:0000956", - "ontology_label": "cerebral cortex" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "63170a26-263d-4207-8eab-871b687e234d", - "submission_date": "2021-06-28T14:21:16.911Z", - "update_date": "2021-06-28T14:21:27.364Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/9b1c871e-20db-487f-9acc-36740b75877b": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "S14_cortex", - "biomaterial_name": "S14 cortex", - "biomaterial_description": "S14 mouse cortex tagged with hashtag oligotide: TotalSeq-A0456, CTCGAACGCTTATCG", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organ_parts": [ - { - "text": "cerebral cortex", - "ontology": "UBERON:0000956", - "ontology_label": "cerebral cortex" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "9b1c871e-20db-487f-9acc-36740b75877b", - "submission_date": "2021-06-28T14:21:16.972Z", - "update_date": "2021-06-28T14:21:29.135Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/b5a382bd-34e5-429d-9013-3ff025ab322a": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "S13_cortex", - "biomaterial_name": "S13 cortex", - "biomaterial_description": "S13 mouse cortex tagged with hashtag oligotide: TotalSeq-A0455, ATGATGAACAGCCAG", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organ_parts": [ - { - "text": "cerebral cortex", - "ontology": "UBERON:0000956", - "ontology_label": "cerebral cortex" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "b5a382bd-34e5-429d-9013-3ff025ab322a", - "submission_date": "2021-06-28T14:21:16.961Z", - "update_date": "2021-06-28T14:21:28.745Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/b9a0edf6-77bc-4e4a-a200-5cda4f902c04": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "S12_cortex", - "biomaterial_name": "S12_cortex", - "biomaterial_description": "S12 mouse cortex tagged with hashtag oligotide: TotalSeq-A0454, TGGTGTCATTCTTGA", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organ_parts": [ - { - "text": "cerebral cortex", - "ontology": "UBERON:0000956", - "ontology_label": "cerebral cortex" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "b9a0edf6-77bc-4e4a-a200-5cda4f902c04", - "submission_date": "2021-06-28T14:21:16.940Z", - "update_date": "2021-06-28T14:21:28.542Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/e6b8f32e-7c8e-4308-b596-91006cde4b51": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "S16_cortex", - "biomaterial_name": "S16 cortex", - "biomaterial_description": "S16 mouse cortex tagged with hashtag oligotide: TotalSeq-A0458, TGACGCCGTTGTTGT", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organ_parts": [ - { - "text": "cerebral cortex", - "ontology": "UBERON:0000956", - "ontology_label": "cerebral cortex" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "e6b8f32e-7c8e-4308-b596-91006cde4b51", - "submission_date": "2021-06-28T14:21:17.006Z", - "update_date": "2021-06-28T14:21:29.819Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "sequence_file/000d1e4b-4c1f-40de-8fd6-8a3d1a26e1d2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_S2_L003_I1_001.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "insdc_run_accessions": [ - "SRR9132176" - ], - "library_prep_id": "exp_2_gex", - "provenance": { - "document_id": "000d1e4b-4c1f-40de-8fd6-8a3d1a26e1d2", - "submission_date": "2021-06-28T14:21:17.533Z", - "update_date": "2021-06-28T14:25:49.315Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/06d54587-f54b-490c-8d29-3d84025e3b14": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_S2_L002_R2_001.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 55, - "insdc_run_accessions": [ - "SRR9132175" - ], - "library_prep_id": "exp_2_gex", - "provenance": { - "document_id": "06d54587-f54b-490c-8d29-3d84025e3b14", - "submission_date": "2021-06-28T14:21:17.521Z", - "update_date": "2021-06-28T14:27:08.860Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/1697aa82-0910-44e6-ac07-2020248e1977": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_I1.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run_accessions": [ - "SRR8703774" - ], - "library_prep_id": "exp_2_hto", - "provenance": { - "document_id": "1697aa82-0910-44e6-ac07-2020248e1977", - "submission_date": "2021-06-28T14:21:17.614Z", - "update_date": "2021-06-28T14:25:18.287Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/49eefca3-6441-4a63-a0f0-178d6fc2573d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_R2.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 55, - "insdc_run_accessions": [ - "SRR8703774" - ], - "library_prep_id": "exp_2_hto", - "provenance": { - "document_id": "49eefca3-6441-4a63-a0f0-178d6fc2573d", - "submission_date": "2021-06-28T14:21:17.637Z", - "update_date": "2021-06-28T14:25:23.996Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/6b94ce38-27b9-460e-ab1b-bceb18275c71": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_S2_L001_I1_001.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run_accessions": [ - "SRR8703773" - ], - "library_prep_id": "exp_2_gex", - "provenance": { - "document_id": "6b94ce38-27b9-460e-ab1b-bceb18275c71", - "submission_date": "2021-06-28T14:21:17.456Z", - "update_date": "2021-06-28T14:25:27.696Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7c1802b3-0be5-4202-b14e-141974ca7fb3": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_S2_L002_I1_001.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "insdc_run_accessions": [ - "SRR9132175" - ], - "library_prep_id": "exp_2_gex", - "provenance": { - "document_id": "7c1802b3-0be5-4202-b14e-141974ca7fb3", - "submission_date": "2021-06-28T14:21:17.493Z", - "update_date": "2021-06-28T14:25:48.552Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/9610cb70-57c1-466d-b9c9-faa22aa7b917": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_S2_L001_R1_001.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 26, - "insdc_run_accessions": [ - "SRR8703773" - ], - "library_prep_id": "exp_2_gex", - "provenance": { - "document_id": "9610cb70-57c1-466d-b9c9-faa22aa7b917", - "submission_date": "2021-06-28T14:21:17.469Z", - "update_date": "2021-06-28T14:25:55.671Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/989f8f5d-710f-4529-b89b-0bfbf592951c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_R1.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 26, - "insdc_run_accessions": [ - "SRR8703774" - ], - "library_prep_id": "exp_2_hto", - "provenance": { - "document_id": "989f8f5d-710f-4529-b89b-0bfbf592951c", - "submission_date": "2021-06-28T14:21:17.626Z", - "update_date": "2021-06-28T14:25:20.570Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/a97f4858-0f13-405a-8b28-98ee5f997999": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_S2_L003_R2_001.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 55, - "insdc_run_accessions": [ - "SRR9132176" - ], - "library_prep_id": "exp_2_gex", - "provenance": { - "document_id": "a97f4858-0f13-405a-8b28-98ee5f997999", - "submission_date": "2021-06-28T14:21:17.557Z", - "update_date": "2021-06-28T14:27:40.101Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/bca273dd-1758-4439-b7e0-745755dcffa0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_S2_L001_R2_001.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 55, - "insdc_run_accessions": [ - "SRR8703773" - ], - "library_prep_id": "exp_2_gex", - "provenance": { - "document_id": "bca273dd-1758-4439-b7e0-745755dcffa0", - "submission_date": "2021-06-28T14:21:17.481Z", - "update_date": "2021-06-28T14:28:15.436Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c87f6dbf-1062-4e72-a19d-db779f1d3e66": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_S2_L002_R1_001.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 26, - "insdc_run_accessions": [ - "SRR9132175" - ], - "library_prep_id": "exp_2_gex", - "provenance": { - "document_id": "c87f6dbf-1062-4e72-a19d-db779f1d3e66", - "submission_date": "2021-06-28T14:21:17.506Z", - "update_date": "2021-06-28T14:26:27.988Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d86c34c4-0aeb-4f50-a53e-5a0983c906b7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_S2_L004_R1_001.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 26, - "insdc_run_accessions": [ - "SRR9132177" - ], - "library_prep_id": "exp_2_gex", - "provenance": { - "document_id": "d86c34c4-0aeb-4f50-a53e-5a0983c906b7", - "submission_date": "2021-06-28T14:21:17.582Z", - "update_date": "2021-06-28T14:26:28.387Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/dc5b2d96-ba74-4bd0-bcf0-747548e1c6d7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_S2_L004_I1_001.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "insdc_run_accessions": [ - "SRR9132177" - ], - "library_prep_id": "exp_2_gex", - "provenance": { - "document_id": "dc5b2d96-ba74-4bd0-bcf0-747548e1c6d7", - "submission_date": "2021-06-28T14:21:17.569Z", - "update_date": "2021-06-28T14:26:19.992Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/eacaacbb-f514-49bb-bfbf-ccb123c5bf2e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_S2_L004_R2_001.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 55, - "insdc_run_accessions": [ - "SRR9132177" - ], - "library_prep_id": "exp_2_gex", - "provenance": { - "document_id": "eacaacbb-f514-49bb-bfbf-ccb123c5bf2e", - "submission_date": "2021-06-28T14:21:17.599Z", - "update_date": "2021-06-28T14:27:41.339Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ee52ecd1-68c0-48dd-82c2-6d3e45869b38": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "mouse_cortex_S2_L003_R1_001.fastq", - "format": "fastq", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "file_source": "GEO" - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 26, - "insdc_run_accessions": [ - "SRR9132176" - ], - "library_prep_id": "exp_2_gex", - "provenance": { - "document_id": "ee52ecd1-68c0-48dd-82c2-6d3e45869b38", - "submission_date": "2021-06-28T14:21:17.545Z", - "update_date": "2021-06-28T14:26:57.370Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "analysis_protocol/89808d14-a99e-47d2-82cd-ff9621a32206": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/9.2.0/analysis_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "snRNAseq_data_analysis", - "protocol_name": "snRNAseq data analysis", - "protocol_description": "We ran cellranger mkfastq to extract sequence reads in FASTQ format, followed by cellranger count to generate gene-count matrices from the FASTQ files. We built and aligned reads to genome references with pre-mRNA annotations. For human and mouse data, we used the GRCh38 and mm10 genome references, respectively. To compare samples of interest (e.g., different loading concentrations), we pooled their gene- count matrices together, and filtered out low-quality nuclei identified based on any one of the following criteria: (1) a total number of expressed genes <200; (2) a total number of expressed genes > = 6000; or (3) a percentage of RNA UMIs from mitochondrial genes > = 10%." - }, - "type": { - "text": "expression matrix generation" - }, - "matrix": { - "derivation_process": [ - "cell filtering", - "gene filtering", - "alignment", - "merging" - ] - }, - "provenance": { - "document_id": "89808d14-a99e-47d2-82cd-ff9621a32206", - "submission_date": "2021-06-28T14:21:17.435Z", - "update_date": "2021-06-28T14:21:34.155Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "project/dc1a41f6-9e09-42a6-959e-3be23db6da56": { - "contributors": [ - { - "name": "Jellert,T,Gaublomme", - "email": "jellert.gaublomme@columbia.edu", - "institution": "Broad Institute of Harvard and MIT", - "laboratory": "Klarman Cell Observatory", - "address": "Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": true - }, - { - "name": "Bo,Li", - "institution": "Broad Institute of Harvard and MIT,", - "laboratory": "Klarman Cell Observatory", - "address": "Cambridge, MA, 02142", - "country": "USA", - "orcid_id": "0000-0003-0668-1620" - }, - { - "name": "Cristin,McCabe", - "institution": "Broad Institute of Harvard and MIT", - "laboratory": "Klarman Cell Observatory", - "address": "Cambridge, MA, 02142", - "country": "USA" - }, - { - "name": "Abigail,Knecht", - "institution": "Broad Institute of Harvard and MIT", - "laboratory": "Klarman Cell Observatory", - "address": "Cambridge, MA, 02142", - "country": "USA" - }, - { - "name": "Yiming,Yang", - "institution": "Massachusetts General Hospital and Harvard Medical School", - "laboratory": "Center for Immunology and Inflammatory Diseases, Division of Rheumatology, Allergy, and Immunology", - "address": "Boston, MA, 02129", - "country": "USA", - "orcid_id": "0000-0002-0386-9428" - }, - { - "name": "Eugene,Drokhlyansky", - "institution": "Broad Institute of Harvard and MIT", - "laboratory": "Klarman Cell Observatory", - "address": "Cambridge, MA, 02142,", - "country": "USA" - }, - { - "name": "Nicholas,Van Wittenberghe", - "institution": "Broad Institute of Harvard and MIT", - "laboratory": "Klarman Cell Observatory", - "address": "Cambridge, MA, 02142", - "country": "USA" - }, - { - "name": "Julia,Waldman", - "institution": "Broad Institute of Harvard and MIT", - "laboratory": "Klarman Cell Observatory", - "address": "Cambridge, MA, 02142", - "country": "USA" - }, - { - "name": "Danielle,Dionne", - "institution": "Broad Institute of Harvard and MIT", - "laboratory": "Klarman Cell Observatory", - "address": "Cambridge, MA, 02142", - "country": "USA", - "orcid_id": "0000-0002-8338-4323" - }, - { - "name": "Lan,Nguyen", - "institution": "Broad Institute of Harvard and MIT", - "laboratory": "Klarman Cell Observatory", - "address": "Cambridge, MA, 02142", - "country": "USA" - }, - { - "name": "Philip,L,De Jager", - "institution": "Columbia University Medical Center", - "laboratory": "Center for Translational & Computational Neuroimmunology", - "address": "New York, NY, 10019", - "country": "USA", - "orcid_id": "0000-0002-8057-2505" - }, - { - "name": "Bertrand,Yeung", - "institution": "BioLegend Inc.", - "laboratory": "", - "address": "San Diego, CA, 92121", - "country": "USA" - }, - { - "name": "Xinfang,Zhao", - "institution": "BioLegend Inc.", - "laboratory": "", - "address": "San Diego, CA, 92121", - "country": "USA" - }, - { - "name": "Naomi,Habib", - "institution": "Broad Institute of Harvard and MIT", - "laboratory": "Klarman Cell Observatory", - "address": "Cambridge, MA, 02142", - "country": "USA" - }, - { - "name": "Orit,Rozenblatt-Rosen", - "email": "orit@broadinstitute.org", - "institution": "Broad Institute of Harvard and MIT", - "laboratory": "Klarman Cell Observatory", - "address": "Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": true - }, - { - "name": "Aviv,Regev", - "email": "aregev@broadinstitute.org", - "institution": "Broad Institute of Harvard and MIT,", - "laboratory": "Klarman Cell Observatory", - "address": "Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": true - }, - { - "name": "Wei Kheng, Teh", - "email": "wteh@ebi.ac.uk", - "institution": "EMBL-EBI", - "project_role": { - "text": "data curator", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - } - ], - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "funders": [ - { - "grant_title": "NIH BRAIN Initiative Grant", - "grant_id": "U19MH114821", - "organization": "NIH" - }, - { - "grant_id": "Klarman Cell Observatory", - "organization": "Klarman Family Foundation" - } - ], - "insdc_project_accessions": [ - "SRP187985" - ], - "insdc_study_accessions": [ - "PRJNA526262" - ], - "project_core": { - "project_short_name": "NucleiMultiplexHashing", - "project_title": "Nuclei multiplexing with barcoded antibodies for single-nucleus genomics.", - "project_description": "Single-nucleus RNA-seq (snRNA-seq) enables the interrogation of cellular states in complex tissues that are challenging to dissociate or are frozen, and opens the way to human genetics studies, clinical trials, and precise cell atlases of large organs. However, such applications are currently limited by batch effects, processing, and costs. Here, we present an approach for multiplexing snRNA-seq, using sample-barcoded antibodies to uniquely label nuclei from distinct samples. Comparing human brain cortex samples profiled with or without hashing antibodies, we demonstrate that nucleus hashing does not significantly alter recovered profiles. We develop DemuxEM, a computational tool that detects inter-sample multiplets and assigns singlets to their sample of origin, and validate its accuracy using sex-specific gene expression, species-mixing and natural genetic variation. Our approach will facilitate tissue atlases of isogenic model organisms or from multiple biopsies or longitudinal samples of one donor, and large-scale perturbation screens." - }, - "publications": [ - { - "authors": [ - "Gaublomme JT", - "Li B", - "McCabe C", - "Knecht A", - "Yang Y", - "Drokhlyansky E", - "Van Wittenberghe N", - "Waldman J", - "Dionne D", - "Nguyen L", - "De Jager PL", - "Yeung B", - "Zhao X", - "Habib N", - "Rozenblatt-Rosen O", - "Regev A." - ], - "title": "Nuclei multiplexing with barcoded antibodies for single-nucleus genomics.", - "doi": "10.1038/s41467-019-10756-2", - "pmid": 31266958, - "url": "https://doi.org/10.1038/s41467-019-10756-2" - } - ], - "schema_type": "project", - "supplementary_links": [ - "https://singlecell.broadinstitute.org/single_cell/study/SCP377", - "https://www.synapse.org/#!Synapse:syn22213200", - "https://www.synapse.org/#!Synapse:syn2580853/wiki/409840", - "https://portals.broadinstitute.org/single_cell/study/SCP375/experiment-1-stonly", - "https://portals.broadinstitute.org/single_cell/study/SCP379/experiment-3-human-mouse-pbs-clust", - "https://portals.broadinstitute.org/single_cell/study/SCP381/experiment-4-human-st", - "https://portals.broadinstitute.org/single_cell/study/SCP371/experiment-1-all" - ], - "provenance": { - "document_id": "dc1a41f6-9e09-42a6-959e-3be23db6da56", - "submission_date": "2021-01-14T15:33:30.185Z", - "update_date": "2021-06-28T14:21:19.887Z", - "schema_major_version": 14, - "schema_minor_version": 1 - } - }, - "cell_suspension/db4b5711-0abd-44cd-ac94-cdaca0cb1de3": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "exp_2_pool", - "biomaterial_name": "Experiment 2 pool", - "biomaterial_description": "Pool of tagged nuclei from mouse donor samples S09-S16", - "ncbi_taxon_id": [ - 10090 - ], - "biosamples_accession": "SAMN11094055", - "insdc_sample_accession": "SRS4468604" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "estimated_cell_count": 7000, - "provenance": { - "document_id": "db4b5711-0abd-44cd-ac94-cdaca0cb1de3", - "submission_date": "2021-06-28T14:21:17.282Z", - "update_date": "2021-06-28T14:21:33.414Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "analysis_file/004d18f2-f23c-4fd1-af2e-f0a6a9e13cc9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.3.0/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "experiment2_mouse_pbs_scp_barcodes.tsv", - "format": "tsv", - "file_source": "SCP", - "content_description": [ - { - "text": "barcodes file" - } - ] - }, - "matrix_cell_count": 3402, - "provenance": { - "document_id": "004d18f2-f23c-4fd1-af2e-f0a6a9e13cc9", - "submission_date": "2021-06-28T14:21:17.953Z", - "update_date": "2021-06-28T14:22:53.630Z", - "schema_major_version": 6, - "schema_minor_version": 3 - } - }, - "analysis_file/4d64269d-bd3f-46c1-a179-1c27e1caeb30": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.3.0/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "experiment2_mouse_pbs_scp_matrix.mtx", - "format": "mtx", - "file_source": "SCP", - "content_description": [ - { - "text": "expression matrix", - "ontology": "data:3112", - "ontology_label": "Gene expression matrix" - } - ] - }, - "matrix_cell_count": 3402, - "provenance": { - "document_id": "4d64269d-bd3f-46c1-a179-1c27e1caeb30", - "submission_date": "2021-06-28T14:21:17.929Z", - "update_date": "2021-06-28T14:22:59.879Z", - "schema_major_version": 6, - "schema_minor_version": 3 - } - }, - "analysis_file/6ccd1b16-d3a9-4ba4-9dda-99aa882dfc2c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.3.0/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "experiment2_mouse_pbs_scp_genes.tsv", - "format": "tsv", - "file_source": "SCP", - "content_description": [ - { - "text": "genes file", - "ontology": "data:1025", - "ontology_label": "Gene identifier" - } - ] - }, - "provenance": { - "document_id": "6ccd1b16-d3a9-4ba4-9dda-99aa882dfc2c", - "submission_date": "2021-06-28T14:21:17.941Z", - "update_date": "2021-06-28T14:22:53.631Z", - "schema_major_version": 6, - "schema_minor_version": 3 - } - }, - "analysis_file/ad3f7b5e-77ed-4df1-a9af-5355f7951af4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.3.0/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "experiment2_mouse_pbs_scp_X_diffmap_pca_coords.txt", - "format": "txt", - "file_source": "SCP", - "content_description": [ - { - "text": "diffmap pca coordinates" - } - ] - }, - "matrix_cell_count": 3402, - "provenance": { - "document_id": "ad3f7b5e-77ed-4df1-a9af-5355f7951af4", - "submission_date": "2021-06-28T14:21:17.965Z", - "update_date": "2021-06-28T14:22:59.987Z", - "schema_major_version": 6, - "schema_minor_version": 3 - } - }, - "analysis_file/c61a76f4-aebe-4a18-b272-e2e78307bb4a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.3.0/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "experiment2_mouse_pbs_scp_metadata.txt", - "format": "txt", - "file_source": "SCP", - "content_description": [ - { - "text": "expression matrix" - } - ] - }, - "matrix_cell_count": 3402, - "provenance": { - "document_id": "c61a76f4-aebe-4a18-b272-e2e78307bb4a", - "submission_date": "2021-06-28T14:21:17.989Z", - "update_date": "2021-06-28T14:22:56.844Z", - "schema_major_version": 6, - "schema_minor_version": 3 - } - }, - "analysis_file/cde6359a-a2b0-421d-a898-c53278c21399": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.3.0/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "experiment2_mouse_pbs_scp_X_tsne_coords.txt", - "format": "txt", - "file_source": "SCP", - "content_description": [ - { - "text": "tsne coordinates" - } - ] - }, - "matrix_cell_count": 3402, - "provenance": { - "document_id": "cde6359a-a2b0-421d-a898-c53278c21399", - "submission_date": "2021-06-28T14:21:17.977Z", - "update_date": "2021-06-28T14:22:57.053Z", - "schema_major_version": 6, - "schema_minor_version": 3 - } - }, - "library_preparation_protocol/6a72730a-1485-48f4-9b26-adc87380ad9b": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "gex_library_preparation", - "protocol_name": "10X 3' v2 gex for hashed nuclei", - "protocol_description": "14\u00b5l of pooled sample as input into the 10X Genomics single-cell 3\u2019 v2 assay and process proceeded as described until before cDNA amplification. mRNA-derived cDNAs (>300bp) were separated from oligo-derive cDNAs using SPRI selection. mRNA derived cDNAs underwent standard 10X protocol for cDNA sequencing library preparation. mRNA derived and HTO cDNAs were pooled prior to sequencing (~90% mRNA to 10% HTO)." - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "input_nucleic_acid_molecule": { - "text": "poly A RNA", - "ontology": "OBI:0000869", - "ontology_label": "poly A RNA" - }, - "nucleic_acid_source": "single nucleus", - "library_construction_method": { - "text": "10x v2 3'", - "ontology": "EFO:0009899", - "ontology_label": "10x v2 3'" - }, - "end_bias": "3 prime tag", - "strand": "first", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 16, - "barcode_length": 10 - }, - "nominal_length": 300, - "cdna_library_amplification_method": { - "text": "PCR" - }, - "provenance": { - "document_id": "6a72730a-1485-48f4-9b26-adc87380ad9b", - "submission_date": "2021-06-28T14:21:17.398Z", - "update_date": "2021-06-28T14:21:34.113Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "library_preparation_protocol/c375019a-ef94-452b-b111-32244bdc054a": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "hto_library_preparation", - "protocol_name": "HTO Library Preparation", - "protocol_description": "To increase yield of HTO products during the 10X Genomics cDNA amplification step, cDNA was amplified with HTO PCR additive primer. SPRI selection was performed to separate mRNA-derived and antibody oligo-derived cDNAs by selecting for fragments <180bp. Hashtags were purified using two 2X SPRI purifications as per the manufacturer protocol. mRNA library and HTO library was pooled (~90% mRNA to 10% HTO) for sequencing." - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "input_nucleic_acid_molecule": { - "text": "poly A RNA", - "ontology": "OBI:0000869", - "ontology_label": "poly A RNA" - }, - "nucleic_acid_source": "single nucleus", - "library_construction_method": { - "text": "10x v2 3'", - "ontology": "EFO:0009899", - "ontology_label": "10x v2 3'" - }, - "end_bias": "3 prime tag", - "strand": "first", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 16, - "barcode_length": 10 - }, - "nominal_length": 180, - "cdna_library_amplification_method": { - "text": "PCR" - }, - "provenance": { - "document_id": "c375019a-ef94-452b-b111-32244bdc054a", - "submission_date": "2021-06-28T14:21:17.409Z", - "update_date": "2021-06-28T14:21:34.123Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "enrichment_protocol/d3372c5a-20ea-4239-bfef-c11894862897": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "nuclei_filtering_hashing_pbs", - "protocol_name": "Nuclei filtering and antibody staining using PBS-based staining buffer.", - "protocol_description": "Lysate was filtered through the 30\u03bcm filter, resuspended in 200\u03bcl of PBS, and filtered with a 20um filter. A brief incubation with Fc receptor-blocking solution was followed by incubation with the TotalSeq Hashtag antibodies against the nuclear pore complex (MAb414) at 1 \u03bcg/100 \u03bcl and three washes in PBS. Nuclei were counted using the Nexcelom Cellometer Vision 10x objective and a DAPI stain. Nuclei were pooled at desired proportions and immediately used as input to the 10x single-cell 3\u2019 v2 until before cDNA amplification." - }, - "method": { - "text": "cell size selection", - "ontology": "EFO:0009337", - "ontology_label": "cell size selection" - }, - "markers": "DAPI+", - "maximum_size": 20, - "provenance": { - "document_id": "d3372c5a-20ea-4239-bfef-c11894862897", - "submission_date": "2021-06-28T14:21:17.382Z", - "update_date": "2021-06-28T14:21:34.102Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - }, - "dissociation_protocol/ab3e3079-2eea-49cd-836f-5b9f4cf27b86": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "nuclei_isolation", - "protocol_description": "A 50-200mg section of frozen brain tissue was cut with a scalpel and dissected to remove white matter and vasculature. Tissue was minced and added to the homogenizer then dounced in ST lysis buffer." - }, - "method": { - "text": "mechanical dissociation", - "ontology": "EFO:0009129", - "ontology_label": "mechanical dissociation" - }, - "provenance": { - "document_id": "ab3e3079-2eea-49cd-836f-5b9f4cf27b86", - "submission_date": "2021-06-28T14:21:17.355Z", - "update_date": "2021-06-28T14:21:34.070Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "collection_protocol/133e78ac-aa06-4a0b-b43f-0e9e2148d528": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "mouse_collection_protocol", - "protocol_name": "Mouse collection protocol", - "protocol_description": "Brains from C57BL/6J mice were obtained and split vertically along the sagittal midline. The cerebral cortices were separated, and excess white matter was removed. Cortices were separated into microcentrifuge tubes and frozen on dry ice. Frozen tissue was stored at \u221280 \u00b0C" - }, - "method": { - "text": "dissection", - "ontology": "EFO:0003856", - "ontology_label": "dissection" - }, - "provenance": { - "document_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528", - "submission_date": "2021-06-28T14:21:17.337Z", - "update_date": "2021-06-28T14:21:34.048Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "donor_organism/014494a0-adde-4ac6-90c1-2b5824a8717c": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "male_mouse", - "biomaterial_name": "male mouse", - "biomaterial_description": "male mouse donor", - "ncbi_taxon_id": [ - 10090 - ] - }, - "mouse_specific": { - "strain": [ - { - "text": "C57BL/6J", - "ontology": "EFO:0000606", - "ontology_label": "C57BL/6J" - } - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "sex": "male", - "is_living": "no", - "development_stage": { - "text": "adult", - "ontology": "UBERON:0000113", - "ontology_label": "post-juvenile adult stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "euthanasia" - }, - "provenance": { - "document_id": "014494a0-adde-4ac6-90c1-2b5824a8717c", - "submission_date": "2021-06-28T14:21:16.902Z", - "update_date": "2021-06-28T14:21:24.726Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "donor_organism/c10356c8-e081-4f97-8e85-0ea87b8eb84b": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "female_mouse", - "biomaterial_name": "female mouse", - "biomaterial_description": "female mouse donor", - "ncbi_taxon_id": [ - 10090 - ] - }, - "mouse_specific": { - "strain": [ - { - "text": "C57BL/6J", - "ontology": "EFO:0000606", - "ontology_label": "C57BL/6J" - } - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "sex": "female", - "is_living": "no", - "development_stage": { - "text": "adult", - "ontology": "UBERON:0000113", - "ontology_label": "post-juvenile adult stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "euthanasia" - }, - "provenance": { - "document_id": "c10356c8-e081-4f97-8e85-0ea87b8eb84b", - "submission_date": "2021-06-28T14:21:16.893Z", - "update_date": "2021-06-28T14:21:23.060Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "sequencing_protocol/6b2c7ae7-1d15-4914-a9e9-14233afd5c3f": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "nextseq500_sequencing", - "protocol_name": "NextSeq 500 Sequencing", - "protocol_description": "Performed as per manufacturers instructions. Read1 is 26bp, Read2 is 55bp, Index1 is 8bp in length." - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0009173", - "ontology_label": "Illumina NextSeq 500" - }, - "paired_end": false, - "method": { - "text": "tag-based single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "10x": { - "fastq_method": "Cellranger mkfastq" - }, - "provenance": { - "document_id": "6b2c7ae7-1d15-4914-a9e9-14233afd5c3f", - "submission_date": "2021-06-28T14:21:17.426Z", - "update_date": "2021-06-28T14:21:34.145Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - } - }, - "links": { - "schema_type": "links", - "schema_version": "3.0.0", - "describedBy": "https://schema.humancellatlas.org/system/3.0.0/links", - "links": [ - { - "link_type": "process_link", - "process_id": "02e69c25-71e2-48ca-a87b-e256938c6a98", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "db4b5711-0abd-44cd-ac94-cdaca0cb1de3" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "1697aa82-0910-44e6-ac07-2020248e1977" - }, - { - "output_type": "sequence_file", - "output_id": "989f8f5d-710f-4529-b89b-0bfbf592951c" - }, - { - "output_type": "sequence_file", - "output_id": "49eefca3-6441-4a63-a0f0-178d6fc2573d" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "c375019a-ef94-452b-b111-32244bdc054a" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "6b2c7ae7-1d15-4914-a9e9-14233afd5c3f" - } - ] - }, - { - "link_type": "process_link", - "process_id": "4b963d42-aad1-4f26-94d2-c13c8321c09d", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "63170a26-263d-4207-8eab-871b687e234d" - }, - { - "input_type": "specimen_from_organism", - "input_id": "5e9f5040-c83a-4442-8944-db144717107a" - }, - { - "input_type": "specimen_from_organism", - "input_id": "6254fedf-0978-45ee-af82-e7f30ffebf0c" - }, - { - "input_type": "specimen_from_organism", - "input_id": "b9a0edf6-77bc-4e4a-a200-5cda4f902c04" - }, - { - "input_type": "specimen_from_organism", - "input_id": "b5a382bd-34e5-429d-9013-3ff025ab322a" - }, - { - "input_type": "specimen_from_organism", - "input_id": "9b1c871e-20db-487f-9acc-36740b75877b" - }, - { - "input_type": "specimen_from_organism", - "input_id": "5608f2b1-d42f-4198-8d52-96e40e5239e4" - }, - { - "input_type": "specimen_from_organism", - "input_id": "e6b8f32e-7c8e-4308-b596-91006cde4b51" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "db4b5711-0abd-44cd-ac94-cdaca0cb1de3" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "ab3e3079-2eea-49cd-836f-5b9f4cf27b86" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "d3372c5a-20ea-4239-bfef-c11894862897" - } - ] - }, - { - "link_type": "process_link", - "process_id": "771e716e-9906-4f5d-b41a-2fa7cc9bd77b", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "c10356c8-e081-4f97-8e85-0ea87b8eb84b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "63170a26-263d-4207-8eab-871b687e234d" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "7e90d996-b643-4732-af87-ac090325a6e8", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "c10356c8-e081-4f97-8e85-0ea87b8eb84b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5e9f5040-c83a-4442-8944-db144717107a" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "3798c749-7f72-4847-a9d1-d99112f98162", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "c10356c8-e081-4f97-8e85-0ea87b8eb84b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "6254fedf-0978-45ee-af82-e7f30ffebf0c" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "721fcf01-ab0d-4220-9dfc-396ca6991d1d", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "c10356c8-e081-4f97-8e85-0ea87b8eb84b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "b9a0edf6-77bc-4e4a-a200-5cda4f902c04" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "a85ceb28-cdb0-4021-98c8-752b9d07170a", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "014494a0-adde-4ac6-90c1-2b5824a8717c" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "b5a382bd-34e5-429d-9013-3ff025ab322a" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "bd774f12-82e6-4036-8779-d8674bce9205", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "014494a0-adde-4ac6-90c1-2b5824a8717c" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "9b1c871e-20db-487f-9acc-36740b75877b" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "341460a3-edf2-4f77-9625-7c6b92ac863e", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "014494a0-adde-4ac6-90c1-2b5824a8717c" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5608f2b1-d42f-4198-8d52-96e40e5239e4" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "9a8d9df1-c511-4b6b-b6d3-cacc0eaf76c1", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "014494a0-adde-4ac6-90c1-2b5824a8717c" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "e6b8f32e-7c8e-4308-b596-91006cde4b51" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "da317018-1b0b-4e4f-b508-2c1c7d049507", - "process_type": "process", - "inputs": [ - { - "input_type": "sequence_file", - "input_id": "6b94ce38-27b9-460e-ab1b-bceb18275c71" - }, - { - "input_type": "sequence_file", - "input_id": "9610cb70-57c1-466d-b9c9-faa22aa7b917" - }, - { - "input_type": "sequence_file", - "input_id": "bca273dd-1758-4439-b7e0-745755dcffa0" - }, - { - "input_type": "sequence_file", - "input_id": "7c1802b3-0be5-4202-b14e-141974ca7fb3" - }, - { - "input_type": "sequence_file", - "input_id": "c87f6dbf-1062-4e72-a19d-db779f1d3e66" - }, - { - "input_type": "sequence_file", - "input_id": "06d54587-f54b-490c-8d29-3d84025e3b14" - }, - { - "input_type": "sequence_file", - "input_id": "000d1e4b-4c1f-40de-8fd6-8a3d1a26e1d2" - }, - { - "input_type": "sequence_file", - "input_id": "ee52ecd1-68c0-48dd-82c2-6d3e45869b38" - }, - { - "input_type": "sequence_file", - "input_id": "a97f4858-0f13-405a-8b28-98ee5f997999" - }, - { - "input_type": "sequence_file", - "input_id": "dc5b2d96-ba74-4bd0-bcf0-747548e1c6d7" - }, - { - "input_type": "sequence_file", - "input_id": "d86c34c4-0aeb-4f50-a53e-5a0983c906b7" - }, - { - "input_type": "sequence_file", - "input_id": "eacaacbb-f514-49bb-bfbf-ccb123c5bf2e" - }, - { - "input_type": "sequence_file", - "input_id": "1697aa82-0910-44e6-ac07-2020248e1977" - }, - { - "input_type": "sequence_file", - "input_id": "989f8f5d-710f-4529-b89b-0bfbf592951c" - }, - { - "input_type": "sequence_file", - "input_id": "49eefca3-6441-4a63-a0f0-178d6fc2573d" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "4d64269d-bd3f-46c1-a179-1c27e1caeb30" - }, - { - "output_type": "analysis_file", - "output_id": "6ccd1b16-d3a9-4ba4-9dda-99aa882dfc2c" - }, - { - "output_type": "analysis_file", - "output_id": "004d18f2-f23c-4fd1-af2e-f0a6a9e13cc9" - }, - { - "output_type": "analysis_file", - "output_id": "ad3f7b5e-77ed-4df1-a9af-5355f7951af4" - }, - { - "output_type": "analysis_file", - "output_id": "cde6359a-a2b0-421d-a898-c53278c21399" - }, - { - "output_type": "analysis_file", - "output_id": "c61a76f4-aebe-4a18-b272-e2e78307bb4a" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "89808d14-a99e-47d2-82cd-ff9621a32206" - } - ] - }, - { - "link_type": "process_link", - "process_id": "39fdb0ae-9a00-4829-a581-e7cb59798f02", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "db4b5711-0abd-44cd-ac94-cdaca0cb1de3" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "6b94ce38-27b9-460e-ab1b-bceb18275c71" - }, - { - "output_type": "sequence_file", - "output_id": "9610cb70-57c1-466d-b9c9-faa22aa7b917" - }, - { - "output_type": "sequence_file", - "output_id": "bca273dd-1758-4439-b7e0-745755dcffa0" - }, - { - "output_type": "sequence_file", - "output_id": "7c1802b3-0be5-4202-b14e-141974ca7fb3" - }, - { - "output_type": "sequence_file", - "output_id": "c87f6dbf-1062-4e72-a19d-db779f1d3e66" - }, - { - "output_type": "sequence_file", - "output_id": "06d54587-f54b-490c-8d29-3d84025e3b14" - }, - { - "output_type": "sequence_file", - "output_id": "000d1e4b-4c1f-40de-8fd6-8a3d1a26e1d2" - }, - { - "output_type": "sequence_file", - "output_id": "ee52ecd1-68c0-48dd-82c2-6d3e45869b38" - }, - { - "output_type": "sequence_file", - "output_id": "a97f4858-0f13-405a-8b28-98ee5f997999" - }, - { - "output_type": "sequence_file", - "output_id": "dc5b2d96-ba74-4bd0-bcf0-747548e1c6d7" - }, - { - "output_type": "sequence_file", - "output_id": "d86c34c4-0aeb-4f50-a53e-5a0983c906b7" - }, - { - "output_type": "sequence_file", - "output_id": "eacaacbb-f514-49bb-bfbf-ccb123c5bf2e" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "6a72730a-1485-48f4-9b26-adc87380ad9b" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "6b2c7ae7-1d15-4914-a9e9-14233afd5c3f" - } - ] - }, - { - "link_type": "process_link", - "process_id": "4b963d42-aad1-4f26-94d2-c13c8321c09d", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "63170a26-263d-4207-8eab-871b687e234d" - }, - { - "input_type": "specimen_from_organism", - "input_id": "5e9f5040-c83a-4442-8944-db144717107a" - }, - { - "input_type": "specimen_from_organism", - "input_id": "6254fedf-0978-45ee-af82-e7f30ffebf0c" - }, - { - "input_type": "specimen_from_organism", - "input_id": "b9a0edf6-77bc-4e4a-a200-5cda4f902c04" - }, - { - "input_type": "specimen_from_organism", - "input_id": "b5a382bd-34e5-429d-9013-3ff025ab322a" - }, - { - "input_type": "specimen_from_organism", - "input_id": "9b1c871e-20db-487f-9acc-36740b75877b" - }, - { - "input_type": "specimen_from_organism", - "input_id": "5608f2b1-d42f-4198-8d52-96e40e5239e4" - }, - { - "input_type": "specimen_from_organism", - "input_id": "e6b8f32e-7c8e-4308-b596-91006cde4b51" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "db4b5711-0abd-44cd-ac94-cdaca0cb1de3" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "ab3e3079-2eea-49cd-836f-5b9f4cf27b86" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "d3372c5a-20ea-4239-bfef-c11894862897" - } - ] - }, - { - "link_type": "process_link", - "process_id": "771e716e-9906-4f5d-b41a-2fa7cc9bd77b", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "c10356c8-e081-4f97-8e85-0ea87b8eb84b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "63170a26-263d-4207-8eab-871b687e234d" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "7e90d996-b643-4732-af87-ac090325a6e8", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "c10356c8-e081-4f97-8e85-0ea87b8eb84b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5e9f5040-c83a-4442-8944-db144717107a" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "3798c749-7f72-4847-a9d1-d99112f98162", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "c10356c8-e081-4f97-8e85-0ea87b8eb84b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "6254fedf-0978-45ee-af82-e7f30ffebf0c" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "721fcf01-ab0d-4220-9dfc-396ca6991d1d", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "c10356c8-e081-4f97-8e85-0ea87b8eb84b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "b9a0edf6-77bc-4e4a-a200-5cda4f902c04" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "a85ceb28-cdb0-4021-98c8-752b9d07170a", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "014494a0-adde-4ac6-90c1-2b5824a8717c" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "b5a382bd-34e5-429d-9013-3ff025ab322a" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "bd774f12-82e6-4036-8779-d8674bce9205", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "014494a0-adde-4ac6-90c1-2b5824a8717c" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "9b1c871e-20db-487f-9acc-36740b75877b" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "341460a3-edf2-4f77-9625-7c6b92ac863e", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "014494a0-adde-4ac6-90c1-2b5824a8717c" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5608f2b1-d42f-4198-8d52-96e40e5239e4" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "9a8d9df1-c511-4b6b-b6d3-cacc0eaf76c1", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "014494a0-adde-4ac6-90c1-2b5824a8717c" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "e6b8f32e-7c8e-4308-b596-91006cde4b51" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "da317018-1b0b-4e4f-b508-2c1c7d049507", - "process_type": "process", - "inputs": [ - { - "input_type": "sequence_file", - "input_id": "6b94ce38-27b9-460e-ab1b-bceb18275c71" - }, - { - "input_type": "sequence_file", - "input_id": "9610cb70-57c1-466d-b9c9-faa22aa7b917" - }, - { - "input_type": "sequence_file", - "input_id": "bca273dd-1758-4439-b7e0-745755dcffa0" - }, - { - "input_type": "sequence_file", - "input_id": "7c1802b3-0be5-4202-b14e-141974ca7fb3" - }, - { - "input_type": "sequence_file", - "input_id": "c87f6dbf-1062-4e72-a19d-db779f1d3e66" - }, - { - "input_type": "sequence_file", - "input_id": "06d54587-f54b-490c-8d29-3d84025e3b14" - }, - { - "input_type": "sequence_file", - "input_id": "000d1e4b-4c1f-40de-8fd6-8a3d1a26e1d2" - }, - { - "input_type": "sequence_file", - "input_id": "ee52ecd1-68c0-48dd-82c2-6d3e45869b38" - }, - { - "input_type": "sequence_file", - "input_id": "a97f4858-0f13-405a-8b28-98ee5f997999" - }, - { - "input_type": "sequence_file", - "input_id": "dc5b2d96-ba74-4bd0-bcf0-747548e1c6d7" - }, - { - "input_type": "sequence_file", - "input_id": "d86c34c4-0aeb-4f50-a53e-5a0983c906b7" - }, - { - "input_type": "sequence_file", - "input_id": "eacaacbb-f514-49bb-bfbf-ccb123c5bf2e" - }, - { - "input_type": "sequence_file", - "input_id": "1697aa82-0910-44e6-ac07-2020248e1977" - }, - { - "input_type": "sequence_file", - "input_id": "989f8f5d-710f-4529-b89b-0bfbf592951c" - }, - { - "input_type": "sequence_file", - "input_id": "49eefca3-6441-4a63-a0f0-178d6fc2573d" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "4d64269d-bd3f-46c1-a179-1c27e1caeb30" - }, - { - "output_type": "analysis_file", - "output_id": "6ccd1b16-d3a9-4ba4-9dda-99aa882dfc2c" - }, - { - "output_type": "analysis_file", - "output_id": "004d18f2-f23c-4fd1-af2e-f0a6a9e13cc9" - }, - { - "output_type": "analysis_file", - "output_id": "ad3f7b5e-77ed-4df1-a9af-5355f7951af4" - }, - { - "output_type": "analysis_file", - "output_id": "cde6359a-a2b0-421d-a898-c53278c21399" - }, - { - "output_type": "analysis_file", - "output_id": "c61a76f4-aebe-4a18-b272-e2e78307bb4a" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "89808d14-a99e-47d2-82cd-ff9621a32206" - } - ] - }, - { - "link_type": "process_link", - "process_id": "02e69c25-71e2-48ca-a87b-e256938c6a98", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "db4b5711-0abd-44cd-ac94-cdaca0cb1de3" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "1697aa82-0910-44e6-ac07-2020248e1977" - }, - { - "output_type": "sequence_file", - "output_id": "989f8f5d-710f-4529-b89b-0bfbf592951c" - }, - { - "output_type": "sequence_file", - "output_id": "49eefca3-6441-4a63-a0f0-178d6fc2573d" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "c375019a-ef94-452b-b111-32244bdc054a" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "6b2c7ae7-1d15-4914-a9e9-14233afd5c3f" - } - ] - }, - { - "link_type": "process_link", - "process_id": "4b963d42-aad1-4f26-94d2-c13c8321c09d", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "63170a26-263d-4207-8eab-871b687e234d" - }, - { - "input_type": "specimen_from_organism", - "input_id": "5e9f5040-c83a-4442-8944-db144717107a" - }, - { - "input_type": "specimen_from_organism", - "input_id": "6254fedf-0978-45ee-af82-e7f30ffebf0c" - }, - { - "input_type": "specimen_from_organism", - "input_id": "b9a0edf6-77bc-4e4a-a200-5cda4f902c04" - }, - { - "input_type": "specimen_from_organism", - "input_id": "b5a382bd-34e5-429d-9013-3ff025ab322a" - }, - { - "input_type": "specimen_from_organism", - "input_id": "9b1c871e-20db-487f-9acc-36740b75877b" - }, - { - "input_type": "specimen_from_organism", - "input_id": "5608f2b1-d42f-4198-8d52-96e40e5239e4" - }, - { - "input_type": "specimen_from_organism", - "input_id": "e6b8f32e-7c8e-4308-b596-91006cde4b51" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "db4b5711-0abd-44cd-ac94-cdaca0cb1de3" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "ab3e3079-2eea-49cd-836f-5b9f4cf27b86" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "d3372c5a-20ea-4239-bfef-c11894862897" - } - ] - }, - { - "link_type": "process_link", - "process_id": "771e716e-9906-4f5d-b41a-2fa7cc9bd77b", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "c10356c8-e081-4f97-8e85-0ea87b8eb84b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "63170a26-263d-4207-8eab-871b687e234d" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "7e90d996-b643-4732-af87-ac090325a6e8", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "c10356c8-e081-4f97-8e85-0ea87b8eb84b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5e9f5040-c83a-4442-8944-db144717107a" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "3798c749-7f72-4847-a9d1-d99112f98162", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "c10356c8-e081-4f97-8e85-0ea87b8eb84b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "6254fedf-0978-45ee-af82-e7f30ffebf0c" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "721fcf01-ab0d-4220-9dfc-396ca6991d1d", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "c10356c8-e081-4f97-8e85-0ea87b8eb84b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "b9a0edf6-77bc-4e4a-a200-5cda4f902c04" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "a85ceb28-cdb0-4021-98c8-752b9d07170a", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "014494a0-adde-4ac6-90c1-2b5824a8717c" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "b5a382bd-34e5-429d-9013-3ff025ab322a" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "bd774f12-82e6-4036-8779-d8674bce9205", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "014494a0-adde-4ac6-90c1-2b5824a8717c" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "9b1c871e-20db-487f-9acc-36740b75877b" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "341460a3-edf2-4f77-9625-7c6b92ac863e", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "014494a0-adde-4ac6-90c1-2b5824a8717c" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5608f2b1-d42f-4198-8d52-96e40e5239e4" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "9a8d9df1-c511-4b6b-b6d3-cacc0eaf76c1", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "014494a0-adde-4ac6-90c1-2b5824a8717c" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "e6b8f32e-7c8e-4308-b596-91006cde4b51" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "133e78ac-aa06-4a0b-b43f-0e9e2148d528" - } - ] - }, - { - "link_type": "process_link", - "process_id": "da317018-1b0b-4e4f-b508-2c1c7d049507", - "process_type": "process", - "inputs": [ - { - "input_type": "sequence_file", - "input_id": "6b94ce38-27b9-460e-ab1b-bceb18275c71" - }, - { - "input_type": "sequence_file", - "input_id": "9610cb70-57c1-466d-b9c9-faa22aa7b917" - }, - { - "input_type": "sequence_file", - "input_id": "bca273dd-1758-4439-b7e0-745755dcffa0" - }, - { - "input_type": "sequence_file", - "input_id": "7c1802b3-0be5-4202-b14e-141974ca7fb3" - }, - { - "input_type": "sequence_file", - "input_id": "c87f6dbf-1062-4e72-a19d-db779f1d3e66" - }, - { - "input_type": "sequence_file", - "input_id": "06d54587-f54b-490c-8d29-3d84025e3b14" - }, - { - "input_type": "sequence_file", - "input_id": "000d1e4b-4c1f-40de-8fd6-8a3d1a26e1d2" - }, - { - "input_type": "sequence_file", - "input_id": "ee52ecd1-68c0-48dd-82c2-6d3e45869b38" - }, - { - "input_type": "sequence_file", - "input_id": "a97f4858-0f13-405a-8b28-98ee5f997999" - }, - { - "input_type": "sequence_file", - "input_id": "dc5b2d96-ba74-4bd0-bcf0-747548e1c6d7" - }, - { - "input_type": "sequence_file", - "input_id": "d86c34c4-0aeb-4f50-a53e-5a0983c906b7" - }, - { - "input_type": "sequence_file", - "input_id": "eacaacbb-f514-49bb-bfbf-ccb123c5bf2e" - }, - { - "input_type": "sequence_file", - "input_id": "1697aa82-0910-44e6-ac07-2020248e1977" - }, - { - "input_type": "sequence_file", - "input_id": "989f8f5d-710f-4529-b89b-0bfbf592951c" - }, - { - "input_type": "sequence_file", - "input_id": "49eefca3-6441-4a63-a0f0-178d6fc2573d" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "4d64269d-bd3f-46c1-a179-1c27e1caeb30" - }, - { - "output_type": "analysis_file", - "output_id": "6ccd1b16-d3a9-4ba4-9dda-99aa882dfc2c" - }, - { - "output_type": "analysis_file", - "output_id": "004d18f2-f23c-4fd1-af2e-f0a6a9e13cc9" - }, - { - "output_type": "analysis_file", - "output_id": "ad3f7b5e-77ed-4df1-a9af-5355f7951af4" - }, - { - "output_type": "analysis_file", - "output_id": "cde6359a-a2b0-421d-a898-c53278c21399" - }, - { - "output_type": "analysis_file", - "output_id": "c61a76f4-aebe-4a18-b272-e2e78307bb4a" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "89808d14-a99e-47d2-82cd-ff9621a32206" - } - ] - } - ] - }, - "stitched": [ - "000d1e4b-4c1f-40de-8fd6-8a3d1a26e1d2", - "035ded30-cc0f-4e93-b675-8496f7146a27", - "06d54587-f54b-490c-8d29-3d84025e3b14", - "16c2629e-f042-4eef-a40e-3643dacf9926", - "1a2e6680-19be-406a-852f-51eda87d7e42", - "39fdb0ae-9a00-4829-a581-e7cb59798f02", - "3cd05b67-22cf-4bea-988a-7a1fb8104fa9", - "64eeaef0-b669-4637-9333-466c78643c09", - "6a72730a-1485-48f4-9b26-adc87380ad9b", - "6b94ce38-27b9-460e-ab1b-bceb18275c71", - "7113cb1e-7289-4fe2-ba15-bbe0620bd808", - "7c1802b3-0be5-4202-b14e-141974ca7fb3", - "87e562e3-cb28-4239-bdf6-5c562d35963a", - "9610cb70-57c1-466d-b9c9-faa22aa7b917", - "9c473261-cbb8-462f-ae4a-778a3ae8c566", - "9fa34db2-7968-4749-a83f-91ec2b12982d", - "a97f4858-0f13-405a-8b28-98ee5f997999", - "bca273dd-1758-4439-b7e0-745755dcffa0", - "c87f6dbf-1062-4e72-a19d-db779f1d3e66", - "d3965eac-1d56-4809-bf64-8291c9bbdf2f", - "d5925eb4-5192-4bc0-83e4-5c6d847118ef", - "d86c34c4-0aeb-4f50-a53e-5a0983c906b7", - "dc5b2d96-ba74-4bd0-bcf0-747548e1c6d7", - "eacaacbb-f514-49bb-bfbf-ccb123c5bf2e", - "ee52ecd1-68c0-48dd-82c2-6d3e45869b38", - "fd13fc62-8767-45d7-aa48-8a140f9a5005" - ] -} \ No newline at end of file diff --git a/test/indexer/data/04836733-0449-4e57-be2e-6f3b8fbdfb12.dss.hca.json b/test/indexer/data/04836733-0449-4e57-be2e-6f3b8fbdfb12.dss.hca.json deleted file mode 100644 index 90c95400a3..0000000000 --- a/test/indexer/data/04836733-0449-4e57-be2e-6f3b8fbdfb12.dss.hca.json +++ /dev/null @@ -1,34999 +0,0 @@ -{ - "manifest": { - "sequence_file/dd8ac880-75c4-4fe8-89e3-2cc41dad784a": { - "name": "Young3_S11_L002_R2_001.fastq.gz", - "uuid": "00823629-0112-408a-bcf2-41833b245e93", - "version": "2021-05-10T23:24:56.599000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1399015453, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a0c5b82e-0a50-469c-a3e9-a99d24b75abe", - "crc32c": "9483ee43", - "sha1": "93e2ddbcb5df0a8f49c4e5b0fd8ef847d627e890", - "sha256": "859263f852d69f4d13b35843ca8e812e5aac440b1acd6929072ea4aee411474c", - "s3_etag": "681b47e8bb8639787556481328f0c085-21" - }, - "sequence_file/6ea00f5c-7e63-493b-b6f9-68ba54dbbed3": { - "name": "Fetal1_S46_L002_R1_001.fastq.gz", - "uuid": "00c95530-9f10-4401-8bfa-69162c212d50", - "version": "2021-05-10T23:24:57.256000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 885462729, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_14c0d71c-bf57-4261-846c-0b656ab50896", - "crc32c": "acca3bca", - "sha1": "3d27d36a8c532e9fe3e29f267c263171ade174ee", - "sha256": "15d8c3a615dac02acc6bdbe796d6c8e87c230f2428cb0404e150001284ac2040", - "s3_etag": "1aea2683bbe9211858a899a2d039758b-14" - }, - "sequence_file/fea7ae13-ad77-4b59-9922-14f748263eac": { - "name": "Young2_S42_L002_R2_001.fastq.gz", - "uuid": "00d1ba09-4cf7-4325-8557-96febd0cdb76", - "version": "2021-05-10T23:24:55.848000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2606100857, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_74dac87d-312a-44a5-ad01-8629fff394aa", - "crc32c": "c8b99ec9", - "sha1": "70d067b51476a1b1aa24481634b6a9e021cad096", - "sha256": "68f649994fa28c32684e63f488340293b3d63da52d90ca0a6faaa61e53a6ebc0", - "s3_etag": "275531625463f771abe3b1fb62950f97-39" - }, - "sequence_file/f648cc69-80e7-46a1-8575-aae76b30367c": { - "name": "Adult2_S35_L004_R1_001.fastq.gz", - "uuid": "01d2d764-457f-44c5-8b18-a6fadf73c1f7", - "version": "2021-05-10T23:24:59.557000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 805287802, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f4cdaaf4-e41d-402b-8974-d1be58dfe0b1", - "crc32c": "07caf594", - "sha1": "f59517e7a65c14cb658df8ebcf97476191d6c81a", - "sha256": "fde203f540d6381d72dec312f6ceb1cc7058920f1c698247045bda349385e7ee", - "s3_etag": "36dceed3602f2e2ca69196398af00ca5-12" - }, - "sequence_file/b1e83792-e01e-45e2-bcb8-27b81a0d9db9": { - "name": "Adult1_S6_L001_R2_001.fastq.gz", - "uuid": "01df1fa6-30b3-4d6b-8b5e-0f54c490064a", - "version": "2021-05-10T23:24:59.120000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2531485579, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0341ee2d-395d-4397-8f2f-4735417958d6", - "crc32c": "c27a96d1", - "sha1": "9fe130a88c71792112b103f5ade1bd26cd169eea", - "sha256": "958f2fd3a523d4722696541e4c51dcb7981f596e7db771dcde13a69a41890ffb", - "s3_etag": "9e465588b8ed4bc335f83eb874daadba-38" - }, - "sequence_file/c4c3353d-f33f-4a5b-a2d8-7878daf2d01b": { - "name": "Young3_S10_L001_R1_001.fastq.gz", - "uuid": "03815b54-b935-4f04-96ac-56f7c87d601d", - "version": "2021-05-10T23:24:56.019000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 520184625, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e952d2a9-b409-4e4c-becc-7916f53514f3", - "crc32c": "2f72380e", - "sha1": "e829edd9052219210b08df2036b19e9bccd300b8", - "sha256": "ebdcb302f20dbc649432a7434acf88c14c57b25fbd34d477c0818338ea2db36e", - "s3_etag": "5989b4a3401b6d707255210234b6d10c-8" - }, - "sequence_file/acfa3362-62b0-429a-b617-3adb722c200f": { - "name": "Young2_S42_L003_I1_001.fastq.gz", - "uuid": "03af14b5-ba39-4bfe-a8ac-0d349550078b", - "version": "2021-05-10T23:24:55.864000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 334402592, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1b776641-33ba-43b8-a306-012d75c3e113", - "crc32c": "14ab6d09", - "sha1": "479baae0b26ae711fd5aa6fc1cb4569a63da1f4e", - "sha256": "c56aeabc62bd17f090f0f184a92ecd3d2f02fd3a545c04c843b43255fc469779", - "s3_etag": "c213184b89d116bf96bd2b1b74cc0358-5" - }, - "sequence_file/fd7e7e85-7747-42c3-bc6b-0e4718202d63": { - "name": "Adult1_S5_L001_I1_001.fastq.gz", - "uuid": "03e8e9eb-f490-4a97-ac2c-0d6eb94c47e4", - "version": "2021-05-10T23:24:56.725000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 306146480, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_37919f15-34b1-4ba8-9f93-44083f801720", - "crc32c": "3b9d25a3", - "sha1": "9734c4a3e9058884dc1673ce266af151ca01858c", - "sha256": "1943b1d818e9e1f11560871a21628e645ff01416a929438a807d9b86bff52d61", - "s3_etag": "96d237d7cec9b458bf1dea98dc8870ad-5" - }, - "sequence_file/91594c64-a197-4dc9-8605-d57aff0f2e87": { - "name": "Fetal3_S13_L004_I1_001.fastq.gz", - "uuid": "05736d0e-ab04-4183-9c38-1bfdf028978f", - "version": "2021-05-10T23:24:58.209000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 429897750, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_58329552-c7a7-4fbc-82e7-baeb98b8a3da", - "crc32c": "3a46f1cf", - "sha1": "2a391033ae9eacb1b89481cfeed0568f47936548", - "sha256": "fa5629fb45ede743a900e1c7706f8cfb18614bd0ea91f61bc3e3de86a4b3a9b4", - "s3_etag": "6e62e8d0f5820a074dea0d611beeae11-7" - }, - "sequence_file/53c40015-48a9-4a3f-a513-d617d28a2352": { - "name": "Adult1_S8_L004_I1_001.fastq.gz", - "uuid": "05b53817-c778-4f1a-ab2a-e51480fa63d4", - "version": "2021-05-10T23:24:58.895000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 132046032, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d5ceed15-cf4c-44a7-86dd-4baf882152aa", - "crc32c": "c18682e1", - "sha1": "b6216368b37cedf3ef6207e37757cde52e496961", - "sha256": "6b403550cc96990bfdc8fa7532fdff4571b5df66d181815c87ad1c1e2dbed616", - "s3_etag": "d0b19b7dd8ece7184176b6f95aaafb4e-2" - }, - "sequence_file/cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3": { - "name": "Adult2_S35_L003_I1_001.fastq.gz", - "uuid": "062700c0-e8ed-46e2-b7cd-7cc6d8c3fc85", - "version": "2021-05-10T23:24:59.488000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 297397325, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_382f6f5c-5944-4738-b338-ac0ea389b458", - "crc32c": "9898acae", - "sha1": "c3f956396bbf3b869ceceb2dfdf9b01094a4fc92", - "sha256": "99cae5e5ebb6d48fcaff9ccb199f1713ed3c0c12de2227a6fd03681c34e915ed", - "s3_etag": "177cfbe3b507ff3daf8aadb95f27cb0f-5" - }, - "sequence_file/541fc29f-a7a3-456e-b28e-80f9036a4e33": { - "name": "Fetal1_S46_L004_I1_001.fastq.gz", - "uuid": "064b7aa5-c62b-44b8-bf51-08a63d47441c", - "version": "2021-05-10T23:24:57.328000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 300595882, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_40f16128-7fb1-48f3-98de-a2aa191f110e", - "crc32c": "4b659dfb", - "sha1": "61a2fd6ee802d34cf580755ea7b73e9467360564", - "sha256": "5485402abb0186cfbc457709716f6e2eca1cce4217e4fdda058cc9acb357eec7", - "s3_etag": "16384723b3aadaae9c9023e491134f88-5" - }, - "sequence_file/7060b0f4-a756-41f8-bc65-16c7effef1be": { - "name": "Young2_S44_L004_R1_001.fastq.gz", - "uuid": "073edb43-47d2-45c7-bff2-76c503ebb951", - "version": "2021-05-10T23:24:55.652000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1118040836, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_20ee57a6-930b-435a-b126-379b1a051e6d", - "crc32c": "e795d8bc", - "sha1": "da1572729b4071bf4a0fd17640d5f592c1d8526a", - "sha256": "63f82b09c8c91641791b31d71eead83591c2acab3b8d0862b56577d0580c87aa", - "s3_etag": "4af26ea32321afa7f512599a3b3a4487-17" - }, - "sequence_file/0fa69e92-febb-4bab-857c-4b67a2b17ff6": { - "name": "Adult2_S34_L003_R2_001.fastq.gz", - "uuid": "07adbae3-fbf8-4a59-8272-d0dbdd51d9ba", - "version": "2021-05-10T23:24:59.945000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2160782487, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_98365f97-c1e7-4242-b6e4-bc1103869889", - "crc32c": "6ac94e8d", - "sha1": "6355ceeec4c8bc591c9d585abfb8c9c0a5da80a0", - "sha256": "a3fe5aacad8492d7f95babffe2c0b74339b255bdbf09104a1734f7241130fe43", - "s3_etag": "9ab72e4f07756c56e62f6a497d2d9199-33" - }, - "sequence_file/fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce": { - "name": "Young3_S11_L001_R1_001.fastq.gz", - "uuid": "091a1403-2320-4e38-8749-3088deb6da8b", - "version": "2021-05-10T23:24:56.550000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 604854646, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4198c4d0-1696-4ec4-8333-1b2c6f13f1bc", - "crc32c": "aa162e31", - "sha1": "056264b3569b93e508c92bc9d01846369ae0adb1", - "sha256": "1236b11e68ff38d7e0c81dcccfadb8405a02e5e12f2eb8da8041b1d56048b4a0", - "s3_etag": "da9c9b700f919c4e789c2ef6c72f677e-10" - }, - "sequence_file/5621674e-0290-487d-8c0c-49b617d1628c": { - "name": "Young3_S9_L003_I1_001.fastq.gz", - "uuid": "096cce50-ea0a-4d40-9f12-c625735ef398", - "version": "2021-05-10T23:24:56.339000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 155298330, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c8437b86-5c16-4baf-a4e5-74b76907b3c3", - "crc32c": "74a687c6", - "sha1": "76e1abde7c95e11dafff0c5709c1cd8092fd0c0c", - "sha256": "a5d86c2b0a6c4b78581faa9202689a663215736fdb5e7d8612cca6603b19c2be", - "s3_etag": "121009db65199ab9db40e5923bfc405c-3" - }, - "sequence_file/bd1e5909-c184-4ee0-906c-77e399270a71": { - "name": "Fetal1_S46_L004_R1_001.fastq.gz", - "uuid": "09be6713-f8fa-48a6-873e-d9524c526c8f", - "version": "2021-05-10T23:24:57.341000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 852595117, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c3740ee8-e815-4ff8-a147-bf57c13a0f4c", - "crc32c": "5a80e0c8", - "sha1": "aea616cab6c8adae6587111fc807e3be9eedcbc4", - "sha256": "b61de4061c3a2ef9b176033193f7b4975178b22c9441e7d5390a427c27007ca5", - "s3_etag": "f8a4a847d246621199746d286a1f692f-13" - }, - "sequence_file/02cfb8bb-4eb6-4343-9381-007968f1feee": { - "name": "Fetal3_S16_L001_R2_001.fastq.gz", - "uuid": "09ffc9cf-6e64-4d47-8188-a8588ec39861", - "version": "2021-05-10T23:24:58.005000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3758178225, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fb8aa41e-6226-4d61-b7fa-d4c0c44b74f2", - "crc32c": "8f86f908", - "sha1": "a03da4146fc3c818e17762e73dec2360ee78e4a8", - "sha256": "b3aece3d39d02ca290c8a7dd7227d1dccae2264922c998eafa588d719c5e47f3", - "s3_etag": "f34b56d4991388c23fe34d25b6532965-57" - }, - "sequence_file/e0dd6ad5-0582-47de-9cbf-7351ebd5e005": { - "name": "Fetal2run1_S14_L002_R1_001.fastq.gz", - "uuid": "0bde5b06-1ff3-4f81-a283-7ce6cb576499", - "version": "2021-05-10T23:24:57.453000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 783383763, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_14387732-8ee0-4f48-80de-d7ef71898029", - "crc32c": "a0f3c2d8", - "sha1": "d752e96ade0a28880ad53ca1e1e7ebff57f1c4cb", - "sha256": "cc42802d31582a14a381e0361c85483b6080fbbfad2b2bff618d75272a608836", - "s3_etag": "b89de2a5e4390adb98ec26d5c037a9af-12" - }, - "sequence_file/559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0": { - "name": "Fetal2run1_S13_L002_R2_001.fastq.gz", - "uuid": "0be51b1f-d922-4a9a-8918-b354b05c7882", - "version": "2021-05-10T23:24:57.429000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3963369232, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a32acfed-cdd1-47f9-bcde-3a7ce2a6c707", - "crc32c": "9d658176", - "sha1": "73d323966de1e391520b7fe88bbda49bd909945b", - "sha256": "d8dcce99b2788c3cbfa0abe9a86e8a0a62ea2bb86013390c3707e92183d2bfb0", - "s3_etag": "c3eba1c79483d014479b430af529be4e-60" - }, - "sequence_file/a65b7c37-e038-41d5-8623-2046bdc278a4": { - "name": "Young1run1_S12_L002_I1_001.fastq.gz", - "uuid": "0f071463-fdce-400f-82d9-dc78cb248003", - "version": "2021-05-10T23:24:58.596000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 475604513, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e5c7526d-f370-4b3c-b702-205339aeb706", - "crc32c": "3694bdf2", - "sha1": "e3a664843ae899f087f9b2d20b6824ad7f1901d8", - "sha256": "29c59316a1c05533392742061d702dc0094c4ff3677fe34be5aa7fdad7c2cca7", - "s3_etag": "83d8c739b931dacfdc487aa47db1b95c-8" - }, - "sequence_file/edbe53c5-208b-436d-b283-1aa4ee94800c": { - "name": "Fetal3_S14_L002_R1_001.fastq.gz", - "uuid": "0f9a7b95-19f7-4479-9807-34b644296244", - "version": "2021-05-10T23:24:58.300000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1379865044, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_51aad4d1-8c5c-4914-8f4a-fecffd721f25", - "crc32c": "0abad25a", - "sha1": "0585a163e63e76c2a1d78332532e3eea7a25a96e", - "sha256": "3454d13292a01cecbaa23a16fab42caefbaaa0f906d334b69f590029e0e5aa85", - "s3_etag": "25d2381da1f4710a34a58aaf49b5697a-21" - }, - "sequence_file/7d5ca602-df90-402e-9c12-933e1cdde407": { - "name": "Young2_S43_L003_I1_001.fastq.gz", - "uuid": "1020603f-5b24-41ca-a106-556574cee788", - "version": "2021-05-10T23:24:55.449000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 263629241, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d7ff1db4-3306-4b60-b3eb-e92b51c64238", - "crc32c": "81b4d677", - "sha1": "96dd5693cd79fa7b9835bc4b5efe582ea31ae19a", - "sha256": "e2733467e974676c27073c67a698bea71022f8bbc4298a206e1bd94cd2a3e088", - "s3_etag": "e394ca102b4286576876eb6ec717b8fe-4" - }, - "sequence_file/65fae226-b417-43cd-a5c8-cf2336b8cff5": { - "name": "Adult3run1_S7_L002_R1_001.fastq.gz", - "uuid": "116a5666-1022-46b6-8969-eb7d20d39ef5", - "version": "2021-05-10T23:25:00.311000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1733989479, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_406556cc-61db-4499-918a-5b61de98f127", - "crc32c": "42007f89", - "sha1": "761726724b373c7022e66d7471799cfdba4b46db", - "sha256": "a712adae071a9d225fd5416ce34040cea058a4aad05670da3f2a456c14f46ab7", - "s3_etag": "130d19a330b147e9a4537f0aace26ade-26" - }, - "sequence_file/e0a99b8f-15e2-4a9e-b298-1066a9bcbda7": { - "name": "Young2_S43_L002_R2_001.fastq.gz", - "uuid": "11cc1e64-8d96-40bc-bbd2-977b4b02c4b6", - "version": "2021-05-10T23:24:55.437000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2083471006, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a276961e-b6f3-4ba5-bee1-d59e8093319a", - "crc32c": "e67f8233", - "sha1": "a7883259004b1f8706afa08e2b696bedc0d15b66", - "sha256": "98f4bcaca33c9fda2277aa02c15ee315a90b84f9a9a4dbc7026a6e728f2e5f62", - "s3_etag": "61f931aee0b12fd3177e4302dab5aa5f-32" - }, - "sequence_file/65b78fda-7874-455f-9c9a-bf7aca375a0b": { - "name": "Fetal1_S47_L004_I1_001.fastq.gz", - "uuid": "120a2ea9-2b86-4039-99b3-2bacf4b38751", - "version": "2021-05-10T23:25:07.058000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 250233977, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5f1b5914-b967-4853-a841-cd1c1a715e0f", - "crc32c": "4e66bc3a", - "sha1": "f19d702dc275f212d86b0b3377e9cdc1f36d21f2", - "sha256": "0eb574bcfcb80a2d36fcd18a9c42adf0d4b88664717a5b01b80f52ea415a4bc5", - "s3_etag": "5620f6d2e798823743bc04cd11cfcb62-4" - }, - "sequence_file/56d5b505-6591-47c4-b469-006e27e6e343": { - "name": "Fetal3_S14_L004_R1_001.fastq.gz", - "uuid": "16907e80-3a36-4c03-b13d-7de8b5490f8f", - "version": "2021-05-10T23:24:58.377000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1328409353, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5d999605-36c2-4176-8377-24085bbcd5d8", - "crc32c": "11ee3e56", - "sha1": "cbade2cd36a6e100720152f25ecf8f03a6eea9b7", - "sha256": "33d23b3f8ded26333a083a773ca1cde32a7fcc12297df5847d09b15e55c94958", - "s3_etag": "7c4e65a35ba6dad7925f5fb930efce6d-20" - }, - "sequence_file/d13d109b-0106-4102-9769-82bb2ed9cfb7": { - "name": "Adult2_S35_L002_R1_001.fastq.gz", - "uuid": "16efb9eb-a634-46cc-ba8d-5ac3caa0cc98", - "version": "2021-05-10T23:24:59.455000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 834043613, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e3b84886-5c07-41d7-9cf0-b0a52a349b66", - "crc32c": "3dba4bee", - "sha1": "e6a1589e785d21af7f4dc467595f5988da4e8580", - "sha256": "17c8e79854f8196005735b638a2922a5725a6cbaa285ae35d07aa41e3ed0aaf5", - "s3_etag": "c6ba7c9a2a193121f0968d2ccc624b68-13" - }, - "sequence_file/a778ad17-3705-40bc-b425-245d17958638": { - "name": "Young2_S42_L001_R1_001.fastq.gz", - "uuid": "174d0c2a-8487-4651-b939-97b1cf9f0816", - "version": "2021-05-10T23:24:55.797000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1106536772, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_83d70464-92f1-44c5-9ca5-2eff663e7a34", - "crc32c": "a50b42cd", - "sha1": "00b42c795ff898d48045188aac1adee4b33c40a3", - "sha256": "c1aaddf9026497aa6290a4c1cea7234b51ef037878af6711578772e69eca4625", - "s3_etag": "3785ca31b1b91636e9a19934186ca5cc-17" - }, - "sequence_file/d1f65c9e-628b-4c5f-b76a-1154c1666eba": { - "name": "Adult1_S6_L003_R1_001.fastq.gz", - "uuid": "17667128-f652-4e98-9a47-dd16b5d2d3f8", - "version": "2021-05-10T23:24:59.215000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1073275612, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b9adfe71-0415-4102-9f44-932c2687b04d", - "crc32c": "700eff41", - "sha1": "697c4a79ac5b68e89fb370a3bfe9d4ef169449d4", - "sha256": "4b624f8d687fdabc410d1d751e04680e60dced379effc3cd020d3d38a972ce98", - "s3_etag": "08759bc9204e5b7efe7ff41fbfb6328e-16" - }, - "sequence_file/1a589473-0047-4bca-afce-57c8448f0dc6": { - "name": "Adult1_S5_L002_R1_001.fastq.gz", - "uuid": "1767fde5-01d5-49d1-8e54-a81999b6c812", - "version": "2021-05-10T23:24:58.950000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 918596588, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_caba215a-e96e-4ec5-bd19-894461cac2dc", - "crc32c": "58d625b8", - "sha1": "1bfade6fb93fd0a4921d3b6746119bfad9daebdd", - "sha256": "518599842d089f6e7b8d80be4988fe8dfa0625d1de29e6736ab97638483d81ee", - "s3_etag": "63be7a1ca6432203e295a3ff03af2cbf-14" - }, - "sequence_file/2f033594-a8bd-49c4-b1b7-69ce88fe26d4": { - "name": "Fetal1_S45_L002_R1_001.fastq.gz", - "uuid": "17caacbc-c7dc-4924-b4aa-4941fb4baf61", - "version": "2021-05-10T23:24:57.095000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1134207272, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ef168454-2792-4701-bef4-e71f61bbed36", - "crc32c": "28b7ef49", - "sha1": "5d0da10b2b55b7350ced85bf6f776e110d9ba84e", - "sha256": "ede9a07fdc282e213dc2f8e1fc0bf02397fadcff26ed6df316fe62bd02194d1a", - "s3_etag": "aad7560f1f4e979f892a7cd0f7ad4ffb-17" - }, - "sequence_file/1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1": { - "name": "Fetal1_S45_L004_R1_001.fastq.gz", - "uuid": "1aeb9062-38e0-4678-bf5b-849be34a84f0", - "version": "2021-05-10T23:24:57.181000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1090145193, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7aef5d3f-e799-4040-be9c-3f16360b7d7d", - "crc32c": "9ec4a62f", - "sha1": "e4d668544e56bd1bc7ecacd069eabc9bf30937cf", - "sha256": "d1f8ff4b5db0b533a1f3a2ecc3dfc552314e0caf32e2e14941c46b58d73f2749", - "s3_etag": "58de5db10ec7be9db47a263f81eac7c6-17" - }, - "sequence_file/b3739e56-e8cc-43b6-8b43-9116b5d75e69": { - "name": "Young3_S11_L002_R1_001.fastq.gz", - "uuid": "1b0bd409-58f7-4674-a5ac-1614c28f6350", - "version": "2021-05-10T23:24:56.587000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 617256737, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_01f65941-1c56-41ca-b27e-1e7dbacd797b", - "crc32c": "7be8ccdd", - "sha1": "25fc6d467541c537e1b05e95c331924169076d16", - "sha256": "a4a7a14e1fa528bb8bc45e87e143c091bc29b5d212bc202e8000d261cca87293", - "s3_etag": "f2b647e97e9bec4c582c17a9b8cbbb9b-10" - }, - "sequence_file/1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec": { - "name": "Adult1_S6_L001_R1_001.fastq.gz", - "uuid": "1b3c4f36-c0b2-4beb-ab5f-842350a241a3", - "version": "2021-05-10T23:24:59.107000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1084423848, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cdc5906e-e47a-48ca-93d5-f2162e71df76", - "crc32c": "9f3afc86", - "sha1": "862f2b5323d4f588848a7042715dcd23c0a57bc8", - "sha256": "b90ed94f7d2c40bd2cc221155c9499973bd2d52e3ae46909cd957f8745723b92", - "s3_etag": "ae9554f97bf7b9cf6b22f1f9b26672a7-17" - }, - "sequence_file/75e38979-23f0-4749-bfcc-d8e92db7f2b0": { - "name": "Fetal2run2_S14_L002_R2_001.fastq.gz", - "uuid": "1b4e8227-baf8-424a-9a4a-148bbdc2f5a6", - "version": "2021-05-10T23:24:57.624000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2073386838, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_59f39f3b-eb55-48ab-bea9-bf494761db03", - "crc32c": "46542ab6", - "sha1": "99ac36c39184582c82854bb03fbceebf2ba4cb94", - "sha256": "19fe7573d3ccbdccc7ab748730c7ec721706617e13947e3cd425e0aab29032ed", - "s3_etag": "f29372c8373456d7d3487f1b0bfb0b3b-31" - }, - "sequence_file/bb788d30-169b-4160-be07-98222d0a8327": { - "name": "Young3_S11_L003_I1_001.fastq.gz", - "uuid": "1c05f18f-de60-4274-9146-0760cebe8824", - "version": "2021-05-10T23:24:56.611000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 195353258, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9400a1a2-f6c9-443a-a974-fd520283dc62", - "crc32c": "cc7d484c", - "sha1": "4a4ed9a98aa6f6e8a8b4cf37e01ede1379408c73", - "sha256": "d27f9ba3cb50ac58e80e64bef1ce26e7bcc19d29c55ea930a8477d29401642d8", - "s3_etag": "f75e282286db33ba6ecfad2735742991-3" - }, - "sequence_file/d3661383-3d73-41a0-8676-295926c07eeb": { - "name": "Fetal2run1_S13_L002_I1_001.fastq.gz", - "uuid": "1c0719e3-760e-401a-a285-84bce1a9d46f", - "version": "2021-05-10T23:24:57.404000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 588801633, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c44daba3-ae24-4f2b-9de8-37d09b26b7ba", - "crc32c": "7d9b13fe", - "sha1": "20f7ee546198e2da88653d1fe787994955f1c3ed", - "sha256": "eac8e184f1dd31cd44fd2b73706ed88fef23e0e5bc34a23957930d65df8cea9c", - "s3_etag": "005f0d5b538c6c5c4be28d83e6a4fcb1-9" - }, - "sequence_file/61716326-4fa0-41b9-8ca4-5b020500e8ad": { - "name": "Fetal1_S45_L003_I1_001.fastq.gz", - "uuid": "1c39afd5-e212-4bd9-a8a8-1649bfadc12f", - "version": "2021-05-10T23:24:57.129000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 344049361, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b91adec6-1a9c-4082-a347-6b8a2c968723", - "crc32c": "454a1bc2", - "sha1": "304b8dbfb06427b176ab1cc3093dfe1859bacefd", - "sha256": "d2a230b43f0202181fe871c2fc91bd90fc520368db69d44aedfe7eb5f67bfb56", - "s3_etag": "19ed72597da72632fe240382296603f9-6" - }, - "sequence_file/c0fc6427-6fa7-4d8d-9d6e-8844a26ff318": { - "name": "Young2_S44_L001_R1_001.fastq.gz", - "uuid": "1cf005ac-a546-4151-bf79-4a898e918798", - "version": "2021-05-10T23:24:55.542000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1139007999, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fef32852-18dd-4ea6-91d3-7af9e02e6255", - "crc32c": "5680f9c3", - "sha1": "67d4476c659fc63127d53cc509bb6be92d5010fb", - "sha256": "73cc73d178121cc032e956edab53a2435e0aafd02a66463899065eb2e0cd4aec", - "s3_etag": "242e31ab3891ac164a8b74d978976f2d-17" - }, - "sequence_file/9717e5ab-015a-4fee-9864-0332c60b1e9a": { - "name": "Adult2_S36_L001_I1_001.fastq.gz", - "uuid": "1cf89101-b861-4bb8-98e6-ef46cf064853", - "version": "2021-05-10T23:24:59.581000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 324676206, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e8bdca4f-514d-4c6f-923c-241a70a4bf51", - "crc32c": "5f81d967", - "sha1": "c1764ac32dd9d39e2b93060185dd3d839f5229b9", - "sha256": "78e5787538fd02e1aad1ec572df3d600446f5350b6e58b35177eda7ee6fad725", - "s3_etag": "f0adb417a7705bd36d4a9ab601c3e39e-5" - }, - "sequence_file/ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02": { - "name": "Young2_S44_L001_I1_001.fastq.gz", - "uuid": "1ec0519b-81e7-4bc2-9a1b-d14c6e745bb4", - "version": "2021-05-10T23:24:55.523000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 347935477, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_67c40932-2205-44f6-b57d-c559ba28372b", - "crc32c": "aa2677bf", - "sha1": "f3c7d17c66f95d4879a8014dac39ca77178dabdd", - "sha256": "52c8276b94924fbce5114aae5d91b9a162514ad71139b31498901354f92803ae", - "s3_etag": "219f02049f09e55ca01e8a55d664178a-6" - }, - "sequence_file/893dfdd4-43f4-4256-938b-d957928f0daa": { - "name": "Young3_S12_L002_R2_001.fastq.gz", - "uuid": "1ec9b28d-e07e-4588-b3d5-408f41addb2a", - "version": "2021-05-10T23:24:56.069000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1544575803, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fd8b18bc-1c94-4f94-9328-2a08f8f7466f", - "crc32c": "3bf3eb0e", - "sha1": "c766b858f6745d56ee33e45f254b46acd65e1fcd", - "sha256": "9c17ed4dcdb1c2868a28d36862a6763c06a86d102e53eb6fb9a18048413d0603", - "s3_etag": "ad795b371741a27412ff8f725b055274-24" - }, - "sequence_file/f9eef16f-b9cc-43bb-b9f3-bf0948766e7e": { - "name": "Fetal1_S47_L002_R1_001.fastq.gz", - "uuid": "1fa9f51f-6108-47dd-a130-2c9cdf46701a", - "version": "2021-05-10T23:25:05.626000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 813876985, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_76d9c968-1816-4cbe-9ec7-a76fa8bc76c9", - "crc32c": "8fe8536f", - "sha1": "0f7880e159b317584a2aec1cc712d24f588b95f1", - "sha256": "a38d8aeba2d14e058596a4292735eb50fbc5cc7e9d75715f3195b7a4139c4a5a", - "s3_etag": "e20d512cd442d7585c9e20879040e661-13" - }, - "sequence_file/3d8bc409-2043-486a-9a0b-12c71a741d83": { - "name": "Adult1_S5_L003_I1_001.fastq.gz", - "uuid": "21a4919f-647c-42b3-a6af-a4309110ed2a", - "version": "2021-05-10T23:24:58.989000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 301723167, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_eb8d3790-6919-428c-a4f5-478afacfdd7e", - "crc32c": "61edda4e", - "sha1": "117d4d0fb33112fd50f90ebf064016e499dad384", - "sha256": "af70f69558de532400e474005e294ebb0b35ecdf0299a4dd9c438c541da8d9b0", - "s3_etag": "a89d36f38ddcbf547dbd9057859a1ef3-5" - }, - "sequence_file/d068c2b0-60c7-429a-938c-cb9c703c4c4d": { - "name": "Young3_S10_L004_R1_001.fastq.gz", - "uuid": "22ccd979-a5e2-476d-9e80-394418c0f3f4", - "version": "2021-05-10T23:24:56.513000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 510193078, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_101ed484-1310-46b6-9bbb-15becfb79bb7", - "crc32c": "72e8100c", - "sha1": "fdd4344afde433f89da8237e7b85b8600a8545c6", - "sha256": "9811f426ee9b3ad5e3da7f67ee797989337b5508d2d34d16ea2279ce6ddb7f2b", - "s3_etag": "cded8bc0c68ee434ef17fc3debc0fa26-8" - }, - "sequence_file/74086d10-f049-45c2-8654-de93aac63d94": { - "name": "Adult1_S7_L004_R1_001.fastq.gz", - "uuid": "23156c36-e709-422e-bace-1b40795c8b30", - "version": "2021-05-10T23:24:56.880000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1272115747, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_165ef4ed-6674-458f-8c9e-524dfdd70407", - "crc32c": "a3675fde", - "sha1": "bacae4856766ab9b58e76e102f50e58e6bcc8205", - "sha256": "dd7ccf60dea790123f90199250a45965e15df6b0b0a5b354b69f8db30e7378a0", - "s3_etag": "1fa4d7a256887cd7fa849f4f96761d72-19" - }, - "sequence_file/ac036daf-a7cc-4583-a219-814c77ed8001": { - "name": "Adult1_S7_L001_R1_001.fastq.gz", - "uuid": "238cab27-9274-495b-962f-2b610f237758", - "version": "2021-05-10T23:24:59.334000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1293766134, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_04ebc32e-0279-4004-a099-ffbc47acc83c", - "crc32c": "f94e2b4d", - "sha1": "be1561ede20e2de7f89fa7c2873bb21b129d1105", - "sha256": "bba38116912175e214113822ed38a998434c7214706407a1750b9774f4b4b996", - "s3_etag": "176f7b20dcf500ad64f53f5641bd5fb9-20" - }, - "sequence_file/4df715c5-a783-41e6-a99e-eedf93a37fb3": { - "name": "Young3_S11_L001_R2_001.fastq.gz", - "uuid": "247a418e-75ff-47c5-9272-93035037d5a4", - "version": "2021-05-10T23:24:56.563000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1370785582, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0bebfd5e-c4d0-49ee-8b74-e5c4d01927ec", - "crc32c": "ba55f67e", - "sha1": "b809b50bdd36f7903ff88080e3bdbfebb7f4d90a", - "sha256": "40e214ef785533780a48d2c1c9c5411517f599ccf5014c8a94d446155fc97178", - "s3_etag": "bcf83fdfed30082922dfcab914c8c85d-21" - }, - "sequence_file/c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2": { - "name": "Adult1_S8_L001_R2_001.fastq.gz", - "uuid": "268eee1e-83cc-4064-bbf5-9799d7635be5", - "version": "2021-05-10T23:24:56.997000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 975521265, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ae6f5fc5-dd1e-44b0-b195-b20fc6538624", - "crc32c": "4c184cd9", - "sha1": "f6ac1106017a84f49bd2bce352829d194d77f2fb", - "sha256": "78f1b91582a2cfa3bb9b1923f27a1e8f5ef27a83d176b6619194b257268f479e", - "s3_etag": "8b785c2735805c6ad84763b236adfeea-15" - }, - "sequence_file/c3093b68-54a2-4d31-aa15-50afb0414625": { - "name": "Fetal3_S16_L003_I1_001.fastq.gz", - "uuid": "27349ad8-0595-4deb-9cb9-4df05f4f31db", - "version": "2021-05-10T23:24:58.064000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 524320504, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_8ec9c2c3-2dbb-4556-9b18-11f4413d69ca", - "crc32c": "9c5e8e9b", - "sha1": "4d54f855b8a05737db385ad0495aa4d1cb07d6db", - "sha256": "974d328b950936ed368732b351f9e7fceff9340001d90c8e89595e164d32316a", - "s3_etag": "356905e0444e33ed89c4543fefca1410-8" - }, - "sequence_file/fed6f8f3-2c61-4361-8160-2c5a13db83d4": { - "name": "Fetal3_S13_L004_R2_001.fastq.gz", - "uuid": "274a70c7-ac73-4e9e-b80b-602e01803502", - "version": "2021-05-10T23:24:58.237000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3454631457, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_bcdf0e16-b504-4cc9-96bd-9581b475fb66", - "crc32c": "f519fa8b", - "sha1": "da90ce3562614de46de30469839f363af53bedde", - "sha256": "14845b0b3ec6cc0b21547c8812d1c8cb2eb53e5ae5951655cbd409a9ed6755ee", - "s3_etag": "cd5c6e04599d534682ffcd8db735e7f1-52" - }, - "sequence_file/97cfc6c1-2a97-41ef-bb36-0ac99b8c8195": { - "name": "Adult2_S36_L004_I1_001.fastq.gz", - "uuid": "27d2989d-79e9-4caf-839a-34bebff5a601", - "version": "2021-05-10T23:24:59.693000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 318136853, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_98f63694-c925-4aea-ae93-b45ce4262eec", - "crc32c": "aae669f6", - "sha1": "dc52414c6ee5011b294e769595c846a1c80d8419", - "sha256": "604d95a5936a1c8e7e3ce4de91151e838a78da45eb5a92aa419103eb0358bdbb", - "s3_etag": "7433454b84559a97a75e42d0fde0d4d1-5" - }, - "sequence_file/e06ec666-d2ed-4801-8bc3-03ddcd151c49": { - "name": "Young2_S41_L004_R1_001.fastq.gz", - "uuid": "27e04f3e-1375-4cd2-b5f0-bea8bfd595c4", - "version": "2021-05-10T23:24:55.761000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 985000449, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3ac86bc4-577c-44ca-b212-3eb122385c56", - "crc32c": "9d9c2847", - "sha1": "6f9939b87c98184e7f88e0d08ae125461adf6e32", - "sha256": "d0d752623f94d5ab11debf4b568f57ac18a8989f77f31af66017529bebc11c99", - "s3_etag": "44fcc0c9f92df167a649dbe83cd2529d-15" - }, - "sequence_file/c7970499-e36d-49f3-b1f2-6886746333c9": { - "name": "Fetal1_S48_L001_R1_001.fastq.gz", - "uuid": "28bb1ea6-ee3f-4ba4-a98e-1c841fa183d3", - "version": "2021-05-10T23:25:07.987000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1056099871, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3b6240d9-e702-489a-ab93-fad15723289f", - "crc32c": "b50cad08", - "sha1": "353730676823d790eb7788befe9b25501b3e9e4c", - "sha256": "678612064ce11ab543e2e58b7d5f554c0baeb8e7524b41b1465aa21a9b58fbb4", - "s3_etag": "34d9c13d4437cade92f1f4a73361a99f-16" - }, - "sequence_file/7eb2244c-6b4d-4d91-bfc6-44ec12d9319b": { - "name": "Adult3run1_S8_L002_R2_001.fastq.gz", - "uuid": "2aa19940-68c0-4ea1-90d8-70760b8dc237", - "version": "2021-05-10T23:25:00.610000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3564691256, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c5347064-8cca-4f36-bd4b-f8f0a02145e1", - "crc32c": "1177e6fe", - "sha1": "1ab601675b851b3b27658a5ce723d61b495a8cd5", - "sha256": "8e915a460b0e9e8a35b0bb6a3c1898014f23ba54d05b6290f30c439cda28e8f1", - "s3_etag": "1a6e37899b8b212d40f8479bf5035bef-54" - }, - "sequence_file/f7a68998-a02b-4d1c-8768-0abb9e9ae35a": { - "name": "Adult2_S33_L004_I1_001.fastq.gz", - "uuid": "2b4e9f9e-5929-4c09-82fc-fd0986686e12", - "version": "2021-05-10T23:24:59.807000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 328834443, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ce0a6b0e-2860-41e3-8bd0-72eacd696157", - "crc32c": "f70755ff", - "sha1": "9bc9c3a4c2c253729ed85d2b19a654aee134619b", - "sha256": "6f8573eb08e1bd5795282f63aeca0019a5fac8c553b48c287c06d03b676d67b5", - "s3_etag": "150e8a476c78772c7c26295100be57e0-5" - }, - "sequence_file/e6b33ccb-99f6-4c02-aa69-e7b581832d04": { - "name": "Adult3run2_S7_L002_R1_001.fastq.gz", - "uuid": "2bafabec-5248-4da2-bc8f-5b04d6ddb522", - "version": "2021-05-10T23:25:02.770000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1980306416, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7282948d-837e-45a4-8721-d0b37e0c70f8", - "crc32c": "3dda4ab2", - "sha1": "c7bf940dd3347d7776a9c6da72b3696a8702011f", - "sha256": "9df57583e67ad00ab2790c63a624b364d1f8b9472be02d33e6360f51ef4396ee", - "s3_etag": "c592f92b1cf7c230f97488af71296046-30" - }, - "sequence_file/a1ac3c01-10da-4b93-a61a-71a62e6ddb22": { - "name": "Adult2_S33_L001_R2_001.fastq.gz", - "uuid": "2c2de25a-7780-49d5-bf08-a369fc05abb6", - "version": "2021-05-10T23:24:59.420000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2322413437, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5a512215-439f-41e1-93b9-f277182b05d7", - "crc32c": "5759a503", - "sha1": "880149a75a91cdcd0a048546812f66abd2db700e", - "sha256": "f697e1ef685c129f58fd84cac544d3b777aa0b2d04a3d84d6019e78993503007", - "s3_etag": "b08709cee3ba0c82e78adba9f20a95e4-35" - }, - "sequence_file/e9b50275-4ebe-43fe-b3de-1fe3ab930a23": { - "name": "Young3_S9_L002_R2_001.fastq.gz", - "uuid": "2c83b1f2-4b66-40cf-bdca-90fe69aa0c3a", - "version": "2021-05-10T23:24:56.321000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1108137817, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_dd53593f-f9a4-4a35-93b7-1a4ac98607de", - "crc32c": "9b03e040", - "sha1": "257b5595d021e9cad663ed0c50b5e618b9a90519", - "sha256": "85578772be0880eb9375db12cf6efc5d592bf761b4ac044efd3dba0214542f4c", - "s3_etag": "0c5ebe88d3ae00dc3668946caa2ea882-17" - }, - "sequence_file/9b03ad8d-aabf-4736-820a-493db4877f84": { - "name": "Fetal3_S15_L002_R2_001.fastq.gz", - "uuid": "2c8844e4-b2e4-44ac-8e0f-ac903f8e9320", - "version": "2021-05-10T23:24:57.861000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2898415962, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b032b4f5-cbe3-4426-baa6-375b8261e865", - "crc32c": "d137458a", - "sha1": "865e61693d1dbb3334557094ac42a47c24a1ab58", - "sha256": "8aca6df8f96509c58ebb8e2ce7740e08a5f32619270e7968c386fb1afb92a6d9", - "s3_etag": "15f80609d858cd36549b8159e4cef472-44" - }, - "sequence_file/64309a91-ba2b-4b0e-baa9-7cfce3c5d445": { - "name": "Fetal1_S48_L003_R1_001.fastq.gz", - "uuid": "2d312c74-647b-4c39-a818-1f916120ec18", - "version": "2021-05-10T23:25:09.538000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1045953773, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_99896382-ad7f-4c3d-95ce-3937eb64533f", - "crc32c": "f3ab6cb0", - "sha1": "e8b26f263e107dafc7a18b5b40862df6fa8ff0af", - "sha256": "c524283d50958190001a4953dd239175fbd4ceb8cfc2c2c240acca469174a9a0", - "s3_etag": "25158b3f0429ee7191f7c814ad755214-16" - }, - "sequence_file/ddaab768-186d-456a-8e1d-8631dc97f6ad": { - "name": "Adult1_S7_L001_R2_001.fastq.gz", - "uuid": "2d487bca-d046-425f-ada2-038bdf5d030c", - "version": "2021-05-10T23:24:59.357000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2985786867, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a4064546-6060-4e60-a3ea-6d8fffa62727", - "crc32c": "8ba77221", - "sha1": "94797c1f6df24cf3501ac59b5e41c4236f73112a", - "sha256": "3f9e0b1b8848ef88a694580996e65ce2a8df846f92c7cfe7184cbc65221aa5d6", - "s3_etag": "981e43475c10284f563af55a4ce691ba-45" - }, - "sequence_file/7eb17ee4-5704-4ce3-8b41-121ef051ee09": { - "name": "Adult1_S8_L003_R1_001.fastq.gz", - "uuid": "2e118ffd-49ca-43d7-b590-e91e0456d9fb", - "version": "2021-05-10T23:24:58.869000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 422406945, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9c1e4974-93b1-4328-986c-11a5e43e4c87", - "crc32c": "a4c5193b", - "sha1": "2a7b9354ed12532cd959e9620198e098db1ecb3c", - "sha256": "e84191fe28d18a8ce65399b1989b4690eb6c5595d1e9b76231b55252b9d198ae", - "s3_etag": "65a3cd7c0645f6b2f41a2ea0418e0fbe-7" - }, - "sequence_file/2f74ffc0-b776-4b4a-90c6-327edb41c7ac": { - "name": "Young2_S43_L004_I1_001.fastq.gz", - "uuid": "2f87e572-a42f-43cf-b4ba-c5dc6add0d4c", - "version": "2021-05-10T23:24:55.486000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 261671625, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6ef94fc9-3ebf-494a-9beb-28d6474c267b", - "crc32c": "ec77dbd8", - "sha1": "80d2ceed881b50da718ca766016171734d2beb79", - "sha256": "5808c2d94c9466397920d36e09d318ce544532a44e923508810719bde550050c", - "s3_etag": "eeafa2ec2ec97dd2357ea6bf44469972-4" - }, - "sequence_file/e1c334fa-b493-4892-a48b-3fe594e98b30": { - "name": "Fetal3_S14_L003_I1_001.fastq.gz", - "uuid": "2fcfac01-3a3e-4fc4-a33d-5a8ad713a280", - "version": "2021-05-10T23:24:58.326000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 398966697, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fe6297b1-1df7-4cae-8d5e-8ab2b3202584", - "crc32c": "de0f0ad3", - "sha1": "f08747b26ac4a01079d3de654b9c1fe44a45635a", - "sha256": "b3fab9c92ada10a42b0e506304d87831ca0b7fa0728892464ad394b9b72293fe", - "s3_etag": "5c5736a7b5f185de1bae8050dc8b55cc-6" - }, - "sequence_file/937bbdf2-09e3-4bf7-8f45-e46db2188c46": { - "name": "Young2_S42_L004_I1_001.fastq.gz", - "uuid": "30b68b8b-e5e4-4b90-80ea-4501adefc4d0", - "version": "2021-05-10T23:24:55.930000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 332311688, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_76fef805-90d8-4794-9dcf-630479bf586d", - "crc32c": "b8c0ccb5", - "sha1": "ce6e5561d25e6402614ae438c4a55ca2bed78a73", - "sha256": "bb3a723005e8a55c85a5af8982d0a7b668cd5f59925b4c7b9d64828fd03fbbf9", - "s3_etag": "e56f654c7d22d8e5d37a144eb48cfd42-5" - }, - "sequence_file/11d171f7-7775-40a4-90a4-df995775b1c4": { - "name": "Fetal2run1_S15_L002_I1_001.fastq.gz", - "uuid": "31f4a6c1-f263-4e84-b0d1-757cdaf23d2b", - "version": "2021-05-10T23:24:57.480000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 612812703, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4d30bae6-b41b-4bea-8701-e6f8b9332a0c", - "crc32c": "885dd3d3", - "sha1": "f995dc839b64c371fb659746895c24140e051889", - "sha256": "47bd2148b5daf082c237ff2fca8b5ada9d0d87180cb23a903611e5ca9c0f8706", - "s3_etag": "cd96b66cfcff028635a5406dab4f7edd-10" - }, - "sequence_file/ed884cca-c961-40d2-bc8b-b358ea4fb780": { - "name": "Adult1_S5_L004_I1_001.fastq.gz", - "uuid": "32d392aa-7696-4d2d-b1b6-f69fd591295c", - "version": "2021-05-10T23:24:59.050000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 299560938, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_bd856ae9-140b-43b2-b4ba-e11b7f75c6e9", - "crc32c": "6e43fab2", - "sha1": "1990619836407807ca86b3e8e91b912860275255", - "sha256": "7fcbba1b28d04c475fc944a4da36b07367fb2f70412daf5250cee79d29a6244c", - "s3_etag": "0e527501ab85cbfe449af9532fd2d9f5-5" - }, - "sequence_file/6e3aed1a-9909-462c-90e1-a1f766cd380e": { - "name": "Young1run2_S10_L002_I1_001.fastq.gz", - "uuid": "338c6fa7-3230-4aed-8e9e-5b429feaa288", - "version": "2021-05-10T23:24:58.699000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 466356505, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_dd17992f-c7fd-48a0-a917-10670de65a2f", - "crc32c": "e5c48cf0", - "sha1": "49bafd67bb3f3902feea6a6100a8bc329efea926", - "sha256": "9186f38f0b0e3c9087dc265072200daf7fb0ac84a5558cf9606ac632916b2aeb", - "s3_etag": "53804f5c848497dcb2d37409e8a059b5-7" - }, - "sequence_file/0c577531-9218-444b-8094-85d8c6f5c73e": { - "name": "Adult2_S34_L001_R1_001.fastq.gz", - "uuid": "34c723b9-9cf3-439f-a6f4-90fedc18706d", - "version": "2021-05-10T23:24:59.857000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 961635662, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a26c5f8a-0a62-4ccd-a780-9acb800579c9", - "crc32c": "dae91349", - "sha1": "f11d916a956c28f550767ada8c280877ea3817ff", - "sha256": "a38ad66c0afc31d9424043e3250a7abc9dac3348740303a2a159e28e32d69e97", - "s3_etag": "2eecc1472696a458491416da05a0c3aa-15" - }, - "sequence_file/f5274b10-d3ea-44c9-9f27-9af574dea10c": { - "name": "Young3_S12_L001_R2_001.fastq.gz", - "uuid": "3509a2f3-2e6c-4e56-9150-32be1a82d8a1", - "version": "2021-05-10T23:24:56.712000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1510373008, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_823d497e-ea8c-4b44-b76a-ec6c60f1ced0", - "crc32c": "a985f41c", - "sha1": "ce81585e1c976415e851e3686f3c4674827ef602", - "sha256": "9eb73a317f391bc18ed80a0f874b6d0cf16748b834e7c7855a7068006b796079", - "s3_etag": "1e8d3385f715f1b6b96ec5aa7b2e5e44-23" - }, - "sequence_file/8e892b4a-c112-47f2-a058-b87efed5a262": { - "name": "Young2_S41_L003_R2_001.fastq.gz", - "uuid": "35837492-79da-4f1c-a841-224cbec4c745", - "version": "2021-05-10T23:24:55.738000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2251940287, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1138ce8d-0779-40eb-baee-65615616f0c3", - "crc32c": "64b2e37d", - "sha1": "31996820b330e80ae8be97539128ae180ad55be4", - "sha256": "c15b2732bbf69dc8bebc8d8986d4ef3d998fd437a45184e92cd982ee5289dc8a", - "s3_etag": "d7efb238c3a1192e1312723cdf33527b-34" - }, - "sequence_file/14795e28-bcee-4da3-83cf-bb2592b6c0d0": { - "name": "Young1run2_S9_L002_R2_001.fastq.gz", - "uuid": "35a428b7-ad5a-45d7-87e9-33b23348b906", - "version": "2021-05-10T23:24:58.842000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 5792387382, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a2d89558-3f29-43fc-919d-970a1eb6ec3b", - "crc32c": "2cff25de", - "sha1": "de2b8a736be369be5ffbf763a42c325057c9b515", - "sha256": "e59f9483dc1df8539931feb7e7381def16058c09c216768b88be7e784c948142", - "s3_etag": "278c0fef064a4359ad310a7f22d59bbe-87" - }, - "sequence_file/1f134dea-8f9b-4e90-a1af-80508f43f73c": { - "name": "Adult2_S35_L004_R2_001.fastq.gz", - "uuid": "35bd5d6e-4de5-4f02-8f5a-33cc3b37b153", - "version": "2021-05-10T23:24:59.569000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1802082195, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e87bac91-6eb0-4e84-a2f3-ef519af1a087", - "crc32c": "83a7e288", - "sha1": "1b15a795b99f0fdc1dd452753a7e43f16dbeb5a5", - "sha256": "09c2cd17b2b86abb8c76951998409a22584f8929163d04e003eedcfd98e68fba", - "s3_etag": "e7b32e319c460f1a13f4da15dba9057d-27" - }, - "sequence_file/64eedb4a-2f73-4b60-a4b1-99b5ffd0486b": { - "name": "Fetal1_S48_L003_R2_001.fastq.gz", - "uuid": "38bbcc18-c2de-42f2-ba35-0f1f58d56963", - "version": "2021-05-10T23:25:09.885000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2442902001, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0c04a3f1-bc16-46ac-ab9e-c5ec8a122f0b", - "crc32c": "c529dd3d", - "sha1": "2e56813f5a5299a6bb0e12a276bc6b8301aafc6e", - "sha256": "d105f769ab40e93eb0bf6d1934e5fc08b74744056df3d3573f5b32dbcd72424a", - "s3_etag": "cb40866b96a90e1e280f44434101f483-37" - }, - "sequence_file/30f53c61-a8e3-42cf-a6d2-1b172659c189": { - "name": "Young2_S41_L002_I1_001.fastq.gz", - "uuid": "39c5b18b-7c2f-439f-afee-b895ecbdba36", - "version": "2021-05-10T23:24:55.676000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 342433890, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f4fd5fd2-6ee9-43bc-8c03-debee59274ac", - "crc32c": "44938513", - "sha1": "bb54d9d37b21c791208dc6be7780b77d8544cf26", - "sha256": "0fef0161c30ec67981ab3f761721116afb26ae0404cbabf0a115e6c282ce171d", - "s3_etag": "16d1aeee0a164231492c8640b481411a-6" - }, - "sequence_file/9f709f2c-701a-43bc-8417-77fac81c3633": { - "name": "Adult3run2_S8_L002_R2_001.fastq.gz", - "uuid": "3b0fcf43-fc81-4b0d-9d15-9b9d9c28a8a2", - "version": "2021-05-10T23:25:03.943000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4156891778, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_22caba37-ee99-49be-bb7c-df5a742f21df", - "crc32c": "8afbcc96", - "sha1": "6f3cfd1daad06c1646d3d5c07598b29ab1a7f2e0", - "sha256": "3f245ae47507a9276b6b8ea883ed8a6377e930eac5ef2fbd70f0d40c1f25f412", - "s3_etag": "d4652e06b6af4c6296ab983551112d15-62" - }, - "sequence_file/e61740c1-0e70-4d25-a912-32617d2e71fa": { - "name": "Young2_S44_L002_I1_001.fastq.gz", - "uuid": "3b145fb0-fb39-481f-afbe-af22cf58729c", - "version": "2021-05-10T23:24:55.566000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 351636030, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ce074a01-1f86-4475-ad95-be9841fd20d6", - "crc32c": "b428765d", - "sha1": "cf3f701848e83196364434024ef4922cb6e2f2e1", - "sha256": "8f49187e69f7d65ec573d60936659041d69fa1783db1e19ef5bed664ab2d6087", - "s3_etag": "638c6c3a68798438eb75020cde826830-6" - }, - "sequence_file/f77883e0-6609-4bda-b446-331adbd9d357": { - "name": "Fetal1_S46_L003_R2_001.fastq.gz", - "uuid": "3b4e2a40-facf-48d4-9e35-81abafb8aeb6", - "version": "2021-05-10T23:24:57.315000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1972868441, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_87b39b8e-d8a4-4e81-aa8d-61f199a4b8af", - "crc32c": "afcf9eb5", - "sha1": "81157baab82e3c379f57d3ba63eda778f133269f", - "sha256": "70162999d03a8d82c47a2027e6cace99c0146c75ba3216357026bf9af59f3bcc", - "s3_etag": "b0d736cfd6bafcae2544099b67f89a86-30" - }, - "sequence_file/b35e3b14-91dc-4bf0-a47d-4ed8428efbe1": { - "name": "Young2_S41_L003_R1_001.fastq.gz", - "uuid": "3c4d5451-b8fb-49e3-bb38-3516f530db67", - "version": "2021-05-10T23:24:55.725000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 993611820, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_19b409e7-84b2-488d-8854-46f3263e1799", - "crc32c": "6263305e", - "sha1": "ac35ffdedda488d935173b7d64296e1cc8aec138", - "sha256": "28e5aab01335e67df51f0cafaca301781e5e675dab8a980e86777a780278eab9", - "s3_etag": "1661198a625bbdbc0ae4706e8e2e443f-15" - }, - "sequence_file/42bbb160-b881-4036-a712-1ab9b5d5ce87": { - "name": "Young3_S9_L002_R1_001.fastq.gz", - "uuid": "3d399f0a-0e73-441a-9bc1-8f63536cf316", - "version": "2021-05-10T23:24:56.295000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 495459981, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_56546f99-ca28-4688-9077-94a66abcac8b", - "crc32c": "22c21d9b", - "sha1": "c7e283aa33e7896c443b94d974bc0e92a195620c", - "sha256": "b3280b62665da41ef879493b97d17bb170edcb2fb39b2974c4b78dc978532aaa", - "s3_etag": "94894ca994fc77bc8ce2912e21184285-8" - }, - "sequence_file/ab8e7f29-eae9-488a-9337-7a926c8857ac": { - "name": "Young2_S44_L002_R2_001.fastq.gz", - "uuid": "3e4ec223-4b6e-441e-99b0-a6eb8ff81322", - "version": "2021-05-10T23:24:55.592000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2705145773, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5e1b0ed8-c8f4-495d-b06b-4e57b8948f20", - "crc32c": "e7e29f27", - "sha1": "6478cba161f0ba347f6288caf08a4b867f6585f3", - "sha256": "506c08a1ab41f5b6f18d8072604a2ccc87e908c9343699d8711d3b554e256045", - "s3_etag": "7eee08809cf3cd77d638f99c37c23587-41" - }, - "sequence_file/e4d6ced4-50a3-402a-bbbc-ae329cd3689d": { - "name": "Fetal1_S48_L002_I1_001.fastq.gz", - "uuid": "3f13a6ae-a220-426e-9b17-176ce9029fa9", - "version": "2021-05-10T23:25:08.854000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 334354730, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_98796bec-7249-41f4-b258-8c1e29ad936e", - "crc32c": "f486f0bb", - "sha1": "8aac67a1326f5c470222d758f6d3b66d637fccc4", - "sha256": "47dcb987ac3c3767974a3ce5401a6231e0a8cf9e28c7d0490ca178280d018c24", - "s3_etag": "8473373467b4bec94a1da57c4bd150ea-5" - }, - "sequence_file/54140f9b-2929-44b6-9fb0-de4c2b22090b": { - "name": "Adult2_S34_L001_I1_001.fastq.gz", - "uuid": "3f7e58de-d959-42e5-b3be-7060c1ab94b4", - "version": "2021-05-10T23:24:59.845000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 289498775, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fd669701-f27b-4ec4-9030-914e6e882f9e", - "crc32c": "8ccbd513", - "sha1": "d356d8471c9b8a9ff2b2afd7fed29a8b66bda132", - "sha256": "ef0644dbdaf3cce739104f8f42684aa354d22ceab9d684330444612ec9fb7826", - "s3_etag": "008b510e1566b1597b5217b1f5acc311-5" - }, - "sequence_file/b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5": { - "name": "Young3_S12_L003_I1_001.fastq.gz", - "uuid": "4026cbb7-f472-4658-8a68-eb40eb78c3c3", - "version": "2021-05-10T23:24:56.081000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 198361174, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b21831e9-702e-4ed1-a5ca-b9197a6d2b26", - "crc32c": "065d04ab", - "sha1": "f6428c6494de024916574823689b8689bb86d0f2", - "sha256": "a49dd236bdff741d4b5b3c282af008f9962e4bc6aab9b199995b7fbf36edebf9", - "s3_etag": "ec41bfbeb35c85825955fd5ebea7c079-3" - }, - "sequence_file/f8988fe1-225c-40b4-933d-9dacb8b4728f": { - "name": "Adult2_S34_L003_I1_001.fastq.gz", - "uuid": "41905e9a-347d-4760-8e34-e0137aa93548", - "version": "2021-05-10T23:24:59.921000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 286273789, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_af0f375b-df23-420c-a9dd-b3ece68d3762", - "crc32c": "60de60fe", - "sha1": "99f6e1663ba80a67636bd909dec64282cae0d36e", - "sha256": "5dd0f3e79a8100aafbc221975f163ac96e332836f5d88c8b23dbb49b08dd53b2", - "s3_etag": "08940dc8af10ce69536486b9c671aa46-5" - }, - "sequence_file/4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed": { - "name": "Adult2_S35_L003_R2_001.fastq.gz", - "uuid": "4201e3fb-bbd9-4375-8a30-c47aba2e7794", - "version": "2021-05-10T23:24:59.525000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1814660599, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_58374570-6778-4753-9ccd-8f18e3983ba1", - "crc32c": "5ea3b913", - "sha1": "1e3492879addb1bb1311cfc6bd23386890c2c669", - "sha256": "f11f6c465d6782c4ac1356c4ce7f8e0e8be61c45c1b09d19fd4c4b0634ac7951", - "s3_etag": "8fc3598d8ef978d671ebda3100a544f9-28" - }, - "sequence_file/6f11ead1-11b1-4bda-8a20-588bb85ec126": { - "name": "Fetal1_S46_L003_I1_001.fastq.gz", - "uuid": "4335aa82-37be-4de2-94f1-8810fc811e98", - "version": "2021-05-10T23:24:57.285000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 303498772, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_827125f0-9fd1-4e8c-9ae3-f0c52e9c7cc1", - "crc32c": "946455db", - "sha1": "2a5e0f4153c0c58e4b8367b515d0c4aaf21c766d", - "sha256": "2367dba90bca2288522822b45466c0e25b3ce873a5e26e8d13b54d070400aa13", - "s3_etag": "978bd27336077fe7b205609ac18739bf-5" - }, - "sequence_file/c9a2a10f-6638-4463-8c8f-4260c72dcb92": { - "name": "Young2_S44_L004_I1_001.fastq.gz", - "uuid": "4368817b-fc6f-433d-becd-61be481dee9c", - "version": "2021-05-10T23:24:55.641000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 341426394, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_868adddf-c815-420d-bb1e-6ae09c524adc", - "crc32c": "91c824a3", - "sha1": "6959f624398ad8da1fce46ca031b6d09e203c740", - "sha256": "2495b5ccc205717c15cc8077f3389805f3d246fd358e8bb99053696dcbc5b675", - "s3_etag": "1c09a818445337db4607c9fabcc4f04f-6" - }, - "sequence_file/50fd1926-5615-4e29-be75-e8528d1da8df": { - "name": "Young1run2_S11_L002_I1_001.fastq.gz", - "uuid": "440b2ea5-b5e5-403a-ab14-a026497a7490", - "version": "2021-05-10T23:24:58.743000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 529338604, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a632b579-ae5a-4e62-a705-0dc9de4827e7", - "crc32c": "e0cc1fb8", - "sha1": "a020765656e098eaae8944a559b72e8af42c7077", - "sha256": "505259ccc585408b1c4f9f3775321157154674705e83978782c82f1375ec752e", - "s3_etag": "22fb23da880143251f94ff2c25f8fd73-8" - }, - "sequence_file/82899c21-c3c7-4288-bb8f-4c72880c10e4": { - "name": "Adult2_S36_L002_R1_001.fastq.gz", - "uuid": "452b3d9d-cbfb-4e6f-af3c-7a678e03c06b", - "version": "2021-05-10T23:24:59.631000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 892085856, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_61619cdb-ef55-45a1-9db5-f3bdeced72e5", - "crc32c": "ec5e7970", - "sha1": "662e7978033d1ab5f09bf9891772686bbbf6690e", - "sha256": "804c2a66f6d82459963861d265e4606323dcc72391b62c1fa4a5862b14622772", - "s3_etag": "701db3d98800a1581ae4df7b3f6dc71f-14" - }, - "sequence_file/4e066f08-f8b7-4550-adc2-287392fa7731": { - "name": "Young3_S12_L003_R2_001.fastq.gz", - "uuid": "459797ab-8183-4d27-991f-da0c14dbc176", - "version": "2021-05-10T23:24:56.106000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1488688035, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1f99309a-fb72-4611-b62a-480217e75d2f", - "crc32c": "3d28651b", - "sha1": "89750c3ac11a807149d8d5e9e2cd63e2edae4c15", - "sha256": "6cf10f9349f7313d90f7f2cf5212a7a843126a7acbe7ba8c0cbd4b63e6bf7f4b", - "s3_etag": "dff878f29b008ce6785dc22893165b24-23" - }, - "sequence_file/290232bb-afb1-45b2-8e04-be180948541a": { - "name": "Fetal1_S46_L001_I1_001.fastq.gz", - "uuid": "468cc474-cf45-48c6-beb8-07057fdc8782", - "version": "2021-05-10T23:24:57.205000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 307080601, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_19e5604b-6b50-4610-81e7-988b24615a8f", - "crc32c": "9b69e535", - "sha1": "3352e29305eee8caddbbc8f800dd9448aa9b790a", - "sha256": "f4ba363bc7d854afb215c1b53ffcd76c0b04599616b65116a09fe6b32319662c", - "s3_etag": "ab6b95fcea5072ae03239de37ef1c370-5" - }, - "sequence_file/9f577e94-f952-40af-a919-108f4661fdb9": { - "name": "Fetal3_S16_L002_R1_001.fastq.gz", - "uuid": "476ac577-429f-4731-9591-1570067d354c", - "version": "2021-05-10T23:24:58.032000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1654423260, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ac0d620c-109d-47a6-ae15-f846f70f4b1b", - "crc32c": "7ee9e49d", - "sha1": "03db0493cd648af4e7a0b200ea473f3179967d80", - "sha256": "9a90bdd8ff05615dc9ea16629b92dff6980ce1bab5e2143b23e63397fddb3c12", - "s3_etag": "fbcc91ac4d50b77be459efd884ca9556-25" - }, - "sequence_file/dcf52037-e357-4b26-9072-05e08bf47978": { - "name": "Adult1_S5_L003_R2_001.fastq.gz", - "uuid": "478ce71f-dda3-479e-ae3e-dc155020d4a8", - "version": "2021-05-10T23:24:59.027000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2018023631, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_bfc3b7ff-0430-4c2f-853f-d61b63774899", - "crc32c": "aac04c5f", - "sha1": "9a139521d3e6c8d4e8fa25a3e622a874a22e0676", - "sha256": "818df2fe24068f2b6a7b3ac245183ae6b508b9cf7673ea098979378e375e75ae", - "s3_etag": "fb372aff7de48eafb68e98daabbad8cd-31" - }, - "sequence_file/8898a9f3-4928-45b1-b236-71ce7cb48b11": { - "name": "Young2_S44_L004_R2_001.fastq.gz", - "uuid": "47c90541-7080-4247-b2ad-0a1622530c26", - "version": "2021-05-10T23:24:55.664000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2600373877, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e46fdd80-f8b5-4544-af01-915e1d8dcb69", - "crc32c": "dfaba01a", - "sha1": "2d0569784ddc1df25499cfc593ab7a677efa8003", - "sha256": "f1017401a1996695abada1ba00618569c07dcf11158531a24b3ab4e21fbf305b", - "s3_etag": "c18ff3413ce2c2870c5fa4bb07bb896f-39" - }, - "sequence_file/d20547e4-3f00-42af-9a7f-9477ff43de0d": { - "name": "Adult3run1_S8_L002_I1_001.fastq.gz", - "uuid": "47eb72f6-2554-4fa5-ac41-8a0a015c9d3f", - "version": "2021-05-10T23:25:00.546000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 507028481, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5ce53f1a-0261-4306-b758-182bb4ffd68e", - "crc32c": "f3080e94", - "sha1": "701680f503cca7745f3015cf04ae5dd9832fead3", - "sha256": "4c816e68106de64b59108a6922d8f8648f578275e8229beea4014906fa9da5f7", - "s3_etag": "8649204fa0aedeaaff0778fc30e69c65-8" - }, - "sequence_file/887d7cc2-1c24-42a9-aab3-51474d95f927": { - "name": "Young1run1_S9_L002_R2_001.fastq.gz", - "uuid": "48877bbf-def8-4da0-a569-8e6772d7699a", - "version": "2021-05-10T23:24:58.682000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 5200258509, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fc7a35a4-47ad-4830-9f93-06625691ecc0", - "crc32c": "8e782062", - "sha1": "91071d695a2dbadaae6acdc6a427fe864260f6cf", - "sha256": "b4087dacf3cbb972a22385b2dd22980b60d74f84ac00d73aebac21076ca8e16f", - "s3_etag": "581d6df95e53b9fbd3b2eb2c51729524-78" - }, - "sequence_file/a60154cf-58b6-461f-8908-b789cdd78ee8": { - "name": "Fetal2run1_S14_L002_R2_001.fastq.gz", - "uuid": "48f0a590-217e-4580-88f9-db79ab134665", - "version": "2021-05-10T23:24:57.466000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1822207221, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2353e596-5d2b-4df1-bde5-d286af08b556", - "crc32c": "8d11b600", - "sha1": "16a95d8144770c9112ae9f4347a24be2bef3c25e", - "sha256": "f116eecebf886a0417bd08412888c74c75533df3604e44fc66aed5b78c5b69bd", - "s3_etag": "c81bb9878e4df7aca739e0f8b380ded4-28" - }, - "sequence_file/1badbbc9-6b43-41f6-acad-36f09cff3d21": { - "name": "Young2_S42_L004_R1_001.fastq.gz", - "uuid": "496819e2-4a76-4e4d-9182-300b7cd35e11", - "version": "2021-05-10T23:24:55.942000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1087482475, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_56c5d092-f657-4ac1-ae91-58be03f6c9be", - "crc32c": "d0056eda", - "sha1": "a1f184971f5ba13a64bff71ff179aea3c8932c3f", - "sha256": "fd0462de71d1e4c87700673aba25a1f46773262277adc37dd8c4426e5ccd9184", - "s3_etag": "9f71773fb542b780aa7e077c2525d7b7-17" - }, - "sequence_file/79e53d37-c41c-4234-99db-f3333d89bb3a": { - "name": "Young1run1_S11_L002_I1_001.fastq.gz", - "uuid": "4ab6c35a-6161-4e17-a0d6-0d224e0e4eda", - "version": "2021-05-10T23:24:58.531000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 452125989, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_26c8b065-1209-48d6-a89a-4d1b1d56d07d", - "crc32c": "ff281b80", - "sha1": "65c9de3973c893a930ac13e1d7928caa9858b54e", - "sha256": "9865aec144fab097ee0506dc96a84a20cf727c376e0ee237889ec056d66ab877", - "s3_etag": "526dca089394ee721dc6592710ed3a42-7" - }, - "sequence_file/bf6cb18e-07de-404d-bebe-4a943dfb44f7": { - "name": "Adult3run2_S5_L002_R1_001.fastq.gz", - "uuid": "4ac503f3-d1c8-4e46-859d-6c71bdcd6316", - "version": "2021-05-10T23:25:00.921000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1859351951, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0c682f11-268f-4cce-93b5-76fab0acc583", - "crc32c": "f3a05cc5", - "sha1": "ff9e95df2d94dfed53f60f9e78c7bd71add7c5cb", - "sha256": "f1477dcea2639349d0049c2aa91fe78af241906310fa03f081421902fc63ffa9", - "s3_etag": "7259fada35062ac08f43ae2e78daa041-28" - }, - "sequence_file/3cf0f46b-1618-49e6-8cdc-d97a9d2403da": { - "name": "Fetal1_S45_L002_I1_001.fastq.gz", - "uuid": "4ac849a2-a3df-4b11-bda8-c21eda4290d1", - "version": "2021-05-10T23:24:57.078000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 353241214, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1bc5ab8a-f47e-421d-9de1-5c1586f00a88", - "crc32c": "f85aeb67", - "sha1": "9215fb42b2690ea1be6ec703cacb9ecda947b5d7", - "sha256": "ce1a60ed3c5441fe3076be388642f1909ae7292833ca5d999880c9ed7bb7b8e9", - "s3_etag": "0d76f119f18932687c0e3fa388a4472b-6" - }, - "sequence_file/7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565": { - "name": "Young1run1_S12_L002_R1_001.fastq.gz", - "uuid": "4cc88ec7-86ab-4c1d-afa4-c80fed914133", - "version": "2021-05-10T23:24:58.613000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1456150297, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b5b8bb51-c1e8-41da-98f0-da695553542f", - "crc32c": "4ef27f37", - "sha1": "caf93ce36a8b80cfaa5e98a86ad3d10786c73fe4", - "sha256": "d45e6435b2ea9558df3b43aa98f670b6957f725e6163626de5925282d2a433ff", - "s3_etag": "ab739f7595623974eeed122e08e60356-22" - }, - "sequence_file/7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0": { - "name": "Fetal1_S47_L001_R1_001.fastq.gz", - "uuid": "4d3d8969-8d3b-4b64-926b-c24de95a8fca", - "version": "2021-05-10T23:24:57.379000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 796122437, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b818ebe8-fdb2-46ea-9432-ebefed86805e", - "crc32c": "eb972a2d", - "sha1": "79f5f38658f8f714ab8b8a214b612d0299494c79", - "sha256": "dcbcaf652e7689bda88e7f71da863a1c032da66c2da2d6c9cab6634df46ab8a0", - "s3_etag": "ed2b5b9837d6011813a08d9231439f4b-12" - }, - "sequence_file/b7826640-f0cc-4891-860e-7815a8848006": { - "name": "Fetal2run2_S16_L002_R2_001.fastq.gz", - "uuid": "4d555c2e-7262-4ce0-b87e-fb23d28d16da", - "version": "2021-05-10T23:24:57.738000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4646670855, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3742a288-7bc9-46a4-94af-8422cfd04f1d", - "crc32c": "87ec0ed8", - "sha1": "9013149f4d6dab4c1721aa780eb5f1c344d6aca1", - "sha256": "e5043087c1b1665e1b14751d2fad30c3a5701f46aef1b17d2b7d5ba180ccb7b9", - "s3_etag": "f4fde797529ee81e8cc241685f104c27-70" - }, - "sequence_file/ce3c8eab-dcb7-403f-8837-6a7986acb6fc": { - "name": "Adult1_S7_L003_R2_001.fastq.gz", - "uuid": "4e80de0b-5325-4377-bf98-54a0a4447360", - "version": "2021-05-10T23:24:56.833000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2942328832, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0ea4e8ec-183a-438a-83b0-f7e704296ca5", - "crc32c": "40d8a7d3", - "sha1": "88a22055f3ddf911253a8bd700270925bd9dfd62", - "sha256": "fa28f19c755fb14efd3ce343ac03cf1ae80f8c77d2cfd00b51d710170fc78c36", - "s3_etag": "729562d347336e80796db8d7a649ffc2-44" - }, - "sequence_file/d85ccb81-e861-4bb1-95b6-40762555da1d": { - "name": "Young1run2_S10_L002_R1_001.fastq.gz", - "uuid": "4e8c4847-822d-4f26-bdeb-a3b2aa545e6c", - "version": "2021-05-10T23:24:58.717000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1521969245, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4d7e2846-8971-4647-a178-c85babb123cc", - "crc32c": "407fc96b", - "sha1": "3449968ab06394f1b09e34c30eee2c95f6755f4a", - "sha256": "9bc62b8205a483b0a6dc8b74ac01d014cf56129d90e8fece02e255e2255fcd4a", - "s3_etag": "4f1227b05f67accfd100e83ca971c248-23" - }, - "sequence_file/6e650029-386f-4d8e-868e-8780782baa4b": { - "name": "Adult3run1_S6_L002_I1_001.fastq.gz", - "uuid": "4ee04947-730b-4eda-86cd-a86cb8f476eb", - "version": "2021-05-10T23:25:00.148000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 591989926, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f57b9624-b579-4883-8121-6e22f97118b9", - "crc32c": "ed7ecf52", - "sha1": "5f5b0396e55d000e28bb96f9ea8cd7629fdac80b", - "sha256": "b4e753cdf445a050abee0d0508ad28906d663a934448142e6a34a77d52b2bb0a", - "s3_etag": "ae0466c63b607b8bd0f6a85bdd290603-9" - }, - "sequence_file/3c007e61-0e8a-4337-946c-1082441084c7": { - "name": "Young3_S10_L002_R1_001.fastq.gz", - "uuid": "5042cbe0-a647-42ea-ae33-ef4d56a117c1", - "version": "2021-05-10T23:24:56.428000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 531134114, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e7202c88-f8cf-42b7-81dc-411a58286bae", - "crc32c": "e39e1246", - "sha1": "c6feeea6782153b4dbfde2a538e0c081320ad870", - "sha256": "e3e2e30851d0fd8237e276493e3bc5956173658272a2b684bdd645876616470e", - "s3_etag": "fbc4bd0340618245813c60b455faaaa5-8" - }, - "sequence_file/449ec63a-dca8-4a61-98b5-e6789d4946a1": { - "name": "Fetal1_S48_L004_R2_001.fastq.gz", - "uuid": "5075a5ac-3fc2-456c-ba32-fd36b73bbcd8", - "version": "2021-05-10T23:25:11.107000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2423603243, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_37ac2db0-d0af-4e12-ac55-dd319bdf36c7", - "crc32c": "a155b620", - "sha1": "8b5969f8dfe18c8ed9018c77242229a57fabbddc", - "sha256": "e0037a8f74b6e1ff367b342e68e5bc71cc03b2522c61881c50922f85d40b837b", - "s3_etag": "44117abf85c3c623892f42d1bfa76720-37" - }, - "sequence_file/bef069b8-2720-4327-8298-9ab2badd4a53": { - "name": "Young2_S44_L003_I1_001.fastq.gz", - "uuid": "510a7a83-60a3-4d0f-a234-195d3d63687a", - "version": "2021-05-10T23:24:55.604000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 344113817, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_25d42ac4-e3ad-467b-b53b-109a7982a21d", - "crc32c": "00a702a7", - "sha1": "e2ab88796c99c2dd2e1cfbc4df6021c127d70840", - "sha256": "eb5e43ff4ffb7e1a65d821dcb454b5f2103f26a0aecae386c23c879c9b75681e", - "s3_etag": "48c03d2288d3c34eac28733bd188a00e-6" - }, - "sequence_file/c3182931-cc4c-4cb7-aab5-4b50093eebea": { - "name": "Fetal2run1_S16_L002_I1_001.fastq.gz", - "uuid": "510d0ff6-62b4-42dd-be3b-574037e97f09", - "version": "2021-05-10T23:24:57.518000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 554224892, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_035244d5-b457-4c09-9f08-f2060f356cf2", - "crc32c": "053b333a", - "sha1": "3e5bc38fd5cc82ee86e4baf44c257b373c7e7a36", - "sha256": "267c0fb57e0f34f5e5f6933070e2ce64c4bbaa6abf2b4c87ce887b4b39c43bae", - "s3_etag": "a38ced0f11dc5e8084f8db8dd00408d7-9" - }, - "sequence_file/832ae460-0083-42b0-89a6-cc651e50fad4": { - "name": "Adult1_S6_L004_I1_001.fastq.gz", - "uuid": "5233c464-f7ed-4c38-846d-89857554778b", - "version": "2021-05-10T23:24:59.251000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 319501978, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_597216f4-639d-4bb1-b61a-d1ebcd83165f", - "crc32c": "b0789e0e", - "sha1": "cca672d0069b77e197325d014b28deb03d35219a", - "sha256": "26eab26e984d408468e1b1e38a13bb6dc6365854ab9a898f67c0e2aea8112db6", - "s3_etag": "f34b16fbbd5ec96f3a16ac05c6c2885b-5" - }, - "sequence_file/102b8410-1c0e-46f5-90fe-609ab117221c": { - "name": "Fetal1_S48_L004_R1_001.fastq.gz", - "uuid": "52c71657-57d8-4a49-ba21-2591010b5da7", - "version": "2021-05-10T23:25:10.607000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1035446789, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ece59835-0f43-4939-8761-044fe3c70291", - "crc32c": "1026b857", - "sha1": "8489ccdd2ccc9a03577c41271e49f37d430cb055", - "sha256": "393f5e55b0764805947abde21845a11cc2ca25ce14486d4c0d790129a34b46bd", - "s3_etag": "6b93379237eef36b89c72982e5671124-16" - }, - "sequence_file/972e55ea-7901-435b-9646-53bc8fde2e6f": { - "name": "Adult2_S33_L002_R1_001.fastq.gz", - "uuid": "52fbaa44-2179-49b7-9ee9-582615102404", - "version": "2021-05-10T23:24:59.744000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1030204644, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_da3f25d7-fc51-4ac5-8aff-a2aa70c9efc0", - "crc32c": "3223e489", - "sha1": "033577c6be2c1f41a29fc08cf271d47defdd90f2", - "sha256": "53d0d7be6aa9c5b7ad8dd37103ca932909c3f76349497428b473c5484a3cfca6", - "s3_etag": "82686c68d2a0ab8b667cbee13822b18a-16" - }, - "sequence_file/1d77e73b-9bd3-499f-a0d0-86d9f7306a7e": { - "name": "Fetal3_S16_L002_R2_001.fastq.gz", - "uuid": "53a23d1f-67fe-4599-abf7-6d76b0999f59", - "version": "2021-05-10T23:24:58.051000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3832022425, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_52622536-0dd0-4792-8644-4fbeda540049", - "crc32c": "bdc07ef3", - "sha1": "ef32d5300cdac98ff726f6ba88d1704fa0e368be", - "sha256": "2f59f32ce950e4d2a68a0cd79f5c922e69014c76323b12b5316177bf3abcfb49", - "s3_etag": "671504cfcbb4e77ccba842909901dffa-58" - }, - "sequence_file/40f24220-4c6d-43c4-ab82-1db21d683b07": { - "name": "Fetal2run2_S16_L002_I1_001.fastq.gz", - "uuid": "53b64439-dbb4-4374-baa0-5dfd37982c9e", - "version": "2021-05-10T23:24:57.702000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 638677482, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_bb09257e-3cea-4047-8c61-24202ae7a068", - "crc32c": "c4e32418", - "sha1": "6760c7c76b1096b7c33bd8d82bc08dca264ed3e6", - "sha256": "c9504affcb40c5259d3310274f1b91e55cc7e7eb27301a2c2552912684af6cdc", - "s3_etag": "96269a6b32730ec56ea85cfbd123b38a-10" - }, - "sequence_file/fdd026f9-0ab6-49ef-88f9-4a5d61d12188": { - "name": "Adult1_S8_L001_R1_001.fastq.gz", - "uuid": "55d5d301-1c65-4ba7-a769-9496b1e85352", - "version": "2021-05-10T23:24:56.967000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 426262488, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_af95aac8-b91a-4ecf-ae3b-3c1e056fb2d8", - "crc32c": "5a88bb31", - "sha1": "1a1e73391d59d44bba20d58a4df1464987c6e33f", - "sha256": "5d329cb6e6ec4cd44b97b0c2e78e83b7e9a73ba84ac41fa1b21fdd67914d306d", - "s3_etag": "fa32b2242ab81ab79f364e75079ff604-7" - }, - "sequence_file/fbec3e01-aaf4-41a3-b667-1f0268571d10": { - "name": "Young3_S12_L003_R1_001.fastq.gz", - "uuid": "5731130c-c5a6-4c15-90ea-b560377d50b5", - "version": "2021-05-10T23:24:56.094000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 668397983, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_44f2122d-7d4c-4eec-8191-fabbf5bff15c", - "crc32c": "3177eedd", - "sha1": "2ddd497298c31de75ed3bc509f55b4a826042cc3", - "sha256": "5ad767230d0c7c0c84776cfc53a54e73437d3b709cc635f5e3427e966d390c6d", - "s3_etag": "cffdc5bbfc8f49607f5e0a89f690ec56-10" - }, - "sequence_file/b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477": { - "name": "Fetal2run2_S16_L002_R1_001.fastq.gz", - "uuid": "5791fd2b-16da-44c7-845e-3b9730f2f3d4", - "version": "2021-05-10T23:24:57.722000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1986504012, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_979588e5-ac9a-4529-b532-18a607942dbe", - "crc32c": "f240a849", - "sha1": "14d52de44f28c711581e08dc4e388ba70f8fb40b", - "sha256": "8df182fda848e9d997e6857d2273a54a38d7d7474fc64874e6024a1c64160112", - "s3_etag": "ce84f319621e036eb425dc83644128f9-30" - }, - "sequence_file/6fc7505d-33db-4d19-99a1-5756cd9a0a1c": { - "name": "Fetal1_S48_L003_I1_001.fastq.gz", - "uuid": "58a3a386-72d7-42e1-9d31-951faa0cdd14", - "version": "2021-05-10T23:25:09.319000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 325521075, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6f12248e-5200-4ced-b955-246a8e3035ed", - "crc32c": "0e28d878", - "sha1": "1f38651ed48216d3df74fb4bd6a7d2af1f8c528f", - "sha256": "805b95728c396627854ea9432cb20621ac6992fdc5d0158bb5e4c0c3fd55b3d5", - "s3_etag": "257b4b44689437415d957fb9134d8462-5" - }, - "sequence_file/ee28d3e7-02df-46a0-a3ba-f55ad747b214": { - "name": "Adult2_S33_L002_I1_001.fastq.gz", - "uuid": "58deffba-bee5-43c0-9432-f48d476479f7", - "version": "2021-05-10T23:24:59.730000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 339309012, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a20110ee-5eba-42cc-8c55-483b8097dfdd", - "crc32c": "906e2b29", - "sha1": "bda87a3252f474dadb154f29569468c0d705e4b5", - "sha256": "d8cec97f3d4376e2bf1d213e4b01a3063dfd11b43a739389a8b8834f8e834bc9", - "s3_etag": "a824b222b8bad6bc223df5099ac446d5-6" - }, - "sequence_file/d0cf423a-1ecf-499b-9e61-95662e23ba40": { - "name": "Young2_S41_L002_R2_001.fastq.gz", - "uuid": "5ba4d483-b089-436d-b5d9-204594fd9bdf", - "version": "2021-05-10T23:24:55.702000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2318612723, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d4089ca0-daf9-4753-94b4-a66376ea5fad", - "crc32c": "d2bc4064", - "sha1": "5eb3509308444dff7a4c2adab8c005b7588172ec", - "sha256": "a4a3ec6b819a6ae81e173acfd540836762d464f5f721be74b9ee64b07d64fafc", - "s3_etag": "05a2710307ed3675e6c519d4bcb48384-35" - }, - "sequence_file/bbda7bad-f60b-4091-83b0-b8d96c3f4214": { - "name": "Adult1_S7_L003_R1_001.fastq.gz", - "uuid": "5bb51990-9b12-4694-bc28-b87a2efeae9f", - "version": "2021-05-10T23:24:56.818000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1280722375, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b57e15e6-7fa3-4f12-99dd-b87deefe715a", - "crc32c": "61f26436", - "sha1": "35aa1af43b3b4bfbd6ef24ee39bc73f2c40b786c", - "sha256": "629768b2f2d60eddcff8ec366f34bb59f6304d3707770f6fde2c996e489a4132", - "s3_etag": "9347569c56b3810f3f128e02b52b33f9-20" - }, - "sequence_file/6b38794f-2d55-4422-8094-fb4a5e100d32": { - "name": "Fetal3_S15_L003_R2_001.fastq.gz", - "uuid": "5bbb5c3e-aa4f-4a39-b9b6-daebf8267e7f", - "version": "2021-05-10T23:24:57.912000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2804238590, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_54e9309e-2534-43ea-a2db-b8ad3e2a1cf2", - "crc32c": "f7274488", - "sha1": "9d2852d83e2d7e64bed00a31bb42a53e54f48c15", - "sha256": "a3f3832d6ec4e98abba93cbbf79bacebe10a955c271dd53c363bd25156795eb9", - "s3_etag": "0b20ddea33fd634d803eb548b436c271-42" - }, - "sequence_file/38e1a4f4-f9ec-44cf-b6bb-1a9566456d38": { - "name": "Adult2_S35_L001_R1_001.fastq.gz", - "uuid": "5d0feda8-27ec-4d2f-872f-010de5599038", - "version": "2021-05-10T23:25:00.009000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 819315594, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2a136c30-089d-4a63-a9f5-f15fd285135e", - "crc32c": "22c6445f", - "sha1": "ad512e8aa2e1eae725c31e0d1571c4a9f21e097a", - "sha256": "2d169bc6c3c3622fb440e0ae6a6bad961df58d99b818a213153560a856a4b081", - "s3_etag": "15a15aaacaade94d72aae343feff8a46-13" - }, - "sequence_file/9766ad67-37fa-402a-9649-181a1752e5b2": { - "name": "Fetal2run1_S13_L002_R1_001.fastq.gz", - "uuid": "5e1a2b5c-6a08-46b6-825f-316983d5abfb", - "version": "2021-05-10T23:24:57.418000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1709342946, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a077a50f-d511-41af-88f3-43798775871d", - "crc32c": "ffbe2d87", - "sha1": "1281b6fb6f065ff5db6790aa62cb3981e9398a65", - "sha256": "ed17643185ae644db94ac5ca9b683642bfce5a6f9e15d4576e7b30ca6a91e60a", - "s3_etag": "103db435acfd9ec4bb7badd0b16e6f29-26" - }, - "sequence_file/ee36a1ac-7426-4253-81b8-715f37a2ba69": { - "name": "Adult3run2_S6_L002_R1_001.fastq.gz", - "uuid": "5ec7c9a4-d508-4f02-a5d6-2549a2beb668", - "version": "2021-05-10T23:25:01.949000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2031050080, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_dfe406cc-5192-4260-b3e9-e501aa85b196", - "crc32c": "b00dea07", - "sha1": "7f87674684cd8a8c5513931fe4ecd0455b61f765", - "sha256": "7564fab430c20ec25ab74e9f02c6ee1b046b152e298f637055afd346a525a390", - "s3_etag": "96363f0236fba26d5ee30275a247347b-31" - }, - "sequence_file/5f3e080f-d2f2-4350-96b0-fb8169bfcdd9": { - "name": "Young1run2_S11_L002_R2_001.fastq.gz", - "uuid": "5ecc4c21-3d22-4ee4-a5ec-f65c013fe1d8", - "version": "2021-05-10T23:24:58.768000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3904827915, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_64bf030a-5e06-4405-9ab1-1244553f88bb", - "crc32c": "104ae16c", - "sha1": "cdf6e0fc5a243ec1eac702912289076747d47ccf", - "sha256": "337af07ecd02a144c6480735ae0eafe7bb7d838f0e66888b182540b9cf1a20c6", - "s3_etag": "6cefa26d2755ee767110dfed99070ca5-59" - }, - "sequence_file/4ca067fb-8ba1-4959-9c1a-878d5705dd67": { - "name": "Fetal1_S46_L003_R1_001.fastq.gz", - "uuid": "5f44152a-c794-49b7-b1a3-ff85ca3b09d7", - "version": "2021-05-10T23:24:57.300000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 860854564, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_027dbe75-48e9-448d-9f4a-7aab62618029", - "crc32c": "397c548f", - "sha1": "145fba54ddeac9ac18d7cc0d0a0a5d7b1917eb8d", - "sha256": "3d2d600def499f0d52ac78389112f7f21306d60660acf7860e44c59a40b26977", - "s3_etag": "700e98f25caad18e56fda256b0e49d0a-13" - }, - "sequence_file/ffb64e6b-8924-4adf-ae8f-e55b4dd019dd": { - "name": "Young3_S9_L004_I1_001.fastq.gz", - "uuid": "5f4b61e7-f383-4afe-95ed-b5291cb78e25", - "version": "2021-05-10T23:24:56.379000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 154244094, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e78bd1bb-dcb6-4a30-9b04-c8db206acce6", - "crc32c": "015fff5b", - "sha1": "200eb9ade9b158ac26120e24f7a0bce4575b77af", - "sha256": "6dbe343b47b005aee334a678b393013aa55a031d8c23175ea7b650e65bed97c5", - "s3_etag": "b05cefd1f4cd631c0fc53fad7cf7c6ef-3" - }, - "sequence_file/f5fae200-b633-4ade-8871-94cf47475c67": { - "name": "Young3_S11_L004_R1_001.fastq.gz", - "uuid": "609ae52c-1765-4048-8e00-2ddbefb71419", - "version": "2021-05-10T23:24:56.661000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 593275404, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_52ecf4c7-111a-4d80-9d34-0b55d6f07ac9", - "crc32c": "d38f71c1", - "sha1": "725359052dcb9355ab9a6cac24d951e398fba104", - "sha256": "891d5f8bdde9e503507f33141115a51f54092696defcb2654decfb37ffba681e", - "s3_etag": "43ea709c296fdfa25a1c06030325ca17-9" - }, - "sequence_file/3f2ae9d6-763e-4408-bc80-6067ccc756e0": { - "name": "Young1run2_S12_L002_R1_001.fastq.gz", - "uuid": "614f783b-6956-40b9-9a4d-7e5aebda0eb8", - "version": "2021-05-10T23:24:58.793000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1750145016, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6d150385-bdb8-40cf-8236-2b9ad6558ae9", - "crc32c": "bd6db2a2", - "sha1": "7abfd400e3ba8d2afd62c5a8fc22a6dadfcda95a", - "sha256": "1ccd18fb328476855d1e6b0eb235e3056c167525763044dfb9c96ba20979eaad", - "s3_etag": "71c2a71389f830891ee039fe8b5cf514-27" - }, - "sequence_file/f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad": { - "name": "Fetal2run1_S14_L002_I1_001.fastq.gz", - "uuid": "6173707a-3764-4ff8-9873-32e3710aa9fb", - "version": "2021-05-10T23:24:57.441000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 252155112, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9f9b1eb8-768f-4131-8c7d-d837dde90e66", - "crc32c": "6699b9cd", - "sha1": "2297c476698f1706e32b83b15722d153b71862b6", - "sha256": "71e42dc2ae9d27d45f2fcb5a3a551d9db4bb2ae1aaae84db112094be79fc9355", - "s3_etag": "3b9cdfb2ebda3941a2203745a8f159d1-4" - }, - "sequence_file/1adbb95f-f5c3-41ce-8e16-7657d189de79": { - "name": "Young1run1_S9_L002_R1_001.fastq.gz", - "uuid": "61d9feae-3f3b-45e8-a236-359df3e2e2d1", - "version": "2021-05-10T23:24:58.665000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2220583694, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b66ba5b7-c017-4bc2-85cc-680f0d8148fd", - "crc32c": "311e003d", - "sha1": "33cd93ed19e8a934675cb142db77792142c58a19", - "sha256": "826d63a532b0659fbd4399cb11c75192d15d8441aed112fd0b0927adec3ffc80", - "s3_etag": "f7e94501913a1d7a5b4a81d21df9630d-34" - }, - "sequence_file/554c1554-ed18-4926-b8d7-5b6af2edab5b": { - "name": "Adult1_S5_L003_R1_001.fastq.gz", - "uuid": "6250c51e-4eb7-4ebe-81c3-abc23724f317", - "version": "2021-05-10T23:24:59.005000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 890195244, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_df783777-b08e-4c08-b87b-dc6d410b2674", - "crc32c": "e5f8384f", - "sha1": "48153a3e4cf72452028449862aeec63739be9eee", - "sha256": "2dbec14534859b1bb9b1337fe12b672f2d82c30501b4a65468095d66a4d3a414", - "s3_etag": "ba729edbdd746686f27e137b8c98cea6-14" - }, - "sequence_file/69ab8827-b0dc-48ae-84b5-1d27284a7db0": { - "name": "Fetal3_S15_L004_R1_001.fastq.gz", - "uuid": "62af56af-f65d-4aae-a599-385c1f725e23", - "version": "2021-05-10T23:24:57.943000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1208645017, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ee424904-fcc3-466a-9b7b-14c0c9e52f82", - "crc32c": "cb6563dd", - "sha1": "64ed302cac0375e69d0e5e49622f77ea7e6d2767", - "sha256": "8d9604af462db47daf6f6142b3120afe197d9b3d3a232bfd39ee7a00ba3d9127", - "s3_etag": "907399b1206726410cf83c6cf1d22601-19" - }, - "sequence_file/db2ecbf9-0e24-4106-b594-73368de0e98b": { - "name": "Young2_S44_L003_R2_001.fastq.gz", - "uuid": "62f16474-dd23-4eac-aefc-1ba7c5d67d42", - "version": "2021-05-10T23:24:55.628000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2616304336, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_39b4cf68-51c4-4106-b029-951de16748b0", - "crc32c": "d4e26737", - "sha1": "b5dc17045291e0ac1038e00b87fbc65dd5f638f9", - "sha256": "311e7b160231b63872b004f7127f6ccb13b92535b762defb63f1480e33c140dc", - "s3_etag": "990f643b7a696c018bfc601ce4e49041-39" - }, - "sequence_file/64e1d438-17af-450b-b90c-04072117cbb1": { - "name": "Young1run2_S12_L002_R2_001.fastq.gz", - "uuid": "630c4724-310e-462d-9d0d-e10083f44b9c", - "version": "2021-05-10T23:24:58.805000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4044180974, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9baed3d2-fb3c-49ed-bd33-5ff3bf4d98f2", - "crc32c": "1c3c4389", - "sha1": "a324d96aed15d28fca68ec63fbea91bf27cc9175", - "sha256": "5c50c53c753461070b986085bf614477979d25099767fd14061687b1ca88efec", - "s3_etag": "f8f3df433b1eefa6e4081f25aa688941-61" - }, - "sequence_file/885f171d-901c-4cc4-9c76-c5d8cdf35991": { - "name": "Adult2_S36_L002_I1_001.fastq.gz", - "uuid": "6314671e-6b9f-462c-a207-e0f99f82a659", - "version": "2021-05-10T23:24:59.618000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 331683184, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_733afec4-4329-4a87-8649-5ee4d44f2545", - "crc32c": "c74477a3", - "sha1": "f045c9e041947b39c038781eaba7688a20cdb801", - "sha256": "5834d0061c7f732d686bcd31dcf775b8dd9aa49c5910130228d444fb15bf6d94", - "s3_etag": "875011df0b4354db7f339f1e0652108a-5" - }, - "sequence_file/9bad139c-7abf-4786-a6fc-5f9a5abcd850": { - "name": "Fetal3_S15_L002_R1_001.fastq.gz", - "uuid": "64684889-2821-4e2b-9aa4-b57c3eb47a42", - "version": "2021-05-10T23:24:57.845000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1255308430, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d2c2b97e-5c10-408d-b72c-ea3261c75c02", - "crc32c": "6bb05067", - "sha1": "57023fc46ca40207300f4e64036e7a200bbeb585", - "sha256": "f5f3528ee946b0fd518bf4ce75db9f8c4b5af0cc7f472cb1113281be8c1eeda5", - "s3_etag": "3c8e1ccabd00d4136dfae2344143e8cb-19" - }, - "sequence_file/5a172f54-33a5-4e0d-bc0d-1760bad3beb6": { - "name": "Adult3run2_S6_L002_I1_001.fastq.gz", - "uuid": "64cbad96-28c1-4e62-a6f5-b8b79424503a", - "version": "2021-05-10T23:25:01.593000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 642328131, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_36df2cf6-81dd-4800-830d-0a70d2aef909", - "crc32c": "2d95000d", - "sha1": "37b375bcfb586b849df3441ba886e728483cab4e", - "sha256": "aaf9162d63b4012f0a9903756d79905d27dd84408898189ced5cd813223217e1", - "s3_etag": "7e2a3c8b30611f5b4864672db031895d-10" - }, - "sequence_file/296db6ee-3e65-48ee-b232-626653165222": { - "name": "Adult2_S36_L001_R2_001.fastq.gz", - "uuid": "65909bad-b2cf-46f8-883a-6cd80e9499e4", - "version": "2021-05-10T23:24:59.606000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1984681954, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9c9b5e07-7e91-4afe-bab5-2d4cd96caaac", - "crc32c": "d8aaeb82", - "sha1": "e0124797f6439926bd4307acb00ec8022901f3a8", - "sha256": "5b0cefcf1099a239d85ccff1e3c5d6ce2c6f5630e1ec13fb72e04cd110048389", - "s3_etag": "510e6e5e4f7dbf9218404e13e78a31fa-30" - }, - "sequence_file/877258d8-07eb-4cb6-a358-7c265c856ab6": { - "name": "Young3_S11_L003_R2_001.fastq.gz", - "uuid": "659bc4f7-7223-4eee-973b-432c66c7ded9", - "version": "2021-05-10T23:24:56.635000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1351766622, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6e04d9dc-18ce-4bf7-8cc1-dc1119b57875", - "crc32c": "767735db", - "sha1": "31652ef85149d085c11b578269b1f01f050b45d5", - "sha256": "8db15a0fb56467f8b36729529a480e8bd426d711f6563704dab55ec738abc751", - "s3_etag": "e02b1ee06b6b5f705a6d42cd35276696-21" - }, - "sequence_file/344c1e18-810e-4800-bbed-0246cbbafa60": { - "name": "Fetal3_S13_L003_R2_001.fastq.gz", - "uuid": "67784226-6582-44f0-bdf0-1d2bc86d9a6a", - "version": "2021-05-10T23:24:58.197000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3480138395, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e69ae61f-a133-4d10-9159-aa5cdc385cf2", - "crc32c": "ab6a9954", - "sha1": "1e07ad4544767e81ac7c82661e284313e72acf84", - "sha256": "5791d062e01754f36364e8d46a247c75869067aeedd8d02205d3c855b72b13f8", - "s3_etag": "6189e776ce7812678a0b568aac4270bd-52" - }, - "sequence_file/a6a99736-43fb-4f67-ae26-0e24d5277c6b": { - "name": "Fetal3_S16_L004_R1_001.fastq.gz", - "uuid": "680f8f20-13b6-45db-872c-83b542f77227", - "version": "2021-05-10T23:24:58.112000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1597415498, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9c6851c3-de4e-4c5c-a283-e0f33a75d4fe", - "crc32c": "dcd281bb", - "sha1": "fea17b7b8dd90c723654f1e45f353e504eec65a1", - "sha256": "10df74d8d1ef42be8761bcd2bdbdc925d1adc455c8a911d855d3b33e178a8698", - "s3_etag": "92d4decc908a4c06b85b3e28632d5d16-24" - }, - "sequence_file/87e9a01b-594b-4dc4-b2a7-a14407399b50": { - "name": "Young3_S10_L001_I1_001.fastq.gz", - "uuid": "6a96f079-8655-40da-ae1c-2259b26adc8e", - "version": "2021-05-10T23:24:56.006000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 165020801, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c7a6d47d-3167-4996-a9e6-1de844be6956", - "crc32c": "9c3ef3f1", - "sha1": "c720f23b0f93a4528c208f995f2da32b2a4ae42b", - "sha256": "c7a8ec69ffda62db4e015297d8a19ee22a88df1f0556c2ac252e4fac19cf8c7b", - "s3_etag": "83453633d2bd7c617d80da0b317d5a64-3" - }, - "sequence_file/e17968e7-5ef9-45fb-b45a-d73d18f41ae6": { - "name": "Young2_S41_L001_R2_001.fastq.gz", - "uuid": "6b339b09-2d38-4016-8aaa-bfcc788d124a", - "version": "2021-05-10T23:24:55.401000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2279254555, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_97be43c9-1c95-41cd-ad1f-4ca3a130d0ba", - "crc32c": "f402793a", - "sha1": "d2f21f11e8effbe2b0721b76d5fc7096711296d7", - "sha256": "29d348b8c65f2ff0ea25c85f26d6669bf87a87d8af2f85173919e99d08ea7c5b", - "s3_etag": "5dc648657d1724e88185528dd29d7b52-34" - }, - "sequence_file/b0025fa1-e6a6-441b-a018-2c73ceabe237": { - "name": "Adult2_S36_L003_I1_001.fastq.gz", - "uuid": "6bbb303c-2698-46f3-b818-702e9c75e40d", - "version": "2021-05-10T23:24:59.657000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 321557927, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a83634cb-43a9-4bad-bd76-5fe2c5b96d21", - "crc32c": "90c2a037", - "sha1": "c5d5ccbc8015aa064124d44de9b018bba0f6a054", - "sha256": "2df31e8db2c3aa8fac4a4743841955a911a9ead26d2f6b4e37eb4fc08c488c86", - "s3_etag": "a29b34cdfa347571a313da5506be9e7a-5" - }, - "sequence_file/10b3b42b-3612-48fb-849b-bfc036c248a6": { - "name": "Fetal1_S48_L002_R2_001.fastq.gz", - "uuid": "6d508d37-de41-4d34-8eb8-ab59e95e6eae", - "version": "2021-05-10T23:25:09.259000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2532330169, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5a7ed6b2-6d74-4c29-bb8c-3e4a5360e008", - "crc32c": "2b4f55a1", - "sha1": "0d1537dfa48bd8100852654aecad70fa0445142a", - "sha256": "d5798b342cd46dd25ebc62b11562b0a637081645fe93dfbc9990278dc34f2f56", - "s3_etag": "ce9764b5342d4a9b72fa4277ba2df9bc-38" - }, - "sequence_file/dcec351c-327a-46df-aa48-22d2647d5852": { - "name": "Adult1_S5_L002_R2_001.fastq.gz", - "uuid": "707a111e-6a29-42f6-906b-1168970d3ba0", - "version": "2021-05-10T23:24:58.975000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2091824955, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a70ac6e5-69c6-4821-a60e-f251fb560e93", - "crc32c": "750d7716", - "sha1": "a7048a589fba06ee5e4706872ca2cf8e5d8b74f5", - "sha256": "dfa15c2e618bddf4ed7e5e59535b72741702b6a9bfb8861932a35cd96ebab7d2", - "s3_etag": "03d1700179eed42d731e09f54eefb507-32" - }, - "sequence_file/f859d1ff-df51-4548-b8a4-9eca26bf7454": { - "name": "Adult3run1_S6_L002_R1_001.fastq.gz", - "uuid": "719d5ca1-9869-48a6-9876-81b4816c3dbf", - "version": "2021-05-10T23:25:00.183000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1834056560, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_27e812ac-1786-40eb-ac57-f3b7b204a19f", - "crc32c": "98f3b8f9", - "sha1": "7f85657f0c2bcba0ad26304f9561616ff16d5a7f", - "sha256": "f7f1c99f64493eb277a249a2fdb77ed2cecfab3896d767c1a4d2a655eea35188", - "s3_etag": "03bc5974bb521ebd1a913e3e33bd51b4-28" - }, - "sequence_file/71add17d-3b59-4ca2-a032-80819608a34a": { - "name": "Young3_S10_L004_R2_001.fastq.gz", - "uuid": "71bdd650-ae9d-46ee-af5f-efa21b8f6d63", - "version": "2021-05-10T23:24:56.525000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1145940984, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_263c86ff-a28c-4dcc-8175-08f45a119770", - "crc32c": "4f83539d", - "sha1": "47994a91621f8fa65d58abec5a21c2ee1effdcc2", - "sha256": "373c0eb25a8e941c1d253c83b23ab621acfc27d6a89290cba19cc019b0277285", - "s3_etag": "ccafa18fb8215f17f9285e5d7c6c7f40-18" - }, - "sequence_file/110bb0f5-9d1a-4573-b711-6bee156d0eb8": { - "name": "Young3_S10_L003_R1_001.fastq.gz", - "uuid": "738ebc49-f032-4c58-a5de-cbdbbdd58286", - "version": "2021-05-10T23:24:56.476000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 514799709, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_955a92f4-47a7-412a-af24-e22fae6c06f9", - "crc32c": "9de991d6", - "sha1": "3b9c3484a2c47258beb7d829e0d3f2c08b8a1163", - "sha256": "b6c70635848f50b65d96f649e93d3d298218e55cacaff60ab1d60d834e857986", - "s3_etag": "80c3bd91afc30f8118aad3eed276ca8b-8" - }, - "sequence_file/3cad3e7e-9e9b-4e4e-a535-509853f9306b": { - "name": "Young2_S41_L001_I1_001.fastq.gz", - "uuid": "73de6875-a6ff-4ff4-846a-5d4866b129a6", - "version": "2021-05-10T23:24:55.377000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 337988979, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_acc401bb-4481-45ae-8e5d-28070a3c204c", - "crc32c": "19ef21fe", - "sha1": "769722dad18e8d278d27a91379f9e7ec79f213fc", - "sha256": "9370aaa2eb7e0c085c9ef09ef6e1254e35d242f5934e4ab9a3159da59405b210", - "s3_etag": "5b05518df2655ede39c39c428caefef7-6" - }, - "sequence_file/7938acb1-91e3-4d8d-9d24-3b0a9fa28131": { - "name": "Adult1_S8_L002_R1_001.fastq.gz", - "uuid": "7518b08c-cf57-44fa-8cba-a22aad24d5ea", - "version": "2021-05-10T23:24:57.036000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 434337220, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_414162fc-5edd-4d24-8d3f-3411f797e608", - "crc32c": "dff52463", - "sha1": "eb801118733adda53a900c2ef340344b21e07d89", - "sha256": "ae014132b1bc2430b5c582e2775a0a025888f6c547fbea41de54a257b55d137b", - "s3_etag": "9f5f639444ae0790720c620b03496b84-7" - }, - "sequence_file/95e893a0-0885-4e1c-8e31-55863d5108b3": { - "name": "Adult2_S34_L002_I1_001.fastq.gz", - "uuid": "75b50abe-fbd8-4bc6-9170-455bcd9a3208", - "version": "2021-05-10T23:24:59.882000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 292437967, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d63d65a8-73b6-4dfa-9f38-5f3a76b5f63f", - "crc32c": "f5f09abd", - "sha1": "b935b30edd95fcfab9f898178d97a1e70e154250", - "sha256": "f9369aa0da27327f56fb4fe481ca5dfe3fe9d1a56009b714a9b445e10404f447", - "s3_etag": "32181017e7c756b20dbdb2da76171a2e-5" - }, - "sequence_file/58b683d3-03cf-42e9-9cff-4143dff729ca": { - "name": "Adult2_S33_L002_R2_001.fastq.gz", - "uuid": "76457b72-bfe8-46b4-a8fb-7644c1f9209e", - "version": "2021-05-10T23:24:59.756000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2369720493, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5bc7a978-3747-4da1-8e44-dade01ab43b1", - "crc32c": "643c9c5d", - "sha1": "a05696b74457dfd6358dfb7d8c26e3a78e64baa9", - "sha256": "184cd8a222a770666ed35e97d55de3f6e13fdabf7129af0ad62dd5fceb02396f", - "s3_etag": "a2bf48d5343ee3e463e9dd6f5be55ffc-36" - }, - "sequence_file/9e63db48-5b68-40e8-9d8f-aff48223b80e": { - "name": "Adult1_S7_L004_I1_001.fastq.gz", - "uuid": "76616c76-f485-4da1-aae6-fc2fc918d90e", - "version": "2021-05-10T23:24:56.857000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 403500549, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_43a31c50-0430-4f8b-869e-d5e846c680ac", - "crc32c": "0f3b64bd", - "sha1": "53fe89e32392e95c463908b83c083effda536d78", - "sha256": "b96e683373f662190d757aae0c9980e046f31796c19b84a4438b78a6f4bf2fc2", - "s3_etag": "ed0276f5a2a992e1f2e46ba73e95869c-7" - }, - "sequence_file/b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc": { - "name": "Fetal3_S15_L001_R1_001.fastq.gz", - "uuid": "770b9529-4358-4a27-9c8c-ab4fd91c3397", - "version": "2021-05-10T23:24:58.421000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1230891775, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_019cc811-4e9f-40d1-978b-875dbda86ee1", - "crc32c": "2dd9b4b6", - "sha1": "eee29c2aca4df91b12ebbaaff6c7274acfc0a4f6", - "sha256": "d454beac5e53e32041a91cf200e9d178add4aff570369d9450bcd11c3bdd4ff2", - "s3_etag": "ba609bd4398021667ec83c36896bcbf2-19" - }, - "sequence_file/09610000-dc5c-4665-a72e-b0dad51edf6d": { - "name": "Fetal2run2_S13_L002_R1_001.fastq.gz", - "uuid": "779c4733-3497-4125-9359-d528c0fbdc11", - "version": "2021-05-10T23:24:57.569000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1958043420, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_90055f7e-202e-4a63-895b-694f88d4315c", - "crc32c": "8c83eb31", - "sha1": "acbda33fad5d95c911e91f4c570bb4e539343280", - "sha256": "f058b0a3d02b12d9fb2ed6b78180c59b988e2ead118ff77d149f58698784c49f", - "s3_etag": "3c962f7291890e9a364f6c235c9fea33-30" - }, - "sequence_file/9a03ec79-7dc7-44fc-bb97-22ad58159436": { - "name": "Fetal3_S15_L004_I1_001.fastq.gz", - "uuid": "785cf620-02b6-4450-aaff-67684b1af04c", - "version": "2021-05-10T23:24:57.930000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 374756127, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6b2cab48-7884-46f5-954c-11f64cc31b10", - "crc32c": "0eed68a9", - "sha1": "74a5d19e16f2924c7107727851baf13f53e894be", - "sha256": "a1a637c37394b3bb59bd3aa3ac1971d47388acb97c470621ed95e796ca5864bc", - "s3_etag": "996626811af5e6451c8ee3951b835ee6-6" - }, - "sequence_file/b6dda1ac-9635-426a-869a-82b1420ef251": { - "name": "Fetal3_S14_L001_R2_001.fastq.gz", - "uuid": "78e933ab-3d89-4651-9e78-db7da3ce15de", - "version": "2021-05-10T23:24:58.273000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3136782514, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_315cad23-0acd-4204-94c9-5f3c5c85565b", - "crc32c": "d06b71ce", - "sha1": "6d5fbd2c83ac8c1281eee61569468b4c01c32123", - "sha256": "d42250f47b09f6faafbc5a5c41283a8dd8f7fcd4da698d3200d7f7aa3f31c087", - "s3_etag": "d9fdb12380ddad7730bd7c111071c06e-47" - }, - "sequence_file/51aef727-d8de-497f-abbe-e650b1baeeab": { - "name": "Fetal3_S15_L001_R2_001.fastq.gz", - "uuid": "791fcf08-b02f-4ecc-9a89-bef863ecb3db", - "version": "2021-05-10T23:24:58.453000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2842015326, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_95e89dd0-0b09-42fe-ba54-ed2620323603", - "crc32c": "d96c05aa", - "sha1": "0cc94add341ebdf4271c92ad921f437314847cb3", - "sha256": "49eba228dee022d0a782c6d1f8dd9815ceb22da9ffe6eb763b41788c448a8834", - "s3_etag": "c2754b81468b7913e109b87fea377da1-43" - }, - "sequence_file/4abcf42c-5291-47f3-b7a8-bb1071f56c54": { - "name": "Young3_S12_L002_R1_001.fastq.gz", - "uuid": "79377e16-5ab0-433e-ba05-39349b25c52f", - "version": "2021-05-10T23:24:56.055000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 690327037, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f05ae912-401e-4895-b5a5-73a6db7f1294", - "crc32c": "c60a6266", - "sha1": "6871c93331af10501b67ec470709261014feffc1", - "sha256": "60b0aa40851bea8d679ab02ef2b86c5696edf3187b404a9b38ef6a6a3e2fd445", - "s3_etag": "629afbff4eb9744ca5b2732162460ac1-11" - }, - "sequence_file/e9def19b-3967-47e7-a2dd-1bc5f9297959": { - "name": "Adult2_S34_L002_R1_001.fastq.gz", - "uuid": "7ac117ba-372b-4448-ac12-0a30e53a53aa", - "version": "2021-05-10T23:24:59.894000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 981103006, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f01b79c3-738b-49de-88db-20c3c8f36e19", - "crc32c": "a953bbd4", - "sha1": "28b86082477760360c5cd9bf4c9088e78bd7fea6", - "sha256": "65dd4e2cb18077e6cbe66ac1285224f286f6c9c8b61f074427061a206a595e2c", - "s3_etag": "e29d30ce3ace94a3e01145e21fe8e4a0-15" - }, - "sequence_file/e0a914c3-3147-4f06-a8ae-0c16029497dc": { - "name": "Young1run1_S11_L002_R1_001.fastq.gz", - "uuid": "7add99e3-86df-4443-a5b6-d734667814b3", - "version": "2021-05-10T23:24:58.555000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1397009994, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6d625b6a-9f19-48e4-b3d9-27897ec1e003", - "crc32c": "37320b91", - "sha1": "8867cdff1b360cb6dacc4c8749c9f9a1ec45d6ae", - "sha256": "c79c541af0c7aae01e09acd8e0a227fc69e70ff6559f9750c60ac3a327f33e22", - "s3_etag": "c76d72e3b16de3867ec9635a74879505-21" - }, - "sequence_file/23203fb2-d46d-4d14-95e5-4ec38191e420": { - "name": "Young2_S42_L002_I1_001.fastq.gz", - "uuid": "7b062fdb-21d9-4760-8620-04b9d92f1148", - "version": "2021-05-10T23:24:55.822000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 341120146, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cd48afaf-82ca-4f1d-8687-e983051dc57c", - "crc32c": "7aa97e81", - "sha1": "9061af881338cd92ed94ce74a2e4bc9ae47b97c2", - "sha256": "702a984064769cf1054618ab8ad47a22bf844047fa3a1117527f75557f1c1e31", - "s3_etag": "d505bb56c04c7549e1ff75d778697df3-6" - }, - "sequence_file/5f6e0f4b-3541-4197-a67f-01dddc0cf105": { - "name": "Fetal1_S48_L001_I1_001.fastq.gz", - "uuid": "7c28300b-6590-429d-b628-08f020a83288", - "version": "2021-05-10T23:25:07.677000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 329585785, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_963fb1ae-c748-418e-9437-24325b32b53a", - "crc32c": "5ad70504", - "sha1": "b0d2d8c54060a0205ba4483f56a88c747841cef0", - "sha256": "42e87fa7ceb68e9d9d6184b94bea97758edd2bd265eb40c802906a36fcb07aa3", - "s3_etag": "879fbf38630a9a00367a8886a7e30f00-5" - }, - "sequence_file/47950b5e-3d6f-4b75-9518-feb8b9e9a78b": { - "name": "Young3_S11_L004_R2_001.fastq.gz", - "uuid": "7e614c42-78b1-452c-a142-57b2dfef7f9e", - "version": "2021-05-10T23:24:56.674000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1341395179, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_64786ef9-450b-44ef-a01f-946a1c949d9f", - "crc32c": "e7c11786", - "sha1": "7c0eccf946d2043af3fe819c3fccd2fdd6b9a122", - "sha256": "825822476cf44baa0feedc3fe73ebe370e8edd477194c63163a8ce73854b3d6c", - "s3_etag": "4be455af8a93d48c8718a3a119f18042-20" - }, - "sequence_file/09c0456a-ec0b-47e3-870d-4b47221a45a6": { - "name": "Fetal3_S13_L001_R2_001.fastq.gz", - "uuid": "7e8a8426-4694-4e76-8525-8e56fb86837c", - "version": "2021-05-10T23:24:57.806000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3522468426, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cbb4c78e-1162-4b8e-b5c6-c05a1f05baaa", - "crc32c": "8aac2099", - "sha1": "2dd6a17b70975ff6d89671e2876fefb5a7eded7f", - "sha256": "6c7ba21c0d72345c64f96644260d895b1eb8a2b8dfe04e4f8b06845328048b32", - "s3_etag": "35db02bf3615b1f238f95578153f6120-53" - }, - "sequence_file/4198865c-d4ef-4a01-94c0-8a8397914dbc": { - "name": "Fetal3_S14_L002_R2_001.fastq.gz", - "uuid": "7ec16db5-8b4b-4c20-98ab-bb2916a7e793", - "version": "2021-05-10T23:24:58.313000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3201033447, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_53b304f4-0076-46a2-aa33-ffe457cbf3f0", - "crc32c": "cdc388e0", - "sha1": "a3cb6b9cf82057071d7fbb9eeed5de010fe0f13a", - "sha256": "ba67c57ee6fbf41df6f524fc7390f5c84493fafbfcf0411287b18976a8ebd391", - "s3_etag": "0997ab9fdaecf824649e244277d6ef35-48" - }, - "sequence_file/565dbd59-2571-4af5-b160-c6d5cd3c684f": { - "name": "Young3_S10_L004_I1_001.fastq.gz", - "uuid": "7f6b4855-5cec-45af-87ac-1c86e25526dd", - "version": "2021-05-10T23:24:56.500000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 162416392, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2bf3c6a9-4b39-4c4d-b1b6-50b7665d14cf", - "crc32c": "e52d3287", - "sha1": "a45e6805e18ef577d89604db41ecf52533fd887c", - "sha256": "2c36d3d0b55c108fd45493a8f7c3d77f4259c3e3f5b2b7612dcb9e67436273e2", - "s3_etag": "a1407ca5504066cb626f5fa5caa5cd39-3" - }, - "sequence_file/c458a416-5736-4b7b-817e-1d87b341f825": { - "name": "Young2_S42_L001_I1_001.fastq.gz", - "uuid": "80d3eb60-a05b-4bdb-8957-21e383773240", - "version": "2021-05-10T23:24:55.785000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 336875963, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1b18cba7-9628-476c-9f1f-9aa986935e51", - "crc32c": "aec14da0", - "sha1": "b769432aa0587354f505a1f6178b83dee5320cc0", - "sha256": "85725fdcca9ee814951863e63bfc5564e66fdd355102ed3e883d423c86cda971", - "s3_etag": "6eb8729f6c0832a8a53fd8aa5720c5be-6" - }, - "sequence_file/d1dd53ff-b603-4345-8203-45c384cbc813": { - "name": "Young3_S12_L004_R1_001.fastq.gz", - "uuid": "817604e4-1083-463c-ac3e-3e3d72bb649a", - "version": "2021-05-10T23:24:56.130000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 661653776, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0464ba07-c7aa-4b7c-9c4d-c78b94cc5472", - "crc32c": "1a052d94", - "sha1": "b44a7ef000672bfaafd0152ce45424e97bb3ef00", - "sha256": "f495a2cd87d452e5e3874fd5fc5db9128feea8ef19a66c2e287805cfb2387ff4", - "s3_etag": "2e43ef0ecbb639aad94e9f0639f5e0a6-10" - }, - "sequence_file/fd0547d5-7f16-46e4-8948-45c82f923f69": { - "name": "Young1run2_S9_L002_R1_001.fastq.gz", - "uuid": "81aa872f-74ed-4d70-bf2b-6c99d85f7158", - "version": "2021-05-10T23:24:58.830000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2464424179, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ef59e92e-bcf5-453e-b8d2-6ca4ac79bfac", - "crc32c": "de8b360d", - "sha1": "26e25cde117e79f5bcf893f38ddd3df27bf5da61", - "sha256": "88d2c7923f2c4b2562eb72bfee1da79e9e2b22d394d8aa94490f4e79ddbea97e", - "s3_etag": "ef8ee1adf9ce91e63eb5f186e307518e-37" - }, - "sequence_file/c8b4bc26-7487-48d9-a2f2-6b3934da074d": { - "name": "Fetal3_S14_L003_R1_001.fastq.gz", - "uuid": "81f653f3-e276-476a-9bc9-f1f0e701d893", - "version": "2021-05-10T23:24:58.339000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1341680086, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f7d55f12-a633-4a17-81be-e3ee78f47c3f", - "crc32c": "e5ffa80c", - "sha1": "7279c6d0443a9e2f0e180a9c62ddab8cb021538c", - "sha256": "df3ecf19557008e8ae6e784b598ad52231a544ad925631f1ad0bc83699469291", - "s3_etag": "ebde28aa50a75c0d7285cdc22df115ed-20" - }, - "sequence_file/012af05a-4771-45e5-bb92-9b63fcbde822": { - "name": "Young3_S10_L003_R2_001.fastq.gz", - "uuid": "8239a02f-03ae-4492-b56e-501455438e63", - "version": "2021-05-10T23:24:56.488000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1153617439, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_bf9fd782-11d9-441d-8e74-ce9927139176", - "crc32c": "593a9145", - "sha1": "159d80e0a903bf212b151ffa862f46c78a908033", - "sha256": "94d0218c665f54d4fbca073c7cfad6dd9e64c7ca5684529a70f17d6949952a59", - "s3_etag": "7a2f6fb73b17b35da26a5f2df4903ceb-18" - }, - "sequence_file/621547f4-60bc-41b6-bc21-5c970700a1e4": { - "name": "Young2_S41_L004_I1_001.fastq.gz", - "uuid": "842d36b0-63a8-4327-9272-829af8d0f078", - "version": "2021-05-10T23:24:55.749000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 331801154, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f2349aff-901b-42b3-b787-b6322638dc4d", - "crc32c": "a5b0f842", - "sha1": "0334a126ede019d9bfadad056e64a268198cddae", - "sha256": "3f5c725c22df33007ac9dbe5fc9c0c3b5af5f5865ebf5f05849dea81c7e56733", - "s3_etag": "51d5b48f7e17d0bb87490f67c8eb983a-5" - }, - "sequence_file/d73e6663-d29d-47af-a4b4-5cadcd272293": { - "name": "Fetal3_S16_L003_R1_001.fastq.gz", - "uuid": "84886ca5-d3d0-48fa-aab5-2bf8841a90bf", - "version": "2021-05-10T23:24:58.075000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1608596601, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9ae4b6b6-fc58-4778-8ba4-fea8b22a9251", - "crc32c": "59b1332b", - "sha1": "ac34f757e0173b1c7e108e01fcc4528eb7ec4ae9", - "sha256": "4152bafdf9db8cf65cf181a09b2c7be1cff0170d8a8daf375592a50d7ffcf9c8", - "s3_etag": "436578220c64fc40d5cf6baf0c7b38c1-24" - }, - "sequence_file/ac5fdc06-b856-4de0-9423-bdf05d4df650": { - "name": "Young2_S43_L001_R2_001.fastq.gz", - "uuid": "85f59eaa-e374-4131-aa69-25ac2b82570b", - "version": "2021-05-10T23:24:55.993000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2041917883, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a36e21cf-3563-4190-91ff-663e537975cf", - "crc32c": "3c00e594", - "sha1": "32da0dfee683096cdd6caf0b866454f848959f43", - "sha256": "79d186d3eff47df1992d6f525abb0771f5aee70d2c4f8b9a047987571fb68066", - "s3_etag": "1c2c381b103aad2b96644cdc0621a3e5-31" - }, - "sequence_file/7240ec36-6433-4e5c-ba0f-d2770817f963": { - "name": "Adult3run1_S7_L002_R2_001.fastq.gz", - "uuid": "87d83545-fd57-4d28-87f6-66d8f0497377", - "version": "2021-05-10T23:25:00.501000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3921145756, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_237180a5-6b42-4c77-803d-949c58814869", - "crc32c": "86672568", - "sha1": "72be31a658482bec45d4e9849ab401dc6daed6e4", - "sha256": "14223def7fb54fe6528925d6b13e93bcf7269491eb43748f297a77d2a52261d6", - "s3_etag": "bf0f1b3fd9cef241f665dd103380c3a5-59" - }, - "sequence_file/8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a": { - "name": "Young3_S11_L002_I1_001.fastq.gz", - "uuid": "89120b65-1e35-4c45-97ff-dceb88c11608", - "version": "2021-05-10T23:24:56.575000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 200002233, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e13822d0-fc57-4ad7-9ab4-447df4bcad8a", - "crc32c": "8c4be820", - "sha1": "bb55eaef4d7b20f73fe617c38f58125251a0b419", - "sha256": "30509e3bfca38d439de1581c51aaaac7fafaa9559af230e4f7de5981d8f67bdb", - "s3_etag": "dad27d9064b4392e6b20aa391506b154-3" - }, - "sequence_file/fd3a8466-6eaf-4251-be4a-f46f85403719": { - "name": "Young3_S10_L001_R2_001.fastq.gz", - "uuid": "8a193098-118b-4f89-8247-2bcc5895c652", - "version": "2021-05-10T23:24:56.031000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1171574344, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_754945cb-ab30-4697-9407-26099910d158", - "crc32c": "7ea0be34", - "sha1": "71357896e7a51be951e0a72b5173e113fc251b02", - "sha256": "be4aa870d114d2056b42fbc4d76e01eb96c446f09c6003105ec790c40d79dc55", - "s3_etag": "f214964789f4fb35cdc2f15e509309d7-18" - }, - "analysis_file/581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca": { - "name": "cellinfo_updated.Rds", - "uuid": "8a1cead0-b0e8-4da9-a523-7adce5c69aa7", - "version": "2021-05-10T23:25:11.795000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 406333, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_af9cbb3b-2862-4023-b4e2-73191e84baa6", - "crc32c": "64dddda9", - "sha1": "1e3144dcadc655ae63b3844e2e41c42840fe1503", - "sha256": "86767bd1ffcae8da5be495ce7e11a6ff0cffe05199af60c10d8124adc22ec8d3", - "s3_etag": "3d699e29145d62bd60bc7c6e9e5551c4" - }, - "sequence_file/061936ce-8fbb-4576-8c0c-ed871767917f": { - "name": "Fetal1_S47_L002_R2_001.fastq.gz", - "uuid": "8aacdf52-d394-4388-aaec-6ba68e731776", - "version": "2021-05-10T23:25:05.832000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1884391326, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_081a6614-5f12-41f7-8a55-d0ab689a967d", - "crc32c": "eee3922e", - "sha1": "c771b742f6575ad6f1e11aee43e41fa56c746136", - "sha256": "991e09175999aabbf67507a43686a7c24fe89deb07555272adf5f8bd7f8cb573", - "s3_etag": "1fd27c214ed5badd05fcd624041375d2-29" - }, - "sequence_file/e0e048f6-0ab6-45fc-a74f-16711af67a2e": { - "name": "Fetal1_S45_L003_R1_001.fastq.gz", - "uuid": "8ac59477-0756-41ec-b217-e043e28dfd1a", - "version": "2021-05-10T23:24:57.143000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1099429593, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d93fc22e-cebb-4b9f-a7e4-f0f4e57173ab", - "crc32c": "56d8693b", - "sha1": "82310e070df59dc3920fb250d8fb50ce8f3d2956", - "sha256": "6bfc071882a70a549cb9bb173659ae0d570c28ccec1b7bb358638cb3b4c84105", - "s3_etag": "bd713e858a438676b3c95d2e040108aa-17" - }, - "sequence_file/81898837-23e3-40d9-96e2-04a559d95b2e": { - "name": "Young2_S43_L003_R2_001.fastq.gz", - "uuid": "8d9fd2be-7a3d-41b6-a8a8-703071dbefd0", - "version": "2021-05-10T23:24:55.474000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2011285762, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ffc64466-8ace-451d-9159-e7e8a2e55fc8", - "crc32c": "b368f2b9", - "sha1": "cbe848883196d90f6eeccdba62d97615f381c7cb", - "sha256": "6cff807a9d8e65d2217cedaf554ece571f441964b430fb7f0ee966a1f6254896", - "s3_etag": "c215ece7af9d4da50fbfe533df8900ce-30" - }, - "sequence_file/d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb": { - "name": "Young2_S42_L002_R1_001.fastq.gz", - "uuid": "8e1496ed-8a01-41b2-b961-4836ffec838b", - "version": "2021-05-10T23:24:55.835000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1126545202, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d3be1247-d9f9-4c45-ba15-9f626dd97808", - "crc32c": "b7b42c9b", - "sha1": "1d6e4502359c289ee19efebe296afa85cb5bb2fb", - "sha256": "381b31109d9e66e27f9fe25624cfe3293209b012e5cf21965fb2c9d7b2cc0b04", - "s3_etag": "2d18f43985198e7207f6502bce192a2a-17" - }, - "sequence_file/523c6c55-66da-4edc-b66a-a33fe20d4102": { - "name": "Fetal2run2_S14_L002_R1_001.fastq.gz", - "uuid": "8e31f53a-67c8-484c-aab7-47cd8f146135", - "version": "2021-05-10T23:24:57.609000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 887614197, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_74dcfe9b-af27-4065-b82f-6781befe19d7", - "crc32c": "420965bc", - "sha1": "72002a413e72347d59dfffc762841b0cf3b597b9", - "sha256": "1ee55ef644f51b32103b41ab8a1df1c133593b606da389943c4def0a4207df39", - "s3_etag": "e8e93bd7c8dcd9c18eb5e5154545db80-14" - }, - "sequence_file/fea581ad-b8a8-47d1-a4bb-e18f0753bf13": { - "name": "Young2_S43_L002_I1_001.fastq.gz", - "uuid": "90507c29-dc73-4082-8322-fabb7ee6c417", - "version": "2021-05-10T23:24:55.413000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 269407163, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7226718a-900a-4064-b28e-72160ecdf032", - "crc32c": "20e1527f", - "sha1": "32e8c310548b61fb682de5e7a328d43b22b3ef71", - "sha256": "0b274137de21854989a81dbbeb30f8dcf62402a1d4757b47ab4fe0f51925d7ad", - "s3_etag": "2410b25ae0b2b14ba7e4f4ea3c4fdeb9-5" - }, - "sequence_file/5275a9fa-7a21-4ef2-9819-5358b2821300": { - "name": "Adult2_S33_L003_R1_001.fastq.gz", - "uuid": "91efd1fe-91e4-48de-b94d-d6c9a01070a2", - "version": "2021-05-10T23:24:59.781000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 999580911, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_842638db-5360-4b58-ada4-27c755206820", - "crc32c": "e7cfb560", - "sha1": "f44c8c456ff7896942b4c8ef28c8f56a9a377e25", - "sha256": "73f6263ab56a48a76adeef14140a27f2255a97e35cb03ffe14807d3a571bfb1e", - "s3_etag": "6c9b1f5cda3d88106d005fb6bf050a9e-15" - }, - "sequence_file/511eaba4-a8f4-4230-b3ad-407332e22b48": { - "name": "Adult1_S6_L002_R1_001.fastq.gz", - "uuid": "92b8ae58-1054-41c0-b7b2-62f41b233069", - "version": "2021-05-10T23:24:59.148000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1108507191, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_837427ed-aaec-4d30-b077-e54223def9ab", - "crc32c": "07096853", - "sha1": "eea83da55c8525293c6a9af04b713f1141878cc6", - "sha256": "84bf2e98814ff901597ddfa6ca0457e63f999057c690b0454dd01c4ddae36e91", - "s3_etag": "85609394e9cd3ef2018d29d4cce9c4e5-17" - }, - "sequence_file/5f563e91-d384-4e1e-ac84-20f06332fe8c": { - "name": "Young2_S42_L001_R2_001.fastq.gz", - "uuid": "93d7c2e3-12a7-47e7-b59f-6d32a6fc1d82", - "version": "2021-05-10T23:24:55.809000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2559132661, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c0413b38-28ed-47e5-9ef4-e7c64ea5bbfb", - "crc32c": "95bc209d", - "sha1": "21be6460ff77c55dc8feb89f48b8bc53a76aee53", - "sha256": "5dd18e1293aa2d6a7b54705026c7ad0b56b761dd10abce96d01d87b026c4c02a", - "s3_etag": "11c5204ded44bdd3c3b40ca7b827e708-39" - }, - "sequence_file/a2385663-3f62-4512-b4d8-4bba405f50a3": { - "name": "Adult1_S8_L003_R2_001.fastq.gz", - "uuid": "93e2bcb3-3310-4f04-a076-edc6d70edd83", - "version": "2021-05-10T23:24:58.882000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 962376157, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6f44e72d-5784-4f04-bb77-6e16cd6bc484", - "crc32c": "66e47419", - "sha1": "cee9aadb8e4f0d453a657f50a010a478a2b487d0", - "sha256": "a9ff6ebbd732ed1b873df16136ea382c7d9b0c4c5f74355bae6837afc70d7cab", - "s3_etag": "f010845fde24b77c3dccfc730932cc23-15" - }, - "sequence_file/6ea29b25-492a-4c00-819d-ec8a0909fa28": { - "name": "Young2_S42_L003_R1_001.fastq.gz", - "uuid": "94607b56-edd9-4517-b07d-4b6f54b5bdaf", - "version": "2021-05-10T23:24:55.880000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1096533797, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_01c72207-5fd4-4c90-a22d-bb078b15b163", - "crc32c": "a509b856", - "sha1": "8902426625998a3db7521fdda4154f3faba08232", - "sha256": "8d626203d4dfb6cc93b8e869fc3585e16a53775626185a16bb872400eca28579", - "s3_etag": "51da17c2d4da1e2a9f576fd141d4b353-17" - }, - "sequence_file/ade0fe79-4629-4a49-8253-e26380046b32": { - "name": "Young3_S9_L004_R2_001.fastq.gz", - "uuid": "947c5a3d-3fc2-4bd4-ad3d-a918c0e11288", - "version": "2021-05-10T23:24:56.403000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1063345569, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a5d4f522-2a47-4a8d-a210-8e80f58e92f0", - "crc32c": "96580f27", - "sha1": "13c5ea4ff2e4c58d642df5a9dea5296a33c262a4", - "sha256": "b0d8f05fa4b88aa2b06fa5114718b6af3dcca0e3c5df4d3e574e7bad36267cd1", - "s3_etag": "70ebbde0e0ce9e8b0392991fc7ea9a70-16" - }, - "sequence_file/73112827-65e2-4057-98e0-960b4c50afe6": { - "name": "Young1run2_S11_L002_R1_001.fastq.gz", - "uuid": "94db79be-389e-4acb-a40c-4a9c50ea00ee", - "version": "2021-05-10T23:24:58.756000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1671362207, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1adefc6a-0d40-46bd-9a5b-7aeffdb402d4", - "crc32c": "00963d26", - "sha1": "05dbe837c96a973956e31feeca421bf62fb2a61c", - "sha256": "2b8bed32132feaddfe3a0e5fff78cca8366cfedb57b2fbfffa40c33e7e154245", - "s3_etag": "7e6d7dca809f2f88bb7ca158de6b840b-25" - }, - "sequence_file/c13ed96e-3052-4a3f-9871-8196c10070a1": { - "name": "Fetal1_S45_L004_I1_001.fastq.gz", - "uuid": "95e98d94-d463-400d-8fc2-bcf5d8836479", - "version": "2021-05-10T23:24:57.168000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 341613597, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0fe30f17-a8f8-42af-8830-d7e9899cc87b", - "crc32c": "950aeb61", - "sha1": "182aeef8e9dafad474a164861cbc302da73bfa83", - "sha256": "c71f8ffd66b1119bd635804521c63df179022316c08fe9ae368e5a46537820e4", - "s3_etag": "7662eed35ef484ddf9ac7e7f9a87acd6-6" - }, - "sequence_file/44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7": { - "name": "Fetal3_S16_L003_R2_001.fastq.gz", - "uuid": "962e1ed5-971f-4c9a-b300-5b26a208ee15", - "version": "2021-05-10T23:24:58.087000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3708940110, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_115c4cc3-b8d1-407f-92b3-1957eb39f2a8", - "crc32c": "d6023b08", - "sha1": "4eb2c876adad3ddd6aec99547748ea93f1c84356", - "sha256": "9bae30bb67c83ac50d530d9247963df13f64faa0fab47a311a58ff1a40c52649", - "s3_etag": "578e340851f2e37b5d4d25ff86b78ace-56" - }, - "sequence_file/2862a721-a50b-4e47-86c5-35547bc44e53": { - "name": "Adult1_S8_L004_R1_001.fastq.gz", - "uuid": "975d56a1-7521-4cae-a00c-b5b838c5eb17", - "version": "2021-05-10T23:24:58.907000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 418069560, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3d1978bb-cd18-4b27-a895-9324c3057634", - "crc32c": "17a154f7", - "sha1": "9f1bcc5deeed7b0942f90446f06b6cf93f119e73", - "sha256": "6ded3973ede9ba484ac25ac55c2ff9fafbf886a74e6c5d4cb75516b47374a781", - "s3_etag": "2e9bb3c3f3a0b5dc6cc692ad3930586c-7" - }, - "sequence_file/5b977962-16d1-4631-9225-6be262e9ccae": { - "name": "Adult1_S8_L003_I1_001.fastq.gz", - "uuid": "98195059-45d0-4646-8029-b7f0ade7f2cc", - "version": "2021-05-10T23:24:58.857000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 133147591, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9163e739-9013-4bc2-97c6-2c799eca9ac3", - "crc32c": "5ea15d3b", - "sha1": "9ada3b7bfb0a038a4eb52a06dee34d53945e9bb9", - "sha256": "4400e7a641497e1808bebb8d02e7f48340ae61352a4afc16338a919eaa9970db", - "s3_etag": "991bc8654c8371a5299fbcbb0d4dc0e6-2" - }, - "sequence_file/22343575-1465-455f-8360-4e716aab17fb": { - "name": "Adult3run2_S8_L002_I1_001.fastq.gz", - "uuid": "990e3e4e-8fa2-4908-b397-8e30328f5343", - "version": "2021-05-10T23:25:03.225000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 577478065, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9cc3c47f-6d07-4222-acde-1e61c6afc2f4", - "crc32c": "342c646f", - "sha1": "b0892b251d7a2dd8902d2e6c925b5594eb782685", - "sha256": "f6e877310c55e666e9a8d03742a9a9e97f7443dc4a847208e1f387b0dbc2f70b", - "s3_etag": "b29ea12f2d2e52cb4e22d223c467b67f-9" - }, - "sequence_file/a783909f-5237-4218-8b9d-80653729f3b1": { - "name": "Young2_S43_L004_R1_001.fastq.gz", - "uuid": "9957b026-435c-45b1-a333-70cd5dccdde0", - "version": "2021-05-10T23:24:55.498000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 877250636, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4cc68c05-cce8-43ff-b44f-55fb2fdfbed8", - "crc32c": "a3da9d3f", - "sha1": "cb1fccd691d1d4599a5a2f035c19993f5af59184", - "sha256": "ffecf6acf1b5e09b8bcc1503ab6d07c4075d47a06586e3c9865eca7c69b67a7c", - "s3_etag": "dec52867f4469040c6b1ad5ca028090f-14" - }, - "sequence_file/80347bc1-ffca-4f66-9ebd-812d22ab3d3f": { - "name": "Fetal2run2_S15_L002_R1_001.fastq.gz", - "uuid": "99f0ad19-c1fa-4b15-bcc2-b1a92de93a25", - "version": "2021-05-10T23:24:57.664000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2282232949, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_98dc2f5b-daa8-4da9-8d2e-7478afa446e9", - "crc32c": "075e49a6", - "sha1": "f0b4f423a0da0c26f91d5654758b29e41b16823c", - "sha256": "e7c273d7b1db385e49e0c9941786633cd0b5dc3069b9b334d9c060eada539130", - "s3_etag": "5fdbc9c6e17bfcfcf257ac97d62d5ffa-35" - }, - "sequence_file/b0009333-24fc-4f3e-bf35-3cc8fa808efa": { - "name": "Fetal3_S14_L003_R2_001.fastq.gz", - "uuid": "9a8800b5-f35a-4f46-b73f-88126b7991d5", - "version": "2021-05-10T23:24:58.353000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3098942559, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_df0ab946-bb74-4fd2-9ae9-9ed77c634ae0", - "crc32c": "2a1abaae", - "sha1": "609f4fd2cd89f8c871f5e4feae7dfb9110c1f6b7", - "sha256": "20862b88da6ac2b31854c2b88ae2f25fb751fe4f2b0e26d96a1b31f28c310d66", - "s3_etag": "afdbdb3c1d6267bd7e3a2d308371f01a-47" - }, - "sequence_file/c699ee8b-738e-451a-b91d-0e1a6c8bb6f9": { - "name": "Adult1_S7_L004_R2_001.fastq.gz", - "uuid": "9af05201-38fa-4249-a9bd-94306c68c3eb", - "version": "2021-05-10T23:24:56.901000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2929134506, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_163e4ae3-0c4a-44ee-bf96-44361a56d2e5", - "crc32c": "cc3dbd95", - "sha1": "f0c1e79d033e1c2e1ba114652e49f7c2bb4a6755", - "sha256": "ef71b4e940a9bfe04dfcf3609a97707b28038cc7b03178af7433134448149bf8", - "s3_etag": "6b49dda18deced68c4db5576b26db07a-44" - }, - "sequence_file/7abc79b5-e32a-4313-b130-12397d29d684": { - "name": "Young3_S12_L002_I1_001.fastq.gz", - "uuid": "9bb66e29-a02f-47db-b478-00a5fa1f1080", - "version": "2021-05-10T23:24:56.043000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 203099934, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f6419256-a4cd-47c6-b4d7-0c6391c5a2eb", - "crc32c": "cbc80fbe", - "sha1": "87de7d44bdaa06c4be33c4ac905b228556277359", - "sha256": "793b30661f78aa66ff376cfc9c53774f4bacecc265f036de48c22a860b135f13", - "s3_etag": "78e7ef329d27c1a7d5a491eca026565f-4" - }, - "sequence_file/7186ea5d-49a0-4d72-a24e-2a30d48aa8fc": { - "name": "Fetal3_S16_L001_I1_001.fastq.gz", - "uuid": "9d4fa1f8-c43f-44cf-8c4a-80803db9c498", - "version": "2021-05-10T23:24:57.968000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 529209564, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4140a4a6-04a8-4393-953a-abae11651795", - "crc32c": "ce6d9349", - "sha1": "7c10f73de19c1758d7f17d01e20d9f3f2316ef98", - "sha256": "efda9742e370c666053556522c88e31f83de2a8bb0d239941b48b50766eddf3b", - "s3_etag": "4a02e9dc247384b0f6e08a853d672994-8" - }, - "sequence_file/ce6d4c01-8676-4ae9-91b3-4148deb5b8d9": { - "name": "Adult2_S33_L003_R2_001.fastq.gz", - "uuid": "9de5c25f-721b-4eb2-b261-64a6a02825de", - "version": "2021-05-10T23:24:59.793000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2286643109, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e0f89c4d-8879-4c7b-9fd4-633fdf7e52bc", - "crc32c": "227343ce", - "sha1": "b1345bb7d0c138aee110edb9217ad879c83f4a7f", - "sha256": "c7536984d57b80f5a15a5667fadf84e96ef8cf23e881702bfacb7db66a1e217f", - "s3_etag": "b18594f36fea175a451c4a6dc297bdf2-35" - }, - "sequence_file/9fa70333-418c-476c-b93b-382096a9cdcb": { - "name": "Fetal2run1_S15_L002_R1_001.fastq.gz", - "uuid": "9e68446f-95ad-4891-9ef3-c13cdb26c8f0", - "version": "2021-05-10T23:24:57.492000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1919074855, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_003dfa39-63a4-4a59-b778-4786b4b988c8", - "crc32c": "ba05a4bf", - "sha1": "b777eb25ae86d4e2ea1f98959ed0679b78729f82", - "sha256": "fb9c3c6db77e8265100bd75af689b5b933b1f34798b210e761af09e2021f0745", - "s3_etag": "09e820208e98ecfcbaaa5c0261347606-29" - }, - "sequence_file/c04b8362-f2c9-4cad-b939-494e738efc19": { - "name": "Young1run1_S10_L002_I1_001.fastq.gz", - "uuid": "9f48fa4c-9f7c-4d06-840b-4937b1726cb3", - "version": "2021-05-10T23:24:58.475000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 391370484, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_12d2359c-eafa-4c00-9004-25cfac664515", - "crc32c": "79adabfe", - "sha1": "5b278a59efd3b12e3f75ca48663dd680fdfc07e7", - "sha256": "f54d8cc2d8a929cbdbb6e72614979318d4ad192b2531840c1c1d47f1f593fd93", - "s3_etag": "09bc8bc388976b9709bb5c6a4e99a207-6" - }, - "sequence_file/21bd79df-cc64-4381-a5c7-0e81e001ea1a": { - "name": "Adult1_S6_L003_R2_001.fastq.gz", - "uuid": "9ff4778b-509a-40f0-bd51-d5aaeeab12ab", - "version": "2021-05-10T23:24:59.234000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2492157710, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4d6e5409-45a6-4f36-814c-332eaefcbb0b", - "crc32c": "efb7c515", - "sha1": "db860c0421b139b94a67edc721b47b799df90569", - "sha256": "3d43223bf9c3743c589b3e3f7899cb53dfa764c5d6d002d6ada13a60c737b123", - "s3_etag": "985a466d6d50afad90a6b6085866eb83-38" - }, - "sequence_file/18d81f7f-94c8-4877-939a-b74ba802835a": { - "name": "Adult2_S34_L003_R1_001.fastq.gz", - "uuid": "a0309063-af66-419b-a940-2412a836aafa", - "version": "2021-05-10T23:24:59.933000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 952675713, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a4891700-93ff-4a5f-b274-49897c474cd8", - "crc32c": "bbbd0165", - "sha1": "2c08a0e36861f3af6b46fe860b6a0fef61d6ea18", - "sha256": "66aaa211bf021c640f35d5c662c6c2b075da2a1a68032c82aaaac32d0fa4c302", - "s3_etag": "2cc4d62be1d77b31047be43a6b4d5d2d-15" - }, - "sequence_file/b9acc59a-ba7c-40ef-8611-27069458a508": { - "name": "Fetal1_S46_L002_R2_001.fastq.gz", - "uuid": "a0b7bb41-c5c9-483a-bd76-a774690606c0", - "version": "2021-05-10T23:24:57.270000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2038563173, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1ca733b9-cccb-44d9-bfc3-b15cc8f28274", - "crc32c": "40c4b4be", - "sha1": "a81fac80fb9b3ec959294d6818dbd4972fa72fbc", - "sha256": "896df73388e3f26a1b429392fc8c2371451d9f2a4e8c1f0a01fd51fec86703d1", - "s3_etag": "bf1bb0e0b8e6a8fc5ccbb1be3d86af57-31" - }, - "sequence_file/d4bbfecd-d580-4eaa-8679-33173740b295": { - "name": "Adult2_S33_L003_I1_001.fastq.gz", - "uuid": "a0f8e9a2-9407-4cbc-9739-7cb7bca8a563", - "version": "2021-05-10T23:24:59.769000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 330759269, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ab41b180-9934-408e-b13b-b5e6906810cb", - "crc32c": "5fbf2d4f", - "sha1": "7d9dff287814c4f17e835a5daa74f6135a1cc45c", - "sha256": "bd635335e5c28237d5c9b1e93865cbc17e8b8bb16e673f63a65390334d34fb7d", - "s3_etag": "9e6a8ab9dff78598014611b7b4f3d554-5" - }, - "sequence_file/80e88ed6-4480-4888-b25d-d41e90822142": { - "name": "Young3_S11_L004_I1_001.fastq.gz", - "uuid": "a19fab73-95bb-472f-8722-c7d07427a8da", - "version": "2021-05-10T23:24:56.648000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 193759687, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7871bbf1-7b2a-4fa9-bcd9-7397a1d168d8", - "crc32c": "aeddc638", - "sha1": "20f967ab8add0527042ad8a722c757c57562d328", - "sha256": "9d70b5bee555335b80453a01ead71f1cb3a8f607bd76b1ae3f5853b37472a53f", - "s3_etag": "1c782911f6d5dd0b3fe7f6a62c4526be-3" - }, - "sequence_file/b5c2e557-c303-42cc-8779-bf3b2256c422": { - "name": "Fetal1_S47_L002_I1_001.fastq.gz", - "uuid": "a2070278-a8da-49ee-81b1-c165973dcd7e", - "version": "2021-05-10T23:25:05.423000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 258851639, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5a580f11-638b-48b8-8aa2-41571015139f", - "crc32c": "b1e1a95b", - "sha1": "fd91ed94e94623fe39a59ebe8933aa15f8185034", - "sha256": "51a51c070e5d59041663251abbfaf6bbb37608022abeb21edb7ba69b1f332ad6", - "s3_etag": "250fa6718c9efa6299de78f53f6f57b6-4" - }, - "analysis_file/d3b3abc2-0da6-4163-acb8-251fe079284c": { - "name": "heartFYA.Rds", - "uuid": "a225da4c-a0db-4411-9c1b-670c69ff3c82", - "version": "2021-05-10T23:25:11.836000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2197439516, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2c04c2dc-cbf1-4894-a5c3-83a676bacb98", - "crc32c": "795a29b2", - "sha1": "fc1e9b88550edb272a60436ca4e414f2166430c9", - "sha256": "3429539fdc0ef3a8c94a8aa46a65fe8f1ad92da3584b56a7727119314463f16c", - "s3_etag": "299f82c45a65ee21203114f77344a5cc-33" - }, - "sequence_file/fb771836-467f-4897-a755-a17ab281a385": { - "name": "Fetal1_S47_L004_R2_001.fastq.gz", - "uuid": "a2569db2-a44f-4833-ae36-0303e2206980", - "version": "2021-05-10T23:25:07.551000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1799945521, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7e9da931-ee37-4d09-98bd-068d2e5b1deb", - "crc32c": "a4dd0dc8", - "sha1": "0a54e9dcf7e47032210192f7b0ac6d81d537bda1", - "sha256": "e23fbfb06a2b5b73237276164c4bf1797a28e6fdc45bb8d47e89974e8e48dbda", - "s3_etag": "eb38aaafc21827743f3c45c40c4b2e2f-27" - }, - "sequence_file/b2a6b8c1-f0bc-4509-b255-8618d7cff205": { - "name": "Adult3run2_S5_L002_I1_001.fastq.gz", - "uuid": "a2cf538e-0bce-4328-b103-57491866f293", - "version": "2021-05-10T23:25:00.662000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 559655439, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2faec8a5-1865-42e4-890d-a453bdce3e07", - "crc32c": "ed8e2e33", - "sha1": "8e238e0d88465e72141004c29dfa0acf2aad5b70", - "sha256": "5755fda983694917d8d7f0fb4fb07d98ade5c47231013e325ec6f2c1dc26f2ed", - "s3_etag": "f825f11385f2d244f1f539b1031b6bf0-9" - }, - "sequence_file/782fcb99-9b26-485f-9f7d-bda9cc37f0d2": { - "name": "Young1run1_S10_L002_R1_001.fastq.gz", - "uuid": "a3fbf625-f36e-4365-859a-1d32c9b2001e", - "version": "2021-05-10T23:24:58.495000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1236460473, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_745ac756-605b-4757-a961-46c61a4284a8", - "crc32c": "be77222f", - "sha1": "01adb6af76708f1133f6c572c4b3b119347d05a7", - "sha256": "6b2a466d93c04f521d3080890442249d53535a98f106e7d62cb4cc6cc6e5de6a", - "s3_etag": "bb6f0ee4f0086d2c38b28b7c9f73c4b6-19" - }, - "sequence_file/12826f14-2ef8-4069-a797-42d2f4c0937b": { - "name": "Adult1_S5_L004_R2_001.fastq.gz", - "uuid": "a526bd56-16e7-493f-b539-2a895c7e2b10", - "version": "2021-05-10T23:24:59.079000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2004187017, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4175cb8d-e5b8-442b-b3f7-2fc4f9b4c06a", - "crc32c": "d24fa61e", - "sha1": "fc18380134ac1ad41c4d0b62acfa43327229ecfa", - "sha256": "b2b154d0dd7254e1f10af12b3a094d32edb1b50d7a349fd45933796573404396", - "s3_etag": "09966bf54f98c2b99203810e7ab95c4e-30" - }, - "sequence_file/067d2b7b-127b-421f-91db-0acc05ad62ad": { - "name": "Fetal3_S15_L002_I1_001.fastq.gz", - "uuid": "a539e00a-e61e-47d5-9032-3d3fff99ccc1", - "version": "2021-05-10T23:24:57.823000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 387074586, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_85016b3a-78fe-4c91-8326-265724cf467f", - "crc32c": "e6a27f43", - "sha1": "58f64854ca684f8bf34cb465ded8c3d5c877db78", - "sha256": "ce99e88de6614b6bbb525a6cea9038e59a0afb0e11a518471780bf835a03117c", - "s3_etag": "7dba94ff3a15507c4c60de6c0349840a-6" - }, - "sequence_file/a4152d0c-ca88-4cad-af08-40a2e799bec7": { - "name": "Fetal1_S45_L001_I1_001.fastq.gz", - "uuid": "a57c9da5-752c-44b3-b7fa-f8a804631f64", - "version": "2021-05-10T23:25:04.631000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 348086238, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4bbd1d01-7daf-4fb5-8883-1eb848951fdd", - "crc32c": "2f13b1af", - "sha1": "3d3ad6a1a8ea3220ba95ac3ca002515e0555695e", - "sha256": "ccc163eae739faa98d01e6eda2880471b00d02c26e84515e54b5ec5befe21b2e", - "s3_etag": "28b9f652549fe140307bce85dc9885fb-6" - }, - "sequence_file/e163d226-febb-4ecf-80db-8e60680be2ab": { - "name": "Fetal3_S16_L004_I1_001.fastq.gz", - "uuid": "a72ab36e-966c-44fc-b934-fcaf06679b46", - "version": "2021-05-10T23:24:58.100000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 521555084, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_87300698-aca7-47df-b62a-6bf060fdb8a6", - "crc32c": "c44c1dc1", - "sha1": "3d6d07b028903fdd31a7fe4f6818e3183f611200", - "sha256": "3c7bfd586117d244788ea24ac5062284d87a980e985f326aa0df57b2a04cc482", - "s3_etag": "e800ec93fbef3f3cacea3fb75d38b905-8" - }, - "sequence_file/adca7438-701c-4afc-8580-01de6ee68974": { - "name": "Adult1_S6_L003_I1_001.fastq.gz", - "uuid": "a7e5f9e8-6fd9-4c46-860f-4a82e67af13f", - "version": "2021-05-10T23:24:59.203000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 322035267, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_43204be3-72fb-4f32-90a9-09e3e635c520", - "crc32c": "e29f3151", - "sha1": "e8289f4ad461f927cb7e5f029d4b611fc956423a", - "sha256": "d5418a769413557449b44488def5b766e3d75882241dd189cbb801ea6c6da09a", - "s3_etag": "0a28fdc086afdf358649a9f62215bc34-5" - }, - "sequence_file/b7d7c14d-7bf3-4a8f-8f40-8d6e98505558": { - "name": "Young3_S9_L001_I1_001.fastq.gz", - "uuid": "a7ff32c1-f400-4af6-8698-b10a33fb38b6", - "version": "2021-05-10T23:24:56.159000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 156482054, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_86d28b31-31a7-4b7d-9ace-93bb2fd6555c", - "crc32c": "7e486121", - "sha1": "73a69fbd5420e53367b52a6cdd5f3bc56bae2886", - "sha256": "64efeea0350c0c6e91660029bc71e16ec84270c4e8a00c233333984b5908533e", - "s3_etag": "9087d95413316b70be35c7fadbb7a539-3" - }, - "sequence_file/f5ada827-68c0-4af6-88c6-7e9256b663ff": { - "name": "Young2_S44_L003_R1_001.fastq.gz", - "uuid": "a828062b-dd49-406f-872a-22ff8e4cdf10", - "version": "2021-05-10T23:24:55.616000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1127372807, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_90cbc403-5151-4e59-a834-b67c9f90a0e5", - "crc32c": "dd29d015", - "sha1": "b9c2fc267cf0779b41c7100aa74f1e84b651e4ad", - "sha256": "56c47bd0a73cacab22214f5a887ca3c0ddeed7f1446233beb2938100e07a4619", - "s3_etag": "7fbaf91fca39f5b0b0dbcc9f5d3d8c16-17" - }, - "sequence_file/cabca52b-8f67-4107-8916-4fd8129ccd97": { - "name": "Young1run1_S10_L002_R2_001.fastq.gz", - "uuid": "a88b766c-31c9-44ec-be2b-a5f757296666", - "version": "2021-05-10T23:24:58.511000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2899172549, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e9864072-0d13-4ade-8bd5-3c9076420035", - "crc32c": "7ce36eea", - "sha1": "3a447ae0eeccf2d3deebc2bac8d48d568fa7940d", - "sha256": "5a082df6dcb1c4875cb3d34f43d465699fc1352025c2401b3de1459f7fcfde70", - "s3_etag": "73d2595f5b5ec0635205d7405e5419ec-44" - }, - "sequence_file/d8b9cedb-39d5-47b7-9c64-94e6393fdd0d": { - "name": "Fetal3_S16_L002_I1_001.fastq.gz", - "uuid": "a8f749c1-b53a-48a4-b9e4-67b31201609b", - "version": "2021-05-10T23:24:58.020000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 536370169, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5f903cbe-1b0c-4bd2-a223-ce3f22d1ae66", - "crc32c": "255a6b53", - "sha1": "bc1c1d83e2d247895c137523a537ea6c49f1df9d", - "sha256": "dd247134dd34faa6c4245ae1890cc0daee4099d73020ecca244d0aa420fc4b44", - "s3_etag": "79f94f3fba6c371db72e01e7aa1e4ee7-8" - }, - "sequence_file/fedc286a-9bbc-4db0-8bf5-b3f0b69fb559": { - "name": "Fetal1_S47_L003_R1_001.fastq.gz", - "uuid": "a967f05e-6159-481e-a289-908b1b320db9", - "version": "2021-05-10T23:25:06.490000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 787927507, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b0e2aef2-1b88-4f2f-b965-2143b120f6a9", - "crc32c": "9664e6a3", - "sha1": "71ca37a49064092c1f8f4c4f3ca89cfb67be0618", - "sha256": "94201e3fad99a4f735c2dd1a5b52d1bdacb876f8a016f375c195e6ed47c63e19", - "s3_etag": "3f6a84c21156f43cc146390f56f6ca74-12" - }, - "sequence_file/db7576d3-afc9-4860-9a46-bdca8f745fa3": { - "name": "Adult1_S6_L004_R1_001.fastq.gz", - "uuid": "a97b90ce-e6ad-4b92-8b97-0c60bcd46031", - "version": "2021-05-10T23:24:59.267000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1063347469, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b6cc294c-737d-4660-b904-dfbc72a945a7", - "crc32c": "2241f1db", - "sha1": "235a22678aff309b27da73b5d3f7b7fc05540292", - "sha256": "a847a09b1e72c0bd54fe38e1e20e95ef93f4ab9773cb407336817b8e728a59ce", - "s3_etag": "597c48fa55b4827053118d27ac927223-16" - }, - "sequence_file/d5b993f2-d053-4420-994b-04d64bd9e356": { - "name": "Adult1_S6_L002_R2_001.fastq.gz", - "uuid": "aab776ce-7336-4b6c-94ba-830a72fbf640", - "version": "2021-05-10T23:24:59.181000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2589717959, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6c175043-650a-405a-8cb0-549b292c7ed8", - "crc32c": "3aca922a", - "sha1": "67f3095a700c0de617a0112b659f0a4820c3731e", - "sha256": "3ba85d5263f1159dabea14561ca02ac2764bc1e1e1f4f9108e35bd67bff7bfd9", - "s3_etag": "b0b8f71ba2298791344c911e319cbf9f-39" - }, - "sequence_file/9962de78-e4ef-40ba-b9fc-bd661895a99b": { - "name": "Adult1_S8_L002_R2_001.fastq.gz", - "uuid": "aad8155c-b15a-438c-b89d-d1aa89869819", - "version": "2021-05-10T23:24:57.055000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 994354779, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_603f0cf1-ae0c-4ca3-b253-da1ec3f517fc", - "crc32c": "d388bbd1", - "sha1": "5bf987350f1a19ab239460f5ceb6413c853cf7f2", - "sha256": "3cb70c0b7246c3df32f8c5974da813e81e454d17fc998e610b0c8b22123c4065", - "s3_etag": "d9480e4665a1468ac5fc1d57fb17d1b9-15" - }, - "sequence_file/6d9709e5-ce90-46d3-bc95-d5105cafc67a": { - "name": "Fetal2run2_S14_L002_I1_001.fastq.gz", - "uuid": "ab648ef4-1642-4419-8514-b95b114bd546", - "version": "2021-05-10T23:24:57.597000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 279308848, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9dea1449-61c9-4820-87a1-e9b44881794e", - "crc32c": "f25a192d", - "sha1": "53cabb0a280a92aab1aa5331f1af71a4cfddac68", - "sha256": "ed86644cca050f6a91954f94e855aa564ce68acf17c8671edc9cc6fd6d694a67", - "s3_etag": "0727ae615ec18424b7e6c997ac7ed2ef-5" - }, - "sequence_file/79d181d1-5b70-4306-a229-74a2a3d5278e": { - "name": "Fetal1_S48_L004_I1_001.fastq.gz", - "uuid": "abe9834e-4be6-4bd3-bfc1-1a09f55f3f2a", - "version": "2021-05-10T23:25:10.475000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 322535644, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f8fc6e20-073c-4792-8f66-5a94c3e54e98", - "crc32c": "467d9495", - "sha1": "cab339c815d33b622147a9b01bf2ef3c1d7316fb", - "sha256": "4c3da102e46270f5f3067aa7b770c25f46a34a33a867b1150be3eb15e742d321", - "s3_etag": "6b2066d1b2b38c2c38ac8a611a77ed39-5" - }, - "sequence_file/47c12e95-67b2-42e1-866b-eb7c5f16a3c6": { - "name": "Fetal3_S14_L002_I1_001.fastq.gz", - "uuid": "ac59fa42-b81b-4b1d-b9f0-ef9a05366bdb", - "version": "2021-05-10T23:24:58.285000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 407112963, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e4374fa0-5558-46d0-9252-862e82670716", - "crc32c": "776e339e", - "sha1": "60bf03e4b464fc53a35d1aa0295ce1d7e717d40e", - "sha256": "e086b6f3bffa320eac4e73351a2d1a978546d6d54ecd0f645bd39fc296a05354", - "s3_etag": "70a4ed4b85a44bad9e867ae08f012638-7" - }, - "sequence_file/7b1418ba-7cd7-4844-924c-ca92b0d3147c": { - "name": "Young2_S43_L002_R1_001.fastq.gz", - "uuid": "adbbe8e3-afa6-46ff-ae62-bc9be2c55f70", - "version": "2021-05-10T23:24:55.425000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 914274743, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_72de7ec3-173d-4ca4-b20d-6a3ecab0fc14", - "crc32c": "231438d5", - "sha1": "2667b7988301f7772179a1e1cdf23a4fda33d3e8", - "sha256": "4043851fdbbc077a9b34167c12afc5800b540a20e854ef6bebd68b4bf2e70863", - "s3_etag": "e7ea0655a731570fbbfb248557d0ae30-14" - }, - "sequence_file/726a68e9-4fa9-425a-90e7-d0fef30c9d4c": { - "name": "Fetal2run2_S13_L002_I1_001.fastq.gz", - "uuid": "aec0a89a-7659-4c0a-b421-45309dd7c759", - "version": "2021-05-10T23:24:57.556000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 676145893, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b36df4b4-8d76-4ada-ba84-94cac64d3c0c", - "crc32c": "c4da8b85", - "sha1": "194067316c7a9488b6cf98703e65d6ad7f0594ef", - "sha256": "fb5664e9269fe730d3baa22e2bfb77010f11dc37793443c4baff6c5c47a0d475", - "s3_etag": "8885a99b4f1180c430fdba45dd3fd5c1-11" - }, - "sequence_file/28023147-3cad-4c1d-b494-b693c4f0a6bd": { - "name": "Young3_S10_L002_I1_001.fastq.gz", - "uuid": "b09dfbcb-f6c2-459d-b637-7d12f079e20d", - "version": "2021-05-10T23:24:56.415000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 167480999, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f11d3dcb-90e3-40d8-880e-5d9164ffd6b8", - "crc32c": "d951da26", - "sha1": "853353236599586858d361042f69a4810f1dea06", - "sha256": "9bd0defafc4d37377b87905026b0716414891b559ee5ff9dc591b893c3aada90", - "s3_etag": "ea0b1b9ea8b432bd11b92144e3748667-3" - }, - "sequence_file/fff15476-7228-42be-be8a-bd6b02ee9f81": { - "name": "Adult2_S33_L001_R1_001.fastq.gz", - "uuid": "b2a45a04-4f23-440f-8677-676ded3e3591", - "version": "2021-05-10T23:24:59.401000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1009714647, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_602407c8-ef90-415c-9b8d-c2895c9e2a1b", - "crc32c": "3031662f", - "sha1": "eeb76e51ddd46311cc42c0f1c6463632b512535d", - "sha256": "bed0c153b1852274bfdfe8d328be05e5118e7cba977060c86ace0f6890594aaf", - "s3_etag": "c457d5b06db5df1aafa7e9ad299cebc8-16" - }, - "sequence_file/5f5e80b2-0779-4df0-9a18-35bc0db72fdf": { - "name": "Adult3run2_S7_L002_I1_001.fastq.gz", - "uuid": "b2cb471e-a094-4ede-a63c-719f14fe802f", - "version": "2021-05-10T23:25:02.564000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 603402580, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e9ea4a0f-c90b-4491-a76f-eeb16e5f1306", - "crc32c": "c1ae6a2f", - "sha1": "f270bc85748f5ec2188a5409a5771dd1069621ae", - "sha256": "337d3f3c61d4a5d2f9bf948cea8842d64f4a055f3a3a99818c19525efacc88bd", - "s3_etag": "ef67156554db6593f0ec886855999ece-9" - }, - "sequence_file/09a53782-90ea-4911-a793-706e74127adb": { - "name": "Adult2_S34_L004_I1_001.fastq.gz", - "uuid": "b2e285b5-ffe5-4c57-a7ba-1c965366c37a", - "version": "2021-05-10T23:24:59.957000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 284128673, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_01b8755b-5017-4654-9a03-8c11ad0594cb", - "crc32c": "76c16a60", - "sha1": "ffe73678b2da558f62077654bf56ffcfd5f7fa72", - "sha256": "558bebdd3b4defb409d022f539d8315c4ef2cdcc662acb5a6fdd8d92a605a690", - "s3_etag": "fd38401accfa4a6d2fef67ff40de9677-5" - }, - "sequence_file/9d98496f-f6d8-4106-8b6a-c118ed6ff229": { - "name": "Adult3run2_S7_L002_R2_001.fastq.gz", - "uuid": "b2fedfad-ed1d-41f6-9a6f-0ab189247da3", - "version": "2021-05-10T23:25:03.039000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4472430419, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1e24a56e-a819-4861-ab16-591ecde968a8", - "crc32c": "e5e80d66", - "sha1": "91d9f33ebe1b87164d62951eccc7ef173886b424", - "sha256": "4909059d3576b3b3f1b052f98620815ddccc7d59cc63618eb73c73e972e8aea8", - "s3_etag": "25f01562e30bf2ba59aa910419f29093-67" - }, - "sequence_file/eccad683-4c2d-4d7f-a141-1effb429fef7": { - "name": "Fetal3_S13_L001_I1_001.fastq.gz", - "uuid": "b43bcc28-b5cc-4c02-8655-480c5d75f24f", - "version": "2021-05-10T23:24:57.758000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 435587491, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0739e381-ae28-4c3c-88e5-d61a4d9560cd", - "crc32c": "88845f2e", - "sha1": "94cfd2e823401804028ee4b6d86e4eeaee8a1e77", - "sha256": "d2f1f23fea42e37c35c3ce7434f3a0cb2fd7fa65091dc77fb42684ca03e9bdba", - "s3_etag": "c4a844c62ea7f45d97caacfbd86eeeba-7" - }, - "sequence_file/8840da5d-cbaa-4617-ad50-d2a012563fe6": { - "name": "Young2_S41_L001_R1_001.fastq.gz", - "uuid": "b4ea765c-8a6a-4585-a74b-b137727cd61a", - "version": "2021-05-10T23:24:55.389000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1001050341, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_789adf01-a200-4274-9a80-388393e82167", - "crc32c": "7a3a8aaa", - "sha1": "97c51c2130e162e2f082def961e1cbf878e6b798", - "sha256": "48961f2eaec8693fc65feceb95e1a8ecbb887eb5fefc1cdff5309a6dbbb85378", - "s3_etag": "6a83e3fc9253ef0c8358afb0f8b0447f-15" - }, - "sequence_file/c9517b55-fb72-463a-aab6-e4f64b95c2fc": { - "name": "Adult3run1_S5_L002_I1_001.fastq.gz", - "uuid": "b5ff9714-ff62-4fae-9cc1-f75eaa9bc652", - "version": "2021-05-10T23:25:00.034000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 495443165, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3798b6b7-4486-47d9-82e5-7c80be96c417", - "crc32c": "8317cd17", - "sha1": "7358d0bc01e74f117aa22c6a0eec50f4b95ffb23", - "sha256": "9a000f992dc746c633ee8de12f5c9a8d85f9c5c3f62eb4909c94972c4ef7a769", - "s3_etag": "f3719f725413636681aa6dc67e847613-8" - }, - "sequence_file/baa2bfd9-d2fb-4b5a-a81d-af84bf24c730": { - "name": "Adult1_S7_L001_I1_001.fastq.gz", - "uuid": "b68e67fd-a8b5-48b2-a1fe-dcb7b84214e6", - "version": "2021-05-10T23:24:59.314000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 410644616, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_954018c5-a7db-41c5-af85-e1c4e3db00fe", - "crc32c": "e52398e5", - "sha1": "de1edd6e51feab0b74ffc58d13331314d9a10d97", - "sha256": "d9b234a599bfbaab7044dcc53c32dd68c359f93096bc179c09dea19f8fe929e2", - "s3_etag": "ec4cf759092eb88210601cf53578225d-7" - }, - "sequence_file/f9db3e23-91ca-487f-a3ec-11ffa8b8f939": { - "name": "Adult1_S8_L001_I1_001.fastq.gz", - "uuid": "b715cee2-5b72-49b6-b51f-5e9063ddb5a2", - "version": "2021-05-10T23:24:56.925000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 134411645, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3cc02617-2060-4ab4-b825-98cf796f3373", - "crc32c": "09dd9206", - "sha1": "2b67bfee2a1aadb81c3de5b61a0c83f0d6d053ec", - "sha256": "a92c56ab39116c306529c6083d5ae0adfc53890e765b483cd63c3fd007988666", - "s3_etag": "7e5b9d2500e8687f553125f7fae79ec9-3" - }, - "sequence_file/2a77f1db-b5d4-4657-a522-9786aaa7df80": { - "name": "Adult1_S8_L004_R2_001.fastq.gz", - "uuid": "b7264fbb-2404-4ec3-9239-24238ad09a7f", - "version": "2021-05-10T23:24:58.920000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 954621457, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_076f64bc-3b74-4fc1-b507-b1767bed9b21", - "crc32c": "fb0f3485", - "sha1": "d0fac3c8e18be7345d741b320a2bb31d4580a8b8", - "sha256": "d9c141d545e5177a87e668c72ff4b8ead165cd5b8c78bc702f7a9c9448ce42f4", - "s3_etag": "0e8f84c0224a922db03872398f285bae-15" - }, - "sequence_file/70291c50-770c-4e51-8f1b-60be28ea419f": { - "name": "Adult2_S35_L001_I1_001.fastq.gz", - "uuid": "b8734735-6ceb-479d-a1a6-5f8fdbf3cbc0", - "version": "2021-05-10T23:24:59.996000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 299713331, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_aac40bc9-7ca2-4383-8f77-d87b6a9bbb1e", - "crc32c": "1df57307", - "sha1": "636a9789cbea43dabb9ae3e3f1c31eec7c0e2ed0", - "sha256": "9b63c09560792d062ed2b528083454dde479309bc9090185a07c424637b6a5dd", - "s3_etag": "5c0dc86463272cea69fe8720cade3485-5" - }, - "sequence_file/d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc": { - "name": "Adult3run2_S6_L002_R2_001.fastq.gz", - "uuid": "b8fda4c6-4fe9-4107-8d37-8763f33cdead", - "version": "2021-05-10T23:25:02.423000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4619603152, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cca067e6-f04c-4b20-bf40-88c09e3e78f4", - "crc32c": "9b870d7d", - "sha1": "67ea1999fbdcb7cb1da4e970f3ac72fbdd81eee8", - "sha256": "adf3fbed4379351f1eeec54b93b4be28c516a9d86a337b1162f3a824f7219899", - "s3_etag": "5dd244b6bb405f4b3c67a9eef37a491e-69" - }, - "sequence_file/79426c6b-bd79-4343-b9fa-ee1e9cfc2aef": { - "name": "Adult3run1_S6_L002_R2_001.fastq.gz", - "uuid": "ba2a8b21-884a-44ed-86b5-e9288dc9ce64", - "version": "2021-05-10T23:25:00.217000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4171414446, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f89997f1-325d-4d7f-a521-41326f14149a", - "crc32c": "aa634b7d", - "sha1": "e78325878b198854c9ee0095ab6f4deec0e29d40", - "sha256": "b12d894e26328c4cacaac5d2cf1ad2692ddc7b5798e697932f7f2abc7517624a", - "s3_etag": "2f86a81179dd1b5bf5b5b783d883153f-63" - }, - "sequence_file/28e8f3eb-fedc-4942-8d6b-836fbb7e3441": { - "name": "Fetal2run2_S15_L002_R2_001.fastq.gz", - "uuid": "baf84851-8cd3-469d-8be8-ac70a932b36c", - "version": "2021-05-10T23:24:57.686000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 5302799024, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1fd0097f-50c5-4088-b85d-e385bcd7f4bc", - "crc32c": "a6a56f58", - "sha1": "8ab93d21f949c9c8187bf3edaf1225bd0bba7681", - "sha256": "266eea327bddb1716b1417fcafd77924f05fd22e2e2ae922644028f2e703dbc7", - "s3_etag": "e17106715c3100ead1693298d5da985d-80" - }, - "sequence_file/c67f602f-1b0d-4b0e-bd72-af166f5443fa": { - "name": "Adult2_S34_L004_R1_001.fastq.gz", - "uuid": "bb36dd96-2995-45e8-b128-6e7f28dab8f1", - "version": "2021-05-10T23:24:59.970000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 943773502, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d8d4b81b-4956-49ce-8b5e-450c83d79c58", - "crc32c": "ac7eef2d", - "sha1": "a6b4ea4aee4436dde7625786c813e2d9315409ac", - "sha256": "a74b2dba2fe439d483db19a4b480e44873b668dd0cf926f3e6bada38bd695b3e", - "s3_etag": "5bacf5c5fc57b17722a6bde1d9b050e3-15" - }, - "sequence_file/782f79d7-bd59-4cc5-8492-1e680fbb31c1": { - "name": "Young2_S41_L004_R2_001.fastq.gz", - "uuid": "bb3fdef2-bbeb-41f9-97a0-d0e36c433ef3", - "version": "2021-05-10T23:24:55.773000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2236392427, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b0473053-7c03-448b-b12e-6fdb49ea3602", - "crc32c": "d3b91e9c", - "sha1": "5666283f9a0ce0ef66f7ecb4d1ea7246f0bd4a8f", - "sha256": "829cc844de02e19ece3f9eb47b6d7c24a4d6e31f2eedfb127c79456b3cf08fc8", - "s3_etag": "2e5e3e00d15934ec9838f4feec89bfef-34" - }, - "sequence_file/1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288": { - "name": "Fetal3_S13_L001_R1_001.fastq.gz", - "uuid": "bb9f768d-87c9-4d9a-9fd3-2ed901168635", - "version": "2021-05-10T23:24:57.784000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1525099686, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d33defc1-063a-4a8e-95c4-834de458fe4f", - "crc32c": "ac0b93e9", - "sha1": "411ab8b51a1492d1edd62e313ab6745f7106da54", - "sha256": "7f40740a4f1321de90e55fb10489d6377dd75620ad967d155a4320964c107fb8", - "s3_etag": "d0617dc21f9686b42644146dd6f7b538-23" - }, - "sequence_file/2c4d6e65-8271-4542-97ee-7ba8a6b628d9": { - "name": "Fetal1_S45_L001_R1_001.fastq.gz", - "uuid": "bcb9c8d3-54c4-404b-a87d-1e0721a4dbbe", - "version": "2021-05-10T23:25:04.821000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1110259235, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cd126787-cb76-4165-b852-3e93ddfba350", - "crc32c": "94b29f11", - "sha1": "8034e81d8cd809394b56c22cab98bb234e3143eb", - "sha256": "d977eb1edb7c1cda17eef86c7eab89282684ab491b2f8a9febf2c2fdad44b135", - "s3_etag": "fa32a548ef92b038d80b31092648ffeb-17" - }, - "sequence_file/3001b82f-bbea-4072-9760-a14a4f00b7d3": { - "name": "Fetal2run1_S16_L002_R1_001.fastq.gz", - "uuid": "bd1843eb-445e-40cc-9ba2-066a67a9af3f", - "version": "2021-05-10T23:24:57.531000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1689250418, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5d0c0287-e700-4626-b441-1a234febb7e8", - "crc32c": "8787ea40", - "sha1": "19856d6cf0d4fbcd2642f02d64dd756a07887cce", - "sha256": "28907a3d53fbd964b6142f82feb4106995dbc8649199d0f5e014b09749595473", - "s3_etag": "3b6139c03e49b0d494d5dbe2a0ec2f43-26" - }, - "sequence_file/3fcc4232-b40f-4cca-bd1d-d12a03e4fed0": { - "name": "Fetal2run2_S15_L002_I1_001.fastq.gz", - "uuid": "bdbd012e-febf-407e-b6f7-cf6daf619412", - "version": "2021-05-10T23:24:57.637000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 708479039, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9520a01f-a0be-4ad5-b003-d9f0cd1d5d9d", - "crc32c": "a7c90b00", - "sha1": "e7272df60798aa7a8a7c16355510cef38ca26cc7", - "sha256": "a7e394b50c56b944a571d973600d5fbb030d137abf0c2f42c9033c3811d799de", - "s3_etag": "d30a9205de96c3ad271fb0ca6c4cfde1-11" - }, - "sequence_file/c5e55f39-94a7-4ddd-8972-d217b63fb7cb": { - "name": "Young3_S11_L001_I1_001.fastq.gz", - "uuid": "bf119ffa-94c6-49b1-9f62-766e2a53776b", - "version": "2021-05-10T23:24:56.537000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 196611121, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5111d65d-b990-4a33-8a56-d143eb6282c4", - "crc32c": "715ce41c", - "sha1": "d74800689ff029cf6b4d7579551198e29a2b87dc", - "sha256": "1d51d99aec27635c9b6fab5bffddd0c8231eaa8faa8ffc16ce26f4311c14c1d3", - "s3_etag": "c3956074cd5e41b9ef2eefd807809218-3" - }, - "sequence_file/f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9": { - "name": "Young3_S11_L003_R1_001.fastq.gz", - "uuid": "bf54f8d4-be87-40f2-bac4-c6e513baa54f", - "version": "2021-05-10T23:24:56.623000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 599354731, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_892ef2ef-0f5d-45ac-b3ea-61818154ad11", - "crc32c": "141f1942", - "sha1": "bc5aef0a21ba789de8c1a7e0c33846968469d101", - "sha256": "7f60f596ab92474384e5dcda90ec584cf6a62506d2fdc056d0fbd1bed52be601", - "s3_etag": "0a175753c9e339ad719bafaf18996d7a-9" - }, - "sequence_file/dff50bd5-38c9-4c35-a5bc-dd51e69f249a": { - "name": "Adult1_S7_L002_I1_001.fastq.gz", - "uuid": "bf8c13a8-5875-4e53-a7d5-8b595afcfa7b", - "version": "2021-05-10T23:24:56.762000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 417042904, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_38fce3b6-2570-4a0e-ba8f-5eafc4ca6891", - "crc32c": "3d641d40", - "sha1": "6ff82f303bcb90bb673af7125e7fe21284749691", - "sha256": "0f61d9bcfdf75a01f29fddf217ef74d2536ab098f2d2bda47487d620d420663d", - "s3_etag": "e42f74cad544b26ff4ec59d87b72fcb6-7" - }, - "sequence_file/84cc7ee0-4d8e-45a1-b563-d3e05b4ec573": { - "name": "Young3_S9_L001_R1_001.fastq.gz", - "uuid": "bf968691-34b6-4f79-9285-bbba736c3def", - "version": "2021-05-10T23:24:56.190000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 485345371, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b1c87b86-1cdb-472f-8920-72f036d102fa", - "crc32c": "27e23750", - "sha1": "ce968204b653b2d65ed17d2bb9888ae544ddeeaf", - "sha256": "a8b62044d3b8dd2f66b30f9985599fcc8664ecdc356840d89f1b1d701182ecc0", - "s3_etag": "1fdfc130fdd960913b521f371b069b07-8" - }, - "sequence_file/130831cc-87b6-47fd-93a8-ae1890d365f2": { - "name": "Young3_S9_L002_I1_001.fastq.gz", - "uuid": "c04a349a-be3e-4fd7-b71b-8eb1237f838e", - "version": "2021-05-10T23:24:56.269000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 158793112, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ef934105-55c0-42cc-8c97-c1d04b9e5e4d", - "crc32c": "dd8dcd49", - "sha1": "6275b029d1323011b357625b023a7c7fae78f34a", - "sha256": "42cda580760c1f0193c69c951edb7f421a1291c104c31296514ca210d6e800ce", - "s3_etag": "ffe3dd15d96249c534fec3d3847ba1d5-3" - }, - "sequence_file/9e74066b-834e-416d-a1e7-bbec1e8f1713": { - "name": "Young3_S10_L003_I1_001.fastq.gz", - "uuid": "c082712b-3289-46fa-86c7-b6dad9f37e55", - "version": "2021-05-10T23:24:56.461000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 163364124, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_15b81cfa-7421-4fb3-bd92-c36103823f00", - "crc32c": "1b2c85c8", - "sha1": "69c30362926c43aa63182745875e363d2af219e3", - "sha256": "34d8b04b1d89dae789d134952ec23bdb29fed8dc3f419bf823780d4ddfcea4bb", - "s3_etag": "f45dece38c3b80e7da755f62e83577c4-3" - }, - "sequence_file/1c95a589-205c-4d7c-9c56-c3de4f7dbb66": { - "name": "Young3_S12_L001_I1_001.fastq.gz", - "uuid": "c0c4e734-7669-4b29-a840-94ea6aa5872c", - "version": "2021-05-10T23:24:56.687000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 200058103, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c5969a04-9f96-467a-aed3-f36d3fde09f7", - "crc32c": "74a9abf2", - "sha1": "fbf9b6adcc70ef033b1909152dd7c532fe14adc4", - "sha256": "a1b8f8b25d6cd6abb63126469fa56a72347b71a9f8d5fd46d163934931b2ad9d", - "s3_etag": "5dcfc9b1fe86977851be8e27bc08e11f-3" - }, - "sequence_file/c3d3c4a3-527b-490f-8107-bc1b44566df0": { - "name": "Adult3run1_S5_L002_R1_001.fastq.gz", - "uuid": "c1740f09-7595-4d38-a970-8a89da2e9f0f", - "version": "2021-05-10T23:25:00.048000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1598091201, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_aa0b6f41-97ba-45ef-9b91-a686eff34f32", - "crc32c": "7ec8d050", - "sha1": "67cb1b3515f42372160bac1fdcdbf68ce7a9c1ec", - "sha256": "15cb1a2941c466bb0446078397c2a9a789edc304ab3566bb0d0f72de6d352902", - "s3_etag": "f09e0eb0b5c09eaba1a95cf793046155-24" - }, - "sequence_file/035a00e0-02ca-46e8-bb76-9b2449ee922f": { - "name": "Adult1_S5_L002_I1_001.fastq.gz", - "uuid": "c180c376-c910-4b07-9833-f0443ad62a59", - "version": "2021-05-10T23:24:58.932000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 310990609, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_584bf6de-349c-40ac-93e7-b964d761524b", - "crc32c": "1c9105b9", - "sha1": "800488f3f71f995df103882006d22fb1b7ab3585", - "sha256": "286616e27c0c09752c6ef183b8b1dacbcabf59c8aa2e8d8d1adc336ac0944e00", - "s3_etag": "299712002faaa5466f0367a17316da36-5" - }, - "sequence_file/2b62614e-dc4d-46ea-bf29-727d5c33effa": { - "name": "Fetal2run1_S16_L002_R2_001.fastq.gz", - "uuid": "c2191cf3-401a-4b2b-97e2-0565006575b1", - "version": "2021-05-10T23:24:57.543000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3934790678, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7a4ffa48-3c45-417e-ba71-7451853ade70", - "crc32c": "60935b1b", - "sha1": "e333b0160f6851c7e964c15fb4fdea28d71a17c8", - "sha256": "5a6de57e5b9229128331fa5e5a9ca880384d501af0b6d120afaf29da5509e3ef", - "s3_etag": "f04f4af7fea7669874ece6081606b273-59" - }, - "analysis_file/31e6cb06-0062-4096-84f5-c2d1c2621a82": { - "name": "heart-counts.Rds", - "uuid": "c255e795-7297-4658-8b5b-044d932efbe9", - "version": "2021-05-10T23:25:11.821000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 440041264, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3b56375e-7ce6-4524-9cf9-a704f4d33d06", - "crc32c": "3df9657f", - "sha1": "c11910eedae676715b70ee6637eef9ee736747c8", - "sha256": "b02fa88cff40f8e0fb9b3cd70c6a4d8348b55b7c80ef3ed6afbb548bd3d19db9", - "s3_etag": "061f38c05e5aa404a9b0b1eb4e01549f-7" - }, - "sequence_file/da6e341f-43d3-4c22-ab8c-3c3e81986d9b": { - "name": "Fetal1_S46_L002_I1_001.fastq.gz", - "uuid": "c3a93f32-20be-4479-aa9f-e65fb9ccaebb", - "version": "2021-05-10T23:24:57.243000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 313085251, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_502d6f7c-ad4a-4437-a4fe-d76a99f1516f", - "crc32c": "c4759450", - "sha1": "f2d5189ff9fe9e8a365e966fac0b1dfc1bb00213", - "sha256": "6c61f820d74f28970dd80eb0abd14eece065739ebafa1027c9ad68853dc73cdf", - "s3_etag": "3eed6111c4bfbf038751455461ad8b68-5" - }, - "sequence_file/ba526c42-7c2f-43c1-a817-06ccdb4d67be": { - "name": "Young1run1_S9_L002_I1_001.fastq.gz", - "uuid": "c46951ff-a25c-4bfd-9c21-0b329730a87e", - "version": "2021-05-10T23:24:58.649000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 659638441, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d797c7a9-7742-4337-ab2a-59d42f034ce0", - "crc32c": "d23c43d3", - "sha1": "438d789fe571ea9d1c7bbb8f10bb16758ff38681", - "sha256": "ad393988fc2027c646995e1649afbf576660093df37e124b9611754a9dfa3ccd", - "s3_etag": "4eb2aeab047bfec1718281d0c5017b70-10" - }, - "sequence_file/a10329ae-6c8a-4df9-bac1-70bdf2c07571": { - "name": "Young1run2_S9_L002_I1_001.fastq.gz", - "uuid": "c53e8814-f633-49d0-851f-f8708e9616a7", - "version": "2021-05-10T23:24:58.817000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 708789490, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_45072b41-2b9a-4953-8af5-87282b7a4a67", - "crc32c": "2bdc43f5", - "sha1": "bf3ea6325c9635143c196fdc987f0dfe11a44cdd", - "sha256": "da86f27a0b1502aa11ec30fcfa45c934705fad07ffa17c2cf1f00766256e62a3", - "s3_etag": "bf9d3d55de93f2235e27ff0b0843fc27-11" - }, - "sequence_file/a45af0aa-2591-4031-8ee8-a3c0a5a76260": { - "name": "Fetal3_S14_L004_I1_001.fastq.gz", - "uuid": "c62d0784-479e-43a0-8548-d7921592639d", - "version": "2021-05-10T23:24:58.365000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 396000479, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0cc38692-aa19-4946-b8f2-9c977f9e9d43", - "crc32c": "e83d1e46", - "sha1": "a9eccf528143423db43cd6958d95d98b952d7406", - "sha256": "f138775fc284a92cfd6458ace5e1113abc3cc285a17b5ee0a7f3f11eb09bb8b6", - "s3_etag": "ac3730d6ad9387bc5a13f39c6e225702-6" - }, - "sequence_file/a40ed25e-fbf0-40a3-b468-e2bdb55d56d0": { - "name": "Young3_S12_L001_R1_001.fastq.gz", - "uuid": "c74cabf3-6a19-46ce-a19f-10a569839ac1", - "version": "2021-05-10T23:24:56.699000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 674756123, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0786ff52-3797-4913-be78-b771535035a6", - "crc32c": "29ef7bfb", - "sha1": "669891ac5773f91166845c51122ccd72d94d10d2", - "sha256": "fee92b5dfb09bc0a8efe02564208ee264a9fdfd9672a8b9901497fbc7275230e", - "s3_etag": "dec0ef3a3523611f1167fdfb966e19d1-11" - }, - "sequence_file/d1ad5518-3619-46dd-a342-f5a3b34f67b1": { - "name": "Adult1_S7_L003_I1_001.fastq.gz", - "uuid": "c7adbdb4-dacc-4c5f-b477-daf94f3e08dd", - "version": "2021-05-10T23:24:56.800000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 406149552, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0cf685ee-cf00-4d9c-85d5-9f07fc19b2f8", - "crc32c": "0e647c25", - "sha1": "b077f107368847a30ff08d550ddee6cae4579d28", - "sha256": "c9d7370190d12392194b0141bb33842f1da7dc8f1710b82f60acaafd8327c407", - "s3_etag": "1babc778e9a6fcb66c2177faae5186ee-7" - }, - "sequence_file/2a7c1cb6-5d82-4b65-854d-6451c18c62fc": { - "name": "Adult2_S36_L001_R1_001.fastq.gz", - "uuid": "c81a1417-0fd8-4346-856c-12174fd84dc6", - "version": "2021-05-10T23:24:59.594000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 875841564, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_16c302ed-b6c4-462c-ac77-eb2793140dbc", - "crc32c": "6f1b1374", - "sha1": "d81ba9753ba8d03eb866c8b017656fa8f349708a", - "sha256": "63f9e9749e9cbc09a3bd493359064ec9af1f6087d0dfa4347260ab40a6ffc18b", - "s3_etag": "334354584c135a537d0528b58ce6b0c7-14" - }, - "sequence_file/6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0": { - "name": "Adult3run2_S5_L002_R2_001.fastq.gz", - "uuid": "c8ffc4fc-c802-4a03-95a1-be237423e149", - "version": "2021-05-10T23:25:01.160000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4297268227, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_576ac807-1e28-4f15-99f7-8724aec3d974", - "crc32c": "dcb62807", - "sha1": "76493c93deadfb61648893703b1786c82f51dbf4", - "sha256": "36ed2ba53a3f4b63b80a2e523b67df555e5766aba14872815b56ba7ce7a72f1c", - "s3_etag": "8623ea319911002d9e866a0fb1d1d7d1-65" - }, - "sequence_file/4d0f1255-5e1b-4852-8030-a7a8f7580f1a": { - "name": "Young2_S44_L002_R1_001.fastq.gz", - "uuid": "c9d41a92-d999-4c22-98f5-f205b57b0715", - "version": "2021-05-10T23:24:55.580000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1159238444, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e30ab4bd-9f7b-4654-aebf-b266142e5160", - "crc32c": "bb5198b1", - "sha1": "d9397d61536f546e5352eb12fa7ef74f4702bb2d", - "sha256": "299ff44b1b622ce94a5fa3ac0557d3ad7d06c845a442dacb0009d51af85edf4f", - "s3_etag": "fce3f4e733e393bb48c3deef7e81568a-18" - }, - "sequence_file/d691ee05-f531-4c18-b0e9-677dcaabf20f": { - "name": "Adult2_S36_L003_R2_001.fastq.gz", - "uuid": "c9fe0510-7445-4101-a4b1-67022a9a8b4b", - "version": "2021-05-10T23:24:59.681000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1957895123, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e2b65e2a-738f-4f75-9b27-552152d23798", - "crc32c": "209e1de5", - "sha1": "df5be3199ce033cc60fb514970922a344112424b", - "sha256": "b3bc240204350d693819749cb4d4b1e26d5462740e122a8417279541bbeeba49", - "s3_etag": "f6c9c9a4bf1f05ab0bb16b246d4bbb53-30" - }, - "sequence_file/19eb5d2e-2224-4bb4-9f94-526a4c06f7a2": { - "name": "Fetal3_S15_L003_R1_001.fastq.gz", - "uuid": "ca6e8808-dcfd-4b27-90ee-47a7fda101f2", - "version": "2021-05-10T23:24:57.898000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1220018978, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_8eaf5d78-88cc-48ec-973f-f313ec7fb3bf", - "crc32c": "b333e1ce", - "sha1": "29e9b375208bb9a0f16318518319b44015d14145", - "sha256": "6e6acfb417d31fb0267e985b61ee9afc332ae023b07c3792b04874edf793f119", - "s3_etag": "c9532584f40720224abf0f650b15fd98-19" - }, - "sequence_file/965057e9-48bc-4452-8819-2bc45723a0f7": { - "name": "Young3_S12_L004_R2_001.fastq.gz", - "uuid": "ca88a6da-dffa-4f39-afaf-4fd53d43c2cc", - "version": "2021-05-10T23:24:56.142000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1476740916, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_769c4b7f-a4c5-4ef6-8452-f5b108283e0b", - "crc32c": "5b5af64c", - "sha1": "93eaea07dda83aca4068c47d29cb098ffff1c01f", - "sha256": "7526a349cfb81b4f61d8a620e5f9aa53aa7a02b6e72cee6025f8f017a56b7b5e", - "s3_etag": "3894414d010baea382fe469e66f1d800-23" - }, - "sequence_file/e744fafb-3c4b-47c3-91db-db8bb8751279": { - "name": "Young1run2_S12_L002_I1_001.fastq.gz", - "uuid": "cb8e28b3-67e3-470f-aaea-3a5de3933f45", - "version": "2021-05-10T23:24:58.781000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 559957876, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_bb709b6c-bac3-423d-b4dd-12aed72d902b", - "crc32c": "37fab15b", - "sha1": "171668a5e5c92559e492eb2a0ad89979b08e9a63", - "sha256": "69a69566421c7e970678787aeda0d77a5606763d72249f9f9462d871e41cb67f", - "s3_etag": "8bc323ae52ed07ca9596a8347c30b664-9" - }, - "sequence_file/577e4275-b373-40ac-ac3f-8487d6aafe16": { - "name": "Young3_S10_L002_R2_001.fastq.gz", - "uuid": "cbcd6047-0f88-4dfe-a123-648d6ed5342f", - "version": "2021-05-10T23:24:56.447000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1195938644, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b5d630e8-64f9-4c55-8914-3ce465d1ff26", - "crc32c": "f2a36405", - "sha1": "529b342662263aa528121d1089276e3cc66f9367", - "sha256": "b37cd52eaf7287db4b8621068c6e370fffb4d94ff7195a12af155d31c0ad29be", - "s3_etag": "df79e4ff288d739ba35bc29911b908da-18" - }, - "sequence_file/d1f9e5d6-8df2-48d1-b558-9609710ef53f": { - "name": "Young2_S42_L003_R2_001.fastq.gz", - "uuid": "cc28432c-f484-4363-9b77-56b433eba183", - "version": "2021-05-10T23:24:55.913000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2523290244, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_558938aa-6ae0-4a72-affc-19c5298aa2fc", - "crc32c": "2af1b36b", - "sha1": "ead8b8aa421b31d98db1a3302056245f475b4e5a", - "sha256": "5c7a382bd993268f874040b784a4d21ab89324c47eb3d7430235a36ac9dde49c", - "s3_etag": "857f3c231eb732d285b0808e9dd27af4-38" - }, - "sequence_file/3c9533cf-c7b5-4bbf-9461-87da5aa1b556": { - "name": "Adult1_S5_L004_R1_001.fastq.gz", - "uuid": "ccfdae0d-34c6-4a5f-b017-5080bbd68d47", - "version": "2021-05-10T23:24:59.064000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 882604068, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e109fc93-303a-47ef-9c0c-845e80c5b4a8", - "crc32c": "ab0fbf22", - "sha1": "12170b20ddd90dbd3924fa2009350f316776b7ae", - "sha256": "9ecdcff9983dc9e5069bdbb6b6f0da65c799672e7dff58d03154562657a00293", - "s3_etag": "15e005d63e54d5f30c8f5af820e86862-14" - }, - "sequence_file/154dffeb-efd7-4081-a73c-bf1b73ca9a90": { - "name": "Adult2_S35_L001_R2_001.fastq.gz", - "uuid": "cdc24ed0-2141-446d-9f72-0cde913c4dd7", - "version": "2021-05-10T23:25:00.021000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1835801220, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5e4483db-6aa5-4bae-9058-cda670a79226", - "crc32c": "561fa1a3", - "sha1": "8d731f1362b9d78b6433d3b9bc7e01423ac5644b", - "sha256": "c325be93c813ed0d64546d191a6587ad6b4a284f4621f5efb180b6d07e5aa3b5", - "s3_etag": "b75f1b0d097235b08fa68ab667833fdc-28" - }, - "sequence_file/2aba7a6a-6d70-4310-9e64-071c6adbe16b": { - "name": "Adult2_S33_L004_R2_001.fastq.gz", - "uuid": "cdcb842a-e8c9-4ff9-ad22-850873c3f30a", - "version": "2021-05-10T23:24:59.833000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2271343294, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a93c9822-9e84-4cdb-a544-a11d182ebc44", - "crc32c": "c7de08a5", - "sha1": "db73c3ba46f1a6a61e998a127b9c31b5243b0051", - "sha256": "f448b24110d5e7772646ca50bd09e9a638296f27b6b7b860c892cee42e5213e4", - "s3_etag": "b14b5fd649e4ec047b235d97f763da73-34" - }, - "sequence_file/45d0b683-d7dc-4e1a-a235-dad58ef03d77": { - "name": "Adult1_S5_L001_R2_001.fastq.gz", - "uuid": "cf86ed0f-408f-40f9-a104-ed61c88fa5d5", - "version": "2021-05-10T23:24:56.750000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2052328561, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b43a8398-cd12-47e0-8214-d49827652b9e", - "crc32c": "db17dde1", - "sha1": "6a87af8d769d755fd7247d22d7b9b0b834d96c77", - "sha256": "112831f81f707700072b63d88c470126961f69944da15b1b1c6ce8654d61cc9b", - "s3_etag": "0bf16530c4ac7b830910ecc42378ed44-31" - }, - "sequence_file/319d5a99-4bde-4b20-956a-03a0175478ee": { - "name": "Adult2_S35_L002_I1_001.fastq.gz", - "uuid": "d0764179-9b16-46a6-ab64-b30e0c4de1d3", - "version": "2021-05-10T23:24:59.440000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 305131639, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fb24a76b-9d3d-4f21-b891-8fcc60d0bd63", - "crc32c": "9b715264", - "sha1": "f2da5e582eb863d9c527cb3892e9b18497d5a048", - "sha256": "72f81ea8a642ad150e63a671b85c36f4750ec7278b4c13d623433b77371f4cd8", - "s3_etag": "d15caa295077be28dd54e1cd5ff04ade-5" - }, - "sequence_file/e381aa0d-c2ce-4fe4-9acd-030d9023fcb6": { - "name": "Young2_S43_L001_R1_001.fastq.gz", - "uuid": "d0b72f3b-1519-4113-aab2-f4b1d8e80345", - "version": "2021-05-10T23:24:55.979000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 896039188, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fd14986f-6eb6-4bd2-abb1-89fc8104e92e", - "crc32c": "0556e458", - "sha1": "71f467b12a5ee92931b25e53c4e82e9282dbc137", - "sha256": "53acf88efe4e3337b3430cda2430f4b74b3e2ed69aed06a0504cd97fa7fc307d", - "s3_etag": "b3668b3700dccce75e79c7cc291cccd8-14" - }, - "sequence_file/8de95742-6e0f-45bd-b835-ce96ebc1991c": { - "name": "Adult2_S35_L003_R1_001.fastq.gz", - "uuid": "d200ad0b-db9b-4064-94e5-d03c5d406371", - "version": "2021-05-10T23:24:59.508000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 812929562, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4076e23f-1474-4d24-97d2-5d4fc3c48b1d", - "crc32c": "2a22929b", - "sha1": "c73a1bd7c8ecf3e3c2e329e48862cca9ea973e9b", - "sha256": "9bb8d838cd0287f9df2519ac54f0c26e9697d9fd3fba1bc62387ac688506da4c", - "s3_etag": "4780d336f0f6dad0a62287a544c98409-13" - }, - "sequence_file/5d00e91c-8691-41ff-836c-b827f23a1a7d": { - "name": "Young1run2_S10_L002_R2_001.fastq.gz", - "uuid": "d2ac4e77-f7d1-427c-8a56-4ca6933f6a65", - "version": "2021-05-10T23:24:58.730000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3589798040, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3ef657fc-e2bf-4407-b246-b8b497160f6e", - "crc32c": "36c84005", - "sha1": "b29ac818423674aa53bc98fcb0a36fc5f5973b10", - "sha256": "ab013a2c47402d7b8236cffc331ad05fc379ca2eb803bc2fc67506e6b1bcd046", - "s3_etag": "12f0e63f910e5adf2df6a49895e41735-54" - }, - "sequence_file/3dce5e53-a137-4086-96d3-26dd3d000cf6": { - "name": "Fetal3_S15_L003_I1_001.fastq.gz", - "uuid": "d2fc5db2-eaf1-4817-bb39-4ad61ea9aef6", - "version": "2021-05-10T23:24:57.883000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 377825781, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b446d17f-9a63-4fea-9547-1d84c9691416", - "crc32c": "010a2cd6", - "sha1": "469c40c49181d0fd9600108f6c61d3e1ff096ced", - "sha256": "b78522cb4bb99c17e75dd48722a3457e2c6467473e59bc7b061ae5e87deba875", - "s3_etag": "73f56db40476801b9c671b02323827bc-6" - }, - "sequence_file/6593f54e-682c-4eb4-b2ed-e3c3278d4880": { - "name": "Fetal2run1_S15_L002_R2_001.fastq.gz", - "uuid": "d39f4113-7982-4e88-b88e-cde692413713", - "version": "2021-05-10T23:24:57.506000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4448987378, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2d73866f-a1b4-4835-854f-3a3c20718c4c", - "crc32c": "33631491", - "sha1": "89e14cb0ce6949454ce8db02de8ee78e79011bc5", - "sha256": "7ebf8822d40cc434fd3c6781fa12f928e70154e17e8b6bb2f6350b7d10bbdc21", - "s3_etag": "672b96735ac6fd5b8ee9150bb15d11f5-67" - }, - "sequence_file/792fd4bd-9b01-42bf-a883-c651789a198a": { - "name": "Fetal1_S48_L002_R1_001.fastq.gz", - "uuid": "d4ee29c9-bf24-408e-855f-03ada1309ce1", - "version": "2021-05-10T23:25:09.108000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1078499572, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9c8f0cec-9a9d-42d4-ae02-734675b84fbc", - "crc32c": "6c964866", - "sha1": "0e226fc14b64d139d336a07040342b85ec6d0d02", - "sha256": "5256778e19ed66c67177ff2ee69f44d01dc0883dc93a387cd358d8af72b2faae", - "s3_etag": "2e2a8560ffb95e3ec98f75dce58ba5b0-17" - }, - "sequence_file/2d0246fd-696f-4a54-abe6-d759cc6d27b3": { - "name": "Young2_S43_L004_R2_001.fastq.gz", - "uuid": "d517b1da-4c0c-45ad-b4b0-baf8a162a8f0", - "version": "2021-05-10T23:24:55.511000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1993363450, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_05fa4e7c-022b-4c76-ae77-758cc00e094f", - "crc32c": "240cae7b", - "sha1": "68186095abc4539fc1a47fb3490bbe24270f9e4d", - "sha256": "a519abfd3166c4c524ce8dbdc366f28920a75f394a5ab2dbe75edb825d3a8db7", - "s3_etag": "9c5610547fe42e00b623b0e754be28c2-30" - }, - "sequence_file/28c505c1-e1c4-4e73-b935-9616224da552": { - "name": "Adult2_S34_L001_R2_001.fastq.gz", - "uuid": "d58f4a16-7e35-42d7-9031-9a60db734da4", - "version": "2021-05-10T23:24:59.870000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2191136935, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d01f46df-17bf-4d95-b604-5e474a2dff61", - "crc32c": "1f2b6762", - "sha1": "690a117be5acc8eff0ed479096f15347029b7651", - "sha256": "134fc225a3a83f5ec54854b056e8b571a56515e25578b572203f908edab1373a", - "s3_etag": "0571010a0da40aebc1ee16223efd8939-33" - }, - "sequence_file/83865a27-24a8-4a70-a8bd-650affa7df5c": { - "name": "Adult3run1_S5_L002_R2_001.fastq.gz", - "uuid": "d61bebce-41a0-4a3a-b8bf-b2acdaeb9db4", - "version": "2021-05-10T23:25:00.128000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3678038408, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1dc4e545-aca2-442a-b96b-f73e4f4f6383", - "crc32c": "54825fda", - "sha1": "114fac386e7de7721eb6700f9aa7dd8ab60171f7", - "sha256": "ee449017b540c763d39d60eced081dc05779a0701ad642b1a2bcb9d4d18e8722", - "s3_etag": "3f53bef695a07a74dbbc19ac817b863b-55" - }, - "sequence_file/b3de09c9-37f3-4d58-8930-bbd5d4e136c5": { - "name": "Young2_S43_L003_R1_001.fastq.gz", - "uuid": "d675ebad-1bb7-4b9d-8c29-a25731906861", - "version": "2021-05-10T23:24:55.462000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 886661882, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_31cf0de6-640c-497b-a5b7-42eb9b5279d2", - "crc32c": "7ddd9ede", - "sha1": "4fb4ebf52d8d62fd3e8c9a996b5a14fc44c4e7c1", - "sha256": "d4537642644e5726556f7f8c369192c018593a53c812ca54b714bc8efcc5df27", - "s3_etag": "a4778d183cf86ca4e79068f61a2eaffc-14" - }, - "sequence_file/668a508d-34fa-4468-86e8-523380a34da8": { - "name": "Fetal1_S45_L001_R2_001.fastq.gz", - "uuid": "d6b678fb-58e3-4b3a-9788-fb004e7e3a87", - "version": "2021-05-10T23:25:05.181000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2577748220, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_70acf6d8-811c-40e4-903a-f1483e34bd33", - "crc32c": "b0754c0f", - "sha1": "f75d10ca5270e58a09dd4d9ceb896d50cff73d45", - "sha256": "2758a9d27070c5731df881bbf0cce603514e4d07dff992532a988d02ce93e512", - "s3_etag": "ca5fc16a409e8ef8d4eb5921be25d9a8-39" - }, - "sequence_file/fe586661-4878-4882-a38f-0b6321df5c99": { - "name": "Adult1_S6_L001_I1_001.fastq.gz", - "uuid": "d8b5e5e2-75e9-49c1-815f-2cb3a4b5cddf", - "version": "2021-05-10T23:24:59.094000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 325860715, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_8f6ae5fe-59ae-4d3e-a482-f7699df39f78", - "crc32c": "17e7d7f3", - "sha1": "5b249ac0cef32f80ca6ac6094cd267356113542c", - "sha256": "63d0ad81080a71785de42e0c05d281211ac35ab1576f78c2e1e58d9d34b487fa", - "s3_etag": "6b15d8b9f1185fe0f93c2aee50e3f7e3-5" - }, - "sequence_file/c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd": { - "name": "Fetal3_S13_L003_I1_001.fastq.gz", - "uuid": "d90be9f0-3352-4c95-8790-92668f6d65d5", - "version": "2021-05-10T23:24:58.173000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 432823947, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5390f5bb-5c2e-4a77-aa77-083eb93446cf", - "crc32c": "2530fbd6", - "sha1": "c864bd08996b2b7d51eb9812c572284baa294cda", - "sha256": "d08a289f19260684a81abe4a6bf04f25ec9b2e1fd7538dbaff05d0f24e93fb23", - "s3_etag": "5a5e6a8b4163b8e9e82c4bcd81414701-7" - }, - "sequence_file/ebbc0d72-0743-41b8-88f6-736c36bd6499": { - "name": "Fetal3_S14_L004_R2_001.fastq.gz", - "uuid": "d9e70e73-ba70-4d01-bb84-6f80535c3147", - "version": "2021-05-10T23:24:58.390000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3076882971, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_244fa7bf-768e-4684-a008-bbf831c32ad8", - "crc32c": "b8b6d372", - "sha1": "8a6cf3ee11a43a8562abe3a6d0e720fc6cc60ff0", - "sha256": "59d3f0f1d68006a34223c75918844432be831b8958ce6055f16a480e4bda3f74", - "s3_etag": "fca314c1ca7b5c83013d36fe580ed9ae-46" - }, - "sequence_file/59a4c958-41b6-4680-8021-86ed6be8f55d": { - "name": "Adult2_S35_L004_I1_001.fastq.gz", - "uuid": "da23845e-e1aa-4fb0-8653-42785b457605", - "version": "2021-05-10T23:24:59.544000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 294697480, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3123d766-24dc-4681-834f-e4e5b33c8833", - "crc32c": "55b95a37", - "sha1": "0c720a3df195af3589a2e8811df833fb337cd9e0", - "sha256": "1261b0a4a1f04793c5c2465365ea68ccba4c20cbe57f679925957ac7ee259e39", - "s3_etag": "69cbd2bdfe1aedf938ef58a753134963-5" - }, - "sequence_file/7e1f0414-5235-4c79-b334-b278d3ebd8ae": { - "name": "Adult2_S36_L003_R1_001.fastq.gz", - "uuid": "db80fef4-5dda-4ba4-8e95-5fed18ee1f3f", - "version": "2021-05-10T23:24:59.669000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 867869066, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a8bfc049-5499-46c0-9d3b-21053078b8b4", - "crc32c": "d1454670", - "sha1": "8282fcf501a5686f167ccd9902bf55c0b5865691", - "sha256": "b55dd51082bc83135b9eb94cbbfc377884e0af9e25d7ded4d45028bf3aedc148", - "s3_etag": "8ee45705e3b365b427c7505e85a53779-13" - }, - "sequence_file/ebc98059-556f-4a51-b1d3-e5afb40fe80e": { - "name": "Young1run1_S11_L002_R2_001.fastq.gz", - "uuid": "dc2a13d5-92a6-46f3-bc12-17a4bde95ada", - "version": "2021-05-10T23:24:58.577000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3251840382, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_683415b5-df01-41f3-8bb1-6dd6e9059266", - "crc32c": "809d7721", - "sha1": "3cec5e7e3629735040711beb856eb5d429295293", - "sha256": "5d49bbfdfbf3858fdd7f4b055342a791ec5953b2bef75a256672ceaa4b62a5c4", - "s3_etag": "c7d1586ffa5bbd63ee50a0f2c8d2df56-49" - }, - "sequence_file/8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba": { - "name": "Fetal3_S14_L001_R1_001.fastq.gz", - "uuid": "dc390866-3291-414e-82f3-1cb004c27f35", - "version": "2021-05-10T23:24:58.261000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1353206591, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_00eeac0b-dd50-45dd-bc9c-30b9fe11a33f", - "crc32c": "44a94448", - "sha1": "a6bd8187dbbbf5bf51acfadf940422a7b8a918e6", - "sha256": "5134b59c7a1c4d4ad1aa4f9a4043690d48ead8d5f9c31656c804b04e97a9b95a", - "s3_etag": "02707c1a6577b71a0ed29572e15962bb-21" - }, - "sequence_file/97eaa3ce-131c-48b8-8082-86bbb6a486b5": { - "name": "Fetal1_S45_L002_R2_001.fastq.gz", - "uuid": "dceb6a13-eb70-4fc9-9fdd-5792be962cdf", - "version": "2021-05-10T23:24:57.110000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2635362289, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f08993ff-bfc3-445b-841d-2e5c46a42e4c", - "crc32c": "0654b6b7", - "sha1": "df534613ede312725254ee58daafa854c02ea911", - "sha256": "3f2305c80092c6f89662b577b3726c06c6d6d5fbb3ce6a19e87c0f0e241d730d", - "s3_etag": "b038b749df33dc1d148d6ea0999747ff-40" - }, - "sequence_file/24bbde6e-cdf7-4f1c-a447-6501ce377aa4": { - "name": "Fetal1_S47_L001_I1_001.fastq.gz", - "uuid": "dd9a9646-5645-4b0a-969b-7c225966437f", - "version": "2021-05-10T23:24:57.366000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 254639357, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_05b25c0e-f4a9-499d-9088-d05894703c8b", - "crc32c": "7b348bae", - "sha1": "a426228665353621ccd3c2e4ae77d15323c0817a", - "sha256": "6c449e0909f7b114411ce5aae09ea622dc25dd952490cd3f66c01005247aed73", - "s3_etag": "d0c9352c8f5dd3712d891de11141145a-4" - }, - "sequence_file/f78279da-e39f-463b-a1a9-02d4f99f85a5": { - "name": "Adult2_S33_L001_I1_001.fastq.gz", - "uuid": "dda17201-ae39-44be-a644-688293254283", - "version": "2021-05-10T23:24:59.382000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 334758426, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a77d0168-6408-44a5-9b0d-7d868bec25e5", - "crc32c": "cb6c7603", - "sha1": "54e078d29a918064e2d0fdb413b1081e55486746", - "sha256": "f36237cacdb0ab612e949bfe2ed42d72bbfe07d34422fffb85115cd040c98de9", - "s3_etag": "b2970af2b93d9128b3fb5db22f6471c5-5" - }, - "sequence_file/0256729b-47ee-4ed3-adc7-2c0813bb99b9": { - "name": "Adult3run1_S8_L002_R1_001.fastq.gz", - "uuid": "ddd4a327-86e4-4482-abe8-59bfb035f592", - "version": "2021-05-10T23:25:00.590000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1565924941, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d9003493-7970-4d44-8d30-8389e5e6f409", - "crc32c": "31a61a80", - "sha1": "df660ac0f132f677c9f6b3d34b920e322718a7f5", - "sha256": "455d603fe79eb65e3a2f817ebfd65fcefb6e8de5e235280fc956bac4eaee2077", - "s3_etag": "04256522448a4aded9d4765ca3b6e331-24" - }, - "sequence_file/6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47": { - "name": "Fetal1_S48_L001_R2_001.fastq.gz", - "uuid": "dec19270-f9f2-466f-86e3-c56e9e9f85a8", - "version": "2021-05-10T23:25:08.068000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2477485696, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4ab44ca2-4c5c-414a-af9f-3eedb407829a", - "crc32c": "333335c4", - "sha1": "f1f19c10fbf2e3c1bc26f349b825cfe026c064f5", - "sha256": "13fb19030c71875823cdd77aac57463b13581d9b5cb83ea6d380b405f9c864c2", - "s3_etag": "8bbe6666edcf520cb18e7b12c4cc2a0c-37" - }, - "sequence_file/d359ca8d-a374-4eeb-b214-69df7861d0e3": { - "name": "Fetal3_S13_L002_R2_001.fastq.gz", - "uuid": "df900bd9-2d04-4080-b718-590ff28ce892", - "version": "2021-05-10T23:24:58.161000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3591358446, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3d3b254c-7bb5-4674-bce8-121e40b780b5", - "crc32c": "bcde6522", - "sha1": "95a1843253839f09ae8104424913d713cae27d91", - "sha256": "7c7bcb06a622e3b95a51061e3c403e97f35640dbd6c3b46d02be4acee53e86e2", - "s3_etag": "e24917ea22a172e45db292399f545de8-54" - }, - "sequence_file/2ff6533e-8fe3-44c3-b378-99d4acdc0ab8": { - "name": "Fetal3_S16_L004_R2_001.fastq.gz", - "uuid": "dfb822ad-7da9-4ca6-9133-51c5e0279a9f", - "version": "2021-05-10T23:24:58.124000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3691078018, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_93297b95-c671-4812-bf00-cb07d3432d17", - "crc32c": "393a0578", - "sha1": "fab405571cb19a1458af019746094747a78c529e", - "sha256": "2ae420612f234e68a16a0422cbf8536a46a2303bd458344a0f0fa5cdd18bf09e", - "s3_etag": "864ab89e9695c77251f9440bb92ad1b7-56" - }, - "sequence_file/22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22": { - "name": "Fetal1_S46_L001_R2_001.fastq.gz", - "uuid": "e1bf51d5-e656-49de-9b55-8ad814870da7", - "version": "2021-05-10T23:24:57.230000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1998814942, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_74eebe02-f946-449e-9594-1ada82c6ffde", - "crc32c": "5bace1fb", - "sha1": "51e4f1f7c1fc234f27dedf2e770f9dde63da74e7", - "sha256": "e434f1432a7f8d25394480bc893519cacf0d01ca54b9e5725398ecfcc009dcbd", - "s3_etag": "d69a6908567008b911af0bfa35c3938b-30" - }, - "sequence_file/884813d1-d03e-4210-9289-e5b0d415484b": { - "name": "Adult2_S36_L004_R2_001.fastq.gz", - "uuid": "e2112f19-f48b-4f9b-acca-53c0e966baff", - "version": "2021-05-10T23:24:59.718000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1942917796, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6a34ab3e-abcf-4e2d-9e1b-381c1dce19b4", - "crc32c": "232ff8db", - "sha1": "b206cae82f8e5c8af0cfea87dd1f68f487af47ab", - "sha256": "67a47f12791781b31f28a11cdc70f2d1c7cb0d2914dbbcd40d8a0ae743fcb314", - "s3_etag": "b6216436d19e9bcfc9621ae03d749888-29" - }, - "sequence_file/d04a8b95-a45f-4fc1-a42a-a9afe3188465": { - "name": "Young2_S43_L001_I1_001.fastq.gz", - "uuid": "e2d181be-9c2f-4b06-a1ca-68965b5abd5b", - "version": "2021-05-10T23:24:55.967000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 266196289, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1b51b971-b11a-43d7-b92e-cd73668bf70b", - "crc32c": "08e3720d", - "sha1": "158bc7957285d1cf3eec0f51fc46b3501c00629b", - "sha256": "4d1d0e5ad1e6e5a5dd6bf4cabe116890aaa7309a065ab3d689e57c6f11cc0037", - "s3_etag": "7b37a4f0daffe67c5c5aaac2f4711489-4" - }, - "sequence_file/8fc6dd31-c01c-4eec-ae6c-bedd13f2c209": { - "name": "Young1run1_S12_L002_R2_001.fastq.gz", - "uuid": "e41aceeb-21ab-420d-a393-244aac597625", - "version": "2021-05-10T23:24:58.631000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3356143140, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_8c03e84a-4eae-486a-955b-04a645b7d66a", - "crc32c": "7b067774", - "sha1": "77b94e17c8cf26f3f40dc417a9f162084174fc38", - "sha256": "7188216c8fd36bca1672d147825a619cc0f4df9705c70d1470dc36572ed1ea73", - "s3_etag": "a1b797ce9a87f1fad60c14e84d48f1d6-51" - }, - "sequence_file/29ee234c-5d39-4eb9-8f73-22121936b3db": { - "name": "Fetal3_S13_L003_R1_001.fastq.gz", - "uuid": "e4468469-2eab-48b1-9c5f-b72eeee2da3a", - "version": "2021-05-10T23:24:58.185000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1513501043, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_de512038-3597-4e80-84e4-92cbf139d8e2", - "crc32c": "c5a60ffe", - "sha1": "bee5827268d796c96b19e8de6a4d08e39be96509", - "sha256": "f5dc76cc03a00ee48eba8530a158f6b757b817a6c7c729984ca687226597cdd6", - "s3_etag": "60c07b47c0a54de75e501d2421d49e60-23" - }, - "sequence_file/64c93769-83eb-4718-90f0-36d83b1dae4d": { - "name": "Fetal1_S47_L001_R2_001.fastq.gz", - "uuid": "e48fabae-c5df-4906-96b8-a45c77e48af0", - "version": "2021-05-10T23:24:57.391000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1842198909, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_700f4b61-c868-4146-9ce3-ba1301287530", - "crc32c": "23a74081", - "sha1": "76651aa17ea2666bf917a06077ca140b9622d0e7", - "sha256": "7bb9a41c9bc3b4838c863b1b03c2c36cd0be61109514e148ca50e01dc04ba67c", - "s3_etag": "58d2183ee51602eabfe0fa9f9b01281e-28" - }, - "sequence_file/e6565b7b-b195-4554-bf60-4b80f2c6dd13": { - "name": "Young3_S12_L004_I1_001.fastq.gz", - "uuid": "e4cfd5be-adcb-4ddd-b263-659ab56591b3", - "version": "2021-05-10T23:24:56.118000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 196946647, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d72cfad2-95f8-4fad-8acb-988c6ffc3db8", - "crc32c": "69cfe4c9", - "sha1": "562455ee755ff11ce29c7eec1811dfccf39e8d90", - "sha256": "559dad3434395f4390df60227618f0de325f1c27a1f8e3fd67b57c8354770fea", - "s3_etag": "fd479ea55739e41c79289a2fbedd7e15-3" - }, - "sequence_file/762c2720-f65c-4804-844f-2302bc33ebbc": { - "name": "Fetal1_S47_L003_I1_001.fastq.gz", - "uuid": "e4d3b43a-a03c-40d4-bf8a-bc0719d773e2", - "version": "2021-05-10T23:25:06.108000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 252193902, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d462411c-490c-4024-a7a9-cbfef4bf7f03", - "crc32c": "b86981c8", - "sha1": "2c156b1ee2c907f2b14729db7090998f0b5155c0", - "sha256": "2844da979551127772cec3c8d12cb222818a163293231b0e0a746cb361f98f37", - "s3_etag": "78d54f08fe081f3f8463603a1ac7db1b-4" - }, - "sequence_file/0697146c-0105-4d6f-baff-d9147593eadb": { - "name": "Adult3run1_S7_L002_I1_001.fastq.gz", - "uuid": "e4e308fd-c449-4aad-b61a-43c595e3da00", - "version": "2021-05-10T23:25:00.232000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 544108901, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a9211b38-1871-43e5-9923-d14b3b949137", - "crc32c": "b1d6076e", - "sha1": "3d6f18c90b49b2c2d2f7332d3b5b4fc3a45abb09", - "sha256": "855adb1ca39909282a7cbbf32a2378476ed556eea5287f588977bb4c5af6c6bd", - "s3_etag": "23187b8a9736a61ce00d4fa85237db9d-9" - }, - "sequence_file/22833c60-dc70-4299-86ac-00747b91b3cb": { - "name": "Fetal1_S46_L004_R2_001.fastq.gz", - "uuid": "e61fff58-84e1-41cf-86f2-7d5c120b17d5", - "version": "2021-05-10T23:24:57.354000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1956843590, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0cc7e705-6e43-4e5e-a2ed-34247266cec6", - "crc32c": "ae211b61", - "sha1": "39579506b3d71f2adbfce1956b13388e3955f8f7", - "sha256": "28e05e7518e04b8af734790995e75623e7af3daa359c771d7ad188fb41e43540", - "s3_etag": "9c0f39fc29d68f3fb1df9b9b11dbda6a-30" - }, - "sequence_file/347f630f-a9a0-4430-958f-6c929335031a": { - "name": "Fetal1_S45_L003_R2_001.fastq.gz", - "uuid": "e6f5097f-6e88-4703-91a3-1f8af0a04ca2", - "version": "2021-05-10T23:24:57.156000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2544129196, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_bb6c2f4f-a662-48d0-b8e4-a9bc047f3b75", - "crc32c": "fb4e7d3f", - "sha1": "e511adf25a1713c9d6a7115e680b8b0ef9fe5410", - "sha256": "7457a7cfc1f22234b132a9b04f4c2fbff95712740b33833ef0af45f71b7597f1", - "s3_etag": "de7a0e7be5879955e2dbe16bd4cfc037-38" - }, - "sequence_file/e28d2a66-f506-4a4d-b2c6-823e4e8124d6": { - "name": "Young3_S9_L004_R1_001.fastq.gz", - "uuid": "e72b1bd6-2847-408b-9ae6-66f187d293e4", - "version": "2021-05-10T23:24:56.391000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 476482354, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_03d3d661-570b-4e1f-93fe-4587e1e9af95", - "crc32c": "bf5a8535", - "sha1": "489eb802ce3884a4acf76ea522a03f8f7fe8b10e", - "sha256": "bff7e7b63c7e14177b55bd3cff7da709ec57634611a2c4791bb241dce9ca265e", - "s3_etag": "52550482dbe44ff8cb7e354b065f2e22-8" - }, - "sequence_file/a2b31671-1874-4c4a-a5c5-fd2787287893": { - "name": "Fetal3_S15_L004_R2_001.fastq.gz", - "uuid": "e882d829-b80b-4699-b909-269337998882", - "version": "2021-05-10T23:24:57.956000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2783529408, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e00a71cd-4d09-48c7-af22-bdda5ae3ac6e", - "crc32c": "514c3e14", - "sha1": "7f18dc1b5381fa3b97cc571bbd51c812087ca55b", - "sha256": "17050f5754df2362934c44a81452a29ab26263eeb06574a496b3f5505a6c49dd", - "s3_etag": "4357c3910d477b1042cbcfe170e44d7f-42" - }, - "sequence_file/e5d2cef3-3902-418c-b905-001052979a54": { - "name": "Fetal3_S16_L001_R1_001.fastq.gz", - "uuid": "e91bb61d-e965-46e5-b6b3-53e3593de931", - "version": "2021-05-10T23:24:57.986000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1622736317, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_576f2ce7-c20e-4dfa-825c-0b9986940a2a", - "crc32c": "0f209f3d", - "sha1": "ebae39bacab0a52dbe0bd2b3657d24cef35f79c4", - "sha256": "096b27f34af2d78a947406693bc0593c55fba6ed780dbccc4f4f8658226fa2bb", - "s3_etag": "6daa7cf545f597ce13e1a99b951e9b0b-25" - }, - "sequence_file/0506c2a0-ef2b-4850-8567-20d08046bdaa": { - "name": "Adult1_S7_L002_R1_001.fastq.gz", - "uuid": "ea1d2072-66cc-4e8d-8547-7197973e43a7", - "version": "2021-05-10T23:24:56.774000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1320129462, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_216e23bc-2b48-4092-b18f-dc2e516c20d3", - "crc32c": "df0eeba7", - "sha1": "63e10ccfde41de65208de4d0b2e613f3a0f0962e", - "sha256": "ce32bc556b76e1677be13fd7ae3c585928a7548c678f38225361368be8bc48bb", - "s3_etag": "e86d7979e8ae240a211531ece24619b1-20" - }, - "sequence_file/5b80431f-c95a-41ef-8aa7-98816f00e4d6": { - "name": "Adult2_S34_L004_R2_001.fastq.gz", - "uuid": "ea9a283e-ec06-432a-8bf3-40133f8f9cfc", - "version": "2021-05-10T23:24:59.984000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2145452838, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cdc5af61-9517-43c9-a7b7-2a7dcaaaf5b1", - "crc32c": "78bfc1e0", - "sha1": "d254a0274810266062a2a1ea9d64fb0c70cec166", - "sha256": "11d9b5a03faad3ab863c9d0711d0604726a08ac92fe6ef6c0fb2b1cc015343b2", - "s3_etag": "3b6796491dcb2688157264e07e63d07f-32" - }, - "sequence_file/82fc0df9-9828-433e-ac6d-73f4bbceefcf": { - "name": "Fetal1_S47_L004_R1_001.fastq.gz", - "uuid": "ecfb5b99-5606-483c-817b-fbcce96ee9be", - "version": "2021-05-10T23:25:07.230000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 779654949, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3f2bbf38-44ea-4aaf-a89b-c1f083559175", - "crc32c": "0648c7c7", - "sha1": "9b39400fee9d891af94c8441a0216577941c9ed7", - "sha256": "dac9aad6952a0b1a0a2a27ab331d6a555145f250b5210141bfd6f6126b4bcef4", - "s3_etag": "881adaa0fbdd815cc9dcde9cdc649ae8-12" - }, - "sequence_file/96f4d488-e081-4b54-b12a-b2d9546bfc17": { - "name": "Adult2_S34_L002_R2_001.fastq.gz", - "uuid": "ed3df4c8-d006-4edc-b5fb-65af588b5984", - "version": "2021-05-10T23:24:59.909000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2235857966, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d19b2aa3-3427-47c9-9a25-9a0a4fafd959", - "crc32c": "fa81d67c", - "sha1": "e7a0f0c603662c4ee2755757675a24c12ca7693f", - "sha256": "43a1cade69f629038099d46b4df277ff71b1fa5514e8807d5cf09e094a697732", - "s3_etag": "16393b84fe995a25ec5838cf7429f244-34" - }, - "sequence_file/c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7": { - "name": "Fetal1_S46_L001_R1_001.fastq.gz", - "uuid": "ed4c7767-277c-4d39-89cf-6144161985d2", - "version": "2021-05-10T23:24:57.218000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 868176498, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_20cb0533-c4e8-4152-a0de-3aa742fe0ca9", - "crc32c": "5fade06b", - "sha1": "658b59b76b59d8915a08e56776742771dd12c915", - "sha256": "1dd43fe8470cb496c34355c96620c6d403f560b2f9d10822a8958adf9951ec5b", - "s3_etag": "4522b7f4dcc5a40d9b3326316b3d22e3-13" - }, - "sequence_file/7f46ab20-26fa-493e-98c4-24d558f4a0ce": { - "name": "Adult2_S35_L002_R2_001.fastq.gz", - "uuid": "eff0eba9-ed02-43c2-9861-d34edfaf9f30", - "version": "2021-05-10T23:24:59.472000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1868718074, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_86058eb2-8e6c-4a3c-bc28-800d84a1d909", - "crc32c": "f2a0a4d6", - "sha1": "aa1596df94ea9db2b6fd1793024a7691d119118c", - "sha256": "1f3e8f56e1c6dfa3b7e6317fa46daa9173e7b251256450a6ee2c70b565f3a8ba", - "s3_etag": "f8c11487f8fcf12d26e6c471abef2a30-28" - }, - "sequence_file/0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc": { - "name": "Adult2_S33_L004_R1_001.fastq.gz", - "uuid": "f00513d4-c39b-4607-b43e-51bc36293e3d", - "version": "2021-05-10T23:24:59.819000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 990892488, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_53fa0801-179c-40c2-a9ee-c71d67034a2c", - "crc32c": "4ab7b8b7", - "sha1": "4254ae18db4e55aba8021a20857817d9d3d25e1d", - "sha256": "01ca6806bef50f903f96a88435c0808130cf3d7d485ac0205250865109c29799", - "s3_etag": "817e79c41185a6f3b6e3be78f5a98320-15" - }, - "sequence_file/09b831a2-5b60-4753-864e-8af803024437": { - "name": "Fetal1_S45_L004_R2_001.fastq.gz", - "uuid": "f1b0bc3c-0856-4493-95af-6b5ec42d09cc", - "version": "2021-05-10T23:24:57.193000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2529571093, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_11cf1843-635e-4a37-b736-a4a19f0c6a22", - "crc32c": "86b728b5", - "sha1": "a9b922ecfaa71e113cd90940585bc0266951c5de", - "sha256": "8ebbb5c587b66016c75367dffaab51bd5903c5e431b68c70f0bc52dc292a9a5f", - "s3_etag": "ae78f3490ed29c62b42ff76704a4eac5-38" - }, - "sequence_file/ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2": { - "name": "Young3_S9_L001_R2_001.fastq.gz", - "uuid": "f1ba59ae-f42b-403b-a777-69ced3930293", - "version": "2021-05-10T23:24:56.235000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1085745820, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f35c884e-80fd-4635-af66-eedd94ed66da", - "crc32c": "3ae1b9f6", - "sha1": "aa197df5082de4073ab36431f0018071f106075f", - "sha256": "bcc7d962f7e0858410da1314e8293d849a347728a2013a163676004ded8eb5f5", - "s3_etag": "8d98d9869ca388af258dd7681a6753dc-17" - }, - "sequence_file/5be8906f-0831-422d-896e-b099d5a23e13": { - "name": "Adult1_S6_L002_I1_001.fastq.gz", - "uuid": "f26b81f5-8f36-4998-90c0-0f30ea866f41", - "version": "2021-05-10T23:24:59.133000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 330136848, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_69f68a5e-bf9a-4ebb-8992-fa72dac2e9b8", - "crc32c": "d9ad76a2", - "sha1": "300684a521782d4a557b47f4ca2a60dafbe9e6bc", - "sha256": "c9c6c651278a2966fa2dadd3801a10d3793966aa2f527ed1270e338d903c4c64", - "s3_etag": "8197b6cae2352f5f62ea0476c5562daa-5" - }, - "sequence_file/dabb5028-64d2-4dbc-89a3-0cf6079ad0cb": { - "name": "Adult1_S7_L002_R2_001.fastq.gz", - "uuid": "f28f5241-9275-48ef-9779-0356be81a14f", - "version": "2021-05-10T23:24:56.786000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 3047773651, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4a5ab6fb-9ce2-47ed-af66-b3aa5dff5f31", - "crc32c": "5f82f088", - "sha1": "6f012ca80c4f50777abb10c36d55a47e2df062ad", - "sha256": "47308fa009bb42039782ee43dc53dd7fa9247d01b7d9d174d07cd9a28722abac", - "s3_etag": "08dd2f4d47c7d74bb94b84ff20559e54-46" - }, - "sequence_file/38601526-8448-4253-807b-70878c374901": { - "name": "Adult1_S5_L001_R1_001.fastq.gz", - "uuid": "f296caba-7bdc-47d1-a7ef-b39e358d0e3e", - "version": "2021-05-10T23:24:56.737000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 901135488, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9b0f76e7-9dcf-4c73-a319-6a58728335aa", - "crc32c": "e8d0c702", - "sha1": "f16207ff90a8806c472e9a21ab9811260d704000", - "sha256": "89ea95bcfdef3f587b85bf1edb0f9c177aaf9b2ca9118c965bd71833973ec1fd", - "s3_etag": "f37e5654a27fe6bde5e1dd4dfcc41b93-14" - }, - "sequence_file/dae9b045-0d8d-4944-b8a2-d3b64ad7df34": { - "name": "Fetal3_S14_L001_I1_001.fastq.gz", - "uuid": "f366ef43-bfe1-4649-9d08-3eef088ff99a", - "version": "2021-05-10T23:24:58.249000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 402700834, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ecd4f4b2-82bf-4104-b0e1-c8d3786aea72", - "crc32c": "b9b4721d", - "sha1": "5b8ccbea7bd2344db4001e54c25be4f5becf1d45", - "sha256": "4f40af704cf259007bd57e274139f0fcc86d000d92eedde41b3c49703476e714", - "s3_etag": "7d918181f2d4b88058e16e0daef31837-7" - }, - "sequence_file/5e25031d-3456-4209-9818-c8882b2623e1": { - "name": "Young2_S41_L002_R1_001.fastq.gz", - "uuid": "f3e5a38a-c62b-4100-9fcc-18ffbe346be5", - "version": "2021-05-10T23:24:55.689000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1018564841, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ad3acfa0-4a1d-4c02-b2c1-5ee429645224", - "crc32c": "ef664b9a", - "sha1": "fa567735c9fbaceedfbeb0bf672ad8000a8715b7", - "sha256": "5d0842661549412c3baf9f359abaf8f72408870d1ba3e4887a486a73634e6616", - "s3_etag": "6b690deac0528abd537ac5ceef453366-16" - }, - "sequence_file/7c912919-4b2c-4f4d-bdfe-1988d20aeeed": { - "name": "Fetal3_S15_L001_I1_001.fastq.gz", - "uuid": "f4b0febc-2a23-436f-916c-2ddb328dddd4", - "version": "2021-05-10T23:24:58.402000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 382550004, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_8dcf5fe6-e725-4e16-90a0-63e1b68986b5", - "crc32c": "98e200c8", - "sha1": "27e33f8f92549c9695d08ba7e2b2a054ae0a823b", - "sha256": "46a7857eb2f4a9a6bd5200ea59bf9438985d45542309ee65de55abb4975fc8aa", - "s3_etag": "787914214494529c4f56ac067637d8ba-6" - }, - "sequence_file/72b34b3d-f005-48af-81dc-3631873960d8": { - "name": "Adult1_S8_L002_I1_001.fastq.gz", - "uuid": "f57edc37-d012-4382-8d4b-0e250cafa81d", - "version": "2021-05-10T23:24:57.019000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 135974354, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_81f3456f-8d08-469c-a544-84ce9794b202", - "crc32c": "137ff8ff", - "sha1": "d717b2b2972e9815a3e75c19f75cf42f56dbbdf5", - "sha256": "c62079cfe23989a2f844f61ae19cc867d24cda8a6834607c40676d204e891a36", - "s3_etag": "69005736b5ba1a6b9d84fee15ab99c07-3" - }, - "sequence_file/99e73efd-4a04-496f-bb32-8f73edb0ae1a": { - "name": "Young2_S41_L003_I1_001.fastq.gz", - "uuid": "f61ff371-7c67-45cc-af18-e94ed874baba", - "version": "2021-05-10T23:24:55.713000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 334553235, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_249a6d00-499d-466a-b6c0-abd5736a19fe", - "crc32c": "632e8e42", - "sha1": "b05b1c7962e6e94d8f87befb49d5283bf0888e06", - "sha256": "a91c9428332d016a8b13a788cbd42ee82f32e9fdb59cc4d7b4e58425a33b1c7a", - "s3_etag": "4727dc277e4e9e0bd45a9b9d010d41b6-5" - }, - "sequence_file/daa6813e-0321-413a-9107-8c814825bf93": { - "name": "Young3_S9_L003_R2_001.fastq.gz", - "uuid": "f6bd08a6-5630-460c-a1bc-e13a3340f7bc", - "version": "2021-05-10T23:24:56.364000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1071899618, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3767311e-94d1-4eb8-801a-6ea5576484eb", - "crc32c": "14cb3c16", - "sha1": "73ce779e6f9bb7c8c6609147983a61eaac449cc9", - "sha256": "c64401fe56bff348c5d32adbafe94bf8f30be76ef549cfeadd883a04615fd670", - "s3_etag": "394fcb53d06b04f6b75d0430374b027e-16" - }, - "sequence_file/c8995918-5491-41bc-ad76-2099c6314fb1": { - "name": "Adult2_S36_L004_R1_001.fastq.gz", - "uuid": "f7e7009f-d6e8-4fc9-92db-921d32531262", - "version": "2021-05-10T23:24:59.705000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 859534837, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1c215bfc-2c0e-4483-b902-3b5ebff4bff4", - "crc32c": "c12d5915", - "sha1": "515a2f099c4b36b3eccb505abb4ddea31c76d7fd", - "sha256": "9fb49f207fc69455ca4a507a501025e9721b7aa4aa1107ab2fb3c219aa2bc173", - "s3_etag": "55a85af190a9eb638e89a766657f82bd-13" - }, - "sequence_file/04066a52-7468-4783-b49c-46e28b076739": { - "name": "Adult2_S36_L002_R2_001.fastq.gz", - "uuid": "f8153a7e-c5fe-43b9-bb7a-90ea3d059772", - "version": "2021-05-10T23:24:59.644000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2021022543, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cbdab167-606f-447e-ac0e-400369e936d2", - "crc32c": "3e5dc167", - "sha1": "86da1503ca6e9ea21839b63392c51e600db48115", - "sha256": "bcb53bac08898359193cf7aa3338d57786816462bf83fced31d13e0163f167b4", - "s3_etag": "e83e744695dacb6cd72d441a1c03756b-31" - }, - "sequence_file/92951c73-28a3-4820-89d6-15a73fa192cf": { - "name": "Fetal2run2_S13_L002_R2_001.fastq.gz", - "uuid": "f90ae5d8-e31a-4f6d-914e-f37d223ea9d1", - "version": "2021-05-10T23:24:57.585000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4556512834, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_db95f75b-81a3-4d87-896d-88e8482e09be", - "crc32c": "3ad177d6", - "sha1": "301607bd3a2bc87c034df52193940521b9b3f3a4", - "sha256": "231b938f92b5e6b86ccf0f6799d471e7e52dd5eee3e60a78abcb8f21b95a261c", - "s3_etag": "a6c30ecf06c44e1beb7e39b05012fa90-68" - }, - "sequence_file/2b889dd9-0bd3-412a-967e-74fa9600bb4d": { - "name": "Adult1_S6_L004_R2_001.fastq.gz", - "uuid": "f9951b26-b6cf-40f1-9a78-37cb8f130b19", - "version": "2021-05-10T23:24:59.287000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2473708229, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_37e366a5-a50e-4e94-af55-bf1713b5f237", - "crc32c": "97845c32", - "sha1": "67074e8b2fe8c7ae58613ad56d2951333042eab8", - "sha256": "aa882d4208c556d057ff1c03830704e0d573e8364f5bbff2e37f4a9417d60107", - "s3_etag": "896ea43d3903b73bf1dc086304ae5416-37" - }, - "sequence_file/3b7b0bcf-b316-4b0e-9d46-f8d44a399774": { - "name": "Fetal3_S13_L002_I1_001.fastq.gz", - "uuid": "fa17dd22-2d46-44dd-bf29-7ba21c575a6c", - "version": "2021-05-10T23:24:58.136000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 440536802, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_eaf5b1e5-8e5b-43f4-b0f7-2fc426a329dc", - "crc32c": "60a8d420", - "sha1": "ca0580ec5ff407d20d3386d96e73c001dcc11dfc", - "sha256": "000d3f4b5239981127ea8f0e56178fd6623cbe42116c2889bd2e01d6ca750e7c", - "s3_etag": "fb61593bc6ced0f44ccb316a7d531b17-7" - }, - "sequence_file/43f476f9-cbfc-431a-a774-5885904b434c": { - "name": "Fetal1_S47_L003_R2_001.fastq.gz", - "uuid": "fb59546f-ca17-40ae-b0b8-ca16c1b94de9", - "version": "2021-05-10T23:25:06.889000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1815469143, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e1a7bd00-7d9b-41d1-b416-f775ec12c509", - "crc32c": "e3699533", - "sha1": "c9da10df1e7a67d46571250996246368cb7a9f9e", - "sha256": "def662d3aec2c90fab01907c0074c2bb2e214bdfd59981ef67371804a0214dcc", - "s3_etag": "7071366df987c4f6b239137a439acbe6-28" - }, - "sequence_file/d5aab272-e387-4bae-aeb0-987928e0c001": { - "name": "Fetal3_S13_L002_R1_001.fastq.gz", - "uuid": "fb71e3ae-31d9-4ce1-8d14-25955525b515", - "version": "2021-05-10T23:24:58.148000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1554668024, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9fe97a6c-6970-4ea2-9a19-d99f0c4baac4", - "crc32c": "06c6aef8", - "sha1": "81a2f083a040ae26856c519d7db337bb18ee0603", - "sha256": "c0bfe8c95019fe59b35950d07518932e5e5f94af2552e85c07c1757fc2318ba1", - "s3_etag": "2a5ca77f9c0a68cf5db63140e5b88644-24" - }, - "sequence_file/17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8": { - "name": "Fetal3_S13_L004_R1_001.fastq.gz", - "uuid": "fd5331f0-025b-4370-94bf-a2a2d1812704", - "version": "2021-05-10T23:24:58.222000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1499514037, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2f01e160-d44a-419d-8662-d94beae47b48", - "crc32c": "e1b2a1e1", - "sha1": "590b2c812aa7a5d8a415304ef650dfe9cfcfe9d8", - "sha256": "e4a449ab8860bf883eea710ae038b59efa05eb5a8a03c2adfb5657c385e26647", - "s3_etag": "bfae7170cbc46297c75622988a1c9d47-23" - }, - "sequence_file/f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16": { - "name": "Young2_S42_L004_R2_001.fastq.gz", - "uuid": "fd563e44-5e1a-4dfc-bfbd-42ef32c62d69", - "version": "2021-05-10T23:24:55.955000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2507327684, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_996e7e2d-90dd-4b1c-bbcf-1ba0a5b39518", - "crc32c": "66b9569d", - "sha1": "a0708e9b31e8bb157d7eb472cd8d748fc3cd7d1f", - "sha256": "07ef1fb2f9df06edd0b2aa20a2b156f9aeb8bd210b3fba58e667f634c15abcac", - "s3_etag": "a2bca3b69da0592c3623d51d4a0400e2-38" - }, - "sequence_file/868dfde7-2df8-487f-b754-68db8a96ad3a": { - "name": "Young3_S9_L003_R1_001.fastq.gz", - "uuid": "fe2c65ca-06af-4760-9df8-086a81611a31", - "version": "2021-05-10T23:24:56.352000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 481441498, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_8745fa2b-5841-419f-8db5-4a81c6195871", - "crc32c": "5ea56fe3", - "sha1": "3fc263d7f3a687d918955e3083b41c94ff0f1694", - "sha256": "ffeb363b224283997bcfcd7cda154c83431a5ed4774aa1f1d4da6763e8b86168", - "s3_etag": "4ca19c1579242c5a8be5036e2159ced5-8" - }, - "sequence_file/7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4": { - "name": "Adult3run2_S8_L002_R1_001.fastq.gz", - "uuid": "fecea080-2c71-42f2-a2cd-3dbd89e04c80", - "version": "2021-05-10T23:25:03.741000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 1826231331, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e71dd85f-91b9-434a-b7da-e3bf3bd45b1e", - "crc32c": "6d17e56c", - "sha1": "66912f5ae68ab40da07e246f77c37f40581bc0cf", - "sha256": "0500e7808750a42701e80d3a3e4586b2255893a72efaae1482323af738b97915", - "s3_etag": "3f6b5e52140c95a1043ef7bc0de81d39-28" - }, - "sequence_file/bff57385-2f4f-4695-a153-412c9aabab59": { - "name": "Young2_S44_L001_R2_001.fastq.gz", - "uuid": "ffb352c5-f9e2-497c-940c-7cb5dd0eaa5e", - "version": "2021-05-10T23:24:55.554000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 2656158282, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c575780d-6457-4f09-b208-68eb382f72b1", - "crc32c": "7650b91b", - "sha1": "fe39e52b84175ab4acb10269f350fc4b968ffc3f", - "sha256": "44ff00362fb6473e08d57c17cbd74a894a694ab10cef45cb36300cc481ae20bd", - "s3_etag": "2c00a99240b3e95beabeae164f463980-40" - } - }, - "metadata": { - "sequence_file/012af05a-4771-45e5-bb92-9b63fcbde822": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S10_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 10, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503599" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "012af05a-4771-45e5-bb92-9b63fcbde822", - "submission_date": "2021-05-10T23:24:56.488Z", - "update_date": "2021-05-14T05:02:26.516Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/0256729b-47ee-4ed3-adc7-2c0813bb99b9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run1_S8_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503681" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "0256729b-47ee-4ed3-adc7-2c0813bb99b9", - "submission_date": "2021-05-10T23:25:00.590Z", - "update_date": "2021-05-14T04:56:40.468Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/02cfb8bb-4eb6-4343-9381-007968f1feee": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S16_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 5, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503632" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "02cfb8bb-4eb6-4343-9381-007968f1feee", - "submission_date": "2021-05-10T23:24:58.005Z", - "update_date": "2021-05-14T05:01:53.073Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/035a00e0-02ca-46e8-bb76-9b2449ee922f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S5_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503654" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "035a00e0-02ca-46e8-bb76-9b2449ee922f", - "submission_date": "2021-05-10T23:24:58.932Z", - "update_date": "2021-05-14T04:53:19.525Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/04066a52-7468-4783-b49c-46e28b076739": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S36_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 6, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503667" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "04066a52-7468-4783-b49c-46e28b076739", - "submission_date": "2021-05-10T23:24:59.644Z", - "update_date": "2021-05-14T04:56:23.775Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/0506c2a0-ef2b-4850-8567-20d08046bdaa": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S7_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503607" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "0506c2a0-ef2b-4850-8567-20d08046bdaa", - "submission_date": "2021-05-10T23:24:56.774Z", - "update_date": "2021-05-14T04:54:58.994Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/061936ce-8fbb-4576-8c0c-ed871767917f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S47_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503687" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "061936ce-8fbb-4576-8c0c-ed871767917f", - "submission_date": "2021-05-10T23:25:05.832Z", - "update_date": "2021-05-14T04:56:50.741Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/067d2b7b-127b-421f-91db-0acc05ad62ad": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S15_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503629" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "067d2b7b-127b-421f-91db-0acc05ad62ad", - "submission_date": "2021-05-10T23:24:57.823Z", - "update_date": "2021-05-14T04:57:32.230Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/0697146c-0105-4d6f-baff-d9147593eadb": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run1_S7_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503680" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "0697146c-0105-4d6f-baff-d9147593eadb", - "submission_date": "2021-05-10T23:25:00.232Z", - "update_date": "2021-05-14T04:56:10.086Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/09610000-dc5c-4665-a72e-b0dad51edf6d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run2_S13_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 5, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503624" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "09610000-dc5c-4665-a72e-b0dad51edf6d", - "submission_date": "2021-05-10T23:24:57.569Z", - "update_date": "2021-05-14T04:59:35.690Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/09a53782-90ea-4911-a793-706e74127adb": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S34_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 15, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503676" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "09a53782-90ea-4911-a793-706e74127adb", - "submission_date": "2021-05-10T23:24:59.957Z", - "update_date": "2021-05-14T04:55:22.336Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/09b831a2-5b60-4753-864e-8af803024437": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S45_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 9, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503614" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "09b831a2-5b60-4753-864e-8af803024437", - "submission_date": "2021-05-10T23:24:57.193Z", - "update_date": "2021-05-14T04:57:15.167Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/09c0456a-ec0b-47e3-870d-4b47221a45a6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S13_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503628" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "09c0456a-ec0b-47e3-870d-4b47221a45a6", - "submission_date": "2021-05-10T23:24:57.806Z", - "update_date": "2021-05-14T05:00:14.319Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/0c577531-9218-444b-8094-85d8c6f5c73e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S34_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 12, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503673" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "0c577531-9218-444b-8094-85d8c6f5c73e", - "submission_date": "2021-05-10T23:24:59.857Z", - "update_date": "2021-05-14T04:55:22.557Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S33_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 11, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503672" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc", - "submission_date": "2021-05-10T23:24:59.819Z", - "update_date": "2021-05-14T04:55:12.559Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/0fa69e92-febb-4bab-857c-4b67a2b17ff6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S34_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 14, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503675" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "0fa69e92-febb-4bab-857c-4b67a2b17ff6", - "submission_date": "2021-05-10T23:24:59.945Z", - "update_date": "2021-05-14T04:56:57.999Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/102b8410-1c0e-46f5-90fe-609ab117221c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S48_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 8, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503693" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "102b8410-1c0e-46f5-90fe-609ab117221c", - "submission_date": "2021-05-10T23:25:10.607Z", - "update_date": "2021-05-14T04:56:20.681Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/10b3b42b-3612-48fb-849b-bfc036c248a6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S48_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 6, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503691" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "10b3b42b-3612-48fb-849b-bfc036c248a6", - "submission_date": "2021-05-10T23:25:09.259Z", - "update_date": "2021-05-14T04:57:12.752Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/110bb0f5-9d1a-4573-b711-6bee156d0eb8": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S10_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 10, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503599" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "110bb0f5-9d1a-4573-b711-6bee156d0eb8", - "submission_date": "2021-05-10T23:24:56.476Z", - "update_date": "2021-05-14T05:01:41.422Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/11d171f7-7775-40a4-90a4-df995775b1c4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run1_S15_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503622" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "11d171f7-7775-40a4-90a4-df995775b1c4", - "submission_date": "2021-05-10T23:24:57.480Z", - "update_date": "2021-05-14T04:57:21.841Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/12826f14-2ef8-4069-a797-42d2f4c0937b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S5_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 5, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503656" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "12826f14-2ef8-4069-a797-42d2f4c0937b", - "submission_date": "2021-05-10T23:24:59.079Z", - "update_date": "2021-05-14T04:56:00.351Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/130831cc-87b6-47fd-93a8-ae1890d365f2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S9_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 6, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503595" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "130831cc-87b6-47fd-93a8-ae1890d365f2", - "submission_date": "2021-05-10T23:24:56.269Z", - "update_date": "2021-05-14T05:01:51.045Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/14795e28-bcee-4da3-83cf-bb2592b6c0d0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run2_S9_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 8, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503651" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "14795e28-bcee-4da3-83cf-bb2592b6c0d0", - "submission_date": "2021-05-10T23:24:58.842Z", - "update_date": "2021-05-14T05:05:47.045Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/154dffeb-efd7-4081-a73c-bf1b73ca9a90": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S35_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 16, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503677" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "154dffeb-efd7-4081-a73c-bf1b73ca9a90", - "submission_date": "2021-05-10T23:25:00.021Z", - "update_date": "2021-05-14T04:54:13.700Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S13_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 11, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503638" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8", - "submission_date": "2021-05-10T23:24:58.222Z", - "update_date": "2021-05-14T04:59:48.672Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/18d81f7f-94c8-4877-939a-b74ba802835a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S34_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 14, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503675" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "18d81f7f-94c8-4877-939a-b74ba802835a", - "submission_date": "2021-05-10T23:24:59.933Z", - "update_date": "2021-05-14T04:55:43.913Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/19eb5d2e-2224-4bb4-9f94-526a4c06f7a2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S15_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503630" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "19eb5d2e-2224-4bb4-9f94-526a4c06f7a2", - "submission_date": "2021-05-10T23:24:57.898Z", - "update_date": "2021-05-14T04:58:38.648Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/1a589473-0047-4bca-afce-57c8448f0dc6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S5_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503654" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "1a589473-0047-4bca-afce-57c8448f0dc6", - "submission_date": "2021-05-10T23:24:58.950Z", - "update_date": "2021-05-14T04:55:02.198Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/1adbb95f-f5c3-41ce-8e16-7657d189de79": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run1_S9_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503647" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "1adbb95f-f5c3-41ce-8e16-7657d189de79", - "submission_date": "2021-05-10T23:24:58.665Z", - "update_date": "2021-05-14T05:00:27.249Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/1badbbc9-6b43-41f6-acad-36f09cff3d21": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S42_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 15, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503588" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "1badbbc9-6b43-41f6-acad-36f09cff3d21", - "submission_date": "2021-05-10T23:24:55.942Z", - "update_date": "2021-05-14T05:01:05.384Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S13_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503628" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288", - "submission_date": "2021-05-10T23:24:57.784Z", - "update_date": "2021-05-14T04:58:15.257Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/1c95a589-205c-4d7c-9c56-c3de4f7dbb66": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S12_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 16, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503605" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "1c95a589-205c-4d7c-9c56-c3de4f7dbb66", - "submission_date": "2021-05-10T23:24:56.687Z", - "update_date": "2021-05-14T05:02:38.010Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/1d77e73b-9bd3-499f-a0d0-86d9f7306a7e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S16_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 6, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503633" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "1d77e73b-9bd3-499f-a0d0-86d9f7306a7e", - "submission_date": "2021-05-10T23:24:58.051Z", - "update_date": "2021-05-14T05:00:19.231Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/1f134dea-8f9b-4e90-a1af-80508f43f73c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S35_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503665" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "1f134dea-8f9b-4e90-a1af-80508f43f73c", - "submission_date": "2021-05-10T23:24:59.569Z", - "update_date": "2021-05-14T04:55:53.296Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S45_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 9, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503614" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1", - "submission_date": "2021-05-10T23:24:57.181Z", - "update_date": "2021-05-14T04:56:21.662Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S6_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 6, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503657" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec", - "submission_date": "2021-05-10T23:24:59.107Z", - "update_date": "2021-05-14T04:55:19.262Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/21bd79df-cc64-4381-a5c7-0e81e001ea1a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S6_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 8, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503659" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "21bd79df-cc64-4381-a5c7-0e81e001ea1a", - "submission_date": "2021-05-10T23:24:59.234Z", - "update_date": "2021-05-14T04:57:13.102Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/22343575-1465-455f-8360-4e716aab17fb": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run2_S8_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503685" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "22343575-1465-455f-8360-4e716aab17fb", - "submission_date": "2021-05-10T23:25:03.225Z", - "update_date": "2021-05-14T04:57:17.247Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/22833c60-dc70-4299-86ac-00747b91b3cb": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S46_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 13, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503618" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "22833c60-dc70-4299-86ac-00747b91b3cb", - "submission_date": "2021-05-10T23:24:57.354Z", - "update_date": "2021-05-14T04:57:22.962Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S46_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 10, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503615" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22", - "submission_date": "2021-05-10T23:24:57.230Z", - "update_date": "2021-05-14T04:56:54.856Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/23203fb2-d46d-4d14-95e5-4ec38191e420": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S42_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 13, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503586" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "23203fb2-d46d-4d14-95e5-4ec38191e420", - "submission_date": "2021-05-10T23:24:55.822Z", - "update_date": "2021-05-14T04:59:43.372Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/24bbde6e-cdf7-4f1c-a447-6501ce377aa4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S47_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 14, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503619" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "24bbde6e-cdf7-4f1c-a447-6501ce377aa4", - "submission_date": "2021-05-10T23:24:57.366Z", - "update_date": "2021-05-14T04:55:18.274Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/28023147-3cad-4c1d-b494-b693c4f0a6bd": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S10_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 9, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503598" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "28023147-3cad-4c1d-b494-b693c4f0a6bd", - "submission_date": "2021-05-10T23:24:56.415Z", - "update_date": "2021-05-14T05:00:58.128Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/2862a721-a50b-4e47-86c5-35547bc44e53": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S8_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503653" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "2862a721-a50b-4e47-86c5-35547bc44e53", - "submission_date": "2021-05-10T23:24:58.907Z", - "update_date": "2021-05-14T04:55:19.127Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/28c505c1-e1c4-4e73-b935-9616224da552": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S34_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 12, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503673" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "28c505c1-e1c4-4e73-b935-9616224da552", - "submission_date": "2021-05-10T23:24:59.870Z", - "update_date": "2021-05-14T04:56:31.161Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/28e8f3eb-fedc-4942-8d6b-836fbb7e3441": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run2_S15_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 7, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503626" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "28e8f3eb-fedc-4942-8d6b-836fbb7e3441", - "submission_date": "2021-05-10T23:24:57.686Z", - "update_date": "2021-05-14T05:00:50.255Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/290232bb-afb1-45b2-8e04-be180948541a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S46_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 10, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503615" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "290232bb-afb1-45b2-8e04-be180948541a", - "submission_date": "2021-05-10T23:24:57.205Z", - "update_date": "2021-05-14T04:55:53.951Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/296db6ee-3e65-48ee-b232-626653165222": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S36_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 5, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503666" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "296db6ee-3e65-48ee-b232-626653165222", - "submission_date": "2021-05-10T23:24:59.606Z", - "update_date": "2021-05-14T04:56:20.681Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/29ee234c-5d39-4eb9-8f73-22121936b3db": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S13_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 10, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503637" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "29ee234c-5d39-4eb9-8f73-22121936b3db", - "submission_date": "2021-05-10T23:24:58.185Z", - "update_date": "2021-05-14T04:59:14.438Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/2a77f1db-b5d4-4657-a522-9786aaa7df80": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S8_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503653" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "2a77f1db-b5d4-4657-a522-9786aaa7df80", - "submission_date": "2021-05-10T23:24:58.920Z", - "update_date": "2021-05-14T04:55:37.840Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/2a7c1cb6-5d82-4b65-854d-6451c18c62fc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S36_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 5, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503666" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "2a7c1cb6-5d82-4b65-854d-6451c18c62fc", - "submission_date": "2021-05-10T23:24:59.594Z", - "update_date": "2021-05-14T04:55:08.085Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/2aba7a6a-6d70-4310-9e64-071c6adbe16b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S33_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 11, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503672" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "2aba7a6a-6d70-4310-9e64-071c6adbe16b", - "submission_date": "2021-05-10T23:24:59.833Z", - "update_date": "2021-05-14T04:56:03.266Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/2b62614e-dc4d-46ea-bf29-727d5c33effa": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run1_S16_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503623" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "2b62614e-dc4d-46ea-bf29-727d5c33effa", - "submission_date": "2021-05-10T23:24:57.543Z", - "update_date": "2021-05-14T05:01:11.069Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/2b889dd9-0bd3-412a-967e-74fa9600bb4d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S6_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 9, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503660" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "2b889dd9-0bd3-412a-967e-74fa9600bb4d", - "submission_date": "2021-05-10T23:24:59.287Z", - "update_date": "2021-05-14T04:57:18.003Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/2c4d6e65-8271-4542-97ee-7ba8a6b628d9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S45_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503686" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "2c4d6e65-8271-4542-97ee-7ba8a6b628d9", - "submission_date": "2021-05-10T23:25:04.821Z", - "update_date": "2021-05-14T04:55:51.619Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/2d0246fd-696f-4a54-abe6-d759cc6d27b3": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S43_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503577" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "2d0246fd-696f-4a54-abe6-d759cc6d27b3", - "submission_date": "2021-05-10T23:24:55.511Z", - "update_date": "2021-05-14T05:00:55.595Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/2f033594-a8bd-49c4-b1b7-69ce88fe26d4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S45_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 7, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503612" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "2f033594-a8bd-49c4-b1b7-69ce88fe26d4", - "submission_date": "2021-05-10T23:24:57.095Z", - "update_date": "2021-05-14T04:56:23.619Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/2f74ffc0-b776-4b4a-90c6-327edb41c7ac": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S43_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503577" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "2f74ffc0-b776-4b4a-90c6-327edb41c7ac", - "submission_date": "2021-05-10T23:24:55.486Z", - "update_date": "2021-05-14T04:59:16.735Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/2ff6533e-8fe3-44c3-b378-99d4acdc0ab8": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S16_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 8, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503635" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "2ff6533e-8fe3-44c3-b378-99d4acdc0ab8", - "submission_date": "2021-05-10T23:24:58.124Z", - "update_date": "2021-05-14T05:01:13.833Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/3001b82f-bbea-4072-9760-a14a4f00b7d3": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run1_S16_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503623" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "3001b82f-bbea-4072-9760-a14a4f00b7d3", - "submission_date": "2021-05-10T23:24:57.531Z", - "update_date": "2021-05-14T04:58:48.203Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/30f53c61-a8e3-42cf-a6d2-1b172659c189": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S41_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 9, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503582" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "30f53c61-a8e3-42cf-a6d2-1b172659c189", - "submission_date": "2021-05-10T23:24:55.676Z", - "update_date": "2021-05-14T05:01:26.436Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/319d5a99-4bde-4b20-956a-03a0175478ee": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S35_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503663" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "319d5a99-4bde-4b20-956a-03a0175478ee", - "submission_date": "2021-05-10T23:24:59.440Z", - "update_date": "2021-05-14T04:52:26.597Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/344c1e18-810e-4800-bbed-0246cbbafa60": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S13_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 10, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503637" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "344c1e18-810e-4800-bbed-0246cbbafa60", - "submission_date": "2021-05-10T23:24:58.197Z", - "update_date": "2021-05-14T05:01:15.299Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/347f630f-a9a0-4430-958f-6c929335031a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S45_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 8, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503613" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "347f630f-a9a0-4430-958f-6c929335031a", - "submission_date": "2021-05-10T23:24:57.156Z", - "update_date": "2021-05-14T04:57:19.307Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/38601526-8448-4253-807b-70878c374901": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S5_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503606" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "38601526-8448-4253-807b-70878c374901", - "submission_date": "2021-05-10T23:24:56.737Z", - "update_date": "2021-05-14T04:52:46.610Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/38e1a4f4-f9ec-44cf-b6bb-1a9566456d38": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S35_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 16, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503677" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "38e1a4f4-f9ec-44cf-b6bb-1a9566456d38", - "submission_date": "2021-05-10T23:25:00.009Z", - "update_date": "2021-05-14T04:53:32.206Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/3b7b0bcf-b316-4b0e-9d46-f8d44a399774": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S13_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 9, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503636" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "3b7b0bcf-b316-4b0e-9d46-f8d44a399774", - "submission_date": "2021-05-10T23:24:58.136Z", - "update_date": "2021-05-14T04:57:48.267Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/3c007e61-0e8a-4337-946c-1082441084c7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S10_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 9, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503598" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "3c007e61-0e8a-4337-946c-1082441084c7", - "submission_date": "2021-05-10T23:24:56.428Z", - "update_date": "2021-05-14T05:01:25.600Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/3c9533cf-c7b5-4bbf-9461-87da5aa1b556": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S5_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 5, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503656" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "3c9533cf-c7b5-4bbf-9461-87da5aa1b556", - "submission_date": "2021-05-10T23:24:59.064Z", - "update_date": "2021-05-14T04:55:07.095Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/3cad3e7e-9e9b-4e4e-a535-509853f9306b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S41_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503574" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "3cad3e7e-9e9b-4e4e-a535-509853f9306b", - "submission_date": "2021-05-10T23:24:55.377Z", - "update_date": "2021-05-14T05:01:05.195Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/3cf0f46b-1618-49e6-8cdc-d97a9d2403da": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S45_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503612" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "3cf0f46b-1618-49e6-8cdc-d97a9d2403da", - "submission_date": "2021-05-10T23:24:57.078Z", - "update_date": "2021-05-14T04:55:26.050Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/3d8bc409-2043-486a-9a0b-12c71a741d83": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S5_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503655" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "3d8bc409-2043-486a-9a0b-12c71a741d83", - "submission_date": "2021-05-10T23:24:58.989Z", - "update_date": "2021-05-14T04:53:47.382Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/3dce5e53-a137-4086-96d3-26dd3d000cf6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S15_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503630" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "3dce5e53-a137-4086-96d3-26dd3d000cf6", - "submission_date": "2021-05-10T23:24:57.883Z", - "update_date": "2021-05-14T04:57:50.741Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/3f2ae9d6-763e-4408-bc80-6067ccc756e0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run2_S12_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 7, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503650" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "3f2ae9d6-763e-4408-bc80-6067ccc756e0", - "submission_date": "2021-05-10T23:24:58.793Z", - "update_date": "2021-05-14T05:01:18.480Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/3fcc4232-b40f-4cca-bd1d-d12a03e4fed0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run2_S15_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503626" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "3fcc4232-b40f-4cca-bd1d-d12a03e4fed0", - "submission_date": "2021-05-10T23:24:57.637Z", - "update_date": "2021-05-14T04:57:24.985Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/40f24220-4c6d-43c4-ab82-1db21d683b07": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run2_S16_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503627" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "40f24220-4c6d-43c4-ab82-1db21d683b07", - "submission_date": "2021-05-10T23:24:57.702Z", - "update_date": "2021-05-14T04:57:20.411Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/4198865c-d4ef-4a01-94c0-8a8397914dbc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S14_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 13, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503640" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "4198865c-d4ef-4a01-94c0-8a8397914dbc", - "submission_date": "2021-05-10T23:24:58.313Z", - "update_date": "2021-05-14T04:58:45.969Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/42bbb160-b881-4036-a712-1ab9b5d5ce87": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S9_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 6, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503595" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "42bbb160-b881-4036-a712-1ab9b5d5ce87", - "submission_date": "2021-05-10T23:24:56.295Z", - "update_date": "2021-05-14T05:02:07.306Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/43f476f9-cbfc-431a-a774-5885904b434c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S47_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503688" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "43f476f9-cbfc-431a-a774-5885904b434c", - "submission_date": "2021-05-10T23:25:06.889Z", - "update_date": "2021-05-14T04:56:50.477Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/449ec63a-dca8-4a61-98b5-e6789d4946a1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S48_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 8, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503693" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "449ec63a-dca8-4a61-98b5-e6789d4946a1", - "submission_date": "2021-05-10T23:25:11.107Z", - "update_date": "2021-05-14T04:57:41.681Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S16_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 7, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503634" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7", - "submission_date": "2021-05-10T23:24:58.087Z", - "update_date": "2021-05-14T05:00:37.807Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/45d0b683-d7dc-4e1a-a235-dad58ef03d77": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S5_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503606" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "45d0b683-d7dc-4e1a-a235-dad58ef03d77", - "submission_date": "2021-05-10T23:24:56.750Z", - "update_date": "2021-05-14T04:54:49.919Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/47950b5e-3d6f-4b75-9518-feb8b9e9a78b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S11_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 15, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503604" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "47950b5e-3d6f-4b75-9518-feb8b9e9a78b", - "submission_date": "2021-05-10T23:24:56.674Z", - "update_date": "2021-05-14T05:03:32.669Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/47c12e95-67b2-42e1-866b-eb7c5f16a3c6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S14_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 13, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503640" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "47c12e95-67b2-42e1-866b-eb7c5f16a3c6", - "submission_date": "2021-05-10T23:24:58.285Z", - "update_date": "2021-05-14T04:59:30.596Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/4abcf42c-5291-47f3-b7a8-bb1071f56c54": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S12_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503591" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "4abcf42c-5291-47f3-b7a8-bb1071f56c54", - "submission_date": "2021-05-10T23:24:56.055Z", - "update_date": "2021-05-14T05:03:19.865Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/4ca067fb-8ba1-4959-9c1a-878d5705dd67": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S46_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 12, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503617" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "4ca067fb-8ba1-4959-9c1a-878d5705dd67", - "submission_date": "2021-05-10T23:24:57.300Z", - "update_date": "2021-05-14T04:56:40.838Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/4d0f1255-5e1b-4852-8030-a7a8f7580f1a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S44_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 6, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503579" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "4d0f1255-5e1b-4852-8030-a7a8f7580f1a", - "submission_date": "2021-05-10T23:24:55.580Z", - "update_date": "2021-05-14T05:00:55.191Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/4df715c5-a783-41e6-a99e-eedf93a37fb3": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S11_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 12, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503601" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "4df715c5-a783-41e6-a99e-eedf93a37fb3", - "submission_date": "2021-05-10T23:24:56.563Z", - "update_date": "2021-05-14T05:02:41.969Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/4e066f08-f8b7-4550-adc2-287392fa7731": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S12_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503592" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "4e066f08-f8b7-4550-adc2-287392fa7731", - "submission_date": "2021-05-10T23:24:56.106Z", - "update_date": "2021-05-14T05:04:26.703Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S35_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503664" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed", - "submission_date": "2021-05-10T23:24:59.525Z", - "update_date": "2021-05-14T04:55:33.128Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/50fd1926-5615-4e29-be75-e8528d1da8df": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run2_S11_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 6, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503649" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "50fd1926-5615-4e29-be75-e8528d1da8df", - "submission_date": "2021-05-10T23:24:58.743Z", - "update_date": "2021-05-14T04:59:44.820Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/511eaba4-a8f4-4230-b3ad-407332e22b48": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S6_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 7, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503658" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "511eaba4-a8f4-4230-b3ad-407332e22b48", - "submission_date": "2021-05-10T23:24:59.148Z", - "update_date": "2021-05-14T04:55:29.935Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/51aef727-d8de-497f-abbe-e650b1baeeab": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S15_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 16, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503643" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "51aef727-d8de-497f-abbe-e650b1baeeab", - "submission_date": "2021-05-10T23:24:58.453Z", - "update_date": "2021-05-14T04:59:40.125Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/523c6c55-66da-4edc-b66a-a33fe20d4102": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run2_S14_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 6, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503625" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "523c6c55-66da-4edc-b66a-a33fe20d4102", - "submission_date": "2021-05-10T23:24:57.609Z", - "update_date": "2021-05-14T04:56:50.975Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/5275a9fa-7a21-4ef2-9819-5358b2821300": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S33_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 10, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503671" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "5275a9fa-7a21-4ef2-9819-5358b2821300", - "submission_date": "2021-05-10T23:24:59.781Z", - "update_date": "2021-05-14T04:54:44.938Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/53c40015-48a9-4a3f-a513-d617d28a2352": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S8_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503653" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "53c40015-48a9-4a3f-a513-d617d28a2352", - "submission_date": "2021-05-10T23:24:58.895Z", - "update_date": "2021-05-14T04:54:36.838Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/54140f9b-2929-44b6-9fb0-de4c2b22090b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S34_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 12, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503673" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "54140f9b-2929-44b6-9fb0-de4c2b22090b", - "submission_date": "2021-05-10T23:24:59.845Z", - "update_date": "2021-05-14T04:54:49.471Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/541fc29f-a7a3-456e-b28e-80f9036a4e33": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S46_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 13, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503618" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "541fc29f-a7a3-456e-b28e-80f9036a4e33", - "submission_date": "2021-05-10T23:24:57.328Z", - "update_date": "2021-05-14T04:56:22.527Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/554c1554-ed18-4926-b8d7-5b6af2edab5b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S5_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503655" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "554c1554-ed18-4926-b8d7-5b6af2edab5b", - "submission_date": "2021-05-10T23:24:59.005Z", - "update_date": "2021-05-14T04:54:48.865Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run1_S13_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503620" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0", - "submission_date": "2021-05-10T23:24:57.429Z", - "update_date": "2021-05-14T04:59:35.888Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/5621674e-0290-487d-8c0c-49b617d1628c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S9_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503596" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "5621674e-0290-487d-8c0c-49b617d1628c", - "submission_date": "2021-05-10T23:24:56.339Z", - "update_date": "2021-05-14T05:01:56.764Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/565dbd59-2571-4af5-b160-c6d5cd3c684f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S10_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 11, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503600" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "565dbd59-2571-4af5-b160-c6d5cd3c684f", - "submission_date": "2021-05-10T23:24:56.500Z", - "update_date": "2021-05-14T05:00:53.146Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/56d5b505-6591-47c4-b469-006e27e6e343": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S14_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 15, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503642" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "56d5b505-6591-47c4-b469-006e27e6e343", - "submission_date": "2021-05-10T23:24:58.377Z", - "update_date": "2021-05-14T04:57:42.566Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/577e4275-b373-40ac-ac3f-8487d6aafe16": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S10_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 9, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503598" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "577e4275-b373-40ac-ac3f-8487d6aafe16", - "submission_date": "2021-05-10T23:24:56.447Z", - "update_date": "2021-05-14T05:02:06.167Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/58b683d3-03cf-42e9-9cff-4143dff729ca": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S33_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 9, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503670" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "58b683d3-03cf-42e9-9cff-4143dff729ca", - "submission_date": "2021-05-10T23:24:59.756Z", - "update_date": "2021-05-14T04:55:44.513Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/59a4c958-41b6-4680-8021-86ed6be8f55d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S35_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503665" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "59a4c958-41b6-4680-8021-86ed6be8f55d", - "submission_date": "2021-05-10T23:24:59.544Z", - "update_date": "2021-05-14T04:54:37.637Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/5a172f54-33a5-4e0d-bc0d-1760bad3beb6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run2_S6_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 6, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503683" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "5a172f54-33a5-4e0d-bc0d-1760bad3beb6", - "submission_date": "2021-05-10T23:25:01.593Z", - "update_date": "2021-05-14T04:56:18.927Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/5b80431f-c95a-41ef-8aa7-98816f00e4d6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S34_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 15, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503676" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "5b80431f-c95a-41ef-8aa7-98816f00e4d6", - "submission_date": "2021-05-10T23:24:59.984Z", - "update_date": "2021-05-14T04:56:59.533Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/5b977962-16d1-4631-9225-6be262e9ccae": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S8_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503652" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "5b977962-16d1-4631-9225-6be262e9ccae", - "submission_date": "2021-05-10T23:24:58.857Z", - "update_date": "2021-05-14T04:54:38.471Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/5be8906f-0831-422d-896e-b099d5a23e13": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S6_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503658" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "5be8906f-0831-422d-896e-b099d5a23e13", - "submission_date": "2021-05-10T23:24:59.133Z", - "update_date": "2021-05-14T04:54:54.383Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/5d00e91c-8691-41ff-836c-b827f23a1a7d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run2_S10_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 5, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503648" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "5d00e91c-8691-41ff-836c-b827f23a1a7d", - "submission_date": "2021-05-10T23:24:58.730Z", - "update_date": "2021-05-14T05:02:17.365Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/5e25031d-3456-4209-9818-c8882b2623e1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S41_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 9, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503582" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "5e25031d-3456-4209-9818-c8882b2623e1", - "submission_date": "2021-05-10T23:24:55.689Z", - "update_date": "2021-05-14T05:02:05.926Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/5f3e080f-d2f2-4350-96b0-fb8169bfcdd9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run2_S11_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 6, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503649" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "5f3e080f-d2f2-4350-96b0-fb8169bfcdd9", - "submission_date": "2021-05-10T23:24:58.768Z", - "update_date": "2021-05-14T05:03:04.154Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/5f563e91-d384-4e1e-ac84-20f06332fe8c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S42_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 12, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503585" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "5f563e91-d384-4e1e-ac84-20f06332fe8c", - "submission_date": "2021-05-10T23:24:55.809Z", - "update_date": "2021-05-14T05:01:34.855Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/5f5e80b2-0779-4df0-9a18-35bc0db72fdf": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run2_S7_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503684" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "5f5e80b2-0779-4df0-9a18-35bc0db72fdf", - "submission_date": "2021-05-10T23:25:02.564Z", - "update_date": "2021-05-14T04:56:48.657Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/5f6e0f4b-3541-4197-a67f-01dddc0cf105": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S48_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 5, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503690" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "5f6e0f4b-3541-4197-a67f-01dddc0cf105", - "submission_date": "2021-05-10T23:25:07.677Z", - "update_date": "2021-05-14T04:55:56.692Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/61716326-4fa0-41b9-8ca4-5b020500e8ad": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S45_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503613" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "61716326-4fa0-41b9-8ca4-5b020500e8ad", - "submission_date": "2021-05-10T23:24:57.129Z", - "update_date": "2021-05-14T04:55:58.239Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/621547f4-60bc-41b6-bc21-5c970700a1e4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S41_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 11, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503584" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "621547f4-60bc-41b6-bc21-5c970700a1e4", - "submission_date": "2021-05-10T23:24:55.749Z", - "update_date": "2021-05-14T04:59:02.815Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/64309a91-ba2b-4b0e-baa9-7cfce3c5d445": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S48_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 7, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503692" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "64309a91-ba2b-4b0e-baa9-7cfce3c5d445", - "submission_date": "2021-05-10T23:25:09.538Z", - "update_date": "2021-05-14T04:56:50.579Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/64c93769-83eb-4718-90f0-36d83b1dae4d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S47_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 14, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503619" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "64c93769-83eb-4718-90f0-36d83b1dae4d", - "submission_date": "2021-05-10T23:24:57.391Z", - "update_date": "2021-05-14T04:56:48.890Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/64e1d438-17af-450b-b90c-04072117cbb1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run2_S12_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 7, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503650" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "64e1d438-17af-450b-b90c-04072117cbb1", - "submission_date": "2021-05-10T23:24:58.805Z", - "update_date": "2021-05-14T05:03:28.660Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/64eedb4a-2f73-4b60-a4b1-99b5ffd0486b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S48_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 7, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503692" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "64eedb4a-2f73-4b60-a4b1-99b5ffd0486b", - "submission_date": "2021-05-10T23:25:09.885Z", - "update_date": "2021-05-14T04:57:42.479Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/6593f54e-682c-4eb4-b2ed-e3c3278d4880": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run1_S15_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503622" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "6593f54e-682c-4eb4-b2ed-e3c3278d4880", - "submission_date": "2021-05-10T23:24:57.506Z", - "update_date": "2021-05-14T05:01:01.539Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/65b78fda-7874-455f-9c9a-bf7aca375a0b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S47_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503689" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "65b78fda-7874-455f-9c9a-bf7aca375a0b", - "submission_date": "2021-05-10T23:25:07.058Z", - "update_date": "2021-05-14T04:55:49.576Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/65fae226-b417-43cd-a5c8-cf2336b8cff5": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run1_S7_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503680" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "65fae226-b417-43cd-a5c8-cf2336b8cff5", - "submission_date": "2021-05-10T23:25:00.311Z", - "update_date": "2021-05-14T04:56:50.972Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/668a508d-34fa-4468-86e8-523380a34da8": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S45_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503686" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "668a508d-34fa-4468-86e8-523380a34da8", - "submission_date": "2021-05-10T23:25:05.181Z", - "update_date": "2021-05-14T04:57:18.964Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/69ab8827-b0dc-48ae-84b5-1d27284a7db0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S15_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503631" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "69ab8827-b0dc-48ae-84b5-1d27284a7db0", - "submission_date": "2021-05-10T23:24:57.943Z", - "update_date": "2021-05-14T04:59:00.091Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/6b38794f-2d55-4422-8094-fb4a5e100d32": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S15_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503630" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "6b38794f-2d55-4422-8094-fb4a5e100d32", - "submission_date": "2021-05-10T23:24:57.912Z", - "update_date": "2021-05-14T05:00:35.444Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S48_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 5, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503690" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47", - "submission_date": "2021-05-10T23:25:08.068Z", - "update_date": "2021-05-14T04:57:11.808Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run2_S5_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 5, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503682" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0", - "submission_date": "2021-05-10T23:25:01.160Z", - "update_date": "2021-05-14T04:58:57.669Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/6d9709e5-ce90-46d3-bc95-d5105cafc67a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run2_S14_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 6, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503625" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "6d9709e5-ce90-46d3-bc95-d5105cafc67a", - "submission_date": "2021-05-10T23:24:57.597Z", - "update_date": "2021-05-14T04:58:24.188Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/6e3aed1a-9909-462c-90e1-a1f766cd380e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run2_S10_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 5, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503648" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "6e3aed1a-9909-462c-90e1-a1f766cd380e", - "submission_date": "2021-05-10T23:24:58.699Z", - "update_date": "2021-05-14T04:59:20.140Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/6e650029-386f-4d8e-868e-8780782baa4b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run1_S6_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503679" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "6e650029-386f-4d8e-868e-8780782baa4b", - "submission_date": "2021-05-10T23:25:00.148Z", - "update_date": "2021-05-14T04:55:40.861Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/6ea00f5c-7e63-493b-b6f9-68ba54dbbed3": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S46_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 11, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503616" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "6ea00f5c-7e63-493b-b6f9-68ba54dbbed3", - "submission_date": "2021-05-10T23:24:57.256Z", - "update_date": "2021-05-14T04:56:13.482Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/6ea29b25-492a-4c00-819d-ec8a0909fa28": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S42_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 14, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503587" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "6ea29b25-492a-4c00-819d-ec8a0909fa28", - "submission_date": "2021-05-10T23:24:55.880Z", - "update_date": "2021-05-14T05:00:43.440Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/6f11ead1-11b1-4bda-8a20-588bb85ec126": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S46_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 12, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503617" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "6f11ead1-11b1-4bda-8a20-588bb85ec126", - "submission_date": "2021-05-10T23:24:57.285Z", - "update_date": "2021-05-14T04:55:53.958Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/6fc7505d-33db-4d19-99a1-5756cd9a0a1c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S48_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503692" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "6fc7505d-33db-4d19-99a1-5756cd9a0a1c", - "submission_date": "2021-05-10T23:25:09.319Z", - "update_date": "2021-05-14T04:55:57.084Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/70291c50-770c-4e51-8f1b-60be28ea419f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S35_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 16, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503677" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "70291c50-770c-4e51-8f1b-60be28ea419f", - "submission_date": "2021-05-10T23:24:59.996Z", - "update_date": "2021-05-14T04:52:26.067Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7060b0f4-a756-41f8-bc65-16c7effef1be": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S44_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 8, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503581" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "7060b0f4-a756-41f8-bc65-16c7effef1be", - "submission_date": "2021-05-10T23:24:55.652Z", - "update_date": "2021-05-14T05:01:32.558Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7186ea5d-49a0-4d72-a24e-2a30d48aa8fc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S16_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 5, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503632" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "7186ea5d-49a0-4d72-a24e-2a30d48aa8fc", - "submission_date": "2021-05-10T23:24:57.968Z", - "update_date": "2021-05-14T04:59:19.883Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/71add17d-3b59-4ca2-a032-80819608a34a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S10_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 11, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503600" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "71add17d-3b59-4ca2-a032-80819608a34a", - "submission_date": "2021-05-10T23:24:56.525Z", - "update_date": "2021-05-14T05:01:54.161Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7240ec36-6433-4e5c-ba0f-d2770817f963": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run1_S7_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503680" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "7240ec36-6433-4e5c-ba0f-d2770817f963", - "submission_date": "2021-05-10T23:25:00.501Z", - "update_date": "2021-05-14T04:58:08.329Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/726a68e9-4fa9-425a-90e7-d0fef30c9d4c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run2_S13_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 5, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503624" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "726a68e9-4fa9-425a-90e7-d0fef30c9d4c", - "submission_date": "2021-05-10T23:24:57.556Z", - "update_date": "2021-05-14T04:58:23.682Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/72b34b3d-f005-48af-81dc-3631873960d8": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S8_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 6, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503611" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "72b34b3d-f005-48af-81dc-3631873960d8", - "submission_date": "2021-05-10T23:24:57.019Z", - "update_date": "2021-05-14T04:54:38.890Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/73112827-65e2-4057-98e0-960b4c50afe6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run2_S11_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 6, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503649" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "73112827-65e2-4057-98e0-960b4c50afe6", - "submission_date": "2021-05-10T23:24:58.756Z", - "update_date": "2021-05-14T05:00:49.578Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/74086d10-f049-45c2-8654-de93aac63d94": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S7_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503609" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "74086d10-f049-45c2-8654-de93aac63d94", - "submission_date": "2021-05-10T23:24:56.880Z", - "update_date": "2021-05-14T04:55:37.426Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/75e38979-23f0-4749-bfcc-d8e92db7f2b0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run2_S14_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 6, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503625" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "75e38979-23f0-4749-bfcc-d8e92db7f2b0", - "submission_date": "2021-05-10T23:24:57.624Z", - "update_date": "2021-05-14T04:57:55.353Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/762c2720-f65c-4804-844f-2302bc33ebbc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S47_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503688" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "762c2720-f65c-4804-844f-2302bc33ebbc", - "submission_date": "2021-05-10T23:25:06.108Z", - "update_date": "2021-05-14T04:55:47.662Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/782f79d7-bd59-4cc5-8492-1e680fbb31c1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S41_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 11, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503584" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "782f79d7-bd59-4cc5-8492-1e680fbb31c1", - "submission_date": "2021-05-10T23:24:55.773Z", - "update_date": "2021-05-14T05:00:52.828Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/782fcb99-9b26-485f-9f7d-bda9cc37f0d2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run1_S10_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503644" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "782fcb99-9b26-485f-9f7d-bda9cc37f0d2", - "submission_date": "2021-05-10T23:24:58.495Z", - "update_date": "2021-05-14T05:00:53.461Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/792fd4bd-9b01-42bf-a883-c651789a198a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S48_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 6, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503691" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "792fd4bd-9b01-42bf-a883-c651789a198a", - "submission_date": "2021-05-10T23:25:09.108Z", - "update_date": "2021-05-14T04:56:24.909Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7938acb1-91e3-4d8d-9d24-3b0a9fa28131": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S8_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 6, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503611" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "7938acb1-91e3-4d8d-9d24-3b0a9fa28131", - "submission_date": "2021-05-10T23:24:57.036Z", - "update_date": "2021-05-14T04:54:57.665Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/79426c6b-bd79-4343-b9fa-ee1e9cfc2aef": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run1_S6_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503679" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "79426c6b-bd79-4343-b9fa-ee1e9cfc2aef", - "submission_date": "2021-05-10T23:25:00.217Z", - "update_date": "2021-05-14T04:58:19.618Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/79d181d1-5b70-4306-a229-74a2a3d5278e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S48_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503693" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "79d181d1-5b70-4306-a229-74a2a3d5278e", - "submission_date": "2021-05-10T23:25:10.475Z", - "update_date": "2021-05-14T04:55:57.910Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/79e53d37-c41c-4234-99db-f3333d89bb3a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run1_S11_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503645" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "79e53d37-c41c-4234-99db-f3333d89bb3a", - "submission_date": "2021-05-10T23:24:58.531Z", - "update_date": "2021-05-14T05:00:28.901Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7abc79b5-e32a-4313-b130-12397d29d684": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S12_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503591" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "7abc79b5-e32a-4313-b130-12397d29d684", - "submission_date": "2021-05-10T23:24:56.043Z", - "update_date": "2021-05-14T05:02:47.395Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7b1418ba-7cd7-4844-924c-ca92b0d3147c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S43_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503575" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "7b1418ba-7cd7-4844-924c-ca92b0d3147c", - "submission_date": "2021-05-10T23:24:55.425Z", - "update_date": "2021-05-14T05:01:34.414Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S47_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 14, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503619" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0", - "submission_date": "2021-05-10T23:24:57.379Z", - "update_date": "2021-05-14T04:55:35.491Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7c912919-4b2c-4f4d-bdfe-1988d20aeeed": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S15_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 16, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503643" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "7c912919-4b2c-4f4d-bdfe-1988d20aeeed", - "submission_date": "2021-05-10T23:24:58.402Z", - "update_date": "2021-05-14T04:57:07.723Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run2_S8_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 8, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503685" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4", - "submission_date": "2021-05-10T23:25:03.741Z", - "update_date": "2021-05-14T04:57:58.232Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7d5ca602-df90-402e-9c12-933e1cdde407": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S43_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503576" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "7d5ca602-df90-402e-9c12-933e1cdde407", - "submission_date": "2021-05-10T23:24:55.449Z", - "update_date": "2021-05-14T05:01:11.245Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7e1f0414-5235-4c79-b334-b278d3ebd8ae": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S36_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 7, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503668" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "7e1f0414-5235-4c79-b334-b278d3ebd8ae", - "submission_date": "2021-05-10T23:24:59.669Z", - "update_date": "2021-05-14T04:55:08.613Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7eb17ee4-5704-4ce3-8b41-121ef051ee09": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S8_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503652" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "7eb17ee4-5704-4ce3-8b41-121ef051ee09", - "submission_date": "2021-05-10T23:24:58.869Z", - "update_date": "2021-05-14T04:55:17.891Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7eb2244c-6b4d-4d91-bfc6-44ec12d9319b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run1_S8_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503681" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "7eb2244c-6b4d-4d91-bfc6-44ec12d9319b", - "submission_date": "2021-05-10T23:25:00.610Z", - "update_date": "2021-05-14T04:58:29.693Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7f46ab20-26fa-493e-98c4-24d558f4a0ce": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S35_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503663" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "7f46ab20-26fa-493e-98c4-24d558f4a0ce", - "submission_date": "2021-05-10T23:24:59.472Z", - "update_date": "2021-05-14T04:55:15.735Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run1_S12_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503646" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565", - "submission_date": "2021-05-10T23:24:58.613Z", - "update_date": "2021-05-14T05:01:47.527Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/80347bc1-ffca-4f66-9ebd-812d22ab3d3f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run2_S15_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 7, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503626" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "80347bc1-ffca-4f66-9ebd-812d22ab3d3f", - "submission_date": "2021-05-10T23:24:57.664Z", - "update_date": "2021-05-14T04:58:19.117Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/80e88ed6-4480-4888-b25d-d41e90822142": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S11_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 15, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503604" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "80e88ed6-4480-4888-b25d-d41e90822142", - "submission_date": "2021-05-10T23:24:56.648Z", - "update_date": "2021-05-14T05:02:13.875Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/81898837-23e3-40d9-96e2-04a559d95b2e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S43_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503576" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "81898837-23e3-40d9-96e2-04a559d95b2e", - "submission_date": "2021-05-10T23:24:55.474Z", - "update_date": "2021-05-14T05:03:01.577Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/82899c21-c3c7-4288-bb8f-4c72880c10e4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S36_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 6, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503667" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "82899c21-c3c7-4288-bb8f-4c72880c10e4", - "submission_date": "2021-05-10T23:24:59.631Z", - "update_date": "2021-05-14T04:55:08.137Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/82fc0df9-9828-433e-ac6d-73f4bbceefcf": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S47_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503689" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "82fc0df9-9828-433e-ac6d-73f4bbceefcf", - "submission_date": "2021-05-10T23:25:07.230Z", - "update_date": "2021-05-14T04:56:07.858Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/832ae460-0083-42b0-89a6-cc651e50fad4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S6_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 9, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503660" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "832ae460-0083-42b0-89a6-cc651e50fad4", - "submission_date": "2021-05-10T23:24:59.251Z", - "update_date": "2021-05-14T04:55:23.839Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/83865a27-24a8-4a70-a8bd-650affa7df5c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run1_S5_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503678" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "83865a27-24a8-4a70-a8bd-650affa7df5c", - "submission_date": "2021-05-10T23:25:00.128Z", - "update_date": "2021-05-14T04:57:59.366Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/84cc7ee0-4d8e-45a1-b563-d3e05b4ec573": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S9_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 5, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503594" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "84cc7ee0-4d8e-45a1-b563-d3e05b4ec573", - "submission_date": "2021-05-10T23:24:56.190Z", - "update_date": "2021-05-14T05:02:02.029Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/868dfde7-2df8-487f-b754-68db8a96ad3a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S9_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 7, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503596" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "868dfde7-2df8-487f-b754-68db8a96ad3a", - "submission_date": "2021-05-10T23:24:56.352Z", - "update_date": "2021-05-14T05:02:22.109Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/877258d8-07eb-4cb6-a358-7c265c856ab6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S11_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 14, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503603" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "877258d8-07eb-4cb6-a358-7c265c856ab6", - "submission_date": "2021-05-10T23:24:56.635Z", - "update_date": "2021-05-14T05:03:06.530Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/87e9a01b-594b-4dc4-b2a7-a14407399b50": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S10_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503590" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "87e9a01b-594b-4dc4-b2a7-a14407399b50", - "submission_date": "2021-05-10T23:24:56.006Z", - "update_date": "2021-05-14T05:00:47.633Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/8840da5d-cbaa-4617-ad50-d2a012563fe6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S41_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503574" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "8840da5d-cbaa-4617-ad50-d2a012563fe6", - "submission_date": "2021-05-10T23:24:55.389Z", - "update_date": "2021-05-14T05:01:47.873Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/884813d1-d03e-4210-9289-e5b0d415484b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S36_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 8, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503669" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "884813d1-d03e-4210-9289-e5b0d415484b", - "submission_date": "2021-05-10T23:24:59.718Z", - "update_date": "2021-05-14T04:56:20.870Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/885f171d-901c-4cc4-9c76-c5d8cdf35991": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S36_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 6, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503667" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "885f171d-901c-4cc4-9c76-c5d8cdf35991", - "submission_date": "2021-05-10T23:24:59.618Z", - "update_date": "2021-05-14T04:54:49.938Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/887d7cc2-1c24-42a9-aab3-51474d95f927": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run1_S9_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503647" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "887d7cc2-1c24-42a9-aab3-51474d95f927", - "submission_date": "2021-05-10T23:24:58.682Z", - "update_date": "2021-05-14T05:03:07.350Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/8898a9f3-4928-45b1-b236-71ce7cb48b11": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S44_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 8, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503581" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "8898a9f3-4928-45b1-b236-71ce7cb48b11", - "submission_date": "2021-05-10T23:24:55.664Z", - "update_date": "2021-05-14T05:03:11.354Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/893dfdd4-43f4-4256-938b-d957928f0daa": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S12_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503591" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "893dfdd4-43f4-4256-938b-d957928f0daa", - "submission_date": "2021-05-10T23:24:56.069Z", - "update_date": "2021-05-14T05:04:18.092Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S11_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 13, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503602" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a", - "submission_date": "2021-05-10T23:24:56.575Z", - "update_date": "2021-05-14T05:01:42.588Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/8de95742-6e0f-45bd-b835-ce96ebc1991c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S35_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503664" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "8de95742-6e0f-45bd-b835-ce96ebc1991c", - "submission_date": "2021-05-10T23:24:59.508Z", - "update_date": "2021-05-14T04:54:56.790Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/8e892b4a-c112-47f2-a058-b87efed5a262": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S41_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 10, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503583" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "8e892b4a-c112-47f2-a058-b87efed5a262", - "submission_date": "2021-05-10T23:24:55.738Z", - "update_date": "2021-05-14T05:03:39.759Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/8fc6dd31-c01c-4eec-ae6c-bedd13f2c209": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run1_S12_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503646" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "8fc6dd31-c01c-4eec-ae6c-bedd13f2c209", - "submission_date": "2021-05-10T23:24:58.631Z", - "update_date": "2021-05-14T05:03:39.743Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S14_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 12, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503639" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba", - "submission_date": "2021-05-10T23:24:58.261Z", - "update_date": "2021-05-14T04:59:51.818Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/91594c64-a197-4dc9-8605-d57aff0f2e87": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S13_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 11, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503638" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "91594c64-a197-4dc9-8605-d57aff0f2e87", - "submission_date": "2021-05-10T23:24:58.209Z", - "update_date": "2021-05-14T04:58:39.182Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/92951c73-28a3-4820-89d6-15a73fa192cf": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run2_S13_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 5, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503624" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "92951c73-28a3-4820-89d6-15a73fa192cf", - "submission_date": "2021-05-10T23:24:57.585Z", - "update_date": "2021-05-14T05:02:01.273Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/937bbdf2-09e3-4bf7-8f45-e46db2188c46": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S42_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 15, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503588" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "937bbdf2-09e3-4bf7-8f45-e46db2188c46", - "submission_date": "2021-05-10T23:24:55.930Z", - "update_date": "2021-05-14T05:00:20.049Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/95e893a0-0885-4e1c-8e31-55863d5108b3": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S34_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 13, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503674" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "95e893a0-0885-4e1c-8e31-55863d5108b3", - "submission_date": "2021-05-10T23:24:59.882Z", - "update_date": "2021-05-14T04:55:22.011Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/965057e9-48bc-4452-8819-2bc45723a0f7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S12_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503593" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "965057e9-48bc-4452-8819-2bc45723a0f7", - "submission_date": "2021-05-10T23:24:56.142Z", - "update_date": "2021-05-14T05:02:44.380Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/96f4d488-e081-4b54-b12a-b2d9546bfc17": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S34_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 13, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503674" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "96f4d488-e081-4b54-b12a-b2d9546bfc17", - "submission_date": "2021-05-10T23:24:59.909Z", - "update_date": "2021-05-14T04:56:33.716Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/9717e5ab-015a-4fee-9864-0332c60b1e9a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S36_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 5, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503666" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "9717e5ab-015a-4fee-9864-0332c60b1e9a", - "submission_date": "2021-05-10T23:24:59.581Z", - "update_date": "2021-05-14T04:54:20.099Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/972e55ea-7901-435b-9646-53bc8fde2e6f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S33_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 9, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503670" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "972e55ea-7901-435b-9646-53bc8fde2e6f", - "submission_date": "2021-05-10T23:24:59.744Z", - "update_date": "2021-05-14T04:54:55.673Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/9766ad67-37fa-402a-9649-181a1752e5b2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run1_S13_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503620" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "9766ad67-37fa-402a-9649-181a1752e5b2", - "submission_date": "2021-05-10T23:24:57.418Z", - "update_date": "2021-05-14T04:57:50.103Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/97cfc6c1-2a97-41ef-bb36-0ac99b8c8195": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S36_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503669" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "97cfc6c1-2a97-41ef-bb36-0ac99b8c8195", - "submission_date": "2021-05-10T23:24:59.693Z", - "update_date": "2021-05-14T04:54:49.808Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/97eaa3ce-131c-48b8-8082-86bbb6a486b5": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S45_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 7, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503612" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "97eaa3ce-131c-48b8-8082-86bbb6a486b5", - "submission_date": "2021-05-10T23:24:57.110Z", - "update_date": "2021-05-14T04:57:21.119Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/9962de78-e4ef-40ba-b9fc-bd661895a99b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S8_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 6, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503611" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "9962de78-e4ef-40ba-b9fc-bd661895a99b", - "submission_date": "2021-05-10T23:24:57.055Z", - "update_date": "2021-05-14T04:55:08.933Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/99e73efd-4a04-496f-bb32-8f73edb0ae1a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S41_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 10, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503583" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "99e73efd-4a04-496f-bb32-8f73edb0ae1a", - "submission_date": "2021-05-10T23:24:55.713Z", - "update_date": "2021-05-14T05:01:47.196Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/9a03ec79-7dc7-44fc-bb97-22ad58159436": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S15_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503631" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "9a03ec79-7dc7-44fc-bb97-22ad58159436", - "submission_date": "2021-05-10T23:24:57.930Z", - "update_date": "2021-05-14T04:58:11.248Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/9b03ad8d-aabf-4736-820a-493db4877f84": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S15_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503629" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "9b03ad8d-aabf-4736-820a-493db4877f84", - "submission_date": "2021-05-10T23:24:57.861Z", - "update_date": "2021-05-14T04:59:54.407Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/9bad139c-7abf-4786-a6fc-5f9a5abcd850": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S15_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503629" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "9bad139c-7abf-4786-a6fc-5f9a5abcd850", - "submission_date": "2021-05-10T23:24:57.845Z", - "update_date": "2021-05-14T04:58:21.435Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/9d98496f-f6d8-4106-8b6a-c118ed6ff229": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run2_S7_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 7, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503684" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "9d98496f-f6d8-4106-8b6a-c118ed6ff229", - "submission_date": "2021-05-10T23:25:03.039Z", - "update_date": "2021-05-14T04:59:45.748Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/9e63db48-5b68-40e8-9d8f-aff48223b80e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S7_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503609" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "9e63db48-5b68-40e8-9d8f-aff48223b80e", - "submission_date": "2021-05-10T23:24:56.857Z", - "update_date": "2021-05-14T04:54:49.033Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/9e74066b-834e-416d-a1e7-bbec1e8f1713": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S10_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 10, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503599" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "9e74066b-834e-416d-a1e7-bbec1e8f1713", - "submission_date": "2021-05-10T23:24:56.461Z", - "update_date": "2021-05-14T05:01:18.474Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/9f577e94-f952-40af-a919-108f4661fdb9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S16_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 6, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503633" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "9f577e94-f952-40af-a919-108f4661fdb9", - "submission_date": "2021-05-10T23:24:58.032Z", - "update_date": "2021-05-14T04:58:08.590Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/9f709f2c-701a-43bc-8417-77fac81c3633": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run2_S8_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 8, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503685" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "9f709f2c-701a-43bc-8417-77fac81c3633", - "submission_date": "2021-05-10T23:25:03.943Z", - "update_date": "2021-05-14T05:00:12.478Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/9fa70333-418c-476c-b93b-382096a9cdcb": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run1_S15_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503622" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "9fa70333-418c-476c-b93b-382096a9cdcb", - "submission_date": "2021-05-10T23:24:57.492Z", - "update_date": "2021-05-14T04:58:34.993Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/a10329ae-6c8a-4df9-bac1-70bdf2c07571": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run2_S9_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503651" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "a10329ae-6c8a-4df9-bac1-70bdf2c07571", - "submission_date": "2021-05-10T23:24:58.817Z", - "update_date": "2021-05-14T05:01:05.059Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/a1ac3c01-10da-4b93-a61a-71a62e6ddb22": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S33_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503662" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "a1ac3c01-10da-4b93-a61a-71a62e6ddb22", - "submission_date": "2021-05-10T23:24:59.420Z", - "update_date": "2021-05-14T04:55:44.456Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/a2385663-3f62-4512-b4d8-4bba405f50a3": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S8_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503652" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "a2385663-3f62-4512-b4d8-4bba405f50a3", - "submission_date": "2021-05-10T23:24:58.882Z", - "update_date": "2021-05-14T04:55:09.076Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/a2b31671-1874-4c4a-a5c5-fd2787287893": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S15_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503631" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "a2b31671-1874-4c4a-a5c5-fd2787287893", - "submission_date": "2021-05-10T23:24:57.956Z", - "update_date": "2021-05-14T05:00:40.279Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/a40ed25e-fbf0-40a3-b468-e2bdb55d56d0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S12_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 16, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503605" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "a40ed25e-fbf0-40a3-b468-e2bdb55d56d0", - "submission_date": "2021-05-10T23:24:56.699Z", - "update_date": "2021-05-14T05:03:02.146Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/a4152d0c-ca88-4cad-af08-40a2e799bec7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S45_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503686" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "a4152d0c-ca88-4cad-af08-40a2e799bec7", - "submission_date": "2021-05-10T23:25:04.631Z", - "update_date": "2021-05-14T04:55:25.695Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/a45af0aa-2591-4031-8ee8-a3c0a5a76260": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S14_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 15, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503642" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "a45af0aa-2591-4031-8ee8-a3c0a5a76260", - "submission_date": "2021-05-10T23:24:58.365Z", - "update_date": "2021-05-14T04:57:03.579Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/a60154cf-58b6-461f-8908-b789cdd78ee8": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run1_S14_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503621" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "a60154cf-58b6-461f-8908-b789cdd78ee8", - "submission_date": "2021-05-10T23:24:57.466Z", - "update_date": "2021-05-14T04:57:58.251Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/a65b7c37-e038-41d5-8623-2046bdc278a4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run1_S12_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503646" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "a65b7c37-e038-41d5-8623-2046bdc278a4", - "submission_date": "2021-05-10T23:24:58.596Z", - "update_date": "2021-05-14T05:00:52.250Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/a6a99736-43fb-4f67-ae26-0e24d5277c6b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S16_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 8, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503635" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "a6a99736-43fb-4f67-ae26-0e24d5277c6b", - "submission_date": "2021-05-10T23:24:58.112Z", - "update_date": "2021-05-14T04:58:51.522Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/a778ad17-3705-40bc-b425-245d17958638": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S42_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 12, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503585" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "a778ad17-3705-40bc-b425-245d17958638", - "submission_date": "2021-05-10T23:24:55.797Z", - "update_date": "2021-05-14T05:00:02.236Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/a783909f-5237-4218-8b9d-80653729f3b1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S43_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503577" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "a783909f-5237-4218-8b9d-80653729f3b1", - "submission_date": "2021-05-10T23:24:55.498Z", - "update_date": "2021-05-14T04:59:52.076Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ab8e7f29-eae9-488a-9337-7a926c8857ac": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S44_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 6, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503579" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "ab8e7f29-eae9-488a-9337-7a926c8857ac", - "submission_date": "2021-05-10T23:24:55.592Z", - "update_date": "2021-05-14T05:02:28.573Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ac036daf-a7cc-4583-a219-814c77ed8001": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S7_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 10, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503661" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "ac036daf-a7cc-4583-a219-814c77ed8001", - "submission_date": "2021-05-10T23:24:59.334Z", - "update_date": "2021-05-14T04:53:58.815Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ac5fdc06-b856-4de0-9423-bdf05d4df650": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S43_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 16, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503589" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "ac5fdc06-b856-4de0-9423-bdf05d4df650", - "submission_date": "2021-05-10T23:24:55.993Z", - "update_date": "2021-05-14T05:02:30.186Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/acfa3362-62b0-429a-b617-3adb722c200f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S42_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 14, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503587" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "acfa3362-62b0-429a-b617-3adb722c200f", - "submission_date": "2021-05-10T23:24:55.864Z", - "update_date": "2021-05-14T05:00:09.549Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S44_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 5, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503578" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02", - "submission_date": "2021-05-10T23:24:55.523Z", - "update_date": "2021-05-14T04:59:39.575Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/adca7438-701c-4afc-8580-01de6ee68974": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S6_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503659" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "adca7438-701c-4afc-8580-01de6ee68974", - "submission_date": "2021-05-10T23:24:59.203Z", - "update_date": "2021-05-14T04:54:53.049Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ade0fe79-4629-4a49-8253-e26380046b32": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S9_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 8, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503597" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "ade0fe79-4629-4a49-8253-e26380046b32", - "submission_date": "2021-05-10T23:24:56.403Z", - "update_date": "2021-05-14T05:03:10.194Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b0009333-24fc-4f3e-bf35-3cc8fa808efa": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S14_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 14, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503641" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "b0009333-24fc-4f3e-bf35-3cc8fa808efa", - "submission_date": "2021-05-10T23:24:58.353Z", - "update_date": "2021-05-14T04:59:06.050Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b0025fa1-e6a6-441b-a018-2c73ceabe237": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S36_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503668" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "b0025fa1-e6a6-441b-a018-2c73ceabe237", - "submission_date": "2021-05-10T23:24:59.657Z", - "update_date": "2021-05-14T04:54:51.315Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S12_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503592" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5", - "submission_date": "2021-05-10T23:24:56.081Z", - "update_date": "2021-05-14T05:03:03.257Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b1e83792-e01e-45e2-bcb8-27b81a0d9db9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S6_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 6, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503657" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "b1e83792-e01e-45e2-bcb8-27b81a0d9db9", - "submission_date": "2021-05-10T23:24:59.120Z", - "update_date": "2021-05-14T04:56:41.578Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S15_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 16, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503643" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc", - "submission_date": "2021-05-10T23:24:58.421Z", - "update_date": "2021-05-14T04:58:01.262Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b2a6b8c1-f0bc-4509-b255-8618d7cff205": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run2_S5_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 5, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503682" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "b2a6b8c1-f0bc-4509-b255-8618d7cff205", - "submission_date": "2021-05-10T23:25:00.662Z", - "update_date": "2021-05-14T04:56:15.593Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b35e3b14-91dc-4bf0-a47d-4ed8428efbe1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S41_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 10, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503583" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "b35e3b14-91dc-4bf0-a47d-4ed8428efbe1", - "submission_date": "2021-05-10T23:24:55.725Z", - "update_date": "2021-05-14T05:02:25.268Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b3739e56-e8cc-43b6-8b43-9116b5d75e69": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S11_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 13, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503602" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "b3739e56-e8cc-43b6-8b43-9116b5d75e69", - "submission_date": "2021-05-10T23:24:56.587Z", - "update_date": "2021-05-14T05:02:08.009Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b3de09c9-37f3-4d58-8930-bbd5d4e136c5": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S43_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503576" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "b3de09c9-37f3-4d58-8930-bbd5d4e136c5", - "submission_date": "2021-05-10T23:24:55.462Z", - "update_date": "2021-05-14T05:01:53.213Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b5c2e557-c303-42cc-8779-bf3b2256c422": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S47_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503687" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "b5c2e557-c303-42cc-8779-bf3b2256c422", - "submission_date": "2021-05-10T23:25:05.423Z", - "update_date": "2021-05-14T04:55:18.713Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b6dda1ac-9635-426a-869a-82b1420ef251": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S14_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 12, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503639" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "b6dda1ac-9635-426a-869a-82b1420ef251", - "submission_date": "2021-05-10T23:24:58.273Z", - "update_date": "2021-05-14T05:01:42.719Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b7826640-f0cc-4891-860e-7815a8848006": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run2_S16_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 8, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503627" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "b7826640-f0cc-4891-860e-7815a8848006", - "submission_date": "2021-05-10T23:24:57.738Z", - "update_date": "2021-05-14T05:00:53.022Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b7d7c14d-7bf3-4a8f-8f40-8d6e98505558": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S9_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 5, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503594" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "b7d7c14d-7bf3-4a8f-8f40-8d6e98505558", - "submission_date": "2021-05-10T23:24:56.159Z", - "update_date": "2021-05-14T05:01:40.555Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run2_S16_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 8, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503627" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477", - "submission_date": "2021-05-10T23:24:57.722Z", - "update_date": "2021-05-14T04:58:13.971Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/b9acc59a-ba7c-40ef-8611-27069458a508": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S46_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 11, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503616" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "b9acc59a-ba7c-40ef-8611-27069458a508", - "submission_date": "2021-05-10T23:24:57.270Z", - "update_date": "2021-05-14T04:56:55.845Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ba526c42-7c2f-43c1-a817-06ccdb4d67be": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run1_S9_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503647" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "ba526c42-7c2f-43c1-a817-06ccdb4d67be", - "submission_date": "2021-05-10T23:24:58.649Z", - "update_date": "2021-05-14T04:58:59.688Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/baa2bfd9-d2fb-4b5a-a81d-af84bf24c730": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S7_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 10, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503661" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "baa2bfd9-d2fb-4b5a-a81d-af84bf24c730", - "submission_date": "2021-05-10T23:24:59.314Z", - "update_date": "2021-05-14T04:52:36.432Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/bb788d30-169b-4160-be07-98222d0a8327": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S11_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 14, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503603" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "bb788d30-169b-4160-be07-98222d0a8327", - "submission_date": "2021-05-10T23:24:56.611Z", - "update_date": "2021-05-14T05:01:52.945Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/bbda7bad-f60b-4091-83b0-b8d96c3f4214": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S7_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503608" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "bbda7bad-f60b-4091-83b0-b8d96c3f4214", - "submission_date": "2021-05-10T23:24:56.818Z", - "update_date": "2021-05-14T04:55:20.303Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/bd1e5909-c184-4ee0-906c-77e399270a71": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S46_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 13, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503618" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "bd1e5909-c184-4ee0-906c-77e399270a71", - "submission_date": "2021-05-10T23:24:57.341Z", - "update_date": "2021-05-14T04:56:12.215Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/bef069b8-2720-4327-8298-9ab2badd4a53": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S44_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503580" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "bef069b8-2720-4327-8298-9ab2badd4a53", - "submission_date": "2021-05-10T23:24:55.604Z", - "update_date": "2021-05-14T05:00:30.770Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/bf6cb18e-07de-404d-bebe-4a943dfb44f7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run2_S5_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 5, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503682" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "bf6cb18e-07de-404d-bebe-4a943dfb44f7", - "submission_date": "2021-05-10T23:25:00.921Z", - "update_date": "2021-05-14T04:56:57.448Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/bff57385-2f4f-4695-a153-412c9aabab59": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S44_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 5, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503578" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "bff57385-2f4f-4695-a153-412c9aabab59", - "submission_date": "2021-05-10T23:24:55.554Z", - "update_date": "2021-05-14T05:01:55.605Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c04b8362-f2c9-4cad-b939-494e738efc19": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run1_S10_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503644" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "c04b8362-f2c9-4cad-b939-494e738efc19", - "submission_date": "2021-05-10T23:24:58.475Z", - "update_date": "2021-05-14T05:00:11.409Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c0fc6427-6fa7-4d8d-9d6e-8844a26ff318": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S44_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 5, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503578" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "c0fc6427-6fa7-4d8d-9d6e-8844a26ff318", - "submission_date": "2021-05-10T23:24:55.542Z", - "update_date": "2021-05-14T05:00:24.625Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c13ed96e-3052-4a3f-9871-8196c10070a1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S45_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 9, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503614" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "c13ed96e-3052-4a3f-9871-8196c10070a1", - "submission_date": "2021-05-10T23:24:57.168Z", - "update_date": "2021-05-14T04:55:59.599Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c3093b68-54a2-4d31-aa15-50afb0414625": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S16_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503634" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "c3093b68-54a2-4d31-aa15-50afb0414625", - "submission_date": "2021-05-10T23:24:58.064Z", - "update_date": "2021-05-14T04:57:28.013Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c3182931-cc4c-4cb7-aab5-4b50093eebea": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run1_S16_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503623" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "c3182931-cc4c-4cb7-aab5-4b50093eebea", - "submission_date": "2021-05-10T23:24:57.518Z", - "update_date": "2021-05-14T04:57:48.331Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c3d3c4a3-527b-490f-8107-bc1b44566df0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run1_S5_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503678" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "c3d3c4a3-527b-490f-8107-bc1b44566df0", - "submission_date": "2021-05-10T23:25:00.048Z", - "update_date": "2021-05-14T04:56:10.391Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c458a416-5736-4b7b-817e-1d87b341f825": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S42_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 12, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503585" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "c458a416-5736-4b7b-817e-1d87b341f825", - "submission_date": "2021-05-10T23:24:55.785Z", - "update_date": "2021-05-14T04:59:22.285Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S46_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 10, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503615" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7", - "submission_date": "2021-05-10T23:24:57.218Z", - "update_date": "2021-05-14T04:56:10.841Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S8_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 5, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503610" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2", - "submission_date": "2021-05-10T23:24:56.997Z", - "update_date": "2021-05-14T04:55:08.592Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c4c3353d-f33f-4a5b-a2d8-7878daf2d01b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S10_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503590" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "c4c3353d-f33f-4a5b-a2d8-7878daf2d01b", - "submission_date": "2021-05-10T23:24:56.019Z", - "update_date": "2021-05-14T05:01:09.235Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c5e55f39-94a7-4ddd-8972-d217b63fb7cb": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S11_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 12, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503601" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "c5e55f39-94a7-4ddd-8972-d217b63fb7cb", - "submission_date": "2021-05-10T23:24:56.537Z", - "update_date": "2021-05-14T05:01:05.832Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c67f602f-1b0d-4b0e-bd72-af166f5443fa": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S34_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 15, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503676" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "c67f602f-1b0d-4b0e-bd72-af166f5443fa", - "submission_date": "2021-05-10T23:24:59.970Z", - "update_date": "2021-05-14T04:55:43.921Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c699ee8b-738e-451a-b91d-0e1a6c8bb6f9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S7_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503609" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "c699ee8b-738e-451a-b91d-0e1a6c8bb6f9", - "submission_date": "2021-05-10T23:24:56.901Z", - "update_date": "2021-05-14T04:56:29.018Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c7970499-e36d-49f3-b1f2-6886746333c9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S48_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 5, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503690" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "c7970499-e36d-49f3-b1f2-6886746333c9", - "submission_date": "2021-05-10T23:25:07.987Z", - "update_date": "2021-05-14T04:56:19.101Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c8995918-5491-41bc-ad76-2099c6314fb1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S36_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 8, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503669" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "c8995918-5491-41bc-ad76-2099c6314fb1", - "submission_date": "2021-05-10T23:24:59.705Z", - "update_date": "2021-05-14T04:55:39.342Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c8b4bc26-7487-48d9-a2f2-6b3934da074d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S14_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 14, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503641" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "c8b4bc26-7487-48d9-a2f2-6b3934da074d", - "submission_date": "2021-05-10T23:24:58.339Z", - "update_date": "2021-05-14T04:57:36.213Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S13_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 10, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503637" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd", - "submission_date": "2021-05-10T23:24:58.173Z", - "update_date": "2021-05-14T04:58:14.490Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c9517b55-fb72-463a-aab6-e4f64b95c2fc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run1_S5_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503678" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "c9517b55-fb72-463a-aab6-e4f64b95c2fc", - "submission_date": "2021-05-10T23:25:00.034Z", - "update_date": "2021-05-14T04:55:34.719Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/c9a2a10f-6638-4463-8c8f-4260c72dcb92": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S44_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503581" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "c9a2a10f-6638-4463-8c8f-4260c72dcb92", - "submission_date": "2021-05-10T23:24:55.641Z", - "update_date": "2021-05-14T05:00:50.916Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/cabca52b-8f67-4107-8916-4fd8129ccd97": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run1_S10_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503644" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "cabca52b-8f67-4107-8916-4fd8129ccd97", - "submission_date": "2021-05-10T23:24:58.511Z", - "update_date": "2021-05-14T05:02:32.521Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ce3c8eab-dcb7-403f-8837-6a7986acb6fc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S7_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503608" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "ce3c8eab-dcb7-403f-8837-6a7986acb6fc", - "submission_date": "2021-05-10T23:24:56.833Z", - "update_date": "2021-05-14T04:56:25.580Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ce6d4c01-8676-4ae9-91b3-4148deb5b8d9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S33_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 10, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503671" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "ce6d4c01-8676-4ae9-91b3-4148deb5b8d9", - "submission_date": "2021-05-10T23:24:59.793Z", - "update_date": "2021-05-14T04:56:14.717Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S35_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503664" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3", - "submission_date": "2021-05-10T23:24:59.488Z", - "update_date": "2021-05-14T04:53:18.738Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d04a8b95-a45f-4fc1-a42a-a9afe3188465": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S43_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 16, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503589" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "d04a8b95-a45f-4fc1-a42a-a9afe3188465", - "submission_date": "2021-05-10T23:24:55.967Z", - "update_date": "2021-05-14T05:00:36.242Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d068c2b0-60c7-429a-938c-cb9c703c4c4d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S10_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 11, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503600" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "d068c2b0-60c7-429a-938c-cb9c703c4c4d", - "submission_date": "2021-05-10T23:24:56.513Z", - "update_date": "2021-05-14T05:01:13.407Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d0cf423a-1ecf-499b-9e61-95662e23ba40": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S41_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 9, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503582" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "d0cf423a-1ecf-499b-9e61-95662e23ba40", - "submission_date": "2021-05-10T23:24:55.702Z", - "update_date": "2021-05-14T05:03:36.764Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d13d109b-0106-4102-9769-82bb2ed9cfb7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S35_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503663" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "d13d109b-0106-4102-9769-82bb2ed9cfb7", - "submission_date": "2021-05-10T23:24:59.455Z", - "update_date": "2021-05-14T04:53:36.304Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d1ad5518-3619-46dd-a342-f5a3b34f67b1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S7_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503608" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "d1ad5518-3619-46dd-a342-f5a3b34f67b1", - "submission_date": "2021-05-10T23:24:56.800Z", - "update_date": "2021-05-14T04:53:29.246Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d1dd53ff-b603-4345-8203-45c384cbc813": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S12_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503593" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "d1dd53ff-b603-4345-8203-45c384cbc813", - "submission_date": "2021-05-10T23:24:56.130Z", - "update_date": "2021-05-14T05:01:58.338Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d1f65c9e-628b-4c5f-b76a-1154c1666eba": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S6_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 8, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503659" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "d1f65c9e-628b-4c5f-b76a-1154c1666eba", - "submission_date": "2021-05-10T23:24:59.215Z", - "update_date": "2021-05-14T04:55:47.937Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d1f9e5d6-8df2-48d1-b558-9609710ef53f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S42_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 14, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503587" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "d1f9e5d6-8df2-48d1-b558-9609710ef53f", - "submission_date": "2021-05-10T23:24:55.913Z", - "update_date": "2021-05-14T05:02:07.913Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d20547e4-3f00-42af-9a7f-9477ff43de0d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run1_S8_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503681" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "d20547e4-3f00-42af-9a7f-9477ff43de0d", - "submission_date": "2021-05-10T23:25:00.546Z", - "update_date": "2021-05-14T04:56:06.355Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d359ca8d-a374-4eeb-b214-69df7861d0e3": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S13_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 9, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503636" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "d359ca8d-a374-4eeb-b214-69df7861d0e3", - "submission_date": "2021-05-10T23:24:58.161Z", - "update_date": "2021-05-14T05:01:09.783Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d3661383-3d73-41a0-8676-295926c07eeb": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run1_S13_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503620" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "d3661383-3d73-41a0-8676-295926c07eeb", - "submission_date": "2021-05-10T23:24:57.404Z", - "update_date": "2021-05-14T04:56:52.841Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S42_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 13, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503586" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb", - "submission_date": "2021-05-10T23:24:55.835Z", - "update_date": "2021-05-14T05:00:25.833Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d4bbfecd-d580-4eaa-8679-33173740b295": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S33_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 10, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503671" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "d4bbfecd-d580-4eaa-8679-33173740b295", - "submission_date": "2021-05-10T23:24:59.769Z", - "update_date": "2021-05-14T04:54:32.878Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d5aab272-e387-4bae-aeb0-987928e0c001": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S13_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 9, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503636" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "d5aab272-e387-4bae-aeb0-987928e0c001", - "submission_date": "2021-05-10T23:24:58.148Z", - "update_date": "2021-05-14T04:58:43.375Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d5b993f2-d053-4420-994b-04d64bd9e356": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S6_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 7, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503658" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "d5b993f2-d053-4420-994b-04d64bd9e356", - "submission_date": "2021-05-10T23:24:59.181Z", - "update_date": "2021-05-14T04:56:46.008Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d691ee05-f531-4c18-b0e9-677dcaabf20f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S36_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 7, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503668" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "d691ee05-f531-4c18-b0e9-677dcaabf20f", - "submission_date": "2021-05-10T23:24:59.681Z", - "update_date": "2021-05-14T04:56:19.223Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d73e6663-d29d-47af-a4b4-5cadcd272293": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S16_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 7, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503634" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "d73e6663-d29d-47af-a4b4-5cadcd272293", - "submission_date": "2021-05-10T23:24:58.075Z", - "update_date": "2021-05-14T04:58:29.834Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run2_S6_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 6, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503683" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc", - "submission_date": "2021-05-10T23:25:02.423Z", - "update_date": "2021-05-14T04:59:41.891Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d85ccb81-e861-4bb1-95b6-40762555da1d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run2_S10_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 5, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503648" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "d85ccb81-e861-4bb1-95b6-40762555da1d", - "submission_date": "2021-05-10T23:24:58.717Z", - "update_date": "2021-05-14T05:00:13.551Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/d8b9cedb-39d5-47b7-9c64-94e6393fdd0d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S16_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 6, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503633" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "d8b9cedb-39d5-47b7-9c64-94e6393fdd0d", - "submission_date": "2021-05-10T23:24:58.020Z", - "update_date": "2021-05-14T04:59:19.307Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/da6e341f-43d3-4c22-ab8c-3c3e81986d9b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S46_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 11, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503616" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "da6e341f-43d3-4c22-ab8c-3c3e81986d9b", - "submission_date": "2021-05-10T23:24:57.243Z", - "update_date": "2021-05-14T04:55:53.407Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/daa6813e-0321-413a-9107-8c814825bf93": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S9_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 7, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503596" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "daa6813e-0321-413a-9107-8c814825bf93", - "submission_date": "2021-05-10T23:24:56.364Z", - "update_date": "2021-05-14T05:02:55.368Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/dabb5028-64d2-4dbc-89a3-0cf6079ad0cb": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S7_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503607" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "dabb5028-64d2-4dbc-89a3-0cf6079ad0cb", - "submission_date": "2021-05-10T23:24:56.786Z", - "update_date": "2021-05-14T04:56:34.488Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/dae9b045-0d8d-4944-b8a2-d3b64ad7df34": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S14_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 12, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503639" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "dae9b045-0d8d-4944-b8a2-d3b64ad7df34", - "submission_date": "2021-05-10T23:24:58.249Z", - "update_date": "2021-05-14T04:59:10.898Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/db2ecbf9-0e24-4106-b594-73368de0e98b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S44_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 7, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503580" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "db2ecbf9-0e24-4106-b594-73368de0e98b", - "submission_date": "2021-05-10T23:24:55.628Z", - "update_date": "2021-05-14T05:02:42.622Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/db7576d3-afc9-4860-9a46-bdca8f745fa3": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S6_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 9, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503660" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "db7576d3-afc9-4860-9a46-bdca8f745fa3", - "submission_date": "2021-05-10T23:24:59.267Z", - "update_date": "2021-05-14T04:55:49.634Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/dcec351c-327a-46df-aa48-22d2647d5852": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S5_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503654" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "dcec351c-327a-46df-aa48-22d2647d5852", - "submission_date": "2021-05-10T23:24:58.975Z", - "update_date": "2021-05-14T04:55:36.953Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/dcf52037-e357-4b26-9072-05e08bf47978": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S5_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503655" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "dcf52037-e357-4b26-9072-05e08bf47978", - "submission_date": "2021-05-10T23:24:59.027Z", - "update_date": "2021-05-14T04:56:01.042Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/dd8ac880-75c4-4fe8-89e3-2cc41dad784a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S11_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 13, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503602" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "dd8ac880-75c4-4fe8-89e3-2cc41dad784a", - "submission_date": "2021-05-10T23:24:56.599Z", - "update_date": "2021-05-14T05:02:58.430Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ddaab768-186d-456a-8e1d-8631dc97f6ad": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S7_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 10, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503661" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "ddaab768-186d-456a-8e1d-8631dc97f6ad", - "submission_date": "2021-05-10T23:24:59.357Z", - "update_date": "2021-05-14T04:56:12.371Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/dff50bd5-38c9-4c35-a5bc-dd51e69f249a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S7_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503607" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "dff50bd5-38c9-4c35-a5bc-dd51e69f249a", - "submission_date": "2021-05-10T23:24:56.762Z", - "update_date": "2021-05-14T04:52:37.944Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e06ec666-d2ed-4801-8bc3-03ddcd151c49": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S41_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 11, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503584" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "e06ec666-d2ed-4801-8bc3-03ddcd151c49", - "submission_date": "2021-05-10T23:24:55.761Z", - "update_date": "2021-05-14T04:59:42.464Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e0a914c3-3147-4f06-a8ae-0c16029497dc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run1_S11_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503645" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "e0a914c3-3147-4f06-a8ae-0c16029497dc", - "submission_date": "2021-05-10T23:24:58.555Z", - "update_date": "2021-05-14T05:01:19.303Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e0a99b8f-15e2-4a9e-b298-1066a9bcbda7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S43_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503575" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "e0a99b8f-15e2-4a9e-b298-1066a9bcbda7", - "submission_date": "2021-05-10T23:24:55.437Z", - "update_date": "2021-05-14T05:02:46.194Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e0dd6ad5-0582-47de-9cbf-7351ebd5e005": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run1_S14_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503621" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "e0dd6ad5-0582-47de-9cbf-7351ebd5e005", - "submission_date": "2021-05-10T23:24:57.453Z", - "update_date": "2021-05-14T04:57:05.877Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e0e048f6-0ab6-45fc-a74f-16711af67a2e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S45_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 8, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503613" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "e0e048f6-0ab6-45fc-a74f-16711af67a2e", - "submission_date": "2021-05-10T23:24:57.143Z", - "update_date": "2021-05-14T04:56:21.758Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e163d226-febb-4ecf-80db-8e60680be2ab": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S16_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503635" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "e163d226-febb-4ecf-80db-8e60680be2ab", - "submission_date": "2021-05-10T23:24:58.100Z", - "update_date": "2021-05-14T04:57:53.885Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e17968e7-5ef9-45fb-b45a-d73d18f41ae6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S41_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503574" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "e17968e7-5ef9-45fb-b45a-d73d18f41ae6", - "submission_date": "2021-05-10T23:24:55.401Z", - "update_date": "2021-05-14T05:03:04.787Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e1c334fa-b493-4892-a48b-3fe594e98b30": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S14_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 14, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503641" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "e1c334fa-b493-4892-a48b-3fe594e98b30", - "submission_date": "2021-05-10T23:24:58.326Z", - "update_date": "2021-05-14T04:56:34.718Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e28d2a66-f506-4a4d-b2c6-823e4e8124d6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S9_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 8, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503597" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "e28d2a66-f506-4a4d-b2c6-823e4e8124d6", - "submission_date": "2021-05-10T23:24:56.391Z", - "update_date": "2021-05-14T05:02:27.063Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e381aa0d-c2ce-4fe4-9acd-030d9023fcb6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S43_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 16, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503589" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "e381aa0d-c2ce-4fe4-9acd-030d9023fcb6", - "submission_date": "2021-05-10T23:24:55.979Z", - "update_date": "2021-05-14T05:01:16.458Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e4d6ced4-50a3-402a-bbbc-ae329cd3689d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S48_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 6, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503691" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "e4d6ced4-50a3-402a-bbbc-ae329cd3689d", - "submission_date": "2021-05-10T23:25:08.854Z", - "update_date": "2021-05-14T04:55:59.774Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e5d2cef3-3902-418c-b905-001052979a54": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S16_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 5, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503632" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "e5d2cef3-3902-418c-b905-001052979a54", - "submission_date": "2021-05-10T23:24:57.986Z", - "update_date": "2021-05-14T04:59:54.355Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e61740c1-0e70-4d25-a912-32617d2e71fa": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S44_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 6, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503579" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "e61740c1-0e70-4d25-a912-32617d2e71fa", - "submission_date": "2021-05-10T23:24:55.566Z", - "update_date": "2021-05-14T05:00:11.178Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e6565b7b-b195-4554-bf60-4b80f2c6dd13": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S12_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503593" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "e6565b7b-b195-4554-bf60-4b80f2c6dd13", - "submission_date": "2021-05-10T23:24:56.118Z", - "update_date": "2021-05-14T05:01:21.605Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e6b33ccb-99f6-4c02-aa69-e7b581832d04": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run2_S7_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 7, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503684" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "e6b33ccb-99f6-4c02-aa69-e7b581832d04", - "submission_date": "2021-05-10T23:25:02.770Z", - "update_date": "2021-05-14T04:58:03.820Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e744fafb-3c4b-47c3-91db-db8bb8751279": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run2_S12_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 7, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503650" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "e744fafb-3c4b-47c3-91db-db8bb8751279", - "submission_date": "2021-05-10T23:24:58.781Z", - "update_date": "2021-05-14T05:00:14.071Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e9b50275-4ebe-43fe-b3de-1fe3ab930a23": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S9_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 6, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503595" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "e9b50275-4ebe-43fe-b3de-1fe3ab930a23", - "submission_date": "2021-05-10T23:24:56.321Z", - "update_date": "2021-05-14T05:02:46.111Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/e9def19b-3967-47e7-a2dd-1bc5f9297959": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S34_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 13, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503674" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "e9def19b-3967-47e7-a2dd-1bc5f9297959", - "submission_date": "2021-05-10T23:24:59.894Z", - "update_date": "2021-05-14T04:55:14.599Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ebbc0d72-0743-41b8-88f6-736c36bd6499": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S14_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 15, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503642" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "ebbc0d72-0743-41b8-88f6-736c36bd6499", - "submission_date": "2021-05-10T23:24:58.390Z", - "update_date": "2021-05-14T04:59:21.465Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ebc98059-556f-4a51-b1d3-e5afb40fe80e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run1_S11_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503645" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "ebc98059-556f-4a51-b1d3-e5afb40fe80e", - "submission_date": "2021-05-10T23:24:58.577Z", - "update_date": "2021-05-14T05:03:10.112Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/eccad683-4c2d-4d7f-a141-1effb429fef7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S13_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503628" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "eccad683-4c2d-4d7f-a141-1effb429fef7", - "submission_date": "2021-05-10T23:24:57.758Z", - "update_date": "2021-05-14T04:57:20.167Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ed884cca-c961-40d2-bc8b-b358ea4fb780": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S5_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 5, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503656" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "ed884cca-c961-40d2-bc8b-b358ea4fb780", - "submission_date": "2021-05-10T23:24:59.050Z", - "update_date": "2021-05-14T04:54:39.235Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/edbe53c5-208b-436d-b283-1aa4ee94800c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S14_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 13, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503640" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "edbe53c5-208b-436d-b283-1aa4ee94800c", - "submission_date": "2021-05-10T23:24:58.300Z", - "update_date": "2021-05-14T04:57:08.226Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ee28d3e7-02df-46a0-a3ba-f55ad747b214": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S33_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 9, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503670" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "ee28d3e7-02df-46a0-a3ba-f55ad747b214", - "submission_date": "2021-05-10T23:24:59.730Z", - "update_date": "2021-05-14T04:52:31.118Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ee36a1ac-7426-4253-81b8-715f37a2ba69": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run2_S6_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 6, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503683" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "ee36a1ac-7426-4253-81b8-715f37a2ba69", - "submission_date": "2021-05-10T23:25:01.949Z", - "update_date": "2021-05-14T04:57:33.404Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S42_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 15, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503588" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16", - "submission_date": "2021-05-10T23:24:55.955Z", - "update_date": "2021-05-14T05:02:28.693Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S11_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 14, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503603" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9", - "submission_date": "2021-05-10T23:24:56.623Z", - "update_date": "2021-05-14T05:02:27.958Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f5274b10-d3ea-44c9-9f27-9af574dea10c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S12_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 16, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503605" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "f5274b10-d3ea-44c9-9f27-9af574dea10c", - "submission_date": "2021-05-10T23:24:56.712Z", - "update_date": "2021-05-14T05:03:51.104Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f5ada827-68c0-4af6-88c6-7e9256b663ff": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S44_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 7, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503580" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "f5ada827-68c0-4af6-88c6-7e9256b663ff", - "submission_date": "2021-05-10T23:24:55.616Z", - "update_date": "2021-05-14T05:01:12.859Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f5fae200-b633-4ade-8871-94cf47475c67": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S11_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 15, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503604" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "f5fae200-b633-4ade-8871-94cf47475c67", - "submission_date": "2021-05-10T23:24:56.661Z", - "update_date": "2021-05-14T05:02:48.428Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f648cc69-80e7-46a1-8575-aae76b30367c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S35_L004_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503665" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "f648cc69-80e7-46a1-8575-aae76b30367c", - "submission_date": "2021-05-10T23:24:59.557Z", - "update_date": "2021-05-14T04:55:15.622Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f77883e0-6609-4bda-b446-331adbd9d357": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S46_L003_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 12, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503617" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "f77883e0-6609-4bda-b446-331adbd9d357", - "submission_date": "2021-05-10T23:24:57.315Z", - "update_date": "2021-05-14T04:57:24.162Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f78279da-e39f-463b-a1a9-02d4f99f85a5": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S33_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503662" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "f78279da-e39f-463b-a1a9-02d4f99f85a5", - "submission_date": "2021-05-10T23:24:59.382Z", - "update_date": "2021-05-14T04:52:29.671Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f7a68998-a02b-4d1c-8768-0abb9e9ae35a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S33_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 11, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503672" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "f7a68998-a02b-4d1c-8768-0abb9e9ae35a", - "submission_date": "2021-05-10T23:24:59.807Z", - "update_date": "2021-05-14T04:54:20.474Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f859d1ff-df51-4548-b8a4-9eca26bf7454": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult3run1_S6_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503679" - ], - "library_prep_id": "SRX8994900", - "provenance": { - "document_id": "f859d1ff-df51-4548-b8a4-9eca26bf7454", - "submission_date": "2021-05-10T23:25:00.183Z", - "update_date": "2021-05-14T04:56:54.034Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f8988fe1-225c-40b4-933d-9dacb8b4728f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S34_L003_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 14, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503675" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "f8988fe1-225c-40b4-933d-9dacb8b4728f", - "submission_date": "2021-05-10T23:24:59.921Z", - "update_date": "2021-05-14T04:55:22.712Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal2run1_S14_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503621" - ], - "library_prep_id": "SRX8994902", - "provenance": { - "document_id": "f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad", - "submission_date": "2021-05-10T23:24:57.441Z", - "update_date": "2021-05-14T04:56:49.345Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f9db3e23-91ca-487f-a3ec-11ffa8b8f939": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S8_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 5, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503610" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "f9db3e23-91ca-487f-a3ec-11ffa8b8f939", - "submission_date": "2021-05-10T23:24:56.925Z", - "update_date": "2021-05-14T04:54:37.528Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/f9eef16f-b9cc-43bb-b9f3-bf0948766e7e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S47_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503687" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "f9eef16f-b9cc-43bb-b9f3-bf0948766e7e", - "submission_date": "2021-05-10T23:25:05.626Z", - "update_date": "2021-05-14T04:56:08.445Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/fb771836-467f-4897-a755-a17ab281a385": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S47_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503689" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "fb771836-467f-4897-a755-a17ab281a385", - "submission_date": "2021-05-10T23:25:07.551Z", - "update_date": "2021-05-14T04:56:44.475Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/fbec3e01-aaf4-41a3-b667-1f0268571d10": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S12_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503592" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "fbec3e01-aaf4-41a3-b667-1f0268571d10", - "submission_date": "2021-05-10T23:24:56.094Z", - "update_date": "2021-05-14T05:03:33.703Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/fd0547d5-7f16-46e4-8948-45c82f923f69": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young1run2_S9_L002_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 8, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503651" - ], - "library_prep_id": "SRX8994904", - "provenance": { - "document_id": "fd0547d5-7f16-46e4-8948-45c82f923f69", - "submission_date": "2021-05-10T23:24:58.830Z", - "update_date": "2021-05-14T05:02:44.299Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/fd3a8466-6eaf-4251-be4a-f46f85403719": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S10_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503590" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "fd3a8466-6eaf-4251-be4a-f46f85403719", - "submission_date": "2021-05-10T23:24:56.031Z", - "update_date": "2021-05-14T05:02:06.146Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/fd7e7e85-7747-42c3-bc6b-0e4718202d63": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S5_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503606" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "fd7e7e85-7747-42c3-bc6b-0e4718202d63", - "submission_date": "2021-05-10T23:24:56.725Z", - "update_date": "2021-05-14T04:52:27.106Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/fdd026f9-0ab6-49ef-88f9-4a5d61d12188": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S8_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 5, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503610" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "fdd026f9-0ab6-49ef-88f9-4a5d61d12188", - "submission_date": "2021-05-10T23:24:56.967Z", - "update_date": "2021-05-14T04:54:57.086Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/fe586661-4878-4882-a38f-0b6321df5c99": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult1_S6_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 6, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503657" - ], - "library_prep_id": "SRX8994898", - "provenance": { - "document_id": "fe586661-4878-4882-a38f-0b6321df5c99", - "submission_date": "2021-05-10T23:24:59.094Z", - "update_date": "2021-05-14T04:54:34.632Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/fea581ad-b8a8-47d1-a4bb-e18f0753bf13": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S43_L002_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503575" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "fea581ad-b8a8-47d1-a4bb-e18f0753bf13", - "submission_date": "2021-05-10T23:24:55.413Z", - "update_date": "2021-05-14T05:00:57.869Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/fea7ae13-ad77-4b59-9922-14f748263eac": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young2_S42_L002_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 13, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503586" - ], - "library_prep_id": "SRX8994905", - "provenance": { - "document_id": "fea7ae13-ad77-4b59-9922-14f748263eac", - "submission_date": "2021-05-10T23:24:55.848Z", - "update_date": "2021-05-14T05:02:01.853Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S11_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 12, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503601" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce", - "submission_date": "2021-05-10T23:24:56.550Z", - "update_date": "2021-05-14T05:01:29.125Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/fed6f8f3-2c61-4361-8160-2c5a13db83d4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal3_S13_L004_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 11, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503638" - ], - "library_prep_id": "SRX8994903", - "provenance": { - "document_id": "fed6f8f3-2c61-4361-8160-2c5a13db83d4", - "submission_date": "2021-05-10T23:24:58.237Z", - "update_date": "2021-05-14T05:01:34.378Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/fedc286a-9bbc-4db0-8bf5-b3f0b69fb559": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Fetal1_S47_L003_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503688" - ], - "library_prep_id": "SRX8994901", - "provenance": { - "document_id": "fedc286a-9bbc-4db0-8bf5-b3f0b69fb559", - "submission_date": "2021-05-10T23:25:06.490Z", - "update_date": "2021-05-14T04:56:07.450Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S9_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 5, - "read_length": 91, - "insdc_run_accessions": [ - "SRR12503594" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2", - "submission_date": "2021-05-10T23:24:56.235Z", - "update_date": "2021-05-14T05:02:38.045Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/ffb64e6b-8924-4adf-ae8f-e55b4dd019dd": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Young3_S9_L004_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "insdc_run_accessions": [ - "SRR12503597" - ], - "library_prep_id": "SRX8994906", - "provenance": { - "document_id": "ffb64e6b-8924-4adf-ae8f-e55b4dd019dd", - "submission_date": "2021-05-10T23:24:56.379Z", - "update_date": "2021-05-14T05:02:10.654Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "sequence_file/fff15476-7228-42be-be8a-bd6b02ee9f81": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.3.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Adult2_S33_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 28, - "insdc_run_accessions": [ - "SRR12503662" - ], - "library_prep_id": "SRX8994899", - "provenance": { - "document_id": "fff15476-7228-42be-be8a-bd6b02ee9f81", - "submission_date": "2021-05-10T23:24:59.401Z", - "update_date": "2021-05-14T04:53:42.467Z", - "schema_major_version": 9, - "schema_minor_version": 3 - } - }, - "process/04836733-0449-4e57-be2e-6f3b8fbdfb12": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994902" - }, - "process_core": { - "process_id": "SRX8994902" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "04836733-0449-4e57-be2e-6f3b8fbdfb12", - "submission_date": "2021-05-10T23:25:12.412Z", - "update_date": "2021-05-10T23:26:09.449Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/07fc08c2-8b57-45f6-afe8-eeed266c0809": { - "process_core": { - "process_id": "process_id_11" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "07fc08c2-8b57-45f6-afe8-eeed266c0809", - "submission_date": "2021-05-10T23:25:12.039Z", - "update_date": "2021-05-10T23:25:51.157Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/092b2a1b-0730-4860-b466-e92e66afd8d1": { - "process_core": { - "process_id": "process_id_16" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "092b2a1b-0730-4860-b466-e92e66afd8d1", - "submission_date": "2021-05-10T23:25:12.151Z", - "update_date": "2021-05-10T23:25:51.457Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/1c9e23d2-922a-41b7-ab5e-2a16d1273a7a": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994903" - }, - "process_core": { - "process_id": "SRX8994903" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "1c9e23d2-922a-41b7-ab5e-2a16d1273a7a", - "submission_date": "2021-05-10T23:25:12.425Z", - "update_date": "2021-05-10T23:26:13.625Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/1d66f422-91f4-46d1-8768-3fcca538fc46": { - "process_core": { - "process_id": "process_id_13" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "1d66f422-91f4-46d1-8768-3fcca538fc46", - "submission_date": "2021-05-10T23:25:12.075Z", - "update_date": "2021-05-10T23:25:51.265Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/24f7d4c3-f9ec-476e-b038-e0d83c6e11c8": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994900" - }, - "process_core": { - "process_id": "SRX8994900" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "24f7d4c3-f9ec-476e-b038-e0d83c6e11c8", - "submission_date": "2021-05-10T23:25:12.466Z", - "update_date": "2021-05-10T23:26:21.435Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/365b5d7b-fa81-4d61-a67e-f3293abf2ade": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994903" - }, - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "365b5d7b-fa81-4d61-a67e-f3293abf2ade", - "submission_date": "2021-05-10T23:25:11.936Z", - "update_date": "2021-05-10T23:25:50.919Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/63d29f05-1a74-46a0-ad91-001efa34a021": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994900" - }, - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "63d29f05-1a74-46a0-ad91-001efa34a021", - "submission_date": "2021-05-10T23:25:11.888Z", - "update_date": "2021-05-10T23:25:50.799Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/70519cbb-bbfb-4e55-9642-e6c6a381b4d0": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994904" - }, - "process_core": { - "process_id": "SRX8994904" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "70519cbb-bbfb-4e55-9642-e6c6a381b4d0", - "submission_date": "2021-05-10T23:25:12.437Z", - "update_date": "2021-05-10T23:26:15.614Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/87f7c470-7c45-4f41-9600-21cc527f524e": { - "process_core": { - "process_id": "process_id_15" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "87f7c470-7c45-4f41-9600-21cc527f524e", - "submission_date": "2021-05-10T23:25:12.129Z", - "update_date": "2021-05-10T23:25:51.380Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/941c2df6-cbaa-49ee-80af-950b8c015aa6": { - "process_core": { - "process_id": "process_id_17" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "941c2df6-cbaa-49ee-80af-950b8c015aa6", - "submission_date": "2021-05-10T23:25:12.204Z", - "update_date": "2021-05-10T23:25:51.522Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/94dc13e0-6390-40d2-a3c2-bec70c12d5b5": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994904" - }, - "process_core": { - "process_id": "process_id_7" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "94dc13e0-6390-40d2-a3c2-bec70c12d5b5", - "submission_date": "2021-05-10T23:25:11.953Z", - "update_date": "2021-05-10T23:25:50.962Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/95834b02-36f0-4ccf-b0a8-9003c4856b03": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994905" - }, - "process_core": { - "process_id": "process_id_8" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "95834b02-36f0-4ccf-b0a8-9003c4856b03", - "submission_date": "2021-05-10T23:25:11.978Z", - "update_date": "2021-05-10T23:25:51.009Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/97f00f1b-232c-4425-b51a-7d91b88d3862": { - "process_core": { - "process_id": "snseq_analysis" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "97f00f1b-232c-4425-b51a-7d91b88d3862", - "submission_date": "2021-05-10T23:25:12.612Z", - "update_date": "2021-05-10T23:26:22.404Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/9e346701-eb3c-40b3-b3dd-75ce047bcb78": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994902" - }, - "process_core": { - "process_id": "process_id_5" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "9e346701-eb3c-40b3-b3dd-75ce047bcb78", - "submission_date": "2021-05-10T23:25:11.916Z", - "update_date": "2021-05-10T23:25:50.885Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/a9088b7c-b538-42c1-906d-55327ee344a0": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994899" - }, - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a9088b7c-b538-42c1-906d-55327ee344a0", - "submission_date": "2021-05-10T23:25:11.875Z", - "update_date": "2021-05-10T23:25:50.763Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/b92a945a-9be0-4cf6-8ce8-14f0fa3a3648": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994906" - }, - "process_core": { - "process_id": "SRX8994906" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "b92a945a-9be0-4cf6-8ce8-14f0fa3a3648", - "submission_date": "2021-05-10T23:25:12.367Z", - "update_date": "2021-05-10T23:25:59.751Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/c0593f2b-b6b9-4365-9c0e-2f3108dc03ae": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994901" - }, - "process_core": { - "process_id": "process_id_4" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "c0593f2b-b6b9-4365-9c0e-2f3108dc03ae", - "submission_date": "2021-05-10T23:25:11.903Z", - "update_date": "2021-05-10T23:25:50.848Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/c2081de1-a850-4671-9d13-d5782fb87ce2": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994898" - }, - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "c2081de1-a850-4671-9d13-d5782fb87ce2", - "submission_date": "2021-05-10T23:25:11.855Z", - "update_date": "2021-05-10T23:25:50.729Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/d1e97cb2-581a-432b-bca1-78bbe00e9127": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994905" - }, - "process_core": { - "process_id": "SRX8994905" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "d1e97cb2-581a-432b-bca1-78bbe00e9127", - "submission_date": "2021-05-10T23:25:12.352Z", - "update_date": "2021-05-10T23:25:55.907Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/d5d159b5-1ecd-4a4a-9333-e933e20e2811": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994899" - }, - "process_core": { - "process_id": "SRX8994899" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "d5d159b5-1ecd-4a4a-9333-e933e20e2811", - "submission_date": "2021-05-10T23:25:12.451Z", - "update_date": "2021-05-10T23:26:19.411Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/d7875d0d-da64-49d0-8540-e601d445107c": { - "process_core": { - "process_id": "process_id_14" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "d7875d0d-da64-49d0-8540-e601d445107c", - "submission_date": "2021-05-10T23:25:12.097Z", - "update_date": "2021-05-10T23:25:51.317Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/e6aa2bc0-9650-4ba6-89fc-033a7a95f796": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994906" - }, - "process_core": { - "process_id": "process_id_9" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "e6aa2bc0-9650-4ba6-89fc-033a7a95f796", - "submission_date": "2021-05-10T23:25:11.995Z", - "update_date": "2021-05-10T23:25:51.053Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/e8081e5b-30a8-4ed7-88df-07c9e81688c6": { - "process_core": { - "process_id": "process_id_10" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "e8081e5b-30a8-4ed7-88df-07c9e81688c6", - "submission_date": "2021-05-10T23:25:12.009Z", - "update_date": "2021-05-10T23:25:51.106Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/eb10f476-5ffe-4954-b2e9-8a6a768fe46c": { - "process_core": { - "process_id": "process_id_18" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "eb10f476-5ffe-4954-b2e9-8a6a768fe46c", - "submission_date": "2021-05-10T23:25:12.223Z", - "update_date": "2021-05-10T23:25:51.592Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/f70ce593-fe86-4bef-9e0b-c68a09a12ccc": { - "process_core": { - "process_id": "process_id_12" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "f70ce593-fe86-4bef-9e0b-c68a09a12ccc", - "submission_date": "2021-05-10T23:25:12.057Z", - "update_date": "2021-05-10T23:25:51.214Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/f89c0972-79b4-4338-b37c-7bbfdc121f60": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994901" - }, - "process_core": { - "process_id": "SRX8994901" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "f89c0972-79b4-4338-b37c-7bbfdc121f60", - "submission_date": "2021-05-10T23:25:12.400Z", - "update_date": "2021-05-10T23:26:07.579Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/fed76aa9-d126-4747-b53e-b357fbbaed47": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX8994898" - }, - "process_core": { - "process_id": "SRX8994898" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "fed76aa9-d126-4747-b53e-b357fbbaed47", - "submission_date": "2021-05-10T23:25:12.382Z", - "update_date": "2021-05-10T23:26:03.754Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "analysis_file/31e6cb06-0062-4096-84f5-c2d1c2621a82": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.3.0/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "heart-counts.Rds", - "format": "Rds", - "file_source": "Contributor", - "content_description": [ - { - "text": "raw counts matrix", - "ontology": "data:3917", - "ontology_label": "Count matrix" - } - ] - }, - "matrix_cell_count": 54140, - "provenance": { - "document_id": "31e6cb06-0062-4096-84f5-c2d1c2621a82", - "submission_date": "2021-05-10T23:25:11.821Z", - "update_date": "2021-05-14T05:02:10.921Z", - "schema_major_version": 6, - "schema_minor_version": 3 - } - }, - "analysis_file/581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.3.0/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "cellinfo_updated.Rds", - "format": "Rds", - "file_source": "Contributor", - "content_description": [ - { - "text": "cell level metadata" - } - ] - }, - "matrix_cell_count": 54140, - "provenance": { - "document_id": "581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca", - "submission_date": "2021-05-10T23:25:11.795Z", - "update_date": "2021-05-14T05:01:58.932Z", - "schema_major_version": 6, - "schema_minor_version": 3 - } - }, - "analysis_file/d3b3abc2-0da6-4163-acb8-251fe079284c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.3.0/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "heartFYA.Rds", - "format": "Rds", - "file_source": "Contributor", - "content_description": [ - { - "text": "seurat object", - "ontology": "data:3112", - "ontology_label": "Gene expression matrix" - } - ] - }, - "matrix_cell_count": 54140, - "provenance": { - "document_id": "d3b3abc2-0da6-4163-acb8-251fe079284c", - "submission_date": "2021-05-10T23:25:11.836Z", - "update_date": "2021-05-14T05:02:49.918Z", - "schema_major_version": 6, - "schema_minor_version": 3 - } - }, - "donor_organism/04240909-9185-48d3-a4e9-9eb71b3c6648": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "adult3", - "biomaterial_name": "Adult 3", - "biomaterial_description": "healthy non-cardiovascular disease, Adult, sample 16 in supplementary file", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "yes", - "organism_age": "42", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "development_stage": { - "text": "adult stage", - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "unknown" - }, - "provenance": { - "document_id": "04240909-9185-48d3-a4e9-9eb71b3c6648", - "submission_date": "2021-05-10T23:24:54.910Z", - "update_date": "2021-05-10T23:25:14.315Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "donor_organism/28899ffa-f480-4ee6-8ccf-30e90f8a7482": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "adult1", - "biomaterial_name": "Adult 1", - "biomaterial_description": "healthy non-cardiovascular disease,Adult, sample 14 in supplementary file", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "yes", - "organism_age": "35", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "development_stage": { - "text": "adult stage", - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "unknown" - }, - "provenance": { - "document_id": "28899ffa-f480-4ee6-8ccf-30e90f8a7482", - "submission_date": "2021-05-10T23:24:54.891Z", - "update_date": "2021-05-10T23:25:14.124Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "donor_organism/35e1a941-427f-430c-80a0-9a9efcdcac37": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "young1", - "biomaterial_name": "Young 1", - "biomaterial_description": "healthy non-cardiovascular disease,Young,sample 10 in supplementary file", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "yes", - "organism_age": "4", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "development_stage": { - "text": "child stage", - "ontology": "HsapDv:0000081", - "ontology_label": "child stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "unknown" - }, - "provenance": { - "document_id": "35e1a941-427f-430c-80a0-9a9efcdcac37", - "submission_date": "2021-05-10T23:24:54.955Z", - "update_date": "2021-05-10T23:25:14.536Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "donor_organism/4d5d95a5-78af-4076-af8d-a4c6ac315f14": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "young2", - "biomaterial_name": "Young 2", - "biomaterial_description": "healthy non-cardiovascular disease,Young,sample 12 in supplementary file", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "yes", - "organism_age": "10", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "development_stage": { - "text": "child stage", - "ontology": "HsapDv:0000081", - "ontology_label": "child stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "unknown" - }, - "provenance": { - "document_id": "4d5d95a5-78af-4076-af8d-a4c6ac315f14", - "submission_date": "2021-05-10T23:24:54.968Z", - "update_date": "2021-05-10T23:25:14.584Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "donor_organism/804eb3bf-15a9-47d9-81a7-d19b060c5425": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "fetal3", - "biomaterial_name": "Fetal 3", - "biomaterial_description": "healthy non-cardiovascular disease,Fetal,female sample 06 in supplementary", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "gestational_age": "20", - "gestational_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "fetal", - "ontology": "HsapDv:0000037", - "ontology_label": "fetal stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "elective termination" - }, - "provenance": { - "document_id": "804eb3bf-15a9-47d9-81a7-d19b060c5425", - "submission_date": "2021-05-10T23:24:54.943Z", - "update_date": "2021-05-10T23:25:14.484Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "donor_organism/cf1aab9f-caf1-4fe3-9724-61f6475f332b": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "fetal2", - "biomaterial_name": "Fetal 2", - "biomaterial_description": "healthy non-cardiovascular disease,Fetal,male, sample 04 in supplementary", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "no", - "gestational_age": "19", - "gestational_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "fetal", - "ontology": "HsapDv:0000037", - "ontology_label": "fetal stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "elective termination" - }, - "provenance": { - "document_id": "cf1aab9f-caf1-4fe3-9724-61f6475f332b", - "submission_date": "2021-05-10T23:24:54.929Z", - "update_date": "2021-05-10T23:25:14.433Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "donor_organism/e57453f7-04f8-445a-9b64-24c5b82d95c4": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "adult2", - "biomaterial_name": "Adult 2", - "biomaterial_description": "healthy non-cardiovascular disease,Adult, sample 15 in supplementary file", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "yes", - "organism_age": "41", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "development_stage": { - "text": "adult stage", - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "unknown" - }, - "provenance": { - "document_id": "e57453f7-04f8-445a-9b64-24c5b82d95c4", - "submission_date": "2021-05-10T23:24:54.900Z", - "update_date": "2021-05-10T23:25:14.177Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "donor_organism/e5bba055-1268-4e04-99ea-71660fd31c08": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "young3", - "biomaterial_name": "Young 3", - "biomaterial_description": "healthy non-cardiovascular disease,Young,sample 13 in supplementary file", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "yes", - "organism_age": "14", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "development_stage": { - "text": "adolescent stage", - "ontology": "HsapDv:0000086", - "ontology_label": "adolescent stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "unknown" - }, - "provenance": { - "document_id": "e5bba055-1268-4e04-99ea-71660fd31c08", - "submission_date": "2021-05-10T23:24:54.983Z", - "update_date": "2021-05-10T23:25:14.638Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "donor_organism/e9f719d5-786b-439e-bdb5-1a0434d1e815": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "fetal1", - "biomaterial_name": "Fetal 1", - "biomaterial_description": "healthy non-cardiovascular disease,Fetal,male, sample 05 in supplementary", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "no", - "gestational_age": "19", - "gestational_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "fetal", - "ontology": "HsapDv:0000037", - "ontology_label": "fetal stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "elective termination" - }, - "provenance": { - "document_id": "e9f719d5-786b-439e-bdb5-1a0434d1e815", - "submission_date": "2021-05-10T23:24:54.919Z", - "update_date": "2021-05-10T23:25:14.385Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "library_preparation_protocol/72975432-3c46-449a-a4d9-809712d10577": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "snrnaseq_library_protocol", - "protocol_name": "snRNAseq Library Preparation", - "protocol_description": "Sorted nuclei were counted on a haemocytometer to calculate nuclei density and then loaded onto the Chromium Controller (10X Genomics) for gel bead emulsion (GEM) formation with ~10,000 nuclei loaded per sample for library preparation. Following GEM formation, library preparation was conducted according to the manufacturer\u2019s recommended protocol using the Chromium Next GEM Single Cell 3\u2019 GEM, Library & Gel Bead Kit v3.1." - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 16, - "barcode_length": 12 - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "first", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "nucleic_acid_source": "single nucleus", - "library_construction_method": { - "text": "10x v3.1 3'", - "ontology": "EFO:0009922", - "ontology_label": "10x 3' v3 sequencing" - }, - "library_construction_kit": { - "retail_name": "Chromium Next GEM Single Cell 3\u2019 GEM, Library & Gel Bead Kit v3.1", - "manufacturer": "10x Genomics" - }, - "provenance": { - "document_id": "72975432-3c46-449a-a4d9-809712d10577", - "submission_date": "2021-05-10T23:24:55.271Z", - "update_date": "2021-05-10T23:25:24.897Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "dissociation_protocol/0e1884e4-310f-4afb-9721-e0721a290498": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "nuclei_isolation", - "protocol_name": "Nuclei isolation", - "protocol_description": "Cardiac nuclei were isolated as previously described with minor modifications. For single nucleus RNA sequencing (snRNA-seq), ~20-100 mg of human left ventricular tissue was used per sample whereas ~0.5-1 g of tissue was required for bulk RNA-seq of purified cardiomyocyte nuclei (mouse and human)12. All steps were conducted on ice.", - "publication_doi": "10.3791/4205" - }, - "method": { - "text": "mechanical dissociation", - "ontology": "EFO:0009129", - "ontology_label": "mechanical dissociation" - }, - "provenance": { - "document_id": "0e1884e4-310f-4afb-9721-e0721a290498", - "submission_date": "2021-05-10T23:24:55.241Z", - "update_date": "2021-05-10T23:25:24.860Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "specimen_from_organism/24023592-6f24-47d3-98ea-3c9e03cf3fc4": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "adult3_LV", - "biomaterial_name": "Adult3 LV", - "biomaterial_description": "human left ventricle heart muscle,~100mg of left ventricular heart muscle,healthy non-cardiovascular disease,Adult,male", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889157", - "insdc_sample_accession": "SRS7248790" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "heart", - "ontology": "UBERON:0000948", - "ontology_label": "heart" - }, - "organ_parts": [ - { - "text": "left ventricle", - "ontology": "UBERON:0002084", - "ontology_label": "heart left ventricle" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "preservation_storage": { - "storage_method": "frozen in liquid nitrogen", - "preservation_method": "cryopreservation, other" - }, - "provenance": { - "document_id": "24023592-6f24-47d3-98ea-3c9e03cf3fc4", - "submission_date": "2021-05-10T23:24:55.019Z", - "update_date": "2021-05-10T23:25:14.865Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/5bd31092-57c0-4d69-aa2b-72d902872cca": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "fetal2_LV", - "biomaterial_name": "Fetal2 LV", - "biomaterial_description": "human left ventricle heart muscle,~100mg of left ventricular heart muscle,healthy non-cardiovascular disease,Fetal,male", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889155", - "insdc_sample_accession": "SRS7248792" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "heart", - "ontology": "UBERON:0000948", - "ontology_label": "heart" - }, - "organ_parts": [ - { - "text": "left ventricle", - "ontology": "UBERON:0002084", - "ontology_label": "heart left ventricle" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "purchased_specimen": { - "manufacturer": "Advanced Bioscience Resources" - }, - "provenance": { - "document_id": "5bd31092-57c0-4d69-aa2b-72d902872cca", - "submission_date": "2021-05-10T23:24:55.037Z", - "update_date": "2021-05-10T23:25:15.094Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/6e669924-95c7-4aef-bd34-6dd28bf29fdd": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "young2_LV", - "biomaterial_name": "Young2 LV", - "biomaterial_description": "human left ventricle heart muscle,~100mg of left ventricular heart muscle,healthy non-cardiovascular disease,Young,female", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889152", - "insdc_sample_accession": "SRS7248795" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "heart", - "ontology": "UBERON:0000948", - "ontology_label": "heart" - }, - "organ_parts": [ - { - "text": "left ventricle", - "ontology": "UBERON:0002084", - "ontology_label": "heart left ventricle" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "preservation_storage": { - "storage_method": "frozen in liquid nitrogen", - "preservation_method": "cryopreservation, other" - }, - "provenance": { - "document_id": "6e669924-95c7-4aef-bd34-6dd28bf29fdd", - "submission_date": "2021-05-10T23:24:55.067Z", - "update_date": "2021-05-10T23:25:15.365Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/8df6ce25-29e1-41a9-af33-d665ff8ca4e7": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "adult2_LV", - "biomaterial_name": "Adult2 LV", - "biomaterial_description": "human left ventricle heart muscle,~100mg of left ventricular heart muscle,healthy non-cardiovascular disease,Adult,male", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889158", - "insdc_sample_accession": "SRS7248789" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "heart", - "ontology": "UBERON:0000948", - "ontology_label": "heart" - }, - "organ_parts": [ - { - "text": "left ventricle", - "ontology": "UBERON:0002084", - "ontology_label": "heart left ventricle" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "preservation_storage": { - "storage_method": "frozen in liquid nitrogen", - "preservation_method": "cryopreservation, other" - }, - "provenance": { - "document_id": "8df6ce25-29e1-41a9-af33-d665ff8ca4e7", - "submission_date": "2021-05-10T23:24:55.006Z", - "update_date": "2021-05-10T23:25:14.801Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/a9cc38f8-0a0e-488b-b0c7-2c77f091d0ce": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "young1_LV", - "biomaterial_name": "Young1 LV", - "biomaterial_description": "human left ventricle heart muscle,~100mg of left ventricular heart muscle,healthy non-cardiovascular disease,Young,male", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889153", - "insdc_sample_accession": "SRS7248794" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "heart", - "ontology": "UBERON:0000948", - "ontology_label": "heart" - }, - "organ_parts": [ - { - "text": "left ventricle", - "ontology": "UBERON:0002084", - "ontology_label": "heart left ventricle" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "preservation_storage": { - "storage_method": "frozen in liquid nitrogen", - "preservation_method": "cryopreservation, other" - }, - "provenance": { - "document_id": "a9cc38f8-0a0e-488b-b0c7-2c77f091d0ce", - "submission_date": "2021-05-10T23:24:55.057Z", - "update_date": "2021-05-10T23:25:15.265Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/ae5b7895-01cf-4a6e-aee0-8b58e820313c": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "adult1_LV", - "biomaterial_name": "Adult1 LV", - "biomaterial_description": "human left ventricle heart muscle,~100mg of left ventricular heart muscle,healthy non-cardiovascular disease,Adult,female", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889159", - "insdc_sample_accession": "SRS7248788" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "heart", - "ontology": "UBERON:0000948", - "ontology_label": "heart" - }, - "organ_parts": [ - { - "text": "left ventricle", - "ontology": "UBERON:0002084", - "ontology_label": "heart left ventricle" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "preservation_storage": { - "storage_method": "frozen in liquid nitrogen", - "preservation_method": "cryopreservation, other" - }, - "provenance": { - "document_id": "ae5b7895-01cf-4a6e-aee0-8b58e820313c", - "submission_date": "2021-05-10T23:24:54.995Z", - "update_date": "2021-05-10T23:25:14.725Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/b8edcc72-efe5-44da-b478-9761be75a127": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "fetal3_LV", - "biomaterial_name": "Fetal3 LV", - "biomaterial_description": "human left ventricle heart muscle,~100mg of left ventricular heart muscle,healthy non-cardiovascular disease,Fetal,female", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889154", - "insdc_sample_accession": "SRS7248793" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "heart", - "ontology": "UBERON:0000948", - "ontology_label": "heart" - }, - "organ_parts": [ - { - "text": "left ventricle", - "ontology": "UBERON:0002084", - "ontology_label": "heart left ventricle" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "purchased_specimen": { - "manufacturer": "Advanced Bioscience Resources" - }, - "provenance": { - "document_id": "b8edcc72-efe5-44da-b478-9761be75a127", - "submission_date": "2021-05-10T23:24:55.047Z", - "update_date": "2021-05-10T23:25:15.198Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/c86979f7-726d-441b-a525-1a3369492695": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "fetal1_LV", - "biomaterial_name": "Fetal1 LV", - "biomaterial_description": "human left ventricle heart muscle,~100mg of left ventricular heart muscle,healthy non-cardiovascular disease,Fetal,male", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889156", - "insdc_sample_accession": "SRS7248791" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "heart", - "ontology": "UBERON:0000948", - "ontology_label": "heart" - }, - "organ_parts": [ - { - "text": "left ventricle", - "ontology": "UBERON:0002084", - "ontology_label": "heart left ventricle" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "purchased_specimen": { - "manufacturer": "Advanced Bioscience Resources" - }, - "provenance": { - "document_id": "c86979f7-726d-441b-a525-1a3369492695", - "submission_date": "2021-05-10T23:24:55.028Z", - "update_date": "2021-05-10T23:25:14.982Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "specimen_from_organism/f55166a1-c4f0-4fda-ac9f-164489040ee5": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "young3_LV", - "biomaterial_name": "Young3 LV", - "biomaterial_description": "human left ventricle heart muscle,~100mg of left ventricular heart muscle,healthy non-cardiovascular disease,Young,male", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889151", - "insdc_sample_accession": "SRS7248796" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "heart", - "ontology": "UBERON:0000948", - "ontology_label": "heart" - }, - "organ_parts": [ - { - "text": "left ventricle", - "ontology": "UBERON:0002084", - "ontology_label": "heart left ventricle" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "preservation_storage": { - "storage_method": "frozen in liquid nitrogen", - "preservation_method": "cryopreservation, other" - }, - "provenance": { - "document_id": "f55166a1-c4f0-4fda-ac9f-164489040ee5", - "submission_date": "2021-05-10T23:24:55.076Z", - "update_date": "2021-05-10T23:25:15.434Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "enrichment_protocol/48f7f503-d213-4447-9ee4-3602da1066d7": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "nuclei_sorting", - "protocol_name": "Nuclei sorting", - "protocol_description": "Isolated nuclei were stained with Hoechst 33342 (Thermo Fisher Scientific) prior to sorting on an Influx cell sorter (BD) with 70 \u03bcM nozzle and 60 psi pressure setting. Sorted nuclei were counted on a haemocytometer to calculate nuclei density", - "publication_doi": "10.3791/4205" - }, - "method": { - "text": "size slection", - "ontology": "EFO:0009337", - "ontology_label": "cell size selection" - }, - "maximum_size": 70, - "provenance": { - "document_id": "48f7f503-d213-4447-9ee4-3602da1066d7", - "submission_date": "2021-05-10T23:24:55.250Z", - "update_date": "2021-05-10T23:25:24.876Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - }, - "analysis_protocol/07f1f962-dd38-4a0b-b0b5-f4efe30d21e2": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/9.2.0/analysis_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "snSeq_analysis", - "protocol_name": "Single nuclei seq analysis", - "protocol_description": "The sequencing reads were mapped, processed and counted using Cell Ranger (v3.0.2), resulting in a table of unique molecular identifier (UMI) counts for 33,939 genes for each of the nine samples. The number of cells captured per biological replicate ranged from 1,681 to 10,948 with a median of 5,558. All subsequent analysis was performed using the R statistical programming language (v3.6.0). The quality of the cells was assessed for each sample independently by examining the total number of cells, the distributions of total UMI counts, the number of unique genes detected and the proportions of ribosomal and mitochondrial content per cell. For each developmental group (fetal, young, adult) we performed gene filtering, SCTransform normalization, data integration of the three biological replicates, data scaling and graph based clustering separately, using the R package Seurat (v3.0.2). For gene filtering, mitochondrial and ribosomal genes were discarded, as well as genes that were not annotated. Genes that had at least one count in at least 20 cells were retained for further analysis, assuming a minimum cluster size of 20 cells. All genes on the X and Y chromosomes were removed prior to clustering and all subsequent analysis. Data integration of the biological replicates for each group was performed using Canonical Correlation Analysis with 30 dimensions and 3000 integration anchors followed by data scaling. Clustering of the cells was performed with 20 principal components (PCs) and resolution parameter set to 0.3 for fetal and young samples, and 0.6 for adult samples. Taking this strategy, 22, 17 and 21 clusters were identified in the fetal, young and adult samples respectively." - }, - "type": { - "text": "data transformation", - "ontology": "OBI:0200000", - "ontology_label": "data transformation" - }, - "computational_method": "https://bphipson.github.io/Human_Development_snRNAseq/", - "matrix": { - "derivation_process": [ - "alignment", - "quantification", - "gene filtering", - "cell filtering", - "depth normalization" - ] - }, - "provenance": { - "document_id": "07f1f962-dd38-4a0b-b0b5-f4efe30d21e2", - "submission_date": "2021-05-10T23:24:55.328Z", - "update_date": "2021-05-10T23:25:24.970Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "project/bd400331-54b9-4fcc-bff6-6bb8b079ee1f": { - "contributors": [ - { - "name": "Choon Boon,,Sim", - "institution": "Murdoch Children's Research Institute, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; Melbourne Centre for Cardiovascular Genomics and Regenerative Medicine, The Royal Children's Hospital, Melbourne 3052, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Belinda,,Phipson", - "institution": "Murdoch Children's Research Institute, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; Peter MacCallum Cancer Centre, The University of Melbourne, Melbourne 3000, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Mark,,Ziemann", - "institution": "Department of Diabetes, Central Clinical School, Alfred Centre, Monash University, Melbourne 3004, VIC, Australia; School of Life and Environmental Sciences, Deakin University, Waurn Ponds 3216, VIC, Australia; Baker Heart and Diabetes Institute, Melbourne 3004, VIC, Australia.", - "country": "Australia", - "orcid_id": "0000-0002-7688-6974" - }, - { - "name": "Haloom,,Rafehi", - "institution": "Department of Diabetes, Central Clinical School, Alfred Centre, Monash University, Melbourne 3004, VIC, Australia; Baker Heart and Diabetes Institute, Melbourne 3004, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Richard J,,Mills", - "institution": "QIMR Berghofer Medical Research Institute, Brisbane 4006, QLD, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Kevin I,,Watt", - "institution": "Baker Heart and Diabetes Institute, Melbourne 3004, VIC, Australia; Department of Anatomy and Physiology, School of Biomedical Sciences, The University of Melbourne, Melbourne 3052, VIC, Australia; Centre for Muscle Research, School of Biomedical Sciences, The University of Melbourne, Melbourne 3052, VIC, Australia.", - "country": "Australia", - "orcid_id": "0000-0001-7475-4487" - }, - { - "name": "Kwaku D,,Abu-Bonsrah", - "institution": "Murdoch Children's Research Institute, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; 2 Melbourne Centre for Cardiovascular Genomics and Regenerative Medicine, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; Department of Paediatrics, The University of Melbourne, Melbourne 3052, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Ravi K R,,Kalathur", - "institution": "Murdoch Children's Research Institute, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; 2 Melbourne Centre for Cardiovascular Genomics and Regenerative Medicine, The Royal Children's Hospital, Melbourne 3052, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Holly K,,Voges", - "institution": "Murdoch Children's Research Institute, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; Department of Paediatrics, The University of Melbourne, Melbourne 3052, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Doan T,,Dinh", - "institution": "Robinson Research Institute, The University of Adelaide, Adelaide 5006, SA, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Menno,,Ter Huurne", - "institution": "Murdoch Children's Research Institute, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; 2 Melbourne Centre for Cardiovascular Genomics and Regenerative Medicine, The Royal Children's Hospital, Melbourne 3052, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Celine J,,Vivien", - "institution": "Murdoch Children's Research Institute, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; 2 Melbourne Centre for Cardiovascular Genomics and Regenerative Medicine, The Royal Children's Hospital, Melbourne 3052, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Antony,,Kaspi", - "institution": "Department of Diabetes, Central Clinical School, Alfred Centre, Monash University, Melbourne 3004, VIC, Australia; Baker Heart and Diabetes Institute, Melbourne 3004, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Harikrishnan,,Kaipananickal", - "institution": "Department of Diabetes, Central Clinical School, Alfred Centre, Monash University, Melbourne 3004, VIC, Australia; Baker Heart and Diabetes Institute, Melbourne 3004, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Alejandro,,Hidalgo", - "institution": "Murdoch Children's Research Institute, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; Department of Paediatrics, The University of Melbourne, Melbourne 3052, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Lea M D,,Delbridge", - "institution": "Melbourne Centre for Cardiovascular Genomics and Regenerative Medicine, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; Department of Anatomy and Physiology, School of Biomedical Sciences, The University of Melbourne, Melbourne 3052, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Rebecca L,,Robker", - "institution": "Robinson Research Institute, The University of Adelaide, Adelaide 5006, SA, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Paul,,Gregorevic", - "institution": "Baker Heart and Diabetes Institute, Melbourne 3004, VIC, Australia; Department of Anatomy and Physiology, School of Biomedical Sciences, The University of Melbourne, Melbourne 3052, VIC, Australia; Centre for Muscle Research, School of Biomedical Sciences, The University of Melbourne, Melbourne 3052, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Cristobal G,,Dos Remedios", - "institution": "School of Medical Sciences, The University of Sydney, Sydney 2050, NSW, Australia; Victor Chang Cardiac Research Institute, Darlinghurst, Sydney 2010, NSW, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Sean,,Lal", - "institution": "School of Medical Sciences, The University of Sydney, Sydney 2050, NSW, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Adam T,,Piers", - "institution": "Murdoch Children's Research Institute, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; 2 Melbourne Centre for Cardiovascular Genomics and Regenerative Medicine, The Royal Children's Hospital, Melbourne 3052, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Igor E,,Konstantinov", - "institution": "Murdoch Children's Research Institute, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; 2 Melbourne Centre for Cardiovascular Genomics and Regenerative Medicine, The Royal Children's Hospital, Melbourne 3052, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "David A,,Elliott", - "institution": "Murdoch Children's Research Institute, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; 2 Melbourne Centre for Cardiovascular Genomics and Regenerative Medicine, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; Department of Paediatrics, The University of Melbourne, Melbourne 3052, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Assam,,El-Osta", - "institution": "Department of Diabetes, Central Clinical School, Alfred Centre, Monash University, Melbourne 3004, VIC, Australia; Baker Heart and Diabetes Institute, Melbourne 3004, VIC, Australia; Hong Kong Institute of Diabetes and Obesity, Prince of Wales Hospital, The Chinese University of Hong Kong, Hong Kong, China; Li Ka Shing Institute of Health Sciences, The Chinese University of Hong Kong, Hong Kong, China.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Alicia,,Oshlack", - "institution": "Murdoch Children's Research Institute, The Royal Children's Hospital, Melbourne 3052, VIC, Australia; Peter MacCallum Cancer Centre, The University of Melbourne, Melbourne 3000, VIC, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "James E,,Hudson", - "institution": "QIMR Berghofer Medical Research Institute, Brisbane 4006, QLD, Australia; Centre for Cardiac and Vascular Biology, School of Biomedical Sciences, The University of Queensland, Brisbane 4072, QLD, Australia.", - "country": "Australia", - "orcid_id": "" - }, - { - "name": "Enzo,R,Porrello", - "email": "enzo.porrello@mcri.edu.au", - "institution": "Murdoch Children's Research Institute", - "address": "The Royal Children's Hospital, Melbourne 3052, VIC,", - "country": "Australia", - "corresponding_contributor": true, - "orcid_id": "" - }, - { - "name": "Marion,,Shadbolt", - "institution": "EMBL-EBI", - "country": "UK", - "project_role": { - "text": "data curator", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - } - ], - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "funders": [ - { - "grant_id": "not provided", - "organization": "National Health and Medical Research Council of Australia (NHMRC)" - }, - { - "grant_id": "not provided", - "organization": "Australian Research Council" - }, - { - "grant_id": "not provided", - "organization": "Heart Foundation of Australia" - }, - { - "grant_id": "not provided", - "organization": "Stafford Fox Medical Research Foundation" - }, - { - "grant_id": "not provided", - "organization": "Royal Children's Hospital Foundation" - }, - { - "grant_title": "Victorian Government\u2019s Operational Infrastructure Support Program", - "grant_id": "not provided", - "organization": "Victorian Government" - } - ], - "geo_series_accessions": [ - "GSE156702", - "GSE156703", - "GSE156704" - ], - "insdc_project_accessions": [ - "SRP278523", - "SRP278522", - "SRP278524" - ], - "insdc_study_accessions": [ - "PRJNA658799", - "PRJNA658797", - "PRJNA658798" - ], - "project_core": { - "project_short_name": "HumanHeartMaturationsnSeq", - "project_title": "Sex-Specific Control of Human Heart Maturation by the Progesterone Receptor.", - "project_description": "Background: Despite in-depth knowledge of the molecular mechanisms controlling embryonic heart development, little is known about the signals governing postnatal maturation of the human heart. Methods: Single nucleus RNA-sequencing (snRNA-seq) of 54,140 nuclei from 9 human donors was used to profile transcriptional changes in diverse cardiac cell types during maturation from fetal stages to adulthood. Bulk RNA-sequencing and the assay for transposase-accessible chromatin using sequencing (ATAC-seq) were used to further validate transcriptional changes and to profile alterations in the chromatin accessibility landscape in purified cardiomyocyte nuclei from 21 human donors. Functional validation studies of sex steroids implicated in cardiac maturation were performed in human pluripotent stem cell-derived cardiac organoids and mice. Results: Our data identify the progesterone receptor as a key mediator of sex-dependent transcriptional programs during cardiomyocyte maturation. Functional validation studies in human cardiac organoids and mice demonstrate the progesterone receptor drives sex-specific metabolic programs and maturation of cardiac contractile properties. Conclusions: These data provide a blueprint for understanding human heart maturation in both sexes and reveal an important role for the progesterone receptor in human heart development." - }, - "publications": [ - { - "authors": [ - "Sim CB", - " Phipson B", - " Ziemann M", - " Rafehi H", - " Mills RJ", - " Watt KI", - " Abu-Bonsrah KD", - " Kalathur RKR", - " Voges HK", - " Dinh DT", - " Ter Huurne M", - " Vivien CJ", - " Kaspi A", - " Kaipananickal H", - " Hidalgo A", - " Delbridge LMD", - " Robker RL", - " Gregorevic P", - " Dos Remedios CG", - " Lal S", - " Piers AT", - " Konstantinov IE", - " Elliott DA", - " El-Osta A", - " Oshlack A", - " Hudson JE", - " Porrello ER" - ], - "title": "Sex-Specific Control of Human Heart Maturation by the Progesterone Receptor.", - "doi": "10.1161/circulationaha.120.051921", - "pmid": 33682422, - "url": "https://doi.org/10.1161/circulationaha.120.051921" - } - ], - "schema_type": "project", - "supplementary_links": [ - "https://bphipson.github.io/Human_Development_snRNAseq/", - "https://evangelynsim.github.io/Human_Development_RNAseq_bulk/", - "https://evangelynsim.github.io/Human_Development_ATACseq_bulk/", - "https://evangelynsim.github.io/Mouse_AA V_PGR_RNAseq_bulk/", - "https://evangelynsim.github.io/Mouse_PRKO_RNAseq_bulk/" - ], - "provenance": { - "document_id": "bd400331-54b9-4fcc-bff6-6bb8b079ee1f", - "submission_date": "2021-04-14T11:14:58.174Z", - "update_date": "2021-05-10T23:25:14.074Z", - "schema_major_version": 14, - "schema_minor_version": 1 - } - }, - "collection_protocol/572a625b-119a-4099-b5eb-d2994f8846bf": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sydney_heart_collection", - "protocol_name": "Sydney Heart Bank Collection", - "protocol_description": "For human heart tissues obtained from the Sydney Heart Bank, donor tissues were procured from hearts that were not used for transplantation due to donor-recipient mismatch in size, immune incompatibility or transportation logistics, as previously described49-51. These samples are not post-mortem and are collected and snap frozen (\u2212196 \u00b0C) immediately within the operating theatre. Histological analysis of the donor samples were shown to be structurally normal as per formal pathological examination49-51." - }, - "method": { - "text": "surgical resection", - "ontology": "EFO:0009744", - "ontology_label": "surgical resection" - }, - "provenance": { - "document_id": "572a625b-119a-4099-b5eb-d2994f8846bf", - "submission_date": "2021-05-10T23:24:55.213Z", - "update_date": "2021-05-10T23:25:24.829Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "collection_protocol/67fa2c3e-ba97-4bc6-beb9-92ea33bec948": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "melbourne_heart_collection", - "protocol_name": "Melbourne Children\u2019s Heart Tissue Bank Collection", - "protocol_description": "For human heart tissues obtained from the Melbourne Children\u2019s Heart Tissue Bank, donor tissues were collected within the operating theatre. These samples are not post-mortem. All donor hearts were assessed for normal cardiac function based on clinical history, echocardiography and serum cardiac troponin and creatine kinase levels. The time from tissue resection to freezing was recorded (typically <1 hour). For long-term storage, samples were stored at \u2212170 to \u2212180 \u00b0C." - }, - "method": { - "text": "surgical resection", - "ontology": "EFO:0009744", - "ontology_label": "surgical resection" - }, - "provenance": { - "document_id": "67fa2c3e-ba97-4bc6-beb9-92ea33bec948", - "submission_date": "2021-05-10T23:24:55.223Z", - "update_date": "2021-05-10T23:25:24.839Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "collection_protocol/dbeb62b8-e3e8-40f4-a06d-477ed495dfd9": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "fetal_heart_collection", - "protocol_name": "Fetal Heart Collection", - "protocol_description": "Fetal tissues were procured from Advanced Bioscience Resources (CA, USA). ABR procures the fetal tissues in the clinics or hospitals on the day of surgery, usually within 5 - 10 minutes after the procedure is completed. We would keep the tissues cold until we could snap freeze, but that generally would be within a half an hour of procurement. The snap frozen samples were then transported in dry ice via international flight to us and we transferred the specimens to liquid nitrogen for long term storage." - }, - "method": { - "text": "dissection", - "ontology": "EFO:0003856", - "ontology_label": "dissection" - }, - "provenance": { - "document_id": "dbeb62b8-e3e8-40f4-a06d-477ed495dfd9", - "submission_date": "2021-05-10T23:24:55.232Z", - "update_date": "2021-05-10T23:25:24.849Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "cell_suspension/2129a373-0919-4c91-bf59-adf4de6566f5": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "adult2_LV_nuclei", - "biomaterial_name": "adult2 nuclei-GSM4742855", - "biomaterial_description": "Nuclei from left ventricle of adult 2", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889158", - "insdc_sample_accession": "SRS7248789" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "2129a373-0919-4c91-bf59-adf4de6566f5", - "submission_date": "2021-05-10T23:24:55.095Z", - "update_date": "2021-05-10T23:25:19.141Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/3bb2457a-505f-4f04-b5f9-71e351be791f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "fetal3_LV_nuclei", - "biomaterial_name": "fetal3 nuclei-GSM4742859", - "biomaterial_description": "Nuclei from left ventricle of fetus 3", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889154", - "insdc_sample_accession": "SRS7248793" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "3bb2457a-505f-4f04-b5f9-71e351be791f", - "submission_date": "2021-05-10T23:24:55.135Z", - "update_date": "2021-05-10T23:25:22.149Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/5e811f8c-aa77-43f5-9197-f69c067b6e83": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "young2_LV_nuclei", - "biomaterial_name": "young2 nuclei-GSM4742861", - "biomaterial_description": "Nuclei from left ventricle of young donor 2", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889152", - "insdc_sample_accession": "SRS7248795" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "5e811f8c-aa77-43f5-9197-f69c067b6e83", - "submission_date": "2021-05-10T23:24:55.165Z", - "update_date": "2021-05-10T23:25:23.529Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/60e4296c-5d92-4c12-bf4e-f5fe08f01614": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "young3_LV_nuclei", - "biomaterial_name": "young3 nuclei-GSM4742862", - "biomaterial_description": "Nuclei from left ventricle of young donor 3", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889151", - "insdc_sample_accession": "SRS7248796" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "60e4296c-5d92-4c12-bf4e-f5fe08f01614", - "submission_date": "2021-05-10T23:24:55.175Z", - "update_date": "2021-05-10T23:25:24.432Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/871337d9-1c55-4c97-8f67-2da1fff00847": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "adult3_LV_nuclei", - "biomaterial_name": "adult3 nuclei-GSM4742856", - "biomaterial_description": "Nuclei from left ventricle of adult 3", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889157", - "insdc_sample_accession": "SRS7248790" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "871337d9-1c55-4c97-8f67-2da1fff00847", - "submission_date": "2021-05-10T23:24:55.105Z", - "update_date": "2021-05-10T23:25:19.788Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/92363365-2bef-43b5-bb58-7a66b7cf57dc": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "young1_LV_nuclei", - "biomaterial_name": "young1 nuclei-GSM4742860", - "biomaterial_description": "Nuclei from left ventricle of young donor 1", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889153", - "insdc_sample_accession": "SRS7248794" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "92363365-2bef-43b5-bb58-7a66b7cf57dc", - "submission_date": "2021-05-10T23:24:55.155Z", - "update_date": "2021-05-10T23:25:22.603Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/f21781e9-e5c7-48ff-9d7d-0e3637968279": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "fetal2_LV_nuclei", - "biomaterial_name": "fetal2 nuclei-GSM4742858", - "biomaterial_description": "Nuclei from left ventricle of fetus 2", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889155", - "insdc_sample_accession": "SRS7248792" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "f21781e9-e5c7-48ff-9d7d-0e3637968279", - "submission_date": "2021-05-10T23:24:55.124Z", - "update_date": "2021-05-10T23:25:21.173Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/fc1541f1-27bb-4cd1-be90-2b04c29a902e": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "adult1_LV_nuclei", - "biomaterial_name": "adult1 nuclei-GSM4742854", - "biomaterial_description": "Nuclei from left ventricle of adult 1", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889159", - "insdc_sample_accession": "SRS7248788" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "fc1541f1-27bb-4cd1-be90-2b04c29a902e", - "submission_date": "2021-05-10T23:24:55.085Z", - "update_date": "2021-05-10T23:25:17.947Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/fdb8e413-a62a-4c6c-9890-3945c0f19ce8": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "fetal1_LV_nuclei", - "biomaterial_name": "fetal1 nuclei-GSM4742857", - "biomaterial_description": "Nuclei from left ventricle of fetus 1", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN15889156", - "insdc_sample_accession": "SRS7248791" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "fdb8e413-a62a-4c6c-9890-3945c0f19ce8", - "submission_date": "2021-05-10T23:24:55.115Z", - "update_date": "2021-05-10T23:25:20.702Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "sequencing_protocol/63db242f-a88b-4deb-b1e4-3677ade32d18": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "snrnaseq_sequencing_protocol", - "protocol_name": "snRNA-seq Sequencing", - "protocol_description": "Libraries were sequenced on the NovaSeq 6000 (Illumina) at 50,000 reads per nuclei resolution." - }, - "instrument_manufacturer_model": { - "text": "NovaSeq 6000", - "ontology": "EFO:0008637", - "ontology_label": "Illumina NovaSeq 6000" - }, - "paired_end": false, - "method": { - "text": "tag based single nucleus RNA sequencing", - "ontology": "EFO:0009811", - "ontology_label": "tag based single nucleus RNA sequencing" - }, - "10x": { - "fastq_method": "Cellranger mkfastq", - "fastq_method_version": "Cellranger (v3.0.2)" - }, - "provenance": { - "document_id": "63db242f-a88b-4deb-b1e4-3677ade32d18", - "submission_date": "2021-05-10T23:24:55.301Z", - "update_date": "2021-05-10T23:25:24.928Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - } - }, - "links": { - "schema_type": "links", - "schema_version": "3.0.0", - "describedBy": "https://schema.humancellatlas.org/system/3.0.0/links", - "links": [ - { - "link_type": "process_link", - "process_id": "04836733-0449-4e57-be2e-6f3b8fbdfb12", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "f21781e9-e5c7-48ff-9d7d-0e3637968279" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "d3661383-3d73-41a0-8676-295926c07eeb" - }, - { - "output_type": "sequence_file", - "output_id": "9766ad67-37fa-402a-9649-181a1752e5b2" - }, - { - "output_type": "sequence_file", - "output_id": "559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0" - }, - { - "output_type": "sequence_file", - "output_id": "f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad" - }, - { - "output_type": "sequence_file", - "output_id": "e0dd6ad5-0582-47de-9cbf-7351ebd5e005" - }, - { - "output_type": "sequence_file", - "output_id": "a60154cf-58b6-461f-8908-b789cdd78ee8" - }, - { - "output_type": "sequence_file", - "output_id": "11d171f7-7775-40a4-90a4-df995775b1c4" - }, - { - "output_type": "sequence_file", - "output_id": "9fa70333-418c-476c-b93b-382096a9cdcb" - }, - { - "output_type": "sequence_file", - "output_id": "6593f54e-682c-4eb4-b2ed-e3c3278d4880" - }, - { - "output_type": "sequence_file", - "output_id": "c3182931-cc4c-4cb7-aab5-4b50093eebea" - }, - { - "output_type": "sequence_file", - "output_id": "3001b82f-bbea-4072-9760-a14a4f00b7d3" - }, - { - "output_type": "sequence_file", - "output_id": "2b62614e-dc4d-46ea-bf29-727d5c33effa" - }, - { - "output_type": "sequence_file", - "output_id": "726a68e9-4fa9-425a-90e7-d0fef30c9d4c" - }, - { - "output_type": "sequence_file", - "output_id": "09610000-dc5c-4665-a72e-b0dad51edf6d" - }, - { - "output_type": "sequence_file", - "output_id": "92951c73-28a3-4820-89d6-15a73fa192cf" - }, - { - "output_type": "sequence_file", - "output_id": "6d9709e5-ce90-46d3-bc95-d5105cafc67a" - }, - { - "output_type": "sequence_file", - "output_id": "523c6c55-66da-4edc-b66a-a33fe20d4102" - }, - { - "output_type": "sequence_file", - "output_id": "75e38979-23f0-4749-bfcc-d8e92db7f2b0" - }, - { - "output_type": "sequence_file", - "output_id": "3fcc4232-b40f-4cca-bd1d-d12a03e4fed0" - }, - { - "output_type": "sequence_file", - "output_id": "80347bc1-ffca-4f66-9ebd-812d22ab3d3f" - }, - { - "output_type": "sequence_file", - "output_id": "28e8f3eb-fedc-4942-8d6b-836fbb7e3441" - }, - { - "output_type": "sequence_file", - "output_id": "40f24220-4c6d-43c4-ab82-1db21d683b07" - }, - { - "output_type": "sequence_file", - "output_id": "b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477" - }, - { - "output_type": "sequence_file", - "output_id": "b7826640-f0cc-4891-860e-7815a8848006" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "72975432-3c46-449a-a4d9-809712d10577" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "63db242f-a88b-4deb-b1e4-3677ade32d18" - } - ] - }, - { - "link_type": "process_link", - "process_id": "d7875d0d-da64-49d0-8540-e601d445107c", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "5bd31092-57c0-4d69-aa2b-72d902872cca" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "f21781e9-e5c7-48ff-9d7d-0e3637968279" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0e1884e4-310f-4afb-9721-e0721a290498" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "48f7f503-d213-4447-9ee4-3602da1066d7" - } - ] - }, - { - "link_type": "process_link", - "process_id": "9e346701-eb3c-40b3-b3dd-75ce047bcb78", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "cf1aab9f-caf1-4fe3-9724-61f6475f332b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5bd31092-57c0-4d69-aa2b-72d902872cca" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "dbeb62b8-e3e8-40f4-a06d-477ed495dfd9" - } - ] - }, - { - "link_type": "process_link", - "process_id": "97f00f1b-232c-4425-b51a-7d91b88d3862", - "process_type": "process", - "inputs": [ - { - "input_type": "sequence_file", - "input_id": "3cad3e7e-9e9b-4e4e-a535-509853f9306b" - }, - { - "input_type": "sequence_file", - "input_id": "8840da5d-cbaa-4617-ad50-d2a012563fe6" - }, - { - "input_type": "sequence_file", - "input_id": "e17968e7-5ef9-45fb-b45a-d73d18f41ae6" - }, - { - "input_type": "sequence_file", - "input_id": "fea581ad-b8a8-47d1-a4bb-e18f0753bf13" - }, - { - "input_type": "sequence_file", - "input_id": "7b1418ba-7cd7-4844-924c-ca92b0d3147c" - }, - { - "input_type": "sequence_file", - "input_id": "e0a99b8f-15e2-4a9e-b298-1066a9bcbda7" - }, - { - "input_type": "sequence_file", - "input_id": "7d5ca602-df90-402e-9c12-933e1cdde407" - }, - { - "input_type": "sequence_file", - "input_id": "b3de09c9-37f3-4d58-8930-bbd5d4e136c5" - }, - { - "input_type": "sequence_file", - "input_id": "81898837-23e3-40d9-96e2-04a559d95b2e" - }, - { - "input_type": "sequence_file", - "input_id": "2f74ffc0-b776-4b4a-90c6-327edb41c7ac" - }, - { - "input_type": "sequence_file", - "input_id": "a783909f-5237-4218-8b9d-80653729f3b1" - }, - { - "input_type": "sequence_file", - "input_id": "2d0246fd-696f-4a54-abe6-d759cc6d27b3" - }, - { - "input_type": "sequence_file", - "input_id": "ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02" - }, - { - "input_type": "sequence_file", - "input_id": "c0fc6427-6fa7-4d8d-9d6e-8844a26ff318" - }, - { - "input_type": "sequence_file", - "input_id": "bff57385-2f4f-4695-a153-412c9aabab59" - }, - { - "input_type": "sequence_file", - "input_id": "e61740c1-0e70-4d25-a912-32617d2e71fa" - }, - { - "input_type": "sequence_file", - "input_id": "4d0f1255-5e1b-4852-8030-a7a8f7580f1a" - }, - { - "input_type": "sequence_file", - "input_id": "ab8e7f29-eae9-488a-9337-7a926c8857ac" - }, - { - "input_type": "sequence_file", - "input_id": "bef069b8-2720-4327-8298-9ab2badd4a53" - }, - { - "input_type": "sequence_file", - "input_id": "f5ada827-68c0-4af6-88c6-7e9256b663ff" - }, - { - "input_type": "sequence_file", - "input_id": "db2ecbf9-0e24-4106-b594-73368de0e98b" - }, - { - "input_type": "sequence_file", - "input_id": "c9a2a10f-6638-4463-8c8f-4260c72dcb92" - }, - { - "input_type": "sequence_file", - "input_id": "7060b0f4-a756-41f8-bc65-16c7effef1be" - }, - { - "input_type": "sequence_file", - "input_id": "8898a9f3-4928-45b1-b236-71ce7cb48b11" - }, - { - "input_type": "sequence_file", - "input_id": "30f53c61-a8e3-42cf-a6d2-1b172659c189" - }, - { - "input_type": "sequence_file", - "input_id": "5e25031d-3456-4209-9818-c8882b2623e1" - }, - { - "input_type": "sequence_file", - "input_id": "d0cf423a-1ecf-499b-9e61-95662e23ba40" - }, - { - "input_type": "sequence_file", - "input_id": "99e73efd-4a04-496f-bb32-8f73edb0ae1a" - }, - { - "input_type": "sequence_file", - "input_id": "b35e3b14-91dc-4bf0-a47d-4ed8428efbe1" - }, - { - "input_type": "sequence_file", - "input_id": "8e892b4a-c112-47f2-a058-b87efed5a262" - }, - { - "input_type": "sequence_file", - "input_id": "621547f4-60bc-41b6-bc21-5c970700a1e4" - }, - { - "input_type": "sequence_file", - "input_id": "e06ec666-d2ed-4801-8bc3-03ddcd151c49" - }, - { - "input_type": "sequence_file", - "input_id": "782f79d7-bd59-4cc5-8492-1e680fbb31c1" - }, - { - "input_type": "sequence_file", - "input_id": "c458a416-5736-4b7b-817e-1d87b341f825" - }, - { - "input_type": "sequence_file", - "input_id": "a778ad17-3705-40bc-b425-245d17958638" - }, - { - "input_type": "sequence_file", - "input_id": "5f563e91-d384-4e1e-ac84-20f06332fe8c" - }, - { - "input_type": "sequence_file", - "input_id": "23203fb2-d46d-4d14-95e5-4ec38191e420" - }, - { - "input_type": "sequence_file", - "input_id": "d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb" - }, - { - "input_type": "sequence_file", - "input_id": "fea7ae13-ad77-4b59-9922-14f748263eac" - }, - { - "input_type": "sequence_file", - "input_id": "acfa3362-62b0-429a-b617-3adb722c200f" - }, - { - "input_type": "sequence_file", - "input_id": "6ea29b25-492a-4c00-819d-ec8a0909fa28" - }, - { - "input_type": "sequence_file", - "input_id": "d1f9e5d6-8df2-48d1-b558-9609710ef53f" - }, - { - "input_type": "sequence_file", - "input_id": "937bbdf2-09e3-4bf7-8f45-e46db2188c46" - }, - { - "input_type": "sequence_file", - "input_id": "1badbbc9-6b43-41f6-acad-36f09cff3d21" - }, - { - "input_type": "sequence_file", - "input_id": "f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16" - }, - { - "input_type": "sequence_file", - "input_id": "d04a8b95-a45f-4fc1-a42a-a9afe3188465" - }, - { - "input_type": "sequence_file", - "input_id": "e381aa0d-c2ce-4fe4-9acd-030d9023fcb6" - }, - { - "input_type": "sequence_file", - "input_id": "ac5fdc06-b856-4de0-9423-bdf05d4df650" - }, - { - "input_type": "sequence_file", - "input_id": "87e9a01b-594b-4dc4-b2a7-a14407399b50" - }, - { - "input_type": "sequence_file", - "input_id": "c4c3353d-f33f-4a5b-a2d8-7878daf2d01b" - }, - { - "input_type": "sequence_file", - "input_id": "fd3a8466-6eaf-4251-be4a-f46f85403719" - }, - { - "input_type": "sequence_file", - "input_id": "7abc79b5-e32a-4313-b130-12397d29d684" - }, - { - "input_type": "sequence_file", - "input_id": "4abcf42c-5291-47f3-b7a8-bb1071f56c54" - }, - { - "input_type": "sequence_file", - "input_id": "893dfdd4-43f4-4256-938b-d957928f0daa" - }, - { - "input_type": "sequence_file", - "input_id": "b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5" - }, - { - "input_type": "sequence_file", - "input_id": "fbec3e01-aaf4-41a3-b667-1f0268571d10" - }, - { - "input_type": "sequence_file", - "input_id": "4e066f08-f8b7-4550-adc2-287392fa7731" - }, - { - "input_type": "sequence_file", - "input_id": "e6565b7b-b195-4554-bf60-4b80f2c6dd13" - }, - { - "input_type": "sequence_file", - "input_id": "d1dd53ff-b603-4345-8203-45c384cbc813" - }, - { - "input_type": "sequence_file", - "input_id": "965057e9-48bc-4452-8819-2bc45723a0f7" - }, - { - "input_type": "sequence_file", - "input_id": "b7d7c14d-7bf3-4a8f-8f40-8d6e98505558" - }, - { - "input_type": "sequence_file", - "input_id": "84cc7ee0-4d8e-45a1-b563-d3e05b4ec573" - }, - { - "input_type": "sequence_file", - "input_id": "ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2" - }, - { - "input_type": "sequence_file", - "input_id": "130831cc-87b6-47fd-93a8-ae1890d365f2" - }, - { - "input_type": "sequence_file", - "input_id": "42bbb160-b881-4036-a712-1ab9b5d5ce87" - }, - { - "input_type": "sequence_file", - "input_id": "e9b50275-4ebe-43fe-b3de-1fe3ab930a23" - }, - { - "input_type": "sequence_file", - "input_id": "5621674e-0290-487d-8c0c-49b617d1628c" - }, - { - "input_type": "sequence_file", - "input_id": "868dfde7-2df8-487f-b754-68db8a96ad3a" - }, - { - "input_type": "sequence_file", - "input_id": "daa6813e-0321-413a-9107-8c814825bf93" - }, - { - "input_type": "sequence_file", - "input_id": "ffb64e6b-8924-4adf-ae8f-e55b4dd019dd" - }, - { - "input_type": "sequence_file", - "input_id": "e28d2a66-f506-4a4d-b2c6-823e4e8124d6" - }, - { - "input_type": "sequence_file", - "input_id": "ade0fe79-4629-4a49-8253-e26380046b32" - }, - { - "input_type": "sequence_file", - "input_id": "28023147-3cad-4c1d-b494-b693c4f0a6bd" - }, - { - "input_type": "sequence_file", - "input_id": "3c007e61-0e8a-4337-946c-1082441084c7" - }, - { - "input_type": "sequence_file", - "input_id": "577e4275-b373-40ac-ac3f-8487d6aafe16" - }, - { - "input_type": "sequence_file", - "input_id": "9e74066b-834e-416d-a1e7-bbec1e8f1713" - }, - { - "input_type": "sequence_file", - "input_id": "110bb0f5-9d1a-4573-b711-6bee156d0eb8" - }, - { - "input_type": "sequence_file", - "input_id": "012af05a-4771-45e5-bb92-9b63fcbde822" - }, - { - "input_type": "sequence_file", - "input_id": "565dbd59-2571-4af5-b160-c6d5cd3c684f" - }, - { - "input_type": "sequence_file", - "input_id": "d068c2b0-60c7-429a-938c-cb9c703c4c4d" - }, - { - "input_type": "sequence_file", - "input_id": "71add17d-3b59-4ca2-a032-80819608a34a" - }, - { - "input_type": "sequence_file", - "input_id": "c5e55f39-94a7-4ddd-8972-d217b63fb7cb" - }, - { - "input_type": "sequence_file", - "input_id": "fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce" - }, - { - "input_type": "sequence_file", - "input_id": "4df715c5-a783-41e6-a99e-eedf93a37fb3" - }, - { - "input_type": "sequence_file", - "input_id": "8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a" - }, - { - "input_type": "sequence_file", - "input_id": "b3739e56-e8cc-43b6-8b43-9116b5d75e69" - }, - { - "input_type": "sequence_file", - "input_id": "dd8ac880-75c4-4fe8-89e3-2cc41dad784a" - }, - { - "input_type": "sequence_file", - "input_id": "bb788d30-169b-4160-be07-98222d0a8327" - }, - { - "input_type": "sequence_file", - "input_id": "f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9" - }, - { - "input_type": "sequence_file", - "input_id": "877258d8-07eb-4cb6-a358-7c265c856ab6" - }, - { - "input_type": "sequence_file", - "input_id": "80e88ed6-4480-4888-b25d-d41e90822142" - }, - { - "input_type": "sequence_file", - "input_id": "f5fae200-b633-4ade-8871-94cf47475c67" - }, - { - "input_type": "sequence_file", - "input_id": "47950b5e-3d6f-4b75-9518-feb8b9e9a78b" - }, - { - "input_type": "sequence_file", - "input_id": "1c95a589-205c-4d7c-9c56-c3de4f7dbb66" - }, - { - "input_type": "sequence_file", - "input_id": "a40ed25e-fbf0-40a3-b468-e2bdb55d56d0" - }, - { - "input_type": "sequence_file", - "input_id": "f5274b10-d3ea-44c9-9f27-9af574dea10c" - }, - { - "input_type": "sequence_file", - "input_id": "fd7e7e85-7747-42c3-bc6b-0e4718202d63" - }, - { - "input_type": "sequence_file", - "input_id": "38601526-8448-4253-807b-70878c374901" - }, - { - "input_type": "sequence_file", - "input_id": "45d0b683-d7dc-4e1a-a235-dad58ef03d77" - }, - { - "input_type": "sequence_file", - "input_id": "dff50bd5-38c9-4c35-a5bc-dd51e69f249a" - }, - { - "input_type": "sequence_file", - "input_id": "0506c2a0-ef2b-4850-8567-20d08046bdaa" - }, - { - "input_type": "sequence_file", - "input_id": "dabb5028-64d2-4dbc-89a3-0cf6079ad0cb" - }, - { - "input_type": "sequence_file", - "input_id": "d1ad5518-3619-46dd-a342-f5a3b34f67b1" - }, - { - "input_type": "sequence_file", - "input_id": "bbda7bad-f60b-4091-83b0-b8d96c3f4214" - }, - { - "input_type": "sequence_file", - "input_id": "ce3c8eab-dcb7-403f-8837-6a7986acb6fc" - }, - { - "input_type": "sequence_file", - "input_id": "9e63db48-5b68-40e8-9d8f-aff48223b80e" - }, - { - "input_type": "sequence_file", - "input_id": "74086d10-f049-45c2-8654-de93aac63d94" - }, - { - "input_type": "sequence_file", - "input_id": "c699ee8b-738e-451a-b91d-0e1a6c8bb6f9" - }, - { - "input_type": "sequence_file", - "input_id": "f9db3e23-91ca-487f-a3ec-11ffa8b8f939" - }, - { - "input_type": "sequence_file", - "input_id": "fdd026f9-0ab6-49ef-88f9-4a5d61d12188" - }, - { - "input_type": "sequence_file", - "input_id": "c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2" - }, - { - "input_type": "sequence_file", - "input_id": "72b34b3d-f005-48af-81dc-3631873960d8" - }, - { - "input_type": "sequence_file", - "input_id": "7938acb1-91e3-4d8d-9d24-3b0a9fa28131" - }, - { - "input_type": "sequence_file", - "input_id": "9962de78-e4ef-40ba-b9fc-bd661895a99b" - }, - { - "input_type": "sequence_file", - "input_id": "3cf0f46b-1618-49e6-8cdc-d97a9d2403da" - }, - { - "input_type": "sequence_file", - "input_id": "2f033594-a8bd-49c4-b1b7-69ce88fe26d4" - }, - { - "input_type": "sequence_file", - "input_id": "97eaa3ce-131c-48b8-8082-86bbb6a486b5" - }, - { - "input_type": "sequence_file", - "input_id": "61716326-4fa0-41b9-8ca4-5b020500e8ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0e048f6-0ab6-45fc-a74f-16711af67a2e" - }, - { - "input_type": "sequence_file", - "input_id": "347f630f-a9a0-4430-958f-6c929335031a" - }, - { - "input_type": "sequence_file", - "input_id": "c13ed96e-3052-4a3f-9871-8196c10070a1" - }, - { - "input_type": "sequence_file", - "input_id": "1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1" - }, - { - "input_type": "sequence_file", - "input_id": "09b831a2-5b60-4753-864e-8af803024437" - }, - { - "input_type": "sequence_file", - "input_id": "290232bb-afb1-45b2-8e04-be180948541a" - }, - { - "input_type": "sequence_file", - "input_id": "c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7" - }, - { - "input_type": "sequence_file", - "input_id": "22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22" - }, - { - "input_type": "sequence_file", - "input_id": "da6e341f-43d3-4c22-ab8c-3c3e81986d9b" - }, - { - "input_type": "sequence_file", - "input_id": "6ea00f5c-7e63-493b-b6f9-68ba54dbbed3" - }, - { - "input_type": "sequence_file", - "input_id": "b9acc59a-ba7c-40ef-8611-27069458a508" - }, - { - "input_type": "sequence_file", - "input_id": "6f11ead1-11b1-4bda-8a20-588bb85ec126" - }, - { - "input_type": "sequence_file", - "input_id": "4ca067fb-8ba1-4959-9c1a-878d5705dd67" - }, - { - "input_type": "sequence_file", - "input_id": "f77883e0-6609-4bda-b446-331adbd9d357" - }, - { - "input_type": "sequence_file", - "input_id": "541fc29f-a7a3-456e-b28e-80f9036a4e33" - }, - { - "input_type": "sequence_file", - "input_id": "bd1e5909-c184-4ee0-906c-77e399270a71" - }, - { - "input_type": "sequence_file", - "input_id": "22833c60-dc70-4299-86ac-00747b91b3cb" - }, - { - "input_type": "sequence_file", - "input_id": "24bbde6e-cdf7-4f1c-a447-6501ce377aa4" - }, - { - "input_type": "sequence_file", - "input_id": "7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0" - }, - { - "input_type": "sequence_file", - "input_id": "64c93769-83eb-4718-90f0-36d83b1dae4d" - }, - { - "input_type": "sequence_file", - "input_id": "d3661383-3d73-41a0-8676-295926c07eeb" - }, - { - "input_type": "sequence_file", - "input_id": "9766ad67-37fa-402a-9649-181a1752e5b2" - }, - { - "input_type": "sequence_file", - "input_id": "559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0" - }, - { - "input_type": "sequence_file", - "input_id": "f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0dd6ad5-0582-47de-9cbf-7351ebd5e005" - }, - { - "input_type": "sequence_file", - "input_id": "a60154cf-58b6-461f-8908-b789cdd78ee8" - }, - { - "input_type": "sequence_file", - "input_id": "11d171f7-7775-40a4-90a4-df995775b1c4" - }, - { - "input_type": "sequence_file", - "input_id": "9fa70333-418c-476c-b93b-382096a9cdcb" - }, - { - "input_type": "sequence_file", - "input_id": "6593f54e-682c-4eb4-b2ed-e3c3278d4880" - }, - { - "input_type": "sequence_file", - "input_id": "c3182931-cc4c-4cb7-aab5-4b50093eebea" - }, - { - "input_type": "sequence_file", - "input_id": "3001b82f-bbea-4072-9760-a14a4f00b7d3" - }, - { - "input_type": "sequence_file", - "input_id": "2b62614e-dc4d-46ea-bf29-727d5c33effa" - }, - { - "input_type": "sequence_file", - "input_id": "726a68e9-4fa9-425a-90e7-d0fef30c9d4c" - }, - { - "input_type": "sequence_file", - "input_id": "09610000-dc5c-4665-a72e-b0dad51edf6d" - }, - { - "input_type": "sequence_file", - "input_id": "92951c73-28a3-4820-89d6-15a73fa192cf" - }, - { - "input_type": "sequence_file", - "input_id": "6d9709e5-ce90-46d3-bc95-d5105cafc67a" - }, - { - "input_type": "sequence_file", - "input_id": "523c6c55-66da-4edc-b66a-a33fe20d4102" - }, - { - "input_type": "sequence_file", - "input_id": "75e38979-23f0-4749-bfcc-d8e92db7f2b0" - }, - { - "input_type": "sequence_file", - "input_id": "3fcc4232-b40f-4cca-bd1d-d12a03e4fed0" - }, - { - "input_type": "sequence_file", - "input_id": "80347bc1-ffca-4f66-9ebd-812d22ab3d3f" - }, - { - "input_type": "sequence_file", - "input_id": "28e8f3eb-fedc-4942-8d6b-836fbb7e3441" - }, - { - "input_type": "sequence_file", - "input_id": "40f24220-4c6d-43c4-ab82-1db21d683b07" - }, - { - "input_type": "sequence_file", - "input_id": "b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477" - }, - { - "input_type": "sequence_file", - "input_id": "b7826640-f0cc-4891-860e-7815a8848006" - }, - { - "input_type": "sequence_file", - "input_id": "eccad683-4c2d-4d7f-a141-1effb429fef7" - }, - { - "input_type": "sequence_file", - "input_id": "1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288" - }, - { - "input_type": "sequence_file", - "input_id": "09c0456a-ec0b-47e3-870d-4b47221a45a6" - }, - { - "input_type": "sequence_file", - "input_id": "067d2b7b-127b-421f-91db-0acc05ad62ad" - }, - { - "input_type": "sequence_file", - "input_id": "9bad139c-7abf-4786-a6fc-5f9a5abcd850" - }, - { - "input_type": "sequence_file", - "input_id": "9b03ad8d-aabf-4736-820a-493db4877f84" - }, - { - "input_type": "sequence_file", - "input_id": "3dce5e53-a137-4086-96d3-26dd3d000cf6" - }, - { - "input_type": "sequence_file", - "input_id": "19eb5d2e-2224-4bb4-9f94-526a4c06f7a2" - }, - { - "input_type": "sequence_file", - "input_id": "6b38794f-2d55-4422-8094-fb4a5e100d32" - }, - { - "input_type": "sequence_file", - "input_id": "9a03ec79-7dc7-44fc-bb97-22ad58159436" - }, - { - "input_type": "sequence_file", - "input_id": "69ab8827-b0dc-48ae-84b5-1d27284a7db0" - }, - { - "input_type": "sequence_file", - "input_id": "a2b31671-1874-4c4a-a5c5-fd2787287893" - }, - { - "input_type": "sequence_file", - "input_id": "7186ea5d-49a0-4d72-a24e-2a30d48aa8fc" - }, - { - "input_type": "sequence_file", - "input_id": "e5d2cef3-3902-418c-b905-001052979a54" - }, - { - "input_type": "sequence_file", - "input_id": "02cfb8bb-4eb6-4343-9381-007968f1feee" - }, - { - "input_type": "sequence_file", - "input_id": "d8b9cedb-39d5-47b7-9c64-94e6393fdd0d" - }, - { - "input_type": "sequence_file", - "input_id": "9f577e94-f952-40af-a919-108f4661fdb9" - }, - { - "input_type": "sequence_file", - "input_id": "1d77e73b-9bd3-499f-a0d0-86d9f7306a7e" - }, - { - "input_type": "sequence_file", - "input_id": "c3093b68-54a2-4d31-aa15-50afb0414625" - }, - { - "input_type": "sequence_file", - "input_id": "d73e6663-d29d-47af-a4b4-5cadcd272293" - }, - { - "input_type": "sequence_file", - "input_id": "44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7" - }, - { - "input_type": "sequence_file", - "input_id": "e163d226-febb-4ecf-80db-8e60680be2ab" - }, - { - "input_type": "sequence_file", - "input_id": "a6a99736-43fb-4f67-ae26-0e24d5277c6b" - }, - { - "input_type": "sequence_file", - "input_id": "2ff6533e-8fe3-44c3-b378-99d4acdc0ab8" - }, - { - "input_type": "sequence_file", - "input_id": "3b7b0bcf-b316-4b0e-9d46-f8d44a399774" - }, - { - "input_type": "sequence_file", - "input_id": "d5aab272-e387-4bae-aeb0-987928e0c001" - }, - { - "input_type": "sequence_file", - "input_id": "d359ca8d-a374-4eeb-b214-69df7861d0e3" - }, - { - "input_type": "sequence_file", - "input_id": "c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd" - }, - { - "input_type": "sequence_file", - "input_id": "29ee234c-5d39-4eb9-8f73-22121936b3db" - }, - { - "input_type": "sequence_file", - "input_id": "344c1e18-810e-4800-bbed-0246cbbafa60" - }, - { - "input_type": "sequence_file", - "input_id": "91594c64-a197-4dc9-8605-d57aff0f2e87" - }, - { - "input_type": "sequence_file", - "input_id": "17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8" - }, - { - "input_type": "sequence_file", - "input_id": "fed6f8f3-2c61-4361-8160-2c5a13db83d4" - }, - { - "input_type": "sequence_file", - "input_id": "dae9b045-0d8d-4944-b8a2-d3b64ad7df34" - }, - { - "input_type": "sequence_file", - "input_id": "8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba" - }, - { - "input_type": "sequence_file", - "input_id": "b6dda1ac-9635-426a-869a-82b1420ef251" - }, - { - "input_type": "sequence_file", - "input_id": "47c12e95-67b2-42e1-866b-eb7c5f16a3c6" - }, - { - "input_type": "sequence_file", - "input_id": "edbe53c5-208b-436d-b283-1aa4ee94800c" - }, - { - "input_type": "sequence_file", - "input_id": "4198865c-d4ef-4a01-94c0-8a8397914dbc" - }, - { - "input_type": "sequence_file", - "input_id": "e1c334fa-b493-4892-a48b-3fe594e98b30" - }, - { - "input_type": "sequence_file", - "input_id": "c8b4bc26-7487-48d9-a2f2-6b3934da074d" - }, - { - "input_type": "sequence_file", - "input_id": "b0009333-24fc-4f3e-bf35-3cc8fa808efa" - }, - { - "input_type": "sequence_file", - "input_id": "a45af0aa-2591-4031-8ee8-a3c0a5a76260" - }, - { - "input_type": "sequence_file", - "input_id": "56d5b505-6591-47c4-b469-006e27e6e343" - }, - { - "input_type": "sequence_file", - "input_id": "ebbc0d72-0743-41b8-88f6-736c36bd6499" - }, - { - "input_type": "sequence_file", - "input_id": "7c912919-4b2c-4f4d-bdfe-1988d20aeeed" - }, - { - "input_type": "sequence_file", - "input_id": "b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc" - }, - { - "input_type": "sequence_file", - "input_id": "51aef727-d8de-497f-abbe-e650b1baeeab" - }, - { - "input_type": "sequence_file", - "input_id": "c04b8362-f2c9-4cad-b939-494e738efc19" - }, - { - "input_type": "sequence_file", - "input_id": "782fcb99-9b26-485f-9f7d-bda9cc37f0d2" - }, - { - "input_type": "sequence_file", - "input_id": "cabca52b-8f67-4107-8916-4fd8129ccd97" - }, - { - "input_type": "sequence_file", - "input_id": "79e53d37-c41c-4234-99db-f3333d89bb3a" - }, - { - "input_type": "sequence_file", - "input_id": "e0a914c3-3147-4f06-a8ae-0c16029497dc" - }, - { - "input_type": "sequence_file", - "input_id": "ebc98059-556f-4a51-b1d3-e5afb40fe80e" - }, - { - "input_type": "sequence_file", - "input_id": "a65b7c37-e038-41d5-8623-2046bdc278a4" - }, - { - "input_type": "sequence_file", - "input_id": "7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565" - }, - { - "input_type": "sequence_file", - "input_id": "8fc6dd31-c01c-4eec-ae6c-bedd13f2c209" - }, - { - "input_type": "sequence_file", - "input_id": "ba526c42-7c2f-43c1-a817-06ccdb4d67be" - }, - { - "input_type": "sequence_file", - "input_id": "1adbb95f-f5c3-41ce-8e16-7657d189de79" - }, - { - "input_type": "sequence_file", - "input_id": "887d7cc2-1c24-42a9-aab3-51474d95f927" - }, - { - "input_type": "sequence_file", - "input_id": "6e3aed1a-9909-462c-90e1-a1f766cd380e" - }, - { - "input_type": "sequence_file", - "input_id": "d85ccb81-e861-4bb1-95b6-40762555da1d" - }, - { - "input_type": "sequence_file", - "input_id": "5d00e91c-8691-41ff-836c-b827f23a1a7d" - }, - { - "input_type": "sequence_file", - "input_id": "50fd1926-5615-4e29-be75-e8528d1da8df" - }, - { - "input_type": "sequence_file", - "input_id": "73112827-65e2-4057-98e0-960b4c50afe6" - }, - { - "input_type": "sequence_file", - "input_id": "5f3e080f-d2f2-4350-96b0-fb8169bfcdd9" - }, - { - "input_type": "sequence_file", - "input_id": "e744fafb-3c4b-47c3-91db-db8bb8751279" - }, - { - "input_type": "sequence_file", - "input_id": "3f2ae9d6-763e-4408-bc80-6067ccc756e0" - }, - { - "input_type": "sequence_file", - "input_id": "64e1d438-17af-450b-b90c-04072117cbb1" - }, - { - "input_type": "sequence_file", - "input_id": "a10329ae-6c8a-4df9-bac1-70bdf2c07571" - }, - { - "input_type": "sequence_file", - "input_id": "fd0547d5-7f16-46e4-8948-45c82f923f69" - }, - { - "input_type": "sequence_file", - "input_id": "14795e28-bcee-4da3-83cf-bb2592b6c0d0" - }, - { - "input_type": "sequence_file", - "input_id": "5b977962-16d1-4631-9225-6be262e9ccae" - }, - { - "input_type": "sequence_file", - "input_id": "7eb17ee4-5704-4ce3-8b41-121ef051ee09" - }, - { - "input_type": "sequence_file", - "input_id": "a2385663-3f62-4512-b4d8-4bba405f50a3" - }, - { - "input_type": "sequence_file", - "input_id": "53c40015-48a9-4a3f-a513-d617d28a2352" - }, - { - "input_type": "sequence_file", - "input_id": "2862a721-a50b-4e47-86c5-35547bc44e53" - }, - { - "input_type": "sequence_file", - "input_id": "2a77f1db-b5d4-4657-a522-9786aaa7df80" - }, - { - "input_type": "sequence_file", - "input_id": "035a00e0-02ca-46e8-bb76-9b2449ee922f" - }, - { - "input_type": "sequence_file", - "input_id": "1a589473-0047-4bca-afce-57c8448f0dc6" - }, - { - "input_type": "sequence_file", - "input_id": "dcec351c-327a-46df-aa48-22d2647d5852" - }, - { - "input_type": "sequence_file", - "input_id": "3d8bc409-2043-486a-9a0b-12c71a741d83" - }, - { - "input_type": "sequence_file", - "input_id": "554c1554-ed18-4926-b8d7-5b6af2edab5b" - }, - { - "input_type": "sequence_file", - "input_id": "dcf52037-e357-4b26-9072-05e08bf47978" - }, - { - "input_type": "sequence_file", - "input_id": "ed884cca-c961-40d2-bc8b-b358ea4fb780" - }, - { - "input_type": "sequence_file", - "input_id": "3c9533cf-c7b5-4bbf-9461-87da5aa1b556" - }, - { - "input_type": "sequence_file", - "input_id": "12826f14-2ef8-4069-a797-42d2f4c0937b" - }, - { - "input_type": "sequence_file", - "input_id": "fe586661-4878-4882-a38f-0b6321df5c99" - }, - { - "input_type": "sequence_file", - "input_id": "1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec" - }, - { - "input_type": "sequence_file", - "input_id": "b1e83792-e01e-45e2-bcb8-27b81a0d9db9" - }, - { - "input_type": "sequence_file", - "input_id": "5be8906f-0831-422d-896e-b099d5a23e13" - }, - { - "input_type": "sequence_file", - "input_id": "511eaba4-a8f4-4230-b3ad-407332e22b48" - }, - { - "input_type": "sequence_file", - "input_id": "d5b993f2-d053-4420-994b-04d64bd9e356" - }, - { - "input_type": "sequence_file", - "input_id": "adca7438-701c-4afc-8580-01de6ee68974" - }, - { - "input_type": "sequence_file", - "input_id": "d1f65c9e-628b-4c5f-b76a-1154c1666eba" - }, - { - "input_type": "sequence_file", - "input_id": "21bd79df-cc64-4381-a5c7-0e81e001ea1a" - }, - { - "input_type": "sequence_file", - "input_id": "832ae460-0083-42b0-89a6-cc651e50fad4" - }, - { - "input_type": "sequence_file", - "input_id": "db7576d3-afc9-4860-9a46-bdca8f745fa3" - }, - { - "input_type": "sequence_file", - "input_id": "2b889dd9-0bd3-412a-967e-74fa9600bb4d" - }, - { - "input_type": "sequence_file", - "input_id": "baa2bfd9-d2fb-4b5a-a81d-af84bf24c730" - }, - { - "input_type": "sequence_file", - "input_id": "ac036daf-a7cc-4583-a219-814c77ed8001" - }, - { - "input_type": "sequence_file", - "input_id": "ddaab768-186d-456a-8e1d-8631dc97f6ad" - }, - { - "input_type": "sequence_file", - "input_id": "f78279da-e39f-463b-a1a9-02d4f99f85a5" - }, - { - "input_type": "sequence_file", - "input_id": "fff15476-7228-42be-be8a-bd6b02ee9f81" - }, - { - "input_type": "sequence_file", - "input_id": "a1ac3c01-10da-4b93-a61a-71a62e6ddb22" - }, - { - "input_type": "sequence_file", - "input_id": "319d5a99-4bde-4b20-956a-03a0175478ee" - }, - { - "input_type": "sequence_file", - "input_id": "d13d109b-0106-4102-9769-82bb2ed9cfb7" - }, - { - "input_type": "sequence_file", - "input_id": "7f46ab20-26fa-493e-98c4-24d558f4a0ce" - }, - { - "input_type": "sequence_file", - "input_id": "cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3" - }, - { - "input_type": "sequence_file", - "input_id": "8de95742-6e0f-45bd-b835-ce96ebc1991c" - }, - { - "input_type": "sequence_file", - "input_id": "4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed" - }, - { - "input_type": "sequence_file", - "input_id": "59a4c958-41b6-4680-8021-86ed6be8f55d" - }, - { - "input_type": "sequence_file", - "input_id": "f648cc69-80e7-46a1-8575-aae76b30367c" - }, - { - "input_type": "sequence_file", - "input_id": "1f134dea-8f9b-4e90-a1af-80508f43f73c" - }, - { - "input_type": "sequence_file", - "input_id": "9717e5ab-015a-4fee-9864-0332c60b1e9a" - }, - { - "input_type": "sequence_file", - "input_id": "2a7c1cb6-5d82-4b65-854d-6451c18c62fc" - }, - { - "input_type": "sequence_file", - "input_id": "296db6ee-3e65-48ee-b232-626653165222" - }, - { - "input_type": "sequence_file", - "input_id": "885f171d-901c-4cc4-9c76-c5d8cdf35991" - }, - { - "input_type": "sequence_file", - "input_id": "82899c21-c3c7-4288-bb8f-4c72880c10e4" - }, - { - "input_type": "sequence_file", - "input_id": "04066a52-7468-4783-b49c-46e28b076739" - }, - { - "input_type": "sequence_file", - "input_id": "b0025fa1-e6a6-441b-a018-2c73ceabe237" - }, - { - "input_type": "sequence_file", - "input_id": "7e1f0414-5235-4c79-b334-b278d3ebd8ae" - }, - { - "input_type": "sequence_file", - "input_id": "d691ee05-f531-4c18-b0e9-677dcaabf20f" - }, - { - "input_type": "sequence_file", - "input_id": "97cfc6c1-2a97-41ef-bb36-0ac99b8c8195" - }, - { - "input_type": "sequence_file", - "input_id": "c8995918-5491-41bc-ad76-2099c6314fb1" - }, - { - "input_type": "sequence_file", - "input_id": "884813d1-d03e-4210-9289-e5b0d415484b" - }, - { - "input_type": "sequence_file", - "input_id": "ee28d3e7-02df-46a0-a3ba-f55ad747b214" - }, - { - "input_type": "sequence_file", - "input_id": "972e55ea-7901-435b-9646-53bc8fde2e6f" - }, - { - "input_type": "sequence_file", - "input_id": "58b683d3-03cf-42e9-9cff-4143dff729ca" - }, - { - "input_type": "sequence_file", - "input_id": "d4bbfecd-d580-4eaa-8679-33173740b295" - }, - { - "input_type": "sequence_file", - "input_id": "5275a9fa-7a21-4ef2-9819-5358b2821300" - }, - { - "input_type": "sequence_file", - "input_id": "ce6d4c01-8676-4ae9-91b3-4148deb5b8d9" - }, - { - "input_type": "sequence_file", - "input_id": "f7a68998-a02b-4d1c-8768-0abb9e9ae35a" - }, - { - "input_type": "sequence_file", - "input_id": "0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc" - }, - { - "input_type": "sequence_file", - "input_id": "2aba7a6a-6d70-4310-9e64-071c6adbe16b" - }, - { - "input_type": "sequence_file", - "input_id": "54140f9b-2929-44b6-9fb0-de4c2b22090b" - }, - { - "input_type": "sequence_file", - "input_id": "0c577531-9218-444b-8094-85d8c6f5c73e" - }, - { - "input_type": "sequence_file", - "input_id": "28c505c1-e1c4-4e73-b935-9616224da552" - }, - { - "input_type": "sequence_file", - "input_id": "95e893a0-0885-4e1c-8e31-55863d5108b3" - }, - { - "input_type": "sequence_file", - "input_id": "e9def19b-3967-47e7-a2dd-1bc5f9297959" - }, - { - "input_type": "sequence_file", - "input_id": "96f4d488-e081-4b54-b12a-b2d9546bfc17" - }, - { - "input_type": "sequence_file", - "input_id": "f8988fe1-225c-40b4-933d-9dacb8b4728f" - }, - { - "input_type": "sequence_file", - "input_id": "18d81f7f-94c8-4877-939a-b74ba802835a" - }, - { - "input_type": "sequence_file", - "input_id": "0fa69e92-febb-4bab-857c-4b67a2b17ff6" - }, - { - "input_type": "sequence_file", - "input_id": "09a53782-90ea-4911-a793-706e74127adb" - }, - { - "input_type": "sequence_file", - "input_id": "c67f602f-1b0d-4b0e-bd72-af166f5443fa" - }, - { - "input_type": "sequence_file", - "input_id": "5b80431f-c95a-41ef-8aa7-98816f00e4d6" - }, - { - "input_type": "sequence_file", - "input_id": "70291c50-770c-4e51-8f1b-60be28ea419f" - }, - { - "input_type": "sequence_file", - "input_id": "38e1a4f4-f9ec-44cf-b6bb-1a9566456d38" - }, - { - "input_type": "sequence_file", - "input_id": "154dffeb-efd7-4081-a73c-bf1b73ca9a90" - }, - { - "input_type": "sequence_file", - "input_id": "c9517b55-fb72-463a-aab6-e4f64b95c2fc" - }, - { - "input_type": "sequence_file", - "input_id": "c3d3c4a3-527b-490f-8107-bc1b44566df0" - }, - { - "input_type": "sequence_file", - "input_id": "83865a27-24a8-4a70-a8bd-650affa7df5c" - }, - { - "input_type": "sequence_file", - "input_id": "6e650029-386f-4d8e-868e-8780782baa4b" - }, - { - "input_type": "sequence_file", - "input_id": "f859d1ff-df51-4548-b8a4-9eca26bf7454" - }, - { - "input_type": "sequence_file", - "input_id": "79426c6b-bd79-4343-b9fa-ee1e9cfc2aef" - }, - { - "input_type": "sequence_file", - "input_id": "0697146c-0105-4d6f-baff-d9147593eadb" - }, - { - "input_type": "sequence_file", - "input_id": "65fae226-b417-43cd-a5c8-cf2336b8cff5" - }, - { - "input_type": "sequence_file", - "input_id": "7240ec36-6433-4e5c-ba0f-d2770817f963" - }, - { - "input_type": "sequence_file", - "input_id": "d20547e4-3f00-42af-9a7f-9477ff43de0d" - }, - { - "input_type": "sequence_file", - "input_id": "0256729b-47ee-4ed3-adc7-2c0813bb99b9" - }, - { - "input_type": "sequence_file", - "input_id": "7eb2244c-6b4d-4d91-bfc6-44ec12d9319b" - }, - { - "input_type": "sequence_file", - "input_id": "b2a6b8c1-f0bc-4509-b255-8618d7cff205" - }, - { - "input_type": "sequence_file", - "input_id": "bf6cb18e-07de-404d-bebe-4a943dfb44f7" - }, - { - "input_type": "sequence_file", - "input_id": "6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0" - }, - { - "input_type": "sequence_file", - "input_id": "5a172f54-33a5-4e0d-bc0d-1760bad3beb6" - }, - { - "input_type": "sequence_file", - "input_id": "ee36a1ac-7426-4253-81b8-715f37a2ba69" - }, - { - "input_type": "sequence_file", - "input_id": "d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc" - }, - { - "input_type": "sequence_file", - "input_id": "5f5e80b2-0779-4df0-9a18-35bc0db72fdf" - }, - { - "input_type": "sequence_file", - "input_id": "e6b33ccb-99f6-4c02-aa69-e7b581832d04" - }, - { - "input_type": "sequence_file", - "input_id": "9d98496f-f6d8-4106-8b6a-c118ed6ff229" - }, - { - "input_type": "sequence_file", - "input_id": "22343575-1465-455f-8360-4e716aab17fb" - }, - { - "input_type": "sequence_file", - "input_id": "7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4" - }, - { - "input_type": "sequence_file", - "input_id": "9f709f2c-701a-43bc-8417-77fac81c3633" - }, - { - "input_type": "sequence_file", - "input_id": "a4152d0c-ca88-4cad-af08-40a2e799bec7" - }, - { - "input_type": "sequence_file", - "input_id": "2c4d6e65-8271-4542-97ee-7ba8a6b628d9" - }, - { - "input_type": "sequence_file", - "input_id": "668a508d-34fa-4468-86e8-523380a34da8" - }, - { - "input_type": "sequence_file", - "input_id": "b5c2e557-c303-42cc-8779-bf3b2256c422" - }, - { - "input_type": "sequence_file", - "input_id": "f9eef16f-b9cc-43bb-b9f3-bf0948766e7e" - }, - { - "input_type": "sequence_file", - "input_id": "061936ce-8fbb-4576-8c0c-ed871767917f" - }, - { - "input_type": "sequence_file", - "input_id": "762c2720-f65c-4804-844f-2302bc33ebbc" - }, - { - "input_type": "sequence_file", - "input_id": "fedc286a-9bbc-4db0-8bf5-b3f0b69fb559" - }, - { - "input_type": "sequence_file", - "input_id": "43f476f9-cbfc-431a-a774-5885904b434c" - }, - { - "input_type": "sequence_file", - "input_id": "65b78fda-7874-455f-9c9a-bf7aca375a0b" - }, - { - "input_type": "sequence_file", - "input_id": "82fc0df9-9828-433e-ac6d-73f4bbceefcf" - }, - { - "input_type": "sequence_file", - "input_id": "fb771836-467f-4897-a755-a17ab281a385" - }, - { - "input_type": "sequence_file", - "input_id": "5f6e0f4b-3541-4197-a67f-01dddc0cf105" - }, - { - "input_type": "sequence_file", - "input_id": "c7970499-e36d-49f3-b1f2-6886746333c9" - }, - { - "input_type": "sequence_file", - "input_id": "6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47" - }, - { - "input_type": "sequence_file", - "input_id": "e4d6ced4-50a3-402a-bbbc-ae329cd3689d" - }, - { - "input_type": "sequence_file", - "input_id": "792fd4bd-9b01-42bf-a883-c651789a198a" - }, - { - "input_type": "sequence_file", - "input_id": "10b3b42b-3612-48fb-849b-bfc036c248a6" - }, - { - "input_type": "sequence_file", - "input_id": "6fc7505d-33db-4d19-99a1-5756cd9a0a1c" - }, - { - "input_type": "sequence_file", - "input_id": "64309a91-ba2b-4b0e-baa9-7cfce3c5d445" - }, - { - "input_type": "sequence_file", - "input_id": "64eedb4a-2f73-4b60-a4b1-99b5ffd0486b" - }, - { - "input_type": "sequence_file", - "input_id": "79d181d1-5b70-4306-a229-74a2a3d5278e" - }, - { - "input_type": "sequence_file", - "input_id": "102b8410-1c0e-46f5-90fe-609ab117221c" - }, - { - "input_type": "sequence_file", - "input_id": "449ec63a-dca8-4a61-98b5-e6789d4946a1" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca" - }, - { - "output_type": "analysis_file", - "output_id": "31e6cb06-0062-4096-84f5-c2d1c2621a82" - }, - { - "output_type": "analysis_file", - "output_id": "d3b3abc2-0da6-4163-acb8-251fe079284c" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "07f1f962-dd38-4a0b-b0b5-f4efe30d21e2" - } - ] - }, - { - "link_type": "process_link", - "process_id": "b92a945a-9be0-4cf6-8ce8-14f0fa3a3648", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "60e4296c-5d92-4c12-bf4e-f5fe08f01614" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "87e9a01b-594b-4dc4-b2a7-a14407399b50" - }, - { - "output_type": "sequence_file", - "output_id": "c4c3353d-f33f-4a5b-a2d8-7878daf2d01b" - }, - { - "output_type": "sequence_file", - "output_id": "fd3a8466-6eaf-4251-be4a-f46f85403719" - }, - { - "output_type": "sequence_file", - "output_id": "7abc79b5-e32a-4313-b130-12397d29d684" - }, - { - "output_type": "sequence_file", - "output_id": "4abcf42c-5291-47f3-b7a8-bb1071f56c54" - }, - { - "output_type": "sequence_file", - "output_id": "893dfdd4-43f4-4256-938b-d957928f0daa" - }, - { - "output_type": "sequence_file", - "output_id": "b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5" - }, - { - "output_type": "sequence_file", - "output_id": "fbec3e01-aaf4-41a3-b667-1f0268571d10" - }, - { - "output_type": "sequence_file", - "output_id": "4e066f08-f8b7-4550-adc2-287392fa7731" - }, - { - "output_type": "sequence_file", - "output_id": "e6565b7b-b195-4554-bf60-4b80f2c6dd13" - }, - { - "output_type": "sequence_file", - "output_id": "d1dd53ff-b603-4345-8203-45c384cbc813" - }, - { - "output_type": "sequence_file", - "output_id": "965057e9-48bc-4452-8819-2bc45723a0f7" - }, - { - "output_type": "sequence_file", - "output_id": "b7d7c14d-7bf3-4a8f-8f40-8d6e98505558" - }, - { - "output_type": "sequence_file", - "output_id": "84cc7ee0-4d8e-45a1-b563-d3e05b4ec573" - }, - { - "output_type": "sequence_file", - "output_id": "ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2" - }, - { - "output_type": "sequence_file", - "output_id": "130831cc-87b6-47fd-93a8-ae1890d365f2" - }, - { - "output_type": "sequence_file", - "output_id": "42bbb160-b881-4036-a712-1ab9b5d5ce87" - }, - { - "output_type": "sequence_file", - "output_id": "e9b50275-4ebe-43fe-b3de-1fe3ab930a23" - }, - { - "output_type": "sequence_file", - "output_id": "5621674e-0290-487d-8c0c-49b617d1628c" - }, - { - "output_type": "sequence_file", - "output_id": "868dfde7-2df8-487f-b754-68db8a96ad3a" - }, - { - "output_type": "sequence_file", - "output_id": "daa6813e-0321-413a-9107-8c814825bf93" - }, - { - "output_type": "sequence_file", - "output_id": "ffb64e6b-8924-4adf-ae8f-e55b4dd019dd" - }, - { - "output_type": "sequence_file", - "output_id": "e28d2a66-f506-4a4d-b2c6-823e4e8124d6" - }, - { - "output_type": "sequence_file", - "output_id": "ade0fe79-4629-4a49-8253-e26380046b32" - }, - { - "output_type": "sequence_file", - "output_id": "28023147-3cad-4c1d-b494-b693c4f0a6bd" - }, - { - "output_type": "sequence_file", - "output_id": "3c007e61-0e8a-4337-946c-1082441084c7" - }, - { - "output_type": "sequence_file", - "output_id": "577e4275-b373-40ac-ac3f-8487d6aafe16" - }, - { - "output_type": "sequence_file", - "output_id": "9e74066b-834e-416d-a1e7-bbec1e8f1713" - }, - { - "output_type": "sequence_file", - "output_id": "110bb0f5-9d1a-4573-b711-6bee156d0eb8" - }, - { - "output_type": "sequence_file", - "output_id": "012af05a-4771-45e5-bb92-9b63fcbde822" - }, - { - "output_type": "sequence_file", - "output_id": "565dbd59-2571-4af5-b160-c6d5cd3c684f" - }, - { - "output_type": "sequence_file", - "output_id": "d068c2b0-60c7-429a-938c-cb9c703c4c4d" - }, - { - "output_type": "sequence_file", - "output_id": "71add17d-3b59-4ca2-a032-80819608a34a" - }, - { - "output_type": "sequence_file", - "output_id": "c5e55f39-94a7-4ddd-8972-d217b63fb7cb" - }, - { - "output_type": "sequence_file", - "output_id": "fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce" - }, - { - "output_type": "sequence_file", - "output_id": "4df715c5-a783-41e6-a99e-eedf93a37fb3" - }, - { - "output_type": "sequence_file", - "output_id": "8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a" - }, - { - "output_type": "sequence_file", - "output_id": "b3739e56-e8cc-43b6-8b43-9116b5d75e69" - }, - { - "output_type": "sequence_file", - "output_id": "dd8ac880-75c4-4fe8-89e3-2cc41dad784a" - }, - { - "output_type": "sequence_file", - "output_id": "bb788d30-169b-4160-be07-98222d0a8327" - }, - { - "output_type": "sequence_file", - "output_id": "f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9" - }, - { - "output_type": "sequence_file", - "output_id": "877258d8-07eb-4cb6-a358-7c265c856ab6" - }, - { - "output_type": "sequence_file", - "output_id": "80e88ed6-4480-4888-b25d-d41e90822142" - }, - { - "output_type": "sequence_file", - "output_id": "f5fae200-b633-4ade-8871-94cf47475c67" - }, - { - "output_type": "sequence_file", - "output_id": "47950b5e-3d6f-4b75-9518-feb8b9e9a78b" - }, - { - "output_type": "sequence_file", - "output_id": "1c95a589-205c-4d7c-9c56-c3de4f7dbb66" - }, - { - "output_type": "sequence_file", - "output_id": "a40ed25e-fbf0-40a3-b468-e2bdb55d56d0" - }, - { - "output_type": "sequence_file", - "output_id": "f5274b10-d3ea-44c9-9f27-9af574dea10c" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "72975432-3c46-449a-a4d9-809712d10577" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "63db242f-a88b-4deb-b1e4-3677ade32d18" - } - ] - }, - { - "link_type": "process_link", - "process_id": "eb10f476-5ffe-4954-b2e9-8a6a768fe46c", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "f55166a1-c4f0-4fda-ac9f-164489040ee5" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "60e4296c-5d92-4c12-bf4e-f5fe08f01614" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0e1884e4-310f-4afb-9721-e0721a290498" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "48f7f503-d213-4447-9ee4-3602da1066d7" - } - ] - }, - { - "link_type": "process_link", - "process_id": "e6aa2bc0-9650-4ba6-89fc-033a7a95f796", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "e5bba055-1268-4e04-99ea-71660fd31c08" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "f55166a1-c4f0-4fda-ac9f-164489040ee5" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "67fa2c3e-ba97-4bc6-beb9-92ea33bec948" - } - ] - }, - { - "link_type": "process_link", - "process_id": "97f00f1b-232c-4425-b51a-7d91b88d3862", - "process_type": "process", - "inputs": [ - { - "input_type": "sequence_file", - "input_id": "3cad3e7e-9e9b-4e4e-a535-509853f9306b" - }, - { - "input_type": "sequence_file", - "input_id": "8840da5d-cbaa-4617-ad50-d2a012563fe6" - }, - { - "input_type": "sequence_file", - "input_id": "e17968e7-5ef9-45fb-b45a-d73d18f41ae6" - }, - { - "input_type": "sequence_file", - "input_id": "fea581ad-b8a8-47d1-a4bb-e18f0753bf13" - }, - { - "input_type": "sequence_file", - "input_id": "7b1418ba-7cd7-4844-924c-ca92b0d3147c" - }, - { - "input_type": "sequence_file", - "input_id": "e0a99b8f-15e2-4a9e-b298-1066a9bcbda7" - }, - { - "input_type": "sequence_file", - "input_id": "7d5ca602-df90-402e-9c12-933e1cdde407" - }, - { - "input_type": "sequence_file", - "input_id": "b3de09c9-37f3-4d58-8930-bbd5d4e136c5" - }, - { - "input_type": "sequence_file", - "input_id": "81898837-23e3-40d9-96e2-04a559d95b2e" - }, - { - "input_type": "sequence_file", - "input_id": "2f74ffc0-b776-4b4a-90c6-327edb41c7ac" - }, - { - "input_type": "sequence_file", - "input_id": "a783909f-5237-4218-8b9d-80653729f3b1" - }, - { - "input_type": "sequence_file", - "input_id": "2d0246fd-696f-4a54-abe6-d759cc6d27b3" - }, - { - "input_type": "sequence_file", - "input_id": "ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02" - }, - { - "input_type": "sequence_file", - "input_id": "c0fc6427-6fa7-4d8d-9d6e-8844a26ff318" - }, - { - "input_type": "sequence_file", - "input_id": "bff57385-2f4f-4695-a153-412c9aabab59" - }, - { - "input_type": "sequence_file", - "input_id": "e61740c1-0e70-4d25-a912-32617d2e71fa" - }, - { - "input_type": "sequence_file", - "input_id": "4d0f1255-5e1b-4852-8030-a7a8f7580f1a" - }, - { - "input_type": "sequence_file", - "input_id": "ab8e7f29-eae9-488a-9337-7a926c8857ac" - }, - { - "input_type": "sequence_file", - "input_id": "bef069b8-2720-4327-8298-9ab2badd4a53" - }, - { - "input_type": "sequence_file", - "input_id": "f5ada827-68c0-4af6-88c6-7e9256b663ff" - }, - { - "input_type": "sequence_file", - "input_id": "db2ecbf9-0e24-4106-b594-73368de0e98b" - }, - { - "input_type": "sequence_file", - "input_id": "c9a2a10f-6638-4463-8c8f-4260c72dcb92" - }, - { - "input_type": "sequence_file", - "input_id": "7060b0f4-a756-41f8-bc65-16c7effef1be" - }, - { - "input_type": "sequence_file", - "input_id": "8898a9f3-4928-45b1-b236-71ce7cb48b11" - }, - { - "input_type": "sequence_file", - "input_id": "30f53c61-a8e3-42cf-a6d2-1b172659c189" - }, - { - "input_type": "sequence_file", - "input_id": "5e25031d-3456-4209-9818-c8882b2623e1" - }, - { - "input_type": "sequence_file", - "input_id": "d0cf423a-1ecf-499b-9e61-95662e23ba40" - }, - { - "input_type": "sequence_file", - "input_id": "99e73efd-4a04-496f-bb32-8f73edb0ae1a" - }, - { - "input_type": "sequence_file", - "input_id": "b35e3b14-91dc-4bf0-a47d-4ed8428efbe1" - }, - { - "input_type": "sequence_file", - "input_id": "8e892b4a-c112-47f2-a058-b87efed5a262" - }, - { - "input_type": "sequence_file", - "input_id": "621547f4-60bc-41b6-bc21-5c970700a1e4" - }, - { - "input_type": "sequence_file", - "input_id": "e06ec666-d2ed-4801-8bc3-03ddcd151c49" - }, - { - "input_type": "sequence_file", - "input_id": "782f79d7-bd59-4cc5-8492-1e680fbb31c1" - }, - { - "input_type": "sequence_file", - "input_id": "c458a416-5736-4b7b-817e-1d87b341f825" - }, - { - "input_type": "sequence_file", - "input_id": "a778ad17-3705-40bc-b425-245d17958638" - }, - { - "input_type": "sequence_file", - "input_id": "5f563e91-d384-4e1e-ac84-20f06332fe8c" - }, - { - "input_type": "sequence_file", - "input_id": "23203fb2-d46d-4d14-95e5-4ec38191e420" - }, - { - "input_type": "sequence_file", - "input_id": "d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb" - }, - { - "input_type": "sequence_file", - "input_id": "fea7ae13-ad77-4b59-9922-14f748263eac" - }, - { - "input_type": "sequence_file", - "input_id": "acfa3362-62b0-429a-b617-3adb722c200f" - }, - { - "input_type": "sequence_file", - "input_id": "6ea29b25-492a-4c00-819d-ec8a0909fa28" - }, - { - "input_type": "sequence_file", - "input_id": "d1f9e5d6-8df2-48d1-b558-9609710ef53f" - }, - { - "input_type": "sequence_file", - "input_id": "937bbdf2-09e3-4bf7-8f45-e46db2188c46" - }, - { - "input_type": "sequence_file", - "input_id": "1badbbc9-6b43-41f6-acad-36f09cff3d21" - }, - { - "input_type": "sequence_file", - "input_id": "f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16" - }, - { - "input_type": "sequence_file", - "input_id": "d04a8b95-a45f-4fc1-a42a-a9afe3188465" - }, - { - "input_type": "sequence_file", - "input_id": "e381aa0d-c2ce-4fe4-9acd-030d9023fcb6" - }, - { - "input_type": "sequence_file", - "input_id": "ac5fdc06-b856-4de0-9423-bdf05d4df650" - }, - { - "input_type": "sequence_file", - "input_id": "87e9a01b-594b-4dc4-b2a7-a14407399b50" - }, - { - "input_type": "sequence_file", - "input_id": "c4c3353d-f33f-4a5b-a2d8-7878daf2d01b" - }, - { - "input_type": "sequence_file", - "input_id": "fd3a8466-6eaf-4251-be4a-f46f85403719" - }, - { - "input_type": "sequence_file", - "input_id": "7abc79b5-e32a-4313-b130-12397d29d684" - }, - { - "input_type": "sequence_file", - "input_id": "4abcf42c-5291-47f3-b7a8-bb1071f56c54" - }, - { - "input_type": "sequence_file", - "input_id": "893dfdd4-43f4-4256-938b-d957928f0daa" - }, - { - "input_type": "sequence_file", - "input_id": "b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5" - }, - { - "input_type": "sequence_file", - "input_id": "fbec3e01-aaf4-41a3-b667-1f0268571d10" - }, - { - "input_type": "sequence_file", - "input_id": "4e066f08-f8b7-4550-adc2-287392fa7731" - }, - { - "input_type": "sequence_file", - "input_id": "e6565b7b-b195-4554-bf60-4b80f2c6dd13" - }, - { - "input_type": "sequence_file", - "input_id": "d1dd53ff-b603-4345-8203-45c384cbc813" - }, - { - "input_type": "sequence_file", - "input_id": "965057e9-48bc-4452-8819-2bc45723a0f7" - }, - { - "input_type": "sequence_file", - "input_id": "b7d7c14d-7bf3-4a8f-8f40-8d6e98505558" - }, - { - "input_type": "sequence_file", - "input_id": "84cc7ee0-4d8e-45a1-b563-d3e05b4ec573" - }, - { - "input_type": "sequence_file", - "input_id": "ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2" - }, - { - "input_type": "sequence_file", - "input_id": "130831cc-87b6-47fd-93a8-ae1890d365f2" - }, - { - "input_type": "sequence_file", - "input_id": "42bbb160-b881-4036-a712-1ab9b5d5ce87" - }, - { - "input_type": "sequence_file", - "input_id": "e9b50275-4ebe-43fe-b3de-1fe3ab930a23" - }, - { - "input_type": "sequence_file", - "input_id": "5621674e-0290-487d-8c0c-49b617d1628c" - }, - { - "input_type": "sequence_file", - "input_id": "868dfde7-2df8-487f-b754-68db8a96ad3a" - }, - { - "input_type": "sequence_file", - "input_id": "daa6813e-0321-413a-9107-8c814825bf93" - }, - { - "input_type": "sequence_file", - "input_id": "ffb64e6b-8924-4adf-ae8f-e55b4dd019dd" - }, - { - "input_type": "sequence_file", - "input_id": "e28d2a66-f506-4a4d-b2c6-823e4e8124d6" - }, - { - "input_type": "sequence_file", - "input_id": "ade0fe79-4629-4a49-8253-e26380046b32" - }, - { - "input_type": "sequence_file", - "input_id": "28023147-3cad-4c1d-b494-b693c4f0a6bd" - }, - { - "input_type": "sequence_file", - "input_id": "3c007e61-0e8a-4337-946c-1082441084c7" - }, - { - "input_type": "sequence_file", - "input_id": "577e4275-b373-40ac-ac3f-8487d6aafe16" - }, - { - "input_type": "sequence_file", - "input_id": "9e74066b-834e-416d-a1e7-bbec1e8f1713" - }, - { - "input_type": "sequence_file", - "input_id": "110bb0f5-9d1a-4573-b711-6bee156d0eb8" - }, - { - "input_type": "sequence_file", - "input_id": "012af05a-4771-45e5-bb92-9b63fcbde822" - }, - { - "input_type": "sequence_file", - "input_id": "565dbd59-2571-4af5-b160-c6d5cd3c684f" - }, - { - "input_type": "sequence_file", - "input_id": "d068c2b0-60c7-429a-938c-cb9c703c4c4d" - }, - { - "input_type": "sequence_file", - "input_id": "71add17d-3b59-4ca2-a032-80819608a34a" - }, - { - "input_type": "sequence_file", - "input_id": "c5e55f39-94a7-4ddd-8972-d217b63fb7cb" - }, - { - "input_type": "sequence_file", - "input_id": "fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce" - }, - { - "input_type": "sequence_file", - "input_id": "4df715c5-a783-41e6-a99e-eedf93a37fb3" - }, - { - "input_type": "sequence_file", - "input_id": "8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a" - }, - { - "input_type": "sequence_file", - "input_id": "b3739e56-e8cc-43b6-8b43-9116b5d75e69" - }, - { - "input_type": "sequence_file", - "input_id": "dd8ac880-75c4-4fe8-89e3-2cc41dad784a" - }, - { - "input_type": "sequence_file", - "input_id": "bb788d30-169b-4160-be07-98222d0a8327" - }, - { - "input_type": "sequence_file", - "input_id": "f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9" - }, - { - "input_type": "sequence_file", - "input_id": "877258d8-07eb-4cb6-a358-7c265c856ab6" - }, - { - "input_type": "sequence_file", - "input_id": "80e88ed6-4480-4888-b25d-d41e90822142" - }, - { - "input_type": "sequence_file", - "input_id": "f5fae200-b633-4ade-8871-94cf47475c67" - }, - { - "input_type": "sequence_file", - "input_id": "47950b5e-3d6f-4b75-9518-feb8b9e9a78b" - }, - { - "input_type": "sequence_file", - "input_id": "1c95a589-205c-4d7c-9c56-c3de4f7dbb66" - }, - { - "input_type": "sequence_file", - "input_id": "a40ed25e-fbf0-40a3-b468-e2bdb55d56d0" - }, - { - "input_type": "sequence_file", - "input_id": "f5274b10-d3ea-44c9-9f27-9af574dea10c" - }, - { - "input_type": "sequence_file", - "input_id": "fd7e7e85-7747-42c3-bc6b-0e4718202d63" - }, - { - "input_type": "sequence_file", - "input_id": "38601526-8448-4253-807b-70878c374901" - }, - { - "input_type": "sequence_file", - "input_id": "45d0b683-d7dc-4e1a-a235-dad58ef03d77" - }, - { - "input_type": "sequence_file", - "input_id": "dff50bd5-38c9-4c35-a5bc-dd51e69f249a" - }, - { - "input_type": "sequence_file", - "input_id": "0506c2a0-ef2b-4850-8567-20d08046bdaa" - }, - { - "input_type": "sequence_file", - "input_id": "dabb5028-64d2-4dbc-89a3-0cf6079ad0cb" - }, - { - "input_type": "sequence_file", - "input_id": "d1ad5518-3619-46dd-a342-f5a3b34f67b1" - }, - { - "input_type": "sequence_file", - "input_id": "bbda7bad-f60b-4091-83b0-b8d96c3f4214" - }, - { - "input_type": "sequence_file", - "input_id": "ce3c8eab-dcb7-403f-8837-6a7986acb6fc" - }, - { - "input_type": "sequence_file", - "input_id": "9e63db48-5b68-40e8-9d8f-aff48223b80e" - }, - { - "input_type": "sequence_file", - "input_id": "74086d10-f049-45c2-8654-de93aac63d94" - }, - { - "input_type": "sequence_file", - "input_id": "c699ee8b-738e-451a-b91d-0e1a6c8bb6f9" - }, - { - "input_type": "sequence_file", - "input_id": "f9db3e23-91ca-487f-a3ec-11ffa8b8f939" - }, - { - "input_type": "sequence_file", - "input_id": "fdd026f9-0ab6-49ef-88f9-4a5d61d12188" - }, - { - "input_type": "sequence_file", - "input_id": "c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2" - }, - { - "input_type": "sequence_file", - "input_id": "72b34b3d-f005-48af-81dc-3631873960d8" - }, - { - "input_type": "sequence_file", - "input_id": "7938acb1-91e3-4d8d-9d24-3b0a9fa28131" - }, - { - "input_type": "sequence_file", - "input_id": "9962de78-e4ef-40ba-b9fc-bd661895a99b" - }, - { - "input_type": "sequence_file", - "input_id": "3cf0f46b-1618-49e6-8cdc-d97a9d2403da" - }, - { - "input_type": "sequence_file", - "input_id": "2f033594-a8bd-49c4-b1b7-69ce88fe26d4" - }, - { - "input_type": "sequence_file", - "input_id": "97eaa3ce-131c-48b8-8082-86bbb6a486b5" - }, - { - "input_type": "sequence_file", - "input_id": "61716326-4fa0-41b9-8ca4-5b020500e8ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0e048f6-0ab6-45fc-a74f-16711af67a2e" - }, - { - "input_type": "sequence_file", - "input_id": "347f630f-a9a0-4430-958f-6c929335031a" - }, - { - "input_type": "sequence_file", - "input_id": "c13ed96e-3052-4a3f-9871-8196c10070a1" - }, - { - "input_type": "sequence_file", - "input_id": "1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1" - }, - { - "input_type": "sequence_file", - "input_id": "09b831a2-5b60-4753-864e-8af803024437" - }, - { - "input_type": "sequence_file", - "input_id": "290232bb-afb1-45b2-8e04-be180948541a" - }, - { - "input_type": "sequence_file", - "input_id": "c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7" - }, - { - "input_type": "sequence_file", - "input_id": "22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22" - }, - { - "input_type": "sequence_file", - "input_id": "da6e341f-43d3-4c22-ab8c-3c3e81986d9b" - }, - { - "input_type": "sequence_file", - "input_id": "6ea00f5c-7e63-493b-b6f9-68ba54dbbed3" - }, - { - "input_type": "sequence_file", - "input_id": "b9acc59a-ba7c-40ef-8611-27069458a508" - }, - { - "input_type": "sequence_file", - "input_id": "6f11ead1-11b1-4bda-8a20-588bb85ec126" - }, - { - "input_type": "sequence_file", - "input_id": "4ca067fb-8ba1-4959-9c1a-878d5705dd67" - }, - { - "input_type": "sequence_file", - "input_id": "f77883e0-6609-4bda-b446-331adbd9d357" - }, - { - "input_type": "sequence_file", - "input_id": "541fc29f-a7a3-456e-b28e-80f9036a4e33" - }, - { - "input_type": "sequence_file", - "input_id": "bd1e5909-c184-4ee0-906c-77e399270a71" - }, - { - "input_type": "sequence_file", - "input_id": "22833c60-dc70-4299-86ac-00747b91b3cb" - }, - { - "input_type": "sequence_file", - "input_id": "24bbde6e-cdf7-4f1c-a447-6501ce377aa4" - }, - { - "input_type": "sequence_file", - "input_id": "7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0" - }, - { - "input_type": "sequence_file", - "input_id": "64c93769-83eb-4718-90f0-36d83b1dae4d" - }, - { - "input_type": "sequence_file", - "input_id": "d3661383-3d73-41a0-8676-295926c07eeb" - }, - { - "input_type": "sequence_file", - "input_id": "9766ad67-37fa-402a-9649-181a1752e5b2" - }, - { - "input_type": "sequence_file", - "input_id": "559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0" - }, - { - "input_type": "sequence_file", - "input_id": "f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0dd6ad5-0582-47de-9cbf-7351ebd5e005" - }, - { - "input_type": "sequence_file", - "input_id": "a60154cf-58b6-461f-8908-b789cdd78ee8" - }, - { - "input_type": "sequence_file", - "input_id": "11d171f7-7775-40a4-90a4-df995775b1c4" - }, - { - "input_type": "sequence_file", - "input_id": "9fa70333-418c-476c-b93b-382096a9cdcb" - }, - { - "input_type": "sequence_file", - "input_id": "6593f54e-682c-4eb4-b2ed-e3c3278d4880" - }, - { - "input_type": "sequence_file", - "input_id": "c3182931-cc4c-4cb7-aab5-4b50093eebea" - }, - { - "input_type": "sequence_file", - "input_id": "3001b82f-bbea-4072-9760-a14a4f00b7d3" - }, - { - "input_type": "sequence_file", - "input_id": "2b62614e-dc4d-46ea-bf29-727d5c33effa" - }, - { - "input_type": "sequence_file", - "input_id": "726a68e9-4fa9-425a-90e7-d0fef30c9d4c" - }, - { - "input_type": "sequence_file", - "input_id": "09610000-dc5c-4665-a72e-b0dad51edf6d" - }, - { - "input_type": "sequence_file", - "input_id": "92951c73-28a3-4820-89d6-15a73fa192cf" - }, - { - "input_type": "sequence_file", - "input_id": "6d9709e5-ce90-46d3-bc95-d5105cafc67a" - }, - { - "input_type": "sequence_file", - "input_id": "523c6c55-66da-4edc-b66a-a33fe20d4102" - }, - { - "input_type": "sequence_file", - "input_id": "75e38979-23f0-4749-bfcc-d8e92db7f2b0" - }, - { - "input_type": "sequence_file", - "input_id": "3fcc4232-b40f-4cca-bd1d-d12a03e4fed0" - }, - { - "input_type": "sequence_file", - "input_id": "80347bc1-ffca-4f66-9ebd-812d22ab3d3f" - }, - { - "input_type": "sequence_file", - "input_id": "28e8f3eb-fedc-4942-8d6b-836fbb7e3441" - }, - { - "input_type": "sequence_file", - "input_id": "40f24220-4c6d-43c4-ab82-1db21d683b07" - }, - { - "input_type": "sequence_file", - "input_id": "b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477" - }, - { - "input_type": "sequence_file", - "input_id": "b7826640-f0cc-4891-860e-7815a8848006" - }, - { - "input_type": "sequence_file", - "input_id": "eccad683-4c2d-4d7f-a141-1effb429fef7" - }, - { - "input_type": "sequence_file", - "input_id": "1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288" - }, - { - "input_type": "sequence_file", - "input_id": "09c0456a-ec0b-47e3-870d-4b47221a45a6" - }, - { - "input_type": "sequence_file", - "input_id": "067d2b7b-127b-421f-91db-0acc05ad62ad" - }, - { - "input_type": "sequence_file", - "input_id": "9bad139c-7abf-4786-a6fc-5f9a5abcd850" - }, - { - "input_type": "sequence_file", - "input_id": "9b03ad8d-aabf-4736-820a-493db4877f84" - }, - { - "input_type": "sequence_file", - "input_id": "3dce5e53-a137-4086-96d3-26dd3d000cf6" - }, - { - "input_type": "sequence_file", - "input_id": "19eb5d2e-2224-4bb4-9f94-526a4c06f7a2" - }, - { - "input_type": "sequence_file", - "input_id": "6b38794f-2d55-4422-8094-fb4a5e100d32" - }, - { - "input_type": "sequence_file", - "input_id": "9a03ec79-7dc7-44fc-bb97-22ad58159436" - }, - { - "input_type": "sequence_file", - "input_id": "69ab8827-b0dc-48ae-84b5-1d27284a7db0" - }, - { - "input_type": "sequence_file", - "input_id": "a2b31671-1874-4c4a-a5c5-fd2787287893" - }, - { - "input_type": "sequence_file", - "input_id": "7186ea5d-49a0-4d72-a24e-2a30d48aa8fc" - }, - { - "input_type": "sequence_file", - "input_id": "e5d2cef3-3902-418c-b905-001052979a54" - }, - { - "input_type": "sequence_file", - "input_id": "02cfb8bb-4eb6-4343-9381-007968f1feee" - }, - { - "input_type": "sequence_file", - "input_id": "d8b9cedb-39d5-47b7-9c64-94e6393fdd0d" - }, - { - "input_type": "sequence_file", - "input_id": "9f577e94-f952-40af-a919-108f4661fdb9" - }, - { - "input_type": "sequence_file", - "input_id": "1d77e73b-9bd3-499f-a0d0-86d9f7306a7e" - }, - { - "input_type": "sequence_file", - "input_id": "c3093b68-54a2-4d31-aa15-50afb0414625" - }, - { - "input_type": "sequence_file", - "input_id": "d73e6663-d29d-47af-a4b4-5cadcd272293" - }, - { - "input_type": "sequence_file", - "input_id": "44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7" - }, - { - "input_type": "sequence_file", - "input_id": "e163d226-febb-4ecf-80db-8e60680be2ab" - }, - { - "input_type": "sequence_file", - "input_id": "a6a99736-43fb-4f67-ae26-0e24d5277c6b" - }, - { - "input_type": "sequence_file", - "input_id": "2ff6533e-8fe3-44c3-b378-99d4acdc0ab8" - }, - { - "input_type": "sequence_file", - "input_id": "3b7b0bcf-b316-4b0e-9d46-f8d44a399774" - }, - { - "input_type": "sequence_file", - "input_id": "d5aab272-e387-4bae-aeb0-987928e0c001" - }, - { - "input_type": "sequence_file", - "input_id": "d359ca8d-a374-4eeb-b214-69df7861d0e3" - }, - { - "input_type": "sequence_file", - "input_id": "c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd" - }, - { - "input_type": "sequence_file", - "input_id": "29ee234c-5d39-4eb9-8f73-22121936b3db" - }, - { - "input_type": "sequence_file", - "input_id": "344c1e18-810e-4800-bbed-0246cbbafa60" - }, - { - "input_type": "sequence_file", - "input_id": "91594c64-a197-4dc9-8605-d57aff0f2e87" - }, - { - "input_type": "sequence_file", - "input_id": "17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8" - }, - { - "input_type": "sequence_file", - "input_id": "fed6f8f3-2c61-4361-8160-2c5a13db83d4" - }, - { - "input_type": "sequence_file", - "input_id": "dae9b045-0d8d-4944-b8a2-d3b64ad7df34" - }, - { - "input_type": "sequence_file", - "input_id": "8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba" - }, - { - "input_type": "sequence_file", - "input_id": "b6dda1ac-9635-426a-869a-82b1420ef251" - }, - { - "input_type": "sequence_file", - "input_id": "47c12e95-67b2-42e1-866b-eb7c5f16a3c6" - }, - { - "input_type": "sequence_file", - "input_id": "edbe53c5-208b-436d-b283-1aa4ee94800c" - }, - { - "input_type": "sequence_file", - "input_id": "4198865c-d4ef-4a01-94c0-8a8397914dbc" - }, - { - "input_type": "sequence_file", - "input_id": "e1c334fa-b493-4892-a48b-3fe594e98b30" - }, - { - "input_type": "sequence_file", - "input_id": "c8b4bc26-7487-48d9-a2f2-6b3934da074d" - }, - { - "input_type": "sequence_file", - "input_id": "b0009333-24fc-4f3e-bf35-3cc8fa808efa" - }, - { - "input_type": "sequence_file", - "input_id": "a45af0aa-2591-4031-8ee8-a3c0a5a76260" - }, - { - "input_type": "sequence_file", - "input_id": "56d5b505-6591-47c4-b469-006e27e6e343" - }, - { - "input_type": "sequence_file", - "input_id": "ebbc0d72-0743-41b8-88f6-736c36bd6499" - }, - { - "input_type": "sequence_file", - "input_id": "7c912919-4b2c-4f4d-bdfe-1988d20aeeed" - }, - { - "input_type": "sequence_file", - "input_id": "b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc" - }, - { - "input_type": "sequence_file", - "input_id": "51aef727-d8de-497f-abbe-e650b1baeeab" - }, - { - "input_type": "sequence_file", - "input_id": "c04b8362-f2c9-4cad-b939-494e738efc19" - }, - { - "input_type": "sequence_file", - "input_id": "782fcb99-9b26-485f-9f7d-bda9cc37f0d2" - }, - { - "input_type": "sequence_file", - "input_id": "cabca52b-8f67-4107-8916-4fd8129ccd97" - }, - { - "input_type": "sequence_file", - "input_id": "79e53d37-c41c-4234-99db-f3333d89bb3a" - }, - { - "input_type": "sequence_file", - "input_id": "e0a914c3-3147-4f06-a8ae-0c16029497dc" - }, - { - "input_type": "sequence_file", - "input_id": "ebc98059-556f-4a51-b1d3-e5afb40fe80e" - }, - { - "input_type": "sequence_file", - "input_id": "a65b7c37-e038-41d5-8623-2046bdc278a4" - }, - { - "input_type": "sequence_file", - "input_id": "7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565" - }, - { - "input_type": "sequence_file", - "input_id": "8fc6dd31-c01c-4eec-ae6c-bedd13f2c209" - }, - { - "input_type": "sequence_file", - "input_id": "ba526c42-7c2f-43c1-a817-06ccdb4d67be" - }, - { - "input_type": "sequence_file", - "input_id": "1adbb95f-f5c3-41ce-8e16-7657d189de79" - }, - { - "input_type": "sequence_file", - "input_id": "887d7cc2-1c24-42a9-aab3-51474d95f927" - }, - { - "input_type": "sequence_file", - "input_id": "6e3aed1a-9909-462c-90e1-a1f766cd380e" - }, - { - "input_type": "sequence_file", - "input_id": "d85ccb81-e861-4bb1-95b6-40762555da1d" - }, - { - "input_type": "sequence_file", - "input_id": "5d00e91c-8691-41ff-836c-b827f23a1a7d" - }, - { - "input_type": "sequence_file", - "input_id": "50fd1926-5615-4e29-be75-e8528d1da8df" - }, - { - "input_type": "sequence_file", - "input_id": "73112827-65e2-4057-98e0-960b4c50afe6" - }, - { - "input_type": "sequence_file", - "input_id": "5f3e080f-d2f2-4350-96b0-fb8169bfcdd9" - }, - { - "input_type": "sequence_file", - "input_id": "e744fafb-3c4b-47c3-91db-db8bb8751279" - }, - { - "input_type": "sequence_file", - "input_id": "3f2ae9d6-763e-4408-bc80-6067ccc756e0" - }, - { - "input_type": "sequence_file", - "input_id": "64e1d438-17af-450b-b90c-04072117cbb1" - }, - { - "input_type": "sequence_file", - "input_id": "a10329ae-6c8a-4df9-bac1-70bdf2c07571" - }, - { - "input_type": "sequence_file", - "input_id": "fd0547d5-7f16-46e4-8948-45c82f923f69" - }, - { - "input_type": "sequence_file", - "input_id": "14795e28-bcee-4da3-83cf-bb2592b6c0d0" - }, - { - "input_type": "sequence_file", - "input_id": "5b977962-16d1-4631-9225-6be262e9ccae" - }, - { - "input_type": "sequence_file", - "input_id": "7eb17ee4-5704-4ce3-8b41-121ef051ee09" - }, - { - "input_type": "sequence_file", - "input_id": "a2385663-3f62-4512-b4d8-4bba405f50a3" - }, - { - "input_type": "sequence_file", - "input_id": "53c40015-48a9-4a3f-a513-d617d28a2352" - }, - { - "input_type": "sequence_file", - "input_id": "2862a721-a50b-4e47-86c5-35547bc44e53" - }, - { - "input_type": "sequence_file", - "input_id": "2a77f1db-b5d4-4657-a522-9786aaa7df80" - }, - { - "input_type": "sequence_file", - "input_id": "035a00e0-02ca-46e8-bb76-9b2449ee922f" - }, - { - "input_type": "sequence_file", - "input_id": "1a589473-0047-4bca-afce-57c8448f0dc6" - }, - { - "input_type": "sequence_file", - "input_id": "dcec351c-327a-46df-aa48-22d2647d5852" - }, - { - "input_type": "sequence_file", - "input_id": "3d8bc409-2043-486a-9a0b-12c71a741d83" - }, - { - "input_type": "sequence_file", - "input_id": "554c1554-ed18-4926-b8d7-5b6af2edab5b" - }, - { - "input_type": "sequence_file", - "input_id": "dcf52037-e357-4b26-9072-05e08bf47978" - }, - { - "input_type": "sequence_file", - "input_id": "ed884cca-c961-40d2-bc8b-b358ea4fb780" - }, - { - "input_type": "sequence_file", - "input_id": "3c9533cf-c7b5-4bbf-9461-87da5aa1b556" - }, - { - "input_type": "sequence_file", - "input_id": "12826f14-2ef8-4069-a797-42d2f4c0937b" - }, - { - "input_type": "sequence_file", - "input_id": "fe586661-4878-4882-a38f-0b6321df5c99" - }, - { - "input_type": "sequence_file", - "input_id": "1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec" - }, - { - "input_type": "sequence_file", - "input_id": "b1e83792-e01e-45e2-bcb8-27b81a0d9db9" - }, - { - "input_type": "sequence_file", - "input_id": "5be8906f-0831-422d-896e-b099d5a23e13" - }, - { - "input_type": "sequence_file", - "input_id": "511eaba4-a8f4-4230-b3ad-407332e22b48" - }, - { - "input_type": "sequence_file", - "input_id": "d5b993f2-d053-4420-994b-04d64bd9e356" - }, - { - "input_type": "sequence_file", - "input_id": "adca7438-701c-4afc-8580-01de6ee68974" - }, - { - "input_type": "sequence_file", - "input_id": "d1f65c9e-628b-4c5f-b76a-1154c1666eba" - }, - { - "input_type": "sequence_file", - "input_id": "21bd79df-cc64-4381-a5c7-0e81e001ea1a" - }, - { - "input_type": "sequence_file", - "input_id": "832ae460-0083-42b0-89a6-cc651e50fad4" - }, - { - "input_type": "sequence_file", - "input_id": "db7576d3-afc9-4860-9a46-bdca8f745fa3" - }, - { - "input_type": "sequence_file", - "input_id": "2b889dd9-0bd3-412a-967e-74fa9600bb4d" - }, - { - "input_type": "sequence_file", - "input_id": "baa2bfd9-d2fb-4b5a-a81d-af84bf24c730" - }, - { - "input_type": "sequence_file", - "input_id": "ac036daf-a7cc-4583-a219-814c77ed8001" - }, - { - "input_type": "sequence_file", - "input_id": "ddaab768-186d-456a-8e1d-8631dc97f6ad" - }, - { - "input_type": "sequence_file", - "input_id": "f78279da-e39f-463b-a1a9-02d4f99f85a5" - }, - { - "input_type": "sequence_file", - "input_id": "fff15476-7228-42be-be8a-bd6b02ee9f81" - }, - { - "input_type": "sequence_file", - "input_id": "a1ac3c01-10da-4b93-a61a-71a62e6ddb22" - }, - { - "input_type": "sequence_file", - "input_id": "319d5a99-4bde-4b20-956a-03a0175478ee" - }, - { - "input_type": "sequence_file", - "input_id": "d13d109b-0106-4102-9769-82bb2ed9cfb7" - }, - { - "input_type": "sequence_file", - "input_id": "7f46ab20-26fa-493e-98c4-24d558f4a0ce" - }, - { - "input_type": "sequence_file", - "input_id": "cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3" - }, - { - "input_type": "sequence_file", - "input_id": "8de95742-6e0f-45bd-b835-ce96ebc1991c" - }, - { - "input_type": "sequence_file", - "input_id": "4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed" - }, - { - "input_type": "sequence_file", - "input_id": "59a4c958-41b6-4680-8021-86ed6be8f55d" - }, - { - "input_type": "sequence_file", - "input_id": "f648cc69-80e7-46a1-8575-aae76b30367c" - }, - { - "input_type": "sequence_file", - "input_id": "1f134dea-8f9b-4e90-a1af-80508f43f73c" - }, - { - "input_type": "sequence_file", - "input_id": "9717e5ab-015a-4fee-9864-0332c60b1e9a" - }, - { - "input_type": "sequence_file", - "input_id": "2a7c1cb6-5d82-4b65-854d-6451c18c62fc" - }, - { - "input_type": "sequence_file", - "input_id": "296db6ee-3e65-48ee-b232-626653165222" - }, - { - "input_type": "sequence_file", - "input_id": "885f171d-901c-4cc4-9c76-c5d8cdf35991" - }, - { - "input_type": "sequence_file", - "input_id": "82899c21-c3c7-4288-bb8f-4c72880c10e4" - }, - { - "input_type": "sequence_file", - "input_id": "04066a52-7468-4783-b49c-46e28b076739" - }, - { - "input_type": "sequence_file", - "input_id": "b0025fa1-e6a6-441b-a018-2c73ceabe237" - }, - { - "input_type": "sequence_file", - "input_id": "7e1f0414-5235-4c79-b334-b278d3ebd8ae" - }, - { - "input_type": "sequence_file", - "input_id": "d691ee05-f531-4c18-b0e9-677dcaabf20f" - }, - { - "input_type": "sequence_file", - "input_id": "97cfc6c1-2a97-41ef-bb36-0ac99b8c8195" - }, - { - "input_type": "sequence_file", - "input_id": "c8995918-5491-41bc-ad76-2099c6314fb1" - }, - { - "input_type": "sequence_file", - "input_id": "884813d1-d03e-4210-9289-e5b0d415484b" - }, - { - "input_type": "sequence_file", - "input_id": "ee28d3e7-02df-46a0-a3ba-f55ad747b214" - }, - { - "input_type": "sequence_file", - "input_id": "972e55ea-7901-435b-9646-53bc8fde2e6f" - }, - { - "input_type": "sequence_file", - "input_id": "58b683d3-03cf-42e9-9cff-4143dff729ca" - }, - { - "input_type": "sequence_file", - "input_id": "d4bbfecd-d580-4eaa-8679-33173740b295" - }, - { - "input_type": "sequence_file", - "input_id": "5275a9fa-7a21-4ef2-9819-5358b2821300" - }, - { - "input_type": "sequence_file", - "input_id": "ce6d4c01-8676-4ae9-91b3-4148deb5b8d9" - }, - { - "input_type": "sequence_file", - "input_id": "f7a68998-a02b-4d1c-8768-0abb9e9ae35a" - }, - { - "input_type": "sequence_file", - "input_id": "0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc" - }, - { - "input_type": "sequence_file", - "input_id": "2aba7a6a-6d70-4310-9e64-071c6adbe16b" - }, - { - "input_type": "sequence_file", - "input_id": "54140f9b-2929-44b6-9fb0-de4c2b22090b" - }, - { - "input_type": "sequence_file", - "input_id": "0c577531-9218-444b-8094-85d8c6f5c73e" - }, - { - "input_type": "sequence_file", - "input_id": "28c505c1-e1c4-4e73-b935-9616224da552" - }, - { - "input_type": "sequence_file", - "input_id": "95e893a0-0885-4e1c-8e31-55863d5108b3" - }, - { - "input_type": "sequence_file", - "input_id": "e9def19b-3967-47e7-a2dd-1bc5f9297959" - }, - { - "input_type": "sequence_file", - "input_id": "96f4d488-e081-4b54-b12a-b2d9546bfc17" - }, - { - "input_type": "sequence_file", - "input_id": "f8988fe1-225c-40b4-933d-9dacb8b4728f" - }, - { - "input_type": "sequence_file", - "input_id": "18d81f7f-94c8-4877-939a-b74ba802835a" - }, - { - "input_type": "sequence_file", - "input_id": "0fa69e92-febb-4bab-857c-4b67a2b17ff6" - }, - { - "input_type": "sequence_file", - "input_id": "09a53782-90ea-4911-a793-706e74127adb" - }, - { - "input_type": "sequence_file", - "input_id": "c67f602f-1b0d-4b0e-bd72-af166f5443fa" - }, - { - "input_type": "sequence_file", - "input_id": "5b80431f-c95a-41ef-8aa7-98816f00e4d6" - }, - { - "input_type": "sequence_file", - "input_id": "70291c50-770c-4e51-8f1b-60be28ea419f" - }, - { - "input_type": "sequence_file", - "input_id": "38e1a4f4-f9ec-44cf-b6bb-1a9566456d38" - }, - { - "input_type": "sequence_file", - "input_id": "154dffeb-efd7-4081-a73c-bf1b73ca9a90" - }, - { - "input_type": "sequence_file", - "input_id": "c9517b55-fb72-463a-aab6-e4f64b95c2fc" - }, - { - "input_type": "sequence_file", - "input_id": "c3d3c4a3-527b-490f-8107-bc1b44566df0" - }, - { - "input_type": "sequence_file", - "input_id": "83865a27-24a8-4a70-a8bd-650affa7df5c" - }, - { - "input_type": "sequence_file", - "input_id": "6e650029-386f-4d8e-868e-8780782baa4b" - }, - { - "input_type": "sequence_file", - "input_id": "f859d1ff-df51-4548-b8a4-9eca26bf7454" - }, - { - "input_type": "sequence_file", - "input_id": "79426c6b-bd79-4343-b9fa-ee1e9cfc2aef" - }, - { - "input_type": "sequence_file", - "input_id": "0697146c-0105-4d6f-baff-d9147593eadb" - }, - { - "input_type": "sequence_file", - "input_id": "65fae226-b417-43cd-a5c8-cf2336b8cff5" - }, - { - "input_type": "sequence_file", - "input_id": "7240ec36-6433-4e5c-ba0f-d2770817f963" - }, - { - "input_type": "sequence_file", - "input_id": "d20547e4-3f00-42af-9a7f-9477ff43de0d" - }, - { - "input_type": "sequence_file", - "input_id": "0256729b-47ee-4ed3-adc7-2c0813bb99b9" - }, - { - "input_type": "sequence_file", - "input_id": "7eb2244c-6b4d-4d91-bfc6-44ec12d9319b" - }, - { - "input_type": "sequence_file", - "input_id": "b2a6b8c1-f0bc-4509-b255-8618d7cff205" - }, - { - "input_type": "sequence_file", - "input_id": "bf6cb18e-07de-404d-bebe-4a943dfb44f7" - }, - { - "input_type": "sequence_file", - "input_id": "6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0" - }, - { - "input_type": "sequence_file", - "input_id": "5a172f54-33a5-4e0d-bc0d-1760bad3beb6" - }, - { - "input_type": "sequence_file", - "input_id": "ee36a1ac-7426-4253-81b8-715f37a2ba69" - }, - { - "input_type": "sequence_file", - "input_id": "d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc" - }, - { - "input_type": "sequence_file", - "input_id": "5f5e80b2-0779-4df0-9a18-35bc0db72fdf" - }, - { - "input_type": "sequence_file", - "input_id": "e6b33ccb-99f6-4c02-aa69-e7b581832d04" - }, - { - "input_type": "sequence_file", - "input_id": "9d98496f-f6d8-4106-8b6a-c118ed6ff229" - }, - { - "input_type": "sequence_file", - "input_id": "22343575-1465-455f-8360-4e716aab17fb" - }, - { - "input_type": "sequence_file", - "input_id": "7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4" - }, - { - "input_type": "sequence_file", - "input_id": "9f709f2c-701a-43bc-8417-77fac81c3633" - }, - { - "input_type": "sequence_file", - "input_id": "a4152d0c-ca88-4cad-af08-40a2e799bec7" - }, - { - "input_type": "sequence_file", - "input_id": "2c4d6e65-8271-4542-97ee-7ba8a6b628d9" - }, - { - "input_type": "sequence_file", - "input_id": "668a508d-34fa-4468-86e8-523380a34da8" - }, - { - "input_type": "sequence_file", - "input_id": "b5c2e557-c303-42cc-8779-bf3b2256c422" - }, - { - "input_type": "sequence_file", - "input_id": "f9eef16f-b9cc-43bb-b9f3-bf0948766e7e" - }, - { - "input_type": "sequence_file", - "input_id": "061936ce-8fbb-4576-8c0c-ed871767917f" - }, - { - "input_type": "sequence_file", - "input_id": "762c2720-f65c-4804-844f-2302bc33ebbc" - }, - { - "input_type": "sequence_file", - "input_id": "fedc286a-9bbc-4db0-8bf5-b3f0b69fb559" - }, - { - "input_type": "sequence_file", - "input_id": "43f476f9-cbfc-431a-a774-5885904b434c" - }, - { - "input_type": "sequence_file", - "input_id": "65b78fda-7874-455f-9c9a-bf7aca375a0b" - }, - { - "input_type": "sequence_file", - "input_id": "82fc0df9-9828-433e-ac6d-73f4bbceefcf" - }, - { - "input_type": "sequence_file", - "input_id": "fb771836-467f-4897-a755-a17ab281a385" - }, - { - "input_type": "sequence_file", - "input_id": "5f6e0f4b-3541-4197-a67f-01dddc0cf105" - }, - { - "input_type": "sequence_file", - "input_id": "c7970499-e36d-49f3-b1f2-6886746333c9" - }, - { - "input_type": "sequence_file", - "input_id": "6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47" - }, - { - "input_type": "sequence_file", - "input_id": "e4d6ced4-50a3-402a-bbbc-ae329cd3689d" - }, - { - "input_type": "sequence_file", - "input_id": "792fd4bd-9b01-42bf-a883-c651789a198a" - }, - { - "input_type": "sequence_file", - "input_id": "10b3b42b-3612-48fb-849b-bfc036c248a6" - }, - { - "input_type": "sequence_file", - "input_id": "6fc7505d-33db-4d19-99a1-5756cd9a0a1c" - }, - { - "input_type": "sequence_file", - "input_id": "64309a91-ba2b-4b0e-baa9-7cfce3c5d445" - }, - { - "input_type": "sequence_file", - "input_id": "64eedb4a-2f73-4b60-a4b1-99b5ffd0486b" - }, - { - "input_type": "sequence_file", - "input_id": "79d181d1-5b70-4306-a229-74a2a3d5278e" - }, - { - "input_type": "sequence_file", - "input_id": "102b8410-1c0e-46f5-90fe-609ab117221c" - }, - { - "input_type": "sequence_file", - "input_id": "449ec63a-dca8-4a61-98b5-e6789d4946a1" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca" - }, - { - "output_type": "analysis_file", - "output_id": "31e6cb06-0062-4096-84f5-c2d1c2621a82" - }, - { - "output_type": "analysis_file", - "output_id": "d3b3abc2-0da6-4163-acb8-251fe079284c" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "07f1f962-dd38-4a0b-b0b5-f4efe30d21e2" - } - ] - }, - { - "link_type": "process_link", - "process_id": "1c9e23d2-922a-41b7-ab5e-2a16d1273a7a", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "3bb2457a-505f-4f04-b5f9-71e351be791f" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "eccad683-4c2d-4d7f-a141-1effb429fef7" - }, - { - "output_type": "sequence_file", - "output_id": "1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288" - }, - { - "output_type": "sequence_file", - "output_id": "09c0456a-ec0b-47e3-870d-4b47221a45a6" - }, - { - "output_type": "sequence_file", - "output_id": "067d2b7b-127b-421f-91db-0acc05ad62ad" - }, - { - "output_type": "sequence_file", - "output_id": "9bad139c-7abf-4786-a6fc-5f9a5abcd850" - }, - { - "output_type": "sequence_file", - "output_id": "9b03ad8d-aabf-4736-820a-493db4877f84" - }, - { - "output_type": "sequence_file", - "output_id": "3dce5e53-a137-4086-96d3-26dd3d000cf6" - }, - { - "output_type": "sequence_file", - "output_id": "19eb5d2e-2224-4bb4-9f94-526a4c06f7a2" - }, - { - "output_type": "sequence_file", - "output_id": "6b38794f-2d55-4422-8094-fb4a5e100d32" - }, - { - "output_type": "sequence_file", - "output_id": "9a03ec79-7dc7-44fc-bb97-22ad58159436" - }, - { - "output_type": "sequence_file", - "output_id": "69ab8827-b0dc-48ae-84b5-1d27284a7db0" - }, - { - "output_type": "sequence_file", - "output_id": "a2b31671-1874-4c4a-a5c5-fd2787287893" - }, - { - "output_type": "sequence_file", - "output_id": "7186ea5d-49a0-4d72-a24e-2a30d48aa8fc" - }, - { - "output_type": "sequence_file", - "output_id": "e5d2cef3-3902-418c-b905-001052979a54" - }, - { - "output_type": "sequence_file", - "output_id": "02cfb8bb-4eb6-4343-9381-007968f1feee" - }, - { - "output_type": "sequence_file", - "output_id": "d8b9cedb-39d5-47b7-9c64-94e6393fdd0d" - }, - { - "output_type": "sequence_file", - "output_id": "9f577e94-f952-40af-a919-108f4661fdb9" - }, - { - "output_type": "sequence_file", - "output_id": "1d77e73b-9bd3-499f-a0d0-86d9f7306a7e" - }, - { - "output_type": "sequence_file", - "output_id": "c3093b68-54a2-4d31-aa15-50afb0414625" - }, - { - "output_type": "sequence_file", - "output_id": "d73e6663-d29d-47af-a4b4-5cadcd272293" - }, - { - "output_type": "sequence_file", - "output_id": "44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7" - }, - { - "output_type": "sequence_file", - "output_id": "e163d226-febb-4ecf-80db-8e60680be2ab" - }, - { - "output_type": "sequence_file", - "output_id": "a6a99736-43fb-4f67-ae26-0e24d5277c6b" - }, - { - "output_type": "sequence_file", - "output_id": "2ff6533e-8fe3-44c3-b378-99d4acdc0ab8" - }, - { - "output_type": "sequence_file", - "output_id": "3b7b0bcf-b316-4b0e-9d46-f8d44a399774" - }, - { - "output_type": "sequence_file", - "output_id": "d5aab272-e387-4bae-aeb0-987928e0c001" - }, - { - "output_type": "sequence_file", - "output_id": "d359ca8d-a374-4eeb-b214-69df7861d0e3" - }, - { - "output_type": "sequence_file", - "output_id": "c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd" - }, - { - "output_type": "sequence_file", - "output_id": "29ee234c-5d39-4eb9-8f73-22121936b3db" - }, - { - "output_type": "sequence_file", - "output_id": "344c1e18-810e-4800-bbed-0246cbbafa60" - }, - { - "output_type": "sequence_file", - "output_id": "91594c64-a197-4dc9-8605-d57aff0f2e87" - }, - { - "output_type": "sequence_file", - "output_id": "17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8" - }, - { - "output_type": "sequence_file", - "output_id": "fed6f8f3-2c61-4361-8160-2c5a13db83d4" - }, - { - "output_type": "sequence_file", - "output_id": "dae9b045-0d8d-4944-b8a2-d3b64ad7df34" - }, - { - "output_type": "sequence_file", - "output_id": "8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba" - }, - { - "output_type": "sequence_file", - "output_id": "b6dda1ac-9635-426a-869a-82b1420ef251" - }, - { - "output_type": "sequence_file", - "output_id": "47c12e95-67b2-42e1-866b-eb7c5f16a3c6" - }, - { - "output_type": "sequence_file", - "output_id": "edbe53c5-208b-436d-b283-1aa4ee94800c" - }, - { - "output_type": "sequence_file", - "output_id": "4198865c-d4ef-4a01-94c0-8a8397914dbc" - }, - { - "output_type": "sequence_file", - "output_id": "e1c334fa-b493-4892-a48b-3fe594e98b30" - }, - { - "output_type": "sequence_file", - "output_id": "c8b4bc26-7487-48d9-a2f2-6b3934da074d" - }, - { - "output_type": "sequence_file", - "output_id": "b0009333-24fc-4f3e-bf35-3cc8fa808efa" - }, - { - "output_type": "sequence_file", - "output_id": "a45af0aa-2591-4031-8ee8-a3c0a5a76260" - }, - { - "output_type": "sequence_file", - "output_id": "56d5b505-6591-47c4-b469-006e27e6e343" - }, - { - "output_type": "sequence_file", - "output_id": "ebbc0d72-0743-41b8-88f6-736c36bd6499" - }, - { - "output_type": "sequence_file", - "output_id": "7c912919-4b2c-4f4d-bdfe-1988d20aeeed" - }, - { - "output_type": "sequence_file", - "output_id": "b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc" - }, - { - "output_type": "sequence_file", - "output_id": "51aef727-d8de-497f-abbe-e650b1baeeab" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "72975432-3c46-449a-a4d9-809712d10577" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "63db242f-a88b-4deb-b1e4-3677ade32d18" - } - ] - }, - { - "link_type": "process_link", - "process_id": "87f7c470-7c45-4f41-9600-21cc527f524e", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "b8edcc72-efe5-44da-b478-9761be75a127" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "3bb2457a-505f-4f04-b5f9-71e351be791f" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0e1884e4-310f-4afb-9721-e0721a290498" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "48f7f503-d213-4447-9ee4-3602da1066d7" - } - ] - }, - { - "link_type": "process_link", - "process_id": "365b5d7b-fa81-4d61-a67e-f3293abf2ade", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "804eb3bf-15a9-47d9-81a7-d19b060c5425" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "b8edcc72-efe5-44da-b478-9761be75a127" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "dbeb62b8-e3e8-40f4-a06d-477ed495dfd9" - } - ] - }, - { - "link_type": "process_link", - "process_id": "97f00f1b-232c-4425-b51a-7d91b88d3862", - "process_type": "process", - "inputs": [ - { - "input_type": "sequence_file", - "input_id": "3cad3e7e-9e9b-4e4e-a535-509853f9306b" - }, - { - "input_type": "sequence_file", - "input_id": "8840da5d-cbaa-4617-ad50-d2a012563fe6" - }, - { - "input_type": "sequence_file", - "input_id": "e17968e7-5ef9-45fb-b45a-d73d18f41ae6" - }, - { - "input_type": "sequence_file", - "input_id": "fea581ad-b8a8-47d1-a4bb-e18f0753bf13" - }, - { - "input_type": "sequence_file", - "input_id": "7b1418ba-7cd7-4844-924c-ca92b0d3147c" - }, - { - "input_type": "sequence_file", - "input_id": "e0a99b8f-15e2-4a9e-b298-1066a9bcbda7" - }, - { - "input_type": "sequence_file", - "input_id": "7d5ca602-df90-402e-9c12-933e1cdde407" - }, - { - "input_type": "sequence_file", - "input_id": "b3de09c9-37f3-4d58-8930-bbd5d4e136c5" - }, - { - "input_type": "sequence_file", - "input_id": "81898837-23e3-40d9-96e2-04a559d95b2e" - }, - { - "input_type": "sequence_file", - "input_id": "2f74ffc0-b776-4b4a-90c6-327edb41c7ac" - }, - { - "input_type": "sequence_file", - "input_id": "a783909f-5237-4218-8b9d-80653729f3b1" - }, - { - "input_type": "sequence_file", - "input_id": "2d0246fd-696f-4a54-abe6-d759cc6d27b3" - }, - { - "input_type": "sequence_file", - "input_id": "ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02" - }, - { - "input_type": "sequence_file", - "input_id": "c0fc6427-6fa7-4d8d-9d6e-8844a26ff318" - }, - { - "input_type": "sequence_file", - "input_id": "bff57385-2f4f-4695-a153-412c9aabab59" - }, - { - "input_type": "sequence_file", - "input_id": "e61740c1-0e70-4d25-a912-32617d2e71fa" - }, - { - "input_type": "sequence_file", - "input_id": "4d0f1255-5e1b-4852-8030-a7a8f7580f1a" - }, - { - "input_type": "sequence_file", - "input_id": "ab8e7f29-eae9-488a-9337-7a926c8857ac" - }, - { - "input_type": "sequence_file", - "input_id": "bef069b8-2720-4327-8298-9ab2badd4a53" - }, - { - "input_type": "sequence_file", - "input_id": "f5ada827-68c0-4af6-88c6-7e9256b663ff" - }, - { - "input_type": "sequence_file", - "input_id": "db2ecbf9-0e24-4106-b594-73368de0e98b" - }, - { - "input_type": "sequence_file", - "input_id": "c9a2a10f-6638-4463-8c8f-4260c72dcb92" - }, - { - "input_type": "sequence_file", - "input_id": "7060b0f4-a756-41f8-bc65-16c7effef1be" - }, - { - "input_type": "sequence_file", - "input_id": "8898a9f3-4928-45b1-b236-71ce7cb48b11" - }, - { - "input_type": "sequence_file", - "input_id": "30f53c61-a8e3-42cf-a6d2-1b172659c189" - }, - { - "input_type": "sequence_file", - "input_id": "5e25031d-3456-4209-9818-c8882b2623e1" - }, - { - "input_type": "sequence_file", - "input_id": "d0cf423a-1ecf-499b-9e61-95662e23ba40" - }, - { - "input_type": "sequence_file", - "input_id": "99e73efd-4a04-496f-bb32-8f73edb0ae1a" - }, - { - "input_type": "sequence_file", - "input_id": "b35e3b14-91dc-4bf0-a47d-4ed8428efbe1" - }, - { - "input_type": "sequence_file", - "input_id": "8e892b4a-c112-47f2-a058-b87efed5a262" - }, - { - "input_type": "sequence_file", - "input_id": "621547f4-60bc-41b6-bc21-5c970700a1e4" - }, - { - "input_type": "sequence_file", - "input_id": "e06ec666-d2ed-4801-8bc3-03ddcd151c49" - }, - { - "input_type": "sequence_file", - "input_id": "782f79d7-bd59-4cc5-8492-1e680fbb31c1" - }, - { - "input_type": "sequence_file", - "input_id": "c458a416-5736-4b7b-817e-1d87b341f825" - }, - { - "input_type": "sequence_file", - "input_id": "a778ad17-3705-40bc-b425-245d17958638" - }, - { - "input_type": "sequence_file", - "input_id": "5f563e91-d384-4e1e-ac84-20f06332fe8c" - }, - { - "input_type": "sequence_file", - "input_id": "23203fb2-d46d-4d14-95e5-4ec38191e420" - }, - { - "input_type": "sequence_file", - "input_id": "d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb" - }, - { - "input_type": "sequence_file", - "input_id": "fea7ae13-ad77-4b59-9922-14f748263eac" - }, - { - "input_type": "sequence_file", - "input_id": "acfa3362-62b0-429a-b617-3adb722c200f" - }, - { - "input_type": "sequence_file", - "input_id": "6ea29b25-492a-4c00-819d-ec8a0909fa28" - }, - { - "input_type": "sequence_file", - "input_id": "d1f9e5d6-8df2-48d1-b558-9609710ef53f" - }, - { - "input_type": "sequence_file", - "input_id": "937bbdf2-09e3-4bf7-8f45-e46db2188c46" - }, - { - "input_type": "sequence_file", - "input_id": "1badbbc9-6b43-41f6-acad-36f09cff3d21" - }, - { - "input_type": "sequence_file", - "input_id": "f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16" - }, - { - "input_type": "sequence_file", - "input_id": "d04a8b95-a45f-4fc1-a42a-a9afe3188465" - }, - { - "input_type": "sequence_file", - "input_id": "e381aa0d-c2ce-4fe4-9acd-030d9023fcb6" - }, - { - "input_type": "sequence_file", - "input_id": "ac5fdc06-b856-4de0-9423-bdf05d4df650" - }, - { - "input_type": "sequence_file", - "input_id": "87e9a01b-594b-4dc4-b2a7-a14407399b50" - }, - { - "input_type": "sequence_file", - "input_id": "c4c3353d-f33f-4a5b-a2d8-7878daf2d01b" - }, - { - "input_type": "sequence_file", - "input_id": "fd3a8466-6eaf-4251-be4a-f46f85403719" - }, - { - "input_type": "sequence_file", - "input_id": "7abc79b5-e32a-4313-b130-12397d29d684" - }, - { - "input_type": "sequence_file", - "input_id": "4abcf42c-5291-47f3-b7a8-bb1071f56c54" - }, - { - "input_type": "sequence_file", - "input_id": "893dfdd4-43f4-4256-938b-d957928f0daa" - }, - { - "input_type": "sequence_file", - "input_id": "b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5" - }, - { - "input_type": "sequence_file", - "input_id": "fbec3e01-aaf4-41a3-b667-1f0268571d10" - }, - { - "input_type": "sequence_file", - "input_id": "4e066f08-f8b7-4550-adc2-287392fa7731" - }, - { - "input_type": "sequence_file", - "input_id": "e6565b7b-b195-4554-bf60-4b80f2c6dd13" - }, - { - "input_type": "sequence_file", - "input_id": "d1dd53ff-b603-4345-8203-45c384cbc813" - }, - { - "input_type": "sequence_file", - "input_id": "965057e9-48bc-4452-8819-2bc45723a0f7" - }, - { - "input_type": "sequence_file", - "input_id": "b7d7c14d-7bf3-4a8f-8f40-8d6e98505558" - }, - { - "input_type": "sequence_file", - "input_id": "84cc7ee0-4d8e-45a1-b563-d3e05b4ec573" - }, - { - "input_type": "sequence_file", - "input_id": "ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2" - }, - { - "input_type": "sequence_file", - "input_id": "130831cc-87b6-47fd-93a8-ae1890d365f2" - }, - { - "input_type": "sequence_file", - "input_id": "42bbb160-b881-4036-a712-1ab9b5d5ce87" - }, - { - "input_type": "sequence_file", - "input_id": "e9b50275-4ebe-43fe-b3de-1fe3ab930a23" - }, - { - "input_type": "sequence_file", - "input_id": "5621674e-0290-487d-8c0c-49b617d1628c" - }, - { - "input_type": "sequence_file", - "input_id": "868dfde7-2df8-487f-b754-68db8a96ad3a" - }, - { - "input_type": "sequence_file", - "input_id": "daa6813e-0321-413a-9107-8c814825bf93" - }, - { - "input_type": "sequence_file", - "input_id": "ffb64e6b-8924-4adf-ae8f-e55b4dd019dd" - }, - { - "input_type": "sequence_file", - "input_id": "e28d2a66-f506-4a4d-b2c6-823e4e8124d6" - }, - { - "input_type": "sequence_file", - "input_id": "ade0fe79-4629-4a49-8253-e26380046b32" - }, - { - "input_type": "sequence_file", - "input_id": "28023147-3cad-4c1d-b494-b693c4f0a6bd" - }, - { - "input_type": "sequence_file", - "input_id": "3c007e61-0e8a-4337-946c-1082441084c7" - }, - { - "input_type": "sequence_file", - "input_id": "577e4275-b373-40ac-ac3f-8487d6aafe16" - }, - { - "input_type": "sequence_file", - "input_id": "9e74066b-834e-416d-a1e7-bbec1e8f1713" - }, - { - "input_type": "sequence_file", - "input_id": "110bb0f5-9d1a-4573-b711-6bee156d0eb8" - }, - { - "input_type": "sequence_file", - "input_id": "012af05a-4771-45e5-bb92-9b63fcbde822" - }, - { - "input_type": "sequence_file", - "input_id": "565dbd59-2571-4af5-b160-c6d5cd3c684f" - }, - { - "input_type": "sequence_file", - "input_id": "d068c2b0-60c7-429a-938c-cb9c703c4c4d" - }, - { - "input_type": "sequence_file", - "input_id": "71add17d-3b59-4ca2-a032-80819608a34a" - }, - { - "input_type": "sequence_file", - "input_id": "c5e55f39-94a7-4ddd-8972-d217b63fb7cb" - }, - { - "input_type": "sequence_file", - "input_id": "fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce" - }, - { - "input_type": "sequence_file", - "input_id": "4df715c5-a783-41e6-a99e-eedf93a37fb3" - }, - { - "input_type": "sequence_file", - "input_id": "8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a" - }, - { - "input_type": "sequence_file", - "input_id": "b3739e56-e8cc-43b6-8b43-9116b5d75e69" - }, - { - "input_type": "sequence_file", - "input_id": "dd8ac880-75c4-4fe8-89e3-2cc41dad784a" - }, - { - "input_type": "sequence_file", - "input_id": "bb788d30-169b-4160-be07-98222d0a8327" - }, - { - "input_type": "sequence_file", - "input_id": "f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9" - }, - { - "input_type": "sequence_file", - "input_id": "877258d8-07eb-4cb6-a358-7c265c856ab6" - }, - { - "input_type": "sequence_file", - "input_id": "80e88ed6-4480-4888-b25d-d41e90822142" - }, - { - "input_type": "sequence_file", - "input_id": "f5fae200-b633-4ade-8871-94cf47475c67" - }, - { - "input_type": "sequence_file", - "input_id": "47950b5e-3d6f-4b75-9518-feb8b9e9a78b" - }, - { - "input_type": "sequence_file", - "input_id": "1c95a589-205c-4d7c-9c56-c3de4f7dbb66" - }, - { - "input_type": "sequence_file", - "input_id": "a40ed25e-fbf0-40a3-b468-e2bdb55d56d0" - }, - { - "input_type": "sequence_file", - "input_id": "f5274b10-d3ea-44c9-9f27-9af574dea10c" - }, - { - "input_type": "sequence_file", - "input_id": "fd7e7e85-7747-42c3-bc6b-0e4718202d63" - }, - { - "input_type": "sequence_file", - "input_id": "38601526-8448-4253-807b-70878c374901" - }, - { - "input_type": "sequence_file", - "input_id": "45d0b683-d7dc-4e1a-a235-dad58ef03d77" - }, - { - "input_type": "sequence_file", - "input_id": "dff50bd5-38c9-4c35-a5bc-dd51e69f249a" - }, - { - "input_type": "sequence_file", - "input_id": "0506c2a0-ef2b-4850-8567-20d08046bdaa" - }, - { - "input_type": "sequence_file", - "input_id": "dabb5028-64d2-4dbc-89a3-0cf6079ad0cb" - }, - { - "input_type": "sequence_file", - "input_id": "d1ad5518-3619-46dd-a342-f5a3b34f67b1" - }, - { - "input_type": "sequence_file", - "input_id": "bbda7bad-f60b-4091-83b0-b8d96c3f4214" - }, - { - "input_type": "sequence_file", - "input_id": "ce3c8eab-dcb7-403f-8837-6a7986acb6fc" - }, - { - "input_type": "sequence_file", - "input_id": "9e63db48-5b68-40e8-9d8f-aff48223b80e" - }, - { - "input_type": "sequence_file", - "input_id": "74086d10-f049-45c2-8654-de93aac63d94" - }, - { - "input_type": "sequence_file", - "input_id": "c699ee8b-738e-451a-b91d-0e1a6c8bb6f9" - }, - { - "input_type": "sequence_file", - "input_id": "f9db3e23-91ca-487f-a3ec-11ffa8b8f939" - }, - { - "input_type": "sequence_file", - "input_id": "fdd026f9-0ab6-49ef-88f9-4a5d61d12188" - }, - { - "input_type": "sequence_file", - "input_id": "c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2" - }, - { - "input_type": "sequence_file", - "input_id": "72b34b3d-f005-48af-81dc-3631873960d8" - }, - { - "input_type": "sequence_file", - "input_id": "7938acb1-91e3-4d8d-9d24-3b0a9fa28131" - }, - { - "input_type": "sequence_file", - "input_id": "9962de78-e4ef-40ba-b9fc-bd661895a99b" - }, - { - "input_type": "sequence_file", - "input_id": "3cf0f46b-1618-49e6-8cdc-d97a9d2403da" - }, - { - "input_type": "sequence_file", - "input_id": "2f033594-a8bd-49c4-b1b7-69ce88fe26d4" - }, - { - "input_type": "sequence_file", - "input_id": "97eaa3ce-131c-48b8-8082-86bbb6a486b5" - }, - { - "input_type": "sequence_file", - "input_id": "61716326-4fa0-41b9-8ca4-5b020500e8ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0e048f6-0ab6-45fc-a74f-16711af67a2e" - }, - { - "input_type": "sequence_file", - "input_id": "347f630f-a9a0-4430-958f-6c929335031a" - }, - { - "input_type": "sequence_file", - "input_id": "c13ed96e-3052-4a3f-9871-8196c10070a1" - }, - { - "input_type": "sequence_file", - "input_id": "1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1" - }, - { - "input_type": "sequence_file", - "input_id": "09b831a2-5b60-4753-864e-8af803024437" - }, - { - "input_type": "sequence_file", - "input_id": "290232bb-afb1-45b2-8e04-be180948541a" - }, - { - "input_type": "sequence_file", - "input_id": "c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7" - }, - { - "input_type": "sequence_file", - "input_id": "22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22" - }, - { - "input_type": "sequence_file", - "input_id": "da6e341f-43d3-4c22-ab8c-3c3e81986d9b" - }, - { - "input_type": "sequence_file", - "input_id": "6ea00f5c-7e63-493b-b6f9-68ba54dbbed3" - }, - { - "input_type": "sequence_file", - "input_id": "b9acc59a-ba7c-40ef-8611-27069458a508" - }, - { - "input_type": "sequence_file", - "input_id": "6f11ead1-11b1-4bda-8a20-588bb85ec126" - }, - { - "input_type": "sequence_file", - "input_id": "4ca067fb-8ba1-4959-9c1a-878d5705dd67" - }, - { - "input_type": "sequence_file", - "input_id": "f77883e0-6609-4bda-b446-331adbd9d357" - }, - { - "input_type": "sequence_file", - "input_id": "541fc29f-a7a3-456e-b28e-80f9036a4e33" - }, - { - "input_type": "sequence_file", - "input_id": "bd1e5909-c184-4ee0-906c-77e399270a71" - }, - { - "input_type": "sequence_file", - "input_id": "22833c60-dc70-4299-86ac-00747b91b3cb" - }, - { - "input_type": "sequence_file", - "input_id": "24bbde6e-cdf7-4f1c-a447-6501ce377aa4" - }, - { - "input_type": "sequence_file", - "input_id": "7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0" - }, - { - "input_type": "sequence_file", - "input_id": "64c93769-83eb-4718-90f0-36d83b1dae4d" - }, - { - "input_type": "sequence_file", - "input_id": "d3661383-3d73-41a0-8676-295926c07eeb" - }, - { - "input_type": "sequence_file", - "input_id": "9766ad67-37fa-402a-9649-181a1752e5b2" - }, - { - "input_type": "sequence_file", - "input_id": "559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0" - }, - { - "input_type": "sequence_file", - "input_id": "f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0dd6ad5-0582-47de-9cbf-7351ebd5e005" - }, - { - "input_type": "sequence_file", - "input_id": "a60154cf-58b6-461f-8908-b789cdd78ee8" - }, - { - "input_type": "sequence_file", - "input_id": "11d171f7-7775-40a4-90a4-df995775b1c4" - }, - { - "input_type": "sequence_file", - "input_id": "9fa70333-418c-476c-b93b-382096a9cdcb" - }, - { - "input_type": "sequence_file", - "input_id": "6593f54e-682c-4eb4-b2ed-e3c3278d4880" - }, - { - "input_type": "sequence_file", - "input_id": "c3182931-cc4c-4cb7-aab5-4b50093eebea" - }, - { - "input_type": "sequence_file", - "input_id": "3001b82f-bbea-4072-9760-a14a4f00b7d3" - }, - { - "input_type": "sequence_file", - "input_id": "2b62614e-dc4d-46ea-bf29-727d5c33effa" - }, - { - "input_type": "sequence_file", - "input_id": "726a68e9-4fa9-425a-90e7-d0fef30c9d4c" - }, - { - "input_type": "sequence_file", - "input_id": "09610000-dc5c-4665-a72e-b0dad51edf6d" - }, - { - "input_type": "sequence_file", - "input_id": "92951c73-28a3-4820-89d6-15a73fa192cf" - }, - { - "input_type": "sequence_file", - "input_id": "6d9709e5-ce90-46d3-bc95-d5105cafc67a" - }, - { - "input_type": "sequence_file", - "input_id": "523c6c55-66da-4edc-b66a-a33fe20d4102" - }, - { - "input_type": "sequence_file", - "input_id": "75e38979-23f0-4749-bfcc-d8e92db7f2b0" - }, - { - "input_type": "sequence_file", - "input_id": "3fcc4232-b40f-4cca-bd1d-d12a03e4fed0" - }, - { - "input_type": "sequence_file", - "input_id": "80347bc1-ffca-4f66-9ebd-812d22ab3d3f" - }, - { - "input_type": "sequence_file", - "input_id": "28e8f3eb-fedc-4942-8d6b-836fbb7e3441" - }, - { - "input_type": "sequence_file", - "input_id": "40f24220-4c6d-43c4-ab82-1db21d683b07" - }, - { - "input_type": "sequence_file", - "input_id": "b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477" - }, - { - "input_type": "sequence_file", - "input_id": "b7826640-f0cc-4891-860e-7815a8848006" - }, - { - "input_type": "sequence_file", - "input_id": "eccad683-4c2d-4d7f-a141-1effb429fef7" - }, - { - "input_type": "sequence_file", - "input_id": "1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288" - }, - { - "input_type": "sequence_file", - "input_id": "09c0456a-ec0b-47e3-870d-4b47221a45a6" - }, - { - "input_type": "sequence_file", - "input_id": "067d2b7b-127b-421f-91db-0acc05ad62ad" - }, - { - "input_type": "sequence_file", - "input_id": "9bad139c-7abf-4786-a6fc-5f9a5abcd850" - }, - { - "input_type": "sequence_file", - "input_id": "9b03ad8d-aabf-4736-820a-493db4877f84" - }, - { - "input_type": "sequence_file", - "input_id": "3dce5e53-a137-4086-96d3-26dd3d000cf6" - }, - { - "input_type": "sequence_file", - "input_id": "19eb5d2e-2224-4bb4-9f94-526a4c06f7a2" - }, - { - "input_type": "sequence_file", - "input_id": "6b38794f-2d55-4422-8094-fb4a5e100d32" - }, - { - "input_type": "sequence_file", - "input_id": "9a03ec79-7dc7-44fc-bb97-22ad58159436" - }, - { - "input_type": "sequence_file", - "input_id": "69ab8827-b0dc-48ae-84b5-1d27284a7db0" - }, - { - "input_type": "sequence_file", - "input_id": "a2b31671-1874-4c4a-a5c5-fd2787287893" - }, - { - "input_type": "sequence_file", - "input_id": "7186ea5d-49a0-4d72-a24e-2a30d48aa8fc" - }, - { - "input_type": "sequence_file", - "input_id": "e5d2cef3-3902-418c-b905-001052979a54" - }, - { - "input_type": "sequence_file", - "input_id": "02cfb8bb-4eb6-4343-9381-007968f1feee" - }, - { - "input_type": "sequence_file", - "input_id": "d8b9cedb-39d5-47b7-9c64-94e6393fdd0d" - }, - { - "input_type": "sequence_file", - "input_id": "9f577e94-f952-40af-a919-108f4661fdb9" - }, - { - "input_type": "sequence_file", - "input_id": "1d77e73b-9bd3-499f-a0d0-86d9f7306a7e" - }, - { - "input_type": "sequence_file", - "input_id": "c3093b68-54a2-4d31-aa15-50afb0414625" - }, - { - "input_type": "sequence_file", - "input_id": "d73e6663-d29d-47af-a4b4-5cadcd272293" - }, - { - "input_type": "sequence_file", - "input_id": "44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7" - }, - { - "input_type": "sequence_file", - "input_id": "e163d226-febb-4ecf-80db-8e60680be2ab" - }, - { - "input_type": "sequence_file", - "input_id": "a6a99736-43fb-4f67-ae26-0e24d5277c6b" - }, - { - "input_type": "sequence_file", - "input_id": "2ff6533e-8fe3-44c3-b378-99d4acdc0ab8" - }, - { - "input_type": "sequence_file", - "input_id": "3b7b0bcf-b316-4b0e-9d46-f8d44a399774" - }, - { - "input_type": "sequence_file", - "input_id": "d5aab272-e387-4bae-aeb0-987928e0c001" - }, - { - "input_type": "sequence_file", - "input_id": "d359ca8d-a374-4eeb-b214-69df7861d0e3" - }, - { - "input_type": "sequence_file", - "input_id": "c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd" - }, - { - "input_type": "sequence_file", - "input_id": "29ee234c-5d39-4eb9-8f73-22121936b3db" - }, - { - "input_type": "sequence_file", - "input_id": "344c1e18-810e-4800-bbed-0246cbbafa60" - }, - { - "input_type": "sequence_file", - "input_id": "91594c64-a197-4dc9-8605-d57aff0f2e87" - }, - { - "input_type": "sequence_file", - "input_id": "17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8" - }, - { - "input_type": "sequence_file", - "input_id": "fed6f8f3-2c61-4361-8160-2c5a13db83d4" - }, - { - "input_type": "sequence_file", - "input_id": "dae9b045-0d8d-4944-b8a2-d3b64ad7df34" - }, - { - "input_type": "sequence_file", - "input_id": "8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba" - }, - { - "input_type": "sequence_file", - "input_id": "b6dda1ac-9635-426a-869a-82b1420ef251" - }, - { - "input_type": "sequence_file", - "input_id": "47c12e95-67b2-42e1-866b-eb7c5f16a3c6" - }, - { - "input_type": "sequence_file", - "input_id": "edbe53c5-208b-436d-b283-1aa4ee94800c" - }, - { - "input_type": "sequence_file", - "input_id": "4198865c-d4ef-4a01-94c0-8a8397914dbc" - }, - { - "input_type": "sequence_file", - "input_id": "e1c334fa-b493-4892-a48b-3fe594e98b30" - }, - { - "input_type": "sequence_file", - "input_id": "c8b4bc26-7487-48d9-a2f2-6b3934da074d" - }, - { - "input_type": "sequence_file", - "input_id": "b0009333-24fc-4f3e-bf35-3cc8fa808efa" - }, - { - "input_type": "sequence_file", - "input_id": "a45af0aa-2591-4031-8ee8-a3c0a5a76260" - }, - { - "input_type": "sequence_file", - "input_id": "56d5b505-6591-47c4-b469-006e27e6e343" - }, - { - "input_type": "sequence_file", - "input_id": "ebbc0d72-0743-41b8-88f6-736c36bd6499" - }, - { - "input_type": "sequence_file", - "input_id": "7c912919-4b2c-4f4d-bdfe-1988d20aeeed" - }, - { - "input_type": "sequence_file", - "input_id": "b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc" - }, - { - "input_type": "sequence_file", - "input_id": "51aef727-d8de-497f-abbe-e650b1baeeab" - }, - { - "input_type": "sequence_file", - "input_id": "c04b8362-f2c9-4cad-b939-494e738efc19" - }, - { - "input_type": "sequence_file", - "input_id": "782fcb99-9b26-485f-9f7d-bda9cc37f0d2" - }, - { - "input_type": "sequence_file", - "input_id": "cabca52b-8f67-4107-8916-4fd8129ccd97" - }, - { - "input_type": "sequence_file", - "input_id": "79e53d37-c41c-4234-99db-f3333d89bb3a" - }, - { - "input_type": "sequence_file", - "input_id": "e0a914c3-3147-4f06-a8ae-0c16029497dc" - }, - { - "input_type": "sequence_file", - "input_id": "ebc98059-556f-4a51-b1d3-e5afb40fe80e" - }, - { - "input_type": "sequence_file", - "input_id": "a65b7c37-e038-41d5-8623-2046bdc278a4" - }, - { - "input_type": "sequence_file", - "input_id": "7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565" - }, - { - "input_type": "sequence_file", - "input_id": "8fc6dd31-c01c-4eec-ae6c-bedd13f2c209" - }, - { - "input_type": "sequence_file", - "input_id": "ba526c42-7c2f-43c1-a817-06ccdb4d67be" - }, - { - "input_type": "sequence_file", - "input_id": "1adbb95f-f5c3-41ce-8e16-7657d189de79" - }, - { - "input_type": "sequence_file", - "input_id": "887d7cc2-1c24-42a9-aab3-51474d95f927" - }, - { - "input_type": "sequence_file", - "input_id": "6e3aed1a-9909-462c-90e1-a1f766cd380e" - }, - { - "input_type": "sequence_file", - "input_id": "d85ccb81-e861-4bb1-95b6-40762555da1d" - }, - { - "input_type": "sequence_file", - "input_id": "5d00e91c-8691-41ff-836c-b827f23a1a7d" - }, - { - "input_type": "sequence_file", - "input_id": "50fd1926-5615-4e29-be75-e8528d1da8df" - }, - { - "input_type": "sequence_file", - "input_id": "73112827-65e2-4057-98e0-960b4c50afe6" - }, - { - "input_type": "sequence_file", - "input_id": "5f3e080f-d2f2-4350-96b0-fb8169bfcdd9" - }, - { - "input_type": "sequence_file", - "input_id": "e744fafb-3c4b-47c3-91db-db8bb8751279" - }, - { - "input_type": "sequence_file", - "input_id": "3f2ae9d6-763e-4408-bc80-6067ccc756e0" - }, - { - "input_type": "sequence_file", - "input_id": "64e1d438-17af-450b-b90c-04072117cbb1" - }, - { - "input_type": "sequence_file", - "input_id": "a10329ae-6c8a-4df9-bac1-70bdf2c07571" - }, - { - "input_type": "sequence_file", - "input_id": "fd0547d5-7f16-46e4-8948-45c82f923f69" - }, - { - "input_type": "sequence_file", - "input_id": "14795e28-bcee-4da3-83cf-bb2592b6c0d0" - }, - { - "input_type": "sequence_file", - "input_id": "5b977962-16d1-4631-9225-6be262e9ccae" - }, - { - "input_type": "sequence_file", - "input_id": "7eb17ee4-5704-4ce3-8b41-121ef051ee09" - }, - { - "input_type": "sequence_file", - "input_id": "a2385663-3f62-4512-b4d8-4bba405f50a3" - }, - { - "input_type": "sequence_file", - "input_id": "53c40015-48a9-4a3f-a513-d617d28a2352" - }, - { - "input_type": "sequence_file", - "input_id": "2862a721-a50b-4e47-86c5-35547bc44e53" - }, - { - "input_type": "sequence_file", - "input_id": "2a77f1db-b5d4-4657-a522-9786aaa7df80" - }, - { - "input_type": "sequence_file", - "input_id": "035a00e0-02ca-46e8-bb76-9b2449ee922f" - }, - { - "input_type": "sequence_file", - "input_id": "1a589473-0047-4bca-afce-57c8448f0dc6" - }, - { - "input_type": "sequence_file", - "input_id": "dcec351c-327a-46df-aa48-22d2647d5852" - }, - { - "input_type": "sequence_file", - "input_id": "3d8bc409-2043-486a-9a0b-12c71a741d83" - }, - { - "input_type": "sequence_file", - "input_id": "554c1554-ed18-4926-b8d7-5b6af2edab5b" - }, - { - "input_type": "sequence_file", - "input_id": "dcf52037-e357-4b26-9072-05e08bf47978" - }, - { - "input_type": "sequence_file", - "input_id": "ed884cca-c961-40d2-bc8b-b358ea4fb780" - }, - { - "input_type": "sequence_file", - "input_id": "3c9533cf-c7b5-4bbf-9461-87da5aa1b556" - }, - { - "input_type": "sequence_file", - "input_id": "12826f14-2ef8-4069-a797-42d2f4c0937b" - }, - { - "input_type": "sequence_file", - "input_id": "fe586661-4878-4882-a38f-0b6321df5c99" - }, - { - "input_type": "sequence_file", - "input_id": "1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec" - }, - { - "input_type": "sequence_file", - "input_id": "b1e83792-e01e-45e2-bcb8-27b81a0d9db9" - }, - { - "input_type": "sequence_file", - "input_id": "5be8906f-0831-422d-896e-b099d5a23e13" - }, - { - "input_type": "sequence_file", - "input_id": "511eaba4-a8f4-4230-b3ad-407332e22b48" - }, - { - "input_type": "sequence_file", - "input_id": "d5b993f2-d053-4420-994b-04d64bd9e356" - }, - { - "input_type": "sequence_file", - "input_id": "adca7438-701c-4afc-8580-01de6ee68974" - }, - { - "input_type": "sequence_file", - "input_id": "d1f65c9e-628b-4c5f-b76a-1154c1666eba" - }, - { - "input_type": "sequence_file", - "input_id": "21bd79df-cc64-4381-a5c7-0e81e001ea1a" - }, - { - "input_type": "sequence_file", - "input_id": "832ae460-0083-42b0-89a6-cc651e50fad4" - }, - { - "input_type": "sequence_file", - "input_id": "db7576d3-afc9-4860-9a46-bdca8f745fa3" - }, - { - "input_type": "sequence_file", - "input_id": "2b889dd9-0bd3-412a-967e-74fa9600bb4d" - }, - { - "input_type": "sequence_file", - "input_id": "baa2bfd9-d2fb-4b5a-a81d-af84bf24c730" - }, - { - "input_type": "sequence_file", - "input_id": "ac036daf-a7cc-4583-a219-814c77ed8001" - }, - { - "input_type": "sequence_file", - "input_id": "ddaab768-186d-456a-8e1d-8631dc97f6ad" - }, - { - "input_type": "sequence_file", - "input_id": "f78279da-e39f-463b-a1a9-02d4f99f85a5" - }, - { - "input_type": "sequence_file", - "input_id": "fff15476-7228-42be-be8a-bd6b02ee9f81" - }, - { - "input_type": "sequence_file", - "input_id": "a1ac3c01-10da-4b93-a61a-71a62e6ddb22" - }, - { - "input_type": "sequence_file", - "input_id": "319d5a99-4bde-4b20-956a-03a0175478ee" - }, - { - "input_type": "sequence_file", - "input_id": "d13d109b-0106-4102-9769-82bb2ed9cfb7" - }, - { - "input_type": "sequence_file", - "input_id": "7f46ab20-26fa-493e-98c4-24d558f4a0ce" - }, - { - "input_type": "sequence_file", - "input_id": "cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3" - }, - { - "input_type": "sequence_file", - "input_id": "8de95742-6e0f-45bd-b835-ce96ebc1991c" - }, - { - "input_type": "sequence_file", - "input_id": "4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed" - }, - { - "input_type": "sequence_file", - "input_id": "59a4c958-41b6-4680-8021-86ed6be8f55d" - }, - { - "input_type": "sequence_file", - "input_id": "f648cc69-80e7-46a1-8575-aae76b30367c" - }, - { - "input_type": "sequence_file", - "input_id": "1f134dea-8f9b-4e90-a1af-80508f43f73c" - }, - { - "input_type": "sequence_file", - "input_id": "9717e5ab-015a-4fee-9864-0332c60b1e9a" - }, - { - "input_type": "sequence_file", - "input_id": "2a7c1cb6-5d82-4b65-854d-6451c18c62fc" - }, - { - "input_type": "sequence_file", - "input_id": "296db6ee-3e65-48ee-b232-626653165222" - }, - { - "input_type": "sequence_file", - "input_id": "885f171d-901c-4cc4-9c76-c5d8cdf35991" - }, - { - "input_type": "sequence_file", - "input_id": "82899c21-c3c7-4288-bb8f-4c72880c10e4" - }, - { - "input_type": "sequence_file", - "input_id": "04066a52-7468-4783-b49c-46e28b076739" - }, - { - "input_type": "sequence_file", - "input_id": "b0025fa1-e6a6-441b-a018-2c73ceabe237" - }, - { - "input_type": "sequence_file", - "input_id": "7e1f0414-5235-4c79-b334-b278d3ebd8ae" - }, - { - "input_type": "sequence_file", - "input_id": "d691ee05-f531-4c18-b0e9-677dcaabf20f" - }, - { - "input_type": "sequence_file", - "input_id": "97cfc6c1-2a97-41ef-bb36-0ac99b8c8195" - }, - { - "input_type": "sequence_file", - "input_id": "c8995918-5491-41bc-ad76-2099c6314fb1" - }, - { - "input_type": "sequence_file", - "input_id": "884813d1-d03e-4210-9289-e5b0d415484b" - }, - { - "input_type": "sequence_file", - "input_id": "ee28d3e7-02df-46a0-a3ba-f55ad747b214" - }, - { - "input_type": "sequence_file", - "input_id": "972e55ea-7901-435b-9646-53bc8fde2e6f" - }, - { - "input_type": "sequence_file", - "input_id": "58b683d3-03cf-42e9-9cff-4143dff729ca" - }, - { - "input_type": "sequence_file", - "input_id": "d4bbfecd-d580-4eaa-8679-33173740b295" - }, - { - "input_type": "sequence_file", - "input_id": "5275a9fa-7a21-4ef2-9819-5358b2821300" - }, - { - "input_type": "sequence_file", - "input_id": "ce6d4c01-8676-4ae9-91b3-4148deb5b8d9" - }, - { - "input_type": "sequence_file", - "input_id": "f7a68998-a02b-4d1c-8768-0abb9e9ae35a" - }, - { - "input_type": "sequence_file", - "input_id": "0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc" - }, - { - "input_type": "sequence_file", - "input_id": "2aba7a6a-6d70-4310-9e64-071c6adbe16b" - }, - { - "input_type": "sequence_file", - "input_id": "54140f9b-2929-44b6-9fb0-de4c2b22090b" - }, - { - "input_type": "sequence_file", - "input_id": "0c577531-9218-444b-8094-85d8c6f5c73e" - }, - { - "input_type": "sequence_file", - "input_id": "28c505c1-e1c4-4e73-b935-9616224da552" - }, - { - "input_type": "sequence_file", - "input_id": "95e893a0-0885-4e1c-8e31-55863d5108b3" - }, - { - "input_type": "sequence_file", - "input_id": "e9def19b-3967-47e7-a2dd-1bc5f9297959" - }, - { - "input_type": "sequence_file", - "input_id": "96f4d488-e081-4b54-b12a-b2d9546bfc17" - }, - { - "input_type": "sequence_file", - "input_id": "f8988fe1-225c-40b4-933d-9dacb8b4728f" - }, - { - "input_type": "sequence_file", - "input_id": "18d81f7f-94c8-4877-939a-b74ba802835a" - }, - { - "input_type": "sequence_file", - "input_id": "0fa69e92-febb-4bab-857c-4b67a2b17ff6" - }, - { - "input_type": "sequence_file", - "input_id": "09a53782-90ea-4911-a793-706e74127adb" - }, - { - "input_type": "sequence_file", - "input_id": "c67f602f-1b0d-4b0e-bd72-af166f5443fa" - }, - { - "input_type": "sequence_file", - "input_id": "5b80431f-c95a-41ef-8aa7-98816f00e4d6" - }, - { - "input_type": "sequence_file", - "input_id": "70291c50-770c-4e51-8f1b-60be28ea419f" - }, - { - "input_type": "sequence_file", - "input_id": "38e1a4f4-f9ec-44cf-b6bb-1a9566456d38" - }, - { - "input_type": "sequence_file", - "input_id": "154dffeb-efd7-4081-a73c-bf1b73ca9a90" - }, - { - "input_type": "sequence_file", - "input_id": "c9517b55-fb72-463a-aab6-e4f64b95c2fc" - }, - { - "input_type": "sequence_file", - "input_id": "c3d3c4a3-527b-490f-8107-bc1b44566df0" - }, - { - "input_type": "sequence_file", - "input_id": "83865a27-24a8-4a70-a8bd-650affa7df5c" - }, - { - "input_type": "sequence_file", - "input_id": "6e650029-386f-4d8e-868e-8780782baa4b" - }, - { - "input_type": "sequence_file", - "input_id": "f859d1ff-df51-4548-b8a4-9eca26bf7454" - }, - { - "input_type": "sequence_file", - "input_id": "79426c6b-bd79-4343-b9fa-ee1e9cfc2aef" - }, - { - "input_type": "sequence_file", - "input_id": "0697146c-0105-4d6f-baff-d9147593eadb" - }, - { - "input_type": "sequence_file", - "input_id": "65fae226-b417-43cd-a5c8-cf2336b8cff5" - }, - { - "input_type": "sequence_file", - "input_id": "7240ec36-6433-4e5c-ba0f-d2770817f963" - }, - { - "input_type": "sequence_file", - "input_id": "d20547e4-3f00-42af-9a7f-9477ff43de0d" - }, - { - "input_type": "sequence_file", - "input_id": "0256729b-47ee-4ed3-adc7-2c0813bb99b9" - }, - { - "input_type": "sequence_file", - "input_id": "7eb2244c-6b4d-4d91-bfc6-44ec12d9319b" - }, - { - "input_type": "sequence_file", - "input_id": "b2a6b8c1-f0bc-4509-b255-8618d7cff205" - }, - { - "input_type": "sequence_file", - "input_id": "bf6cb18e-07de-404d-bebe-4a943dfb44f7" - }, - { - "input_type": "sequence_file", - "input_id": "6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0" - }, - { - "input_type": "sequence_file", - "input_id": "5a172f54-33a5-4e0d-bc0d-1760bad3beb6" - }, - { - "input_type": "sequence_file", - "input_id": "ee36a1ac-7426-4253-81b8-715f37a2ba69" - }, - { - "input_type": "sequence_file", - "input_id": "d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc" - }, - { - "input_type": "sequence_file", - "input_id": "5f5e80b2-0779-4df0-9a18-35bc0db72fdf" - }, - { - "input_type": "sequence_file", - "input_id": "e6b33ccb-99f6-4c02-aa69-e7b581832d04" - }, - { - "input_type": "sequence_file", - "input_id": "9d98496f-f6d8-4106-8b6a-c118ed6ff229" - }, - { - "input_type": "sequence_file", - "input_id": "22343575-1465-455f-8360-4e716aab17fb" - }, - { - "input_type": "sequence_file", - "input_id": "7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4" - }, - { - "input_type": "sequence_file", - "input_id": "9f709f2c-701a-43bc-8417-77fac81c3633" - }, - { - "input_type": "sequence_file", - "input_id": "a4152d0c-ca88-4cad-af08-40a2e799bec7" - }, - { - "input_type": "sequence_file", - "input_id": "2c4d6e65-8271-4542-97ee-7ba8a6b628d9" - }, - { - "input_type": "sequence_file", - "input_id": "668a508d-34fa-4468-86e8-523380a34da8" - }, - { - "input_type": "sequence_file", - "input_id": "b5c2e557-c303-42cc-8779-bf3b2256c422" - }, - { - "input_type": "sequence_file", - "input_id": "f9eef16f-b9cc-43bb-b9f3-bf0948766e7e" - }, - { - "input_type": "sequence_file", - "input_id": "061936ce-8fbb-4576-8c0c-ed871767917f" - }, - { - "input_type": "sequence_file", - "input_id": "762c2720-f65c-4804-844f-2302bc33ebbc" - }, - { - "input_type": "sequence_file", - "input_id": "fedc286a-9bbc-4db0-8bf5-b3f0b69fb559" - }, - { - "input_type": "sequence_file", - "input_id": "43f476f9-cbfc-431a-a774-5885904b434c" - }, - { - "input_type": "sequence_file", - "input_id": "65b78fda-7874-455f-9c9a-bf7aca375a0b" - }, - { - "input_type": "sequence_file", - "input_id": "82fc0df9-9828-433e-ac6d-73f4bbceefcf" - }, - { - "input_type": "sequence_file", - "input_id": "fb771836-467f-4897-a755-a17ab281a385" - }, - { - "input_type": "sequence_file", - "input_id": "5f6e0f4b-3541-4197-a67f-01dddc0cf105" - }, - { - "input_type": "sequence_file", - "input_id": "c7970499-e36d-49f3-b1f2-6886746333c9" - }, - { - "input_type": "sequence_file", - "input_id": "6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47" - }, - { - "input_type": "sequence_file", - "input_id": "e4d6ced4-50a3-402a-bbbc-ae329cd3689d" - }, - { - "input_type": "sequence_file", - "input_id": "792fd4bd-9b01-42bf-a883-c651789a198a" - }, - { - "input_type": "sequence_file", - "input_id": "10b3b42b-3612-48fb-849b-bfc036c248a6" - }, - { - "input_type": "sequence_file", - "input_id": "6fc7505d-33db-4d19-99a1-5756cd9a0a1c" - }, - { - "input_type": "sequence_file", - "input_id": "64309a91-ba2b-4b0e-baa9-7cfce3c5d445" - }, - { - "input_type": "sequence_file", - "input_id": "64eedb4a-2f73-4b60-a4b1-99b5ffd0486b" - }, - { - "input_type": "sequence_file", - "input_id": "79d181d1-5b70-4306-a229-74a2a3d5278e" - }, - { - "input_type": "sequence_file", - "input_id": "102b8410-1c0e-46f5-90fe-609ab117221c" - }, - { - "input_type": "sequence_file", - "input_id": "449ec63a-dca8-4a61-98b5-e6789d4946a1" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca" - }, - { - "output_type": "analysis_file", - "output_id": "31e6cb06-0062-4096-84f5-c2d1c2621a82" - }, - { - "output_type": "analysis_file", - "output_id": "d3b3abc2-0da6-4163-acb8-251fe079284c" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "07f1f962-dd38-4a0b-b0b5-f4efe30d21e2" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f89c0972-79b4-4338-b37c-7bbfdc121f60", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "fdb8e413-a62a-4c6c-9890-3945c0f19ce8" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "3cf0f46b-1618-49e6-8cdc-d97a9d2403da" - }, - { - "output_type": "sequence_file", - "output_id": "2f033594-a8bd-49c4-b1b7-69ce88fe26d4" - }, - { - "output_type": "sequence_file", - "output_id": "97eaa3ce-131c-48b8-8082-86bbb6a486b5" - }, - { - "output_type": "sequence_file", - "output_id": "61716326-4fa0-41b9-8ca4-5b020500e8ad" - }, - { - "output_type": "sequence_file", - "output_id": "e0e048f6-0ab6-45fc-a74f-16711af67a2e" - }, - { - "output_type": "sequence_file", - "output_id": "347f630f-a9a0-4430-958f-6c929335031a" - }, - { - "output_type": "sequence_file", - "output_id": "c13ed96e-3052-4a3f-9871-8196c10070a1" - }, - { - "output_type": "sequence_file", - "output_id": "1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1" - }, - { - "output_type": "sequence_file", - "output_id": "09b831a2-5b60-4753-864e-8af803024437" - }, - { - "output_type": "sequence_file", - "output_id": "290232bb-afb1-45b2-8e04-be180948541a" - }, - { - "output_type": "sequence_file", - "output_id": "c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7" - }, - { - "output_type": "sequence_file", - "output_id": "22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22" - }, - { - "output_type": "sequence_file", - "output_id": "da6e341f-43d3-4c22-ab8c-3c3e81986d9b" - }, - { - "output_type": "sequence_file", - "output_id": "6ea00f5c-7e63-493b-b6f9-68ba54dbbed3" - }, - { - "output_type": "sequence_file", - "output_id": "b9acc59a-ba7c-40ef-8611-27069458a508" - }, - { - "output_type": "sequence_file", - "output_id": "6f11ead1-11b1-4bda-8a20-588bb85ec126" - }, - { - "output_type": "sequence_file", - "output_id": "4ca067fb-8ba1-4959-9c1a-878d5705dd67" - }, - { - "output_type": "sequence_file", - "output_id": "f77883e0-6609-4bda-b446-331adbd9d357" - }, - { - "output_type": "sequence_file", - "output_id": "541fc29f-a7a3-456e-b28e-80f9036a4e33" - }, - { - "output_type": "sequence_file", - "output_id": "bd1e5909-c184-4ee0-906c-77e399270a71" - }, - { - "output_type": "sequence_file", - "output_id": "22833c60-dc70-4299-86ac-00747b91b3cb" - }, - { - "output_type": "sequence_file", - "output_id": "24bbde6e-cdf7-4f1c-a447-6501ce377aa4" - }, - { - "output_type": "sequence_file", - "output_id": "7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0" - }, - { - "output_type": "sequence_file", - "output_id": "64c93769-83eb-4718-90f0-36d83b1dae4d" - }, - { - "output_type": "sequence_file", - "output_id": "a4152d0c-ca88-4cad-af08-40a2e799bec7" - }, - { - "output_type": "sequence_file", - "output_id": "2c4d6e65-8271-4542-97ee-7ba8a6b628d9" - }, - { - "output_type": "sequence_file", - "output_id": "668a508d-34fa-4468-86e8-523380a34da8" - }, - { - "output_type": "sequence_file", - "output_id": "b5c2e557-c303-42cc-8779-bf3b2256c422" - }, - { - "output_type": "sequence_file", - "output_id": "f9eef16f-b9cc-43bb-b9f3-bf0948766e7e" - }, - { - "output_type": "sequence_file", - "output_id": "061936ce-8fbb-4576-8c0c-ed871767917f" - }, - { - "output_type": "sequence_file", - "output_id": "762c2720-f65c-4804-844f-2302bc33ebbc" - }, - { - "output_type": "sequence_file", - "output_id": "fedc286a-9bbc-4db0-8bf5-b3f0b69fb559" - }, - { - "output_type": "sequence_file", - "output_id": "43f476f9-cbfc-431a-a774-5885904b434c" - }, - { - "output_type": "sequence_file", - "output_id": "65b78fda-7874-455f-9c9a-bf7aca375a0b" - }, - { - "output_type": "sequence_file", - "output_id": "82fc0df9-9828-433e-ac6d-73f4bbceefcf" - }, - { - "output_type": "sequence_file", - "output_id": "fb771836-467f-4897-a755-a17ab281a385" - }, - { - "output_type": "sequence_file", - "output_id": "5f6e0f4b-3541-4197-a67f-01dddc0cf105" - }, - { - "output_type": "sequence_file", - "output_id": "c7970499-e36d-49f3-b1f2-6886746333c9" - }, - { - "output_type": "sequence_file", - "output_id": "6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47" - }, - { - "output_type": "sequence_file", - "output_id": "e4d6ced4-50a3-402a-bbbc-ae329cd3689d" - }, - { - "output_type": "sequence_file", - "output_id": "792fd4bd-9b01-42bf-a883-c651789a198a" - }, - { - "output_type": "sequence_file", - "output_id": "10b3b42b-3612-48fb-849b-bfc036c248a6" - }, - { - "output_type": "sequence_file", - "output_id": "6fc7505d-33db-4d19-99a1-5756cd9a0a1c" - }, - { - "output_type": "sequence_file", - "output_id": "64309a91-ba2b-4b0e-baa9-7cfce3c5d445" - }, - { - "output_type": "sequence_file", - "output_id": "64eedb4a-2f73-4b60-a4b1-99b5ffd0486b" - }, - { - "output_type": "sequence_file", - "output_id": "79d181d1-5b70-4306-a229-74a2a3d5278e" - }, - { - "output_type": "sequence_file", - "output_id": "102b8410-1c0e-46f5-90fe-609ab117221c" - }, - { - "output_type": "sequence_file", - "output_id": "449ec63a-dca8-4a61-98b5-e6789d4946a1" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "72975432-3c46-449a-a4d9-809712d10577" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "63db242f-a88b-4deb-b1e4-3677ade32d18" - } - ] - }, - { - "link_type": "process_link", - "process_id": "1d66f422-91f4-46d1-8768-3fcca538fc46", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "c86979f7-726d-441b-a525-1a3369492695" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "fdb8e413-a62a-4c6c-9890-3945c0f19ce8" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0e1884e4-310f-4afb-9721-e0721a290498" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "48f7f503-d213-4447-9ee4-3602da1066d7" - } - ] - }, - { - "link_type": "process_link", - "process_id": "c0593f2b-b6b9-4365-9c0e-2f3108dc03ae", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "e9f719d5-786b-439e-bdb5-1a0434d1e815" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "c86979f7-726d-441b-a525-1a3369492695" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "dbeb62b8-e3e8-40f4-a06d-477ed495dfd9" - } - ] - }, - { - "link_type": "process_link", - "process_id": "97f00f1b-232c-4425-b51a-7d91b88d3862", - "process_type": "process", - "inputs": [ - { - "input_type": "sequence_file", - "input_id": "3cad3e7e-9e9b-4e4e-a535-509853f9306b" - }, - { - "input_type": "sequence_file", - "input_id": "8840da5d-cbaa-4617-ad50-d2a012563fe6" - }, - { - "input_type": "sequence_file", - "input_id": "e17968e7-5ef9-45fb-b45a-d73d18f41ae6" - }, - { - "input_type": "sequence_file", - "input_id": "fea581ad-b8a8-47d1-a4bb-e18f0753bf13" - }, - { - "input_type": "sequence_file", - "input_id": "7b1418ba-7cd7-4844-924c-ca92b0d3147c" - }, - { - "input_type": "sequence_file", - "input_id": "e0a99b8f-15e2-4a9e-b298-1066a9bcbda7" - }, - { - "input_type": "sequence_file", - "input_id": "7d5ca602-df90-402e-9c12-933e1cdde407" - }, - { - "input_type": "sequence_file", - "input_id": "b3de09c9-37f3-4d58-8930-bbd5d4e136c5" - }, - { - "input_type": "sequence_file", - "input_id": "81898837-23e3-40d9-96e2-04a559d95b2e" - }, - { - "input_type": "sequence_file", - "input_id": "2f74ffc0-b776-4b4a-90c6-327edb41c7ac" - }, - { - "input_type": "sequence_file", - "input_id": "a783909f-5237-4218-8b9d-80653729f3b1" - }, - { - "input_type": "sequence_file", - "input_id": "2d0246fd-696f-4a54-abe6-d759cc6d27b3" - }, - { - "input_type": "sequence_file", - "input_id": "ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02" - }, - { - "input_type": "sequence_file", - "input_id": "c0fc6427-6fa7-4d8d-9d6e-8844a26ff318" - }, - { - "input_type": "sequence_file", - "input_id": "bff57385-2f4f-4695-a153-412c9aabab59" - }, - { - "input_type": "sequence_file", - "input_id": "e61740c1-0e70-4d25-a912-32617d2e71fa" - }, - { - "input_type": "sequence_file", - "input_id": "4d0f1255-5e1b-4852-8030-a7a8f7580f1a" - }, - { - "input_type": "sequence_file", - "input_id": "ab8e7f29-eae9-488a-9337-7a926c8857ac" - }, - { - "input_type": "sequence_file", - "input_id": "bef069b8-2720-4327-8298-9ab2badd4a53" - }, - { - "input_type": "sequence_file", - "input_id": "f5ada827-68c0-4af6-88c6-7e9256b663ff" - }, - { - "input_type": "sequence_file", - "input_id": "db2ecbf9-0e24-4106-b594-73368de0e98b" - }, - { - "input_type": "sequence_file", - "input_id": "c9a2a10f-6638-4463-8c8f-4260c72dcb92" - }, - { - "input_type": "sequence_file", - "input_id": "7060b0f4-a756-41f8-bc65-16c7effef1be" - }, - { - "input_type": "sequence_file", - "input_id": "8898a9f3-4928-45b1-b236-71ce7cb48b11" - }, - { - "input_type": "sequence_file", - "input_id": "30f53c61-a8e3-42cf-a6d2-1b172659c189" - }, - { - "input_type": "sequence_file", - "input_id": "5e25031d-3456-4209-9818-c8882b2623e1" - }, - { - "input_type": "sequence_file", - "input_id": "d0cf423a-1ecf-499b-9e61-95662e23ba40" - }, - { - "input_type": "sequence_file", - "input_id": "99e73efd-4a04-496f-bb32-8f73edb0ae1a" - }, - { - "input_type": "sequence_file", - "input_id": "b35e3b14-91dc-4bf0-a47d-4ed8428efbe1" - }, - { - "input_type": "sequence_file", - "input_id": "8e892b4a-c112-47f2-a058-b87efed5a262" - }, - { - "input_type": "sequence_file", - "input_id": "621547f4-60bc-41b6-bc21-5c970700a1e4" - }, - { - "input_type": "sequence_file", - "input_id": "e06ec666-d2ed-4801-8bc3-03ddcd151c49" - }, - { - "input_type": "sequence_file", - "input_id": "782f79d7-bd59-4cc5-8492-1e680fbb31c1" - }, - { - "input_type": "sequence_file", - "input_id": "c458a416-5736-4b7b-817e-1d87b341f825" - }, - { - "input_type": "sequence_file", - "input_id": "a778ad17-3705-40bc-b425-245d17958638" - }, - { - "input_type": "sequence_file", - "input_id": "5f563e91-d384-4e1e-ac84-20f06332fe8c" - }, - { - "input_type": "sequence_file", - "input_id": "23203fb2-d46d-4d14-95e5-4ec38191e420" - }, - { - "input_type": "sequence_file", - "input_id": "d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb" - }, - { - "input_type": "sequence_file", - "input_id": "fea7ae13-ad77-4b59-9922-14f748263eac" - }, - { - "input_type": "sequence_file", - "input_id": "acfa3362-62b0-429a-b617-3adb722c200f" - }, - { - "input_type": "sequence_file", - "input_id": "6ea29b25-492a-4c00-819d-ec8a0909fa28" - }, - { - "input_type": "sequence_file", - "input_id": "d1f9e5d6-8df2-48d1-b558-9609710ef53f" - }, - { - "input_type": "sequence_file", - "input_id": "937bbdf2-09e3-4bf7-8f45-e46db2188c46" - }, - { - "input_type": "sequence_file", - "input_id": "1badbbc9-6b43-41f6-acad-36f09cff3d21" - }, - { - "input_type": "sequence_file", - "input_id": "f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16" - }, - { - "input_type": "sequence_file", - "input_id": "d04a8b95-a45f-4fc1-a42a-a9afe3188465" - }, - { - "input_type": "sequence_file", - "input_id": "e381aa0d-c2ce-4fe4-9acd-030d9023fcb6" - }, - { - "input_type": "sequence_file", - "input_id": "ac5fdc06-b856-4de0-9423-bdf05d4df650" - }, - { - "input_type": "sequence_file", - "input_id": "87e9a01b-594b-4dc4-b2a7-a14407399b50" - }, - { - "input_type": "sequence_file", - "input_id": "c4c3353d-f33f-4a5b-a2d8-7878daf2d01b" - }, - { - "input_type": "sequence_file", - "input_id": "fd3a8466-6eaf-4251-be4a-f46f85403719" - }, - { - "input_type": "sequence_file", - "input_id": "7abc79b5-e32a-4313-b130-12397d29d684" - }, - { - "input_type": "sequence_file", - "input_id": "4abcf42c-5291-47f3-b7a8-bb1071f56c54" - }, - { - "input_type": "sequence_file", - "input_id": "893dfdd4-43f4-4256-938b-d957928f0daa" - }, - { - "input_type": "sequence_file", - "input_id": "b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5" - }, - { - "input_type": "sequence_file", - "input_id": "fbec3e01-aaf4-41a3-b667-1f0268571d10" - }, - { - "input_type": "sequence_file", - "input_id": "4e066f08-f8b7-4550-adc2-287392fa7731" - }, - { - "input_type": "sequence_file", - "input_id": "e6565b7b-b195-4554-bf60-4b80f2c6dd13" - }, - { - "input_type": "sequence_file", - "input_id": "d1dd53ff-b603-4345-8203-45c384cbc813" - }, - { - "input_type": "sequence_file", - "input_id": "965057e9-48bc-4452-8819-2bc45723a0f7" - }, - { - "input_type": "sequence_file", - "input_id": "b7d7c14d-7bf3-4a8f-8f40-8d6e98505558" - }, - { - "input_type": "sequence_file", - "input_id": "84cc7ee0-4d8e-45a1-b563-d3e05b4ec573" - }, - { - "input_type": "sequence_file", - "input_id": "ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2" - }, - { - "input_type": "sequence_file", - "input_id": "130831cc-87b6-47fd-93a8-ae1890d365f2" - }, - { - "input_type": "sequence_file", - "input_id": "42bbb160-b881-4036-a712-1ab9b5d5ce87" - }, - { - "input_type": "sequence_file", - "input_id": "e9b50275-4ebe-43fe-b3de-1fe3ab930a23" - }, - { - "input_type": "sequence_file", - "input_id": "5621674e-0290-487d-8c0c-49b617d1628c" - }, - { - "input_type": "sequence_file", - "input_id": "868dfde7-2df8-487f-b754-68db8a96ad3a" - }, - { - "input_type": "sequence_file", - "input_id": "daa6813e-0321-413a-9107-8c814825bf93" - }, - { - "input_type": "sequence_file", - "input_id": "ffb64e6b-8924-4adf-ae8f-e55b4dd019dd" - }, - { - "input_type": "sequence_file", - "input_id": "e28d2a66-f506-4a4d-b2c6-823e4e8124d6" - }, - { - "input_type": "sequence_file", - "input_id": "ade0fe79-4629-4a49-8253-e26380046b32" - }, - { - "input_type": "sequence_file", - "input_id": "28023147-3cad-4c1d-b494-b693c4f0a6bd" - }, - { - "input_type": "sequence_file", - "input_id": "3c007e61-0e8a-4337-946c-1082441084c7" - }, - { - "input_type": "sequence_file", - "input_id": "577e4275-b373-40ac-ac3f-8487d6aafe16" - }, - { - "input_type": "sequence_file", - "input_id": "9e74066b-834e-416d-a1e7-bbec1e8f1713" - }, - { - "input_type": "sequence_file", - "input_id": "110bb0f5-9d1a-4573-b711-6bee156d0eb8" - }, - { - "input_type": "sequence_file", - "input_id": "012af05a-4771-45e5-bb92-9b63fcbde822" - }, - { - "input_type": "sequence_file", - "input_id": "565dbd59-2571-4af5-b160-c6d5cd3c684f" - }, - { - "input_type": "sequence_file", - "input_id": "d068c2b0-60c7-429a-938c-cb9c703c4c4d" - }, - { - "input_type": "sequence_file", - "input_id": "71add17d-3b59-4ca2-a032-80819608a34a" - }, - { - "input_type": "sequence_file", - "input_id": "c5e55f39-94a7-4ddd-8972-d217b63fb7cb" - }, - { - "input_type": "sequence_file", - "input_id": "fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce" - }, - { - "input_type": "sequence_file", - "input_id": "4df715c5-a783-41e6-a99e-eedf93a37fb3" - }, - { - "input_type": "sequence_file", - "input_id": "8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a" - }, - { - "input_type": "sequence_file", - "input_id": "b3739e56-e8cc-43b6-8b43-9116b5d75e69" - }, - { - "input_type": "sequence_file", - "input_id": "dd8ac880-75c4-4fe8-89e3-2cc41dad784a" - }, - { - "input_type": "sequence_file", - "input_id": "bb788d30-169b-4160-be07-98222d0a8327" - }, - { - "input_type": "sequence_file", - "input_id": "f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9" - }, - { - "input_type": "sequence_file", - "input_id": "877258d8-07eb-4cb6-a358-7c265c856ab6" - }, - { - "input_type": "sequence_file", - "input_id": "80e88ed6-4480-4888-b25d-d41e90822142" - }, - { - "input_type": "sequence_file", - "input_id": "f5fae200-b633-4ade-8871-94cf47475c67" - }, - { - "input_type": "sequence_file", - "input_id": "47950b5e-3d6f-4b75-9518-feb8b9e9a78b" - }, - { - "input_type": "sequence_file", - "input_id": "1c95a589-205c-4d7c-9c56-c3de4f7dbb66" - }, - { - "input_type": "sequence_file", - "input_id": "a40ed25e-fbf0-40a3-b468-e2bdb55d56d0" - }, - { - "input_type": "sequence_file", - "input_id": "f5274b10-d3ea-44c9-9f27-9af574dea10c" - }, - { - "input_type": "sequence_file", - "input_id": "fd7e7e85-7747-42c3-bc6b-0e4718202d63" - }, - { - "input_type": "sequence_file", - "input_id": "38601526-8448-4253-807b-70878c374901" - }, - { - "input_type": "sequence_file", - "input_id": "45d0b683-d7dc-4e1a-a235-dad58ef03d77" - }, - { - "input_type": "sequence_file", - "input_id": "dff50bd5-38c9-4c35-a5bc-dd51e69f249a" - }, - { - "input_type": "sequence_file", - "input_id": "0506c2a0-ef2b-4850-8567-20d08046bdaa" - }, - { - "input_type": "sequence_file", - "input_id": "dabb5028-64d2-4dbc-89a3-0cf6079ad0cb" - }, - { - "input_type": "sequence_file", - "input_id": "d1ad5518-3619-46dd-a342-f5a3b34f67b1" - }, - { - "input_type": "sequence_file", - "input_id": "bbda7bad-f60b-4091-83b0-b8d96c3f4214" - }, - { - "input_type": "sequence_file", - "input_id": "ce3c8eab-dcb7-403f-8837-6a7986acb6fc" - }, - { - "input_type": "sequence_file", - "input_id": "9e63db48-5b68-40e8-9d8f-aff48223b80e" - }, - { - "input_type": "sequence_file", - "input_id": "74086d10-f049-45c2-8654-de93aac63d94" - }, - { - "input_type": "sequence_file", - "input_id": "c699ee8b-738e-451a-b91d-0e1a6c8bb6f9" - }, - { - "input_type": "sequence_file", - "input_id": "f9db3e23-91ca-487f-a3ec-11ffa8b8f939" - }, - { - "input_type": "sequence_file", - "input_id": "fdd026f9-0ab6-49ef-88f9-4a5d61d12188" - }, - { - "input_type": "sequence_file", - "input_id": "c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2" - }, - { - "input_type": "sequence_file", - "input_id": "72b34b3d-f005-48af-81dc-3631873960d8" - }, - { - "input_type": "sequence_file", - "input_id": "7938acb1-91e3-4d8d-9d24-3b0a9fa28131" - }, - { - "input_type": "sequence_file", - "input_id": "9962de78-e4ef-40ba-b9fc-bd661895a99b" - }, - { - "input_type": "sequence_file", - "input_id": "3cf0f46b-1618-49e6-8cdc-d97a9d2403da" - }, - { - "input_type": "sequence_file", - "input_id": "2f033594-a8bd-49c4-b1b7-69ce88fe26d4" - }, - { - "input_type": "sequence_file", - "input_id": "97eaa3ce-131c-48b8-8082-86bbb6a486b5" - }, - { - "input_type": "sequence_file", - "input_id": "61716326-4fa0-41b9-8ca4-5b020500e8ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0e048f6-0ab6-45fc-a74f-16711af67a2e" - }, - { - "input_type": "sequence_file", - "input_id": "347f630f-a9a0-4430-958f-6c929335031a" - }, - { - "input_type": "sequence_file", - "input_id": "c13ed96e-3052-4a3f-9871-8196c10070a1" - }, - { - "input_type": "sequence_file", - "input_id": "1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1" - }, - { - "input_type": "sequence_file", - "input_id": "09b831a2-5b60-4753-864e-8af803024437" - }, - { - "input_type": "sequence_file", - "input_id": "290232bb-afb1-45b2-8e04-be180948541a" - }, - { - "input_type": "sequence_file", - "input_id": "c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7" - }, - { - "input_type": "sequence_file", - "input_id": "22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22" - }, - { - "input_type": "sequence_file", - "input_id": "da6e341f-43d3-4c22-ab8c-3c3e81986d9b" - }, - { - "input_type": "sequence_file", - "input_id": "6ea00f5c-7e63-493b-b6f9-68ba54dbbed3" - }, - { - "input_type": "sequence_file", - "input_id": "b9acc59a-ba7c-40ef-8611-27069458a508" - }, - { - "input_type": "sequence_file", - "input_id": "6f11ead1-11b1-4bda-8a20-588bb85ec126" - }, - { - "input_type": "sequence_file", - "input_id": "4ca067fb-8ba1-4959-9c1a-878d5705dd67" - }, - { - "input_type": "sequence_file", - "input_id": "f77883e0-6609-4bda-b446-331adbd9d357" - }, - { - "input_type": "sequence_file", - "input_id": "541fc29f-a7a3-456e-b28e-80f9036a4e33" - }, - { - "input_type": "sequence_file", - "input_id": "bd1e5909-c184-4ee0-906c-77e399270a71" - }, - { - "input_type": "sequence_file", - "input_id": "22833c60-dc70-4299-86ac-00747b91b3cb" - }, - { - "input_type": "sequence_file", - "input_id": "24bbde6e-cdf7-4f1c-a447-6501ce377aa4" - }, - { - "input_type": "sequence_file", - "input_id": "7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0" - }, - { - "input_type": "sequence_file", - "input_id": "64c93769-83eb-4718-90f0-36d83b1dae4d" - }, - { - "input_type": "sequence_file", - "input_id": "d3661383-3d73-41a0-8676-295926c07eeb" - }, - { - "input_type": "sequence_file", - "input_id": "9766ad67-37fa-402a-9649-181a1752e5b2" - }, - { - "input_type": "sequence_file", - "input_id": "559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0" - }, - { - "input_type": "sequence_file", - "input_id": "f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0dd6ad5-0582-47de-9cbf-7351ebd5e005" - }, - { - "input_type": "sequence_file", - "input_id": "a60154cf-58b6-461f-8908-b789cdd78ee8" - }, - { - "input_type": "sequence_file", - "input_id": "11d171f7-7775-40a4-90a4-df995775b1c4" - }, - { - "input_type": "sequence_file", - "input_id": "9fa70333-418c-476c-b93b-382096a9cdcb" - }, - { - "input_type": "sequence_file", - "input_id": "6593f54e-682c-4eb4-b2ed-e3c3278d4880" - }, - { - "input_type": "sequence_file", - "input_id": "c3182931-cc4c-4cb7-aab5-4b50093eebea" - }, - { - "input_type": "sequence_file", - "input_id": "3001b82f-bbea-4072-9760-a14a4f00b7d3" - }, - { - "input_type": "sequence_file", - "input_id": "2b62614e-dc4d-46ea-bf29-727d5c33effa" - }, - { - "input_type": "sequence_file", - "input_id": "726a68e9-4fa9-425a-90e7-d0fef30c9d4c" - }, - { - "input_type": "sequence_file", - "input_id": "09610000-dc5c-4665-a72e-b0dad51edf6d" - }, - { - "input_type": "sequence_file", - "input_id": "92951c73-28a3-4820-89d6-15a73fa192cf" - }, - { - "input_type": "sequence_file", - "input_id": "6d9709e5-ce90-46d3-bc95-d5105cafc67a" - }, - { - "input_type": "sequence_file", - "input_id": "523c6c55-66da-4edc-b66a-a33fe20d4102" - }, - { - "input_type": "sequence_file", - "input_id": "75e38979-23f0-4749-bfcc-d8e92db7f2b0" - }, - { - "input_type": "sequence_file", - "input_id": "3fcc4232-b40f-4cca-bd1d-d12a03e4fed0" - }, - { - "input_type": "sequence_file", - "input_id": "80347bc1-ffca-4f66-9ebd-812d22ab3d3f" - }, - { - "input_type": "sequence_file", - "input_id": "28e8f3eb-fedc-4942-8d6b-836fbb7e3441" - }, - { - "input_type": "sequence_file", - "input_id": "40f24220-4c6d-43c4-ab82-1db21d683b07" - }, - { - "input_type": "sequence_file", - "input_id": "b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477" - }, - { - "input_type": "sequence_file", - "input_id": "b7826640-f0cc-4891-860e-7815a8848006" - }, - { - "input_type": "sequence_file", - "input_id": "eccad683-4c2d-4d7f-a141-1effb429fef7" - }, - { - "input_type": "sequence_file", - "input_id": "1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288" - }, - { - "input_type": "sequence_file", - "input_id": "09c0456a-ec0b-47e3-870d-4b47221a45a6" - }, - { - "input_type": "sequence_file", - "input_id": "067d2b7b-127b-421f-91db-0acc05ad62ad" - }, - { - "input_type": "sequence_file", - "input_id": "9bad139c-7abf-4786-a6fc-5f9a5abcd850" - }, - { - "input_type": "sequence_file", - "input_id": "9b03ad8d-aabf-4736-820a-493db4877f84" - }, - { - "input_type": "sequence_file", - "input_id": "3dce5e53-a137-4086-96d3-26dd3d000cf6" - }, - { - "input_type": "sequence_file", - "input_id": "19eb5d2e-2224-4bb4-9f94-526a4c06f7a2" - }, - { - "input_type": "sequence_file", - "input_id": "6b38794f-2d55-4422-8094-fb4a5e100d32" - }, - { - "input_type": "sequence_file", - "input_id": "9a03ec79-7dc7-44fc-bb97-22ad58159436" - }, - { - "input_type": "sequence_file", - "input_id": "69ab8827-b0dc-48ae-84b5-1d27284a7db0" - }, - { - "input_type": "sequence_file", - "input_id": "a2b31671-1874-4c4a-a5c5-fd2787287893" - }, - { - "input_type": "sequence_file", - "input_id": "7186ea5d-49a0-4d72-a24e-2a30d48aa8fc" - }, - { - "input_type": "sequence_file", - "input_id": "e5d2cef3-3902-418c-b905-001052979a54" - }, - { - "input_type": "sequence_file", - "input_id": "02cfb8bb-4eb6-4343-9381-007968f1feee" - }, - { - "input_type": "sequence_file", - "input_id": "d8b9cedb-39d5-47b7-9c64-94e6393fdd0d" - }, - { - "input_type": "sequence_file", - "input_id": "9f577e94-f952-40af-a919-108f4661fdb9" - }, - { - "input_type": "sequence_file", - "input_id": "1d77e73b-9bd3-499f-a0d0-86d9f7306a7e" - }, - { - "input_type": "sequence_file", - "input_id": "c3093b68-54a2-4d31-aa15-50afb0414625" - }, - { - "input_type": "sequence_file", - "input_id": "d73e6663-d29d-47af-a4b4-5cadcd272293" - }, - { - "input_type": "sequence_file", - "input_id": "44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7" - }, - { - "input_type": "sequence_file", - "input_id": "e163d226-febb-4ecf-80db-8e60680be2ab" - }, - { - "input_type": "sequence_file", - "input_id": "a6a99736-43fb-4f67-ae26-0e24d5277c6b" - }, - { - "input_type": "sequence_file", - "input_id": "2ff6533e-8fe3-44c3-b378-99d4acdc0ab8" - }, - { - "input_type": "sequence_file", - "input_id": "3b7b0bcf-b316-4b0e-9d46-f8d44a399774" - }, - { - "input_type": "sequence_file", - "input_id": "d5aab272-e387-4bae-aeb0-987928e0c001" - }, - { - "input_type": "sequence_file", - "input_id": "d359ca8d-a374-4eeb-b214-69df7861d0e3" - }, - { - "input_type": "sequence_file", - "input_id": "c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd" - }, - { - "input_type": "sequence_file", - "input_id": "29ee234c-5d39-4eb9-8f73-22121936b3db" - }, - { - "input_type": "sequence_file", - "input_id": "344c1e18-810e-4800-bbed-0246cbbafa60" - }, - { - "input_type": "sequence_file", - "input_id": "91594c64-a197-4dc9-8605-d57aff0f2e87" - }, - { - "input_type": "sequence_file", - "input_id": "17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8" - }, - { - "input_type": "sequence_file", - "input_id": "fed6f8f3-2c61-4361-8160-2c5a13db83d4" - }, - { - "input_type": "sequence_file", - "input_id": "dae9b045-0d8d-4944-b8a2-d3b64ad7df34" - }, - { - "input_type": "sequence_file", - "input_id": "8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba" - }, - { - "input_type": "sequence_file", - "input_id": "b6dda1ac-9635-426a-869a-82b1420ef251" - }, - { - "input_type": "sequence_file", - "input_id": "47c12e95-67b2-42e1-866b-eb7c5f16a3c6" - }, - { - "input_type": "sequence_file", - "input_id": "edbe53c5-208b-436d-b283-1aa4ee94800c" - }, - { - "input_type": "sequence_file", - "input_id": "4198865c-d4ef-4a01-94c0-8a8397914dbc" - }, - { - "input_type": "sequence_file", - "input_id": "e1c334fa-b493-4892-a48b-3fe594e98b30" - }, - { - "input_type": "sequence_file", - "input_id": "c8b4bc26-7487-48d9-a2f2-6b3934da074d" - }, - { - "input_type": "sequence_file", - "input_id": "b0009333-24fc-4f3e-bf35-3cc8fa808efa" - }, - { - "input_type": "sequence_file", - "input_id": "a45af0aa-2591-4031-8ee8-a3c0a5a76260" - }, - { - "input_type": "sequence_file", - "input_id": "56d5b505-6591-47c4-b469-006e27e6e343" - }, - { - "input_type": "sequence_file", - "input_id": "ebbc0d72-0743-41b8-88f6-736c36bd6499" - }, - { - "input_type": "sequence_file", - "input_id": "7c912919-4b2c-4f4d-bdfe-1988d20aeeed" - }, - { - "input_type": "sequence_file", - "input_id": "b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc" - }, - { - "input_type": "sequence_file", - "input_id": "51aef727-d8de-497f-abbe-e650b1baeeab" - }, - { - "input_type": "sequence_file", - "input_id": "c04b8362-f2c9-4cad-b939-494e738efc19" - }, - { - "input_type": "sequence_file", - "input_id": "782fcb99-9b26-485f-9f7d-bda9cc37f0d2" - }, - { - "input_type": "sequence_file", - "input_id": "cabca52b-8f67-4107-8916-4fd8129ccd97" - }, - { - "input_type": "sequence_file", - "input_id": "79e53d37-c41c-4234-99db-f3333d89bb3a" - }, - { - "input_type": "sequence_file", - "input_id": "e0a914c3-3147-4f06-a8ae-0c16029497dc" - }, - { - "input_type": "sequence_file", - "input_id": "ebc98059-556f-4a51-b1d3-e5afb40fe80e" - }, - { - "input_type": "sequence_file", - "input_id": "a65b7c37-e038-41d5-8623-2046bdc278a4" - }, - { - "input_type": "sequence_file", - "input_id": "7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565" - }, - { - "input_type": "sequence_file", - "input_id": "8fc6dd31-c01c-4eec-ae6c-bedd13f2c209" - }, - { - "input_type": "sequence_file", - "input_id": "ba526c42-7c2f-43c1-a817-06ccdb4d67be" - }, - { - "input_type": "sequence_file", - "input_id": "1adbb95f-f5c3-41ce-8e16-7657d189de79" - }, - { - "input_type": "sequence_file", - "input_id": "887d7cc2-1c24-42a9-aab3-51474d95f927" - }, - { - "input_type": "sequence_file", - "input_id": "6e3aed1a-9909-462c-90e1-a1f766cd380e" - }, - { - "input_type": "sequence_file", - "input_id": "d85ccb81-e861-4bb1-95b6-40762555da1d" - }, - { - "input_type": "sequence_file", - "input_id": "5d00e91c-8691-41ff-836c-b827f23a1a7d" - }, - { - "input_type": "sequence_file", - "input_id": "50fd1926-5615-4e29-be75-e8528d1da8df" - }, - { - "input_type": "sequence_file", - "input_id": "73112827-65e2-4057-98e0-960b4c50afe6" - }, - { - "input_type": "sequence_file", - "input_id": "5f3e080f-d2f2-4350-96b0-fb8169bfcdd9" - }, - { - "input_type": "sequence_file", - "input_id": "e744fafb-3c4b-47c3-91db-db8bb8751279" - }, - { - "input_type": "sequence_file", - "input_id": "3f2ae9d6-763e-4408-bc80-6067ccc756e0" - }, - { - "input_type": "sequence_file", - "input_id": "64e1d438-17af-450b-b90c-04072117cbb1" - }, - { - "input_type": "sequence_file", - "input_id": "a10329ae-6c8a-4df9-bac1-70bdf2c07571" - }, - { - "input_type": "sequence_file", - "input_id": "fd0547d5-7f16-46e4-8948-45c82f923f69" - }, - { - "input_type": "sequence_file", - "input_id": "14795e28-bcee-4da3-83cf-bb2592b6c0d0" - }, - { - "input_type": "sequence_file", - "input_id": "5b977962-16d1-4631-9225-6be262e9ccae" - }, - { - "input_type": "sequence_file", - "input_id": "7eb17ee4-5704-4ce3-8b41-121ef051ee09" - }, - { - "input_type": "sequence_file", - "input_id": "a2385663-3f62-4512-b4d8-4bba405f50a3" - }, - { - "input_type": "sequence_file", - "input_id": "53c40015-48a9-4a3f-a513-d617d28a2352" - }, - { - "input_type": "sequence_file", - "input_id": "2862a721-a50b-4e47-86c5-35547bc44e53" - }, - { - "input_type": "sequence_file", - "input_id": "2a77f1db-b5d4-4657-a522-9786aaa7df80" - }, - { - "input_type": "sequence_file", - "input_id": "035a00e0-02ca-46e8-bb76-9b2449ee922f" - }, - { - "input_type": "sequence_file", - "input_id": "1a589473-0047-4bca-afce-57c8448f0dc6" - }, - { - "input_type": "sequence_file", - "input_id": "dcec351c-327a-46df-aa48-22d2647d5852" - }, - { - "input_type": "sequence_file", - "input_id": "3d8bc409-2043-486a-9a0b-12c71a741d83" - }, - { - "input_type": "sequence_file", - "input_id": "554c1554-ed18-4926-b8d7-5b6af2edab5b" - }, - { - "input_type": "sequence_file", - "input_id": "dcf52037-e357-4b26-9072-05e08bf47978" - }, - { - "input_type": "sequence_file", - "input_id": "ed884cca-c961-40d2-bc8b-b358ea4fb780" - }, - { - "input_type": "sequence_file", - "input_id": "3c9533cf-c7b5-4bbf-9461-87da5aa1b556" - }, - { - "input_type": "sequence_file", - "input_id": "12826f14-2ef8-4069-a797-42d2f4c0937b" - }, - { - "input_type": "sequence_file", - "input_id": "fe586661-4878-4882-a38f-0b6321df5c99" - }, - { - "input_type": "sequence_file", - "input_id": "1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec" - }, - { - "input_type": "sequence_file", - "input_id": "b1e83792-e01e-45e2-bcb8-27b81a0d9db9" - }, - { - "input_type": "sequence_file", - "input_id": "5be8906f-0831-422d-896e-b099d5a23e13" - }, - { - "input_type": "sequence_file", - "input_id": "511eaba4-a8f4-4230-b3ad-407332e22b48" - }, - { - "input_type": "sequence_file", - "input_id": "d5b993f2-d053-4420-994b-04d64bd9e356" - }, - { - "input_type": "sequence_file", - "input_id": "adca7438-701c-4afc-8580-01de6ee68974" - }, - { - "input_type": "sequence_file", - "input_id": "d1f65c9e-628b-4c5f-b76a-1154c1666eba" - }, - { - "input_type": "sequence_file", - "input_id": "21bd79df-cc64-4381-a5c7-0e81e001ea1a" - }, - { - "input_type": "sequence_file", - "input_id": "832ae460-0083-42b0-89a6-cc651e50fad4" - }, - { - "input_type": "sequence_file", - "input_id": "db7576d3-afc9-4860-9a46-bdca8f745fa3" - }, - { - "input_type": "sequence_file", - "input_id": "2b889dd9-0bd3-412a-967e-74fa9600bb4d" - }, - { - "input_type": "sequence_file", - "input_id": "baa2bfd9-d2fb-4b5a-a81d-af84bf24c730" - }, - { - "input_type": "sequence_file", - "input_id": "ac036daf-a7cc-4583-a219-814c77ed8001" - }, - { - "input_type": "sequence_file", - "input_id": "ddaab768-186d-456a-8e1d-8631dc97f6ad" - }, - { - "input_type": "sequence_file", - "input_id": "f78279da-e39f-463b-a1a9-02d4f99f85a5" - }, - { - "input_type": "sequence_file", - "input_id": "fff15476-7228-42be-be8a-bd6b02ee9f81" - }, - { - "input_type": "sequence_file", - "input_id": "a1ac3c01-10da-4b93-a61a-71a62e6ddb22" - }, - { - "input_type": "sequence_file", - "input_id": "319d5a99-4bde-4b20-956a-03a0175478ee" - }, - { - "input_type": "sequence_file", - "input_id": "d13d109b-0106-4102-9769-82bb2ed9cfb7" - }, - { - "input_type": "sequence_file", - "input_id": "7f46ab20-26fa-493e-98c4-24d558f4a0ce" - }, - { - "input_type": "sequence_file", - "input_id": "cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3" - }, - { - "input_type": "sequence_file", - "input_id": "8de95742-6e0f-45bd-b835-ce96ebc1991c" - }, - { - "input_type": "sequence_file", - "input_id": "4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed" - }, - { - "input_type": "sequence_file", - "input_id": "59a4c958-41b6-4680-8021-86ed6be8f55d" - }, - { - "input_type": "sequence_file", - "input_id": "f648cc69-80e7-46a1-8575-aae76b30367c" - }, - { - "input_type": "sequence_file", - "input_id": "1f134dea-8f9b-4e90-a1af-80508f43f73c" - }, - { - "input_type": "sequence_file", - "input_id": "9717e5ab-015a-4fee-9864-0332c60b1e9a" - }, - { - "input_type": "sequence_file", - "input_id": "2a7c1cb6-5d82-4b65-854d-6451c18c62fc" - }, - { - "input_type": "sequence_file", - "input_id": "296db6ee-3e65-48ee-b232-626653165222" - }, - { - "input_type": "sequence_file", - "input_id": "885f171d-901c-4cc4-9c76-c5d8cdf35991" - }, - { - "input_type": "sequence_file", - "input_id": "82899c21-c3c7-4288-bb8f-4c72880c10e4" - }, - { - "input_type": "sequence_file", - "input_id": "04066a52-7468-4783-b49c-46e28b076739" - }, - { - "input_type": "sequence_file", - "input_id": "b0025fa1-e6a6-441b-a018-2c73ceabe237" - }, - { - "input_type": "sequence_file", - "input_id": "7e1f0414-5235-4c79-b334-b278d3ebd8ae" - }, - { - "input_type": "sequence_file", - "input_id": "d691ee05-f531-4c18-b0e9-677dcaabf20f" - }, - { - "input_type": "sequence_file", - "input_id": "97cfc6c1-2a97-41ef-bb36-0ac99b8c8195" - }, - { - "input_type": "sequence_file", - "input_id": "c8995918-5491-41bc-ad76-2099c6314fb1" - }, - { - "input_type": "sequence_file", - "input_id": "884813d1-d03e-4210-9289-e5b0d415484b" - }, - { - "input_type": "sequence_file", - "input_id": "ee28d3e7-02df-46a0-a3ba-f55ad747b214" - }, - { - "input_type": "sequence_file", - "input_id": "972e55ea-7901-435b-9646-53bc8fde2e6f" - }, - { - "input_type": "sequence_file", - "input_id": "58b683d3-03cf-42e9-9cff-4143dff729ca" - }, - { - "input_type": "sequence_file", - "input_id": "d4bbfecd-d580-4eaa-8679-33173740b295" - }, - { - "input_type": "sequence_file", - "input_id": "5275a9fa-7a21-4ef2-9819-5358b2821300" - }, - { - "input_type": "sequence_file", - "input_id": "ce6d4c01-8676-4ae9-91b3-4148deb5b8d9" - }, - { - "input_type": "sequence_file", - "input_id": "f7a68998-a02b-4d1c-8768-0abb9e9ae35a" - }, - { - "input_type": "sequence_file", - "input_id": "0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc" - }, - { - "input_type": "sequence_file", - "input_id": "2aba7a6a-6d70-4310-9e64-071c6adbe16b" - }, - { - "input_type": "sequence_file", - "input_id": "54140f9b-2929-44b6-9fb0-de4c2b22090b" - }, - { - "input_type": "sequence_file", - "input_id": "0c577531-9218-444b-8094-85d8c6f5c73e" - }, - { - "input_type": "sequence_file", - "input_id": "28c505c1-e1c4-4e73-b935-9616224da552" - }, - { - "input_type": "sequence_file", - "input_id": "95e893a0-0885-4e1c-8e31-55863d5108b3" - }, - { - "input_type": "sequence_file", - "input_id": "e9def19b-3967-47e7-a2dd-1bc5f9297959" - }, - { - "input_type": "sequence_file", - "input_id": "96f4d488-e081-4b54-b12a-b2d9546bfc17" - }, - { - "input_type": "sequence_file", - "input_id": "f8988fe1-225c-40b4-933d-9dacb8b4728f" - }, - { - "input_type": "sequence_file", - "input_id": "18d81f7f-94c8-4877-939a-b74ba802835a" - }, - { - "input_type": "sequence_file", - "input_id": "0fa69e92-febb-4bab-857c-4b67a2b17ff6" - }, - { - "input_type": "sequence_file", - "input_id": "09a53782-90ea-4911-a793-706e74127adb" - }, - { - "input_type": "sequence_file", - "input_id": "c67f602f-1b0d-4b0e-bd72-af166f5443fa" - }, - { - "input_type": "sequence_file", - "input_id": "5b80431f-c95a-41ef-8aa7-98816f00e4d6" - }, - { - "input_type": "sequence_file", - "input_id": "70291c50-770c-4e51-8f1b-60be28ea419f" - }, - { - "input_type": "sequence_file", - "input_id": "38e1a4f4-f9ec-44cf-b6bb-1a9566456d38" - }, - { - "input_type": "sequence_file", - "input_id": "154dffeb-efd7-4081-a73c-bf1b73ca9a90" - }, - { - "input_type": "sequence_file", - "input_id": "c9517b55-fb72-463a-aab6-e4f64b95c2fc" - }, - { - "input_type": "sequence_file", - "input_id": "c3d3c4a3-527b-490f-8107-bc1b44566df0" - }, - { - "input_type": "sequence_file", - "input_id": "83865a27-24a8-4a70-a8bd-650affa7df5c" - }, - { - "input_type": "sequence_file", - "input_id": "6e650029-386f-4d8e-868e-8780782baa4b" - }, - { - "input_type": "sequence_file", - "input_id": "f859d1ff-df51-4548-b8a4-9eca26bf7454" - }, - { - "input_type": "sequence_file", - "input_id": "79426c6b-bd79-4343-b9fa-ee1e9cfc2aef" - }, - { - "input_type": "sequence_file", - "input_id": "0697146c-0105-4d6f-baff-d9147593eadb" - }, - { - "input_type": "sequence_file", - "input_id": "65fae226-b417-43cd-a5c8-cf2336b8cff5" - }, - { - "input_type": "sequence_file", - "input_id": "7240ec36-6433-4e5c-ba0f-d2770817f963" - }, - { - "input_type": "sequence_file", - "input_id": "d20547e4-3f00-42af-9a7f-9477ff43de0d" - }, - { - "input_type": "sequence_file", - "input_id": "0256729b-47ee-4ed3-adc7-2c0813bb99b9" - }, - { - "input_type": "sequence_file", - "input_id": "7eb2244c-6b4d-4d91-bfc6-44ec12d9319b" - }, - { - "input_type": "sequence_file", - "input_id": "b2a6b8c1-f0bc-4509-b255-8618d7cff205" - }, - { - "input_type": "sequence_file", - "input_id": "bf6cb18e-07de-404d-bebe-4a943dfb44f7" - }, - { - "input_type": "sequence_file", - "input_id": "6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0" - }, - { - "input_type": "sequence_file", - "input_id": "5a172f54-33a5-4e0d-bc0d-1760bad3beb6" - }, - { - "input_type": "sequence_file", - "input_id": "ee36a1ac-7426-4253-81b8-715f37a2ba69" - }, - { - "input_type": "sequence_file", - "input_id": "d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc" - }, - { - "input_type": "sequence_file", - "input_id": "5f5e80b2-0779-4df0-9a18-35bc0db72fdf" - }, - { - "input_type": "sequence_file", - "input_id": "e6b33ccb-99f6-4c02-aa69-e7b581832d04" - }, - { - "input_type": "sequence_file", - "input_id": "9d98496f-f6d8-4106-8b6a-c118ed6ff229" - }, - { - "input_type": "sequence_file", - "input_id": "22343575-1465-455f-8360-4e716aab17fb" - }, - { - "input_type": "sequence_file", - "input_id": "7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4" - }, - { - "input_type": "sequence_file", - "input_id": "9f709f2c-701a-43bc-8417-77fac81c3633" - }, - { - "input_type": "sequence_file", - "input_id": "a4152d0c-ca88-4cad-af08-40a2e799bec7" - }, - { - "input_type": "sequence_file", - "input_id": "2c4d6e65-8271-4542-97ee-7ba8a6b628d9" - }, - { - "input_type": "sequence_file", - "input_id": "668a508d-34fa-4468-86e8-523380a34da8" - }, - { - "input_type": "sequence_file", - "input_id": "b5c2e557-c303-42cc-8779-bf3b2256c422" - }, - { - "input_type": "sequence_file", - "input_id": "f9eef16f-b9cc-43bb-b9f3-bf0948766e7e" - }, - { - "input_type": "sequence_file", - "input_id": "061936ce-8fbb-4576-8c0c-ed871767917f" - }, - { - "input_type": "sequence_file", - "input_id": "762c2720-f65c-4804-844f-2302bc33ebbc" - }, - { - "input_type": "sequence_file", - "input_id": "fedc286a-9bbc-4db0-8bf5-b3f0b69fb559" - }, - { - "input_type": "sequence_file", - "input_id": "43f476f9-cbfc-431a-a774-5885904b434c" - }, - { - "input_type": "sequence_file", - "input_id": "65b78fda-7874-455f-9c9a-bf7aca375a0b" - }, - { - "input_type": "sequence_file", - "input_id": "82fc0df9-9828-433e-ac6d-73f4bbceefcf" - }, - { - "input_type": "sequence_file", - "input_id": "fb771836-467f-4897-a755-a17ab281a385" - }, - { - "input_type": "sequence_file", - "input_id": "5f6e0f4b-3541-4197-a67f-01dddc0cf105" - }, - { - "input_type": "sequence_file", - "input_id": "c7970499-e36d-49f3-b1f2-6886746333c9" - }, - { - "input_type": "sequence_file", - "input_id": "6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47" - }, - { - "input_type": "sequence_file", - "input_id": "e4d6ced4-50a3-402a-bbbc-ae329cd3689d" - }, - { - "input_type": "sequence_file", - "input_id": "792fd4bd-9b01-42bf-a883-c651789a198a" - }, - { - "input_type": "sequence_file", - "input_id": "10b3b42b-3612-48fb-849b-bfc036c248a6" - }, - { - "input_type": "sequence_file", - "input_id": "6fc7505d-33db-4d19-99a1-5756cd9a0a1c" - }, - { - "input_type": "sequence_file", - "input_id": "64309a91-ba2b-4b0e-baa9-7cfce3c5d445" - }, - { - "input_type": "sequence_file", - "input_id": "64eedb4a-2f73-4b60-a4b1-99b5ffd0486b" - }, - { - "input_type": "sequence_file", - "input_id": "79d181d1-5b70-4306-a229-74a2a3d5278e" - }, - { - "input_type": "sequence_file", - "input_id": "102b8410-1c0e-46f5-90fe-609ab117221c" - }, - { - "input_type": "sequence_file", - "input_id": "449ec63a-dca8-4a61-98b5-e6789d4946a1" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca" - }, - { - "output_type": "analysis_file", - "output_id": "31e6cb06-0062-4096-84f5-c2d1c2621a82" - }, - { - "output_type": "analysis_file", - "output_id": "d3b3abc2-0da6-4163-acb8-251fe079284c" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "07f1f962-dd38-4a0b-b0b5-f4efe30d21e2" - } - ] - }, - { - "link_type": "process_link", - "process_id": "70519cbb-bbfb-4e55-9642-e6c6a381b4d0", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "92363365-2bef-43b5-bb58-7a66b7cf57dc" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "c04b8362-f2c9-4cad-b939-494e738efc19" - }, - { - "output_type": "sequence_file", - "output_id": "782fcb99-9b26-485f-9f7d-bda9cc37f0d2" - }, - { - "output_type": "sequence_file", - "output_id": "cabca52b-8f67-4107-8916-4fd8129ccd97" - }, - { - "output_type": "sequence_file", - "output_id": "79e53d37-c41c-4234-99db-f3333d89bb3a" - }, - { - "output_type": "sequence_file", - "output_id": "e0a914c3-3147-4f06-a8ae-0c16029497dc" - }, - { - "output_type": "sequence_file", - "output_id": "ebc98059-556f-4a51-b1d3-e5afb40fe80e" - }, - { - "output_type": "sequence_file", - "output_id": "a65b7c37-e038-41d5-8623-2046bdc278a4" - }, - { - "output_type": "sequence_file", - "output_id": "7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565" - }, - { - "output_type": "sequence_file", - "output_id": "8fc6dd31-c01c-4eec-ae6c-bedd13f2c209" - }, - { - "output_type": "sequence_file", - "output_id": "ba526c42-7c2f-43c1-a817-06ccdb4d67be" - }, - { - "output_type": "sequence_file", - "output_id": "1adbb95f-f5c3-41ce-8e16-7657d189de79" - }, - { - "output_type": "sequence_file", - "output_id": "887d7cc2-1c24-42a9-aab3-51474d95f927" - }, - { - "output_type": "sequence_file", - "output_id": "6e3aed1a-9909-462c-90e1-a1f766cd380e" - }, - { - "output_type": "sequence_file", - "output_id": "d85ccb81-e861-4bb1-95b6-40762555da1d" - }, - { - "output_type": "sequence_file", - "output_id": "5d00e91c-8691-41ff-836c-b827f23a1a7d" - }, - { - "output_type": "sequence_file", - "output_id": "50fd1926-5615-4e29-be75-e8528d1da8df" - }, - { - "output_type": "sequence_file", - "output_id": "73112827-65e2-4057-98e0-960b4c50afe6" - }, - { - "output_type": "sequence_file", - "output_id": "5f3e080f-d2f2-4350-96b0-fb8169bfcdd9" - }, - { - "output_type": "sequence_file", - "output_id": "e744fafb-3c4b-47c3-91db-db8bb8751279" - }, - { - "output_type": "sequence_file", - "output_id": "3f2ae9d6-763e-4408-bc80-6067ccc756e0" - }, - { - "output_type": "sequence_file", - "output_id": "64e1d438-17af-450b-b90c-04072117cbb1" - }, - { - "output_type": "sequence_file", - "output_id": "a10329ae-6c8a-4df9-bac1-70bdf2c07571" - }, - { - "output_type": "sequence_file", - "output_id": "fd0547d5-7f16-46e4-8948-45c82f923f69" - }, - { - "output_type": "sequence_file", - "output_id": "14795e28-bcee-4da3-83cf-bb2592b6c0d0" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "72975432-3c46-449a-a4d9-809712d10577" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "63db242f-a88b-4deb-b1e4-3677ade32d18" - } - ] - }, - { - "link_type": "process_link", - "process_id": "092b2a1b-0730-4860-b466-e92e66afd8d1", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "a9cc38f8-0a0e-488b-b0c7-2c77f091d0ce" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "92363365-2bef-43b5-bb58-7a66b7cf57dc" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0e1884e4-310f-4afb-9721-e0721a290498" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "48f7f503-d213-4447-9ee4-3602da1066d7" - } - ] - }, - { - "link_type": "process_link", - "process_id": "94dc13e0-6390-40d2-a3c2-bec70c12d5b5", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "35e1a941-427f-430c-80a0-9a9efcdcac37" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "a9cc38f8-0a0e-488b-b0c7-2c77f091d0ce" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "67fa2c3e-ba97-4bc6-beb9-92ea33bec948" - } - ] - }, - { - "link_type": "process_link", - "process_id": "97f00f1b-232c-4425-b51a-7d91b88d3862", - "process_type": "process", - "inputs": [ - { - "input_type": "sequence_file", - "input_id": "3cad3e7e-9e9b-4e4e-a535-509853f9306b" - }, - { - "input_type": "sequence_file", - "input_id": "8840da5d-cbaa-4617-ad50-d2a012563fe6" - }, - { - "input_type": "sequence_file", - "input_id": "e17968e7-5ef9-45fb-b45a-d73d18f41ae6" - }, - { - "input_type": "sequence_file", - "input_id": "fea581ad-b8a8-47d1-a4bb-e18f0753bf13" - }, - { - "input_type": "sequence_file", - "input_id": "7b1418ba-7cd7-4844-924c-ca92b0d3147c" - }, - { - "input_type": "sequence_file", - "input_id": "e0a99b8f-15e2-4a9e-b298-1066a9bcbda7" - }, - { - "input_type": "sequence_file", - "input_id": "7d5ca602-df90-402e-9c12-933e1cdde407" - }, - { - "input_type": "sequence_file", - "input_id": "b3de09c9-37f3-4d58-8930-bbd5d4e136c5" - }, - { - "input_type": "sequence_file", - "input_id": "81898837-23e3-40d9-96e2-04a559d95b2e" - }, - { - "input_type": "sequence_file", - "input_id": "2f74ffc0-b776-4b4a-90c6-327edb41c7ac" - }, - { - "input_type": "sequence_file", - "input_id": "a783909f-5237-4218-8b9d-80653729f3b1" - }, - { - "input_type": "sequence_file", - "input_id": "2d0246fd-696f-4a54-abe6-d759cc6d27b3" - }, - { - "input_type": "sequence_file", - "input_id": "ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02" - }, - { - "input_type": "sequence_file", - "input_id": "c0fc6427-6fa7-4d8d-9d6e-8844a26ff318" - }, - { - "input_type": "sequence_file", - "input_id": "bff57385-2f4f-4695-a153-412c9aabab59" - }, - { - "input_type": "sequence_file", - "input_id": "e61740c1-0e70-4d25-a912-32617d2e71fa" - }, - { - "input_type": "sequence_file", - "input_id": "4d0f1255-5e1b-4852-8030-a7a8f7580f1a" - }, - { - "input_type": "sequence_file", - "input_id": "ab8e7f29-eae9-488a-9337-7a926c8857ac" - }, - { - "input_type": "sequence_file", - "input_id": "bef069b8-2720-4327-8298-9ab2badd4a53" - }, - { - "input_type": "sequence_file", - "input_id": "f5ada827-68c0-4af6-88c6-7e9256b663ff" - }, - { - "input_type": "sequence_file", - "input_id": "db2ecbf9-0e24-4106-b594-73368de0e98b" - }, - { - "input_type": "sequence_file", - "input_id": "c9a2a10f-6638-4463-8c8f-4260c72dcb92" - }, - { - "input_type": "sequence_file", - "input_id": "7060b0f4-a756-41f8-bc65-16c7effef1be" - }, - { - "input_type": "sequence_file", - "input_id": "8898a9f3-4928-45b1-b236-71ce7cb48b11" - }, - { - "input_type": "sequence_file", - "input_id": "30f53c61-a8e3-42cf-a6d2-1b172659c189" - }, - { - "input_type": "sequence_file", - "input_id": "5e25031d-3456-4209-9818-c8882b2623e1" - }, - { - "input_type": "sequence_file", - "input_id": "d0cf423a-1ecf-499b-9e61-95662e23ba40" - }, - { - "input_type": "sequence_file", - "input_id": "99e73efd-4a04-496f-bb32-8f73edb0ae1a" - }, - { - "input_type": "sequence_file", - "input_id": "b35e3b14-91dc-4bf0-a47d-4ed8428efbe1" - }, - { - "input_type": "sequence_file", - "input_id": "8e892b4a-c112-47f2-a058-b87efed5a262" - }, - { - "input_type": "sequence_file", - "input_id": "621547f4-60bc-41b6-bc21-5c970700a1e4" - }, - { - "input_type": "sequence_file", - "input_id": "e06ec666-d2ed-4801-8bc3-03ddcd151c49" - }, - { - "input_type": "sequence_file", - "input_id": "782f79d7-bd59-4cc5-8492-1e680fbb31c1" - }, - { - "input_type": "sequence_file", - "input_id": "c458a416-5736-4b7b-817e-1d87b341f825" - }, - { - "input_type": "sequence_file", - "input_id": "a778ad17-3705-40bc-b425-245d17958638" - }, - { - "input_type": "sequence_file", - "input_id": "5f563e91-d384-4e1e-ac84-20f06332fe8c" - }, - { - "input_type": "sequence_file", - "input_id": "23203fb2-d46d-4d14-95e5-4ec38191e420" - }, - { - "input_type": "sequence_file", - "input_id": "d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb" - }, - { - "input_type": "sequence_file", - "input_id": "fea7ae13-ad77-4b59-9922-14f748263eac" - }, - { - "input_type": "sequence_file", - "input_id": "acfa3362-62b0-429a-b617-3adb722c200f" - }, - { - "input_type": "sequence_file", - "input_id": "6ea29b25-492a-4c00-819d-ec8a0909fa28" - }, - { - "input_type": "sequence_file", - "input_id": "d1f9e5d6-8df2-48d1-b558-9609710ef53f" - }, - { - "input_type": "sequence_file", - "input_id": "937bbdf2-09e3-4bf7-8f45-e46db2188c46" - }, - { - "input_type": "sequence_file", - "input_id": "1badbbc9-6b43-41f6-acad-36f09cff3d21" - }, - { - "input_type": "sequence_file", - "input_id": "f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16" - }, - { - "input_type": "sequence_file", - "input_id": "d04a8b95-a45f-4fc1-a42a-a9afe3188465" - }, - { - "input_type": "sequence_file", - "input_id": "e381aa0d-c2ce-4fe4-9acd-030d9023fcb6" - }, - { - "input_type": "sequence_file", - "input_id": "ac5fdc06-b856-4de0-9423-bdf05d4df650" - }, - { - "input_type": "sequence_file", - "input_id": "87e9a01b-594b-4dc4-b2a7-a14407399b50" - }, - { - "input_type": "sequence_file", - "input_id": "c4c3353d-f33f-4a5b-a2d8-7878daf2d01b" - }, - { - "input_type": "sequence_file", - "input_id": "fd3a8466-6eaf-4251-be4a-f46f85403719" - }, - { - "input_type": "sequence_file", - "input_id": "7abc79b5-e32a-4313-b130-12397d29d684" - }, - { - "input_type": "sequence_file", - "input_id": "4abcf42c-5291-47f3-b7a8-bb1071f56c54" - }, - { - "input_type": "sequence_file", - "input_id": "893dfdd4-43f4-4256-938b-d957928f0daa" - }, - { - "input_type": "sequence_file", - "input_id": "b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5" - }, - { - "input_type": "sequence_file", - "input_id": "fbec3e01-aaf4-41a3-b667-1f0268571d10" - }, - { - "input_type": "sequence_file", - "input_id": "4e066f08-f8b7-4550-adc2-287392fa7731" - }, - { - "input_type": "sequence_file", - "input_id": "e6565b7b-b195-4554-bf60-4b80f2c6dd13" - }, - { - "input_type": "sequence_file", - "input_id": "d1dd53ff-b603-4345-8203-45c384cbc813" - }, - { - "input_type": "sequence_file", - "input_id": "965057e9-48bc-4452-8819-2bc45723a0f7" - }, - { - "input_type": "sequence_file", - "input_id": "b7d7c14d-7bf3-4a8f-8f40-8d6e98505558" - }, - { - "input_type": "sequence_file", - "input_id": "84cc7ee0-4d8e-45a1-b563-d3e05b4ec573" - }, - { - "input_type": "sequence_file", - "input_id": "ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2" - }, - { - "input_type": "sequence_file", - "input_id": "130831cc-87b6-47fd-93a8-ae1890d365f2" - }, - { - "input_type": "sequence_file", - "input_id": "42bbb160-b881-4036-a712-1ab9b5d5ce87" - }, - { - "input_type": "sequence_file", - "input_id": "e9b50275-4ebe-43fe-b3de-1fe3ab930a23" - }, - { - "input_type": "sequence_file", - "input_id": "5621674e-0290-487d-8c0c-49b617d1628c" - }, - { - "input_type": "sequence_file", - "input_id": "868dfde7-2df8-487f-b754-68db8a96ad3a" - }, - { - "input_type": "sequence_file", - "input_id": "daa6813e-0321-413a-9107-8c814825bf93" - }, - { - "input_type": "sequence_file", - "input_id": "ffb64e6b-8924-4adf-ae8f-e55b4dd019dd" - }, - { - "input_type": "sequence_file", - "input_id": "e28d2a66-f506-4a4d-b2c6-823e4e8124d6" - }, - { - "input_type": "sequence_file", - "input_id": "ade0fe79-4629-4a49-8253-e26380046b32" - }, - { - "input_type": "sequence_file", - "input_id": "28023147-3cad-4c1d-b494-b693c4f0a6bd" - }, - { - "input_type": "sequence_file", - "input_id": "3c007e61-0e8a-4337-946c-1082441084c7" - }, - { - "input_type": "sequence_file", - "input_id": "577e4275-b373-40ac-ac3f-8487d6aafe16" - }, - { - "input_type": "sequence_file", - "input_id": "9e74066b-834e-416d-a1e7-bbec1e8f1713" - }, - { - "input_type": "sequence_file", - "input_id": "110bb0f5-9d1a-4573-b711-6bee156d0eb8" - }, - { - "input_type": "sequence_file", - "input_id": "012af05a-4771-45e5-bb92-9b63fcbde822" - }, - { - "input_type": "sequence_file", - "input_id": "565dbd59-2571-4af5-b160-c6d5cd3c684f" - }, - { - "input_type": "sequence_file", - "input_id": "d068c2b0-60c7-429a-938c-cb9c703c4c4d" - }, - { - "input_type": "sequence_file", - "input_id": "71add17d-3b59-4ca2-a032-80819608a34a" - }, - { - "input_type": "sequence_file", - "input_id": "c5e55f39-94a7-4ddd-8972-d217b63fb7cb" - }, - { - "input_type": "sequence_file", - "input_id": "fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce" - }, - { - "input_type": "sequence_file", - "input_id": "4df715c5-a783-41e6-a99e-eedf93a37fb3" - }, - { - "input_type": "sequence_file", - "input_id": "8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a" - }, - { - "input_type": "sequence_file", - "input_id": "b3739e56-e8cc-43b6-8b43-9116b5d75e69" - }, - { - "input_type": "sequence_file", - "input_id": "dd8ac880-75c4-4fe8-89e3-2cc41dad784a" - }, - { - "input_type": "sequence_file", - "input_id": "bb788d30-169b-4160-be07-98222d0a8327" - }, - { - "input_type": "sequence_file", - "input_id": "f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9" - }, - { - "input_type": "sequence_file", - "input_id": "877258d8-07eb-4cb6-a358-7c265c856ab6" - }, - { - "input_type": "sequence_file", - "input_id": "80e88ed6-4480-4888-b25d-d41e90822142" - }, - { - "input_type": "sequence_file", - "input_id": "f5fae200-b633-4ade-8871-94cf47475c67" - }, - { - "input_type": "sequence_file", - "input_id": "47950b5e-3d6f-4b75-9518-feb8b9e9a78b" - }, - { - "input_type": "sequence_file", - "input_id": "1c95a589-205c-4d7c-9c56-c3de4f7dbb66" - }, - { - "input_type": "sequence_file", - "input_id": "a40ed25e-fbf0-40a3-b468-e2bdb55d56d0" - }, - { - "input_type": "sequence_file", - "input_id": "f5274b10-d3ea-44c9-9f27-9af574dea10c" - }, - { - "input_type": "sequence_file", - "input_id": "fd7e7e85-7747-42c3-bc6b-0e4718202d63" - }, - { - "input_type": "sequence_file", - "input_id": "38601526-8448-4253-807b-70878c374901" - }, - { - "input_type": "sequence_file", - "input_id": "45d0b683-d7dc-4e1a-a235-dad58ef03d77" - }, - { - "input_type": "sequence_file", - "input_id": "dff50bd5-38c9-4c35-a5bc-dd51e69f249a" - }, - { - "input_type": "sequence_file", - "input_id": "0506c2a0-ef2b-4850-8567-20d08046bdaa" - }, - { - "input_type": "sequence_file", - "input_id": "dabb5028-64d2-4dbc-89a3-0cf6079ad0cb" - }, - { - "input_type": "sequence_file", - "input_id": "d1ad5518-3619-46dd-a342-f5a3b34f67b1" - }, - { - "input_type": "sequence_file", - "input_id": "bbda7bad-f60b-4091-83b0-b8d96c3f4214" - }, - { - "input_type": "sequence_file", - "input_id": "ce3c8eab-dcb7-403f-8837-6a7986acb6fc" - }, - { - "input_type": "sequence_file", - "input_id": "9e63db48-5b68-40e8-9d8f-aff48223b80e" - }, - { - "input_type": "sequence_file", - "input_id": "74086d10-f049-45c2-8654-de93aac63d94" - }, - { - "input_type": "sequence_file", - "input_id": "c699ee8b-738e-451a-b91d-0e1a6c8bb6f9" - }, - { - "input_type": "sequence_file", - "input_id": "f9db3e23-91ca-487f-a3ec-11ffa8b8f939" - }, - { - "input_type": "sequence_file", - "input_id": "fdd026f9-0ab6-49ef-88f9-4a5d61d12188" - }, - { - "input_type": "sequence_file", - "input_id": "c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2" - }, - { - "input_type": "sequence_file", - "input_id": "72b34b3d-f005-48af-81dc-3631873960d8" - }, - { - "input_type": "sequence_file", - "input_id": "7938acb1-91e3-4d8d-9d24-3b0a9fa28131" - }, - { - "input_type": "sequence_file", - "input_id": "9962de78-e4ef-40ba-b9fc-bd661895a99b" - }, - { - "input_type": "sequence_file", - "input_id": "3cf0f46b-1618-49e6-8cdc-d97a9d2403da" - }, - { - "input_type": "sequence_file", - "input_id": "2f033594-a8bd-49c4-b1b7-69ce88fe26d4" - }, - { - "input_type": "sequence_file", - "input_id": "97eaa3ce-131c-48b8-8082-86bbb6a486b5" - }, - { - "input_type": "sequence_file", - "input_id": "61716326-4fa0-41b9-8ca4-5b020500e8ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0e048f6-0ab6-45fc-a74f-16711af67a2e" - }, - { - "input_type": "sequence_file", - "input_id": "347f630f-a9a0-4430-958f-6c929335031a" - }, - { - "input_type": "sequence_file", - "input_id": "c13ed96e-3052-4a3f-9871-8196c10070a1" - }, - { - "input_type": "sequence_file", - "input_id": "1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1" - }, - { - "input_type": "sequence_file", - "input_id": "09b831a2-5b60-4753-864e-8af803024437" - }, - { - "input_type": "sequence_file", - "input_id": "290232bb-afb1-45b2-8e04-be180948541a" - }, - { - "input_type": "sequence_file", - "input_id": "c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7" - }, - { - "input_type": "sequence_file", - "input_id": "22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22" - }, - { - "input_type": "sequence_file", - "input_id": "da6e341f-43d3-4c22-ab8c-3c3e81986d9b" - }, - { - "input_type": "sequence_file", - "input_id": "6ea00f5c-7e63-493b-b6f9-68ba54dbbed3" - }, - { - "input_type": "sequence_file", - "input_id": "b9acc59a-ba7c-40ef-8611-27069458a508" - }, - { - "input_type": "sequence_file", - "input_id": "6f11ead1-11b1-4bda-8a20-588bb85ec126" - }, - { - "input_type": "sequence_file", - "input_id": "4ca067fb-8ba1-4959-9c1a-878d5705dd67" - }, - { - "input_type": "sequence_file", - "input_id": "f77883e0-6609-4bda-b446-331adbd9d357" - }, - { - "input_type": "sequence_file", - "input_id": "541fc29f-a7a3-456e-b28e-80f9036a4e33" - }, - { - "input_type": "sequence_file", - "input_id": "bd1e5909-c184-4ee0-906c-77e399270a71" - }, - { - "input_type": "sequence_file", - "input_id": "22833c60-dc70-4299-86ac-00747b91b3cb" - }, - { - "input_type": "sequence_file", - "input_id": "24bbde6e-cdf7-4f1c-a447-6501ce377aa4" - }, - { - "input_type": "sequence_file", - "input_id": "7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0" - }, - { - "input_type": "sequence_file", - "input_id": "64c93769-83eb-4718-90f0-36d83b1dae4d" - }, - { - "input_type": "sequence_file", - "input_id": "d3661383-3d73-41a0-8676-295926c07eeb" - }, - { - "input_type": "sequence_file", - "input_id": "9766ad67-37fa-402a-9649-181a1752e5b2" - }, - { - "input_type": "sequence_file", - "input_id": "559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0" - }, - { - "input_type": "sequence_file", - "input_id": "f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0dd6ad5-0582-47de-9cbf-7351ebd5e005" - }, - { - "input_type": "sequence_file", - "input_id": "a60154cf-58b6-461f-8908-b789cdd78ee8" - }, - { - "input_type": "sequence_file", - "input_id": "11d171f7-7775-40a4-90a4-df995775b1c4" - }, - { - "input_type": "sequence_file", - "input_id": "9fa70333-418c-476c-b93b-382096a9cdcb" - }, - { - "input_type": "sequence_file", - "input_id": "6593f54e-682c-4eb4-b2ed-e3c3278d4880" - }, - { - "input_type": "sequence_file", - "input_id": "c3182931-cc4c-4cb7-aab5-4b50093eebea" - }, - { - "input_type": "sequence_file", - "input_id": "3001b82f-bbea-4072-9760-a14a4f00b7d3" - }, - { - "input_type": "sequence_file", - "input_id": "2b62614e-dc4d-46ea-bf29-727d5c33effa" - }, - { - "input_type": "sequence_file", - "input_id": "726a68e9-4fa9-425a-90e7-d0fef30c9d4c" - }, - { - "input_type": "sequence_file", - "input_id": "09610000-dc5c-4665-a72e-b0dad51edf6d" - }, - { - "input_type": "sequence_file", - "input_id": "92951c73-28a3-4820-89d6-15a73fa192cf" - }, - { - "input_type": "sequence_file", - "input_id": "6d9709e5-ce90-46d3-bc95-d5105cafc67a" - }, - { - "input_type": "sequence_file", - "input_id": "523c6c55-66da-4edc-b66a-a33fe20d4102" - }, - { - "input_type": "sequence_file", - "input_id": "75e38979-23f0-4749-bfcc-d8e92db7f2b0" - }, - { - "input_type": "sequence_file", - "input_id": "3fcc4232-b40f-4cca-bd1d-d12a03e4fed0" - }, - { - "input_type": "sequence_file", - "input_id": "80347bc1-ffca-4f66-9ebd-812d22ab3d3f" - }, - { - "input_type": "sequence_file", - "input_id": "28e8f3eb-fedc-4942-8d6b-836fbb7e3441" - }, - { - "input_type": "sequence_file", - "input_id": "40f24220-4c6d-43c4-ab82-1db21d683b07" - }, - { - "input_type": "sequence_file", - "input_id": "b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477" - }, - { - "input_type": "sequence_file", - "input_id": "b7826640-f0cc-4891-860e-7815a8848006" - }, - { - "input_type": "sequence_file", - "input_id": "eccad683-4c2d-4d7f-a141-1effb429fef7" - }, - { - "input_type": "sequence_file", - "input_id": "1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288" - }, - { - "input_type": "sequence_file", - "input_id": "09c0456a-ec0b-47e3-870d-4b47221a45a6" - }, - { - "input_type": "sequence_file", - "input_id": "067d2b7b-127b-421f-91db-0acc05ad62ad" - }, - { - "input_type": "sequence_file", - "input_id": "9bad139c-7abf-4786-a6fc-5f9a5abcd850" - }, - { - "input_type": "sequence_file", - "input_id": "9b03ad8d-aabf-4736-820a-493db4877f84" - }, - { - "input_type": "sequence_file", - "input_id": "3dce5e53-a137-4086-96d3-26dd3d000cf6" - }, - { - "input_type": "sequence_file", - "input_id": "19eb5d2e-2224-4bb4-9f94-526a4c06f7a2" - }, - { - "input_type": "sequence_file", - "input_id": "6b38794f-2d55-4422-8094-fb4a5e100d32" - }, - { - "input_type": "sequence_file", - "input_id": "9a03ec79-7dc7-44fc-bb97-22ad58159436" - }, - { - "input_type": "sequence_file", - "input_id": "69ab8827-b0dc-48ae-84b5-1d27284a7db0" - }, - { - "input_type": "sequence_file", - "input_id": "a2b31671-1874-4c4a-a5c5-fd2787287893" - }, - { - "input_type": "sequence_file", - "input_id": "7186ea5d-49a0-4d72-a24e-2a30d48aa8fc" - }, - { - "input_type": "sequence_file", - "input_id": "e5d2cef3-3902-418c-b905-001052979a54" - }, - { - "input_type": "sequence_file", - "input_id": "02cfb8bb-4eb6-4343-9381-007968f1feee" - }, - { - "input_type": "sequence_file", - "input_id": "d8b9cedb-39d5-47b7-9c64-94e6393fdd0d" - }, - { - "input_type": "sequence_file", - "input_id": "9f577e94-f952-40af-a919-108f4661fdb9" - }, - { - "input_type": "sequence_file", - "input_id": "1d77e73b-9bd3-499f-a0d0-86d9f7306a7e" - }, - { - "input_type": "sequence_file", - "input_id": "c3093b68-54a2-4d31-aa15-50afb0414625" - }, - { - "input_type": "sequence_file", - "input_id": "d73e6663-d29d-47af-a4b4-5cadcd272293" - }, - { - "input_type": "sequence_file", - "input_id": "44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7" - }, - { - "input_type": "sequence_file", - "input_id": "e163d226-febb-4ecf-80db-8e60680be2ab" - }, - { - "input_type": "sequence_file", - "input_id": "a6a99736-43fb-4f67-ae26-0e24d5277c6b" - }, - { - "input_type": "sequence_file", - "input_id": "2ff6533e-8fe3-44c3-b378-99d4acdc0ab8" - }, - { - "input_type": "sequence_file", - "input_id": "3b7b0bcf-b316-4b0e-9d46-f8d44a399774" - }, - { - "input_type": "sequence_file", - "input_id": "d5aab272-e387-4bae-aeb0-987928e0c001" - }, - { - "input_type": "sequence_file", - "input_id": "d359ca8d-a374-4eeb-b214-69df7861d0e3" - }, - { - "input_type": "sequence_file", - "input_id": "c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd" - }, - { - "input_type": "sequence_file", - "input_id": "29ee234c-5d39-4eb9-8f73-22121936b3db" - }, - { - "input_type": "sequence_file", - "input_id": "344c1e18-810e-4800-bbed-0246cbbafa60" - }, - { - "input_type": "sequence_file", - "input_id": "91594c64-a197-4dc9-8605-d57aff0f2e87" - }, - { - "input_type": "sequence_file", - "input_id": "17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8" - }, - { - "input_type": "sequence_file", - "input_id": "fed6f8f3-2c61-4361-8160-2c5a13db83d4" - }, - { - "input_type": "sequence_file", - "input_id": "dae9b045-0d8d-4944-b8a2-d3b64ad7df34" - }, - { - "input_type": "sequence_file", - "input_id": "8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba" - }, - { - "input_type": "sequence_file", - "input_id": "b6dda1ac-9635-426a-869a-82b1420ef251" - }, - { - "input_type": "sequence_file", - "input_id": "47c12e95-67b2-42e1-866b-eb7c5f16a3c6" - }, - { - "input_type": "sequence_file", - "input_id": "edbe53c5-208b-436d-b283-1aa4ee94800c" - }, - { - "input_type": "sequence_file", - "input_id": "4198865c-d4ef-4a01-94c0-8a8397914dbc" - }, - { - "input_type": "sequence_file", - "input_id": "e1c334fa-b493-4892-a48b-3fe594e98b30" - }, - { - "input_type": "sequence_file", - "input_id": "c8b4bc26-7487-48d9-a2f2-6b3934da074d" - }, - { - "input_type": "sequence_file", - "input_id": "b0009333-24fc-4f3e-bf35-3cc8fa808efa" - }, - { - "input_type": "sequence_file", - "input_id": "a45af0aa-2591-4031-8ee8-a3c0a5a76260" - }, - { - "input_type": "sequence_file", - "input_id": "56d5b505-6591-47c4-b469-006e27e6e343" - }, - { - "input_type": "sequence_file", - "input_id": "ebbc0d72-0743-41b8-88f6-736c36bd6499" - }, - { - "input_type": "sequence_file", - "input_id": "7c912919-4b2c-4f4d-bdfe-1988d20aeeed" - }, - { - "input_type": "sequence_file", - "input_id": "b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc" - }, - { - "input_type": "sequence_file", - "input_id": "51aef727-d8de-497f-abbe-e650b1baeeab" - }, - { - "input_type": "sequence_file", - "input_id": "c04b8362-f2c9-4cad-b939-494e738efc19" - }, - { - "input_type": "sequence_file", - "input_id": "782fcb99-9b26-485f-9f7d-bda9cc37f0d2" - }, - { - "input_type": "sequence_file", - "input_id": "cabca52b-8f67-4107-8916-4fd8129ccd97" - }, - { - "input_type": "sequence_file", - "input_id": "79e53d37-c41c-4234-99db-f3333d89bb3a" - }, - { - "input_type": "sequence_file", - "input_id": "e0a914c3-3147-4f06-a8ae-0c16029497dc" - }, - { - "input_type": "sequence_file", - "input_id": "ebc98059-556f-4a51-b1d3-e5afb40fe80e" - }, - { - "input_type": "sequence_file", - "input_id": "a65b7c37-e038-41d5-8623-2046bdc278a4" - }, - { - "input_type": "sequence_file", - "input_id": "7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565" - }, - { - "input_type": "sequence_file", - "input_id": "8fc6dd31-c01c-4eec-ae6c-bedd13f2c209" - }, - { - "input_type": "sequence_file", - "input_id": "ba526c42-7c2f-43c1-a817-06ccdb4d67be" - }, - { - "input_type": "sequence_file", - "input_id": "1adbb95f-f5c3-41ce-8e16-7657d189de79" - }, - { - "input_type": "sequence_file", - "input_id": "887d7cc2-1c24-42a9-aab3-51474d95f927" - }, - { - "input_type": "sequence_file", - "input_id": "6e3aed1a-9909-462c-90e1-a1f766cd380e" - }, - { - "input_type": "sequence_file", - "input_id": "d85ccb81-e861-4bb1-95b6-40762555da1d" - }, - { - "input_type": "sequence_file", - "input_id": "5d00e91c-8691-41ff-836c-b827f23a1a7d" - }, - { - "input_type": "sequence_file", - "input_id": "50fd1926-5615-4e29-be75-e8528d1da8df" - }, - { - "input_type": "sequence_file", - "input_id": "73112827-65e2-4057-98e0-960b4c50afe6" - }, - { - "input_type": "sequence_file", - "input_id": "5f3e080f-d2f2-4350-96b0-fb8169bfcdd9" - }, - { - "input_type": "sequence_file", - "input_id": "e744fafb-3c4b-47c3-91db-db8bb8751279" - }, - { - "input_type": "sequence_file", - "input_id": "3f2ae9d6-763e-4408-bc80-6067ccc756e0" - }, - { - "input_type": "sequence_file", - "input_id": "64e1d438-17af-450b-b90c-04072117cbb1" - }, - { - "input_type": "sequence_file", - "input_id": "a10329ae-6c8a-4df9-bac1-70bdf2c07571" - }, - { - "input_type": "sequence_file", - "input_id": "fd0547d5-7f16-46e4-8948-45c82f923f69" - }, - { - "input_type": "sequence_file", - "input_id": "14795e28-bcee-4da3-83cf-bb2592b6c0d0" - }, - { - "input_type": "sequence_file", - "input_id": "5b977962-16d1-4631-9225-6be262e9ccae" - }, - { - "input_type": "sequence_file", - "input_id": "7eb17ee4-5704-4ce3-8b41-121ef051ee09" - }, - { - "input_type": "sequence_file", - "input_id": "a2385663-3f62-4512-b4d8-4bba405f50a3" - }, - { - "input_type": "sequence_file", - "input_id": "53c40015-48a9-4a3f-a513-d617d28a2352" - }, - { - "input_type": "sequence_file", - "input_id": "2862a721-a50b-4e47-86c5-35547bc44e53" - }, - { - "input_type": "sequence_file", - "input_id": "2a77f1db-b5d4-4657-a522-9786aaa7df80" - }, - { - "input_type": "sequence_file", - "input_id": "035a00e0-02ca-46e8-bb76-9b2449ee922f" - }, - { - "input_type": "sequence_file", - "input_id": "1a589473-0047-4bca-afce-57c8448f0dc6" - }, - { - "input_type": "sequence_file", - "input_id": "dcec351c-327a-46df-aa48-22d2647d5852" - }, - { - "input_type": "sequence_file", - "input_id": "3d8bc409-2043-486a-9a0b-12c71a741d83" - }, - { - "input_type": "sequence_file", - "input_id": "554c1554-ed18-4926-b8d7-5b6af2edab5b" - }, - { - "input_type": "sequence_file", - "input_id": "dcf52037-e357-4b26-9072-05e08bf47978" - }, - { - "input_type": "sequence_file", - "input_id": "ed884cca-c961-40d2-bc8b-b358ea4fb780" - }, - { - "input_type": "sequence_file", - "input_id": "3c9533cf-c7b5-4bbf-9461-87da5aa1b556" - }, - { - "input_type": "sequence_file", - "input_id": "12826f14-2ef8-4069-a797-42d2f4c0937b" - }, - { - "input_type": "sequence_file", - "input_id": "fe586661-4878-4882-a38f-0b6321df5c99" - }, - { - "input_type": "sequence_file", - "input_id": "1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec" - }, - { - "input_type": "sequence_file", - "input_id": "b1e83792-e01e-45e2-bcb8-27b81a0d9db9" - }, - { - "input_type": "sequence_file", - "input_id": "5be8906f-0831-422d-896e-b099d5a23e13" - }, - { - "input_type": "sequence_file", - "input_id": "511eaba4-a8f4-4230-b3ad-407332e22b48" - }, - { - "input_type": "sequence_file", - "input_id": "d5b993f2-d053-4420-994b-04d64bd9e356" - }, - { - "input_type": "sequence_file", - "input_id": "adca7438-701c-4afc-8580-01de6ee68974" - }, - { - "input_type": "sequence_file", - "input_id": "d1f65c9e-628b-4c5f-b76a-1154c1666eba" - }, - { - "input_type": "sequence_file", - "input_id": "21bd79df-cc64-4381-a5c7-0e81e001ea1a" - }, - { - "input_type": "sequence_file", - "input_id": "832ae460-0083-42b0-89a6-cc651e50fad4" - }, - { - "input_type": "sequence_file", - "input_id": "db7576d3-afc9-4860-9a46-bdca8f745fa3" - }, - { - "input_type": "sequence_file", - "input_id": "2b889dd9-0bd3-412a-967e-74fa9600bb4d" - }, - { - "input_type": "sequence_file", - "input_id": "baa2bfd9-d2fb-4b5a-a81d-af84bf24c730" - }, - { - "input_type": "sequence_file", - "input_id": "ac036daf-a7cc-4583-a219-814c77ed8001" - }, - { - "input_type": "sequence_file", - "input_id": "ddaab768-186d-456a-8e1d-8631dc97f6ad" - }, - { - "input_type": "sequence_file", - "input_id": "f78279da-e39f-463b-a1a9-02d4f99f85a5" - }, - { - "input_type": "sequence_file", - "input_id": "fff15476-7228-42be-be8a-bd6b02ee9f81" - }, - { - "input_type": "sequence_file", - "input_id": "a1ac3c01-10da-4b93-a61a-71a62e6ddb22" - }, - { - "input_type": "sequence_file", - "input_id": "319d5a99-4bde-4b20-956a-03a0175478ee" - }, - { - "input_type": "sequence_file", - "input_id": "d13d109b-0106-4102-9769-82bb2ed9cfb7" - }, - { - "input_type": "sequence_file", - "input_id": "7f46ab20-26fa-493e-98c4-24d558f4a0ce" - }, - { - "input_type": "sequence_file", - "input_id": "cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3" - }, - { - "input_type": "sequence_file", - "input_id": "8de95742-6e0f-45bd-b835-ce96ebc1991c" - }, - { - "input_type": "sequence_file", - "input_id": "4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed" - }, - { - "input_type": "sequence_file", - "input_id": "59a4c958-41b6-4680-8021-86ed6be8f55d" - }, - { - "input_type": "sequence_file", - "input_id": "f648cc69-80e7-46a1-8575-aae76b30367c" - }, - { - "input_type": "sequence_file", - "input_id": "1f134dea-8f9b-4e90-a1af-80508f43f73c" - }, - { - "input_type": "sequence_file", - "input_id": "9717e5ab-015a-4fee-9864-0332c60b1e9a" - }, - { - "input_type": "sequence_file", - "input_id": "2a7c1cb6-5d82-4b65-854d-6451c18c62fc" - }, - { - "input_type": "sequence_file", - "input_id": "296db6ee-3e65-48ee-b232-626653165222" - }, - { - "input_type": "sequence_file", - "input_id": "885f171d-901c-4cc4-9c76-c5d8cdf35991" - }, - { - "input_type": "sequence_file", - "input_id": "82899c21-c3c7-4288-bb8f-4c72880c10e4" - }, - { - "input_type": "sequence_file", - "input_id": "04066a52-7468-4783-b49c-46e28b076739" - }, - { - "input_type": "sequence_file", - "input_id": "b0025fa1-e6a6-441b-a018-2c73ceabe237" - }, - { - "input_type": "sequence_file", - "input_id": "7e1f0414-5235-4c79-b334-b278d3ebd8ae" - }, - { - "input_type": "sequence_file", - "input_id": "d691ee05-f531-4c18-b0e9-677dcaabf20f" - }, - { - "input_type": "sequence_file", - "input_id": "97cfc6c1-2a97-41ef-bb36-0ac99b8c8195" - }, - { - "input_type": "sequence_file", - "input_id": "c8995918-5491-41bc-ad76-2099c6314fb1" - }, - { - "input_type": "sequence_file", - "input_id": "884813d1-d03e-4210-9289-e5b0d415484b" - }, - { - "input_type": "sequence_file", - "input_id": "ee28d3e7-02df-46a0-a3ba-f55ad747b214" - }, - { - "input_type": "sequence_file", - "input_id": "972e55ea-7901-435b-9646-53bc8fde2e6f" - }, - { - "input_type": "sequence_file", - "input_id": "58b683d3-03cf-42e9-9cff-4143dff729ca" - }, - { - "input_type": "sequence_file", - "input_id": "d4bbfecd-d580-4eaa-8679-33173740b295" - }, - { - "input_type": "sequence_file", - "input_id": "5275a9fa-7a21-4ef2-9819-5358b2821300" - }, - { - "input_type": "sequence_file", - "input_id": "ce6d4c01-8676-4ae9-91b3-4148deb5b8d9" - }, - { - "input_type": "sequence_file", - "input_id": "f7a68998-a02b-4d1c-8768-0abb9e9ae35a" - }, - { - "input_type": "sequence_file", - "input_id": "0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc" - }, - { - "input_type": "sequence_file", - "input_id": "2aba7a6a-6d70-4310-9e64-071c6adbe16b" - }, - { - "input_type": "sequence_file", - "input_id": "54140f9b-2929-44b6-9fb0-de4c2b22090b" - }, - { - "input_type": "sequence_file", - "input_id": "0c577531-9218-444b-8094-85d8c6f5c73e" - }, - { - "input_type": "sequence_file", - "input_id": "28c505c1-e1c4-4e73-b935-9616224da552" - }, - { - "input_type": "sequence_file", - "input_id": "95e893a0-0885-4e1c-8e31-55863d5108b3" - }, - { - "input_type": "sequence_file", - "input_id": "e9def19b-3967-47e7-a2dd-1bc5f9297959" - }, - { - "input_type": "sequence_file", - "input_id": "96f4d488-e081-4b54-b12a-b2d9546bfc17" - }, - { - "input_type": "sequence_file", - "input_id": "f8988fe1-225c-40b4-933d-9dacb8b4728f" - }, - { - "input_type": "sequence_file", - "input_id": "18d81f7f-94c8-4877-939a-b74ba802835a" - }, - { - "input_type": "sequence_file", - "input_id": "0fa69e92-febb-4bab-857c-4b67a2b17ff6" - }, - { - "input_type": "sequence_file", - "input_id": "09a53782-90ea-4911-a793-706e74127adb" - }, - { - "input_type": "sequence_file", - "input_id": "c67f602f-1b0d-4b0e-bd72-af166f5443fa" - }, - { - "input_type": "sequence_file", - "input_id": "5b80431f-c95a-41ef-8aa7-98816f00e4d6" - }, - { - "input_type": "sequence_file", - "input_id": "70291c50-770c-4e51-8f1b-60be28ea419f" - }, - { - "input_type": "sequence_file", - "input_id": "38e1a4f4-f9ec-44cf-b6bb-1a9566456d38" - }, - { - "input_type": "sequence_file", - "input_id": "154dffeb-efd7-4081-a73c-bf1b73ca9a90" - }, - { - "input_type": "sequence_file", - "input_id": "c9517b55-fb72-463a-aab6-e4f64b95c2fc" - }, - { - "input_type": "sequence_file", - "input_id": "c3d3c4a3-527b-490f-8107-bc1b44566df0" - }, - { - "input_type": "sequence_file", - "input_id": "83865a27-24a8-4a70-a8bd-650affa7df5c" - }, - { - "input_type": "sequence_file", - "input_id": "6e650029-386f-4d8e-868e-8780782baa4b" - }, - { - "input_type": "sequence_file", - "input_id": "f859d1ff-df51-4548-b8a4-9eca26bf7454" - }, - { - "input_type": "sequence_file", - "input_id": "79426c6b-bd79-4343-b9fa-ee1e9cfc2aef" - }, - { - "input_type": "sequence_file", - "input_id": "0697146c-0105-4d6f-baff-d9147593eadb" - }, - { - "input_type": "sequence_file", - "input_id": "65fae226-b417-43cd-a5c8-cf2336b8cff5" - }, - { - "input_type": "sequence_file", - "input_id": "7240ec36-6433-4e5c-ba0f-d2770817f963" - }, - { - "input_type": "sequence_file", - "input_id": "d20547e4-3f00-42af-9a7f-9477ff43de0d" - }, - { - "input_type": "sequence_file", - "input_id": "0256729b-47ee-4ed3-adc7-2c0813bb99b9" - }, - { - "input_type": "sequence_file", - "input_id": "7eb2244c-6b4d-4d91-bfc6-44ec12d9319b" - }, - { - "input_type": "sequence_file", - "input_id": "b2a6b8c1-f0bc-4509-b255-8618d7cff205" - }, - { - "input_type": "sequence_file", - "input_id": "bf6cb18e-07de-404d-bebe-4a943dfb44f7" - }, - { - "input_type": "sequence_file", - "input_id": "6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0" - }, - { - "input_type": "sequence_file", - "input_id": "5a172f54-33a5-4e0d-bc0d-1760bad3beb6" - }, - { - "input_type": "sequence_file", - "input_id": "ee36a1ac-7426-4253-81b8-715f37a2ba69" - }, - { - "input_type": "sequence_file", - "input_id": "d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc" - }, - { - "input_type": "sequence_file", - "input_id": "5f5e80b2-0779-4df0-9a18-35bc0db72fdf" - }, - { - "input_type": "sequence_file", - "input_id": "e6b33ccb-99f6-4c02-aa69-e7b581832d04" - }, - { - "input_type": "sequence_file", - "input_id": "9d98496f-f6d8-4106-8b6a-c118ed6ff229" - }, - { - "input_type": "sequence_file", - "input_id": "22343575-1465-455f-8360-4e716aab17fb" - }, - { - "input_type": "sequence_file", - "input_id": "7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4" - }, - { - "input_type": "sequence_file", - "input_id": "9f709f2c-701a-43bc-8417-77fac81c3633" - }, - { - "input_type": "sequence_file", - "input_id": "a4152d0c-ca88-4cad-af08-40a2e799bec7" - }, - { - "input_type": "sequence_file", - "input_id": "2c4d6e65-8271-4542-97ee-7ba8a6b628d9" - }, - { - "input_type": "sequence_file", - "input_id": "668a508d-34fa-4468-86e8-523380a34da8" - }, - { - "input_type": "sequence_file", - "input_id": "b5c2e557-c303-42cc-8779-bf3b2256c422" - }, - { - "input_type": "sequence_file", - "input_id": "f9eef16f-b9cc-43bb-b9f3-bf0948766e7e" - }, - { - "input_type": "sequence_file", - "input_id": "061936ce-8fbb-4576-8c0c-ed871767917f" - }, - { - "input_type": "sequence_file", - "input_id": "762c2720-f65c-4804-844f-2302bc33ebbc" - }, - { - "input_type": "sequence_file", - "input_id": "fedc286a-9bbc-4db0-8bf5-b3f0b69fb559" - }, - { - "input_type": "sequence_file", - "input_id": "43f476f9-cbfc-431a-a774-5885904b434c" - }, - { - "input_type": "sequence_file", - "input_id": "65b78fda-7874-455f-9c9a-bf7aca375a0b" - }, - { - "input_type": "sequence_file", - "input_id": "82fc0df9-9828-433e-ac6d-73f4bbceefcf" - }, - { - "input_type": "sequence_file", - "input_id": "fb771836-467f-4897-a755-a17ab281a385" - }, - { - "input_type": "sequence_file", - "input_id": "5f6e0f4b-3541-4197-a67f-01dddc0cf105" - }, - { - "input_type": "sequence_file", - "input_id": "c7970499-e36d-49f3-b1f2-6886746333c9" - }, - { - "input_type": "sequence_file", - "input_id": "6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47" - }, - { - "input_type": "sequence_file", - "input_id": "e4d6ced4-50a3-402a-bbbc-ae329cd3689d" - }, - { - "input_type": "sequence_file", - "input_id": "792fd4bd-9b01-42bf-a883-c651789a198a" - }, - { - "input_type": "sequence_file", - "input_id": "10b3b42b-3612-48fb-849b-bfc036c248a6" - }, - { - "input_type": "sequence_file", - "input_id": "6fc7505d-33db-4d19-99a1-5756cd9a0a1c" - }, - { - "input_type": "sequence_file", - "input_id": "64309a91-ba2b-4b0e-baa9-7cfce3c5d445" - }, - { - "input_type": "sequence_file", - "input_id": "64eedb4a-2f73-4b60-a4b1-99b5ffd0486b" - }, - { - "input_type": "sequence_file", - "input_id": "79d181d1-5b70-4306-a229-74a2a3d5278e" - }, - { - "input_type": "sequence_file", - "input_id": "102b8410-1c0e-46f5-90fe-609ab117221c" - }, - { - "input_type": "sequence_file", - "input_id": "449ec63a-dca8-4a61-98b5-e6789d4946a1" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca" - }, - { - "output_type": "analysis_file", - "output_id": "31e6cb06-0062-4096-84f5-c2d1c2621a82" - }, - { - "output_type": "analysis_file", - "output_id": "d3b3abc2-0da6-4163-acb8-251fe079284c" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "07f1f962-dd38-4a0b-b0b5-f4efe30d21e2" - } - ] - }, - { - "link_type": "process_link", - "process_id": "d5d159b5-1ecd-4a4a-9333-e933e20e2811", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "2129a373-0919-4c91-bf59-adf4de6566f5" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "f78279da-e39f-463b-a1a9-02d4f99f85a5" - }, - { - "output_type": "sequence_file", - "output_id": "fff15476-7228-42be-be8a-bd6b02ee9f81" - }, - { - "output_type": "sequence_file", - "output_id": "a1ac3c01-10da-4b93-a61a-71a62e6ddb22" - }, - { - "output_type": "sequence_file", - "output_id": "319d5a99-4bde-4b20-956a-03a0175478ee" - }, - { - "output_type": "sequence_file", - "output_id": "d13d109b-0106-4102-9769-82bb2ed9cfb7" - }, - { - "output_type": "sequence_file", - "output_id": "7f46ab20-26fa-493e-98c4-24d558f4a0ce" - }, - { - "output_type": "sequence_file", - "output_id": "cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3" - }, - { - "output_type": "sequence_file", - "output_id": "8de95742-6e0f-45bd-b835-ce96ebc1991c" - }, - { - "output_type": "sequence_file", - "output_id": "4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed" - }, - { - "output_type": "sequence_file", - "output_id": "59a4c958-41b6-4680-8021-86ed6be8f55d" - }, - { - "output_type": "sequence_file", - "output_id": "f648cc69-80e7-46a1-8575-aae76b30367c" - }, - { - "output_type": "sequence_file", - "output_id": "1f134dea-8f9b-4e90-a1af-80508f43f73c" - }, - { - "output_type": "sequence_file", - "output_id": "9717e5ab-015a-4fee-9864-0332c60b1e9a" - }, - { - "output_type": "sequence_file", - "output_id": "2a7c1cb6-5d82-4b65-854d-6451c18c62fc" - }, - { - "output_type": "sequence_file", - "output_id": "296db6ee-3e65-48ee-b232-626653165222" - }, - { - "output_type": "sequence_file", - "output_id": "885f171d-901c-4cc4-9c76-c5d8cdf35991" - }, - { - "output_type": "sequence_file", - "output_id": "82899c21-c3c7-4288-bb8f-4c72880c10e4" - }, - { - "output_type": "sequence_file", - "output_id": "04066a52-7468-4783-b49c-46e28b076739" - }, - { - "output_type": "sequence_file", - "output_id": "b0025fa1-e6a6-441b-a018-2c73ceabe237" - }, - { - "output_type": "sequence_file", - "output_id": "7e1f0414-5235-4c79-b334-b278d3ebd8ae" - }, - { - "output_type": "sequence_file", - "output_id": "d691ee05-f531-4c18-b0e9-677dcaabf20f" - }, - { - "output_type": "sequence_file", - "output_id": "97cfc6c1-2a97-41ef-bb36-0ac99b8c8195" - }, - { - "output_type": "sequence_file", - "output_id": "c8995918-5491-41bc-ad76-2099c6314fb1" - }, - { - "output_type": "sequence_file", - "output_id": "884813d1-d03e-4210-9289-e5b0d415484b" - }, - { - "output_type": "sequence_file", - "output_id": "ee28d3e7-02df-46a0-a3ba-f55ad747b214" - }, - { - "output_type": "sequence_file", - "output_id": "972e55ea-7901-435b-9646-53bc8fde2e6f" - }, - { - "output_type": "sequence_file", - "output_id": "58b683d3-03cf-42e9-9cff-4143dff729ca" - }, - { - "output_type": "sequence_file", - "output_id": "d4bbfecd-d580-4eaa-8679-33173740b295" - }, - { - "output_type": "sequence_file", - "output_id": "5275a9fa-7a21-4ef2-9819-5358b2821300" - }, - { - "output_type": "sequence_file", - "output_id": "ce6d4c01-8676-4ae9-91b3-4148deb5b8d9" - }, - { - "output_type": "sequence_file", - "output_id": "f7a68998-a02b-4d1c-8768-0abb9e9ae35a" - }, - { - "output_type": "sequence_file", - "output_id": "0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc" - }, - { - "output_type": "sequence_file", - "output_id": "2aba7a6a-6d70-4310-9e64-071c6adbe16b" - }, - { - "output_type": "sequence_file", - "output_id": "54140f9b-2929-44b6-9fb0-de4c2b22090b" - }, - { - "output_type": "sequence_file", - "output_id": "0c577531-9218-444b-8094-85d8c6f5c73e" - }, - { - "output_type": "sequence_file", - "output_id": "28c505c1-e1c4-4e73-b935-9616224da552" - }, - { - "output_type": "sequence_file", - "output_id": "95e893a0-0885-4e1c-8e31-55863d5108b3" - }, - { - "output_type": "sequence_file", - "output_id": "e9def19b-3967-47e7-a2dd-1bc5f9297959" - }, - { - "output_type": "sequence_file", - "output_id": "96f4d488-e081-4b54-b12a-b2d9546bfc17" - }, - { - "output_type": "sequence_file", - "output_id": "f8988fe1-225c-40b4-933d-9dacb8b4728f" - }, - { - "output_type": "sequence_file", - "output_id": "18d81f7f-94c8-4877-939a-b74ba802835a" - }, - { - "output_type": "sequence_file", - "output_id": "0fa69e92-febb-4bab-857c-4b67a2b17ff6" - }, - { - "output_type": "sequence_file", - "output_id": "09a53782-90ea-4911-a793-706e74127adb" - }, - { - "output_type": "sequence_file", - "output_id": "c67f602f-1b0d-4b0e-bd72-af166f5443fa" - }, - { - "output_type": "sequence_file", - "output_id": "5b80431f-c95a-41ef-8aa7-98816f00e4d6" - }, - { - "output_type": "sequence_file", - "output_id": "70291c50-770c-4e51-8f1b-60be28ea419f" - }, - { - "output_type": "sequence_file", - "output_id": "38e1a4f4-f9ec-44cf-b6bb-1a9566456d38" - }, - { - "output_type": "sequence_file", - "output_id": "154dffeb-efd7-4081-a73c-bf1b73ca9a90" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "72975432-3c46-449a-a4d9-809712d10577" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "63db242f-a88b-4deb-b1e4-3677ade32d18" - } - ] - }, - { - "link_type": "process_link", - "process_id": "07fc08c2-8b57-45f6-afe8-eeed266c0809", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "8df6ce25-29e1-41a9-af33-d665ff8ca4e7" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "2129a373-0919-4c91-bf59-adf4de6566f5" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0e1884e4-310f-4afb-9721-e0721a290498" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "48f7f503-d213-4447-9ee4-3602da1066d7" - } - ] - }, - { - "link_type": "process_link", - "process_id": "a9088b7c-b538-42c1-906d-55327ee344a0", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "e57453f7-04f8-445a-9b64-24c5b82d95c4" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "8df6ce25-29e1-41a9-af33-d665ff8ca4e7" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "572a625b-119a-4099-b5eb-d2994f8846bf" - } - ] - }, - { - "link_type": "process_link", - "process_id": "97f00f1b-232c-4425-b51a-7d91b88d3862", - "process_type": "process", - "inputs": [ - { - "input_type": "sequence_file", - "input_id": "3cad3e7e-9e9b-4e4e-a535-509853f9306b" - }, - { - "input_type": "sequence_file", - "input_id": "8840da5d-cbaa-4617-ad50-d2a012563fe6" - }, - { - "input_type": "sequence_file", - "input_id": "e17968e7-5ef9-45fb-b45a-d73d18f41ae6" - }, - { - "input_type": "sequence_file", - "input_id": "fea581ad-b8a8-47d1-a4bb-e18f0753bf13" - }, - { - "input_type": "sequence_file", - "input_id": "7b1418ba-7cd7-4844-924c-ca92b0d3147c" - }, - { - "input_type": "sequence_file", - "input_id": "e0a99b8f-15e2-4a9e-b298-1066a9bcbda7" - }, - { - "input_type": "sequence_file", - "input_id": "7d5ca602-df90-402e-9c12-933e1cdde407" - }, - { - "input_type": "sequence_file", - "input_id": "b3de09c9-37f3-4d58-8930-bbd5d4e136c5" - }, - { - "input_type": "sequence_file", - "input_id": "81898837-23e3-40d9-96e2-04a559d95b2e" - }, - { - "input_type": "sequence_file", - "input_id": "2f74ffc0-b776-4b4a-90c6-327edb41c7ac" - }, - { - "input_type": "sequence_file", - "input_id": "a783909f-5237-4218-8b9d-80653729f3b1" - }, - { - "input_type": "sequence_file", - "input_id": "2d0246fd-696f-4a54-abe6-d759cc6d27b3" - }, - { - "input_type": "sequence_file", - "input_id": "ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02" - }, - { - "input_type": "sequence_file", - "input_id": "c0fc6427-6fa7-4d8d-9d6e-8844a26ff318" - }, - { - "input_type": "sequence_file", - "input_id": "bff57385-2f4f-4695-a153-412c9aabab59" - }, - { - "input_type": "sequence_file", - "input_id": "e61740c1-0e70-4d25-a912-32617d2e71fa" - }, - { - "input_type": "sequence_file", - "input_id": "4d0f1255-5e1b-4852-8030-a7a8f7580f1a" - }, - { - "input_type": "sequence_file", - "input_id": "ab8e7f29-eae9-488a-9337-7a926c8857ac" - }, - { - "input_type": "sequence_file", - "input_id": "bef069b8-2720-4327-8298-9ab2badd4a53" - }, - { - "input_type": "sequence_file", - "input_id": "f5ada827-68c0-4af6-88c6-7e9256b663ff" - }, - { - "input_type": "sequence_file", - "input_id": "db2ecbf9-0e24-4106-b594-73368de0e98b" - }, - { - "input_type": "sequence_file", - "input_id": "c9a2a10f-6638-4463-8c8f-4260c72dcb92" - }, - { - "input_type": "sequence_file", - "input_id": "7060b0f4-a756-41f8-bc65-16c7effef1be" - }, - { - "input_type": "sequence_file", - "input_id": "8898a9f3-4928-45b1-b236-71ce7cb48b11" - }, - { - "input_type": "sequence_file", - "input_id": "30f53c61-a8e3-42cf-a6d2-1b172659c189" - }, - { - "input_type": "sequence_file", - "input_id": "5e25031d-3456-4209-9818-c8882b2623e1" - }, - { - "input_type": "sequence_file", - "input_id": "d0cf423a-1ecf-499b-9e61-95662e23ba40" - }, - { - "input_type": "sequence_file", - "input_id": "99e73efd-4a04-496f-bb32-8f73edb0ae1a" - }, - { - "input_type": "sequence_file", - "input_id": "b35e3b14-91dc-4bf0-a47d-4ed8428efbe1" - }, - { - "input_type": "sequence_file", - "input_id": "8e892b4a-c112-47f2-a058-b87efed5a262" - }, - { - "input_type": "sequence_file", - "input_id": "621547f4-60bc-41b6-bc21-5c970700a1e4" - }, - { - "input_type": "sequence_file", - "input_id": "e06ec666-d2ed-4801-8bc3-03ddcd151c49" - }, - { - "input_type": "sequence_file", - "input_id": "782f79d7-bd59-4cc5-8492-1e680fbb31c1" - }, - { - "input_type": "sequence_file", - "input_id": "c458a416-5736-4b7b-817e-1d87b341f825" - }, - { - "input_type": "sequence_file", - "input_id": "a778ad17-3705-40bc-b425-245d17958638" - }, - { - "input_type": "sequence_file", - "input_id": "5f563e91-d384-4e1e-ac84-20f06332fe8c" - }, - { - "input_type": "sequence_file", - "input_id": "23203fb2-d46d-4d14-95e5-4ec38191e420" - }, - { - "input_type": "sequence_file", - "input_id": "d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb" - }, - { - "input_type": "sequence_file", - "input_id": "fea7ae13-ad77-4b59-9922-14f748263eac" - }, - { - "input_type": "sequence_file", - "input_id": "acfa3362-62b0-429a-b617-3adb722c200f" - }, - { - "input_type": "sequence_file", - "input_id": "6ea29b25-492a-4c00-819d-ec8a0909fa28" - }, - { - "input_type": "sequence_file", - "input_id": "d1f9e5d6-8df2-48d1-b558-9609710ef53f" - }, - { - "input_type": "sequence_file", - "input_id": "937bbdf2-09e3-4bf7-8f45-e46db2188c46" - }, - { - "input_type": "sequence_file", - "input_id": "1badbbc9-6b43-41f6-acad-36f09cff3d21" - }, - { - "input_type": "sequence_file", - "input_id": "f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16" - }, - { - "input_type": "sequence_file", - "input_id": "d04a8b95-a45f-4fc1-a42a-a9afe3188465" - }, - { - "input_type": "sequence_file", - "input_id": "e381aa0d-c2ce-4fe4-9acd-030d9023fcb6" - }, - { - "input_type": "sequence_file", - "input_id": "ac5fdc06-b856-4de0-9423-bdf05d4df650" - }, - { - "input_type": "sequence_file", - "input_id": "87e9a01b-594b-4dc4-b2a7-a14407399b50" - }, - { - "input_type": "sequence_file", - "input_id": "c4c3353d-f33f-4a5b-a2d8-7878daf2d01b" - }, - { - "input_type": "sequence_file", - "input_id": "fd3a8466-6eaf-4251-be4a-f46f85403719" - }, - { - "input_type": "sequence_file", - "input_id": "7abc79b5-e32a-4313-b130-12397d29d684" - }, - { - "input_type": "sequence_file", - "input_id": "4abcf42c-5291-47f3-b7a8-bb1071f56c54" - }, - { - "input_type": "sequence_file", - "input_id": "893dfdd4-43f4-4256-938b-d957928f0daa" - }, - { - "input_type": "sequence_file", - "input_id": "b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5" - }, - { - "input_type": "sequence_file", - "input_id": "fbec3e01-aaf4-41a3-b667-1f0268571d10" - }, - { - "input_type": "sequence_file", - "input_id": "4e066f08-f8b7-4550-adc2-287392fa7731" - }, - { - "input_type": "sequence_file", - "input_id": "e6565b7b-b195-4554-bf60-4b80f2c6dd13" - }, - { - "input_type": "sequence_file", - "input_id": "d1dd53ff-b603-4345-8203-45c384cbc813" - }, - { - "input_type": "sequence_file", - "input_id": "965057e9-48bc-4452-8819-2bc45723a0f7" - }, - { - "input_type": "sequence_file", - "input_id": "b7d7c14d-7bf3-4a8f-8f40-8d6e98505558" - }, - { - "input_type": "sequence_file", - "input_id": "84cc7ee0-4d8e-45a1-b563-d3e05b4ec573" - }, - { - "input_type": "sequence_file", - "input_id": "ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2" - }, - { - "input_type": "sequence_file", - "input_id": "130831cc-87b6-47fd-93a8-ae1890d365f2" - }, - { - "input_type": "sequence_file", - "input_id": "42bbb160-b881-4036-a712-1ab9b5d5ce87" - }, - { - "input_type": "sequence_file", - "input_id": "e9b50275-4ebe-43fe-b3de-1fe3ab930a23" - }, - { - "input_type": "sequence_file", - "input_id": "5621674e-0290-487d-8c0c-49b617d1628c" - }, - { - "input_type": "sequence_file", - "input_id": "868dfde7-2df8-487f-b754-68db8a96ad3a" - }, - { - "input_type": "sequence_file", - "input_id": "daa6813e-0321-413a-9107-8c814825bf93" - }, - { - "input_type": "sequence_file", - "input_id": "ffb64e6b-8924-4adf-ae8f-e55b4dd019dd" - }, - { - "input_type": "sequence_file", - "input_id": "e28d2a66-f506-4a4d-b2c6-823e4e8124d6" - }, - { - "input_type": "sequence_file", - "input_id": "ade0fe79-4629-4a49-8253-e26380046b32" - }, - { - "input_type": "sequence_file", - "input_id": "28023147-3cad-4c1d-b494-b693c4f0a6bd" - }, - { - "input_type": "sequence_file", - "input_id": "3c007e61-0e8a-4337-946c-1082441084c7" - }, - { - "input_type": "sequence_file", - "input_id": "577e4275-b373-40ac-ac3f-8487d6aafe16" - }, - { - "input_type": "sequence_file", - "input_id": "9e74066b-834e-416d-a1e7-bbec1e8f1713" - }, - { - "input_type": "sequence_file", - "input_id": "110bb0f5-9d1a-4573-b711-6bee156d0eb8" - }, - { - "input_type": "sequence_file", - "input_id": "012af05a-4771-45e5-bb92-9b63fcbde822" - }, - { - "input_type": "sequence_file", - "input_id": "565dbd59-2571-4af5-b160-c6d5cd3c684f" - }, - { - "input_type": "sequence_file", - "input_id": "d068c2b0-60c7-429a-938c-cb9c703c4c4d" - }, - { - "input_type": "sequence_file", - "input_id": "71add17d-3b59-4ca2-a032-80819608a34a" - }, - { - "input_type": "sequence_file", - "input_id": "c5e55f39-94a7-4ddd-8972-d217b63fb7cb" - }, - { - "input_type": "sequence_file", - "input_id": "fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce" - }, - { - "input_type": "sequence_file", - "input_id": "4df715c5-a783-41e6-a99e-eedf93a37fb3" - }, - { - "input_type": "sequence_file", - "input_id": "8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a" - }, - { - "input_type": "sequence_file", - "input_id": "b3739e56-e8cc-43b6-8b43-9116b5d75e69" - }, - { - "input_type": "sequence_file", - "input_id": "dd8ac880-75c4-4fe8-89e3-2cc41dad784a" - }, - { - "input_type": "sequence_file", - "input_id": "bb788d30-169b-4160-be07-98222d0a8327" - }, - { - "input_type": "sequence_file", - "input_id": "f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9" - }, - { - "input_type": "sequence_file", - "input_id": "877258d8-07eb-4cb6-a358-7c265c856ab6" - }, - { - "input_type": "sequence_file", - "input_id": "80e88ed6-4480-4888-b25d-d41e90822142" - }, - { - "input_type": "sequence_file", - "input_id": "f5fae200-b633-4ade-8871-94cf47475c67" - }, - { - "input_type": "sequence_file", - "input_id": "47950b5e-3d6f-4b75-9518-feb8b9e9a78b" - }, - { - "input_type": "sequence_file", - "input_id": "1c95a589-205c-4d7c-9c56-c3de4f7dbb66" - }, - { - "input_type": "sequence_file", - "input_id": "a40ed25e-fbf0-40a3-b468-e2bdb55d56d0" - }, - { - "input_type": "sequence_file", - "input_id": "f5274b10-d3ea-44c9-9f27-9af574dea10c" - }, - { - "input_type": "sequence_file", - "input_id": "fd7e7e85-7747-42c3-bc6b-0e4718202d63" - }, - { - "input_type": "sequence_file", - "input_id": "38601526-8448-4253-807b-70878c374901" - }, - { - "input_type": "sequence_file", - "input_id": "45d0b683-d7dc-4e1a-a235-dad58ef03d77" - }, - { - "input_type": "sequence_file", - "input_id": "dff50bd5-38c9-4c35-a5bc-dd51e69f249a" - }, - { - "input_type": "sequence_file", - "input_id": "0506c2a0-ef2b-4850-8567-20d08046bdaa" - }, - { - "input_type": "sequence_file", - "input_id": "dabb5028-64d2-4dbc-89a3-0cf6079ad0cb" - }, - { - "input_type": "sequence_file", - "input_id": "d1ad5518-3619-46dd-a342-f5a3b34f67b1" - }, - { - "input_type": "sequence_file", - "input_id": "bbda7bad-f60b-4091-83b0-b8d96c3f4214" - }, - { - "input_type": "sequence_file", - "input_id": "ce3c8eab-dcb7-403f-8837-6a7986acb6fc" - }, - { - "input_type": "sequence_file", - "input_id": "9e63db48-5b68-40e8-9d8f-aff48223b80e" - }, - { - "input_type": "sequence_file", - "input_id": "74086d10-f049-45c2-8654-de93aac63d94" - }, - { - "input_type": "sequence_file", - "input_id": "c699ee8b-738e-451a-b91d-0e1a6c8bb6f9" - }, - { - "input_type": "sequence_file", - "input_id": "f9db3e23-91ca-487f-a3ec-11ffa8b8f939" - }, - { - "input_type": "sequence_file", - "input_id": "fdd026f9-0ab6-49ef-88f9-4a5d61d12188" - }, - { - "input_type": "sequence_file", - "input_id": "c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2" - }, - { - "input_type": "sequence_file", - "input_id": "72b34b3d-f005-48af-81dc-3631873960d8" - }, - { - "input_type": "sequence_file", - "input_id": "7938acb1-91e3-4d8d-9d24-3b0a9fa28131" - }, - { - "input_type": "sequence_file", - "input_id": "9962de78-e4ef-40ba-b9fc-bd661895a99b" - }, - { - "input_type": "sequence_file", - "input_id": "3cf0f46b-1618-49e6-8cdc-d97a9d2403da" - }, - { - "input_type": "sequence_file", - "input_id": "2f033594-a8bd-49c4-b1b7-69ce88fe26d4" - }, - { - "input_type": "sequence_file", - "input_id": "97eaa3ce-131c-48b8-8082-86bbb6a486b5" - }, - { - "input_type": "sequence_file", - "input_id": "61716326-4fa0-41b9-8ca4-5b020500e8ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0e048f6-0ab6-45fc-a74f-16711af67a2e" - }, - { - "input_type": "sequence_file", - "input_id": "347f630f-a9a0-4430-958f-6c929335031a" - }, - { - "input_type": "sequence_file", - "input_id": "c13ed96e-3052-4a3f-9871-8196c10070a1" - }, - { - "input_type": "sequence_file", - "input_id": "1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1" - }, - { - "input_type": "sequence_file", - "input_id": "09b831a2-5b60-4753-864e-8af803024437" - }, - { - "input_type": "sequence_file", - "input_id": "290232bb-afb1-45b2-8e04-be180948541a" - }, - { - "input_type": "sequence_file", - "input_id": "c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7" - }, - { - "input_type": "sequence_file", - "input_id": "22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22" - }, - { - "input_type": "sequence_file", - "input_id": "da6e341f-43d3-4c22-ab8c-3c3e81986d9b" - }, - { - "input_type": "sequence_file", - "input_id": "6ea00f5c-7e63-493b-b6f9-68ba54dbbed3" - }, - { - "input_type": "sequence_file", - "input_id": "b9acc59a-ba7c-40ef-8611-27069458a508" - }, - { - "input_type": "sequence_file", - "input_id": "6f11ead1-11b1-4bda-8a20-588bb85ec126" - }, - { - "input_type": "sequence_file", - "input_id": "4ca067fb-8ba1-4959-9c1a-878d5705dd67" - }, - { - "input_type": "sequence_file", - "input_id": "f77883e0-6609-4bda-b446-331adbd9d357" - }, - { - "input_type": "sequence_file", - "input_id": "541fc29f-a7a3-456e-b28e-80f9036a4e33" - }, - { - "input_type": "sequence_file", - "input_id": "bd1e5909-c184-4ee0-906c-77e399270a71" - }, - { - "input_type": "sequence_file", - "input_id": "22833c60-dc70-4299-86ac-00747b91b3cb" - }, - { - "input_type": "sequence_file", - "input_id": "24bbde6e-cdf7-4f1c-a447-6501ce377aa4" - }, - { - "input_type": "sequence_file", - "input_id": "7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0" - }, - { - "input_type": "sequence_file", - "input_id": "64c93769-83eb-4718-90f0-36d83b1dae4d" - }, - { - "input_type": "sequence_file", - "input_id": "d3661383-3d73-41a0-8676-295926c07eeb" - }, - { - "input_type": "sequence_file", - "input_id": "9766ad67-37fa-402a-9649-181a1752e5b2" - }, - { - "input_type": "sequence_file", - "input_id": "559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0" - }, - { - "input_type": "sequence_file", - "input_id": "f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0dd6ad5-0582-47de-9cbf-7351ebd5e005" - }, - { - "input_type": "sequence_file", - "input_id": "a60154cf-58b6-461f-8908-b789cdd78ee8" - }, - { - "input_type": "sequence_file", - "input_id": "11d171f7-7775-40a4-90a4-df995775b1c4" - }, - { - "input_type": "sequence_file", - "input_id": "9fa70333-418c-476c-b93b-382096a9cdcb" - }, - { - "input_type": "sequence_file", - "input_id": "6593f54e-682c-4eb4-b2ed-e3c3278d4880" - }, - { - "input_type": "sequence_file", - "input_id": "c3182931-cc4c-4cb7-aab5-4b50093eebea" - }, - { - "input_type": "sequence_file", - "input_id": "3001b82f-bbea-4072-9760-a14a4f00b7d3" - }, - { - "input_type": "sequence_file", - "input_id": "2b62614e-dc4d-46ea-bf29-727d5c33effa" - }, - { - "input_type": "sequence_file", - "input_id": "726a68e9-4fa9-425a-90e7-d0fef30c9d4c" - }, - { - "input_type": "sequence_file", - "input_id": "09610000-dc5c-4665-a72e-b0dad51edf6d" - }, - { - "input_type": "sequence_file", - "input_id": "92951c73-28a3-4820-89d6-15a73fa192cf" - }, - { - "input_type": "sequence_file", - "input_id": "6d9709e5-ce90-46d3-bc95-d5105cafc67a" - }, - { - "input_type": "sequence_file", - "input_id": "523c6c55-66da-4edc-b66a-a33fe20d4102" - }, - { - "input_type": "sequence_file", - "input_id": "75e38979-23f0-4749-bfcc-d8e92db7f2b0" - }, - { - "input_type": "sequence_file", - "input_id": "3fcc4232-b40f-4cca-bd1d-d12a03e4fed0" - }, - { - "input_type": "sequence_file", - "input_id": "80347bc1-ffca-4f66-9ebd-812d22ab3d3f" - }, - { - "input_type": "sequence_file", - "input_id": "28e8f3eb-fedc-4942-8d6b-836fbb7e3441" - }, - { - "input_type": "sequence_file", - "input_id": "40f24220-4c6d-43c4-ab82-1db21d683b07" - }, - { - "input_type": "sequence_file", - "input_id": "b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477" - }, - { - "input_type": "sequence_file", - "input_id": "b7826640-f0cc-4891-860e-7815a8848006" - }, - { - "input_type": "sequence_file", - "input_id": "eccad683-4c2d-4d7f-a141-1effb429fef7" - }, - { - "input_type": "sequence_file", - "input_id": "1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288" - }, - { - "input_type": "sequence_file", - "input_id": "09c0456a-ec0b-47e3-870d-4b47221a45a6" - }, - { - "input_type": "sequence_file", - "input_id": "067d2b7b-127b-421f-91db-0acc05ad62ad" - }, - { - "input_type": "sequence_file", - "input_id": "9bad139c-7abf-4786-a6fc-5f9a5abcd850" - }, - { - "input_type": "sequence_file", - "input_id": "9b03ad8d-aabf-4736-820a-493db4877f84" - }, - { - "input_type": "sequence_file", - "input_id": "3dce5e53-a137-4086-96d3-26dd3d000cf6" - }, - { - "input_type": "sequence_file", - "input_id": "19eb5d2e-2224-4bb4-9f94-526a4c06f7a2" - }, - { - "input_type": "sequence_file", - "input_id": "6b38794f-2d55-4422-8094-fb4a5e100d32" - }, - { - "input_type": "sequence_file", - "input_id": "9a03ec79-7dc7-44fc-bb97-22ad58159436" - }, - { - "input_type": "sequence_file", - "input_id": "69ab8827-b0dc-48ae-84b5-1d27284a7db0" - }, - { - "input_type": "sequence_file", - "input_id": "a2b31671-1874-4c4a-a5c5-fd2787287893" - }, - { - "input_type": "sequence_file", - "input_id": "7186ea5d-49a0-4d72-a24e-2a30d48aa8fc" - }, - { - "input_type": "sequence_file", - "input_id": "e5d2cef3-3902-418c-b905-001052979a54" - }, - { - "input_type": "sequence_file", - "input_id": "02cfb8bb-4eb6-4343-9381-007968f1feee" - }, - { - "input_type": "sequence_file", - "input_id": "d8b9cedb-39d5-47b7-9c64-94e6393fdd0d" - }, - { - "input_type": "sequence_file", - "input_id": "9f577e94-f952-40af-a919-108f4661fdb9" - }, - { - "input_type": "sequence_file", - "input_id": "1d77e73b-9bd3-499f-a0d0-86d9f7306a7e" - }, - { - "input_type": "sequence_file", - "input_id": "c3093b68-54a2-4d31-aa15-50afb0414625" - }, - { - "input_type": "sequence_file", - "input_id": "d73e6663-d29d-47af-a4b4-5cadcd272293" - }, - { - "input_type": "sequence_file", - "input_id": "44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7" - }, - { - "input_type": "sequence_file", - "input_id": "e163d226-febb-4ecf-80db-8e60680be2ab" - }, - { - "input_type": "sequence_file", - "input_id": "a6a99736-43fb-4f67-ae26-0e24d5277c6b" - }, - { - "input_type": "sequence_file", - "input_id": "2ff6533e-8fe3-44c3-b378-99d4acdc0ab8" - }, - { - "input_type": "sequence_file", - "input_id": "3b7b0bcf-b316-4b0e-9d46-f8d44a399774" - }, - { - "input_type": "sequence_file", - "input_id": "d5aab272-e387-4bae-aeb0-987928e0c001" - }, - { - "input_type": "sequence_file", - "input_id": "d359ca8d-a374-4eeb-b214-69df7861d0e3" - }, - { - "input_type": "sequence_file", - "input_id": "c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd" - }, - { - "input_type": "sequence_file", - "input_id": "29ee234c-5d39-4eb9-8f73-22121936b3db" - }, - { - "input_type": "sequence_file", - "input_id": "344c1e18-810e-4800-bbed-0246cbbafa60" - }, - { - "input_type": "sequence_file", - "input_id": "91594c64-a197-4dc9-8605-d57aff0f2e87" - }, - { - "input_type": "sequence_file", - "input_id": "17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8" - }, - { - "input_type": "sequence_file", - "input_id": "fed6f8f3-2c61-4361-8160-2c5a13db83d4" - }, - { - "input_type": "sequence_file", - "input_id": "dae9b045-0d8d-4944-b8a2-d3b64ad7df34" - }, - { - "input_type": "sequence_file", - "input_id": "8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba" - }, - { - "input_type": "sequence_file", - "input_id": "b6dda1ac-9635-426a-869a-82b1420ef251" - }, - { - "input_type": "sequence_file", - "input_id": "47c12e95-67b2-42e1-866b-eb7c5f16a3c6" - }, - { - "input_type": "sequence_file", - "input_id": "edbe53c5-208b-436d-b283-1aa4ee94800c" - }, - { - "input_type": "sequence_file", - "input_id": "4198865c-d4ef-4a01-94c0-8a8397914dbc" - }, - { - "input_type": "sequence_file", - "input_id": "e1c334fa-b493-4892-a48b-3fe594e98b30" - }, - { - "input_type": "sequence_file", - "input_id": "c8b4bc26-7487-48d9-a2f2-6b3934da074d" - }, - { - "input_type": "sequence_file", - "input_id": "b0009333-24fc-4f3e-bf35-3cc8fa808efa" - }, - { - "input_type": "sequence_file", - "input_id": "a45af0aa-2591-4031-8ee8-a3c0a5a76260" - }, - { - "input_type": "sequence_file", - "input_id": "56d5b505-6591-47c4-b469-006e27e6e343" - }, - { - "input_type": "sequence_file", - "input_id": "ebbc0d72-0743-41b8-88f6-736c36bd6499" - }, - { - "input_type": "sequence_file", - "input_id": "7c912919-4b2c-4f4d-bdfe-1988d20aeeed" - }, - { - "input_type": "sequence_file", - "input_id": "b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc" - }, - { - "input_type": "sequence_file", - "input_id": "51aef727-d8de-497f-abbe-e650b1baeeab" - }, - { - "input_type": "sequence_file", - "input_id": "c04b8362-f2c9-4cad-b939-494e738efc19" - }, - { - "input_type": "sequence_file", - "input_id": "782fcb99-9b26-485f-9f7d-bda9cc37f0d2" - }, - { - "input_type": "sequence_file", - "input_id": "cabca52b-8f67-4107-8916-4fd8129ccd97" - }, - { - "input_type": "sequence_file", - "input_id": "79e53d37-c41c-4234-99db-f3333d89bb3a" - }, - { - "input_type": "sequence_file", - "input_id": "e0a914c3-3147-4f06-a8ae-0c16029497dc" - }, - { - "input_type": "sequence_file", - "input_id": "ebc98059-556f-4a51-b1d3-e5afb40fe80e" - }, - { - "input_type": "sequence_file", - "input_id": "a65b7c37-e038-41d5-8623-2046bdc278a4" - }, - { - "input_type": "sequence_file", - "input_id": "7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565" - }, - { - "input_type": "sequence_file", - "input_id": "8fc6dd31-c01c-4eec-ae6c-bedd13f2c209" - }, - { - "input_type": "sequence_file", - "input_id": "ba526c42-7c2f-43c1-a817-06ccdb4d67be" - }, - { - "input_type": "sequence_file", - "input_id": "1adbb95f-f5c3-41ce-8e16-7657d189de79" - }, - { - "input_type": "sequence_file", - "input_id": "887d7cc2-1c24-42a9-aab3-51474d95f927" - }, - { - "input_type": "sequence_file", - "input_id": "6e3aed1a-9909-462c-90e1-a1f766cd380e" - }, - { - "input_type": "sequence_file", - "input_id": "d85ccb81-e861-4bb1-95b6-40762555da1d" - }, - { - "input_type": "sequence_file", - "input_id": "5d00e91c-8691-41ff-836c-b827f23a1a7d" - }, - { - "input_type": "sequence_file", - "input_id": "50fd1926-5615-4e29-be75-e8528d1da8df" - }, - { - "input_type": "sequence_file", - "input_id": "73112827-65e2-4057-98e0-960b4c50afe6" - }, - { - "input_type": "sequence_file", - "input_id": "5f3e080f-d2f2-4350-96b0-fb8169bfcdd9" - }, - { - "input_type": "sequence_file", - "input_id": "e744fafb-3c4b-47c3-91db-db8bb8751279" - }, - { - "input_type": "sequence_file", - "input_id": "3f2ae9d6-763e-4408-bc80-6067ccc756e0" - }, - { - "input_type": "sequence_file", - "input_id": "64e1d438-17af-450b-b90c-04072117cbb1" - }, - { - "input_type": "sequence_file", - "input_id": "a10329ae-6c8a-4df9-bac1-70bdf2c07571" - }, - { - "input_type": "sequence_file", - "input_id": "fd0547d5-7f16-46e4-8948-45c82f923f69" - }, - { - "input_type": "sequence_file", - "input_id": "14795e28-bcee-4da3-83cf-bb2592b6c0d0" - }, - { - "input_type": "sequence_file", - "input_id": "5b977962-16d1-4631-9225-6be262e9ccae" - }, - { - "input_type": "sequence_file", - "input_id": "7eb17ee4-5704-4ce3-8b41-121ef051ee09" - }, - { - "input_type": "sequence_file", - "input_id": "a2385663-3f62-4512-b4d8-4bba405f50a3" - }, - { - "input_type": "sequence_file", - "input_id": "53c40015-48a9-4a3f-a513-d617d28a2352" - }, - { - "input_type": "sequence_file", - "input_id": "2862a721-a50b-4e47-86c5-35547bc44e53" - }, - { - "input_type": "sequence_file", - "input_id": "2a77f1db-b5d4-4657-a522-9786aaa7df80" - }, - { - "input_type": "sequence_file", - "input_id": "035a00e0-02ca-46e8-bb76-9b2449ee922f" - }, - { - "input_type": "sequence_file", - "input_id": "1a589473-0047-4bca-afce-57c8448f0dc6" - }, - { - "input_type": "sequence_file", - "input_id": "dcec351c-327a-46df-aa48-22d2647d5852" - }, - { - "input_type": "sequence_file", - "input_id": "3d8bc409-2043-486a-9a0b-12c71a741d83" - }, - { - "input_type": "sequence_file", - "input_id": "554c1554-ed18-4926-b8d7-5b6af2edab5b" - }, - { - "input_type": "sequence_file", - "input_id": "dcf52037-e357-4b26-9072-05e08bf47978" - }, - { - "input_type": "sequence_file", - "input_id": "ed884cca-c961-40d2-bc8b-b358ea4fb780" - }, - { - "input_type": "sequence_file", - "input_id": "3c9533cf-c7b5-4bbf-9461-87da5aa1b556" - }, - { - "input_type": "sequence_file", - "input_id": "12826f14-2ef8-4069-a797-42d2f4c0937b" - }, - { - "input_type": "sequence_file", - "input_id": "fe586661-4878-4882-a38f-0b6321df5c99" - }, - { - "input_type": "sequence_file", - "input_id": "1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec" - }, - { - "input_type": "sequence_file", - "input_id": "b1e83792-e01e-45e2-bcb8-27b81a0d9db9" - }, - { - "input_type": "sequence_file", - "input_id": "5be8906f-0831-422d-896e-b099d5a23e13" - }, - { - "input_type": "sequence_file", - "input_id": "511eaba4-a8f4-4230-b3ad-407332e22b48" - }, - { - "input_type": "sequence_file", - "input_id": "d5b993f2-d053-4420-994b-04d64bd9e356" - }, - { - "input_type": "sequence_file", - "input_id": "adca7438-701c-4afc-8580-01de6ee68974" - }, - { - "input_type": "sequence_file", - "input_id": "d1f65c9e-628b-4c5f-b76a-1154c1666eba" - }, - { - "input_type": "sequence_file", - "input_id": "21bd79df-cc64-4381-a5c7-0e81e001ea1a" - }, - { - "input_type": "sequence_file", - "input_id": "832ae460-0083-42b0-89a6-cc651e50fad4" - }, - { - "input_type": "sequence_file", - "input_id": "db7576d3-afc9-4860-9a46-bdca8f745fa3" - }, - { - "input_type": "sequence_file", - "input_id": "2b889dd9-0bd3-412a-967e-74fa9600bb4d" - }, - { - "input_type": "sequence_file", - "input_id": "baa2bfd9-d2fb-4b5a-a81d-af84bf24c730" - }, - { - "input_type": "sequence_file", - "input_id": "ac036daf-a7cc-4583-a219-814c77ed8001" - }, - { - "input_type": "sequence_file", - "input_id": "ddaab768-186d-456a-8e1d-8631dc97f6ad" - }, - { - "input_type": "sequence_file", - "input_id": "f78279da-e39f-463b-a1a9-02d4f99f85a5" - }, - { - "input_type": "sequence_file", - "input_id": "fff15476-7228-42be-be8a-bd6b02ee9f81" - }, - { - "input_type": "sequence_file", - "input_id": "a1ac3c01-10da-4b93-a61a-71a62e6ddb22" - }, - { - "input_type": "sequence_file", - "input_id": "319d5a99-4bde-4b20-956a-03a0175478ee" - }, - { - "input_type": "sequence_file", - "input_id": "d13d109b-0106-4102-9769-82bb2ed9cfb7" - }, - { - "input_type": "sequence_file", - "input_id": "7f46ab20-26fa-493e-98c4-24d558f4a0ce" - }, - { - "input_type": "sequence_file", - "input_id": "cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3" - }, - { - "input_type": "sequence_file", - "input_id": "8de95742-6e0f-45bd-b835-ce96ebc1991c" - }, - { - "input_type": "sequence_file", - "input_id": "4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed" - }, - { - "input_type": "sequence_file", - "input_id": "59a4c958-41b6-4680-8021-86ed6be8f55d" - }, - { - "input_type": "sequence_file", - "input_id": "f648cc69-80e7-46a1-8575-aae76b30367c" - }, - { - "input_type": "sequence_file", - "input_id": "1f134dea-8f9b-4e90-a1af-80508f43f73c" - }, - { - "input_type": "sequence_file", - "input_id": "9717e5ab-015a-4fee-9864-0332c60b1e9a" - }, - { - "input_type": "sequence_file", - "input_id": "2a7c1cb6-5d82-4b65-854d-6451c18c62fc" - }, - { - "input_type": "sequence_file", - "input_id": "296db6ee-3e65-48ee-b232-626653165222" - }, - { - "input_type": "sequence_file", - "input_id": "885f171d-901c-4cc4-9c76-c5d8cdf35991" - }, - { - "input_type": "sequence_file", - "input_id": "82899c21-c3c7-4288-bb8f-4c72880c10e4" - }, - { - "input_type": "sequence_file", - "input_id": "04066a52-7468-4783-b49c-46e28b076739" - }, - { - "input_type": "sequence_file", - "input_id": "b0025fa1-e6a6-441b-a018-2c73ceabe237" - }, - { - "input_type": "sequence_file", - "input_id": "7e1f0414-5235-4c79-b334-b278d3ebd8ae" - }, - { - "input_type": "sequence_file", - "input_id": "d691ee05-f531-4c18-b0e9-677dcaabf20f" - }, - { - "input_type": "sequence_file", - "input_id": "97cfc6c1-2a97-41ef-bb36-0ac99b8c8195" - }, - { - "input_type": "sequence_file", - "input_id": "c8995918-5491-41bc-ad76-2099c6314fb1" - }, - { - "input_type": "sequence_file", - "input_id": "884813d1-d03e-4210-9289-e5b0d415484b" - }, - { - "input_type": "sequence_file", - "input_id": "ee28d3e7-02df-46a0-a3ba-f55ad747b214" - }, - { - "input_type": "sequence_file", - "input_id": "972e55ea-7901-435b-9646-53bc8fde2e6f" - }, - { - "input_type": "sequence_file", - "input_id": "58b683d3-03cf-42e9-9cff-4143dff729ca" - }, - { - "input_type": "sequence_file", - "input_id": "d4bbfecd-d580-4eaa-8679-33173740b295" - }, - { - "input_type": "sequence_file", - "input_id": "5275a9fa-7a21-4ef2-9819-5358b2821300" - }, - { - "input_type": "sequence_file", - "input_id": "ce6d4c01-8676-4ae9-91b3-4148deb5b8d9" - }, - { - "input_type": "sequence_file", - "input_id": "f7a68998-a02b-4d1c-8768-0abb9e9ae35a" - }, - { - "input_type": "sequence_file", - "input_id": "0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc" - }, - { - "input_type": "sequence_file", - "input_id": "2aba7a6a-6d70-4310-9e64-071c6adbe16b" - }, - { - "input_type": "sequence_file", - "input_id": "54140f9b-2929-44b6-9fb0-de4c2b22090b" - }, - { - "input_type": "sequence_file", - "input_id": "0c577531-9218-444b-8094-85d8c6f5c73e" - }, - { - "input_type": "sequence_file", - "input_id": "28c505c1-e1c4-4e73-b935-9616224da552" - }, - { - "input_type": "sequence_file", - "input_id": "95e893a0-0885-4e1c-8e31-55863d5108b3" - }, - { - "input_type": "sequence_file", - "input_id": "e9def19b-3967-47e7-a2dd-1bc5f9297959" - }, - { - "input_type": "sequence_file", - "input_id": "96f4d488-e081-4b54-b12a-b2d9546bfc17" - }, - { - "input_type": "sequence_file", - "input_id": "f8988fe1-225c-40b4-933d-9dacb8b4728f" - }, - { - "input_type": "sequence_file", - "input_id": "18d81f7f-94c8-4877-939a-b74ba802835a" - }, - { - "input_type": "sequence_file", - "input_id": "0fa69e92-febb-4bab-857c-4b67a2b17ff6" - }, - { - "input_type": "sequence_file", - "input_id": "09a53782-90ea-4911-a793-706e74127adb" - }, - { - "input_type": "sequence_file", - "input_id": "c67f602f-1b0d-4b0e-bd72-af166f5443fa" - }, - { - "input_type": "sequence_file", - "input_id": "5b80431f-c95a-41ef-8aa7-98816f00e4d6" - }, - { - "input_type": "sequence_file", - "input_id": "70291c50-770c-4e51-8f1b-60be28ea419f" - }, - { - "input_type": "sequence_file", - "input_id": "38e1a4f4-f9ec-44cf-b6bb-1a9566456d38" - }, - { - "input_type": "sequence_file", - "input_id": "154dffeb-efd7-4081-a73c-bf1b73ca9a90" - }, - { - "input_type": "sequence_file", - "input_id": "c9517b55-fb72-463a-aab6-e4f64b95c2fc" - }, - { - "input_type": "sequence_file", - "input_id": "c3d3c4a3-527b-490f-8107-bc1b44566df0" - }, - { - "input_type": "sequence_file", - "input_id": "83865a27-24a8-4a70-a8bd-650affa7df5c" - }, - { - "input_type": "sequence_file", - "input_id": "6e650029-386f-4d8e-868e-8780782baa4b" - }, - { - "input_type": "sequence_file", - "input_id": "f859d1ff-df51-4548-b8a4-9eca26bf7454" - }, - { - "input_type": "sequence_file", - "input_id": "79426c6b-bd79-4343-b9fa-ee1e9cfc2aef" - }, - { - "input_type": "sequence_file", - "input_id": "0697146c-0105-4d6f-baff-d9147593eadb" - }, - { - "input_type": "sequence_file", - "input_id": "65fae226-b417-43cd-a5c8-cf2336b8cff5" - }, - { - "input_type": "sequence_file", - "input_id": "7240ec36-6433-4e5c-ba0f-d2770817f963" - }, - { - "input_type": "sequence_file", - "input_id": "d20547e4-3f00-42af-9a7f-9477ff43de0d" - }, - { - "input_type": "sequence_file", - "input_id": "0256729b-47ee-4ed3-adc7-2c0813bb99b9" - }, - { - "input_type": "sequence_file", - "input_id": "7eb2244c-6b4d-4d91-bfc6-44ec12d9319b" - }, - { - "input_type": "sequence_file", - "input_id": "b2a6b8c1-f0bc-4509-b255-8618d7cff205" - }, - { - "input_type": "sequence_file", - "input_id": "bf6cb18e-07de-404d-bebe-4a943dfb44f7" - }, - { - "input_type": "sequence_file", - "input_id": "6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0" - }, - { - "input_type": "sequence_file", - "input_id": "5a172f54-33a5-4e0d-bc0d-1760bad3beb6" - }, - { - "input_type": "sequence_file", - "input_id": "ee36a1ac-7426-4253-81b8-715f37a2ba69" - }, - { - "input_type": "sequence_file", - "input_id": "d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc" - }, - { - "input_type": "sequence_file", - "input_id": "5f5e80b2-0779-4df0-9a18-35bc0db72fdf" - }, - { - "input_type": "sequence_file", - "input_id": "e6b33ccb-99f6-4c02-aa69-e7b581832d04" - }, - { - "input_type": "sequence_file", - "input_id": "9d98496f-f6d8-4106-8b6a-c118ed6ff229" - }, - { - "input_type": "sequence_file", - "input_id": "22343575-1465-455f-8360-4e716aab17fb" - }, - { - "input_type": "sequence_file", - "input_id": "7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4" - }, - { - "input_type": "sequence_file", - "input_id": "9f709f2c-701a-43bc-8417-77fac81c3633" - }, - { - "input_type": "sequence_file", - "input_id": "a4152d0c-ca88-4cad-af08-40a2e799bec7" - }, - { - "input_type": "sequence_file", - "input_id": "2c4d6e65-8271-4542-97ee-7ba8a6b628d9" - }, - { - "input_type": "sequence_file", - "input_id": "668a508d-34fa-4468-86e8-523380a34da8" - }, - { - "input_type": "sequence_file", - "input_id": "b5c2e557-c303-42cc-8779-bf3b2256c422" - }, - { - "input_type": "sequence_file", - "input_id": "f9eef16f-b9cc-43bb-b9f3-bf0948766e7e" - }, - { - "input_type": "sequence_file", - "input_id": "061936ce-8fbb-4576-8c0c-ed871767917f" - }, - { - "input_type": "sequence_file", - "input_id": "762c2720-f65c-4804-844f-2302bc33ebbc" - }, - { - "input_type": "sequence_file", - "input_id": "fedc286a-9bbc-4db0-8bf5-b3f0b69fb559" - }, - { - "input_type": "sequence_file", - "input_id": "43f476f9-cbfc-431a-a774-5885904b434c" - }, - { - "input_type": "sequence_file", - "input_id": "65b78fda-7874-455f-9c9a-bf7aca375a0b" - }, - { - "input_type": "sequence_file", - "input_id": "82fc0df9-9828-433e-ac6d-73f4bbceefcf" - }, - { - "input_type": "sequence_file", - "input_id": "fb771836-467f-4897-a755-a17ab281a385" - }, - { - "input_type": "sequence_file", - "input_id": "5f6e0f4b-3541-4197-a67f-01dddc0cf105" - }, - { - "input_type": "sequence_file", - "input_id": "c7970499-e36d-49f3-b1f2-6886746333c9" - }, - { - "input_type": "sequence_file", - "input_id": "6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47" - }, - { - "input_type": "sequence_file", - "input_id": "e4d6ced4-50a3-402a-bbbc-ae329cd3689d" - }, - { - "input_type": "sequence_file", - "input_id": "792fd4bd-9b01-42bf-a883-c651789a198a" - }, - { - "input_type": "sequence_file", - "input_id": "10b3b42b-3612-48fb-849b-bfc036c248a6" - }, - { - "input_type": "sequence_file", - "input_id": "6fc7505d-33db-4d19-99a1-5756cd9a0a1c" - }, - { - "input_type": "sequence_file", - "input_id": "64309a91-ba2b-4b0e-baa9-7cfce3c5d445" - }, - { - "input_type": "sequence_file", - "input_id": "64eedb4a-2f73-4b60-a4b1-99b5ffd0486b" - }, - { - "input_type": "sequence_file", - "input_id": "79d181d1-5b70-4306-a229-74a2a3d5278e" - }, - { - "input_type": "sequence_file", - "input_id": "102b8410-1c0e-46f5-90fe-609ab117221c" - }, - { - "input_type": "sequence_file", - "input_id": "449ec63a-dca8-4a61-98b5-e6789d4946a1" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca" - }, - { - "output_type": "analysis_file", - "output_id": "31e6cb06-0062-4096-84f5-c2d1c2621a82" - }, - { - "output_type": "analysis_file", - "output_id": "d3b3abc2-0da6-4163-acb8-251fe079284c" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "07f1f962-dd38-4a0b-b0b5-f4efe30d21e2" - } - ] - }, - { - "link_type": "process_link", - "process_id": "fed76aa9-d126-4747-b53e-b357fbbaed47", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "fc1541f1-27bb-4cd1-be90-2b04c29a902e" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "fd7e7e85-7747-42c3-bc6b-0e4718202d63" - }, - { - "output_type": "sequence_file", - "output_id": "38601526-8448-4253-807b-70878c374901" - }, - { - "output_type": "sequence_file", - "output_id": "45d0b683-d7dc-4e1a-a235-dad58ef03d77" - }, - { - "output_type": "sequence_file", - "output_id": "dff50bd5-38c9-4c35-a5bc-dd51e69f249a" - }, - { - "output_type": "sequence_file", - "output_id": "0506c2a0-ef2b-4850-8567-20d08046bdaa" - }, - { - "output_type": "sequence_file", - "output_id": "dabb5028-64d2-4dbc-89a3-0cf6079ad0cb" - }, - { - "output_type": "sequence_file", - "output_id": "d1ad5518-3619-46dd-a342-f5a3b34f67b1" - }, - { - "output_type": "sequence_file", - "output_id": "bbda7bad-f60b-4091-83b0-b8d96c3f4214" - }, - { - "output_type": "sequence_file", - "output_id": "ce3c8eab-dcb7-403f-8837-6a7986acb6fc" - }, - { - "output_type": "sequence_file", - "output_id": "9e63db48-5b68-40e8-9d8f-aff48223b80e" - }, - { - "output_type": "sequence_file", - "output_id": "74086d10-f049-45c2-8654-de93aac63d94" - }, - { - "output_type": "sequence_file", - "output_id": "c699ee8b-738e-451a-b91d-0e1a6c8bb6f9" - }, - { - "output_type": "sequence_file", - "output_id": "f9db3e23-91ca-487f-a3ec-11ffa8b8f939" - }, - { - "output_type": "sequence_file", - "output_id": "fdd026f9-0ab6-49ef-88f9-4a5d61d12188" - }, - { - "output_type": "sequence_file", - "output_id": "c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2" - }, - { - "output_type": "sequence_file", - "output_id": "72b34b3d-f005-48af-81dc-3631873960d8" - }, - { - "output_type": "sequence_file", - "output_id": "7938acb1-91e3-4d8d-9d24-3b0a9fa28131" - }, - { - "output_type": "sequence_file", - "output_id": "9962de78-e4ef-40ba-b9fc-bd661895a99b" - }, - { - "output_type": "sequence_file", - "output_id": "5b977962-16d1-4631-9225-6be262e9ccae" - }, - { - "output_type": "sequence_file", - "output_id": "7eb17ee4-5704-4ce3-8b41-121ef051ee09" - }, - { - "output_type": "sequence_file", - "output_id": "a2385663-3f62-4512-b4d8-4bba405f50a3" - }, - { - "output_type": "sequence_file", - "output_id": "53c40015-48a9-4a3f-a513-d617d28a2352" - }, - { - "output_type": "sequence_file", - "output_id": "2862a721-a50b-4e47-86c5-35547bc44e53" - }, - { - "output_type": "sequence_file", - "output_id": "2a77f1db-b5d4-4657-a522-9786aaa7df80" - }, - { - "output_type": "sequence_file", - "output_id": "035a00e0-02ca-46e8-bb76-9b2449ee922f" - }, - { - "output_type": "sequence_file", - "output_id": "1a589473-0047-4bca-afce-57c8448f0dc6" - }, - { - "output_type": "sequence_file", - "output_id": "dcec351c-327a-46df-aa48-22d2647d5852" - }, - { - "output_type": "sequence_file", - "output_id": "3d8bc409-2043-486a-9a0b-12c71a741d83" - }, - { - "output_type": "sequence_file", - "output_id": "554c1554-ed18-4926-b8d7-5b6af2edab5b" - }, - { - "output_type": "sequence_file", - "output_id": "dcf52037-e357-4b26-9072-05e08bf47978" - }, - { - "output_type": "sequence_file", - "output_id": "ed884cca-c961-40d2-bc8b-b358ea4fb780" - }, - { - "output_type": "sequence_file", - "output_id": "3c9533cf-c7b5-4bbf-9461-87da5aa1b556" - }, - { - "output_type": "sequence_file", - "output_id": "12826f14-2ef8-4069-a797-42d2f4c0937b" - }, - { - "output_type": "sequence_file", - "output_id": "fe586661-4878-4882-a38f-0b6321df5c99" - }, - { - "output_type": "sequence_file", - "output_id": "1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec" - }, - { - "output_type": "sequence_file", - "output_id": "b1e83792-e01e-45e2-bcb8-27b81a0d9db9" - }, - { - "output_type": "sequence_file", - "output_id": "5be8906f-0831-422d-896e-b099d5a23e13" - }, - { - "output_type": "sequence_file", - "output_id": "511eaba4-a8f4-4230-b3ad-407332e22b48" - }, - { - "output_type": "sequence_file", - "output_id": "d5b993f2-d053-4420-994b-04d64bd9e356" - }, - { - "output_type": "sequence_file", - "output_id": "adca7438-701c-4afc-8580-01de6ee68974" - }, - { - "output_type": "sequence_file", - "output_id": "d1f65c9e-628b-4c5f-b76a-1154c1666eba" - }, - { - "output_type": "sequence_file", - "output_id": "21bd79df-cc64-4381-a5c7-0e81e001ea1a" - }, - { - "output_type": "sequence_file", - "output_id": "832ae460-0083-42b0-89a6-cc651e50fad4" - }, - { - "output_type": "sequence_file", - "output_id": "db7576d3-afc9-4860-9a46-bdca8f745fa3" - }, - { - "output_type": "sequence_file", - "output_id": "2b889dd9-0bd3-412a-967e-74fa9600bb4d" - }, - { - "output_type": "sequence_file", - "output_id": "baa2bfd9-d2fb-4b5a-a81d-af84bf24c730" - }, - { - "output_type": "sequence_file", - "output_id": "ac036daf-a7cc-4583-a219-814c77ed8001" - }, - { - "output_type": "sequence_file", - "output_id": "ddaab768-186d-456a-8e1d-8631dc97f6ad" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "72975432-3c46-449a-a4d9-809712d10577" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "63db242f-a88b-4deb-b1e4-3677ade32d18" - } - ] - }, - { - "link_type": "process_link", - "process_id": "e8081e5b-30a8-4ed7-88df-07c9e81688c6", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "ae5b7895-01cf-4a6e-aee0-8b58e820313c" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "fc1541f1-27bb-4cd1-be90-2b04c29a902e" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0e1884e4-310f-4afb-9721-e0721a290498" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "48f7f503-d213-4447-9ee4-3602da1066d7" - } - ] - }, - { - "link_type": "process_link", - "process_id": "c2081de1-a850-4671-9d13-d5782fb87ce2", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "28899ffa-f480-4ee6-8ccf-30e90f8a7482" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "ae5b7895-01cf-4a6e-aee0-8b58e820313c" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "572a625b-119a-4099-b5eb-d2994f8846bf" - } - ] - }, - { - "link_type": "process_link", - "process_id": "97f00f1b-232c-4425-b51a-7d91b88d3862", - "process_type": "process", - "inputs": [ - { - "input_type": "sequence_file", - "input_id": "3cad3e7e-9e9b-4e4e-a535-509853f9306b" - }, - { - "input_type": "sequence_file", - "input_id": "8840da5d-cbaa-4617-ad50-d2a012563fe6" - }, - { - "input_type": "sequence_file", - "input_id": "e17968e7-5ef9-45fb-b45a-d73d18f41ae6" - }, - { - "input_type": "sequence_file", - "input_id": "fea581ad-b8a8-47d1-a4bb-e18f0753bf13" - }, - { - "input_type": "sequence_file", - "input_id": "7b1418ba-7cd7-4844-924c-ca92b0d3147c" - }, - { - "input_type": "sequence_file", - "input_id": "e0a99b8f-15e2-4a9e-b298-1066a9bcbda7" - }, - { - "input_type": "sequence_file", - "input_id": "7d5ca602-df90-402e-9c12-933e1cdde407" - }, - { - "input_type": "sequence_file", - "input_id": "b3de09c9-37f3-4d58-8930-bbd5d4e136c5" - }, - { - "input_type": "sequence_file", - "input_id": "81898837-23e3-40d9-96e2-04a559d95b2e" - }, - { - "input_type": "sequence_file", - "input_id": "2f74ffc0-b776-4b4a-90c6-327edb41c7ac" - }, - { - "input_type": "sequence_file", - "input_id": "a783909f-5237-4218-8b9d-80653729f3b1" - }, - { - "input_type": "sequence_file", - "input_id": "2d0246fd-696f-4a54-abe6-d759cc6d27b3" - }, - { - "input_type": "sequence_file", - "input_id": "ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02" - }, - { - "input_type": "sequence_file", - "input_id": "c0fc6427-6fa7-4d8d-9d6e-8844a26ff318" - }, - { - "input_type": "sequence_file", - "input_id": "bff57385-2f4f-4695-a153-412c9aabab59" - }, - { - "input_type": "sequence_file", - "input_id": "e61740c1-0e70-4d25-a912-32617d2e71fa" - }, - { - "input_type": "sequence_file", - "input_id": "4d0f1255-5e1b-4852-8030-a7a8f7580f1a" - }, - { - "input_type": "sequence_file", - "input_id": "ab8e7f29-eae9-488a-9337-7a926c8857ac" - }, - { - "input_type": "sequence_file", - "input_id": "bef069b8-2720-4327-8298-9ab2badd4a53" - }, - { - "input_type": "sequence_file", - "input_id": "f5ada827-68c0-4af6-88c6-7e9256b663ff" - }, - { - "input_type": "sequence_file", - "input_id": "db2ecbf9-0e24-4106-b594-73368de0e98b" - }, - { - "input_type": "sequence_file", - "input_id": "c9a2a10f-6638-4463-8c8f-4260c72dcb92" - }, - { - "input_type": "sequence_file", - "input_id": "7060b0f4-a756-41f8-bc65-16c7effef1be" - }, - { - "input_type": "sequence_file", - "input_id": "8898a9f3-4928-45b1-b236-71ce7cb48b11" - }, - { - "input_type": "sequence_file", - "input_id": "30f53c61-a8e3-42cf-a6d2-1b172659c189" - }, - { - "input_type": "sequence_file", - "input_id": "5e25031d-3456-4209-9818-c8882b2623e1" - }, - { - "input_type": "sequence_file", - "input_id": "d0cf423a-1ecf-499b-9e61-95662e23ba40" - }, - { - "input_type": "sequence_file", - "input_id": "99e73efd-4a04-496f-bb32-8f73edb0ae1a" - }, - { - "input_type": "sequence_file", - "input_id": "b35e3b14-91dc-4bf0-a47d-4ed8428efbe1" - }, - { - "input_type": "sequence_file", - "input_id": "8e892b4a-c112-47f2-a058-b87efed5a262" - }, - { - "input_type": "sequence_file", - "input_id": "621547f4-60bc-41b6-bc21-5c970700a1e4" - }, - { - "input_type": "sequence_file", - "input_id": "e06ec666-d2ed-4801-8bc3-03ddcd151c49" - }, - { - "input_type": "sequence_file", - "input_id": "782f79d7-bd59-4cc5-8492-1e680fbb31c1" - }, - { - "input_type": "sequence_file", - "input_id": "c458a416-5736-4b7b-817e-1d87b341f825" - }, - { - "input_type": "sequence_file", - "input_id": "a778ad17-3705-40bc-b425-245d17958638" - }, - { - "input_type": "sequence_file", - "input_id": "5f563e91-d384-4e1e-ac84-20f06332fe8c" - }, - { - "input_type": "sequence_file", - "input_id": "23203fb2-d46d-4d14-95e5-4ec38191e420" - }, - { - "input_type": "sequence_file", - "input_id": "d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb" - }, - { - "input_type": "sequence_file", - "input_id": "fea7ae13-ad77-4b59-9922-14f748263eac" - }, - { - "input_type": "sequence_file", - "input_id": "acfa3362-62b0-429a-b617-3adb722c200f" - }, - { - "input_type": "sequence_file", - "input_id": "6ea29b25-492a-4c00-819d-ec8a0909fa28" - }, - { - "input_type": "sequence_file", - "input_id": "d1f9e5d6-8df2-48d1-b558-9609710ef53f" - }, - { - "input_type": "sequence_file", - "input_id": "937bbdf2-09e3-4bf7-8f45-e46db2188c46" - }, - { - "input_type": "sequence_file", - "input_id": "1badbbc9-6b43-41f6-acad-36f09cff3d21" - }, - { - "input_type": "sequence_file", - "input_id": "f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16" - }, - { - "input_type": "sequence_file", - "input_id": "d04a8b95-a45f-4fc1-a42a-a9afe3188465" - }, - { - "input_type": "sequence_file", - "input_id": "e381aa0d-c2ce-4fe4-9acd-030d9023fcb6" - }, - { - "input_type": "sequence_file", - "input_id": "ac5fdc06-b856-4de0-9423-bdf05d4df650" - }, - { - "input_type": "sequence_file", - "input_id": "87e9a01b-594b-4dc4-b2a7-a14407399b50" - }, - { - "input_type": "sequence_file", - "input_id": "c4c3353d-f33f-4a5b-a2d8-7878daf2d01b" - }, - { - "input_type": "sequence_file", - "input_id": "fd3a8466-6eaf-4251-be4a-f46f85403719" - }, - { - "input_type": "sequence_file", - "input_id": "7abc79b5-e32a-4313-b130-12397d29d684" - }, - { - "input_type": "sequence_file", - "input_id": "4abcf42c-5291-47f3-b7a8-bb1071f56c54" - }, - { - "input_type": "sequence_file", - "input_id": "893dfdd4-43f4-4256-938b-d957928f0daa" - }, - { - "input_type": "sequence_file", - "input_id": "b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5" - }, - { - "input_type": "sequence_file", - "input_id": "fbec3e01-aaf4-41a3-b667-1f0268571d10" - }, - { - "input_type": "sequence_file", - "input_id": "4e066f08-f8b7-4550-adc2-287392fa7731" - }, - { - "input_type": "sequence_file", - "input_id": "e6565b7b-b195-4554-bf60-4b80f2c6dd13" - }, - { - "input_type": "sequence_file", - "input_id": "d1dd53ff-b603-4345-8203-45c384cbc813" - }, - { - "input_type": "sequence_file", - "input_id": "965057e9-48bc-4452-8819-2bc45723a0f7" - }, - { - "input_type": "sequence_file", - "input_id": "b7d7c14d-7bf3-4a8f-8f40-8d6e98505558" - }, - { - "input_type": "sequence_file", - "input_id": "84cc7ee0-4d8e-45a1-b563-d3e05b4ec573" - }, - { - "input_type": "sequence_file", - "input_id": "ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2" - }, - { - "input_type": "sequence_file", - "input_id": "130831cc-87b6-47fd-93a8-ae1890d365f2" - }, - { - "input_type": "sequence_file", - "input_id": "42bbb160-b881-4036-a712-1ab9b5d5ce87" - }, - { - "input_type": "sequence_file", - "input_id": "e9b50275-4ebe-43fe-b3de-1fe3ab930a23" - }, - { - "input_type": "sequence_file", - "input_id": "5621674e-0290-487d-8c0c-49b617d1628c" - }, - { - "input_type": "sequence_file", - "input_id": "868dfde7-2df8-487f-b754-68db8a96ad3a" - }, - { - "input_type": "sequence_file", - "input_id": "daa6813e-0321-413a-9107-8c814825bf93" - }, - { - "input_type": "sequence_file", - "input_id": "ffb64e6b-8924-4adf-ae8f-e55b4dd019dd" - }, - { - "input_type": "sequence_file", - "input_id": "e28d2a66-f506-4a4d-b2c6-823e4e8124d6" - }, - { - "input_type": "sequence_file", - "input_id": "ade0fe79-4629-4a49-8253-e26380046b32" - }, - { - "input_type": "sequence_file", - "input_id": "28023147-3cad-4c1d-b494-b693c4f0a6bd" - }, - { - "input_type": "sequence_file", - "input_id": "3c007e61-0e8a-4337-946c-1082441084c7" - }, - { - "input_type": "sequence_file", - "input_id": "577e4275-b373-40ac-ac3f-8487d6aafe16" - }, - { - "input_type": "sequence_file", - "input_id": "9e74066b-834e-416d-a1e7-bbec1e8f1713" - }, - { - "input_type": "sequence_file", - "input_id": "110bb0f5-9d1a-4573-b711-6bee156d0eb8" - }, - { - "input_type": "sequence_file", - "input_id": "012af05a-4771-45e5-bb92-9b63fcbde822" - }, - { - "input_type": "sequence_file", - "input_id": "565dbd59-2571-4af5-b160-c6d5cd3c684f" - }, - { - "input_type": "sequence_file", - "input_id": "d068c2b0-60c7-429a-938c-cb9c703c4c4d" - }, - { - "input_type": "sequence_file", - "input_id": "71add17d-3b59-4ca2-a032-80819608a34a" - }, - { - "input_type": "sequence_file", - "input_id": "c5e55f39-94a7-4ddd-8972-d217b63fb7cb" - }, - { - "input_type": "sequence_file", - "input_id": "fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce" - }, - { - "input_type": "sequence_file", - "input_id": "4df715c5-a783-41e6-a99e-eedf93a37fb3" - }, - { - "input_type": "sequence_file", - "input_id": "8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a" - }, - { - "input_type": "sequence_file", - "input_id": "b3739e56-e8cc-43b6-8b43-9116b5d75e69" - }, - { - "input_type": "sequence_file", - "input_id": "dd8ac880-75c4-4fe8-89e3-2cc41dad784a" - }, - { - "input_type": "sequence_file", - "input_id": "bb788d30-169b-4160-be07-98222d0a8327" - }, - { - "input_type": "sequence_file", - "input_id": "f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9" - }, - { - "input_type": "sequence_file", - "input_id": "877258d8-07eb-4cb6-a358-7c265c856ab6" - }, - { - "input_type": "sequence_file", - "input_id": "80e88ed6-4480-4888-b25d-d41e90822142" - }, - { - "input_type": "sequence_file", - "input_id": "f5fae200-b633-4ade-8871-94cf47475c67" - }, - { - "input_type": "sequence_file", - "input_id": "47950b5e-3d6f-4b75-9518-feb8b9e9a78b" - }, - { - "input_type": "sequence_file", - "input_id": "1c95a589-205c-4d7c-9c56-c3de4f7dbb66" - }, - { - "input_type": "sequence_file", - "input_id": "a40ed25e-fbf0-40a3-b468-e2bdb55d56d0" - }, - { - "input_type": "sequence_file", - "input_id": "f5274b10-d3ea-44c9-9f27-9af574dea10c" - }, - { - "input_type": "sequence_file", - "input_id": "fd7e7e85-7747-42c3-bc6b-0e4718202d63" - }, - { - "input_type": "sequence_file", - "input_id": "38601526-8448-4253-807b-70878c374901" - }, - { - "input_type": "sequence_file", - "input_id": "45d0b683-d7dc-4e1a-a235-dad58ef03d77" - }, - { - "input_type": "sequence_file", - "input_id": "dff50bd5-38c9-4c35-a5bc-dd51e69f249a" - }, - { - "input_type": "sequence_file", - "input_id": "0506c2a0-ef2b-4850-8567-20d08046bdaa" - }, - { - "input_type": "sequence_file", - "input_id": "dabb5028-64d2-4dbc-89a3-0cf6079ad0cb" - }, - { - "input_type": "sequence_file", - "input_id": "d1ad5518-3619-46dd-a342-f5a3b34f67b1" - }, - { - "input_type": "sequence_file", - "input_id": "bbda7bad-f60b-4091-83b0-b8d96c3f4214" - }, - { - "input_type": "sequence_file", - "input_id": "ce3c8eab-dcb7-403f-8837-6a7986acb6fc" - }, - { - "input_type": "sequence_file", - "input_id": "9e63db48-5b68-40e8-9d8f-aff48223b80e" - }, - { - "input_type": "sequence_file", - "input_id": "74086d10-f049-45c2-8654-de93aac63d94" - }, - { - "input_type": "sequence_file", - "input_id": "c699ee8b-738e-451a-b91d-0e1a6c8bb6f9" - }, - { - "input_type": "sequence_file", - "input_id": "f9db3e23-91ca-487f-a3ec-11ffa8b8f939" - }, - { - "input_type": "sequence_file", - "input_id": "fdd026f9-0ab6-49ef-88f9-4a5d61d12188" - }, - { - "input_type": "sequence_file", - "input_id": "c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2" - }, - { - "input_type": "sequence_file", - "input_id": "72b34b3d-f005-48af-81dc-3631873960d8" - }, - { - "input_type": "sequence_file", - "input_id": "7938acb1-91e3-4d8d-9d24-3b0a9fa28131" - }, - { - "input_type": "sequence_file", - "input_id": "9962de78-e4ef-40ba-b9fc-bd661895a99b" - }, - { - "input_type": "sequence_file", - "input_id": "3cf0f46b-1618-49e6-8cdc-d97a9d2403da" - }, - { - "input_type": "sequence_file", - "input_id": "2f033594-a8bd-49c4-b1b7-69ce88fe26d4" - }, - { - "input_type": "sequence_file", - "input_id": "97eaa3ce-131c-48b8-8082-86bbb6a486b5" - }, - { - "input_type": "sequence_file", - "input_id": "61716326-4fa0-41b9-8ca4-5b020500e8ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0e048f6-0ab6-45fc-a74f-16711af67a2e" - }, - { - "input_type": "sequence_file", - "input_id": "347f630f-a9a0-4430-958f-6c929335031a" - }, - { - "input_type": "sequence_file", - "input_id": "c13ed96e-3052-4a3f-9871-8196c10070a1" - }, - { - "input_type": "sequence_file", - "input_id": "1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1" - }, - { - "input_type": "sequence_file", - "input_id": "09b831a2-5b60-4753-864e-8af803024437" - }, - { - "input_type": "sequence_file", - "input_id": "290232bb-afb1-45b2-8e04-be180948541a" - }, - { - "input_type": "sequence_file", - "input_id": "c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7" - }, - { - "input_type": "sequence_file", - "input_id": "22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22" - }, - { - "input_type": "sequence_file", - "input_id": "da6e341f-43d3-4c22-ab8c-3c3e81986d9b" - }, - { - "input_type": "sequence_file", - "input_id": "6ea00f5c-7e63-493b-b6f9-68ba54dbbed3" - }, - { - "input_type": "sequence_file", - "input_id": "b9acc59a-ba7c-40ef-8611-27069458a508" - }, - { - "input_type": "sequence_file", - "input_id": "6f11ead1-11b1-4bda-8a20-588bb85ec126" - }, - { - "input_type": "sequence_file", - "input_id": "4ca067fb-8ba1-4959-9c1a-878d5705dd67" - }, - { - "input_type": "sequence_file", - "input_id": "f77883e0-6609-4bda-b446-331adbd9d357" - }, - { - "input_type": "sequence_file", - "input_id": "541fc29f-a7a3-456e-b28e-80f9036a4e33" - }, - { - "input_type": "sequence_file", - "input_id": "bd1e5909-c184-4ee0-906c-77e399270a71" - }, - { - "input_type": "sequence_file", - "input_id": "22833c60-dc70-4299-86ac-00747b91b3cb" - }, - { - "input_type": "sequence_file", - "input_id": "24bbde6e-cdf7-4f1c-a447-6501ce377aa4" - }, - { - "input_type": "sequence_file", - "input_id": "7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0" - }, - { - "input_type": "sequence_file", - "input_id": "64c93769-83eb-4718-90f0-36d83b1dae4d" - }, - { - "input_type": "sequence_file", - "input_id": "d3661383-3d73-41a0-8676-295926c07eeb" - }, - { - "input_type": "sequence_file", - "input_id": "9766ad67-37fa-402a-9649-181a1752e5b2" - }, - { - "input_type": "sequence_file", - "input_id": "559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0" - }, - { - "input_type": "sequence_file", - "input_id": "f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0dd6ad5-0582-47de-9cbf-7351ebd5e005" - }, - { - "input_type": "sequence_file", - "input_id": "a60154cf-58b6-461f-8908-b789cdd78ee8" - }, - { - "input_type": "sequence_file", - "input_id": "11d171f7-7775-40a4-90a4-df995775b1c4" - }, - { - "input_type": "sequence_file", - "input_id": "9fa70333-418c-476c-b93b-382096a9cdcb" - }, - { - "input_type": "sequence_file", - "input_id": "6593f54e-682c-4eb4-b2ed-e3c3278d4880" - }, - { - "input_type": "sequence_file", - "input_id": "c3182931-cc4c-4cb7-aab5-4b50093eebea" - }, - { - "input_type": "sequence_file", - "input_id": "3001b82f-bbea-4072-9760-a14a4f00b7d3" - }, - { - "input_type": "sequence_file", - "input_id": "2b62614e-dc4d-46ea-bf29-727d5c33effa" - }, - { - "input_type": "sequence_file", - "input_id": "726a68e9-4fa9-425a-90e7-d0fef30c9d4c" - }, - { - "input_type": "sequence_file", - "input_id": "09610000-dc5c-4665-a72e-b0dad51edf6d" - }, - { - "input_type": "sequence_file", - "input_id": "92951c73-28a3-4820-89d6-15a73fa192cf" - }, - { - "input_type": "sequence_file", - "input_id": "6d9709e5-ce90-46d3-bc95-d5105cafc67a" - }, - { - "input_type": "sequence_file", - "input_id": "523c6c55-66da-4edc-b66a-a33fe20d4102" - }, - { - "input_type": "sequence_file", - "input_id": "75e38979-23f0-4749-bfcc-d8e92db7f2b0" - }, - { - "input_type": "sequence_file", - "input_id": "3fcc4232-b40f-4cca-bd1d-d12a03e4fed0" - }, - { - "input_type": "sequence_file", - "input_id": "80347bc1-ffca-4f66-9ebd-812d22ab3d3f" - }, - { - "input_type": "sequence_file", - "input_id": "28e8f3eb-fedc-4942-8d6b-836fbb7e3441" - }, - { - "input_type": "sequence_file", - "input_id": "40f24220-4c6d-43c4-ab82-1db21d683b07" - }, - { - "input_type": "sequence_file", - "input_id": "b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477" - }, - { - "input_type": "sequence_file", - "input_id": "b7826640-f0cc-4891-860e-7815a8848006" - }, - { - "input_type": "sequence_file", - "input_id": "eccad683-4c2d-4d7f-a141-1effb429fef7" - }, - { - "input_type": "sequence_file", - "input_id": "1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288" - }, - { - "input_type": "sequence_file", - "input_id": "09c0456a-ec0b-47e3-870d-4b47221a45a6" - }, - { - "input_type": "sequence_file", - "input_id": "067d2b7b-127b-421f-91db-0acc05ad62ad" - }, - { - "input_type": "sequence_file", - "input_id": "9bad139c-7abf-4786-a6fc-5f9a5abcd850" - }, - { - "input_type": "sequence_file", - "input_id": "9b03ad8d-aabf-4736-820a-493db4877f84" - }, - { - "input_type": "sequence_file", - "input_id": "3dce5e53-a137-4086-96d3-26dd3d000cf6" - }, - { - "input_type": "sequence_file", - "input_id": "19eb5d2e-2224-4bb4-9f94-526a4c06f7a2" - }, - { - "input_type": "sequence_file", - "input_id": "6b38794f-2d55-4422-8094-fb4a5e100d32" - }, - { - "input_type": "sequence_file", - "input_id": "9a03ec79-7dc7-44fc-bb97-22ad58159436" - }, - { - "input_type": "sequence_file", - "input_id": "69ab8827-b0dc-48ae-84b5-1d27284a7db0" - }, - { - "input_type": "sequence_file", - "input_id": "a2b31671-1874-4c4a-a5c5-fd2787287893" - }, - { - "input_type": "sequence_file", - "input_id": "7186ea5d-49a0-4d72-a24e-2a30d48aa8fc" - }, - { - "input_type": "sequence_file", - "input_id": "e5d2cef3-3902-418c-b905-001052979a54" - }, - { - "input_type": "sequence_file", - "input_id": "02cfb8bb-4eb6-4343-9381-007968f1feee" - }, - { - "input_type": "sequence_file", - "input_id": "d8b9cedb-39d5-47b7-9c64-94e6393fdd0d" - }, - { - "input_type": "sequence_file", - "input_id": "9f577e94-f952-40af-a919-108f4661fdb9" - }, - { - "input_type": "sequence_file", - "input_id": "1d77e73b-9bd3-499f-a0d0-86d9f7306a7e" - }, - { - "input_type": "sequence_file", - "input_id": "c3093b68-54a2-4d31-aa15-50afb0414625" - }, - { - "input_type": "sequence_file", - "input_id": "d73e6663-d29d-47af-a4b4-5cadcd272293" - }, - { - "input_type": "sequence_file", - "input_id": "44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7" - }, - { - "input_type": "sequence_file", - "input_id": "e163d226-febb-4ecf-80db-8e60680be2ab" - }, - { - "input_type": "sequence_file", - "input_id": "a6a99736-43fb-4f67-ae26-0e24d5277c6b" - }, - { - "input_type": "sequence_file", - "input_id": "2ff6533e-8fe3-44c3-b378-99d4acdc0ab8" - }, - { - "input_type": "sequence_file", - "input_id": "3b7b0bcf-b316-4b0e-9d46-f8d44a399774" - }, - { - "input_type": "sequence_file", - "input_id": "d5aab272-e387-4bae-aeb0-987928e0c001" - }, - { - "input_type": "sequence_file", - "input_id": "d359ca8d-a374-4eeb-b214-69df7861d0e3" - }, - { - "input_type": "sequence_file", - "input_id": "c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd" - }, - { - "input_type": "sequence_file", - "input_id": "29ee234c-5d39-4eb9-8f73-22121936b3db" - }, - { - "input_type": "sequence_file", - "input_id": "344c1e18-810e-4800-bbed-0246cbbafa60" - }, - { - "input_type": "sequence_file", - "input_id": "91594c64-a197-4dc9-8605-d57aff0f2e87" - }, - { - "input_type": "sequence_file", - "input_id": "17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8" - }, - { - "input_type": "sequence_file", - "input_id": "fed6f8f3-2c61-4361-8160-2c5a13db83d4" - }, - { - "input_type": "sequence_file", - "input_id": "dae9b045-0d8d-4944-b8a2-d3b64ad7df34" - }, - { - "input_type": "sequence_file", - "input_id": "8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba" - }, - { - "input_type": "sequence_file", - "input_id": "b6dda1ac-9635-426a-869a-82b1420ef251" - }, - { - "input_type": "sequence_file", - "input_id": "47c12e95-67b2-42e1-866b-eb7c5f16a3c6" - }, - { - "input_type": "sequence_file", - "input_id": "edbe53c5-208b-436d-b283-1aa4ee94800c" - }, - { - "input_type": "sequence_file", - "input_id": "4198865c-d4ef-4a01-94c0-8a8397914dbc" - }, - { - "input_type": "sequence_file", - "input_id": "e1c334fa-b493-4892-a48b-3fe594e98b30" - }, - { - "input_type": "sequence_file", - "input_id": "c8b4bc26-7487-48d9-a2f2-6b3934da074d" - }, - { - "input_type": "sequence_file", - "input_id": "b0009333-24fc-4f3e-bf35-3cc8fa808efa" - }, - { - "input_type": "sequence_file", - "input_id": "a45af0aa-2591-4031-8ee8-a3c0a5a76260" - }, - { - "input_type": "sequence_file", - "input_id": "56d5b505-6591-47c4-b469-006e27e6e343" - }, - { - "input_type": "sequence_file", - "input_id": "ebbc0d72-0743-41b8-88f6-736c36bd6499" - }, - { - "input_type": "sequence_file", - "input_id": "7c912919-4b2c-4f4d-bdfe-1988d20aeeed" - }, - { - "input_type": "sequence_file", - "input_id": "b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc" - }, - { - "input_type": "sequence_file", - "input_id": "51aef727-d8de-497f-abbe-e650b1baeeab" - }, - { - "input_type": "sequence_file", - "input_id": "c04b8362-f2c9-4cad-b939-494e738efc19" - }, - { - "input_type": "sequence_file", - "input_id": "782fcb99-9b26-485f-9f7d-bda9cc37f0d2" - }, - { - "input_type": "sequence_file", - "input_id": "cabca52b-8f67-4107-8916-4fd8129ccd97" - }, - { - "input_type": "sequence_file", - "input_id": "79e53d37-c41c-4234-99db-f3333d89bb3a" - }, - { - "input_type": "sequence_file", - "input_id": "e0a914c3-3147-4f06-a8ae-0c16029497dc" - }, - { - "input_type": "sequence_file", - "input_id": "ebc98059-556f-4a51-b1d3-e5afb40fe80e" - }, - { - "input_type": "sequence_file", - "input_id": "a65b7c37-e038-41d5-8623-2046bdc278a4" - }, - { - "input_type": "sequence_file", - "input_id": "7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565" - }, - { - "input_type": "sequence_file", - "input_id": "8fc6dd31-c01c-4eec-ae6c-bedd13f2c209" - }, - { - "input_type": "sequence_file", - "input_id": "ba526c42-7c2f-43c1-a817-06ccdb4d67be" - }, - { - "input_type": "sequence_file", - "input_id": "1adbb95f-f5c3-41ce-8e16-7657d189de79" - }, - { - "input_type": "sequence_file", - "input_id": "887d7cc2-1c24-42a9-aab3-51474d95f927" - }, - { - "input_type": "sequence_file", - "input_id": "6e3aed1a-9909-462c-90e1-a1f766cd380e" - }, - { - "input_type": "sequence_file", - "input_id": "d85ccb81-e861-4bb1-95b6-40762555da1d" - }, - { - "input_type": "sequence_file", - "input_id": "5d00e91c-8691-41ff-836c-b827f23a1a7d" - }, - { - "input_type": "sequence_file", - "input_id": "50fd1926-5615-4e29-be75-e8528d1da8df" - }, - { - "input_type": "sequence_file", - "input_id": "73112827-65e2-4057-98e0-960b4c50afe6" - }, - { - "input_type": "sequence_file", - "input_id": "5f3e080f-d2f2-4350-96b0-fb8169bfcdd9" - }, - { - "input_type": "sequence_file", - "input_id": "e744fafb-3c4b-47c3-91db-db8bb8751279" - }, - { - "input_type": "sequence_file", - "input_id": "3f2ae9d6-763e-4408-bc80-6067ccc756e0" - }, - { - "input_type": "sequence_file", - "input_id": "64e1d438-17af-450b-b90c-04072117cbb1" - }, - { - "input_type": "sequence_file", - "input_id": "a10329ae-6c8a-4df9-bac1-70bdf2c07571" - }, - { - "input_type": "sequence_file", - "input_id": "fd0547d5-7f16-46e4-8948-45c82f923f69" - }, - { - "input_type": "sequence_file", - "input_id": "14795e28-bcee-4da3-83cf-bb2592b6c0d0" - }, - { - "input_type": "sequence_file", - "input_id": "5b977962-16d1-4631-9225-6be262e9ccae" - }, - { - "input_type": "sequence_file", - "input_id": "7eb17ee4-5704-4ce3-8b41-121ef051ee09" - }, - { - "input_type": "sequence_file", - "input_id": "a2385663-3f62-4512-b4d8-4bba405f50a3" - }, - { - "input_type": "sequence_file", - "input_id": "53c40015-48a9-4a3f-a513-d617d28a2352" - }, - { - "input_type": "sequence_file", - "input_id": "2862a721-a50b-4e47-86c5-35547bc44e53" - }, - { - "input_type": "sequence_file", - "input_id": "2a77f1db-b5d4-4657-a522-9786aaa7df80" - }, - { - "input_type": "sequence_file", - "input_id": "035a00e0-02ca-46e8-bb76-9b2449ee922f" - }, - { - "input_type": "sequence_file", - "input_id": "1a589473-0047-4bca-afce-57c8448f0dc6" - }, - { - "input_type": "sequence_file", - "input_id": "dcec351c-327a-46df-aa48-22d2647d5852" - }, - { - "input_type": "sequence_file", - "input_id": "3d8bc409-2043-486a-9a0b-12c71a741d83" - }, - { - "input_type": "sequence_file", - "input_id": "554c1554-ed18-4926-b8d7-5b6af2edab5b" - }, - { - "input_type": "sequence_file", - "input_id": "dcf52037-e357-4b26-9072-05e08bf47978" - }, - { - "input_type": "sequence_file", - "input_id": "ed884cca-c961-40d2-bc8b-b358ea4fb780" - }, - { - "input_type": "sequence_file", - "input_id": "3c9533cf-c7b5-4bbf-9461-87da5aa1b556" - }, - { - "input_type": "sequence_file", - "input_id": "12826f14-2ef8-4069-a797-42d2f4c0937b" - }, - { - "input_type": "sequence_file", - "input_id": "fe586661-4878-4882-a38f-0b6321df5c99" - }, - { - "input_type": "sequence_file", - "input_id": "1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec" - }, - { - "input_type": "sequence_file", - "input_id": "b1e83792-e01e-45e2-bcb8-27b81a0d9db9" - }, - { - "input_type": "sequence_file", - "input_id": "5be8906f-0831-422d-896e-b099d5a23e13" - }, - { - "input_type": "sequence_file", - "input_id": "511eaba4-a8f4-4230-b3ad-407332e22b48" - }, - { - "input_type": "sequence_file", - "input_id": "d5b993f2-d053-4420-994b-04d64bd9e356" - }, - { - "input_type": "sequence_file", - "input_id": "adca7438-701c-4afc-8580-01de6ee68974" - }, - { - "input_type": "sequence_file", - "input_id": "d1f65c9e-628b-4c5f-b76a-1154c1666eba" - }, - { - "input_type": "sequence_file", - "input_id": "21bd79df-cc64-4381-a5c7-0e81e001ea1a" - }, - { - "input_type": "sequence_file", - "input_id": "832ae460-0083-42b0-89a6-cc651e50fad4" - }, - { - "input_type": "sequence_file", - "input_id": "db7576d3-afc9-4860-9a46-bdca8f745fa3" - }, - { - "input_type": "sequence_file", - "input_id": "2b889dd9-0bd3-412a-967e-74fa9600bb4d" - }, - { - "input_type": "sequence_file", - "input_id": "baa2bfd9-d2fb-4b5a-a81d-af84bf24c730" - }, - { - "input_type": "sequence_file", - "input_id": "ac036daf-a7cc-4583-a219-814c77ed8001" - }, - { - "input_type": "sequence_file", - "input_id": "ddaab768-186d-456a-8e1d-8631dc97f6ad" - }, - { - "input_type": "sequence_file", - "input_id": "f78279da-e39f-463b-a1a9-02d4f99f85a5" - }, - { - "input_type": "sequence_file", - "input_id": "fff15476-7228-42be-be8a-bd6b02ee9f81" - }, - { - "input_type": "sequence_file", - "input_id": "a1ac3c01-10da-4b93-a61a-71a62e6ddb22" - }, - { - "input_type": "sequence_file", - "input_id": "319d5a99-4bde-4b20-956a-03a0175478ee" - }, - { - "input_type": "sequence_file", - "input_id": "d13d109b-0106-4102-9769-82bb2ed9cfb7" - }, - { - "input_type": "sequence_file", - "input_id": "7f46ab20-26fa-493e-98c4-24d558f4a0ce" - }, - { - "input_type": "sequence_file", - "input_id": "cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3" - }, - { - "input_type": "sequence_file", - "input_id": "8de95742-6e0f-45bd-b835-ce96ebc1991c" - }, - { - "input_type": "sequence_file", - "input_id": "4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed" - }, - { - "input_type": "sequence_file", - "input_id": "59a4c958-41b6-4680-8021-86ed6be8f55d" - }, - { - "input_type": "sequence_file", - "input_id": "f648cc69-80e7-46a1-8575-aae76b30367c" - }, - { - "input_type": "sequence_file", - "input_id": "1f134dea-8f9b-4e90-a1af-80508f43f73c" - }, - { - "input_type": "sequence_file", - "input_id": "9717e5ab-015a-4fee-9864-0332c60b1e9a" - }, - { - "input_type": "sequence_file", - "input_id": "2a7c1cb6-5d82-4b65-854d-6451c18c62fc" - }, - { - "input_type": "sequence_file", - "input_id": "296db6ee-3e65-48ee-b232-626653165222" - }, - { - "input_type": "sequence_file", - "input_id": "885f171d-901c-4cc4-9c76-c5d8cdf35991" - }, - { - "input_type": "sequence_file", - "input_id": "82899c21-c3c7-4288-bb8f-4c72880c10e4" - }, - { - "input_type": "sequence_file", - "input_id": "04066a52-7468-4783-b49c-46e28b076739" - }, - { - "input_type": "sequence_file", - "input_id": "b0025fa1-e6a6-441b-a018-2c73ceabe237" - }, - { - "input_type": "sequence_file", - "input_id": "7e1f0414-5235-4c79-b334-b278d3ebd8ae" - }, - { - "input_type": "sequence_file", - "input_id": "d691ee05-f531-4c18-b0e9-677dcaabf20f" - }, - { - "input_type": "sequence_file", - "input_id": "97cfc6c1-2a97-41ef-bb36-0ac99b8c8195" - }, - { - "input_type": "sequence_file", - "input_id": "c8995918-5491-41bc-ad76-2099c6314fb1" - }, - { - "input_type": "sequence_file", - "input_id": "884813d1-d03e-4210-9289-e5b0d415484b" - }, - { - "input_type": "sequence_file", - "input_id": "ee28d3e7-02df-46a0-a3ba-f55ad747b214" - }, - { - "input_type": "sequence_file", - "input_id": "972e55ea-7901-435b-9646-53bc8fde2e6f" - }, - { - "input_type": "sequence_file", - "input_id": "58b683d3-03cf-42e9-9cff-4143dff729ca" - }, - { - "input_type": "sequence_file", - "input_id": "d4bbfecd-d580-4eaa-8679-33173740b295" - }, - { - "input_type": "sequence_file", - "input_id": "5275a9fa-7a21-4ef2-9819-5358b2821300" - }, - { - "input_type": "sequence_file", - "input_id": "ce6d4c01-8676-4ae9-91b3-4148deb5b8d9" - }, - { - "input_type": "sequence_file", - "input_id": "f7a68998-a02b-4d1c-8768-0abb9e9ae35a" - }, - { - "input_type": "sequence_file", - "input_id": "0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc" - }, - { - "input_type": "sequence_file", - "input_id": "2aba7a6a-6d70-4310-9e64-071c6adbe16b" - }, - { - "input_type": "sequence_file", - "input_id": "54140f9b-2929-44b6-9fb0-de4c2b22090b" - }, - { - "input_type": "sequence_file", - "input_id": "0c577531-9218-444b-8094-85d8c6f5c73e" - }, - { - "input_type": "sequence_file", - "input_id": "28c505c1-e1c4-4e73-b935-9616224da552" - }, - { - "input_type": "sequence_file", - "input_id": "95e893a0-0885-4e1c-8e31-55863d5108b3" - }, - { - "input_type": "sequence_file", - "input_id": "e9def19b-3967-47e7-a2dd-1bc5f9297959" - }, - { - "input_type": "sequence_file", - "input_id": "96f4d488-e081-4b54-b12a-b2d9546bfc17" - }, - { - "input_type": "sequence_file", - "input_id": "f8988fe1-225c-40b4-933d-9dacb8b4728f" - }, - { - "input_type": "sequence_file", - "input_id": "18d81f7f-94c8-4877-939a-b74ba802835a" - }, - { - "input_type": "sequence_file", - "input_id": "0fa69e92-febb-4bab-857c-4b67a2b17ff6" - }, - { - "input_type": "sequence_file", - "input_id": "09a53782-90ea-4911-a793-706e74127adb" - }, - { - "input_type": "sequence_file", - "input_id": "c67f602f-1b0d-4b0e-bd72-af166f5443fa" - }, - { - "input_type": "sequence_file", - "input_id": "5b80431f-c95a-41ef-8aa7-98816f00e4d6" - }, - { - "input_type": "sequence_file", - "input_id": "70291c50-770c-4e51-8f1b-60be28ea419f" - }, - { - "input_type": "sequence_file", - "input_id": "38e1a4f4-f9ec-44cf-b6bb-1a9566456d38" - }, - { - "input_type": "sequence_file", - "input_id": "154dffeb-efd7-4081-a73c-bf1b73ca9a90" - }, - { - "input_type": "sequence_file", - "input_id": "c9517b55-fb72-463a-aab6-e4f64b95c2fc" - }, - { - "input_type": "sequence_file", - "input_id": "c3d3c4a3-527b-490f-8107-bc1b44566df0" - }, - { - "input_type": "sequence_file", - "input_id": "83865a27-24a8-4a70-a8bd-650affa7df5c" - }, - { - "input_type": "sequence_file", - "input_id": "6e650029-386f-4d8e-868e-8780782baa4b" - }, - { - "input_type": "sequence_file", - "input_id": "f859d1ff-df51-4548-b8a4-9eca26bf7454" - }, - { - "input_type": "sequence_file", - "input_id": "79426c6b-bd79-4343-b9fa-ee1e9cfc2aef" - }, - { - "input_type": "sequence_file", - "input_id": "0697146c-0105-4d6f-baff-d9147593eadb" - }, - { - "input_type": "sequence_file", - "input_id": "65fae226-b417-43cd-a5c8-cf2336b8cff5" - }, - { - "input_type": "sequence_file", - "input_id": "7240ec36-6433-4e5c-ba0f-d2770817f963" - }, - { - "input_type": "sequence_file", - "input_id": "d20547e4-3f00-42af-9a7f-9477ff43de0d" - }, - { - "input_type": "sequence_file", - "input_id": "0256729b-47ee-4ed3-adc7-2c0813bb99b9" - }, - { - "input_type": "sequence_file", - "input_id": "7eb2244c-6b4d-4d91-bfc6-44ec12d9319b" - }, - { - "input_type": "sequence_file", - "input_id": "b2a6b8c1-f0bc-4509-b255-8618d7cff205" - }, - { - "input_type": "sequence_file", - "input_id": "bf6cb18e-07de-404d-bebe-4a943dfb44f7" - }, - { - "input_type": "sequence_file", - "input_id": "6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0" - }, - { - "input_type": "sequence_file", - "input_id": "5a172f54-33a5-4e0d-bc0d-1760bad3beb6" - }, - { - "input_type": "sequence_file", - "input_id": "ee36a1ac-7426-4253-81b8-715f37a2ba69" - }, - { - "input_type": "sequence_file", - "input_id": "d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc" - }, - { - "input_type": "sequence_file", - "input_id": "5f5e80b2-0779-4df0-9a18-35bc0db72fdf" - }, - { - "input_type": "sequence_file", - "input_id": "e6b33ccb-99f6-4c02-aa69-e7b581832d04" - }, - { - "input_type": "sequence_file", - "input_id": "9d98496f-f6d8-4106-8b6a-c118ed6ff229" - }, - { - "input_type": "sequence_file", - "input_id": "22343575-1465-455f-8360-4e716aab17fb" - }, - { - "input_type": "sequence_file", - "input_id": "7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4" - }, - { - "input_type": "sequence_file", - "input_id": "9f709f2c-701a-43bc-8417-77fac81c3633" - }, - { - "input_type": "sequence_file", - "input_id": "a4152d0c-ca88-4cad-af08-40a2e799bec7" - }, - { - "input_type": "sequence_file", - "input_id": "2c4d6e65-8271-4542-97ee-7ba8a6b628d9" - }, - { - "input_type": "sequence_file", - "input_id": "668a508d-34fa-4468-86e8-523380a34da8" - }, - { - "input_type": "sequence_file", - "input_id": "b5c2e557-c303-42cc-8779-bf3b2256c422" - }, - { - "input_type": "sequence_file", - "input_id": "f9eef16f-b9cc-43bb-b9f3-bf0948766e7e" - }, - { - "input_type": "sequence_file", - "input_id": "061936ce-8fbb-4576-8c0c-ed871767917f" - }, - { - "input_type": "sequence_file", - "input_id": "762c2720-f65c-4804-844f-2302bc33ebbc" - }, - { - "input_type": "sequence_file", - "input_id": "fedc286a-9bbc-4db0-8bf5-b3f0b69fb559" - }, - { - "input_type": "sequence_file", - "input_id": "43f476f9-cbfc-431a-a774-5885904b434c" - }, - { - "input_type": "sequence_file", - "input_id": "65b78fda-7874-455f-9c9a-bf7aca375a0b" - }, - { - "input_type": "sequence_file", - "input_id": "82fc0df9-9828-433e-ac6d-73f4bbceefcf" - }, - { - "input_type": "sequence_file", - "input_id": "fb771836-467f-4897-a755-a17ab281a385" - }, - { - "input_type": "sequence_file", - "input_id": "5f6e0f4b-3541-4197-a67f-01dddc0cf105" - }, - { - "input_type": "sequence_file", - "input_id": "c7970499-e36d-49f3-b1f2-6886746333c9" - }, - { - "input_type": "sequence_file", - "input_id": "6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47" - }, - { - "input_type": "sequence_file", - "input_id": "e4d6ced4-50a3-402a-bbbc-ae329cd3689d" - }, - { - "input_type": "sequence_file", - "input_id": "792fd4bd-9b01-42bf-a883-c651789a198a" - }, - { - "input_type": "sequence_file", - "input_id": "10b3b42b-3612-48fb-849b-bfc036c248a6" - }, - { - "input_type": "sequence_file", - "input_id": "6fc7505d-33db-4d19-99a1-5756cd9a0a1c" - }, - { - "input_type": "sequence_file", - "input_id": "64309a91-ba2b-4b0e-baa9-7cfce3c5d445" - }, - { - "input_type": "sequence_file", - "input_id": "64eedb4a-2f73-4b60-a4b1-99b5ffd0486b" - }, - { - "input_type": "sequence_file", - "input_id": "79d181d1-5b70-4306-a229-74a2a3d5278e" - }, - { - "input_type": "sequence_file", - "input_id": "102b8410-1c0e-46f5-90fe-609ab117221c" - }, - { - "input_type": "sequence_file", - "input_id": "449ec63a-dca8-4a61-98b5-e6789d4946a1" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca" - }, - { - "output_type": "analysis_file", - "output_id": "31e6cb06-0062-4096-84f5-c2d1c2621a82" - }, - { - "output_type": "analysis_file", - "output_id": "d3b3abc2-0da6-4163-acb8-251fe079284c" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "07f1f962-dd38-4a0b-b0b5-f4efe30d21e2" - } - ] - }, - { - "link_type": "process_link", - "process_id": "24f7d4c3-f9ec-476e-b038-e0d83c6e11c8", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "871337d9-1c55-4c97-8f67-2da1fff00847" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "c9517b55-fb72-463a-aab6-e4f64b95c2fc" - }, - { - "output_type": "sequence_file", - "output_id": "c3d3c4a3-527b-490f-8107-bc1b44566df0" - }, - { - "output_type": "sequence_file", - "output_id": "83865a27-24a8-4a70-a8bd-650affa7df5c" - }, - { - "output_type": "sequence_file", - "output_id": "6e650029-386f-4d8e-868e-8780782baa4b" - }, - { - "output_type": "sequence_file", - "output_id": "f859d1ff-df51-4548-b8a4-9eca26bf7454" - }, - { - "output_type": "sequence_file", - "output_id": "79426c6b-bd79-4343-b9fa-ee1e9cfc2aef" - }, - { - "output_type": "sequence_file", - "output_id": "0697146c-0105-4d6f-baff-d9147593eadb" - }, - { - "output_type": "sequence_file", - "output_id": "65fae226-b417-43cd-a5c8-cf2336b8cff5" - }, - { - "output_type": "sequence_file", - "output_id": "7240ec36-6433-4e5c-ba0f-d2770817f963" - }, - { - "output_type": "sequence_file", - "output_id": "d20547e4-3f00-42af-9a7f-9477ff43de0d" - }, - { - "output_type": "sequence_file", - "output_id": "0256729b-47ee-4ed3-adc7-2c0813bb99b9" - }, - { - "output_type": "sequence_file", - "output_id": "7eb2244c-6b4d-4d91-bfc6-44ec12d9319b" - }, - { - "output_type": "sequence_file", - "output_id": "b2a6b8c1-f0bc-4509-b255-8618d7cff205" - }, - { - "output_type": "sequence_file", - "output_id": "bf6cb18e-07de-404d-bebe-4a943dfb44f7" - }, - { - "output_type": "sequence_file", - "output_id": "6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0" - }, - { - "output_type": "sequence_file", - "output_id": "5a172f54-33a5-4e0d-bc0d-1760bad3beb6" - }, - { - "output_type": "sequence_file", - "output_id": "ee36a1ac-7426-4253-81b8-715f37a2ba69" - }, - { - "output_type": "sequence_file", - "output_id": "d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc" - }, - { - "output_type": "sequence_file", - "output_id": "5f5e80b2-0779-4df0-9a18-35bc0db72fdf" - }, - { - "output_type": "sequence_file", - "output_id": "e6b33ccb-99f6-4c02-aa69-e7b581832d04" - }, - { - "output_type": "sequence_file", - "output_id": "9d98496f-f6d8-4106-8b6a-c118ed6ff229" - }, - { - "output_type": "sequence_file", - "output_id": "22343575-1465-455f-8360-4e716aab17fb" - }, - { - "output_type": "sequence_file", - "output_id": "7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4" - }, - { - "output_type": "sequence_file", - "output_id": "9f709f2c-701a-43bc-8417-77fac81c3633" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "72975432-3c46-449a-a4d9-809712d10577" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "63db242f-a88b-4deb-b1e4-3677ade32d18" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f70ce593-fe86-4bef-9e0b-c68a09a12ccc", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "24023592-6f24-47d3-98ea-3c9e03cf3fc4" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "871337d9-1c55-4c97-8f67-2da1fff00847" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0e1884e4-310f-4afb-9721-e0721a290498" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "48f7f503-d213-4447-9ee4-3602da1066d7" - } - ] - }, - { - "link_type": "process_link", - "process_id": "63d29f05-1a74-46a0-ad91-001efa34a021", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "04240909-9185-48d3-a4e9-9eb71b3c6648" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "24023592-6f24-47d3-98ea-3c9e03cf3fc4" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "572a625b-119a-4099-b5eb-d2994f8846bf" - } - ] - }, - { - "link_type": "process_link", - "process_id": "97f00f1b-232c-4425-b51a-7d91b88d3862", - "process_type": "process", - "inputs": [ - { - "input_type": "sequence_file", - "input_id": "3cad3e7e-9e9b-4e4e-a535-509853f9306b" - }, - { - "input_type": "sequence_file", - "input_id": "8840da5d-cbaa-4617-ad50-d2a012563fe6" - }, - { - "input_type": "sequence_file", - "input_id": "e17968e7-5ef9-45fb-b45a-d73d18f41ae6" - }, - { - "input_type": "sequence_file", - "input_id": "fea581ad-b8a8-47d1-a4bb-e18f0753bf13" - }, - { - "input_type": "sequence_file", - "input_id": "7b1418ba-7cd7-4844-924c-ca92b0d3147c" - }, - { - "input_type": "sequence_file", - "input_id": "e0a99b8f-15e2-4a9e-b298-1066a9bcbda7" - }, - { - "input_type": "sequence_file", - "input_id": "7d5ca602-df90-402e-9c12-933e1cdde407" - }, - { - "input_type": "sequence_file", - "input_id": "b3de09c9-37f3-4d58-8930-bbd5d4e136c5" - }, - { - "input_type": "sequence_file", - "input_id": "81898837-23e3-40d9-96e2-04a559d95b2e" - }, - { - "input_type": "sequence_file", - "input_id": "2f74ffc0-b776-4b4a-90c6-327edb41c7ac" - }, - { - "input_type": "sequence_file", - "input_id": "a783909f-5237-4218-8b9d-80653729f3b1" - }, - { - "input_type": "sequence_file", - "input_id": "2d0246fd-696f-4a54-abe6-d759cc6d27b3" - }, - { - "input_type": "sequence_file", - "input_id": "ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02" - }, - { - "input_type": "sequence_file", - "input_id": "c0fc6427-6fa7-4d8d-9d6e-8844a26ff318" - }, - { - "input_type": "sequence_file", - "input_id": "bff57385-2f4f-4695-a153-412c9aabab59" - }, - { - "input_type": "sequence_file", - "input_id": "e61740c1-0e70-4d25-a912-32617d2e71fa" - }, - { - "input_type": "sequence_file", - "input_id": "4d0f1255-5e1b-4852-8030-a7a8f7580f1a" - }, - { - "input_type": "sequence_file", - "input_id": "ab8e7f29-eae9-488a-9337-7a926c8857ac" - }, - { - "input_type": "sequence_file", - "input_id": "bef069b8-2720-4327-8298-9ab2badd4a53" - }, - { - "input_type": "sequence_file", - "input_id": "f5ada827-68c0-4af6-88c6-7e9256b663ff" - }, - { - "input_type": "sequence_file", - "input_id": "db2ecbf9-0e24-4106-b594-73368de0e98b" - }, - { - "input_type": "sequence_file", - "input_id": "c9a2a10f-6638-4463-8c8f-4260c72dcb92" - }, - { - "input_type": "sequence_file", - "input_id": "7060b0f4-a756-41f8-bc65-16c7effef1be" - }, - { - "input_type": "sequence_file", - "input_id": "8898a9f3-4928-45b1-b236-71ce7cb48b11" - }, - { - "input_type": "sequence_file", - "input_id": "30f53c61-a8e3-42cf-a6d2-1b172659c189" - }, - { - "input_type": "sequence_file", - "input_id": "5e25031d-3456-4209-9818-c8882b2623e1" - }, - { - "input_type": "sequence_file", - "input_id": "d0cf423a-1ecf-499b-9e61-95662e23ba40" - }, - { - "input_type": "sequence_file", - "input_id": "99e73efd-4a04-496f-bb32-8f73edb0ae1a" - }, - { - "input_type": "sequence_file", - "input_id": "b35e3b14-91dc-4bf0-a47d-4ed8428efbe1" - }, - { - "input_type": "sequence_file", - "input_id": "8e892b4a-c112-47f2-a058-b87efed5a262" - }, - { - "input_type": "sequence_file", - "input_id": "621547f4-60bc-41b6-bc21-5c970700a1e4" - }, - { - "input_type": "sequence_file", - "input_id": "e06ec666-d2ed-4801-8bc3-03ddcd151c49" - }, - { - "input_type": "sequence_file", - "input_id": "782f79d7-bd59-4cc5-8492-1e680fbb31c1" - }, - { - "input_type": "sequence_file", - "input_id": "c458a416-5736-4b7b-817e-1d87b341f825" - }, - { - "input_type": "sequence_file", - "input_id": "a778ad17-3705-40bc-b425-245d17958638" - }, - { - "input_type": "sequence_file", - "input_id": "5f563e91-d384-4e1e-ac84-20f06332fe8c" - }, - { - "input_type": "sequence_file", - "input_id": "23203fb2-d46d-4d14-95e5-4ec38191e420" - }, - { - "input_type": "sequence_file", - "input_id": "d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb" - }, - { - "input_type": "sequence_file", - "input_id": "fea7ae13-ad77-4b59-9922-14f748263eac" - }, - { - "input_type": "sequence_file", - "input_id": "acfa3362-62b0-429a-b617-3adb722c200f" - }, - { - "input_type": "sequence_file", - "input_id": "6ea29b25-492a-4c00-819d-ec8a0909fa28" - }, - { - "input_type": "sequence_file", - "input_id": "d1f9e5d6-8df2-48d1-b558-9609710ef53f" - }, - { - "input_type": "sequence_file", - "input_id": "937bbdf2-09e3-4bf7-8f45-e46db2188c46" - }, - { - "input_type": "sequence_file", - "input_id": "1badbbc9-6b43-41f6-acad-36f09cff3d21" - }, - { - "input_type": "sequence_file", - "input_id": "f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16" - }, - { - "input_type": "sequence_file", - "input_id": "d04a8b95-a45f-4fc1-a42a-a9afe3188465" - }, - { - "input_type": "sequence_file", - "input_id": "e381aa0d-c2ce-4fe4-9acd-030d9023fcb6" - }, - { - "input_type": "sequence_file", - "input_id": "ac5fdc06-b856-4de0-9423-bdf05d4df650" - }, - { - "input_type": "sequence_file", - "input_id": "87e9a01b-594b-4dc4-b2a7-a14407399b50" - }, - { - "input_type": "sequence_file", - "input_id": "c4c3353d-f33f-4a5b-a2d8-7878daf2d01b" - }, - { - "input_type": "sequence_file", - "input_id": "fd3a8466-6eaf-4251-be4a-f46f85403719" - }, - { - "input_type": "sequence_file", - "input_id": "7abc79b5-e32a-4313-b130-12397d29d684" - }, - { - "input_type": "sequence_file", - "input_id": "4abcf42c-5291-47f3-b7a8-bb1071f56c54" - }, - { - "input_type": "sequence_file", - "input_id": "893dfdd4-43f4-4256-938b-d957928f0daa" - }, - { - "input_type": "sequence_file", - "input_id": "b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5" - }, - { - "input_type": "sequence_file", - "input_id": "fbec3e01-aaf4-41a3-b667-1f0268571d10" - }, - { - "input_type": "sequence_file", - "input_id": "4e066f08-f8b7-4550-adc2-287392fa7731" - }, - { - "input_type": "sequence_file", - "input_id": "e6565b7b-b195-4554-bf60-4b80f2c6dd13" - }, - { - "input_type": "sequence_file", - "input_id": "d1dd53ff-b603-4345-8203-45c384cbc813" - }, - { - "input_type": "sequence_file", - "input_id": "965057e9-48bc-4452-8819-2bc45723a0f7" - }, - { - "input_type": "sequence_file", - "input_id": "b7d7c14d-7bf3-4a8f-8f40-8d6e98505558" - }, - { - "input_type": "sequence_file", - "input_id": "84cc7ee0-4d8e-45a1-b563-d3e05b4ec573" - }, - { - "input_type": "sequence_file", - "input_id": "ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2" - }, - { - "input_type": "sequence_file", - "input_id": "130831cc-87b6-47fd-93a8-ae1890d365f2" - }, - { - "input_type": "sequence_file", - "input_id": "42bbb160-b881-4036-a712-1ab9b5d5ce87" - }, - { - "input_type": "sequence_file", - "input_id": "e9b50275-4ebe-43fe-b3de-1fe3ab930a23" - }, - { - "input_type": "sequence_file", - "input_id": "5621674e-0290-487d-8c0c-49b617d1628c" - }, - { - "input_type": "sequence_file", - "input_id": "868dfde7-2df8-487f-b754-68db8a96ad3a" - }, - { - "input_type": "sequence_file", - "input_id": "daa6813e-0321-413a-9107-8c814825bf93" - }, - { - "input_type": "sequence_file", - "input_id": "ffb64e6b-8924-4adf-ae8f-e55b4dd019dd" - }, - { - "input_type": "sequence_file", - "input_id": "e28d2a66-f506-4a4d-b2c6-823e4e8124d6" - }, - { - "input_type": "sequence_file", - "input_id": "ade0fe79-4629-4a49-8253-e26380046b32" - }, - { - "input_type": "sequence_file", - "input_id": "28023147-3cad-4c1d-b494-b693c4f0a6bd" - }, - { - "input_type": "sequence_file", - "input_id": "3c007e61-0e8a-4337-946c-1082441084c7" - }, - { - "input_type": "sequence_file", - "input_id": "577e4275-b373-40ac-ac3f-8487d6aafe16" - }, - { - "input_type": "sequence_file", - "input_id": "9e74066b-834e-416d-a1e7-bbec1e8f1713" - }, - { - "input_type": "sequence_file", - "input_id": "110bb0f5-9d1a-4573-b711-6bee156d0eb8" - }, - { - "input_type": "sequence_file", - "input_id": "012af05a-4771-45e5-bb92-9b63fcbde822" - }, - { - "input_type": "sequence_file", - "input_id": "565dbd59-2571-4af5-b160-c6d5cd3c684f" - }, - { - "input_type": "sequence_file", - "input_id": "d068c2b0-60c7-429a-938c-cb9c703c4c4d" - }, - { - "input_type": "sequence_file", - "input_id": "71add17d-3b59-4ca2-a032-80819608a34a" - }, - { - "input_type": "sequence_file", - "input_id": "c5e55f39-94a7-4ddd-8972-d217b63fb7cb" - }, - { - "input_type": "sequence_file", - "input_id": "fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce" - }, - { - "input_type": "sequence_file", - "input_id": "4df715c5-a783-41e6-a99e-eedf93a37fb3" - }, - { - "input_type": "sequence_file", - "input_id": "8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a" - }, - { - "input_type": "sequence_file", - "input_id": "b3739e56-e8cc-43b6-8b43-9116b5d75e69" - }, - { - "input_type": "sequence_file", - "input_id": "dd8ac880-75c4-4fe8-89e3-2cc41dad784a" - }, - { - "input_type": "sequence_file", - "input_id": "bb788d30-169b-4160-be07-98222d0a8327" - }, - { - "input_type": "sequence_file", - "input_id": "f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9" - }, - { - "input_type": "sequence_file", - "input_id": "877258d8-07eb-4cb6-a358-7c265c856ab6" - }, - { - "input_type": "sequence_file", - "input_id": "80e88ed6-4480-4888-b25d-d41e90822142" - }, - { - "input_type": "sequence_file", - "input_id": "f5fae200-b633-4ade-8871-94cf47475c67" - }, - { - "input_type": "sequence_file", - "input_id": "47950b5e-3d6f-4b75-9518-feb8b9e9a78b" - }, - { - "input_type": "sequence_file", - "input_id": "1c95a589-205c-4d7c-9c56-c3de4f7dbb66" - }, - { - "input_type": "sequence_file", - "input_id": "a40ed25e-fbf0-40a3-b468-e2bdb55d56d0" - }, - { - "input_type": "sequence_file", - "input_id": "f5274b10-d3ea-44c9-9f27-9af574dea10c" - }, - { - "input_type": "sequence_file", - "input_id": "fd7e7e85-7747-42c3-bc6b-0e4718202d63" - }, - { - "input_type": "sequence_file", - "input_id": "38601526-8448-4253-807b-70878c374901" - }, - { - "input_type": "sequence_file", - "input_id": "45d0b683-d7dc-4e1a-a235-dad58ef03d77" - }, - { - "input_type": "sequence_file", - "input_id": "dff50bd5-38c9-4c35-a5bc-dd51e69f249a" - }, - { - "input_type": "sequence_file", - "input_id": "0506c2a0-ef2b-4850-8567-20d08046bdaa" - }, - { - "input_type": "sequence_file", - "input_id": "dabb5028-64d2-4dbc-89a3-0cf6079ad0cb" - }, - { - "input_type": "sequence_file", - "input_id": "d1ad5518-3619-46dd-a342-f5a3b34f67b1" - }, - { - "input_type": "sequence_file", - "input_id": "bbda7bad-f60b-4091-83b0-b8d96c3f4214" - }, - { - "input_type": "sequence_file", - "input_id": "ce3c8eab-dcb7-403f-8837-6a7986acb6fc" - }, - { - "input_type": "sequence_file", - "input_id": "9e63db48-5b68-40e8-9d8f-aff48223b80e" - }, - { - "input_type": "sequence_file", - "input_id": "74086d10-f049-45c2-8654-de93aac63d94" - }, - { - "input_type": "sequence_file", - "input_id": "c699ee8b-738e-451a-b91d-0e1a6c8bb6f9" - }, - { - "input_type": "sequence_file", - "input_id": "f9db3e23-91ca-487f-a3ec-11ffa8b8f939" - }, - { - "input_type": "sequence_file", - "input_id": "fdd026f9-0ab6-49ef-88f9-4a5d61d12188" - }, - { - "input_type": "sequence_file", - "input_id": "c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2" - }, - { - "input_type": "sequence_file", - "input_id": "72b34b3d-f005-48af-81dc-3631873960d8" - }, - { - "input_type": "sequence_file", - "input_id": "7938acb1-91e3-4d8d-9d24-3b0a9fa28131" - }, - { - "input_type": "sequence_file", - "input_id": "9962de78-e4ef-40ba-b9fc-bd661895a99b" - }, - { - "input_type": "sequence_file", - "input_id": "3cf0f46b-1618-49e6-8cdc-d97a9d2403da" - }, - { - "input_type": "sequence_file", - "input_id": "2f033594-a8bd-49c4-b1b7-69ce88fe26d4" - }, - { - "input_type": "sequence_file", - "input_id": "97eaa3ce-131c-48b8-8082-86bbb6a486b5" - }, - { - "input_type": "sequence_file", - "input_id": "61716326-4fa0-41b9-8ca4-5b020500e8ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0e048f6-0ab6-45fc-a74f-16711af67a2e" - }, - { - "input_type": "sequence_file", - "input_id": "347f630f-a9a0-4430-958f-6c929335031a" - }, - { - "input_type": "sequence_file", - "input_id": "c13ed96e-3052-4a3f-9871-8196c10070a1" - }, - { - "input_type": "sequence_file", - "input_id": "1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1" - }, - { - "input_type": "sequence_file", - "input_id": "09b831a2-5b60-4753-864e-8af803024437" - }, - { - "input_type": "sequence_file", - "input_id": "290232bb-afb1-45b2-8e04-be180948541a" - }, - { - "input_type": "sequence_file", - "input_id": "c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7" - }, - { - "input_type": "sequence_file", - "input_id": "22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22" - }, - { - "input_type": "sequence_file", - "input_id": "da6e341f-43d3-4c22-ab8c-3c3e81986d9b" - }, - { - "input_type": "sequence_file", - "input_id": "6ea00f5c-7e63-493b-b6f9-68ba54dbbed3" - }, - { - "input_type": "sequence_file", - "input_id": "b9acc59a-ba7c-40ef-8611-27069458a508" - }, - { - "input_type": "sequence_file", - "input_id": "6f11ead1-11b1-4bda-8a20-588bb85ec126" - }, - { - "input_type": "sequence_file", - "input_id": "4ca067fb-8ba1-4959-9c1a-878d5705dd67" - }, - { - "input_type": "sequence_file", - "input_id": "f77883e0-6609-4bda-b446-331adbd9d357" - }, - { - "input_type": "sequence_file", - "input_id": "541fc29f-a7a3-456e-b28e-80f9036a4e33" - }, - { - "input_type": "sequence_file", - "input_id": "bd1e5909-c184-4ee0-906c-77e399270a71" - }, - { - "input_type": "sequence_file", - "input_id": "22833c60-dc70-4299-86ac-00747b91b3cb" - }, - { - "input_type": "sequence_file", - "input_id": "24bbde6e-cdf7-4f1c-a447-6501ce377aa4" - }, - { - "input_type": "sequence_file", - "input_id": "7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0" - }, - { - "input_type": "sequence_file", - "input_id": "64c93769-83eb-4718-90f0-36d83b1dae4d" - }, - { - "input_type": "sequence_file", - "input_id": "d3661383-3d73-41a0-8676-295926c07eeb" - }, - { - "input_type": "sequence_file", - "input_id": "9766ad67-37fa-402a-9649-181a1752e5b2" - }, - { - "input_type": "sequence_file", - "input_id": "559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0" - }, - { - "input_type": "sequence_file", - "input_id": "f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0dd6ad5-0582-47de-9cbf-7351ebd5e005" - }, - { - "input_type": "sequence_file", - "input_id": "a60154cf-58b6-461f-8908-b789cdd78ee8" - }, - { - "input_type": "sequence_file", - "input_id": "11d171f7-7775-40a4-90a4-df995775b1c4" - }, - { - "input_type": "sequence_file", - "input_id": "9fa70333-418c-476c-b93b-382096a9cdcb" - }, - { - "input_type": "sequence_file", - "input_id": "6593f54e-682c-4eb4-b2ed-e3c3278d4880" - }, - { - "input_type": "sequence_file", - "input_id": "c3182931-cc4c-4cb7-aab5-4b50093eebea" - }, - { - "input_type": "sequence_file", - "input_id": "3001b82f-bbea-4072-9760-a14a4f00b7d3" - }, - { - "input_type": "sequence_file", - "input_id": "2b62614e-dc4d-46ea-bf29-727d5c33effa" - }, - { - "input_type": "sequence_file", - "input_id": "726a68e9-4fa9-425a-90e7-d0fef30c9d4c" - }, - { - "input_type": "sequence_file", - "input_id": "09610000-dc5c-4665-a72e-b0dad51edf6d" - }, - { - "input_type": "sequence_file", - "input_id": "92951c73-28a3-4820-89d6-15a73fa192cf" - }, - { - "input_type": "sequence_file", - "input_id": "6d9709e5-ce90-46d3-bc95-d5105cafc67a" - }, - { - "input_type": "sequence_file", - "input_id": "523c6c55-66da-4edc-b66a-a33fe20d4102" - }, - { - "input_type": "sequence_file", - "input_id": "75e38979-23f0-4749-bfcc-d8e92db7f2b0" - }, - { - "input_type": "sequence_file", - "input_id": "3fcc4232-b40f-4cca-bd1d-d12a03e4fed0" - }, - { - "input_type": "sequence_file", - "input_id": "80347bc1-ffca-4f66-9ebd-812d22ab3d3f" - }, - { - "input_type": "sequence_file", - "input_id": "28e8f3eb-fedc-4942-8d6b-836fbb7e3441" - }, - { - "input_type": "sequence_file", - "input_id": "40f24220-4c6d-43c4-ab82-1db21d683b07" - }, - { - "input_type": "sequence_file", - "input_id": "b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477" - }, - { - "input_type": "sequence_file", - "input_id": "b7826640-f0cc-4891-860e-7815a8848006" - }, - { - "input_type": "sequence_file", - "input_id": "eccad683-4c2d-4d7f-a141-1effb429fef7" - }, - { - "input_type": "sequence_file", - "input_id": "1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288" - }, - { - "input_type": "sequence_file", - "input_id": "09c0456a-ec0b-47e3-870d-4b47221a45a6" - }, - { - "input_type": "sequence_file", - "input_id": "067d2b7b-127b-421f-91db-0acc05ad62ad" - }, - { - "input_type": "sequence_file", - "input_id": "9bad139c-7abf-4786-a6fc-5f9a5abcd850" - }, - { - "input_type": "sequence_file", - "input_id": "9b03ad8d-aabf-4736-820a-493db4877f84" - }, - { - "input_type": "sequence_file", - "input_id": "3dce5e53-a137-4086-96d3-26dd3d000cf6" - }, - { - "input_type": "sequence_file", - "input_id": "19eb5d2e-2224-4bb4-9f94-526a4c06f7a2" - }, - { - "input_type": "sequence_file", - "input_id": "6b38794f-2d55-4422-8094-fb4a5e100d32" - }, - { - "input_type": "sequence_file", - "input_id": "9a03ec79-7dc7-44fc-bb97-22ad58159436" - }, - { - "input_type": "sequence_file", - "input_id": "69ab8827-b0dc-48ae-84b5-1d27284a7db0" - }, - { - "input_type": "sequence_file", - "input_id": "a2b31671-1874-4c4a-a5c5-fd2787287893" - }, - { - "input_type": "sequence_file", - "input_id": "7186ea5d-49a0-4d72-a24e-2a30d48aa8fc" - }, - { - "input_type": "sequence_file", - "input_id": "e5d2cef3-3902-418c-b905-001052979a54" - }, - { - "input_type": "sequence_file", - "input_id": "02cfb8bb-4eb6-4343-9381-007968f1feee" - }, - { - "input_type": "sequence_file", - "input_id": "d8b9cedb-39d5-47b7-9c64-94e6393fdd0d" - }, - { - "input_type": "sequence_file", - "input_id": "9f577e94-f952-40af-a919-108f4661fdb9" - }, - { - "input_type": "sequence_file", - "input_id": "1d77e73b-9bd3-499f-a0d0-86d9f7306a7e" - }, - { - "input_type": "sequence_file", - "input_id": "c3093b68-54a2-4d31-aa15-50afb0414625" - }, - { - "input_type": "sequence_file", - "input_id": "d73e6663-d29d-47af-a4b4-5cadcd272293" - }, - { - "input_type": "sequence_file", - "input_id": "44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7" - }, - { - "input_type": "sequence_file", - "input_id": "e163d226-febb-4ecf-80db-8e60680be2ab" - }, - { - "input_type": "sequence_file", - "input_id": "a6a99736-43fb-4f67-ae26-0e24d5277c6b" - }, - { - "input_type": "sequence_file", - "input_id": "2ff6533e-8fe3-44c3-b378-99d4acdc0ab8" - }, - { - "input_type": "sequence_file", - "input_id": "3b7b0bcf-b316-4b0e-9d46-f8d44a399774" - }, - { - "input_type": "sequence_file", - "input_id": "d5aab272-e387-4bae-aeb0-987928e0c001" - }, - { - "input_type": "sequence_file", - "input_id": "d359ca8d-a374-4eeb-b214-69df7861d0e3" - }, - { - "input_type": "sequence_file", - "input_id": "c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd" - }, - { - "input_type": "sequence_file", - "input_id": "29ee234c-5d39-4eb9-8f73-22121936b3db" - }, - { - "input_type": "sequence_file", - "input_id": "344c1e18-810e-4800-bbed-0246cbbafa60" - }, - { - "input_type": "sequence_file", - "input_id": "91594c64-a197-4dc9-8605-d57aff0f2e87" - }, - { - "input_type": "sequence_file", - "input_id": "17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8" - }, - { - "input_type": "sequence_file", - "input_id": "fed6f8f3-2c61-4361-8160-2c5a13db83d4" - }, - { - "input_type": "sequence_file", - "input_id": "dae9b045-0d8d-4944-b8a2-d3b64ad7df34" - }, - { - "input_type": "sequence_file", - "input_id": "8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba" - }, - { - "input_type": "sequence_file", - "input_id": "b6dda1ac-9635-426a-869a-82b1420ef251" - }, - { - "input_type": "sequence_file", - "input_id": "47c12e95-67b2-42e1-866b-eb7c5f16a3c6" - }, - { - "input_type": "sequence_file", - "input_id": "edbe53c5-208b-436d-b283-1aa4ee94800c" - }, - { - "input_type": "sequence_file", - "input_id": "4198865c-d4ef-4a01-94c0-8a8397914dbc" - }, - { - "input_type": "sequence_file", - "input_id": "e1c334fa-b493-4892-a48b-3fe594e98b30" - }, - { - "input_type": "sequence_file", - "input_id": "c8b4bc26-7487-48d9-a2f2-6b3934da074d" - }, - { - "input_type": "sequence_file", - "input_id": "b0009333-24fc-4f3e-bf35-3cc8fa808efa" - }, - { - "input_type": "sequence_file", - "input_id": "a45af0aa-2591-4031-8ee8-a3c0a5a76260" - }, - { - "input_type": "sequence_file", - "input_id": "56d5b505-6591-47c4-b469-006e27e6e343" - }, - { - "input_type": "sequence_file", - "input_id": "ebbc0d72-0743-41b8-88f6-736c36bd6499" - }, - { - "input_type": "sequence_file", - "input_id": "7c912919-4b2c-4f4d-bdfe-1988d20aeeed" - }, - { - "input_type": "sequence_file", - "input_id": "b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc" - }, - { - "input_type": "sequence_file", - "input_id": "51aef727-d8de-497f-abbe-e650b1baeeab" - }, - { - "input_type": "sequence_file", - "input_id": "c04b8362-f2c9-4cad-b939-494e738efc19" - }, - { - "input_type": "sequence_file", - "input_id": "782fcb99-9b26-485f-9f7d-bda9cc37f0d2" - }, - { - "input_type": "sequence_file", - "input_id": "cabca52b-8f67-4107-8916-4fd8129ccd97" - }, - { - "input_type": "sequence_file", - "input_id": "79e53d37-c41c-4234-99db-f3333d89bb3a" - }, - { - "input_type": "sequence_file", - "input_id": "e0a914c3-3147-4f06-a8ae-0c16029497dc" - }, - { - "input_type": "sequence_file", - "input_id": "ebc98059-556f-4a51-b1d3-e5afb40fe80e" - }, - { - "input_type": "sequence_file", - "input_id": "a65b7c37-e038-41d5-8623-2046bdc278a4" - }, - { - "input_type": "sequence_file", - "input_id": "7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565" - }, - { - "input_type": "sequence_file", - "input_id": "8fc6dd31-c01c-4eec-ae6c-bedd13f2c209" - }, - { - "input_type": "sequence_file", - "input_id": "ba526c42-7c2f-43c1-a817-06ccdb4d67be" - }, - { - "input_type": "sequence_file", - "input_id": "1adbb95f-f5c3-41ce-8e16-7657d189de79" - }, - { - "input_type": "sequence_file", - "input_id": "887d7cc2-1c24-42a9-aab3-51474d95f927" - }, - { - "input_type": "sequence_file", - "input_id": "6e3aed1a-9909-462c-90e1-a1f766cd380e" - }, - { - "input_type": "sequence_file", - "input_id": "d85ccb81-e861-4bb1-95b6-40762555da1d" - }, - { - "input_type": "sequence_file", - "input_id": "5d00e91c-8691-41ff-836c-b827f23a1a7d" - }, - { - "input_type": "sequence_file", - "input_id": "50fd1926-5615-4e29-be75-e8528d1da8df" - }, - { - "input_type": "sequence_file", - "input_id": "73112827-65e2-4057-98e0-960b4c50afe6" - }, - { - "input_type": "sequence_file", - "input_id": "5f3e080f-d2f2-4350-96b0-fb8169bfcdd9" - }, - { - "input_type": "sequence_file", - "input_id": "e744fafb-3c4b-47c3-91db-db8bb8751279" - }, - { - "input_type": "sequence_file", - "input_id": "3f2ae9d6-763e-4408-bc80-6067ccc756e0" - }, - { - "input_type": "sequence_file", - "input_id": "64e1d438-17af-450b-b90c-04072117cbb1" - }, - { - "input_type": "sequence_file", - "input_id": "a10329ae-6c8a-4df9-bac1-70bdf2c07571" - }, - { - "input_type": "sequence_file", - "input_id": "fd0547d5-7f16-46e4-8948-45c82f923f69" - }, - { - "input_type": "sequence_file", - "input_id": "14795e28-bcee-4da3-83cf-bb2592b6c0d0" - }, - { - "input_type": "sequence_file", - "input_id": "5b977962-16d1-4631-9225-6be262e9ccae" - }, - { - "input_type": "sequence_file", - "input_id": "7eb17ee4-5704-4ce3-8b41-121ef051ee09" - }, - { - "input_type": "sequence_file", - "input_id": "a2385663-3f62-4512-b4d8-4bba405f50a3" - }, - { - "input_type": "sequence_file", - "input_id": "53c40015-48a9-4a3f-a513-d617d28a2352" - }, - { - "input_type": "sequence_file", - "input_id": "2862a721-a50b-4e47-86c5-35547bc44e53" - }, - { - "input_type": "sequence_file", - "input_id": "2a77f1db-b5d4-4657-a522-9786aaa7df80" - }, - { - "input_type": "sequence_file", - "input_id": "035a00e0-02ca-46e8-bb76-9b2449ee922f" - }, - { - "input_type": "sequence_file", - "input_id": "1a589473-0047-4bca-afce-57c8448f0dc6" - }, - { - "input_type": "sequence_file", - "input_id": "dcec351c-327a-46df-aa48-22d2647d5852" - }, - { - "input_type": "sequence_file", - "input_id": "3d8bc409-2043-486a-9a0b-12c71a741d83" - }, - { - "input_type": "sequence_file", - "input_id": "554c1554-ed18-4926-b8d7-5b6af2edab5b" - }, - { - "input_type": "sequence_file", - "input_id": "dcf52037-e357-4b26-9072-05e08bf47978" - }, - { - "input_type": "sequence_file", - "input_id": "ed884cca-c961-40d2-bc8b-b358ea4fb780" - }, - { - "input_type": "sequence_file", - "input_id": "3c9533cf-c7b5-4bbf-9461-87da5aa1b556" - }, - { - "input_type": "sequence_file", - "input_id": "12826f14-2ef8-4069-a797-42d2f4c0937b" - }, - { - "input_type": "sequence_file", - "input_id": "fe586661-4878-4882-a38f-0b6321df5c99" - }, - { - "input_type": "sequence_file", - "input_id": "1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec" - }, - { - "input_type": "sequence_file", - "input_id": "b1e83792-e01e-45e2-bcb8-27b81a0d9db9" - }, - { - "input_type": "sequence_file", - "input_id": "5be8906f-0831-422d-896e-b099d5a23e13" - }, - { - "input_type": "sequence_file", - "input_id": "511eaba4-a8f4-4230-b3ad-407332e22b48" - }, - { - "input_type": "sequence_file", - "input_id": "d5b993f2-d053-4420-994b-04d64bd9e356" - }, - { - "input_type": "sequence_file", - "input_id": "adca7438-701c-4afc-8580-01de6ee68974" - }, - { - "input_type": "sequence_file", - "input_id": "d1f65c9e-628b-4c5f-b76a-1154c1666eba" - }, - { - "input_type": "sequence_file", - "input_id": "21bd79df-cc64-4381-a5c7-0e81e001ea1a" - }, - { - "input_type": "sequence_file", - "input_id": "832ae460-0083-42b0-89a6-cc651e50fad4" - }, - { - "input_type": "sequence_file", - "input_id": "db7576d3-afc9-4860-9a46-bdca8f745fa3" - }, - { - "input_type": "sequence_file", - "input_id": "2b889dd9-0bd3-412a-967e-74fa9600bb4d" - }, - { - "input_type": "sequence_file", - "input_id": "baa2bfd9-d2fb-4b5a-a81d-af84bf24c730" - }, - { - "input_type": "sequence_file", - "input_id": "ac036daf-a7cc-4583-a219-814c77ed8001" - }, - { - "input_type": "sequence_file", - "input_id": "ddaab768-186d-456a-8e1d-8631dc97f6ad" - }, - { - "input_type": "sequence_file", - "input_id": "f78279da-e39f-463b-a1a9-02d4f99f85a5" - }, - { - "input_type": "sequence_file", - "input_id": "fff15476-7228-42be-be8a-bd6b02ee9f81" - }, - { - "input_type": "sequence_file", - "input_id": "a1ac3c01-10da-4b93-a61a-71a62e6ddb22" - }, - { - "input_type": "sequence_file", - "input_id": "319d5a99-4bde-4b20-956a-03a0175478ee" - }, - { - "input_type": "sequence_file", - "input_id": "d13d109b-0106-4102-9769-82bb2ed9cfb7" - }, - { - "input_type": "sequence_file", - "input_id": "7f46ab20-26fa-493e-98c4-24d558f4a0ce" - }, - { - "input_type": "sequence_file", - "input_id": "cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3" - }, - { - "input_type": "sequence_file", - "input_id": "8de95742-6e0f-45bd-b835-ce96ebc1991c" - }, - { - "input_type": "sequence_file", - "input_id": "4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed" - }, - { - "input_type": "sequence_file", - "input_id": "59a4c958-41b6-4680-8021-86ed6be8f55d" - }, - { - "input_type": "sequence_file", - "input_id": "f648cc69-80e7-46a1-8575-aae76b30367c" - }, - { - "input_type": "sequence_file", - "input_id": "1f134dea-8f9b-4e90-a1af-80508f43f73c" - }, - { - "input_type": "sequence_file", - "input_id": "9717e5ab-015a-4fee-9864-0332c60b1e9a" - }, - { - "input_type": "sequence_file", - "input_id": "2a7c1cb6-5d82-4b65-854d-6451c18c62fc" - }, - { - "input_type": "sequence_file", - "input_id": "296db6ee-3e65-48ee-b232-626653165222" - }, - { - "input_type": "sequence_file", - "input_id": "885f171d-901c-4cc4-9c76-c5d8cdf35991" - }, - { - "input_type": "sequence_file", - "input_id": "82899c21-c3c7-4288-bb8f-4c72880c10e4" - }, - { - "input_type": "sequence_file", - "input_id": "04066a52-7468-4783-b49c-46e28b076739" - }, - { - "input_type": "sequence_file", - "input_id": "b0025fa1-e6a6-441b-a018-2c73ceabe237" - }, - { - "input_type": "sequence_file", - "input_id": "7e1f0414-5235-4c79-b334-b278d3ebd8ae" - }, - { - "input_type": "sequence_file", - "input_id": "d691ee05-f531-4c18-b0e9-677dcaabf20f" - }, - { - "input_type": "sequence_file", - "input_id": "97cfc6c1-2a97-41ef-bb36-0ac99b8c8195" - }, - { - "input_type": "sequence_file", - "input_id": "c8995918-5491-41bc-ad76-2099c6314fb1" - }, - { - "input_type": "sequence_file", - "input_id": "884813d1-d03e-4210-9289-e5b0d415484b" - }, - { - "input_type": "sequence_file", - "input_id": "ee28d3e7-02df-46a0-a3ba-f55ad747b214" - }, - { - "input_type": "sequence_file", - "input_id": "972e55ea-7901-435b-9646-53bc8fde2e6f" - }, - { - "input_type": "sequence_file", - "input_id": "58b683d3-03cf-42e9-9cff-4143dff729ca" - }, - { - "input_type": "sequence_file", - "input_id": "d4bbfecd-d580-4eaa-8679-33173740b295" - }, - { - "input_type": "sequence_file", - "input_id": "5275a9fa-7a21-4ef2-9819-5358b2821300" - }, - { - "input_type": "sequence_file", - "input_id": "ce6d4c01-8676-4ae9-91b3-4148deb5b8d9" - }, - { - "input_type": "sequence_file", - "input_id": "f7a68998-a02b-4d1c-8768-0abb9e9ae35a" - }, - { - "input_type": "sequence_file", - "input_id": "0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc" - }, - { - "input_type": "sequence_file", - "input_id": "2aba7a6a-6d70-4310-9e64-071c6adbe16b" - }, - { - "input_type": "sequence_file", - "input_id": "54140f9b-2929-44b6-9fb0-de4c2b22090b" - }, - { - "input_type": "sequence_file", - "input_id": "0c577531-9218-444b-8094-85d8c6f5c73e" - }, - { - "input_type": "sequence_file", - "input_id": "28c505c1-e1c4-4e73-b935-9616224da552" - }, - { - "input_type": "sequence_file", - "input_id": "95e893a0-0885-4e1c-8e31-55863d5108b3" - }, - { - "input_type": "sequence_file", - "input_id": "e9def19b-3967-47e7-a2dd-1bc5f9297959" - }, - { - "input_type": "sequence_file", - "input_id": "96f4d488-e081-4b54-b12a-b2d9546bfc17" - }, - { - "input_type": "sequence_file", - "input_id": "f8988fe1-225c-40b4-933d-9dacb8b4728f" - }, - { - "input_type": "sequence_file", - "input_id": "18d81f7f-94c8-4877-939a-b74ba802835a" - }, - { - "input_type": "sequence_file", - "input_id": "0fa69e92-febb-4bab-857c-4b67a2b17ff6" - }, - { - "input_type": "sequence_file", - "input_id": "09a53782-90ea-4911-a793-706e74127adb" - }, - { - "input_type": "sequence_file", - "input_id": "c67f602f-1b0d-4b0e-bd72-af166f5443fa" - }, - { - "input_type": "sequence_file", - "input_id": "5b80431f-c95a-41ef-8aa7-98816f00e4d6" - }, - { - "input_type": "sequence_file", - "input_id": "70291c50-770c-4e51-8f1b-60be28ea419f" - }, - { - "input_type": "sequence_file", - "input_id": "38e1a4f4-f9ec-44cf-b6bb-1a9566456d38" - }, - { - "input_type": "sequence_file", - "input_id": "154dffeb-efd7-4081-a73c-bf1b73ca9a90" - }, - { - "input_type": "sequence_file", - "input_id": "c9517b55-fb72-463a-aab6-e4f64b95c2fc" - }, - { - "input_type": "sequence_file", - "input_id": "c3d3c4a3-527b-490f-8107-bc1b44566df0" - }, - { - "input_type": "sequence_file", - "input_id": "83865a27-24a8-4a70-a8bd-650affa7df5c" - }, - { - "input_type": "sequence_file", - "input_id": "6e650029-386f-4d8e-868e-8780782baa4b" - }, - { - "input_type": "sequence_file", - "input_id": "f859d1ff-df51-4548-b8a4-9eca26bf7454" - }, - { - "input_type": "sequence_file", - "input_id": "79426c6b-bd79-4343-b9fa-ee1e9cfc2aef" - }, - { - "input_type": "sequence_file", - "input_id": "0697146c-0105-4d6f-baff-d9147593eadb" - }, - { - "input_type": "sequence_file", - "input_id": "65fae226-b417-43cd-a5c8-cf2336b8cff5" - }, - { - "input_type": "sequence_file", - "input_id": "7240ec36-6433-4e5c-ba0f-d2770817f963" - }, - { - "input_type": "sequence_file", - "input_id": "d20547e4-3f00-42af-9a7f-9477ff43de0d" - }, - { - "input_type": "sequence_file", - "input_id": "0256729b-47ee-4ed3-adc7-2c0813bb99b9" - }, - { - "input_type": "sequence_file", - "input_id": "7eb2244c-6b4d-4d91-bfc6-44ec12d9319b" - }, - { - "input_type": "sequence_file", - "input_id": "b2a6b8c1-f0bc-4509-b255-8618d7cff205" - }, - { - "input_type": "sequence_file", - "input_id": "bf6cb18e-07de-404d-bebe-4a943dfb44f7" - }, - { - "input_type": "sequence_file", - "input_id": "6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0" - }, - { - "input_type": "sequence_file", - "input_id": "5a172f54-33a5-4e0d-bc0d-1760bad3beb6" - }, - { - "input_type": "sequence_file", - "input_id": "ee36a1ac-7426-4253-81b8-715f37a2ba69" - }, - { - "input_type": "sequence_file", - "input_id": "d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc" - }, - { - "input_type": "sequence_file", - "input_id": "5f5e80b2-0779-4df0-9a18-35bc0db72fdf" - }, - { - "input_type": "sequence_file", - "input_id": "e6b33ccb-99f6-4c02-aa69-e7b581832d04" - }, - { - "input_type": "sequence_file", - "input_id": "9d98496f-f6d8-4106-8b6a-c118ed6ff229" - }, - { - "input_type": "sequence_file", - "input_id": "22343575-1465-455f-8360-4e716aab17fb" - }, - { - "input_type": "sequence_file", - "input_id": "7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4" - }, - { - "input_type": "sequence_file", - "input_id": "9f709f2c-701a-43bc-8417-77fac81c3633" - }, - { - "input_type": "sequence_file", - "input_id": "a4152d0c-ca88-4cad-af08-40a2e799bec7" - }, - { - "input_type": "sequence_file", - "input_id": "2c4d6e65-8271-4542-97ee-7ba8a6b628d9" - }, - { - "input_type": "sequence_file", - "input_id": "668a508d-34fa-4468-86e8-523380a34da8" - }, - { - "input_type": "sequence_file", - "input_id": "b5c2e557-c303-42cc-8779-bf3b2256c422" - }, - { - "input_type": "sequence_file", - "input_id": "f9eef16f-b9cc-43bb-b9f3-bf0948766e7e" - }, - { - "input_type": "sequence_file", - "input_id": "061936ce-8fbb-4576-8c0c-ed871767917f" - }, - { - "input_type": "sequence_file", - "input_id": "762c2720-f65c-4804-844f-2302bc33ebbc" - }, - { - "input_type": "sequence_file", - "input_id": "fedc286a-9bbc-4db0-8bf5-b3f0b69fb559" - }, - { - "input_type": "sequence_file", - "input_id": "43f476f9-cbfc-431a-a774-5885904b434c" - }, - { - "input_type": "sequence_file", - "input_id": "65b78fda-7874-455f-9c9a-bf7aca375a0b" - }, - { - "input_type": "sequence_file", - "input_id": "82fc0df9-9828-433e-ac6d-73f4bbceefcf" - }, - { - "input_type": "sequence_file", - "input_id": "fb771836-467f-4897-a755-a17ab281a385" - }, - { - "input_type": "sequence_file", - "input_id": "5f6e0f4b-3541-4197-a67f-01dddc0cf105" - }, - { - "input_type": "sequence_file", - "input_id": "c7970499-e36d-49f3-b1f2-6886746333c9" - }, - { - "input_type": "sequence_file", - "input_id": "6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47" - }, - { - "input_type": "sequence_file", - "input_id": "e4d6ced4-50a3-402a-bbbc-ae329cd3689d" - }, - { - "input_type": "sequence_file", - "input_id": "792fd4bd-9b01-42bf-a883-c651789a198a" - }, - { - "input_type": "sequence_file", - "input_id": "10b3b42b-3612-48fb-849b-bfc036c248a6" - }, - { - "input_type": "sequence_file", - "input_id": "6fc7505d-33db-4d19-99a1-5756cd9a0a1c" - }, - { - "input_type": "sequence_file", - "input_id": "64309a91-ba2b-4b0e-baa9-7cfce3c5d445" - }, - { - "input_type": "sequence_file", - "input_id": "64eedb4a-2f73-4b60-a4b1-99b5ffd0486b" - }, - { - "input_type": "sequence_file", - "input_id": "79d181d1-5b70-4306-a229-74a2a3d5278e" - }, - { - "input_type": "sequence_file", - "input_id": "102b8410-1c0e-46f5-90fe-609ab117221c" - }, - { - "input_type": "sequence_file", - "input_id": "449ec63a-dca8-4a61-98b5-e6789d4946a1" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca" - }, - { - "output_type": "analysis_file", - "output_id": "31e6cb06-0062-4096-84f5-c2d1c2621a82" - }, - { - "output_type": "analysis_file", - "output_id": "d3b3abc2-0da6-4163-acb8-251fe079284c" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "07f1f962-dd38-4a0b-b0b5-f4efe30d21e2" - } - ] - }, - { - "link_type": "process_link", - "process_id": "04836733-0449-4e57-be2e-6f3b8fbdfb12", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "f21781e9-e5c7-48ff-9d7d-0e3637968279" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "d3661383-3d73-41a0-8676-295926c07eeb" - }, - { - "output_type": "sequence_file", - "output_id": "9766ad67-37fa-402a-9649-181a1752e5b2" - }, - { - "output_type": "sequence_file", - "output_id": "559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0" - }, - { - "output_type": "sequence_file", - "output_id": "f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad" - }, - { - "output_type": "sequence_file", - "output_id": "e0dd6ad5-0582-47de-9cbf-7351ebd5e005" - }, - { - "output_type": "sequence_file", - "output_id": "a60154cf-58b6-461f-8908-b789cdd78ee8" - }, - { - "output_type": "sequence_file", - "output_id": "11d171f7-7775-40a4-90a4-df995775b1c4" - }, - { - "output_type": "sequence_file", - "output_id": "9fa70333-418c-476c-b93b-382096a9cdcb" - }, - { - "output_type": "sequence_file", - "output_id": "6593f54e-682c-4eb4-b2ed-e3c3278d4880" - }, - { - "output_type": "sequence_file", - "output_id": "c3182931-cc4c-4cb7-aab5-4b50093eebea" - }, - { - "output_type": "sequence_file", - "output_id": "3001b82f-bbea-4072-9760-a14a4f00b7d3" - }, - { - "output_type": "sequence_file", - "output_id": "2b62614e-dc4d-46ea-bf29-727d5c33effa" - }, - { - "output_type": "sequence_file", - "output_id": "726a68e9-4fa9-425a-90e7-d0fef30c9d4c" - }, - { - "output_type": "sequence_file", - "output_id": "09610000-dc5c-4665-a72e-b0dad51edf6d" - }, - { - "output_type": "sequence_file", - "output_id": "92951c73-28a3-4820-89d6-15a73fa192cf" - }, - { - "output_type": "sequence_file", - "output_id": "6d9709e5-ce90-46d3-bc95-d5105cafc67a" - }, - { - "output_type": "sequence_file", - "output_id": "523c6c55-66da-4edc-b66a-a33fe20d4102" - }, - { - "output_type": "sequence_file", - "output_id": "75e38979-23f0-4749-bfcc-d8e92db7f2b0" - }, - { - "output_type": "sequence_file", - "output_id": "3fcc4232-b40f-4cca-bd1d-d12a03e4fed0" - }, - { - "output_type": "sequence_file", - "output_id": "80347bc1-ffca-4f66-9ebd-812d22ab3d3f" - }, - { - "output_type": "sequence_file", - "output_id": "28e8f3eb-fedc-4942-8d6b-836fbb7e3441" - }, - { - "output_type": "sequence_file", - "output_id": "40f24220-4c6d-43c4-ab82-1db21d683b07" - }, - { - "output_type": "sequence_file", - "output_id": "b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477" - }, - { - "output_type": "sequence_file", - "output_id": "b7826640-f0cc-4891-860e-7815a8848006" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "72975432-3c46-449a-a4d9-809712d10577" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "63db242f-a88b-4deb-b1e4-3677ade32d18" - } - ] - }, - { - "link_type": "process_link", - "process_id": "d7875d0d-da64-49d0-8540-e601d445107c", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "5bd31092-57c0-4d69-aa2b-72d902872cca" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "f21781e9-e5c7-48ff-9d7d-0e3637968279" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0e1884e4-310f-4afb-9721-e0721a290498" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "48f7f503-d213-4447-9ee4-3602da1066d7" - } - ] - }, - { - "link_type": "process_link", - "process_id": "9e346701-eb3c-40b3-b3dd-75ce047bcb78", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "cf1aab9f-caf1-4fe3-9724-61f6475f332b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5bd31092-57c0-4d69-aa2b-72d902872cca" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "dbeb62b8-e3e8-40f4-a06d-477ed495dfd9" - } - ] - }, - { - "link_type": "process_link", - "process_id": "97f00f1b-232c-4425-b51a-7d91b88d3862", - "process_type": "process", - "inputs": [ - { - "input_type": "sequence_file", - "input_id": "3cad3e7e-9e9b-4e4e-a535-509853f9306b" - }, - { - "input_type": "sequence_file", - "input_id": "8840da5d-cbaa-4617-ad50-d2a012563fe6" - }, - { - "input_type": "sequence_file", - "input_id": "e17968e7-5ef9-45fb-b45a-d73d18f41ae6" - }, - { - "input_type": "sequence_file", - "input_id": "fea581ad-b8a8-47d1-a4bb-e18f0753bf13" - }, - { - "input_type": "sequence_file", - "input_id": "7b1418ba-7cd7-4844-924c-ca92b0d3147c" - }, - { - "input_type": "sequence_file", - "input_id": "e0a99b8f-15e2-4a9e-b298-1066a9bcbda7" - }, - { - "input_type": "sequence_file", - "input_id": "7d5ca602-df90-402e-9c12-933e1cdde407" - }, - { - "input_type": "sequence_file", - "input_id": "b3de09c9-37f3-4d58-8930-bbd5d4e136c5" - }, - { - "input_type": "sequence_file", - "input_id": "81898837-23e3-40d9-96e2-04a559d95b2e" - }, - { - "input_type": "sequence_file", - "input_id": "2f74ffc0-b776-4b4a-90c6-327edb41c7ac" - }, - { - "input_type": "sequence_file", - "input_id": "a783909f-5237-4218-8b9d-80653729f3b1" - }, - { - "input_type": "sequence_file", - "input_id": "2d0246fd-696f-4a54-abe6-d759cc6d27b3" - }, - { - "input_type": "sequence_file", - "input_id": "ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02" - }, - { - "input_type": "sequence_file", - "input_id": "c0fc6427-6fa7-4d8d-9d6e-8844a26ff318" - }, - { - "input_type": "sequence_file", - "input_id": "bff57385-2f4f-4695-a153-412c9aabab59" - }, - { - "input_type": "sequence_file", - "input_id": "e61740c1-0e70-4d25-a912-32617d2e71fa" - }, - { - "input_type": "sequence_file", - "input_id": "4d0f1255-5e1b-4852-8030-a7a8f7580f1a" - }, - { - "input_type": "sequence_file", - "input_id": "ab8e7f29-eae9-488a-9337-7a926c8857ac" - }, - { - "input_type": "sequence_file", - "input_id": "bef069b8-2720-4327-8298-9ab2badd4a53" - }, - { - "input_type": "sequence_file", - "input_id": "f5ada827-68c0-4af6-88c6-7e9256b663ff" - }, - { - "input_type": "sequence_file", - "input_id": "db2ecbf9-0e24-4106-b594-73368de0e98b" - }, - { - "input_type": "sequence_file", - "input_id": "c9a2a10f-6638-4463-8c8f-4260c72dcb92" - }, - { - "input_type": "sequence_file", - "input_id": "7060b0f4-a756-41f8-bc65-16c7effef1be" - }, - { - "input_type": "sequence_file", - "input_id": "8898a9f3-4928-45b1-b236-71ce7cb48b11" - }, - { - "input_type": "sequence_file", - "input_id": "30f53c61-a8e3-42cf-a6d2-1b172659c189" - }, - { - "input_type": "sequence_file", - "input_id": "5e25031d-3456-4209-9818-c8882b2623e1" - }, - { - "input_type": "sequence_file", - "input_id": "d0cf423a-1ecf-499b-9e61-95662e23ba40" - }, - { - "input_type": "sequence_file", - "input_id": "99e73efd-4a04-496f-bb32-8f73edb0ae1a" - }, - { - "input_type": "sequence_file", - "input_id": "b35e3b14-91dc-4bf0-a47d-4ed8428efbe1" - }, - { - "input_type": "sequence_file", - "input_id": "8e892b4a-c112-47f2-a058-b87efed5a262" - }, - { - "input_type": "sequence_file", - "input_id": "621547f4-60bc-41b6-bc21-5c970700a1e4" - }, - { - "input_type": "sequence_file", - "input_id": "e06ec666-d2ed-4801-8bc3-03ddcd151c49" - }, - { - "input_type": "sequence_file", - "input_id": "782f79d7-bd59-4cc5-8492-1e680fbb31c1" - }, - { - "input_type": "sequence_file", - "input_id": "c458a416-5736-4b7b-817e-1d87b341f825" - }, - { - "input_type": "sequence_file", - "input_id": "a778ad17-3705-40bc-b425-245d17958638" - }, - { - "input_type": "sequence_file", - "input_id": "5f563e91-d384-4e1e-ac84-20f06332fe8c" - }, - { - "input_type": "sequence_file", - "input_id": "23203fb2-d46d-4d14-95e5-4ec38191e420" - }, - { - "input_type": "sequence_file", - "input_id": "d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb" - }, - { - "input_type": "sequence_file", - "input_id": "fea7ae13-ad77-4b59-9922-14f748263eac" - }, - { - "input_type": "sequence_file", - "input_id": "acfa3362-62b0-429a-b617-3adb722c200f" - }, - { - "input_type": "sequence_file", - "input_id": "6ea29b25-492a-4c00-819d-ec8a0909fa28" - }, - { - "input_type": "sequence_file", - "input_id": "d1f9e5d6-8df2-48d1-b558-9609710ef53f" - }, - { - "input_type": "sequence_file", - "input_id": "937bbdf2-09e3-4bf7-8f45-e46db2188c46" - }, - { - "input_type": "sequence_file", - "input_id": "1badbbc9-6b43-41f6-acad-36f09cff3d21" - }, - { - "input_type": "sequence_file", - "input_id": "f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16" - }, - { - "input_type": "sequence_file", - "input_id": "d04a8b95-a45f-4fc1-a42a-a9afe3188465" - }, - { - "input_type": "sequence_file", - "input_id": "e381aa0d-c2ce-4fe4-9acd-030d9023fcb6" - }, - { - "input_type": "sequence_file", - "input_id": "ac5fdc06-b856-4de0-9423-bdf05d4df650" - }, - { - "input_type": "sequence_file", - "input_id": "87e9a01b-594b-4dc4-b2a7-a14407399b50" - }, - { - "input_type": "sequence_file", - "input_id": "c4c3353d-f33f-4a5b-a2d8-7878daf2d01b" - }, - { - "input_type": "sequence_file", - "input_id": "fd3a8466-6eaf-4251-be4a-f46f85403719" - }, - { - "input_type": "sequence_file", - "input_id": "7abc79b5-e32a-4313-b130-12397d29d684" - }, - { - "input_type": "sequence_file", - "input_id": "4abcf42c-5291-47f3-b7a8-bb1071f56c54" - }, - { - "input_type": "sequence_file", - "input_id": "893dfdd4-43f4-4256-938b-d957928f0daa" - }, - { - "input_type": "sequence_file", - "input_id": "b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5" - }, - { - "input_type": "sequence_file", - "input_id": "fbec3e01-aaf4-41a3-b667-1f0268571d10" - }, - { - "input_type": "sequence_file", - "input_id": "4e066f08-f8b7-4550-adc2-287392fa7731" - }, - { - "input_type": "sequence_file", - "input_id": "e6565b7b-b195-4554-bf60-4b80f2c6dd13" - }, - { - "input_type": "sequence_file", - "input_id": "d1dd53ff-b603-4345-8203-45c384cbc813" - }, - { - "input_type": "sequence_file", - "input_id": "965057e9-48bc-4452-8819-2bc45723a0f7" - }, - { - "input_type": "sequence_file", - "input_id": "b7d7c14d-7bf3-4a8f-8f40-8d6e98505558" - }, - { - "input_type": "sequence_file", - "input_id": "84cc7ee0-4d8e-45a1-b563-d3e05b4ec573" - }, - { - "input_type": "sequence_file", - "input_id": "ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2" - }, - { - "input_type": "sequence_file", - "input_id": "130831cc-87b6-47fd-93a8-ae1890d365f2" - }, - { - "input_type": "sequence_file", - "input_id": "42bbb160-b881-4036-a712-1ab9b5d5ce87" - }, - { - "input_type": "sequence_file", - "input_id": "e9b50275-4ebe-43fe-b3de-1fe3ab930a23" - }, - { - "input_type": "sequence_file", - "input_id": "5621674e-0290-487d-8c0c-49b617d1628c" - }, - { - "input_type": "sequence_file", - "input_id": "868dfde7-2df8-487f-b754-68db8a96ad3a" - }, - { - "input_type": "sequence_file", - "input_id": "daa6813e-0321-413a-9107-8c814825bf93" - }, - { - "input_type": "sequence_file", - "input_id": "ffb64e6b-8924-4adf-ae8f-e55b4dd019dd" - }, - { - "input_type": "sequence_file", - "input_id": "e28d2a66-f506-4a4d-b2c6-823e4e8124d6" - }, - { - "input_type": "sequence_file", - "input_id": "ade0fe79-4629-4a49-8253-e26380046b32" - }, - { - "input_type": "sequence_file", - "input_id": "28023147-3cad-4c1d-b494-b693c4f0a6bd" - }, - { - "input_type": "sequence_file", - "input_id": "3c007e61-0e8a-4337-946c-1082441084c7" - }, - { - "input_type": "sequence_file", - "input_id": "577e4275-b373-40ac-ac3f-8487d6aafe16" - }, - { - "input_type": "sequence_file", - "input_id": "9e74066b-834e-416d-a1e7-bbec1e8f1713" - }, - { - "input_type": "sequence_file", - "input_id": "110bb0f5-9d1a-4573-b711-6bee156d0eb8" - }, - { - "input_type": "sequence_file", - "input_id": "012af05a-4771-45e5-bb92-9b63fcbde822" - }, - { - "input_type": "sequence_file", - "input_id": "565dbd59-2571-4af5-b160-c6d5cd3c684f" - }, - { - "input_type": "sequence_file", - "input_id": "d068c2b0-60c7-429a-938c-cb9c703c4c4d" - }, - { - "input_type": "sequence_file", - "input_id": "71add17d-3b59-4ca2-a032-80819608a34a" - }, - { - "input_type": "sequence_file", - "input_id": "c5e55f39-94a7-4ddd-8972-d217b63fb7cb" - }, - { - "input_type": "sequence_file", - "input_id": "fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce" - }, - { - "input_type": "sequence_file", - "input_id": "4df715c5-a783-41e6-a99e-eedf93a37fb3" - }, - { - "input_type": "sequence_file", - "input_id": "8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a" - }, - { - "input_type": "sequence_file", - "input_id": "b3739e56-e8cc-43b6-8b43-9116b5d75e69" - }, - { - "input_type": "sequence_file", - "input_id": "dd8ac880-75c4-4fe8-89e3-2cc41dad784a" - }, - { - "input_type": "sequence_file", - "input_id": "bb788d30-169b-4160-be07-98222d0a8327" - }, - { - "input_type": "sequence_file", - "input_id": "f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9" - }, - { - "input_type": "sequence_file", - "input_id": "877258d8-07eb-4cb6-a358-7c265c856ab6" - }, - { - "input_type": "sequence_file", - "input_id": "80e88ed6-4480-4888-b25d-d41e90822142" - }, - { - "input_type": "sequence_file", - "input_id": "f5fae200-b633-4ade-8871-94cf47475c67" - }, - { - "input_type": "sequence_file", - "input_id": "47950b5e-3d6f-4b75-9518-feb8b9e9a78b" - }, - { - "input_type": "sequence_file", - "input_id": "1c95a589-205c-4d7c-9c56-c3de4f7dbb66" - }, - { - "input_type": "sequence_file", - "input_id": "a40ed25e-fbf0-40a3-b468-e2bdb55d56d0" - }, - { - "input_type": "sequence_file", - "input_id": "f5274b10-d3ea-44c9-9f27-9af574dea10c" - }, - { - "input_type": "sequence_file", - "input_id": "fd7e7e85-7747-42c3-bc6b-0e4718202d63" - }, - { - "input_type": "sequence_file", - "input_id": "38601526-8448-4253-807b-70878c374901" - }, - { - "input_type": "sequence_file", - "input_id": "45d0b683-d7dc-4e1a-a235-dad58ef03d77" - }, - { - "input_type": "sequence_file", - "input_id": "dff50bd5-38c9-4c35-a5bc-dd51e69f249a" - }, - { - "input_type": "sequence_file", - "input_id": "0506c2a0-ef2b-4850-8567-20d08046bdaa" - }, - { - "input_type": "sequence_file", - "input_id": "dabb5028-64d2-4dbc-89a3-0cf6079ad0cb" - }, - { - "input_type": "sequence_file", - "input_id": "d1ad5518-3619-46dd-a342-f5a3b34f67b1" - }, - { - "input_type": "sequence_file", - "input_id": "bbda7bad-f60b-4091-83b0-b8d96c3f4214" - }, - { - "input_type": "sequence_file", - "input_id": "ce3c8eab-dcb7-403f-8837-6a7986acb6fc" - }, - { - "input_type": "sequence_file", - "input_id": "9e63db48-5b68-40e8-9d8f-aff48223b80e" - }, - { - "input_type": "sequence_file", - "input_id": "74086d10-f049-45c2-8654-de93aac63d94" - }, - { - "input_type": "sequence_file", - "input_id": "c699ee8b-738e-451a-b91d-0e1a6c8bb6f9" - }, - { - "input_type": "sequence_file", - "input_id": "f9db3e23-91ca-487f-a3ec-11ffa8b8f939" - }, - { - "input_type": "sequence_file", - "input_id": "fdd026f9-0ab6-49ef-88f9-4a5d61d12188" - }, - { - "input_type": "sequence_file", - "input_id": "c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2" - }, - { - "input_type": "sequence_file", - "input_id": "72b34b3d-f005-48af-81dc-3631873960d8" - }, - { - "input_type": "sequence_file", - "input_id": "7938acb1-91e3-4d8d-9d24-3b0a9fa28131" - }, - { - "input_type": "sequence_file", - "input_id": "9962de78-e4ef-40ba-b9fc-bd661895a99b" - }, - { - "input_type": "sequence_file", - "input_id": "3cf0f46b-1618-49e6-8cdc-d97a9d2403da" - }, - { - "input_type": "sequence_file", - "input_id": "2f033594-a8bd-49c4-b1b7-69ce88fe26d4" - }, - { - "input_type": "sequence_file", - "input_id": "97eaa3ce-131c-48b8-8082-86bbb6a486b5" - }, - { - "input_type": "sequence_file", - "input_id": "61716326-4fa0-41b9-8ca4-5b020500e8ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0e048f6-0ab6-45fc-a74f-16711af67a2e" - }, - { - "input_type": "sequence_file", - "input_id": "347f630f-a9a0-4430-958f-6c929335031a" - }, - { - "input_type": "sequence_file", - "input_id": "c13ed96e-3052-4a3f-9871-8196c10070a1" - }, - { - "input_type": "sequence_file", - "input_id": "1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1" - }, - { - "input_type": "sequence_file", - "input_id": "09b831a2-5b60-4753-864e-8af803024437" - }, - { - "input_type": "sequence_file", - "input_id": "290232bb-afb1-45b2-8e04-be180948541a" - }, - { - "input_type": "sequence_file", - "input_id": "c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7" - }, - { - "input_type": "sequence_file", - "input_id": "22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22" - }, - { - "input_type": "sequence_file", - "input_id": "da6e341f-43d3-4c22-ab8c-3c3e81986d9b" - }, - { - "input_type": "sequence_file", - "input_id": "6ea00f5c-7e63-493b-b6f9-68ba54dbbed3" - }, - { - "input_type": "sequence_file", - "input_id": "b9acc59a-ba7c-40ef-8611-27069458a508" - }, - { - "input_type": "sequence_file", - "input_id": "6f11ead1-11b1-4bda-8a20-588bb85ec126" - }, - { - "input_type": "sequence_file", - "input_id": "4ca067fb-8ba1-4959-9c1a-878d5705dd67" - }, - { - "input_type": "sequence_file", - "input_id": "f77883e0-6609-4bda-b446-331adbd9d357" - }, - { - "input_type": "sequence_file", - "input_id": "541fc29f-a7a3-456e-b28e-80f9036a4e33" - }, - { - "input_type": "sequence_file", - "input_id": "bd1e5909-c184-4ee0-906c-77e399270a71" - }, - { - "input_type": "sequence_file", - "input_id": "22833c60-dc70-4299-86ac-00747b91b3cb" - }, - { - "input_type": "sequence_file", - "input_id": "24bbde6e-cdf7-4f1c-a447-6501ce377aa4" - }, - { - "input_type": "sequence_file", - "input_id": "7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0" - }, - { - "input_type": "sequence_file", - "input_id": "64c93769-83eb-4718-90f0-36d83b1dae4d" - }, - { - "input_type": "sequence_file", - "input_id": "d3661383-3d73-41a0-8676-295926c07eeb" - }, - { - "input_type": "sequence_file", - "input_id": "9766ad67-37fa-402a-9649-181a1752e5b2" - }, - { - "input_type": "sequence_file", - "input_id": "559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0" - }, - { - "input_type": "sequence_file", - "input_id": "f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0dd6ad5-0582-47de-9cbf-7351ebd5e005" - }, - { - "input_type": "sequence_file", - "input_id": "a60154cf-58b6-461f-8908-b789cdd78ee8" - }, - { - "input_type": "sequence_file", - "input_id": "11d171f7-7775-40a4-90a4-df995775b1c4" - }, - { - "input_type": "sequence_file", - "input_id": "9fa70333-418c-476c-b93b-382096a9cdcb" - }, - { - "input_type": "sequence_file", - "input_id": "6593f54e-682c-4eb4-b2ed-e3c3278d4880" - }, - { - "input_type": "sequence_file", - "input_id": "c3182931-cc4c-4cb7-aab5-4b50093eebea" - }, - { - "input_type": "sequence_file", - "input_id": "3001b82f-bbea-4072-9760-a14a4f00b7d3" - }, - { - "input_type": "sequence_file", - "input_id": "2b62614e-dc4d-46ea-bf29-727d5c33effa" - }, - { - "input_type": "sequence_file", - "input_id": "726a68e9-4fa9-425a-90e7-d0fef30c9d4c" - }, - { - "input_type": "sequence_file", - "input_id": "09610000-dc5c-4665-a72e-b0dad51edf6d" - }, - { - "input_type": "sequence_file", - "input_id": "92951c73-28a3-4820-89d6-15a73fa192cf" - }, - { - "input_type": "sequence_file", - "input_id": "6d9709e5-ce90-46d3-bc95-d5105cafc67a" - }, - { - "input_type": "sequence_file", - "input_id": "523c6c55-66da-4edc-b66a-a33fe20d4102" - }, - { - "input_type": "sequence_file", - "input_id": "75e38979-23f0-4749-bfcc-d8e92db7f2b0" - }, - { - "input_type": "sequence_file", - "input_id": "3fcc4232-b40f-4cca-bd1d-d12a03e4fed0" - }, - { - "input_type": "sequence_file", - "input_id": "80347bc1-ffca-4f66-9ebd-812d22ab3d3f" - }, - { - "input_type": "sequence_file", - "input_id": "28e8f3eb-fedc-4942-8d6b-836fbb7e3441" - }, - { - "input_type": "sequence_file", - "input_id": "40f24220-4c6d-43c4-ab82-1db21d683b07" - }, - { - "input_type": "sequence_file", - "input_id": "b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477" - }, - { - "input_type": "sequence_file", - "input_id": "b7826640-f0cc-4891-860e-7815a8848006" - }, - { - "input_type": "sequence_file", - "input_id": "eccad683-4c2d-4d7f-a141-1effb429fef7" - }, - { - "input_type": "sequence_file", - "input_id": "1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288" - }, - { - "input_type": "sequence_file", - "input_id": "09c0456a-ec0b-47e3-870d-4b47221a45a6" - }, - { - "input_type": "sequence_file", - "input_id": "067d2b7b-127b-421f-91db-0acc05ad62ad" - }, - { - "input_type": "sequence_file", - "input_id": "9bad139c-7abf-4786-a6fc-5f9a5abcd850" - }, - { - "input_type": "sequence_file", - "input_id": "9b03ad8d-aabf-4736-820a-493db4877f84" - }, - { - "input_type": "sequence_file", - "input_id": "3dce5e53-a137-4086-96d3-26dd3d000cf6" - }, - { - "input_type": "sequence_file", - "input_id": "19eb5d2e-2224-4bb4-9f94-526a4c06f7a2" - }, - { - "input_type": "sequence_file", - "input_id": "6b38794f-2d55-4422-8094-fb4a5e100d32" - }, - { - "input_type": "sequence_file", - "input_id": "9a03ec79-7dc7-44fc-bb97-22ad58159436" - }, - { - "input_type": "sequence_file", - "input_id": "69ab8827-b0dc-48ae-84b5-1d27284a7db0" - }, - { - "input_type": "sequence_file", - "input_id": "a2b31671-1874-4c4a-a5c5-fd2787287893" - }, - { - "input_type": "sequence_file", - "input_id": "7186ea5d-49a0-4d72-a24e-2a30d48aa8fc" - }, - { - "input_type": "sequence_file", - "input_id": "e5d2cef3-3902-418c-b905-001052979a54" - }, - { - "input_type": "sequence_file", - "input_id": "02cfb8bb-4eb6-4343-9381-007968f1feee" - }, - { - "input_type": "sequence_file", - "input_id": "d8b9cedb-39d5-47b7-9c64-94e6393fdd0d" - }, - { - "input_type": "sequence_file", - "input_id": "9f577e94-f952-40af-a919-108f4661fdb9" - }, - { - "input_type": "sequence_file", - "input_id": "1d77e73b-9bd3-499f-a0d0-86d9f7306a7e" - }, - { - "input_type": "sequence_file", - "input_id": "c3093b68-54a2-4d31-aa15-50afb0414625" - }, - { - "input_type": "sequence_file", - "input_id": "d73e6663-d29d-47af-a4b4-5cadcd272293" - }, - { - "input_type": "sequence_file", - "input_id": "44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7" - }, - { - "input_type": "sequence_file", - "input_id": "e163d226-febb-4ecf-80db-8e60680be2ab" - }, - { - "input_type": "sequence_file", - "input_id": "a6a99736-43fb-4f67-ae26-0e24d5277c6b" - }, - { - "input_type": "sequence_file", - "input_id": "2ff6533e-8fe3-44c3-b378-99d4acdc0ab8" - }, - { - "input_type": "sequence_file", - "input_id": "3b7b0bcf-b316-4b0e-9d46-f8d44a399774" - }, - { - "input_type": "sequence_file", - "input_id": "d5aab272-e387-4bae-aeb0-987928e0c001" - }, - { - "input_type": "sequence_file", - "input_id": "d359ca8d-a374-4eeb-b214-69df7861d0e3" - }, - { - "input_type": "sequence_file", - "input_id": "c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd" - }, - { - "input_type": "sequence_file", - "input_id": "29ee234c-5d39-4eb9-8f73-22121936b3db" - }, - { - "input_type": "sequence_file", - "input_id": "344c1e18-810e-4800-bbed-0246cbbafa60" - }, - { - "input_type": "sequence_file", - "input_id": "91594c64-a197-4dc9-8605-d57aff0f2e87" - }, - { - "input_type": "sequence_file", - "input_id": "17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8" - }, - { - "input_type": "sequence_file", - "input_id": "fed6f8f3-2c61-4361-8160-2c5a13db83d4" - }, - { - "input_type": "sequence_file", - "input_id": "dae9b045-0d8d-4944-b8a2-d3b64ad7df34" - }, - { - "input_type": "sequence_file", - "input_id": "8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba" - }, - { - "input_type": "sequence_file", - "input_id": "b6dda1ac-9635-426a-869a-82b1420ef251" - }, - { - "input_type": "sequence_file", - "input_id": "47c12e95-67b2-42e1-866b-eb7c5f16a3c6" - }, - { - "input_type": "sequence_file", - "input_id": "edbe53c5-208b-436d-b283-1aa4ee94800c" - }, - { - "input_type": "sequence_file", - "input_id": "4198865c-d4ef-4a01-94c0-8a8397914dbc" - }, - { - "input_type": "sequence_file", - "input_id": "e1c334fa-b493-4892-a48b-3fe594e98b30" - }, - { - "input_type": "sequence_file", - "input_id": "c8b4bc26-7487-48d9-a2f2-6b3934da074d" - }, - { - "input_type": "sequence_file", - "input_id": "b0009333-24fc-4f3e-bf35-3cc8fa808efa" - }, - { - "input_type": "sequence_file", - "input_id": "a45af0aa-2591-4031-8ee8-a3c0a5a76260" - }, - { - "input_type": "sequence_file", - "input_id": "56d5b505-6591-47c4-b469-006e27e6e343" - }, - { - "input_type": "sequence_file", - "input_id": "ebbc0d72-0743-41b8-88f6-736c36bd6499" - }, - { - "input_type": "sequence_file", - "input_id": "7c912919-4b2c-4f4d-bdfe-1988d20aeeed" - }, - { - "input_type": "sequence_file", - "input_id": "b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc" - }, - { - "input_type": "sequence_file", - "input_id": "51aef727-d8de-497f-abbe-e650b1baeeab" - }, - { - "input_type": "sequence_file", - "input_id": "c04b8362-f2c9-4cad-b939-494e738efc19" - }, - { - "input_type": "sequence_file", - "input_id": "782fcb99-9b26-485f-9f7d-bda9cc37f0d2" - }, - { - "input_type": "sequence_file", - "input_id": "cabca52b-8f67-4107-8916-4fd8129ccd97" - }, - { - "input_type": "sequence_file", - "input_id": "79e53d37-c41c-4234-99db-f3333d89bb3a" - }, - { - "input_type": "sequence_file", - "input_id": "e0a914c3-3147-4f06-a8ae-0c16029497dc" - }, - { - "input_type": "sequence_file", - "input_id": "ebc98059-556f-4a51-b1d3-e5afb40fe80e" - }, - { - "input_type": "sequence_file", - "input_id": "a65b7c37-e038-41d5-8623-2046bdc278a4" - }, - { - "input_type": "sequence_file", - "input_id": "7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565" - }, - { - "input_type": "sequence_file", - "input_id": "8fc6dd31-c01c-4eec-ae6c-bedd13f2c209" - }, - { - "input_type": "sequence_file", - "input_id": "ba526c42-7c2f-43c1-a817-06ccdb4d67be" - }, - { - "input_type": "sequence_file", - "input_id": "1adbb95f-f5c3-41ce-8e16-7657d189de79" - }, - { - "input_type": "sequence_file", - "input_id": "887d7cc2-1c24-42a9-aab3-51474d95f927" - }, - { - "input_type": "sequence_file", - "input_id": "6e3aed1a-9909-462c-90e1-a1f766cd380e" - }, - { - "input_type": "sequence_file", - "input_id": "d85ccb81-e861-4bb1-95b6-40762555da1d" - }, - { - "input_type": "sequence_file", - "input_id": "5d00e91c-8691-41ff-836c-b827f23a1a7d" - }, - { - "input_type": "sequence_file", - "input_id": "50fd1926-5615-4e29-be75-e8528d1da8df" - }, - { - "input_type": "sequence_file", - "input_id": "73112827-65e2-4057-98e0-960b4c50afe6" - }, - { - "input_type": "sequence_file", - "input_id": "5f3e080f-d2f2-4350-96b0-fb8169bfcdd9" - }, - { - "input_type": "sequence_file", - "input_id": "e744fafb-3c4b-47c3-91db-db8bb8751279" - }, - { - "input_type": "sequence_file", - "input_id": "3f2ae9d6-763e-4408-bc80-6067ccc756e0" - }, - { - "input_type": "sequence_file", - "input_id": "64e1d438-17af-450b-b90c-04072117cbb1" - }, - { - "input_type": "sequence_file", - "input_id": "a10329ae-6c8a-4df9-bac1-70bdf2c07571" - }, - { - "input_type": "sequence_file", - "input_id": "fd0547d5-7f16-46e4-8948-45c82f923f69" - }, - { - "input_type": "sequence_file", - "input_id": "14795e28-bcee-4da3-83cf-bb2592b6c0d0" - }, - { - "input_type": "sequence_file", - "input_id": "5b977962-16d1-4631-9225-6be262e9ccae" - }, - { - "input_type": "sequence_file", - "input_id": "7eb17ee4-5704-4ce3-8b41-121ef051ee09" - }, - { - "input_type": "sequence_file", - "input_id": "a2385663-3f62-4512-b4d8-4bba405f50a3" - }, - { - "input_type": "sequence_file", - "input_id": "53c40015-48a9-4a3f-a513-d617d28a2352" - }, - { - "input_type": "sequence_file", - "input_id": "2862a721-a50b-4e47-86c5-35547bc44e53" - }, - { - "input_type": "sequence_file", - "input_id": "2a77f1db-b5d4-4657-a522-9786aaa7df80" - }, - { - "input_type": "sequence_file", - "input_id": "035a00e0-02ca-46e8-bb76-9b2449ee922f" - }, - { - "input_type": "sequence_file", - "input_id": "1a589473-0047-4bca-afce-57c8448f0dc6" - }, - { - "input_type": "sequence_file", - "input_id": "dcec351c-327a-46df-aa48-22d2647d5852" - }, - { - "input_type": "sequence_file", - "input_id": "3d8bc409-2043-486a-9a0b-12c71a741d83" - }, - { - "input_type": "sequence_file", - "input_id": "554c1554-ed18-4926-b8d7-5b6af2edab5b" - }, - { - "input_type": "sequence_file", - "input_id": "dcf52037-e357-4b26-9072-05e08bf47978" - }, - { - "input_type": "sequence_file", - "input_id": "ed884cca-c961-40d2-bc8b-b358ea4fb780" - }, - { - "input_type": "sequence_file", - "input_id": "3c9533cf-c7b5-4bbf-9461-87da5aa1b556" - }, - { - "input_type": "sequence_file", - "input_id": "12826f14-2ef8-4069-a797-42d2f4c0937b" - }, - { - "input_type": "sequence_file", - "input_id": "fe586661-4878-4882-a38f-0b6321df5c99" - }, - { - "input_type": "sequence_file", - "input_id": "1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec" - }, - { - "input_type": "sequence_file", - "input_id": "b1e83792-e01e-45e2-bcb8-27b81a0d9db9" - }, - { - "input_type": "sequence_file", - "input_id": "5be8906f-0831-422d-896e-b099d5a23e13" - }, - { - "input_type": "sequence_file", - "input_id": "511eaba4-a8f4-4230-b3ad-407332e22b48" - }, - { - "input_type": "sequence_file", - "input_id": "d5b993f2-d053-4420-994b-04d64bd9e356" - }, - { - "input_type": "sequence_file", - "input_id": "adca7438-701c-4afc-8580-01de6ee68974" - }, - { - "input_type": "sequence_file", - "input_id": "d1f65c9e-628b-4c5f-b76a-1154c1666eba" - }, - { - "input_type": "sequence_file", - "input_id": "21bd79df-cc64-4381-a5c7-0e81e001ea1a" - }, - { - "input_type": "sequence_file", - "input_id": "832ae460-0083-42b0-89a6-cc651e50fad4" - }, - { - "input_type": "sequence_file", - "input_id": "db7576d3-afc9-4860-9a46-bdca8f745fa3" - }, - { - "input_type": "sequence_file", - "input_id": "2b889dd9-0bd3-412a-967e-74fa9600bb4d" - }, - { - "input_type": "sequence_file", - "input_id": "baa2bfd9-d2fb-4b5a-a81d-af84bf24c730" - }, - { - "input_type": "sequence_file", - "input_id": "ac036daf-a7cc-4583-a219-814c77ed8001" - }, - { - "input_type": "sequence_file", - "input_id": "ddaab768-186d-456a-8e1d-8631dc97f6ad" - }, - { - "input_type": "sequence_file", - "input_id": "f78279da-e39f-463b-a1a9-02d4f99f85a5" - }, - { - "input_type": "sequence_file", - "input_id": "fff15476-7228-42be-be8a-bd6b02ee9f81" - }, - { - "input_type": "sequence_file", - "input_id": "a1ac3c01-10da-4b93-a61a-71a62e6ddb22" - }, - { - "input_type": "sequence_file", - "input_id": "319d5a99-4bde-4b20-956a-03a0175478ee" - }, - { - "input_type": "sequence_file", - "input_id": "d13d109b-0106-4102-9769-82bb2ed9cfb7" - }, - { - "input_type": "sequence_file", - "input_id": "7f46ab20-26fa-493e-98c4-24d558f4a0ce" - }, - { - "input_type": "sequence_file", - "input_id": "cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3" - }, - { - "input_type": "sequence_file", - "input_id": "8de95742-6e0f-45bd-b835-ce96ebc1991c" - }, - { - "input_type": "sequence_file", - "input_id": "4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed" - }, - { - "input_type": "sequence_file", - "input_id": "59a4c958-41b6-4680-8021-86ed6be8f55d" - }, - { - "input_type": "sequence_file", - "input_id": "f648cc69-80e7-46a1-8575-aae76b30367c" - }, - { - "input_type": "sequence_file", - "input_id": "1f134dea-8f9b-4e90-a1af-80508f43f73c" - }, - { - "input_type": "sequence_file", - "input_id": "9717e5ab-015a-4fee-9864-0332c60b1e9a" - }, - { - "input_type": "sequence_file", - "input_id": "2a7c1cb6-5d82-4b65-854d-6451c18c62fc" - }, - { - "input_type": "sequence_file", - "input_id": "296db6ee-3e65-48ee-b232-626653165222" - }, - { - "input_type": "sequence_file", - "input_id": "885f171d-901c-4cc4-9c76-c5d8cdf35991" - }, - { - "input_type": "sequence_file", - "input_id": "82899c21-c3c7-4288-bb8f-4c72880c10e4" - }, - { - "input_type": "sequence_file", - "input_id": "04066a52-7468-4783-b49c-46e28b076739" - }, - { - "input_type": "sequence_file", - "input_id": "b0025fa1-e6a6-441b-a018-2c73ceabe237" - }, - { - "input_type": "sequence_file", - "input_id": "7e1f0414-5235-4c79-b334-b278d3ebd8ae" - }, - { - "input_type": "sequence_file", - "input_id": "d691ee05-f531-4c18-b0e9-677dcaabf20f" - }, - { - "input_type": "sequence_file", - "input_id": "97cfc6c1-2a97-41ef-bb36-0ac99b8c8195" - }, - { - "input_type": "sequence_file", - "input_id": "c8995918-5491-41bc-ad76-2099c6314fb1" - }, - { - "input_type": "sequence_file", - "input_id": "884813d1-d03e-4210-9289-e5b0d415484b" - }, - { - "input_type": "sequence_file", - "input_id": "ee28d3e7-02df-46a0-a3ba-f55ad747b214" - }, - { - "input_type": "sequence_file", - "input_id": "972e55ea-7901-435b-9646-53bc8fde2e6f" - }, - { - "input_type": "sequence_file", - "input_id": "58b683d3-03cf-42e9-9cff-4143dff729ca" - }, - { - "input_type": "sequence_file", - "input_id": "d4bbfecd-d580-4eaa-8679-33173740b295" - }, - { - "input_type": "sequence_file", - "input_id": "5275a9fa-7a21-4ef2-9819-5358b2821300" - }, - { - "input_type": "sequence_file", - "input_id": "ce6d4c01-8676-4ae9-91b3-4148deb5b8d9" - }, - { - "input_type": "sequence_file", - "input_id": "f7a68998-a02b-4d1c-8768-0abb9e9ae35a" - }, - { - "input_type": "sequence_file", - "input_id": "0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc" - }, - { - "input_type": "sequence_file", - "input_id": "2aba7a6a-6d70-4310-9e64-071c6adbe16b" - }, - { - "input_type": "sequence_file", - "input_id": "54140f9b-2929-44b6-9fb0-de4c2b22090b" - }, - { - "input_type": "sequence_file", - "input_id": "0c577531-9218-444b-8094-85d8c6f5c73e" - }, - { - "input_type": "sequence_file", - "input_id": "28c505c1-e1c4-4e73-b935-9616224da552" - }, - { - "input_type": "sequence_file", - "input_id": "95e893a0-0885-4e1c-8e31-55863d5108b3" - }, - { - "input_type": "sequence_file", - "input_id": "e9def19b-3967-47e7-a2dd-1bc5f9297959" - }, - { - "input_type": "sequence_file", - "input_id": "96f4d488-e081-4b54-b12a-b2d9546bfc17" - }, - { - "input_type": "sequence_file", - "input_id": "f8988fe1-225c-40b4-933d-9dacb8b4728f" - }, - { - "input_type": "sequence_file", - "input_id": "18d81f7f-94c8-4877-939a-b74ba802835a" - }, - { - "input_type": "sequence_file", - "input_id": "0fa69e92-febb-4bab-857c-4b67a2b17ff6" - }, - { - "input_type": "sequence_file", - "input_id": "09a53782-90ea-4911-a793-706e74127adb" - }, - { - "input_type": "sequence_file", - "input_id": "c67f602f-1b0d-4b0e-bd72-af166f5443fa" - }, - { - "input_type": "sequence_file", - "input_id": "5b80431f-c95a-41ef-8aa7-98816f00e4d6" - }, - { - "input_type": "sequence_file", - "input_id": "70291c50-770c-4e51-8f1b-60be28ea419f" - }, - { - "input_type": "sequence_file", - "input_id": "38e1a4f4-f9ec-44cf-b6bb-1a9566456d38" - }, - { - "input_type": "sequence_file", - "input_id": "154dffeb-efd7-4081-a73c-bf1b73ca9a90" - }, - { - "input_type": "sequence_file", - "input_id": "c9517b55-fb72-463a-aab6-e4f64b95c2fc" - }, - { - "input_type": "sequence_file", - "input_id": "c3d3c4a3-527b-490f-8107-bc1b44566df0" - }, - { - "input_type": "sequence_file", - "input_id": "83865a27-24a8-4a70-a8bd-650affa7df5c" - }, - { - "input_type": "sequence_file", - "input_id": "6e650029-386f-4d8e-868e-8780782baa4b" - }, - { - "input_type": "sequence_file", - "input_id": "f859d1ff-df51-4548-b8a4-9eca26bf7454" - }, - { - "input_type": "sequence_file", - "input_id": "79426c6b-bd79-4343-b9fa-ee1e9cfc2aef" - }, - { - "input_type": "sequence_file", - "input_id": "0697146c-0105-4d6f-baff-d9147593eadb" - }, - { - "input_type": "sequence_file", - "input_id": "65fae226-b417-43cd-a5c8-cf2336b8cff5" - }, - { - "input_type": "sequence_file", - "input_id": "7240ec36-6433-4e5c-ba0f-d2770817f963" - }, - { - "input_type": "sequence_file", - "input_id": "d20547e4-3f00-42af-9a7f-9477ff43de0d" - }, - { - "input_type": "sequence_file", - "input_id": "0256729b-47ee-4ed3-adc7-2c0813bb99b9" - }, - { - "input_type": "sequence_file", - "input_id": "7eb2244c-6b4d-4d91-bfc6-44ec12d9319b" - }, - { - "input_type": "sequence_file", - "input_id": "b2a6b8c1-f0bc-4509-b255-8618d7cff205" - }, - { - "input_type": "sequence_file", - "input_id": "bf6cb18e-07de-404d-bebe-4a943dfb44f7" - }, - { - "input_type": "sequence_file", - "input_id": "6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0" - }, - { - "input_type": "sequence_file", - "input_id": "5a172f54-33a5-4e0d-bc0d-1760bad3beb6" - }, - { - "input_type": "sequence_file", - "input_id": "ee36a1ac-7426-4253-81b8-715f37a2ba69" - }, - { - "input_type": "sequence_file", - "input_id": "d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc" - }, - { - "input_type": "sequence_file", - "input_id": "5f5e80b2-0779-4df0-9a18-35bc0db72fdf" - }, - { - "input_type": "sequence_file", - "input_id": "e6b33ccb-99f6-4c02-aa69-e7b581832d04" - }, - { - "input_type": "sequence_file", - "input_id": "9d98496f-f6d8-4106-8b6a-c118ed6ff229" - }, - { - "input_type": "sequence_file", - "input_id": "22343575-1465-455f-8360-4e716aab17fb" - }, - { - "input_type": "sequence_file", - "input_id": "7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4" - }, - { - "input_type": "sequence_file", - "input_id": "9f709f2c-701a-43bc-8417-77fac81c3633" - }, - { - "input_type": "sequence_file", - "input_id": "a4152d0c-ca88-4cad-af08-40a2e799bec7" - }, - { - "input_type": "sequence_file", - "input_id": "2c4d6e65-8271-4542-97ee-7ba8a6b628d9" - }, - { - "input_type": "sequence_file", - "input_id": "668a508d-34fa-4468-86e8-523380a34da8" - }, - { - "input_type": "sequence_file", - "input_id": "b5c2e557-c303-42cc-8779-bf3b2256c422" - }, - { - "input_type": "sequence_file", - "input_id": "f9eef16f-b9cc-43bb-b9f3-bf0948766e7e" - }, - { - "input_type": "sequence_file", - "input_id": "061936ce-8fbb-4576-8c0c-ed871767917f" - }, - { - "input_type": "sequence_file", - "input_id": "762c2720-f65c-4804-844f-2302bc33ebbc" - }, - { - "input_type": "sequence_file", - "input_id": "fedc286a-9bbc-4db0-8bf5-b3f0b69fb559" - }, - { - "input_type": "sequence_file", - "input_id": "43f476f9-cbfc-431a-a774-5885904b434c" - }, - { - "input_type": "sequence_file", - "input_id": "65b78fda-7874-455f-9c9a-bf7aca375a0b" - }, - { - "input_type": "sequence_file", - "input_id": "82fc0df9-9828-433e-ac6d-73f4bbceefcf" - }, - { - "input_type": "sequence_file", - "input_id": "fb771836-467f-4897-a755-a17ab281a385" - }, - { - "input_type": "sequence_file", - "input_id": "5f6e0f4b-3541-4197-a67f-01dddc0cf105" - }, - { - "input_type": "sequence_file", - "input_id": "c7970499-e36d-49f3-b1f2-6886746333c9" - }, - { - "input_type": "sequence_file", - "input_id": "6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47" - }, - { - "input_type": "sequence_file", - "input_id": "e4d6ced4-50a3-402a-bbbc-ae329cd3689d" - }, - { - "input_type": "sequence_file", - "input_id": "792fd4bd-9b01-42bf-a883-c651789a198a" - }, - { - "input_type": "sequence_file", - "input_id": "10b3b42b-3612-48fb-849b-bfc036c248a6" - }, - { - "input_type": "sequence_file", - "input_id": "6fc7505d-33db-4d19-99a1-5756cd9a0a1c" - }, - { - "input_type": "sequence_file", - "input_id": "64309a91-ba2b-4b0e-baa9-7cfce3c5d445" - }, - { - "input_type": "sequence_file", - "input_id": "64eedb4a-2f73-4b60-a4b1-99b5ffd0486b" - }, - { - "input_type": "sequence_file", - "input_id": "79d181d1-5b70-4306-a229-74a2a3d5278e" - }, - { - "input_type": "sequence_file", - "input_id": "102b8410-1c0e-46f5-90fe-609ab117221c" - }, - { - "input_type": "sequence_file", - "input_id": "449ec63a-dca8-4a61-98b5-e6789d4946a1" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca" - }, - { - "output_type": "analysis_file", - "output_id": "31e6cb06-0062-4096-84f5-c2d1c2621a82" - }, - { - "output_type": "analysis_file", - "output_id": "d3b3abc2-0da6-4163-acb8-251fe079284c" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "07f1f962-dd38-4a0b-b0b5-f4efe30d21e2" - } - ] - }, - { - "link_type": "process_link", - "process_id": "d1e97cb2-581a-432b-bca1-78bbe00e9127", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "5e811f8c-aa77-43f5-9197-f69c067b6e83" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "3cad3e7e-9e9b-4e4e-a535-509853f9306b" - }, - { - "output_type": "sequence_file", - "output_id": "8840da5d-cbaa-4617-ad50-d2a012563fe6" - }, - { - "output_type": "sequence_file", - "output_id": "e17968e7-5ef9-45fb-b45a-d73d18f41ae6" - }, - { - "output_type": "sequence_file", - "output_id": "fea581ad-b8a8-47d1-a4bb-e18f0753bf13" - }, - { - "output_type": "sequence_file", - "output_id": "7b1418ba-7cd7-4844-924c-ca92b0d3147c" - }, - { - "output_type": "sequence_file", - "output_id": "e0a99b8f-15e2-4a9e-b298-1066a9bcbda7" - }, - { - "output_type": "sequence_file", - "output_id": "7d5ca602-df90-402e-9c12-933e1cdde407" - }, - { - "output_type": "sequence_file", - "output_id": "b3de09c9-37f3-4d58-8930-bbd5d4e136c5" - }, - { - "output_type": "sequence_file", - "output_id": "81898837-23e3-40d9-96e2-04a559d95b2e" - }, - { - "output_type": "sequence_file", - "output_id": "2f74ffc0-b776-4b4a-90c6-327edb41c7ac" - }, - { - "output_type": "sequence_file", - "output_id": "a783909f-5237-4218-8b9d-80653729f3b1" - }, - { - "output_type": "sequence_file", - "output_id": "2d0246fd-696f-4a54-abe6-d759cc6d27b3" - }, - { - "output_type": "sequence_file", - "output_id": "ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02" - }, - { - "output_type": "sequence_file", - "output_id": "c0fc6427-6fa7-4d8d-9d6e-8844a26ff318" - }, - { - "output_type": "sequence_file", - "output_id": "bff57385-2f4f-4695-a153-412c9aabab59" - }, - { - "output_type": "sequence_file", - "output_id": "e61740c1-0e70-4d25-a912-32617d2e71fa" - }, - { - "output_type": "sequence_file", - "output_id": "4d0f1255-5e1b-4852-8030-a7a8f7580f1a" - }, - { - "output_type": "sequence_file", - "output_id": "ab8e7f29-eae9-488a-9337-7a926c8857ac" - }, - { - "output_type": "sequence_file", - "output_id": "bef069b8-2720-4327-8298-9ab2badd4a53" - }, - { - "output_type": "sequence_file", - "output_id": "f5ada827-68c0-4af6-88c6-7e9256b663ff" - }, - { - "output_type": "sequence_file", - "output_id": "db2ecbf9-0e24-4106-b594-73368de0e98b" - }, - { - "output_type": "sequence_file", - "output_id": "c9a2a10f-6638-4463-8c8f-4260c72dcb92" - }, - { - "output_type": "sequence_file", - "output_id": "7060b0f4-a756-41f8-bc65-16c7effef1be" - }, - { - "output_type": "sequence_file", - "output_id": "8898a9f3-4928-45b1-b236-71ce7cb48b11" - }, - { - "output_type": "sequence_file", - "output_id": "30f53c61-a8e3-42cf-a6d2-1b172659c189" - }, - { - "output_type": "sequence_file", - "output_id": "5e25031d-3456-4209-9818-c8882b2623e1" - }, - { - "output_type": "sequence_file", - "output_id": "d0cf423a-1ecf-499b-9e61-95662e23ba40" - }, - { - "output_type": "sequence_file", - "output_id": "99e73efd-4a04-496f-bb32-8f73edb0ae1a" - }, - { - "output_type": "sequence_file", - "output_id": "b35e3b14-91dc-4bf0-a47d-4ed8428efbe1" - }, - { - "output_type": "sequence_file", - "output_id": "8e892b4a-c112-47f2-a058-b87efed5a262" - }, - { - "output_type": "sequence_file", - "output_id": "621547f4-60bc-41b6-bc21-5c970700a1e4" - }, - { - "output_type": "sequence_file", - "output_id": "e06ec666-d2ed-4801-8bc3-03ddcd151c49" - }, - { - "output_type": "sequence_file", - "output_id": "782f79d7-bd59-4cc5-8492-1e680fbb31c1" - }, - { - "output_type": "sequence_file", - "output_id": "c458a416-5736-4b7b-817e-1d87b341f825" - }, - { - "output_type": "sequence_file", - "output_id": "a778ad17-3705-40bc-b425-245d17958638" - }, - { - "output_type": "sequence_file", - "output_id": "5f563e91-d384-4e1e-ac84-20f06332fe8c" - }, - { - "output_type": "sequence_file", - "output_id": "23203fb2-d46d-4d14-95e5-4ec38191e420" - }, - { - "output_type": "sequence_file", - "output_id": "d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb" - }, - { - "output_type": "sequence_file", - "output_id": "fea7ae13-ad77-4b59-9922-14f748263eac" - }, - { - "output_type": "sequence_file", - "output_id": "acfa3362-62b0-429a-b617-3adb722c200f" - }, - { - "output_type": "sequence_file", - "output_id": "6ea29b25-492a-4c00-819d-ec8a0909fa28" - }, - { - "output_type": "sequence_file", - "output_id": "d1f9e5d6-8df2-48d1-b558-9609710ef53f" - }, - { - "output_type": "sequence_file", - "output_id": "937bbdf2-09e3-4bf7-8f45-e46db2188c46" - }, - { - "output_type": "sequence_file", - "output_id": "1badbbc9-6b43-41f6-acad-36f09cff3d21" - }, - { - "output_type": "sequence_file", - "output_id": "f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16" - }, - { - "output_type": "sequence_file", - "output_id": "d04a8b95-a45f-4fc1-a42a-a9afe3188465" - }, - { - "output_type": "sequence_file", - "output_id": "e381aa0d-c2ce-4fe4-9acd-030d9023fcb6" - }, - { - "output_type": "sequence_file", - "output_id": "ac5fdc06-b856-4de0-9423-bdf05d4df650" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "72975432-3c46-449a-a4d9-809712d10577" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "63db242f-a88b-4deb-b1e4-3677ade32d18" - } - ] - }, - { - "link_type": "process_link", - "process_id": "941c2df6-cbaa-49ee-80af-950b8c015aa6", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "6e669924-95c7-4aef-bd34-6dd28bf29fdd" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "5e811f8c-aa77-43f5-9197-f69c067b6e83" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0e1884e4-310f-4afb-9721-e0721a290498" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "48f7f503-d213-4447-9ee4-3602da1066d7" - } - ] - }, - { - "link_type": "process_link", - "process_id": "95834b02-36f0-4ccf-b0a8-9003c4856b03", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "4d5d95a5-78af-4076-af8d-a4c6ac315f14" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "6e669924-95c7-4aef-bd34-6dd28bf29fdd" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "67fa2c3e-ba97-4bc6-beb9-92ea33bec948" - } - ] - }, - { - "link_type": "process_link", - "process_id": "97f00f1b-232c-4425-b51a-7d91b88d3862", - "process_type": "process", - "inputs": [ - { - "input_type": "sequence_file", - "input_id": "3cad3e7e-9e9b-4e4e-a535-509853f9306b" - }, - { - "input_type": "sequence_file", - "input_id": "8840da5d-cbaa-4617-ad50-d2a012563fe6" - }, - { - "input_type": "sequence_file", - "input_id": "e17968e7-5ef9-45fb-b45a-d73d18f41ae6" - }, - { - "input_type": "sequence_file", - "input_id": "fea581ad-b8a8-47d1-a4bb-e18f0753bf13" - }, - { - "input_type": "sequence_file", - "input_id": "7b1418ba-7cd7-4844-924c-ca92b0d3147c" - }, - { - "input_type": "sequence_file", - "input_id": "e0a99b8f-15e2-4a9e-b298-1066a9bcbda7" - }, - { - "input_type": "sequence_file", - "input_id": "7d5ca602-df90-402e-9c12-933e1cdde407" - }, - { - "input_type": "sequence_file", - "input_id": "b3de09c9-37f3-4d58-8930-bbd5d4e136c5" - }, - { - "input_type": "sequence_file", - "input_id": "81898837-23e3-40d9-96e2-04a559d95b2e" - }, - { - "input_type": "sequence_file", - "input_id": "2f74ffc0-b776-4b4a-90c6-327edb41c7ac" - }, - { - "input_type": "sequence_file", - "input_id": "a783909f-5237-4218-8b9d-80653729f3b1" - }, - { - "input_type": "sequence_file", - "input_id": "2d0246fd-696f-4a54-abe6-d759cc6d27b3" - }, - { - "input_type": "sequence_file", - "input_id": "ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02" - }, - { - "input_type": "sequence_file", - "input_id": "c0fc6427-6fa7-4d8d-9d6e-8844a26ff318" - }, - { - "input_type": "sequence_file", - "input_id": "bff57385-2f4f-4695-a153-412c9aabab59" - }, - { - "input_type": "sequence_file", - "input_id": "e61740c1-0e70-4d25-a912-32617d2e71fa" - }, - { - "input_type": "sequence_file", - "input_id": "4d0f1255-5e1b-4852-8030-a7a8f7580f1a" - }, - { - "input_type": "sequence_file", - "input_id": "ab8e7f29-eae9-488a-9337-7a926c8857ac" - }, - { - "input_type": "sequence_file", - "input_id": "bef069b8-2720-4327-8298-9ab2badd4a53" - }, - { - "input_type": "sequence_file", - "input_id": "f5ada827-68c0-4af6-88c6-7e9256b663ff" - }, - { - "input_type": "sequence_file", - "input_id": "db2ecbf9-0e24-4106-b594-73368de0e98b" - }, - { - "input_type": "sequence_file", - "input_id": "c9a2a10f-6638-4463-8c8f-4260c72dcb92" - }, - { - "input_type": "sequence_file", - "input_id": "7060b0f4-a756-41f8-bc65-16c7effef1be" - }, - { - "input_type": "sequence_file", - "input_id": "8898a9f3-4928-45b1-b236-71ce7cb48b11" - }, - { - "input_type": "sequence_file", - "input_id": "30f53c61-a8e3-42cf-a6d2-1b172659c189" - }, - { - "input_type": "sequence_file", - "input_id": "5e25031d-3456-4209-9818-c8882b2623e1" - }, - { - "input_type": "sequence_file", - "input_id": "d0cf423a-1ecf-499b-9e61-95662e23ba40" - }, - { - "input_type": "sequence_file", - "input_id": "99e73efd-4a04-496f-bb32-8f73edb0ae1a" - }, - { - "input_type": "sequence_file", - "input_id": "b35e3b14-91dc-4bf0-a47d-4ed8428efbe1" - }, - { - "input_type": "sequence_file", - "input_id": "8e892b4a-c112-47f2-a058-b87efed5a262" - }, - { - "input_type": "sequence_file", - "input_id": "621547f4-60bc-41b6-bc21-5c970700a1e4" - }, - { - "input_type": "sequence_file", - "input_id": "e06ec666-d2ed-4801-8bc3-03ddcd151c49" - }, - { - "input_type": "sequence_file", - "input_id": "782f79d7-bd59-4cc5-8492-1e680fbb31c1" - }, - { - "input_type": "sequence_file", - "input_id": "c458a416-5736-4b7b-817e-1d87b341f825" - }, - { - "input_type": "sequence_file", - "input_id": "a778ad17-3705-40bc-b425-245d17958638" - }, - { - "input_type": "sequence_file", - "input_id": "5f563e91-d384-4e1e-ac84-20f06332fe8c" - }, - { - "input_type": "sequence_file", - "input_id": "23203fb2-d46d-4d14-95e5-4ec38191e420" - }, - { - "input_type": "sequence_file", - "input_id": "d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb" - }, - { - "input_type": "sequence_file", - "input_id": "fea7ae13-ad77-4b59-9922-14f748263eac" - }, - { - "input_type": "sequence_file", - "input_id": "acfa3362-62b0-429a-b617-3adb722c200f" - }, - { - "input_type": "sequence_file", - "input_id": "6ea29b25-492a-4c00-819d-ec8a0909fa28" - }, - { - "input_type": "sequence_file", - "input_id": "d1f9e5d6-8df2-48d1-b558-9609710ef53f" - }, - { - "input_type": "sequence_file", - "input_id": "937bbdf2-09e3-4bf7-8f45-e46db2188c46" - }, - { - "input_type": "sequence_file", - "input_id": "1badbbc9-6b43-41f6-acad-36f09cff3d21" - }, - { - "input_type": "sequence_file", - "input_id": "f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16" - }, - { - "input_type": "sequence_file", - "input_id": "d04a8b95-a45f-4fc1-a42a-a9afe3188465" - }, - { - "input_type": "sequence_file", - "input_id": "e381aa0d-c2ce-4fe4-9acd-030d9023fcb6" - }, - { - "input_type": "sequence_file", - "input_id": "ac5fdc06-b856-4de0-9423-bdf05d4df650" - }, - { - "input_type": "sequence_file", - "input_id": "87e9a01b-594b-4dc4-b2a7-a14407399b50" - }, - { - "input_type": "sequence_file", - "input_id": "c4c3353d-f33f-4a5b-a2d8-7878daf2d01b" - }, - { - "input_type": "sequence_file", - "input_id": "fd3a8466-6eaf-4251-be4a-f46f85403719" - }, - { - "input_type": "sequence_file", - "input_id": "7abc79b5-e32a-4313-b130-12397d29d684" - }, - { - "input_type": "sequence_file", - "input_id": "4abcf42c-5291-47f3-b7a8-bb1071f56c54" - }, - { - "input_type": "sequence_file", - "input_id": "893dfdd4-43f4-4256-938b-d957928f0daa" - }, - { - "input_type": "sequence_file", - "input_id": "b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5" - }, - { - "input_type": "sequence_file", - "input_id": "fbec3e01-aaf4-41a3-b667-1f0268571d10" - }, - { - "input_type": "sequence_file", - "input_id": "4e066f08-f8b7-4550-adc2-287392fa7731" - }, - { - "input_type": "sequence_file", - "input_id": "e6565b7b-b195-4554-bf60-4b80f2c6dd13" - }, - { - "input_type": "sequence_file", - "input_id": "d1dd53ff-b603-4345-8203-45c384cbc813" - }, - { - "input_type": "sequence_file", - "input_id": "965057e9-48bc-4452-8819-2bc45723a0f7" - }, - { - "input_type": "sequence_file", - "input_id": "b7d7c14d-7bf3-4a8f-8f40-8d6e98505558" - }, - { - "input_type": "sequence_file", - "input_id": "84cc7ee0-4d8e-45a1-b563-d3e05b4ec573" - }, - { - "input_type": "sequence_file", - "input_id": "ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2" - }, - { - "input_type": "sequence_file", - "input_id": "130831cc-87b6-47fd-93a8-ae1890d365f2" - }, - { - "input_type": "sequence_file", - "input_id": "42bbb160-b881-4036-a712-1ab9b5d5ce87" - }, - { - "input_type": "sequence_file", - "input_id": "e9b50275-4ebe-43fe-b3de-1fe3ab930a23" - }, - { - "input_type": "sequence_file", - "input_id": "5621674e-0290-487d-8c0c-49b617d1628c" - }, - { - "input_type": "sequence_file", - "input_id": "868dfde7-2df8-487f-b754-68db8a96ad3a" - }, - { - "input_type": "sequence_file", - "input_id": "daa6813e-0321-413a-9107-8c814825bf93" - }, - { - "input_type": "sequence_file", - "input_id": "ffb64e6b-8924-4adf-ae8f-e55b4dd019dd" - }, - { - "input_type": "sequence_file", - "input_id": "e28d2a66-f506-4a4d-b2c6-823e4e8124d6" - }, - { - "input_type": "sequence_file", - "input_id": "ade0fe79-4629-4a49-8253-e26380046b32" - }, - { - "input_type": "sequence_file", - "input_id": "28023147-3cad-4c1d-b494-b693c4f0a6bd" - }, - { - "input_type": "sequence_file", - "input_id": "3c007e61-0e8a-4337-946c-1082441084c7" - }, - { - "input_type": "sequence_file", - "input_id": "577e4275-b373-40ac-ac3f-8487d6aafe16" - }, - { - "input_type": "sequence_file", - "input_id": "9e74066b-834e-416d-a1e7-bbec1e8f1713" - }, - { - "input_type": "sequence_file", - "input_id": "110bb0f5-9d1a-4573-b711-6bee156d0eb8" - }, - { - "input_type": "sequence_file", - "input_id": "012af05a-4771-45e5-bb92-9b63fcbde822" - }, - { - "input_type": "sequence_file", - "input_id": "565dbd59-2571-4af5-b160-c6d5cd3c684f" - }, - { - "input_type": "sequence_file", - "input_id": "d068c2b0-60c7-429a-938c-cb9c703c4c4d" - }, - { - "input_type": "sequence_file", - "input_id": "71add17d-3b59-4ca2-a032-80819608a34a" - }, - { - "input_type": "sequence_file", - "input_id": "c5e55f39-94a7-4ddd-8972-d217b63fb7cb" - }, - { - "input_type": "sequence_file", - "input_id": "fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce" - }, - { - "input_type": "sequence_file", - "input_id": "4df715c5-a783-41e6-a99e-eedf93a37fb3" - }, - { - "input_type": "sequence_file", - "input_id": "8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a" - }, - { - "input_type": "sequence_file", - "input_id": "b3739e56-e8cc-43b6-8b43-9116b5d75e69" - }, - { - "input_type": "sequence_file", - "input_id": "dd8ac880-75c4-4fe8-89e3-2cc41dad784a" - }, - { - "input_type": "sequence_file", - "input_id": "bb788d30-169b-4160-be07-98222d0a8327" - }, - { - "input_type": "sequence_file", - "input_id": "f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9" - }, - { - "input_type": "sequence_file", - "input_id": "877258d8-07eb-4cb6-a358-7c265c856ab6" - }, - { - "input_type": "sequence_file", - "input_id": "80e88ed6-4480-4888-b25d-d41e90822142" - }, - { - "input_type": "sequence_file", - "input_id": "f5fae200-b633-4ade-8871-94cf47475c67" - }, - { - "input_type": "sequence_file", - "input_id": "47950b5e-3d6f-4b75-9518-feb8b9e9a78b" - }, - { - "input_type": "sequence_file", - "input_id": "1c95a589-205c-4d7c-9c56-c3de4f7dbb66" - }, - { - "input_type": "sequence_file", - "input_id": "a40ed25e-fbf0-40a3-b468-e2bdb55d56d0" - }, - { - "input_type": "sequence_file", - "input_id": "f5274b10-d3ea-44c9-9f27-9af574dea10c" - }, - { - "input_type": "sequence_file", - "input_id": "fd7e7e85-7747-42c3-bc6b-0e4718202d63" - }, - { - "input_type": "sequence_file", - "input_id": "38601526-8448-4253-807b-70878c374901" - }, - { - "input_type": "sequence_file", - "input_id": "45d0b683-d7dc-4e1a-a235-dad58ef03d77" - }, - { - "input_type": "sequence_file", - "input_id": "dff50bd5-38c9-4c35-a5bc-dd51e69f249a" - }, - { - "input_type": "sequence_file", - "input_id": "0506c2a0-ef2b-4850-8567-20d08046bdaa" - }, - { - "input_type": "sequence_file", - "input_id": "dabb5028-64d2-4dbc-89a3-0cf6079ad0cb" - }, - { - "input_type": "sequence_file", - "input_id": "d1ad5518-3619-46dd-a342-f5a3b34f67b1" - }, - { - "input_type": "sequence_file", - "input_id": "bbda7bad-f60b-4091-83b0-b8d96c3f4214" - }, - { - "input_type": "sequence_file", - "input_id": "ce3c8eab-dcb7-403f-8837-6a7986acb6fc" - }, - { - "input_type": "sequence_file", - "input_id": "9e63db48-5b68-40e8-9d8f-aff48223b80e" - }, - { - "input_type": "sequence_file", - "input_id": "74086d10-f049-45c2-8654-de93aac63d94" - }, - { - "input_type": "sequence_file", - "input_id": "c699ee8b-738e-451a-b91d-0e1a6c8bb6f9" - }, - { - "input_type": "sequence_file", - "input_id": "f9db3e23-91ca-487f-a3ec-11ffa8b8f939" - }, - { - "input_type": "sequence_file", - "input_id": "fdd026f9-0ab6-49ef-88f9-4a5d61d12188" - }, - { - "input_type": "sequence_file", - "input_id": "c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2" - }, - { - "input_type": "sequence_file", - "input_id": "72b34b3d-f005-48af-81dc-3631873960d8" - }, - { - "input_type": "sequence_file", - "input_id": "7938acb1-91e3-4d8d-9d24-3b0a9fa28131" - }, - { - "input_type": "sequence_file", - "input_id": "9962de78-e4ef-40ba-b9fc-bd661895a99b" - }, - { - "input_type": "sequence_file", - "input_id": "3cf0f46b-1618-49e6-8cdc-d97a9d2403da" - }, - { - "input_type": "sequence_file", - "input_id": "2f033594-a8bd-49c4-b1b7-69ce88fe26d4" - }, - { - "input_type": "sequence_file", - "input_id": "97eaa3ce-131c-48b8-8082-86bbb6a486b5" - }, - { - "input_type": "sequence_file", - "input_id": "61716326-4fa0-41b9-8ca4-5b020500e8ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0e048f6-0ab6-45fc-a74f-16711af67a2e" - }, - { - "input_type": "sequence_file", - "input_id": "347f630f-a9a0-4430-958f-6c929335031a" - }, - { - "input_type": "sequence_file", - "input_id": "c13ed96e-3052-4a3f-9871-8196c10070a1" - }, - { - "input_type": "sequence_file", - "input_id": "1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1" - }, - { - "input_type": "sequence_file", - "input_id": "09b831a2-5b60-4753-864e-8af803024437" - }, - { - "input_type": "sequence_file", - "input_id": "290232bb-afb1-45b2-8e04-be180948541a" - }, - { - "input_type": "sequence_file", - "input_id": "c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7" - }, - { - "input_type": "sequence_file", - "input_id": "22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22" - }, - { - "input_type": "sequence_file", - "input_id": "da6e341f-43d3-4c22-ab8c-3c3e81986d9b" - }, - { - "input_type": "sequence_file", - "input_id": "6ea00f5c-7e63-493b-b6f9-68ba54dbbed3" - }, - { - "input_type": "sequence_file", - "input_id": "b9acc59a-ba7c-40ef-8611-27069458a508" - }, - { - "input_type": "sequence_file", - "input_id": "6f11ead1-11b1-4bda-8a20-588bb85ec126" - }, - { - "input_type": "sequence_file", - "input_id": "4ca067fb-8ba1-4959-9c1a-878d5705dd67" - }, - { - "input_type": "sequence_file", - "input_id": "f77883e0-6609-4bda-b446-331adbd9d357" - }, - { - "input_type": "sequence_file", - "input_id": "541fc29f-a7a3-456e-b28e-80f9036a4e33" - }, - { - "input_type": "sequence_file", - "input_id": "bd1e5909-c184-4ee0-906c-77e399270a71" - }, - { - "input_type": "sequence_file", - "input_id": "22833c60-dc70-4299-86ac-00747b91b3cb" - }, - { - "input_type": "sequence_file", - "input_id": "24bbde6e-cdf7-4f1c-a447-6501ce377aa4" - }, - { - "input_type": "sequence_file", - "input_id": "7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0" - }, - { - "input_type": "sequence_file", - "input_id": "64c93769-83eb-4718-90f0-36d83b1dae4d" - }, - { - "input_type": "sequence_file", - "input_id": "d3661383-3d73-41a0-8676-295926c07eeb" - }, - { - "input_type": "sequence_file", - "input_id": "9766ad67-37fa-402a-9649-181a1752e5b2" - }, - { - "input_type": "sequence_file", - "input_id": "559b84d3-e7ff-48fb-9b1e-395a7ee5b6d0" - }, - { - "input_type": "sequence_file", - "input_id": "f8c2ac32-ceee-4043-8c37-9e8b9f5b55ad" - }, - { - "input_type": "sequence_file", - "input_id": "e0dd6ad5-0582-47de-9cbf-7351ebd5e005" - }, - { - "input_type": "sequence_file", - "input_id": "a60154cf-58b6-461f-8908-b789cdd78ee8" - }, - { - "input_type": "sequence_file", - "input_id": "11d171f7-7775-40a4-90a4-df995775b1c4" - }, - { - "input_type": "sequence_file", - "input_id": "9fa70333-418c-476c-b93b-382096a9cdcb" - }, - { - "input_type": "sequence_file", - "input_id": "6593f54e-682c-4eb4-b2ed-e3c3278d4880" - }, - { - "input_type": "sequence_file", - "input_id": "c3182931-cc4c-4cb7-aab5-4b50093eebea" - }, - { - "input_type": "sequence_file", - "input_id": "3001b82f-bbea-4072-9760-a14a4f00b7d3" - }, - { - "input_type": "sequence_file", - "input_id": "2b62614e-dc4d-46ea-bf29-727d5c33effa" - }, - { - "input_type": "sequence_file", - "input_id": "726a68e9-4fa9-425a-90e7-d0fef30c9d4c" - }, - { - "input_type": "sequence_file", - "input_id": "09610000-dc5c-4665-a72e-b0dad51edf6d" - }, - { - "input_type": "sequence_file", - "input_id": "92951c73-28a3-4820-89d6-15a73fa192cf" - }, - { - "input_type": "sequence_file", - "input_id": "6d9709e5-ce90-46d3-bc95-d5105cafc67a" - }, - { - "input_type": "sequence_file", - "input_id": "523c6c55-66da-4edc-b66a-a33fe20d4102" - }, - { - "input_type": "sequence_file", - "input_id": "75e38979-23f0-4749-bfcc-d8e92db7f2b0" - }, - { - "input_type": "sequence_file", - "input_id": "3fcc4232-b40f-4cca-bd1d-d12a03e4fed0" - }, - { - "input_type": "sequence_file", - "input_id": "80347bc1-ffca-4f66-9ebd-812d22ab3d3f" - }, - { - "input_type": "sequence_file", - "input_id": "28e8f3eb-fedc-4942-8d6b-836fbb7e3441" - }, - { - "input_type": "sequence_file", - "input_id": "40f24220-4c6d-43c4-ab82-1db21d683b07" - }, - { - "input_type": "sequence_file", - "input_id": "b8ca1ceb-f27a-4fc4-b816-5abf6e1f1477" - }, - { - "input_type": "sequence_file", - "input_id": "b7826640-f0cc-4891-860e-7815a8848006" - }, - { - "input_type": "sequence_file", - "input_id": "eccad683-4c2d-4d7f-a141-1effb429fef7" - }, - { - "input_type": "sequence_file", - "input_id": "1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288" - }, - { - "input_type": "sequence_file", - "input_id": "09c0456a-ec0b-47e3-870d-4b47221a45a6" - }, - { - "input_type": "sequence_file", - "input_id": "067d2b7b-127b-421f-91db-0acc05ad62ad" - }, - { - "input_type": "sequence_file", - "input_id": "9bad139c-7abf-4786-a6fc-5f9a5abcd850" - }, - { - "input_type": "sequence_file", - "input_id": "9b03ad8d-aabf-4736-820a-493db4877f84" - }, - { - "input_type": "sequence_file", - "input_id": "3dce5e53-a137-4086-96d3-26dd3d000cf6" - }, - { - "input_type": "sequence_file", - "input_id": "19eb5d2e-2224-4bb4-9f94-526a4c06f7a2" - }, - { - "input_type": "sequence_file", - "input_id": "6b38794f-2d55-4422-8094-fb4a5e100d32" - }, - { - "input_type": "sequence_file", - "input_id": "9a03ec79-7dc7-44fc-bb97-22ad58159436" - }, - { - "input_type": "sequence_file", - "input_id": "69ab8827-b0dc-48ae-84b5-1d27284a7db0" - }, - { - "input_type": "sequence_file", - "input_id": "a2b31671-1874-4c4a-a5c5-fd2787287893" - }, - { - "input_type": "sequence_file", - "input_id": "7186ea5d-49a0-4d72-a24e-2a30d48aa8fc" - }, - { - "input_type": "sequence_file", - "input_id": "e5d2cef3-3902-418c-b905-001052979a54" - }, - { - "input_type": "sequence_file", - "input_id": "02cfb8bb-4eb6-4343-9381-007968f1feee" - }, - { - "input_type": "sequence_file", - "input_id": "d8b9cedb-39d5-47b7-9c64-94e6393fdd0d" - }, - { - "input_type": "sequence_file", - "input_id": "9f577e94-f952-40af-a919-108f4661fdb9" - }, - { - "input_type": "sequence_file", - "input_id": "1d77e73b-9bd3-499f-a0d0-86d9f7306a7e" - }, - { - "input_type": "sequence_file", - "input_id": "c3093b68-54a2-4d31-aa15-50afb0414625" - }, - { - "input_type": "sequence_file", - "input_id": "d73e6663-d29d-47af-a4b4-5cadcd272293" - }, - { - "input_type": "sequence_file", - "input_id": "44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7" - }, - { - "input_type": "sequence_file", - "input_id": "e163d226-febb-4ecf-80db-8e60680be2ab" - }, - { - "input_type": "sequence_file", - "input_id": "a6a99736-43fb-4f67-ae26-0e24d5277c6b" - }, - { - "input_type": "sequence_file", - "input_id": "2ff6533e-8fe3-44c3-b378-99d4acdc0ab8" - }, - { - "input_type": "sequence_file", - "input_id": "3b7b0bcf-b316-4b0e-9d46-f8d44a399774" - }, - { - "input_type": "sequence_file", - "input_id": "d5aab272-e387-4bae-aeb0-987928e0c001" - }, - { - "input_type": "sequence_file", - "input_id": "d359ca8d-a374-4eeb-b214-69df7861d0e3" - }, - { - "input_type": "sequence_file", - "input_id": "c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd" - }, - { - "input_type": "sequence_file", - "input_id": "29ee234c-5d39-4eb9-8f73-22121936b3db" - }, - { - "input_type": "sequence_file", - "input_id": "344c1e18-810e-4800-bbed-0246cbbafa60" - }, - { - "input_type": "sequence_file", - "input_id": "91594c64-a197-4dc9-8605-d57aff0f2e87" - }, - { - "input_type": "sequence_file", - "input_id": "17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8" - }, - { - "input_type": "sequence_file", - "input_id": "fed6f8f3-2c61-4361-8160-2c5a13db83d4" - }, - { - "input_type": "sequence_file", - "input_id": "dae9b045-0d8d-4944-b8a2-d3b64ad7df34" - }, - { - "input_type": "sequence_file", - "input_id": "8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba" - }, - { - "input_type": "sequence_file", - "input_id": "b6dda1ac-9635-426a-869a-82b1420ef251" - }, - { - "input_type": "sequence_file", - "input_id": "47c12e95-67b2-42e1-866b-eb7c5f16a3c6" - }, - { - "input_type": "sequence_file", - "input_id": "edbe53c5-208b-436d-b283-1aa4ee94800c" - }, - { - "input_type": "sequence_file", - "input_id": "4198865c-d4ef-4a01-94c0-8a8397914dbc" - }, - { - "input_type": "sequence_file", - "input_id": "e1c334fa-b493-4892-a48b-3fe594e98b30" - }, - { - "input_type": "sequence_file", - "input_id": "c8b4bc26-7487-48d9-a2f2-6b3934da074d" - }, - { - "input_type": "sequence_file", - "input_id": "b0009333-24fc-4f3e-bf35-3cc8fa808efa" - }, - { - "input_type": "sequence_file", - "input_id": "a45af0aa-2591-4031-8ee8-a3c0a5a76260" - }, - { - "input_type": "sequence_file", - "input_id": "56d5b505-6591-47c4-b469-006e27e6e343" - }, - { - "input_type": "sequence_file", - "input_id": "ebbc0d72-0743-41b8-88f6-736c36bd6499" - }, - { - "input_type": "sequence_file", - "input_id": "7c912919-4b2c-4f4d-bdfe-1988d20aeeed" - }, - { - "input_type": "sequence_file", - "input_id": "b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc" - }, - { - "input_type": "sequence_file", - "input_id": "51aef727-d8de-497f-abbe-e650b1baeeab" - }, - { - "input_type": "sequence_file", - "input_id": "c04b8362-f2c9-4cad-b939-494e738efc19" - }, - { - "input_type": "sequence_file", - "input_id": "782fcb99-9b26-485f-9f7d-bda9cc37f0d2" - }, - { - "input_type": "sequence_file", - "input_id": "cabca52b-8f67-4107-8916-4fd8129ccd97" - }, - { - "input_type": "sequence_file", - "input_id": "79e53d37-c41c-4234-99db-f3333d89bb3a" - }, - { - "input_type": "sequence_file", - "input_id": "e0a914c3-3147-4f06-a8ae-0c16029497dc" - }, - { - "input_type": "sequence_file", - "input_id": "ebc98059-556f-4a51-b1d3-e5afb40fe80e" - }, - { - "input_type": "sequence_file", - "input_id": "a65b7c37-e038-41d5-8623-2046bdc278a4" - }, - { - "input_type": "sequence_file", - "input_id": "7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565" - }, - { - "input_type": "sequence_file", - "input_id": "8fc6dd31-c01c-4eec-ae6c-bedd13f2c209" - }, - { - "input_type": "sequence_file", - "input_id": "ba526c42-7c2f-43c1-a817-06ccdb4d67be" - }, - { - "input_type": "sequence_file", - "input_id": "1adbb95f-f5c3-41ce-8e16-7657d189de79" - }, - { - "input_type": "sequence_file", - "input_id": "887d7cc2-1c24-42a9-aab3-51474d95f927" - }, - { - "input_type": "sequence_file", - "input_id": "6e3aed1a-9909-462c-90e1-a1f766cd380e" - }, - { - "input_type": "sequence_file", - "input_id": "d85ccb81-e861-4bb1-95b6-40762555da1d" - }, - { - "input_type": "sequence_file", - "input_id": "5d00e91c-8691-41ff-836c-b827f23a1a7d" - }, - { - "input_type": "sequence_file", - "input_id": "50fd1926-5615-4e29-be75-e8528d1da8df" - }, - { - "input_type": "sequence_file", - "input_id": "73112827-65e2-4057-98e0-960b4c50afe6" - }, - { - "input_type": "sequence_file", - "input_id": "5f3e080f-d2f2-4350-96b0-fb8169bfcdd9" - }, - { - "input_type": "sequence_file", - "input_id": "e744fafb-3c4b-47c3-91db-db8bb8751279" - }, - { - "input_type": "sequence_file", - "input_id": "3f2ae9d6-763e-4408-bc80-6067ccc756e0" - }, - { - "input_type": "sequence_file", - "input_id": "64e1d438-17af-450b-b90c-04072117cbb1" - }, - { - "input_type": "sequence_file", - "input_id": "a10329ae-6c8a-4df9-bac1-70bdf2c07571" - }, - { - "input_type": "sequence_file", - "input_id": "fd0547d5-7f16-46e4-8948-45c82f923f69" - }, - { - "input_type": "sequence_file", - "input_id": "14795e28-bcee-4da3-83cf-bb2592b6c0d0" - }, - { - "input_type": "sequence_file", - "input_id": "5b977962-16d1-4631-9225-6be262e9ccae" - }, - { - "input_type": "sequence_file", - "input_id": "7eb17ee4-5704-4ce3-8b41-121ef051ee09" - }, - { - "input_type": "sequence_file", - "input_id": "a2385663-3f62-4512-b4d8-4bba405f50a3" - }, - { - "input_type": "sequence_file", - "input_id": "53c40015-48a9-4a3f-a513-d617d28a2352" - }, - { - "input_type": "sequence_file", - "input_id": "2862a721-a50b-4e47-86c5-35547bc44e53" - }, - { - "input_type": "sequence_file", - "input_id": "2a77f1db-b5d4-4657-a522-9786aaa7df80" - }, - { - "input_type": "sequence_file", - "input_id": "035a00e0-02ca-46e8-bb76-9b2449ee922f" - }, - { - "input_type": "sequence_file", - "input_id": "1a589473-0047-4bca-afce-57c8448f0dc6" - }, - { - "input_type": "sequence_file", - "input_id": "dcec351c-327a-46df-aa48-22d2647d5852" - }, - { - "input_type": "sequence_file", - "input_id": "3d8bc409-2043-486a-9a0b-12c71a741d83" - }, - { - "input_type": "sequence_file", - "input_id": "554c1554-ed18-4926-b8d7-5b6af2edab5b" - }, - { - "input_type": "sequence_file", - "input_id": "dcf52037-e357-4b26-9072-05e08bf47978" - }, - { - "input_type": "sequence_file", - "input_id": "ed884cca-c961-40d2-bc8b-b358ea4fb780" - }, - { - "input_type": "sequence_file", - "input_id": "3c9533cf-c7b5-4bbf-9461-87da5aa1b556" - }, - { - "input_type": "sequence_file", - "input_id": "12826f14-2ef8-4069-a797-42d2f4c0937b" - }, - { - "input_type": "sequence_file", - "input_id": "fe586661-4878-4882-a38f-0b6321df5c99" - }, - { - "input_type": "sequence_file", - "input_id": "1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec" - }, - { - "input_type": "sequence_file", - "input_id": "b1e83792-e01e-45e2-bcb8-27b81a0d9db9" - }, - { - "input_type": "sequence_file", - "input_id": "5be8906f-0831-422d-896e-b099d5a23e13" - }, - { - "input_type": "sequence_file", - "input_id": "511eaba4-a8f4-4230-b3ad-407332e22b48" - }, - { - "input_type": "sequence_file", - "input_id": "d5b993f2-d053-4420-994b-04d64bd9e356" - }, - { - "input_type": "sequence_file", - "input_id": "adca7438-701c-4afc-8580-01de6ee68974" - }, - { - "input_type": "sequence_file", - "input_id": "d1f65c9e-628b-4c5f-b76a-1154c1666eba" - }, - { - "input_type": "sequence_file", - "input_id": "21bd79df-cc64-4381-a5c7-0e81e001ea1a" - }, - { - "input_type": "sequence_file", - "input_id": "832ae460-0083-42b0-89a6-cc651e50fad4" - }, - { - "input_type": "sequence_file", - "input_id": "db7576d3-afc9-4860-9a46-bdca8f745fa3" - }, - { - "input_type": "sequence_file", - "input_id": "2b889dd9-0bd3-412a-967e-74fa9600bb4d" - }, - { - "input_type": "sequence_file", - "input_id": "baa2bfd9-d2fb-4b5a-a81d-af84bf24c730" - }, - { - "input_type": "sequence_file", - "input_id": "ac036daf-a7cc-4583-a219-814c77ed8001" - }, - { - "input_type": "sequence_file", - "input_id": "ddaab768-186d-456a-8e1d-8631dc97f6ad" - }, - { - "input_type": "sequence_file", - "input_id": "f78279da-e39f-463b-a1a9-02d4f99f85a5" - }, - { - "input_type": "sequence_file", - "input_id": "fff15476-7228-42be-be8a-bd6b02ee9f81" - }, - { - "input_type": "sequence_file", - "input_id": "a1ac3c01-10da-4b93-a61a-71a62e6ddb22" - }, - { - "input_type": "sequence_file", - "input_id": "319d5a99-4bde-4b20-956a-03a0175478ee" - }, - { - "input_type": "sequence_file", - "input_id": "d13d109b-0106-4102-9769-82bb2ed9cfb7" - }, - { - "input_type": "sequence_file", - "input_id": "7f46ab20-26fa-493e-98c4-24d558f4a0ce" - }, - { - "input_type": "sequence_file", - "input_id": "cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3" - }, - { - "input_type": "sequence_file", - "input_id": "8de95742-6e0f-45bd-b835-ce96ebc1991c" - }, - { - "input_type": "sequence_file", - "input_id": "4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed" - }, - { - "input_type": "sequence_file", - "input_id": "59a4c958-41b6-4680-8021-86ed6be8f55d" - }, - { - "input_type": "sequence_file", - "input_id": "f648cc69-80e7-46a1-8575-aae76b30367c" - }, - { - "input_type": "sequence_file", - "input_id": "1f134dea-8f9b-4e90-a1af-80508f43f73c" - }, - { - "input_type": "sequence_file", - "input_id": "9717e5ab-015a-4fee-9864-0332c60b1e9a" - }, - { - "input_type": "sequence_file", - "input_id": "2a7c1cb6-5d82-4b65-854d-6451c18c62fc" - }, - { - "input_type": "sequence_file", - "input_id": "296db6ee-3e65-48ee-b232-626653165222" - }, - { - "input_type": "sequence_file", - "input_id": "885f171d-901c-4cc4-9c76-c5d8cdf35991" - }, - { - "input_type": "sequence_file", - "input_id": "82899c21-c3c7-4288-bb8f-4c72880c10e4" - }, - { - "input_type": "sequence_file", - "input_id": "04066a52-7468-4783-b49c-46e28b076739" - }, - { - "input_type": "sequence_file", - "input_id": "b0025fa1-e6a6-441b-a018-2c73ceabe237" - }, - { - "input_type": "sequence_file", - "input_id": "7e1f0414-5235-4c79-b334-b278d3ebd8ae" - }, - { - "input_type": "sequence_file", - "input_id": "d691ee05-f531-4c18-b0e9-677dcaabf20f" - }, - { - "input_type": "sequence_file", - "input_id": "97cfc6c1-2a97-41ef-bb36-0ac99b8c8195" - }, - { - "input_type": "sequence_file", - "input_id": "c8995918-5491-41bc-ad76-2099c6314fb1" - }, - { - "input_type": "sequence_file", - "input_id": "884813d1-d03e-4210-9289-e5b0d415484b" - }, - { - "input_type": "sequence_file", - "input_id": "ee28d3e7-02df-46a0-a3ba-f55ad747b214" - }, - { - "input_type": "sequence_file", - "input_id": "972e55ea-7901-435b-9646-53bc8fde2e6f" - }, - { - "input_type": "sequence_file", - "input_id": "58b683d3-03cf-42e9-9cff-4143dff729ca" - }, - { - "input_type": "sequence_file", - "input_id": "d4bbfecd-d580-4eaa-8679-33173740b295" - }, - { - "input_type": "sequence_file", - "input_id": "5275a9fa-7a21-4ef2-9819-5358b2821300" - }, - { - "input_type": "sequence_file", - "input_id": "ce6d4c01-8676-4ae9-91b3-4148deb5b8d9" - }, - { - "input_type": "sequence_file", - "input_id": "f7a68998-a02b-4d1c-8768-0abb9e9ae35a" - }, - { - "input_type": "sequence_file", - "input_id": "0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc" - }, - { - "input_type": "sequence_file", - "input_id": "2aba7a6a-6d70-4310-9e64-071c6adbe16b" - }, - { - "input_type": "sequence_file", - "input_id": "54140f9b-2929-44b6-9fb0-de4c2b22090b" - }, - { - "input_type": "sequence_file", - "input_id": "0c577531-9218-444b-8094-85d8c6f5c73e" - }, - { - "input_type": "sequence_file", - "input_id": "28c505c1-e1c4-4e73-b935-9616224da552" - }, - { - "input_type": "sequence_file", - "input_id": "95e893a0-0885-4e1c-8e31-55863d5108b3" - }, - { - "input_type": "sequence_file", - "input_id": "e9def19b-3967-47e7-a2dd-1bc5f9297959" - }, - { - "input_type": "sequence_file", - "input_id": "96f4d488-e081-4b54-b12a-b2d9546bfc17" - }, - { - "input_type": "sequence_file", - "input_id": "f8988fe1-225c-40b4-933d-9dacb8b4728f" - }, - { - "input_type": "sequence_file", - "input_id": "18d81f7f-94c8-4877-939a-b74ba802835a" - }, - { - "input_type": "sequence_file", - "input_id": "0fa69e92-febb-4bab-857c-4b67a2b17ff6" - }, - { - "input_type": "sequence_file", - "input_id": "09a53782-90ea-4911-a793-706e74127adb" - }, - { - "input_type": "sequence_file", - "input_id": "c67f602f-1b0d-4b0e-bd72-af166f5443fa" - }, - { - "input_type": "sequence_file", - "input_id": "5b80431f-c95a-41ef-8aa7-98816f00e4d6" - }, - { - "input_type": "sequence_file", - "input_id": "70291c50-770c-4e51-8f1b-60be28ea419f" - }, - { - "input_type": "sequence_file", - "input_id": "38e1a4f4-f9ec-44cf-b6bb-1a9566456d38" - }, - { - "input_type": "sequence_file", - "input_id": "154dffeb-efd7-4081-a73c-bf1b73ca9a90" - }, - { - "input_type": "sequence_file", - "input_id": "c9517b55-fb72-463a-aab6-e4f64b95c2fc" - }, - { - "input_type": "sequence_file", - "input_id": "c3d3c4a3-527b-490f-8107-bc1b44566df0" - }, - { - "input_type": "sequence_file", - "input_id": "83865a27-24a8-4a70-a8bd-650affa7df5c" - }, - { - "input_type": "sequence_file", - "input_id": "6e650029-386f-4d8e-868e-8780782baa4b" - }, - { - "input_type": "sequence_file", - "input_id": "f859d1ff-df51-4548-b8a4-9eca26bf7454" - }, - { - "input_type": "sequence_file", - "input_id": "79426c6b-bd79-4343-b9fa-ee1e9cfc2aef" - }, - { - "input_type": "sequence_file", - "input_id": "0697146c-0105-4d6f-baff-d9147593eadb" - }, - { - "input_type": "sequence_file", - "input_id": "65fae226-b417-43cd-a5c8-cf2336b8cff5" - }, - { - "input_type": "sequence_file", - "input_id": "7240ec36-6433-4e5c-ba0f-d2770817f963" - }, - { - "input_type": "sequence_file", - "input_id": "d20547e4-3f00-42af-9a7f-9477ff43de0d" - }, - { - "input_type": "sequence_file", - "input_id": "0256729b-47ee-4ed3-adc7-2c0813bb99b9" - }, - { - "input_type": "sequence_file", - "input_id": "7eb2244c-6b4d-4d91-bfc6-44ec12d9319b" - }, - { - "input_type": "sequence_file", - "input_id": "b2a6b8c1-f0bc-4509-b255-8618d7cff205" - }, - { - "input_type": "sequence_file", - "input_id": "bf6cb18e-07de-404d-bebe-4a943dfb44f7" - }, - { - "input_type": "sequence_file", - "input_id": "6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0" - }, - { - "input_type": "sequence_file", - "input_id": "5a172f54-33a5-4e0d-bc0d-1760bad3beb6" - }, - { - "input_type": "sequence_file", - "input_id": "ee36a1ac-7426-4253-81b8-715f37a2ba69" - }, - { - "input_type": "sequence_file", - "input_id": "d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc" - }, - { - "input_type": "sequence_file", - "input_id": "5f5e80b2-0779-4df0-9a18-35bc0db72fdf" - }, - { - "input_type": "sequence_file", - "input_id": "e6b33ccb-99f6-4c02-aa69-e7b581832d04" - }, - { - "input_type": "sequence_file", - "input_id": "9d98496f-f6d8-4106-8b6a-c118ed6ff229" - }, - { - "input_type": "sequence_file", - "input_id": "22343575-1465-455f-8360-4e716aab17fb" - }, - { - "input_type": "sequence_file", - "input_id": "7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4" - }, - { - "input_type": "sequence_file", - "input_id": "9f709f2c-701a-43bc-8417-77fac81c3633" - }, - { - "input_type": "sequence_file", - "input_id": "a4152d0c-ca88-4cad-af08-40a2e799bec7" - }, - { - "input_type": "sequence_file", - "input_id": "2c4d6e65-8271-4542-97ee-7ba8a6b628d9" - }, - { - "input_type": "sequence_file", - "input_id": "668a508d-34fa-4468-86e8-523380a34da8" - }, - { - "input_type": "sequence_file", - "input_id": "b5c2e557-c303-42cc-8779-bf3b2256c422" - }, - { - "input_type": "sequence_file", - "input_id": "f9eef16f-b9cc-43bb-b9f3-bf0948766e7e" - }, - { - "input_type": "sequence_file", - "input_id": "061936ce-8fbb-4576-8c0c-ed871767917f" - }, - { - "input_type": "sequence_file", - "input_id": "762c2720-f65c-4804-844f-2302bc33ebbc" - }, - { - "input_type": "sequence_file", - "input_id": "fedc286a-9bbc-4db0-8bf5-b3f0b69fb559" - }, - { - "input_type": "sequence_file", - "input_id": "43f476f9-cbfc-431a-a774-5885904b434c" - }, - { - "input_type": "sequence_file", - "input_id": "65b78fda-7874-455f-9c9a-bf7aca375a0b" - }, - { - "input_type": "sequence_file", - "input_id": "82fc0df9-9828-433e-ac6d-73f4bbceefcf" - }, - { - "input_type": "sequence_file", - "input_id": "fb771836-467f-4897-a755-a17ab281a385" - }, - { - "input_type": "sequence_file", - "input_id": "5f6e0f4b-3541-4197-a67f-01dddc0cf105" - }, - { - "input_type": "sequence_file", - "input_id": "c7970499-e36d-49f3-b1f2-6886746333c9" - }, - { - "input_type": "sequence_file", - "input_id": "6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47" - }, - { - "input_type": "sequence_file", - "input_id": "e4d6ced4-50a3-402a-bbbc-ae329cd3689d" - }, - { - "input_type": "sequence_file", - "input_id": "792fd4bd-9b01-42bf-a883-c651789a198a" - }, - { - "input_type": "sequence_file", - "input_id": "10b3b42b-3612-48fb-849b-bfc036c248a6" - }, - { - "input_type": "sequence_file", - "input_id": "6fc7505d-33db-4d19-99a1-5756cd9a0a1c" - }, - { - "input_type": "sequence_file", - "input_id": "64309a91-ba2b-4b0e-baa9-7cfce3c5d445" - }, - { - "input_type": "sequence_file", - "input_id": "64eedb4a-2f73-4b60-a4b1-99b5ffd0486b" - }, - { - "input_type": "sequence_file", - "input_id": "79d181d1-5b70-4306-a229-74a2a3d5278e" - }, - { - "input_type": "sequence_file", - "input_id": "102b8410-1c0e-46f5-90fe-609ab117221c" - }, - { - "input_type": "sequence_file", - "input_id": "449ec63a-dca8-4a61-98b5-e6789d4946a1" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca" - }, - { - "output_type": "analysis_file", - "output_id": "31e6cb06-0062-4096-84f5-c2d1c2621a82" - }, - { - "output_type": "analysis_file", - "output_id": "d3b3abc2-0da6-4163-acb8-251fe079284c" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "07f1f962-dd38-4a0b-b0b5-f4efe30d21e2" - } - ] - } - ] - }, - "stitched": [ - "00823629-0112-408a-bcf2-41833b245e93", - "00c95530-9f10-4401-8bfa-69162c212d50", - "00d1ba09-4cf7-4325-8557-96febd0cdb76", - "012af05a-4771-45e5-bb92-9b63fcbde822", - "01d2d764-457f-44c5-8b18-a6fadf73c1f7", - "01df1fa6-30b3-4d6b-8b5e-0f54c490064a", - "0256729b-47ee-4ed3-adc7-2c0813bb99b9", - "02cfb8bb-4eb6-4343-9381-007968f1feee", - "035a00e0-02ca-46e8-bb76-9b2449ee922f", - "03815b54-b935-4f04-96ac-56f7c87d601d", - "03af14b5-ba39-4bfe-a8ac-0d349550078b", - "03e8e9eb-f490-4a97-ac2c-0d6eb94c47e4", - "04066a52-7468-4783-b49c-46e28b076739", - "04240909-9185-48d3-a4e9-9eb71b3c6648", - "0506c2a0-ef2b-4850-8567-20d08046bdaa", - "05736d0e-ab04-4183-9c38-1bfdf028978f", - "05b53817-c778-4f1a-ab2a-e51480fa63d4", - "061936ce-8fbb-4576-8c0c-ed871767917f", - "062700c0-e8ed-46e2-b7cd-7cc6d8c3fc85", - "064b7aa5-c62b-44b8-bf51-08a63d47441c", - "067d2b7b-127b-421f-91db-0acc05ad62ad", - "0697146c-0105-4d6f-baff-d9147593eadb", - "073edb43-47d2-45c7-bff2-76c503ebb951", - "07adbae3-fbf8-4a59-8272-d0dbdd51d9ba", - "07fc08c2-8b57-45f6-afe8-eeed266c0809", - "091a1403-2320-4e38-8749-3088deb6da8b", - "092b2a1b-0730-4860-b466-e92e66afd8d1", - "096cce50-ea0a-4d40-9f12-c625735ef398", - "09a53782-90ea-4911-a793-706e74127adb", - "09b831a2-5b60-4753-864e-8af803024437", - "09be6713-f8fa-48a6-873e-d9524c526c8f", - "09c0456a-ec0b-47e3-870d-4b47221a45a6", - "09ffc9cf-6e64-4d47-8188-a8588ec39861", - "0c577531-9218-444b-8094-85d8c6f5c73e", - "0dbf8a13-52a5-48ad-b48e-9fb0ef358dfc", - "0f071463-fdce-400f-82d9-dc78cb248003", - "0f9a7b95-19f7-4479-9807-34b644296244", - "0fa69e92-febb-4bab-857c-4b67a2b17ff6", - "1020603f-5b24-41ca-a106-556574cee788", - "102b8410-1c0e-46f5-90fe-609ab117221c", - "10b3b42b-3612-48fb-849b-bfc036c248a6", - "110bb0f5-9d1a-4573-b711-6bee156d0eb8", - "116a5666-1022-46b6-8969-eb7d20d39ef5", - "11cc1e64-8d96-40bc-bbd2-977b4b02c4b6", - "120a2ea9-2b86-4039-99b3-2bacf4b38751", - "12826f14-2ef8-4069-a797-42d2f4c0937b", - "130831cc-87b6-47fd-93a8-ae1890d365f2", - "14795e28-bcee-4da3-83cf-bb2592b6c0d0", - "154dffeb-efd7-4081-a73c-bf1b73ca9a90", - "16907e80-3a36-4c03-b13d-7de8b5490f8f", - "16efb9eb-a634-46cc-ba8d-5ac3caa0cc98", - "174d0c2a-8487-4651-b939-97b1cf9f0816", - "17667128-f652-4e98-9a47-dd16b5d2d3f8", - "1767fde5-01d5-49d1-8e54-a81999b6c812", - "17883ec7-0ff4-4c57-b2d0-2ac130bd3ae8", - "17caacbc-c7dc-4924-b4aa-4941fb4baf61", - "18d81f7f-94c8-4877-939a-b74ba802835a", - "19eb5d2e-2224-4bb4-9f94-526a4c06f7a2", - "1a589473-0047-4bca-afce-57c8448f0dc6", - "1adbb95f-f5c3-41ce-8e16-7657d189de79", - "1aeb9062-38e0-4678-bf5b-849be34a84f0", - "1b0bd409-58f7-4674-a5ac-1614c28f6350", - "1b3c4f36-c0b2-4beb-ab5f-842350a241a3", - "1badbbc9-6b43-41f6-acad-36f09cff3d21", - "1bbafb1c-50eb-40b4-ab71-dd5d6f1d3288", - "1c05f18f-de60-4274-9146-0760cebe8824", - "1c39afd5-e212-4bd9-a8a8-1649bfadc12f", - "1c95a589-205c-4d7c-9c56-c3de4f7dbb66", - "1c9e23d2-922a-41b7-ab5e-2a16d1273a7a", - "1cf005ac-a546-4151-bf79-4a898e918798", - "1cf89101-b861-4bb8-98e6-ef46cf064853", - "1d66f422-91f4-46d1-8768-3fcca538fc46", - "1d77e73b-9bd3-499f-a0d0-86d9f7306a7e", - "1ec0519b-81e7-4bc2-9a1b-d14c6e745bb4", - "1ec9b28d-e07e-4588-b3d5-408f41addb2a", - "1f134dea-8f9b-4e90-a1af-80508f43f73c", - "1f5d640c-1ea0-4f8e-a9ce-036a8eb6e0a1", - "1fa9f51f-6108-47dd-a130-2c9cdf46701a", - "1ffc9c1e-5894-4d8e-9bb7-be6a41aaabec", - "2129a373-0919-4c91-bf59-adf4de6566f5", - "21a4919f-647c-42b3-a6af-a4309110ed2a", - "21bd79df-cc64-4381-a5c7-0e81e001ea1a", - "22343575-1465-455f-8360-4e716aab17fb", - "22833c60-dc70-4299-86ac-00747b91b3cb", - "22b7ebdc-a4cc-46fd-a2c2-376e9d00bf22", - "22ccd979-a5e2-476d-9e80-394418c0f3f4", - "23156c36-e709-422e-bace-1b40795c8b30", - "23203fb2-d46d-4d14-95e5-4ec38191e420", - "238cab27-9274-495b-962f-2b610f237758", - "24023592-6f24-47d3-98ea-3c9e03cf3fc4", - "247a418e-75ff-47c5-9272-93035037d5a4", - "24bbde6e-cdf7-4f1c-a447-6501ce377aa4", - "24f7d4c3-f9ec-476e-b038-e0d83c6e11c8", - "268eee1e-83cc-4064-bbf5-9799d7635be5", - "27349ad8-0595-4deb-9cb9-4df05f4f31db", - "274a70c7-ac73-4e9e-b80b-602e01803502", - "27d2989d-79e9-4caf-839a-34bebff5a601", - "27e04f3e-1375-4cd2-b5f0-bea8bfd595c4", - "28023147-3cad-4c1d-b494-b693c4f0a6bd", - "2862a721-a50b-4e47-86c5-35547bc44e53", - "28899ffa-f480-4ee6-8ccf-30e90f8a7482", - "28bb1ea6-ee3f-4ba4-a98e-1c841fa183d3", - "28c505c1-e1c4-4e73-b935-9616224da552", - "290232bb-afb1-45b2-8e04-be180948541a", - "296db6ee-3e65-48ee-b232-626653165222", - "29ee234c-5d39-4eb9-8f73-22121936b3db", - "2a77f1db-b5d4-4657-a522-9786aaa7df80", - "2a7c1cb6-5d82-4b65-854d-6451c18c62fc", - "2aa19940-68c0-4ea1-90d8-70760b8dc237", - "2aba7a6a-6d70-4310-9e64-071c6adbe16b", - "2b4e9f9e-5929-4c09-82fc-fd0986686e12", - "2b889dd9-0bd3-412a-967e-74fa9600bb4d", - "2bafabec-5248-4da2-bc8f-5b04d6ddb522", - "2c2de25a-7780-49d5-bf08-a369fc05abb6", - "2c4d6e65-8271-4542-97ee-7ba8a6b628d9", - "2c83b1f2-4b66-40cf-bdca-90fe69aa0c3a", - "2c8844e4-b2e4-44ac-8e0f-ac903f8e9320", - "2d0246fd-696f-4a54-abe6-d759cc6d27b3", - "2d312c74-647b-4c39-a818-1f916120ec18", - "2d487bca-d046-425f-ada2-038bdf5d030c", - "2e118ffd-49ca-43d7-b590-e91e0456d9fb", - "2f033594-a8bd-49c4-b1b7-69ce88fe26d4", - "2f74ffc0-b776-4b4a-90c6-327edb41c7ac", - "2f87e572-a42f-43cf-b4ba-c5dc6add0d4c", - "2fcfac01-3a3e-4fc4-a33d-5a8ad713a280", - "2ff6533e-8fe3-44c3-b378-99d4acdc0ab8", - "30b68b8b-e5e4-4b90-80ea-4501adefc4d0", - "30f53c61-a8e3-42cf-a6d2-1b172659c189", - "319d5a99-4bde-4b20-956a-03a0175478ee", - "32d392aa-7696-4d2d-b1b6-f69fd591295c", - "338c6fa7-3230-4aed-8e9e-5b429feaa288", - "344c1e18-810e-4800-bbed-0246cbbafa60", - "347f630f-a9a0-4430-958f-6c929335031a", - "34c723b9-9cf3-439f-a6f4-90fedc18706d", - "3509a2f3-2e6c-4e56-9150-32be1a82d8a1", - "35837492-79da-4f1c-a841-224cbec4c745", - "35a428b7-ad5a-45d7-87e9-33b23348b906", - "35bd5d6e-4de5-4f02-8f5a-33cc3b37b153", - "35e1a941-427f-430c-80a0-9a9efcdcac37", - "365b5d7b-fa81-4d61-a67e-f3293abf2ade", - "38601526-8448-4253-807b-70878c374901", - "38bbcc18-c2de-42f2-ba35-0f1f58d56963", - "38e1a4f4-f9ec-44cf-b6bb-1a9566456d38", - "39c5b18b-7c2f-439f-afee-b895ecbdba36", - "3b0fcf43-fc81-4b0d-9d15-9b9d9c28a8a2", - "3b145fb0-fb39-481f-afbe-af22cf58729c", - "3b4e2a40-facf-48d4-9e35-81abafb8aeb6", - "3b7b0bcf-b316-4b0e-9d46-f8d44a399774", - "3bb2457a-505f-4f04-b5f9-71e351be791f", - "3c007e61-0e8a-4337-946c-1082441084c7", - "3c4d5451-b8fb-49e3-bb38-3516f530db67", - "3c9533cf-c7b5-4bbf-9461-87da5aa1b556", - "3cad3e7e-9e9b-4e4e-a535-509853f9306b", - "3cf0f46b-1618-49e6-8cdc-d97a9d2403da", - "3d399f0a-0e73-441a-9bc1-8f63536cf316", - "3d8bc409-2043-486a-9a0b-12c71a741d83", - "3dce5e53-a137-4086-96d3-26dd3d000cf6", - "3e4ec223-4b6e-441e-99b0-a6eb8ff81322", - "3f13a6ae-a220-426e-9b17-176ce9029fa9", - "3f2ae9d6-763e-4408-bc80-6067ccc756e0", - "3f7e58de-d959-42e5-b3be-7060c1ab94b4", - "4026cbb7-f472-4658-8a68-eb40eb78c3c3", - "41905e9a-347d-4760-8e34-e0137aa93548", - "4198865c-d4ef-4a01-94c0-8a8397914dbc", - "4201e3fb-bbd9-4375-8a30-c47aba2e7794", - "42bbb160-b881-4036-a712-1ab9b5d5ce87", - "4335aa82-37be-4de2-94f1-8810fc811e98", - "4368817b-fc6f-433d-becd-61be481dee9c", - "43f476f9-cbfc-431a-a774-5885904b434c", - "440b2ea5-b5e5-403a-ab14-a026497a7490", - "449ec63a-dca8-4a61-98b5-e6789d4946a1", - "44a6a31a-a6a9-4c5a-a95e-41f97e4d3ab7", - "452b3d9d-cbfb-4e6f-af3c-7a678e03c06b", - "459797ab-8183-4d27-991f-da0c14dbc176", - "45d0b683-d7dc-4e1a-a235-dad58ef03d77", - "468cc474-cf45-48c6-beb8-07057fdc8782", - "476ac577-429f-4731-9591-1570067d354c", - "478ce71f-dda3-479e-ae3e-dc155020d4a8", - "47950b5e-3d6f-4b75-9518-feb8b9e9a78b", - "47c12e95-67b2-42e1-866b-eb7c5f16a3c6", - "47c90541-7080-4247-b2ad-0a1622530c26", - "47eb72f6-2554-4fa5-ac41-8a0a015c9d3f", - "48877bbf-def8-4da0-a569-8e6772d7699a", - "496819e2-4a76-4e4d-9182-300b7cd35e11", - "4ab6c35a-6161-4e17-a0d6-0d224e0e4eda", - "4abcf42c-5291-47f3-b7a8-bb1071f56c54", - "4ac503f3-d1c8-4e46-859d-6c71bdcd6316", - "4ac849a2-a3df-4b11-bda8-c21eda4290d1", - "4ca067fb-8ba1-4959-9c1a-878d5705dd67", - "4cc88ec7-86ab-4c1d-afa4-c80fed914133", - "4d0f1255-5e1b-4852-8030-a7a8f7580f1a", - "4d3d8969-8d3b-4b64-926b-c24de95a8fca", - "4d5d95a5-78af-4076-af8d-a4c6ac315f14", - "4df715c5-a783-41e6-a99e-eedf93a37fb3", - "4e066f08-f8b7-4550-adc2-287392fa7731", - "4e5a65c1-62ab-451b-9529-c2ca3e9ab6ed", - "4e80de0b-5325-4377-bf98-54a0a4447360", - "4e8c4847-822d-4f26-bdeb-a3b2aa545e6c", - "4ee04947-730b-4eda-86cd-a86cb8f476eb", - "5042cbe0-a647-42ea-ae33-ef4d56a117c1", - "5075a5ac-3fc2-456c-ba32-fd36b73bbcd8", - "50fd1926-5615-4e29-be75-e8528d1da8df", - "510a7a83-60a3-4d0f-a234-195d3d63687a", - "511eaba4-a8f4-4230-b3ad-407332e22b48", - "51aef727-d8de-497f-abbe-e650b1baeeab", - "5233c464-f7ed-4c38-846d-89857554778b", - "5275a9fa-7a21-4ef2-9819-5358b2821300", - "52c71657-57d8-4a49-ba21-2591010b5da7", - "52fbaa44-2179-49b7-9ee9-582615102404", - "53a23d1f-67fe-4599-abf7-6d76b0999f59", - "53c40015-48a9-4a3f-a513-d617d28a2352", - "54140f9b-2929-44b6-9fb0-de4c2b22090b", - "541fc29f-a7a3-456e-b28e-80f9036a4e33", - "554c1554-ed18-4926-b8d7-5b6af2edab5b", - "55d5d301-1c65-4ba7-a769-9496b1e85352", - "5621674e-0290-487d-8c0c-49b617d1628c", - "565dbd59-2571-4af5-b160-c6d5cd3c684f", - "56d5b505-6591-47c4-b469-006e27e6e343", - "572a625b-119a-4099-b5eb-d2994f8846bf", - "5731130c-c5a6-4c15-90ea-b560377d50b5", - "577e4275-b373-40ac-ac3f-8487d6aafe16", - "58a3a386-72d7-42e1-9d31-951faa0cdd14", - "58b683d3-03cf-42e9-9cff-4143dff729ca", - "58deffba-bee5-43c0-9432-f48d476479f7", - "59a4c958-41b6-4680-8021-86ed6be8f55d", - "5a172f54-33a5-4e0d-bc0d-1760bad3beb6", - "5b80431f-c95a-41ef-8aa7-98816f00e4d6", - "5b977962-16d1-4631-9225-6be262e9ccae", - "5ba4d483-b089-436d-b5d9-204594fd9bdf", - "5bb51990-9b12-4694-bc28-b87a2efeae9f", - "5bbb5c3e-aa4f-4a39-b9b6-daebf8267e7f", - "5be8906f-0831-422d-896e-b099d5a23e13", - "5d00e91c-8691-41ff-836c-b827f23a1a7d", - "5d0feda8-27ec-4d2f-872f-010de5599038", - "5e25031d-3456-4209-9818-c8882b2623e1", - "5e811f8c-aa77-43f5-9197-f69c067b6e83", - "5ec7c9a4-d508-4f02-a5d6-2549a2beb668", - "5ecc4c21-3d22-4ee4-a5ec-f65c013fe1d8", - "5f3e080f-d2f2-4350-96b0-fb8169bfcdd9", - "5f44152a-c794-49b7-b1a3-ff85ca3b09d7", - "5f4b61e7-f383-4afe-95ed-b5291cb78e25", - "5f563e91-d384-4e1e-ac84-20f06332fe8c", - "5f5e80b2-0779-4df0-9a18-35bc0db72fdf", - "5f6e0f4b-3541-4197-a67f-01dddc0cf105", - "609ae52c-1765-4048-8e00-2ddbefb71419", - "60e4296c-5d92-4c12-bf4e-f5fe08f01614", - "614f783b-6956-40b9-9a4d-7e5aebda0eb8", - "61716326-4fa0-41b9-8ca4-5b020500e8ad", - "61d9feae-3f3b-45e8-a236-359df3e2e2d1", - "621547f4-60bc-41b6-bc21-5c970700a1e4", - "6250c51e-4eb7-4ebe-81c3-abc23724f317", - "62af56af-f65d-4aae-a599-385c1f725e23", - "62f16474-dd23-4eac-aefc-1ba7c5d67d42", - "630c4724-310e-462d-9d0d-e10083f44b9c", - "6314671e-6b9f-462c-a207-e0f99f82a659", - "63d29f05-1a74-46a0-ad91-001efa34a021", - "64309a91-ba2b-4b0e-baa9-7cfce3c5d445", - "64684889-2821-4e2b-9aa4-b57c3eb47a42", - "64c93769-83eb-4718-90f0-36d83b1dae4d", - "64cbad96-28c1-4e62-a6f5-b8b79424503a", - "64e1d438-17af-450b-b90c-04072117cbb1", - "64eedb4a-2f73-4b60-a4b1-99b5ffd0486b", - "65909bad-b2cf-46f8-883a-6cd80e9499e4", - "659bc4f7-7223-4eee-973b-432c66c7ded9", - "65b78fda-7874-455f-9c9a-bf7aca375a0b", - "65fae226-b417-43cd-a5c8-cf2336b8cff5", - "668a508d-34fa-4468-86e8-523380a34da8", - "67784226-6582-44f0-bdf0-1d2bc86d9a6a", - "67fa2c3e-ba97-4bc6-beb9-92ea33bec948", - "680f8f20-13b6-45db-872c-83b542f77227", - "69ab8827-b0dc-48ae-84b5-1d27284a7db0", - "6a96f079-8655-40da-ae1c-2259b26adc8e", - "6b339b09-2d38-4016-8aaa-bfcc788d124a", - "6b38794f-2d55-4422-8094-fb4a5e100d32", - "6bbb303c-2698-46f3-b818-702e9c75e40d", - "6bd02c9a-1d0a-4093-bc0b-26d1f6ebdb47", - "6ca6b611-2a38-41e7-a0ab-c9fd6cbb32c0", - "6d508d37-de41-4d34-8eb8-ab59e95e6eae", - "6e3aed1a-9909-462c-90e1-a1f766cd380e", - "6e650029-386f-4d8e-868e-8780782baa4b", - "6e669924-95c7-4aef-bd34-6dd28bf29fdd", - "6ea00f5c-7e63-493b-b6f9-68ba54dbbed3", - "6ea29b25-492a-4c00-819d-ec8a0909fa28", - "6f11ead1-11b1-4bda-8a20-588bb85ec126", - "6fc7505d-33db-4d19-99a1-5756cd9a0a1c", - "70291c50-770c-4e51-8f1b-60be28ea419f", - "70519cbb-bbfb-4e55-9642-e6c6a381b4d0", - "7060b0f4-a756-41f8-bc65-16c7effef1be", - "707a111e-6a29-42f6-906b-1168970d3ba0", - "7186ea5d-49a0-4d72-a24e-2a30d48aa8fc", - "719d5ca1-9869-48a6-9876-81b4816c3dbf", - "71add17d-3b59-4ca2-a032-80819608a34a", - "71bdd650-ae9d-46ee-af5f-efa21b8f6d63", - "7240ec36-6433-4e5c-ba0f-d2770817f963", - "72b34b3d-f005-48af-81dc-3631873960d8", - "73112827-65e2-4057-98e0-960b4c50afe6", - "738ebc49-f032-4c58-a5de-cbdbbdd58286", - "73de6875-a6ff-4ff4-846a-5d4866b129a6", - "74086d10-f049-45c2-8654-de93aac63d94", - "7518b08c-cf57-44fa-8cba-a22aad24d5ea", - "75b50abe-fbd8-4bc6-9170-455bcd9a3208", - "762c2720-f65c-4804-844f-2302bc33ebbc", - "76457b72-bfe8-46b4-a8fb-7644c1f9209e", - "76616c76-f485-4da1-aae6-fc2fc918d90e", - "770b9529-4358-4a27-9c8c-ab4fd91c3397", - "782f79d7-bd59-4cc5-8492-1e680fbb31c1", - "782fcb99-9b26-485f-9f7d-bda9cc37f0d2", - "785cf620-02b6-4450-aaff-67684b1af04c", - "78e933ab-3d89-4651-9e78-db7da3ce15de", - "791fcf08-b02f-4ecc-9a89-bef863ecb3db", - "792fd4bd-9b01-42bf-a883-c651789a198a", - "79377e16-5ab0-433e-ba05-39349b25c52f", - "7938acb1-91e3-4d8d-9d24-3b0a9fa28131", - "79426c6b-bd79-4343-b9fa-ee1e9cfc2aef", - "79d181d1-5b70-4306-a229-74a2a3d5278e", - "79e53d37-c41c-4234-99db-f3333d89bb3a", - "7abc79b5-e32a-4313-b130-12397d29d684", - "7ac117ba-372b-4448-ac12-0a30e53a53aa", - "7add99e3-86df-4443-a5b6-d734667814b3", - "7b062fdb-21d9-4760-8620-04b9d92f1148", - "7b1418ba-7cd7-4844-924c-ca92b0d3147c", - "7bc7e2a7-e334-405b-b0eb-b7fe7bb8b3b0", - "7c28300b-6590-429d-b628-08f020a83288", - "7c912919-4b2c-4f4d-bdfe-1988d20aeeed", - "7cb5e572-fb2b-4416-8ff9-05af3bd1bcf4", - "7d5ca602-df90-402e-9c12-933e1cdde407", - "7e1f0414-5235-4c79-b334-b278d3ebd8ae", - "7e614c42-78b1-452c-a142-57b2dfef7f9e", - "7e8a8426-4694-4e76-8525-8e56fb86837c", - "7eb17ee4-5704-4ce3-8b41-121ef051ee09", - "7eb2244c-6b4d-4d91-bfc6-44ec12d9319b", - "7ec16db5-8b4b-4c20-98ab-bb2916a7e793", - "7f46ab20-26fa-493e-98c4-24d558f4a0ce", - "7f67c5c2-e02b-4b93-8a65-0e0f0d1c3565", - "7f6b4855-5cec-45af-87ac-1c86e25526dd", - "804eb3bf-15a9-47d9-81a7-d19b060c5425", - "80d3eb60-a05b-4bdb-8957-21e383773240", - "80e88ed6-4480-4888-b25d-d41e90822142", - "817604e4-1083-463c-ac3e-3e3d72bb649a", - "81898837-23e3-40d9-96e2-04a559d95b2e", - "81aa872f-74ed-4d70-bf2b-6c99d85f7158", - "81f653f3-e276-476a-9bc9-f1f0e701d893", - "8239a02f-03ae-4492-b56e-501455438e63", - "82899c21-c3c7-4288-bb8f-4c72880c10e4", - "82fc0df9-9828-433e-ac6d-73f4bbceefcf", - "832ae460-0083-42b0-89a6-cc651e50fad4", - "83865a27-24a8-4a70-a8bd-650affa7df5c", - "842d36b0-63a8-4327-9272-829af8d0f078", - "84886ca5-d3d0-48fa-aab5-2bf8841a90bf", - "84cc7ee0-4d8e-45a1-b563-d3e05b4ec573", - "85f59eaa-e374-4131-aa69-25ac2b82570b", - "868dfde7-2df8-487f-b754-68db8a96ad3a", - "871337d9-1c55-4c97-8f67-2da1fff00847", - "877258d8-07eb-4cb6-a358-7c265c856ab6", - "87d83545-fd57-4d28-87f6-66d8f0497377", - "87e9a01b-594b-4dc4-b2a7-a14407399b50", - "87f7c470-7c45-4f41-9600-21cc527f524e", - "8840da5d-cbaa-4617-ad50-d2a012563fe6", - "884813d1-d03e-4210-9289-e5b0d415484b", - "885f171d-901c-4cc4-9c76-c5d8cdf35991", - "887d7cc2-1c24-42a9-aab3-51474d95f927", - "8898a9f3-4928-45b1-b236-71ce7cb48b11", - "89120b65-1e35-4c45-97ff-dceb88c11608", - "893dfdd4-43f4-4256-938b-d957928f0daa", - "8a193098-118b-4f89-8247-2bcc5895c652", - "8aacdf52-d394-4388-aaec-6ba68e731776", - "8ac59477-0756-41ec-b217-e043e28dfd1a", - "8bcbbdc1-57ba-414e-bd3e-5a76b3d0fe9a", - "8d9fd2be-7a3d-41b6-a8a8-703071dbefd0", - "8de95742-6e0f-45bd-b835-ce96ebc1991c", - "8df6ce25-29e1-41a9-af33-d665ff8ca4e7", - "8e1496ed-8a01-41b2-b961-4836ffec838b", - "8e892b4a-c112-47f2-a058-b87efed5a262", - "8fc6dd31-c01c-4eec-ae6c-bedd13f2c209", - "8fc7790a-a0a0-4c82-95f1-d5ddd51eeaba", - "90507c29-dc73-4082-8322-fabb7ee6c417", - "91594c64-a197-4dc9-8605-d57aff0f2e87", - "91efd1fe-91e4-48de-b94d-d6c9a01070a2", - "92363365-2bef-43b5-bb58-7a66b7cf57dc", - "92b8ae58-1054-41c0-b7b2-62f41b233069", - "937bbdf2-09e3-4bf7-8f45-e46db2188c46", - "93d7c2e3-12a7-47e7-b59f-6d32a6fc1d82", - "93e2bcb3-3310-4f04-a076-edc6d70edd83", - "941c2df6-cbaa-49ee-80af-950b8c015aa6", - "94607b56-edd9-4517-b07d-4b6f54b5bdaf", - "947c5a3d-3fc2-4bd4-ad3d-a918c0e11288", - "94db79be-389e-4acb-a40c-4a9c50ea00ee", - "94dc13e0-6390-40d2-a3c2-bec70c12d5b5", - "95834b02-36f0-4ccf-b0a8-9003c4856b03", - "95e893a0-0885-4e1c-8e31-55863d5108b3", - "95e98d94-d463-400d-8fc2-bcf5d8836479", - "962e1ed5-971f-4c9a-b300-5b26a208ee15", - "965057e9-48bc-4452-8819-2bc45723a0f7", - "96f4d488-e081-4b54-b12a-b2d9546bfc17", - "9717e5ab-015a-4fee-9864-0332c60b1e9a", - "972e55ea-7901-435b-9646-53bc8fde2e6f", - "975d56a1-7521-4cae-a00c-b5b838c5eb17", - "97cfc6c1-2a97-41ef-bb36-0ac99b8c8195", - "97eaa3ce-131c-48b8-8082-86bbb6a486b5", - "98195059-45d0-4646-8029-b7f0ade7f2cc", - "990e3e4e-8fa2-4908-b397-8e30328f5343", - "9957b026-435c-45b1-a333-70cd5dccdde0", - "9962de78-e4ef-40ba-b9fc-bd661895a99b", - "99e73efd-4a04-496f-bb32-8f73edb0ae1a", - "9a03ec79-7dc7-44fc-bb97-22ad58159436", - "9a8800b5-f35a-4f46-b73f-88126b7991d5", - "9af05201-38fa-4249-a9bd-94306c68c3eb", - "9b03ad8d-aabf-4736-820a-493db4877f84", - "9bad139c-7abf-4786-a6fc-5f9a5abcd850", - "9bb66e29-a02f-47db-b478-00a5fa1f1080", - "9d4fa1f8-c43f-44cf-8c4a-80803db9c498", - "9d98496f-f6d8-4106-8b6a-c118ed6ff229", - "9de5c25f-721b-4eb2-b261-64a6a02825de", - "9e63db48-5b68-40e8-9d8f-aff48223b80e", - "9e74066b-834e-416d-a1e7-bbec1e8f1713", - "9f48fa4c-9f7c-4d06-840b-4937b1726cb3", - "9f577e94-f952-40af-a919-108f4661fdb9", - "9f709f2c-701a-43bc-8417-77fac81c3633", - "9ff4778b-509a-40f0-bd51-d5aaeeab12ab", - "a0309063-af66-419b-a940-2412a836aafa", - "a0b7bb41-c5c9-483a-bd76-a774690606c0", - "a0f8e9a2-9407-4cbc-9739-7cb7bca8a563", - "a10329ae-6c8a-4df9-bac1-70bdf2c07571", - "a19fab73-95bb-472f-8722-c7d07427a8da", - "a1ac3c01-10da-4b93-a61a-71a62e6ddb22", - "a2070278-a8da-49ee-81b1-c165973dcd7e", - "a2385663-3f62-4512-b4d8-4bba405f50a3", - "a2569db2-a44f-4833-ae36-0303e2206980", - "a2b31671-1874-4c4a-a5c5-fd2787287893", - "a2cf538e-0bce-4328-b103-57491866f293", - "a3fbf625-f36e-4365-859a-1d32c9b2001e", - "a40ed25e-fbf0-40a3-b468-e2bdb55d56d0", - "a4152d0c-ca88-4cad-af08-40a2e799bec7", - "a45af0aa-2591-4031-8ee8-a3c0a5a76260", - "a526bd56-16e7-493f-b539-2a895c7e2b10", - "a539e00a-e61e-47d5-9032-3d3fff99ccc1", - "a57c9da5-752c-44b3-b7fa-f8a804631f64", - "a65b7c37-e038-41d5-8623-2046bdc278a4", - "a6a99736-43fb-4f67-ae26-0e24d5277c6b", - "a72ab36e-966c-44fc-b934-fcaf06679b46", - "a778ad17-3705-40bc-b425-245d17958638", - "a783909f-5237-4218-8b9d-80653729f3b1", - "a7e5f9e8-6fd9-4c46-860f-4a82e67af13f", - "a7ff32c1-f400-4af6-8698-b10a33fb38b6", - "a828062b-dd49-406f-872a-22ff8e4cdf10", - "a88b766c-31c9-44ec-be2b-a5f757296666", - "a8f749c1-b53a-48a4-b9e4-67b31201609b", - "a9088b7c-b538-42c1-906d-55327ee344a0", - "a967f05e-6159-481e-a289-908b1b320db9", - "a97b90ce-e6ad-4b92-8b97-0c60bcd46031", - "a9cc38f8-0a0e-488b-b0c7-2c77f091d0ce", - "aab776ce-7336-4b6c-94ba-830a72fbf640", - "aad8155c-b15a-438c-b89d-d1aa89869819", - "ab8e7f29-eae9-488a-9337-7a926c8857ac", - "abe9834e-4be6-4bd3-bfc1-1a09f55f3f2a", - "ac036daf-a7cc-4583-a219-814c77ed8001", - "ac59fa42-b81b-4b1d-b9f0-ef9a05366bdb", - "ac5fdc06-b856-4de0-9423-bdf05d4df650", - "acfa3362-62b0-429a-b617-3adb722c200f", - "ad0b91bd-8fbe-419e-8a8a-5e7a971aaa02", - "adbbe8e3-afa6-46ff-ae62-bc9be2c55f70", - "adca7438-701c-4afc-8580-01de6ee68974", - "ade0fe79-4629-4a49-8253-e26380046b32", - "ae5b7895-01cf-4a6e-aee0-8b58e820313c", - "b0009333-24fc-4f3e-bf35-3cc8fa808efa", - "b0025fa1-e6a6-441b-a018-2c73ceabe237", - "b09dfbcb-f6c2-459d-b637-7d12f079e20d", - "b1cd2aba-cf49-4e7f-bc0d-5dbbff0657e5", - "b1e83792-e01e-45e2-bcb8-27b81a0d9db9", - "b29ab2c2-8a15-46e5-ac3f-7f0eabd272fc", - "b2a45a04-4f23-440f-8677-676ded3e3591", - "b2a6b8c1-f0bc-4509-b255-8618d7cff205", - "b2cb471e-a094-4ede-a63c-719f14fe802f", - "b2e285b5-ffe5-4c57-a7ba-1c965366c37a", - "b2fedfad-ed1d-41f6-9a6f-0ab189247da3", - "b35e3b14-91dc-4bf0-a47d-4ed8428efbe1", - "b3739e56-e8cc-43b6-8b43-9116b5d75e69", - "b3de09c9-37f3-4d58-8930-bbd5d4e136c5", - "b43bcc28-b5cc-4c02-8655-480c5d75f24f", - "b4ea765c-8a6a-4585-a74b-b137727cd61a", - "b5c2e557-c303-42cc-8779-bf3b2256c422", - "b5ff9714-ff62-4fae-9cc1-f75eaa9bc652", - "b68e67fd-a8b5-48b2-a1fe-dcb7b84214e6", - "b6dda1ac-9635-426a-869a-82b1420ef251", - "b715cee2-5b72-49b6-b51f-5e9063ddb5a2", - "b7264fbb-2404-4ec3-9239-24238ad09a7f", - "b7d7c14d-7bf3-4a8f-8f40-8d6e98505558", - "b8734735-6ceb-479d-a1a6-5f8fdbf3cbc0", - "b8edcc72-efe5-44da-b478-9761be75a127", - "b8fda4c6-4fe9-4107-8d37-8763f33cdead", - "b92a945a-9be0-4cf6-8ce8-14f0fa3a3648", - "b9acc59a-ba7c-40ef-8611-27069458a508", - "ba2a8b21-884a-44ed-86b5-e9288dc9ce64", - "ba526c42-7c2f-43c1-a817-06ccdb4d67be", - "baa2bfd9-d2fb-4b5a-a81d-af84bf24c730", - "bb36dd96-2995-45e8-b128-6e7f28dab8f1", - "bb3fdef2-bbeb-41f9-97a0-d0e36c433ef3", - "bb788d30-169b-4160-be07-98222d0a8327", - "bb9f768d-87c9-4d9a-9fd3-2ed901168635", - "bbda7bad-f60b-4091-83b0-b8d96c3f4214", - "bcb9c8d3-54c4-404b-a87d-1e0721a4dbbe", - "bd1e5909-c184-4ee0-906c-77e399270a71", - "bef069b8-2720-4327-8298-9ab2badd4a53", - "bf119ffa-94c6-49b1-9f62-766e2a53776b", - "bf54f8d4-be87-40f2-bac4-c6e513baa54f", - "bf6cb18e-07de-404d-bebe-4a943dfb44f7", - "bf8c13a8-5875-4e53-a7d5-8b595afcfa7b", - "bf968691-34b6-4f79-9285-bbba736c3def", - "bff57385-2f4f-4695-a153-412c9aabab59", - "c04a349a-be3e-4fd7-b71b-8eb1237f838e", - "c04b8362-f2c9-4cad-b939-494e738efc19", - "c0593f2b-b6b9-4365-9c0e-2f3108dc03ae", - "c082712b-3289-46fa-86c7-b6dad9f37e55", - "c0c4e734-7669-4b29-a840-94ea6aa5872c", - "c0fc6427-6fa7-4d8d-9d6e-8844a26ff318", - "c13ed96e-3052-4a3f-9871-8196c10070a1", - "c1740f09-7595-4d38-a970-8a89da2e9f0f", - "c180c376-c910-4b07-9833-f0443ad62a59", - "c2081de1-a850-4671-9d13-d5782fb87ce2", - "c3093b68-54a2-4d31-aa15-50afb0414625", - "c3a93f32-20be-4479-aa9f-e65fb9ccaebb", - "c3d3c4a3-527b-490f-8107-bc1b44566df0", - "c458a416-5736-4b7b-817e-1d87b341f825", - "c46951ff-a25c-4bfd-9c21-0b329730a87e", - "c46f9eec-ab37-4d9e-ab8c-d4dcdf1852f7", - "c4a8c78a-7323-47cc-82aa-ab32e1d6bfb2", - "c4c3353d-f33f-4a5b-a2d8-7878daf2d01b", - "c53e8814-f633-49d0-851f-f8708e9616a7", - "c5e55f39-94a7-4ddd-8972-d217b63fb7cb", - "c62d0784-479e-43a0-8548-d7921592639d", - "c67f602f-1b0d-4b0e-bd72-af166f5443fa", - "c699ee8b-738e-451a-b91d-0e1a6c8bb6f9", - "c74cabf3-6a19-46ce-a19f-10a569839ac1", - "c7970499-e36d-49f3-b1f2-6886746333c9", - "c7adbdb4-dacc-4c5f-b477-daf94f3e08dd", - "c81a1417-0fd8-4346-856c-12174fd84dc6", - "c86979f7-726d-441b-a525-1a3369492695", - "c8995918-5491-41bc-ad76-2099c6314fb1", - "c8b4bc26-7487-48d9-a2f2-6b3934da074d", - "c8fe6dd9-1c5b-42ee-8a07-15ac97cbb6fd", - "c8ffc4fc-c802-4a03-95a1-be237423e149", - "c9517b55-fb72-463a-aab6-e4f64b95c2fc", - "c9a2a10f-6638-4463-8c8f-4260c72dcb92", - "c9d41a92-d999-4c22-98f5-f205b57b0715", - "c9fe0510-7445-4101-a4b1-67022a9a8b4b", - "ca6e8808-dcfd-4b27-90ee-47a7fda101f2", - "ca88a6da-dffa-4f39-afaf-4fd53d43c2cc", - "cabca52b-8f67-4107-8916-4fd8129ccd97", - "cb8e28b3-67e3-470f-aaea-3a5de3933f45", - "cbcd6047-0f88-4dfe-a123-648d6ed5342f", - "cc28432c-f484-4363-9b77-56b433eba183", - "ccfdae0d-34c6-4a5f-b017-5080bbd68d47", - "cdc24ed0-2141-446d-9f72-0cde913c4dd7", - "cdcb842a-e8c9-4ff9-ad22-850873c3f30a", - "ce3c8eab-dcb7-403f-8837-6a7986acb6fc", - "ce6d4c01-8676-4ae9-91b3-4148deb5b8d9", - "cf86ed0f-408f-40f9-a104-ed61c88fa5d5", - "cf9e75a1-c4a2-4aae-9767-bc3aaa7c60a3", - "d04a8b95-a45f-4fc1-a42a-a9afe3188465", - "d068c2b0-60c7-429a-938c-cb9c703c4c4d", - "d0764179-9b16-46a6-ab64-b30e0c4de1d3", - "d0b72f3b-1519-4113-aab2-f4b1d8e80345", - "d0cf423a-1ecf-499b-9e61-95662e23ba40", - "d13d109b-0106-4102-9769-82bb2ed9cfb7", - "d1ad5518-3619-46dd-a342-f5a3b34f67b1", - "d1dd53ff-b603-4345-8203-45c384cbc813", - "d1e97cb2-581a-432b-bca1-78bbe00e9127", - "d1f65c9e-628b-4c5f-b76a-1154c1666eba", - "d1f9e5d6-8df2-48d1-b558-9609710ef53f", - "d200ad0b-db9b-4064-94e5-d03c5d406371", - "d20547e4-3f00-42af-9a7f-9477ff43de0d", - "d2ac4e77-f7d1-427c-8a56-4ca6933f6a65", - "d2fc5db2-eaf1-4817-bb39-4ad61ea9aef6", - "d359ca8d-a374-4eeb-b214-69df7861d0e3", - "d4b47fcb-d3ac-4cc1-b7d2-f37c2c228ecb", - "d4bbfecd-d580-4eaa-8679-33173740b295", - "d4ee29c9-bf24-408e-855f-03ada1309ce1", - "d517b1da-4c0c-45ad-b4b0-baf8a162a8f0", - "d58f4a16-7e35-42d7-9031-9a60db734da4", - "d5aab272-e387-4bae-aeb0-987928e0c001", - "d5b993f2-d053-4420-994b-04d64bd9e356", - "d5d159b5-1ecd-4a4a-9333-e933e20e2811", - "d61bebce-41a0-4a3a-b8bf-b2acdaeb9db4", - "d675ebad-1bb7-4b9d-8c29-a25731906861", - "d691ee05-f531-4c18-b0e9-677dcaabf20f", - "d6b678fb-58e3-4b3a-9788-fb004e7e3a87", - "d73e6663-d29d-47af-a4b4-5cadcd272293", - "d7b3de6f-1ed9-461a-bb0a-d1517e9b68fc", - "d85ccb81-e861-4bb1-95b6-40762555da1d", - "d8b5e5e2-75e9-49c1-815f-2cb3a4b5cddf", - "d8b9cedb-39d5-47b7-9c64-94e6393fdd0d", - "d90be9f0-3352-4c95-8790-92668f6d65d5", - "d9e70e73-ba70-4d01-bb84-6f80535c3147", - "da23845e-e1aa-4fb0-8653-42785b457605", - "da6e341f-43d3-4c22-ab8c-3c3e81986d9b", - "daa6813e-0321-413a-9107-8c814825bf93", - "dabb5028-64d2-4dbc-89a3-0cf6079ad0cb", - "dae9b045-0d8d-4944-b8a2-d3b64ad7df34", - "db2ecbf9-0e24-4106-b594-73368de0e98b", - "db7576d3-afc9-4860-9a46-bdca8f745fa3", - "db80fef4-5dda-4ba4-8e95-5fed18ee1f3f", - "dc2a13d5-92a6-46f3-bc12-17a4bde95ada", - "dc390866-3291-414e-82f3-1cb004c27f35", - "dceb6a13-eb70-4fc9-9fdd-5792be962cdf", - "dcec351c-327a-46df-aa48-22d2647d5852", - "dcf52037-e357-4b26-9072-05e08bf47978", - "dd8ac880-75c4-4fe8-89e3-2cc41dad784a", - "dd9a9646-5645-4b0a-969b-7c225966437f", - "dda17201-ae39-44be-a644-688293254283", - "ddaab768-186d-456a-8e1d-8631dc97f6ad", - "ddd4a327-86e4-4482-abe8-59bfb035f592", - "dec19270-f9f2-466f-86e3-c56e9e9f85a8", - "df900bd9-2d04-4080-b718-590ff28ce892", - "dfb822ad-7da9-4ca6-9133-51c5e0279a9f", - "dff50bd5-38c9-4c35-a5bc-dd51e69f249a", - "e06ec666-d2ed-4801-8bc3-03ddcd151c49", - "e0a914c3-3147-4f06-a8ae-0c16029497dc", - "e0a99b8f-15e2-4a9e-b298-1066a9bcbda7", - "e0e048f6-0ab6-45fc-a74f-16711af67a2e", - "e163d226-febb-4ecf-80db-8e60680be2ab", - "e17968e7-5ef9-45fb-b45a-d73d18f41ae6", - "e1bf51d5-e656-49de-9b55-8ad814870da7", - "e1c334fa-b493-4892-a48b-3fe594e98b30", - "e2112f19-f48b-4f9b-acca-53c0e966baff", - "e28d2a66-f506-4a4d-b2c6-823e4e8124d6", - "e2d181be-9c2f-4b06-a1ca-68965b5abd5b", - "e381aa0d-c2ce-4fe4-9acd-030d9023fcb6", - "e41aceeb-21ab-420d-a393-244aac597625", - "e4468469-2eab-48b1-9c5f-b72eeee2da3a", - "e48fabae-c5df-4906-96b8-a45c77e48af0", - "e4cfd5be-adcb-4ddd-b263-659ab56591b3", - "e4d3b43a-a03c-40d4-bf8a-bc0719d773e2", - "e4d6ced4-50a3-402a-bbbc-ae329cd3689d", - "e4e308fd-c449-4aad-b61a-43c595e3da00", - "e57453f7-04f8-445a-9b64-24c5b82d95c4", - "e5bba055-1268-4e04-99ea-71660fd31c08", - "e5d2cef3-3902-418c-b905-001052979a54", - "e61740c1-0e70-4d25-a912-32617d2e71fa", - "e61fff58-84e1-41cf-86f2-7d5c120b17d5", - "e6565b7b-b195-4554-bf60-4b80f2c6dd13", - "e6aa2bc0-9650-4ba6-89fc-033a7a95f796", - "e6b33ccb-99f6-4c02-aa69-e7b581832d04", - "e6f5097f-6e88-4703-91a3-1f8af0a04ca2", - "e72b1bd6-2847-408b-9ae6-66f187d293e4", - "e744fafb-3c4b-47c3-91db-db8bb8751279", - "e8081e5b-30a8-4ed7-88df-07c9e81688c6", - "e882d829-b80b-4699-b909-269337998882", - "e91bb61d-e965-46e5-b6b3-53e3593de931", - "e9b50275-4ebe-43fe-b3de-1fe3ab930a23", - "e9def19b-3967-47e7-a2dd-1bc5f9297959", - "e9f719d5-786b-439e-bdb5-1a0434d1e815", - "ea1d2072-66cc-4e8d-8547-7197973e43a7", - "ea9a283e-ec06-432a-8bf3-40133f8f9cfc", - "eb10f476-5ffe-4954-b2e9-8a6a768fe46c", - "ebbc0d72-0743-41b8-88f6-736c36bd6499", - "ebc98059-556f-4a51-b1d3-e5afb40fe80e", - "eccad683-4c2d-4d7f-a141-1effb429fef7", - "ecfb5b99-5606-483c-817b-fbcce96ee9be", - "ed3df4c8-d006-4edc-b5fb-65af588b5984", - "ed4c7767-277c-4d39-89cf-6144161985d2", - "ed884cca-c961-40d2-bc8b-b358ea4fb780", - "edbe53c5-208b-436d-b283-1aa4ee94800c", - "ee28d3e7-02df-46a0-a3ba-f55ad747b214", - "ee36a1ac-7426-4253-81b8-715f37a2ba69", - "eff0eba9-ed02-43c2-9861-d34edfaf9f30", - "f00513d4-c39b-4607-b43e-51bc36293e3d", - "f1b0bc3c-0856-4493-95af-6b5ec42d09cc", - "f1ba59ae-f42b-403b-a777-69ced3930293", - "f26b81f5-8f36-4998-90c0-0f30ea866f41", - "f28f5241-9275-48ef-9779-0356be81a14f", - "f296caba-7bdc-47d1-a7ef-b39e358d0e3e", - "f29dfd6b-dcb8-4c50-ba95-58c2be9c7a16", - "f366ef43-bfe1-4649-9d08-3eef088ff99a", - "f3aeccbe-aa7c-46a4-8eba-34c6b90c85a9", - "f3e5a38a-c62b-4100-9fcc-18ffbe346be5", - "f4b0febc-2a23-436f-916c-2ddb328dddd4", - "f5274b10-d3ea-44c9-9f27-9af574dea10c", - "f55166a1-c4f0-4fda-ac9f-164489040ee5", - "f57edc37-d012-4382-8d4b-0e250cafa81d", - "f5ada827-68c0-4af6-88c6-7e9256b663ff", - "f5fae200-b633-4ade-8871-94cf47475c67", - "f61ff371-7c67-45cc-af18-e94ed874baba", - "f648cc69-80e7-46a1-8575-aae76b30367c", - "f6bd08a6-5630-460c-a1bc-e13a3340f7bc", - "f70ce593-fe86-4bef-9e0b-c68a09a12ccc", - "f77883e0-6609-4bda-b446-331adbd9d357", - "f78279da-e39f-463b-a1a9-02d4f99f85a5", - "f7a68998-a02b-4d1c-8768-0abb9e9ae35a", - "f7e7009f-d6e8-4fc9-92db-921d32531262", - "f8153a7e-c5fe-43b9-bb7a-90ea3d059772", - "f859d1ff-df51-4548-b8a4-9eca26bf7454", - "f8988fe1-225c-40b4-933d-9dacb8b4728f", - "f89c0972-79b4-4338-b37c-7bbfdc121f60", - "f9951b26-b6cf-40f1-9a78-37cb8f130b19", - "f9db3e23-91ca-487f-a3ec-11ffa8b8f939", - "f9eef16f-b9cc-43bb-b9f3-bf0948766e7e", - "fa17dd22-2d46-44dd-bf29-7ba21c575a6c", - "fb59546f-ca17-40ae-b0b8-ca16c1b94de9", - "fb71e3ae-31d9-4ce1-8d14-25955525b515", - "fb771836-467f-4897-a755-a17ab281a385", - "fbec3e01-aaf4-41a3-b667-1f0268571d10", - "fc1541f1-27bb-4cd1-be90-2b04c29a902e", - "fd0547d5-7f16-46e4-8948-45c82f923f69", - "fd3a8466-6eaf-4251-be4a-f46f85403719", - "fd5331f0-025b-4370-94bf-a2a2d1812704", - "fd563e44-5e1a-4dfc-bfbd-42ef32c62d69", - "fd7e7e85-7747-42c3-bc6b-0e4718202d63", - "fdb8e413-a62a-4c6c-9890-3945c0f19ce8", - "fdd026f9-0ab6-49ef-88f9-4a5d61d12188", - "fe2c65ca-06af-4760-9df8-086a81611a31", - "fe586661-4878-4882-a38f-0b6321df5c99", - "fea581ad-b8a8-47d1-a4bb-e18f0753bf13", - "fea7ae13-ad77-4b59-9922-14f748263eac", - "fecea080-2c71-42f2-a2cd-3dbd89e04c80", - "fed19e4a-e9e5-4d4c-9c5f-0c6f333b40ce", - "fed6f8f3-2c61-4361-8160-2c5a13db83d4", - "fed76aa9-d126-4747-b53e-b357fbbaed47", - "fedc286a-9bbc-4db0-8bf5-b3f0b69fb559", - "ff19abb9-e4d9-4fc4-ad5e-1fbafcbdedf2", - "ffb352c5-f9e2-497c-940c-7cb5dd0eaa5e", - "ffb64e6b-8924-4adf-ae8f-e55b4dd019dd", - "fff15476-7228-42be-be8a-bd6b02ee9f81" - ] -} \ No newline at end of file diff --git a/test/indexer/data/0722b70c-6778-423d-8fe9-869e2a515d35.dss.hca.json b/test/indexer/data/0722b70c-6778-423d-8fe9-869e2a515d35.dss.hca.json deleted file mode 100644 index 9aa2db7b4d..0000000000 --- a/test/indexer/data/0722b70c-6778-423d-8fe9-869e2a515d35.dss.hca.json +++ /dev/null @@ -1,618 +0,0 @@ -{ - "manifest": { - "sequence_file/54647cbb-7814-4d9a-b7f8-a6605c2f7aa6": { - - "name": "SRR7648414_2.fastq.gz", - "uuid": "297d6cef-d2dd-4eaf-bcd7-5abd0b27d556", - "version": "2021-03-18T11:38:48.652000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 11636297998, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_8ab15f7b-ec0f-433a-b6fb-28cbe0fb8dc3_cc8da2bc-eeed-4c04-b069-764c0ec9f7f6", - "crc32c": "d04bf2d8", - "sha1": "eaf9e208cd97701cc9a43129368860cf2b74c84c", - "sha256": "d0dfc258e12273a9572383196724ed4ad9c6c4481660bb056074e777cc08478d", - "s3_etag": "67c8d6b1cd71a8e88b1299e24c98b4ce-174" - }, - "sequence_file/95595c66-2121-4ebc-9f2e-b5b61d193f25": { - "name": "SRR7648414_1.fastq.gz", - "uuid": "2d392c72-e042-48f4-8d4c-02800e9303a5", - "version": "2021-03-18T11:38:48.639000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 4535175932, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_8ab15f7b-ec0f-433a-b6fb-28cbe0fb8dc3_1e60afef-6c94-4eb9-84f2-ff59398ca9da", - "crc32c": "5fa7dd50", - "sha1": "a07f39bd395992296da0d5beabad8626214c1983", - "sha256": "84ac8921997a15ef8bb4721f6a135d660deb9b6f098a314d1d657fe667f3b8d5", - "s3_etag": "0d8850e5eca0d74f0f683d0455e4cacd-68" - } - }, - "metadata": { - "dissociation_protocol/0a8112d1-d401-4c0d-8334-8cda8f8532c8": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "method": { - "ontology": "EFO:0011026", - "ontology_label": "enzyme-free chemical dissociation", - "text": "enzyme-free chemical dissociation" - }, - "protocol_core": { - "protocol_description": "iPSC cells were dissociated using ReLeSR (STEMCELL Technologies), confirmed to be mycoplasma free and maintained below passage 50.", - "protocol_id": "Human_iPSC_BJFF6_dissociation", - "protocol_name": "Human_iPSC_BJFF6_dissociation" - }, - "reagents": [ - { - "catalog_number": "Cat#05872", - "manufacturer": "STEMCELL Technologies", - "retail_name": "ReLeSR" - } - ], - "schema_type": "protocol", - "provenance": { - "document_id": "0a8112d1-d401-4c0d-8334-8cda8f8532c8", - "submission_date": "2021-03-18T11:38:47.832Z", - "update_date": "2021-04-22T15:50:07.244Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "dissociation_protocol/59eeb73e-64d6-4959-9c69-b85570a20900": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "organoid_dissociation", - "protocol_name": "organoid_dissociation", - "protocol_description": "organoids were dissociated into single cell using TrypLE for 5-10 minutes at 37C\u02da with shaking." - }, - "method": { - "text": "enzymatic dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "reagents": [ - { - "retail_name": "TrypLE Select", - "catalog_number": "Cat#12563-029", - "manufacturer": "Thermo Fisher Scientific" - } - ], - "provenance": { - "document_id": "59eeb73e-64d6-4959-9c69-b85570a20900", - "submission_date": "2021-03-18T11:38:47.844Z", - "update_date": "2021-03-18T11:39:03.710Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "cell_line/d91bbbd5-c2c1-4bb7-906f-494ee686658e": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/14.5.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Human_iPSCs", - "biomaterial_name": "BJFF6 IPSC Cell Line", - "biomaterial_description": "BJFF6 human iPSC line was reprogrammed by Sendai virus from human foreskin fibroblasts (Washington University Genome Engineering and iPSC Core). BJFF6 cells were maintained in 6-well plates coated with matrigel in Essential 8 medium", - "ncbi_taxon_id": [ - 9606 - ] - }, - "type": "induced pluripotent", - "model_organ": { - "text": "kidney" - }, - "growth_conditions": { - "passage_number": 50, - "growth_medium": "Essential 8 medium (Thermo Fisher Scientific)", - "mycoplasma_testing_results": "pass" - }, - "karyotype": "sex chromosome complement of XY", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "provenance": { - "document_id": "d91bbbd5-c2c1-4bb7-906f-494ee686658e", - "submission_date": "2021-03-18T11:38:47.207Z", - "update_date": "2021-03-18T11:38:57.481Z", - "schema_major_version": 14, - "schema_minor_version": 5 - } - }, - "sequencing_protocol/328e83cc-1e31-4d49-bf69-3504a7d1d4ba": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_2", - "protocol_description": "single-cell (DropSeq) and single-nucleus (10x V2 3' Genomics) sequencing libraries were sequenced on an Illumina HiSeq2500" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565", - "ontology_label": "Illumina HiSeq 2500" - }, - "paired_end": false, - "method": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "provenance": { - "document_id": "328e83cc-1e31-4d49-bf69-3504a7d1d4ba", - "submission_date": "2021-03-18T11:38:47.910Z", - "update_date": "2021-03-18T11:39:03.779Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - }, - "process/0722b70c-6778-423d-8fe9-869e2a515d35": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX4511355" - }, - "process_core": { - "process_id": "SRR7648414" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "0722b70c-6778-423d-8fe9-869e2a515d35", - "submission_date": "2021-03-18T11:38:49.863Z", - "update_date": "2021-03-18T11:39:11.556Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/0d48b9ba-5fea-4260-abbc-2949ac357f75": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX4511355" - }, - "process_core": { - "process_id": "process_id_25" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "0d48b9ba-5fea-4260-abbc-2949ac357f75", - "submission_date": "2021-03-18T11:38:49.142Z", - "update_date": "2021-03-18T11:39:06.571Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/70b02064-3cf5-4e97-88f8-731c6e246965": { - "process_core": { - "process_id": "process_id_48" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "70b02064-3cf5-4e97-88f8-731c6e246965", - "submission_date": "2021-03-18T11:38:49.499Z", - "update_date": "2021-03-18T11:39:08.057Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "project/16ed4ad8-7319-46b2-8859-6fe1c1d73a82": { - "contributors": [ - { - "name": "Haojia,,Wu", - "institution": "Washington University School of Medicine,", - "laboratory": "Division of Nephrology, Department of Medicine,", - "address": "St. Louis, MO, USA.", - "country": "USA", - "corresponding_contributor": false - }, - { - "name": "Kohei,,Uchimura", - "institution": "Washington University School of Medicine,", - "laboratory": "Division of Nephrology, Department of Medicine,", - "address": "St. Louis, MO, USA.", - "country": "USA", - "corresponding_contributor": false - }, - { - "name": "Erinn L,,Donnelly", - "institution": "Washington University School of Medicine,", - "laboratory": "Division of Nephrology, Department of Medicine,", - "address": "St. Louis, MO, USA.", - "country": "USA", - "corresponding_contributor": false - }, - { - "name": "Yuhei,,Kirita", - "institution": "Washington University School of Medicine,", - "laboratory": "Division of Nephrology, Department of Medicine,", - "address": "St. Louis, MO, USA.", - "country": "USA", - "corresponding_contributor": false - }, - { - "name": "Samantha A,,Morris", - "institution": "Washington University School of Medicine,", - "laboratory": "Department of Developmental Biology, Department of Genetics", - "address": "St. Louis, MO, USA.", - "country": "USA", - "corresponding_contributor": false - }, - { - "name": "Benjamin D,,Humphreys", - "email": "humphreysbd@wustl.edu", - "institution": "Washington University School of Medicine,", - "laboratory": "Division of Nephrology, Department of Medicine,", - "address": "St. Louis, MO, USA.", - "country": "USA", - "corresponding_contributor": true - }, - { - "name": "Wei Kheng, Teh", - "email": "wteh@ebi.ac.uk", - "institution": "EMBL-EBI", - "address": "Wellcome Genome Campus, Hinxton", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas Wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - } - ], - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "funders": [ - { - "grant_id": "R01 DK103740", - "organization": "NIDDK NIH HHS" - }, - { - "grant_id": "UH2 DK107374", - "organization": "NIDDK NIH HHS" - }, - { - "grant_id": "UH3 DK107374", - "organization": "NIDDK NIH HHS" - } - ], - "geo_series_accessions": [ - "GSE118184" - ], - "insdc_project_accessions": [ - "SRP156469" - ], - "insdc_study_accessions": [ - "PRJNA484783" - ], - "project_core": { - "project_short_name": "GSE118184KidneyOrganoid", - "project_title": "Comparative analysis of kidney organoid and adult human kidney single cell and single nucleus transcriptomes", - "project_description": "We analyzed single cell transcriptomes over 80,000 cells isolated from 65 organoids differentiated from iPSCs and ESCs using two different protocols. We find that both protocols generate kidney organoids that contain a diverse range of kidney cells at differing ratios as well as non-renal cell types. We reconstructed lineage relationships during organoid differentiation through pseudotemporal ordering, and identified transcription factor networks associated with fate decisions. When comparing to adult human kidney, we reveal immaturity of all kidney organoid cell types. These results define impressive kidney organoid cell diversity, identify incomplete differentiation as a major roadblock for current directed differentiation protocols and provide a human adult kidney snRNA-seq dataset against which to benchmark future progress. Overall design: Dropseq and 10X Chromium were used to profile organoid cells and adult kidney nuclei" - }, - "publications": [ - { - "authors": [ - "Wu H", - "Uchimura K", - "Donnelly EL", - "Kirita Y", - "Morris SA", - "Humphreys BD" - ], - "title": "Comparative Analysis and Refinement of Human PSC-Derived Kidney Organoid Differentiation with Single-Cell Transcriptomics.", - "doi": "10.1016/j.stem.2018.10.010", - "pmid": 30449713, - "url": "https://pubmed.ncbi.nlm.nih.gov/30449713/" - } - ], - "schema_type": "project", - "provenance": { - "document_id": "16ed4ad8-7319-46b2-8859-6fe1c1d73a82", - "submission_date": "2021-01-21T11:57:42.084Z", - "update_date": "2021-03-18T11:38:51.081Z", - "schema_major_version": 14, - "schema_minor_version": 1 - } - }, - "differentiation_protocol/0078130e-8a91-47d0-9ff7-854ae772b8ea": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/2.2.0/differentiation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Takasato_iPSC_organoid_differentiation_protocol", - "protocol_name": "Takasato_iPSC_protocol", - "protocol_description": "Briefly, for the Takasato approach, BJFF cells were treated with CHIR (8 uM) in basal medium - APEL 2 supplemented with 5% Protein Free Hybridoma Medium II - for 4 days, followed by FGF9 (200 ng/mL) and heparin (1 ug/mL) for another 3 days. At day 7, cells were collected and dissociated into single cells using 0.25% Trypsin-EDTA. Cells were spun down at 400 g for 3 min to form a pellet and transferred onto a trans-well membrane. Pellets were incubated with CHIR (5 uM) for 1 hour and then cultured with FGF9 (200 ng/mL) and heparin (1 ug/mL) for 5 days. For the next 13 days, organoids were cultured with basal medium changed every other day. For ES (H9) cell line, we adjusted the concentration of CHIR to 5uM in Takasato protocol at the initial step.", - "publication_doi": "https://doi.org/10.1038/nature15695" - }, - "method": "Directed Differentiation to Organoid", - "media": "APEL 2 (STEMCELL Technologies) supplemented with 5% Protein Free Hybridoma Medium II(PFHMII, GIBCO)", - "small_molecules": "CHIR (8 uM, TocrisBioscience), FGF9 (200 ng/mL, R&D Systems, heparin (1 ug/mL, Sigma-Aldrich), 0.25% Trypsin-EDTA (Thermo Fisher Scientific)", - "provenance": { - "document_id": "0078130e-8a91-47d0-9ff7-854ae772b8ea", - "submission_date": "2021-03-18T11:38:47.812Z", - "update_date": "2021-03-18T11:39:03.675Z", - "schema_major_version": 2, - "schema_minor_version": 2 - } - }, - "cell_suspension/b2feeafc-bd19-4c54-b669-648ce3ee5b52": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SRX4511355", - "biomaterial_name": "GSM3320196", - "biomaterial_description": "Takasato_iPS_day34 Cell Suspension", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN09769279" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 6115, - "timecourse": { - "value": "34", - "unit": { - "text": "day", - "ontology": "UO:0000033", - "ontology_label": "day" - }, - "relevance": "The day at which organids/sample were used to generate RNA-seq libraries" - }, - "provenance": { - "document_id": "b2feeafc-bd19-4c54-b669-648ce3ee5b52", - "submission_date": "2021-03-18T11:38:47.755Z", - "update_date": "2021-03-18T11:39:03.431Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "organoid/df23c109-59f0-46d3-bd09-660175b51bda": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/11.3.0/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SAMN09769279", - "biomaterial_name": "Takasato_iPS_day34", - "biomaterial_description": "Takasato_iPS_day34,Organoid,Takasato,Day34,DropSeq", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN09769279", - "insdc_sample_accession": "SRS3630513" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "model_organ": { - "text": "kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "embedded_in_matrigel": true, - "growth_environment": "matrigel", - "provenance": { - "document_id": "df23c109-59f0-46d3-bd09-660175b51bda", - "submission_date": "2021-03-18T11:38:47.509Z", - "update_date": "2021-03-18T11:38:59.991Z", - "schema_major_version": 11, - "schema_minor_version": 3 - } - }, - "enrichment_protocol/f4234276-bdac-4ad1-b4a0-4b5d595ae04c": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "organoid_enrichment_protocol", - "protocol_name": "organoid_enrichment_protocol", - "protocol_description": "After dissociation, organoids were further dispersed by gentle pipetting and filtered through a 40um cell strainer" - }, - "method": { - "text": "size selection", - "ontology": "EFO:0009337", - "ontology_label": "cell size selection" - }, - "maximum_size": 40, - "provenance": { - "document_id": "f4234276-bdac-4ad1-b4a0-4b5d595ae04c", - "submission_date": "2021-03-18T11:38:47.863Z", - "update_date": "2021-03-18T11:39:03.731Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - }, - "sequence_file/54647cbb-7814-4d9a-b7f8-a6605c2f7aa6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR7648414_2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "SRR7648414" - ], - "provenance": { - "document_id": "54647cbb-7814-4d9a-b7f8-a6605c2f7aa6", - "submission_date": "2021-03-18T11:38:48.652Z", - "update_date": "2021-04-22T16:04:53.820Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/95595c66-2121-4ebc-9f2e-b5b61d193f25": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR7648414_1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "SRR7648414" - ], - "provenance": { - "document_id": "95595c66-2121-4ebc-9f2e-b5b61d193f25", - "submission_date": "2021-03-18T11:38:48.639Z", - "update_date": "2021-04-22T15:59:31.779Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "library_preparation_protocol/ca16fcf2-48df-4b2a-bd48-a5fce6b0cd75": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "drop_seq_library_protocol", - "protocol_name": "drop_seq_library_protocol", - "protocol_description": "Single cells were coencapsulated in droplets with barcoded beads exactly as described (Macosko et al., 2015).", - "publication_doi": "10.1016/j.cell.2015.05.002" - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 12 - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_method": { - "text": "Drop-seq", - "ontology": "EFO:0008722", - "ontology_label": "Drop-seq" - }, - "end_bias": "3 prime end bias", - "primer": "poly-dT", - "strand": "first", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 12, - "barcode_length": 8 - }, - "provenance": { - "document_id": "ca16fcf2-48df-4b2a-bd48-a5fce6b0cd75", - "submission_date": "2021-03-18T11:38:47.884Z", - "update_date": "2021-03-18T11:39:03.753Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - } - }, - "links": { - "links": [ - { - "link_type": "process_link", - "process_id": "0722b70c-6778-423d-8fe9-869e2a515d35", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "b2feeafc-bd19-4c54-b669-648ce3ee5b52" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "95595c66-2121-4ebc-9f2e-b5b61d193f25" - }, - { - "output_type": "sequence_file", - "output_id": "54647cbb-7814-4d9a-b7f8-a6605c2f7aa6" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "ca16fcf2-48df-4b2a-bd48-a5fce6b0cd75" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "328e83cc-1e31-4d49-bf69-3504a7d1d4ba" - } - ] - }, - { - "link_type": "process_link", - "process_id": "70b02064-3cf5-4e97-88f8-731c6e246965", - "process_type": "process", - "inputs": [ - { - "input_type": "organoid", - "input_id": "df23c109-59f0-46d3-bd09-660175b51bda" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "b2feeafc-bd19-4c54-b669-648ce3ee5b52" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "59eeb73e-64d6-4959-9c69-b85570a20900" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f4234276-bdac-4ad1-b4a0-4b5d595ae04c" - } - ] - }, - { - "link_type": "process_link", - "process_id": "0d48b9ba-5fea-4260-abbc-2949ac357f75", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_line", - "input_id": "d91bbbd5-c2c1-4bb7-906f-494ee686658e" - } - ], - "outputs": [ - { - "output_type": "organoid", - "output_id": "df23c109-59f0-46d3-bd09-660175b51bda" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0a8112d1-d401-4c0d-8334-8cda8f8532c8" - }, - { - "protocol_type": "differentiation_protocol", - "protocol_id": "0078130e-8a91-47d0-9ff7-854ae772b8ea" - } - ] - } - ], - "describedBy": "https://schema.humancellatlas.org/system/2.1.1/links", - "schema_version": "2.1.1", - "schema_type": "links" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/17a3d288-01a0-464a-9599-7375fda3353d.dss.hca.json b/test/indexer/data/17a3d288-01a0-464a-9599-7375fda3353d.dss.hca.json deleted file mode 100644 index 03364d4489..0000000000 --- a/test/indexer/data/17a3d288-01a0-464a-9599-7375fda3353d.dss.hca.json +++ /dev/null @@ -1,883 +0,0 @@ -{ - "manifest": { - "sequence_file/6bc5b7ef-68f8-445d-8460-f04180c4fae1": { - "sha1": "3cf469fd27e6ded04b48e0e79d27c4125b036036", - "name": "HCATisStabAug177078016_S3_L001_R1_001.fastq.gz", - "uuid": "6bc5b7ef-68f8-445d-8460-f04180c4fae1", - "crc32c": "1f172169", - "version": "2018-03-28T15:09:49.645069Z", - "indexed": false, - "s3_etag": "5802c89abb5fe551ab89da840c3b9e8e-12", - "sha256": "4343cf68feb29297e615c6a64a48fe573529bd5d2a61c7866eb87d2a198124b0", - "content-type": "application/gzip; dcp-type=data", - "size": 785410326 - }, - "sequence_file/cee5b925-919c-4c77-8ea2-be51a1728e2b": { - "sha1": "5044125213cf33d39797ce440b21d146d3c2dc44", - "name": "HCATisStabAug177078016_S2_L001_R1_001.fastq.gz", - "uuid": "cee5b925-919c-4c77-8ea2-be51a1728e2b", - "crc32c": "d06aecc1", - "version": "2018-03-28T15:09:47.957946Z", - "indexed": false, - "s3_etag": "7b7db1aa92045dc291b60d795796b93e-19", - "sha256": "d81f9fd4079a73cbff8fda3cd2de61306ad528c003163248872dad9104093d91", - "content-type": "application/gzip; dcp-type=data", - "size": 1210026035 - }, - "sequence_file/771d9bcb-a5ff-43b5-b3e8-e738cc4c05bf": { - "sha1": "aef6f8c52aad47fbf643a93843794c7fb851aaac", - "name": "HCATisStabAug177078016_S1_L001_R1_001.fastq.gz", - "uuid": "771d9bcb-a5ff-43b5-b3e8-e738cc4c05bf", - "crc32c": "5043b666", - "version": "2018-03-28T15:09:46.577793Z", - "indexed": false, - "s3_etag": "2c0192c2a9c50e5fbf5adab626aaefcc-15", - "sha256": "76405aa4ad021202e93619740f2faa79d5ebdbce208277966039f92f5e6724ff", - "content-type": "application/gzip; dcp-type=data", - "size": 984579175 - }, - "sequence_file/17add91c-4063-4684-859d-d739baa4b9bb": { - "sha1": "a74e90f75e7c48eeaa7fb2396ed88e1cfc278f4b", - "name": "HCATisStabAug177078016_S3_L001_R2_001.fastq.gz", - "uuid": "17add91c-4063-4684-859d-d739baa4b9bb", - "crc32c": "b0cffbb5", - "version": "2018-03-28T15:09:50.437227Z", - "indexed": false, - "s3_etag": "d0c9a84dc9f058f01093c5dfcdeb61ee-27", - "sha256": "34cdac89a7e3cacd43a2c18916c850698fa00d19bee01c8695d4c6ee5b6a03ba", - "content-type": "application/gzip; dcp-type=data", - "size": 1796709528 - }, - "sequence_file/024c5cb6-f473-40c9-9eb3-da08caf3180e": { - "sha1": "016b573e4d0aff49147a13359e69b1c19e332817", - "name": "HCATisStabAug177078016_S4_L001_R2_001.fastq.gz", - "uuid": "024c5cb6-f473-40c9-9eb3-da08caf3180e", - "crc32c": "31127ee1", - "version": "2018-03-28T15:09:51.737104Z", - "indexed": false, - "s3_etag": "0b4973782ac3b4991df2493d05630920-37", - "sha256": "c023c3c51b5c436b475135058674a37df6276d4852bf813e2d435f7347d701d3", - "content-type": "application/gzip; dcp-type=data", - "size": 2448868668 - }, - "sequence_file/b7554cb7-dc5a-4b07-9c7a-c04466d30576": { - "sha1": "1e5f42bd8d9071c4ff788f4f68c9abb5624ba8ad", - "name": "HCATisStabAug177078016_S4_L001_I1_001.fastq.gz", - "uuid": "b7554cb7-dc5a-4b07-9c7a-c04466d30576", - "crc32c": "cb505642", - "version": "2018-03-28T15:09:50.812643Z", - "indexed": false, - "s3_etag": "da1b299af616c70077dfabbf95d78da2-9", - "sha256": "dcfaa57942e7567d12e36dd1e814e6dde60b974bd39f64049f58cd5e0e0a6ac8", - "content-type": "application/gzip; dcp-type=data", - "size": 544052716 - }, - "sequence_file/fea5cc65-6d94-4d1e-a807-ec248f79b83d": { - "sha1": "879fb66e2d808622de47c3f2183fdc190a0b20df", - "name": "HCATisStabAug177078016_S2_L001_I1_001.fastq.gz", - "uuid": "fea5cc65-6d94-4d1e-a807-ec248f79b83d", - "crc32c": "c1786f03", - "version": "2018-03-28T15:09:47.370770Z", - "indexed": false, - "s3_etag": "44bfdf7b1a2028eb7ddd41f5824b97bb-9", - "sha256": "b575a220369c600d01035ca197cd8b0f3bd1a75d0b5bcc23a0941e9aa5a5a4d6", - "content-type": "application/gzip; dcp-type=data", - "size": 574722449 - }, - "sequence_file/b7d8d43c-bee6-48eb-bb36-0c07701c47b5": { - "sha1": "d40ffdbde0c17493af376b47661cec2f55b24f21", - "name": "HCATisStabAug177078016_S3_L001_I1_001.fastq.gz", - "uuid": "b7d8d43c-bee6-48eb-bb36-0c07701c47b5", - "crc32c": "9a97ba2d", - "version": "2018-03-28T15:09:49.131377Z", - "indexed": false, - "s3_etag": "00351d2070cf1a829c801a6a581e0291-6", - "sha256": "c3bfc6a721679b611dd413459f43466b1e080413906f62a91955bc5cb6b372aa", - "content-type": "application/gzip; dcp-type=data", - "size": 359478571 - }, - "sequence_file/5239e70b-7d8d-4285-971f-9a156441c2f2": { - "sha1": "17fcbe4e89c4f68d8f7183de6dac0242919c7298", - "name": "HCATisStabAug177078016_S4_L001_R1_001.fastq.gz", - "uuid": "5239e70b-7d8d-4285-971f-9a156441c2f2", - "crc32c": "5c91cfb7", - "version": "2018-03-28T15:09:51.272699Z", - "indexed": false, - "s3_etag": "da303766bc677b6b50381254225fd789-17", - "sha256": "3f4cc56cf61d374d6568cbbd537f341421c03eaec646df25bb0c79468214142b", - "content-type": "application/gzip; dcp-type=data", - "size": 1112212351 - }, - "sequence_file/c548066c-9994-415a-98cb-3df2933937ff": { - "sha1": "8e00425311948375295dc0df6d356e1e26c3e874", - "name": "HCATisStabAug177078016_S2_L001_R2_001.fastq.gz", - "uuid": "c548066c-9994-415a-98cb-3df2933937ff", - "crc32c": "da620ea6", - "version": "2018-03-28T15:09:48.556437Z", - "indexed": false, - "s3_etag": "48f49c06bad9a2a1e0db95e9cc9c8378-41", - "sha256": "a774ff08430d3ba8508ed54df3042e314547f1b09162b65bf06a052820e3a286", - "content-type": "application/gzip; dcp-type=data", - "size": 2734648788 - }, - "sequence_file/8ebfd02e-2a74-4367-80db-48082f331625": { - "sha1": "b4581e48612d503caeeb049c092e92739a905922", - "name": "HCATisStabAug177078016_S1_L001_R2_001.fastq.gz", - "uuid": "8ebfd02e-2a74-4367-80db-48082f331625", - "crc32c": "116a6b8a", - "version": "2018-03-28T15:09:46.974334Z", - "indexed": false, - "s3_etag": "19b78704b7c4778ae6400c42230936b8-33", - "sha256": "7340d6562261997e35bb083902467cd37b3511650d1db1d699415b8283030435", - "content-type": "application/gzip; dcp-type=data", - "size": 2188935776 - }, - "sequence_file/49fddace-4c59-41c1-8930-0707460132d7": { - "sha1": "831d9ba53201a83506b236af27e6c1fb06a384f2", - "name": "HCATisStabAug177078016_S1_L001_I1_001.fastq.gz", - "uuid": "49fddace-4c59-41c1-8930-0707460132d7", - "crc32c": "f4868111", - "version": "2018-03-28T15:09:45.774061Z", - "indexed": false, - "s3_etag": "4d60fb7011b265212ea878728815e550-8", - "sha256": "8a79b08e90fe5d21b0cedef4b5fb92dffd0fadd904637709f3cdf66f48098f0a", - "content-type": "application/gzip; dcp-type=data", - "size": 470883073 - } - }, - "metadata": { - "project/6ec8e247-2eb0-42d1-823f-75facd03988d": { - "content": { - "contributors": [ - { - "country": "UK", - "email": "ms31@sanger.ac.uk", - "phone": "44 (0)1223 834244", - "address": "Wellcome Trust Sanger Institute, Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "laboratory": "Human Cell Atlas (Mike Stubbington)", - "contact_name": "Mike,,Stubbington", - "institution": "Wellcome Trust Sanger Institute" - }, - { - "country": "UK", - "email": "ph11@sanger.ac.uk", - "phone": "44 (0)1223 834244", - "address": "Wellcome Trust Sanger Institute, Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "laboratory": "Human Cell Atlas (Mike Stubbington)", - "contact_name": "Phillipa,,Harding", - "institution": "Wellcome Trust Sanger Institute" - }, - { - "country": "UK", - "email": "aw24@sanger.ac.uk", - "phone": "44 (0)1223 834244", - "address": "Wellcome Trust Sanger Institute, Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "laboratory": "Human Cell Atlas (Mike Stubbington)", - "contact_name": "Anna,,Wilbrey-Clark", - "institution": "Wellcome Trust Sanger Institute" - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Sanger Institute, Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "laboratory": "Human Cell Atlas (Mike Stubbington)", - "contact_name": "Krzysztof,,Polanski", - "email": "kp9@sanger.ac.uk" - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Cambridge CB2 0QQ", - "laboratory": "Molecular Immunity Unit, Department of Medicine", - "contact_name": "Kevin,,Loudon", - "email": "kevinloudon@doctors.org.uk" - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Cambridge CB2 0QQ", - "laboratory": "Molecular Immunity Unit, Department of Medicine", - "contact_name": "John,,Ferdinand", - "email": "jrf58@cam.ac.uk" - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Cambridge CB2 0QQ", - "laboratory": "Cambridge Biorepository for Translational Medicine", - "contact_name": "Krishnaa,,Mahbubani", - "email": "ktam2@cam.ac.uk" - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Cambridge CB2 0QQ", - "laboratory": "Cambridge Biorepository for Translational Medicine", - "contact_name": "Nikitas,,Georgakopoulos", - "email": "ng395@cam.ac.uk" - }, - { - "country": "UK", - "contact_name": "Kerstin,,Meyer", - "email": "km16@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Sanger Institute, Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA." - } - ], - "project_core": { - "project_short_name": "Tissue stability", - "project_description": "Assessment of ischaemic sensitivity of three human tissues using 10x 3' single cell RNA sequencing - this submission is ONLY for the first spleen sample; further samples to be collected. Ultimately we aim to collect data from three tissues expected to have different sensitivity to ischaemia: spleen (expected least sensitive), oesophagus (in the middle) and liver (expected most sensitive). Samples will be collected 'fresh' (ie as soon as possible) and at 12h, 24h and 72h post onset of ischaemia in the donor. Single cell RNA sequencing data will be generated at each time point using the 10x genomics single cell 3' method.", - "project_title": "Ischaemic sensitivity of human tissue by single cell RNA seq" - }, - "supplementary_files": [ - "Experimental_report.docx", - "Human_spleen_dissociation_protocol.pdf", - "Clinical_metadata.xlsx", - "284C_IMAGE_spleen_annotated.jpeg", - "10x_protocol.pdf" - ], - "publications": [], - "schema_type": "project", - "describedBy": "https://schema.humancellatlas.org/type/project/5.1.0/project" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-27T13:10:38.067Z", - "updateDate": "2018-03-27T13:10:46.070Z", - "document_id": "6ec8e247-2eb0-42d1-823f-75facd03988d" - }, - "describedBy": "https://schema.humancellatlas.org/bundle/5.1.0/project", - "schema_version": "5.1.0", - "schema_type": "project_bundle" - }, - "cell_suspension/a86b1fda-bb1d-4ef8-87d9-392517d4a937": { - "content": { - "biomaterial_core": { - "has_input_biomaterial": "A1-Spl-0-TL5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "A1-Spl-0-TL5_cells", - "biomaterial_name": "cells from fresh spleen" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension", - "total_estimated_cells": 39300000, - "schema_type": "biomaterial" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-27T13:10:38.189Z", - "updateDate": "2018-03-27T13:10:43.316Z", - "document_id": "a86b1fda-bb1d-4ef8-87d9-392517d4a937" - } - }, - "specimen_from_organism/d231b8f3-8fa3-4f3b-a8e5-66eca6228ae7": { - "content": { - "state_of_specimen": { - "ischemic_time": 7200, - "gross_image": [ - "284C_IMAGE_spleen_annotated.jpg" - ], - "postmortem_interval": 19800, - "ischemic_temperature": "warm", - "microscopic_description": "dead cells are quite faint on microscope at LMB" - }, - "organ": { - "text": "spleen", - "ontology": "UBERON:0002106" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_description": "fresh spleen", - "has_input_biomaterial": "284C-A1", - "biomaterial_name": "284C_spleen_fresh", - "supplementary_files": [ - "284C_IMAGE_spleen_annotated.jpeg" - ], - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "A1-Spl-0-TL5" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-27T13:10:38.291Z", - "updateDate": "2018-03-27T13:10:43.420Z", - "document_id": "d231b8f3-8fa3-4f3b-a8e5-66eca6228ae7" - } - }, - "donor_organism/9a7acc6d-8352-497e-b162-5e63b380366f": { - "content": { - "is_living": false, - "death": { - "cause_of_death": "Hypoxic brain damage", - "cold_perfused": false - }, - "biological_sex": "male", - "weight": "80-85", - "disease": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "height_unit": { - "text": "meter", - "ontology": "UO:0000008" - }, - "height": "1.75-1.8", - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism", - "organism_age": "55-60", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "284C-A1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_description": "Spleen", - "biomaterial_name": "284C-spleen" - }, - "medical_history": { - "alcohol_history": "3-6 units/day", - "smoking_history": "Smoker, 20/day for 25 years, stopped 2000" - }, - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "weight_unit": { - "text": "kg", - "ontology": "UO:0000009" - } - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-27T13:10:38.212Z", - "updateDate": "2018-03-27T13:10:46.762Z", - "document_id": "9a7acc6d-8352-497e-b162-5e63b380366f" - } - }, - "sequence_file/49fddace-4c59-41c1-8930-0707460132d7": { - "content": { - "file_core": { - "file_name": "HCATisStabAug177078016_S1_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "index1", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-27T13:10:38.480Z", - "document_id": "49fddace-4c59-41c1-8930-0707460132d7" - } - }, - "sequence_file/771d9bcb-a5ff-43b5-b3e8-e738cc4c05bf": { - "content": { - "file_core": { - "file_name": "HCATisStabAug177078016_S1_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "read1", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-27T13:10:38.490Z", - "document_id": "771d9bcb-a5ff-43b5-b3e8-e738cc4c05bf" - } - }, - "sequence_file/8ebfd02e-2a74-4367-80db-48082f331625": { - "content": { - "file_core": { - "file_name": "HCATisStabAug177078016_S1_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "read2", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-27T13:10:38.502Z", - "document_id": "8ebfd02e-2a74-4367-80db-48082f331625" - } - }, - "sequence_file/fea5cc65-6d94-4d1e-a807-ec248f79b83d": { - "content": { - "file_core": { - "file_name": "HCATisStabAug177078016_S2_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "index1", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-27T13:10:38.515Z", - "document_id": "fea5cc65-6d94-4d1e-a807-ec248f79b83d" - } - }, - "sequence_file/cee5b925-919c-4c77-8ea2-be51a1728e2b": { - "content": { - "file_core": { - "file_name": "HCATisStabAug177078016_S2_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "read1", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-27T13:10:38.524Z", - "document_id": "cee5b925-919c-4c77-8ea2-be51a1728e2b" - } - }, - "sequence_file/c548066c-9994-415a-98cb-3df2933937ff": { - "content": { - "file_core": { - "file_name": "HCATisStabAug177078016_S2_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "read2", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-27T13:10:38.534Z", - "document_id": "c548066c-9994-415a-98cb-3df2933937ff" - } - }, - "sequence_file/b7d8d43c-bee6-48eb-bb36-0c07701c47b5": { - "content": { - "file_core": { - "file_name": "HCATisStabAug177078016_S3_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "index1", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-27T13:10:38.545Z", - "document_id": "b7d8d43c-bee6-48eb-bb36-0c07701c47b5" - } - }, - "sequence_file/6bc5b7ef-68f8-445d-8460-f04180c4fae1": { - "content": { - "file_core": { - "file_name": "HCATisStabAug177078016_S3_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "read1", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-27T13:10:38.555Z", - "document_id": "6bc5b7ef-68f8-445d-8460-f04180c4fae1" - } - }, - "sequence_file/17add91c-4063-4684-859d-d739baa4b9bb": { - "content": { - "file_core": { - "file_name": "HCATisStabAug177078016_S3_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "read2", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-27T13:10:38.564Z", - "document_id": "17add91c-4063-4684-859d-d739baa4b9bb" - } - }, - "sequence_file/b7554cb7-dc5a-4b07-9c7a-c04466d30576": { - "content": { - "file_core": { - "file_name": "HCATisStabAug177078016_S4_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "index1", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-27T13:10:38.575Z", - "document_id": "b7554cb7-dc5a-4b07-9c7a-c04466d30576" - } - }, - "sequence_file/5239e70b-7d8d-4285-971f-9a156441c2f2": { - "content": { - "file_core": { - "file_name": "HCATisStabAug177078016_S4_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "read1", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-27T13:10:38.587Z", - "document_id": "5239e70b-7d8d-4285-971f-9a156441c2f2" - } - }, - "sequence_file/024c5cb6-f473-40c9-9eb3-da08caf3180e": { - "content": { - "file_core": { - "file_name": "HCATisStabAug177078016_S4_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "read2", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-27T13:10:38.597Z", - "document_id": "024c5cb6-f473-40c9-9eb3-da08caf3180e" - } - }, - "process/7d3747dc-9e3a-4740-8504-82086ad1d63a": { - "content": { - "process_core": { - "process_id": "wrapper_process_7" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-27T13:10:39.071Z", - "updateDate": "2018-03-27T13:10:48.960Z", - "document_id": "7d3747dc-9e3a-4740-8504-82086ad1d63a" - } - }, - "process/8797a64c-b498-4de6-aea7-86401199bee4": { - "content": { - "process_core": { - "process_id": "sampling_process_3" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-27T13:10:38.410Z", - "updateDate": "2018-03-27T13:10:46.927Z", - "document_id": "8797a64c-b498-4de6-aea7-86401199bee4" - } - }, - "library_preparation_process/fa9febdf-425e-41bc-925f-b17f27b96e61": { - "content": { - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "process_core": { - "process_id": "library_preparation_process_1", - "process_name": "Library preparation for 10x_v2 sequencing" - }, - "umi_barcode": { - "barcode_offset": 16, - "barcode_length": 10, - "barcode_read": "Read 1" - }, - "library_construction_approach": "10x_v2", - "cell_barcode": { - "barcode_offset": 0, - "barcode_length": 16, - "barcode_read": "Read 1" - }, - "schema_type": "process", - "end_bias": "3 prime tag", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/library_preparation_process", - "strand": "second" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-27T13:10:38.700Z", - "updateDate": "2018-03-27T13:10:48.152Z", - "document_id": "fa9febdf-425e-41bc-925f-b17f27b96e61" - } - }, - "sequencing_process/0c6332ef-633b-403b-b4ed-c61ccacf87c8": { - "content": { - "process_core": { - "process_id": "sequencing_process_1", - "process_name": "10x_v2 sequencing" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 4000", - "ontology": "EFO:0008563" - }, - "paired_ends": true, - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/sequencing_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-27T13:10:38.859Z", - "updateDate": "2018-03-27T13:10:48.049Z", - "document_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8" - } - }, - "protocol/73b0c9ae-a5bb-446e-9c7b-d0954e6af425": { - "content": { - "protocol_core": { - "protocol_name": "10X Genomics protocol - including loading single cells and library prep", - "protocol_description": "ChromiumTM Single Cell 3' Library & Gel Bead Kit v2", - "document": "10x_sequencing_protocol.pdf", - "protocol_id": "10x_sequencing_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "single cell nucleic acid sequencing protocol", - "ontology": "EFO:0008439" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-27T13:10:38.103Z", - "updateDate": "2018-03-27T13:10:45.995Z", - "document_id": "73b0c9ae-a5bb-446e-9c7b-d0954e6af425" - } - } - }, - "links": { - "links": [ - { - "source_id": "d231b8f3-8fa3-4f3b-a8e5-66eca6228ae7", - "source_type": "biomaterial", - "destination_id": "7d3747dc-9e3a-4740-8504-82086ad1d63a", - "destination_type": "process" - }, - { - "source_id": "7d3747dc-9e3a-4740-8504-82086ad1d63a", - "source_type": "process", - "destination_id": "a86b1fda-bb1d-4ef8-87d9-392517d4a937", - "destination_type": "biomaterial" - }, - { - "source_id": "8797a64c-b498-4de6-aea7-86401199bee4", - "source_type": "process", - "destination_id": "d231b8f3-8fa3-4f3b-a8e5-66eca6228ae7", - "destination_type": "biomaterial" - }, - { - "source_id": "9a7acc6d-8352-497e-b162-5e63b380366f", - "source_type": "biomaterial", - "destination_id": "8797a64c-b498-4de6-aea7-86401199bee4", - "destination_type": "process" - }, - { - "source_id": "a86b1fda-bb1d-4ef8-87d9-392517d4a937", - "source_type": "biomaterial", - "destination_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "destination_type": "library_preparation_process" - }, - { - "source_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "source_type": "library_preparation_process", - "destination_id": "49fddace-4c59-41c1-8930-0707460132d7", - "destination_type": "file" - }, - { - "source_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "source_type": "library_preparation_process", - "destination_id": "771d9bcb-a5ff-43b5-b3e8-e738cc4c05bf", - "destination_type": "file" - }, - { - "source_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "source_type": "library_preparation_process", - "destination_id": "8ebfd02e-2a74-4367-80db-48082f331625", - "destination_type": "file" - }, - { - "source_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "source_type": "library_preparation_process", - "destination_id": "fea5cc65-6d94-4d1e-a807-ec248f79b83d", - "destination_type": "file" - }, - { - "source_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "source_type": "library_preparation_process", - "destination_id": "cee5b925-919c-4c77-8ea2-be51a1728e2b", - "destination_type": "file" - }, - { - "source_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "source_type": "library_preparation_process", - "destination_id": "c548066c-9994-415a-98cb-3df2933937ff", - "destination_type": "file" - }, - { - "source_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "source_type": "library_preparation_process", - "destination_id": "b7d8d43c-bee6-48eb-bb36-0c07701c47b5", - "destination_type": "file" - }, - { - "source_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "source_type": "library_preparation_process", - "destination_id": "6bc5b7ef-68f8-445d-8460-f04180c4fae1", - "destination_type": "file" - }, - { - "source_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "source_type": "library_preparation_process", - "destination_id": "17add91c-4063-4684-859d-d739baa4b9bb", - "destination_type": "file" - }, - { - "source_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "source_type": "library_preparation_process", - "destination_id": "b7554cb7-dc5a-4b07-9c7a-c04466d30576", - "destination_type": "file" - }, - { - "source_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "source_type": "library_preparation_process", - "destination_id": "5239e70b-7d8d-4285-971f-9a156441c2f2", - "destination_type": "file" - }, - { - "source_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "source_type": "library_preparation_process", - "destination_id": "024c5cb6-f473-40c9-9eb3-da08caf3180e", - "destination_type": "file" - }, - { - "source_id": "fa9febdf-425e-41bc-925f-b17f27b96e61", - "source_type": "library_preparation_process", - "destination_id": "73b0c9ae-a5bb-446e-9c7b-d0954e6af425", - "destination_type": "protocol" - }, - { - "source_id": "a86b1fda-bb1d-4ef8-87d9-392517d4a937", - "source_type": "biomaterial", - "destination_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "destination_type": "sequencing_process" - }, - { - "source_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "source_type": "sequencing_process", - "destination_id": "49fddace-4c59-41c1-8930-0707460132d7", - "destination_type": "file" - }, - { - "source_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "source_type": "sequencing_process", - "destination_id": "771d9bcb-a5ff-43b5-b3e8-e738cc4c05bf", - "destination_type": "file" - }, - { - "source_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "source_type": "sequencing_process", - "destination_id": "8ebfd02e-2a74-4367-80db-48082f331625", - "destination_type": "file" - }, - { - "source_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "source_type": "sequencing_process", - "destination_id": "fea5cc65-6d94-4d1e-a807-ec248f79b83d", - "destination_type": "file" - }, - { - "source_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "source_type": "sequencing_process", - "destination_id": "cee5b925-919c-4c77-8ea2-be51a1728e2b", - "destination_type": "file" - }, - { - "source_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "source_type": "sequencing_process", - "destination_id": "c548066c-9994-415a-98cb-3df2933937ff", - "destination_type": "file" - }, - { - "source_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "source_type": "sequencing_process", - "destination_id": "b7d8d43c-bee6-48eb-bb36-0c07701c47b5", - "destination_type": "file" - }, - { - "source_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "source_type": "sequencing_process", - "destination_id": "6bc5b7ef-68f8-445d-8460-f04180c4fae1", - "destination_type": "file" - }, - { - "source_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "source_type": "sequencing_process", - "destination_id": "17add91c-4063-4684-859d-d739baa4b9bb", - "destination_type": "file" - }, - { - "source_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "source_type": "sequencing_process", - "destination_id": "b7554cb7-dc5a-4b07-9c7a-c04466d30576", - "destination_type": "file" - }, - { - "source_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "source_type": "sequencing_process", - "destination_id": "5239e70b-7d8d-4285-971f-9a156441c2f2", - "destination_type": "file" - }, - { - "source_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "source_type": "sequencing_process", - "destination_id": "024c5cb6-f473-40c9-9eb3-da08caf3180e", - "destination_type": "file" - }, - { - "source_id": "0c6332ef-633b-403b-b4ed-c61ccacf87c8", - "source_type": "sequencing_process", - "destination_id": "73b0c9ae-a5bb-446e-9c7b-d0954e6af425", - "destination_type": "protocol" - } - ], - "describedBy": "https://schema.humancellatlas.org/bundle/1.0.0/links", - "schema_version": "1.0.0", - "schema_type": "link_bundle" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/1b6d8348-d6e9-406a-aa6a-7ee886e52bf9.dss.hca.json b/test/indexer/data/1b6d8348-d6e9-406a-aa6a-7ee886e52bf9.dss.hca.json deleted file mode 100644 index 094ce59f4b..0000000000 --- a/test/indexer/data/1b6d8348-d6e9-406a-aa6a-7ee886e52bf9.dss.hca.json +++ /dev/null @@ -1,1052 +0,0 @@ -{ - "manifest": { - "sequence_file/5f68ea73-350b-4d37-a341-3004139fb699": { - - "name": "IDC9_L001_I1.fastq.gz", - "uuid": "08bc2234-5157-4f5c-b348-5d63cc9f14e1", - "version": "2019-09-24T09:35:07.310307Z", - "content-type": "application/gzip; dcp-type=data", - "size": 445530013, - "indexed": false, - "crc32c": "f222c2e3", - "sha1": "82599ed6a9e0beb47fd5bd87e718959dbbecb0bd", - "sha256": "5a51c7ea8ce08cafb06d279041bd65f0759ab24bb6d2c25f2ca488d017cd2bc6", - "s3_etag": "4cc2f68ce54b988081c14118adc480c4-7" - }, - "sequence_file/23f8e139-f4fa-4476-ba59-ff5d37003c34": { - "name": "IDC9_L001_R1.fastq.gz", - "uuid": "c4288821-5775-4163-9543-5d29f847b03b", - "version": "2019-09-24T09:35:07.508582Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1324910829, - "indexed": false, - "crc32c": "39eefc54", - "sha1": "4cf46e3cc2f8bc7fb019920ef0ff88c8d4541ef2", - "sha256": "c2910761bfe2eb3ec958d653bc518988a8ecc081628a07d11f3308e25fb8f05d", - "s3_etag": "046326b00d6cc7485eba093190ee7610-20" - }, - "sequence_file/3c3d882a-cc38-4eea-ac53-0885f906852e": { - "name": "IDC9_L001_R2.fastq.gz", - "uuid": "1b9d4386-97ac-402d-a93d-40740b2c3c28", - "version": "2019-09-24T09:35:07.677792Z", - "content-type": "application/gzip; dcp-type=data", - "size": 4274107018, - "indexed": false, - "crc32c": "89a6b7e3", - "sha1": "73ce5b30e5c71e0ed538d67cf13e2bd638a86243", - "sha256": "6d84bb5bcfec87db8480a01e0c65f44f7caf1af8668010cb825ef8114de130e7", - "s3_etag": "06705170a39d451d000c0143135fc5c3-64" - }, - "sequence_file/35e07477-76cb-4a92-99b6-7b3bbb02ec06": { - "name": "IDC9_L002_I1.fastq.gz", - "uuid": "ed7405bd-c1d0-4501-9a7a-7e953d887322", - "version": "2019-09-24T09:35:07.845958Z", - "content-type": "application/gzip; dcp-type=data", - "size": 432714077, - "indexed": false, - "crc32c": "d90b80a2", - "sha1": "9a51a048fa73b59aa84f2a6b300bf3c57fb70346", - "sha256": "45ada227726e92de0638c50f4c2ac20ff3e2250f1138b436112d91d20fed19a3", - "s3_etag": "4077676da51c8b6eff706b1ebf43114c-7" - }, - "sequence_file/63051b9f-87d4-4853-a4a0-5cc742ef6e72": { - "name": "IDC9_L002_R1.fastq.gz", - "uuid": "292b2faf-0db3-4ba1-a6a5-cb7bdfa9313d", - "version": "2019-09-24T09:35:08.157668Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1297795360, - "indexed": false, - "crc32c": "bd8aacef", - "sha1": "b46f3cda41226009ad7b0caeefd76cccb4f7b7bc", - "sha256": "125e5c181744e2dacf0b156d4c0b82ce771701947b26ca738689edddfc3af97e", - "s3_etag": "31985ad7f32b053fa97f05216c6e805e-20" - }, - "sequence_file/6ca8e43f-5f40-4eb9-bfa9-294c54dbeade": { - "name": "IDC9_L002_R2.fastq.gz", - "uuid": "ea44789f-43b3-4684-b515-800605394177", - "version": "2019-09-24T09:35:08.227847Z", - "content-type": "application/gzip; dcp-type=data", - "size": 4151699736, - "indexed": false, - "crc32c": "340ea243", - "sha1": "5d0217eedef4e8b60f0730de08c845b50890a2f9", - "sha256": "e65d5d070584e7b08847fac0be1f89b7760ee9b301df792a66e5698d7d76d7f5", - "s3_etag": "29da5762d5a55b9ecbd14c8663039f11-62" - }, - "sequence_file/3dffc456-caaf-4823-9f65-fc0db7abacbc": { - "name": "IDC9_L003_I1.fastq.gz", - "uuid": "dd7d84d2-c515-489f-9ead-3f7df2c66848", - "version": "2019-09-24T09:35:08.401689Z", - "content-type": "application/gzip; dcp-type=data", - "size": 442526139, - "indexed": false, - "crc32c": "7aaeea0b", - "sha1": "7e0667acc57bba6e57022d6e9e31dfa86f401ac1", - "sha256": "17456db03c93cef439a31b1a43f3165db4f27a1dc93dbc76263beb5d002a0530", - "s3_etag": "d7046367bee15cd004af8f9882874042-7" - }, - "sequence_file/a2f4b05d-0dae-4655-acfd-ef3b91ae0ad0": { - "name": "IDC9_L003_R1.fastq.gz", - "uuid": "87fb0ccd-07d9-4dde-bbb0-c61338e3127b", - "version": "2019-09-24T09:35:08.661156Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1323109644, - "indexed": false, - "crc32c": "47d49222", - "sha1": "a2493797f5cd1a2e644a08a0a81bc329c78ab950", - "sha256": "55bd588c98a7caa2089271d79b6e0838ea8036726a7e56619786d4a23afa53c9", - "s3_etag": "fc818501a59964e076aff1bc7f7068c6-20" - }, - "sequence_file/98ee0901-d34c-48a5-915a-0511bac325ec": { - "name": "IDC9_L003_R2.fastq.gz", - "uuid": "c4613a58-8bfb-43c6-8901-35d579631859", - "version": "2019-09-24T09:35:08.872601Z", - "content-type": "application/gzip; dcp-type=data", - "size": 4278033574, - "indexed": false, - "crc32c": "8644e13b", - "sha1": "b851d8660a9dc81813f6d31d75e7b248241b575f", - "sha256": "3813e23040c8e6a26a43fd1f164b2ec1d118e8f52b9d4510640f990d8e969dd8", - "s3_etag": "3188a7180ba75349ca223905e3f589c1-64" - }, - "sequence_file/27fc1a2e-d70e-47ee-a4b7-92bf57e5b7a6": { - "name": "IDC9_L004_I1.fastq.gz", - "uuid": "f0011946-dbea-4f87-9858-5e3fd32a9829", - "version": "2019-09-24T09:35:09.172703Z", - "content-type": "application/gzip; dcp-type=data", - "size": 439983276, - "indexed": false, - "crc32c": "ee474d23", - "sha1": "9a726b1fcd446ad3777e5537d4ee809fa393b8b5", - "sha256": "8af97d885b995e7239a409f490e915f4754e7d1902f4a620f464995a422fb61f", - "s3_etag": "20497e6cbc5f671fa94cf69bf0febdad-7" - }, - "sequence_file/133f2a25-f3aa-49a7-b9b6-d185d302fb26": { - "name": "IDC9_L004_R1.fastq.gz", - "uuid": "1abc51fb-6b3a-45e9-8691-fc250b4e0509", - "version": "2019-09-24T09:35:09.245235Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1325811624, - "indexed": false, - "crc32c": "99cb5894", - "sha1": "8e36f67ce2f1ac6771a42c6b7b6053786d39c356", - "sha256": "439112aa9aebd86f7e6a0c2206e005c8824994105aad3844090d765397931ed2", - "s3_etag": "c9c70827a7c5d23bb150105a14112af9-20" - }, - "sequence_file/e46af70a-0396-41db-9b74-330cb8244124": { - "name": "IDC9_L004_R2.fastq.gz", - "uuid": "ae5d1035-8f2b-4355-a0ef-bbb99958b303", - "version": "2019-09-24T09:35:09.407370Z", - "content-type": "application/gzip; dcp-type=data", - "size": 4218464933, - "indexed": false, - "crc32c": "0b83b575", - "sha1": "9ee5c924eb8cce21b2544b92cea7df0ac84e6e2f", - "sha256": "4c9b22cfd3eb141a30a43fd52ce576b586279ca021444ff191c460a26cf1e4cc", - "s3_etag": "c92e5374ac0a53b228d4c1511c2d2842-63" - } - }, - "metadata": { - "cell_suspension/906f8f09-deaa-40bb-bf50-27d2336b2dc4": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "cellsuspension3", - "biomaterial_name": "CD45+ HLA-DR+ d9 iDCs", - "biomaterial_description": "Induced Dendritic cells at reprogramming day 9", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "Reprogrammed dendritic cell", - "ontology": "CL:0000451", - "ontology_label": "dendritic cell" - } - ], - "provenance": { - "document_id": "906f8f09-deaa-40bb-bf50-27d2336b2dc4", - "submission_date": "2019-09-20T13:43:45.365Z", - "update_date": "2019-09-20T13:43:52.387Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "specimen_from_organism/d6a518a8-0c5d-4cb0-aed5-68f3455c2bda": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Specimen1", - "biomaterial_name": "Fibroblasts", - "biomaterial_description": "Human Embryonic Fibroblasts", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "embryo", - "ontology": "UBERON:0000922", - "ontology_label": "embryo" - }, - "organ_parts": [ - { - "text": "skin epidermis", - "ontology": "UBERON:0001003", - "ontology_label": "skin epidermis" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "collection_time": "2018-06-19", - "provenance": { - "document_id": "d6a518a8-0c5d-4cb0-aed5-68f3455c2bda", - "submission_date": "2019-09-20T13:43:45.329Z", - "update_date": "2019-09-20T13:43:52.654Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "cell_line/70054038-cb12-429d-bb37-69185ff1deee": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/14.5.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Cell_line_2", - "biomaterial_name": "CD45+ HLA-DR+ d9 iDCs", - "biomaterial_description": "Induced Dendritic cells at reprogramming day 9", - "ncbi_taxon_id": [ - 9606 - ] - }, - "type": "primary", - "model_organ": { - "text": "immune system", - "ontology": "UBERON:0002405", - "ontology_label": "immune system" - }, - "growth_conditions": { - "growth_medium": "Dulbecco\u2019s modified Eagle\u2019s medium supplemented with 10% (v/v) FBS, 2 mM l-glutamine, and antibiotics (penicillin and streptomycin, 10 \uf06dg/ml)", - "culture_environment": "Adherent cell culture" - }, - "cell_type": { - "text": "dendritic cell", - "ontology": "CL:0000451", - "ontology_label": "dendritic cell" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "provenance": { - "document_id": "70054038-cb12-429d-bb37-69185ff1deee", - "submission_date": "2019-09-20T13:43:45.344Z", - "update_date": "2019-09-20T13:43:52.455Z", - "schema_major_version": 14, - "schema_minor_version": 5 - } - }, - "donor_organism/2b7adb0a-82a4-4319-80d1-4a73d879dec1": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Donor1", - "biomaterial_name": "Donor 1", - "biomaterial_description": "Human embryo donor", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "unknown", - "is_living": "no", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "gestational_age": "8.5", - "gestational_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "6.5 week-old human embryo", - "ontology": "HsapDv:0000025", - "ontology_label": "Carnegie stage 18" - }, - "death": { - "cause_of_death": "Unkown", - "cold_perfused": false - }, - "provenance": { - "document_id": "2b7adb0a-82a4-4319-80d1-4a73d879dec1", - "submission_date": "2019-09-20T13:43:45.321Z", - "update_date": "2019-09-20T13:43:52.612Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "sequence_file/5f68ea73-350b-4d37-a341-3004139fb699": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L001_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "23b88d6cfe7a0841e1c08e9c4db83ede" - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "5f68ea73-350b-4d37-a341-3004139fb699", - "submission_date": "2019-09-20T13:43:45.625Z", - "update_date": "2019-09-20T13:50:35.660Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/23f8e139-f4fa-4476-ba59-ff5d37003c34": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L001_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "196b3da7c89c8a36a0aa4b96dc5c84e0" - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 26, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "23f8e139-f4fa-4476-ba59-ff5d37003c34", - "submission_date": "2019-09-20T13:43:45.633Z", - "update_date": "2019-09-20T13:50:08.455Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/3c3d882a-cc38-4eea-ac53-0885f906852e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L001_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "ba420d4a2aa788fc5b063fd54b7e9a03" - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 98, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "3c3d882a-cc38-4eea-ac53-0885f906852e", - "submission_date": "2019-09-20T13:43:45.640Z", - "update_date": "2019-09-20T13:52:19.666Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/35e07477-76cb-4a92-99b6-7b3bbb02ec06": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L002_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "0eae5835837bc998310b561d0e1380d9" - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "35e07477-76cb-4a92-99b6-7b3bbb02ec06", - "submission_date": "2019-09-20T13:43:45.648Z", - "update_date": "2019-09-20T13:49:42.254Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/63051b9f-87d4-4853-a4a0-5cc742ef6e72": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L002_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "962cdc9a0188888d24bf007d86937665" - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 26, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "63051b9f-87d4-4853-a4a0-5cc742ef6e72", - "submission_date": "2019-09-20T13:43:45.656Z", - "update_date": "2019-09-20T13:50:59.836Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/6ca8e43f-5f40-4eb9-bfa9-294c54dbeade": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L002_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "4e034eb6725ea0e8492c9f2cac5e19b3" - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 98, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "6ca8e43f-5f40-4eb9-bfa9-294c54dbeade", - "submission_date": "2019-09-20T13:43:45.663Z", - "update_date": "2019-09-20T13:52:17.560Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/3dffc456-caaf-4823-9f65-fc0db7abacbc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L003_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "99891717a637f470f689c4ef14123550" - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "3dffc456-caaf-4823-9f65-fc0db7abacbc", - "submission_date": "2019-09-20T13:43:45.671Z", - "update_date": "2019-09-20T13:49:42.771Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/a2f4b05d-0dae-4655-acfd-ef3b91ae0ad0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L003_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "39bfe9e0769d4f805a79c6df3c51a4a6" - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 26, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "a2f4b05d-0dae-4655-acfd-ef3b91ae0ad0", - "submission_date": "2019-09-20T13:43:45.679Z", - "update_date": "2019-09-20T13:50:08.492Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/98ee0901-d34c-48a5-915a-0511bac325ec": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L003_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "5a4720812a69ff4548ff470a203ca5b5" - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 98, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "98ee0901-d34c-48a5-915a-0511bac325ec", - "submission_date": "2019-09-20T13:43:45.687Z", - "update_date": "2019-09-20T13:53:16.941Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/27fc1a2e-d70e-47ee-a4b7-92bf57e5b7a6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L004_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "17c8cdbee10398d47ca3216eb66ce5d9" - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "27fc1a2e-d70e-47ee-a4b7-92bf57e5b7a6", - "submission_date": "2019-09-20T13:43:45.696Z", - "update_date": "2019-09-20T13:50:35.338Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/133f2a25-f3aa-49a7-b9b6-d185d302fb26": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L004_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "3bbd35e4d37ac51511afe5abb335cfa2" - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 26, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "133f2a25-f3aa-49a7-b9b6-d185d302fb26", - "submission_date": "2019-09-20T13:43:45.704Z", - "update_date": "2019-09-20T13:51:28.379Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/e46af70a-0396-41db-9b74-330cb8244124": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L004_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "2144c0da57ef826ce3a919982196a168" - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 98, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "e46af70a-0396-41db-9b74-330cb8244124", - "submission_date": "2019-09-20T13:43:45.711Z", - "update_date": "2019-09-20T13:52:19.118Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "project/116965f3-f094-4769-9d28-ae675c1b569c": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Reprogrammed_Dendritic_Cells", - "project_title": "Single cell profiling of human induced dendritic cells generated by direct reprogramming of embryonic fibroblasts", - "project_description": "Dendritic cells (DCs) are professional antigen-presenting cells specialized in the recognition, processing and presentation of antigens to T-cells, inducing adaptive immune responses. We have identified PU.1, IRF8 and BATF3 transcription factors (TFs) to reprogram human fibroblasts into DC type 1 (DC1). Induced DCs acquire a step-wise DC1 transcriptional signature at the single cell level as assessed with droplet based scRNA-seq. Hence, we provide evidence that antigen presentation can be dynamically programmed by a small combination of TFs in human cells. Moreover, it represents a platform for generating autologous DC1, the most attractive DC subset for cancer immunotherapy." - }, - "contributors": [ - { - "name": "Filipe,,Pereira", - "email": "filipe.pereira@med.lu.se", - "phone": "+46 72 243 00 14", - "institution": "Lund University", - "laboratory": "Department of Laboratory Medicine", - "address": "S\u00f6lvegatan 17, BMC A12,\u00a0Lund", - "country": "Sweden", - "corresponding_contributor": true, - "project_role": { - "text": "Principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-9724-1382" - }, - { - "name": "F\u00e1bio,,Rosa", - "email": "fabio.rosa.1993@gmail.com", - "phone": "+351 914 765 335", - "institution": "Lund University", - "laboratory": "Department of Laboratory Medicine", - "address": "S\u00f6lvegatan 17, BMC A12,\u00a0Lund", - "country": "Sweden", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-7714-5852" - }, - { - "name": "Cristiana,,Pires", - "email": "cristiana.pires@med.lu.se", - "phone": "+351 916 838 690", - "institution": "Lund University", - "laboratory": "Department of Laboratory Medicine", - "address": "S\u00f6lvegatan 17, BMC A12,\u00a0Lund", - "country": "Sweden", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0003-3100-0903" - }, - { - "name": "Ilia,,Kurochkin", - "email": "ilia.kurochkin@skolkovotech.ru", - "phone": "+79 151 16 49 52", - "institution": "Skolkovo Institute of Science and Technology", - "laboratory": "Center for Neurobiology and Brain Restoration", - "address": "Moscow, 121205, Russia", - "country": "Russia", - "corresponding_contributor": false, - "project_role": { - "text": "Computational scientist", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0003-2985-6323" - }, - { - "name": "Enrique,,Sapena Ventura", - "email": "enrique@ebi.ac.uk", - "institution": "European Bioinformatics Institute", - "laboratory": "Human Cell Atlas Data coordination Platform", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "HCA Data Wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - } - ], - "funders": [ - { - "grant_title": "4-year career package: Wallenberg Centre for Molecular Medicine and Faculty of Medicine at Lund University", - "grant_id": "Not provided", - "organization": "Wallenberg Foundation" - }, - { - "grant_title": "Generating Dendritic Cells by Direct Reprogramming", - "grant_id": "20180864", - "organization": "Crafoord Foundation\u00a0(Lund)" - }, - { - "grant_title": "Generating Dendritic Cells by Direct Reprogramming", - "grant_id": "CAN 2017/745", - "organization": "Cancerfonden\u00a0(Lund)" - }, - { - "grant_title": "ReproDC: Generating Antigen Presenting Cells by Direct Reprogramming", - "grant_id": "CENTRO-01-0145-FEDER-030013", - "organization": "FCT\u00a0Funda\u00e7\u00e3o para a Ci\u00eancia e Tecnologia (Lisbon)" - }, - { - "grant_title": "Generating Dendritic Cells by Direct Cell Reprogramming", - "grant_id": "2018-02442", - "organization": "Swedish research council\u00a0(Lund)" - } - ], - "provenance": { - "document_id": "116965f3-f094-4769-9d28-ae675c1b569c", - "submission_date": "2019-10-03T10:54:38.894Z", - "update_date": "2019-10-03T10:54:44.192Z", - "schema_major_version": 14, - "schema_minor_version": 1 - } - }, - "library_preparation_protocol/2945bb1f-90de-42a3-afa1-f57a62c853f0": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "SingleCell3_ReagentKitv2", - "protocol_name": "10x-Genomics v2 library preparation", - "protocol_description": "10x-Genomics v2 libraries were prepared according to manufacturer\u2019s instructions." - }, - "input_nucleic_acid_molecule": { - "text": "mRNA", - "ontology": "CHEBI:33699", - "ontology_label": "messenger RNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_method": { - "text": "10X v2 sequencing", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "second", - "provenance": { - "document_id": "2945bb1f-90de-42a3-afa1-f57a62c853f0", - "submission_date": "2019-09-20T13:43:45.399Z", - "update_date": "2019-09-20T13:43:52.078Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "sequencing_protocol/08b09d15-ef99-4278-9b88-65127adb51b9": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Illumina_NextSeq", - "protocol_name": "Illumina NextSeq sequencing", - "protocol_description": "10x-Genomics v2 libraries were sequence on na Ilumina NextSeq according to manufacturer\u2019s instructions." - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0009173", - "ontology_label": "Illumina NextSeq 500" - }, - "local_machine_name": "NB502004", - "paired_end": false, - "method": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "10x": { - "fastq_method": "Cellranger mkfastq", - "fastq_method_version": "Cellranger 2.2.0", - "pooled_channels": 4.0 - }, - "provenance": { - "document_id": "08b09d15-ef99-4278-9b88-65127adb51b9", - "submission_date": "2019-09-20T13:43:45.404Z", - "update_date": "2019-09-20T13:43:51.921Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - }, - "dissociation_protocol/eaf15851-97e3-4e4b-b81b-0e625098f4d5": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HEF_Dissociation", - "protocol_name": "Dissociation of human embryonic fibroblasts", - "protocol_description": "Fibroblasts were dissociated using trypsin to generate a single cell suspension." - }, - "method": { - "text": "Enzymatic dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "provenance": { - "document_id": "eaf15851-97e3-4e4b-b81b-0e625098f4d5", - "submission_date": "2019-09-20T13:43:45.376Z", - "update_date": "2019-09-20T13:43:52.077Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "enrichment_protocol/345bcbd2-f3a7-4f57-a806-fbb0ce4a25da": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "iDC_d9_Enrichment", - "protocol_name": "Enrichment of reprogrammed dendritic cells at day 9", - "protocol_description": "PU.1, IRF8 and BATF3 (PIB)-transduced human embryonic fibroblasts were FACS sorted and collected at day 9 (CD45+ HLA-DR+ cells) for single cell profilling." - }, - "method": { - "text": "FACS sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD45+ HLA-DR+", - "provenance": { - "document_id": "345bcbd2-f3a7-4f57-a806-fbb0ce4a25da", - "submission_date": "2019-09-20T13:43:45.392Z", - "update_date": "2019-09-20T13:43:52.381Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - }, - "collection_protocol/8612862e-beb1-416b-a807-0a83fae8d168": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HEF_collection", - "protocol_name": "Isolation of human embryonic fibroblasts", - "protocol_description": "After removal of the central nervous system, spinal ganglia and internal organs, residual embryonic tissue was transferred several times to a clean petri dish containing sterile cold hibernation medium to remove contaminant cells. The epidermis was then carefully removed by tearing the tissue with sterile forceps (at this point another set of sterile forceps was employed to avoid cell-contaminants from other organs). Sub-dissected epidermis was washed several times with hibernation medium prior seeding to a 0.1% gelatin-coated flask in HEF medium (DMEM-GlutaMAX, 5% FBS, 1% Sodium Puryvate, 1% Non-essential amino acids) supplemented with 50 ug/ml Gentamicin." - }, - "method": { - "text": "Dissection", - "ontology": "EFO:0003856", - "ontology_label": "dissection" - }, - "provenance": { - "document_id": "8612862e-beb1-416b-a807-0a83fae8d168", - "submission_date": "2019-09-20T13:43:45.371Z", - "update_date": "2019-09-20T13:43:52.146Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/15de6ce1-c185-4852-ade4-43614c5d048b": { - "start_time": "2019.01.21", - "process_core": { - "process_id": "IDC9" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "15de6ce1-c185-4852-ade4-43614c5d048b", - "submission_date": "2019-09-20T13:43:45.768Z", - "update_date": "2019-09-20T13:43:52.606Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/47ca0565-ab7d-42bd-8731-ce5d30cfd6c7": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "47ca0565-ab7d-42bd-8731-ce5d30cfd6c7", - "submission_date": "2019-09-20T13:43:45.749Z", - "update_date": "2019-09-20T13:43:52.438Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/df5114c9-9f52-451b-afde-3673392fc864": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "df5114c9-9f52-451b-afde-3673392fc864", - "submission_date": "2019-09-20T13:43:45.718Z", - "update_date": "2019-09-20T13:43:52.607Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/c5cf9180-535a-4d1c-bdee-4f6ce7845b1e": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "c5cf9180-535a-4d1c-bdee-4f6ce7845b1e", - "submission_date": "2019-09-20T13:43:45.731Z", - "update_date": "2019-09-20T13:43:52.368Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.5/links", - "schema_type": "link_bundle", - "schema_version": "1.1.5", - "links": [ - { - "process": "15de6ce1-c185-4852-ade4-43614c5d048b", - "inputs": [ - "906f8f09-deaa-40bb-bf50-27d2336b2dc4" - ], - "input_type": "biomaterial", - "outputs": [ - "5f68ea73-350b-4d37-a341-3004139fb699", - "23f8e139-f4fa-4476-ba59-ff5d37003c34", - "3c3d882a-cc38-4eea-ac53-0885f906852e", - "35e07477-76cb-4a92-99b6-7b3bbb02ec06", - "63051b9f-87d4-4853-a4a0-5cc742ef6e72", - "6ca8e43f-5f40-4eb9-bfa9-294c54dbeade", - "3dffc456-caaf-4823-9f65-fc0db7abacbc", - "a2f4b05d-0dae-4655-acfd-ef3b91ae0ad0", - "98ee0901-d34c-48a5-915a-0511bac325ec", - "27fc1a2e-d70e-47ee-a4b7-92bf57e5b7a6", - "133f2a25-f3aa-49a7-b9b6-d185d302fb26", - "e46af70a-0396-41db-9b74-330cb8244124" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "2945bb1f-90de-42a3-afa1-f57a62c853f0" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "08b09d15-ef99-4278-9b88-65127adb51b9" - } - ] - }, - { - "process": "47ca0565-ab7d-42bd-8731-ce5d30cfd6c7", - "inputs": [ - "d6a518a8-0c5d-4cb0-aed5-68f3455c2bda", - "70054038-cb12-429d-bb37-69185ff1deee" - ], - "input_type": "biomaterial", - "outputs": [ - "906f8f09-deaa-40bb-bf50-27d2336b2dc4" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "eaf15851-97e3-4e4b-b81b-0e625098f4d5" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "345bcbd2-f3a7-4f57-a806-fbb0ce4a25da" - } - ] - }, - { - "process": "df5114c9-9f52-451b-afde-3673392fc864", - "inputs": [ - "2b7adb0a-82a4-4319-80d1-4a73d879dec1" - ], - "input_type": "biomaterial", - "outputs": [ - "d6a518a8-0c5d-4cb0-aed5-68f3455c2bda" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "8612862e-beb1-416b-a807-0a83fae8d168" - } - ] - }, - { - "process": "c5cf9180-535a-4d1c-bdee-4f6ce7845b1e", - "inputs": [ - "d6a518a8-0c5d-4cb0-aed5-68f3455c2bda" - ], - "input_type": "biomaterial", - "outputs": [ - "70054038-cb12-429d-bb37-69185ff1deee" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "eaf15851-97e3-4e4b-b81b-0e625098f4d5" - } - ] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/1b6d8348-d6e9-406a-aa6a-7ee886e52bf9.tdr.hca.json b/test/indexer/data/1b6d8348-d6e9-406a-aa6a-7ee886e52bf9.tdr.hca.json deleted file mode 100644 index ba63ed7de7..0000000000 --- a/test/indexer/data/1b6d8348-d6e9-406a-aa6a-7ee886e52bf9.tdr.hca.json +++ /dev/null @@ -1,1237 +0,0 @@ -{ - "manifest": { - "supplementary_file/22561f93-d5e0-57eb-a54e-2d9d565cc234": { - "name": "22561f93-d5e0-57eb-a54e-2d9d565cc234_file_name.fmt", - "uuid": "046a88ef-d19f-51ed-9003-14847dffc820", - "size": 1024, - "indexed": false, - "content-type": "text/plain", - "version": "2019-09-24T09:35:06.958773Z", - "crc32c": "00000000", - "sha1": null, - "sha256": "0000000000000000000000000000000000000000000000000000000000000000", - "s3_etag": null, - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_1d239f78-f3e6-5dfb-aeb0-f50d8d97b51c" - }, - "sequence_file/5f68ea73-350b-4d37-a341-3004139fb699": { - "name": "IDC9_L001_I1.fastq.gz", - "uuid": "08bc2234-5157-4f5c-b348-5d63cc9f14e1", - "version": "2019-09-24T09:35:07.310307Z", - "content-type": "application/gzip", - "size": 445530013, - "indexed": false, - "crc32c": "f222c2e3", - "sha1": "82599ed6a9e0beb47fd5bd87e718959dbbecb0bd", - "sha256": "5a51c7ea8ce08cafb06d279041bd65f0759ab24bb6d2c25f2ca488d017cd2bc6", - "s3_etag": "4cc2f68ce54b988081c14118adc480c4-7", - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_c82292d3-61d1-5785-b8dc-24b9365df5bd" - }, - "supplementary_file/c343a47d-683f-571d-99c4-1331841b4e63": { - "name": "c343a47d-683f-571d-99c4-1331841b4e63_file_name.fmt", - "uuid": "19617367-cda8-54e0-8296-84623ef58c3f", - "size": 1024, - "indexed": false, - "content-type": "text/plain", - "version": "2019-09-24T09:35:06.958773Z", - "sha1": null, - "crc32c": "00000000", - "sha256": "0000000000000000000000000000000000000000000000000000000000000000", - "s3_etag": null, - "drs_uri": null - }, - "sequence_file/133f2a25-f3aa-49a7-b9b6-d185d302fb26": { - "name": "IDC9_L004_R1.fastq.gz", - "uuid": "1abc51fb-6b3a-45e9-8691-fc250b4e0509", - "version": "2019-09-24T09:35:09.245235Z", - "content-type": "application/gzip", - "size": 1325811624, - "indexed": false, - "crc32c": "99cb5894", - "sha1": "8e36f67ce2f1ac6771a42c6b7b6053786d39c356", - "sha256": "439112aa9aebd86f7e6a0c2206e005c8824994105aad3844090d765397931ed2", - "s3_etag": "c9c70827a7c5d23bb150105a14112af9-20", - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_385feda5-d1e3-5a51-8e55-f4f491a4e7bf" - }, - "sequence_file/3c3d882a-cc38-4eea-ac53-0885f906852e": { - "name": "IDC9_L001_R2.fastq.gz", - "uuid": "1b9d4386-97ac-402d-a93d-40740b2c3c28", - "version": "2019-09-24T09:35:07.677792Z", - "content-type": "application/gzip", - "size": 4274107018, - "indexed": false, - "crc32c": "89a6b7e3", - "sha1": "73ce5b30e5c71e0ed538d67cf13e2bd638a86243", - "sha256": "6d84bb5bcfec87db8480a01e0c65f44f7caf1af8668010cb825ef8114de130e7", - "s3_etag": "06705170a39d451d000c0143135fc5c3-64", - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_83e89c54-4fc6-58b0-800c-3788539c41e7" - }, - "sequence_file/63051b9f-87d4-4853-a4a0-5cc742ef6e72": { - "name": "IDC9_L002_R1.fastq.gz", - "uuid": "292b2faf-0db3-4ba1-a6a5-cb7bdfa9313d", - "version": "2019-09-24T09:35:08.157668Z", - "content-type": "application/gzip", - "size": 1297795360, - "indexed": false, - "crc32c": "bd8aacef", - "sha1": "b46f3cda41226009ad7b0caeefd76cccb4f7b7bc", - "sha256": "125e5c181744e2dacf0b156d4c0b82ce771701947b26ca738689edddfc3af97e", - "s3_etag": "31985ad7f32b053fa97f05216c6e805e-20", - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_dba31e1c-1b9c-56ae-af74-16b00b8144d2" - }, - "supplementary_file/507d2814-1688-54e7-b73e-2f831aa34368": { - "name": "507d2814-1688-54e7-b73e-2f831aa34368_file_name.fmt", - "uuid": "519ee493-0984-5b54-95ec-85452d506b00", - "size": 1024, - "indexed": false, - "content-type": "text/plain", - "version": "2019-09-24T09:35:06.958773Z", - "crc32c": "00000000", - "sha1": null, - "sha256": "0000000000000000000000000000000000000000000000000000000000000000", - "s3_etag": null, - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_9d6f268f-f484-5381-9095-f0998fa0c961" - }, - "sequence_file/a2f4b05d-0dae-4655-acfd-ef3b91ae0ad0": { - "name": "IDC9_L003_R1.fastq.gz", - "uuid": "87fb0ccd-07d9-4dde-bbb0-c61338e3127b", - "version": "2019-09-24T09:35:08.661156Z", - "content-type": "application/gzip", - "size": 1323109644, - "indexed": false, - "crc32c": "47d49222", - "sha1": "a2493797f5cd1a2e644a08a0a81bc329c78ab950", - "sha256": "55bd588c98a7caa2089271d79b6e0838ea8036726a7e56619786d4a23afa53c9", - "s3_etag": "fc818501a59964e076aff1bc7f7068c6-20", - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_a5e4e698-1d4c-5a5d-8d7c-5c84ea0f30d8" - }, - "sequence_file/e46af70a-0396-41db-9b74-330cb8244124": { - "name": "IDC9_L004_R2.fastq.gz", - "uuid": "ae5d1035-8f2b-4355-a0ef-bbb99958b303", - "version": "2019-09-24T09:35:09.407370Z", - "content-type": "application/gzip", - "size": 4218464933, - "indexed": false, - "crc32c": "0b83b575", - "sha1": "9ee5c924eb8cce21b2544b92cea7df0ac84e6e2f", - "sha256": "4c9b22cfd3eb141a30a43fd52ce576b586279ca021444ff191c460a26cf1e4cc", - "s3_etag": "c92e5374ac0a53b228d4c1511c2d2842-63", - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_065dad63-3e05-5738-8ba5-9925d5d73d5e" - }, - "sequence_file/23f8e139-f4fa-4476-ba59-ff5d37003c34": { - "name": "IDC9_L001_R1.fastq.gz", - "uuid": "c4288821-5775-4163-9543-5d29f847b03b", - "version": "2019-09-24T09:35:07.508582Z", - "content-type": "application/gzip", - "size": 1324910829, - "indexed": false, - "crc32c": "39eefc54", - "sha1": "4cf46e3cc2f8bc7fb019920ef0ff88c8d4541ef2", - "sha256": "c2910761bfe2eb3ec958d653bc518988a8ecc081628a07d11f3308e25fb8f05d", - "s3_etag": "046326b00d6cc7485eba093190ee7610-20", - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_93ce1f3e-a963-5463-948f-44751a37f48d" - }, - "sequence_file/98ee0901-d34c-48a5-915a-0511bac325ec": { - "name": "IDC9_L003_R2.fastq.gz", - "uuid": "c4613a58-8bfb-43c6-8901-35d579631859", - "version": "2019-09-24T09:35:08.872601Z", - "content-type": "application/gzip", - "size": 4278033574, - "indexed": false, - "crc32c": "8644e13b", - "sha1": "b851d8660a9dc81813f6d31d75e7b248241b575f", - "sha256": "3813e23040c8e6a26a43fd1f164b2ec1d118e8f52b9d4510640f990d8e969dd8", - "s3_etag": "3188a7180ba75349ca223905e3f589c1-64", - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_e6c1d2ce-d6ad-500e-8682-626a555992ab" - }, - "sequence_file/3dffc456-caaf-4823-9f65-fc0db7abacbc": { - "name": "IDC9_L003_I1.fastq.gz", - "uuid": "dd7d84d2-c515-489f-9ead-3f7df2c66848", - "version": "2019-09-24T09:35:08.401689Z", - "content-type": "application/gzip", - "size": 442526139, - "indexed": false, - "crc32c": "7aaeea0b", - "sha1": "7e0667acc57bba6e57022d6e9e31dfa86f401ac1", - "sha256": "17456db03c93cef439a31b1a43f3165db4f27a1dc93dbc76263beb5d002a0530", - "s3_etag": "d7046367bee15cd004af8f9882874042-7", - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_bb455f5a-a70f-5155-85a0-46f475856e9f" - }, - "sequence_file/6ca8e43f-5f40-4eb9-bfa9-294c54dbeade": { - "name": "IDC9_L002_R2.fastq.gz", - "uuid": "ea44789f-43b3-4684-b515-800605394177", - "version": "2019-09-24T09:35:08.227847Z", - "content-type": "application/gzip", - "size": 4151699736, - "indexed": false, - "crc32c": "340ea243", - "sha1": "5d0217eedef4e8b60f0730de08c845b50890a2f9", - "sha256": "e65d5d070584e7b08847fac0be1f89b7760ee9b301df792a66e5698d7d76d7f5", - "s3_etag": "29da5762d5a55b9ecbd14c8663039f11-62", - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_f140bd59-16c2-5082-aaf6-1c929e7063c6" - }, - "sequence_file/35e07477-76cb-4a92-99b6-7b3bbb02ec06": { - "name": "IDC9_L002_I1.fastq.gz", - "uuid": "ed7405bd-c1d0-4501-9a7a-7e953d887322", - "version": "2019-09-24T09:35:07.845958Z", - "content-type": "application/gzip", - "size": 432714077, - "indexed": false, - "crc32c": "d90b80a2", - "sha1": "9a51a048fa73b59aa84f2a6b300bf3c57fb70346", - "sha256": "45ada227726e92de0638c50f4c2ac20ff3e2250f1138b436112d91d20fed19a3", - "s3_etag": "4077676da51c8b6eff706b1ebf43114c-7", - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_b644bacb-5e69-5f73-baaf-f32178b0d0fd" - }, - "sequence_file/27fc1a2e-d70e-47ee-a4b7-92bf57e5b7a6": { - "name": "IDC9_L004_I1.fastq.gz", - "uuid": "f0011946-dbea-4f87-9858-5e3fd32a9829", - "version": "2019-09-24T09:35:09.172703Z", - "content-type": "application/gzip", - "size": 439983276, - "indexed": false, - "crc32c": "ee474d23", - "sha1": "9a726b1fcd446ad3777e5537d4ee809fa393b8b5", - "sha256": "8af97d885b995e7239a409f490e915f4754e7d1902f4a620f464995a422fb61f", - "s3_etag": "20497e6cbc5f671fa94cf69bf0febdad-7", - "drs_uri": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_a694f8a4-424d-56db-9329-d449667416ea" - } - }, - "metadata": { - "cell_suspension/906f8f09-deaa-40bb-bf50-27d2336b2dc4": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "cellsuspension3", - "biomaterial_name": "CD45+ HLA-DR+ d9 iDCs", - "biomaterial_description": "Induced Dendritic cells at reprogramming day 9", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "Reprogrammed dendritic cell", - "ontology": "CL:0000451", - "ontology_label": "dendritic cell" - } - ], - "provenance": { - "document_id": "906f8f09-deaa-40bb-bf50-27d2336b2dc4", - "submission_date": "2019-09-20T13:43:45.365Z", - "update_date": "2019-09-20T13:43:52.387Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "specimen_from_organism/d6a518a8-0c5d-4cb0-aed5-68f3455c2bda": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Specimen1", - "biomaterial_name": "Fibroblasts", - "biomaterial_description": "Human Embryonic Fibroblasts", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "embryo", - "ontology": "UBERON:0000922", - "ontology_label": "embryo" - }, - "organ_parts": [ - { - "text": "skin epidermis", - "ontology": "UBERON:0001003", - "ontology_label": "skin epidermis" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "collection_time": "2018-06-19", - "provenance": { - "document_id": "d6a518a8-0c5d-4cb0-aed5-68f3455c2bda", - "submission_date": "2019-09-20T13:43:45.329Z", - "update_date": "2019-09-20T13:43:52.654Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "cell_line/70054038-cb12-429d-bb37-69185ff1deee": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/14.5.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Cell_line_2", - "biomaterial_name": "CD45+ HLA-DR+ d9 iDCs", - "biomaterial_description": "Induced Dendritic cells at reprogramming day 9", - "ncbi_taxon_id": [ - 9606 - ] - }, - "type": "primary", - "model_organ": { - "text": "immune system", - "ontology": "UBERON:0002405", - "ontology_label": "immune system" - }, - "growth_conditions": { - "growth_medium": "Dulbecco\u2019s modified Eagle\u2019s medium supplemented with 10% (v/v) FBS, 2 mM l-glutamine, and antibiotics (penicillin and streptomycin, 10 \uf06dg/ml)", - "culture_environment": "Adherent cell culture" - }, - "cell_type": { - "text": "dendritic cell", - "ontology": "CL:0000451", - "ontology_label": "dendritic cell" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "provenance": { - "document_id": "70054038-cb12-429d-bb37-69185ff1deee", - "submission_date": "2019-09-20T13:43:45.344Z", - "update_date": "2019-09-20T13:43:52.455Z", - "schema_major_version": 14, - "schema_minor_version": 5 - } - }, - "donor_organism/2b7adb0a-82a4-4319-80d1-4a73d879dec1": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Donor1", - "biomaterial_name": "Donor 1", - "biomaterial_description": "Human embryo donor", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "unknown", - "is_living": "no", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "gestational_age": "8.5", - "gestational_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "6.5 week-old human embryo", - "ontology": "HsapDv:0000025", - "ontology_label": "Carnegie stage 18" - }, - "death": { - "cause_of_death": "Unkown", - "cold_perfused": false - }, - "provenance": { - "document_id": "2b7adb0a-82a4-4319-80d1-4a73d879dec1", - "submission_date": "2019-09-20T13:43:45.321Z", - "update_date": "2019-09-20T13:43:52.612Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "sequence_file/5f68ea73-350b-4d37-a341-3004139fb699": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L001_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "23b88d6cfe7a0841e1c08e9c4db83ede" - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "5f68ea73-350b-4d37-a341-3004139fb699", - "submission_date": "2019-09-20T13:43:45.625Z", - "update_date": "2019-09-20T13:50:35.660Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/23f8e139-f4fa-4476-ba59-ff5d37003c34": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L001_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "196b3da7c89c8a36a0aa4b96dc5c84e0" - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 26, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "23f8e139-f4fa-4476-ba59-ff5d37003c34", - "submission_date": "2019-09-20T13:43:45.633Z", - "update_date": "2019-09-20T13:50:08.455Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/3c3d882a-cc38-4eea-ac53-0885f906852e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L001_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "ba420d4a2aa788fc5b063fd54b7e9a03" - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 98, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "3c3d882a-cc38-4eea-ac53-0885f906852e", - "submission_date": "2019-09-20T13:43:45.640Z", - "update_date": "2019-09-20T13:52:19.666Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/35e07477-76cb-4a92-99b6-7b3bbb02ec06": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L002_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "0eae5835837bc998310b561d0e1380d9" - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "35e07477-76cb-4a92-99b6-7b3bbb02ec06", - "submission_date": "2019-09-20T13:43:45.648Z", - "update_date": "2019-09-20T13:49:42.254Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/63051b9f-87d4-4853-a4a0-5cc742ef6e72": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L002_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "962cdc9a0188888d24bf007d86937665" - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 26, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "63051b9f-87d4-4853-a4a0-5cc742ef6e72", - "submission_date": "2019-09-20T13:43:45.656Z", - "update_date": "2019-09-20T13:50:59.836Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/6ca8e43f-5f40-4eb9-bfa9-294c54dbeade": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L002_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "4e034eb6725ea0e8492c9f2cac5e19b3" - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 98, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "6ca8e43f-5f40-4eb9-bfa9-294c54dbeade", - "submission_date": "2019-09-20T13:43:45.663Z", - "update_date": "2019-09-20T13:52:17.560Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/3dffc456-caaf-4823-9f65-fc0db7abacbc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L003_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "99891717a637f470f689c4ef14123550" - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "3dffc456-caaf-4823-9f65-fc0db7abacbc", - "submission_date": "2019-09-20T13:43:45.671Z", - "update_date": "2019-09-20T13:49:42.771Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/a2f4b05d-0dae-4655-acfd-ef3b91ae0ad0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L003_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "39bfe9e0769d4f805a79c6df3c51a4a6" - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 26, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "a2f4b05d-0dae-4655-acfd-ef3b91ae0ad0", - "submission_date": "2019-09-20T13:43:45.679Z", - "update_date": "2019-09-20T13:50:08.492Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/98ee0901-d34c-48a5-915a-0511bac325ec": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L003_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "5a4720812a69ff4548ff470a203ca5b5" - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 98, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "98ee0901-d34c-48a5-915a-0511bac325ec", - "submission_date": "2019-09-20T13:43:45.687Z", - "update_date": "2019-09-20T13:53:16.941Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/27fc1a2e-d70e-47ee-a4b7-92bf57e5b7a6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L004_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "17c8cdbee10398d47ca3216eb66ce5d9" - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "27fc1a2e-d70e-47ee-a4b7-92bf57e5b7a6", - "submission_date": "2019-09-20T13:43:45.696Z", - "update_date": "2019-09-20T13:50:35.338Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/133f2a25-f3aa-49a7-b9b6-d185d302fb26": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L004_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "3bbd35e4d37ac51511afe5abb335cfa2" - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 26, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "133f2a25-f3aa-49a7-b9b6-d185d302fb26", - "submission_date": "2019-09-20T13:43:45.704Z", - "update_date": "2019-09-20T13:51:28.379Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/e46af70a-0396-41db-9b74-330cb8244124": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L004_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "2144c0da57ef826ce3a919982196a168" - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 98, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "e46af70a-0396-41db-9b74-330cb8244124", - "submission_date": "2019-09-20T13:43:45.711Z", - "update_date": "2019-09-20T13:52:19.118Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "project/116965f3-f094-4769-9d28-ae675c1b569c": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Reprogrammed_Dendritic_Cells", - "project_title": "Single cell profiling of human induced dendritic cells generated by direct reprogramming of embryonic fibroblasts", - "project_description": "Dendritic cells (DCs) are professional antigen-presenting cells specialized in the recognition, processing and presentation of antigens to T-cells, inducing adaptive immune responses. We have identified PU.1, IRF8 and BATF3 transcription factors (TFs) to reprogram human fibroblasts into DC type 1 (DC1). Induced DCs acquire a step-wise DC1 transcriptional signature at the single cell level as assessed with droplet based scRNA-seq. Hence, we provide evidence that antigen presentation can be dynamically programmed by a small combination of TFs in human cells. Moreover, it represents a platform for generating autologous DC1, the most attractive DC subset for cancer immunotherapy." - }, - "contributors": [ - { - "name": "Filipe,,Pereira", - "email": "filipe.pereira@med.lu.se", - "phone": "+46 72 243 00 14", - "institution": "Lund University", - "laboratory": "Department of Laboratory Medicine", - "address": "S\u00f6lvegatan 17, BMC A12,\u00a0Lund", - "country": "Sweden", - "corresponding_contributor": true, - "project_role": { - "text": "Principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-9724-1382" - }, - { - "name": "F\u00e1bio,,Rosa", - "email": "fabio.rosa.1993@gmail.com", - "phone": "+351 914 765 335", - "institution": "Lund University", - "laboratory": "Department of Laboratory Medicine", - "address": "S\u00f6lvegatan 17, BMC A12,\u00a0Lund", - "country": "Sweden", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-7714-5852" - }, - { - "name": "Cristiana,,Pires", - "email": "cristiana.pires@med.lu.se", - "phone": "+351 916 838 690", - "institution": "Lund University", - "laboratory": "Department of Laboratory Medicine", - "address": "S\u00f6lvegatan 17, BMC A12,\u00a0Lund", - "country": "Sweden", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0003-3100-0903" - }, - { - "name": "Ilia,,Kurochkin", - "email": "ilia.kurochkin@skolkovotech.ru", - "phone": "+79 151 16 49 52", - "institution": "Skolkovo Institute of Science and Technology", - "laboratory": "Center for Neurobiology and Brain Restoration", - "address": "Moscow, 121205, Russia", - "country": "Russia", - "corresponding_contributor": false, - "project_role": { - "text": "Computational scientist", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0003-2985-6323" - }, - { - "name": "Enrique,,Sapena Ventura", - "email": "enrique@ebi.ac.uk", - "institution": "European Bioinformatics Institute", - "laboratory": "Human Cell Atlas Data coordination Platform", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "HCA Data Wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - } - ], - "funders": [ - { - "grant_title": "4-year career package: Wallenberg Centre for Molecular Medicine and Faculty of Medicine at Lund University", - "grant_id": "Not provided", - "organization": "Wallenberg Foundation" - }, - { - "grant_title": "Generating Dendritic Cells by Direct Reprogramming", - "grant_id": "20180864", - "organization": "Crafoord Foundation\u00a0(Lund)" - }, - { - "grant_title": "Generating Dendritic Cells by Direct Reprogramming", - "grant_id": "CAN 2017/745", - "organization": "Cancerfonden\u00a0(Lund)" - }, - { - "grant_title": "ReproDC: Generating Antigen Presenting Cells by Direct Reprogramming", - "grant_id": "CENTRO-01-0145-FEDER-030013", - "organization": "FCT\u00a0Funda\u00e7\u00e3o para a Ci\u00eancia e Tecnologia (Lisbon)" - }, - { - "grant_title": "Generating Dendritic Cells by Direct Cell Reprogramming", - "grant_id": "2018-02442", - "organization": "Swedish research council\u00a0(Lund)" - } - ], - "provenance": { - "document_id": "116965f3-f094-4769-9d28-ae675c1b569c", - "submission_date": "2019-10-03T10:54:38.894Z", - "update_date": "2019-10-03T10:54:44.192Z", - "schema_major_version": 14, - "schema_minor_version": 1 - } - }, - "library_preparation_protocol/2945bb1f-90de-42a3-afa1-f57a62c853f0": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "SingleCell3_ReagentKitv2", - "protocol_name": "10x-Genomics v2 library preparation", - "protocol_description": "10x-Genomics v2 libraries were prepared according to manufacturer\u2019s instructions." - }, - "input_nucleic_acid_molecule": { - "text": "mRNA", - "ontology": "CHEBI:33699", - "ontology_label": "messenger RNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_method": { - "text": "10X v2 sequencing", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "second", - "provenance": { - "document_id": "2945bb1f-90de-42a3-afa1-f57a62c853f0", - "submission_date": "2019-09-20T13:43:45.399Z", - "update_date": "2019-09-20T13:43:52.078Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "sequencing_protocol/08b09d15-ef99-4278-9b88-65127adb51b9": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Illumina_NextSeq", - "protocol_name": "Illumina NextSeq sequencing", - "protocol_description": "10x-Genomics v2 libraries were sequence on na Ilumina NextSeq according to manufacturer\u2019s instructions." - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0009173", - "ontology_label": "Illumina NextSeq 500" - }, - "local_machine_name": "NB502004", - "paired_end": false, - "method": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "10x": { - "fastq_method": "Cellranger mkfastq", - "fastq_method_version": "Cellranger 2.2.0", - "pooled_channels": 4.0 - }, - "provenance": { - "document_id": "08b09d15-ef99-4278-9b88-65127adb51b9", - "submission_date": "2019-09-20T13:43:45.404Z", - "update_date": "2019-09-20T13:43:51.921Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - }, - "dissociation_protocol/eaf15851-97e3-4e4b-b81b-0e625098f4d5": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HEF_Dissociation", - "protocol_name": "Dissociation of human embryonic fibroblasts", - "protocol_description": "Fibroblasts were dissociated using trypsin to generate a single cell suspension." - }, - "method": { - "text": "Enzymatic dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "provenance": { - "document_id": "eaf15851-97e3-4e4b-b81b-0e625098f4d5", - "submission_date": "2019-09-20T13:43:45.376Z", - "update_date": "2019-09-20T13:43:52.077Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "enrichment_protocol/345bcbd2-f3a7-4f57-a806-fbb0ce4a25da": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "iDC_d9_Enrichment", - "protocol_name": "Enrichment of reprogrammed dendritic cells at day 9", - "protocol_description": "PU.1, IRF8 and BATF3 (PIB)-transduced human embryonic fibroblasts were FACS sorted and collected at day 9 (CD45+ HLA-DR+ cells) for single cell profilling." - }, - "method": { - "text": "FACS sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD45+ HLA-DR+", - "provenance": { - "document_id": "345bcbd2-f3a7-4f57-a806-fbb0ce4a25da", - "submission_date": "2019-09-20T13:43:45.392Z", - "update_date": "2019-09-20T13:43:52.381Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - }, - "collection_protocol/8612862e-beb1-416b-a807-0a83fae8d168": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HEF_collection", - "protocol_name": "Isolation of human embryonic fibroblasts", - "protocol_description": "After removal of the central nervous system, spinal ganglia and internal organs, residual embryonic tissue was transferred several times to a clean petri dish containing sterile cold hibernation medium to remove contaminant cells. The epidermis was then carefully removed by tearing the tissue with sterile forceps (at this point another set of sterile forceps was employed to avoid cell-contaminants from other organs). Sub-dissected epidermis was washed several times with hibernation medium prior seeding to a 0.1% gelatin-coated flask in HEF medium (DMEM-GlutaMAX, 5% FBS, 1% Sodium Puryvate, 1% Non-essential amino acids) supplemented with 50 ug/ml Gentamicin." - }, - "method": { - "text": "Dissection", - "ontology": "EFO:0003856", - "ontology_label": "dissection" - }, - "provenance": { - "document_id": "8612862e-beb1-416b-a807-0a83fae8d168", - "submission_date": "2019-09-20T13:43:45.371Z", - "update_date": "2019-09-20T13:43:52.146Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/15de6ce1-c185-4852-ade4-43614c5d048b": { - "start_time": "2019.01.21", - "process_core": { - "process_id": "IDC9" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "15de6ce1-c185-4852-ade4-43614c5d048b", - "submission_date": "2019-09-20T13:43:45.768Z", - "update_date": "2019-09-20T13:43:52.606Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/47ca0565-ab7d-42bd-8731-ce5d30cfd6c7": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "47ca0565-ab7d-42bd-8731-ce5d30cfd6c7", - "submission_date": "2019-09-20T13:43:45.749Z", - "update_date": "2019-09-20T13:43:52.438Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/df5114c9-9f52-451b-afde-3673392fc864": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "df5114c9-9f52-451b-afde-3673392fc864", - "submission_date": "2019-09-20T13:43:45.718Z", - "update_date": "2019-09-20T13:43:52.607Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/c5cf9180-535a-4d1c-bdee-4f6ce7845b1e": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "c5cf9180-535a-4d1c-bdee-4f6ce7845b1e", - "submission_date": "2019-09-20T13:43:45.731Z", - "update_date": "2019-09-20T13:43:52.368Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "supplementary_file/22561f93-d5e0-57eb-a54e-2d9d565cc234": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file/supplementary_file", - "schema_type": "file", - "provenance": { - "document_id": "22561f93-d5e0-57eb-a54e-2d9d565cc234", - "submission_date": "2019-09-24T09:35:06.958773Z" - }, - "file_core": { - "file_name": "22561f93-d5e0-57eb-a54e-2d9d565cc234_file_name.fmt", - "format": "unknown" - } - }, - "supplementary_file/507d2814-1688-54e7-b73e-2f831aa34368": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file/supplementary_file", - "schema_type": "file", - "provenance": { - "document_id": "507d2814-1688-54e7-b73e-2f831aa34368", - "submission_date": "2019-09-24T09:35:06.958773Z" - }, - "file_core": { - "file_name": "507d2814-1688-54e7-b73e-2f831aa34368_file_name.fmt", - "format": "unknown" - } - }, - "supplementary_file/c343a47d-683f-571d-99c4-1331841b4e63": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file/supplementary_file", - "schema_type": "file", - "provenance": { - "document_id": "c343a47d-683f-571d-99c4-1331841b4e63", - "submission_date": "2019-09-24T09:35:06.958773Z" - }, - "file_core": { - "file_name": "c343a47d-683f-571d-99c4-1331841b4e63_file_name.fmt", - "format": "unknown" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.5/links", - "schema_type": "links", - "schema_version": "2.0.0", - "links": [ - { - "inputs": [ - { - "input_id": "906f8f09-deaa-40bb-bf50-27d2336b2dc4", - "input_type": "cell_suspension" - } - ], - "outputs": [ - { - "output_id": "5f68ea73-350b-4d37-a341-3004139fb699", - "output_type": "sequence_file" - }, - { - "output_id": "23f8e139-f4fa-4476-ba59-ff5d37003c34", - "output_type": "sequence_file" - }, - { - "output_id": "3c3d882a-cc38-4eea-ac53-0885f906852e", - "output_type": "sequence_file" - }, - { - "output_id": "35e07477-76cb-4a92-99b6-7b3bbb02ec06", - "output_type": "sequence_file" - }, - { - "output_id": "63051b9f-87d4-4853-a4a0-5cc742ef6e72", - "output_type": "sequence_file" - }, - { - "output_id": "6ca8e43f-5f40-4eb9-bfa9-294c54dbeade", - "output_type": "sequence_file" - }, - { - "output_id": "3dffc456-caaf-4823-9f65-fc0db7abacbc", - "output_type": "sequence_file" - }, - { - "output_id": "a2f4b05d-0dae-4655-acfd-ef3b91ae0ad0", - "output_type": "sequence_file" - }, - { - "output_id": "98ee0901-d34c-48a5-915a-0511bac325ec", - "output_type": "sequence_file" - }, - { - "output_id": "27fc1a2e-d70e-47ee-a4b7-92bf57e5b7a6", - "output_type": "sequence_file" - }, - { - "output_id": "133f2a25-f3aa-49a7-b9b6-d185d302fb26", - "output_type": "sequence_file" - }, - { - "output_id": "e46af70a-0396-41db-9b74-330cb8244124", - "output_type": "sequence_file" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "2945bb1f-90de-42a3-afa1-f57a62c853f0" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "08b09d15-ef99-4278-9b88-65127adb51b9" - } - ], - "process_id": "15de6ce1-c185-4852-ade4-43614c5d048b", - "process_type": "process", - "link_type": "process_link" - }, - { - "inputs": [ - { - "input_id": "d6a518a8-0c5d-4cb0-aed5-68f3455c2bda", - "input_type": "specimen_from_organism" - }, - { - "input_id": "70054038-cb12-429d-bb37-69185ff1deee", - "input_type": "cell_line" - } - ], - "outputs": [ - { - "output_id": "906f8f09-deaa-40bb-bf50-27d2336b2dc4", - "output_type": "cell_suspension" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "eaf15851-97e3-4e4b-b81b-0e625098f4d5" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "345bcbd2-f3a7-4f57-a806-fbb0ce4a25da" - } - ], - "process_id": "47ca0565-ab7d-42bd-8731-ce5d30cfd6c7", - "process_type": "process", - "link_type": "process_link" - }, - { - "inputs": [ - { - "input_id": "2b7adb0a-82a4-4319-80d1-4a73d879dec1", - "input_type": "donor_organism" - } - ], - "outputs": [ - { - "output_id": "d6a518a8-0c5d-4cb0-aed5-68f3455c2bda", - "output_type": "specimen_from_organism" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "8612862e-beb1-416b-a807-0a83fae8d168" - } - ], - "process_id": "df5114c9-9f52-451b-afde-3673392fc864", - "process_type": "process", - "link_type": "process_link" - }, - { - "inputs": [ - { - "input_id": "d6a518a8-0c5d-4cb0-aed5-68f3455c2bda", - "input_type": "specimen_from_organism" - } - ], - "outputs": [ - { - "output_id": "70054038-cb12-429d-bb37-69185ff1deee", - "output_type": "cell_line" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "eaf15851-97e3-4e4b-b81b-0e625098f4d5" - } - ], - "process_id": "c5cf9180-535a-4d1c-bdee-4f6ce7845b1e", - "process_type": "process", - "link_type": "process_link" - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "116965f3-f094-4769-9d28-ae675c1b569c" - }, - "files": [ - { - "file_type": "supplementary_file", - "file_id": "22561f93-d5e0-57eb-a54e-2d9d565cc234" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "116965f3-f094-4769-9d28-ae675c1b569c" - }, - "files": [ - { - "file_type": "supplementary_file", - "file_id": "507d2814-1688-54e7-b73e-2f831aa34368" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "116965f3-f094-4769-9d28-ae675c1b569c" - }, - "files": [ - { - "file_type": "supplementary_file", - "file_id": "c343a47d-683f-571d-99c4-1331841b4e63" - } - ] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/1ed68210-eaba-531d-ba9e-db80164d65ef.dss.hca.json b/test/indexer/data/1ed68210-eaba-531d-ba9e-db80164d65ef.dss.hca.json deleted file mode 100644 index 3465220f81..0000000000 --- a/test/indexer/data/1ed68210-eaba-531d-ba9e-db80164d65ef.dss.hca.json +++ /dev/null @@ -1,592 +0,0 @@ -{ - "manifest": { - "sequence_file/8da4bdb9-ab64-5a90-8bce-f0ed5106ea41": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "9d9e936d", - "indexed": false, - "name": "Test_S1_L001_R2_001.fastq.gz", - "s3_etag": "18a8d5c488bc4ab2a8656fc308a3a360", - "sha1": "0d7c00b87bfc4fb438d5ad25782374eb67292634", - "sha256": "c77ff3d48b3c2d35a69017e92ca5e885c36933ddf2090e85dc74ce46d1f01071", - "size": 275, - "uuid": "c88f5811-6b23-5f9c-951f-29b4a80e6b4b", - "version": "2021-01-01T00:00:00.000000Z" - }, - "sequence_file/de17aa7d-be28-53c1-b7a3-1f4b3989e3e6": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "e30fa683", - "indexed": false, - "name": "Test_S1_L001_R1_001.fastq.gz", - "s3_etag": "29c85872a56b7d675b9fe45ddf38e372", - "sha1": "112e59ff16f4df917b1b17d44f087db55bfee787", - "sha256": "c64bda257c7700fd0f0c4ef29aa54d21759e3024e37546549a97ed2482fbe7f1", - "size": 275, - "uuid": "14c05ce3-f946-5936-893c-ee0ddd7407fb", - "version": "2021-01-01T00:00:00.000000Z" - } - }, - "metadata": { - "project/90bf705c-d891-5ce2-aa54-094488b445c6": { - "array_express_accessions": [ - "E-MTAB-10026" - ], - "contributors": [ - { - "corresponding_contributor": true, - "email": "m.a.haniffa@ncl.ac.uk", - "institution": "Newcastle University", - "name": "Muzlifah,,Hannifa", - "project_role": { - "text": "principal investigator" - } - } - ], - "dbgap_accessions": [ - "phs001997.v1.p1", - "phs001836" - ], - "describedBy": "https://schema.staging.data.humancellatlas.org/type/project/17.0.0/project", - "ega_accessions": [ - "EGAS00000000001", - "EGAD00000000002" - ], - "estimated_cell_count": 10000, - "funders": [ - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome Human Cell Atlas Strategic Science Support" - }, - { - "grant_id": "WT107931/Z/15/Z", - "organization": "Wellcome" - }, - { - "grant_id": "206328/Z/17/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S036113/1", - "organization": "MRC" - }, - { - "grant_id": "WT206194", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S0358421/1", - "organization": "MRC" - }, - { - "grant_id": "C9545/A29580", - "organization": "CRUK" - }, - { - "grant_id": "21777", - "organization": "Versus Arthiritis Cure Challenge Research Grant" - }, - { - "grant_id": "RP-2017-08-ST2-002", - "organization": "NIHR" - }, - { - "grant_id": "21355/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "2017-174169", - "organization": "CZI" - }, - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/5005579/1", - "organization": "UK Regenerative Medicine Platform" - }, - { - "grant_id": "CL-2017-01-004", - "organization": "NIHR" - }, - { - "grant_id": "ME 5209/1-1", - "organization": "DFG Research Fellowship" - }, - { - "grant_id": "21115", - "organization": "Wellcome" - } - ], - "project_core": { - "project_description": "The COVID-19 pandemic, caused by SARS coronavirus 2 (SARS-CoV-2), has resulted in excess morbidity and mortality as well as economic decline. To characterise the systemic host immune response to SARS-CoV-2, we performed single-cell RNA-sequencing coupled with analysis of cell surface proteins, providing molecular profiling of over 800,000 peripheral blood mononuclear cells from a cohort of 130 patients with COVID-19. Our cohort, from three UK centres, spans the spectrum of clinical presentations and disease severities ranging from asymptomatic to critical. Three control groups were included: healthy volunteers, patients suffering from a non-COVID-19 severe respiratory illness and healthy individuals administered with intravenous lipopolysaccharide to model an acute inflammatory response. Full single cell transcriptomes coupled with quantification of 188 cell surface proteins, and T and B lymphocyte antigen receptor repertoires have provided several insights into COVID-19: 1. a new non-classical monocyte state that sequesters platelets and replenishes the alveolar macrophage pool; 2. platelet activation accompanied by early priming towards megakaryopoiesis in immature haematopoietic stem/progenitor cells and expansion of megakaryocyte-primed progenitors; 3. increased clonally expanded CD8+ effector:effector memory T cells, and proliferating CD4+ and CD8+ T cells in patients with more severe disease; and 4. relative increase of IgA plasmablasts in asymptomatic stages that switches to expansion of IgG plasmablasts and plasma cells, accompanied with higher incidence of BCR sharing, as disease severity increases. All data and analysis results are available for interrogation and data mining through an intuitive web portal. Together, these data detail the cellular processes present in peripheral blood during an acute immune response to COVID-19, and serve as a template for multi-omic single cell data integration across multiple centers to rapidly build powerful resources to help combat diseases such as COVID-19.", - "project_short_name": "Covid19PBMC", - "project_title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres" - }, - "provenance": { - "document_id": "90bf705c-d891-5ce2-aa54-094488b445c6", - "schema_major_version": 17, - "schema_minor_version": 0, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "publications": [ - { - "authors": [ - "Muzlifa Hannifa" - ], - "doi": "10.1101/2021.01.13.21249725", - "official_hca_publication": true, - "pmid": 33879890, - "title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres", - "url": "https://www.medrxiv.org/content/10.1101/2021.01.13.21249725v1.full" - } - ], - "schema_type": "project" - }, - "process/1ed68210-eaba-531d-ba9e-db80164d65ef": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "1ed68210-eaba-531d-ba9e-db80164d65ef", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/37e91a9f-b04e-5313-bbc0-4c394406247e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "37e91a9f-b04e-5313-bbc0-4c394406247e", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/b0092a47-b19d-5b34-b004-cb8edd8c625b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "b0092a47-b19d-5b34-b004-cb8edd8c625b", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/bd6a4a38-c44b-5d17-b2b1-d0d4c4531bf0": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "bd6a4a38-c44b-5d17-b2b1-d0d4c4531bf0", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "cell_suspension/119c4135-7b77-5003-a150-f052e22c6834": { - "biomaterial_core": { - "biomaterial_id": "AP2CS_pre", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "estimated_cell_count": 40000, - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "provenance": { - "document_id": "119c4135-7b77-5003-a150-f052e22c6834", - "schema_major_version": 13, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "selected_cell_types": [ - { - "ontology": "CL:2000001", - "ontology_label": "peripheral blood mononuclear cell", - "text": "peripheral blood mononuclear cell" - } - ] - }, - "cell_suspension/6ff38054-9296-5d4c-b238-6a3b01a15175": { - "biomaterial_core": { - "biomaterial_id": "AP3CS", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "estimated_cell_count": 20000, - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "provenance": { - "document_id": "6ff38054-9296-5d4c-b238-6a3b01a15175", - "schema_major_version": 13, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "selected_cell_types": [ - { - "ontology": "CL:2000001", - "ontology_label": "peripheral blood mononuclear cell", - "text": "peripheral blood mononuclear cell" - } - ] - }, - "sequence_file/8da4bdb9-ab64-5a90-8bce-f0ed5106ea41": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/9.5.0/sequence_file", - "file_core": { - "file_name": "Test_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "provenance": { - "document_id": "8da4bdb9-ab64-5a90-8bce-f0ed5106ea41", - "schema_major_version": 9, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "read_index": "read2", - "schema_type": "file" - }, - "sequence_file/de17aa7d-be28-53c1-b7a3-1f4b3989e3e6": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/9.5.0/sequence_file", - "file_core": { - "file_name": "Test_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "provenance": { - "document_id": "de17aa7d-be28-53c1-b7a3-1f4b3989e3e6", - "schema_major_version": 9, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "read_index": "read1", - "schema_type": "file" - }, - "library_preparation_protocol/767282b2-2fc1-5559-b020-29686b810206": { - "cell_barcode": { - "barcode_length": 16, - "barcode_offset": 0, - "barcode_read": "Read 1" - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/sequencing/6.3.1/library_preparation_protocol", - "end_bias": "3 prime tag", - "input_nucleic_acid_molecule": { - "text": "polyA RNA" - }, - "library_construction_method": { - "ontology": "EFO:0009922", - "ontology_label": "10x 3' v3", - "text": "10xV3" - }, - "nucleic_acid_source": "single cell", - "protocol_core": { - "protocol_description": "Half a million viable cells were resuspended in 25 \u0152\u00bal of FACS buffer and incubated with 2.5 \u0152\u00bal of Human TruStain FcX\u201a\u00d1\u00a2 Fc Blocking Reagent (BioLegend 422302) for 10 min at 4oC. The TotalSeq-C\u201a\u00d1\u00a2 antibody cocktail (BioLegend 99813) was centrifuged at 14,000g at 4\u02daC for 1 min, resuspended in 52ul of FACS buffer, incubated at room temperature for 5 minutes and centrifuged at 14,000g at 4\u00ac\u221eC for 10 min. 25ul were subsequently added to each sample pool and incubated for 30 min at 4\u02daC in the dark. Pools were washed 3 times with 27 volumes (1.4 ml) of FACS buffer, followed by centrifugation at 500 g for 5 minutes. The pellet was resuspended in 62.5 \u00b5l of 1 x PBS + 0.04 % BSA (Ambion, #AM2616), filtered through a 40 \u0152\u00bam cell strainer (Flowmi H13680-0040) and the viability of each sample pool was assessed. 50,000 live cells (up to a maximum of 60,000 total cells) for each pool were processed using Single Cell VDJ 5' version 1.1 (1000020) together with Single Cell 5' Feature Barcode library kit (1000080), Single Cell V(D)J Enrichment Kit, Human B Cells (1000016) and Single Cell V(D)J Enrichment Kit, Human T Cells (1000005) (10x Genomics) according to the manufacturer's protocols. The samples were subjected to 12 cycles of cDNA amplification and 8 cycles for the cell surface protein library construction. Following this, the libraries were processed according to the manufacturer's protocol. Libraries were pooled per sample using a ratio 9:2.4:1:0.6 for gene expression, cell surface, TCR enriched and BCR enriched libraries.", - "protocol_id": "Cambridge_LibraryPrep", - "protocol_name": "Cambridge SingleCell VDJ 5' 1.1" - }, - "provenance": { - "document_id": "767282b2-2fc1-5559-b020-29686b810206", - "schema_major_version": 6, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol", - "strand": "first", - "umi_barcode": { - "barcode_length": 12, - "barcode_offset": 16, - "barcode_read": "Read 1" - } - }, - "sequencing_protocol/1b8dfafd-178f-5826-a661-8a022334aaeb": { - "10x": { - "fastq_method": "Cellranger", - "fastq_method_version": "Cellranger 4.0", - "pooled_channels": 4.0 - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "instrument_manufacturer_model": { - "ontology_label": "EFO_0008637", - "text": "Illumina NovaSeq 6000" - }, - "local_machine_name": "Illumina NovaSeq 6000", - "method": { - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing", - "text": "tag based single cell RNA sequencing" - }, - "paired_end": true, - "protocol_core": { - "protocol_description": "Samples were sequenced using a NovaSeq 6000 (Illumina), using S1 flowcells.", - "protocol_id": "Cambridge_Sequencing" - }, - "provenance": { - "document_id": "1b8dfafd-178f-5826-a661-8a022334aaeb", - "schema_major_version": 10, - "schema_minor_version": 1, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - }, - "specimen_from_organism/3bee0c9a-aced-52f2-b97f-89518f826b36": { - "biomaterial_core": { - "biomaterial_id": "AP2_specimen", - "biomaterial_name": "AP2_specimen", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/10.5.0/specimen_from_organism", - "diseases": [ - { - "ontology": "MONDO:0100096", - "ontology_label": "COVID-19", - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "organ": { - "ontology": "UBERON:0000178", - "ontology_label": "blood", - "text": "blood" - }, - "provenance": { - "document_id": "3bee0c9a-aced-52f2-b97f-89518f826b36", - "schema_major_version": 10, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial" - }, - "enrichment_protocol/46435803-7ee8-5157-8569-8a61ad50c315": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "method": { - "ontology": "EFO:0009337", - "ontology_label": "cell size selection", - "text": "cell size selection" - }, - "protocol_core": { - "protocol_description": "Peripheral blood mononuclear cells (PBMCs) were isolated using Leucosep tubes (Greiner Bio-One) with Histopaque 1077 (Sigma) by centrifugation at 800x g for 15 minutes at room temperature. PBMCs at the interface were collected, rinsed twice with autoMACS running buffer (Miltenyi Biotech) and cryopreserved in FBS with 10% DMSO. All samples were processed within 4 hours of collection. Purified PBMCs were thawed at 37oC, transferred to a 50 mL tube and 10 volumes of pre-warmed thawing media (IMDM (Gibco 12440-053) with 50% (v/v) FCS (not heat inactivated; Panbiotech P40-37500) and 0.1 mg/ml DNaseI (Worthington LS002139)) were added slowly and dropwise, followed by centrifugation at 500g for 5 min. The pellet was resuspended in 1 ml of FACS buffer (PBS (Sigma D8537) with 3% (v/v) heat-inactivated FCS) and viability of each sample was assessed by counting in an improved Neubauer chamber using Trypan blue. Pools of 4 samples were generated by combining 0.5 million live cells per individual (2 million live cells total). The pools were washed twice in FACS buffer (10 mL and 2 mL, respectively) followed by centrifugation for 5 min at 500 g. The pellet was then resuspended in 35 \u0152\u00bal of FACS buffer and the viability of each pool was assessed.", - "protocol_id": "Cambridge_Enrichment" - }, - "provenance": { - "document_id": "46435803-7ee8-5157-8569-8a61ad50c315", - "schema_major_version": 3, - "schema_minor_version": 1, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - }, - "donor_organism/5bc2bf2f-eb98-5510-a386-172cef38f2f2": { - "biomaterial_core": { - "biomaterial_id": "AP2", - "biomaterial_name": "Sanger_AP2", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/15.6.1/donor_organism", - "development_stage": { - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage", - "text": "human adult stage" - }, - "diseases": [ - { - "ontology": "MONDO:0100096", - "ontology_label": "COVID-19", - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "is_living": "yes", - "organism_age": "66", - "organism_age_unit": { - "ontology": "UO:0000036", - "ontology_label": "year", - "text": "year" - }, - "provenance": { - "document_id": "5bc2bf2f-eb98-5510-a386-172cef38f2f2", - "schema_major_version": 15, - "schema_minor_version": 6, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "sex": "unknown" - }, - "collection_protocol/e7f864e3-6ba7-53c8-842f-2a05cb90e1b7": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "method": { - "ontology": "EFO:0009121", - "ontology_label": "blood draw", - "text": "blood draw" - }, - "protocol_core": { - "protocol_description": "Study participants were recruited between 31/3/2020 and 20/7/2020 from patients attending Addenbrooke\u2019s Hospital with a suspected or nucleic acid amplification test (NAAT) confirmed diagnosis of COVID-19 (including point of care testing (Collier et al., 2020; Mlcochova et al., 2020)), patients admitted to Royal Papworth Hospital NHS Foundation Trust or Cambridge and Peterborough Foundation Trust with a confirmed diagnosis of COVID-19, together with Health Care Workers identified through staff screening as PCR positive for SARS-CoV-2 (Rivett et al., 2020). Controls were recruited among hospital staff attending Addenbrooke\u2019s serology screening programme, and selected to cover the whole age spectrum of COVID-19 positive study participants, across both genders. Only controls with negative serology results (45 out of 47) were subsequently included in the study. Recruitment of inpatients at Addenbrooke\u2019s Hospital and Health Care Workers was undertaken by the NIHR Cambridge Clinical Research Facility outreach team and the NIHR BioResource research nurse team. Ethical approval was obtained from the East of England \u2013 Cambridge Central Research Ethics Committee (\u201cNIHR BioResource\u201d REC ref 17/EE/0025, and \u201cGenetic variation AND Altered Leukocyte Function in health and disease - GANDALF\u201d REC ref 08/H0308/176). All participants provided informed consent. Each participant provided 27 mL of peripheral venous blood collected into a 9 mL sodium citrate tube.", - "protocol_id": "Cambridge_Collection" - }, - "provenance": { - "document_id": "e7f864e3-6ba7-53c8-842f-2a05cb90e1b7", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - } - }, - "links": { - "describedBy": "https://schema.staging.data.humancellatlas.org/system/3.1.0/links", - "links": [ - { - "inputs": [ - { - "input_id": "6ff38054-9296-5d4c-b238-6a3b01a15175", - "input_type": "cell_suspension" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "de17aa7d-be28-53c1-b7a3-1f4b3989e3e6", - "output_type": "sequence_file" - }, - { - "output_id": "8da4bdb9-ab64-5a90-8bce-f0ed5106ea41", - "output_type": "sequence_file" - } - ], - "process_id": "1ed68210-eaba-531d-ba9e-db80164d65ef", - "process_type": "process", - "protocols": [ - { - "protocol_id": "767282b2-2fc1-5559-b020-29686b810206", - "protocol_type": "library_preparation_protocol" - }, - { - "protocol_id": "1b8dfafd-178f-5826-a661-8a022334aaeb", - "protocol_type": "sequencing_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "119c4135-7b77-5003-a150-f052e22c6834", - "input_type": "cell_suspension" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "6ff38054-9296-5d4c-b238-6a3b01a15175", - "output_type": "cell_suspension" - } - ], - "process_id": "b0092a47-b19d-5b34-b004-cb8edd8c625b", - "process_type": "process", - "protocols": [] - }, - { - "inputs": [ - { - "input_id": "3bee0c9a-aced-52f2-b97f-89518f826b36", - "input_type": "specimen_from_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "119c4135-7b77-5003-a150-f052e22c6834", - "output_type": "cell_suspension" - } - ], - "process_id": "bd6a4a38-c44b-5d17-b2b1-d0d4c4531bf0", - "process_type": "process", - "protocols": [ - { - "protocol_id": "46435803-7ee8-5157-8569-8a61ad50c315", - "protocol_type": "enrichment_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "5bc2bf2f-eb98-5510-a386-172cef38f2f2", - "input_type": "donor_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "3bee0c9a-aced-52f2-b97f-89518f826b36", - "output_type": "specimen_from_organism" - } - ], - "process_id": "37e91a9f-b04e-5313-bbc0-4c394406247e", - "process_type": "process", - "protocols": [ - { - "protocol_id": "e7f864e3-6ba7-53c8-842f-2a05cb90e1b7", - "protocol_type": "collection_protocol" - } - ] - } - ], - "schema_type": "links", - "schema_version": "3.1.0" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/1f6afb64-fa14-5c6f-a474-a742540108a3.dss.hca.json b/test/indexer/data/1f6afb64-fa14-5c6f-a474-a742540108a3.dss.hca.json deleted file mode 100644 index 4ef571c911..0000000000 --- a/test/indexer/data/1f6afb64-fa14-5c6f-a474-a742540108a3.dss.hca.json +++ /dev/null @@ -1,475 +0,0 @@ -{ - "manifest": { - "analysis_file/2645ed0a-a291-5fe2-a262-7b796b05d647": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "3c9d7a23", - "indexed": false, - "name": "visium-v2_coordinates.txt", - "s3_etag": "46337bd3bff47ed01eeab42a0fc1e6c1", - "sha1": "cf35f831a91913ee4ce3c332cfa742b7324c130a", - "sha256": "32877a18e11c353d5d88d5b4703fd79b3b5abef959039fdef396eb08484b46d5", - "size": 21, - "uuid": "b706259c-7429-5f2f-8142-2b8e9a48db1f", - "version": "2021-01-01T00:00:00.000000Z" - } - }, - "metadata": { - "project/90bf705c-d891-5ce2-aa54-094488b445c6": { - "array_express_accessions": [ - "E-MTAB-10026" - ], - "contributors": [ - { - "corresponding_contributor": true, - "email": "m.a.haniffa@ncl.ac.uk", - "institution": "Newcastle University", - "name": "Muzlifah,,Hannifa", - "project_role": { - "text": "principal investigator" - } - } - ], - "dbgap_accessions": [ - "phs001997.v1.p1", - "phs001836" - ], - "describedBy": "https://schema.staging.data.humancellatlas.org/type/project/17.0.0/project", - "ega_accessions": [ - "EGAS00000000001", - "EGAD00000000002" - ], - "estimated_cell_count": 10000, - "funders": [ - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome Human Cell Atlas Strategic Science Support" - }, - { - "grant_id": "WT107931/Z/15/Z", - "organization": "Wellcome" - }, - { - "grant_id": "206328/Z/17/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S036113/1", - "organization": "MRC" - }, - { - "grant_id": "WT206194", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S0358421/1", - "organization": "MRC" - }, - { - "grant_id": "C9545/A29580", - "organization": "CRUK" - }, - { - "grant_id": "21777", - "organization": "Versus Arthiritis Cure Challenge Research Grant" - }, - { - "grant_id": "RP-2017-08-ST2-002", - "organization": "NIHR" - }, - { - "grant_id": "21355/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "2017-174169", - "organization": "CZI" - }, - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/5005579/1", - "organization": "UK Regenerative Medicine Platform" - }, - { - "grant_id": "CL-2017-01-004", - "organization": "NIHR" - }, - { - "grant_id": "ME 5209/1-1", - "organization": "DFG Research Fellowship" - }, - { - "grant_id": "21115", - "organization": "Wellcome" - } - ], - "project_core": { - "project_description": "The COVID-19 pandemic, caused by SARS coronavirus 2 (SARS-CoV-2), has resulted in excess morbidity and mortality as well as economic decline. To characterise the systemic host immune response to SARS-CoV-2, we performed single-cell RNA-sequencing coupled with analysis of cell surface proteins, providing molecular profiling of over 800,000 peripheral blood mononuclear cells from a cohort of 130 patients with COVID-19. Our cohort, from three UK centres, spans the spectrum of clinical presentations and disease severities ranging from asymptomatic to critical. Three control groups were included: healthy volunteers, patients suffering from a non-COVID-19 severe respiratory illness and healthy individuals administered with intravenous lipopolysaccharide to model an acute inflammatory response. Full single cell transcriptomes coupled with quantification of 188 cell surface proteins, and T and B lymphocyte antigen receptor repertoires have provided several insights into COVID-19: 1. a new non-classical monocyte state that sequesters platelets and replenishes the alveolar macrophage pool; 2. platelet activation accompanied by early priming towards megakaryopoiesis in immature haematopoietic stem/progenitor cells and expansion of megakaryocyte-primed progenitors; 3. increased clonally expanded CD8+ effector:effector memory T cells, and proliferating CD4+ and CD8+ T cells in patients with more severe disease; and 4. relative increase of IgA plasmablasts in asymptomatic stages that switches to expansion of IgG plasmablasts and plasma cells, accompanied with higher incidence of BCR sharing, as disease severity increases. All data and analysis results are available for interrogation and data mining through an intuitive web portal. Together, these data detail the cellular processes present in peripheral blood during an acute immune response to COVID-19, and serve as a template for multi-omic single cell data integration across multiple centers to rapidly build powerful resources to help combat diseases such as COVID-19.", - "project_short_name": "Covid19PBMC", - "project_title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres" - }, - "provenance": { - "document_id": "90bf705c-d891-5ce2-aa54-094488b445c6", - "schema_major_version": 17, - "schema_minor_version": 0, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "publications": [ - { - "authors": [ - "Muzlifa Hannifa" - ], - "doi": "10.1101/2021.01.13.21249725", - "official_hca_publication": true, - "pmid": 33879890, - "title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres", - "url": "https://www.medrxiv.org/content/10.1101/2021.01.13.21249725v1.full" - } - ], - "schema_type": "project" - }, - "process/1f6afb64-fa14-5c6f-a474-a742540108a3": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "1f6afb64-fa14-5c6f-a474-a742540108a3", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/ae8529dc-3bc9-5061-828a-3c5dfacded64": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "ae8529dc-3bc9-5061-828a-3c5dfacded64", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/c6b932ff-69f1-58b1-a6e6-30319f04541b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "c6b932ff-69f1-58b1-a6e6-30319f04541b", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "imaged_specimen/0bf91a05-85df-5d7d-bcc0-a625c5921de2": { - "biomaterial_core": { - "biomaterial_id": "AP3_imagedspecimen", - "biomaterial_name": "AP3_imagedspecimen", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/3.3.0/imaged_specimen", - "provenance": { - "document_id": "0bf91a05-85df-5d7d-bcc0-a625c5921de2", - "schema_major_version": 3, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "slice_thickness": 10.0 - }, - "analysis_file/2645ed0a-a291-5fe2-a262-7b796b05d647": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/6.5.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:2012", - "ontology_label": "Sequence coordinates", - "text": "coordinates list" - } - ], - "file_name": "visium-v2_coordinates.txt", - "file_source": "ArrayExpress", - "format": "txt" - }, - "provenance": { - "document_id": "2645ed0a-a291-5fe2-a262-7b796b05d647", - "schema_major_version": 6, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_protocol/5e1fa49c-f0e9-5c2c-be16-386ccd60dfd7": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/analysis/10.0.0/analysis_protocol", - "protocol_core": { - "protocol_description": "10x Genomics Visium spatial sequencing samples were aligned to the human transcriptome GRCh38-3.0.0 reference (consistently with single-cell RNA-seq samples) using 10x Genomics SpaceRanger v.1.2.1 and exonic reads were used to produce mRNA count matrices for each sample. 10x Genomics SpaceRanger was also used to align paired histology images with mRNA capture spot positions in the Visium slide. The paired image was used to determine the average number of nuclei per Visium location in the tissue and used as a hyperparameter in the spatial mapping of cell type", - "protocol_id": "Visiumanalysis" - }, - "provenance": { - "document_id": "5e1fa49c-f0e9-5c2c-be16-386ccd60dfd7", - "schema_major_version": 10, - "schema_minor_version": 0, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol", - "type": { - "ontology": "EFO:0030025", - "ontology_label": "spatial analysis", - "text": "spatial analysis" - } - }, - "library_preparation_protocol/83f14748-af1c-57aa-9088-6cb1cdd4bba4": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/sequencing/6.3.1/library_preparation_protocol", - "end_bias": "3 prime end bias", - "input_nucleic_acid_molecule": { - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA", - "text": "polyA RNA" - }, - "library_construction_method": { - "ontology": "EFO:0010961", - "ontology_label": "Visium Spatial Gene Expression", - "text": "Visium Spatial Gene Expression" - }, - "nominal_length": 350, - "nominal_sdev": 50, - "nucleic_acid_source": "single nucleus", - "protocol_core": { - "protocol_description": "The Visium spatial gene expression protocol from 10X Genomics was performed using Library Preparation slide and following the manufacturer\u2019s protocol.After transcript capture, Visium Library Preparation Protocol from 10x Genomics was performed.", - "protocol_id": "HumanVisiumLibraryPrep" - }, - "provenance": { - "document_id": "83f14748-af1c-57aa-9088-6cb1cdd4bba4", - "schema_major_version": 6, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol", - "spatial_barcode": { - "barcode_length": 16, - "barcode_offset": 0, - "barcode_read": "Read 1" - }, - "strand": "second", - "umi_barcode": { - "barcode_length": 12, - "barcode_offset": 16, - "barcode_read": "Read 1" - } - }, - "specimen_from_organism/9a0bb729-552a-5f6e-9ed6-1f988c259531": { - "biomaterial_core": { - "biomaterial_id": "AP3_specimen", - "biomaterial_name": "AP2_specimen", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/10.5.0/specimen_from_organism", - "diseases": [ - { - "ontology": "MONDO:0100096", - "ontology_label": "COVID-19", - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "organ": { - "ontology": "UBERON:0000178", - "ontology_label": "blood", - "text": "blood" - }, - "provenance": { - "document_id": "9a0bb729-552a-5f6e-9ed6-1f988c259531", - "schema_major_version": 10, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial" - }, - "imaging_preparation_protocol/7cd840db-f395-5a61-bd17-72c2b2319c23": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/imaging/2.3.0/imaging_preparation_protocol", - "protocol_core": { - "protocol_description": "All tissues were sectioned using the Leica CX3050S cryostat and were cut at 10um. Tissue optimization was performed to obtain permeabilization time for fetal tissue (12 min).", - "protocol_id": "HumanVisiumSpatialLibraryPrep" - }, - "provenance": { - "document_id": "7cd840db-f395-5a61-bd17-72c2b2319c23", - "schema_major_version": 2, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - }, - "donor_organism/2d7b50d8-cd06-5408-9fde-1faed01c9ab2": { - "biomaterial_core": { - "biomaterial_id": "AP3", - "biomaterial_name": "Sanger_AP3", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/15.6.1/donor_organism", - "development_stage": { - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage", - "text": "human adult stage" - }, - "diseases": [ - { - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "is_living": "yes", - "organism_age": "66", - "organism_age_unit": { - "ontology": "UO:0000036", - "ontology_label": "year", - "text": "year" - }, - "provenance": { - "document_id": "2d7b50d8-cd06-5408-9fde-1faed01c9ab2", - "schema_major_version": 15, - "schema_minor_version": 6, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "sex": "unknown" - }, - "collection_protocol/c5752f73-3511-55e1-95af-040ab3924bce": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "method": { - "ontology": "EFO:0009121", - "ontology_label": "blood draw", - "text": "blood draw" - }, - "protocol_core": { - "protocol_description": "Subjects 18 years and older were included from two large hospital sites in London, United Kingdom, namely University College London Hospitals NHS Foundation Trust and Royal Free London NHS Foundation Trust during the height of the pandemic in the United Kingdom (April to July 2020). Ethical approval was given through the Living Airway Biobank, administered through UCL Great Ormond Street Institute of Child Health (REC reference: 19/NW/0171, IRAS project ID 261511), as well as by the local R&D departments at both hospitals. At daily virtual COVID-19 co-ordination meetings suitable patients were chosen from a list of newly diagnosed and admitted patients within the preceding 24 h (based on a positive nasopharyngeal swab for SARS-CoV-2). Patients with typical clinical and radiological COVID-19 features but with a negative screening test for SARS-CoV-2 were excluded. Other excluding criteria included active haematological malignancy or cancer, known immunodeficiencies, sepsis from any cause and blood transfusion within 4 weeks. Maximal severity of COVID-19 was determined retrospectively by determining the presence of symptoms, the need of oxygen supplementation and the level of respiratory support. Peripheral blood sampling was performed prior to inclusion to any pharmacological interventional trials.\n\nSamples were collected and transferred to a Category Level 3 facility at University College London and processed within 2 h of sample collection. Peripheral blood was centrifuged after adding Ficoll Paque Plus and PBMCs, serum and neutrophils separated, collected and frozen for later processing.", - "protocol_id": "UCL_Collection" - }, - "provenance": { - "document_id": "c5752f73-3511-55e1-95af-040ab3924bce", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - } - }, - "links": { - "describedBy": "https://schema.staging.data.humancellatlas.org/system/3.1.0/links", - "links": [ - { - "inputs": [ - { - "input_id": "0bf91a05-85df-5d7d-bcc0-a625c5921de2", - "input_type": "imaged_specimen" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "2645ed0a-a291-5fe2-a262-7b796b05d647", - "output_type": "analysis_file" - } - ], - "process_id": "1f6afb64-fa14-5c6f-a474-a742540108a3", - "process_type": "process", - "protocols": [ - { - "protocol_id": "5e1fa49c-f0e9-5c2c-be16-386ccd60dfd7", - "protocol_type": "analysis_protocol" - }, - { - "protocol_id": "83f14748-af1c-57aa-9088-6cb1cdd4bba4", - "protocol_type": "library_preparation_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "9a0bb729-552a-5f6e-9ed6-1f988c259531", - "input_type": "specimen_from_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "0bf91a05-85df-5d7d-bcc0-a625c5921de2", - "output_type": "imaged_specimen" - } - ], - "process_id": "ae8529dc-3bc9-5061-828a-3c5dfacded64", - "process_type": "process", - "protocols": [ - { - "protocol_id": "7cd840db-f395-5a61-bd17-72c2b2319c23", - "protocol_type": "imaging_preparation_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "2d7b50d8-cd06-5408-9fde-1faed01c9ab2", - "input_type": "donor_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "9a0bb729-552a-5f6e-9ed6-1f988c259531", - "output_type": "specimen_from_organism" - } - ], - "process_id": "c6b932ff-69f1-58b1-a6e6-30319f04541b", - "process_type": "process", - "protocols": [ - { - "protocol_id": "c5752f73-3511-55e1-95af-040ab3924bce", - "protocol_type": "collection_protocol" - } - ] - } - ], - "schema_type": "links", - "schema_version": "3.1.0" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/1fd499c5-f397-4bff-9af0-eb42c37d5fbe.dss.hca.json b/test/indexer/data/1fd499c5-f397-4bff-9af0-eb42c37d5fbe.dss.hca.json deleted file mode 100644 index 2645845367..0000000000 --- a/test/indexer/data/1fd499c5-f397-4bff-9af0-eb42c37d5fbe.dss.hca.json +++ /dev/null @@ -1,606 +0,0 @@ -{ - "manifest": { - "sequence_file/0d352174-7bf3-44b3-9b7b-7ef3056ed085": { - - "name": "SRR7648416_2.fastq.gz", - "uuid": "2761715a-8de8-4d66-8286-90d89436a83d", - "version": "2021-03-18T11:38:48.691000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 15984291821, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_8ab15f7b-ec0f-433a-b6fb-28cbe0fb8dc3_470ac083-a0ce-4494-9acc-45f1be4282ed", - "crc32c": "922d645b", - "sha1": "bce0c4f5035d406ce1950821bc9cfec77edc48c6", - "sha256": "a5a2f1f0c3353ae1d871c97f0d5d5e57f045d947a8d4ca02faff64a47a370745", - "s3_etag": "07aaf23698191a8a3163999a86fb849a-239" - }, - "sequence_file/853dbcbd-8aaf-479d-8e57-134e11c61b72": { - "name": "SRR7648416_1.fastq.gz", - "uuid": "c3b97a11-bba4-42e7-bfee-7dcfd8249462", - "version": "2021-03-18T11:38:48.705000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 5572888190, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_8ab15f7b-ec0f-433a-b6fb-28cbe0fb8dc3_4fb1d1c9-ec68-490f-9e1d-9f764f4a3e13", - "crc32c": "2535659f", - "sha1": "0d3597e4543cac519f4d629bb5f0756cb0725a7c", - "sha256": "97b855bb74b7371bf3975e5a29185375eda7bd5468bd18c659fd0ccfc963ed25", - "s3_etag": "fd8819217ffaee274a2156820276b229-84" - } - }, - "metadata": { - "process/04446f99-f9ed-4a4a-82ec-203ed468cbc0": { - "process_core": { - "process_id": "process_id_50" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "04446f99-f9ed-4a4a-82ec-203ed468cbc0", - "submission_date": "2021-03-18T11:38:49.524Z", - "update_date": "2021-03-18T11:39:08.177Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/1fd499c5-f397-4bff-9af0-eb42c37d5fbe": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX4511357" - }, - "process_core": { - "process_id": "SRR7648416" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "1fd499c5-f397-4bff-9af0-eb42c37d5fbe", - "submission_date": "2021-03-18T11:38:49.884Z", - "update_date": "2021-03-18T11:39:11.871Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/5f1f265f-edd3-4172-b5ae-5b9d39a389d2": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX4511357" - }, - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "5f1f265f-edd3-4172-b5ae-5b9d39a389d2", - "submission_date": "2021-03-18T11:38:48.731Z", - "update_date": "2021-03-18T11:39:05.291Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "donor_organism/b111e5bf-e907-47f9-8eed-75b2ec5536c5": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Human_62", - "biomaterial_name": "Human_62_Kidney_donor", - "biomaterial_description": "Renal cortex from a nephrectomy kidney was obtained and donor anonymity preserved. The donor was a 62 year-old white male with a serum creatinine of 1.03 mg/dL and BUN of 12 mg/dL.", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN09769278" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "yes", - "organism_age": "62", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "development_stage": { - "text": "human adult stage", - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "b111e5bf-e907-47f9-8eed-75b2ec5536c5", - "submission_date": "2021-03-18T11:38:47.172Z", - "update_date": "2021-03-18T11:38:55.198Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "cell_suspension/d1bc1192-b584-41c2-8591-6cea79fb7729": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SRX4511357", - "biomaterial_name": "GSM3320198", - "biomaterial_description": "Human_62 Cell Suspension", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN09769277" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2840, - "provenance": { - "document_id": "d1bc1192-b584-41c2-8591-6cea79fb7729", - "submission_date": "2021-03-18T11:38:47.779Z", - "update_date": "2021-03-18T11:39:03.628Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "specimen_from_organism/70d2b85a-8055-4027-a0d9-29452a49d668": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SAMN09769277", - "biomaterial_name": "Human_kidney_rep2", - "biomaterial_description": "Human_kidney,Human kidney,Age 62,10X Chromium", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN09769277", - "insdc_sample_accession": "SRS3630515" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "organ_parts": [ - { - "text": "renal cortex", - "ontology": "UBERON:0001225", - "ontology_label": "cortex of kidney" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "70d2b85a-8055-4027-a0d9-29452a49d668", - "submission_date": "2021-03-18T11:38:47.196Z", - "update_date": "2021-03-18T11:38:56.037Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "library_preparation_protocol/bf7e7b5d-2ffa-4fb7-977f-c42c5c334bbe": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_protocol_1", - "protocol_name": "library_protocol_1", - "protocol_description": "RNA from single nucleus was encapsulated,barcoded and reversed transcribed on a 10x Chromium Single Cell Platform (10x V2 3' Genomics)." - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "nucleic_acid_source": "single nucleus", - "library_construction_method": { - "text": "10X 3' v2 sequencing", - "ontology": "EFO:0009899", - "ontology_label": "10X 3' v2 sequencing" - }, - "library_construction_kit": { - "retail_name": "Single Cell 3' Library and Gel Bead Kit V2", - "catalog_number": "120237", - "manufacturer": "10x Genomics" - }, - "end_bias": "3 prime end bias", - "primer": "poly-dT", - "strand": "first", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 16, - "barcode_length": 10 - }, - "provenance": { - "document_id": "bf7e7b5d-2ffa-4fb7-977f-c42c5c334bbe", - "submission_date": "2021-03-18T11:38:47.874Z", - "update_date": "2021-03-18T11:39:03.742Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "sequence_file/0d352174-7bf3-44b3-9b7b-7ef3056ed085": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR7648416_2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "SRR7648416" - ], - "provenance": { - "document_id": "0d352174-7bf3-44b3-9b7b-7ef3056ed085", - "submission_date": "2021-03-18T11:38:48.691Z", - "update_date": "2021-04-22T16:08:00.655Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/853dbcbd-8aaf-479d-8e57-134e11c61b72": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR7648416_1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "SRR7648416" - ], - "provenance": { - "document_id": "853dbcbd-8aaf-479d-8e57-134e11c61b72", - "submission_date": "2021-03-18T11:38:48.705Z", - "update_date": "2021-04-22T16:00:24.732Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "collection_protocol/acf142b9-0657-4ffb-b039-cd0dd5317e25": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "collection_protocol_1", - "protocol_name": "collection_protocol_1", - "protocol_description": "Institutional review board approval for research use of human tissue was obtained from Washington University. Renal cortex from a nephrectomy kidney was obtained and donor anonymity preserved. The donor was a 62 year-old white male with a serum creatinineof 1.03 mg/dL and BUN of 12 mg/dL.", - "publication_doi": "10.1016/j.stem.2018.10.010" - }, - "method": { - "text": "nephrectomy", - "ontology": "EFO:0009120", - "ontology_label": "biopsy" - }, - "provenance": { - "document_id": "acf142b9-0657-4ffb-b039-cd0dd5317e25", - "submission_date": "2021-03-18T11:38:47.792Z", - "update_date": "2021-03-18T11:39:03.643Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "project/16ed4ad8-7319-46b2-8859-6fe1c1d73a82": { - "contributors": [ - { - "name": "Haojia,,Wu", - "institution": "Washington University School of Medicine,", - "laboratory": "Division of Nephrology, Department of Medicine,", - "address": "St. Louis, MO, USA.", - "country": "USA", - "corresponding_contributor": false - }, - { - "name": "Kohei,,Uchimura", - "institution": "Washington University School of Medicine,", - "laboratory": "Division of Nephrology, Department of Medicine,", - "address": "St. Louis, MO, USA.", - "country": "USA", - "corresponding_contributor": false - }, - { - "name": "Erinn L,,Donnelly", - "institution": "Washington University School of Medicine,", - "laboratory": "Division of Nephrology, Department of Medicine,", - "address": "St. Louis, MO, USA.", - "country": "USA", - "corresponding_contributor": false - }, - { - "name": "Yuhei,,Kirita", - "institution": "Washington University School of Medicine,", - "laboratory": "Division of Nephrology, Department of Medicine,", - "address": "St. Louis, MO, USA.", - "country": "USA", - "corresponding_contributor": false - }, - { - "name": "Samantha A,,Morris", - "institution": "Washington University School of Medicine,", - "laboratory": "Department of Developmental Biology, Department of Genetics", - "address": "St. Louis, MO, USA.", - "country": "USA", - "corresponding_contributor": false - }, - { - "name": "Benjamin D,,Humphreys", - "email": "humphreysbd@wustl.edu", - "institution": "Washington University School of Medicine,", - "laboratory": "Division of Nephrology, Department of Medicine,", - "address": "St. Louis, MO, USA.", - "country": "USA", - "corresponding_contributor": true - }, - { - "name": "Wei Kheng, Teh", - "email": "wteh@ebi.ac.uk", - "institution": "EMBL-EBI", - "address": "Wellcome Genome Campus, Hinxton", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas Wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - } - ], - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "funders": [ - { - "grant_id": "R01 DK103740", - "organization": "NIDDK NIH HHS" - }, - { - "grant_id": "UH2 DK107374", - "organization": "NIDDK NIH HHS" - }, - { - "grant_id": "UH3 DK107374", - "organization": "NIDDK NIH HHS" - } - ], - "geo_series_accessions": [ - "GSE118184" - ], - "insdc_project_accessions": [ - "SRP156469" - ], - "insdc_study_accessions": [ - "PRJNA484783" - ], - "project_core": { - "project_short_name": "GSE118184KidneyOrganoid", - "project_title": "Comparative analysis of kidney organoid and adult human kidney single cell and single nucleus transcriptomes", - "project_description": "We analyzed single cell transcriptomes over 80,000 cells isolated from 65 organoids differentiated from iPSCs and ESCs using two different protocols. We find that both protocols generate kidney organoids that contain a diverse range of kidney cells at differing ratios as well as non-renal cell types. We reconstructed lineage relationships during organoid differentiation through pseudotemporal ordering, and identified transcription factor networks associated with fate decisions. When comparing to adult human kidney, we reveal immaturity of all kidney organoid cell types. These results define impressive kidney organoid cell diversity, identify incomplete differentiation as a major roadblock for current directed differentiation protocols and provide a human adult kidney snRNA-seq dataset against which to benchmark future progress. Overall design: Dropseq and 10X Chromium were used to profile organoid cells and adult kidney nuclei" - }, - "publications": [ - { - "authors": [ - "Wu H", - "Uchimura K", - "Donnelly EL", - "Kirita Y", - "Morris SA", - "Humphreys BD" - ], - "title": "Comparative Analysis and Refinement of Human PSC-Derived Kidney Organoid Differentiation with Single-Cell Transcriptomics.", - "doi": "10.1016/j.stem.2018.10.010", - "pmid": 30449713, - "url": "https://pubmed.ncbi.nlm.nih.gov/30449713/" - } - ], - "schema_type": "project", - "provenance": { - "document_id": "16ed4ad8-7319-46b2-8859-6fe1c1d73a82", - "submission_date": "2021-01-21T11:57:42.084Z", - "update_date": "2021-03-18T11:38:51.081Z", - "schema_major_version": 14, - "schema_minor_version": 1 - } - }, - "sequencing_protocol/328e83cc-1e31-4d49-bf69-3504a7d1d4ba": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_2", - "protocol_description": "single-cell (DropSeq) and single-nucleus (10x V2 3' Genomics) sequencing libraries were sequenced on an Illumina HiSeq2500" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565", - "ontology_label": "Illumina HiSeq 2500" - }, - "paired_end": false, - "method": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "provenance": { - "document_id": "328e83cc-1e31-4d49-bf69-3504a7d1d4ba", - "submission_date": "2021-03-18T11:38:47.910Z", - "update_date": "2021-03-18T11:39:03.779Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - }, - "dissociation_protocol/ef41ddaf-a324-40da-a149-dd27c6bb5f04": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Human_62_nuclei_dissociation", - "protocol_name": "Human_62_dissociation", - "protocol_description": "Nuclei were isolated with Nuclei EZ Lysis buffer (Sigma #NUC-101) supplemented with protease inhibitor (Roche #5892791001) andRNase inhibitor (Promega #N2615, Life Technologies #AM2696). Samples were cut into < 2 mm pieces and homogenized using aDounce homogenizer (Kimble Chase #885302-0002) in 2ml of ice-cold Nuclei EZ Lysis buffer and incubated on ice for 5 min withan additional 2ml of lysis buffer. The homogenate was filtered through a 40-mm cell strainer (pluriSelect #43-50040-51) and thencentrifuged at 500 x for 5 min at 4C." - }, - "method": { - "text": "mechanical dissociation", - "ontology": "EFO:0009129", - "ontology_label": "mechanical dissociation" - }, - "reagents": [ - { - "retail_name": "Nuclei EZ Lysis Buffer", - "catalog_number": "Cat#N-3408", - "manufacturer": "Sigma-Aldrich" - } - ], - "provenance": { - "document_id": "ef41ddaf-a324-40da-a149-dd27c6bb5f04", - "submission_date": "2021-03-18T11:38:47.822Z", - "update_date": "2021-03-18T11:39:03.687Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "enrichment_protocol/fb9f9cf3-28f9-4903-b191-10217bc18da6": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "human62_enrichment_protocol_size_selection", - "protocol_name": "human62_enrichment_protocol_size_selection", - "protocol_description": "The pellet was resuspended and washed with 4 mL of the buffer and incubated on ice for5 min. After another centrifugation, the pellet was resuspended with Nuclei Suspension Buffer (1x PBS, 0.07% BSA, 0.1% RNaseinhibitor), filtered through a 20-um cell strainer (pluriSelect 43-50020-50) and counted." - }, - "method": { - "text": "size selection", - "ontology": "EFO:0009337", - "ontology_label": "cell size selection" - }, - "maximum_size": 20, - "provenance": { - "document_id": "fb9f9cf3-28f9-4903-b191-10217bc18da6", - "submission_date": "2021-03-18T11:38:47.853Z", - "update_date": "2021-03-18T11:39:03.720Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - } - }, - "links": { - "links": [ - { - "link_type": "process_link", - "process_id": "1fd499c5-f397-4bff-9af0-eb42c37d5fbe", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "d1bc1192-b584-41c2-8591-6cea79fb7729" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "0d352174-7bf3-44b3-9b7b-7ef3056ed085" - }, - { - "output_type": "sequence_file", - "output_id": "853dbcbd-8aaf-479d-8e57-134e11c61b72" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "bf7e7b5d-2ffa-4fb7-977f-c42c5c334bbe" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "328e83cc-1e31-4d49-bf69-3504a7d1d4ba" - } - ] - }, - { - "link_type": "process_link", - "process_id": "04446f99-f9ed-4a4a-82ec-203ed468cbc0", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "70d2b85a-8055-4027-a0d9-29452a49d668" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "d1bc1192-b584-41c2-8591-6cea79fb7729" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "ef41ddaf-a324-40da-a149-dd27c6bb5f04" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "fb9f9cf3-28f9-4903-b191-10217bc18da6" - } - ] - }, - { - "link_type": "process_link", - "process_id": "5f1f265f-edd3-4172-b5ae-5b9d39a389d2", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "b111e5bf-e907-47f9-8eed-75b2ec5536c5" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "70d2b85a-8055-4027-a0d9-29452a49d668" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "acf142b9-0657-4ffb-b039-cd0dd5317e25" - } - ] - } - ], - "describedBy": "https://schema.humancellatlas.org/system/2.1.1/links", - "schema_version": "2.1.1", - "schema_type": "links" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/2370f948-2783-aeb6-afea-e022897f4dcf.tdr.anvil.json b/test/indexer/data/2370f948-2783-aeb6-afea-e022897f4dcf.tdr.anvil.json deleted file mode 100644 index adcf4c0f02..0000000000 --- a/test/indexer/data/2370f948-2783-aeb6-afea-e022897f4dcf.tdr.anvil.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "entities": { - "anvil_dataset/2370f948-2783-4eb6-afea-e022897f4dcf": { - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "description": "Study description from DUOS", - "duos_id": "DUOS-000000", - "version": "2022-06-01T00:00:00.000000Z" - } - }, - "links": [], - "orphans": { - "anvil_dataset/2370f948-2783-4eb6-afea-e022897f4dcf": { - "consent_group": [ - "DS-BDIS" - ], - "data_modality": [], - "data_use_permission": [ - "DS-BDIS" - ], - "datarepo_row_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [], - "registered_identifier": [ - "phs000693" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "version": "2022-06-01T00:00:00.000000Z" - } - } -} \ No newline at end of file diff --git a/test/indexer/data/2a87dc5c-0c3c-4d91-a348-5d784ab48b92.dss.hca.json b/test/indexer/data/2a87dc5c-0c3c-4d91-a348-5d784ab48b92.dss.hca.json deleted file mode 100644 index c18771c9a7..0000000000 --- a/test/indexer/data/2a87dc5c-0c3c-4d91-a348-5d784ab48b92.dss.hca.json +++ /dev/null @@ -1,12801 +0,0 @@ -{ - "manifest": { - "sequence_file/ff7e8e48-a9ae-4fab-86b6-b895388abf6e": { - "sha1": "b9b2e6bb31afbf37ef7f974d3219fcfd0d3cb79e", - "name": "MantonBM2_HiSeq_3_S11_L006_R2_001.fastq.gz", - "uuid": "ff7e8e48-a9ae-4fab-86b6-b895388abf6e", - "crc32c": "9d46d072", - "version": "2018-03-29T10:38:36.323368Z", - "indexed": false, - "s3_etag": "fd28c7691fe7685ff5483bdeea316def-51", - "sha256": "8a0643b19d2e377d32280b7401712edf609f834c15f83fc4df10ceac75484502", - "content-type": "application/gzip; dcp-type=data", - "size": 3360859753 - }, - "sequence_file/175d7210-8296-4789-bd4f-e0ddd35c2a89": { - "sha1": "5df5ba5656f0b48159c8495a1c619ac10bca2c18", - "name": "MantonBM1_HiSeq_5_S5_L008_R1_001.fastq.gz", - "uuid": "175d7210-8296-4789-bd4f-e0ddd35c2a89", - "crc32c": "24fa6dcc", - "version": "2018-03-29T10:38:16.499553Z", - "indexed": false, - "s3_etag": "c35ca7303c321d0aa55b434ea45bd59b-19", - "sha256": "a1c6a87857de66931e9db18a19bf39753f2639f16104ae4a0792841980bb0761", - "content-type": "application/gzip; dcp-type=data", - "size": 1216970447 - }, - "sequence_file/452b88e0-94cf-4243-b44e-94b16c936896": { - "sha1": "b0d7006c3ad8801edbc0083ab5c735a73fe52532", - "name": "MantonBM4_HiSeq_1_S25_L002_R1_001.fastq.gz", - "uuid": "452b88e0-94cf-4243-b44e-94b16c936896", - "crc32c": "3771bf1d", - "version": "2018-03-29T10:39:22.046808Z", - "indexed": false, - "s3_etag": "cab592fee6a115b8d3fc916b5653d99d-20", - "sha256": "a01b966a742ec045d2f086e3f343cc1f3dcc12f9a3f2affaf476cd2831314d40", - "content-type": "application/gzip; dcp-type=data", - "size": 1283631104 - }, - "sequence_file/0bf66ea5-3dee-422b-b8f0-837033556d99": { - "sha1": "f88d2f16a2579945c980690147806bf4f5b5d037", - "name": "MantonBM4_HiSeq_8_S32_L001_I1_001.fastq.gz", - "uuid": "0bf66ea5-3dee-422b-b8f0-837033556d99", - "crc32c": "8a136764", - "version": "2018-03-29T10:39:43.917041Z", - "indexed": false, - "s3_etag": "0f88097ffad98ae67fd003b7344b6981-7", - "sha256": "7e12d047dc42ea35cc64858c9594962ee11eeeeb417ece8062f6ce7140910450", - "content-type": "application/gzip; dcp-type=data", - "size": 433802077 - }, - "sequence_file/94e3471e-744b-44cc-b987-31071a107fef": { - "sha1": "2eb4c033645f2ecd4f0ca865ba8fe6d8e11f8fb5", - "name": "MantonBM3_HiSeq_4_S20_L003_R2_001.fastq.gz", - "uuid": "94e3471e-744b-44cc-b987-31071a107fef", - "crc32c": "09d7228a", - "version": "2018-03-29T10:39:04.797547Z", - "indexed": false, - "s3_etag": "a245a86fcd212ebe3d5224c8f01e707e-65", - "sha256": "7b49d72db038df26c4a3d7a0aff311576adbb164d7f34686becb519afcc3e653", - "content-type": "application/gzip; dcp-type=data", - "size": 4341790603 - }, - "sequence_file/40cef712-132a-48c4-9ddd-21169ea24903": { - "sha1": "86399860a7752c3537ea66472f87d7616159b309", - "name": "MantonBM3_HiSeq_1_S17_L003_R1_001.fastq.gz", - "uuid": "40cef712-132a-48c4-9ddd-21169ea24903", - "crc32c": "2d5f4a78", - "version": "2018-03-29T10:38:53.987710Z", - "indexed": false, - "s3_etag": "027c068b898140df5fc44a70e168f15d-18", - "sha256": "11fa417fbbf53032a54f6bfbddb3acde7adf534e6b687bbc3b757329a64daf80", - "content-type": "application/gzip; dcp-type=data", - "size": 1178084808 - }, - "sequence_file/d5294332-19b5-4ff1-b298-6c1cf500cb35": { - "sha1": "6135143401dca0ac572d181087899414f8361edd", - "name": "MantonBM1_HiSeq_1_S1_L007_I1_001.fastq.gz", - "uuid": "d5294332-19b5-4ff1-b298-6c1cf500cb35", - "crc32c": "a6492891", - "version": "2018-03-29T10:38:01.622522Z", - "indexed": false, - "s3_etag": "78110be1cd65a2611252a4c1064be8ea-6", - "sha256": "7a7d3dc3aa26cf61fddd4652721fdeb926a96e8c2aa230f5241569e04d40f48a", - "content-type": "application/gzip; dcp-type=data", - "size": 362022725 - }, - "sequence_file/5bb3fb23-884b-4762-8033-481f3dc67746": { - "sha1": "4b8d3be4098c6402ebd9053658dfa47b2dabf942", - "name": "MantonBM3_HiSeq_4_S20_L004_R1_001.fastq.gz", - "uuid": "5bb3fb23-884b-4762-8033-481f3dc67746", - "crc32c": "9a17f833", - "version": "2018-03-29T10:39:05.962959Z", - "indexed": false, - "s3_etag": "059eff8c7d970b7f4dc6bd3e6910a45f-22", - "sha256": "2028c71fdf221e190644d4d42e0d0e9ce0df0697cfdebf4c48fd835ba1489f12", - "content-type": "application/gzip; dcp-type=data", - "size": 1414727535 - }, - "sequence_file/cf6e3ba9-a5d7-4225-abbb-04f761a47c82": { - "sha1": "773829ff844854ad1097629f48b4f3da8feec32d", - "name": "MantonBM3_HiSeq_1_S17_L003_I1_001.fastq.gz", - "uuid": "cf6e3ba9-a5d7-4225-abbb-04f761a47c82", - "crc32c": "ae4173d5", - "version": "2018-03-29T10:38:53.422749Z", - "indexed": false, - "s3_etag": "812bcc04aa6198f857396c37236a92a9-6", - "sha256": "35aee9548bcb2f0e17c22f3b80ec7ad5036f01f1c223873f6b9a4cfc38e4e481", - "content-type": "application/gzip; dcp-type=data", - "size": 395216892 - }, - "sequence_file/b55fd000-cd16-4976-b264-8df9e012df4e": { - "sha1": "7efecac7a75143f3e4e2c3c3b9848712f2515376", - "name": "MantonBM4_HiSeq_4_S28_L002_I1_001.fastq.gz", - "uuid": "b55fd000-cd16-4976-b264-8df9e012df4e", - "crc32c": "e9ff54d1", - "version": "2018-03-29T10:39:31.155637Z", - "indexed": false, - "s3_etag": "d8bff5d29ba99e4049fc4f8cb3910d3b-6", - "sha256": "28753e6260be21c16a6e0600350833b8b85d7bb9274a7e7a00dee440684dcf05", - "content-type": "application/gzip; dcp-type=data", - "size": 387192102 - }, - "sequence_file/0ef80820-3d78-4810-a009-3134cb9090b6": { - "sha1": "d403186ec97a88906c3e30b4f6916e07957cfe86", - "name": "MantonBM1_HiSeq_4_S4_L007_R2_001.fastq.gz", - "uuid": "0ef80820-3d78-4810-a009-3134cb9090b6", - "crc32c": "e4056814", - "version": "2018-03-29T10:38:12.172122Z", - "indexed": false, - "s3_etag": "7d9c2c972b244a2549cd0085f4618482-53", - "sha256": "d182416019c12da96f437788c6f5ba0325bd197b7f8cbbad3fe282a3bc47b762", - "content-type": "application/gzip; dcp-type=data", - "size": 3497745120 - }, - "sequence_file/51e6d934-8a34-4204-96b9-e6a0865f2cac": { - "sha1": "88f48be8df0198ddf6ae13ff8834b907e70039d9", - "name": "MantonBM2_HiSeq_8_S16_L005_I1_001.fastq.gz", - "uuid": "51e6d934-8a34-4204-96b9-e6a0865f2cac", - "crc32c": "0eac31d7", - "version": "2018-03-29T10:38:50.347973Z", - "indexed": false, - "s3_etag": "b7d11dab3bd2b3c1dc54d3e3febf44fc-6", - "sha256": "03567a0fc6292dbe3fe6bc69f259b9a988f7bf824f2a7e6e5cf9b9ec2ab11f85", - "content-type": "application/gzip; dcp-type=data", - "size": 389104695 - }, - "sequence_file/463a120d-ee95-476c-8329-c633b43ab1aa": { - "sha1": "6d2f1682605aa7d48d0145ec97e2ac66f0194277", - "name": "MantonBM4_HiSeq_3_S27_L001_I1_001.fastq.gz", - "uuid": "463a120d-ee95-476c-8329-c633b43ab1aa", - "crc32c": "fcdc619d", - "version": "2018-03-29T10:39:26.875623Z", - "indexed": false, - "s3_etag": "01bfce055342888962d1b2f21065ab7b-6", - "sha256": "e34266f7c6c02cbc6cd69b87f87dc93480fa16683afc5a3fb97b0a4fb7d7eded", - "content-type": "application/gzip; dcp-type=data", - "size": 378955078 - }, - "sequence_file/f97c6247-15c6-403e-9a15-62113f9dc24a": { - "sha1": "f16e2fbdf6d126a17d12ddc37af5a34e957f833c", - "name": "MantonBM4_HiSeq_2_S26_L002_I1_001.fastq.gz", - "uuid": "f97c6247-15c6-403e-9a15-62113f9dc24a", - "crc32c": "24fbdc23", - "version": "2018-03-29T10:39:25.084150Z", - "indexed": false, - "s3_etag": "3e799d3857b8cacc1ed4a1a0156a6879-6", - "sha256": "ca446a75d0449db68b4f0607dbbc206bdcae4f9966432c2443abe31b02d7a300", - "content-type": "application/gzip; dcp-type=data", - "size": 365584676 - }, - "sequence_file/6ff26361-3be0-48c4-a5dd-c215ba8021bc": { - "sha1": "fea1c97c6d07fae84daf09f8948981a9ffcca90c", - "name": "MantonBM3_HiSeq_3_S19_L003_R1_001.fastq.gz", - "uuid": "6ff26361-3be0-48c4-a5dd-c215ba8021bc", - "crc32c": "3a1fdb2a", - "version": "2018-03-29T10:39:01.508353Z", - "indexed": false, - "s3_etag": "df40170160ab9d75bba518e523029a5a-18", - "sha256": "c16ae00b7490069c463d74f9a0f2e6ee984d737df23543b3ce111f8f8c393873", - "content-type": "application/gzip; dcp-type=data", - "size": 1178712263 - }, - "sequence_file/98f19741-b0fe-4aff-ab8c-9a77af8e36ce": { - "sha1": "241f0902090701c8c4c5ce1f3d119b690d26ee3d", - "name": "MantonBM4_HiSeq_3_S27_L001_R1_001.fastq.gz", - "uuid": "98f19741-b0fe-4aff-ab8c-9a77af8e36ce", - "crc32c": "6d504f48", - "version": "2018-03-29T10:39:27.250120Z", - "indexed": false, - "s3_etag": "82c242923fab07abbe197b18aae1a56f-18", - "sha256": "5d0940ed1c2c212c06e984c461b3bfb6668ba112b26f79d9fbe80b48c290ef9c", - "content-type": "application/gzip; dcp-type=data", - "size": 1175136992 - }, - "sequence_file/522747b7-1e9b-435e-9a4a-1a4b390fd153": { - "sha1": "88e41ca6a866c4585c4abbdc6430acd5a51442d4", - "name": "MantonBM3_HiSeq_5_S21_L003_R2_001.fastq.gz", - "uuid": "522747b7-1e9b-435e-9a4a-1a4b390fd153", - "crc32c": "eb0b98ed", - "version": "2018-03-29T10:39:07.702678Z", - "indexed": false, - "s3_etag": "8d25cb1e7face508895b518565fc0bf8-51", - "sha256": "a8ae76d8500f19796a9b86a0fe058c5859d79bb7e388c7e07dda4bedc61d4401", - "content-type": "application/gzip; dcp-type=data", - "size": 3385891615 - }, - "sequence_file/85a94a58-241b-4c97-a85f-8d718c8c4679": { - "sha1": "cc8b337c8d038b40f68e2ed9a3d42e65c3914c58", - "name": "MantonBM1_HiSeq_8_S8_L008_R1_001.fastq.gz", - "uuid": "85a94a58-241b-4c97-a85f-8d718c8c4679", - "crc32c": "ec1db32f", - "version": "2018-03-29T10:38:25.312826Z", - "indexed": false, - "s3_etag": "b14da74a76634c1404c4f772db014d3e-19", - "sha256": "d411d2fc9745ef11fe80f9344870ed731165724671fde07c1611f37792056102", - "content-type": "application/gzip; dcp-type=data", - "size": 1246904340 - }, - "sequence_file/838bef81-e228-4470-b50b-5259d7cbe5db": { - "sha1": "315ba5eaa5b9e2cff1bcb7e575c24d9b61162515", - "name": "MantonBM1_HiSeq_8_S8_L008_I1_001.fastq.gz", - "uuid": "838bef81-e228-4470-b50b-5259d7cbe5db", - "crc32c": "c2609de6", - "version": "2018-03-29T10:38:24.858551Z", - "indexed": false, - "s3_etag": "7bbf2a3dbf0b0148366d9bf3bccaa1b7-7", - "sha256": "7efea90fe398a776f05aac5c8ce355c5ff1dbfe72738351739ff6e9e9d4372f9", - "content-type": "application/gzip; dcp-type=data", - "size": 410748360 - }, - "sequence_file/ffa34fcb-1a7d-45cd-95be-c29cd95e73da": { - "sha1": "4870b92ef6350ea73e0fb671e2dc9eb57a8fedd1", - "name": "MantonBM4_HiSeq_7_S31_L001_R1_001.fastq.gz", - "uuid": "ffa34fcb-1a7d-45cd-95be-c29cd95e73da", - "crc32c": "db328947", - "version": "2018-03-29T10:39:41.970993Z", - "indexed": false, - "s3_etag": "c4bf51acba715091ae64cff68d2a2381-18", - "sha256": "8ef6e5b9268f18d40739376a17675615191670f240a351a3c909026b06196974", - "content-type": "application/gzip; dcp-type=data", - "size": 1173842335 - }, - "sequence_file/abfc93d7-2406-4c83-8e50-ae23746b5724": { - "sha1": "77ebb4a864b97baa54b9a61d356d001cf3f04992", - "name": "MantonBM2_HiSeq_2_S10_L005_I1_001.fastq.gz", - "uuid": "abfc93d7-2406-4c83-8e50-ae23746b5724", - "crc32c": "cdd6a2e6", - "version": "2018-03-29T10:38:30.442946Z", - "indexed": false, - "s3_etag": "58864c9257dbfe495d43c026e21e9aba-7", - "sha256": "fdcaa8acec7faace5faa784cd041f4f4915bd2cb043c0d576892ab9cc5693f77", - "content-type": "application/gzip; dcp-type=data", - "size": 414104360 - }, - "sequence_file/991d0b52-a02e-4705-9754-4af10cbba1d9": { - "sha1": "a64f4caacb97bbcfbd0c659721e78250d467cfaa", - "name": "MantonBM3_HiSeq_5_S21_L004_R2_001.fastq.gz", - "uuid": "991d0b52-a02e-4705-9754-4af10cbba1d9", - "crc32c": "b6d96497", - "version": "2018-03-29T10:39:09.273023Z", - "indexed": false, - "s3_etag": "eb6c82f1c21eacaef43c50888dcf0065-48", - "sha256": "0d448c2894a7f73837842356976699386b50be8e9bc58987107239797ae31cd0", - "content-type": "application/gzip; dcp-type=data", - "size": 3205746825 - }, - "sequence_file/919ae226-445e-49a5-9e3d-69b9a1932e96": { - "sha1": "15f99df7fff5e2658bab16fdf79de2facca87280", - "name": "MantonBM1_HiSeq_7_S7_L007_I1_001.fastq.gz", - "uuid": "919ae226-445e-49a5-9e3d-69b9a1932e96", - "crc32c": "59936978", - "version": "2018-03-29T10:38:20.359925Z", - "indexed": false, - "s3_etag": "8d2b78cd5d045a87b132e17ebd00447f-7", - "sha256": "de31b01aa34daeaa571f79d88ff7b21228c3b05443174bf371cf2efaaecbe93d", - "content-type": "application/gzip; dcp-type=data", - "size": 436019611 - }, - "sequence_file/59adfc03-cca3-496d-91f8-262512429977": { - "sha1": "711da2145ec1a2da73f8d1c9efc4d9bf0737d13c", - "name": "MantonBM3_HiSeq_8_S24_L003_I1_001.fastq.gz", - "uuid": "59adfc03-cca3-496d-91f8-262512429977", - "crc32c": "be343038", - "version": "2018-03-29T10:39:16.238247Z", - "indexed": false, - "s3_etag": "bd8ff33b2692578f20f899051da22b46-6", - "sha256": "472c52539728e20005ae66f6b199f0d7a5fa1ae32fd35cafe859bee896ad96ab", - "content-type": "application/gzip; dcp-type=data", - "size": 378329589 - }, - "sequence_file/a1a879dd-65fb-483d-8740-cef3abe97fbe": { - "sha1": "3a99e01b80bd6eb015377979af3698fb36d9c38e", - "name": "MantonBM1_HiSeq_8_S8_L007_R1_001.fastq.gz", - "uuid": "a1a879dd-65fb-483d-8740-cef3abe97fbe", - "crc32c": "04ab5423", - "version": "2018-03-29T10:38:23.821434Z", - "indexed": false, - "s3_etag": "7318341752c466aa858517c98a049231-20", - "sha256": "d8ef440c2dfedde83090234065eda9bf9b38d2fbd61ef22713cded4cd6b9f898", - "content-type": "application/gzip; dcp-type=data", - "size": 1285108573 - }, - "sequence_file/36341e0d-4bf8-48f8-88ce-32b9173c5bd7": { - "sha1": "9ed49bc69eb8f0bee1e470ee7f6e0893fd96b612", - "name": "MantonBM2_HiSeq_7_S15_L006_I1_001.fastq.gz", - "uuid": "36341e0d-4bf8-48f8-88ce-32b9173c5bd7", - "crc32c": "74508b6a", - "version": "2018-03-29T10:38:48.715645Z", - "indexed": false, - "s3_etag": "d36a9baad831fd5c4b94fec01c5c3535-7", - "sha256": "9cb50eda32cc90fcfe358fd3bf168f470f341b979d46aecf064feb1ff451546c", - "content-type": "application/gzip; dcp-type=data", - "size": 458018459 - }, - "sequence_file/af80a9d5-0e61-4a4a-a32c-6a22ca542ea5": { - "sha1": "02dc66b92074c580bf45353aa2fae201659c2925", - "name": "MantonBM4_HiSeq_8_S32_L002_I1_001.fastq.gz", - "uuid": "af80a9d5-0e61-4a4a-a32c-6a22ca542ea5", - "crc32c": "27ac5463", - "version": "2018-03-29T10:39:45.097361Z", - "indexed": false, - "s3_etag": "8ceed00b96a36f0582fd4439bc6250cb-7", - "sha256": "031c9741ee55c3fdca1dcd51c4e8a9f2ac9cffdd0777fefe27d20b276c945552", - "content-type": "application/gzip; dcp-type=data", - "size": 434297687 - }, - "sequence_file/5703221a-e4bf-4f4a-a5a0-747aa74d46b2": { - "sha1": "434b381093d3b483752a1bd181e82db26fdd6a2e", - "name": "MantonBM4_HiSeq_2_S26_L002_R2_001.fastq.gz", - "uuid": "5703221a-e4bf-4f4a-a5a0-747aa74d46b2", - "crc32c": "ed1de6f1", - "version": "2018-03-29T10:39:26.462442Z", - "indexed": false, - "s3_etag": "c4a42f179e766c9e0b046dbe60bdae71-48", - "sha256": "3207932b77eb169de9196a08a955dc575d401ff7048433f461590935dc5fc0b5", - "content-type": "application/gzip; dcp-type=data", - "size": 3156589789 - }, - "sequence_file/ba55717c-bc2d-4ae6-aab0-40cd0c39e132": { - "sha1": "78fdd3e12b972477a1791691242f138f8cc38e0f", - "name": "MantonBM2_HiSeq_1_S9_L005_R1_001.fastq.gz", - "uuid": "ba55717c-bc2d-4ae6-aab0-40cd0c39e132", - "crc32c": "028d68f1", - "version": "2018-03-29T10:38:28.043049Z", - "indexed": false, - "s3_etag": "c6441ad705ce18414037cf24126b3e66-17", - "sha256": "39ad783b5dbe7702fafb55b67d36d05769d50b1f4635ca80abd5bc1d5b018134", - "content-type": "application/gzip; dcp-type=data", - "size": 1099578481 - }, - "sequence_file/e4e868a9-a1e7-4963-875c-fe48530460f3": { - "sha1": "d7d7c846b1b108007bee9d06e779a82f7fe79f44", - "name": "MantonBM3_HiSeq_8_S24_L003_R2_001.fastq.gz", - "uuid": "e4e868a9-a1e7-4963-875c-fe48530460f3", - "crc32c": "f37de5a5", - "version": "2018-03-29T10:39:17.185046Z", - "indexed": false, - "s3_etag": "0b8891f1e0ebce36d86ec236b81b3840-51", - "sha256": "b1e6e44ca13ff4a13e1d942a29d91471784addd58670c69b15d9b79bdb00ce66", - "content-type": "application/gzip; dcp-type=data", - "size": 3357951845 - }, - "sequence_file/9ee2ade2-48f5-4319-99aa-eb2c73aa2e83": { - "sha1": "a192a57c9885649e9e402b778aa85988a619072e", - "name": "MantonBM2_HiSeq_4_S12_L005_R1_001.fastq.gz", - "uuid": "9ee2ade2-48f5-4319-99aa-eb2c73aa2e83", - "crc32c": "d73cbed2", - "version": "2018-03-29T10:38:37.808796Z", - "indexed": false, - "s3_etag": "5a489e6fd49c655a1b510977ceadcf43-18", - "sha256": "0b23035f3a39e7afbe1b24a6325591ea535604b65d5d47405a67917a9a06b82a", - "content-type": "application/gzip; dcp-type=data", - "size": 1167392254 - }, - "sequence_file/40c497af-80ea-4c54-a628-a57486c0f8ec": { - "sha1": "6fb7f15c71d337d1623a1db0dc35b0f5c100c0ea", - "name": "MantonBM4_HiSeq_1_S25_L001_I1_001.fastq.gz", - "uuid": "40c497af-80ea-4c54-a628-a57486c0f8ec", - "crc32c": "f14b8509", - "version": "2018-03-29T10:39:20.156139Z", - "indexed": false, - "s3_etag": "8ca808e1ccfc1f46d44f0bbc8359083e-7", - "sha256": "29b42e1e3e6a5ebebc76db25887361b1820e87f26ec01eaa200ea09a105e237a", - "content-type": "application/gzip; dcp-type=data", - "size": 442412775 - }, - "sequence_file/ab9fcfa0-6a1c-4fcd-a0f8-73737ddfb027": { - "sha1": "b3c380e4c79939d74190d77afefd7a166cda642b", - "name": "MantonBM4_HiSeq_7_S31_L002_R1_001.fastq.gz", - "uuid": "ab9fcfa0-6a1c-4fcd-a0f8-73737ddfb027", - "crc32c": "105f9881", - "version": "2018-03-29T10:39:43.195816Z", - "indexed": false, - "s3_etag": "76d04612eadcef790c07249d445cdbe2-17", - "sha256": "204e041ece41a497db23d79e53bf44abc160a0579439813f767e52b03ec49feb", - "content-type": "application/gzip; dcp-type=data", - "size": 1104705806 - }, - "sequence_file/13bcdac2-f7f5-405d-b860-9ce88b423d80": { - "sha1": "0b9f3ca8db83f6674b0b998d277dea0869071a29", - "name": "MantonBM4_HiSeq_5_S29_L001_R2_001.fastq.gz", - "uuid": "13bcdac2-f7f5-405d-b860-9ce88b423d80", - "crc32c": "6b025ef1", - "version": "2018-03-29T10:39:33.530365Z", - "indexed": false, - "s3_etag": "c9ea9557e947b56911b6eb438b13d3ed-56", - "sha256": "f6d93dd5c695094194f78f1ae45433f7715a7de9f861105e4ecf99d8e09e0c37", - "content-type": "application/gzip; dcp-type=data", - "size": 3717252051 - }, - "sequence_file/60b743d4-6476-4d38-9343-621186612ed8": { - "sha1": "486a3f35ef63972586ea5bbba7ebaee130f12f6e", - "name": "MantonBM2_HiSeq_4_S12_L005_R2_001.fastq.gz", - "uuid": "60b743d4-6476-4d38-9343-621186612ed8", - "crc32c": "731707ea", - "version": "2018-03-29T10:38:38.363092Z", - "indexed": false, - "s3_etag": "26540e899349bff183ad24f7fdf85598-52", - "sha256": "7dffe60034894c19c460e73e52c9b0d20cc42561a79071def1ac7bdb9984ce7a", - "content-type": "application/gzip; dcp-type=data", - "size": 3457592178 - }, - "sequence_file/2c659838-791d-498e-a3fa-f0c8eb1b2559": { - "sha1": "a02a6d75fafdee7d920c1b03aa65b2947a34a70b", - "name": "MantonBM4_HiSeq_5_S29_L002_R1_001.fastq.gz", - "uuid": "2c659838-791d-498e-a3fa-f0c8eb1b2559", - "crc32c": "4f05f9e9", - "version": "2018-03-29T10:39:34.443492Z", - "indexed": false, - "s3_etag": "7fcac7b0954a30c459b3bec1cdc50588-18", - "sha256": "a2a41588c91e0a94642f6d8af4ce20f654b9c1a5da652085ec4ecaa36ce0692a", - "content-type": "application/gzip; dcp-type=data", - "size": 1186820646 - }, - "sequence_file/61c10ee6-ecb7-47ba-b3db-e02bcf4325bf": { - "sha1": "f25b6bffc2555329135c21d3d9ea12765dd7d9cc", - "name": "MantonBM1_HiSeq_5_S5_L007_I1_001.fastq.gz", - "uuid": "61c10ee6-ecb7-47ba-b3db-e02bcf4325bf", - "crc32c": "287fc2be", - "version": "2018-03-29T10:38:14.261686Z", - "indexed": false, - "s3_etag": "9bf106e1bbb6b070332139adacada25f-7", - "sha256": "18f899125e5891dcf11aa6263890fced2f9dc3ac37145a4876926c18d7975d88", - "content-type": "application/gzip; dcp-type=data", - "size": 426417169 - }, - "sequence_file/da5a2a93-e840-4ea5-bad6-c3607fd3db5b": { - "sha1": "39e5ba8a81cbfebbb144d958a05ba41ff8336f49", - "name": "MantonBM2_HiSeq_3_S11_L005_I1_001.fastq.gz", - "uuid": "da5a2a93-e840-4ea5-bad6-c3607fd3db5b", - "crc32c": "5d8889b7", - "version": "2018-03-29T10:38:34.046288Z", - "indexed": false, - "s3_etag": "8ac68dc792c5fdb36364b30c0c329ff5-7", - "sha256": "eda90eabf82c46ec333defd5d622683dec33a00f2f4158bea6283cad886ffa50", - "content-type": "application/gzip; dcp-type=data", - "size": 407350040 - }, - "sequence_file/5f927ca9-9b92-44a0-9a48-55fdad524445": { - "sha1": "c8f8e679cfcb444fb13e03651f290f6c482117e2", - "name": "MantonBM2_HiSeq_6_S14_L005_R2_001.fastq.gz", - "uuid": "5f927ca9-9b92-44a0-9a48-55fdad524445", - "crc32c": "21f4da39", - "version": "2018-03-29T10:38:44.243149Z", - "indexed": false, - "s3_etag": "19e3155154855c83acd22a46aea0d7d6-57", - "sha256": "409983811b6145a8eb8eea393dc7238f082f5a94f4d2a06d0b723e8d43492264", - "content-type": "application/gzip; dcp-type=data", - "size": 3767456318 - }, - "sequence_file/712084da-4b68-47e0-acff-aafb48cc21db": { - "sha1": "91aaaf801075003ee4bf1dc95f3b8fa181262411", - "name": "MantonBM4_HiSeq_7_S31_L002_I1_001.fastq.gz", - "uuid": "712084da-4b68-47e0-acff-aafb48cc21db", - "crc32c": "3edb1758", - "version": "2018-03-29T10:39:42.784217Z", - "indexed": false, - "s3_etag": "b0587c6edcc21be7f550f6d5520d9e08-6", - "sha256": "f2857ffd6dc7b8f186d9374937a8dfbe4645cbfb1519542661594c9588b8fa50", - "content-type": "application/gzip; dcp-type=data", - "size": 370104211 - }, - "sequence_file/c750d7ef-7274-4253-9fc0-0f40354b84aa": { - "sha1": "b341cfb99b8e1b39d514748709605d36fae20ce0", - "name": "MantonBM3_HiSeq_2_S18_L003_R1_001.fastq.gz", - "uuid": "c750d7ef-7274-4253-9fc0-0f40354b84aa", - "crc32c": "0f3233cd", - "version": "2018-03-29T10:38:58.862035Z", - "indexed": false, - "s3_etag": "7a0aac08dc96cccc6964fac74eb34ecf-25", - "sha256": "d383c5e665e00abbf50b6b4038380ef2138b9d89884176be96c81bc166f00805", - "content-type": "application/gzip; dcp-type=data", - "size": 1651504734 - }, - "sequence_file/57d69572-96ae-4a29-97f5-0c1a491ed2a5": { - "sha1": "28617d777dc6b1f5078c54053635b248ddddf0a8", - "name": "MantonBM4_HiSeq_4_S28_L001_R2_001.fastq.gz", - "uuid": "57d69572-96ae-4a29-97f5-0c1a491ed2a5", - "crc32c": "d27456e8", - "version": "2018-03-29T10:39:30.768790Z", - "indexed": false, - "s3_etag": "f1eb30862d8f4a70bb076274edd9da0e-53", - "sha256": "1258a9daf511417ed4ce5f85652b55827e42ab885b2c358e17758c779f357ac5", - "content-type": "application/gzip; dcp-type=data", - "size": 3501649401 - }, - "sequence_file/6062d33b-29f5-4b2c-a8c7-fef60591b285": { - "sha1": "1865a8f819416264bf2b53f25d8f8510564ff725", - "name": "MantonBM2_HiSeq_2_S10_L005_R2_001.fastq.gz", - "uuid": "6062d33b-29f5-4b2c-a8c7-fef60591b285", - "crc32c": "33028227", - "version": "2018-03-29T10:38:31.312405Z", - "indexed": false, - "s3_etag": "44d0e2617662204415c754317a23c14f-56", - "sha256": "f1b229bbfbfde78b92c463d9bc2cad455dce5ee745d30c1fe66023b48c0bb1a6", - "content-type": "application/gzip; dcp-type=data", - "size": 3713230799 - }, - "sequence_file/50c3d51e-175d-4ffc-ad21-20e4713a92bc": { - "sha1": "49ba84492e4b443f623f5cf00fe50443e6a76567", - "name": "MantonBM2_HiSeq_5_S13_L006_I1_001.fastq.gz", - "uuid": "50c3d51e-175d-4ffc-ad21-20e4713a92bc", - "crc32c": "d48c5d5e", - "version": "2018-03-29T10:38:41.815925Z", - "indexed": false, - "s3_etag": "90496feba88301782fa788ef39584c5a-6", - "sha256": "cc545e3b3d4aa518c2f1e6760f01a4b7212c4de2b777912983e8cbac3e1de8c1", - "content-type": "application/gzip; dcp-type=data", - "size": 395079553 - }, - "sequence_file/22dfec6d-dcef-4928-8e91-a76ea60d2494": { - "sha1": "fd5883497b6907bf1e1fa275e77041293f77219c", - "name": "MantonBM3_HiSeq_7_S23_L004_R1_001.fastq.gz", - "uuid": "22dfec6d-dcef-4928-8e91-a76ea60d2494", - "crc32c": "c6e1d9cd", - "version": "2018-03-29T10:39:15.302022Z", - "indexed": false, - "s3_etag": "054e855937d0445732476b0a5620600b-15", - "sha256": "24087ec85dff74ed819859d7c5ad07216ee9dae91e78b9209c554c557fdb6fc9", - "content-type": "application/gzip; dcp-type=data", - "size": 996849989 - }, - "sequence_file/20e6c61f-5747-4dcd-a659-fede6d62a434": { - "sha1": "0577d5384eec940f341589ed5b86a9a9cee8337c", - "name": "MantonBM2_HiSeq_3_S11_L006_I1_001.fastq.gz", - "uuid": "20e6c61f-5747-4dcd-a659-fede6d62a434", - "crc32c": "20a60f19", - "version": "2018-03-29T10:38:35.492035Z", - "indexed": false, - "s3_etag": "88d173a2463abe8b1ec60586f8afc5eb-6", - "sha256": "50e6580639c28a778e4bab5bf059b983fdc2d4318189bf35d0b465847ea5a3b0", - "content-type": "application/gzip; dcp-type=data", - "size": 385083409 - }, - "sequence_file/05dcbcdd-7288-4e17-94dc-bb9e099a2a20": { - "sha1": "a4898e85317e2b3b467e45499bc673d541533834", - "name": "MantonBM4_HiSeq_2_S26_L001_R2_001.fastq.gz", - "uuid": "05dcbcdd-7288-4e17-94dc-bb9e099a2a20", - "crc32c": "a71ee28d", - "version": "2018-03-29T10:39:24.576845Z", - "indexed": false, - "s3_etag": "5b4b8e8e9c587e8ce0127734fdd4d7cc-50", - "sha256": "5c3004e25d9cf6b99b68747ce7513b6c57cbed9f1a10eb18cf31d0d564dfcce5", - "content-type": "application/gzip; dcp-type=data", - "size": 3322854514 - }, - "sequence_file/27f0c78b-67cd-47d3-964f-fcbec7562997": { - "sha1": "d4dce0ad395ae89217a978bf115b9658f7dfa588", - "name": "MantonBM1_HiSeq_2_S2_L007_R1_001.fastq.gz", - "uuid": "27f0c78b-67cd-47d3-964f-fcbec7562997", - "crc32c": "8ea392ec", - "version": "2018-03-29T10:38:05.466351Z", - "indexed": false, - "s3_etag": "e274b7b1f1b141337558d4e0344b78cf-17", - "sha256": "3481967037918d95b785608f119e2c45ce58438f90a36b957827da52883aa1dd", - "content-type": "application/gzip; dcp-type=data", - "size": 1081361854 - }, - "sequence_file/1d02060a-dfab-484f-9ef1-d23d831b1a5d": { - "sha1": "718b3724ec9f8819692af7de27dc8831c5beb0a3", - "name": "MantonBM1_HiSeq_5_S5_L007_R1_001.fastq.gz", - "uuid": "1d02060a-dfab-484f-9ef1-d23d831b1a5d", - "crc32c": "a813aaba", - "version": "2018-03-29T10:38:14.810530Z", - "indexed": false, - "s3_etag": "7f31d0f9a3d01618f0f0796aa476e614-19", - "sha256": "2fcca1ca26b677c41085479ea878cd2b05c6c31345c0e5e8710e3d2f29585625", - "content-type": "application/gzip; dcp-type=data", - "size": 1260790703 - }, - "sequence_file/9820fbb5-07b7-41ce-b135-16e21b371c94": { - "sha1": "f940ceebba10319baff2c91cb59506c3709afe45", - "name": "MantonBM4_HiSeq_3_S27_L001_R2_001.fastq.gz", - "uuid": "9820fbb5-07b7-41ce-b135-16e21b371c94", - "crc32c": "26b7d2e1", - "version": "2018-03-29T10:39:27.662485Z", - "indexed": false, - "s3_etag": "992f8a5e17d3f34f551f2685920c636a-51", - "sha256": "c1441e82ade61ceb33e65b9cc01fc51d91bb0b52d12bf41adc53e73ec37a1be6", - "content-type": "application/gzip; dcp-type=data", - "size": 3408487020 - }, - "sequence_file/2e34dd3f-914d-47ad-b0fe-1fa37d1b134c": { - "sha1": "42176e175f371d69647566691b9897a43567b958", - "name": "MantonBM1_HiSeq_4_S4_L008_I1_001.fastq.gz", - "uuid": "2e34dd3f-914d-47ad-b0fe-1fa37d1b134c", - "crc32c": "63df3e45", - "version": "2018-03-29T10:38:12.701600Z", - "indexed": false, - "s3_etag": "55defb0f1d2b1f994776995b14b8b2b2-6", - "sha256": "4d6adc84c6e87e6398433fcec43b23ce840c979856f78a0f409b80664f6f6be3", - "content-type": "application/gzip; dcp-type=data", - "size": 377878740 - }, - "sequence_file/5da8e6f2-a26e-448b-b017-33ac69ca80f7": { - "sha1": "0da49494fd4198f6356cc8686df62e856ed41d21", - "name": "MantonBM3_HiSeq_8_S24_L004_I1_001.fastq.gz", - "uuid": "5da8e6f2-a26e-448b-b017-33ac69ca80f7", - "crc32c": "28ada576", - "version": "2018-03-29T10:39:18.603832Z", - "indexed": false, - "s3_etag": "3d989d9bf9731bcf36f02b1151f91745-6", - "sha256": "11f7973e8f3832826c2a7ceb873cdb0480003e2384411663af39d7786c7c4a80", - "content-type": "application/gzip; dcp-type=data", - "size": 364867009 - }, - "sequence_file/cf307cb1-0f17-42f1-a069-5060b68548c8": { - "sha1": "7257768b55bad05c798d6a57c885d81f0e8fdc24", - "name": "MantonBM2_HiSeq_2_S10_L006_R2_001.fastq.gz", - "uuid": "cf307cb1-0f17-42f1-a069-5060b68548c8", - "crc32c": "fd7dcfab", - "version": "2018-03-29T10:38:33.562958Z", - "indexed": false, - "s3_etag": "439bd7e4588534c7ebd298e807aaf138-52", - "sha256": "427cb0d9d273afb0b8971ddd24960ba2a76b7270e3e88de216e752d04b1d5ea7", - "content-type": "application/gzip; dcp-type=data", - "size": 3475169188 - }, - "sequence_file/8647eca2-4adc-43c0-becb-98c0ff86682b": { - "sha1": "0a28e756f034ff3a7b4209b9dd6d77b563b6ab5c", - "name": "MantonBM2_HiSeq_3_S11_L005_R2_001.fastq.gz", - "uuid": "8647eca2-4adc-43c0-becb-98c0ff86682b", - "crc32c": "8b5e4e49", - "version": "2018-03-29T10:38:35.017332Z", - "indexed": false, - "s3_etag": "42c76d89399d11ed20afc298dca21d0b-54", - "sha256": "9d044711dd5e068502750ebceeff147fe2ef84deba30b3e6ece86af6d58542e5", - "content-type": "application/gzip; dcp-type=data", - "size": 3588148540 - }, - "sequence_file/6d8a7881-9d15-42e2-97e6-09df4604997e": { - "sha1": "637d66b6f29c5c3280298c792e8b8003c135939a", - "name": "MantonBM3_HiSeq_3_S19_L004_R2_001.fastq.gz", - "uuid": "6d8a7881-9d15-42e2-97e6-09df4604997e", - "crc32c": "6146a967", - "version": "2018-03-29T10:39:03.323875Z", - "indexed": false, - "s3_etag": "072637cb3e5dafe6d59d700e32db9965-50", - "sha256": "26b0c62fa15cbc6c35e2ad60f2c0f6e8341ecb574c7c3429b1b54d4c9963c9f1", - "content-type": "application/gzip; dcp-type=data", - "size": 3304418106 - }, - "sequence_file/12640e28-e9aa-4432-8d74-93003425748c": { - "sha1": "a641231fc1b306913ca9d0d2044b636c2f8bbbd3", - "name": "MantonBM1_HiSeq_6_S6_L008_R1_001.fastq.gz", - "uuid": "12640e28-e9aa-4432-8d74-93003425748c", - "crc32c": "e0810bd2", - "version": "2018-03-29T10:38:19.363231Z", - "indexed": false, - "s3_etag": "299b140d461e05b92335266a11068c85-20", - "sha256": "260e688c242cc1d94e7c6eeaf834ba8db63fdd22572d24decd7cc8ee20ea2280", - "content-type": "application/gzip; dcp-type=data", - "size": 1304201827 - }, - "sequence_file/f379d8e5-1741-4992-a46f-692f352d81e2": { - "sha1": "07ab6384229f86ba447575cf8a10f731b1ddc56a", - "name": "MantonBM4_HiSeq_8_S32_L002_R2_001.fastq.gz", - "uuid": "f379d8e5-1741-4992-a46f-692f352d81e2", - "crc32c": "0b2a4765", - "version": "2018-03-29T10:39:45.881038Z", - "indexed": false, - "s3_etag": "a048a81928e95f83fdedef9029b525b8-57", - "sha256": "e268c618f0b3a89ccb395eeff35a67a235ffebe8c43804de8cce87794ef3347b", - "content-type": "application/gzip; dcp-type=data", - "size": 3805300618 - }, - "sequence_file/d17161a2-081b-4d3c-9c7c-ab93b8ff36fa": { - "sha1": "687744818d33e2141fbb18fa19e57936b591a962", - "name": "MantonBM2_HiSeq_8_S16_L005_R1_001.fastq.gz", - "uuid": "d17161a2-081b-4d3c-9c7c-ab93b8ff36fa", - "crc32c": "1db81bdc", - "version": "2018-03-29T10:38:50.802905Z", - "indexed": false, - "s3_etag": "ee94f5d7009a0de81e6239a2860683d3-18", - "sha256": "e616f1b0c4274c97462691149543a578c362ec6258dd374ea2defd4e63b28cab", - "content-type": "application/gzip; dcp-type=data", - "size": 1163222629 - }, - "sequence_file/85f9f0a9-6b8e-4fba-a360-8d14931a7929": { - "sha1": "2eaf263f8704b212bb376fba51a446e60da21460", - "name": "MantonBM4_HiSeq_7_S31_L001_I1_001.fastq.gz", - "uuid": "85f9f0a9-6b8e-4fba-a360-8d14931a7929", - "crc32c": "72748131", - "version": "2018-03-29T10:39:41.561070Z", - "indexed": false, - "s3_etag": "0d353c94ca093152ddc885169dfe1100-6", - "sha256": "9dd933a4f1cb2e911e666b7d7e3466e840d947b4337efd600c317844bfeefbbc", - "content-type": "application/gzip; dcp-type=data", - "size": 386945207 - }, - "sequence_file/437fef8b-4c7a-463f-a144-85e66c7f4953": { - "sha1": "3a8e6b1c2d0ab06b188b977e676b17c3d2843d1e", - "name": "MantonBM3_HiSeq_6_S22_L003_R2_001.fastq.gz", - "uuid": "437fef8b-4c7a-463f-a144-85e66c7f4953", - "crc32c": "d78b830a", - "version": "2018-03-29T10:39:10.783320Z", - "indexed": false, - "s3_etag": "2c9e1e09f4fc54e92d3c3034f710bb57-52", - "sha256": "12841f104f4cf8664a53ffe646e521bda713278d6c9006e5e58f0d70e275f03e", - "content-type": "application/gzip; dcp-type=data", - "size": 3472275216 - }, - "sequence_file/6ca9ed26-11b8-475e-94ba-e50472dd6bd3": { - "sha1": "b3a4e601567145ed988de4058f5c4c2a4c42813a", - "name": "MantonBM2_HiSeq_8_S16_L006_I1_001.fastq.gz", - "uuid": "6ca9ed26-11b8-475e-94ba-e50472dd6bd3", - "crc32c": "cc91df14", - "version": "2018-03-29T10:38:51.661671Z", - "indexed": false, - "s3_etag": "1de3204d4cb763d4c32b82035d0301a0-6", - "sha256": "f0c16d9d7a5d7e4260e19a2b41a790a13dc4c41fb3bafa1a23a83b9eb1658d97", - "content-type": "application/gzip; dcp-type=data", - "size": 369827179 - }, - "sequence_file/bc88049b-5dd3-4460-9119-94e22c3a13c8": { - "sha1": "c4ee91bbfbcd37c1fec049ffd1da8fd8f5f7976a", - "name": "MantonBM2_HiSeq_8_S16_L005_R2_001.fastq.gz", - "uuid": "bc88049b-5dd3-4460-9119-94e22c3a13c8", - "crc32c": "9e7b0157", - "version": "2018-03-29T10:38:51.226549Z", - "indexed": false, - "s3_etag": "2e56dd6d67915d129e15f0a2106c5843-51", - "sha256": "a8477f83e619d557ea9b86aa0fc3382201b008750ecbca506f378feab89a1ccc", - "content-type": "application/gzip; dcp-type=data", - "size": 3420537001 - }, - "sequence_file/ac3edf4a-f269-4944-bb1a-3b1845e33098": { - "sha1": "c89879638751b1c8b0ecebbb7ff08c96bdad1826", - "name": "MantonBM1_HiSeq_1_S1_L008_R1_001.fastq.gz", - "uuid": "ac3edf4a-f269-4944-bb1a-3b1845e33098", - "crc32c": "9c98b788", - "version": "2018-03-29T10:38:03.722349Z", - "indexed": false, - "s3_etag": "85a170e389aec5cba93968cef5803138-16", - "sha256": "98ce3b2d7574652d36cb9622d321682171eec43bb1788af964ed763661403d1b", - "content-type": "application/gzip; dcp-type=data", - "size": 1052018368 - }, - "sequence_file/61ea8027-8da7-4ee5-a153-49126032a194": { - "sha1": "89c33235cb14cb72a9ca305d838544566a0b0990", - "name": "MantonBM2_HiSeq_1_S9_L006_R2_001.fastq.gz", - "uuid": "61ea8027-8da7-4ee5-a153-49126032a194", - "crc32c": "c6b6c5a6", - "version": "2018-03-29T10:38:29.999849Z", - "indexed": false, - "s3_etag": "fe01fd4ecaafc822cc7696a7631f5ff2-46", - "sha256": "f6b1a339fae65b10b5ee92b7c4d28afe788a59c3a89eb5900a44f4d6afe49f67", - "content-type": "application/gzip; dcp-type=data", - "size": 3073898610 - }, - "sequence_file/3657e098-4b0c-410a-a7c8-82c73b6ed1ed": { - "sha1": "ea5cee3a671f8e266315de57dd9fee3bcb580cda", - "name": "MantonBM2_HiSeq_6_S14_L006_R2_001.fastq.gz", - "uuid": "3657e098-4b0c-410a-a7c8-82c73b6ed1ed", - "crc32c": "fabeba87", - "version": "2018-03-29T10:38:46.066760Z", - "indexed": false, - "s3_etag": "17f9ee28c13699858e40faa05fc6a47a-54", - "sha256": "c547a6c5e4c1c49fbc4f181f0ec76b3d2c8c6185bc8ad9ed8dd31207925d23a5", - "content-type": "application/gzip; dcp-type=data", - "size": 3562483587 - }, - "sequence_file/49148098-bb4e-42d0-af89-946de3e6d394": { - "sha1": "8bb7540f514945c3714bb4d23e2cf3acac4f41c6", - "name": "MantonBM3_HiSeq_4_S20_L003_R1_001.fastq.gz", - "uuid": "49148098-bb4e-42d0-af89-946de3e6d394", - "crc32c": "4f1c8529", - "version": "2018-03-29T10:39:04.190842Z", - "indexed": false, - "s3_etag": "5b2ec959edc01a9a49a03c1f0981ab51-22", - "sha256": "1b250e0f47b83cad8f21078ce9b37cca308a789389e6751e500975e586b868c0", - "content-type": "application/gzip; dcp-type=data", - "size": 1475882577 - }, - "sequence_file/02d06869-ddfe-4ad7-9da7-2be88d0c2112": { - "sha1": "efbc4b29791c278be56d8899972fe9470961b487", - "name": "MantonBM3_HiSeq_6_S22_L004_R2_001.fastq.gz", - "uuid": "02d06869-ddfe-4ad7-9da7-2be88d0c2112", - "crc32c": "7bd6ded0", - "version": "2018-03-29T10:39:12.106133Z", - "indexed": false, - "s3_etag": "79baa67e71cdf48b2edba7bff3e4ccfa-50", - "sha256": "6a7f95ad9280a11a123d41f38db15ee430551f39d8f4ff6a904ab2d212a3924b", - "content-type": "application/gzip; dcp-type=data", - "size": 3291554545 - }, - "sequence_file/0131fd23-816a-4fcd-9660-27c45022ec47": { - "sha1": "5c087030c1743c9b39e2b7ef45b510d076f09cf3", - "name": "MantonBM3_HiSeq_5_S21_L004_I1_001.fastq.gz", - "uuid": "0131fd23-816a-4fcd-9660-27c45022ec47", - "crc32c": "74c89f3e", - "version": "2018-03-29T10:39:08.271622Z", - "indexed": false, - "s3_etag": "9d02ffdff831d3eaf8fdd38ac679d12e-6", - "sha256": "74c1656471b79713e3cb3f65346c9eaad65b2a0e5bb5f88da10436425f5bb93e", - "content-type": "application/gzip; dcp-type=data", - "size": 364727178 - }, - "sequence_file/5c1ccd4f-d639-43d0-94b6-3baca6f8210d": { - "sha1": "6f88e022900ac994881fa6447817fb0626392197", - "name": "MantonBM4_HiSeq_6_S30_L001_R2_001.fastq.gz", - "uuid": "5c1ccd4f-d639-43d0-94b6-3baca6f8210d", - "crc32c": "2224201e", - "version": "2018-03-29T10:39:39.844965Z", - "indexed": false, - "s3_etag": "ecce9140ca3f347a1b2221b85ee144c3-52", - "sha256": "67146d9c025b53b942233d240a420449162bc5cdd85f8722e2e3707ed8fe8c5f", - "content-type": "application/gzip; dcp-type=data", - "size": 3468863958 - }, - "sequence_file/415a6ab3-aa59-4e68-8993-64fd1a0715be": { - "sha1": "ff197107ec9aad8b84f5390955c7d6a5d039467f", - "name": "MantonBM4_HiSeq_5_S29_L001_R1_001.fastq.gz", - "uuid": "415a6ab3-aa59-4e68-8993-64fd1a0715be", - "crc32c": "824318e8", - "version": "2018-03-29T10:39:33.096435Z", - "indexed": false, - "s3_etag": "505443076f9fa3e7d34d6e5cd851f0d8-19", - "sha256": "4662a6634ed5bb8cc28e09f017c114533e83eab454fbc71e66d685eb88b7bc20", - "content-type": "application/gzip; dcp-type=data", - "size": 1271805780 - }, - "sequence_file/9b84ab82-16ad-499d-916f-53c73a2537da": { - "sha1": "ff7f8ac792103481216e4094fe3486a620ea2592", - "name": "MantonBM2_HiSeq_5_S13_L005_R2_001.fastq.gz", - "uuid": "9b84ab82-16ad-499d-916f-53c73a2537da", - "crc32c": "188a25f9", - "version": "2018-03-29T10:38:41.361836Z", - "indexed": false, - "s3_etag": "3fac2bde7ab99a0a2f537a0b6c4c009f-56", - "sha256": "6c47802abe8a7696a5d02854c8e985ab5705f537e47da56b2d67b5a59e946af2", - "content-type": "application/gzip; dcp-type=data", - "size": 3739704640 - }, - "sequence_file/f6d5e9d9-2cf1-427b-b9e4-6da9a9fa2ae9": { - "sha1": "b33f9dbc7226a0a15f07ec4a376b9aec4876b60e", - "name": "MantonBM2_HiSeq_5_S13_L006_R1_001.fastq.gz", - "uuid": "f6d5e9d9-2cf1-427b-b9e4-6da9a9fa2ae9", - "crc32c": "77ad31f7", - "version": "2018-03-29T10:38:42.295803Z", - "indexed": false, - "s3_etag": "49b6093a2a9e5a11fe83280f07e1667a-18", - "sha256": "00a7bc83328dfb40420112c72e4527bc0f9931b5e3b0274436b4aad642b31c0d", - "content-type": "application/gzip; dcp-type=data", - "size": 1196991340 - }, - "sequence_file/32aeb59b-d1f7-4660-9b98-f72ebe671864": { - "sha1": "164a594011613a2622be1e4a1a396ec2cacc3bc0", - "name": "MantonBM4_HiSeq_1_S25_L002_R2_001.fastq.gz", - "uuid": "32aeb59b-d1f7-4660-9b98-f72ebe671864", - "crc32c": "fc1c7cab", - "version": "2018-03-29T10:39:23.103039Z", - "indexed": false, - "s3_etag": "0b4c780505237cee8c1559d5435fa794-57", - "sha256": "1ca41cd292fd3a761007f203fd0a4e759152bff84bc94bacbd8a7e9e48689e97", - "content-type": "application/gzip; dcp-type=data", - "size": 3808613493 - }, - "sequence_file/3e8bda58-fb04-44a1-9266-d32fcc73649c": { - "sha1": "38163d24c82436d7cdcf531c8aca5cc2e26aa2cd", - "name": "MantonBM1_HiSeq_2_S2_L008_I1_001.fastq.gz", - "uuid": "3e8bda58-fb04-44a1-9266-d32fcc73649c", - "crc32c": "a9834b93", - "version": "2018-03-29T10:38:06.395004Z", - "indexed": false, - "s3_etag": "7eb2b792184d4192a6e2bfcb38323b5e-6", - "sha256": "0ebd18cb390b356e51258c05b2e167c7fdae86bc004c5e25af352b2a335c91a8", - "content-type": "application/gzip; dcp-type=data", - "size": 353531583 - }, - "sequence_file/60e007a2-6d1d-49df-8dfa-358ebfe397a7": { - "sha1": "880b039d06f09c5b985d54abb1fbab594f20c061", - "name": "MantonBM3_HiSeq_3_S19_L003_R2_001.fastq.gz", - "uuid": "60e007a2-6d1d-49df-8dfa-358ebfe397a7", - "crc32c": "12f7c964", - "version": "2018-03-29T10:39:02.023194Z", - "indexed": false, - "s3_etag": "45fe547562ce852db2f131a53e04975f-52", - "sha256": "ea0f2d9e88ef21238fff93e653cedb6a9c82dc390ea1695ac1d69931be666dbb", - "content-type": "application/gzip; dcp-type=data", - "size": 3473342582 - }, - "sequence_file/551caaec-e076-4794-9096-7b8f5176e9c3": { - "sha1": "4f9f236784a534c2cc5bd9d377cc6c7f9466712a", - "name": "MantonBM4_HiSeq_5_S29_L001_I1_001.fastq.gz", - "uuid": "551caaec-e076-4794-9096-7b8f5176e9c3", - "crc32c": "0fb68f8e", - "version": "2018-03-29T10:39:32.533899Z", - "indexed": false, - "s3_etag": "6a7ef3802bf2ca21035c6eff86142e33-7", - "sha256": "ca7fb10a47e36c8f0935f0de57edc6c4c9be050c29969aec3df4e464df8c2ca2", - "content-type": "application/gzip; dcp-type=data", - "size": 424405744 - }, - "sequence_file/ffa21ee7-98c7-4275-a28f-ab87350b6317": { - "sha1": "13bac6c2aeea1765f081bf10d3f29d65f54cdebf", - "name": "MantonBM4_HiSeq_5_S29_L002_R2_001.fastq.gz", - "uuid": "ffa21ee7-98c7-4275-a28f-ab87350b6317", - "crc32c": "b9cc83a2", - "version": "2018-03-29T10:39:37.294933Z", - "indexed": false, - "s3_etag": "34232ac38a01519e6983f3f19af85b47-54", - "sha256": "80bd46e07e5d18f638fe5f1fe2b3149a2ae6573cd991b6541cf37f2ae9ea8176", - "content-type": "application/gzip; dcp-type=data", - "size": 3557385219 - }, - "sequence_file/e2e3b95f-8f87-475c-8338-13c08fef0b8e": { - "sha1": "e5d1cae2b49eb066831e404db3cb79814195bbba", - "name": "MantonBM3_HiSeq_6_S22_L004_R1_001.fastq.gz", - "uuid": "e2e3b95f-8f87-475c-8338-13c08fef0b8e", - "crc32c": "af588303", - "version": "2018-03-29T10:39:11.674641Z", - "indexed": false, - "s3_etag": "14ba90df19d1788c9e1ce1963349ad4f-17", - "sha256": "8dc84d7e3de78264dd24dc75f8ec40aaba0991c4f8bf41f94fac380d8f3ebacc", - "content-type": "application/gzip; dcp-type=data", - "size": 1108034986 - }, - "sequence_file/f4db906f-02a2-4e78-a944-f70f6ecfba6e": { - "sha1": "276b8b557554cf7c7e7148733c08b3b5a4297557", - "name": "MantonBM2_HiSeq_1_S9_L006_R1_001.fastq.gz", - "uuid": "f4db906f-02a2-4e78-a944-f70f6ecfba6e", - "crc32c": "c27458cf", - "version": "2018-03-29T10:38:29.482790Z", - "indexed": false, - "s3_etag": "72490bf5f98f7f90af00db1e5cfd7dfb-16", - "sha256": "ddc234a862bb787c0605e7c61b2281911317a1558bbc02d62286b1fcca59c19b", - "content-type": "application/gzip; dcp-type=data", - "size": 1028517331 - }, - "sequence_file/5b14f043-ca67-4b07-adf7-b5d9b2405566": { - "sha1": "7b332008adbe5f03ba9e2337e86dc5aeb76c8c60", - "name": "MantonBM3_HiSeq_7_S23_L003_R1_001.fastq.gz", - "uuid": "5b14f043-ca67-4b07-adf7-b5d9b2405566", - "crc32c": "0c60290a", - "version": "2018-03-29T10:39:13.525469Z", - "indexed": false, - "s3_etag": "fc4150f6a284a4cefcb97f2e11b438aa-16", - "sha256": "8226c635055647918953149af30c27438ef52df8d65bb3e8016228c350a8f22f", - "content-type": "application/gzip; dcp-type=data", - "size": 1057668507 - }, - "sequence_file/66aad53b-645e-4d69-89ed-47ed82890546": { - "sha1": "6ec22768d694081c55359a56b0eb80a06e55c0cc", - "name": "MantonBM2_HiSeq_7_S15_L005_I1_001.fastq.gz", - "uuid": "66aad53b-645e-4d69-89ed-47ed82890546", - "crc32c": "a4849178", - "version": "2018-03-29T10:38:46.625772Z", - "indexed": false, - "s3_etag": "8134fd5a7fc4f2447e1d769dd3dcb1fb-8", - "sha256": "057e9b9b6982f9aa104734072a92daa0eece8292b7ff4724b6513dd36d986e45", - "content-type": "application/gzip; dcp-type=data", - "size": 480079312 - }, - "sequence_file/55ca5e22-f148-4a7c-82c9-005e1d9f9ece": { - "sha1": "99b2b12a86e5898d2e4aa83f0efd251a4f713be6", - "name": "MantonBM1_HiSeq_6_S6_L007_R2_001.fastq.gz", - "uuid": "55ca5e22-f148-4a7c-82c9-005e1d9f9ece", - "crc32c": "25404e74", - "version": "2018-03-29T10:38:18.402756Z", - "indexed": false, - "s3_etag": "469011b06e2436dcdd722359d58b9397-60", - "sha256": "b0da469ea3a0db9df6774535d12745f3d7a2a36d2237bec17c66a724e3e20d41", - "content-type": "application/gzip; dcp-type=data", - "size": 4021256165 - }, - "sequence_file/aa28d2a1-9e50-471a-a891-7ecf278b467a": { - "sha1": "2ab9924fda4f09b66a31328c7129c5cac91783d1", - "name": "MantonBM1_HiSeq_6_S6_L008_I1_001.fastq.gz", - "uuid": "aa28d2a1-9e50-471a-a891-7ecf278b467a", - "crc32c": "c8416f1b", - "version": "2018-03-29T10:38:18.835373Z", - "indexed": false, - "s3_etag": "0036b1dc70484625977ec7e8f1b979cf-7", - "sha256": "21e2808b0be2de57122391c3ebc0ce7c7b8693b24cd827ba79d4c8310a1df927", - "content-type": "application/gzip; dcp-type=data", - "size": 444479892 - }, - "sequence_file/8e6df880-5417-4b70-b79c-ad2c9e4c88e7": { - "sha1": "f7b9fe3a45a4bb99c78d28a96712da63948143e9", - "name": "MantonBM2_HiSeq_2_S10_L006_I1_001.fastq.gz", - "uuid": "8e6df880-5417-4b70-b79c-ad2c9e4c88e7", - "crc32c": "1e51ec0a", - "version": "2018-03-29T10:38:32.360610Z", - "indexed": false, - "s3_etag": "2cf8a4fea1c7b3953f33993624e90a1a-6", - "sha256": "e2f42337db947e99f03875c8c3506b6de70871e72b367a44a9202535b97b7a09", - "content-type": "application/gzip; dcp-type=data", - "size": 392411808 - }, - "sequence_file/1705dea1-fff5-4f39-985d-b2a70f5d2ea1": { - "sha1": "691464fbf8783584101b1eae310b4720389b9ed2", - "name": "MantonBM4_HiSeq_2_S26_L001_R1_001.fastq.gz", - "uuid": "1705dea1-fff5-4f39-985d-b2a70f5d2ea1", - "crc32c": "5dd3df2a", - "version": "2018-03-29T10:39:24.028567Z", - "indexed": false, - "s3_etag": "057da48e5e3b4877512a39fa91baae38-17", - "sha256": "cb5919a923ec601dd9867515a33a12971d4ced8f8e483f9aa1dda98e4970bb9c", - "content-type": "application/gzip; dcp-type=data", - "size": 1140355749 - }, - "sequence_file/c03c121a-31e9-4a79-93d7-4030c1e5eee8": { - "sha1": "2b668392e8c56d273a406e9ed8d12e20441b8503", - "name": "MantonBM3_HiSeq_2_S18_L004_R2_001.fastq.gz", - "uuid": "c03c121a-31e9-4a79-93d7-4030c1e5eee8", - "crc32c": "735ada40", - "version": "2018-03-29T10:39:00.742160Z", - "indexed": false, - "s3_etag": "4a9ce9c3919e61a9bdd1da6664016232-70", - "sha256": "6166b77236922993ff4fc3ef4561c591f5d7007a6b1bc92cb228984fdc6f3a8b", - "content-type": "application/gzip; dcp-type=data", - "size": 4661230996 - }, - "sequence_file/c3c9b724-b79b-4988-934d-b22f673c4823": { - "sha1": "b0b8db4314c2da13dd2da4c0fb150144dd71552c", - "name": "MantonBM1_HiSeq_2_S2_L007_R2_001.fastq.gz", - "uuid": "c3c9b724-b79b-4988-934d-b22f673c4823", - "crc32c": "c1308a1c", - "version": "2018-03-29T10:38:05.976958Z", - "indexed": false, - "s3_etag": "aa84de2ad5e7319be099ce3bacbd1e6e-49", - "sha256": "73e9e1ba26031d0782054f834bda3995d666e99d5d7e54e0839a4adb2658f63f", - "content-type": "application/gzip; dcp-type=data", - "size": 3258483528 - }, - "sequence_file/8eca3a7d-67f1-412d-9d3a-704c8218cee2": { - "sha1": "93038c3f9626cb4957159e5d351eb1d7d4e6da74", - "name": "MantonBM4_HiSeq_4_S28_L001_R1_001.fastq.gz", - "uuid": "8eca3a7d-67f1-412d-9d3a-704c8218cee2", - "crc32c": "fad4a59d", - "version": "2018-03-29T10:39:30.234831Z", - "indexed": false, - "s3_etag": "32e7d8fd2eb2c6dbb77cc9d17761abbc-18", - "sha256": "db1028ee17e73ff5bc28b44619fa59f2222c4c299975fdef665d9b0ee1ac20f3", - "content-type": "application/gzip; dcp-type=data", - "size": 1201757631 - }, - "sequence_file/3641ab2b-35f7-453d-ae7e-9f3ae7ced860": { - "sha1": "535fdbba9713ab30d0e5a951ea98c47b106d5b7d", - "name": "MantonBM1_HiSeq_3_S3_L008_R2_001.fastq.gz", - "uuid": "3641ab2b-35f7-453d-ae7e-9f3ae7ced860", - "crc32c": "efcbb8e7", - "version": "2018-03-29T10:38:10.361938Z", - "indexed": false, - "s3_etag": "22be1a7a69725011d46c2675aa9844c4-46", - "sha256": "7e4ffb07ed82854ae4fc655a771bf7231abbc3a72760f201f34182d4b3cf8844", - "content-type": "application/gzip; dcp-type=data", - "size": 3058564206 - }, - "sequence_file/4502aed4-857b-4760-83e0-de5ef6a15671": { - "sha1": "5f7f38337106ebe0a55d0166b7420aa186741afc", - "name": "MantonBM1_HiSeq_3_S3_L008_R1_001.fastq.gz", - "uuid": "4502aed4-857b-4760-83e0-de5ef6a15671", - "crc32c": "4f40b91e", - "version": "2018-03-29T10:38:09.803281Z", - "indexed": false, - "s3_etag": "9aa6a5c087fa6f1051173ef4bbc92589-16", - "sha256": "19a9410a9cc37e0266f99e3d1c37d94b43c35cff6f16677fc747f68a18a89f8f", - "content-type": "application/gzip; dcp-type=data", - "size": 1020461563 - }, - "sequence_file/37ea959a-47bd-4a35-8468-8fc6bc5b4dfd": { - "sha1": "ac9c8a4af5659e88859c48a4aee3dea7660f9b92", - "name": "MantonBM2_HiSeq_4_S12_L005_I1_001.fastq.gz", - "uuid": "37ea959a-47bd-4a35-8468-8fc6bc5b4dfd", - "crc32c": "d91fb9f4", - "version": "2018-03-29T10:38:37.343458Z", - "indexed": false, - "s3_etag": "8a01d684d288635e65d76dced4a68306-6", - "sha256": "83c7098b4c86c3400af0ec9498a02fce37f86b75586fd461795fb369d2b60d85", - "content-type": "application/gzip; dcp-type=data", - "size": 385467775 - }, - "sequence_file/65755624-9cf1-4f0e-96f5-e4c30a6ee2d9": { - "sha1": "277da4f75a00d7ab4d54561987cc8b8c859a4e8a", - "name": "MantonBM1_HiSeq_1_S1_L007_R2_001.fastq.gz", - "uuid": "65755624-9cf1-4f0e-96f5-e4c30a6ee2d9", - "crc32c": "3cf0522d", - "version": "2018-03-29T10:38:02.602167Z", - "indexed": false, - "s3_etag": "f8cdd5ae05e3100cc2de5bca519e3527-48", - "sha256": "8a7c6b2f58ad87794cb046bd8c7605675f2055b5dfad1d2b4dd52c3a3ea765dd", - "content-type": "application/gzip; dcp-type=data", - "size": 3198000627 - }, - "sequence_file/05c46800-9101-4151-9b4b-3a0fe981e76e": { - "sha1": "35723b0fa4d62fc0a2880b42f0dec042dcbd4670", - "name": "MantonBM4_HiSeq_8_S32_L001_R2_001.fastq.gz", - "uuid": "05c46800-9101-4151-9b4b-3a0fe981e76e", - "crc32c": "818fdff0", - "version": "2018-03-29T10:39:44.686332Z", - "indexed": false, - "s3_etag": "d8a4ba707a07f3df9b412aeb4d284bfa-57", - "sha256": "588df046cf3d5f6620ab903243c3844aabe040fc6c76c418cc1e0d9af9ad436a", - "content-type": "application/gzip; dcp-type=data", - "size": 3765035771 - }, - "sequence_file/cae932bf-4d22-4466-8ea3-a76cffd1dab1": { - "sha1": "825a07caa0df70fa03303b16f36f6dc9fc5227f4", - "name": "MantonBM2_HiSeq_5_S13_L006_R2_001.fastq.gz", - "uuid": "cae932bf-4d22-4466-8ea3-a76cffd1dab1", - "crc32c": "cc77b24c", - "version": "2018-03-29T10:38:42.775529Z", - "indexed": false, - "s3_etag": "d2e83e2520390d8c47d3f8ed8c861676-53", - "sha256": "f4d66c94ee0570c6bf835304d9b6ff18c08c1fdb2ffb6cfab990267fade4db3b", - "content-type": "application/gzip; dcp-type=data", - "size": 3529769861 - }, - "sequence_file/c92d030e-2530-441a-a1e9-3f8d2fd7dc46": { - "sha1": "020add9dd4653f986c5c5aad7e1e0d46e08a5078", - "name": "MantonBM2_HiSeq_7_S15_L005_R1_001.fastq.gz", - "uuid": "c92d030e-2530-441a-a1e9-3f8d2fd7dc46", - "crc32c": "15413903", - "version": "2018-03-29T10:38:47.663158Z", - "indexed": false, - "s3_etag": "71ed3f2fab9251fd157402bc3fd1658f-22", - "sha256": "c43809dd5bd00109d4cd622d327c7ced3e7532a9afdfcda40060a131ff660cf5", - "content-type": "application/gzip; dcp-type=data", - "size": 1454340638 - }, - "sequence_file/a2ef2eb3-4f87-456b-bdab-71d062e30722": { - "sha1": "6deeed8984c640d26518ab287f7be40f9fa89aff", - "name": "MantonBM1_HiSeq_7_S7_L007_R1_001.fastq.gz", - "uuid": "a2ef2eb3-4f87-456b-bdab-71d062e30722", - "crc32c": "051dd4dc", - "version": "2018-03-29T10:38:20.895901Z", - "indexed": false, - "s3_etag": "b6c81a9aaf7c2f2182a053093dfe32e4-20", - "sha256": "ad0d1082d2751d3ceed9584fd6d1c7ea2e4c154638758e23bb22200caa4c7bc8", - "content-type": "application/gzip; dcp-type=data", - "size": 1297637588 - }, - "sequence_file/3d94a11d-f106-4f85-b4bd-93d8bf2530ea": { - "sha1": "418a2e8fef3e3c2fdc446863907ab771c50604a4", - "name": "MantonBM1_HiSeq_6_S6_L007_I1_001.fastq.gz", - "uuid": "3d94a11d-f106-4f85-b4bd-93d8bf2530ea", - "crc32c": "0b5bcdde", - "version": "2018-03-29T10:38:17.320793Z", - "indexed": false, - "s3_etag": "0e1745d9d0d9f83f9f6e6eb0ead39405-7", - "sha256": "5143bf50b96af720d1a0b0ab2edb0e00348e7366b2898dd79f7bcfb958381d32", - "content-type": "application/gzip; dcp-type=data", - "size": 453960475 - }, - "sequence_file/31fd2963-0fd5-451b-a21f-9963e65cb6f3": { - "sha1": "e351651464799249e97d95d9eaad6de770b8e77b", - "name": "MantonBM1_HiSeq_5_S5_L008_R2_001.fastq.gz", - "uuid": "31fd2963-0fd5-451b-a21f-9963e65cb6f3", - "crc32c": "2b682235", - "version": "2018-03-29T10:38:16.901880Z", - "indexed": false, - "s3_etag": "ae8052d286d19bbfdb521e93a6ddf9c8-54", - "sha256": "0125d9f70dc0a2f85355b5a3be711a37a4da568c6d16f2e33a2c2fb322390433", - "content-type": "application/gzip; dcp-type=data", - "size": 3598499563 - }, - "sequence_file/89254219-e37c-4493-a339-0e426c826fcf": { - "sha1": "7ed05513fd8f7e0f16d6ccd54bc75d33e30e770f", - "name": "MantonBM1_HiSeq_8_S8_L007_R2_001.fastq.gz", - "uuid": "89254219-e37c-4493-a339-0e426c826fcf", - "crc32c": "fbcbc2a8", - "version": "2018-03-29T10:38:24.346189Z", - "indexed": false, - "s3_etag": "859d5f210aefac7de092e25078dffd0a-58", - "sha256": "9bd61d992db0950e4660d2ca4c85567618870b804d6e242ed70dc4407959e095", - "content-type": "application/gzip; dcp-type=data", - "size": 3840715295 - }, - "sequence_file/3aaa7031-22c5-4339-ac54-d6583303bc6d": { - "sha1": "a1c4afb5e8c1dec16fdc42bb12351d50d438d582", - "name": "MantonBM1_HiSeq_3_S3_L008_I1_001.fastq.gz", - "uuid": "3aaa7031-22c5-4339-ac54-d6583303bc6d", - "crc32c": "74ec388c", - "version": "2018-03-29T10:38:09.282209Z", - "indexed": false, - "s3_etag": "4f96ccbaeee48bb76bba13c04262861f-6", - "sha256": "a09bd3669ce3ed01715a565ca8f3c6f81105380267b51de1031fdcbd6c325bb9", - "content-type": "application/gzip; dcp-type=data", - "size": 347443019 - }, - "sequence_file/6d7e8891-156b-4b23-848c-8ef75230cbbd": { - "sha1": "9d0b5e987b12d1b7fe33a90f98470c36fd756b1f", - "name": "MantonBM4_HiSeq_4_S28_L001_I1_001.fastq.gz", - "uuid": "6d7e8891-156b-4b23-848c-8ef75230cbbd", - "crc32c": "b06b9fd3", - "version": "2018-03-29T10:39:29.807964Z", - "indexed": false, - "s3_etag": "896d846af673b8467b4f479f5c9b7712-6", - "sha256": "5839f64a1afc202b53f625398c725ade5c5635fb33bbf1ced269a6ee173424af", - "content-type": "application/gzip; dcp-type=data", - "size": 396798406 - }, - "sequence_file/e0e1175b-fe0f-41f3-af58-cd745c64704d": { - "sha1": "4d05db76f631f16abfc9481c6f5d3876a7fc56c5", - "name": "MantonBM3_HiSeq_5_S21_L003_R1_001.fastq.gz", - "uuid": "e0e1175b-fe0f-41f3-af58-cd745c64704d", - "crc32c": "12be0411", - "version": "2018-03-29T10:39:07.227244Z", - "indexed": false, - "s3_etag": "fdf79417341da097a0451779302357d4-18", - "sha256": "97ecc1b8c7be262d907644e5c0a294422970a0797021e88d6e5c6f94253ff7fd", - "content-type": "application/gzip; dcp-type=data", - "size": 1144299138 - }, - "sequence_file/948a2a49-c334-42ee-8ad0-e92ee7a72fc6": { - "sha1": "90ad5a05879bbb98ab6c53198f22ff9d36e0a9f8", - "name": "MantonBM3_HiSeq_5_S21_L004_R1_001.fastq.gz", - "uuid": "948a2a49-c334-42ee-8ad0-e92ee7a72fc6", - "crc32c": "cd9c6d63", - "version": "2018-03-29T10:39:08.793779Z", - "indexed": false, - "s3_etag": "28dd73fbe82f3d8827312681ee2b8e9f-17", - "sha256": "e22aab5a589b9cfd4255a83aa297e90c3f15bf0cebae11a9e2cbf13664c471a1", - "content-type": "application/gzip; dcp-type=data", - "size": 1084525322 - }, - "sequence_file/70e83656-b4c8-4453-9d99-08989b2baf6e": { - "sha1": "a1ceaa56ca44e002e7d7b97962caa268f1dd795f", - "name": "MantonBM4_HiSeq_7_S31_L001_R2_001.fastq.gz", - "uuid": "70e83656-b4c8-4453-9d99-08989b2baf6e", - "crc32c": "9d19435b", - "version": "2018-03-29T10:39:42.391052Z", - "indexed": false, - "s3_etag": "bde71b6d715c7b810f2d2dd843f4b6f1-52", - "sha256": "3c8cc310b36328c99a0dabc8a1218672f5424007f1210a6fec20a878fcfaebdf", - "content-type": "application/gzip; dcp-type=data", - "size": 3432562751 - }, - "sequence_file/0cf26327-ce69-4e4e-b1ad-efdc3ffd9195": { - "sha1": "7ac6ac6ab70c644528777c3a5ffab198a5ec1836", - "name": "MantonBM4_HiSeq_6_S30_L002_I1_001.fastq.gz", - "uuid": "0cf26327-ce69-4e4e-b1ad-efdc3ffd9195", - "crc32c": "ee860f81", - "version": "2018-03-29T10:39:40.282704Z", - "indexed": false, - "s3_etag": "7487a77e96fb0d829557b453c4ff8b7c-6", - "sha256": "7b13ce248a2ca492135ee9c9d81aee135aa0777aadeff82537126806da0a9cf5", - "content-type": "application/gzip; dcp-type=data", - "size": 371925162 - }, - "sequence_file/ff5f0c7a-b90c-4cca-9fce-d72f28a1e8a5": { - "sha1": "299b4be1ee435bf177af57da6f48b97377616d48", - "name": "MantonBM3_HiSeq_5_S21_L003_I1_001.fastq.gz", - "uuid": "ff5f0c7a-b90c-4cca-9fce-d72f28a1e8a5", - "crc32c": "ef9b621f", - "version": "2018-03-29T10:39:06.788436Z", - "indexed": false, - "s3_etag": "49b207069be4aae1179aa3b36af9000b-6", - "sha256": "8a017f581c83530f647404a78bccdddcc03cb06164530b217c32fddc321f1724", - "content-type": "application/gzip; dcp-type=data", - "size": 382823742 - }, - "sequence_file/fa69feb4-152a-4ac9-bb44-8b2b4b3e8176": { - "sha1": "34a5fe4138f956493af1480598aa3a70afba0c4f", - "name": "MantonBM3_HiSeq_2_S18_L003_R2_001.fastq.gz", - "uuid": "fa69feb4-152a-4ac9-bb44-8b2b4b3e8176", - "crc32c": "05348fc3", - "version": "2018-03-29T10:38:59.322518Z", - "indexed": false, - "s3_etag": "9d072595c39ee71795fd40c135df082d-74", - "sha256": "18f97fac0ab18cfbbe3983b2dbe19bdb0099ccb036c53a9f21019e697477497d", - "content-type": "application/gzip; dcp-type=data", - "size": 4918045855 - }, - "sequence_file/9d70fcb9-9317-47ba-a6be-7169d23af75a": { - "sha1": "27ba05a692e12321028eb7f32d90a49992609421", - "name": "MantonBM3_HiSeq_2_S18_L004_R1_001.fastq.gz", - "uuid": "9d70fcb9-9317-47ba-a6be-7169d23af75a", - "crc32c": "9f30b18a", - "version": "2018-03-29T10:39:00.268589Z", - "indexed": false, - "s3_etag": "f3a07adc0f0bdd1370361c4fe350c521-24", - "sha256": "b7ea39dd0068d3f6f839553d8461d27cf28e31aa64519ebf7219400ad0d79511", - "content-type": "application/gzip; dcp-type=data", - "size": 1570379920 - }, - "sequence_file/0fa33de0-5ac6-43d4-8df8-006b0259f6a4": { - "sha1": "313a5698cbc17464cc6c5d06038279ba54b8e6ce", - "name": "MantonBM1_HiSeq_1_S1_L007_R1_001.fastq.gz", - "uuid": "0fa33de0-5ac6-43d4-8df8-006b0259f6a4", - "crc32c": "f4fe0ed1", - "version": "2018-03-29T10:38:02.099075Z", - "indexed": false, - "s3_etag": "927f686545cdcd8167c6303dd914a6dc-17", - "sha256": "a6c82a35549fcc5eefff49bf862360d6169c588c3e2250975322f12af215fd6b", - "content-type": "application/gzip; dcp-type=data", - "size": 1083286577 - }, - "sequence_file/10ec7489-07a9-4848-86f1-f9b8b8eda316": { - "sha1": "9bce32b36e2448162ef567c8971557c7dbb97678", - "name": "MantonBM2_HiSeq_1_S9_L006_I1_001.fastq.gz", - "uuid": "10ec7489-07a9-4848-86f1-f9b8b8eda316", - "crc32c": "882c4a6a", - "version": "2018-03-29T10:38:28.945922Z", - "indexed": false, - "s3_etag": "331957e6c7770a1c816a36f8cdf358b9-6", - "sha256": "66d906a82106f0bbe5c95af4e6c1696a9f1f271be1601d06ba2342b0c14aea1d", - "content-type": "application/gzip; dcp-type=data", - "size": 342624413 - }, - "sequence_file/500aa99d-776e-4418-b708-58a9075daa3b": { - "sha1": "840b1e94bf3b4cca8f0b5b4a04780e4b005b26e1", - "name": "MantonBM3_HiSeq_4_S20_L003_I1_001.fastq.gz", - "uuid": "500aa99d-776e-4418-b708-58a9075daa3b", - "crc32c": "5a633bb7", - "version": "2018-03-29T10:39:03.790605Z", - "indexed": false, - "s3_etag": "54a1352d4ae7be432b2be6639540ff01-8", - "sha256": "6c8077b0dba7a2d1e7d9de4e565d3bef20477c4448f353a0c1ac3d855b279caf", - "content-type": "application/gzip; dcp-type=data", - "size": 476402793 - }, - "sequence_file/94f47ceb-f4b3-4e6c-9fb4-55c428507e75": { - "sha1": "0db32dd60554a0191d3cbd6529f177af6c0ebafe", - "name": "MantonBM4_HiSeq_8_S32_L001_R1_001.fastq.gz", - "uuid": "94f47ceb-f4b3-4e6c-9fb4-55c428507e75", - "crc32c": "52bd917b", - "version": "2018-03-29T10:39:44.332478Z", - "indexed": false, - "s3_etag": "2f19576e37e3ec38638041d58fb45aeb-20", - "sha256": "ff621ac1e5ca789bec43e6a66c1cc1a4eadbe886bb770b585b8d2a51941e20b3", - "content-type": "application/gzip; dcp-type=data", - "size": 1309177499 - }, - "sequence_file/fc93721d-74f9-4dd4-adcb-ed6b1b2e0424": { - "sha1": "10b4ce680d981cde14342a519168bcb9203cad96", - "name": "MantonBM1_HiSeq_3_S3_L007_R2_001.fastq.gz", - "uuid": "fc93721d-74f9-4dd4-adcb-ed6b1b2e0424", - "crc32c": "98c5f070", - "version": "2018-03-29T10:38:08.799310Z", - "indexed": false, - "s3_etag": "e303c175ecdec1da298f0ea26cda4073-49", - "sha256": "1449bfa968ad93db7d1ccbc2f9a937c8bfc8dea21a849b9383278284a583a402", - "content-type": "application/gzip; dcp-type=data", - "size": 3249791380 - }, - "sequence_file/1f3da46c-e8df-4300-b197-0307a3208beb": { - "sha1": "997162fe563086bce629cabfe9561c3ea2616e52", - "name": "MantonBM2_HiSeq_7_S15_L006_R1_001.fastq.gz", - "uuid": "1f3da46c-e8df-4300-b197-0307a3208beb", - "crc32c": "ad0e2dba", - "version": "2018-03-29T10:38:49.423476Z", - "indexed": false, - "s3_etag": "d6f60d249c4add83b26676fbd0b266ec-21", - "sha256": "789df03dd4e2d3882928be9c2b347a2f1176a9bbdf816d8b9dd7461f02b241a7", - "content-type": "application/gzip; dcp-type=data", - "size": 1364045044 - }, - "sequence_file/14d610ac-504c-4c5c-8f5b-2b2e0d6b9a9c": { - "sha1": "dc3deb935b56c9a6e76af9fccc942670fb8acf6f", - "name": "MantonBM1_HiSeq_4_S4_L008_R1_001.fastq.gz", - "uuid": "14d610ac-504c-4c5c-8f5b-2b2e0d6b9a9c", - "crc32c": "8ab2b28a", - "version": "2018-03-29T10:38:13.122790Z", - "indexed": false, - "s3_etag": "6a30793a0942768a1a03102a3b3de941-17", - "sha256": "25acc4919f33580089b36737bf6d99e5a11037d1c7034648d9ba4c67c5d6c171", - "content-type": "application/gzip; dcp-type=data", - "size": 1105024851 - }, - "sequence_file/62e42770-9481-48e4-9705-1f4c6da2ae43": { - "sha1": "751a1243c5a119ad486edb0a17518e50ff524aa1", - "name": "MantonBM1_HiSeq_2_S2_L008_R1_001.fastq.gz", - "uuid": "62e42770-9481-48e4-9705-1f4c6da2ae43", - "crc32c": "5db0978e", - "version": "2018-03-29T10:38:06.802992Z", - "indexed": false, - "s3_etag": "7d2bd1330f4160b0e7ea37ef3500719e-16", - "sha256": "51e7eb77b761ed59712e8d2929efd6fa8781c5141234c4786592156a9f3a13d5", - "content-type": "application/gzip; dcp-type=data", - "size": 1037242681 - }, - "sequence_file/e97970fa-381f-4deb-9bfe-ed6c227bd89c": { - "sha1": "c18867bd339a262585f40b94986edda54944cd5c", - "name": "MantonBM2_HiSeq_5_S13_L005_R1_001.fastq.gz", - "uuid": "e97970fa-381f-4deb-9bfe-ed6c227bd89c", - "crc32c": "deba0578", - "version": "2018-03-29T10:38:40.755333Z", - "indexed": false, - "s3_etag": "575c630b9a372ad0a30fe4db7984c301-20", - "sha256": "a84afd95f27530bc5bcfc46add7f01dcc976d330f2a641eac143f7411c140c19", - "content-type": "application/gzip; dcp-type=data", - "size": 1276832915 - }, - "sequence_file/e1286902-46fa-45c5-b9ac-498058c09ec9": { - "sha1": "e7124ec8ca7c33d1ff027d70298dc0d06b931055", - "name": "MantonBM3_HiSeq_7_S23_L004_R2_001.fastq.gz", - "uuid": "e1286902-46fa-45c5-b9ac-498058c09ec9", - "crc32c": "a47c1732", - "version": "2018-03-29T10:39:15.741562Z", - "indexed": false, - "s3_etag": "d30cdb4a7a1bc907da1631bb5dcbc0fc-45", - "sha256": "5bd82f2d7f2daf9ad4bcd855da13210258752b112e067538b04c02ec3d473c7f", - "content-type": "application/gzip; dcp-type=data", - "size": 2985467526 - }, - "sequence_file/fac833de-2bb8-4f4a-a1dd-6136fbc288b1": { - "sha1": "b4cc22fbd1ed774720512a36f010e0dae5f56cad", - "name": "MantonBM4_HiSeq_3_S27_L002_R1_001.fastq.gz", - "uuid": "fac833de-2bb8-4f4a-a1dd-6136fbc288b1", - "crc32c": "5373a83b", - "version": "2018-03-29T10:39:28.883842Z", - "indexed": false, - "s3_etag": "68c9ac4be6286d6e39d227dc104ee52f-17", - "sha256": "3dd36e50d9375e5e87e6d0169e45779e9e36bbcfd6e70dc2462dc8a2096e58f0", - "content-type": "application/gzip; dcp-type=data", - "size": 1121786543 - }, - "sequence_file/cab74e16-3229-4808-922a-743447d7da23": { - "sha1": "fbbc2260977ca41e7c8c0b6c67e5751747fe84c9", - "name": "MantonBM4_HiSeq_3_S27_L002_I1_001.fastq.gz", - "uuid": "cab74e16-3229-4808-922a-743447d7da23", - "crc32c": "5f3a996f", - "version": "2018-03-29T10:39:28.071752Z", - "indexed": false, - "s3_etag": "65e3963f01950b210950fa0004213ea7-6", - "sha256": "359806ecc98e747230e69b45d367118f94e187df58604509d8f9e0b7a2fbf1f4", - "content-type": "application/gzip; dcp-type=data", - "size": 367927338 - }, - "sequence_file/cb5df08f-68c8-4dfd-9581-d3828d7b7f2b": { - "sha1": "3ae69c3b3b053b5f1147ebf65b7d4f4ccf2c59c5", - "name": "MantonBM3_HiSeq_7_S23_L003_R2_001.fastq.gz", - "uuid": "cb5df08f-68c8-4dfd-9581-d3828d7b7f2b", - "crc32c": "b25362b8", - "version": "2018-03-29T10:39:14.040241Z", - "indexed": false, - "s3_etag": "7cfd97dfc3ba89212d49782566288ac5-48", - "sha256": "2da7508914ff812df44e0fa55f404e488bd3ab89bbf95ae238051492f9fda3c7", - "content-type": "application/gzip; dcp-type=data", - "size": 3176322234 - }, - "sequence_file/7844a2e7-6307-4e70-af10-fdcff29496e2": { - "sha1": "d39446d2dc41bb36ed7e86381729a67202a931cc", - "name": "MantonBM4_HiSeq_1_S25_L001_R2_001.fastq.gz", - "uuid": "7844a2e7-6307-4e70-af10-fdcff29496e2", - "crc32c": "be1b136e", - "version": "2018-03-29T10:39:21.040258Z", - "indexed": false, - "s3_etag": "65c24c44fc6111d25ae287783690ea62-57", - "sha256": "639d2f200224b73d60889aabfe92f572c68f13ff0919c67c12fcb3808682e68a", - "content-type": "application/gzip; dcp-type=data", - "size": 3822118820 - }, - "sequence_file/e3dbda3e-f81d-42fb-85d7-92256229c9c1": { - "sha1": "8450ba663d6f5955d5e55c1bd75f0c592db76c3e", - "name": "MantonBM3_HiSeq_4_S20_L004_I1_001.fastq.gz", - "uuid": "e3dbda3e-f81d-42fb-85d7-92256229c9c1", - "crc32c": "a78dd320", - "version": "2018-03-29T10:39:05.302515Z", - "indexed": false, - "s3_etag": "a7a1bf3166427cf14354a36ac607ba49-7", - "sha256": "032772bdb7a473501b810c24995d487e4c5c15f466ec16362426146feb83306f", - "content-type": "application/gzip; dcp-type=data", - "size": 460611661 - }, - "sequence_file/68c14f04-48d2-404e-9b3e-cefabe0d4256": { - "sha1": "bb5c45457ca56ccc0fe1302bdbf2891256291eac", - "name": "MantonBM3_HiSeq_3_S19_L004_R1_001.fastq.gz", - "uuid": "68c14f04-48d2-404e-9b3e-cefabe0d4256", - "crc32c": "fe313496", - "version": "2018-03-29T10:39:02.885341Z", - "indexed": false, - "s3_etag": "8e079d4c6e7785c23727cb712f51c60d-17", - "sha256": "a38a23ab7db5add701386b27bb5b82e5188f8b1cbc59eb10d216f4cee0a3da16", - "content-type": "application/gzip; dcp-type=data", - "size": 1123506860 - }, - "sequence_file/bd2f2534-276f-47f4-a3d3-b1ad09b41554": { - "sha1": "08161c2aacf33e3de11e98d31cae1ac9e7a50177", - "name": "MantonBM2_HiSeq_6_S14_L006_I1_001.fastq.gz", - "uuid": "bd2f2534-276f-47f4-a3d3-b1ad09b41554", - "crc32c": "9aad21ab", - "version": "2018-03-29T10:38:45.118142Z", - "indexed": false, - "s3_etag": "22d792cf66a08a38d07b4ea7a1207876-6", - "sha256": "94807235cc81655ae01ae9fd2c560c583b8df773d10026eba9d921f7e5e36f96", - "content-type": "application/gzip; dcp-type=data", - "size": 392301062 - }, - "sequence_file/8bf97ca3-2d03-4ac2-8c11-cd8decadf586": { - "sha1": "a267e3a7f1cc016b9881ad85aefbb95355355684", - "name": "MantonBM1_HiSeq_7_S7_L008_I1_001.fastq.gz", - "uuid": "8bf97ca3-2d03-4ac2-8c11-cd8decadf586", - "crc32c": "0f122344", - "version": "2018-03-29T10:38:21.902795Z", - "indexed": false, - "s3_etag": "cefdc03579f86d184bd645b1f4c79126-7", - "sha256": "b9d5653d79e6d093889f321afe50a4497bacdc72e3eeb3a431b84ee5646ab2eb", - "content-type": "application/gzip; dcp-type=data", - "size": 424575548 - }, - "sequence_file/e3bbd096-a3eb-4fb2-a7af-ffcd5bfbfebf": { - "sha1": "350cc9b663c85b14ffaf5d1637293e7ca0590baa", - "name": "MantonBM3_HiSeq_6_S22_L004_I1_001.fastq.gz", - "uuid": "e3bbd096-a3eb-4fb2-a7af-ffcd5bfbfebf", - "crc32c": "d78af617", - "version": "2018-03-29T10:39:11.249867Z", - "indexed": false, - "s3_etag": "366365e5861502caecdfe4722a52e5dd-6", - "sha256": "5243941d8a05ba4c53d1f87730f8d3018505849b3544ac96bdefe9bcca841a9d", - "content-type": "application/gzip; dcp-type=data", - "size": 370025635 - }, - "sequence_file/7b6ddb79-655b-4b33-ad2d-c94b36140c6a": { - "sha1": "38160da677fdb4b49bdd68d1d534e41406a12241", - "name": "MantonBM2_HiSeq_6_S14_L005_I1_001.fastq.gz", - "uuid": "7b6ddb79-655b-4b33-ad2d-c94b36140c6a", - "crc32c": "01b8a024", - "version": "2018-03-29T10:38:43.183079Z", - "indexed": false, - "s3_etag": "68ce309bdc8498bee4d9564827ee0b28-7", - "sha256": "526386fa513f137535935c28b2fa4200b803147e87fed8bb096376478eb3fb4a", - "content-type": "application/gzip; dcp-type=data", - "size": 409927139 - }, - "sequence_file/07942b88-77bd-4559-91ea-d09a7aac1264": { - "sha1": "832969727e978f1c0f828651c5bf164ad9b086ff", - "name": "MantonBM1_HiSeq_7_S7_L008_R2_001.fastq.gz", - "uuid": "07942b88-77bd-4559-91ea-d09a7aac1264", - "crc32c": "eb14efd9", - "version": "2018-03-29T10:38:22.822182Z", - "indexed": false, - "s3_etag": "e433ae0dbda9ed169b52e0697b20bd0e-56", - "sha256": "ce2347ec598a69518d8b4e17b152d48ec7a40b25ac91ca3bf1a5a863e0599b4f", - "content-type": "application/gzip; dcp-type=data", - "size": 3716335288 - }, - "sequence_file/3c4864ae-619e-479d-8138-c1489e7f10bb": { - "sha1": "d057dee95907376600447fe07ee75b41eb1dcd0f", - "name": "MantonBM4_HiSeq_2_S26_L002_R1_001.fastq.gz", - "uuid": "3c4864ae-619e-479d-8138-c1489e7f10bb", - "crc32c": "d0356384", - "version": "2018-03-29T10:39:25.884918Z", - "indexed": false, - "s3_etag": "40eabb5819c2bc9ca2f5bc47117f2a1d-16", - "sha256": "8154a1f08a83319cd27d9d1a4bf372ca4c60bac69937365326935be03e198a2d", - "content-type": "application/gzip; dcp-type=data", - "size": 1057979689 - }, - "sequence_file/938d4d47-a7f3-4ecd-887d-6a01f7ee32cf": { - "sha1": "f220bcbdb9b673825bab4a7c20262d22733e01e8", - "name": "MantonBM2_HiSeq_4_S12_L006_R1_001.fastq.gz", - "uuid": "938d4d47-a7f3-4ecd-887d-6a01f7ee32cf", - "crc32c": "1e18d7bb", - "version": "2018-03-29T10:38:39.222460Z", - "indexed": false, - "s3_etag": "02709e6a3d5e1b3e5c9770ab46e87277-17", - "sha256": "c2795b2778009eb605fbf698687eef7f8d0a2de05ad87498fc78604a8e3393b7", - "content-type": "application/gzip; dcp-type=data", - "size": 1095836250 - }, - "sequence_file/2f629555-1b9d-4251-a513-72b138ec1d1f": { - "sha1": "ff8f213943659eeae4e547e586e8aec5128351b9", - "name": "MantonBM1_HiSeq_3_S3_L007_I1_001.fastq.gz", - "uuid": "2f629555-1b9d-4251-a513-72b138ec1d1f", - "crc32c": "c4fa8e9d", - "version": "2018-03-29T10:38:07.816496Z", - "indexed": false, - "s3_etag": "584406b49a99d0cd6e9dd23c084c0641-6", - "sha256": "1a1a23a7f310892742e2bae3a2ca547e89b765885043f24d6f98f6a7ff92cea1", - "content-type": "application/gzip; dcp-type=data", - "size": 361446077 - }, - "sequence_file/22f89ffa-0ba3-4264-b91e-fde781c0d703": { - "sha1": "9690b2178127b9822fc579e493d349090afe8309", - "name": "MantonBM1_HiSeq_3_S3_L007_R1_001.fastq.gz", - "uuid": "22f89ffa-0ba3-4264-b91e-fde781c0d703", - "crc32c": "e48f8d55", - "version": "2018-03-29T10:38:08.219402Z", - "indexed": false, - "s3_etag": "2673099ac93242ce6a59db69d5ca9299-16", - "sha256": "9ca14a3da948ad8079423995066328cec80af3df028abc7642804aceb81fd3c9", - "content-type": "application/gzip; dcp-type=data", - "size": 1071299859 - }, - "sequence_file/00c1e04c-71f9-4e64-8f7d-43a9742732c1": { - "sha1": "d981c5e5c7ae16a6960502aade2ccd724d0d32b4", - "name": "MantonBM2_HiSeq_1_S9_L005_I1_001.fastq.gz", - "uuid": "00c1e04c-71f9-4e64-8f7d-43a9742732c1", - "crc32c": "d0d6c101", - "version": "2018-03-29T10:38:26.287933Z", - "indexed": false, - "s3_etag": "54490e0b359f0a5cd4e891c952db07fa-6", - "sha256": "74604568b74156d2a5cf22fef79be7a7709d31a8c29bc4e08e40cc28b24edf6f", - "content-type": "application/gzip; dcp-type=data", - "size": 359033271 - }, - "sequence_file/1daa45f1-3ce5-400b-8f2d-40d04f1f8806": { - "sha1": "f3f32d049dd29648e393be90a97d86651e2d4817", - "name": "MantonBM2_HiSeq_4_S12_L006_I1_001.fastq.gz", - "uuid": "1daa45f1-3ce5-400b-8f2d-40d04f1f8806", - "crc32c": "71566771", - "version": "2018-03-29T10:38:38.815336Z", - "indexed": false, - "s3_etag": "59bb560156b1bc6f29b1daf267a2fa17-6", - "sha256": "614569883a13a9a2ae5af8fb3fa65f69aaa37ef5f341652a4311dad231bd70cb", - "content-type": "application/gzip; dcp-type=data", - "size": 368491766 - }, - "sequence_file/8db31c92-e87d-444c-9309-0340768a794b": { - "sha1": "099cee461fc50f7d3afebfc9cc33925ca0b6f16e", - "name": "MantonBM3_HiSeq_6_S22_L003_I1_001.fastq.gz", - "uuid": "8db31c92-e87d-444c-9309-0340768a794b", - "crc32c": "d9fd37a4", - "version": "2018-03-29T10:39:09.843119Z", - "indexed": false, - "s3_etag": "dec43a5e20ea72bfe5cc664b5efe3ace-6", - "sha256": "422cc3de0f3774749443cc8be26fceb79f9c585fb1a3c5d1ec54c82a4083aef5", - "content-type": "application/gzip; dcp-type=data", - "size": 387484761 - }, - "sequence_file/a256e5e3-7e80-419e-b8e8-c3fdaf234b43": { - "sha1": "9644c38062d29e2bfb20cd1f53ce966bc7cfd09c", - "name": "MantonBM1_HiSeq_1_S1_L008_R2_001.fastq.gz", - "uuid": "a256e5e3-7e80-419e-b8e8-c3fdaf234b43", - "crc32c": "e03283ac", - "version": "2018-03-29T10:38:04.520491Z", - "indexed": false, - "s3_etag": "68bd1d73e988da5cb199aa19a3fcfb88-46", - "sha256": "e6849b6134c4bbe37459b58b83283338c9a224159d9891c9254b2e82ee6362cc", - "content-type": "application/gzip; dcp-type=data", - "size": 3069882625 - }, - "sequence_file/a0381296-68b4-4480-8d93-e1ad9e85abb6": { - "sha1": "4dc4a29172fafacaa1e0668ed9072be8ab6b0494", - "name": "MantonBM1_HiSeq_8_S8_L007_I1_001.fastq.gz", - "uuid": "a0381296-68b4-4480-8d93-e1ad9e85abb6", - "crc32c": "9950b8ac", - "version": "2018-03-29T10:38:23.335423Z", - "indexed": false, - "s3_etag": "615c9fd03bf406b15c0312d0b42ea95e-7", - "sha256": "671c1ca89c9c70ce150640ac4147895cd07302bc32953a09ee952aff4b78773e", - "content-type": "application/gzip; dcp-type=data", - "size": 417490451 - }, - "sequence_file/4c8d2f2b-0805-4abc-9a20-d477eb5cc6fd": { - "sha1": "e847a0c98fe32825f2961c612d84ef5de8b13ce6", - "name": "MantonBM2_HiSeq_2_S10_L006_R1_001.fastq.gz", - "uuid": "4c8d2f2b-0805-4abc-9a20-d477eb5cc6fd", - "crc32c": "7787c6c8", - "version": "2018-03-29T10:38:32.822796Z", - "indexed": false, - "s3_etag": "0ba56ec8be5cdd68fd75eba49bf54f59-18", - "sha256": "017d286589073d865de4a08db17dc5356926302209f2b1bcfda264ffa2ea4974", - "content-type": "application/gzip; dcp-type=data", - "size": 1158861258 - }, - "sequence_file/4dcd7823-b02f-4dd7-a49f-94b86096d77d": { - "sha1": "3833263bce3f362bfa40d46cc412f7c399f5ed6a", - "name": "MantonBM1_HiSeq_2_S2_L007_I1_001.fastq.gz", - "uuid": "4dcd7823-b02f-4dd7-a49f-94b86096d77d", - "crc32c": "55812d93", - "version": "2018-03-29T10:38:05.003544Z", - "indexed": false, - "s3_etag": "371c5e96c8b9211fbb45b8112c6a610f-6", - "sha256": "f4b2f78798a09b688fc96813c928c643b034d385b4b3d4a2bb5e4cfd5489f4c4", - "content-type": "application/gzip; dcp-type=data", - "size": 366034271 - }, - "sequence_file/56ec5353-ecce-40b5-a981-1dad8ad1c9d4": { - "sha1": "948cd48444e4e6345af05e4af8c5e19fe4c8e3ab", - "name": "MantonBM2_HiSeq_4_S12_L006_R2_001.fastq.gz", - "uuid": "56ec5353-ecce-40b5-a981-1dad8ad1c9d4", - "crc32c": "13abfe1f", - "version": "2018-03-29T10:38:39.739540Z", - "indexed": false, - "s3_etag": "b85c0e5a48f7b4d5f53b86e671204636-49", - "sha256": "d158cf4086ac437d75830d3ab0d3b58c3d432064ed4db22d532870aa881ad064", - "content-type": "application/gzip; dcp-type=data", - "size": 3257171120 - }, - "sequence_file/2bdc88a5-faf4-4f07-8818-a95428defe3a": { - "sha1": "8cd86f9c25e788063f78418cb94c5910f85aef55", - "name": "MantonBM4_HiSeq_5_S29_L002_I1_001.fastq.gz", - "uuid": "2bdc88a5-faf4-4f07-8818-a95428defe3a", - "crc32c": "5bdc26b5", - "version": "2018-03-29T10:39:34.003004Z", - "indexed": false, - "s3_etag": "16dd30a033cd4d79bdf449b47bab25cc-7", - "sha256": "e18ea954ff328432e4b9b0851a74dcefa7f73f98dc41327f6fd9633592d84b36", - "content-type": "application/gzip; dcp-type=data", - "size": 403053547 - }, - "sequence_file/b938e56a-f94a-46b4-bbdd-5df21d083411": { - "sha1": "7e20943f12d6f6b5adffa79bc0ce42e2a182c610", - "name": "MantonBM1_HiSeq_7_S7_L007_R2_001.fastq.gz", - "uuid": "b938e56a-f94a-46b4-bbdd-5df21d083411", - "crc32c": "51871b2a", - "version": "2018-03-29T10:38:21.383042Z", - "indexed": false, - "s3_etag": "55032fc603bfad43380459c7244a0542-58", - "sha256": "843b1aa22317ba79fb38c971c611730aa95ff62855e944828f37fc061c0bf1b3", - "content-type": "application/gzip; dcp-type=data", - "size": 3887709427 - }, - "sequence_file/f39f5ab3-1a1f-425c-8670-a73c53b7ea1c": { - "sha1": "3b240ca34707201c55ad79d067c8515fad7e9ce0", - "name": "MantonBM3_HiSeq_6_S22_L003_R1_001.fastq.gz", - "uuid": "f39f5ab3-1a1f-425c-8670-a73c53b7ea1c", - "crc32c": "cbea5689", - "version": "2018-03-29T10:39:10.350361Z", - "indexed": false, - "s3_etag": "b50f98b703f700c5eca4f8f3cb878006-18", - "sha256": "885c919a3537e33d9f9a58707a7c1c8e7c55008a4a2e40aa7b5edf940bc61107", - "content-type": "application/gzip; dcp-type=data", - "size": 1165914236 - }, - "sequence_file/e69d977c-7f1c-4e65-bc85-976f334e1f0c": { - "sha1": "353a61a39c943aa27978655902358aa5b948b8a2", - "name": "MantonBM3_HiSeq_7_S23_L004_I1_001.fastq.gz", - "uuid": "e69d977c-7f1c-4e65-bc85-976f334e1f0c", - "crc32c": "055e5e80", - "version": "2018-03-29T10:39:14.844437Z", - "indexed": false, - "s3_etag": "7863f37863b34b2b107e3137fa8c9ed8-6", - "sha256": "aa847cf6163b1bb5e097f47eddda6c16863b7b1770046e1c0e57fa021f7f2751", - "content-type": "application/gzip; dcp-type=data", - "size": 337653235 - }, - "sequence_file/e9b7c7ea-dcee-43dd-af1f-9a311420ff85": { - "sha1": "791eb2be94868c422209b309bf5d14acf19fcd6f", - "name": "MantonBM2_HiSeq_6_S14_L006_R1_001.fastq.gz", - "uuid": "e9b7c7ea-dcee-43dd-af1f-9a311420ff85", - "crc32c": "cea861b3", - "version": "2018-03-29T10:38:45.646052Z", - "indexed": false, - "s3_etag": "8a4e9c1bfda4e2d7193d685548caf636-18", - "sha256": "2d109435a0abc320fbbbb398cba1002f9639de465da51326ac872ffd5b56d1f5", - "content-type": "application/gzip; dcp-type=data", - "size": 1200078454 - }, - "sequence_file/9989e71f-09d8-4051-83e8-75753389a6cb": { - "sha1": "5ab10fc8cf7b10c08efb32e9a4db2405ea915e85", - "name": "MantonBM3_HiSeq_2_S18_L003_I1_001.fastq.gz", - "uuid": "9989e71f-09d8-4051-83e8-75753389a6cb", - "crc32c": "07209e7a", - "version": "2018-03-29T10:38:58.340370Z", - "indexed": false, - "s3_etag": "0b0a9cae0e92766d3622108fc89cddd3-8", - "sha256": "530a15f475dc1e67367bc18610192cb493a9c1d088c2f5ef62e81f1b190d8a4a", - "content-type": "application/gzip; dcp-type=data", - "size": 529022755 - }, - "sequence_file/66e5a918-007f-4ef6-a514-b8043bcc6128": { - "sha1": "41a98810215793f28faafa7faab6c3148889a6c9", - "name": "MantonBM4_HiSeq_1_S25_L002_I1_001.fastq.gz", - "uuid": "66e5a918-007f-4ef6-a514-b8043bcc6128", - "crc32c": "14be89e6", - "version": "2018-03-29T10:39:21.561712Z", - "indexed": false, - "s3_etag": "cf93e2dc3d242795e74e8366cd15b076-7", - "sha256": "d6548390388bd2593e65a05fe01cffbdde3734748d11813fca7b31b3e5d63fd9", - "content-type": "application/gzip; dcp-type=data", - "size": 436583305 - }, - "sequence_file/50d413fc-208e-4b28-93d0-1aff73ab66c5": { - "sha1": "f0d37f3928fa22401d7ce559cbd2bf8bd19f59fb", - "name": "MantonBM1_HiSeq_6_S6_L007_R1_001.fastq.gz", - "uuid": "50d413fc-208e-4b28-93d0-1aff73ab66c5", - "crc32c": "78f5897e", - "version": "2018-03-29T10:38:17.919682Z", - "indexed": false, - "s3_etag": "c2dd81f1f1731ea0e348fe9c2bd4069c-21", - "sha256": "80d89607f4d1d65de88d9ad98f4de847d50fa7cbd080da82c21b68a4b081aec4", - "content-type": "application/gzip; dcp-type=data", - "size": 1342354173 - }, - "sequence_file/d5e1593f-e8a0-4288-97c7-2e5faa401ab8": { - "sha1": "39391077909c77003c1502d7e329637ea1be76f9", - "name": "MantonBM1_HiSeq_5_S5_L008_I1_001.fastq.gz", - "uuid": "d5e1593f-e8a0-4288-97c7-2e5faa401ab8", - "crc32c": "a9f8ef86", - "version": "2018-03-29T10:38:15.801869Z", - "indexed": false, - "s3_etag": "aa2931bcab42962151661e1afe905f2b-7", - "sha256": "9eb50ed314b58787ea83905ac056ea8540cbc52e2dfa8057f3214eb9facdbde2", - "content-type": "application/gzip; dcp-type=data", - "size": 415040724 - }, - "sequence_file/65775d70-1372-4161-a7e5-de2202dd6f7e": { - "sha1": "88ef83ae07b18e8e466a1fa6dacaf962e2e7aaed", - "name": "MantonBM3_HiSeq_1_S17_L004_R1_001.fastq.gz", - "uuid": "65775d70-1372-4161-a7e5-de2202dd6f7e", - "crc32c": "fcf80ad0", - "version": "2018-03-29T10:38:55.599970Z", - "indexed": false, - "s3_etag": "6d205c3df851e6d784ef02bf91bc0e26-17", - "sha256": "c62dc5b19ebb9d5fcd00bb9a984b5e3fae204114a8f796153d2acf4bfede0521", - "content-type": "application/gzip; dcp-type=data", - "size": 1132455125 - }, - "sequence_file/24fbec47-ebbf-4e55-8d7d-cf2c9902bee2": { - "sha1": "986f4a3894f7560e0544c612fd021deef43830e8", - "name": "MantonBM2_HiSeq_5_S13_L005_I1_001.fastq.gz", - "uuid": "24fbec47-ebbf-4e55-8d7d-cf2c9902bee2", - "crc32c": "341419c4", - "version": "2018-03-29T10:38:40.246695Z", - "indexed": false, - "s3_etag": "b4b8a36d49f266cdd1097fe900c2b121-7", - "sha256": "90c821cfb52a80f86d57a2a11376d5c951d373009800a9af6fde0d098ed79ab6", - "content-type": "application/gzip; dcp-type=data", - "size": 413590955 - }, - "sequence_file/ac66a331-f88f-4ec0-b08a-79612fde6b37": { - "sha1": "0eee2ceb97f7f3329e75a974427015c675331dec", - "name": "MantonBM4_HiSeq_4_S28_L002_R2_001.fastq.gz", - "uuid": "ac66a331-f88f-4ec0-b08a-79612fde6b37", - "crc32c": "1124380e", - "version": "2018-03-29T10:39:32.125771Z", - "indexed": false, - "s3_etag": "8f13d511a870ef60ff5f1b1d6193d91f-52", - "sha256": "431fe923d31d8ceda286e3581fbee1b9baca5491bdcfb59237a362b1649aa66f", - "content-type": "application/gzip; dcp-type=data", - "size": 3443055462 - }, - "sequence_file/3dcf809d-c939-4dc7-93e8-f2782044d68f": { - "sha1": "a16222b87f64decf119eaf291b6ddc44b4b7bc7e", - "name": "MantonBM2_HiSeq_3_S11_L005_R1_001.fastq.gz", - "uuid": "3dcf809d-c939-4dc7-93e8-f2782044d68f", - "crc32c": "13d58944", - "version": "2018-03-29T10:38:34.500119Z", - "indexed": false, - "s3_etag": "6a2c71aab79be3ae78b3d2e2c048dd5d-18", - "sha256": "e4678e926f65ce41010fc280697e49beb783dc5c1e275d05e0f221391894cfa1", - "content-type": "application/gzip; dcp-type=data", - "size": 1202352236 - }, - "sequence_file/39c3fe7f-f194-4eed-9525-5511a3dc3ffc": { - "sha1": "3f75ea6225e497259f8f60c825e2419b6bc44305", - "name": "MantonBM1_HiSeq_6_S6_L008_R2_001.fastq.gz", - "uuid": "39c3fe7f-f194-4eed-9525-5511a3dc3ffc", - "crc32c": "b89cd113", - "version": "2018-03-29T10:38:19.840949Z", - "indexed": false, - "s3_etag": "0e3c9dff2323e8ca6b6711cc8f2cf75b-58", - "sha256": "df20034daa566c9a8fcd8f146fa0fd16b4bc5d999663c6f4d1b57867b95b77ea", - "content-type": "application/gzip; dcp-type=data", - "size": 3857576645 - }, - "sequence_file/f0d45c30-753f-4a2f-afc9-1479a12a8e8b": { - "sha1": "9577ba82431fca683c3202bd0e443ed94c7ab1c3", - "name": "MantonBM3_HiSeq_2_S18_L004_I1_001.fastq.gz", - "uuid": "f0d45c30-753f-4a2f-afc9-1479a12a8e8b", - "crc32c": "e5eea15d", - "version": "2018-03-29T10:38:59.736973Z", - "indexed": false, - "s3_etag": "ec89844804ebdc590cfd9ad7594c2936-8", - "sha256": "68c70e78da41a70d9bd9048c91f46f8a70c32d775323e9067fa5b5ce75a7d1bc", - "content-type": "application/gzip; dcp-type=data", - "size": 506561553 - }, - "sequence_file/30a446dd-cb56-4055-bf82-6b3b06d47ee7": { - "sha1": "9bcca004c9762a0a888c429d120ab0fe55d691bd", - "name": "MantonBM4_HiSeq_6_S30_L001_I1_001.fastq.gz", - "uuid": "30a446dd-cb56-4055-bf82-6b3b06d47ee7", - "crc32c": "43436e3a", - "version": "2018-03-29T10:39:38.941938Z", - "indexed": false, - "s3_etag": "3534f3343ea579b1868045f36975def3-6", - "sha256": "9d46b16e887257c808e5ef5d36314e930543ddceb2f9b572b9311d918d37dc7d", - "content-type": "application/gzip; dcp-type=data", - "size": 390368669 - }, - "sequence_file/338b9160-54b0-41a5-8a2c-d08f6c9ed626": { - "sha1": "85ba897646b32c35b89d679e336092f9963811fe", - "name": "MantonBM1_HiSeq_5_S5_L007_R2_001.fastq.gz", - "uuid": "338b9160-54b0-41a5-8a2c-d08f6c9ed626", - "crc32c": "beec5494", - "version": "2018-03-29T10:38:15.322918Z", - "indexed": false, - "s3_etag": "b2225462c91edab5f2ca0c19fcbd141c-57", - "sha256": "5babef2aa850f5b6af568b9e70681f091015741052ccec43c58c5e0c411c2705", - "content-type": "application/gzip; dcp-type=data", - "size": 3774284216 - }, - "sequence_file/6b910e18-fd50-4447-8438-9cd628cd0660": { - "sha1": "975dd727d054b7966a976b643c450ad546f64e23", - "name": "MantonBM2_HiSeq_8_S16_L006_R1_001.fastq.gz", - "uuid": "6b910e18-fd50-4447-8438-9cd628cd0660", - "crc32c": "0879e2a7", - "version": "2018-03-29T10:38:52.323886Z", - "indexed": false, - "s3_etag": "0faa57f3eedfb56cef12016ed92d9d82-17", - "sha256": "0d2e520567ef6004040cc53600f6d3fd77a169d7d7d02680b50f3e2077b6522f", - "content-type": "application/gzip; dcp-type=data", - "size": 1090623619 - }, - "sequence_file/5506a837-6ff5-4004-8c2c-673a8d93c510": { - "sha1": "af49587e10217fa930bbe9f8a50a205b5e1e7089", - "name": "MantonBM4_HiSeq_3_S27_L002_R2_001.fastq.gz", - "uuid": "5506a837-6ff5-4004-8c2c-673a8d93c510", - "crc32c": "19bbcd2a", - "version": "2018-03-29T10:39:29.349423Z", - "indexed": false, - "s3_etag": "43d1e7cbb34482f4f13ef28201d58109-50", - "sha256": "ae3d8c7763624eb49a8e27ba970a3a814b7175169f9be4cdceebcb27838343f5", - "content-type": "application/gzip; dcp-type=data", - "size": 3335337979 - }, - "sequence_file/81838f1d-3ae5-45be-88fc-e35b9217ef21": { - "sha1": "f84667f791591bacd60dd73f01a4b423a93a0896", - "name": "MantonBM3_HiSeq_1_S17_L004_R2_001.fastq.gz", - "uuid": "81838f1d-3ae5-45be-88fc-e35b9217ef21", - "crc32c": "6de7199c", - "version": "2018-03-29T10:38:56.219046Z", - "indexed": false, - "s3_etag": "6798aeb0778533d08bbb5ad460cd3991-50", - "sha256": "a748bd5a10676ba16ab9e2c0e500b1cba5b1425d9caaf35c9b1d586fe122914d", - "content-type": "application/gzip; dcp-type=data", - "size": 3316487044 - }, - "sequence_file/a56a72c7-c1b8-4db1-8ec1-b4a54e8b4057": { - "sha1": "325d83b379c6f73cf6c29b6c574bb8b6a2ce0c75", - "name": "MantonBM3_HiSeq_8_S24_L003_R1_001.fastq.gz", - "uuid": "a56a72c7-c1b8-4db1-8ec1-b4a54e8b4057", - "crc32c": "f9219a0a", - "version": "2018-03-29T10:39:16.703384Z", - "indexed": false, - "s3_etag": "e1caf34085e484ef468a6fac7c1c9315-17", - "sha256": "b74b8ec9b5470f2ddcd99d5fb5e6494d9f06c218769b2b48e7c732cca23d0d1d", - "content-type": "application/gzip; dcp-type=data", - "size": 1138971805 - }, - "sequence_file/751ad2cb-994b-40d2-b6ba-9d4f59112f12": { - "sha1": "9244376478d122ad29d4b84469216e72d9a72f2f", - "name": "MantonBM4_HiSeq_2_S26_L001_I1_001.fastq.gz", - "uuid": "751ad2cb-994b-40d2-b6ba-9d4f59112f12", - "crc32c": "90968bb2", - "version": "2018-03-29T10:39:23.628690Z", - "indexed": false, - "s3_etag": "148cd80c7418094934d91efd07af6413-6", - "sha256": "15bb9ad829cd5a73d4717e5dd27826b03fc3d5578a1e73ad2165988450586465", - "content-type": "application/gzip; dcp-type=data", - "size": 386106564 - }, - "sequence_file/c59d880d-7847-4525-990b-ab283257a166": { - "sha1": "a6f767fd3a38adc4e1739f1db1b451001a86f7ae", - "name": "MantonBM3_HiSeq_8_S24_L004_R1_001.fastq.gz", - "uuid": "c59d880d-7847-4525-990b-ab283257a166", - "crc32c": "53b67481", - "version": "2018-03-29T10:39:19.079589Z", - "indexed": false, - "s3_etag": "17d8d3e67a0dca55f15101745ddf4f7e-17", - "sha256": "751a1551f652674ee4deffeb11e1bf2268e135f5d1c18dbe3efe008cc1090ab6", - "content-type": "application/gzip; dcp-type=data", - "size": 1092613409 - }, - "sequence_file/5fbc6d6e-8905-4ef4-92c7-b13c7fc1b33c": { - "sha1": "c3d72105f8de69fbe703c24b3f33521be9b4e33b", - "name": "MantonBM4_HiSeq_6_S30_L001_R1_001.fastq.gz", - "uuid": "5fbc6d6e-8905-4ef4-92c7-b13c7fc1b33c", - "crc32c": "94ecd01e", - "version": "2018-03-29T10:39:39.463645Z", - "indexed": false, - "s3_etag": "464e71eab12fc313e41c930502c2efd8-18", - "sha256": "a2566c7265a115cd3da9b27ab37cb791df1a9c4dc746dba19f2c0a31887e714b", - "content-type": "application/gzip; dcp-type=data", - "size": 1187799471 - }, - "sequence_file/92c76b47-b073-4ea2-bb35-3b764da48787": { - "sha1": "b50568c071ccf24a9646e69a27937ba40a98a09b", - "name": "MantonBM3_HiSeq_7_S23_L003_I1_001.fastq.gz", - "uuid": "92c76b47-b073-4ea2-bb35-3b764da48787", - "crc32c": "ed46629a", - "version": "2018-03-29T10:39:13.020127Z", - "indexed": false, - "s3_etag": "d51a1510a45b277dbb8eeb3e0ac034b2-6", - "sha256": "efcd926ccadf83d4e7f5b5e90ddac241ed2dc416c6aa3c628d83b1ced0f18bfd", - "content-type": "application/gzip; dcp-type=data", - "size": 356634784 - }, - "sequence_file/06c4f4e6-f607-4165-9d18-f068c9393bd1": { - "sha1": "0df0cab5bad27f4949eb49d3f4493eebcde8a4fb", - "name": "MantonBM3_HiSeq_3_S19_L004_I1_001.fastq.gz", - "uuid": "06c4f4e6-f607-4165-9d18-f068c9393bd1", - "crc32c": "87983809", - "version": "2018-03-29T10:39:02.475901Z", - "indexed": false, - "s3_etag": "c8b46ab273f172eb9ce2b3a9f3782165-6", - "sha256": "ee5a99471dd4ff16d005c1145ea363efb051a7c9ad2ef1399184589385315db5", - "content-type": "application/gzip; dcp-type=data", - "size": 372572175 - }, - "sequence_file/9db41364-8b2f-4cf9-b88f-cab43edea8ce": { - "sha1": "6f08784860f8b0e37245d5cecd1ef3791b81955e", - "name": "MantonBM3_HiSeq_1_S17_L004_I1_001.fastq.gz", - "uuid": "9db41364-8b2f-4cf9-b88f-cab43edea8ce", - "crc32c": "805a618d", - "version": "2018-03-29T10:38:55.142691Z", - "indexed": false, - "s3_etag": "45804f85d2d971a4650b5aeaade2c2ac-6", - "sha256": "8199a9d986465f3d6df6cbc6d8be4e45cc09d8e8d0637d8bd84578f5be4ab7c1", - "content-type": "application/gzip; dcp-type=data", - "size": 382355403 - }, - "sequence_file/4a062a0d-946c-4b2a-9cff-4418544d9b16": { - "sha1": "78dbccb3fbc4a724cd645d8f8594454acdc66a6b", - "name": "MantonBM3_HiSeq_1_S17_L003_R2_001.fastq.gz", - "uuid": "4a062a0d-946c-4b2a-9cff-4418544d9b16", - "crc32c": "c6f7cbb4", - "version": "2018-03-29T10:38:54.503176Z", - "indexed": false, - "s3_etag": "dfbc61ea1d6fbfcc156a47c385d41521-52", - "sha256": "e195f8421451fff00cb628b2fd0bf9b7ba6101e7086f008b1f0356ecb53234ed", - "content-type": "application/gzip; dcp-type=data", - "size": 3456908870 - }, - "sequence_file/6de335f6-cab5-4ec8-a1ff-3a639596dd59": { - "sha1": "deb3bedf9ca20b83120ebcd5f2b252f86f34d604", - "name": "MantonBM1_HiSeq_1_S1_L008_I1_001.fastq.gz", - "uuid": "6de335f6-cab5-4ec8-a1ff-3a639596dd59", - "crc32c": "858ae60d", - "version": "2018-03-29T10:38:03.083688Z", - "indexed": false, - "s3_etag": "aeafdbbbd848b41c6956e10c717bccf7-6", - "sha256": "97019391371a670edb1641f6dc0e20a52bf034f33908bbbf30179f3522992ade", - "content-type": "application/gzip; dcp-type=data", - "size": 355113853 - }, - "sequence_file/0374a796-bd3a-47f0-a008-a037ca62fd7a": { - "sha1": "7113cf64a017c5a1a7995f7e0257093d327e244f", - "name": "MantonBM1_HiSeq_4_S4_L007_I1_001.fastq.gz", - "uuid": "0374a796-bd3a-47f0-a008-a037ca62fd7a", - "crc32c": "8e4fffba", - "version": "2018-03-29T10:38:10.841628Z", - "indexed": false, - "s3_etag": "ecfd479bb0e032fb2223b6eb1282dac3-6", - "sha256": "7f6806e45efea2d2eb2aebc7c44675b929fca1c96046bc157c4841e230b8d271", - "content-type": "application/gzip; dcp-type=data", - "size": 391219281 - }, - "sequence_file/d7867440-3fd2-4c80-acdb-d8cc2ec1fb4b": { - "sha1": "deacaf06b3b095ecd32aada0abc53b9cd8a84251", - "name": "MantonBM1_HiSeq_4_S4_L007_R1_001.fastq.gz", - "uuid": "d7867440-3fd2-4c80-acdb-d8cc2ec1fb4b", - "crc32c": "03b0c39a", - "version": "2018-03-29T10:38:11.254648Z", - "indexed": false, - "s3_etag": "f5b15914a11a7e858dc59036d2ce31ec-18", - "sha256": "df0d872318925ffd902ca093c41f20e5d4e523fb03cfe85a288450c7fc57544d", - "content-type": "application/gzip; dcp-type=data", - "size": 1151506063 - }, - "sequence_file/722bf139-3585-4349-bd60-2108cdea9783": { - "sha1": "8582fabac5a89434e5acd7dcb6410df2e6d0f620", - "name": "MantonBM4_HiSeq_6_S30_L002_R2_001.fastq.gz", - "uuid": "722bf139-3585-4349-bd60-2108cdea9783", - "crc32c": "08c1923e", - "version": "2018-03-29T10:39:41.202636Z", - "indexed": false, - "s3_etag": "d4e6db5f186f8d6f96f43b0a5bcb3324-50", - "sha256": "f8c31a2dd15a474ec76fa86a2d3a90a91c34f2a78ceb4ba2a9fd810304875e18", - "content-type": "application/gzip; dcp-type=data", - "size": 3333617932 - }, - "sequence_file/182a36a5-027b-4e76-a57d-979c093eecb8": { - "sha1": "2a3d845aeb7484efc33d17be3973f7dbaf684e80", - "name": "MantonBM3_HiSeq_3_S19_L003_I1_001.fastq.gz", - "uuid": "182a36a5-027b-4e76-a57d-979c093eecb8", - "crc32c": "adc42334", - "version": "2018-03-29T10:39:01.120235Z", - "indexed": false, - "s3_etag": "2d4206f38c8bc10f74b4976c73ae1d3f-6", - "sha256": "f5538035205f9d46d14fb57448a1a9f480aeb00ca4d6e53067a6c213a7632c4d", - "content-type": "application/gzip; dcp-type=data", - "size": 388163077 - }, - "sequence_file/c1f1455c-d49b-4826-b3b7-526a9ca4ee9a": { - "sha1": "b3135a15569af97e5daadeb9d4d242b152381e21", - "name": "MantonBM1_HiSeq_2_S2_L008_R2_001.fastq.gz", - "uuid": "c1f1455c-d49b-4826-b3b7-526a9ca4ee9a", - "crc32c": "19e05a78", - "version": "2018-03-29T10:38:07.306991Z", - "indexed": false, - "s3_etag": "96a84f1f6a97e52868e0338e39cabb71-47", - "sha256": "c6374762b933cdcb591f85b6b49ee7797ecda1a2d61d69219ee60ea543feeb82", - "content-type": "application/gzip; dcp-type=data", - "size": 3091115278 - }, - "sequence_file/b23a12bd-3372-4542-a5e6-0f9bcdcb51dd": { - "sha1": "9d1d719d31685ab7f1f8f434fab0a4fce9cf6d67", - "name": "MantonBM4_HiSeq_1_S25_L001_R1_001.fastq.gz", - "uuid": "b23a12bd-3372-4542-a5e6-0f9bcdcb51dd", - "crc32c": "de3488fc", - "version": "2018-03-29T10:39:20.617429Z", - "indexed": false, - "s3_etag": "61952990c4541fea4c601d51f912b3b4-20", - "sha256": "c9090d82be65fdbf6b27445c2688faa264214308b828270fde4cc2c2867a1647", - "content-type": "application/gzip; dcp-type=data", - "size": 1320704768 - }, - "sequence_file/8975ec2a-dc00-4800-a409-52d64686da01": { - "sha1": "d5e7eb1d1d0305cb99ac5f6af3203959892b9d29", - "name": "MantonBM2_HiSeq_3_S11_L006_R1_001.fastq.gz", - "uuid": "8975ec2a-dc00-4800-a409-52d64686da01", - "crc32c": "2f5f0620", - "version": "2018-03-29T10:38:35.882254Z", - "indexed": false, - "s3_etag": "ded57e8ed3938d4ef8b5f93bb5c9a269-17", - "sha256": "960667d6228bc6ddb237ed402a11ae8a0f0a0d0bdf81f3ac168109a33ce8c9c5", - "content-type": "application/gzip; dcp-type=data", - "size": 1121764245 - }, - "sequence_file/25e5c231-49af-4302-8292-6756f90cf30e": { - "sha1": "a9061d9cfda4bb417f4e8b3c8ec6436e62e301d6", - "name": "MantonBM3_HiSeq_4_S20_L004_R2_001.fastq.gz", - "uuid": "25e5c231-49af-4302-8292-6756f90cf30e", - "crc32c": "9d8ecae3", - "version": "2018-03-29T10:39:06.399158Z", - "indexed": false, - "s3_etag": "d3694c1b0c3baed04744307a081a27dd-62", - "sha256": "15158226474494e3ae287cbe2f1fab0eed79072122a6c13db3ac1106cc576792", - "content-type": "application/gzip; dcp-type=data", - "size": 4156747542 - }, - "sequence_file/73fb78b0-5a63-4b0b-a784-45f67be0d562": { - "sha1": "c20fe65ee1a20048f5550d50d87ba281b91b03bd", - "name": "MantonBM1_HiSeq_8_S8_L008_R2_001.fastq.gz", - "uuid": "73fb78b0-5a63-4b0b-a784-45f67be0d562", - "crc32c": "54248025", - "version": "2018-03-29T10:38:25.751801Z", - "indexed": false, - "s3_etag": "b598eb2f43af6784ca3006f67d111b16-55", - "sha256": "7bb06bf27e2c395413a302afa05ec7a23243902ef6e6bcdd19d5a5c1283c3495", - "content-type": "application/gzip; dcp-type=data", - "size": 3681344739 - }, - "sequence_file/614a69c9-4212-46bf-948e-d7affd2310e5": { - "sha1": "3c1818bd63eeddf58a2d08261e2b859dc73c5bb6", - "name": "MantonBM3_HiSeq_8_S24_L004_R2_001.fastq.gz", - "uuid": "614a69c9-4212-46bf-948e-d7affd2310e5", - "crc32c": "393e29c8", - "version": "2018-03-29T10:39:19.583809Z", - "indexed": false, - "s3_etag": "2c8f982e517ea4f6f0a1414099cefdd5-48", - "sha256": "074cace1554b84806f271ec168ca698938921d046ab42223b47a1fe124099ce1", - "content-type": "application/gzip; dcp-type=data", - "size": 3215721804 - }, - "sequence_file/c2b2449f-0f1c-40e0-bc1e-534a936c3fb4": { - "sha1": "ea288a0ff7a5224df785078c5a15fdbc9d838e48", - "name": "MantonBM2_HiSeq_8_S16_L006_R2_001.fastq.gz", - "uuid": "c2b2449f-0f1c-40e0-bc1e-534a936c3fb4", - "crc32c": "1a9bcd64", - "version": "2018-03-29T10:38:52.901520Z", - "indexed": false, - "s3_etag": "f4082a35d33b35d48a58b2bc60cef750-49", - "sha256": "54ec7e0cb8dae81c048dcd2d225e569ada066a410b3d274eac66359bb1994457", - "content-type": "application/gzip; dcp-type=data", - "size": 3229618917 - }, - "sequence_file/bd09c8c4-c7ff-40e5-a14d-1d1968485dd6": { - "sha1": "ebdff625afd6c4e8b09b27eea8171e64cebbad94", - "name": "MantonBM2_HiSeq_2_S10_L005_R1_001.fastq.gz", - "uuid": "bd09c8c4-c7ff-40e5-a14d-1d1968485dd6", - "crc32c": "722a870c", - "version": "2018-03-29T10:38:30.882610Z", - "indexed": false, - "s3_etag": "c59d9200df4ff5f4543b681c42f23415-19", - "sha256": "83709fc2c7825664efef1880574dea550ff8794e4bb9f4865489cae12049c794", - "content-type": "application/gzip; dcp-type=data", - "size": 1241845986 - }, - "sequence_file/d7e6574e-dae6-4e6f-8db0-370693adea27": { - "sha1": "28c1cc0bba2340c44415d738d9c2d3fe7fc442f4", - "name": "MantonBM4_HiSeq_4_S28_L002_R1_001.fastq.gz", - "uuid": "d7e6574e-dae6-4e6f-8db0-370693adea27", - "crc32c": "384e7fb3", - "version": "2018-03-29T10:39:31.562955Z", - "indexed": false, - "s3_etag": "9f84723affad80aeb80b96c554e908ef-18", - "sha256": "565627c2c29ad2199844ad7acba36968c0713069f236e8cd4799a5b84bf99596", - "content-type": "application/gzip; dcp-type=data", - "size": 1152121508 - }, - "sequence_file/7f2b78dc-2b1c-4912-b456-170ba3891464": { - "sha1": "d7222a9a573c015f1bd168a7f0613d16767f3072", - "name": "MantonBM4_HiSeq_6_S30_L002_R1_001.fastq.gz", - "uuid": "7f2b78dc-2b1c-4912-b456-170ba3891464", - "crc32c": "c3ed4ef6", - "version": "2018-03-29T10:39:40.638306Z", - "indexed": false, - "s3_etag": "ce673e42ad75376d65aff47d738addf4-17", - "sha256": "79cf63437d844ed130aa91848772d7a2c81f199f6cb15b1b99350753c6c01491", - "content-type": "application/gzip; dcp-type=data", - "size": 1112228585 - }, - "sequence_file/08da0161-f96f-4da0-9c47-421bc0ebf7b8": { - "sha1": "3bc8aa04f7d1b5cbc2cb92246071281cf35bb216", - "name": "MantonBM2_HiSeq_6_S14_L005_R1_001.fastq.gz", - "uuid": "08da0161-f96f-4da0-9c47-421bc0ebf7b8", - "crc32c": "f4121c0c", - "version": "2018-03-29T10:38:43.748465Z", - "indexed": false, - "s3_etag": "cd91439c8f2d46abf4082d07f93cd269-20", - "sha256": "89018b8c2f53fda33225c0a14f5159763161108fba84d58412a9a4023ae06e16", - "content-type": "application/gzip; dcp-type=data", - "size": 1277422495 - }, - "sequence_file/5b802cb7-74ea-40da-9629-89da2f879940": { - "sha1": "39237493200061fe5a29293279207b6521987398", - "name": "MantonBM2_HiSeq_1_S9_L005_R2_001.fastq.gz", - "uuid": "5b802cb7-74ea-40da-9629-89da2f879940", - "crc32c": "f14a64d4", - "version": "2018-03-29T10:38:28.484054Z", - "indexed": false, - "s3_etag": "d8d822f2b13ea7ce0426e46895435e20-49", - "sha256": "70aa8304bf93bfde5b66a012fedb8053ba39b15c89bc89746bddf27e134f22d0", - "content-type": "application/gzip; dcp-type=data", - "size": 3268334757 - }, - "sequence_file/67e5a10c-0f5b-48af-aa30-628854a0928d": { - "sha1": "80692c6ccc3b635a5ffa04a064c832ecb1a162e6", - "name": "MantonBM2_HiSeq_7_S15_L005_R2_001.fastq.gz", - "uuid": "67e5a10c-0f5b-48af-aa30-628854a0928d", - "crc32c": "2286a446", - "version": "2018-03-29T10:38:48.224072Z", - "indexed": false, - "s3_etag": "00655905fc1bd7145eafa7dba089905e-64", - "sha256": "536db6d7fb654fc6975eabfdcd7dc696439dc077598f9818b9a4ce031935b814", - "content-type": "application/gzip; dcp-type=data", - "size": 4287329158 - }, - "sequence_file/9478fc7f-df90-4067-b8ad-a480706b9ade": { - "sha1": "87eab986661f49e0a388064c559504a55502b285", - "name": "MantonBM1_HiSeq_7_S7_L008_R1_001.fastq.gz", - "uuid": "9478fc7f-df90-4067-b8ad-a480706b9ade", - "crc32c": "6a941c5b", - "version": "2018-03-29T10:38:22.362197Z", - "indexed": false, - "s3_etag": "eb8c108e8dbe4ae1037e8d030cc43489-19", - "sha256": "72136d430fa8166a57241f1734099db0cbb578f2076ae2d912161667a3bac00b", - "content-type": "application/gzip; dcp-type=data", - "size": 1256242824 - }, - "sequence_file/a64e2f58-8fbc-4382-9ca9-845f32a7133f": { - "sha1": "30522ba281fc3d3d507a0d076b9e4bb0c46bcbcf", - "name": "MantonBM4_HiSeq_8_S32_L002_R1_001.fastq.gz", - "uuid": "a64e2f58-8fbc-4382-9ca9-845f32a7133f", - "crc32c": "6ef61a7f", - "version": "2018-03-29T10:39:45.437487Z", - "indexed": false, - "s3_etag": "85218434ce70833e93da920d753dc415-20", - "sha256": "4dd16ddfc4700ef3eb4ef4bd6ace29c4bdcc515e3a6d49d48f6f8af1e51e2d32", - "content-type": "application/gzip; dcp-type=data", - "size": 1289963979 - }, - "sequence_file/fe25d73e-ecb7-4228-bfa5-b87ea5f1eb91": { - "sha1": "54a08f501dc6a3324f4ebfebfa3392f77c01fdb1", - "name": "MantonBM4_HiSeq_7_S31_L002_R2_001.fastq.gz", - "uuid": "fe25d73e-ecb7-4228-bfa5-b87ea5f1eb91", - "crc32c": "e5d2d6fa", - "version": "2018-03-29T10:39:43.571457Z", - "indexed": false, - "s3_etag": "6dba4d0dbaa5c63e7a65475af1c9645c-50", - "sha256": "52d3a219c1cea77ebced52506396d40f2d62e8fb78f9a26db7c7e00ec564478f", - "content-type": "application/gzip; dcp-type=data", - "size": 3314894864 - }, - "sequence_file/6001f9be-8ebd-4dd3-86ff-92e93adad0d7": { - "sha1": "fd1a5e5656c3e0c3f758a953eedfd9d9d4c25aee", - "name": "MantonBM1_HiSeq_4_S4_L008_R2_001.fastq.gz", - "uuid": "6001f9be-8ebd-4dd3-86ff-92e93adad0d7", - "crc32c": "aed22ed1", - "version": "2018-03-29T10:38:13.620265Z", - "indexed": false, - "s3_etag": "ba41bfeee6a8a56a5341eeea24bf2574-50", - "sha256": "628a5a7c789d5dc9b2962bdd5e64ba2e260303e93328f818f9eaa24f3832af83", - "content-type": "application/gzip; dcp-type=data", - "size": 3313293376 - }, - "sequence_file/da06f1b2-bd05-4300-8899-d0146c5ecf83": { - "sha1": "4afe1f98b060a1b0fcd750ed2185421687c32c7b", - "name": "MantonBM2_HiSeq_7_S15_L006_R2_001.fastq.gz", - "uuid": "da06f1b2-bd05-4300-8899-d0146c5ecf83", - "crc32c": "1d21ab54", - "version": "2018-03-29T10:38:49.908509Z", - "indexed": false, - "s3_etag": "70c6c6bf776287299f170e23c309c578-61", - "sha256": "aaf1675dad3747f13c0605fd10618cf30329e526b1b829c0259eeef3dbc72c85", - "content-type": "application/gzip; dcp-type=data", - "size": 4046985243 - } - }, - "metadata": { - "project/6504d48c-1610-43aa-8cf8-214a960e110c": { - "content": { - "describedBy": "https://schema.humancellatlas.org/type/project/5.1.0/project", - "project_core": { - "project_short_name": "1M Immune Cells", - "project_description": "Diverse cells of the immune system maintain and protect tissue function, integrity, and homeostasis upon changes in functional demands and diverse perturbations. Recent advances such as massively parallel single-cell RNA-sequencing and sophisticated computational methods help shed new light on this complexity. This immune cell census aims to profile up to 2M immunocytes, the first tranche of this is currently available. With computational methods optimized to a massive scale, we can readily identify cell types and markers, as well as the process of hematopoietic differentiation. The high quality and comprehensive reference map is provided as an open community resource for understanding human health and disease.", - "project_title": "Census of Immune Cells" - }, - "publications": [], - "contributors": [ - { - "country": "USA", - "email": "aregev@broadinstitute.org", - "phone": "(617) 714-7020", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Aviv,,Regev", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "libo@broadinstitute.org", - "phone": "(617) 714-8681", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Bo,,Li", - "institution": "Broad Institute" - }, - { - "country": "USA", - "institution": "Broad Institute", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Monika,S,Kowalczyk", - "email": "msk.kowalczyk@gmail.com" - }, - { - "country": "USA", - "email": "dionne@broadinstitute.org", - "phone": "(617) 714-8147", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Danielle,,Dionne", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "ttickle@broadinstitute.org", - "phone": "(617) 714-7084", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Timothy,,Tickle", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "janelee@broadinstitute.org", - "phone": "(617) 714-7448", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Jane,,Lee", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "orit@broadinstitute.org", - "phone": "(617) 714-7789", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Orit,,Rozenblatt-Rosen", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "orr@broadinstitute.org", - "phone": "(617) 714-8681", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Orr,,Ashenberg", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "mtabaka@broadinstitute.org", - "phone": "(617) 714-7470", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Marcin,,Tabaka", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "karthik@broadinstitute.org", - "phone": "(617) 714-8067", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Karthik,,Shekhar", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "mslyper@broadinstitute.org", - "phone": "(617) 714-7199", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Michal,,Slyper", - "institution": "Broad Institute" - }, - { - "country": "USA", - "institution": "Broad Institute", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Julia,,Waldman", - "email": "jwaldman@broadinstitute.org" - } - ], - "schema_type": "project" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.820Z", - "updateDate": "2018-03-26T16:59:28.166Z", - "document_id": "6504d48c-1610-43aa-8cf8-214a960e110c" - }, - "describedBy": "https://schema.humancellatlas.org/bundle/5.1.0/project", - "schema_version": "5.1.0", - "schema_type": "project_bundle" - }, - "cell_suspension/6d98e8a4-dc7e-4ee8-aad6-9861b744e9fe": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3971, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.876Z", - "updateDate": "2018-03-28T17:49:42.521Z", - "document_id": "6d98e8a4-dc7e-4ee8-aad6-9861b744e9fe" - } - }, - "specimen_from_organism/78e48232-86ed-4b68-ae64-df114f02fa80": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM1" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.973Z", - "updateDate": "2018-03-26T17:01:02.081Z", - "document_id": "78e48232-86ed-4b68-ae64-df114f02fa80" - } - }, - "donor_organism/7d2dcb65-b759-40b8-9eb0-7b9951b7c036": { - "content": { - "is_living": true, - "biological_sex": "female", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "organism_age": "52", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "BM1", - "biomaterial_name": "Bone Marrow donor 1" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.528Z", - "updateDate": "2018-03-26T16:59:46.748Z", - "document_id": "7d2dcb65-b759-40b8-9eb0-7b9951b7c036" - } - }, - "cell_suspension/01f2d4b7-7746-4dc0-88d7-4cb0b3dbb370": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4322, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.985Z", - "updateDate": "2018-03-26T17:01:00.604Z", - "document_id": "01f2d4b7-7746-4dc0-88d7-4cb0b3dbb370" - } - }, - "specimen_from_organism/2fe26d80-85fb-4926-bad1-a92a6e8c20c1": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM3" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.261Z", - "updateDate": "2018-03-26T17:01:00.559Z", - "document_id": "2fe26d80-85fb-4926-bad1-a92a6e8c20c1" - } - }, - "donor_organism/0a69e7c4-56a3-498e-a867-aaf84c1344c8": { - "content": { - "is_living": true, - "biological_sex": "male", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "organism_age": "39", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "BM3", - "biomaterial_name": "Bone Marrow donor 3" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.501Z", - "updateDate": "2018-03-26T16:59:46.703Z", - "document_id": "0a69e7c4-56a3-498e-a867-aaf84c1344c8" - } - }, - "cell_suspension/ed887207-2034-4c85-bbec-4e69a745d009": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 5280, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.701Z", - "updateDate": "2018-03-26T17:00:33.869Z", - "document_id": "ed887207-2034-4c85-bbec-4e69a745d009" - } - }, - "specimen_from_organism/24796176-5825-47a3-966a-38a865d541ab": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM2" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.104Z", - "updateDate": "2018-03-26T17:00:10.616Z", - "document_id": "24796176-5825-47a3-966a-38a865d541ab" - } - }, - "donor_organism/06d98ad8-bbac-40df-9eb6-d5b1a424568a": { - "content": { - "is_living": true, - "biological_sex": "male", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "organism_age": "50", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "BM2", - "biomaterial_name": "Bone Marrow donor 2" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.476Z", - "updateDate": "2018-03-26T16:59:46.015Z", - "document_id": "06d98ad8-bbac-40df-9eb6-d5b1a424568a" - } - }, - "cell_suspension/e1db28a3-83c8-43ce-8e41-40b0429c2c4e": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4234, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.725Z", - "updateDate": "2018-03-26T17:00:33.885Z", - "document_id": "e1db28a3-83c8-43ce-8e41-40b0429c2c4e" - } - }, - "specimen_from_organism/1ff0b001-3753-491f-8424-dc30a1e47953": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM4" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.456Z", - "updateDate": "2018-03-26T17:00:07.724Z", - "document_id": "1ff0b001-3753-491f-8424-dc30a1e47953" - } - }, - "donor_organism/5caa7ca2-308a-424d-8bae-9204a2be2502": { - "content": { - "is_living": true, - "biological_sex": "male", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "organism_age": "29", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "BM4", - "biomaterial_name": "Bone Marrow donor 4" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.604Z", - "updateDate": "2018-03-26T16:59:46.640Z", - "document_id": "5caa7ca2-308a-424d-8bae-9204a2be2502" - } - }, - "cell_suspension/10ddecf6-ad4c-4d20-889f-93c83e3d5562": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4258, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.828Z", - "updateDate": "2018-03-26T17:00:33.899Z", - "document_id": "10ddecf6-ad4c-4d20-889f-93c83e3d5562" - } - }, - "specimen_from_organism/73022d99-f258-427b-a574-f9a046c20c81": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM4" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.171Z", - "updateDate": "2018-03-26T17:00:07.653Z", - "document_id": "73022d99-f258-427b-a574-f9a046c20c81" - } - }, - "cell_suspension/f564e3b1-d887-4667-9383-1d9b8cbbbd0f": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4067, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.169Z", - "updateDate": "2018-03-26T17:00:59.878Z", - "document_id": "f564e3b1-d887-4667-9383-1d9b8cbbbd0f" - } - }, - "specimen_from_organism/a003d338-753f-433e-bb6c-f36650e76b6a": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM4" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.355Z", - "updateDate": "2018-03-26T17:00:59.861Z", - "document_id": "a003d338-753f-433e-bb6c-f36650e76b6a" - } - }, - "cell_suspension/bd59eb0f-46e3-497a-9dd1-a5d0e5ca3ac4": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4178, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.247Z", - "updateDate": "2018-03-26T17:00:33.935Z", - "document_id": "bd59eb0f-46e3-497a-9dd1-a5d0e5ca3ac4" - } - }, - "specimen_from_organism/d56760e7-0605-4e8e-9ee0-09b37b3bdf14": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM3" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.885Z", - "updateDate": "2018-03-26T17:00:10.761Z", - "document_id": "d56760e7-0605-4e8e-9ee0-09b37b3bdf14" - } - }, - "cell_suspension/4064ed72-cf76-4418-8ca1-f916aca95680": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4190, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.300Z", - "updateDate": "2018-03-26T17:01:01.082Z", - "document_id": "4064ed72-cf76-4418-8ca1-f916aca95680" - } - }, - "specimen_from_organism/4d5d375f-dd74-476e-8f62-071aa6853bea": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM1" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.576Z", - "updateDate": "2018-03-26T17:01:01.066Z", - "document_id": "4d5d375f-dd74-476e-8f62-071aa6853bea" - } - }, - "cell_suspension/b08c7d38-caa6-4573-ba7e-37da8aa66605": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4219, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.379Z", - "updateDate": "2018-03-26T17:01:01.509Z", - "document_id": "b08c7d38-caa6-4573-ba7e-37da8aa66605" - } - }, - "specimen_from_organism/89426736-1779-4ceb-ae11-7935299ee579": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM1" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.581Z", - "updateDate": "2018-03-26T17:01:01.364Z", - "document_id": "89426736-1779-4ceb-ae11-7935299ee579" - } - }, - "cell_suspension/4027035b-3251-44b9-a281-fc9182de7579": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 5107, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.491Z", - "updateDate": "2018-03-26T17:00:33.975Z", - "document_id": "4027035b-3251-44b9-a281-fc9182de7579" - } - }, - "specimen_from_organism/e31c73aa-39bb-4a9c-a3fb-7912046742a8": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM2" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.976Z", - "updateDate": "2018-03-26T17:00:10.526Z", - "document_id": "e31c73aa-39bb-4a9c-a3fb-7912046742a8" - } - }, - "cell_suspension/33fbab10-cbbe-4b44-9e5b-df07df548949": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4075, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.856Z", - "updateDate": "2018-03-26T17:00:59.660Z", - "document_id": "33fbab10-cbbe-4b44-9e5b-df07df548949" - } - }, - "specimen_from_organism/cb55025a-b76a-41f3-9d6d-68723fea2e0e": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM4" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.337Z", - "updateDate": "2018-03-26T17:00:59.640Z", - "document_id": "cb55025a-b76a-41f3-9d6d-68723fea2e0e" - } - }, - "cell_suspension/464efe79-c955-41e2-b553-21dac9fc307c": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4294, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.093Z", - "updateDate": "2018-03-26T17:01:01.911Z", - "document_id": "464efe79-c955-41e2-b553-21dac9fc307c" - } - }, - "specimen_from_organism/94419300-4774-4315-89a1-37d2cfe9d65e": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM1" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.274Z", - "updateDate": "2018-03-26T17:01:01.882Z", - "document_id": "94419300-4774-4315-89a1-37d2cfe9d65e" - } - }, - "cell_suspension/4193326b-73c0-4def-a0cd-4b7e42ed0a4f": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4161, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.173Z", - "updateDate": "2018-03-26T17:00:34.021Z", - "document_id": "4193326b-73c0-4def-a0cd-4b7e42ed0a4f" - } - }, - "specimen_from_organism/718b1a85-c724-44bf-b2f4-9e4850581423": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM3" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.329Z", - "updateDate": "2018-03-26T17:07:09.382Z", - "document_id": "718b1a85-c724-44bf-b2f4-9e4850581423" - } - }, - "cell_suspension/db7a09ef-b0dd-462f-accd-b32a067b772a": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3969, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.100Z", - "updateDate": "2018-03-26T17:00:59.807Z", - "document_id": "db7a09ef-b0dd-462f-accd-b32a067b772a" - } - }, - "specimen_from_organism/a156dd24-ba60-485c-a0d4-91853a6c57e1": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM4" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.782Z", - "updateDate": "2018-03-26T17:00:59.787Z", - "document_id": "a156dd24-ba60-485c-a0d4-91853a6c57e1" - } - }, - "cell_suspension/db7217c3-b8a6-49fe-9e59-373accd8e554": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 5118, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.198Z", - "updateDate": "2018-03-26T17:00:34.048Z", - "document_id": "db7217c3-b8a6-49fe-9e59-373accd8e554" - } - }, - "specimen_from_organism/9c4230db-0ac3-438f-977e-818434fce73b": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM2" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.286Z", - "updateDate": "2018-03-26T17:00:10.247Z", - "document_id": "9c4230db-0ac3-438f-977e-818434fce73b" - } - }, - "cell_suspension/52f92017-99fd-4ad6-a817-839a80d71ea4": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3854, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.279Z", - "updateDate": "2018-03-26T17:00:59.732Z", - "document_id": "52f92017-99fd-4ad6-a817-839a80d71ea4" - } - }, - "specimen_from_organism/12a7653f-3f84-48ed-b90d-1d05473593fc": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM4" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.506Z", - "updateDate": "2018-03-26T17:00:59.716Z", - "document_id": "12a7653f-3f84-48ed-b90d-1d05473593fc" - } - }, - "cell_suspension/318a7e38-8594-49b8-b15b-924a411455bf": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4995, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.398Z", - "updateDate": "2018-03-26T17:00:34.096Z", - "document_id": "318a7e38-8594-49b8-b15b-924a411455bf" - } - }, - "specimen_from_organism/b4835555-4d48-411b-8afb-c337af68be63": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM2" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.847Z", - "updateDate": "2018-03-26T17:00:09.885Z", - "document_id": "b4835555-4d48-411b-8afb-c337af68be63" - } - }, - "cell_suspension/09d419e3-bd3e-46fd-a573-c3eff01fa571": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4132, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.424Z", - "updateDate": "2018-03-26T17:01:00.044Z", - "document_id": "09d419e3-bd3e-46fd-a573-c3eff01fa571" - } - }, - "specimen_from_organism/bb913e44-5259-48d4-9d90-92752d9a1fb4": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM3" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.533Z", - "updateDate": "2018-03-26T17:01:00.017Z", - "document_id": "bb913e44-5259-48d4-9d90-92752d9a1fb4" - } - }, - "cell_suspension/13848653-1195-4eb2-b1dd-2b4d85414327": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4226, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.655Z", - "updateDate": "2018-03-26T17:01:00.871Z", - "document_id": "13848653-1195-4eb2-b1dd-2b4d85414327" - } - }, - "specimen_from_organism/8d943f91-63b6-4dee-8ce5-cf2c4cfd3769": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM1" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.770Z", - "updateDate": "2018-03-26T17:01:00.844Z", - "document_id": "8d943f91-63b6-4dee-8ce5-cf2c4cfd3769" - } - }, - "cell_suspension/30a19b27-7152-4013-8429-d5eb8cdf463f": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4466, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.736Z", - "updateDate": "2018-03-26T17:01:00.302Z", - "document_id": "30a19b27-7152-4013-8429-d5eb8cdf463f" - } - }, - "specimen_from_organism/6db14b25-4c49-44b6-84f5-793996226bb8": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM3" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.855Z", - "updateDate": "2018-03-26T17:01:00.232Z", - "document_id": "6db14b25-4c49-44b6-84f5-793996226bb8" - } - }, - "cell_suspension/2169353d-98f5-49fe-91de-edc498aa3a0d": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4354, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.761Z", - "updateDate": "2018-03-26T17:00:34.213Z", - "document_id": "2169353d-98f5-49fe-91de-edc498aa3a0d" - } - }, - "specimen_from_organism/8349bc6b-b091-46e5-8466-f47257396db0": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM3" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.852Z", - "updateDate": "2018-03-26T17:00:10.684Z", - "document_id": "8349bc6b-b091-46e5-8466-f47257396db0" - } - }, - "cell_suspension/a1af5c54-93ee-4a57-b2a3-3bb11a6ce101": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 5018, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.096Z", - "updateDate": "2018-03-26T17:00:34.228Z", - "document_id": "a1af5c54-93ee-4a57-b2a3-3bb11a6ce101" - } - }, - "specimen_from_organism/9d324dba-1776-4801-aa39-d208ddf76ba6": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM2" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.265Z", - "updateDate": "2018-03-26T17:00:10.181Z", - "document_id": "9d324dba-1776-4801-aa39-d208ddf76ba6" - } - }, - "cell_suspension/6c95f445-81a6-4a34-af92-a926e142ca1c": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4302, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.440Z", - "updateDate": "2018-03-26T17:01:00.437Z", - "document_id": "6c95f445-81a6-4a34-af92-a926e142ca1c" - } - }, - "specimen_from_organism/783de389-3c3d-4b91-99d7-50c34ec8a371": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM3" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.630Z", - "updateDate": "2018-03-26T17:01:00.405Z", - "document_id": "783de389-3c3d-4b91-99d7-50c34ec8a371" - } - }, - "cell_suspension/d340cd45-3ffe-4773-a9bf-ead3539e2603": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4866, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.541Z", - "updateDate": "2018-03-26T17:01:00.940Z", - "document_id": "d340cd45-3ffe-4773-a9bf-ead3539e2603" - } - }, - "specimen_from_organism/bdc9af35-bee1-41c6-a779-27bfef094747": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM2" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.302Z", - "updateDate": "2018-03-26T17:01:00.923Z", - "document_id": "bdc9af35-bee1-41c6-a779-27bfef094747" - } - }, - "cell_suspension/638ca348-6740-42fd-a503-cac5c774aee7": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 5247, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.642Z", - "updateDate": "2018-03-26T17:00:34.274Z", - "document_id": "638ca348-6740-42fd-a503-cac5c774aee7" - } - }, - "specimen_from_organism/127de915-ba56-4a7e-b976-517f3a8577c6": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM2" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.602Z", - "updateDate": "2018-03-26T17:00:10.366Z", - "document_id": "127de915-ba56-4a7e-b976-517f3a8577c6" - } - }, - "cell_suspension/79d1fbd5-e630-4ae8-8c5e-58ec221add37": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 5102, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.031Z", - "updateDate": "2018-03-26T17:00:34.288Z", - "document_id": "79d1fbd5-e630-4ae8-8c5e-58ec221add37" - } - }, - "specimen_from_organism/79023c7a-8321-4e43-b0b9-315d5102213e": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM2" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.154Z", - "updateDate": "2018-03-26T17:00:10.104Z", - "document_id": "79023c7a-8321-4e43-b0b9-315d5102213e" - } - }, - "cell_suspension/5cd07007-e43d-4811-80fb-eb6f73bb4003": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4039, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.380Z", - "updateDate": "2018-03-26T17:01:01.015Z", - "document_id": "5cd07007-e43d-4811-80fb-eb6f73bb4003" - } - }, - "specimen_from_organism/871986c1-96db-453d-850f-15b6b740404b": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM1" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.231Z", - "updateDate": "2018-03-26T17:01:00.998Z", - "document_id": "871986c1-96db-453d-850f-15b6b740404b" - } - }, - "cell_suspension/238b7966-6118-4fb4-b8e9-9c96f7e21c20": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4353, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.996Z", - "updateDate": "2018-03-26T17:00:34.319Z", - "document_id": "238b7966-6118-4fb4-b8e9-9c96f7e21c20" - } - }, - "specimen_from_organism/11685058-51ab-41b5-a8db-2cb8be4d472b": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM4" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.692Z", - "updateDate": "2018-03-26T17:00:07.791Z", - "document_id": "11685058-51ab-41b5-a8db-2cb8be4d472b" - } - }, - "cell_suspension/be271554-f98a-4e8f-9bca-27e884677dcb": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4122, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.187Z", - "updateDate": "2018-03-26T17:01:02.006Z", - "document_id": "be271554-f98a-4e8f-9bca-27e884677dcb" - } - }, - "specimen_from_organism/f4da656b-742d-45d8-87d5-8489cece62e4": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM1" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.023Z", - "updateDate": "2018-03-26T17:01:01.986Z", - "document_id": "f4da656b-742d-45d8-87d5-8489cece62e4" - } - }, - "cell_suspension/21f3c6f0-575e-4d26-92df-a40536bff617": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4136, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.568Z", - "updateDate": "2018-03-26T17:00:59.563Z", - "document_id": "21f3c6f0-575e-4d26-92df-a40536bff617" - } - }, - "specimen_from_organism/81946218-e5f0-4a93-a19f-ed249e1882bf": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM4" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.358Z", - "updateDate": "2018-03-26T17:00:59.499Z", - "document_id": "81946218-e5f0-4a93-a19f-ed249e1882bf" - } - }, - "cell_suspension/78fcbbea-a256-48ef-9ce0-fb963724721d": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4278, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.609Z", - "updateDate": "2018-03-26T17:00:59.962Z", - "document_id": "78fcbbea-a256-48ef-9ce0-fb963724721d" - } - }, - "specimen_from_organism/c2a5c0e2-f780-4089-9927-9120c2db52ae": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM3" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.797Z", - "updateDate": "2018-03-26T17:00:59.945Z", - "document_id": "c2a5c0e2-f780-4089-9927-9120c2db52ae" - } - }, - "cell_suspension/044dbcb3-cd35-4817-b8fb-e2a7ffce416e": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4353, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.746Z", - "updateDate": "2018-03-26T17:01:01.234Z", - "document_id": "044dbcb3-cd35-4817-b8fb-e2a7ffce416e" - } - }, - "specimen_from_organism/b15f87d6-a36c-404c-a1df-87a3ef30079d": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM1" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.926Z", - "updateDate": "2018-03-26T17:01:01.213Z", - "document_id": "b15f87d6-a36c-404c-a1df-87a3ef30079d" - } - }, - "sequence_file/d5294332-19b5-4ff1-b298-6c1cf500cb35": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_1_S1_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:46.777Z", - "document_id": "d5294332-19b5-4ff1-b298-6c1cf500cb35" - } - }, - "sequence_file/0fa33de0-5ac6-43d4-8df8-006b0259f6a4": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_1_S1_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:46.791Z", - "document_id": "0fa33de0-5ac6-43d4-8df8-006b0259f6a4" - } - }, - "sequence_file/65755624-9cf1-4f0e-96f5-e4c30a6ee2d9": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_1_S1_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:46.804Z", - "document_id": "65755624-9cf1-4f0e-96f5-e4c30a6ee2d9" - } - }, - "sequence_file/6de335f6-cab5-4ec8-a1ff-3a639596dd59": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_1_S1_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:46.817Z", - "document_id": "6de335f6-cab5-4ec8-a1ff-3a639596dd59" - } - }, - "sequence_file/ac3edf4a-f269-4944-bb1a-3b1845e33098": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_1_S1_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:46.829Z", - "document_id": "ac3edf4a-f269-4944-bb1a-3b1845e33098" - } - }, - "sequence_file/a256e5e3-7e80-419e-b8e8-c3fdaf234b43": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_1_S1_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:46.844Z", - "document_id": "a256e5e3-7e80-419e-b8e8-c3fdaf234b43" - } - }, - "sequence_file/4dcd7823-b02f-4dd7-a49f-94b86096d77d": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_2_S2_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:46.856Z", - "document_id": "4dcd7823-b02f-4dd7-a49f-94b86096d77d" - } - }, - "sequence_file/27f0c78b-67cd-47d3-964f-fcbec7562997": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_2_S2_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:46.874Z", - "document_id": "27f0c78b-67cd-47d3-964f-fcbec7562997" - } - }, - "sequence_file/c3c9b724-b79b-4988-934d-b22f673c4823": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_2_S2_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:46.886Z", - "document_id": "c3c9b724-b79b-4988-934d-b22f673c4823" - } - }, - "sequence_file/3e8bda58-fb04-44a1-9266-d32fcc73649c": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_2_S2_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:46.900Z", - "document_id": "3e8bda58-fb04-44a1-9266-d32fcc73649c" - } - }, - "sequence_file/62e42770-9481-48e4-9705-1f4c6da2ae43": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_2_S2_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:46.945Z", - "document_id": "62e42770-9481-48e4-9705-1f4c6da2ae43" - } - }, - "sequence_file/c1f1455c-d49b-4826-b3b7-526a9ca4ee9a": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_2_S2_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:46.991Z", - "document_id": "c1f1455c-d49b-4826-b3b7-526a9ca4ee9a" - } - }, - "sequence_file/2f629555-1b9d-4251-a513-72b138ec1d1f": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_3_S3_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.024Z", - "document_id": "2f629555-1b9d-4251-a513-72b138ec1d1f" - } - }, - "sequence_file/22f89ffa-0ba3-4264-b91e-fde781c0d703": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_3_S3_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.038Z", - "document_id": "22f89ffa-0ba3-4264-b91e-fde781c0d703" - } - }, - "sequence_file/fc93721d-74f9-4dd4-adcb-ed6b1b2e0424": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_3_S3_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.081Z", - "document_id": "fc93721d-74f9-4dd4-adcb-ed6b1b2e0424" - } - }, - "sequence_file/3aaa7031-22c5-4339-ac54-d6583303bc6d": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_3_S3_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.119Z", - "document_id": "3aaa7031-22c5-4339-ac54-d6583303bc6d" - } - }, - "sequence_file/4502aed4-857b-4760-83e0-de5ef6a15671": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_3_S3_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.148Z", - "document_id": "4502aed4-857b-4760-83e0-de5ef6a15671" - } - }, - "sequence_file/3641ab2b-35f7-453d-ae7e-9f3ae7ced860": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_3_S3_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.170Z", - "document_id": "3641ab2b-35f7-453d-ae7e-9f3ae7ced860" - } - }, - "sequence_file/0374a796-bd3a-47f0-a008-a037ca62fd7a": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_4_S4_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.189Z", - "document_id": "0374a796-bd3a-47f0-a008-a037ca62fd7a" - } - }, - "sequence_file/d7867440-3fd2-4c80-acdb-d8cc2ec1fb4b": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_4_S4_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.208Z", - "document_id": "d7867440-3fd2-4c80-acdb-d8cc2ec1fb4b" - } - }, - "sequence_file/0ef80820-3d78-4810-a009-3134cb9090b6": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_4_S4_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.226Z", - "document_id": "0ef80820-3d78-4810-a009-3134cb9090b6" - } - }, - "sequence_file/2e34dd3f-914d-47ad-b0fe-1fa37d1b134c": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_4_S4_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.247Z", - "document_id": "2e34dd3f-914d-47ad-b0fe-1fa37d1b134c" - } - }, - "sequence_file/14d610ac-504c-4c5c-8f5b-2b2e0d6b9a9c": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_4_S4_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.283Z", - "document_id": "14d610ac-504c-4c5c-8f5b-2b2e0d6b9a9c" - } - }, - "sequence_file/6001f9be-8ebd-4dd3-86ff-92e93adad0d7": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_4_S4_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.328Z", - "document_id": "6001f9be-8ebd-4dd3-86ff-92e93adad0d7" - } - }, - "sequence_file/61c10ee6-ecb7-47ba-b3db-e02bcf4325bf": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_5_S5_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.364Z", - "document_id": "61c10ee6-ecb7-47ba-b3db-e02bcf4325bf" - } - }, - "sequence_file/1d02060a-dfab-484f-9ef1-d23d831b1a5d": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_5_S5_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.396Z", - "document_id": "1d02060a-dfab-484f-9ef1-d23d831b1a5d" - } - }, - "sequence_file/338b9160-54b0-41a5-8a2c-d08f6c9ed626": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_5_S5_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.460Z", - "document_id": "338b9160-54b0-41a5-8a2c-d08f6c9ed626" - } - }, - "sequence_file/d5e1593f-e8a0-4288-97c7-2e5faa401ab8": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_5_S5_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.657Z", - "document_id": "d5e1593f-e8a0-4288-97c7-2e5faa401ab8" - } - }, - "sequence_file/175d7210-8296-4789-bd4f-e0ddd35c2a89": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_5_S5_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.678Z", - "document_id": "175d7210-8296-4789-bd4f-e0ddd35c2a89" - } - }, - "sequence_file/31fd2963-0fd5-451b-a21f-9963e65cb6f3": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_5_S5_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.691Z", - "document_id": "31fd2963-0fd5-451b-a21f-9963e65cb6f3" - } - }, - "sequence_file/3d94a11d-f106-4f85-b4bd-93d8bf2530ea": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_6_S6_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.739Z", - "document_id": "3d94a11d-f106-4f85-b4bd-93d8bf2530ea" - } - }, - "sequence_file/50d413fc-208e-4b28-93d0-1aff73ab66c5": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_6_S6_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.756Z", - "document_id": "50d413fc-208e-4b28-93d0-1aff73ab66c5" - } - }, - "sequence_file/55ca5e22-f148-4a7c-82c9-005e1d9f9ece": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_6_S6_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.770Z", - "document_id": "55ca5e22-f148-4a7c-82c9-005e1d9f9ece" - } - }, - "sequence_file/aa28d2a1-9e50-471a-a891-7ecf278b467a": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_6_S6_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.784Z", - "document_id": "aa28d2a1-9e50-471a-a891-7ecf278b467a" - } - }, - "sequence_file/12640e28-e9aa-4432-8d74-93003425748c": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_6_S6_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.797Z", - "document_id": "12640e28-e9aa-4432-8d74-93003425748c" - } - }, - "sequence_file/39c3fe7f-f194-4eed-9525-5511a3dc3ffc": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_6_S6_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.809Z", - "document_id": "39c3fe7f-f194-4eed-9525-5511a3dc3ffc" - } - }, - "sequence_file/919ae226-445e-49a5-9e3d-69b9a1932e96": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_7_S7_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.821Z", - "document_id": "919ae226-445e-49a5-9e3d-69b9a1932e96" - } - }, - "sequence_file/a2ef2eb3-4f87-456b-bdab-71d062e30722": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_7_S7_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.833Z", - "document_id": "a2ef2eb3-4f87-456b-bdab-71d062e30722" - } - }, - "sequence_file/b938e56a-f94a-46b4-bbdd-5df21d083411": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_7_S7_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.845Z", - "document_id": "b938e56a-f94a-46b4-bbdd-5df21d083411" - } - }, - "sequence_file/8bf97ca3-2d03-4ac2-8c11-cd8decadf586": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_7_S7_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.858Z", - "document_id": "8bf97ca3-2d03-4ac2-8c11-cd8decadf586" - } - }, - "sequence_file/9478fc7f-df90-4067-b8ad-a480706b9ade": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_7_S7_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.871Z", - "document_id": "9478fc7f-df90-4067-b8ad-a480706b9ade" - } - }, - "sequence_file/07942b88-77bd-4559-91ea-d09a7aac1264": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_7_S7_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.884Z", - "document_id": "07942b88-77bd-4559-91ea-d09a7aac1264" - } - }, - "sequence_file/a0381296-68b4-4480-8d93-e1ad9e85abb6": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_8_S8_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.896Z", - "document_id": "a0381296-68b4-4480-8d93-e1ad9e85abb6" - } - }, - "sequence_file/a1a879dd-65fb-483d-8740-cef3abe97fbe": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_8_S8_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.938Z", - "document_id": "a1a879dd-65fb-483d-8740-cef3abe97fbe" - } - }, - "sequence_file/89254219-e37c-4493-a339-0e426c826fcf": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_8_S8_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.964Z", - "document_id": "89254219-e37c-4493-a339-0e426c826fcf" - } - }, - "sequence_file/838bef81-e228-4470-b50b-5259d7cbe5db": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_8_S8_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:47.983Z", - "document_id": "838bef81-e228-4470-b50b-5259d7cbe5db" - } - }, - "sequence_file/85a94a58-241b-4c97-a85f-8d718c8c4679": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_8_S8_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.002Z", - "document_id": "85a94a58-241b-4c97-a85f-8d718c8c4679" - } - }, - "sequence_file/73fb78b0-5a63-4b0b-a784-45f67be0d562": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM1_HiSeq_8_S8_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.015Z", - "document_id": "73fb78b0-5a63-4b0b-a784-45f67be0d562" - } - }, - "sequence_file/00c1e04c-71f9-4e64-8f7d-43a9742732c1": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_1_S9_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.032Z", - "document_id": "00c1e04c-71f9-4e64-8f7d-43a9742732c1" - } - }, - "sequence_file/ba55717c-bc2d-4ae6-aab0-40cd0c39e132": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_1_S9_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.054Z", - "document_id": "ba55717c-bc2d-4ae6-aab0-40cd0c39e132" - } - }, - "sequence_file/5b802cb7-74ea-40da-9629-89da2f879940": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_1_S9_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.075Z", - "document_id": "5b802cb7-74ea-40da-9629-89da2f879940" - } - }, - "sequence_file/10ec7489-07a9-4848-86f1-f9b8b8eda316": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_1_S9_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.092Z", - "document_id": "10ec7489-07a9-4848-86f1-f9b8b8eda316" - } - }, - "sequence_file/f4db906f-02a2-4e78-a944-f70f6ecfba6e": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_1_S9_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.124Z", - "document_id": "f4db906f-02a2-4e78-a944-f70f6ecfba6e" - } - }, - "sequence_file/61ea8027-8da7-4ee5-a153-49126032a194": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_1_S9_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.152Z", - "document_id": "61ea8027-8da7-4ee5-a153-49126032a194" - } - }, - "sequence_file/abfc93d7-2406-4c83-8e50-ae23746b5724": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_2_S10_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.174Z", - "document_id": "abfc93d7-2406-4c83-8e50-ae23746b5724" - } - }, - "sequence_file/bd09c8c4-c7ff-40e5-a14d-1d1968485dd6": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_2_S10_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.199Z", - "document_id": "bd09c8c4-c7ff-40e5-a14d-1d1968485dd6" - } - }, - "sequence_file/6062d33b-29f5-4b2c-a8c7-fef60591b285": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_2_S10_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.247Z", - "document_id": "6062d33b-29f5-4b2c-a8c7-fef60591b285" - } - }, - "sequence_file/8e6df880-5417-4b70-b79c-ad2c9e4c88e7": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_2_S10_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.279Z", - "document_id": "8e6df880-5417-4b70-b79c-ad2c9e4c88e7" - } - }, - "sequence_file/4c8d2f2b-0805-4abc-9a20-d477eb5cc6fd": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_2_S10_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.332Z", - "document_id": "4c8d2f2b-0805-4abc-9a20-d477eb5cc6fd" - } - }, - "sequence_file/cf307cb1-0f17-42f1-a069-5060b68548c8": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_2_S10_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.364Z", - "document_id": "cf307cb1-0f17-42f1-a069-5060b68548c8" - } - }, - "sequence_file/da5a2a93-e840-4ea5-bad6-c3607fd3db5b": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_3_S11_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.412Z", - "document_id": "da5a2a93-e840-4ea5-bad6-c3607fd3db5b" - } - }, - "sequence_file/3dcf809d-c939-4dc7-93e8-f2782044d68f": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_3_S11_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.448Z", - "document_id": "3dcf809d-c939-4dc7-93e8-f2782044d68f" - } - }, - "sequence_file/8647eca2-4adc-43c0-becb-98c0ff86682b": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_3_S11_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.481Z", - "document_id": "8647eca2-4adc-43c0-becb-98c0ff86682b" - } - }, - "sequence_file/20e6c61f-5747-4dcd-a659-fede6d62a434": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_3_S11_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.506Z", - "document_id": "20e6c61f-5747-4dcd-a659-fede6d62a434" - } - }, - "sequence_file/8975ec2a-dc00-4800-a409-52d64686da01": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_3_S11_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.541Z", - "document_id": "8975ec2a-dc00-4800-a409-52d64686da01" - } - }, - "sequence_file/ff7e8e48-a9ae-4fab-86b6-b895388abf6e": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_3_S11_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.555Z", - "document_id": "ff7e8e48-a9ae-4fab-86b6-b895388abf6e" - } - }, - "sequence_file/37ea959a-47bd-4a35-8468-8fc6bc5b4dfd": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_4_S12_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.569Z", - "document_id": "37ea959a-47bd-4a35-8468-8fc6bc5b4dfd" - } - }, - "sequence_file/9ee2ade2-48f5-4319-99aa-eb2c73aa2e83": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_4_S12_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.582Z", - "document_id": "9ee2ade2-48f5-4319-99aa-eb2c73aa2e83" - } - }, - "sequence_file/60b743d4-6476-4d38-9343-621186612ed8": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_4_S12_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.593Z", - "document_id": "60b743d4-6476-4d38-9343-621186612ed8" - } - }, - "sequence_file/1daa45f1-3ce5-400b-8f2d-40d04f1f8806": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_4_S12_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.605Z", - "document_id": "1daa45f1-3ce5-400b-8f2d-40d04f1f8806" - } - }, - "sequence_file/938d4d47-a7f3-4ecd-887d-6a01f7ee32cf": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_4_S12_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.617Z", - "document_id": "938d4d47-a7f3-4ecd-887d-6a01f7ee32cf" - } - }, - "sequence_file/56ec5353-ecce-40b5-a981-1dad8ad1c9d4": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_4_S12_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.628Z", - "document_id": "56ec5353-ecce-40b5-a981-1dad8ad1c9d4" - } - }, - "sequence_file/24fbec47-ebbf-4e55-8d7d-cf2c9902bee2": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_5_S13_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.647Z", - "document_id": "24fbec47-ebbf-4e55-8d7d-cf2c9902bee2" - } - }, - "sequence_file/e97970fa-381f-4deb-9bfe-ed6c227bd89c": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_5_S13_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.662Z", - "document_id": "e97970fa-381f-4deb-9bfe-ed6c227bd89c" - } - }, - "sequence_file/9b84ab82-16ad-499d-916f-53c73a2537da": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_5_S13_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.674Z", - "document_id": "9b84ab82-16ad-499d-916f-53c73a2537da" - } - }, - "sequence_file/50c3d51e-175d-4ffc-ad21-20e4713a92bc": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_5_S13_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.686Z", - "document_id": "50c3d51e-175d-4ffc-ad21-20e4713a92bc" - } - }, - "sequence_file/f6d5e9d9-2cf1-427b-b9e4-6da9a9fa2ae9": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_5_S13_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.698Z", - "document_id": "f6d5e9d9-2cf1-427b-b9e4-6da9a9fa2ae9" - } - }, - "sequence_file/cae932bf-4d22-4466-8ea3-a76cffd1dab1": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_5_S13_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.711Z", - "document_id": "cae932bf-4d22-4466-8ea3-a76cffd1dab1" - } - }, - "sequence_file/7b6ddb79-655b-4b33-ad2d-c94b36140c6a": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_6_S14_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.723Z", - "document_id": "7b6ddb79-655b-4b33-ad2d-c94b36140c6a" - } - }, - "sequence_file/08da0161-f96f-4da0-9c47-421bc0ebf7b8": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_6_S14_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.737Z", - "document_id": "08da0161-f96f-4da0-9c47-421bc0ebf7b8" - } - }, - "sequence_file/5f927ca9-9b92-44a0-9a48-55fdad524445": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_6_S14_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.749Z", - "document_id": "5f927ca9-9b92-44a0-9a48-55fdad524445" - } - }, - "sequence_file/bd2f2534-276f-47f4-a3d3-b1ad09b41554": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_6_S14_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.762Z", - "document_id": "bd2f2534-276f-47f4-a3d3-b1ad09b41554" - } - }, - "sequence_file/e9b7c7ea-dcee-43dd-af1f-9a311420ff85": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_6_S14_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.775Z", - "document_id": "e9b7c7ea-dcee-43dd-af1f-9a311420ff85" - } - }, - "sequence_file/3657e098-4b0c-410a-a7c8-82c73b6ed1ed": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_6_S14_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.787Z", - "document_id": "3657e098-4b0c-410a-a7c8-82c73b6ed1ed" - } - }, - "sequence_file/66aad53b-645e-4d69-89ed-47ed82890546": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_7_S15_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.799Z", - "document_id": "66aad53b-645e-4d69-89ed-47ed82890546" - } - }, - "sequence_file/c92d030e-2530-441a-a1e9-3f8d2fd7dc46": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_7_S15_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.814Z", - "document_id": "c92d030e-2530-441a-a1e9-3f8d2fd7dc46" - } - }, - "sequence_file/67e5a10c-0f5b-48af-aa30-628854a0928d": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_7_S15_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.825Z", - "document_id": "67e5a10c-0f5b-48af-aa30-628854a0928d" - } - }, - "sequence_file/36341e0d-4bf8-48f8-88ce-32b9173c5bd7": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_7_S15_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.839Z", - "document_id": "36341e0d-4bf8-48f8-88ce-32b9173c5bd7" - } - }, - "sequence_file/1f3da46c-e8df-4300-b197-0307a3208beb": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_7_S15_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.851Z", - "document_id": "1f3da46c-e8df-4300-b197-0307a3208beb" - } - }, - "sequence_file/da06f1b2-bd05-4300-8899-d0146c5ecf83": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_7_S15_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.863Z", - "document_id": "da06f1b2-bd05-4300-8899-d0146c5ecf83" - } - }, - "sequence_file/51e6d934-8a34-4204-96b9-e6a0865f2cac": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_8_S16_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.877Z", - "document_id": "51e6d934-8a34-4204-96b9-e6a0865f2cac" - } - }, - "sequence_file/d17161a2-081b-4d3c-9c7c-ab93b8ff36fa": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_8_S16_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.890Z", - "document_id": "d17161a2-081b-4d3c-9c7c-ab93b8ff36fa" - } - }, - "sequence_file/bc88049b-5dd3-4460-9119-94e22c3a13c8": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_8_S16_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.901Z", - "document_id": "bc88049b-5dd3-4460-9119-94e22c3a13c8" - } - }, - "sequence_file/6ca9ed26-11b8-475e-94ba-e50472dd6bd3": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_8_S16_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.937Z", - "document_id": "6ca9ed26-11b8-475e-94ba-e50472dd6bd3" - } - }, - "sequence_file/6b910e18-fd50-4447-8438-9cd628cd0660": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_8_S16_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.963Z", - "document_id": "6b910e18-fd50-4447-8438-9cd628cd0660" - } - }, - "sequence_file/c2b2449f-0f1c-40e0-bc1e-534a936c3fb4": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM2_HiSeq_8_S16_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:48.987Z", - "document_id": "c2b2449f-0f1c-40e0-bc1e-534a936c3fb4" - } - }, - "sequence_file/cf6e3ba9-a5d7-4225-abbb-04f761a47c82": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_1_S17_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.011Z", - "document_id": "cf6e3ba9-a5d7-4225-abbb-04f761a47c82" - } - }, - "sequence_file/40cef712-132a-48c4-9ddd-21169ea24903": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_1_S17_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.024Z", - "document_id": "40cef712-132a-48c4-9ddd-21169ea24903" - } - }, - "sequence_file/4a062a0d-946c-4b2a-9cff-4418544d9b16": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_1_S17_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.036Z", - "document_id": "4a062a0d-946c-4b2a-9cff-4418544d9b16" - } - }, - "sequence_file/9db41364-8b2f-4cf9-b88f-cab43edea8ce": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_1_S17_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.052Z", - "document_id": "9db41364-8b2f-4cf9-b88f-cab43edea8ce" - } - }, - "sequence_file/65775d70-1372-4161-a7e5-de2202dd6f7e": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_1_S17_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.067Z", - "document_id": "65775d70-1372-4161-a7e5-de2202dd6f7e" - } - }, - "sequence_file/81838f1d-3ae5-45be-88fc-e35b9217ef21": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_1_S17_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.081Z", - "document_id": "81838f1d-3ae5-45be-88fc-e35b9217ef21" - } - }, - "sequence_file/9989e71f-09d8-4051-83e8-75753389a6cb": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_2_S18_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.094Z", - "document_id": "9989e71f-09d8-4051-83e8-75753389a6cb" - } - }, - "sequence_file/c750d7ef-7274-4253-9fc0-0f40354b84aa": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_2_S18_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.110Z", - "document_id": "c750d7ef-7274-4253-9fc0-0f40354b84aa" - } - }, - "sequence_file/fa69feb4-152a-4ac9-bb44-8b2b4b3e8176": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_2_S18_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.140Z", - "document_id": "fa69feb4-152a-4ac9-bb44-8b2b4b3e8176" - } - }, - "sequence_file/f0d45c30-753f-4a2f-afc9-1479a12a8e8b": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_2_S18_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.181Z", - "document_id": "f0d45c30-753f-4a2f-afc9-1479a12a8e8b" - } - }, - "sequence_file/9d70fcb9-9317-47ba-a6be-7169d23af75a": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_2_S18_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.223Z", - "document_id": "9d70fcb9-9317-47ba-a6be-7169d23af75a" - } - }, - "sequence_file/c03c121a-31e9-4a79-93d7-4030c1e5eee8": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_2_S18_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.349Z", - "document_id": "c03c121a-31e9-4a79-93d7-4030c1e5eee8" - } - }, - "sequence_file/182a36a5-027b-4e76-a57d-979c093eecb8": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_3_S19_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.387Z", - "document_id": "182a36a5-027b-4e76-a57d-979c093eecb8" - } - }, - "sequence_file/6ff26361-3be0-48c4-a5dd-c215ba8021bc": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_3_S19_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.412Z", - "document_id": "6ff26361-3be0-48c4-a5dd-c215ba8021bc" - } - }, - "sequence_file/60e007a2-6d1d-49df-8dfa-358ebfe397a7": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_3_S19_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.430Z", - "document_id": "60e007a2-6d1d-49df-8dfa-358ebfe397a7" - } - }, - "sequence_file/06c4f4e6-f607-4165-9d18-f068c9393bd1": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_3_S19_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.449Z", - "document_id": "06c4f4e6-f607-4165-9d18-f068c9393bd1" - } - }, - "sequence_file/68c14f04-48d2-404e-9b3e-cefabe0d4256": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_3_S19_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.465Z", - "document_id": "68c14f04-48d2-404e-9b3e-cefabe0d4256" - } - }, - "sequence_file/6d8a7881-9d15-42e2-97e6-09df4604997e": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_3_S19_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.488Z", - "document_id": "6d8a7881-9d15-42e2-97e6-09df4604997e" - } - }, - "sequence_file/500aa99d-776e-4418-b708-58a9075daa3b": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_4_S20_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.509Z", - "document_id": "500aa99d-776e-4418-b708-58a9075daa3b" - } - }, - "sequence_file/49148098-bb4e-42d0-af89-946de3e6d394": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_4_S20_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.527Z", - "document_id": "49148098-bb4e-42d0-af89-946de3e6d394" - } - }, - "sequence_file/94e3471e-744b-44cc-b987-31071a107fef": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_4_S20_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.547Z", - "document_id": "94e3471e-744b-44cc-b987-31071a107fef" - } - }, - "sequence_file/e3dbda3e-f81d-42fb-85d7-92256229c9c1": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_4_S20_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.569Z", - "document_id": "e3dbda3e-f81d-42fb-85d7-92256229c9c1" - } - }, - "sequence_file/5bb3fb23-884b-4762-8033-481f3dc67746": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_4_S20_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.588Z", - "document_id": "5bb3fb23-884b-4762-8033-481f3dc67746" - } - }, - "sequence_file/25e5c231-49af-4302-8292-6756f90cf30e": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_4_S20_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.605Z", - "document_id": "25e5c231-49af-4302-8292-6756f90cf30e" - } - }, - "sequence_file/ff5f0c7a-b90c-4cca-9fce-d72f28a1e8a5": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_5_S21_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.623Z", - "document_id": "ff5f0c7a-b90c-4cca-9fce-d72f28a1e8a5" - } - }, - "sequence_file/e0e1175b-fe0f-41f3-af58-cd745c64704d": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_5_S21_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.643Z", - "document_id": "e0e1175b-fe0f-41f3-af58-cd745c64704d" - } - }, - "sequence_file/522747b7-1e9b-435e-9a4a-1a4b390fd153": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_5_S21_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.659Z", - "document_id": "522747b7-1e9b-435e-9a4a-1a4b390fd153" - } - }, - "sequence_file/0131fd23-816a-4fcd-9660-27c45022ec47": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_5_S21_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.676Z", - "document_id": "0131fd23-816a-4fcd-9660-27c45022ec47" - } - }, - "sequence_file/948a2a49-c334-42ee-8ad0-e92ee7a72fc6": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_5_S21_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.690Z", - "document_id": "948a2a49-c334-42ee-8ad0-e92ee7a72fc6" - } - }, - "sequence_file/991d0b52-a02e-4705-9754-4af10cbba1d9": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_5_S21_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.702Z", - "document_id": "991d0b52-a02e-4705-9754-4af10cbba1d9" - } - }, - "sequence_file/8db31c92-e87d-444c-9309-0340768a794b": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_6_S22_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.715Z", - "document_id": "8db31c92-e87d-444c-9309-0340768a794b" - } - }, - "sequence_file/f39f5ab3-1a1f-425c-8670-a73c53b7ea1c": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_6_S22_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.728Z", - "document_id": "f39f5ab3-1a1f-425c-8670-a73c53b7ea1c" - } - }, - "sequence_file/437fef8b-4c7a-463f-a144-85e66c7f4953": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_6_S22_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.763Z", - "document_id": "437fef8b-4c7a-463f-a144-85e66c7f4953" - } - }, - "sequence_file/e3bbd096-a3eb-4fb2-a7af-ffcd5bfbfebf": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_6_S22_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.777Z", - "document_id": "e3bbd096-a3eb-4fb2-a7af-ffcd5bfbfebf" - } - }, - "sequence_file/e2e3b95f-8f87-475c-8338-13c08fef0b8e": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_6_S22_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.790Z", - "document_id": "e2e3b95f-8f87-475c-8338-13c08fef0b8e" - } - }, - "sequence_file/02d06869-ddfe-4ad7-9da7-2be88d0c2112": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_6_S22_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.802Z", - "document_id": "02d06869-ddfe-4ad7-9da7-2be88d0c2112" - } - }, - "sequence_file/92c76b47-b073-4ea2-bb35-3b764da48787": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_7_S23_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.814Z", - "document_id": "92c76b47-b073-4ea2-bb35-3b764da48787" - } - }, - "sequence_file/5b14f043-ca67-4b07-adf7-b5d9b2405566": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_7_S23_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.830Z", - "document_id": "5b14f043-ca67-4b07-adf7-b5d9b2405566" - } - }, - "sequence_file/cb5df08f-68c8-4dfd-9581-d3828d7b7f2b": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_7_S23_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.841Z", - "document_id": "cb5df08f-68c8-4dfd-9581-d3828d7b7f2b" - } - }, - "sequence_file/e69d977c-7f1c-4e65-bc85-976f334e1f0c": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_7_S23_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.858Z", - "document_id": "e69d977c-7f1c-4e65-bc85-976f334e1f0c" - } - }, - "sequence_file/22dfec6d-dcef-4928-8e91-a76ea60d2494": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_7_S23_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.877Z", - "document_id": "22dfec6d-dcef-4928-8e91-a76ea60d2494" - } - }, - "sequence_file/e1286902-46fa-45c5-b9ac-498058c09ec9": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_7_S23_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.890Z", - "document_id": "e1286902-46fa-45c5-b9ac-498058c09ec9" - } - }, - "sequence_file/59adfc03-cca3-496d-91f8-262512429977": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_8_S24_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.903Z", - "document_id": "59adfc03-cca3-496d-91f8-262512429977" - } - }, - "sequence_file/a56a72c7-c1b8-4db1-8ec1-b4a54e8b4057": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_8_S24_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.945Z", - "document_id": "a56a72c7-c1b8-4db1-8ec1-b4a54e8b4057" - } - }, - "sequence_file/e4e868a9-a1e7-4963-875c-fe48530460f3": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_8_S24_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.973Z", - "document_id": "e4e868a9-a1e7-4963-875c-fe48530460f3" - } - }, - "sequence_file/5da8e6f2-a26e-448b-b017-33ac69ca80f7": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_8_S24_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:49.998Z", - "document_id": "5da8e6f2-a26e-448b-b017-33ac69ca80f7" - } - }, - "sequence_file/c59d880d-7847-4525-990b-ab283257a166": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_8_S24_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.055Z", - "document_id": "c59d880d-7847-4525-990b-ab283257a166" - } - }, - "sequence_file/614a69c9-4212-46bf-948e-d7affd2310e5": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM3_HiSeq_8_S24_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.069Z", - "document_id": "614a69c9-4212-46bf-948e-d7affd2310e5" - } - }, - "sequence_file/40c497af-80ea-4c54-a628-a57486c0f8ec": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_1_S25_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.083Z", - "document_id": "40c497af-80ea-4c54-a628-a57486c0f8ec" - } - }, - "sequence_file/b23a12bd-3372-4542-a5e6-0f9bcdcb51dd": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_1_S25_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.097Z", - "document_id": "b23a12bd-3372-4542-a5e6-0f9bcdcb51dd" - } - }, - "sequence_file/7844a2e7-6307-4e70-af10-fdcff29496e2": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_1_S25_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.115Z", - "document_id": "7844a2e7-6307-4e70-af10-fdcff29496e2" - } - }, - "sequence_file/66e5a918-007f-4ef6-a514-b8043bcc6128": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_1_S25_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.130Z", - "document_id": "66e5a918-007f-4ef6-a514-b8043bcc6128" - } - }, - "sequence_file/452b88e0-94cf-4243-b44e-94b16c936896": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_1_S25_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.151Z", - "document_id": "452b88e0-94cf-4243-b44e-94b16c936896" - } - }, - "sequence_file/32aeb59b-d1f7-4660-9b98-f72ebe671864": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_1_S25_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.176Z", - "document_id": "32aeb59b-d1f7-4660-9b98-f72ebe671864" - } - }, - "sequence_file/751ad2cb-994b-40d2-b6ba-9d4f59112f12": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_2_S26_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.259Z", - "document_id": "751ad2cb-994b-40d2-b6ba-9d4f59112f12" - } - }, - "sequence_file/1705dea1-fff5-4f39-985d-b2a70f5d2ea1": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_2_S26_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.285Z", - "document_id": "1705dea1-fff5-4f39-985d-b2a70f5d2ea1" - } - }, - "sequence_file/05dcbcdd-7288-4e17-94dc-bb9e099a2a20": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_2_S26_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.307Z", - "document_id": "05dcbcdd-7288-4e17-94dc-bb9e099a2a20" - } - }, - "sequence_file/f97c6247-15c6-403e-9a15-62113f9dc24a": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_2_S26_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.375Z", - "document_id": "f97c6247-15c6-403e-9a15-62113f9dc24a" - } - }, - "sequence_file/3c4864ae-619e-479d-8138-c1489e7f10bb": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_2_S26_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.416Z", - "document_id": "3c4864ae-619e-479d-8138-c1489e7f10bb" - } - }, - "sequence_file/5703221a-e4bf-4f4a-a5a0-747aa74d46b2": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_2_S26_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.467Z", - "document_id": "5703221a-e4bf-4f4a-a5a0-747aa74d46b2" - } - }, - "sequence_file/463a120d-ee95-476c-8329-c633b43ab1aa": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_3_S27_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.506Z", - "document_id": "463a120d-ee95-476c-8329-c633b43ab1aa" - } - }, - "sequence_file/98f19741-b0fe-4aff-ab8c-9a77af8e36ce": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_3_S27_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.544Z", - "document_id": "98f19741-b0fe-4aff-ab8c-9a77af8e36ce" - } - }, - "sequence_file/9820fbb5-07b7-41ce-b135-16e21b371c94": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_3_S27_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.609Z", - "document_id": "9820fbb5-07b7-41ce-b135-16e21b371c94" - } - }, - "sequence_file/cab74e16-3229-4808-922a-743447d7da23": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_3_S27_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.641Z", - "document_id": "cab74e16-3229-4808-922a-743447d7da23" - } - }, - "sequence_file/fac833de-2bb8-4f4a-a1dd-6136fbc288b1": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_3_S27_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.659Z", - "document_id": "fac833de-2bb8-4f4a-a1dd-6136fbc288b1" - } - }, - "sequence_file/5506a837-6ff5-4004-8c2c-673a8d93c510": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_3_S27_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.693Z", - "document_id": "5506a837-6ff5-4004-8c2c-673a8d93c510" - } - }, - "sequence_file/6d7e8891-156b-4b23-848c-8ef75230cbbd": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_4_S28_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.735Z", - "document_id": "6d7e8891-156b-4b23-848c-8ef75230cbbd" - } - }, - "sequence_file/8eca3a7d-67f1-412d-9d3a-704c8218cee2": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_4_S28_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.785Z", - "document_id": "8eca3a7d-67f1-412d-9d3a-704c8218cee2" - } - }, - "sequence_file/57d69572-96ae-4a29-97f5-0c1a491ed2a5": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_4_S28_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.809Z", - "document_id": "57d69572-96ae-4a29-97f5-0c1a491ed2a5" - } - }, - "sequence_file/b55fd000-cd16-4976-b264-8df9e012df4e": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_4_S28_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.827Z", - "document_id": "b55fd000-cd16-4976-b264-8df9e012df4e" - } - }, - "sequence_file/d7e6574e-dae6-4e6f-8db0-370693adea27": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_4_S28_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.863Z", - "document_id": "d7e6574e-dae6-4e6f-8db0-370693adea27" - } - }, - "sequence_file/ac66a331-f88f-4ec0-b08a-79612fde6b37": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_4_S28_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.887Z", - "document_id": "ac66a331-f88f-4ec0-b08a-79612fde6b37" - } - }, - "sequence_file/551caaec-e076-4794-9096-7b8f5176e9c3": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_5_S29_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.902Z", - "document_id": "551caaec-e076-4794-9096-7b8f5176e9c3" - } - }, - "sequence_file/415a6ab3-aa59-4e68-8993-64fd1a0715be": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_5_S29_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.928Z", - "document_id": "415a6ab3-aa59-4e68-8993-64fd1a0715be" - } - }, - "sequence_file/13bcdac2-f7f5-405d-b860-9ce88b423d80": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_5_S29_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:50.973Z", - "document_id": "13bcdac2-f7f5-405d-b860-9ce88b423d80" - } - }, - "sequence_file/2bdc88a5-faf4-4f07-8818-a95428defe3a": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_5_S29_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.003Z", - "document_id": "2bdc88a5-faf4-4f07-8818-a95428defe3a" - } - }, - "sequence_file/2c659838-791d-498e-a3fa-f0c8eb1b2559": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_5_S29_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.019Z", - "document_id": "2c659838-791d-498e-a3fa-f0c8eb1b2559" - } - }, - "sequence_file/ffa21ee7-98c7-4275-a28f-ab87350b6317": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_5_S29_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.032Z", - "document_id": "ffa21ee7-98c7-4275-a28f-ab87350b6317" - } - }, - "sequence_file/30a446dd-cb56-4055-bf82-6b3b06d47ee7": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_6_S30_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.043Z", - "document_id": "30a446dd-cb56-4055-bf82-6b3b06d47ee7" - } - }, - "sequence_file/5fbc6d6e-8905-4ef4-92c7-b13c7fc1b33c": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_6_S30_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.056Z", - "document_id": "5fbc6d6e-8905-4ef4-92c7-b13c7fc1b33c" - } - }, - "sequence_file/5c1ccd4f-d639-43d0-94b6-3baca6f8210d": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_6_S30_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.067Z", - "document_id": "5c1ccd4f-d639-43d0-94b6-3baca6f8210d" - } - }, - "sequence_file/0cf26327-ce69-4e4e-b1ad-efdc3ffd9195": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_6_S30_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.090Z", - "document_id": "0cf26327-ce69-4e4e-b1ad-efdc3ffd9195" - } - }, - "sequence_file/7f2b78dc-2b1c-4912-b456-170ba3891464": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_6_S30_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.103Z", - "document_id": "7f2b78dc-2b1c-4912-b456-170ba3891464" - } - }, - "sequence_file/722bf139-3585-4349-bd60-2108cdea9783": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_6_S30_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.114Z", - "document_id": "722bf139-3585-4349-bd60-2108cdea9783" - } - }, - "sequence_file/85f9f0a9-6b8e-4fba-a360-8d14931a7929": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_7_S31_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.127Z", - "document_id": "85f9f0a9-6b8e-4fba-a360-8d14931a7929" - } - }, - "sequence_file/ffa34fcb-1a7d-45cd-95be-c29cd95e73da": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_7_S31_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.154Z", - "document_id": "ffa34fcb-1a7d-45cd-95be-c29cd95e73da" - } - }, - "sequence_file/70e83656-b4c8-4453-9d99-08989b2baf6e": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_7_S31_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.178Z", - "document_id": "70e83656-b4c8-4453-9d99-08989b2baf6e" - } - }, - "sequence_file/712084da-4b68-47e0-acff-aafb48cc21db": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_7_S31_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.203Z", - "document_id": "712084da-4b68-47e0-acff-aafb48cc21db" - } - }, - "sequence_file/ab9fcfa0-6a1c-4fcd-a0f8-73737ddfb027": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_7_S31_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.225Z", - "document_id": "ab9fcfa0-6a1c-4fcd-a0f8-73737ddfb027" - } - }, - "sequence_file/fe25d73e-ecb7-4228-bfa5-b87ea5f1eb91": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_7_S31_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.241Z", - "document_id": "fe25d73e-ecb7-4228-bfa5-b87ea5f1eb91" - } - }, - "sequence_file/0bf66ea5-3dee-422b-b8f0-837033556d99": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_8_S32_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.263Z", - "document_id": "0bf66ea5-3dee-422b-b8f0-837033556d99" - } - }, - "sequence_file/94f47ceb-f4b3-4e6c-9fb4-55c428507e75": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_8_S32_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.298Z", - "document_id": "94f47ceb-f4b3-4e6c-9fb4-55c428507e75" - } - }, - "sequence_file/05c46800-9101-4151-9b4b-3a0fe981e76e": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_8_S32_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.345Z", - "document_id": "05c46800-9101-4151-9b4b-3a0fe981e76e" - } - }, - "sequence_file/af80a9d5-0e61-4a4a-a32c-6a22ca542ea5": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_8_S32_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.412Z", - "document_id": "af80a9d5-0e61-4a4a-a32c-6a22ca542ea5" - } - }, - "sequence_file/a64e2f58-8fbc-4382-9ca9-845f32a7133f": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_8_S32_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.461Z", - "document_id": "a64e2f58-8fbc-4382-9ca9-845f32a7133f" - } - }, - "sequence_file/f379d8e5-1741-4992-a46f-692f352d81e2": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM4_HiSeq_8_S32_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.483Z", - "document_id": "f379d8e5-1741-4992-a46f-692f352d81e2" - } - }, - "dissociation_process/b34ed0ee-2f70-4ae8-8e15-3493e5c92d70": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_3" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:02.040Z", - "updateDate": "2018-03-26T17:01:11.283Z", - "document_id": "b34ed0ee-2f70-4ae8-8e15-3493e5c92d70" - } - }, - "process/6ab99524-b114-42c5-9881-0bc2724f9889": { - "content": { - "process_core": { - "process_id": "sampling_process_13" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:32.842Z", - "updateDate": "2018-03-26T16:59:57.136Z", - "document_id": "6ab99524-b114-42c5-9881-0bc2724f9889" - } - }, - "dissociation_process/fc53f40f-3005-4393-8589-17850fb564de": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_20" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:00.490Z", - "updateDate": "2018-03-26T17:01:10.489Z", - "document_id": "fc53f40f-3005-4393-8589-17850fb564de" - } - }, - "process/27d241a3-05fb-44f7-a3e3-1e84adc14c09": { - "content": { - "process_core": { - "process_id": "sampling_process_51" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.836Z", - "updateDate": "2018-03-26T17:00:00.133Z", - "document_id": "27d241a3-05fb-44f7-a3e3-1e84adc14c09" - } - }, - "dissociation_process/cc620d3d-f823-47b0-957c-3c7170dd9ede": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_11" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:10.588Z", - "updateDate": "2018-03-26T17:00:50.349Z", - "document_id": "cc620d3d-f823-47b0-957c-3c7170dd9ede" - } - }, - "process/896e543d-e666-4380-aafe-ed0ff214de9d": { - "content": { - "process_core": { - "process_id": "sampling_process_87" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:43.634Z", - "updateDate": "2018-03-26T17:00:00.167Z", - "document_id": "896e543d-e666-4380-aafe-ed0ff214de9d" - } - }, - "dissociation_process/4ac1c779-d396-402f-b6ff-15479c60ec13": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_31" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:07.694Z", - "updateDate": "2018-03-26T17:00:44.284Z", - "document_id": "4ac1c779-d396-402f-b6ff-15479c60ec13" - } - }, - "process/402807c3-8b87-4f76-9609-b6526d88d6ad": { - "content": { - "process_core": { - "process_id": "sampling_process_123" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:46.534Z", - "updateDate": "2018-03-26T17:00:04.142Z", - "document_id": "402807c3-8b87-4f76-9609-b6526d88d6ad" - } - }, - "dissociation_process/be06fd42-358a-43d4-9be9-02ee37ab8bb7": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_30" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:07.623Z", - "updateDate": "2018-03-26T17:00:46.965Z", - "document_id": "be06fd42-358a-43d4-9be9-02ee37ab8bb7" - } - }, - "process/1a81ba59-5458-4983-b600-2d9b3fc716ee": { - "content": { - "process_core": { - "process_id": "sampling_process_100" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:44.891Z", - "updateDate": "2018-03-26T17:00:02.440Z", - "document_id": "1a81ba59-5458-4983-b600-2d9b3fc716ee" - } - }, - "dissociation_process/4a75ceaf-c488-492d-9cc0-869a887c97a3": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_25" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:59.834Z", - "updateDate": "2018-03-26T17:01:09.294Z", - "document_id": "4a75ceaf-c488-492d-9cc0-869a887c97a3" - } - }, - "process/1b8fe79e-48da-43a4-aa56-b71100ebf553": { - "content": { - "process_core": { - "process_id": "sampling_process_38" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.856Z", - "updateDate": "2018-03-26T16:59:57.181Z", - "document_id": "1b8fe79e-48da-43a4-aa56-b71100ebf553" - } - }, - "dissociation_process/a3447292-5309-4412-af13-d2b81e4684a2": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_19" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:10.728Z", - "updateDate": "2018-03-26T17:00:49.539Z", - "document_id": "a3447292-5309-4412-af13-d2b81e4684a2" - } - }, - "process/609711e7-b252-4303-b711-e203f0513d74": { - "content": { - "process_core": { - "process_id": "sampling_process_11" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:32.722Z", - "updateDate": "2018-03-26T16:59:57.158Z", - "document_id": "609711e7-b252-4303-b711-e203f0513d74" - } - }, - "dissociation_process/c7eae156-78ca-4c59-9d43-ef360fe8c5fc": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_5" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:01.040Z", - "updateDate": "2018-03-26T17:01:10.281Z", - "document_id": "c7eae156-78ca-4c59-9d43-ef360fe8c5fc" - } - }, - "process/8b43cec2-3941-46d1-98fa-5a20b662ca95": { - "content": { - "process_core": { - "process_id": "sampling_process_113" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:45.939Z", - "updateDate": "2018-03-26T17:00:03.212Z", - "document_id": "8b43cec2-3941-46d1-98fa-5a20b662ca95" - } - }, - "dissociation_process/581ae735-fcdb-4642-bfe8-4f89e58e3b5f": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_7" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:01.287Z", - "updateDate": "2018-03-26T17:01:11.267Z", - "document_id": "581ae735-fcdb-4642-bfe8-4f89e58e3b5f" - } - }, - "process/ee6b760e-be5e-4cd4-975f-fd5c355ee499": { - "content": { - "process_core": { - "process_id": "sampling_process_127" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:46.732Z", - "updateDate": "2018-03-26T17:00:04.197Z", - "document_id": "ee6b760e-be5e-4cd4-975f-fd5c355ee499" - } - }, - "dissociation_process/66cd42fa-9fde-4be7-a21b-f225142786d5": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_10" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:10.450Z", - "updateDate": "2018-03-26T17:00:49.592Z", - "document_id": "66cd42fa-9fde-4be7-a21b-f225142786d5" - } - }, - "process/73f01b56-5c1e-496f-b6a3-c2e19a53bea4": { - "content": { - "process_core": { - "process_id": "sampling_process_97" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:44.717Z", - "updateDate": "2018-03-26T17:00:01.415Z", - "document_id": "73f01b56-5c1e-496f-b6a3-c2e19a53bea4" - } - }, - "dissociation_process/88c9f910-860b-418f-8668-afba756c282b": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_28" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:59.604Z", - "updateDate": "2018-03-26T17:01:08.255Z", - "document_id": "88c9f910-860b-418f-8668-afba756c282b" - } - }, - "process/eea88216-55c5-4700-9e22-577bb20fcbe8": { - "content": { - "process_core": { - "process_id": "sampling_process_54" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:36.055Z", - "updateDate": "2018-03-26T16:59:59.162Z", - "document_id": "eea88216-55c5-4700-9e22-577bb20fcbe8" - } - }, - "dissociation_process/dff39b44-4ae2-44f3-9065-10ca35c2af79": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_1" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:01.841Z", - "updateDate": "2018-03-26T17:01:11.307Z", - "document_id": "dff39b44-4ae2-44f3-9065-10ca35c2af79" - } - }, - "process/cba384ae-009b-4bcb-b8d9-52ec5d1bfd65": { - "content": { - "process_core": { - "process_id": "sampling_process_35" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.707Z", - "updateDate": "2018-03-26T17:00:01.297Z", - "document_id": "cba384ae-009b-4bcb-b8d9-52ec5d1bfd65" - } - }, - "dissociation_process/08549bbf-f1d8-49d4-a7d8-bd9f1d5fae38": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_17" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:09.921Z", - "updateDate": "2018-03-26T17:00:49.461Z", - "document_id": "08549bbf-f1d8-49d4-a7d8-bd9f1d5fae38" - } - }, - "process/0203232f-2abf-4fec-9fac-16be751a8fc8": { - "content": { - "process_core": { - "process_id": "sampling_process_37" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.816Z", - "updateDate": "2018-03-26T16:59:58.198Z", - "document_id": "0203232f-2abf-4fec-9fac-16be751a8fc8" - } - }, - "dissociation_process/fc4af2ec-c874-4c79-9fa0-9f893972c05f": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_26" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:59.758Z", - "updateDate": "2018-03-26T17:01:09.304Z", - "document_id": "fc4af2ec-c874-4c79-9fa0-9f893972c05f" - } - }, - "process/ceb83249-613d-459d-a678-335dfebe6e48": { - "content": { - "process_core": { - "process_id": "sampling_process_95" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:44.315Z", - "updateDate": "2018-03-26T16:59:59.277Z", - "document_id": "ceb83249-613d-459d-a678-335dfebe6e48" - } - }, - "dissociation_process/d05ed546-bb90-4ede-aa21-7738c46c1a74": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_12" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:10.219Z", - "updateDate": "2018-03-26T17:00:48.461Z", - "document_id": "d05ed546-bb90-4ede-aa21-7738c46c1a74" - } - }, - "process/48c51f04-a6ea-4ce2-854c-af832e935de0": { - "content": { - "process_core": { - "process_id": "sampling_process_52" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.889Z", - "updateDate": "2018-03-26T17:00:00.103Z", - "document_id": "48c51f04-a6ea-4ce2-854c-af832e935de0" - } - }, - "dissociation_process/6a842926-f8c2-4977-a0b7-36427e482268": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_27" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:59.687Z", - "updateDate": "2018-03-26T17:01:09.288Z", - "document_id": "6a842926-f8c2-4977-a0b7-36427e482268" - } - }, - "process/6b739f11-03e9-40f3-9a80-e6b41e9333c6": { - "content": { - "process_core": { - "process_id": "sampling_process_125" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:46.622Z", - "updateDate": "2018-03-26T17:00:02.400Z", - "document_id": "6b739f11-03e9-40f3-9a80-e6b41e9333c6" - } - }, - "dissociation_process/dcb16012-f27e-4a12-8a2e-703376ae9694": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_16" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:09.855Z", - "updateDate": "2018-03-26T17:00:48.398Z", - "document_id": "dcb16012-f27e-4a12-8a2e-703376ae9694" - } - }, - "process/603c23d7-44d4-42f3-9fc0-5199bc2daa16": { - "content": { - "process_core": { - "process_id": "sampling_process_47" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.649Z", - "updateDate": "2018-03-26T17:00:00.158Z", - "document_id": "603c23d7-44d4-42f3-9fc0-5199bc2daa16" - } - }, - "dissociation_process/050aae63-69d7-4e99-b803-0c352e854981": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_23" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:59.989Z", - "updateDate": "2018-03-26T17:01:09.285Z", - "document_id": "050aae63-69d7-4e99-b803-0c352e854981" - } - }, - "process/f995576e-550e-4229-b9d9-402cfd7a611c": { - "content": { - "process_core": { - "process_id": "sampling_process_126" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:46.663Z", - "updateDate": "2018-03-26T17:00:04.183Z", - "document_id": "f995576e-550e-4229-b9d9-402cfd7a611c" - } - }, - "dissociation_process/a3331a53-fb9a-4454-905c-fc80e78f177c": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_8" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:00.818Z", - "updateDate": "2018-03-26T17:01:10.331Z", - "document_id": "a3331a53-fb9a-4454-905c-fc80e78f177c" - } - }, - "process/5afb1b66-80b2-423a-93b9-87f2e5bbba85": { - "content": { - "process_core": { - "process_id": "sampling_process_45" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.563Z", - "updateDate": "2018-03-26T17:00:00.142Z", - "document_id": "5afb1b66-80b2-423a-93b9-87f2e5bbba85" - } - }, - "dissociation_process/d9192e16-18e9-4f81-8cfe-9376d72481f0": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_22" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:00.109Z", - "updateDate": "2018-03-26T17:01:09.286Z", - "document_id": "d9192e16-18e9-4f81-8cfe-9376d72481f0" - } - }, - "process/85df0c99-4a74-4a6f-bd18-6fc65df12848": { - "content": { - "process_core": { - "process_id": "sampling_process_10" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:32.648Z", - "updateDate": "2018-03-26T16:59:57.194Z", - "document_id": "85df0c99-4a74-4a6f-bd18-6fc65df12848" - } - }, - "dissociation_process/d0e472c4-47ae-4816-a8b0-56ee9f1d3248": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_18" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:10.657Z", - "updateDate": "2018-03-26T17:00:50.359Z", - "document_id": "d0e472c4-47ae-4816-a8b0-56ee9f1d3248" - } - }, - "process/29fa33fe-9388-49e7-86ed-f386d33d5bc4": { - "content": { - "process_core": { - "process_id": "sampling_process_96" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:44.582Z", - "updateDate": "2018-03-26T17:00:01.225Z", - "document_id": "29fa33fe-9388-49e7-86ed-f386d33d5bc4" - } - }, - "dissociation_process/67535ee8-c96a-4cdb-a20d-85e7e0da1365": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_15" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:10.151Z", - "updateDate": "2018-03-26T17:00:48.387Z", - "document_id": "67535ee8-c96a-4cdb-a20d-85e7e0da1365" - } - }, - "process/a521fed6-4fcf-406a-9b74-2d374317d0d1": { - "content": { - "process_core": { - "process_id": "sampling_process_89" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:43.729Z", - "updateDate": "2018-03-26T17:00:01.243Z", - "document_id": "a521fed6-4fcf-406a-9b74-2d374317d0d1" - } - }, - "dissociation_process/8992662c-3b01-4c94-9329-0d910b8a19bb": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_21" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:00.367Z", - "updateDate": "2018-03-26T17:01:09.254Z", - "document_id": "8992662c-3b01-4c94-9329-0d910b8a19bb" - } - }, - "process/92db35fb-331c-464d-8dd3-320187156095": { - "content": { - "process_core": { - "process_id": "sampling_process_115" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:46.042Z", - "updateDate": "2018-03-26T17:00:01.241Z", - "document_id": "92db35fb-331c-464d-8dd3-320187156095" - } - }, - "dissociation_process/f579b7d6-abdc-42ce-ac92-440e9520b213": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_9" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:00.898Z", - "updateDate": "2018-03-26T17:01:10.276Z", - "document_id": "f579b7d6-abdc-42ce-ac92-440e9520b213" - } - }, - "process/926dc72a-d35f-4fda-8274-0cd4f99437d7": { - "content": { - "process_core": { - "process_id": "sampling_process_36" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.763Z", - "updateDate": "2018-03-26T16:59:59.171Z", - "document_id": "926dc72a-d35f-4fda-8274-0cd4f99437d7" - } - }, - "dissociation_process/573b182e-39f0-49d3-8670-602265ce20f7": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_13" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:10.301Z", - "updateDate": "2018-03-26T17:00:48.478Z", - "document_id": "573b182e-39f0-49d3-8670-602265ce20f7" - } - }, - "process/2b12c896-8f74-4900-831a-da4a5fc35a33": { - "content": { - "process_core": { - "process_id": "sampling_process_114" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:45.998Z", - "updateDate": "2018-03-26T17:00:09.204Z", - "document_id": "2b12c896-8f74-4900-831a-da4a5fc35a33" - } - }, - "dissociation_process/a029f335-5dbe-4ae9-8933-aadf9e04a092": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_14" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:09.988Z", - "updateDate": "2018-03-26T17:00:48.349Z", - "document_id": "a029f335-5dbe-4ae9-8933-aadf9e04a092" - } - }, - "process/e77e933d-c2fc-4bad-a5f6-edc88d3c67d0": { - "content": { - "process_core": { - "process_id": "sampling_process_88" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:43.687Z", - "updateDate": "2018-03-26T17:00:02.825Z", - "document_id": "e77e933d-c2fc-4bad-a5f6-edc88d3c67d0" - } - }, - "dissociation_process/7a225ade-f8e6-4af4-b0bf-f47bc06b5d4a": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_4" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:00.969Z", - "updateDate": "2018-03-26T17:01:10.313Z", - "document_id": "7a225ade-f8e6-4af4-b0bf-f47bc06b5d4a" - } - }, - "process/9c6285c0-1c91-4850-a6a8-80efaa98d08f": { - "content": { - "process_core": { - "process_id": "sampling_process_50" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.793Z", - "updateDate": "2018-03-26T17:00:02.375Z", - "document_id": "9c6285c0-1c91-4850-a6a8-80efaa98d08f" - } - }, - "dissociation_process/3ce935e9-281f-46ee-8613-29e931f00927": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_32" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:07.764Z", - "updateDate": "2018-03-26T17:00:46.323Z", - "document_id": "3ce935e9-281f-46ee-8613-29e931f00927" - } - }, - "process/969de231-87de-4c29-a82c-8101024ba7ce": { - "content": { - "process_core": { - "process_id": "sampling_process_43" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.399Z", - "updateDate": "2018-03-26T16:59:59.145Z", - "document_id": "969de231-87de-4c29-a82c-8101024ba7ce" - } - }, - "dissociation_process/580d8a8a-4c94-422f-8018-d1481c8ae353": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_2" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:01.947Z", - "updateDate": "2018-03-26T17:01:11.292Z", - "document_id": "580d8a8a-4c94-422f-8018-d1481c8ae353" - } - }, - "process/143fa677-7e4b-43e0-9a12-a3e82b871acd": { - "content": { - "process_core": { - "process_id": "sampling_process_98" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:44.806Z", - "updateDate": "2018-03-26T17:00:01.235Z", - "document_id": "143fa677-7e4b-43e0-9a12-a3e82b871acd" - } - }, - "dissociation_process/ef5baf40-74bc-4651-ab98-109129c09efe": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_29" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:59.435Z", - "updateDate": "2018-03-26T17:01:08.279Z", - "document_id": "ef5baf40-74bc-4651-ab98-109129c09efe" - } - }, - "process/304714cd-63c6-4a5c-8756-43177eeb0fff": { - "content": { - "process_core": { - "process_id": "sampling_process_108" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:45.720Z", - "updateDate": "2018-03-26T17:00:02.370Z", - "document_id": "304714cd-63c6-4a5c-8756-43177eeb0fff" - } - }, - "dissociation_process/1461d692-fc23-4076-9076-eabd324e3b72": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_24" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:59.917Z", - "updateDate": "2018-03-26T17:01:09.254Z", - "document_id": "1461d692-fc23-4076-9076-eabd324e3b72" - } - }, - "process/cd56f223-2abb-434c-adff-d94d43057181": { - "content": { - "process_core": { - "process_id": "sampling_process_46" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.605Z", - "updateDate": "2018-03-26T16:59:58.455Z", - "document_id": "cd56f223-2abb-434c-adff-d94d43057181" - } - }, - "dissociation_process/a91ab216-b367-48e4-9c0f-0911a3558fb6": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_6" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:01.112Z", - "updateDate": "2018-03-26T17:01:11.368Z", - "document_id": "a91ab216-b367-48e4-9c0f-0911a3558fb6" - } - }, - "process/e2765760-381d-4aa7-bc0b-fd23b134d9fe": { - "content": { - "process_core": { - "process_id": "sampling_process_12" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:32.797Z", - "updateDate": "2018-03-26T16:59:55.267Z", - "document_id": "e2765760-381d-4aa7-bc0b-fd23b134d9fe" - } - }, - "library_preparation_process/12ea2953-06a4-4e80-8910-a27aba936b9c": { - "content": { - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "process_type": { - "text": "10x sequencing process" - }, - "process_core": { - "process_id": "library_preparation_process_1", - "process_name": "Preparing RNA for sequencing by 10x" - }, - "umi_barcode": { - "barcode_offset": 16, - "barcode_length": 10, - "barcode_read": "Read 1" - }, - "library_construction_approach": "10x_v2", - "cell_barcode": { - "barcode_offset": 0, - "barcode_length": 16, - "barcode_read": "Read 1" - }, - "schema_type": "process", - "end_bias": "3 prime tag", - "primer": "poly-dT", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/library_preparation_process", - "strand": "second" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:06.820Z", - "updateDate": "2018-03-26T17:00:44.791Z", - "document_id": "12ea2953-06a4-4e80-8910-a27aba936b9c" - } - }, - "sequencing_process/8918d1f2-e5f9-44a7-a8c4-f743758f2464": { - "content": { - "paired_ends": true, - "local_machine_name": "HXE", - "instrument_manufacturer_model": { - "text": "Illumina Hiseq X 10", - "ontology": "EFO:0008567" - }, - "process_type": { - "text": "10x sequencing process" - }, - "process_core": { - "process_description": "Single cell sequencing of cDNAs by 10x", - "process_name": "Sequencing bone marrow donor 1-4", - "process_id": "10x_v2_sequencing_process_1", - "start_time": "2017-09-22T04:06:00Z", - "process_location": "Broad Institute" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/sequencing_process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:06.875Z", - "updateDate": "2018-03-26T17:00:53.489Z", - "document_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464" - } - }, - "protocol/3cbebf0a-4aab-4525-80f4-222703d14b98": { - "content": { - "protocol_core": { - "protocol_id": "dissociation_protocol_1" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.834Z", - "updateDate": "2018-03-26T16:59:27.584Z", - "document_id": "3cbebf0a-4aab-4525-80f4-222703d14b98" - } - }, - "protocol/81b97ec1-f68c-4d69-be78-50d1aad7bbef": { - "content": { - "protocol_core": { - "protocol_id": "library_preparation_protocol_1" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "10x sequencing protocol", - "ontology": "EFO:0008443" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.848Z", - "updateDate": "2018-03-26T16:59:29.761Z", - "document_id": "81b97ec1-f68c-4d69-be78-50d1aad7bbef" - } - }, - "protocol/e99eed63-5794-4d8d-baf9-9c6888e91e6d": { - "content": { - "protocol_core": { - "protocol_id": "10x_v2_sequencing_protocol_1" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "10x sequencing protocol", - "ontology": "EFO:0008443" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.860Z", - "updateDate": "2018-03-26T16:59:27.537Z", - "document_id": "e99eed63-5794-4d8d-baf9-9c6888e91e6d" - } - } - }, - "links": { - "links": [ - { - "source_id": "78e48232-86ed-4b68-ae64-df114f02fa80", - "source_type": "biomaterial", - "destination_id": "b34ed0ee-2f70-4ae8-8e15-3493e5c92d70", - "destination_type": "dissociation_process" - }, - { - "source_id": "b34ed0ee-2f70-4ae8-8e15-3493e5c92d70", - "source_type": "dissociation_process", - "destination_id": "6d98e8a4-dc7e-4ee8-aad6-9861b744e9fe", - "destination_type": "biomaterial" - }, - { - "source_id": "b34ed0ee-2f70-4ae8-8e15-3493e5c92d70", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "6ab99524-b114-42c5-9881-0bc2724f9889", - "source_type": "process", - "destination_id": "78e48232-86ed-4b68-ae64-df114f02fa80", - "destination_type": "biomaterial" - }, - { - "source_id": "7d2dcb65-b759-40b8-9eb0-7b9951b7c036", - "source_type": "biomaterial", - "destination_id": "6ab99524-b114-42c5-9881-0bc2724f9889", - "destination_type": "process" - }, - { - "source_id": "2fe26d80-85fb-4926-bad1-a92a6e8c20c1", - "source_type": "biomaterial", - "destination_id": "fc53f40f-3005-4393-8589-17850fb564de", - "destination_type": "dissociation_process" - }, - { - "source_id": "fc53f40f-3005-4393-8589-17850fb564de", - "source_type": "dissociation_process", - "destination_id": "01f2d4b7-7746-4dc0-88d7-4cb0b3dbb370", - "destination_type": "biomaterial" - }, - { - "source_id": "fc53f40f-3005-4393-8589-17850fb564de", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "27d241a3-05fb-44f7-a3e3-1e84adc14c09", - "source_type": "process", - "destination_id": "2fe26d80-85fb-4926-bad1-a92a6e8c20c1", - "destination_type": "biomaterial" - }, - { - "source_id": "0a69e7c4-56a3-498e-a867-aaf84c1344c8", - "source_type": "biomaterial", - "destination_id": "27d241a3-05fb-44f7-a3e3-1e84adc14c09", - "destination_type": "process" - }, - { - "source_id": "24796176-5825-47a3-966a-38a865d541ab", - "source_type": "biomaterial", - "destination_id": "cc620d3d-f823-47b0-957c-3c7170dd9ede", - "destination_type": "dissociation_process" - }, - { - "source_id": "cc620d3d-f823-47b0-957c-3c7170dd9ede", - "source_type": "dissociation_process", - "destination_id": "ed887207-2034-4c85-bbec-4e69a745d009", - "destination_type": "biomaterial" - }, - { - "source_id": "cc620d3d-f823-47b0-957c-3c7170dd9ede", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "896e543d-e666-4380-aafe-ed0ff214de9d", - "source_type": "process", - "destination_id": "24796176-5825-47a3-966a-38a865d541ab", - "destination_type": "biomaterial" - }, - { - "source_id": "06d98ad8-bbac-40df-9eb6-d5b1a424568a", - "source_type": "biomaterial", - "destination_id": "896e543d-e666-4380-aafe-ed0ff214de9d", - "destination_type": "process" - }, - { - "source_id": "1ff0b001-3753-491f-8424-dc30a1e47953", - "source_type": "biomaterial", - "destination_id": "4ac1c779-d396-402f-b6ff-15479c60ec13", - "destination_type": "dissociation_process" - }, - { - "source_id": "4ac1c779-d396-402f-b6ff-15479c60ec13", - "source_type": "dissociation_process", - "destination_id": "e1db28a3-83c8-43ce-8e41-40b0429c2c4e", - "destination_type": "biomaterial" - }, - { - "source_id": "4ac1c779-d396-402f-b6ff-15479c60ec13", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "402807c3-8b87-4f76-9609-b6526d88d6ad", - "source_type": "process", - "destination_id": "1ff0b001-3753-491f-8424-dc30a1e47953", - "destination_type": "biomaterial" - }, - { - "source_id": "5caa7ca2-308a-424d-8bae-9204a2be2502", - "source_type": "biomaterial", - "destination_id": "402807c3-8b87-4f76-9609-b6526d88d6ad", - "destination_type": "process" - }, - { - "source_id": "73022d99-f258-427b-a574-f9a046c20c81", - "source_type": "biomaterial", - "destination_id": "be06fd42-358a-43d4-9be9-02ee37ab8bb7", - "destination_type": "dissociation_process" - }, - { - "source_id": "be06fd42-358a-43d4-9be9-02ee37ab8bb7", - "source_type": "dissociation_process", - "destination_id": "10ddecf6-ad4c-4d20-889f-93c83e3d5562", - "destination_type": "biomaterial" - }, - { - "source_id": "be06fd42-358a-43d4-9be9-02ee37ab8bb7", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "1a81ba59-5458-4983-b600-2d9b3fc716ee", - "source_type": "process", - "destination_id": "73022d99-f258-427b-a574-f9a046c20c81", - "destination_type": "biomaterial" - }, - { - "source_id": "5caa7ca2-308a-424d-8bae-9204a2be2502", - "source_type": "biomaterial", - "destination_id": "1a81ba59-5458-4983-b600-2d9b3fc716ee", - "destination_type": "process" - }, - { - "source_id": "a003d338-753f-433e-bb6c-f36650e76b6a", - "source_type": "biomaterial", - "destination_id": "4a75ceaf-c488-492d-9cc0-869a887c97a3", - "destination_type": "dissociation_process" - }, - { - "source_id": "4a75ceaf-c488-492d-9cc0-869a887c97a3", - "source_type": "dissociation_process", - "destination_id": "f564e3b1-d887-4667-9383-1d9b8cbbbd0f", - "destination_type": "biomaterial" - }, - { - "source_id": "4a75ceaf-c488-492d-9cc0-869a887c97a3", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "1b8fe79e-48da-43a4-aa56-b71100ebf553", - "source_type": "process", - "destination_id": "a003d338-753f-433e-bb6c-f36650e76b6a", - "destination_type": "biomaterial" - }, - { - "source_id": "5caa7ca2-308a-424d-8bae-9204a2be2502", - "source_type": "biomaterial", - "destination_id": "1b8fe79e-48da-43a4-aa56-b71100ebf553", - "destination_type": "process" - }, - { - "source_id": "d56760e7-0605-4e8e-9ee0-09b37b3bdf14", - "source_type": "biomaterial", - "destination_id": "a3447292-5309-4412-af13-d2b81e4684a2", - "destination_type": "dissociation_process" - }, - { - "source_id": "a3447292-5309-4412-af13-d2b81e4684a2", - "source_type": "dissociation_process", - "destination_id": "bd59eb0f-46e3-497a-9dd1-a5d0e5ca3ac4", - "destination_type": "biomaterial" - }, - { - "source_id": "a3447292-5309-4412-af13-d2b81e4684a2", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "609711e7-b252-4303-b711-e203f0513d74", - "source_type": "process", - "destination_id": "d56760e7-0605-4e8e-9ee0-09b37b3bdf14", - "destination_type": "biomaterial" - }, - { - "source_id": "0a69e7c4-56a3-498e-a867-aaf84c1344c8", - "source_type": "biomaterial", - "destination_id": "609711e7-b252-4303-b711-e203f0513d74", - "destination_type": "process" - }, - { - "source_id": "4d5d375f-dd74-476e-8f62-071aa6853bea", - "source_type": "biomaterial", - "destination_id": "c7eae156-78ca-4c59-9d43-ef360fe8c5fc", - "destination_type": "dissociation_process" - }, - { - "source_id": "c7eae156-78ca-4c59-9d43-ef360fe8c5fc", - "source_type": "dissociation_process", - "destination_id": "4064ed72-cf76-4418-8ca1-f916aca95680", - "destination_type": "biomaterial" - }, - { - "source_id": "c7eae156-78ca-4c59-9d43-ef360fe8c5fc", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "8b43cec2-3941-46d1-98fa-5a20b662ca95", - "source_type": "process", - "destination_id": "4d5d375f-dd74-476e-8f62-071aa6853bea", - "destination_type": "biomaterial" - }, - { - "source_id": "7d2dcb65-b759-40b8-9eb0-7b9951b7c036", - "source_type": "biomaterial", - "destination_id": "8b43cec2-3941-46d1-98fa-5a20b662ca95", - "destination_type": "process" - }, - { - "source_id": "89426736-1779-4ceb-ae11-7935299ee579", - "source_type": "biomaterial", - "destination_id": "581ae735-fcdb-4642-bfe8-4f89e58e3b5f", - "destination_type": "dissociation_process" - }, - { - "source_id": "581ae735-fcdb-4642-bfe8-4f89e58e3b5f", - "source_type": "dissociation_process", - "destination_id": "b08c7d38-caa6-4573-ba7e-37da8aa66605", - "destination_type": "biomaterial" - }, - { - "source_id": "581ae735-fcdb-4642-bfe8-4f89e58e3b5f", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "ee6b760e-be5e-4cd4-975f-fd5c355ee499", - "source_type": "process", - "destination_id": "89426736-1779-4ceb-ae11-7935299ee579", - "destination_type": "biomaterial" - }, - { - "source_id": "7d2dcb65-b759-40b8-9eb0-7b9951b7c036", - "source_type": "biomaterial", - "destination_id": "ee6b760e-be5e-4cd4-975f-fd5c355ee499", - "destination_type": "process" - }, - { - "source_id": "e31c73aa-39bb-4a9c-a3fb-7912046742a8", - "source_type": "biomaterial", - "destination_id": "66cd42fa-9fde-4be7-a21b-f225142786d5", - "destination_type": "dissociation_process" - }, - { - "source_id": "66cd42fa-9fde-4be7-a21b-f225142786d5", - "source_type": "dissociation_process", - "destination_id": "4027035b-3251-44b9-a281-fc9182de7579", - "destination_type": "biomaterial" - }, - { - "source_id": "66cd42fa-9fde-4be7-a21b-f225142786d5", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "73f01b56-5c1e-496f-b6a3-c2e19a53bea4", - "source_type": "process", - "destination_id": "e31c73aa-39bb-4a9c-a3fb-7912046742a8", - "destination_type": "biomaterial" - }, - { - "source_id": "06d98ad8-bbac-40df-9eb6-d5b1a424568a", - "source_type": "biomaterial", - "destination_id": "73f01b56-5c1e-496f-b6a3-c2e19a53bea4", - "destination_type": "process" - }, - { - "source_id": "cb55025a-b76a-41f3-9d6d-68723fea2e0e", - "source_type": "biomaterial", - "destination_id": "88c9f910-860b-418f-8668-afba756c282b", - "destination_type": "dissociation_process" - }, - { - "source_id": "88c9f910-860b-418f-8668-afba756c282b", - "source_type": "dissociation_process", - "destination_id": "33fbab10-cbbe-4b44-9e5b-df07df548949", - "destination_type": "biomaterial" - }, - { - "source_id": "88c9f910-860b-418f-8668-afba756c282b", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "eea88216-55c5-4700-9e22-577bb20fcbe8", - "source_type": "process", - "destination_id": "cb55025a-b76a-41f3-9d6d-68723fea2e0e", - "destination_type": "biomaterial" - }, - { - "source_id": "5caa7ca2-308a-424d-8bae-9204a2be2502", - "source_type": "biomaterial", - "destination_id": "eea88216-55c5-4700-9e22-577bb20fcbe8", - "destination_type": "process" - }, - { - "source_id": "94419300-4774-4315-89a1-37d2cfe9d65e", - "source_type": "biomaterial", - "destination_id": "dff39b44-4ae2-44f3-9065-10ca35c2af79", - "destination_type": "dissociation_process" - }, - { - "source_id": "dff39b44-4ae2-44f3-9065-10ca35c2af79", - "source_type": "dissociation_process", - "destination_id": "464efe79-c955-41e2-b553-21dac9fc307c", - "destination_type": "biomaterial" - }, - { - "source_id": "dff39b44-4ae2-44f3-9065-10ca35c2af79", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "cba384ae-009b-4bcb-b8d9-52ec5d1bfd65", - "source_type": "process", - "destination_id": "94419300-4774-4315-89a1-37d2cfe9d65e", - "destination_type": "biomaterial" - }, - { - "source_id": "7d2dcb65-b759-40b8-9eb0-7b9951b7c036", - "source_type": "biomaterial", - "destination_id": "cba384ae-009b-4bcb-b8d9-52ec5d1bfd65", - "destination_type": "process" - }, - { - "source_id": "718b1a85-c724-44bf-b2f4-9e4850581423", - "source_type": "biomaterial", - "destination_id": "08549bbf-f1d8-49d4-a7d8-bd9f1d5fae38", - "destination_type": "dissociation_process" - }, - { - "source_id": "08549bbf-f1d8-49d4-a7d8-bd9f1d5fae38", - "source_type": "dissociation_process", - "destination_id": "4193326b-73c0-4def-a0cd-4b7e42ed0a4f", - "destination_type": "biomaterial" - }, - { - "source_id": "08549bbf-f1d8-49d4-a7d8-bd9f1d5fae38", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "0203232f-2abf-4fec-9fac-16be751a8fc8", - "source_type": "process", - "destination_id": "718b1a85-c724-44bf-b2f4-9e4850581423", - "destination_type": "biomaterial" - }, - { - "source_id": "0a69e7c4-56a3-498e-a867-aaf84c1344c8", - "source_type": "biomaterial", - "destination_id": "0203232f-2abf-4fec-9fac-16be751a8fc8", - "destination_type": "process" - }, - { - "source_id": "a156dd24-ba60-485c-a0d4-91853a6c57e1", - "source_type": "biomaterial", - "destination_id": "fc4af2ec-c874-4c79-9fa0-9f893972c05f", - "destination_type": "dissociation_process" - }, - { - "source_id": "fc4af2ec-c874-4c79-9fa0-9f893972c05f", - "source_type": "dissociation_process", - "destination_id": "db7a09ef-b0dd-462f-accd-b32a067b772a", - "destination_type": "biomaterial" - }, - { - "source_id": "fc4af2ec-c874-4c79-9fa0-9f893972c05f", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "ceb83249-613d-459d-a678-335dfebe6e48", - "source_type": "process", - "destination_id": "a156dd24-ba60-485c-a0d4-91853a6c57e1", - "destination_type": "biomaterial" - }, - { - "source_id": "5caa7ca2-308a-424d-8bae-9204a2be2502", - "source_type": "biomaterial", - "destination_id": "ceb83249-613d-459d-a678-335dfebe6e48", - "destination_type": "process" - }, - { - "source_id": "9c4230db-0ac3-438f-977e-818434fce73b", - "source_type": "biomaterial", - "destination_id": "d05ed546-bb90-4ede-aa21-7738c46c1a74", - "destination_type": "dissociation_process" - }, - { - "source_id": "d05ed546-bb90-4ede-aa21-7738c46c1a74", - "source_type": "dissociation_process", - "destination_id": "db7217c3-b8a6-49fe-9e59-373accd8e554", - "destination_type": "biomaterial" - }, - { - "source_id": "d05ed546-bb90-4ede-aa21-7738c46c1a74", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "48c51f04-a6ea-4ce2-854c-af832e935de0", - "source_type": "process", - "destination_id": "9c4230db-0ac3-438f-977e-818434fce73b", - "destination_type": "biomaterial" - }, - { - "source_id": "06d98ad8-bbac-40df-9eb6-d5b1a424568a", - "source_type": "biomaterial", - "destination_id": "48c51f04-a6ea-4ce2-854c-af832e935de0", - "destination_type": "process" - }, - { - "source_id": "12a7653f-3f84-48ed-b90d-1d05473593fc", - "source_type": "biomaterial", - "destination_id": "6a842926-f8c2-4977-a0b7-36427e482268", - "destination_type": "dissociation_process" - }, - { - "source_id": "6a842926-f8c2-4977-a0b7-36427e482268", - "source_type": "dissociation_process", - "destination_id": "52f92017-99fd-4ad6-a817-839a80d71ea4", - "destination_type": "biomaterial" - }, - { - "source_id": "6a842926-f8c2-4977-a0b7-36427e482268", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "6b739f11-03e9-40f3-9a80-e6b41e9333c6", - "source_type": "process", - "destination_id": "12a7653f-3f84-48ed-b90d-1d05473593fc", - "destination_type": "biomaterial" - }, - { - "source_id": "5caa7ca2-308a-424d-8bae-9204a2be2502", - "source_type": "biomaterial", - "destination_id": "6b739f11-03e9-40f3-9a80-e6b41e9333c6", - "destination_type": "process" - }, - { - "source_id": "b4835555-4d48-411b-8afb-c337af68be63", - "source_type": "biomaterial", - "destination_id": "dcb16012-f27e-4a12-8a2e-703376ae9694", - "destination_type": "dissociation_process" - }, - { - "source_id": "dcb16012-f27e-4a12-8a2e-703376ae9694", - "source_type": "dissociation_process", - "destination_id": "318a7e38-8594-49b8-b15b-924a411455bf", - "destination_type": "biomaterial" - }, - { - "source_id": "dcb16012-f27e-4a12-8a2e-703376ae9694", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "603c23d7-44d4-42f3-9fc0-5199bc2daa16", - "source_type": "process", - "destination_id": "b4835555-4d48-411b-8afb-c337af68be63", - "destination_type": "biomaterial" - }, - { - "source_id": "06d98ad8-bbac-40df-9eb6-d5b1a424568a", - "source_type": "biomaterial", - "destination_id": "603c23d7-44d4-42f3-9fc0-5199bc2daa16", - "destination_type": "process" - }, - { - "source_id": "bb913e44-5259-48d4-9d90-92752d9a1fb4", - "source_type": "biomaterial", - "destination_id": "050aae63-69d7-4e99-b803-0c352e854981", - "destination_type": "dissociation_process" - }, - { - "source_id": "050aae63-69d7-4e99-b803-0c352e854981", - "source_type": "dissociation_process", - "destination_id": "09d419e3-bd3e-46fd-a573-c3eff01fa571", - "destination_type": "biomaterial" - }, - { - "source_id": "050aae63-69d7-4e99-b803-0c352e854981", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "f995576e-550e-4229-b9d9-402cfd7a611c", - "source_type": "process", - "destination_id": "bb913e44-5259-48d4-9d90-92752d9a1fb4", - "destination_type": "biomaterial" - }, - { - "source_id": "0a69e7c4-56a3-498e-a867-aaf84c1344c8", - "source_type": "biomaterial", - "destination_id": "f995576e-550e-4229-b9d9-402cfd7a611c", - "destination_type": "process" - }, - { - "source_id": "8d943f91-63b6-4dee-8ce5-cf2c4cfd3769", - "source_type": "biomaterial", - "destination_id": "a3331a53-fb9a-4454-905c-fc80e78f177c", - "destination_type": "dissociation_process" - }, - { - "source_id": "a3331a53-fb9a-4454-905c-fc80e78f177c", - "source_type": "dissociation_process", - "destination_id": "13848653-1195-4eb2-b1dd-2b4d85414327", - "destination_type": "biomaterial" - }, - { - "source_id": "a3331a53-fb9a-4454-905c-fc80e78f177c", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "5afb1b66-80b2-423a-93b9-87f2e5bbba85", - "source_type": "process", - "destination_id": "8d943f91-63b6-4dee-8ce5-cf2c4cfd3769", - "destination_type": "biomaterial" - }, - { - "source_id": "7d2dcb65-b759-40b8-9eb0-7b9951b7c036", - "source_type": "biomaterial", - "destination_id": "5afb1b66-80b2-423a-93b9-87f2e5bbba85", - "destination_type": "process" - }, - { - "source_id": "6db14b25-4c49-44b6-84f5-793996226bb8", - "source_type": "biomaterial", - "destination_id": "d9192e16-18e9-4f81-8cfe-9376d72481f0", - "destination_type": "dissociation_process" - }, - { - "source_id": "d9192e16-18e9-4f81-8cfe-9376d72481f0", - "source_type": "dissociation_process", - "destination_id": "30a19b27-7152-4013-8429-d5eb8cdf463f", - "destination_type": "biomaterial" - }, - { - "source_id": "d9192e16-18e9-4f81-8cfe-9376d72481f0", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "85df0c99-4a74-4a6f-bd18-6fc65df12848", - "source_type": "process", - "destination_id": "6db14b25-4c49-44b6-84f5-793996226bb8", - "destination_type": "biomaterial" - }, - { - "source_id": "0a69e7c4-56a3-498e-a867-aaf84c1344c8", - "source_type": "biomaterial", - "destination_id": "85df0c99-4a74-4a6f-bd18-6fc65df12848", - "destination_type": "process" - }, - { - "source_id": "8349bc6b-b091-46e5-8466-f47257396db0", - "source_type": "biomaterial", - "destination_id": "d0e472c4-47ae-4816-a8b0-56ee9f1d3248", - "destination_type": "dissociation_process" - }, - { - "source_id": "d0e472c4-47ae-4816-a8b0-56ee9f1d3248", - "source_type": "dissociation_process", - "destination_id": "2169353d-98f5-49fe-91de-edc498aa3a0d", - "destination_type": "biomaterial" - }, - { - "source_id": "d0e472c4-47ae-4816-a8b0-56ee9f1d3248", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "29fa33fe-9388-49e7-86ed-f386d33d5bc4", - "source_type": "process", - "destination_id": "8349bc6b-b091-46e5-8466-f47257396db0", - "destination_type": "biomaterial" - }, - { - "source_id": "0a69e7c4-56a3-498e-a867-aaf84c1344c8", - "source_type": "biomaterial", - "destination_id": "29fa33fe-9388-49e7-86ed-f386d33d5bc4", - "destination_type": "process" - }, - { - "source_id": "9d324dba-1776-4801-aa39-d208ddf76ba6", - "source_type": "biomaterial", - "destination_id": "67535ee8-c96a-4cdb-a20d-85e7e0da1365", - "destination_type": "dissociation_process" - }, - { - "source_id": "67535ee8-c96a-4cdb-a20d-85e7e0da1365", - "source_type": "dissociation_process", - "destination_id": "a1af5c54-93ee-4a57-b2a3-3bb11a6ce101", - "destination_type": "biomaterial" - }, - { - "source_id": "67535ee8-c96a-4cdb-a20d-85e7e0da1365", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "a521fed6-4fcf-406a-9b74-2d374317d0d1", - "source_type": "process", - "destination_id": "9d324dba-1776-4801-aa39-d208ddf76ba6", - "destination_type": "biomaterial" - }, - { - "source_id": "06d98ad8-bbac-40df-9eb6-d5b1a424568a", - "source_type": "biomaterial", - "destination_id": "a521fed6-4fcf-406a-9b74-2d374317d0d1", - "destination_type": "process" - }, - { - "source_id": "783de389-3c3d-4b91-99d7-50c34ec8a371", - "source_type": "biomaterial", - "destination_id": "8992662c-3b01-4c94-9329-0d910b8a19bb", - "destination_type": "dissociation_process" - }, - { - "source_id": "8992662c-3b01-4c94-9329-0d910b8a19bb", - "source_type": "dissociation_process", - "destination_id": "6c95f445-81a6-4a34-af92-a926e142ca1c", - "destination_type": "biomaterial" - }, - { - "source_id": "8992662c-3b01-4c94-9329-0d910b8a19bb", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "92db35fb-331c-464d-8dd3-320187156095", - "source_type": "process", - "destination_id": "783de389-3c3d-4b91-99d7-50c34ec8a371", - "destination_type": "biomaterial" - }, - { - "source_id": "0a69e7c4-56a3-498e-a867-aaf84c1344c8", - "source_type": "biomaterial", - "destination_id": "92db35fb-331c-464d-8dd3-320187156095", - "destination_type": "process" - }, - { - "source_id": "bdc9af35-bee1-41c6-a779-27bfef094747", - "source_type": "biomaterial", - "destination_id": "f579b7d6-abdc-42ce-ac92-440e9520b213", - "destination_type": "dissociation_process" - }, - { - "source_id": "f579b7d6-abdc-42ce-ac92-440e9520b213", - "source_type": "dissociation_process", - "destination_id": "d340cd45-3ffe-4773-a9bf-ead3539e2603", - "destination_type": "biomaterial" - }, - { - "source_id": "f579b7d6-abdc-42ce-ac92-440e9520b213", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "926dc72a-d35f-4fda-8274-0cd4f99437d7", - "source_type": "process", - "destination_id": "bdc9af35-bee1-41c6-a779-27bfef094747", - "destination_type": "biomaterial" - }, - { - "source_id": "06d98ad8-bbac-40df-9eb6-d5b1a424568a", - "source_type": "biomaterial", - "destination_id": "926dc72a-d35f-4fda-8274-0cd4f99437d7", - "destination_type": "process" - }, - { - "source_id": "127de915-ba56-4a7e-b976-517f3a8577c6", - "source_type": "biomaterial", - "destination_id": "573b182e-39f0-49d3-8670-602265ce20f7", - "destination_type": "dissociation_process" - }, - { - "source_id": "573b182e-39f0-49d3-8670-602265ce20f7", - "source_type": "dissociation_process", - "destination_id": "638ca348-6740-42fd-a503-cac5c774aee7", - "destination_type": "biomaterial" - }, - { - "source_id": "573b182e-39f0-49d3-8670-602265ce20f7", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "2b12c896-8f74-4900-831a-da4a5fc35a33", - "source_type": "process", - "destination_id": "127de915-ba56-4a7e-b976-517f3a8577c6", - "destination_type": "biomaterial" - }, - { - "source_id": "06d98ad8-bbac-40df-9eb6-d5b1a424568a", - "source_type": "biomaterial", - "destination_id": "2b12c896-8f74-4900-831a-da4a5fc35a33", - "destination_type": "process" - }, - { - "source_id": "79023c7a-8321-4e43-b0b9-315d5102213e", - "source_type": "biomaterial", - "destination_id": "a029f335-5dbe-4ae9-8933-aadf9e04a092", - "destination_type": "dissociation_process" - }, - { - "source_id": "a029f335-5dbe-4ae9-8933-aadf9e04a092", - "source_type": "dissociation_process", - "destination_id": "79d1fbd5-e630-4ae8-8c5e-58ec221add37", - "destination_type": "biomaterial" - }, - { - "source_id": "a029f335-5dbe-4ae9-8933-aadf9e04a092", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "e77e933d-c2fc-4bad-a5f6-edc88d3c67d0", - "source_type": "process", - "destination_id": "79023c7a-8321-4e43-b0b9-315d5102213e", - "destination_type": "biomaterial" - }, - { - "source_id": "06d98ad8-bbac-40df-9eb6-d5b1a424568a", - "source_type": "biomaterial", - "destination_id": "e77e933d-c2fc-4bad-a5f6-edc88d3c67d0", - "destination_type": "process" - }, - { - "source_id": "871986c1-96db-453d-850f-15b6b740404b", - "source_type": "biomaterial", - "destination_id": "7a225ade-f8e6-4af4-b0bf-f47bc06b5d4a", - "destination_type": "dissociation_process" - }, - { - "source_id": "7a225ade-f8e6-4af4-b0bf-f47bc06b5d4a", - "source_type": "dissociation_process", - "destination_id": "5cd07007-e43d-4811-80fb-eb6f73bb4003", - "destination_type": "biomaterial" - }, - { - "source_id": "7a225ade-f8e6-4af4-b0bf-f47bc06b5d4a", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "9c6285c0-1c91-4850-a6a8-80efaa98d08f", - "source_type": "process", - "destination_id": "871986c1-96db-453d-850f-15b6b740404b", - "destination_type": "biomaterial" - }, - { - "source_id": "7d2dcb65-b759-40b8-9eb0-7b9951b7c036", - "source_type": "biomaterial", - "destination_id": "9c6285c0-1c91-4850-a6a8-80efaa98d08f", - "destination_type": "process" - }, - { - "source_id": "11685058-51ab-41b5-a8db-2cb8be4d472b", - "source_type": "biomaterial", - "destination_id": "3ce935e9-281f-46ee-8613-29e931f00927", - "destination_type": "dissociation_process" - }, - { - "source_id": "3ce935e9-281f-46ee-8613-29e931f00927", - "source_type": "dissociation_process", - "destination_id": "238b7966-6118-4fb4-b8e9-9c96f7e21c20", - "destination_type": "biomaterial" - }, - { - "source_id": "3ce935e9-281f-46ee-8613-29e931f00927", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "969de231-87de-4c29-a82c-8101024ba7ce", - "source_type": "process", - "destination_id": "11685058-51ab-41b5-a8db-2cb8be4d472b", - "destination_type": "biomaterial" - }, - { - "source_id": "5caa7ca2-308a-424d-8bae-9204a2be2502", - "source_type": "biomaterial", - "destination_id": "969de231-87de-4c29-a82c-8101024ba7ce", - "destination_type": "process" - }, - { - "source_id": "f4da656b-742d-45d8-87d5-8489cece62e4", - "source_type": "biomaterial", - "destination_id": "580d8a8a-4c94-422f-8018-d1481c8ae353", - "destination_type": "dissociation_process" - }, - { - "source_id": "580d8a8a-4c94-422f-8018-d1481c8ae353", - "source_type": "dissociation_process", - "destination_id": "be271554-f98a-4e8f-9bca-27e884677dcb", - "destination_type": "biomaterial" - }, - { - "source_id": "580d8a8a-4c94-422f-8018-d1481c8ae353", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "143fa677-7e4b-43e0-9a12-a3e82b871acd", - "source_type": "process", - "destination_id": "f4da656b-742d-45d8-87d5-8489cece62e4", - "destination_type": "biomaterial" - }, - { - "source_id": "7d2dcb65-b759-40b8-9eb0-7b9951b7c036", - "source_type": "biomaterial", - "destination_id": "143fa677-7e4b-43e0-9a12-a3e82b871acd", - "destination_type": "process" - }, - { - "source_id": "81946218-e5f0-4a93-a19f-ed249e1882bf", - "source_type": "biomaterial", - "destination_id": "ef5baf40-74bc-4651-ab98-109129c09efe", - "destination_type": "dissociation_process" - }, - { - "source_id": "ef5baf40-74bc-4651-ab98-109129c09efe", - "source_type": "dissociation_process", - "destination_id": "21f3c6f0-575e-4d26-92df-a40536bff617", - "destination_type": "biomaterial" - }, - { - "source_id": "ef5baf40-74bc-4651-ab98-109129c09efe", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "304714cd-63c6-4a5c-8756-43177eeb0fff", - "source_type": "process", - "destination_id": "81946218-e5f0-4a93-a19f-ed249e1882bf", - "destination_type": "biomaterial" - }, - { - "source_id": "5caa7ca2-308a-424d-8bae-9204a2be2502", - "source_type": "biomaterial", - "destination_id": "304714cd-63c6-4a5c-8756-43177eeb0fff", - "destination_type": "process" - }, - { - "source_id": "c2a5c0e2-f780-4089-9927-9120c2db52ae", - "source_type": "biomaterial", - "destination_id": "1461d692-fc23-4076-9076-eabd324e3b72", - "destination_type": "dissociation_process" - }, - { - "source_id": "1461d692-fc23-4076-9076-eabd324e3b72", - "source_type": "dissociation_process", - "destination_id": "78fcbbea-a256-48ef-9ce0-fb963724721d", - "destination_type": "biomaterial" - }, - { - "source_id": "1461d692-fc23-4076-9076-eabd324e3b72", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "cd56f223-2abb-434c-adff-d94d43057181", - "source_type": "process", - "destination_id": "c2a5c0e2-f780-4089-9927-9120c2db52ae", - "destination_type": "biomaterial" - }, - { - "source_id": "0a69e7c4-56a3-498e-a867-aaf84c1344c8", - "source_type": "biomaterial", - "destination_id": "cd56f223-2abb-434c-adff-d94d43057181", - "destination_type": "process" - }, - { - "source_id": "b15f87d6-a36c-404c-a1df-87a3ef30079d", - "source_type": "biomaterial", - "destination_id": "a91ab216-b367-48e4-9c0f-0911a3558fb6", - "destination_type": "dissociation_process" - }, - { - "source_id": "a91ab216-b367-48e4-9c0f-0911a3558fb6", - "source_type": "dissociation_process", - "destination_id": "044dbcb3-cd35-4817-b8fb-e2a7ffce416e", - "destination_type": "biomaterial" - }, - { - "source_id": "a91ab216-b367-48e4-9c0f-0911a3558fb6", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "e2765760-381d-4aa7-bc0b-fd23b134d9fe", - "source_type": "process", - "destination_id": "b15f87d6-a36c-404c-a1df-87a3ef30079d", - "destination_type": "biomaterial" - }, - { - "source_id": "7d2dcb65-b759-40b8-9eb0-7b9951b7c036", - "source_type": "biomaterial", - "destination_id": "e2765760-381d-4aa7-bc0b-fd23b134d9fe", - "destination_type": "process" - }, - { - "source_id": "6d98e8a4-dc7e-4ee8-aad6-9861b744e9fe", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "01f2d4b7-7746-4dc0-88d7-4cb0b3dbb370", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "ed887207-2034-4c85-bbec-4e69a745d009", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "e1db28a3-83c8-43ce-8e41-40b0429c2c4e", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "10ddecf6-ad4c-4d20-889f-93c83e3d5562", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "f564e3b1-d887-4667-9383-1d9b8cbbbd0f", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "bd59eb0f-46e3-497a-9dd1-a5d0e5ca3ac4", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "4064ed72-cf76-4418-8ca1-f916aca95680", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "b08c7d38-caa6-4573-ba7e-37da8aa66605", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "4027035b-3251-44b9-a281-fc9182de7579", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "33fbab10-cbbe-4b44-9e5b-df07df548949", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "464efe79-c955-41e2-b553-21dac9fc307c", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "4193326b-73c0-4def-a0cd-4b7e42ed0a4f", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "db7a09ef-b0dd-462f-accd-b32a067b772a", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "db7217c3-b8a6-49fe-9e59-373accd8e554", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "52f92017-99fd-4ad6-a817-839a80d71ea4", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "318a7e38-8594-49b8-b15b-924a411455bf", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "09d419e3-bd3e-46fd-a573-c3eff01fa571", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "13848653-1195-4eb2-b1dd-2b4d85414327", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "30a19b27-7152-4013-8429-d5eb8cdf463f", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "2169353d-98f5-49fe-91de-edc498aa3a0d", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "a1af5c54-93ee-4a57-b2a3-3bb11a6ce101", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "6c95f445-81a6-4a34-af92-a926e142ca1c", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "d340cd45-3ffe-4773-a9bf-ead3539e2603", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "638ca348-6740-42fd-a503-cac5c774aee7", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "79d1fbd5-e630-4ae8-8c5e-58ec221add37", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "5cd07007-e43d-4811-80fb-eb6f73bb4003", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "238b7966-6118-4fb4-b8e9-9c96f7e21c20", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "be271554-f98a-4e8f-9bca-27e884677dcb", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "21f3c6f0-575e-4d26-92df-a40536bff617", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "78fcbbea-a256-48ef-9ce0-fb963724721d", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "044dbcb3-cd35-4817-b8fb-e2a7ffce416e", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d5294332-19b5-4ff1-b298-6c1cf500cb35", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0fa33de0-5ac6-43d4-8df8-006b0259f6a4", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "65755624-9cf1-4f0e-96f5-e4c30a6ee2d9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6de335f6-cab5-4ec8-a1ff-3a639596dd59", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ac3edf4a-f269-4944-bb1a-3b1845e33098", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a256e5e3-7e80-419e-b8e8-c3fdaf234b43", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4dcd7823-b02f-4dd7-a49f-94b86096d77d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "27f0c78b-67cd-47d3-964f-fcbec7562997", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c3c9b724-b79b-4988-934d-b22f673c4823", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3e8bda58-fb04-44a1-9266-d32fcc73649c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "62e42770-9481-48e4-9705-1f4c6da2ae43", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c1f1455c-d49b-4826-b3b7-526a9ca4ee9a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2f629555-1b9d-4251-a513-72b138ec1d1f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "22f89ffa-0ba3-4264-b91e-fde781c0d703", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "fc93721d-74f9-4dd4-adcb-ed6b1b2e0424", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3aaa7031-22c5-4339-ac54-d6583303bc6d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4502aed4-857b-4760-83e0-de5ef6a15671", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3641ab2b-35f7-453d-ae7e-9f3ae7ced860", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0374a796-bd3a-47f0-a008-a037ca62fd7a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d7867440-3fd2-4c80-acdb-d8cc2ec1fb4b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0ef80820-3d78-4810-a009-3134cb9090b6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2e34dd3f-914d-47ad-b0fe-1fa37d1b134c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "14d610ac-504c-4c5c-8f5b-2b2e0d6b9a9c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6001f9be-8ebd-4dd3-86ff-92e93adad0d7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "61c10ee6-ecb7-47ba-b3db-e02bcf4325bf", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1d02060a-dfab-484f-9ef1-d23d831b1a5d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "338b9160-54b0-41a5-8a2c-d08f6c9ed626", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d5e1593f-e8a0-4288-97c7-2e5faa401ab8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "175d7210-8296-4789-bd4f-e0ddd35c2a89", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "31fd2963-0fd5-451b-a21f-9963e65cb6f3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3d94a11d-f106-4f85-b4bd-93d8bf2530ea", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "50d413fc-208e-4b28-93d0-1aff73ab66c5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "55ca5e22-f148-4a7c-82c9-005e1d9f9ece", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "aa28d2a1-9e50-471a-a891-7ecf278b467a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "12640e28-e9aa-4432-8d74-93003425748c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "39c3fe7f-f194-4eed-9525-5511a3dc3ffc", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "919ae226-445e-49a5-9e3d-69b9a1932e96", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a2ef2eb3-4f87-456b-bdab-71d062e30722", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b938e56a-f94a-46b4-bbdd-5df21d083411", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8bf97ca3-2d03-4ac2-8c11-cd8decadf586", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9478fc7f-df90-4067-b8ad-a480706b9ade", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "07942b88-77bd-4559-91ea-d09a7aac1264", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a0381296-68b4-4480-8d93-e1ad9e85abb6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a1a879dd-65fb-483d-8740-cef3abe97fbe", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "89254219-e37c-4493-a339-0e426c826fcf", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "838bef81-e228-4470-b50b-5259d7cbe5db", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "85a94a58-241b-4c97-a85f-8d718c8c4679", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "73fb78b0-5a63-4b0b-a784-45f67be0d562", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "00c1e04c-71f9-4e64-8f7d-43a9742732c1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ba55717c-bc2d-4ae6-aab0-40cd0c39e132", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5b802cb7-74ea-40da-9629-89da2f879940", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "10ec7489-07a9-4848-86f1-f9b8b8eda316", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f4db906f-02a2-4e78-a944-f70f6ecfba6e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "61ea8027-8da7-4ee5-a153-49126032a194", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "abfc93d7-2406-4c83-8e50-ae23746b5724", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bd09c8c4-c7ff-40e5-a14d-1d1968485dd6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6062d33b-29f5-4b2c-a8c7-fef60591b285", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8e6df880-5417-4b70-b79c-ad2c9e4c88e7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4c8d2f2b-0805-4abc-9a20-d477eb5cc6fd", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cf307cb1-0f17-42f1-a069-5060b68548c8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "da5a2a93-e840-4ea5-bad6-c3607fd3db5b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3dcf809d-c939-4dc7-93e8-f2782044d68f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8647eca2-4adc-43c0-becb-98c0ff86682b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "20e6c61f-5747-4dcd-a659-fede6d62a434", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8975ec2a-dc00-4800-a409-52d64686da01", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ff7e8e48-a9ae-4fab-86b6-b895388abf6e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "37ea959a-47bd-4a35-8468-8fc6bc5b4dfd", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9ee2ade2-48f5-4319-99aa-eb2c73aa2e83", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "60b743d4-6476-4d38-9343-621186612ed8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1daa45f1-3ce5-400b-8f2d-40d04f1f8806", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "938d4d47-a7f3-4ecd-887d-6a01f7ee32cf", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "56ec5353-ecce-40b5-a981-1dad8ad1c9d4", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "24fbec47-ebbf-4e55-8d7d-cf2c9902bee2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e97970fa-381f-4deb-9bfe-ed6c227bd89c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9b84ab82-16ad-499d-916f-53c73a2537da", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "50c3d51e-175d-4ffc-ad21-20e4713a92bc", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f6d5e9d9-2cf1-427b-b9e4-6da9a9fa2ae9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cae932bf-4d22-4466-8ea3-a76cffd1dab1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7b6ddb79-655b-4b33-ad2d-c94b36140c6a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "08da0161-f96f-4da0-9c47-421bc0ebf7b8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5f927ca9-9b92-44a0-9a48-55fdad524445", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bd2f2534-276f-47f4-a3d3-b1ad09b41554", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e9b7c7ea-dcee-43dd-af1f-9a311420ff85", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3657e098-4b0c-410a-a7c8-82c73b6ed1ed", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "66aad53b-645e-4d69-89ed-47ed82890546", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c92d030e-2530-441a-a1e9-3f8d2fd7dc46", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "67e5a10c-0f5b-48af-aa30-628854a0928d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "36341e0d-4bf8-48f8-88ce-32b9173c5bd7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1f3da46c-e8df-4300-b197-0307a3208beb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "da06f1b2-bd05-4300-8899-d0146c5ecf83", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "51e6d934-8a34-4204-96b9-e6a0865f2cac", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d17161a2-081b-4d3c-9c7c-ab93b8ff36fa", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bc88049b-5dd3-4460-9119-94e22c3a13c8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6ca9ed26-11b8-475e-94ba-e50472dd6bd3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6b910e18-fd50-4447-8438-9cd628cd0660", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c2b2449f-0f1c-40e0-bc1e-534a936c3fb4", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cf6e3ba9-a5d7-4225-abbb-04f761a47c82", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "40cef712-132a-48c4-9ddd-21169ea24903", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4a062a0d-946c-4b2a-9cff-4418544d9b16", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9db41364-8b2f-4cf9-b88f-cab43edea8ce", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "65775d70-1372-4161-a7e5-de2202dd6f7e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "81838f1d-3ae5-45be-88fc-e35b9217ef21", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9989e71f-09d8-4051-83e8-75753389a6cb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c750d7ef-7274-4253-9fc0-0f40354b84aa", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "fa69feb4-152a-4ac9-bb44-8b2b4b3e8176", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f0d45c30-753f-4a2f-afc9-1479a12a8e8b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9d70fcb9-9317-47ba-a6be-7169d23af75a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c03c121a-31e9-4a79-93d7-4030c1e5eee8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "182a36a5-027b-4e76-a57d-979c093eecb8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6ff26361-3be0-48c4-a5dd-c215ba8021bc", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "60e007a2-6d1d-49df-8dfa-358ebfe397a7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "06c4f4e6-f607-4165-9d18-f068c9393bd1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "68c14f04-48d2-404e-9b3e-cefabe0d4256", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6d8a7881-9d15-42e2-97e6-09df4604997e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "500aa99d-776e-4418-b708-58a9075daa3b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "49148098-bb4e-42d0-af89-946de3e6d394", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "94e3471e-744b-44cc-b987-31071a107fef", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e3dbda3e-f81d-42fb-85d7-92256229c9c1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5bb3fb23-884b-4762-8033-481f3dc67746", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "25e5c231-49af-4302-8292-6756f90cf30e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ff5f0c7a-b90c-4cca-9fce-d72f28a1e8a5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e0e1175b-fe0f-41f3-af58-cd745c64704d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "522747b7-1e9b-435e-9a4a-1a4b390fd153", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0131fd23-816a-4fcd-9660-27c45022ec47", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "948a2a49-c334-42ee-8ad0-e92ee7a72fc6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "991d0b52-a02e-4705-9754-4af10cbba1d9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8db31c92-e87d-444c-9309-0340768a794b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f39f5ab3-1a1f-425c-8670-a73c53b7ea1c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "437fef8b-4c7a-463f-a144-85e66c7f4953", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e3bbd096-a3eb-4fb2-a7af-ffcd5bfbfebf", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e2e3b95f-8f87-475c-8338-13c08fef0b8e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "02d06869-ddfe-4ad7-9da7-2be88d0c2112", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "92c76b47-b073-4ea2-bb35-3b764da48787", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5b14f043-ca67-4b07-adf7-b5d9b2405566", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cb5df08f-68c8-4dfd-9581-d3828d7b7f2b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e69d977c-7f1c-4e65-bc85-976f334e1f0c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "22dfec6d-dcef-4928-8e91-a76ea60d2494", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e1286902-46fa-45c5-b9ac-498058c09ec9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "59adfc03-cca3-496d-91f8-262512429977", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a56a72c7-c1b8-4db1-8ec1-b4a54e8b4057", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e4e868a9-a1e7-4963-875c-fe48530460f3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5da8e6f2-a26e-448b-b017-33ac69ca80f7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c59d880d-7847-4525-990b-ab283257a166", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "614a69c9-4212-46bf-948e-d7affd2310e5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "40c497af-80ea-4c54-a628-a57486c0f8ec", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b23a12bd-3372-4542-a5e6-0f9bcdcb51dd", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7844a2e7-6307-4e70-af10-fdcff29496e2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "66e5a918-007f-4ef6-a514-b8043bcc6128", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "452b88e0-94cf-4243-b44e-94b16c936896", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "32aeb59b-d1f7-4660-9b98-f72ebe671864", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "751ad2cb-994b-40d2-b6ba-9d4f59112f12", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1705dea1-fff5-4f39-985d-b2a70f5d2ea1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "05dcbcdd-7288-4e17-94dc-bb9e099a2a20", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f97c6247-15c6-403e-9a15-62113f9dc24a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3c4864ae-619e-479d-8138-c1489e7f10bb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5703221a-e4bf-4f4a-a5a0-747aa74d46b2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "463a120d-ee95-476c-8329-c633b43ab1aa", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "98f19741-b0fe-4aff-ab8c-9a77af8e36ce", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9820fbb5-07b7-41ce-b135-16e21b371c94", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cab74e16-3229-4808-922a-743447d7da23", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "fac833de-2bb8-4f4a-a1dd-6136fbc288b1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5506a837-6ff5-4004-8c2c-673a8d93c510", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6d7e8891-156b-4b23-848c-8ef75230cbbd", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8eca3a7d-67f1-412d-9d3a-704c8218cee2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "57d69572-96ae-4a29-97f5-0c1a491ed2a5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b55fd000-cd16-4976-b264-8df9e012df4e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d7e6574e-dae6-4e6f-8db0-370693adea27", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ac66a331-f88f-4ec0-b08a-79612fde6b37", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "551caaec-e076-4794-9096-7b8f5176e9c3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "415a6ab3-aa59-4e68-8993-64fd1a0715be", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "13bcdac2-f7f5-405d-b860-9ce88b423d80", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2bdc88a5-faf4-4f07-8818-a95428defe3a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2c659838-791d-498e-a3fa-f0c8eb1b2559", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ffa21ee7-98c7-4275-a28f-ab87350b6317", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "30a446dd-cb56-4055-bf82-6b3b06d47ee7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5fbc6d6e-8905-4ef4-92c7-b13c7fc1b33c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5c1ccd4f-d639-43d0-94b6-3baca6f8210d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0cf26327-ce69-4e4e-b1ad-efdc3ffd9195", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7f2b78dc-2b1c-4912-b456-170ba3891464", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "722bf139-3585-4349-bd60-2108cdea9783", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "85f9f0a9-6b8e-4fba-a360-8d14931a7929", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ffa34fcb-1a7d-45cd-95be-c29cd95e73da", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "70e83656-b4c8-4453-9d99-08989b2baf6e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "712084da-4b68-47e0-acff-aafb48cc21db", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ab9fcfa0-6a1c-4fcd-a0f8-73737ddfb027", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "fe25d73e-ecb7-4228-bfa5-b87ea5f1eb91", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0bf66ea5-3dee-422b-b8f0-837033556d99", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "94f47ceb-f4b3-4e6c-9fb4-55c428507e75", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "05c46800-9101-4151-9b4b-3a0fe981e76e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "af80a9d5-0e61-4a4a-a32c-6a22ca542ea5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a64e2f58-8fbc-4382-9ca9-845f32a7133f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f379d8e5-1741-4992-a46f-692f352d81e2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "81b97ec1-f68c-4d69-be78-50d1aad7bbef", - "destination_type": "protocol" - }, - { - "source_id": "6d98e8a4-dc7e-4ee8-aad6-9861b744e9fe", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "01f2d4b7-7746-4dc0-88d7-4cb0b3dbb370", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "ed887207-2034-4c85-bbec-4e69a745d009", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "e1db28a3-83c8-43ce-8e41-40b0429c2c4e", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "10ddecf6-ad4c-4d20-889f-93c83e3d5562", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "f564e3b1-d887-4667-9383-1d9b8cbbbd0f", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "bd59eb0f-46e3-497a-9dd1-a5d0e5ca3ac4", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "4064ed72-cf76-4418-8ca1-f916aca95680", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "b08c7d38-caa6-4573-ba7e-37da8aa66605", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "4027035b-3251-44b9-a281-fc9182de7579", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "33fbab10-cbbe-4b44-9e5b-df07df548949", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "464efe79-c955-41e2-b553-21dac9fc307c", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "4193326b-73c0-4def-a0cd-4b7e42ed0a4f", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "db7a09ef-b0dd-462f-accd-b32a067b772a", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "db7217c3-b8a6-49fe-9e59-373accd8e554", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "52f92017-99fd-4ad6-a817-839a80d71ea4", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "318a7e38-8594-49b8-b15b-924a411455bf", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "09d419e3-bd3e-46fd-a573-c3eff01fa571", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "13848653-1195-4eb2-b1dd-2b4d85414327", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "30a19b27-7152-4013-8429-d5eb8cdf463f", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "2169353d-98f5-49fe-91de-edc498aa3a0d", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "a1af5c54-93ee-4a57-b2a3-3bb11a6ce101", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "6c95f445-81a6-4a34-af92-a926e142ca1c", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "d340cd45-3ffe-4773-a9bf-ead3539e2603", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "638ca348-6740-42fd-a503-cac5c774aee7", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "79d1fbd5-e630-4ae8-8c5e-58ec221add37", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "5cd07007-e43d-4811-80fb-eb6f73bb4003", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "238b7966-6118-4fb4-b8e9-9c96f7e21c20", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "be271554-f98a-4e8f-9bca-27e884677dcb", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "21f3c6f0-575e-4d26-92df-a40536bff617", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "78fcbbea-a256-48ef-9ce0-fb963724721d", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "044dbcb3-cd35-4817-b8fb-e2a7ffce416e", - "source_type": "biomaterial", - "destination_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "destination_type": "sequencing_process" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "d5294332-19b5-4ff1-b298-6c1cf500cb35", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "0fa33de0-5ac6-43d4-8df8-006b0259f6a4", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "65755624-9cf1-4f0e-96f5-e4c30a6ee2d9", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "6de335f6-cab5-4ec8-a1ff-3a639596dd59", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "ac3edf4a-f269-4944-bb1a-3b1845e33098", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "a256e5e3-7e80-419e-b8e8-c3fdaf234b43", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "4dcd7823-b02f-4dd7-a49f-94b86096d77d", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "27f0c78b-67cd-47d3-964f-fcbec7562997", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "c3c9b724-b79b-4988-934d-b22f673c4823", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "3e8bda58-fb04-44a1-9266-d32fcc73649c", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "62e42770-9481-48e4-9705-1f4c6da2ae43", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "c1f1455c-d49b-4826-b3b7-526a9ca4ee9a", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "2f629555-1b9d-4251-a513-72b138ec1d1f", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "22f89ffa-0ba3-4264-b91e-fde781c0d703", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "fc93721d-74f9-4dd4-adcb-ed6b1b2e0424", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "3aaa7031-22c5-4339-ac54-d6583303bc6d", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "4502aed4-857b-4760-83e0-de5ef6a15671", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "3641ab2b-35f7-453d-ae7e-9f3ae7ced860", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "0374a796-bd3a-47f0-a008-a037ca62fd7a", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "d7867440-3fd2-4c80-acdb-d8cc2ec1fb4b", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "0ef80820-3d78-4810-a009-3134cb9090b6", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "2e34dd3f-914d-47ad-b0fe-1fa37d1b134c", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "14d610ac-504c-4c5c-8f5b-2b2e0d6b9a9c", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "6001f9be-8ebd-4dd3-86ff-92e93adad0d7", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "61c10ee6-ecb7-47ba-b3db-e02bcf4325bf", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "1d02060a-dfab-484f-9ef1-d23d831b1a5d", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "338b9160-54b0-41a5-8a2c-d08f6c9ed626", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "d5e1593f-e8a0-4288-97c7-2e5faa401ab8", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "175d7210-8296-4789-bd4f-e0ddd35c2a89", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "31fd2963-0fd5-451b-a21f-9963e65cb6f3", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "3d94a11d-f106-4f85-b4bd-93d8bf2530ea", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "50d413fc-208e-4b28-93d0-1aff73ab66c5", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "55ca5e22-f148-4a7c-82c9-005e1d9f9ece", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "aa28d2a1-9e50-471a-a891-7ecf278b467a", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "12640e28-e9aa-4432-8d74-93003425748c", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "39c3fe7f-f194-4eed-9525-5511a3dc3ffc", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "919ae226-445e-49a5-9e3d-69b9a1932e96", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "a2ef2eb3-4f87-456b-bdab-71d062e30722", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "b938e56a-f94a-46b4-bbdd-5df21d083411", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "8bf97ca3-2d03-4ac2-8c11-cd8decadf586", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "9478fc7f-df90-4067-b8ad-a480706b9ade", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "07942b88-77bd-4559-91ea-d09a7aac1264", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "a0381296-68b4-4480-8d93-e1ad9e85abb6", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "a1a879dd-65fb-483d-8740-cef3abe97fbe", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "89254219-e37c-4493-a339-0e426c826fcf", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "838bef81-e228-4470-b50b-5259d7cbe5db", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "85a94a58-241b-4c97-a85f-8d718c8c4679", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "73fb78b0-5a63-4b0b-a784-45f67be0d562", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "00c1e04c-71f9-4e64-8f7d-43a9742732c1", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "ba55717c-bc2d-4ae6-aab0-40cd0c39e132", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "5b802cb7-74ea-40da-9629-89da2f879940", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "10ec7489-07a9-4848-86f1-f9b8b8eda316", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "f4db906f-02a2-4e78-a944-f70f6ecfba6e", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "61ea8027-8da7-4ee5-a153-49126032a194", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "abfc93d7-2406-4c83-8e50-ae23746b5724", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "bd09c8c4-c7ff-40e5-a14d-1d1968485dd6", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "6062d33b-29f5-4b2c-a8c7-fef60591b285", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "8e6df880-5417-4b70-b79c-ad2c9e4c88e7", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "4c8d2f2b-0805-4abc-9a20-d477eb5cc6fd", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "cf307cb1-0f17-42f1-a069-5060b68548c8", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "da5a2a93-e840-4ea5-bad6-c3607fd3db5b", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "3dcf809d-c939-4dc7-93e8-f2782044d68f", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "8647eca2-4adc-43c0-becb-98c0ff86682b", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "20e6c61f-5747-4dcd-a659-fede6d62a434", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "8975ec2a-dc00-4800-a409-52d64686da01", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "ff7e8e48-a9ae-4fab-86b6-b895388abf6e", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "37ea959a-47bd-4a35-8468-8fc6bc5b4dfd", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "9ee2ade2-48f5-4319-99aa-eb2c73aa2e83", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "60b743d4-6476-4d38-9343-621186612ed8", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "1daa45f1-3ce5-400b-8f2d-40d04f1f8806", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "938d4d47-a7f3-4ecd-887d-6a01f7ee32cf", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "56ec5353-ecce-40b5-a981-1dad8ad1c9d4", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "24fbec47-ebbf-4e55-8d7d-cf2c9902bee2", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "e97970fa-381f-4deb-9bfe-ed6c227bd89c", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "9b84ab82-16ad-499d-916f-53c73a2537da", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "50c3d51e-175d-4ffc-ad21-20e4713a92bc", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "f6d5e9d9-2cf1-427b-b9e4-6da9a9fa2ae9", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "cae932bf-4d22-4466-8ea3-a76cffd1dab1", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "7b6ddb79-655b-4b33-ad2d-c94b36140c6a", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "08da0161-f96f-4da0-9c47-421bc0ebf7b8", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "5f927ca9-9b92-44a0-9a48-55fdad524445", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "bd2f2534-276f-47f4-a3d3-b1ad09b41554", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "e9b7c7ea-dcee-43dd-af1f-9a311420ff85", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "3657e098-4b0c-410a-a7c8-82c73b6ed1ed", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "66aad53b-645e-4d69-89ed-47ed82890546", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "c92d030e-2530-441a-a1e9-3f8d2fd7dc46", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "67e5a10c-0f5b-48af-aa30-628854a0928d", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "36341e0d-4bf8-48f8-88ce-32b9173c5bd7", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "1f3da46c-e8df-4300-b197-0307a3208beb", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "da06f1b2-bd05-4300-8899-d0146c5ecf83", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "51e6d934-8a34-4204-96b9-e6a0865f2cac", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "d17161a2-081b-4d3c-9c7c-ab93b8ff36fa", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "bc88049b-5dd3-4460-9119-94e22c3a13c8", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "6ca9ed26-11b8-475e-94ba-e50472dd6bd3", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "6b910e18-fd50-4447-8438-9cd628cd0660", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "c2b2449f-0f1c-40e0-bc1e-534a936c3fb4", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "cf6e3ba9-a5d7-4225-abbb-04f761a47c82", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "40cef712-132a-48c4-9ddd-21169ea24903", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "4a062a0d-946c-4b2a-9cff-4418544d9b16", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "9db41364-8b2f-4cf9-b88f-cab43edea8ce", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "65775d70-1372-4161-a7e5-de2202dd6f7e", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "81838f1d-3ae5-45be-88fc-e35b9217ef21", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "9989e71f-09d8-4051-83e8-75753389a6cb", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "c750d7ef-7274-4253-9fc0-0f40354b84aa", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "fa69feb4-152a-4ac9-bb44-8b2b4b3e8176", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "f0d45c30-753f-4a2f-afc9-1479a12a8e8b", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "9d70fcb9-9317-47ba-a6be-7169d23af75a", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "c03c121a-31e9-4a79-93d7-4030c1e5eee8", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "182a36a5-027b-4e76-a57d-979c093eecb8", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "6ff26361-3be0-48c4-a5dd-c215ba8021bc", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "60e007a2-6d1d-49df-8dfa-358ebfe397a7", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "06c4f4e6-f607-4165-9d18-f068c9393bd1", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "68c14f04-48d2-404e-9b3e-cefabe0d4256", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "6d8a7881-9d15-42e2-97e6-09df4604997e", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "500aa99d-776e-4418-b708-58a9075daa3b", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "49148098-bb4e-42d0-af89-946de3e6d394", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "94e3471e-744b-44cc-b987-31071a107fef", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "e3dbda3e-f81d-42fb-85d7-92256229c9c1", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "5bb3fb23-884b-4762-8033-481f3dc67746", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "25e5c231-49af-4302-8292-6756f90cf30e", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "ff5f0c7a-b90c-4cca-9fce-d72f28a1e8a5", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "e0e1175b-fe0f-41f3-af58-cd745c64704d", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "522747b7-1e9b-435e-9a4a-1a4b390fd153", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "0131fd23-816a-4fcd-9660-27c45022ec47", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "948a2a49-c334-42ee-8ad0-e92ee7a72fc6", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "991d0b52-a02e-4705-9754-4af10cbba1d9", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "8db31c92-e87d-444c-9309-0340768a794b", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "f39f5ab3-1a1f-425c-8670-a73c53b7ea1c", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "437fef8b-4c7a-463f-a144-85e66c7f4953", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "e3bbd096-a3eb-4fb2-a7af-ffcd5bfbfebf", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "e2e3b95f-8f87-475c-8338-13c08fef0b8e", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "02d06869-ddfe-4ad7-9da7-2be88d0c2112", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "92c76b47-b073-4ea2-bb35-3b764da48787", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "5b14f043-ca67-4b07-adf7-b5d9b2405566", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "cb5df08f-68c8-4dfd-9581-d3828d7b7f2b", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "e69d977c-7f1c-4e65-bc85-976f334e1f0c", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "22dfec6d-dcef-4928-8e91-a76ea60d2494", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "e1286902-46fa-45c5-b9ac-498058c09ec9", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "59adfc03-cca3-496d-91f8-262512429977", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "a56a72c7-c1b8-4db1-8ec1-b4a54e8b4057", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "e4e868a9-a1e7-4963-875c-fe48530460f3", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "5da8e6f2-a26e-448b-b017-33ac69ca80f7", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "c59d880d-7847-4525-990b-ab283257a166", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "614a69c9-4212-46bf-948e-d7affd2310e5", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "40c497af-80ea-4c54-a628-a57486c0f8ec", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "b23a12bd-3372-4542-a5e6-0f9bcdcb51dd", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "7844a2e7-6307-4e70-af10-fdcff29496e2", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "66e5a918-007f-4ef6-a514-b8043bcc6128", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "452b88e0-94cf-4243-b44e-94b16c936896", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "32aeb59b-d1f7-4660-9b98-f72ebe671864", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "751ad2cb-994b-40d2-b6ba-9d4f59112f12", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "1705dea1-fff5-4f39-985d-b2a70f5d2ea1", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "05dcbcdd-7288-4e17-94dc-bb9e099a2a20", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "f97c6247-15c6-403e-9a15-62113f9dc24a", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "3c4864ae-619e-479d-8138-c1489e7f10bb", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "5703221a-e4bf-4f4a-a5a0-747aa74d46b2", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "463a120d-ee95-476c-8329-c633b43ab1aa", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "98f19741-b0fe-4aff-ab8c-9a77af8e36ce", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "9820fbb5-07b7-41ce-b135-16e21b371c94", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "cab74e16-3229-4808-922a-743447d7da23", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "fac833de-2bb8-4f4a-a1dd-6136fbc288b1", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "5506a837-6ff5-4004-8c2c-673a8d93c510", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "6d7e8891-156b-4b23-848c-8ef75230cbbd", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "8eca3a7d-67f1-412d-9d3a-704c8218cee2", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "57d69572-96ae-4a29-97f5-0c1a491ed2a5", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "b55fd000-cd16-4976-b264-8df9e012df4e", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "d7e6574e-dae6-4e6f-8db0-370693adea27", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "ac66a331-f88f-4ec0-b08a-79612fde6b37", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "551caaec-e076-4794-9096-7b8f5176e9c3", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "415a6ab3-aa59-4e68-8993-64fd1a0715be", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "13bcdac2-f7f5-405d-b860-9ce88b423d80", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "2bdc88a5-faf4-4f07-8818-a95428defe3a", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "2c659838-791d-498e-a3fa-f0c8eb1b2559", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "ffa21ee7-98c7-4275-a28f-ab87350b6317", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "30a446dd-cb56-4055-bf82-6b3b06d47ee7", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "5fbc6d6e-8905-4ef4-92c7-b13c7fc1b33c", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "5c1ccd4f-d639-43d0-94b6-3baca6f8210d", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "0cf26327-ce69-4e4e-b1ad-efdc3ffd9195", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "7f2b78dc-2b1c-4912-b456-170ba3891464", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "722bf139-3585-4349-bd60-2108cdea9783", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "85f9f0a9-6b8e-4fba-a360-8d14931a7929", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "ffa34fcb-1a7d-45cd-95be-c29cd95e73da", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "70e83656-b4c8-4453-9d99-08989b2baf6e", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "712084da-4b68-47e0-acff-aafb48cc21db", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "ab9fcfa0-6a1c-4fcd-a0f8-73737ddfb027", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "fe25d73e-ecb7-4228-bfa5-b87ea5f1eb91", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "0bf66ea5-3dee-422b-b8f0-837033556d99", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "94f47ceb-f4b3-4e6c-9fb4-55c428507e75", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "05c46800-9101-4151-9b4b-3a0fe981e76e", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "af80a9d5-0e61-4a4a-a32c-6a22ca542ea5", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "a64e2f58-8fbc-4382-9ca9-845f32a7133f", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "f379d8e5-1741-4992-a46f-692f352d81e2", - "destination_type": "file" - }, - { - "source_id": "8918d1f2-e5f9-44a7-a8c4-f743758f2464", - "source_type": "sequencing_process", - "destination_id": "e99eed63-5794-4d8d-baf9-9c6888e91e6d", - "destination_type": "protocol" - } - ], - "describedBy": "https://schema.humancellatlas.org/bundle/1.0.0/links", - "schema_version": "1.0.0", - "schema_type": "link_bundle" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/2c7d06b8-658e-4c51-9de4-a768322f84c5.dss.hca.json b/test/indexer/data/2c7d06b8-658e-4c51-9de4-a768322f84c5.dss.hca.json deleted file mode 100644 index 69e1f1427e..0000000000 --- a/test/indexer/data/2c7d06b8-658e-4c51-9de4-a768322f84c5.dss.hca.json +++ /dev/null @@ -1,655 +0,0 @@ -{ - "manifest": { - "analysis_file/30038dc4-4de3-4fdb-abd3-a50ea36cb225": { - - "name": "GSM5177044_PD170_matrix.mtx.gz", - "uuid": "f524cda6-8e08-4bf4-9fec-536107bca35a", - "version": "2021-09-21T17:27:13.154000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 33226060, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_e2464476-c0b4-4a92-a5fe-96094905825c_8bd7e274-de04-48de-8adc-32ea86d528f8", - "crc32c": "8af9f820", - "sha1": "d8c21f549e687a39531f083f7ffae5f578345979", - "sha256": "6e13614e05e829d12a73df4d26f190a68ca2aa3579234c7e254ac21b290305f4", - "s3_etag": "d742c32bd01d51e075e3d70e189f315a" - } - }, - "metadata": { - "sequencing_protocol/c2f2fee0-c8dc-4511-9e4a-3db4ab6b2dce": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1", - "protocol_name": "sequencing_protocol_1", - "protocol_description": "Libraries were then pooled in groups of 4 and sequenced on 4 lanes on a NextSeq500 sequencer (Illumina) using 10X Genomics recommended reads configuration." - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0009173", - "ontology_label": "Illumina NextSeq 500" - }, - "paired_end": false, - "method": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "10x": { - "fastq_method": "Cellranger mkfastq", - "fastq_method_version": "Cellranger v2.0.0", - "pooled_channels": 4 - }, - "provenance": { - "document_id": "c2f2fee0-c8dc-4511-9e4a-3db4ab6b2dce", - "submission_date": "2021-09-21T17:26:50.755Z", - "update_date": "2021-09-21T17:27:40.148Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - }, - "enrichment_protocol/948945f9-1a3e-4be0-9119-960cc008bfa9": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_1", - "protocol_name": "enrichment_protocol_1", - "protocol_description": "Following tissue dissociation, cells were passed through a 70 \u03bcm filter (Falcon, Corning), washed, and counted with a Cellometer Auto 2000 (Nexcelom)." - }, - "method": { - "text": "cell size selection", - "ontology": "EFO:0009337", - "ontology_label": "cell size selection" - }, - "maximum_size": 70, - "provenance": { - "document_id": "948945f9-1a3e-4be0-9119-960cc008bfa9", - "submission_date": "2021-09-21T17:26:50.735Z", - "update_date": "2021-09-21T17:27:40.123Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - }, - "donor_organism/7ec2d69f-714f-450e-a687-73c1c0c98b6f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "PD170", - "biomaterial_name": "PD170", - "biomaterial_description": "Periodontitis, 38 year old Latinx, Caucasian, female", - "ncbi_taxon_id": [ - 9606 - ] - }, - "human_specific": { - "ethnicity": [ - { - "text": "Hispanic or Latin American", - "ontology": "HANCESTRO:0014", - "ontology_label": "Hispanic or Latin American" - }, - { - "text": "European", - "ontology": "HANCESTRO:0005", - "ontology_label": "European" - } - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "yes", - "organism_age": "38.0", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "development_stage": { - "text": "adult human stage", - "ontology": "HsapDv:0000087", - "ontology_label": "adult human stage" - }, - "diseases": [ - { - "text": "periodontitis", - "ontology": "MONDO:0002635", - "ontology_label": "periodontal disease" - } - ], - "provenance": { - "document_id": "7ec2d69f-714f-450e-a687-73c1c0c98b6f", - "submission_date": "2021-09-21T17:26:50.101Z", - "update_date": "2021-09-21T17:36:45.319Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "cell_suspension/809b90b1-e216-46e9-b4e3-0c06ded1c344": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SRX10375200", - "biomaterial_name": "GSM5177044", - "biomaterial_description": "Periodontitis cell suspension PD170", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN18350115" - }, - "cell_morphology": { - "cell_size": "70.0", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017", - "ontology_label": "micrometer" - } - }, - "growth_conditions": { - "growth_medium": "RPMI 1640" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "gingival epithelial cell", - "ontology": "CL:0002621", - "ontology_label": "gingival epithelial cell" - } - ], - "provenance": { - "document_id": "809b90b1-e216-46e9-b4e3-0c06ded1c344", - "submission_date": "2021-09-21T17:26:50.487Z", - "update_date": "2021-09-21T17:27:31.835Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "process/2c7d06b8-658e-4c51-9de4-a768322f84c5": { - "process_core": { - "process_id": "process_id_145" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "2c7d06b8-658e-4c51-9de4-a768322f84c5", - "submission_date": "2021-09-21T17:27:23.898Z", - "update_date": "2021-09-21T17:28:39.492Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/6f500f25-8ea3-46e6-a30b-c11bb991e3a2": { - "process_core": { - "process_id": "process_id_7" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "6f500f25-8ea3-46e6-a30b-c11bb991e3a2", - "submission_date": "2021-09-21T17:27:13.278Z", - "update_date": "2021-09-21T17:27:51.212Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/bb7cdb75-8a5a-414b-a40b-d20dcbfa9b15": { - "insdc_experiment": { - "insdc_experiment_accession": "SRX10375200" - }, - "process_core": { - "process_id": "process_id_36" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "bb7cdb75-8a5a-414b-a40b-d20dcbfa9b15", - "submission_date": "2021-09-21T17:27:13.953Z", - "update_date": "2021-09-21T17:27:52.878Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "specimen_from_organism/3c219f11-db59-48b9-987a-a827400b9c7a": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SAMN18350115", - "biomaterial_name": "PD170_specimen", - "biomaterial_description": "PD170,Periodontitis,Gingiva", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMN18350115", - "insdc_sample_accession": "SRS8489806" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "mouth mucosa", - "ontology": "UBERON:0003729", - "ontology_label": "mouth mucosa" - }, - "organ_parts": [ - { - "text": "gingiva", - "ontology": "UBERON:0001828", - "ontology_label": "gingiva" - } - ], - "diseases": [ - { - "text": "periodontitis", - "ontology": "MONDO:0002635", - "ontology_label": "periodontal disease" - } - ], - "provenance": { - "document_id": "3c219f11-db59-48b9-987a-a827400b9c7a", - "submission_date": "2021-09-21T17:26:50.176Z", - "update_date": "2021-09-21T17:27:26.895Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "analysis_protocol/d42d3386-e7b7-4a26-8477-8ba867d10e2e": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/9.2.0/analysis_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "analysis_protocol_1", - "protocol_name": "analysis_protocol_1", - "protocol_description": "Read processing was performed using the 10X Genomics workflow. Briefly, the Cell Ranger Single-Cell Software Suite v3.0.1 was used for demultiplexing, barcode assignment, and unique molecular identifier (UMI) quantification (https://software.10xgenomics.com/single-cell/overview/welcome). The reads were aligned to the hg38 human reference genome (Genome Reference Consortium Human Build 38) using a pre-built annotation package obtained from the 10X Genomics website (https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/advanced/references). All 4 lanes per sample were merged using the \u2018cellranger mkfastq\u2019 function and processed using the \u2018cellranger count\u2019 function." - }, - "type": { - "text": "data transformation", - "ontology": "OBI:0200000", - "ontology_label": "data transformation" - }, - "computational_method": "Cellranger v3.0.1", - "matrix": { - "derivation_process": [ - "alignment" - ] - }, - "provenance": { - "document_id": "d42d3386-e7b7-4a26-8477-8ba867d10e2e", - "submission_date": "2021-09-21T17:26:50.764Z", - "update_date": "2021-09-21T17:27:40.160Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "collection_protocol/5a1041e3-ef49-45c3-a14b-636d22aae731": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "collection_protocol_1", - "protocol_name": "collection_protocol_1", - "protocol_description": "During study visits participants received detailed intraoral soft tissue and periodontal examination, which included full mouth probing depth and clinical attachment loss measurements (PD, measures of bone destruction) and bleeding on probing (BOP, measure of mucosal inflammation). Standardized 4mm long x 2mm wide gingival collar biopsies and/or 4mm buccal punch biopsies were obtained under local anesthesia. Health group buccal and gingival biopsies were obtained from individuals that met criteria for oral health and in areas without BOP and with PD < 3mm. Biopsies of periodontitis patients were obtained from areas of severe inflammation and bone loss (BOP positive and PD > 5mm). Each biopsy was analyzed separately and not pooled. Biopsies were placed into RPMI medium to be processed into single cell suspensions." - }, - "method": { - "text": "surgical resection", - "ontology": "EFO:0009744", - "ontology_label": "surgical resection" - }, - "provenance": { - "document_id": "5a1041e3-ef49-45c3-a14b-636d22aae731", - "submission_date": "2021-09-21T17:26:50.716Z", - "update_date": "2021-09-21T17:27:40.097Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "project/50151324-f3ed-4358-98af-ec352a940a61": { - "describedBy": "https://schema.humancellatlas.org/type/project/15.0.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "oralMucosaAtlas", - "project_title": "Single-cell atlas of human oral mucosa reveals a stromal-neutrophil axis in tissue immunity regulation", - "project_description": "The oral mucosa remains an understudied barrier tissue rich in exposure to antigens, commensals and pathogens. Moreover, it is the tissue where one of the most prevalent human microbe-triggered inflammatory diseases, periodontitis, occurs. To understand this complex environment at the cellular level, we assemble herein a human single-cell transcriptome atlas of oral mucosal tissues in health and periodontitis. Our work reveals transcriptional diversity of stromal and immune cell populations, predicts intercellular communication and uncovers an altered immune responsiveness of stromal cells participating in tissue homeostasis and disease at the gingival mucosa. In health, we define unique populations of CXCL1,2,8- expressing epithelial cells and fibroblasts mediating immune homeostasis primarily through the recruitment of neutrophils. In disease, we further observe stromal, particularly fibroblast hyper-responsiveness linked to recruitment of leukocytes and neutrophil populations. Our work suggests a stromal-neutrophil axis as a key regulator of mucosal immunity. Pursuant to these findings, most Mendelian forms of periodontitis were shown to be linked to genetic mutations in neutrophil-expressed genes. Moreover, we document previously unappreciated expression of known pattern- and damage- recognition receptors on stromal cell populations in the setting of periodontitis, suggesting avenues for triggering of stromal responsiveness. This comprehensive atlas offers an important reference for in-depth understanding of oral mucosal homeostasis and inflammation and reveals unique stromal\u2013immune interactions implicated in tissue immunity. Overall design: Examination of human oral mucosa including healthy and diseased gingival mucosa and healthy buccal mucosa." - }, - "insdc_project_accessions": [ - "SRP300271" - ], - "geo_series_accessions": [ - "GSE164241" - ], - "insdc_study_accessions": [ - "PRJNA689610" - ], - "estimated_cell_count": 88000, - "contributors": [ - { - "name": "Niki,,Moutsopoulos", - "email": "nmoutsopoulos@dir.nidr.nih.gov", - "institution": "National Institutes of Health", - "laboratory": "National Institute of Dental and Craniofacial Research,", - "address": "30 convent Dr, Bethesda, MD 20892", - "country": "USA", - "corresponding_contributor": true, - "project_role": { - "text": "principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Drake,W,Williams", - "institution": "National Institutes of Health", - "laboratory": "National Institute of Dental and Craniofacial Research,", - "address": "30 convent Dr, Bethesda, MD 20892", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Tiana,,Pereira", - "email": "tmpereir@ucsc.edu", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "data wrangling intern", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - }, - "orcid_id": "0000-0002-9499-8646" - } - ], - "publications": [ - { - "authors": [ - "Williams DW", - "Greenwell-Wild T", - "Brenchley L", - "Dutzan N", - "Overmiller A", - "Sawaya AP", - "Webb S", - "Martin D", - "Hajishengallis G", - "Divaris K", - "Morasso M", - "Haniffa M", - "Moutsopoulos NM" - ], - "title": "Human oral mucosa cell atlas reveals a stromal-neutrophil axis regulating tissue immunity", - "doi": "10.1016/j.cell.2021.05.013", - "pmid": 34129837, - "url": "https://pubmed.ncbi.nlm.nih.gov/34129837/", - "official_hca_publication": false - } - ], - "funders": [ - { - "grant_title": "Genome-Wide Association Study of Early Childhood Caries", - "grant_id": "DE025046", - "organization": "NIH/NIDCR" - }, - { - "grant_id": "DE029436", - "organization": "NIH/NIDCR" - }, - { - "grant_title": "Aging and dysfunction of progenitor niches: Role of Del-1", - "grant_id": "DE028561", - "organization": "NIH/NIDCR" - }, - { - "grant_title": "FONDECYT", - "grant_id": "11180389.0", - "organization": "National Agency of Research and Development (ANID)" - }, - { - "grant_id": "WT107931/Z/15/Z", - "organization": "Wellcome" - }, - { - "grant_id": "ZIC DC000086", - "organization": "NIDCD Division of Intramural Research/NIH" - }, - { - "grant_id": "ZIC DE000729-09", - "organization": "NIDCR Combined Technical Research Core" - } - ], - "hca_bionetworks": [ - { - "name": "Kidney" - }, - { - "name": "Skin", - "atlas_project": true - }, - { - "name": "Lung", - "atlas_project": false, - "hca_tissue_atlas": "Lung" - }, - { - "name": "Eye", - "atlas_project": false, - "hca_tissue_atlas": "Retina", - "hca_tissue_atlas_version": "v1.0" - }, - { - "name": "Immune", - "atlas_project": false, - "hca_tissue_atlas": "Blood", - "hca_tissue_atlas_version": "v1.0", - "schema_version": "1.0.1" - } - ], - "provenance": { - "document_id": "50151324-f3ed-4358-98af-ec352a940a61", - "submission_date": "2021-09-21T17:26:49.830Z", - "update_date": "2021-09-21T17:27:24.739Z", - "schema_major_version": 15, - "schema_minor_version": 0 - } - }, - "dissociation_protocol/c44dab69-861e-45f2-abbf-f785a552b10a": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "protocol_name": "dissociation_protocol_1", - "protocol_description": "To prepare single cell suspensions biopsies were minced and digested using Collagenase II (Worthington Biochemical Corporation) and DNase (Sigma) and processed through the gentleMACS Dissociator (Miltenyl) utilizing a nasal mucosa protocol for processing (Derycke et al., 2012). Following tissue dissociation, cells were passed through a 70 \u03bcm filter (Falcon, Corning), washed, and counted with a Cellometer Auto 2000 (Nexcelom).", - "publication_doi": "10.1016/j.jcf.2011.11.007" - }, - "method": { - "text": "enzymatic dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "provenance": { - "document_id": "c44dab69-861e-45f2-abbf-f785a552b10a", - "submission_date": "2021-09-21T17:26:50.725Z", - "update_date": "2021-09-21T17:27:40.109Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "library_preparation_protocol/56e28cda-b5a6-40e5-801e-221a7c49e47f": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_protocol_1", - "protocol_name": "library_protocol_1", - "protocol_description": "Single-cell suspensions were loaded onto a 10X Chromium Controller (10X Genomics) and library preparation was performed according to the manufacturer\u2019s instructions for the 10X Chromium Next GEM Single Cell Library kit v3 (10X Genomics). Libraries were then pooled in groups of 4." - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_method": { - "text": "10x 3' v3", - "ontology": "EFO:0009922", - "ontology_label": "10x 3' V3 sequencing" - }, - "library_construction_kit": { - "retail_name": "10X Chromium Next GEM Single Cell Library kit v3", - "manufacturer": "10X Genomics" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "first", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 16, - "barcode_length": 12 - }, - "cdna_library_amplification_method": { - "text": "PCR", - "ontology": "OBI:0000415", - "ontology_label": "polymerase chain reaction" - }, - "provenance": { - "document_id": "56e28cda-b5a6-40e5-801e-221a7c49e47f", - "submission_date": "2021-09-21T17:26:50.745Z", - "update_date": "2021-09-21T17:27:40.135Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "analysis_file/30038dc4-4de3-4fdb-abd3-a50ea36cb225": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.3.0/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "GSM5177044_PD170_matrix.mtx.gz", - "format": "mtx.gz", - "file_source": "GEO", - "content_description": [ - { - "text": "Count matrix", - "ontology": "data:3917", - "ontology_label": "Count matrix" - } - ] - }, - "provenance": { - "document_id": "30038dc4-4de3-4fdb-abd3-a50ea36cb225", - "submission_date": "2021-09-21T17:27:13.154Z", - "update_date": "2021-09-21T20:00:34.448Z", - "schema_major_version": 6, - "schema_minor_version": 3 - } - } - }, - "links": { - "links": [ - { - "link_type": "process_link", - "process_id": "2c7d06b8-658e-4c51-9de4-a768322f84c5", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "809b90b1-e216-46e9-b4e3-0c06ded1c344" - } - ], - "outputs": [ - { - "output_type": "analysis_file", - "output_id": "30038dc4-4de3-4fdb-abd3-a50ea36cb225" - } - ], - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "d42d3386-e7b7-4a26-8477-8ba867d10e2e" - }, - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "56e28cda-b5a6-40e5-801e-221a7c49e47f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "c2f2fee0-c8dc-4511-9e4a-3db4ab6b2dce" - } - ] - }, - { - "link_type": "process_link", - "process_id": "bb7cdb75-8a5a-414b-a40b-d20dcbfa9b15", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "3c219f11-db59-48b9-987a-a827400b9c7a" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "809b90b1-e216-46e9-b4e3-0c06ded1c344" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "c44dab69-861e-45f2-abbf-f785a552b10a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "948945f9-1a3e-4be0-9119-960cc008bfa9" - } - ] - }, - { - "link_type": "process_link", - "process_id": "6f500f25-8ea3-46e6-a30b-c11bb991e3a2", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "7ec2d69f-714f-450e-a687-73c1c0c98b6f" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "3c219f11-db59-48b9-987a-a827400b9c7a" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "5a1041e3-ef49-45c3-a14b-636d22aae731" - } - ] - } - ], - "describedBy": "https://schema.humancellatlas.org/system/3.0.0/links", - "schema_version": "3.0.0", - "schema_type": "links" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/3ac62c33-93e1-56b4-b857-59497f5d942d.dss.hca.json b/test/indexer/data/3ac62c33-93e1-56b4-b857-59497f5d942d.dss.hca.json deleted file mode 100644 index a1a4fece10..0000000000 --- a/test/indexer/data/3ac62c33-93e1-56b4-b857-59497f5d942d.dss.hca.json +++ /dev/null @@ -1,436 +0,0 @@ -{ - "manifest": { - "image_file/b29a331e-2d7b-507f-8e47-d6151bfeeb21": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "3c9d7a23", - "indexed": false, - "name": "V10U24-112_F78-FTIL-0-FO-4_B1.ndpi", - "s3_etag": "46337bd3bff47ed01eeab42a0fc1e6c1", - "sha1": "cf35f831a91913ee4ce3c332cfa742b7324c130a", - "sha256": "32877a18e11c353d5d88d5b4703fd79b3b5abef959039fdef396eb08484b46d5", - "size": 21, - "uuid": "f478eb29-dd24-5e66-ad65-37419a2b2a10", - "version": "2021-01-01T00:00:00.000000Z" - } - }, - "metadata": { - "project/90bf705c-d891-5ce2-aa54-094488b445c6": { - "array_express_accessions": [ - "E-MTAB-10026" - ], - "contributors": [ - { - "corresponding_contributor": true, - "email": "m.a.haniffa@ncl.ac.uk", - "institution": "Newcastle University", - "name": "Muzlifah,,Hannifa", - "project_role": { - "text": "principal investigator" - } - } - ], - "dbgap_accessions": [ - "phs001997.v1.p1", - "phs001836" - ], - "describedBy": "https://schema.staging.data.humancellatlas.org/type/project/17.0.0/project", - "ega_accessions": [ - "EGAS00000000001", - "EGAD00000000002" - ], - "estimated_cell_count": 10000, - "funders": [ - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome Human Cell Atlas Strategic Science Support" - }, - { - "grant_id": "WT107931/Z/15/Z", - "organization": "Wellcome" - }, - { - "grant_id": "206328/Z/17/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S036113/1", - "organization": "MRC" - }, - { - "grant_id": "WT206194", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S0358421/1", - "organization": "MRC" - }, - { - "grant_id": "C9545/A29580", - "organization": "CRUK" - }, - { - "grant_id": "21777", - "organization": "Versus Arthiritis Cure Challenge Research Grant" - }, - { - "grant_id": "RP-2017-08-ST2-002", - "organization": "NIHR" - }, - { - "grant_id": "21355/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "2017-174169", - "organization": "CZI" - }, - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/5005579/1", - "organization": "UK Regenerative Medicine Platform" - }, - { - "grant_id": "CL-2017-01-004", - "organization": "NIHR" - }, - { - "grant_id": "ME 5209/1-1", - "organization": "DFG Research Fellowship" - }, - { - "grant_id": "21115", - "organization": "Wellcome" - } - ], - "project_core": { - "project_description": "The COVID-19 pandemic, caused by SARS coronavirus 2 (SARS-CoV-2), has resulted in excess morbidity and mortality as well as economic decline. To characterise the systemic host immune response to SARS-CoV-2, we performed single-cell RNA-sequencing coupled with analysis of cell surface proteins, providing molecular profiling of over 800,000 peripheral blood mononuclear cells from a cohort of 130 patients with COVID-19. Our cohort, from three UK centres, spans the spectrum of clinical presentations and disease severities ranging from asymptomatic to critical. Three control groups were included: healthy volunteers, patients suffering from a non-COVID-19 severe respiratory illness and healthy individuals administered with intravenous lipopolysaccharide to model an acute inflammatory response. Full single cell transcriptomes coupled with quantification of 188 cell surface proteins, and T and B lymphocyte antigen receptor repertoires have provided several insights into COVID-19: 1. a new non-classical monocyte state that sequesters platelets and replenishes the alveolar macrophage pool; 2. platelet activation accompanied by early priming towards megakaryopoiesis in immature haematopoietic stem/progenitor cells and expansion of megakaryocyte-primed progenitors; 3. increased clonally expanded CD8+ effector:effector memory T cells, and proliferating CD4+ and CD8+ T cells in patients with more severe disease; and 4. relative increase of IgA plasmablasts in asymptomatic stages that switches to expansion of IgG plasmablasts and plasma cells, accompanied with higher incidence of BCR sharing, as disease severity increases. All data and analysis results are available for interrogation and data mining through an intuitive web portal. Together, these data detail the cellular processes present in peripheral blood during an acute immune response to COVID-19, and serve as a template for multi-omic single cell data integration across multiple centers to rapidly build powerful resources to help combat diseases such as COVID-19.", - "project_short_name": "Covid19PBMC", - "project_title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres" - }, - "provenance": { - "document_id": "90bf705c-d891-5ce2-aa54-094488b445c6", - "schema_major_version": 17, - "schema_minor_version": 0, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "publications": [ - { - "authors": [ - "Muzlifa Hannifa" - ], - "doi": "10.1101/2021.01.13.21249725", - "official_hca_publication": true, - "pmid": 33879890, - "title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres", - "url": "https://www.medrxiv.org/content/10.1101/2021.01.13.21249725v1.full" - } - ], - "schema_type": "project" - }, - "process/3ac62c33-93e1-56b4-b857-59497f5d942d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "3ac62c33-93e1-56b4-b857-59497f5d942d", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/ae8529dc-3bc9-5061-828a-3c5dfacded64": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "ae8529dc-3bc9-5061-828a-3c5dfacded64", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/c6b932ff-69f1-58b1-a6e6-30319f04541b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "c6b932ff-69f1-58b1-a6e6-30319f04541b", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "imaged_specimen/0bf91a05-85df-5d7d-bcc0-a625c5921de2": { - "biomaterial_core": { - "biomaterial_id": "AP3_imagedspecimen", - "biomaterial_name": "AP3_imagedspecimen", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/3.3.0/imaged_specimen", - "provenance": { - "document_id": "0bf91a05-85df-5d7d-bcc0-a625c5921de2", - "schema_major_version": 3, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "slice_thickness": 10.0 - }, - "image_file/b29a331e-2d7b-507f-8e47-d6151bfeeb21": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/2.5.0/image_file", - "file_core": { - "content_description": [ - { - "ontology": "data:2968", - "ontology_label": "Image", - "text": "image" - } - ], - "file_name": "V10U24-112_F78-FTIL-0-FO-4_B1.ndpi", - "file_source": "ArrayExpress", - "format": "ndpi" - }, - "provenance": { - "document_id": "b29a331e-2d7b-507f-8e47-d6151bfeeb21", - "schema_major_version": 2, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "file" - }, - "imaging_protocol/50150415-898c-5dff-826e-55f9cb937b93": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/imaging/11.4.0/imaging_protocol", - "magnification": "40x", - "microscopy_technique": { - "ontology": "FBbi:00000246", - "ontology_label": "fluorescence microscopy", - "text": "fluorescence microscopy" - }, - "numerical_aperture": 0.75, - "overlapping_tiles": "no", - "pixel_size": 230.0, - "protocol_core": { - "protocol_description": "All images for this process were scanned x40 on Hamamatsu NanoZoomer S60.", - "protocol_id": "VisiumImaging", - "protocol_name": "VisiumImagingProtocol" - }, - "provenance": { - "document_id": "50150415-898c-5dff-826e-55f9cb937b93", - "schema_major_version": 11, - "schema_minor_version": 4, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - }, - "specimen_from_organism/9a0bb729-552a-5f6e-9ed6-1f988c259531": { - "biomaterial_core": { - "biomaterial_id": "AP3_specimen", - "biomaterial_name": "AP2_specimen", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/10.5.0/specimen_from_organism", - "diseases": [ - { - "ontology": "MONDO:0100096", - "ontology_label": "COVID-19", - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "organ": { - "ontology": "UBERON:0000178", - "ontology_label": "blood", - "text": "blood" - }, - "provenance": { - "document_id": "9a0bb729-552a-5f6e-9ed6-1f988c259531", - "schema_major_version": 10, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial" - }, - "imaging_preparation_protocol/7cd840db-f395-5a61-bd17-72c2b2319c23": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/imaging/2.3.0/imaging_preparation_protocol", - "protocol_core": { - "protocol_description": "All tissues were sectioned using the Leica CX3050S cryostat and were cut at 10um. Tissue optimization was performed to obtain permeabilization time for fetal tissue (12 min).", - "protocol_id": "HumanVisiumSpatialLibraryPrep" - }, - "provenance": { - "document_id": "7cd840db-f395-5a61-bd17-72c2b2319c23", - "schema_major_version": 2, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - }, - "donor_organism/2d7b50d8-cd06-5408-9fde-1faed01c9ab2": { - "biomaterial_core": { - "biomaterial_id": "AP3", - "biomaterial_name": "Sanger_AP3", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/15.6.1/donor_organism", - "development_stage": { - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage", - "text": "human adult stage" - }, - "diseases": [ - { - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "is_living": "yes", - "organism_age": "66", - "organism_age_unit": { - "ontology": "UO:0000036", - "ontology_label": "year", - "text": "year" - }, - "provenance": { - "document_id": "2d7b50d8-cd06-5408-9fde-1faed01c9ab2", - "schema_major_version": 15, - "schema_minor_version": 6, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "sex": "unknown" - }, - "collection_protocol/c5752f73-3511-55e1-95af-040ab3924bce": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "method": { - "ontology": "EFO:0009121", - "ontology_label": "blood draw", - "text": "blood draw" - }, - "protocol_core": { - "protocol_description": "Subjects 18 years and older were included from two large hospital sites in London, United Kingdom, namely University College London Hospitals NHS Foundation Trust and Royal Free London NHS Foundation Trust during the height of the pandemic in the United Kingdom (April to July 2020). Ethical approval was given through the Living Airway Biobank, administered through UCL Great Ormond Street Institute of Child Health (REC reference: 19/NW/0171, IRAS project ID 261511), as well as by the local R&D departments at both hospitals. At daily virtual COVID-19 co-ordination meetings suitable patients were chosen from a list of newly diagnosed and admitted patients within the preceding 24 h (based on a positive nasopharyngeal swab for SARS-CoV-2). Patients with typical clinical and radiological COVID-19 features but with a negative screening test for SARS-CoV-2 were excluded. Other excluding criteria included active haematological malignancy or cancer, known immunodeficiencies, sepsis from any cause and blood transfusion within 4 weeks. Maximal severity of COVID-19 was determined retrospectively by determining the presence of symptoms, the need of oxygen supplementation and the level of respiratory support. Peripheral blood sampling was performed prior to inclusion to any pharmacological interventional trials.\n\nSamples were collected and transferred to a Category Level 3 facility at University College London and processed within 2 h of sample collection. Peripheral blood was centrifuged after adding Ficoll Paque Plus and PBMCs, serum and neutrophils separated, collected and frozen for later processing.", - "protocol_id": "UCL_Collection" - }, - "provenance": { - "document_id": "c5752f73-3511-55e1-95af-040ab3924bce", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - } - }, - "links": { - "describedBy": "https://schema.staging.data.humancellatlas.org/system/3.1.0/links", - "links": [ - { - "inputs": [ - { - "input_id": "0bf91a05-85df-5d7d-bcc0-a625c5921de2", - "input_type": "imaged_specimen" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "b29a331e-2d7b-507f-8e47-d6151bfeeb21", - "output_type": "image_file" - } - ], - "process_id": "3ac62c33-93e1-56b4-b857-59497f5d942d", - "process_type": "process", - "protocols": [ - { - "protocol_id": "50150415-898c-5dff-826e-55f9cb937b93", - "protocol_type": "imaging_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "9a0bb729-552a-5f6e-9ed6-1f988c259531", - "input_type": "specimen_from_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "0bf91a05-85df-5d7d-bcc0-a625c5921de2", - "output_type": "imaged_specimen" - } - ], - "process_id": "ae8529dc-3bc9-5061-828a-3c5dfacded64", - "process_type": "process", - "protocols": [ - { - "protocol_id": "7cd840db-f395-5a61-bd17-72c2b2319c23", - "protocol_type": "imaging_preparation_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "2d7b50d8-cd06-5408-9fde-1faed01c9ab2", - "input_type": "donor_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "9a0bb729-552a-5f6e-9ed6-1f988c259531", - "output_type": "specimen_from_organism" - } - ], - "process_id": "c6b932ff-69f1-58b1-a6e6-30319f04541b", - "process_type": "process", - "protocols": [ - { - "protocol_id": "c5752f73-3511-55e1-95af-040ab3924bce", - "protocol_type": "collection_protocol" - } - ] - } - ], - "schema_type": "links", - "schema_version": "3.1.0" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/3db604da-940e-49b1-9bcc-25699a55b295.dss.hca.json b/test/indexer/data/3db604da-940e-49b1-9bcc-25699a55b295.dss.hca.json deleted file mode 100644 index 9d3d586226..0000000000 --- a/test/indexer/data/3db604da-940e-49b1-9bcc-25699a55b295.dss.hca.json +++ /dev/null @@ -1,1229 +0,0 @@ -{ - "manifest": { - "analysis_file/2e072336-b906-4c9b-a475-ca03f51c8452": { - - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "ce4f092f", - "indexed": false, - "name": "barcodes.tsv", - "s3_etag": "2efbd14bdb0d08278291f3bbb6e06d17", - "sha1": "df7a8ee1be9c56990d0a8b65b1b12a3f7dac08cb", - "sha256": "c659bc3d4320afd0024b1dcc0404a55f45a3e645f6c891fddd1d5f434a9c5cfb", - "size": 81263, - "uuid": "ad2c5318-622f-460c-87b2-56409bd1e3c5", - "version": "2018-11-02T18:40:10.799791Z" - }, - "analysis_file/2f7c43a5-30e5-443b-951b-b2b5d32bea06": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7571fac9", - "indexed": false, - "name": "genes.tsv", - "s3_etag": "fa0cca9a56bcfc1ef745fdb696492040", - "sha1": "dd08d5183735a7c31e823a1402c422cf2735fba8", - "sha256": "4ce78cc6539d6bff305c602c6c341cf2a3aa167ec804b25c137ef2547103b250", - "size": 892197, - "uuid": "e53b2e50-be34-4c63-888f-2b71c12f01f9", - "version": "2018-11-02T18:40:11.000085Z" - }, - "analysis_file/052ee573-ff99-41b8-ad19-eea77a9cce7f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "62f19998", - "indexed": false, - "name": "matrix.mtx", - "s3_etag": "3c8eed7af9be50e18a970cdbf3f84b0b", - "sha1": "3072e247a56754421298667afcead235749b319a", - "sha256": "a8417f0e710ba619dc80d24b0579d4ef936a54917cc76ade38ad8dcbb69ebf6c", - "size": 5122376, - "uuid": "2d8a1cf2-be42-4973-bce0-9d4fc2c76d5e", - "version": "2018-11-02T18:40:11.266854Z" - }, - "analysis_file/d2cc22c0-6281-4f31-9ca1-b6ab6f27d2b1": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "e9fca42f", - "indexed": false, - "name": "filtered_gene_bc_matrices_h5.h5", - "s3_etag": "9280a3e35c5a8bf398354b44314b238e", - "sha1": "75b97b0fd52c676771f72a07b958c57e9cd65b1f", - "sha256": "fad1334958b19a1b213d856b61a73c547107236985a747fa468566fbe6126eb1", - "size": 1128519, - "uuid": "eedb5bdd-ebe4-4c89-8b53-edfcafc32f23", - "version": "2018-11-02T18:40:11.459826Z" - }, - "analysis_file/69559434-0da7-4bdd-a8f4-8be55cdcf45e": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "d2b3ada1", - "indexed": false, - "name": "metrics_summary.csv", - "s3_etag": "f304bc0aabc1108abf0c12c3c7b7c861", - "sha1": "942882e956b0a4237ea7dd77751472bc40ce32c7", - "sha256": "17073688d5a9ab027b4830358b5121c55e10b4406a6bbb65d457bd7df56fd5c5", - "size": 668, - "uuid": "d430490a-35aa-498f-a5f3-19613a2a464c", - "version": "2018-11-02T18:40:11.948974Z" - }, - "analysis_file/a1007d9b-6636-4909-9918-4aa85f99e9e7": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "2447af7d", - "indexed": false, - "name": "molecule_info.h5", - "s3_etag": "be6f2298de945c59ac0e0ecd4e5ac8ce", - "sha1": "312656fd9f4e9efa59ce11895d24618ab9e92f1a", - "sha256": "27019aec34156aa287af61c98fc023b878def01c5440f07240a8df75560f9c88", - "size": 4712924, - "uuid": "fb1e7b89-8c5b-4141-b574-afe59ce86208", - "version": "2018-11-02T18:40:12.199330Z" - }, - "analysis_file/265c105c-803e-4468-a67d-8ba10011fcf1": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "3e6120c7", - "indexed": false, - "name": "possorted_genome_bam.bam", - "s3_etag": "1bd0a34dd39193650d4f35cb8978438b-2", - "sha1": "ea1b7e94749613c0a405a532bd5de8b2fb81ae7d", - "sha256": "0fbaa0f7b5fbebe18ae5f7e289dc7ebeeb1c19c17162265d159102bd18f92147", - "size": 108957421, - "uuid": "692ccec3-2a60-4be9-aa2b-e09d15db1162", - "version": "2018-11-02T18:40:12.584705Z" - }, - "analysis_file/eb4073be-f278-47f3-9f41-8a6e7284b49d": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "6dfbc945", - "indexed": false, - "name": "possorted_genome_bam.bam.bai", - "s3_etag": "2b8ab39131baa4247233d7a0df63671b", - "sha1": "a9a3eff6368c5717a675d0b8c23ce8dea263238a", - "sha256": "d082dd50cb1f259cad80c2300a9e40421058038faf4916507a7206c1ef519481", - "size": 2512152, - "uuid": "eac33ee2-6e00-4ca9-82a5-731514904708", - "version": "2018-11-02T18:40:12.784937Z" - }, - "analysis_file/487ccf21-6270-4880-b93d-6c80a7e03ca3": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "922282c3", - "indexed": false, - "name": "raw_gene_bc_matrices_h5.h5", - "s3_etag": "7dd98bdb2f8937ce04895fd000841fd1", - "sha1": "5da52e6a18a318859137a893804f98b594fdd061", - "sha256": "d276d69d74140f71dbae1caa8f67e891ae054f56624cf19ae8b1884393978bf0", - "size": 2557925, - "uuid": "e7feb139-89a3-4df0-b55c-3a55ea9b64de", - "version": "2018-11-02T18:40:13.146629Z" - }, - "analysis_file/2046e0bc-be29-4933-8f1a-094aa2bf3172": { - "content-type": "text/html; dcp-type=data", - "crc32c": "38b8d336", - "indexed": false, - "name": "web_summary.html", - "s3_etag": "71fb7f0e2be3ba22ec4ca9490def5728", - "sha1": "1e300232087fb9f23ea551356992449bfdde4ffc", - "sha256": "3fb802d178187e0f1fb1f0765bb53d319455c5e7cb01ed351feb5338725bbb22", - "size": 2646661, - "uuid": "e7f1fd99-0fa8-485f-93fc-a20363e78862", - "version": "2018-11-02T18:40:13.548803Z" - }, - "analysis_file/f3049150-14c7-4dae-a76c-3a1af9e951a1": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7c54ea3d", - "indexed": false, - "name": "raw_barcodes.tsv", - "s3_etag": "f010059d7160aac2dad1805e1496bf71", - "sha1": "131a9a81a9666418c503e65828a9a0ac460530ca", - "sha256": "e28353c088bf3b4d660220377a5f5fcc64839fb9e307cea47afe4e23fce2edc2", - "size": 14008320, - "uuid": "d836afba-f88f-4892-9ab7-b3bc2b6b274f", - "version": "2018-11-02T18:40:14.848102Z" - }, - "analysis_file/79dc63a1-8114-495f-80cb-b0c0003d1f5b": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7571fac9", - "indexed": false, - "name": "raw_genes.tsv", - "s3_etag": "fa0cca9a56bcfc1ef745fdb696492040", - "sha1": "dd08d5183735a7c31e823a1402c422cf2735fba8", - "sha256": "4ce78cc6539d6bff305c602c6c341cf2a3aa167ec804b25c137ef2547103b250", - "size": 892197, - "uuid": "ee93b4c0-ef0c-4a93-af64-39b55479a947", - "version": "2018-11-02T18:40:15.020102Z" - }, - "analysis_file/2097f789-3a94-44f0-adc0-b3e76233b5dc": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "275878e7", - "indexed": false, - "name": "raw_matrix.mtx", - "s3_etag": "f9ec11daeddc0d41c024e45a86377ec7", - "sha1": "34b9cdb38e3fce8713a1296053f29cde4573ba18", - "sha256": "1513efcd106b5590a5796ed26704d5d7a966ff7489fe4b14021e1409573ee512", - "size": 6636338, - "uuid": "02e0416b-3bee-44f7-a85d-590a10f5ad03", - "version": "2018-11-02T18:40:15.177006Z" - }, - "sequence_file/6f725a94-5c81-45e5-8d16-96520aa99703": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "0dd4606e", - "indexed": false, - "name": "pbmc4k_S1_L001_R1_001.fastq.gz", - "s3_etag": "f0f87c94d72e9be7df9846282c570115", - "sha1": "9dd599a809f883ae3ff7a016b8609f067875e2d4", - "sha256": "809bae8b5525bf7c3185d732c19bf6f6a7f1447585d3446faefcc549e2ac553f", - "size": 20753596, - "uuid": "41ceb219-bc6f-44fc-a5e7-e078dbeb3885", - "version": "2018-11-02T17:42:16.609368Z" - }, - "sequence_file/2db43e94-5208-405e-bc2a-ffade59b94c0": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "3106c234", - "indexed": false, - "name": "pbmc4k_S1_L001_R2_001.fastq.gz", - "s3_etag": "dc473e49e6e755ffa7c1da55468e4de5", - "sha1": "b03070f93f0ca1646c9daa5643b44e5735d3fbc3", - "sha256": "a797b7c7becae48744a9bcf2712fb82ff368983ebb4e33fa362381fe36f6f4ff", - "size": 62275373, - "uuid": "7033153b-f522-4fca-9c48-7cbdeaf0ef36", - "version": "2018-11-02T17:42:16.882358Z" - }, - "sequence_file/62d33b9a-d413-45d0-b8c7-c3135922b4b1": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "edc27e7c", - "indexed": false, - "name": "pbmc4k_S1_L001_I1_001.fastq.gz", - "s3_etag": "b54f3d4f74c40c8ae514fffc5431bf23", - "sha1": "e65037fbcaccb52f824bbaedff9aa6df2f93c777", - "sha256": "44e51cbc4d6ec81d74f5b6dd26f77b4a2432689b9beb38dc018fb7c58d9d6ade", - "size": 6954894, - "uuid": "b867ddee-c11d-4c61-9bd6-dbe60378303f", - "version": "2018-11-02T17:42:17.032860Z" - } - }, - "metadata": { - "cell_suspension/74bc8f6d-ce89-4128-bb4e-f0d527e84e83": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Q4_DEMO-cellsus_SAMN02797092", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "DRB1 0401 protective allele", - "biosd_biomaterial": "SAMN00000000", - "insdc_biomaterial": "SRS0000000" - }, - "cell_morphology": { - "cell_morphology": "adherent cells, form single layer colonies", - "cell_size": "20-30", - "cell_size_unit": { - "text": "nm", - "ontology": "UO:0000018", - "ontology_label": "nanometer" - }, - "percent_cell_viability": 85.3, - "cell_viability_method": "Fluorescein diacetate hydrolysis assay", - "cell_viability_result": "pass", - "percent_necrosis": 10 - }, - "growth_conditions": { - "passage_number": 22, - "growth_medium": "lysogeny broth (LB) medium", - "mycoplasma_testing_results": "pass", - "drug_treatment": "100 ug/mL ampicillin", - "feeder_layer_type": "feeder-dependent, mouse embryonic fibroblast cells" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "total_estimated_cells": 10000, - "provenance": { - "document_id": "74bc8f6d-ce89-4128-bb4e-f0d527e84e83", - "submission_date": "2018-11-02T17:38:40.233Z", - "update_date": "2018-11-02T17:38:46.014Z" - } - }, - "specimen_from_organism/20356094-b09a-4ed9-bc29-7629ab2c716c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Q4_DEMO-sample_SAMN02797092", - "biomaterial_name": "Q4_DEMO-Single cell mRNA-seq_MGH30_A01", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "DRB1 0401 protective allele", - "biosd_biomaterial": "SAMN00000000", - "insdc_biomaterial": "SRS0000000" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organ_part": { - "text": "amygdala", - "ontology": "UBERON:0001876", - "ontology_label": "amygdala" - }, - "diseases": [ - { - "text": "atrophic vulva (specimen_from_organism)", - "ontology": "MONDO:0001932 (specimen_from_organism)", - "ontology_label": "atrophic vulva (specimen_from_organism)" - } - ], - "state_of_specimen": { - "autolysis_score": "none", - "gross_description": "normal color and size" - }, - "provenance": { - "document_id": "20356094-b09a-4ed9-bc29-7629ab2c716c", - "submission_date": "2018-11-02T17:38:40.226Z", - "update_date": "2018-11-02T17:38:45.852Z" - } - }, - "donor_organism/560dcb19-ddbb-4c8b-b2d9-fece4d167d7b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Q4_DEMO-donor_MGH30", - "biomaterial_name": "Q4 DEMO donor MGH30", - "biomaterial_description": "A general description of a biomaterial", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "DRB1 0401 protective allele", - "biosd_biomaterial": "SAMN00000000", - "insdc_biomaterial": "SRS0000000" - }, - "human_specific": { - "body_mass_index": 36.4, - "ethnicity": [ - { - "text": "European", - "ontology": "HANCESTRO:0005", - "ontology_label": "European" - } - ] - }, - "death": { - "cause_of_death": "motor vehicle accident", - "cold_perfused": false, - "days_on_ventilator": 4, - "hardy_scale": 0, - "time_of_death": "2016-01-21T00:00:00Z", - "organ_donation_death_type": "Donation after circulatory death (DCD)" - }, - "medical_history": { - "alcohol_history": "3-6 units/day", - "medication": "Naproxen 500mg/day, ", - "nutritional_state": "normal", - "smoking_history": "Smoker, 20/day for 25 years, stopped 2000" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organism_age": "20", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "diseases": [ - { - "text": "atrophic vulva (donor_organism)", - "ontology": "MONDO:0001932 (donor_organism)", - "ontology_label": "atrophic vulva (donor_organism)" - } - ], - "gestational_age": "5-7", - "height": "160", - "height_unit": { - "text": "cm", - "ontology": "UO:0000015", - "ontology_label": "centimeter" - }, - "is_living": "no", - "weight": "60", - "weight_unit": { - "text": "kg", - "ontology": "UO:0000009", - "ontology_label": "kilogram" - }, - "normothermic_regional_perfusion": "yes", - "sex": "male", - "provenance": { - "document_id": "560dcb19-ddbb-4c8b-b2d9-fece4d167d7b", - "submission_date": "2018-11-02T17:38:40.219Z", - "update_date": "2018-11-02T17:38:45.792Z" - } - }, - "analysis_file/2e072336-b906-4c9b-a475-ca03f51c8452": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "barcodes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "2e072336-b906-4c9b-a475-ca03f51c8452", - "submission_date": "2018-11-02T18:31:37.394Z", - "update_date": "2018-11-02T18:37:30.666Z" - } - }, - "analysis_file/2f7c43a5-30e5-443b-951b-b2b5d32bea06": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "genes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "2f7c43a5-30e5-443b-951b-b2b5d32bea06", - "submission_date": "2018-11-02T18:31:37.473Z", - "update_date": "2018-11-02T18:37:30.669Z" - } - }, - "analysis_file/052ee573-ff99-41b8-ad19-eea77a9cce7f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "matrix.mtx", - "file_format": "mtx" - }, - "provenance": { - "document_id": "052ee573-ff99-41b8-ad19-eea77a9cce7f", - "submission_date": "2018-11-02T18:31:37.552Z", - "update_date": "2018-11-02T18:37:30.669Z" - } - }, - "analysis_file/d2cc22c0-6281-4f31-9ca1-b6ab6f27d2b1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "filtered_gene_bc_matrices_h5.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "d2cc22c0-6281-4f31-9ca1-b6ab6f27d2b1", - "submission_date": "2018-11-02T18:31:37.628Z", - "update_date": "2018-11-02T18:37:33.661Z" - } - }, - "analysis_file/69559434-0da7-4bdd-a8f4-8be55cdcf45e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "metrics_summary.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "69559434-0da7-4bdd-a8f4-8be55cdcf45e", - "submission_date": "2018-11-02T18:31:37.705Z", - "update_date": "2018-11-02T18:37:21.650Z" - } - }, - "analysis_file/a1007d9b-6636-4909-9918-4aa85f99e9e7": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "molecule_info.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "a1007d9b-6636-4909-9918-4aa85f99e9e7", - "submission_date": "2018-11-02T18:31:37.779Z", - "update_date": "2018-11-02T18:37:33.662Z" - } - }, - "analysis_file/265c105c-803e-4468-a67d-8ba10011fcf1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "possorted_genome_bam.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "265c105c-803e-4468-a67d-8ba10011fcf1", - "submission_date": "2018-11-02T18:31:37.859Z", - "update_date": "2018-11-02T18:37:27.648Z" - } - }, - "analysis_file/eb4073be-f278-47f3-9f41-8a6e7284b49d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "possorted_genome_bam.bam.bai", - "file_format": "bai" - }, - "provenance": { - "document_id": "eb4073be-f278-47f3-9f41-8a6e7284b49d", - "submission_date": "2018-11-02T18:31:37.939Z", - "update_date": "2018-11-02T18:37:30.669Z" - } - }, - "analysis_file/487ccf21-6270-4880-b93d-6c80a7e03ca3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_gene_bc_matrices_h5.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "487ccf21-6270-4880-b93d-6c80a7e03ca3", - "submission_date": "2018-11-02T18:31:38.017Z", - "update_date": "2018-11-02T18:37:33.662Z" - } - }, - "analysis_file/2046e0bc-be29-4933-8f1a-094aa2bf3172": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "web_summary.html", - "file_format": "unknown" - }, - "provenance": { - "document_id": "2046e0bc-be29-4933-8f1a-094aa2bf3172", - "submission_date": "2018-11-02T18:31:38.100Z", - "update_date": "2018-11-02T18:37:36.659Z" - } - }, - "analysis_file/f3049150-14c7-4dae-a76c-3a1af9e951a1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_barcodes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "f3049150-14c7-4dae-a76c-3a1af9e951a1", - "submission_date": "2018-11-02T18:31:38.175Z", - "update_date": "2018-11-02T18:37:36.660Z" - } - }, - "analysis_file/79dc63a1-8114-495f-80cb-b0c0003d1f5b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_genes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "79dc63a1-8114-495f-80cb-b0c0003d1f5b", - "submission_date": "2018-11-02T18:31:38.249Z", - "update_date": "2018-11-02T18:37:39.656Z" - } - }, - "analysis_file/2097f789-3a94-44f0-adc0-b3e76233b5dc": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_matrix.mtx", - "file_format": "mtx" - }, - "provenance": { - "document_id": "2097f789-3a94-44f0-adc0-b3e76233b5dc", - "submission_date": "2018-11-02T18:31:38.328Z", - "update_date": "2018-11-02T18:37:39.656Z" - } - }, - "sequence_file/6f725a94-5c81-45e5-8d16-96520aa99703": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "pbmc4k_S1_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 51, - "insdc_run": [ - "SRR0000000" - ], - "provenance": { - "document_id": "6f725a94-5c81-45e5-8d16-96520aa99703", - "submission_date": "2018-11-02T17:38:40.242Z", - "update_date": "2018-11-02T17:40:58.933Z" - } - }, - "sequence_file/2db43e94-5208-405e-bc2a-ffade59b94c0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "pbmc4k_S1_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 51, - "insdc_run": [ - "SRR0000000" - ], - "provenance": { - "document_id": "2db43e94-5208-405e-bc2a-ffade59b94c0", - "submission_date": "2018-11-02T17:38:40.250Z", - "update_date": "2018-11-02T17:40:59.927Z" - } - }, - "sequence_file/62d33b9a-d413-45d0-b8c7-c3135922b4b1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "pbmc4k_S1_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 51, - "insdc_run": [ - "SRR0000000" - ], - "provenance": { - "document_id": "62d33b9a-d413-45d0-b8c7-c3135922b4b1", - "submission_date": "2018-11-02T17:38:40.258Z", - "update_date": "2018-11-02T17:40:58.349Z" - } - }, - "project/ed79221b-9713-44cd-94af-183f88c348cd": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "integration/10x/2018-11-02T17:38:38Z", - "project_title": "Q4_DEMO-Single cell RNA-seq of primary human glioblastomas", - "project_description": "Q4_DEMO-We report transcriptomes from 430 single glioblastoma cells isolated from 5 individual tumors and 102 single cells from gliomasphere cells lines generated using SMART-seq. In addition, we report population RNA-seq from the five tumors as well as RNA-seq from cell lines derived from 3 tumors (MGH26, MGH28, MGH31) cultured under serum free (GSC) and differentiated (DGC) conditions. This dataset highlights intratumoral heterogeneity with regards to the expression of de novo derived transcriptional modules and established subtype classifiers. Overall design: Operative specimens from five glioblastoma patients (MGH26, MGH28, MGH29, MGH30, MGH31) were acutely dissociated, depleted for CD45+ inflammatory cells and then sorted as single cells (576 samples). Population controls for each tumor were isolated by sorting 2000-10000 cells and processed in parallel (5 population control samples). Single cells from two established cell lines, GBM6 and GBM8, were also sorted as single cells (192 samples). SMART-seq protocol was implemented to generate single cell full length transcriptomes (modified from Shalek, et al Nature 2013) and sequenced using 25 bp paired end reads. Single cell cDNA libraries for MGH30 were resequenced using 100 bp paired end reads to allow for isoform and splice junction reconstruction (96 samples, annotated MGH30L). Cells were also cultured in serum free conditions to generate gliomasphere cell lines for MGH26, MGH28, and MGH31 (GSC) which were then differentiated using 10% serum (DGC). Population RNA-seq was performed on these samples (3 GSC, 3 DGC, 6 total). The initial dataset included 875 RNA-seq libraries (576 single glioblastoma cells, 96 resequenced MGH30L, 192 single gliomasphere cells, 5 tumor population controls, 6 population libraries from GSC and DGC samples). Data was processed as described below using RSEM for quantification of gene expression. 5,948 genes with the highest composite expression either across all single cells combined (average log2(TPM)>4.5) or within a single tumor (average log2(TPM)>6 in at least one tumor) were included. Cells expressing less than 2,000 of these 5,948 genes were excluded. The final processed dataset then included 430 primary single cell glioblastoma transcriptomes, 102 single cell transcriptomes from cell lines(GBM6,GBM8), 5 population controls (1 for each tumor), and 6 population libraries from cell lines derived from the tumors (GSC and DGC for MGH26, MGH28 and MGH31). The final matrix (GBM_data_matrix.txt) therefore contains 5948 rows (genes) quantified in 543 samples (columns). Please note that the samples which are not included in the data processing are indicated in the sample description field." - }, - "publications": [ - { - "authors": [ - "Doe JD, Doe JJ" - ], - "publication_title": "A title of a publication goes here.", - "doi": "10.1016/j.cell.2016.07.054", - "pmid": 27565351, - "publication_url": "https://europepmc.org" - } - ], - "insdc_project": "SRP000000", - "geo_series": "GSE00000", - "array_express_investigation": "E-AAAA-00", - "insdc_study": "PRJNA000000", - "funders": [ - { - "grant_title": "A title of a grant proposal.", - "grant_id": "BB/P0000001/1", - "funder_name": "Biotechnology and Biological Sciences Research Council (BBSRC)" - } - ], - "contributors": [ - { - "contact_name": "John,D,Doe. ", - "email": "dummy@email.com", - "phone": "(+1) 234-555-6789", - "institution": "EMBL-EBI", - "laboratory": "Department of Biology", - "address": "0000 Main Street, Nowheretown, MA, 12091", - "country": "USA", - "corresponding_contributor": false, - "project_role": "principal investigator", - "orcid_id": "0000-1111-2222-3333" - } - ], - "provenance": { - "document_id": "ed79221b-9713-44cd-94af-183f88c348cd", - "submission_date": "2018-11-02T17:38:40.211Z", - "update_date": "2018-11-02T17:38:45.615Z" - } - }, - "analysis_protocol/4d6f7580-ce81-4a81-9c2c-872fcb23b7cd": { - "computational_method": "10x", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/analysis/8.0.3/analysis_protocol", - "protocol_core": { - "protocol_id": "cellranger_v1.0.2" - }, - "protocol_type": { - "text": "analysis" - }, - "schema_type": "protocol", - "provenance": { - "document_id": "4d6f7580-ce81-4a81-9c2c-872fcb23b7cd", - "submission_date": "2018-11-02T18:31:36.930Z", - "update_date": "2018-11-02T18:31:42.607Z" - } - }, - "library_preparation_protocol/7d50cf99-37b1-413d-ab4f-37428f9ce723": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "preparation1", - "protocol_name": "Preparing RNA for sequencing by 10x", - "publication_doi": "10.1101/193219", - "protocols_io_doi": "10.17504/protocols.io.mgjc3un", - "document": "my_cool_protocol.pdf" - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "library_construction_approach": { - "text": "10x v2", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "library_preamplification_method": { - "text": "Rapid Amplification of cDNA Ends", - "ontology": "EFO:0004182", - "ontology_label": "Rapid Amplification of cDNA Ends" - }, - "provenance": { - "document_id": "7d50cf99-37b1-413d-ab4f-37428f9ce723", - "submission_date": "2018-11-02T17:38:40.278Z", - "update_date": "2018-11-02T17:38:45.659Z" - } - }, - "sequencing_protocol/94ca10f5-6937-4b13-b7ce-2935cad90f94": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/9.0.3/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "assay_1", - "protocol_name": "a sequencing protocol" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565" - }, - "local_machine_name": "Machine1", - "paired_end": false, - "sequencing_approach": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441", - "ontology_label": "full length single cell RNA sequencing" - }, - "10x": { - "fastq_method": "Cellranger mkfastq", - "fastq_method_version": "Cellranger 2.1.1", - "pooled_channels": 4, - "drop_uniformity": false - }, - "provenance": { - "document_id": "94ca10f5-6937-4b13-b7ce-2935cad90f94", - "submission_date": "2018-11-02T17:38:40.272Z", - "update_date": "2018-11-02T17:38:45.681Z" - } - }, - "dissociation_protocol/b0dac4c3-a81c-4241-ba52-3e468746618b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_1", - "protocol_name": "a FACS method to separate cells", - "protocol_description": "single cell" - }, - "dissociation_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "provenance": { - "document_id": "b0dac4c3-a81c-4241-ba52-3e468746618b", - "submission_date": "2018-11-02T17:38:40.285Z", - "update_date": "2018-11-02T17:38:45.674Z" - } - }, - "enrichment_protocol/5077e4f3-3be8-463a-8cc9-024d7905c65e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment1", - "protocol_name": "an enrichment method to enrich for cells", - "publication_doi": "10.1101/193219", - "protocols_io_doi": "10.17504/protocols.io.mgjc3un" - }, - "enrichment_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD4+ CD8-", - "min_size_selected": 70, - "max_size_selected": 90, - "provenance": { - "document_id": "5077e4f3-3be8-463a-8cc9-024d7905c65e", - "submission_date": "2018-11-02T17:38:40.292Z", - "update_date": "2018-11-02T17:38:45.601Z" - } - }, - "collection_protocol/139304c2-732a-4603-97e5-2db92ab6ec9f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/8.2.6/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "collection_protocol1", - "protocol_name": "A short, descriptive name for the protocol that need not be unique.", - "protocol_description": "A general description of the protocol.", - "publication_doi": "10.1101/193219", - "protocols_io_doi": "10.17504/protocols.io.mgjc3un", - "document": "my_cool_protocol.pdf" - }, - "collection_method": { - "text": "organ extraction", - "ontology": "EFO:0009124", - "ontology_label": "organ extraction" - }, - "protocol_reagents": [ - { - "retail_name": "SureCell WTA 3' Library Prep Kit", - "catalog_number": "20014279", - "manufacturer": "Illumina", - "lot_number": "10001A", - "expiry_date": "2018-01-31", - "kit_titer": "Titer: Specification is 3.0x10^7" - } - ], - "provenance": { - "document_id": "139304c2-732a-4603-97e5-2db92ab6ec9f", - "submission_date": "2018-11-02T17:38:40.265Z", - "update_date": "2018-11-02T17:38:45.683Z" - } - }, - "analysis_process/b7a172d6-dbb1-41f3-8ae4-7807e1eca803": { - "analysis_run_type": "run", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/analysis/8.0.3/analysis_process", - "input_bundles": [ - "a7208eba-72a8-4c29-98fc-95cb09afdb4b" - ], - "inputs": [ - { - "parameter_name": "fastqs", - "parameter_value": "gs://org-humancellatlas-dss-checkout-staging/bundles/a7208eba-72a8-4c29-98fc-95cb09afdb4b.2018-11-02T174218.243583Z/pbmc4k_S1_L001_R1_001.fastq.gz, gs://org-humancellatlas-dss-checkout-staging/bundles/a7208eba-72a8-4c29-98fc-95cb09afdb4b.2018-11-02T174218.243583Z/pbmc4k_S1_L001_R2_001.fastq.gz, gs://org-humancellatlas-dss-checkout-staging/bundles/a7208eba-72a8-4c29-98fc-95cb09afdb4b.2018-11-02T174218.243583Z/pbmc4k_S1_L001_I1_001.fastq.gz" - }, - { - "parameter_name": "sample_id", - "parameter_value": "74bc8f6d-ce89-4128-bb4e-f0d527e84e83" - }, - { - "parameter_name": "reference_name", - "parameter_value": "GRCh38" - }, - { - "parameter_name": "transcriptome_tar_gz", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_GencodeV27_Primary_CellRanger.tar" - }, - { - "parameter_name": "expect_cells", - "parameter_value": "5000" - } - ], - "outputs": [ - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "barcodes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "genes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "mtx", - "file_name": "matrix.mtx" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "filtered_gene_bc_matrices_h5.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "metrics_summary.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "molecule_info.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bam", - "file_name": "possorted_genome_bam.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bai", - "file_name": "possorted_genome_bam.bam.bai" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "raw_gene_bc_matrices_h5.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "web_summary.html" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "raw_barcodes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "raw_genes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "mtx", - "file_name": "raw_matrix.mtx" - }, - "schema_type": "file" - } - ], - "process_core": { - "process_id": "1e413775-6d12-4851-ad68-2c46cf3c5e3f" - }, - "process_type": { - "text": "analysis" - }, - "reference_bundle": "bf51d668-3e14-4843-9bc7-5d676fdf0e01", - "schema_type": "process", - "tasks": [ - { - "cpus": 64, - "disk_size": "local-disk 400 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-cellranger:v1.0.0", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/Adapter10xCount/2042de8d-10b1-477b-a061-fee36a409fc2/call-analysis/CellRanger.CellRanger/1e413775-6d12-4851-ad68-2c46cf3c5e3f/call-cellranger_count/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/Adapter10xCount/2042de8d-10b1-477b-a061-fee36a409fc2/call-analysis/CellRanger.CellRanger/1e413775-6d12-4851-ad68-2c46cf3c5e3f/call-cellranger_count/stdout", - "memory": "416 GB", - "start_time": "2018-11-02T17:51:06.524Z", - "stop_time": "2018-11-02T18:23:48.376Z", - "task_name": "cellranger_count", - "zone": "us-central1-b" - } - ], - "timestamp_start_utc": "2018-11-02T17:51:04.485Z", - "timestamp_stop_utc": "2018-11-02T18:23:49.706Z", - "provenance": { - "document_id": "b7a172d6-dbb1-41f3-8ae4-7807e1eca803", - "submission_date": "2018-11-02T18:31:37.078Z", - "update_date": "2018-11-02T18:31:42.681Z" - } - }, - "process/8818b2e9-1c7d-4dd3-9acc-64de03c6f304": { - "process_core": { - "process_id": "bundle1" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8818b2e9-1c7d-4dd3-9acc-64de03c6f304", - "submission_date": "2018-11-02T17:38:40.314Z", - "update_date": "2018-11-02T17:38:46.112Z" - } - }, - "process/3809cc86-0ccb-4d2e-8520-24dcd9eda874": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3809cc86-0ccb-4d2e-8520-24dcd9eda874", - "submission_date": "2018-11-02T17:38:40.306Z", - "update_date": "2018-11-02T17:38:45.753Z" - } - }, - "process/8fa0c554-2503-408b-9f3b-6145463db850": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8fa0c554-2503-408b-9f3b-6145463db850", - "submission_date": "2018-11-02T17:38:40.299Z", - "update_date": "2018-11-02T17:38:45.850Z" - } - } - }, - "links": { - "describedBy": "http://schema.staging.data.humancellatlas.org/system/1.1.3/links", - "schema_type": "link_bundle", - "schema_version": "1.1.3", - "links": [ - { - "process": "b7a172d6-dbb1-41f3-8ae4-7807e1eca803", - "inputs": [ - "6f725a94-5c81-45e5-8d16-96520aa99703", - "2db43e94-5208-405e-bc2a-ffade59b94c0", - "62d33b9a-d413-45d0-b8c7-c3135922b4b1" - ], - "input_type": "file", - "outputs": [ - "2e072336-b906-4c9b-a475-ca03f51c8452", - "2f7c43a5-30e5-443b-951b-b2b5d32bea06", - "052ee573-ff99-41b8-ad19-eea77a9cce7f", - "d2cc22c0-6281-4f31-9ca1-b6ab6f27d2b1", - "69559434-0da7-4bdd-a8f4-8be55cdcf45e", - "a1007d9b-6636-4909-9918-4aa85f99e9e7", - "265c105c-803e-4468-a67d-8ba10011fcf1", - "eb4073be-f278-47f3-9f41-8a6e7284b49d", - "487ccf21-6270-4880-b93d-6c80a7e03ca3", - "2046e0bc-be29-4933-8f1a-094aa2bf3172", - "f3049150-14c7-4dae-a76c-3a1af9e951a1", - "79dc63a1-8114-495f-80cb-b0c0003d1f5b", - "2097f789-3a94-44f0-adc0-b3e76233b5dc" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "4d6f7580-ce81-4a81-9c2c-872fcb23b7cd" - } - ] - }, - { - "process": "8818b2e9-1c7d-4dd3-9acc-64de03c6f304", - "inputs": [ - "74bc8f6d-ce89-4128-bb4e-f0d527e84e83" - ], - "input_type": "biomaterial", - "outputs": [ - "6f725a94-5c81-45e5-8d16-96520aa99703", - "2db43e94-5208-405e-bc2a-ffade59b94c0", - "62d33b9a-d413-45d0-b8c7-c3135922b4b1" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "7d50cf99-37b1-413d-ab4f-37428f9ce723" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "94ca10f5-6937-4b13-b7ce-2935cad90f94" - } - ] - }, - { - "process": "3809cc86-0ccb-4d2e-8520-24dcd9eda874", - "inputs": [ - "20356094-b09a-4ed9-bc29-7629ab2c716c" - ], - "input_type": "biomaterial", - "outputs": [ - "74bc8f6d-ce89-4128-bb4e-f0d527e84e83" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "b0dac4c3-a81c-4241-ba52-3e468746618b" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "5077e4f3-3be8-463a-8cc9-024d7905c65e" - } - ] - }, - { - "process": "8fa0c554-2503-408b-9f3b-6145463db850", - "inputs": [ - "560dcb19-ddbb-4c8b-b2d9-fece4d167d7b" - ], - "input_type": "biomaterial", - "outputs": [ - "20356094-b09a-4ed9-bc29-7629ab2c716c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "139304c2-732a-4603-97e5-2db92ab6ec9f" - } - ] - }, - { - "process": "8818b2e9-1c7d-4dd3-9acc-64de03c6f304", - "inputs": [ - "74bc8f6d-ce89-4128-bb4e-f0d527e84e83" - ], - "input_type": "biomaterial", - "outputs": [ - "6f725a94-5c81-45e5-8d16-96520aa99703", - "2db43e94-5208-405e-bc2a-ffade59b94c0", - "62d33b9a-d413-45d0-b8c7-c3135922b4b1" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "7d50cf99-37b1-413d-ab4f-37428f9ce723" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "94ca10f5-6937-4b13-b7ce-2935cad90f94" - } - ] - }, - { - "process": "3809cc86-0ccb-4d2e-8520-24dcd9eda874", - "inputs": [ - "20356094-b09a-4ed9-bc29-7629ab2c716c" - ], - "input_type": "biomaterial", - "outputs": [ - "74bc8f6d-ce89-4128-bb4e-f0d527e84e83" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "b0dac4c3-a81c-4241-ba52-3e468746618b" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "5077e4f3-3be8-463a-8cc9-024d7905c65e" - } - ] - }, - { - "process": "8fa0c554-2503-408b-9f3b-6145463db850", - "inputs": [ - "560dcb19-ddbb-4c8b-b2d9-fece4d167d7b" - ], - "input_type": "biomaterial", - "outputs": [ - "20356094-b09a-4ed9-bc29-7629ab2c716c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "139304c2-732a-4603-97e5-2db92ab6ec9f" - } - ] - }, - { - "process": "8818b2e9-1c7d-4dd3-9acc-64de03c6f304", - "inputs": [ - "74bc8f6d-ce89-4128-bb4e-f0d527e84e83" - ], - "input_type": "biomaterial", - "outputs": [ - "6f725a94-5c81-45e5-8d16-96520aa99703", - "2db43e94-5208-405e-bc2a-ffade59b94c0", - "62d33b9a-d413-45d0-b8c7-c3135922b4b1" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "7d50cf99-37b1-413d-ab4f-37428f9ce723" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "94ca10f5-6937-4b13-b7ce-2935cad90f94" - } - ] - }, - { - "process": "3809cc86-0ccb-4d2e-8520-24dcd9eda874", - "inputs": [ - "20356094-b09a-4ed9-bc29-7629ab2c716c" - ], - "input_type": "biomaterial", - "outputs": [ - "74bc8f6d-ce89-4128-bb4e-f0d527e84e83" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "b0dac4c3-a81c-4241-ba52-3e468746618b" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "5077e4f3-3be8-463a-8cc9-024d7905c65e" - } - ] - }, - { - "process": "8fa0c554-2503-408b-9f3b-6145463db850", - "inputs": [ - "560dcb19-ddbb-4c8b-b2d9-fece4d167d7b" - ], - "input_type": "biomaterial", - "outputs": [ - "20356094-b09a-4ed9-bc29-7629ab2c716c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "139304c2-732a-4603-97e5-2db92ab6ec9f" - } - ] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/3f8176ff-61a7-4504-a57c-fc70f38d5b13.dss.hca.json b/test/indexer/data/3f8176ff-61a7-4504-a57c-fc70f38d5b13.dss.hca.json deleted file mode 100644 index aafd040317..0000000000 --- a/test/indexer/data/3f8176ff-61a7-4504-a57c-fc70f38d5b13.dss.hca.json +++ /dev/null @@ -1,1816 +0,0 @@ -{ - "manifest": { - "analysis_file/3404deaa-6274-4b78-99ae-442dd401714c": { - - "content-type": "text/plain; dcp-type=data", - "crc32c": "7fea1984", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_qc.bait_bias_summary_metrics.txt", - "s3_etag": "508d5fcce8f14da78685af771a5a4721", - "sha1": "f8ae9465bcaa541f54a6fb394f892f639bedd4d3", - "sha256": "3a40322e04d2e8bd4a1aa4b81f6fd34947188543e1a02aaff135d8ef6450c0fe", - "size": 2709, - "uuid": "2fe3ebac-9fc0-43e0-a074-53ec9c85a1c6", - "version": "2018-10-24T23:43:46.208710Z" - }, - "analysis_file/884d5482-3432-4259-b551-955ba35becc2": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "062bc010", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_qc.insert_size_metrics.txt", - "s3_etag": "f0fbe8e280aeff26b9eda9db88ac091f", - "sha1": "dff5bdc40eb14e5f83325e5165d3de2eea808546", - "sha256": "94153061a1cb003fc02faa1641c0ee14c90545df74c258ad8fbd9ff264811494", - "size": 8345, - "uuid": "0462b8db-4623-48ff-bcfc-7ad963407262", - "version": "2018-10-24T23:43:46.657440Z" - }, - "analysis_file/77d3b337-d169-44a5-9b6a-be1c6d1b31b7": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "8111810d", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_qc.quality_by_cycle_metrics.txt", - "s3_etag": "1b7287998ade73d7a2dc9111d71ae21e", - "sha1": "dc45e568d865bbe46ad3d23b7d87ae366721b29e", - "sha256": "5be923e8c956b30295370d25f38487c1b8ca7aa05231eee8c2e5f907c9aba935", - "size": 2934, - "uuid": "a9c9e43c-30a5-40f4-98c0-85af056e0be0", - "version": "2018-10-24T23:43:46.917923Z" - }, - "analysis_file/b115459d-d690-418c-a608-48ede1cc5a43": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "88dab227", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_qc.quality_distribution_metrics.txt", - "s3_etag": "b671f4eb1b6307f72d7941708a238a7e", - "sha1": "0a199b6efe7a96a29bfcb45adab3efd6977e4e95", - "sha256": "1569d41c0d435db552c1cc15ada814baeb8eb9b6f4c96f5ffd47ed2aca6bef05", - "size": 1288, - "uuid": "ad24bc8f-8e57-42d2-8395-4d3dcdc5e317", - "version": "2018-10-24T23:43:47.714898Z" - }, - "analysis_file/05ea34ca-995b-4c30-9f87-81ad07e61305": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "cea14b5c", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_qc.rna_metrics.txt", - "s3_etag": "cec9b268df47d6825ecb0c8b7652a102", - "sha1": "081db43e1e385a0be89cdb6466a555105be5a429", - "sha256": "350605986b4fa33cb3b2b332f91acd97706a86722bbf66b9130ba9fcf2ac5a88", - "size": 3253, - "uuid": "5619210b-c8ac-4607-a2ce-493e781945c3", - "version": "2018-10-24T23:43:48.004861Z" - }, - "analysis_file/03e676dd-1718-40e0-a246-f3c6a594e334": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "bfa0a411", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_QCs.csv", - "s3_etag": "de787ed7577d4cc1277655abb51b114e", - "sha1": "2ecf288558d042399bd32e42a3f1d8d6109e24c5", - "sha256": "b78bf252bf8ac02919a9ceed7b1b123525517db2f52d778062508180d2aa0513", - "size": 8133, - "uuid": "e0039f22-89b6-455b-988f-cb0ce8777315", - "version": "2018-10-24T23:43:48.309842Z" - }, - "analysis_file/19fee968-3d70-43a1-a64a-a778d656bd2e": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "133298b0", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_bait_bias_detail_metrics.csv", - "s3_etag": "e1794c0755d1c80706b3aae3745b7346", - "sha1": "474a45ffdce843cff13b51018fd499a6309cde9c", - "sha256": "f179f197b840cf0fdb94ca99b4151b526474d4e190d83a96c384717e6487ec48", - "size": 32894, - "uuid": "b6f0ab9a-1c3a-4256-93bb-3eaee3ce8789", - "version": "2018-10-24T23:43:48.570816Z" - }, - "analysis_file/edd03152-3219-41cd-9129-62f2e8944e91": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "11810dd2", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_base_distribution_by_cycle_metrics.csv", - "s3_etag": "e6d2786093b6422ffbda08b03e81e942", - "sha1": "5f8db005e633a713e48730ff7af8bdbf65368c26", - "sha256": "9ba8d07138a8e0357695ea451933643da4ea0c56b94e0ad92d70f831c57e447c", - "size": 11791, - "uuid": "e9bdf224-232e-4285-8521-18febe6031fa", - "version": "2018-10-24T23:43:48.840471Z" - }, - "analysis_file/e8972873-6e54-40d8-85ca-790a8d5688d0": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "404e1d3d", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_error_summary_metrics.csv", - "s3_etag": "6408a7caf2997bb99048ac3bb9901f47", - "sha1": "f2e31aa2f0888d76b72e4d5aa942fb9c10e55222", - "sha256": "2566c6bc251138f5b30ea225e4c699c347f180980bac85f26b4e32c9103e0acc", - "size": 496, - "uuid": "7de22c98-e613-419a-a063-463b009d9977", - "version": "2018-10-24T23:43:49.459923Z" - }, - "analysis_file/babd98f7-c1ae-4a5d-bf85-7cb347a3ce96": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "a44f5276", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_gc_bias.csv", - "s3_etag": "5ed0d48a3c35a7f8e340ceaf18c66dc0", - "sha1": "525a6f501540fc75c9abe248dfa902868df7fe77", - "sha256": "c3354f12ba7f1950a709d6f08718f144d67cb48f6a768f9c26e65306530ee78b", - "size": 9150, - "uuid": "a4c71562-cc3a-4aee-950a-c4e3c168a466", - "version": "2018-10-24T23:43:49.707708Z" - }, - "analysis_file/3314dd32-6acf-4841-83a4-03d4807d1365": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "433f461e", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_pre_adapter_detail_metrics.csv", - "s3_etag": "ea00bf517c3d7b9876116a7def6ebd05", - "sha1": "d90bac00cd13b5ff2c74636efb50751eccec7aef", - "sha256": "b1d230d2a633e721ff26ea7ae1cfc4ffc47c96c72f2fe4ee25a9eb746743aa13", - "size": 29374, - "uuid": "fae742b9-62fe-45bb-8769-39c2c841f292", - "version": "2018-10-24T23:43:50.045854Z" - }, - "analysis_file/f6e76583-bc31-41e1-8695-7198e7842ea0": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "d9724b31", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_pre_adapter_summary_metrics.csv", - "s3_etag": "0069c793b877dece0becf15a576b5e51", - "sha1": "73db7bcdca2a9e733a1782569f6262cd93771a79", - "sha256": "1f6e2d1e96d6c894f254657aa121f2bcb0677a1be3a7332bb77f91ceb9f70400", - "size": 1901, - "uuid": "787b88b9-8f21-4a68-b8b6-3b31a9e7fd30", - "version": "2018-10-24T23:43:50.368499Z" - }, - "analysis_file/f2473460-2b19-4b16-97c7-6eaa9060df6f": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "73d003d2", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_qc.bam", - "s3_etag": "6fb33c130aab6047558f5abe7b69ede1-4", - "sha1": "ca29b99a4ee9727d390dfaf84d1c2108a8e218ec", - "sha256": "45a2ab9e852c0738103e5130d6b383fd2c40db9825cfec766c26f4e21228cba4", - "size": 223866725, - "uuid": "4050cf25-f78a-49e2-9750-f339d459b76b", - "version": "2018-10-24T23:43:50.747688Z" - }, - "analysis_file/0fa2c00a-02e4-444d-998d-b812d647565f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "80815add", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_qc.bam.bai", - "s3_etag": "166e2ad82a87484f6d5614fdf287a4b3", - "sha1": "337386d8899da756a00d56092d73d14ac2484639", - "sha256": "149236ba13516b24f184462ab8766fc64ef77f213d7b2523e77b754ffeb217d7", - "size": 2169536, - "uuid": "dc11cd36-b5d1-465f-95ef-0609d7ab7cf9", - "version": "2018-10-24T23:43:50.982201Z" - }, - "analysis_file/09989709-cca8-4f82-a07f-6fa6a9fa3e03": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "06d1e1c8", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_rsem.bam", - "s3_etag": "2be374d68278614071fd430873fb29cb-4", - "sha1": "6b64ff53669b145e6f0aecc5162bee28cb92e676", - "sha256": "9719ddd9df93bd021cfbecc1c7e69bfa909f40f3ad0dae3f1a97e41587afa228", - "size": 227542809, - "uuid": "2db1b81c-3070-472f-b8ab-071c4a38f830", - "version": "2018-10-24T23:43:51.288002Z" - }, - "analysis_file/020634de-da4b-47bb-b084-8c2d7e70ae17": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c7497587", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_rsem.genes.results", - "s3_etag": "369b3ae8976072159cd0895345312ab6", - "sha1": "7cc42fc7aa1af14e777b0a97fbf66fbe7c1ae7ee", - "sha256": "bcf03d8408a47593e29d668090a2646e473de391c242aa2d3bb681978f49080c", - "size": 7583488, - "uuid": "0c800745-b4d5-46ad-8a76-24c320b08b6b", - "version": "2018-10-24T23:43:51.477217Z" - }, - "analysis_file/f6a47716-c494-4229-85e9-bd1f20afa5d1": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "7c9e2e1a", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900_rsem.isoforms.results", - "s3_etag": "4e9f386648edb4979804ee9206b7b206", - "sha1": "c94965f9c48f55a6adc8d8935061b2a401873625", - "sha256": "4a59f451722fed7917a8ff5ff32a6a644fbfbf8efe85092ef155ee956fadd55c", - "size": 18868285, - "uuid": "044fddd5-1bee-4f6e-8214-231061631b7f", - "version": "2018-10-24T23:43:51.945446Z" - }, - "analysis_file/c82423e7-a621-4fee-bed2-5efa916124e3": { - "content-type": "application/json; dcp-type=data", - "crc32c": "a2113239", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!.zattrs", - "s3_etag": "5ecce91d9883d4c791b89b0126cea1bb", - "sha1": "f3856beedfc385d4dfc81cb4c13e534a0cca5557", - "sha256": "bae2b30195b4ef3eaa56ccf0a860dedec915c2a0615752d716d40bbdb781bc10", - "size": 148, - "uuid": "ca09473c-84b1-4ccd-9c14-e6b71bcf310a", - "version": "2018-10-24T23:43:52.750795Z" - }, - "analysis_file/401a3d93-c4c9-4f59-960e-41de71839619": { - "content-type": "application/json; dcp-type=data", - "crc32c": "444a7707", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!.zgroup", - "s3_etag": "e20297935e73dd0154104d4ea53040ab", - "sha1": "63b0fcd7748c79d0de97705fb1b8ed5fcc5ac788", - "sha256": "2383746e67b4bcc2762b3f100f06c3fa2d5f149ab5a8e5da5d33521464a01959", - "size": 24, - "uuid": "c42f9b25-fa4a-40e8-b9fd-69e987d28d47", - "version": "2018-10-24T23:43:52.990198Z" - }, - "analysis_file/f06c17a5-8197-4b6f-928a-55ffa8d796d2": { - "content-type": "application/json; dcp-type=data", - "crc32c": "f35d7e55", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_id!.zarray", - "s3_etag": "adf52f6446cf3395b891614c2cf2372a", - "sha1": "9fd2e280f325ed95273798729cf3129d5f31a55d", - "sha256": "2fa6969421abba6ad8f00f603ec90614fddf2fdea2fbe05def7e279ccc753b94", - "size": 311, - "uuid": "8f6beb7b-feff-4d5d-93d9-8294f96a9734", - "version": "2018-10-24T23:43:53.140897Z" - }, - "analysis_file/95bdd09a-cc14-4a7b-b0f8-96cd4d6dcb1c": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "53d7c1b4", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_id!0", - "s3_etag": "11ae1c2532ff8e29a1763ffb1f86f3bf", - "sha1": "1c873353e76211b9f92b57b72a1e781e0fa9aaa2", - "sha256": "cf36e6c326890b7d4b30eab7944f53865a63edd43ba6ac7ee0419526531cb92a", - "size": 148, - "uuid": "19dfd30d-d489-4cc8-b3ef-af4d83281767", - "version": "2018-10-24T23:43:53.389145Z" - }, - "analysis_file/a3d20426-80af-4c2b-90a6-6e6644539aad": { - "content-type": "application/json; dcp-type=data", - "crc32c": "88068bce", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_numeric!.zarray", - "s3_etag": "143c99e56f6dbf5df7db5f13b4bfcff4", - "sha1": "a7612dc1d58458f975ffd26d2bd8b5ce49a811b6", - "sha256": "95979e9877f4a2e5973967ed1e5cb4e3b894742696df8e4189f4fe3c42be6966", - "size": 337, - "uuid": "3a0aaa8f-7a5a-4ba7-ac90-72d786c3b3c0", - "version": "2018-10-24T23:43:53.732254Z" - }, - "analysis_file/f6cdb1dd-df7c-4dab-bdd1-4bb59a2044f7": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f672e644", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_numeric!0.0", - "s3_etag": "a6e4da834b9626b636d39fa3ddba960e", - "sha1": "e025980c82b30e28832329e21e40659b0252c172", - "sha256": "93a46735808bd9ab4ed70094855111cdfb3583c2cd3e23e1f34dd7a9720746e3", - "size": 620, - "uuid": "5650bf89-3095-4d11-be7a-83af89e197c6", - "version": "2018-10-24T23:43:53.874430Z" - }, - "analysis_file/4de506d4-78d1-4de2-9780-e91f8a9d7b6d": { - "content-type": "application/json; dcp-type=data", - "crc32c": "38a3821e", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_numeric_name!.zarray", - "s3_etag": "6cd55b5c19627b1221e44c0b623f6a7a", - "sha1": "379887b0c96e35f627437c9bd02884aee0a469ec", - "sha256": "1d678d0e30a79f5625ce9dcbfc0a16a755887c41c0c542896c9147c61d78dfc5", - "size": 315, - "uuid": "f231c645-1ac0-460d-b4db-90d3b4eea222", - "version": "2018-10-24T23:43:54.039310Z" - }, - "analysis_file/c8aa1527-f40c-4e50-b7ca-51646562422b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "afce17ed", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_numeric_name!0", - "s3_etag": "40a03beade9cbe20471da510719e87ee", - "sha1": "07067e1916a1f326c6039c1135cc365d8157e250", - "sha256": "109b07d4cac30dc70dbab56f630a100ba7edf46ced95eaaa60bbd1b642c8695e", - "size": 3920, - "uuid": "6217ca7d-ebcc-4e0d-80db-0ee2c23ca6db", - "version": "2018-10-24T23:43:54.263560Z" - }, - "analysis_file/6cc5378a-295b-4e72-80a2-370434fd2b94": { - "content-type": "application/json; dcp-type=data", - "crc32c": "c6565f75", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_string!.zarray", - "s3_etag": "a191a4cbbc03d856923e37be13612e94", - "sha1": "967aa8a1960dd44731fc73e97bd31f9d31a1ac28", - "sha256": "bdfbef7a1f7947596fcc1e176471ce97e895f58970e8e2289d73343ccc60bc7e", - "size": 333, - "uuid": "7b322881-afd7-4896-8d42-8c0ea2979dd0", - "version": "2018-10-24T23:43:54.428325Z" - }, - "analysis_file/75178504-d0ef-4d32-a3e6-6faa1026be84": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c0b4fc1c", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_string!0.0", - "s3_etag": "8e35dfc78f4530c7cc629e722e41c14a", - "sha1": "8f2698a020fa520b3619c7f24a016a0ebc7c52e8", - "sha256": "910c28ef76e19d3c845e7918df9fec4a45bf28aa349ad3b9d68bc765d7be5015", - "size": 104, - "uuid": "6c0d9f3f-3112-45af-9d54-37ceb7639564", - "version": "2018-10-24T23:43:54.802055Z" - }, - "analysis_file/215add4a-6239-4443-9b0c-c5e2b6e7052f": { - "content-type": "application/json; dcp-type=data", - "crc32c": "80af448b", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_string_name!.zarray", - "s3_etag": "d70cdb9540920623d2b47a915c218930", - "sha1": "34b30d940aedf75dd406119b8044ba1f0d718392", - "sha256": "ec2f2606d246f1ff4b76c00a5c38fc6298435762df413f88690e44abb5447075", - "size": 311, - "uuid": "31ef1fee-8185-4b0e-a540-c1ea108f5a44", - "version": "2018-10-24T23:43:55.053768Z" - }, - "analysis_file/f894b6e3-98b3-4161-97e4-a8d4ac9ad677": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f282f971", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_string_name!0", - "s3_etag": "a9f7d989dc368de1512249f67ae71b01", - "sha1": "823ae16a87d600986573fe05f5f03f30008c7fa3", - "sha256": "62248abc08d4717360bbcb7fea1aea23260ee6fa4c9bcdc207bffdcba17aedd2", - "size": 172, - "uuid": "69fa904c-cd11-4560-817b-e98b2775da88", - "version": "2018-10-24T23:43:55.200260Z" - }, - "analysis_file/f909af01-995b-499a-9086-fd2a90123102": { - "content-type": "application/json; dcp-type=data", - "crc32c": "b89e6723", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!expression!.zarray", - "s3_etag": "1cc8c5a815470108493b451c5a974fd3", - "sha1": "b62a2d173d1b4fa4f35817a5eefa525a7b126691", - "sha256": "31f6f311ce1934669c993d3ae909f89084d605554312bc34262340e3f37005ca", - "size": 341, - "uuid": "436c0cd7-e202-4e40-85aa-cc15cca31f7a", - "version": "2018-10-24T23:43:55.390923Z" - }, - "analysis_file/75d692f4-e796-453d-b260-44a42f126c93": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "fa0eba46", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!expression!0.0", - "s3_etag": "a90aa26b39e998e34ec464df79625c2b", - "sha1": "f91c162fb3db920ff450d577915f66b0b511592f", - "sha256": "c3309601a982b03a249b1397c0ef14617c7c48cfcf2986362ce2c986662743bd", - "size": 61953, - "uuid": "37cc585b-10f2-4c7f-93be-f7ab4b291b3d", - "version": "2018-10-24T23:43:55.557557Z" - }, - "analysis_file/08be64a7-9ef4-4d17-b7d8-41f79c24c987": { - "content-type": "application/json; dcp-type=data", - "crc32c": "88035931", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!gene_id!.zarray", - "s3_etag": "12f1697e02f5dc989975f3a4e2ac3f98", - "sha1": "fffcd7c2eda62aac81a0c656ae034a4271256cee", - "sha256": "fc15b29aeda7d465c6d39028fd015c7ec5e364129721154547d245107758cc4a", - "size": 319, - "uuid": "9bccc57c-8134-4c5f-a800-833645437fce", - "version": "2018-10-24T23:43:55.823439Z" - }, - "analysis_file/770c9eb2-f63f-4bd2-94c1-e2b6da1feeac": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "8a0c3621", - "indexed": false, - "name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!gene_id!0", - "s3_etag": "91643e4f8234ad38d77863a1b4f86d21", - "sha1": "16c1e996c5c8b440932a89d023387c4002b29043", - "sha256": "bf642c7d08d0610bcd0f317eba1540987a844387104a399e885fbba0801375a8", - "size": 192191, - "uuid": "5d9fe37c-c1d5-45e8-a5e1-98409b965b57", - "version": "2018-10-24T23:43:55.982645Z" - }, - "sequence_file/b66c9d19-322c-42d4-8b65-3478fd0afa6a": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "970af885", - "indexed": false, - "name": "SRR3564380_2.fastq.gz", - "s3_etag": "4fc3f5eb97f08cefbbd172ba2b8ebbed", - "sha1": "65c114eee57178e198972688e8bca80430c1a2ce", - "sha256": "66e65113585576645b9529892d5d7f455ab4fcea7758e314c2c2d774c5f2721d", - "size": 63538437, - "uuid": "1f5f6803-ce1f-4a4b-b19a-4e6e73e23404", - "version": "2018-10-23T09:40:22.461764Z" - }, - "sequence_file/02c8352d-b2ba-4de4-a574-335eb9a61e0e": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "02d2680e", - "indexed": false, - "name": "SRR3564380_1.fastq.gz", - "s3_etag": "67ae864bc1e38fce1a4352fd16f8319b", - "sha1": "9baa0ce53e781bc5cb2c1f5d076f931da5b9e5e4", - "sha256": "bd5abe65c8c39cc775a4cbb4fa3e8266750e55b3905d3dafdfa93653c5e5e16a", - "size": 60046687, - "uuid": "335a8e97-6534-47ea-abf4-6df0093f9b85", - "version": "2018-10-23T09:40:22.722285Z" - } - }, - "metadata": { - "cell_suspension/02201088-f3be-46ce-bb04-e7c464189900": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "GSM2174052 1", - "biomaterial_description": "Single cell from human pancreas", - "ncbi_taxon_id": [ - 9606 - ], - "insdc_biomaterial": "SRS1460776" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 1, - "provenance": { - "document_id": "02201088-f3be-46ce-bb04-e7c464189900", - "submission_date": "2018-10-16T07:52:06.002Z", - "update_date": "2018-10-16T08:05:07.167Z" - } - }, - "specimen_from_organism/4c2b6ea0-43eb-4e37-b973-f2bdbc724e92": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "DID_scRSq08_pancreas", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "pancreas", - "ontology": "UBERON:0001264" - }, - "organ_part": { - "text": "islet of Langerhans", - "ontology": "UBERON:0000006" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "4c2b6ea0-43eb-4e37-b973-f2bdbc724e92", - "submission_date": "2018-10-16T07:51:21.935Z", - "update_date": "2018-10-16T08:03:01.801Z" - } - }, - "donor_organism/d919428e-d58b-4815-b36a-c9f186df6582": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "DID_scRSq08", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "is_living": "no", - "sex": "male", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "organism_age": "54", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "body_mass_index": 27.3, - "ethnicity": [ - { - "text": "European", - "ontology": "hancestro:0005" - } - ] - }, - "death": { - "cause_of_death": "anoxia" - }, - "provenance": { - "document_id": "d919428e-d58b-4815-b36a-c9f186df6582", - "submission_date": "2018-10-16T07:51:21.826Z", - "update_date": "2018-10-16T07:55:45.931Z" - } - }, - "analysis_file/3404deaa-6274-4b78-99ae-442dd401714c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.bait_bias_summary_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "3404deaa-6274-4b78-99ae-442dd401714c", - "submission_date": "2018-10-24T23:35:47.877Z", - "update_date": "2018-10-24T23:40:09.753Z" - } - }, - "analysis_file/884d5482-3432-4259-b551-955ba35becc2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.insert_size_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "884d5482-3432-4259-b551-955ba35becc2", - "submission_date": "2018-10-24T23:35:47.988Z", - "update_date": "2018-10-24T23:40:06.755Z" - } - }, - "analysis_file/77d3b337-d169-44a5-9b6a-be1c6d1b31b7": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.quality_by_cycle_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "77d3b337-d169-44a5-9b6a-be1c6d1b31b7", - "submission_date": "2018-10-24T23:35:48.100Z", - "update_date": "2018-10-24T23:40:09.754Z" - } - }, - "analysis_file/b115459d-d690-418c-a608-48ede1cc5a43": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.quality_distribution_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "b115459d-d690-418c-a608-48ede1cc5a43", - "submission_date": "2018-10-24T23:35:48.211Z", - "update_date": "2018-10-24T23:40:06.755Z" - } - }, - "analysis_file/05ea34ca-995b-4c30-9f87-81ad07e61305": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.rna_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "05ea34ca-995b-4c30-9f87-81ad07e61305", - "submission_date": "2018-10-24T23:35:48.324Z", - "update_date": "2018-10-24T23:40:12.765Z" - } - }, - "analysis_file/03e676dd-1718-40e0-a246-f3c6a594e334": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_QCs.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "03e676dd-1718-40e0-a246-f3c6a594e334", - "submission_date": "2018-10-24T23:35:48.438Z", - "update_date": "2018-10-24T23:40:18.754Z" - } - }, - "analysis_file/19fee968-3d70-43a1-a64a-a778d656bd2e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_bait_bias_detail_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "19fee968-3d70-43a1-a64a-a778d656bd2e", - "submission_date": "2018-10-24T23:35:48.550Z", - "update_date": "2018-10-24T23:40:21.780Z" - } - }, - "analysis_file/edd03152-3219-41cd-9129-62f2e8944e91": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_base_distribution_by_cycle_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "edd03152-3219-41cd-9129-62f2e8944e91", - "submission_date": "2018-10-24T23:35:48.662Z", - "update_date": "2018-10-24T23:40:21.759Z" - } - }, - "analysis_file/e8972873-6e54-40d8-85ca-790a8d5688d0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_error_summary_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "e8972873-6e54-40d8-85ca-790a8d5688d0", - "submission_date": "2018-10-24T23:35:48.782Z", - "update_date": "2018-10-24T23:40:21.780Z" - } - }, - "analysis_file/babd98f7-c1ae-4a5d-bf85-7cb347a3ce96": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_gc_bias.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "babd98f7-c1ae-4a5d-bf85-7cb347a3ce96", - "submission_date": "2018-10-24T23:35:48.892Z", - "update_date": "2018-10-24T23:40:24.806Z" - } - }, - "analysis_file/3314dd32-6acf-4841-83a4-03d4807d1365": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_pre_adapter_detail_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "3314dd32-6acf-4841-83a4-03d4807d1365", - "submission_date": "2018-10-24T23:35:48.998Z", - "update_date": "2018-10-24T23:40:24.810Z" - } - }, - "analysis_file/f6e76583-bc31-41e1-8695-7198e7842ea0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_pre_adapter_summary_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "f6e76583-bc31-41e1-8695-7198e7842ea0", - "submission_date": "2018-10-24T23:35:49.101Z", - "update_date": "2018-10-24T23:40:24.812Z" - } - }, - "analysis_file/f2473460-2b19-4b16-97c7-6eaa9060df6f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "f2473460-2b19-4b16-97c7-6eaa9060df6f", - "submission_date": "2018-10-24T23:35:49.214Z", - "update_date": "2018-10-24T23:40:12.765Z" - } - }, - "analysis_file/0fa2c00a-02e4-444d-998d-b812d647565f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.bam.bai", - "file_format": "bai" - }, - "provenance": { - "document_id": "0fa2c00a-02e4-444d-998d-b812d647565f", - "submission_date": "2018-10-24T23:35:49.331Z", - "update_date": "2018-10-24T23:40:06.756Z" - } - }, - "analysis_file/09989709-cca8-4f82-a07f-6fa6a9fa3e03": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_rsem.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "09989709-cca8-4f82-a07f-6fa6a9fa3e03", - "submission_date": "2018-10-24T23:35:49.437Z", - "update_date": "2018-10-24T23:40:27.764Z" - } - }, - "analysis_file/020634de-da4b-47bb-b084-8c2d7e70ae17": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_rsem.genes.results", - "file_format": "results" - }, - "provenance": { - "document_id": "020634de-da4b-47bb-b084-8c2d7e70ae17", - "submission_date": "2018-10-24T23:35:49.541Z", - "update_date": "2018-10-24T23:40:15.768Z" - } - }, - "analysis_file/f6a47716-c494-4229-85e9-bd1f20afa5d1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_rsem.isoforms.results", - "file_format": "results" - }, - "provenance": { - "document_id": "f6a47716-c494-4229-85e9-bd1f20afa5d1", - "submission_date": "2018-10-24T23:35:49.649Z", - "update_date": "2018-10-24T23:40:18.758Z" - } - }, - "analysis_file/c82423e7-a621-4fee-bed2-5efa916124e3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!.zattrs", - "file_format": "matrix" - }, - "provenance": { - "document_id": "c82423e7-a621-4fee-bed2-5efa916124e3", - "submission_date": "2018-10-24T23:35:49.762Z", - "update_date": "2018-10-24T23:40:27.770Z" - } - }, - "analysis_file/401a3d93-c4c9-4f59-960e-41de71839619": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!.zgroup", - "file_format": "unknown" - }, - "provenance": { - "document_id": "401a3d93-c4c9-4f59-960e-41de71839619", - "submission_date": "2018-10-24T23:35:49.878Z", - "update_date": "2018-10-24T23:40:27.759Z" - } - }, - "analysis_file/f06c17a5-8197-4b6f-928a-55ffa8d796d2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_id!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "f06c17a5-8197-4b6f-928a-55ffa8d796d2", - "submission_date": "2018-10-24T23:35:49.986Z", - "update_date": "2018-10-24T23:40:30.762Z" - } - }, - "analysis_file/95bdd09a-cc14-4a7b-b0f8-96cd4d6dcb1c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_id!0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "95bdd09a-cc14-4a7b-b0f8-96cd4d6dcb1c", - "submission_date": "2018-10-24T23:35:50.097Z", - "update_date": "2018-10-24T23:40:30.757Z" - } - }, - "analysis_file/a3d20426-80af-4c2b-90a6-6e6644539aad": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_numeric!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "a3d20426-80af-4c2b-90a6-6e6644539aad", - "submission_date": "2018-10-24T23:35:50.205Z", - "update_date": "2018-10-24T23:40:30.762Z" - } - }, - "analysis_file/f6cdb1dd-df7c-4dab-bdd1-4bb59a2044f7": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_numeric!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "f6cdb1dd-df7c-4dab-bdd1-4bb59a2044f7", - "submission_date": "2018-10-24T23:35:50.314Z", - "update_date": "2018-10-24T23:40:33.825Z" - } - }, - "analysis_file/4de506d4-78d1-4de2-9780-e91f8a9d7b6d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_numeric_name!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "4de506d4-78d1-4de2-9780-e91f8a9d7b6d", - "submission_date": "2018-10-24T23:35:50.421Z", - "update_date": "2018-10-24T23:40:33.825Z" - } - }, - "analysis_file/c8aa1527-f40c-4e50-b7ca-51646562422b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_numeric_name!0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "c8aa1527-f40c-4e50-b7ca-51646562422b", - "submission_date": "2018-10-24T23:35:50.525Z", - "update_date": "2018-10-24T23:40:33.831Z" - } - }, - "analysis_file/6cc5378a-295b-4e72-80a2-370434fd2b94": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_string!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "6cc5378a-295b-4e72-80a2-370434fd2b94", - "submission_date": "2018-10-24T23:35:50.634Z", - "update_date": "2018-10-24T23:40:36.805Z" - } - }, - "analysis_file/75178504-d0ef-4d32-a3e6-6faa1026be84": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_string!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "75178504-d0ef-4d32-a3e6-6faa1026be84", - "submission_date": "2018-10-24T23:35:50.742Z", - "update_date": "2018-10-24T23:40:36.794Z" - } - }, - "analysis_file/215add4a-6239-4443-9b0c-c5e2b6e7052f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_string_name!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "215add4a-6239-4443-9b0c-c5e2b6e7052f", - "submission_date": "2018-10-24T23:35:50.852Z", - "update_date": "2018-10-24T23:40:36.798Z" - } - }, - "analysis_file/f894b6e3-98b3-4161-97e4-a8d4ac9ad677": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_string_name!0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "f894b6e3-98b3-4161-97e4-a8d4ac9ad677", - "submission_date": "2018-10-24T23:35:50.958Z", - "update_date": "2018-10-24T23:40:39.785Z" - } - }, - "analysis_file/f909af01-995b-499a-9086-fd2a90123102": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!expression!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "f909af01-995b-499a-9086-fd2a90123102", - "submission_date": "2018-10-24T23:35:51.061Z", - "update_date": "2018-10-24T23:40:39.793Z" - } - }, - "analysis_file/75d692f4-e796-453d-b260-44a42f126c93": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!expression!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "75d692f4-e796-453d-b260-44a42f126c93", - "submission_date": "2018-10-24T23:35:51.169Z", - "update_date": "2018-10-24T23:40:39.800Z" - } - }, - "analysis_file/08be64a7-9ef4-4d17-b7d8-41f79c24c987": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!gene_id!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "08be64a7-9ef4-4d17-b7d8-41f79c24c987", - "submission_date": "2018-10-24T23:35:51.280Z", - "update_date": "2018-10-24T23:40:42.786Z" - } - }, - "analysis_file/770c9eb2-f63f-4bd2-94c1-e2b6da1feeac": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!gene_id!0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "770c9eb2-f63f-4bd2-94c1-e2b6da1feeac", - "submission_date": "2018-10-24T23:35:51.390Z", - "update_date": "2018-10-24T23:40:42.787Z" - } - }, - "sequence_file/b66c9d19-322c-42d4-8b65-3478fd0afa6a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3564380_2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "read_length": 75, - "insdc_run": [ - "SRR3564380" - ], - "provenance": { - "document_id": "b66c9d19-322c-42d4-8b65-3478fd0afa6a", - "submission_date": "2018-10-16T07:53:39.118Z", - "update_date": "2018-10-16T08:27:14.280Z" - } - }, - "sequence_file/02c8352d-b2ba-4de4-a574-335eb9a61e0e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3564380_1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "read_length": 75, - "insdc_run": [ - "SRR3564380" - ], - "provenance": { - "document_id": "02c8352d-b2ba-4de4-a574-335eb9a61e0e", - "submission_date": "2018-10-16T07:53:39.128Z", - "update_date": "2018-10-16T08:27:16.223Z" - } - }, - "project/08e7b6ba-5825-47e9-be2d-7978533c5f8c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Single cell transcriptome analysis of human pancreas", - "project_title": "Single cell transcriptome analysis of human pancreas reveals transcriptional signatures of aging and somatic mutation patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue" - }, - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "insdc_project": "SRP075496", - "geo_series": "GSE81547", - "contributors": [ - { - "contact_name": "Martin, Enge", - "email": "martin.enge@gmail.com", - "institution": "Stanford University", - "address": "Bioengineering, Stanford University, James H. Clark Center, 318 Campus Drive,, Stanford, CA, USA", - "country": "USA" - }, - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Molecular Atlas", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "external curator", - "orcid_id": "0000-0002-8748-599X", - "corresponding_contributor": false - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "phone": "(+44) 122-349-4444", - "institution": "EMBL-EBI European Bioinformatics Institute", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2771-9894", - "corresponding_contributor": false - } - ], - "publications": [ - { - "authors": [ - "Enge M", - "Arda HE", - "Mignardi M", - "Beausang J", - "Bottino R", - "Kim SK", - "Quake SR" - ], - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "doi": "10.1016/j.cell.2017.09.004", - "pmid": 28965763, - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "provenance": { - "document_id": "08e7b6ba-5825-47e9-be2d-7978533c5f8c", - "submission_date": "2018-10-16T07:51:21.705Z", - "update_date": "2018-10-16T07:55:45.727Z" - } - }, - "analysis_protocol/7a56f120-c055-4b63-acdf-8cc80c3555c1": { - "computational_method": "SmartSeq2SingleCell", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/analysis/8.0.3/analysis_protocol", - "protocol_core": { - "protocol_id": "smartseq2_v2.1.0" - }, - "protocol_type": { - "text": "analysis" - }, - "schema_type": "protocol", - "provenance": { - "document_id": "7a56f120-c055-4b63-acdf-8cc80c3555c1", - "submission_date": "2018-10-24T23:35:47.320Z", - "update_date": "2018-10-24T23:35:51.714Z" - } - }, - "library_preparation_protocol/7faadd95-bcee-4627-8990-04b79cf617f9": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931" - }, - "library_construction_kit": { - "retail_name": "Nextera XT kit", - "manufacturer": "Illumina" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "provenance": { - "document_id": "7faadd95-bcee-4627-8990-04b79cf617f9", - "submission_date": "2018-10-16T07:53:53.623Z", - "update_date": "2018-10-16T07:54:00.211Z" - } - }, - "sequencing_protocol/dcf48263-da0f-4fb8-9af7-2cb0e3af5b09": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1" - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0008566" - }, - "paired_end": true, - "sequencing_approach": { - "text": "RNA-Seq" - }, - "provenance": { - "document_id": "dcf48263-da0f-4fb8-9af7-2cb0e3af5b09", - "submission_date": "2018-10-16T07:53:53.632Z", - "update_date": "2018-10-16T07:54:00.089Z" - } - }, - "dissociation_protocol/2f0c9a0e-bf38-4df9-ba9c-d3502b843e2b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "publication_doi": "https://doi.org/10.1101/108043" - }, - "dissociation_method": { - "text": "fluorescence-activated cell sorting" - }, - "protocol_reagents": [ - { - "retail_name": "EFO:0009108" - } - ], - "provenance": { - "document_id": "2f0c9a0e-bf38-4df9-ba9c-d3502b843e2b", - "submission_date": "2018-10-16T07:53:53.602Z", - "update_date": "2018-10-16T07:54:00.103Z" - } - }, - "enrichment_protocol/d9fdfade-52d2-40df-b299-e9aa292ea120": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_1", - "publication_doi": "https://doi.org/10.1101/108043" - }, - "enrichment_method": { - "text": "FACS", - "ontology": "EFO:0009108" - }, - "markers": "HPx1+ HPi2+ CD133/1+ CD133/2+", - "provenance": { - "document_id": "d9fdfade-52d2-40df-b299-e9aa292ea120", - "submission_date": "2018-10-16T07:53:53.613Z", - "update_date": "2018-10-16T07:54:00.229Z" - } - }, - "analysis_process/4460eba6-6517-4283-992f-0e0d3ce0ef45": { - "analysis_run_type": "run", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/analysis/8.0.3/analysis_process", - "input_bundles": [ - "e45f94f9-6fc1-4dd2-80d1-7559e45edd66" - ], - "inputs": [ - { - "parameter_name": "fastq1", - "parameter_value": "gs://org-humancellatlas-dss-checkout-staging/bundles/e45f94f9-6fc1-4dd2-80d1-7559e45edd66.2018-10-23T094023.662535Z/SRR3564380_1.fastq.gz" - }, - { - "parameter_name": "fastq2", - "parameter_value": "gs://org-humancellatlas-dss-checkout-staging/bundles/e45f94f9-6fc1-4dd2-80d1-7559e45edd66.2018-10-23T094023.662535Z/SRR3564380_2.fastq.gz" - }, - { - "parameter_name": "sample_name", - "parameter_value": "02201088-f3be-46ce-bb04-e7c464189900" - }, - { - "parameter_name": "output_name", - "parameter_value": "02201088-f3be-46ce-bb04-e7c464189900" - }, - { - "parameter_name": "gtf_file", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.primary_assembly.annotation.gtf" - }, - { - "parameter_name": "genome_ref_fasta", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "rrna_intervals", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.rRNA.interval_list" - }, - { - "parameter_name": "gene_ref_flat", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_gencode.v27.refFlat.txt" - }, - { - "parameter_name": "hisat2_ref_index", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/HISAT2/genome_snp_tran.tar.gz" - }, - { - "parameter_name": "hisat2_ref_trans_name", - "parameter_value": "gencode_v27_trans_rsem" - }, - { - "parameter_name": "rsem_ref_index", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode_v27_primary.tar" - }, - { - "parameter_name": "hisat2_ref_name", - "parameter_value": "genome_snp_tran" - }, - { - "parameter_name": "hisat2_ref_trans_name", - "parameter_value": "gencode_v27_trans_rsem" - }, - { - "parameter_name": "stranded", - "parameter_value": "NONE" - } - ], - "outputs": [ - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.bait_bias_summary_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.insert_size_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.quality_by_cycle_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.quality_distribution_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.rna_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_QCs.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_bait_bias_detail_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_base_distribution_by_cycle_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_error_summary_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_gc_bias.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_pre_adapter_detail_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_pre_adapter_summary_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bam", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bai", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_qc.bam.bai" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bam", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_rsem.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "results", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_rsem.genes.results" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "results", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900_rsem.isoforms.results" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "matrix", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!.zattrs" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!.zgroup" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_id!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_id!0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_numeric!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_numeric!0.0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_numeric_name!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_numeric_name!0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_string!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_string!0.0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_string_name!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!cell_metadata_string_name!0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!expression!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!expression!0.0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!gene_id!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "02201088-f3be-46ce-bb04-e7c464189900.zarr!gene_id!0" - }, - "schema_type": "file" - } - ], - "process_core": { - "process_id": "2deb67d3-a379-4e14-b04a-6d373614678b" - }, - "process_type": { - "text": "analysis" - }, - "reference_bundle": "bf51d668-3e14-4843-9bc7-5d676fdf0e01", - "schema_type": "process", - "tasks": [ - { - "cpus": 2, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-CollectDuplicationMetrics/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-CollectDuplicationMetrics/stdout", - "memory": "7.5 GB", - "start_time": "2018-10-24T23:29:34.695Z", - "stop_time": "2018-10-24T23:29:48.379Z", - "task_name": "CollectDuplicationMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 14 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-CollectMultipleMetrics/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-CollectMultipleMetrics/stdout", - "memory": "7.5 GB", - "start_time": "2018-10-24T23:29:34.695Z", - "stop_time": "2018-10-24T23:29:54.390Z", - "task_name": "CollectMultipleMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-CollectRnaMetrics/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-CollectRnaMetrics/stdout", - "memory": "3.5 GB", - "start_time": "2018-10-24T23:29:34.695Z", - "stop_time": "2018-10-24T23:30:00.386Z", - "task_name": "CollectRnaMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.0", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-GroupQCOutputs/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-GroupQCOutputs/stdout", - "memory": "2 GB", - "start_time": "2018-10-24T23:30:02.239Z", - "stop_time": "2018-10-24T23:30:15.390Z", - "task_name": "GroupQCOutputs", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 33 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-HISAT2PairedEnd/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-HISAT2PairedEnd/stdout", - "memory": "15 GB", - "start_time": "2018-10-24T23:29:11.235Z", - "stop_time": "2018-10-24T23:29:33.397Z", - "task_name": "HISAT2PairedEnd", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-HISAT2Transcriptome/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-HISAT2Transcriptome/stdout", - "memory": "15 GB", - "start_time": "2018-10-24T23:29:11.235Z", - "stop_time": "2018-10-24T23:29:33.398Z", - "task_name": "HISAT2Transcriptome", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 22 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-rsem:v0.2.2-1.3.0", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-RSEMExpression/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-RSEMExpression/stdout", - "memory": "3.5 GB", - "start_time": "2018-10-24T23:29:34.695Z", - "stop_time": "2018-10-24T23:29:54.390Z", - "task_name": "RSEMExpression", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 100 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-python3-scientific:0.1.7", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-SmartSeq2ZarrConversion/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/f715fc54-8ebc-49bf-aac2-aa3a32965f9b/call-analysis/ss2.SmartSeq2SingleCell/2deb67d3-a379-4e14-b04a-6d373614678b/call-SmartSeq2ZarrConversion/stdout", - "memory": "16 GB", - "start_time": "2018-10-24T23:30:16.519Z", - "stop_time": "2018-10-24T23:30:30.385Z", - "task_name": "SmartSeq2ZarrConversion", - "zone": "us-central1-b" - } - ], - "timestamp_start_utc": "2018-10-24T23:29:08.144Z", - "timestamp_stop_utc": "2018-10-24T23:30:31.819Z", - "provenance": { - "document_id": "4460eba6-6517-4283-992f-0e0d3ce0ef45", - "submission_date": "2018-10-24T23:35:47.496Z", - "update_date": "2018-10-24T23:35:57.706Z" - } - }, - "process/33d33846-5287-425b-a94f-2c3ec14a323c": { - "process_core": { - "process_id": "SRR3564380" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "33d33846-5287-425b-a94f-2c3ec14a323c", - "submission_date": "2018-10-16T07:55:36.289Z", - "update_date": "2018-10-16T08:11:24.186Z" - } - }, - "process/34cb3bc6-661b-4bbd-b51c-0b5e6f5e248d": { - "process_core": { - "process_id": "process_id_2179" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "34cb3bc6-661b-4bbd-b51c-0b5e6f5e248d", - "submission_date": "2018-10-16T07:54:40.175Z", - "update_date": "2018-10-16T08:08:00.774Z" - } - }, - "process/4a1432a1-ae18-45f2-b574-9869b7242289": { - "process_core": { - "process_id": "process_id_8" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4a1432a1-ae18-45f2-b574-9869b7242289", - "submission_date": "2018-10-16T07:53:53.709Z", - "update_date": "2018-10-16T08:06:34.625Z" - } - } - }, - "links": { - "describedBy": "http://schema.staging.data.humancellatlas.org/system/1.1.3/links", - "schema_type": "link_bundle", - "schema_version": "1.1.3", - "links": [ - { - "process": "4460eba6-6517-4283-992f-0e0d3ce0ef45", - "inputs": [ - "b66c9d19-322c-42d4-8b65-3478fd0afa6a", - "02c8352d-b2ba-4de4-a574-335eb9a61e0e" - ], - "input_type": "file", - "outputs": [ - "3404deaa-6274-4b78-99ae-442dd401714c", - "884d5482-3432-4259-b551-955ba35becc2", - "77d3b337-d169-44a5-9b6a-be1c6d1b31b7", - "b115459d-d690-418c-a608-48ede1cc5a43", - "05ea34ca-995b-4c30-9f87-81ad07e61305", - "03e676dd-1718-40e0-a246-f3c6a594e334", - "19fee968-3d70-43a1-a64a-a778d656bd2e", - "edd03152-3219-41cd-9129-62f2e8944e91", - "e8972873-6e54-40d8-85ca-790a8d5688d0", - "babd98f7-c1ae-4a5d-bf85-7cb347a3ce96", - "3314dd32-6acf-4841-83a4-03d4807d1365", - "f6e76583-bc31-41e1-8695-7198e7842ea0", - "f2473460-2b19-4b16-97c7-6eaa9060df6f", - "0fa2c00a-02e4-444d-998d-b812d647565f", - "09989709-cca8-4f82-a07f-6fa6a9fa3e03", - "020634de-da4b-47bb-b084-8c2d7e70ae17", - "f6a47716-c494-4229-85e9-bd1f20afa5d1", - "c82423e7-a621-4fee-bed2-5efa916124e3", - "401a3d93-c4c9-4f59-960e-41de71839619", - "f06c17a5-8197-4b6f-928a-55ffa8d796d2", - "95bdd09a-cc14-4a7b-b0f8-96cd4d6dcb1c", - "a3d20426-80af-4c2b-90a6-6e6644539aad", - "f6cdb1dd-df7c-4dab-bdd1-4bb59a2044f7", - "4de506d4-78d1-4de2-9780-e91f8a9d7b6d", - "c8aa1527-f40c-4e50-b7ca-51646562422b", - "6cc5378a-295b-4e72-80a2-370434fd2b94", - "75178504-d0ef-4d32-a3e6-6faa1026be84", - "215add4a-6239-4443-9b0c-c5e2b6e7052f", - "f894b6e3-98b3-4161-97e4-a8d4ac9ad677", - "f909af01-995b-499a-9086-fd2a90123102", - "75d692f4-e796-453d-b260-44a42f126c93", - "08be64a7-9ef4-4d17-b7d8-41f79c24c987", - "770c9eb2-f63f-4bd2-94c1-e2b6da1feeac" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "7a56f120-c055-4b63-acdf-8cc80c3555c1" - } - ] - }, - { - "process": "33d33846-5287-425b-a94f-2c3ec14a323c", - "inputs": [ - "02201088-f3be-46ce-bb04-e7c464189900" - ], - "input_type": "biomaterial", - "outputs": [ - "b66c9d19-322c-42d4-8b65-3478fd0afa6a", - "02c8352d-b2ba-4de4-a574-335eb9a61e0e" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "7faadd95-bcee-4627-8990-04b79cf617f9" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "dcf48263-da0f-4fb8-9af7-2cb0e3af5b09" - } - ] - }, - { - "process": "34cb3bc6-661b-4bbd-b51c-0b5e6f5e248d", - "inputs": [ - "4c2b6ea0-43eb-4e37-b973-f2bdbc724e92" - ], - "input_type": "biomaterial", - "outputs": [ - "02201088-f3be-46ce-bb04-e7c464189900" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "2f0c9a0e-bf38-4df9-ba9c-d3502b843e2b" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "d9fdfade-52d2-40df-b299-e9aa292ea120" - } - ] - }, - { - "process": "4a1432a1-ae18-45f2-b574-9869b7242289", - "inputs": [ - "d919428e-d58b-4815-b36a-c9f186df6582" - ], - "input_type": "biomaterial", - "outputs": [ - "4c2b6ea0-43eb-4e37-b973-f2bdbc724e92" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "33d33846-5287-425b-a94f-2c3ec14a323c", - "inputs": [ - "02201088-f3be-46ce-bb04-e7c464189900" - ], - "input_type": "biomaterial", - "outputs": [ - "b66c9d19-322c-42d4-8b65-3478fd0afa6a", - "02c8352d-b2ba-4de4-a574-335eb9a61e0e" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "7faadd95-bcee-4627-8990-04b79cf617f9" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "dcf48263-da0f-4fb8-9af7-2cb0e3af5b09" - } - ] - }, - { - "process": "34cb3bc6-661b-4bbd-b51c-0b5e6f5e248d", - "inputs": [ - "4c2b6ea0-43eb-4e37-b973-f2bdbc724e92" - ], - "input_type": "biomaterial", - "outputs": [ - "02201088-f3be-46ce-bb04-e7c464189900" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "2f0c9a0e-bf38-4df9-ba9c-d3502b843e2b" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "d9fdfade-52d2-40df-b299-e9aa292ea120" - } - ] - }, - { - "process": "4a1432a1-ae18-45f2-b574-9869b7242289", - "inputs": [ - "d919428e-d58b-4815-b36a-c9f186df6582" - ], - "input_type": "biomaterial", - "outputs": [ - "4c2b6ea0-43eb-4e37-b973-f2bdbc724e92" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/411cd8d5-5990-43cd-84cc-6c7796b8a76d.dss.hca.json b/test/indexer/data/411cd8d5-5990-43cd-84cc-6c7796b8a76d.dss.hca.json deleted file mode 100644 index a28430432e..0000000000 --- a/test/indexer/data/411cd8d5-5990-43cd-84cc-6c7796b8a76d.dss.hca.json +++ /dev/null @@ -1,2432 +0,0 @@ -{ - "manifest": { - "analysis_file/cf93f747-1392-4670-8eb3-3ac60a96855e": { - - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "e511d1cf", - "indexed": false, - "name": "barcodes.tsv", - "s3_etag": "f3b1fbc1e84f2442d88ef576914dec2c", - "sha1": "c9c42b0caad2269407eeab0d7727cb736268d3d3", - "sha256": "34a6debca5b58b7d17a9efda90e928cd95891519b0e7ddd649922fca56e74283", - "size": 119681, - "uuid": "58b69c85-f5f3-4b94-8933-5520a54a6b25", - "version": "2018-10-18T20:46:12.510116Z" - }, - "analysis_file/477c0b3e-4a06-4214-8f27-58199ba63528": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7571fac9", - "indexed": false, - "name": "genes.tsv", - "s3_etag": "fa0cca9a56bcfc1ef745fdb696492040", - "sha1": "dd08d5183735a7c31e823a1402c422cf2735fba8", - "sha256": "4ce78cc6539d6bff305c602c6c341cf2a3aa167ec804b25c137ef2547103b250", - "size": 892197, - "uuid": "b372aac3-0e2a-4815-9cb8-06957c0034d7", - "version": "2018-10-18T20:46:12.954781Z" - }, - "analysis_file/ad6d5170-d74b-408c-af6b-25a14315c9da": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "883bc27f", - "indexed": false, - "name": "matrix.mtx", - "s3_etag": "7db6a38d8e7952498839f9827b4f500f-3", - "sha1": "91df4b6b9c301bd02f39aceb2734aae3a668e4c1", - "sha256": "b1aaabc3dff1fe288873e6066d299856944f97e9dc32ba651e091ea6d60190e3", - "size": 142560302, - "uuid": "c81783cd-0531-4f64-9eef-a3e622152aae", - "version": "2018-10-18T20:46:13.142208Z" - }, - "analysis_file/50be9b67-fae5-4472-9719-478dd1303d6e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "182c881d", - "indexed": false, - "name": "filtered_gene_bc_matrices_h5.h5", - "s3_etag": "2de917121831a3f078b12f6c2e37333f", - "sha1": "c4026a0c3dc61ce8c8f66f85536d90b0e9de9db7", - "sha256": "8e40f9f1086de170ffb008db0d61913466e942e7028da4df2376b2def495535a", - "size": 18927408, - "uuid": "17456232-f453-4178-b6d4-4c28840e0e9f", - "version": "2018-10-18T20:46:13.433149Z" - }, - "analysis_file/fd16b62e-e540-4f03-8ba0-07d0c204e3c8": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "d3902ae4", - "indexed": false, - "name": "metrics_summary.csv", - "s3_etag": "3759ed48641a7f0c0e519641a7440a52", - "sha1": "9b97c22bb730bfb31e956770d1dbf4e45d450546", - "sha256": "9ef145772d3d1db135a2756aeb92abe676589f83ebdd0cc34e6800e116a6e612", - "size": 684, - "uuid": "4cca0b74-7bfb-45a5-8a26-7342151805c9", - "version": "2018-10-18T20:46:14.214293Z" - }, - "analysis_file/3c41b5b6-f480-4d47-8c5e-155e7c1adf54": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "1462f373", - "indexed": false, - "name": "molecule_info.h5", - "s3_etag": "82b4e586a35d93208e663ddf84461fe3-5", - "sha1": "e3da3f822ebaf09daa9a045f14e1247161616ff6", - "sha256": "0c3399d345f7cb0f06d318bc9d4afdf1981ac85255ade7579f8706dbb1c33e12", - "size": 273741491, - "uuid": "0664a03c-9199-430e-9df6-e83e4a77df16", - "version": "2018-10-18T20:46:14.565244Z" - }, - "analysis_file/022a217c-384d-4d9d-8631-6397b6838e3a": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "63dd3167", - "indexed": false, - "name": "possorted_genome_bam.bam", - "s3_etag": "ee92d41eb9e2a502dd87ff5c5efbb258-138", - "sha1": "ccdd590b8d75800dab90913d3e0e247ea9331d2e", - "sha256": "1d11e34289e63c7c6b27234944b918d6fd8d8af3099d2e950ef725bf2d778df4", - "size": 9198494171, - "uuid": "a12a783c-6b91-4788-80b3-f25dae7838ce", - "version": "2018-10-18T20:46:14.923428Z" - }, - "analysis_file/9b778e46-0c51-4260-8e3f-000ecc145f0a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "a40c0ecb", - "indexed": false, - "name": "possorted_genome_bam.bam.bai", - "s3_etag": "e95c13b01acce0ce9795c6b40a865c99", - "sha1": "9b52516a3d248da34d4f658b700d9ffedc6203d6", - "sha256": "af8e4a168553b33de13950d4a90426d047bb05eb1afb4c30d95f3ceeffce977f", - "size": 6196152, - "uuid": "52d08a61-8d7b-4fd6-98e6-0620f815ecc5", - "version": "2018-10-18T20:46:15.089157Z" - }, - "analysis_file/af025a74-53f1-4972-b50d-53095b5ffac2": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "03eb39ec", - "indexed": false, - "name": "raw_gene_bc_matrices_h5.h5", - "s3_etag": "07ee5d2bf6e04147bd48809cd30ecac0", - "sha1": "a2597f41ca36ea83b7c788cfd4428bd2f8766ccd", - "sha256": "1496bddaabfee838411e43494a84c00b4e536bc056291324e60472499f095282", - "size": 33634535, - "uuid": "40bb9b37-9c3c-4be4-adf6-c8609493d223", - "version": "2018-10-18T20:46:15.963496Z" - }, - "analysis_file/e8395271-7c8e-4ec4-9598-495df43fe5fd": { - "content-type": "text/html; dcp-type=data", - "crc32c": "d5973bce", - "indexed": false, - "name": "web_summary.html", - "s3_etag": "04431777cca46d8eb13d09e2e25c18e5", - "sha1": "8add1bef68b6e01d0d595fd4f271a8307a52653c", - "sha256": "52a7659d45166ab4588268d303291b3ef66c44d9aa34cd0c5dde75aa929640ab", - "size": 2689440, - "uuid": "05311530-98da-4ac7-a4da-244c0a19ae4a", - "version": "2018-10-18T20:46:17.373562Z" - }, - "analysis_file/211a8fbf-b190-4576-ac2f-2b1a91743abb": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7c54ea3d", - "indexed": false, - "name": "raw_barcodes.tsv", - "s3_etag": "f010059d7160aac2dad1805e1496bf71", - "sha1": "131a9a81a9666418c503e65828a9a0ac460530ca", - "sha256": "e28353c088bf3b4d660220377a5f5fcc64839fb9e307cea47afe4e23fce2edc2", - "size": 14008320, - "uuid": "d0757b34-5974-44e3-a8ae-5b60f7691913", - "version": "2018-10-18T20:46:18.194283Z" - }, - "analysis_file/17222e3a-5757-45e9-9dfe-c4b6aa10f28a": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7571fac9", - "indexed": false, - "name": "raw_genes.tsv", - "s3_etag": "fa0cca9a56bcfc1ef745fdb696492040", - "sha1": "dd08d5183735a7c31e823a1402c422cf2735fba8", - "sha256": "4ce78cc6539d6bff305c602c6c341cf2a3aa167ec804b25c137ef2547103b250", - "size": 892197, - "uuid": "5d8aea02-2dff-4bda-a218-2ee4c5cabfb4", - "version": "2018-10-18T20:46:18.594371Z" - }, - "analysis_file/2fb8a975-b50c-4528-b850-838a19e19a1e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "283d035a", - "indexed": false, - "name": "raw_matrix.mtx", - "s3_etag": "bb5f1421f9ea3cb336bf91ce9ace9778-4", - "sha1": "c638e3c7e744e9347344d5e36ea5febeddba8a1f", - "sha256": "19dbeafc2411e85b3d5d6bef4bd844a58a10028e695eb6c68ba4c2927a4dbf1e", - "size": 264433751, - "uuid": "934faa14-ec75-4171-8c08-5ab20cc6ebff", - "version": "2018-10-18T20:46:18.842610Z" - }, - "sequence_file/213381ea-6161-4159-853e-cfcae4968001": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "e80c9f6f", - "indexed": false, - "name": "GAC027_hOrg_HipSci_2_S6_L008_I1_001.fastq.gz", - "s3_etag": "f3d1646689fa233b2edcae98daa4e8c3-12", - "sha1": "b04482bf491e0781a037325a6f85c313596d4e6f", - "sha256": "5107ea8c6b5dfb9d60bd327bf1963119cb9cdf7a6937a6631ee540ebfcfc8c90", - "size": 750352598, - "uuid": "8a0670ac-e3bd-4d38-afdc-0cf6d85e6adf", - "version": "2018-10-11T22:04:37.262084Z" - }, - "sequence_file/9ee3da9e-83ca-4c02-84d6-ac09702b12ba": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "17a27554", - "indexed": false, - "name": "GAC027_hOrg_HipSci_2_S6_L008_R1_001.fastq.gz", - "s3_etag": "6f0937ed17a8d0153ce9c09952e235ca-32", - "sha1": "9396f2ad8e5874e0c93d87090bfbc0fa35d638f0", - "sha256": "55f725fb616166ee57d82fa05dc353ab8a46c69124d8917e998621afa6c5076e", - "size": 2144766575, - "uuid": "d1e5058a-b53c-4e71-9cbc-1853d95b75bd", - "version": "2018-10-11T22:04:37.518108Z" - }, - "sequence_file/330a08ca-ae8e-4f1f-aa03-970abcd27f39": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "577e04eb", - "indexed": false, - "name": "GAC027_hOrg_HipSci_2_S6_L008_R2_001.fastq.gz", - "s3_etag": "f2753af72f5c94f61a2f8f8259808fba-103", - "sha1": "5285d81100d56ce8436fed39c8b6c13bd446c6ec", - "sha256": "96e11fcbc4d149116887334ddd690721808cd1eaffe364cb9787d63aa4e0c135", - "size": 6868728540, - "uuid": "a36fe69b-874b-4b9b-8e77-68be23cf98cd", - "version": "2018-10-11T22:04:37.811384Z" - }, - "supplementary_file/281c2d08-9e43-47f9-b937-e733e3ba3322": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "1e67ff31", - "indexed": false, - "name": "hipsci-ipsc-pipeline.pdf", - "s3_etag": "d276fabcc867f6100a053ee354b0fc9a", - "sha1": "09855c6bf665c999ebfb1a5ffe66bcee5a606762", - "sha256": "d5928f0c9fc0c67352df51f4747c76efebe5749a59b4b6c7effc722c01ddf4c6", - "size": 10012457, - "uuid": "9485d3c7-55f6-49f5-9eb1-ff85d8e4ef9f", - "version": "2018-10-11T22:04:38.049605Z" - }, - "supplementary_file/ae1d6fa7-964f-465a-8c78-565206827434": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "201fded1", - "indexed": false, - "name": "Dissociation_protocol_130-092-628.pdf", - "s3_etag": "6ecf47fe7a612eec681b313225744035", - "sha1": "5180c3713cd1a0a01a8bb3991cb1ab872d1a8813", - "sha256": "745844f42a0bef18e57eca252c2d52ef6042a1b55a7df8c74232cdc36f5a34e6", - "size": 104805, - "uuid": "05f653e7-2920-499b-95fe-455d585da2b7", - "version": "2018-10-11T22:04:38.189879Z" - }, - "supplementary_file/f518a8cc-e1d9-4fc9-bc32-491dd8543902": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "47441108", - "indexed": false, - "name": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf", - "s3_etag": "67e93ad84439bc3515066da4362d2439", - "sha1": "194a0f2b6b8db8272f33f3c1f6a2cf2dca26160d", - "sha256": "b6b98dc6b82be35951bf0a8f47cd6e1c2262c18ea75532ca0800223d1f846910", - "size": 5645416, - "uuid": "5eca9eb4-f837-4aa4-98e1-172a7c6da7ee", - "version": "2018-10-11T22:04:38.356356Z" - } - }, - "metadata": { - "cell_suspension/803fd65a-c578-4c4f-a39e-bedec24e2578": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI_organoids_pooled_2", - "biomaterial_name": "pooled cells from 4 dissociated organoids", - "biomaterial_description": "pooled cells from 4 dissociated organoids (wibj_2, kucg_2, hoik_1, sojd_3)", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "selected_cell_type": [ - { - "text": "neural cell", - "ontology": "CL:0002319" - } - ], - "total_estimated_cells": 6210, - "provenance": { - "document_id": "803fd65a-c578-4c4f-a39e-bedec24e2578", - "submission_date": "2018-10-11T21:18:02.832Z", - "update_date": "2018-10-11T21:18:13.146Z" - } - }, - "organoid/2d8282f0-6cbb-4d5a-822c-4b01718b4d0d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.3.8/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0214i-wibj_2_2", - "biomaterial_name": "human cerebral organoid wibj_2", - "biomaterial_description": "human cerebral organoid wibj_2, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d", - "submission_date": "2018-10-11T21:18:02.654Z", - "update_date": "2018-10-11T21:18:12.864Z" - } - }, - "organoid/b7214641-1ac5-4f60-b795-cb33a7c25434": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.3.8/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0214i-kucg_2_2", - "biomaterial_name": "human cerebral organoid kucg_2", - "biomaterial_description": "human cerebral organoid kucg_2, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "b7214641-1ac5-4f60-b795-cb33a7c25434", - "submission_date": "2018-10-11T21:18:02.696Z", - "update_date": "2018-10-11T21:18:12.763Z" - } - }, - "organoid/308eea51-d14b-4036-8cd1-cfd81d7532c3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.3.8/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0314i-hoik_1_2", - "biomaterial_name": "human cerebral organoid hoik_1", - "biomaterial_description": "human cerebral organoid hoik_1, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "308eea51-d14b-4036-8cd1-cfd81d7532c3", - "submission_date": "2018-10-11T21:18:02.732Z", - "update_date": "2018-10-11T21:18:06.730Z" - } - }, - "organoid/73f10dad-afc5-4d1d-a71c-4a8b6fff9172": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.3.8/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0314i-sojd_3_2", - "biomaterial_name": "human cerebral organoid sojd_3", - "biomaterial_description": "human cerebral organoid sojd_3, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "73f10dad-afc5-4d1d-a71c-4a8b6fff9172", - "submission_date": "2018-10-11T21:18:02.785Z", - "update_date": "2018-10-11T21:18:06.725Z" - } - }, - "cell_line/c532cca7-67c6-4617-ac47-5b91652621a5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj_2", - "biomaterial_name": "iPS cell line wibj_2", - "biomaterial_description": "iPS cell line wibj_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2627567" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650057", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0214i-wibj_2", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 32, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2014-10-24T00:00:00Z", - "provenance": { - "document_id": "c532cca7-67c6-4617-ac47-5b91652621a5", - "submission_date": "2018-10-11T21:18:02.561Z", - "update_date": "2018-10-11T21:18:06.721Z" - } - }, - "specimen_from_organism/c8e14a8e-81f9-4109-bb27-4bb3029240c1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj_skin", - "biomaterial_name": "Skin cells from HPSI0214i-wibj_skin", - "biomaterial_description": "Skin cells from HPSI0214i-wibj_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "c8e14a8e-81f9-4109-bb27-4bb3029240c1", - "submission_date": "2018-10-11T21:18:02.500Z", - "update_date": "2018-10-11T21:18:06.720Z" - } - }, - "donor_organism/d4c29b1a-f23c-4511-a2ae-097772d90254": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj", - "biomaterial_name": "donor HPSI0214i-wibj", - "biomaterial_description": "donor HPSI0214i-wibj_2, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2398911" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "female", - "organism_age": "55-59", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "hancestro:0462" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "d4c29b1a-f23c-4511-a2ae-097772d90254", - "submission_date": "2018-10-11T21:18:02.456Z", - "update_date": "2018-10-11T21:18:06.768Z" - } - }, - "cell_line/e924c114-e3cd-4060-9c8e-3d980ec7fcbe": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg_2", - "biomaterial_name": "iPS cell line kucg_2", - "biomaterial_description": "iPS cell line kucg_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2645814" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650065", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0214i-kucg_2", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 36, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2014-11-03T00:00:00Z", - "provenance": { - "document_id": "e924c114-e3cd-4060-9c8e-3d980ec7fcbe", - "submission_date": "2018-10-11T21:18:02.573Z", - "update_date": "2018-10-11T21:18:06.679Z" - } - }, - "specimen_from_organism/5bd6106c-0158-4c2c-8c60-32019c599c83": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg_skin", - "biomaterial_name": "Skin cells from HPSI0214i-kucg_skin", - "biomaterial_description": "Skin cells from HPSI0214i-kucg_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "5bd6106c-0158-4c2c-8c60-32019c599c83", - "submission_date": "2018-10-11T21:18:02.525Z", - "update_date": "2018-10-11T21:18:06.627Z" - } - }, - "donor_organism/ef7e6ac7-172a-4b24-9620-fc909a5e9c6c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg", - "biomaterial_name": "donor HPSI0214i-kucg", - "biomaterial_description": "donor HPSI0214i-kucg_2, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2397923" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "male", - "organism_age": "40-44", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "hancestro:0462" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "ef7e6ac7-172a-4b24-9620-fc909a5e9c6c", - "submission_date": "2018-10-11T21:18:02.467Z", - "update_date": "2018-10-11T21:18:06.720Z" - } - }, - "cell_line/a3651f83-dee6-49b2-ba4e-0ce20f02467d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik_1", - "biomaterial_name": "iPS cell line hoik_1", - "biomaterial_description": "iPS cell line hoik_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2698315" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650129", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0314i-hoik_1", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 28, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2015-02-02T00:00:00Z", - "provenance": { - "document_id": "a3651f83-dee6-49b2-ba4e-0ce20f02467d", - "submission_date": "2018-10-11T21:18:02.597Z", - "update_date": "2018-10-11T21:18:06.795Z" - } - }, - "specimen_from_organism/8f328973-9bc0-46b9-8a1f-38893e77b3b5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik_skin", - "biomaterial_name": "Skin cells from HPSI0314i-hoik_skin", - "biomaterial_description": "Skin cells from HPSI0314i-hoik_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "8f328973-9bc0-46b9-8a1f-38893e77b3b5", - "submission_date": "2018-10-11T21:18:02.542Z", - "update_date": "2018-10-11T21:18:06.643Z" - } - }, - "donor_organism/931528fa-820b-49ca-af1e-ae9a2c0ef551": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik", - "biomaterial_name": "donor HPSI0314i-hoik", - "biomaterial_description": "donor HPSI0314i-hoik_1, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2399961" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "female", - "organism_age": "40-44", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "hancestro:0462" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "931528fa-820b-49ca-af1e-ae9a2c0ef551", - "submission_date": "2018-10-11T21:18:02.477Z", - "update_date": "2018-10-11T21:18:06.762Z" - } - }, - "cell_line/6a16de30-176d-4488-81de-9337a1a6d8c5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd_3", - "biomaterial_name": "iPS cell line sojd_3", - "biomaterial_description": "iPS cell line sojd_3", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2627569" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650126", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0314i-sojd_3", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 29, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2015-01-09T00:00:00Z", - "provenance": { - "document_id": "6a16de30-176d-4488-81de-9337a1a6d8c5", - "submission_date": "2018-10-11T21:18:02.618Z", - "update_date": "2018-10-11T21:18:06.634Z" - } - }, - "specimen_from_organism/82368936-7b99-4864-9f49-b8fee3906d47": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd_skin", - "biomaterial_name": "Skin cells from HPSI0314i-sojd_skin", - "biomaterial_description": "Skin cells from HPSI0314i-sojd_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "82368936-7b99-4864-9f49-b8fee3906d47", - "submission_date": "2018-10-11T21:18:02.552Z", - "update_date": "2018-10-11T21:18:06.743Z" - } - }, - "donor_organism/96757312-0221-447a-84f1-7a737b5afd01": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd", - "biomaterial_name": "donor HPSI0314i-sojd", - "biomaterial_description": "donor HPSI0314i-sojd_3, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2418245" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "female", - "organism_age": "40-44", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "White - other, Ad Mixed American", - "ontology": "hancestro:0463" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "96757312-0221-447a-84f1-7a737b5afd01", - "submission_date": "2018-10-11T21:18:02.486Z", - "update_date": "2018-10-11T21:18:06.767Z" - } - }, - "analysis_file/cf93f747-1392-4670-8eb3-3ac60a96855e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "barcodes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "cf93f747-1392-4670-8eb3-3ac60a96855e", - "submission_date": "2018-10-18T20:32:25.801Z", - "update_date": "2018-10-18T20:39:13.335Z" - } - }, - "analysis_file/477c0b3e-4a06-4214-8f27-58199ba63528": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "genes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "477c0b3e-4a06-4214-8f27-58199ba63528", - "submission_date": "2018-10-18T20:32:25.877Z", - "update_date": "2018-10-18T20:39:16.337Z" - } - }, - "analysis_file/ad6d5170-d74b-408c-af6b-25a14315c9da": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "matrix.mtx", - "file_format": "mtx" - }, - "provenance": { - "document_id": "ad6d5170-d74b-408c-af6b-25a14315c9da", - "submission_date": "2018-10-18T20:32:25.951Z", - "update_date": "2018-10-18T20:39:25.337Z" - } - }, - "analysis_file/50be9b67-fae5-4472-9719-478dd1303d6e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "filtered_gene_bc_matrices_h5.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "50be9b67-fae5-4472-9719-478dd1303d6e", - "submission_date": "2018-10-18T20:32:26.026Z", - "update_date": "2018-10-18T20:39:22.340Z" - } - }, - "analysis_file/fd16b62e-e540-4f03-8ba0-07d0c204e3c8": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "metrics_summary.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "fd16b62e-e540-4f03-8ba0-07d0c204e3c8", - "submission_date": "2018-10-18T20:32:26.097Z", - "update_date": "2018-10-18T20:37:28.333Z" - } - }, - "analysis_file/3c41b5b6-f480-4d47-8c5e-155e7c1adf54": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "molecule_info.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "3c41b5b6-f480-4d47-8c5e-155e7c1adf54", - "submission_date": "2018-10-18T20:32:26.174Z", - "update_date": "2018-10-18T20:40:01.344Z" - } - }, - "analysis_file/022a217c-384d-4d9d-8631-6397b6838e3a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "possorted_genome_bam.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "022a217c-384d-4d9d-8631-6397b6838e3a", - "submission_date": "2018-10-18T20:32:26.243Z", - "update_date": "2018-10-18T20:45:01.366Z" - } - }, - "analysis_file/9b778e46-0c51-4260-8e3f-000ecc145f0a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "possorted_genome_bam.bam.bai", - "file_format": "bai" - }, - "provenance": { - "document_id": "9b778e46-0c51-4260-8e3f-000ecc145f0a", - "submission_date": "2018-10-18T20:32:26.313Z", - "update_date": "2018-10-18T20:39:10.339Z" - } - }, - "analysis_file/af025a74-53f1-4972-b50d-53095b5ffac2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_gene_bc_matrices_h5.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "af025a74-53f1-4972-b50d-53095b5ffac2", - "submission_date": "2018-10-18T20:32:26.383Z", - "update_date": "2018-10-18T20:39:40.335Z" - } - }, - "analysis_file/e8395271-7c8e-4ec4-9598-495df43fe5fd": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "web_summary.html", - "file_format": "unknown" - }, - "provenance": { - "document_id": "e8395271-7c8e-4ec4-9598-495df43fe5fd", - "submission_date": "2018-10-18T20:32:26.453Z", - "update_date": "2018-10-18T20:39:55.336Z" - } - }, - "analysis_file/211a8fbf-b190-4576-ac2f-2b1a91743abb": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_barcodes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "211a8fbf-b190-4576-ac2f-2b1a91743abb", - "submission_date": "2018-10-18T20:32:26.528Z", - "update_date": "2018-10-18T20:39:58.363Z" - } - }, - "analysis_file/17222e3a-5757-45e9-9dfe-c4b6aa10f28a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_genes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "17222e3a-5757-45e9-9dfe-c4b6aa10f28a", - "submission_date": "2018-10-18T20:32:26.603Z", - "update_date": "2018-10-18T20:39:58.363Z" - } - }, - "analysis_file/2fb8a975-b50c-4528-b850-838a19e19a1e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_matrix.mtx", - "file_format": "mtx" - }, - "provenance": { - "document_id": "2fb8a975-b50c-4528-b850-838a19e19a1e", - "submission_date": "2018-10-18T20:32:26.681Z", - "update_date": "2018-10-18T20:40:13.334Z" - } - }, - "sequence_file/213381ea-6161-4159-853e-cfcae4968001": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_2_S6_L008_I1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "892321d611c15d8b6543aa8e70b287cb" - }, - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "provenance": { - "document_id": "213381ea-6161-4159-853e-cfcae4968001", - "submission_date": "2018-10-11T21:18:01.964Z", - "update_date": "2018-10-18T20:32:16.894Z" - } - }, - "sequence_file/9ee3da9e-83ca-4c02-84d6-ac09702b12ba": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_2_S6_L008_R1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "1c171b7e43b5048693839e26532c612c" - }, - "read_index": "read1", - "lane_index": 8, - "read_length": 26, - "provenance": { - "document_id": "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "submission_date": "2018-10-11T21:18:01.979Z", - "update_date": "2018-10-18T20:32:18.864Z" - } - }, - "sequence_file/330a08ca-ae8e-4f1f-aa03-970abcd27f39": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_2_S6_L008_R2_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "dc13142325a6033063b9eb0ddbca1454" - }, - "read_index": "read2", - "lane_index": 8, - "read_length": 100, - "provenance": { - "document_id": "330a08ca-ae8e-4f1f-aa03-970abcd27f39", - "submission_date": "2018-10-11T21:18:01.990Z", - "update_date": "2018-10-18T20:32:20.845Z" - } - }, - "supplementary_file/281c2d08-9e43-47f9-b937-e733e3ba3322": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "hipsci-ipsc-pipeline.pdf", - "file_format": "pdf" - }, - "file_description": "iPSC induction by Sendai virus protocol.", - "provenance": { - "document_id": "281c2d08-9e43-47f9-b937-e733e3ba3322", - "submission_date": "2018-10-11T21:18:01.623Z", - "update_date": "2018-10-18T20:40:54.699Z" - } - }, - "supplementary_file/ae1d6fa7-964f-465a-8c78-565206827434": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "Dissociation_protocol_130-092-628.pdf", - "file_format": "pdf" - }, - "file_description": "Cerebral organoid dissociation protocol.", - "provenance": { - "document_id": "ae1d6fa7-964f-465a-8c78-565206827434", - "submission_date": "2018-10-11T21:18:01.642Z", - "update_date": "2018-10-18T20:40:55.940Z" - } - }, - "supplementary_file/f518a8cc-e1d9-4fc9-bc32-491dd8543902": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf", - "file_format": "pdf" - }, - "file_description": "10x Chromium single cell 3' v2 library preparation.", - "provenance": { - "document_id": "f518a8cc-e1d9-4fc9-bc32-491dd8543902", - "submission_date": "2018-10-11T21:18:01.654Z", - "update_date": "2018-10-18T20:40:57.146Z" - } - }, - "project/2c4724a4-7252-409e-b008-ff5c127c7e89": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "HPSI human cerebral organoids", - "project_title": "Assessing the relevance of organoids to model inter-individual variation", - "project_description": "The purpose of this project is to assess the relevance of pluripotent stem cell-derived cerebral and liver organoids to recapitulate the variation in cell-type specific gene expression programs between individuals. Towards this aim, we will generate reference atlases of the developing cortex and liver from multiple individuals, derive iPSC lines from these same individuals, and determine if inter-individual gene expression variation is recapitulated in cerebral and liver organoids from the same individual from which we have reference maps. In parallel we will assess the genetic contribution to variablity between organoids from different iPSCs of multiple human individuals that are available in existing iPSC resources (e.g. HipSci)." - }, - "contributors": [ - { - "contact_name": "Barbara,,Treutlein", - "email": "barbara_treutlein@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "project_role": "principal investigator", - "orcid_id": "0000-0002-3299-5597", - "corresponding_contributor": true - }, - { - "contact_name": "J,Gray,Camp", - "email": "gray_camp@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Zhisong,,He", - "email": "zhisong_he@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Sabina,,Kanton", - "email": "sabina_kanton@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Mallory,Ann,Freeberg", - "email": "mfreeberg@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2949-3921", - "corresponding_contributor": false - } - ], - "provenance": { - "document_id": "2c4724a4-7252-409e-b008-ff5c127c7e89", - "submission_date": "2018-10-11T21:18:01.605Z", - "update_date": "2018-10-11T21:18:06.651Z" - } - }, - "library_preparation_protocol/92277226-bf78-4df9-a594-5190a8790a14": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "10x_3'_library_preparation", - "protocol_name": "10x 3' single cell library preparation", - "protocol_description": "10x Chromium single cell 3' v2 library preparation", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "Chromium 3' Single Cell v2", - "ontology": "EFO:0009310" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "unstranded", - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 15, - "barcode_length": 10 - }, - "library_construction_kit": { - "retail_name": "10X Chromium Single Cell 3' Solution v2 Chemistry", - "manufacturer": "10X Genomics" - }, - "provenance": { - "document_id": "92277226-bf78-4df9-a594-5190a8790a14", - "submission_date": "2018-10-11T21:18:02.895Z", - "update_date": "2018-10-11T21:18:12.704Z" - } - }, - "sequencing_protocol/102cdbf3-b0e5-4dd5-9168-51150a9ebb6b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "10x_scRNASeq", - "protocol_name": "10x single cell RNA Sequencing", - "protocol_description": "10x RNA sequencing", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565" - }, - "paired_end": true, - "sequencing_approach": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440" - }, - "provenance": { - "document_id": "102cdbf3-b0e5-4dd5-9168-51150a9ebb6b", - "submission_date": "2018-10-11T21:18:02.905Z", - "update_date": "2018-10-11T21:18:12.667Z" - } - }, - "dissociation_protocol/755762e0-7aff-48ed-a7d4-d3ea4005758f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Cerebral_organoid_dissociation", - "protocol_name": "cerebral organoid dissociation", - "protocol_description": "cerebral organoid dissociation", - "document": "Dissociation_protocol_130-092-628.pdf" - }, - "dissociation_method": { - "text": "Papain-based enzymatic dissociation", - "ontology": "EFO:0009128" - }, - "protocol_reagents": [ - { - "retail_name": "Neural Tissue Dissociation Kit", - "catalog_number": "130-092-628", - "manufacturer": "Miltenyi Biotec" - } - ], - "provenance": { - "document_id": "755762e0-7aff-48ed-a7d4-d3ea4005758f", - "submission_date": "2018-10-11T21:18:02.886Z", - "update_date": "2018-10-11T21:18:12.751Z" - } - }, - "differentiation_protocol/8f4a8e7c-e7ee-44dc-8e09-f4012355060f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/1.3.0/differentiation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Org_Lanc_2014", - "protocol_name": "Differentiation of cerebral organoids", - "protocol_description": "Generation of cerebral organoids from human pluripotent stem cells", - "publication_doi": "10.1038/nprot.2014.158" - }, - "differentiation_method": "embryoid bodies", - "target_pathway": "RHO, ROCK", - "validation_method": "immunostaining", - "reagents": [ - { - "retail_name": "ROCK inhibitor Y27632" - } - ], - "small_molecules": "Vitamin A (retinoic acid)", - "provenance": { - "document_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f", - "submission_date": "2018-10-11T21:18:02.876Z", - "update_date": "2018-10-11T21:18:12.764Z" - } - }, - "ipsc_induction_protocol/cdfe38f2-1d90-4700-a199-d8105ce299df": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/2.0.1/ipsc_induction_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "ipsc_induction_protocol_1", - "protocol_name": "iPSC induction by Sendai virus", - "protocol_description": "Fibroblasts are thawed, transduced using Cytotune 2.0 Sendai virus (containing the Yamanaka genes encoding transcription factors Oct4, Sox2, cMyc and Klf4) and maintained until iPSC colony formation. Colonies are then picked and cultured to obtain a sizable yield of IPS cells, which are banked to a commercial grade standard. These banks then undergo quality checks to ensure the banks pass resuscitation tests and are free of mycoplasma.", - "document": "hipsci-ipsc-pipeline.pdf" - }, - "ipsc_induction_method": "sendai virus", - "pluripotency_vector_removed": "yes", - "ipsc_induction_kit": { - "retail_name": "Cytotune 1.0", - "manufacturer": "Thermofisher" - }, - "pluripotency_test": "HipSci Pluri test", - "ipsc_induction_produced_in_house": false, - "provenance": { - "document_id": "cdfe38f2-1d90-4700-a199-d8105ce299df", - "submission_date": "2018-10-11T21:18:02.867Z", - "update_date": "2018-10-11T21:18:06.713Z" - } - }, - "analysis_process/228fd33a-3627-4dea-bda9-e9cdc3b924b6": { - "analysis_run_type": "run", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/analysis/8.0.3/analysis_process", - "input_bundles": [ - "a2f76df2-a80f-4c66-8fdd-169ae350be4e" - ], - "inputs": [ - { - "parameter_name": "fastqs", - "parameter_value": "/cromwell_root/org-humancellatlas-dss-checkout-staging/bundles/a2f76df2-a80f-4c66-8fdd-169ae350be4e.2018-10-11T220441.424590Z/GAC027_hOrg_HipSci_2_S6_L008_R1_001.fastq.gz, /cromwell_root/org-humancellatlas-dss-checkout-staging/bundles/a2f76df2-a80f-4c66-8fdd-169ae350be4e.2018-10-11T220441.424590Z/GAC027_hOrg_HipSci_2_S6_L008_R2_001.fastq.gz, /cromwell_root/org-humancellatlas-dss-checkout-staging/bundles/a2f76df2-a80f-4c66-8fdd-169ae350be4e.2018-10-11T220441.424590Z/GAC027_hOrg_HipSci_2_S6_L008_I1_001.fastq.gz" - }, - { - "parameter_name": "sample_id", - "parameter_value": "803fd65a-c578-4c4f-a39e-bedec24e2578" - }, - { - "parameter_name": "reference_name", - "parameter_value": "GRCh38" - }, - { - "parameter_name": "transcriptome_tar_gz", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_GencodeV27_Primary_CellRanger.tar" - }, - { - "parameter_name": "expect_cells", - "parameter_value": "5000" - } - ], - "outputs": [ - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "barcodes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "genes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "mtx", - "file_name": "matrix.mtx" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "filtered_gene_bc_matrices_h5.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "metrics_summary.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "molecule_info.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bam", - "file_name": "possorted_genome_bam.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bai", - "file_name": "possorted_genome_bam.bam.bai" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "raw_gene_bc_matrices_h5.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "web_summary.html" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "raw_barcodes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "raw_genes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "mtx", - "file_name": "raw_matrix.mtx" - }, - "schema_type": "file" - } - ], - "process_core": { - "process_id": "41422884-4d87-4f84-8ae1-aa71eba2df23" - }, - "process_type": { - "text": "analysis" - }, - "reference_bundle": "bf51d668-3e14-4843-9bc7-5d676fdf0e01", - "schema_type": "process", - "tasks": [ - { - "cpus": 64, - "disk_size": "local-disk 250 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-cellranger:v1.0.0", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/Adapter10xCount/af8aea8f-d962-4ac7-9d38-05d0271e62ea/call-analysis/CellRanger.CellRanger/41422884-4d87-4f84-8ae1-aa71eba2df23/call-cellranger_count/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/Adapter10xCount/af8aea8f-d962-4ac7-9d38-05d0271e62ea/call-analysis/CellRanger.CellRanger/41422884-4d87-4f84-8ae1-aa71eba2df23/call-cellranger_count/stdout", - "memory": "416 GB", - "start_time": "2018-10-18T18:34:35.134Z", - "stop_time": "2018-10-18T20:26:15.377Z", - "task_name": "cellranger_count", - "zone": "us-central1-b" - } - ], - "timestamp_start_utc": "2018-10-18T18:34:33.085Z", - "timestamp_stop_utc": "2018-10-18T20:26:16.765Z", - "provenance": { - "document_id": "228fd33a-3627-4dea-bda9-e9cdc3b924b6", - "submission_date": "2018-10-18T20:32:14.657Z", - "update_date": "2018-10-18T20:32:19.562Z" - } - }, - "process/a2510b8c-8c92-4fe4-bc06-5e4e92093545": { - "process_core": { - "process_id": "tech_rep_4" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a2510b8c-8c92-4fe4-bc06-5e4e92093545", - "submission_date": "2018-10-11T21:18:02.960Z", - "update_date": "2018-10-11T21:18:12.743Z" - } - }, - "process/c7b6e9fe-6f08-41a9-8907-9c0347e6d604": { - "process_core": { - "process_id": "process_id_22" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c7b6e9fe-6f08-41a9-8907-9c0347e6d604", - "submission_date": "2018-10-11T21:18:03.340Z", - "update_date": "2018-10-11T21:18:10.787Z" - } - }, - "process/0d1d507d-4246-4b1c-8836-261d42f784eb": { - "process_core": { - "process_id": "process_id_10" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0d1d507d-4246-4b1c-8836-261d42f784eb", - "submission_date": "2018-10-11T21:18:03.113Z", - "update_date": "2018-10-11T21:18:10.859Z" - } - }, - "process/5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0": { - "process_core": { - "process_id": "process_id_5" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0", - "submission_date": "2018-10-11T21:18:03.057Z", - "update_date": "2018-10-11T21:18:10.803Z" - } - }, - "process/54760853-d6ed-4149-9a49-53c4cddfd93c": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "54760853-d6ed-4149-9a49-53c4cddfd93c", - "submission_date": "2018-10-11T21:18:02.993Z", - "update_date": "2018-10-11T21:18:10.611Z" - } - }, - "process/d5ac7f5f-9a50-403e-9b8d-6e983a099826": { - "process_core": { - "process_id": "process_id_13" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d5ac7f5f-9a50-403e-9b8d-6e983a099826", - "submission_date": "2018-10-11T21:18:03.149Z", - "update_date": "2018-10-11T21:18:11.909Z" - } - }, - "process/53f025f5-931a-4b6e-9a9b-545b5b881710": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "53f025f5-931a-4b6e-9a9b-545b5b881710", - "submission_date": "2018-10-11T21:18:03.067Z", - "update_date": "2018-10-11T21:18:10.866Z" - } - }, - "process/45c67d31-0b05-4d5e-b215-e50e1b2b125c": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "45c67d31-0b05-4d5e-b215-e50e1b2b125c", - "submission_date": "2018-10-11T21:18:03.005Z", - "update_date": "2018-10-11T21:18:10.656Z" - } - }, - "process/fe0d9d3a-56be-41ca-9fdf-70c8c637fd62": { - "process_core": { - "process_id": "process_id_16" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "fe0d9d3a-56be-41ca-9fdf-70c8c637fd62", - "submission_date": "2018-10-11T21:18:03.269Z", - "update_date": "2018-10-11T21:18:10.879Z" - } - }, - "process/4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc": { - "process_core": { - "process_id": "process_id_7" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc", - "submission_date": "2018-10-11T21:18:03.080Z", - "update_date": "2018-10-11T21:18:10.699Z" - } - }, - "process/76e685c9-fcf2-4582-bbfa-5e0369eb5bdb": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "76e685c9-fcf2-4582-bbfa-5e0369eb5bdb", - "submission_date": "2018-10-11T21:18:03.016Z", - "update_date": "2018-10-11T21:18:11.587Z" - } - }, - "process/bce97917-252e-40f2-af8e-df591099acd8": { - "process_core": { - "process_id": "process_id_19" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "bce97917-252e-40f2-af8e-df591099acd8", - "submission_date": "2018-10-11T21:18:03.300Z", - "update_date": "2018-10-11T21:18:11.481Z" - } - }, - "process/6458ae59-0aed-471e-95a0-4de534d449ca": { - "process_core": { - "process_id": "process_id_8" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6458ae59-0aed-471e-95a0-4de534d449ca", - "submission_date": "2018-10-11T21:18:03.090Z", - "update_date": "2018-10-11T21:18:10.788Z" - } - }, - "process/bb2365b9-5a5b-436f-92e3-4fc6d86a9efd": { - "process_core": { - "process_id": "process_id_4" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "bb2365b9-5a5b-436f-92e3-4fc6d86a9efd", - "submission_date": "2018-10-11T21:18:03.026Z", - "update_date": "2018-10-11T21:18:10.586Z" - } - } - }, - "links": { - "describedBy": "http://schema.staging.data.humancellatlas.org/system/1.1.3/links", - "schema_type": "link_bundle", - "schema_version": "1.1.3", - "links": [ - { - "process": "228fd33a-3627-4dea-bda9-e9cdc3b924b6", - "inputs": [ - "281c2d08-9e43-47f9-b937-e733e3ba3322", - "ae1d6fa7-964f-465a-8c78-565206827434", - "f518a8cc-e1d9-4fc9-bc32-491dd8543902", - "213381ea-6161-4159-853e-cfcae4968001", - "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "330a08ca-ae8e-4f1f-aa03-970abcd27f39" - ], - "input_type": "file", - "outputs": [ - "cf93f747-1392-4670-8eb3-3ac60a96855e", - "477c0b3e-4a06-4214-8f27-58199ba63528", - "ad6d5170-d74b-408c-af6b-25a14315c9da", - "50be9b67-fae5-4472-9719-478dd1303d6e", - "fd16b62e-e540-4f03-8ba0-07d0c204e3c8", - "3c41b5b6-f480-4d47-8c5e-155e7c1adf54", - "022a217c-384d-4d9d-8631-6397b6838e3a", - "9b778e46-0c51-4260-8e3f-000ecc145f0a", - "af025a74-53f1-4972-b50d-53095b5ffac2", - "e8395271-7c8e-4ec4-9598-495df43fe5fd", - "211a8fbf-b190-4576-ac2f-2b1a91743abb", - "17222e3a-5757-45e9-9dfe-c4b6aa10f28a", - "2fb8a975-b50c-4528-b850-838a19e19a1e" - ], - "output_type": "file", - "protocols": [] - }, - { - "process": "a2510b8c-8c92-4fe4-bc06-5e4e92093545", - "inputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "input_type": "biomaterial", - "outputs": [ - "213381ea-6161-4159-853e-cfcae4968001", - "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "330a08ca-ae8e-4f1f-aa03-970abcd27f39" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "92277226-bf78-4df9-a594-5190a8790a14" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "102cdbf3-b0e5-4dd5-9168-51150a9ebb6b" - } - ] - }, - { - "process": "c7b6e9fe-6f08-41a9-8907-9c0347e6d604", - "inputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d", - "b7214641-1ac5-4f60-b795-cb33a7c25434", - "308eea51-d14b-4036-8cd1-cfd81d7532c3", - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "input_type": "biomaterial", - "outputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "755762e0-7aff-48ed-a7d4-d3ea4005758f" - } - ] - }, - { - "process": "0d1d507d-4246-4b1c-8836-261d42f784eb", - "inputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "input_type": "biomaterial", - "outputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0", - "inputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "input_type": "biomaterial", - "outputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "54760853-d6ed-4149-9a49-53c4cddfd93c", - "inputs": [ - "d4c29b1a-f23c-4511-a2ae-097772d90254" - ], - "input_type": "biomaterial", - "outputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "d5ac7f5f-9a50-403e-9b8d-6e983a099826", - "inputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "input_type": "biomaterial", - "outputs": [ - "b7214641-1ac5-4f60-b795-cb33a7c25434" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "53f025f5-931a-4b6e-9a9b-545b5b881710", - "inputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "input_type": "biomaterial", - "outputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "45c67d31-0b05-4d5e-b215-e50e1b2b125c", - "inputs": [ - "ef7e6ac7-172a-4b24-9620-fc909a5e9c6c" - ], - "input_type": "biomaterial", - "outputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "fe0d9d3a-56be-41ca-9fdf-70c8c637fd62", - "inputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "input_type": "biomaterial", - "outputs": [ - "308eea51-d14b-4036-8cd1-cfd81d7532c3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc", - "inputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "input_type": "biomaterial", - "outputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "76e685c9-fcf2-4582-bbfa-5e0369eb5bdb", - "inputs": [ - "931528fa-820b-49ca-af1e-ae9a2c0ef551" - ], - "input_type": "biomaterial", - "outputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "bce97917-252e-40f2-af8e-df591099acd8", - "inputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "input_type": "biomaterial", - "outputs": [ - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "6458ae59-0aed-471e-95a0-4de534d449ca", - "inputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "input_type": "biomaterial", - "outputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "bb2365b9-5a5b-436f-92e3-4fc6d86a9efd", - "inputs": [ - "96757312-0221-447a-84f1-7a737b5afd01" - ], - "input_type": "biomaterial", - "outputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "a2510b8c-8c92-4fe4-bc06-5e4e92093545", - "inputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "input_type": "biomaterial", - "outputs": [ - "213381ea-6161-4159-853e-cfcae4968001", - "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "330a08ca-ae8e-4f1f-aa03-970abcd27f39" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "92277226-bf78-4df9-a594-5190a8790a14" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "102cdbf3-b0e5-4dd5-9168-51150a9ebb6b" - } - ] - }, - { - "process": "c7b6e9fe-6f08-41a9-8907-9c0347e6d604", - "inputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d", - "b7214641-1ac5-4f60-b795-cb33a7c25434", - "308eea51-d14b-4036-8cd1-cfd81d7532c3", - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "input_type": "biomaterial", - "outputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "755762e0-7aff-48ed-a7d4-d3ea4005758f" - } - ] - }, - { - "process": "0d1d507d-4246-4b1c-8836-261d42f784eb", - "inputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "input_type": "biomaterial", - "outputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0", - "inputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "input_type": "biomaterial", - "outputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "54760853-d6ed-4149-9a49-53c4cddfd93c", - "inputs": [ - "d4c29b1a-f23c-4511-a2ae-097772d90254" - ], - "input_type": "biomaterial", - "outputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "d5ac7f5f-9a50-403e-9b8d-6e983a099826", - "inputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "input_type": "biomaterial", - "outputs": [ - "b7214641-1ac5-4f60-b795-cb33a7c25434" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "53f025f5-931a-4b6e-9a9b-545b5b881710", - "inputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "input_type": "biomaterial", - "outputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "45c67d31-0b05-4d5e-b215-e50e1b2b125c", - "inputs": [ - "ef7e6ac7-172a-4b24-9620-fc909a5e9c6c" - ], - "input_type": "biomaterial", - "outputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "fe0d9d3a-56be-41ca-9fdf-70c8c637fd62", - "inputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "input_type": "biomaterial", - "outputs": [ - "308eea51-d14b-4036-8cd1-cfd81d7532c3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc", - "inputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "input_type": "biomaterial", - "outputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "76e685c9-fcf2-4582-bbfa-5e0369eb5bdb", - "inputs": [ - "931528fa-820b-49ca-af1e-ae9a2c0ef551" - ], - "input_type": "biomaterial", - "outputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "bce97917-252e-40f2-af8e-df591099acd8", - "inputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "input_type": "biomaterial", - "outputs": [ - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "6458ae59-0aed-471e-95a0-4de534d449ca", - "inputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "input_type": "biomaterial", - "outputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "bb2365b9-5a5b-436f-92e3-4fc6d86a9efd", - "inputs": [ - "96757312-0221-447a-84f1-7a737b5afd01" - ], - "input_type": "biomaterial", - "outputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "a2510b8c-8c92-4fe4-bc06-5e4e92093545", - "inputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "input_type": "biomaterial", - "outputs": [ - "213381ea-6161-4159-853e-cfcae4968001", - "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "330a08ca-ae8e-4f1f-aa03-970abcd27f39" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "92277226-bf78-4df9-a594-5190a8790a14" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "102cdbf3-b0e5-4dd5-9168-51150a9ebb6b" - } - ] - }, - { - "process": "c7b6e9fe-6f08-41a9-8907-9c0347e6d604", - "inputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d", - "b7214641-1ac5-4f60-b795-cb33a7c25434", - "308eea51-d14b-4036-8cd1-cfd81d7532c3", - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "input_type": "biomaterial", - "outputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "755762e0-7aff-48ed-a7d4-d3ea4005758f" - } - ] - }, - { - "process": "0d1d507d-4246-4b1c-8836-261d42f784eb", - "inputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "input_type": "biomaterial", - "outputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0", - "inputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "input_type": "biomaterial", - "outputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "54760853-d6ed-4149-9a49-53c4cddfd93c", - "inputs": [ - "d4c29b1a-f23c-4511-a2ae-097772d90254" - ], - "input_type": "biomaterial", - "outputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "d5ac7f5f-9a50-403e-9b8d-6e983a099826", - "inputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "input_type": "biomaterial", - "outputs": [ - "b7214641-1ac5-4f60-b795-cb33a7c25434" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "53f025f5-931a-4b6e-9a9b-545b5b881710", - "inputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "input_type": "biomaterial", - "outputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "45c67d31-0b05-4d5e-b215-e50e1b2b125c", - "inputs": [ - "ef7e6ac7-172a-4b24-9620-fc909a5e9c6c" - ], - "input_type": "biomaterial", - "outputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "fe0d9d3a-56be-41ca-9fdf-70c8c637fd62", - "inputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "input_type": "biomaterial", - "outputs": [ - "308eea51-d14b-4036-8cd1-cfd81d7532c3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc", - "inputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "input_type": "biomaterial", - "outputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "76e685c9-fcf2-4582-bbfa-5e0369eb5bdb", - "inputs": [ - "931528fa-820b-49ca-af1e-ae9a2c0ef551" - ], - "input_type": "biomaterial", - "outputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "bce97917-252e-40f2-af8e-df591099acd8", - "inputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "input_type": "biomaterial", - "outputs": [ - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "6458ae59-0aed-471e-95a0-4de534d449ca", - "inputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "input_type": "biomaterial", - "outputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "bb2365b9-5a5b-436f-92e3-4fc6d86a9efd", - "inputs": [ - "96757312-0221-447a-84f1-7a737b5afd01" - ], - "input_type": "biomaterial", - "outputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/412cd8d5-5990-43cd-84cc-6c7796b8a76d.dss.hca.json b/test/indexer/data/412cd8d5-5990-43cd-84cc-6c7796b8a76d.dss.hca.json deleted file mode 100644 index 2d84ad0877..0000000000 --- a/test/indexer/data/412cd8d5-5990-43cd-84cc-6c7796b8a76d.dss.hca.json +++ /dev/null @@ -1,2432 +0,0 @@ -{ - "manifest": { - "analysis_file/cf93f747-1392-4670-8eb3-3ac60a96855e": { - - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "e511d1cf", - "indexed": false, - "name": "barcodes.tsv", - "s3_etag": "f3b1fbc1e84f2442d88ef576914dec2c", - "sha1": "c9c42b0caad2269407eeab0d7727cb736268d3d3", - "sha256": "34a6debca5b58b7d17a9efda90e928cd95891519b0e7ddd649922fca56e74283", - "size": 119681, - "uuid": "58b69c85-f5f3-4b94-8933-5520a54a6b25", - "version": "2018-10-18T20:46:12.510116Z" - }, - "analysis_file/477c0b3e-4a06-4214-8f27-58199ba63528": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7571fac9", - "indexed": false, - "name": "genes.tsv", - "s3_etag": "fa0cca9a56bcfc1ef745fdb696492040", - "sha1": "dd08d5183735a7c31e823a1402c422cf2735fba8", - "sha256": "4ce78cc6539d6bff305c602c6c341cf2a3aa167ec804b25c137ef2547103b250", - "size": 892197, - "uuid": "b372aac3-0e2a-4815-9cb8-06957c0034d7", - "version": "2018-10-18T20:46:12.954781Z" - }, - "analysis_file/ad6d5170-d74b-408c-af6b-25a14315c9da": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "883bc27f", - "indexed": false, - "name": "matrix.mtx", - "s3_etag": "7db6a38d8e7952498839f9827b4f500f-3", - "sha1": "91df4b6b9c301bd02f39aceb2734aae3a668e4c1", - "sha256": "b1aaabc3dff1fe288873e6066d299856944f97e9dc32ba651e091ea6d60190e3", - "size": 142560302, - "uuid": "c81783cd-0531-4f64-9eef-a3e622152aae", - "version": "2018-10-18T20:46:13.142208Z" - }, - "analysis_file/50be9b67-fae5-4472-9719-478dd1303d6e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "182c881d", - "indexed": false, - "name": "filtered_gene_bc_matrices_h5.h5", - "s3_etag": "2de917121831a3f078b12f6c2e37333f", - "sha1": "c4026a0c3dc61ce8c8f66f85536d90b0e9de9db7", - "sha256": "8e40f9f1086de170ffb008db0d61913466e942e7028da4df2376b2def495535a", - "size": 18927408, - "uuid": "17456232-f453-4178-b6d4-4c28840e0e9f", - "version": "2018-10-18T20:46:13.433149Z" - }, - "analysis_file/fd16b62e-e540-4f03-8ba0-07d0c204e3c8": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "d3902ae4", - "indexed": false, - "name": "metrics_summary.csv", - "s3_etag": "3759ed48641a7f0c0e519641a7440a52", - "sha1": "9b97c22bb730bfb31e956770d1dbf4e45d450546", - "sha256": "9ef145772d3d1db135a2756aeb92abe676589f83ebdd0cc34e6800e116a6e612", - "size": 684, - "uuid": "4cca0b74-7bfb-45a5-8a26-7342151805c9", - "version": "2018-10-18T20:46:14.214293Z" - }, - "analysis_file/3c41b5b6-f480-4d47-8c5e-155e7c1adf54": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "1462f373", - "indexed": false, - "name": "molecule_info.h5", - "s3_etag": "82b4e586a35d93208e663ddf84461fe3-5", - "sha1": "e3da3f822ebaf09daa9a045f14e1247161616ff6", - "sha256": "0c3399d345f7cb0f06d318bc9d4afdf1981ac85255ade7579f8706dbb1c33e12", - "size": 273741491, - "uuid": "0664a03c-9199-430e-9df6-e83e4a77df16", - "version": "2018-10-18T20:46:14.565244Z" - }, - "analysis_file/022a217c-384d-4d9d-8631-6397b6838e3a": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "63dd3167", - "indexed": false, - "name": "possorted_genome_bam.bam", - "s3_etag": "ee92d41eb9e2a502dd87ff5c5efbb258-138", - "sha1": "ccdd590b8d75800dab90913d3e0e247ea9331d2e", - "sha256": "1d11e34289e63c7c6b27234944b918d6fd8d8af3099d2e950ef725bf2d778df4", - "size": 9198494171, - "uuid": "a12a783c-6b91-4788-80b3-f25dae7838ce", - "version": "2018-10-18T20:46:14.923428Z" - }, - "analysis_file/9b778e46-0c51-4260-8e3f-000ecc145f0a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "a40c0ecb", - "indexed": false, - "name": "possorted_genome_bam.bam.bai", - "s3_etag": "e95c13b01acce0ce9795c6b40a865c99", - "sha1": "9b52516a3d248da34d4f658b700d9ffedc6203d6", - "sha256": "af8e4a168553b33de13950d4a90426d047bb05eb1afb4c30d95f3ceeffce977f", - "size": 6196152, - "uuid": "52d08a61-8d7b-4fd6-98e6-0620f815ecc5", - "version": "2018-10-18T20:46:15.089157Z" - }, - "analysis_file/af025a74-53f1-4972-b50d-53095b5ffac2": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "03eb39ec", - "indexed": false, - "name": "raw_gene_bc_matrices_h5.h5", - "s3_etag": "07ee5d2bf6e04147bd48809cd30ecac0", - "sha1": "a2597f41ca36ea83b7c788cfd4428bd2f8766ccd", - "sha256": "1496bddaabfee838411e43494a84c00b4e536bc056291324e60472499f095282", - "size": 33634535, - "uuid": "40bb9b37-9c3c-4be4-adf6-c8609493d223", - "version": "2018-10-18T20:46:15.963496Z" - }, - "analysis_file/e8395271-7c8e-4ec4-9598-495df43fe5fd": { - "content-type": "text/html; dcp-type=data", - "crc32c": "d5973bce", - "indexed": false, - "name": "web_summary.html", - "s3_etag": "04431777cca46d8eb13d09e2e25c18e5", - "sha1": "8add1bef68b6e01d0d595fd4f271a8307a52653c", - "sha256": "52a7659d45166ab4588268d303291b3ef66c44d9aa34cd0c5dde75aa929640ab", - "size": 2689440, - "uuid": "05311530-98da-4ac7-a4da-244c0a19ae4a", - "version": "2018-10-18T20:46:17.373562Z" - }, - "analysis_file/211a8fbf-b190-4576-ac2f-2b1a91743abb": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7c54ea3d", - "indexed": false, - "name": "raw_barcodes.tsv", - "s3_etag": "f010059d7160aac2dad1805e1496bf71", - "sha1": "131a9a81a9666418c503e65828a9a0ac460530ca", - "sha256": "e28353c088bf3b4d660220377a5f5fcc64839fb9e307cea47afe4e23fce2edc2", - "size": 14008320, - "uuid": "d0757b34-5974-44e3-a8ae-5b60f7691913", - "version": "2018-10-18T20:46:18.194283Z" - }, - "analysis_file/17222e3a-5757-45e9-9dfe-c4b6aa10f28a": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7571fac9", - "indexed": false, - "name": "raw_genes.tsv", - "s3_etag": "fa0cca9a56bcfc1ef745fdb696492040", - "sha1": "dd08d5183735a7c31e823a1402c422cf2735fba8", - "sha256": "4ce78cc6539d6bff305c602c6c341cf2a3aa167ec804b25c137ef2547103b250", - "size": 892197, - "uuid": "5d8aea02-2dff-4bda-a218-2ee4c5cabfb4", - "version": "2018-10-18T20:46:18.594371Z" - }, - "analysis_file/2fb8a975-b50c-4528-b850-838a19e19a1e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "283d035a", - "indexed": false, - "name": "raw_matrix.mtx", - "s3_etag": "bb5f1421f9ea3cb336bf91ce9ace9778-4", - "sha1": "c638e3c7e744e9347344d5e36ea5febeddba8a1f", - "sha256": "19dbeafc2411e85b3d5d6bef4bd844a58a10028e695eb6c68ba4c2927a4dbf1e", - "size": 264433751, - "uuid": "934faa14-ec75-4171-8c08-5ab20cc6ebff", - "version": "2018-10-18T20:46:18.842610Z" - }, - "sequence_file/213381ea-6161-4159-853e-cfcae4968001": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "e80c9f6f", - "indexed": false, - "name": "GAC027_hOrg_HipSci_2_S6_L008_I1_001.fastq.gz", - "s3_etag": "f3d1646689fa233b2edcae98daa4e8c3-12", - "sha1": "b04482bf491e0781a037325a6f85c313596d4e6f", - "sha256": "5107ea8c6b5dfb9d60bd327bf1963119cb9cdf7a6937a6631ee540ebfcfc8c90", - "size": 750352598, - "uuid": "8a0670ac-e3bd-4d38-afdc-0cf6d85e6adf", - "version": "2018-10-11T22:04:37.262084Z" - }, - "sequence_file/9ee3da9e-83ca-4c02-84d6-ac09702b12ba": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "17a27554", - "indexed": false, - "name": "GAC027_hOrg_HipSci_2_S6_L008_R1_001.fastq.gz", - "s3_etag": "6f0937ed17a8d0153ce9c09952e235ca-32", - "sha1": "9396f2ad8e5874e0c93d87090bfbc0fa35d638f0", - "sha256": "55f725fb616166ee57d82fa05dc353ab8a46c69124d8917e998621afa6c5076e", - "size": 2144766575, - "uuid": "d1e5058a-b53c-4e71-9cbc-1853d95b75bd", - "version": "2018-10-11T22:04:37.518108Z" - }, - "sequence_file/330a08ca-ae8e-4f1f-aa03-970abcd27f39": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "577e04eb", - "indexed": false, - "name": "GAC027_hOrg_HipSci_2_S6_L008_R2_001.fastq.gz", - "s3_etag": "f2753af72f5c94f61a2f8f8259808fba-103", - "sha1": "5285d81100d56ce8436fed39c8b6c13bd446c6ec", - "sha256": "96e11fcbc4d149116887334ddd690721808cd1eaffe364cb9787d63aa4e0c135", - "size": 6868728540, - "uuid": "a36fe69b-874b-4b9b-8e77-68be23cf98cd", - "version": "2018-10-11T22:04:37.811384Z" - }, - "supplementary_file/281c2d08-9e43-47f9-b937-e733e3ba3322": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "1e67ff31", - "indexed": false, - "name": "hipsci-ipsc-pipeline.pdf", - "s3_etag": "d276fabcc867f6100a053ee354b0fc9a", - "sha1": "09855c6bf665c999ebfb1a5ffe66bcee5a606762", - "sha256": "d5928f0c9fc0c67352df51f4747c76efebe5749a59b4b6c7effc722c01ddf4c6", - "size": 10012457, - "uuid": "9485d3c7-55f6-49f5-9eb1-ff85d8e4ef9f", - "version": "2018-10-11T22:04:38.049605Z" - }, - "supplementary_file/ae1d6fa7-964f-465a-8c78-565206827434": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "201fded1", - "indexed": false, - "name": "Dissociation_protocol_130-092-628.pdf", - "s3_etag": "6ecf47fe7a612eec681b313225744035", - "sha1": "5180c3713cd1a0a01a8bb3991cb1ab872d1a8813", - "sha256": "745844f42a0bef18e57eca252c2d52ef6042a1b55a7df8c74232cdc36f5a34e6", - "size": 104805, - "uuid": "05f653e7-2920-499b-95fe-455d585da2b7", - "version": "2018-10-11T22:04:38.189879Z" - }, - "supplementary_file/f518a8cc-e1d9-4fc9-bc32-491dd8543902": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "47441108", - "indexed": false, - "name": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf", - "s3_etag": "67e93ad84439bc3515066da4362d2439", - "sha1": "194a0f2b6b8db8272f33f3c1f6a2cf2dca26160d", - "sha256": "b6b98dc6b82be35951bf0a8f47cd6e1c2262c18ea75532ca0800223d1f846910", - "size": 5645416, - "uuid": "5eca9eb4-f837-4aa4-98e1-172a7c6da7ee", - "version": "2018-10-11T22:04:38.356356Z" - } - }, - "metadata": { - "cell_suspension/803fd65a-c578-4c4f-a39e-bedec24e2578": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI_organoids_pooled_2", - "biomaterial_name": "pooled cells from 4 dissociated organoids", - "biomaterial_description": "pooled cells from 4 dissociated organoids (wibj_2, kucg_2, hoik_1, sojd_3)", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "selected_cell_type": [ - { - "text": "neural cell", - "ontology": "CL:0002319" - } - ], - "total_estimated_cells": 6210, - "provenance": { - "document_id": "803fd65a-c578-4c4f-a39e-bedec24e2578", - "submission_date": "2018-10-11T21:18:02.832Z", - "update_date": "2018-10-11T21:18:13.146Z" - } - }, - "organoid/2d8282f0-6cbb-4d5a-822c-4b01718b4d0d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.3.8/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0214i-wibj_2_2", - "biomaterial_name": "human cerebral organoid wibj_2", - "biomaterial_description": "human cerebral organoid wibj_2, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d", - "submission_date": "2018-10-11T21:18:02.654Z", - "update_date": "2018-10-11T21:18:12.864Z" - } - }, - "organoid/b7214641-1ac5-4f60-b795-cb33a7c25434": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.3.8/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0214i-kucg_2_2", - "biomaterial_name": "human cerebral organoid kucg_2", - "biomaterial_description": "human cerebral organoid kucg_2, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "b7214641-1ac5-4f60-b795-cb33a7c25434", - "submission_date": "2018-10-11T21:18:02.696Z", - "update_date": "2018-10-11T21:18:12.763Z" - } - }, - "organoid/308eea51-d14b-4036-8cd1-cfd81d7532c3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.3.8/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0314i-hoik_1_2", - "biomaterial_name": "human cerebral organoid hoik_1", - "biomaterial_description": "human cerebral organoid hoik_1, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "308eea51-d14b-4036-8cd1-cfd81d7532c3", - "submission_date": "2018-10-11T21:18:02.732Z", - "update_date": "2018-10-11T21:18:06.730Z" - } - }, - "organoid/73f10dad-afc5-4d1d-a71c-4a8b6fff9172": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.3.8/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0314i-sojd_3_2", - "biomaterial_name": "human cerebral organoid sojd_3", - "biomaterial_description": "human cerebral organoid sojd_3, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "73f10dad-afc5-4d1d-a71c-4a8b6fff9172", - "submission_date": "2018-10-11T21:18:02.785Z", - "update_date": "2018-10-11T21:18:06.725Z" - } - }, - "cell_line/c532cca7-67c6-4617-ac47-5b91652621a5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj_2", - "biomaterial_name": "iPS cell line wibj_2", - "biomaterial_description": "iPS cell line wibj_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2627567" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650057", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0214i-wibj_2", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 32, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2014-10-24T00:00:00Z", - "provenance": { - "document_id": "c532cca7-67c6-4617-ac47-5b91652621a5", - "submission_date": "2018-10-11T21:18:02.561Z", - "update_date": "2018-10-11T21:18:06.721Z" - } - }, - "specimen_from_organism/c8e14a8e-81f9-4109-bb27-4bb3029240c1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj_skin", - "biomaterial_name": "Skin cells from HPSI0214i-wibj_skin", - "biomaterial_description": "Skin cells from HPSI0214i-wibj_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "c8e14a8e-81f9-4109-bb27-4bb3029240c1", - "submission_date": "2018-10-11T21:18:02.500Z", - "update_date": "2018-10-11T21:18:06.720Z" - } - }, - "donor_organism/d4c29b1a-f23c-4511-a2ae-097772d90254": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj", - "biomaterial_name": "donor HPSI0214i-wibj", - "biomaterial_description": "donor HPSI0214i-wibj_2, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2398911" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "female", - "organism_age": "65-69", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "hancestro:0462" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "d4c29b1a-f23c-4511-a2ae-097772d90254", - "submission_date": "2018-10-11T21:18:02.456Z", - "update_date": "2018-10-11T21:18:06.768Z" - } - }, - "cell_line/e924c114-e3cd-4060-9c8e-3d980ec7fcbe": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg_2", - "biomaterial_name": "iPS cell line kucg_2", - "biomaterial_description": "iPS cell line kucg_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2645814" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650065", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0214i-kucg_2", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 36, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2014-11-03T00:00:00Z", - "provenance": { - "document_id": "e924c114-e3cd-4060-9c8e-3d980ec7fcbe", - "submission_date": "2018-10-11T21:18:02.573Z", - "update_date": "2018-10-11T21:18:06.679Z" - } - }, - "specimen_from_organism/5bd6106c-0158-4c2c-8c60-32019c599c83": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg_skin", - "biomaterial_name": "Skin cells from HPSI0214i-kucg_skin", - "biomaterial_description": "Skin cells from HPSI0214i-kucg_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "5bd6106c-0158-4c2c-8c60-32019c599c83", - "submission_date": "2018-10-11T21:18:02.525Z", - "update_date": "2018-10-11T21:18:06.627Z" - } - }, - "donor_organism/ef7e6ac7-172a-4b24-9620-fc909a5e9c6c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg", - "biomaterial_name": "donor HPSI0214i-kucg", - "biomaterial_description": "donor HPSI0214i-kucg_2, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2397923" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "male", - "organism_age": "65-69", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "hancestro:0462" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "ef7e6ac7-172a-4b24-9620-fc909a5e9c6c", - "submission_date": "2018-10-11T21:18:02.467Z", - "update_date": "2018-10-11T21:18:06.720Z" - } - }, - "cell_line/a3651f83-dee6-49b2-ba4e-0ce20f02467d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik_1", - "biomaterial_name": "iPS cell line hoik_1", - "biomaterial_description": "iPS cell line hoik_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2698315" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650129", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0314i-hoik_1", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 28, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2015-02-02T00:00:00Z", - "provenance": { - "document_id": "a3651f83-dee6-49b2-ba4e-0ce20f02467d", - "submission_date": "2018-10-11T21:18:02.597Z", - "update_date": "2018-10-11T21:18:06.795Z" - } - }, - "specimen_from_organism/8f328973-9bc0-46b9-8a1f-38893e77b3b5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik_skin", - "biomaterial_name": "Skin cells from HPSI0314i-hoik_skin", - "biomaterial_description": "Skin cells from HPSI0314i-hoik_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "8f328973-9bc0-46b9-8a1f-38893e77b3b5", - "submission_date": "2018-10-11T21:18:02.542Z", - "update_date": "2018-10-11T21:18:06.643Z" - } - }, - "donor_organism/931528fa-820b-49ca-af1e-ae9a2c0ef551": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik", - "biomaterial_name": "donor HPSI0314i-hoik", - "biomaterial_description": "donor HPSI0314i-hoik_1, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2399961" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "female", - "organism_age": "65-69", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "hancestro:0462" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "931528fa-820b-49ca-af1e-ae9a2c0ef551", - "submission_date": "2018-10-11T21:18:02.477Z", - "update_date": "2018-10-11T21:18:06.762Z" - } - }, - "cell_line/6a16de30-176d-4488-81de-9337a1a6d8c5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd_3", - "biomaterial_name": "iPS cell line sojd_3", - "biomaterial_description": "iPS cell line sojd_3", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2627569" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650126", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0314i-sojd_3", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 29, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2015-01-09T00:00:00Z", - "provenance": { - "document_id": "6a16de30-176d-4488-81de-9337a1a6d8c5", - "submission_date": "2018-10-11T21:18:02.618Z", - "update_date": "2018-10-11T21:18:06.634Z" - } - }, - "specimen_from_organism/82368936-7b99-4864-9f49-b8fee3906d47": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd_skin", - "biomaterial_name": "Skin cells from HPSI0314i-sojd_skin", - "biomaterial_description": "Skin cells from HPSI0314i-sojd_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "82368936-7b99-4864-9f49-b8fee3906d47", - "submission_date": "2018-10-11T21:18:02.552Z", - "update_date": "2018-10-11T21:18:06.743Z" - } - }, - "donor_organism/96757312-0221-447a-84f1-7a737b5afd01": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd", - "biomaterial_name": "donor HPSI0314i-sojd", - "biomaterial_description": "donor HPSI0314i-sojd_3, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2418245" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "female", - "organism_age": "45-49", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "White - other, Ad Mixed American", - "ontology": "hancestro:0463" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "96757312-0221-447a-84f1-7a737b5afd01", - "submission_date": "2018-10-11T21:18:02.486Z", - "update_date": "2018-10-11T21:18:06.767Z" - } - }, - "analysis_file/cf93f747-1392-4670-8eb3-3ac60a96855e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "barcodes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "cf93f747-1392-4670-8eb3-3ac60a96855e", - "submission_date": "2018-10-18T20:32:25.801Z", - "update_date": "2018-10-18T20:39:13.335Z" - } - }, - "analysis_file/477c0b3e-4a06-4214-8f27-58199ba63528": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "genes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "477c0b3e-4a06-4214-8f27-58199ba63528", - "submission_date": "2018-10-18T20:32:25.877Z", - "update_date": "2018-10-18T20:39:16.337Z" - } - }, - "analysis_file/ad6d5170-d74b-408c-af6b-25a14315c9da": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "matrix.mtx", - "file_format": "mtx" - }, - "provenance": { - "document_id": "ad6d5170-d74b-408c-af6b-25a14315c9da", - "submission_date": "2018-10-18T20:32:25.951Z", - "update_date": "2018-10-18T20:39:25.337Z" - } - }, - "analysis_file/50be9b67-fae5-4472-9719-478dd1303d6e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "filtered_gene_bc_matrices_h5.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "50be9b67-fae5-4472-9719-478dd1303d6e", - "submission_date": "2018-10-18T20:32:26.026Z", - "update_date": "2018-10-18T20:39:22.340Z" - } - }, - "analysis_file/fd16b62e-e540-4f03-8ba0-07d0c204e3c8": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "metrics_summary.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "fd16b62e-e540-4f03-8ba0-07d0c204e3c8", - "submission_date": "2018-10-18T20:32:26.097Z", - "update_date": "2018-10-18T20:37:28.333Z" - } - }, - "analysis_file/3c41b5b6-f480-4d47-8c5e-155e7c1adf54": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "molecule_info.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "3c41b5b6-f480-4d47-8c5e-155e7c1adf54", - "submission_date": "2018-10-18T20:32:26.174Z", - "update_date": "2018-10-18T20:40:01.344Z" - } - }, - "analysis_file/022a217c-384d-4d9d-8631-6397b6838e3a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "possorted_genome_bam.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "022a217c-384d-4d9d-8631-6397b6838e3a", - "submission_date": "2018-10-18T20:32:26.243Z", - "update_date": "2018-10-18T20:45:01.366Z" - } - }, - "analysis_file/9b778e46-0c51-4260-8e3f-000ecc145f0a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "possorted_genome_bam.bam.bai", - "file_format": "bai" - }, - "provenance": { - "document_id": "9b778e46-0c51-4260-8e3f-000ecc145f0a", - "submission_date": "2018-10-18T20:32:26.313Z", - "update_date": "2018-10-18T20:39:10.339Z" - } - }, - "analysis_file/af025a74-53f1-4972-b50d-53095b5ffac2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_gene_bc_matrices_h5.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "af025a74-53f1-4972-b50d-53095b5ffac2", - "submission_date": "2018-10-18T20:32:26.383Z", - "update_date": "2018-10-18T20:39:40.335Z" - } - }, - "analysis_file/e8395271-7c8e-4ec4-9598-495df43fe5fd": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "web_summary.html", - "file_format": "unknown" - }, - "provenance": { - "document_id": "e8395271-7c8e-4ec4-9598-495df43fe5fd", - "submission_date": "2018-10-18T20:32:26.453Z", - "update_date": "2018-10-18T20:39:55.336Z" - } - }, - "analysis_file/211a8fbf-b190-4576-ac2f-2b1a91743abb": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_barcodes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "211a8fbf-b190-4576-ac2f-2b1a91743abb", - "submission_date": "2018-10-18T20:32:26.528Z", - "update_date": "2018-10-18T20:39:58.363Z" - } - }, - "analysis_file/17222e3a-5757-45e9-9dfe-c4b6aa10f28a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_genes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "17222e3a-5757-45e9-9dfe-c4b6aa10f28a", - "submission_date": "2018-10-18T20:32:26.603Z", - "update_date": "2018-10-18T20:39:58.363Z" - } - }, - "analysis_file/2fb8a975-b50c-4528-b850-838a19e19a1e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_matrix.mtx", - "file_format": "mtx" - }, - "provenance": { - "document_id": "2fb8a975-b50c-4528-b850-838a19e19a1e", - "submission_date": "2018-10-18T20:32:26.681Z", - "update_date": "2018-10-18T20:40:13.334Z" - } - }, - "sequence_file/213381ea-6161-4159-853e-cfcae4968001": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_2_S6_L008_I1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "892321d611c15d8b6543aa8e70b287cb" - }, - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "provenance": { - "document_id": "213381ea-6161-4159-853e-cfcae4968001", - "submission_date": "2018-10-11T21:18:01.964Z", - "update_date": "2018-10-18T20:32:16.894Z" - } - }, - "sequence_file/9ee3da9e-83ca-4c02-84d6-ac09702b12ba": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_2_S6_L008_R1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "1c171b7e43b5048693839e26532c612c" - }, - "read_index": "read1", - "lane_index": 8, - "read_length": 26, - "provenance": { - "document_id": "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "submission_date": "2018-10-11T21:18:01.979Z", - "update_date": "2018-10-18T20:32:18.864Z" - } - }, - "sequence_file/330a08ca-ae8e-4f1f-aa03-970abcd27f39": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_2_S6_L008_R2_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "dc13142325a6033063b9eb0ddbca1454" - }, - "read_index": "read2", - "lane_index": 8, - "read_length": 100, - "provenance": { - "document_id": "330a08ca-ae8e-4f1f-aa03-970abcd27f39", - "submission_date": "2018-10-11T21:18:01.990Z", - "update_date": "2018-10-18T20:32:20.845Z" - } - }, - "supplementary_file/281c2d08-9e43-47f9-b937-e733e3ba3322": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "hipsci-ipsc-pipeline.pdf", - "file_format": "pdf" - }, - "file_description": "iPSC induction by Sendai virus protocol.", - "provenance": { - "document_id": "281c2d08-9e43-47f9-b937-e733e3ba3322", - "submission_date": "2018-10-11T21:18:01.623Z", - "update_date": "2018-10-18T20:40:54.699Z" - } - }, - "supplementary_file/ae1d6fa7-964f-465a-8c78-565206827434": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "Dissociation_protocol_130-092-628.pdf", - "file_format": "pdf" - }, - "file_description": "Cerebral organoid dissociation protocol.", - "provenance": { - "document_id": "ae1d6fa7-964f-465a-8c78-565206827434", - "submission_date": "2018-10-11T21:18:01.642Z", - "update_date": "2018-10-18T20:40:55.940Z" - } - }, - "supplementary_file/f518a8cc-e1d9-4fc9-bc32-491dd8543902": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf", - "file_format": "pdf" - }, - "file_description": "10x Chromium single cell 3' v2 library preparation.", - "provenance": { - "document_id": "f518a8cc-e1d9-4fc9-bc32-491dd8543902", - "submission_date": "2018-10-11T21:18:01.654Z", - "update_date": "2018-10-18T20:40:57.146Z" - } - }, - "project/2c5724a4-7252-409e-b008-ff5c127c7e89": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "HPSI human cerebral organoids2", - "project_title": "Assessing the relevance of organoids to model inter-individual variation2", - "project_description": "The purpose of this project is to assess the relevance of pluripotent stem cell-derived cerebral and liver organoids to recapitulate the variation in cell-type specific gene expression programs between individuals. Towards this aim, we will generate reference atlases of the developing cortex and liver from multiple individuals, derive iPSC lines from these same individuals, and determine if inter-individual gene expression variation is recapitulated in cerebral and liver organoids from the same individual from which we have reference maps. In parallel we will assess the genetic contribution to variablity between organoids from different iPSCs of multiple human individuals that are available in existing iPSC resources (e.g. HipSci)." - }, - "contributors": [ - { - "contact_name": "Barbara,,Treutlein", - "email": "barbara_treutlein@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "project_role": "principal investigator", - "orcid_id": "0000-0002-3299-5597", - "corresponding_contributor": true - }, - { - "contact_name": "J,Gray,Camp", - "email": "gray_camp@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Zhisong,,He", - "email": "zhisong_he@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Sabina,,Kanton", - "email": "sabina_kanton@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Mallory,Ann,Freeberg", - "email": "mfreeberg@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2949-3921", - "corresponding_contributor": false - } - ], - "provenance": { - "document_id": "2c5724a4-7252-409e-b008-ff5c127c7e89", - "submission_date": "2018-10-11T21:18:01.605Z", - "update_date": "2018-10-11T21:18:06.651Z" - } - }, - "library_preparation_protocol/92277226-bf78-4df9-a594-5190a8790a14": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "10x_3'_library_preparation", - "protocol_name": "10x 3' single cell library preparation", - "protocol_description": "10x Chromium single cell 3' v2 library preparation", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "Chromium 3' Single Cell v2", - "ontology": "EFO:0009310" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "unstranded", - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 15, - "barcode_length": 10 - }, - "library_construction_kit": { - "retail_name": "10X Chromium Single Cell 3' Solution v2 Chemistry", - "manufacturer": "10X Genomics" - }, - "provenance": { - "document_id": "92277226-bf78-4df9-a594-5190a8790a14", - "submission_date": "2018-10-11T21:18:02.895Z", - "update_date": "2018-10-11T21:18:12.704Z" - } - }, - "sequencing_protocol/102cdbf3-b0e5-4dd5-9168-51150a9ebb6b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "10x_scRNASeq", - "protocol_name": "10x single cell RNA Sequencing", - "protocol_description": "10x RNA sequencing", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565" - }, - "paired_end": true, - "sequencing_approach": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440" - }, - "provenance": { - "document_id": "102cdbf3-b0e5-4dd5-9168-51150a9ebb6b", - "submission_date": "2018-10-11T21:18:02.905Z", - "update_date": "2018-10-11T21:18:12.667Z" - } - }, - "dissociation_protocol/755762e0-7aff-48ed-a7d4-d3ea4005758f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Cerebral_organoid_dissociation", - "protocol_name": "cerebral organoid dissociation", - "protocol_description": "cerebral organoid dissociation", - "document": "Dissociation_protocol_130-092-628.pdf" - }, - "dissociation_method": { - "text": "Papain-based enzymatic dissociation", - "ontology": "EFO:0009128" - }, - "protocol_reagents": [ - { - "retail_name": "Neural Tissue Dissociation Kit", - "catalog_number": "130-092-628", - "manufacturer": "Miltenyi Biotec" - } - ], - "provenance": { - "document_id": "755762e0-7aff-48ed-a7d4-d3ea4005758f", - "submission_date": "2018-10-11T21:18:02.886Z", - "update_date": "2018-10-11T21:18:12.751Z" - } - }, - "differentiation_protocol/8f4a8e7c-e7ee-44dc-8e09-f4012355060f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/1.3.0/differentiation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Org_Lanc_2014", - "protocol_name": "Differentiation of cerebral organoids", - "protocol_description": "Generation of cerebral organoids from human pluripotent stem cells", - "publication_doi": "10.1038/nprot.2014.158" - }, - "differentiation_method": "embryoid bodies", - "target_pathway": "RHO, ROCK", - "validation_method": "immunostaining", - "reagents": [ - { - "retail_name": "ROCK inhibitor Y27632" - } - ], - "small_molecules": "Vitamin A (retinoic acid)", - "provenance": { - "document_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f", - "submission_date": "2018-10-11T21:18:02.876Z", - "update_date": "2018-10-11T21:18:12.764Z" - } - }, - "ipsc_induction_protocol/cdfe38f2-1d90-4700-a199-d8105ce299df": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/2.0.1/ipsc_induction_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "ipsc_induction_protocol_1", - "protocol_name": "iPSC induction by Sendai virus", - "protocol_description": "Fibroblasts are thawed, transduced using Cytotune 2.0 Sendai virus (containing the Yamanaka genes encoding transcription factors Oct4, Sox2, cMyc and Klf4) and maintained until iPSC colony formation. Colonies are then picked and cultured to obtain a sizable yield of IPS cells, which are banked to a commercial grade standard. These banks then undergo quality checks to ensure the banks pass resuscitation tests and are free of mycoplasma.", - "document": "hipsci-ipsc-pipeline.pdf" - }, - "ipsc_induction_method": "sendai virus", - "pluripotency_vector_removed": "yes", - "ipsc_induction_kit": { - "retail_name": "Cytotune 1.0", - "manufacturer": "Thermofisher" - }, - "pluripotency_test": "HipSci Pluri test", - "ipsc_induction_produced_in_house": false, - "provenance": { - "document_id": "cdfe38f2-1d90-4700-a199-d8105ce299df", - "submission_date": "2018-10-11T21:18:02.867Z", - "update_date": "2018-10-11T21:18:06.713Z" - } - }, - "analysis_process/228fd33a-3627-4dea-bda9-e9cdc3b924b6": { - "analysis_run_type": "run", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/analysis/8.0.3/analysis_process", - "input_bundles": [ - "a2f76df2-a80f-4c66-8fdd-169ae350be4e" - ], - "inputs": [ - { - "parameter_name": "fastqs", - "parameter_value": "/cromwell_root/org-humancellatlas-dss-checkout-staging/bundles/a2f76df2-a80f-4c66-8fdd-169ae350be4e.2018-10-11T220441.424590Z/GAC027_hOrg_HipSci_2_S6_L008_R1_001.fastq.gz, /cromwell_root/org-humancellatlas-dss-checkout-staging/bundles/a2f76df2-a80f-4c66-8fdd-169ae350be4e.2018-10-11T220441.424590Z/GAC027_hOrg_HipSci_2_S6_L008_R2_001.fastq.gz, /cromwell_root/org-humancellatlas-dss-checkout-staging/bundles/a2f76df2-a80f-4c66-8fdd-169ae350be4e.2018-10-11T220441.424590Z/GAC027_hOrg_HipSci_2_S6_L008_I1_001.fastq.gz" - }, - { - "parameter_name": "sample_id", - "parameter_value": "803fd65a-c578-4c4f-a39e-bedec24e2578" - }, - { - "parameter_name": "reference_name", - "parameter_value": "GRCh38" - }, - { - "parameter_name": "transcriptome_tar_gz", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_GencodeV27_Primary_CellRanger.tar" - }, - { - "parameter_name": "expect_cells", - "parameter_value": "5000" - } - ], - "outputs": [ - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "barcodes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "genes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "mtx", - "file_name": "matrix.mtx" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "filtered_gene_bc_matrices_h5.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "metrics_summary.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "molecule_info.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bam", - "file_name": "possorted_genome_bam.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bai", - "file_name": "possorted_genome_bam.bam.bai" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "raw_gene_bc_matrices_h5.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "web_summary.html" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "raw_barcodes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "raw_genes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "mtx", - "file_name": "raw_matrix.mtx" - }, - "schema_type": "file" - } - ], - "process_core": { - "process_id": "41422884-4d87-4f84-8ae1-aa71eba2df23" - }, - "process_type": { - "text": "analysis" - }, - "reference_bundle": "bf51d668-3e14-4843-9bc7-5d676fdf0e01", - "schema_type": "process", - "tasks": [ - { - "cpus": 64, - "disk_size": "local-disk 250 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-cellranger:v1.0.0", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/Adapter10xCount/af8aea8f-d962-4ac7-9d38-05d0271e62ea/call-analysis/CellRanger.CellRanger/41422884-4d87-4f84-8ae1-aa71eba2df23/call-cellranger_count/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/Adapter10xCount/af8aea8f-d962-4ac7-9d38-05d0271e62ea/call-analysis/CellRanger.CellRanger/41422884-4d87-4f84-8ae1-aa71eba2df23/call-cellranger_count/stdout", - "memory": "416 GB", - "start_time": "2018-10-18T18:34:35.134Z", - "stop_time": "2018-10-18T20:26:15.377Z", - "task_name": "cellranger_count", - "zone": "us-central1-b" - } - ], - "timestamp_start_utc": "2018-10-18T18:34:33.085Z", - "timestamp_stop_utc": "2018-10-18T20:26:16.765Z", - "provenance": { - "document_id": "228fd33a-3627-4dea-bda9-e9cdc3b924b6", - "submission_date": "2018-10-18T20:32:14.657Z", - "update_date": "2018-10-18T20:32:19.562Z" - } - }, - "process/a2510b8c-8c92-4fe4-bc06-5e4e92093545": { - "process_core": { - "process_id": "tech_rep_4" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a2510b8c-8c92-4fe4-bc06-5e4e92093545", - "submission_date": "2018-10-11T21:18:02.960Z", - "update_date": "2018-10-11T21:18:12.743Z" - } - }, - "process/c7b6e9fe-6f08-41a9-8907-9c0347e6d604": { - "process_core": { - "process_id": "process_id_22" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c7b6e9fe-6f08-41a9-8907-9c0347e6d604", - "submission_date": "2018-10-11T21:18:03.340Z", - "update_date": "2018-10-11T21:18:10.787Z" - } - }, - "process/0d1d507d-4246-4b1c-8836-261d42f784eb": { - "process_core": { - "process_id": "process_id_10" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0d1d507d-4246-4b1c-8836-261d42f784eb", - "submission_date": "2018-10-11T21:18:03.113Z", - "update_date": "2018-10-11T21:18:10.859Z" - } - }, - "process/5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0": { - "process_core": { - "process_id": "process_id_5" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0", - "submission_date": "2018-10-11T21:18:03.057Z", - "update_date": "2018-10-11T21:18:10.803Z" - } - }, - "process/54760853-d6ed-4149-9a49-53c4cddfd93c": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "54760853-d6ed-4149-9a49-53c4cddfd93c", - "submission_date": "2018-10-11T21:18:02.993Z", - "update_date": "2018-10-11T21:18:10.611Z" - } - }, - "process/d5ac7f5f-9a50-403e-9b8d-6e983a099826": { - "process_core": { - "process_id": "process_id_13" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d5ac7f5f-9a50-403e-9b8d-6e983a099826", - "submission_date": "2018-10-11T21:18:03.149Z", - "update_date": "2018-10-11T21:18:11.909Z" - } - }, - "process/53f025f5-931a-4b6e-9a9b-545b5b881710": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "53f025f5-931a-4b6e-9a9b-545b5b881710", - "submission_date": "2018-10-11T21:18:03.067Z", - "update_date": "2018-10-11T21:18:10.866Z" - } - }, - "process/45c67d31-0b05-4d5e-b215-e50e1b2b125c": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "45c67d31-0b05-4d5e-b215-e50e1b2b125c", - "submission_date": "2018-10-11T21:18:03.005Z", - "update_date": "2018-10-11T21:18:10.656Z" - } - }, - "process/fe0d9d3a-56be-41ca-9fdf-70c8c637fd62": { - "process_core": { - "process_id": "process_id_16" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "fe0d9d3a-56be-41ca-9fdf-70c8c637fd62", - "submission_date": "2018-10-11T21:18:03.269Z", - "update_date": "2018-10-11T21:18:10.879Z" - } - }, - "process/4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc": { - "process_core": { - "process_id": "process_id_7" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc", - "submission_date": "2018-10-11T21:18:03.080Z", - "update_date": "2018-10-11T21:18:10.699Z" - } - }, - "process/76e685c9-fcf2-4582-bbfa-5e0369eb5bdb": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "76e685c9-fcf2-4582-bbfa-5e0369eb5bdb", - "submission_date": "2018-10-11T21:18:03.016Z", - "update_date": "2018-10-11T21:18:11.587Z" - } - }, - "process/bce97917-252e-40f2-af8e-df591099acd8": { - "process_core": { - "process_id": "process_id_19" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "bce97917-252e-40f2-af8e-df591099acd8", - "submission_date": "2018-10-11T21:18:03.300Z", - "update_date": "2018-10-11T21:18:11.481Z" - } - }, - "process/6458ae59-0aed-471e-95a0-4de534d449ca": { - "process_core": { - "process_id": "process_id_8" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6458ae59-0aed-471e-95a0-4de534d449ca", - "submission_date": "2018-10-11T21:18:03.090Z", - "update_date": "2018-10-11T21:18:10.788Z" - } - }, - "process/bb2365b9-5a5b-436f-92e3-4fc6d86a9efd": { - "process_core": { - "process_id": "process_id_4" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "bb2365b9-5a5b-436f-92e3-4fc6d86a9efd", - "submission_date": "2018-10-11T21:18:03.026Z", - "update_date": "2018-10-11T21:18:10.586Z" - } - } - }, - "links": { - "describedBy": "http://schema.staging.data.humancellatlas.org/system/1.1.3/links", - "schema_type": "link_bundle", - "schema_version": "1.1.3", - "links": [ - { - "process": "228fd33a-3627-4dea-bda9-e9cdc3b924b6", - "inputs": [ - "281c2d08-9e43-47f9-b937-e733e3ba3322", - "ae1d6fa7-964f-465a-8c78-565206827434", - "f518a8cc-e1d9-4fc9-bc32-491dd8543902", - "213381ea-6161-4159-853e-cfcae4968001", - "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "330a08ca-ae8e-4f1f-aa03-970abcd27f39" - ], - "input_type": "file", - "outputs": [ - "cf93f747-1392-4670-8eb3-3ac60a96855e", - "477c0b3e-4a06-4214-8f27-58199ba63528", - "ad6d5170-d74b-408c-af6b-25a14315c9da", - "50be9b67-fae5-4472-9719-478dd1303d6e", - "fd16b62e-e540-4f03-8ba0-07d0c204e3c8", - "3c41b5b6-f480-4d47-8c5e-155e7c1adf54", - "022a217c-384d-4d9d-8631-6397b6838e3a", - "9b778e46-0c51-4260-8e3f-000ecc145f0a", - "af025a74-53f1-4972-b50d-53095b5ffac2", - "e8395271-7c8e-4ec4-9598-495df43fe5fd", - "211a8fbf-b190-4576-ac2f-2b1a91743abb", - "17222e3a-5757-45e9-9dfe-c4b6aa10f28a", - "2fb8a975-b50c-4528-b850-838a19e19a1e" - ], - "output_type": "file", - "protocols": [] - }, - { - "process": "a2510b8c-8c92-4fe4-bc06-5e4e92093545", - "inputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "input_type": "biomaterial", - "outputs": [ - "213381ea-6161-4159-853e-cfcae4968001", - "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "330a08ca-ae8e-4f1f-aa03-970abcd27f39" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "92277226-bf78-4df9-a594-5190a8790a14" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "102cdbf3-b0e5-4dd5-9168-51150a9ebb6b" - } - ] - }, - { - "process": "c7b6e9fe-6f08-41a9-8907-9c0347e6d604", - "inputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d", - "b7214641-1ac5-4f60-b795-cb33a7c25434", - "308eea51-d14b-4036-8cd1-cfd81d7532c3", - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "input_type": "biomaterial", - "outputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "755762e0-7aff-48ed-a7d4-d3ea4005758f" - } - ] - }, - { - "process": "0d1d507d-4246-4b1c-8836-261d42f784eb", - "inputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "input_type": "biomaterial", - "outputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0", - "inputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "input_type": "biomaterial", - "outputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "54760853-d6ed-4149-9a49-53c4cddfd93c", - "inputs": [ - "d4c29b1a-f23c-4511-a2ae-097772d90254" - ], - "input_type": "biomaterial", - "outputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "d5ac7f5f-9a50-403e-9b8d-6e983a099826", - "inputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "input_type": "biomaterial", - "outputs": [ - "b7214641-1ac5-4f60-b795-cb33a7c25434" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "53f025f5-931a-4b6e-9a9b-545b5b881710", - "inputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "input_type": "biomaterial", - "outputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "45c67d31-0b05-4d5e-b215-e50e1b2b125c", - "inputs": [ - "ef7e6ac7-172a-4b24-9620-fc909a5e9c6c" - ], - "input_type": "biomaterial", - "outputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "fe0d9d3a-56be-41ca-9fdf-70c8c637fd62", - "inputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "input_type": "biomaterial", - "outputs": [ - "308eea51-d14b-4036-8cd1-cfd81d7532c3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc", - "inputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "input_type": "biomaterial", - "outputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "76e685c9-fcf2-4582-bbfa-5e0369eb5bdb", - "inputs": [ - "931528fa-820b-49ca-af1e-ae9a2c0ef551" - ], - "input_type": "biomaterial", - "outputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "bce97917-252e-40f2-af8e-df591099acd8", - "inputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "input_type": "biomaterial", - "outputs": [ - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "6458ae59-0aed-471e-95a0-4de534d449ca", - "inputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "input_type": "biomaterial", - "outputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "bb2365b9-5a5b-436f-92e3-4fc6d86a9efd", - "inputs": [ - "96757312-0221-447a-84f1-7a737b5afd01" - ], - "input_type": "biomaterial", - "outputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "a2510b8c-8c92-4fe4-bc06-5e4e92093545", - "inputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "input_type": "biomaterial", - "outputs": [ - "213381ea-6161-4159-853e-cfcae4968001", - "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "330a08ca-ae8e-4f1f-aa03-970abcd27f39" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "92277226-bf78-4df9-a594-5190a8790a14" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "102cdbf3-b0e5-4dd5-9168-51150a9ebb6b" - } - ] - }, - { - "process": "c7b6e9fe-6f08-41a9-8907-9c0347e6d604", - "inputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d", - "b7214641-1ac5-4f60-b795-cb33a7c25434", - "308eea51-d14b-4036-8cd1-cfd81d7532c3", - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "input_type": "biomaterial", - "outputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "755762e0-7aff-48ed-a7d4-d3ea4005758f" - } - ] - }, - { - "process": "0d1d507d-4246-4b1c-8836-261d42f784eb", - "inputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "input_type": "biomaterial", - "outputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0", - "inputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "input_type": "biomaterial", - "outputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "54760853-d6ed-4149-9a49-53c4cddfd93c", - "inputs": [ - "d4c29b1a-f23c-4511-a2ae-097772d90254" - ], - "input_type": "biomaterial", - "outputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "d5ac7f5f-9a50-403e-9b8d-6e983a099826", - "inputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "input_type": "biomaterial", - "outputs": [ - "b7214641-1ac5-4f60-b795-cb33a7c25434" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "53f025f5-931a-4b6e-9a9b-545b5b881710", - "inputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "input_type": "biomaterial", - "outputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "45c67d31-0b05-4d5e-b215-e50e1b2b125c", - "inputs": [ - "ef7e6ac7-172a-4b24-9620-fc909a5e9c6c" - ], - "input_type": "biomaterial", - "outputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "fe0d9d3a-56be-41ca-9fdf-70c8c637fd62", - "inputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "input_type": "biomaterial", - "outputs": [ - "308eea51-d14b-4036-8cd1-cfd81d7532c3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc", - "inputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "input_type": "biomaterial", - "outputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "76e685c9-fcf2-4582-bbfa-5e0369eb5bdb", - "inputs": [ - "931528fa-820b-49ca-af1e-ae9a2c0ef551" - ], - "input_type": "biomaterial", - "outputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "bce97917-252e-40f2-af8e-df591099acd8", - "inputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "input_type": "biomaterial", - "outputs": [ - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "6458ae59-0aed-471e-95a0-4de534d449ca", - "inputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "input_type": "biomaterial", - "outputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "bb2365b9-5a5b-436f-92e3-4fc6d86a9efd", - "inputs": [ - "96757312-0221-447a-84f1-7a737b5afd01" - ], - "input_type": "biomaterial", - "outputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "a2510b8c-8c92-4fe4-bc06-5e4e92093545", - "inputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "input_type": "biomaterial", - "outputs": [ - "213381ea-6161-4159-853e-cfcae4968001", - "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "330a08ca-ae8e-4f1f-aa03-970abcd27f39" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "92277226-bf78-4df9-a594-5190a8790a14" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "102cdbf3-b0e5-4dd5-9168-51150a9ebb6b" - } - ] - }, - { - "process": "c7b6e9fe-6f08-41a9-8907-9c0347e6d604", - "inputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d", - "b7214641-1ac5-4f60-b795-cb33a7c25434", - "308eea51-d14b-4036-8cd1-cfd81d7532c3", - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "input_type": "biomaterial", - "outputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "755762e0-7aff-48ed-a7d4-d3ea4005758f" - } - ] - }, - { - "process": "0d1d507d-4246-4b1c-8836-261d42f784eb", - "inputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "input_type": "biomaterial", - "outputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0", - "inputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "input_type": "biomaterial", - "outputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "54760853-d6ed-4149-9a49-53c4cddfd93c", - "inputs": [ - "d4c29b1a-f23c-4511-a2ae-097772d90254" - ], - "input_type": "biomaterial", - "outputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "d5ac7f5f-9a50-403e-9b8d-6e983a099826", - "inputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "input_type": "biomaterial", - "outputs": [ - "b7214641-1ac5-4f60-b795-cb33a7c25434" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "53f025f5-931a-4b6e-9a9b-545b5b881710", - "inputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "input_type": "biomaterial", - "outputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "45c67d31-0b05-4d5e-b215-e50e1b2b125c", - "inputs": [ - "ef7e6ac7-172a-4b24-9620-fc909a5e9c6c" - ], - "input_type": "biomaterial", - "outputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "fe0d9d3a-56be-41ca-9fdf-70c8c637fd62", - "inputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "input_type": "biomaterial", - "outputs": [ - "308eea51-d14b-4036-8cd1-cfd81d7532c3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc", - "inputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "input_type": "biomaterial", - "outputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "76e685c9-fcf2-4582-bbfa-5e0369eb5bdb", - "inputs": [ - "931528fa-820b-49ca-af1e-ae9a2c0ef551" - ], - "input_type": "biomaterial", - "outputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "bce97917-252e-40f2-af8e-df591099acd8", - "inputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "input_type": "biomaterial", - "outputs": [ - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "6458ae59-0aed-471e-95a0-4de534d449ca", - "inputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "input_type": "biomaterial", - "outputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "bb2365b9-5a5b-436f-92e3-4fc6d86a9efd", - "inputs": [ - "96757312-0221-447a-84f1-7a737b5afd01" - ], - "input_type": "biomaterial", - "outputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/4426adc5-b3c5-5aab-ab86-51d8ce44dfbe.tdr.hca.json b/test/indexer/data/4426adc5-b3c5-5aab-ab86-51d8ce44dfbe.tdr.hca.json deleted file mode 100644 index f1e47f9431..0000000000 --- a/test/indexer/data/4426adc5-b3c5-5aab-ab86-51d8ce44dfbe.tdr.hca.json +++ /dev/null @@ -1,849 +0,0 @@ -{ - "manifest": { - "analysis_file/b8b76328-854c-5862-a688-9b761a9cea86": { - "name": "6f5ddf2c-382d-4c0a-a506-3a5286067c83_qc.bam.bai", - "uuid": "23b7f3f8-b707-5f3c-b8e6-9173efa9dcf8", - "version": "2021-04-09T18:59:13.000000Z", - "content-type": "application/octet-stream", - "size": 1335488, - "indexed": false, - "drs_uri": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_6783e9b7-f3f3-4e4f-845f-0f3cc9743c91", - "crc32c": "776f1ec2", - "sha256": "1bb86ee570e328dcd72a684689ddd87c966209cfc4b2b5c36e50dd0e4c156cab", - "sha1": null, - "s3_etag": null - }, - "supplementary_file/e738a267-87fc-4070-abc7-b3be6442c6d0": { - "name": "TissueDissociationProtocol.pdf", - "uuid": "6578c322-7060-4c82-8469-9e54100e6b44", - "version": "2019-05-16T06:24:31.517373Z", - "content-type": "application/pdf", - "size": 32748, - "indexed": false, - "drs_uri": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_f2c46f89-130f-4972-8014-74129e7a0ac5", - "crc32c": "847325b6", - "sha1": "f2237ad0a776fd7057eb3d3498114c85e2f521d7", - "sha256": "6929799f227ae5f0b3e0167a6cf2bd683db097848af6ccde6329185212598779", - "s3_etag": "7e892bf8f6aa489ccb08a995c7f017e1" - }, - "supplementary_file/a06cb5d5-2675-4d64-aeb8-79e0103715f3": { - "name": "SmartSeq2_sequencing_protocol.pdf", - "uuid": "bf92ef4a-c422-44fb-bfc1-c2f86528b86b", - "version": "2019-05-16T06:24:31.828599Z", - "content-type": "application/pdf", - "size": 61134, - "indexed": false, - "drs_uri": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_f80622ef-aba2-460a-adcf-d2017bb54284", - "crc32c": "3658ec51", - "sha1": "9ec6ee2b6e2093681c1fed694b3a8c78a2aa3438", - "sha256": "9c93a354a8636c041a31ba6f3fb00ef20352e1b853d8080d63a654221cb35673", - "s3_etag": "2742e1e78f6d4663bf41d3080396695c" - }, - "analysis_file/7a015307-6db9-541f-aaae-db9fdb41000f": { - "name": "6f5ddf2c-382d-4c0a-a506-3a5286067c83_qc.bam", - "uuid": "c8e93df7-2623-5e86-890a-aca3e925795e", - "version": "2021-04-09T18:59:14.000000Z", - "content-type": "application/octet-stream", - "size": 1683777, - "indexed": false, - "drs_uri": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_3e8ae9cf-cb0c-40db-adf9-29289d2bceed", - "crc32c": "663a65bd", - "sha256": "ee0f3adaae040b58653e601c9c031e50d2537f05df6e4ce16e1f8e2cf48b50e4", - "sha1": null, - "s3_etag": null - }, - "supplementary_file/01a1d04b-05d0-4904-b627-68b0dc02bc17": { - "name": "SmartSeq2_RTPCR_protocol.pdf", - "uuid": "cd8e02d1-d0f9-4094-9a31-329931df60dc", - "version": "2019-05-16T06:24:31.672118Z", - "content-type": "application/pdf", - "size": 29230, - "indexed": false, - "drs_uri": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_4f8be791-addf-4633-991f-fdeda3bac8c8", - "crc32c": "b9364bfa", - "sha1": "89d9eb3f1b94f78a33d46c0288c2e81d4002049b", - "sha256": "2f6866c4ede92123f90dd15fb180fac56e33309b8fd3f4f52f263ed2f8af2f16", - "s3_etag": "846fd9e6b98041df46a1ddb94e85b6b9" - }, - "sequence_file/ee7404a4-c183-4a75-8bd1-34b5fc140e81": { - "name": "22167_7#271_1.fastq.gz", - "uuid": "ebf2947d-76d2-405b-a559-68c6ebb1b2d5", - "version": "2019-05-16T02:50:21.018890Z", - "content-type": "application/gzip", - "size": 718443, - "indexed": false, - "drs_uri": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_0800619e-5da7-4a4d-a082-3953ddc3e7fa", - "crc32c": "b679ed09", - "sha1": "4399c3035b32b61c5f82c56121fc7fff69b494c8", - "sha256": "9c74e575192defc4e6d40518fd590b6a13d134b3d87a97a6b5140b36f26ce01a", - "s3_etag": "8786a82f739d1848aa5be480faf65e70" - }, - "sequence_file/8f8b9587-237f-4995-9461-c96eac53d615": { - "name": "22167_7#271_2.fastq.gz", - "uuid": "f4132e3a-c468-4ca3-ad7b-b97b61054151", - "version": "2019-05-16T02:50:21.322397Z", - "content-type": "application/gzip", - "size": 761919, - "indexed": false, - "drs_uri": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_dc202bb3-425a-405f-99bd-75ac07a33131", - "crc32c": "0127ea62", - "sha1": "e7525d173fbbb5f1bcf5b2fa16ab67c6014c191a", - "sha256": "1f6c6f46078f45d6a308c819fe186ce25dcd36116497d9eb21990113c7fabb1e", - "s3_etag": "6aca4df2ef18b97243967887837c3bef" - } - }, - "metadata": { - "sequence_file/8f8b9587-237f-4995-9461-c96eac53d615": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.0.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "22167_7#271_2.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 7, - "provenance": { - "document_id": "8f8b9587-237f-4995-9461-c96eac53d615", - "submission_date": "2019-05-14T10:57:43.396Z", - "update_date": "2019-05-14T12:18:53.532Z" - } - }, - "sequence_file/ee7404a4-c183-4a75-8bd1-34b5fc140e81": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.0.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "22167_7#271_1.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 7, - "provenance": { - "document_id": "ee7404a4-c183-4a75-8bd1-34b5fc140e81", - "submission_date": "2019-05-14T10:57:43.387Z", - "update_date": "2019-05-14T12:13:41.926Z" - } - }, - "analysis_file/7a015307-6db9-541f-aaae-db9fdb41000f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "6f5ddf2c-382d-4c0a-a506-3a5286067c83_qc.bam", - "format": "bam" - }, - "provenance": { - "document_id": "7a015307-6db9-541f-aaae-db9fdb41000f", - "submission_date": "2020-08-10T14:24:26.174274-07:00" - }, - "schema_type": "file" - }, - "analysis_file/b8b76328-854c-5862-a688-9b761a9cea86": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "6f5ddf2c-382d-4c0a-a506-3a5286067c83_qc.bam.bai", - "format": "bai" - }, - "provenance": { - "document_id": "b8b76328-854c-5862-a688-9b761a9cea86", - "submission_date": "2020-08-10T14:24:26.174274-07:00" - }, - "schema_type": "file" - }, - "analysis_protocol/099457a1-a453-54c6-aae5-b70dafa33bbd": { - "computational_method": "https://dockstore.org/workflows/github.com/broadinstitute/warp/Smartseq2_Multisample:MultiSampleSmartSeq2_v2.1.4", - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/9.1.0/analysis_protocol", - "protocol_core": { - "protocol_id": "multisamplesmartseq2_v2.1.4" - }, - "provenance": { - "document_id": "099457a1-a453-54c6-aae5-b70dafa33bbd", - "submission_date": "2020-08-10T14:24:26.174274-07:00", - "update_date": "2020-08-10T14:24:26.174274-07:00" - }, - "schema_type": "protocol", - "type": { - "text": "analysis_protocol" - } - }, - "analysis_process/848c816e-4ae8-4c9a-9e3d-ebe447519ff4": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "fastq1", - "parameter_value": "drs://jade.datarepo-dev.broadinstitute.org/v1_9449a9f4-85aa-45cb-9fbf-cead88bf8f7d_0800619e-5da7-4a4d-a082-3953ddc3e7fa" - }, - { - "parameter_name": "gene_ref_flat", - "parameter_value": "gs://gcp-public-data--broad-references/mm10/v0/gencode.vM21.primary_assembly.annotation.refflat.txt" - }, - { - "parameter_name": "genome_ref_fasta", - "parameter_value": "gs://gcp-public-data--broad-references/mm10/v0/GRCm38.primary_assembly.genome.fa" - }, - { - "parameter_name": "hisat2_ref_index", - "parameter_value": "gs://gcp-public-data--broad-references/mm10/v0/hisat2_primary_gencode_mouse_vM21.tar.gz" - }, - { - "parameter_name": "hisat2_ref_name", - "parameter_value": "hisat2_primary_gencode_mouse_vM21" - }, - { - "parameter_name": "hisat2_ref_trans_name", - "parameter_value": "hisat2_from_rsem_star_primary_gencode_mouse_vM21" - }, - { - "parameter_name": "output_name", - "parameter_value": "6f5ddf2c-382d-4c0a-a506-3a5286067c83" - }, - { - "parameter_name": "rrna_intervals", - "parameter_value": "gs://gcp-public-data--broad-references/mm10/v0/gencode.vM21.primary_assembly.annotation.interval_list" - }, - { - "parameter_name": "rsem_ref_index", - "parameter_value": "gs://gcp-public-data--broad-references/mm10/v0/rsem_primary_gencode_mouse_vM21.tar" - }, - { - "parameter_name": "stranded", - "parameter_value": "NONE" - }, - { - "parameter_name": "input_id", - "parameter_value": "6f5ddf2c-382d-4c0a-a506-3a5286067c83" - }, - { - "parameter_name": "fastq2", - "parameter_value": "drs://jade.datarepo-dev.broadinstitute.org/v1_9449a9f4-85aa-45cb-9fbf-cead88bf8f7d_dc202bb3-425a-405f-99bd-75ac07a33131" - } - ], - "process_core": { - "process_id": "848c816e-4ae8-4c9a-9e3d-ebe447519ff4" - }, - "provenance": { - "document_id": "848c816e-4ae8-4c9a-9e3d-ebe447519ff4", - "submission_date": "2020-08-10T14:24:26.174274-07:00" - }, - "reference_files": [ - "dda2c496-82ec-5963-bc8b-1daae19d192d" - ], - "schema_type": "process", - "tasks": [], - "timestamp_start_utc": "2021-04-09T19:10:24.866Z", - "timestamp_stop_utc": "2021-04-09T19:19:49.287Z", - "type": { - "text": "analysis" - } - }, - "project/116965f3-f094-4769-9d28-ae675c1b569c": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Reprogrammed_Dendritic_Cells", - "project_title": "Single cell profiling of human induced dendritic cells generated by direct reprogramming of embryonic fibroblasts", - "project_description": "Dendritic cells (DCs) are professional antigen-presenting cells specialized in the recognition, processing and presentation of antigens to T-cells, inducing adaptive immune responses. We have identified PU.1, IRF8 and BATF3 transcription factors (TFs) to reprogram human fibroblasts into DC type 1 (DC1). Induced DCs acquire a step-wise DC1 transcriptional signature at the single cell level as assessed with droplet based scRNA-seq. Hence, we provide evidence that antigen presentation can be dynamically programmed by a small combination of TFs in human cells. Moreover, it represents a platform for generating autologous DC1, the most attractive DC subset for cancer immunotherapy." - }, - "contributors": [ - { - "name": "Filipe,,Pereira", - "email": "filipe.pereira@med.lu.se", - "phone": "+46 72 243 00 14", - "institution": "Lund University", - "laboratory": "Department of Laboratory Medicine", - "address": "S\u00f6lvegatan 17, BMC A12,\u00a0Lund", - "country": "Sweden", - "corresponding_contributor": true, - "project_role": { - "text": "Principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-9724-1382" - }, - { - "name": "F\u00e1bio,,Rosa", - "email": "fabio.rosa.1993@gmail.com", - "phone": "+351 914 765 335", - "institution": "Lund University", - "laboratory": "Department of Laboratory Medicine", - "address": "S\u00f6lvegatan 17, BMC A12,\u00a0Lund", - "country": "Sweden", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-7714-5852" - }, - { - "name": "Cristiana,,Pires", - "email": "cristiana.pires@med.lu.se", - "phone": "+351 916 838 690", - "institution": "Lund University", - "laboratory": "Department of Laboratory Medicine", - "address": "S\u00f6lvegatan 17, BMC A12,\u00a0Lund", - "country": "Sweden", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0003-3100-0903" - }, - { - "name": "Ilia,,Kurochkin", - "email": "ilia.kurochkin@skolkovotech.ru", - "phone": "+79 151 16 49 52", - "institution": "Skolkovo Institute of Science and Technology", - "laboratory": "Center for Neurobiology and Brain Restoration", - "address": "Moscow, 121205, Russia", - "country": "Russia", - "corresponding_contributor": false, - "project_role": { - "text": "Computational scientist", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0003-2985-6323" - }, - { - "name": "Enrique,,Sapena Ventura", - "email": "enrique@ebi.ac.uk", - "institution": "European Bioinformatics Institute", - "laboratory": "Human Cell Atlas Data coordination Platform", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "HCA Data Wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - } - ], - "funders": [ - { - "grant_title": "4-year career package: Wallenberg Centre for Molecular Medicine and Faculty of Medicine at Lund University", - "grant_id": "Not provided", - "organization": "Wallenberg Foundation" - }, - { - "grant_title": "Generating Dendritic Cells by Direct Reprogramming", - "grant_id": "20180864", - "organization": "Crafoord Foundation\u00a0(Lund)" - }, - { - "grant_title": "Generating Dendritic Cells by Direct Reprogramming", - "grant_id": "CAN 2017/745", - "organization": "Cancerfonden\u00a0(Lund)" - }, - { - "grant_title": "ReproDC: Generating Antigen Presenting Cells by Direct Reprogramming", - "grant_id": "CENTRO-01-0145-FEDER-030013", - "organization": "FCT\u00a0Funda\u00e7\u00e3o para a Ci\u00eancia e Tecnologia (Lisbon)" - }, - { - "grant_title": "Generating Dendritic Cells by Direct Cell Reprogramming", - "grant_id": "2018-02442", - "organization": "Swedish research council\u00a0(Lund)" - } - ], - "provenance": { - "document_id": "116965f3-f094-4769-9d28-ae675c1b569c", - "submission_date": "2019-10-03T10:54:38.894Z", - "update_date": "2019-10-03T10:54:44.192Z", - "schema_major_version": 14, - "schema_minor_version": 1 - } - }, - "enrichment_protocol/dd7f3d64-4b79-48f0-9d8c-4324594fe820": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.0.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "FACS11", - "protocol_name": "FACS sorting cells by surface markers" - }, - "method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD45- CD31+", - "provenance": { - "document_id": "dd7f3d64-4b79-48f0-9d8c-4324594fe820", - "submission_date": "2019-05-14T11:06:34.747Z", - "update_date": "2019-05-14T11:06:42.695Z" - } - }, - "specimen_from_organism/5d82b884-7db4-47fa-9ccd-03054065c509": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.2.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "1265/1274_skin", - "biomaterial_name": "Mouse_skin_control", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "skin", - "ontology": "UBERON:0002097", - "ontology_label": "skin of body" - }, - "provenance": { - "document_id": "5d82b884-7db4-47fa-9ccd-03054065c509", - "submission_date": "2019-05-14T11:01:26.961Z", - "update_date": "2019-05-14T11:59:17.317Z" - } - }, - "library_preparation_protocol/5b503dcb-dca6-4e4f-988b-f7100c030dc5": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.1.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "SmartSeq2_RTPCR_protocol", - "protocol_name": "Make/amplify cDNA for each cell", - "document": "SmartSeq2_RTPCR_protocol.pdf" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "library_construction_method": { - "text": "Smart-seq2", - "ontology": "EFO:0008931", - "ontology_label": "Smart-seq2" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "provenance": { - "document_id": "5b503dcb-dca6-4e4f-988b-f7100c030dc5", - "submission_date": "2019-05-14T11:06:34.760Z", - "update_date": "2019-05-14T11:06:42.648Z" - } - }, - "process/33e31f6f-fe78-45bd-ae57-10d2d14253cf": { - "process_core": { - "process_id": "process_id_4334" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.0.0/process", - "provenance": { - "document_id": "33e31f6f-fe78-45bd-ae57-10d2d14253cf", - "submission_date": "2019-05-14T11:18:26.609Z", - "update_date": "2019-05-14T12:29:57.858Z" - } - }, - "process/6f5ddf2c-382d-4c0a-a506-3a5286067c83": { - "process_core": { - "process_id": "proc_22167_7#271" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.0.0/process", - "provenance": { - "document_id": "6f5ddf2c-382d-4c0a-a506-3a5286067c83", - "submission_date": "2019-05-14T11:10:11.987Z", - "update_date": "2019-05-14T12:20:34.464Z" - } - }, - "process/c0d18b81-0b54-4a11-864b-cd3f43b7e7bf": { - "process_core": { - "process_id": "process_id_53" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.0.0/process", - "provenance": { - "document_id": "c0d18b81-0b54-4a11-864b-cd3f43b7e7bf", - "submission_date": "2019-05-14T11:12:16.527Z", - "update_date": "2019-05-14T12:26:53.666Z" - } - }, - "supplementary_file/01a1d04b-05d0-4904-b627-68b0dc02bc17": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.0.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "SmartSeq2_RTPCR_protocol.pdf", - "format": "pdf" - }, - "file_description": "Make/amplify cDNA for each cell", - "provenance": { - "document_id": "01a1d04b-05d0-4904-b627-68b0dc02bc17", - "submission_date": "2019-05-14T10:52:33.898Z", - "update_date": "2019-05-14T11:01:09.564Z" - } - }, - "supplementary_file/a06cb5d5-2675-4d64-aeb8-79e0103715f3": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.0.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "SmartSeq2_sequencing_protocol.pdf", - "format": "pdf" - }, - "file_description": "Sequencing SmartSeq2 cells", - "provenance": { - "document_id": "a06cb5d5-2675-4d64-aeb8-79e0103715f3", - "submission_date": "2019-05-14T10:52:33.907Z", - "update_date": "2019-05-14T11:01:09.596Z" - } - }, - "supplementary_file/e738a267-87fc-4070-abc7-b3be6442c6d0": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.0.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "TissueDissociationProtocol.pdf", - "format": "pdf" - }, - "file_description": "Extracting cells from lymph nodes", - "provenance": { - "document_id": "e738a267-87fc-4070-abc7-b3be6442c6d0", - "submission_date": "2019-05-14T10:52:33.892Z", - "update_date": "2019-05-14T11:01:15.816Z" - } - }, - "cell_suspension/201ae4d0-c7c6-4777-947f-18f5268884b6": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.1.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "22167_7#271", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "selected_cell_types": [ - { - "text": "CD31+ endothelial" - } - ], - "estimated_cell_count": 1, - "plate_based_sequencing": { - "plate_label": "821", - "well_label": "F04" - }, - "provenance": { - "document_id": "201ae4d0-c7c6-4777-947f-18f5268884b6", - "submission_date": "2019-05-14T11:04:35.954Z", - "update_date": "2019-05-14T12:06:23.503Z" - } - }, - "sequencing_protocol/eca2ab79-ad61-411f-815a-4f6d936d992b": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.0.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "SmartSeq2_sequencing_protocol", - "protocol_name": "Sequencing SmartSeq2 cells", - "document": "SmartSeq2_sequencing_protocol.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565", - "ontology_label": "Illumina HiSeq 2500" - }, - "paired_end": true, - "method": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441", - "ontology_label": "full length single cell RNA sequencing" - }, - "provenance": { - "document_id": "eca2ab79-ad61-411f-815a-4f6d936d992b", - "submission_date": "2019-05-14T11:06:34.790Z", - "update_date": "2019-05-14T11:06:42.648Z" - } - }, - "donor_organism/3211ef8f-a60c-4892-ae55-91d6752dcd75": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.3.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "1265/1274", - "biomaterial_name": "Mouse_skin_control", - "ncbi_taxon_id": [ - 10090 - ] - }, - "timecourse": { - "value": "0", - "unit": { - "text": "day", - "ontology": "UO:0000033", - "ontology_label": "day" - }, - "relevance": "Time after B16.F10 melanoma cells were injected, subcutaneously, into the shoulders of animals that animals were sacrificed and tissues collected for analysis." - }, - "mouse_specific": { - "strain": [ - { - "text": "C57BL/6", - "ontology": "EFO:0004472", - "ontology_label": "C57BL/6" - } - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organism_age": "6-12", - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "diseases": [ - { - "text": "subcutaneous melanoma", - "ontology": "MONDO:0005105", - "ontology_label": "melanoma (disease)" - } - ], - "is_living": "no", - "sex": "female", - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272", - "ontology_label": "adult" - }, - "provenance": { - "document_id": "3211ef8f-a60c-4892-ae55-91d6752dcd75", - "submission_date": "2019-05-14T11:01:25.832Z", - "update_date": "2019-05-14T11:29:52.575Z" - } - }, - "dissociation_protocol/fcba26aa-658c-4120-ab31-cc5a5a00f759": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.1.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "tissue_dissociation_protocol", - "protocol_name": "Extracting cells from lymph nodes", - "document": "TissueDissociationProtocol.pdf" - }, - "method": { - "text": "mechanical dissociation", - "ontology": "EFO:0009129", - "ontology_label": "mechanical dissociation" - }, - "provenance": { - "document_id": "fcba26aa-658c-4120-ab31-cc5a5a00f759", - "submission_date": "2019-05-14T11:06:34.561Z", - "update_date": "2019-05-14T11:06:42.781Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/3.0.0/links", - "schema_type": "links", - "schema_version": "3.0.0", - "links": [ - { - "inputs": [ - { - "input_id": "8f8b9587-237f-4995-9461-c96eac53d615", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "b8b76328-854c-5862-a688-9b761a9cea86", - "output_type": "analysis_file" - } - ], - "process_id": "848c816e-4ae8-4c9a-9e3d-ebe447519ff4", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "099457a1-a453-54c6-aae5-b70dafa33bbd", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "ee7404a4-c183-4a75-8bd1-34b5fc140e81", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "7a015307-6db9-541f-aaae-db9fdb41000f", - "output_type": "analysis_file" - } - ], - "process_id": "848c816e-4ae8-4c9a-9e3d-ebe447519ff4", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "099457a1-a453-54c6-aae5-b70dafa33bbd", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "6f5ddf2c-382d-4c0a-a506-3a5286067c83", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "201ae4d0-c7c6-4777-947f-18f5268884b6" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "8f8b9587-237f-4995-9461-c96eac53d615" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "5b503dcb-dca6-4e4f-988b-f7100c030dc5" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "eca2ab79-ad61-411f-815a-4f6d936d992b" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "33e31f6f-fe78-45bd-ae57-10d2d14253cf", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "5d82b884-7db4-47fa-9ccd-03054065c509" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "201ae4d0-c7c6-4777-947f-18f5268884b6" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "fcba26aa-658c-4120-ab31-cc5a5a00f759" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "dd7f3d64-4b79-48f0-9d8c-4324594fe820" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "6f5ddf2c-382d-4c0a-a506-3a5286067c83", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "201ae4d0-c7c6-4777-947f-18f5268884b6" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "ee7404a4-c183-4a75-8bd1-34b5fc140e81" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "5b503dcb-dca6-4e4f-988b-f7100c030dc5" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "eca2ab79-ad61-411f-815a-4f6d936d992b" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "c0d18b81-0b54-4a11-864b-cd3f43b7e7bf", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "3211ef8f-a60c-4892-ae55-91d6752dcd75" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5d82b884-7db4-47fa-9ccd-03054065c509" - } - ], - "protocols": [] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "116965f3-f094-4769-9d28-ae675c1b569c" - }, - "files": [ - { - "file_id": "e738a267-87fc-4070-abc7-b3be6442c6d0", - "file_type": "supplementary_file" - }, - { - "file_id": "01a1d04b-05d0-4904-b627-68b0dc02bc17", - "file_type": "supplementary_file" - }, - { - "file_id": "a06cb5d5-2675-4d64-aeb8-79e0103715f3", - "file_type": "supplementary_file" - } - ] - } - ] - }, - "stitched": [ - "01a1d04b-05d0-4904-b627-68b0dc02bc17", - "201ae4d0-c7c6-4777-947f-18f5268884b6", - "3211ef8f-a60c-4892-ae55-91d6752dcd75", - "33e31f6f-fe78-45bd-ae57-10d2d14253cf", - "5b503dcb-dca6-4e4f-988b-f7100c030dc5", - "5d82b884-7db4-47fa-9ccd-03054065c509", - "6578c322-7060-4c82-8469-9e54100e6b44", - "6f5ddf2c-382d-4c0a-a506-3a5286067c83", - "7a015307-6db9-541f-aaae-db9fdb41000f", - "8f8b9587-237f-4995-9461-c96eac53d615", - "a06cb5d5-2675-4d64-aeb8-79e0103715f3", - "bf92ef4a-c422-44fb-bfc1-c2f86528b86b", - "c0d18b81-0b54-4a11-864b-cd3f43b7e7bf", - "c8e93df7-2623-5e86-890a-aca3e925795e", - "cd8e02d1-d0f9-4094-9a31-329931df60dc", - "dd7f3d64-4b79-48f0-9d8c-4324594fe820", - "e738a267-87fc-4070-abc7-b3be6442c6d0", - "ebf2947d-76d2-405b-a559-68c6ebb1b2d5", - "eca2ab79-ad61-411f-815a-4f6d936d992b", - "ee7404a4-c183-4a75-8bd1-34b5fc140e81", - "f4132e3a-c468-4ca3-ad7b-b97b61054151", - "fcba26aa-658c-4120-ab31-cc5a5a00f759" - ] -} \ No newline at end of file diff --git a/test/indexer/data/4afbb0ea-81ad-49dc-9b12-9f77f4f50be8.dss.hca.json b/test/indexer/data/4afbb0ea-81ad-49dc-9b12-9f77f4f50be8.dss.hca.json deleted file mode 100644 index bd020732ef..0000000000 --- a/test/indexer/data/4afbb0ea-81ad-49dc-9b12-9f77f4f50be8.dss.hca.json +++ /dev/null @@ -1,12801 +0,0 @@ -{ - "manifest": { - "sequence_file/386d5eaf-ef6c-40d1-afd5-5f2813bc1272": { - "sha1": "e89a3100754042d8dcb555031e6c00ec48113b0b", - "name": "MantonCB2_HiSeq_6_S14_L003_R2_001.fastq.gz", - "uuid": "386d5eaf-ef6c-40d1-afd5-5f2813bc1272", - "crc32c": "00175f6e", - "version": "2018-03-29T09:02:54.555569Z", - "indexed": false, - "s3_etag": "133ad7b5040ff7d538e5ad3f2dabb769-56", - "sha256": "b85c51df1d7918d48ee523a15b6b5730c08ab7b79b8229667b3a00532c19d7b1", - "content-type": "application/gzip; dcp-type=data", - "size": 3751107694 - }, - "sequence_file/ad0ec998-0cc3-4f43-8104-3f14cb86cac5": { - "sha1": "1c3979051c62eae09068477f20db0201f26d5429", - "name": "MantonCB2_HiSeq_7_S15_L003_R1_001.fastq.gz", - "uuid": "ad0ec998-0cc3-4f43-8104-3f14cb86cac5", - "crc32c": "373e6166", - "version": "2018-03-29T09:02:57.549683Z", - "indexed": false, - "s3_etag": "7edb15ad53a2772e0e6c143e6749581d-19", - "sha256": "cf10670a64f1135ed3d391aa2f5edb9f34fed3ac8e0580ea9067b9348ee9cbc7", - "content-type": "application/gzip; dcp-type=data", - "size": 1219960071 - }, - "sequence_file/b80d05bc-c256-4689-a7a8-2e4d63e8ecb3": { - "sha1": "0630f27389bbabcd08722863946f7d215ab73f57", - "name": "MantonCB2_HiSeq_4_S12_L004_R1_001.fastq.gz", - "uuid": "b80d05bc-c256-4689-a7a8-2e4d63e8ecb3", - "crc32c": "672d8df9", - "version": "2018-03-29T09:02:49.904699Z", - "indexed": false, - "s3_etag": "6fd020e37c7127aecb31508dfcb921f4-20", - "sha256": "d4ce94f027fd9fdfbb36c3d043875268a8bc37903fe5c1cedcc2feda5a03f82e", - "content-type": "application/gzip; dcp-type=data", - "size": 1292784451 - }, - "sequence_file/e5dffb26-e7c6-4188-b99e-73e5033e1617": { - "sha1": "c4bc6dc1f57b43b0904722cbb66d4f10e74d86a9", - "name": "MantonCB4_HiSeq_5_S29_L007_I1_001.fastq.gz", - "uuid": "e5dffb26-e7c6-4188-b99e-73e5033e1617", - "crc32c": "5e63a19b", - "version": "2018-03-29T09:03:46.512815Z", - "indexed": false, - "s3_etag": "1c167766d034d801ee991e7c3b483f83-7", - "sha256": "e3035f222c64e3002d47e73f83b9df06026430e9e80ea9c906fa9b60decd13d5", - "content-type": "application/gzip; dcp-type=data", - "size": 408778773 - }, - "sequence_file/a75378cf-c7fc-4d86-806d-377bbe925e36": { - "sha1": "eb6c9d0364b8f90e5049ce5e6b013170f32aca60", - "name": "MantonCB3_HiSeq_8_S24_L005_R1_001.fastq.gz", - "uuid": "a75378cf-c7fc-4d86-806d-377bbe925e36", - "crc32c": "baf4434f", - "version": "2018-03-29T09:03:30.378520Z", - "indexed": false, - "s3_etag": "30bbddc428eaef0d4e4b89341ba23e26-18", - "sha256": "341ce00605c0ad1c282279df4798b8ed6e95387216d03cd412dfe658c17d45ea", - "content-type": "application/gzip; dcp-type=data", - "size": 1175195369 - }, - "sequence_file/fb3db3b3-4d84-4016-826d-65cee4cb330b": { - "sha1": "afb6d1da7902fcf00825cec58bc1a64a1a0604ea", - "name": "MantonCB3_HiSeq_2_S18_L006_R1_001.fastq.gz", - "uuid": "fb3db3b3-4d84-4016-826d-65cee4cb330b", - "crc32c": "2bbc7283", - "version": "2018-03-29T09:03:11.551363Z", - "indexed": false, - "s3_etag": "731fc18f453e71862fed1fa520bc41c0-22", - "sha256": "12916fbe7e7d9f54b8a0a87fd4c93fcea577edfc096da281f5b4388e1832fac9", - "content-type": "application/gzip; dcp-type=data", - "size": 1413169243 - }, - "sequence_file/25879d3f-6595-43d3-a5ca-5cdecea9eb51": { - "sha1": "ee505cb2dfd9822f3c12167cfb088f01c90dee8a", - "name": "MantonCB1_HiSeq_6_S6_L002_I1_001.fastq.gz", - "uuid": "25879d3f-6595-43d3-a5ca-5cdecea9eb51", - "crc32c": "9e7e652f", - "version": "2018-03-29T09:02:29.482715Z", - "indexed": false, - "s3_etag": "dce1a695a3c37cfb913d336b2a008df6-7", - "sha256": "0537c67280536b4a913a61ab7727c5786e8d40a22f3e59480edf171240f2d25e", - "content-type": "application/gzip; dcp-type=data", - "size": 458051283 - }, - "sequence_file/4f9182a0-1e1e-48c3-a4aa-010a5df37deb": { - "sha1": "b56b27882d262430e71263fe42c90b8ddecb92e1", - "name": "MantonCB4_HiSeq_3_S27_L008_R1_001.fastq.gz", - "uuid": "4f9182a0-1e1e-48c3-a4aa-010a5df37deb", - "crc32c": "344fcb39", - "version": "2018-03-29T09:03:42.121043Z", - "indexed": false, - "s3_etag": "61b851608a496eaf0680e0f8514da12f-18", - "sha256": "942bc7bab0075fae906f37d939311f56602e022c3d05bcfa1f858b0c76e4e2b4", - "content-type": "application/gzip; dcp-type=data", - "size": 1196733324 - }, - "sequence_file/9853a614-30c3-40bb-b356-4e59966abc20": { - "sha1": "805d1cc1a13da7721f2ad84becc7a9c17a264b2e", - "name": "MantonCB3_HiSeq_6_S22_L005_R1_001.fastq.gz", - "uuid": "9853a614-30c3-40bb-b356-4e59966abc20", - "crc32c": "ef2eee11", - "version": "2018-03-29T09:03:23.839908Z", - "indexed": false, - "s3_etag": "3f4d29000a20c8c92bf09589e8e4c0e2-21", - "sha256": "f15f3c32c38fd1de2c78eee60228cfbe2b6410d63c73dc9a5e88133ebd26e524", - "content-type": "application/gzip; dcp-type=data", - "size": 1387105201 - }, - "sequence_file/24b449a3-8d67-4b0c-9f00-9ba3cacfcbff": { - "sha1": "378c021db1f8b08d1b08db9a80fdd56e880e0ffb", - "name": "MantonCB4_HiSeq_1_S25_L007_R2_001.fastq.gz", - "uuid": "24b449a3-8d67-4b0c-9f00-9ba3cacfcbff", - "crc32c": "447d0a91", - "version": "2018-03-29T09:03:34.433281Z", - "indexed": false, - "s3_etag": "8d2f882e25bd8ee4c2d95fccf17f25f4-62", - "sha256": "d23120732186335652f894f7c4944b909e10e6ffa98f23ab3084dfc19c7cc061", - "content-type": "application/gzip; dcp-type=data", - "size": 4123077379 - }, - "sequence_file/c122cf51-5d3a-428c-bfa3-d6c09d80f138": { - "sha1": "5e8251d1f485a2ba7955e9e741261d9d4def08bf", - "name": "MantonCB1_HiSeq_5_S5_L001_I1_001.fastq.gz", - "uuid": "c122cf51-5d3a-428c-bfa3-d6c09d80f138", - "crc32c": "3c95f59f", - "version": "2018-03-29T09:02:18.608090Z", - "indexed": false, - "s3_etag": "e959d28ad02cfcc0ced240677d71a96a-6", - "sha256": "ce6d154b168b2598eb0144261f6ec8e8c4f271a36f67c0bf33759dbc8f20be06", - "content-type": "application/gzip; dcp-type=data", - "size": 392602803 - }, - "sequence_file/53ca1f09-4985-4827-a3cb-5f53d2cc543e": { - "sha1": "dbf250bb02b2c2d0544903ee43f35948a82de451", - "name": "MantonCB3_HiSeq_7_S23_L006_R2_001.fastq.gz", - "uuid": "53ca1f09-4985-4827-a3cb-5f53d2cc543e", - "crc32c": "dcb99439", - "version": "2018-03-29T09:03:29.458152Z", - "indexed": false, - "s3_etag": "1d609c963708640e70039931c3d1fbea-53", - "sha256": "bf6b01fcc2f1ec44615bc7458da5b258c0f58f368241e4501005fc049833c763", - "content-type": "application/gzip; dcp-type=data", - "size": 3537869146 - }, - "sequence_file/d4f454d6-3ffc-4b0c-9449-212ecdbd9d25": { - "sha1": "b58bc38e9fd199e31f559dea432740efb4c3e130", - "name": "MantonCB4_HiSeq_8_S32_L007_R1_001.fastq.gz", - "uuid": "d4f454d6-3ffc-4b0c-9449-212ecdbd9d25", - "crc32c": "654a34dc", - "version": "2018-03-29T09:03:58.142229Z", - "indexed": false, - "s3_etag": "28e8b3acb87143d4a3a66c0adc19e2a5-19", - "sha256": "498a1e09858a762c377961aae2b48a11846e8e7b6f03e9fca891d5cbf2f5e0ee", - "content-type": "application/gzip; dcp-type=data", - "size": 1237099013 - }, - "sequence_file/102e7a1f-0521-4e05-92ce-03555b48af78": { - "sha1": "e6bf95b4df3fcb9979936539b7d3544512dd143f", - "name": "MantonCB4_HiSeq_1_S25_L007_R1_001.fastq.gz", - "uuid": "102e7a1f-0521-4e05-92ce-03555b48af78", - "crc32c": "c27af566", - "version": "2018-03-29T09:03:33.967449Z", - "indexed": false, - "s3_etag": "fde4eb216726321c6fd4123fa78ee87e-21", - "sha256": "3437afbd896073243f71817c2f78615d3261854aff2736e27dbac404967ad2e9", - "content-type": "application/gzip; dcp-type=data", - "size": 1393355309 - }, - "sequence_file/e3d601e3-4bbe-4f24-8ee3-03ac35589548": { - "sha1": "4022543b91661d043bc881cf4c308cb0f63adf5a", - "name": "MantonCB1_HiSeq_4_S4_L001_R2_001.fastq.gz", - "uuid": "e3d601e3-4bbe-4f24-8ee3-03ac35589548", - "crc32c": "1a5a3b87", - "version": "2018-03-29T09:02:14.739172Z", - "indexed": false, - "s3_etag": "48c2b61a790d021c9c1725108ecbd7da-47", - "sha256": "e2f900ade20325625a710717614ca759c42423097f4281e3ade869cf232c6cf8", - "content-type": "application/gzip; dcp-type=data", - "size": 3152599477 - }, - "sequence_file/72dcca44-72b1-41bb-a04e-7a90a535eb5c": { - "sha1": "a8816bfe8df91d41ca3fb20bf76c957e1a6f23b4", - "name": "MantonCB4_HiSeq_5_S29_L007_R2_001.fastq.gz", - "uuid": "72dcca44-72b1-41bb-a04e-7a90a535eb5c", - "crc32c": "4114a690", - "version": "2018-03-29T09:03:49.189904Z", - "indexed": false, - "s3_etag": "2b13d7276017158ff3e62976d70e7004-53", - "sha256": "b98b857d680e05a88239c40f90bcd172931610fd4ab191d495841aa819ff300e", - "content-type": "application/gzip; dcp-type=data", - "size": 3492388308 - }, - "sequence_file/2187a383-7663-49d1-9383-26107fa4e1e3": { - "sha1": "9b73dcda41996d48c63f6ceb355c3e40338673e6", - "name": "MantonCB1_HiSeq_2_S2_L001_R2_001.fastq.gz", - "uuid": "2187a383-7663-49d1-9383-26107fa4e1e3", - "crc32c": "6524ceae", - "version": "2018-03-29T09:02:07.471121Z", - "indexed": false, - "s3_etag": "ad45047ab84cc70b6b69d81af778c996-46", - "sha256": "887c12ff6c76e1188173604bb3e55cbcd90849ea4fb6377b8b1080f053a2cd2d", - "content-type": "application/gzip; dcp-type=data", - "size": 3038472335 - }, - "sequence_file/1ab32587-0198-461d-97f1-34926b5de5bf": { - "sha1": "627294252c5bf209c289e669d5501d518863567b", - "name": "MantonCB1_HiSeq_8_S8_L002_R2_001.fastq.gz", - "uuid": "1ab32587-0198-461d-97f1-34926b5de5bf", - "crc32c": "98d10d8f", - "version": "2018-03-29T09:02:36.809778Z", - "indexed": false, - "s3_etag": "e88b3769c83bb41e6cd8ca2b07a1a3a6-64", - "sha256": "c638b37decf9704af26dd7f692ba939fc798a959380156606a509e4c87a36ee9", - "content-type": "application/gzip; dcp-type=data", - "size": 4273824897 - }, - "sequence_file/4371755a-4549-4124-bdf4-ea2a768bd5c9": { - "sha1": "4ab2d9b40c232081efa2aabb63a08d9a98c5a1e7", - "name": "MantonCB1_HiSeq_8_S8_L001_I1_001.fastq.gz", - "uuid": "4371755a-4549-4124-bdf4-ea2a768bd5c9", - "crc32c": "23847ac4", - "version": "2018-03-29T09:02:33.948361Z", - "indexed": false, - "s3_etag": "7df45073d6d594615fdc315aee2782dd-8", - "sha256": "df471825109596529daa68f5e394c3d7c378fe5e0003eb67df7b790aa6ebbb40", - "content-type": "application/gzip; dcp-type=data", - "size": 476409751 - }, - "sequence_file/bdea3da9-33ff-4702-81b1-a4dd99fb5a84": { - "sha1": "bb131d875e1bc088bfaabeb50ca47db57d882901", - "name": "MantonCB3_HiSeq_5_S21_L005_R1_001.fastq.gz", - "uuid": "bdea3da9-33ff-4702-81b1-a4dd99fb5a84", - "crc32c": "dd713de8", - "version": "2018-03-29T09:03:20.938014Z", - "indexed": false, - "s3_etag": "00c1409c651f3c5ad9eaaa68999a0b10-20", - "sha256": "4e28222c1367de77541d63d7b9891ef38176d1a3361b7db84dcd84fe5fc8db65", - "content-type": "application/gzip; dcp-type=data", - "size": 1316899264 - }, - "sequence_file/d566502b-0ea1-4060-8f62-98dbabc3ee34": { - "sha1": "a9dc2da40a922fd601364d1fd841b0c809b7854b", - "name": "MantonCB2_HiSeq_7_S15_L003_I1_001.fastq.gz", - "uuid": "d566502b-0ea1-4060-8f62-98dbabc3ee34", - "crc32c": "c8a5e905", - "version": "2018-03-29T09:02:56.887368Z", - "indexed": false, - "s3_etag": "8e1f83b42de9572409ac80123b08df6f-7", - "sha256": "ad3840ea27f4e007a6722705d2034d86afc6d513bd91bd5aff056ffd3ee0c92e", - "content-type": "application/gzip; dcp-type=data", - "size": 403832328 - }, - "sequence_file/fb00fff4-40d7-402d-8df3-0df52c623d91": { - "sha1": "a8b3657d4717a3ad3ca97b0c0b2b2ed4b9206d73", - "name": "MantonCB2_HiSeq_7_S15_L004_R2_001.fastq.gz", - "uuid": "fb00fff4-40d7-402d-8df3-0df52c623d91", - "crc32c": "efc44749", - "version": "2018-03-29T09:02:59.550088Z", - "indexed": false, - "s3_etag": "b6b8c555617c3e1cc35f7b16a8160ceb-56", - "sha256": "a0b1e5d1b1183b6f9a90785cea1f142e1a09b63627f34d0c8bf6adc72848f062", - "content-type": "application/gzip; dcp-type=data", - "size": 3693863967 - }, - "sequence_file/033c2369-fa63-49d1-80e6-19b06ebafa93": { - "sha1": "3aed600c783969bdc84bda6e5568a59ca1e693a7", - "name": "MantonCB1_HiSeq_1_S1_L001_R2_001.fastq.gz", - "uuid": "033c2369-fa63-49d1-80e6-19b06ebafa93", - "crc32c": "ec5f36f6", - "version": "2018-03-29T09:02:04.019136Z", - "indexed": false, - "s3_etag": "76e6442a5ad8f1df914e7333673d2ba3-67", - "sha256": "d99ab7d5e5a1d8b4aa2a427d5f6ee83c3bb26bfb1b550f2c9c87adba55a8d53b", - "content-type": "application/gzip; dcp-type=data", - "size": 4480283108 - }, - "sequence_file/b929e871-594e-4f98-9cf9-5889af26b3c3": { - "sha1": "100819206fb0838b34777dfe4dece1e90d0b23a1", - "name": "MantonCB4_HiSeq_5_S29_L008_R2_001.fastq.gz", - "uuid": "b929e871-594e-4f98-9cf9-5889af26b3c3", - "crc32c": "0b2f24ac", - "version": "2018-03-29T09:03:51.217164Z", - "indexed": false, - "s3_etag": "85c5d667ab9b591e7d6af4979d2e0140-51", - "sha256": "4f4c3a775d2371688f01d03699da0ded908e5dc7a92f6c05808c4ff7342a3e3c", - "content-type": "application/gzip; dcp-type=data", - "size": 3391436559 - }, - "sequence_file/52dcc9fb-c900-4835-9871-53f5c8799160": { - "sha1": "a18c73daa4e2eec8ed9086b97a599bccc28b1740", - "name": "MantonCB4_HiSeq_4_S28_L007_I1_001.fastq.gz", - "uuid": "52dcc9fb-c900-4835-9871-53f5c8799160", - "crc32c": "d0e0ba4f", - "version": "2018-03-29T09:03:43.266028Z", - "indexed": false, - "s3_etag": "e3c0ce1f493ea664e82b143326e98525-7", - "sha256": "0e6dc628c1a0fc184737927c8fa9640dedf6a7030b5a9ed31a8b1669b21ace7c", - "content-type": "application/gzip; dcp-type=data", - "size": 417286945 - }, - "sequence_file/95eb362b-cbc9-49c8-8ba1-a6958e280416": { - "sha1": "c54ca753222cd4889289ab35f8c6a51b9b197864", - "name": "MantonCB2_HiSeq_2_S10_L004_R2_001.fastq.gz", - "uuid": "95eb362b-cbc9-49c8-8ba1-a6958e280416", - "crc32c": "88f118e7", - "version": "2018-03-29T09:02:43.900799Z", - "indexed": false, - "s3_etag": "c8edb580f59e621f84b1bcf52d952af2-64", - "sha256": "8e1b9986b0cc3c6a720b128d3aa753a3913345f8a192514853544733ad7d1aa1", - "content-type": "application/gzip; dcp-type=data", - "size": 4279635930 - }, - "sequence_file/fb37e886-5520-448a-9904-40df6f9a9d55": { - "sha1": "d92206d615436635ba1fcb8974696bb3daca6a9b", - "name": "MantonCB2_HiSeq_2_S10_L003_R1_001.fastq.gz", - "uuid": "fb37e886-5520-448a-9904-40df6f9a9d55", - "crc32c": "b9535e1c", - "version": "2018-03-29T09:02:40.389065Z", - "indexed": false, - "s3_etag": "b2db3bf7a8083ecaca65f3956c4bca7b-22", - "sha256": "e84d72f4fd92a73355811c3310b53406382a40fcc10e25066a6b2f63dce88029", - "content-type": "application/gzip; dcp-type=data", - "size": 1415990946 - }, - "sequence_file/00f2c451-419c-4cdf-9266-347245761bb0": { - "sha1": "45b7ea7e5a8b5f3e411a72ade2cbf56da10b8dc3", - "name": "MantonCB4_HiSeq_3_S27_L007_R1_001.fastq.gz", - "uuid": "00f2c451-419c-4cdf-9266-347245761bb0", - "crc32c": "fbca901f", - "version": "2018-03-29T09:03:40.378598Z", - "indexed": false, - "s3_etag": "5249bdbafe6974759f21467c35a27ae0-19", - "sha256": "c6be54c88876ecd4cc8e768761e3f9fa202dc6994f2968ed26f1e47f51c2708b", - "content-type": "application/gzip; dcp-type=data", - "size": 1262153381 - }, - "sequence_file/f256f4d1-bb92-4b1e-a320-0a8c65b02f47": { - "sha1": "91c3114b851da582b4841ffd25f70e5cc3ef0a13", - "name": "MantonCB4_HiSeq_6_S30_L007_R2_001.fastq.gz", - "uuid": "f256f4d1-bb92-4b1e-a320-0a8c65b02f47", - "crc32c": "f8764911", - "version": "2018-03-29T09:03:52.944917Z", - "indexed": false, - "s3_etag": "6d68c0012e3643540ace0ebe1a7bfcbb-66", - "sha256": "585c7ed09efebf8303bb93aaeefb766be21a9cc0040e8f2dfcec6522a5b31960", - "content-type": "application/gzip; dcp-type=data", - "size": 4381188448 - }, - "sequence_file/56b61187-cf52-4141-97aa-ec67be551c63": { - "sha1": "a7637bdd3126e408aff10d34474fc3b5227b2ea6", - "name": "MantonCB3_HiSeq_2_S18_L005_R2_001.fastq.gz", - "uuid": "56b61187-cf52-4141-97aa-ec67be551c63", - "crc32c": "7607c830", - "version": "2018-03-29T09:03:10.226520Z", - "indexed": false, - "s3_etag": "a90bff969491579d660efb2448402683-64", - "sha256": "33d34b471d03de9fa7778fbebccd6c72f40e251298342f7b215aa959cea9bda8", - "content-type": "application/gzip; dcp-type=data", - "size": 4239306020 - }, - "sequence_file/e8a1e8cd-9941-4a59-aceb-a17649543bbb": { - "sha1": "639b14b53d3b9c690dbf3e8337cb809bc8267b36", - "name": "MantonCB1_HiSeq_1_S1_L001_I1_001.fastq.gz", - "uuid": "e8a1e8cd-9941-4a59-aceb-a17649543bbb", - "crc32c": "1efe4e54", - "version": "2018-03-29T09:02:02.405911Z", - "indexed": false, - "s3_etag": "a4b094cf2a094a46a1c88c92bcc555fb-8", - "sha256": "79b4dd24084a9b163141309d67ad7fe9764ada7f562fc36794cdf0e2f332313f", - "content-type": "application/gzip; dcp-type=data", - "size": 488686373 - }, - "sequence_file/29a04cd5-2f40-4030-8721-e936de10431a": { - "sha1": "d860e0acb7161dd8217fb17957ff6e8bc530fe6c", - "name": "MantonCB1_HiSeq_1_S1_L002_I1_001.fastq.gz", - "uuid": "29a04cd5-2f40-4030-8721-e936de10431a", - "crc32c": "fd413890", - "version": "2018-03-29T09:02:04.792076Z", - "indexed": false, - "s3_etag": "d251115f727c03edba0a383b7801e9b5-8", - "sha256": "6c9f9c29a51eeb45e4b64891001cc9a78169efd3f910a29e152c3e3b3faa5338", - "content-type": "application/gzip; dcp-type=data", - "size": 478063045 - }, - "sequence_file/ab650f1f-003d-424a-9455-f28c8dad28a1": { - "sha1": "5dd1fc6e0fffe0c8436b7fe649c2ba16a8ac0c24", - "name": "MantonCB1_HiSeq_2_S2_L001_I1_001.fastq.gz", - "uuid": "ab650f1f-003d-424a-9455-f28c8dad28a1", - "crc32c": "e8ecafc6", - "version": "2018-03-29T09:02:06.370733Z", - "indexed": false, - "s3_etag": "5488fb9a3050c850be9380fdde7e4df5-6", - "sha256": "d45869382f2b032947e774726c63d0ec184749eafeeb9428ce2074fc5afa60f9", - "content-type": "application/gzip; dcp-type=data", - "size": 341239261 - }, - "sequence_file/113ee1ff-d5f4-46d9-80eb-d5abf8cacd43": { - "sha1": "8f964de7f241dc048f7c110fe622d239076eee94", - "name": "MantonCB2_HiSeq_3_S11_L004_I1_001.fastq.gz", - "uuid": "113ee1ff-d5f4-46d9-80eb-d5abf8cacd43", - "crc32c": "409d5459", - "version": "2018-03-29T09:02:46.254023Z", - "indexed": false, - "s3_etag": "5809f06597a38e71828d9b162e3657fd-8", - "sha256": "8cc2fcf32c4c06f7d4b543d7883377d02e96a4f4ad68ff2cc3f4b8979bd3d7eb", - "content-type": "application/gzip; dcp-type=data", - "size": 475228013 - }, - "sequence_file/a79ecf3e-92ba-4724-a701-2e9c3c09ab80": { - "sha1": "7c69f8efe88efb4df74ee61fde715ebcf935c72d", - "name": "MantonCB1_HiSeq_5_S5_L002_I1_001.fastq.gz", - "uuid": "a79ecf3e-92ba-4724-a701-2e9c3c09ab80", - "crc32c": "4ad85c14", - "version": "2018-03-29T09:02:19.852646Z", - "indexed": false, - "s3_etag": "cab9db9b95b524c0b5091558407f83d5-6", - "sha256": "bfe4acb42f44fb4e7ea4a6eef099af7b5ac55b8c89c358c592f7941855155453", - "content-type": "application/gzip; dcp-type=data", - "size": 384368985 - }, - "sequence_file/2198238f-d7a8-4e94-9e03-b63f8a7e6bd3": { - "sha1": "fa94d4b3b004f7b9b2c15d8f39bd5894c892748b", - "name": "MantonCB4_HiSeq_7_S31_L007_R2_001.fastq.gz", - "uuid": "2198238f-d7a8-4e94-9e03-b63f8a7e6bd3", - "crc32c": "15fa0863", - "version": "2018-03-29T09:03:55.861227Z", - "indexed": false, - "s3_etag": "c45d26a61ef70e9f921ed5fc14c1af3b-64", - "sha256": "615fcd681fa876f8f3398c65f609813b3ac4fc4b0b4928a63f52ec13963af9e3", - "content-type": "application/gzip; dcp-type=data", - "size": 4239879909 - }, - "sequence_file/9789d08f-9a13-4d12-b7e4-1a399cc3497f": { - "sha1": "8c63df6482b4207ccf1f779087267a2fa0427122", - "name": "MantonCB2_HiSeq_4_S12_L004_R2_001.fastq.gz", - "uuid": "9789d08f-9a13-4d12-b7e4-1a399cc3497f", - "crc32c": "a7ff0e60", - "version": "2018-03-29T09:02:50.335592Z", - "indexed": false, - "s3_etag": "7293a7a1aa989d4d7128df79f88677c4-57", - "sha256": "4972d43ef296fb7b9f628630ac40152069a9d26e6a40f7087d976e9c8b5a74c4", - "content-type": "application/gzip; dcp-type=data", - "size": 3804889081 - }, - "sequence_file/35de5022-c743-416e-892f-268a44d3c8f1": { - "sha1": "89b3b964a1ffeaaf2e198334895b73551dfdd9cb", - "name": "MantonCB4_HiSeq_1_S25_L008_R2_001.fastq.gz", - "uuid": "35de5022-c743-416e-892f-268a44d3c8f1", - "crc32c": "beba223e", - "version": "2018-03-29T09:03:35.828012Z", - "indexed": false, - "s3_etag": "9a4a0658d3e8cc9f1f03d9ebc0a7b1cc-55", - "sha256": "70dc7f3daf17500d3d30e57b8acf2ffd018bfe19fe176ca5c132a7f6d699ca7b", - "content-type": "application/gzip; dcp-type=data", - "size": 3656202382 - }, - "sequence_file/edff548f-d6ac-469e-a136-d59a501e3f90": { - "sha1": "c41228709ed17882da728d101029facd9d1cb1c5", - "name": "MantonCB4_HiSeq_7_S31_L008_I1_001.fastq.gz", - "uuid": "edff548f-d6ac-469e-a136-d59a501e3f90", - "crc32c": "8ff07283", - "version": "2018-03-29T09:03:56.272304Z", - "indexed": false, - "s3_etag": "4dea88e9f41cf213f6ecef20020f631c-7", - "sha256": "92a371ef17256a11e7df1a77c298a31cb49233b2297792ae80a703e9c8ca8b8b", - "content-type": "application/gzip; dcp-type=data", - "size": 462701411 - }, - "sequence_file/66b65537-4bad-44e5-ba65-3153181f3e2f": { - "sha1": "ac4d288cc4fd807473caa7551af5ccee01ddf1b2", - "name": "MantonCB2_HiSeq_1_S9_L003_R2_001.fastq.gz", - "uuid": "66b65537-4bad-44e5-ba65-3153181f3e2f", - "crc32c": "21aa2ede", - "version": "2018-03-29T09:02:38.272255Z", - "indexed": false, - "s3_etag": "ed781dc4ecd8d2245d48eee0745a9e74-51", - "sha256": "9c06ad0a5cc29bef621a80b16473f1c4e16c25685e6bd69d2b17f2946cf07488", - "content-type": "application/gzip; dcp-type=data", - "size": 3368230617 - }, - "sequence_file/7af19dcd-60e7-45ed-8bd2-53c1d91573b7": { - "sha1": "af99518797e1a2a364cc4d5035ccf17478b18270", - "name": "MantonCB2_HiSeq_8_S16_L004_I1_001.fastq.gz", - "uuid": "7af19dcd-60e7-45ed-8bd2-53c1d91573b7", - "crc32c": "a52c2ae9", - "version": "2018-03-29T09:03:01.838295Z", - "indexed": false, - "s3_etag": "059a20740580cd128d95c9999c6480c5-7", - "sha256": "b68af03a0fdb8d55cc705dc97f393c38656e4b98cffe7e6254a2b4b4ed99a246", - "content-type": "application/gzip; dcp-type=data", - "size": 418589085 - }, - "sequence_file/3d93b4bd-5580-4afa-9268-eb3e27658dca": { - "sha1": "59cbf87606f9bb97229db58ed4b52a3ddb7c4917", - "name": "MantonCB4_HiSeq_4_S28_L007_R2_001.fastq.gz", - "uuid": "3d93b4bd-5580-4afa-9268-eb3e27658dca", - "crc32c": "94e490bd", - "version": "2018-03-29T09:03:44.552238Z", - "indexed": false, - "s3_etag": "d87567a51e7bc58fce8763ff6edd0931-56", - "sha256": "9f4b86aaf7c749206f2ec3fbf3dff56d1454b80dfc09181d0f699ed16eb1edb2", - "content-type": "application/gzip; dcp-type=data", - "size": 3733899172 - }, - "sequence_file/e918cb31-af72-4d87-a414-4c499305bdd5": { - "sha1": "682f063048bddbefa112b0051c5cdc2d2fac9a77", - "name": "MantonCB4_HiSeq_8_S32_L007_R2_001.fastq.gz", - "uuid": "e918cb31-af72-4d87-a414-4c499305bdd5", - "crc32c": "cb1839c2", - "version": "2018-03-29T09:03:58.558368Z", - "indexed": false, - "s3_etag": "dba8929a6a0cc6e0d27709d8de0516c8-50", - "sha256": "2758a9baa96a4d5d04a7c3990e3ecaaf91d63da7df92bc45c40b69f4813eae49", - "content-type": "application/gzip; dcp-type=data", - "size": 3324690897 - }, - "sequence_file/b47fd4ca-a7d2-484b-8834-378bf9077336": { - "sha1": "0e5cd81c6e78f83ff0abda5b2057b7a382938707", - "name": "MantonCB4_HiSeq_6_S30_L008_I1_001.fastq.gz", - "uuid": "b47fd4ca-a7d2-484b-8834-378bf9077336", - "crc32c": "a33e2d87", - "version": "2018-03-29T09:03:53.446291Z", - "indexed": false, - "s3_etag": "5bdecdec59a99ef9d41617e1b6ed16f1-8", - "sha256": "a6497bce811cc63c85b96cdf5182618e58ec47a25c4f6ad07138430462e7bb76", - "content-type": "application/gzip; dcp-type=data", - "size": 477711089 - }, - "sequence_file/5a38dd8f-47de-44f6-a2ae-b7f93482c980": { - "sha1": "ab6b864ac478577e90ff3376aa47853a40999ad7", - "name": "MantonCB3_HiSeq_1_S17_L006_R2_001.fastq.gz", - "uuid": "5a38dd8f-47de-44f6-a2ae-b7f93482c980", - "crc32c": "b2900576", - "version": "2018-03-29T09:03:06.577022Z", - "indexed": false, - "s3_etag": "8f4d86bcd772451ce33d6236c8fe0c2d-64", - "sha256": "6df2cba7e044487e09d5a6643fa0c2111a55a9286b48ff9de875f24a3763c257", - "content-type": "application/gzip; dcp-type=data", - "size": 4267373293 - }, - "sequence_file/25df2567-741c-4448-ae4f-4ae1eaba0fa7": { - "sha1": "a5b8bc273a87450fb126e8b44f66f0559a42a17e", - "name": "MantonCB2_HiSeq_8_S16_L003_I1_001.fastq.gz", - "uuid": "25df2567-741c-4448-ae4f-4ae1eaba0fa7", - "crc32c": "7439c4a7", - "version": "2018-03-29T09:02:59.998913Z", - "indexed": false, - "s3_etag": "8b5f6eae522d185d4a7df3335bd5af16-7", - "sha256": "9933dba5da9b0674069ae825bf31cf81b075807b31a860147525a4ccbe9213bb", - "content-type": "application/gzip; dcp-type=data", - "size": 407925579 - }, - "sequence_file/9e4f5829-4d55-4106-8278-53ae1b9187ec": { - "sha1": "316a229e83c323c8d774fd80a20e5a29af1d37c9", - "name": "MantonCB1_HiSeq_7_S7_L002_I1_001.fastq.gz", - "uuid": "9e4f5829-4d55-4106-8278-53ae1b9187ec", - "crc32c": "02cd2af2", - "version": "2018-03-29T09:02:32.600515Z", - "indexed": false, - "s3_etag": "4526b4d74e02608054e73c56c05d8920-8", - "sha256": "68fdb6a2792a82e445c0824cc1a3252c6ced4618cbcbc1ad1fb4000354a3c305", - "content-type": "application/gzip; dcp-type=data", - "size": 508854199 - }, - "sequence_file/50bcbb34-3e7d-4c03-b3c7-16b3c662bf07": { - "sha1": "ac2756dcaeffcebb593ef2de7a5b4be093c74a31", - "name": "MantonCB4_HiSeq_3_S27_L007_R2_001.fastq.gz", - "uuid": "50bcbb34-3e7d-4c03-b3c7-16b3c662bf07", - "crc32c": "6fcb8bc0", - "version": "2018-03-29T09:03:40.897804Z", - "indexed": false, - "s3_etag": "c67a1b77118a970a08b0d43b90d72bb0-57", - "sha256": "3c72065fef1cfb3cf37fb042252e88f56c900e084ed46be299869c0318c9d99c", - "content-type": "application/gzip; dcp-type=data", - "size": 3784340230 - }, - "sequence_file/b19e2b64-5352-49d4-ace9-5563abf4d9fd": { - "sha1": "ff4d8cc683f0348f52c3396e31280025d74927c4", - "name": "MantonCB1_HiSeq_3_S3_L002_R2_001.fastq.gz", - "uuid": "b19e2b64-5352-49d4-ace9-5563abf4d9fd", - "crc32c": "857742dd", - "version": "2018-03-29T09:02:13.349939Z", - "indexed": false, - "s3_etag": "4aa37ab6ec70c5cb5eb31ffba2f70a26-39", - "sha256": "ed83934a2be9cb82c11d635d401b69a5c6af48dbd43c7efe3ad3980c8967db03", - "content-type": "application/gzip; dcp-type=data", - "size": 2587939445 - }, - "sequence_file/74409b42-8580-4e4d-8c08-1e70d9c693ea": { - "sha1": "b8e9f384971afe619545b8b7e772959f5cde1394", - "name": "MantonCB4_HiSeq_6_S30_L008_R1_001.fastq.gz", - "uuid": "74409b42-8580-4e4d-8c08-1e70d9c693ea", - "crc32c": "9adab051", - "version": "2018-03-29T09:03:53.897007Z", - "indexed": false, - "s3_etag": "c025d1ab0c2213dd4e3ecae5e97990a4-23", - "sha256": "e209e6bf0e9baaf47886d237fc78d83d62a87cb930ae144b98fb3360736278b6", - "content-type": "application/gzip; dcp-type=data", - "size": 1477094138 - }, - "sequence_file/5f43bb85-cfa6-4131-84fa-7c80c58dd024": { - "sha1": "e3b39e5a093d80c287bd4a31661b3afd279f8a49", - "name": "MantonCB2_HiSeq_5_S13_L003_R2_001.fastq.gz", - "uuid": "5f43bb85-cfa6-4131-84fa-7c80c58dd024", - "crc32c": "b82dba3a", - "version": "2018-03-29T09:02:51.863601Z", - "indexed": false, - "s3_etag": "9bd02fa2e30ceafb2330936faaa13147-55", - "sha256": "78c68fb7240cdac5cee973aefdf307776af2d8085ff5f0a8cd52643f8f13f814", - "content-type": "application/gzip; dcp-type=data", - "size": 3659219112 - }, - "sequence_file/1e109600-e523-46b9-9f8a-5b7969dd3c4e": { - "sha1": "2de49a30803ccfb170b70ffb5ff993f4d5843018", - "name": "MantonCB3_HiSeq_8_S24_L006_R1_001.fastq.gz", - "uuid": "1e109600-e523-46b9-9f8a-5b7969dd3c4e", - "crc32c": "e66180eb", - "version": "2018-03-29T09:03:32.434450Z", - "indexed": false, - "s3_etag": "b86fb93e8ff4b66da5410204458bf086-18", - "sha256": "1baf694a56ea241d915389d0c27039cf1810d73b55d2ce7550a98f3dbcd9793b", - "content-type": "application/gzip; dcp-type=data", - "size": 1171063196 - }, - "sequence_file/ebf50b94-7550-4937-8191-7bc8d0497935": { - "sha1": "20f36c356a219acef706901ff8b3a291f19dd06b", - "name": "MantonCB3_HiSeq_6_S22_L006_R1_001.fastq.gz", - "uuid": "ebf50b94-7550-4937-8191-7bc8d0497935", - "crc32c": "2d8f30e5", - "version": "2018-03-29T09:03:25.426450Z", - "indexed": false, - "s3_etag": "d648fe66f342af460d7256cad8c5ab59-21", - "sha256": "192d11dc68ae2a7fdda1b4e6ee3bca244d6132da0d57d387ce77b5b569342ad4", - "content-type": "application/gzip; dcp-type=data", - "size": 1385649222 - }, - "sequence_file/ae780044-5103-4c32-892b-98ba6ceea2d9": { - "sha1": "54dae4124434524686c8b919fcd385125d8544f8", - "name": "MantonCB2_HiSeq_8_S16_L004_R1_001.fastq.gz", - "uuid": "ae780044-5103-4c32-892b-98ba6ceea2d9", - "crc32c": "f8bb1b23", - "version": "2018-03-29T09:03:02.540667Z", - "indexed": false, - "s3_etag": "e66f90d0155f1aa282f40109d14c02d0-19", - "sha256": "ef3bbfa8872d7496f58e9e1a6f88d910ea11afdebb3c1b62d65d78085d23117b", - "content-type": "application/gzip; dcp-type=data", - "size": 1260563794 - }, - "sequence_file/e823513d-c147-4219-b1c3-33e1cd7b0862": { - "sha1": "61eda8f8f30cb7d9d91cdcc6bc445d34f337058a", - "name": "MantonCB4_HiSeq_8_S32_L007_I1_001.fastq.gz", - "uuid": "e823513d-c147-4219-b1c3-33e1cd7b0862", - "crc32c": "41ced957", - "version": "2018-03-29T09:03:57.478622Z", - "indexed": false, - "s3_etag": "96a01224166af49c8054d877310e87ae-7", - "sha256": "30ac4bc0a27099a477879fb6d68adfd18f81f9adc7f1b18f5805f222ccab4469", - "content-type": "application/gzip; dcp-type=data", - "size": 410936070 - }, - "sequence_file/5731f7bf-f096-4ee7-afdc-94b6a1574fcb": { - "sha1": "4fe15384143232c8f313a28b1e02f73cc5d26533", - "name": "MantonCB3_HiSeq_7_S23_L005_R2_001.fastq.gz", - "uuid": "5731f7bf-f096-4ee7-afdc-94b6a1574fcb", - "crc32c": "5487a80e", - "version": "2018-03-29T09:03:27.770037Z", - "indexed": false, - "s3_etag": "555332d09aa9f4b39cba6086bb1aa70e-54", - "sha256": "097d532796af41ae23c1277f15e6457549f4a511b6c4bc904a80c1c59ea28362", - "content-type": "application/gzip; dcp-type=data", - "size": 3568519238 - }, - "sequence_file/d5926d97-2a6e-4ad9-8e32-9653e05c894a": { - "sha1": "790eb482691c9e3e6d3fe71508441dcfb285f8f7", - "name": "MantonCB2_HiSeq_5_S13_L004_I1_001.fastq.gz", - "uuid": "d5926d97-2a6e-4ad9-8e32-9653e05c894a", - "crc32c": "2f7e4f7a", - "version": "2018-03-29T09:02:52.289866Z", - "indexed": false, - "s3_etag": "ff32f993db069239fda809508b6150cc-7", - "sha256": "3260a8ae4a3c474d6b50220d8129d76bd2f30671dc298be48458bc36ce462b30", - "content-type": "application/gzip; dcp-type=data", - "size": 410033568 - }, - "sequence_file/be6b7802-5f10-4435-a22e-00b62bdcd324": { - "sha1": "60d59cf145e048cadad00d32268181fc9d7ef505", - "name": "MantonCB4_HiSeq_1_S25_L007_I1_001.fastq.gz", - "uuid": "be6b7802-5f10-4435-a22e-00b62bdcd324", - "crc32c": "04c1af0b", - "version": "2018-03-29T09:03:33.441763Z", - "indexed": false, - "s3_etag": "192f186cd80e45446f6bf7ed4a74a91a-7", - "sha256": "84a5d70355d41b22178990b8bc7eda6af28e97d60528d0e25991fed9c8d2f32c", - "content-type": "application/gzip; dcp-type=data", - "size": 464349575 - }, - "sequence_file/1955e248-81dc-464a-a578-28a13c858dda": { - "sha1": "754e9c6b65964492d4da21df9b1eca06ddd1bf79", - "name": "MantonCB2_HiSeq_7_S15_L004_R1_001.fastq.gz", - "uuid": "1955e248-81dc-464a-a578-28a13c858dda", - "crc32c": "4b0ddf15", - "version": "2018-03-29T09:02:59.090902Z", - "indexed": false, - "s3_etag": "fb5213be10cc4ed16e31b041ed869974-19", - "sha256": "70f8873cc8d90c9fd5271b015f8fa060847aba9daaa5c5962bc333da0167e291", - "content-type": "application/gzip; dcp-type=data", - "size": 1254101816 - }, - "sequence_file/2f3f5e1c-e4a6-4450-8865-e4a9c5e8d603": { - "sha1": "620d2ba59b606e8900718964052d4903c5308c93", - "name": "MantonCB3_HiSeq_2_S18_L005_R1_001.fastq.gz", - "uuid": "2f3f5e1c-e4a6-4450-8865-e4a9c5e8d603", - "crc32c": "b321bd5c", - "version": "2018-03-29T09:03:09.770399Z", - "indexed": false, - "s3_etag": "ac2536e51d0fba7ab4e4920842a0306b-22", - "sha256": "4e0001d2780c77faeb7781accad88927c3b94d5f7d1f85e60af8b2b0268f3e1b", - "content-type": "application/gzip; dcp-type=data", - "size": 1422429001 - }, - "sequence_file/619b0c8e-70ee-4db3-9c0a-da28aba18bb8": { - "sha1": "9ca5a9d19b21e9d2b54dfbb2785279891f9fda5b", - "name": "MantonCB2_HiSeq_7_S15_L004_I1_001.fastq.gz", - "uuid": "619b0c8e-70ee-4db3-9c0a-da28aba18bb8", - "crc32c": "3616cf56", - "version": "2018-03-29T09:02:58.631323Z", - "indexed": false, - "s3_etag": "ab33f9d540f5903a53b652567f9e130b-7", - "sha256": "fbd06eba5a93370af181ee322be974554f9cf2fd3fd27278a6063dc46663cf23", - "content-type": "application/gzip; dcp-type=data", - "size": 414793196 - }, - "sequence_file/7da336e9-59c3-4e13-8890-a728c9d46aad": { - "sha1": "3a86b0268d3a89e0e40adccf764ac26ccec4c81c", - "name": "MantonCB1_HiSeq_4_S4_L002_R2_001.fastq.gz", - "uuid": "7da336e9-59c3-4e13-8890-a728c9d46aad", - "crc32c": "4dfa89dc", - "version": "2018-03-29T09:02:16.375514Z", - "indexed": false, - "s3_etag": "27f9953c733c4b2f94f70e4fb6cbce53-47", - "sha256": "bca8bfee5b56f6972a6fb329074ee848d403322c25afca0c48971f3cd08d5d15", - "content-type": "application/gzip; dcp-type=data", - "size": 3128044246 - }, - "sequence_file/f724ace3-3cff-45eb-bee5-7fea53da64da": { - "sha1": "dc0416b7f79a9a3bda08a98ded32815a0aa88076", - "name": "MantonCB1_HiSeq_3_S3_L001_R1_001.fastq.gz", - "uuid": "f724ace3-3cff-45eb-bee5-7fea53da64da", - "crc32c": "88ecec0c", - "version": "2018-03-29T09:02:11.016561Z", - "indexed": false, - "s3_etag": "16608b2de8074279536550f869c17182-13", - "sha256": "7a387c92859b1c2e6912ba55fc9b8e18d7dc800be56e436553adde882f6368da", - "content-type": "application/gzip; dcp-type=data", - "size": 860041303 - }, - "sequence_file/97577c70-547f-417e-827f-ac2832f1ec05": { - "sha1": "55abda33bbd73b45636b2810afe82358dab05eda", - "name": "MantonCB2_HiSeq_3_S11_L003_R1_001.fastq.gz", - "uuid": "97577c70-547f-417e-827f-ac2832f1ec05", - "crc32c": "6ba757d6", - "version": "2018-03-29T09:02:45.255232Z", - "indexed": false, - "s3_etag": "4770e36845cd415aed74fa2ff498cd54-21", - "sha256": "d9f154db6a0ae8f9eea121ebcd0feb1642cd75915d5115144ef17e51b510944d", - "content-type": "application/gzip; dcp-type=data", - "size": 1394367789 - }, - "sequence_file/bafde3e9-8d7c-4891-809e-5398037a81e2": { - "sha1": "e6a6d1b620d9179373a1379f98d17eac824a23e7", - "name": "MantonCB3_HiSeq_1_S17_L005_R2_001.fastq.gz", - "uuid": "bafde3e9-8d7c-4891-809e-5398037a81e2", - "crc32c": "135a5e19", - "version": "2018-03-29T09:03:05.163744Z", - "indexed": false, - "s3_etag": "07f1a2c5cc85c6fc3ae9946ac0229e65-68", - "sha256": "34dfc387acee97f40569da9ce2757d218936431926c9f4e436fd13e523ed6523", - "content-type": "application/gzip; dcp-type=data", - "size": 4505453280 - }, - "sequence_file/61b83558-f8ae-4cfa-91cd-6eaedf60347a": { - "sha1": "323a3cf8ec01286f65ca0efe060f51d02c0e42c5", - "name": "MantonCB3_HiSeq_8_S24_L005_I1_001.fastq.gz", - "uuid": "61b83558-f8ae-4cfa-91cd-6eaedf60347a", - "crc32c": "8a18bf53", - "version": "2018-03-29T09:03:29.910384Z", - "indexed": false, - "s3_etag": "4d47a1d3bf150f58af7c5206fcf32abe-6", - "sha256": "2567d0bff791ffb0910f69038c55749d907b4157040ce8c0462990e1b268f8ab", - "content-type": "application/gzip; dcp-type=data", - "size": 392448641 - }, - "sequence_file/c0d6864e-0812-47b5-83a5-d48150334134": { - "sha1": "1be54253786fbfa56a18f441d064263dd8828962", - "name": "MantonCB2_HiSeq_6_S14_L003_R1_001.fastq.gz", - "uuid": "c0d6864e-0812-47b5-83a5-d48150334134", - "crc32c": "c1bbe01f", - "version": "2018-03-29T09:02:54.137941Z", - "indexed": false, - "s3_etag": "6eecff9e09d9e24d309d35b31e503f92-20", - "sha256": "5b51ea08f6d2868b9b2c1f7bf30e11f37ce1d6ecd281eb10921b795012b4b847", - "content-type": "application/gzip; dcp-type=data", - "size": 1283618089 - }, - "sequence_file/0aaf5b5c-4da5-461f-a60d-2f64cf6aa0b1": { - "sha1": "e4aea008c6301dde177661fedcce1b5f2f3f35d7", - "name": "MantonCB4_HiSeq_6_S30_L007_I1_001.fastq.gz", - "uuid": "0aaf5b5c-4da5-461f-a60d-2f64cf6aa0b1", - "crc32c": "2aefce98", - "version": "2018-03-29T09:03:51.572669Z", - "indexed": false, - "s3_etag": "349483061b2f7d77f2116c2bacbe9a48-8", - "sha256": "ed17c4318e4869dadac37524a222f94db876488a52292eaf637f99ff65b13fca", - "content-type": "application/gzip; dcp-type=data", - "size": 492751808 - }, - "sequence_file/472a64ca-0e9a-4a77-b4e3-dbd73a9d0c4b": { - "sha1": "ae035038c23c950316078767982e7ab76aa74940", - "name": "MantonCB3_HiSeq_3_S19_L005_R2_001.fastq.gz", - "uuid": "472a64ca-0e9a-4a77-b4e3-dbd73a9d0c4b", - "crc32c": "13a5f174", - "version": "2018-03-29T09:03:14.803656Z", - "indexed": false, - "s3_etag": "587796898fc1cd51aef312ac2be7ebe8-58", - "sha256": "fb9983bfd4b73422973b2105d2dff16f3421733e87016e2a1a0ea68cc6e762a3", - "content-type": "application/gzip; dcp-type=data", - "size": 3825471720 - }, - "sequence_file/72cfdf1c-8509-4d36-9751-35537c2a7a9d": { - "sha1": "19c0f03d48bed74f0610dfd0e862517ab7a0d166", - "name": "MantonCB4_HiSeq_8_S32_L008_R1_001.fastq.gz", - "uuid": "72cfdf1c-8509-4d36-9751-35537c2a7a9d", - "crc32c": "6a4c676d", - "version": "2018-03-29T09:03:59.878789Z", - "indexed": false, - "s3_etag": "08743e6d55a47f023dcd7381a3042e4f-18", - "sha256": "930d7ad8cd2643ef7d9bfe63b15026d4f78b50b50de1395a973a9cd4b7ab4f8e", - "content-type": "application/gzip; dcp-type=data", - "size": 1143243940 - }, - "sequence_file/b07b0491-63da-4e80-9d1d-1c3bf4a0f8e4": { - "sha1": "fe53c5d04c454f0d5750dd121e90ca181cb067d6", - "name": "MantonCB2_HiSeq_5_S13_L004_R2_001.fastq.gz", - "uuid": "b07b0491-63da-4e80-9d1d-1c3bf4a0f8e4", - "crc32c": "2bb88ba3", - "version": "2018-03-29T09:02:53.155470Z", - "indexed": false, - "s3_etag": "45cee9b09333cedba2b07d5afa35210c-57", - "sha256": "727b73abd199ddef32b5cf87dfd51aa0f729a960027fc811eb14d433760bdc11", - "content-type": "application/gzip; dcp-type=data", - "size": 3809173801 - }, - "sequence_file/d5092fdb-3b57-4b29-9a40-bc296f490d69": { - "sha1": "0a905dd3fc843f3acc6a415cb6297e0f90b3a308", - "name": "MantonCB3_HiSeq_6_S22_L006_R2_001.fastq.gz", - "uuid": "d5092fdb-3b57-4b29-9a40-bc296f490d69", - "crc32c": "f2f6d2f0", - "version": "2018-03-29T09:03:25.949305Z", - "indexed": false, - "s3_etag": "c746eeeae4b6321f63ebc45c22dca2ec-61", - "sha256": "c668c879a270a3610f1eeaa50083335895a0d5f0c16b701578880da1cf48bb43", - "content-type": "application/gzip; dcp-type=data", - "size": 4056043852 - }, - "sequence_file/e35cd0e8-786b-4fd8-a461-6500d52cc24a": { - "sha1": "4c6acffef879fd718e7ea903d9bfeceb77f4df4a", - "name": "MantonCB4_HiSeq_4_S28_L007_R1_001.fastq.gz", - "uuid": "e35cd0e8-786b-4fd8-a461-6500d52cc24a", - "crc32c": "23b8b50a", - "version": "2018-03-29T09:03:43.923556Z", - "indexed": false, - "s3_etag": "617695db18a017394e66824fa367b158-19", - "sha256": "bc9ae85dffe38e19fec185f33c67670d3d115b05801b942f186bf9117dc4d0e9", - "content-type": "application/gzip; dcp-type=data", - "size": 1268176823 - }, - "sequence_file/84ed2e73-801c-4517-97a8-3c2b37b2ccca": { - "sha1": "b962c562b82a950f02d3c301b01831c1cea8123e", - "name": "MantonCB1_HiSeq_1_S1_L002_R2_001.fastq.gz", - "uuid": "84ed2e73-801c-4517-97a8-3c2b37b2ccca", - "crc32c": "2415ad85", - "version": "2018-03-29T09:02:05.647081Z", - "indexed": false, - "s3_etag": "433349770a978f0fe6b8c24f27b5181f-67", - "sha256": "06cf630701efa2666d4c0c335bd57444a3b42b4819e3dd6e4b2407adde67c21a", - "content-type": "application/gzip; dcp-type=data", - "size": 4438067446 - }, - "sequence_file/6b6c9e11-8918-45c7-b80a-cecb591a79cb": { - "sha1": "e925b341e45b8399ee735ff4daefacc9d900c084", - "name": "MantonCB4_HiSeq_8_S32_L008_I1_001.fastq.gz", - "uuid": "6b6c9e11-8918-45c7-b80a-cecb591a79cb", - "crc32c": "a170584c", - "version": "2018-03-29T09:03:59.274917Z", - "indexed": false, - "s3_etag": "723f7aaf35f1ea4f17b8dbd78e76f5c8-6", - "sha256": "5e3b1ee0960771e3a715ffea2a59f45fc00ab8916db897771e044254634c9da9", - "content-type": "application/gzip; dcp-type=data", - "size": 375770355 - }, - "sequence_file/868712b5-40fb-4c18-83bb-3dcbcce32032": { - "sha1": "91487346985bdbbc742d888829cd6ba0dce5bfca", - "name": "MantonCB1_HiSeq_8_S8_L002_I1_001.fastq.gz", - "uuid": "868712b5-40fb-4c18-83bb-3dcbcce32032", - "crc32c": "f4a27c34", - "version": "2018-03-29T09:02:35.322318Z", - "indexed": false, - "s3_etag": "22c6941fca5ab0c52d674374c8185688-7", - "sha256": "2083ec67b7c63277cb394ef98cba218e52a5d218f9af0cedf5e1a03c91f2d480", - "content-type": "application/gzip; dcp-type=data", - "size": 465319876 - }, - "sequence_file/92d4ccbe-1689-4e12-932a-40d5a75e9da5": { - "sha1": "f179228a932eca52ce77ee77b604a147e7d0ab60", - "name": "MantonCB1_HiSeq_7_S7_L001_R2_001.fastq.gz", - "uuid": "92d4ccbe-1689-4e12-932a-40d5a75e9da5", - "crc32c": "090570be", - "version": "2018-03-29T09:02:32.131873Z", - "indexed": false, - "s3_etag": "7edd0abd3940fb14df7632a812db5d29-70", - "sha256": "a1a5532ac310a495c1170212f66261a28b897aade5e44475185236474ed9119a", - "content-type": "application/gzip; dcp-type=data", - "size": 4660334132 - }, - "sequence_file/d6b9629f-9b7d-426d-b6c1-1dbf1ebf39a1": { - "sha1": "783f1da0edbfaa948bcde057d3f446bae08bc490", - "name": "MantonCB3_HiSeq_4_S20_L005_R2_001.fastq.gz", - "uuid": "d6b9629f-9b7d-426d-b6c1-1dbf1ebf39a1", - "crc32c": "dd0edda1", - "version": "2018-03-29T09:03:17.889634Z", - "indexed": false, - "s3_etag": "f4e20237d970365ae018294d4a55e75c-45", - "sha256": "0d668575dba9e5a319cd1bc92d3fefa0e9a6e75c62110bc163b7c09759e3a77c", - "content-type": "application/gzip; dcp-type=data", - "size": 2974182814 - }, - "sequence_file/2a694912-a7f2-4055-a854-aea8830e8a42": { - "sha1": "77589cba61315a607677ee1e5bc43cdfdfb4ab14", - "name": "MantonCB2_HiSeq_2_S10_L003_R2_001.fastq.gz", - "uuid": "2a694912-a7f2-4055-a854-aea8830e8a42", - "crc32c": "d3f2cd1c", - "version": "2018-03-29T09:02:41.570782Z", - "indexed": false, - "s3_etag": "802e3d6b5d35b5af66bdf62196e9d437-62", - "sha256": "6eb759e9379fc61abd64add6752a450befe866d8f04027768a25ac2c5979f7dc", - "content-type": "application/gzip; dcp-type=data", - "size": 4156059350 - }, - "sequence_file/f68eed9d-716c-48e5-9766-54521113b843": { - "sha1": "ba89d6ae3b089fef332aa6eac6a0d836c7f374fa", - "name": "MantonCB2_HiSeq_6_S14_L004_I1_001.fastq.gz", - "uuid": "f68eed9d-716c-48e5-9766-54521113b843", - "crc32c": "07513b1b", - "version": "2018-03-29T09:02:55.045786Z", - "indexed": false, - "s3_etag": "a4466b1779561ed7ea915b6106c5f19b-7", - "sha256": "1ab084cd58d4d3cd1287371209642ad8b1a970f1dae6c2c15faab63bfea6044f", - "content-type": "application/gzip; dcp-type=data", - "size": 416776744 - }, - "sequence_file/b1b19afe-cb06-442f-a463-3ae62b94e500": { - "sha1": "55ae71f31b8fa0d36b0e03cb65604b8d05faeac5", - "name": "MantonCB4_HiSeq_1_S25_L008_I1_001.fastq.gz", - "uuid": "b1b19afe-cb06-442f-a463-3ae62b94e500", - "crc32c": "65d38527", - "version": "2018-03-29T09:03:34.841771Z", - "indexed": false, - "s3_etag": "4cec359085b5a77a116ffb0652662baf-7", - "sha256": "f98a9f7986f6736aa8bbd4d133f3b0d1a2a0e90838ce5d5e7cbb8b943a2ff06d", - "content-type": "application/gzip; dcp-type=data", - "size": 411284307 - }, - "sequence_file/4515315a-d693-4a22-bf34-b58c981f28c7": { - "sha1": "4b91a4d0aef4997fb341934053266dd2210ac7bd", - "name": "MantonCB3_HiSeq_5_S21_L006_R2_001.fastq.gz", - "uuid": "4515315a-d693-4a22-bf34-b58c981f28c7", - "crc32c": "bc0db3b9", - "version": "2018-03-29T09:03:22.936766Z", - "indexed": false, - "s3_etag": "2d44c8a57906866189a5536dded081a9-58", - "sha256": "746eddacae8856fd478505d07ba7f3b67af588f8f3a73885494c89d265c1202b", - "content-type": "application/gzip; dcp-type=data", - "size": 3838274743 - }, - "sequence_file/73f7b90b-2823-4714-a145-678f83f54b56": { - "sha1": "f772c229ff58cce8d428d312f36e41cd702abcad", - "name": "MantonCB2_HiSeq_3_S11_L003_I1_001.fastq.gz", - "uuid": "73f7b90b-2823-4714-a145-678f83f54b56", - "crc32c": "144fc426", - "version": "2018-03-29T09:02:44.826531Z", - "indexed": false, - "s3_etag": "48c523742c68fd6091461a505d7dc7f9-7", - "sha256": "d88d2908a61c245712835c90f578cee4aef3d54512869be264be78b11cf545d5", - "content-type": "application/gzip; dcp-type=data", - "size": 463009798 - }, - "sequence_file/850e0456-c706-4d74-910e-76b3284641fb": { - "sha1": "12a8a7486bde362be7559107c8932c3e590dec22", - "name": "MantonCB2_HiSeq_5_S13_L004_R1_001.fastq.gz", - "uuid": "850e0456-c706-4d74-910e-76b3284641fb", - "crc32c": "88a1f350", - "version": "2018-03-29T09:02:52.711357Z", - "indexed": false, - "s3_etag": "fbcc8d21509a9a63d4ad5230c3853668-20", - "sha256": "f0a045e00d763c29b0026e450754aa4c2adf9524defcfac519d215d8cce25bc9", - "content-type": "application/gzip; dcp-type=data", - "size": 1277648208 - }, - "sequence_file/91173351-3ea1-4465-88dc-fc084fb67aec": { - "sha1": "e968d8fb03ceede2fa281ecc61ee03c0e4d5bcb4", - "name": "MantonCB3_HiSeq_5_S21_L005_I1_001.fastq.gz", - "uuid": "91173351-3ea1-4465-88dc-fc084fb67aec", - "crc32c": "29c7ef19", - "version": "2018-03-29T09:03:20.357361Z", - "indexed": false, - "s3_etag": "6e63a55ca6bcb3d37c72d0820b4e19d7-7", - "sha256": "287add98e1497b9be295d9d456263a7fe81acc1d230eec4643de3a482a50118d", - "content-type": "application/gzip; dcp-type=data", - "size": 444156125 - }, - "sequence_file/774ac2a7-2a37-42e8-b7ec-e5adc19af937": { - "sha1": "c2b75be005955979325f409c3e485837660c1bd8", - "name": "MantonCB2_HiSeq_8_S16_L004_R2_001.fastq.gz", - "uuid": "774ac2a7-2a37-42e8-b7ec-e5adc19af937", - "crc32c": "2b81e7cc", - "version": "2018-03-29T09:03:02.989836Z", - "indexed": false, - "s3_etag": "595861705fd3faa5dcb4587cfd8be3c9-56", - "sha256": "686520274ec42c301c184cd0244d02d5e1b509711de41d72a53aa7a78e05e4fe", - "content-type": "application/gzip; dcp-type=data", - "size": 3713501276 - }, - "sequence_file/25c6df56-b689-4785-a573-9ec4a0dad917": { - "sha1": "89798fab1142e9c22e0b94b73250820f0d60c530", - "name": "MantonCB3_HiSeq_2_S18_L006_I1_001.fastq.gz", - "uuid": "25c6df56-b689-4785-a573-9ec4a0dad917", - "crc32c": "64d381e7", - "version": "2018-03-29T09:03:10.759634Z", - "indexed": false, - "s3_etag": "64bff9211cc8278c6e7bd6793ba7af38-7", - "sha256": "cccbd8f42a7c5b7e9642ca5f4ddf1d29fcee575f4b5bcc7f9e851b010ec5d3e9", - "content-type": "application/gzip; dcp-type=data", - "size": 459825298 - }, - "sequence_file/369bf08e-a90f-4c3e-9f24-d7b6026bbd5c": { - "sha1": "3389fdb37986aa14ade2c7ecb3efa91e2b3f7665", - "name": "MantonCB1_HiSeq_1_S1_L002_R1_001.fastq.gz", - "uuid": "369bf08e-a90f-4c3e-9f24-d7b6026bbd5c", - "crc32c": "0001f49b", - "version": "2018-03-29T09:02:05.086678Z", - "indexed": false, - "s3_etag": "73c719e6d1ac41099f58bb912703cbcc-22", - "sha256": "ddf11add9969a6817191a3917962c422f561068ce3a158c6ca459041cbb66da1", - "content-type": "application/gzip; dcp-type=data", - "size": 1471569363 - }, - "sequence_file/1110dffb-c4b1-4eb2-9319-6fdbc7fdcb8e": { - "sha1": "20007b678a67b10d8def453ccc7392e9b3f6f8a1", - "name": "MantonCB4_HiSeq_3_S27_L008_R2_001.fastq.gz", - "uuid": "1110dffb-c4b1-4eb2-9319-6fdbc7fdcb8e", - "crc32c": "05470823", - "version": "2018-03-29T09:03:42.652512Z", - "indexed": false, - "s3_etag": "b80a2530507f449c0ce70af52b9b258f-54", - "sha256": "27b998830fd1ed1b5b890afbf2e9ab7b8c9b32c72554345998bf2cdcbf46286c", - "content-type": "application/gzip; dcp-type=data", - "size": 3600083011 - }, - "sequence_file/948e17b8-aa39-4a79-b5df-6abf0007ca12": { - "sha1": "e6173fe9a846407dfb9a6afefdc578b045a167d4", - "name": "MantonCB1_HiSeq_5_S5_L002_R2_001.fastq.gz", - "uuid": "948e17b8-aa39-4a79-b5df-6abf0007ca12", - "crc32c": "72ad59f8", - "version": "2018-03-29T09:02:26.890871Z", - "indexed": false, - "s3_etag": "03630d21254141671ef7c9484aa7fffa-52", - "sha256": "a5c1e8c910e84557e6c5692a57a8d7c93ee89dea76491e791ea02cda450c5e99", - "content-type": "application/gzip; dcp-type=data", - "size": 3426945525 - }, - "sequence_file/05e39baf-e0a5-4c1f-8e1f-811378db1cf8": { - "sha1": "8cacf4c0505f81b6cda991e3ca3717b6a83ffebe", - "name": "MantonCB2_HiSeq_2_S10_L003_I1_001.fastq.gz", - "uuid": "05e39baf-e0a5-4c1f-8e1f-811378db1cf8", - "crc32c": "7de682ea", - "version": "2018-03-29T09:02:40.031794Z", - "indexed": false, - "s3_etag": "044ef619c025cf27117cd313a03bb54b-7", - "sha256": "0f51b048afca4e015353a1f9ed37c5e7397e486648b5cfebd8816da428e7ee8d", - "content-type": "application/gzip; dcp-type=data", - "size": 465617481 - }, - "sequence_file/9bf891a4-a1b9-4ff0-b282-65cd2befc15c": { - "sha1": "962577ef696032afba7f764be7427d879abcbefb", - "name": "MantonCB1_HiSeq_3_S3_L001_R2_001.fastq.gz", - "uuid": "9bf891a4-a1b9-4ff0-b282-65cd2befc15c", - "crc32c": "7699a57f", - "version": "2018-03-29T09:02:11.525060Z", - "indexed": false, - "s3_etag": "7138e5e61967278ef57787bccfad596d-40", - "sha256": "4342ccb977b932d9904ef6013368d00107cfff3dc8f9b7556128b9d407fa9f4d", - "content-type": "application/gzip; dcp-type=data", - "size": 2617735561 - }, - "sequence_file/1ade713c-9338-490f-9d98-0376f3be7015": { - "sha1": "d05e61cdabf3dfe97837e01810db4c87e31d4068", - "name": "MantonCB3_HiSeq_3_S19_L005_R1_001.fastq.gz", - "uuid": "1ade713c-9338-490f-9d98-0376f3be7015", - "crc32c": "48d0855c", - "version": "2018-03-29T09:03:13.871193Z", - "indexed": false, - "s3_etag": "97ea3e1892982338fa65579cf894c63e-20", - "sha256": "def3ad268297e69f5250fb58cc153c72a4a34b88973245f1aefa9f1929c9aacf", - "content-type": "application/gzip; dcp-type=data", - "size": 1281868963 - }, - "sequence_file/43a5906d-d880-49ef-b743-261a69c7024f": { - "sha1": "71e08efb97df60062f1322301893522c7e8c6340", - "name": "MantonCB4_HiSeq_7_S31_L007_I1_001.fastq.gz", - "uuid": "43a5906d-d880-49ef-b743-261a69c7024f", - "crc32c": "a446aea8", - "version": "2018-03-29T09:03:54.668110Z", - "indexed": false, - "s3_etag": "86540f217e79b20ed17f65f4b63029c7-8", - "sha256": "bbb3a206411ae5dd61a99585950fd26df827f77987cb2ddfe705af87985addcd", - "content-type": "application/gzip; dcp-type=data", - "size": 473015818 - }, - "sequence_file/0671d6de-6840-4fc8-b67d-f7d662beea88": { - "sha1": "1c29a551e69493e74b711904aa6f71136908b62e", - "name": "MantonCB4_HiSeq_6_S30_L008_R2_001.fastq.gz", - "uuid": "0671d6de-6840-4fc8-b67d-f7d662beea88", - "crc32c": "dd5fe059", - "version": "2018-03-29T09:03:54.247535Z", - "indexed": false, - "s3_etag": "7d3b42cc48bd7b913b93c8399448bccb-65", - "sha256": "265848bef3cc85c5c5fb564963862cb725cc9b04abad56d3bd8250ecbff48e2d", - "content-type": "application/gzip; dcp-type=data", - "size": 4328945755 - }, - "sequence_file/c7ec9c55-9f6a-49be-8f30-aac0d4c05bf9": { - "sha1": "ae7017b99cf023c2eaad57bcb5b16314a877afbc", - "name": "MantonCB2_HiSeq_6_S14_L003_I1_001.fastq.gz", - "uuid": "c7ec9c55-9f6a-49be-8f30-aac0d4c05bf9", - "crc32c": "535f3a3a", - "version": "2018-03-29T09:02:53.652188Z", - "indexed": false, - "s3_etag": "cb9eaa5bfb7687d1b9d12299007423de-7", - "sha256": "3de2c58d5c4a85fde31d1202a4f63b0bd30477576755e9c44c575fbf3f1ab83c", - "content-type": "application/gzip; dcp-type=data", - "size": 406367130 - }, - "sequence_file/b1504d1c-6013-4ea0-81aa-7c772266496c": { - "sha1": "e9117de2cce40a2a1da9a02f3d8b81d0802a1993", - "name": "MantonCB3_HiSeq_3_S19_L005_I1_001.fastq.gz", - "uuid": "b1504d1c-6013-4ea0-81aa-7c772266496c", - "crc32c": "73a76976", - "version": "2018-03-29T09:03:12.576681Z", - "indexed": false, - "s3_etag": "b44bfb64df110d42179aa3b728f5adfd-7", - "sha256": "02e2fd188501b2abff42914f0e9ef24847b14ecd9e5052f4a0973af3a1821d0a", - "content-type": "application/gzip; dcp-type=data", - "size": 421446719 - }, - "sequence_file/7c102baf-2faa-44f9-bd03-2db1763fab2b": { - "sha1": "4ad535f3e01e9ae8c9da1222073839ccbaf3f398", - "name": "MantonCB1_HiSeq_4_S4_L001_R1_001.fastq.gz", - "uuid": "7c102baf-2faa-44f9-bd03-2db1763fab2b", - "crc32c": "c35909c0", - "version": "2018-03-29T09:02:14.236593Z", - "indexed": false, - "s3_etag": "91aef21dfad4e317617e5d47db4a91d9-16", - "sha256": "ec6da500458945a825c6c4f19c520d350b76f8838b690bcba9bd787696b33a09", - "content-type": "application/gzip; dcp-type=data", - "size": 1028180900 - }, - "sequence_file/538f5f66-76f7-40e3-9130-e4e3633b0bb6": { - "sha1": "628629d2144676706a567d20ba10d56ca613e72c", - "name": "MantonCB1_HiSeq_4_S4_L002_R1_001.fastq.gz", - "uuid": "538f5f66-76f7-40e3-9130-e4e3633b0bb6", - "crc32c": "dcdee5ff", - "version": "2018-03-29T09:02:15.588875Z", - "indexed": false, - "s3_etag": "7c74a73ecd144ee580c88ccdc1c28382-16", - "sha256": "b16fc2c51eb6bc297b77e45c73bcf1e9abcc33365cb7027bbffe77ec8f20382b", - "content-type": "application/gzip; dcp-type=data", - "size": 1025846328 - }, - "sequence_file/2fc5f77e-eb3f-4239-9491-54c884d9bd14": { - "sha1": "ab03c2860a3ec0127d019fa9744473a1b7d68ee3", - "name": "MantonCB3_HiSeq_3_S19_L006_I1_001.fastq.gz", - "uuid": "2fc5f77e-eb3f-4239-9491-54c884d9bd14", - "crc32c": "303ada27", - "version": "2018-03-29T09:03:15.064664Z", - "indexed": false, - "s3_etag": "a9fff39cceb6059bb8a08821eb0d081f-7", - "sha256": "a5f1f1ad4a5fa3e73787cab49234cc956b12c5e8e1ba7c9760a32d1a442c7aa0", - "content-type": "application/gzip; dcp-type=data", - "size": 421008397 - }, - "sequence_file/b7a24845-305e-4b46-9803-37b851ec0d05": { - "sha1": "a85f9ef875fc0b857b42d74c8add5497f6ac5969", - "name": "MantonCB3_HiSeq_4_S20_L005_R1_001.fastq.gz", - "uuid": "b7a24845-305e-4b46-9803-37b851ec0d05", - "crc32c": "ac4b12bf", - "version": "2018-03-29T09:03:17.530809Z", - "indexed": false, - "s3_etag": "25c3085b1191be4a2ef63c3497eb2d14-15", - "sha256": "0d96f941e08d200ddbb5750c2b2c41145da7049e9ed34e96fbfd8abaac5682ce", - "content-type": "application/gzip; dcp-type=data", - "size": 990961423 - }, - "sequence_file/ea5f0052-93a9-40ab-8452-8bee7489612b": { - "sha1": "14ccb718ea040958ec78e054ceb6610e9b07e221", - "name": "MantonCB2_HiSeq_2_S10_L004_R1_001.fastq.gz", - "uuid": "ea5f0052-93a9-40ab-8452-8bee7489612b", - "crc32c": "15b8c4b9", - "version": "2018-03-29T09:02:43.331409Z", - "indexed": false, - "s3_etag": "8ffb98efee301a345ae11b1f79bf3952-22", - "sha256": "53bd92113168be7a1276f67c46abdb8f66ff618152a893ff2b7693de8efb2daf", - "content-type": "application/gzip; dcp-type=data", - "size": 1454932945 - }, - "sequence_file/82d29d79-1b18-41b4-83b3-603a9234e64a": { - "sha1": "058b7550138752bd24462c2d938b7821996351c0", - "name": "MantonCB3_HiSeq_7_S23_L006_I1_001.fastq.gz", - "uuid": "82d29d79-1b18-41b4-83b3-603a9234e64a", - "crc32c": "8b6434a5", - "version": "2018-03-29T09:03:28.239105Z", - "indexed": false, - "s3_etag": "86aa4f825168278012cf6fa3ec41c589-7", - "sha256": "060a711cb435c6b93d257715a3331ef34253ae4720362d6ac682dcfdf1021ad8", - "content-type": "application/gzip; dcp-type=data", - "size": 411135114 - }, - "sequence_file/11726713-72bb-43d6-9fd0-e09d4940f7fd": { - "sha1": "29c9251ff8cbd2e156364c566e2d2f6e4f33464c", - "name": "MantonCB4_HiSeq_6_S30_L007_R1_001.fastq.gz", - "uuid": "11726713-72bb-43d6-9fd0-e09d4940f7fd", - "crc32c": "eba30c9d", - "version": "2018-03-29T09:03:52.322929Z", - "indexed": false, - "s3_etag": "d6be729dd83271f80d8e06f8d3da917e-23", - "sha256": "100c2c4735e435a26e1880fec810317f175d8604d56ca7b94fe1074a1de46912", - "content-type": "application/gzip; dcp-type=data", - "size": 1512694827 - }, - "sequence_file/10d3fd29-2c93-47ae-86ad-5bede5e97aba": { - "sha1": "1a2ddc20a0a51845b73da46559853ed0471b2a43", - "name": "MantonCB1_HiSeq_3_S3_L001_I1_001.fastq.gz", - "uuid": "10d3fd29-2c93-47ae-86ad-5bede5e97aba", - "crc32c": "c366b118", - "version": "2018-03-29T09:02:10.736051Z", - "indexed": false, - "s3_etag": "43b529a8c0716a318246316ed31fb95a-5", - "sha256": "8172c4201f7076488a6da955ccdb72289ed0605b13b31fef96f58fee4bb3257f", - "content-type": "application/gzip; dcp-type=data", - "size": 301580685 - }, - "sequence_file/0c364954-e51a-4b4a-99cf-9aee7cedd5f8": { - "sha1": "9c7ff5b2059fb40d951e70d731f73be0847e91e4", - "name": "MantonCB1_HiSeq_3_S3_L002_I1_001.fastq.gz", - "uuid": "0c364954-e51a-4b4a-99cf-9aee7cedd5f8", - "crc32c": "56c98593", - "version": "2018-03-29T09:02:11.959015Z", - "indexed": false, - "s3_etag": "09629b21ed8ea98b8b7f01a33623bd60-5", - "sha256": "e34ad306c152bd5031a3e5e8fc00377a71d8b10644a7057e0045c511683913a1", - "content-type": "application/gzip; dcp-type=data", - "size": 294816225 - }, - "sequence_file/4baea468-bdb2-40fb-85fc-ede385f3a961": { - "sha1": "237fb1adde4064ed1123e316a1444f208b54e03e", - "name": "MantonCB3_HiSeq_2_S18_L006_R2_001.fastq.gz", - "uuid": "4baea468-bdb2-40fb-85fc-ede385f3a961", - "crc32c": "9552cc21", - "version": "2018-03-29T09:03:11.969925Z", - "indexed": false, - "s3_etag": "8b42b356ed861fdfc6fc16f11e027fd3-63", - "sha256": "e6ee591aae7326ca549c0bed91470e78a99aabee62415c1a099ab4b198ca7808", - "content-type": "application/gzip; dcp-type=data", - "size": 4193335927 - }, - "sequence_file/0c06ee73-f507-4427-aeb0-e7359620f2a4": { - "sha1": "61fd2b1a2c863dc606ccc5c7f9d60a4cbdd735dc", - "name": "MantonCB1_HiSeq_2_S2_L002_R1_001.fastq.gz", - "uuid": "0c06ee73-f507-4427-aeb0-e7359620f2a4", - "crc32c": "66fd043e", - "version": "2018-03-29T09:02:08.717858Z", - "indexed": false, - "s3_etag": "f89d0a0f5af2e43ae7233efe8f9d4012-15", - "sha256": "75b2625db421f6584e05ed82e8160981c5b105c65dcaf4e241937096d22ab0c3", - "content-type": "application/gzip; dcp-type=data", - "size": 988412003 - }, - "sequence_file/e64cbb06-6329-4132-b8c2-b9a5a6774696": { - "sha1": "f892e5546f9b34fe16c1d1701c96c5cd258dd7b8", - "name": "MantonCB4_HiSeq_5_S29_L007_R1_001.fastq.gz", - "uuid": "e64cbb06-6329-4132-b8c2-b9a5a6774696", - "crc32c": "ccc3e36d", - "version": "2018-03-29T09:03:48.522493Z", - "indexed": false, - "s3_etag": "2be422f8d84182c5895a14d90d3098c5-18", - "sha256": "387f699dc51e7ef40caa568ed995cc85279a0187f33dc9c5f04c60a3d8791fe6", - "content-type": "application/gzip; dcp-type=data", - "size": 1206175170 - }, - "sequence_file/7ddf5ede-274c-4252-b9bd-8344ab01e47f": { - "sha1": "cdc494c4b73f67ead4c4746a854960f430305498", - "name": "MantonCB2_HiSeq_6_S14_L004_R1_001.fastq.gz", - "uuid": "7ddf5ede-274c-4252-b9bd-8344ab01e47f", - "crc32c": "419d5d8d", - "version": "2018-03-29T09:02:55.473327Z", - "indexed": false, - "s3_etag": "a211b6d36b3ed449e86a1f81680a5082-20", - "sha256": "08ba708d24eee95e8e99c8033f8ffc884f910225e474a4cd2bd399d459dd493b", - "content-type": "application/gzip; dcp-type=data", - "size": 1315658033 - }, - "sequence_file/f2bd46e6-1077-482f-852d-069d2b17c2cd": { - "sha1": "77f01307861d9748312466b3428393e390e8803f", - "name": "MantonCB4_HiSeq_2_S26_L007_R2_001.fastq.gz", - "uuid": "f2bd46e6-1077-482f-852d-069d2b17c2cd", - "crc32c": "f1d8b483", - "version": "2018-03-29T09:03:37.043403Z", - "indexed": false, - "s3_etag": "2b75b2fd675f1cefcf86f562446108f6-44", - "sha256": "bf3611299c34cb6bdeb8ba90571135e1e733e56f8e6bc155c1965efae677e5c5", - "content-type": "application/gzip; dcp-type=data", - "size": 2925638357 - }, - "sequence_file/e8290f80-02d6-424d-a11b-a6989a14e3d4": { - "sha1": "18d65567900c64374573591ee0b243d9e323b423", - "name": "MantonCB1_HiSeq_6_S6_L001_R2_001.fastq.gz", - "uuid": "e8290f80-02d6-424d-a11b-a6989a14e3d4", - "crc32c": "164e2c4e", - "version": "2018-03-29T09:02:28.491719Z", - "indexed": false, - "s3_etag": "212332d5e6b5719c6db0e2e713c29ff0-62", - "sha256": "d3f0e99ba4f675d28b4744e5c77841601feefcd314310b05d608ece7419c3ee6", - "content-type": "application/gzip; dcp-type=data", - "size": 4132788056 - }, - "sequence_file/dc52aeff-81c5-4c0e-9007-3f3d0d5322a6": { - "sha1": "90eab38f20495bb868dccf3570b724efd1cbc93f", - "name": "MantonCB1_HiSeq_2_S2_L002_I1_001.fastq.gz", - "uuid": "dc52aeff-81c5-4c0e-9007-3f3d0d5322a6", - "crc32c": "95688cd2", - "version": "2018-03-29T09:02:08.279063Z", - "indexed": false, - "s3_etag": "0969987fadee3d8a45d004d05b349cf0-5", - "sha256": "7b53b8a1d01c6dcef449b0ae963d9e20042b3ffe438169f82cc89acc6d1944e6", - "content-type": "application/gzip; dcp-type=data", - "size": 334401478 - }, - "sequence_file/1c04418c-3550-40a7-9858-68b326605579": { - "sha1": "ef647e747d65984ce5a541726ad2d0a45fc0bcb5", - "name": "MantonCB3_HiSeq_8_S24_L006_I1_001.fastq.gz", - "uuid": "1c04418c-3550-40a7-9858-68b326605579", - "crc32c": "d82a3002", - "version": "2018-03-29T09:03:31.739097Z", - "indexed": false, - "s3_etag": "91d26a22e03ff3309b2e0a32fd303184-6", - "sha256": "996261ac885cf6f26225be819a16c008fe393fcd2d98e921831cf20ab90dbcc0", - "content-type": "application/gzip; dcp-type=data", - "size": 393009522 - }, - "sequence_file/3da817b1-75a2-4477-94dc-870521be252f": { - "sha1": "b118e78c5805dc54ba09ff428c81516d50190646", - "name": "MantonCB3_HiSeq_6_S22_L006_I1_001.fastq.gz", - "uuid": "3da817b1-75a2-4477-94dc-870521be252f", - "crc32c": "40ab29cd", - "version": "2018-03-29T09:03:24.901871Z", - "indexed": false, - "s3_etag": "6165e7a90ddc7a6d0e07769ec8313da5-7", - "sha256": "3ec69987bb9df87fedf31c2ed3f7b6c38eb56426377d4e1f6e690cf05882c5e3", - "content-type": "application/gzip; dcp-type=data", - "size": 460566457 - }, - "sequence_file/e62f6842-6b8b-474b-ab43-55cae82c8d25": { - "sha1": "b2d813cd7d844a72b1357315bc70c1d4b75993f2", - "name": "MantonCB3_HiSeq_6_S22_L005_R2_001.fastq.gz", - "uuid": "e62f6842-6b8b-474b-ab43-55cae82c8d25", - "crc32c": "ba5467cc", - "version": "2018-03-29T09:03:24.300916Z", - "indexed": false, - "s3_etag": "0f7c90d73bb729d5fe49fdce7910bac8-61", - "sha256": "fcb8c24228e97b07874f64533c0e405eb925998cd3ddf26759a419e9e18d2622", - "content-type": "application/gzip; dcp-type=data", - "size": 4074499336 - }, - "sequence_file/612ece49-f034-4d09-8958-933cfe834c63": { - "sha1": "1c891c6149c65de996e6447349ba5a68f7d31a20", - "name": "MantonCB4_HiSeq_2_S26_L008_R1_001.fastq.gz", - "uuid": "612ece49-f034-4d09-8958-933cfe834c63", - "crc32c": "2999fb84", - "version": "2018-03-29T09:03:37.827281Z", - "indexed": false, - "s3_etag": "6a97b155867a10557bb917ace353bd08-14", - "sha256": "1460a1a13b1130bcc9336cf62aaab31d6cfeb0f4af1cb84349f51da7249d4e4e", - "content-type": "application/gzip; dcp-type=data", - "size": 889251265 - }, - "sequence_file/946889b2-c18d-45ff-b5dc-df818f2c98b7": { - "sha1": "6f3bce4e538726d51532bc98da2b786b1eb4f49d", - "name": "MantonCB4_HiSeq_8_S32_L008_R2_001.fastq.gz", - "uuid": "946889b2-c18d-45ff-b5dc-df818f2c98b7", - "crc32c": "9ad5d880", - "version": "2018-03-29T09:04:00.502673Z", - "indexed": false, - "s3_etag": "b6dbaf35f6d62d160a1b1856b57d4afd-47", - "sha256": "3557cdd5b75684e32bd3472a863c16c55ec54c3ea96cb66ead1f1cffa3b6af54", - "content-type": "application/gzip; dcp-type=data", - "size": 3099334335 - }, - "sequence_file/d16086a1-876b-4a27-912c-95aa48d76f0b": { - "sha1": "9a19f8402c344a88e805f5232f30738545dc3b73", - "name": "MantonCB3_HiSeq_4_S20_L005_I1_001.fastq.gz", - "uuid": "d16086a1-876b-4a27-912c-95aa48d76f0b", - "crc32c": "0cab3851", - "version": "2018-03-29T09:03:16.652416Z", - "indexed": false, - "s3_etag": "a61c6810e0be68d27d6ae790234c8e6b-5", - "sha256": "1febbf0077178ba3d745def7a140df3c1ecf047f2c9992307430ee71fa874f65", - "content-type": "application/gzip; dcp-type=data", - "size": 324343142 - }, - "sequence_file/cdac53a4-9c25-4add-a5fb-0c3566d34bac": { - "sha1": "27f059701b9edb267a0ddd22fc5ae3678d056d6f", - "name": "MantonCB2_HiSeq_4_S12_L003_R1_001.fastq.gz", - "uuid": "cdac53a4-9c25-4add-a5fb-0c3566d34bac", - "crc32c": "985c02d5", - "version": "2018-03-29T09:02:48.240497Z", - "indexed": false, - "s3_etag": "77e6b1475d1cfd0430a3473e8bb9ab16-19", - "sha256": "9e237a4b3f7a975c0c8b10d455ab5e6bb7046a0ce564844b66e154658bd0aeae", - "content-type": "application/gzip; dcp-type=data", - "size": 1256623074 - }, - "sequence_file/ab363ff2-fa4f-4c6e-a817-8255b28f0171": { - "sha1": "11b078951748d4b2c193a50acdce713196a09ad5", - "name": "MantonCB2_HiSeq_1_S9_L004_I1_001.fastq.gz", - "uuid": "ab363ff2-fa4f-4c6e-a817-8255b28f0171", - "crc32c": "1693eaa1", - "version": "2018-03-29T09:02:38.670852Z", - "indexed": false, - "s3_etag": "774510cf9cc2b2277090c859b295668e-6", - "sha256": "bbe93d1a2eb5687faae99b6b1f342d99c1d2625feeaf920b7a21e7d29552c699", - "content-type": "application/gzip; dcp-type=data", - "size": 383032112 - }, - "sequence_file/465fde8c-1bfc-4f16-9244-9bc2ebf64827": { - "sha1": "478f2f6c7535bc3adef53ec928ab7f78deddce9f", - "name": "MantonCB3_HiSeq_5_S21_L006_R1_001.fastq.gz", - "uuid": "465fde8c-1bfc-4f16-9244-9bc2ebf64827", - "crc32c": "b00e7c93", - "version": "2018-03-29T09:03:22.594017Z", - "indexed": false, - "s3_etag": "f221585b1bf9d151c3e7c81a38f3723e-20", - "sha256": "6cd7f6af31ae0cd4c6ffa9e979d83bd987655bf192543f0d6f3cc736aae479f8", - "content-type": "application/gzip; dcp-type=data", - "size": 1314186174 - }, - "sequence_file/53bc1c9f-4e87-45c1-b6bf-452d706bbf36": { - "sha1": "84573da6cb259696be2330fc243a1c28cc2d460d", - "name": "MantonCB3_HiSeq_5_S21_L006_I1_001.fastq.gz", - "uuid": "53bc1c9f-4e87-45c1-b6bf-452d706bbf36", - "crc32c": "09111e8c", - "version": "2018-03-29T09:03:21.859607Z", - "indexed": false, - "s3_etag": "dce66841f7d2aab1cd1363d9f75824a1-7", - "sha256": "6852acca9cec3ff33a31c9f039354b849c4238561c83523b9613a34ccf4b5cd7", - "content-type": "application/gzip; dcp-type=data", - "size": 444799110 - }, - "sequence_file/35770609-6db4-415e-ae1d-dc590338bdce": { - "sha1": "ba093e04af4c5fc783487454cdda89c1bf978ca3", - "name": "MantonCB1_HiSeq_4_S4_L001_I1_001.fastq.gz", - "uuid": "35770609-6db4-415e-ae1d-dc590338bdce", - "crc32c": "d43a2f20", - "version": "2018-03-29T09:02:13.852873Z", - "indexed": false, - "s3_etag": "379c20e4cb7c559ab1a2cc12b967347b-6", - "sha256": "593285bcf9ac0c6da5b52924d607b507c83f44b3cfced3707e174d56b0ae71f4", - "content-type": "application/gzip; dcp-type=data", - "size": 354763208 - }, - "sequence_file/71715dea-99cd-4756-aa9c-debfd4927b89": { - "sha1": "3d30b6c3d1822c92006b6205a7a5f9b7153cb17b", - "name": "MantonCB2_HiSeq_4_S12_L003_I1_001.fastq.gz", - "uuid": "71715dea-99cd-4756-aa9c-debfd4927b89", - "crc32c": "d9380e67", - "version": "2018-03-29T09:02:47.865734Z", - "indexed": false, - "s3_etag": "cd4f1081c643dff2dd8922a69418f94a-7", - "sha256": "63c343be0b33f8f61f8dd556d7e8ba6dfe7b5149613395d1ca70bbb24ce69315", - "content-type": "application/gzip; dcp-type=data", - "size": 410126538 - }, - "sequence_file/bfb8a6f0-5225-425a-a8e0-140271c8c5b1": { - "sha1": "87df0c1cfe739221b5646d1e4ab424840f279e07", - "name": "MantonCB3_HiSeq_1_S17_L005_I1_001.fastq.gz", - "uuid": "bfb8a6f0-5225-425a-a8e0-140271c8c5b1", - "crc32c": "10730510", - "version": "2018-03-29T09:03:03.990954Z", - "indexed": false, - "s3_etag": "ebbfc7a8f6cf813f8e4bc325708f20c5-8", - "sha256": "be4881db2821f668917a621eb7316fe5db43847ed02acc07f3ca6f67f076ff18", - "content-type": "application/gzip; dcp-type=data", - "size": 474974417 - }, - "sequence_file/05b4fee4-8499-4c53-a11b-bf9f46f20092": { - "sha1": "90ea9b58bf2e3e7ba4eb2a6554d9681efc9bbea2", - "name": "MantonCB2_HiSeq_1_S9_L004_R1_001.fastq.gz", - "uuid": "05b4fee4-8499-4c53-a11b-bf9f46f20092", - "crc32c": "f2b5d5fc", - "version": "2018-03-29T09:02:38.956274Z", - "indexed": false, - "s3_etag": "96552b4e83154045ee14c1545154990a-18", - "sha256": "06530460cf5534713909fdf33d015a3155d514a77556a2fe6dccd509a05ee3fe", - "content-type": "application/gzip; dcp-type=data", - "size": 1181673704 - }, - "sequence_file/04489995-747c-4899-a043-ef7aba9a29f1": { - "sha1": "1412c0408749f934f956d2c8043a48a5a25ef0f4", - "name": "MantonCB4_HiSeq_2_S26_L008_I1_001.fastq.gz", - "uuid": "04489995-747c-4899-a043-ef7aba9a29f1", - "crc32c": "1f664872", - "version": "2018-03-29T09:03:37.440248Z", - "indexed": false, - "s3_etag": "85b6a03f36feaf206f782906ced1b220-5", - "sha256": "7566554ef7acd591e7dcf4c67c7713d9a90e192de2a5ef1293fff350e457fd6f", - "content-type": "application/gzip; dcp-type=data", - "size": 297014758 - }, - "sequence_file/3a8260d6-5206-4cbe-a672-782be9e061f5": { - "sha1": "9a62ef3f593a69b2fcab1d8edceb17b652c45876", - "name": "MantonCB3_HiSeq_8_S24_L005_R2_001.fastq.gz", - "uuid": "3a8260d6-5206-4cbe-a672-782be9e061f5", - "crc32c": "08f915b1", - "version": "2018-03-29T09:03:31.064380Z", - "indexed": false, - "s3_etag": "7b019035881a379e6c3f6ca75566b378-51", - "sha256": "13b13126ded8b4479f662771f683b7b368452d4116f8703b875bcccabf4b6850", - "content-type": "application/gzip; dcp-type=data", - "size": 3384935623 - }, - "sequence_file/b0c8dcf8-0853-4006-938b-101a1f0d0e3a": { - "sha1": "dcc4d42e36f6b0bf30e774b4fd6cc3c4afd8e8ff", - "name": "MantonCB1_HiSeq_8_S8_L001_R1_001.fastq.gz", - "uuid": "b0c8dcf8-0853-4006-938b-101a1f0d0e3a", - "crc32c": "1e818792", - "version": "2018-03-29T09:02:34.391234Z", - "indexed": false, - "s3_etag": "95d82bb0785bcd996b4eeb6fcedffab4-22", - "sha256": "adb574b38fcd29a3f0de986d48eb768eceae9e5165299994ca03bd3c1b7fe442", - "content-type": "application/gzip; dcp-type=data", - "size": 1444731241 - }, - "sequence_file/c8ae16b5-478d-484e-a691-8d0685e35011": { - "sha1": "4175cb5e8eace548fb880577b1b3f683739b8b18", - "name": "MantonCB2_HiSeq_1_S9_L004_R2_001.fastq.gz", - "uuid": "c8ae16b5-478d-484e-a691-8d0685e35011", - "crc32c": "a2d3bf75", - "version": "2018-03-29T09:02:39.466638Z", - "indexed": false, - "s3_etag": "c000af8f19a3b21eab6e779d700c9526-52", - "sha256": "8cfc2b0a6151a4ad4ded0219e7a7810a783e1e67a82d48e21cb4ca1884e3512c", - "content-type": "application/gzip; dcp-type=data", - "size": 3456939396 - }, - "sequence_file/b2c4ce8e-8318-48f0-a36c-b0f56568a93b": { - "sha1": "334d6708cefab8ed9442abee3de447f4f14a5be0", - "name": "MantonCB2_HiSeq_3_S11_L004_R2_001.fastq.gz", - "uuid": "b2c4ce8e-8318-48f0-a36c-b0f56568a93b", - "crc32c": "5d240944", - "version": "2018-03-29T09:02:47.124793Z", - "indexed": false, - "s3_etag": "ea18b3be0ec73b96b2074460f3a97d24-63", - "sha256": "b970864261659e7b1506d5eacb9f065990a365310046bc17798ce15eb704a25b", - "content-type": "application/gzip; dcp-type=data", - "size": 4215744949 - }, - "sequence_file/18b056bb-9ec0-4d6c-9e5f-bdbee3825d69": { - "sha1": "bbc4367fe2c5827c2950449b2463d1b0821a0bdf", - "name": "MantonCB3_HiSeq_4_S20_L006_R2_001.fastq.gz", - "uuid": "18b056bb-9ec0-4d6c-9e5f-bdbee3825d69", - "crc32c": "67a07c19", - "version": "2018-03-29T09:03:19.536890Z", - "indexed": false, - "s3_etag": "137b6fb4cff12cfee11c7d78a4d3fe1c-43", - "sha256": "aa0fc8629fb835e377d7d86dfdc0aea2f57e9a09fb6693ae0c91eb23e1866f39", - "content-type": "application/gzip; dcp-type=data", - "size": 2864720918 - }, - "sequence_file/f5d9fcc4-5fe7-4f2a-88ef-5f7c3602062c": { - "sha1": "dea69318f7d34500ef80a40420e99d80c05732cf", - "name": "MantonCB1_HiSeq_5_S5_L002_R1_001.fastq.gz", - "uuid": "f5d9fcc4-5fe7-4f2a-88ef-5f7c3602062c", - "crc32c": "cfac670a", - "version": "2018-03-29T09:02:20.167780Z", - "indexed": false, - "s3_etag": "fa49477b4ab0c7fd73a796d0f0ee8381-17", - "sha256": "6c3f61a68247e0f04538ecebbc3d29fbe1d7af951b584cf50b3e8b04a70b60b4", - "content-type": "application/gzip; dcp-type=data", - "size": 1137542562 - }, - "sequence_file/3c92b73c-13c8-472e-8728-c48120abac15": { - "sha1": "ed847e7ed54b5d086b2797ce38c9b37a72fba199", - "name": "MantonCB1_HiSeq_6_S6_L001_I1_001.fastq.gz", - "uuid": "3c92b73c-13c8-472e-8728-c48120abac15", - "crc32c": "eea41265", - "version": "2018-03-29T09:02:27.510430Z", - "indexed": false, - "s3_etag": "4e30de707c2d7aba0d1683079f1c261b-7", - "sha256": "b50f2dff68095a2c35973f6ba71fcb9911e9c398765cadb8d42b5ca82e8b3b40", - "content-type": "application/gzip; dcp-type=data", - "size": 467839660 - }, - "sequence_file/2c9190f9-98be-4314-8a02-97519229d975": { - "sha1": "23b7d4135f6dddad37f533bbfad0296560268fe8", - "name": "MantonCB1_HiSeq_6_S6_L001_R1_001.fastq.gz", - "uuid": "2c9190f9-98be-4314-8a02-97519229d975", - "crc32c": "4db511f7", - "version": "2018-03-29T09:02:28.009713Z", - "indexed": false, - "s3_etag": "c786cb42ea6bbbc298a917c03b5980e2-21", - "sha256": "e8328865b116f446aca5114f387b91f0f71cf9c11133e5c734a72c6953636633", - "content-type": "application/gzip; dcp-type=data", - "size": 1361352567 - }, - "sequence_file/dde7422f-1671-47f6-9c28-f447f780dc62": { - "sha1": "97150592415be638d711241b7853b1347d142621", - "name": "MantonCB4_HiSeq_4_S28_L008_R1_001.fastq.gz", - "uuid": "dde7422f-1671-47f6-9c28-f447f780dc62", - "crc32c": "c64af02b", - "version": "2018-03-29T09:03:45.489488Z", - "indexed": false, - "s3_etag": "9742b537c1e893ee8eed86b31bdfa624-19", - "sha256": "2b830868994cd8da84af53b6c4e7ee43e3cb737112911fd3127d1cd4c186e49a", - "content-type": "application/gzip; dcp-type=data", - "size": 1245729478 - }, - "sequence_file/84b8fd91-a9e9-4874-b6bb-77d559fd5b25": { - "sha1": "45bf6f03408b4e3120ede15e496b59e0cb423d02", - "name": "MantonCB3_HiSeq_2_S18_L005_I1_001.fastq.gz", - "uuid": "84b8fd91-a9e9-4874-b6bb-77d559fd5b25", - "crc32c": "ec80bf6c", - "version": "2018-03-29T09:03:07.157245Z", - "indexed": false, - "s3_etag": "dfa3d1fb0b2ed2e2be417faf986d8107-7", - "sha256": "6c4f8813dbe69fae32166e8f3943a39272e493b2b62b36f06843291fb33069e5", - "content-type": "application/gzip; dcp-type=data", - "size": 460181670 - }, - "sequence_file/4e0e994c-2dc2-4347-b436-bf4ad68d410e": { - "sha1": "4ef2dd92e4b2a1eea93d69604fade791f9acbdd4", - "name": "MantonCB2_HiSeq_1_S9_L003_R1_001.fastq.gz", - "uuid": "4e0e994c-2dc2-4347-b436-bf4ad68d410e", - "crc32c": "fff8ae0a", - "version": "2018-03-29T09:02:37.821507Z", - "indexed": false, - "s3_etag": "775cdab425cebb0e274d5ee3e749428a-18", - "sha256": "09c070fbe72510247043808651cc31091aa13469fe748f9226ee02bbcfc8b92b", - "content-type": "application/gzip; dcp-type=data", - "size": 1153843998 - }, - "sequence_file/7953d974-4812-4b77-b5c2-ea8c3f5cc864": { - "sha1": "b670da4147faa424e392089aa4841c7531fc1d9b", - "name": "MantonCB2_HiSeq_3_S11_L003_R2_001.fastq.gz", - "uuid": "7953d974-4812-4b77-b5c2-ea8c3f5cc864", - "crc32c": "89ba7d9d", - "version": "2018-03-29T09:02:45.801905Z", - "indexed": false, - "s3_etag": "8993a0b7fc4feec5bd2541a867ee1d8b-62", - "sha256": "667692bf4e0379ebff4b0bb97660df0f4463987549467d3fa40f348f1a346e74", - "content-type": "application/gzip; dcp-type=data", - "size": 4097975478 - }, - "sequence_file/404ac51a-e122-47a4-a556-bab218007d52": { - "sha1": "6abfdb1dd7e6cf0e3675f47331faa11e83ff5fec", - "name": "MantonCB3_HiSeq_7_S23_L005_R1_001.fastq.gz", - "uuid": "404ac51a-e122-47a4-a556-bab218007d52", - "crc32c": "258d02d9", - "version": "2018-03-29T09:03:27.315871Z", - "indexed": false, - "s3_etag": "4adee57a0111d802c87a545e9b86276d-19", - "sha256": "a5e1cc5fddb50b4be71a7079a48aa2d84c37ad048e392401cfc20085e63c7b4a", - "content-type": "application/gzip; dcp-type=data", - "size": 1224257045 - }, - "sequence_file/422855a5-5bad-4b93-93b3-51900ba36c43": { - "sha1": "5d2ee032cc5659fe8cc8c7c50ac4bbe8e5182c94", - "name": "MantonCB2_HiSeq_5_S13_L003_R1_001.fastq.gz", - "uuid": "422855a5-5bad-4b93-93b3-51900ba36c43", - "crc32c": "a442ed52", - "version": "2018-03-29T09:02:51.317556Z", - "indexed": false, - "s3_etag": "e0849e17a45c4168813e54679cacc376-19", - "sha256": "6f8c7647c95fcca0de0638e02b689998e787a206cfefe24d9e36e3aacb57ed4a", - "content-type": "application/gzip; dcp-type=data", - "size": 1233052665 - }, - "sequence_file/40a060fa-b85d-4912-a2e8-8aa4a4f889f8": { - "sha1": "95865e29b476f1d002aa43272503738df50c473f", - "name": "MantonCB1_HiSeq_7_S7_L001_R1_001.fastq.gz", - "uuid": "40a060fa-b85d-4912-a2e8-8aa4a4f889f8", - "crc32c": "5bc5b9b0", - "version": "2018-03-29T09:02:31.683623Z", - "indexed": false, - "s3_etag": "1336106d021343c3e2295c82ef6a8de4-23", - "sha256": "a42c6de3710eb8aab7ee98eda75813c1cfcacd247203090b0bb483db724b7d9c", - "content-type": "application/gzip; dcp-type=data", - "size": 1541796250 - }, - "sequence_file/04fe0366-0173-4d9a-b3b5-e662ffb18d97": { - "sha1": "73327bbfe29416181118caf6c07a7df09471ace4", - "name": "MantonCB2_HiSeq_4_S12_L003_R2_001.fastq.gz", - "uuid": "04fe0366-0173-4d9a-b3b5-e662ffb18d97", - "crc32c": "fb549a61", - "version": "2018-03-29T09:02:48.732442Z", - "indexed": false, - "s3_etag": "55a6774691e05512316628701503cb70-55", - "sha256": "afc9f68a294b1a6623c9da1256c07c57dc8908f34f4cd693929e9c5fa210e424", - "content-type": "application/gzip; dcp-type=data", - "size": 3686925740 - }, - "sequence_file/086bbd3d-950f-4d3e-bcdc-bdd7f265b176": { - "sha1": "6a2d0e8f14317e07045829d6686721d5deffabba", - "name": "MantonCB1_HiSeq_7_S7_L002_R1_001.fastq.gz", - "uuid": "086bbd3d-950f-4d3e-bcdc-bdd7f265b176", - "crc32c": "7e665722", - "version": "2018-03-29T09:02:33.011797Z", - "indexed": false, - "s3_etag": "c1e91ea36ccbd6dd52a91b3ccf435d51-23", - "sha256": "1d8b810210a8262af70b020540c3e505dcdd2c6d63ef6d3201b51cdc92e9148d", - "content-type": "application/gzip; dcp-type=data", - "size": 1535368535 - }, - "sequence_file/f33d18e0-844d-48a2-9e14-bb04ae52a362": { - "sha1": "75881d8b2979d76ef5a31b81e2d9a1040acf7a1c", - "name": "MantonCB3_HiSeq_1_S17_L005_R1_001.fastq.gz", - "uuid": "f33d18e0-844d-48a2-9e14-bb04ae52a362", - "crc32c": "64401f34", - "version": "2018-03-29T09:03:04.699389Z", - "indexed": false, - "s3_etag": "fdc6a0fad9ddc8b7ea0d8df51773b4cc-22", - "sha256": "415468fcc9045df11ab43c6487cbdc32645d1e90af2451246899d408e137745d", - "content-type": "application/gzip; dcp-type=data", - "size": 1442445970 - }, - "sequence_file/ddd7bb64-91d4-4114-b2cc-a93d86aa98e1": { - "sha1": "d03e857ebc88186f63c583d7631656d0ff0a397e", - "name": "MantonCB4_HiSeq_7_S31_L008_R2_001.fastq.gz", - "uuid": "ddd7bb64-91d4-4114-b2cc-a93d86aa98e1", - "crc32c": "27439fc3", - "version": "2018-03-29T09:03:57.078965Z", - "indexed": false, - "s3_etag": "aaad2d0f855143ba06b92f02b06afa49-64", - "sha256": "ff3d50249074ed16174ec87835caee8f687c95c283bfe80a26c6da1b12036e7f", - "content-type": "application/gzip; dcp-type=data", - "size": 4237001170 - }, - "sequence_file/a9e3f239-2876-4e6b-9893-5dabb22fd15d": { - "sha1": "5aa5b8e423bccfbc2fa28ac61612a21d9ac1ba5e", - "name": "MantonCB3_HiSeq_3_S19_L006_R2_001.fastq.gz", - "uuid": "a9e3f239-2876-4e6b-9893-5dabb22fd15d", - "crc32c": "ac468232", - "version": "2018-03-29T09:03:15.994629Z", - "indexed": false, - "s3_etag": "48ac45d5bb985630af2c152abd9fa2e3-57", - "sha256": "d99769718c862e303fad1639345d33cf9afc902c671fa8ebe2515cf9f1af3c2c", - "content-type": "application/gzip; dcp-type=data", - "size": 3782724803 - }, - "sequence_file/657baf8a-add9-4959-bb6f-774cd8127d55": { - "sha1": "f4871390d4eb542711e9fef41769d98bf0576a4d", - "name": "MantonCB3_HiSeq_5_S21_L005_R2_001.fastq.gz", - "uuid": "657baf8a-add9-4959-bb6f-774cd8127d55", - "crc32c": "cf3dc11f", - "version": "2018-03-29T09:03:21.340138Z", - "indexed": false, - "s3_etag": "0bd6100cc70dfee93231d7cca3806176-58", - "sha256": "fb762a679cbe23fd86c479a5f196179e2c175221add4f899afeaad4d3bf489b6", - "content-type": "application/gzip; dcp-type=data", - "size": 3858951662 - }, - "sequence_file/acf12743-50d3-4e85-9170-dafa18d3a3bf": { - "sha1": "c883df13b423a908ecc23cc9afb2fd14a11a3296", - "name": "MantonCB3_HiSeq_1_S17_L006_R1_001.fastq.gz", - "uuid": "acf12743-50d3-4e85-9170-dafa18d3a3bf", - "crc32c": "a2dc74a7", - "version": "2018-03-29T09:03:05.983801Z", - "indexed": false, - "s3_etag": "23ce3f05c7072f7f62fca6a1f1c20a04-21", - "sha256": "ea8b701efaaed383d9ebccaadd34bffbfd0b87c97b21e7b1368cbc108d54d4a9", - "content-type": "application/gzip; dcp-type=data", - "size": 1373835567 - }, - "sequence_file/582bb010-a460-4e23-b33c-1b349f3cf084": { - "sha1": "cdcadad44394c9e5efdb295d1436ba8a71c3d14a", - "name": "MantonCB4_HiSeq_2_S26_L007_R1_001.fastq.gz", - "uuid": "582bb010-a460-4e23-b33c-1b349f3cf084", - "crc32c": "c4218139", - "version": "2018-03-29T09:03:36.634327Z", - "indexed": false, - "s3_etag": "6533fca52ee4f78367ebe8194e0045e8-15", - "sha256": "07f1776fd3124246aa0c13e15c7cc63154cba0b83a243ce05030f2298f7714c4", - "content-type": "application/gzip; dcp-type=data", - "size": 1005251418 - }, - "sequence_file/fb621e0e-5736-4b1f-b559-e2b6d43f8a7a": { - "sha1": "879c22f8909f6fff35a1e9273811dbbd1e866ca6", - "name": "MantonCB3_HiSeq_7_S23_L005_I1_001.fastq.gz", - "uuid": "fb621e0e-5736-4b1f-b559-e2b6d43f8a7a", - "crc32c": "adb6e55c", - "version": "2018-03-29T09:03:26.930680Z", - "indexed": false, - "s3_etag": "55fc48a80c3905ea3f47fe6fc0485401-7", - "sha256": "9f88c4880e57a176588cbaa31fc1a197db4916ba28f40ca5c6a9cb190361b94f", - "content-type": "application/gzip; dcp-type=data", - "size": 411325971 - }, - "sequence_file/3e9d8ded-1819-4905-a855-2b9a7a675558": { - "sha1": "37f4eb4f5d29e29231ea77850d215ccb86a9c9b2", - "name": "MantonCB1_HiSeq_4_S4_L002_I1_001.fastq.gz", - "uuid": "3e9d8ded-1819-4905-a855-2b9a7a675558", - "crc32c": "4c086071", - "version": "2018-03-29T09:02:15.211290Z", - "indexed": false, - "s3_etag": "4e2fe00837107025c434e9360d00fad7-6", - "sha256": "5c4ee85a9b834894dcca372359c728c325ae9b4c374302799e5aa4da6de344a3", - "content-type": "application/gzip; dcp-type=data", - "size": 347767695 - }, - "sequence_file/314b4b3c-1fdb-4061-8bc2-e2f2a7737d0d": { - "sha1": "36079e462dbad883468be555c78274a54189a7bb", - "name": "MantonCB4_HiSeq_2_S26_L007_I1_001.fastq.gz", - "uuid": "314b4b3c-1fdb-4061-8bc2-e2f2a7737d0d", - "crc32c": "8d69f817", - "version": "2018-03-29T09:03:36.224454Z", - "indexed": false, - "s3_etag": "05a3781b5334c1095cc773d89bb9ff6f-6", - "sha256": "d2787d7e939953886105cc07f26a8a10368d9f529290820689af27563278f87a", - "content-type": "application/gzip; dcp-type=data", - "size": 340131491 - }, - "sequence_file/cbc254bc-0116-43e6-b6d6-f8866a5abe49": { - "sha1": "94cc82997705b86f8c0ebd62880ff3646a7247e6", - "name": "MantonCB3_HiSeq_1_S17_L006_I1_001.fastq.gz", - "uuid": "cbc254bc-0116-43e6-b6d6-f8866a5abe49", - "crc32c": "19202346", - "version": "2018-03-29T09:03:05.568080Z", - "indexed": false, - "s3_etag": "0de0b80b2b145dcf7ce94360d98f6208-7", - "sha256": "4f8dbc2c13a6265ca8b021a662921a48bc39093f378f27bf396510a05d5c5ecb", - "content-type": "application/gzip; dcp-type=data", - "size": 456337536 - }, - "sequence_file/07e38704-5f81-4c54-93ad-319de7dd684b": { - "sha1": "979898d9dfe314fbada671719ff123e0c9e215e0", - "name": "MantonCB1_HiSeq_7_S7_L002_R2_001.fastq.gz", - "uuid": "07e38704-5f81-4c54-93ad-319de7dd684b", - "crc32c": "350eb7d6", - "version": "2018-03-29T09:02:33.499512Z", - "indexed": false, - "s3_etag": "fbc637e40337a6b0ab6fc3b160533913-69", - "sha256": "fdd7f2c701ea2c13e6a1b8f678607d7a511bfd44d9d7f0199bb62abe322405b6", - "content-type": "application/gzip; dcp-type=data", - "size": 4614790476 - }, - "sequence_file/75c9928e-4fc9-4095-9426-c121ef4dc682": { - "sha1": "9688b47a1f55865baea28305534ec3cc74ff418a", - "name": "MantonCB4_HiSeq_1_S25_L008_R1_001.fastq.gz", - "uuid": "75c9928e-4fc9-4095-9426-c121ef4dc682", - "crc32c": "7f056591", - "version": "2018-03-29T09:03:35.337127Z", - "indexed": false, - "s3_etag": "937da2822a0377aafc249ee6ac61f948-19", - "sha256": "ddb6e33653ffbecd7db2b887514d87b00df02e9823dd88f82ac500cb48682cb6", - "content-type": "application/gzip; dcp-type=data", - "size": 1244018764 - }, - "sequence_file/55e172fd-740b-415f-9fcd-f9f245264a0c": { - "sha1": "ee47068094e1cf5074ffe038efbf538ca268e053", - "name": "MantonCB1_HiSeq_5_S5_L001_R2_001.fastq.gz", - "uuid": "55e172fd-740b-415f-9fcd-f9f245264a0c", - "crc32c": "2a0cd690", - "version": "2018-03-29T09:02:19.450683Z", - "indexed": false, - "s3_etag": "4416f497594be89c8b9f460851b5a5cd-52", - "sha256": "bdae55ccbb5b68908be2b395b0634ef2ecb361058e18e394675783ea6c4f7b6e", - "content-type": "application/gzip; dcp-type=data", - "size": 3463744038 - }, - "sequence_file/acd91be0-cdcb-4a3c-b7ae-0e969f538942": { - "sha1": "b4e474883ef7045663d2ab902ecf3088c0007b8e", - "name": "MantonCB2_HiSeq_2_S10_L004_I1_001.fastq.gz", - "uuid": "acd91be0-cdcb-4a3c-b7ae-0e969f538942", - "crc32c": "e7dea574", - "version": "2018-03-29T09:02:42.068786Z", - "indexed": false, - "s3_etag": "55ed81b61903fbd0696ed60cc034e93a-8", - "sha256": "a7c8ca37bf1ab075d8317315593249313af0e2be3d40cdef01805bed439b2ba0", - "content-type": "application/gzip; dcp-type=data", - "size": 477563983 - }, - "sequence_file/c84889d4-5444-4bfb-a482-6f1bc7a2ad95": { - "sha1": "32a8d4a872074c3b7e8ce381435d0eff706412ff", - "name": "MantonCB1_HiSeq_2_S2_L001_R1_001.fastq.gz", - "uuid": "c84889d4-5444-4bfb-a482-6f1bc7a2ad95", - "crc32c": "84cfa1b3", - "version": "2018-03-29T09:02:06.910120Z", - "indexed": false, - "s3_etag": "236d80d71b3d4373e91cc3721c5e5cb4-15", - "sha256": "c374fa50cfbbab64799dbe02416c73dbaf4e4162637a35410a26f137605a807d", - "content-type": "application/gzip; dcp-type=data", - "size": 990467637 - }, - "sequence_file/f6bdc59e-9011-4905-adb8-2d21f311fd42": { - "sha1": "701c3dd558a8751df526ba4a1e3bc9e0a3ce6fbf", - "name": "MantonCB3_HiSeq_4_S20_L006_I1_001.fastq.gz", - "uuid": "f6bdc59e-9011-4905-adb8-2d21f311fd42", - "crc32c": "adc4dab1", - "version": "2018-03-29T09:03:18.293927Z", - "indexed": false, - "s3_etag": "fba7a074069ebf537c67ffa0bb86d6b0-5", - "sha256": "89df8339468d23836eb13401f2cc4e51417323e00d386a0bd516d637f83aeef7", - "content-type": "application/gzip; dcp-type=data", - "size": 317232513 - }, - "sequence_file/c5117298-7d44-42e2-a24d-a07b578ebea8": { - "sha1": "1d6895e99e38e29ff724e62542c536cedc885652", - "name": "MantonCB4_HiSeq_4_S28_L008_R2_001.fastq.gz", - "uuid": "c5117298-7d44-42e2-a24d-a07b578ebea8", - "crc32c": "adfb122d", - "version": "2018-03-29T09:03:45.858261Z", - "indexed": false, - "s3_etag": "a4dbc4f78c9016fbb84700db287b9c07-56", - "sha256": "f04549f69f5ac0f4402930201761787ae96b2212f91b89273452b2ce204595bd", - "content-type": "application/gzip; dcp-type=data", - "size": 3704806917 - }, - "sequence_file/707251d4-b780-4472-aa0f-79c5db9eaddf": { - "sha1": "f01ea71fb4b45011efb53cbcc78923ff72330f55", - "name": "MantonCB2_HiSeq_8_S16_L003_R1_001.fastq.gz", - "uuid": "707251d4-b780-4472-aa0f-79c5db9eaddf", - "crc32c": "434ff7c6", - "version": "2018-03-29T09:03:00.910810Z", - "indexed": false, - "s3_etag": "d7517151d3d368b6bd3b3135eba99849-19", - "sha256": "d2ad4e03faf694e8fac7fb1dd868a7fc70a3c98534487e2eac3a70ec966087e5", - "content-type": "application/gzip; dcp-type=data", - "size": 1223945922 - }, - "sequence_file/d03d5e6f-fb5e-499b-bb77-269fb51689cc": { - "sha1": "9cbae1d637af282ccf3812c03cbe97939c4a74ad", - "name": "MantonCB1_HiSeq_8_S8_L001_R2_001.fastq.gz", - "uuid": "d03d5e6f-fb5e-499b-bb77-269fb51689cc", - "crc32c": "fa26661c", - "version": "2018-03-29T09:02:34.901574Z", - "indexed": false, - "s3_etag": "3476c0503c9e4f03c3d2acdc1536064e-65", - "sha256": "83e080211ae91e8d1f5dc9a87fd5f0b2acdd3f9cb1402c4be6f6ca59c5b30758", - "content-type": "application/gzip; dcp-type=data", - "size": 4322331256 - }, - "sequence_file/8e8d4873-328b-4c1c-b51c-be6b248e9c77": { - "sha1": "e8307e0b2188fe16f28bcac4ec66c822738b935a", - "name": "MantonCB2_HiSeq_3_S11_L004_R1_001.fastq.gz", - "uuid": "8e8d4873-328b-4c1c-b51c-be6b248e9c77", - "crc32c": "ebe8e1df", - "version": "2018-03-29T09:02:46.707629Z", - "indexed": false, - "s3_etag": "721036b44ad6496dd1c89bd7edb76f52-22", - "sha256": "a935e0b274851e395b398efa8d36774d18f4d3b907ff564d565425ed31786614", - "content-type": "application/gzip; dcp-type=data", - "size": 1431480163 - }, - "sequence_file/732ffe61-8834-459c-97eb-62c1e11b0288": { - "sha1": "2f211354cb4a823b4a554a52982e22579caa2570", - "name": "MantonCB1_HiSeq_7_S7_L001_I1_001.fastq.gz", - "uuid": "732ffe61-8834-459c-97eb-62c1e11b0288", - "crc32c": "2061a521", - "version": "2018-03-29T09:02:31.236081Z", - "indexed": false, - "s3_etag": "32a624cb93af01de3e648a7a54e92494-8", - "sha256": "991e0b3bc2083033bf4143461ee367fc6c076e81b3984a40ed8fb4057c9bee22", - "content-type": "application/gzip; dcp-type=data", - "size": 520156019 - }, - "sequence_file/12818748-5843-47a5-82d7-e68c618a9ec7": { - "sha1": "24aee796cdbda8b1f3dc326a7d0b3e85ad7f113b", - "name": "MantonCB2_HiSeq_5_S13_L003_I1_001.fastq.gz", - "uuid": "12818748-5843-47a5-82d7-e68c618a9ec7", - "crc32c": "af0bac8e", - "version": "2018-03-29T09:02:50.797570Z", - "indexed": false, - "s3_etag": "87f83c620ec21aac673721d57959b0f2-6", - "sha256": "d4b322c24c23276224767eff046ee8369c010437304847bf41e4440f13140dfc", - "content-type": "application/gzip; dcp-type=data", - "size": 398585364 - }, - "sequence_file/e999790e-b051-4b79-aeff-170b7821861f": { - "sha1": "03cf8b91b66d98ce791b543957b16b3406adda8b", - "name": "MantonCB3_HiSeq_8_S24_L006_R2_001.fastq.gz", - "uuid": "e999790e-b051-4b79-aeff-170b7821861f", - "crc32c": "16add952", - "version": "2018-03-29T09:03:32.880212Z", - "indexed": false, - "s3_etag": "ab4a4c5f01cc0563956dd9ab0bbadfe6-51", - "sha256": "dc1c59e3a12cdcec1a4b883c56df1809a8563f778aa8fe11c17377f2e9939d0c", - "content-type": "application/gzip; dcp-type=data", - "size": 3362569274 - }, - "sequence_file/e0920342-d954-46e6-99f6-d1d7f2cfa56c": { - "sha1": "293707e402c3d10d641ca316ceffbf6259abce48", - "name": "MantonCB1_HiSeq_2_S2_L002_R2_001.fastq.gz", - "uuid": "e0920342-d954-46e6-99f6-d1d7f2cfa56c", - "crc32c": "7fc3e675", - "version": "2018-03-29T09:02:09.416171Z", - "indexed": false, - "s3_etag": "166094f566923e8c1a99b4e027b196d8-45", - "sha256": "258404fcf15df3cec6d9dfbd27ad64722a2a1c87e5adb91781f72e95838b6346", - "content-type": "application/gzip; dcp-type=data", - "size": 3014662509 - }, - "sequence_file/196fa68d-aede-4682-9600-e969ab755c84": { - "sha1": "b44f38bdd8b6842cbfb5fbb7f96a4e5bc0d91f85", - "name": "MantonCB2_HiSeq_7_S15_L003_R2_001.fastq.gz", - "uuid": "196fa68d-aede-4682-9600-e969ab755c84", - "crc32c": "23b25fac", - "version": "2018-03-29T09:02:58.046077Z", - "indexed": false, - "s3_etag": "53588d5b0c9d0362db470c958d5daf8f-54", - "sha256": "adabe1b470676674c7b4f9a31d0c571cce7870fd696627448b268ae5a391c2b7", - "content-type": "application/gzip; dcp-type=data", - "size": 3583904665 - }, - "sequence_file/bc0183b1-5f5b-46c2-8543-6efc4350f9f8": { - "sha1": "f9378920510357c16ad313a2a2369c4c815802eb", - "name": "MantonCB4_HiSeq_2_S26_L008_R2_001.fastq.gz", - "uuid": "bc0183b1-5f5b-46c2-8543-6efc4350f9f8", - "crc32c": "d660dbeb", - "version": "2018-03-29T09:03:38.457721Z", - "indexed": false, - "s3_etag": "252dcf28e6a0abb9040a4a99e76f8811-39", - "sha256": "9a6cc81808603ea0215521f6f1061f4b27b2e62bb9cf00b087aa6d96ca7c737e", - "content-type": "application/gzip; dcp-type=data", - "size": 2574926473 - }, - "sequence_file/79fbd727-4897-48cd-bd48-5d5680b2f9ed": { - "sha1": "18c625e42ab8d89902d19cc53b7e4d7ca8702a15", - "name": "MantonCB4_HiSeq_4_S28_L008_I1_001.fastq.gz", - "uuid": "79fbd727-4897-48cd-bd48-5d5680b2f9ed", - "crc32c": "58b12d58", - "version": "2018-03-29T09:03:45.039543Z", - "indexed": false, - "s3_etag": "b684b68efa3e358859ff747e592edcdd-7", - "sha256": "4f408b7f08278e3ee8a0d2e0bc3513fdf17bb3b724d84841e4bc8fd23e03ed51", - "content-type": "application/gzip; dcp-type=data", - "size": 405831486 - }, - "sequence_file/24be633e-1b05-405d-839a-f25a419fac8e": { - "sha1": "57285c0b8ccd0c3d535879bd22d48c3f1c5a6a11", - "name": "MantonCB1_HiSeq_5_S5_L001_R1_001.fastq.gz", - "uuid": "24be633e-1b05-405d-839a-f25a419fac8e", - "crc32c": "87486133", - "version": "2018-03-29T09:02:19.160783Z", - "indexed": false, - "s3_etag": "77be9d96604154ea4e28323e9aab10fb-18", - "sha256": "7e0299a436d756bbdeeeb4df46bd0b3f01afccd375faa13bcf7a72756ae01642", - "content-type": "application/gzip; dcp-type=data", - "size": 1143494915 - }, - "sequence_file/1e9e7a37-e3a8-45c3-bab5-ac601123c1d2": { - "sha1": "8defbbd883308564db40eed59d73ab6efe5f02ae", - "name": "MantonCB3_HiSeq_6_S22_L005_I1_001.fastq.gz", - "uuid": "1e9e7a37-e3a8-45c3-bab5-ac601123c1d2", - "crc32c": "f78fee8d", - "version": "2018-03-29T09:03:23.346433Z", - "indexed": false, - "s3_etag": "dc06215c813cc2e6c6dc966d2b84a830-7", - "sha256": "09e1a3720c3d4cc1b839cfd50a39b99521b2edc36ba1f6fa75c3d180a957d5e0", - "content-type": "application/gzip; dcp-type=data", - "size": 458492723 - }, - "sequence_file/97cbb401-3dcd-40fa-8a3e-b4387b8f2913": { - "sha1": "aec95bfbac3f341fd2e4ba1e537c708dca6075f1", - "name": "MantonCB1_HiSeq_6_S6_L002_R2_001.fastq.gz", - "uuid": "97cbb401-3dcd-40fa-8a3e-b4387b8f2913", - "crc32c": "80f4ec46", - "version": "2018-03-29T09:02:30.708989Z", - "indexed": false, - "s3_etag": "8c08231dd275f31a63a99d22456c3808-61", - "sha256": "a92cb6123a13756ad62a99a7105afb30629df2b28fa2f7a438a2cf7bde416923", - "content-type": "application/gzip; dcp-type=data", - "size": 4091985532 - }, - "sequence_file/660ce604-15e0-404a-b061-0b9f533363bb": { - "sha1": "aec78163a7016f0d2d9ff50672f25bb99635d2e6", - "name": "MantonCB1_HiSeq_8_S8_L002_R1_001.fastq.gz", - "uuid": "660ce604-15e0-404a-b061-0b9f533363bb", - "crc32c": "25569fc4", - "version": "2018-03-29T09:02:35.991011Z", - "indexed": false, - "s3_etag": "15eb996dee184db23e3745978246d020-22", - "sha256": "1f374b858b853c31a494abc971e1c76c116929b73f0fb1ff16096a4fe05e4c31", - "content-type": "application/gzip; dcp-type=data", - "size": 1436685387 - }, - "sequence_file/70b58641-42b4-42e4-b546-e44f5c16aba4": { - "sha1": "b24473c43f4d0dea4f16f7d9eff868bf733e3a78", - "name": "MantonCB4_HiSeq_3_S27_L008_I1_001.fastq.gz", - "uuid": "70b58641-42b4-42e4-b546-e44f5c16aba4", - "crc32c": "658389e8", - "version": "2018-03-29T09:03:41.403455Z", - "indexed": false, - "s3_etag": "d0575e18fc57fae9a2cb516edfdf9b8f-6", - "sha256": "19a9cefdc152a6d1b022ac26147a6f78a79a64012ceca649e5d396c797f4e676", - "content-type": "application/gzip; dcp-type=data", - "size": 380507001 - }, - "sequence_file/824f5af4-545d-4061-8cfa-116b8d1d8c0c": { - "sha1": "a321e15230cf25ba5c1eb57bb26881e500e39eb4", - "name": "MantonCB1_HiSeq_1_S1_L001_R1_001.fastq.gz", - "uuid": "824f5af4-545d-4061-8cfa-116b8d1d8c0c", - "crc32c": "823742da", - "version": "2018-03-29T09:02:03.505452Z", - "indexed": false, - "s3_etag": "b8244971047599d107ad8e3a5feffbea-23", - "sha256": "c3b3dfeef257db133e9ed854a17c8cf557077d20c6761bc0432b17f5d505c2a9", - "content-type": "application/gzip; dcp-type=data", - "size": 1477094823 - }, - "sequence_file/762a5985-3cdc-4406-8d88-c1b6d8579ceb": { - "sha1": "b211fbe2b6832a391abbe742a53b0ad36ba76f3e", - "name": "MantonCB1_HiSeq_3_S3_L002_R1_001.fastq.gz", - "uuid": "762a5985-3cdc-4406-8d88-c1b6d8579ceb", - "crc32c": "40e26162", - "version": "2018-03-29T09:02:12.895185Z", - "indexed": false, - "s3_etag": "db01d2c521a7f515ccd12db1b081c09b-13", - "sha256": "56e53c973a875dd8595c08b4c664865d1182f601a642d03200b4c4bfacfb7e03", - "content-type": "application/gzip; dcp-type=data", - "size": 854941253 - }, - "sequence_file/83a0cfb1-bc65-4603-89d5-7d7f0a4ec182": { - "sha1": "6779d2236a9da7a5aeecaff89052c4b9101801e3", - "name": "MantonCB3_HiSeq_7_S23_L006_R1_001.fastq.gz", - "uuid": "83a0cfb1-bc65-4603-89d5-7d7f0a4ec182", - "crc32c": "39c2875b", - "version": "2018-03-29T09:03:28.742126Z", - "indexed": false, - "s3_etag": "c57ec214adb70fb9d705fe34da7a325c-19", - "sha256": "4aae685416a9d4d08915d06d94cded46ff17c244fc2adef041944f4503e1bcb6", - "content-type": "application/gzip; dcp-type=data", - "size": 1217639349 - }, - "sequence_file/c6ca4bda-2c44-4092-a943-b401e6d79b6d": { - "sha1": "52db7a63c86b0ac430565e4232fe62712cb2fc87", - "name": "MantonCB4_HiSeq_3_S27_L007_I1_001.fastq.gz", - "uuid": "c6ca4bda-2c44-4092-a943-b401e6d79b6d", - "crc32c": "4f6c95ee", - "version": "2018-03-29T09:03:39.337509Z", - "indexed": false, - "s3_etag": "40b8616541b8e8310f6a61d2db895d85-7", - "sha256": "b33bca14dc1633e8f743e90a63a2d2e13885c6b0a06a5509b9708790b156fb18", - "content-type": "application/gzip; dcp-type=data", - "size": 405662573 - }, - "sequence_file/450fde91-2153-42ee-ba7a-5cf4b59eb587": { - "sha1": "57040b9f591b295e862ad29fee9f9e956dbdfc60", - "name": "MantonCB2_HiSeq_4_S12_L004_I1_001.fastq.gz", - "uuid": "450fde91-2153-42ee-ba7a-5cf4b59eb587", - "crc32c": "8c28ca63", - "version": "2018-03-29T09:02:49.449876Z", - "indexed": false, - "s3_etag": "c701525f66cd6e3b47e5cdd89e67d1df-7", - "sha256": "dc2b0dca58e1af5ebeca91c9693a194267182e0137926391248749ee39388606", - "content-type": "application/gzip; dcp-type=data", - "size": 420517372 - }, - "sequence_file/6492a26d-5c16-4e75-a9c5-a9b8f8e28eff": { - "sha1": "ab1e832c4024ef4c5ce0306635a47612634364e5", - "name": "MantonCB1_HiSeq_6_S6_L002_R1_001.fastq.gz", - "uuid": "6492a26d-5c16-4e75-a9c5-a9b8f8e28eff", - "crc32c": "fe2936ee", - "version": "2018-03-29T09:02:30.321228Z", - "indexed": false, - "s3_etag": "f40be8b5946f7a1d03c1d33b5c1d8ee9-21", - "sha256": "ff96d7779ecc42ef46ff8fa975de8066d94386cbf9ff1e2d826481cb8f82bcca", - "content-type": "application/gzip; dcp-type=data", - "size": 1355562686 - }, - "sequence_file/3262b323-8545-4c41-ab65-432b635781a7": { - "sha1": "d11d97da785ee51c0a22306af263e9f66cd5bcb7", - "name": "MantonCB4_HiSeq_5_S29_L008_R1_001.fastq.gz", - "uuid": "3262b323-8545-4c41-ab65-432b635781a7", - "crc32c": "e99e24f8", - "version": "2018-03-29T09:03:50.521552Z", - "indexed": false, - "s3_etag": "af79ecab30834d270f5a6b83eba88b61-18", - "sha256": "aa892c5d114bdcc414e102a4a7dc17b600de9310f296d15a212babe4d1a82e12", - "content-type": "application/gzip; dcp-type=data", - "size": 1160332360 - }, - "sequence_file/a8b86342-3b98-4030-bdfa-a7cc45e3d256": { - "sha1": "8adfc8b68d8ec756923fa649a892210f9ca25514", - "name": "MantonCB2_HiSeq_6_S14_L004_R2_001.fastq.gz", - "uuid": "a8b86342-3b98-4030-bdfa-a7cc45e3d256", - "crc32c": "8d62a5b1", - "version": "2018-03-29T09:02:56.491112Z", - "indexed": false, - "s3_etag": "3cceb1e95ad9a12ebf012a6aeb7e4466-58", - "sha256": "b3dd66b7c85e7414675fe1b48e022d3deef9817c6aee542b52db350b13c19387", - "content-type": "application/gzip; dcp-type=data", - "size": 3853958567 - }, - "sequence_file/71080f34-4468-4ca5-8a6c-bf688ab31462": { - "sha1": "038c50abd15b42b72a06440ade8f0796ffb4a6b2", - "name": "MantonCB2_HiSeq_8_S16_L003_R2_001.fastq.gz", - "uuid": "71080f34-4468-4ca5-8a6c-bf688ab31462", - "crc32c": "0e49c006", - "version": "2018-03-29T09:03:01.378300Z", - "indexed": false, - "s3_etag": "a7950e3031b57d54697b24a3d89d1bf2-54", - "sha256": "8b7e85e8536a732a516efefb2df82cc8299c896e4cb2bc57681c7131f5fe8351", - "content-type": "application/gzip; dcp-type=data", - "size": 3596944953 - }, - "sequence_file/6f0e108d-30da-4242-b489-5eb638e2db96": { - "sha1": "0ec778e17ed5df394046460f35839eb2157bb45f", - "name": "MantonCB3_HiSeq_3_S19_L006_R1_001.fastq.gz", - "uuid": "6f0e108d-30da-4242-b489-5eb638e2db96", - "crc32c": "3784fb56", - "version": "2018-03-29T09:03:15.501294Z", - "indexed": false, - "s3_etag": "7a7b004d41c1ae005ba851bda6194dc2-19", - "sha256": "c5ceac142ec1ae1d62bd22cdbf8c868d14e903c9041099c1908f227490f11b4a", - "content-type": "application/gzip; dcp-type=data", - "size": 1273015552 - }, - "sequence_file/f087e6a6-b9cd-4f26-8932-167d246a6e02": { - "sha1": "443a152965d9a8ea8bd145eb6f4a276bf11faf7f", - "name": "MantonCB4_HiSeq_7_S31_L007_R1_001.fastq.gz", - "uuid": "f087e6a6-b9cd-4f26-8932-167d246a6e02", - "crc32c": "954ca9e6", - "version": "2018-03-29T09:03:55.377488Z", - "indexed": false, - "s3_etag": "f3a06f0f2653d2c93a2f5b93c588bcfb-22", - "sha256": "d76852ff70e390ae7640741658a9b7dc0d8cd021b24956854cc848e033a44600", - "content-type": "application/gzip; dcp-type=data", - "size": 1459708868 - }, - "sequence_file/fd194d02-d6c0-4933-a54b-805e7b3a9bab": { - "sha1": "e4dccff557802016145cfebce3450b8ba609eed3", - "name": "MantonCB3_HiSeq_4_S20_L006_R1_001.fastq.gz", - "uuid": "fd194d02-d6c0-4933-a54b-805e7b3a9bab", - "crc32c": "7c0a4a5b", - "version": "2018-03-29T09:03:19.100380Z", - "indexed": false, - "s3_etag": "f414d00fc3146ad6f457e6a0931a2bab-15", - "sha256": "3e7a36113e9454c29fc282b7a0f59d61623906cc1375db99f9f44e3918cf384c", - "content-type": "application/gzip; dcp-type=data", - "size": 960083469 - }, - "sequence_file/ed3cbb48-adf8-4531-919a-a467fd838940": { - "sha1": "1db09f0b7367dd86bc05e242c48987abccbb797c", - "name": "MantonCB2_HiSeq_1_S9_L003_I1_001.fastq.gz", - "uuid": "ed3cbb48-adf8-4531-919a-a467fd838940", - "crc32c": "214f8147", - "version": "2018-03-29T09:02:37.340550Z", - "indexed": false, - "s3_etag": "499c579fad006cfd81ea156bfe6a8040-6", - "sha256": "342a971fd57df1df40621c9e6503c7bd7f245be636d05594758012d5b0887056", - "content-type": "application/gzip; dcp-type=data", - "size": 374190901 - }, - "sequence_file/8ba887c3-e44d-4644-8cd6-a58b7cfcf2c0": { - "sha1": "113836a8433be46fd0689f68d693f1ee5627d29e", - "name": "MantonCB4_HiSeq_7_S31_L008_R1_001.fastq.gz", - "uuid": "8ba887c3-e44d-4644-8cd6-a58b7cfcf2c0", - "crc32c": "bc3afb6e", - "version": "2018-03-29T09:03:56.679029Z", - "indexed": false, - "s3_etag": "68f7dc8f84357d243ff11313fc4425bd-22", - "sha256": "8edb23bddcfa6a6085295c9ea06399e978dada0740c0f47694cadd8f1fa49f2b", - "content-type": "application/gzip; dcp-type=data", - "size": 1440763662 - }, - "sequence_file/f72531f8-851a-4f23-8bcd-b2b47bad0f84": { - "sha1": "24975b23849f487733935b2875daf0deb241fbc9", - "name": "MantonCB4_HiSeq_5_S29_L008_I1_001.fastq.gz", - "uuid": "f72531f8-851a-4f23-8bcd-b2b47bad0f84", - "crc32c": "021751e1", - "version": "2018-03-29T09:03:49.684442Z", - "indexed": false, - "s3_etag": "b79c76b247278829c5e309eba73dbc0f-6", - "sha256": "397273369392899adbea609eaf64cedfa4ad07640f2556ad3e6cf0c7308c6dfe", - "content-type": "application/gzip; dcp-type=data", - "size": 388472244 - } - }, - "metadata": { - "project/6504d48c-1610-43aa-8cf8-214a960e110c": { - "content": { - "describedBy": "https://schema.humancellatlas.org/type/project/5.1.0/project", - "project_core": { - "project_short_name": "1M Immune Cells", - "project_description": "Diverse cells of the immune system maintain and protect tissue function, integrity, and homeostasis upon changes in functional demands and diverse perturbations. Recent advances such as massively parallel single-cell RNA-sequencing and sophisticated computational methods help shed new light on this complexity. This immune cell census aims to profile up to 2M immunocytes, the first tranche of this is currently available. With computational methods optimized to a massive scale, we can readily identify cell types and markers, as well as the process of hematopoietic differentiation. The high quality and comprehensive reference map is provided as an open community resource for understanding human health and disease.", - "project_title": "Census of Immune Cells" - }, - "publications": [], - "contributors": [ - { - "country": "USA", - "email": "aregev@broadinstitute.org", - "phone": "(617) 714-7020", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Aviv,,Regev", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "libo@broadinstitute.org", - "phone": "(617) 714-8681", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Bo,,Li", - "institution": "Broad Institute" - }, - { - "country": "USA", - "institution": "Broad Institute", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Monika,S,Kowalczyk", - "email": "msk.kowalczyk@gmail.com" - }, - { - "country": "USA", - "email": "dionne@broadinstitute.org", - "phone": "(617) 714-8147", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Danielle,,Dionne", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "ttickle@broadinstitute.org", - "phone": "(617) 714-7084", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Timothy,,Tickle", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "janelee@broadinstitute.org", - "phone": "(617) 714-7448", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Jane,,Lee", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "orit@broadinstitute.org", - "phone": "(617) 714-7789", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Orit,,Rozenblatt-Rosen", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "orr@broadinstitute.org", - "phone": "(617) 714-8681", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Orr,,Ashenberg", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "mtabaka@broadinstitute.org", - "phone": "(617) 714-7470", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Marcin,,Tabaka", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "karthik@broadinstitute.org", - "phone": "(617) 714-8067", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Karthik,,Shekhar", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "mslyper@broadinstitute.org", - "phone": "(617) 714-7199", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Michal,,Slyper", - "institution": "Broad Institute" - }, - { - "country": "USA", - "institution": "Broad Institute", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Julia,,Waldman", - "email": "jwaldman@broadinstitute.org" - } - ], - "schema_type": "project" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.820Z", - "updateDate": "2018-03-26T16:59:28.166Z", - "document_id": "6504d48c-1610-43aa-8cf8-214a960e110c" - }, - "describedBy": "https://schema.humancellatlas.org/bundle/5.1.0/project", - "schema_version": "5.1.0", - "schema_type": "project_bundle" - }, - "cell_suspension/f2cfbb32-066f-44cb-9f74-a4b4acec7692": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4371, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.936Z", - "updateDate": "2018-03-26T17:00:53.331Z", - "document_id": "f2cfbb32-066f-44cb-9f74-a4b4acec7692" - } - }, - "specimen_from_organism/642c8a0a-ffa1-4e06-aab6-f777cafda07b": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB2" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.516Z", - "updateDate": "2018-03-26T17:00:53.313Z", - "document_id": "642c8a0a-ffa1-4e06-aab6-f777cafda07b" - } - }, - "donor_organism/769cad8e-8c03-4318-b6e8-4c832365a884": { - "content": { - "is_living": true, - "biological_sex": "male", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "postpartum", - "ontology": "EFO:0008562" - }, - "organism_age": "0", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "CB2", - "biomaterial_name": "Cord blood donor 2" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.453Z", - "updateDate": "2018-03-26T16:59:46.213Z", - "document_id": "769cad8e-8c03-4318-b6e8-4c832365a884" - } - }, - "cell_suspension/bcbb8300-0d6f-42c2-b393-4e167a6529d4": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 1482, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.012Z", - "updateDate": "2018-03-26T17:00:12.768Z", - "document_id": "bcbb8300-0d6f-42c2-b393-4e167a6529d4" - } - }, - "specimen_from_organism/d890548c-3c98-4e30-8c9c-05d2dc6e28c2": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB1" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.083Z", - "updateDate": "2018-03-26T17:00:12.169Z", - "document_id": "d890548c-3c98-4e30-8c9c-05d2dc6e28c2" - } - }, - "donor_organism/f7e3dec8-e286-4784-a8b0-e5fabc0de841": { - "content": { - "is_living": true, - "biological_sex": "male", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "postpartum", - "ontology": "EFO:0008562" - }, - "organism_age": "0", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "CB1", - "biomaterial_name": "Cord blood donor 1" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.531Z", - "updateDate": "2018-03-26T16:59:45.776Z", - "document_id": "f7e3dec8-e286-4784-a8b0-e5fabc0de841" - } - }, - "cell_suspension/fb51b6f2-5a7b-4a07-97d9-f1833a48d559": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3877, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.575Z", - "updateDate": "2018-03-26T17:00:12.784Z", - "document_id": "fb51b6f2-5a7b-4a07-97d9-f1833a48d559" - } - }, - "specimen_from_organism/1ffa73eb-a01a-45d2-9b99-fd55d76f4f74": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB4" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.621Z", - "updateDate": "2018-03-26T17:00:11.687Z", - "document_id": "1ffa73eb-a01a-45d2-9b99-fd55d76f4f74" - } - }, - "donor_organism/d4895ad7-10b5-4d70-af74-02a8df78532c": { - "content": { - "is_living": true, - "biological_sex": "female", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "postpartum", - "ontology": "EFO:0008562" - }, - "organism_age": "0", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "CB4", - "biomaterial_name": "Cord blood donor 4" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.607Z", - "updateDate": "2018-03-26T16:59:45.909Z", - "document_id": "d4895ad7-10b5-4d70-af74-02a8df78532c" - } - }, - "cell_suspension/6bf48eba-1309-43dc-af97-ea4a37f8d2a8": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4429, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.674Z", - "updateDate": "2018-03-26T17:00:12.800Z", - "document_id": "6bf48eba-1309-43dc-af97-ea4a37f8d2a8" - } - }, - "specimen_from_organism/cf6e873c-48a4-4422-93d6-5403a4f63f72": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB3" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.543Z", - "updateDate": "2018-03-26T17:00:09.673Z", - "document_id": "cf6e873c-48a4-4422-93d6-5403a4f63f72" - } - }, - "donor_organism/f8751c16-3337-4a23-9bf3-243f7c143281": { - "content": { - "is_living": true, - "biological_sex": "female", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "postpartum", - "ontology": "EFO:0008562" - }, - "organism_age": "0", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "CB3", - "biomaterial_name": "Cord blood donor 3" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.478Z", - "updateDate": "2018-03-26T16:59:46.373Z", - "document_id": "f8751c16-3337-4a23-9bf3-243f7c143281" - } - }, - "cell_suspension/b64b0def-cef5-41e0-aadd-8150778ae2a2": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4098, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.804Z", - "updateDate": "2018-03-26T17:00:12.814Z", - "document_id": "b64b0def-cef5-41e0-aadd-8150778ae2a2" - } - }, - "specimen_from_organism/3ed1dc49-5b8f-46e8-b56c-f3488a3c7f4a": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB3" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.544Z", - "updateDate": "2018-03-26T17:00:09.107Z", - "document_id": "3ed1dc49-5b8f-46e8-b56c-f3488a3c7f4a" - } - }, - "cell_suspension/38326fcd-39b4-43e0-b2d0-19c49e3f85d8": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 2511, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.353Z", - "updateDate": "2018-03-26T17:00:12.830Z", - "document_id": "38326fcd-39b4-43e0-b2d0-19c49e3f85d8" - } - }, - "specimen_from_organism/63956c8d-de77-4c43-b863-af6d557fcb6f": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB4" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.684Z", - "updateDate": "2018-03-26T17:00:09.742Z", - "document_id": "63956c8d-de77-4c43-b863-af6d557fcb6f" - } - }, - "cell_suspension/2d776abb-053c-4395-8791-861014668b1d": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4173, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.699Z", - "updateDate": "2018-03-26T17:00:12.846Z", - "document_id": "2d776abb-053c-4395-8791-861014668b1d" - } - }, - "specimen_from_organism/f8c07921-e93e-4a27-a74a-a3c56d378c08": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB3" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.608Z", - "updateDate": "2018-03-26T17:00:09.251Z", - "document_id": "f8c07921-e93e-4a27-a74a-a3c56d378c08" - } - }, - "cell_suspension/bd5cd509-5bd7-4134-abe9-c462279e5e45": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4096, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.215Z", - "updateDate": "2018-03-26T17:00:12.860Z", - "document_id": "bd5cd509-5bd7-4134-abe9-c462279e5e45" - } - }, - "specimen_from_organism/46749d78-45b0-4101-a40f-51ad81665e5d": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB4" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.036Z", - "updateDate": "2018-03-26T17:00:11.370Z", - "document_id": "46749d78-45b0-4101-a40f-51ad81665e5d" - } - }, - "cell_suspension/95693ba6-b7fd-479a-b08f-1511da62de45": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4099, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.506Z", - "updateDate": "2018-03-26T17:00:12.875Z", - "document_id": "95693ba6-b7fd-479a-b08f-1511da62de45" - } - }, - "specimen_from_organism/233705a7-7cf0-4fe5-9ff9-69af7a0195c1": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB4" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.650Z", - "updateDate": "2018-03-26T17:00:11.173Z", - "document_id": "233705a7-7cf0-4fe5-9ff9-69af7a0195c1" - } - }, - "cell_suspension/246b79eb-5961-4c41-9a5f-f4b1a66dfc8d": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 2875, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.931Z", - "updateDate": "2018-03-26T17:00:52.729Z", - "document_id": "246b79eb-5961-4c41-9a5f-f4b1a66dfc8d" - } - }, - "specimen_from_organism/8f6dcf92-dc43-4dae-8ff4-049bacd5d251": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB1" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.404Z", - "updateDate": "2018-03-26T17:00:52.711Z", - "document_id": "8f6dcf92-dc43-4dae-8ff4-049bacd5d251" - } - }, - "cell_suspension/373ed223-86be-4eb1-96ea-bb9a136a786d": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4579, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.038Z", - "updateDate": "2018-03-26T17:00:12.903Z", - "document_id": "373ed223-86be-4eb1-96ea-bb9a136a786d" - } - }, - "specimen_from_organism/b10d8a7c-813e-4e5c-8be3-dde7de5bc8e5": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB3" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.274Z", - "updateDate": "2018-03-26T17:00:08.946Z", - "document_id": "b10d8a7c-813e-4e5c-8be3-dde7de5bc8e5" - } - }, - "cell_suspension/2949d14e-90de-4bf4-bedc-3f18ab5f1372": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4573, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.152Z", - "updateDate": "2018-03-26T17:00:52.798Z", - "document_id": "2949d14e-90de-4bf4-bedc-3f18ab5f1372" - } - }, - "specimen_from_organism/9f68ab2e-346a-4223-9a33-b4b778824787": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB2" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.144Z", - "updateDate": "2018-03-26T17:00:52.782Z", - "document_id": "9f68ab2e-346a-4223-9a33-b4b778824787" - } - }, - "cell_suspension/c261c6c2-1aa1-42a6-ab8d-7064debb52d3": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 2981, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.226Z", - "updateDate": "2018-03-26T17:00:12.931Z", - "document_id": "c261c6c2-1aa1-42a6-ab8d-7064debb52d3" - } - }, - "specimen_from_organism/eee19426-7cf9-4c03-98fe-ca0be0bc14ab": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB1" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.392Z", - "updateDate": "2018-03-26T17:00:12.339Z", - "document_id": "eee19426-7cf9-4c03-98fe-ca0be0bc14ab" - } - }, - "cell_suspension/417f2833-eb8f-4d24-b515-5e3858453a04": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4293, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.321Z", - "updateDate": "2018-03-26T17:00:12.946Z", - "document_id": "417f2833-eb8f-4d24-b515-5e3858453a04" - } - }, - "specimen_from_organism/e83c4942-afca-4815-999a-d918cd60d8bd": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB3" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.431Z", - "updateDate": "2018-03-26T17:00:09.382Z", - "document_id": "e83c4942-afca-4815-999a-d918cd60d8bd" - } - }, - "cell_suspension/3038877e-49a0-47a0-a9cb-f9a68665d7e2": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4575, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.710Z", - "updateDate": "2018-03-26T17:00:53.414Z", - "document_id": "3038877e-49a0-47a0-a9cb-f9a68665d7e2" - } - }, - "specimen_from_organism/018972ab-599d-412e-9e87-934012f7c63a": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB2" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.481Z", - "updateDate": "2018-03-26T17:00:53.390Z", - "document_id": "018972ab-599d-412e-9e87-934012f7c63a" - } - }, - "cell_suspension/83974f7a-d580-477a-af8f-9802e623a576": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 2502, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.786Z", - "updateDate": "2018-03-26T17:00:12.975Z", - "document_id": "83974f7a-d580-477a-af8f-9802e623a576" - } - }, - "specimen_from_organism/1b1eff7c-667a-4dad-aaf6-8b0a08f40787": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB4" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.549Z", - "updateDate": "2018-03-26T17:00:09.815Z", - "document_id": "1b1eff7c-667a-4dad-aaf6-8b0a08f40787" - } - }, - "cell_suspension/7cb7ead6-2e3a-4e79-bf5c-ff554276d0ac": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 2813, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.925Z", - "updateDate": "2018-03-26T17:00:12.989Z", - "document_id": "7cb7ead6-2e3a-4e79-bf5c-ff554276d0ac" - } - }, - "specimen_from_organism/c7643678-0899-4417-bf0c-dd42d52c9ea9": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB1" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.558Z", - "updateDate": "2018-03-26T17:00:12.239Z", - "document_id": "c7643678-0899-4417-bf0c-dd42d52c9ea9" - } - }, - "cell_suspension/ab67b774-4e1b-4650-8f44-0318369c9999": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4375, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.465Z", - "updateDate": "2018-03-26T17:00:13.093Z", - "document_id": "ab67b774-4e1b-4650-8f44-0318369c9999" - } - }, - "specimen_from_organism/e8987627-1c0a-4914-b9ee-04b5e76384c5": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB3" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.506Z", - "updateDate": "2018-03-26T17:00:08.879Z", - "document_id": "e8987627-1c0a-4914-b9ee-04b5e76384c5" - } - }, - "cell_suspension/87ae843f-af22-4d73-9afc-91624d7af38a": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 2933, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.518Z", - "updateDate": "2018-03-26T17:00:13.109Z", - "document_id": "87ae843f-af22-4d73-9afc-91624d7af38a" - } - }, - "specimen_from_organism/60dd2004-0d4a-4141-87a3-3fbd594e0ff0": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB1" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.658Z", - "updateDate": "2018-03-26T17:00:12.523Z", - "document_id": "60dd2004-0d4a-4141-87a3-3fbd594e0ff0" - } - }, - "cell_suspension/b5d7dcb7-0877-401d-8bab-200bb1ec4cc1": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4012, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.771Z", - "updateDate": "2018-03-26T17:00:13.126Z", - "document_id": "b5d7dcb7-0877-401d-8bab-200bb1ec4cc1" - } - }, - "specimen_from_organism/64fc872d-1b3e-462c-836f-c0cbabaf419e": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB4" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.583Z", - "updateDate": "2018-03-26T17:00:11.494Z", - "document_id": "64fc872d-1b3e-462c-836f-c0cbabaf419e" - } - }, - "cell_suspension/efcd5856-7134-4048-b9d8-c909ce72f65c": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4195, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.796Z", - "updateDate": "2018-03-26T17:00:13.145Z", - "document_id": "efcd5856-7134-4048-b9d8-c909ce72f65c" - } - }, - "specimen_from_organism/940c42d6-b243-4f75-ba0d-7b88507d4017": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB3" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.455Z", - "updateDate": "2018-03-26T17:00:09.578Z", - "document_id": "940c42d6-b243-4f75-ba0d-7b88507d4017" - } - }, - "cell_suspension/e55a5f1a-a230-4517-aa87-b3afc3b30a5d": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 2839, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.857Z", - "updateDate": "2018-03-26T17:00:52.613Z", - "document_id": "e55a5f1a-a230-4517-aa87-b3afc3b30a5d" - } - }, - "specimen_from_organism/51ddd492-619b-4d69-a189-f7b47914675b": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB1" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.567Z", - "updateDate": "2018-03-26T17:00:52.568Z", - "document_id": "51ddd492-619b-4d69-a189-f7b47914675b" - } - }, - "cell_suspension/72e9781b-3ecc-48c1-8918-3346c7d3da30": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4369, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.332Z", - "updateDate": "2018-03-26T17:00:52.871Z", - "document_id": "72e9781b-3ecc-48c1-8918-3346c7d3da30" - } - }, - "specimen_from_organism/76200ba9-fac8-4880-8fd0-50ce00e4783f": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB2" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.531Z", - "updateDate": "2018-03-26T17:00:52.856Z", - "document_id": "76200ba9-fac8-4880-8fd0-50ce00e4783f" - } - }, - "cell_suspension/28240c74-d2c1-42f2-85e2-70d77d8bb66d": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4604, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.699Z", - "updateDate": "2018-03-26T17:00:52.942Z", - "document_id": "28240c74-d2c1-42f2-85e2-70d77d8bb66d" - } - }, - "specimen_from_organism/c49327da-ab41-4280-ac15-fccd207c800e": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB2" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.689Z", - "updateDate": "2018-03-26T17:00:52.925Z", - "document_id": "c49327da-ab41-4280-ac15-fccd207c800e" - } - }, - "cell_suspension/05cc8105-9909-4cc0-bbb2-ad175213761a": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4724, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.839Z", - "updateDate": "2018-03-26T17:00:53.079Z", - "document_id": "05cc8105-9909-4cc0-bbb2-ad175213761a" - } - }, - "specimen_from_organism/5b61815f-8d1a-4ca9-a29d-94e0932b1e45": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB2" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.405Z", - "updateDate": "2018-03-26T17:00:53.063Z", - "document_id": "5b61815f-8d1a-4ca9-a29d-94e0932b1e45" - } - }, - "cell_suspension/ee1eba1b-b1e3-480d-ba7e-74d7abb9cf93": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3006, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.707Z", - "updateDate": "2018-03-26T17:00:13.212Z", - "document_id": "ee1eba1b-b1e3-480d-ba7e-74d7abb9cf93" - } - }, - "specimen_from_organism/b9b154aa-096c-4703-9e7c-daa0fe7abf89": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB1" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.378Z", - "updateDate": "2018-03-26T17:00:12.680Z", - "document_id": "b9b154aa-096c-4703-9e7c-daa0fe7abf89" - } - }, - "cell_suspension/c9ffd86b-d118-4561-8b67-8cab49b0cb60": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3831, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.806Z", - "updateDate": "2018-03-26T17:00:13.227Z", - "document_id": "c9ffd86b-d118-4561-8b67-8cab49b0cb60" - } - }, - "specimen_from_organism/301d5d6c-eee5-49ca-b71e-f6d53cba4595": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB4" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.228Z", - "updateDate": "2018-03-26T17:00:11.602Z", - "document_id": "301d5d6c-eee5-49ca-b71e-f6d53cba4595" - } - }, - "cell_suspension/9edb7ce6-9c5e-491a-b010-b2b8ac73ef2f": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 2889, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB1_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.490Z", - "updateDate": "2018-03-26T17:00:13.241Z", - "document_id": "9edb7ce6-9c5e-491a-b010-b2b8ac73ef2f" - } - }, - "specimen_from_organism/26535b23-cb10-4093-a794-23def68c7d0c": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB1", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB1" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.518Z", - "updateDate": "2018-03-26T17:00:12.101Z", - "document_id": "26535b23-cb10-4093-a794-23def68c7d0c" - } - }, - "cell_suspension/c41a4144-53bd-4aef-9834-b10d03d9ee7e": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 863, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB4_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.542Z", - "updateDate": "2018-03-26T17:00:13.257Z", - "document_id": "c41a4144-53bd-4aef-9834-b10d03d9ee7e" - } - }, - "specimen_from_organism/3687d559-3378-482c-a78f-dac301315580": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB4", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB4" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.328Z", - "updateDate": "2018-03-26T17:00:11.242Z", - "document_id": "3687d559-3378-482c-a78f-dac301315580" - } - }, - "cell_suspension/b53b725d-5ee0-4870-bbba-fc0ab014f9f1": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4505, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB3_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.627Z", - "updateDate": "2018-03-26T17:00:13.275Z", - "document_id": "b53b725d-5ee0-4870-bbba-fc0ab014f9f1" - } - }, - "specimen_from_organism/77b71f13-95b7-465a-b662-35e2e0585273": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB3", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB3" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.774Z", - "updateDate": "2018-03-26T17:00:09.181Z", - "document_id": "77b71f13-95b7-465a-b662-35e2e0585273" - } - }, - "cell_suspension/32eae07d-b9c1-4aaf-b18d-cc334b8ffc72": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4568, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.802Z", - "updateDate": "2018-03-26T17:00:53.011Z", - "document_id": "32eae07d-b9c1-4aaf-b18d-cc334b8ffc72" - } - }, - "specimen_from_organism/ce8e1a87-7041-4888-9735-854660215cfc": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB2" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.569Z", - "updateDate": "2018-03-26T17:00:52.995Z", - "document_id": "ce8e1a87-7041-4888-9735-854660215cfc" - } - }, - "cell_suspension/46c29e1d-9e97-4705-ac88-d145f6c9f773": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4723, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB2_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.312Z", - "updateDate": "2018-03-26T17:00:53.257Z", - "document_id": "46c29e1d-9e97-4705-ac88-d145f6c9f773" - } - }, - "specimen_from_organism/89f83d7f-eb14-4c3e-84d3-ceede50d8f8d": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB2", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB2" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.632Z", - "updateDate": "2018-03-26T17:00:53.233Z", - "document_id": "89f83d7f-eb14-4c3e-84d3-ceede50d8f8d" - } - }, - "sequence_file/e8a1e8cd-9941-4a59-aceb-a17649543bbb": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_1_S1_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.641Z", - "document_id": "e8a1e8cd-9941-4a59-aceb-a17649543bbb" - } - }, - "sequence_file/824f5af4-545d-4061-8cfa-116b8d1d8c0c": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_1_S1_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.656Z", - "document_id": "824f5af4-545d-4061-8cfa-116b8d1d8c0c" - } - }, - "sequence_file/033c2369-fa63-49d1-80e6-19b06ebafa93": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_1_S1_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.668Z", - "document_id": "033c2369-fa63-49d1-80e6-19b06ebafa93" - } - }, - "sequence_file/29a04cd5-2f40-4030-8721-e936de10431a": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_1_S1_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.683Z", - "document_id": "29a04cd5-2f40-4030-8721-e936de10431a" - } - }, - "sequence_file/369bf08e-a90f-4c3e-9f24-d7b6026bbd5c": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_1_S1_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.695Z", - "document_id": "369bf08e-a90f-4c3e-9f24-d7b6026bbd5c" - } - }, - "sequence_file/84ed2e73-801c-4517-97a8-3c2b37b2ccca": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_1_S1_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.708Z", - "document_id": "84ed2e73-801c-4517-97a8-3c2b37b2ccca" - } - }, - "sequence_file/ab650f1f-003d-424a-9455-f28c8dad28a1": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_2_S2_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.720Z", - "document_id": "ab650f1f-003d-424a-9455-f28c8dad28a1" - } - }, - "sequence_file/c84889d4-5444-4bfb-a482-6f1bc7a2ad95": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_2_S2_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.732Z", - "document_id": "c84889d4-5444-4bfb-a482-6f1bc7a2ad95" - } - }, - "sequence_file/2187a383-7663-49d1-9383-26107fa4e1e3": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_2_S2_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.746Z", - "document_id": "2187a383-7663-49d1-9383-26107fa4e1e3" - } - }, - "sequence_file/dc52aeff-81c5-4c0e-9007-3f3d0d5322a6": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_2_S2_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.770Z", - "document_id": "dc52aeff-81c5-4c0e-9007-3f3d0d5322a6" - } - }, - "sequence_file/0c06ee73-f507-4427-aeb0-e7359620f2a4": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_2_S2_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.783Z", - "document_id": "0c06ee73-f507-4427-aeb0-e7359620f2a4" - } - }, - "sequence_file/e0920342-d954-46e6-99f6-d1d7f2cfa56c": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_2_S2_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.794Z", - "document_id": "e0920342-d954-46e6-99f6-d1d7f2cfa56c" - } - }, - "sequence_file/10d3fd29-2c93-47ae-86ad-5bede5e97aba": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_3_S3_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.805Z", - "document_id": "10d3fd29-2c93-47ae-86ad-5bede5e97aba" - } - }, - "sequence_file/f724ace3-3cff-45eb-bee5-7fea53da64da": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_3_S3_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.819Z", - "document_id": "f724ace3-3cff-45eb-bee5-7fea53da64da" - } - }, - "sequence_file/9bf891a4-a1b9-4ff0-b282-65cd2befc15c": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_3_S3_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.832Z", - "document_id": "9bf891a4-a1b9-4ff0-b282-65cd2befc15c" - } - }, - "sequence_file/0c364954-e51a-4b4a-99cf-9aee7cedd5f8": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_3_S3_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.844Z", - "document_id": "0c364954-e51a-4b4a-99cf-9aee7cedd5f8" - } - }, - "sequence_file/762a5985-3cdc-4406-8d88-c1b6d8579ceb": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_3_S3_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.855Z", - "document_id": "762a5985-3cdc-4406-8d88-c1b6d8579ceb" - } - }, - "sequence_file/b19e2b64-5352-49d4-ace9-5563abf4d9fd": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_3_S3_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.866Z", - "document_id": "b19e2b64-5352-49d4-ace9-5563abf4d9fd" - } - }, - "sequence_file/35770609-6db4-415e-ae1d-dc590338bdce": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_4_S4_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.879Z", - "document_id": "35770609-6db4-415e-ae1d-dc590338bdce" - } - }, - "sequence_file/7c102baf-2faa-44f9-bd03-2db1763fab2b": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_4_S4_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.892Z", - "document_id": "7c102baf-2faa-44f9-bd03-2db1763fab2b" - } - }, - "sequence_file/e3d601e3-4bbe-4f24-8ee3-03ac35589548": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_4_S4_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.903Z", - "document_id": "e3d601e3-4bbe-4f24-8ee3-03ac35589548" - } - }, - "sequence_file/3e9d8ded-1819-4905-a855-2b9a7a675558": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_4_S4_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.915Z", - "document_id": "3e9d8ded-1819-4905-a855-2b9a7a675558" - } - }, - "sequence_file/538f5f66-76f7-40e3-9130-e4e3633b0bb6": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_4_S4_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.926Z", - "document_id": "538f5f66-76f7-40e3-9130-e4e3633b0bb6" - } - }, - "sequence_file/7da336e9-59c3-4e13-8890-a728c9d46aad": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_4_S4_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.950Z", - "document_id": "7da336e9-59c3-4e13-8890-a728c9d46aad" - } - }, - "sequence_file/c122cf51-5d3a-428c-bfa3-d6c09d80f138": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_5_S5_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.984Z", - "document_id": "c122cf51-5d3a-428c-bfa3-d6c09d80f138" - } - }, - "sequence_file/24be633e-1b05-405d-839a-f25a419fac8e": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_5_S5_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.008Z", - "document_id": "24be633e-1b05-405d-839a-f25a419fac8e" - } - }, - "sequence_file/55e172fd-740b-415f-9fcd-f9f245264a0c": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_5_S5_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.034Z", - "document_id": "55e172fd-740b-415f-9fcd-f9f245264a0c" - } - }, - "sequence_file/a79ecf3e-92ba-4724-a701-2e9c3c09ab80": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_5_S5_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.049Z", - "document_id": "a79ecf3e-92ba-4724-a701-2e9c3c09ab80" - } - }, - "sequence_file/f5d9fcc4-5fe7-4f2a-88ef-5f7c3602062c": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_5_S5_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.068Z", - "document_id": "f5d9fcc4-5fe7-4f2a-88ef-5f7c3602062c" - } - }, - "sequence_file/948e17b8-aa39-4a79-b5df-6abf0007ca12": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_5_S5_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.082Z", - "document_id": "948e17b8-aa39-4a79-b5df-6abf0007ca12" - } - }, - "sequence_file/3c92b73c-13c8-472e-8728-c48120abac15": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_6_S6_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.094Z", - "document_id": "3c92b73c-13c8-472e-8728-c48120abac15" - } - }, - "sequence_file/2c9190f9-98be-4314-8a02-97519229d975": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_6_S6_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.115Z", - "document_id": "2c9190f9-98be-4314-8a02-97519229d975" - } - }, - "sequence_file/e8290f80-02d6-424d-a11b-a6989a14e3d4": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_6_S6_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.131Z", - "document_id": "e8290f80-02d6-424d-a11b-a6989a14e3d4" - } - }, - "sequence_file/25879d3f-6595-43d3-a5ca-5cdecea9eb51": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_6_S6_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.152Z", - "document_id": "25879d3f-6595-43d3-a5ca-5cdecea9eb51" - } - }, - "sequence_file/6492a26d-5c16-4e75-a9c5-a9b8f8e28eff": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_6_S6_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.179Z", - "document_id": "6492a26d-5c16-4e75-a9c5-a9b8f8e28eff" - } - }, - "sequence_file/97cbb401-3dcd-40fa-8a3e-b4387b8f2913": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_6_S6_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.220Z", - "document_id": "97cbb401-3dcd-40fa-8a3e-b4387b8f2913" - } - }, - "sequence_file/732ffe61-8834-459c-97eb-62c1e11b0288": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_7_S7_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.242Z", - "document_id": "732ffe61-8834-459c-97eb-62c1e11b0288" - } - }, - "sequence_file/40a060fa-b85d-4912-a2e8-8aa4a4f889f8": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_7_S7_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.264Z", - "document_id": "40a060fa-b85d-4912-a2e8-8aa4a4f889f8" - } - }, - "sequence_file/92d4ccbe-1689-4e12-932a-40d5a75e9da5": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_7_S7_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.348Z", - "document_id": "92d4ccbe-1689-4e12-932a-40d5a75e9da5" - } - }, - "sequence_file/9e4f5829-4d55-4106-8278-53ae1b9187ec": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_7_S7_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.389Z", - "document_id": "9e4f5829-4d55-4106-8278-53ae1b9187ec" - } - }, - "sequence_file/086bbd3d-950f-4d3e-bcdc-bdd7f265b176": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_7_S7_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.411Z", - "document_id": "086bbd3d-950f-4d3e-bcdc-bdd7f265b176" - } - }, - "sequence_file/07e38704-5f81-4c54-93ad-319de7dd684b": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_7_S7_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.433Z", - "document_id": "07e38704-5f81-4c54-93ad-319de7dd684b" - } - }, - "sequence_file/4371755a-4549-4124-bdf4-ea2a768bd5c9": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_8_S8_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.460Z", - "document_id": "4371755a-4549-4124-bdf4-ea2a768bd5c9" - } - }, - "sequence_file/b0c8dcf8-0853-4006-938b-101a1f0d0e3a": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_8_S8_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.488Z", - "document_id": "b0c8dcf8-0853-4006-938b-101a1f0d0e3a" - } - }, - "sequence_file/d03d5e6f-fb5e-499b-bb77-269fb51689cc": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_8_S8_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.510Z", - "document_id": "d03d5e6f-fb5e-499b-bb77-269fb51689cc" - } - }, - "sequence_file/868712b5-40fb-4c18-83bb-3dcbcce32032": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_8_S8_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.542Z", - "document_id": "868712b5-40fb-4c18-83bb-3dcbcce32032" - } - }, - "sequence_file/660ce604-15e0-404a-b061-0b9f533363bb": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_8_S8_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.567Z", - "document_id": "660ce604-15e0-404a-b061-0b9f533363bb" - } - }, - "sequence_file/1ab32587-0198-461d-97f1-34926b5de5bf": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB1_HiSeq_8_S8_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.605Z", - "document_id": "1ab32587-0198-461d-97f1-34926b5de5bf" - } - }, - "sequence_file/ed3cbb48-adf8-4531-919a-a467fd838940": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_1_S9_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.639Z", - "document_id": "ed3cbb48-adf8-4531-919a-a467fd838940" - } - }, - "sequence_file/4e0e994c-2dc2-4347-b436-bf4ad68d410e": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_1_S9_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.688Z", - "document_id": "4e0e994c-2dc2-4347-b436-bf4ad68d410e" - } - }, - "sequence_file/66b65537-4bad-44e5-ba65-3153181f3e2f": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_1_S9_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.715Z", - "document_id": "66b65537-4bad-44e5-ba65-3153181f3e2f" - } - }, - "sequence_file/ab363ff2-fa4f-4c6e-a817-8255b28f0171": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_1_S9_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.734Z", - "document_id": "ab363ff2-fa4f-4c6e-a817-8255b28f0171" - } - }, - "sequence_file/05b4fee4-8499-4c53-a11b-bf9f46f20092": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_1_S9_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.753Z", - "document_id": "05b4fee4-8499-4c53-a11b-bf9f46f20092" - } - }, - "sequence_file/c8ae16b5-478d-484e-a691-8d0685e35011": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_1_S9_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.771Z", - "document_id": "c8ae16b5-478d-484e-a691-8d0685e35011" - } - }, - "sequence_file/05e39baf-e0a5-4c1f-8e1f-811378db1cf8": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_2_S10_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.791Z", - "document_id": "05e39baf-e0a5-4c1f-8e1f-811378db1cf8" - } - }, - "sequence_file/fb37e886-5520-448a-9904-40df6f9a9d55": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_2_S10_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.804Z", - "document_id": "fb37e886-5520-448a-9904-40df6f9a9d55" - } - }, - "sequence_file/2a694912-a7f2-4055-a854-aea8830e8a42": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_2_S10_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.820Z", - "document_id": "2a694912-a7f2-4055-a854-aea8830e8a42" - } - }, - "sequence_file/acd91be0-cdcb-4a3c-b7ae-0e969f538942": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_2_S10_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.833Z", - "document_id": "acd91be0-cdcb-4a3c-b7ae-0e969f538942" - } - }, - "sequence_file/ea5f0052-93a9-40ab-8452-8bee7489612b": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_2_S10_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.847Z", - "document_id": "ea5f0052-93a9-40ab-8452-8bee7489612b" - } - }, - "sequence_file/95eb362b-cbc9-49c8-8ba1-a6958e280416": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_2_S10_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.859Z", - "document_id": "95eb362b-cbc9-49c8-8ba1-a6958e280416" - } - }, - "sequence_file/73f7b90b-2823-4714-a145-678f83f54b56": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_3_S11_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.870Z", - "document_id": "73f7b90b-2823-4714-a145-678f83f54b56" - } - }, - "sequence_file/97577c70-547f-417e-827f-ac2832f1ec05": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_3_S11_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.882Z", - "document_id": "97577c70-547f-417e-827f-ac2832f1ec05" - } - }, - "sequence_file/7953d974-4812-4b77-b5c2-ea8c3f5cc864": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_3_S11_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.894Z", - "document_id": "7953d974-4812-4b77-b5c2-ea8c3f5cc864" - } - }, - "sequence_file/113ee1ff-d5f4-46d9-80eb-d5abf8cacd43": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_3_S11_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.905Z", - "document_id": "113ee1ff-d5f4-46d9-80eb-d5abf8cacd43" - } - }, - "sequence_file/8e8d4873-328b-4c1c-b51c-be6b248e9c77": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_3_S11_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.916Z", - "document_id": "8e8d4873-328b-4c1c-b51c-be6b248e9c77" - } - }, - "sequence_file/b2c4ce8e-8318-48f0-a36c-b0f56568a93b": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_3_S11_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.927Z", - "document_id": "b2c4ce8e-8318-48f0-a36c-b0f56568a93b" - } - }, - "sequence_file/71715dea-99cd-4756-aa9c-debfd4927b89": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_4_S12_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.951Z", - "document_id": "71715dea-99cd-4756-aa9c-debfd4927b89" - } - }, - "sequence_file/cdac53a4-9c25-4add-a5fb-0c3566d34bac": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_4_S12_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.974Z", - "document_id": "cdac53a4-9c25-4add-a5fb-0c3566d34bac" - } - }, - "sequence_file/04fe0366-0173-4d9a-b3b5-e662ffb18d97": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_4_S12_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:58.992Z", - "document_id": "04fe0366-0173-4d9a-b3b5-e662ffb18d97" - } - }, - "sequence_file/450fde91-2153-42ee-ba7a-5cf4b59eb587": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_4_S12_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.010Z", - "document_id": "450fde91-2153-42ee-ba7a-5cf4b59eb587" - } - }, - "sequence_file/b80d05bc-c256-4689-a7a8-2e4d63e8ecb3": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_4_S12_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.029Z", - "document_id": "b80d05bc-c256-4689-a7a8-2e4d63e8ecb3" - } - }, - "sequence_file/9789d08f-9a13-4d12-b7e4-1a399cc3497f": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_4_S12_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.042Z", - "document_id": "9789d08f-9a13-4d12-b7e4-1a399cc3497f" - } - }, - "sequence_file/12818748-5843-47a5-82d7-e68c618a9ec7": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_5_S13_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.057Z", - "document_id": "12818748-5843-47a5-82d7-e68c618a9ec7" - } - }, - "sequence_file/422855a5-5bad-4b93-93b3-51900ba36c43": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_5_S13_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.072Z", - "document_id": "422855a5-5bad-4b93-93b3-51900ba36c43" - } - }, - "sequence_file/5f43bb85-cfa6-4131-84fa-7c80c58dd024": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_5_S13_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.102Z", - "document_id": "5f43bb85-cfa6-4131-84fa-7c80c58dd024" - } - }, - "sequence_file/d5926d97-2a6e-4ad9-8e32-9653e05c894a": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_5_S13_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.122Z", - "document_id": "d5926d97-2a6e-4ad9-8e32-9653e05c894a" - } - }, - "sequence_file/850e0456-c706-4d74-910e-76b3284641fb": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_5_S13_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.144Z", - "document_id": "850e0456-c706-4d74-910e-76b3284641fb" - } - }, - "sequence_file/b07b0491-63da-4e80-9d1d-1c3bf4a0f8e4": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_5_S13_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.165Z", - "document_id": "b07b0491-63da-4e80-9d1d-1c3bf4a0f8e4" - } - }, - "sequence_file/c7ec9c55-9f6a-49be-8f30-aac0d4c05bf9": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_6_S14_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.179Z", - "document_id": "c7ec9c55-9f6a-49be-8f30-aac0d4c05bf9" - } - }, - "sequence_file/c0d6864e-0812-47b5-83a5-d48150334134": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_6_S14_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.200Z", - "document_id": "c0d6864e-0812-47b5-83a5-d48150334134" - } - }, - "sequence_file/386d5eaf-ef6c-40d1-afd5-5f2813bc1272": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_6_S14_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.242Z", - "document_id": "386d5eaf-ef6c-40d1-afd5-5f2813bc1272" - } - }, - "sequence_file/f68eed9d-716c-48e5-9766-54521113b843": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_6_S14_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.286Z", - "document_id": "f68eed9d-716c-48e5-9766-54521113b843" - } - }, - "sequence_file/7ddf5ede-274c-4252-b9bd-8344ab01e47f": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_6_S14_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.318Z", - "document_id": "7ddf5ede-274c-4252-b9bd-8344ab01e47f" - } - }, - "sequence_file/a8b86342-3b98-4030-bdfa-a7cc45e3d256": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_6_S14_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.347Z", - "document_id": "a8b86342-3b98-4030-bdfa-a7cc45e3d256" - } - }, - "sequence_file/d566502b-0ea1-4060-8f62-98dbabc3ee34": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_7_S15_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.367Z", - "document_id": "d566502b-0ea1-4060-8f62-98dbabc3ee34" - } - }, - "sequence_file/ad0ec998-0cc3-4f43-8104-3f14cb86cac5": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_7_S15_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.387Z", - "document_id": "ad0ec998-0cc3-4f43-8104-3f14cb86cac5" - } - }, - "sequence_file/196fa68d-aede-4682-9600-e969ab755c84": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_7_S15_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.414Z", - "document_id": "196fa68d-aede-4682-9600-e969ab755c84" - } - }, - "sequence_file/619b0c8e-70ee-4db3-9c0a-da28aba18bb8": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_7_S15_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.444Z", - "document_id": "619b0c8e-70ee-4db3-9c0a-da28aba18bb8" - } - }, - "sequence_file/1955e248-81dc-464a-a578-28a13c858dda": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_7_S15_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.461Z", - "document_id": "1955e248-81dc-464a-a578-28a13c858dda" - } - }, - "sequence_file/fb00fff4-40d7-402d-8df3-0df52c623d91": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_7_S15_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.477Z", - "document_id": "fb00fff4-40d7-402d-8df3-0df52c623d91" - } - }, - "sequence_file/25df2567-741c-4448-ae4f-4ae1eaba0fa7": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_8_S16_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.499Z", - "document_id": "25df2567-741c-4448-ae4f-4ae1eaba0fa7" - } - }, - "sequence_file/707251d4-b780-4472-aa0f-79c5db9eaddf": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_8_S16_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.525Z", - "document_id": "707251d4-b780-4472-aa0f-79c5db9eaddf" - } - }, - "sequence_file/71080f34-4468-4ca5-8a6c-bf688ab31462": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_8_S16_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.549Z", - "document_id": "71080f34-4468-4ca5-8a6c-bf688ab31462" - } - }, - "sequence_file/7af19dcd-60e7-45ed-8bd2-53c1d91573b7": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_8_S16_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.565Z", - "document_id": "7af19dcd-60e7-45ed-8bd2-53c1d91573b7" - } - }, - "sequence_file/ae780044-5103-4c32-892b-98ba6ceea2d9": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_8_S16_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.580Z", - "document_id": "ae780044-5103-4c32-892b-98ba6ceea2d9" - } - }, - "sequence_file/774ac2a7-2a37-42e8-b7ec-e5adc19af937": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB2_HiSeq_8_S16_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.600Z", - "document_id": "774ac2a7-2a37-42e8-b7ec-e5adc19af937" - } - }, - "sequence_file/bfb8a6f0-5225-425a-a8e0-140271c8c5b1": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_1_S17_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.627Z", - "document_id": "bfb8a6f0-5225-425a-a8e0-140271c8c5b1" - } - }, - "sequence_file/f33d18e0-844d-48a2-9e14-bb04ae52a362": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_1_S17_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.643Z", - "document_id": "f33d18e0-844d-48a2-9e14-bb04ae52a362" - } - }, - "sequence_file/bafde3e9-8d7c-4891-809e-5398037a81e2": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_1_S17_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.664Z", - "document_id": "bafde3e9-8d7c-4891-809e-5398037a81e2" - } - }, - "sequence_file/cbc254bc-0116-43e6-b6d6-f8866a5abe49": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_1_S17_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.682Z", - "document_id": "cbc254bc-0116-43e6-b6d6-f8866a5abe49" - } - }, - "sequence_file/acf12743-50d3-4e85-9170-dafa18d3a3bf": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_1_S17_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.696Z", - "document_id": "acf12743-50d3-4e85-9170-dafa18d3a3bf" - } - }, - "sequence_file/5a38dd8f-47de-44f6-a2ae-b7f93482c980": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_1_S17_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.708Z", - "document_id": "5a38dd8f-47de-44f6-a2ae-b7f93482c980" - } - }, - "sequence_file/84b8fd91-a9e9-4874-b6bb-77d559fd5b25": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_2_S18_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.722Z", - "document_id": "84b8fd91-a9e9-4874-b6bb-77d559fd5b25" - } - }, - "sequence_file/2f3f5e1c-e4a6-4450-8865-e4a9c5e8d603": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_2_S18_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.736Z", - "document_id": "2f3f5e1c-e4a6-4450-8865-e4a9c5e8d603" - } - }, - "sequence_file/56b61187-cf52-4141-97aa-ec67be551c63": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_2_S18_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.785Z", - "document_id": "56b61187-cf52-4141-97aa-ec67be551c63" - } - }, - "sequence_file/25c6df56-b689-4785-a573-9ec4a0dad917": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_2_S18_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.800Z", - "document_id": "25c6df56-b689-4785-a573-9ec4a0dad917" - } - }, - "sequence_file/fb3db3b3-4d84-4016-826d-65cee4cb330b": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_2_S18_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.812Z", - "document_id": "fb3db3b3-4d84-4016-826d-65cee4cb330b" - } - }, - "sequence_file/4baea468-bdb2-40fb-85fc-ede385f3a961": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_2_S18_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.823Z", - "document_id": "4baea468-bdb2-40fb-85fc-ede385f3a961" - } - }, - "sequence_file/b1504d1c-6013-4ea0-81aa-7c772266496c": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_3_S19_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.836Z", - "document_id": "b1504d1c-6013-4ea0-81aa-7c772266496c" - } - }, - "sequence_file/1ade713c-9338-490f-9d98-0376f3be7015": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_3_S19_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.851Z", - "document_id": "1ade713c-9338-490f-9d98-0376f3be7015" - } - }, - "sequence_file/472a64ca-0e9a-4a77-b4e3-dbd73a9d0c4b": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_3_S19_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.871Z", - "document_id": "472a64ca-0e9a-4a77-b4e3-dbd73a9d0c4b" - } - }, - "sequence_file/2fc5f77e-eb3f-4239-9491-54c884d9bd14": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_3_S19_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.885Z", - "document_id": "2fc5f77e-eb3f-4239-9491-54c884d9bd14" - } - }, - "sequence_file/6f0e108d-30da-4242-b489-5eb638e2db96": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_3_S19_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.896Z", - "document_id": "6f0e108d-30da-4242-b489-5eb638e2db96" - } - }, - "sequence_file/a9e3f239-2876-4e6b-9893-5dabb22fd15d": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_3_S19_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.912Z", - "document_id": "a9e3f239-2876-4e6b-9893-5dabb22fd15d" - } - }, - "sequence_file/d16086a1-876b-4a27-912c-95aa48d76f0b": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_4_S20_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.924Z", - "document_id": "d16086a1-876b-4a27-912c-95aa48d76f0b" - } - }, - "sequence_file/b7a24845-305e-4b46-9803-37b851ec0d05": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_4_S20_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.936Z", - "document_id": "b7a24845-305e-4b46-9803-37b851ec0d05" - } - }, - "sequence_file/d6b9629f-9b7d-426d-b6c1-1dbf1ebf39a1": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_4_S20_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:59.989Z", - "document_id": "d6b9629f-9b7d-426d-b6c1-1dbf1ebf39a1" - } - }, - "sequence_file/f6bdc59e-9011-4905-adb8-2d21f311fd42": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_4_S20_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.033Z", - "document_id": "f6bdc59e-9011-4905-adb8-2d21f311fd42" - } - }, - "sequence_file/fd194d02-d6c0-4933-a54b-805e7b3a9bab": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_4_S20_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.055Z", - "document_id": "fd194d02-d6c0-4933-a54b-805e7b3a9bab" - } - }, - "sequence_file/18b056bb-9ec0-4d6c-9e5f-bdbee3825d69": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_4_S20_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.106Z", - "document_id": "18b056bb-9ec0-4d6c-9e5f-bdbee3825d69" - } - }, - "sequence_file/91173351-3ea1-4465-88dc-fc084fb67aec": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_5_S21_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.131Z", - "document_id": "91173351-3ea1-4465-88dc-fc084fb67aec" - } - }, - "sequence_file/bdea3da9-33ff-4702-81b1-a4dd99fb5a84": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_5_S21_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.162Z", - "document_id": "bdea3da9-33ff-4702-81b1-a4dd99fb5a84" - } - }, - "sequence_file/657baf8a-add9-4959-bb6f-774cd8127d55": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_5_S21_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.179Z", - "document_id": "657baf8a-add9-4959-bb6f-774cd8127d55" - } - }, - "sequence_file/53bc1c9f-4e87-45c1-b6bf-452d706bbf36": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_5_S21_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.191Z", - "document_id": "53bc1c9f-4e87-45c1-b6bf-452d706bbf36" - } - }, - "sequence_file/465fde8c-1bfc-4f16-9244-9bc2ebf64827": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_5_S21_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.204Z", - "document_id": "465fde8c-1bfc-4f16-9244-9bc2ebf64827" - } - }, - "sequence_file/4515315a-d693-4a22-bf34-b58c981f28c7": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_5_S21_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.227Z", - "document_id": "4515315a-d693-4a22-bf34-b58c981f28c7" - } - }, - "sequence_file/1e9e7a37-e3a8-45c3-bab5-ac601123c1d2": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_6_S22_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.257Z", - "document_id": "1e9e7a37-e3a8-45c3-bab5-ac601123c1d2" - } - }, - "sequence_file/9853a614-30c3-40bb-b356-4e59966abc20": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_6_S22_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.281Z", - "document_id": "9853a614-30c3-40bb-b356-4e59966abc20" - } - }, - "sequence_file/e62f6842-6b8b-474b-ab43-55cae82c8d25": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_6_S22_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.347Z", - "document_id": "e62f6842-6b8b-474b-ab43-55cae82c8d25" - } - }, - "sequence_file/3da817b1-75a2-4477-94dc-870521be252f": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_6_S22_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.367Z", - "document_id": "3da817b1-75a2-4477-94dc-870521be252f" - } - }, - "sequence_file/ebf50b94-7550-4937-8191-7bc8d0497935": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_6_S22_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.387Z", - "document_id": "ebf50b94-7550-4937-8191-7bc8d0497935" - } - }, - "sequence_file/d5092fdb-3b57-4b29-9a40-bc296f490d69": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_6_S22_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.453Z", - "document_id": "d5092fdb-3b57-4b29-9a40-bc296f490d69" - } - }, - "sequence_file/fb621e0e-5736-4b1f-b559-e2b6d43f8a7a": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_7_S23_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.474Z", - "document_id": "fb621e0e-5736-4b1f-b559-e2b6d43f8a7a" - } - }, - "sequence_file/404ac51a-e122-47a4-a556-bab218007d52": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_7_S23_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.495Z", - "document_id": "404ac51a-e122-47a4-a556-bab218007d52" - } - }, - "sequence_file/5731f7bf-f096-4ee7-afdc-94b6a1574fcb": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_7_S23_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.555Z", - "document_id": "5731f7bf-f096-4ee7-afdc-94b6a1574fcb" - } - }, - "sequence_file/82d29d79-1b18-41b4-83b3-603a9234e64a": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_7_S23_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.589Z", - "document_id": "82d29d79-1b18-41b4-83b3-603a9234e64a" - } - }, - "sequence_file/83a0cfb1-bc65-4603-89d5-7d7f0a4ec182": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_7_S23_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.603Z", - "document_id": "83a0cfb1-bc65-4603-89d5-7d7f0a4ec182" - } - }, - "sequence_file/53ca1f09-4985-4827-a3cb-5f53d2cc543e": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_7_S23_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.614Z", - "document_id": "53ca1f09-4985-4827-a3cb-5f53d2cc543e" - } - }, - "sequence_file/61b83558-f8ae-4cfa-91cd-6eaedf60347a": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_8_S24_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.628Z", - "document_id": "61b83558-f8ae-4cfa-91cd-6eaedf60347a" - } - }, - "sequence_file/a75378cf-c7fc-4d86-806d-377bbe925e36": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_8_S24_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.642Z", - "document_id": "a75378cf-c7fc-4d86-806d-377bbe925e36" - } - }, - "sequence_file/3a8260d6-5206-4cbe-a672-782be9e061f5": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_8_S24_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.658Z", - "document_id": "3a8260d6-5206-4cbe-a672-782be9e061f5" - } - }, - "sequence_file/1c04418c-3550-40a7-9858-68b326605579": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_8_S24_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.683Z", - "document_id": "1c04418c-3550-40a7-9858-68b326605579" - } - }, - "sequence_file/1e109600-e523-46b9-9f8a-5b7969dd3c4e": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_8_S24_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.695Z", - "document_id": "1e109600-e523-46b9-9f8a-5b7969dd3c4e" - } - }, - "sequence_file/e999790e-b051-4b79-aeff-170b7821861f": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB3_HiSeq_8_S24_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.709Z", - "document_id": "e999790e-b051-4b79-aeff-170b7821861f" - } - }, - "sequence_file/be6b7802-5f10-4435-a22e-00b62bdcd324": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_1_S25_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.722Z", - "document_id": "be6b7802-5f10-4435-a22e-00b62bdcd324" - } - }, - "sequence_file/102e7a1f-0521-4e05-92ce-03555b48af78": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_1_S25_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.735Z", - "document_id": "102e7a1f-0521-4e05-92ce-03555b48af78" - } - }, - "sequence_file/24b449a3-8d67-4b0c-9f00-9ba3cacfcbff": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_1_S25_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.748Z", - "document_id": "24b449a3-8d67-4b0c-9f00-9ba3cacfcbff" - } - }, - "sequence_file/b1b19afe-cb06-442f-a463-3ae62b94e500": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_1_S25_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.760Z", - "document_id": "b1b19afe-cb06-442f-a463-3ae62b94e500" - } - }, - "sequence_file/75c9928e-4fc9-4095-9426-c121ef4dc682": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_1_S25_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.773Z", - "document_id": "75c9928e-4fc9-4095-9426-c121ef4dc682" - } - }, - "sequence_file/35de5022-c743-416e-892f-268a44d3c8f1": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_1_S25_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.784Z", - "document_id": "35de5022-c743-416e-892f-268a44d3c8f1" - } - }, - "sequence_file/314b4b3c-1fdb-4061-8bc2-e2f2a7737d0d": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_2_S26_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.796Z", - "document_id": "314b4b3c-1fdb-4061-8bc2-e2f2a7737d0d" - } - }, - "sequence_file/582bb010-a460-4e23-b33c-1b349f3cf084": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_2_S26_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.816Z", - "document_id": "582bb010-a460-4e23-b33c-1b349f3cf084" - } - }, - "sequence_file/f2bd46e6-1077-482f-852d-069d2b17c2cd": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_2_S26_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.828Z", - "document_id": "f2bd46e6-1077-482f-852d-069d2b17c2cd" - } - }, - "sequence_file/04489995-747c-4899-a043-ef7aba9a29f1": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_2_S26_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.840Z", - "document_id": "04489995-747c-4899-a043-ef7aba9a29f1" - } - }, - "sequence_file/612ece49-f034-4d09-8958-933cfe834c63": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_2_S26_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.852Z", - "document_id": "612ece49-f034-4d09-8958-933cfe834c63" - } - }, - "sequence_file/bc0183b1-5f5b-46c2-8543-6efc4350f9f8": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_2_S26_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.863Z", - "document_id": "bc0183b1-5f5b-46c2-8543-6efc4350f9f8" - } - }, - "sequence_file/c6ca4bda-2c44-4092-a943-b401e6d79b6d": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_3_S27_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.877Z", - "document_id": "c6ca4bda-2c44-4092-a943-b401e6d79b6d" - } - }, - "sequence_file/00f2c451-419c-4cdf-9266-347245761bb0": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_3_S27_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.890Z", - "document_id": "00f2c451-419c-4cdf-9266-347245761bb0" - } - }, - "sequence_file/50bcbb34-3e7d-4c03-b3c7-16b3c662bf07": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_3_S27_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.902Z", - "document_id": "50bcbb34-3e7d-4c03-b3c7-16b3c662bf07" - } - }, - "sequence_file/70b58641-42b4-42e4-b546-e44f5c16aba4": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_3_S27_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.913Z", - "document_id": "70b58641-42b4-42e4-b546-e44f5c16aba4" - } - }, - "sequence_file/4f9182a0-1e1e-48c3-a4aa-010a5df37deb": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_3_S27_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.924Z", - "document_id": "4f9182a0-1e1e-48c3-a4aa-010a5df37deb" - } - }, - "sequence_file/1110dffb-c4b1-4eb2-9319-6fdbc7fdcb8e": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_3_S27_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.937Z", - "document_id": "1110dffb-c4b1-4eb2-9319-6fdbc7fdcb8e" - } - }, - "sequence_file/52dcc9fb-c900-4835-9871-53f5c8799160": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_4_S28_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:00.968Z", - "document_id": "52dcc9fb-c900-4835-9871-53f5c8799160" - } - }, - "sequence_file/e35cd0e8-786b-4fd8-a461-6500d52cc24a": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_4_S28_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:01.015Z", - "document_id": "e35cd0e8-786b-4fd8-a461-6500d52cc24a" - } - }, - "sequence_file/3d93b4bd-5580-4afa-9268-eb3e27658dca": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_4_S28_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:01.047Z", - "document_id": "3d93b4bd-5580-4afa-9268-eb3e27658dca" - } - }, - "sequence_file/79fbd727-4897-48cd-bd48-5d5680b2f9ed": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_4_S28_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:01.074Z", - "document_id": "79fbd727-4897-48cd-bd48-5d5680b2f9ed" - } - }, - "sequence_file/dde7422f-1671-47f6-9c28-f447f780dc62": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_4_S28_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:01.096Z", - "document_id": "dde7422f-1671-47f6-9c28-f447f780dc62" - } - }, - "sequence_file/c5117298-7d44-42e2-a24d-a07b578ebea8": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_4_S28_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:01.163Z", - "document_id": "c5117298-7d44-42e2-a24d-a07b578ebea8" - } - }, - "sequence_file/e5dffb26-e7c6-4188-b99e-73e5033e1617": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_5_S29_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:01.193Z", - "document_id": "e5dffb26-e7c6-4188-b99e-73e5033e1617" - } - }, - "sequence_file/e64cbb06-6329-4132-b8c2-b9a5a6774696": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_5_S29_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:01.240Z", - "document_id": "e64cbb06-6329-4132-b8c2-b9a5a6774696" - } - }, - "sequence_file/72dcca44-72b1-41bb-a04e-7a90a535eb5c": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_5_S29_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:01.266Z", - "document_id": "72dcca44-72b1-41bb-a04e-7a90a535eb5c" - } - }, - "sequence_file/f72531f8-851a-4f23-8bcd-b2b47bad0f84": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_5_S29_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:01.392Z", - "document_id": "f72531f8-851a-4f23-8bcd-b2b47bad0f84" - } - }, - "sequence_file/3262b323-8545-4c41-ab65-432b635781a7": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_5_S29_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:01.728Z", - "document_id": "3262b323-8545-4c41-ab65-432b635781a7" - } - }, - "sequence_file/b929e871-594e-4f98-9cf9-5889af26b3c3": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_5_S29_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:01.909Z", - "document_id": "b929e871-594e-4f98-9cf9-5889af26b3c3" - } - }, - "sequence_file/0aaf5b5c-4da5-461f-a60d-2f64cf6aa0b1": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_6_S30_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.183Z", - "document_id": "0aaf5b5c-4da5-461f-a60d-2f64cf6aa0b1" - } - }, - "sequence_file/11726713-72bb-43d6-9fd0-e09d4940f7fd": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_6_S30_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.249Z", - "document_id": "11726713-72bb-43d6-9fd0-e09d4940f7fd" - } - }, - "sequence_file/f256f4d1-bb92-4b1e-a320-0a8c65b02f47": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_6_S30_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.300Z", - "document_id": "f256f4d1-bb92-4b1e-a320-0a8c65b02f47" - } - }, - "sequence_file/b47fd4ca-a7d2-484b-8834-378bf9077336": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_6_S30_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.323Z", - "document_id": "b47fd4ca-a7d2-484b-8834-378bf9077336" - } - }, - "sequence_file/74409b42-8580-4e4d-8c08-1e70d9c693ea": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_6_S30_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.443Z", - "document_id": "74409b42-8580-4e4d-8c08-1e70d9c693ea" - } - }, - "sequence_file/0671d6de-6840-4fc8-b67d-f7d662beea88": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_6_S30_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.502Z", - "document_id": "0671d6de-6840-4fc8-b67d-f7d662beea88" - } - }, - "sequence_file/43a5906d-d880-49ef-b743-261a69c7024f": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_7_S31_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.580Z", - "document_id": "43a5906d-d880-49ef-b743-261a69c7024f" - } - }, - "sequence_file/f087e6a6-b9cd-4f26-8932-167d246a6e02": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_7_S31_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.598Z", - "document_id": "f087e6a6-b9cd-4f26-8932-167d246a6e02" - } - }, - "sequence_file/2198238f-d7a8-4e94-9e03-b63f8a7e6bd3": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_7_S31_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.642Z", - "document_id": "2198238f-d7a8-4e94-9e03-b63f8a7e6bd3" - } - }, - "sequence_file/edff548f-d6ac-469e-a136-d59a501e3f90": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_7_S31_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.656Z", - "document_id": "edff548f-d6ac-469e-a136-d59a501e3f90" - } - }, - "sequence_file/8ba887c3-e44d-4644-8cd6-a58b7cfcf2c0": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_7_S31_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.691Z", - "document_id": "8ba887c3-e44d-4644-8cd6-a58b7cfcf2c0" - } - }, - "sequence_file/ddd7bb64-91d4-4114-b2cc-a93d86aa98e1": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_7_S31_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.704Z", - "document_id": "ddd7bb64-91d4-4114-b2cc-a93d86aa98e1" - } - }, - "sequence_file/e823513d-c147-4219-b1c3-33e1cd7b0862": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_8_S32_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.733Z", - "document_id": "e823513d-c147-4219-b1c3-33e1cd7b0862" - } - }, - "sequence_file/d4f454d6-3ffc-4b0c-9449-212ecdbd9d25": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_8_S32_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.769Z", - "document_id": "d4f454d6-3ffc-4b0c-9449-212ecdbd9d25" - } - }, - "sequence_file/e918cb31-af72-4d87-a414-4c499305bdd5": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_8_S32_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.784Z", - "document_id": "e918cb31-af72-4d87-a414-4c499305bdd5" - } - }, - "sequence_file/6b6c9e11-8918-45c7-b80a-cecb591a79cb": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_8_S32_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.799Z", - "document_id": "6b6c9e11-8918-45c7-b80a-cecb591a79cb" - } - }, - "sequence_file/72cfdf1c-8509-4d36-9751-35537c2a7a9d": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_8_S32_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:02.947Z", - "document_id": "72cfdf1c-8509-4d36-9751-35537c2a7a9d" - } - }, - "sequence_file/946889b2-c18d-45ff-b5dc-df818f2c98b7": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB4_HiSeq_8_S32_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.012Z", - "document_id": "946889b2-c18d-45ff-b5dc-df818f2c98b7" - } - }, - "dissociation_process/09c4b005-1357-4cca-a21a-2e63a71e00eb": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_78" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:53.283Z", - "updateDate": "2018-03-26T17:01:01.371Z", - "document_id": "09c4b005-1357-4cca-a21a-2e63a71e00eb" - } - }, - "process/534bf336-7af6-44e5-9f01-11d4ca6d03db": { - "content": { - "process_core": { - "process_id": "sampling_process_63" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:36.989Z", - "updateDate": "2018-03-26T17:00:00.202Z", - "document_id": "534bf336-7af6-44e5-9f01-11d4ca6d03db" - } - }, - "dissociation_process/f51f836c-ae21-4576-a107-a42ae6c2bb58": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_66" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:12.142Z", - "updateDate": "2018-03-26T17:00:52.322Z", - "document_id": "f51f836c-ae21-4576-a107-a42ae6c2bb58" - } - }, - "process/d7800343-3c9e-484a-8abb-9bfcb92d0734": { - "content": { - "process_core": { - "process_id": "sampling_process_99" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:44.849Z", - "updateDate": "2018-03-26T17:00:02.552Z", - "document_id": "d7800343-3c9e-484a-8abb-9bfcb92d0734" - } - }, - "dissociation_process/25f66e31-2091-426f-957b-e66e888b1f00": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_91" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:11.654Z", - "updateDate": "2018-03-26T17:00:51.373Z", - "document_id": "25f66e31-2091-426f-957b-e66e888b1f00" - } - }, - "process/ea7ccba0-8939-4336-8b52-4ffceacb539c": { - "content": { - "process_core": { - "process_id": "sampling_process_26" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.011Z", - "updateDate": "2018-03-26T16:59:58.125Z", - "document_id": "ea7ccba0-8939-4336-8b52-4ffceacb539c" - } - }, - "dissociation_process/31dc39b4-3ea3-4731-a558-d5e831ae363a": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_86" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:09.642Z", - "updateDate": "2018-03-26T17:00:47.369Z", - "document_id": "31dc39b4-3ea3-4731-a558-d5e831ae363a" - } - }, - "process/11c7adde-505c-4b17-b7fa-f2a333e11400": { - "content": { - "process_core": { - "process_id": "sampling_process_64" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:37.036Z", - "updateDate": "2018-03-26T17:00:00.083Z", - "document_id": "11c7adde-505c-4b17-b7fa-f2a333e11400" - } - }, - "dissociation_process/dd1d7800-ea74-4c92-987e-ce35069e3913": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_83" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:08.986Z", - "updateDate": "2018-03-26T17:00:46.353Z", - "document_id": "dd1d7800-ea74-4c92-987e-ce35069e3913" - } - }, - "process/608baa53-b5f7-45bf-be21-d0488f60a472": { - "content": { - "process_core": { - "process_id": "sampling_process_23" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:33.844Z", - "updateDate": "2018-03-26T17:00:00.149Z", - "document_id": "608baa53-b5f7-45bf-be21-d0488f60a472" - } - }, - "dissociation_process/675dbc6d-51d2-4118-a5a1-2bbfd239c800": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_89" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:09.714Z", - "updateDate": "2018-03-26T17:00:47.426Z", - "document_id": "675dbc6d-51d2-4118-a5a1-2bbfd239c800" - } - }, - "process/a703ec77-e6bc-4bcc-9956-8efa39559e45": { - "content": { - "process_core": { - "process_id": "sampling_process_85" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:43.551Z", - "updateDate": "2018-03-26T16:59:58.159Z", - "document_id": "a703ec77-e6bc-4bcc-9956-8efa39559e45" - } - }, - "dissociation_process/41e99038-16ba-4197-8856-eda01461d6be": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_85" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:09.220Z", - "updateDate": "2018-03-26T17:00:48.435Z", - "document_id": "41e99038-16ba-4197-8856-eda01461d6be" - } - }, - "process/e0a98420-60ff-4f9f-9ea9-7ab8179ac0cf": { - "content": { - "process_core": { - "process_id": "sampling_process_82" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.890Z", - "updateDate": "2018-03-26T16:59:59.131Z", - "document_id": "e0a98420-60ff-4f9f-9ea9-7ab8179ac0cf" - } - }, - "dissociation_process/83b35a15-863e-40c6-b8d2-855c1fcc6f01": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_92" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:11.286Z", - "updateDate": "2018-03-26T17:00:49.516Z", - "document_id": "83b35a15-863e-40c6-b8d2-855c1fcc6f01" - } - }, - "process/12866a87-3978-4ec7-b228-55d7d0ac9f4c": { - "content": { - "process_core": { - "process_id": "sampling_process_1" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.713Z", - "updateDate": "2018-03-26T16:59:57.115Z", - "document_id": "12866a87-3978-4ec7-b228-55d7d0ac9f4c" - } - }, - "dissociation_process/43b9b356-531b-48e0-a34e-70563ebbc28a": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_94" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:11.143Z", - "updateDate": "2018-03-26T17:00:51.440Z", - "document_id": "43b9b356-531b-48e0-a34e-70563ebbc28a" - } - }, - "process/5b1f70cd-94e9-4446-8668-cf9e4715ad89": { - "content": { - "process_core": { - "process_id": "sampling_process_68" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:39.860Z", - "updateDate": "2018-03-26T16:59:58.130Z", - "document_id": "5b1f70cd-94e9-4446-8668-cf9e4715ad89" - } - }, - "dissociation_process/488d8bb3-78ad-4360-bfb2-a3d66a883f2c": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_71" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:52.670Z", - "updateDate": "2018-03-26T17:01:00.537Z", - "document_id": "488d8bb3-78ad-4360-bfb2-a3d66a883f2c" - } - }, - "process/9fd9ef40-e324-4958-aa87-dabf8ad7c9d2": { - "content": { - "process_core": { - "process_id": "sampling_process_75" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.573Z", - "updateDate": "2018-03-26T16:59:57.226Z", - "document_id": "9fd9ef40-e324-4958-aa87-dabf8ad7c9d2" - } - }, - "dissociation_process/931f8a89-be45-45ba-b634-9de2594e5903": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_80" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:08.919Z", - "updateDate": "2018-03-26T17:00:46.334Z", - "document_id": "931f8a89-be45-45ba-b634-9de2594e5903" - } - }, - "process/6552dc0a-87ed-41a1-8724-ddd97d66b0d3": { - "content": { - "process_core": { - "process_id": "sampling_process_20" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:33.723Z", - "updateDate": "2018-03-26T16:59:58.233Z", - "document_id": "6552dc0a-87ed-41a1-8724-ddd97d66b0d3" - } - }, - "dissociation_process/1757acc9-2e47-465b-9076-c38795b06f25": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_72" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:52.753Z", - "updateDate": "2018-03-26T17:01:00.467Z", - "document_id": "1757acc9-2e47-465b-9076-c38795b06f25" - } - }, - "process/22eb3486-1184-4327-a013-686a51d88f23": { - "content": { - "process_core": { - "process_id": "sampling_process_49" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.741Z", - "updateDate": "2018-03-26T17:00:00.094Z", - "document_id": "22eb3486-1184-4327-a013-686a51d88f23" - } - }, - "dissociation_process/f25e18d5-ddf5-4f74-8027-473a5fb79ed2": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_64" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:12.284Z", - "updateDate": "2018-03-26T17:00:53.369Z", - "document_id": "f25e18d5-ddf5-4f74-8027-473a5fb79ed2" - } - }, - "process/4160bf3b-54fc-4235-a1f0-1692bfd61a45": { - "content": { - "process_core": { - "process_id": "sampling_process_109" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:45.760Z", - "updateDate": "2018-03-26T17:00:03.377Z", - "document_id": "4160bf3b-54fc-4235-a1f0-1692bfd61a45" - } - }, - "dissociation_process/81621c61-0099-4e43-9170-22720f4227d8": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_84" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:09.329Z", - "updateDate": "2018-03-26T17:00:48.413Z", - "document_id": "81621c61-0099-4e43-9170-22720f4227d8" - } - }, - "process/e3238e44-7f4f-4b6e-98c2-d8ab0ac2e81d": { - "content": { - "process_core": { - "process_id": "sampling_process_7" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:32.282Z", - "updateDate": "2018-03-26T16:59:58.199Z", - "document_id": "e3238e44-7f4f-4b6e-98c2-d8ab0ac2e81d" - } - }, - "dissociation_process/b9dccdc5-dcfe-4b4e-b74c-df088a929a11": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_79" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:53.359Z", - "updateDate": "2018-03-26T17:01:01.511Z", - "document_id": "b9dccdc5-dcfe-4b4e-b74c-df088a929a11" - } - }, - "process/5b7e0f27-d8ac-4f27-a771-030f3e127646": { - "content": { - "process_core": { - "process_id": "sampling_process_77" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.676Z", - "updateDate": "2018-03-26T16:59:59.106Z", - "document_id": "5b7e0f27-d8ac-4f27-a771-030f3e127646" - } - }, - "dissociation_process/0b7abb39-c9ff-4d5a-abec-87f0a228470d": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_88" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:09.785Z", - "updateDate": "2018-03-26T17:00:47.516Z", - "document_id": "0b7abb39-c9ff-4d5a-abec-87f0a228470d" - } - }, - "process/b6a9354e-0792-4c1e-8c9c-ee6602a8abc3": { - "content": { - "process_core": { - "process_id": "sampling_process_112" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:45.886Z", - "updateDate": "2018-03-26T17:00:02.419Z", - "document_id": "b6a9354e-0792-4c1e-8c9c-ee6602a8abc3" - } - }, - "dissociation_process/9edaa8fe-4281-452a-85c9-af65eef18052": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_65" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:12.213Z", - "updateDate": "2018-03-26T17:00:52.294Z", - "document_id": "9edaa8fe-4281-452a-85c9-af65eef18052" - } - }, - "process/8d39a5e4-4fb2-46fa-8b0d-2a8a736f2b82": { - "content": { - "process_core": { - "process_id": "sampling_process_80" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.806Z", - "updateDate": "2018-03-26T17:00:00.148Z", - "document_id": "8d39a5e4-4fb2-46fa-8b0d-2a8a736f2b82" - } - }, - "dissociation_process/bd4177e3-362d-4cb2-8414-6e6e0f27ced9": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_81" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:08.851Z", - "updateDate": "2018-03-26T17:00:46.281Z", - "document_id": "bd4177e3-362d-4cb2-8414-6e6e0f27ced9" - } - }, - "process/8a84dece-bf92-44a4-83ab-472cbb27e023": { - "content": { - "process_core": { - "process_id": "sampling_process_78" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.716Z", - "updateDate": "2018-03-26T16:59:59.093Z", - "document_id": "8a84dece-bf92-44a4-83ab-472cbb27e023" - } - }, - "dissociation_process/e4d97934-2df4-4e43-98c9-7ea4d315b892": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_69" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:12.439Z", - "updateDate": "2018-03-26T17:00:52.341Z", - "document_id": "e4d97934-2df4-4e43-98c9-7ea4d315b892" - } - }, - "process/ac0f6472-208a-4dd4-9a53-f4046586e741": { - "content": { - "process_core": { - "process_id": "sampling_process_84" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.998Z", - "updateDate": "2018-03-26T17:00:03.217Z", - "document_id": "ac0f6472-208a-4dd4-9a53-f4046586e741" - } - }, - "dissociation_process/e51f3a70-2169-478d-9241-12f1900d6696": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_93" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:11.443Z", - "updateDate": "2018-03-26T17:00:50.410Z", - "document_id": "e51f3a70-2169-478d-9241-12f1900d6696" - } - }, - "process/1eafcd8a-cf3c-4c18-85a7-4f8335af24c6": { - "content": { - "process_core": { - "process_id": "sampling_process_81" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.847Z", - "updateDate": "2018-03-26T17:00:01.205Z", - "document_id": "1eafcd8a-cf3c-4c18-85a7-4f8335af24c6" - } - }, - "dissociation_process/43d27e8c-2154-4340-a794-7c718b4b9d8b": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_87" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:09.520Z", - "updateDate": "2018-03-26T17:00:47.369Z", - "document_id": "43d27e8c-2154-4340-a794-7c718b4b9d8b" - } - }, - "process/ff59683a-e31e-48c5-858a-96ecbbe31e6d": { - "content": { - "process_core": { - "process_id": "sampling_process_76" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.615Z", - "updateDate": "2018-03-26T16:59:59.130Z", - "document_id": "ff59683a-e31e-48c5-858a-96ecbbe31e6d" - } - }, - "dissociation_process/8c9ca7df-ed36-4505-aaf9-10de2ff92ed3": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_70" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:52.503Z", - "updateDate": "2018-03-26T17:07:58.309Z", - "document_id": "8c9ca7df-ed36-4505-aaf9-10de2ff92ed3" - } - }, - "process/5534794b-4e44-4672-a003-c94a71bbd94c": { - "content": { - "process_core": { - "process_id": "sampling_process_65" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:37.169Z", - "updateDate": "2018-03-26T17:00:01.416Z", - "document_id": "5534794b-4e44-4672-a003-c94a71bbd94c" - } - }, - "dissociation_process/1bbe7465-4163-42f2-92a9-545c4dc63ab9": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_73" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:52.823Z", - "updateDate": "2018-03-26T17:01:00.366Z", - "document_id": "1bbe7465-4163-42f2-92a9-545c4dc63ab9" - } - }, - "process/a421497c-4dc9-4268-b1b8-60322c22f82f": { - "content": { - "process_core": { - "process_id": "sampling_process_79" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.761Z", - "updateDate": "2018-03-26T17:00:00.169Z", - "document_id": "a421497c-4dc9-4268-b1b8-60322c22f82f" - } - }, - "dissociation_process/076d920c-0d87-4bcc-8b49-dad9ba7bff71": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_74" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:52.900Z", - "updateDate": "2018-03-26T17:01:00.547Z", - "document_id": "076d920c-0d87-4bcc-8b49-dad9ba7bff71" - } - }, - "process/c4b7a701-f0ed-4d84-ad1f-0d65095be3f5": { - "content": { - "process_core": { - "process_id": "sampling_process_117" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:46.154Z", - "updateDate": "2018-03-26T17:00:03.391Z", - "document_id": "c4b7a701-f0ed-4d84-ad1f-0d65095be3f5" - } - }, - "dissociation_process/0c80271a-0984-4cd8-89cb-40faea004d85": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_76" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:53.035Z", - "updateDate": "2018-03-26T17:01:00.332Z", - "document_id": "0c80271a-0984-4cd8-89cb-40faea004d85" - } - }, - "process/7fcbb613-cb71-4606-8b16-efc72716cafa": { - "content": { - "process_core": { - "process_id": "sampling_process_6" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:32.138Z", - "updateDate": "2018-03-26T16:59:58.178Z", - "document_id": "7fcbb613-cb71-4606-8b16-efc72716cafa" - } - }, - "dissociation_process/e3b95758-b7a1-47c2-a950-45569d8e3925": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_68" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:12.648Z", - "updateDate": "2018-03-26T17:00:51.449Z", - "document_id": "e3b95758-b7a1-47c2-a950-45569d8e3925" - } - }, - "process/c5a46640-0719-4bf0-acd2-6f0bc7fe7c58": { - "content": { - "process_core": { - "process_id": "sampling_process_5" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.946Z", - "updateDate": "2018-03-26T16:59:57.214Z", - "document_id": "c5a46640-0719-4bf0-acd2-6f0bc7fe7c58" - } - }, - "dissociation_process/46975356-173c-43bd-9027-0254254f4bb7": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_90" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:11.572Z", - "updateDate": "2018-03-26T17:00:50.412Z", - "document_id": "46975356-173c-43bd-9027-0254254f4bb7" - } - }, - "process/e5d701d8-3e74-4102-a7c8-f931d8040562": { - "content": { - "process_core": { - "process_id": "sampling_process_107" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:45.676Z", - "updateDate": "2018-03-26T17:00:02.394Z", - "document_id": "e5d701d8-3e74-4102-a7c8-f931d8040562" - } - }, - "dissociation_process/e9e97319-a21f-4451-8023-a5e672ac7b34": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_67" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:12.025Z", - "updateDate": "2018-03-26T17:00:51.448Z", - "document_id": "e9e97319-a21f-4451-8023-a5e672ac7b34" - } - }, - "process/b766ca95-9b6c-42b9-9e47-8a8d6482d2ca": { - "content": { - "process_core": { - "process_id": "sampling_process_22" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:33.805Z", - "updateDate": "2018-03-26T16:59:58.265Z", - "document_id": "b766ca95-9b6c-42b9-9e47-8a8d6482d2ca" - } - }, - "dissociation_process/23dcb0fd-5ce4-4e20-b94e-1475f7338db6": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_95" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:11.213Z", - "updateDate": "2018-03-26T17:00:50.444Z", - "document_id": "23dcb0fd-5ce4-4e20-b94e-1475f7338db6" - } - }, - "process/4ee1282e-889f-449c-bb2a-4728a4d26b0c": { - "content": { - "process_core": { - "process_id": "sampling_process_72" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.370Z", - "updateDate": "2018-03-26T16:59:58.156Z", - "document_id": "4ee1282e-889f-449c-bb2a-4728a4d26b0c" - } - }, - "dissociation_process/a63244f2-63f8-4ba8-9322-5925506ce933": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_82" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:09.150Z", - "updateDate": "2018-03-26T17:00:47.353Z", - "document_id": "a63244f2-63f8-4ba8-9322-5925506ce933" - } - }, - "process/c3fdc9bc-d227-4428-94d6-3e7afb8ab2d8": { - "content": { - "process_core": { - "process_id": "sampling_process_119" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:46.349Z", - "updateDate": "2018-03-26T17:00:05.145Z", - "document_id": "c3fdc9bc-d227-4428-94d6-3e7afb8ab2d8" - } - }, - "dissociation_process/f6432490-72e8-4e00-a6d8-26af81dc5456": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_75" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:52.967Z", - "updateDate": "2018-03-26T17:01:00.400Z", - "document_id": "f6432490-72e8-4e00-a6d8-26af81dc5456" - } - }, - "process/30890f02-510a-4141-a0b6-de269e3a5192": { - "content": { - "process_core": { - "process_id": "sampling_process_24" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:33.913Z", - "updateDate": "2018-03-26T16:59:57.154Z", - "document_id": "30890f02-510a-4141-a0b6-de269e3a5192" - } - }, - "dissociation_process/b03843c3-168c-4460-9662-8cfdefdb6ac9": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_77" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:53.104Z", - "updateDate": "2018-03-26T17:01:01.298Z", - "document_id": "b03843c3-168c-4460-9662-8cfdefdb6ac9" - } - }, - "process/f963aea9-4016-4570-88f3-66f2046be874": { - "content": { - "process_core": { - "process_id": "sampling_process_83" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.948Z", - "updateDate": "2018-03-26T17:00:00.142Z", - "document_id": "f963aea9-4016-4570-88f3-66f2046be874" - } - }, - "library_preparation_process/12ea2953-06a4-4e80-8910-a27aba936b9c": { - "content": { - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "process_type": { - "text": "10x sequencing process" - }, - "process_core": { - "process_id": "library_preparation_process_1", - "process_name": "Preparing RNA for sequencing by 10x" - }, - "umi_barcode": { - "barcode_offset": 16, - "barcode_length": 10, - "barcode_read": "Read 1" - }, - "library_construction_approach": "10x_v2", - "cell_barcode": { - "barcode_offset": 0, - "barcode_length": 16, - "barcode_read": "Read 1" - }, - "schema_type": "process", - "end_bias": "3 prime tag", - "primer": "poly-dT", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/library_preparation_process", - "strand": "second" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:06.820Z", - "updateDate": "2018-03-26T17:00:44.791Z", - "document_id": "12ea2953-06a4-4e80-8910-a27aba936b9c" - } - }, - "sequencing_process/49aa3970-895a-44bb-9433-3b49373794f3": { - "content": { - "paired_ends": true, - "local_machine_name": "HXH", - "instrument_manufacturer_model": { - "text": "Illumina Hiseq X 10", - "ontology": "EFO:0008567" - }, - "process_type": { - "text": "10x sequencing process" - }, - "process_core": { - "process_description": "Single cell sequencing of cDNAs by 10x", - "process_name": "Sequencing cord blood donor 1-4", - "process_id": "10x_v2_sequencing_process_3", - "start_time": "2017-09-26T05:01:00Z", - "process_location": "Broad Institute" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/sequencing_process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:06.910Z", - "updateDate": "2018-03-26T17:00:53.514Z", - "document_id": "49aa3970-895a-44bb-9433-3b49373794f3" - } - }, - "protocol/3cbebf0a-4aab-4525-80f4-222703d14b98": { - "content": { - "protocol_core": { - "protocol_id": "dissociation_protocol_1" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.834Z", - "updateDate": "2018-03-26T16:59:27.584Z", - "document_id": "3cbebf0a-4aab-4525-80f4-222703d14b98" - } - }, - "protocol/81b97ec1-f68c-4d69-be78-50d1aad7bbef": { - "content": { - "protocol_core": { - "protocol_id": "library_preparation_protocol_1" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "10x sequencing protocol", - "ontology": "EFO:0008443" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.848Z", - "updateDate": "2018-03-26T16:59:29.761Z", - "document_id": "81b97ec1-f68c-4d69-be78-50d1aad7bbef" - } - }, - "protocol/e99eed63-5794-4d8d-baf9-9c6888e91e6d": { - "content": { - "protocol_core": { - "protocol_id": "10x_v2_sequencing_protocol_1" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "10x sequencing protocol", - "ontology": "EFO:0008443" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.860Z", - "updateDate": "2018-03-26T16:59:27.537Z", - "document_id": "e99eed63-5794-4d8d-baf9-9c6888e91e6d" - } - } - }, - "links": { - "links": [ - { - "source_id": "642c8a0a-ffa1-4e06-aab6-f777cafda07b", - "source_type": "biomaterial", - "destination_id": "09c4b005-1357-4cca-a21a-2e63a71e00eb", - "destination_type": "dissociation_process" - }, - { - "source_id": "09c4b005-1357-4cca-a21a-2e63a71e00eb", - "source_type": "dissociation_process", - "destination_id": "f2cfbb32-066f-44cb-9f74-a4b4acec7692", - "destination_type": "biomaterial" - }, - { - "source_id": "09c4b005-1357-4cca-a21a-2e63a71e00eb", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "534bf336-7af6-44e5-9f01-11d4ca6d03db", - "source_type": "process", - "destination_id": "642c8a0a-ffa1-4e06-aab6-f777cafda07b", - "destination_type": "biomaterial" - }, - { - "source_id": "769cad8e-8c03-4318-b6e8-4c832365a884", - "source_type": "biomaterial", - "destination_id": "534bf336-7af6-44e5-9f01-11d4ca6d03db", - "destination_type": "process" - }, - { - "source_id": "d890548c-3c98-4e30-8c9c-05d2dc6e28c2", - "source_type": "biomaterial", - "destination_id": "f51f836c-ae21-4576-a107-a42ae6c2bb58", - "destination_type": "dissociation_process" - }, - { - "source_id": "f51f836c-ae21-4576-a107-a42ae6c2bb58", - "source_type": "dissociation_process", - "destination_id": "bcbb8300-0d6f-42c2-b393-4e167a6529d4", - "destination_type": "biomaterial" - }, - { - "source_id": "f51f836c-ae21-4576-a107-a42ae6c2bb58", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "d7800343-3c9e-484a-8abb-9bfcb92d0734", - "source_type": "process", - "destination_id": "d890548c-3c98-4e30-8c9c-05d2dc6e28c2", - "destination_type": "biomaterial" - }, - { - "source_id": "f7e3dec8-e286-4784-a8b0-e5fabc0de841", - "source_type": "biomaterial", - "destination_id": "d7800343-3c9e-484a-8abb-9bfcb92d0734", - "destination_type": "process" - }, - { - "source_id": "1ffa73eb-a01a-45d2-9b99-fd55d76f4f74", - "source_type": "biomaterial", - "destination_id": "25f66e31-2091-426f-957b-e66e888b1f00", - "destination_type": "dissociation_process" - }, - { - "source_id": "25f66e31-2091-426f-957b-e66e888b1f00", - "source_type": "dissociation_process", - "destination_id": "fb51b6f2-5a7b-4a07-97d9-f1833a48d559", - "destination_type": "biomaterial" - }, - { - "source_id": "25f66e31-2091-426f-957b-e66e888b1f00", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "ea7ccba0-8939-4336-8b52-4ffceacb539c", - "source_type": "process", - "destination_id": "1ffa73eb-a01a-45d2-9b99-fd55d76f4f74", - "destination_type": "biomaterial" - }, - { - "source_id": "d4895ad7-10b5-4d70-af74-02a8df78532c", - "source_type": "biomaterial", - "destination_id": "ea7ccba0-8939-4336-8b52-4ffceacb539c", - "destination_type": "process" - }, - { - "source_id": "cf6e873c-48a4-4422-93d6-5403a4f63f72", - "source_type": "biomaterial", - "destination_id": "31dc39b4-3ea3-4731-a558-d5e831ae363a", - "destination_type": "dissociation_process" - }, - { - "source_id": "31dc39b4-3ea3-4731-a558-d5e831ae363a", - "source_type": "dissociation_process", - "destination_id": "6bf48eba-1309-43dc-af97-ea4a37f8d2a8", - "destination_type": "biomaterial" - }, - { - "source_id": "31dc39b4-3ea3-4731-a558-d5e831ae363a", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "11c7adde-505c-4b17-b7fa-f2a333e11400", - "source_type": "process", - "destination_id": "cf6e873c-48a4-4422-93d6-5403a4f63f72", - "destination_type": "biomaterial" - }, - { - "source_id": "f8751c16-3337-4a23-9bf3-243f7c143281", - "source_type": "biomaterial", - "destination_id": "11c7adde-505c-4b17-b7fa-f2a333e11400", - "destination_type": "process" - }, - { - "source_id": "3ed1dc49-5b8f-46e8-b56c-f3488a3c7f4a", - "source_type": "biomaterial", - "destination_id": "dd1d7800-ea74-4c92-987e-ce35069e3913", - "destination_type": "dissociation_process" - }, - { - "source_id": "dd1d7800-ea74-4c92-987e-ce35069e3913", - "source_type": "dissociation_process", - "destination_id": "b64b0def-cef5-41e0-aadd-8150778ae2a2", - "destination_type": "biomaterial" - }, - { - "source_id": "dd1d7800-ea74-4c92-987e-ce35069e3913", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "608baa53-b5f7-45bf-be21-d0488f60a472", - "source_type": "process", - "destination_id": "3ed1dc49-5b8f-46e8-b56c-f3488a3c7f4a", - "destination_type": "biomaterial" - }, - { - "source_id": "f8751c16-3337-4a23-9bf3-243f7c143281", - "source_type": "biomaterial", - "destination_id": "608baa53-b5f7-45bf-be21-d0488f60a472", - "destination_type": "process" - }, - { - "source_id": "63956c8d-de77-4c43-b863-af6d557fcb6f", - "source_type": "biomaterial", - "destination_id": "675dbc6d-51d2-4118-a5a1-2bbfd239c800", - "destination_type": "dissociation_process" - }, - { - "source_id": "675dbc6d-51d2-4118-a5a1-2bbfd239c800", - "source_type": "dissociation_process", - "destination_id": "38326fcd-39b4-43e0-b2d0-19c49e3f85d8", - "destination_type": "biomaterial" - }, - { - "source_id": "675dbc6d-51d2-4118-a5a1-2bbfd239c800", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "a703ec77-e6bc-4bcc-9956-8efa39559e45", - "source_type": "process", - "destination_id": "63956c8d-de77-4c43-b863-af6d557fcb6f", - "destination_type": "biomaterial" - }, - { - "source_id": "d4895ad7-10b5-4d70-af74-02a8df78532c", - "source_type": "biomaterial", - "destination_id": "a703ec77-e6bc-4bcc-9956-8efa39559e45", - "destination_type": "process" - }, - { - "source_id": "f8c07921-e93e-4a27-a74a-a3c56d378c08", - "source_type": "biomaterial", - "destination_id": "41e99038-16ba-4197-8856-eda01461d6be", - "destination_type": "dissociation_process" - }, - { - "source_id": "41e99038-16ba-4197-8856-eda01461d6be", - "source_type": "dissociation_process", - "destination_id": "2d776abb-053c-4395-8791-861014668b1d", - "destination_type": "biomaterial" - }, - { - "source_id": "41e99038-16ba-4197-8856-eda01461d6be", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "e0a98420-60ff-4f9f-9ea9-7ab8179ac0cf", - "source_type": "process", - "destination_id": "f8c07921-e93e-4a27-a74a-a3c56d378c08", - "destination_type": "biomaterial" - }, - { - "source_id": "f8751c16-3337-4a23-9bf3-243f7c143281", - "source_type": "biomaterial", - "destination_id": "e0a98420-60ff-4f9f-9ea9-7ab8179ac0cf", - "destination_type": "process" - }, - { - "source_id": "46749d78-45b0-4101-a40f-51ad81665e5d", - "source_type": "biomaterial", - "destination_id": "83b35a15-863e-40c6-b8d2-855c1fcc6f01", - "destination_type": "dissociation_process" - }, - { - "source_id": "83b35a15-863e-40c6-b8d2-855c1fcc6f01", - "source_type": "dissociation_process", - "destination_id": "bd5cd509-5bd7-4134-abe9-c462279e5e45", - "destination_type": "biomaterial" - }, - { - "source_id": "83b35a15-863e-40c6-b8d2-855c1fcc6f01", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "12866a87-3978-4ec7-b228-55d7d0ac9f4c", - "source_type": "process", - "destination_id": "46749d78-45b0-4101-a40f-51ad81665e5d", - "destination_type": "biomaterial" - }, - { - "source_id": "d4895ad7-10b5-4d70-af74-02a8df78532c", - "source_type": "biomaterial", - "destination_id": "12866a87-3978-4ec7-b228-55d7d0ac9f4c", - "destination_type": "process" - }, - { - "source_id": "233705a7-7cf0-4fe5-9ff9-69af7a0195c1", - "source_type": "biomaterial", - "destination_id": "43b9b356-531b-48e0-a34e-70563ebbc28a", - "destination_type": "dissociation_process" - }, - { - "source_id": "43b9b356-531b-48e0-a34e-70563ebbc28a", - "source_type": "dissociation_process", - "destination_id": "95693ba6-b7fd-479a-b08f-1511da62de45", - "destination_type": "biomaterial" - }, - { - "source_id": "43b9b356-531b-48e0-a34e-70563ebbc28a", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "5b1f70cd-94e9-4446-8668-cf9e4715ad89", - "source_type": "process", - "destination_id": "233705a7-7cf0-4fe5-9ff9-69af7a0195c1", - "destination_type": "biomaterial" - }, - { - "source_id": "d4895ad7-10b5-4d70-af74-02a8df78532c", - "source_type": "biomaterial", - "destination_id": "5b1f70cd-94e9-4446-8668-cf9e4715ad89", - "destination_type": "process" - }, - { - "source_id": "8f6dcf92-dc43-4dae-8ff4-049bacd5d251", - "source_type": "biomaterial", - "destination_id": "488d8bb3-78ad-4360-bfb2-a3d66a883f2c", - "destination_type": "dissociation_process" - }, - { - "source_id": "488d8bb3-78ad-4360-bfb2-a3d66a883f2c", - "source_type": "dissociation_process", - "destination_id": "246b79eb-5961-4c41-9a5f-f4b1a66dfc8d", - "destination_type": "biomaterial" - }, - { - "source_id": "488d8bb3-78ad-4360-bfb2-a3d66a883f2c", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "9fd9ef40-e324-4958-aa87-dabf8ad7c9d2", - "source_type": "process", - "destination_id": "8f6dcf92-dc43-4dae-8ff4-049bacd5d251", - "destination_type": "biomaterial" - }, - { - "source_id": "f7e3dec8-e286-4784-a8b0-e5fabc0de841", - "source_type": "biomaterial", - "destination_id": "9fd9ef40-e324-4958-aa87-dabf8ad7c9d2", - "destination_type": "process" - }, - { - "source_id": "b10d8a7c-813e-4e5c-8be3-dde7de5bc8e5", - "source_type": "biomaterial", - "destination_id": "931f8a89-be45-45ba-b634-9de2594e5903", - "destination_type": "dissociation_process" - }, - { - "source_id": "931f8a89-be45-45ba-b634-9de2594e5903", - "source_type": "dissociation_process", - "destination_id": "373ed223-86be-4eb1-96ea-bb9a136a786d", - "destination_type": "biomaterial" - }, - { - "source_id": "931f8a89-be45-45ba-b634-9de2594e5903", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "6552dc0a-87ed-41a1-8724-ddd97d66b0d3", - "source_type": "process", - "destination_id": "b10d8a7c-813e-4e5c-8be3-dde7de5bc8e5", - "destination_type": "biomaterial" - }, - { - "source_id": "f8751c16-3337-4a23-9bf3-243f7c143281", - "source_type": "biomaterial", - "destination_id": "6552dc0a-87ed-41a1-8724-ddd97d66b0d3", - "destination_type": "process" - }, - { - "source_id": "9f68ab2e-346a-4223-9a33-b4b778824787", - "source_type": "biomaterial", - "destination_id": "1757acc9-2e47-465b-9076-c38795b06f25", - "destination_type": "dissociation_process" - }, - { - "source_id": "1757acc9-2e47-465b-9076-c38795b06f25", - "source_type": "dissociation_process", - "destination_id": "2949d14e-90de-4bf4-bedc-3f18ab5f1372", - "destination_type": "biomaterial" - }, - { - "source_id": "1757acc9-2e47-465b-9076-c38795b06f25", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "22eb3486-1184-4327-a013-686a51d88f23", - "source_type": "process", - "destination_id": "9f68ab2e-346a-4223-9a33-b4b778824787", - "destination_type": "biomaterial" - }, - { - "source_id": "769cad8e-8c03-4318-b6e8-4c832365a884", - "source_type": "biomaterial", - "destination_id": "22eb3486-1184-4327-a013-686a51d88f23", - "destination_type": "process" - }, - { - "source_id": "eee19426-7cf9-4c03-98fe-ca0be0bc14ab", - "source_type": "biomaterial", - "destination_id": "f25e18d5-ddf5-4f74-8027-473a5fb79ed2", - "destination_type": "dissociation_process" - }, - { - "source_id": "f25e18d5-ddf5-4f74-8027-473a5fb79ed2", - "source_type": "dissociation_process", - "destination_id": "c261c6c2-1aa1-42a6-ab8d-7064debb52d3", - "destination_type": "biomaterial" - }, - { - "source_id": "f25e18d5-ddf5-4f74-8027-473a5fb79ed2", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "4160bf3b-54fc-4235-a1f0-1692bfd61a45", - "source_type": "process", - "destination_id": "eee19426-7cf9-4c03-98fe-ca0be0bc14ab", - "destination_type": "biomaterial" - }, - { - "source_id": "f7e3dec8-e286-4784-a8b0-e5fabc0de841", - "source_type": "biomaterial", - "destination_id": "4160bf3b-54fc-4235-a1f0-1692bfd61a45", - "destination_type": "process" - }, - { - "source_id": "e83c4942-afca-4815-999a-d918cd60d8bd", - "source_type": "biomaterial", - "destination_id": "81621c61-0099-4e43-9170-22720f4227d8", - "destination_type": "dissociation_process" - }, - { - "source_id": "81621c61-0099-4e43-9170-22720f4227d8", - "source_type": "dissociation_process", - "destination_id": "417f2833-eb8f-4d24-b515-5e3858453a04", - "destination_type": "biomaterial" - }, - { - "source_id": "81621c61-0099-4e43-9170-22720f4227d8", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "e3238e44-7f4f-4b6e-98c2-d8ab0ac2e81d", - "source_type": "process", - "destination_id": "e83c4942-afca-4815-999a-d918cd60d8bd", - "destination_type": "biomaterial" - }, - { - "source_id": "f8751c16-3337-4a23-9bf3-243f7c143281", - "source_type": "biomaterial", - "destination_id": "e3238e44-7f4f-4b6e-98c2-d8ab0ac2e81d", - "destination_type": "process" - }, - { - "source_id": "018972ab-599d-412e-9e87-934012f7c63a", - "source_type": "biomaterial", - "destination_id": "b9dccdc5-dcfe-4b4e-b74c-df088a929a11", - "destination_type": "dissociation_process" - }, - { - "source_id": "b9dccdc5-dcfe-4b4e-b74c-df088a929a11", - "source_type": "dissociation_process", - "destination_id": "3038877e-49a0-47a0-a9cb-f9a68665d7e2", - "destination_type": "biomaterial" - }, - { - "source_id": "b9dccdc5-dcfe-4b4e-b74c-df088a929a11", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "5b7e0f27-d8ac-4f27-a771-030f3e127646", - "source_type": "process", - "destination_id": "018972ab-599d-412e-9e87-934012f7c63a", - "destination_type": "biomaterial" - }, - { - "source_id": "769cad8e-8c03-4318-b6e8-4c832365a884", - "source_type": "biomaterial", - "destination_id": "5b7e0f27-d8ac-4f27-a771-030f3e127646", - "destination_type": "process" - }, - { - "source_id": "1b1eff7c-667a-4dad-aaf6-8b0a08f40787", - "source_type": "biomaterial", - "destination_id": "0b7abb39-c9ff-4d5a-abec-87f0a228470d", - "destination_type": "dissociation_process" - }, - { - "source_id": "0b7abb39-c9ff-4d5a-abec-87f0a228470d", - "source_type": "dissociation_process", - "destination_id": "83974f7a-d580-477a-af8f-9802e623a576", - "destination_type": "biomaterial" - }, - { - "source_id": "0b7abb39-c9ff-4d5a-abec-87f0a228470d", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "b6a9354e-0792-4c1e-8c9c-ee6602a8abc3", - "source_type": "process", - "destination_id": "1b1eff7c-667a-4dad-aaf6-8b0a08f40787", - "destination_type": "biomaterial" - }, - { - "source_id": "d4895ad7-10b5-4d70-af74-02a8df78532c", - "source_type": "biomaterial", - "destination_id": "b6a9354e-0792-4c1e-8c9c-ee6602a8abc3", - "destination_type": "process" - }, - { - "source_id": "c7643678-0899-4417-bf0c-dd42d52c9ea9", - "source_type": "biomaterial", - "destination_id": "9edaa8fe-4281-452a-85c9-af65eef18052", - "destination_type": "dissociation_process" - }, - { - "source_id": "9edaa8fe-4281-452a-85c9-af65eef18052", - "source_type": "dissociation_process", - "destination_id": "7cb7ead6-2e3a-4e79-bf5c-ff554276d0ac", - "destination_type": "biomaterial" - }, - { - "source_id": "9edaa8fe-4281-452a-85c9-af65eef18052", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "8d39a5e4-4fb2-46fa-8b0d-2a8a736f2b82", - "source_type": "process", - "destination_id": "c7643678-0899-4417-bf0c-dd42d52c9ea9", - "destination_type": "biomaterial" - }, - { - "source_id": "f7e3dec8-e286-4784-a8b0-e5fabc0de841", - "source_type": "biomaterial", - "destination_id": "8d39a5e4-4fb2-46fa-8b0d-2a8a736f2b82", - "destination_type": "process" - }, - { - "source_id": "e8987627-1c0a-4914-b9ee-04b5e76384c5", - "source_type": "biomaterial", - "destination_id": "bd4177e3-362d-4cb2-8414-6e6e0f27ced9", - "destination_type": "dissociation_process" - }, - { - "source_id": "bd4177e3-362d-4cb2-8414-6e6e0f27ced9", - "source_type": "dissociation_process", - "destination_id": "ab67b774-4e1b-4650-8f44-0318369c9999", - "destination_type": "biomaterial" - }, - { - "source_id": "bd4177e3-362d-4cb2-8414-6e6e0f27ced9", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "8a84dece-bf92-44a4-83ab-472cbb27e023", - "source_type": "process", - "destination_id": "e8987627-1c0a-4914-b9ee-04b5e76384c5", - "destination_type": "biomaterial" - }, - { - "source_id": "f8751c16-3337-4a23-9bf3-243f7c143281", - "source_type": "biomaterial", - "destination_id": "8a84dece-bf92-44a4-83ab-472cbb27e023", - "destination_type": "process" - }, - { - "source_id": "60dd2004-0d4a-4141-87a3-3fbd594e0ff0", - "source_type": "biomaterial", - "destination_id": "e4d97934-2df4-4e43-98c9-7ea4d315b892", - "destination_type": "dissociation_process" - }, - { - "source_id": "e4d97934-2df4-4e43-98c9-7ea4d315b892", - "source_type": "dissociation_process", - "destination_id": "87ae843f-af22-4d73-9afc-91624d7af38a", - "destination_type": "biomaterial" - }, - { - "source_id": "e4d97934-2df4-4e43-98c9-7ea4d315b892", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "ac0f6472-208a-4dd4-9a53-f4046586e741", - "source_type": "process", - "destination_id": "60dd2004-0d4a-4141-87a3-3fbd594e0ff0", - "destination_type": "biomaterial" - }, - { - "source_id": "f7e3dec8-e286-4784-a8b0-e5fabc0de841", - "source_type": "biomaterial", - "destination_id": "ac0f6472-208a-4dd4-9a53-f4046586e741", - "destination_type": "process" - }, - { - "source_id": "64fc872d-1b3e-462c-836f-c0cbabaf419e", - "source_type": "biomaterial", - "destination_id": "e51f3a70-2169-478d-9241-12f1900d6696", - "destination_type": "dissociation_process" - }, - { - "source_id": "e51f3a70-2169-478d-9241-12f1900d6696", - "source_type": "dissociation_process", - "destination_id": "b5d7dcb7-0877-401d-8bab-200bb1ec4cc1", - "destination_type": "biomaterial" - }, - { - "source_id": "e51f3a70-2169-478d-9241-12f1900d6696", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "1eafcd8a-cf3c-4c18-85a7-4f8335af24c6", - "source_type": "process", - "destination_id": "64fc872d-1b3e-462c-836f-c0cbabaf419e", - "destination_type": "biomaterial" - }, - { - "source_id": "d4895ad7-10b5-4d70-af74-02a8df78532c", - "source_type": "biomaterial", - "destination_id": "1eafcd8a-cf3c-4c18-85a7-4f8335af24c6", - "destination_type": "process" - }, - { - "source_id": "940c42d6-b243-4f75-ba0d-7b88507d4017", - "source_type": "biomaterial", - "destination_id": "43d27e8c-2154-4340-a794-7c718b4b9d8b", - "destination_type": "dissociation_process" - }, - { - "source_id": "43d27e8c-2154-4340-a794-7c718b4b9d8b", - "source_type": "dissociation_process", - "destination_id": "efcd5856-7134-4048-b9d8-c909ce72f65c", - "destination_type": "biomaterial" - }, - { - "source_id": "43d27e8c-2154-4340-a794-7c718b4b9d8b", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "ff59683a-e31e-48c5-858a-96ecbbe31e6d", - "source_type": "process", - "destination_id": "940c42d6-b243-4f75-ba0d-7b88507d4017", - "destination_type": "biomaterial" - }, - { - "source_id": "f8751c16-3337-4a23-9bf3-243f7c143281", - "source_type": "biomaterial", - "destination_id": "ff59683a-e31e-48c5-858a-96ecbbe31e6d", - "destination_type": "process" - }, - { - "source_id": "51ddd492-619b-4d69-a189-f7b47914675b", - "source_type": "biomaterial", - "destination_id": "8c9ca7df-ed36-4505-aaf9-10de2ff92ed3", - "destination_type": "dissociation_process" - }, - { - "source_id": "8c9ca7df-ed36-4505-aaf9-10de2ff92ed3", - "source_type": "dissociation_process", - "destination_id": "e55a5f1a-a230-4517-aa87-b3afc3b30a5d", - "destination_type": "biomaterial" - }, - { - "source_id": "8c9ca7df-ed36-4505-aaf9-10de2ff92ed3", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "5534794b-4e44-4672-a003-c94a71bbd94c", - "source_type": "process", - "destination_id": "51ddd492-619b-4d69-a189-f7b47914675b", - "destination_type": "biomaterial" - }, - { - "source_id": "f7e3dec8-e286-4784-a8b0-e5fabc0de841", - "source_type": "biomaterial", - "destination_id": "5534794b-4e44-4672-a003-c94a71bbd94c", - "destination_type": "process" - }, - { - "source_id": "76200ba9-fac8-4880-8fd0-50ce00e4783f", - "source_type": "biomaterial", - "destination_id": "1bbe7465-4163-42f2-92a9-545c4dc63ab9", - "destination_type": "dissociation_process" - }, - { - "source_id": "1bbe7465-4163-42f2-92a9-545c4dc63ab9", - "source_type": "dissociation_process", - "destination_id": "72e9781b-3ecc-48c1-8918-3346c7d3da30", - "destination_type": "biomaterial" - }, - { - "source_id": "1bbe7465-4163-42f2-92a9-545c4dc63ab9", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "a421497c-4dc9-4268-b1b8-60322c22f82f", - "source_type": "process", - "destination_id": "76200ba9-fac8-4880-8fd0-50ce00e4783f", - "destination_type": "biomaterial" - }, - { - "source_id": "769cad8e-8c03-4318-b6e8-4c832365a884", - "source_type": "biomaterial", - "destination_id": "a421497c-4dc9-4268-b1b8-60322c22f82f", - "destination_type": "process" - }, - { - "source_id": "c49327da-ab41-4280-ac15-fccd207c800e", - "source_type": "biomaterial", - "destination_id": "076d920c-0d87-4bcc-8b49-dad9ba7bff71", - "destination_type": "dissociation_process" - }, - { - "source_id": "076d920c-0d87-4bcc-8b49-dad9ba7bff71", - "source_type": "dissociation_process", - "destination_id": "28240c74-d2c1-42f2-85e2-70d77d8bb66d", - "destination_type": "biomaterial" - }, - { - "source_id": "076d920c-0d87-4bcc-8b49-dad9ba7bff71", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "c4b7a701-f0ed-4d84-ad1f-0d65095be3f5", - "source_type": "process", - "destination_id": "c49327da-ab41-4280-ac15-fccd207c800e", - "destination_type": "biomaterial" - }, - { - "source_id": "769cad8e-8c03-4318-b6e8-4c832365a884", - "source_type": "biomaterial", - "destination_id": "c4b7a701-f0ed-4d84-ad1f-0d65095be3f5", - "destination_type": "process" - }, - { - "source_id": "5b61815f-8d1a-4ca9-a29d-94e0932b1e45", - "source_type": "biomaterial", - "destination_id": "0c80271a-0984-4cd8-89cb-40faea004d85", - "destination_type": "dissociation_process" - }, - { - "source_id": "0c80271a-0984-4cd8-89cb-40faea004d85", - "source_type": "dissociation_process", - "destination_id": "05cc8105-9909-4cc0-bbb2-ad175213761a", - "destination_type": "biomaterial" - }, - { - "source_id": "0c80271a-0984-4cd8-89cb-40faea004d85", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "7fcbb613-cb71-4606-8b16-efc72716cafa", - "source_type": "process", - "destination_id": "5b61815f-8d1a-4ca9-a29d-94e0932b1e45", - "destination_type": "biomaterial" - }, - { - "source_id": "769cad8e-8c03-4318-b6e8-4c832365a884", - "source_type": "biomaterial", - "destination_id": "7fcbb613-cb71-4606-8b16-efc72716cafa", - "destination_type": "process" - }, - { - "source_id": "b9b154aa-096c-4703-9e7c-daa0fe7abf89", - "source_type": "biomaterial", - "destination_id": "e3b95758-b7a1-47c2-a950-45569d8e3925", - "destination_type": "dissociation_process" - }, - { - "source_id": "e3b95758-b7a1-47c2-a950-45569d8e3925", - "source_type": "dissociation_process", - "destination_id": "ee1eba1b-b1e3-480d-ba7e-74d7abb9cf93", - "destination_type": "biomaterial" - }, - { - "source_id": "e3b95758-b7a1-47c2-a950-45569d8e3925", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "c5a46640-0719-4bf0-acd2-6f0bc7fe7c58", - "source_type": "process", - "destination_id": "b9b154aa-096c-4703-9e7c-daa0fe7abf89", - "destination_type": "biomaterial" - }, - { - "source_id": "f7e3dec8-e286-4784-a8b0-e5fabc0de841", - "source_type": "biomaterial", - "destination_id": "c5a46640-0719-4bf0-acd2-6f0bc7fe7c58", - "destination_type": "process" - }, - { - "source_id": "301d5d6c-eee5-49ca-b71e-f6d53cba4595", - "source_type": "biomaterial", - "destination_id": "46975356-173c-43bd-9027-0254254f4bb7", - "destination_type": "dissociation_process" - }, - { - "source_id": "46975356-173c-43bd-9027-0254254f4bb7", - "source_type": "dissociation_process", - "destination_id": "c9ffd86b-d118-4561-8b67-8cab49b0cb60", - "destination_type": "biomaterial" - }, - { - "source_id": "46975356-173c-43bd-9027-0254254f4bb7", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "e5d701d8-3e74-4102-a7c8-f931d8040562", - "source_type": "process", - "destination_id": "301d5d6c-eee5-49ca-b71e-f6d53cba4595", - "destination_type": "biomaterial" - }, - { - "source_id": "d4895ad7-10b5-4d70-af74-02a8df78532c", - "source_type": "biomaterial", - "destination_id": "e5d701d8-3e74-4102-a7c8-f931d8040562", - "destination_type": "process" - }, - { - "source_id": "26535b23-cb10-4093-a794-23def68c7d0c", - "source_type": "biomaterial", - "destination_id": "e9e97319-a21f-4451-8023-a5e672ac7b34", - "destination_type": "dissociation_process" - }, - { - "source_id": "e9e97319-a21f-4451-8023-a5e672ac7b34", - "source_type": "dissociation_process", - "destination_id": "9edb7ce6-9c5e-491a-b010-b2b8ac73ef2f", - "destination_type": "biomaterial" - }, - { - "source_id": "e9e97319-a21f-4451-8023-a5e672ac7b34", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "b766ca95-9b6c-42b9-9e47-8a8d6482d2ca", - "source_type": "process", - "destination_id": "26535b23-cb10-4093-a794-23def68c7d0c", - "destination_type": "biomaterial" - }, - { - "source_id": "f7e3dec8-e286-4784-a8b0-e5fabc0de841", - "source_type": "biomaterial", - "destination_id": "b766ca95-9b6c-42b9-9e47-8a8d6482d2ca", - "destination_type": "process" - }, - { - "source_id": "3687d559-3378-482c-a78f-dac301315580", - "source_type": "biomaterial", - "destination_id": "23dcb0fd-5ce4-4e20-b94e-1475f7338db6", - "destination_type": "dissociation_process" - }, - { - "source_id": "23dcb0fd-5ce4-4e20-b94e-1475f7338db6", - "source_type": "dissociation_process", - "destination_id": "c41a4144-53bd-4aef-9834-b10d03d9ee7e", - "destination_type": "biomaterial" - }, - { - "source_id": "23dcb0fd-5ce4-4e20-b94e-1475f7338db6", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "4ee1282e-889f-449c-bb2a-4728a4d26b0c", - "source_type": "process", - "destination_id": "3687d559-3378-482c-a78f-dac301315580", - "destination_type": "biomaterial" - }, - { - "source_id": "d4895ad7-10b5-4d70-af74-02a8df78532c", - "source_type": "biomaterial", - "destination_id": "4ee1282e-889f-449c-bb2a-4728a4d26b0c", - "destination_type": "process" - }, - { - "source_id": "77b71f13-95b7-465a-b662-35e2e0585273", - "source_type": "biomaterial", - "destination_id": "a63244f2-63f8-4ba8-9322-5925506ce933", - "destination_type": "dissociation_process" - }, - { - "source_id": "a63244f2-63f8-4ba8-9322-5925506ce933", - "source_type": "dissociation_process", - "destination_id": "b53b725d-5ee0-4870-bbba-fc0ab014f9f1", - "destination_type": "biomaterial" - }, - { - "source_id": "a63244f2-63f8-4ba8-9322-5925506ce933", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "c3fdc9bc-d227-4428-94d6-3e7afb8ab2d8", - "source_type": "process", - "destination_id": "77b71f13-95b7-465a-b662-35e2e0585273", - "destination_type": "biomaterial" - }, - { - "source_id": "f8751c16-3337-4a23-9bf3-243f7c143281", - "source_type": "biomaterial", - "destination_id": "c3fdc9bc-d227-4428-94d6-3e7afb8ab2d8", - "destination_type": "process" - }, - { - "source_id": "ce8e1a87-7041-4888-9735-854660215cfc", - "source_type": "biomaterial", - "destination_id": "f6432490-72e8-4e00-a6d8-26af81dc5456", - "destination_type": "dissociation_process" - }, - { - "source_id": "f6432490-72e8-4e00-a6d8-26af81dc5456", - "source_type": "dissociation_process", - "destination_id": "32eae07d-b9c1-4aaf-b18d-cc334b8ffc72", - "destination_type": "biomaterial" - }, - { - "source_id": "f6432490-72e8-4e00-a6d8-26af81dc5456", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "30890f02-510a-4141-a0b6-de269e3a5192", - "source_type": "process", - "destination_id": "ce8e1a87-7041-4888-9735-854660215cfc", - "destination_type": "biomaterial" - }, - { - "source_id": "769cad8e-8c03-4318-b6e8-4c832365a884", - "source_type": "biomaterial", - "destination_id": "30890f02-510a-4141-a0b6-de269e3a5192", - "destination_type": "process" - }, - { - "source_id": "89f83d7f-eb14-4c3e-84d3-ceede50d8f8d", - "source_type": "biomaterial", - "destination_id": "b03843c3-168c-4460-9662-8cfdefdb6ac9", - "destination_type": "dissociation_process" - }, - { - "source_id": "b03843c3-168c-4460-9662-8cfdefdb6ac9", - "source_type": "dissociation_process", - "destination_id": "46c29e1d-9e97-4705-ac88-d145f6c9f773", - "destination_type": "biomaterial" - }, - { - "source_id": "b03843c3-168c-4460-9662-8cfdefdb6ac9", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "f963aea9-4016-4570-88f3-66f2046be874", - "source_type": "process", - "destination_id": "89f83d7f-eb14-4c3e-84d3-ceede50d8f8d", - "destination_type": "biomaterial" - }, - { - "source_id": "769cad8e-8c03-4318-b6e8-4c832365a884", - "source_type": "biomaterial", - "destination_id": "f963aea9-4016-4570-88f3-66f2046be874", - "destination_type": "process" - }, - { - "source_id": "f2cfbb32-066f-44cb-9f74-a4b4acec7692", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "bcbb8300-0d6f-42c2-b393-4e167a6529d4", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "fb51b6f2-5a7b-4a07-97d9-f1833a48d559", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "6bf48eba-1309-43dc-af97-ea4a37f8d2a8", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "b64b0def-cef5-41e0-aadd-8150778ae2a2", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "38326fcd-39b4-43e0-b2d0-19c49e3f85d8", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "2d776abb-053c-4395-8791-861014668b1d", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "bd5cd509-5bd7-4134-abe9-c462279e5e45", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "95693ba6-b7fd-479a-b08f-1511da62de45", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "246b79eb-5961-4c41-9a5f-f4b1a66dfc8d", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "373ed223-86be-4eb1-96ea-bb9a136a786d", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "2949d14e-90de-4bf4-bedc-3f18ab5f1372", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "c261c6c2-1aa1-42a6-ab8d-7064debb52d3", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "417f2833-eb8f-4d24-b515-5e3858453a04", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "3038877e-49a0-47a0-a9cb-f9a68665d7e2", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "83974f7a-d580-477a-af8f-9802e623a576", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "7cb7ead6-2e3a-4e79-bf5c-ff554276d0ac", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "ab67b774-4e1b-4650-8f44-0318369c9999", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "87ae843f-af22-4d73-9afc-91624d7af38a", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "b5d7dcb7-0877-401d-8bab-200bb1ec4cc1", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "efcd5856-7134-4048-b9d8-c909ce72f65c", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "e55a5f1a-a230-4517-aa87-b3afc3b30a5d", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "72e9781b-3ecc-48c1-8918-3346c7d3da30", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "28240c74-d2c1-42f2-85e2-70d77d8bb66d", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "05cc8105-9909-4cc0-bbb2-ad175213761a", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "ee1eba1b-b1e3-480d-ba7e-74d7abb9cf93", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "c9ffd86b-d118-4561-8b67-8cab49b0cb60", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "9edb7ce6-9c5e-491a-b010-b2b8ac73ef2f", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "c41a4144-53bd-4aef-9834-b10d03d9ee7e", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "b53b725d-5ee0-4870-bbba-fc0ab014f9f1", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "32eae07d-b9c1-4aaf-b18d-cc334b8ffc72", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "46c29e1d-9e97-4705-ac88-d145f6c9f773", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e8a1e8cd-9941-4a59-aceb-a17649543bbb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "824f5af4-545d-4061-8cfa-116b8d1d8c0c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "033c2369-fa63-49d1-80e6-19b06ebafa93", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "29a04cd5-2f40-4030-8721-e936de10431a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "369bf08e-a90f-4c3e-9f24-d7b6026bbd5c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "84ed2e73-801c-4517-97a8-3c2b37b2ccca", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ab650f1f-003d-424a-9455-f28c8dad28a1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c84889d4-5444-4bfb-a482-6f1bc7a2ad95", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2187a383-7663-49d1-9383-26107fa4e1e3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "dc52aeff-81c5-4c0e-9007-3f3d0d5322a6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0c06ee73-f507-4427-aeb0-e7359620f2a4", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e0920342-d954-46e6-99f6-d1d7f2cfa56c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "10d3fd29-2c93-47ae-86ad-5bede5e97aba", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f724ace3-3cff-45eb-bee5-7fea53da64da", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9bf891a4-a1b9-4ff0-b282-65cd2befc15c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0c364954-e51a-4b4a-99cf-9aee7cedd5f8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "762a5985-3cdc-4406-8d88-c1b6d8579ceb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b19e2b64-5352-49d4-ace9-5563abf4d9fd", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "35770609-6db4-415e-ae1d-dc590338bdce", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7c102baf-2faa-44f9-bd03-2db1763fab2b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e3d601e3-4bbe-4f24-8ee3-03ac35589548", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3e9d8ded-1819-4905-a855-2b9a7a675558", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "538f5f66-76f7-40e3-9130-e4e3633b0bb6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7da336e9-59c3-4e13-8890-a728c9d46aad", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c122cf51-5d3a-428c-bfa3-d6c09d80f138", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "24be633e-1b05-405d-839a-f25a419fac8e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "55e172fd-740b-415f-9fcd-f9f245264a0c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a79ecf3e-92ba-4724-a701-2e9c3c09ab80", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f5d9fcc4-5fe7-4f2a-88ef-5f7c3602062c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "948e17b8-aa39-4a79-b5df-6abf0007ca12", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3c92b73c-13c8-472e-8728-c48120abac15", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2c9190f9-98be-4314-8a02-97519229d975", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e8290f80-02d6-424d-a11b-a6989a14e3d4", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "25879d3f-6595-43d3-a5ca-5cdecea9eb51", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6492a26d-5c16-4e75-a9c5-a9b8f8e28eff", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "97cbb401-3dcd-40fa-8a3e-b4387b8f2913", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "732ffe61-8834-459c-97eb-62c1e11b0288", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "40a060fa-b85d-4912-a2e8-8aa4a4f889f8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "92d4ccbe-1689-4e12-932a-40d5a75e9da5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9e4f5829-4d55-4106-8278-53ae1b9187ec", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "086bbd3d-950f-4d3e-bcdc-bdd7f265b176", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "07e38704-5f81-4c54-93ad-319de7dd684b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4371755a-4549-4124-bdf4-ea2a768bd5c9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b0c8dcf8-0853-4006-938b-101a1f0d0e3a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d03d5e6f-fb5e-499b-bb77-269fb51689cc", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "868712b5-40fb-4c18-83bb-3dcbcce32032", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "660ce604-15e0-404a-b061-0b9f533363bb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1ab32587-0198-461d-97f1-34926b5de5bf", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ed3cbb48-adf8-4531-919a-a467fd838940", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4e0e994c-2dc2-4347-b436-bf4ad68d410e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "66b65537-4bad-44e5-ba65-3153181f3e2f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ab363ff2-fa4f-4c6e-a817-8255b28f0171", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "05b4fee4-8499-4c53-a11b-bf9f46f20092", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c8ae16b5-478d-484e-a691-8d0685e35011", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "05e39baf-e0a5-4c1f-8e1f-811378db1cf8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "fb37e886-5520-448a-9904-40df6f9a9d55", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2a694912-a7f2-4055-a854-aea8830e8a42", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "acd91be0-cdcb-4a3c-b7ae-0e969f538942", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ea5f0052-93a9-40ab-8452-8bee7489612b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "95eb362b-cbc9-49c8-8ba1-a6958e280416", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "73f7b90b-2823-4714-a145-678f83f54b56", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "97577c70-547f-417e-827f-ac2832f1ec05", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7953d974-4812-4b77-b5c2-ea8c3f5cc864", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "113ee1ff-d5f4-46d9-80eb-d5abf8cacd43", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8e8d4873-328b-4c1c-b51c-be6b248e9c77", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b2c4ce8e-8318-48f0-a36c-b0f56568a93b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "71715dea-99cd-4756-aa9c-debfd4927b89", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cdac53a4-9c25-4add-a5fb-0c3566d34bac", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "04fe0366-0173-4d9a-b3b5-e662ffb18d97", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "450fde91-2153-42ee-ba7a-5cf4b59eb587", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b80d05bc-c256-4689-a7a8-2e4d63e8ecb3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9789d08f-9a13-4d12-b7e4-1a399cc3497f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "12818748-5843-47a5-82d7-e68c618a9ec7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "422855a5-5bad-4b93-93b3-51900ba36c43", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5f43bb85-cfa6-4131-84fa-7c80c58dd024", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d5926d97-2a6e-4ad9-8e32-9653e05c894a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "850e0456-c706-4d74-910e-76b3284641fb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b07b0491-63da-4e80-9d1d-1c3bf4a0f8e4", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c7ec9c55-9f6a-49be-8f30-aac0d4c05bf9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c0d6864e-0812-47b5-83a5-d48150334134", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "386d5eaf-ef6c-40d1-afd5-5f2813bc1272", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f68eed9d-716c-48e5-9766-54521113b843", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7ddf5ede-274c-4252-b9bd-8344ab01e47f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a8b86342-3b98-4030-bdfa-a7cc45e3d256", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d566502b-0ea1-4060-8f62-98dbabc3ee34", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ad0ec998-0cc3-4f43-8104-3f14cb86cac5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "196fa68d-aede-4682-9600-e969ab755c84", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "619b0c8e-70ee-4db3-9c0a-da28aba18bb8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1955e248-81dc-464a-a578-28a13c858dda", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "fb00fff4-40d7-402d-8df3-0df52c623d91", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "25df2567-741c-4448-ae4f-4ae1eaba0fa7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "707251d4-b780-4472-aa0f-79c5db9eaddf", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "71080f34-4468-4ca5-8a6c-bf688ab31462", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7af19dcd-60e7-45ed-8bd2-53c1d91573b7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ae780044-5103-4c32-892b-98ba6ceea2d9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "774ac2a7-2a37-42e8-b7ec-e5adc19af937", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bfb8a6f0-5225-425a-a8e0-140271c8c5b1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f33d18e0-844d-48a2-9e14-bb04ae52a362", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bafde3e9-8d7c-4891-809e-5398037a81e2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cbc254bc-0116-43e6-b6d6-f8866a5abe49", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "acf12743-50d3-4e85-9170-dafa18d3a3bf", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5a38dd8f-47de-44f6-a2ae-b7f93482c980", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "84b8fd91-a9e9-4874-b6bb-77d559fd5b25", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2f3f5e1c-e4a6-4450-8865-e4a9c5e8d603", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "56b61187-cf52-4141-97aa-ec67be551c63", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "25c6df56-b689-4785-a573-9ec4a0dad917", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "fb3db3b3-4d84-4016-826d-65cee4cb330b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4baea468-bdb2-40fb-85fc-ede385f3a961", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b1504d1c-6013-4ea0-81aa-7c772266496c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1ade713c-9338-490f-9d98-0376f3be7015", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "472a64ca-0e9a-4a77-b4e3-dbd73a9d0c4b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2fc5f77e-eb3f-4239-9491-54c884d9bd14", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6f0e108d-30da-4242-b489-5eb638e2db96", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a9e3f239-2876-4e6b-9893-5dabb22fd15d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d16086a1-876b-4a27-912c-95aa48d76f0b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b7a24845-305e-4b46-9803-37b851ec0d05", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d6b9629f-9b7d-426d-b6c1-1dbf1ebf39a1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f6bdc59e-9011-4905-adb8-2d21f311fd42", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "fd194d02-d6c0-4933-a54b-805e7b3a9bab", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "18b056bb-9ec0-4d6c-9e5f-bdbee3825d69", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "91173351-3ea1-4465-88dc-fc084fb67aec", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bdea3da9-33ff-4702-81b1-a4dd99fb5a84", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "657baf8a-add9-4959-bb6f-774cd8127d55", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "53bc1c9f-4e87-45c1-b6bf-452d706bbf36", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "465fde8c-1bfc-4f16-9244-9bc2ebf64827", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4515315a-d693-4a22-bf34-b58c981f28c7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1e9e7a37-e3a8-45c3-bab5-ac601123c1d2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9853a614-30c3-40bb-b356-4e59966abc20", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e62f6842-6b8b-474b-ab43-55cae82c8d25", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3da817b1-75a2-4477-94dc-870521be252f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ebf50b94-7550-4937-8191-7bc8d0497935", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d5092fdb-3b57-4b29-9a40-bc296f490d69", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "fb621e0e-5736-4b1f-b559-e2b6d43f8a7a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "404ac51a-e122-47a4-a556-bab218007d52", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5731f7bf-f096-4ee7-afdc-94b6a1574fcb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "82d29d79-1b18-41b4-83b3-603a9234e64a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "83a0cfb1-bc65-4603-89d5-7d7f0a4ec182", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "53ca1f09-4985-4827-a3cb-5f53d2cc543e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "61b83558-f8ae-4cfa-91cd-6eaedf60347a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a75378cf-c7fc-4d86-806d-377bbe925e36", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3a8260d6-5206-4cbe-a672-782be9e061f5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1c04418c-3550-40a7-9858-68b326605579", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1e109600-e523-46b9-9f8a-5b7969dd3c4e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e999790e-b051-4b79-aeff-170b7821861f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "be6b7802-5f10-4435-a22e-00b62bdcd324", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "102e7a1f-0521-4e05-92ce-03555b48af78", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "24b449a3-8d67-4b0c-9f00-9ba3cacfcbff", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b1b19afe-cb06-442f-a463-3ae62b94e500", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "75c9928e-4fc9-4095-9426-c121ef4dc682", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "35de5022-c743-416e-892f-268a44d3c8f1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "314b4b3c-1fdb-4061-8bc2-e2f2a7737d0d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "582bb010-a460-4e23-b33c-1b349f3cf084", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f2bd46e6-1077-482f-852d-069d2b17c2cd", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "04489995-747c-4899-a043-ef7aba9a29f1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "612ece49-f034-4d09-8958-933cfe834c63", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bc0183b1-5f5b-46c2-8543-6efc4350f9f8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c6ca4bda-2c44-4092-a943-b401e6d79b6d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "00f2c451-419c-4cdf-9266-347245761bb0", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "50bcbb34-3e7d-4c03-b3c7-16b3c662bf07", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "70b58641-42b4-42e4-b546-e44f5c16aba4", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4f9182a0-1e1e-48c3-a4aa-010a5df37deb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1110dffb-c4b1-4eb2-9319-6fdbc7fdcb8e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "52dcc9fb-c900-4835-9871-53f5c8799160", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e35cd0e8-786b-4fd8-a461-6500d52cc24a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3d93b4bd-5580-4afa-9268-eb3e27658dca", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "79fbd727-4897-48cd-bd48-5d5680b2f9ed", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "dde7422f-1671-47f6-9c28-f447f780dc62", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c5117298-7d44-42e2-a24d-a07b578ebea8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e5dffb26-e7c6-4188-b99e-73e5033e1617", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e64cbb06-6329-4132-b8c2-b9a5a6774696", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "72dcca44-72b1-41bb-a04e-7a90a535eb5c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f72531f8-851a-4f23-8bcd-b2b47bad0f84", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3262b323-8545-4c41-ab65-432b635781a7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b929e871-594e-4f98-9cf9-5889af26b3c3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0aaf5b5c-4da5-461f-a60d-2f64cf6aa0b1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "11726713-72bb-43d6-9fd0-e09d4940f7fd", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f256f4d1-bb92-4b1e-a320-0a8c65b02f47", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b47fd4ca-a7d2-484b-8834-378bf9077336", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "74409b42-8580-4e4d-8c08-1e70d9c693ea", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0671d6de-6840-4fc8-b67d-f7d662beea88", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "43a5906d-d880-49ef-b743-261a69c7024f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f087e6a6-b9cd-4f26-8932-167d246a6e02", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2198238f-d7a8-4e94-9e03-b63f8a7e6bd3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "edff548f-d6ac-469e-a136-d59a501e3f90", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8ba887c3-e44d-4644-8cd6-a58b7cfcf2c0", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ddd7bb64-91d4-4114-b2cc-a93d86aa98e1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e823513d-c147-4219-b1c3-33e1cd7b0862", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d4f454d6-3ffc-4b0c-9449-212ecdbd9d25", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e918cb31-af72-4d87-a414-4c499305bdd5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6b6c9e11-8918-45c7-b80a-cecb591a79cb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "72cfdf1c-8509-4d36-9751-35537c2a7a9d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "946889b2-c18d-45ff-b5dc-df818f2c98b7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "81b97ec1-f68c-4d69-be78-50d1aad7bbef", - "destination_type": "protocol" - }, - { - "source_id": "f2cfbb32-066f-44cb-9f74-a4b4acec7692", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "bcbb8300-0d6f-42c2-b393-4e167a6529d4", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "fb51b6f2-5a7b-4a07-97d9-f1833a48d559", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "6bf48eba-1309-43dc-af97-ea4a37f8d2a8", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "b64b0def-cef5-41e0-aadd-8150778ae2a2", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "38326fcd-39b4-43e0-b2d0-19c49e3f85d8", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "2d776abb-053c-4395-8791-861014668b1d", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "bd5cd509-5bd7-4134-abe9-c462279e5e45", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "95693ba6-b7fd-479a-b08f-1511da62de45", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "246b79eb-5961-4c41-9a5f-f4b1a66dfc8d", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "373ed223-86be-4eb1-96ea-bb9a136a786d", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "2949d14e-90de-4bf4-bedc-3f18ab5f1372", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "c261c6c2-1aa1-42a6-ab8d-7064debb52d3", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "417f2833-eb8f-4d24-b515-5e3858453a04", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "3038877e-49a0-47a0-a9cb-f9a68665d7e2", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "83974f7a-d580-477a-af8f-9802e623a576", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "7cb7ead6-2e3a-4e79-bf5c-ff554276d0ac", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "ab67b774-4e1b-4650-8f44-0318369c9999", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "87ae843f-af22-4d73-9afc-91624d7af38a", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "b5d7dcb7-0877-401d-8bab-200bb1ec4cc1", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "efcd5856-7134-4048-b9d8-c909ce72f65c", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "e55a5f1a-a230-4517-aa87-b3afc3b30a5d", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "72e9781b-3ecc-48c1-8918-3346c7d3da30", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "28240c74-d2c1-42f2-85e2-70d77d8bb66d", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "05cc8105-9909-4cc0-bbb2-ad175213761a", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "ee1eba1b-b1e3-480d-ba7e-74d7abb9cf93", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "c9ffd86b-d118-4561-8b67-8cab49b0cb60", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "9edb7ce6-9c5e-491a-b010-b2b8ac73ef2f", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "c41a4144-53bd-4aef-9834-b10d03d9ee7e", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "b53b725d-5ee0-4870-bbba-fc0ab014f9f1", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "32eae07d-b9c1-4aaf-b18d-cc334b8ffc72", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "46c29e1d-9e97-4705-ac88-d145f6c9f773", - "source_type": "biomaterial", - "destination_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "destination_type": "sequencing_process" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "e8a1e8cd-9941-4a59-aceb-a17649543bbb", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "824f5af4-545d-4061-8cfa-116b8d1d8c0c", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "033c2369-fa63-49d1-80e6-19b06ebafa93", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "29a04cd5-2f40-4030-8721-e936de10431a", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "369bf08e-a90f-4c3e-9f24-d7b6026bbd5c", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "84ed2e73-801c-4517-97a8-3c2b37b2ccca", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "ab650f1f-003d-424a-9455-f28c8dad28a1", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "c84889d4-5444-4bfb-a482-6f1bc7a2ad95", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "2187a383-7663-49d1-9383-26107fa4e1e3", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "dc52aeff-81c5-4c0e-9007-3f3d0d5322a6", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "0c06ee73-f507-4427-aeb0-e7359620f2a4", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "e0920342-d954-46e6-99f6-d1d7f2cfa56c", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "10d3fd29-2c93-47ae-86ad-5bede5e97aba", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "f724ace3-3cff-45eb-bee5-7fea53da64da", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "9bf891a4-a1b9-4ff0-b282-65cd2befc15c", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "0c364954-e51a-4b4a-99cf-9aee7cedd5f8", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "762a5985-3cdc-4406-8d88-c1b6d8579ceb", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "b19e2b64-5352-49d4-ace9-5563abf4d9fd", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "35770609-6db4-415e-ae1d-dc590338bdce", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "7c102baf-2faa-44f9-bd03-2db1763fab2b", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "e3d601e3-4bbe-4f24-8ee3-03ac35589548", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "3e9d8ded-1819-4905-a855-2b9a7a675558", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "538f5f66-76f7-40e3-9130-e4e3633b0bb6", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "7da336e9-59c3-4e13-8890-a728c9d46aad", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "c122cf51-5d3a-428c-bfa3-d6c09d80f138", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "24be633e-1b05-405d-839a-f25a419fac8e", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "55e172fd-740b-415f-9fcd-f9f245264a0c", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "a79ecf3e-92ba-4724-a701-2e9c3c09ab80", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "f5d9fcc4-5fe7-4f2a-88ef-5f7c3602062c", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "948e17b8-aa39-4a79-b5df-6abf0007ca12", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "3c92b73c-13c8-472e-8728-c48120abac15", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "2c9190f9-98be-4314-8a02-97519229d975", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "e8290f80-02d6-424d-a11b-a6989a14e3d4", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "25879d3f-6595-43d3-a5ca-5cdecea9eb51", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "6492a26d-5c16-4e75-a9c5-a9b8f8e28eff", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "97cbb401-3dcd-40fa-8a3e-b4387b8f2913", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "732ffe61-8834-459c-97eb-62c1e11b0288", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "40a060fa-b85d-4912-a2e8-8aa4a4f889f8", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "92d4ccbe-1689-4e12-932a-40d5a75e9da5", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "9e4f5829-4d55-4106-8278-53ae1b9187ec", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "086bbd3d-950f-4d3e-bcdc-bdd7f265b176", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "07e38704-5f81-4c54-93ad-319de7dd684b", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "4371755a-4549-4124-bdf4-ea2a768bd5c9", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "b0c8dcf8-0853-4006-938b-101a1f0d0e3a", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "d03d5e6f-fb5e-499b-bb77-269fb51689cc", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "868712b5-40fb-4c18-83bb-3dcbcce32032", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "660ce604-15e0-404a-b061-0b9f533363bb", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "1ab32587-0198-461d-97f1-34926b5de5bf", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "ed3cbb48-adf8-4531-919a-a467fd838940", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "4e0e994c-2dc2-4347-b436-bf4ad68d410e", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "66b65537-4bad-44e5-ba65-3153181f3e2f", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "ab363ff2-fa4f-4c6e-a817-8255b28f0171", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "05b4fee4-8499-4c53-a11b-bf9f46f20092", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "c8ae16b5-478d-484e-a691-8d0685e35011", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "05e39baf-e0a5-4c1f-8e1f-811378db1cf8", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "fb37e886-5520-448a-9904-40df6f9a9d55", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "2a694912-a7f2-4055-a854-aea8830e8a42", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "acd91be0-cdcb-4a3c-b7ae-0e969f538942", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "ea5f0052-93a9-40ab-8452-8bee7489612b", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "95eb362b-cbc9-49c8-8ba1-a6958e280416", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "73f7b90b-2823-4714-a145-678f83f54b56", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "97577c70-547f-417e-827f-ac2832f1ec05", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "7953d974-4812-4b77-b5c2-ea8c3f5cc864", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "113ee1ff-d5f4-46d9-80eb-d5abf8cacd43", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "8e8d4873-328b-4c1c-b51c-be6b248e9c77", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "b2c4ce8e-8318-48f0-a36c-b0f56568a93b", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "71715dea-99cd-4756-aa9c-debfd4927b89", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "cdac53a4-9c25-4add-a5fb-0c3566d34bac", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "04fe0366-0173-4d9a-b3b5-e662ffb18d97", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "450fde91-2153-42ee-ba7a-5cf4b59eb587", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "b80d05bc-c256-4689-a7a8-2e4d63e8ecb3", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "9789d08f-9a13-4d12-b7e4-1a399cc3497f", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "12818748-5843-47a5-82d7-e68c618a9ec7", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "422855a5-5bad-4b93-93b3-51900ba36c43", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "5f43bb85-cfa6-4131-84fa-7c80c58dd024", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "d5926d97-2a6e-4ad9-8e32-9653e05c894a", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "850e0456-c706-4d74-910e-76b3284641fb", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "b07b0491-63da-4e80-9d1d-1c3bf4a0f8e4", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "c7ec9c55-9f6a-49be-8f30-aac0d4c05bf9", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "c0d6864e-0812-47b5-83a5-d48150334134", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "386d5eaf-ef6c-40d1-afd5-5f2813bc1272", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "f68eed9d-716c-48e5-9766-54521113b843", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "7ddf5ede-274c-4252-b9bd-8344ab01e47f", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "a8b86342-3b98-4030-bdfa-a7cc45e3d256", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "d566502b-0ea1-4060-8f62-98dbabc3ee34", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "ad0ec998-0cc3-4f43-8104-3f14cb86cac5", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "196fa68d-aede-4682-9600-e969ab755c84", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "619b0c8e-70ee-4db3-9c0a-da28aba18bb8", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "1955e248-81dc-464a-a578-28a13c858dda", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "fb00fff4-40d7-402d-8df3-0df52c623d91", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "25df2567-741c-4448-ae4f-4ae1eaba0fa7", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "707251d4-b780-4472-aa0f-79c5db9eaddf", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "71080f34-4468-4ca5-8a6c-bf688ab31462", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "7af19dcd-60e7-45ed-8bd2-53c1d91573b7", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "ae780044-5103-4c32-892b-98ba6ceea2d9", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "774ac2a7-2a37-42e8-b7ec-e5adc19af937", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "bfb8a6f0-5225-425a-a8e0-140271c8c5b1", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "f33d18e0-844d-48a2-9e14-bb04ae52a362", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "bafde3e9-8d7c-4891-809e-5398037a81e2", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "cbc254bc-0116-43e6-b6d6-f8866a5abe49", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "acf12743-50d3-4e85-9170-dafa18d3a3bf", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "5a38dd8f-47de-44f6-a2ae-b7f93482c980", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "84b8fd91-a9e9-4874-b6bb-77d559fd5b25", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "2f3f5e1c-e4a6-4450-8865-e4a9c5e8d603", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "56b61187-cf52-4141-97aa-ec67be551c63", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "25c6df56-b689-4785-a573-9ec4a0dad917", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "fb3db3b3-4d84-4016-826d-65cee4cb330b", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "4baea468-bdb2-40fb-85fc-ede385f3a961", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "b1504d1c-6013-4ea0-81aa-7c772266496c", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "1ade713c-9338-490f-9d98-0376f3be7015", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "472a64ca-0e9a-4a77-b4e3-dbd73a9d0c4b", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "2fc5f77e-eb3f-4239-9491-54c884d9bd14", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "6f0e108d-30da-4242-b489-5eb638e2db96", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "a9e3f239-2876-4e6b-9893-5dabb22fd15d", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "d16086a1-876b-4a27-912c-95aa48d76f0b", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "b7a24845-305e-4b46-9803-37b851ec0d05", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "d6b9629f-9b7d-426d-b6c1-1dbf1ebf39a1", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "f6bdc59e-9011-4905-adb8-2d21f311fd42", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "fd194d02-d6c0-4933-a54b-805e7b3a9bab", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "18b056bb-9ec0-4d6c-9e5f-bdbee3825d69", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "91173351-3ea1-4465-88dc-fc084fb67aec", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "bdea3da9-33ff-4702-81b1-a4dd99fb5a84", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "657baf8a-add9-4959-bb6f-774cd8127d55", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "53bc1c9f-4e87-45c1-b6bf-452d706bbf36", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "465fde8c-1bfc-4f16-9244-9bc2ebf64827", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "4515315a-d693-4a22-bf34-b58c981f28c7", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "1e9e7a37-e3a8-45c3-bab5-ac601123c1d2", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "9853a614-30c3-40bb-b356-4e59966abc20", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "e62f6842-6b8b-474b-ab43-55cae82c8d25", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "3da817b1-75a2-4477-94dc-870521be252f", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "ebf50b94-7550-4937-8191-7bc8d0497935", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "d5092fdb-3b57-4b29-9a40-bc296f490d69", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "fb621e0e-5736-4b1f-b559-e2b6d43f8a7a", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "404ac51a-e122-47a4-a556-bab218007d52", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "5731f7bf-f096-4ee7-afdc-94b6a1574fcb", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "82d29d79-1b18-41b4-83b3-603a9234e64a", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "83a0cfb1-bc65-4603-89d5-7d7f0a4ec182", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "53ca1f09-4985-4827-a3cb-5f53d2cc543e", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "61b83558-f8ae-4cfa-91cd-6eaedf60347a", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "a75378cf-c7fc-4d86-806d-377bbe925e36", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "3a8260d6-5206-4cbe-a672-782be9e061f5", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "1c04418c-3550-40a7-9858-68b326605579", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "1e109600-e523-46b9-9f8a-5b7969dd3c4e", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "e999790e-b051-4b79-aeff-170b7821861f", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "be6b7802-5f10-4435-a22e-00b62bdcd324", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "102e7a1f-0521-4e05-92ce-03555b48af78", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "24b449a3-8d67-4b0c-9f00-9ba3cacfcbff", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "b1b19afe-cb06-442f-a463-3ae62b94e500", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "75c9928e-4fc9-4095-9426-c121ef4dc682", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "35de5022-c743-416e-892f-268a44d3c8f1", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "314b4b3c-1fdb-4061-8bc2-e2f2a7737d0d", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "582bb010-a460-4e23-b33c-1b349f3cf084", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "f2bd46e6-1077-482f-852d-069d2b17c2cd", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "04489995-747c-4899-a043-ef7aba9a29f1", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "612ece49-f034-4d09-8958-933cfe834c63", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "bc0183b1-5f5b-46c2-8543-6efc4350f9f8", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "c6ca4bda-2c44-4092-a943-b401e6d79b6d", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "00f2c451-419c-4cdf-9266-347245761bb0", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "50bcbb34-3e7d-4c03-b3c7-16b3c662bf07", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "70b58641-42b4-42e4-b546-e44f5c16aba4", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "4f9182a0-1e1e-48c3-a4aa-010a5df37deb", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "1110dffb-c4b1-4eb2-9319-6fdbc7fdcb8e", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "52dcc9fb-c900-4835-9871-53f5c8799160", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "e35cd0e8-786b-4fd8-a461-6500d52cc24a", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "3d93b4bd-5580-4afa-9268-eb3e27658dca", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "79fbd727-4897-48cd-bd48-5d5680b2f9ed", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "dde7422f-1671-47f6-9c28-f447f780dc62", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "c5117298-7d44-42e2-a24d-a07b578ebea8", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "e5dffb26-e7c6-4188-b99e-73e5033e1617", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "e64cbb06-6329-4132-b8c2-b9a5a6774696", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "72dcca44-72b1-41bb-a04e-7a90a535eb5c", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "f72531f8-851a-4f23-8bcd-b2b47bad0f84", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "3262b323-8545-4c41-ab65-432b635781a7", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "b929e871-594e-4f98-9cf9-5889af26b3c3", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "0aaf5b5c-4da5-461f-a60d-2f64cf6aa0b1", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "11726713-72bb-43d6-9fd0-e09d4940f7fd", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "f256f4d1-bb92-4b1e-a320-0a8c65b02f47", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "b47fd4ca-a7d2-484b-8834-378bf9077336", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "74409b42-8580-4e4d-8c08-1e70d9c693ea", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "0671d6de-6840-4fc8-b67d-f7d662beea88", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "43a5906d-d880-49ef-b743-261a69c7024f", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "f087e6a6-b9cd-4f26-8932-167d246a6e02", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "2198238f-d7a8-4e94-9e03-b63f8a7e6bd3", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "edff548f-d6ac-469e-a136-d59a501e3f90", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "8ba887c3-e44d-4644-8cd6-a58b7cfcf2c0", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "ddd7bb64-91d4-4114-b2cc-a93d86aa98e1", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "e823513d-c147-4219-b1c3-33e1cd7b0862", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "d4f454d6-3ffc-4b0c-9449-212ecdbd9d25", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "e918cb31-af72-4d87-a414-4c499305bdd5", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "6b6c9e11-8918-45c7-b80a-cecb591a79cb", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "72cfdf1c-8509-4d36-9751-35537c2a7a9d", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "946889b2-c18d-45ff-b5dc-df818f2c98b7", - "destination_type": "file" - }, - { - "source_id": "49aa3970-895a-44bb-9433-3b49373794f3", - "source_type": "sequencing_process", - "destination_id": "e99eed63-5794-4d8d-baf9-9c6888e91e6d", - "destination_type": "protocol" - } - ], - "describedBy": "https://schema.humancellatlas.org/bundle/1.0.0/links", - "schema_version": "1.0.0", - "schema_type": "link_bundle" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/4b03c1ce-9df1-5cd5-a8e4-48a2fe095081.dss.hca.json b/test/indexer/data/4b03c1ce-9df1-5cd5-a8e4-48a2fe095081.dss.hca.json deleted file mode 100644 index b632eb0908..0000000000 --- a/test/indexer/data/4b03c1ce-9df1-5cd5-a8e4-48a2fe095081.dss.hca.json +++ /dev/null @@ -1,747 +0,0 @@ -{ - "manifest": { - "supplementary_file/0c5ab869-da2d-5c11-b4ae-f978a052899f": { - "name": "E-MTAB-7316.processed.5.zip", - "uuid": "0c5ab869-da2d-5c11-b4ae-f978a052899f", - "version": "2021-02-10T16:56:40.419579Z", - "content-type": "application/zip; dcp-type=data", - "size": 15535233, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_47bc2618-c6e0-4352-8350-bd5ccf7748f5", - "crc32c": "5bf9776f", - "sha256": "053074e25a96a463c081e38bcd02662ba1536dd0cb71411bd111b8a2086a03e1" - }, - "supplementary_file/5b465aad-0981-5152-b468-e615e20f5884": { - "name": "E-MTAB-7316.processed.7.zip", - "uuid": "5b465aad-0981-5152-b468-e615e20f5884", - "version": "2021-02-10T16:56:40.419579Z", - "content-type": "application/zip; dcp-type=data", - "size": 7570475, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3d334510-824b-4a28-8205-03fb50744c01", - "crc32c": "c8c42fc3", - "sha256": "af3ea779ca01a2ba65f9415720a44648ef28a6ed73c9ec30e54ed4ba9895f590" - }, - "supplementary_file/68bda896-3b3e-5f2a-9212-f4030a0f37e2": { - "name": "E-MTAB-7316.processed.4.zip", - "uuid": "68bda896-3b3e-5f2a-9212-f4030a0f37e2", - "version": "2021-02-10T16:56:40.419579Z", - "content-type": "application/zip; dcp-type=data", - "size": 38722784, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7337ebf7-0428-4a49-bb8d-755b88aa6e8c", - "crc32c": "82ee1217", - "sha256": "f1458913c223553d09966ff94f0ed3d87e7cdfce21904f32943d70f691d8f7a0" - }, - "supplementary_file/733318e0-19c2-51e8-9ad6-d94ad562dd46": { - "name": "E-MTAB-7316.processed.2.zip", - "uuid": "733318e0-19c2-51e8-9ad6-d94ad562dd46", - "version": "2021-02-10T16:56:40.419579Z", - "content-type": "application/zip; dcp-type=data", - "size": 118250749, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_456d748a-6823-4225-871f-acf42c9624ea", - "crc32c": "15b69eed", - "sha256": "cb7beb6f4e8c684e41d25aa4dc1294dcb1e070e87f9ed852463bf651d511a36b" - }, - "supplementary_file/87f31102-ebbc-5875-abdf-4fa5cea48e8d": { - "name": "E-MTAB-7316.processed.1.zip", - "uuid": "87f31102-ebbc-5875-abdf-4fa5cea48e8d", - "version": "2021-02-10T16:56:40.419579Z", - "content-type": "application/zip; dcp-type=data", - "size": 69813802, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_8c9a8805-d265-4767-8294-76f269dd18c8", - "crc32c": "4f3d0c47", - "sha256": "331bd925c08539194eb06e197a1238e1306c3b7876b6fe13548d03824cc4b68b" - }, - "supplementary_file/b905c8be-2e2d-592c-8481-3eb7a87c6484": { - "name": "WongRetinaCelltype.csv", - "uuid": "b905c8be-2e2d-592c-8481-3eb7a87c6484", - "version": "2021-02-10T16:56:40.419579Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 2300969, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_8167c570-ced0-42cd-b7cf-3a18accec2d9", - "crc32c": "42fcdb28", - "sha256": "4f515b8fbbec8bfbc72c8c0d656897ee37bfa30bab6eb50fdc641924227be674" - }, - "supplementary_file/c59e2de5-01fe-56eb-be56-679ed14161bf": { - "name": "E-MTAB-7316.processed.3.zip", - "uuid": "c59e2de5-01fe-56eb-be56-679ed14161bf", - "version": "2021-02-10T16:56:40.419579Z", - "content-type": "application/zip; dcp-type=data", - "size": 187835236, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_bd2f1c8c-91bf-479a-9cc4-2776a5b19260", - "crc32c": "0209e859", - "sha256": "6372732e9fe9b8d58c8be8df88ea439d5c68ee9bb02e3d472c94633fadf782a1" - }, - "supplementary_file/cade4593-bfba-56ed-80ab-080d0de7d5a4": { - "name": "E-MTAB-7316.processed.6.zip", - "uuid": "cade4593-bfba-56ed-80ab-080d0de7d5a4", - "version": "2021-02-10T16:56:40.419579Z", - "content-type": "application/zip; dcp-type=data", - "size": 17985905, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e36038df-51fd-4939-b65a-1241b00e98e2", - "crc32c": "a21bdb72", - "sha256": "1c57cba1ade259fc9ec56b914b507507d75ccbf6ddeebf03ba00c922c30e0c6e" - } - }, - "metadata": { - "supplementary_file/0c5ab869-da2d-5c11-b4ae-f978a052899f": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "schema_version": "2.2.0", - "file_core": { - "format": "zip", - "content_description": [ - { - "text": "Contributor-generated matrix", - "ontology": "data:2082", - "ontology_label": "Matrix" - } - ], - "file_name": "E-MTAB-7316.processed.5.zip" - }, - "file_description": "genusSpecies=Homo sapiens;developmentStage=adult;organ=eye;libraryConstructionApproach=10X v2 sequencing", - "provenance": { - "document_id": "0c5ab869-da2d-5c11-b4ae-f978a052899f", - "submission_date": "2021-02-10T16:56:40.419579Z", - "submitter_id": "b7525d8e-8c7a-5fec-911a-323e5c3a79f7", - "update_date": "2021-02-10T16:56:40.419579Z" - } - }, - "supplementary_file/5b465aad-0981-5152-b468-e615e20f5884": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "schema_version": "2.2.0", - "file_core": { - "format": "zip", - "content_description": [ - { - "text": "Contributor-generated matrix", - "ontology": "data:2082", - "ontology_label": "Matrix" - } - ], - "file_name": "E-MTAB-7316.processed.7.zip" - }, - "file_description": "genusSpecies=Homo sapiens;developmentStage=adult;organ=eye;libraryConstructionApproach=10X v2 sequencing", - "provenance": { - "document_id": "5b465aad-0981-5152-b468-e615e20f5884", - "submission_date": "2021-02-10T16:56:40.419579Z", - "submitter_id": "b7525d8e-8c7a-5fec-911a-323e5c3a79f7", - "update_date": "2021-02-10T16:56:40.419579Z" - } - }, - "supplementary_file/68bda896-3b3e-5f2a-9212-f4030a0f37e2": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "schema_version": "2.2.0", - "file_core": { - "format": "zip", - "content_description": [ - { - "text": "Contributor-generated matrix", - "ontology": "data:2082", - "ontology_label": "Matrix" - } - ], - "file_name": "E-MTAB-7316.processed.4.zip" - }, - "file_description": "genusSpecies=Homo sapiens;developmentStage=adult;organ=eye;libraryConstructionApproach=10X v2 sequencing", - "provenance": { - "document_id": "68bda896-3b3e-5f2a-9212-f4030a0f37e2", - "submission_date": "2021-02-10T16:56:40.419579Z", - "submitter_id": "b7525d8e-8c7a-5fec-911a-323e5c3a79f7", - "update_date": "2021-02-10T16:56:40.419579Z" - } - }, - "supplementary_file/733318e0-19c2-51e8-9ad6-d94ad562dd46": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "schema_version": "2.2.0", - "file_core": { - "format": "zip", - "content_description": [ - { - "text": "Contributor-generated matrix", - "ontology": "data:2082", - "ontology_label": "Matrix" - } - ], - "file_name": "E-MTAB-7316.processed.2.zip" - }, - "file_description": "genusSpecies=Homo sapiens;developmentStage=adult;organ=eye;libraryConstructionApproach=10X v2 sequencing", - "provenance": { - "document_id": "733318e0-19c2-51e8-9ad6-d94ad562dd46", - "submission_date": "2021-02-10T16:56:40.419579Z", - "submitter_id": "b7525d8e-8c7a-5fec-911a-323e5c3a79f7", - "update_date": "2021-02-10T16:56:40.419579Z" - } - }, - "supplementary_file/87f31102-ebbc-5875-abdf-4fa5cea48e8d": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "schema_version": "2.2.0", - "file_core": { - "format": "zip", - "content_description": [ - { - "text": "Contributor-generated matrix", - "ontology": "data:2082", - "ontology_label": "Matrix" - } - ], - "file_name": "E-MTAB-7316.processed.1.zip" - }, - "file_description": "genusSpecies=Homo sapiens;developmentStage=adult;organ=eye;libraryConstructionApproach=10X v2 sequencing", - "provenance": { - "document_id": "87f31102-ebbc-5875-abdf-4fa5cea48e8d", - "submission_date": "2021-02-10T16:56:40.419579Z", - "submitter_id": "b7525d8e-8c7a-5fec-911a-323e5c3a79f7", - "update_date": "2021-02-10T16:56:40.419579Z" - } - }, - "supplementary_file/b905c8be-2e2d-592c-8481-3eb7a87c6484": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "schema_version": "2.2.0", - "file_core": { - "format": "csv", - "content_description": [ - { - "text": "Contributor-generated matrix", - "ontology": "data:2082", - "ontology_label": "Matrix" - } - ], - "file_name": "WongRetinaCelltype.csv" - }, - "file_description": "genusSpecies=Homo sapiens;developmentStage=adult;organ=eye;libraryConstructionApproach=10X v2 sequencing", - "provenance": { - "document_id": "b905c8be-2e2d-592c-8481-3eb7a87c6484", - "submission_date": "2021-02-10T16:56:40.419579Z", - "submitter_id": "656db407-02f1-547c-9840-6908c4f09ce8", - "update_date": "2021-02-10T16:56:40.419579Z" - } - }, - "supplementary_file/c59e2de5-01fe-56eb-be56-679ed14161bf": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "schema_version": "2.2.0", - "file_core": { - "format": "zip", - "content_description": [ - { - "text": "Contributor-generated matrix", - "ontology": "data:2082", - "ontology_label": "Matrix" - } - ], - "file_name": "E-MTAB-7316.processed.3.zip" - }, - "file_description": "genusSpecies=Homo sapiens;developmentStage=adult;organ=eye;libraryConstructionApproach=10X v2 sequencing", - "provenance": { - "document_id": "c59e2de5-01fe-56eb-be56-679ed14161bf", - "submission_date": "2021-02-10T16:56:40.419579Z", - "submitter_id": "b7525d8e-8c7a-5fec-911a-323e5c3a79f7", - "update_date": "2021-02-10T16:56:40.419579Z" - } - }, - "supplementary_file/cade4593-bfba-56ed-80ab-080d0de7d5a4": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "schema_version": "2.2.0", - "file_core": { - "format": "zip", - "content_description": [ - { - "text": "Contributor-generated matrix", - "ontology": "data:2082", - "ontology_label": "Matrix" - } - ], - "file_name": "E-MTAB-7316.processed.6.zip" - }, - "file_description": "genusSpecies=Homo sapiens;developmentStage=adult;organ=eye;libraryConstructionApproach=10X v2 sequencing", - "provenance": { - "document_id": "cade4593-bfba-56ed-80ab-080d0de7d5a4", - "submission_date": "2021-02-10T16:56:40.419579Z", - "submitter_id": "b7525d8e-8c7a-5fec-911a-323e5c3a79f7", - "update_date": "2021-02-10T16:56:40.419579Z" - } - }, - "project/8185730f-4113-40d3-9cc3-929271784c2b": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "WongAdultRetina", - "project_title": "A single-cell transcriptome atlas of the adult human retina", - "project_description": "The retina is a specialized neural tissue that senses light and initiates image processing. Although the functional organization of specific retina cells has been well studied, the molecular profile of many cell types remains unclear in humans. To comprehensively profile the human retina, we performed single\u2010cell RNA sequencing on 20,009 cells from three donors and compiled a reference transcriptome atlas. Using unsupervised clustering analysis, we identified 18 transcriptionally distinct cell populations representing all known neural retinal cells: rod photoreceptors, cone photoreceptors, M\u00fcller glia, bipolar cells, amacrine cells, retinal ganglion cells, horizontal cells, astrocytes, and microglia. Our data captured molecular profiles for healthy and putative early degenerating rod photoreceptors, and revealed the loss of\u00a0MALAT1\u00a0expression with longer post\u2010mortem time, which potentially suggested a novel role of\u00a0MALAT1\u00a0in rod photoreceptor degeneration. We have demonstrated the use of this retina transcriptome atlas to benchmark pluripotent stem cell\u2010derived cone photoreceptors and an adult M\u00fcller glia cell line. This work provides an important reference with unprecedented insights into the transcriptional landscape of human retinal cells, which is fundamental to understanding retinal biology and disease." - }, - "supplementary_links": [ - "https://github.com/satijalab/seurat", - "https://github.com/powellgenomicslab/ascend", - "https://github.com/IMB-Computational-Genomics-Lab/scGPS" - ], - "array_express_accessions": [ - "E-MTAB-7316" - ], - "contributors": [ - { - "name": "Samuel,W,Lukowski", - "email": "s.lukowski@imb.uq.edu.au", - "institution": "University of Queensland", - "laboratory": "Institute for Molecular Bioscience", - "address": "306 Carmody Rd, St Lucia QLD 4072", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0002-8598-7902" - }, - { - "name": "Camden,Y,Lo", - "email": "lo.camden@gmail.com", - "institution": "Monash University", - "address": "Wellington Rd, Clayton VIC 3800", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Alexei,A,Sharov", - "email": "sharoval@mail.nih.gov", - "institution": "National Institutes of Health", - "laboratory": "National Institute for Aging", - "address": "251 Bayview Blvd, Baltimore, MD 21224", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Quan,,Nguyen", - "email": "quan.nguyen@imb.uq.edu.au", - "institution": "University of Queensland", - "laboratory": "Institute for Molecular Bioscience", - "address": "306 Carmody Rd, St Lucia QLD 4072", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0001-7870-5703" - }, - { - "name": "Lyujie,,Fang", - "email": "fanglyujie@foxmail.com", - "institution": "Centre for Eye Research Australia", - "laboratory": "Cellular Reprogramming Unit", - "address": "Melbourne, Vic", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-2286-0023" - }, - { - "name": "Sandy,SC,Hung", - "email": "sandy.hung@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Clinical Genetics Unit", - "address": "Melbourne, Vic", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Ling,,Zhu", - "email": "ling.zhu@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0003-0776-1630" - }, - { - "name": "Ting,,Zhang", - "email": "Ting.zhang@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0001-8074-8999" - }, - { - "name": "Ulrike,,Gr\u00fcnert", - "email": "ulrike.grunert@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Tu,,Nguyen", - "email": "thanhn3@student.unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Cellular Reprogramming Unit", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-6165-1822" - }, - { - "name": "Anne,,Senabouth", - "email": "a.senabouth@imb.uq.edu.au", - "institution": "University of Queensland", - "laboratory": "Institute for Molecular Bioscience", - "address": "306 Carmody Rd, St Lucia QLD 4072", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Jafar,S,Jabbari", - "email": "Jafar.Jabbari@agrf.org.au", - "institution": "Australian Genome Research Facility", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Emily,,Welby", - "email": "emily.welby@nih.gov", - "institution": "UCL Great Ormond Street Institute of Child Health", - "laboratory": "Stem Cells and Regenerative Medicine Section, NIHR Great Ormond Street Hospital Biomedical Research Centre", - "address": "London", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Jane,C,Sowden", - "email": "j.sowden@ucl.ac.uk", - "institution": "UCL Great Ormond Street Institute of Child Health", - "laboratory": "Stem Cells and Regenerative Medicine Section, NIHR Great Ormond Street Hospital Biomedical Research Centre", - "address": "London", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Hayley,S,Nguyen", - "email": "hayley.waugh229@gmail.com", - "institution": "Centre for Eye Research Australia", - "laboratory": "Lions Eye Donation Services", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Eye bank coordinator", - "ontology": "EFO:0001729", - "ontology_label": "biomaterial provider" - } - }, - { - "name": "Adrienne,,Mackey", - "email": "amackey@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Lions Eye Donation Services", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Eye bank coordinator", - "ontology": "EFO:0001729", - "ontology_label": "biomaterial provider" - } - }, - { - "name": "Graeme,,Pollock", - "email": "gpollock@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Lions Eye Donation Services", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Eye bank director", - "ontology": "EFO:0001729", - "ontology_label": "biomaterial provider" - } - }, - { - "name": "Trevor,D,Lamb", - "email": "trevor.lamb@anu.edu.au", - "institution": "The Australian National University", - "laboratory": "John Curtin School of Medical Research", - "address": "Canberra, ACT", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Peng-Yuna,,Wang", - "email": "pengyuanwang@swin.edu.au", - "institution": "Swinburne University of Technology", - "laboratory": "Department of Chemistry and Biotechnology", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Alex,W,Hewitt", - "email": "alex.hewitt@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Clinical Genetics Unit", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Mark,C,Gillies", - "email": "mark.gillies@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Joseph,E,Powell", - "email": "j.powell@garvan.org.au", - "institution": "Garvan Institute of Medical Research", - "laboratory": "Garvan\u2010Weizmann Centre for Cellular Genomics", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0001-9031-6356" - }, - { - "name": "Raymond,CB,Wong", - "email": "wongcb@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Cellular Reprogramming Unit", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": true, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-8092-9455" - }, - { - "name": "Marion,F,Shadbolt", - "email": "mshadbolt@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - }, - "orcid_id": "0000-0001-7505-5418" - } - ], - "funders": [ - { - "grant_title": "Building a reference transcriptomic atlas for the human retina at a single cell level", - "grant_id": "not provided", - "organization": "Opthalmic Research Institute of Australia" - }, - { - "grant_title": "LOUISA JEAN de BRETTEVILLE BEQUEST", - "grant_id": "not provided", - "organization": "University of Melbourne De Brettville Trust" - }, - { - "grant_id": "not provided", - "organization": "Kel and Rosie Day Foundation" - }, - { - "grant_id": "not provided", - "organization": "Great Ormond Street Hospital Children's Charity" - } - ], - "publications": [ - { - "authors": [ - "Lukowski SW", - "Lo CY", - "Sharov AA", - "Nguyen Q", - "Fang L", - "Hung SS", - "Zhu L", - "Zhang T", - "Gr\u00fcnert U", - "Nguyen T", - "Senabouth A", - "Jabbari JS", - "Welby E", - "Sowden JC", - "Waugh HS", - "Mackey A", - "Pollock G", - "Lamb TD", - "Wang PY", - "Hewitt AW", - "Gillies MC", - "Powell JE", - "Wong RC" - ], - "title": "A single\u2010cell transcriptome atlas of the adult human retina", - "doi": "10.15252/embj.2018100811", - "pmid": 31436334, - "url": "https://www.ncbi.nlm.nih.gov/pubmed/31436334" - } - ], - "provenance": { - "document_id": "8185730f-4113-40d3-9cc3-929271784c2b", - "submission_date": "2019-09-13T08:37:50.384Z", - "update_date": "2019-09-13T08:37:53.825Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.1/links", - "schema_type": "links", - "schema_version": "2.1.1", - "links": [ - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "8185730f-4113-40d3-9cc3-929271784c2b" - }, - "files": [ - { - "file_id": "b905c8be-2e2d-592c-8481-3eb7a87c6484", - "file_type": "supplementary_file" - }, - { - "file_id": "87f31102-ebbc-5875-abdf-4fa5cea48e8d", - "file_type": "supplementary_file" - }, - { - "file_id": "733318e0-19c2-51e8-9ad6-d94ad562dd46", - "file_type": "supplementary_file" - }, - { - "file_id": "c59e2de5-01fe-56eb-be56-679ed14161bf", - "file_type": "supplementary_file" - }, - { - "file_id": "68bda896-3b3e-5f2a-9212-f4030a0f37e2", - "file_type": "supplementary_file" - }, - { - "file_id": "0c5ab869-da2d-5c11-b4ae-f978a052899f", - "file_type": "supplementary_file" - }, - { - "file_id": "cade4593-bfba-56ed-80ab-080d0de7d5a4", - "file_type": "supplementary_file" - }, - { - "file_id": "5b465aad-0981-5152-b468-e615e20f5884", - "file_type": "supplementary_file" - } - ] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/4da04038-adab-59a9-b6c4-3a61242cc972.dss.hca.json b/test/indexer/data/4da04038-adab-59a9-b6c4-3a61242cc972.dss.hca.json deleted file mode 100644 index dc6fa6b4b5..0000000000 --- a/test/indexer/data/4da04038-adab-59a9-b6c4-3a61242cc972.dss.hca.json +++ /dev/null @@ -1,564 +0,0 @@ -{ - "manifest": { - "analysis_file/cf5d9300-3b81-52eb-a02f-25fb1364419e": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "aff4c924", - "indexed": false, - "name": "AP1_file.h5ad", - "s3_etag": "d04e9250c97e410e2749b93635595cc6", - "sha1": "4c7e22be4a2bdc4571d1a836cb1a1757d40363f1", - "sha256": "8908aec2bf49fdc557a5841352c52c8af857707c6f9c760ff51fb6e0858a6577", - "size": 143, - "uuid": "2ecedea4-b90c-5025-9967-fc08f27a4dc6", - "version": "2021-01-01T00:00:00.000000Z" - } - }, - "metadata": { - "project/90bf705c-d891-5ce2-aa54-094488b445c6": { - "array_express_accessions": [ - "E-MTAB-10026" - ], - "contributors": [ - { - "corresponding_contributor": true, - "email": "m.a.haniffa@ncl.ac.uk", - "institution": "Newcastle University", - "name": "Muzlifah,,Hannifa", - "project_role": { - "text": "principal investigator" - } - } - ], - "dbgap_accessions": [ - "phs001997.v1.p1", - "phs001836" - ], - "describedBy": "https://schema.staging.data.humancellatlas.org/type/project/17.0.0/project", - "ega_accessions": [ - "EGAS00000000001", - "EGAD00000000002" - ], - "estimated_cell_count": 10000, - "funders": [ - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome Human Cell Atlas Strategic Science Support" - }, - { - "grant_id": "WT107931/Z/15/Z", - "organization": "Wellcome" - }, - { - "grant_id": "206328/Z/17/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S036113/1", - "organization": "MRC" - }, - { - "grant_id": "WT206194", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S0358421/1", - "organization": "MRC" - }, - { - "grant_id": "C9545/A29580", - "organization": "CRUK" - }, - { - "grant_id": "21777", - "organization": "Versus Arthiritis Cure Challenge Research Grant" - }, - { - "grant_id": "RP-2017-08-ST2-002", - "organization": "NIHR" - }, - { - "grant_id": "21355/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "2017-174169", - "organization": "CZI" - }, - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/5005579/1", - "organization": "UK Regenerative Medicine Platform" - }, - { - "grant_id": "CL-2017-01-004", - "organization": "NIHR" - }, - { - "grant_id": "ME 5209/1-1", - "organization": "DFG Research Fellowship" - }, - { - "grant_id": "21115", - "organization": "Wellcome" - } - ], - "project_core": { - "project_description": "The COVID-19 pandemic, caused by SARS coronavirus 2 (SARS-CoV-2), has resulted in excess morbidity and mortality as well as economic decline. To characterise the systemic host immune response to SARS-CoV-2, we performed single-cell RNA-sequencing coupled with analysis of cell surface proteins, providing molecular profiling of over 800,000 peripheral blood mononuclear cells from a cohort of 130 patients with COVID-19. Our cohort, from three UK centres, spans the spectrum of clinical presentations and disease severities ranging from asymptomatic to critical. Three control groups were included: healthy volunteers, patients suffering from a non-COVID-19 severe respiratory illness and healthy individuals administered with intravenous lipopolysaccharide to model an acute inflammatory response. Full single cell transcriptomes coupled with quantification of 188 cell surface proteins, and T and B lymphocyte antigen receptor repertoires have provided several insights into COVID-19: 1. a new non-classical monocyte state that sequesters platelets and replenishes the alveolar macrophage pool; 2. platelet activation accompanied by early priming towards megakaryopoiesis in immature haematopoietic stem/progenitor cells and expansion of megakaryocyte-primed progenitors; 3. increased clonally expanded CD8+ effector:effector memory T cells, and proliferating CD4+ and CD8+ T cells in patients with more severe disease; and 4. relative increase of IgA plasmablasts in asymptomatic stages that switches to expansion of IgG plasmablasts and plasma cells, accompanied with higher incidence of BCR sharing, as disease severity increases. All data and analysis results are available for interrogation and data mining through an intuitive web portal. Together, these data detail the cellular processes present in peripheral blood during an acute immune response to COVID-19, and serve as a template for multi-omic single cell data integration across multiple centers to rapidly build powerful resources to help combat diseases such as COVID-19.", - "project_short_name": "Covid19PBMC", - "project_title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres" - }, - "provenance": { - "document_id": "90bf705c-d891-5ce2-aa54-094488b445c6", - "schema_major_version": 17, - "schema_minor_version": 0, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "publications": [ - { - "authors": [ - "Muzlifa Hannifa" - ], - "doi": "10.1101/2021.01.13.21249725", - "official_hca_publication": true, - "pmid": 33879890, - "title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres", - "url": "https://www.medrxiv.org/content/10.1101/2021.01.13.21249725v1.full" - } - ], - "schema_type": "project" - }, - "process/223d54fb-46c9-5c30-9cae-6b8d5ea71b7e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "223d54fb-46c9-5c30-9cae-6b8d5ea71b7e", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/296b47c2-7c35-5fdb-bb11-95323011507c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "296b47c2-7c35-5fdb-bb11-95323011507c", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/4da04038-adab-59a9-b6c4-3a61242cc972": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "4da04038-adab-59a9-b6c4-3a61242cc972", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "cell_suspension/d9eaaffe-4c93-5503-984f-762e8dfddce4": { - "biomaterial_core": { - "biomaterial_id": "AP1CS", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "estimated_cell_count": 20000, - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "provenance": { - "document_id": "d9eaaffe-4c93-5503-984f-762e8dfddce4", - "schema_major_version": 13, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "selected_cell_types": [ - { - "ontology": "CL:2000001", - "ontology_label": "peripheral blood mononuclear cell", - "text": "peripheral blood mononuclear cell" - } - ] - }, - "analysis_file/cf5d9300-3b81-52eb-a02f-25fb1364419e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/6.5.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "count matrix", - "text": "count matrix" - } - ], - "file_name": "AP1_file.h5ad", - "file_source": "Contributor", - "format": "h5ad" - }, - "matrix_cell_count": 2100, - "provenance": { - "document_id": "cf5d9300-3b81-52eb-a02f-25fb1364419e", - "schema_major_version": 6, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_protocol/811adf54-7f27-5aec-9ed7-c6084c4c3a1b": { - "computational_method": "10x v3", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/analysis/10.0.0/analysis_protocol", - "matrix": { - "data_normalization_methods": [ - "CPM (counts per million)", - "Downsampling" - ], - "derivation_process": [ - "alignment" - ] - }, - "protocol_core": { - "protocol_description": "Newcastle: Scrublet (v0.2.1) was applied to each sample to generate a doublet score. These formed a bimodal distribution so the tool's automatic threshold was applied. Cambridge: Non-empty droplets were called within each multiplexed pool of donors using the emptyDrops function implemented in the Bioconductor package DropletUtils, using a UMI threshold of 100 and FDR of 1%. The probability of being a doublet was estimated for each cell per sample (that is one 10x lane) using the \"doubletCells\" function in scran based on highly variable genes (HVGs). Next, we used \"cluster_walktrap\" on the SNN-Graph that was computed on HVGs to form highly resolved clusters per sample. Per-sample clusters with either a median doublet score greater than the median + 2.5 x MAD or clusters containing more than the median + 2.5 MAD genotype doublets were tagged as doublets. This was followed by a second round of highly-resolved clustering across the whole data set, in which again cells belonging to clusters with a high proportion (> 60%) of cells previously labelled as doublets were also defined as doublets. UCL/Sanger: For pooled donor CITE-seq samples, the donor ID of each cell was determined by genotype-based demultiplexing using souporcell version 2. Souporcell analyses were performed with 'skip_remap' enabled and a set of known donor genotypes given under the 'common_variants' parameter. The donor ID of each souporcell genotype cluster was annotated by comparing each souporcell genotype to the set of known genotypes. Droplets that contained more than one genotype according to souporcell were flagged as 'ground-truth' doublets for heterotypic doublet identification. Ground-truth doublets were used by DoubletFinder 2.0.3 to empirically determine an optimal 'pK' value for doublet detection. DoubletFinder analysis was performed on each sample separately using 10 principal components, a 'pN' value of 0.25, and the 'nExp' parameter estimated from the fraction of ground-truth doublets and the number of pooled donors. Combined raw data from the three centres was filtered to remove those that expressed fewer than 200 genes and >10% mitochondrial reads. Data was normalised (scanpy: normalize_total), log+1 corrected (scanpy: log1p) and highly variable genes identified using the Seurat vst algorithm (scanpy: highly_variable_genes). Harmony was used to adjust principal components by sample ID and used to generate the neighbourhood graph and embedded using UMAP. Clustering was performed using the Leiden algorithm with an initial resolution of 3. For initial clustering, differentially expressed genes were calculated using Wilcoxon rank-sum test.", - "protocol_id": "Combined_AnalysisProt", - "protocol_name": "Combined analysis protocol" - }, - "provenance": { - "document_id": "811adf54-7f27-5aec-9ed7-c6084c4c3a1b", - "schema_major_version": 10, - "schema_minor_version": 0, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol", - "type": { - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation", - "text": "enzymatic dissociation" - } - }, - "library_preparation_protocol/f08df8f8-4966-5265-b127-36625c77deae": { - "cell_barcode": { - "barcode_length": 16, - "barcode_offset": 0, - "barcode_read": "Read 1" - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/sequencing/6.3.1/library_preparation_protocol", - "end_bias": "3 prime tag", - "input_nucleic_acid_molecule": { - "text": "polyA RNA" - }, - "library_construction_method": { - "ontology": "EFO:0009922", - "ontology_label": "10x 3' v3", - "text": "10xV3" - }, - "nucleic_acid_source": "single cell", - "protocol_core": { - "protocol_description": "200,000 cells from each donor were stained with Human TruStain FcX\u201a\u00d1\u00a2 Fc Blocking Reagent (Biolegend 422302) for 10 minutes at room temperature. The cells were then stained with the custom panel Total-seq C (Biolegend 99813) for 30 minutes at 4\u02daC. Cells were then washed twice with PBS supplemented with 2% (v/v) FCS and 2mM EDTA (Sigma) before resuspending in PBS and counting. 20,000-30,000 cells per sample were loaded onto the 10x Chromium controller using Chromium NextGEM Single Cell V(D)J Reagent kits v1.1 with Feature Barcoding technology for Cell Surface Protein (10x Genomics) according to the manufacturer's protocol. Gene expression, TCR enriched and BCR enriched libraries were prepared for each sample according to the manufacturer's protocol (10x Genomics). Cell surface protein libraries were subjected to double the manufacturer's recommended primer concentration and 8 amplification cycles during the sample index PCR to reduce the likelihood of daisy chains forming. Libraries were pooled per patient using the following ratio 6:2:1:1 for gene expression, cell surface protein, TCR enriched and BCR enriched libraries.", - "protocol_id": "Newcastle_LibraryPrep", - "protocol_name": "Newcastle 10x Single cell V(D)J" - }, - "provenance": { - "document_id": "f08df8f8-4966-5265-b127-36625c77deae", - "schema_major_version": 6, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol", - "strand": "first", - "umi_barcode": { - "barcode_length": 12, - "barcode_offset": 16, - "barcode_read": "Read 1" - } - }, - "specimen_from_organism/224d3750-f1f7-5b04-bbce-e23f09eea7d7": { - "biomaterial_core": { - "biomaterial_id": "AP1_specimen", - "biomaterial_name": "AP1_specimen", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/10.5.0/specimen_from_organism", - "diseases": [ - { - "ontology": "MONDO:0100096", - "ontology_label": "COVID-19", - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "organ": { - "ontology": "UBERON:0000178", - "ontology_label": "blood", - "text": "blood" - }, - "provenance": { - "document_id": "224d3750-f1f7-5b04-bbce-e23f09eea7d7", - "schema_major_version": 10, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial" - }, - "enrichment_protocol/6d009d64-1ae9-50b2-a706-6a30e47bdc52": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "maximum_size": 30.0, - "method": { - "ontology": "EFO:0009337", - "ontology_label": "cell size selection", - "text": "cell size selection" - }, - "protocol_core": { - "protocol_description": "Resuspended cells were passed through a 30um filter and counted prior to live cell MACS enrichment with the Dead cell removal kit (Miltenyi Biotech) as per manufacturer's instructions. Cell pellets were resuspended in microbeads and incubated at room temperature for 15 minutes. Each stained sample was passed through an LS column (Miltenyi Biotec) and rinsed with Binding buffer (Miltenyi Biotec) before centrifugation. Cell pellets were resuspended in Wash buffer and counted for CITE-seq antibody staining.", - "protocol_id": "Newcastle_Enrichment_Size" - }, - "provenance": { - "document_id": "6d009d64-1ae9-50b2-a706-6a30e47bdc52", - "schema_major_version": 3, - "schema_minor_version": 1, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - }, - "enrichment_protocol/9462efe9-1b1a-5a18-81bb-e510137ae743": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "method": { - "ontology": "EFO:0009112", - "ontology_label": "density gradient centrifugation", - "text": "density gradient centrifugation" - }, - "protocol_core": { - "protocol_description": "Newcastle: PBMCs were isolated from blood samples using Lymphoprep (StemCell Technologies) density gradient centrifugation as per manufacturer's instructions. Single cell suspensions were then washed with Dulbecco's phosphate buffered saline (PBS)(Sigma) and frozen in 5-10 million cell aliquots in 90% (v/v) heat inactivated fetal calf serum (FCS) (Gibco) 10% (v/v) DMSO (Sigma Aldrich). On the day of the experiment the cells were thawed for 1 minute, transferred to Wash buffer (PBS supplemented with 2% (v/v) FCS and 2mM EDTA), and centrifuged at 500g for 5 minutes.", - "protocol_id": "Newcastle_Enrichment_Centrifuge" - }, - "provenance": { - "document_id": "9462efe9-1b1a-5a18-81bb-e510137ae743", - "schema_major_version": 3, - "schema_minor_version": 1, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - }, - "treatment_protocol/0f959f0b-5efa-5cc8-9c46-097b0cb574d5": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/1.0.0/treatment_protocol", - "media": "RPMI 1640", - "method": [ - { - "ontology": "EFO:0030037", - "ontology_label": "T cell activation assay", - "text": "T cell activation assay" - } - ], - "protocol_core": { - "protocol_description": "Cells were incubated with a culture media containing an activator agent, mimicking the natural activation and expansion process.", - "protocol_id": "treatment_protocol", - "protocol_name": "treatment protocol" - }, - "provenance": { - "document_id": "0f959f0b-5efa-5cc8-9c46-097b0cb574d5", - "schema_major_version": 1, - "schema_minor_version": 0, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol", - "target_pathway": [ - { - "ontology": "GO:0050870", - "ontology_label": "positive regulation of T cell activation", - "text": "positive regulation of T cell activation" - } - ] - }, - "donor_organism/9173ee6a-f1b2-5762-9272-3433b5ef7530": { - "biomaterial_core": { - "biomaterial_id": "AP1", - "biomaterial_name": "Sanger_AP1", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/15.6.1/donor_organism", - "development_stage": { - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage", - "text": "human adult stage" - }, - "diseases": [ - { - "ontology": "MONDO:0100096", - "ontology_label": "COVID-19", - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "is_living": "yes", - "organism_age": "56", - "organism_age_unit": { - "ontology": "UO:0000036", - "ontology_label": "year", - "text": "year" - }, - "provenance": { - "document_id": "9173ee6a-f1b2-5762-9272-3433b5ef7530", - "schema_major_version": 15, - "schema_minor_version": 6, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "sex": "unknown" - }, - "collection_protocol/ff0c24dd-afd3-5d7a-b982-6191e19314e3": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "method": { - "ontology": "EFO:0009121", - "ontology_label": "blood draw", - "text": "blood draw" - }, - "protocol_core": { - "protocol_description": "For the COVID-19 positive samples and healthy controls, peripheral blood was collected in EDTA tubes and serum separator tubes and processed within 4 h of collection. For the IV-LPS control samples: LPS was obtained from Clinical Center Reference Endotoxin (Lots 94332B1 donated by National Institute of Health, Bethesda, Maryland, USA) and injected intravenously as a bolus dose of 2 ng/kg. Blood samples were taken prior to IV LPS administration (baseline) and at 90 min, and 10 h post challenge. Venous blood was drawn from an 18g venous cannula and was collected into EDTA and serum separator tubes. Only samples from 90 min and 10 h were analysed in this study.", - "protocol_id": "Newcastle_Collection" - }, - "provenance": { - "document_id": "ff0c24dd-afd3-5d7a-b982-6191e19314e3", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - } - }, - "links": { - "describedBy": "https://schema.staging.data.humancellatlas.org/system/3.1.0/links", - "links": [ - { - "inputs": [ - { - "input_id": "d9eaaffe-4c93-5503-984f-762e8dfddce4", - "input_type": "cell_suspension" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "cf5d9300-3b81-52eb-a02f-25fb1364419e", - "output_type": "analysis_file" - } - ], - "process_id": "4da04038-adab-59a9-b6c4-3a61242cc972", - "process_type": "process", - "protocols": [ - { - "protocol_id": "811adf54-7f27-5aec-9ed7-c6084c4c3a1b", - "protocol_type": "analysis_protocol" - }, - { - "protocol_id": "f08df8f8-4966-5265-b127-36625c77deae", - "protocol_type": "library_preparation_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "224d3750-f1f7-5b04-bbce-e23f09eea7d7", - "input_type": "specimen_from_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "d9eaaffe-4c93-5503-984f-762e8dfddce4", - "output_type": "cell_suspension" - } - ], - "process_id": "296b47c2-7c35-5fdb-bb11-95323011507c", - "process_type": "process", - "protocols": [ - { - "protocol_id": "9462efe9-1b1a-5a18-81bb-e510137ae743", - "protocol_type": "enrichment_protocol" - }, - { - "protocol_id": "6d009d64-1ae9-50b2-a706-6a30e47bdc52", - "protocol_type": "enrichment_protocol" - }, - { - "protocol_id": "0f959f0b-5efa-5cc8-9c46-097b0cb574d5", - "protocol_type": "treatment_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "9173ee6a-f1b2-5762-9272-3433b5ef7530", - "input_type": "donor_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "224d3750-f1f7-5b04-bbce-e23f09eea7d7", - "output_type": "specimen_from_organism" - } - ], - "process_id": "223d54fb-46c9-5c30-9cae-6b8d5ea71b7e", - "process_type": "process", - "protocols": [ - { - "protocol_id": "ff0c24dd-afd3-5d7a-b982-6191e19314e3", - "protocol_type": "collection_protocol" - } - ] - } - ], - "schema_type": "links", - "schema_version": "3.1.0" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/56a338fe-7554-4b5d-96a2-7df127a7640b.dss.hca.json b/test/indexer/data/56a338fe-7554-4b5d-96a2-7df127a7640b.dss.hca.json deleted file mode 100644 index 657c613383..0000000000 --- a/test/indexer/data/56a338fe-7554-4b5d-96a2-7df127a7640b.dss.hca.json +++ /dev/null @@ -1,585 +0,0 @@ -{ - "manifest": { - "sequence_file/2d8cdf91-8162-4321-9923-e00e90fd9133": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "c3a170ed", - "indexed": false, - "name": "22467_6#209_1.fastq.gz", - "s3_etag": "7df2abd52fb511a5a0015a1d5a6d6652", - "sha1": "d671d9c43e24a5d3efce53db9e51783628992d0a", - "sha256": "be1413a1851354eaac53bf795f74d615b383626f4d78e7d8c7ce69806585f4c4", - "size": 1032483, - "uuid": "2d8cdf91-8162-4321-9923-e00e90fd9133", - "version": "2018-03-29T15:35:01.427209Z" - }, - "sequence_file/d9087c74-a41e-4702-8481-cea3ef68379c": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "a39019f8", - "indexed": false, - "name": "22467_6#209_2.fastq.gz", - "s3_etag": "d478462fab81e0310d9efd4209420423", - "sha1": "94a4bfa3c6d1bf46cb424dff293311205971ad60", - "sha256": "1e0f159cf347a4a65ede1240f03101aab4885c9209a45b0d07bcd536a74b6998", - "size": 1205219, - "uuid": "d9087c74-a41e-4702-8481-cea3ef68379c", - "version": "2018-03-29T15:35:02.542108Z" - } - }, - "metadata": { - "protocol/c9a1e203-bddc-45d3-87c4-6010be8e0127": { - "content": { - "protocol_core": { - "protocol_name": "Extracting cells from lymph nodes", - "document": "TissueDissociationProtocol.pdf", - "protocol_id": "tissue_dissociation_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.033Z", - "updateDate": "2018-03-28T14:14:33.716Z", - "document_id": "c9a1e203-bddc-45d3-87c4-6010be8e0127" - } - }, - "protocol/a1c80daf-58b0-4b7a-8e29-d0130493c8e6": { - "content": { - "protocol_core": { - "protocol_name": "FACS sorting cells by surface markers", - "document": "FACSsortingProtocol.pdf", - "protocol_id": "FACS_sorting_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.040Z", - "updateDate": "2018-03-28T14:45:43.500Z", - "document_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6" - } - }, - "protocol/52d79a89-4b49-4c1b-b857-5cc5da07f643": { - "content": { - "protocol_core": { - "protocol_name": "Make/amplify cDNA for each cell", - "document": "SmartSeq2_RTPCR_protocol.pdf", - "protocol_id": "SmartSeq2_RTPCR_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "Smart-seq2 protocol", - "ontology": "EFO:0008442" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.044Z", - "updateDate": "2018-03-28T14:24:04.790Z", - "document_id": "52d79a89-4b49-4c1b-b857-5cc5da07f643" - } - }, - "protocol/ca6096cf-13c1-4930-8308-6ab05865e2c9": { - "content": { - "protocol_core": { - "protocol_name": "Sequencing SmartSeq2 cells", - "protocol_id": "SmartSeq2_sequencing_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.050Z", - "updateDate": "2018-03-28T14:30:39.321Z", - "document_id": "ca6096cf-13c1-4930-8308-6ab05865e2c9" - } - }, - "project/93f6a42f-1790-4af4-b5d1-8c436cb6feae": { - "content": { - "describedBy": "https://schema.humancellatlas.org/type/project/9.0.2/project", - "project_core": { - "project_short_name": "Mouse Melanoma", - "project_description": "The cancer microenvironment is a complex ecosystem characterized by dynamic interactions between diverse cell types, including malignant, immune and stromal cells. Here, we performed single-cell RNA sequencing on CD45+ and CD45- cells isolated from tumour and lymph nodes during a mouse model of melanoma. The transcriptional profiles of these individual cells taken at different time points coupled with assembled T cell receptor sequences, allowed us to identify distinct immune subpopulations and delineate their developmental trajectory. Our study provides insights into the complex interplay among cells within the tumour microenvironment and presents a valuable resource for future translational applications.", - "project_title": "Melanoma infiltration of stromal and immune cells" - }, - "publications": [ - { - "describedBy": "http://schema.humancellatlas.org/module/project/5.2.2/publication", - "authors": [ - "Katrina Meeth", - "Jake Wang", - "Goran Micevic", - "William Damsky", - "Marcus W. Bosenberg" - ], - "publication_title": "The YUMM lines: a series of congenic mouse melanoma cell lines with defined genetic alterations", - "doi": "10.1111/pcmr.12498", - "pmid": 5331933, - "publication_url": "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5331933/" - } - ], - "contributors": [ - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Sarah,A,Teichmann", - "email": "st9@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Mirjana,,Efremova", - "email": "me5@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Bidesh,,Mahata", - "email": "bm11@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "laboratory": "MRC Cancer Unit", - "contact_name": "Jacqueline,D,Shields", - "email": "JS970@MRCCU.cam.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "laboratory": "MRC Cancer Unit", - "contact_name": "Sarah,,Davidson", - "email": "SED49@MRCCU.cam.ac.uk", - "corresponding_contributor": false - }, - { - "country": "Germany", - "contact_name": "Angela,,Riedel", - "email": "a.riedel@dkfz-heidelberg.de", - "institution": "DKFZ German Cancer Research Center", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Roser,,Veno-Tormo", - "email": "rv4@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Jhuma,,Pramanik", - "email": "jp19@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "EMBL-EBI", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Gozde,,Kar", - "email": "gkar@ebi.ac.uk", - "corresponding_contributor": false - }, - { - "country": "Finland", - "contact_name": "Jani,,Huuhtanen", - "email": "jani.huuhtanen@helsinki.fi", - "institution": "University of Helsinki", - "corresponding_contributor": true - } - ], - "schema_type": "project" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.025Z", - "updateDate": "2018-03-28T14:27:32.460Z", - "document_id": "93f6a42f-1790-4af4-b5d1-8c436cb6feae" - }, - "describedBy": "https://schema.humancellatlas.org/bundle/5.1.0/project", - "schema_version": "5.1.0", - "schema_type": "project_bundle" - }, - "cell_suspension/04e58fb0-384e-4997-a9e9-575d9887e737": { - "content": { - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "total_estimated_cells": 1, - "target_cell_type": [ - { - "text": "CD11b+ Macrophages/monocytes" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1117_T", - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "22467_6#209" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:58:57.160Z", - "updateDate": "2018-03-28T14:27:46.870Z", - "document_id": "04e58fb0-384e-4997-a9e9-575d9887e737" - } - }, - "specimen_from_organism/ffb809dd-3139-4162-b9af-ec88e491ee9c": { - "content": { - "biomaterial_core": { - "has_input_biomaterial": "1117", - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "1117_T", - "supplementary_files": [ - "FACS_sorting_markers.pdf" - ], - "biomaterial_name": "Mouse_day5_T_rep8" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism", - "organ": { - "text": "tumor" - }, - "schema_type": "biomaterial" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:56:12.647Z", - "updateDate": "2018-03-28T14:19:05.173Z", - "document_id": "ffb809dd-3139-4162-b9af-ec88e491ee9c" - } - }, - "donor_organism/689311a2-bfaf-4196-a753-554e69ab59b2": { - "content": { - "is_living": false, - "mus_musculus_specific": { - "strain": [ - { - "text": "C57BL/6" - } - ] - }, - "biological_sex": "female", - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "disease": [ - { - "text": "subcutaneous melanoma", - "ontology": "EFO:0000756" - } - ], - "organism_age": "6-12", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "1117", - "biomaterial_name": "Mouse_day5_rep8" - }, - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:56:00.553Z", - "updateDate": "2018-03-28T14:00:16.892Z", - "document_id": "689311a2-bfaf-4196-a753-554e69ab59b2" - } - }, - "dissociation_process/b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_id": "TissueDissociationProcess", - "process_name": "Extracting cells from lymph nodes" - }, - "dissociation_method": "mechanical", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:04:14.574Z", - "updateDate": "2018-03-28T14:13:28.361Z", - "document_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902" - } - }, - "process/0763320a-e0c4-4c07-b150-b83650fbef68": { - "content": { - "process_core": { - "process_id": "sampling_process_12" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:00:16.640Z", - "updateDate": "2018-03-28T14:00:59.234Z", - "document_id": "0763320a-e0c4-4c07-b150-b83650fbef68" - } - }, - "enrichment_process/bcef348b-3915-48b8-bc09-d24a5bff76c4": { - "content": { - "enrichment_method": "FACS", - "process_core": { - "process_id": "FACS3.2" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/enrichment_process", - "markers": "CD45+ CD3e- B220- CD11b+", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:04:02.006Z", - "updateDate": "2018-03-28T14:15:18.962Z", - "document_id": "bcef348b-3915-48b8-bc09-d24a5bff76c4" - } - }, - "library_preparation_process/687065f3-c70f-46c3-8452-a5eead33a1bf": { - "content": { - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "process_core": { - "process_id": "lib_prep_1", - "process_name": "Library preparation process" - }, - "umi_barcode": { - "barcode_offset": 0, - "barcode_length": 16, - "barcode_read": "Read 1" - }, - "library_construction_approach": "Smart-seq2", - "schema_type": "process", - "end_bias": "full length", - "primer": "poly-dT", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/library_preparation_process", - "strand": "unstranded" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:05:43.803Z", - "updateDate": "2018-03-28T14:43:01.679Z", - "document_id": "687065f3-c70f-46c3-8452-a5eead33a1bf" - } - }, - "sequencing_process/4624400f-00c5-476a-9bd6-589e87ddb0fe": { - "content": { - "paired_ends": true, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008567" - }, - "process_core": { - "process_id": "seq_5656", - "process_name": "Sequencing process" - }, - "smartseq2": { - "well_name": "D5", - "plate_id": "537" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/sequencing_process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:05:51.198Z", - "updateDate": "2018-03-28T14:10:52.303Z", - "document_id": "4624400f-00c5-476a-9bd6-589e87ddb0fe" - } - }, - "sequence_file/2d8cdf91-8162-4321-9923-e00e90fd9133": { - "content": { - "file_core": { - "file_name": "22467_6#209_1.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 6, - "read_index": "read1", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-28T14:02:56.078Z", - "document_id": "2d8cdf91-8162-4321-9923-e00e90fd9133" - } - }, - "sequence_file/d9087c74-a41e-4702-8481-cea3ef68379c": { - "content": { - "file_core": { - "file_name": "22467_6#209_2.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 6, - "read_index": "read2", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-28T14:02:56.090Z", - "document_id": "d9087c74-a41e-4702-8481-cea3ef68379c" - } - } - }, - "links": { - "links": [ - { - "source_id": "ffb809dd-3139-4162-b9af-ec88e491ee9c", - "source_type": "biomaterial", - "destination_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "destination_type": "dissociation_process" - }, - { - "source_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "source_type": "dissociation_process", - "destination_id": "04e58fb0-384e-4997-a9e9-575d9887e737", - "destination_type": "biomaterial" - }, - { - "source_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "source_type": "dissociation_process", - "destination_id": "c9a1e203-bddc-45d3-87c4-6010be8e0127", - "destination_type": "protocol" - }, - { - "source_id": "0763320a-e0c4-4c07-b150-b83650fbef68", - "source_type": "process", - "destination_id": "ffb809dd-3139-4162-b9af-ec88e491ee9c", - "destination_type": "biomaterial" - }, - { - "source_id": "689311a2-bfaf-4196-a753-554e69ab59b2", - "source_type": "biomaterial", - "destination_id": "0763320a-e0c4-4c07-b150-b83650fbef68", - "destination_type": "process" - }, - { - "source_id": "ffb809dd-3139-4162-b9af-ec88e491ee9c", - "source_type": "biomaterial", - "destination_id": "bcef348b-3915-48b8-bc09-d24a5bff76c4", - "destination_type": "enrichment_process" - }, - { - "source_id": "bcef348b-3915-48b8-bc09-d24a5bff76c4", - "source_type": "enrichment_process", - "destination_id": "04e58fb0-384e-4997-a9e9-575d9887e737", - "destination_type": "biomaterial" - }, - { - "source_id": "bcef348b-3915-48b8-bc09-d24a5bff76c4", - "source_type": "enrichment_process", - "destination_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6", - "destination_type": "protocol" - }, - { - "source_id": "0763320a-e0c4-4c07-b150-b83650fbef68", - "source_type": "process", - "destination_id": "ffb809dd-3139-4162-b9af-ec88e491ee9c", - "destination_type": "biomaterial" - }, - { - "source_id": "689311a2-bfaf-4196-a753-554e69ab59b2", - "source_type": "biomaterial", - "destination_id": "0763320a-e0c4-4c07-b150-b83650fbef68", - "destination_type": "process" - }, - { - "source_id": "04e58fb0-384e-4997-a9e9-575d9887e737", - "source_type": "biomaterial", - "destination_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "destination_type": "library_preparation_process" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "2d8cdf91-8162-4321-9923-e00e90fd9133", - "destination_type": "file" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "d9087c74-a41e-4702-8481-cea3ef68379c", - "destination_type": "file" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "52d79a89-4b49-4c1b-b857-5cc5da07f643", - "destination_type": "protocol" - }, - { - "source_id": "04e58fb0-384e-4997-a9e9-575d9887e737", - "source_type": "biomaterial", - "destination_id": "4624400f-00c5-476a-9bd6-589e87ddb0fe", - "destination_type": "sequencing_process" - }, - { - "source_id": "4624400f-00c5-476a-9bd6-589e87ddb0fe", - "source_type": "sequencing_process", - "destination_id": "2d8cdf91-8162-4321-9923-e00e90fd9133", - "destination_type": "file" - }, - { - "source_id": "4624400f-00c5-476a-9bd6-589e87ddb0fe", - "source_type": "sequencing_process", - "destination_id": "d9087c74-a41e-4702-8481-cea3ef68379c", - "destination_type": "file" - }, - { - "source_id": "4624400f-00c5-476a-9bd6-589e87ddb0fe", - "source_type": "sequencing_process", - "destination_id": "ca6096cf-13c1-4930-8308-6ab05865e2c9", - "destination_type": "protocol" - } - ], - "describedBy": "https://schema.humancellatlas.org/bundle/1.0.0/links", - "schema_version": "1.0.0", - "schema_type": "link_bundle" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/587d74b4-1075-4bbf-b96a-4d1ede0481b2.dss.hca.json b/test/indexer/data/587d74b4-1075-4bbf-b96a-4d1ede0481b2.dss.hca.json deleted file mode 100644 index 6dd4463fb0..0000000000 --- a/test/indexer/data/587d74b4-1075-4bbf-b96a-4d1ede0481b2.dss.hca.json +++ /dev/null @@ -1,1616 +0,0 @@ -{ - "manifest": { - "analysis_file/48e42fe3-41cd-49bd-b7f4-1e3c49682131": { - - "content-type": "text/plain; dcp-type=data", - "crc32c": "074766b5", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.bait_bias_summary_metrics.txt", - "s3_etag": "730b8937457394854df226d76a9394a2", - "sha1": "8f20a562d2a012948b74bf1cf4b94bbd5249b5cc", - "sha256": "cb53289c95fd1030726cf93e509d4dc37461bc21b29ff8d2a4165b086dd75f50", - "size": 2708, - "uuid": "ac880333-cb92-4f55-971a-614bd065d8ef", - "version": "2018-10-10T03:10:31.316188Z" - }, - "analysis_file/8b4ed86d-99a8-4665-8f56-5a54fac6cb12": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "0d086593", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.insert_size_metrics.txt", - "s3_etag": "2d5cbfeca2979d6adb1f08110d4ee68a", - "sha1": "6d54f913fb2153ab7e6cc940bd7ad35484d57ccf", - "sha256": "15c506c283d8b72c2a58fae1c8b58f525837e7e10adfa00080af72ea156fdaed", - "size": 5005, - "uuid": "2866dfcd-6346-4db8-ad1c-36a50dd99f44", - "version": "2018-10-10T03:10:31.541754Z" - }, - "analysis_file/416e31c0-b0ec-4674-ab37-ab8506a9f219": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "a45828f5", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.quality_by_cycle_metrics.txt", - "s3_etag": "31b1bfa4d7c41787d9ddec03b737dbab", - "sha1": "b8eb15894d9bd8e728e0c87a297ab6285e915b93", - "sha256": "83ee700382b8abf0fd8f70a6d034e14e8387774aa9990cc9d9c4b89211197fca", - "size": 1868, - "uuid": "ee417573-2281-439a-98f9-05fcb5dd2faf", - "version": "2018-10-10T03:10:31.845129Z" - }, - "analysis_file/0b34a80b-c818-4010-b193-e44a77036e27": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "e8b38826", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.quality_distribution_metrics.txt", - "s3_etag": "e125f2e3d8263338439bd2239e8bb8ec", - "sha1": "2d709d4f6c24d7714046d57654016222ae369af0", - "sha256": "fb2c9cb1dd646e7941086b570df03fb5d6f8c539b0789a1ae1d18fa1129d0838", - "size": 1490, - "uuid": "2526ee96-c839-4d0e-869c-585fc9066cda", - "version": "2018-10-10T03:10:32.229536Z" - }, - "analysis_file/9a827f0b-d74a-436f-a39f-f8c8c9eadfa3": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "132739db", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.rna_metrics.txt", - "s3_etag": "94e485e770b37375a89d4c2971c871d0", - "sha1": "9cb47e3a7674b1eefa19412c6c51e89bc7438f0d", - "sha256": "cb2373c6dc2048b583c624291f7d3e4690c23934805100af773aa78682543141", - "size": 3218, - "uuid": "3a97e493-d758-4659-84f2-1c8060161459", - "version": "2018-10-10T03:10:32.503612Z" - }, - "analysis_file/1d77c6c5-24b6-4d43-ad5d-b02fba050025": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "062199a3", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_QCs.csv", - "s3_etag": "0a8493dd8b0cb2c733204f59ad2e647a", - "sha1": "ea8b256232d76f1b7e35f37d5ac089446a849a8a", - "sha256": "796caeb3c67f0bbcca14aa76b556e9cbc1eb76c031ef1696799363325fdb4e92", - "size": 7928, - "uuid": "e399a1c6-f595-400b-b71b-ea95707fbf74", - "version": "2018-10-10T03:10:32.812584Z" - }, - "analysis_file/18791e67-0c74-43e0-be28-f0c3cd78c7a4": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "8c75cbf7", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_bait_bias_detail_metrics.csv", - "s3_etag": "2e5d14061ca262cc1ce3f0713d7453e7", - "sha1": "6da56d8cc164010be376036005da41fc3edf2f5c", - "sha256": "e6e979ccfbdbadff06e07596b8da15223aefd278552877a318a3b6ee9c6b9e41", - "size": 29544, - "uuid": "35a4d374-9eb3-404b-8ef9-fa295062f969", - "version": "2018-10-10T03:10:33.293412Z" - }, - "analysis_file/9d88ec61-e189-4618-ac15-992a134749a8": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "d0ea20f5", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_base_distribution_by_cycle_metrics.csv", - "s3_etag": "4901104ff59977f45cabc2ccf969faea", - "sha1": "5d9a231b9dc91c2eb24640d8c279a2f3e045f4e3", - "sha256": "c910ece6155921d0ef500074db6e8c6b7bc53839a256bbb16eaf558b79583f5c", - "size": 4341, - "uuid": "f7cbd75f-abb1-4703-bf11-7d55a28ae5c0", - "version": "2018-10-10T03:10:33.596635Z" - }, - "analysis_file/c059ee58-fbea-40d9-b552-acc1285138a3": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "d5d1e302", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_error_summary_metrics.csv", - "s3_etag": "c666fd464dc3cfc62f303fcaa7e1e949", - "sha1": "820886fa0f6edac3715a91975598427ae9afba29", - "sha256": "c691a24d6bd11b9b60b99efe4641e2392ff50ab518b6474b595e86610dfe9751", - "size": 457, - "uuid": "29466279-4d12-44dd-9f87-8429b61a9f13", - "version": "2018-10-10T03:10:33.862470Z" - }, - "analysis_file/28220905-f58d-48a1-9258-53f97dd9d388": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "38eadd82", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_gc_bias.csv", - "s3_etag": "b68225571ba64cc82b87354a481c5a65", - "sha1": "884adc7d8af3dd687d01a2910b13102ca98ba661", - "sha256": "2d6b0ed81a78a2026739a7053ba8319d006a7b0d9e0f46adb010180d22c76b5e", - "size": 8654, - "uuid": "4f53c7d8-13fd-4e60-8168-df2a26652d8f", - "version": "2018-10-10T03:10:34.363765Z" - }, - "analysis_file/21319798-fe9e-40a4-bcdb-a4c0780ee7bf": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "ec79e888", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_pre_adapter_detail_metrics.csv", - "s3_etag": "0c2ced49fa98593ccc44391d11174106", - "sha1": "4588c1483dbda52fa6ac651fa4c4eea45934e94e", - "sha256": "674f7fc16bb8c8e4ac0fb03779045ed0c1fdbe8ac6523dcac9341f94a7e2313d", - "size": 27293, - "uuid": "70367094-c901-4d72-a6b3-d2859729073a", - "version": "2018-10-10T03:10:34.734838Z" - }, - "analysis_file/fd67cd38-2483-49ff-8a9b-0fe1f2607901": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "5191baeb", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_pre_adapter_summary_metrics.csv", - "s3_etag": "1b89a42cd03d5d9e7220ccc7d858d33c", - "sha1": "f549092488701792b5c2b0d457604817a20c1f14", - "sha256": "8b90565cdda2daa693e74d5b9e7652eb4bb6aae91e6993b084f1103a9bfda23b", - "size": 1899, - "uuid": "84985aaf-e397-45ee-8b96-37ed2cc650d4", - "version": "2018-10-10T03:10:35.017351Z" - }, - "analysis_file/a5acdc07-18bf-4c06-b212-2b36e52173ef": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "700bd519", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.bam", - "s3_etag": "252fba8a8a9a74e71a67d76c2d43af2a", - "sha1": "36b1ed06e9fa618d30f68e4688ff14c3ef35f533", - "sha256": "e3cd90d79f520c0806dddb1ca0c5a11fbe26ac0c0be983ba5098d6769f78294c", - "size": 550597, - "uuid": "51c9ad31-5888-47eb-9e0c-02f042373c4e", - "version": "2018-10-10T03:10:35.284782Z" - }, - "analysis_file/da510e7a-5495-40c5-964d-b5291372102c": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "6ce5efc2", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.bam.bai", - "s3_etag": "02e8536c2b5a15f863662c14638990f2", - "sha1": "42a68b67fe6629a250624c3e22f736330d05ecdd", - "sha256": "d7dd835ba3e9cf56958976fc90267786233958c92d9dfcd5a6cb3c0ce95a52e2", - "size": 1399032, - "uuid": "7eda54d3-3522-4079-9089-60839ee4d4f9", - "version": "2018-10-10T03:10:35.686843Z" - }, - "analysis_file/14d63962-7cd3-43fc-a4d6-dc8f761c9ebd": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "3d94b063", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_rsem.bam", - "s3_etag": "75780fde759f788f49dc6ce4e6f5e8d9", - "sha1": "7571ea0e14164aba09f7b2b6cdc002fa29ccb0d6", - "sha256": "f25053412d65429cefc0157c0d18ae12d4bf4c4113a6af7a1820b62246c075a4", - "size": 3752733, - "uuid": "b1c167da-0825-4c63-9cbc-2aada1ab367c", - "version": "2018-10-10T03:10:35.971561Z" - }, - "analysis_file/b7f69b47-cbdf-4ec9-be6e-d316827aad8e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "7581baea", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_rsem.genes.results", - "s3_etag": "9d13558ea31e700fe61dd255b065b9ad", - "sha1": "0ea6d8330f1a16309141fcf2c6f319dc0dbfbdad", - "sha256": "60462c3b1ccde59bbff0f3b62a4f8491d07a0d7a55abbb2df093f72aaadb77b5", - "size": 7629174, - "uuid": "cf859616-212d-4579-bd86-03c5f8e06ec0", - "version": "2018-10-10T03:10:36.453150Z" - }, - "analysis_file/a3b39c62-3dd8-48f9-bcba-08a16f43a40b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "24b04481", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_rsem.isoforms.results", - "s3_etag": "91b14716c54ab3e10abfc6b16ce5f183", - "sha1": "e82535c6312125943138ded7dcfaea3795ee876c", - "sha256": "abf4f12296e2e99fa153b63f920657bfa37718681111091d51c098207e7f6b41", - "size": 18940597, - "uuid": "55878ed2-a7bf-423f-b6ee-97969e2e66ef", - "version": "2018-10-10T03:10:37.034867Z" - }, - "analysis_file/b4767274-c12b-401f-8bc1-9c9213149442": { - "content-type": "application/json; dcp-type=data", - "crc32c": "4e75003e", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!.zattrs", - "s3_etag": "a8cbf0e237beacfe4cfd095d66037933", - "sha1": "8186fa88c9a813908dcfc1a62a1357f9e11ae718", - "sha256": "e9bf2c74bb562b91a45538bd74225edfd3a62bd8b74ab8c71b3c8f7295f3fcc6", - "size": 144, - "uuid": "c1c4a2bc-b5fb-4083-af64-f5dec70d7f9d", - "version": "2018-10-10T03:10:37.983672Z" - }, - "analysis_file/dfa9da1b-3f48-4c76-86a2-833ded3e2745": { - "content-type": "application/json; dcp-type=data", - "crc32c": "444a7707", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!.zgroup", - "s3_etag": "e20297935e73dd0154104d4ea53040ab", - "sha1": "63b0fcd7748c79d0de97705fb1b8ed5fcc5ac788", - "sha256": "2383746e67b4bcc2762b3f100f06c3fa2d5f149ab5a8e5da5d33521464a01959", - "size": 24, - "uuid": "54541cc5-9010-425b-9037-22e43948c97c", - "version": "2018-10-10T03:10:38.239541Z" - }, - "analysis_file/11d84aef-c087-4fd1-bdc9-0c3402a0db01": { - "content-type": "application/json; dcp-type=data", - "crc32c": "444a7707", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!.zgroup", - "s3_etag": "e20297935e73dd0154104d4ea53040ab", - "sha1": "63b0fcd7748c79d0de97705fb1b8ed5fcc5ac788", - "sha256": "2383746e67b4bcc2762b3f100f06c3fa2d5f149ab5a8e5da5d33521464a01959", - "size": 24, - "uuid": "66b8f976-6f1e-45b3-bd97-069658c3c847", - "version": "2018-10-10T03:10:38.474167Z" - }, - "analysis_file/345c5bd6-ac02-4b5d-9d53-e2ec7d7928aa": { - "content-type": "application/json; dcp-type=data", - "crc32c": "c6ab0701", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!cell_id!.zarray", - "s3_etag": "88f882ca2ab02581ee075f06ed461bd3", - "sha1": "ef36662c52d1238bc5fe81fd5736fbec0a494255", - "sha256": "b0ae46aff3e2446c88dbde31abfb6253fcc8b571195f536f83d0641a29890669", - "size": 333, - "uuid": "ac05d7fb-d6b9-4ab1-8c04-6211450dbb62", - "version": "2018-10-10T03:10:38.714461Z" - }, - "analysis_file/5aa074b9-f6e6-4790-9608-b5eb37425341": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "cd2fd51f", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!cell_id!0.0", - "s3_etag": "ad931caebaa4673a79ba1646518b3b22", - "sha1": "04b542c7f3a28e251b6c62746d8ff271c5793213", - "sha256": "fa77e1466fbe9d016b8c20dade29ebc19356e586d725feaf83d3efc7b007161a", - "size": 153, - "uuid": "0c518a52-f315-4ea2-beed-1c9d8f2d802b", - "version": "2018-10-10T03:10:39.039270Z" - }, - "analysis_file/b9672a5e-03be-41a6-9155-b29626815e11": { - "content-type": "application/json; dcp-type=data", - "crc32c": "b89e6723", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!expression!.zarray", - "s3_etag": "1cc8c5a815470108493b451c5a974fd3", - "sha1": "b62a2d173d1b4fa4f35817a5eefa525a7b126691", - "sha256": "31f6f311ce1934669c993d3ae909f89084d605554312bc34262340e3f37005ca", - "size": 341, - "uuid": "136108ab-277e-47a4-acc3-1feed8fb2f25", - "version": "2018-10-10T03:10:39.426609Z" - }, - "analysis_file/c0da3d0b-128b-4b37-a3d6-9538ab29e9b6": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "caaefa77", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!expression!0.0", - "s3_etag": "5dcca28c1a3986b13c6263907603f9fe", - "sha1": "05a65499bbb60bc11d2a354299531eb84871fa3c", - "sha256": "625a4c8c5224432840964847bbefaf43cd535d9313d045ac5c9cb19411c86bee", - "size": 3054, - "uuid": "0bef5419-739c-4a2c-aedb-43754d55d51c", - "version": "2018-10-10T03:10:39.642846Z" - }, - "analysis_file/46465f1a-a0cc-413f-aebc-505e4714c6b2": { - "content-type": "application/json; dcp-type=data", - "crc32c": "f629ec34", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!gene_id!.zarray", - "s3_etag": "7249f898b5544927811b451d75aeed46", - "sha1": "f515b139f1aa08a62318482c60f03f24f3aa6d1a", - "sha256": "5c65571866242de9ca10a299eb14d239d5c5c5f4538835b2df600bb212076083", - "size": 341, - "uuid": "3a5f7299-1aa1-4060-9631-212c29b4d807", - "version": "2018-10-10T03:10:39.899615Z" - }, - "analysis_file/7ba06d4d-c134-4324-84e6-3a37e57af2ce": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "59d86b68", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!gene_id!0.0", - "s3_etag": "6f12a70e1d2e0d957839160d7140184f", - "sha1": "12b2164708bc1bf2794f01990dbc39497923270e", - "sha256": "ad468829c4ad38e218b5d0c1573803aba4a5fed31b6fc755c6394d97ac0d417b", - "size": 192191, - "uuid": "a8f0dc39-6019-4fc7-899d-4e34a48d03e5", - "version": "2018-10-10T03:10:40.113268Z" - }, - "analysis_file/7cd4f7cc-8712-4ffd-b91d-9cb7c6182f52": { - "content-type": "application/json; dcp-type=data", - "crc32c": "25d193cf", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!qc_metric!.zarray", - "s3_etag": "7c9347060581bb0df1cd715ff6c50bee", - "sha1": "fdc77f73444010798c64fc5e60b0f789a2d6662a", - "sha256": "334848718d4aee17991ea4cd9f0585654e24c7967a0a11c5f259c7b8825d8227", - "size": 337, - "uuid": "68ba4711-1447-42ac-aa40-9c0e4cda1666", - "version": "2018-10-10T03:10:40.583439Z" - }, - "analysis_file/54604922-909e-4094-83d7-9d8ac7e7cdbd": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "17a84191", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!qc_metric!0.0", - "s3_etag": "6f271e454e75562eb7f759ee6896a9a0", - "sha1": "0fe0dc239af5220fa7b7875968996786521f7a3e", - "sha256": "215349395555fa4af2669d6119ef0ff39ba7aa3f34cb981041024466ff462693", - "size": 4054, - "uuid": "27e66328-e337-4bcd-ba15-7893ecaf841f", - "version": "2018-10-10T03:10:40.801631Z" - }, - "analysis_file/e0fc82a4-9bc2-4219-b763-99c865e4f9c0": { - "content-type": "application/json; dcp-type=data", - "crc32c": "25d193cf", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!qc_values!.zarray", - "s3_etag": "7c9347060581bb0df1cd715ff6c50bee", - "sha1": "fdc77f73444010798c64fc5e60b0f789a2d6662a", - "sha256": "334848718d4aee17991ea4cd9f0585654e24c7967a0a11c5f259c7b8825d8227", - "size": 337, - "uuid": "2ab1a516-ef36-41b6-a78f-513361658feb", - "version": "2018-10-10T03:10:40.958708Z" - }, - "analysis_file/5c3246df-9ee8-42fe-ab19-ddd0ddea3e15": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "bdc30523", - "indexed": false, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!qc_values!0.0", - "s3_etag": "67a36634c3e2ff81456d99448d095d1f", - "sha1": "299b4bedef00ea0356bcdecb6bd616a9f37700a1", - "sha256": "af4b69064dd3f393d9da8138f0f5b5599e5fcac35daa0cc0233ec229c5135d0a", - "size": 1257, - "uuid": "351970aa-bc4c-405e-a274-be9e08e42e98", - "version": "2018-10-10T03:10:41.135992Z" - }, - "sequence_file/5f0cdf49-aabe-40f4-8af3-033115805bb0": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "4ef74578", - "indexed": false, - "name": "R1.fastq.gz", - "s3_etag": "c7bbee4c46bbf29432862e05830c8f39", - "sha1": "17f8b4be0cc6e8281a402bb365b1283b458906a3", - "sha256": "fe6d4fdfea2ff1df97500dcfe7085ac3abfb760026bff75a34c20fb97a4b2b29", - "size": 125191, - "uuid": "c005f647-b3fb-45a8-857a-8f5e6a878ccf", - "version": "2018-10-10T02:38:11.612423Z" - }, - "sequence_file/74c8c730-139e-40a5-b77e-f46088fa4d95": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "69987b3e", - "indexed": false, - "name": "R2.fastq.gz", - "s3_etag": "a3a9f23d07cfc5e40a4c3a8adf3903ae", - "sha1": "f166b6952e30a41e1409e7fb0cb0fb1ad93f3f21", - "sha256": "c305bee37b3c3735585e11306272b6ab085f04cd22ea8703957b4503488cfeba", - "size": 130024, - "uuid": "b764ce7d-3938-4451-b68c-678feebc8f2a", - "version": "2018-10-10T02:38:11.851483Z" - } - }, - "metadata": { - "cell_suspension/377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Q4_DEMO-cellsus_SAMN02797092", - "ncbi_taxon_id": [ - 9606 - ] - }, - "provenance": { - "document_id": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0", - "submission_date": "2018-10-10T02:23:39.596Z", - "update_date": "2018-10-10T02:23:43.182Z" - } - }, - "specimen_from_organism/b5894cf5-ecdc-4ea6-a0b9-5335ab678c7a": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Q4_DEMO-sample_SAMN02797092", - "biomaterial_name": "Q4_DEMO-Single cell mRNA-seq_MGH30_A01", - "ncbi_taxon_id": [ - 9606 - ], - "supplementary_files": [ - "Q4_DEMO-protocol" - ] - }, - "genus_species": [ - { - "text": "Homo sapiens" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955" - }, - "organ_part": { - "text": "temporal lobe", - "ontology": "UBERON:0001871" - }, - "diseases": [ - { - "text": "glioblastoma" - } - ], - "provenance": { - "document_id": "b5894cf5-ecdc-4ea6-a0b9-5335ab678c7a", - "submission_date": "2018-10-10T02:23:39.588Z", - "update_date": "2018-10-10T02:23:43.038Z" - } - }, - "donor_organism/242e38d2-c975-47ee-800a-6645b47e92d2": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Q4_DEMO-donor_MGH30", - "biomaterial_name": "Q4 DEMO donor MGH30", - "ncbi_taxon_id": [ - 9606 - ] - }, - "medical_history": { - "smoking_history": "yes" - }, - "genus_species": [ - { - "text": "Homo sapiens" - } - ], - "development_stage": { - "text": "early adult stage", - "ontology": "EFO:0001272", - "ontology_label": "adult" - }, - "is_living": "no", - "sex": "unknown", - "provenance": { - "document_id": "242e38d2-c975-47ee-800a-6645b47e92d2", - "submission_date": "2018-10-10T02:23:39.580Z", - "update_date": "2018-10-10T02:23:42.998Z" - } - }, - "analysis_file/48e42fe3-41cd-49bd-b7f4-1e3c49682131": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.bait_bias_summary_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "48e42fe3-41cd-49bd-b7f4-1e3c49682131", - "submission_date": "2018-10-10T03:03:53.006Z", - "update_date": "2018-10-10T03:06:57.924Z" - } - }, - "analysis_file/8b4ed86d-99a8-4665-8f56-5a54fac6cb12": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.insert_size_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "8b4ed86d-99a8-4665-8f56-5a54fac6cb12", - "submission_date": "2018-10-10T03:03:53.108Z", - "update_date": "2018-10-10T03:06:54.727Z" - } - }, - "analysis_file/416e31c0-b0ec-4674-ab37-ab8506a9f219": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.quality_by_cycle_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "416e31c0-b0ec-4674-ab37-ab8506a9f219", - "submission_date": "2018-10-10T03:03:53.209Z", - "update_date": "2018-10-10T03:06:57.736Z" - } - }, - "analysis_file/0b34a80b-c818-4010-b193-e44a77036e27": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.quality_distribution_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "0b34a80b-c818-4010-b193-e44a77036e27", - "submission_date": "2018-10-10T03:03:53.306Z", - "update_date": "2018-10-10T03:06:57.736Z" - } - }, - "analysis_file/9a827f0b-d74a-436f-a39f-f8c8c9eadfa3": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.rna_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "9a827f0b-d74a-436f-a39f-f8c8c9eadfa3", - "submission_date": "2018-10-10T03:03:53.407Z", - "update_date": "2018-10-10T03:06:59.054Z" - } - }, - "analysis_file/1d77c6c5-24b6-4d43-ad5d-b02fba050025": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_QCs.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "1d77c6c5-24b6-4d43-ad5d-b02fba050025", - "submission_date": "2018-10-10T03:03:53.506Z", - "update_date": "2018-10-10T03:07:04.612Z" - } - }, - "analysis_file/18791e67-0c74-43e0-be28-f0c3cd78c7a4": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_bait_bias_detail_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "18791e67-0c74-43e0-be28-f0c3cd78c7a4", - "submission_date": "2018-10-10T03:03:53.607Z", - "update_date": "2018-10-10T03:07:05.571Z" - } - }, - "analysis_file/9d88ec61-e189-4618-ac15-992a134749a8": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_base_distribution_by_cycle_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "9d88ec61-e189-4618-ac15-992a134749a8", - "submission_date": "2018-10-10T03:03:53.706Z", - "update_date": "2018-10-10T03:07:08.560Z" - } - }, - "analysis_file/c059ee58-fbea-40d9-b552-acc1285138a3": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_error_summary_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "c059ee58-fbea-40d9-b552-acc1285138a3", - "submission_date": "2018-10-10T03:03:53.808Z", - "update_date": "2018-10-10T03:07:08.560Z" - } - }, - "analysis_file/28220905-f58d-48a1-9258-53f97dd9d388": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_gc_bias.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "28220905-f58d-48a1-9258-53f97dd9d388", - "submission_date": "2018-10-10T03:03:53.908Z", - "update_date": "2018-10-10T03:07:08.939Z" - } - }, - "analysis_file/21319798-fe9e-40a4-bcdb-a4c0780ee7bf": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_pre_adapter_detail_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "21319798-fe9e-40a4-bcdb-a4c0780ee7bf", - "submission_date": "2018-10-10T03:03:54.011Z", - "update_date": "2018-10-10T03:07:09.968Z" - } - }, - "analysis_file/fd67cd38-2483-49ff-8a9b-0fe1f2607901": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_pre_adapter_summary_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "fd67cd38-2483-49ff-8a9b-0fe1f2607901", - "submission_date": "2018-10-10T03:03:54.110Z", - "update_date": "2018-10-10T03:07:11.061Z" - } - }, - "analysis_file/a5acdc07-18bf-4c06-b212-2b36e52173ef": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "a5acdc07-18bf-4c06-b212-2b36e52173ef", - "submission_date": "2018-10-10T03:03:54.207Z", - "update_date": "2018-10-10T03:06:52.860Z" - } - }, - "analysis_file/da510e7a-5495-40c5-964d-b5291372102c": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.bam.bai", - "file_format": "bai" - }, - "provenance": { - "document_id": "da510e7a-5495-40c5-964d-b5291372102c", - "submission_date": "2018-10-10T03:03:54.308Z", - "update_date": "2018-10-10T03:06:53.850Z" - } - }, - "analysis_file/14d63962-7cd3-43fc-a4d6-dc8f761c9ebd": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_rsem.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "14d63962-7cd3-43fc-a4d6-dc8f761c9ebd", - "submission_date": "2018-10-10T03:03:54.411Z", - "update_date": "2018-10-10T03:07:00.280Z" - } - }, - "analysis_file/b7f69b47-cbdf-4ec9-be6e-d316827aad8e": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_rsem.genes.results", - "file_format": "results" - }, - "provenance": { - "document_id": "b7f69b47-cbdf-4ec9-be6e-d316827aad8e", - "submission_date": "2018-10-10T03:03:54.514Z", - "update_date": "2018-10-10T03:07:03.278Z" - } - }, - "analysis_file/a3b39c62-3dd8-48f9-bcba-08a16f43a40b": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_rsem.isoforms.results", - "file_format": "results" - }, - "provenance": { - "document_id": "a3b39c62-3dd8-48f9-bcba-08a16f43a40b", - "submission_date": "2018-10-10T03:03:54.614Z", - "update_date": "2018-10-10T03:07:03.879Z" - } - }, - "analysis_file/b4767274-c12b-401f-8bc1-9c9213149442": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!.zattrs", - "file_format": "matrix" - }, - "provenance": { - "document_id": "b4767274-c12b-401f-8bc1-9c9213149442", - "submission_date": "2018-10-10T03:03:54.714Z", - "update_date": "2018-10-10T03:07:14.068Z" - } - }, - "analysis_file/dfa9da1b-3f48-4c76-86a2-833ded3e2745": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!.zgroup", - "file_format": "unknown" - }, - "provenance": { - "document_id": "dfa9da1b-3f48-4c76-86a2-833ded3e2745", - "submission_date": "2018-10-10T03:03:54.812Z", - "update_date": "2018-10-10T03:07:14.068Z" - } - }, - "analysis_file/11d84aef-c087-4fd1-bdc9-0c3402a0db01": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!.zgroup", - "file_format": "unknown" - }, - "provenance": { - "document_id": "11d84aef-c087-4fd1-bdc9-0c3402a0db01", - "submission_date": "2018-10-10T03:03:54.909Z", - "update_date": "2018-10-10T03:07:14.083Z" - } - }, - "analysis_file/345c5bd6-ac02-4b5d-9d53-e2ec7d7928aa": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!cell_id!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "345c5bd6-ac02-4b5d-9d53-e2ec7d7928aa", - "submission_date": "2018-10-10T03:03:55.005Z", - "update_date": "2018-10-10T03:07:15.121Z" - } - }, - "analysis_file/5aa074b9-f6e6-4790-9608-b5eb37425341": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!cell_id!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "5aa074b9-f6e6-4790-9608-b5eb37425341", - "submission_date": "2018-10-10T03:03:55.102Z", - "update_date": "2018-10-10T03:07:16.070Z" - } - }, - "analysis_file/b9672a5e-03be-41a6-9155-b29626815e11": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!expression!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "b9672a5e-03be-41a6-9155-b29626815e11", - "submission_date": "2018-10-10T03:03:55.200Z", - "update_date": "2018-10-10T03:07:19.076Z" - } - }, - "analysis_file/c0da3d0b-128b-4b37-a3d6-9538ab29e9b6": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!expression!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "c0da3d0b-128b-4b37-a3d6-9538ab29e9b6", - "submission_date": "2018-10-10T03:03:55.300Z", - "update_date": "2018-10-10T03:07:19.076Z" - } - }, - "analysis_file/46465f1a-a0cc-413f-aebc-505e4714c6b2": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!gene_id!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "46465f1a-a0cc-413f-aebc-505e4714c6b2", - "submission_date": "2018-10-10T03:03:55.402Z", - "update_date": "2018-10-10T03:07:19.922Z" - } - }, - "analysis_file/7ba06d4d-c134-4324-84e6-3a37e57af2ce": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!gene_id!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "7ba06d4d-c134-4324-84e6-3a37e57af2ce", - "submission_date": "2018-10-10T03:03:55.500Z", - "update_date": "2018-10-10T03:07:20.313Z" - } - }, - "analysis_file/7cd4f7cc-8712-4ffd-b91d-9cb7c6182f52": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!qc_metric!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "7cd4f7cc-8712-4ffd-b91d-9cb7c6182f52", - "submission_date": "2018-10-10T03:03:55.597Z", - "update_date": "2018-10-10T03:07:21.178Z" - } - }, - "analysis_file/54604922-909e-4094-83d7-9d8ac7e7cdbd": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!qc_metric!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "54604922-909e-4094-83d7-9d8ac7e7cdbd", - "submission_date": "2018-10-10T03:03:55.698Z", - "update_date": "2018-10-10T03:07:24.187Z" - } - }, - "analysis_file/e0fc82a4-9bc2-4219-b763-99c865e4f9c0": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!qc_values!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "e0fc82a4-9bc2-4219-b763-99c865e4f9c0", - "submission_date": "2018-10-10T03:03:55.801Z", - "update_date": "2018-10-10T03:07:24.187Z" - } - }, - "analysis_file/5c3246df-9ee8-42fe-ab19-ddd0ddea3e15": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!qc_values!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "5c3246df-9ee8-42fe-ab19-ddd0ddea3e15", - "submission_date": "2018-10-10T03:03:55.898Z", - "update_date": "2018-10-10T03:07:24.568Z" - } - }, - "sequence_file/5f0cdf49-aabe-40f4-8af3-033115805bb0": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "R1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "5f0cdf49-aabe-40f4-8af3-033115805bb0", - "submission_date": "2018-10-10T02:23:39.605Z", - "update_date": "2018-10-10T03:03:52.783Z" - } - }, - "sequence_file/74c8c730-139e-40a5-b77e-f46088fa4d95": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "R2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "74c8c730-139e-40a5-b77e-f46088fa4d95", - "submission_date": "2018-10-10T02:23:39.616Z", - "update_date": "2018-10-10T03:03:52.906Z" - } - }, - "project/6615efae-fca8-4dd2-a223-9cfcf30fe94d": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "integration/Smart-seq2/2018-10-10T02:23:36Z", - "project_title": "Q4_DEMO-Single cell RNA-seq of primary human glioblastomas", - "project_description": "Q4_DEMO-We report transcriptomes from 430 single glioblastoma cells isolated from 5 individual tumors and 102 single cells from gliomasphere cells lines generated using SMART-seq. In addition, we report population RNA-seq from the five tumors as well as RNA-seq from cell lines derived from 3 tumors (MGH26, MGH28, MGH31) cultured under serum free (GSC) and differentiated (DGC) conditions. This dataset highlights intratumoral heterogeneity with regards to the expression of de novo derived transcriptional modules and established subtype classifiers. Overall design: Operative specimens from five glioblastoma patients (MGH26, MGH28, MGH29, MGH30, MGH31) were acutely dissociated, depleted for CD45+ inflammatory cells and then sorted as single cells (576 samples). Population controls for each tumor were isolated by sorting 2000-10000 cells and processed in parallel (5 population control samples). Single cells from two established cell lines, GBM6 and GBM8, were also sorted as single cells (192 samples). SMART-seq protocol was implemented to generate single cell full length transcriptomes (modified from Shalek, et al Nature 2013) and sequenced using 25 bp paired end reads. Single cell cDNA libraries for MGH30 were resequenced using 100 bp paired end reads to allow for isoform and splice junction reconstruction (96 samples, annotated MGH30L). Cells were also cultured in serum free conditions to generate gliomasphere cell lines for MGH26, MGH28, and MGH31 (GSC) which were then differentiated using 10% serum (DGC). Population RNA-seq was performed on these samples (3 GSC, 3 DGC, 6 total). The initial dataset included 875 RNA-seq libraries (576 single glioblastoma cells, 96 resequenced MGH30L, 192 single gliomasphere cells, 5 tumor population controls, 6 population libraries from GSC and DGC samples). Data was processed as described below using RSEM for quantification of gene expression. 5,948 genes with the highest composite expression either across all single cells combined (average log2(TPM)>4.5) or within a single tumor (average log2(TPM)>6 in at least one tumor) were included. Cells expressing less than 2,000 of these 5,948 genes were excluded. The final processed dataset then included 430 primary single cell glioblastoma transcriptomes, 102 single cell transcriptomes from cell lines(GBM6,GBM8), 5 population controls (1 for each tumor), and 6 population libraries from cell lines derived from the tumors (GSC and DGC for MGH26, MGH28 and MGH31). The final matrix (GBM_data_matrix.txt) therefore contains 5948 rows (genes) quantified in 543 samples (columns). Please note that the samples which are not included in the data processing are indicated in the sample description field." - }, - "contributors": [ - { - "contact_name": "Q4_DEMO-MintTeam", - "email": "dummy@email.com", - "institution": "Fake Institution" - } - ], - "hca_bionetworks": [ - { - "name": "Immune", - "atlas_project": false, - "hca_tissue_atlas": "Blood", - "hca_tissue_atlas_version": "v1.0", - "schema_version": "1.0.1" - } - ], - "provenance": { - "document_id": "6615efae-fca8-4dd2-a223-9cfcf30fe94d", - "submission_date": "2018-10-10T02:23:39.569Z", - "update_date": "2018-10-10T02:23:47.926Z" - } - }, - "library_preparation_protocol/92bc8cf5-b595-4536-b0e8-46eb702b4f4f": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "preparation1" - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931" - }, - "nucleic_acid_source": "single cell", - "end_bias": "5 prime end bias", - "primer": "poly-dT", - "strand": "unstranded", - "provenance": { - "document_id": "92bc8cf5-b595-4536-b0e8-46eb702b4f4f", - "submission_date": "2018-10-10T02:23:39.640Z", - "update_date": "2018-10-10T02:23:47.924Z" - } - }, - "sequencing_protocol/da614ddd-0384-49ca-a6e1-2141ace13a01": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "assay_1" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500" - }, - "paired_end": true, - "sequencing_approach": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441" - }, - "provenance": { - "document_id": "da614ddd-0384-49ca-a6e1-2141ace13a01", - "submission_date": "2018-10-10T02:23:39.648Z", - "update_date": "2018-10-10T02:23:47.923Z" - } - }, - "dissociation_protocol/63d78c21-061c-4e94-bb68-a5914f811447": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_1", - "protocol_name": "a FACS method to separate cells" - }, - "dissociation_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "provenance": { - "document_id": "63d78c21-061c-4e94-bb68-a5914f811447", - "submission_date": "2018-10-10T02:23:39.624Z", - "update_date": "2018-10-10T02:23:47.925Z" - } - }, - "enrichment_protocol/d7820ce6-f0f4-4778-9353-423626dbd7c0": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment1" - }, - "enrichment_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "provenance": { - "document_id": "d7820ce6-f0f4-4778-9353-423626dbd7c0", - "submission_date": "2018-10-10T02:23:39.631Z", - "update_date": "2018-10-10T02:23:47.920Z" - } - }, - "analysis_process/d2323ee7-3623-4713-8b27-01cc003e2061": { - "analysis_run_type": "run", - "describedBy": "http://schema.integration.data.humancellatlas.org/type/process/analysis/8.0.3/analysis_process", - "input_bundles": [ - "80e85c24-91f5-454a-9e34-a2e49bcdf206" - ], - "inputs": [ - { - "parameter_name": "fastq1", - "parameter_value": "gs://org-hca-dss-checkout-integration/bundles/80e85c24-91f5-454a-9e34-a2e49bcdf206.2018-10-10T023812.845130Z/R1.fastq.gz" - }, - { - "parameter_name": "fastq2", - "parameter_value": "gs://org-hca-dss-checkout-integration/bundles/80e85c24-91f5-454a-9e34-a2e49bcdf206.2018-10-10T023812.845130Z/R2.fastq.gz" - }, - { - "parameter_name": "sample_name", - "parameter_value": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0" - }, - { - "parameter_name": "output_name", - "parameter_value": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0" - }, - { - "parameter_name": "gtf_file", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.primary_assembly.annotation.gtf" - }, - { - "parameter_name": "genome_ref_fasta", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "rrna_intervals", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.rRNA.interval_list" - }, - { - "parameter_name": "gene_ref_flat", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_gencode.v27.refFlat.txt" - }, - { - "parameter_name": "hisat2_ref_index", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/HISAT2/genome_snp_tran.tar.gz" - }, - { - "parameter_name": "hisat2_ref_trans_name", - "parameter_value": "gencode_v27_trans_rsem" - }, - { - "parameter_name": "rsem_ref_index", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode_v27_primary.tar" - }, - { - "parameter_name": "hisat2_ref_name", - "parameter_value": "genome_snp_tran" - }, - { - "parameter_name": "hisat2_ref_trans_name", - "parameter_value": "gencode_v27_trans_rsem" - }, - { - "parameter_name": "stranded", - "parameter_value": "NONE" - } - ], - "outputs": [ - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.bait_bias_summary_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.insert_size_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.quality_by_cycle_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.quality_distribution_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.rna_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_QCs.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_bait_bias_detail_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_base_distribution_by_cycle_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_error_summary_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_gc_bias.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_pre_adapter_detail_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_pre_adapter_summary_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bam", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bai", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.bam.bai" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bam", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_rsem.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "results", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_rsem.genes.results" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "results", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_rsem.isoforms.results" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "matrix", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!.zattrs" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!.zgroup" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!.zgroup" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!cell_id!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!cell_id!0.0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!expression!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!expression!0.0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!gene_id!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!gene_id!0.0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!qc_metric!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!qc_metric!0.0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!qc_values!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr!expression_matrix!qc_values!0.0" - }, - "schema_type": "file" - } - ], - "process_core": { - "process_id": "d8a03314-468c-4c4a-a246-14e4d4246512" - }, - "process_type": { - "text": "analysis" - }, - "reference_bundle": "bf51d668-3e14-4843-9bc7-5d676fdf0e01", - "schema_type": "process", - "tasks": [ - { - "cpus": 2, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-CollectDuplicationMetrics/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-CollectDuplicationMetrics/stdout", - "memory": "7.5 GB", - "start_time": "2018-10-10T02:48:48.283Z", - "stop_time": "2018-10-10T02:50:46.535Z", - "task_name": "CollectDuplicationMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 14 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-CollectMultipleMetrics/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-CollectMultipleMetrics/stdout", - "memory": "7.5 GB", - "start_time": "2018-10-10T02:48:48.283Z", - "stop_time": "2018-10-10T02:53:52.535Z", - "task_name": "CollectMultipleMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-CollectRnaMetrics/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-CollectRnaMetrics/stdout", - "memory": "3.5 GB", - "start_time": "2018-10-10T02:48:48.283Z", - "stop_time": "2018-10-10T02:51:49.541Z", - "task_name": "CollectRnaMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.0", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-GroupQCOutputs/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-GroupQCOutputs/stdout", - "memory": "2 GB", - "start_time": "2018-10-10T02:53:54.284Z", - "stop_time": "2018-10-10T02:56:52.536Z", - "task_name": "GroupQCOutputs", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 21 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-HISAT2PairedEnd/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-HISAT2PairedEnd/stdout", - "memory": "15 GB", - "start_time": "2018-10-10T02:43:54.523Z", - "stop_time": "2018-10-10T02:48:46.535Z", - "task_name": "HISAT2PairedEnd", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 12 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-HISAT2Transcriptome/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-HISAT2Transcriptome/stdout", - "memory": "15 GB", - "start_time": "2018-10-10T02:43:54.523Z", - "stop_time": "2018-10-10T02:47:01.534Z", - "task_name": "HISAT2Transcriptome", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 22 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-rsem:v0.2.2-1.3.0", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-RSEMExpression/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-RSEMExpression/stdout", - "memory": "3.5 GB", - "start_time": "2018-10-10T02:47:03.223Z", - "stop_time": "2018-10-10T02:51:22.537Z", - "task_name": "RSEMExpression", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 100 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-python3-scientific:0.1.6_zarr_test", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-SmartSeq2ZarrConversion/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/a1f6b28a-8826-4f45-82f2-af6428880030/call-analysis/ss2.SmartSeq2SingleCell/d8a03314-468c-4c4a-a246-14e4d4246512/call-SmartSeq2ZarrConversion/stdout", - "memory": "16 GB", - "start_time": "2018-10-10T02:56:53.803Z", - "stop_time": "2018-10-10T02:59:55.537Z", - "task_name": "SmartSeq2ZarrConversion", - "zone": "us-central1-b" - } - ], - "timestamp_start_utc": "2018-10-10T02:43:51.424Z", - "timestamp_stop_utc": "2018-10-10T02:59:57.404Z", - "provenance": { - "document_id": "d2323ee7-3623-4713-8b27-01cc003e2061", - "submission_date": "2018-10-10T03:03:52.484Z", - "update_date": "2018-10-10T03:03:55.832Z" - } - }, - "process/5afa951e-1591-4bad-a4f8-2e13cbdb760c": { - "process_core": { - "process_id": "sequence_process_file_1" - }, - "schema_type": "process", - "describedBy": "http://schema.integration.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5afa951e-1591-4bad-a4f8-2e13cbdb760c", - "submission_date": "2018-10-10T02:23:39.688Z", - "update_date": "2018-10-10T02:23:43.283Z" - } - }, - "process/27b9dad1-b670-4fc3-aad3-24e51e70dfba": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "http://schema.integration.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "27b9dad1-b670-4fc3-aad3-24e51e70dfba", - "submission_date": "2018-10-10T02:23:39.666Z", - "update_date": "2018-10-10T02:23:42.932Z" - } - }, - "process/908d468a-eb62-4d19-8706-c5f708a14940": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "http://schema.integration.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "908d468a-eb62-4d19-8706-c5f708a14940", - "submission_date": "2018-10-10T02:23:39.658Z", - "update_date": "2018-10-10T02:23:43.104Z" - } - } - }, - "links": { - "describedBy": "http://schema.integration.data.humancellatlas.org/system/1.1.3/links", - "schema_type": "link_bundle", - "schema_version": "1.1.3", - "links": [ - { - "process": "d2323ee7-3623-4713-8b27-01cc003e2061", - "inputs": [ - "5f0cdf49-aabe-40f4-8af3-033115805bb0", - "74c8c730-139e-40a5-b77e-f46088fa4d95" - ], - "input_type": "file", - "outputs": [ - "48e42fe3-41cd-49bd-b7f4-1e3c49682131", - "8b4ed86d-99a8-4665-8f56-5a54fac6cb12", - "416e31c0-b0ec-4674-ab37-ab8506a9f219", - "0b34a80b-c818-4010-b193-e44a77036e27", - "9a827f0b-d74a-436f-a39f-f8c8c9eadfa3", - "1d77c6c5-24b6-4d43-ad5d-b02fba050025", - "18791e67-0c74-43e0-be28-f0c3cd78c7a4", - "9d88ec61-e189-4618-ac15-992a134749a8", - "c059ee58-fbea-40d9-b552-acc1285138a3", - "28220905-f58d-48a1-9258-53f97dd9d388", - "21319798-fe9e-40a4-bcdb-a4c0780ee7bf", - "fd67cd38-2483-49ff-8a9b-0fe1f2607901", - "a5acdc07-18bf-4c06-b212-2b36e52173ef", - "da510e7a-5495-40c5-964d-b5291372102c", - "14d63962-7cd3-43fc-a4d6-dc8f761c9ebd", - "b7f69b47-cbdf-4ec9-be6e-d316827aad8e", - "a3b39c62-3dd8-48f9-bcba-08a16f43a40b", - "b4767274-c12b-401f-8bc1-9c9213149442", - "dfa9da1b-3f48-4c76-86a2-833ded3e2745", - "11d84aef-c087-4fd1-bdc9-0c3402a0db01", - "345c5bd6-ac02-4b5d-9d53-e2ec7d7928aa", - "5aa074b9-f6e6-4790-9608-b5eb37425341", - "b9672a5e-03be-41a6-9155-b29626815e11", - "c0da3d0b-128b-4b37-a3d6-9538ab29e9b6", - "46465f1a-a0cc-413f-aebc-505e4714c6b2", - "7ba06d4d-c134-4324-84e6-3a37e57af2ce", - "7cd4f7cc-8712-4ffd-b91d-9cb7c6182f52", - "54604922-909e-4094-83d7-9d8ac7e7cdbd", - "e0fc82a4-9bc2-4219-b763-99c865e4f9c0", - "5c3246df-9ee8-42fe-ab19-ddd0ddea3e15" - ], - "output_type": "file", - "protocols": [] - }, - { - "process": "5afa951e-1591-4bad-a4f8-2e13cbdb760c", - "inputs": [ - "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0" - ], - "input_type": "biomaterial", - "outputs": [ - "5f0cdf49-aabe-40f4-8af3-033115805bb0", - "74c8c730-139e-40a5-b77e-f46088fa4d95" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "92bc8cf5-b595-4536-b0e8-46eb702b4f4f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "da614ddd-0384-49ca-a6e1-2141ace13a01" - } - ] - }, - { - "process": "27b9dad1-b670-4fc3-aad3-24e51e70dfba", - "inputs": [ - "b5894cf5-ecdc-4ea6-a0b9-5335ab678c7a" - ], - "input_type": "biomaterial", - "outputs": [ - "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "63d78c21-061c-4e94-bb68-a5914f811447" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "d7820ce6-f0f4-4778-9353-423626dbd7c0" - } - ] - }, - { - "process": "908d468a-eb62-4d19-8706-c5f708a14940", - "inputs": [ - "242e38d2-c975-47ee-800a-6645b47e92d2" - ], - "input_type": "biomaterial", - "outputs": [ - "b5894cf5-ecdc-4ea6-a0b9-5335ab678c7a" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "5afa951e-1591-4bad-a4f8-2e13cbdb760c", - "inputs": [ - "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0" - ], - "input_type": "biomaterial", - "outputs": [ - "5f0cdf49-aabe-40f4-8af3-033115805bb0", - "74c8c730-139e-40a5-b77e-f46088fa4d95" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "92bc8cf5-b595-4536-b0e8-46eb702b4f4f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "da614ddd-0384-49ca-a6e1-2141ace13a01" - } - ] - }, - { - "process": "27b9dad1-b670-4fc3-aad3-24e51e70dfba", - "inputs": [ - "b5894cf5-ecdc-4ea6-a0b9-5335ab678c7a" - ], - "input_type": "biomaterial", - "outputs": [ - "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "63d78c21-061c-4e94-bb68-a5914f811447" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "d7820ce6-f0f4-4778-9353-423626dbd7c0" - } - ] - }, - { - "process": "908d468a-eb62-4d19-8706-c5f708a14940", - "inputs": [ - "242e38d2-c975-47ee-800a-6645b47e92d2" - ], - "input_type": "biomaterial", - "outputs": [ - "b5894cf5-ecdc-4ea6-a0b9-5335ab678c7a" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/6b35f59c-d33d-abf7-9ba0-c7b3a0ca82f3.tdr.anvil.json b/test/indexer/data/6b35f59c-d33d-abf7-9ba0-c7b3a0ca82f3.tdr.anvil.json deleted file mode 100644 index a9ff2d7af3..0000000000 --- a/test/indexer/data/6b35f59c-d33d-abf7-9ba0-c7b3a0ca82f3.tdr.anvil.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "entities": {}, - "links": {}, - "orphans": { - "non_schema_orphan_table/9687b86d-a2ae-a083-b910-a16bcbef1ba4": { - "datarepo_row_id": "9687b86d-a2ae-a083-b910-a16bcbef1ba4", - "non_schema_column": "spam", - "version": "2022-06-01T00:00:00.000000Z" - }, - "non_schema_orphan_table/28ed0f3a-157b-417b-a05a-48f57f9d3a34": { - "datarepo_row_id": "28ed0f3a-157b-417b-a05a-48f57f9d3a34", - "non_schema_column": "eggs", - "version": "2022-06-01T00:00:00.000000Z" - }, - "non_schema_orphan_table/9db5952c-c454-49d9-8a62-5abb026701c0": { - "datarepo_row_id": "9db5952c-c454-49d9-8a62-5abb026701c0", - "non_schema_column": "baked beans", - "version": "2022-06-01T00:00:00.000000Z" - }, - "anvil_dataset/2370f948-2783-4eb6-afea-e022897f4dcf": { - "consent_group": [ - "DS-BDIS" - ], - "data_modality": [], - "data_use_permission": [ - "DS-BDIS" - ], - "datarepo_row_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [], - "registered_identifier": [ - "phs000693" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "version": "2022-06-01T00:00:00.000000Z" - } - } -} \ No newline at end of file diff --git a/test/indexer/data/6c87f0e1-509d-46a4-b845-7584df39263b.tables.tdr.json b/test/indexer/data/6c87f0e1-509d-46a4-b845-7584df39263b.tables.tdr.json deleted file mode 100644 index 8a119af5c6..0000000000 --- a/test/indexer/data/6c87f0e1-509d-46a4-b845-7584df39263b.tables.tdr.json +++ /dev/null @@ -1,275 +0,0 @@ -{ - "tables": { - "anvil_activity": { - "rows": [ - { - "activity_id": "95aa5a62-0c42-48c7-aa70-e9987cfd9824", - "activity_type": "other", - "datarepo_row_id": "85342e55-8897-481e-a2c3-b7344071a72c", - "generated_file_id": [], - "source_datarepo_row_ids": [], - "used_biosample_id": [], - "used_file_id": [] - } - ] - }, - "anvil_alignmentactivity": { - "rows": [ - { - "activity_type": "alignment", - "alignmentactivity_id": "bb22e6de-7704-4435-8684-a34b1e4ff188", - "data_modality": [], - "datarepo_row_id": "a6f3f829-dec6-4be8-9d53-2c963f9206fc", - "generated_file_id": [], - "reference_assembly": [], - "source_datarepo_row_ids": [], - "used_file_id": [] - } - ] - }, - "anvil_assayactivity": { - "rows": [ - { - "activity_type": "assay", - "antibody_id": [], - "assay_type": "", - "assayactivity_id": "d9150ab0-8e4a-46ab-9501-4b91c6f548e1", - "data_modality": [], - "datarepo_row_id": "9258bb9f-1e2b-4139-9226-3588154a4632", - "generated_file_id": [], - "source_datarepo_row_ids": [], - "used_biosample_id": [] - } - ] - }, - "anvil_biosample": { - "rows": [ - { - "anatomical_site": null, - "apriori_cell_type": [], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "biosample_type": null, - "datarepo_row_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "disease": null, - "donor_age_at_collection_lower_bound": null, - "donor_age_at_collection_unit": null, - "donor_age_at_collection_upper_bound": null, - "donor_id": [ - "1e2bd7e5-f45e-a391-daea-7c060be76acd" - ], - "part_of_dataset_id": [ - "52ee7665-7033-63f2-a8d9-ce8e32666739" - ], - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ] - } - ] - }, - "anvil_dataset": { - "rows": [ - { - "consent_group": [ - "DS-BDIS" - ], - "data_modality": [], - "data_use_permission": [ - "DS-BDIS" - ], - "datarepo_row_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [], - "registered_identifier": [ - "phs000693" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS" - } - ] - }, - "anvil_diagnosis": { - "rows": [ - { - "datarepo_row_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "diagnosis_age_lower_bound": null, - "diagnosis_age_unit": null, - "diagnosis_age_upper_bound": null, - "diagnosis_id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "disease": [ - "redacted-A61iJlLx" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "onset_age_lower_bound": null, - "onset_age_unit": null, - "onset_age_upper_bound": null, - "phenopacket": [], - "phenotype": [ - "redacted-acSYHZUr" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ] - }, - { - "datarepo_row_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "diagnosis_age_lower_bound": null, - "diagnosis_age_unit": null, - "diagnosis_age_upper_bound": null, - "diagnosis_id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "disease": [ - "redacted-g50ublm/" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "onset_age_lower_bound": null, - "onset_age_unit": null, - "onset_age_upper_bound": null, - "phenopacket": [], - "phenotype": [ - "redacted-acSYHZUr" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ] - } - ] - }, - "anvil_donor": { - "rows": [ - { - "datarepo_row_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "genetic_ancestry": [], - "organism_type": "redacted-ACw+6ecI", - "part_of_dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ] - } - ] - }, - "anvil_file": { - "rows": [ - { - "data_modality": [], - "datarepo_row_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "file_format": ".vcf.gz", - "file_id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "file_md5sum": "vuxgbuCqKZ/fkT9CWTFmIg==", - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67", - "file_size": 213021639, - "is_supplementary": false, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ] - }, - { - "data_modality": [], - "datarepo_row_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "file_format": ".bam", - "file_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "file_md5sum": "fNn9e1SovzgOROk3BvH6LQ==", - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37", - "file_size": 3306845592, - "is_supplementary": false, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ] - }, - { - "datarepo_row_id": "6b0f6c0f-5d80-4242-accb-840921351cd5", - "file_id": "1fab11f5-7eab-4318-9a58-68d8d06e0715", - "data_modality": [], - "file_format": ".txt", - "file_size": 15079345, - "file_md5sum": "S/GBrRjzZAQYqh3rdiPYzA\u003d\u003d", - "reference_assembly": [], - "file_name": "CCDG_13607_B01_GRM_WGS_2019-02-19_chr15.recalibrated_variants.annotated.coding.txt", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1fab11f5-7eab-4318-9a58-68d8d06e0715", - "is_supplementary": true, - "source_datarepo_row_ids": [ - "file_inventory:04ff3af2-0543-4ea6-830a-d31b957fa2ee" - ] - } - ] - }, - "anvil_sequencingactivity": { - "rows": [ - { - "activity_type": "Sequencing", - "assay_type": [], - "data_modality": [], - "datarepo_row_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "generated_file_id": [ - "1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "sequencingactivity_id": "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "source_datarepo_row_ids": [ - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "used_biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ] - }, - { - "activity_type": "Sequencing", - "assay_type": [], - "data_modality": [], - "datarepo_row_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "generated_file_id": [ - "8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "sequencingactivity_id": "a60c5138-3749-f7cb-8714-52d389ad5231", - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b" - ], - "used_biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ] - } - ] - }, - "anvil_variantcallingactivity": { - "rows": [ - { - "activity_type": "variant calling", - "data_modality": [], - "datarepo_row_id": "c826d5b0-5e86-432b-ab53-36eced42ece0", - "generated_file_id": [], - "reference_assembly": [], - "source_datarepo_row_ids": [], - "used_file_id": [], - "variantcallingactivity_id": "8db89e5e-1c8a-487e-b0c1-b26218ac6b7b" - } - ] - }, - "non_schema_orphan_table": { - "rows": [ - { - "datarepo_row_id": "9687b86d-a2ae-a083-b910-a16bcbef1ba4", - "non_schema_column": "spam" - }, - { - "datarepo_row_id": "28ed0f3a-157b-417b-a05a-48f57f9d3a34", - "non_schema_column": "eggs" - }, - { - "datarepo_row_id": "9db5952c-c454-49d9-8a62-5abb026701c0", - "non_schema_column": "baked beans" - } - ] - } - } -} \ No newline at end of file diff --git a/test/indexer/data/79fa91b4-f1fc-534b-a935-b57342804a70.2020-12-10T10:30:00.000000Z.dss.hca.json b/test/indexer/data/79fa91b4-f1fc-534b-a935-b57342804a70.2020-12-10T10:30:00.000000Z.dss.hca.json deleted file mode 100644 index 19b39d2512..0000000000 --- a/test/indexer/data/79fa91b4-f1fc-534b-a935-b57342804a70.2020-12-10T10:30:00.000000Z.dss.hca.json +++ /dev/null @@ -1,17287 +0,0 @@ -{ - "manifest": { - "sequence_file/5be64c5b-766b-43ad-ab5a-467ef1c47cc4": { - "name": "CZIKidney7587405_S1_L001_R1_001.fastq.gz", - "uuid": "075284e4-6a7b-45ba-a990-112beefd1296", - "version": "2019-10-23T14:49:35.991570Z", - "content-type": "application/gzip; dcp-type=data", - "size": 7934794716, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_7d899eb7-411e-4a83-ac78-d4f656f06916", - "crc32c": "661e7ca7", - "sha1": "2360e75e5e18921583047e117fc70f82fba20554", - "sha256": "3dc835af365d10a8b6f86e9119e513a722551c756e8999fed4085394127c3689", - "s3_etag": "880df531d0365e1b06973b93a1d15a5a-119" - }, - "sequence_file/5646ff87-0427-4af5-a1ad-e072e6187c23": { - "name": "4834STDY7002876_S1_L001_R1_001.fastq.gz", - "uuid": "07e479d6-d44a-444e-bd19-7b955e4d0b37", - "version": "2019-10-23T14:49:36.039396Z", - "content-type": "application/gzip; dcp-type=data", - "size": 34998841412, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_fa1c9793-47ae-43c9-8297-39fd1a19e074", - "crc32c": "3b1ce216", - "sha1": "7be1c22a9ec6f5573e70070153f7053ab285cf24", - "sha256": "f2ec67873c9ac76a4eb94bd8f7aa13aabe877778115b567471a6237d06f3d35f", - "s3_etag": "2365f210fc1bab590021b2031d893706-522" - }, - "analysis_file/c564580f-c1bb-5c2d-a0d0-0baebebdf7e4": { - "name": "51fb7eb7-a422-482e-a98e-c9e6f9628e97.bam", - "uuid": "0d2f92fd-72da-53e6-8035-6b9b2b41a2f6", - "version": "2021-02-04T15:19:30.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 69727417013, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_49096abc-210a-455f-9e40-48f030c2077c", - "crc32c": "1747a06c", - "sha256": "2bb185ee6e44e7bf6a2768dbf4e0509cc79f7ee0f956cbdaf87977b0a1b8ca96" - }, - "analysis_file/10439c86-98bb-5009-8374-577a41575424": { - "name": "0f14c412-5014-4ac0-9a71-858b2f047777.bam", - "uuid": "0df377a4-119b-5600-a3e6-e7c1bc94033f", - "version": "2021-02-04T15:10:36.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 16753121529, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_3db9d46a-5051-4f55-9f31-52447eed331f", - "crc32c": "ee74c898", - "sha256": "e7effa40cbf6adeda081c14a9bfd90735bcb7d0aee66e563400ed378d1de3407" - }, - "sequence_file/2b8c990c-4b79-4536-bf5f-1c8e57bff598": { - "name": "CZIKidney7632801_S1_L001_R2_001.fastq.gz", - "uuid": "0e9affc6-0257-44d8-8e27-3c723b9c8443", - "version": "2019-10-23T14:49:42.059197Z", - "content-type": "application/gzip; dcp-type=data", - "size": 15394324425, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_17865249-e2e9-41e0-b9da-9559553b8891", - "crc32c": "859e4373", - "sha1": "56b74bee113c57dc0626db9677e0d6a165ff4166", - "sha256": "dfeed362194feb9731fb01ddb194b5d32bef27aa71be1ac96145e99d89321092", - "s3_etag": "aaab19ef6c64720286e392b72168b0a0-230" - }, - "analysis_file/9a41c791-004c-5d89-a10c-d58d2ef7eca3": { - "name": "3a20b6a5-6652-4486-86bc-842c7c31c343.loom", - "uuid": "0f2bdf51-97c6-5892-b9e7-ad826dbf1321", - "version": "2021-02-04T15:37:35.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 975562661, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_40a0e293-6b55-4cbc-a439-045fca6bb596", - "crc32c": "c3003233", - "sha256": "b4c9abbc701054b0b8685c6567566df4f01180dcb83ba6bdb35d250167bb7ca1" - }, - "sequence_file/70d226a8-01f4-4955-8293-210a6ec78920": { - "name": "CZIKidney7632802_S1_L001_R2_001.fastq.gz", - "uuid": "0fadf81a-30b4-4e70-ba6f-028950d06ec4", - "version": "2019-10-23T14:49:36.081789Z", - "content-type": "application/gzip; dcp-type=data", - "size": 13195642686, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_2b244595-1db8-4518-9d02-0b380f1413b6", - "crc32c": "1dd1feab", - "sha1": "83b5af34e7a392cee7d28baf9367d968fdacedca", - "sha256": "f2743a5243764eb59f04f88f673abc500d0a4c5538ae03b2fb81634155eba960", - "s3_etag": "afe7816bac5b09b8496366eda4bb52cd-197" - }, - "sequence_file/599a4315-3b4b-4c42-9d68-961a2396cae5": { - "name": "CZIKidney7632803_S1_L001_R2_001.fastq.gz", - "uuid": "10e05576-100a-48cc-aa83-a30f09514384", - "version": "2019-10-23T14:49:36.882952Z", - "content-type": "application/gzip; dcp-type=data", - "size": 14223220971, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_6fe20b20-f479-4139-b366-5f78f7077cf9", - "crc32c": "3f831589", - "sha1": "ed07262408e79c2630379eff855da6467471f6e6", - "sha256": "c85efb39f331adeb34c937226e6661a4a575259ec6e36e6e3d353d606cdbdfaf", - "s3_etag": "dcfb4f63603f7909ea8f5f1b6e8f86e0-212" - }, - "sequence_file/c8758f13-7e9b-464a-bada-b41b8b9e925f": { - "name": "CZIKidney7587408_S1_L001_R2_001.fastq.gz", - "uuid": "1456adad-9a4b-4a80-b115-9813f7a6b93c", - "version": "2019-10-23T14:49:39.474413Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2076738629, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_eee48cb1-c0c3-491c-9620-112b6ec43d44", - "crc32c": "d8abbfbc", - "sha1": "b63755dd9e2c25f25341889ae6fe97c164cf815e", - "sha256": "ff538f40e72691b1c6f581d401144cf11b885622428985b216d97c3e43e62ef3", - "s3_etag": "fe9271acb1ebea16f8f12e1327310298-31" - }, - "sequence_file/3de452b4-1c2a-49d6-80c8-495715921447": { - "name": "CZIKidney7587404_S1_L001_R2_001.fastq.gz", - "uuid": "1841191a-cad6-4bb8-b174-f41d94bee738", - "version": "2019-10-23T14:49:36.895477Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2067151684, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_85cd64c9-06ff-45ef-9a76-3f5569522588", - "crc32c": "bc98290a", - "sha1": "aed2a0595ae911f2e2a46cd4a2e574487df1da24", - "sha256": "8bf272444637c809139c82bc65a41e3f33648eaa2cd1ce5e87854e7d6d1009b7", - "s3_etag": "939afb3b3e5fb7829889c6a2be427348-31" - }, - "analysis_file/509608f1-e1d5-561c-b0d6-54348f0adb29": { - "name": "51fb7eb7-a422-482e-a98e-c9e6f9628e97.loom", - "uuid": "18c7131a-6f18-50a0-a805-04e0f4e2d7aa", - "version": "2021-02-04T15:38:21.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1020032321, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_057a1815-412f-4dd3-a698-77f2e4352644", - "crc32c": "30fda154", - "sha256": "85c0cc9d33346a374c50580fd00fef3bac6e9da0317deec948c677fc8bd7619c" - }, - "sequence_file/1eb30a4b-d595-4142-ae68-0a4ff4281c8d": { - "name": "FCAImmP7528293_S1_L001_I1_001.fastq.gz", - "uuid": "1932be60-8d3d-412b-86ac-4186ea87326b", - "version": "2019-10-23T14:49:36.297060Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2679523371, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_7ea572fe-4191-462b-9f7b-e9c8ba1e14c4", - "crc32c": "d70329af", - "sha1": "c3d51d183073b9f1bc5c628d4e50fd533da00009", - "sha256": "003d74031b80fda82d6a96efa149dd028f1e0d7983283a576eb7cb9e3acc7986", - "s3_etag": "728d08481bad39fb75abb4d36471cd06-40" - }, - "supplementary_file/944589e7-48a4-4333-b773-8e632ccb8865": { - "name": "fetal_kidney_collection.pdf", - "uuid": "1a04d1fb-55cc-4fd2-810a-71cf26d1aee9", - "version": "2019-10-23T14:49:37.778548Z", - "content-type": "application/pdf; dcp-type=data", - "size": 25085, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_f2eb6276-a869-4b6b-bea5-425d23e6da9e", - "crc32c": "77fd5f9a", - "sha1": "37d741eb489443a6597bbb3daad41702dd2df382", - "sha256": "8e241b0143084993f50332fec9d85fba8ad09d745fe02b3962af55925099a947", - "s3_etag": "cce74f82cc90c9e5059acd326513ae37" - }, - "sequence_file/6500ad38-5b46-4186-9208-6a9494679191": { - "name": "FCAImmP7462243_S1_L001_R1_001.fastq.gz", - "uuid": "1a625464-2ab2-4d39-a1a5-e4e2240aa1fc", - "version": "2019-10-23T14:49:36.819981Z", - "content-type": "application/gzip; dcp-type=data", - "size": 8452812794, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_3e64eba0-f87b-4ab8-abf9-4675dbe50563", - "crc32c": "a533086d", - "sha1": "7655313aee3c8fbb74af71298b1420f28b6db7f5", - "sha256": "4c559dba0abed8f728e89eb48325dce81263d818812f3c9fa5a0e5b807e8d0e9", - "s3_etag": "dce00c3dcdf1725d7ae0fbc365c8dbcc-126" - }, - "sequence_file/d3ea1255-7208-4952-be7f-7372d2dc9466": { - "name": "4834STDY7002881_S1_L001_R2_001.fastq.gz", - "uuid": "1d428c59-694c-4596-a360-a5e857f90635", - "version": "2019-10-23T14:49:36.110149Z", - "content-type": "application/gzip; dcp-type=data", - "size": 44847611151, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_0518141a-d26a-4772-bfb8-f0e7c5e9a748", - "crc32c": "f24a27cd", - "sha1": "cb6cdf05ab22772fd41a999b017c5f418b4c800f", - "sha256": "6cbfc8a7166eae65a0b1171a71f4aa560d160798b14bd55dcec7061573036394", - "s3_etag": "93e305000c055a82867f8f05eff05d7a-669" - }, - "analysis_file/fbcc2483-8a75-50ec-8cb6-8148a5087dce": { - "name": "d8c08782-6f69-4314-947c-1afe6928cbce.loom", - "uuid": "1d8a4488-3c4c-52b1-9912-52f08da57022", - "version": "2021-02-04T15:28:41.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 302192003, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_e44813aa-0c04-4ae0-9728-7d5e05596a02", - "crc32c": "599e199f", - "sha256": "4181f361b8385d423fe4efbbfed08e703092469c40b40a568352cb5bde9b11f9" - }, - "supplementary_file/53089129-f71b-412c-ae2d-f7e8e50044c3": { - "name": "fetal_flow_enrichment_2.pdf", - "uuid": "1e3c935e-a508-47e5-a1a1-da5ad78a4f36", - "version": "2019-10-23T14:49:36.963262Z", - "content-type": "application/pdf; dcp-type=data", - "size": 35613, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_93abe8d3-4293-4006-90c1-774141002547", - "crc32c": "6db5a543", - "sha1": "263de49161043cb74970baff46b633d0cfa6df24", - "sha256": "573a10fd2924173e82f8a8f3fa0c5fb6c68ca9373f7e2cdfaf39e68086d8204b", - "s3_etag": "641a7fe74d0dc149a65b51a1b753e4a9" - }, - "sequence_file/8f6318ea-e692-4085-a693-02f4ff3204b5": { - "name": "CZIKidney7587408_S1_L001_I1_001.fastq.gz", - "uuid": "210c7287-2f6e-4a93-8c63-202fa0b596b7", - "version": "2019-10-23T14:49:38.876464Z", - "content-type": "application/gzip; dcp-type=data", - "size": 239603992, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_4b1ef4c0-7b14-4797-984e-0db785288d24", - "crc32c": "10e6b4ec", - "sha1": "4648287bb484a437716ffb28e75054d281c68262", - "sha256": "51344e0de3761e9d45ca83916b8cc63e1afd3ab28b01ddaff3db9857750fe497", - "s3_etag": "57cb25ef7a42dd6da8500a352aeb3023-4" - }, - "sequence_file/7a058660-f594-4eb5-b02f-bace314f6d76": { - "name": "CZIKidney7587406_S1_L001_R1_001.fastq.gz", - "uuid": "247b3006-918e-49de-9797-df31ffcfe4ca", - "version": "2019-10-23T14:49:35.241234Z", - "content-type": "application/gzip; dcp-type=data", - "size": 9055188586, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_629386e6-bb2d-444f-a318-2d0457557d29", - "crc32c": "b0041fe6", - "sha1": "3113dd1587fe6707b01bd7d8bec7f8c8479bb83c", - "sha256": "70549b60bd385959d8eaf74cacc634991f70319535ecb6c320033c1bb355da14", - "s3_etag": "514631b815424e2129ddce60de417275-135" - }, - "sequence_file/9614720d-ed06-4e72-9a4f-cb62088ff608": { - "name": "FCAImmP7528293_S1_L001_R2_001.fastq.gz", - "uuid": "25f7e8ad-e20e-4b7a-99b5-1f3c5bbfdf18", - "version": "2019-10-23T14:49:36.795211Z", - "content-type": "application/gzip; dcp-type=data", - "size": 29407193048, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_c2564d1f-cbac-4019-8c0c-ffa442631249", - "crc32c": "86874a9b", - "sha1": "46eed6256b666328b714820d688dc2351f7ca1d8", - "sha256": "4c4ae28aac14171aef0c080993a4a1d6495c3b0c64a3c127fff574bb62dad43b", - "s3_etag": "4d58aa43c6228235a108c5ba906f4cdf-439" - }, - "sequence_file/e28e68a3-3042-45f6-a714-ba8622a4b34e": { - "name": "FCAImmP7555850_S1_L001_R1_001.fastq.gz", - "uuid": "29a8f5fb-43a8-4f18-9255-f7573e9c4600", - "version": "2019-10-23T14:49:35.155466Z", - "content-type": "application/gzip; dcp-type=data", - "size": 8729012923, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_e72919b0-2a69-4d45-b303-0c952d833eb1", - "crc32c": "8c4558d7", - "sha1": "a21ff3771ab00dd77683df40ce763ac7a3c9e3c4", - "sha256": "2dc0672b9e2c56e0ededbc6b50d609a9eb87dc0776afedc5abeb8b55e317dcd5", - "s3_etag": "80923baffe8ef38b23af2ce6d79b788c-131" - }, - "analysis_file/f9b8be35-2641-5f85-af13-c0390b7bfe23": { - "name": "548a75b4-ba45-4700-b7bb-656c3995c316.loom", - "uuid": "30e6964e-df3b-5f93-ae18-b49ba08aea26", - "version": "2021-02-04T15:30:21.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 432926914, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_dc1ce6b2-85d2-41ff-a709-c2fa1253b80b", - "crc32c": "1303acc0", - "sha256": "d9671d190632e21e328f77e3344c240408852ca5a94299daeb504d0472575590" - }, - "analysis_file/5bb0243e-0764-5a77-ae7d-1638ebfd27b0": { - "name": "83b474d3-c20f-48f6-95a0-b0fa2269f14d.bam", - "uuid": "313c30cb-6941-5c2e-8c3e-60c02df4b977", - "version": "2021-02-04T15:18:45.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 37125601530, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_9533c103-24a1-452e-be8e-623a43ce8b93", - "crc32c": "ff8963ff", - "sha256": "af03184af8db101077bf2f7426a985b5b0510fe8c18acc0b26ad21313847ed6c" - }, - "analysis_file/44175006-91f3-5d95-9a08-b33e08ed1ae3": { - "name": "b3ce1085-08dc-42ff-a609-6968315327a8.loom", - "uuid": "316010e4-fdb5-5628-9510-adba0ca80a29", - "version": "2021-02-04T15:30:01.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 425012253, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_d57f7126-bd4f-461c-a03f-6ef76027c501", - "crc32c": "bdc8f0d2", - "sha256": "244c3f8d43f3b3756ecfb5b993bf4a8a149fa1def6c8f791b4b504dfdae46a6a" - }, - "analysis_file/df5af5d4-56e1-517b-8f47-7bf4888c853a": { - "name": "082e87ac-5cf6-4bad-bedb-5f6591b8f566.loom", - "uuid": "37accfb7-029b-57ba-892f-716f718dc9d2", - "version": "2021-02-04T15:36:40.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 904118285, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_b0f4167a-ca3c-44e4-b987-383416f450c5", - "crc32c": "7e417f16", - "sha256": "f1df2d78c8ab3a16d2207c6c315222c85a7c311ce14f9442d04b046eb381d4c1" - }, - "analysis_file/f9bf5721-5ee8-5837-8eb9-da3810cf04f1": { - "name": "2c2c943c-1c0e-462c-b630-8a91a1f0fb94.bam", - "uuid": "3c480b25-d8d1-5516-96ea-be6547af82ca", - "version": "2021-02-04T15:20:15.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 19858781768, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_9fd05989-ccc1-4dcf-b613-a7e955d97d1c", - "crc32c": "3d0fd311", - "sha256": "f65d5d47cfcd5d3cb8da8bb278e844bcba3dd2a5e922106df162443eb8cc6476" - }, - "analysis_file/38a0ef48-9df1-5fef-8eb6-b32fbb67aabd": { - "name": "dc31f31d-ab56-4025-9834-99be638a2d50.loom", - "uuid": "41d76180-77ac-5cb3-92bd-eb867d8c52c9", - "version": "2021-02-04T15:34:25.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 745509487, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_1c903a50-02ad-4e73-8ec2-ddb70e460ff2", - "crc32c": "5fc8c565", - "sha256": "2ed196acb07ca0835b88625e430f19582992588ab21f340eab60a52b67d5bc65" - }, - "analysis_file/50547806-882a-5915-b217-5bbc692239b9": { - "name": "6d273f72-f55c-4c8e-b91e-29e762194c3f.loom", - "uuid": "4246f2be-5949-525d-a4ba-491176f13f69", - "version": "2021-02-04T15:42:04.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1270248608, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_2fa6bbe3-76b7-4762-8078-90fcf0638da7", - "crc32c": "67682c74", - "sha256": "6a748a5cb0cb3f7de9b4e3bd6968f2b10dd8b2ec82ee9b030e18a9f97c43f533" - }, - "sequence_file/1f50a6ba-90e5-4162-b6ac-6f8d5bfe72cc": { - "name": "FCAImmP7462243_S1_L001_I1_001.fastq.gz", - "uuid": "4471ff2f-9528-4ab0-a422-78ed0852e4a5", - "version": "2019-10-23T14:49:36.492952Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2727613148, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_4f139691-1ff3-45a3-bd6d-580f98c5337a", - "crc32c": "7a44573c", - "sha1": "5409135d4ec0969aea4f3e669c2360bb67b392c8", - "sha256": "aa4f17dac6909575af38011a162368df992236c9439f4c300583d42c43b6efd9", - "s3_etag": "0b7e4f8ddf4324812b3cb9ee97335603-41" - }, - "sequence_file/4e80d841-15c5-4da1-9660-4400b41d0536": { - "name": "CZIKidney7587404_S1_L001_I1_001.fastq.gz", - "uuid": "44d21c39-6acb-483a-99be-8fe8e7a5d208", - "version": "2019-10-23T14:49:36.319957Z", - "content-type": "application/gzip; dcp-type=data", - "size": 236997583, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_211568c0-0c9d-4f5d-a556-66e340fa3ca6", - "crc32c": "d11e0400", - "sha1": "143bea4bdb1dbf9846fa5888355160864adba816", - "sha256": "653e505985e3aa978bf13cb1e80d187f28721f061e8d53e350e6131a9a24be4a", - "s3_etag": "a11651abdb256ebdf639c54ff965584f-4" - }, - "sequence_file/8831df7b-25f6-482e-9e54-5c53bdda4d53": { - "name": "FCAImmP7462242_S1_L001_I1_001.fastq.gz", - "uuid": "475885e1-5b81-452f-a939-91dc9b207f5b", - "version": "2019-10-23T14:49:35.964355Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2728310745, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_b1dc2cd1-1715-42ed-9b7e-863137bdfd13", - "crc32c": "11a4f342", - "sha1": "b54d8eb50cc6976ffdc7d58980c50bb9579d8f1d", - "sha256": "4f9f99dbe1f59610cb67e74b96e0f0a836996c16d13f6ac53e50d9e70e962dba", - "s3_etag": "986c0432ccc091eff9d3d0ad151d62cb-41" - }, - "analysis_file/4d411b9c-06de-5805-bb7f-eca54e1c42cc": { - "name": "cc5a78a1-539f-4dec-80b6-62f35dcafd89.loom", - "uuid": "49e80111-c3ae-5c09-b484-18cf66b7c7fd", - "version": "2021-02-04T15:39:46.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1127115181, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_cce3cc61-0b6a-462c-88f9-5b7d0023a8e4", - "crc32c": "7e6a6128", - "sha256": "74f46c9d5ab97fe5462721aba690d331bd2ee820e34dba0b6d82be17fec0dd32" - }, - "analysis_file/b138cb0f-a34d-5b29-8b23-a37bc6f961fd": { - "name": "3a20b6a5-6652-4486-86bc-842c7c31c343.bam", - "uuid": "4ad98f14-2ff2-53de-9c97-50fbcc9a6e3e", - "version": "2021-02-04T15:19:14.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 18307641836, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_a9756190-47db-43a0-9774-c6101bd660f4", - "crc32c": "7c5a064d", - "sha256": "88d858feaa2e73dca48f77f913af87ea51eb4e8b705e1b82df2529b6f7ea79ee" - }, - "analysis_file/448173cc-00c9-56e1-9bde-a8136521dc6f": { - "name": "157ba915-28d7-4d80-89ad-71c8291dbc05.loom", - "uuid": "4c12888b-2a1a-52c9-b0fa-499ef34adc21", - "version": "2021-02-04T15:34:14.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 698572304, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_9e44a014-7418-476f-86d2-12fbd7773868", - "crc32c": "40b3fbbf", - "sha256": "b50034b00cae8ec23176c44e179394a8458399fc90fefdc6031148ab28f002d8" - }, - "sequence_file/ec1af218-9b00-4366-8890-5cebf580f225": { - "name": "FCAImmP7462242_S1_L001_R2_001.fastq.gz", - "uuid": "4c46c08e-5552-4c32-8e39-5bd489718c8c", - "version": "2019-10-23T14:49:36.612035Z", - "content-type": "application/gzip; dcp-type=data", - "size": 30748549353, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_72f32f88-85b3-42e2-93c9-6438fb977a92", - "crc32c": "8f32aedb", - "sha1": "373fa1bdfd691dfc3d69b99ba28bd8905026fe65", - "sha256": "4e897dff146a790750ac21042408a00193718f6710c2a8fff7c564cfd264bca6", - "s3_etag": "27880ab39d704119f8423e04c960c037-459" - }, - "analysis_file/f2393819-bde7-5d77-a1ef-ea58d87e5232": { - "name": "afd0ea55-e710-4b46-bb05-2423e491b6f5.bam", - "uuid": "4fc5aa24-c7b1-511c-b6a2-6d8366b3b025", - "version": "2021-02-04T15:19:59.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 38166507058, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_2c1f54bc-43d9-47f8-8afd-63b35ba5037c", - "crc32c": "cf26ba03", - "sha256": "ae3c4e2f1f33b1a56428dad317715efd8f43065a061dd680d67e11c943da5a37" - }, - "analysis_file/40905b7b-03ca-52b1-9ac7-76e350824c88": { - "name": "d8c08782-6f69-4314-947c-1afe6928cbce.bam", - "uuid": "50de5887-5ab7-5e8f-a6da-81b52089e98b", - "version": "2021-02-04T15:18:10.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 2505123988, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_2d66e23a-6a94-4dd9-9a65-1d109e87806f", - "crc32c": "3f7dc49c", - "sha256": "3c8a71e2406e00bdb6c68b031777bd1bd5eeb9530ffa827ca5d2c8b36c6fce26" - }, - "sequence_file/abffd51d-843c-4f79-8e18-40d8374ade83": { - "name": "CZIKidney7587407_S1_L001_I1_001.fastq.gz", - "uuid": "51c769a9-63ad-42bc-b3e5-eba1d9ce843f", - "version": "2019-10-23T14:49:36.225050Z", - "content-type": "application/gzip; dcp-type=data", - "size": 226815871, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_b2d20048-4e9b-4e25-b609-aa63bef4731a", - "crc32c": "d90dd8ae", - "sha1": "8d094e835641a39b11fe4b1a4bab06bfb08aee67", - "sha256": "467e5944c0c7229135e0595efd888e9088f4abeb8015afac242898cc4a177092", - "s3_etag": "098872161f58b6d170d66f9adcd8b52f-4" - }, - "sequence_file/b72fccff-7178-4f4c-bf6a-c32cc99af28c": { - "name": "CZIKidney7587406_S1_L001_I1_001.fastq.gz", - "uuid": "56b327ac-557e-4a07-90a7-4f167d241773", - "version": "2019-10-23T14:49:34.986762Z", - "content-type": "application/gzip; dcp-type=data", - "size": 3032736934, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_051a15bb-37c6-44b8-9fde-efad9ab808e8", - "crc32c": "fc194b2f", - "sha1": "3b5e74e69428ffd2c46d334ddf9dec3cc6e25b1c", - "sha256": "f11245bb3ab2a5d0d692d1474362050b254abb45f9007b1ec5708a79f308b3cd", - "s3_etag": "135c8577a08750ca573249bccdd8e6f0-46" - }, - "sequence_file/ba9ca87a-7818-4915-9f7f-0ba588ffad1f": { - "name": "FCAImmP7579214_S1_L001_R1_001.fastq.gz", - "uuid": "5756416b-6522-41da-8db3-977c3f707a0e", - "version": "2019-10-23T14:49:35.505898Z", - "content-type": "application/gzip; dcp-type=data", - "size": 8263566565, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_da0fa9f8-c22b-42ab-a3b2-20f12a04ba14", - "crc32c": "7d369cc7", - "sha1": "86ab948ee9dad04f89d96b28064d447b99cff15b", - "sha256": "1ee01811344f5385c269f99b226fe4e69e1d0f727790254a7b7138a19d15f47c", - "s3_etag": "77ad610c51af129a3576ce16bfddd369-124" - }, - "supplementary_file/182c7357-0ac0-483d-8189-b321cb3e8d74": { - "name": "sequencing_protocol.pdf", - "uuid": "58630e07-76d1-4d12-af1f-8a15fef59e1c", - "version": "2019-10-23T14:49:38.127172Z", - "content-type": "application/pdf; dcp-type=data", - "size": 16787, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_dad4f64e-6dcf-4899-934e-a77f534c5c43", - "crc32c": "453be99a", - "sha1": "b90f6de87c1796300c545dd4cba9d76793193739", - "sha256": "58af4130ca276b443d217473a4a09e020fbe7784f1701bc100bb531bc52ce542", - "s3_etag": "df67cf9dfb9c3bbda7c429d046f136a4" - }, - "analysis_file/f6809490-ac47-5fe5-af87-1923c320164e": { - "name": "b6dec4a6-2d9b-40ac-80c4-41dce01aea46.bam", - "uuid": "5935370b-5330-5787-b1cf-51987f5957d5", - "version": "2021-02-04T15:09:35.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 64709136628, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_e830decc-226a-4983-bb30-8980d80dc524", - "crc32c": "a1c6f6d0", - "sha256": "9d2d547cf0402a8ae37372f4113f8c73d4b0a208a8966f72567bb2b4f65e91a7" - }, - "supplementary_file/63a1acfd-ca01-451d-a41d-d3a7ffd1655b": { - "name": "mature_kidney_enrichment_2.pdf", - "uuid": "5bb24f6f-34f5-4955-80b1-dd7ceb6d55a6", - "version": "2019-10-23T14:49:36.424530Z", - "content-type": "application/pdf; dcp-type=data", - "size": 30667, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_d9dd781d-2be3-4f8e-bef7-cf55b3635c96", - "crc32c": "961e1c9f", - "sha1": "b4958ad943f059170f8f803fb2c2c1cec00c0f09", - "sha256": "e8663e057333702cdc8c8858ec78d82cf395196f7a6c9ee73f156734cdd3048b", - "s3_etag": "64072145f4e0c1e25e078dcc3cb2b53a" - }, - "supplementary_file/1c531e83-02f4-4c00-b161-f186a1b5e1fb": { - "name": "fetal_kidney_dissociation.pdf", - "uuid": "602081b8-1b64-430c-8c85-093e21e1c972", - "version": "2019-10-23T14:49:36.042217Z", - "content-type": "application/pdf; dcp-type=data", - "size": 29758, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_fa940aec-2887-4197-a994-b45ffa8978da", - "crc32c": "4a4fd4b4", - "sha1": "4deedf6c007e73c6161dee7bdf10a13e896085e6", - "sha256": "51f972e117bb796cc52ee38ab1dc253acd85b8cd04ac9b57537151a929e58576", - "s3_etag": "e8bf8a7772e947a955406a2dfd6b380e" - }, - "sequence_file/7d29fb39-c214-4edd-9dec-093dcc527429": { - "name": "CZIKidney7632804_S1_L001_I1_001.fastq.gz", - "uuid": "604b4322-f029-4bcd-84e1-e234017cda2f", - "version": "2019-10-23T14:49:37.075449Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1461060105, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_a5f28c90-87e0-4aaf-b5b4-116127c53b16", - "crc32c": "fa850fec", - "sha1": "3c4257a87956a85e5dbd9e41cd7a903376dc43e3", - "sha256": "354b54545a7b7b9c0989e5d872b7be1884e5d68bffaa0e4cb7273d963617287a", - "s3_etag": "dbf0c1c5cfd5e87b83bc4abd1f2fd6d7-22" - }, - "sequence_file/91069ce7-7605-401a-bdbb-087420d0b207": { - "name": "4834STDY7002875_S1_L001_R1_001.fastq.gz", - "uuid": "6144552f-b4b0-460b-b5a6-7bd3035d2f1b", - "version": "2019-10-23T14:49:36.041233Z", - "content-type": "application/gzip; dcp-type=data", - "size": 35757128617, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_78c5e445-715c-4b92-9a42-67d668321872", - "crc32c": "4798d142", - "sha1": "a1809cd62ea4a18a511f314c5337de328fca01c7", - "sha256": "a760719c32e5a4518d0a9b4d7acf6329c93f034528a06ee3b073ce2f9c5359a7", - "s3_etag": "574c84f1d2a4414f79605c955437f4cc-533" - }, - "analysis_file/4db3cc2d-f0ac-5cdf-8656-4c9b096a0092": { - "name": "6a0f0064-ba67-43d6-985e-68d8edcf8c0b.loom", - "uuid": "615aea9b-2bc7-54b8-97c5-a16ac697f790", - "version": "2021-02-04T15:37:43.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 989760502, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_24a0b9e0-8128-42e3-b9ad-7c4a2eebe3dd", - "crc32c": "c2d99f86", - "sha256": "f9cc00b90609b81a4de0456baa9dc13504c639a1ff540ebbaef78b1751c98883" - }, - "analysis_file/5ef41564-04c4-5260-b974-9b37fcc73e35": { - "name": "2c2c943c-1c0e-462c-b630-8a91a1f0fb94.loom", - "uuid": "61618af9-079f-578d-a834-8ec482403b17", - "version": "2021-02-04T16:04:14.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1413771224, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_221dd7d3-c8d9-426a-8d96-bc363688c6f9", - "crc32c": "b6456846", - "sha256": "84f61df5cbfdbb93a3e0507c62149b0402ca9cebf6314091dd5d5ac88a7e065c" - }, - "analysis_file/57c38b28-848d-5716-8c68-a3b3222aac6e": { - "name": "44b8ad82-1109-4543-a534-a85b34c2c301.loom", - "uuid": "61f531af-0cc2-5f69-8b93-bc04f8f29279", - "version": "2021-02-04T15:42:09.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1335835942, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_da4d1f76-1c7e-4bae-97fe-b0901d0a0bdd", - "crc32c": "b39eaf46", - "sha256": "3791682b4805efb5af5fe53d4cf6ec84df50eb67d4e5457d03d3616cbcf36a28" - }, - "sequence_file/db9fbac5-641e-4dad-af15-a7afa407654b": { - "name": "FCAImmP7462243_S1_L001_R2_001.fastq.gz", - "uuid": "6447d1eb-f1ee-44f1-9fc6-1a0bb39677fd", - "version": "2019-10-23T14:49:37.235823Z", - "content-type": "application/gzip; dcp-type=data", - "size": 30793890299, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_c80cfe3c-09f8-4a00-80a6-fc88b5f4946c", - "crc32c": "e6bd2329", - "sha1": "11ee96e6cb1795bd703791111415a16e436d391a", - "sha256": "a999c60998cddf55308f97122588c3bc622d1f236b904c7ac29672532e1b973a", - "s3_etag": "fa0e99c5e5a93285a3863e3e58cd3585-459" - }, - "sequence_file/f9703a2c-b024-4917-a6b0-981b38cfb784": { - "name": "4834STDY7002875_S1_L001_I1_001.fastq.gz", - "uuid": "657b9016-387f-4951-bf3d-4b749f4a4f23", - "version": "2019-10-23T14:49:35.751781Z", - "content-type": "application/gzip; dcp-type=data", - "size": 5417339650, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_2cc6c72b-9d26-44a4-9171-86856e17a27f", - "crc32c": "e5c09532", - "sha1": "36554602e8037fa7c2c1061a59546e8e66842795", - "sha256": "15a0c008f9c26639daca2b4acc7ea1fc21586b5bca02ae73deb73b67c7287157", - "s3_etag": "a69fb94dafd54d8a35e73df0aaf1078f-81" - }, - "supplementary_file/c72eb744-4971-4525-802c-d898349b392a": { - "name": "fetal_flow_enrichment_1.pdf", - "uuid": "6ff514d2-c9aa-482a-ba40-da02a5c5fac8", - "version": "2019-10-23T14:49:36.685177Z", - "content-type": "application/pdf; dcp-type=data", - "size": 31682, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_c883c14a-547c-4021-bc47-43f0c2889ce1", - "crc32c": "a6250ea1", - "sha1": "9f05d60c3e0ea2bf406359188519db1abd3b7592", - "sha256": "71b479ed07ed506b85c4f1dedff7cd1ed809bbf0afd98ac63d3779a7d74d58e0", - "s3_etag": "622b6cefec5b65803467998f5c8a597f" - }, - "sequence_file/b2ba2d5e-31f2-4bc6-be3d-c20acad86aa1": { - "name": "FCAImmP7579214_S1_L001_I1_001.fastq.gz", - "uuid": "70fa85f0-3a54-4bb0-a7b7-061575f963e3", - "version": "2019-10-23T14:49:35.249762Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2783613851, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_b5794a36-08fb-4c4f-93a4-d28d98db8296", - "crc32c": "0af708b6", - "sha1": "7a37165980adfb22fd06bf31f6d7853ac9f3c1c4", - "sha256": "fb1001ca85d07caa812e10a8e8a66d787824e98ddda3b8572b89570b653e0d2b", - "s3_etag": "5ed7e298143a30f9496cf2cc45b95d15-42" - }, - "sequence_file/65128ed2-a70b-4b04-8591-4303acef31e3": { - "name": "FCAImmP7555849_S1_L001_R2_001.fastq.gz", - "uuid": "722fafff-d2ec-4a1f-b36b-70f7cc6d2192", - "version": "2019-10-23T14:49:35.401133Z", - "content-type": "application/gzip; dcp-type=data", - "size": 27182622227, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_47ae7a9a-33de-4834-8a28-527ab727d46b", - "crc32c": "94c6eb91", - "sha1": "7d6b35a08eda5792e1e97194a4b6492aff89dc9e", - "sha256": "ddea274092e87299b5431cab12bf02313b6cc14c2d8624ba5ffc087fc7143b84", - "s3_etag": "b8e80010816e78c7e174a47404ab4d1a-406" - }, - "sequence_file/438f185f-0e8b-4b34-b03f-7491552ef9b7": { - "name": "FCAImmP7462242_S1_L001_R1_001.fastq.gz", - "uuid": "72932e5b-c25b-401c-8c48-aab023661968", - "version": "2019-10-23T14:49:36.195057Z", - "content-type": "application/gzip; dcp-type=data", - "size": 8500881028, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_332f228b-e63c-4c90-aae4-83d282da2225", - "crc32c": "76ff6bf3", - "sha1": "fb9a79a26b5322754f56dcc11bfb19acbb996614", - "sha256": "4ab11fdc664c0b6ab7a5e4387a91229cfe6fff6e3badddefadc895a7adae6b3d", - "s3_etag": "4133cbbbec292dcefeff85b73ba221bb-127" - }, - "analysis_file/3e9b54c2-4244-5549-a0ca-ea1524949a86": { - "name": "548a75b4-ba45-4700-b7bb-656c3995c316.bam", - "uuid": "7512e2e0-ac08-5d56-b2a4-d553bc24227c", - "version": "2021-02-04T15:19:29.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 2682183828, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_36276888-23c4-4d1f-9d75-e0ae4d6b18a9", - "crc32c": "a97d1fd6", - "sha256": "2f6b1a57f2391bcf7d8df1d5b0516704e44e24afda3752a2ad44dd16f493a42b" - }, - "analysis_file/a4a43ddf-e654-526c-98fa-9c0679f2bc95": { - "name": "01f7c3d0-d4be-432d-aa25-8c7fbce20b49.bam", - "uuid": "75150c4f-0ce4-56b1-a4d8-2342f5d4a3b8", - "version": "2021-02-04T15:18:34.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 37113773777, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_b3613a5b-9799-4fc0-af2f-58d562d37cee", - "crc32c": "cf3be405", - "sha256": "e2c38c4031b55d34b38239d2487ebdd6d836e10f8dea2184da5f631413136e07" - }, - "sequence_file/90a63c12-7fec-49c5-9b1a-7d622c4390f8": { - "name": "CZIKidney7587406_S1_L001_R2_001.fastq.gz", - "uuid": "791a846a-1241-4b0c-a3e3-24160fc321ee", - "version": "2019-10-23T14:49:35.594638Z", - "content-type": "application/gzip; dcp-type=data", - "size": 26659901434, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_5bd55a48-bcb3-44c8-aca8-115b77e12da8", - "crc32c": "30dfca88", - "sha1": "62d3fbcbabc58ef0b19c87afd07e769c76968b49", - "sha256": "d9a99fc35767a48cf5e158092bb72bd1a7003c9f6fc1a44437eb991b01c2551c", - "s3_etag": "94e6d6f92d63daf0518305adee6fe855-398" - }, - "sequence_file/427003bc-a728-469a-aa8a-61bc2309956f": { - "name": "FCAImmP7528292_S1_L001_R2_001.fastq.gz", - "uuid": "7923e38e-8649-41b7-b0a6-ac901630be3c", - "version": "2019-10-23T14:49:36.207303Z", - "content-type": "application/gzip; dcp-type=data", - "size": 29570108834, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_55e29ab9-fc1c-4df1-a914-ec3e5fbeb7b0", - "crc32c": "5cbe6c0a", - "sha1": "15f30b123ad07a878c4b90612886f12ae9dd36aa", - "sha256": "c6fb824e7c0bfd0272683a9804bff77f5de94087eeb1803f5ec8d66a7fafafc3", - "s3_etag": "2d314e2ca4018bb287c3104dc1db7635-441" - }, - "analysis_file/5f89237b-83d8-5b2b-880c-2fc4f0c1db1c": { - "name": "6d273f72-f55c-4c8e-b91e-29e762194c3f.bam", - "uuid": "79c607a7-8bf6-5288-831d-715ef9e450d5", - "version": "2021-02-04T15:21:25.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 65707445386, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_49e29970-394c-4c91-b20c-13b79c513b0c", - "crc32c": "5238ca18", - "sha256": "04b3c4a0b85159145d49208536b7020807b022fd9b7a2b031fe7695a1ba317c8" - }, - "analysis_file/67f7a04b-7b04-5bb2-a492-efb98f819e97": { - "name": "44b8ad82-1109-4543-a534-a85b34c2c301.bam", - "uuid": "7c7a336b-a771-5257-a7b2-da2d87896ea4", - "version": "2021-02-04T15:18:31.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 35777068223, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_5166344f-3023-49b1-bba1-267cd05169e6", - "crc32c": "916734d4", - "sha256": "0434d6c74de9b5805b55c4418baff1948ded8978983767e939dbfbbefc50e622" - }, - "sequence_file/cb6662a8-c395-4f75-b6fa-87c186917ed2": { - "name": "CZIKidney7632804_S1_L001_R2_001.fastq.gz", - "uuid": "7e63de17-6e27-4a78-b029-a8db8cc121a6", - "version": "2019-10-23T14:49:37.725790Z", - "content-type": "application/gzip; dcp-type=data", - "size": 14201706930, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_49a62425-1266-4bb2-b4af-0e92441041cd", - "crc32c": "0fbeedfb", - "sha1": "56b94441f88f3d7fd885b69c6d50f7db9025a7fc", - "sha256": "3e37e18fdd5e1723f3829e55e8f9c180f7a59eb0923047845f6c6daceebc1615", - "s3_etag": "0a6e68cbe2a1a34b91a228a9ccdbc42b-212" - }, - "analysis_file/3cd78fb7-b7bc-5ab1-b122-47585f0023d4": { - "name": "afd0ea55-e710-4b46-bb05-2423e491b6f5.loom", - "uuid": "824111f5-d9fa-5ca8-9329-0f172332c98e", - "version": "2021-02-04T15:34:36.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 698042665, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_c28f3965-b1a0-464d-91a5-2f9afbdf92ca", - "crc32c": "98229a5d", - "sha256": "f0ce93f44bfab810b45c39a7b3274c8fbfe6ac784f7aecc2af3e003c14112e1d" - }, - "analysis_file/1b675693-2615-519e-bfa7-cc008b0ff6e9": { - "name": "dc31f31d-ab56-4025-9834-99be638a2d50.bam", - "uuid": "855fdb57-1c0e-5875-aef5-f6e14876b15c", - "version": "2021-02-04T15:19:56.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 29466887027, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_c96ab730-644c-496c-98e3-8c07a4e30d7e", - "crc32c": "f2cc8e97", - "sha256": "c1f8237cb3280231cc46fc54fcbcf177aaacf169b134b0521961ec93b58c5bf5" - }, - "sequence_file/138dcce5-f9a8-497c-9de1-70a289bdc936": { - "name": "CZIKidney7632801_S1_L001_R1_001.fastq.gz", - "uuid": "8a9a73f6-9a38-494a-84b2-2d0e11b60c17", - "version": "2019-10-23T14:49:41.743420Z", - "content-type": "application/gzip; dcp-type=data", - "size": 4492443846, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_2c603cc5-df4e-4291-bb00-c624ec1264db", - "crc32c": "554839a4", - "sha1": "9182b72f15c54b8d7e3af361631eeb23673f4055", - "sha256": "dd3dc4dc8e5ef643c1d719249de369e00f9007fe54a52f351826a9e300fe80c2", - "s3_etag": "4b71dea004532b3977353e7577a1bb67-67" - }, - "sequence_file/d8577b2c-16a2-484f-9269-9196d7cca451": { - "name": "4834STDY7002885_S1_L001_R2_001.fastq.gz", - "uuid": "8bee60a4-c810-4157-852d-f6510859aad6", - "version": "2019-10-23T14:49:35.816042Z", - "content-type": "application/gzip; dcp-type=data", - "size": 42909587234, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_aff873cd-365b-4a97-bebf-e41724dce1e0", - "crc32c": "614a426d", - "sha1": "a2b86927ca6da3dc91c94b8de6e826c0e4073d65", - "sha256": "69d98b3aa12da9a87c1d0e95833d47c1721411d827316438d7578eba63bc7a02", - "s3_etag": "40bdbad0f6b2bf9bdda796e6f92e5d6d-640" - }, - "analysis_file/c8b8eac3-92be-5a6c-94ac-e554face58a8": { - "name": "13a062ba-2b8e-43a1-bc2a-bc17f650b37d.bam", - "uuid": "8d2bd05e-52ae-5fae-bdcd-97e9cd74a62b", - "version": "2021-02-04T15:18:10.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 38148588923, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_ef8fda31-1a6e-4421-9cbe-ced923d9da85", - "crc32c": "76608f7f", - "sha256": "ac3a27e4bfe3b1c915fe1ccceca5df2c177d04f79ce8c265a6d29da6e10fc637" - }, - "sequence_file/8fb13af8-c385-46a2-aecc-c741c1e8a5ad": { - "name": "FCAImmP7555850_S1_L001_I1_001.fastq.gz", - "uuid": "8f2afe24-5222-4451-a9d6-323d33e49156", - "version": "2019-10-23T14:49:34.890344Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2772712768, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_61256863-b124-4819-89fd-77676396e603", - "crc32c": "de263e30", - "sha1": "d69fc4c4e9aff7c3b163fbadd779eefca1068e1f", - "sha256": "342d8e031c6b7f0f80e01a0fe66ba22963b8a3e019a42a71a9f17535d75725ca", - "s3_etag": "518cf60e522ae84138c0eb97087cbad8-42" - }, - "analysis_file/9b35ba1f-2445-5fcc-a510-d4da345854fe": { - "name": "37cad11b-c8c9-4d1f-b715-498b0f8d4b35.bam", - "uuid": "901b4d92-9b4d-5e10-b98b-c64c8535c7e3", - "version": "2021-02-04T15:20:20.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 34392353626, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_56d18a52-99a2-40ee-8efe-1dd10e56e8f0", - "crc32c": "1374624d", - "sha256": "0094bcebc749eb663f46144371b98f8c3e6a7cc907be8329c9d68a0b74a9cc5b" - }, - "analysis_file/2b9f7c89-d1c2-53ef-a769-80fec2f7d9e6": { - "name": "0f14c412-5014-4ac0-9a71-858b2f047777.loom", - "uuid": "9178a5a8-dbc2-5dfd-be33-2ac8e6f2fc96", - "version": "2021-02-04T15:18:49.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 423142737, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_2af7fd99-c281-4855-8522-467f0f97d206", - "crc32c": "eb47f837", - "sha256": "a4b826463126706ccb417d646a000bc7a5d6bdb0f0583718eaa771c1cd2aca6b" - }, - "sequence_file/47bb0f79-31f9-42a8-ac34-4be08ef807d9": { - "name": "FCAImmP7579214_S1_L001_R2_001.fastq.gz", - "uuid": "a2a60cf5-2597-4ba3-b9fa-7ecdde004c8c", - "version": "2019-10-23T14:49:35.806273Z", - "content-type": "application/gzip; dcp-type=data", - "size": 28636209988, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_730f11f1-a6af-4541-99c7-c8e7e7b70fd3", - "crc32c": "2f350f69", - "sha1": "edc18495bc48d2d2746c38a13afe6c70db7c4198", - "sha256": "ad9fe409670b55a358153094a9a26580abb88ac9dc5bfa32da959c24a8f8a746", - "s3_etag": "ff87ab5686654a1ffc019898b92ab7b5-427" - }, - "sequence_file/cb7a8922-0b74-42f5-9346-f80ebbaddb57": { - "name": "4834STDY7002881_S1_L001_R1_001.fastq.gz", - "uuid": "a3b89f52-1007-4aa4-8889-f2b3670c82bd", - "version": "2019-10-23T14:49:35.905654Z", - "content-type": "application/gzip; dcp-type=data", - "size": 30314151414, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_6d1eaef4-b09e-470f-95fa-6e885bb2dfe7", - "crc32c": "6ebf1336", - "sha1": "2179b87f610298a89685d610eca7162f0363522f", - "sha256": "91ea6ce14c3c3b4154b2c3580b41907b61617c411f015fe79825e67bebc68cd4", - "s3_etag": "83f2b32a2b90e403122a2f6e3bffb4fa-452" - }, - "analysis_file/6f7195ee-5bcd-5b4d-a3a7-a6ad404edba9": { - "name": "b3ce1085-08dc-42ff-a609-6968315327a8.bam", - "uuid": "a642669d-72f1-5e03-94fe-83a993c7facd", - "version": "2021-02-04T15:19:15.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 2580789544, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_41393a0a-8f82-4637-98af-0208016dd721", - "crc32c": "4b2de361", - "sha256": "943b90f707a5a49e724d4d35576ff6204f0c59d848a98fed72054dd8f0192c81" - }, - "analysis_file/febe54b0-6388-5024-a971-fa88862a4e62": { - "name": "0b52914d-687b-44d1-9a70-a95df55ed502.loom", - "uuid": "a64cdd04-6d28-5f81-9f2d-4ae6989e9ddc", - "version": "2021-02-04T15:38:21.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1010980009, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_cc2a5f64-27ea-4372-8cc5-0a4dd3421b57", - "crc32c": "ee277c19", - "sha256": "91c9176ebfd73ea2dd4c0ac637d3bb10377028e7ae1bd76092bcd6d4432a5aa6" - }, - "analysis_file/be883019-a8df-564d-87ff-c24a1358fdb6": { - "name": "6a0f0064-ba67-43d6-985e-68d8edcf8c0b.bam", - "uuid": "aac09eaf-b9e3-5469-b34f-d2ec70f57089", - "version": "2021-02-04T15:19:45.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 18231102336, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_d51f7c57-ebe7-4d08-b9eb-0ce0aa5ffe9b", - "crc32c": "2b04c689", - "sha256": "13344642086dda33e78a9a1dbebfab9f3e9857adf75033e8b864aa075affbc18" - }, - "supplementary_file/06e90b33-4403-41e8-b783-e65bf7de982a": { - "name": "mature_kidney_declined_transplant_collection.pdf", - "uuid": "b0d1afa7-c798-4172-9231-33584e52f70f", - "version": "2019-10-23T14:49:37.430555Z", - "content-type": "application/pdf; dcp-type=data", - "size": 23723, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_bf160bb2-19ab-4784-a54a-1f886e5bb5c6", - "crc32c": "2c141f9b", - "sha1": "ceca5476c8d73559c71e42940dbad398dda0b537", - "sha256": "3cae6a92ad756c9eaa8590608b83ca5711ab71a3172bfb0982821d52d44eb321", - "s3_etag": "7e679875a0b2eab202a13f52d4b31f43" - }, - "sequence_file/be64dbc9-183f-44c9-8b15-d8298ee6c4e9": { - "name": "CZIKidney7587408_S1_L001_R1_001.fastq.gz", - "uuid": "b12b9f7a-1136-456b-b0e0-aa05c29d1355", - "version": "2019-10-23T14:49:39.066147Z", - "content-type": "application/gzip; dcp-type=data", - "size": 612566319, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_b9c7367e-cbdf-4ec8-ac4e-034b2ba3e486", - "crc32c": "19ef755e", - "sha1": "55491d1904f476dcd06b693e6018f4a4a339e8ec", - "sha256": "3d6fff7f27d356a52dd32467f29d656a3e20c4b8af3ff2fd84d59b88c5182cf4", - "s3_etag": "af663775a444ae1231feaa7f58054616-10" - }, - "analysis_file/8b643b3c-3000-5cf4-8aa1-64a4b9d68abf": { - "name": "157ba915-28d7-4d80-89ad-71c8291dbc05.bam", - "uuid": "b4efa99e-25c8-5eef-96a4-84f2551bcc29", - "version": "2021-02-04T15:22:02.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 65248457241, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_102f41c2-3b37-4ec3-9f8c-0e73ac3c72e3", - "crc32c": "ae57f412", - "sha256": "88ed668949cdb5d906593b13263d0b2692b245a5fc3bd471fdf141b49364ac41" - }, - "sequence_file/b58fd1d3-1488-40b2-9530-50c0fe54a4dd": { - "name": "FCAImmP7579215_S1_L001_I1_001.fastq.gz", - "uuid": "b58109d6-0e7e-49cb-abd5-4ca20e43046e", - "version": "2019-10-23T14:49:35.581314Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2559298831, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_3d4e8ad6-b672-47ee-a8ab-ff4b725a2db5", - "crc32c": "39a4cee4", - "sha1": "84cb83e151c765522c55ada6f3e951f688517c86", - "sha256": "c97a6eb18f24dcbd7b67fe23d7a2a8439c64f5a975ccfbdeca64ebb19fd6b064", - "s3_etag": "f23de8553e81fa170fe9b74cbc2849bf-39" - }, - "sequence_file/2dd22fa3-fe29-4d60-b890-a8ee8b9731ce": { - "name": "CZIKidney7587407_S1_L001_R1_001.fastq.gz", - "uuid": "b869ef9d-300d-46e0-941f-ad0f036773b2", - "version": "2019-10-23T14:49:36.564794Z", - "content-type": "application/gzip; dcp-type=data", - "size": 593089466, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_783f9bd5-6a4b-48d2-9ed3-051aced7e436", - "crc32c": "c9a8242c", - "sha1": "35df397d95bf944960d61be8f1102ca8eb36359b", - "sha256": "330afac3a7c054fb8ebdf9d919042cc7e4c0843537d0ff29e0a2953bd05df792", - "s3_etag": "61f8159c3cfff0907ed40a3c5bd22203-9" - }, - "analysis_file/aec768aa-9e5d-57ab-b249-09f01b2e5f03": { - "name": "90b34757-474f-42c3-9d31-683a5a0a84bd.bam", - "uuid": "ba36a0b5-a686-5e72-91c9-b29f9c1d3f2e", - "version": "2021-02-04T15:20:54.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 31094466435, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_c305742c-01a2-4d73-ab49-358c014c55f9", - "crc32c": "69c365f0", - "sha256": "178fafd3009d67115cf41b43ee2b79fd2b2f90d8d53e651caa283d515523be65" - }, - "sequence_file/97890d18-72bf-4feb-b713-1d057d1f6519": { - "name": "CZIKidney7632804_S1_L001_R1_001.fastq.gz", - "uuid": "ba802a39-ab3c-4ddf-8606-6904ec798ff5", - "version": "2019-10-23T14:49:37.437316Z", - "content-type": "application/gzip; dcp-type=data", - "size": 4130964219, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_c2ef14bf-fafc-4880-a269-9bff4c99c772", - "crc32c": "20988393", - "sha1": "7951b2be3c78118021d676e8ea6e50d21819fc87", - "sha256": "34e5d327b484e2e830c42d7fe5d560879780aa5e4a681735e9d964e6bbc31bfb", - "s3_etag": "5c75238d05713e84688c2bdabd857fb5-62" - }, - "analysis_file/0f9e435b-dbd3-5fd6-9b4e-347433de69b0": { - "name": "082e87ac-5cf6-4bad-bedb-5f6591b8f566.bam", - "uuid": "bba19c1b-66b5-5b45-8391-e7b9e749afc3", - "version": "2021-02-04T15:20:16.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 37636723501, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_86c07d53-cc92-46fa-9e07-5a9e4f470c18", - "crc32c": "51a1f1c7", - "sha256": "25f1957f0120fada1a53b8bd6dd83354bc6c7c047d2b100db727303cdd9c64bf" - }, - "sequence_file/4294907c-ba62-4597-845a-07fb788a2bb0": { - "name": "CZIKidney7632803_S1_L001_R1_001.fastq.gz", - "uuid": "bc752490-c165-4e59-a335-5690f1809ac9", - "version": "2019-10-23T14:49:36.430227Z", - "content-type": "application/gzip; dcp-type=data", - "size": 4148481478, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_78c91c18-2f67-4453-80c3-eae2e0993f84", - "crc32c": "e6223d9f", - "sha1": "1af81b69136178d3b6fcc86f49e665dd4400d1ed", - "sha256": "d588f85e1e213efb4c58c03d2bf4730aa8fa49b400c2245217c40ac4d47b48ea", - "s3_etag": "107f64539db86fbbd2040a02e03d9c9a-62" - }, - "analysis_file/509c765d-cf97-5166-ae8f-b0c26a42f759": { - "name": "0b52914d-687b-44d1-9a70-a95df55ed502.bam", - "uuid": "c0eb3628-4aae-5215-8fe8-dfc1974fb288", - "version": "2021-02-04T15:20:12.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 37372897739, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_1d1eb1ee-1b1e-4b8b-9a19-6097121cb5ba", - "crc32c": "b5f6f5af", - "sha256": "4a4ef01d91dbb0040b16e5fe71fdbec8eb95417194db92e8941459f00c36b9e7" - }, - "sequence_file/be252ee9-c27b-4937-8e96-e971c25ed794": { - "name": "4834STDY7002885_S1_L001_R1_001.fastq.gz", - "uuid": "c1e549a6-8711-4381-853d-c54469b4b5c0", - "version": "2019-10-23T14:49:35.560374Z", - "content-type": "application/gzip; dcp-type=data", - "size": 30442430986, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_735c31a0-bf71-4641-a931-428a460be807", - "crc32c": "e06814b9", - "sha1": "1a878dfd56a19741989b3154c6c781ef0c4e2bdd", - "sha256": "c00895076c854c2028b01a33a0146d7e7224e3c923e115d3bcf147a3738a612d", - "s3_etag": "ba7060f70372487113fd540750e24e11-454" - }, - "analysis_file/caee5d2b-466f-5762-a565-8fa4a520faba": { - "name": "13a062ba-2b8e-43a1-bc2a-bc17f650b37d.loom", - "uuid": "c1eef424-40cb-51f6-a574-755494d44789", - "version": "2021-02-04T15:42:49.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1316667030, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_5948132f-fa09-4fe7-8699-3cf073aa1271", - "crc32c": "1b82593b", - "sha256": "7dd312ee41306938d8ea67f64c1715a195791c0d55aeace04f1fc5a2083ebc21" - }, - "sequence_file/154ff85c-da53-4b85-b02b-002211631867": { - "name": "4834STDY7002886_S1_L001_R2_001.fastq.gz", - "uuid": "c2fadf72-fab9-47a5-ae9f-50d97753d3ef", - "version": "2019-10-23T14:49:36.121618Z", - "content-type": "application/gzip; dcp-type=data", - "size": 42865041101, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_c48f6982-a8d3-473f-8ce6-8cdbdc2f2f94", - "crc32c": "98168bf7", - "sha1": "f0708300e6b98ee659088709d32c855757816954", - "sha256": "7d4c8335faed154a54031b3a438a0fcfc52e6779dce7726171f7109fe0c8e215", - "s3_etag": "9a82ee2b11d36742aed8f533c835bf11-639" - }, - "supplementary_file/5b84bbca-dfde-462c-9c79-c914f32e03c4": { - "name": "mature_kidney_tumour_nephrectomy_collection.pdf", - "uuid": "c89d294a-1921-46fa-9392-b714af40c97c", - "version": "2019-10-23T14:49:37.166260Z", - "content-type": "application/pdf; dcp-type=data", - "size": 25919, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_e45bd9c3-b455-4510-9b6c-8f2ef508bf31", - "crc32c": "afd7c65b", - "sha1": "c7851cf89569d7bf601ad478f80012ba9fc4a8bc", - "sha256": "198335a877c0973b496f4800671764fcb00ea49bedeb4c509940c8dbb1cc3b50", - "s3_etag": "e14585a837302d76e54214694e774511" - }, - "sequence_file/59e40d0b-dfbc-4668-bb8a-d0b39d25ca88": { - "name": "4834STDY7002886_S1_L001_R1_001.fastq.gz", - "uuid": "ca6b8d6b-6d19-4ff0-b487-c13cdf801a60", - "version": "2019-10-23T14:49:35.869066Z", - "content-type": "application/gzip; dcp-type=data", - "size": 30076415799, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_d03c3744-17fb-4404-8690-4472b7a27c5c", - "crc32c": "1a8279b5", - "sha1": "de18232eec149f74f865d09ba46da89bd6909063", - "sha256": "deda38c8e989c8cc929f785bda1f91a4a2810b5260a516fa6b3759f3adfd01c6", - "s3_etag": "49389e1568a9893f7a8c2b84be271bb0-449" - }, - "analysis_file/b149162c-3450-5301-b057-c3930459584d": { - "name": "83b474d3-c20f-48f6-95a0-b0fa2269f14d.loom", - "uuid": "ca707466-c643-54d0-a251-d4314081608b", - "version": "2021-02-04T15:41:19.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1298450525, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_3c0fa713-9ded-4f00-830e-6112c64fa587", - "crc32c": "a1f23b01", - "sha256": "6091065cd4fbaa03c00ab5751a84201ac5f621e87cc83b06c0254a235eb37cf9" - }, - "sequence_file/9ea7643b-d0ba-49b0-b441-0c5d3c2cfe59": { - "name": "4834STDY7002875_S1_L001_R2_001.fastq.gz", - "uuid": "caf7fc00-38ab-4af5-beda-c70c1fb4448e", - "version": "2019-10-23T14:49:36.268172Z", - "content-type": "application/gzip; dcp-type=data", - "size": 48816315438, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_0c80fc7f-4737-4794-b0cb-bee804f55303", - "crc32c": "e0b7f471", - "sha1": "bf06013f81c93c46072c1f794969abdcba8734d9", - "sha256": "e3ebb27123311c9e9794b64da7e1fed26efa8aec159440284b72298e7faec5cb", - "s3_etag": "5655d418b8d0a42dfa014347fdb62188-728" - }, - "sequence_file/6033d2ea-8c96-4f43-956c-b9701f63ed66": { - "name": "FCAImmP7528292_S1_L001_R1_001.fastq.gz", - "uuid": "cb189806-adb0-42d2-b519-b9e48a23bc94", - "version": "2019-10-23T14:49:35.987421Z", - "content-type": "application/gzip; dcp-type=data", - "size": 8648502692, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_830e9413-1e9e-420f-87ce-8f974919b995", - "crc32c": "dc634164", - "sha1": "35a8a4c0d3b20ce6eea6c0da25fc286097aee72a", - "sha256": "bc422a27764e114ff5693bc3f08a160e8691b75e18c54d1e2a653352e5ab50f5", - "s3_etag": "63c2c86265dfce008512b4dd7541a10d-129" - }, - "sequence_file/200f221c-c86e-4c67-9d25-5d8210ae33c6": { - "name": "CZIKidney7587407_S1_L001_R2_001.fastq.gz", - "uuid": "cc671147-98a3-4e96-ae78-7f6b637271d6", - "version": "2019-10-23T14:49:36.910033Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2010781605, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_b3c6c659-4a08-4fb1-8810-fdfa72256a04", - "crc32c": "1ae856d3", - "sha1": "58020dc18b8e23108ba583af05bc432dd13ea20f", - "sha256": "e87ee24018e844c7d41347dacbe76a36f1db6e919134bf1c47b3cf6a6b4fcad6", - "s3_etag": "34fab5b41d1dccd1fa2fef5923835aa8-30" - }, - "sequence_file/0c8d1b87-0d6e-4e47-8130-1372bfa05c51": { - "name": "CZIKidney7632803_S1_L001_I1_001.fastq.gz", - "uuid": "cc811606-6aff-421b-ac56-b26adbfe67f4", - "version": "2019-10-23T14:49:36.145573Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1457701663, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_b20ff1d0-a460-4532-b29a-f455b9c6f26a", - "crc32c": "732bb646", - "sha1": "2d216930d0b2568f2b4ef4f2ba3760f979addfce", - "sha256": "aae0aecef9c211605dabe4e9a285938a06abb817c19e3093a77fc2be05a2eeca", - "s3_etag": "85e565de539223290e1fe8367596b228-22" - }, - "sequence_file/de1febb4-49dd-4a8a-b9c0-7ea493dd2d5a": { - "name": "FCAImmP7528293_S1_L001_R1_001.fastq.gz", - "uuid": "d96cdcd2-d832-470d-96d8-db8f92075703", - "version": "2019-10-23T14:49:36.527086Z", - "content-type": "application/gzip; dcp-type=data", - "size": 8647876508, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_0aff3a74-9c60-4205-bd4a-02b4f6951781", - "crc32c": "31ba101d", - "sha1": "fa7587ea9c918db4f52485c6cb9aad072b54de4e", - "sha256": "0c9963ec30c0a712d8d4d1e2a560c8a9d211987b616eadba8283295fe95d0f1e", - "s3_etag": "a48c864326cd6f92ed6e1be459a9ac04-129" - }, - "sequence_file/e3777b07-1706-4434-a523-1335f0b96b30": { - "name": "4834STDY7002886_S1_L001_I1_001.fastq.gz", - "uuid": "da200c32-cfbd-435f-8786-2cf542b87367", - "version": "2019-10-23T14:49:35.633033Z", - "content-type": "application/gzip; dcp-type=data", - "size": 5469801433, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_8163cb71-0e5a-4d25-b53b-200267215c80", - "crc32c": "1ea8db4f", - "sha1": "af495cfef025390453d5672337f23cbbb926f205", - "sha256": "bd605855ac9f99188b1d7d31d598c004b92ce1c44788a954a36c852167437c1d", - "s3_etag": "9f7242d78d43e541ab78c97f7dfd7ecc-82" - }, - "supplementary_file/77700dee-f8b3-40d1-b527-e0e53562eb49": { - "name": "library_preparation_protocol.pdf", - "uuid": "dc4b7fff-0876-4f92-96cc-167efc91b516", - "version": "2019-10-23T14:49:38.400942Z", - "content-type": "application/pdf; dcp-type=data", - "size": 21398, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_4a03c9d1-0ab5-4bc1-b1fc-b8203371f9ad", - "crc32c": "986d079f", - "sha1": "a1fba6c1c9ee2e37a5995fee0941f3165c27132a", - "sha256": "e53a5768236b5f83e22f057162c72357c7a4915299366c28eb37b1ee5b21c3aa", - "s3_etag": "cf0884d109a6ba1a2f71240a9466c47b" - }, - "analysis_file/9702f6ba-fd5b-5972-80d4-629e8a8fa8e9": { - "name": "90b34757-474f-42c3-9d31-683a5a0a84bd.loom", - "uuid": "dc6cba3b-5de7-5405-80ba-ba0d16f9285f", - "version": "2021-02-04T15:45:09.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 827698659, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_d6d46c9e-f341-46aa-994c-207822dabc01", - "crc32c": "fcdfbbf8", - "sha256": "05a5076408fe0659856201fe3891e369814bf5281a227a3212a60d077a6bf549" - }, - "sequence_file/a6a5f2ec-2b8c-4419-82a9-f6bdb80e849c": { - "name": "4834STDY7002885_S1_L001_I1_001.fastq.gz", - "uuid": "dce25965-6000-496a-b884-fa4dc0491a4d", - "version": "2019-10-23T14:49:35.268557Z", - "content-type": "application/gzip; dcp-type=data", - "size": 5339043888, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_4969f015-9667-463e-b6af-b6247f6917cf", - "crc32c": "3d9e0aee", - "sha1": "ff420fb082bbbb24343cb213b0883bcb3eff2d9c", - "sha256": "1b22fa3c456729a3e28e9a5fa4a35f641989d5e8b21b2d2a93470a1796d5f666", - "s3_etag": "c696e743f5309e1759b7961a85176148-80" - }, - "analysis_file/0115dbfc-99f2-59b4-8430-75cd79e3c04d": { - "name": "cc5a78a1-539f-4dec-80b6-62f35dcafd89.bam", - "uuid": "dd3dccbb-4bc8-5384-8693-96b82fe5f685", - "version": "2021-02-04T15:21:05.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 68938633339, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_27649526-f0c7-4f77-aa43-f702ae73d307", - "crc32c": "3a71013d", - "sha256": "0881ac2400044a0ea314313328f07eba6e03a02846d6fe1aef97828894930fcf" - }, - "analysis_file/32c69d68-1792-53af-9f42-0e97c9afc94b": { - "name": "37cad11b-c8c9-4d1f-b715-498b0f8d4b35.loom", - "uuid": "df9eea5a-6dea-55bc-9257-35cd9e7c58cc", - "version": "2021-02-04T15:49:34.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1066947865, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_f9b38222-c970-4a93-bee0-cb6ae1b09cb3", - "crc32c": "5c0696a6", - "sha256": "50640f0ade01cc166a041954bab0ede4c73a672b2afa4db03ea33db05843b475" - }, - "analysis_file/b666cb1a-1a4f-511f-859e-2779aad16fa0": { - "name": "b6dec4a6-2d9b-40ac-80c4-41dce01aea46.loom", - "uuid": "dfad809b-a282-5bb4-9d71-0a5bf3da0417", - "version": "2021-02-04T15:23:10.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 755461419, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_bbd2c2af-69a2-4ad2-a821-f38f988781f0", - "crc32c": "26f1f7cf", - "sha256": "2ccc35dc18a2c60d6f8de37b940fac88054079dc22ab5ce6b7273b35d43725b4" - }, - "sequence_file/48cb1c07-fb20-453a-bb98-18dfd9eb4eb8": { - "name": "CZIKidney7587404_S1_L001_R1_001.fastq.gz", - "uuid": "e5b37a2a-d819-4961-8fa5-f47ce08532a9", - "version": "2019-10-23T14:49:36.592775Z", - "content-type": "application/gzip; dcp-type=data", - "size": 613836315, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_43812944-7502-45f4-bba2-8040a2c10b80", - "crc32c": "c4ec9d5e", - "sha1": "538d4395f4b73f2d880382f4a28c05b0460060ea", - "sha256": "4e655ed6734c394ce00510bde28d3143d250229bb97da3b37665b64cab8fbc0f", - "s3_etag": "ba8826d9776d2fd1d5be2d8c2ecfa235-10" - }, - "sequence_file/ae5068b7-fa8a-46be-8a07-d735093f1aa5": { - "name": "4834STDY7002876_S1_L001_R2_001.fastq.gz", - "uuid": "e957cc11-3b0d-41ab-9f4e-3bb45688fd8e", - "version": "2019-10-23T14:49:36.362500Z", - "content-type": "application/gzip; dcp-type=data", - "size": 48573702948, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_061a1498-c142-453c-86ab-cb6004067e6e", - "crc32c": "516d0080", - "sha1": "5e0f2bf7316178d43a192ef15a8eb68ac089cce6", - "sha256": "3eae3978778a708e6c82d478a22852349f85a03bcc871eaa9e50b8f15f2d5236", - "s3_etag": "32e29d540767b0a2a62349b71bc43db6-724" - }, - "sequence_file/64c1be0b-56b7-4d5a-b7c8-e8f7f88e0427": { - "name": "FCAImmP7579215_S1_L001_R2_001.fastq.gz", - "uuid": "ee6f108e-efd4-4eb3-8e51-76fcef37455b", - "version": "2019-10-23T14:49:36.093968Z", - "content-type": "application/gzip; dcp-type=data", - "size": 26928156069, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_2c8143db-42be-4e89-a34e-85da1d8b4a2c", - "crc32c": "b6b1f27a", - "sha1": "74d730e1861528faecd8a06652846fece6fe6eb1", - "sha256": "d912bdc68b99f51cc4e0631fed1853cd5572af6b5465a258e1f932b5649cf10e", - "s3_etag": "c7dbb43857d7302cd6ce3d590cfbf211-402" - }, - "analysis_file/689bcda6-eb41-588a-b4a9-8827e22b1856": { - "name": "01f7c3d0-d4be-432d-aa25-8c7fbce20b49.loom", - "uuid": "ef880b39-ded0-529f-8b50-44961b8f852e", - "version": "2021-02-04T15:35:28.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 820653081, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_9f91fda7-c7ab-4296-a549-1775c73941ff", - "crc32c": "eff7e88e", - "sha256": "e1817119fe105c459e7f5ab3f9382e99f505abf4437fc20f6908b5bbb9bee01b" - }, - "supplementary_file/f1aecf03-b60d-483c-a09f-69223cc1ad0e": { - "name": "mature_kidney_dissociation.pdf", - "uuid": "eff119a8-5bdb-473d-8479-27b3aa0926bc", - "version": "2019-10-23T14:49:35.785263Z", - "content-type": "application/pdf; dcp-type=data", - "size": 27953, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_33bca929-b565-4eb9-a6e1-3726e38ba3a0", - "crc32c": "fac67f28", - "sha1": "9afed7ea756c7213bd9ae85a51a20899314f7a52", - "sha256": "b44f306bc5713eb2321d26493a8ced020178bfc7ea5ce2f96adda17d685c8243", - "s3_etag": "3140409968ff3ab6981de2a136276e01" - }, - "sequence_file/c2137939-c2c6-44d7-8e11-7d6d6d5443eb": { - "name": "CZIKidney7632801_S1_L001_I1_001.fastq.gz", - "uuid": "f11f27c5-f4b0-4d20-9c8f-d1af764c7c0a", - "version": "2019-10-23T14:49:41.497702Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1516326215, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_de68519a-226f-4038-9a5d-566df275bb3a", - "crc32c": "43d9a093", - "sha1": "c6ec0ade1c38137f5ddd6909a1f17e42bdbf1a7d", - "sha256": "6cc486a645990e540bbb6abfc2ec4e73552ef04684cb5038fd06ba0490f85945", - "s3_etag": "d76cd625f2a396910fc7c3e075696248-23" - }, - "sequence_file/85849811-ff50-46ec-9245-79140a1ca705": { - "name": "FCAImmP7528292_S1_L001_I1_001.fastq.gz", - "uuid": "f2f0f2f6-21bb-4672-8cbe-6143c5586b69", - "version": "2019-10-23T14:49:35.621545Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2786677316, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_6f3e8684-4511-47d1-97c5-48579f211b60", - "crc32c": "e25ca78f", - "sha1": "d0e31453c5f0a9459b38f2ece93265a4a111c2a4", - "sha256": "a2c3ee2132af329fcff94ec95906e2a533128b748905adbeaab2e27cd2546685", - "s3_etag": "0ff3beba492edeef53ebfa5c74c4aa67-42" - }, - "sequence_file/fb5fdf8f-f79f-479a-a662-2f3bed88e960": { - "name": "CZIKidney7632802_S1_L001_I1_001.fastq.gz", - "uuid": "f3b306f2-3627-4fbe-b4d0-9968ee934452", - "version": "2019-10-23T14:49:35.514301Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1353916837, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_a161aadf-a475-4841-b55b-0acec665f554", - "crc32c": "5ea82bd2", - "sha1": "d9656246e6d2b91d7c286b4985741b34e08e22ab", - "sha256": "b98b29bc6efa84b152e9b6c0a741ff13ae722065bf90998cad1a6a11a7cfd5ea", - "s3_etag": "0bc0ca931c5966ed61bda3335fe778b2-21" - }, - "sequence_file/9b53a5c0-fd77-4d55-b697-16a95c67c4c2": { - "name": "CZIKidney7587405_S1_L001_R2_001.fastq.gz", - "uuid": "f6cf748f-03ac-411c-8e52-d5a5c606e673", - "version": "2019-10-23T14:49:36.222729Z", - "content-type": "application/gzip; dcp-type=data", - "size": 26326625541, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_a00deef8-2ac5-4aff-979d-d2ae5319d703", - "crc32c": "ac861c0f", - "sha1": "8a35f5dae464edf5902fbfb5e0b4646d574cf53a", - "sha256": "cb55a549053c171a2a2077c565d004db5363d8ef9d35c18b06ed88f21a545bcc", - "s3_etag": "887ed419642b5e1fa98a7b0f71f981a2-393" - }, - "analysis_file/c60bf214-0340-53c0-b75b-af84a82808d6": { - "name": "sc-atlas-human-kidney-10XV2.loom", - "uuid": "fbdede77-a96e-5480-a4e5-2e20275fc0e8", - "version": "2021-02-11T23:24:52.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1675405939, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_2473e53e-3daa-4d9c-83f2-435410692c8a", - "crc32c": "60aaad4d", - "sha256": "75e27f6ce8b8f4e89470b34dc048736a19024c92c6dc6754f503313a19e77c55" - }, - "sequence_file/6c002a62-76b3-4578-8afd-c88cfd62a682": { - "name": "FCAImmP7555850_S1_L001_R2_001.fastq.gz", - "uuid": "fd1a13ab-4a77-4f7c-964b-7e07722581c1", - "version": "2019-10-23T14:49:35.471867Z", - "content-type": "application/gzip; dcp-type=data", - "size": 30177323727, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_8e5114bf-5b85-4da8-ae28-f3248f6043dc", - "crc32c": "3699dcce", - "sha1": "31f7335b11e8edae141adb9e48c468c68d984edb", - "sha256": "83b78d4ba19c8f05ec3df72c07917f39e085f0c89fe8e0c4fe525232b570b74b", - "s3_etag": "b73882d8f872a34c5b7da5998f4a7b77-450" - }, - "sequence_file/c30f45e7-0575-46c3-8ea2-3ac864b439e9": { - "name": "4834STDY7002876_S1_L001_I1_001.fastq.gz", - "uuid": "fe320cac-6005-46ab-a023-1c7157f5d426", - "version": "2019-10-23T14:49:35.793282Z", - "content-type": "application/gzip; dcp-type=data", - "size": 5338713782, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_d4d2b5f2-28fe-4230-a192-3f176a4039f2", - "crc32c": "2be19f36", - "sha1": "7c33cd88b70161a8fe7a9adb1782a0489a35e5d2", - "sha256": "521ce4b0c4935b9d9a46da29d6e4fa2d12e706f604eb5bbdc95f487ac524e237", - "s3_etag": "971ebef0e94981f7010f76c1ff19cc37-80" - }, - "sequence_file/9abf31bf-fc25-4e44-ae99-0af17e017b95": { - "name": "FCAImmP7555849_S1_L001_I1_001.fastq.gz", - "uuid": "fe86eb27-196d-48be-a58b-840d7add69ec", - "version": "2019-10-23T14:49:34.767268Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2612403484, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_6d6ef00d-10da-445d-82d6-294a1832755e", - "crc32c": "b9e81614", - "sha1": "3130746753b31908ac88cb16a7716437892806a6", - "sha256": "71ffd33e410acc064a0d2647a876900d34e38a534e97c0c5e20740d793dc5e41", - "s3_etag": "c643eed963e793c1aca9d12aed65f3a5-39" - }, - "sequence_file/a04c3838-8a5f-44c7-9b72-1c31c7a6c547": { - "name": "CZIKidney7587405_S1_L001_I1_001.fastq.gz", - "uuid": "feb85664-ff85-4b95-9198-036360f87cc9", - "version": "2019-10-23T14:49:35.688269Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2806497828, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_72311a04-e2b5-4773-9cef-337907c2d10b", - "crc32c": "28b614d6", - "sha1": "c9276f6849afc53361f9be9eb1e867ec26cb201d", - "sha256": "02f7f2ae215918e69a94a1781d10d0241fac16c89330625016413c6cd11eed05", - "s3_etag": "c4eb10a17c32fc4d5e9785024c8cad31-42" - }, - "sequence_file/121b6c9b-3b12-4fb8-8d98-fba4f1005770": { - "name": "FCAImmP7579215_S1_L001_R1_001.fastq.gz", - "uuid": "fede9b23-84cc-4d8e-97e3-9bd3fa3f4b19", - "version": "2019-10-23T14:49:35.820178Z", - "content-type": "application/gzip; dcp-type=data", - "size": 7926144011, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_bf871462-613c-4247-8d89-e2886436e016", - "crc32c": "67796be8", - "sha1": "38d045a4a7f4220a6b5b942572777c90d864246f", - "sha256": "65ff3db073e42c2c3cec9c74f91f37c2d4e6bdba73878e884f96272b6d9ec5db", - "s3_etag": "0c3394426d4dd0e3b4bb5c43bbf953a0-119" - }, - "sequence_file/16a9712a-0a62-4f57-a57f-189992e6070b": { - "name": "FCAImmP7555849_S1_L001_R1_001.fastq.gz", - "uuid": "ff6b12b6-7733-476d-a081-32904abff547", - "version": "2019-10-23T14:49:35.077705Z", - "content-type": "application/gzip; dcp-type=data", - "size": 8193923333, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_6a7c33c7-e101-4a30-8918-621334440bbb", - "crc32c": "fb3eee6f", - "sha1": "368e01633c5959143b43f2c5599ef73e37eeb445", - "sha256": "663fcf54cbe999ebf26ab423d2c91c20634b6bf01b235869c866c6332465572f", - "s3_etag": "be5e5229fd92fb22e34133c921cdb708-123" - }, - "sequence_file/4bf5245d-0168-48b5-83b8-c6aabdcf1a46": { - "name": "4834STDY7002881_S1_L001_I1_001.fastq.gz", - "uuid": "ffa809d2-47c7-45c6-b221-7c9d2478caa6", - "version": "2019-10-23T14:49:35.543273Z", - "content-type": "application/gzip; dcp-type=data", - "size": 5489964040, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_a5d777f7-669f-494a-ba55-31788709e50a", - "crc32c": "5a88b9ad", - "sha1": "ebcf5db03a9140a678abe3ca3d1c2543eaca918a", - "sha256": "9becc65f81c3b5d208734b337b992903c5b948e189542526e299fefa4795a0e9", - "s3_etag": "5b34bc4865ec441768acfea58db18a0d-82" - }, - "sequence_file/354517f9-c515-401a-a490-9917dea7d3f2": { - "name": "CZIKidney7632802_S1_L001_R1_001.fastq.gz", - "uuid": "ffac7235-fb12-4e0d-ac86-c608d45f43c3", - "version": "2019-10-23T14:49:35.852293Z", - "content-type": "application/gzip; dcp-type=data", - "size": 3932810672, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_b4e4823f-5d20-46dd-afa2-853f0f7e51ab_7d9a3911-299d-4915-bd32-b8d5af6871d4", - "crc32c": "02cb97d8", - "sha1": "81c0848ac728ebd82a804abf55fce81b8cc2a69d", - "sha256": "c59ba00945e3197c2a19f76175d9eac1010df41ca08afc3342133daee1aee320", - "s3_etag": "0613aa5824e81feca4684769d22f3a05-59" - } - }, - "metadata": { - "analysis_file/0115dbfc-99f2-59b4-8430-75cd79e3c04d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "cc5a78a1-539f-4dec-80b6-62f35dcafd89.bam", - "format": "bam" - }, - "provenance": { - "document_id": "0115dbfc-99f2-59b4-8430-75cd79e3c04d", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/0f9e435b-dbd3-5fd6-9b4e-347433de69b0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "082e87ac-5cf6-4bad-bedb-5f6591b8f566.bam", - "format": "bam" - }, - "provenance": { - "document_id": "0f9e435b-dbd3-5fd6-9b4e-347433de69b0", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/10439c86-98bb-5009-8374-577a41575424": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "0f14c412-5014-4ac0-9a71-858b2f047777.bam", - "format": "bam" - }, - "provenance": { - "document_id": "10439c86-98bb-5009-8374-577a41575424", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/1b675693-2615-519e-bfa7-cc008b0ff6e9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "dc31f31d-ab56-4025-9834-99be638a2d50.bam", - "format": "bam" - }, - "provenance": { - "document_id": "1b675693-2615-519e-bfa7-cc008b0ff6e9", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/2b9f7c89-d1c2-53ef-a769-80fec2f7d9e6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "0f14c412-5014-4ac0-9a71-858b2f047777.loom", - "format": "loom" - }, - "provenance": { - "document_id": "2b9f7c89-d1c2-53ef-a769-80fec2f7d9e6", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/32c69d68-1792-53af-9f42-0e97c9afc94b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "37cad11b-c8c9-4d1f-b715-498b0f8d4b35.loom", - "format": "loom" - }, - "provenance": { - "document_id": "32c69d68-1792-53af-9f42-0e97c9afc94b", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/38a0ef48-9df1-5fef-8eb6-b32fbb67aabd": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "dc31f31d-ab56-4025-9834-99be638a2d50.loom", - "format": "loom" - }, - "provenance": { - "document_id": "38a0ef48-9df1-5fef-8eb6-b32fbb67aabd", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/3cd78fb7-b7bc-5ab1-b122-47585f0023d4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "afd0ea55-e710-4b46-bb05-2423e491b6f5.loom", - "format": "loom" - }, - "provenance": { - "document_id": "3cd78fb7-b7bc-5ab1-b122-47585f0023d4", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/3e9b54c2-4244-5549-a0ca-ea1524949a86": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "548a75b4-ba45-4700-b7bb-656c3995c316.bam", - "format": "bam" - }, - "provenance": { - "document_id": "3e9b54c2-4244-5549-a0ca-ea1524949a86", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/40905b7b-03ca-52b1-9ac7-76e350824c88": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "d8c08782-6f69-4314-947c-1afe6928cbce.bam", - "format": "bam" - }, - "provenance": { - "document_id": "40905b7b-03ca-52b1-9ac7-76e350824c88", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/44175006-91f3-5d95-9a08-b33e08ed1ae3": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "b3ce1085-08dc-42ff-a609-6968315327a8.loom", - "format": "loom" - }, - "provenance": { - "document_id": "44175006-91f3-5d95-9a08-b33e08ed1ae3", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/448173cc-00c9-56e1-9bde-a8136521dc6f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "157ba915-28d7-4d80-89ad-71c8291dbc05.loom", - "format": "loom" - }, - "provenance": { - "document_id": "448173cc-00c9-56e1-9bde-a8136521dc6f", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/4d411b9c-06de-5805-bb7f-eca54e1c42cc": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "cc5a78a1-539f-4dec-80b6-62f35dcafd89.loom", - "format": "loom" - }, - "provenance": { - "document_id": "4d411b9c-06de-5805-bb7f-eca54e1c42cc", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/4db3cc2d-f0ac-5cdf-8656-4c9b096a0092": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "6a0f0064-ba67-43d6-985e-68d8edcf8c0b.loom", - "format": "loom" - }, - "provenance": { - "document_id": "4db3cc2d-f0ac-5cdf-8656-4c9b096a0092", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/50547806-882a-5915-b217-5bbc692239b9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "6d273f72-f55c-4c8e-b91e-29e762194c3f.loom", - "format": "loom" - }, - "provenance": { - "document_id": "50547806-882a-5915-b217-5bbc692239b9", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/509608f1-e1d5-561c-b0d6-54348f0adb29": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "51fb7eb7-a422-482e-a98e-c9e6f9628e97.loom", - "format": "loom" - }, - "provenance": { - "document_id": "509608f1-e1d5-561c-b0d6-54348f0adb29", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/509c765d-cf97-5166-ae8f-b0c26a42f759": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "0b52914d-687b-44d1-9a70-a95df55ed502.bam", - "format": "bam" - }, - "provenance": { - "document_id": "509c765d-cf97-5166-ae8f-b0c26a42f759", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/57c38b28-848d-5716-8c68-a3b3222aac6e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "44b8ad82-1109-4543-a534-a85b34c2c301.loom", - "format": "loom" - }, - "provenance": { - "document_id": "57c38b28-848d-5716-8c68-a3b3222aac6e", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/5bb0243e-0764-5a77-ae7d-1638ebfd27b0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "83b474d3-c20f-48f6-95a0-b0fa2269f14d.bam", - "format": "bam" - }, - "provenance": { - "document_id": "5bb0243e-0764-5a77-ae7d-1638ebfd27b0", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/5ef41564-04c4-5260-b974-9b37fcc73e35": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "2c2c943c-1c0e-462c-b630-8a91a1f0fb94.loom", - "format": "loom" - }, - "provenance": { - "document_id": "5ef41564-04c4-5260-b974-9b37fcc73e35", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/5f89237b-83d8-5b2b-880c-2fc4f0c1db1c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "6d273f72-f55c-4c8e-b91e-29e762194c3f.bam", - "format": "bam" - }, - "provenance": { - "document_id": "5f89237b-83d8-5b2b-880c-2fc4f0c1db1c", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/67f7a04b-7b04-5bb2-a492-efb98f819e97": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "44b8ad82-1109-4543-a534-a85b34c2c301.bam", - "format": "bam" - }, - "provenance": { - "document_id": "67f7a04b-7b04-5bb2-a492-efb98f819e97", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/689bcda6-eb41-588a-b4a9-8827e22b1856": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "01f7c3d0-d4be-432d-aa25-8c7fbce20b49.loom", - "format": "loom" - }, - "provenance": { - "document_id": "689bcda6-eb41-588a-b4a9-8827e22b1856", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/6f7195ee-5bcd-5b4d-a3a7-a6ad404edba9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "b3ce1085-08dc-42ff-a609-6968315327a8.bam", - "format": "bam" - }, - "provenance": { - "document_id": "6f7195ee-5bcd-5b4d-a3a7-a6ad404edba9", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/8b643b3c-3000-5cf4-8aa1-64a4b9d68abf": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "157ba915-28d7-4d80-89ad-71c8291dbc05.bam", - "format": "bam" - }, - "provenance": { - "document_id": "8b643b3c-3000-5cf4-8aa1-64a4b9d68abf", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/9702f6ba-fd5b-5972-80d4-629e8a8fa8e9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "90b34757-474f-42c3-9d31-683a5a0a84bd.loom", - "format": "loom" - }, - "provenance": { - "document_id": "9702f6ba-fd5b-5972-80d4-629e8a8fa8e9", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/9a41c791-004c-5d89-a10c-d58d2ef7eca3": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "3a20b6a5-6652-4486-86bc-842c7c31c343.loom", - "format": "loom" - }, - "provenance": { - "document_id": "9a41c791-004c-5d89-a10c-d58d2ef7eca3", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/9b35ba1f-2445-5fcc-a510-d4da345854fe": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "37cad11b-c8c9-4d1f-b715-498b0f8d4b35.bam", - "format": "bam" - }, - "provenance": { - "document_id": "9b35ba1f-2445-5fcc-a510-d4da345854fe", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/a4a43ddf-e654-526c-98fa-9c0679f2bc95": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "01f7c3d0-d4be-432d-aa25-8c7fbce20b49.bam", - "format": "bam" - }, - "provenance": { - "document_id": "a4a43ddf-e654-526c-98fa-9c0679f2bc95", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/aec768aa-9e5d-57ab-b249-09f01b2e5f03": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "90b34757-474f-42c3-9d31-683a5a0a84bd.bam", - "format": "bam" - }, - "provenance": { - "document_id": "aec768aa-9e5d-57ab-b249-09f01b2e5f03", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/b138cb0f-a34d-5b29-8b23-a37bc6f961fd": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "3a20b6a5-6652-4486-86bc-842c7c31c343.bam", - "format": "bam" - }, - "provenance": { - "document_id": "b138cb0f-a34d-5b29-8b23-a37bc6f961fd", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/b149162c-3450-5301-b057-c3930459584d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "83b474d3-c20f-48f6-95a0-b0fa2269f14d.loom", - "format": "loom" - }, - "provenance": { - "document_id": "b149162c-3450-5301-b057-c3930459584d", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/b666cb1a-1a4f-511f-859e-2779aad16fa0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "b6dec4a6-2d9b-40ac-80c4-41dce01aea46.loom", - "format": "loom" - }, - "provenance": { - "document_id": "b666cb1a-1a4f-511f-859e-2779aad16fa0", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/be883019-a8df-564d-87ff-c24a1358fdb6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "6a0f0064-ba67-43d6-985e-68d8edcf8c0b.bam", - "format": "bam" - }, - "provenance": { - "document_id": "be883019-a8df-564d-87ff-c24a1358fdb6", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/c564580f-c1bb-5c2d-a0d0-0baebebdf7e4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "51fb7eb7-a422-482e-a98e-c9e6f9628e97.bam", - "format": "bam" - }, - "provenance": { - "document_id": "c564580f-c1bb-5c2d-a0d0-0baebebdf7e4", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/c60bf214-0340-53c0-b75b-af84a82808d6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "sc-atlas-human-kidney-10XV2.loom", - "format": "loom" - }, - "provenance": { - "document_id": "c60bf214-0340-53c0-b75b-af84a82808d6", - "submission_date": "2020-12-10T10:30:00.000000Z", - "submitter_id": "e67aaabe-93ea-564a-aa66-31bc0857b707" - }, - "schema_type": "file" - }, - "analysis_file/c8b8eac3-92be-5a6c-94ac-e554face58a8": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "13a062ba-2b8e-43a1-bc2a-bc17f650b37d.bam", - "format": "bam" - }, - "provenance": { - "document_id": "c8b8eac3-92be-5a6c-94ac-e554face58a8", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/caee5d2b-466f-5762-a565-8fa4a520faba": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "13a062ba-2b8e-43a1-bc2a-bc17f650b37d.loom", - "format": "loom" - }, - "provenance": { - "document_id": "caee5d2b-466f-5762-a565-8fa4a520faba", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/df5af5d4-56e1-517b-8f47-7bf4888c853a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "082e87ac-5cf6-4bad-bedb-5f6591b8f566.loom", - "format": "loom" - }, - "provenance": { - "document_id": "df5af5d4-56e1-517b-8f47-7bf4888c853a", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/f2393819-bde7-5d77-a1ef-ea58d87e5232": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "afd0ea55-e710-4b46-bb05-2423e491b6f5.bam", - "format": "bam" - }, - "provenance": { - "document_id": "f2393819-bde7-5d77-a1ef-ea58d87e5232", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/f6809490-ac47-5fe5-af87-1923c320164e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "b6dec4a6-2d9b-40ac-80c4-41dce01aea46.bam", - "format": "bam" - }, - "provenance": { - "document_id": "f6809490-ac47-5fe5-af87-1923c320164e", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/f9b8be35-2641-5f85-af13-c0390b7bfe23": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "548a75b4-ba45-4700-b7bb-656c3995c316.loom", - "format": "loom" - }, - "provenance": { - "document_id": "f9b8be35-2641-5f85-af13-c0390b7bfe23", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/f9bf5721-5ee8-5837-8eb9-da3810cf04f1": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "2c2c943c-1c0e-462c-b630-8a91a1f0fb94.bam", - "format": "bam" - }, - "provenance": { - "document_id": "f9bf5721-5ee8-5837-8eb9-da3810cf04f1", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/fbcc2483-8a75-50ec-8cb6-8148a5087dce": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "d8c08782-6f69-4314-947c-1afe6928cbce.loom", - "format": "loom" - }, - "provenance": { - "document_id": "fbcc2483-8a75-50ec-8cb6-8148a5087dce", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/febe54b0-6388-5024-a971-fa88862a4e62": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "0b52914d-687b-44d1-9a70-a95df55ed502.loom", - "format": "loom" - }, - "provenance": { - "document_id": "febe54b0-6388-5024-a971-fa88862a4e62", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "project/abe1a013-af7a-45ed-8c26-f3793c24a1f4": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "KidneySingleCellAtlas", - "project_title": "Spatio-temporal immune zonation of the human kidney", - "project_description": "Tissue-resident immune cells are important for organ homeostasis and defense. The epithelium may contribute to these functions directly, or via crosstalk with immune cells. We resolved the spatio-temporal immune topology of the human kidney with a scRNAseq dataset from 40,268 mature and 27,203 fetal kidney cells. Within the epithelial compartment there were zonated patterns of immune gene expression, with pelvic epithelial anti-microbial peptide expression in mature but not fetal kidneys. Tissue-resident immune cells were evident in both fetal and mature kidney, with post-natal acquisition of infection-defense capabilities. Epithelial-immune signalling orchestrated localization of macrophages and neutrophils to regions of the kidney susceptible to infection." - }, - "supplementary_links": [ - "http://www.kidneycellatlas.org/", - "https://github.com/bjstewart1/kidney_sc_immune", - "https://github.com/constantAmateur/scKidneyTumors", - "https://www.ebi.ac.uk/ega/studies/EGAS00001002171", - "https://www.ebi.ac.uk/ega/studies/EGAS00001002486", - "https://www.ebi.ac.uk/ega/studies/EGAS00001002325", - "https://www.ebi.ac.uk/ega/studies/EGAS0000100255" - ], - "contributors": [ - { - "name": "Benjamin,,Stewart", - "email": "bs567@cam.ac.uk", - "institution": "Department of Medicine, University of Cambridge", - "laboratory": "Clatworthy Lab", - "address": "Cambridge Biomedical Campus, Francis Crick Ave, Cambridge CB2 0QH", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Computational scientist", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0003-4522-0085" - }, - { - "name": "John,,Ferdinand", - "email": "jrf58@cam.ac.uk", - "institution": "Department of Medicine, University of Cambridge", - "laboratory": "Clatworthy Lab", - "address": "Cambridge Biomedical Campus, Francis Crick Ave, Cambridge CB2 0QH", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Computational scientist", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0003-0936-0128" - }, - { - "name": "Tom,,Mitchell", - "email": "tjm@sanger.ac.uk", - "institution": "Wellcome Sanger Institute", - "laboratory": "Teichmann Lab", - "address": "Wellcome Trust Genome Campus, Hinxton, Saffron Walden CB10 1SA", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Clinician scientist", - "ontology": "EFO:0009740", - "ontology_label": "clinician" - }, - "orcid_id": "0000-0003-0761-9503" - }, - { - "name": "Matthew,,Young", - "email": "my4@sanger.ac.uk", - "institution": "Wellcome Sanger Institute", - "laboratory": "Behjati Lab", - "address": "Wellcome Trust Genome Campus, Hinxton, Saffron Walden CB10 1SA", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Computational scientist", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0003-0937-5290" - }, - { - "name": "Menna,,Clatworthy", - "email": "mrc38@cam.ac.uk", - "institution": "Department of Medicine, University of Cambridge", - "laboratory": "Clatworthy Lab", - "address": "Cambridge Biomedical Campus, Francis Crick Ave, Cambridge CB2 0QH", - "country": "UK", - "corresponding_contributor": true, - "project_role": { - "text": "Principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-3340-9828" - }, - { - "name": "Sam,,Behjati", - "email": "sb31@sanger.ac.uk", - "institution": "Wellcome Sanger Institute", - "laboratory": "Behjati Lab", - "address": "Wellcome Trust Genome Campus, Hinxton, Saffron Walden CB10 1SA", - "country": "UK", - "corresponding_contributor": true, - "project_role": { - "text": "Principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-6600-7665" - }, - { - "name": "Muzlifah,,Haniffa", - "email": "m.a.haniffa@newcastle.ac.uk", - "institution": "University of Newcastle", - "laboratory": "Haniffa Lab", - "address": "ICM, Ground Floor William Leech Building, Medical School, Newcastle University, NE2 4HH", - "country": "UK", - "corresponding_contributor": true, - "project_role": { - "text": "Principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-3927-2084" - }, - { - "name": "Sarah,,Teichmann", - "email": "st9@sanger.ac.uk", - "institution": "Wellcome Sanger Institute", - "laboratory": "Teichmann Lab", - "address": "Wellcome Trust Genome Campus, Hinxton, Saffron Walden CB10 1SA", - "country": "UK", - "corresponding_contributor": true, - "project_role": { - "text": "Principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-6294-6366" - }, - { - "name": "Enrique,,Sapena Ventura", - "email": "enrique@ebi.ac.uk", - "institution": "European Bioinformatics Institute", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Hinxton, Saffron Walden CB10 1SA", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - } - ], - "funders": [ - { - "grant_title": "Robert J Arceci International Award", - "grant_id": "Robert J Arceci International Award", - "organization": "St Baldrick's Foundation" - }, - { - "grant_title": "Wellcome Trust award", - "grant_id": "110104/Z/15/Z", - "organization": "Wellcome Trust" - }, - { - "grant_title": "Wellcome Trust award", - "grant_id": "107931/Z/15/Z", - "organization": "Wellcome Trust" - }, - { - "grant_title": "Joint Wellcome Trust/MRC", - "grant_id": "099175/Z/12/Z", - "organization": "Wellcome Trust/MRC" - }, - { - "grant_title": "Cancer Research UK pre-doctoral bursary", - "grant_id": "C63442/A25230", - "organization": "Cancer Research UK" - }, - { - "grant_title": "NIHR Blood and Transplant Research Unit grant", - "grant_id": "RG75628", - "organization": "NIHR" - }, - { - "grant_title": "MRC New investigator research grant", - "grant_id": "MR/N024907/1", - "organization": "MRC" - }, - { - "grant_title": "NIHR Research Professorship", - "grant_id": "RP-2017-08-ST2-002", - "organization": "NIHR" - } - ], - "publications": [ - { - "authors": [ - "Stewart JB", - "Ferdinand RJ", - "Young DM", - "Mitchell JT", - "Loudon WK", - "Riding MA", - "Richoz N", - "Frazer LG", - "Staniforth LUJ", - "Braga VAF", - "Botting AR", - "Popescu D", - "Vento-Tormo R", - "Stephenson E", - "Cagan A", - "Farndon JS", - "Polanski K", - "Efremova M", - "Green K", - "Velasco-Herrera CDM", - "Guzzo C", - "Collord G", - "Mamanova L", - "Aho T", - "Armitage NJ", - "Riddick PCA", - "Mushtaq I", - "Farrell S", - "Rampling D", - "Nicholson J", - "Filby A", - "Burge J", - "Lisgo S", - "Lindsay S", - "Bajenoff M", - "Warren YA", - "Stewart DG", - "Sebire N", - "Coleman N", - "Haniffa M", - "Teichmann AS", - "Behjati S", - "Clatworthy RM" - ], - "title": "Spatiotemporal immune zonation of the human kidney", - "doi": "10.1126/science.aat5031", - "url": "https://science.sciencemag.org/content/365/6460/1461" - } - ], - "provenance": { - "document_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4", - "submission_date": "2019-10-22T17:45:56.833Z", - "update_date": "2019-10-22T17:46:02.049Z" - } - }, - "analysis_process/0aa931a7-1850-47ff-86f9-2e3b1260cbb3": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_0aff3a74-9c60-4205-bd4a-02b4f6951781']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_c2564d1f-cbac-4019-8c0c-ffa442631249']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_7ea572fe-4191-462b-9f7b-e9c8ba1e14c4']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "0b52914d-687b-44d1-9a70-a95df55ed502" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "0aa931a7-1850-47ff-86f9-2e3b1260cbb3" - }, - "provenance": { - "document_id": "0aa931a7-1850-47ff-86f9-2e3b1260cbb3", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:15:25.103Z", - "stop_time": "2021-02-04T15:19:50.990Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:15:25.103Z", - "stop_time": "2021-02-04T15:19:53.976Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:58.852Z", - "stop_time": "2021-02-04T15:15:23.985Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:40.274Z", - "stop_time": "2021-02-04T15:11:56.970Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:15:25.103Z", - "stop_time": "2021-02-04T15:19:50.989Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 607 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:11.969Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:58.852Z", - "stop_time": "2021-02-04T15:15:23.984Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:20:17.882Z", - "stop_time": "2021-02-04T15:22:11.970Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:20:20.942Z", - "stop_time": "2021-02-04T15:22:14.981Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:20:20.942Z", - "stop_time": "2021-02-04T15:22:14.981Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:15:59.784Z", - "stop_time": "2021-02-04T15:20:17.985Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:17.966Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:31.492Z", - "stop_time": "2021-02-04T15:41:05.987Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:58.852Z", - "stop_time": "2021-02-04T15:15:23.985Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:58.853Z", - "stop_time": "2021-02-04T15:15:23.985Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:26.803Z", - "stop_time": "2021-02-04T15:10:38.994Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:16.202Z", - "stop_time": "2021-02-04T15:22:29.955Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:15.210Z", - "stop_time": "2021-02-04T15:08:02.997Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:04.192Z", - "stop_time": "2021-02-04T15:09:24.002Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/0aa931a7-1850-47ff-86f9-2e3b1260cbb3/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:02.965Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.175Z", - "timestamp_stop_utc": "2021-02-04T15:41:07.621Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/119ebaa3-a3b6-4cfe-8978-46d93796b9aa": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_735c31a0-bf71-4641-a931-428a460be807']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_aff873cd-365b-4a97-bebf-e41724dce1e0']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_4969f015-9667-463e-b6af-b6247f6917cf']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "b6dec4a6-2d9b-40ac-80c4-41dce01aea46" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "119ebaa3-a3b6-4cfe-8978-46d93796b9aa" - }, - "provenance": { - "document_id": "119ebaa3-a3b6-4cfe-8978-46d93796b9aa", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:08:50.877Z", - "stop_time": "2021-02-04T15:09:22.357Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:08:53.944Z", - "stop_time": "2021-02-04T15:09:28.382Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:08:32.503Z", - "stop_time": "2021-02-04T15:08:49.402Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 54 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:08:15.165Z", - "stop_time": "2021-02-04T15:08:31.363Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 14 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:50.876Z", - "stop_time": "2021-02-04T15:09:28.384Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 705 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:56.508Z", - "stop_time": "2021-02-04T15:07:07.323Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:08:32.507Z", - "stop_time": "2021-02-04T15:08:52.399Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:09:46.093Z", - "stop_time": "2021-02-04T15:09:58.333Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:52.214Z", - "stop_time": "2021-02-04T15:10:13.328Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:09:46.093Z", - "stop_time": "2021-02-04T15:09:58.332Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:09:21.503Z", - "stop_time": "2021-02-04T15:09:37.384Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:56.508Z", - "stop_time": "2021-02-04T15:07:31.343Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:10:29.956Z", - "stop_time": "2021-02-04T15:23:34.327Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 204 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:32.506Z", - "stop_time": "2021-02-04T15:08:49.406Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 204 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:32.507Z", - "stop_time": "2021-02-04T15:08:52.402Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:07:54.663Z", - "stop_time": "2021-02-04T15:08:13.347Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:14.655Z", - "stop_time": "2021-02-04T15:10:28.331Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 71 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:10.792Z", - "stop_time": "2021-02-04T15:07:28.332Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 23 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:07:33.243Z", - "stop_time": "2021-02-04T15:07:52.344Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/119ebaa3-a3b6-4cfe-8978-46d93796b9aa/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:56.508Z", - "stop_time": "2021-02-04T15:07:01.337Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:53.996Z", - "timestamp_stop_utc": "2021-02-04T15:23:35.522Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/24552395-eef1-405d-a85e-df65c08b8ceb": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_fa1c9793-47ae-43c9-8297-39fd1a19e074']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_061a1498-c142-453c-86ab-cb6004067e6e']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_d4d2b5f2-28fe-4230-a192-3f176a4039f2']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "51fb7eb7-a422-482e-a98e-c9e6f9628e97" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "24552395-eef1-405d-a85e-df65c08b8ceb" - }, - "provenance": { - "document_id": "24552395-eef1-405d-a85e-df65c08b8ceb", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:14:35.026Z", - "stop_time": "2021-02-04T15:19:11.978Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:14:35.027Z", - "stop_time": "2021-02-04T15:19:17.999Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 6 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:46.604Z", - "stop_time": "2021-02-04T15:14:32.993Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:28.054Z", - "stop_time": "2021-02-04T15:11:44.974Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:14:35.026Z", - "stop_time": "2021-02-04T15:19:20.969Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 734 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:07:08.966Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:46.605Z", - "stop_time": "2021-02-04T15:14:32.997Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:19:41.485Z", - "stop_time": "2021-02-04T15:22:06.002Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:19:41.485Z", - "stop_time": "2021-02-04T15:22:17.955Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:19:41.485Z", - "stop_time": "2021-02-04T15:22:11.970Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:14:59.506Z", - "stop_time": "2021-02-04T15:19:32.991Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:07:20.958Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:37.044Z", - "stop_time": "2021-02-04T15:41:56.994Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:46.604Z", - "stop_time": "2021-02-04T15:14:32.993Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:46.606Z", - "stop_time": "2021-02-04T15:14:32.993Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:11.555Z", - "stop_time": "2021-02-04T15:10:26.969Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:19.705Z", - "stop_time": "2021-02-04T15:22:35.972Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:12.142Z", - "stop_time": "2021-02-04T15:07:54.007Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:07:55.056Z", - "stop_time": "2021-02-04T15:09:09.001Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/24552395-eef1-405d-a85e-df65c08b8ceb/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:06:56.958Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.176Z", - "timestamp_stop_utc": "2021-02-04T15:41:59.004Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_bf871462-613c-4247-8d89-e2886436e016']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_2c8143db-42be-4e89-a34e-85da1d8b4a2c']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_3d4e8ad6-b672-47ee-a8ab-ff4b725a2db5']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "44b8ad82-1109-4543-a534-a85b34c2c301" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "362835d6-4ab3-4f0b-8b15-fb7c0fc3311c" - }, - "provenance": { - "document_id": "362835d6-4ab3-4f0b-8b15-fb7c0fc3311c", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:12:34.542Z", - "stop_time": "2021-02-04T15:17:26.965Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:12:34.542Z", - "stop_time": "2021-02-04T15:17:26.965Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:16.993Z", - "stop_time": "2021-02-04T15:12:32.998Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:04.553Z", - "stop_time": "2021-02-04T15:11:14.972Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:34.542Z", - "stop_time": "2021-02-04T15:17:32.985Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 598 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:07:05.959Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:16.994Z", - "stop_time": "2021-02-04T15:12:32.998Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:18:35.172Z", - "stop_time": "2021-02-04T15:22:06.001Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:18:41.293Z", - "stop_time": "2021-02-04T15:22:11.970Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:18:41.293Z", - "stop_time": "2021-02-04T15:22:06.002Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:13:41.992Z", - "stop_time": "2021-02-04T15:18:35.953Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:07:20.958Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:31.933Z", - "stop_time": "2021-02-04T15:42:35.970Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:16.994Z", - "stop_time": "2021-02-04T15:12:32.998Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:16.994Z", - "stop_time": "2021-02-04T15:12:38.996Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:50.094Z", - "stop_time": "2021-02-04T15:10:03.000Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:13.576Z", - "stop_time": "2021-02-04T15:22:29.955Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:09.074Z", - "stop_time": "2021-02-04T15:07:38.997Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:07:40.692Z", - "stop_time": "2021-02-04T15:08:48.005Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/362835d6-4ab3-4f0b-8b15-fb7c0fc3311c/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:06:56.958Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.176Z", - "timestamp_stop_utc": "2021-02-04T15:42:37.773Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/4785d42e-648a-4d1d-9b1e-677cf5486850": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_e72919b0-2a69-4d45-b303-0c952d833eb1']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_8e5114bf-5b85-4da8-ae28-f3248f6043dc']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_61256863-b124-4819-89fd-77676396e603']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "082e87ac-5cf6-4bad-bedb-5f6591b8f566" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "4785d42e-648a-4d1d-9b1e-677cf5486850" - }, - "provenance": { - "document_id": "4785d42e-648a-4d1d-9b1e-677cf5486850", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:16:04.884Z", - "stop_time": "2021-02-04T15:20:17.985Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:16:04.884Z", - "stop_time": "2021-02-04T15:20:20.960Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:10.062Z", - "stop_time": "2021-02-04T15:16:02.995Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:49.453Z", - "stop_time": "2021-02-04T15:12:08.996Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:16:04.883Z", - "stop_time": "2021-02-04T15:20:23.990Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 609 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:11.968Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:10.062Z", - "stop_time": "2021-02-04T15:16:02.995Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:20:20.233Z", - "stop_time": "2021-02-04T15:22:14.981Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:20:26.352Z", - "stop_time": "2021-02-04T15:22:20.983Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:20:23.292Z", - "stop_time": "2021-02-04T15:22:14.981Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:16:05.903Z", - "stop_time": "2021-02-04T15:20:23.990Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:17.967Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:37.032Z", - "stop_time": "2021-02-04T15:37:41.960Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:10.062Z", - "stop_time": "2021-02-04T15:16:02.994Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:10.063Z", - "stop_time": "2021-02-04T15:16:02.995Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:35.992Z", - "stop_time": "2021-02-04T15:10:47.991Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:22.753Z", - "stop_time": "2021-02-04T15:22:35.972Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:15.221Z", - "stop_time": "2021-02-04T15:08:17.981Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:19.494Z", - "stop_time": "2021-02-04T15:09:32.996Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/4785d42e-648a-4d1d-9b1e-677cf5486850/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:02.964Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.171Z", - "timestamp_stop_utc": "2021-02-04T15:37:43.932Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/566d48d1-fee9-45a5-80e8-b88f9305e0b2": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_6a7c33c7-e101-4a30-8918-621334440bbb']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_47ae7a9a-33de-4834-8a28-527ab727d46b']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_6d6ef00d-10da-445d-82d6-294a1832755e']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "37cad11b-c8c9-4d1f-b715-498b0f8d4b35" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "566d48d1-fee9-45a5-80e8-b88f9305e0b2" - }, - "provenance": { - "document_id": "566d48d1-fee9-45a5-80e8-b88f9305e0b2", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:16:01.823Z", - "stop_time": "2021-02-04T15:20:17.984Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:16:01.823Z", - "stop_time": "2021-02-04T15:20:17.987Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:07.002Z", - "stop_time": "2021-02-04T15:15:59.981Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:49.455Z", - "stop_time": "2021-02-04T15:12:05.954Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:16:01.823Z", - "stop_time": "2021-02-04T15:20:23.989Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 599 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.741Z", - "stop_time": "2021-02-04T15:07:11.968Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:07.003Z", - "stop_time": "2021-02-04T15:15:59.981Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:20:26.362Z", - "stop_time": "2021-02-04T15:22:14.982Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:20:32.482Z", - "stop_time": "2021-02-04T15:22:14.982Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:20:29.422Z", - "stop_time": "2021-02-04T15:22:14.981Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:16:12.022Z", - "stop_time": "2021-02-04T15:20:26.970Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.741Z", - "stop_time": "2021-02-04T15:07:17.966Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:37.183Z", - "stop_time": "2021-02-04T15:33:19.945Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:07.003Z", - "stop_time": "2021-02-04T15:15:59.982Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:07.003Z", - "stop_time": "2021-02-04T15:15:59.981Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:35.992Z", - "stop_time": "2021-02-04T15:10:47.990Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:16.784Z", - "stop_time": "2021-02-04T15:22:35.972Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:15.228Z", - "stop_time": "2021-02-04T15:08:17.982Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:19.498Z", - "stop_time": "2021-02-04T15:09:32.995Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/566d48d1-fee9-45a5-80e8-b88f9305e0b2/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.741Z", - "stop_time": "2021-02-04T15:07:02.964Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.176Z", - "timestamp_stop_utc": "2021-02-04T15:51:34.632Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/62e9f752-eab4-48c8-9fba-95b847207ee5": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_2c603cc5-df4e-4291-bb00-c624ec1264db']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_17865249-e2e9-41e0-b9da-9559553b8891']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_de68519a-226f-4038-9a5d-566df275bb3a']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "2c2c943c-1c0e-462c-b630-8a91a1f0fb94" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "62e9f752-eab4-48c8-9fba-95b847207ee5" - }, - "provenance": { - "document_id": "62e9f752-eab4-48c8-9fba-95b847207ee5", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:15:01.522Z", - "stop_time": "2021-02-04T15:19:38.989Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:15:01.523Z", - "stop_time": "2021-02-04T15:19:32.989Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:55.752Z", - "stop_time": "2021-02-04T15:14:59.977Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:40.272Z", - "stop_time": "2021-02-04T15:11:53.986Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:15:01.522Z", - "stop_time": "2021-02-04T15:19:44.978Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 556 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.741Z", - "stop_time": "2021-02-04T15:07:11.968Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:55.753Z", - "stop_time": "2021-02-04T15:14:59.978Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:20:20.232Z", - "stop_time": "2021-02-04T15:22:11.970Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:20:26.352Z", - "stop_time": "2021-02-04T15:22:14.981Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:20:20.232Z", - "stop_time": "2021-02-04T15:22:11.971Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:16:02.843Z", - "stop_time": "2021-02-04T15:20:17.985Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.741Z", - "stop_time": "2021-02-04T15:07:20.958Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:31.932Z", - "stop_time": "2021-02-04T15:43:34.946Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:55.752Z", - "stop_time": "2021-02-04T15:14:59.977Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:55.754Z", - "stop_time": "2021-02-04T15:15:03.007Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:26.801Z", - "stop_time": "2021-02-04T15:10:38.996Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:16.632Z", - "stop_time": "2021-02-04T15:22:29.955Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:15.223Z", - "stop_time": "2021-02-04T15:08:09.000Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:10.311Z", - "stop_time": "2021-02-04T15:09:24.003Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/62e9f752-eab4-48c8-9fba-95b847207ee5/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.741Z", - "stop_time": "2021-02-04T15:07:02.965Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.172Z", - "timestamp_stop_utc": "2021-02-04T16:05:04.462Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_7d9a3911-299d-4915-bd32-b8d5af6871d4']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_2b244595-1db8-4518-9d02-0b380f1413b6']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_a161aadf-a475-4841-b55b-0acec665f554']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "0f14c412-5014-4ac0-9a71-858b2f047777" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "6ef15cb9-46a9-4cf2-9fda-d536641bc6c5" - }, - "provenance": { - "document_id": "6ef15cb9-46a9-4cf2-9fda-d536641bc6c5", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:10:22.328Z", - "stop_time": "2021-02-04T15:10:38.386Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:10:22.328Z", - "stop_time": "2021-02-04T15:10:38.387Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:10:07.028Z", - "stop_time": "2021-02-04T15:10:20.398Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 54 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:09:45.608Z", - "stop_time": "2021-02-04T15:10:05.382Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 14 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:10:19.268Z", - "stop_time": "2021-02-04T15:10:29.386Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 548 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:53.226Z", - "stop_time": "2021-02-04T15:07:05.376Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:10:07.028Z", - "stop_time": "2021-02-04T15:10:20.398Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:10:40.688Z", - "stop_time": "2021-02-04T15:10:53.374Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:10:46.808Z", - "stop_time": "2021-02-04T15:10:59.375Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:10:40.688Z", - "stop_time": "2021-02-04T15:10:53.374Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:10:26.408Z", - "stop_time": "2021-02-04T15:10:38.388Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:53.226Z", - "stop_time": "2021-02-04T15:09:08.380Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:11:16.388Z", - "stop_time": "2021-02-04T15:20:08.375Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 204 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:10:07.028Z", - "stop_time": "2021-02-04T15:10:17.388Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 204 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:10:07.028Z", - "stop_time": "2021-02-04T15:10:20.398Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:35.408Z", - "stop_time": "2021-02-04T15:09:44.381Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:11:01.088Z", - "stop_time": "2021-02-04T15:11:14.374Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 71 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:08.528Z", - "stop_time": "2021-02-04T15:07:32.378Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 23 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:09.908Z", - "stop_time": "2021-02-04T15:09:32.375Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/6ef15cb9-46a9-4cf2-9fda-d536641bc6c5/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:53.226Z", - "stop_time": "2021-02-04T15:06:59.380Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:50.512Z", - "timestamp_stop_utc": "2021-02-04T15:20:10.018Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/70341236-6291-4b53-b161-17bca3b50cb9": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_d03c3744-17fb-4404-8690-4472b7a27c5c']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_c48f6982-a8d3-473f-8ce6-8cdbdc2f2f94']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_8163cb71-0e5a-4d25-b53b-200267215c80']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "6d273f72-f55c-4c8e-b91e-29e762194c3f" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "70341236-6291-4b53-b161-17bca3b50cb9" - }, - "provenance": { - "document_id": "70341236-6291-4b53-b161-17bca3b50cb9", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:17:19.475Z", - "stop_time": "2021-02-04T15:21:14.969Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:17:19.475Z", - "stop_time": "2021-02-04T15:21:14.970Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:34.515Z", - "stop_time": "2021-02-04T15:17:17.997Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 54 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:11:10.876Z", - "stop_time": "2021-02-04T15:12:33.000Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 14 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:17:19.474Z", - "stop_time": "2021-02-04T15:21:11.973Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 704 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.742Z", - "stop_time": "2021-02-04T15:07:11.968Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:34.516Z", - "stop_time": "2021-02-04T15:17:17.997Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:21:35.835Z", - "stop_time": "2021-02-04T15:22:20.984Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:21:59.295Z", - "stop_time": "2021-02-04T15:22:35.973Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:21:35.835Z", - "stop_time": "2021-02-04T15:22:17.955Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:18:02.524Z", - "stop_time": "2021-02-04T15:21:33.034Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.742Z", - "stop_time": "2021-02-04T15:07:17.966Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:49.275Z", - "stop_time": "2021-02-04T15:45:32.950Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 204 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:34.515Z", - "stop_time": "2021-02-04T15:17:17.996Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 204 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:34.518Z", - "stop_time": "2021-02-04T15:17:20.983Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:56.415Z", - "stop_time": "2021-02-04T15:11:09.006Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:37.035Z", - "stop_time": "2021-02-04T15:22:47.949Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 71 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:15.256Z", - "stop_time": "2021-02-04T15:08:39.040Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 23 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:40.934Z", - "stop_time": "2021-02-04T15:09:54.000Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/70341236-6291-4b53-b161-17bca3b50cb9/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.742Z", - "stop_time": "2021-02-04T15:07:05.959Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.172Z", - "timestamp_stop_utc": "2021-02-04T15:45:34.213Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/75eaaa73-142a-46db-8db1-6a0d7e487a0f": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_7d899eb7-411e-4a83-ac78-d4f656f06916']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_a00deef8-2ac5-4aff-979d-d2ae5319d703']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_72311a04-e2b5-4773-9cef-337907c2d10b']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "dc31f31d-ab56-4025-9834-99be638a2d50" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "75eaaa73-142a-46db-8db1-6a0d7e487a0f" - }, - "provenance": { - "document_id": "75eaaa73-142a-46db-8db1-6a0d7e487a0f", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:15:31.223Z", - "stop_time": "2021-02-04T15:19:59.970Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 6 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:15:31.223Z", - "stop_time": "2021-02-04T15:19:56.969Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 10 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:01.903Z", - "stop_time": "2021-02-04T15:15:29.969Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 58 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:40.282Z", - "stop_time": "2021-02-04T15:11:59.971Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 22 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:15:31.223Z", - "stop_time": "2021-02-04T15:20:03.000Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 596 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:08.966Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:01.903Z", - "stop_time": "2021-02-04T15:15:29.968Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:20:05.953Z", - "stop_time": "2021-02-04T15:22:11.971Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:20:05.953Z", - "stop_time": "2021-02-04T15:22:14.981Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:20:05.953Z", - "stop_time": "2021-02-04T15:22:11.971Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:15:35.303Z", - "stop_time": "2021-02-04T15:20:03.000Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:20.958Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:31.933Z", - "stop_time": "2021-02-04T15:35:11.950Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:01.903Z", - "stop_time": "2021-02-04T15:15:29.968Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:01.903Z", - "stop_time": "2021-02-04T15:15:29.969Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 212 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:20.723Z", - "stop_time": "2021-02-04T15:10:38.995Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:16.633Z", - "stop_time": "2021-02-04T15:22:29.955Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 73 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:12.147Z", - "stop_time": "2021-02-04T15:08:00.138Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 27 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:01.162Z", - "stop_time": "2021-02-04T15:09:17.991Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/75eaaa73-142a-46db-8db1-6a0d7e487a0f/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:06:59.950Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.171Z", - "timestamp_stop_utc": "2021-02-04T15:35:12.982Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/9531ad31-8210-463c-a6c4-171fb50e4cd1": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [], - "process_core": { - "process_id": "9531ad31-8210-463c-a6c4-171fb50e4cd1" - }, - "provenance": { - "document_id": "9531ad31-8210-463c-a6c4-171fb50e4cd1", - "submission_date": "2020-12-10T10:30:00.000000Z" - }, - "reference_files": [], - "schema_type": "process", - "tasks": [], - "timestamp_start_utc": "2021-02-11T23:24:52.000000Z", - "timestamp_stop_utc": "2021-02-11T23:24:52.000000Z", - "type": { - "text": "analysis; merge matrices" - } - }, - "analysis_process/9be12f87-5674-4d72-8dc3-f86ebf53ae00": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_78c91c18-2f67-4453-80c3-eae2e0993f84']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_6fe20b20-f479-4139-b366-5f78f7077cf9']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_b20ff1d0-a460-4532-b29a-f455b9c6f26a']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "6a0f0064-ba67-43d6-985e-68d8edcf8c0b" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "9be12f87-5674-4d72-8dc3-f86ebf53ae00" - }, - "provenance": { - "document_id": "9be12f87-5674-4d72-8dc3-f86ebf53ae00", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:14:04.401Z", - "stop_time": "2021-02-04T15:18:53.972Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:14:04.401Z", - "stop_time": "2021-02-04T15:18:56.975Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:40.461Z", - "stop_time": "2021-02-04T15:14:02.977Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:19.881Z", - "stop_time": "2021-02-04T15:11:38.993Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:14:04.401Z", - "stop_time": "2021-02-04T15:18:53.972Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 552 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:08.966Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:40.461Z", - "stop_time": "2021-02-04T15:14:02.977Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:19:50.652Z", - "stop_time": "2021-02-04T15:22:11.970Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:19:56.772Z", - "stop_time": "2021-02-04T15:22:11.970Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:19:50.652Z", - "stop_time": "2021-02-04T15:22:06.002Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:15:17.962Z", - "stop_time": "2021-02-04T15:19:47.991Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:20.958Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:31.932Z", - "stop_time": "2021-02-04T15:39:05.952Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:40.461Z", - "stop_time": "2021-02-04T15:14:02.977Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:40.462Z", - "stop_time": "2021-02-04T15:14:02.977Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:11.541Z", - "stop_time": "2021-02-04T15:10:17.999Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:13.572Z", - "stop_time": "2021-02-04T15:22:29.955Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:12.144Z", - "stop_time": "2021-02-04T15:07:56.971Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:07:58.101Z", - "stop_time": "2021-02-04T15:09:08.999Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/9be12f87-5674-4d72-8dc3-f86ebf53ae00/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:02.964Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.179Z", - "timestamp_stop_utc": "2021-02-04T15:39:07.592Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/a201d705-2a67-452d-a8c8-4d792885fecc": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_3e64eba0-f87b-4ab8-abf9-4675dbe50563']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_c80cfe3c-09f8-4a00-80a6-fc88b5f4946c']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_4f139691-1ff3-45a3-bd6d-580f98c5337a']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "13a062ba-2b8e-43a1-bc2a-bc17f650b37d" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "a201d705-2a67-452d-a8c8-4d792885fecc" - }, - "provenance": { - "document_id": "a201d705-2a67-452d-a8c8-4d792885fecc", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:12:40.664Z", - "stop_time": "2021-02-04T15:17:41.982Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:12:40.664Z", - "stop_time": "2021-02-04T15:17:41.981Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 6 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:16.994Z", - "stop_time": "2021-02-04T15:12:38.995Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:09:58.434Z", - "stop_time": "2021-02-04T15:11:14.972Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:40.664Z", - "stop_time": "2021-02-04T15:17:38.975Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 610 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:07:02.965Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:16.994Z", - "stop_time": "2021-02-04T15:12:38.995Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:18:20.732Z", - "stop_time": "2021-02-04T15:22:06.001Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:18:23.792Z", - "stop_time": "2021-02-04T15:22:06.002Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:18:17.672Z", - "stop_time": "2021-02-04T15:22:06.002Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:13:17.493Z", - "stop_time": "2021-02-04T15:18:14.971Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:07:17.966Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:31.642Z", - "stop_time": "2021-02-04T15:43:41.959Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:16.994Z", - "stop_time": "2021-02-04T15:12:38.998Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:16.996Z", - "stop_time": "2021-02-04T15:12:38.997Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:44.994Z", - "stop_time": "2021-02-04T15:09:56.979Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:07.163Z", - "stop_time": "2021-02-04T15:22:29.955Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:07.035Z", - "stop_time": "2021-02-04T15:07:29.980Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:07:31.513Z", - "stop_time": "2021-02-04T15:08:41.981Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/a201d705-2a67-452d-a8c8-4d792885fecc/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:06:56.958Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.174Z", - "timestamp_stop_utc": "2021-02-04T15:43:43.931Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/c2552add-e5bd-4022-b3b0-9d160ebbda5b": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_b9c7367e-cbdf-4ec8-ac4e-034b2ba3e486']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_eee48cb1-c0c3-491c-9620-112b6ec43d44']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_4b1ef4c0-7b14-4797-984e-0db785288d24']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "548a75b4-ba45-4700-b7bb-656c3995c316" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "c2552add-e5bd-4022-b3b0-9d160ebbda5b" - }, - "provenance": { - "document_id": "c2552add-e5bd-4022-b3b0-9d160ebbda5b", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:14:58.460Z", - "stop_time": "2021-02-04T15:19:32.989Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:14:58.460Z", - "stop_time": "2021-02-04T15:19:38.986Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:55.750Z", - "stop_time": "2021-02-04T15:14:56.972Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:37.210Z", - "stop_time": "2021-02-04T15:11:53.986Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:14:58.460Z", - "stop_time": "2021-02-04T15:19:35.967Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 508 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.750Z", - "stop_time": "2021-02-04T15:07:11.968Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:55.750Z", - "stop_time": "2021-02-04T15:14:56.972Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:19:35.344Z", - "stop_time": "2021-02-04T15:22:06.002Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:19:41.460Z", - "stop_time": "2021-02-04T15:22:06.002Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:19:41.460Z", - "stop_time": "2021-02-04T15:22:06.002Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:15:02.541Z", - "stop_time": "2021-02-04T15:19:32.989Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.750Z", - "stop_time": "2021-02-04T15:07:17.968Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:31.780Z", - "stop_time": "2021-02-04T15:31:50.951Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:55.750Z", - "stop_time": "2021-02-04T15:14:56.972Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:55.750Z", - "stop_time": "2021-02-04T15:14:56.972Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:26.800Z", - "stop_time": "2021-02-04T15:10:35.951Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:07.300Z", - "stop_time": "2021-02-04T15:22:29.955Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:15.216Z", - "stop_time": "2021-02-04T15:08:11.994Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:13.370Z", - "stop_time": "2021-02-04T15:09:24.003Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c2552add-e5bd-4022-b3b0-9d160ebbda5b/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.750Z", - "stop_time": "2021-02-04T15:07:05.959Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.171Z", - "timestamp_stop_utc": "2021-02-04T15:31:52.940Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_78c5e445-715c-4b92-9a42-67d668321872']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_0c80fc7f-4737-4794-b0cb-bee804f55303']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_2cc6c72b-9d26-44a4-9171-86856e17a27f']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "157ba915-28d7-4d80-89ad-71c8291dbc05" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2" - }, - "provenance": { - "document_id": "c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:18:34.165Z", - "stop_time": "2021-02-04T15:22:06.004Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:18:34.165Z", - "stop_time": "2021-02-04T15:22:06.003Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 6 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:13:34.858Z", - "stop_time": "2021-02-04T15:18:32.994Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 54 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:11:31.286Z", - "stop_time": "2021-02-04T15:13:32.992Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:18:34.165Z", - "stop_time": "2021-02-04T15:22:11.970Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 737 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.742Z", - "stop_time": "2021-02-04T15:07:14.952Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:13:34.858Z", - "stop_time": "2021-02-04T15:18:32.993Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:22:08.476Z", - "stop_time": "2021-02-04T15:22:32.951Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:22:14.606Z", - "stop_time": "2021-02-04T15:22:41.959Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:22:08.475Z", - "stop_time": "2021-02-04T15:22:32.951Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:18:35.185Z", - "stop_time": "2021-02-04T15:22:06.005Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.742Z", - "stop_time": "2021-02-04T15:07:20.958Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:58.465Z", - "stop_time": "2021-02-04T15:36:50.954Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 204 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:13:34.858Z", - "stop_time": "2021-02-04T15:18:32.993Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 204 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:13:34.858Z", - "stop_time": "2021-02-04T15:18:32.994Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:10:11.704Z", - "stop_time": "2021-02-04T15:11:29.981Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:43.165Z", - "stop_time": "2021-02-04T15:22:56.948Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 71 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:18.274Z", - "stop_time": "2021-02-04T15:08:48.005Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:49.084Z", - "stop_time": "2021-02-04T15:10:09.003Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.742Z", - "stop_time": "2021-02-04T15:07:02.965Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.176Z", - "timestamp_stop_utc": "2021-02-04T15:36:52.944Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/c99659fc-134b-4290-aae6-0bd6adbe3f0a": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_629386e6-bb2d-444f-a318-2d0457557d29']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_5bd55a48-bcb3-44c8-aca8-115b77e12da8']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_051a15bb-37c6-44b8-9fde-efad9ab808e8']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "90b34757-474f-42c3-9d31-683a5a0a84bd" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "c99659fc-134b-4290-aae6-0bd6adbe3f0a" - }, - "provenance": { - "document_id": "c99659fc-134b-4290-aae6-0bd6adbe3f0a", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:16:49.763Z", - "stop_time": "2021-02-04T15:20:50.970Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:16:49.763Z", - "stop_time": "2021-02-04T15:20:53.980Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 6 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:19.242Z", - "stop_time": "2021-02-04T15:16:47.981Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:11:04.752Z", - "stop_time": "2021-02-04T15:12:17.987Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:16:49.763Z", - "stop_time": "2021-02-04T15:20:56.973Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 600 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.750Z", - "stop_time": "2021-02-04T15:07:11.968Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:19.243Z", - "stop_time": "2021-02-04T15:16:47.983Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:21:02.172Z", - "stop_time": "2021-02-04T15:22:14.981Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:21:08.293Z", - "stop_time": "2021-02-04T15:22:20.983Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:21:02.172Z", - "stop_time": "2021-02-04T15:22:14.981Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:16:53.842Z", - "stop_time": "2021-02-04T15:20:56.974Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.750Z", - "stop_time": "2021-02-04T15:07:17.967Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:37.032Z", - "stop_time": "2021-02-04T15:33:14.945Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:19.242Z", - "stop_time": "2021-02-04T15:16:47.982Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:19.243Z", - "stop_time": "2021-02-04T15:16:47.983Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:50.283Z", - "stop_time": "2021-02-04T15:11:02.992Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:22.753Z", - "stop_time": "2021-02-04T15:22:35.973Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:15.243Z", - "stop_time": "2021-02-04T15:08:32.995Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:34.801Z", - "stop_time": "2021-02-04T15:09:47.989Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/c99659fc-134b-4290-aae6-0bd6adbe3f0a/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.750Z", - "stop_time": "2021-02-04T15:07:05.959Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.171Z", - "timestamp_stop_utc": "2021-02-04T15:46:04.832Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/cbc88af9-e283-49fa-8c4d-7931a266d2fb": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_c2ef14bf-fafc-4880-a269-9bff4c99c772']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_49a62425-1266-4bb2-b4af-0e92441041cd']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_a5f28c90-87e0-4aaf-b5b4-116127c53b16']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "3a20b6a5-6652-4486-86bc-842c7c31c343" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "cbc88af9-e283-49fa-8c4d-7931a266d2fb" - }, - "provenance": { - "document_id": "cbc88af9-e283-49fa-8c4d-7931a266d2fb", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:14:19.702Z", - "stop_time": "2021-02-04T15:19:02.992Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:14:19.702Z", - "stop_time": "2021-02-04T15:19:02.992Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:43.512Z", - "stop_time": "2021-02-04T15:14:17.975Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:25.991Z", - "stop_time": "2021-02-04T15:11:41.971Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:14:19.702Z", - "stop_time": "2021-02-04T15:19:11.977Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 552 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:08.966Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:43.512Z", - "stop_time": "2021-02-04T15:14:17.975Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:19:20.761Z", - "stop_time": "2021-02-04T15:22:06.002Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:19:33.001Z", - "stop_time": "2021-02-04T15:22:06.002Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:19:20.761Z", - "stop_time": "2021-02-04T15:22:06.001Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:14:36.021Z", - "stop_time": "2021-02-04T15:19:17.999Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:17.966Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:31.501Z", - "stop_time": "2021-02-04T15:38:33.006Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:43.512Z", - "stop_time": "2021-02-04T15:14:17.975Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:43.512Z", - "stop_time": "2021-02-04T15:14:17.975Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:11.531Z", - "stop_time": "2021-02-04T15:10:23.979Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:08.041Z", - "stop_time": "2021-02-04T15:22:29.955Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:12.143Z", - "stop_time": "2021-02-04T15:07:54.008Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:07:55.032Z", - "stop_time": "2021-02-04T15:09:09.000Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cbc88af9-e283-49fa-8c4d-7931a266d2fb/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:02.964Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.176Z", - "timestamp_stop_utc": "2021-02-04T15:38:34.621Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_783f9bd5-6a4b-48d2-9ed3-051aced7e436']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_b3c6c659-4a08-4fb1-8810-fdfa72256a04']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_b2d20048-4e9b-4e25-b609-aa63bef4731a']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "b3ce1085-08dc-42ff-a609-6968315327a8" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "cca2842a-813b-4f29-a8d5-98ebdb6d1b4c" - }, - "provenance": { - "document_id": "cca2842a-813b-4f29-a8d5-98ebdb6d1b4c", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:13:58.280Z", - "stop_time": "2021-02-04T15:18:50.962Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:13:58.280Z", - "stop_time": "2021-02-04T15:18:47.993Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:40.450Z", - "stop_time": "2021-02-04T15:13:56.984Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:25.990Z", - "stop_time": "2021-02-04T15:11:38.993Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:13:58.280Z", - "stop_time": "2021-02-04T15:18:53.972Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 508 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:08.966Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:40.450Z", - "stop_time": "2021-02-04T15:13:56.984Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:19:26.880Z", - "stop_time": "2021-02-04T15:22:06.002Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:19:26.880Z", - "stop_time": "2021-02-04T15:22:06.002Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:19:26.880Z", - "stop_time": "2021-02-04T15:22:06.002Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:14:38.060Z", - "stop_time": "2021-02-04T15:19:18.002Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:17.966Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:34.560Z", - "stop_time": "2021-02-04T15:30:44.954Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:40.450Z", - "stop_time": "2021-02-04T15:13:56.984Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:40.450Z", - "stop_time": "2021-02-04T15:13:56.984Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:11.530Z", - "stop_time": "2021-02-04T15:10:23.979Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:08.040Z", - "stop_time": "2021-02-04T15:22:32.951Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:12.141Z", - "stop_time": "2021-02-04T15:07:50.949Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:07:51.970Z", - "stop_time": "2021-02-04T15:09:08.999Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/cca2842a-813b-4f29-a8d5-98ebdb6d1b4c/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:02.965Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.179Z", - "timestamp_stop_utc": "2021-02-04T15:30:46.191Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/ddc00ab2-17ea-4b61-8f75-29e26d82551c": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_da0fa9f8-c22b-42ab-a3b2-20f12a04ba14']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_730f11f1-a6af-4541-99c7-c8e7e7b70fd3']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_b5794a36-08fb-4c4f-93a4-d28d98db8296']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "83b474d3-c20f-48f6-95a0-b0fa2269f14d" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "ddc00ab2-17ea-4b61-8f75-29e26d82551c" - }, - "provenance": { - "document_id": "ddc00ab2-17ea-4b61-8f75-29e26d82551c", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:13:58.312Z", - "stop_time": "2021-02-04T15:18:50.961Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:13:58.312Z", - "stop_time": "2021-02-04T15:18:50.961Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:40.452Z", - "stop_time": "2021-02-04T15:13:56.983Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:22.912Z", - "stop_time": "2021-02-04T15:11:38.993Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:13:58.312Z", - "stop_time": "2021-02-04T15:18:53.972Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 604 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:07:08.966Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:40.452Z", - "stop_time": "2021-02-04T15:13:56.983Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:18:53.533Z", - "stop_time": "2021-02-04T15:22:06.001Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:18:56.593Z", - "stop_time": "2021-02-04T15:22:11.971Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:18:53.533Z", - "stop_time": "2021-02-04T15:22:06.001Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:13:59.332Z", - "stop_time": "2021-02-04T15:18:50.961Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:07:17.967Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:34.992Z", - "stop_time": "2021-02-04T15:45:38.954Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:40.452Z", - "stop_time": "2021-02-04T15:13:56.983Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:40.452Z", - "stop_time": "2021-02-04T15:13:56.983Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:11.512Z", - "stop_time": "2021-02-04T15:10:20.969Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:13.577Z", - "stop_time": "2021-02-04T15:22:32.951Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:12.136Z", - "stop_time": "2021-02-04T15:07:47.987Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:07:49.873Z", - "stop_time": "2021-02-04T15:09:08.998Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ddc00ab2-17ea-4b61-8f75-29e26d82551c/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:06:59.950Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.171Z", - "timestamp_stop_utc": "2021-02-04T15:45:40.342Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/de4c5a98-eea2-4790-92fe-dd0adc5c05b2": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_332f228b-e63c-4c90-aae4-83d282da2225']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_72f32f88-85b3-42e2-93c9-6438fb977a92']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_b1dc2cd1-1715-42ed-9b7e-863137bdfd13']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "afd0ea55-e710-4b46-bb05-2423e491b6f5" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "de4c5a98-eea2-4790-92fe-dd0adc5c05b2" - }, - "provenance": { - "document_id": "de4c5a98-eea2-4790-92fe-dd0adc5c05b2", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:15:34.283Z", - "stop_time": "2021-02-04T15:20:02.998Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:15:31.223Z", - "stop_time": "2021-02-04T15:19:59.973Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 10 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:01.903Z", - "stop_time": "2021-02-04T15:15:32.993Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 57 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:40.273Z", - "stop_time": "2021-02-04T15:11:59.971Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:15:34.283Z", - "stop_time": "2021-02-04T15:20:02.998Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 610 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.741Z", - "stop_time": "2021-02-04T15:07:11.968Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:01.903Z", - "stop_time": "2021-02-04T15:15:29.967Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:20:05.962Z", - "stop_time": "2021-02-04T15:22:11.970Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:20:05.962Z", - "stop_time": "2021-02-04T15:22:14.981Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:20:05.962Z", - "stop_time": "2021-02-04T15:22:11.971Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:15:35.303Z", - "stop_time": "2021-02-04T15:20:02.998Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.741Z", - "stop_time": "2021-02-04T15:07:17.965Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:37.183Z", - "stop_time": "2021-02-04T15:35:56.957Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:01.903Z", - "stop_time": "2021-02-04T15:15:32.994Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:01.903Z", - "stop_time": "2021-02-04T15:15:32.995Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 211 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:26.822Z", - "stop_time": "2021-02-04T15:10:38.995Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:16.785Z", - "stop_time": "2021-02-04T15:22:35.972Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 73 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:15.205Z", - "stop_time": "2021-02-04T15:08:02.995Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 26 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:04.193Z", - "stop_time": "2021-02-04T15:09:24.005Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/de4c5a98-eea2-4790-92fe-dd0adc5c05b2/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.741Z", - "stop_time": "2021-02-04T15:07:02.965Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.178Z", - "timestamp_stop_utc": "2021-02-04T15:35:58.052Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/e768a12c-327e-4d27-85e0-347d95921452": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_43812944-7502-45f4-bba2-8040a2c10b80']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_85cd64c9-06ff-45ef-9a76-3f5569522588']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_211568c0-0c9d-4f5d-a556-66e340fa3ca6']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "d8c08782-6f69-4314-947c-1afe6928cbce" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "e768a12c-327e-4d27-85e0-347d95921452" - }, - "provenance": { - "document_id": "e768a12c-327e-4d27-85e0-347d95921452", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:13:13.400Z", - "stop_time": "2021-02-04T15:18:14.970Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:13:16.460Z", - "stop_time": "2021-02-04T15:18:14.970Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 6 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:28.211Z", - "stop_time": "2021-02-04T15:13:11.970Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 54 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:13.730Z", - "stop_time": "2021-02-04T15:11:26.975Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:13:13.400Z", - "stop_time": "2021-02-04T15:18:14.970Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 508 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:02.965Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:28.211Z", - "stop_time": "2021-02-04T15:13:14.963Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:18:17.801Z", - "stop_time": "2021-02-04T15:22:02.973Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:18:17.801Z", - "stop_time": "2021-02-04T15:22:06.001Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:18:17.801Z", - "stop_time": "2021-02-04T15:22:02.973Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:13:14.420Z", - "stop_time": "2021-02-04T15:18:14.970Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:17.967Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:31.931Z", - "stop_time": "2021-02-04T15:29:20.954Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 204 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:28.211Z", - "stop_time": "2021-02-04T15:13:11.970Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 204 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:28.211Z", - "stop_time": "2021-02-04T15:13:11.971Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:56.219Z", - "stop_time": "2021-02-04T15:10:11.970Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:07.450Z", - "stop_time": "2021-02-04T15:22:29.955Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:07.040Z", - "stop_time": "2021-02-04T15:07:32.995Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:07:34.580Z", - "stop_time": "2021-02-04T15:08:53.997Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e768a12c-327e-4d27-85e0-347d95921452/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:06:56.958Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.171Z", - "timestamp_stop_utc": "2021-02-04T15:29:22.991Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/e9af9182-ea0a-4942-9ae5-e2fc36272da6": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_6d1eaef4-b09e-470f-95fa-6e885bb2dfe7']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_0518141a-d26a-4772-bfb8-f0e7c5e9a748']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_a5d777f7-669f-494a-ba55-31788709e50a']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "cc5a78a1-539f-4dec-80b6-62f35dcafd89" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "e9af9182-ea0a-4942-9ae5-e2fc36272da6" - }, - "provenance": { - "document_id": "e9af9182-ea0a-4942-9ae5-e2fc36272da6", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:16:13.045Z", - "stop_time": "2021-02-04T15:20:29.972Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:16:13.045Z", - "stop_time": "2021-02-04T15:20:26.970Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 6 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:10.075Z", - "stop_time": "2021-02-04T15:16:11.969Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 54 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:49.457Z", - "stop_time": "2021-02-04T15:12:08.998Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 14 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:16:13.045Z", - "stop_time": "2021-02-04T15:20:29.968Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 710 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:11.968Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:12:10.076Z", - "stop_time": "2021-02-04T15:16:11.971Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:21:17.194Z", - "stop_time": "2021-02-04T15:22:14.981Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:21:23.314Z", - "stop_time": "2021-02-04T15:22:26.979Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:21:14.134Z", - "stop_time": "2021-02-04T15:22:14.981Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:17:17.434Z", - "stop_time": "2021-02-04T15:21:11.974Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:17.966Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:43.884Z", - "stop_time": "2021-02-04T15:40:47.995Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 204 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:10.076Z", - "stop_time": "2021-02-04T15:16:11.969Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 204 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:12:10.079Z", - "stop_time": "2021-02-04T15:16:17.971Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:36.006Z", - "stop_time": "2021-02-04T15:10:47.992Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:28.584Z", - "stop_time": "2021-02-04T15:22:41.959Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 71 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:15.238Z", - "stop_time": "2021-02-04T15:08:23.995Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 23 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:08:25.625Z", - "stop_time": "2021-02-04T15:09:33.000Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/e9af9182-ea0a-4942-9ae5-e2fc36272da6/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.740Z", - "stop_time": "2021-02-04T15:07:02.965Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.176Z", - "timestamp_stop_utc": "2021-02-04T15:40:49.516Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/ed31fe54-3acf-4fdd-9877-3f241b6480a6": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_830e9413-1e9e-420f-87ce-8f974919b995']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_55e29ab9-fc1c-4df1-a914-ec3e5fbeb7b0']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_6f3e8684-4511-47d1-97c5-48579f211b60']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "01f7c3d0-d4be-432d-aa25-8c7fbce20b49" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "ed31fe54-3acf-4fdd-9877-3f241b6480a6" - }, - "provenance": { - "document_id": "ed31fe54-3acf-4fdd-9877-3f241b6480a6", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-04T15:13:28.733Z", - "stop_time": "2021-02-04T15:18:29.967Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-04T15:13:28.733Z", - "stop_time": "2021-02-04T15:18:29.967Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:31.275Z", - "stop_time": "2021-02-04T15:13:26.969Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:10:13.732Z", - "stop_time": "2021-02-04T15:11:29.983Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:13:28.733Z", - "stop_time": "2021-02-04T15:18:32.994Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 607 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-FastqProcessing/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:07:08.966Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-04T15:11:31.275Z", - "stop_time": "2021-02-04T15:13:26.969Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:18:44.354Z", - "stop_time": "2021-02-04T15:22:06.001Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-MergeCountFiles/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:18:47.414Z", - "stop_time": "2021-02-04T15:22:11.971Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-04T15:18:44.354Z", - "stop_time": "2021-02-04T15:22:06.001Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-MergeSorted/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-04T15:13:45.053Z", - "stop_time": "2021-02-04T15:18:38.991Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-ModifyGtf/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:07:20.958Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-04T15:22:34.993Z", - "stop_time": "2021-02-04T15:38:41.970Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:31.275Z", - "stop_time": "2021-02-04T15:13:26.969Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:11:31.275Z", - "stop_time": "2021-02-04T15:13:26.969Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:09:02.332Z", - "stop_time": "2021-02-04T15:10:11.972Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-04T15:22:13.575Z", - "stop_time": "2021-02-04T15:22:32.951Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-04T15:07:12.135Z", - "stop_time": "2021-02-04T15:07:44.976Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-04T15:07:46.812Z", - "stop_time": "2021-02-04T15:08:59.971Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-checkOptimusInput/stderr", - "log_out": "gs://fc-53ef60d7-44aa-41fc-ab92-e8a83b95b2bc/37c75ebd-8d6b-4d97-ac10-450806f8bf24/Optimus/ed31fe54-3acf-4fdd-9877-3f241b6480a6/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-04T15:06:51.730Z", - "stop_time": "2021-02-04T15:06:56.958Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-04T15:06:49.171Z", - "timestamp_stop_utc": "2021-02-04T15:38:43.112Z", - "type": { - "text": "analysis" - } - }, - "analysis_protocol/289ec28b-ce11-5be8-89ab-92fbceb874a0": { - "computational_method": "Optimus", - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/9.1.0/analysis_protocol", - "protocol_core": { - "protocol_id": "optimus_v4.2.2" - }, - "provenance": { - "document_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "submission_date": "2021-02-26T16:30:00.000000Z", - "update_date": "2021-02-26T16:30:00.000000Z" - }, - "schema_type": "protocol", - "type": { - "text": "analysis_protocol" - } - }, - "analysis_protocol/432a7422-59b5-5c46-8983-a7953f196781": { - "computational_method": "optimus_post_processing_v1.0.0", - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/9.1.0/analysis_protocol", - "protocol_core": { - "protocol_id": "optimus_post_processing_v1.0.0" - }, - "provenance": { - "document_id": "432a7422-59b5-5c46-8983-a7953f196781", - "submission_date": "2021-05-24T12:00:00.000000Z", - "update_date": "2021-05-24T12:00:00.000000Z" - }, - "schema_type": "protocol", - "type": { - "text": "analysis; merge matrices" - } - }, - "sequence_file/0c8d1b87-0d6e-4e47-8130-1372bfa05c51": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7632803_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "0c8d1b87-0d6e-4e47-8130-1372bfa05c51", - "submission_date": "2019-10-22T17:45:57.573Z", - "update_date": "2019-10-22T19:55:25.167Z" - } - }, - "sequence_file/121b6c9b-3b12-4fb8-8d98-fba4f1005770": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579215_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "121b6c9b-3b12-4fb8-8d98-fba4f1005770", - "submission_date": "2019-10-22T17:45:58.037Z", - "update_date": "2019-10-22T20:00:22.379Z" - } - }, - "sequence_file/138dcce5-f9a8-497c-9de1-70a289bdc936": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7632801_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "138dcce5-f9a8-497c-9de1-70a289bdc936", - "submission_date": "2019-10-22T17:45:57.514Z", - "update_date": "2019-10-22T19:56:54.931Z" - } - }, - "sequence_file/154ff85c-da53-4b85-b02b-002211631867": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002886_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "154ff85c-da53-4b85-b02b-002211631867", - "submission_date": "2019-10-22T17:45:57.785Z", - "update_date": "2019-10-22T20:52:15.350Z" - } - }, - "sequence_file/16a9712a-0a62-4f57-a57f-189992e6070b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7555849_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "16a9712a-0a62-4f57-a57f-189992e6070b", - "submission_date": "2019-10-22T17:45:57.944Z", - "update_date": "2019-10-22T20:00:50.357Z" - } - }, - "sequence_file/1eb30a4b-d595-4142-ae68-0a4ff4281c8d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528293_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "1eb30a4b-d595-4142-ae68-0a4ff4281c8d", - "submission_date": "2019-10-22T17:45:57.902Z", - "update_date": "2019-10-22T19:56:55.149Z" - } - }, - "sequence_file/1f50a6ba-90e5-4162-b6ac-6f8d5bfe72cc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462243_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "1f50a6ba-90e5-4162-b6ac-6f8d5bfe72cc", - "submission_date": "2019-10-22T17:45:57.825Z", - "update_date": "2019-10-22T19:57:02.257Z" - } - }, - "sequence_file/200f221c-c86e-4c67-9d25-5d8210ae33c6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587407_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "200f221c-c86e-4c67-9d25-5d8210ae33c6", - "submission_date": "2019-10-22T17:45:57.420Z", - "update_date": "2019-10-22T19:54:54.409Z" - } - }, - "sequence_file/2b8c990c-4b79-4536-bf5f-1c8e57bff598": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7632801_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "2b8c990c-4b79-4536-bf5f-1c8e57bff598", - "submission_date": "2019-10-22T17:45:57.533Z", - "update_date": "2019-10-22T20:07:27.579Z" - } - }, - "sequence_file/2dd22fa3-fe29-4d60-b890-a8ee8b9731ce": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587407_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "2dd22fa3-fe29-4d60-b890-a8ee8b9731ce", - "submission_date": "2019-10-22T17:45:57.411Z", - "update_date": "2019-10-22T19:54:17.416Z" - } - }, - "sequence_file/354517f9-c515-401a-a490-9917dea7d3f2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7632802_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "354517f9-c515-401a-a490-9917dea7d3f2", - "submission_date": "2019-10-22T17:45:57.553Z", - "update_date": "2019-10-22T19:56:40.411Z" - } - }, - "sequence_file/3de452b4-1c2a-49d6-80c8-495715921447": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587404_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "3de452b4-1c2a-49d6-80c8-495715921447", - "submission_date": "2019-10-22T17:45:57.336Z", - "update_date": "2019-10-22T19:55:00.661Z" - } - }, - "sequence_file/427003bc-a728-469a-aa8a-61bc2309956f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528292_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "427003bc-a728-469a-aa8a-61bc2309956f", - "submission_date": "2019-10-22T17:45:57.893Z", - "update_date": "2019-10-22T20:38:00.788Z" - } - }, - "sequence_file/4294907c-ba62-4597-845a-07fb788a2bb0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7632803_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "4294907c-ba62-4597-845a-07fb788a2bb0", - "submission_date": "2019-10-22T17:45:57.583Z", - "update_date": "2019-10-22T19:56:44.768Z" - } - }, - "sequence_file/438f185f-0e8b-4b34-b03f-7491552ef9b7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462242_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "438f185f-0e8b-4b34-b03f-7491552ef9b7", - "submission_date": "2019-10-22T17:45:57.804Z", - "update_date": "2019-10-22T20:01:11.161Z" - } - }, - "sequence_file/47bb0f79-31f9-42a8-ac34-4be08ef807d9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579214_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "47bb0f79-31f9-42a8-ac34-4be08ef807d9", - "submission_date": "2019-10-22T17:45:58.018Z", - "update_date": "2019-10-22T20:35:14.291Z" - } - }, - "sequence_file/48cb1c07-fb20-453a-bb98-18dfd9eb4eb8": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587404_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "48cb1c07-fb20-453a-bb98-18dfd9eb4eb8", - "submission_date": "2019-10-22T17:45:57.324Z", - "update_date": "2019-10-22T19:54:21.561Z" - } - }, - "sequence_file/4bf5245d-0168-48b5-83b8-c6aabdcf1a46": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002881_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "4bf5245d-0168-48b5-83b8-c6aabdcf1a46", - "submission_date": "2019-10-22T17:45:57.696Z", - "update_date": "2019-10-22T19:59:53.780Z" - } - }, - "sequence_file/4e80d841-15c5-4da1-9660-4400b41d0536": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587404_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "4e80d841-15c5-4da1-9660-4400b41d0536", - "submission_date": "2019-10-22T17:45:57.312Z", - "update_date": "2019-10-22T19:54:08.351Z" - } - }, - "sequence_file/5646ff87-0427-4af5-a1ad-e072e6187c23": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002876_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "5646ff87-0427-4af5-a1ad-e072e6187c23", - "submission_date": "2019-10-22T17:45:57.676Z", - "update_date": "2019-10-22T20:44:10.369Z" - } - }, - "sequence_file/599a4315-3b4b-4c42-9d68-961a2396cae5": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7632803_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "599a4315-3b4b-4c42-9d68-961a2396cae5", - "submission_date": "2019-10-22T17:45:57.593Z", - "update_date": "2019-10-22T20:08:07.569Z" - } - }, - "sequence_file/59e40d0b-dfbc-4668-bb8a-d0b39d25ca88": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002886_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "59e40d0b-dfbc-4668-bb8a-d0b39d25ca88", - "submission_date": "2019-10-22T17:45:57.775Z", - "update_date": "2019-10-22T20:26:36.167Z" - } - }, - "sequence_file/5be64c5b-766b-43ad-ab5a-467ef1c47cc4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587405_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "5be64c5b-766b-43ad-ab5a-467ef1c47cc4", - "submission_date": "2019-10-22T17:45:57.356Z", - "update_date": "2019-10-22T20:00:26.561Z" - } - }, - "sequence_file/6033d2ea-8c96-4f43-956c-b9701f63ed66": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528292_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "6033d2ea-8c96-4f43-956c-b9701f63ed66", - "submission_date": "2019-10-22T17:45:57.879Z", - "update_date": "2019-10-22T20:00:07.659Z" - } - }, - "sequence_file/64c1be0b-56b7-4d5a-b7c8-e8f7f88e0427": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579215_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "64c1be0b-56b7-4d5a-b7c8-e8f7f88e0427", - "submission_date": "2019-10-22T17:45:58.055Z", - "update_date": "2019-10-22T20:30:32.880Z" - } - }, - "sequence_file/6500ad38-5b46-4186-9208-6a9494679191": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462243_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "6500ad38-5b46-4186-9208-6a9494679191", - "submission_date": "2019-10-22T17:45:57.835Z", - "update_date": "2019-10-22T20:01:04.775Z" - } - }, - "sequence_file/65128ed2-a70b-4b04-8591-4303acef31e3": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7555849_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "65128ed2-a70b-4b04-8591-4303acef31e3", - "submission_date": "2019-10-22T17:45:57.953Z", - "update_date": "2019-10-22T20:30:46.345Z" - } - }, - "sequence_file/6c002a62-76b3-4578-8afd-c88cfd62a682": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7555850_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "6c002a62-76b3-4578-8afd-c88cfd62a682", - "submission_date": "2019-10-22T17:45:57.986Z", - "update_date": "2019-10-22T20:39:59.165Z" - } - }, - "sequence_file/70d226a8-01f4-4955-8293-210a6ec78920": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7632802_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "70d226a8-01f4-4955-8293-210a6ec78920", - "submission_date": "2019-10-22T17:45:57.564Z", - "update_date": "2019-10-22T20:05:50.572Z" - } - }, - "sequence_file/7a058660-f594-4eb5-b02f-bace314f6d76": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587406_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "7a058660-f594-4eb5-b02f-bace314f6d76", - "submission_date": "2019-10-22T17:45:57.383Z", - "update_date": "2019-10-22T20:01:16.863Z" - } - }, - "sequence_file/7d29fb39-c214-4edd-9dec-093dcc527429": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7632804_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "7d29fb39-c214-4edd-9dec-093dcc527429", - "submission_date": "2019-10-22T17:45:57.602Z", - "update_date": "2019-10-22T19:55:25.913Z" - } - }, - "sequence_file/85849811-ff50-46ec-9245-79140a1ca705": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528292_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "85849811-ff50-46ec-9245-79140a1ca705", - "submission_date": "2019-10-22T17:45:57.859Z", - "update_date": "2019-10-22T19:57:03.834Z" - } - }, - "sequence_file/8831df7b-25f6-482e-9e54-5c53bdda4d53": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462242_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "8831df7b-25f6-482e-9e54-5c53bdda4d53", - "submission_date": "2019-10-22T17:45:57.794Z", - "update_date": "2019-10-22T19:57:00.375Z" - } - }, - "sequence_file/8f6318ea-e692-4085-a693-02f4ff3204b5": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587408_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "8f6318ea-e692-4085-a693-02f4ff3204b5", - "submission_date": "2019-10-22T17:45:57.430Z", - "update_date": "2019-10-22T19:54:09.177Z" - } - }, - "sequence_file/8fb13af8-c385-46a2-aecc-c741c1e8a5ad": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7555850_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "8fb13af8-c385-46a2-aecc-c741c1e8a5ad", - "submission_date": "2019-10-22T17:45:57.963Z", - "update_date": "2019-10-22T19:57:04.353Z" - } - }, - "sequence_file/90a63c12-7fec-49c5-9b1a-7d622c4390f8": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587406_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "90a63c12-7fec-49c5-9b1a-7d622c4390f8", - "submission_date": "2019-10-22T17:45:57.392Z", - "update_date": "2019-10-22T20:35:23.748Z" - } - }, - "sequence_file/91069ce7-7605-401a-bdbb-087420d0b207": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002875_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "91069ce7-7605-401a-bdbb-087420d0b207", - "submission_date": "2019-10-22T17:45:57.646Z", - "update_date": "2019-10-23T14:12:53.970Z" - } - }, - "sequence_file/9614720d-ed06-4e72-9a4f-cb62088ff608": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528293_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "9614720d-ed06-4e72-9a4f-cb62088ff608", - "submission_date": "2019-10-22T17:45:57.923Z", - "update_date": "2019-10-22T20:37:50.566Z" - } - }, - "sequence_file/97890d18-72bf-4feb-b713-1d057d1f6519": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7632804_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "97890d18-72bf-4feb-b713-1d057d1f6519", - "submission_date": "2019-10-22T17:45:57.612Z", - "update_date": "2019-10-22T19:56:45.629Z" - } - }, - "sequence_file/9abf31bf-fc25-4e44-ae99-0af17e017b95": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7555849_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "9abf31bf-fc25-4e44-ae99-0af17e017b95", - "submission_date": "2019-10-22T17:45:57.934Z", - "update_date": "2019-10-22T19:56:43.448Z" - } - }, - "sequence_file/9b53a5c0-fd77-4d55-b697-16a95c67c4c2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587405_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "9b53a5c0-fd77-4d55-b697-16a95c67c4c2", - "submission_date": "2019-10-22T17:45:57.365Z", - "update_date": "2019-10-22T20:34:54.646Z" - } - }, - "sequence_file/9ea7643b-d0ba-49b0-b441-0c5d3c2cfe59": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002875_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "9ea7643b-d0ba-49b0-b441-0c5d3c2cfe59", - "submission_date": "2019-10-22T17:45:57.655Z", - "update_date": "2019-10-22T20:58:52.013Z" - } - }, - "sequence_file/a04c3838-8a5f-44c7-9b72-1c31c7a6c547": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587405_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "a04c3838-8a5f-44c7-9b72-1c31c7a6c547", - "submission_date": "2019-10-22T17:45:57.347Z", - "update_date": "2019-10-22T19:56:38.627Z" - } - }, - "sequence_file/a6a5f2ec-2b8c-4419-82a9-f6bdb80e849c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002885_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "a6a5f2ec-2b8c-4419-82a9-f6bdb80e849c", - "submission_date": "2019-10-22T17:45:57.732Z", - "update_date": "2019-10-22T19:59:46.861Z" - } - }, - "sequence_file/abffd51d-843c-4f79-8e18-40d8374ade83": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587407_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "abffd51d-843c-4f79-8e18-40d8374ade83", - "submission_date": "2019-10-22T17:45:57.402Z", - "update_date": "2019-10-22T19:54:07.454Z" - } - }, - "sequence_file/ae5068b7-fa8a-46be-8a07-d735093f1aa5": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002876_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "ae5068b7-fa8a-46be-8a07-d735093f1aa5", - "submission_date": "2019-10-22T17:45:57.685Z", - "update_date": "2019-10-22T20:58:38.889Z" - } - }, - "sequence_file/b2ba2d5e-31f2-4bc6-be3d-c20acad86aa1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579214_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "b2ba2d5e-31f2-4bc6-be3d-c20acad86aa1", - "submission_date": "2019-10-22T17:45:57.998Z", - "update_date": "2019-10-22T19:56:49.472Z" - } - }, - "sequence_file/b58fd1d3-1488-40b2-9530-50c0fe54a4dd": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579215_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "b58fd1d3-1488-40b2-9530-50c0fe54a4dd", - "submission_date": "2019-10-22T17:45:58.028Z", - "update_date": "2019-10-22T19:56:37.083Z" - } - }, - "sequence_file/b72fccff-7178-4f4c-bf6a-c32cc99af28c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587406_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "b72fccff-7178-4f4c-bf6a-c32cc99af28c", - "submission_date": "2019-10-22T17:45:57.374Z", - "update_date": "2019-10-22T19:57:04.689Z" - } - }, - "sequence_file/ba9ca87a-7818-4915-9f7f-0ba588ffad1f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579214_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "ba9ca87a-7818-4915-9f7f-0ba588ffad1f", - "submission_date": "2019-10-22T17:45:58.008Z", - "update_date": "2019-10-22T19:59:27.453Z" - } - }, - "sequence_file/be252ee9-c27b-4937-8e96-e971c25ed794": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002885_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "be252ee9-c27b-4937-8e96-e971c25ed794", - "submission_date": "2019-10-22T17:45:57.743Z", - "update_date": "2019-10-22T20:35:37.065Z" - } - }, - "sequence_file/be64dbc9-183f-44c9-8b15-d8298ee6c4e9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587408_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "be64dbc9-183f-44c9-8b15-d8298ee6c4e9", - "submission_date": "2019-10-22T17:45:57.439Z", - "update_date": "2019-10-22T19:54:18.671Z" - } - }, - "sequence_file/c2137939-c2c6-44d7-8e11-7d6d6d5443eb": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7632801_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "c2137939-c2c6-44d7-8e11-7d6d6d5443eb", - "submission_date": "2019-10-22T17:45:57.464Z", - "update_date": "2019-10-22T19:55:34.020Z" - } - }, - "sequence_file/c30f45e7-0575-46c3-8ea2-3ac864b439e9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002876_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "c30f45e7-0575-46c3-8ea2-3ac864b439e9", - "submission_date": "2019-10-22T17:45:57.667Z", - "update_date": "2019-10-22T20:00:33.199Z" - } - }, - "sequence_file/c8758f13-7e9b-464a-bada-b41b8b9e925f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7587408_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "c8758f13-7e9b-464a-bada-b41b8b9e925f", - "submission_date": "2019-10-22T17:45:57.449Z", - "update_date": "2019-10-22T19:54:55.955Z" - } - }, - "sequence_file/cb6662a8-c395-4f75-b6fa-87c186917ed2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7632804_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "cb6662a8-c395-4f75-b6fa-87c186917ed2", - "submission_date": "2019-10-22T17:45:57.622Z", - "update_date": "2019-10-22T20:06:38.132Z" - } - }, - "sequence_file/cb7a8922-0b74-42f5-9346-f80ebbaddb57": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002881_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "cb7a8922-0b74-42f5-9346-f80ebbaddb57", - "submission_date": "2019-10-22T17:45:57.707Z", - "update_date": "2019-10-22T20:27:41.045Z" - } - }, - "sequence_file/d3ea1255-7208-4952-be7f-7372d2dc9466": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002881_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "d3ea1255-7208-4952-be7f-7372d2dc9466", - "submission_date": "2019-10-22T17:45:57.720Z", - "update_date": "2019-10-22T20:49:05.917Z" - } - }, - "sequence_file/d8577b2c-16a2-484f-9269-9196d7cca451": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002885_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "d8577b2c-16a2-484f-9269-9196d7cca451", - "submission_date": "2019-10-22T17:45:57.755Z", - "update_date": "2019-10-22T20:52:28.164Z" - } - }, - "sequence_file/db9fbac5-641e-4dad-af15-a7afa407654b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462243_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "db9fbac5-641e-4dad-af15-a7afa407654b", - "submission_date": "2019-10-22T17:45:57.849Z", - "update_date": "2019-10-22T20:39:15.207Z" - } - }, - "sequence_file/de1febb4-49dd-4a8a-b9c0-7ea493dd2d5a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528293_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "de1febb4-49dd-4a8a-b9c0-7ea493dd2d5a", - "submission_date": "2019-10-22T17:45:57.911Z", - "update_date": "2019-10-22T19:59:47.179Z" - } - }, - "sequence_file/e28e68a3-3042-45f6-a714-ba8622a4b34e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7555850_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 1, - "provenance": { - "document_id": "e28e68a3-3042-45f6-a714-ba8622a4b34e", - "submission_date": "2019-10-22T17:45:57.972Z", - "update_date": "2019-10-22T19:59:53.073Z" - } - }, - "sequence_file/e3777b07-1706-4434-a523-1335f0b96b30": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002886_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "e3777b07-1706-4434-a523-1335f0b96b30", - "submission_date": "2019-10-22T17:45:57.765Z", - "update_date": "2019-10-22T19:59:15.797Z" - } - }, - "sequence_file/ec1af218-9b00-4366-8890-5cebf580f225": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462242_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 1, - "provenance": { - "document_id": "ec1af218-9b00-4366-8890-5cebf580f225", - "submission_date": "2019-10-22T17:45:57.814Z", - "update_date": "2019-10-22T20:42:02.299Z" - } - }, - "sequence_file/f9703a2c-b024-4917-a6b0-981b38cfb784": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002875_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "f9703a2c-b024-4917-a6b0-981b38cfb784", - "submission_date": "2019-10-22T17:45:57.633Z", - "update_date": "2019-10-22T20:00:02.480Z" - } - }, - "sequence_file/fb5fdf8f-f79f-479a-a662-2f3bed88e960": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "CZIKidney7632802_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "index1", - "lane_index": 1, - "provenance": { - "document_id": "fb5fdf8f-f79f-479a-a662-2f3bed88e960", - "submission_date": "2019-10-22T17:45:57.543Z", - "update_date": "2019-10-22T19:55:17.232Z" - } - }, - "supplementary_file/06e90b33-4403-41e8-b783-e65bf7de982a": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "mature_kidney_declined_transplant_collection.pdf", - "format": "pdf" - }, - "file_description": "Description of the protocol for declined transplant specimen collection", - "provenance": { - "document_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "submission_date": "2019-10-22T17:45:58.164Z", - "update_date": "2019-10-22T19:46:28.778Z" - } - }, - "supplementary_file/182c7357-0ac0-483d-8189-b321cb3e8d74": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "sequencing_protocol.pdf", - "format": "pdf" - }, - "file_description": "Description of the protocol for sequencing", - "provenance": { - "document_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "submission_date": "2019-10-22T17:45:58.184Z", - "update_date": "2019-10-22T19:46:28.764Z" - } - }, - "supplementary_file/1c531e83-02f4-4c00-b161-f186a1b5e1fb": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "fetal_kidney_dissociation.pdf", - "format": "pdf" - }, - "file_description": "Description of the protocol for fetal kidney dissociation", - "provenance": { - "document_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "submission_date": "2019-10-22T17:45:58.108Z", - "update_date": "2019-10-22T19:46:28.769Z" - } - }, - "supplementary_file/53089129-f71b-412c-ae2d-f7e8e50044c3": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "fetal_flow_enrichment_2.pdf", - "format": "pdf" - }, - "file_description": "Description of the protocol for fetal kidney flow cytometry enrichment - set 2", - "provenance": { - "document_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "submission_date": "2019-10-22T17:45:58.139Z", - "update_date": "2019-10-22T19:46:26.250Z" - } - }, - "supplementary_file/5b84bbca-dfde-462c-9c79-c914f32e03c4": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "mature_kidney_tumour_nephrectomy_collection.pdf", - "format": "pdf" - }, - "file_description": "Desription of the protocol for tumour nephrectomy specimen collection", - "provenance": { - "document_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "submission_date": "2019-10-22T17:45:58.149Z", - "update_date": "2019-10-22T19:46:28.777Z" - } - }, - "supplementary_file/63a1acfd-ca01-451d-a41d-d3a7ffd1655b": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "mature_kidney_enrichment_2.pdf", - "format": "pdf" - }, - "file_description": "Description of the protocol for mature kidney live cell enrichment - experiment set 2", - "provenance": { - "document_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "submission_date": "2019-10-22T17:45:58.120Z", - "update_date": "2019-10-22T19:46:28.769Z" - } - }, - "supplementary_file/77700dee-f8b3-40d1-b527-e0e53562eb49": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "library_preparation_protocol.pdf", - "format": "pdf" - }, - "file_description": "Description of the protocol for library preparation", - "provenance": { - "document_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "submission_date": "2019-10-22T17:45:58.194Z", - "update_date": "2019-10-22T19:46:28.777Z" - } - }, - "supplementary_file/944589e7-48a4-4333-b773-8e632ccb8865": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "fetal_kidney_collection.pdf", - "format": "pdf" - }, - "file_description": "Description of the protocol for fetal kidney collection", - "provenance": { - "document_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "submission_date": "2019-10-22T17:45:58.175Z", - "update_date": "2019-10-22T19:46:31.753Z" - } - }, - "supplementary_file/c72eb744-4971-4525-802c-d898349b392a": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "fetal_flow_enrichment_1.pdf", - "format": "pdf" - }, - "file_description": "Description of the protocol for fetal kidney flow cytometry enrichment - set 1", - "provenance": { - "document_id": "c72eb744-4971-4525-802c-d898349b392a", - "submission_date": "2019-10-22T17:45:58.130Z", - "update_date": "2019-10-22T19:46:26.267Z" - } - }, - "supplementary_file/f1aecf03-b60d-483c-a09f-69223cc1ad0e": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "mature_kidney_dissociation.pdf", - "format": "pdf" - }, - "file_description": "Description of the protocol for mature kidney dissociation", - "provenance": { - "document_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "submission_date": "2019-10-22T17:45:58.069Z", - "update_date": "2019-10-22T19:46:28.777Z" - } - }, - "process/01f7c3d0-d4be-432d-aa25-8c7fbce20b49": { - "process_core": { - "process_id": "library_preparation_protocol_42" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "01f7c3d0-d4be-432d-aa25-8c7fbce20b49", - "submission_date": "2019-10-22T17:45:58.683Z", - "update_date": "2019-10-22T17:46:06.177Z" - } - }, - "process/03c1159c-1a7a-4ede-bac4-d2093b260c65": { - "process_core": { - "process_id": "process_id_19" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "03c1159c-1a7a-4ede-bac4-d2093b260c65", - "submission_date": "2019-10-22T17:45:58.361Z", - "update_date": "2019-10-22T17:46:04.919Z" - } - }, - "process/082e87ac-5cf6-4bad-bedb-5f6591b8f566": { - "process_core": { - "process_id": "library_preparation_protocol_45" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "082e87ac-5cf6-4bad-bedb-5f6591b8f566", - "submission_date": "2019-10-22T17:45:58.708Z", - "update_date": "2019-10-22T17:46:06.486Z" - } - }, - "process/09cd4cb6-65e3-44eb-b5b1-796ac895013d": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "09cd4cb6-65e3-44eb-b5b1-796ac895013d", - "submission_date": "2019-10-22T17:45:58.202Z", - "update_date": "2019-10-22T17:46:02.644Z" - } - }, - "process/0b52914d-687b-44d1-9a70-a95df55ed502": { - "process_core": { - "process_id": "library_preparation_protocol_43" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "0b52914d-687b-44d1-9a70-a95df55ed502", - "submission_date": "2019-10-22T17:45:58.691Z", - "update_date": "2019-10-22T17:46:06.278Z" - } - }, - "process/0de1f04e-aaf3-4dc7-9869-248e87207d93": { - "process_core": { - "process_id": "process_id_30" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "0de1f04e-aaf3-4dc7-9869-248e87207d93", - "submission_date": "2019-10-22T17:45:58.471Z", - "update_date": "2019-10-22T17:46:04.924Z" - } - }, - "process/0f14c412-5014-4ac0-9a71-858b2f047777": { - "process_core": { - "process_id": "library_preparation_protocol_32" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "0f14c412-5014-4ac0-9a71-858b2f047777", - "submission_date": "2019-10-22T17:45:58.599Z", - "update_date": "2019-10-22T17:46:05.065Z" - } - }, - "process/12995713-3c1b-4e13-a7b9-26d242e9ad71": { - "process_core": { - "process_id": "process_id_20" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "12995713-3c1b-4e13-a7b9-26d242e9ad71", - "submission_date": "2019-10-22T17:45:58.370Z", - "update_date": "2019-10-22T17:46:04.915Z" - } - }, - "process/13a062ba-2b8e-43a1-bc2a-bc17f650b37d": { - "process_core": { - "process_id": "library_preparation_protocol_41" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "13a062ba-2b8e-43a1-bc2a-bc17f650b37d", - "submission_date": "2019-10-22T17:45:58.674Z", - "update_date": "2019-10-22T17:46:06.071Z" - } - }, - "process/157ba915-28d7-4d80-89ad-71c8291dbc05": { - "process_core": { - "process_id": "library_preparation_protocol_35" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "157ba915-28d7-4d80-89ad-71c8291dbc05", - "submission_date": "2019-10-22T17:45:58.623Z", - "update_date": "2019-10-22T17:46:05.371Z" - } - }, - "process/1ab8df81-b7c8-4726-8b9b-c9f1d2bcac7e": { - "process_core": { - "process_id": "process_id_33" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "1ab8df81-b7c8-4726-8b9b-c9f1d2bcac7e", - "submission_date": "2019-10-22T17:45:58.510Z", - "update_date": "2019-10-22T17:46:04.931Z" - } - }, - "process/2387fc2c-65e4-42ad-b718-6586f88a7183": { - "process_core": { - "process_id": "process_id_36" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "2387fc2c-65e4-42ad-b718-6586f88a7183", - "submission_date": "2019-10-22T17:45:58.534Z", - "update_date": "2019-10-22T17:46:04.933Z" - } - }, - "process/2c2c943c-1c0e-462c-b630-8a91a1f0fb94": { - "process_core": { - "process_id": "library_preparation_protocol_31" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "2c2c943c-1c0e-462c-b630-8a91a1f0fb94", - "submission_date": "2019-10-22T17:45:58.591Z", - "update_date": "2019-10-22T17:46:04.994Z" - } - }, - "process/36bbd76b-b6ab-4c84-a5ec-965af8c40a28": { - "process_core": { - "process_id": "process_id_11" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "36bbd76b-b6ab-4c84-a5ec-965af8c40a28", - "submission_date": "2019-10-22T17:45:58.281Z", - "update_date": "2019-10-22T17:46:04.893Z" - } - }, - "process/37612503-8289-407f-93fa-b2993247a0e0": { - "process_core": { - "process_id": "process_id_25" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "37612503-8289-407f-93fa-b2993247a0e0", - "submission_date": "2019-10-22T17:45:58.413Z", - "update_date": "2019-10-22T17:46:04.911Z" - } - }, - "process/37cad11b-c8c9-4d1f-b715-498b0f8d4b35": { - "process_core": { - "process_id": "library_preparation_protocol_44" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "37cad11b-c8c9-4d1f-b715-498b0f8d4b35", - "submission_date": "2019-10-22T17:45:58.700Z", - "update_date": "2019-10-22T17:46:06.381Z" - } - }, - "process/3a20b6a5-6652-4486-86bc-842c7c31c343": { - "process_core": { - "process_id": "library_preparation_protocol_34" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "3a20b6a5-6652-4486-86bc-842c7c31c343", - "submission_date": "2019-10-22T17:45:58.615Z", - "update_date": "2019-10-22T17:46:05.281Z" - } - }, - "process/3aaf2fa3-6cb8-4c04-9a91-eb1e862154ce": { - "process_core": { - "process_id": "process_id_37" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "3aaf2fa3-6cb8-4c04-9a91-eb1e862154ce", - "submission_date": "2019-10-22T17:45:58.542Z", - "update_date": "2019-10-22T17:46:05.013Z" - } - }, - "process/3c277a01-33b1-4846-8a6d-8103b41a4db5": { - "process_core": { - "process_id": "process_id_4" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "3c277a01-33b1-4846-8a6d-8103b41a4db5", - "submission_date": "2019-10-22T17:45:58.224Z", - "update_date": "2019-10-22T17:46:02.700Z" - } - }, - "process/44b8ad82-1109-4543-a534-a85b34c2c301": { - "process_core": { - "process_id": "library_preparation_protocol_47" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "44b8ad82-1109-4543-a534-a85b34c2c301", - "submission_date": "2019-10-22T17:45:58.723Z", - "update_date": "2019-10-22T17:46:06.707Z" - } - }, - "process/4cc61094-94b9-4d21-a8f8-edbd73129049": { - "process_core": { - "process_id": "process_id_12" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "4cc61094-94b9-4d21-a8f8-edbd73129049", - "submission_date": "2019-10-22T17:45:58.290Z", - "update_date": "2019-10-22T17:46:04.938Z" - } - }, - "process/4cd84763-27c6-42ef-8577-613d3665bc01": { - "process_core": { - "process_id": "process_id_21" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "4cd84763-27c6-42ef-8577-613d3665bc01", - "submission_date": "2019-10-22T17:45:58.379Z", - "update_date": "2019-10-22T17:46:04.885Z" - } - }, - "process/51fb7eb7-a422-482e-a98e-c9e6f9628e97": { - "process_core": { - "process_id": "library_preparation_protocol_36" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "51fb7eb7-a422-482e-a98e-c9e6f9628e97", - "submission_date": "2019-10-22T17:45:58.631Z", - "update_date": "2019-10-22T17:46:05.511Z" - } - }, - "process/548a75b4-ba45-4700-b7bb-656c3995c316": { - "process_core": { - "process_id": "library_preparation_protocol_22" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "548a75b4-ba45-4700-b7bb-656c3995c316", - "submission_date": "2019-10-22T17:45:58.584Z", - "update_date": "2019-10-22T17:46:05.024Z" - } - }, - "process/55a939d9-dab5-49e3-82cc-bba3796800ed": { - "process_core": { - "process_id": "process_id_26" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "55a939d9-dab5-49e3-82cc-bba3796800ed", - "submission_date": "2019-10-22T17:45:58.424Z", - "update_date": "2019-10-22T17:46:04.988Z" - } - }, - "process/5878b562-defb-486f-8fa2-f4573bcd7322": { - "process_core": { - "process_id": "process_id_5" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "5878b562-defb-486f-8fa2-f4573bcd7322", - "submission_date": "2019-10-22T17:45:58.231Z", - "update_date": "2019-10-22T17:46:02.720Z" - } - }, - "process/5d2624e6-d55b-4dac-8e59-55e165900fd6": { - "process_core": { - "process_id": "process_id_22" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "5d2624e6-d55b-4dac-8e59-55e165900fd6", - "submission_date": "2019-10-22T17:45:58.386Z", - "update_date": "2019-10-22T17:46:05.004Z" - } - }, - "process/61c9f4df-f92b-4d7c-894a-9150718ab39a": { - "process_core": { - "process_id": "process_id_18" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "61c9f4df-f92b-4d7c-894a-9150718ab39a", - "submission_date": "2019-10-22T17:45:58.352Z", - "update_date": "2019-10-22T17:46:04.928Z" - } - }, - "process/6235a244-ae17-402f-b944-d67aa600aef8": { - "process_core": { - "process_id": "process_id_13" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "6235a244-ae17-402f-b944-d67aa600aef8", - "submission_date": "2019-10-22T17:45:58.297Z", - "update_date": "2019-10-22T17:46:04.918Z" - } - }, - "process/64eb5fef-b257-47af-a797-7808f1aa0a0c": { - "process_core": { - "process_id": "process_id_15" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "64eb5fef-b257-47af-a797-7808f1aa0a0c", - "submission_date": "2019-10-22T17:45:58.318Z", - "update_date": "2019-10-22T17:46:04.943Z" - } - }, - "process/688b5dd2-f1cb-4268-85a8-ec8431c25df6": { - "process_core": { - "process_id": "process_id_23" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "688b5dd2-f1cb-4268-85a8-ec8431c25df6", - "submission_date": "2019-10-22T17:45:58.394Z", - "update_date": "2019-10-22T17:46:04.889Z" - } - }, - "process/6a0f0064-ba67-43d6-985e-68d8edcf8c0b": { - "process_core": { - "process_id": "library_preparation_protocol_33" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "6a0f0064-ba67-43d6-985e-68d8edcf8c0b", - "submission_date": "2019-10-22T17:45:58.607Z", - "update_date": "2019-10-22T17:46:05.178Z" - } - }, - "process/6d273f72-f55c-4c8e-b91e-29e762194c3f": { - "process_core": { - "process_id": "library_preparation_protocol_39" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "6d273f72-f55c-4c8e-b91e-29e762194c3f", - "submission_date": "2019-10-22T17:45:58.655Z", - "update_date": "2019-10-22T17:46:05.824Z" - } - }, - "process/758b97fb-d92f-484f-8160-d85b3d1aed7b": { - "process_core": { - "process_id": "process_id_9" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "758b97fb-d92f-484f-8160-d85b3d1aed7b", - "submission_date": "2019-10-22T17:45:58.264Z", - "update_date": "2019-10-22T17:46:04.822Z" - } - }, - "process/7a625379-2c08-4bde-aa32-1081132bdeb7": { - "process_core": { - "process_id": "process_id_28" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "7a625379-2c08-4bde-aa32-1081132bdeb7", - "submission_date": "2019-10-22T17:45:58.447Z", - "update_date": "2019-10-22T17:46:04.900Z" - } - }, - "process/7f8aa404-55fb-4439-ab20-f9fc2e92440f": { - "process_core": { - "process_id": "process_id_14" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "7f8aa404-55fb-4439-ab20-f9fc2e92440f", - "submission_date": "2019-10-22T17:45:58.308Z", - "update_date": "2019-10-22T17:46:04.987Z" - } - }, - "process/83b474d3-c20f-48f6-95a0-b0fa2269f14d": { - "process_core": { - "process_id": "library_preparation_protocol_46" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "83b474d3-c20f-48f6-95a0-b0fa2269f14d", - "submission_date": "2019-10-22T17:45:58.716Z", - "update_date": "2019-10-22T17:46:06.611Z" - } - }, - "process/875e0856-b5e7-4ae2-a1d0-6b5d408a9472": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "875e0856-b5e7-4ae2-a1d0-6b5d408a9472", - "submission_date": "2019-10-22T17:45:58.217Z", - "update_date": "2019-10-22T17:46:02.681Z" - } - }, - "process/90b34757-474f-42c3-9d31-683a5a0a84bd": { - "process_core": { - "process_id": "library_preparation_protocol_20" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "90b34757-474f-42c3-9d31-683a5a0a84bd", - "submission_date": "2019-10-22T17:45:58.569Z", - "update_date": "2019-10-22T17:46:04.931Z" - } - }, - "process/94bb3ed5-df2e-4e73-987f-d7d63d0db2b9": { - "process_core": { - "process_id": "process_id_29" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "94bb3ed5-df2e-4e73-987f-d7d63d0db2b9", - "submission_date": "2019-10-22T17:45:58.456Z", - "update_date": "2019-10-22T17:46:04.897Z" - } - }, - "process/963a3ac2-373f-4d72-bca7-d00f0a982a69": { - "process_core": { - "process_id": "process_id_10" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "963a3ac2-373f-4d72-bca7-d00f0a982a69", - "submission_date": "2019-10-22T17:45:58.272Z", - "update_date": "2019-10-22T17:46:04.925Z" - } - }, - "process/a228f157-78ea-4e3c-85bc-dc90ccd3ec44": { - "process_core": { - "process_id": "process_id_31" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a228f157-78ea-4e3c-85bc-dc90ccd3ec44", - "submission_date": "2019-10-22T17:45:58.480Z", - "update_date": "2019-10-22T17:46:04.821Z" - } - }, - "process/a5365490-1246-4349-b49f-d6b18d834996": { - "process_core": { - "process_id": "process_id_7" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a5365490-1246-4349-b49f-d6b18d834996", - "submission_date": "2019-10-22T17:45:58.248Z", - "update_date": "2019-10-22T17:46:04.893Z" - } - }, - "process/a9cf1331-fec6-4a66-9d92-8649aa4dc00b": { - "process_core": { - "process_id": "process_id_34" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a9cf1331-fec6-4a66-9d92-8649aa4dc00b", - "submission_date": "2019-10-22T17:45:58.518Z", - "update_date": "2019-10-22T17:46:04.891Z" - } - }, - "process/ad09a0ef-ce88-461b-803f-059a6d37d420": { - "process_core": { - "process_id": "process_id_17" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "ad09a0ef-ce88-461b-803f-059a6d37d420", - "submission_date": "2019-10-22T17:45:58.341Z", - "update_date": "2019-10-22T17:46:04.912Z" - } - }, - "process/afd0ea55-e710-4b46-bb05-2423e491b6f5": { - "process_core": { - "process_id": "library_preparation_protocol_40" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "afd0ea55-e710-4b46-bb05-2423e491b6f5", - "submission_date": "2019-10-22T17:45:58.665Z", - "update_date": "2019-10-22T17:46:05.944Z" - } - }, - "process/b3ce1085-08dc-42ff-a609-6968315327a8": { - "process_core": { - "process_id": "library_preparation_protocol_21" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "b3ce1085-08dc-42ff-a609-6968315327a8", - "submission_date": "2019-10-22T17:45:58.576Z", - "update_date": "2019-10-22T17:46:05.005Z" - } - }, - "process/b6dec4a6-2d9b-40ac-80c4-41dce01aea46": { - "process_core": { - "process_id": "library_preparation_protocol_38" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "b6dec4a6-2d9b-40ac-80c4-41dce01aea46", - "submission_date": "2019-10-22T17:45:58.646Z", - "update_date": "2019-10-22T17:46:05.700Z" - } - }, - "process/b93eec14-cbe3-41c3-af82-a4e352f50377": { - "process_core": { - "process_id": "process_id_24" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "b93eec14-cbe3-41c3-af82-a4e352f50377", - "submission_date": "2019-10-22T17:45:58.402Z", - "update_date": "2019-10-22T17:46:04.833Z" - } - }, - "process/c5f8e956-21dc-4b3e-be69-6f865e3a694b": { - "process_core": { - "process_id": "process_id_35" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "c5f8e956-21dc-4b3e-be69-6f865e3a694b", - "submission_date": "2019-10-22T17:45:58.525Z", - "update_date": "2019-10-22T17:46:04.927Z" - } - }, - "process/c9c4fc85-aaf7-4fa3-9ab1-2d0b0a886f62": { - "process_core": { - "process_id": "process_id_32" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "c9c4fc85-aaf7-4fa3-9ab1-2d0b0a886f62", - "submission_date": "2019-10-22T17:45:58.489Z", - "update_date": "2019-10-22T17:46:05.001Z" - } - }, - "process/cc5a78a1-539f-4dec-80b6-62f35dcafd89": { - "process_core": { - "process_id": "library_preparation_protocol_37" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "cc5a78a1-539f-4dec-80b6-62f35dcafd89", - "submission_date": "2019-10-22T17:45:58.639Z", - "update_date": "2019-10-22T17:46:05.606Z" - } - }, - "process/d1f0becb-7640-4861-aee5-0578cd987194": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "d1f0becb-7640-4861-aee5-0578cd987194", - "submission_date": "2019-10-22T17:45:58.241Z", - "update_date": "2019-10-22T17:46:02.744Z" - } - }, - "process/d8c08782-6f69-4314-947c-1afe6928cbce": { - "process_core": { - "process_id": "library_preparation_protocol_18" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "d8c08782-6f69-4314-947c-1afe6928cbce", - "submission_date": "2019-10-22T17:45:58.551Z", - "update_date": "2019-10-22T17:46:05.015Z" - } - }, - "process/dc31f31d-ab56-4025-9834-99be638a2d50": { - "process_core": { - "process_id": "library_preparation_protocol_19" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "dc31f31d-ab56-4025-9834-99be638a2d50", - "submission_date": "2019-10-22T17:45:58.560Z", - "update_date": "2019-10-22T17:46:04.896Z" - } - }, - "process/dd584f8a-9127-4d00-b251-a3042b2528f4": { - "process_core": { - "process_id": "process_id_8" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "dd584f8a-9127-4d00-b251-a3042b2528f4", - "submission_date": "2019-10-22T17:45:58.256Z", - "update_date": "2019-10-22T17:46:04.927Z" - } - }, - "process/dec92f6d-8aa9-48e5-9c8d-5d0c2cfb7749": { - "process_core": { - "process_id": "process_id_16" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "dec92f6d-8aa9-48e5-9c8d-5d0c2cfb7749", - "submission_date": "2019-10-22T17:45:58.330Z", - "update_date": "2019-10-22T17:46:04.904Z" - } - }, - "process/e0556c96-db70-426b-a44d-63da9c722734": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "e0556c96-db70-426b-a44d-63da9c722734", - "submission_date": "2019-10-22T17:45:58.209Z", - "update_date": "2019-10-22T17:46:02.662Z" - } - }, - "process/e6e30d90-6a3f-4b47-9d7b-6a66989271da": { - "process_core": { - "process_id": "process_id_27" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "e6e30d90-6a3f-4b47-9d7b-6a66989271da", - "submission_date": "2019-10-22T17:45:58.438Z", - "update_date": "2019-10-22T17:46:04.916Z" - } - }, - "cell_suspension/00ccb65c-2134-4309-9199-bea00ea1d5de": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "CZIKidney7587404", - "biomaterial_name": "CZIKidney7587404", - "biomaterial_description": "Kidney biopsy sample - Ureter", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "00ccb65c-2134-4309-9199-bea00ea1d5de", - "submission_date": "2019-10-22T17:45:57.040Z", - "update_date": "2019-10-22T17:46:02.113Z" - } - }, - "cell_suspension/0d6404e4-f507-4c6d-aa26-4c83c058b623": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "FCAImmP7579215_F45_KI_45N", - "biomaterial_name": "FCAImmP7579215_F45_KI_45N", - "biomaterial_description": "Fetal Kidney flow sorted CD45-", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_method": "Flow cytometry staining", - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "0d6404e4-f507-4c6d-aa26-4c83c058b623", - "submission_date": "2019-10-22T17:45:57.227Z", - "update_date": "2019-10-22T17:46:02.024Z" - } - }, - "cell_suspension/15ec2b2a-c3fe-4946-8cf6-9386bb87eec1": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "CZIKidney7587408", - "biomaterial_name": "CZIKidney7587408", - "biomaterial_description": "Kidney biopsy sample - Cortex", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "15ec2b2a-c3fe-4946-8cf6-9386bb87eec1", - "submission_date": "2019-10-22T17:45:57.082Z", - "update_date": "2019-10-22T17:46:02.077Z" - } - }, - "cell_suspension/2dea8819-57bd-4acf-bb26-7a8031df87fb": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "4834STDY7002875_F16_KI_45P", - "biomaterial_name": "4834STDY7002875_F16_KI_45P", - "biomaterial_description": "Fetal kidney flow sorted CD45+", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_method": "Flow cytometry staining", - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "2dea8819-57bd-4acf-bb26-7a8031df87fb", - "submission_date": "2019-10-22T17:45:57.124Z", - "update_date": "2019-10-22T17:46:01.992Z" - } - }, - "cell_suspension/2ffa92e4-d98d-4a94-a059-2251b3b2ea20": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "CZIKidney7587406", - "biomaterial_name": "CZIKidney7587406", - "biomaterial_description": "Kidney biopsy sample - Pelvis", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "2ffa92e4-d98d-4a94-a059-2251b3b2ea20", - "submission_date": "2019-10-22T17:45:57.059Z", - "update_date": "2019-10-22T17:46:02.092Z" - } - }, - "cell_suspension/3de6303a-cff0-444a-a79c-66c4c7ebae8e": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "CZIKidney7632803", - "biomaterial_name": "CZIKidney7632803", - "biomaterial_description": "Kidney biopsy sample - Cortex", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "3de6303a-cff0-444a-a79c-66c4c7ebae8e", - "submission_date": "2019-10-22T17:45:57.109Z", - "update_date": "2019-10-22T17:46:02.100Z" - } - }, - "cell_suspension/3fd7eed2-b7c5-43eb-b0cb-314efb1d8589": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "FCAImmP7462242_F35_KI_45P", - "biomaterial_name": "FCAImmP7462242_F35_KI_45P", - "biomaterial_description": "Fetal kidney flow sorted CD45+", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_method": "Flow cytometry staining", - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "3fd7eed2-b7c5-43eb-b0cb-314efb1d8589", - "submission_date": "2019-10-22T17:45:57.168Z", - "update_date": "2019-10-22T17:46:01.986Z" - } - }, - "cell_suspension/41c9fb6c-664e-4d51-94ae-a36dfb25073e": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "FCAImmP7528293_F38_KI_45N", - "biomaterial_name": "FCAImmP7528293_F38_KI_45N", - "biomaterial_description": "Fetal Kidney flow sorted CD45-", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_method": "Flow cytometry staining", - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "41c9fb6c-664e-4d51-94ae-a36dfb25073e", - "submission_date": "2019-10-22T17:45:57.193Z", - "update_date": "2019-10-22T17:46:02.161Z" - } - }, - "cell_suspension/51aab3dd-5ca8-4a83-b821-99fd3604f8e7": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "CZIKidney7632801", - "biomaterial_name": "CZIKidney7632801", - "biomaterial_description": "Kidney biopsy sample - Ureter", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "51aab3dd-5ca8-4a83-b821-99fd3604f8e7", - "submission_date": "2019-10-22T17:45:57.091Z", - "update_date": "2019-10-22T17:46:02.101Z" - } - }, - "cell_suspension/5355142f-f257-49bb-9589-2fd932361519": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "FCAImmP7462243_F35_KI_45N", - "biomaterial_name": "FCAImmP7462243_F35_KI_45N", - "biomaterial_description": "Fetal Kidney flow sorted CD45-", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_method": "Flow cytometry staining", - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "5355142f-f257-49bb-9589-2fd932361519", - "submission_date": "2019-10-22T17:45:57.176Z", - "update_date": "2019-10-22T17:46:02.098Z" - } - }, - "cell_suspension/5a6285f9-6133-47ce-ae8a-fbe67160af21": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "FCAImmP7555849_F41_KI_45P", - "biomaterial_name": "FCAImmP7555849_F41_KI_45P", - "biomaterial_description": "Fetal kidney flow sorted CD45+", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_method": "Flow cytometry staining", - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "5a6285f9-6133-47ce-ae8a-fbe67160af21", - "submission_date": "2019-10-22T17:45:57.202Z", - "update_date": "2019-10-22T17:46:02.131Z" - } - }, - "cell_suspension/7aa5c9c1-6540-4f6a-88c6-859d1bef4851": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "FCAImmP7555850_F41_KI_45N", - "biomaterial_name": "FCAImmP7555850_F41_KI_45N", - "biomaterial_description": "Fetal Kidney flow sorted CD45-", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_method": "Flow cytometry staining", - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "7aa5c9c1-6540-4f6a-88c6-859d1bef4851", - "submission_date": "2019-10-22T17:45:57.210Z", - "update_date": "2019-10-22T17:46:02.168Z" - } - }, - "cell_suspension/7ef94c74-d428-4588-89ff-45378d5b0017": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "4834STDY7002876_F16_KI_45N", - "biomaterial_name": "4834STDY7002876_F16_KI_45N", - "biomaterial_description": "Fetal Kidney flow sorted CD45-", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_method": "Flow cytometry staining", - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "7ef94c74-d428-4588-89ff-45378d5b0017", - "submission_date": "2019-10-22T17:45:57.132Z", - "update_date": "2019-10-22T17:46:02.148Z" - } - }, - "cell_suspension/89849bc8-4b60-45a5-b1b0-869e29625599": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "CZIKidney7587407", - "biomaterial_name": "CZIKidney7587407", - "biomaterial_description": "Kidney biopsy sample - Cortex", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "89849bc8-4b60-45a5-b1b0-869e29625599", - "submission_date": "2019-10-22T17:45:57.071Z", - "update_date": "2019-10-22T17:46:02.066Z" - } - }, - "cell_suspension/9db33a18-ffb7-4e50-88e7-22b4f5d8bce3": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "4834STDY7002886_F17_KI_45N", - "biomaterial_name": "4834STDY7002886_F17_KI_45N", - "biomaterial_description": "Fetal Kidney flow sorted CD45-", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_method": "Flow cytometry staining", - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "9db33a18-ffb7-4e50-88e7-22b4f5d8bce3", - "submission_date": "2019-10-22T17:45:57.160Z", - "update_date": "2019-10-22T17:46:02.017Z" - } - }, - "cell_suspension/9fa78638-59a3-45d6-b065-ed1fbf84fa96": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "4834STDY7002885_F17_KI_45P", - "biomaterial_name": "4834STDY7002885_F17_KI_45P", - "biomaterial_description": "Fetal kidney flow sorted CD45+", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_method": "Flow cytometry staining", - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "9fa78638-59a3-45d6-b065-ed1fbf84fa96", - "submission_date": "2019-10-22T17:45:57.152Z", - "update_date": "2019-10-22T17:46:02.027Z" - } - }, - "cell_suspension/c0e783a5-a154-4f3a-b887-629ff44346ab": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "CZIKidney7632802", - "biomaterial_name": "CZIKidney7632802", - "biomaterial_description": "Kidney biopsy sample - Medulla", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "c0e783a5-a154-4f3a-b887-629ff44346ab", - "submission_date": "2019-10-22T17:45:57.100Z", - "update_date": "2019-10-22T17:46:02.080Z" - } - }, - "cell_suspension/c23013ce-1c97-4717-af7f-7b92d2d3c5ae": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "FCAImmP7528292_F38_KI_45P", - "biomaterial_name": "FCAImmP7528292_F38_KI_45P", - "biomaterial_description": "Fetal kidney flow sorted CD45+", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_method": "Flow cytometry staining", - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "c23013ce-1c97-4717-af7f-7b92d2d3c5ae", - "submission_date": "2019-10-22T17:45:57.184Z", - "update_date": "2019-10-22T17:46:02.174Z" - } - }, - "cell_suspension/c79356b3-d639-4026-8865-73a20225efd4": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "CZIKidney7632804", - "biomaterial_name": "CZIKidney7632804", - "biomaterial_description": "Kidney biopsy sample - Cortex", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "c79356b3-d639-4026-8865-73a20225efd4", - "submission_date": "2019-10-22T17:45:57.116Z", - "update_date": "2019-10-22T17:46:02.167Z" - } - }, - "cell_suspension/d18bbb45-9103-421a-b0cf-a40e2821ff5b": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "4834STDY7002881_F17_KI_TOT", - "biomaterial_name": "4834STDY7002881_F17_KI_TOT", - "biomaterial_description": "Fetal Kidney flow sorted Live cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_method": "Flow cytometry staining", - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "d18bbb45-9103-421a-b0cf-a40e2821ff5b", - "submission_date": "2019-10-22T17:45:57.141Z", - "update_date": "2019-10-22T17:46:02.104Z" - } - }, - "cell_suspension/de9d1258-715d-47f9-8480-5695c198f6cc": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "FCAImmP7579214_F45_KI_45P", - "biomaterial_name": "FCAImmP7579214_F45_KI_45P", - "biomaterial_description": "Fetal kidney flow sorted CD45+", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_method": "Flow cytometry staining", - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "de9d1258-715d-47f9-8480-5695c198f6cc", - "submission_date": "2019-10-22T17:45:57.219Z", - "update_date": "2019-10-22T17:46:02.130Z" - } - }, - "cell_suspension/e68843c2-df7c-4607-b98f-84b39b31963c": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "CZIKidney7587405", - "biomaterial_name": "CZIKidney7587405", - "biomaterial_description": "Kidney biopsy sample - Medulla", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_viability_result": "pass" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "kidney cell", - "ontology": "CL:1000497", - "ontology_label": "kidney cell" - } - ], - "provenance": { - "document_id": "e68843c2-df7c-4607-b98f-84b39b31963c", - "submission_date": "2019-10-22T17:45:57.049Z", - "update_date": "2019-10-22T17:46:02.036Z" - } - }, - "collection_protocol/b9a9d40e-7b4f-48f1-a893-f678e917a96d": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "mature_tumour_nephrectomy_collection", - "protocol_name": "mature_tumour_nephrectomy_collection", - "protocol_description": "Biopsies from kidneys donated for transplantation but deemed unsuitable for use were obtained from cortex, medulla, pelvis, or ureter after capsule removal and bivalve dissection of the organ.", - "document": "Mature_kidney_tumour_nephrectomy_collection.pdf" - }, - "method": { - "text": "Collection of tissue", - "ontology": "EFO:0009744", - "ontology_label": "surgical resection" - }, - "provenance": { - "document_id": "b9a9d40e-7b4f-48f1-a893-f678e917a96d", - "submission_date": "2019-10-22T17:45:57.243Z", - "update_date": "2019-10-22T17:46:01.927Z" - } - }, - "collection_protocol/f44d6b65-0866-47d5-bfb2-8173b1b6a2b3": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "fetal_kidney_collection", - "protocol_name": "fetal_kidney_collection", - "protocol_description": "Fetal material was obtained from both medical (pharmacologically induced) and surgical termination of pregnancy.", - "document": "Fetal_kidney_collection.pdf" - }, - "method": { - "text": "Collection of tissue", - "ontology": "EFO:0009744", - "ontology_label": "surgical resection" - }, - "provenance": { - "document_id": "f44d6b65-0866-47d5-bfb2-8173b1b6a2b3", - "submission_date": "2019-10-22T17:45:57.251Z", - "update_date": "2019-10-22T17:46:01.980Z" - } - }, - "collection_protocol/f870bf7e-2cb7-44b2-a299-f4e06da4453c": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "mature_declined_transplant_collection", - "protocol_name": "mature_declined_transplant_collection", - "protocol_description": "Biopsies from tumour nephrectomy specimens were taken by pathologists from regions of kidney distant from and macroscopically unaffected by disease. Biopsies were taken from positions estimated to be corticomedullary. Where clinically permissible seperate cortical, medullary, pelvic, and ureteric biopsies were collected.", - "document": "Mature_kidney_declined_transplant_collection.pdf" - }, - "method": { - "text": "Collection of tissue", - "ontology": "EFO:0009744", - "ontology_label": "surgical resection" - }, - "provenance": { - "document_id": "f870bf7e-2cb7-44b2-a299-f4e06da4453c", - "submission_date": "2019-10-22T17:45:57.235Z", - "update_date": "2019-10-22T17:46:02.047Z" - } - }, - "enrichment_protocol/5238fd9b-f4c2-46d9-bb44-6cebc9371a52": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "fetal_kidney_flow_enrichment_1", - "protocol_name": "fetal_kidney_flow_enrichment_1", - "protocol_description": "Protocol for live and CD45+/- enrichment in fetal kidney samples", - "document": "Fetal_flow_enrichment_1.pdf" - }, - "method": { - "text": "Live cell and cell subset enrichment", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD123 CD14 CD11c CD16 CD3 CD4 HLA-DR CD19 CD20 CD141 CD8 CD34 Axl Siglec-6 CD45", - "provenance": { - "document_id": "5238fd9b-f4c2-46d9-bb44-6cebc9371a52", - "submission_date": "2019-10-22T17:45:57.278Z", - "update_date": "2019-10-22T17:46:01.969Z" - } - }, - "enrichment_protocol/741ffe1e-7bb1-4307-9d55-9ab77258314c": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "mature_kidney_enrichment_experiment_set_2", - "protocol_name": "mature_kidney_enrichment_experiment_set_2", - "protocol_description": "Protocol for live cell enrichment in mature kidney samples", - "document": "Mature_kidney_enrichment_2.pdf" - }, - "method": { - "text": "Live cell and cell subset enrichment", - "ontology": "EFO:0009112", - "ontology_label": "density gradient centrifugation" - }, - "provenance": { - "document_id": "741ffe1e-7bb1-4307-9d55-9ab77258314c", - "submission_date": "2019-10-22T17:45:57.271Z", - "update_date": "2019-10-22T17:46:01.986Z" - } - }, - "enrichment_protocol/ca78a1a9-375c-4aa8-bfdc-822279d0eca3": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "fetal_kidney_flow_enrichment_2", - "protocol_name": "fetal_kidney_flow_enrichment_2", - "protocol_description": "Protocol for live and CD45+/- enrichment in fetal kidney samples", - "document": "Fetal_flow_enrichment_2.pdf" - }, - "method": { - "text": "Live cell and cell subset enrichment", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD123 CD16 CD3 CD4 HLA-DR CD19 CD20 CD141 CD34 CD326 CD56 CD14 CD45 CD8a CD11c", - "provenance": { - "document_id": "ca78a1a9-375c-4aa8-bfdc-822279d0eca3", - "submission_date": "2019-10-22T17:45:57.289Z", - "update_date": "2019-10-22T17:46:02.039Z" - } - }, - "donor_organism/05617ca5-c033-40aa-b865-45b34a14bc27": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F41", - "biomaterial_name": "F41", - "biomaterial_description": "Medical termination of pregnancy fetal kidney samples", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "organism_age": "16", - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "Fetus stage 4", - "ontology": "HsapDv:0000003", - "ontology_label": "Carnegie stage 01" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "Medical termination of pregnancy", - "cold_perfused": false, - "normothermic_regional_perfusion": "no" - }, - "gestational_age": "16", - "gestational_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "provenance": { - "document_id": "05617ca5-c033-40aa-b865-45b34a14bc27", - "submission_date": "2019-10-22T17:45:56.880Z", - "update_date": "2019-10-22T17:46:01.981Z" - } - }, - "donor_organism/125a0c93-3187-463f-990b-1166aeb26e84": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F38", - "biomaterial_name": "F38", - "biomaterial_description": "Medical termination of pregnancy fetal kidney samples", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "no", - "organism_age": "12", - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "Fetus stage 3", - "ontology": "HsapDv:0000003", - "ontology_label": "Carnegie stage 01" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "Medical termination of pregnancy", - "cold_perfused": false, - "normothermic_regional_perfusion": "no" - }, - "gestational_age": "12", - "gestational_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "provenance": { - "document_id": "125a0c93-3187-463f-990b-1166aeb26e84", - "submission_date": "2019-10-22T17:45:56.870Z", - "update_date": "2019-10-22T17:46:02.061Z" - } - }, - "donor_organism/56a5a34b-1362-4d3c-ae6f-b5f01d4eabc0": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "TxK4", - "biomaterial_name": "TxK4", - "biomaterial_description": "Kidney biopsies from kidney donated for transplantation but not transplanted", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "no", - "organism_age": "72", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "development_stage": { - "text": "Adult", - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage" - }, - "diseases": [ - { - "text": "Cardiac arrest", - "ontology": "MONDO:0000745", - "ontology_label": "cardiac arrest" - }, - { - "text": "traumatic subarachnoid haemorrhage", - "ontology": "MONDO:0019543", - "ontology_label": "acquired aneurysmal subarachnoid hemorrhage" - } - ], - "death": { - "cause_of_death": "Cardiac death", - "cold_perfused": true, - "hardy_scale": 2, - "organ_donation_death_type": "Donation after circulatory death (DCD)", - "normothermic_regional_perfusion": "no" - }, - "provenance": { - "document_id": "56a5a34b-1362-4d3c-ae6f-b5f01d4eabc0", - "submission_date": "2019-10-22T17:45:56.904Z", - "update_date": "2019-10-22T17:46:02.166Z" - } - }, - "donor_organism/8ef48580-339e-4c23-b5bd-04c8692cab5f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F16", - "biomaterial_name": "F16", - "biomaterial_description": "Surgical termination of pregnancy fetal kidney samples", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "no", - "organism_age": "8.14", - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "Fetus stage 1", - "ontology": "HsapDv:0000003", - "ontology_label": "Carnegie stage 01" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "Surgical termination of pregnancy", - "cold_perfused": false, - "normothermic_regional_perfusion": "no" - }, - "gestational_age": "8.14", - "gestational_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "provenance": { - "document_id": "8ef48580-339e-4c23-b5bd-04c8692cab5f", - "submission_date": "2019-10-22T17:45:56.842Z", - "update_date": "2019-10-22T17:46:02.056Z" - } - }, - "donor_organism/91f51e13-dc56-4526-9e39-92a6c6778e16": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F35", - "biomaterial_name": "F35", - "biomaterial_description": "Medical termination of pregnancy fetal kidney samples", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "organism_age": "7.85", - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "Fetus stage 1", - "ontology": "HsapDv:0000003", - "ontology_label": "Carnegie stage 01" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "Medical termination of pregnancy", - "cold_perfused": false, - "normothermic_regional_perfusion": "no" - }, - "gestational_age": "7.85", - "gestational_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "provenance": { - "document_id": "91f51e13-dc56-4526-9e39-92a6c6778e16", - "submission_date": "2019-10-22T17:45:56.861Z", - "update_date": "2019-10-22T17:46:02.039Z" - } - }, - "donor_organism/9fde0deb-9630-4007-aea6-e7a7b1e68c2a": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F17", - "biomaterial_name": "F17", - "biomaterial_description": "Surgical termination of pregnancy fetal kidney samples", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "organism_age": "9.14", - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "Fetus stage 2", - "ontology": "HsapDv:0000003", - "ontology_label": "Carnegie stage 01" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "Surgical termination of pregnancy", - "cold_perfused": false, - "normothermic_regional_perfusion": "no" - }, - "gestational_age": "9.14", - "gestational_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "provenance": { - "document_id": "9fde0deb-9630-4007-aea6-e7a7b1e68c2a", - "submission_date": "2019-10-22T17:45:56.851Z", - "update_date": "2019-10-22T17:46:02.049Z" - } - }, - "donor_organism/a6116756-3aeb-48f2-8952-caccbfd3f57b": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "TxK1", - "biomaterial_name": "TxK1", - "biomaterial_description": "Kidney biopsies from kidney donated for transplantation but not transplanted", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "organism_age": "53", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "development_stage": { - "text": "Adult", - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage" - }, - "diseases": [ - { - "text": "Ischaemic stroke", - "ontology": "MONDO:0005098", - "ontology_label": "stroke disorder" - }, - { - "text": "possible posterior reversible encephalopathy syndrome", - "ontology": "MONDO:0017291", - "ontology_label": "reversible cerebral vasoconstriction syndrome" - } - ], - "death": { - "cause_of_death": "Brainstem death", - "cold_perfused": true, - "organ_donation_death_type": "Donation after brainstem death (DBD)", - "normothermic_regional_perfusion": "no" - }, - "medical_history": { - "smoking_history": "current smoker" - }, - "provenance": { - "document_id": "a6116756-3aeb-48f2-8952-caccbfd3f57b", - "submission_date": "2019-10-22T17:45:56.896Z", - "update_date": "2019-10-22T17:46:02.149Z" - } - }, - "donor_organism/b736af42-04c7-4845-a410-310f8f912eeb": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F45", - "biomaterial_name": "F45", - "biomaterial_description": "Medical termination of pregnancy fetal kidney samples", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "organism_age": "13.85", - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "Fetus stage 3", - "ontology": "HsapDv:0000003", - "ontology_label": "Carnegie stage 01" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "death": { - "cause_of_death": "Medical termination of pregnancy", - "cold_perfused": false, - "normothermic_regional_perfusion": "no" - }, - "gestational_age": "13.85", - "gestational_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "provenance": { - "document_id": "b736af42-04c7-4845-a410-310f8f912eeb", - "submission_date": "2019-10-22T17:45:56.888Z", - "update_date": "2019-10-22T17:46:02.129Z" - } - }, - "dissociation_protocol/60d4e19b-aa28-4ed1-9ac5-1db33d287b0a": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "fetal_kidney_dissociation", - "protocol_name": "fetal_kidney_dissociation", - "protocol_description": "Isolated fetal kidneys were cut into into <1mm3 segments and digested with 1.6mg/mL collagenase type IV (Worthington) in RPMI (Sigma-Aldrich) supplemented with 10% (v/v) heat-inactivated fetal bovine serum (Gibco), 100 U/mL penicillin (Sigma-Aldrich), 0.1 mg/mL streptomycin (Sigma-Aldrich), and 2 mM L-Glutamine (Sigma-Aldrich) for 30 minutes at 37 \u00b0C with intermittent shaking. The suspension was passed through a 100 \u03bcm filter and then treated with 1X RBC lysis buffer (eBioscience) for 5 minutes at room temperature and washed once with flow buffer (PBS containing 5%(v/v) FBS and 2mM EDTA) prior to staining.", - "document": "Fetal_kidney_dissociation.pdf" - }, - "method": { - "text": "Enzymatic and mechanical dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "provenance": { - "document_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a", - "submission_date": "2019-10-22T17:45:57.264Z", - "update_date": "2019-10-22T17:46:02.076Z" - } - }, - "dissociation_protocol/9d5c8595-a80c-4a12-b869-0b6c45ad6e16": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "mature_kidney_dissociation", - "protocol_name": "mature_kidney_dissociation", - "protocol_description": "Samples were sliced into approximately 30 mm3 pieces and digested for 30 min at 37 \u00b0C, with agitation, in a digestion solution containing 25 \u03bcg/ml Liberase TM (Roche) and 50 \u03bcg/ml DNase (Sigma) in 5 ml RPMI (Gibco) in gentleMACS C tubes (Miltenyi Biotec). Samples were then processed using a gentleMACS Dissociator (Miltenyi Biotec) on program spleen 4 then lung 2. The suspension was passed through a 100 \u03bcm cell strainer (Falcon), and washed with PBS.", - "document": "Mature_kidney_dissociation.pdf" - }, - "method": { - "text": "Enzymatic and mechanical dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "provenance": { - "document_id": "9d5c8595-a80c-4a12-b869-0b6c45ad6e16", - "submission_date": "2019-10-22T17:45:57.258Z", - "update_date": "2019-10-22T17:46:01.976Z" - } - }, - "specimen_from_organism/0635494f-d45d-48a9-81b1-5f1d4ac15835": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "TxK4_4", - "biomaterial_name": "TxK4_4", - "biomaterial_description": "Kidney biopsy sample - Cortex", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Mature kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "organ_parts": [ - { - "text": "Cortex", - "ontology": "UBERON:0001225", - "ontology_label": "cortex of kidney" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "state_of_specimen": { - "ischemic_temperature": "cold" - }, - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "0635494f-d45d-48a9-81b1-5f1d4ac15835", - "submission_date": "2019-10-22T17:45:56.981Z", - "update_date": "2019-10-22T17:46:02.097Z" - } - }, - "specimen_from_organism/17aea4fd-cd72-4c36-8ded-d686162804b4": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F16_1", - "biomaterial_name": "F16_1", - "biomaterial_description": "Fetal kidney sample", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Fetal Kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "17aea4fd-cd72-4c36-8ded-d686162804b4", - "submission_date": "2019-10-22T17:45:56.988Z", - "update_date": "2019-10-22T17:46:02.024Z" - } - }, - "specimen_from_organism/2cbca5ef-0850-4c4a-9d24-05454a1060e8": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "TxK4_1", - "biomaterial_name": "TxK4_1", - "biomaterial_description": "Kidney biopsy sample - Ureter", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Mature kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "organ_parts": [ - { - "text": "Ureter", - "ontology": "UBERON:0000056", - "ontology_label": "ureter" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "state_of_specimen": { - "ischemic_temperature": "cold" - }, - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "2cbca5ef-0850-4c4a-9d24-05454a1060e8", - "submission_date": "2019-10-22T17:45:56.949Z", - "update_date": "2019-10-22T17:46:02.166Z" - } - }, - "specimen_from_organism/3f646bab-c762-4dbd-8f7b-b374427dac74": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "TxK4_3", - "biomaterial_name": "TxK4_3", - "biomaterial_description": "Kidney biopsy sample - Cortex", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Mature kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "organ_parts": [ - { - "text": "Cortex", - "ontology": "UBERON:0001225", - "ontology_label": "cortex of kidney" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "state_of_specimen": { - "ischemic_temperature": "cold" - }, - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "3f646bab-c762-4dbd-8f7b-b374427dac74", - "submission_date": "2019-10-22T17:45:56.964Z", - "update_date": "2019-10-22T17:46:02.079Z" - } - }, - "specimen_from_organism/442f68c7-502a-4fc7-a3b8-94e9574cd22d": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F35_1", - "biomaterial_name": "F35_1", - "biomaterial_description": "Fetal kidney sample", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Fetal Kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "442f68c7-502a-4fc7-a3b8-94e9574cd22d", - "submission_date": "2019-10-22T17:45:57.005Z", - "update_date": "2019-10-22T17:46:02.057Z" - } - }, - "specimen_from_organism/5fbd4bb4-e761-4345-99b8-bd5e141a8b94": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F17_1", - "biomaterial_name": "F17_1", - "biomaterial_description": "Fetal kidney sample", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Fetal Kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "5fbd4bb4-e761-4345-99b8-bd5e141a8b94", - "submission_date": "2019-10-22T17:45:56.997Z", - "update_date": "2019-10-22T17:46:02.150Z" - } - }, - "specimen_from_organism/8c0ef0ae-0687-4f2a-8a27-d833b7032a26": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "TxK1_3", - "biomaterial_name": "TxK1_3", - "biomaterial_description": "Kidney biopsy sample - Pelvis", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Mature kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "organ_parts": [ - { - "text": "Pelvis", - "ontology": "UBERON:0001224", - "ontology_label": "renal pelvis" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "state_of_specimen": { - "ischemic_temperature": "cold" - }, - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "8c0ef0ae-0687-4f2a-8a27-d833b7032a26", - "submission_date": "2019-10-22T17:45:56.927Z", - "update_date": "2019-10-22T17:46:02.099Z" - } - }, - "specimen_from_organism/8c1b5489-7bf1-40c0-ba60-5e6b079e108a": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "TxK1_2", - "biomaterial_name": "TxK1_2", - "biomaterial_description": "Kidney biopsy sample - Medulla", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Mature kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "organ_parts": [ - { - "text": "Medulla", - "ontology": "UBERON:0000362", - "ontology_label": "renal medulla" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "state_of_specimen": { - "ischemic_temperature": "cold" - }, - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "8c1b5489-7bf1-40c0-ba60-5e6b079e108a", - "submission_date": "2019-10-22T17:45:56.919Z", - "update_date": "2019-10-22T17:46:02.136Z" - } - }, - "specimen_from_organism/a39685fd-b34a-4db7-b973-381919edb96e": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F38_1", - "biomaterial_name": "F38_1", - "biomaterial_description": "Fetal kidney sample", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Fetal Kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "a39685fd-b34a-4db7-b973-381919edb96e", - "submission_date": "2019-10-22T17:45:57.013Z", - "update_date": "2019-10-22T17:46:02.139Z" - } - }, - "specimen_from_organism/c98d14ec-8761-45f7-8e86-e63c188bd97f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "TxK1_4", - "biomaterial_name": "TxK1_4", - "biomaterial_description": "Kidney biopsy sample - Cortex", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Mature kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "organ_parts": [ - { - "text": "Cortex", - "ontology": "UBERON:0001225", - "ontology_label": "cortex of kidney" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "state_of_specimen": { - "ischemic_temperature": "cold" - }, - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "c98d14ec-8761-45f7-8e86-e63c188bd97f", - "submission_date": "2019-10-22T17:45:56.934Z", - "update_date": "2019-10-22T17:46:02.055Z" - } - }, - "specimen_from_organism/ddd10ecc-f7b7-4370-82cf-14e30987b751": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F45_1", - "biomaterial_name": "F45_1", - "biomaterial_description": "Fetal kidney sample", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Fetal Kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "ddd10ecc-f7b7-4370-82cf-14e30987b751", - "submission_date": "2019-10-22T17:45:57.031Z", - "update_date": "2019-10-22T17:46:02.035Z" - } - }, - "specimen_from_organism/ee2bfb40-7aa4-4c78-b78a-91aa69c7dc6e": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "TxK1_1", - "biomaterial_name": "TxK1_1", - "biomaterial_description": "Kidney biopsy sample - Ureter", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Mature kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "organ_parts": [ - { - "text": "Ureter", - "ontology": "UBERON:0000056", - "ontology_label": "ureter" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "state_of_specimen": { - "ischemic_temperature": "cold" - }, - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "ee2bfb40-7aa4-4c78-b78a-91aa69c7dc6e", - "submission_date": "2019-10-22T17:45:56.912Z", - "update_date": "2019-10-22T17:46:02.129Z" - } - }, - "specimen_from_organism/f37a0dec-b7ba-4b34-8e51-732fb5ac7213": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F41_1", - "biomaterial_name": "F41_1", - "biomaterial_description": "Fetal kidney sample", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Fetal Kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "f37a0dec-b7ba-4b34-8e51-732fb5ac7213", - "submission_date": "2019-10-22T17:45:57.023Z", - "update_date": "2019-10-22T17:46:01.985Z" - } - }, - "specimen_from_organism/f47bb6a8-a753-4d40-8254-28fee9d03c1b": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "TxK1_5", - "biomaterial_name": "TxK1_5", - "biomaterial_description": "Kidney biopsy sample - Cortex", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Mature kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "organ_parts": [ - { - "text": "Cortex", - "ontology": "UBERON:0001225", - "ontology_label": "cortex of kidney" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "state_of_specimen": { - "ischemic_temperature": "cold" - }, - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "f47bb6a8-a753-4d40-8254-28fee9d03c1b", - "submission_date": "2019-10-22T17:45:56.941Z", - "update_date": "2019-10-22T17:46:02.025Z" - } - }, - "specimen_from_organism/f5d590c5-b307-4b99-af98-8ddba1e2a266": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "TxK4_2", - "biomaterial_name": "TxK4_2", - "biomaterial_description": "Kidney biopsy sample - Medulla", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Mature kidney", - "ontology": "UBERON:0002113", - "ontology_label": "kidney" - }, - "organ_parts": [ - { - "text": "Medulla", - "ontology": "UBERON:0000362", - "ontology_label": "renal medulla" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "state_of_specimen": { - "ischemic_temperature": "cold" - }, - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "f5d590c5-b307-4b99-af98-8ddba1e2a266", - "submission_date": "2019-10-22T17:45:56.956Z", - "update_date": "2019-10-22T17:46:02.036Z" - } - }, - "sequencing_protocol/fe71fe4a-0903-42e0-9a65-d985abd943ca": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol", - "protocol_name": "sequencing_protocol", - "protocol_description": "Protocol for sequencing", - "document": "sequencing_protocol.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 4000", - "ontology": "EFO:0008563", - "ontology_label": "Illumina HiSeq 4000" - }, - "paired_end": false, - "method": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "10x": { - "fastq_method": "Cellranger mkfastq" - }, - "provenance": { - "document_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca", - "submission_date": "2019-10-22T17:45:57.296Z", - "update_date": "2019-10-22T17:46:02.098Z" - } - }, - "library_preparation_protocol/71efd7ce-0ec0-4423-9eb2-9bd42f40a33f": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol", - "protocol_name": "library_preparation_protocol", - "protocol_description": "Single cell suspensions were counted using an haemocytometer and adjusted to 1000 cells/uL (mature samples) or 400-800 cells/uL (fetal samples). Cells were loaded according to the standard protocol of the Chromium single cell 3\u2019 kit to capture between 5000-10000 cells/channel. Version 2 chemistry was used.", - "document": "library_preparation_protocol.pdf" - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_method": { - "text": "10X v2 sequencing", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "unstranded", - "provenance": { - "document_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f", - "submission_date": "2019-10-22T17:45:57.302Z", - "update_date": "2019-10-22T17:46:01.992Z" - } - } - }, - "links": { - "schema_type": "links", - "schema_version": "3.0.0", - "describedBy": "https://schema.humancellatlas.org/system/3.0.0/links", - "links": [ - { - "inputs": [ - { - "input_id": "689bcda6-eb41-588a-b4a9-8827e22b1856", - "input_type": "analysis_file" - }, - { - "input_id": "df5af5d4-56e1-517b-8f47-7bf4888c853a", - "input_type": "analysis_file" - }, - { - "input_id": "febe54b0-6388-5024-a971-fa88862a4e62", - "input_type": "analysis_file" - }, - { - "input_id": "2b9f7c89-d1c2-53ef-a769-80fec2f7d9e6", - "input_type": "analysis_file" - }, - { - "input_id": "caee5d2b-466f-5762-a565-8fa4a520faba", - "input_type": "analysis_file" - }, - { - "input_id": "448173cc-00c9-56e1-9bde-a8136521dc6f", - "input_type": "analysis_file" - }, - { - "input_id": "5ef41564-04c4-5260-b974-9b37fcc73e35", - "input_type": "analysis_file" - }, - { - "input_id": "32c69d68-1792-53af-9f42-0e97c9afc94b", - "input_type": "analysis_file" - }, - { - "input_id": "9a41c791-004c-5d89-a10c-d58d2ef7eca3", - "input_type": "analysis_file" - }, - { - "input_id": "57c38b28-848d-5716-8c68-a3b3222aac6e", - "input_type": "analysis_file" - }, - { - "input_id": "509608f1-e1d5-561c-b0d6-54348f0adb29", - "input_type": "analysis_file" - }, - { - "input_id": "f9b8be35-2641-5f85-af13-c0390b7bfe23", - "input_type": "analysis_file" - }, - { - "input_id": "4db3cc2d-f0ac-5cdf-8656-4c9b096a0092", - "input_type": "analysis_file" - }, - { - "input_id": "50547806-882a-5915-b217-5bbc692239b9", - "input_type": "analysis_file" - }, - { - "input_id": "b149162c-3450-5301-b057-c3930459584d", - "input_type": "analysis_file" - }, - { - "input_id": "9702f6ba-fd5b-5972-80d4-629e8a8fa8e9", - "input_type": "analysis_file" - }, - { - "input_id": "3cd78fb7-b7bc-5ab1-b122-47585f0023d4", - "input_type": "analysis_file" - }, - { - "input_id": "44175006-91f3-5d95-9a08-b33e08ed1ae3", - "input_type": "analysis_file" - }, - { - "input_id": "b666cb1a-1a4f-511f-859e-2779aad16fa0", - "input_type": "analysis_file" - }, - { - "input_id": "4d411b9c-06de-5805-bb7f-eca54e1c42cc", - "input_type": "analysis_file" - }, - { - "input_id": "fbcc2483-8a75-50ec-8cb6-8148a5087dce", - "input_type": "analysis_file" - }, - { - "input_id": "38a0ef48-9df1-5fef-8eb6-b32fbb67aabd", - "input_type": "analysis_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "c60bf214-0340-53c0-b75b-af84a82808d6", - "output_type": "analysis_file" - } - ], - "process_id": "9531ad31-8210-463c-a6c4-171fb50e4cd1", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "432a7422-59b5-5c46-8983-a7953f196781", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "59e40d0b-dfbc-4668-bb8a-d0b39d25ca88", - "input_type": "sequence_file" - }, - { - "input_id": "154ff85c-da53-4b85-b02b-002211631867", - "input_type": "sequence_file" - }, - { - "input_id": "e3777b07-1706-4434-a523-1335f0b96b30", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "50547806-882a-5915-b217-5bbc692239b9", - "output_type": "analysis_file" - }, - { - "output_id": "5f89237b-83d8-5b2b-880c-2fc4f0c1db1c", - "output_type": "analysis_file" - } - ], - "process_id": "70341236-6291-4b53-b161-17bca3b50cb9", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "2dd22fa3-fe29-4d60-b890-a8ee8b9731ce", - "input_type": "sequence_file" - }, - { - "input_id": "200f221c-c86e-4c67-9d25-5d8210ae33c6", - "input_type": "sequence_file" - }, - { - "input_id": "abffd51d-843c-4f79-8e18-40d8374ade83", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "44175006-91f3-5d95-9a08-b33e08ed1ae3", - "output_type": "analysis_file" - }, - { - "output_id": "6f7195ee-5bcd-5b4d-a3a7-a6ad404edba9", - "output_type": "analysis_file" - } - ], - "process_id": "cca2842a-813b-4f29-a8d5-98ebdb6d1b4c", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "7a058660-f594-4eb5-b02f-bace314f6d76", - "input_type": "sequence_file" - }, - { - "input_id": "90a63c12-7fec-49c5-9b1a-7d622c4390f8", - "input_type": "sequence_file" - }, - { - "input_id": "b72fccff-7178-4f4c-bf6a-c32cc99af28c", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "9702f6ba-fd5b-5972-80d4-629e8a8fa8e9", - "output_type": "analysis_file" - }, - { - "output_id": "aec768aa-9e5d-57ab-b249-09f01b2e5f03", - "output_type": "analysis_file" - } - ], - "process_id": "c99659fc-134b-4290-aae6-0bd6adbe3f0a", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "48cb1c07-fb20-453a-bb98-18dfd9eb4eb8", - "input_type": "sequence_file" - }, - { - "input_id": "3de452b4-1c2a-49d6-80c8-495715921447", - "input_type": "sequence_file" - }, - { - "input_id": "4e80d841-15c5-4da1-9660-4400b41d0536", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "fbcc2483-8a75-50ec-8cb6-8148a5087dce", - "output_type": "analysis_file" - }, - { - "output_id": "40905b7b-03ca-52b1-9ac7-76e350824c88", - "output_type": "analysis_file" - } - ], - "process_id": "e768a12c-327e-4d27-85e0-347d95921452", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "97890d18-72bf-4feb-b713-1d057d1f6519", - "input_type": "sequence_file" - }, - { - "input_id": "cb6662a8-c395-4f75-b6fa-87c186917ed2", - "input_type": "sequence_file" - }, - { - "input_id": "7d29fb39-c214-4edd-9dec-093dcc527429", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "9a41c791-004c-5d89-a10c-d58d2ef7eca3", - "output_type": "analysis_file" - }, - { - "output_id": "b138cb0f-a34d-5b29-8b23-a37bc6f961fd", - "output_type": "analysis_file" - } - ], - "process_id": "cbc88af9-e283-49fa-8c4d-7931a266d2fb", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "cb7a8922-0b74-42f5-9346-f80ebbaddb57", - "input_type": "sequence_file" - }, - { - "input_id": "d3ea1255-7208-4952-be7f-7372d2dc9466", - "input_type": "sequence_file" - }, - { - "input_id": "4bf5245d-0168-48b5-83b8-c6aabdcf1a46", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "4d411b9c-06de-5805-bb7f-eca54e1c42cc", - "output_type": "analysis_file" - }, - { - "output_id": "0115dbfc-99f2-59b4-8430-75cd79e3c04d", - "output_type": "analysis_file" - } - ], - "process_id": "e9af9182-ea0a-4942-9ae5-e2fc36272da6", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "6033d2ea-8c96-4f43-956c-b9701f63ed66", - "input_type": "sequence_file" - }, - { - "input_id": "427003bc-a728-469a-aa8a-61bc2309956f", - "input_type": "sequence_file" - }, - { - "input_id": "85849811-ff50-46ec-9245-79140a1ca705", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "689bcda6-eb41-588a-b4a9-8827e22b1856", - "output_type": "analysis_file" - }, - { - "output_id": "a4a43ddf-e654-526c-98fa-9c0679f2bc95", - "output_type": "analysis_file" - } - ], - "process_id": "ed31fe54-3acf-4fdd-9877-3f241b6480a6", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "cc5a78a1-539f-4dec-80b6-62f35dcafd89", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "d18bbb45-9103-421a-b0cf-a40e2821ff5b" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "4bf5245d-0168-48b5-83b8-c6aabdcf1a46" - }, - { - "output_type": "sequence_file", - "output_id": "cb7a8922-0b74-42f5-9346-f80ebbaddb57" - }, - { - "output_type": "sequence_file", - "output_id": "d3ea1255-7208-4952-be7f-7372d2dc9466" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "e6e30d90-6a3f-4b47-9d7b-6a66989271da", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "5fbd4bb4-e761-4345-99b8-bd5e141a8b94" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "d18bbb45-9103-421a-b0cf-a40e2821ff5b" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "5238fd9b-f4c2-46d9-bb44-6cebc9371a52" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "36bbd76b-b6ab-4c84-a5ec-965af8c40a28", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "9fde0deb-9630-4007-aea6-e7a7b1e68c2a" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5fbd4bb4-e761-4345-99b8-bd5e141a8b94" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "b9a9d40e-7b4f-48f1-a893-f678e917a96d" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "inputs": [ - { - "input_id": "91069ce7-7605-401a-bdbb-087420d0b207", - "input_type": "sequence_file" - }, - { - "input_id": "9ea7643b-d0ba-49b0-b441-0c5d3c2cfe59", - "input_type": "sequence_file" - }, - { - "input_id": "f9703a2c-b024-4917-a6b0-981b38cfb784", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "448173cc-00c9-56e1-9bde-a8136521dc6f", - "output_type": "analysis_file" - }, - { - "output_id": "8b643b3c-3000-5cf4-8aa1-64a4b9d68abf", - "output_type": "analysis_file" - } - ], - "process_id": "c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "90b34757-474f-42c3-9d31-683a5a0a84bd", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "2ffa92e4-d98d-4a94-a059-2251b3b2ea20" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "b72fccff-7178-4f4c-bf6a-c32cc99af28c" - }, - { - "output_type": "sequence_file", - "output_id": "7a058660-f594-4eb5-b02f-bace314f6d76" - }, - { - "output_type": "sequence_file", - "output_id": "90a63c12-7fec-49c5-9b1a-7d622c4390f8" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "61c9f4df-f92b-4d7c-894a-9150718ab39a", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "8c0ef0ae-0687-4f2a-8a27-d833b7032a26" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "2ffa92e4-d98d-4a94-a059-2251b3b2ea20" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "9d5c8595-a80c-4a12-b869-0b6c45ad6e16" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "741ffe1e-7bb1-4307-9d55-9ab77258314c" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "875e0856-b5e7-4ae2-a1d0-6b5d408a9472", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "a6116756-3aeb-48f2-8952-caccbfd3f57b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "8c0ef0ae-0687-4f2a-8a27-d833b7032a26" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f870bf7e-2cb7-44b2-a299-f4e06da4453c" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "inputs": [ - { - "input_id": "5646ff87-0427-4af5-a1ad-e072e6187c23", - "input_type": "sequence_file" - }, - { - "input_id": "ae5068b7-fa8a-46be-8a07-d735093f1aa5", - "input_type": "sequence_file" - }, - { - "input_id": "c30f45e7-0575-46c3-8ea2-3ac864b439e9", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "509608f1-e1d5-561c-b0d6-54348f0adb29", - "output_type": "analysis_file" - }, - { - "output_id": "c564580f-c1bb-5c2d-a0d0-0baebebdf7e4", - "output_type": "analysis_file" - } - ], - "process_id": "24552395-eef1-405d-a85e-df65c08b8ceb", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "5be64c5b-766b-43ad-ab5a-467ef1c47cc4", - "input_type": "sequence_file" - }, - { - "input_id": "9b53a5c0-fd77-4d55-b697-16a95c67c4c2", - "input_type": "sequence_file" - }, - { - "input_id": "a04c3838-8a5f-44c7-9b72-1c31c7a6c547", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "38a0ef48-9df1-5fef-8eb6-b32fbb67aabd", - "output_type": "analysis_file" - }, - { - "output_id": "1b675693-2615-519e-bfa7-cc008b0ff6e9", - "output_type": "analysis_file" - } - ], - "process_id": "75eaaa73-142a-46db-8db1-6a0d7e487a0f", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "4294907c-ba62-4597-845a-07fb788a2bb0", - "input_type": "sequence_file" - }, - { - "input_id": "599a4315-3b4b-4c42-9d68-961a2396cae5", - "input_type": "sequence_file" - }, - { - "input_id": "0c8d1b87-0d6e-4e47-8130-1372bfa05c51", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "4db3cc2d-f0ac-5cdf-8656-4c9b096a0092", - "output_type": "analysis_file" - }, - { - "output_id": "be883019-a8df-564d-87ff-c24a1358fdb6", - "output_type": "analysis_file" - } - ], - "process_id": "9be12f87-5674-4d72-8dc3-f86ebf53ae00", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "be252ee9-c27b-4937-8e96-e971c25ed794", - "input_type": "sequence_file" - }, - { - "input_id": "d8577b2c-16a2-484f-9269-9196d7cca451", - "input_type": "sequence_file" - }, - { - "input_id": "a6a5f2ec-2b8c-4419-82a9-f6bdb80e849c", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "b666cb1a-1a4f-511f-859e-2779aad16fa0", - "output_type": "analysis_file" - }, - { - "output_id": "f6809490-ac47-5fe5-af87-1923c320164e", - "output_type": "analysis_file" - } - ], - "process_id": "119ebaa3-a3b6-4cfe-8978-46d93796b9aa", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "157ba915-28d7-4d80-89ad-71c8291dbc05", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "2dea8819-57bd-4acf-bb26-7a8031df87fb" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "f9703a2c-b024-4917-a6b0-981b38cfb784" - }, - { - "output_type": "sequence_file", - "output_id": "91069ce7-7605-401a-bdbb-087420d0b207" - }, - { - "output_type": "sequence_file", - "output_id": "9ea7643b-d0ba-49b0-b441-0c5d3c2cfe59" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "37612503-8289-407f-93fa-b2993247a0e0", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "17aea4fd-cd72-4c36-8ded-d686162804b4" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "2dea8819-57bd-4acf-bb26-7a8031df87fb" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "5238fd9b-f4c2-46d9-bb44-6cebc9371a52" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "963a3ac2-373f-4d72-bca7-d00f0a982a69", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "8ef48580-339e-4c23-b5bd-04c8692cab5f" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "17aea4fd-cd72-4c36-8ded-d686162804b4" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "b9a9d40e-7b4f-48f1-a893-f678e917a96d" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "inputs": [ - { - "input_id": "121b6c9b-3b12-4fb8-8d98-fba4f1005770", - "input_type": "sequence_file" - }, - { - "input_id": "64c1be0b-56b7-4d5a-b7c8-e8f7f88e0427", - "input_type": "sequence_file" - }, - { - "input_id": "b58fd1d3-1488-40b2-9530-50c0fe54a4dd", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "57c38b28-848d-5716-8c68-a3b3222aac6e", - "output_type": "analysis_file" - }, - { - "output_id": "67f7a04b-7b04-5bb2-a492-efb98f819e97", - "output_type": "analysis_file" - } - ], - "process_id": "362835d6-4ab3-4f0b-8b15-fb7c0fc3311c", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "6500ad38-5b46-4186-9208-6a9494679191", - "input_type": "sequence_file" - }, - { - "input_id": "db9fbac5-641e-4dad-af15-a7afa407654b", - "input_type": "sequence_file" - }, - { - "input_id": "1f50a6ba-90e5-4162-b6ac-6f8d5bfe72cc", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "caee5d2b-466f-5762-a565-8fa4a520faba", - "output_type": "analysis_file" - }, - { - "output_id": "c8b8eac3-92be-5a6c-94ac-e554face58a8", - "output_type": "analysis_file" - } - ], - "process_id": "a201d705-2a67-452d-a8c8-4d792885fecc", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "d8c08782-6f69-4314-947c-1afe6928cbce", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "00ccb65c-2134-4309-9199-bea00ea1d5de" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "4e80d841-15c5-4da1-9660-4400b41d0536" - }, - { - "output_type": "sequence_file", - "output_id": "48cb1c07-fb20-453a-bb98-18dfd9eb4eb8" - }, - { - "output_type": "sequence_file", - "output_id": "3de452b4-1c2a-49d6-80c8-495715921447" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "dec92f6d-8aa9-48e5-9c8d-5d0c2cfb7749", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "ee2bfb40-7aa4-4c78-b78a-91aa69c7dc6e" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "00ccb65c-2134-4309-9199-bea00ea1d5de" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "9d5c8595-a80c-4a12-b869-0b6c45ad6e16" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "741ffe1e-7bb1-4307-9d55-9ab77258314c" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "09cd4cb6-65e3-44eb-b5b1-796ac895013d", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "a6116756-3aeb-48f2-8952-caccbfd3f57b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "ee2bfb40-7aa4-4c78-b78a-91aa69c7dc6e" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f870bf7e-2cb7-44b2-a299-f4e06da4453c" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "inputs": [ - { - "input_id": "be64dbc9-183f-44c9-8b15-d8298ee6c4e9", - "input_type": "sequence_file" - }, - { - "input_id": "c8758f13-7e9b-464a-bada-b41b8b9e925f", - "input_type": "sequence_file" - }, - { - "input_id": "8f6318ea-e692-4085-a693-02f4ff3204b5", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "f9b8be35-2641-5f85-af13-c0390b7bfe23", - "output_type": "analysis_file" - }, - { - "output_id": "3e9b54c2-4244-5549-a0ca-ea1524949a86", - "output_type": "analysis_file" - } - ], - "process_id": "c2552add-e5bd-4022-b3b0-9d160ebbda5b", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "de1febb4-49dd-4a8a-b9c0-7ea493dd2d5a", - "input_type": "sequence_file" - }, - { - "input_id": "9614720d-ed06-4e72-9a4f-cb62088ff608", - "input_type": "sequence_file" - }, - { - "input_id": "1eb30a4b-d595-4142-ae68-0a4ff4281c8d", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "febe54b0-6388-5024-a971-fa88862a4e62", - "output_type": "analysis_file" - }, - { - "output_id": "509c765d-cf97-5166-ae8f-b0c26a42f759", - "output_type": "analysis_file" - } - ], - "process_id": "0aa931a7-1850-47ff-86f9-2e3b1260cbb3", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "438f185f-0e8b-4b34-b03f-7491552ef9b7", - "input_type": "sequence_file" - }, - { - "input_id": "ec1af218-9b00-4366-8890-5cebf580f225", - "input_type": "sequence_file" - }, - { - "input_id": "8831df7b-25f6-482e-9e54-5c53bdda4d53", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "3cd78fb7-b7bc-5ab1-b122-47585f0023d4", - "output_type": "analysis_file" - }, - { - "output_id": "f2393819-bde7-5d77-a1ef-ea58d87e5232", - "output_type": "analysis_file" - } - ], - "process_id": "de4c5a98-eea2-4790-92fe-dd0adc5c05b2", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "dc31f31d-ab56-4025-9834-99be638a2d50", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "e68843c2-df7c-4607-b98f-84b39b31963c" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "a04c3838-8a5f-44c7-9b72-1c31c7a6c547" - }, - { - "output_type": "sequence_file", - "output_id": "5be64c5b-766b-43ad-ab5a-467ef1c47cc4" - }, - { - "output_type": "sequence_file", - "output_id": "9b53a5c0-fd77-4d55-b697-16a95c67c4c2" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "ad09a0ef-ce88-461b-803f-059a6d37d420", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "8c1b5489-7bf1-40c0-ba60-5e6b079e108a" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "e68843c2-df7c-4607-b98f-84b39b31963c" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "9d5c8595-a80c-4a12-b869-0b6c45ad6e16" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "741ffe1e-7bb1-4307-9d55-9ab77258314c" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "e0556c96-db70-426b-a44d-63da9c722734", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "a6116756-3aeb-48f2-8952-caccbfd3f57b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "8c1b5489-7bf1-40c0-ba60-5e6b079e108a" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f870bf7e-2cb7-44b2-a299-f4e06da4453c" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "inputs": [ - { - "input_id": "138dcce5-f9a8-497c-9de1-70a289bdc936", - "input_type": "sequence_file" - }, - { - "input_id": "2b8c990c-4b79-4536-bf5f-1c8e57bff598", - "input_type": "sequence_file" - }, - { - "input_id": "c2137939-c2c6-44d7-8e11-7d6d6d5443eb", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "5ef41564-04c4-5260-b974-9b37fcc73e35", - "output_type": "analysis_file" - }, - { - "output_id": "f9bf5721-5ee8-5837-8eb9-da3810cf04f1", - "output_type": "analysis_file" - } - ], - "process_id": "62e9f752-eab4-48c8-9fba-95b847207ee5", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "b3ce1085-08dc-42ff-a609-6968315327a8", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "89849bc8-4b60-45a5-b1b0-869e29625599" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "abffd51d-843c-4f79-8e18-40d8374ade83" - }, - { - "output_type": "sequence_file", - "output_id": "2dd22fa3-fe29-4d60-b890-a8ee8b9731ce" - }, - { - "output_type": "sequence_file", - "output_id": "200f221c-c86e-4c67-9d25-5d8210ae33c6" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "03c1159c-1a7a-4ede-bac4-d2093b260c65", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "c98d14ec-8761-45f7-8e86-e63c188bd97f" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "89849bc8-4b60-45a5-b1b0-869e29625599" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "9d5c8595-a80c-4a12-b869-0b6c45ad6e16" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "741ffe1e-7bb1-4307-9d55-9ab77258314c" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "3c277a01-33b1-4846-8a6d-8103b41a4db5", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "a6116756-3aeb-48f2-8952-caccbfd3f57b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "c98d14ec-8761-45f7-8e86-e63c188bd97f" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f870bf7e-2cb7-44b2-a299-f4e06da4453c" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "6d273f72-f55c-4c8e-b91e-29e762194c3f", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "9db33a18-ffb7-4e50-88e7-22b4f5d8bce3" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "e3777b07-1706-4434-a523-1335f0b96b30" - }, - { - "output_type": "sequence_file", - "output_id": "59e40d0b-dfbc-4668-bb8a-d0b39d25ca88" - }, - { - "output_type": "sequence_file", - "output_id": "154ff85c-da53-4b85-b02b-002211631867" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "94bb3ed5-df2e-4e73-987f-d7d63d0db2b9", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "5fbd4bb4-e761-4345-99b8-bd5e141a8b94" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "9db33a18-ffb7-4e50-88e7-22b4f5d8bce3" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "5238fd9b-f4c2-46d9-bb44-6cebc9371a52" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "36bbd76b-b6ab-4c84-a5ec-965af8c40a28", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "9fde0deb-9630-4007-aea6-e7a7b1e68c2a" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5fbd4bb4-e761-4345-99b8-bd5e141a8b94" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "b9a9d40e-7b4f-48f1-a893-f678e917a96d" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "3a20b6a5-6652-4486-86bc-842c7c31c343", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "c79356b3-d639-4026-8865-73a20225efd4" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "7d29fb39-c214-4edd-9dec-093dcc527429" - }, - { - "output_type": "sequence_file", - "output_id": "97890d18-72bf-4feb-b713-1d057d1f6519" - }, - { - "output_type": "sequence_file", - "output_id": "cb6662a8-c395-4f75-b6fa-87c186917ed2" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "b93eec14-cbe3-41c3-af82-a4e352f50377", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "0635494f-d45d-48a9-81b1-5f1d4ac15835" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "c79356b3-d639-4026-8865-73a20225efd4" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "9d5c8595-a80c-4a12-b869-0b6c45ad6e16" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "741ffe1e-7bb1-4307-9d55-9ab77258314c" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "758b97fb-d92f-484f-8160-d85b3d1aed7b", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "56a5a34b-1362-4d3c-ae6f-b5f01d4eabc0" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "0635494f-d45d-48a9-81b1-5f1d4ac15835" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "b9a9d40e-7b4f-48f1-a893-f678e917a96d" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "afd0ea55-e710-4b46-bb05-2423e491b6f5", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "3fd7eed2-b7c5-43eb-b0cb-314efb1d8589" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "8831df7b-25f6-482e-9e54-5c53bdda4d53" - }, - { - "output_type": "sequence_file", - "output_id": "438f185f-0e8b-4b34-b03f-7491552ef9b7" - }, - { - "output_type": "sequence_file", - "output_id": "ec1af218-9b00-4366-8890-5cebf580f225" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "0de1f04e-aaf3-4dc7-9869-248e87207d93", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "442f68c7-502a-4fc7-a3b8-94e9574cd22d" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "3fd7eed2-b7c5-43eb-b0cb-314efb1d8589" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ca78a1a9-375c-4aa8-bfdc-822279d0eca3" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "4cc61094-94b9-4d21-a8f8-edbd73129049", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "91f51e13-dc56-4526-9e39-92a6c6778e16" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "442f68c7-502a-4fc7-a3b8-94e9574cd22d" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f44d6b65-0866-47d5-bfb2-8173b1b6a2b3" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "inputs": [ - { - "input_id": "e28e68a3-3042-45f6-a714-ba8622a4b34e", - "input_type": "sequence_file" - }, - { - "input_id": "6c002a62-76b3-4578-8afd-c88cfd62a682", - "input_type": "sequence_file" - }, - { - "input_id": "8fb13af8-c385-46a2-aecc-c741c1e8a5ad", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "df5af5d4-56e1-517b-8f47-7bf4888c853a", - "output_type": "analysis_file" - }, - { - "output_id": "0f9e435b-dbd3-5fd6-9b4e-347433de69b0", - "output_type": "analysis_file" - } - ], - "process_id": "4785d42e-648a-4d1d-9b1e-677cf5486850", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "ba9ca87a-7818-4915-9f7f-0ba588ffad1f", - "input_type": "sequence_file" - }, - { - "input_id": "47bb0f79-31f9-42a8-ac34-4be08ef807d9", - "input_type": "sequence_file" - }, - { - "input_id": "b2ba2d5e-31f2-4bc6-be3d-c20acad86aa1", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "b149162c-3450-5301-b057-c3930459584d", - "output_type": "analysis_file" - }, - { - "output_id": "5bb0243e-0764-5a77-ae7d-1638ebfd27b0", - "output_type": "analysis_file" - } - ], - "process_id": "ddc00ab2-17ea-4b61-8f75-29e26d82551c", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "44b8ad82-1109-4543-a534-a85b34c2c301", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "0d6404e4-f507-4c6d-aa26-4c83c058b623" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "b58fd1d3-1488-40b2-9530-50c0fe54a4dd" - }, - { - "output_type": "sequence_file", - "output_id": "121b6c9b-3b12-4fb8-8d98-fba4f1005770" - }, - { - "output_type": "sequence_file", - "output_id": "64c1be0b-56b7-4d5a-b7c8-e8f7f88e0427" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "3aaf2fa3-6cb8-4c04-9a91-eb1e862154ce", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "ddd10ecc-f7b7-4370-82cf-14e30987b751" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "0d6404e4-f507-4c6d-aa26-4c83c058b623" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ca78a1a9-375c-4aa8-bfdc-822279d0eca3" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "64eb5fef-b257-47af-a797-7808f1aa0a0c", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "b736af42-04c7-4845-a410-310f8f912eeb" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "ddd10ecc-f7b7-4370-82cf-14e30987b751" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f44d6b65-0866-47d5-bfb2-8173b1b6a2b3" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "inputs": [ - { - "input_id": "354517f9-c515-401a-a490-9917dea7d3f2", - "input_type": "sequence_file" - }, - { - "input_id": "70d226a8-01f4-4955-8293-210a6ec78920", - "input_type": "sequence_file" - }, - { - "input_id": "fb5fdf8f-f79f-479a-a662-2f3bed88e960", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "2b9f7c89-d1c2-53ef-a769-80fec2f7d9e6", - "output_type": "analysis_file" - }, - { - "output_id": "10439c86-98bb-5009-8374-577a41575424", - "output_type": "analysis_file" - } - ], - "process_id": "6ef15cb9-46a9-4cf2-9fda-d536641bc6c5", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "16a9712a-0a62-4f57-a57f-189992e6070b", - "input_type": "sequence_file" - }, - { - "input_id": "65128ed2-a70b-4b04-8591-4303acef31e3", - "input_type": "sequence_file" - }, - { - "input_id": "9abf31bf-fc25-4e44-ae99-0af17e017b95", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "32c69d68-1792-53af-9f42-0e97c9afc94b", - "output_type": "analysis_file" - }, - { - "output_id": "9b35ba1f-2445-5fcc-a510-d4da345854fe", - "output_type": "analysis_file" - } - ], - "process_id": "566d48d1-fee9-45a5-80e8-b88f9305e0b2", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "2c2c943c-1c0e-462c-b630-8a91a1f0fb94", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "51aab3dd-5ca8-4a83-b821-99fd3604f8e7" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "c2137939-c2c6-44d7-8e11-7d6d6d5443eb" - }, - { - "output_type": "sequence_file", - "output_id": "138dcce5-f9a8-497c-9de1-70a289bdc936" - }, - { - "output_type": "sequence_file", - "output_id": "2b8c990c-4b79-4536-bf5f-1c8e57bff598" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "4cd84763-27c6-42ef-8577-613d3665bc01", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "2cbca5ef-0850-4c4a-9d24-05454a1060e8" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "51aab3dd-5ca8-4a83-b821-99fd3604f8e7" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "9d5c8595-a80c-4a12-b869-0b6c45ad6e16" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "741ffe1e-7bb1-4307-9d55-9ab77258314c" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "d1f0becb-7640-4861-aee5-0578cd987194", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "56a5a34b-1362-4d3c-ae6f-b5f01d4eabc0" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "2cbca5ef-0850-4c4a-9d24-05454a1060e8" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "b9a9d40e-7b4f-48f1-a893-f678e917a96d" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "37cad11b-c8c9-4d1f-b715-498b0f8d4b35", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "5a6285f9-6133-47ce-ae8a-fbe67160af21" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "9abf31bf-fc25-4e44-ae99-0af17e017b95" - }, - { - "output_type": "sequence_file", - "output_id": "16a9712a-0a62-4f57-a57f-189992e6070b" - }, - { - "output_type": "sequence_file", - "output_id": "65128ed2-a70b-4b04-8591-4303acef31e3" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "a9cf1331-fec6-4a66-9d92-8649aa4dc00b", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "f37a0dec-b7ba-4b34-8e51-732fb5ac7213" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "5a6285f9-6133-47ce-ae8a-fbe67160af21" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ca78a1a9-375c-4aa8-bfdc-822279d0eca3" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "7f8aa404-55fb-4439-ab20-f9fc2e92440f", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "05617ca5-c033-40aa-b865-45b34a14bc27" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "f37a0dec-b7ba-4b34-8e51-732fb5ac7213" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f44d6b65-0866-47d5-bfb2-8173b1b6a2b3" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "01f7c3d0-d4be-432d-aa25-8c7fbce20b49", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "c23013ce-1c97-4717-af7f-7b92d2d3c5ae" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "85849811-ff50-46ec-9245-79140a1ca705" - }, - { - "output_type": "sequence_file", - "output_id": "6033d2ea-8c96-4f43-956c-b9701f63ed66" - }, - { - "output_type": "sequence_file", - "output_id": "427003bc-a728-469a-aa8a-61bc2309956f" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "c9c4fc85-aaf7-4fa3-9ab1-2d0b0a886f62", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "a39685fd-b34a-4db7-b973-381919edb96e" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "c23013ce-1c97-4717-af7f-7b92d2d3c5ae" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ca78a1a9-375c-4aa8-bfdc-822279d0eca3" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "6235a244-ae17-402f-b944-d67aa600aef8", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "125a0c93-3187-463f-990b-1166aeb26e84" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "a39685fd-b34a-4db7-b973-381919edb96e" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f44d6b65-0866-47d5-bfb2-8173b1b6a2b3" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "0b52914d-687b-44d1-9a70-a95df55ed502", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "41c9fb6c-664e-4d51-94ae-a36dfb25073e" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "1eb30a4b-d595-4142-ae68-0a4ff4281c8d" - }, - { - "output_type": "sequence_file", - "output_id": "de1febb4-49dd-4a8a-b9c0-7ea493dd2d5a" - }, - { - "output_type": "sequence_file", - "output_id": "9614720d-ed06-4e72-9a4f-cb62088ff608" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "1ab8df81-b7c8-4726-8b9b-c9f1d2bcac7e", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "a39685fd-b34a-4db7-b973-381919edb96e" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "41c9fb6c-664e-4d51-94ae-a36dfb25073e" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ca78a1a9-375c-4aa8-bfdc-822279d0eca3" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "6235a244-ae17-402f-b944-d67aa600aef8", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "125a0c93-3187-463f-990b-1166aeb26e84" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "a39685fd-b34a-4db7-b973-381919edb96e" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f44d6b65-0866-47d5-bfb2-8173b1b6a2b3" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "082e87ac-5cf6-4bad-bedb-5f6591b8f566", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "7aa5c9c1-6540-4f6a-88c6-859d1bef4851" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "8fb13af8-c385-46a2-aecc-c741c1e8a5ad" - }, - { - "output_type": "sequence_file", - "output_id": "e28e68a3-3042-45f6-a714-ba8622a4b34e" - }, - { - "output_type": "sequence_file", - "output_id": "6c002a62-76b3-4578-8afd-c88cfd62a682" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "c5f8e956-21dc-4b3e-be69-6f865e3a694b", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "f37a0dec-b7ba-4b34-8e51-732fb5ac7213" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "7aa5c9c1-6540-4f6a-88c6-859d1bef4851" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ca78a1a9-375c-4aa8-bfdc-822279d0eca3" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "7f8aa404-55fb-4439-ab20-f9fc2e92440f", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "05617ca5-c033-40aa-b865-45b34a14bc27" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "f37a0dec-b7ba-4b34-8e51-732fb5ac7213" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f44d6b65-0866-47d5-bfb2-8173b1b6a2b3" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "0f14c412-5014-4ac0-9a71-858b2f047777", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "c0e783a5-a154-4f3a-b887-629ff44346ab" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "fb5fdf8f-f79f-479a-a662-2f3bed88e960" - }, - { - "output_type": "sequence_file", - "output_id": "354517f9-c515-401a-a490-9917dea7d3f2" - }, - { - "output_type": "sequence_file", - "output_id": "70d226a8-01f4-4955-8293-210a6ec78920" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "5d2624e6-d55b-4dac-8e59-55e165900fd6", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "f5d590c5-b307-4b99-af98-8ddba1e2a266" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "c0e783a5-a154-4f3a-b887-629ff44346ab" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "9d5c8595-a80c-4a12-b869-0b6c45ad6e16" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "741ffe1e-7bb1-4307-9d55-9ab77258314c" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "a5365490-1246-4349-b49f-d6b18d834996", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "56a5a34b-1362-4d3c-ae6f-b5f01d4eabc0" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "f5d590c5-b307-4b99-af98-8ddba1e2a266" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "b9a9d40e-7b4f-48f1-a893-f678e917a96d" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "83b474d3-c20f-48f6-95a0-b0fa2269f14d", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "de9d1258-715d-47f9-8480-5695c198f6cc" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "b2ba2d5e-31f2-4bc6-be3d-c20acad86aa1" - }, - { - "output_type": "sequence_file", - "output_id": "ba9ca87a-7818-4915-9f7f-0ba588ffad1f" - }, - { - "output_type": "sequence_file", - "output_id": "47bb0f79-31f9-42a8-ac34-4be08ef807d9" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "2387fc2c-65e4-42ad-b718-6586f88a7183", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "ddd10ecc-f7b7-4370-82cf-14e30987b751" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "de9d1258-715d-47f9-8480-5695c198f6cc" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ca78a1a9-375c-4aa8-bfdc-822279d0eca3" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "64eb5fef-b257-47af-a797-7808f1aa0a0c", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "b736af42-04c7-4845-a410-310f8f912eeb" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "ddd10ecc-f7b7-4370-82cf-14e30987b751" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f44d6b65-0866-47d5-bfb2-8173b1b6a2b3" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "51fb7eb7-a422-482e-a98e-c9e6f9628e97", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "7ef94c74-d428-4588-89ff-45378d5b0017" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "c30f45e7-0575-46c3-8ea2-3ac864b439e9" - }, - { - "output_type": "sequence_file", - "output_id": "5646ff87-0427-4af5-a1ad-e072e6187c23" - }, - { - "output_type": "sequence_file", - "output_id": "ae5068b7-fa8a-46be-8a07-d735093f1aa5" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "55a939d9-dab5-49e3-82cc-bba3796800ed", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "17aea4fd-cd72-4c36-8ded-d686162804b4" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "7ef94c74-d428-4588-89ff-45378d5b0017" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "5238fd9b-f4c2-46d9-bb44-6cebc9371a52" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "963a3ac2-373f-4d72-bca7-d00f0a982a69", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "8ef48580-339e-4c23-b5bd-04c8692cab5f" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "17aea4fd-cd72-4c36-8ded-d686162804b4" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "b9a9d40e-7b4f-48f1-a893-f678e917a96d" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "6a0f0064-ba67-43d6-985e-68d8edcf8c0b", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "3de6303a-cff0-444a-a79c-66c4c7ebae8e" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "0c8d1b87-0d6e-4e47-8130-1372bfa05c51" - }, - { - "output_type": "sequence_file", - "output_id": "4294907c-ba62-4597-845a-07fb788a2bb0" - }, - { - "output_type": "sequence_file", - "output_id": "599a4315-3b4b-4c42-9d68-961a2396cae5" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "688b5dd2-f1cb-4268-85a8-ec8431c25df6", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "3f646bab-c762-4dbd-8f7b-b374427dac74" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "3de6303a-cff0-444a-a79c-66c4c7ebae8e" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "9d5c8595-a80c-4a12-b869-0b6c45ad6e16" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "741ffe1e-7bb1-4307-9d55-9ab77258314c" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "dd584f8a-9127-4d00-b251-a3042b2528f4", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "56a5a34b-1362-4d3c-ae6f-b5f01d4eabc0" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "3f646bab-c762-4dbd-8f7b-b374427dac74" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "b9a9d40e-7b4f-48f1-a893-f678e917a96d" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "13a062ba-2b8e-43a1-bc2a-bc17f650b37d", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "5355142f-f257-49bb-9589-2fd932361519" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "1f50a6ba-90e5-4162-b6ac-6f8d5bfe72cc" - }, - { - "output_type": "sequence_file", - "output_id": "6500ad38-5b46-4186-9208-6a9494679191" - }, - { - "output_type": "sequence_file", - "output_id": "db9fbac5-641e-4dad-af15-a7afa407654b" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "a228f157-78ea-4e3c-85bc-dc90ccd3ec44", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "442f68c7-502a-4fc7-a3b8-94e9574cd22d" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "5355142f-f257-49bb-9589-2fd932361519" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ca78a1a9-375c-4aa8-bfdc-822279d0eca3" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "4cc61094-94b9-4d21-a8f8-edbd73129049", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "91f51e13-dc56-4526-9e39-92a6c6778e16" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "442f68c7-502a-4fc7-a3b8-94e9574cd22d" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f44d6b65-0866-47d5-bfb2-8173b1b6a2b3" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "548a75b4-ba45-4700-b7bb-656c3995c316", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "15ec2b2a-c3fe-4946-8cf6-9386bb87eec1" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "8f6318ea-e692-4085-a693-02f4ff3204b5" - }, - { - "output_type": "sequence_file", - "output_id": "be64dbc9-183f-44c9-8b15-d8298ee6c4e9" - }, - { - "output_type": "sequence_file", - "output_id": "c8758f13-7e9b-464a-bada-b41b8b9e925f" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "12995713-3c1b-4e13-a7b9-26d242e9ad71", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "f47bb6a8-a753-4d40-8254-28fee9d03c1b" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "15ec2b2a-c3fe-4946-8cf6-9386bb87eec1" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "9d5c8595-a80c-4a12-b869-0b6c45ad6e16" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "741ffe1e-7bb1-4307-9d55-9ab77258314c" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "5878b562-defb-486f-8fa2-f4573bcd7322", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "a6116756-3aeb-48f2-8952-caccbfd3f57b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "f47bb6a8-a753-4d40-8254-28fee9d03c1b" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "f870bf7e-2cb7-44b2-a299-f4e06da4453c" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "b6dec4a6-2d9b-40ac-80c4-41dce01aea46", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "9fa78638-59a3-45d6-b065-ed1fbf84fa96" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "a6a5f2ec-2b8c-4419-82a9-f6bdb80e849c" - }, - { - "output_type": "sequence_file", - "output_id": "be252ee9-c27b-4937-8e96-e971c25ed794" - }, - { - "output_type": "sequence_file", - "output_id": "d8577b2c-16a2-484f-9269-9196d7cca451" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "fe71fe4a-0903-42e0-9a65-d985abd943ca" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "7a625379-2c08-4bde-aa32-1081132bdeb7", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "5fbd4bb4-e761-4345-99b8-bd5e141a8b94" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "9fa78638-59a3-45d6-b065-ed1fbf84fa96" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "5238fd9b-f4c2-46d9-bb44-6cebc9371a52" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "36bbd76b-b6ab-4c84-a5ec-965af8c40a28", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "9fde0deb-9630-4007-aea6-e7a7b1e68c2a" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5fbd4bb4-e761-4345-99b8-bd5e141a8b94" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "b9a9d40e-7b4f-48f1-a893-f678e917a96d" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "abe1a013-af7a-45ed-8c26-f3793c24a1f4" - }, - "files": [ - { - "file_id": "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "file_type": "supplementary_file" - }, - { - "file_id": "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "file_type": "supplementary_file" - }, - { - "file_id": "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "file_type": "supplementary_file" - }, - { - "file_id": "c72eb744-4971-4525-802c-d898349b392a", - "file_type": "supplementary_file" - }, - { - "file_id": "53089129-f71b-412c-ae2d-f7e8e50044c3", - "file_type": "supplementary_file" - }, - { - "file_id": "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "file_type": "supplementary_file" - }, - { - "file_id": "06e90b33-4403-41e8-b783-e65bf7de982a", - "file_type": "supplementary_file" - }, - { - "file_id": "944589e7-48a4-4333-b773-8e632ccb8865", - "file_type": "supplementary_file" - }, - { - "file_id": "182c7357-0ac0-483d-8189-b321cb3e8d74", - "file_type": "supplementary_file" - }, - { - "file_id": "77700dee-f8b3-40d1-b527-e0e53562eb49", - "file_type": "supplementary_file" - } - ] - } - ] - }, - "stitched": [ - "00ccb65c-2134-4309-9199-bea00ea1d5de", - "0115dbfc-99f2-59b4-8430-75cd79e3c04d", - "01f7c3d0-d4be-432d-aa25-8c7fbce20b49", - "03c1159c-1a7a-4ede-bac4-d2093b260c65", - "05617ca5-c033-40aa-b865-45b34a14bc27", - "0635494f-d45d-48a9-81b1-5f1d4ac15835", - "06e90b33-4403-41e8-b783-e65bf7de982a", - "075284e4-6a7b-45ba-a990-112beefd1296", - "07e479d6-d44a-444e-bd19-7b955e4d0b37", - "082e87ac-5cf6-4bad-bedb-5f6591b8f566", - "09cd4cb6-65e3-44eb-b5b1-796ac895013d", - "0aa931a7-1850-47ff-86f9-2e3b1260cbb3", - "0b52914d-687b-44d1-9a70-a95df55ed502", - "0c8d1b87-0d6e-4e47-8130-1372bfa05c51", - "0d2f92fd-72da-53e6-8035-6b9b2b41a2f6", - "0d6404e4-f507-4c6d-aa26-4c83c058b623", - "0de1f04e-aaf3-4dc7-9869-248e87207d93", - "0df377a4-119b-5600-a3e6-e7c1bc94033f", - "0e9affc6-0257-44d8-8e27-3c723b9c8443", - "0f14c412-5014-4ac0-9a71-858b2f047777", - "0f2bdf51-97c6-5892-b9e7-ad826dbf1321", - "0f9e435b-dbd3-5fd6-9b4e-347433de69b0", - "0fadf81a-30b4-4e70-ba6f-028950d06ec4", - "10439c86-98bb-5009-8374-577a41575424", - "10e05576-100a-48cc-aa83-a30f09514384", - "119ebaa3-a3b6-4cfe-8978-46d93796b9aa", - "121b6c9b-3b12-4fb8-8d98-fba4f1005770", - "125a0c93-3187-463f-990b-1166aeb26e84", - "12995713-3c1b-4e13-a7b9-26d242e9ad71", - "138dcce5-f9a8-497c-9de1-70a289bdc936", - "13a062ba-2b8e-43a1-bc2a-bc17f650b37d", - "1456adad-9a4b-4a80-b115-9813f7a6b93c", - "154ff85c-da53-4b85-b02b-002211631867", - "157ba915-28d7-4d80-89ad-71c8291dbc05", - "15ec2b2a-c3fe-4946-8cf6-9386bb87eec1", - "16a9712a-0a62-4f57-a57f-189992e6070b", - "17aea4fd-cd72-4c36-8ded-d686162804b4", - "182c7357-0ac0-483d-8189-b321cb3e8d74", - "1841191a-cad6-4bb8-b174-f41d94bee738", - "18c7131a-6f18-50a0-a805-04e0f4e2d7aa", - "1932be60-8d3d-412b-86ac-4186ea87326b", - "1a04d1fb-55cc-4fd2-810a-71cf26d1aee9", - "1a625464-2ab2-4d39-a1a5-e4e2240aa1fc", - "1ab8df81-b7c8-4726-8b9b-c9f1d2bcac7e", - "1b675693-2615-519e-bfa7-cc008b0ff6e9", - "1c531e83-02f4-4c00-b161-f186a1b5e1fb", - "1d428c59-694c-4596-a360-a5e857f90635", - "1d8a4488-3c4c-52b1-9912-52f08da57022", - "1e3c935e-a508-47e5-a1a1-da5ad78a4f36", - "1eb30a4b-d595-4142-ae68-0a4ff4281c8d", - "1f50a6ba-90e5-4162-b6ac-6f8d5bfe72cc", - "200f221c-c86e-4c67-9d25-5d8210ae33c6", - "210c7287-2f6e-4a93-8c63-202fa0b596b7", - "2387fc2c-65e4-42ad-b718-6586f88a7183", - "24552395-eef1-405d-a85e-df65c08b8ceb", - "247b3006-918e-49de-9797-df31ffcfe4ca", - "25f7e8ad-e20e-4b7a-99b5-1f3c5bbfdf18", - "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "29a8f5fb-43a8-4f18-9255-f7573e9c4600", - "2b8c990c-4b79-4536-bf5f-1c8e57bff598", - "2b9f7c89-d1c2-53ef-a769-80fec2f7d9e6", - "2c2c943c-1c0e-462c-b630-8a91a1f0fb94", - "2cbca5ef-0850-4c4a-9d24-05454a1060e8", - "2dd22fa3-fe29-4d60-b890-a8ee8b9731ce", - "2dea8819-57bd-4acf-bb26-7a8031df87fb", - "2ffa92e4-d98d-4a94-a059-2251b3b2ea20", - "30e6964e-df3b-5f93-ae18-b49ba08aea26", - "313c30cb-6941-5c2e-8c3e-60c02df4b977", - "316010e4-fdb5-5628-9510-adba0ca80a29", - "32c69d68-1792-53af-9f42-0e97c9afc94b", - "354517f9-c515-401a-a490-9917dea7d3f2", - "362835d6-4ab3-4f0b-8b15-fb7c0fc3311c", - "36bbd76b-b6ab-4c84-a5ec-965af8c40a28", - "37612503-8289-407f-93fa-b2993247a0e0", - "37accfb7-029b-57ba-892f-716f718dc9d2", - "37cad11b-c8c9-4d1f-b715-498b0f8d4b35", - "38a0ef48-9df1-5fef-8eb6-b32fbb67aabd", - "3a20b6a5-6652-4486-86bc-842c7c31c343", - "3aaf2fa3-6cb8-4c04-9a91-eb1e862154ce", - "3c277a01-33b1-4846-8a6d-8103b41a4db5", - "3c480b25-d8d1-5516-96ea-be6547af82ca", - "3cd78fb7-b7bc-5ab1-b122-47585f0023d4", - "3de452b4-1c2a-49d6-80c8-495715921447", - "3de6303a-cff0-444a-a79c-66c4c7ebae8e", - "3e9b54c2-4244-5549-a0ca-ea1524949a86", - "3f646bab-c762-4dbd-8f7b-b374427dac74", - "3fd7eed2-b7c5-43eb-b0cb-314efb1d8589", - "40905b7b-03ca-52b1-9ac7-76e350824c88", - "41c9fb6c-664e-4d51-94ae-a36dfb25073e", - "41d76180-77ac-5cb3-92bd-eb867d8c52c9", - "4246f2be-5949-525d-a4ba-491176f13f69", - "427003bc-a728-469a-aa8a-61bc2309956f", - "4294907c-ba62-4597-845a-07fb788a2bb0", - "438f185f-0e8b-4b34-b03f-7491552ef9b7", - "44175006-91f3-5d95-9a08-b33e08ed1ae3", - "442f68c7-502a-4fc7-a3b8-94e9574cd22d", - "4471ff2f-9528-4ab0-a422-78ed0852e4a5", - "448173cc-00c9-56e1-9bde-a8136521dc6f", - "44b8ad82-1109-4543-a534-a85b34c2c301", - "44d21c39-6acb-483a-99be-8fe8e7a5d208", - "475885e1-5b81-452f-a939-91dc9b207f5b", - "4785d42e-648a-4d1d-9b1e-677cf5486850", - "47bb0f79-31f9-42a8-ac34-4be08ef807d9", - "48cb1c07-fb20-453a-bb98-18dfd9eb4eb8", - "49e80111-c3ae-5c09-b484-18cf66b7c7fd", - "4ad98f14-2ff2-53de-9c97-50fbcc9a6e3e", - "4bf5245d-0168-48b5-83b8-c6aabdcf1a46", - "4c12888b-2a1a-52c9-b0fa-499ef34adc21", - "4c46c08e-5552-4c32-8e39-5bd489718c8c", - "4cc61094-94b9-4d21-a8f8-edbd73129049", - "4cd84763-27c6-42ef-8577-613d3665bc01", - "4d411b9c-06de-5805-bb7f-eca54e1c42cc", - "4db3cc2d-f0ac-5cdf-8656-4c9b096a0092", - "4e80d841-15c5-4da1-9660-4400b41d0536", - "4fc5aa24-c7b1-511c-b6a2-6d8366b3b025", - "50547806-882a-5915-b217-5bbc692239b9", - "509608f1-e1d5-561c-b0d6-54348f0adb29", - "509c765d-cf97-5166-ae8f-b0c26a42f759", - "50de5887-5ab7-5e8f-a6da-81b52089e98b", - "51aab3dd-5ca8-4a83-b821-99fd3604f8e7", - "51c769a9-63ad-42bc-b3e5-eba1d9ce843f", - "51fb7eb7-a422-482e-a98e-c9e6f9628e97", - "5238fd9b-f4c2-46d9-bb44-6cebc9371a52", - "53089129-f71b-412c-ae2d-f7e8e50044c3", - "5355142f-f257-49bb-9589-2fd932361519", - "548a75b4-ba45-4700-b7bb-656c3995c316", - "55a939d9-dab5-49e3-82cc-bba3796800ed", - "5646ff87-0427-4af5-a1ad-e072e6187c23", - "566d48d1-fee9-45a5-80e8-b88f9305e0b2", - "56a5a34b-1362-4d3c-ae6f-b5f01d4eabc0", - "56b327ac-557e-4a07-90a7-4f167d241773", - "5756416b-6522-41da-8db3-977c3f707a0e", - "57c38b28-848d-5716-8c68-a3b3222aac6e", - "58630e07-76d1-4d12-af1f-8a15fef59e1c", - "5878b562-defb-486f-8fa2-f4573bcd7322", - "5935370b-5330-5787-b1cf-51987f5957d5", - "599a4315-3b4b-4c42-9d68-961a2396cae5", - "59e40d0b-dfbc-4668-bb8a-d0b39d25ca88", - "5a6285f9-6133-47ce-ae8a-fbe67160af21", - "5b84bbca-dfde-462c-9c79-c914f32e03c4", - "5bb0243e-0764-5a77-ae7d-1638ebfd27b0", - "5bb24f6f-34f5-4955-80b1-dd7ceb6d55a6", - "5be64c5b-766b-43ad-ab5a-467ef1c47cc4", - "5d2624e6-d55b-4dac-8e59-55e165900fd6", - "5ef41564-04c4-5260-b974-9b37fcc73e35", - "5f89237b-83d8-5b2b-880c-2fc4f0c1db1c", - "5fbd4bb4-e761-4345-99b8-bd5e141a8b94", - "602081b8-1b64-430c-8c85-093e21e1c972", - "6033d2ea-8c96-4f43-956c-b9701f63ed66", - "604b4322-f029-4bcd-84e1-e234017cda2f", - "60d4e19b-aa28-4ed1-9ac5-1db33d287b0a", - "6144552f-b4b0-460b-b5a6-7bd3035d2f1b", - "615aea9b-2bc7-54b8-97c5-a16ac697f790", - "61618af9-079f-578d-a834-8ec482403b17", - "61c9f4df-f92b-4d7c-894a-9150718ab39a", - "61f531af-0cc2-5f69-8b93-bc04f8f29279", - "6235a244-ae17-402f-b944-d67aa600aef8", - "62e9f752-eab4-48c8-9fba-95b847207ee5", - "63a1acfd-ca01-451d-a41d-d3a7ffd1655b", - "6447d1eb-f1ee-44f1-9fc6-1a0bb39677fd", - "64c1be0b-56b7-4d5a-b7c8-e8f7f88e0427", - "64eb5fef-b257-47af-a797-7808f1aa0a0c", - "6500ad38-5b46-4186-9208-6a9494679191", - "65128ed2-a70b-4b04-8591-4303acef31e3", - "657b9016-387f-4951-bf3d-4b749f4a4f23", - "67f7a04b-7b04-5bb2-a492-efb98f819e97", - "688b5dd2-f1cb-4268-85a8-ec8431c25df6", - "689bcda6-eb41-588a-b4a9-8827e22b1856", - "6a0f0064-ba67-43d6-985e-68d8edcf8c0b", - "6c002a62-76b3-4578-8afd-c88cfd62a682", - "6d273f72-f55c-4c8e-b91e-29e762194c3f", - "6ef15cb9-46a9-4cf2-9fda-d536641bc6c5", - "6f7195ee-5bcd-5b4d-a3a7-a6ad404edba9", - "6ff514d2-c9aa-482a-ba40-da02a5c5fac8", - "70341236-6291-4b53-b161-17bca3b50cb9", - "70d226a8-01f4-4955-8293-210a6ec78920", - "70fa85f0-3a54-4bb0-a7b7-061575f963e3", - "71efd7ce-0ec0-4423-9eb2-9bd42f40a33f", - "722fafff-d2ec-4a1f-b36b-70f7cc6d2192", - "72932e5b-c25b-401c-8c48-aab023661968", - "741ffe1e-7bb1-4307-9d55-9ab77258314c", - "7512e2e0-ac08-5d56-b2a4-d553bc24227c", - "75150c4f-0ce4-56b1-a4d8-2342f5d4a3b8", - "758b97fb-d92f-484f-8160-d85b3d1aed7b", - "75eaaa73-142a-46db-8db1-6a0d7e487a0f", - "77700dee-f8b3-40d1-b527-e0e53562eb49", - "791a846a-1241-4b0c-a3e3-24160fc321ee", - "7923e38e-8649-41b7-b0a6-ac901630be3c", - "79c607a7-8bf6-5288-831d-715ef9e450d5", - "7a058660-f594-4eb5-b02f-bace314f6d76", - "7a625379-2c08-4bde-aa32-1081132bdeb7", - "7aa5c9c1-6540-4f6a-88c6-859d1bef4851", - "7c7a336b-a771-5257-a7b2-da2d87896ea4", - "7d29fb39-c214-4edd-9dec-093dcc527429", - "7e63de17-6e27-4a78-b029-a8db8cc121a6", - "7ef94c74-d428-4588-89ff-45378d5b0017", - "7f8aa404-55fb-4439-ab20-f9fc2e92440f", - "824111f5-d9fa-5ca8-9329-0f172332c98e", - "83b474d3-c20f-48f6-95a0-b0fa2269f14d", - "855fdb57-1c0e-5875-aef5-f6e14876b15c", - "85849811-ff50-46ec-9245-79140a1ca705", - "875e0856-b5e7-4ae2-a1d0-6b5d408a9472", - "8831df7b-25f6-482e-9e54-5c53bdda4d53", - "89849bc8-4b60-45a5-b1b0-869e29625599", - "8a9a73f6-9a38-494a-84b2-2d0e11b60c17", - "8b643b3c-3000-5cf4-8aa1-64a4b9d68abf", - "8bee60a4-c810-4157-852d-f6510859aad6", - "8c0ef0ae-0687-4f2a-8a27-d833b7032a26", - "8c1b5489-7bf1-40c0-ba60-5e6b079e108a", - "8d2bd05e-52ae-5fae-bdcd-97e9cd74a62b", - "8ef48580-339e-4c23-b5bd-04c8692cab5f", - "8f2afe24-5222-4451-a9d6-323d33e49156", - "8f6318ea-e692-4085-a693-02f4ff3204b5", - "8fb13af8-c385-46a2-aecc-c741c1e8a5ad", - "901b4d92-9b4d-5e10-b98b-c64c8535c7e3", - "90a63c12-7fec-49c5-9b1a-7d622c4390f8", - "90b34757-474f-42c3-9d31-683a5a0a84bd", - "91069ce7-7605-401a-bdbb-087420d0b207", - "9178a5a8-dbc2-5dfd-be33-2ac8e6f2fc96", - "91f51e13-dc56-4526-9e39-92a6c6778e16", - "944589e7-48a4-4333-b773-8e632ccb8865", - "94bb3ed5-df2e-4e73-987f-d7d63d0db2b9", - "9614720d-ed06-4e72-9a4f-cb62088ff608", - "963a3ac2-373f-4d72-bca7-d00f0a982a69", - "9702f6ba-fd5b-5972-80d4-629e8a8fa8e9", - "97890d18-72bf-4feb-b713-1d057d1f6519", - "9a41c791-004c-5d89-a10c-d58d2ef7eca3", - "9abf31bf-fc25-4e44-ae99-0af17e017b95", - "9b35ba1f-2445-5fcc-a510-d4da345854fe", - "9b53a5c0-fd77-4d55-b697-16a95c67c4c2", - "9be12f87-5674-4d72-8dc3-f86ebf53ae00", - "9d5c8595-a80c-4a12-b869-0b6c45ad6e16", - "9db33a18-ffb7-4e50-88e7-22b4f5d8bce3", - "9ea7643b-d0ba-49b0-b441-0c5d3c2cfe59", - "9fa78638-59a3-45d6-b065-ed1fbf84fa96", - "9fde0deb-9630-4007-aea6-e7a7b1e68c2a", - "a04c3838-8a5f-44c7-9b72-1c31c7a6c547", - "a201d705-2a67-452d-a8c8-4d792885fecc", - "a228f157-78ea-4e3c-85bc-dc90ccd3ec44", - "a2a60cf5-2597-4ba3-b9fa-7ecdde004c8c", - "a39685fd-b34a-4db7-b973-381919edb96e", - "a3b89f52-1007-4aa4-8889-f2b3670c82bd", - "a4a43ddf-e654-526c-98fa-9c0679f2bc95", - "a5365490-1246-4349-b49f-d6b18d834996", - "a6116756-3aeb-48f2-8952-caccbfd3f57b", - "a642669d-72f1-5e03-94fe-83a993c7facd", - "a64cdd04-6d28-5f81-9f2d-4ae6989e9ddc", - "a6a5f2ec-2b8c-4419-82a9-f6bdb80e849c", - "a9cf1331-fec6-4a66-9d92-8649aa4dc00b", - "aac09eaf-b9e3-5469-b34f-d2ec70f57089", - "abffd51d-843c-4f79-8e18-40d8374ade83", - "ad09a0ef-ce88-461b-803f-059a6d37d420", - "ae5068b7-fa8a-46be-8a07-d735093f1aa5", - "aec768aa-9e5d-57ab-b249-09f01b2e5f03", - "afd0ea55-e710-4b46-bb05-2423e491b6f5", - "b0d1afa7-c798-4172-9231-33584e52f70f", - "b12b9f7a-1136-456b-b0e0-aa05c29d1355", - "b138cb0f-a34d-5b29-8b23-a37bc6f961fd", - "b149162c-3450-5301-b057-c3930459584d", - "b2ba2d5e-31f2-4bc6-be3d-c20acad86aa1", - "b3ce1085-08dc-42ff-a609-6968315327a8", - "b4efa99e-25c8-5eef-96a4-84f2551bcc29", - "b58109d6-0e7e-49cb-abd5-4ca20e43046e", - "b58fd1d3-1488-40b2-9530-50c0fe54a4dd", - "b666cb1a-1a4f-511f-859e-2779aad16fa0", - "b6dec4a6-2d9b-40ac-80c4-41dce01aea46", - "b72fccff-7178-4f4c-bf6a-c32cc99af28c", - "b736af42-04c7-4845-a410-310f8f912eeb", - "b869ef9d-300d-46e0-941f-ad0f036773b2", - "b93eec14-cbe3-41c3-af82-a4e352f50377", - "b9a9d40e-7b4f-48f1-a893-f678e917a96d", - "ba36a0b5-a686-5e72-91c9-b29f9c1d3f2e", - "ba802a39-ab3c-4ddf-8606-6904ec798ff5", - "ba9ca87a-7818-4915-9f7f-0ba588ffad1f", - "bba19c1b-66b5-5b45-8391-e7b9e749afc3", - "bc752490-c165-4e59-a335-5690f1809ac9", - "be252ee9-c27b-4937-8e96-e971c25ed794", - "be64dbc9-183f-44c9-8b15-d8298ee6c4e9", - "be883019-a8df-564d-87ff-c24a1358fdb6", - "c0e783a5-a154-4f3a-b887-629ff44346ab", - "c0eb3628-4aae-5215-8fe8-dfc1974fb288", - "c1e549a6-8711-4381-853d-c54469b4b5c0", - "c1eef424-40cb-51f6-a574-755494d44789", - "c2137939-c2c6-44d7-8e11-7d6d6d5443eb", - "c23013ce-1c97-4717-af7f-7b92d2d3c5ae", - "c2552add-e5bd-4022-b3b0-9d160ebbda5b", - "c2fadf72-fab9-47a5-ae9f-50d97753d3ef", - "c30f45e7-0575-46c3-8ea2-3ac864b439e9", - "c564580f-c1bb-5c2d-a0d0-0baebebdf7e4", - "c5f8e956-21dc-4b3e-be69-6f865e3a694b", - "c6d5d8ad-4234-4d4b-b508-c5b9b05ea4c2", - "c72eb744-4971-4525-802c-d898349b392a", - "c79356b3-d639-4026-8865-73a20225efd4", - "c8758f13-7e9b-464a-bada-b41b8b9e925f", - "c89d294a-1921-46fa-9392-b714af40c97c", - "c8b8eac3-92be-5a6c-94ac-e554face58a8", - "c98d14ec-8761-45f7-8e86-e63c188bd97f", - "c99659fc-134b-4290-aae6-0bd6adbe3f0a", - "c9c4fc85-aaf7-4fa3-9ab1-2d0b0a886f62", - "ca6b8d6b-6d19-4ff0-b487-c13cdf801a60", - "ca707466-c643-54d0-a251-d4314081608b", - "ca78a1a9-375c-4aa8-bfdc-822279d0eca3", - "caee5d2b-466f-5762-a565-8fa4a520faba", - "caf7fc00-38ab-4af5-beda-c70c1fb4448e", - "cb189806-adb0-42d2-b519-b9e48a23bc94", - "cb6662a8-c395-4f75-b6fa-87c186917ed2", - "cb7a8922-0b74-42f5-9346-f80ebbaddb57", - "cbc88af9-e283-49fa-8c4d-7931a266d2fb", - "cc5a78a1-539f-4dec-80b6-62f35dcafd89", - "cc671147-98a3-4e96-ae78-7f6b637271d6", - "cc811606-6aff-421b-ac56-b26adbfe67f4", - "cca2842a-813b-4f29-a8d5-98ebdb6d1b4c", - "d18bbb45-9103-421a-b0cf-a40e2821ff5b", - "d1f0becb-7640-4861-aee5-0578cd987194", - "d3ea1255-7208-4952-be7f-7372d2dc9466", - "d8577b2c-16a2-484f-9269-9196d7cca451", - "d8c08782-6f69-4314-947c-1afe6928cbce", - "d96cdcd2-d832-470d-96d8-db8f92075703", - "da200c32-cfbd-435f-8786-2cf542b87367", - "db9fbac5-641e-4dad-af15-a7afa407654b", - "dc31f31d-ab56-4025-9834-99be638a2d50", - "dc4b7fff-0876-4f92-96cc-167efc91b516", - "dc6cba3b-5de7-5405-80ba-ba0d16f9285f", - "dce25965-6000-496a-b884-fa4dc0491a4d", - "dd3dccbb-4bc8-5384-8693-96b82fe5f685", - "dd584f8a-9127-4d00-b251-a3042b2528f4", - "ddc00ab2-17ea-4b61-8f75-29e26d82551c", - "ddd10ecc-f7b7-4370-82cf-14e30987b751", - "de1febb4-49dd-4a8a-b9c0-7ea493dd2d5a", - "de4c5a98-eea2-4790-92fe-dd0adc5c05b2", - "de9d1258-715d-47f9-8480-5695c198f6cc", - "dec92f6d-8aa9-48e5-9c8d-5d0c2cfb7749", - "df5af5d4-56e1-517b-8f47-7bf4888c853a", - "df9eea5a-6dea-55bc-9257-35cd9e7c58cc", - "dfad809b-a282-5bb4-9d71-0a5bf3da0417", - "e0556c96-db70-426b-a44d-63da9c722734", - "e28e68a3-3042-45f6-a714-ba8622a4b34e", - "e3777b07-1706-4434-a523-1335f0b96b30", - "e5b37a2a-d819-4961-8fa5-f47ce08532a9", - "e68843c2-df7c-4607-b98f-84b39b31963c", - "e6e30d90-6a3f-4b47-9d7b-6a66989271da", - "e768a12c-327e-4d27-85e0-347d95921452", - "e957cc11-3b0d-41ab-9f4e-3bb45688fd8e", - "e9af9182-ea0a-4942-9ae5-e2fc36272da6", - "ec1af218-9b00-4366-8890-5cebf580f225", - "ed31fe54-3acf-4fdd-9877-3f241b6480a6", - "ee2bfb40-7aa4-4c78-b78a-91aa69c7dc6e", - "ee6f108e-efd4-4eb3-8e51-76fcef37455b", - "ef880b39-ded0-529f-8b50-44961b8f852e", - "eff119a8-5bdb-473d-8479-27b3aa0926bc", - "f11f27c5-f4b0-4d20-9c8f-d1af764c7c0a", - "f1aecf03-b60d-483c-a09f-69223cc1ad0e", - "f2393819-bde7-5d77-a1ef-ea58d87e5232", - "f2f0f2f6-21bb-4672-8cbe-6143c5586b69", - "f37a0dec-b7ba-4b34-8e51-732fb5ac7213", - "f3b306f2-3627-4fbe-b4d0-9968ee934452", - "f44d6b65-0866-47d5-bfb2-8173b1b6a2b3", - "f47bb6a8-a753-4d40-8254-28fee9d03c1b", - "f5d590c5-b307-4b99-af98-8ddba1e2a266", - "f6809490-ac47-5fe5-af87-1923c320164e", - "f6cf748f-03ac-411c-8e52-d5a5c606e673", - "f870bf7e-2cb7-44b2-a299-f4e06da4453c", - "f9703a2c-b024-4917-a6b0-981b38cfb784", - "f9b8be35-2641-5f85-af13-c0390b7bfe23", - "f9bf5721-5ee8-5837-8eb9-da3810cf04f1", - "fb5fdf8f-f79f-479a-a662-2f3bed88e960", - "fbcc2483-8a75-50ec-8cb6-8148a5087dce", - "fd1a13ab-4a77-4f7c-964b-7e07722581c1", - "fe320cac-6005-46ab-a023-1c7157f5d426", - "fe71fe4a-0903-42e0-9a65-d985abd943ca", - "fe86eb27-196d-48be-a58b-840d7add69ec", - "feb85664-ff85-4b95-9198-036360f87cc9", - "febe54b0-6388-5024-a971-fa88862a4e62", - "fede9b23-84cc-4d8e-97e3-9bd3fa3f4b19", - "ff6b12b6-7733-476d-a081-32904abff547", - "ffa809d2-47c7-45c6-b221-7c9d2478caa6", - "ffac7235-fb12-4e0d-ac86-c608d45f43c3" - ] -} \ No newline at end of file diff --git a/test/indexer/data/7a330531-ec7f-5aee-84d4-2ba24d66e93b.dss.hca.json b/test/indexer/data/7a330531-ec7f-5aee-84d4-2ba24d66e93b.dss.hca.json deleted file mode 100644 index d77b018824..0000000000 --- a/test/indexer/data/7a330531-ec7f-5aee-84d4-2ba24d66e93b.dss.hca.json +++ /dev/null @@ -1,568 +0,0 @@ -{ - "manifest": { - "analysis_file/caf6d2a8-2272-5689-b3d8-9c97370d6c29": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "4383f7cb", - "indexed": false, - "name": "AP3_file.h5ad", - "s3_etag": "9ed1c14b7774f9335f748a6e3faf6ed9", - "sha1": "9ba615680ae492362a33aebc776a03135e952e0a", - "sha256": "9bc52ec71decb9f571a710faaf98781a061d4d6798aa92a0403bffc6d530c0d0", - "size": 11, - "uuid": "0ba8d3b7-c002-5124-a35b-edd9badd198a", - "version": "2021-01-01T00:00:00.000000Z" - } - }, - "metadata": { - "project/90bf705c-d891-5ce2-aa54-094488b445c6": { - "array_express_accessions": [ - "E-MTAB-10026" - ], - "contributors": [ - { - "corresponding_contributor": true, - "email": "m.a.haniffa@ncl.ac.uk", - "institution": "Newcastle University", - "name": "Muzlifah,,Hannifa", - "project_role": { - "text": "principal investigator" - } - } - ], - "dbgap_accessions": [ - "phs001997.v1.p1", - "phs001836" - ], - "describedBy": "https://schema.staging.data.humancellatlas.org/type/project/17.0.0/project", - "ega_accessions": [ - "EGAS00000000001", - "EGAD00000000002" - ], - "estimated_cell_count": 10000, - "funders": [ - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome Human Cell Atlas Strategic Science Support" - }, - { - "grant_id": "WT107931/Z/15/Z", - "organization": "Wellcome" - }, - { - "grant_id": "206328/Z/17/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S036113/1", - "organization": "MRC" - }, - { - "grant_id": "WT206194", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S0358421/1", - "organization": "MRC" - }, - { - "grant_id": "C9545/A29580", - "organization": "CRUK" - }, - { - "grant_id": "21777", - "organization": "Versus Arthiritis Cure Challenge Research Grant" - }, - { - "grant_id": "RP-2017-08-ST2-002", - "organization": "NIHR" - }, - { - "grant_id": "21355/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "2017-174169", - "organization": "CZI" - }, - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/5005579/1", - "organization": "UK Regenerative Medicine Platform" - }, - { - "grant_id": "CL-2017-01-004", - "organization": "NIHR" - }, - { - "grant_id": "ME 5209/1-1", - "organization": "DFG Research Fellowship" - }, - { - "grant_id": "21115", - "organization": "Wellcome" - } - ], - "project_core": { - "project_description": "The COVID-19 pandemic, caused by SARS coronavirus 2 (SARS-CoV-2), has resulted in excess morbidity and mortality as well as economic decline. To characterise the systemic host immune response to SARS-CoV-2, we performed single-cell RNA-sequencing coupled with analysis of cell surface proteins, providing molecular profiling of over 800,000 peripheral blood mononuclear cells from a cohort of 130 patients with COVID-19. Our cohort, from three UK centres, spans the spectrum of clinical presentations and disease severities ranging from asymptomatic to critical. Three control groups were included: healthy volunteers, patients suffering from a non-COVID-19 severe respiratory illness and healthy individuals administered with intravenous lipopolysaccharide to model an acute inflammatory response. Full single cell transcriptomes coupled with quantification of 188 cell surface proteins, and T and B lymphocyte antigen receptor repertoires have provided several insights into COVID-19: 1. a new non-classical monocyte state that sequesters platelets and replenishes the alveolar macrophage pool; 2. platelet activation accompanied by early priming towards megakaryopoiesis in immature haematopoietic stem/progenitor cells and expansion of megakaryocyte-primed progenitors; 3. increased clonally expanded CD8+ effector:effector memory T cells, and proliferating CD4+ and CD8+ T cells in patients with more severe disease; and 4. relative increase of IgA plasmablasts in asymptomatic stages that switches to expansion of IgG plasmablasts and plasma cells, accompanied with higher incidence of BCR sharing, as disease severity increases. All data and analysis results are available for interrogation and data mining through an intuitive web portal. Together, these data detail the cellular processes present in peripheral blood during an acute immune response to COVID-19, and serve as a template for multi-omic single cell data integration across multiple centers to rapidly build powerful resources to help combat diseases such as COVID-19.", - "project_short_name": "Covid19PBMC", - "project_title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres" - }, - "provenance": { - "document_id": "90bf705c-d891-5ce2-aa54-094488b445c6", - "schema_major_version": 17, - "schema_minor_version": 0, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "publications": [ - { - "authors": [ - "Muzlifa Hannifa" - ], - "doi": "10.1101/2021.01.13.21249725", - "official_hca_publication": true, - "pmid": 33879890, - "title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres", - "url": "https://www.medrxiv.org/content/10.1101/2021.01.13.21249725v1.full" - } - ], - "schema_type": "project" - }, - "process/37e91a9f-b04e-5313-bbc0-4c394406247e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "37e91a9f-b04e-5313-bbc0-4c394406247e", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/7a330531-ec7f-5aee-84d4-2ba24d66e93b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "7a330531-ec7f-5aee-84d4-2ba24d66e93b", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/b0092a47-b19d-5b34-b004-cb8edd8c625b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "b0092a47-b19d-5b34-b004-cb8edd8c625b", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/bd6a4a38-c44b-5d17-b2b1-d0d4c4531bf0": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "bd6a4a38-c44b-5d17-b2b1-d0d4c4531bf0", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "cell_suspension/119c4135-7b77-5003-a150-f052e22c6834": { - "biomaterial_core": { - "biomaterial_id": "AP2CS_pre", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "estimated_cell_count": 40000, - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "provenance": { - "document_id": "119c4135-7b77-5003-a150-f052e22c6834", - "schema_major_version": 13, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "selected_cell_types": [ - { - "ontology": "CL:2000001", - "ontology_label": "peripheral blood mononuclear cell", - "text": "peripheral blood mononuclear cell" - } - ] - }, - "cell_suspension/6ff38054-9296-5d4c-b238-6a3b01a15175": { - "biomaterial_core": { - "biomaterial_id": "AP3CS", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "estimated_cell_count": 20000, - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "provenance": { - "document_id": "6ff38054-9296-5d4c-b238-6a3b01a15175", - "schema_major_version": 13, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "selected_cell_types": [ - { - "ontology": "CL:2000001", - "ontology_label": "peripheral blood mononuclear cell", - "text": "peripheral blood mononuclear cell" - } - ] - }, - "analysis_file/caf6d2a8-2272-5689-b3d8-9c97370d6c29": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/6.5.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "count matrix", - "text": "count matrix" - } - ], - "file_name": "AP3_file.h5ad", - "file_source": "Contributor", - "format": "h5ad" - }, - "matrix_cell_count": 15000, - "provenance": { - "document_id": "caf6d2a8-2272-5689-b3d8-9c97370d6c29", - "schema_major_version": 6, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_protocol/811adf54-7f27-5aec-9ed7-c6084c4c3a1b": { - "computational_method": "10x v3", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/analysis/10.0.0/analysis_protocol", - "matrix": { - "data_normalization_methods": [ - "CPM (counts per million)", - "Downsampling" - ], - "derivation_process": [ - "alignment" - ] - }, - "protocol_core": { - "protocol_description": "Newcastle: Scrublet (v0.2.1) was applied to each sample to generate a doublet score. These formed a bimodal distribution so the tool's automatic threshold was applied. Cambridge: Non-empty droplets were called within each multiplexed pool of donors using the emptyDrops function implemented in the Bioconductor package DropletUtils, using a UMI threshold of 100 and FDR of 1%. The probability of being a doublet was estimated for each cell per sample (that is one 10x lane) using the \"doubletCells\" function in scran based on highly variable genes (HVGs). Next, we used \"cluster_walktrap\" on the SNN-Graph that was computed on HVGs to form highly resolved clusters per sample. Per-sample clusters with either a median doublet score greater than the median + 2.5 x MAD or clusters containing more than the median + 2.5 MAD genotype doublets were tagged as doublets. This was followed by a second round of highly-resolved clustering across the whole data set, in which again cells belonging to clusters with a high proportion (> 60%) of cells previously labelled as doublets were also defined as doublets. UCL/Sanger: For pooled donor CITE-seq samples, the donor ID of each cell was determined by genotype-based demultiplexing using souporcell version 2. Souporcell analyses were performed with 'skip_remap' enabled and a set of known donor genotypes given under the 'common_variants' parameter. The donor ID of each souporcell genotype cluster was annotated by comparing each souporcell genotype to the set of known genotypes. Droplets that contained more than one genotype according to souporcell were flagged as 'ground-truth' doublets for heterotypic doublet identification. Ground-truth doublets were used by DoubletFinder 2.0.3 to empirically determine an optimal 'pK' value for doublet detection. DoubletFinder analysis was performed on each sample separately using 10 principal components, a 'pN' value of 0.25, and the 'nExp' parameter estimated from the fraction of ground-truth doublets and the number of pooled donors. Combined raw data from the three centres was filtered to remove those that expressed fewer than 200 genes and >10% mitochondrial reads. Data was normalised (scanpy: normalize_total), log+1 corrected (scanpy: log1p) and highly variable genes identified using the Seurat vst algorithm (scanpy: highly_variable_genes). Harmony was used to adjust principal components by sample ID and used to generate the neighbourhood graph and embedded using UMAP. Clustering was performed using the Leiden algorithm with an initial resolution of 3. For initial clustering, differentially expressed genes were calculated using Wilcoxon rank-sum test.", - "protocol_id": "Combined_AnalysisProt", - "protocol_name": "Combined analysis protocol" - }, - "provenance": { - "document_id": "811adf54-7f27-5aec-9ed7-c6084c4c3a1b", - "schema_major_version": 10, - "schema_minor_version": 0, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol", - "type": { - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation", - "text": "enzymatic dissociation" - } - }, - "library_preparation_protocol/767282b2-2fc1-5559-b020-29686b810206": { - "cell_barcode": { - "barcode_length": 16, - "barcode_offset": 0, - "barcode_read": "Read 1" - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/sequencing/6.3.1/library_preparation_protocol", - "end_bias": "3 prime tag", - "input_nucleic_acid_molecule": { - "text": "polyA RNA" - }, - "library_construction_method": { - "ontology": "EFO:0009922", - "ontology_label": "10x 3' v3", - "text": "10xV3" - }, - "nucleic_acid_source": "single cell", - "protocol_core": { - "protocol_description": "Half a million viable cells were resuspended in 25 \u0152\u00bal of FACS buffer and incubated with 2.5 \u0152\u00bal of Human TruStain FcX\u201a\u00d1\u00a2 Fc Blocking Reagent (BioLegend 422302) for 10 min at 4oC. The TotalSeq-C\u201a\u00d1\u00a2 antibody cocktail (BioLegend 99813) was centrifuged at 14,000g at 4\u02daC for 1 min, resuspended in 52ul of FACS buffer, incubated at room temperature for 5 minutes and centrifuged at 14,000g at 4\u00ac\u221eC for 10 min. 25ul were subsequently added to each sample pool and incubated for 30 min at 4\u02daC in the dark. Pools were washed 3 times with 27 volumes (1.4 ml) of FACS buffer, followed by centrifugation at 500 g for 5 minutes. The pellet was resuspended in 62.5 \u00b5l of 1 x PBS + 0.04 % BSA (Ambion, #AM2616), filtered through a 40 \u0152\u00bam cell strainer (Flowmi H13680-0040) and the viability of each sample pool was assessed. 50,000 live cells (up to a maximum of 60,000 total cells) for each pool were processed using Single Cell VDJ 5' version 1.1 (1000020) together with Single Cell 5' Feature Barcode library kit (1000080), Single Cell V(D)J Enrichment Kit, Human B Cells (1000016) and Single Cell V(D)J Enrichment Kit, Human T Cells (1000005) (10x Genomics) according to the manufacturer's protocols. The samples were subjected to 12 cycles of cDNA amplification and 8 cycles for the cell surface protein library construction. Following this, the libraries were processed according to the manufacturer's protocol. Libraries were pooled per sample using a ratio 9:2.4:1:0.6 for gene expression, cell surface, TCR enriched and BCR enriched libraries.", - "protocol_id": "Cambridge_LibraryPrep", - "protocol_name": "Cambridge SingleCell VDJ 5' 1.1" - }, - "provenance": { - "document_id": "767282b2-2fc1-5559-b020-29686b810206", - "schema_major_version": 6, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol", - "strand": "first", - "umi_barcode": { - "barcode_length": 12, - "barcode_offset": 16, - "barcode_read": "Read 1" - } - }, - "specimen_from_organism/3bee0c9a-aced-52f2-b97f-89518f826b36": { - "biomaterial_core": { - "biomaterial_id": "AP2_specimen", - "biomaterial_name": "AP2_specimen", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/10.5.0/specimen_from_organism", - "diseases": [ - { - "ontology": "MONDO:0100096", - "ontology_label": "COVID-19", - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "organ": { - "ontology": "UBERON:0000178", - "ontology_label": "blood", - "text": "blood" - }, - "provenance": { - "document_id": "3bee0c9a-aced-52f2-b97f-89518f826b36", - "schema_major_version": 10, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial" - }, - "enrichment_protocol/46435803-7ee8-5157-8569-8a61ad50c315": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "method": { - "ontology": "EFO:0009337", - "ontology_label": "cell size selection", - "text": "cell size selection" - }, - "protocol_core": { - "protocol_description": "Peripheral blood mononuclear cells (PBMCs) were isolated using Leucosep tubes (Greiner Bio-One) with Histopaque 1077 (Sigma) by centrifugation at 800x g for 15 minutes at room temperature. PBMCs at the interface were collected, rinsed twice with autoMACS running buffer (Miltenyi Biotech) and cryopreserved in FBS with 10% DMSO. All samples were processed within 4 hours of collection. Purified PBMCs were thawed at 37oC, transferred to a 50 mL tube and 10 volumes of pre-warmed thawing media (IMDM (Gibco 12440-053) with 50% (v/v) FCS (not heat inactivated; Panbiotech P40-37500) and 0.1 mg/ml DNaseI (Worthington LS002139)) were added slowly and dropwise, followed by centrifugation at 500g for 5 min. The pellet was resuspended in 1 ml of FACS buffer (PBS (Sigma D8537) with 3% (v/v) heat-inactivated FCS) and viability of each sample was assessed by counting in an improved Neubauer chamber using Trypan blue. Pools of 4 samples were generated by combining 0.5 million live cells per individual (2 million live cells total). The pools were washed twice in FACS buffer (10 mL and 2 mL, respectively) followed by centrifugation for 5 min at 500 g. The pellet was then resuspended in 35 \u0152\u00bal of FACS buffer and the viability of each pool was assessed.", - "protocol_id": "Cambridge_Enrichment" - }, - "provenance": { - "document_id": "46435803-7ee8-5157-8569-8a61ad50c315", - "schema_major_version": 3, - "schema_minor_version": 1, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - }, - "donor_organism/5bc2bf2f-eb98-5510-a386-172cef38f2f2": { - "biomaterial_core": { - "biomaterial_id": "AP2", - "biomaterial_name": "Sanger_AP2", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/15.6.1/donor_organism", - "development_stage": { - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage", - "text": "human adult stage" - }, - "diseases": [ - { - "ontology": "MONDO:0100096", - "ontology_label": "COVID-19", - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "is_living": "yes", - "organism_age": "66", - "organism_age_unit": { - "ontology": "UO:0000036", - "ontology_label": "year", - "text": "year" - }, - "provenance": { - "document_id": "5bc2bf2f-eb98-5510-a386-172cef38f2f2", - "schema_major_version": 15, - "schema_minor_version": 6, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "sex": "unknown" - }, - "collection_protocol/e7f864e3-6ba7-53c8-842f-2a05cb90e1b7": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "method": { - "ontology": "EFO:0009121", - "ontology_label": "blood draw", - "text": "blood draw" - }, - "protocol_core": { - "protocol_description": "Study participants were recruited between 31/3/2020 and 20/7/2020 from patients attending Addenbrooke\u2019s Hospital with a suspected or nucleic acid amplification test (NAAT) confirmed diagnosis of COVID-19 (including point of care testing (Collier et al., 2020; Mlcochova et al., 2020)), patients admitted to Royal Papworth Hospital NHS Foundation Trust or Cambridge and Peterborough Foundation Trust with a confirmed diagnosis of COVID-19, together with Health Care Workers identified through staff screening as PCR positive for SARS-CoV-2 (Rivett et al., 2020). Controls were recruited among hospital staff attending Addenbrooke\u2019s serology screening programme, and selected to cover the whole age spectrum of COVID-19 positive study participants, across both genders. Only controls with negative serology results (45 out of 47) were subsequently included in the study. Recruitment of inpatients at Addenbrooke\u2019s Hospital and Health Care Workers was undertaken by the NIHR Cambridge Clinical Research Facility outreach team and the NIHR BioResource research nurse team. Ethical approval was obtained from the East of England \u2013 Cambridge Central Research Ethics Committee (\u201cNIHR BioResource\u201d REC ref 17/EE/0025, and \u201cGenetic variation AND Altered Leukocyte Function in health and disease - GANDALF\u201d REC ref 08/H0308/176). All participants provided informed consent. Each participant provided 27 mL of peripheral venous blood collected into a 9 mL sodium citrate tube.", - "protocol_id": "Cambridge_Collection" - }, - "provenance": { - "document_id": "e7f864e3-6ba7-53c8-842f-2a05cb90e1b7", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - } - }, - "links": { - "describedBy": "https://schema.staging.data.humancellatlas.org/system/3.1.0/links", - "links": [ - { - "inputs": [ - { - "input_id": "6ff38054-9296-5d4c-b238-6a3b01a15175", - "input_type": "cell_suspension" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "caf6d2a8-2272-5689-b3d8-9c97370d6c29", - "output_type": "analysis_file" - } - ], - "process_id": "7a330531-ec7f-5aee-84d4-2ba24d66e93b", - "process_type": "process", - "protocols": [ - { - "protocol_id": "811adf54-7f27-5aec-9ed7-c6084c4c3a1b", - "protocol_type": "analysis_protocol" - }, - { - "protocol_id": "767282b2-2fc1-5559-b020-29686b810206", - "protocol_type": "library_preparation_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "119c4135-7b77-5003-a150-f052e22c6834", - "input_type": "cell_suspension" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "6ff38054-9296-5d4c-b238-6a3b01a15175", - "output_type": "cell_suspension" - } - ], - "process_id": "b0092a47-b19d-5b34-b004-cb8edd8c625b", - "process_type": "process", - "protocols": [] - }, - { - "inputs": [ - { - "input_id": "3bee0c9a-aced-52f2-b97f-89518f826b36", - "input_type": "specimen_from_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "119c4135-7b77-5003-a150-f052e22c6834", - "output_type": "cell_suspension" - } - ], - "process_id": "bd6a4a38-c44b-5d17-b2b1-d0d4c4531bf0", - "process_type": "process", - "protocols": [ - { - "protocol_id": "46435803-7ee8-5157-8569-8a61ad50c315", - "protocol_type": "enrichment_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "5bc2bf2f-eb98-5510-a386-172cef38f2f2", - "input_type": "donor_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "3bee0c9a-aced-52f2-b97f-89518f826b36", - "output_type": "specimen_from_organism" - } - ], - "process_id": "37e91a9f-b04e-5313-bbc0-4c394406247e", - "process_type": "process", - "protocols": [ - { - "protocol_id": "e7f864e3-6ba7-53c8-842f-2a05cb90e1b7", - "protocol_type": "collection_protocol" - } - ] - } - ], - "schema_type": "links", - "schema_version": "3.1.0" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/7eb74d9f-8346-5420-b7e4-b486f99451a8.dss.hca.json b/test/indexer/data/7eb74d9f-8346-5420-b7e4-b486f99451a8.dss.hca.json deleted file mode 100644 index 2f69465e1d..0000000000 --- a/test/indexer/data/7eb74d9f-8346-5420-b7e4-b486f99451a8.dss.hca.json +++ /dev/null @@ -1,1331 +0,0 @@ -{ - "manifest": { - "sequence_file/30040306-be5c-48f9-b221-e666e279ab5b": { - "name": "Retina_Wong_scRNA_Sample4_I1.fastq.gz", - "uuid": "1985c53a-b78f-4d9e-9563-dffed8207efd", - "version": "2019-09-13T09:16:23.710869Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1110577684, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cd7ace86-c1f9-4c36-8ba0-078520babe83", - "crc32c": "3f0921bb", - "sha1": "d66799b111293bf727bca4956c419fcc3341f538", - "sha256": "fbb183a7608f5c4b98e0d9a2f4f77b843d24dcd727f0d5e4ea8111de7d9b22b2", - "s3_etag": "f393918b58d786a89c467455152aa66e-17" - }, - "sequence_file/9f8f5212-0749-460b-9a46-2949dea45d52": { - "name": "Retina_Wong_scRNA_Sample4_R2.fastq.gz", - "uuid": "5140b603-8cc1-4566-9043-e68145efbbd6", - "version": "2019-09-13T09:16:24.192766Z", - "content-type": "application/gzip; dcp-type=data", - "size": 9820193406, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7b607ae7-1136-41f7-937e-ea2c3015a949", - "crc32c": "3c380752", - "sha1": "b4c85dfc7a775102fac6b43394739dca6ff90e14", - "sha256": "76f22d617806fffc64137ef2449e1e827a6d889c0b8e6fc0e38274f68c9f556d", - "s3_etag": "012e21be88b6293dfc864c018f67ccf5-147" - }, - "analysis_file/d90280cc-a294-57de-b350-5234a5278c19": { - "name": "1116b396-448e-4dd1-b9c9-78357c511e15.loom", - "uuid": "5a11ed4f-41d1-53b4-9e62-3c0bbd04b4b0", - "version": "2021-02-03T21:08:31.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1016626791, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_55cb0c0b-e617-491a-b055-a7cd1a438c96", - "crc32c": "9d1f0a8c", - "sha256": "733a4a7db49e1ef08a7f5631f3e658f49233c1d468d6d3da0a3f7c02621fab27" - }, - "analysis_file/b949e4b6-c3fb-58b4-865b-40cb3ef2b6c6": { - "name": "1116b396-448e-4dd1-b9c9-78357c511e15.bam", - "uuid": "640e64f1-6ada-5d12-a772-fe4ed4eeecea", - "version": "2021-02-03T20:52:27.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 13010167180, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4bc6a861-4ecb-4758-ba27-8326821d6be5", - "crc32c": "2ad80e5f", - "sha256": "45e831be417a5bbf75b7d0a0a1a024ac9d9f22971115fd56f5b0e5b346e87a71" - }, - "sequence_file/39255288-6791-45b0-ac7e-b3ef4c981a3b": { - "name": "Retina_Wong_scRNA_Sample4_R1.fastq.gz", - "uuid": "79f589cb-32a2-4ba6-a091-7c5d820d02df", - "version": "2019-09-13T09:16:23.982952Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2950925436, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_96e58cce-a961-48c5-b4fd-84f4e994e10a", - "crc32c": "068824ae", - "sha1": "da3a5a63315c5c3e8f24e2f59d291ee1923306f8", - "sha256": "bb61a115aed93057cbd1dc8fb08e68ed5615cc8dc926a9b3336ea0ad58eef648", - "s3_etag": "be870140031523af537bbb3861fff77e-44" - } - }, - "metadata": { - "analysis_protocol/289ec28b-ce11-5be8-89ab-92fbceb874a0": { - "computational_method": "Optimus", - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/9.1.0/analysis_protocol", - "protocol_core": { - "protocol_id": "optimus_v4.2.2" - }, - "provenance": { - "document_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "submission_date": "2021-02-26T16:30:00.000000Z", - "update_date": "2021-02-26T16:30:00.000000Z" - }, - "schema_type": "protocol", - "type": { - "text": "analysis_protocol" - } - }, - "sequence_file/30040306-be5c-48f9-b221-e666e279ab5b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample4_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "dde40c4018ccc7f6991906680cdd9c81" - }, - "library_prep_id": "Retina_2_repB", - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "provenance": { - "document_id": "30040306-be5c-48f9-b221-e666e279ab5b", - "submission_date": "2019-09-13T08:37:50.581Z", - "update_date": "2019-09-13T08:43:56.724Z" - } - }, - "sequence_file/39255288-6791-45b0-ac7e-b3ef4c981a3b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample4_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "98e8d68d9724a4ced38629d66a447d60" - }, - "library_prep_id": "Retina_2_repB", - "read_index": "read1", - "lane_index": 3, - "read_length": 26, - "provenance": { - "document_id": "39255288-6791-45b0-ac7e-b3ef4c981a3b", - "submission_date": "2019-09-13T08:37:50.590Z", - "update_date": "2019-09-13T08:54:00.067Z" - } - }, - "sequence_file/9f8f5212-0749-460b-9a46-2949dea45d52": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Retina_Wong_scRNA_Sample4_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "FASTQ file generated by cellranger mkfastq", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "908d9684249467698a6fd2e2c5f61c44" - }, - "library_prep_id": "Retina_2_repB", - "read_index": "read2", - "lane_index": 3, - "read_length": 98, - "provenance": { - "document_id": "9f8f5212-0749-460b-9a46-2949dea45d52", - "submission_date": "2019-09-13T08:37:50.599Z", - "update_date": "2019-09-13T08:57:01.788Z" - } - }, - "analysis_file/b949e4b6-c3fb-58b4-865b-40cb3ef2b6c6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "1116b396-448e-4dd1-b9c9-78357c511e15.bam", - "format": "bam" - }, - "provenance": { - "document_id": "b949e4b6-c3fb-58b4-865b-40cb3ef2b6c6", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/d90280cc-a294-57de-b350-5234a5278c19": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "1116b396-448e-4dd1-b9c9-78357c511e15.loom", - "format": "loom" - }, - "provenance": { - "document_id": "d90280cc-a294-57de-b350-5234a5278c19", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "schema_type": "file" - }, - "project/8185730f-4113-40d3-9cc3-929271784c2b": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "WongAdultRetina", - "project_title": "A single-cell transcriptome atlas of the adult human retina", - "project_description": "The retina is a specialized neural tissue that senses light and initiates image processing. Although the functional organization of specific retina cells has been well studied, the molecular profile of many cell types remains unclear in humans. To comprehensively profile the human retina, we performed single\u2010cell RNA sequencing on 20,009 cells from three donors and compiled a reference transcriptome atlas. Using unsupervised clustering analysis, we identified 18 transcriptionally distinct cell populations representing all known neural retinal cells: rod photoreceptors, cone photoreceptors, M\u00fcller glia, bipolar cells, amacrine cells, retinal ganglion cells, horizontal cells, astrocytes, and microglia. Our data captured molecular profiles for healthy and putative early degenerating rod photoreceptors, and revealed the loss of\u00a0MALAT1\u00a0expression with longer post\u2010mortem time, which potentially suggested a novel role of\u00a0MALAT1\u00a0in rod photoreceptor degeneration. We have demonstrated the use of this retina transcriptome atlas to benchmark pluripotent stem cell\u2010derived cone photoreceptors and an adult M\u00fcller glia cell line. This work provides an important reference with unprecedented insights into the transcriptional landscape of human retinal cells, which is fundamental to understanding retinal biology and disease." - }, - "supplementary_links": [ - "https://github.com/satijalab/seurat", - "https://github.com/powellgenomicslab/ascend", - "https://github.com/IMB-Computational-Genomics-Lab/scGPS" - ], - "array_express_accessions": [ - "E-MTAB-7316" - ], - "contributors": [ - { - "name": "Samuel,W,Lukowski", - "email": "s.lukowski@imb.uq.edu.au", - "institution": "University of Queensland", - "laboratory": "Institute for Molecular Bioscience", - "address": "306 Carmody Rd, St Lucia QLD 4072", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0002-8598-7902" - }, - { - "name": "Camden,Y,Lo", - "email": "lo.camden@gmail.com", - "institution": "Monash University", - "address": "Wellington Rd, Clayton VIC 3800", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Alexei,A,Sharov", - "email": "sharoval@mail.nih.gov", - "institution": "National Institutes of Health", - "laboratory": "National Institute for Aging", - "address": "251 Bayview Blvd, Baltimore, MD 21224", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Quan,,Nguyen", - "email": "quan.nguyen@imb.uq.edu.au", - "institution": "University of Queensland", - "laboratory": "Institute for Molecular Bioscience", - "address": "306 Carmody Rd, St Lucia QLD 4072", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0001-7870-5703" - }, - { - "name": "Lyujie,,Fang", - "email": "fanglyujie@foxmail.com", - "institution": "Centre for Eye Research Australia", - "laboratory": "Cellular Reprogramming Unit", - "address": "Melbourne, Vic", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-2286-0023" - }, - { - "name": "Sandy,SC,Hung", - "email": "sandy.hung@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Clinical Genetics Unit", - "address": "Melbourne, Vic", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Ling,,Zhu", - "email": "ling.zhu@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0003-0776-1630" - }, - { - "name": "Ting,,Zhang", - "email": "Ting.zhang@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0001-8074-8999" - }, - { - "name": "Ulrike,,Gr\u00fcnert", - "email": "ulrike.grunert@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Tu,,Nguyen", - "email": "thanhn3@student.unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Cellular Reprogramming Unit", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-6165-1822" - }, - { - "name": "Anne,,Senabouth", - "email": "a.senabouth@imb.uq.edu.au", - "institution": "University of Queensland", - "laboratory": "Institute for Molecular Bioscience", - "address": "306 Carmody Rd, St Lucia QLD 4072", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Jafar,S,Jabbari", - "email": "Jafar.Jabbari@agrf.org.au", - "institution": "Australian Genome Research Facility", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Emily,,Welby", - "email": "emily.welby@nih.gov", - "institution": "UCL Great Ormond Street Institute of Child Health", - "laboratory": "Stem Cells and Regenerative Medicine Section, NIHR Great Ormond Street Hospital Biomedical Research Centre", - "address": "London", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Jane,C,Sowden", - "email": "j.sowden@ucl.ac.uk", - "institution": "UCL Great Ormond Street Institute of Child Health", - "laboratory": "Stem Cells and Regenerative Medicine Section, NIHR Great Ormond Street Hospital Biomedical Research Centre", - "address": "London", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Hayley,S,Nguyen", - "email": "hayley.waugh229@gmail.com", - "institution": "Centre for Eye Research Australia", - "laboratory": "Lions Eye Donation Services", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Eye bank coordinator", - "ontology": "EFO:0001729", - "ontology_label": "biomaterial provider" - } - }, - { - "name": "Adrienne,,Mackey", - "email": "amackey@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Lions Eye Donation Services", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Eye bank coordinator", - "ontology": "EFO:0001729", - "ontology_label": "biomaterial provider" - } - }, - { - "name": "Graeme,,Pollock", - "email": "gpollock@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Lions Eye Donation Services", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Eye bank director", - "ontology": "EFO:0001729", - "ontology_label": "biomaterial provider" - } - }, - { - "name": "Trevor,D,Lamb", - "email": "trevor.lamb@anu.edu.au", - "institution": "The Australian National University", - "laboratory": "John Curtin School of Medical Research", - "address": "Canberra, ACT", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Peng-Yuna,,Wang", - "email": "pengyuanwang@swin.edu.au", - "institution": "Swinburne University of Technology", - "laboratory": "Department of Chemistry and Biotechnology", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Alex,W,Hewitt", - "email": "alex.hewitt@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Clinical Genetics Unit", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Mark,C,Gillies", - "email": "mark.gillies@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Joseph,E,Powell", - "email": "j.powell@garvan.org.au", - "institution": "Garvan Institute of Medical Research", - "laboratory": "Garvan\u2010Weizmann Centre for Cellular Genomics", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0001-9031-6356" - }, - { - "name": "Raymond,CB,Wong", - "email": "wongcb@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Cellular Reprogramming Unit", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": true, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-8092-9455" - }, - { - "name": "Marion,F,Shadbolt", - "email": "mshadbolt@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - }, - "orcid_id": "0000-0001-7505-5418" - } - ], - "funders": [ - { - "grant_title": "Building a reference transcriptomic atlas for the human retina at a single cell level", - "grant_id": "not provided", - "organization": "Opthalmic Research Institute of Australia" - }, - { - "grant_title": "LOUISA JEAN de BRETTEVILLE BEQUEST", - "grant_id": "not provided", - "organization": "University of Melbourne De Brettville Trust" - }, - { - "grant_id": "not provided", - "organization": "Kel and Rosie Day Foundation" - }, - { - "grant_id": "not provided", - "organization": "Great Ormond Street Hospital Children's Charity" - } - ], - "publications": [ - { - "authors": [ - "Lukowski SW", - "Lo CY", - "Sharov AA", - "Nguyen Q", - "Fang L", - "Hung SS", - "Zhu L", - "Zhang T", - "Gr\u00fcnert U", - "Nguyen T", - "Senabouth A", - "Jabbari JS", - "Welby E", - "Sowden JC", - "Waugh HS", - "Mackey A", - "Pollock G", - "Lamb TD", - "Wang PY", - "Hewitt AW", - "Gillies MC", - "Powell JE", - "Wong RC" - ], - "title": "A single\u2010cell transcriptome atlas of the adult human retina", - "doi": "10.15252/embj.2018100811", - "pmid": 31436334, - "url": "https://www.ncbi.nlm.nih.gov/pubmed/31436334" - } - ], - "provenance": { - "document_id": "8185730f-4113-40d3-9cc3-929271784c2b", - "submission_date": "2019-09-13T08:37:50.384Z", - "update_date": "2019-09-13T08:37:53.825Z" - } - }, - "analysis_process/3d7a4690-8760-491c-98f9-9a1aea3f79b5": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_96e58cce-a961-48c5-b4fd-84f4e994e10a']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_7b607ae7-1136-41f7-937e-ea2c3015a949']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_cd7ace86-c1f9-4c36-8ba0-078520babe83']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "1116b396-448e-4dd1-b9c9-78357c511e15" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "3d7a4690-8760-491c-98f9-9a1aea3f79b5" - }, - "provenance": { - "document_id": "3d7a4690-8760-491c-98f9-9a1aea3f79b5", - "submission_date": "2020-02-03T10:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-03T20:51:26.549Z", - "stop_time": "2021-02-03T20:51:55.360Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-03T20:51:26.548Z", - "stop_time": "2021-02-03T20:52:01.390Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-03T20:51:09.209Z", - "stop_time": "2021-02-03T20:51:25.367Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-03T20:50:50.849Z", - "stop_time": "2021-02-03T20:51:07.330Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:29.609Z", - "stop_time": "2021-02-03T20:52:16.356Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 536 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-FastqProcessing/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:49:01.334Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-03T20:51:09.209Z", - "stop_time": "2021-02-03T20:51:25.367Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-03T20:52:30.798Z", - "stop_time": "2021-02-03T20:52:43.323Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeCountFiles/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:52:43.039Z", - "stop_time": "2021-02-03T20:52:55.334Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-03T20:52:36.919Z", - "stop_time": "2021-02-03T20:52:49.324Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeSorted/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-03T20:51:55.099Z", - "stop_time": "2021-02-03T20:52:31.358Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-ModifyGtf/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:50:16.332Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-03T20:53:11.599Z", - "stop_time": "2021-02-03T21:12:04.320Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:09.209Z", - "stop_time": "2021-02-03T20:51:28.347Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:51:09.209Z", - "stop_time": "2021-02-03T20:51:28.347Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:50:39.628Z", - "stop_time": "2021-02-03T20:50:49.329Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-03T20:52:57.319Z", - "stop_time": "2021-02-03T20:53:10.321Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-03T20:49:04.769Z", - "stop_time": "2021-02-03T20:49:25.374Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-03T20:50:18.209Z", - "stop_time": "2021-02-03T20:50:37.340Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-checkOptimusInput/stderr", - "log_out": "gs://fc-2832b579-dae3-4b9c-82a4-07556a33cfb9/65e495fa-37cb-4667-b60a-5c7630644eb7/Optimus/3d7a4690-8760-491c-98f9-9a1aea3f79b5/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-03T20:48:48.448Z", - "stop_time": "2021-02-03T20:48:58.319Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-03T20:48:45.893Z", - "timestamp_stop_utc": "2021-02-03T21:12:05.952Z", - "type": { - "text": "analysis" - } - }, - "cell_suspension/932000d6-c63b-40f0-bdd5-469fa4db8be2": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SC-L-B", - "biomaterial_name": "SC left retina B", - "biomaterial_description": "Library B for SC left retina", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10000, - "provenance": { - "document_id": "932000d6-c63b-40f0-bdd5-469fa4db8be2", - "submission_date": "2019-09-13T08:37:50.444Z", - "update_date": "2019-09-13T08:37:53.868Z" - } - }, - "process/1116b396-448e-4dd1-b9c9-78357c511e15": { - "process_core": { - "process_id": "Retina_2_repB" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "1116b396-448e-4dd1-b9c9-78357c511e15", - "submission_date": "2019-09-13T08:37:50.700Z", - "update_date": "2019-09-13T08:37:57.269Z" - } - }, - "process/a5e37780-0b71-4610-8a7c-26142dedfcec": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a5e37780-0b71-4610-8a7c-26142dedfcec", - "submission_date": "2019-09-13T08:37:50.641Z", - "update_date": "2019-09-13T08:37:57.174Z" - } - }, - "process/b360251f-7550-4c08-b576-781858554ea1": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "b360251f-7550-4c08-b576-781858554ea1", - "submission_date": "2019-09-13T08:37:50.665Z", - "update_date": "2019-09-13T08:37:57.252Z" - } - }, - "enrichment_protocol/ba595d79-aa43-4e3a-ad10-89f92ef4f22f": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "wong-cell-size-selection", - "protocol_name": "MACS Smart Strainer filtering", - "protocol_description": "The dissociated neural retina was filtered to ensure single cell suspension using a 30\u00b5m MACS Smart Strainer (Miltenyi)" - }, - "method": { - "text": "cell size selection", - "ontology": "EFO:0009337", - "ontology_label": "cell size selection" - }, - "maximum_size": 30, - "provenance": { - "document_id": "ba595d79-aa43-4e3a-ad10-89f92ef4f22f", - "submission_date": "2019-09-13T08:37:50.476Z", - "update_date": "2019-09-13T08:37:53.832Z" - } - }, - "specimen_from_organism/edc72947-b776-4150-8bfe-b7331acfa66f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SC-L", - "biomaterial_name": "SC retina", - "biomaterial_description": "SC donor retina (left eye)", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "left eye", - "ontology": "UBERON:0000970", - "ontology_label": "eye" - }, - "organ_parts": [ - { - "text": "Neural retina", - "ontology": "UBERON:0003902", - "ontology_label": "retinal neural layer" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "collection_time": "2017-12-06", - "provenance": { - "document_id": "edc72947-b776-4150-8bfe-b7331acfa66f", - "submission_date": "2019-09-13T08:37:50.417Z", - "update_date": "2019-09-13T08:37:53.864Z" - } - }, - "donor_organism/b8049daa-7458-47bf-8ec2-3f5c56d2cb34": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SC", - "biomaterial_name": "Donor", - "biomaterial_description": "post-mortem donor", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "no", - "development_stage": { - "text": "Adult", - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage" - }, - "organism_age": "42", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "diseases": [ - { - "text": "normal ocular history", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "b8049daa-7458-47bf-8ec2-3f5c56d2cb34", - "submission_date": "2019-09-13T08:37:50.398Z", - "update_date": "2019-09-13T08:37:53.853Z" - } - }, - "sequencing_protocol/a166be3d-6e84-4058-a1bd-edf90cf3ee88": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HiSeq2500_200cycle", - "protocol_name": "200 cycle", - "protocol_description": "Single\u2010cell libraries were sequenced in 100\u00a0bp paired\u2010end configuration using an Illumina Hi\u2010Seq 2500 at the Australian Genome Research Facility" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565", - "ontology_label": "Illumina HiSeq 2500" - }, - "paired_end": false, - "method": { - "text": "3' single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "10x": { - "fastq_method": "mkfastq", - "fastq_method_version": "cellranger 2.2.0", - "drop_uniformity": true - }, - "provenance": { - "document_id": "a166be3d-6e84-4058-a1bd-edf90cf3ee88", - "submission_date": "2019-09-13T08:37:50.490Z", - "update_date": "2019-09-13T08:37:53.815Z" - } - }, - "dissociation_protocol/2509f42a-0328-4e33-8d21-79d37560d846": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "wong-retina-dissociation", - "protocol_name": "Retina dissociation", - "protocol_description": "Neural retina samples were dissociated into single cells in dissociation solution (2mg/ml papain, 120 Units/ml DNase I) for 15 minutes . The extracted neural retinal samples were dissociated and processed for scRNA-seq right away." - }, - "method": { - "text": "enzymatic dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "provenance": { - "document_id": "2509f42a-0328-4e33-8d21-79d37560d846", - "submission_date": "2019-09-13T08:37:50.470Z", - "update_date": "2019-09-13T08:37:53.822Z" - } - }, - "library_preparation_protocol/fa99959f-faa2-4d69-a092-48333e59f5f3": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "10X_3GEX_v2", - "protocol_name": "10X V2 library preparation", - "protocol_description": "10X Genomics 3' Gene Expression protocol, version 2 chemistry" - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 26 - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_method": { - "text": "10X v2 sequencing", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "first", - "cdna_library_amplification_method": { - "text": "PCR", - "ontology": "OBI:0000415", - "ontology_label": "PCR" - }, - "provenance": { - "document_id": "fa99959f-faa2-4d69-a092-48333e59f5f3", - "submission_date": "2019-09-13T08:37:50.482Z", - "update_date": "2019-09-13T08:37:53.809Z" - } - }, - "collection_protocol/3030903f-4a4b-4b30-ab93-3b10183181e0": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Wong-retina collection", - "protocol_name": "Retina collection", - "protocol_description": "Post-mortem eye globes were collected by the Lions Eye Donation Service (Royal Victorian Eye and Ear Hospital) for donor cornea transplantation. The remaining eye globes were used for dissection to extract the neural retina. The lens, iris and vitreous were removed and the choroid/RPE layers were excluded from the sample collection." - }, - "method": { - "text": "collecting specimen from organ postmortem", - "ontology": "EFO:0009627", - "ontology_label": "collecting specimen from organ postmortem" - }, - "provenance": { - "document_id": "3030903f-4a4b-4b30-ab93-3b10183181e0", - "submission_date": "2019-09-13T08:37:50.464Z", - "update_date": "2019-09-13T08:37:53.821Z" - } - } - }, - "links": { - "schema_type": "links", - "schema_version": "3.0.0", - "describedBy": "https://schema.humancellatlas.org/system/3.0.0/links", - "links": [ - { - "inputs": [ - { - "input_id": "39255288-6791-45b0-ac7e-b3ef4c981a3b", - "input_type": "sequence_file" - }, - { - "input_id": "9f8f5212-0749-460b-9a46-2949dea45d52", - "input_type": "sequence_file" - }, - { - "input_id": "30040306-be5c-48f9-b221-e666e279ab5b", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "d90280cc-a294-57de-b350-5234a5278c19", - "output_type": "analysis_file" - }, - { - "output_id": "b949e4b6-c3fb-58b4-865b-40cb3ef2b6c6", - "output_type": "analysis_file" - } - ], - "process_id": "3d7a4690-8760-491c-98f9-9a1aea3f79b5", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "1116b396-448e-4dd1-b9c9-78357c511e15", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "932000d6-c63b-40f0-bdd5-469fa4db8be2" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "30040306-be5c-48f9-b221-e666e279ab5b" - }, - { - "output_type": "sequence_file", - "output_id": "39255288-6791-45b0-ac7e-b3ef4c981a3b" - }, - { - "output_type": "sequence_file", - "output_id": "9f8f5212-0749-460b-9a46-2949dea45d52" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "fa99959f-faa2-4d69-a092-48333e59f5f3" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "a166be3d-6e84-4058-a1bd-edf90cf3ee88" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "b360251f-7550-4c08-b576-781858554ea1", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "edc72947-b776-4150-8bfe-b7331acfa66f" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "932000d6-c63b-40f0-bdd5-469fa4db8be2" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "2509f42a-0328-4e33-8d21-79d37560d846" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ba595d79-aa43-4e3a-ad10-89f92ef4f22f" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "a5e37780-0b71-4610-8a7c-26142dedfcec", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "b8049daa-7458-47bf-8ec2-3f5c56d2cb34" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "edc72947-b776-4150-8bfe-b7331acfa66f" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "3030903f-4a4b-4b30-ab93-3b10183181e0" - } - ] - } - ] - }, - "stitched": [ - "1116b396-448e-4dd1-b9c9-78357c511e15", - "1985c53a-b78f-4d9e-9563-dffed8207efd", - "2509f42a-0328-4e33-8d21-79d37560d846", - "30040306-be5c-48f9-b221-e666e279ab5b", - "3030903f-4a4b-4b30-ab93-3b10183181e0", - "39255288-6791-45b0-ac7e-b3ef4c981a3b", - "5140b603-8cc1-4566-9043-e68145efbbd6", - "79f589cb-32a2-4ba6-a091-7c5d820d02df", - "932000d6-c63b-40f0-bdd5-469fa4db8be2", - "9f8f5212-0749-460b-9a46-2949dea45d52", - "a166be3d-6e84-4058-a1bd-edf90cf3ee88", - "a5e37780-0b71-4610-8a7c-26142dedfcec", - "b360251f-7550-4c08-b576-781858554ea1", - "b8049daa-7458-47bf-8ec2-3f5c56d2cb34", - "ba595d79-aa43-4e3a-ad10-89f92ef4f22f", - "edc72947-b776-4150-8bfe-b7331acfa66f", - "fa99959f-faa2-4d69-a092-48333e59f5f3" - ] -} \ No newline at end of file diff --git a/test/indexer/data/80baee6e-00a5-4fdc-bfe3-d339ff8a7178.dss.hca.json b/test/indexer/data/80baee6e-00a5-4fdc-bfe3-d339ff8a7178.dss.hca.json deleted file mode 100644 index b8b72ac5bd..0000000000 --- a/test/indexer/data/80baee6e-00a5-4fdc-bfe3-d339ff8a7178.dss.hca.json +++ /dev/null @@ -1,675 +0,0 @@ -{ - "manifest": { - "sequence_file/64f1a275-671c-46a2-ba7f-6647e672c8d7": { - "name": "SRR3937937_R1.fastq.gz", - "uuid": "0880fed3-ede3-4761-8555-8c159c3e800e", - "version": "2021-03-12T22:38:42.790000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 93750142, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_e2464476-c0b4-4a92-a5fe-96094905825c_6d790286-6350-4c5c-b59d-4928d0aba9c2", - "crc32c": "2176c107", - "sha1": "cdc3f58c03e9b60f44af53908a762c19b09c78c8", - "sha256": "3eb49debed92777e57fa5a5a20192d8ca99942695b1073f294921e0379dd58fb", - "s3_etag": "b408cb0c380283bb235a824a8011de87-2" - }, - "sequence_file/e27de859-4b05-43d6-8437-7f7dfc0507d1": { - "name": "SRR3937937_R2.fastq.gz", - "uuid": "8027bd7f-a3bb-4a75-97e9-1a385a158f96", - "version": "2021-03-12T22:38:42.802000Z", - "content-type": "binary/octet-stream; dcp-type=data; dcp-type=data", - "size": 101854552, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_e2464476-c0b4-4a92-a5fe-96094905825c_57e4e9ad-2bdf-49aa-9576-aa6a851534f8", - "crc32c": "2fd3d7c6", - "sha1": "3e15e91d9bc5c8932b78a4adc800708063dd5124", - "sha256": "931213e2e283ffc8272c5d51dc647040131767a495bf2412aaa8acb0e876facf", - "s3_etag": "4a55ee383287a1b4f0aa4e756178c73f-2" - } - }, - "metadata": { - "sequencing_protocol/58612e7a-c83a-4c7d-ab53-974b207291eb": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "SP_e5b905cb47a0cced7c61e4894ad47e32", - "protocol_name": "sequencing_protocol", - "protocol_description": "In total, we sequenced 4,028 single cells by using 75-bp-long paired-end reads on a NextSeq instrument (Illumina) and High-Output v2 kits (Illumina)" - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0009173", - "ontology_label": "Illumina NextSeq 500" - }, - "paired_end": true, - "method": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441", - "ontology_label": "full length single cell RNA sequencing" - }, - "provenance": { - "document_id": "58612e7a-c83a-4c7d-ab53-974b207291eb", - "submission_date": "2021-03-12T22:31:00.073Z", - "update_date": "2021-03-12T23:17:03.143Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - }, - "specimen_from_organism/5b2453cf-dffd-42e4-8868-73aec60b1418": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "D_BT_S6_tumor", - "biomaterial_name": "Glioblastoma Tumor core", - "biomaterial_description": "Tissue and cell collection of glioblastoma tumor core", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organ_parts": [ - { - "text": "Cortex", - "ontology": "UBERON:0000956", - "ontology_label": "cerebral cortex" - } - ], - "diseases": [ - { - "text": "Glioblastoma", - "ontology": "MONDO:0018177", - "ontology_label": "glioblastoma (disease)" - } - ], - "preservation_storage": { - "storage_method": "fresh", - "storage_time": 1, - "storage_time_unit": { - "text": "hour", - "ontology": "UO:0000032", - "ontology_label": "hour" - }, - "preservation_method": "fresh" - }, - "provenance": { - "document_id": "5b2453cf-dffd-42e4-8868-73aec60b1418", - "submission_date": "2021-03-12T22:28:36.842Z", - "update_date": "2021-03-12T23:11:57.552Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "process/4ce6bcb3-6402-4265-b18e-fa3ebea6e786": { - "process_core": { - "process_id": "process_id_3281" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "4ce6bcb3-6402-4265-b18e-fa3ebea6e786", - "submission_date": "2021-03-12T22:40:56.568Z", - "update_date": "2021-03-12T23:25:16.499Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/80baee6e-00a5-4fdc-bfe3-d339ff8a7178": { - "process_core": { - "process_id": "SRR3937937.1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "80baee6e-00a5-4fdc-bfe3-d339ff8a7178", - "submission_date": "2021-03-12T22:43:32.330Z", - "update_date": "2021-03-12T23:36:02.631Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/f188ad1d-17dc-4f21-a35d-c24a1d53e728": { - "process_core": { - "process_id": "process_id_7" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "f188ad1d-17dc-4f21-a35d-c24a1d53e728", - "submission_date": "2021-03-12T22:38:42.888Z", - "update_date": "2021-03-12T23:20:10.867Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "enrichment_protocol/46299069-e6aa-4b95-b134-5dcbd4685cb3": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Neurons(Thy1)", - "protocol_name": "Neurons_Thy1_protocol", - "protocol_description": "The single-cell suspension was then added to a series of plastic petri dishes pre-coated with cell-type-specific antibodies (see below) and incubated for 10\u201330 min at room temperature. Unbound cells were transferred to the subsequent Petri dish, and the dish with bound cells was rinsed eight times with PBS to wash away loosely bound contaminating cell types. The antibodies used included anti-CD45 to capture microglia and macrophages, anti-O4 hybridoma to harvest oligodendrocytes lineage cells, anti-Thy1 (CD90) to harvest neurons, anti-HepaCAM to harvest astrocytes, and Banderiaea simplicifolia lectin 1 (BSL-1) to harvest endothelial cells. Once bound to the Petri dish and rinsed, adherent cells were removed by incubating in a trypsin solution at 37\u00b0C for 5\u201310 min before gently squirting the cells off the plate. These single-cell suspensions were then transferred to a fluorescence-activated cell sorting (FACS) buffer before proceeding with single cell sorting" - }, - "markers": "Thy1", - "method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "provenance": { - "document_id": "46299069-e6aa-4b95-b134-5dcbd4685cb3", - "submission_date": "2021-03-12T22:30:59.983Z", - "update_date": "2021-03-12T23:17:03.100Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - }, - "sequence_file/64f1a275-671c-46a2-ba7f-6647e672c8d7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3937937_R1.fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "format": "fastq.gz" - }, - "read_index": "read1", - "read_length": 75, - "insdc_run_accessions": [ - "SRR3937937" - ], - "library_prep_id": "SRR3937937", - "provenance": { - "document_id": "64f1a275-671c-46a2-ba7f-6647e672c8d7", - "submission_date": "2021-03-12T22:38:42.790Z", - "update_date": "2021-03-15T17:25:16.558Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/e27de859-4b05-43d6-8437-7f7dfc0507d1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3937937_R2.fastq.gz", - "content_description": [ - { - "text": "DNA sequence", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "format": "fastq.gz" - }, - "read_index": "read2", - "read_length": 75, - "insdc_run_accessions": [ - "SRR3937937" - ], - "library_prep_id": "SRR3937937", - "provenance": { - "document_id": "e27de859-4b05-43d6-8437-7f7dfc0507d1", - "submission_date": "2021-03-12T22:38:42.802Z", - "update_date": "2021-03-15T17:23:58.691Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "dissociation_protocol/37aee665-8ee9-451c-b1ef-e998cc268481": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Cell_dissociation_2", - "protocol_name": "enzymatic protocol", - "protocol_description": "Tissue was incubated in 30 U/mL papain at 34\u00b0C for 100 min. After digestion, the tissue was washed with a protease inhibitor stock solution. The tissue was then gently triturated in order to yield a single-cell suspension." - }, - "method": { - "text": "enzymatic dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "provenance": { - "document_id": "37aee665-8ee9-451c-b1ef-e998cc268481", - "submission_date": "2021-03-12T22:30:59.855Z", - "update_date": "2021-03-12T23:17:03.053Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "dissociation_protocol/97c799c5-5db6-4d57-8a03-0fb877039255": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Cell_dissociation_1", - "protocol_name": "mechanical protocol", - "protocol_description": "In brief, the tissue was first chopped into small pieces (<1 mm3) with a #10 scalpel blade and then incubated in 30 U/mL papain at 34\u00b0C for 100 min." - }, - "method": { - "text": "mechanical protocol", - "ontology": "EFO:0009129", - "ontology_label": "mechanical protocol" - }, - "provenance": { - "document_id": "97c799c5-5db6-4d57-8a03-0fb877039255", - "submission_date": "2021-03-12T22:30:59.829Z", - "update_date": "2021-03-12T23:17:03.042Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "donor_organism/270341ef-ab2d-4e88-9ae1-b49684fc60e0": { - "biomaterial_core": { - "biomaterial_description": "adult human glioblastoma patient", - "biomaterial_id": "D_BT_S6", - "biomaterial_name": "adult human 4", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "development_stage": { - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage", - "text": "human adult stage" - }, - "diseases": [ - { - "ontology": "MONDO:0018177", - "ontology_label": "glioblastoma (disease)", - "text": "Glioblastoma" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "is_living": "yes", - "medical_history": { - "test_results": "IDH1-negative, grade IV GBMs confirmed via pathological examination", - "treatment": "Patient treated with chemotherapy, radiotherapy, and surgical resection" - }, - "organism_age": "48.0", - "organism_age_unit": { - "ontology": "UO:0000036", - "ontology_label": "year", - "text": "year" - }, - "schema_type": "biomaterial", - "sex": "unknown", - "provenance": { - "document_id": "270341ef-ab2d-4e88-9ae1-b49684fc60e0", - "submission_date": "2021-03-12T22:28:36.761Z", - "update_date": "2021-06-16T11:07:35.373Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "cell_suspension/38f53d63-e470-491a-a98a-83bf0c47b630": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "SAMN05425049", - "biomaterial_name": "GBM cell 3589", - "biomaterial_description": "glioblastoma and neoplastic cells", - "ncbi_taxon_id": [ - 9606 - ], - "supplementary_files": [ - "ftp://ftp.ncbi.nlm.nih.gov/geo/samples/GSM2247nnn/GSM2247077/suppl/GSM2247077_1001000271.H2.csv.gz" - ], - "biosamples_accession": "SAMN05425049" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "Vascular", - "ontology": "CL:0005022", - "ontology_label": "vascular lymphangioblast" - } - ], - "estimated_cell_count": 1, - "plate_based_sequencing": { - "plate_label": "1001000271", - "well_label": "H2" - }, - "provenance": { - "document_id": "38f53d63-e470-491a-a98a-83bf0c47b630", - "submission_date": "2021-03-12T22:30:47.194Z", - "update_date": "2021-03-12T23:16:36.499Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "collection_protocol/5f886847-ef33-4a9b-b971-f2fe9f429cc4": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Collection_protocol_1", - "protocol_name": "Tumor and peritumoral space (cortex) collection protocol", - "protocol_description": "From each patient, we collected two separate tissue samples: one originating from the tumor core and another from the peritumoral space (cortex) immediately adjacent to the tumor core. The tumor core was demarcated on MRI as strongly enhancing (with gadolinium contrast) (Figure 1A), unlike the non-contrast-enhancing peritumor space. Peritumor cortex was always removed prior to resecting tumor core in order to prevent potential cross-contamination. For each sample, tumor and peritumor tissue were processed separately." - }, - "method": { - "text": "Surgical resection", - "ontology": "EFO:0009744", - "ontology_label": "surgical resection" - }, - "provenance": { - "document_id": "5f886847-ef33-4a9b-b971-f2fe9f429cc4", - "submission_date": "2021-03-12T22:30:59.796Z", - "update_date": "2021-03-12T23:17:03.031Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "project/2d846095-8a33-4f3c-97d4-585bafac13b4": { - "describedBy": "https://schema.humancellatlas.org/type/project/19.0.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "InfiltratingNeoplasticCellsHumanGlioblastoma", - "project_title": "Single-Cell RNAseq analysis of diffuse neoplastic infiltrating cells at the migrating front of human glioblastoma", - "project_description": "We used single-cell RNAseq to investigate the heterogeneity of glioblastoma tumors and assess differential expression between cells within and in proximity of the tumor." - }, - "supplementary_links": [ - "ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE84nnn/GSE84465/suppl/GSE84465_GBM_All_data.csv.gz,ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE84nnn/GSE84465/suppl/GSE84465_RAW.tar" - ], - "data_use_restriction": "GRU", - "duos_id": "DUOS-999999", - "insdc_project_accessions": [ - "SRP079058" - ], - "geo_series_accessions": [ - "GSE84465" - ], - "contributors": [ - { - "name": "Spyros,,Darmanis", - "email": "spyros.darmanis@gmail.com", - "institution": "Stanford University", - "laboratory": "Bioengineering", - "address": "Clark Center, E300; Stanford, California 94305 USA", - "country": "USA", - "corresponding_contributor": true, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0003-4002-8158" - }, - { - "name": "Steven,A,Sloan", - "institution": "Stanford University", - "laboratory": "Neurobiology", - "address": "291 Campus Drive, Stanford, California 94305, USA", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0001-7769-7684" - }, - { - "name": "Karina,,Hernandez", - "email": "kherna80@ucsc.edu", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas wrangler intern", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - }, - { - "name": "Tiana,,Pereira", - "email": "tmpereir@ucsc.edu", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas wrangler intern", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - }, - { - "name": "Parisa,,Nejad", - "email": "pnejad@ucsc.edu", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - } - ], - "publications": [ - { - "authors": [ - "Darmanis S", - "Sloan SA", - "Croote D", - "Mignardi M", - "Chernikova S", - "Samghababi P", - "Zhang Y", - "Neff N", - "Kowarsky M", - "Caneda C", - "Li G", - "Chang SD", - "Connolly ID", - "Li Y", - "Barres BA", - "Gephart MH", - "Quake SR", - "" - ], - "title": "Single-Cell RNA-Seq Analysis of Infiltrating Neoplastic Cells at the Migrating Front of Human Glioblastoma", - "doi": "10.1016/j.celrep.2017.10.030", - "pmid": 29091775, - "url": "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5810554/", - "official_hca_publication": false - } - ], - "funders": [ - { - "grant_id": "K08-NS901527", - "organization": "National Institute of Health" - }, - { - "grant_id": "GC1R-06673-A", - "organization": "California Institute for Regenerative Medicine" - }, - { - "grant_id": "T32GM007365", - "organization": "National Institute of Mental Health" - }, - { - "grant_id": "R01 CA216054-01", - "organization": "National Institute of Health" - }, - { - "grant_id": "R21-CA193046-01", - "organization": "National Institute of Health" - }, - { - "grant_id": "F30MH106261", - "organization": "National Institute of Mental Health" - } - ], - "estimated_cell_count": 3589, - "provenance": { - "document_id": "2d846095-8a33-4f3c-97d4-585bafac13b4", - "submission_date": "2021-03-12T22:28:36.719Z", - "update_date": "2021-09-30T17:37:37.687Z", - "schema_major_version": 15, - "schema_minor_version": 0 - } - }, - "library_preparation_protocol/9b9f5554-0f48-4af5-a765-c45226e0531c": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "LP_0988eb611ab9501579f0e3e4a49261b9", - "protocol_name": "Sc_Smart_Seq_2", - "protocol_description": "Reverse transcription and PCR amplification were performed according to the Smart-seq2 protocol described previously (Picelli et al., 2014).", - "publication_doi": "10.1038/nprot.2014.006" - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_method": { - "text": "Smart-seq2", - "ontology": "EFO:0008931", - "ontology_label": "Smart-seq2" - }, - "library_construction_kit": { - "retail_name": "High-Output v2 kits", - "manufacturer": "Illumina" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "cdna_library_amplification_method": { - "text": "PCR", - "ontology": "OBI:0000415", - "ontology_label": "PCR" - }, - "provenance": { - "document_id": "9b9f5554-0f48-4af5-a765-c45226e0531c", - "submission_date": "2021-03-12T22:31:00.063Z", - "update_date": "2021-03-12T23:17:03.132Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - } - }, - "links": { - "links": [ - { - "link_type": "process_link", - "process_id": "80baee6e-00a5-4fdc-bfe3-d339ff8a7178", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "38f53d63-e470-491a-a98a-83bf0c47b630" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "64f1a275-671c-46a2-ba7f-6647e672c8d7" - }, - { - "output_type": "sequence_file", - "output_id": "e27de859-4b05-43d6-8437-7f7dfc0507d1" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "9b9f5554-0f48-4af5-a765-c45226e0531c" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "58612e7a-c83a-4c7d-ab53-974b207291eb" - } - ] - }, - { - "link_type": "process_link", - "process_id": "4ce6bcb3-6402-4265-b18e-fa3ebea6e786", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "5b2453cf-dffd-42e4-8868-73aec60b1418" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "38f53d63-e470-491a-a98a-83bf0c47b630" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "97c799c5-5db6-4d57-8a03-0fb877039255" - }, - { - "protocol_type": "dissociation_protocol", - "protocol_id": "37aee665-8ee9-451c-b1ef-e998cc268481" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "46299069-e6aa-4b95-b134-5dcbd4685cb3" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f188ad1d-17dc-4f21-a35d-c24a1d53e728", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "270341ef-ab2d-4e88-9ae1-b49684fc60e0" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5b2453cf-dffd-42e4-8868-73aec60b1418" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "5f886847-ef33-4a9b-b971-f2fe9f429cc4" - } - ] - } - ], - "describedBy": "https://schema.humancellatlas.org/system/2.1.1/links", - "schema_version": "2.1.1", - "schema_type": "links" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/826dea02-e274-affe-aabc-eb3db63ad068.results.json b/test/indexer/data/826dea02-e274-affe-aabc-eb3db63ad068.results.json deleted file mode 100644 index 21e2477bfe..0000000000 --- a/test/indexer/data/826dea02-e274-affe-aabc-eb3db63ad068.results.json +++ /dev/null @@ -1,4095 +0,0 @@ -[ - { - "_index": "azul_v2_nadove4_test_activities_aggregate", - "_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "_score": 1.0, - "_source": { - "entity_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "contents": { - "activities": [ - { - "document_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "source_datarepo_row_ids": [ - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "activity_id": "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": [ - "826dea02-e274-4ffe-aabc-eb3db63ad068" - ], - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ], - "anatomical_site": [ - "~null" - ], - "apriori_cell_type": [ - "~null" - ], - "biosample_type": [ - "~null" - ], - "disease": [ - "~null" - ], - "donor_age_at_collection_unit": [ - "~null" - ], - "donor_age_at_collection": [ - { - "gte": null, - "lte": null - } - ] - } - ], - "datasets": [ - { - "document_id": [ - "2370f948-2783-4eb6-afea-e022897f4dcf" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": [ - "52ee7665-7033-63f2-a8d9-ce8e32666739" - ], - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": [ - "ANVIL_CMG_UWASH_DS_BDIS" - ], - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": [ - "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "939a4bd3-86ed-4a8a-81f4-fbe0ee673461" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": [ - "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6" - ], - "disease": [ - "redacted-A61iJlLx", - "redacted-g50ublm/" - ], - "diagnosis_age_unit": [ - "~null" - ], - "diagnosis_age": [ - { - "gte": null, - "lte": null - } - ], - "onset_age_unit": [ - "~null" - ], - "onset_age": [ - { - "gte": null, - "lte": null - } - ], - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": [ - "bfd991f2-2797-4083-972a-da7c6d7f1b2e" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": [ - "1e2bd7e5-f45e-a391-daea-7c060be76acd" - ], - "organism_type": [ - "redacted-ACw+6ecI" - ], - "phenotypic_sex": [ - "redacted-JfQ0b3xG" - ], - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6" - ], - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "file_id": [ - "1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "data_modality": [ - "~null" - ], - "file_format": [ - ".vcf.gz" - ], - "file_size": 213021639, - "file_size_": 213021639, - "file_md5sum": [ - "vuxgbuCqKZ/fkT9CWTFmIg==" - ], - "reference_assembly": [ - "~null" - ], - "file_name": [ - "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz" - ], - "is_supplementary": [ - 0 - ], - "version": [ - "2022-06-01T00:00:00.000000Z" - ], - "uuid": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6" - ], - "size": [ - 213021639 - ], - "size_": [ - 213021639 - ], - "name": [ - "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz" - ], - "crc32": [ - "" - ], - "sha256": [ - "" - ], - "drs_uri": [ - "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "count": 1 - } - ] - }, - "num_contributions": 1, - "sources": [ - { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - } - ], - "bundles": [ - { - "uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "version": "2022-06-01T00:00:00.000000Z" - } - ] - } - }, - { - "_index": "azul_v2_nadove4_test_activities", - "_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "contents": { - "activities": [ - { - "document_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "source_datarepo_row_ids": [ - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "activity_id": "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "anatomical_site": "~null", - "apriori_cell_type": [ - "~null" - ], - "biosample_type": "~null", - "disease": "~null", - "donor_age_at_collection_unit": "~null", - "donor_age_at_collection": { - "gte": null, - "lte": null - } - } - ], - "datasets": [ - { - "document_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "disease": [ - "redacted-A61iJlLx" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - }, - { - "document_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "disease": [ - "redacted-g50ublm/" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "organism_type": "redacted-ACw+6ecI", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "file_id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "data_modality": [ - "~null" - ], - "file_format": ".vcf.gz", - "file_size": 213021639, - "file_size_": 213021639, - "file_md5sum": "vuxgbuCqKZ/fkT9CWTFmIg==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "size": 213021639, - "size_": 213021639, - "name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67" - } - ] - }, - "document_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "bundle_uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "bundle_version": "2022-06-01T00:00:00.000000Z", - "bundle_deleted": false - } - }, - { - "_index": "azul_v2_nadove4_test_replica", - "_id": "anvil_sequencingactivity_1509ef40-d1ba-440d-b298-16b7c173dcd4_deaef50719859a3e58b9696a0ca061cf9750e7bb", - "_score": 1.0, - "_source": { - "entity_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "replica_type": "anvil_sequencingactivity", - "hub_ids": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "2370f948-2783-4eb6-afea-e022897f4dcf" - ], - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "contents": { - "activity_type": "Sequencing", - "assay_type": [], - "data_modality": [], - "datarepo_row_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "generated_file_id": [ - "1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "sequencingactivity_id": "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "source_datarepo_row_ids": [ - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "used_biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ], - "version": "2022-06-01T00:00:00.000000Z" - } - } - }, - { - "_index": "azul_v2_nadove4_test_files_aggregate", - "_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "_score": 1.0, - "_source": { - "entity_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "contents": { - "activities": [ - { - "document_id": [ - "1509ef40-d1ba-440d-b298-16b7c173dcd4" - ], - "source_datarepo_row_ids": [ - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "activity_id": [ - "18b3be87-e26b-4376-0d8d-c1e370e90e07" - ], - "activity_table": [ - "anvil_sequencingactivity" - ], - "activity_type": [ - "Sequencing" - ], - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": [ - "826dea02-e274-4ffe-aabc-eb3db63ad068" - ], - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ], - "anatomical_site": [ - "~null" - ], - "apriori_cell_type": [ - "~null" - ], - "biosample_type": [ - "~null" - ], - "disease": [ - "~null" - ], - "donor_age_at_collection_unit": [ - "~null" - ], - "donor_age_at_collection": [ - { - "gte": null, - "lte": null - } - ] - } - ], - "datasets": [ - { - "document_id": [ - "2370f948-2783-4eb6-afea-e022897f4dcf" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": [ - "52ee7665-7033-63f2-a8d9-ce8e32666739" - ], - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": [ - "ANVIL_CMG_UWASH_DS_BDIS" - ], - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": [ - "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "939a4bd3-86ed-4a8a-81f4-fbe0ee673461" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": [ - "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6" - ], - "disease": [ - "redacted-A61iJlLx", - "redacted-g50ublm/" - ], - "diagnosis_age_unit": [ - "~null" - ], - "diagnosis_age": [ - { - "gte": null, - "lte": null - } - ], - "onset_age_unit": [ - "~null" - ], - "onset_age": [ - { - "gte": null, - "lte": null - } - ], - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": [ - "bfd991f2-2797-4083-972a-da7c6d7f1b2e" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": [ - "1e2bd7e5-f45e-a391-daea-7c060be76acd" - ], - "organism_type": [ - "redacted-ACw+6ecI" - ], - "phenotypic_sex": [ - "redacted-JfQ0b3xG" - ], - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "file_id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "data_modality": [ - "~null" - ], - "file_format": ".vcf.gz", - "file_size": 213021639, - "file_size_": 213021639, - "file_md5sum": "vuxgbuCqKZ/fkT9CWTFmIg==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "size": 213021639, - "size_": 213021639, - "name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67" - } - ] - }, - "num_contributions": 1, - "sources": [ - { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - } - ], - "bundles": [ - { - "uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "version": "2022-06-01T00:00:00.000000Z" - } - ] - } - }, - { - "_index": "azul_v2_nadove4_test_files", - "_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "contents": { - "activities": [ - { - "document_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "source_datarepo_row_ids": [ - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "activity_id": "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "anatomical_site": "~null", - "apriori_cell_type": [ - "~null" - ], - "biosample_type": "~null", - "disease": "~null", - "donor_age_at_collection_unit": "~null", - "donor_age_at_collection": { - "gte": null, - "lte": null - } - } - ], - "datasets": [ - { - "document_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "disease": [ - "redacted-A61iJlLx" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - }, - { - "document_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "disease": [ - "redacted-g50ublm/" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "organism_type": "redacted-ACw+6ecI", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "file_id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "data_modality": [ - "~null" - ], - "file_format": ".vcf.gz", - "file_size": 213021639, - "file_size_": 213021639, - "file_md5sum": "vuxgbuCqKZ/fkT9CWTFmIg==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "size": 213021639, - "size_": 213021639, - "name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67" - } - ] - }, - "document_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "bundle_uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "bundle_version": "2022-06-01T00:00:00.000000Z", - "bundle_deleted": false - } - }, - { - "_index": "azul_v2_nadove4_test_replica", - "_id": "anvil_file_15b76f9c-6b46-433f-851d-34e89f1b9ba6_aec7ac65991cc6ea974a7a86fc30ec96c081cfcf", - "_score": 1.0, - "_source": { - "entity_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "replica_type": "anvil_file", - "hub_ids": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "2370f948-2783-4eb6-afea-e022897f4dcf" - ], - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "contents": { - "data_modality": [], - "datarepo_row_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "file_format": ".vcf.gz", - "file_id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "file_md5sum": "vuxgbuCqKZ/fkT9CWTFmIg==", - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67", - "file_size": 213021639, - "is_supplementary": false, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "version": "2022-06-01T00:00:00.000000Z", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67", - "sha256": "", - "crc32": "" - } - } - }, - { - "_index": "azul_v2_nadove4_test_replica", - "_id": "anvil_diagnosis_15d85d30-ad4a-4f50-87a8-a27f59dd1b5f_fc4d805825bb627c93588467d22caac1b76f4a17", - "_score": 1.0, - "_source": { - "entity_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "replica_type": "anvil_diagnosis", - "hub_ids": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "2370f948-2783-4eb6-afea-e022897f4dcf", - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "contents": { - "datarepo_row_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "diagnosis_age_lower_bound": null, - "diagnosis_age_unit": null, - "diagnosis_age_upper_bound": null, - "diagnosis_id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "disease": [ - "redacted-A61iJlLx" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "onset_age_lower_bound": null, - "onset_age_unit": null, - "onset_age_upper_bound": null, - "phenopacket": [], - "phenotype": [ - "redacted-acSYHZUr" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "version": "2022-06-01T00:00:00.000000Z" - } - } - }, - { - "_index": "azul_v2_nadove4_test_datasets_aggregate", - "_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "_score": 1.0, - "_source": { - "entity_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "contents": { - "activities": [ - { - "document_id": [ - "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "816e364e-1193-4e5b-a91a-14e4b009157c" - ], - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b", - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "activity_id": [ - "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "a60c5138-3749-f7cb-8714-52d389ad5231" - ], - "activity_table": [ - "anvil_sequencingactivity" - ], - "activity_type": [ - "Sequencing" - ], - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": [ - "826dea02-e274-4ffe-aabc-eb3db63ad068" - ], - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ], - "anatomical_site": [ - "~null" - ], - "apriori_cell_type": [ - "~null" - ], - "biosample_type": [ - "~null" - ], - "disease": [ - "~null" - ], - "donor_age_at_collection_unit": [ - "~null" - ], - "donor_age_at_collection": [ - { - "gte": null, - "lte": null - } - ] - } - ], - "datasets": [ - { - "document_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": [ - "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "939a4bd3-86ed-4a8a-81f4-fbe0ee673461" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": [ - "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6" - ], - "disease": [ - "redacted-A61iJlLx", - "redacted-g50ublm/" - ], - "diagnosis_age_unit": [ - "~null" - ], - "diagnosis_age": [ - { - "gte": null, - "lte": null - } - ], - "onset_age_unit": [ - "~null" - ], - "onset_age": [ - { - "gte": null, - "lte": null - } - ], - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": [ - "bfd991f2-2797-4083-972a-da7c6d7f1b2e" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": [ - "1e2bd7e5-f45e-a391-daea-7c060be76acd" - ], - "organism_type": [ - "redacted-ACw+6ecI" - ], - "phenotypic_sex": [ - "redacted-JfQ0b3xG" - ], - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6" - ], - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "file_id": [ - "1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "data_modality": [ - "~null" - ], - "file_format": [ - ".vcf.gz" - ], - "file_size": 213021639, - "file_size_": 213021639, - "file_md5sum": [ - "vuxgbuCqKZ/fkT9CWTFmIg==" - ], - "reference_assembly": [ - "~null" - ], - "file_name": [ - "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz" - ], - "is_supplementary": [ - 0 - ], - "version": [ - "2022-06-01T00:00:00.000000Z" - ], - "uuid": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6" - ], - "size": [ - 213021639 - ], - "size_": [ - 213021639 - ], - "name": [ - "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz" - ], - "crc32": [ - "" - ], - "sha256": [ - "" - ], - "drs_uri": [ - "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "count": 1 - }, - { - "document_id": [ - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "file_id": [ - "8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "data_modality": [ - "~null" - ], - "file_format": [ - ".bam" - ], - "file_size": 3306845592, - "file_size_": 3306845592, - "file_md5sum": [ - "fNn9e1SovzgOROk3BvH6LQ==" - ], - "reference_assembly": [ - "~null" - ], - "file_name": [ - "307500.merged.matefixed.sorted.markeddups.recal.bam" - ], - "is_supplementary": [ - 0 - ], - "version": [ - "2022-06-01T00:00:00.000000Z" - ], - "uuid": [ - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "size": [ - 3306845592 - ], - "size_": [ - 3306845592 - ], - "name": [ - "307500.merged.matefixed.sorted.markeddups.recal.bam" - ], - "crc32": [ - "" - ], - "sha256": [ - "" - ], - "drs_uri": [ - "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "count": 1 - } - ] - }, - "num_contributions": 1, - "sources": [ - { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - } - ], - "bundles": [ - { - "uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "version": "2022-06-01T00:00:00.000000Z" - } - ] - } - }, - { - "_index": "azul_v2_nadove4_test_datasets", - "_id": "2370f948-2783-4eb6-afea-e022897f4dcf_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "contents": { - "activities": [ - { - "document_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "source_datarepo_row_ids": [ - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "activity_id": "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - }, - { - "document_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b" - ], - "activity_id": "a60c5138-3749-f7cb-8714-52d389ad5231", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "anatomical_site": "~null", - "apriori_cell_type": [ - "~null" - ], - "biosample_type": "~null", - "disease": "~null", - "donor_age_at_collection_unit": "~null", - "donor_age_at_collection": { - "gte": null, - "lte": null - } - } - ], - "datasets": [ - { - "document_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "disease": [ - "redacted-A61iJlLx" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - }, - { - "document_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "disease": [ - "redacted-g50ublm/" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "organism_type": "redacted-ACw+6ecI", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "file_id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "data_modality": [ - "~null" - ], - "file_format": ".vcf.gz", - "file_size": 213021639, - "file_size_": 213021639, - "file_md5sum": "vuxgbuCqKZ/fkT9CWTFmIg==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "size": 213021639, - "size_": 213021639, - "name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67" - }, - { - "document_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "file_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "data_modality": [ - "~null" - ], - "file_format": ".bam", - "file_size": 3306845592, - "file_size_": 3306845592, - "file_md5sum": "fNn9e1SovzgOROk3BvH6LQ==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "size": 3306845592, - "size_": 3306845592, - "name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37" - } - ] - }, - "document_id": "2370f948-2783-4eb6-afea-e022897f4dcf_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "bundle_uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "bundle_version": "2022-06-01T00:00:00.000000Z", - "bundle_deleted": false - } - }, - { - "_index": "azul_v2_nadove4_test_replica", - "_id": "anvil_dataset_2370f948-2783-4eb6-afea-e022897f4dcf_f10ae38d485330bf8fc7a95f7eb06626b984ad6a", - "_score": 1.0, - "_source": { - "entity_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "replica_type": "anvil_dataset", - "hub_ids": [ - "2370f948-2783-4eb6-afea-e022897f4dcf" - ], - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "contents": { - "consent_group": [ - "DS-BDIS" - ], - "data_modality": [], - "data_use_permission": [ - "DS-BDIS" - ], - "datarepo_row_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [], - "registered_identifier": [ - "phs000693" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "version": "2022-06-01T00:00:00.000000Z" - } - } - }, - { - "_index": "azul_v2_nadove4_test_files_aggregate", - "_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "_score": 1.0, - "_source": { - "entity_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "contents": { - "activities": [ - { - "document_id": [ - "816e364e-1193-4e5b-a91a-14e4b009157c" - ], - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b" - ], - "activity_id": [ - "a60c5138-3749-f7cb-8714-52d389ad5231" - ], - "activity_table": [ - "anvil_sequencingactivity" - ], - "activity_type": [ - "Sequencing" - ], - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": [ - "826dea02-e274-4ffe-aabc-eb3db63ad068" - ], - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ], - "anatomical_site": [ - "~null" - ], - "apriori_cell_type": [ - "~null" - ], - "biosample_type": [ - "~null" - ], - "disease": [ - "~null" - ], - "donor_age_at_collection_unit": [ - "~null" - ], - "donor_age_at_collection": [ - { - "gte": null, - "lte": null - } - ] - } - ], - "datasets": [ - { - "document_id": [ - "2370f948-2783-4eb6-afea-e022897f4dcf" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": [ - "52ee7665-7033-63f2-a8d9-ce8e32666739" - ], - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": [ - "ANVIL_CMG_UWASH_DS_BDIS" - ], - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": [ - "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "939a4bd3-86ed-4a8a-81f4-fbe0ee673461" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": [ - "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6" - ], - "disease": [ - "redacted-A61iJlLx", - "redacted-g50ublm/" - ], - "diagnosis_age_unit": [ - "~null" - ], - "diagnosis_age": [ - { - "gte": null, - "lte": null - } - ], - "onset_age_unit": [ - "~null" - ], - "onset_age": [ - { - "gte": null, - "lte": null - } - ], - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": [ - "bfd991f2-2797-4083-972a-da7c6d7f1b2e" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": [ - "1e2bd7e5-f45e-a391-daea-7c060be76acd" - ], - "organism_type": [ - "redacted-ACw+6ecI" - ], - "phenotypic_sex": [ - "redacted-JfQ0b3xG" - ], - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "file_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "data_modality": [ - "~null" - ], - "file_format": ".bam", - "file_size": 3306845592, - "file_size_": 3306845592, - "file_md5sum": "fNn9e1SovzgOROk3BvH6LQ==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "size": 3306845592, - "size_": 3306845592, - "name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37" - } - ] - }, - "num_contributions": 1, - "sources": [ - { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - } - ], - "bundles": [ - { - "uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "version": "2022-06-01T00:00:00.000000Z" - } - ] - } - }, - { - "_index": "azul_v2_nadove4_test_replica", - "_id": "anvil_file_3b17377b-16b1-431c-9967-e5d01fc5923f_669b7664f4b6865a0604285f923995acaf84b4ab", - "_score": 1.0, - "_source": { - "entity_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "contents": { - "data_modality": [], - "datarepo_row_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "file_format": ".bam", - "file_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "file_md5sum": "fNn9e1SovzgOROk3BvH6LQ==", - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37", - "file_size": 3306845592, - "is_supplementary": false, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "version": "2022-06-01T00:00:00.000000Z", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37", - "sha256": "", - "crc32": "" - }, - "replica_type": "anvil_file", - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "hub_ids": [ - "2370f948-2783-4eb6-afea-e022897f4dcf", - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ] - } - }, - { - "_index": "azul_v2_nadove4_test_files", - "_id": "3b17377b-16b1-431c-9967-e5d01fc5923f_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "contents": { - "activities": [ - { - "document_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b" - ], - "activity_id": "a60c5138-3749-f7cb-8714-52d389ad5231", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "anatomical_site": "~null", - "apriori_cell_type": [ - "~null" - ], - "biosample_type": "~null", - "disease": "~null", - "donor_age_at_collection_unit": "~null", - "donor_age_at_collection": { - "gte": null, - "lte": null - } - } - ], - "datasets": [ - { - "document_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "disease": [ - "redacted-A61iJlLx" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - }, - { - "document_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "disease": [ - "redacted-g50ublm/" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "organism_type": "redacted-ACw+6ecI", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "file_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "data_modality": [ - "~null" - ], - "file_format": ".bam", - "file_size": 3306845592, - "file_size_": 3306845592, - "file_md5sum": "fNn9e1SovzgOROk3BvH6LQ==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "size": 3306845592, - "size_": 3306845592, - "name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37" - } - ] - }, - "document_id": "3b17377b-16b1-431c-9967-e5d01fc5923f_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "bundle_uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "bundle_version": "2022-06-01T00:00:00.000000Z", - "bundle_deleted": false - } - }, - { - "_index": "azul_v2_nadove4_test_activities_aggregate", - "_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "_score": 1.0, - "_source": { - "entity_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "contents": { - "activities": [ - { - "document_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b" - ], - "activity_id": "a60c5138-3749-f7cb-8714-52d389ad5231", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": [ - "826dea02-e274-4ffe-aabc-eb3db63ad068" - ], - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ], - "anatomical_site": [ - "~null" - ], - "apriori_cell_type": [ - "~null" - ], - "biosample_type": [ - "~null" - ], - "disease": [ - "~null" - ], - "donor_age_at_collection_unit": [ - "~null" - ], - "donor_age_at_collection": [ - { - "gte": null, - "lte": null - } - ] - } - ], - "datasets": [ - { - "document_id": [ - "2370f948-2783-4eb6-afea-e022897f4dcf" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": [ - "52ee7665-7033-63f2-a8d9-ce8e32666739" - ], - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": [ - "ANVIL_CMG_UWASH_DS_BDIS" - ], - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": [ - "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "939a4bd3-86ed-4a8a-81f4-fbe0ee673461" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": [ - "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6" - ], - "disease": [ - "redacted-A61iJlLx", - "redacted-g50ublm/" - ], - "diagnosis_age_unit": [ - "~null" - ], - "diagnosis_age": [ - { - "gte": null, - "lte": null - } - ], - "onset_age_unit": [ - "~null" - ], - "onset_age": [ - { - "gte": null, - "lte": null - } - ], - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": [ - "bfd991f2-2797-4083-972a-da7c6d7f1b2e" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": [ - "1e2bd7e5-f45e-a391-daea-7c060be76acd" - ], - "organism_type": [ - "redacted-ACw+6ecI" - ], - "phenotypic_sex": [ - "redacted-JfQ0b3xG" - ], - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": [ - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "file_id": [ - "8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "data_modality": [ - "~null" - ], - "file_format": [ - ".bam" - ], - "file_size": 3306845592, - "file_size_": 3306845592, - "file_md5sum": [ - "fNn9e1SovzgOROk3BvH6LQ==" - ], - "reference_assembly": [ - "~null" - ], - "file_name": [ - "307500.merged.matefixed.sorted.markeddups.recal.bam" - ], - "is_supplementary": [ - 0 - ], - "version": [ - "2022-06-01T00:00:00.000000Z" - ], - "uuid": [ - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "size": [ - 3306845592 - ], - "size_": [ - 3306845592 - ], - "name": [ - "307500.merged.matefixed.sorted.markeddups.recal.bam" - ], - "crc32": [ - "" - ], - "sha256": [ - "" - ], - "drs_uri": [ - "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "count": 1 - } - ] - }, - "num_contributions": 1, - "sources": [ - { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - } - ], - "bundles": [ - { - "uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "version": "2022-06-01T00:00:00.000000Z" - } - ] - } - }, - { - "_index": "azul_v2_nadove4_test_replica", - "_id": "anvil_sequencingactivity_816e364e-1193-4e5b-a91a-14e4b009157c_a9ad806d7904ac133ff713446e13e525dc37e263", - "_score": 1.0, - "_source": { - "entity_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "replica_type": "anvil_sequencingactivity", - "hub_ids": [ - "2370f948-2783-4eb6-afea-e022897f4dcf", - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "contents": { - "activity_type": "Sequencing", - "assay_type": [], - "data_modality": [], - "datarepo_row_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "generated_file_id": [ - "8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "sequencingactivity_id": "a60c5138-3749-f7cb-8714-52d389ad5231", - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b" - ], - "used_biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ], - "version": "2022-06-01T00:00:00.000000Z" - } - } - }, - { - "_index": "azul_v2_nadove4_test_activities", - "_id": "816e364e-1193-4e5b-a91a-14e4b009157c_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "contents": { - "activities": [ - { - "document_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b" - ], - "activity_id": "a60c5138-3749-f7cb-8714-52d389ad5231", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "anatomical_site": "~null", - "apriori_cell_type": [ - "~null" - ], - "biosample_type": "~null", - "disease": "~null", - "donor_age_at_collection_unit": "~null", - "donor_age_at_collection": { - "gte": null, - "lte": null - } - } - ], - "datasets": [ - { - "document_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "disease": [ - "redacted-A61iJlLx" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - }, - { - "document_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "disease": [ - "redacted-g50ublm/" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "organism_type": "redacted-ACw+6ecI", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "file_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "data_modality": [ - "~null" - ], - "file_format": ".bam", - "file_size": 3306845592, - "file_size_": 3306845592, - "file_md5sum": "fNn9e1SovzgOROk3BvH6LQ==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "size": 3306845592, - "size_": 3306845592, - "name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37" - } - ] - }, - "document_id": "816e364e-1193-4e5b-a91a-14e4b009157c_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "bundle_uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "bundle_version": "2022-06-01T00:00:00.000000Z", - "bundle_deleted": false - } - }, - { - "_index": "azul_v2_nadove4_test_biosamples_aggregate", - "_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "_score": 1.0, - "_source": { - "entity_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "contents": { - "activities": [ - { - "document_id": [ - "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "816e364e-1193-4e5b-a91a-14e4b009157c" - ], - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b", - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "activity_id": [ - "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "a60c5138-3749-f7cb-8714-52d389ad5231" - ], - "activity_table": [ - "anvil_sequencingactivity" - ], - "activity_type": [ - "Sequencing" - ], - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "anatomical_site": "~null", - "apriori_cell_type": [ - "~null" - ], - "biosample_type": "~null", - "disease": "~null", - "donor_age_at_collection_unit": "~null", - "donor_age_at_collection": { - "gte": null, - "lte": null - } - } - ], - "datasets": [ - { - "document_id": [ - "2370f948-2783-4eb6-afea-e022897f4dcf" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": [ - "52ee7665-7033-63f2-a8d9-ce8e32666739" - ], - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": [ - "ANVIL_CMG_UWASH_DS_BDIS" - ], - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": [ - "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "939a4bd3-86ed-4a8a-81f4-fbe0ee673461" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": [ - "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6" - ], - "disease": [ - "redacted-A61iJlLx", - "redacted-g50ublm/" - ], - "diagnosis_age_unit": [ - "~null" - ], - "diagnosis_age": [ - { - "gte": null, - "lte": null - } - ], - "onset_age_unit": [ - "~null" - ], - "onset_age": [ - { - "gte": null, - "lte": null - } - ], - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": [ - "bfd991f2-2797-4083-972a-da7c6d7f1b2e" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": [ - "1e2bd7e5-f45e-a391-daea-7c060be76acd" - ], - "organism_type": [ - "redacted-ACw+6ecI" - ], - "phenotypic_sex": [ - "redacted-JfQ0b3xG" - ], - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6" - ], - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "file_id": [ - "1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "data_modality": [ - "~null" - ], - "file_format": [ - ".vcf.gz" - ], - "file_size": 213021639, - "file_size_": 213021639, - "file_md5sum": [ - "vuxgbuCqKZ/fkT9CWTFmIg==" - ], - "reference_assembly": [ - "~null" - ], - "file_name": [ - "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz" - ], - "is_supplementary": [ - 0 - ], - "version": [ - "2022-06-01T00:00:00.000000Z" - ], - "uuid": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6" - ], - "size": [ - 213021639 - ], - "size_": [ - 213021639 - ], - "name": [ - "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz" - ], - "crc32": [ - "" - ], - "sha256": [ - "" - ], - "drs_uri": [ - "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "count": 1 - }, - { - "document_id": [ - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "file_id": [ - "8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "data_modality": [ - "~null" - ], - "file_format": [ - ".bam" - ], - "file_size": 3306845592, - "file_size_": 3306845592, - "file_md5sum": [ - "fNn9e1SovzgOROk3BvH6LQ==" - ], - "reference_assembly": [ - "~null" - ], - "file_name": [ - "307500.merged.matefixed.sorted.markeddups.recal.bam" - ], - "is_supplementary": [ - 0 - ], - "version": [ - "2022-06-01T00:00:00.000000Z" - ], - "uuid": [ - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "size": [ - 3306845592 - ], - "size_": [ - 3306845592 - ], - "name": [ - "307500.merged.matefixed.sorted.markeddups.recal.bam" - ], - "crc32": [ - "" - ], - "sha256": [ - "" - ], - "drs_uri": [ - "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "count": 1 - } - ] - }, - "num_contributions": 1, - "sources": [ - { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - } - ], - "bundles": [ - { - "uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "version": "2022-06-01T00:00:00.000000Z" - } - ] - } - }, - { - "_index": "azul_v2_nadove4_test_biosamples", - "_id": "826dea02-e274-4ffe-aabc-eb3db63ad068_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "contents": { - "activities": [ - { - "document_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "source_datarepo_row_ids": [ - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "activity_id": "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - }, - { - "document_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b" - ], - "activity_id": "a60c5138-3749-f7cb-8714-52d389ad5231", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "anatomical_site": "~null", - "apriori_cell_type": [ - "~null" - ], - "biosample_type": "~null", - "disease": "~null", - "donor_age_at_collection_unit": "~null", - "donor_age_at_collection": { - "gte": null, - "lte": null - } - } - ], - "datasets": [ - { - "document_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "disease": [ - "redacted-A61iJlLx" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - }, - { - "document_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "disease": [ - "redacted-g50ublm/" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "organism_type": "redacted-ACw+6ecI", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "file_id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "data_modality": [ - "~null" - ], - "file_format": ".vcf.gz", - "file_size": 213021639, - "file_size_": 213021639, - "file_md5sum": "vuxgbuCqKZ/fkT9CWTFmIg==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "size": 213021639, - "size_": 213021639, - "name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67" - }, - { - "document_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "file_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "data_modality": [ - "~null" - ], - "file_format": ".bam", - "file_size": 3306845592, - "file_size_": 3306845592, - "file_md5sum": "fNn9e1SovzgOROk3BvH6LQ==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "size": 3306845592, - "size_": 3306845592, - "name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37" - } - ] - }, - "document_id": "826dea02-e274-4ffe-aabc-eb3db63ad068_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "bundle_uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "bundle_version": "2022-06-01T00:00:00.000000Z", - "bundle_deleted": false - } - }, - { - "_index": "azul_v2_nadove4_test_replica", - "_id": "anvil_biosample_826dea02-e274-4ffe-aabc-eb3db63ad068_52f78e49c9a6e761dfd87e0d5e719d4e0099b80c", - "_score": 1.0, - "_source": { - "entity_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "replica_type": "anvil_biosample", - "hub_ids": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "2370f948-2783-4eb6-afea-e022897f4dcf", - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "contents": { - "anatomical_site": null, - "apriori_cell_type": [], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "biosample_type": null, - "datarepo_row_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "disease": null, - "donor_age_at_collection_lower_bound": null, - "donor_age_at_collection_unit": null, - "donor_age_at_collection_upper_bound": null, - "donor_id": [ - "1e2bd7e5-f45e-a391-daea-7c060be76acd" - ], - "part_of_dataset_id": [ - "52ee7665-7033-63f2-a8d9-ce8e32666739" - ], - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "version": "2022-06-01T00:00:00.000000Z" - } - } - }, - { - "_index": "azul_v2_nadove4_test_bundles_aggregate", - "_id": "826dea02-e274-affe-aabc-eb3db63ad068", - "_score": 1.0, - "_source": { - "entity_id": "826dea02-e274-affe-aabc-eb3db63ad068", - "contents": { - "activities": [ - { - "document_id": [ - "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "816e364e-1193-4e5b-a91a-14e4b009157c" - ], - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b", - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "activity_id": [ - "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "a60c5138-3749-f7cb-8714-52d389ad5231" - ], - "activity_table": [ - "anvil_sequencingactivity" - ], - "activity_type": [ - "Sequencing" - ], - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": [ - "826dea02-e274-4ffe-aabc-eb3db63ad068" - ], - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ], - "anatomical_site": [ - "~null" - ], - "apriori_cell_type": [ - "~null" - ], - "biosample_type": [ - "~null" - ], - "disease": [ - "~null" - ], - "donor_age_at_collection_unit": [ - "~null" - ], - "donor_age_at_collection": [ - { - "gte": null, - "lte": null - } - ] - } - ], - "datasets": [ - { - "document_id": [ - "2370f948-2783-4eb6-afea-e022897f4dcf" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": [ - "52ee7665-7033-63f2-a8d9-ce8e32666739" - ], - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": [ - "ANVIL_CMG_UWASH_DS_BDIS" - ], - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": [ - "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "939a4bd3-86ed-4a8a-81f4-fbe0ee673461" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": [ - "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6" - ], - "disease": [ - "redacted-A61iJlLx", - "redacted-g50ublm/" - ], - "diagnosis_age_unit": [ - "~null" - ], - "diagnosis_age": [ - { - "gte": null, - "lte": null - } - ], - "onset_age_unit": [ - "~null" - ], - "onset_age": [ - { - "gte": null, - "lte": null - } - ], - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": [ - "bfd991f2-2797-4083-972a-da7c6d7f1b2e" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": [ - "1e2bd7e5-f45e-a391-daea-7c060be76acd" - ], - "organism_type": [ - "redacted-ACw+6ecI" - ], - "phenotypic_sex": [ - "redacted-JfQ0b3xG" - ], - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6" - ], - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "file_id": [ - "1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "data_modality": [ - "~null" - ], - "file_format": [ - ".vcf.gz" - ], - "file_size": 213021639, - "file_size_": 213021639, - "file_md5sum": [ - "vuxgbuCqKZ/fkT9CWTFmIg==" - ], - "reference_assembly": [ - "~null" - ], - "file_name": [ - "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz" - ], - "is_supplementary": [ - 0 - ], - "version": [ - "2022-06-01T00:00:00.000000Z" - ], - "uuid": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6" - ], - "size": [ - 213021639 - ], - "size_": [ - 213021639 - ], - "name": [ - "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz" - ], - "crc32": [ - "" - ], - "sha256": [ - "" - ], - "drs_uri": [ - "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "count": 1 - }, - { - "document_id": [ - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "file_id": [ - "8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "data_modality": [ - "~null" - ], - "file_format": [ - ".bam" - ], - "file_size": 3306845592, - "file_size_": 3306845592, - "file_md5sum": [ - "fNn9e1SovzgOROk3BvH6LQ==" - ], - "reference_assembly": [ - "~null" - ], - "file_name": [ - "307500.merged.matefixed.sorted.markeddups.recal.bam" - ], - "is_supplementary": [ - 0 - ], - "version": [ - "2022-06-01T00:00:00.000000Z" - ], - "uuid": [ - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "size": [ - 3306845592 - ], - "size_": [ - 3306845592 - ], - "name": [ - "307500.merged.matefixed.sorted.markeddups.recal.bam" - ], - "crc32": [ - "" - ], - "sha256": [ - "" - ], - "drs_uri": [ - "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "count": 1 - } - ] - }, - "num_contributions": 1, - "sources": [ - { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - } - ], - "bundles": [ - { - "uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "version": "2022-06-01T00:00:00.000000Z" - } - ] - } - }, - { - "_index": "azul_v2_nadove4_test_bundles", - "_id": "826dea02-e274-affe-aabc-eb3db63ad068_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "826dea02-e274-affe-aabc-eb3db63ad068", - "contents": { - "activities": [ - { - "document_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "source_datarepo_row_ids": [ - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "activity_id": "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - }, - { - "document_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b" - ], - "activity_id": "a60c5138-3749-f7cb-8714-52d389ad5231", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "anatomical_site": "~null", - "apriori_cell_type": [ - "~null" - ], - "biosample_type": "~null", - "disease": "~null", - "donor_age_at_collection_unit": "~null", - "donor_age_at_collection": { - "gte": null, - "lte": null - } - } - ], - "datasets": [ - { - "document_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "disease": [ - "redacted-A61iJlLx" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - }, - { - "document_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "disease": [ - "redacted-g50ublm/" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "organism_type": "redacted-ACw+6ecI", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "file_id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "data_modality": [ - "~null" - ], - "file_format": ".vcf.gz", - "file_size": 213021639, - "file_size_": 213021639, - "file_md5sum": "vuxgbuCqKZ/fkT9CWTFmIg==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "size": 213021639, - "size_": 213021639, - "name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67" - }, - { - "document_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "file_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "data_modality": [ - "~null" - ], - "file_format": ".bam", - "file_size": 3306845592, - "file_size_": 3306845592, - "file_md5sum": "fNn9e1SovzgOROk3BvH6LQ==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "size": 3306845592, - "size_": 3306845592, - "name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37" - } - ] - }, - "document_id": "826dea02-e274-affe-aabc-eb3db63ad068_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "bundle_uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "bundle_version": "2022-06-01T00:00:00.000000Z", - "bundle_deleted": false - } - }, - { - "_index": "azul_v2_nadove4_test_replica", - "_id": "anvil_diagnosis_939a4bd3-86ed-4a8a-81f4-fbe0ee673461_f0733af0a2ffd8001c329588ac51db1d72ad33b7", - "_score": 1.0, - "_source": { - "entity_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "replica_type": "anvil_diagnosis", - "hub_ids": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "2370f948-2783-4eb6-afea-e022897f4dcf", - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "contents": { - "datarepo_row_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "diagnosis_age_lower_bound": null, - "diagnosis_age_unit": null, - "diagnosis_age_upper_bound": null, - "diagnosis_id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "disease": [ - "redacted-g50ublm/" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "onset_age_lower_bound": null, - "onset_age_unit": null, - "onset_age_upper_bound": null, - "phenopacket": [], - "phenotype": [ - "redacted-acSYHZUr" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "version": "2022-06-01T00:00:00.000000Z" - } - } - }, - { - "_index": "azul_v2_nadove4_test_donors_aggregate", - "_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "_score": 1.0, - "_source": { - "entity_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "contents": { - "activities": [ - { - "document_id": [ - "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "816e364e-1193-4e5b-a91a-14e4b009157c" - ], - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b", - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "activity_id": [ - "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "a60c5138-3749-f7cb-8714-52d389ad5231" - ], - "activity_table": [ - "anvil_sequencingactivity" - ], - "activity_type": [ - "Sequencing" - ], - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": [ - "826dea02-e274-4ffe-aabc-eb3db63ad068" - ], - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ], - "anatomical_site": [ - "~null" - ], - "apriori_cell_type": [ - "~null" - ], - "biosample_type": [ - "~null" - ], - "disease": [ - "~null" - ], - "donor_age_at_collection_unit": [ - "~null" - ], - "donor_age_at_collection": [ - { - "gte": null, - "lte": null - } - ] - } - ], - "datasets": [ - { - "document_id": [ - "2370f948-2783-4eb6-afea-e022897f4dcf" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": [ - "52ee7665-7033-63f2-a8d9-ce8e32666739" - ], - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": [ - "ANVIL_CMG_UWASH_DS_BDIS" - ], - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": [ - "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "939a4bd3-86ed-4a8a-81f4-fbe0ee673461" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": [ - "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6" - ], - "disease": [ - "redacted-A61iJlLx", - "redacted-g50ublm/" - ], - "diagnosis_age_unit": [ - "~null" - ], - "diagnosis_age": [ - { - "gte": null, - "lte": null - } - ], - "onset_age_unit": [ - "~null" - ], - "onset_age": [ - { - "gte": null, - "lte": null - } - ], - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "organism_type": "redacted-ACw+6ecI", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6" - ], - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "file_id": [ - "1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "data_modality": [ - "~null" - ], - "file_format": [ - ".vcf.gz" - ], - "file_size": 213021639, - "file_size_": 213021639, - "file_md5sum": [ - "vuxgbuCqKZ/fkT9CWTFmIg==" - ], - "reference_assembly": [ - "~null" - ], - "file_name": [ - "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz" - ], - "is_supplementary": [ - 0 - ], - "version": [ - "2022-06-01T00:00:00.000000Z" - ], - "uuid": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6" - ], - "size": [ - 213021639 - ], - "size_": [ - 213021639 - ], - "name": [ - "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz" - ], - "crc32": [ - "" - ], - "sha256": [ - "" - ], - "drs_uri": [ - "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "count": 1 - }, - { - "document_id": [ - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "file_id": [ - "8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "data_modality": [ - "~null" - ], - "file_format": [ - ".bam" - ], - "file_size": 3306845592, - "file_size_": 3306845592, - "file_md5sum": [ - "fNn9e1SovzgOROk3BvH6LQ==" - ], - "reference_assembly": [ - "~null" - ], - "file_name": [ - "307500.merged.matefixed.sorted.markeddups.recal.bam" - ], - "is_supplementary": [ - 0 - ], - "version": [ - "2022-06-01T00:00:00.000000Z" - ], - "uuid": [ - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ], - "size": [ - 3306845592 - ], - "size_": [ - 3306845592 - ], - "name": [ - "307500.merged.matefixed.sorted.markeddups.recal.bam" - ], - "crc32": [ - "" - ], - "sha256": [ - "" - ], - "drs_uri": [ - "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "count": 1 - } - ] - }, - "num_contributions": 1, - "sources": [ - { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - } - ], - "bundles": [ - { - "uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "version": "2022-06-01T00:00:00.000000Z" - } - ] - } - }, - { - "_index": "azul_v2_nadove4_test_donors", - "_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "contents": { - "activities": [ - { - "document_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "source_datarepo_row_ids": [ - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "activity_id": "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - }, - { - "document_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b" - ], - "activity_id": "a60c5138-3749-f7cb-8714-52d389ad5231", - "activity_table": "anvil_sequencingactivity", - "activity_type": "Sequencing", - "assay_type": [ - "~null" - ], - "data_modality": [ - "~null" - ], - "reference_assembly": [ - "~null" - ] - } - ], - "biosamples": [ - { - "document_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "anatomical_site": "~null", - "apriori_cell_type": [ - "~null" - ], - "biosample_type": "~null", - "disease": "~null", - "donor_age_at_collection_unit": "~null", - "donor_age_at_collection": { - "gte": null, - "lte": null - } - } - ], - "datasets": [ - { - "document_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "consent_group": [ - "DS-BDIS" - ], - "data_use_permission": [ - "DS-BDIS" - ], - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [ - "~null" - ], - "registered_identifier": [ - "phs000693" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "data_modality": [ - "~null" - ] - } - ], - "diagnoses": [ - { - "document_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "disease": [ - "redacted-A61iJlLx" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - }, - { - "document_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "diagnosis_id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "disease": [ - "redacted-g50ublm/" - ], - "diagnosis_age_unit": "~null", - "diagnosis_age": { - "gte": null, - "lte": null - }, - "onset_age_unit": "~null", - "onset_age": { - "gte": null, - "lte": null - }, - "phenotype": [ - "redacted-acSYHZUr" - ], - "phenopacket": [ - "~null" - ] - } - ], - "donors": [ - { - "document_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "organism_type": "redacted-ACw+6ecI", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "genetic_ancestry": [ - "~null" - ] - } - ], - "files": [ - { - "document_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "file_id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "data_modality": [ - "~null" - ], - "file_format": ".vcf.gz", - "file_size": 213021639, - "file_size_": 213021639, - "file_md5sum": "vuxgbuCqKZ/fkT9CWTFmIg==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "size": 213021639, - "size_": 213021639, - "name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67" - }, - { - "document_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "file_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "data_modality": [ - "~null" - ], - "file_format": ".bam", - "file_size": 3306845592, - "file_size_": 3306845592, - "file_md5sum": "fNn9e1SovzgOROk3BvH6LQ==", - "reference_assembly": [ - "~null" - ], - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "is_supplementary": 0, - "version": "2022-06-01T00:00:00.000000Z", - "uuid": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "size": 3306845592, - "size_": 3306845592, - "name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "crc32": "", - "sha256": "", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37" - } - ] - }, - "document_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e_826dea02-e274-affe-aabc-eb3db63ad068_2022-06-01T00:00:00.000000Z_exists", - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "bundle_uuid": "826dea02-e274-affe-aabc-eb3db63ad068", - "bundle_version": "2022-06-01T00:00:00.000000Z", - "bundle_deleted": false - } - }, - { - "_index": "azul_v2_nadove4_test_replica", - "_id": "anvil_donor_bfd991f2-2797-4083-972a-da7c6d7f1b2e_4ac20193963c27e42be696a6006a071f6cee4472", - "_score": 1.0, - "_source": { - "entity_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "contents": { - "datarepo_row_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "genetic_ancestry": [], - "organism_type": "redacted-ACw+6ecI", - "part_of_dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "version": "2022-06-01T00:00:00.000000Z" - }, - "replica_type": "anvil_donor", - "source": { - "id": "6c87f0e1-509d-46a4-b845-7584df39263b", - "spec": "tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0" - }, - "hub_ids": [ - "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "2370f948-2783-4eb6-afea-e022897f4dcf", - "3b17377b-16b1-431c-9967-e5d01fc5923f" - ] - } - } -] diff --git a/test/indexer/data/826dea02-e274-affe-aabc-eb3db63ad068.tdr.anvil.json b/test/indexer/data/826dea02-e274-affe-aabc-eb3db63ad068.tdr.anvil.json deleted file mode 100644 index ec875d5fa8..0000000000 --- a/test/indexer/data/826dea02-e274-affe-aabc-eb3db63ad068.tdr.anvil.json +++ /dev/null @@ -1,236 +0,0 @@ -{ - "entities": { - "anvil_biosample/826dea02-e274-4ffe-aabc-eb3db63ad068": { - "anatomical_site": null, - "apriori_cell_type": [], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "biosample_type": null, - "datarepo_row_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "disease": null, - "donor_age_at_collection_lower_bound": null, - "donor_age_at_collection_unit": null, - "donor_age_at_collection_upper_bound": null, - "donor_id": [ - "1e2bd7e5-f45e-a391-daea-7c060be76acd" - ], - "part_of_dataset_id": [ - "52ee7665-7033-63f2-a8d9-ce8e32666739" - ], - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "version": "2022-06-01T00:00:00.000000Z" - }, - "anvil_dataset/2370f948-2783-4eb6-afea-e022897f4dcf": { - "consent_group": [ - "DS-BDIS" - ], - "data_modality": [], - "data_use_permission": [ - "DS-BDIS" - ], - "datarepo_row_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [], - "registered_identifier": [ - "phs000693" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "version": "2022-06-01T00:00:00.000000Z" - }, - "anvil_diagnosis/15d85d30-ad4a-4f50-87a8-a27f59dd1b5f": { - "datarepo_row_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "diagnosis_age_lower_bound": null, - "diagnosis_age_unit": null, - "diagnosis_age_upper_bound": null, - "diagnosis_id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "disease": [ - "redacted-A61iJlLx" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "onset_age_lower_bound": null, - "onset_age_unit": null, - "onset_age_upper_bound": null, - "phenopacket": [], - "phenotype": [ - "redacted-acSYHZUr" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "version": "2022-06-01T00:00:00.000000Z" - }, - "anvil_diagnosis/939a4bd3-86ed-4a8a-81f4-fbe0ee673461": { - "datarepo_row_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "diagnosis_age_lower_bound": null, - "diagnosis_age_unit": null, - "diagnosis_age_upper_bound": null, - "diagnosis_id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "disease": [ - "redacted-g50ublm/" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "onset_age_lower_bound": null, - "onset_age_unit": null, - "onset_age_upper_bound": null, - "phenopacket": [], - "phenotype": [ - "redacted-acSYHZUr" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "version": "2022-06-01T00:00:00.000000Z" - }, - "anvil_donor/bfd991f2-2797-4083-972a-da7c6d7f1b2e": { - "datarepo_row_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "genetic_ancestry": [], - "organism_type": "redacted-ACw+6ecI", - "part_of_dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "version": "2022-06-01T00:00:00.000000Z" - }, - "anvil_file/15b76f9c-6b46-433f-851d-34e89f1b9ba6": { - "data_modality": [], - "datarepo_row_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "file_format": ".vcf.gz", - "file_id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "file_md5sum": "vuxgbuCqKZ/fkT9CWTFmIg==", - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67", - "file_size": 213021639, - "is_supplementary": false, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "version": "2022-06-01T00:00:00.000000Z", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67", - "sha256": "", - "crc32": "" - }, - "anvil_file/3b17377b-16b1-431c-9967-e5d01fc5923f": { - "data_modality": [], - "datarepo_row_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "file_format": ".bam", - "file_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "file_md5sum": "fNn9e1SovzgOROk3BvH6LQ==", - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37", - "file_size": 3306845592, - "is_supplementary": false, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "version": "2022-06-01T00:00:00.000000Z", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37", - "sha256": "", - "crc32": "" - }, - "anvil_sequencingactivity/1509ef40-d1ba-440d-b298-16b7c173dcd4": { - "activity_type": "Sequencing", - "assay_type": [], - "data_modality": [], - "datarepo_row_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "generated_file_id": [ - "1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "sequencingactivity_id": "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "source_datarepo_row_ids": [ - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "used_biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ], - "version": "2022-06-01T00:00:00.000000Z" - }, - "anvil_sequencingactivity/816e364e-1193-4e5b-a91a-14e4b009157c": { - "activity_type": "Sequencing", - "assay_type": [], - "data_modality": [], - "datarepo_row_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "generated_file_id": [ - "8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "sequencingactivity_id": "a60c5138-3749-f7cb-8714-52d389ad5231", - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b" - ], - "used_biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ], - "version": "2022-06-01T00:00:00.000000Z" - } - }, - "links": [ - { - "inputs": [ - "anvil_biosample/826dea02-e274-4ffe-aabc-eb3db63ad068" - ], - "activity": "anvil_sequencingactivity/816e364e-1193-4e5b-a91a-14e4b009157c", - "outputs": [ - "anvil_file/3b17377b-16b1-431c-9967-e5d01fc5923f" - ] - }, - { - "inputs": [ - "anvil_biosample/826dea02-e274-4ffe-aabc-eb3db63ad068" - ], - "activity": "anvil_sequencingactivity/1509ef40-d1ba-440d-b298-16b7c173dcd4", - "outputs": [ - "anvil_file/15b76f9c-6b46-433f-851d-34e89f1b9ba6" - ] - }, - { - "inputs": [ - "anvil_dataset/2370f948-2783-4eb6-afea-e022897f4dcf" - ], - "activity": null, - "outputs": [ - "anvil_biosample/826dea02-e274-4ffe-aabc-eb3db63ad068" - ] - }, - { - "inputs": [ - "anvil_diagnosis/15d85d30-ad4a-4f50-87a8-a27f59dd1b5f" - ], - "activity": null, - "outputs": [ - "anvil_donor/bfd991f2-2797-4083-972a-da7c6d7f1b2e" - ] - }, - { - "inputs": [ - "anvil_diagnosis/939a4bd3-86ed-4a8a-81f4-fbe0ee673461" - ], - "activity": null, - "outputs": [ - "anvil_donor/bfd991f2-2797-4083-972a-da7c6d7f1b2e" - ] - }, - { - "inputs": [ - "anvil_donor/bfd991f2-2797-4083-972a-da7c6d7f1b2e" - ], - "activity": null, - "outputs": [ - "anvil_biosample/826dea02-e274-4ffe-aabc-eb3db63ad068" - ] - } - ], - "orphans": {} -} diff --git a/test/indexer/data/8338b891-f3fa-5e7b-885f-e4ee5689ee15.dss.hca.json b/test/indexer/data/8338b891-f3fa-5e7b-885f-e4ee5689ee15.dss.hca.json deleted file mode 100644 index cebdf45bea..0000000000 --- a/test/indexer/data/8338b891-f3fa-5e7b-885f-e4ee5689ee15.dss.hca.json +++ /dev/null @@ -1,557 +0,0 @@ -{ - "manifest": { - "supplementary_file/538faa28-3235-5e4b-a998-5672e2d964e8": { - "name": "8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.csv.zip", - "uuid": "538faa28-3235-5e4b-a998-5672e2d964e8", - "version": "2020-12-03T10:39:17.144517Z", - "content-type": "application/zip; dcp-type=data", - "size": 76742835, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_c3c588a8-be3f-467f-a244-da614be6889a_ad683500-3756-4a85-aba8-05a9165aac90", - "crc32c": "97a7a932", - "sha256": "edb8e0139fece9702d89ae5fe7f761c41c291ef6a71129c6420857e025228a24" - }, - "supplementary_file/6c142250-567c-5b63-bd4f-0d78499863f8": { - "name": "8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.mtx.zip", - "uuid": "6c142250-567c-5b63-bd4f-0d78499863f8", - "version": "2020-12-03T10:39:17.144517Z", - "content-type": "application/zip; dcp-type=data", - "size": 124022765, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_c3c588a8-be3f-467f-a244-da614be6889a_df2476d4-ed12-4891-92cc-7384c32be978", - "crc32c": "7de6e00e", - "sha256": "cb1467f4d23a2429b4928943b51652b32edb949099250d28cf400d13074f5440" - }, - "supplementary_file/8d2ba1c1-bc9f-5c2a-a74d-fe5e09bdfb18": { - "name": "8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.loom", - "uuid": "8d2ba1c1-bc9f-5c2a-a74d-fe5e09bdfb18", - "version": "2020-12-03T10:39:17.144517Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 154980798, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_c3c588a8-be3f-467f-a244-da614be6889a_0b9a12c6-95df-487b-87ce-84e278e66789", - "crc32c": "d675b7ea", - "sha256": "724b2c0ddf33c662b362179bc6ca90cd866b99b340d061463c35d27cfd5a23c5" - } - }, - "metadata": { - "supplementary_file/538faa28-3235-5e4b-a998-5672e2d964e8": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "schema_version": "2.2.0", - "file_core": { - "format": "zip", - "content_description": [ - { - "text": "Matrix from HCA DCP/1 Matrix Service", - "ontology": "data:2082", - "ontology_label": "Matrix" - } - ], - "file_name": "8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.csv.zip" - }, - "file_description": "genusSpecies=Homo sapiens;organ=eye;libraryConstructionApproach=10X v2 sequencing", - "provenance": { - "document_id": "538faa28-3235-5e4b-a998-5672e2d964e8", - "submission_date": "2020-12-03T10:39:17.144517Z", - "submitter_id": "c9efbb15-c50c-5796-8d15-35e9e1219dc5", - "update_date": "2020-12-03T10:39:17.144517Z" - } - }, - "supplementary_file/6c142250-567c-5b63-bd4f-0d78499863f8": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "schema_version": "2.2.0", - "file_core": { - "format": "zip", - "content_description": [ - { - "text": "Matrix from HCA DCP/1 Matrix Service", - "ontology": "data:2082", - "ontology_label": "Matrix" - } - ], - "file_name": "8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.mtx.zip" - }, - "file_description": "genusSpecies=Homo sapiens;organ=eye;libraryConstructionApproach=10X v2 sequencing", - "provenance": { - "document_id": "6c142250-567c-5b63-bd4f-0d78499863f8", - "submission_date": "2020-12-03T10:39:17.144517Z", - "submitter_id": "c9efbb15-c50c-5796-8d15-35e9e1219dc5", - "update_date": "2020-12-03T10:39:17.144517Z" - } - }, - "supplementary_file/8d2ba1c1-bc9f-5c2a-a74d-fe5e09bdfb18": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file", - "schema_type": "file", - "schema_version": "2.2.0", - "file_core": { - "format": "loom", - "content_description": [ - { - "text": "Matrix from HCA DCP/1 Matrix Service", - "ontology": "data:2082", - "ontology_label": "Matrix" - } - ], - "file_name": "8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.loom" - }, - "file_description": "genusSpecies=Homo sapiens;organ=eye;libraryConstructionApproach=10X v2 sequencing", - "provenance": { - "document_id": "8d2ba1c1-bc9f-5c2a-a74d-fe5e09bdfb18", - "submission_date": "2020-12-03T10:39:17.144517Z", - "submitter_id": "c9efbb15-c50c-5796-8d15-35e9e1219dc5", - "update_date": "2020-12-03T10:39:17.144517Z" - } - }, - "project/8185730f-4113-40d3-9cc3-929271784c2b": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "WongAdultRetina", - "project_title": "A single-cell transcriptome atlas of the adult human retina", - "project_description": "The retina is a specialized neural tissue that senses light and initiates image processing. Although the functional organization of specific retina cells has been well studied, the molecular profile of many cell types remains unclear in humans. To comprehensively profile the human retina, we performed single\u2010cell RNA sequencing on 20,009 cells from three donors and compiled a reference transcriptome atlas. Using unsupervised clustering analysis, we identified 18 transcriptionally distinct cell populations representing all known neural retinal cells: rod photoreceptors, cone photoreceptors, M\u00fcller glia, bipolar cells, amacrine cells, retinal ganglion cells, horizontal cells, astrocytes, and microglia. Our data captured molecular profiles for healthy and putative early degenerating rod photoreceptors, and revealed the loss of\u00a0MALAT1\u00a0expression with longer post\u2010mortem time, which potentially suggested a novel role of\u00a0MALAT1\u00a0in rod photoreceptor degeneration. We have demonstrated the use of this retina transcriptome atlas to benchmark pluripotent stem cell\u2010derived cone photoreceptors and an adult M\u00fcller glia cell line. This work provides an important reference with unprecedented insights into the transcriptional landscape of human retinal cells, which is fundamental to understanding retinal biology and disease." - }, - "supplementary_links": [ - "https://github.com/satijalab/seurat", - "https://github.com/powellgenomicslab/ascend", - "https://github.com/IMB-Computational-Genomics-Lab/scGPS" - ], - "array_express_accessions": [ - "E-MTAB-7316" - ], - "contributors": [ - { - "name": "Samuel,W,Lukowski", - "email": "s.lukowski@imb.uq.edu.au", - "institution": "University of Queensland", - "laboratory": "Institute for Molecular Bioscience", - "address": "306 Carmody Rd, St Lucia QLD 4072", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0002-8598-7902" - }, - { - "name": "Camden,Y,Lo", - "email": "lo.camden@gmail.com", - "institution": "Monash University", - "address": "Wellington Rd, Clayton VIC 3800", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Alexei,A,Sharov", - "email": "sharoval@mail.nih.gov", - "institution": "National Institutes of Health", - "laboratory": "National Institute for Aging", - "address": "251 Bayview Blvd, Baltimore, MD 21224", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Quan,,Nguyen", - "email": "quan.nguyen@imb.uq.edu.au", - "institution": "University of Queensland", - "laboratory": "Institute for Molecular Bioscience", - "address": "306 Carmody Rd, St Lucia QLD 4072", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Bioinformatician", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0001-7870-5703" - }, - { - "name": "Lyujie,,Fang", - "email": "fanglyujie@foxmail.com", - "institution": "Centre for Eye Research Australia", - "laboratory": "Cellular Reprogramming Unit", - "address": "Melbourne, Vic", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-2286-0023" - }, - { - "name": "Sandy,SC,Hung", - "email": "sandy.hung@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Clinical Genetics Unit", - "address": "Melbourne, Vic", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Ling,,Zhu", - "email": "ling.zhu@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0003-0776-1630" - }, - { - "name": "Ting,,Zhang", - "email": "Ting.zhang@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0001-8074-8999" - }, - { - "name": "Ulrike,,Gr\u00fcnert", - "email": "ulrike.grunert@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Tu,,Nguyen", - "email": "thanhn3@student.unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Cellular Reprogramming Unit", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-6165-1822" - }, - { - "name": "Anne,,Senabouth", - "email": "a.senabouth@imb.uq.edu.au", - "institution": "University of Queensland", - "laboratory": "Institute for Molecular Bioscience", - "address": "306 Carmody Rd, St Lucia QLD 4072", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Jafar,S,Jabbari", - "email": "Jafar.Jabbari@agrf.org.au", - "institution": "Australian Genome Research Facility", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Emily,,Welby", - "email": "emily.welby@nih.gov", - "institution": "UCL Great Ormond Street Institute of Child Health", - "laboratory": "Stem Cells and Regenerative Medicine Section, NIHR Great Ormond Street Hospital Biomedical Research Centre", - "address": "London", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Jane,C,Sowden", - "email": "j.sowden@ucl.ac.uk", - "institution": "UCL Great Ormond Street Institute of Child Health", - "laboratory": "Stem Cells and Regenerative Medicine Section, NIHR Great Ormond Street Hospital Biomedical Research Centre", - "address": "London", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Hayley,S,Nguyen", - "email": "hayley.waugh229@gmail.com", - "institution": "Centre for Eye Research Australia", - "laboratory": "Lions Eye Donation Services", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Eye bank coordinator", - "ontology": "EFO:0001729", - "ontology_label": "biomaterial provider" - } - }, - { - "name": "Adrienne,,Mackey", - "email": "amackey@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Lions Eye Donation Services", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Eye bank coordinator", - "ontology": "EFO:0001729", - "ontology_label": "biomaterial provider" - } - }, - { - "name": "Graeme,,Pollock", - "email": "gpollock@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Lions Eye Donation Services", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Eye bank director", - "ontology": "EFO:0001729", - "ontology_label": "biomaterial provider" - } - }, - { - "name": "Trevor,D,Lamb", - "email": "trevor.lamb@anu.edu.au", - "institution": "The Australian National University", - "laboratory": "John Curtin School of Medical Research", - "address": "Canberra, ACT", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Peng-Yuna,,Wang", - "email": "pengyuanwang@swin.edu.au", - "institution": "Swinburne University of Technology", - "laboratory": "Department of Chemistry and Biotechnology", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Alex,W,Hewitt", - "email": "alex.hewitt@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Clinical Genetics Unit", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Mark,C,Gillies", - "email": "mark.gillies@sydney.edu.au", - "institution": "University of Sydney", - "laboratory": "Save Sight Institute", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Joseph,E,Powell", - "email": "j.powell@garvan.org.au", - "institution": "Garvan Institute of Medical Research", - "laboratory": "Garvan\u2010Weizmann Centre for Cellular Genomics", - "address": "Sydney, NSW", - "country": "Australia", - "corresponding_contributor": false, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0001-9031-6356" - }, - { - "name": "Raymond,CB,Wong", - "email": "wongcb@unimelb.edu.au", - "institution": "Centre for Eye Research Australia", - "laboratory": "Cellular Reprogramming Unit", - "address": "Melbourne, Vic.", - "country": "Australia", - "corresponding_contributor": true, - "project_role": { - "text": "Principal Investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-8092-9455" - }, - { - "name": "Marion,F,Shadbolt", - "email": "mshadbolt@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Genome Campus, Hinxton, Cambridge. CB10 1SA.", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - }, - "orcid_id": "0000-0001-7505-5418" - } - ], - "funders": [ - { - "grant_title": "Building a reference transcriptomic atlas for the human retina at a single cell level", - "grant_id": "not provided", - "organization": "Opthalmic Research Institute of Australia" - }, - { - "grant_title": "LOUISA JEAN de BRETTEVILLE BEQUEST", - "grant_id": "not provided", - "organization": "University of Melbourne De Brettville Trust" - }, - { - "grant_id": "not provided", - "organization": "Kel and Rosie Day Foundation" - }, - { - "grant_id": "not provided", - "organization": "Great Ormond Street Hospital Children's Charity" - } - ], - "publications": [ - { - "authors": [ - "Lukowski SW", - "Lo CY", - "Sharov AA", - "Nguyen Q", - "Fang L", - "Hung SS", - "Zhu L", - "Zhang T", - "Gr\u00fcnert U", - "Nguyen T", - "Senabouth A", - "Jabbari JS", - "Welby E", - "Sowden JC", - "Waugh HS", - "Mackey A", - "Pollock G", - "Lamb TD", - "Wang PY", - "Hewitt AW", - "Gillies MC", - "Powell JE", - "Wong RC" - ], - "title": "A single\u2010cell transcriptome atlas of the adult human retina", - "doi": "10.15252/embj.2018100811", - "pmid": 31436334, - "url": "https://www.ncbi.nlm.nih.gov/pubmed/31436334" - } - ], - "provenance": { - "document_id": "8185730f-4113-40d3-9cc3-929271784c2b", - "submission_date": "2019-09-13T08:37:50.384Z", - "update_date": "2019-09-13T08:37:53.825Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.1/links", - "schema_type": "links", - "schema_version": "2.1.1", - "links": [ - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "8185730f-4113-40d3-9cc3-929271784c2b" - }, - "files": [ - { - "file_id": "538faa28-3235-5e4b-a998-5672e2d964e8", - "file_type": "supplementary_file" - }, - { - "file_id": "8d2ba1c1-bc9f-5c2a-a74d-fe5e09bdfb18", - "file_type": "supplementary_file" - }, - { - "file_id": "6c142250-567c-5b63-bd4f-0d78499863f8", - "file_type": "supplementary_file" - } - ] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/8543d32f-4c01-48d5-a79f-1c5439659da3.dss.hca.json b/test/indexer/data/8543d32f-4c01-48d5-a79f-1c5439659da3.dss.hca.json deleted file mode 100644 index 61894ccc16..0000000000 --- a/test/indexer/data/8543d32f-4c01-48d5-a79f-1c5439659da3.dss.hca.json +++ /dev/null @@ -1,683 +0,0 @@ -{ - "manifest": { - "sequence_file/f599ea3f-14bb-4504-82ce-d9c1f26e55fa": { - "sha1": "1a8474913153e6a7c16dd763d1699f89a4f7bbd4", - "name": "21935_7#154_2.fastq.gz", - "uuid": "f599ea3f-14bb-4504-82ce-d9c1f26e55fa", - "crc32c": "11f24fae", - "version": "2018-03-29T14:38:22.981906Z", - "indexed": false, - "s3_etag": "458178a3e8b7fe36cd3fc1ebb7e6a579", - "sha256": "9e2c73848d0adc0d08d1c8a615c3c30e6ee37074d46c0a1e54ed2636af53a779", - "content-type": "application/gzip; dcp-type=data", - "size": 27752653 - }, - "sequence_file/b2cd6fb7-6612-4ab9-a1c5-e475663437e3": { - "sha1": "e9b11d1080f64f20b9bc6363c0efcef45d535dfc", - "name": "21935_7#154_1.fastq.gz", - "uuid": "b2cd6fb7-6612-4ab9-a1c5-e475663437e3", - "crc32c": "a6cd22c1", - "version": "2018-03-29T14:38:21.818978Z", - "indexed": false, - "s3_etag": "4562ec66c65534dfe2afac3a78eeb561", - "sha256": "71c03f7dd1f7530a765beef49901a4d576806cec36ca0b407de738e79923b0f4", - "content-type": "application/gzip; dcp-type=data", - "size": 27436668 - } - }, - "metadata": { - "project/93f6a42f-1790-4af4-b5d1-8c436cb6feae": { - "content": { - "describedBy": "https://schema.humancellatlas.org/type/project/5.1.0/project", - "project_core": { - "project_short_name": "Mouse Melanoma", - "project_description": "The cancer microenvironment is a complex ecosystem characterized by dynamic interactions between diverse cell types, including malignant, immune and stromal cells. Here, we performed single-cell RNA sequencing on CD45+ and CD45- cells isolated from tumour and lymph nodes during a mouse model of melanoma. The transcriptional profiles of these individual cells taken at different time points coupled with assembled T cell receptor sequences, allowed us to identify distinct immune subpopulations and delineate their developmental trajectory. Our study provides insights into the complex interplay among cells within the tumour microenvironment and presents a valuable resource for future translational applications.", - "project_title": "Melanoma infiltration of stromal and immune cells" - }, - "publications": [ - { - "describedBy": "http://schema.humancellatlas.org/module/project/5.2.2/publication", - "authors": [ - "Katrina Meeth", - "Jake Wang", - "Goran Micevic", - "William Damsky", - "Marcus W. Bosenberg" - ], - "publication_title": "The YUMM lines: a series of congenic mouse melanoma cell lines with defined genetic alterations", - "doi": "10.1111/pcmr.12498", - "pmid": 5331933, - "publication_url": "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5331933/" - } - ], - "contributors": [ - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Sarah,A,Teichmann", - "email": "st9@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Mirjana,,Efremova", - "email": "me5@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Bidesh,,Mahata", - "email": "bm11@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "laboratory": "MRC Cancer Unit", - "contact_name": "Jacqueline,D,Shields", - "email": "JS970@MRCCU.cam.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "laboratory": "MRC Cancer Unit", - "contact_name": "Sarah,,Davidson", - "email": "SED49@MRCCU.cam.ac.uk", - "corresponding_contributor": false - }, - { - "country": "Germany", - "contact_name": "Angela,,Riedel", - "email": "a.riedel@dkfz-heidelberg.de", - "institution": "DKFZ German Cancer Research Center", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Roser,,Veno-Tormo", - "email": "rv4@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Jhuma,,Pramanik", - "email": "jp19@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "EMBL-EBI", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Gozde,,Kar", - "email": "gkar@ebi.ac.uk", - "corresponding_contributor": false - }, - { - "country": "Finland", - "contact_name": "Jani,,Huuhtanen", - "email": "jani.huuhtanen@helsinki.fi", - "institution": "University of Helsinki", - "corresponding_contributor": true - } - ], - "schema_type": "project" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.025Z", - "updateDate": "2018-03-28T14:27:32.460Z", - "document_id": "93f6a42f-1790-4af4-b5d1-8c436cb6feae" - }, - "describedBy": "https://schema.humancellatlas.org/bundle/5.1.0/project", - "schema_version": "5.1.0", - "schema_type": "project_bundle" - }, - "cell_suspension/54a80c57-0409-4f57-9699-8a2f8cbace43": { - "content": { - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "total_estimated_cells": 1, - "target_cell_type": [ - { - "text": "CD4+ T cell", - "ontology": "CL:0000624" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1134_LN", - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "21935_7#154" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:00:04.041Z", - "updateDate": "2018-03-28T14:47:04.573Z", - "document_id": "54a80c57-0409-4f57-9699-8a2f8cbace43" - } - }, - "specimen_from_organism/b3623b88-c369-46c9-a2e9-a16042d2c589": { - "content": { - "organ": { - "text": "lymph node" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1134", - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "1134_LN", - "supplementary_files": [ - "FACS_sorting_markers.pdf" - ], - "biomaterial_name": "Mouse_day11_LN_rep1" - }, - "organ_part": { - "text": "UBERON:0000029" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:59:13.295Z", - "updateDate": "2018-03-28T14:12:34.135Z", - "document_id": "b3623b88-c369-46c9-a2e9-a16042d2c589" - } - }, - "donor_organism/665b75b4-8638-4a15-83e5-f3928dd29314": { - "content": { - "is_living": false, - "mus_musculus_specific": { - "strain": [ - { - "text": "C57BL/6" - } - ] - }, - "biological_sex": "female", - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "disease": [ - { - "text": "subcutaneous melanoma", - "ontology": "EFO:0000756" - } - ], - "organism_age": "6-12", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "1134", - "biomaterial_name": "Mouse_day11_rep1" - }, - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:51.172Z", - "updateDate": "2018-03-28T14:22:45.353Z", - "document_id": "665b75b4-8638-4a15-83e5-f3928dd29314" - } - }, - "sequence_file/b2cd6fb7-6612-4ab9-a1c5-e475663437e3": { - "content": { - "file_core": { - "file_name": "21935_7#154_1.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 7, - "read_index": "read1", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-28T14:01:07.788Z", - "document_id": "b2cd6fb7-6612-4ab9-a1c5-e475663437e3" - } - }, - "sequence_file/f599ea3f-14bb-4504-82ce-d9c1f26e55fa": { - "content": { - "file_core": { - "file_name": "21935_7#154_2.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 7, - "read_index": "read2", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-28T14:01:07.794Z", - "document_id": "f599ea3f-14bb-4504-82ce-d9c1f26e55fa" - } - }, - "dissociation_process/b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_id": "TissueDissociationProcess", - "process_name": "Extracting cells from lymph nodes" - }, - "dissociation_method": "mechanical", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:04:14.574Z", - "updateDate": "2018-03-28T14:13:28.361Z", - "document_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902" - } - }, - "process/7a408c1b-d2f2-49d8-b390-37ba6d61e692": { - "content": { - "process_core": { - "process_id": "sampling_process_38" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:00:19.848Z", - "updateDate": "2018-03-28T14:07:42.787Z", - "document_id": "7a408c1b-d2f2-49d8-b390-37ba6d61e692" - } - }, - "enrichment_process/87beb50f-521d-4102-9cb0-ca7b6f151afc": { - "content": { - "enrichment_method": "FACS", - "process_core": { - "process_id": "FACS1" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/enrichment_process", - "markers": "CD45+ CD3e+ CD8a+", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:05:22.303Z", - "updateDate": "2018-03-28T14:26:50.868Z", - "document_id": "87beb50f-521d-4102-9cb0-ca7b6f151afc" - } - }, - "enrichment_process/8caf3d2b-7dba-40ca-a2d7-c69b433ba70b": { - "content": { - "enrichment_method": "FACS", - "process_core": { - "process_id": "FACS5" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/enrichment_process", - "markers": "CD45+ CD3e+ CD4+", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:05:22.316Z", - "updateDate": "2018-03-28T14:25:31.688Z", - "document_id": "8caf3d2b-7dba-40ca-a2d7-c69b433ba70b" - } - }, - "enrichment_process/5a801f3d-12b0-4374-aed9-deee905b55ef": { - "content": { - "enrichment_method": "FACS", - "process_core": { - "process_id": "FACS7.5" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/enrichment_process", - "markers": "CD45+ IL7Ra+", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:05:48.253Z", - "updateDate": "2018-03-28T14:41:58.259Z", - "document_id": "5a801f3d-12b0-4374-aed9-deee905b55ef" - } - }, - "library_preparation_process/687065f3-c70f-46c3-8452-a5eead33a1bf": { - "content": { - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "process_core": { - "process_id": "lib_prep_1", - "process_name": "Library preparation process" - }, - "umi_barcode": { - "barcode_offset": 0, - "barcode_length": 16, - "barcode_read": "Read 1" - }, - "library_construction_approach": "Smart-seq2", - "schema_type": "process", - "end_bias": "full length", - "primer": "poly-dT", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/library_preparation_process", - "strand": "unstranded" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:05:43.803Z", - "updateDate": "2018-03-28T14:43:01.679Z", - "document_id": "687065f3-c70f-46c3-8452-a5eead33a1bf" - } - }, - "sequencing_process/66551017-88b4-431d-ab33-c3a805f37bdf": { - "content": { - "paired_ends": true, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008567" - }, - "process_core": { - "process_id": "seq_1606", - "process_name": "Sequencing process" - }, - "smartseq2": { - "well_name": "D05", - "plate_id": "569" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/sequencing_process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:03:57.024Z", - "updateDate": "2018-03-28T14:35:03.716Z", - "document_id": "66551017-88b4-431d-ab33-c3a805f37bdf" - } - }, - "protocol/c9a1e203-bddc-45d3-87c4-6010be8e0127": { - "content": { - "protocol_core": { - "protocol_name": "Extracting cells from lymph nodes", - "document": "TissueDissociationProtocol.pdf", - "protocol_id": "tissue_dissociation_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.033Z", - "updateDate": "2018-03-28T14:14:33.716Z", - "document_id": "c9a1e203-bddc-45d3-87c4-6010be8e0127" - } - }, - "protocol/a1c80daf-58b0-4b7a-8e29-d0130493c8e6": { - "content": { - "protocol_core": { - "protocol_name": "FACS sorting cells by surface markers", - "document": "FACSsortingProtocol.pdf", - "protocol_id": "FACS_sorting_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.040Z", - "updateDate": "2018-03-28T14:45:43.500Z", - "document_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6" - } - }, - "protocol/52d79a89-4b49-4c1b-b857-5cc5da07f643": { - "content": { - "protocol_core": { - "protocol_name": "Make/amplify cDNA for each cell", - "document": "SmartSeq2_RTPCR_protocol.pdf", - "protocol_id": "SmartSeq2_RTPCR_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "Smart-seq2 protocol", - "ontology": "EFO:0008442" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.044Z", - "updateDate": "2018-03-28T14:24:04.790Z", - "document_id": "52d79a89-4b49-4c1b-b857-5cc5da07f643" - } - }, - "protocol/ca6096cf-13c1-4930-8308-6ab05865e2c9": { - "content": { - "protocol_core": { - "protocol_name": "Sequencing SmartSeq2 cells", - "protocol_id": "SmartSeq2_sequencing_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.050Z", - "updateDate": "2018-03-28T14:30:39.321Z", - "document_id": "ca6096cf-13c1-4930-8308-6ab05865e2c9" - } - } - }, - "links": { - "links": [ - { - "source_id": "b3623b88-c369-46c9-a2e9-a16042d2c589", - "source_type": "biomaterial", - "destination_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "destination_type": "dissociation_process" - }, - { - "source_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "source_type": "dissociation_process", - "destination_id": "54a80c57-0409-4f57-9699-8a2f8cbace43", - "destination_type": "biomaterial" - }, - { - "source_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "source_type": "dissociation_process", - "destination_id": "c9a1e203-bddc-45d3-87c4-6010be8e0127", - "destination_type": "protocol" - }, - { - "source_id": "7a408c1b-d2f2-49d8-b390-37ba6d61e692", - "source_type": "process", - "destination_id": "b3623b88-c369-46c9-a2e9-a16042d2c589", - "destination_type": "biomaterial" - }, - { - "source_id": "665b75b4-8638-4a15-83e5-f3928dd29314", - "source_type": "biomaterial", - "destination_id": "7a408c1b-d2f2-49d8-b390-37ba6d61e692", - "destination_type": "process" - }, - { - "source_id": "b3623b88-c369-46c9-a2e9-a16042d2c589", - "source_type": "biomaterial", - "destination_id": "87beb50f-521d-4102-9cb0-ca7b6f151afc", - "destination_type": "enrichment_process" - }, - { - "source_id": "87beb50f-521d-4102-9cb0-ca7b6f151afc", - "source_type": "enrichment_process", - "destination_id": "54a80c57-0409-4f57-9699-8a2f8cbace43", - "destination_type": "biomaterial" - }, - { - "source_id": "87beb50f-521d-4102-9cb0-ca7b6f151afc", - "source_type": "enrichment_process", - "destination_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6", - "destination_type": "protocol" - }, - { - "source_id": "7a408c1b-d2f2-49d8-b390-37ba6d61e692", - "source_type": "process", - "destination_id": "b3623b88-c369-46c9-a2e9-a16042d2c589", - "destination_type": "biomaterial" - }, - { - "source_id": "665b75b4-8638-4a15-83e5-f3928dd29314", - "source_type": "biomaterial", - "destination_id": "7a408c1b-d2f2-49d8-b390-37ba6d61e692", - "destination_type": "process" - }, - { - "source_id": "b3623b88-c369-46c9-a2e9-a16042d2c589", - "source_type": "biomaterial", - "destination_id": "8caf3d2b-7dba-40ca-a2d7-c69b433ba70b", - "destination_type": "enrichment_process" - }, - { - "source_id": "8caf3d2b-7dba-40ca-a2d7-c69b433ba70b", - "source_type": "enrichment_process", - "destination_id": "54a80c57-0409-4f57-9699-8a2f8cbace43", - "destination_type": "biomaterial" - }, - { - "source_id": "8caf3d2b-7dba-40ca-a2d7-c69b433ba70b", - "source_type": "enrichment_process", - "destination_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6", - "destination_type": "protocol" - }, - { - "source_id": "7a408c1b-d2f2-49d8-b390-37ba6d61e692", - "source_type": "process", - "destination_id": "b3623b88-c369-46c9-a2e9-a16042d2c589", - "destination_type": "biomaterial" - }, - { - "source_id": "665b75b4-8638-4a15-83e5-f3928dd29314", - "source_type": "biomaterial", - "destination_id": "7a408c1b-d2f2-49d8-b390-37ba6d61e692", - "destination_type": "process" - }, - { - "source_id": "b3623b88-c369-46c9-a2e9-a16042d2c589", - "source_type": "biomaterial", - "destination_id": "5a801f3d-12b0-4374-aed9-deee905b55ef", - "destination_type": "enrichment_process" - }, - { - "source_id": "5a801f3d-12b0-4374-aed9-deee905b55ef", - "source_type": "enrichment_process", - "destination_id": "54a80c57-0409-4f57-9699-8a2f8cbace43", - "destination_type": "biomaterial" - }, - { - "source_id": "5a801f3d-12b0-4374-aed9-deee905b55ef", - "source_type": "enrichment_process", - "destination_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6", - "destination_type": "protocol" - }, - { - "source_id": "7a408c1b-d2f2-49d8-b390-37ba6d61e692", - "source_type": "process", - "destination_id": "b3623b88-c369-46c9-a2e9-a16042d2c589", - "destination_type": "biomaterial" - }, - { - "source_id": "665b75b4-8638-4a15-83e5-f3928dd29314", - "source_type": "biomaterial", - "destination_id": "7a408c1b-d2f2-49d8-b390-37ba6d61e692", - "destination_type": "process" - }, - { - "source_id": "54a80c57-0409-4f57-9699-8a2f8cbace43", - "source_type": "biomaterial", - "destination_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "destination_type": "library_preparation_process" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "b2cd6fb7-6612-4ab9-a1c5-e475663437e3", - "destination_type": "file" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "f599ea3f-14bb-4504-82ce-d9c1f26e55fa", - "destination_type": "file" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "52d79a89-4b49-4c1b-b857-5cc5da07f643", - "destination_type": "protocol" - }, - { - "source_id": "54a80c57-0409-4f57-9699-8a2f8cbace43", - "source_type": "biomaterial", - "destination_id": "66551017-88b4-431d-ab33-c3a805f37bdf", - "destination_type": "sequencing_process" - }, - { - "source_id": "66551017-88b4-431d-ab33-c3a805f37bdf", - "source_type": "sequencing_process", - "destination_id": "b2cd6fb7-6612-4ab9-a1c5-e475663437e3", - "destination_type": "file" - }, - { - "source_id": "66551017-88b4-431d-ab33-c3a805f37bdf", - "source_type": "sequencing_process", - "destination_id": "f599ea3f-14bb-4504-82ce-d9c1f26e55fa", - "destination_type": "file" - }, - { - "source_id": "66551017-88b4-431d-ab33-c3a805f37bdf", - "source_type": "sequencing_process", - "destination_id": "ca6096cf-13c1-4930-8308-6ab05865e2c9", - "destination_type": "protocol" - } - ], - "describedBy": "https://schema.humancellatlas.org/bundle/1.0.0/links", - "schema_version": "1.0.0", - "schema_type": "link_bundle" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/8c1773c3-1885-545f-9381-0dab1edf6074.dss.hca.json b/test/indexer/data/8c1773c3-1885-545f-9381-0dab1edf6074.dss.hca.json deleted file mode 100644 index bb86b5ce8c..0000000000 --- a/test/indexer/data/8c1773c3-1885-545f-9381-0dab1edf6074.dss.hca.json +++ /dev/null @@ -1,543 +0,0 @@ -{ - "manifest": { - "sequence_file/31786d8d-d046-58d1-b7b4-49bc1114a0f8": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "50660f48", - "indexed": false, - "name": "6330STDY9479159_S1_L001_I1_001.fastq.gz", - "s3_etag": "4d20b082c378011bd1049f0308c94286", - "sha1": "a986254427c3fc3bb80af5efadac21ef5fec0043", - "sha256": "50f5bb493c1291e6c1b5c716963b7bd5c9a8158b3c26561d00c5ee0ae2dc4d64", - "size": 185, - "uuid": "92855c6f-2807-50b6-a2a4-19b13c71aa65", - "version": "2021-01-01T00:00:00.000000Z" - }, - "sequence_file/6a0e071d-9bfc-5e12-b1b9-e887885e12f6": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "50660f48", - "indexed": false, - "name": "6330STDY9479159_S1_L001_R1_001.fastq.gz", - "s3_etag": "4d20b082c378011bd1049f0308c94286", - "sha1": "a986254427c3fc3bb80af5efadac21ef5fec0043", - "sha256": "50f5bb493c1291e6c1b5c716963b7bd5c9a8158b3c26561d00c5ee0ae2dc4d64", - "size": 185, - "uuid": "c2fe321a-487d-5e53-83d3-766aad105c4f", - "version": "2021-01-01T00:00:00.000000Z" - }, - "sequence_file/f6abda5c-65f3-5015-8167-ae78b96f5693": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "50660f48", - "indexed": false, - "name": "6330STDY9479159_S1_L001_R2_001.fastq.gz", - "s3_etag": "4d20b082c378011bd1049f0308c94286", - "sha1": "a986254427c3fc3bb80af5efadac21ef5fec0043", - "sha256": "50f5bb493c1291e6c1b5c716963b7bd5c9a8158b3c26561d00c5ee0ae2dc4d64", - "size": 185, - "uuid": "b613022f-86b4-50ab-9ca2-7dfe2bc27bef", - "version": "2021-01-01T00:00:00.000000Z" - } - }, - "metadata": { - "project/90bf705c-d891-5ce2-aa54-094488b445c6": { - "array_express_accessions": [ - "E-MTAB-10026" - ], - "contributors": [ - { - "corresponding_contributor": true, - "email": "m.a.haniffa@ncl.ac.uk", - "institution": "Newcastle University", - "name": "Muzlifah,,Hannifa", - "project_role": { - "text": "principal investigator" - } - } - ], - "dbgap_accessions": [ - "phs001997.v1.p1", - "phs001836" - ], - "describedBy": "https://schema.staging.data.humancellatlas.org/type/project/17.0.0/project", - "ega_accessions": [ - "EGAS00000000001", - "EGAD00000000002" - ], - "estimated_cell_count": 10000, - "funders": [ - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome Human Cell Atlas Strategic Science Support" - }, - { - "grant_id": "WT107931/Z/15/Z", - "organization": "Wellcome" - }, - { - "grant_id": "206328/Z/17/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S036113/1", - "organization": "MRC" - }, - { - "grant_id": "WT206194", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S0358421/1", - "organization": "MRC" - }, - { - "grant_id": "C9545/A29580", - "organization": "CRUK" - }, - { - "grant_id": "21777", - "organization": "Versus Arthiritis Cure Challenge Research Grant" - }, - { - "grant_id": "RP-2017-08-ST2-002", - "organization": "NIHR" - }, - { - "grant_id": "21355/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "2017-174169", - "organization": "CZI" - }, - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/5005579/1", - "organization": "UK Regenerative Medicine Platform" - }, - { - "grant_id": "CL-2017-01-004", - "organization": "NIHR" - }, - { - "grant_id": "ME 5209/1-1", - "organization": "DFG Research Fellowship" - }, - { - "grant_id": "21115", - "organization": "Wellcome" - } - ], - "project_core": { - "project_description": "The COVID-19 pandemic, caused by SARS coronavirus 2 (SARS-CoV-2), has resulted in excess morbidity and mortality as well as economic decline. To characterise the systemic host immune response to SARS-CoV-2, we performed single-cell RNA-sequencing coupled with analysis of cell surface proteins, providing molecular profiling of over 800,000 peripheral blood mononuclear cells from a cohort of 130 patients with COVID-19. Our cohort, from three UK centres, spans the spectrum of clinical presentations and disease severities ranging from asymptomatic to critical. Three control groups were included: healthy volunteers, patients suffering from a non-COVID-19 severe respiratory illness and healthy individuals administered with intravenous lipopolysaccharide to model an acute inflammatory response. Full single cell transcriptomes coupled with quantification of 188 cell surface proteins, and T and B lymphocyte antigen receptor repertoires have provided several insights into COVID-19: 1. a new non-classical monocyte state that sequesters platelets and replenishes the alveolar macrophage pool; 2. platelet activation accompanied by early priming towards megakaryopoiesis in immature haematopoietic stem/progenitor cells and expansion of megakaryocyte-primed progenitors; 3. increased clonally expanded CD8+ effector:effector memory T cells, and proliferating CD4+ and CD8+ T cells in patients with more severe disease; and 4. relative increase of IgA plasmablasts in asymptomatic stages that switches to expansion of IgG plasmablasts and plasma cells, accompanied with higher incidence of BCR sharing, as disease severity increases. All data and analysis results are available for interrogation and data mining through an intuitive web portal. Together, these data detail the cellular processes present in peripheral blood during an acute immune response to COVID-19, and serve as a template for multi-omic single cell data integration across multiple centers to rapidly build powerful resources to help combat diseases such as COVID-19.", - "project_short_name": "Covid19PBMC", - "project_title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres" - }, - "provenance": { - "document_id": "90bf705c-d891-5ce2-aa54-094488b445c6", - "schema_major_version": 17, - "schema_minor_version": 0, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "publications": [ - { - "authors": [ - "Muzlifa Hannifa" - ], - "doi": "10.1101/2021.01.13.21249725", - "official_hca_publication": true, - "pmid": 33879890, - "title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres", - "url": "https://www.medrxiv.org/content/10.1101/2021.01.13.21249725v1.full" - } - ], - "schema_type": "project" - }, - "process/8c1773c3-1885-545f-9381-0dab1edf6074": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "8c1773c3-1885-545f-9381-0dab1edf6074", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/ae8529dc-3bc9-5061-828a-3c5dfacded64": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "ae8529dc-3bc9-5061-828a-3c5dfacded64", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/c6b932ff-69f1-58b1-a6e6-30319f04541b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "c6b932ff-69f1-58b1-a6e6-30319f04541b", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "imaged_specimen/0bf91a05-85df-5d7d-bcc0-a625c5921de2": { - "biomaterial_core": { - "biomaterial_id": "AP3_imagedspecimen", - "biomaterial_name": "AP3_imagedspecimen", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/3.3.0/imaged_specimen", - "provenance": { - "document_id": "0bf91a05-85df-5d7d-bcc0-a625c5921de2", - "schema_major_version": 3, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "slice_thickness": 10.0 - }, - "sequence_file/31786d8d-d046-58d1-b7b4-49bc1114a0f8": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/9.5.0/sequence_file", - "file_core": { - "file_name": "6330STDY9479159_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz" - }, - "provenance": { - "document_id": "31786d8d-d046-58d1-b7b4-49bc1114a0f8", - "schema_major_version": 9, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "read_index": "index1", - "schema_type": "file" - }, - "sequence_file/6a0e071d-9bfc-5e12-b1b9-e887885e12f6": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/9.5.0/sequence_file", - "file_core": { - "file_name": "6330STDY9479159_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz" - }, - "provenance": { - "document_id": "6a0e071d-9bfc-5e12-b1b9-e887885e12f6", - "schema_major_version": 9, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "read_index": "read1", - "schema_type": "file" - }, - "sequence_file/f6abda5c-65f3-5015-8167-ae78b96f5693": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/9.5.0/sequence_file", - "file_core": { - "file_name": "6330STDY9479159_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz" - }, - "provenance": { - "document_id": "f6abda5c-65f3-5015-8167-ae78b96f5693", - "schema_major_version": 9, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "read_index": "read2", - "schema_type": "file" - }, - "library_preparation_protocol/83f14748-af1c-57aa-9088-6cb1cdd4bba4": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/sequencing/6.3.1/library_preparation_protocol", - "end_bias": "3 prime end bias", - "input_nucleic_acid_molecule": { - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA", - "text": "polyA RNA" - }, - "library_construction_method": { - "ontology": "EFO:0010961", - "ontology_label": "Visium Spatial Gene Expression", - "text": "Visium Spatial Gene Expression" - }, - "nominal_length": 350, - "nominal_sdev": 50, - "nucleic_acid_source": "single nucleus", - "protocol_core": { - "protocol_description": "The Visium spatial gene expression protocol from 10X Genomics was performed using Library Preparation slide and following the manufacturer\u2019s protocol.After transcript capture, Visium Library Preparation Protocol from 10x Genomics was performed.", - "protocol_id": "HumanVisiumLibraryPrep" - }, - "provenance": { - "document_id": "83f14748-af1c-57aa-9088-6cb1cdd4bba4", - "schema_major_version": 6, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol", - "spatial_barcode": { - "barcode_length": 16, - "barcode_offset": 0, - "barcode_read": "Read 1" - }, - "strand": "second", - "umi_barcode": { - "barcode_length": 12, - "barcode_offset": 16, - "barcode_read": "Read 1" - } - }, - "sequencing_protocol/1b8dfafd-178f-5826-a661-8a022334aaeb": { - "10x": { - "fastq_method": "Cellranger", - "fastq_method_version": "Cellranger 4.0", - "pooled_channels": 4.0 - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "instrument_manufacturer_model": { - "ontology_label": "EFO_0008637", - "text": "Illumina NovaSeq 6000" - }, - "local_machine_name": "Illumina NovaSeq 6000", - "method": { - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing", - "text": "tag based single cell RNA sequencing" - }, - "paired_end": true, - "protocol_core": { - "protocol_description": "Samples were sequenced using a NovaSeq 6000 (Illumina), using S1 flowcells.", - "protocol_id": "Cambridge_Sequencing" - }, - "provenance": { - "document_id": "1b8dfafd-178f-5826-a661-8a022334aaeb", - "schema_major_version": 10, - "schema_minor_version": 1, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - }, - "specimen_from_organism/9a0bb729-552a-5f6e-9ed6-1f988c259531": { - "biomaterial_core": { - "biomaterial_id": "AP3_specimen", - "biomaterial_name": "AP2_specimen", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/10.5.0/specimen_from_organism", - "diseases": [ - { - "ontology": "MONDO:0100096", - "ontology_label": "COVID-19", - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "organ": { - "ontology": "UBERON:0000178", - "ontology_label": "blood", - "text": "blood" - }, - "provenance": { - "document_id": "9a0bb729-552a-5f6e-9ed6-1f988c259531", - "schema_major_version": 10, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial" - }, - "imaging_preparation_protocol/7cd840db-f395-5a61-bd17-72c2b2319c23": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/imaging/2.3.0/imaging_preparation_protocol", - "protocol_core": { - "protocol_description": "All tissues were sectioned using the Leica CX3050S cryostat and were cut at 10um. Tissue optimization was performed to obtain permeabilization time for fetal tissue (12 min).", - "protocol_id": "HumanVisiumSpatialLibraryPrep" - }, - "provenance": { - "document_id": "7cd840db-f395-5a61-bd17-72c2b2319c23", - "schema_major_version": 2, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - }, - "donor_organism/2d7b50d8-cd06-5408-9fde-1faed01c9ab2": { - "biomaterial_core": { - "biomaterial_id": "AP3", - "biomaterial_name": "Sanger_AP3", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/15.6.1/donor_organism", - "development_stage": { - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage", - "text": "human adult stage" - }, - "diseases": [ - { - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "is_living": "yes", - "organism_age": "66", - "organism_age_unit": { - "ontology": "UO:0000036", - "ontology_label": "year", - "text": "year" - }, - "provenance": { - "document_id": "2d7b50d8-cd06-5408-9fde-1faed01c9ab2", - "schema_major_version": 15, - "schema_minor_version": 6, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "sex": "unknown" - }, - "collection_protocol/c5752f73-3511-55e1-95af-040ab3924bce": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "method": { - "ontology": "EFO:0009121", - "ontology_label": "blood draw", - "text": "blood draw" - }, - "protocol_core": { - "protocol_description": "Subjects 18 years and older were included from two large hospital sites in London, United Kingdom, namely University College London Hospitals NHS Foundation Trust and Royal Free London NHS Foundation Trust during the height of the pandemic in the United Kingdom (April to July 2020). Ethical approval was given through the Living Airway Biobank, administered through UCL Great Ormond Street Institute of Child Health (REC reference: 19/NW/0171, IRAS project ID 261511), as well as by the local R&D departments at both hospitals. At daily virtual COVID-19 co-ordination meetings suitable patients were chosen from a list of newly diagnosed and admitted patients within the preceding 24 h (based on a positive nasopharyngeal swab for SARS-CoV-2). Patients with typical clinical and radiological COVID-19 features but with a negative screening test for SARS-CoV-2 were excluded. Other excluding criteria included active haematological malignancy or cancer, known immunodeficiencies, sepsis from any cause and blood transfusion within 4 weeks. Maximal severity of COVID-19 was determined retrospectively by determining the presence of symptoms, the need of oxygen supplementation and the level of respiratory support. Peripheral blood sampling was performed prior to inclusion to any pharmacological interventional trials.\n\nSamples were collected and transferred to a Category Level 3 facility at University College London and processed within 2 h of sample collection. Peripheral blood was centrifuged after adding Ficoll Paque Plus and PBMCs, serum and neutrophils separated, collected and frozen for later processing.", - "protocol_id": "UCL_Collection" - }, - "provenance": { - "document_id": "c5752f73-3511-55e1-95af-040ab3924bce", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - } - }, - "links": { - "describedBy": "https://schema.staging.data.humancellatlas.org/system/3.1.0/links", - "links": [ - { - "inputs": [ - { - "input_id": "0bf91a05-85df-5d7d-bcc0-a625c5921de2", - "input_type": "imaged_specimen" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "31786d8d-d046-58d1-b7b4-49bc1114a0f8", - "output_type": "sequence_file" - }, - { - "output_id": "6a0e071d-9bfc-5e12-b1b9-e887885e12f6", - "output_type": "sequence_file" - }, - { - "output_id": "f6abda5c-65f3-5015-8167-ae78b96f5693", - "output_type": "sequence_file" - } - ], - "process_id": "8c1773c3-1885-545f-9381-0dab1edf6074", - "process_type": "process", - "protocols": [ - { - "protocol_id": "83f14748-af1c-57aa-9088-6cb1cdd4bba4", - "protocol_type": "library_preparation_protocol" - }, - { - "protocol_id": "1b8dfafd-178f-5826-a661-8a022334aaeb", - "protocol_type": "sequencing_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "9a0bb729-552a-5f6e-9ed6-1f988c259531", - "input_type": "specimen_from_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "0bf91a05-85df-5d7d-bcc0-a625c5921de2", - "output_type": "imaged_specimen" - } - ], - "process_id": "ae8529dc-3bc9-5061-828a-3c5dfacded64", - "process_type": "process", - "protocols": [ - { - "protocol_id": "7cd840db-f395-5a61-bd17-72c2b2319c23", - "protocol_type": "imaging_preparation_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "2d7b50d8-cd06-5408-9fde-1faed01c9ab2", - "input_type": "donor_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "9a0bb729-552a-5f6e-9ed6-1f988c259531", - "output_type": "specimen_from_organism" - } - ], - "process_id": "c6b932ff-69f1-58b1-a6e6-30319f04541b", - "process_type": "process", - "protocols": [ - { - "protocol_id": "c5752f73-3511-55e1-95af-040ab3924bce", - "protocol_type": "collection_protocol" - } - ] - } - ], - "schema_type": "links", - "schema_version": "3.1.0" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/8c90d4fe-9a5d-4e3d-ada2-0414b666b880.dss.hca.json b/test/indexer/data/8c90d4fe-9a5d-4e3d-ada2-0414b666b880.dss.hca.json deleted file mode 100644 index aeb34aee4b..0000000000 --- a/test/indexer/data/8c90d4fe-9a5d-4e3d-ada2-0414b666b880.dss.hca.json +++ /dev/null @@ -1,1355 +0,0 @@ -{ - "manifest": { - "sequence_file/c0a69095-57ba-4eca-8cc7-fed514f35f43": { - - "name": "read-RA_si-AACCGTAA_lane-001-chunk-001_R1.fastq.gz", - "uuid": "f4146a80-2737-4299-8d9a-0ec685dbac8b", - "version": "2019-10-14T19:54:58.812291Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1930893034, - "indexed": false, - "crc32c": "290983db", - "sha1": "d46ebafce4e4f85909ab305905ba00e7560f263e", - "sha256": "5261bd1b3a167ade4437b6498d621084765cf1286ee4c7d552642dbc620c4ebd", - "s3_etag": "bd2a388d7c4304bf2e5da23c7768e884-29" - }, - "sequence_file/4a9b689f-5aad-4c30-b347-7b0d52ab3ecb": { - "name": "read-RA_si-AACCGTAA_lane-001-chunk-001_R2.fastq.gz", - "uuid": "1bd7afa9-cd85-43c7-8515-b5206c0ca07c", - "version": "2019-10-14T19:54:58.953689Z", - "content-type": "application/gzip; dcp-type=data", - "size": 5003553670, - "indexed": false, - "crc32c": "e9a1f6f0", - "sha1": "4a3d3995c1ffe8ed2792c4abc57d667d332cb9ae", - "sha256": "750c53478433c024f3fa34daa756b3c0df762374c61a1165ad35ac2b6e1711be", - "s3_etag": "1f0b116b90f2e0f4b5b3238a315af27c-75" - }, - "sequence_file/6fc876bc-5a8a-445c-8b41-77526203973b": { - "name": "read-RA_si-AACCGTAA_lane-002-chunk-001_R1.fastq.gz", - "uuid": "2893f2c5-d60f-41e4-9d18-984bda31e52f", - "version": "2019-10-14T19:54:59.157141Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1880367192, - "indexed": false, - "crc32c": "eaa745c0", - "sha1": "7b5b02f421e2fc1890b8c083e4f7b6abb077b819", - "sha256": "67aac81aae3376f6a7ac0208360a196121df8573a168c7b33eb797b6a43f136a", - "s3_etag": "2de9f20694ce5b5ec45a0b6c95b959c5-29" - }, - "sequence_file/d47c381f-cef0-432a-b2bb-49fb7a546ac1": { - "name": "read-RA_si-AACCGTAA_lane-002-chunk-001_R2.fastq.gz", - "uuid": "e0df1fab-7759-45df-ba8c-6d667be196c6", - "version": "2019-10-14T19:54:59.329884Z", - "content-type": "application/gzip; dcp-type=data", - "size": 4906624800, - "indexed": false, - "crc32c": "322e5eba", - "sha1": "e556ec8b10743f8d27ea2ff304bb841bcfebe8a9", - "sha256": "4c77631efaa109685e125a1ae1d71d987635847e8ffc3793c3415fbae7f9bad8", - "s3_etag": "9ac6946c54a589788f70b7ebe9804e4a-74" - }, - "sequence_file/b2a466dd-9de4-428c-9eda-f779d9ad672f": { - "name": "read-RA_si-CTAAACGG_lane-001-chunk-001_R1.fastq.gz", - "uuid": "2f66adc7-7d45-4c62-95e2-43ed081fa298", - "version": "2019-10-14T19:54:59.562610Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1621376642, - "indexed": false, - "crc32c": "3e128fd1", - "sha1": "0cdd32111cfaee35aa32b55a7f63f367d34950fd", - "sha256": "323b5235309ba7a7f6f5878f7b443fe3f29549b911ce4fcedd0623baa40fa19a", - "s3_etag": "51b046396b8ac6fc469e9d9f78da9a9b-25" - }, - "sequence_file/86102761-0ba7-43b6-a442-666db1296154": { - "name": "read-RA_si-CTAAACGG_lane-001-chunk-001_R2.fastq.gz", - "uuid": "69f63ebc-0803-41e1-8d78-7bb7449a88c3", - "version": "2019-10-14T19:54:59.734557Z", - "content-type": "application/gzip; dcp-type=data", - "size": 4136792617, - "indexed": false, - "crc32c": "4fd56916", - "sha1": "551aac2c380eef8e7a3da5eac0b83f86503b28ab", - "sha256": "881dfc80d43c2bc607a423e79ac03d0bf81929d09daabd72eec942633035e9d5", - "s3_etag": "b1f0da6f62bfbeb49d48de0629207d98-62" - }, - "sequence_file/0c4b6682-12ab-46e7-9756-07ec104b14b1": { - "name": "read-RA_si-CTAAACGG_lane-002-chunk-001_R1.fastq.gz", - "uuid": "cb6ad465-c82e-4c8c-a01a-e2d450b05605", - "version": "2019-10-14T19:54:59.934447Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1599893212, - "indexed": false, - "crc32c": "de0fc438", - "sha1": "4063423223015e93762a7e5ee8dc6e85883a88cd", - "sha256": "cdd9dd55d2eb3e374ddf8b6b1b4ed788b0a5b6302f24d22993c5fe39aaf6dcd4", - "s3_etag": "fdfb938eda2889cc2dba13cb1bc5eb0e-24" - }, - "sequence_file/f31358bc-064c-4185-ae23-af044804d591": { - "name": "read-RA_si-CTAAACGG_lane-002-chunk-001_R2.fastq.gz", - "uuid": "3f9f744e-dfeb-49ad-9b6b-5bdc7711542b", - "version": "2019-10-14T19:55:00.076677Z", - "content-type": "application/gzip; dcp-type=data", - "size": 4113858243, - "indexed": false, - "crc32c": "e95cdf5d", - "sha1": "ee3748d6660b7280cc72424138873c31c7870031", - "sha256": "caf5bc60ab523e81944766b35003eab729584a3cb6558ce36028832638e780c6", - "s3_etag": "c256670cbd093841ef68fc191603cca5-62" - }, - "sequence_file/a652744c-2d55-4181-b903-db411fa589b4": { - "name": "read-RA_si-GGTTTACT_lane-001-chunk-001_R1.fastq.gz", - "uuid": "02746e63-2bf3-48c4-99a9-203ae82e317f", - "version": "2019-10-14T19:55:00.305520Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1594667559, - "indexed": false, - "crc32c": "96f81fb4", - "sha1": "44dc9ab414adc1c1941427722c84452c9c41ddea", - "sha256": "c7c049ad79407eaf39e70b7f70d3d7928cfc46199505df68267f23e66bd4387b", - "s3_etag": "0c83eb53833b9493c4412f780ac3b9f3-24" - }, - "sequence_file/da3b3aa5-3bea-441b-b1d0-022f842ddda6": { - "name": "read-RA_si-GGTTTACT_lane-001-chunk-001_R2.fastq.gz", - "uuid": "a01cfd2b-ae29-47c5-9dac-42b7faf6bedf", - "version": "2019-10-14T19:55:00.441246Z", - "content-type": "application/gzip; dcp-type=data", - "size": 4116068394, - "indexed": false, - "crc32c": "29d567b8", - "sha1": "2f17792796b05e659de95433680d35f568dd8e91", - "sha256": "7c33f8ae017cf35350dd29d51b7e7a0c8e80912384d600c09d947bcace1b5da1", - "s3_etag": "5b8c3b3aec8ba9e8ffd70eee13b9faad-62" - }, - "sequence_file/96ae6850-32c6-4d89-87cb-2f5005ac65aa": { - "name": "read-RA_si-GGTTTACT_lane-002-chunk-001_R1.fastq.gz", - "uuid": "9989c2fc-2220-498c-8063-a8e93f1ad563", - "version": "2019-10-14T19:55:00.608106Z", - "content-type": "application/gzip; dcp-type=data", - "size": 1588528916, - "indexed": false, - "crc32c": "48afc1c8", - "sha1": "e6ececfa2ed53cf663233c259ccd2829800287f5", - "sha256": "0610035966a6671301225d50487926ec1ecd1547fff79d09f3f68926ac9dbbef", - "s3_etag": "26a31d9e604a325fde07aa092c19409b-24" - }, - "sequence_file/bb4b0758-444b-48c3-89a6-9ddcf61fe912": { - "name": "read-RA_si-GGTTTACT_lane-002-chunk-001_R2.fastq.gz", - "uuid": "b45a9d83-d09e-4177-8714-b495463d4596", - "version": "2019-10-14T19:55:00.749690Z", - "content-type": "application/gzip; dcp-type=data", - "size": 4129650386, - "indexed": false, - "crc32c": "1d98f441", - "sha1": "7b93c6847302d664534b1872a15b8e3f726a6dcf", - "sha256": "2166a03cadbf5bcf30e0af9774a6704cc6f877f41376f46db080c74a6ec85620", - "s3_etag": "bdfc6c92408fb7f0aff3db503fa57a6d-62" - }, - "sequence_file/b4308ad2-8a51-4b1e-95a3-da961a13dd70": { - "name": "read-RA_si-TCGGCGTC_lane-001-chunk-001_R1.fastq.gz", - "uuid": "1f6f344d-734d-47dd-8c0e-4a566aece198", - "version": "2019-10-14T19:55:04.648167Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2497223987, - "indexed": false, - "crc32c": "1c0e9111", - "sha1": "430502f754a6da91cbce55e015792c72f10cc2b2", - "sha256": "59b6e856c804408156af825d8e9548b9e63117dd0f26112e376fb94dd13bea64", - "s3_etag": "3c77c9680081c13bccfca980583aed2f-38" - }, - "sequence_file/2fa236c1-deb5-48a8-9961-3e2ee5cae2db": { - "name": "read-RA_si-TCGGCGTC_lane-001-chunk-001_R2.fastq.gz", - "uuid": "3423f8f0-b9e2-4f31-941e-d811ebc810df", - "version": "2019-10-14T19:55:04.933666Z", - "content-type": "application/gzip; dcp-type=data", - "size": 6430812110, - "indexed": false, - "crc32c": "24b77b7e", - "sha1": "a16e39639e74466dc0fccad6c51885b336e5f840", - "sha256": "d3aaa198d125b6e98fc99932f74ed7d775ee0a89876536c3b2aed233f4e22a6f", - "s3_etag": "8f774af28c90a781fcdffa92e753f033-96" - }, - "sequence_file/ff664ba7-b1f9-4fd2-b6ae-a12eb0111721": { - "name": "read-RA_si-TCGGCGTC_lane-002-chunk-001_R1.fastq.gz", - "uuid": "29de4b2c-f375-4d33-8495-98f70d8580e0", - "version": "2019-10-14T19:55:05.154353Z", - "content-type": "application/gzip; dcp-type=data", - "size": 2428439248, - "indexed": false, - "crc32c": "6d970dcc", - "sha1": "1c7c6112ffb31446ca75512ad7ada76952507ba9", - "sha256": "62550be237ead5b7e073f831963150e6a05218b0a8a52322109858f6646bbf00", - "s3_etag": "277ab2eef75bf8b90adca3810557a038-37" - }, - "sequence_file/899e967e-06c8-49d9-bd3f-4bef8d04e22b": { - "name": "read-RA_si-TCGGCGTC_lane-002-chunk-001_R2.fastq.gz", - "uuid": "ab7aec45-0a5e-4edb-bc77-748413fd0a36", - "version": "2019-10-14T19:55:05.312348Z", - "content-type": "application/gzip; dcp-type=data", - "size": 6290636255, - "indexed": false, - "crc32c": "f1af22f5", - "sha1": "5e834c335b0d218787751a296b607653a85d1b70", - "sha256": "b4ff31a894fb15a28f7d9f0e54a5b8c4b8a6a5c119e1af3a54fb852a253c268f", - "s3_etag": "d7fa94b852fb5a9c77c531a9fc8d6954-94" - } - }, - "metadata": { - "cell_suspension/26dd8b99-f4ad-4802-8d6d-cf372c819dcc": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Lib5-1_E7.5_GFP+", - "biomaterial_name": "E7.5 visceral endoderm", - "biomaterial_description": "GFP+ Visceral endoderm 7.5 days post fertilization", - "ncbi_taxon_id": [ - 10090 - ], - "genotype": "Afp - GFP" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "selected_cell_types": [ - { - "text": "endodermal cell", - "ontology": "CL:0000223", - "ontology_label": "endodermal cell" - } - ], - "estimated_cell_count": 3869, - "provenance": { - "document_id": "26dd8b99-f4ad-4802-8d6d-cf372c819dcc", - "submission_date": "2019-10-14T19:20:08.777Z", - "update_date": "2019-10-14T19:20:19.330Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "specimen_from_organism/efa34a7f-6a0b-4728-9038-b947d47a63c6": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "e7.5_visceral_and_definitive_endoderm_rep1", - "biomaterial_name": "E7.5 endoderm", - "biomaterial_description": "Visceral and definitive endoderm 7.5 days post fertilization", - "ncbi_taxon_id": [ - 10090 - ], - "genotype": "Afp - GFP" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "endoderm", - "ontology": "UBERON:0000925", - "ontology_label": "endoderm" - }, - "organ_parts": [ - { - "text": "visceral endoderm", - "ontology": "UBERON:0004877", - "ontology_label": "visceral endoderm" - }, - { - "text": "definitive endoderm", - "ontology": "UBERON:0005439", - "ontology_label": "definitive endoderm" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "efa34a7f-6a0b-4728-9038-b947d47a63c6", - "submission_date": "2019-10-14T19:20:08.635Z", - "update_date": "2019-10-14T19:20:15.694Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "donor_organism/a53d95b5-d1c7-4548-b2c0-479788085ab8": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "donor_5", - "biomaterial_name": "pregnant mouse E7.5 Afp-GFPTG/+12 mouse", - "biomaterial_description": "Mouse with Afp GFP reporter", - "ncbi_taxon_id": [ - 10090 - ], - "genotype": "Afp - GFP" - }, - "mouse_specific": { - "strain": [ - { - "text": "Afp - GFP mouse", - "ontology": "EFO:0010081", - "ontology_label": "Afp-GFP" - } - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "sex": "female", - "is_living": "no", - "organism_age": "4-6", - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "early adult stage", - "ontology": "EFO:0001272", - "ontology_label": "adult" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "a53d95b5-d1c7-4548-b2c0-479788085ab8", - "submission_date": "2019-10-14T19:20:08.564Z", - "update_date": "2019-10-14T19:20:15.294Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "sequence_file/c0a69095-57ba-4eca-8cc7-fed514f35f43": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-AACCGTAA_lane-001-chunk-001_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 26, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "c0a69095-57ba-4eca-8cc7-fed514f35f43", - "submission_date": "2019-10-14T19:20:08.985Z", - "update_date": "2019-10-14T19:24:39.051Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/4a9b689f-5aad-4c30-b347-7b0d52ab3ecb": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-AACCGTAA_lane-001-chunk-001_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 98, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "4a9b689f-5aad-4c30-b347-7b0d52ab3ecb", - "submission_date": "2019-10-14T19:20:08.992Z", - "update_date": "2019-10-14T19:27:28.475Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/6fc876bc-5a8a-445c-8b41-77526203973b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-AACCGTAA_lane-002-chunk-001_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 26, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "6fc876bc-5a8a-445c-8b41-77526203973b", - "submission_date": "2019-10-14T19:20:09Z", - "update_date": "2019-10-14T19:25:37.567Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/d47c381f-cef0-432a-b2bb-49fb7a546ac1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-AACCGTAA_lane-002-chunk-001_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 98, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "d47c381f-cef0-432a-b2bb-49fb7a546ac1", - "submission_date": "2019-10-14T19:20:09.008Z", - "update_date": "2019-10-14T19:27:24.178Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/b2a466dd-9de4-428c-9eda-f779d9ad672f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-CTAAACGG_lane-001-chunk-001_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 26, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "b2a466dd-9de4-428c-9eda-f779d9ad672f", - "submission_date": "2019-10-14T19:20:11.279Z", - "update_date": "2019-10-14T19:36:29.173Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/86102761-0ba7-43b6-a442-666db1296154": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-CTAAACGG_lane-001-chunk-001_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 98, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "86102761-0ba7-43b6-a442-666db1296154", - "submission_date": "2019-10-14T19:20:11.287Z", - "update_date": "2019-10-14T19:37:58.671Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/0c4b6682-12ab-46e7-9756-07ec104b14b1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-CTAAACGG_lane-002-chunk-001_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 26, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "0c4b6682-12ab-46e7-9756-07ec104b14b1", - "submission_date": "2019-10-14T19:20:11.295Z", - "update_date": "2019-10-14T19:36:28.957Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/f31358bc-064c-4185-ae23-af044804d591": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-CTAAACGG_lane-002-chunk-001_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 98, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "f31358bc-064c-4185-ae23-af044804d591", - "submission_date": "2019-10-14T19:20:11.305Z", - "update_date": "2019-10-14T19:37:57.258Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/a652744c-2d55-4181-b903-db411fa589b4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-GGTTTACT_lane-001-chunk-001_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 26, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "a652744c-2d55-4181-b903-db411fa589b4", - "submission_date": "2019-10-14T19:20:12.223Z", - "update_date": "2019-10-14T19:37:49.258Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/da3b3aa5-3bea-441b-b1d0-022f842ddda6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-GGTTTACT_lane-001-chunk-001_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 98, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "da3b3aa5-3bea-441b-b1d0-022f842ddda6", - "submission_date": "2019-10-14T19:20:12.231Z", - "update_date": "2019-10-14T19:39:50.546Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/96ae6850-32c6-4d89-87cb-2f5005ac65aa": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-GGTTTACT_lane-002-chunk-001_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 26, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "96ae6850-32c6-4d89-87cb-2f5005ac65aa", - "submission_date": "2019-10-14T19:20:12.239Z", - "update_date": "2019-10-14T19:37:50.076Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/bb4b0758-444b-48c3-89a6-9ddcf61fe912": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-GGTTTACT_lane-002-chunk-001_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 98, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "bb4b0758-444b-48c3-89a6-9ddcf61fe912", - "submission_date": "2019-10-14T19:20:12.247Z", - "update_date": "2019-10-14T19:39:50.982Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/b4308ad2-8a51-4b1e-95a3-da961a13dd70": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-TCGGCGTC_lane-001-chunk-001_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 26, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "b4308ad2-8a51-4b1e-95a3-da961a13dd70", - "submission_date": "2019-10-14T19:20:13.159Z", - "update_date": "2019-10-14T19:40:10.497Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/2fa236c1-deb5-48a8-9961-3e2ee5cae2db": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-TCGGCGTC_lane-001-chunk-001_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 98, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "2fa236c1-deb5-48a8-9961-3e2ee5cae2db", - "submission_date": "2019-10-14T19:20:13.167Z", - "update_date": "2019-10-14T19:43:37.367Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/ff664ba7-b1f9-4fd2-b6ae-a12eb0111721": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-TCGGCGTC_lane-002-chunk-001_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 26, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "ff664ba7-b1f9-4fd2-b6ae-a12eb0111721", - "submission_date": "2019-10-14T19:20:13.174Z", - "update_date": "2019-10-14T19:40:08.673Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/899e967e-06c8-49d9-bd3f-4bef8d04e22b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "read-RA_si-TCGGCGTC_lane-002-chunk-001_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 98, - "library_prep_id": "Lib5-1", - "provenance": { - "document_id": "899e967e-06c8-49d9-bd3f-4bef8d04e22b", - "submission_date": "2019-10-14T19:20:13.182Z", - "update_date": "2019-10-14T19:43:38.487Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "project/4e6f083b-5b9a-4393-9890-2a83da8188f1": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Mouse Endoderm Project", - "project_title": "The emergent landscape of the mouse gut endoderm at single-cell resolution", - "project_description": "To delineate the ontogeny of the mammalian endoderm, we generated 112,217 single-cell transcriptomes representing all endoderm populations within the mouse embryo until midgestation. By employing graph-based approaches, we modelled differentiating cells for spatio-temporal characterization of developmental trajectories and defined the transcriptional architecture that accompanies the emergence of the first (primitive or extra-embryonic) endodermal population and its sister pluripotent (embryonic) epiblast lineage. We uncovered a relationship between descendants of these two lineages, whereby epiblast cells differentiate into endoderm at two distinct time-points, before and during gastrulation. Trajectories of endoderm cells were mapped as they acquired embryonic versus extra-embryonic fates, and as they spatially converged within the nascent gut endoderm; revealing them to be globally similar but retaining aspects of their lineage history. We observed the regionalized identity of cells along the anterior-posterior axis of the emergent gut tube, reflecting their embryonic or extra-embryonic origin, and their coordinate patterning into organ-specific territories." - }, - "supplementary_links": [ - "https://github.com/dpeerlab/Harmony" - ], - "insdc_project_accessions": [ - "SRP171031", - "SRP171152" - ], - "geo_series_accessions": [ - "GSE123046", - "GSE123124" - ], - "insdc_study_accessions": [ - "PRJNA507618" - ], - "contributors": [ - { - "name": "Sonja,, Nowotschin", - "email": "nowotscs@mskcc.org", - "phone": "2126398215", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental lead", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Manu,, Setty", - "email": "settym@mskcc.org", - "phone": "6468883486", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Computational and Systems Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": true, - "project_role": { - "text": "computational lead", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Ying-Yi,, Kuo", - "email": "kuoy@mskcc.org", - "phone": "2126398215", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Vincent,, Liu", - "email": "vincent.liu@columbia.edu", - "phone": "6468883486", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Computational and Systems Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "computational scientist", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Vidur,, Garg", - "email": "vig2013@med.cornell.edu", - "phone": "2126398215", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Roshan,, Sharma", - "email": "rs3380@columbia.edu", - "phone": "6468883486", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Computational and Systems Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "computational scientist", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Claire, S, Simon", - "email": "simonc@mskcc.org", - "phone": "2126398215", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Nestor,, Saiz", - "email": "saizaren@mskcc.org", - "phone": "2126398215", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Rui,, Gardner", - "email": "skifccfconsult@mskcc.org", - "phone": "6468882369", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Stephane, C, Boutet", - "email": "stephane.boutet@10xgenomics.com", - "phone": "9252645551", - "institution": "10X Genomics", - "address": "7068 Koll Center Parkway, Suite 401 Pleasanton, CA 94566", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Deanna, M, Church", - "email": "deanna.church@gmail.com", - "institution": "10X Genomics", - "address": "7068 Koll Center Parkway, Suite 401 Pleasanton, CA 94566", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "investigator", - "ontology": "EFO:0001739", - "ontology_label": "investigator" - } - }, - { - "name": "Pamela, A, Hoodless", - "email": "hoodless@bccrc.ca", - "phone": "6046758133", - "institution": "Terry Fox Laboratory, BC Cancer Agency", - "laboratory": "Medical Genetics", - "address": "675 West 10th Avenue Vancouver, BC V5Z 1L3", - "country": "Canada", - "corresponding_contributor": false, - "project_role": { - "text": "investigator", - "ontology": "EFO:0001739", - "ontology_label": "investigator" - } - }, - { - "name": "Anna-Katerina,, Hadjantonakis", - "email": "hadj@mskcc.org", - "phone": "2126398215", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": true, - "project_role": { - "text": "principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Dana,,Pe'er", - "email": "peerd@mskcc.org", - "phone": "6468883486", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Computational and Systems Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": true, - "project_role": { - "text": "principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Parisa,,Nejad", - "email": "pnejad@ucsc.edu", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "data curator", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - }, - { - "name": "William,,Sullivan", - "email": "wisulliv@ucsc.edu", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "data curator", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - } - ], - "publications": [ - { - "authors": [ - "Sonja Nowotschin, Manu Setty, Ying-Yi Kuo, Vincent Liu, Vidur Garg, Roshan Sharma, Claire S. Simon, Nestor Saiz, Rui Gardner, St\u00e9phane C. Boutet, Deanna M. Church, Pamela A. Hoodless, Anna-Katerina Hadjantonakis, Dana Pe'er" - ], - "title": "The emergent landscape of the mouse gut endoderm at single-cell resolution", - "doi": "10.1038/s41586-019-1127-1", - "pmid": 30959515, - "url": "https://www.nature.com/articles/s41586-019-1127-1" - } - ], - "funders": [ - { - "grant_id": "R01-DK084391", - "organization": "National Institutes of Health" - }, - { - "grant_id": "R01-HD094868", - "organization": "National Institutes of Health" - }, - { - "grant_id": "DP1-HD084071", - "organization": "National Institutes of Health" - }, - { - "grant_id": "R01-CA164729", - "organization": "National Institutes of Health" - }, - { - "grant_id": "P30-CA008748", - "organization": "National Institutes of Health" - }, - { - "grant_id": "MSKCC Society for Special Projects and Functional Genomics Initiative", - "organization": "MSKCC" - }, - { - "grant_id": "RGPIN-2018-05018", - "organization": "NSERC" - } - ], - "provenance": { - "document_id": "4e6f083b-5b9a-4393-9890-2a83da8188f1", - "submission_date": "2019-10-14T19:20:08.530Z", - "update_date": "2019-10-14T19:20:15.147Z", - "schema_major_version": 14, - "schema_minor_version": 1 - } - }, - "library_preparation_protocol/58df9607-ab66-48e0-a47b-1f897baae139": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_prep_1", - "protocol_name": "Single cell library prep", - "protocol_description": "Single cells were spun at 450g for 4 min at room temperature, and cell numbers determined using a Neubauer hemocytometer. For pre-implantation embryo dissociations, embryos were incubated in 0.5% Trypsin-EDTA (Invitrogen) at 37\u00b0C for 3 minutes before transferring to PBS supplemented with 0.5mM EDTA (Invitrogen) and 4% BSA (Sigma) for mechanical dissociations. Trypsin-treated embryos were dissociated by trituration with pulled capillaries and mouth-pipetting. Dissociated cells were stored in FHM on ice until loading on a Chromium Controller (10x Genomics). Cells were counted and diluted to a final concentration in DMEM/F12, 10% Fetal Bovine Serum in Single Cell Master Mix (10x Genomics). Cellular suspensions were loaded on a Chromium Controller54 targeting a 2,500-10,000 cell range, depending on tissue type and embryo stage, to generate single cell 3\u2019 RNA-seq libraries, in duplicate or triplicate. Single-cell 3\u2019 RNA-seq libraries were generated following manufacturer\u2019s instructions (10x Genomics Chromium Single Cell 3\u2019 Reagent Kit User Guide v2 Chemistry)." - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16, - "white_list_file": "barcode_whitelist_file.txt" - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_method": { - "text": "10X v2 sequencing", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "first", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "library_preamplification_method": { - "text": "in vitro transcription" - }, - "cdna_library_amplification_method": { - "text": "PCR" - }, - "nominal_length": 800, - "provenance": { - "document_id": "58df9607-ab66-48e0-a47b-1f897baae139", - "submission_date": "2019-10-14T19:20:08.904Z", - "update_date": "2019-10-14T19:20:14.102Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "sequencing_protocol/6282594c-1b9d-4f26-a4f3-a26066878740": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1", - "protocol_name": "Sequencing protocol", - "protocol_description": "Single-cell 3\u2019 RNA-seq libraries were quantified on an Agilent Bioanalyzer with high sensitivity chip (Agilent), and Kapa DNA quantification kit for Illumina platforms (Roche). Libraries were pooled according to target cell number loaded. To determine the exact number of cells in each library, libraries were sequenced at low depth (2,000 reads per cell) and short reads (40 bp). Sequencing libraries were loaded at 12 pM on an Illumina HiSeq 2500 with 1x Rapid SBS kit v2 (50 cycles) using the following read length: 26 bp Read1, 8 bp I7 Index and 40 bp Read2. After sequencing, the number of cells in each single cell 3\u2019 library was calculated using the Cell Ranger analysis pipeline V2.1 (10x Genomics). Library pools were re-made according to the actual number of cells determined in each library for sequencing at a depth of ~200,000 reads per cell and the capacity of an Illumina NovaSeq flow cell. New pools were loaded on an Illumina NovaSeq 6000 using 2x NovaSeq 6000 S2 reagent kits (200 cycles) and 1x NovaSeq 6000 S4 reagent kits (300 cycles) using the following read length: 26 bp Read1, 8 bp I7 Index and 98 bp Read2." - }, - "instrument_manufacturer_model": { - "text": "Illumina Novaseq 6000", - "ontology": "EFO:0008637", - "ontology_label": "Illumina NovaSeq 6000" - }, - "paired_end": true, - "method": { - "ontology_label": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440", - "text": "tag based single cell RNA sequencing" - }, - "10x": { - "fastq_method": "Cellranger mkfastq", - "fastq_method_version": "Cellranger 2.1" - }, - "provenance": { - "document_id": "6282594c-1b9d-4f26-a4f3-a26066878740", - "submission_date": "2019-10-14T19:20:08.910Z", - "update_date": "2019-10-14T19:20:14.184Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - }, - "dissociation_protocol/acaf2d60-e6fb-4381-a81e-2fec565fc8fa": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_2", - "protocol_name": "E6.5 and E7.5 dissociation", - "protocol_description": "To obtain single cells from E6.5 and E7.5, embryos were washed in three drops of DMEM/F12 on ice and incubated in Pancreatin/Trypsin (2.5% Pancreatin / 0.25% Trypsin in PBS) for 3 min (E7.5) and 45s (E6.5) on ice and then washed in three drops of DMEM/F12, 10% Newborn Calf Serum on ice. The endoderm layer was teased apart using Tungsten needles and washed in cold DMEM/F12, then incubated for 20 min at 37\u00b0C in Accutase/0.25% Trypsin (1:2)." - }, - "method": { - "text": "enzymatic dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "provenance": { - "document_id": "acaf2d60-e6fb-4381-a81e-2fec565fc8fa", - "submission_date": "2019-10-14T19:20:08.888Z", - "update_date": "2019-10-14T19:20:13.886Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "enrichment_protocol/1c9774bf-979a-4023-9756-b297cba4e371": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_1", - "protocol_name": "GFP sorting for VE and DE cells", - "protocol_description": "Single cells recovered from E7.5 endoderm (comprising VE and DE), as well as E8.75 gut tube, ParE, and yolk sac (YsE) were resuspended in serum-free DMEM/F12 medium and sorted prior to scRNA-seq using a SORP FACSAria IIu (BD Biosciences), with a 100 \u00b5m nozzle at 137.9 kPa (20 psi) in Purity mode. Cell suspensions were sorted based on GFP content, with both GFP-positive and GFP-negative fractions collected, and dead cells excluded using Ethidium Homodimer-1 (Ethd-1, 4 \u03bcM, ThermoFisher). Debris was excluded from YsE and ParE cell suspensions by selecting Calcein Violet (0.05 \u03bcM, ThermoFisher) and excluding Ethd-1 positive events. GFP, Calcein Violet, Ethd-1, and were excited at 488, 561, and 405 nm respectively, and detected using 530/50, 582/15, and 450/50 nm band-pass filters, respectively." - }, - "method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "GFP, Calcein Violet, Ethd-1", - "provenance": { - "document_id": "1c9774bf-979a-4023-9756-b297cba4e371", - "submission_date": "2019-10-14T19:20:08.899Z", - "update_date": "2019-10-14T19:20:13.993Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - }, - "collection_protocol/e95ebc23-53b9-48a0-acd4-185969122f2d": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "protocol_2", - "protocol_name": "Collection of post implantation embryos", - "protocol_description": "Mice were housed under a 12-hour light/dark cycle. Natural matings were set-up between males and 4-6 week-old virgin females, with noon of the day of vaginal plug considered embryonic day (E) 0.5. Embryos were dissected in DMEM/F12, 5% Newborn Calf Serum (Life Technologies) and staged according to Downs and Davies52 or by somite number." - }, - "method": { - "text": "dissection", - "ontology": "EFO:0003856", - "ontology_label": "dissection" - }, - "provenance": { - "document_id": "e95ebc23-53b9-48a0-acd4-185969122f2d", - "submission_date": "2019-10-14T19:20:08.866Z", - "update_date": "2019-10-14T19:20:13.961Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "collection_protocol/6ec6ce63-3c6f-41d1-a616-5ebb20fe9a8b": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "protocol_3", - "protocol_name": "Collection of endoderm from embryos", - "protocol_description": "The endoderm layer was teased apart using tungsten needles and washed in cold DMEM/F12" - }, - "method": { - "text": "dissection", - "ontology": "EFO:0003856", - "ontology_label": "dissection" - }, - "provenance": { - "document_id": "6ec6ce63-3c6f-41d1-a616-5ebb20fe9a8b", - "submission_date": "2019-10-14T19:20:08.872Z", - "update_date": "2019-10-14T19:20:13.874Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/c56e2990-d6a0-40f5-add2-793bc1f12d69": { - "process_core": { - "process_id": "Lib5-1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "c56e2990-d6a0-40f5-add2-793bc1f12d69", - "submission_date": "2019-10-14T19:20:14.965Z", - "update_date": "2019-10-14T19:20:29.246Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/6a14efb0-0c28-421f-968b-5fc022df2395": { - "process_core": { - "process_id": "process_id_37" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "6a14efb0-0c28-421f-968b-5fc022df2395", - "submission_date": "2019-10-14T19:20:14.820Z", - "update_date": "2019-10-14T19:20:28.063Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/055b2189-7f89-4392-be1d-28a7274fe563": { - "process_core": { - "process_id": "process_id_12" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "055b2189-7f89-4392-be1d-28a7274fe563", - "submission_date": "2019-10-14T19:20:14.628Z", - "update_date": "2019-10-14T19:20:27.578Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.5/links", - "schema_type": "link_bundle", - "schema_version": "1.1.5", - "links": [ - { - "process": "c56e2990-d6a0-40f5-add2-793bc1f12d69", - "inputs": [ - "26dd8b99-f4ad-4802-8d6d-cf372c819dcc" - ], - "input_type": "biomaterial", - "outputs": [ - "c0a69095-57ba-4eca-8cc7-fed514f35f43", - "4a9b689f-5aad-4c30-b347-7b0d52ab3ecb", - "6fc876bc-5a8a-445c-8b41-77526203973b", - "d47c381f-cef0-432a-b2bb-49fb7a546ac1", - "b2a466dd-9de4-428c-9eda-f779d9ad672f", - "86102761-0ba7-43b6-a442-666db1296154", - "0c4b6682-12ab-46e7-9756-07ec104b14b1", - "f31358bc-064c-4185-ae23-af044804d591", - "a652744c-2d55-4181-b903-db411fa589b4", - "da3b3aa5-3bea-441b-b1d0-022f842ddda6", - "96ae6850-32c6-4d89-87cb-2f5005ac65aa", - "bb4b0758-444b-48c3-89a6-9ddcf61fe912", - "b4308ad2-8a51-4b1e-95a3-da961a13dd70", - "2fa236c1-deb5-48a8-9961-3e2ee5cae2db", - "ff664ba7-b1f9-4fd2-b6ae-a12eb0111721", - "899e967e-06c8-49d9-bd3f-4bef8d04e22b" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "58df9607-ab66-48e0-a47b-1f897baae139" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "6282594c-1b9d-4f26-a4f3-a26066878740" - } - ] - }, - { - "process": "6a14efb0-0c28-421f-968b-5fc022df2395", - "inputs": [ - "efa34a7f-6a0b-4728-9038-b947d47a63c6" - ], - "input_type": "biomaterial", - "outputs": [ - "26dd8b99-f4ad-4802-8d6d-cf372c819dcc" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "acaf2d60-e6fb-4381-a81e-2fec565fc8fa" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "1c9774bf-979a-4023-9756-b297cba4e371" - } - ] - }, - { - "process": "055b2189-7f89-4392-be1d-28a7274fe563", - "inputs": [ - "a53d95b5-d1c7-4548-b2c0-479788085ab8" - ], - "input_type": "biomaterial", - "outputs": [ - "efa34a7f-6a0b-4728-9038-b947d47a63c6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "e95ebc23-53b9-48a0-acd4-185969122f2d" - }, - { - "protocol_type": "collection_protocol", - "protocol_id": "6ec6ce63-3c6f-41d1-a616-5ebb20fe9a8b" - } - ] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/94f2ba52-30c8-4de0-a78e-f95a3f8deb9c.dss.hca.json b/test/indexer/data/94f2ba52-30c8-4de0-a78e-f95a3f8deb9c.dss.hca.json deleted file mode 100644 index 1df521fb94..0000000000 --- a/test/indexer/data/94f2ba52-30c8-4de0-a78e-f95a3f8deb9c.dss.hca.json +++ /dev/null @@ -1,9128 +0,0 @@ -{ - "manifest": { - "image_file/6baa3aff-b2a5-4e49-82f7-25c108a6107a": { - - "content-type": "application/json; dcp-type=data", - "crc32c": "d1fbf93a", - "indexed": false, - "name": "codebook.json", - "s3_etag": "f8b57fb434c840df94b55a56c77450d3", - "sha1": "0af7a2aca946bb2c8680932196ebb9020baa414d", - "sha256": "87ca14c8e7dfe4dcce1ac4d8a14423babdb74763ce13c59a755da3f6719ce8e8", - "size": 832, - "uuid": "34d230e7-dd9f-4a47-8d5b-23043fe43bc0", - "version": "2019-04-03T10:55:35.336469Z" - }, - "image_file/06dcfc33-21da-485f-8e50-49d294713a9e": { - "content-type": "application/json; dcp-type=data", - "crc32c": "88def662", - "indexed": false, - "name": "experiment.json", - "s3_etag": "f67915ee4d014041844dc020d29e4ddf", - "sha1": "9153498094d2a7c53998168de9211e951bad523a", - "sha256": "82464691f44b4f0cafdcd3e9854a03074432bb36547fcc7184b3810c644d8bcc", - "size": 186, - "uuid": "3db743f3-8235-4553-9a70-37dee987dd64", - "version": "2019-04-03T10:55:35.723353Z" - }, - "image_file/404dd50b-4bc9-4c82-8c18-f53c68eed2fc": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ad2281ce", - "indexed": false, - "name": "nuclei-fov_000-Z0-H0-C0.tiff", - "s3_etag": "d2daf199d12d7b04320e4bb052f53986", - "sha1": "82dca7b68d4860c565668be2d6b044476e4095c4", - "sha256": "0589dd5b928af541e1659017e95ba6d9785749a3f4f476d294f0c93df240b121", - "size": 1600269, - "uuid": "13ce8b32-13df-411e-8874-810de85a6d51", - "version": "2019-04-03T10:55:36.220197Z" - }, - "image_file/5ceb5dc3-9194-494a-b1df-42bb75ab1a04": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d8b5d806", - "indexed": false, - "name": "nuclei-fov_000-Z1-H0-C0.tiff", - "s3_etag": "67cc6b7a2a8d677c159de350edef6bcc", - "sha1": "ee20d8d4e134e893394a1a03bdc866f397dd6687", - "sha256": "1f5a3012c9ef4a4770308912f8f46607182e3c38a3ab8a3bacb22f292d1694e1", - "size": 1600269, - "uuid": "1eb42fec-c278-43a5-b3a3-b68d998b3a2a", - "version": "2019-04-03T10:55:36.479486Z" - }, - "image_file/76e52f76-ede7-4088-b7f6-d6e5f6152292": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "3b0cdc15", - "indexed": false, - "name": "nuclei-fov_000-Z10-H0-C0.tiff", - "s3_etag": "1753dbb2290e609761ce3f84dd0afc24", - "sha1": "95e12c876c352476ea4edb096ee6dc1796bac431", - "sha256": "23e8f06cae4c966865c79a2191cd5a681ec2ed7b02f20e790b0c229c8d548465", - "size": 1600269, - "uuid": "fe9c7709-3a1c-4548-9578-01e4a63cc9d3", - "version": "2019-04-03T10:55:36.745978Z" - }, - "image_file/2e496fe6-f500-4e27-b7f5-3c87fe43bbe5": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d1935fb2", - "indexed": false, - "name": "nuclei-fov_000-Z11-H0-C0.tiff", - "s3_etag": "b35770d5b97ec9b27fd308d80061b72e", - "sha1": "7d5e13f9db6b1cce6c416daf66bec1a337d8a4d1", - "sha256": "07977366ff55e8863a6df4924d16d7cf9ae7f94b8cfc638ba004c5817b7ad22b", - "size": 1600269, - "uuid": "508e6ec1-6693-4ffb-aa0c-53940a9b1a30", - "version": "2019-04-03T10:55:37.018211Z" - }, - "image_file/be66141d-84a3-457d-a8d2-2f0da8c91dff": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "817e676f", - "indexed": false, - "name": "nuclei-fov_000-Z12-H0-C0.tiff", - "s3_etag": "116d31fb34c9fc4690871fabb44148c3", - "sha1": "a49d6792ecb9c0bb71c8529045ea1e3241e08b2b", - "sha256": "d8b766da53f216a594da6ba833c99bd8213bee52058cec0d48647602c97de377", - "size": 1600269, - "uuid": "9d66777d-7af9-4cf2-bcd7-6d4b0cba8fab", - "version": "2019-04-03T10:55:37.249443Z" - }, - "image_file/680cf532-ef0c-4155-b44d-a6ec3920743a": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b3be7c25", - "indexed": false, - "name": "nuclei-fov_000-Z13-H0-C0.tiff", - "s3_etag": "6ee57a84a94c6092903e173a2d1a9aca", - "sha1": "fe2a6ea83f6bcc3a1f5da9bcebf375e6f65556ac", - "sha256": "0a4051c4b023501f0c82111379daa4b4763b7428f37ae0e609acfcfdca96dfd1", - "size": 1600269, - "uuid": "50b7b8e6-16fa-4e0c-999a-42cab234b1db", - "version": "2019-04-03T10:55:37.599532Z" - }, - "image_file/08609f14-cf43-4188-b743-4a0b55b17347": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "acf4da3b", - "indexed": false, - "name": "nuclei-fov_000-Z14-H0-C0.tiff", - "s3_etag": "e4f1a1d854cdc849172788991e2e53af", - "sha1": "f19b5381231a32d27a71777f93042e66cbf7e4ea", - "sha256": "80e1471ea76d4e4ef929130494ca206c1f3e42600936d65cfb4347d5764d1678", - "size": 1600269, - "uuid": "c4be485e-8f30-454c-a641-7d0ff3cafb4a", - "version": "2019-04-03T10:55:37.940591Z" - }, - "image_file/d10827a1-38f7-457d-9c9f-695f2fc7689c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "527eec28", - "indexed": false, - "name": "nuclei-fov_000-Z15-H0-C0.tiff", - "s3_etag": "d68135d3e69d3e53f2823c88c443a8cf", - "sha1": "83c3ed3a8fe54080394881357653bd7c0fe179a2", - "sha256": "934dc0c464a532d89bf0d5f29004466a64c648561ffe56945faba7f63bba0679", - "size": 1600269, - "uuid": "23fad5c1-d704-479d-b8cc-a629fee2b340", - "version": "2019-04-03T10:55:38.199379Z" - }, - "image_file/6f8eb2e5-7a0c-4c98-8da0-276457357071": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "60e20c9b", - "indexed": false, - "name": "nuclei-fov_000-Z16-H0-C0.tiff", - "s3_etag": "7145c8a469f01dcd600febdd94e10591", - "sha1": "27dbacb8100155e78851842f0eee89b5ccd91542", - "sha256": "822a57a48974c1f0fcaf5b0565652876ec1b4265558942222830ab9d246bfe26", - "size": 1600269, - "uuid": "4a9702b6-04e4-409b-a241-42540df7a07f", - "version": "2019-04-03T10:55:38.500545Z" - }, - "image_file/ca480df3-71bb-4634-8f71-b6a75aeb9f05": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c031ab08", - "indexed": false, - "name": "nuclei-fov_000-Z2-H0-C0.tiff", - "s3_etag": "6164a16c6ea593bf5ad7527860c155eb", - "sha1": "c783cb51f109af91225f99ea3114e918f6b0564c", - "sha256": "ab38699d9d1abe447b38225d70490aa0ba7a92cd02bffd4a3a18d8ac1bd13d5f", - "size": 1600269, - "uuid": "bb22c7d2-a22e-4e97-ab75-5bf44d95aa47", - "version": "2019-04-03T10:55:38.750403Z" - }, - "image_file/03ae5f5e-65ac-4491-b0ce-eefc940e0224": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "46b7935c", - "indexed": false, - "name": "nuclei-fov_000-Z3-H0-C0.tiff", - "s3_etag": "8222dac4e29d16a650ad20a1a1a8c5ae", - "sha1": "45b2fbe7405043b09a6e93d3cb2ef7f7c1d8bb6e", - "sha256": "e7ee71cf986302b3466c2c19d0a00403d381ded671bf3a8b631582d35a2177f0", - "size": 1600269, - "uuid": "3047eca0-886e-4989-a220-c35ee497ed62", - "version": "2019-04-03T10:55:38.997194Z" - }, - "image_file/ff117ecb-767e-4e72-baa9-2bda4fcd3e62": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6571f990", - "indexed": false, - "name": "nuclei-fov_000-Z4-H0-C0.tiff", - "s3_etag": "4654641a3711f09ab256f7617f558162", - "sha1": "23383caa829a08b3a05cbd76d7a41de87417e0a0", - "sha256": "28a01a55f7889ff47606ac9c785092231908f3418c3821da3be58b03c410d7b3", - "size": 1600269, - "uuid": "86df917c-0969-4e27-8f29-ad2b73837818", - "version": "2019-04-03T10:55:39.261002Z" - }, - "image_file/887f3d73-94d2-44ac-9047-67aca5225882": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6c5755bd", - "indexed": false, - "name": "nuclei-fov_000-Z5-H0-C0.tiff", - "s3_etag": "4284d4f412a74007207bb3a7592ecec8", - "sha1": "69e9b6ab402527be214cd08732a0d8190948d11b", - "sha256": "d8e7819f4dff7d2ef181c459f3ec538d38fe43a093706772e02c42d2aa28fb0f", - "size": 1600269, - "uuid": "25ce5f57-b9e8-4403-aa8d-6e0d69044683", - "version": "2019-04-03T10:55:39.480189Z" - }, - "image_file/896dfacd-206b-4e4f-a846-ba5b070060d9": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2e614198", - "indexed": false, - "name": "nuclei-fov_000-Z6-H0-C0.tiff", - "s3_etag": "0395c6734209a2fb9e4b2b507528555c", - "sha1": "829b3ccaa580580a94675e08c5a42a8f29f8ae25", - "sha256": "240f3bb6f1614280f772073723d721c4e92f379b7e1db3a866884c2ef32d8333", - "size": 1600269, - "uuid": "2f887578-9f16-4dcf-86ad-b8967c32b7a5", - "version": "2019-04-03T10:55:39.720912Z" - }, - "image_file/23303c88-01b1-47d0-b770-dca6802caa13": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5ce077ba", - "indexed": false, - "name": "nuclei-fov_000-Z7-H0-C0.tiff", - "s3_etag": "8f1f102df1957b494923fc5d170c1d71", - "sha1": "d039df202d60522d38ccdb9a0605472a755e7558", - "sha256": "7632def6e8897eea870cb47f2d1925bbe24ece886696c646dbec63835fe44636", - "size": 1600269, - "uuid": "275513cc-14aa-4ea8-9da8-f47ef8524e37", - "version": "2019-04-03T10:55:39.960131Z" - }, - "image_file/3c1a388d-0577-4417-9cd2-ff33bfed9140": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "40df3cb1", - "indexed": false, - "name": "nuclei-fov_000-Z8-H0-C0.tiff", - "s3_etag": "bcc7c062ffb6535c2d14b9e25b26786c", - "sha1": "644f28b846c88d16391cbb0cf8ec9ffecc2e5f84", - "sha256": "d1a1c9dfd8422ac2c0dc965ac6ac44ed6c008b4529c4f11c61c54f2245aa1b76", - "size": 1600269, - "uuid": "1f9c2a23-a564-4fd5-9682-7c7d4a68b436", - "version": "2019-04-03T10:55:40.220248Z" - }, - "image_file/67e71b34-7157-4a37-b495-0d740772b480": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "95200df1", - "indexed": false, - "name": "nuclei-fov_000-Z9-H0-C0.tiff", - "s3_etag": "d7d0114775507a0500a0f0ba78424d38", - "sha1": "6da2cf3544c519fef20e267b649a5f396eaec045", - "sha256": "43fee434f3dcadd88f911f64b64611f66e56ae4ba428827fded65babfdcf3ebb", - "size": 1600269, - "uuid": "6c37dc76-a843-4009-986e-90f28512e5ef", - "version": "2019-04-03T10:55:40.469870Z" - }, - "image_file/cd3e5e62-6145-42d9-9a5b-046e1b49cf26": { - "content-type": "application/json; dcp-type=data", - "crc32c": "4e149113", - "indexed": false, - "name": "nuclei-fov_000.json", - "s3_etag": "b1c2b59d6f156cd2b0f8d5a660627411", - "sha1": "0256b1daed586807e3aca60f080f68387047ab7f", - "sha256": "648c306a1d4dfb9641f4def7efb3ad3fe299f0c459b83bdd6f88fbc9adc53219", - "size": 4690, - "uuid": "4ed6be97-90ba-4e59-b81f-6432a13ce7da", - "version": "2019-04-03T10:55:40.859515Z" - }, - "image_file/5fbcb75e-3ee3-4429-8ede-b243afa0789f": { - "content-type": "application/json; dcp-type=data", - "crc32c": "f456645f", - "indexed": false, - "name": "nuclei.json", - "s3_etag": "8c3355f66685fcab73eaf5c7030fa178", - "sha1": "846d7f68755d488e57701c01c1e19ff76398fee2", - "sha256": "fcd7959c7a5df652934f5866aaacb44675bd6bb643d2ce0dbe66139a50048b06", - "size": 112, - "uuid": "d79a3b8e-7031-43a3-9ac3-0f93dbd3228c", - "version": "2019-04-03T10:55:41.199977Z" - }, - "image_file/09226b24-6b11-4e4f-8052-2b544be461aa": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5919ffe8", - "indexed": false, - "name": "primary_image-fov_000-Z0-H0-C0.tiff", - "s3_etag": "a1c6a5e8fa17ebdf33eb0ca5659f1ac2", - "sha1": "1c0256e517b262f98f75ae9473de02275fa88b85", - "sha256": "85c5be8c3b6e4242837162f693f5d1bfce5300a32dc6ff5c30db24f1372e9c25", - "size": 1600269, - "uuid": "4777d5a6-1e0e-4041-8a30-b95a0e98d95c", - "version": "2019-04-03T10:55:41.479157Z" - }, - "image_file/f67473fd-fbf8-4d69-9db1-556938ab5b87": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "dc899808", - "indexed": false, - "name": "primary_image-fov_000-Z0-H0-C1.tiff", - "s3_etag": "092438df9d1c75434c86b3a44abd3e34", - "sha1": "b815d45333f98a6e415f409f7f1f7646c50d98ae", - "sha256": "48c8b06f40fb077a3afe1089895fbda21ccca2111fe85c39b7b575fd39fa47f2", - "size": 1600269, - "uuid": "6309bae1-2138-4507-8a39-33bb19030090", - "version": "2019-04-03T10:55:41.754003Z" - }, - "image_file/16acc1f2-9f1c-43c8-8ffe-4a9ea674e6ff": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ef95e538", - "indexed": false, - "name": "primary_image-fov_000-Z0-H0-C2.tiff", - "s3_etag": "b8d01ac3aeb362bba01f7cebc3970c4e", - "sha1": "599979a65ef48582469bc5d7e16a72645da874d5", - "sha256": "a540dc4a9ccdcfeb2b1ba4061f7735747e776c3b2d1f9bac758d13173a34315f", - "size": 1600269, - "uuid": "30263603-56cd-48da-9694-8b4bacaaf7bc", - "version": "2019-04-03T10:55:42.029318Z" - }, - "image_file/017a2c88-4f6e-418e-bb96-f42f3a220f87": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "41667304", - "indexed": false, - "name": "primary_image-fov_000-Z0-H0-C3.tiff", - "s3_etag": "ef267373bca39f6c022c1363b4014fa5", - "sha1": "3aa293167e534c86eb86e9603e655e8db1a344fe", - "sha256": "27e04905020b0b33e62f0bee4e1ef338cf24c1114ca58a71af7444d41fe55a9f", - "size": 1600269, - "uuid": "516cc5f6-45ae-4b5a-94ca-bc8a6ece4510", - "version": "2019-04-03T10:55:42.261771Z" - }, - "image_file/30305240-004d-4632-84d4-37d7e7378782": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6de2e7a5", - "indexed": false, - "name": "primary_image-fov_000-Z0-H1-C0.tiff", - "s3_etag": "37e50c5142ba89b0fee52882b441c2a3", - "sha1": "d3e006a7573788c42b24a9d1a7bf58677b1fa3ab", - "sha256": "baad4bcb11c43438f20f8e478666e7ec40ccd74c0b8d37e7119acd7dabb4dab5", - "size": 1600269, - "uuid": "e9a2424f-12b0-4ce8-b61e-29d859a1af3c", - "version": "2019-04-03T10:55:42.605503Z" - }, - "image_file/20c5a14a-aaf3-40e1-9ab7-f95c06ea4200": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b94c15e4", - "indexed": false, - "name": "primary_image-fov_000-Z0-H1-C1.tiff", - "s3_etag": "a14109d34d7467c1f367c36df26e3488", - "sha1": "d9883b3112b42265aaaf02f00b34de45b010dda5", - "sha256": "13232371857789fbb26be5f783f2df61e65064dad45d495e4c7c5eaf89f4a1ee", - "size": 1600269, - "uuid": "80269cb6-3de5-4818-97b2-fb3748d8facd", - "version": "2019-04-03T10:55:43.080155Z" - }, - "image_file/3fd2781b-6855-4eaa-b2fb-81db386adb18": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "57641644", - "indexed": false, - "name": "primary_image-fov_000-Z0-H1-C2.tiff", - "s3_etag": "a843d6e5142dabe4d2ee18737fced212", - "sha1": "be5e106fa634516f0987016c58e99c43b5abf74e", - "sha256": "6033c84accb8aeaa13c1d120e18f3250961eefd15501628893fe80eb60861c82", - "size": 1600269, - "uuid": "06862bf0-7add-4177-9d3f-d95aec58c436", - "version": "2019-04-03T10:55:43.440368Z" - }, - "image_file/40474d53-44a4-4ab2-9f20-61b71291f8aa": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2ef0631d", - "indexed": false, - "name": "primary_image-fov_000-Z0-H1-C3.tiff", - "s3_etag": "8dc65ccb1a30f1196a2619c75c001a6a", - "sha1": "52b27d8337b17bee034add31aa9f320331172719", - "sha256": "c8e712cb8d7c982fc222f4ebcda04a2f75f4dbc9808f77e71ee296ec8b900b47", - "size": 1600269, - "uuid": "9e9be46c-708f-4931-ad11-4fed782e3949", - "version": "2019-04-03T10:55:43.739247Z" - }, - "image_file/aaa97d47-7124-4763-a3fc-f6d66eb6d990": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "e84829d0", - "indexed": false, - "name": "primary_image-fov_000-Z0-H2-C0.tiff", - "s3_etag": "41ed5a93744a943d8fe70f2f3f17b96a", - "sha1": "cab05b18334080557b77701ab0550482feb7c2d1", - "sha256": "5abe3360206c21d661aeeee347e1e9bf3a65218798986c50b52328bd5c218845", - "size": 1600269, - "uuid": "6bfdc846-e6f8-4786-ac75-9fb7ac241778", - "version": "2019-04-03T10:55:44.019854Z" - }, - "image_file/4adbed13-1cb6-4405-b892-fe8165050691": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "0ad5372d", - "indexed": false, - "name": "primary_image-fov_000-Z0-H2-C1.tiff", - "s3_etag": "9aea02b0c75eb4e67c9f9fc43d5d3491", - "sha1": "272b6b0db0808768ca0719295bfc2fb296acf011", - "sha256": "f1d06980228acb649ce21b0ef38736ec78d04c4cbd07117f7d2c798633271cab", - "size": 1600269, - "uuid": "8d3f44f7-00a0-4fab-adec-401781b783e5", - "version": "2019-04-03T10:55:44.392532Z" - }, - "image_file/2bbf0125-b9cc-4413-8dd7-78ea72beaa17": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "8f903d20", - "indexed": false, - "name": "primary_image-fov_000-Z0-H2-C2.tiff", - "s3_etag": "6e8f2af5b0a2d3fc5025595ef1b2c2ed", - "sha1": "23489e202e34cabd7d9d61c46cfb451cdbfaaa2b", - "sha256": "a9200607a382651d0a0f8c74fe30b2c470f3004a6e3ccb7aa80394e905a89e17", - "size": 1600269, - "uuid": "b102d32f-1140-4ede-8813-8ed053f350df", - "version": "2019-04-03T10:55:44.670961Z" - }, - "image_file/5402916f-6de1-4842-8585-fc25c153992b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f419bc60", - "indexed": false, - "name": "primary_image-fov_000-Z0-H2-C3.tiff", - "s3_etag": "81d22aa6eada5862f67fc2f6aea4b90a", - "sha1": "fe091ab324b0c644d1c29bde67fd4f7e5cd84132", - "sha256": "c9d2705aa363a24172108e1951134e8272d251ca1e3c82c9aef40e90f059c75e", - "size": 1600269, - "uuid": "e4ba18e1-b072-41cd-a091-32b51b5078f4", - "version": "2019-04-03T10:55:44.961246Z" - }, - "image_file/75b78bfc-8d15-4a07-a07a-c62ae6d656b5": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "0686a5ad", - "indexed": false, - "name": "primary_image-fov_000-Z1-H0-C0.tiff", - "s3_etag": "3c2fc50883f92b0b76e252ff12acaa52", - "sha1": "e041d31c5ca58e22c8fc16c2e4b79724517c9374", - "sha256": "c8ebf8c62c728145e8802ba9cf396ae5f5706ca1ca33602d2ea2287ad9df4988", - "size": 1600269, - "uuid": "c296fb80-3fb8-476b-b8ff-eae9e8c75388", - "version": "2019-04-03T10:55:45.187187Z" - }, - "image_file/8a78224e-4106-41d4-96cb-4d9a8b9ecad2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "68f4056c", - "indexed": false, - "name": "primary_image-fov_000-Z1-H0-C1.tiff", - "s3_etag": "aa85587e50c61f3c880f811af83589b3", - "sha1": "be1b220b93033b9f9cfffedb624017b5cfa0ee66", - "sha256": "2eb6cb0132ea1571b590522a167bd60479c7bf52cd671b0763df3178e87853e3", - "size": 1600269, - "uuid": "399445e5-b4f6-4f3e-8b65-bfc76f0e078c", - "version": "2019-04-03T10:55:45.522173Z" - }, - "image_file/cb92dd92-570c-4075-8893-eb19dbd837b8": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "533d7018", - "indexed": false, - "name": "primary_image-fov_000-Z1-H0-C2.tiff", - "s3_etag": "fac114b1689dd0fca29af6d3636fbdde", - "sha1": "ba56f9680075f5677ed7294406fe53b5553207f3", - "sha256": "ea883a274715c627c3a2615a1340c22d88f8c5417de3106a9aa666f0c02b851c", - "size": 1600269, - "uuid": "fbefb123-cf54-4eeb-9ec2-d826e44ad953", - "version": "2019-04-03T10:55:45.766611Z" - }, - "image_file/b36948c4-0646-42be-9db2-16626a757343": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c69cd6f6", - "indexed": false, - "name": "primary_image-fov_000-Z1-H0-C3.tiff", - "s3_etag": "816a7f3754cb7c2932ac7e0ccd3b72ba", - "sha1": "81551338a2440f0189af43a590750fdcd999c47f", - "sha256": "7c1d52008fd944b34aa86fd0a5d56a2c0d0360bd6c7939fcc86a5ca28312c024", - "size": 1600269, - "uuid": "8bf3db8e-e9cf-40e8-916b-b1e24449d79d", - "version": "2019-04-03T10:55:46.280407Z" - }, - "image_file/c974f4eb-27b8-4ec3-913e-a6eb19572a51": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4ee7d925", - "indexed": false, - "name": "primary_image-fov_000-Z1-H1-C0.tiff", - "s3_etag": "dea6ad5eef4899e73f04c8f4690d40b6", - "sha1": "5013191d6a7ab184c73a492f80075e994a1a4fd9", - "sha256": "37665c56980c1c395bcf89548565b40d44bd1a6e84bc31ba101d2e83818fe89e", - "size": 1600269, - "uuid": "2207ffb3-4f5a-47ba-99c1-b7d81b56168b", - "version": "2019-04-03T10:55:47.016718Z" - }, - "image_file/febb760d-1e9e-4432-9b88-ce2869a43c44": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a8a836cb", - "indexed": false, - "name": "primary_image-fov_000-Z1-H1-C1.tiff", - "s3_etag": "5e0e4bc2b50cc746ff593818d3eec6b4", - "sha1": "555c67dadbbfd481b3137d4a4a5ff6cfde52edf6", - "sha256": "5eebc95b1f0daa116d73359a0c653759910a84e2a086239105fd31cc2c463d6e", - "size": 1600269, - "uuid": "6b04d393-7852-48b4-ae14-8cfa4543c5ca", - "version": "2019-04-03T10:55:47.282294Z" - }, - "image_file/054f40a4-68d0-41db-81e9-00239042d9fa": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1debd71b", - "indexed": false, - "name": "primary_image-fov_000-Z1-H1-C2.tiff", - "s3_etag": "068c894051c2c8b83133fdb7098a10be", - "sha1": "ced49b3e129ebb7516e2719ed98c90b9176065e5", - "sha256": "ab3b43d91b8106b24f550afb6b04e4ff06c29703b8b7c03b62b5ded3e3562bcf", - "size": 1600269, - "uuid": "d2859680-0fe8-400a-be0e-e04a3d832d1f", - "version": "2019-04-03T10:55:47.626243Z" - }, - "image_file/ec7f06aa-e4f9-4f4f-afd1-0ecd39b2e3f5": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "170b0997", - "indexed": false, - "name": "primary_image-fov_000-Z1-H1-C3.tiff", - "s3_etag": "d4bf941909636e00f4e65df0f937c3cb", - "sha1": "f368d9c51c85353f576504ce351dbe5f7c9abc20", - "sha256": "51a22aa82eda457911b822c3a67a6c3d2169c54b7204b66711ff6113d45114e6", - "size": 1600269, - "uuid": "467e4b98-519f-430b-8c59-57270f0e1259", - "version": "2019-04-03T10:55:47.939813Z" - }, - "image_file/819e3227-cc54-4919-95af-c1f8194bf729": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7fa1a6ac", - "indexed": false, - "name": "primary_image-fov_000-Z1-H2-C0.tiff", - "s3_etag": "fb985f9815313f8178cc81bba8e6899a", - "sha1": "44d97a67583454e7b540bf23634b635ec77273e6", - "sha256": "2783f3179b06e80ae1b5a0f45c40afeae45b8da41930d0c1e3e050d7e9698344", - "size": 1600269, - "uuid": "f7f95a37-370c-459f-bf84-19691fb195a5", - "version": "2019-04-03T10:55:48.236748Z" - }, - "image_file/b1e2b9d1-6973-41dc-acdf-95474303561f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c57cc4b9", - "indexed": false, - "name": "primary_image-fov_000-Z1-H2-C1.tiff", - "s3_etag": "bfb6be8b742f97e57548a08c2f520360", - "sha1": "2de2a3814a9dbc094c76fadcad41a234fc6bc51b", - "sha256": "9055d0b3f83ba41e98c9105cb806e216b0d14a24f50c88489fa06e207f046f3c", - "size": 1600269, - "uuid": "dbf2dbfb-2470-40db-96c8-eab439922ceb", - "version": "2019-04-03T10:55:48.520165Z" - }, - "image_file/41ffc783-5ad4-4197-8fd1-c029903c43c0": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5b3ff3f3", - "indexed": false, - "name": "primary_image-fov_000-Z1-H2-C2.tiff", - "s3_etag": "51231d0f2eaf546c0530395a18067409", - "sha1": "e111abd73a379d0adb85398ed96e8b21c7e8a023", - "sha256": "5e4028907526a099ee4b685a15a583e000c0164c14ecfcd41118b48cc3c05bc4", - "size": 1600269, - "uuid": "cbb74511-25d3-431a-83e5-96d8746b7b13", - "version": "2019-04-03T10:55:48.859536Z" - }, - "image_file/ec9c70f0-3ed8-461c-ad0b-2475bd48ac8f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "316b67c4", - "indexed": false, - "name": "primary_image-fov_000-Z1-H2-C3.tiff", - "s3_etag": "d99c136ee57c7e24b55ce51a10a849eb", - "sha1": "ee5b76ef47b16398d5ee3d4e1c3125f32ceabffc", - "sha256": "c72b7a15560b7ab0419e223ad09ded3e3f182263c0c7ae4a6596246e8960b1c0", - "size": 1600269, - "uuid": "8feb1eb5-aae7-49f3-8a50-ca08fc6cd9ae", - "version": "2019-04-03T10:55:49.143186Z" - }, - "image_file/9014bbaf-a047-4b69-8e28-8356cc99f84e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "8776fda9", - "indexed": false, - "name": "primary_image-fov_000-Z10-H0-C0.tiff", - "s3_etag": "53114fb78c0083e71676e1f5df07c223", - "sha1": "5d9ca067634e35d3c6d2d9c42343551c600757cf", - "sha256": "148e60401f58fffa7ec7e17ef68b45e712114e52d1e33a79b849773f3a5cd5b3", - "size": 1600269, - "uuid": "c24714bc-d736-44b9-80f7-226178093cb0", - "version": "2019-04-03T10:55:49.500027Z" - }, - "image_file/f7acf90c-2b32-463b-b832-8daa8529f727": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a7bafd39", - "indexed": false, - "name": "primary_image-fov_000-Z10-H0-C1.tiff", - "s3_etag": "609844220fd3b593ee0caccac529202c", - "sha1": "9a6a05000bf0851e9469c5a582d04bf716cbe7f1", - "sha256": "1abb6241a8357ff244d86c8352bd1e713ef343fbf15dec7157ac533152d92a0d", - "size": 1600269, - "uuid": "f2f917fb-0729-43a9-8b91-badc7768e23c", - "version": "2019-04-03T10:55:49.865712Z" - }, - "image_file/fae4f8b8-e6ad-4c1f-8126-e03ba8aca46e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "23d93904", - "indexed": false, - "name": "primary_image-fov_000-Z10-H0-C2.tiff", - "s3_etag": "4dd7610181826f6adf9c563c901e0fca", - "sha1": "dfc98d2e436aef7982fa4241d774aeb6b9aa0ff1", - "sha256": "499483d49cd71506c7095f30a39c64a556ce63902cdbf375b613c495de56e733", - "size": 1600269, - "uuid": "3b548656-b0e1-4fd0-8ed8-0002a5a618ba", - "version": "2019-04-03T10:55:50.106030Z" - }, - "image_file/db22deab-498a-409c-8386-5bf4e60a080c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1439edf9", - "indexed": false, - "name": "primary_image-fov_000-Z10-H0-C3.tiff", - "s3_etag": "629e25a7c5a804cda8c849843844076c", - "sha1": "be5ce9eb8bd863dd596a98f4150ab661e01147d4", - "sha256": "d2d0f8b5f1ae031f26adb3a579be5cf845b0c0a0468fe0f0f71ecfb8d3db7e28", - "size": 1600269, - "uuid": "07db36b4-87d4-4fa1-8a85-b85701d5a9f8", - "version": "2019-04-03T10:55:50.478983Z" - }, - "image_file/07d600bc-0d55-4a8d-9a48-390fc4169845": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "23dfcc29", - "indexed": false, - "name": "primary_image-fov_000-Z10-H1-C0.tiff", - "s3_etag": "f4a1a90d44cff0e07b1b2d7b9aefcf8c", - "sha1": "2b3ded69a6c35ed47e325fe661482929f4dc4cb4", - "sha256": "4e13cfd76ea5e4b52c9316fbbd563e5bbd9673a708c71bbbfb45b789c6759cd0", - "size": 1600269, - "uuid": "49ada68a-c5b7-4e03-9449-3684e06db4fd", - "version": "2019-04-03T10:55:50.739481Z" - }, - "image_file/d0a032bb-cd0e-4873-b346-5cb19e45c202": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b8797e65", - "indexed": false, - "name": "primary_image-fov_000-Z10-H1-C1.tiff", - "s3_etag": "98a99be632b58130697636723e4bc732", - "sha1": "638bb19206f156858aebb94110483a0dedcd79ce", - "sha256": "e6bd3d5c56ed7b408a4096a224efd0f09a861674f14991f3c1fcee26aea63d5a", - "size": 1600269, - "uuid": "dc2076bd-19ec-47c7-8ac9-6c6503386cd6", - "version": "2019-04-03T10:55:51.111778Z" - }, - "image_file/a161f60f-af92-4b09-9df0-dd7ff2bf571a": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "387caf6a", - "indexed": false, - "name": "primary_image-fov_000-Z10-H1-C2.tiff", - "s3_etag": "bf79470aa23df7680bc3dab20bc9fdeb", - "sha1": "30b2559ccffd430ab301d0181b7a016fa68a8b39", - "sha256": "28a08c2edb7044af26e5732fe991643c1fb97851d35ad18658b6ff75e9a9e2e7", - "size": 1600269, - "uuid": "2f5d576a-9e48-4f98-b19b-11e0bbd86615", - "version": "2019-04-03T10:55:51.335466Z" - }, - "image_file/25c6b755-7f62-49a3-a1b5-aafbc772b5dd": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "94de8736", - "indexed": false, - "name": "primary_image-fov_000-Z10-H1-C3.tiff", - "s3_etag": "c4406f061e2d8b568d72b2d8bba598ee", - "sha1": "cfc78b40a3a786933d7e46b3808cb4fadd1b275b", - "sha256": "621cd72144807a88513d47937d763ac4b665ae144f364f4c69ed0ab6802c9985", - "size": 1600269, - "uuid": "56a4a357-0c62-4058-9362-1ae9b928a38c", - "version": "2019-04-03T10:55:51.680479Z" - }, - "image_file/f10fd9e2-5747-4d7a-8c0c-beba81749011": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ef84dc08", - "indexed": false, - "name": "primary_image-fov_000-Z10-H2-C0.tiff", - "s3_etag": "4fa41de358086361a329422e9eb9c045", - "sha1": "f50094df26c7aabc9a83d46b85fa59badc5586cb", - "sha256": "e54c2e4b5a5d10ae3be6b91d08415b3fe463c3ccd9f86f7ebf9b2bf9617ffbdc", - "size": 1600269, - "uuid": "ab9c2448-9e9c-4847-ab2a-7e65333c7795", - "version": "2019-04-03T10:55:52.080625Z" - }, - "image_file/553b6aab-4745-45f8-98ab-de6aadbf48e4": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f901ef1b", - "indexed": false, - "name": "primary_image-fov_000-Z10-H2-C1.tiff", - "s3_etag": "28eb33b0ea77042d1e5467e78ba4a9ee", - "sha1": "162fc33e51482e60820e4c51c5705e10c7cccaa2", - "sha256": "02324cb2dc6975d11959c1694c534654ef48aeae1086128362bd554c92bd4a25", - "size": 1600269, - "uuid": "5b961510-975a-44ee-82c4-47fb7a1ef69f", - "version": "2019-04-03T10:55:52.339328Z" - }, - "image_file/3572abe9-6e42-4266-8671-ff24b592065c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a7975ec3", - "indexed": false, - "name": "primary_image-fov_000-Z10-H2-C2.tiff", - "s3_etag": "1f322edc3014aa0637924a3fcf4c7c14", - "sha1": "c7f8bd8e320ae18fc3443dd06e596d2d1468c8c4", - "sha256": "c48167caf74695965ea023cdb713253ea866d0970eb40c0fe23df266c7226917", - "size": 1600269, - "uuid": "db9d6d77-a51f-49ce-946f-21038694b549", - "version": "2019-04-03T10:55:52.640285Z" - }, - "image_file/6882abf6-c247-4167-a18d-e3fec24bcba2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "3c89e00e", - "indexed": false, - "name": "primary_image-fov_000-Z10-H2-C3.tiff", - "s3_etag": "16ca9c5b30cf10887d69732d835cef73", - "sha1": "d697fdf4b12a4e4f1f562f90b9347a3a6597d34b", - "sha256": "5a8338ac1fda0c1554f616d4501369f07f7de1d0ea4e3e17ab682e314dfcde98", - "size": 1600269, - "uuid": "5146d165-1eee-48ad-8327-174d1817dfac", - "version": "2019-04-03T10:55:52.942022Z" - }, - "image_file/15f8b73e-937c-444d-8362-fdf458abb651": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c5ceab43", - "indexed": false, - "name": "primary_image-fov_000-Z11-H0-C0.tiff", - "s3_etag": "6ceae755ed9aeaebb963364ec7a90d1b", - "sha1": "fa929971df1181934df9282fc6f1db41e8f79d88", - "sha256": "6dfdab9d07ef4c282a65d2e6f0f6b0b3f65993ad10100c7c4e92c1f6b5c8bc3f", - "size": 1600269, - "uuid": "78dc3350-0cb6-4731-b0fb-fa0088f7dac7", - "version": "2019-04-03T10:55:53.200291Z" - }, - "image_file/33b4e374-20ad-4fee-b682-aaa4fc12bec2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2e42a5e7", - "indexed": false, - "name": "primary_image-fov_000-Z11-H0-C1.tiff", - "s3_etag": "06ed8b773024d7146d717791f414ff10", - "sha1": "e5926a496daa980fd009cf259c1d09d60ef88af8", - "sha256": "755a673f5eac78d48792f777ab04e352814e75596625a9331b9e5af7c199d7a3", - "size": 1600269, - "uuid": "213981ed-c5de-40d6-8d09-ef4354fed57a", - "version": "2019-04-03T10:55:53.480733Z" - }, - "image_file/0e83c507-2211-4561-b75a-92326fb2d4fd": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4e0d8d92", - "indexed": false, - "name": "primary_image-fov_000-Z11-H0-C2.tiff", - "s3_etag": "11563e56e169852a5c3a993b476de480", - "sha1": "7e4ab718e0abd53edaa1db559eea3a63784e6e8c", - "sha256": "840268313bf93809cf0f6d546a4d24152fe1514a472d4c2715df3904e397f835", - "size": 1600269, - "uuid": "4f19bb8b-95d6-4dfd-8c58-6bf557cf7e8e", - "version": "2019-04-03T10:55:53.790586Z" - }, - "image_file/912c55cf-0774-4838-8874-352766984715": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ae3e068c", - "indexed": false, - "name": "primary_image-fov_000-Z11-H0-C3.tiff", - "s3_etag": "a9a16146242832c0defa79e41ae59204", - "sha1": "d6370db80b250ed05858f6eaff1e1b4b95006cca", - "sha256": "b6500f6c5ece4770f0299a3145253b99a012eeba9c451e68e1a887b8f454c2da", - "size": 1600269, - "uuid": "b735a8fe-4d8b-43dc-856b-5376aaf8e7f2", - "version": "2019-04-03T10:55:54.038843Z" - }, - "image_file/b2f32e7c-fea2-44c2-a6ae-832c1c7b9e37": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "27ad1cac", - "indexed": false, - "name": "primary_image-fov_000-Z11-H1-C0.tiff", - "s3_etag": "bfc0e583fb4ddbf764b5cbe65aab35b7", - "sha1": "5d833a37af8766382fabd4337b7e8ccbcad60815", - "sha256": "d1ec35fd392cf3d718332fa54250ecf8efd284f3120a1c8d60074e15b84f5377", - "size": 1600269, - "uuid": "6465a79b-714e-4286-835c-f510fcc744e8", - "version": "2019-04-03T10:55:54.264803Z" - }, - "image_file/5b8e3d96-e625-46b6-9689-110fa84fd721": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "73c913f4", - "indexed": false, - "name": "primary_image-fov_000-Z11-H1-C1.tiff", - "s3_etag": "bee5e534a6183e9308bdeb31977a213b", - "sha1": "49eb9d3550635011759d0f5c18ca341bf72a20b6", - "sha256": "3f952c140d5afa90976992b1a5c729b4603648bd12d19e601cdc91427d0cb49b", - "size": 1600269, - "uuid": "9a77ba3d-6773-4e07-ac91-61f0b9203183", - "version": "2019-04-03T10:55:54.539793Z" - }, - "image_file/de43f9bc-ddec-4326-9cb1-7b9c5f76a84f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c026823a", - "indexed": false, - "name": "primary_image-fov_000-Z11-H1-C2.tiff", - "s3_etag": "89cee9ee67610a67152ecf11612fea08", - "sha1": "b5e4908efff59dcd7ad788bfaca249425f528af8", - "sha256": "ac1ffe203eb3ec5c71c7b75ed3fd052a99d8d1161f7ace904b6860ad7c82b129", - "size": 1600269, - "uuid": "fc091e1c-afc8-46e4-b9d3-68341242512a", - "version": "2019-04-03T10:55:54.778615Z" - }, - "image_file/6f3272d7-4a62-4a3c-8c44-11dda8756956": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "44c7966c", - "indexed": false, - "name": "primary_image-fov_000-Z11-H1-C3.tiff", - "s3_etag": "0c1fb1c4fb4c8e371fae1aae894c0135", - "sha1": "a2a83424533f08979828792bb6fd54836a7a7b21", - "sha256": "8c06e4f22cbd47302f82585d2134b1230c4062e03215a7d83b801bbb72900e6d", - "size": 1600269, - "uuid": "e4021199-842a-489e-a65b-fc3160446904", - "version": "2019-04-03T10:55:55.379342Z" - }, - "image_file/168422c5-e89d-466c-9085-f29c02160143": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d7b7bf7a", - "indexed": false, - "name": "primary_image-fov_000-Z11-H2-C0.tiff", - "s3_etag": "d5e9649396c9c7f1f98f0672dcee3864", - "sha1": "b6ce1d39b6b2399b96af8eeb8bab755586acb152", - "sha256": "fdb06d5ef69715919d7ea4bdeeda0c7a81b838a0ef28268a87bf6abe4af8c898", - "size": 1600269, - "uuid": "1aa253f9-b137-4fd9-b65f-c307420bcfc4", - "version": "2019-04-03T10:55:55.600718Z" - }, - "image_file/7331367a-cc43-4af0-8750-a2921d513f97": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "88ae4d73", - "indexed": false, - "name": "primary_image-fov_000-Z11-H2-C1.tiff", - "s3_etag": "dd2287f120520149e017c264e72f3de6", - "sha1": "887e3e928d8afcdfda17e64a56f6bebef141d2e8", - "sha256": "30f20720e23acf0caff1ff1bdbe582de254d3a8ab93188a44b63d5cdd597fc28", - "size": 1600269, - "uuid": "22be2eb0-32f3-4b49-884a-e2d28c01706d", - "version": "2019-04-03T10:55:55.855632Z" - }, - "image_file/edf83a09-2e60-4571-b650-abf4c7ff757b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4ae105be", - "indexed": false, - "name": "primary_image-fov_000-Z11-H2-C2.tiff", - "s3_etag": "72c1259fa055687565fc81b8cfa196e5", - "sha1": "342a81768acd7d32ba4b7f92f3ca11e7f17e0691", - "sha256": "8c1bb26f1be6c9196ef0e074a968bfee34806079e57474577fd3ba8947a07173", - "size": 1600269, - "uuid": "c99e944a-475c-4df4-9e6d-9ea50057cfb6", - "version": "2019-04-03T10:55:56.233992Z" - }, - "image_file/24bdb70c-4bd1-41e0-b5c2-a3a2e0e4ce5b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ac587eaa", - "indexed": false, - "name": "primary_image-fov_000-Z11-H2-C3.tiff", - "s3_etag": "18fe5ebd9f1da1734d7e233b29b4f39e", - "sha1": "1db0756bba2080c9e1a91bbb6abc7b7fda196869", - "sha256": "30b35d9ebce19e936ca156ccc1669700a28819a57082b28b9390e863c21b9f6f", - "size": 1600269, - "uuid": "2a5f4fda-058f-4478-94dc-c12130be8969", - "version": "2019-04-03T10:55:56.579317Z" - }, - "image_file/be9d12b6-f8dd-407c-b1d7-844deb6a5023": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d02a9c3c", - "indexed": false, - "name": "primary_image-fov_000-Z12-H0-C0.tiff", - "s3_etag": "887f41fc2ff12774fef02765785202d1", - "sha1": "490d14a6d94736b991639b06b5a5690e68f03488", - "sha256": "616f5e816d18b75695af9ae3ca6bf250730ebaf7de10b43be96cdbb96d9c54c6", - "size": 1600269, - "uuid": "cca66a40-ea4e-4d2e-a9a5-084a9dd6241a", - "version": "2019-04-03T10:55:56.968010Z" - }, - "image_file/e3e59792-61e3-4bf0-a985-2acec75acafd": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "9b9bae44", - "indexed": false, - "name": "primary_image-fov_000-Z12-H0-C1.tiff", - "s3_etag": "b4adeb99c5cc807251a7c41114cb2ffe", - "sha1": "d804db3cc63cd09b7ede0a4706b4abd2b2d633e5", - "sha256": "add26fb8561728ddcc1da5b8019bf30c34a1a4724680eb8f4f297867123b6054", - "size": 1600269, - "uuid": "ab43f67c-1352-4344-9ab2-164ec39d5b23", - "version": "2019-04-03T10:55:57.260494Z" - }, - "image_file/095ee09c-1605-4c07-9324-b5382f20b78e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1aecea4a", - "indexed": false, - "name": "primary_image-fov_000-Z12-H0-C2.tiff", - "s3_etag": "789c4f2bf1ef3b375f0804110a733d7a", - "sha1": "749897eaf2fc13f1a61b2277d91173c3ac04bc18", - "sha256": "400a32e254cc7e8ff63c0f7ecbb06f46046180447674d1192404dab8d37a1202", - "size": 1600269, - "uuid": "78046a68-90a9-4761-85fe-bb8f1059a75e", - "version": "2019-04-03T10:55:57.518156Z" - }, - "image_file/77b96424-accb-4c6b-884c-756f2bb40929": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "3b5afbfa", - "indexed": false, - "name": "primary_image-fov_000-Z12-H0-C3.tiff", - "s3_etag": "5a4deb28c50b741404bdbf9b482731b6", - "sha1": "d13f3bbade8b67796a019f3163b697a4de1f9f6f", - "sha256": "7bfd376a2be4d88c67c8d175c52423ea1391402a062b7a0392b0dc2dbfccfdb6", - "size": 1600269, - "uuid": "fbb1d9de-baca-44fd-82b4-1b5f9b76e126", - "version": "2019-04-03T10:55:57.760815Z" - }, - "image_file/a0c2a5b4-7cc2-47f5-97a7-6b59019155da": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "16ce63ca", - "indexed": false, - "name": "primary_image-fov_000-Z12-H1-C0.tiff", - "s3_etag": "f4f92e4d0fe49222df6715b1eacfc860", - "sha1": "89495f8ee49f756930b7f9699716d720eff0250e", - "sha256": "2202bb6788f971004969c17f5d5013579ac627048d6bd25ad7c63e671e3687f2", - "size": 1600269, - "uuid": "d33aac64-f261-46d0-8712-543ccdc219c0", - "version": "2019-04-03T10:55:58.079130Z" - }, - "image_file/78518dc1-d38e-4230-88b8-887bdd83f965": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "8ee8eacd", - "indexed": false, - "name": "primary_image-fov_000-Z12-H1-C1.tiff", - "s3_etag": "b3986a3a15c69644873dd204270a63d2", - "sha1": "384ee670a45003c385d732abb08ffe4b5054b2b3", - "sha256": "3e99efc1c84bdf4f3022a35b02d6a310924388f5a64d245322abbb39179bac14", - "size": 1600269, - "uuid": "ea165ff1-76d8-4fc4-b5b1-46e13a92d61a", - "version": "2019-04-03T10:55:58.419178Z" - }, - "image_file/652dd3c5-6467-41ee-89b3-e4b3361fb533": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b653f9f2", - "indexed": false, - "name": "primary_image-fov_000-Z12-H1-C2.tiff", - "s3_etag": "d9d98464887e0fd0e375a7ce2035fde6", - "sha1": "2f9ed661847addb7a1e508f7a64551d56e71055b", - "sha256": "91d3a98042a86c79996b0cf5713812607de53519f3b9c7227fcb5667fba95831", - "size": 1600269, - "uuid": "fbfd8b5e-6818-4204-8a1d-af17f654c63e", - "version": "2019-04-03T10:55:58.880203Z" - }, - "image_file/cae3d214-d485-4350-8cd2-f4142aca4aef": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5d2ad397", - "indexed": false, - "name": "primary_image-fov_000-Z12-H1-C3.tiff", - "s3_etag": "ead473980cdf361a40efde6487b5812e", - "sha1": "ee103d84ace151c7dfe68e579546b4445ecd0c89", - "sha256": "9ac81cb46bb7244b76dbec83afa406653bc80e5f50e8cec14bcf52da96f53a46", - "size": 1600269, - "uuid": "88045284-69d1-49a5-951a-ce861ed0dbee", - "version": "2019-04-03T10:55:59.179305Z" - }, - "image_file/2ab7ea06-08e0-4669-88e0-23c1e74a3b49": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1b57836e", - "indexed": false, - "name": "primary_image-fov_000-Z12-H2-C0.tiff", - "s3_etag": "dc98cbd9f2ed861f4839edee92c741ac", - "sha1": "ee94e5cf8c841bba7be2a55582d83bf336b25b2e", - "sha256": "b0559f19893372f5d1e2eb022c8de33afab9460c5bfdc3fa43a1d132a553080c", - "size": 1600269, - "uuid": "29982631-185e-43c5-ae8c-daeba6e26c2b", - "version": "2019-04-03T10:55:59.659913Z" - }, - "image_file/de282263-0944-48d4-9819-6182636c76bd": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ab93140f", - "indexed": false, - "name": "primary_image-fov_000-Z12-H2-C1.tiff", - "s3_etag": "27f70fe14e7e3b07edd0dbf20bc14d9e", - "sha1": "ea798bb2f189c427a46b4d80219fc6d16e7e2818", - "sha256": "d18bcb7369e1a4c3fba02e006c593aeb12d3baf16115db0d5324404ee403db77", - "size": 1600269, - "uuid": "083944c0-37af-4c9c-80e1-2c101b95acc3", - "version": "2019-04-03T10:55:59.998865Z" - }, - "image_file/bfdbe9b5-42ac-419a-b297-843095de2cc2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "402e893b", - "indexed": false, - "name": "primary_image-fov_000-Z12-H2-C2.tiff", - "s3_etag": "05a62cd5712c3eeba56bfe96f267bb9a", - "sha1": "497da012af65c6fcaf0be9986227d77d45b94e80", - "sha256": "f19fd7d959fb5c7a48fe8cd776a0e4d7706bde6f11d8fec837ced211b64eca29", - "size": 1600269, - "uuid": "40cbb7e6-b5f1-48ad-825a-5159197c6803", - "version": "2019-04-03T10:56:00.308174Z" - }, - "image_file/0ef6ffa4-e40f-476c-8ac9-10732ef6e42d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f843bf4e", - "indexed": false, - "name": "primary_image-fov_000-Z12-H2-C3.tiff", - "s3_etag": "a3ced1c2e181c3ae3b6c0175d034d4f5", - "sha1": "ac3087f9eb2e5a42b61bef858f5ff15cf7bdc36f", - "sha256": "88bd33e3488dffad8404a0dc27afaef8dbe5bada2d88ad5a59ddf43c3e8c0597", - "size": 1600269, - "uuid": "ebe33ee1-8e0b-4412-abb1-b26c5ead07e1", - "version": "2019-04-03T10:56:00.586805Z" - }, - "image_file/e2763cda-3236-487e-9944-5169c0cb8856": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "052f06bf", - "indexed": false, - "name": "primary_image-fov_000-Z13-H0-C0.tiff", - "s3_etag": "bcc9167532fe6d4332a6042181df7d1a", - "sha1": "d66ea4b0cb0b34be2de8e9e5a12926f49145dff3", - "sha256": "2b078043f0c405d3cb989c43456e5b7ac835f416bb620ea3c85e16c8962b3433", - "size": 1600269, - "uuid": "a94e0444-861c-418a-a338-16ed56e9b430", - "version": "2019-04-03T10:56:00.867025Z" - }, - "image_file/37018bd8-8537-47c3-a5a9-efb43552f30c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d6ebd4ee", - "indexed": false, - "name": "primary_image-fov_000-Z13-H0-C1.tiff", - "s3_etag": "34c1ff12c674255cd44d44d5e7201890", - "sha1": "190094d40dfa2f357d761866860d24d687a8158d", - "sha256": "871f6921cdd3d12ec7b1670a59eb2c8e123a376e391e59f434efce751661da40", - "size": 1600269, - "uuid": "2e39b6d1-7755-4265-a044-f74cac9943a1", - "version": "2019-04-03T10:56:01.179469Z" - }, - "image_file/a6c9b1ce-2054-4a48-b262-bb0723b8a567": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "584d986e", - "indexed": false, - "name": "primary_image-fov_000-Z13-H0-C2.tiff", - "s3_etag": "2dfbbfab11c2528ce2f4beafdfdbe1be", - "sha1": "6403da61835d4362a70a2e5dfbd112984cd22d81", - "sha256": "dd7b8ec3c8a18855a787d282efaffe9b9c5927d29046b194bb405586fc0f4a6b", - "size": 1600269, - "uuid": "fcab0b60-14e5-441a-b5ab-492576785bfb", - "version": "2019-04-03T10:56:01.420192Z" - }, - "image_file/8319ee38-f199-49d7-989a-25b451656b38": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a9ee4bc6", - "indexed": false, - "name": "primary_image-fov_000-Z13-H0-C3.tiff", - "s3_etag": "b36579dc19eb793dab6d74b099b3c094", - "sha1": "bdf15acace826820eb39fab732fc21b1c9b71ba5", - "sha256": "7c822e36225c6ae1ae17eeae2c3d8d036386e57b7c4a096e2f5412af9441a227", - "size": 1600269, - "uuid": "45caa165-0ccb-424e-a454-da6ee8c3debb", - "version": "2019-04-03T10:56:01.721498Z" - }, - "image_file/022841b6-8b7c-4d0c-b65f-06ba14253540": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6ff498a1", - "indexed": false, - "name": "primary_image-fov_000-Z13-H1-C0.tiff", - "s3_etag": "263ae72ab8c5b07cdb67115ead4b0581", - "sha1": "0b1851977e68f57322a9b9b610e28ad2a9ca59c2", - "sha256": "e2160976c70adaa0cbbe30ad556550978fb8e179c5c2c01d43e51eaf392fd8ec", - "size": 1600269, - "uuid": "cd27dad7-cd62-442b-ac93-1a492df1045e", - "version": "2019-04-03T10:56:02.039781Z" - }, - "image_file/299dfbe5-05f5-48a7-816b-61036f0e435a": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d3808e49", - "indexed": false, - "name": "primary_image-fov_000-Z13-H1-C1.tiff", - "s3_etag": "9825ecfc61e68ca25e40bef25e59ccfa", - "sha1": "ff0a443f513db573f55cc98e5ee1a37296bfae97", - "sha256": "bef348b002b6d232a391fb0d3f9c31506dbb24eaca6a82ea255e8e362affc71a", - "size": 1600269, - "uuid": "60dd0c9f-00a5-4d05-9e03-d3d9ed094144", - "version": "2019-04-03T10:56:02.303691Z" - }, - "image_file/6b8b11aa-3600-4a63-a980-93465e681c9c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "559258c8", - "indexed": false, - "name": "primary_image-fov_000-Z13-H1-C2.tiff", - "s3_etag": "f36dfa34f3494ced8619bcf41f50b609", - "sha1": "8b42c0a67ebb80242e695de36af2704240a43541", - "sha256": "d122a74a78ee74b8ec52ad8c0e8c91a0da215f9ccaa8997d97ac19312792f3ec", - "size": 1600269, - "uuid": "c6feee87-37de-465d-b860-b9bd70da69c9", - "version": "2019-04-03T10:56:02.620006Z" - }, - "image_file/35716168-df43-4273-b52f-72e3d18a47bc": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7da89022", - "indexed": false, - "name": "primary_image-fov_000-Z13-H1-C3.tiff", - "s3_etag": "b8911343150f670d61645fc8a8d33ae5", - "sha1": "5bd3d9288289f0c69a6d4f56d3361d3743b423f2", - "sha256": "2170b2d5225a5c06b8e6a0d4c7baf98fedc829c55cf39384836319dde5cfd27b", - "size": 1600269, - "uuid": "bf2d918b-0a45-4f42-83b5-e38dd2c77084", - "version": "2019-04-03T10:56:02.924316Z" - }, - "image_file/6be783ec-c132-4e09-90e0-0958efaf6619": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7855861f", - "indexed": false, - "name": "primary_image-fov_000-Z13-H2-C0.tiff", - "s3_etag": "adee3752465a14bac55600bb2ba15d49", - "sha1": "6ec29fd007cae668ee61a9fb88415817247f59c5", - "sha256": "8c8299f5933f6546bbca375bdd0258ccf642bae8cbed6cbad569037a21477389", - "size": 1600269, - "uuid": "31896233-7b29-42a4-94b0-208095c99f5f", - "version": "2019-04-03T10:56:03.161708Z" - }, - "image_file/a11956c9-c24e-4efb-8af8-1167b3081e70": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "aa188246", - "indexed": false, - "name": "primary_image-fov_000-Z13-H2-C1.tiff", - "s3_etag": "8a7c1094a104a9a7cc40ed6178fcb752", - "sha1": "0035dc38e3f4276b3442a308d0d7418a6eb24614", - "sha256": "cf7f002f384c6f5491b164dd7a571d9c768be9bf3e019401015b6dc69b957696", - "size": 1600269, - "uuid": "55001751-e224-4825-87c4-bd786345faef", - "version": "2019-04-03T10:56:03.421325Z" - }, - "image_file/b69a349b-0e07-4fbe-9e3b-9f2cea828b96": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d735689c", - "indexed": false, - "name": "primary_image-fov_000-Z13-H2-C2.tiff", - "s3_etag": "6312ba6081f851b6a62ecd624764cad3", - "sha1": "53f3a2a46803321bfa6b0271c887130a4d87a94d", - "sha256": "4de7ef1850de8d30f292f26d5df973c15a37d0f09fcec7e36206c1380e74abcb", - "size": 1600269, - "uuid": "9e4aa7a1-045c-448d-9506-9f180646f31e", - "version": "2019-04-03T10:56:03.652981Z" - }, - "image_file/753c2a57-b5f1-4984-b874-b2b10d582847": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "3ede4f1c", - "indexed": false, - "name": "primary_image-fov_000-Z13-H2-C3.tiff", - "s3_etag": "c6cd4cc027b68101cdebd5cd9c8b4a67", - "sha1": "745fd35a8b5509b852148f57dbd9a4dbb4bd355a", - "sha256": "42173d6b156f00f205f92f20f694b7392ce3d7619033122df8388e1a45acdc73", - "size": 1600269, - "uuid": "54ddc5aa-4b48-48e5-a955-2f969478eb8d", - "version": "2019-04-03T10:56:03.939697Z" - }, - "image_file/e0b93b3d-075b-482b-838a-e36d8849607b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2567a82f", - "indexed": false, - "name": "primary_image-fov_000-Z14-H0-C0.tiff", - "s3_etag": "23d4e877ecb39a2bb4b4323ee3560bd9", - "sha1": "076ae34880e7546836d365851668aae082501850", - "sha256": "2c9e806302eecfe1fa003b8ed15beeed08d6cb6e93b2552c30c7d48a8253386b", - "size": 1600269, - "uuid": "9ab3b14e-52eb-45fe-8473-b166185732fa", - "version": "2019-04-03T10:56:04.189833Z" - }, - "image_file/96c8ed8d-8bd6-49f3-b97b-025b0d6bc9ec": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d89a7999", - "indexed": false, - "name": "primary_image-fov_000-Z14-H0-C1.tiff", - "s3_etag": "733724cfb40992f157c06a21429ce63b", - "sha1": "f81644e79659aa85009d30b5747126a4a4c3bf52", - "sha256": "c5554bc09b3722f4b63a015ccd5f952778d60b0e5c5b11e8e6850028cd41f4e6", - "size": 1600269, - "uuid": "e877a847-80aa-4d68-a069-6da3015bb19e", - "version": "2019-04-03T10:56:04.480375Z" - }, - "image_file/c647964a-7796-4dd2-9fa8-b23f012ac14e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6a6f2b31", - "indexed": false, - "name": "primary_image-fov_000-Z14-H0-C2.tiff", - "s3_etag": "caf29bdd34d04d56efa7ffe4e69bdf15", - "sha1": "178b19662651333bcd83ee5c979c5fb21a24ee3a", - "sha256": "8c77ea0a4a7e17738c3f1148a63b37d068acc1ffc8fc2d5c9e9f0dbcf88d02ce", - "size": 1600269, - "uuid": "f30fb34c-ea78-4c55-8342-666e028b1ec7", - "version": "2019-04-03T10:56:04.725431Z" - }, - "image_file/87a63649-9834-49b8-89a0-310211c1b5b3": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "8e7e28ba", - "indexed": false, - "name": "primary_image-fov_000-Z14-H0-C3.tiff", - "s3_etag": "50d4a2b1c64d9a6091118b0f3ba69082", - "sha1": "904cedf9d6d62d129da6d3a1d30fd7c74e21bdfe", - "sha256": "a6d97e21fea1d3cc28be720bccb70f9f2a0e3fca6ffbce383ade7612ed90ea13", - "size": 1600269, - "uuid": "a800e1a6-58b9-48ea-b33b-b2c58627e5f0", - "version": "2019-04-03T10:56:05.006005Z" - }, - "image_file/b2eb5b20-fd1a-403c-8b55-9eec5972d482": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f31ac427", - "indexed": false, - "name": "primary_image-fov_000-Z14-H1-C0.tiff", - "s3_etag": "8ffb788e265f2f239b5b23fa695e1119", - "sha1": "087a91c220f450a4baee76b805e81170384a1e63", - "sha256": "2f3af86421a5d9ec2101ff3943a8157d3ca2b257d04676bec5a1608241b9e93b", - "size": 1600269, - "uuid": "4971ef5d-cd50-48e1-a7f3-91e1ebf27dda", - "version": "2019-04-03T10:56:05.420646Z" - }, - "image_file/4b3b36cb-cd90-4526-978d-2e7e8f7add39": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "71e66e31", - "indexed": false, - "name": "primary_image-fov_000-Z14-H1-C1.tiff", - "s3_etag": "8c328a7008b42a8ca4dd7cea274cb679", - "sha1": "7da5e8987204a4abb4329c45a04e79eb5181006d", - "sha256": "c87288170e297bcacb92a8b685251eb3b8b5f61cd14cbf569ba7473e33bf289d", - "size": 1600269, - "uuid": "0fe0425a-1371-42d6-a6d2-36962c8a22f7", - "version": "2019-04-03T10:56:05.641366Z" - }, - "image_file/cdc774f8-3310-4f1f-8c67-03579c253640": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "bb067245", - "indexed": false, - "name": "primary_image-fov_000-Z14-H1-C2.tiff", - "s3_etag": "072dfe78e868a7886774cb3aa04a0a7f", - "sha1": "04486bf2cabb0f3ce29603ce8605d0bbb5b36aa8", - "sha256": "9a1b23dff11928fe74e4779a3e9865b9cb732683a0bee85da64e5afb38959383", - "size": 1600269, - "uuid": "25ff77de-95eb-4737-9ba2-fff2969eca73", - "version": "2019-04-03T10:56:05.904789Z" - }, - "image_file/607370e0-7e7e-4d25-ba5c-957c00a73ac1": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "69c233e3", - "indexed": false, - "name": "primary_image-fov_000-Z14-H1-C3.tiff", - "s3_etag": "ab66d0e958e7ae0cd9f7de7b21edd2ee", - "sha1": "149743809ed468c9878334e4deabf25b5f0de6ff", - "sha256": "3afe34c5645c4c6ed4e8fd71882f8e84d62544eea7b926de3eddc31a81084854", - "size": 1600269, - "uuid": "f1bdabbf-13ed-483c-8492-a6c9c2f65db6", - "version": "2019-04-03T10:56:06.322160Z" - }, - "image_file/3240d7ab-568b-4be5-adba-3178b3e8f85e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f98fd263", - "indexed": false, - "name": "primary_image-fov_000-Z14-H2-C0.tiff", - "s3_etag": "1a39d83cd8e12cc23e42c24f6668dc33", - "sha1": "eaf2b358ed990a93bae6c6c2bcb9a462673901a4", - "sha256": "304439ad4583424ef116b6ac98a44c1d43a7622472b2a3a89677b54392acb577", - "size": 1600269, - "uuid": "5b57e6a7-e098-4605-b00a-d58652698580", - "version": "2019-04-03T10:56:06.659307Z" - }, - "image_file/c0b6ee98-677a-41d9-9d80-9ac63d251b08": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "9db56d08", - "indexed": false, - "name": "primary_image-fov_000-Z14-H2-C1.tiff", - "s3_etag": "dda12be46aeb27da4da7ecf1cbb44dd5", - "sha1": "9e1e7ad1c9c013feba08c3ed48c29e3b81f4469a", - "sha256": "9158ddf94cd4395252a02c2f61a4e2f3b179593839a2c22a2c89066dc053e5de", - "size": 1600269, - "uuid": "5cadfa19-ed60-4ba2-b04c-c23b6c0495f7", - "version": "2019-04-03T10:56:07.139632Z" - }, - "image_file/f34c01ec-06df-49e6-bc2f-c50c7f398851": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7a76cc49", - "indexed": false, - "name": "primary_image-fov_000-Z14-H2-C2.tiff", - "s3_etag": "424a333527ec9d3651d09f2ae01ca8bb", - "sha1": "ab8ab11f26ccdeb60dbda96f689ff38939ef585e", - "sha256": "e49b7f981478d3e32fe3ffde7a952a2361d22a6df1cc55b8f6d364646149d425", - "size": 1600269, - "uuid": "f2fe8c9e-6ed6-4999-a98b-4fecf57da55a", - "version": "2019-04-03T10:56:07.380785Z" - }, - "image_file/2047311b-f3ee-4137-8338-a45166e01d53": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1ad0ed69", - "indexed": false, - "name": "primary_image-fov_000-Z14-H2-C3.tiff", - "s3_etag": "91f0b66a436c7f9a78827c3a3ccac38d", - "sha1": "49f4f1cc2731e44d68b362d30535d674a02b9e1c", - "sha256": "24612939c544d89c59e974d0283cafae98528f56a9e52d5761f70e7b8757a5fa", - "size": 1600269, - "uuid": "b8ab79bd-28c8-448b-9847-f8f10d3ccc45", - "version": "2019-04-03T10:56:07.648634Z" - }, - "image_file/44ea335a-1991-4504-be12-04f1a332ddfb": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "0b2929e7", - "indexed": false, - "name": "primary_image-fov_000-Z15-H0-C0.tiff", - "s3_etag": "2f41176517472845c1720f78d268af09", - "sha1": "8c432af92536a457fbacd9f78a8c8591d6c116ca", - "sha256": "67b14eeac471ed074ca1063bbe78845143390c42914e8908ea4ef7341b10fb13", - "size": 1600269, - "uuid": "dcc63bdc-2c05-488c-98ce-905b6b1fcfe4", - "version": "2019-04-03T10:56:07.955180Z" - }, - "image_file/59f3d0ab-1fe1-4cc8-b343-c12b520d769d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "004524d0", - "indexed": false, - "name": "primary_image-fov_000-Z15-H0-C1.tiff", - "s3_etag": "9d4f239273a8134f9a0f3496f3fa931e", - "sha1": "5512afc374fe1b4acd0d7bfd009d33885bf820cd", - "sha256": "7652e6b69da6660427c7a985344ed04eef6970f43ad69af6e52bd92d90cceec0", - "size": 1600269, - "uuid": "f3926330-cfa4-4f64-b12c-3e50e06a7153", - "version": "2019-04-03T10:56:08.221439Z" - }, - "image_file/58f9fb1a-b6be-42c4-98ed-a5c091a3c716": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1d122a71", - "indexed": false, - "name": "primary_image-fov_000-Z15-H0-C2.tiff", - "s3_etag": "aeb11c110398d407c6c2a4266d8c3349", - "sha1": "84198102a0a6dc4cf9b96da68ea81ef165ff8df6", - "sha256": "0551b9abc860383650a0fc551ee22f876d3041924377eeb5ec079917718fa75d", - "size": 1600269, - "uuid": "b134deb9-6a03-486f-a603-955348d1cb67", - "version": "2019-04-03T10:56:08.540867Z" - }, - "image_file/6af3cb41-9e64-4b11-b272-be87adf0fa94": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ced5e43d", - "indexed": false, - "name": "primary_image-fov_000-Z15-H0-C3.tiff", - "s3_etag": "93e4975a342f3f4bd9e540e466807eba", - "sha1": "f488f82f0865e633c467aa3d807d3bf3b785a36c", - "sha256": "0d40beb93999b640ac48a7aff74214eb0e17fd80e40303be16f0d04f232dfaef", - "size": 1600269, - "uuid": "b9aef9b6-f326-4d1a-b912-41030791bc78", - "version": "2019-04-03T10:56:08.782580Z" - }, - "image_file/7541d176-dfba-4e05-ba45-0c6964271dff": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "9621a4da", - "indexed": false, - "name": "primary_image-fov_000-Z15-H1-C0.tiff", - "s3_etag": "2e7af9b5ba0712fa9823898c582b1171", - "sha1": "592bc4308878410f03ada6e6c8ea5a7d39ff87cc", - "sha256": "42ed249546e37d66f631498a848e02d183fa919bc242d810333ac5b2ca94e7e8", - "size": 1600269, - "uuid": "e9f28e2b-b63c-4819-8385-18062c5411aa", - "version": "2019-04-03T10:56:09.057230Z" - }, - "image_file/8ee1e829-a507-40a5-87ac-7fd8379b87ce": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4f9f2476", - "indexed": false, - "name": "primary_image-fov_000-Z15-H1-C1.tiff", - "s3_etag": "caa6bab888b91f870d1dfc5eb758f541", - "sha1": "7304181ad037514a180bf43a1a79254c86301b42", - "sha256": "4c9493782169ea02a632b1d911b9b026c680569c1d87cada888458f025962129", - "size": 1600269, - "uuid": "a7309326-5690-413e-8b73-1f33f8897dab", - "version": "2019-04-03T10:56:09.289499Z" - }, - "image_file/8e57554a-abb2-4664-87b6-a397f4da6555": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "570dd01a", - "indexed": false, - "name": "primary_image-fov_000-Z15-H1-C2.tiff", - "s3_etag": "626956c92c5187481a0c0276c7839812", - "sha1": "33752130b76286f50bcc5873000dd9613faaa16c", - "sha256": "dcdc7393bfb9721c8bb3062e1ddbfb6e5f6ea1108ebdca1afca0a797d05697c7", - "size": 1600269, - "uuid": "6bd9329f-5602-4c75-92c8-84882ba69685", - "version": "2019-04-03T10:56:09.542553Z" - }, - "image_file/88fa5ec5-db7d-49bf-8c7e-86f348fbc84c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "84defed1", - "indexed": false, - "name": "primary_image-fov_000-Z15-H1-C3.tiff", - "s3_etag": "51ad1fb9bcded0393d1a2995c5861df3", - "sha1": "2ea4671d25ab754b32c564caa28ab7823d8d6ad2", - "sha256": "6b311490b4b187aa705716c5facca6e74d2248638d95af9be1b8fff6d0afccb4", - "size": 1600269, - "uuid": "0c9f682a-a5dd-45ed-bcaa-be4e5342771c", - "version": "2019-04-03T10:56:09.824711Z" - }, - "image_file/a2b4ab97-84bd-4808-884d-bd8cc5e7b922": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d96c5e2a", - "indexed": false, - "name": "primary_image-fov_000-Z15-H2-C0.tiff", - "s3_etag": "92545335007f347406aacdbf892ebfdd", - "sha1": "86094e1e453f5831cf76f320aa3975ed986e8f86", - "sha256": "2bd656d393d3d3337ed6258b1e5e61f799370f6a5958a9fc5f816f1407adca4f", - "size": 1600269, - "uuid": "36063754-9a8a-4815-9783-1508974a6ca3", - "version": "2019-04-03T10:56:10.096845Z" - }, - "image_file/56c83f8e-3ef2-4a3a-b808-52cc1e96ac8e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1b71539b", - "indexed": false, - "name": "primary_image-fov_000-Z15-H2-C1.tiff", - "s3_etag": "027dfa4d7f544005e04f75be47ae1cdb", - "sha1": "9eedcc5e6e5bab401388effd57769e35ba897ee6", - "sha256": "8597d134ccea0e906080b36f8717c8be936bf90b682434d23c9eca0649bea27f", - "size": 1600269, - "uuid": "a601ed00-aadd-4ac3-95ef-25fc052c37db", - "version": "2019-04-03T10:56:10.401438Z" - }, - "image_file/8af22b64-2c3f-4aad-a2d5-5d9b122a7b1c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b7fd53a2", - "indexed": false, - "name": "primary_image-fov_000-Z15-H2-C2.tiff", - "s3_etag": "bf901bf83745da9c9c53c26e8852938d", - "sha1": "45a4b73120e37579508e9e6a9719e5944bbe0c78", - "sha256": "da60f26d4165e3fa29819338ce470d2101c02df2657b8b1272fd56be0919c280", - "size": 1600269, - "uuid": "e9da4b39-a542-4f3a-85af-c9da97172715", - "version": "2019-04-03T10:56:10.683603Z" - }, - "image_file/f0cb4244-e19a-46a0-89f1-04143548872d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7944dc17", - "indexed": false, - "name": "primary_image-fov_000-Z15-H2-C3.tiff", - "s3_etag": "ffd7b80c10d1e2654181a38485f457a8", - "sha1": "6708d5c43e6742546aca16c0ba9cd5585b72e56b", - "sha256": "b80a54f1e3efafb5aa6de7d3f0d6e309dc3973c957c91245e790cc36c08482b9", - "size": 1600269, - "uuid": "215ebd60-69d7-4509-8575-301f28d841b0", - "version": "2019-04-03T10:56:11.022078Z" - }, - "image_file/73074f55-d009-41a2-929e-6fd9949bb1dd": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6af55e11", - "indexed": false, - "name": "primary_image-fov_000-Z16-H0-C0.tiff", - "s3_etag": "a88aa7b3a586d4d26b8be621167c5b94", - "sha1": "66da568c0925617e3b3c6825fd6a541fdeea6f7e", - "sha256": "516ccfdda5551806152d5f3de11fc1f14ec21ca2b5452dc53e98416f5f47daea", - "size": 1600269, - "uuid": "47c1ab01-7bb9-4cc6-949e-aff889b78bc4", - "version": "2019-04-03T10:56:11.559338Z" - }, - "image_file/0c2a3965-fbd7-4dc2-bcf0-9c51650a7331": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "89ab529c", - "indexed": false, - "name": "primary_image-fov_000-Z16-H0-C1.tiff", - "s3_etag": "46fc4422fe7b8dc81ff4e5c614263b1f", - "sha1": "aad78416ba051f4e2d6b406292b8d7e0265e89e9", - "sha256": "68c9dfe824f02f572aa39d5dfc16d5cc92a0664ce4ec7fce21b513a5d5120400", - "size": 1600269, - "uuid": "bbaf020d-e851-4259-8784-832fc85b6c83", - "version": "2019-04-03T10:56:11.801366Z" - }, - "image_file/3774ecbd-d397-4b46-ba08-a7cbc6da0c07": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "771e1a24", - "indexed": false, - "name": "primary_image-fov_000-Z16-H0-C2.tiff", - "s3_etag": "9fada1d9ff3394e4b113f8ad2bdba081", - "sha1": "6e43f11f0a5ca2f28378d8770e9af3d356fd644d", - "sha256": "1494d456f4a227f28525a90eaa34a68e76b852aee12b8e010331f6908dc73904", - "size": 1600269, - "uuid": "6c0ffe0f-19a5-4ed9-92e1-316f3d8cc1f9", - "version": "2019-04-03T10:56:12.278469Z" - }, - "image_file/146231bb-1b13-4db5-8157-9d9962cc3a3a": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "77615d8f", - "indexed": false, - "name": "primary_image-fov_000-Z16-H0-C3.tiff", - "s3_etag": "40fc5c6cea15336a43a4dc4711a4ae00", - "sha1": "da32bedc5eeb2ce47908ded5a770610cc07f8c30", - "sha256": "33a6cd371f88a33bf0f1daa0345e47f414af1636f420e4fb1a1edcdd6687563b", - "size": 1600269, - "uuid": "60edf99d-ab78-4bab-b3de-801fabbb7116", - "version": "2019-04-03T10:56:12.622653Z" - }, - "image_file/1d1b3f27-4f67-4338-bb36-173fd6ecf14b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "735764c8", - "indexed": false, - "name": "primary_image-fov_000-Z16-H1-C0.tiff", - "s3_etag": "fdc28a410e4b61d3264243827629e74d", - "sha1": "75cd7a485c26b1559eb0ead8f71e3892037b9f38", - "sha256": "061cb156a427a7277fe5bfdada22068981a75546e1cb8cda89b6259a359e4c8a", - "size": 1600269, - "uuid": "bbb92406-a0df-4de1-97fa-fa10457198d8", - "version": "2019-04-03T10:56:12.859568Z" - }, - "image_file/7fe17380-3090-4fc3-9504-02b3f8ed95b6": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4043af28", - "indexed": false, - "name": "primary_image-fov_000-Z16-H1-C1.tiff", - "s3_etag": "a587f1d6e7b711ed13cec30e69c0c1b2", - "sha1": "37ae6779436a6a258606562697fa6d7ddfe44fc6", - "sha256": "bd0be59413d859115ff7f265726c32a303dacdd3660f5f70eecd9a9511db0ec1", - "size": 1600269, - "uuid": "0d38ed8b-ccdd-4a32-9be3-bfa62f535c5c", - "version": "2019-04-03T10:56:13.080125Z" - }, - "image_file/fc405b01-60ca-436f-a06c-2f38f7156a87": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a88f3cf2", - "indexed": false, - "name": "primary_image-fov_000-Z16-H1-C2.tiff", - "s3_etag": "b4e387ce74fcb5a511fd92cdfef07e13", - "sha1": "fee047cab4461e58350bc44a07aab0c5a067784a", - "sha256": "7c9e194ae38ba112afb630d03d686135c13cedbd0dca0a6a287b91a82af1ad9e", - "size": 1600269, - "uuid": "0bdded17-864c-4c7a-a499-24a4267b4dc8", - "version": "2019-04-03T10:56:13.344358Z" - }, - "image_file/bae92b53-c6c7-4712-865e-6cff3cba506e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "261d6caf", - "indexed": false, - "name": "primary_image-fov_000-Z16-H1-C3.tiff", - "s3_etag": "fcee02cab9e177c39658cd9313183445", - "sha1": "f888e61fba8808efe439bda90dd47a06009a35a8", - "sha256": "f7833d340e6ba0fcfa3082241e16e54444576db840d73a911a2d40c62e6c7c42", - "size": 1600269, - "uuid": "e61824cb-b2e3-4131-a93c-0f809407e12a", - "version": "2019-04-03T10:56:13.584363Z" - }, - "image_file/83662ec5-a202-42ab-9a47-a701d4f19de3": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ffeec2e6", - "indexed": false, - "name": "primary_image-fov_000-Z16-H2-C0.tiff", - "s3_etag": "9961c3c49217e32c5ede426cf5171155", - "sha1": "2fc56166144927399d9e3e5d39c873e242580388", - "sha256": "341648c0b44a819c34a6c27d213e5d252d5edcef5e88d842f817832b09bfbcba", - "size": 1600269, - "uuid": "1cab431e-680b-491e-9f8a-9503230a602c", - "version": "2019-04-03T10:56:13.859236Z" - }, - "image_file/a04957c6-8ce8-4fa6-950d-71812ff3d698": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b0e8ea39", - "indexed": false, - "name": "primary_image-fov_000-Z16-H2-C1.tiff", - "s3_etag": "0102cca9defd31c65585f717a10d5bda", - "sha1": "d5c57eff3c4be5edd22e442408c8231393bed2c8", - "sha256": "1360f3f3c583137c692923cc6b1fb416575482e6e248196a6bb1fecd5e27cd97", - "size": 1600269, - "uuid": "c8f06cec-ac9f-4241-8f0d-86daecbda3af", - "version": "2019-04-03T10:56:14.120757Z" - }, - "image_file/9284d3a4-73bd-4aa0-847c-ab273d14185a": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2d57a1e1", - "indexed": false, - "name": "primary_image-fov_000-Z16-H2-C2.tiff", - "s3_etag": "c17ba6739bc7684046bfe0bb9ae5b549", - "sha1": "a0100b495ba6b92a6140a9483abe9e396dd79089", - "sha256": "144d25544bf2995a01f834cfe7e71f696d1cec67ff4ff355216189c25696301f", - "size": 1600269, - "uuid": "0fb666f0-0331-4532-8ed6-9ee27b383f96", - "version": "2019-04-03T10:56:14.469912Z" - }, - "image_file/4d664562-c333-4aaf-bb8b-641e0568733e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4c624098", - "indexed": false, - "name": "primary_image-fov_000-Z16-H2-C3.tiff", - "s3_etag": "d99948dce1012b3533fc8d8807372c4f", - "sha1": "eb2b7fc4b7c3c5e39fc623add18d5755173355a7", - "sha256": "9c4ffe1988df43cf7718d61790392096a85d294aabf389c177a3caf31df8e8a0", - "size": 1600269, - "uuid": "ebcf808e-8039-4d0f-9c6a-82ddf9bd6dc0", - "version": "2019-04-03T10:56:14.720103Z" - }, - "image_file/b533685d-3c60-4483-841b-a054f0a69fec": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1b85888c", - "indexed": false, - "name": "primary_image-fov_000-Z2-H0-C0.tiff", - "s3_etag": "8c3c48e91e7ae78c3ab1c7c64e764aa2", - "sha1": "d617c969390d82f651fe9fa0243ccf3ffe0c6686", - "sha256": "e4eb56824253d3871a1255644aacbc8a00214b68d774463d87a0a4913f61ac25", - "size": 1600269, - "uuid": "ae06e940-6a8d-44a1-9e5f-de404f802e0d", - "version": "2019-04-03T10:56:14.967111Z" - }, - "image_file/3f14c88e-58db-4f76-b6e0-4b483ded1ca3": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "52c76c82", - "indexed": false, - "name": "primary_image-fov_000-Z2-H0-C1.tiff", - "s3_etag": "78532080864bd984fd9893f40046b488", - "sha1": "677b6148a4420ee93322f9d716b55e5a6df96450", - "sha256": "cd54522df1f749716b726df51c45563c3d7be47d9bcce9b5ac97576062e9f720", - "size": 1600269, - "uuid": "a3001444-768b-45bd-82f8-ffd492f8a9ff", - "version": "2019-04-03T10:56:15.221216Z" - }, - "image_file/32d0b267-f399-408a-b35f-f1ebc7d0fc1f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "49c661d3", - "indexed": false, - "name": "primary_image-fov_000-Z2-H0-C2.tiff", - "s3_etag": "85a90e2603bf8881499014d78c07a9c1", - "sha1": "72c98cb505fd875344a522431e5132e0e00e3f8a", - "sha256": "f280463e13ed0c1804280dfe839aeafc31978f5aa22fef71f998c05fa3981e1a", - "size": 1600269, - "uuid": "fcf35fc4-c4da-4643-9b4c-46ae410160ea", - "version": "2019-04-03T10:56:15.545209Z" - }, - "image_file/3e8510c9-7e31-49bd-bb90-cb55577c2f25": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c52334cd", - "indexed": false, - "name": "primary_image-fov_000-Z2-H0-C3.tiff", - "s3_etag": "c70b5e8025a12c00f90d64da288e0666", - "sha1": "f36222db39a0600e497c8547c40e057d69cce655", - "sha256": "1bf0530559802b92677858e96a43be30c77ba94dd170630b3bb2702b740eb5e2", - "size": 1600269, - "uuid": "a454ef32-a818-48bb-8986-59c91a3582d6", - "version": "2019-04-03T10:56:15.780166Z" - }, - "image_file/463aff9a-ec7e-40d0-be42-c6686af9130d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "83b7b009", - "indexed": false, - "name": "primary_image-fov_000-Z2-H1-C0.tiff", - "s3_etag": "1477e3cfd21e5661b4f38c0002d622f3", - "sha1": "63188f3bcfe791d5e7ac797662c764857bbfb7a5", - "sha256": "04733ed9c6df06e23b249b23f985e61c66927e8be780f691e87f23b5cb01ad66", - "size": 1600269, - "uuid": "514c1928-88b2-4ee4-9a36-6df3a1ea6ad6", - "version": "2019-04-03T10:56:16.144108Z" - }, - "image_file/02ddb50f-4a97-4fbc-ac08-32cd5f0fb319": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a90594d4", - "indexed": false, - "name": "primary_image-fov_000-Z2-H1-C1.tiff", - "s3_etag": "cc4644e2e6ceeafae8135a4d6f9a8d0a", - "sha1": "2326bc68eee158ed0a04d6d985c18a75d18ad15a", - "sha256": "7300a8d3a2a5b2e2104979e3740320ee9595bba2483ef225e6d35134d1284d9f", - "size": 1600269, - "uuid": "7334d870-d87a-42c5-a56d-cad22755b2c4", - "version": "2019-04-03T10:56:16.706622Z" - }, - "image_file/868efb99-df36-462b-91a2-bb6ca27e842a": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7f7b23b1", - "indexed": false, - "name": "primary_image-fov_000-Z2-H1-C2.tiff", - "s3_etag": "1dbebf9b99808edfb51ae30baff92a4a", - "sha1": "6117c5ba6b63412656028968a4a840bc68d0573d", - "sha256": "188f587144c32af04e345736189d8fe2ff0d937fcad34cd4245ab39df87f07d3", - "size": 1600269, - "uuid": "8f9a873c-db55-46f0-ac21-2675647a2553", - "version": "2019-04-03T10:56:16.941310Z" - }, - "image_file/dd124d84-cb44-42e6-88d8-0d97fcb2c0f1": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "548dcdb6", - "indexed": false, - "name": "primary_image-fov_000-Z2-H1-C3.tiff", - "s3_etag": "769b4c4c76ffb3bce4b616db20d034d5", - "sha1": "a08d40f28616ef6ae142b4c37b4d84c591efe435", - "sha256": "1fd2a0467af9e35362571370a84a6b64815813f78b265c2dd52f5def6d096f3d", - "size": 1600269, - "uuid": "6d2fd5c1-91d8-42b4-9958-41b9b7be2ee5", - "version": "2019-04-03T10:56:17.319136Z" - }, - "image_file/36ded48a-869f-4fa8-971f-56bc28298276": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "29d61c42", - "indexed": false, - "name": "primary_image-fov_000-Z2-H2-C0.tiff", - "s3_etag": "57c05571d8b8821b13e556be93da0d84", - "sha1": "fc0fff1511e1e4d84669d57033b6ffc39ed4405f", - "sha256": "b650b9e0da3106417bae5b48d9eb37eac1fce1448ec94f5c71be1ac7062fda2f", - "size": 1600269, - "uuid": "909dd3ed-d856-4a87-aa6a-7f5e0d390d2f", - "version": "2019-04-03T10:56:17.543209Z" - }, - "image_file/b62567c9-27d5-49b9-aa2e-7e9e1513dcb4": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f72a81a6", - "indexed": false, - "name": "primary_image-fov_000-Z2-H2-C1.tiff", - "s3_etag": "cce75b96e44777a01f2ad68299492f6d", - "sha1": "59611c72b8d9fcf13669eada705254fcdefdc7ff", - "sha256": "d2b61894955a168fb0ac7829cc9ee733143524604b1e80530485ea8e5011360a", - "size": 1600269, - "uuid": "b70a3092-a8b6-40ae-9cbb-34cbcb5a2cf0", - "version": "2019-04-03T10:56:17.821595Z" - }, - "image_file/e72742a4-23ba-4e5d-a29b-ad449abe8101": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f5c2377d", - "indexed": false, - "name": "primary_image-fov_000-Z2-H2-C2.tiff", - "s3_etag": "67a34e735ffd103e596353c26fee3c3f", - "sha1": "792ba03c85920df2ce38be9c03eec054caa1047c", - "sha256": "650bf866b8fb87ab9cafe2bbfdee1efb65c72f63e95428af59c5e8c41d95ebac", - "size": 1600269, - "uuid": "b9efda80-7e16-4e5c-ba35-6129b824b553", - "version": "2019-04-03T10:56:18.200496Z" - }, - "image_file/cd6e1096-f8c3-4eda-957d-b09741d60901": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "d6429d4f", - "indexed": false, - "name": "primary_image-fov_000-Z2-H2-C3.tiff", - "s3_etag": "9296ab3ee1b462b5a5d65a56f214b997", - "sha1": "e49c58ddc0fb9e6290520a2f60d1ef891b56206f", - "sha256": "2386bc3553f1f52628afebecf6ea96b17f3312340de1a7b9386a4dcbb4d8fd10", - "size": 1600269, - "uuid": "8c4f42e5-8544-46a9-9744-7540c07e040e", - "version": "2019-04-03T10:56:18.586702Z" - }, - "image_file/903ea376-5153-4fb8-8ffa-e2948951409c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5aafd070", - "indexed": false, - "name": "primary_image-fov_000-Z3-H0-C0.tiff", - "s3_etag": "d062ee9eb1e0c4e80b71eef975768106", - "sha1": "e6d768504b4a0a608de93df16912d44b44da0e7b", - "sha256": "3d3c0fbe3d11decaacf6c24eed84bcf915c9cf6714962d290e12dbada9f3abd3", - "size": 1600269, - "uuid": "c9b04d1c-02ce-4db6-bfd5-b69edef36c55", - "version": "2019-04-03T10:56:18.841432Z" - }, - "image_file/89c5fc1e-9d18-4a6b-9025-ea0b75d01adb": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ef964528", - "indexed": false, - "name": "primary_image-fov_000-Z3-H0-C1.tiff", - "s3_etag": "9194049a53022defccc87e6e373c702e", - "sha1": "8dacd7cc7ccec6a231a1c2ef9ab8fc6ca5b1d567", - "sha256": "f53aff93086e8ff3abd65c5bdf385d44cda29bfd5cfb71bb2296a3e3bd0bc48c", - "size": 1600269, - "uuid": "70c7781a-b4b2-49db-b818-9582ae41c32f", - "version": "2019-04-03T10:56:19.399696Z" - }, - "image_file/8381d167-c4dd-49a2-b5df-1ae815bbe42e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4820d355", - "indexed": false, - "name": "primary_image-fov_000-Z3-H0-C2.tiff", - "s3_etag": "9d48c889e143511f4ca118d57244795f", - "sha1": "b3c27cdfad9eb8676658dbe431aa25b084fe051e", - "sha256": "83a46a8f63f65099bb24b3a2ca046d0bb138915d48069cb1d598fb14418774ce", - "size": 1600269, - "uuid": "8a21baa6-cff7-4807-85f6-2815522f2305", - "version": "2019-04-03T10:56:19.679038Z" - }, - "image_file/9be80be6-ee45-49d5-8d3d-a6df8f0383f6": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ad76dbb5", - "indexed": false, - "name": "primary_image-fov_000-Z3-H0-C3.tiff", - "s3_etag": "f4f641752b8c92b5e33846f971e2bb99", - "sha1": "54f1de46504eac499d5da453eb8fc09787c800f8", - "sha256": "48ed76ac22ccd6d9b378b605a2e6fd92618d49c684b7ba4e5a656dc94b825aa4", - "size": 1600269, - "uuid": "8ddd205f-c13f-4001-93ae-c9b834c762bc", - "version": "2019-04-03T10:56:19.959849Z" - }, - "image_file/cf305c60-bb2c-41af-82bf-0631c2a7b0be": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "da30f7e2", - "indexed": false, - "name": "primary_image-fov_000-Z3-H1-C0.tiff", - "s3_etag": "73ff3d828f234c4a34e41c43cb1b8e1a", - "sha1": "688dea42d4d0341008af68033eb471047d7448a0", - "sha256": "862916d173844e00fa7c89f2f569127dc9b4ea40ffced0685ba1f6c0366b6ec1", - "size": 1600269, - "uuid": "318fcac8-e540-4c30-840c-9baf19dd8ac1", - "version": "2019-04-03T10:56:20.515721Z" - }, - "image_file/074290a9-35e1-422f-a3af-e5ed58781b4d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4acc4110", - "indexed": false, - "name": "primary_image-fov_000-Z3-H1-C1.tiff", - "s3_etag": "ba6d37a8269a9bf6c3788d52031b29bb", - "sha1": "913541ed4d6e6c3cb87e40e7c479f2520eb489df", - "sha256": "2dcba4d4d5519f97c2eca00e9840d3e16a585760fa5768dff9aa464d1c70b025", - "size": 1600269, - "uuid": "76690f93-b774-4a5b-8e44-ed1a15463d28", - "version": "2019-04-03T10:56:20.763724Z" - }, - "image_file/0c49b3ca-bb47-41d9-a58c-e5ea79f673c3": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "43cc3f48", - "indexed": false, - "name": "primary_image-fov_000-Z3-H1-C2.tiff", - "s3_etag": "97b6d5bf0fd61b5f513efa2b409b9edf", - "sha1": "315da7494e53e2b8017b5a83f6add784aac12d6b", - "sha256": "e3632c252f3e5ed30bb19bf77c1a9689e68d4e62749a22903eba05181f6b118b", - "size": 1600269, - "uuid": "a5c6ec42-6651-416f-8bf2-a75d19067701", - "version": "2019-04-03T10:56:21.035316Z" - }, - "image_file/783c4def-7dc3-40a6-aa9e-a3f92a2dffba": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ba844c65", - "indexed": false, - "name": "primary_image-fov_000-Z3-H1-C3.tiff", - "s3_etag": "dc45a53df4bcdbe0f43c5413905aba1f", - "sha1": "87120245035e23c44389cb116f9cb669618b9f0d", - "sha256": "572b1a336be5579f17ba32ae2100148ac7375673f8e44b9d23e27fee815b861d", - "size": 1600269, - "uuid": "08360384-d64d-423c-b393-ac77e55f5b54", - "version": "2019-04-03T10:56:21.335645Z" - }, - "image_file/5165cc56-ff89-42bf-b000-fec4bd57176e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a22c482c", - "indexed": false, - "name": "primary_image-fov_000-Z3-H2-C0.tiff", - "s3_etag": "762d5e4141197e0c63b8b038de8d6782", - "sha1": "5ddf8c065eefec37b866ac74b577fe05638c18f7", - "sha256": "5d614db01b19b9ca8cd948080d29026bfbdaa175e49cdf9e2f7462525b640d20", - "size": 1600269, - "uuid": "9fced6a6-70df-414b-ac73-dff271a5dbf5", - "version": "2019-04-03T10:56:21.654577Z" - }, - "image_file/545be634-5893-45e0-93b2-dd4ea93e00db": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "93e07072", - "indexed": false, - "name": "primary_image-fov_000-Z3-H2-C1.tiff", - "s3_etag": "e3d9685615d21051daa9b834083d3d96", - "sha1": "1b8656a4a26eca4adaba32a328e1963cd6296a61", - "sha256": "3ca858c6ec4f2703e14b6b32f8823c108155400b89ee6bed925a7ae8185ee2f3", - "size": 1600269, - "uuid": "a05d672e-b664-412e-a050-a57c205edabe", - "version": "2019-04-03T10:56:21.895551Z" - }, - "image_file/2d2e58c6-7c24-4089-bbe9-d47b7482be46": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f3907f41", - "indexed": false, - "name": "primary_image-fov_000-Z3-H2-C2.tiff", - "s3_etag": "a9632bd5ab7fe1c532115b21830bcf93", - "sha1": "4b47753bfd6d202f885abb97da2533b7bd333a9d", - "sha256": "a0529f39e6739c75a7967c08cf06f3368676fee4ad8608e7fb44807583116479", - "size": 1600269, - "uuid": "186d9626-1b8b-4bc2-ac7c-745ae7479019", - "version": "2019-04-03T10:56:22.164338Z" - }, - "image_file/e4ce035a-f9e2-459f-8ecf-ce138ea00b34": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1dafc649", - "indexed": false, - "name": "primary_image-fov_000-Z3-H2-C3.tiff", - "s3_etag": "619b8ccde9982a5537734b1ce393368e", - "sha1": "ac208729e50fb9db5975b6451093f635cf38d2f1", - "sha256": "dcacf37924188294b6f2ec83cddb037ed8477a4500ac8ece18e1499863a3f87c", - "size": 1600269, - "uuid": "db870673-6390-488f-998f-c96d02a17238", - "version": "2019-04-03T10:56:22.575382Z" - }, - "image_file/81214e49-318f-4221-bf2c-4ef00cfa916b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "e812fa56", - "indexed": false, - "name": "primary_image-fov_000-Z4-H0-C0.tiff", - "s3_etag": "b86ff8c077a32dc884738059d569152d", - "sha1": "d768db2b3899d10c260b912d87160d27de8aa1a9", - "sha256": "fbdbe7a0b4a3a51e684b5a1bacb0ac4a993133d784f9eebcdaf20643396a0142", - "size": 1600269, - "uuid": "56ecf18f-2cf1-4db1-8acf-a82a04b55ddd", - "version": "2019-04-03T10:56:22.895893Z" - }, - "image_file/7fc97754-1121-468b-b1e4-839bde86b6c8": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "daa4be7d", - "indexed": false, - "name": "primary_image-fov_000-Z4-H0-C1.tiff", - "s3_etag": "059da13f286d8489c3cb3dbaa28a3f8b", - "sha1": "85115eaeed5919dce2dbfd3177377032850caab3", - "sha256": "868c1a7e2880dfc0018ecd373afe8dbb4a7d99288abb66443153f49641c631b3", - "size": 1600269, - "uuid": "a79ce39b-a4ed-4b97-a047-afb96e4ce398", - "version": "2019-04-03T10:56:23.199025Z" - }, - "image_file/7d70d44c-b5d7-47be-9687-e9a775e86251": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5cedc9de", - "indexed": false, - "name": "primary_image-fov_000-Z4-H0-C2.tiff", - "s3_etag": "4d963c867351acbb456f9058467b5a39", - "sha1": "d113362b2d7d9b8270b27b255c5fac598548cf86", - "sha256": "1bd2f114e642e4fba400ed901f4a45bc6c7b4eff683a36f9ad66d693c5234385", - "size": 1600269, - "uuid": "4f29d438-3acb-4a71-af29-e3191f071a44", - "version": "2019-04-03T10:56:23.525898Z" - }, - "image_file/ddb4f9d4-f2a1-42a5-87fa-e818071a5b33": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "a618c91c", - "indexed": false, - "name": "primary_image-fov_000-Z4-H0-C3.tiff", - "s3_etag": "df6da4b2926b1d8f8f89a2032651a430", - "sha1": "3d35e6e7ea83ab7c2e3cf11d002f89a8ecd483f4", - "sha256": "236595504636b01cc3493f1191584b64b12b79f4471938f8b5da36aa41ce6048", - "size": 1600269, - "uuid": "9578fe1c-6623-49ee-afd7-8e6c4d85d8fd", - "version": "2019-04-03T10:56:23.779296Z" - }, - "image_file/b7607809-e975-4c32-bff7-375cb2d8276f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b92778d5", - "indexed": false, - "name": "primary_image-fov_000-Z4-H1-C0.tiff", - "s3_etag": "453f91d8dd3b445904d6f0f85ab6becd", - "sha1": "54d59f36669cc295891467c014cd4f69cbe6253e", - "sha256": "bb52f37c1253132ca1f2575e0dd3cbd445cfb2ae821967968de96530844dc17a", - "size": 1600269, - "uuid": "24fc3772-5e01-4a34-8bd8-98d745595571", - "version": "2019-04-03T10:56:24.055806Z" - }, - "image_file/b8a6c863-626d-4fbf-863b-610cffaac37d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "aedae183", - "indexed": false, - "name": "primary_image-fov_000-Z4-H1-C1.tiff", - "s3_etag": "fd1d5c55761ad8e46e70a8c49e2252e8", - "sha1": "ba3212180c1c65ce661492c22140c9781049ddaa", - "sha256": "b46abde44f1fb374d8d796c7bf1e5ecd3f65b80eef3229107cfc975b60407c30", - "size": 1600269, - "uuid": "af10a2c0-5f84-448a-a429-7e88bcf8d2d4", - "version": "2019-04-03T10:56:24.344848Z" - }, - "image_file/45077a5c-ee96-47c0-a84f-9d46cf799338": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "53cd4995", - "indexed": false, - "name": "primary_image-fov_000-Z4-H1-C2.tiff", - "s3_etag": "a7d7945c407b8d014f92a2f292dfbe65", - "sha1": "6fa31c4a9d846a353a5149a538a1ceb6b48293d7", - "sha256": "b39e60b7133221fbc35eff41ca912aaab4c7492bfe8197ada75fb5c5ae81ba8f", - "size": 1600269, - "uuid": "ceb1e477-69a0-4fa0-90c9-ee35e16c6d33", - "version": "2019-04-03T10:56:24.610737Z" - }, - "image_file/49d82b74-6f1a-415c-93ab-958c60f083b6": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "8579d287", - "indexed": false, - "name": "primary_image-fov_000-Z4-H1-C3.tiff", - "s3_etag": "fa4ef541c7993436f3cda78604b8b5b6", - "sha1": "0dbd02794fbb3b7541f22220e8f882baeee12b2d", - "sha256": "bd1775fa1eaeab9ca466e3cdfc758760d43e3c1f866138f62965ab94a6f69725", - "size": 1600269, - "uuid": "be9b7636-fbb5-462b-af38-a351e006b334", - "version": "2019-04-03T10:56:24.895931Z" - }, - "image_file/753b51b7-a909-44e7-bb21-cf2cd18328f8": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "8a9835bb", - "indexed": false, - "name": "primary_image-fov_000-Z4-H2-C0.tiff", - "s3_etag": "ae02ec63016b9abdd620536f859d69bb", - "sha1": "d5d346e6aa8fd1ceda276aed39620fd326da934e", - "sha256": "67f9709da7392cfcc65d8e6460d9b353617de5b56e3480573e5ca8c7bd582037", - "size": 1600269, - "uuid": "a01e972b-5d55-4816-9589-0c016a8eceef", - "version": "2019-04-03T10:56:25.257370Z" - }, - "image_file/c7ab6349-b2bb-4ba3-9c9b-27d270550052": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "98a57d8d", - "indexed": false, - "name": "primary_image-fov_000-Z4-H2-C1.tiff", - "s3_etag": "e84bc9fd5931d981c7ade8b43df6cd77", - "sha1": "ac170164ac57262e00deab61c41757b410cda006", - "sha256": "878d36ccf128a83cf8bba81022d55d30fc4781ab16f0c92952938dfd6eac5a54", - "size": 1600269, - "uuid": "e2ec1f14-7d7f-4693-bb0c-ec5a6f417803", - "version": "2019-04-03T10:56:25.515250Z" - }, - "image_file/7be770fc-4a56-4f82-a4cf-3cf908d54dca": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "aaa60b26", - "indexed": false, - "name": "primary_image-fov_000-Z4-H2-C2.tiff", - "s3_etag": "f4debfc643dd4c87c943390f9f0927b8", - "sha1": "c60896cd90c6eba3f25b3ad43809e9e4b0e175ba", - "sha256": "0e097b54b24ddce69cecd5b38e194c3b8bc501f7557b8641f90268b84711b109", - "size": 1600269, - "uuid": "707f043c-a115-45ee-8fad-2962f55ff58e", - "version": "2019-04-03T10:56:26.011308Z" - }, - "image_file/3f5f8537-c1af-4d2e-a732-53b6d4275588": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "03952f13", - "indexed": false, - "name": "primary_image-fov_000-Z4-H2-C3.tiff", - "s3_etag": "fb57bffe031aac808b3f763a95b55a19", - "sha1": "be462c01298c1cc2c37e6f3e36775fd36514f179", - "sha256": "5d7170e3cf1805663408e69eed861a2dd604cefe911cc1887575252210147770", - "size": 1600269, - "uuid": "0bf3e1df-6d4e-4fe2-b608-95a23ed4e5a0", - "version": "2019-04-03T10:56:26.396309Z" - }, - "image_file/3820feac-72c4-49c5-a5a0-773f4e5ee3c1": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "428ef5bb", - "indexed": false, - "name": "primary_image-fov_000-Z5-H0-C0.tiff", - "s3_etag": "a142720da87ce8c6ada038aa5d49a169", - "sha1": "cd4a508c87fe959f211edb71c11bbd7fbfafd37e", - "sha256": "a0ce165b659ef69ad056ad76b6e93d3dfa999f7845762c3d6d305dcb835885ed", - "size": 1600269, - "uuid": "d90b7354-47b4-4aec-8d4c-ac8805467b6a", - "version": "2019-04-03T10:56:26.655715Z" - }, - "image_file/f986c2c2-2823-45a0-80cf-5e6f67958afb": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "39397452", - "indexed": false, - "name": "primary_image-fov_000-Z5-H0-C1.tiff", - "s3_etag": "4707b7fa9f888219b829054ca0be4c14", - "sha1": "a56b208676f6a45450b96c5708672d809bb7cdba", - "sha256": "0d77858e76d5a1f29df86674f4732744cd22ebe67739ee0f73430e15124e190c", - "size": 1600269, - "uuid": "dfb213e1-e9c1-4996-a0fb-1da6ea5e6992", - "version": "2019-04-03T10:56:26.976077Z" - }, - "image_file/7d17d6d6-d038-40c6-b965-6de41ce9c931": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "73578068", - "indexed": false, - "name": "primary_image-fov_000-Z5-H0-C2.tiff", - "s3_etag": "425d807333615faee9e53384c99d1525", - "sha1": "33ca4a69c8fb9c36678b6f43165c22594f4470f9", - "sha256": "b06202c2da34f93e9888e7b227ec8bc955d0a7eb655f43605272fe8d3f76f8e9", - "size": 1600269, - "uuid": "58d7e9ca-9c4f-4a92-8335-d03a007b4b3a", - "version": "2019-04-03T10:56:27.218596Z" - }, - "image_file/3d208b38-62c8-492d-9434-21bb66ead16e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ce40d3ac", - "indexed": false, - "name": "primary_image-fov_000-Z5-H0-C3.tiff", - "s3_etag": "38ea4d04b518aa2faebfab95c00879ca", - "sha1": "1a0876b3528a7c5a979e0b3f8593989c09ccd060", - "sha256": "8f2919c5a7a173b660fdb1a268f6a8b501e725b1cc4014c46c17900a1c7b40ac", - "size": 1600269, - "uuid": "a7e2a1b2-a3b0-4c19-9baa-17da6bfc9c60", - "version": "2019-04-03T10:56:27.502876Z" - }, - "image_file/9a982898-77c6-4a56-8e54-9cb83ff0b235": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ab01a9d0", - "indexed": false, - "name": "primary_image-fov_000-Z5-H1-C0.tiff", - "s3_etag": "b7b0f23db471b2ba161a37bbbb49dacb", - "sha1": "a5335cd38929f7454e0661780b49b4c8d3e4c3ef", - "sha256": "10965856cd7ff817b66b2770367587844c69cf3897907c422b9285f5a5240b43", - "size": 1600269, - "uuid": "a2366fa7-fba6-4899-a2da-d297f781ed4a", - "version": "2019-04-03T10:56:27.790236Z" - }, - "image_file/1bdd91d7-0a1a-488d-ab9c-78eba7a6daa3": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7ea6bda4", - "indexed": false, - "name": "primary_image-fov_000-Z5-H1-C1.tiff", - "s3_etag": "e15f3bdc49f3eece05d6b91c433e7f56", - "sha1": "62b7d1490a78d98165468dbe5bb2f3a6424dda14", - "sha256": "bf275b7057317795046a4371e0da5d060dd7db54b43f8af451b6f69dd6d9d179", - "size": 1600269, - "uuid": "3f058b01-c8fc-43e8-b4f9-9c10449bf12c", - "version": "2019-04-03T10:56:28.115924Z" - }, - "image_file/24b6366f-03ce-4e4d-b50f-90687f3e2b94": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c11084d8", - "indexed": false, - "name": "primary_image-fov_000-Z5-H1-C2.tiff", - "s3_etag": "15c1b90d42d37afd77efb11c5dece01c", - "sha1": "ecf9e80d36eaefd41ffb2b2c8cc338a7f65af317", - "sha256": "95b7f3c4382bc8230e8e7497150cdabcdf6a979bf05e469ecdae77c6ce996d6e", - "size": 1600269, - "uuid": "b28492e5-5b71-4048-8261-82b20ef55540", - "version": "2019-04-03T10:56:28.372925Z" - }, - "image_file/ec1d0987-fb49-48b8-aaeb-321c659fb67f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1e451967", - "indexed": false, - "name": "primary_image-fov_000-Z5-H1-C3.tiff", - "s3_etag": "0898d4a1d00f1aa862dc33cced7b0c9d", - "sha1": "ba2f5515bceff182e8bb2ce6b1fe644e865fb5be", - "sha256": "723f48bc1a4bac1847199bdd6709ea7531c0bf1d4f53d812923f3fe3ef56f0c2", - "size": 1600269, - "uuid": "c5684e6e-6461-4360-bae9-fab162dfe7da", - "version": "2019-04-03T10:56:28.797211Z" - }, - "image_file/e756ce65-ad72-42e6-a8cc-9c1bac781ce5": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "dbab5433", - "indexed": false, - "name": "primary_image-fov_000-Z5-H2-C0.tiff", - "s3_etag": "ae3f68ee7ff45d011ca9c39e96f92093", - "sha1": "24768b34064040f3e115af28c05bfbd60c8ae118", - "sha256": "6de64340a14313461ca2cbe4a30c368cb82566f77909afd64beed0048c1aed87", - "size": 1600269, - "uuid": "97b5dded-4ea8-4404-8c9a-449ba9fb8269", - "version": "2019-04-03T10:56:29.135928Z" - }, - "image_file/6fbcb1c7-ce98-46db-8054-b451b6bca205": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c12f70f8", - "indexed": false, - "name": "primary_image-fov_000-Z5-H2-C1.tiff", - "s3_etag": "15b094ffd10bf74d2dbf06c63afce6f0", - "sha1": "1a3a7e964c90e3330ef6934e27ad20a6b74f5d1c", - "sha256": "acb8c3fe3a17d12b5354c2ccb7625d132140a15af70dea14288e627d54ce2c96", - "size": 1600269, - "uuid": "e879b6b4-3fc2-4436-b8ff-eb9df73d3ed2", - "version": "2019-04-03T10:56:29.377960Z" - }, - "image_file/c225fa8c-e8c8-46a4-bf23-720e2cf1c9ac": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b524a465", - "indexed": false, - "name": "primary_image-fov_000-Z5-H2-C2.tiff", - "s3_etag": "abce483fa1f38c6eff3adc8c139838fe", - "sha1": "4f51deacf61528b2c5e913cc7b90a27b27fbd07b", - "sha256": "11f0f0fc92c2d30e0c5f6113b542e2642f7311db72775ae75d9104e963f5bd7a", - "size": 1600269, - "uuid": "53781f5a-928a-451e-addf-57873b35b752", - "version": "2019-04-03T10:56:29.795795Z" - }, - "image_file/aa6fca0d-6a70-4016-a0e4-307878e9ff45": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1def4990", - "indexed": false, - "name": "primary_image-fov_000-Z5-H2-C3.tiff", - "s3_etag": "4978c445486bca4c2448ef12aa04ca51", - "sha1": "a0c842723a0445c494ec6893045e3e5af44a4634", - "sha256": "f1e583acebdebb6c0fa20e100eb1cd5d6489c8aafd5e1090754dd45bd1dc6901", - "size": 1600269, - "uuid": "e6f008b0-bf18-46bb-be73-2705c748a25d", - "version": "2019-04-03T10:56:30.050748Z" - }, - "image_file/ee62cd8d-fb93-4082-980b-213c7a8a0c47": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f0c87133", - "indexed": false, - "name": "primary_image-fov_000-Z6-H0-C0.tiff", - "s3_etag": "f81727967edfe177a6d063a95dd36e00", - "sha1": "30fe4f671719c78fd7de1b0f28938142fc5990fd", - "sha256": "4f52e11e66b921de450714aa0091d3fec21f96fbc62dade12de2a69dd5438746", - "size": 1600269, - "uuid": "4f5e3c36-fd75-4ee0-8b18-cf54422d037b", - "version": "2019-04-03T10:56:30.396132Z" - }, - "image_file/bbd60a79-3572-42c0-8e53-b0c566a72f06": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ed8bf4f8", - "indexed": false, - "name": "primary_image-fov_000-Z6-H0-C1.tiff", - "s3_etag": "ecfc2fda1eabe6b5276007a200fdcc11", - "sha1": "ae1728de3c363dff7e8e776c5b74f12109745958", - "sha256": "976128eba622c8b5f5ec780f37ae7ac1410f32130a518bbd1e595c2cfe5da14f", - "size": 1600269, - "uuid": "4ffb1482-0d3c-4796-9a4d-e714d6b943fb", - "version": "2019-04-03T10:56:30.713724Z" - }, - "image_file/bf585666-2fb4-4ad5-a9b3-b268a9953ed9": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "bdf3643f", - "indexed": false, - "name": "primary_image-fov_000-Z6-H0-C2.tiff", - "s3_etag": "f9a9614b6742ae7b70059efe0faa4f1e", - "sha1": "3269e888f787f08a92bcf8f641918ddf7dd7363e", - "sha256": "dc35f4a49dfcb2d1b8d1381612dd19651ceabca0b69f18279a96d8d40e76584e", - "size": 1600269, - "uuid": "a173a354-3997-4205-83f2-19e37e174996", - "version": "2019-04-03T10:56:31.296167Z" - }, - "image_file/52548ff8-5bbd-4b1c-9c52-4e5d82f846e2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "02ca92c5", - "indexed": false, - "name": "primary_image-fov_000-Z6-H0-C3.tiff", - "s3_etag": "829b50d687a0edc863b03dec0e62c83b", - "sha1": "709535f9930c30f8c2d77112f0039eb0878204c2", - "sha256": "8e489fb561fbd17c7a72f577038dd2be247ec95e8d72dce76a3f59abe8e9ccc6", - "size": 1600269, - "uuid": "410082ea-b30c-410a-9aa1-9dc4d7c16346", - "version": "2019-04-03T10:56:31.687118Z" - }, - "image_file/240a67cc-e827-41bf-8ac8-a66bc2797f13": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "cd171abf", - "indexed": false, - "name": "primary_image-fov_000-Z6-H1-C0.tiff", - "s3_etag": "5ecfab98c0ffd40322de4c4096a7af18", - "sha1": "7a42648e778cd5c5cf562edefb283b9b9e4f3613", - "sha256": "686dea8aa0155de53310fb9717465eb88f5435c676e2561bdb5bbd17f1ada351", - "size": 1600269, - "uuid": "ea4feacf-2273-4faa-bccb-16e694e14de0", - "version": "2019-04-03T10:56:31.942387Z" - }, - "image_file/7a9b6534-fa1d-4282-a064-11e60e57a322": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "653c9b7a", - "indexed": false, - "name": "primary_image-fov_000-Z6-H1-C1.tiff", - "s3_etag": "36d6f6dd8df14136f191373a7af2f4c1", - "sha1": "9da58900ca057df2c53738723dae3b66eb0f717b", - "sha256": "4c684d7b345db1d204134bd77a4b536134d3c2abcebe677e292c0a503d104bf9", - "size": 1600269, - "uuid": "7e6e78b0-a7a4-4b5d-9217-76780babe1dc", - "version": "2019-04-03T10:56:32.208582Z" - }, - "image_file/b0af6371-4379-45f0-8c09-f6610833fc46": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "e148b974", - "indexed": false, - "name": "primary_image-fov_000-Z6-H1-C2.tiff", - "s3_etag": "599e4babff80285e97242bd4cd08f7e3", - "sha1": "d564342f4a3c0cdadaf0df852f0e197e972d82a6", - "sha256": "1a4a4d532775f1fb0df3a7808db2fb297dce720e6fdbafcaa4e0ff382193c998", - "size": 1600269, - "uuid": "ef0dbdf9-5adf-4503-b48b-c59cf84f30f4", - "version": "2019-04-03T10:56:32.536420Z" - }, - "image_file/f5ce7a96-cfc0-42c4-852b-386f9a27111d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "553155b3", - "indexed": false, - "name": "primary_image-fov_000-Z6-H1-C3.tiff", - "s3_etag": "0e1a664c446d81fb18223b4149e8b2ac", - "sha1": "7fe65a76887149fb1f50c86f27859d689311674b", - "sha256": "c5d5c84a9c0efd4abf05b4dd557dae8cafe485608a1b62f3d565d772fd1158fc", - "size": 1600269, - "uuid": "4ad6424c-538b-4387-b54a-70aaac5e0a01", - "version": "2019-04-03T10:56:32.798766Z" - }, - "image_file/8bc05db7-bd23-4a10-9761-96be7b8ef9ee": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f4752a9d", - "indexed": false, - "name": "primary_image-fov_000-Z6-H2-C0.tiff", - "s3_etag": "168337b82e797db619902e906292bb14", - "sha1": "efedb0f65e78da53fc026c6275b60695e30987de", - "sha256": "37e84417d3876f66a9d669d401977fe0efd36d538b95047daa57ae3d88773593", - "size": 1600269, - "uuid": "e54926ec-cfc5-4a80-952a-961a98d01264", - "version": "2019-04-03T10:56:33.035247Z" - }, - "image_file/3dff4add-7d6f-418c-afba-e46864af51d2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "62f80682", - "indexed": false, - "name": "primary_image-fov_000-Z6-H2-C1.tiff", - "s3_etag": "b280fa6859fd8571e68682c0d3d6f181", - "sha1": "0c70628b53eaeb6d425583bce2f98b085bace46a", - "sha256": "72f7df5e3c5965bd88315189329887ba47bf8d51e3f9464646e5faebdab1b1a7", - "size": 1600269, - "uuid": "1a98673d-9d2d-4083-a0d5-b128c5d267de", - "version": "2019-04-03T10:56:33.297846Z" - }, - "image_file/ab2b7c67-8f13-4388-acd7-e2abb0091f30": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "978bc625", - "indexed": false, - "name": "primary_image-fov_000-Z6-H2-C2.tiff", - "s3_etag": "d87a672aaa65722044eec823981cbaf5", - "sha1": "f90814c037f00b4d41efed7d9e1f2e00efd69205", - "sha256": "49b58722e29ddd4a2468439e672dccc23e171f283232e13f98ca5f1475f618eb", - "size": 1600269, - "uuid": "a9477ea9-35a8-449c-a157-4ec3b9057989", - "version": "2019-04-03T10:56:33.619365Z" - }, - "image_file/d9912d93-3d92-48d2-9f75-826fbba3d94e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ed432bf7", - "indexed": false, - "name": "primary_image-fov_000-Z6-H2-C3.tiff", - "s3_etag": "440b9064ae05440988d3ffad8e9b629d", - "sha1": "e9463d9b903587304016899a06170eb7323cd381", - "sha256": "bba29e16735e9620268b88bc2db40d656771c3b30948489e84add2bda58ce0a5", - "size": 1600269, - "uuid": "ca573914-fead-42c2-acc3-3a9536d720a4", - "version": "2019-04-03T10:56:34.196322Z" - }, - "image_file/8b37aba2-be5e-4963-8e6f-51a2df8e143e": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "7f1c78ad", - "indexed": false, - "name": "primary_image-fov_000-Z7-H0-C0.tiff", - "s3_etag": "cb0c4a925ce2e8464672ad3053ddae1c", - "sha1": "1210c56cddbb77d129a2e3bdbb6ad45ea318c191", - "sha256": "6e044a88160ce6f2480840525804b5fc7f115f3d787e15594ae2b9d3d635a354", - "size": 1600269, - "uuid": "03e3dcc3-d45a-4c83-bc0b-817e563e19a9", - "version": "2019-04-03T10:56:34.597173Z" - }, - "image_file/81c0e4e2-9021-4c4d-9876-1ed5b78ca7a7": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "f5f7ed24", - "indexed": false, - "name": "primary_image-fov_000-Z7-H0-C1.tiff", - "s3_etag": "1b2683b7a2ee7678f79731c3cc75690d", - "sha1": "86964dff4fdc8cf47e6a873b3baab70e4d933718", - "sha256": "9efe951da0f64c505dabcd815234e3960626ebc09bcbb31c26ae9885fd573892", - "size": 1600269, - "uuid": "202940df-87ab-4deb-9ee3-565408ba1316", - "version": "2019-04-03T10:56:34.889498Z" - }, - "image_file/2d7e88dd-bddd-4289-9556-27d301be0b83": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5cd6ee04", - "indexed": false, - "name": "primary_image-fov_000-Z7-H0-C2.tiff", - "s3_etag": "e196eb320d1fdb6cb9924932fcd91e6a", - "sha1": "bbef2157f75133fa93b1da4c130fb4c25384502b", - "sha256": "e9435a040e8d6a92506516e18edbf5017effc9e5d60358f0bf91fa7c9ad4a094", - "size": 1600269, - "uuid": "3a044d9b-72cf-4c00-a331-b920f8bbef8f", - "version": "2019-04-03T10:56:35.152162Z" - }, - "image_file/0c1c578d-d4cc-40bb-a54d-d1d4d004373f": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "217ea5dd", - "indexed": false, - "name": "primary_image-fov_000-Z7-H0-C3.tiff", - "s3_etag": "a908d34dbf74e09c25de5b9f7273ff21", - "sha1": "6919b4ef62136cf8056f10c9035eaf34350be210", - "sha256": "bc27ec72db5a5da93908b49865f479cafdd06e54a5ea02145cf5fc437bcf8c1e", - "size": 1600269, - "uuid": "9ca4cd36-67c4-4a19-9e65-82b70a73f820", - "version": "2019-04-03T10:56:35.416620Z" - }, - "image_file/9dc0ead3-f17a-4bb8-88e2-87f779029ff8": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "be84f068", - "indexed": false, - "name": "primary_image-fov_000-Z7-H1-C0.tiff", - "s3_etag": "a0ea29c8f6b4ed700405d0b7b9f25508", - "sha1": "74769dc49f9243e25fe628f7761cd68d943c0a52", - "sha256": "d4700ed483bb7a10c940c309765d07f28e25897d67d9890636a0ed9a9b89ea11", - "size": 1600269, - "uuid": "62d38039-7672-472b-8847-c63bf52bfb6e", - "version": "2019-04-03T10:56:35.669528Z" - }, - "image_file/f618a8bc-5e07-477f-a6d3-1b0af8c81ff0": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "bf3a8200", - "indexed": false, - "name": "primary_image-fov_000-Z7-H1-C1.tiff", - "s3_etag": "72c4457ab957a85df4a9115a34f109dd", - "sha1": "5c44bb630300766ff7b359d96dbec03f4db98b5c", - "sha256": "a112cd97673c1085b02fe6a9efb24f643ee42cc12a5e6d226aac67531451ec1d", - "size": 1600269, - "uuid": "c0fe4ea4-1562-4402-80fb-78cec6415fb6", - "version": "2019-04-03T10:56:36.216303Z" - }, - "image_file/e834d3df-8432-40ba-b67d-c7cd0bd7328d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "177eb23a", - "indexed": false, - "name": "primary_image-fov_000-Z7-H1-C2.tiff", - "s3_etag": "bba07940f0a5aaa5957f81c9e0065e61", - "sha1": "3db85d8e823b23f1aa680053951e9c33ff485aa7", - "sha256": "552e403f54a98bb55ff0803f6b58ad6270ac38b7a39d1a0763bb2120b0b92985", - "size": 1600269, - "uuid": "92351261-9885-477b-8d2a-227901e6ffc7", - "version": "2019-04-03T10:56:36.729218Z" - }, - "image_file/d8908d6d-5daa-454d-9082-726054cfddc1": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "0c632a10", - "indexed": false, - "name": "primary_image-fov_000-Z7-H1-C3.tiff", - "s3_etag": "d3179c0a7294de7f691d8c7db3666e3e", - "sha1": "7c3d00508196f32958021c50778fb38a6082d357", - "sha256": "e3dc5487b384395b8f935206ed5b6a95afd4cc6e3c4815bf9483ed47c156a1b9", - "size": 1600269, - "uuid": "bdf53fbd-fb66-456a-976c-d97414d1ab3b", - "version": "2019-04-03T10:56:37.056125Z" - }, - "image_file/c5a7142e-4702-4e84-b7aa-239df2a71ba8": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "aa061cbb", - "indexed": false, - "name": "primary_image-fov_000-Z7-H2-C0.tiff", - "s3_etag": "b3dbbd62b9b385661d35955aae4b9513", - "sha1": "5aace9b7444f82c5b3640fc9ed2a79b1a9e12e27", - "sha256": "3d7b47e0d89808e906e6fa93b41cddafa38a3b2886441a8bcda381f0f44d06e4", - "size": 1600269, - "uuid": "f76cf7a7-8ae0-4cc2-8c49-497d8eeb4bd5", - "version": "2019-04-03T10:56:37.312587Z" - }, - "image_file/f69e44ef-cf23-4571-8dad-e44222697974": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1321fee4", - "indexed": false, - "name": "primary_image-fov_000-Z7-H2-C1.tiff", - "s3_etag": "dc1eadd4622eeba183ce61f908d093da", - "sha1": "1b1f67ce1f6db8cc0249b9f499734d01b9dc9519", - "sha256": "a62a5092a92c76327e49883c2652e3ebaea9953c2a48afca5c165a47b10e4f90", - "size": 1600269, - "uuid": "ccdd0669-ecf0-42d0-9eed-e6f32f4e2137", - "version": "2019-04-03T10:56:37.562208Z" - }, - "image_file/ea72f81c-2c58-43e2-acca-294254f470f7": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "65556d46", - "indexed": false, - "name": "primary_image-fov_000-Z7-H2-C2.tiff", - "s3_etag": "29efa087a59c0d3e0a180290bea0bf7b", - "sha1": "f7f4cd42d06294f61ad5fef654a0406618b95f49", - "sha256": "fcefebbbbb13678824196b57eecdf5a290d936dc8809f8fbc1ccdd29d1b96e18", - "size": 1600269, - "uuid": "599e9909-55d0-4d43-bef2-c94997a9b5ed", - "version": "2019-04-03T10:56:37.875619Z" - }, - "image_file/89d1d2b5-81d3-487d-9fc1-d8b1d8ac34ab": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "3193e54b", - "indexed": false, - "name": "primary_image-fov_000-Z7-H2-C3.tiff", - "s3_etag": "08175c1691b34c11dc647d01d1c3065f", - "sha1": "813943f84b4375657844bef235fdb2ddc6e1b830", - "sha256": "3a277e268ebdbd068dc4513ba21820455b81ba7c06a0172210a91706ddddf8c4", - "size": 1600269, - "uuid": "b6642034-460c-4628-8995-959aed6daf4c", - "version": "2019-04-03T10:56:38.140553Z" - }, - "image_file/6928ac1b-fd1d-436c-bfc6-4087c65809d7": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b20225fc", - "indexed": false, - "name": "primary_image-fov_000-Z8-H0-C0.tiff", - "s3_etag": "d82f9b12e1c2ae0df138faa1ea08d33f", - "sha1": "174399a0891dfebe57176fb5852103fa69513ea0", - "sha256": "9788637a05eb6abaf9202ce9f80219686edb82669af2d5f53bee50b35f430126", - "size": 1600269, - "uuid": "43a3a428-155b-4174-b22e-8fa69be8d792", - "version": "2019-04-03T10:56:38.472919Z" - }, - "image_file/07a7b938-435b-4804-b140-c255957b6532": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "592b9781", - "indexed": false, - "name": "primary_image-fov_000-Z8-H0-C1.tiff", - "s3_etag": "bc52bd93291f0673d856257761ea8252", - "sha1": "2d734ec0a0cf384feb7de9d08b984da7b41fc24f", - "sha256": "7dc04a42f36d4535311bccefc01ac3c3993c52cd9fd900f556cf943705ed0e88", - "size": 1600269, - "uuid": "12b0c950-9687-4b28-979c-6b370ace1cd3", - "version": "2019-04-03T10:56:38.747128Z" - }, - "image_file/3d532a7b-55e7-4461-afbc-65ef76403384": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "22ecfc52", - "indexed": false, - "name": "primary_image-fov_000-Z8-H0-C2.tiff", - "s3_etag": "e1af122e50eea65daa022f8571517bfd", - "sha1": "0c0b67437f1e48770ddc9002c09d5e281bc97d1e", - "sha256": "39c47edd52b1c74758d90dbc21977a9fda7ae4de554cb9238e7bf0903b8fdea2", - "size": 1600269, - "uuid": "d0d46791-b50d-4622-a375-300d35ef1ba4", - "version": "2019-04-03T10:56:38.999068Z" - }, - "image_file/bab40245-28bd-49a2-8be0-ba109fe41c91": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2b09e4ff", - "indexed": false, - "name": "primary_image-fov_000-Z8-H0-C3.tiff", - "s3_etag": "ccfc7c9f94dd6e47d59c20e2e76d0f16", - "sha1": "1b5c3493b162347b528a4f0e22a9879e4c7d766a", - "sha256": "5c86130e5dc26548c71301779426353401667b0b373fd5b2fa0886d8ecb54328", - "size": 1600269, - "uuid": "6cfbdd29-5799-40c9-9329-917cfe98fb3a", - "version": "2019-04-03T10:56:39.334527Z" - }, - "image_file/9d577bd4-3a27-48be-ad7c-8c44cf803cda": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "42e96812", - "indexed": false, - "name": "primary_image-fov_000-Z8-H1-C0.tiff", - "s3_etag": "60febe6a957ecea63058bfb412e570a5", - "sha1": "94a507aa40e4b3f93f17ad8d15d9e4780571a914", - "sha256": "56a67c43ffb995edaa30ce0ce151f0df38ea08827d93c1e57b902bebe78e1cc7", - "size": 1600269, - "uuid": "c665c520-397f-4410-abed-1cd9e23fe942", - "version": "2019-04-03T10:56:39.905452Z" - }, - "image_file/c4de7605-fec5-4389-bb9e-f2ea0c41cdef": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b18acdbe", - "indexed": false, - "name": "primary_image-fov_000-Z8-H1-C1.tiff", - "s3_etag": "09f753ef93d7ae051a784a327cc79e95", - "sha1": "ae87ab3d3d51095ea4cc74dda5475b47d344875b", - "sha256": "49f068eaae48dbfa68b9f63876e10fa94a613115a7285dd0fad6ee7438d1624e", - "size": 1600269, - "uuid": "fdac5e58-f0bb-40b1-9a58-b49f43bc4238", - "version": "2019-04-03T10:56:40.178722Z" - }, - "image_file/21a043b6-6dde-41b9-b20e-74b961da8b88": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "af59c8a5", - "indexed": false, - "name": "primary_image-fov_000-Z8-H1-C2.tiff", - "s3_etag": "3ae21db88d4c1d098bcf3354adc846f2", - "sha1": "801f806cd3df94b5d4038b4441a8854e065682ba", - "sha256": "b16291cd500218be60bc2069d6e58dbe4f81cabb070f130aedb7ab04612a2465", - "size": 1600269, - "uuid": "bf5e1454-492c-4748-811b-b8ef68548d79", - "version": "2019-04-03T10:56:40.476175Z" - }, - "image_file/11280200-1803-4110-aa84-2808776c2d50": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "c323197b", - "indexed": false, - "name": "primary_image-fov_000-Z8-H1-C3.tiff", - "s3_etag": "75d5ca11e181f3120f46ac2c12be6d5f", - "sha1": "c53ecb067ac777473317f7e19440495bfdc305ab", - "sha256": "ae4b6948a3008f08f364741085ad1cec433765c359e69736fc4097557d43edc7", - "size": 1600269, - "uuid": "37a2c628-29f7-4845-ace9-62ed637c7c74", - "version": "2019-04-03T10:56:40.730992Z" - }, - "image_file/86df5269-576b-4d18-a0ce-6e2b2a36d51b": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "e7e994f8", - "indexed": false, - "name": "primary_image-fov_000-Z8-H2-C0.tiff", - "s3_etag": "3da7df800a70d2d6e8726bcc76b3b24e", - "sha1": "9ee95d06a5b17fd363fce5c4fed6e8fbb0f05258", - "sha256": "25aede1f80b6e87f0333cd85db66008ef1034eda88ca645fc15a4d0a6b00f675", - "size": 1600269, - "uuid": "1e18aaa0-df92-4bab-81dc-7e225e2c8a09", - "version": "2019-04-03T10:56:41.356591Z" - }, - "image_file/e524ff4e-95fa-4561-bfd3-276cba79e664": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "e62e1b96", - "indexed": false, - "name": "primary_image-fov_000-Z8-H2-C1.tiff", - "s3_etag": "ab7076ebad2e8ab1fe3a2ba36c9d4a05", - "sha1": "5f72db56bea0fbfe4060b03644c49ae514013a01", - "sha256": "f61291d855a579b62e4b92f6119c8682c2784bb5e60cddf3ddc016b1bf9c2543", - "size": 1600269, - "uuid": "682e7e32-5795-4fc3-ad31-5c5f5e737c55", - "version": "2019-04-03T10:56:41.597762Z" - }, - "image_file/3d5737da-b1ab-48cb-a26f-d420e53edccd": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "eb94ca22", - "indexed": false, - "name": "primary_image-fov_000-Z8-H2-C2.tiff", - "s3_etag": "b19708d148c785414fd0f61e7fd497d0", - "sha1": "80e40c2765dbcd3874274020fed22714a4675a38", - "sha256": "745c2423dd6f6a0c53b0be8b4d3f01fa4f52e09e499fb3400885ebe61562eb59", - "size": 1600269, - "uuid": "3b5bde9d-8af7-4253-9013-61bc6917eac4", - "version": "2019-04-03T10:56:42.155558Z" - }, - "image_file/44cf15ec-3d4e-4698-bb14-107c34891191": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "30148627", - "indexed": false, - "name": "primary_image-fov_000-Z8-H2-C3.tiff", - "s3_etag": "8d555490d25c9b375e1f798726f75c8e", - "sha1": "c97a2af4b2500b157661443dbde450170b7be1de", - "sha256": "887cc80db875bf5d704c18bea2ecde0e311f94a1db43e96ad2b71fbae2228ba5", - "size": 1600269, - "uuid": "e6f193a6-c235-4357-b1c8-bd075e0be111", - "version": "2019-04-03T10:56:42.455372Z" - }, - "image_file/6242cdf3-fd6d-4479-a08a-1747818fd978": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "01ece1c6", - "indexed": false, - "name": "primary_image-fov_000-Z9-H0-C0.tiff", - "s3_etag": "0ad31b3db47ab0cc64feab103cd95c06", - "sha1": "1011cca6dff2b136733eaa0fc9ed427dbcbd724f", - "sha256": "33afd30928b802f9b37e1761eea55b04aa17d9c246bbf015174fc46e6ffbbc6d", - "size": 1600269, - "uuid": "33b9e890-93dd-46bf-a464-0b293605ca13", - "version": "2019-04-03T10:56:42.695635Z" - }, - "image_file/bc60bbd4-8b09-425c-b507-9da24a84f412": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "3a56f81e", - "indexed": false, - "name": "primary_image-fov_000-Z9-H0-C1.tiff", - "s3_etag": "6463c0af4aad289aa06ab596accd7f72", - "sha1": "0e55731c16adc0a5423f2476793d2c423b1deb6a", - "sha256": "5337ba319da091c05651d7da158e1cd3719f9befb1f2f6db1344338e0ac70449", - "size": 1600269, - "uuid": "1a57ba61-0aaa-4a98-8714-44ef51295163", - "version": "2019-04-03T10:56:42.933998Z" - }, - "image_file/1f054ccf-f8dd-4127-a6f8-c577d7dd93dc": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "4f573958", - "indexed": false, - "name": "primary_image-fov_000-Z9-H0-C2.tiff", - "s3_etag": "662e5f08087f7cc4ee6454f6ed734c66", - "sha1": "96feb27dc74eb05d307d6d5f8a66826962cb037b", - "sha256": "8e7b543d6baf164527bb6ec8b391acd79cd52d61a88ecba8b72db31ade03ff95", - "size": 1600269, - "uuid": "e1a484a8-5557-440d-8196-38a39c8acc3e", - "version": "2019-04-03T10:56:43.266340Z" - }, - "image_file/9954cb4b-b0a4-4479-b31d-0bee1e75d9c7": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "5fd73b1d", - "indexed": false, - "name": "primary_image-fov_000-Z9-H0-C3.tiff", - "s3_etag": "b89d1752986854195217fda6c5f7c246", - "sha1": "f0b6ea2f3b8c3f166db793d6f02498041141a527", - "sha256": "3a328ccdc6f19fa663c1e703efe15cb80fd8f5c260eb679ac64222aead8fa19c", - "size": 1600269, - "uuid": "4a836a20-3f30-4e33-8374-c9837de94790", - "version": "2019-04-03T10:56:43.598363Z" - }, - "image_file/5f67c32c-a154-4620-8603-0b64979b04a4": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "2335b62b", - "indexed": false, - "name": "primary_image-fov_000-Z9-H1-C0.tiff", - "s3_etag": "a45f76cccdd8e3688c03f9afb3a48e42", - "sha1": "5acfa2d86b69216cb8b25dd5e0ff44e2353a7a2a", - "sha256": "89c07cd8d4d7a47f7d7c85c4e9918e937b9dd248275c3597b520bb29685fd275", - "size": 1600269, - "uuid": "fa8e2052-2f21-420b-84bb-dee4e2ce79ab", - "version": "2019-04-03T10:56:43.915023Z" - }, - "image_file/7d5bffb2-8bf9-4366-a8b2-762ebb4d6c5d": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "61289ac4", - "indexed": false, - "name": "primary_image-fov_000-Z9-H1-C1.tiff", - "s3_etag": "859abbee84741bc542fd3c1916e6c76f", - "sha1": "e0a1535468297319590ac1edea0f9f17b1fcbbc3", - "sha256": "3f15a6b5d60834705355dfe79c38f4a8cae0a1fcaf3dbf61bdd2be8eeadf213b", - "size": 1600269, - "uuid": "c605b91e-3b62-442d-bd3e-2d58a213a4bf", - "version": "2019-04-03T10:56:44.156708Z" - }, - "image_file/dcee6df0-9e87-4935-8873-f8d30d449d76": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "081bc6e9", - "indexed": false, - "name": "primary_image-fov_000-Z9-H1-C2.tiff", - "s3_etag": "154e0e39f4e0598830e28c466f606604", - "sha1": "095bcb4c03fd228f69c2cff4e55d75a55f3de86a", - "sha256": "ceb0e9ae90e00e9fe53a63807eac2bb319974203ac92a4ca7ebd9c3287de2284", - "size": 1600269, - "uuid": "d6621482-70a1-42ac-895d-8398aa0bb2b7", - "version": "2019-04-03T10:56:44.436640Z" - }, - "image_file/7d6bdde6-523f-46cb-bed5-d6cfa8fea80c": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "b65a523e", - "indexed": false, - "name": "primary_image-fov_000-Z9-H1-C3.tiff", - "s3_etag": "44e91c2235e2933c382881c9260e729e", - "sha1": "98be3ab0b504f834c06b8cff450da4d2f27ddb93", - "sha256": "4a722651fc388de26b1dbfcffa7be65c448b26a31d1738e5363857dfea81ea61", - "size": 1600269, - "uuid": "1d051231-9ed8-44fd-8086-93da3a04dd0b", - "version": "2019-04-03T10:56:44.954210Z" - }, - "image_file/e6d00b0c-3641-4ec4-a553-8fd742193dba": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "6e9add20", - "indexed": false, - "name": "primary_image-fov_000-Z9-H2-C0.tiff", - "s3_etag": "89384b0fb6345d99cb41c07570b88ac9", - "sha1": "27cc8de22a7967083534b80d11537d38e1adfb2a", - "sha256": "d19fd3d6fececce2aaa3877f38d1c775f76419ec07374b7cff010b9867a12854", - "size": 1600269, - "uuid": "bba231df-4b9b-44fe-a9e9-df314fc8f75d", - "version": "2019-04-03T10:56:45.222571Z" - }, - "image_file/e5034863-0528-4f55-be95-c8501c29f9fe": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "bd266ca9", - "indexed": false, - "name": "primary_image-fov_000-Z9-H2-C1.tiff", - "s3_etag": "59d0ae52331b02c2ad8c8868f7ef97c8", - "sha1": "931b276a47bc715902e1a06f3ed7a264756b1e62", - "sha256": "e1144263f89f3b3b2c4812ca0599274d78057636dcca1d09fdebc30e0d327ced", - "size": 1600269, - "uuid": "6c85c7e1-832c-476c-add9-e2cc509f8de0", - "version": "2019-04-03T10:56:45.515825Z" - }, - "image_file/cc61b14a-59d9-477b-8cb1-43c4ee4cf434": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "1285ec2c", - "indexed": false, - "name": "primary_image-fov_000-Z9-H2-C2.tiff", - "s3_etag": "9952c98d3f77cce10a633a2b7af2ad10", - "sha1": "d88ae8998890e877ff4bcb7d9c901ebf6c0f87fa", - "sha256": "b66e916f703c1bccfccb6ad7fcc95fb3af42ac4e6868bbdcea424de9e40a12af", - "size": 1600269, - "uuid": "9a71aa79-aa5e-41ca-89ed-2d5eaea98840", - "version": "2019-04-03T10:56:45.832519Z" - }, - "image_file/33d332c9-aefe-4db5-8830-b8daddaed0d2": { - "content-type": "image/tiff; dcp-type=data", - "crc32c": "ee12e15f", - "indexed": false, - "name": "primary_image-fov_000-Z9-H2-C3.tiff", - "s3_etag": "34fa837a2fb39db2dddfabd84e6a560d", - "sha1": "e0ff15a11a35119aae3feb4e2afb3a0708daa28f", - "sha256": "9f447baf510beb7f942054f980818c6819a12bf9b12e5cadc2cff30af37d9674", - "size": 1600269, - "uuid": "bec2697f-31b6-4db5-888a-024379f3d13f", - "version": "2019-04-03T10:56:46.096587Z" - }, - "image_file/bb3b6fc7-0902-432d-bad1-6b3f61951314": { - "content-type": "application/json; dcp-type=data", - "crc32c": "d148a0e3", - "indexed": false, - "name": "primary_image-fov_000.json", - "s3_etag": "c9bae9cb31bf1356ad858eba63ca3cb8", - "sha1": "bf49d7043b7e4c528a3ec7fdd1d80a49913125b6", - "sha256": "b7d0787c0f9b656331d4e56c4249dc2762ae8bd04f87995910e5ce3c30cde8d2", - "size": 55640, - "uuid": "194db0d1-dfca-44d7-9ad7-194a9e091d32", - "version": "2019-04-03T10:56:46.365296Z" - }, - "image_file/2b734e88-3a33-4c73-92bb-82e0b8f8c13b": { - "content-type": "application/json; dcp-type=data", - "crc32c": "3c1c81b7", - "indexed": false, - "name": "primary_image.json", - "s3_etag": "512105655a1319dc48a63ce1b6034d61", - "sha1": "d623f185225a0edd5334fde5eba07204bf9891dd", - "sha256": "23e8dbd4385ec7be7ce90ba0fdcd00f5357735e8dc77538caa993506e0ce0307", - "size": 119, - "uuid": "57e036f8-063a-47fe-b668-499222390e95", - "version": "2019-04-03T10:56:46.657106Z" - } - }, - "metadata": { - "imaged_specimen/87f58f88-ef8b-4323-bd19-cde1a2497b59": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/2.0.7/imaged_specimen", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "420508-10-1", - "biomaterial_name": "420508 coronal sections slice 10-1", - "biomaterial_description": "mouse brain coronal section 20um", - "ncbi_taxon_id": [ - 10090 - ], - "supplementary_files": [ - "point1nissl10x.tar.gz" - ] - }, - "slice_thickness": 20.0, - "internal_anatomical_structures": [ - { - "text": "V1, Provided files are Neurotrace stain and DIC images of the half brain slice imaged at 10x" - } - ], - "provenance": { - "document_id": "87f58f88-ef8b-4323-bd19-cde1a2497b59", - "submission_date": "2019-04-03T10:13:40.000Z", - "update_date": "2019-04-03T10:13:50.866Z" - } - }, - "specimen_from_organism/edd1d525-a6ae-4658-a6bf-6c31d7ab6948": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "420508_specimen", - "biomaterial_name": "fresh frozen brain", - "ncbi_taxon_id": [ - 10090 - ], - "genotype": "wt" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "preservation_storage": { - "storage_method": "fresh", - "preservation_method": "fresh" - }, - "collection_time": "2018-09-18T10:00:00Z", - "provenance": { - "document_id": "edd1d525-a6ae-4658-a6bf-6c31d7ab6948", - "submission_date": "2019-04-03T10:13:39.992Z", - "update_date": "2019-04-03T10:13:45.512Z" - } - }, - "donor_organism/6cb9fc09-7755-4a35-b6b1-0d6fe696b2d4": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/14.0.7/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "420508", - "biomaterial_name": "C57BL6J-420508", - "ncbi_taxon_id": [ - 10090 - ], - "genotype": "wt" - }, - "mouse_specific": { - "strain": [ - { - "text": "C57BL6J", - "ontology": "EFO:0000606", - "ontology_label": "C57BL/6J" - } - ] - }, - "death": { - "cause_of_death": "euthanasia under anesthesia", - "cold_perfused": false, - "days_on_ventilator": 0.0, - "hardy_scale": 1, - "time_of_death": "2018-09-18T10:00:00Z" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organism_age": "56", - "organism_age_unit": { - "text": "days", - "ontology": "UO:0000033", - "ontology_label": "day" - }, - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272", - "ontology_label": "adult" - }, - "is_living": "no", - "sex": "male", - "provenance": { - "document_id": "6cb9fc09-7755-4a35-b6b1-0d6fe696b2d4", - "submission_date": "2019-04-03T10:13:39.984Z", - "update_date": "2019-04-03T10:13:45.427Z" - } - }, - "image_file/6baa3aff-b2a5-4e49-82f7-25c108a6107a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "codebook.json", - "file_format": "json" - }, - "provenance": { - "document_id": "6baa3aff-b2a5-4e49-82f7-25c108a6107a", - "submission_date": "2019-04-03T10:13:40.056Z", - "update_date": "2019-04-03T10:15:44.995Z" - } - }, - "image_file/06dcfc33-21da-485f-8e50-49d294713a9e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "experiment.json", - "file_format": "json" - }, - "provenance": { - "document_id": "06dcfc33-21da-485f-8e50-49d294713a9e", - "submission_date": "2019-04-03T10:13:40.066Z", - "update_date": "2019-04-03T10:15:44.993Z" - } - }, - "image_file/404dd50b-4bc9-4c82-8c18-f53c68eed2fc": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z0-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "404dd50b-4bc9-4c82-8c18-f53c68eed2fc", - "submission_date": "2019-04-03T10:13:40.076Z", - "update_date": "2019-04-03T10:15:51.032Z" - } - }, - "image_file/5ceb5dc3-9194-494a-b1df-42bb75ab1a04": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z1-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "5ceb5dc3-9194-494a-b1df-42bb75ab1a04", - "submission_date": "2019-04-03T10:13:40.085Z", - "update_date": "2019-04-03T10:15:47.812Z" - } - }, - "image_file/76e52f76-ede7-4088-b7f6-d6e5f6152292": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z10-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "76e52f76-ede7-4088-b7f6-d6e5f6152292", - "submission_date": "2019-04-03T10:13:40.093Z", - "update_date": "2019-04-03T10:15:51.115Z" - } - }, - "image_file/2e496fe6-f500-4e27-b7f5-3c87fe43bbe5": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z11-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "2e496fe6-f500-4e27-b7f5-3c87fe43bbe5", - "submission_date": "2019-04-03T10:13:40.102Z", - "update_date": "2019-04-03T10:15:54.073Z" - } - }, - "image_file/be66141d-84a3-457d-a8d2-2f0da8c91dff": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z12-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "be66141d-84a3-457d-a8d2-2f0da8c91dff", - "submission_date": "2019-04-03T10:13:40.111Z", - "update_date": "2019-04-03T10:15:51.125Z" - } - }, - "image_file/680cf532-ef0c-4155-b44d-a6ec3920743a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z13-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "680cf532-ef0c-4155-b44d-a6ec3920743a", - "submission_date": "2019-04-03T10:13:40.120Z", - "update_date": "2019-04-03T10:15:50.982Z" - } - }, - "image_file/08609f14-cf43-4188-b743-4a0b55b17347": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z14-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "08609f14-cf43-4188-b743-4a0b55b17347", - "submission_date": "2019-04-03T10:13:40.128Z", - "update_date": "2019-04-03T10:15:47.817Z" - } - }, - "image_file/d10827a1-38f7-457d-9c9f-695f2fc7689c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z15-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "d10827a1-38f7-457d-9c9f-695f2fc7689c", - "submission_date": "2019-04-03T10:13:40.137Z", - "update_date": "2019-04-03T10:15:44.996Z" - } - }, - "image_file/6f8eb2e5-7a0c-4c98-8da0-276457357071": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z16-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6f8eb2e5-7a0c-4c98-8da0-276457357071", - "submission_date": "2019-04-03T10:13:40.145Z", - "update_date": "2019-04-03T10:15:47.821Z" - } - }, - "image_file/ca480df3-71bb-4634-8f71-b6a75aeb9f05": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z2-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ca480df3-71bb-4634-8f71-b6a75aeb9f05", - "submission_date": "2019-04-03T10:13:40.154Z", - "update_date": "2019-04-03T10:15:47.796Z" - } - }, - "image_file/03ae5f5e-65ac-4491-b0ce-eefc940e0224": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z3-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "03ae5f5e-65ac-4491-b0ce-eefc940e0224", - "submission_date": "2019-04-03T10:13:40.166Z", - "update_date": "2019-04-03T10:15:48.018Z" - } - }, - "image_file/ff117ecb-767e-4e72-baa9-2bda4fcd3e62": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z4-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ff117ecb-767e-4e72-baa9-2bda4fcd3e62", - "submission_date": "2019-04-03T10:13:40.176Z", - "update_date": "2019-04-03T10:15:51.040Z" - } - }, - "image_file/887f3d73-94d2-44ac-9047-67aca5225882": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z5-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "887f3d73-94d2-44ac-9047-67aca5225882", - "submission_date": "2019-04-03T10:13:40.186Z", - "update_date": "2019-04-03T10:15:51.029Z" - } - }, - "image_file/896dfacd-206b-4e4f-a846-ba5b070060d9": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z6-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "896dfacd-206b-4e4f-a846-ba5b070060d9", - "submission_date": "2019-04-03T10:13:40.197Z", - "update_date": "2019-04-03T10:15:47.819Z" - } - }, - "image_file/23303c88-01b1-47d0-b770-dca6802caa13": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z7-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "23303c88-01b1-47d0-b770-dca6802caa13", - "submission_date": "2019-04-03T10:13:40.207Z", - "update_date": "2019-04-03T10:15:47.812Z" - } - }, - "image_file/3c1a388d-0577-4417-9cd2-ff33bfed9140": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z8-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3c1a388d-0577-4417-9cd2-ff33bfed9140", - "submission_date": "2019-04-03T10:13:40.217Z", - "update_date": "2019-04-03T10:15:47.821Z" - } - }, - "image_file/67e71b34-7157-4a37-b495-0d740772b480": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000-Z9-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "67e71b34-7157-4a37-b495-0d740772b480", - "submission_date": "2019-04-03T10:13:40.227Z", - "update_date": "2019-04-03T10:15:51.111Z" - } - }, - "image_file/cd3e5e62-6145-42d9-9a5b-046e1b49cf26": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei-fov_000.json", - "file_format": "json" - }, - "provenance": { - "document_id": "cd3e5e62-6145-42d9-9a5b-046e1b49cf26", - "submission_date": "2019-04-03T10:13:40.236Z", - "update_date": "2019-04-03T10:15:51.054Z" - } - }, - "image_file/5fbcb75e-3ee3-4429-8ede-b243afa0789f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "nuclei.json", - "file_format": "json" - }, - "provenance": { - "document_id": "5fbcb75e-3ee3-4429-8ede-b243afa0789f", - "submission_date": "2019-04-03T10:13:40.246Z", - "update_date": "2019-04-03T10:15:51.028Z" - } - }, - "image_file/09226b24-6b11-4e4f-8052-2b544be461aa": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "09226b24-6b11-4e4f-8052-2b544be461aa", - "submission_date": "2019-04-03T10:13:40.256Z", - "update_date": "2019-04-03T10:15:51.126Z" - } - }, - "image_file/f67473fd-fbf8-4d69-9db1-556938ab5b87": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f67473fd-fbf8-4d69-9db1-556938ab5b87", - "submission_date": "2019-04-03T10:13:40.266Z", - "update_date": "2019-04-03T10:15:54.317Z" - } - }, - "image_file/16acc1f2-9f1c-43c8-8ffe-4a9ea674e6ff": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "16acc1f2-9f1c-43c8-8ffe-4a9ea674e6ff", - "submission_date": "2019-04-03T10:13:40.276Z", - "update_date": "2019-04-03T10:15:50.940Z" - } - }, - "image_file/017a2c88-4f6e-418e-bb96-f42f3a220f87": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "017a2c88-4f6e-418e-bb96-f42f3a220f87", - "submission_date": "2019-04-03T10:13:40.286Z", - "update_date": "2019-04-03T10:15:50.977Z" - } - }, - "image_file/30305240-004d-4632-84d4-37d7e7378782": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "30305240-004d-4632-84d4-37d7e7378782", - "submission_date": "2019-04-03T10:13:40.296Z", - "update_date": "2019-04-03T10:15:51.136Z" - } - }, - "image_file/20c5a14a-aaf3-40e1-9ab7-f95c06ea4200": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "20c5a14a-aaf3-40e1-9ab7-f95c06ea4200", - "submission_date": "2019-04-03T10:13:40.306Z", - "update_date": "2019-04-03T10:15:51.052Z" - } - }, - "image_file/3fd2781b-6855-4eaa-b2fb-81db386adb18": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3fd2781b-6855-4eaa-b2fb-81db386adb18", - "submission_date": "2019-04-03T10:13:40.315Z", - "update_date": "2019-04-03T10:15:51.027Z" - } - }, - "image_file/40474d53-44a4-4ab2-9f20-61b71291f8aa": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "40474d53-44a4-4ab2-9f20-61b71291f8aa", - "submission_date": "2019-04-03T10:13:40.325Z", - "update_date": "2019-04-03T10:15:47.810Z" - } - }, - "image_file/aaa97d47-7124-4763-a3fc-f6d66eb6d990": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "aaa97d47-7124-4763-a3fc-f6d66eb6d990", - "submission_date": "2019-04-03T10:13:40.334Z", - "update_date": "2019-04-03T10:15:50.958Z" - } - }, - "image_file/4adbed13-1cb6-4405-b892-fe8165050691": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "4adbed13-1cb6-4405-b892-fe8165050691", - "submission_date": "2019-04-03T10:13:40.344Z", - "update_date": "2019-04-03T10:15:51.040Z" - } - }, - "image_file/2bbf0125-b9cc-4413-8dd7-78ea72beaa17": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "2bbf0125-b9cc-4413-8dd7-78ea72beaa17", - "submission_date": "2019-04-03T10:13:40.354Z", - "update_date": "2019-04-03T10:15:51.020Z" - } - }, - "image_file/5402916f-6de1-4842-8585-fc25c153992b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z0-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "5402916f-6de1-4842-8585-fc25c153992b", - "submission_date": "2019-04-03T10:13:40.364Z", - "update_date": "2019-04-03T10:15:51.039Z" - } - }, - "image_file/75b78bfc-8d15-4a07-a07a-c62ae6d656b5": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "75b78bfc-8d15-4a07-a07a-c62ae6d656b5", - "submission_date": "2019-04-03T10:13:40.375Z", - "update_date": "2019-04-03T10:16:00.740Z" - } - }, - "image_file/8a78224e-4106-41d4-96cb-4d9a8b9ecad2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8a78224e-4106-41d4-96cb-4d9a8b9ecad2", - "submission_date": "2019-04-03T10:13:40.386Z", - "update_date": "2019-04-03T10:16:00.295Z" - } - }, - "image_file/cb92dd92-570c-4075-8893-eb19dbd837b8": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "cb92dd92-570c-4075-8893-eb19dbd837b8", - "submission_date": "2019-04-03T10:13:40.396Z", - "update_date": "2019-04-03T10:16:00.289Z" - } - }, - "image_file/b36948c4-0646-42be-9db2-16626a757343": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b36948c4-0646-42be-9db2-16626a757343", - "submission_date": "2019-04-03T10:13:40.405Z", - "update_date": "2019-04-03T10:15:57.643Z" - } - }, - "image_file/c974f4eb-27b8-4ec3-913e-a6eb19572a51": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c974f4eb-27b8-4ec3-913e-a6eb19572a51", - "submission_date": "2019-04-03T10:13:40.414Z", - "update_date": "2019-04-03T10:15:57.265Z" - } - }, - "image_file/febb760d-1e9e-4432-9b88-ce2869a43c44": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "febb760d-1e9e-4432-9b88-ce2869a43c44", - "submission_date": "2019-04-03T10:13:40.423Z", - "update_date": "2019-04-03T10:16:03.118Z" - } - }, - "image_file/054f40a4-68d0-41db-81e9-00239042d9fa": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "054f40a4-68d0-41db-81e9-00239042d9fa", - "submission_date": "2019-04-03T10:13:40.432Z", - "update_date": "2019-04-03T10:15:54.056Z" - } - }, - "image_file/ec7f06aa-e4f9-4f4f-afd1-0ecd39b2e3f5": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ec7f06aa-e4f9-4f4f-afd1-0ecd39b2e3f5", - "submission_date": "2019-04-03T10:13:40.441Z", - "update_date": "2019-04-03T10:15:57.262Z" - } - }, - "image_file/819e3227-cc54-4919-95af-c1f8194bf729": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "819e3227-cc54-4919-95af-c1f8194bf729", - "submission_date": "2019-04-03T10:13:40.450Z", - "update_date": "2019-04-03T10:16:00.245Z" - } - }, - "image_file/b1e2b9d1-6973-41dc-acdf-95474303561f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b1e2b9d1-6973-41dc-acdf-95474303561f", - "submission_date": "2019-04-03T10:13:40.458Z", - "update_date": "2019-04-03T10:16:00.392Z" - } - }, - "image_file/41ffc783-5ad4-4197-8fd1-c029903c43c0": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "41ffc783-5ad4-4197-8fd1-c029903c43c0", - "submission_date": "2019-04-03T10:13:40.467Z", - "update_date": "2019-04-03T10:16:00.242Z" - } - }, - "image_file/ec9c70f0-3ed8-461c-ad0b-2475bd48ac8f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z1-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ec9c70f0-3ed8-461c-ad0b-2475bd48ac8f", - "submission_date": "2019-04-03T10:13:40.475Z", - "update_date": "2019-04-03T10:15:54.163Z" - } - }, - "image_file/9014bbaf-a047-4b69-8e28-8356cc99f84e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9014bbaf-a047-4b69-8e28-8356cc99f84e", - "submission_date": "2019-04-03T10:13:40.484Z", - "update_date": "2019-04-03T10:15:54.097Z" - } - }, - "image_file/f7acf90c-2b32-463b-b832-8daa8529f727": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f7acf90c-2b32-463b-b832-8daa8529f727", - "submission_date": "2019-04-03T10:13:40.492Z", - "update_date": "2019-04-03T10:15:51.110Z" - } - }, - "image_file/fae4f8b8-e6ad-4c1f-8126-e03ba8aca46e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "fae4f8b8-e6ad-4c1f-8126-e03ba8aca46e", - "submission_date": "2019-04-03T10:13:40.501Z", - "update_date": "2019-04-03T10:15:54.068Z" - } - }, - "image_file/db22deab-498a-409c-8386-5bf4e60a080c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "db22deab-498a-409c-8386-5bf4e60a080c", - "submission_date": "2019-04-03T10:13:40.509Z", - "update_date": "2019-04-03T10:15:54.171Z" - } - }, - "image_file/07d600bc-0d55-4a8d-9a48-390fc4169845": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "07d600bc-0d55-4a8d-9a48-390fc4169845", - "submission_date": "2019-04-03T10:13:40.518Z", - "update_date": "2019-04-03T10:15:54.155Z" - } - }, - "image_file/d0a032bb-cd0e-4873-b346-5cb19e45c202": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "d0a032bb-cd0e-4873-b346-5cb19e45c202", - "submission_date": "2019-04-03T10:13:40.526Z", - "update_date": "2019-04-03T10:15:54.147Z" - } - }, - "image_file/a161f60f-af92-4b09-9df0-dd7ff2bf571a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "a161f60f-af92-4b09-9df0-dd7ff2bf571a", - "submission_date": "2019-04-03T10:13:40.536Z", - "update_date": "2019-04-03T10:15:54.146Z" - } - }, - "image_file/25c6b755-7f62-49a3-a1b5-aafbc772b5dd": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "25c6b755-7f62-49a3-a1b5-aafbc772b5dd", - "submission_date": "2019-04-03T10:13:40.545Z", - "update_date": "2019-04-03T10:15:57.073Z" - } - }, - "image_file/f10fd9e2-5747-4d7a-8c0c-beba81749011": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f10fd9e2-5747-4d7a-8c0c-beba81749011", - "submission_date": "2019-04-03T10:13:40.553Z", - "update_date": "2019-04-03T10:15:54.011Z" - } - }, - "image_file/553b6aab-4745-45f8-98ab-de6aadbf48e4": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "553b6aab-4745-45f8-98ab-de6aadbf48e4", - "submission_date": "2019-04-03T10:13:40.562Z", - "update_date": "2019-04-03T10:15:54.255Z" - } - }, - "image_file/3572abe9-6e42-4266-8671-ff24b592065c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3572abe9-6e42-4266-8671-ff24b592065c", - "submission_date": "2019-04-03T10:13:40.571Z", - "update_date": "2019-04-03T10:15:54.233Z" - } - }, - "image_file/6882abf6-c247-4167-a18d-e3fec24bcba2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z10-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6882abf6-c247-4167-a18d-e3fec24bcba2", - "submission_date": "2019-04-03T10:13:40.579Z", - "update_date": "2019-04-03T10:15:54.124Z" - } - }, - "image_file/15f8b73e-937c-444d-8362-fdf458abb651": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "15f8b73e-937c-444d-8362-fdf458abb651", - "submission_date": "2019-04-03T10:13:40.588Z", - "update_date": "2019-04-03T10:15:54.117Z" - } - }, - "image_file/33b4e374-20ad-4fee-b682-aaa4fc12bec2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "33b4e374-20ad-4fee-b682-aaa4fc12bec2", - "submission_date": "2019-04-03T10:13:40.596Z", - "update_date": "2019-04-03T10:15:54.178Z" - } - }, - "image_file/0e83c507-2211-4561-b75a-92326fb2d4fd": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "0e83c507-2211-4561-b75a-92326fb2d4fd", - "submission_date": "2019-04-03T10:13:40.605Z", - "update_date": "2019-04-03T10:15:54.229Z" - } - }, - "image_file/912c55cf-0774-4838-8874-352766984715": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "912c55cf-0774-4838-8874-352766984715", - "submission_date": "2019-04-03T10:13:40.613Z", - "update_date": "2019-04-03T10:15:54.213Z" - } - }, - "image_file/b2f32e7c-fea2-44c2-a6ae-832c1c7b9e37": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b2f32e7c-fea2-44c2-a6ae-832c1c7b9e37", - "submission_date": "2019-04-03T10:13:40.622Z", - "update_date": "2019-04-03T10:15:50.981Z" - } - }, - "image_file/5b8e3d96-e625-46b6-9689-110fa84fd721": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "5b8e3d96-e625-46b6-9689-110fa84fd721", - "submission_date": "2019-04-03T10:13:40.630Z", - "update_date": "2019-04-03T10:15:54.097Z" - } - }, - "image_file/de43f9bc-ddec-4326-9cb1-7b9c5f76a84f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "de43f9bc-ddec-4326-9cb1-7b9c5f76a84f", - "submission_date": "2019-04-03T10:13:40.639Z", - "update_date": "2019-04-03T10:15:57.225Z" - } - }, - "image_file/6f3272d7-4a62-4a3c-8c44-11dda8756956": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6f3272d7-4a62-4a3c-8c44-11dda8756956", - "submission_date": "2019-04-03T10:13:40.647Z", - "update_date": "2019-04-03T10:15:53.957Z" - } - }, - "image_file/168422c5-e89d-466c-9085-f29c02160143": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "168422c5-e89d-466c-9085-f29c02160143", - "submission_date": "2019-04-03T10:13:40.656Z", - "update_date": "2019-04-03T10:15:54.119Z" - } - }, - "image_file/7331367a-cc43-4af0-8750-a2921d513f97": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7331367a-cc43-4af0-8750-a2921d513f97", - "submission_date": "2019-04-03T10:13:40.664Z", - "update_date": "2019-04-03T10:15:57.287Z" - } - }, - "image_file/edf83a09-2e60-4571-b650-abf4c7ff757b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "edf83a09-2e60-4571-b650-abf4c7ff757b", - "submission_date": "2019-04-03T10:13:40.672Z", - "update_date": "2019-04-03T10:15:54.149Z" - } - }, - "image_file/24bdb70c-4bd1-41e0-b5c2-a3a2e0e4ce5b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z11-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "24bdb70c-4bd1-41e0-b5c2-a3a2e0e4ce5b", - "submission_date": "2019-04-03T10:13:40.681Z", - "update_date": "2019-04-03T10:15:54.166Z" - } - }, - "image_file/be9d12b6-f8dd-407c-b1d7-844deb6a5023": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "be9d12b6-f8dd-407c-b1d7-844deb6a5023", - "submission_date": "2019-04-03T10:13:40.689Z", - "update_date": "2019-04-03T10:15:54.168Z" - } - }, - "image_file/e3e59792-61e3-4bf0-a985-2acec75acafd": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e3e59792-61e3-4bf0-a985-2acec75acafd", - "submission_date": "2019-04-03T10:13:40.698Z", - "update_date": "2019-04-03T10:15:57.350Z" - } - }, - "image_file/095ee09c-1605-4c07-9324-b5382f20b78e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "095ee09c-1605-4c07-9324-b5382f20b78e", - "submission_date": "2019-04-03T10:13:40.707Z", - "update_date": "2019-04-03T10:15:51.023Z" - } - }, - "image_file/77b96424-accb-4c6b-884c-756f2bb40929": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "77b96424-accb-4c6b-884c-756f2bb40929", - "submission_date": "2019-04-03T10:13:40.715Z", - "update_date": "2019-04-03T10:15:54.145Z" - } - }, - "image_file/a0c2a5b4-7cc2-47f5-97a7-6b59019155da": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "a0c2a5b4-7cc2-47f5-97a7-6b59019155da", - "submission_date": "2019-04-03T10:13:40.724Z", - "update_date": "2019-04-03T10:15:57.414Z" - } - }, - "image_file/78518dc1-d38e-4230-88b8-887bdd83f965": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "78518dc1-d38e-4230-88b8-887bdd83f965", - "submission_date": "2019-04-03T10:13:40.733Z", - "update_date": "2019-04-03T10:15:54.195Z" - } - }, - "image_file/652dd3c5-6467-41ee-89b3-e4b3361fb533": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "652dd3c5-6467-41ee-89b3-e4b3361fb533", - "submission_date": "2019-04-03T10:13:40.741Z", - "update_date": "2019-04-03T10:15:54.138Z" - } - }, - "image_file/cae3d214-d485-4350-8cd2-f4142aca4aef": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "cae3d214-d485-4350-8cd2-f4142aca4aef", - "submission_date": "2019-04-03T10:13:40.749Z", - "update_date": "2019-04-03T10:15:54.152Z" - } - }, - "image_file/2ab7ea06-08e0-4669-88e0-23c1e74a3b49": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "2ab7ea06-08e0-4669-88e0-23c1e74a3b49", - "submission_date": "2019-04-03T10:13:40.758Z", - "update_date": "2019-04-03T10:15:54.144Z" - } - }, - "image_file/de282263-0944-48d4-9819-6182636c76bd": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "de282263-0944-48d4-9819-6182636c76bd", - "submission_date": "2019-04-03T10:13:40.766Z", - "update_date": "2019-04-03T10:15:50.968Z" - } - }, - "image_file/bfdbe9b5-42ac-419a-b297-843095de2cc2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "bfdbe9b5-42ac-419a-b297-843095de2cc2", - "submission_date": "2019-04-03T10:13:40.775Z", - "update_date": "2019-04-03T10:15:57.263Z" - } - }, - "image_file/0ef6ffa4-e40f-476c-8ac9-10732ef6e42d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z12-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "0ef6ffa4-e40f-476c-8ac9-10732ef6e42d", - "submission_date": "2019-04-03T10:13:40.783Z", - "update_date": "2019-04-03T10:15:57.144Z" - } - }, - "image_file/e2763cda-3236-487e-9944-5169c0cb8856": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e2763cda-3236-487e-9944-5169c0cb8856", - "submission_date": "2019-04-03T10:13:40.792Z", - "update_date": "2019-04-03T10:15:57.230Z" - } - }, - "image_file/37018bd8-8537-47c3-a5a9-efb43552f30c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "37018bd8-8537-47c3-a5a9-efb43552f30c", - "submission_date": "2019-04-03T10:13:40.801Z", - "update_date": "2019-04-03T10:15:57.364Z" - } - }, - "image_file/a6c9b1ce-2054-4a48-b262-bb0723b8a567": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "a6c9b1ce-2054-4a48-b262-bb0723b8a567", - "submission_date": "2019-04-03T10:13:40.809Z", - "update_date": "2019-04-03T10:15:57.302Z" - } - }, - "image_file/8319ee38-f199-49d7-989a-25b451656b38": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8319ee38-f199-49d7-989a-25b451656b38", - "submission_date": "2019-04-03T10:13:40.818Z", - "update_date": "2019-04-03T10:15:54.124Z" - } - }, - "image_file/022841b6-8b7c-4d0c-b65f-06ba14253540": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "022841b6-8b7c-4d0c-b65f-06ba14253540", - "submission_date": "2019-04-03T10:13:40.826Z", - "update_date": "2019-04-03T10:15:54.250Z" - } - }, - "image_file/299dfbe5-05f5-48a7-816b-61036f0e435a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "299dfbe5-05f5-48a7-816b-61036f0e435a", - "submission_date": "2019-04-03T10:13:40.835Z", - "update_date": "2019-04-03T10:15:54.232Z" - } - }, - "image_file/6b8b11aa-3600-4a63-a980-93465e681c9c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6b8b11aa-3600-4a63-a980-93465e681c9c", - "submission_date": "2019-04-03T10:13:40.844Z", - "update_date": "2019-04-03T10:15:50.951Z" - } - }, - "image_file/35716168-df43-4273-b52f-72e3d18a47bc": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "35716168-df43-4273-b52f-72e3d18a47bc", - "submission_date": "2019-04-03T10:13:40.853Z", - "update_date": "2019-04-03T10:15:57.202Z" - } - }, - "image_file/6be783ec-c132-4e09-90e0-0958efaf6619": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6be783ec-c132-4e09-90e0-0958efaf6619", - "submission_date": "2019-04-03T10:13:40.862Z", - "update_date": "2019-04-03T10:15:57.305Z" - } - }, - "image_file/a11956c9-c24e-4efb-8af8-1167b3081e70": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "a11956c9-c24e-4efb-8af8-1167b3081e70", - "submission_date": "2019-04-03T10:13:40.871Z", - "update_date": "2019-04-03T10:15:57.283Z" - } - }, - "image_file/b69a349b-0e07-4fbe-9e3b-9f2cea828b96": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b69a349b-0e07-4fbe-9e3b-9f2cea828b96", - "submission_date": "2019-04-03T10:13:40.880Z", - "update_date": "2019-04-03T10:15:51.102Z" - } - }, - "image_file/753c2a57-b5f1-4984-b874-b2b10d582847": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z13-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "753c2a57-b5f1-4984-b874-b2b10d582847", - "submission_date": "2019-04-03T10:13:40.889Z", - "update_date": "2019-04-03T10:16:00.454Z" - } - }, - "image_file/e0b93b3d-075b-482b-838a-e36d8849607b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e0b93b3d-075b-482b-838a-e36d8849607b", - "submission_date": "2019-04-03T10:13:40.899Z", - "update_date": "2019-04-03T10:15:57.655Z" - } - }, - "image_file/96c8ed8d-8bd6-49f3-b97b-025b0d6bc9ec": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "96c8ed8d-8bd6-49f3-b97b-025b0d6bc9ec", - "submission_date": "2019-04-03T10:13:40.908Z", - "update_date": "2019-04-03T10:15:57.378Z" - } - }, - "image_file/c647964a-7796-4dd2-9fa8-b23f012ac14e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c647964a-7796-4dd2-9fa8-b23f012ac14e", - "submission_date": "2019-04-03T10:13:40.917Z", - "update_date": "2019-04-03T10:15:54.078Z" - } - }, - "image_file/87a63649-9834-49b8-89a0-310211c1b5b3": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "87a63649-9834-49b8-89a0-310211c1b5b3", - "submission_date": "2019-04-03T10:13:40.926Z", - "update_date": "2019-04-03T10:15:57.378Z" - } - }, - "image_file/b2eb5b20-fd1a-403c-8b55-9eec5972d482": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b2eb5b20-fd1a-403c-8b55-9eec5972d482", - "submission_date": "2019-04-03T10:13:40.936Z", - "update_date": "2019-04-03T10:15:54.167Z" - } - }, - "image_file/4b3b36cb-cd90-4526-978d-2e7e8f7add39": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "4b3b36cb-cd90-4526-978d-2e7e8f7add39", - "submission_date": "2019-04-03T10:13:40.953Z", - "update_date": "2019-04-03T10:15:57.225Z" - } - }, - "image_file/cdc774f8-3310-4f1f-8c67-03579c253640": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "cdc774f8-3310-4f1f-8c67-03579c253640", - "submission_date": "2019-04-03T10:13:40.968Z", - "update_date": "2019-04-03T10:15:57.258Z" - } - }, - "image_file/607370e0-7e7e-4d25-ba5c-957c00a73ac1": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "607370e0-7e7e-4d25-ba5c-957c00a73ac1", - "submission_date": "2019-04-03T10:13:40.979Z", - "update_date": "2019-04-03T10:16:00.280Z" - } - }, - "image_file/3240d7ab-568b-4be5-adba-3178b3e8f85e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3240d7ab-568b-4be5-adba-3178b3e8f85e", - "submission_date": "2019-04-03T10:13:40.990Z", - "update_date": "2019-04-03T10:16:00.280Z" - } - }, - "image_file/c0b6ee98-677a-41d9-9d80-9ac63d251b08": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c0b6ee98-677a-41d9-9d80-9ac63d251b08", - "submission_date": "2019-04-03T10:13:41.002Z", - "update_date": "2019-04-03T10:15:57.303Z" - } - }, - "image_file/f34c01ec-06df-49e6-bc2f-c50c7f398851": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f34c01ec-06df-49e6-bc2f-c50c7f398851", - "submission_date": "2019-04-03T10:13:41.020Z", - "update_date": "2019-04-03T10:16:00.436Z" - } - }, - "image_file/2047311b-f3ee-4137-8338-a45166e01d53": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z14-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "2047311b-f3ee-4137-8338-a45166e01d53", - "submission_date": "2019-04-03T10:13:41.032Z", - "update_date": "2019-04-03T10:15:50.968Z" - } - }, - "image_file/44ea335a-1991-4504-be12-04f1a332ddfb": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "44ea335a-1991-4504-be12-04f1a332ddfb", - "submission_date": "2019-04-03T10:13:41.044Z", - "update_date": "2019-04-03T10:16:00.403Z" - } - }, - "image_file/59f3d0ab-1fe1-4cc8-b343-c12b520d769d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "59f3d0ab-1fe1-4cc8-b343-c12b520d769d", - "submission_date": "2019-04-03T10:13:41.054Z", - "update_date": "2019-04-03T10:15:54.147Z" - } - }, - "image_file/58f9fb1a-b6be-42c4-98ed-a5c091a3c716": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "58f9fb1a-b6be-42c4-98ed-a5c091a3c716", - "submission_date": "2019-04-03T10:13:41.065Z", - "update_date": "2019-04-03T10:16:00.681Z" - } - }, - "image_file/6af3cb41-9e64-4b11-b272-be87adf0fa94": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6af3cb41-9e64-4b11-b272-be87adf0fa94", - "submission_date": "2019-04-03T10:13:41.076Z", - "update_date": "2019-04-03T10:15:57.097Z" - } - }, - "image_file/7541d176-dfba-4e05-ba45-0c6964271dff": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7541d176-dfba-4e05-ba45-0c6964271dff", - "submission_date": "2019-04-03T10:13:41.087Z", - "update_date": "2019-04-03T10:15:57.397Z" - } - }, - "image_file/8ee1e829-a507-40a5-87ac-7fd8379b87ce": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8ee1e829-a507-40a5-87ac-7fd8379b87ce", - "submission_date": "2019-04-03T10:13:41.097Z", - "update_date": "2019-04-03T10:15:57.618Z" - } - }, - "image_file/8e57554a-abb2-4664-87b6-a397f4da6555": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8e57554a-abb2-4664-87b6-a397f4da6555", - "submission_date": "2019-04-03T10:13:41.107Z", - "update_date": "2019-04-03T10:16:00.218Z" - } - }, - "image_file/88fa5ec5-db7d-49bf-8c7e-86f348fbc84c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "88fa5ec5-db7d-49bf-8c7e-86f348fbc84c", - "submission_date": "2019-04-03T10:13:41.117Z", - "update_date": "2019-04-03T10:15:57.372Z" - } - }, - "image_file/a2b4ab97-84bd-4808-884d-bd8cc5e7b922": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "a2b4ab97-84bd-4808-884d-bd8cc5e7b922", - "submission_date": "2019-04-03T10:13:41.127Z", - "update_date": "2019-04-03T10:15:57.219Z" - } - }, - "image_file/56c83f8e-3ef2-4a3a-b808-52cc1e96ac8e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "56c83f8e-3ef2-4a3a-b808-52cc1e96ac8e", - "submission_date": "2019-04-03T10:13:41.136Z", - "update_date": "2019-04-03T10:16:00.319Z" - } - }, - "image_file/8af22b64-2c3f-4aad-a2d5-5d9b122a7b1c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8af22b64-2c3f-4aad-a2d5-5d9b122a7b1c", - "submission_date": "2019-04-03T10:13:41.146Z", - "update_date": "2019-04-03T10:16:00.829Z" - } - }, - "image_file/f0cb4244-e19a-46a0-89f1-04143548872d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z15-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f0cb4244-e19a-46a0-89f1-04143548872d", - "submission_date": "2019-04-03T10:13:41.156Z", - "update_date": "2019-04-03T10:16:00.414Z" - } - }, - "image_file/73074f55-d009-41a2-929e-6fd9949bb1dd": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "73074f55-d009-41a2-929e-6fd9949bb1dd", - "submission_date": "2019-04-03T10:13:41.166Z", - "update_date": "2019-04-03T10:15:57.285Z" - } - }, - "image_file/0c2a3965-fbd7-4dc2-bcf0-9c51650a7331": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "0c2a3965-fbd7-4dc2-bcf0-9c51650a7331", - "submission_date": "2019-04-03T10:13:41.176Z", - "update_date": "2019-04-03T10:16:03.247Z" - } - }, - "image_file/3774ecbd-d397-4b46-ba08-a7cbc6da0c07": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3774ecbd-d397-4b46-ba08-a7cbc6da0c07", - "submission_date": "2019-04-03T10:13:41.185Z", - "update_date": "2019-04-03T10:15:51.101Z" - } - }, - "image_file/146231bb-1b13-4db5-8157-9d9962cc3a3a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "146231bb-1b13-4db5-8157-9d9962cc3a3a", - "submission_date": "2019-04-03T10:13:41.195Z", - "update_date": "2019-04-03T10:16:00.042Z" - } - }, - "image_file/1d1b3f27-4f67-4338-bb36-173fd6ecf14b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "1d1b3f27-4f67-4338-bb36-173fd6ecf14b", - "submission_date": "2019-04-03T10:13:41.205Z", - "update_date": "2019-04-03T10:15:57.650Z" - } - }, - "image_file/7fe17380-3090-4fc3-9504-02b3f8ed95b6": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7fe17380-3090-4fc3-9504-02b3f8ed95b6", - "submission_date": "2019-04-03T10:13:41.215Z", - "update_date": "2019-04-03T10:16:00.270Z" - } - }, - "image_file/fc405b01-60ca-436f-a06c-2f38f7156a87": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "fc405b01-60ca-436f-a06c-2f38f7156a87", - "submission_date": "2019-04-03T10:13:41.225Z", - "update_date": "2019-04-03T10:16:00.160Z" - } - }, - "image_file/bae92b53-c6c7-4712-865e-6cff3cba506e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "bae92b53-c6c7-4712-865e-6cff3cba506e", - "submission_date": "2019-04-03T10:13:41.235Z", - "update_date": "2019-04-03T10:16:00.763Z" - } - }, - "image_file/83662ec5-a202-42ab-9a47-a701d4f19de3": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "83662ec5-a202-42ab-9a47-a701d4f19de3", - "submission_date": "2019-04-03T10:13:41.246Z", - "update_date": "2019-04-03T10:16:00.067Z" - } - }, - "image_file/a04957c6-8ce8-4fa6-950d-71812ff3d698": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "a04957c6-8ce8-4fa6-950d-71812ff3d698", - "submission_date": "2019-04-03T10:13:41.256Z", - "update_date": "2019-04-03T10:15:57.271Z" - } - }, - "image_file/9284d3a4-73bd-4aa0-847c-ab273d14185a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9284d3a4-73bd-4aa0-847c-ab273d14185a", - "submission_date": "2019-04-03T10:13:41.266Z", - "update_date": "2019-04-03T10:16:00.765Z" - } - }, - "image_file/4d664562-c333-4aaf-bb8b-641e0568733e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z16-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "4d664562-c333-4aaf-bb8b-641e0568733e", - "submission_date": "2019-04-03T10:13:41.276Z", - "update_date": "2019-04-03T10:16:00.166Z" - } - }, - "image_file/b533685d-3c60-4483-841b-a054f0a69fec": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b533685d-3c60-4483-841b-a054f0a69fec", - "submission_date": "2019-04-03T10:13:41.286Z", - "update_date": "2019-04-03T10:15:54.188Z" - } - }, - "image_file/3f14c88e-58db-4f76-b6e0-4b483ded1ca3": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3f14c88e-58db-4f76-b6e0-4b483ded1ca3", - "submission_date": "2019-04-03T10:13:41.296Z", - "update_date": "2019-04-03T10:15:57.291Z" - } - }, - "image_file/32d0b267-f399-408a-b35f-f1ebc7d0fc1f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "32d0b267-f399-408a-b35f-f1ebc7d0fc1f", - "submission_date": "2019-04-03T10:13:41.305Z", - "update_date": "2019-04-03T10:16:00.394Z" - } - }, - "image_file/3e8510c9-7e31-49bd-bb90-cb55577c2f25": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3e8510c9-7e31-49bd-bb90-cb55577c2f25", - "submission_date": "2019-04-03T10:13:41.315Z", - "update_date": "2019-04-03T10:16:00.298Z" - } - }, - "image_file/463aff9a-ec7e-40d0-be42-c6686af9130d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "463aff9a-ec7e-40d0-be42-c6686af9130d", - "submission_date": "2019-04-03T10:13:41.325Z", - "update_date": "2019-04-03T10:16:00.374Z" - } - }, - "image_file/02ddb50f-4a97-4fbc-ac08-32cd5f0fb319": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "02ddb50f-4a97-4fbc-ac08-32cd5f0fb319", - "submission_date": "2019-04-03T10:13:41.334Z", - "update_date": "2019-04-03T10:16:00.331Z" - } - }, - "image_file/868efb99-df36-462b-91a2-bb6ca27e842a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "868efb99-df36-462b-91a2-bb6ca27e842a", - "submission_date": "2019-04-03T10:13:41.344Z", - "update_date": "2019-04-03T10:15:57.472Z" - } - }, - "image_file/dd124d84-cb44-42e6-88d8-0d97fcb2c0f1": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "dd124d84-cb44-42e6-88d8-0d97fcb2c0f1", - "submission_date": "2019-04-03T10:13:41.354Z", - "update_date": "2019-04-03T10:15:57.134Z" - } - }, - "image_file/36ded48a-869f-4fa8-971f-56bc28298276": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "36ded48a-869f-4fa8-971f-56bc28298276", - "submission_date": "2019-04-03T10:13:41.363Z", - "update_date": "2019-04-03T10:16:00.039Z" - } - }, - "image_file/b62567c9-27d5-49b9-aa2e-7e9e1513dcb4": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b62567c9-27d5-49b9-aa2e-7e9e1513dcb4", - "submission_date": "2019-04-03T10:13:41.373Z", - "update_date": "2019-04-03T10:15:57.347Z" - } - }, - "image_file/e72742a4-23ba-4e5d-a29b-ad449abe8101": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e72742a4-23ba-4e5d-a29b-ad449abe8101", - "submission_date": "2019-04-03T10:13:41.382Z", - "update_date": "2019-04-03T10:15:57.374Z" - } - }, - "image_file/cd6e1096-f8c3-4eda-957d-b09741d60901": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z2-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "cd6e1096-f8c3-4eda-957d-b09741d60901", - "submission_date": "2019-04-03T10:13:41.392Z", - "update_date": "2019-04-03T10:16:00.117Z" - } - }, - "image_file/903ea376-5153-4fb8-8ffa-e2948951409c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "903ea376-5153-4fb8-8ffa-e2948951409c", - "submission_date": "2019-04-03T10:13:41.401Z", - "update_date": "2019-04-03T10:15:57.150Z" - } - }, - "image_file/89c5fc1e-9d18-4a6b-9025-ea0b75d01adb": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "89c5fc1e-9d18-4a6b-9025-ea0b75d01adb", - "submission_date": "2019-04-03T10:13:41.411Z", - "update_date": "2019-04-03T10:16:00.258Z" - } - }, - "image_file/8381d167-c4dd-49a2-b5df-1ae815bbe42e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8381d167-c4dd-49a2-b5df-1ae815bbe42e", - "submission_date": "2019-04-03T10:13:41.421Z", - "update_date": "2019-04-03T10:15:57.334Z" - } - }, - "image_file/9be80be6-ee45-49d5-8d3d-a6df8f0383f6": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9be80be6-ee45-49d5-8d3d-a6df8f0383f6", - "submission_date": "2019-04-03T10:13:41.430Z", - "update_date": "2019-04-03T10:15:57.150Z" - } - }, - "image_file/cf305c60-bb2c-41af-82bf-0631c2a7b0be": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "cf305c60-bb2c-41af-82bf-0631c2a7b0be", - "submission_date": "2019-04-03T10:13:41.440Z", - "update_date": "2019-04-03T10:15:57.290Z" - } - }, - "image_file/074290a9-35e1-422f-a3af-e5ed58781b4d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "074290a9-35e1-422f-a3af-e5ed58781b4d", - "submission_date": "2019-04-03T10:13:41.450Z", - "update_date": "2019-04-03T10:15:57.347Z" - } - }, - "image_file/0c49b3ca-bb47-41d9-a58c-e5ea79f673c3": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "0c49b3ca-bb47-41d9-a58c-e5ea79f673c3", - "submission_date": "2019-04-03T10:13:41.460Z", - "update_date": "2019-04-03T10:16:00.451Z" - } - }, - "image_file/783c4def-7dc3-40a6-aa9e-a3f92a2dffba": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "783c4def-7dc3-40a6-aa9e-a3f92a2dffba", - "submission_date": "2019-04-03T10:13:41.470Z", - "update_date": "2019-04-03T10:16:03.144Z" - } - }, - "image_file/5165cc56-ff89-42bf-b000-fec4bd57176e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "5165cc56-ff89-42bf-b000-fec4bd57176e", - "submission_date": "2019-04-03T10:13:41.479Z", - "update_date": "2019-04-03T10:16:00.708Z" - } - }, - "image_file/545be634-5893-45e0-93b2-dd4ea93e00db": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "545be634-5893-45e0-93b2-dd4ea93e00db", - "submission_date": "2019-04-03T10:13:41.489Z", - "update_date": "2019-04-03T10:16:00.405Z" - } - }, - "image_file/2d2e58c6-7c24-4089-bbe9-d47b7482be46": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "2d2e58c6-7c24-4089-bbe9-d47b7482be46", - "submission_date": "2019-04-03T10:13:41.499Z", - "update_date": "2019-04-03T10:16:00.253Z" - } - }, - "image_file/e4ce035a-f9e2-459f-8ecf-ce138ea00b34": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z3-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e4ce035a-f9e2-459f-8ecf-ce138ea00b34", - "submission_date": "2019-04-03T10:13:41.509Z", - "update_date": "2019-04-03T10:15:57.292Z" - } - }, - "image_file/81214e49-318f-4221-bf2c-4ef00cfa916b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "81214e49-318f-4221-bf2c-4ef00cfa916b", - "submission_date": "2019-04-03T10:13:41.519Z", - "update_date": "2019-04-03T10:16:00.761Z" - } - }, - "image_file/7fc97754-1121-468b-b1e4-839bde86b6c8": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7fc97754-1121-468b-b1e4-839bde86b6c8", - "submission_date": "2019-04-03T10:13:41.529Z", - "update_date": "2019-04-03T10:15:57.316Z" - } - }, - "image_file/7d70d44c-b5d7-47be-9687-e9a775e86251": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7d70d44c-b5d7-47be-9687-e9a775e86251", - "submission_date": "2019-04-03T10:13:41.539Z", - "update_date": "2019-04-03T10:16:00.785Z" - } - }, - "image_file/ddb4f9d4-f2a1-42a5-87fa-e818071a5b33": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ddb4f9d4-f2a1-42a5-87fa-e818071a5b33", - "submission_date": "2019-04-03T10:13:41.552Z", - "update_date": "2019-04-03T10:15:57.619Z" - } - }, - "image_file/b7607809-e975-4c32-bff7-375cb2d8276f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b7607809-e975-4c32-bff7-375cb2d8276f", - "submission_date": "2019-04-03T10:13:41.564Z", - "update_date": "2019-04-03T10:15:57.213Z" - } - }, - "image_file/b8a6c863-626d-4fbf-863b-610cffaac37d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b8a6c863-626d-4fbf-863b-610cffaac37d", - "submission_date": "2019-04-03T10:13:41.579Z", - "update_date": "2019-04-03T10:16:00.707Z" - } - }, - "image_file/45077a5c-ee96-47c0-a84f-9d46cf799338": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "45077a5c-ee96-47c0-a84f-9d46cf799338", - "submission_date": "2019-04-03T10:13:41.590Z", - "update_date": "2019-04-03T10:15:57.619Z" - } - }, - "image_file/49d82b74-6f1a-415c-93ab-958c60f083b6": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "49d82b74-6f1a-415c-93ab-958c60f083b6", - "submission_date": "2019-04-03T10:13:41.601Z", - "update_date": "2019-04-03T10:15:57.323Z" - } - }, - "image_file/753b51b7-a909-44e7-bb21-cf2cd18328f8": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "753b51b7-a909-44e7-bb21-cf2cd18328f8", - "submission_date": "2019-04-03T10:13:41.612Z", - "update_date": "2019-04-03T10:16:00.722Z" - } - }, - "image_file/c7ab6349-b2bb-4ba3-9c9b-27d270550052": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c7ab6349-b2bb-4ba3-9c9b-27d270550052", - "submission_date": "2019-04-03T10:13:41.624Z", - "update_date": "2019-04-03T10:16:00.390Z" - } - }, - "image_file/7be770fc-4a56-4f82-a4cf-3cf908d54dca": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7be770fc-4a56-4f82-a4cf-3cf908d54dca", - "submission_date": "2019-04-03T10:13:41.635Z", - "update_date": "2019-04-03T10:16:00.789Z" - } - }, - "image_file/3f5f8537-c1af-4d2e-a732-53b6d4275588": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z4-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3f5f8537-c1af-4d2e-a732-53b6d4275588", - "submission_date": "2019-04-03T10:13:41.646Z", - "update_date": "2019-04-03T10:16:00.749Z" - } - }, - "image_file/3820feac-72c4-49c5-a5a0-773f4e5ee3c1": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3820feac-72c4-49c5-a5a0-773f4e5ee3c1", - "submission_date": "2019-04-03T10:13:41.657Z", - "update_date": "2019-04-03T10:15:57.145Z" - } - }, - "image_file/f986c2c2-2823-45a0-80cf-5e6f67958afb": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f986c2c2-2823-45a0-80cf-5e6f67958afb", - "submission_date": "2019-04-03T10:13:41.668Z", - "update_date": "2019-04-03T10:16:00.833Z" - } - }, - "image_file/7d17d6d6-d038-40c6-b965-6de41ce9c931": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7d17d6d6-d038-40c6-b965-6de41ce9c931", - "submission_date": "2019-04-03T10:13:41.680Z", - "update_date": "2019-04-03T10:15:57.652Z" - } - }, - "image_file/3d208b38-62c8-492d-9434-21bb66ead16e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3d208b38-62c8-492d-9434-21bb66ead16e", - "submission_date": "2019-04-03T10:13:41.692Z", - "update_date": "2019-04-03T10:16:03.214Z" - } - }, - "image_file/9a982898-77c6-4a56-8e54-9cb83ff0b235": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9a982898-77c6-4a56-8e54-9cb83ff0b235", - "submission_date": "2019-04-03T10:13:41.704Z", - "update_date": "2019-04-03T10:16:03.249Z" - } - }, - "image_file/1bdd91d7-0a1a-488d-ab9c-78eba7a6daa3": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "1bdd91d7-0a1a-488d-ab9c-78eba7a6daa3", - "submission_date": "2019-04-03T10:13:41.715Z", - "update_date": "2019-04-03T10:16:00.293Z" - } - }, - "image_file/24b6366f-03ce-4e4d-b50f-90687f3e2b94": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "24b6366f-03ce-4e4d-b50f-90687f3e2b94", - "submission_date": "2019-04-03T10:13:41.726Z", - "update_date": "2019-04-03T10:16:00.295Z" - } - }, - "image_file/ec1d0987-fb49-48b8-aaeb-321c659fb67f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ec1d0987-fb49-48b8-aaeb-321c659fb67f", - "submission_date": "2019-04-03T10:13:41.736Z", - "update_date": "2019-04-03T10:16:03.247Z" - } - }, - "image_file/e756ce65-ad72-42e6-a8cc-9c1bac781ce5": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e756ce65-ad72-42e6-a8cc-9c1bac781ce5", - "submission_date": "2019-04-03T10:13:41.746Z", - "update_date": "2019-04-03T10:16:03.243Z" - } - }, - "image_file/6fbcb1c7-ce98-46db-8054-b451b6bca205": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6fbcb1c7-ce98-46db-8054-b451b6bca205", - "submission_date": "2019-04-03T10:13:41.756Z", - "update_date": "2019-04-03T10:16:03.126Z" - } - }, - "image_file/c225fa8c-e8c8-46a4-bf23-720e2cf1c9ac": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c225fa8c-e8c8-46a4-bf23-720e2cf1c9ac", - "submission_date": "2019-04-03T10:13:41.766Z", - "update_date": "2019-04-03T10:16:00.740Z" - } - }, - "image_file/aa6fca0d-6a70-4016-a0e4-307878e9ff45": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z5-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "aa6fca0d-6a70-4016-a0e4-307878e9ff45", - "submission_date": "2019-04-03T10:13:41.776Z", - "update_date": "2019-04-03T10:16:00.704Z" - } - }, - "image_file/ee62cd8d-fb93-4082-980b-213c7a8a0c47": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ee62cd8d-fb93-4082-980b-213c7a8a0c47", - "submission_date": "2019-04-03T10:13:41.785Z", - "update_date": "2019-04-03T10:16:03.200Z" - } - }, - "image_file/bbd60a79-3572-42c0-8e53-b0c566a72f06": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "bbd60a79-3572-42c0-8e53-b0c566a72f06", - "submission_date": "2019-04-03T10:13:41.795Z", - "update_date": "2019-04-03T10:16:00.196Z" - } - }, - "image_file/bf585666-2fb4-4ad5-a9b3-b268a9953ed9": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "bf585666-2fb4-4ad5-a9b3-b268a9953ed9", - "submission_date": "2019-04-03T10:13:41.805Z", - "update_date": "2019-04-03T10:16:03.144Z" - } - }, - "image_file/52548ff8-5bbd-4b1c-9c52-4e5d82f846e2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "52548ff8-5bbd-4b1c-9c52-4e5d82f846e2", - "submission_date": "2019-04-03T10:13:41.816Z", - "update_date": "2019-04-03T10:16:00.186Z" - } - }, - "image_file/240a67cc-e827-41bf-8ac8-a66bc2797f13": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "240a67cc-e827-41bf-8ac8-a66bc2797f13", - "submission_date": "2019-04-03T10:13:41.827Z", - "update_date": "2019-04-03T10:16:00.772Z" - } - }, - "image_file/7a9b6534-fa1d-4282-a064-11e60e57a322": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7a9b6534-fa1d-4282-a064-11e60e57a322", - "submission_date": "2019-04-03T10:13:41.838Z", - "update_date": "2019-04-03T10:15:57.638Z" - } - }, - "image_file/b0af6371-4379-45f0-8c09-f6610833fc46": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "b0af6371-4379-45f0-8c09-f6610833fc46", - "submission_date": "2019-04-03T10:13:41.848Z", - "update_date": "2019-04-03T10:15:57.644Z" - } - }, - "image_file/f5ce7a96-cfc0-42c4-852b-386f9a27111d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f5ce7a96-cfc0-42c4-852b-386f9a27111d", - "submission_date": "2019-04-03T10:13:41.859Z", - "update_date": "2019-04-03T10:16:00.829Z" - } - }, - "image_file/8bc05db7-bd23-4a10-9761-96be7b8ef9ee": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8bc05db7-bd23-4a10-9761-96be7b8ef9ee", - "submission_date": "2019-04-03T10:13:41.869Z", - "update_date": "2019-04-03T10:16:00.329Z" - } - }, - "image_file/3dff4add-7d6f-418c-afba-e46864af51d2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3dff4add-7d6f-418c-afba-e46864af51d2", - "submission_date": "2019-04-03T10:13:41.880Z", - "update_date": "2019-04-03T10:16:00.156Z" - } - }, - "image_file/ab2b7c67-8f13-4388-acd7-e2abb0091f30": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ab2b7c67-8f13-4388-acd7-e2abb0091f30", - "submission_date": "2019-04-03T10:13:41.895Z", - "update_date": "2019-04-03T10:16:00.743Z" - } - }, - "image_file/d9912d93-3d92-48d2-9f75-826fbba3d94e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z6-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "d9912d93-3d92-48d2-9f75-826fbba3d94e", - "submission_date": "2019-04-03T10:13:41.907Z", - "update_date": "2019-04-03T10:16:03.046Z" - } - }, - "image_file/8b37aba2-be5e-4963-8e6f-51a2df8e143e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "8b37aba2-be5e-4963-8e6f-51a2df8e143e", - "submission_date": "2019-04-03T10:13:41.917Z", - "update_date": "2019-04-03T10:16:00.282Z" - } - }, - "image_file/81c0e4e2-9021-4c4d-9876-1ed5b78ca7a7": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "81c0e4e2-9021-4c4d-9876-1ed5b78ca7a7", - "submission_date": "2019-04-03T10:13:41.927Z", - "update_date": "2019-04-03T10:16:00.805Z" - } - }, - "image_file/2d7e88dd-bddd-4289-9556-27d301be0b83": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "2d7e88dd-bddd-4289-9556-27d301be0b83", - "submission_date": "2019-04-03T10:13:41.937Z", - "update_date": "2019-04-03T10:16:03.188Z" - } - }, - "image_file/0c1c578d-d4cc-40bb-a54d-d1d4d004373f": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "0c1c578d-d4cc-40bb-a54d-d1d4d004373f", - "submission_date": "2019-04-03T10:13:41.947Z", - "update_date": "2019-04-03T10:16:03.221Z" - } - }, - "image_file/9dc0ead3-f17a-4bb8-88e2-87f779029ff8": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9dc0ead3-f17a-4bb8-88e2-87f779029ff8", - "submission_date": "2019-04-03T10:13:41.958Z", - "update_date": "2019-04-03T10:16:00.822Z" - } - }, - "image_file/f618a8bc-5e07-477f-a6d3-1b0af8c81ff0": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f618a8bc-5e07-477f-a6d3-1b0af8c81ff0", - "submission_date": "2019-04-03T10:13:41.969Z", - "update_date": "2019-04-03T10:16:03.130Z" - } - }, - "image_file/e834d3df-8432-40ba-b67d-c7cd0bd7328d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e834d3df-8432-40ba-b67d-c7cd0bd7328d", - "submission_date": "2019-04-03T10:13:41.979Z", - "update_date": "2019-04-03T10:16:03.234Z" - } - }, - "image_file/d8908d6d-5daa-454d-9082-726054cfddc1": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "d8908d6d-5daa-454d-9082-726054cfddc1", - "submission_date": "2019-04-03T10:13:41.990Z", - "update_date": "2019-04-03T10:16:03.189Z" - } - }, - "image_file/c5a7142e-4702-4e84-b7aa-239df2a71ba8": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c5a7142e-4702-4e84-b7aa-239df2a71ba8", - "submission_date": "2019-04-03T10:13:42.000Z", - "update_date": "2019-04-03T10:16:00.189Z" - } - }, - "image_file/f69e44ef-cf23-4571-8dad-e44222697974": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "f69e44ef-cf23-4571-8dad-e44222697974", - "submission_date": "2019-04-03T10:13:42.011Z", - "update_date": "2019-04-03T10:16:03.186Z" - } - }, - "image_file/ea72f81c-2c58-43e2-acca-294254f470f7": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "ea72f81c-2c58-43e2-acca-294254f470f7", - "submission_date": "2019-04-03T10:13:42.021Z", - "update_date": "2019-04-03T10:16:03.138Z" - } - }, - "image_file/89d1d2b5-81d3-487d-9fc1-d8b1d8ac34ab": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z7-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "89d1d2b5-81d3-487d-9fc1-d8b1d8ac34ab", - "submission_date": "2019-04-03T10:13:42.031Z", - "update_date": "2019-04-03T10:16:03.194Z" - } - }, - "image_file/6928ac1b-fd1d-436c-bfc6-4087c65809d7": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6928ac1b-fd1d-436c-bfc6-4087c65809d7", - "submission_date": "2019-04-03T10:13:42.042Z", - "update_date": "2019-04-03T10:16:03.234Z" - } - }, - "image_file/07a7b938-435b-4804-b140-c255957b6532": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "07a7b938-435b-4804-b140-c255957b6532", - "submission_date": "2019-04-03T10:13:42.052Z", - "update_date": "2019-04-03T10:16:03.185Z" - } - }, - "image_file/3d532a7b-55e7-4461-afbc-65ef76403384": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3d532a7b-55e7-4461-afbc-65ef76403384", - "submission_date": "2019-04-03T10:13:42.062Z", - "update_date": "2019-04-03T10:16:00.225Z" - } - }, - "image_file/bab40245-28bd-49a2-8be0-ba109fe41c91": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "bab40245-28bd-49a2-8be0-ba109fe41c91", - "submission_date": "2019-04-03T10:13:42.072Z", - "update_date": "2019-04-03T10:16:03.171Z" - } - }, - "image_file/9d577bd4-3a27-48be-ad7c-8c44cf803cda": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9d577bd4-3a27-48be-ad7c-8c44cf803cda", - "submission_date": "2019-04-03T10:13:42.082Z", - "update_date": "2019-04-03T10:16:03.221Z" - } - }, - "image_file/c4de7605-fec5-4389-bb9e-f2ea0c41cdef": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "c4de7605-fec5-4389-bb9e-f2ea0c41cdef", - "submission_date": "2019-04-03T10:13:42.093Z", - "update_date": "2019-04-03T10:16:03.221Z" - } - }, - "image_file/21a043b6-6dde-41b9-b20e-74b961da8b88": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "21a043b6-6dde-41b9-b20e-74b961da8b88", - "submission_date": "2019-04-03T10:13:42.104Z", - "update_date": "2019-04-03T10:16:03.210Z" - } - }, - "image_file/11280200-1803-4110-aa84-2808776c2d50": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "11280200-1803-4110-aa84-2808776c2d50", - "submission_date": "2019-04-03T10:13:42.114Z", - "update_date": "2019-04-03T10:16:03.231Z" - } - }, - "image_file/86df5269-576b-4d18-a0ce-6e2b2a36d51b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "86df5269-576b-4d18-a0ce-6e2b2a36d51b", - "submission_date": "2019-04-03T10:13:42.124Z", - "update_date": "2019-04-03T10:16:03.201Z" - } - }, - "image_file/e524ff4e-95fa-4561-bfd3-276cba79e664": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e524ff4e-95fa-4561-bfd3-276cba79e664", - "submission_date": "2019-04-03T10:13:42.134Z", - "update_date": "2019-04-03T10:16:03.251Z" - } - }, - "image_file/3d5737da-b1ab-48cb-a26f-d420e53edccd": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "3d5737da-b1ab-48cb-a26f-d420e53edccd", - "submission_date": "2019-04-03T10:13:42.144Z", - "update_date": "2019-04-03T10:16:03.057Z" - } - }, - "image_file/44cf15ec-3d4e-4698-bb14-107c34891191": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z8-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "44cf15ec-3d4e-4698-bb14-107c34891191", - "submission_date": "2019-04-03T10:13:42.154Z", - "update_date": "2019-04-03T10:16:03.206Z" - } - }, - "image_file/6242cdf3-fd6d-4479-a08a-1747818fd978": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H0-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "6242cdf3-fd6d-4479-a08a-1747818fd978", - "submission_date": "2019-04-03T10:13:42.164Z", - "update_date": "2019-04-03T10:16:03.054Z" - } - }, - "image_file/bc60bbd4-8b09-425c-b507-9da24a84f412": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H0-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "bc60bbd4-8b09-425c-b507-9da24a84f412", - "submission_date": "2019-04-03T10:13:42.174Z", - "update_date": "2019-04-03T10:16:00.270Z" - } - }, - "image_file/1f054ccf-f8dd-4127-a6f8-c577d7dd93dc": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H0-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "1f054ccf-f8dd-4127-a6f8-c577d7dd93dc", - "submission_date": "2019-04-03T10:13:42.184Z", - "update_date": "2019-04-03T10:16:03.187Z" - } - }, - "image_file/9954cb4b-b0a4-4479-b31d-0bee1e75d9c7": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H0-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "9954cb4b-b0a4-4479-b31d-0bee1e75d9c7", - "submission_date": "2019-04-03T10:13:42.195Z", - "update_date": "2019-04-03T10:16:03.267Z" - } - }, - "image_file/5f67c32c-a154-4620-8603-0b64979b04a4": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H1-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "5f67c32c-a154-4620-8603-0b64979b04a4", - "submission_date": "2019-04-03T10:13:42.207Z", - "update_date": "2019-04-03T10:16:03.116Z" - } - }, - "image_file/7d5bffb2-8bf9-4366-a8b2-762ebb4d6c5d": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H1-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7d5bffb2-8bf9-4366-a8b2-762ebb4d6c5d", - "submission_date": "2019-04-03T10:13:42.219Z", - "update_date": "2019-04-03T10:16:00.148Z" - } - }, - "image_file/dcee6df0-9e87-4935-8873-f8d30d449d76": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H1-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "dcee6df0-9e87-4935-8873-f8d30d449d76", - "submission_date": "2019-04-03T10:13:42.230Z", - "update_date": "2019-04-03T10:16:03.250Z" - } - }, - "image_file/7d6bdde6-523f-46cb-bed5-d6cfa8fea80c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H1-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "7d6bdde6-523f-46cb-bed5-d6cfa8fea80c", - "submission_date": "2019-04-03T10:13:42.242Z", - "update_date": "2019-04-03T10:16:03.126Z" - } - }, - "image_file/e6d00b0c-3641-4ec4-a553-8fd742193dba": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H2-C0.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e6d00b0c-3641-4ec4-a553-8fd742193dba", - "submission_date": "2019-04-03T10:13:42.254Z", - "update_date": "2019-04-03T10:16:03.321Z" - } - }, - "image_file/e5034863-0528-4f55-be95-c8501c29f9fe": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H2-C1.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "e5034863-0528-4f55-be95-c8501c29f9fe", - "submission_date": "2019-04-03T10:13:42.272Z", - "update_date": "2019-04-03T10:16:03.187Z" - } - }, - "image_file/cc61b14a-59d9-477b-8cb1-43c4ee4cf434": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H2-C2.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "cc61b14a-59d9-477b-8cb1-43c4ee4cf434", - "submission_date": "2019-04-03T10:13:42.284Z", - "update_date": "2019-04-03T10:16:03.190Z" - } - }, - "image_file/33d332c9-aefe-4db5-8830-b8daddaed0d2": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000-Z9-H2-C3.tiff", - "file_format": "tiff" - }, - "provenance": { - "document_id": "33d332c9-aefe-4db5-8830-b8daddaed0d2", - "submission_date": "2019-04-03T10:13:42.295Z", - "update_date": "2019-04-03T10:16:03.189Z" - } - }, - "image_file/bb3b6fc7-0902-432d-bad1-6b3f61951314": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image-fov_000.json", - "file_format": "json" - }, - "provenance": { - "document_id": "bb3b6fc7-0902-432d-bad1-6b3f61951314", - "submission_date": "2019-04-03T10:13:42.306Z", - "update_date": "2019-04-03T10:15:51.086Z" - } - }, - "image_file/2b734e88-3a33-4c73-92bb-82e0b8f8c13b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/1.0.4/image_file", - "schema_type": "file", - "file_core": { - "file_name": "primary_image.json", - "file_format": "json" - }, - "provenance": { - "document_id": "2b734e88-3a33-4c73-92bb-82e0b8f8c13b", - "submission_date": "2019-04-03T10:13:42.318Z", - "update_date": "2019-04-03T10:16:00.280Z" - } - }, - "project/ae5237b4-633f-403a-afc6-cb87e6f90db1": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/project/11.0.1/project", - "schema_type": "project", - "project_core": { - "project_short_name": "barista_seq", - "project_title": "1 FOV BaristaSeq mouse SpaceTx dataset", - "project_description": "1 FOV BaristaSeq mouse SpaceTx dataset" - }, - "supplementary_links": [ - "https://github.com/spacetx" - ], - "funders": [ - { - "grant_title": "grant", - "grant_id": "1", - "organization": "funder" - } - ], - "provenance": { - "document_id": "ae5237b4-633f-403a-afc6-cb87e6f90db1", - "submission_date": "2019-04-03T10:13:39.976Z", - "update_date": "2019-04-03T10:13:45.439Z" - } - }, - "imaging_protocol/96ecb94d-e848-4d7b-8df9-f19af6ab17b8": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/imaging/11.0.12/imaging_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "zador_singlerolseq_1" - }, - "microscope_setup_description": "PerkinElmer Ultraview Vox Spinning disk (Nikon Ti-E, Yokogawa CSU-X1, Hamamatsu orca-R2, ASI MS-2000 xyz stage, Nikon Plan Apo 10x 0.45 and Nikon Plan Apo 20x 0.75)", - "microscopy_technique": { - "text": "spinning disk confocal" - }, - "magnification": "20x", - "numerical_aperture": 0.75, - "immersion_medium_type": "air", - "immersion_medium_refractive_index": 1.0, - "pixel_size": 322.5, - "number_of_tiles": 25, - "tile_size_y": 433.0, - "tile_size_x": 330.0, - "z_stack_step_size": 3000.0, - "number_of_z_steps": 17, - "overlapping_tiles": "yes", - "target": [ - { - "molecule_name": "Ank1", - "molecule_id": "NM_001277289", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggcccacactcattccagagaaggatcaccaccatccaaggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ank1", - "molecule_id": "NM_001277289", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggactgggataaacagggttccacagcggtacacccgcaagaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ank1", - "molecule_id": "NM_001277289", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agcagcgagttcacgcccgaatcacagactcaccctcagtgag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnmb2", - "molecule_id": "NM_028231", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gtgggagacaaagctggtgagatcactcccagtaaactgactgg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnmb2", - "molecule_id": "NM_028231", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cctgaccaaactctacagctccaatgtgctgttccattctctct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnmb2", - "molecule_id": "NM_028231", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ttcagctgtgggcccgactgttggaagctctctcagtacccttg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ankrd55", - "molecule_id": "NM_001168404", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agggcccgtccattatcaactacgacgacgagagtgggaaga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ankrd55", - "molecule_id": "NM_001168404", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgcagagcctgatgtgaggctcctcatagtcctgctgcagca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ankrd55", - "molecule_id": "NM_001168404", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgtgtgagtctgctcagaaacggtgccaagcacaacatcccag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc32a1", - "molecule_id": "NM_009508", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tcttcacgctgctcatggccatctacgtgccacacttcgcgct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc32a1", - "molecule_id": "NM_009508", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tatccgttgcccttcttcgcggccgtcgaagtgctggagaagt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc32a1", - "molecule_id": "NM_009508", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tcaacatcctggtcatcgcttactgtctctctcgcgcgcgtgatt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Btbd11", - "molecule_id": "NM_001017525", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgagatcatggagcttctgtctgctgctaaatttttccagctggag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Btbd11", - "molecule_id": "NM_001017525", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cgtgaagtatcccatcttccagctcgtcatgcagtatctctactac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Btbd11", - "molecule_id": "NM_001017525", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctcttgttcacagcctctcccaggttcaaggccctcctctcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Arx", - "molecule_id": "NM_001305940", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agcattttggcgctctatgttgatttaagcgcggcccggctaaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Arx", - "molecule_id": "NM_001305940", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caaggcagttcttggcgctaaaggatgtggcacctcctccact", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Arx", - "molecule_id": "NM_001305940", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atggaaacagaggaccagctcactcccaagaaggcacagacag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dlx1", - "molecule_id": "NM_010053", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgtaaacatgttgcacaagcttagcctctttccgttctgttgtg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dlx1", - "molecule_id": "NM_010053", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "taagacacaagcagcggctcgaccacagaacacaagtcatcaccct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dlx1", - "molecule_id": "NM_010053", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcacagtaacttttgtacttggctgaaatgcagaaagggaaaac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gad2", - "molecule_id": "NM_008078", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aaaggtggcgccagtgattaaagccagaatgatggagtatggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gad2", - "molecule_id": "NM_008078", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agtgttcagctctcctggttagagaggagggactgatgcagagct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gad2", - "molecule_id": "NM_008078", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tactgatgtcccggaaacacaagtggaagctgagtggagtagaga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pvalb", - "molecule_id": "NM_013645", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgcttggtactgagtgctcatgtgggccacctcgttcaatc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pvalb", - "molecule_id": "NM_013645", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggagaaacaataaaggctgtaccaatcggacaccacctgtaggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pvalb", - "molecule_id": "NM_013645", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctcctcagatgccagagacttgtctgctaaagaaacaaagacgc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pdgfra", - "molecule_id": "NM_001083316", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgggcaagaggaacagacacagctcacagacttcggaagagag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pdgfra", - "molecule_id": "NM_001083316", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaaaagattcacctggacttcctaaagagtgaccatccggccgt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pdgfra", - "molecule_id": "NM_001083316", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agtgagcccgagaagagaccctccttctaccacctcagcgagata", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nxph4", - "molecule_id": "NM_183297", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aattgccacgtggaatatgagaagacaaaccgcgctcgcaag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nxph4", - "molecule_id": "NM_183297", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cacaattcgtccagcctgggtaacctaagcgtcagtatcgtgc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nxph4", - "molecule_id": "NM_183297", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgtgcataccctcaagttctcgctgttggtgaccggcaagatc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Car3", - "molecule_id": "NM_007606", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cattgtgtggctgctgctcaaagagcccatgactgtgagctc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Car3", - "molecule_id": "NM_007606", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "catcatgcctgttccctgcttgccgggactattggacctatc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Car3", - "molecule_id": "NM_007606", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gggagaaaggcgagttccagattcttcttgatgccctggacaaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc17a8", - "molecule_id": "NM_001310710", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaactcaaccacgagactttcgtaagtcccagaaagaagatgtct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc17a8", - "molecule_id": "NM_001310710", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggctttgctatttcaggcttcaatgtcaaccacctggacattgc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc17a8", - "molecule_id": "NM_001310710", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgctcctggtggttggattttcccataccaaaggagtggctatc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Syt6", - "molecule_id": "NM_001276679", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cgagacgctgattgtgcgcatcctgaaggcctttgacctccct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Syt6", - "molecule_id": "NM_001276679", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agatgcatgtctccagcgtggactatggcaatgagctgccgc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Syt6", - "molecule_id": "NM_001276679", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acaaagctgcagcgacagaccacagagccagcatcctccacca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rspo1", - "molecule_id": "NM_138683", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagaagaggaagctgtgcggtttccggaagggatcggaagag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rspo1", - "molecule_id": "NM_138683", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gtgtcaggagggcttgtacttacacaagggccgctgctatcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rspo1", - "molecule_id": "NM_138683", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cccaagctcttcattctgctggagaggaacgacatccgccaggt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fam84b", - "molecule_id": "NM_001162926", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcctggaggacttgatcatggagaagcggcgcaacgaccagat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fam84b", - "molecule_id": "NM_001162926", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aacgatctgtatcgctacaagccactgagccctagcgctgtagt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fam84b", - "molecule_id": "NM_001162926", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aacaagtgcagtccgggtgacctggtggagtttgtatcgcaggc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Deptor", - "molecule_id": "NM_001037937", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctcaggagacgcatgacagtcccttctgtctgaggaagcagag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Deptor", - "molecule_id": "NM_001037937", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcaacctcctctaccagttcagaatgaacttccgtcggaggcgga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Deptor", - "molecule_id": "NM_001037937", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagaggcagagcagctttgccaccggcttatggaccatgggatc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ndnf", - "molecule_id": "NM_172399", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caccagaaagaaatcagagaaggtcctttgcaaatacttccacag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ndnf", - "molecule_id": "NM_172399", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agcttttgacaagctacgtacctgctcttcagttacggtggcat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ndnf", - "molecule_id": "NM_172399", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aggcaacaggaaaggagcatcaaagctgaaaatactggcgacca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Chrna2", - "molecule_id": "NM_144803", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagcactagaaggtgtacactacattgctgaccacctgaggtct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Chrna2", - "molecule_id": "NM_144803", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tcattggctggagaccaacatggatgctgaagaaagggaggag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Chrna2", - "molecule_id": "NM_144803", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgtcttcctgctgctcatcacagaaattatcccatccacctcac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Calb1", - "molecule_id": "NM_009788", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cacccaaagcacctctgtgctgcttctatctggcggaagggat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Calb1", - "molecule_id": "NM_009788", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cgaacagaccttgctcttattctttctgctggagacaactagagtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Calb1", - "molecule_id": "NM_009788", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgcgaggaattcatgaagacttggagaaagtatgatactgaccac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sncg", - "molecule_id": "NM_011430", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gttgcccaagttctctgtccctagcccagtgccacaagtcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sncg", - "molecule_id": "NM_011430", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gagaatgaagaggccaagagtggagaagactagaaggctgccag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sncg", - "molecule_id": "NM_011430", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tggtcagcagcgtcaacacagtggccaacaagaccgtggagga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Th", - "molecule_id": "NM_009377", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gacaagctcaggaactatgcctctcgtatccagcgcccattctc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Th", - "molecule_id": "NM_009377", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgggacacgtacccatgttggctgaccgcacatttgcccagtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Th", - "molecule_id": "NM_009377", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gtttcagtgcacacagtacatccgtcatgcctcctcacctatgc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gad1", - "molecule_id": "NM_001312900", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgatcgctccaccaaggttctggatttccaccacccacacca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gad1", - "molecule_id": "NM_001312900", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tccaagaacctgctttcctgtgaaaacagtgaccagggtgccc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gad1", - "molecule_id": "NM_001312900", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tctgtggcttcttacaaaggaccaatagcctggaagagaagagtcg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc17a7", - "molecule_id": "NM_182993", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atcgctgactttttgcgcagtcgtcacataatgtccactaccaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc17a7", - "molecule_id": "NM_182993", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caccctggaggcgcttctttacgtccatgcccgtctatgccat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc17a7", - "molecule_id": "NM_182993", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tatggcagcttcgggatcttttggtacctgttctggttgcttgtct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Neurod1", - "molecule_id": "NM_010894", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gatcctgcgctcaggcaaaagccctgatctggtctccttcgta", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Neurod1", - "molecule_id": "NM_010894", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cttgctactccaagacccagaaactgtctaaaatagagacactgcg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Neurod1", - "molecule_id": "NM_010894", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcgcgcctagaacgttttaaattaaggcgcatgaaggccaacg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rorb", - "molecule_id": "NM_146095", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctttgcgaagaatctgtgttccttgcagctgactgaggaagagat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rorb", - "molecule_id": "NM_146095", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccacacctacgaggaaatcaaggcgtatcaaagcaagtccaggga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rorb", - "molecule_id": "NM_146095", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgcacagaacatcattaagtcccatttggagacatgtcagtacac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fezf2", - "molecule_id": "NM_080433", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gctttcaccaaaaagggaactacaagaatcacaagctcacccaca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fezf2", - "molecule_id": "NM_080433", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ttcaatcgcagctccacgctcaacacgcacatccgcatccac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fezf2", - "molecule_id": "NM_080433", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agctagaccgtttgtgtgcaaagtctgtggcaaaggcttccg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Adarb2", - "molecule_id": "NM_001289530", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ataccgacaaaacaggcctctccttagtggcgtgagtcacgca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Adarb2", - "molecule_id": "NM_001289530", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atcgagcctgtgtacctccacagcatcattgtgggcagcctgca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Adarb2", - "molecule_id": "NM_001289530", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cagacttgaacagcagcaaacacatcgtcaggaagttccgaggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Lamp5", - "molecule_id": "NM_029530", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgactttgtcttcagtgaagaacataaatgtccagtggatgagc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Lamp5", - "molecule_id": "NM_029530", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tttctctggcctccagtgaccctcagaagactgtcaccatgatcct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Lamp5", - "molecule_id": "NM_029530", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctcagaatgctctttgtaaaggaaagtcacaacacttccaaagg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Vip", - "molecule_id": "NM_001313969", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gggtcagatttctgccaaaaaataccttgagtcactcattggcaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Vip", - "molecule_id": "NM_001313969", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcagaaaatggcacaccctattatgatgtgtcaagaaatgccaggc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Vip", - "molecule_id": "NM_001313969", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccttctgtagtgagtaggctggatgacaggatgccgtttgaagg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Lhx6", - "molecule_id": "NM_001083127", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cgcatccattacgacaccatgatcgagaacctcaagagggcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Lhx6", - "molecule_id": "NM_001083127", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctggcatgtttcgcctgcttttcctgcaagcgccagctatcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Lhx6", - "molecule_id": "NM_001083127", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atttggaaccaagtgcgcccggtgcggcagacaaatctatgcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Chodl", - "molecule_id": "NM_139134", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggtgcaacatgaagcacaattacatctgcaagtatgaaccagaga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Chodl", - "molecule_id": "NM_139134", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aatgtgtagtcatgtaccaccaaccaactgccaatcctggccta", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Chodl", - "molecule_id": "NM_139134", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aaacatcgggtgcctgcccagatctctaccagtggtctgatggaag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fa2h", - "molecule_id": "NM_178086", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tacctgcacttcggctctccacacaagggctcctacctgtacaac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fa2h", - "molecule_id": "NM_178086", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gattgccttcttctatgtgttcctgcggctcattctgcctgaga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fa2h", - "molecule_id": "NM_178086", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gccattacctcatcatgttgcattttgtcatgcacggccagcac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ly86", - "molecule_id": "NM_010745", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggcttggaagtagtctaccagagctgtgatcccttacaggattttg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ly86", - "molecule_id": "NM_010745", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "attctgacttctccgagcagcagtgaccatggcagcgaaaatg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ly86", - "molecule_id": "NM_010745", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atggcaaaaggctcttctattctgaactactcctatcccctttg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dcn", - "molecule_id": "NM_007833", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caggtcgtctaccttcacaacaacaacatctccgcagttgggcaaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dcn", - "molecule_id": "NM_007833", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tctcactgaagtgcatctagatggcaacaagatcaccaaggttgat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dcn", - "molecule_id": "NM_007833", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agggactgaagagtctctcatacattcgcatctcagacaccaacat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fgfr3", - "molecule_id": "NM_001163216", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cctcactgtgacatcaaccgacgagtacttggacctctccgt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fgfr3", - "molecule_id": "NM_001163216", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgtacatgatcatgcgggaatgttggcatgcggtgccttcacag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Fgfr3", - "molecule_id": "NM_001163216", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgctggtggagtacgcagccaagggcaatctccgggagttcctt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Map3k7cl", - "molecule_id": "NM_144854", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagctacctatcgttcagacacaccgttgagtgaatgcagaattag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Map3k7cl", - "molecule_id": "NM_144854", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cctttgtgttagcacacagtggtcacatttgccttggccgtgtg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Map3k7cl", - "molecule_id": "NM_144854", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gagcctaaatgctttcttgtgaaaatatcagcaggcgtgtgtcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nxph1", - "molecule_id": "NM_008751", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gattccaagtccttcaactgtcgcattgagtatgagaaggttgac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nxph1", - "molecule_id": "NM_008751", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tctgggactggctgaggaactccacagatcttcaggagcctcg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nxph1", - "molecule_id": "NM_008751", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gtcggctcctctcacagactttccgtggtaaagaaaatgacac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pcp4", - "molecule_id": "NM_008791", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agaagaaaaaggcaggatcacagtcctagtggtgaagctgcttc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pcp4", - "molecule_id": "NM_008791", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggcagaagaaagtccaagaagaatttgatatcgacatggatgcacc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Pcp4", - "molecule_id": "NM_008791", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tagctgcggagtcaggccaacatgagtgagagacaaagtgccgg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Neurod6", - "molecule_id": "NM_009717", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccaactacaaacttggtggcaggctgcttacagctcaacgcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Neurod6", - "molecule_id": "NM_009717", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ttacatctgggcactttctgaaattctgaggattggcaagagacc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Neurod6", - "molecule_id": "NM_009717", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggtcaagttcaggagacaggaagctaatgcgcgcgagaggaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nrn1", - "molecule_id": "NM_153529", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "actcacccacactcacaccatgctcccggaaatcgagaggaata", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nrn1", - "molecule_id": "NM_153529", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "accgtgtgcacatactgggaggatttccacagctgcacggtc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nrn1", - "molecule_id": "NM_153529", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cttttcagactgtttgctcaagctgggcgacagcatggccaacta", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nrgn", - "molecule_id": "NM_022029", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ttctttgtttatgcaaaagcctcctgagcgcctggaggctcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nrgn", - "molecule_id": "NM_022029", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctcccgctcttctttgtttatgcaaaagcctcctgagcgcctgga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nrgn", - "molecule_id": "NM_022029", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccaagccagacgacgatattcttgacatcccgctggatgatcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ptn", - "molecule_id": "NM_008973", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caatgctgactgtcagaaaactgtcaccatctccaagccctgtg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ptn", - "molecule_id": "NM_008973", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccttcctggcattgattttcatcttggcagctgtggacactgct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ptn", - "molecule_id": "NM_008973", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aaaggcagccagctagtcagcgaggacctctgcaagccaaaaaatg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cck", - "molecule_id": "NM_031161", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgccgaggactacgaatacccatcgtagtgggccagcgtctt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cck", - "molecule_id": "NM_031161", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tacatccagcaggtccgcaaagctccttctggccgcatgtccgtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cck", - "molecule_id": "NM_031161", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagagcggcgtatgtctgtgcgtggtgatggcagtcctagctgct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Synpr", - "molecule_id": "NM_001163032", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgatgtcagcttgcaagcagccttccaacaagtgcatggctg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Synpr", - "molecule_id": "NM_001163032", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gactttatcgtcactgtagtcttttcattcttgtggctggtgg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Synpr", - "molecule_id": "NM_001163032", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tttctctactccctggctgccacggtcgtgtacattttcttccag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc6a1", - "molecule_id": "NM_178703", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "catcattgtggcgggcgtgtttctcttcagtgctgtgcagatg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc6a1", - "molecule_id": "NM_178703", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgtcaaccggttctatgacaacatccaggagatggttggctcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Slc6a1", - "molecule_id": "NM_178703", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctcttcattgctgccgtgtgcatcgtgtcctacctgattggc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dlx6", - "molecule_id": "NM_010057", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cacaccaggacaccatgcagagaccacagatgatgtgacttctc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dlx6", - "molecule_id": "NM_010057", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgtcaccacgatcaccagccctgcctccagtgtgggacgtttct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Dlx6", - "molecule_id": "NM_010057", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccatcgctttcagcagactcaatacctggcccttcccgagaga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Atp1a3", - "molecule_id": "NM_001290469", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "actgggatgatcgcactgtcaatgacctagaagacagttatggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Atp1a3", - "molecule_id": "NM_001290469", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cccacgcacagacaaactggtcaacgaaaggctcatcagcatg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Atp1a3", - "molecule_id": "NM_001290469", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cctgagatcacacccttcctgctcttcatcatggctaacatccc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Arpp19", - "molecule_id": "NM_021548", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caatgcatctccaccatttgatatgcaataggacactgcctgt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Arpp19", - "molecule_id": "NM_021548", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcccactgtaagcacttcacttacattttctaaagcaccgtcttg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Arpp19", - "molecule_id": "NM_021548", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagcaggtagcctctgggaagagctattctgatggttaccaagg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cxcl14", - "molecule_id": "NM_019568", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acagcactgttctctgagttaggatgttaggacgatcctgcgcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cxcl14", - "molecule_id": "NM_019568", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aagggaagatgcaggattagatgcaggacacacagccagagcta", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cxcl14", - "molecule_id": "NM_019568", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tactgctccgctccaggcttacaaagcttccgctcagagagcct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rab3b", - "molecule_id": "NM_023537", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cttttccaataagtgtgatcccgtcgcttggaatcctgcccaag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rab3b", - "molecule_id": "NM_023537", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gctggtatcaggcccagtgatcaaatgaaagggccaaatagag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rab3b", - "molecule_id": "NM_023537", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aggtaaagggagctctatagggaagcaggctcaggctgtagtg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cryab", - "molecule_id": "NM_001289785", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aaacaggtgtctggccctgagcgcaccattcccatcacccgtgaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cryab", - "molecule_id": "NM_001289785", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggcttcatctccagggagttccacaggaagtaccggatccca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cryab", - "molecule_id": "NM_001289785", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gatgcgtttggagaaggacagattctctgtgaatctggacgtgaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Penk", - "molecule_id": "NM_001002927", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gctgaaagagctactgggaacgggagacaaccgtgcgaaagac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Penk", - "molecule_id": "NM_001002927", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggtacggaggcttcatgaagaagatggacgagctatatcccatg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Penk", - "molecule_id": "NM_001002927", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acatcgacatgtacaaagacagcagcaaacaggatgagagccac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Crh", - "molecule_id": "NM_205769", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcaagctcacagcaacaggaaactgatggagattatcgggaaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Crh", - "molecule_id": "NM_205769", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cgcccatctctctggatctcaccttccaccttctgcgggaagt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Crh", - "molecule_id": "NM_205769", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aaacctgcaggaggcatcctgagagaagtccctctgcagaggca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Caln1", - "molecule_id": "NM_021371", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tccatcccgcaccagcatcttggaatctgcagagagcctggct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Caln1", - "molecule_id": "NM_021371", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gccacctctatccatgacccaattctttcaacccagggaccc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Caln1", - "molecule_id": "NM_021371", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgctttcttttcgtcttggaattccagtagccatccagatagca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnip1", - "molecule_id": "NM_027398", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gatcatgtgcaaatggtacttccagacagcacctcttttctaat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnip1", - "molecule_id": "NM_027398", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctctatggctcaggagaggcaagttgtgacaaagggtggttagt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnip1", - "molecule_id": "NM_027398", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccaaatgtgcaccatcctccgatggcctcccaagccaatgtg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gm11549", - "molecule_id": "NR_040411", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aactcagacatccgcctgcctctgcctcctgagtgctgggatta", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gm11549", - "molecule_id": "NR_040411", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggctattgtatgtacagttcacaccattctcgtgtgtgtgtgt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Gm11549", - "molecule_id": "NR_040411", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acagcctacgtactggccaagccgagggagaagaaacacttcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ctxn1", - "molecule_id": "NM_183315", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gactcacattggacgctgcctacctataatgcacggtacagtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ctxn1", - "molecule_id": "NM_183315", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agggcgttcggagaagtccagtccttacctaccttagctacccat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ctxn1", - "molecule_id": "NM_183315", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgttcgccttcgtgctctgcctgctcgtggtgttggttctgtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Car4", - "molecule_id": "NM_007607", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aacttcctccagtaatggcccacttctggatatctgacctctga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Car4", - "molecule_id": "NM_007607", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaaggacaagtttgcagtgctggcatttatgattgaggtaggag", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Car4", - "molecule_id": "NM_007607", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaatgacaacggttcagagcacagtattgatgggagacactttgc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nfib", - "molecule_id": "NM_008687", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atgacatgaactctggtgtgaacctgcagaggtcgctgtcttct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nfib", - "molecule_id": "NM_008687", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gagtatccagaacacccataacccagggaactggagtcaacttcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Nfib", - "molecule_id": "NM_008687", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acaatcaggaagtccaagccacagtgatcctgccaagaatcctc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Id2", - "molecule_id": "NM_010496", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aaggaattgcccaatgtaagcagactttgccttttcacaaaggtgg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Id2", - "molecule_id": "NM_010496", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcggaaggaaaactaaggatgatcgtcttgcccaggtgtcgttct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Id2", - "molecule_id": "NM_010496", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acccgatgagtctgctctacaacatgaacgactgctactccaagc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Igfbp6", - "molecule_id": "NM_008344", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcctttgccagtgtctccagatggtcaaggaagcactcagtg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Igfbp6", - "molecule_id": "NM_008344", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgggctctatgtgccaaactgtgacctcagaggcttctaccg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Igfbp6", - "molecule_id": "NM_008344", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aggagtgtacagggcaaaaactctgaccatgacctgggatgggct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Itpka", - "molecule_id": "NM_146125", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cttcgtgcatgaccattgccatcgtgctggtgtgtggctcatc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Itpka", - "molecule_id": "NM_146125", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gcctacagcagatccgggataccctggagatctctgatttcttt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Itpka", - "molecule_id": "NM_146125", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acgaagccgagagcaagtgacccgtgtctttgaggagttcatgca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ptprd", - "molecule_id": "NM_001352630", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccgccttgttaatattatgccatatgaatccacaagggtgtgcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ptprd", - "molecule_id": "NM_001352630", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atccatgatgcactgttagaagcagtgacatgtggaaataccgaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ptprd", - "molecule_id": "NM_001352630", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aatcctccagatgcagggccaatggtggtacactgcagtgctggt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sv2b", - "molecule_id": "NM_001109753", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tttggcaacagcgagtctgcgatgatcggctggcaatgcctgtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sv2b", - "molecule_id": "NM_001109753", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gctcatggacagaattggaagactcaagatgattggcggctccat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sv2b", - "molecule_id": "NM_001109753", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ggactttgaagaggacaatgattttctgatttacctcgtcagct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Vxn", - "molecule_id": "NM_178399", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ctgagcatctgaccctcatgtccaaacatagtctggacacttgg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Vxn", - "molecule_id": "NM_178399", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acatggcggtaagtcaaacccagacttccaggctcttgcctt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Vxn", - "molecule_id": "NM_178399", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgaactgtttgggtatcaggcttgcttctgctgttctgtggattct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Reln", - "molecule_id": "NM_001310464", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aggagttctactgcgctggtggcagccacgccacaatggaaca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Reln", - "molecule_id": "NM_001310464", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atcacctggcacgtcatcgctcagcaccagccgaaggacttcaca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Reln", - "molecule_id": "NM_001310464", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cactcgagcaagcaaaattatgtttgtcttgcaaattgggagcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rprml", - "molecule_id": "NM_001033212", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aacgaagtacctcgcaccacccgggtctggacaccataggact", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rprml", - "molecule_id": "NM_001033212", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cttgccagagttgaagcaccgcgaggaagagactacggagcct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Rprml", - "molecule_id": "NM_001033212", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tcaagtccgagagcatgatcaactttctgatgcaggagcgcagg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cnr1", - "molecule_id": "NM_007726", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gagacatgctttccgcagcatgttcccttcatgtgaaggcact", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cnr1", - "molecule_id": "NM_007726", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgaacaagcttatcaagacggtgtttgccttctgtagtatgctct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cnr1", - "molecule_id": "NM_007726", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atccagcgtggaacccagaaaagcatcatcattcacacctcaga", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cacna2d3", - "molecule_id": "NM_009785", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaatcccttaagtgtgaacggttaaaggctcagaagatcagacgac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cacna2d3", - "molecule_id": "NM_009785", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tggtggtggacagtagctgtctctgtgagtccgtggctcctata", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Cacna2d3", - "molecule_id": "NM_009785", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agaccacagggaacattgcttgcgaagactgctccaagtcct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Plpp4", - "molecule_id": "NM_001080963", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaggagtgattggcctcatttttgcctatatttgctacagacaac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Plpp4", - "molecule_id": "NM_001080963", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgctgccatcttgcccttgtactgtgccatgatgatcgccct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Plpp4", - "molecule_id": "NM_001080963", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ttctcgggcctcggtttcacaacattctacctggctggcaagc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Adcy2", - "molecule_id": "NM_153534", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caataagcactccttcaacgacttcaaacttcgagtgggtatcaac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Adcy2", - "molecule_id": "NM_153534", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "atacatggcagccacgggtctgagtgctgtacccagtcaggagca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Adcy2", - "molecule_id": "NM_153534", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aggagttgtaccaccagtcctacgattgtgtctgtgtcatgtt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnip4", - "molecule_id": "NM_030265", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgcctagtgacgcttattaacaagtaaccctaacagcagtaaagg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnip4", - "molecule_id": "NM_030265", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ccatgcagctctttgaaaatgtgatctagaatgtcagcacctcctc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Kcnip4", - "molecule_id": "NM_030265", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gaagatgagctggagatggctactgtcaggcatcggcctgaa", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sparcl1", - "molecule_id": "NM_010097", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caggatcttgacacactctgaacttgctcctctgcgagcttccct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sparcl1", - "molecule_id": "NM_010097", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cggatgagagactggctcaaaaacatcctcatgcagctttatgaac", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sparcl1", - "molecule_id": "NM_010097", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "acaccaactgcagctggattacttcggagcttgcaaatctattc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Brinp3", - "molecule_id": "NM_001145807", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tatgcctgtgagtgagagcagctttccagactgggagcggacta", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Brinp3", - "molecule_id": "NM_001145807", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "actctgcaagcctgaagtcgctgagtcaaccgatcactacattg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Brinp3", - "molecule_id": "NM_001145807", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gctctttagccttagcaaacggtgccacaagcagcctctcatca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Snrpn", - "molecule_id": "NM_013670", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caagccaaagaatgcaaaacagccagaacgtgaagaaaaacggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Snrpn", - "molecule_id": "NM_013670", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "agaggtggttaaagcagtattgcaacttcaaggtggtggaattca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Snrpn", - "molecule_id": "NM_013670", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caagagtgtcacttgtacccacgacgttctcagcaacagcaagt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ly6c2", - "molecule_id": "NM_001099217", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gccatttagttgtggatctctattcttggccctggaggcatgt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ly6c2", - "molecule_id": "NM_001099217", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tcctgttgcagcgaagacctctgcaatgcagcagttcccact", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Ly6c2", - "molecule_id": "NM_001099217", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caaagaaggaaactaaagacccgtcagtgcctttctttctgcc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Npy", - "molecule_id": "NM_023456", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gtctgcctgtcccaccaatgcatgccaccactaggctggact", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Npy", - "molecule_id": "NM_023456", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cattctggctgaggggtacccctccaagccggacaatccg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Npy", - "molecule_id": "NM_023456", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "cactacatcaatctcatcaccagacagagatatggcaagagatcca", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Tesc", - "molecule_id": "NM_021344", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "caagatgcacattcgtttcctcaacatggagaccatcgccctct", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Tesc", - "molecule_id": "NM_021344", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "aatgtggtggaggagctgctctcgggaaaccctcacattgaaaagg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Tesc", - "molecule_id": "NM_021344", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "tgactatcatgtcctacttccggcccatcgacaccaccctggg", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sst", - "molecule_id": "NM_009215", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gggaaacaggaactggccaagtacttcttggcagagctgctgtc", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sst", - "molecule_id": "NM_009215", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "gagcccaaccagacagagaatgatgccctggagcccgaggattt", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - }, - { - "molecule_name": "Sst", - "molecule_id": "NM_009215", - "subcellular_structure": { - "text": "cytoplasmic" - }, - "probe_sequence": "ttcttggcagagctgctgtccgagcccaaccagacagagaat", - "assay_type": { - "text": "in situ sequencing" - }, - "multiplexed": "yes" - } - ], - "channel": [ - { - "channel_id": "nissl", - "excitation_wavelength": 440.0, - "filter_range": "455-515", - "multiplexed": "no", - "target_fluorophore": "Neurotrace 435/455", - "exposure_time": 400.0 - }, - { - "channel_id": "G", - "excitation_wavelength": 514.0, - "filter_range": "525-575", - "multiplexed": "yes", - "target_fluorophore": "Illumina G", - "exposure_time": 1000.0 - }, - { - "channel_id": "T", - "excitation_wavelength": 561.0, - "filter_range": "580-650", - "multiplexed": "yes", - "target_fluorophore": "Illumina Y", - "exposure_time": 240.0 - }, - { - "channel_id": "A", - "excitation_wavelength": 640.0, - "filter_range": "661-691", - "multiplexed": "yes", - "target_fluorophore": "Illumina A", - "exposure_time": 500.0 - }, - { - "channel_id": "C", - "excitation_wavelength": 640.0, - "filter_range": "705-845", - "multiplexed": "yes", - "target_fluorophore": "Illumina C", - "exposure_time": 1000.0 - } - ], - "provenance": { - "document_id": "96ecb94d-e848-4d7b-8df9-f19af6ab17b8", - "submission_date": "2019-04-03T10:13:40.043Z", - "update_date": "2019-04-03T10:13:45.902Z" - } - }, - "imaging_preparation_protocol/a6d431b0-4373-4eaf-a3af-8c3fe461ab38": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/imaging/2.0.3/imaging_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "zador_baristaseq_1", - "protocol_name": "BaristaSeq for genes", - "protocol_description": "BaristaSeq for targeted endogenous mRNA sequencing without gapfilling" - }, - "imaged_slice_thickness": 20.0, - "final_slicing_method": "cryosectioning", - "fiducial_marker": "rolonies", - "expansion_factor": 1.0, - "provenance": { - "document_id": "a6d431b0-4373-4eaf-a3af-8c3fe461ab38", - "submission_date": "2019-04-03T10:13:40.034Z", - "update_date": "2019-04-03T10:13:45.426Z" - } - }, - "collection_protocol/caf94c25-8327-4379-b88e-2a6642cd7513": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/9.0.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "col_protocol_1", - "protocol_name": "Fresh frozen mouse brain embedded in OCT", - "protocol_description": "Fresh mouse brain was dissected and embedded in OCT, frozen, and stored at -80C." - }, - "method": { - "text": "organ extraction", - "ontology": "EFO:0009124", - "ontology_label": "organ extraction" - }, - "provenance": { - "document_id": "caf94c25-8327-4379-b88e-2a6642cd7513", - "submission_date": "2019-04-03T10:13:40.027Z", - "update_date": "2019-04-03T10:13:45.505Z" - } - }, - "process/da265acd-5601-49c5-855e-d792d51b4042": { - "process_core": { - "process_id": "zador_baristaseq_1" - }, - "schema_type": "process", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/7.0.0/process", - "provenance": { - "document_id": "da265acd-5601-49c5-855e-d792d51b4042", - "submission_date": "2019-04-03T10:13:42.362Z", - "update_date": "2019-04-03T10:14:03.513Z" - } - }, - "process/07acb7d0-3f1c-47f7-9ef9-851c4f1caaec": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/7.0.0/process", - "provenance": { - "document_id": "07acb7d0-3f1c-47f7-9ef9-851c4f1caaec", - "submission_date": "2019-04-03T10:13:42.335Z", - "update_date": "2019-04-03T10:13:53.863Z" - } - }, - "process/fee8a188-5783-44cd-a1c1-ed9d5d7c32a9": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/7.0.0/process", - "provenance": { - "document_id": "fee8a188-5783-44cd-a1c1-ed9d5d7c32a9", - "submission_date": "2019-04-03T10:13:42.326Z", - "update_date": "2019-04-03T10:13:53.834Z" - } - } - }, - "links": { - "describedBy": "https://schema.staging.data.humancellatlas.org/system/1.1.5/links", - "schema_type": "link_bundle", - "schema_version": "1.1.5", - "links": [ - { - "process": "da265acd-5601-49c5-855e-d792d51b4042", - "inputs": [ - "87f58f88-ef8b-4323-bd19-cde1a2497b59" - ], - "input_type": "biomaterial", - "outputs": [ - "6baa3aff-b2a5-4e49-82f7-25c108a6107a", - "06dcfc33-21da-485f-8e50-49d294713a9e", - "404dd50b-4bc9-4c82-8c18-f53c68eed2fc", - "5ceb5dc3-9194-494a-b1df-42bb75ab1a04", - "76e52f76-ede7-4088-b7f6-d6e5f6152292", - "2e496fe6-f500-4e27-b7f5-3c87fe43bbe5", - "be66141d-84a3-457d-a8d2-2f0da8c91dff", - "680cf532-ef0c-4155-b44d-a6ec3920743a", - "08609f14-cf43-4188-b743-4a0b55b17347", - "d10827a1-38f7-457d-9c9f-695f2fc7689c", - "6f8eb2e5-7a0c-4c98-8da0-276457357071", - "ca480df3-71bb-4634-8f71-b6a75aeb9f05", - "03ae5f5e-65ac-4491-b0ce-eefc940e0224", - "ff117ecb-767e-4e72-baa9-2bda4fcd3e62", - "887f3d73-94d2-44ac-9047-67aca5225882", - "896dfacd-206b-4e4f-a846-ba5b070060d9", - "23303c88-01b1-47d0-b770-dca6802caa13", - "3c1a388d-0577-4417-9cd2-ff33bfed9140", - "67e71b34-7157-4a37-b495-0d740772b480", - "cd3e5e62-6145-42d9-9a5b-046e1b49cf26", - "5fbcb75e-3ee3-4429-8ede-b243afa0789f", - "09226b24-6b11-4e4f-8052-2b544be461aa", - "f67473fd-fbf8-4d69-9db1-556938ab5b87", - "16acc1f2-9f1c-43c8-8ffe-4a9ea674e6ff", - "017a2c88-4f6e-418e-bb96-f42f3a220f87", - "30305240-004d-4632-84d4-37d7e7378782", - "20c5a14a-aaf3-40e1-9ab7-f95c06ea4200", - "3fd2781b-6855-4eaa-b2fb-81db386adb18", - "40474d53-44a4-4ab2-9f20-61b71291f8aa", - "aaa97d47-7124-4763-a3fc-f6d66eb6d990", - "4adbed13-1cb6-4405-b892-fe8165050691", - "2bbf0125-b9cc-4413-8dd7-78ea72beaa17", - "5402916f-6de1-4842-8585-fc25c153992b", - "75b78bfc-8d15-4a07-a07a-c62ae6d656b5", - "8a78224e-4106-41d4-96cb-4d9a8b9ecad2", - "cb92dd92-570c-4075-8893-eb19dbd837b8", - "b36948c4-0646-42be-9db2-16626a757343", - "c974f4eb-27b8-4ec3-913e-a6eb19572a51", - "febb760d-1e9e-4432-9b88-ce2869a43c44", - "054f40a4-68d0-41db-81e9-00239042d9fa", - "ec7f06aa-e4f9-4f4f-afd1-0ecd39b2e3f5", - "819e3227-cc54-4919-95af-c1f8194bf729", - "b1e2b9d1-6973-41dc-acdf-95474303561f", - "41ffc783-5ad4-4197-8fd1-c029903c43c0", - "ec9c70f0-3ed8-461c-ad0b-2475bd48ac8f", - "9014bbaf-a047-4b69-8e28-8356cc99f84e", - "f7acf90c-2b32-463b-b832-8daa8529f727", - "fae4f8b8-e6ad-4c1f-8126-e03ba8aca46e", - "db22deab-498a-409c-8386-5bf4e60a080c", - "07d600bc-0d55-4a8d-9a48-390fc4169845", - "d0a032bb-cd0e-4873-b346-5cb19e45c202", - "a161f60f-af92-4b09-9df0-dd7ff2bf571a", - "25c6b755-7f62-49a3-a1b5-aafbc772b5dd", - "f10fd9e2-5747-4d7a-8c0c-beba81749011", - "553b6aab-4745-45f8-98ab-de6aadbf48e4", - "3572abe9-6e42-4266-8671-ff24b592065c", - "6882abf6-c247-4167-a18d-e3fec24bcba2", - "15f8b73e-937c-444d-8362-fdf458abb651", - "33b4e374-20ad-4fee-b682-aaa4fc12bec2", - "0e83c507-2211-4561-b75a-92326fb2d4fd", - "912c55cf-0774-4838-8874-352766984715", - "b2f32e7c-fea2-44c2-a6ae-832c1c7b9e37", - "5b8e3d96-e625-46b6-9689-110fa84fd721", - "de43f9bc-ddec-4326-9cb1-7b9c5f76a84f", - "6f3272d7-4a62-4a3c-8c44-11dda8756956", - "168422c5-e89d-466c-9085-f29c02160143", - "7331367a-cc43-4af0-8750-a2921d513f97", - "edf83a09-2e60-4571-b650-abf4c7ff757b", - "24bdb70c-4bd1-41e0-b5c2-a3a2e0e4ce5b", - "be9d12b6-f8dd-407c-b1d7-844deb6a5023", - "e3e59792-61e3-4bf0-a985-2acec75acafd", - "095ee09c-1605-4c07-9324-b5382f20b78e", - "77b96424-accb-4c6b-884c-756f2bb40929", - "a0c2a5b4-7cc2-47f5-97a7-6b59019155da", - "78518dc1-d38e-4230-88b8-887bdd83f965", - "652dd3c5-6467-41ee-89b3-e4b3361fb533", - "cae3d214-d485-4350-8cd2-f4142aca4aef", - "2ab7ea06-08e0-4669-88e0-23c1e74a3b49", - "de282263-0944-48d4-9819-6182636c76bd", - "bfdbe9b5-42ac-419a-b297-843095de2cc2", - "0ef6ffa4-e40f-476c-8ac9-10732ef6e42d", - "e2763cda-3236-487e-9944-5169c0cb8856", - "37018bd8-8537-47c3-a5a9-efb43552f30c", - "a6c9b1ce-2054-4a48-b262-bb0723b8a567", - "8319ee38-f199-49d7-989a-25b451656b38", - "022841b6-8b7c-4d0c-b65f-06ba14253540", - "299dfbe5-05f5-48a7-816b-61036f0e435a", - "6b8b11aa-3600-4a63-a980-93465e681c9c", - "35716168-df43-4273-b52f-72e3d18a47bc", - "6be783ec-c132-4e09-90e0-0958efaf6619", - "a11956c9-c24e-4efb-8af8-1167b3081e70", - "b69a349b-0e07-4fbe-9e3b-9f2cea828b96", - "753c2a57-b5f1-4984-b874-b2b10d582847", - "e0b93b3d-075b-482b-838a-e36d8849607b", - "96c8ed8d-8bd6-49f3-b97b-025b0d6bc9ec", - "c647964a-7796-4dd2-9fa8-b23f012ac14e", - "87a63649-9834-49b8-89a0-310211c1b5b3", - "b2eb5b20-fd1a-403c-8b55-9eec5972d482", - "4b3b36cb-cd90-4526-978d-2e7e8f7add39", - "cdc774f8-3310-4f1f-8c67-03579c253640", - "607370e0-7e7e-4d25-ba5c-957c00a73ac1", - "3240d7ab-568b-4be5-adba-3178b3e8f85e", - "c0b6ee98-677a-41d9-9d80-9ac63d251b08", - "f34c01ec-06df-49e6-bc2f-c50c7f398851", - "2047311b-f3ee-4137-8338-a45166e01d53", - "44ea335a-1991-4504-be12-04f1a332ddfb", - "59f3d0ab-1fe1-4cc8-b343-c12b520d769d", - "58f9fb1a-b6be-42c4-98ed-a5c091a3c716", - "6af3cb41-9e64-4b11-b272-be87adf0fa94", - "7541d176-dfba-4e05-ba45-0c6964271dff", - "8ee1e829-a507-40a5-87ac-7fd8379b87ce", - "8e57554a-abb2-4664-87b6-a397f4da6555", - "88fa5ec5-db7d-49bf-8c7e-86f348fbc84c", - "a2b4ab97-84bd-4808-884d-bd8cc5e7b922", - "56c83f8e-3ef2-4a3a-b808-52cc1e96ac8e", - "8af22b64-2c3f-4aad-a2d5-5d9b122a7b1c", - "f0cb4244-e19a-46a0-89f1-04143548872d", - "73074f55-d009-41a2-929e-6fd9949bb1dd", - "0c2a3965-fbd7-4dc2-bcf0-9c51650a7331", - "3774ecbd-d397-4b46-ba08-a7cbc6da0c07", - "146231bb-1b13-4db5-8157-9d9962cc3a3a", - "1d1b3f27-4f67-4338-bb36-173fd6ecf14b", - "7fe17380-3090-4fc3-9504-02b3f8ed95b6", - "fc405b01-60ca-436f-a06c-2f38f7156a87", - "bae92b53-c6c7-4712-865e-6cff3cba506e", - "83662ec5-a202-42ab-9a47-a701d4f19de3", - "a04957c6-8ce8-4fa6-950d-71812ff3d698", - "9284d3a4-73bd-4aa0-847c-ab273d14185a", - "4d664562-c333-4aaf-bb8b-641e0568733e", - "b533685d-3c60-4483-841b-a054f0a69fec", - "3f14c88e-58db-4f76-b6e0-4b483ded1ca3", - "32d0b267-f399-408a-b35f-f1ebc7d0fc1f", - "3e8510c9-7e31-49bd-bb90-cb55577c2f25", - "463aff9a-ec7e-40d0-be42-c6686af9130d", - "02ddb50f-4a97-4fbc-ac08-32cd5f0fb319", - "868efb99-df36-462b-91a2-bb6ca27e842a", - "dd124d84-cb44-42e6-88d8-0d97fcb2c0f1", - "36ded48a-869f-4fa8-971f-56bc28298276", - "b62567c9-27d5-49b9-aa2e-7e9e1513dcb4", - "e72742a4-23ba-4e5d-a29b-ad449abe8101", - "cd6e1096-f8c3-4eda-957d-b09741d60901", - "903ea376-5153-4fb8-8ffa-e2948951409c", - "89c5fc1e-9d18-4a6b-9025-ea0b75d01adb", - "8381d167-c4dd-49a2-b5df-1ae815bbe42e", - "9be80be6-ee45-49d5-8d3d-a6df8f0383f6", - "cf305c60-bb2c-41af-82bf-0631c2a7b0be", - "074290a9-35e1-422f-a3af-e5ed58781b4d", - "0c49b3ca-bb47-41d9-a58c-e5ea79f673c3", - "783c4def-7dc3-40a6-aa9e-a3f92a2dffba", - "5165cc56-ff89-42bf-b000-fec4bd57176e", - "545be634-5893-45e0-93b2-dd4ea93e00db", - "2d2e58c6-7c24-4089-bbe9-d47b7482be46", - "e4ce035a-f9e2-459f-8ecf-ce138ea00b34", - "81214e49-318f-4221-bf2c-4ef00cfa916b", - "7fc97754-1121-468b-b1e4-839bde86b6c8", - "7d70d44c-b5d7-47be-9687-e9a775e86251", - "ddb4f9d4-f2a1-42a5-87fa-e818071a5b33", - "b7607809-e975-4c32-bff7-375cb2d8276f", - "b8a6c863-626d-4fbf-863b-610cffaac37d", - "45077a5c-ee96-47c0-a84f-9d46cf799338", - "49d82b74-6f1a-415c-93ab-958c60f083b6", - "753b51b7-a909-44e7-bb21-cf2cd18328f8", - "c7ab6349-b2bb-4ba3-9c9b-27d270550052", - "7be770fc-4a56-4f82-a4cf-3cf908d54dca", - "3f5f8537-c1af-4d2e-a732-53b6d4275588", - "3820feac-72c4-49c5-a5a0-773f4e5ee3c1", - "f986c2c2-2823-45a0-80cf-5e6f67958afb", - "7d17d6d6-d038-40c6-b965-6de41ce9c931", - "3d208b38-62c8-492d-9434-21bb66ead16e", - "9a982898-77c6-4a56-8e54-9cb83ff0b235", - "1bdd91d7-0a1a-488d-ab9c-78eba7a6daa3", - "24b6366f-03ce-4e4d-b50f-90687f3e2b94", - "ec1d0987-fb49-48b8-aaeb-321c659fb67f", - "e756ce65-ad72-42e6-a8cc-9c1bac781ce5", - "6fbcb1c7-ce98-46db-8054-b451b6bca205", - "c225fa8c-e8c8-46a4-bf23-720e2cf1c9ac", - "aa6fca0d-6a70-4016-a0e4-307878e9ff45", - "ee62cd8d-fb93-4082-980b-213c7a8a0c47", - "bbd60a79-3572-42c0-8e53-b0c566a72f06", - "bf585666-2fb4-4ad5-a9b3-b268a9953ed9", - "52548ff8-5bbd-4b1c-9c52-4e5d82f846e2", - "240a67cc-e827-41bf-8ac8-a66bc2797f13", - "7a9b6534-fa1d-4282-a064-11e60e57a322", - "b0af6371-4379-45f0-8c09-f6610833fc46", - "f5ce7a96-cfc0-42c4-852b-386f9a27111d", - "8bc05db7-bd23-4a10-9761-96be7b8ef9ee", - "3dff4add-7d6f-418c-afba-e46864af51d2", - "ab2b7c67-8f13-4388-acd7-e2abb0091f30", - "d9912d93-3d92-48d2-9f75-826fbba3d94e", - "8b37aba2-be5e-4963-8e6f-51a2df8e143e", - "81c0e4e2-9021-4c4d-9876-1ed5b78ca7a7", - "2d7e88dd-bddd-4289-9556-27d301be0b83", - "0c1c578d-d4cc-40bb-a54d-d1d4d004373f", - "9dc0ead3-f17a-4bb8-88e2-87f779029ff8", - "f618a8bc-5e07-477f-a6d3-1b0af8c81ff0", - "e834d3df-8432-40ba-b67d-c7cd0bd7328d", - "d8908d6d-5daa-454d-9082-726054cfddc1", - "c5a7142e-4702-4e84-b7aa-239df2a71ba8", - "f69e44ef-cf23-4571-8dad-e44222697974", - "ea72f81c-2c58-43e2-acca-294254f470f7", - "89d1d2b5-81d3-487d-9fc1-d8b1d8ac34ab", - "6928ac1b-fd1d-436c-bfc6-4087c65809d7", - "07a7b938-435b-4804-b140-c255957b6532", - "3d532a7b-55e7-4461-afbc-65ef76403384", - "bab40245-28bd-49a2-8be0-ba109fe41c91", - "9d577bd4-3a27-48be-ad7c-8c44cf803cda", - "c4de7605-fec5-4389-bb9e-f2ea0c41cdef", - "21a043b6-6dde-41b9-b20e-74b961da8b88", - "11280200-1803-4110-aa84-2808776c2d50", - "86df5269-576b-4d18-a0ce-6e2b2a36d51b", - "e524ff4e-95fa-4561-bfd3-276cba79e664", - "3d5737da-b1ab-48cb-a26f-d420e53edccd", - "44cf15ec-3d4e-4698-bb14-107c34891191", - "6242cdf3-fd6d-4479-a08a-1747818fd978", - "bc60bbd4-8b09-425c-b507-9da24a84f412", - "1f054ccf-f8dd-4127-a6f8-c577d7dd93dc", - "9954cb4b-b0a4-4479-b31d-0bee1e75d9c7", - "5f67c32c-a154-4620-8603-0b64979b04a4", - "7d5bffb2-8bf9-4366-a8b2-762ebb4d6c5d", - "dcee6df0-9e87-4935-8873-f8d30d449d76", - "7d6bdde6-523f-46cb-bed5-d6cfa8fea80c", - "e6d00b0c-3641-4ec4-a553-8fd742193dba", - "e5034863-0528-4f55-be95-c8501c29f9fe", - "cc61b14a-59d9-477b-8cb1-43c4ee4cf434", - "33d332c9-aefe-4db5-8830-b8daddaed0d2", - "bb3b6fc7-0902-432d-bad1-6b3f61951314", - "2b734e88-3a33-4c73-92bb-82e0b8f8c13b" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "imaging_protocol", - "protocol_id": "96ecb94d-e848-4d7b-8df9-f19af6ab17b8" - } - ] - }, - { - "process": "07acb7d0-3f1c-47f7-9ef9-851c4f1caaec", - "inputs": [ - "edd1d525-a6ae-4658-a6bf-6c31d7ab6948" - ], - "input_type": "biomaterial", - "outputs": [ - "87f58f88-ef8b-4323-bd19-cde1a2497b59" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "imaging_preparation_protocol", - "protocol_id": "a6d431b0-4373-4eaf-a3af-8c3fe461ab38" - } - ] - }, - { - "process": "fee8a188-5783-44cd-a1c1-ed9d5d7c32a9", - "inputs": [ - "6cb9fc09-7755-4a35-b6b1-0d6fe696b2d4" - ], - "input_type": "biomaterial", - "outputs": [ - "edd1d525-a6ae-4658-a6bf-6c31d7ab6948" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "caf94c25-8327-4379-b88e-2a6642cd7513" - } - ] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/97f0cc83-f0ac-417a-8a29-221c77debde8.dss.hca.json b/test/indexer/data/97f0cc83-f0ac-417a-8a29-221c77debde8.dss.hca.json deleted file mode 100644 index 9ed3612b5f..0000000000 --- a/test/indexer/data/97f0cc83-f0ac-417a-8a29-221c77debde8.dss.hca.json +++ /dev/null @@ -1,764 +0,0 @@ -{ - "manifest": { - "sequence_file/430755e7-2263-4b5b-ad65-b3231c0eb61d": { - - "name": "E8.75_anterior_Rep1_barcodes.fastq.gz", - "uuid": "1fdcd06c-ea5b-4e5a-b382-ae42dcfc8aca", - "version": "2019-10-14T19:54:43.781599Z", - "content-type": "application/gzip; dcp-type=data", - "size": 13821505999, - "indexed": false, - "crc32c": "c1434012", - "sha1": "762b513861afa22a3ba10f563d8e06ddfc64c032", - "sha256": "94d28c18eb39cd1ed4d76c08af4d5bfabb38f2e96705b7c095665202a84b975c", - "s3_etag": "469cb924ee6fc974b5cf1e23992c2930-206" - }, - "sequence_file/d53454df-9542-4c64-9f84-0d798d923777": { - "name": "E8.75_anterior_Rep1_genomic.fastq.gz", - "uuid": "e8f4a1a6-bd63-49d8-848d-160782b33e4e", - "version": "2019-10-14T19:54:43.923029Z", - "content-type": "application/gzip; dcp-type=data", - "size": 51709440945, - "indexed": false, - "crc32c": "f76e03b5", - "sha1": "b3cc582d7e93e21cd4af723832af30deb95d8603", - "sha256": "bec2df465ef1ab7de6e75b403dc8f10a2e524be2ceefc78fd409007c175d558d", - "s3_etag": "f82998df8a181bafcef0d156bba05079-771" - } - }, - "metadata": { - "cell_suspension/5ea17576-5f1d-4879-97a1-6a868ccb2b0b": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "E8.75_anterior_Rep1", - "biomaterial_name": "E8.75 anterior guttube", - "biomaterial_description": "Anterior gut tube from E8.75 days post fertilization", - "ncbi_taxon_id": [ - 10090 - ], - "genotype": "Afp - GFP" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "estimated_cell_count": 3869, - "provenance": { - "document_id": "5ea17576-5f1d-4879-97a1-6a868ccb2b0b", - "submission_date": "2019-10-14T19:20:08.838Z", - "update_date": "2019-10-14T19:20:23.081Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "specimen_from_organism/d9b27804-1763-410b-9f19-995a363fe488": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "e8.75_guttube_rep3", - "biomaterial_name": "E8.75 gut tube", - "biomaterial_description": "Gut tube at 8.75 days post fertilization", - "ncbi_taxon_id": [ - 10090 - ], - "genotype": "Afp - GFP" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "gut tube", - "ontology": "UBERON:0007026", - "ontology_label": "presumptive gut" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "d9b27804-1763-410b-9f19-995a363fe488", - "submission_date": "2019-10-14T19:20:08.685Z", - "update_date": "2019-10-14T19:20:15.954Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "donor_organism/587d1170-aa27-4b06-9c15-b51846d14588": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "donor_6", - "biomaterial_name": "pregnant mouse E8.75 Afp-GFPTG/+12 mouse", - "biomaterial_description": "Mouse with Afp GFP reporter", - "ncbi_taxon_id": [ - 10090 - ], - "genotype": "Afp - GFP" - }, - "mouse_specific": { - "strain": [ - { - "text": "Afp - GFP mouse", - "ontology": "EFO:0010081", - "ontology_label": "Afp-GFP" - } - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "sex": "female", - "is_living": "no", - "organism_age": "4-6", - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "early adult stage", - "ontology": "EFO:0001272", - "ontology_label": "adult" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "587d1170-aa27-4b06-9c15-b51846d14588", - "submission_date": "2019-10-14T19:20:08.569Z", - "update_date": "2019-10-14T19:20:15.371Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "sequence_file/430755e7-2263-4b5b-ad65-b3231c0eb61d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "E8.75_anterior_Rep1_barcodes.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 26, - "library_prep_id": "E8.75_anterior_Rep1", - "provenance": { - "document_id": "430755e7-2263-4b5b-ad65-b3231c0eb61d", - "submission_date": "2019-10-14T19:20:08.919Z", - "update_date": "2019-10-14T19:25:28.591Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/d53454df-9542-4c64-9f84-0d798d923777": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "E8.75_anterior_Rep1_genomic.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 98, - "library_prep_id": "E8.75_anterior_Rep1", - "provenance": { - "document_id": "d53454df-9542-4c64-9f84-0d798d923777", - "submission_date": "2019-10-14T19:20:08.928Z", - "update_date": "2019-10-14T19:35:40.628Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "project/4e6f083b-5b9a-4393-9890-2a83da8188f1": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Mouse Endoderm Project", - "project_title": "The emergent landscape of the mouse gut endoderm at single-cell resolution", - "project_description": "To delineate the ontogeny of the mammalian endoderm, we generated 112,217 single-cell transcriptomes representing all endoderm populations within the mouse embryo until midgestation. By employing graph-based approaches, we modelled differentiating cells for spatio-temporal characterization of developmental trajectories and defined the transcriptional architecture that accompanies the emergence of the first (primitive or extra-embryonic) endodermal population and its sister pluripotent (embryonic) epiblast lineage. We uncovered a relationship between descendants of these two lineages, whereby epiblast cells differentiate into endoderm at two distinct time-points, before and during gastrulation. Trajectories of endoderm cells were mapped as they acquired embryonic versus extra-embryonic fates, and as they spatially converged within the nascent gut endoderm; revealing them to be globally similar but retaining aspects of their lineage history. We observed the regionalized identity of cells along the anterior-posterior axis of the emergent gut tube, reflecting their embryonic or extra-embryonic origin, and their coordinate patterning into organ-specific territories." - }, - "supplementary_links": [ - "https://github.com/dpeerlab/Harmony" - ], - "insdc_project_accessions": [ - "SRP171031", - "SRP171152" - ], - "geo_series_accessions": [ - "GSE123046", - "GSE123124" - ], - "insdc_study_accessions": [ - "PRJNA507618" - ], - "contributors": [ - { - "name": "Sonja,, Nowotschin", - "email": "nowotscs@mskcc.org", - "phone": "2126398215", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental lead", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Manu,, Setty", - "email": "settym@mskcc.org", - "phone": "6468883486", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Computational and Systems Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": true, - "project_role": { - "text": "computational lead", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Ying-Yi,, Kuo", - "email": "kuoy@mskcc.org", - "phone": "2126398215", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Vincent,, Liu", - "email": "vincent.liu@columbia.edu", - "phone": "6468883486", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Computational and Systems Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "computational scientist", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Vidur,, Garg", - "email": "vig2013@med.cornell.edu", - "phone": "2126398215", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Roshan,, Sharma", - "email": "rs3380@columbia.edu", - "phone": "6468883486", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Computational and Systems Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "computational scientist", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Claire, S, Simon", - "email": "simonc@mskcc.org", - "phone": "2126398215", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Nestor,, Saiz", - "email": "saizaren@mskcc.org", - "phone": "2126398215", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Rui,, Gardner", - "email": "skifccfconsult@mskcc.org", - "phone": "6468882369", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Stephane, C, Boutet", - "email": "stephane.boutet@10xgenomics.com", - "phone": "9252645551", - "institution": "10X Genomics", - "address": "7068 Koll Center Parkway, Suite 401 Pleasanton, CA 94566", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Deanna, M, Church", - "email": "deanna.church@gmail.com", - "institution": "10X Genomics", - "address": "7068 Koll Center Parkway, Suite 401 Pleasanton, CA 94566", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "investigator", - "ontology": "EFO:0001739", - "ontology_label": "investigator" - } - }, - { - "name": "Pamela, A, Hoodless", - "email": "hoodless@bccrc.ca", - "phone": "6046758133", - "institution": "Terry Fox Laboratory, BC Cancer Agency", - "laboratory": "Medical Genetics", - "address": "675 West 10th Avenue Vancouver, BC V5Z 1L3", - "country": "Canada", - "corresponding_contributor": false, - "project_role": { - "text": "investigator", - "ontology": "EFO:0001739", - "ontology_label": "investigator" - } - }, - { - "name": "Anna-Katerina,, Hadjantonakis", - "email": "hadj@mskcc.org", - "phone": "2126398215", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Developmental Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": true, - "project_role": { - "text": "principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Dana,,Pe'er", - "email": "peerd@mskcc.org", - "phone": "6468883486", - "institution": "Sloan Kettering Institute, Memorial Sloan Kettering Cancer Center", - "laboratory": "Computational and Systems Biology Program", - "address": "1275 York Ave, New York, NY", - "country": "USA", - "corresponding_contributor": true, - "project_role": { - "text": "principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - } - }, - { - "name": "Parisa,,Nejad", - "email": "pnejad@ucsc.edu", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "data curator", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - }, - { - "name": "William,,Sullivan", - "email": "wisulliv@ucsc.edu", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "data curator", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - } - ], - "publications": [ - { - "authors": [ - "Sonja Nowotschin, Manu Setty, Ying-Yi Kuo, Vincent Liu, Vidur Garg, Roshan Sharma, Claire S. Simon, Nestor Saiz, Rui Gardner, St\u00e9phane C. Boutet, Deanna M. Church, Pamela A. Hoodless, Anna-Katerina Hadjantonakis, Dana Pe'er" - ], - "title": "The emergent landscape of the mouse gut endoderm at single-cell resolution", - "doi": "10.1038/s41586-019-1127-1", - "pmid": 30959515, - "url": "https://www.nature.com/articles/s41586-019-1127-1" - } - ], - "funders": [ - { - "grant_id": "R01-DK084391", - "organization": "National Institutes of Health" - }, - { - "grant_id": "R01-HD094868", - "organization": "National Institutes of Health" - }, - { - "grant_id": "DP1-HD084071", - "organization": "National Institutes of Health" - }, - { - "grant_id": "R01-CA164729", - "organization": "National Institutes of Health" - }, - { - "grant_id": "P30-CA008748", - "organization": "National Institutes of Health" - }, - { - "grant_id": "MSKCC Society for Special Projects and Functional Genomics Initiative", - "organization": "MSKCC" - }, - { - "grant_id": "RGPIN-2018-05018", - "organization": "NSERC" - } - ], - "provenance": { - "document_id": "4e6f083b-5b9a-4393-9890-2a83da8188f1", - "submission_date": "2019-10-14T19:20:08.530Z", - "update_date": "2019-10-14T19:20:15.147Z", - "schema_major_version": 14, - "schema_minor_version": 1 - } - }, - "library_preparation_protocol/58df9607-ab66-48e0-a47b-1f897baae139": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_prep_1", - "protocol_name": "Single cell library prep", - "protocol_description": "Single cells were spun at 450g for 4 min at room temperature, and cell numbers determined using a Neubauer hemocytometer. For pre-implantation embryo dissociations, embryos were incubated in 0.5% Trypsin-EDTA (Invitrogen) at 37\u00b0C for 3 minutes before transferring to PBS supplemented with 0.5mM EDTA (Invitrogen) and 4% BSA (Sigma) for mechanical dissociations. Trypsin-treated embryos were dissociated by trituration with pulled capillaries and mouth-pipetting. Dissociated cells were stored in FHM on ice until loading on a Chromium Controller (10x Genomics). Cells were counted and diluted to a final concentration in DMEM/F12, 10% Fetal Bovine Serum in Single Cell Master Mix (10x Genomics). Cellular suspensions were loaded on a Chromium Controller54 targeting a 2,500-10,000 cell range, depending on tissue type and embryo stage, to generate single cell 3\u2019 RNA-seq libraries, in duplicate or triplicate. Single-cell 3\u2019 RNA-seq libraries were generated following manufacturer\u2019s instructions (10x Genomics Chromium Single Cell 3\u2019 Reagent Kit User Guide v2 Chemistry)." - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16, - "white_list_file": "barcode_whitelist_file.txt" - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_method": { - "text": "10X v2 sequencing", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "first", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "library_preamplification_method": { - "text": "in vitro transcription" - }, - "cdna_library_amplification_method": { - "text": "PCR" - }, - "nominal_length": 800, - "provenance": { - "document_id": "58df9607-ab66-48e0-a47b-1f897baae139", - "submission_date": "2019-10-14T19:20:08.904Z", - "update_date": "2019-10-14T19:20:14.102Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "sequencing_protocol/6282594c-1b9d-4f26-a4f3-a26066878740": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1", - "protocol_name": "Sequencing protocol", - "protocol_description": "Single-cell 3\u2019 RNA-seq libraries were quantified on an Agilent Bioanalyzer with high sensitivity chip (Agilent), and Kapa DNA quantification kit for Illumina platforms (Roche). Libraries were pooled according to target cell number loaded. To determine the exact number of cells in each library, libraries were sequenced at low depth (2,000 reads per cell) and short reads (40 bp). Sequencing libraries were loaded at 12 pM on an Illumina HiSeq 2500 with 1x Rapid SBS kit v2 (50 cycles) using the following read length: 26 bp Read1, 8 bp I7 Index and 40 bp Read2. After sequencing, the number of cells in each single cell 3\u2019 library was calculated using the Cell Ranger analysis pipeline V2.1 (10x Genomics). Library pools were re-made according to the actual number of cells determined in each library for sequencing at a depth of ~200,000 reads per cell and the capacity of an Illumina NovaSeq flow cell. New pools were loaded on an Illumina NovaSeq 6000 using 2x NovaSeq 6000 S2 reagent kits (200 cycles) and 1x NovaSeq 6000 S4 reagent kits (300 cycles) using the following read length: 26 bp Read1, 8 bp I7 Index and 98 bp Read2." - }, - "instrument_manufacturer_model": { - "text": "Illumina Novaseq 6000", - "ontology": "EFO:0008637", - "ontology_label": "Illumina NovaSeq 6000" - }, - "paired_end": true, - "method": { - "ontology_label": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440", - "text": "tag based single cell RNA sequencing" - }, - "10x": { - "fastq_method": "Cellranger mkfastq", - "fastq_method_version": "Cellranger 2.1" - }, - "provenance": { - "document_id": "6282594c-1b9d-4f26-a4f3-a26066878740", - "submission_date": "2019-10-14T19:20:08.910Z", - "update_date": "2019-10-14T19:20:14.184Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - }, - "dissociation_protocol/3f9fda53-2b30-47bb-8c92-4e131920b2e3": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "protocol_name": "Gut tube dissociation into single cells", - "protocol_description": "To obtain single cells from E8.75 embryos, Afp-GFPTG/+ embryos were dissected, with extra-embryonic membranes and heads removed. Torsos were washed in three drops of DMEM/F12 on ice and incubated in Pancreatin/Trypsin (2.5% Pancreatin / 0.5% Trypsin in PBS) for 5 min (exact time was batch-dependent and empirically-tested) on ice, then washed in three drops of DMEM/F12, 10% Newborn Calf Serum on ice. Gut tubes were isolated using Tungsten needles (FST Cat No. 10130-10) and washed in ice-cold DMEM/F12. Gut tubes were incubated for 20 min at 37\u00b0C in Accutase/0.25% Trypsin (1:2) for dissociation into single cells." - }, - "method": { - "text": "enzymatic dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "provenance": { - "document_id": "3f9fda53-2b30-47bb-8c92-4e131920b2e3", - "submission_date": "2019-10-14T19:20:08.883Z", - "update_date": "2019-10-14T19:20:14.122Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "collection_protocol/e95ebc23-53b9-48a0-acd4-185969122f2d": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "protocol_2", - "protocol_name": "Collection of post implantation embryos", - "protocol_description": "Mice were housed under a 12-hour light/dark cycle. Natural matings were set-up between males and 4-6 week-old virgin females, with noon of the day of vaginal plug considered embryonic day (E) 0.5. Embryos were dissected in DMEM/F12, 5% Newborn Calf Serum (Life Technologies) and staged according to Downs and Davies52 or by somite number." - }, - "method": { - "text": "dissection", - "ontology": "EFO:0003856", - "ontology_label": "dissection" - }, - "provenance": { - "document_id": "e95ebc23-53b9-48a0-acd4-185969122f2d", - "submission_date": "2019-10-14T19:20:08.866Z", - "update_date": "2019-10-14T19:20:13.961Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "collection_protocol/4dfda495-6aeb-41d9-b995-04da33cd2810": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "protocol_4", - "protocol_name": "Collection of gut tube from embryos", - "protocol_description": "Gut tubes were isolated using tungsten needles (FST cat. no. 10130-10) and washed in ice-cold DMEM/F12." - }, - "method": { - "text": "dissection", - "ontology": "EFO:0003856", - "ontology_label": "dissection" - }, - "provenance": { - "document_id": "4dfda495-6aeb-41d9-b995-04da33cd2810", - "submission_date": "2019-10-14T19:20:08.877Z", - "update_date": "2019-10-14T19:20:14.107Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/bf65ea92-6949-491d-b25b-52d06045044a": { - "process_core": { - "process_id": "E8.75_anterior_Rep1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "bf65ea92-6949-491d-b25b-52d06045044a", - "submission_date": "2019-10-14T19:20:14.930Z", - "update_date": "2019-10-14T19:20:28.686Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/11b9ffae-0643-425b-b120-85a7bd46c057": { - "process_core": { - "process_id": "process_id_48" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "11b9ffae-0643-425b-b120-85a7bd46c057", - "submission_date": "2019-10-14T19:20:14.900Z", - "update_date": "2019-10-14T19:20:28.290Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/4c6d81f9-4f12-457e-89cd-6efb297ca848": { - "process_core": { - "process_id": "process_id_21" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "4c6d81f9-4f12-457e-89cd-6efb297ca848", - "submission_date": "2019-10-14T19:20:14.697Z", - "update_date": "2019-10-14T19:20:27.791Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.5/links", - "schema_type": "link_bundle", - "schema_version": "1.1.5", - "links": [ - { - "process": "bf65ea92-6949-491d-b25b-52d06045044a", - "inputs": [ - "5ea17576-5f1d-4879-97a1-6a868ccb2b0b" - ], - "input_type": "biomaterial", - "outputs": [ - "430755e7-2263-4b5b-ad65-b3231c0eb61d", - "d53454df-9542-4c64-9f84-0d798d923777" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "58df9607-ab66-48e0-a47b-1f897baae139" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "6282594c-1b9d-4f26-a4f3-a26066878740" - } - ] - }, - { - "process": "11b9ffae-0643-425b-b120-85a7bd46c057", - "inputs": [ - "d9b27804-1763-410b-9f19-995a363fe488" - ], - "input_type": "biomaterial", - "outputs": [ - "5ea17576-5f1d-4879-97a1-6a868ccb2b0b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "3f9fda53-2b30-47bb-8c92-4e131920b2e3" - } - ] - }, - { - "process": "4c6d81f9-4f12-457e-89cd-6efb297ca848", - "inputs": [ - "587d1170-aa27-4b06-9c15-b51846d14588" - ], - "input_type": "biomaterial", - "outputs": [ - "d9b27804-1763-410b-9f19-995a363fe488" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "e95ebc23-53b9-48a0-acd4-185969122f2d" - }, - { - "protocol_type": "collection_protocol", - "protocol_id": "4dfda495-6aeb-41d9-b995-04da33cd2810" - } - ] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/9dec1bd6-ced8-448a-8e45-1fc7846d8995.dss.hca.json b/test/indexer/data/9dec1bd6-ced8-448a-8e45-1fc7846d8995.dss.hca.json deleted file mode 100644 index 3bc66a996a..0000000000 --- a/test/indexer/data/9dec1bd6-ced8-448a-8e45-1fc7846d8995.dss.hca.json +++ /dev/null @@ -1,585 +0,0 @@ -{ - "manifest": { - "sequence_file/e080459e-e4ab-40ea-ab75-a2646b5fdd29": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "fa399aa2", - "indexed": false, - "name": "22467_6#373_1.fastq.gz", - "s3_etag": "cdb87a44f4ff0ee069e15773f593d970", - "sha1": "6af8e26b6d8a8ee8d2b4fe47b007db4493f824cc", - "sha256": "6c0599cb573d88d0f7d149d5ffc5b4e4d370904c1b421d2c729fcc4f4dd75c71", - "size": 2377581, - "uuid": "e080459e-e4ab-40ea-ab75-a2646b5fdd29", - "version": "2018-03-29T15:43:13.328705Z" - }, - "sequence_file/3417cdb5-5618-4c0c-bc27-62a4eb78916a": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "7453bf7a", - "indexed": false, - "name": "22467_6#373_2.fastq.gz", - "s3_etag": "b26ff362f46fd47c1cb027660b67bf75", - "sha1": "c12a30bfff4ea141807c32cd1d4600fa206d8a40", - "sha256": "853b9f75ff100ae1fd824d633ded540975e44dbc9643d4a3fbaffbed574e30b0", - "size": 2363269, - "uuid": "3417cdb5-5618-4c0c-bc27-62a4eb78916a", - "version": "2018-03-29T15:43:14.679074Z" - } - }, - "metadata": { - "project/93f6a42f-1790-4af4-b5d1-8c436cb6feae": { - "content": { - "describedBy": "https://schema.humancellatlas.org/type/project/9.0.0/project", - "project_core": { - "project_short_name": "Mouse Melanoma", - "project_description": "The cancer microenvironment is a complex ecosystem characterized by dynamic interactions between diverse cell types, including malignant, immune and stromal cells. Here, we performed single-cell RNA sequencing on CD45+ and CD45- cells isolated from tumour and lymph nodes during a mouse model of melanoma. The transcriptional profiles of these individual cells taken at different time points coupled with assembled T cell receptor sequences, allowed us to identify distinct immune subpopulations and delineate their developmental trajectory. Our study provides insights into the complex interplay among cells within the tumour microenvironment and presents a valuable resource for future translational applications.", - "project_title": "Melanoma infiltration of stromal and immune cells" - }, - "publications": [ - { - "describedBy": "http://schema.humancellatlas.org/module/project/5.2.2/publication", - "authors": [ - "Katrina Meeth", - "Jake Wang", - "Goran Micevic", - "William Damsky", - "Marcus W. Bosenberg" - ], - "publication_title": "The YUMM lines: a series of congenic mouse melanoma cell lines with defined genetic alterations", - "doi": "10.1111/pcmr.12498", - "pmid": 5331933, - "publication_url": "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5331933/" - } - ], - "contributors": [ - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Sarah,A,Teichmann", - "email": "st9@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Mirjana,,Efremova", - "email": "me5@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Bidesh,,Mahata", - "email": "bm11@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "laboratory": "MRC Cancer Unit", - "contact_name": "Jacqueline,D,Shields", - "email": "JS970@MRCCU.cam.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "laboratory": "MRC Cancer Unit", - "contact_name": "Sarah,,Davidson", - "email": "SED49@MRCCU.cam.ac.uk", - "corresponding_contributor": false - }, - { - "country": "Germany", - "contact_name": "Angela,,Riedel", - "email": "a.riedel@dkfz-heidelberg.de", - "institution": "DKFZ German Cancer Research Center", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Roser,,Veno-Tormo", - "email": "rv4@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Jhuma,,Pramanik", - "email": "jp19@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "EMBL-EBI", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Gozde,,Kar", - "email": "gkar@ebi.ac.uk", - "corresponding_contributor": false - }, - { - "country": "Finland", - "contact_name": "Jani,,Huuhtanen", - "email": "jani.huuhtanen@helsinki.fi", - "institution": "University of Helsinki", - "corresponding_contributor": true - } - ], - "schema_type": "project" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.025Z", - "updateDate": "2018-03-28T14:27:32.460Z", - "document_id": "93f6a42f-1790-4af4-b5d1-8c436cb6feae" - }, - "describedBy": "https://schema.humancellatlas.org/bundle/5.1.0/project", - "schema_version": "5.1.0", - "schema_type": "project_bundle" - }, - "sequence_file/e080459e-e4ab-40ea-ab75-a2646b5fdd29": { - "content": { - "file_core": { - "file_name": "22467_6#373_1.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 6, - "read_index": "read1", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-28T14:03:00.756Z", - "document_id": "e080459e-e4ab-40ea-ab75-a2646b5fdd29" - } - }, - "sequence_file/3417cdb5-5618-4c0c-bc27-62a4eb78916a": { - "content": { - "file_core": { - "file_name": "22467_6#373_2.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 6, - "read_index": "read2", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-28T14:03:00.761Z", - "document_id": "3417cdb5-5618-4c0c-bc27-62a4eb78916a" - } - }, - "dissociation_process/b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_id": "TissueDissociationProcess", - "process_name": "Extracting cells from lymph nodes" - }, - "dissociation_method": "mechanical", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:04:14.574Z", - "updateDate": "2018-03-28T14:13:28.361Z", - "document_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902" - } - }, - "process/0763320a-e0c4-4c07-b150-b83650fbef68": { - "content": { - "process_core": { - "process_id": "sampling_process_12" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:00:16.640Z", - "updateDate": "2018-03-28T14:00:59.234Z", - "document_id": "0763320a-e0c4-4c07-b150-b83650fbef68" - } - }, - "enrichment_process/bcef348b-3915-48b8-bc09-d24a5bff76c4": { - "content": { - "enrichment_method": "FACS", - "process_core": { - "process_id": "FACS3.2" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/enrichment_process", - "markers": "CD45+ CD3e- B220- CD11b+", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:04:02.006Z", - "updateDate": "2018-03-28T14:15:18.962Z", - "document_id": "bcef348b-3915-48b8-bc09-d24a5bff76c4" - } - }, - "library_preparation_process/687065f3-c70f-46c3-8452-a5eead33a1bf": { - "content": { - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "process_core": { - "process_id": "lib_prep_1", - "process_name": "Library preparation process" - }, - "umi_barcode": { - "barcode_offset": 0, - "barcode_length": 16, - "barcode_read": "Read 1" - }, - "library_construction_approach": "Smart-seq2", - "schema_type": "process", - "end_bias": "full length", - "primer": "poly-dT", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/library_preparation_process", - "strand": "unstranded" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:05:43.803Z", - "updateDate": "2018-03-28T14:43:01.679Z", - "document_id": "687065f3-c70f-46c3-8452-a5eead33a1bf" - } - }, - "sequencing_process/b8a6acbe-6b57-4efb-b6c7-bceaa6d9924d": { - "content": { - "paired_ends": true, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008567" - }, - "process_core": { - "process_id": "seq_5834", - "process_name": "Sequencing process" - }, - "smartseq2": { - "well_name": "D85", - "plate_id": "537" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/sequencing_process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:04:09.031Z", - "updateDate": "2018-03-28T14:10:22.768Z", - "document_id": "b8a6acbe-6b57-4efb-b6c7-bceaa6d9924d" - } - }, - "protocol/c9a1e203-bddc-45d3-87c4-6010be8e0127": { - "content": { - "protocol_core": { - "protocol_name": "Extracting cells from lymph nodes", - "document": "TissueDissociationProtocol.pdf", - "protocol_id": "tissue_dissociation_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.033Z", - "updateDate": "2018-03-28T14:14:33.716Z", - "document_id": "c9a1e203-bddc-45d3-87c4-6010be8e0127" - } - }, - "protocol/a1c80daf-58b0-4b7a-8e29-d0130493c8e6": { - "content": { - "protocol_core": { - "protocol_name": "FACS sorting cells by surface markers", - "document": "FACSsortingProtocol.pdf", - "protocol_id": "FACS_sorting_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.040Z", - "updateDate": "2018-03-28T14:45:43.500Z", - "document_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6" - } - }, - "protocol/52d79a89-4b49-4c1b-b857-5cc5da07f643": { - "content": { - "protocol_core": { - "protocol_name": "Make/amplify cDNA for each cell", - "document": "SmartSeq2_RTPCR_protocol.pdf", - "protocol_id": "SmartSeq2_RTPCR_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "Smart-seq2 protocol", - "ontology": "EFO:0008442" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.044Z", - "updateDate": "2018-03-28T14:24:04.790Z", - "document_id": "52d79a89-4b49-4c1b-b857-5cc5da07f643" - } - }, - "protocol/ca6096cf-13c1-4930-8308-6ab05865e2c9": { - "content": { - "protocol_core": { - "protocol_name": "Sequencing SmartSeq2 cells", - "protocol_id": "SmartSeq2_sequencing_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.050Z", - "updateDate": "2018-03-28T14:30:39.321Z", - "document_id": "ca6096cf-13c1-4930-8308-6ab05865e2c9" - } - }, - "cell_suspension/f59292f0-318f-40d0-bce5-29413b59a790": { - "content": { - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "total_estimated_cells": 1, - "target_cell_type": [ - { - "text": "CD11b+ Macrophages/monocytes" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1117_T", - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "22467_6#373" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:58:01.823Z", - "updateDate": "2018-03-28T14:27:21.201Z", - "document_id": "f59292f0-318f-40d0-bce5-29413b59a790" - } - }, - "specimen_from_organism/ffb809dd-3139-4162-b9af-ec88e491ee9c": { - "content": { - "biomaterial_core": { - "has_input_biomaterial": "1117", - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "1117_T", - "supplementary_files": [ - "FACS_sorting_markers.pdf" - ], - "biomaterial_name": "Mouse_day5_T_rep8" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism", - "organ": { - "text": "tumor" - }, - "schema_type": "biomaterial" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:56:12.647Z", - "updateDate": "2018-03-28T14:19:05.173Z", - "document_id": "ffb809dd-3139-4162-b9af-ec88e491ee9c" - } - }, - "donor_organism/689311a2-bfaf-4196-a753-554e69ab59b2": { - "content": { - "is_living": false, - "mus_musculus_specific": { - "strain": [ - { - "text": "C57BL/6" - } - ] - }, - "biological_sex": "female", - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "disease": [ - { - "text": "subcutaneous melanoma", - "ontology": "EFO:0000756" - } - ], - "organism_age": "6-12", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "1117", - "biomaterial_name": "Mouse_day5_rep8" - }, - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:56:00.553Z", - "updateDate": "2018-03-28T14:00:16.892Z", - "document_id": "689311a2-bfaf-4196-a753-554e69ab59b2" - } - } - }, - "links": { - "links": [ - { - "source_id": "ffb809dd-3139-4162-b9af-ec88e491ee9c", - "source_type": "biomaterial", - "destination_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "destination_type": "dissociation_process" - }, - { - "source_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "source_type": "dissociation_process", - "destination_id": "f59292f0-318f-40d0-bce5-29413b59a790", - "destination_type": "biomaterial" - }, - { - "source_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "source_type": "dissociation_process", - "destination_id": "c9a1e203-bddc-45d3-87c4-6010be8e0127", - "destination_type": "protocol" - }, - { - "source_id": "0763320a-e0c4-4c07-b150-b83650fbef68", - "source_type": "process", - "destination_id": "ffb809dd-3139-4162-b9af-ec88e491ee9c", - "destination_type": "biomaterial" - }, - { - "source_id": "689311a2-bfaf-4196-a753-554e69ab59b2", - "source_type": "biomaterial", - "destination_id": "0763320a-e0c4-4c07-b150-b83650fbef68", - "destination_type": "process" - }, - { - "source_id": "ffb809dd-3139-4162-b9af-ec88e491ee9c", - "source_type": "biomaterial", - "destination_id": "bcef348b-3915-48b8-bc09-d24a5bff76c4", - "destination_type": "enrichment_process" - }, - { - "source_id": "bcef348b-3915-48b8-bc09-d24a5bff76c4", - "source_type": "enrichment_process", - "destination_id": "f59292f0-318f-40d0-bce5-29413b59a790", - "destination_type": "biomaterial" - }, - { - "source_id": "bcef348b-3915-48b8-bc09-d24a5bff76c4", - "source_type": "enrichment_process", - "destination_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6", - "destination_type": "protocol" - }, - { - "source_id": "0763320a-e0c4-4c07-b150-b83650fbef68", - "source_type": "process", - "destination_id": "ffb809dd-3139-4162-b9af-ec88e491ee9c", - "destination_type": "biomaterial" - }, - { - "source_id": "689311a2-bfaf-4196-a753-554e69ab59b2", - "source_type": "biomaterial", - "destination_id": "0763320a-e0c4-4c07-b150-b83650fbef68", - "destination_type": "process" - }, - { - "source_id": "f59292f0-318f-40d0-bce5-29413b59a790", - "source_type": "biomaterial", - "destination_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "destination_type": "library_preparation_process" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "e080459e-e4ab-40ea-ab75-a2646b5fdd29", - "destination_type": "file" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "3417cdb5-5618-4c0c-bc27-62a4eb78916a", - "destination_type": "file" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "52d79a89-4b49-4c1b-b857-5cc5da07f643", - "destination_type": "protocol" - }, - { - "source_id": "f59292f0-318f-40d0-bce5-29413b59a790", - "source_type": "biomaterial", - "destination_id": "b8a6acbe-6b57-4efb-b6c7-bceaa6d9924d", - "destination_type": "sequencing_process" - }, - { - "source_id": "b8a6acbe-6b57-4efb-b6c7-bceaa6d9924d", - "source_type": "sequencing_process", - "destination_id": "e080459e-e4ab-40ea-ab75-a2646b5fdd29", - "destination_type": "file" - }, - { - "source_id": "b8a6acbe-6b57-4efb-b6c7-bceaa6d9924d", - "source_type": "sequencing_process", - "destination_id": "3417cdb5-5618-4c0c-bc27-62a4eb78916a", - "destination_type": "file" - }, - { - "source_id": "b8a6acbe-6b57-4efb-b6c7-bceaa6d9924d", - "source_type": "sequencing_process", - "destination_id": "ca6096cf-13c1-4930-8308-6ab05865e2c9", - "destination_type": "protocol" - } - ], - "describedBy": "https://schema.humancellatlas.org/bundle/1.0.0/links", - "schema_version": "1.0.0", - "schema_type": "link_bundle" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/aaa96233-bf27-44c7-82df-b4dc15ad4d9d.2018-11-02T11:33:44.698028Z.dss.hca.json b/test/indexer/data/aaa96233-bf27-44c7-82df-b4dc15ad4d9d.2018-11-02T11:33:44.698028Z.dss.hca.json deleted file mode 100644 index 76806fe5ed..0000000000 --- a/test/indexer/data/aaa96233-bf27-44c7-82df-b4dc15ad4d9d.2018-11-02T11:33:44.698028Z.dss.hca.json +++ /dev/null @@ -1,437 +0,0 @@ -{ - "manifest": { - "sequence_file/70d1af4a-82c8-478a-8960-e9028b3616ca": { - - "content-type": "application/gzip; dcp-type=data", - "crc32c": "54bb9c82", - "indexed": false, - "name": "SRR3562915_2.fastq.gz", - "s3_etag": "3d4f4f7be73366b6b33e3c191de5a19b-3", - "sha1": "240c10c9e43e624c6846b5a2ad74099df3b032fa", - "sha256": "465a230aa127376fa641f8b8f8cad3f08fef37c8aafc67be454f0f0e4e63d68d", - "size": 190330156, - "uuid": "74897eb7-0701-4e4f-9e6b-8b9521b2816b", - "version": "2018-11-02T11:33:44.450442Z" - }, - "sequence_file/0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "1d998e49", - "indexed": false, - "name": "SRR3562915_1.fastq.gz", - "s3_etag": "d13918af166036bcec185cb3c48204e9-3", - "sha1": "7ad306f154ce7de1a9a333cfd9100fc26ef652b4", - "sha256": "77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a", - "size": 195142097, - "uuid": "7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb", - "version": "2018-11-02T11:33:44.698028Z" - } - }, - "metadata": { - "cell_suspension/412898c5-5b9b-4907-b07c-e9b89666e204": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "GSM2172585 1", - "biomaterial_description": "Single cell from human pancreas", - "ncbi_taxon_id": [ - 9606 - ], - "insdc_biomaterial": "SRS1459312" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "total_estimated_cells": 1, - "provenance": { - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "submission_date": "2018-11-02T10:02:28.599Z", - "update_date": "2018-11-02T10:10:10.908Z" - } - }, - "specimen_from_organism/a21dc760-a500-4236-bcff-da34a0e873d2": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "DID_scRSq06_pancreas", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Australopithecus", - "ontology": "NCBITaxon:9606", - "ontology_label": "Australopithecus" - } - ], - "organ": { - "text": "pancreas", - "ontology": "UBERON:0001264", - "ontology_label": "pancreas" - }, - "organ_part": { - "text": "islet of Langerhans", - "ontology": "UBERON:0000006", - "ontology_label": "islet of Langerhans" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "submission_date": "2018-11-02T10:02:12.298Z", - "update_date": "2018-11-02T10:09:26.517Z" - } - }, - "donor_organism/7b07b9d0-cc0e-4098-9f64-f4a569f7d746": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "DID_scRSq06", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Australopithecus", - "ontology": "NCBITaxon:9606", - "ontology_label": "Australopithecus" - } - ], - "is_living": "no", - "sex": "female", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "organism_age": "38", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "human_specific": { - "body_mass_index": 29.5, - "ethnicity": [ - { - "text": "European", - "ontology": "hancestro:0005", - "ontology_label": "European" - } - ] - }, - "death": { - "cause_of_death": "stroke" - }, - "provenance": { - "document_id": "7b07b9d0-cc0e-4098-9f64-f4a569f7d746", - "submission_date": "2018-11-02T10:02:12.191Z", - "update_date": "2018-11-02T10:07:39.622Z" - } - }, - "sequence_file/70d1af4a-82c8-478a-8960-e9028b3616ca": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3562915_2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "read_length": 75, - "insdc_run": [ - "SRR3562915" - ], - "provenance": { - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "submission_date": "2018-11-02T10:03:39.593Z", - "update_date": "2018-11-02T10:35:03.810Z" - } - }, - "sequence_file/0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3562915_1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "read_length": 75, - "insdc_run": [ - "SRR3562915" - ], - "provenance": { - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "submission_date": "2018-11-02T10:03:39.600Z", - "update_date": "2018-11-02T10:35:07.705Z" - } - }, - "project/e8642221-4c2c-4fd7-b926-a68bce363c88": { - "describedBy": "https://schema.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Single of human pancreas", - "project_title": "Single cell transcriptome patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue" - }, - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "insdc_project": "SRP075496", - "geo_series": "GSE81547", - "contributors": [ - { - "contact_name": "Martin, Enge", - "email": "martin.enge@gmail.com", - "institution": "University", - "address": "Bioengineering, Stanford University, James H. Clark Center, 318 Campus Drive,, Stanford, CA, USA", - "country": "USA" - }, - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "external curator", - "orcid_id": "0000-0002-8748-599X", - "corresponding_contributor": false - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "phone": "(+44) 122-349-4444", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2771-9894", - "corresponding_contributor": false - } - ], - "publications": [ - { - "authors": [ - "Enge M", - "Arda HE", - "Mignardi M", - "Beausang J", - "Bottino R", - "Kim SK", - "Quake SR" - ], - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "doi": "10.1016/j.cell.2017.09.004", - "pmid": 28965763, - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "provenance": { - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "submission_date": "2018-11-02T10:02:12.133Z", - "update_date": "2018-11-02T10:07:39.499Z" - } - }, - "library_preparation_protocol/9c32cf70-3ed7-4720-badc-5ee71e8a38af": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931", - "ontology_label": "Smart-seq2" - }, - "library_construction_kit": { - "retail_name": "Nextera XT kit", - "manufacturer": "Illumina" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "provenance": { - "document_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "submission_date": "2018-11-02T10:05:05.547Z", - "update_date": "2018-11-02T10:05:10.360Z" - } - }, - "sequencing_protocol/61e629ed-0135-4492-ac8a-5c4ab3ccca8a": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/9.0.3/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1" - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0008566", - "ontology_label": "Illumina NextSeq 500" - }, - "paired_end": true, - "sequencing_approach": { - "text": "RNA-Seq", - "ontology": "EFO:0008896", - "ontology_label": "RNA-Seq" - }, - "provenance": { - "document_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "submission_date": "2018-11-02T10:05:05.555Z", - "update_date": "2018-11-02T10:05:10.376Z" - } - }, - "dissociation_protocol/31e708d3-79df-49b8-a3df-b1d694963468": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "publication_doi": "https://doi.org/10.1101/108043" - }, - "dissociation_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "provenance": { - "document_id": "31e708d3-79df-49b8-a3df-b1d694963468", - "submission_date": "2018-11-02T10:05:05.532Z", - "update_date": "2018-11-02T10:05:10.315Z" - } - }, - "enrichment_protocol/5bd4ba68-4c0e-4d22-840d-afc025e7badc": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_1", - "publication_doi": "https://doi.org/10.1101/108043" - }, - "enrichment_method": { - "text": "FACS", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "HPx1+ HPi2+ CD133/1+ CD133/2+", - "provenance": { - "document_id": "5bd4ba68-4c0e-4d22-840d-afc025e7badc", - "submission_date": "2018-11-02T10:05:05.540Z", - "update_date": "2018-11-02T10:05:10.335Z" - } - }, - "process/771ddaf6-3a4f-4314-97fe-6294ff8e25a4": { - "process_core": { - "process_id": "SRR3562915" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4", - "submission_date": "2018-11-02T10:06:37.087Z", - "update_date": "2018-11-02T10:13:43.197Z" - } - }, - "process/4c28e079-59af-4bd3-8c8b-763ea0beba98": { - "process_core": { - "process_id": "process_id_714" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4c28e079-59af-4bd3-8c8b-763ea0beba98", - "submission_date": "2018-11-02T10:05:24.030Z", - "update_date": "2018-11-02T10:12:21.545Z" - } - }, - "process/4674255d-5ecd-4860-9b8d-beae98772cd9": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4674255d-5ecd-4860-9b8d-beae98772cd9", - "submission_date": "2018-11-02T10:05:05.605Z", - "update_date": "2018-11-02T10:12:03.520Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.3/links", - "schema_type": "link_bundle", - "schema_version": "1.1.3", - "links": [ - { - "process": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4", - "inputs": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "input_type": "biomaterial", - "outputs": [ - "70d1af4a-82c8-478a-8960-e9028b3616ca", - "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a" - } - ] - }, - { - "process": "4c28e079-59af-4bd3-8c8b-763ea0beba98", - "inputs": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "input_type": "biomaterial", - "outputs": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "31e708d3-79df-49b8-a3df-b1d694963468" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "5bd4ba68-4c0e-4d22-840d-afc025e7badc" - } - ] - }, - { - "process": "4674255d-5ecd-4860-9b8d-beae98772cd9", - "inputs": [ - "7b07b9d0-cc0e-4098-9f64-f4a569f7d746" - ], - "input_type": "biomaterial", - "outputs": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/aaa96233-bf27-44c7-82df-b4dc15ad4d9d.2018-11-02T11:33:44.698028Z.results.json b/test/indexer/data/aaa96233-bf27-44c7-82df-b4dc15ad4d9d.2018-11-02T11:33:44.698028Z.results.json deleted file mode 100644 index 1d867bfb81..0000000000 --- a/test/indexer/data/aaa96233-bf27-44c7-82df-b4dc15ad4d9d.2018-11-02T11:33:44.698028Z.results.json +++ /dev/null @@ -1,3893 +0,0 @@ -[ - { - "_id": "links_aaa96233-bf27-44c7-82df-b4dc15ad4d9d_50b88c774d130ce5cb9e680241549c2df665efca", - "_index": "azul_v2_dev_test_replica", - "_score": 1.0, - "_source": { - "contents": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.3/links", - "links": [ - { - "input_type": "biomaterial", - "inputs": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "output_type": "file", - "outputs": [ - "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "70d1af4a-82c8-478a-8960-e9028b3616ca" - ], - "process": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4", - "protocols": [ - { - "protocol_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "protocol_type": "sequencing_protocol" - }, - { - "protocol_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "protocol_type": "library_preparation_protocol" - } - ] - }, - { - "input_type": "biomaterial", - "inputs": [ - "7b07b9d0-cc0e-4098-9f64-f4a569f7d746" - ], - "output_type": "biomaterial", - "outputs": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "process": "4674255d-5ecd-4860-9b8d-beae98772cd9", - "protocols": [] - }, - { - "input_type": "biomaterial", - "inputs": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "output_type": "biomaterial", - "outputs": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "process": "4c28e079-59af-4bd3-8c8b-763ea0beba98", - "protocols": [ - { - "protocol_id": "31e708d3-79df-49b8-a3df-b1d694963468", - "protocol_type": "dissociation_protocol" - }, - { - "protocol_id": "5bd4ba68-4c0e-4d22-840d-afc025e7badc", - "protocol_type": "enrichment_protocol" - } - ] - } - ], - "schema_type": "link_bundle", - "schema_version": "1.1.3" - }, - "entity_id": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "hub_ids": [ - "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "70d1af4a-82c8-478a-8960-e9028b3616ca", - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ], - "replica_type": "links" - } - }, - { - "_index": "azul_v2_dev_test_bundles", - "_id": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d_aaa96233-bf27-44c7-82df-b4dc15ad4d9d_2018-11-02T11:33:44.698028Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "document_id": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d_aaa96233-bf27-44c7-82df-b4dc15ad4d9d_2018-11-02T11:33:44.698028Z_exists", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "contents": { - "samples": [ - { - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "entity_type": "specimens", - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "model_organ": "~null", - "model_organ_part": "~null", - "effective_organ": "pancreas" - } - ], - "sample_specimens": [ - { - "has_input_biomaterial": "~null", - "_source": "specimen_from_organism", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "disease": [ - "normal" - ], - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": "~null", - "preservation_method": "~null", - "_type": "specimen" - } - ], - "sequencing_inputs": [ - { - "biomaterial_id": "GSM2172585 1", - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "sequencing_input_type": "cell_suspension" - } - ], - "sequencing_processes": [ - { - "document_id": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4" - } - ], - "specimens": [ - { - "has_input_biomaterial": "~null", - "_source": "specimen_from_organism", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "disease": [ - "normal" - ], - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": "~null", - "preservation_method": "~null", - "_type": "specimen" - } - ], - "cell_suspensions": [ - { - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "biomaterial_id": "GSM2172585 1", - "total_estimated_cells_redundant": 0, - "total_estimated_cells_redundant_": 0, - "total_estimated_cells": 1, - "total_estimated_cells_": 1, - "selected_cell_type": [ - "~null" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ] - } - ], - "cell_lines": [], - "donors": [ - { - "document_id": "7b07b9d0-cc0e-4098-9f64-f4a569f7d746", - "biomaterial_id": "DID_scRSq06", - "biological_sex": "female", - "genus_species": [ - "Australopithecus" - ], - "development_stage": "~null", - "diseases": [ - "normal" - ], - "organism_age": "38 year", - "organism_age_range": { - "gte": 1198368000.0, - "lte": 1198368000.0 - } - } - ], - "organoids": [], - "files": [ - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_2.fastq.gz", - "crc32c": "54bb9c82", - "sha256": "465a230aa127376fa641f8b8f8cad3f08fef37c8aafc67be454f0f0e4e63d68d", - "size": 190330156, - "size_": 190330156, - "file_source": "~null", - "uuid": "74897eb7-0701-4e4f-9e6b-8b9521b2816b", - "drs_uri": "drs://mock_drs_domain.lan/74897eb7-0701-4e4f-9e6b-8b9521b2816b?version=2018-11-02T11%3A33%3A44.450442Z", - "version": "2018-11-02T11:33:44.450442Z", - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read2", - "lane_index": 9223372036854774784, - "lane_index_": null - }, - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_1.fastq.gz", - "crc32c": "1d998e49", - "sha256": "77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a", - "size": 195142097, - "size_": 195142097, - "file_source": "~null", - "uuid": "7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb", - "drs_uri": "drs://mock_drs_domain.lan/7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb?version=2018-11-02T11%3A33%3A44.698028Z", - "version": "2018-11-02T11:33:44.698028Z", - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read1", - "lane_index": 9223372036854774784, - "lane_index_": null - } - ], - "analysis_protocols": [], - "imaging_protocols": [], - "library_preparation_protocols": [ - { - "document_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "library_construction_approach": "Smart-seq2", - "nucleic_acid_source": "single cell" - } - ], - "sequencing_protocols": [ - { - "document_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "instrument_manufacturer_model": "Illumina NextSeq 500", - "paired_end": 1 - } - ], - "projects": [ - { - "project_title": "Single cell transcriptome patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue", - "project_short_name": "Single of human pancreas", - "laboratory": [ - "John Dear" - ], - "institutions": [ - "Farmers Trucks", - "University" - ], - "contact_names": [ - "Laura,,Huerta", - "Martin, Enge", - "Matthew,,Green" - ], - "contributors": [ - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "corresponding_contributor": 0, - "project_role": "external curator" - }, - { - "contact_name": "Martin, Enge", - "email": "martin.enge@gmail.com", - "institution": "University", - "laboratory": "~null", - "corresponding_contributor": 9223372036854774784, - "project_role": "~null" - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "corresponding_contributor": 0, - "project_role": "Human Cell Atlas wrangler" - } - ], - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "publication_titles": [ - "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns." - ], - "publications": [ - { - "doi": "10.1016/j.cell.2017.09.004", - "official_hca_publication": 9223372036854774784, - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "_type": "project", - "accessions": [], - "bionetwork_name": ["~null"], - "is_tissue_atlas_project": 0, - "tissue_atlas": [], - "estimated_cell_count": 9223372036854774784, - "estimated_cell_count_": null, - "data_use_restriction": "~null", - "duos_id": "~null" - } - ], - "matrices": [], - "contributed_analyses": [], - "dates": [ - { - "document_id": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "aggregate_last_modified_date": "2018-11-02T10:35:07.705000Z", - "aggregate_submission_date": "2018-11-02T10:02:12.133000Z", - "aggregate_update_date": "2018-11-02T10:35:07.705000Z", - "last_modified_date": "2018-11-02T11:33:44.698028Z", - "submission_date": "2018-11-02T11:33:44.698028Z", - "update_date": "2018-11-02T11:33:44.698028Z" - } - ] - }, - "bundle_uuid": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "bundle_version": "2018-11-02T11:33:44.698028Z", - "bundle_deleted": false - } - }, - { - "_index": "azul_v2_dev_test_files", - "_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb_aaa96233-bf27-44c7-82df-b4dc15ad4d9d_2018-11-02T11:33:44.698028Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb_aaa96233-bf27-44c7-82df-b4dc15ad4d9d_2018-11-02T11:33:44.698028Z_exists", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "bundle_uuid": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "bundle_version": "2018-11-02T11:33:44.698028Z", - "bundle_deleted": false, - "contents": { - "samples": [ - { - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "entity_type": "specimens", - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "model_organ": "~null", - "model_organ_part": "~null", - "effective_organ": "pancreas" - } - ], - "sample_specimens": [ - { - "has_input_biomaterial": "~null", - "_source": "specimen_from_organism", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "disease": [ - "normal" - ], - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": "~null", - "preservation_method": "~null", - "_type": "specimen" - } - ], - "sequencing_inputs": [ - { - "biomaterial_id": "GSM2172585 1", - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "sequencing_input_type": "cell_suspension" - } - ], - "sequencing_processes": [ - { - "document_id": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4" - } - ], - "specimens": [ - { - "has_input_biomaterial": "~null", - "_source": "specimen_from_organism", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "disease": [ - "normal" - ], - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": "~null", - "preservation_method": "~null", - "_type": "specimen" - } - ], - "organoids": [], - "cell_lines": [], - "donors": [ - { - "document_id": "7b07b9d0-cc0e-4098-9f64-f4a569f7d746", - "biomaterial_id": "DID_scRSq06", - "genus_species": [ - "Australopithecus" - ], - "development_stage": "~null", - "diseases": [ - "normal" - ], - "organism_age": "38 year", - "organism_age_range": { - "gte": 1198368000.0, - "lte": 1198368000.0 - }, - "biological_sex": "female" - } - ], - "cell_suspensions": [ - { - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "biomaterial_id": "GSM2172585 1", - "selected_cell_type": [ - "~null" - ], - "total_estimated_cells_redundant": 0, - "total_estimated_cells_redundant_": 0, - "total_estimated_cells": 1, - "total_estimated_cells_": 1, - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ] - } - ], - "files": [ - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_1.fastq.gz", - "crc32c": "1d998e49", - "sha256": "77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a", - "size": 195142097, - "size_": 195142097, - "file_source": "~null", - "uuid": "7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb", - "drs_uri": "drs://mock_drs_domain.lan/7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb?version=2018-11-02T11%3A33%3A44.698028Z", - "version": "2018-11-02T11:33:44.698028Z", - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read1", - "lane_index": 9223372036854774784, - "lane_index_": null - } - ], - "analysis_protocols": [], - "imaging_protocols": [], - "library_preparation_protocols": [ - { - "document_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "library_construction_approach": "Smart-seq2", - "nucleic_acid_source": "single cell" - } - ], - "sequencing_protocols": [ - { - "document_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "instrument_manufacturer_model": "Illumina NextSeq 500", - "paired_end": 1 - } - ], - "projects": [ - { - "project_title": "Single cell transcriptome patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue", - "project_short_name": "Single of human pancreas", - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "laboratory": [ - "John Dear" - ], - "institutions": [ - "Farmers Trucks", - "University" - ], - "contact_names": [ - "Laura,,Huerta", - "Martin, Enge", - "Matthew,,Green" - ], - "contributors": [ - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "corresponding_contributor": 0, - "project_role": "external curator" - }, - { - "contact_name": "Martin, Enge", - "email": "martin.enge@gmail.com", - "institution": "University", - "laboratory": "~null", - "corresponding_contributor": 9223372036854774784, - "project_role": "~null" - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "corresponding_contributor": 0, - "project_role": "Human Cell Atlas wrangler" - } - ], - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "publication_titles": [ - "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns." - ], - "publications": [ - { - "doi": "10.1016/j.cell.2017.09.004", - "official_hca_publication": 9223372036854774784, - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "_type": "project", - "accessions": [], - "bionetwork_name": ["~null"], - "is_tissue_atlas_project": 0, - "tissue_atlas": [], - "estimated_cell_count": 9223372036854774784, - "estimated_cell_count_": null, - "data_use_restriction": "~null", - "duos_id": "~null" - } - ], - "dates": [ - { - "aggregate_last_modified_date": "9999-01-01T00:00:00.000000Z", - "aggregate_submission_date": "9999-01-01T00:00:00.000000Z", - "aggregate_update_date": "9999-01-01T00:00:00.000000Z", - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "last_modified_date": "2018-11-02T10:35:07.705000Z", - "submission_date": "2018-11-02T10:03:39.600000Z", - "update_date": "2018-11-02T10:35:07.705000Z" - } - ] - } - } - }, - { - "_index": "azul_v2_dev_test_files", - "_id": "70d1af4a-82c8-478a-8960-e9028b3616ca_aaa96233-bf27-44c7-82df-b4dc15ad4d9d_2018-11-02T11:33:44.698028Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca_aaa96233-bf27-44c7-82df-b4dc15ad4d9d_2018-11-02T11:33:44.698028Z_exists", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "bundle_uuid": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "bundle_version": "2018-11-02T11:33:44.698028Z", - "bundle_deleted": false, - "contents": { - "samples": [ - { - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "entity_type": "specimens", - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "model_organ": "~null", - "model_organ_part": "~null", - "effective_organ": "pancreas" - } - ], - "sample_specimens": [ - { - "has_input_biomaterial": "~null", - "_source": "specimen_from_organism", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "disease": [ - "normal" - ], - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": "~null", - "preservation_method": "~null", - "_type": "specimen" - } - ], - "sequencing_inputs": [ - { - "biomaterial_id": "GSM2172585 1", - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "sequencing_input_type": "cell_suspension" - } - ], - "sequencing_processes": [ - { - "document_id": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4" - } - ], - "specimens": [ - { - "has_input_biomaterial": "~null", - "_source": "specimen_from_organism", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "disease": [ - "normal" - ], - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": "~null", - "preservation_method": "~null", - "_type": "specimen" - } - ], - "organoids": [], - "cell_lines": [], - "donors": [ - { - "document_id": "7b07b9d0-cc0e-4098-9f64-f4a569f7d746", - "biomaterial_id": "DID_scRSq06", - "genus_species": [ - "Australopithecus" - ], - "development_stage": "~null", - "diseases": [ - "normal" - ], - "organism_age": "38 year", - "organism_age_range": { - "gte": 1198368000.0, - "lte": 1198368000.0 - }, - "biological_sex": "female" - } - ], - "cell_suspensions": [ - { - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "biomaterial_id": "GSM2172585 1", - "selected_cell_type": [ - "~null" - ], - "total_estimated_cells_redundant": 0, - "total_estimated_cells_redundant_": 0, - "total_estimated_cells": 1, - "total_estimated_cells_": 1, - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ] - } - ], - "files": [ - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_2.fastq.gz", - "crc32c": "54bb9c82", - "sha256": "465a230aa127376fa641f8b8f8cad3f08fef37c8aafc67be454f0f0e4e63d68d", - "size": 190330156, - "size_": 190330156, - "file_source": "~null", - "uuid": "74897eb7-0701-4e4f-9e6b-8b9521b2816b", - "drs_uri": "drs://mock_drs_domain.lan/74897eb7-0701-4e4f-9e6b-8b9521b2816b?version=2018-11-02T11%3A33%3A44.450442Z", - "version": "2018-11-02T11:33:44.450442Z", - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read2", - "lane_index": 9223372036854774784, - "lane_index_": null - } - ], - "analysis_protocols": [], - "imaging_protocols": [], - "library_preparation_protocols": [ - { - "document_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "library_construction_approach": "Smart-seq2", - "nucleic_acid_source": "single cell" - } - ], - "sequencing_protocols": [ - { - "document_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "instrument_manufacturer_model": "Illumina NextSeq 500", - "paired_end": 1 - } - ], - "projects": [ - { - "project_title": "Single cell transcriptome patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue", - "project_short_name": "Single of human pancreas", - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "laboratory": [ - "John Dear" - ], - "institutions": [ - "Farmers Trucks", - "University" - ], - "contact_names": [ - "Laura,,Huerta", - "Martin, Enge", - "Matthew,,Green" - ], - "contributors": [ - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "corresponding_contributor": 0, - "project_role": "external curator" - }, - { - "contact_name": "Martin, Enge", - "email": "martin.enge@gmail.com", - "institution": "University", - "laboratory": "~null", - "corresponding_contributor": 9223372036854774784, - "project_role": "~null" - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "corresponding_contributor": 0, - "project_role": "Human Cell Atlas wrangler" - } - ], - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "publication_titles": [ - "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns." - ], - "publications": [ - { - "doi": "10.1016/j.cell.2017.09.004", - "official_hca_publication": 9223372036854774784, - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "_type": "project", - "accessions": [], - "bionetwork_name": ["~null"], - "is_tissue_atlas_project": 0, - "tissue_atlas": [], - "estimated_cell_count": 9223372036854774784, - "estimated_cell_count_": null, - "data_use_restriction": "~null", - "duos_id": "~null" - } - ], - "dates": [ - { - "aggregate_last_modified_date": "9999-01-01T00:00:00.000000Z", - "aggregate_submission_date": "9999-01-01T00:00:00.000000Z", - "aggregate_update_date": "9999-01-01T00:00:00.000000Z", - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "last_modified_date": "2018-11-02T10:35:03.810000Z", - "submission_date": "2018-11-02T10:03:39.593000Z", - "update_date": "2018-11-02T10:35:03.810000Z" - } - ] - } - } - }, - { - "_index": "azul_v2_dev_test_samples", - "_id": "a21dc760-a500-4236-bcff-da34a0e873d2_aaa96233-bf27-44c7-82df-b4dc15ad4d9d_2018-11-02T11:33:44.698028Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2_aaa96233-bf27-44c7-82df-b4dc15ad4d9d_2018-11-02T11:33:44.698028Z_exists", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "bundle_uuid": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "bundle_version": "2018-11-02T11:33:44.698028Z", - "bundle_deleted": false, - "contents": { - "samples": [ - { - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "entity_type": "specimens", - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "model_organ": "~null", - "model_organ_part": "~null", - "effective_organ": "pancreas" - } - ], - "sample_specimens": [ - { - "has_input_biomaterial": "~null", - "_source": "specimen_from_organism", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "disease": [ - "normal" - ], - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": "~null", - "preservation_method": "~null", - "_type": "specimen" - } - ], - "sequencing_inputs": [ - { - "biomaterial_id": "GSM2172585 1", - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "sequencing_input_type": "cell_suspension" - } - ], - "sequencing_processes": [ - { - "document_id": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4" - } - ], - "specimens": [ - { - "has_input_biomaterial": "~null", - "_source": "specimen_from_organism", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "disease": [ - "normal" - ], - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": "~null", - "preservation_method": "~null", - "_type": "specimen" - } - ], - "organoids": [], - "cell_lines": [], - "donors": [ - { - "document_id": "7b07b9d0-cc0e-4098-9f64-f4a569f7d746", - "biomaterial_id": "DID_scRSq06", - "genus_species": [ - "Australopithecus" - ], - "development_stage": "~null", - "diseases": [ - "normal" - ], - "organism_age": "38 year", - "organism_age_range": { - "gte": 1198368000.0, - "lte": 1198368000.0 - }, - "biological_sex": "female" - } - ], - "cell_suspensions": [ - { - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "biomaterial_id": "GSM2172585 1", - "selected_cell_type": [ - "~null" - ], - "total_estimated_cells_redundant": 0, - "total_estimated_cells_redundant_": 0, - "total_estimated_cells": 1, - "total_estimated_cells_": 1, - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ] - } - ], - "files": [ - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_2.fastq.gz", - "crc32c": "54bb9c82", - "sha256": "465a230aa127376fa641f8b8f8cad3f08fef37c8aafc67be454f0f0e4e63d68d", - "size": 190330156, - "size_": 190330156, - "file_source": "~null", - "uuid": "74897eb7-0701-4e4f-9e6b-8b9521b2816b", - "drs_uri": "drs://mock_drs_domain.lan/74897eb7-0701-4e4f-9e6b-8b9521b2816b?version=2018-11-02T11%3A33%3A44.450442Z", - "version": "2018-11-02T11:33:44.450442Z", - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read2", - "lane_index": 9223372036854774784, - "lane_index_": null - }, - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_1.fastq.gz", - "crc32c": "1d998e49", - "sha256": "77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a", - "size": 195142097, - "size_": 195142097, - "file_source": "~null", - "uuid": "7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb", - "drs_uri": "drs://mock_drs_domain.lan/7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb?version=2018-11-02T11%3A33%3A44.698028Z", - "version": "2018-11-02T11:33:44.698028Z", - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read1", - "lane_index": 9223372036854774784, - "lane_index_": null - } - ], - "analysis_protocols": [], - "imaging_protocols": [], - "library_preparation_protocols": [ - { - "document_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "library_construction_approach": "Smart-seq2", - "nucleic_acid_source": "single cell" - } - ], - "sequencing_protocols": [ - { - "document_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "instrument_manufacturer_model": "Illumina NextSeq 500", - "paired_end": 1 - } - ], - "projects": [ - { - "project_title": "Single cell transcriptome patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue", - "project_short_name": "Single of human pancreas", - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "laboratory": [ - "John Dear" - ], - "institutions": [ - "Farmers Trucks", - "University" - ], - "contact_names": [ - "Laura,,Huerta", - "Martin, Enge", - "Matthew,,Green" - ], - "contributors": [ - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "corresponding_contributor": 0, - "project_role": "external curator" - }, - { - "contact_name": "Martin, Enge", - "email": "martin.enge@gmail.com", - "institution": "University", - "laboratory": "~null", - "corresponding_contributor": 9223372036854774784, - "project_role": "~null" - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "corresponding_contributor": 0, - "project_role": "Human Cell Atlas wrangler" - } - ], - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "publication_titles": [ - "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns." - ], - "publications": [ - { - "doi": "10.1016/j.cell.2017.09.004", - "official_hca_publication": 9223372036854774784, - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "_type": "project", - "accessions": [], - "bionetwork_name": ["~null"], - "is_tissue_atlas_project": 0, - "tissue_atlas": [], - "estimated_cell_count": 9223372036854774784, - "estimated_cell_count_": null, - "data_use_restriction": "~null", - "duos_id": "~null" - } - ], - "dates": [ - { - "aggregate_last_modified_date": "9999-01-01T00:00:00.000000Z", - "aggregate_submission_date": "9999-01-01T00:00:00.000000Z", - "aggregate_update_date": "9999-01-01T00:00:00.000000Z", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "last_modified_date": "2018-11-02T10:09:26.517000Z", - "submission_date": "2018-11-02T10:02:12.298000Z", - "update_date": "2018-11-02T10:09:26.517000Z" - } - ] - } - } - }, - { - "_index": "azul_v2_dev_test_projects", - "_id": "e8642221-4c2c-4fd7-b926-a68bce363c88_aaa96233-bf27-44c7-82df-b4dc15ad4d9d_2018-11-02T11:33:44.698028Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88_aaa96233-bf27-44c7-82df-b4dc15ad4d9d_2018-11-02T11:33:44.698028Z_exists", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "bundle_uuid": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "bundle_version": "2018-11-02T11:33:44.698028Z", - "bundle_deleted": false, - "contents": { - "samples": [ - { - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "entity_type": "specimens", - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "model_organ": "~null", - "model_organ_part": "~null", - "effective_organ": "pancreas" - } - ], - "sample_specimens": [ - { - "has_input_biomaterial": "~null", - "_source": "specimen_from_organism", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "disease": [ - "normal" - ], - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": "~null", - "preservation_method": "~null", - "_type": "specimen" - } - ], - "sequencing_inputs": [ - { - "biomaterial_id": "GSM2172585 1", - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "sequencing_input_type": "cell_suspension" - } - ], - "sequencing_processes": [ - { - "document_id": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4" - } - ], - "specimens": [ - { - "has_input_biomaterial": "~null", - "_source": "specimen_from_organism", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "disease": [ - "normal" - ], - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": "~null", - "preservation_method": "~null", - "_type": "specimen" - } - ], - "organoids": [], - "cell_lines": [], - "donors": [ - { - "document_id": "7b07b9d0-cc0e-4098-9f64-f4a569f7d746", - "biomaterial_id": "DID_scRSq06", - "genus_species": [ - "Australopithecus" - ], - "development_stage": "~null", - "diseases": [ - "normal" - ], - "organism_age": "38 year", - "organism_age_range": { - "gte": 1198368000.0, - "lte": 1198368000.0 - }, - "biological_sex": "female" - } - ], - "cell_suspensions": [ - { - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "biomaterial_id": "GSM2172585 1", - "selected_cell_type": [ - "~null" - ], - "total_estimated_cells_redundant": 0, - "total_estimated_cells_redundant_": 0, - "total_estimated_cells": 1, - "total_estimated_cells_": 1, - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ] - } - ], - "files": [ - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_2.fastq.gz", - "crc32c": "54bb9c82", - "sha256": "465a230aa127376fa641f8b8f8cad3f08fef37c8aafc67be454f0f0e4e63d68d", - "size": 190330156, - "size_": 190330156, - "file_source": "~null", - "uuid": "74897eb7-0701-4e4f-9e6b-8b9521b2816b", - "drs_uri": "drs://mock_drs_domain.lan/74897eb7-0701-4e4f-9e6b-8b9521b2816b?version=2018-11-02T11%3A33%3A44.450442Z", - "version": "2018-11-02T11:33:44.450442Z", - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read2", - "lane_index": 9223372036854774784, - "lane_index_": null - }, - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_1.fastq.gz", - "crc32c": "1d998e49", - "sha256": "77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a", - "size": 195142097, - "size_": 195142097, - "file_source": "~null", - "uuid": "7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb", - "drs_uri": "drs://mock_drs_domain.lan/7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb?version=2018-11-02T11%3A33%3A44.698028Z", - "version": "2018-11-02T11:33:44.698028Z", - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read1", - "lane_index": 9223372036854774784, - "lane_index_": null - } - ], - "analysis_protocols": [], - "imaging_protocols": [], - "library_preparation_protocols": [ - { - "document_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "library_construction_approach": "Smart-seq2", - "nucleic_acid_source": "single cell" - } - ], - "sequencing_protocols": [ - { - "document_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "instrument_manufacturer_model": "Illumina NextSeq 500", - "paired_end": 1 - } - ], - "projects": [ - { - "project_title": "Single cell transcriptome patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue", - "project_short_name": "Single of human pancreas", - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "laboratory": [ - "John Dear" - ], - "institutions": [ - "Farmers Trucks", - "University" - ], - "contact_names": [ - "Laura,,Huerta", - "Martin, Enge", - "Matthew,,Green" - ], - "contributors": [ - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "corresponding_contributor": 0, - "project_role": "external curator" - }, - { - "contact_name": "Martin, Enge", - "email": "martin.enge@gmail.com", - "institution": "University", - "laboratory": "~null", - "corresponding_contributor": 9223372036854774784, - "project_role": "~null" - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "corresponding_contributor": 0, - "project_role": "Human Cell Atlas wrangler" - } - ], - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "publication_titles": [ - "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns." - ], - "publications": [ - { - "doi": "10.1016/j.cell.2017.09.004", - "official_hca_publication": 9223372036854774784, - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "_type": "project", - "accessions": [], - "bionetwork_name": ["~null"], - "is_tissue_atlas_project": 0, - "tissue_atlas": [], - "estimated_cell_count": 9223372036854774784, - "estimated_cell_count_": null, - "data_use_restriction": "~null", - "duos_id": "~null" - } - ], - "matrices": [], - "contributed_analyses": [], - "dates": [ - { - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "aggregate_last_modified_date": "2018-11-02T10:35:07.705000Z", - "aggregate_submission_date": "2018-11-02T10:02:12.133000Z", - "aggregate_update_date": "2018-11-02T10:35:07.705000Z", - "last_modified_date": "2018-11-02T10:07:39.499000Z", - "submission_date": "2018-11-02T10:02:12.133000Z", - "update_date": "2018-11-02T10:07:39.499000Z" - } - ] - } - } - }, - { - "_index": "azul_v2_dev_test_bundles_aggregate", - "_id": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "_score": 1.0, - "_source": { - "entity_id": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "sources": [ - { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - } - ], - "contents": { - "samples": [ - { - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "entity_type": [ - "specimens" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "model_organ": [ - "~null" - ], - "model_organ_part": [ - "~null" - ], - "effective_organ": [ - "pancreas" - ] - } - ], - "sample_specimens": [ - { - "has_input_biomaterial": [ - "~null" - ], - "_source": [ - "specimen_from_organism" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "disease": [ - "normal" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": [ - "~null" - ], - "preservation_method": [ - "~null" - ], - "_type": [ - "specimen" - ] - } - ], - "sequencing_inputs": [ - { - "biomaterial_id": [ - "GSM2172585 1" - ], - "document_id": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "sequencing_input_type": [ - "cell_suspension" - ] - } - ], - "sequencing_processes": [ - { - "document_id": [ - "771ddaf6-3a4f-4314-97fe-6294ff8e25a4" - ] - } - ], - "specimens": [ - { - "has_input_biomaterial": [ - "~null" - ], - "_source": [ - "specimen_from_organism" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "disease": [ - "normal" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": [ - "~null" - ], - "preservation_method": [ - "~null" - ], - "_type": [ - "specimen" - ] - } - ], - "cell_suspensions": [ - { - "document_id": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "biomaterial_id": [ - "GSM2172585 1" - ], - "total_estimated_cells_redundant": 0, - "total_estimated_cells_redundant_": 0, - "total_estimated_cells": 1, - "total_estimated_cells_": 1, - "selected_cell_type": [ - "~null" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ] - } - ], - "cell_lines": [], - "donors": [ - { - "document_id": [ - "7b07b9d0-cc0e-4098-9f64-f4a569f7d746" - ], - "biomaterial_id": [ - "DID_scRSq06" - ], - "donor_count": 1, - "donor_count_": 1, - "biological_sex": [ - "female" - ], - "genus_species": [ - "Australopithecus" - ], - "development_stage": [ - "~null" - ], - "diseases": [ - "normal" - ], - "organism_age": [ - "38 year" - ], - "organism_age_range": [ - { - "gte": 1198368000.0, - "lte": 1198368000.0 - } - ] - } - ], - "organoids": [], - "files": [ - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_2.fastq.gz", - "crc32c": "54bb9c82", - "sha256": "465a230aa127376fa641f8b8f8cad3f08fef37c8aafc67be454f0f0e4e63d68d", - "size": 190330156, - "size_": 190330156, - "file_source": "~null", - "uuid": "74897eb7-0701-4e4f-9e6b-8b9521b2816b", - "drs_uri": "drs://mock_drs_domain.lan/74897eb7-0701-4e4f-9e6b-8b9521b2816b?version=2018-11-02T11%3A33%3A44.450442Z", - "version": "2018-11-02T11:33:44.450442Z", - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read2", - "lane_index": 9223372036854774784, - "lane_index_": null - }, - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_1.fastq.gz", - "crc32c": "1d998e49", - "sha256": "77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a", - "size": 195142097, - "size_": 195142097, - "file_source": "~null", - "uuid": "7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb", - "drs_uri": "drs://mock_drs_domain.lan/7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb?version=2018-11-02T11%3A33%3A44.698028Z", - "version": "2018-11-02T11:33:44.698028Z", - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read1", - "lane_index": 9223372036854774784, - "lane_index_": null - } - ], - "analysis_protocols": [], - "imaging_protocols": [], - "library_preparation_protocols": [ - { - "document_id": [ - "9c32cf70-3ed7-4720-badc-5ee71e8a38af" - ], - "library_construction_approach": [ - "Smart-seq2" - ], - "nucleic_acid_source": [ - "single cell" - ] - } - ], - "sequencing_protocols": [ - { - "document_id": [ - "61e629ed-0135-4492-ac8a-5c4ab3ccca8a" - ], - "instrument_manufacturer_model": [ - "Illumina NextSeq 500" - ], - "paired_end": [ - 1 - ] - } - ], - "projects": [ - { - "project_title": [ - "Single cell transcriptome patterns." - ], - "project_short_name": [ - "Single of human pancreas" - ], - "laboratory": [ - "John Dear" - ], - "institutions": [ - "Farmers Trucks", - "University" - ], - "document_id": [ - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ], - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "publication_titles": [ - "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns." - ], - "_type": [ - "project" - ], - "accessions": [], - "bionetwork_name": ["~null"], - "is_tissue_atlas_project": [0], - "tissue_atlas": [], - "estimated_cell_count": 9223372036854774784, - "estimated_cell_count_": null, - "data_use_restriction": ["~null"], - "duos_id": ["~null"] - } - ], - "matrices": [], - "contributed_analyses": [], - "dates": [ - { - "aggregate_last_modified_date": "2018-11-02T10:35:07.705000Z", - "aggregate_submission_date": "2018-11-02T10:02:12.133000Z", - "aggregate_update_date": "2018-11-02T10:35:07.705000Z", - "last_modified_date": "2018-11-02T11:33:44.698028Z", - "submission_date": "2018-11-02T11:33:44.698028Z", - "update_date": "2018-11-02T11:33:44.698028Z" - } - ] - }, - "num_contributions": 1, - "bundles": [ - { - "uuid": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "version": "2018-11-02T11:33:44.698028Z" - } - ], - "cell_count": 1, - "cell_count_": 1, - "effective_cell_count": 1, - "effective_cell_count_": 1 - } - }, - { - "_index": "azul_v2_dev_test_files_aggregate", - "_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "_score": 1.0, - "_source": { - "entity_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "sources": [ - { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - } - ], - "contents": { - "samples": [ - { - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "entity_type": [ - "specimens" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "model_organ": [ - "~null" - ], - "model_organ_part": [ - "~null" - ], - "effective_organ": [ - "pancreas" - ] - } - ], - "sample_specimens": [ - { - "has_input_biomaterial": [ - "~null" - ], - "_source": [ - "specimen_from_organism" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "disease": [ - "normal" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": [ - "~null" - ], - "preservation_method": [ - "~null" - ], - "_type": [ - "specimen" - ] - } - ], - "sequencing_inputs": [ - { - "biomaterial_id": [ - "GSM2172585 1" - ], - "document_id": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "sequencing_input_type": [ - "cell_suspension" - ] - } - ], - "sequencing_processes": [ - { - "document_id": [ - "771ddaf6-3a4f-4314-97fe-6294ff8e25a4" - ] - } - ], - "specimens": [ - { - "has_input_biomaterial": [ - "~null" - ], - "_source": [ - "specimen_from_organism" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "disease": [ - "normal" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": [ - "~null" - ], - "preservation_method": [ - "~null" - ], - "_type": [ - "specimen" - ] - } - ], - "organoids": [], - "cell_lines": [], - "donors": [ - { - "document_id": [ - "7b07b9d0-cc0e-4098-9f64-f4a569f7d746" - ], - "biomaterial_id": [ - "DID_scRSq06" - ], - "donor_count": 1, - "donor_count_": 1, - "genus_species": [ - "Australopithecus" - ], - "development_stage": [ - "~null" - ], - "diseases": [ - "normal" - ], - "organism_age": [ - "38 year" - ], - "organism_age_range": [ - { - "gte": 1198368000.0, - "lte": 1198368000.0 - } - ], - "biological_sex": [ - "female" - ] - } - ], - "cell_suspensions": [ - { - "document_id": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "biomaterial_id": [ - "GSM2172585 1" - ], - "selected_cell_type": [ - "~null" - ], - "total_estimated_cells_redundant": 0, - "total_estimated_cells_redundant_": 0, - "total_estimated_cells": 1, - "total_estimated_cells_": 1, - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ] - } - ], - "files": [ - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_1.fastq.gz", - "crc32c": "1d998e49", - "sha256": "77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a", - "size": 195142097, - "size_": 195142097, - "file_source": "~null", - "uuid": "7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb", - "drs_uri": "drs://mock_drs_domain.lan/7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb?version=2018-11-02T11%3A33%3A44.698028Z", - "version": "2018-11-02T11:33:44.698028Z", - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read1", - "lane_index": 9223372036854774784, - "lane_index_": null - } - ], - "analysis_protocols": [], - "imaging_protocols": [], - "library_preparation_protocols": [ - { - "document_id": [ - "9c32cf70-3ed7-4720-badc-5ee71e8a38af" - ], - "library_construction_approach": [ - "Smart-seq2" - ], - "nucleic_acid_source": [ - "single cell" - ] - } - ], - "sequencing_protocols": [ - { - "document_id": [ - "61e629ed-0135-4492-ac8a-5c4ab3ccca8a" - ], - "instrument_manufacturer_model": [ - "Illumina NextSeq 500" - ], - "paired_end": [ - 1 - ] - } - ], - "projects": [ - { - "project_title": [ - "Single cell transcriptome patterns." - ], - "project_short_name": [ - "Single of human pancreas" - ], - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "laboratory": [ - "John Dear" - ], - "institutions": [ - "Farmers Trucks", - "University" - ], - "document_id": [ - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ], - "publication_titles": [ - "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns." - ], - "_type": [ - "project" - ], - "accessions": [], - "bionetwork_name": ["~null"], - "is_tissue_atlas_project": [0], - "tissue_atlas": [], - "estimated_cell_count": 9223372036854774784, - "estimated_cell_count_": null, - "data_use_restriction": ["~null"], - "duos_id": ["~null"] - } - ], - "dates": [ - { - "aggregate_last_modified_date": "9999-01-01T00:00:00.000000Z", - "aggregate_submission_date": "9999-01-01T00:00:00.000000Z", - "aggregate_update_date": "9999-01-01T00:00:00.000000Z", - "last_modified_date": "2018-11-02T10:35:07.705000Z", - "submission_date": "2018-11-02T10:03:39.600000Z", - "update_date": "2018-11-02T10:35:07.705000Z" - } - ] - }, - "num_contributions": 1, - "bundles": [ - { - "uuid": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "version": "2018-11-02T11:33:44.698028Z" - } - ], - "cell_count": 1, - "cell_count_": 1, - "effective_cell_count": 1, - "effective_cell_count_": 1 - } - }, - { - "_index": "azul_v2_dev_test_files_aggregate", - "_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "_score": 1.0, - "_source": { - "entity_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "sources": [ - { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - } - ], - "contents": { - "samples": [ - { - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "entity_type": [ - "specimens" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "model_organ": [ - "~null" - ], - "model_organ_part": [ - "~null" - ], - "effective_organ": [ - "pancreas" - ] - } - ], - "sample_specimens": [ - { - "has_input_biomaterial": [ - "~null" - ], - "_source": [ - "specimen_from_organism" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "disease": [ - "normal" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": [ - "~null" - ], - "preservation_method": [ - "~null" - ], - "_type": [ - "specimen" - ] - } - ], - "sequencing_inputs": [ - { - "biomaterial_id": [ - "GSM2172585 1" - ], - "document_id": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "sequencing_input_type": [ - "cell_suspension" - ] - } - ], - "sequencing_processes": [ - { - "document_id": [ - "771ddaf6-3a4f-4314-97fe-6294ff8e25a4" - ] - } - ], - "specimens": [ - { - "has_input_biomaterial": [ - "~null" - ], - "_source": [ - "specimen_from_organism" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "disease": [ - "normal" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": [ - "~null" - ], - "preservation_method": [ - "~null" - ], - "_type": [ - "specimen" - ] - } - ], - "organoids": [], - "cell_lines": [], - "donors": [ - { - "document_id": [ - "7b07b9d0-cc0e-4098-9f64-f4a569f7d746" - ], - "biomaterial_id": [ - "DID_scRSq06" - ], - "donor_count": 1, - "donor_count_": 1, - "genus_species": [ - "Australopithecus" - ], - "development_stage": [ - "~null" - ], - "diseases": [ - "normal" - ], - "organism_age": [ - "38 year" - ], - "organism_age_range": [ - { - "gte": 1198368000.0, - "lte": 1198368000.0 - } - ], - "biological_sex": [ - "female" - ] - } - ], - "cell_suspensions": [ - { - "document_id": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "biomaterial_id": [ - "GSM2172585 1" - ], - "selected_cell_type": [ - "~null" - ], - "total_estimated_cells_redundant": 0, - "total_estimated_cells_redundant_": 0, - "total_estimated_cells": 1, - "total_estimated_cells_": 1, - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ] - } - ], - "files": [ - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_2.fastq.gz", - "crc32c": "54bb9c82", - "sha256": "465a230aa127376fa641f8b8f8cad3f08fef37c8aafc67be454f0f0e4e63d68d", - "size": 190330156, - "size_": 190330156, - "file_source": "~null", - "uuid": "74897eb7-0701-4e4f-9e6b-8b9521b2816b", - "drs_uri": "drs://mock_drs_domain.lan/74897eb7-0701-4e4f-9e6b-8b9521b2816b?version=2018-11-02T11%3A33%3A44.450442Z", - "version": "2018-11-02T11:33:44.450442Z", - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read2", - "lane_index": 9223372036854774784, - "lane_index_": null - } - ], - "analysis_protocols": [], - "imaging_protocols": [], - "library_preparation_protocols": [ - { - "document_id": [ - "9c32cf70-3ed7-4720-badc-5ee71e8a38af" - ], - "library_construction_approach": [ - "Smart-seq2" - ], - "nucleic_acid_source": [ - "single cell" - ] - } - ], - "sequencing_protocols": [ - { - "document_id": [ - "61e629ed-0135-4492-ac8a-5c4ab3ccca8a" - ], - "instrument_manufacturer_model": [ - "Illumina NextSeq 500" - ], - "paired_end": [ - 1 - ] - } - ], - "projects": [ - { - "project_title": [ - "Single cell transcriptome patterns." - ], - "project_short_name": [ - "Single of human pancreas" - ], - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "laboratory": [ - "John Dear" - ], - "institutions": [ - "Farmers Trucks", - "University" - ], - "document_id": [ - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ], - "publication_titles": [ - "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns." - ], - "_type": [ - "project" - ], - "accessions": [], - "bionetwork_name": ["~null"], - "is_tissue_atlas_project": [0], - "tissue_atlas": [], - "estimated_cell_count": 9223372036854774784, - "estimated_cell_count_": null, - "data_use_restriction": ["~null"], - "duos_id": ["~null"] - } - ], - "dates": [ - { - "aggregate_last_modified_date": "9999-01-01T00:00:00.000000Z", - "aggregate_submission_date": "9999-01-01T00:00:00.000000Z", - "aggregate_update_date": "9999-01-01T00:00:00.000000Z", - "last_modified_date": "2018-11-02T10:35:03.810000Z", - "submission_date": "2018-11-02T10:03:39.593000Z", - "update_date": "2018-11-02T10:35:03.810000Z" - } - ] - }, - "num_contributions": 1, - "bundles": [ - { - "uuid": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "version": "2018-11-02T11:33:44.698028Z" - } - ], - "cell_count": 1, - "cell_count_": 1, - "effective_cell_count": 1, - "effective_cell_count_": 1 - } - }, - { - "_index": "azul_v2_dev_test_samples_aggregate", - "_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "_score": 1.0, - "_source": { - "entity_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "sources": [ - { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - } - ], - "contents": { - "samples": [ - { - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "entity_type": "specimens", - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "model_organ": "~null", - "model_organ_part": "~null", - "effective_organ": "pancreas" - } - ], - "sample_specimens": [ - { - "has_input_biomaterial": "~null", - "_source": "specimen_from_organism", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "disease": [ - "normal" - ], - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": "~null", - "preservation_method": "~null", - "_type": "specimen" - } - ], - "sequencing_inputs": [ - { - "biomaterial_id": [ - "GSM2172585 1" - ], - "document_id": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "sequencing_input_type": [ - "cell_suspension" - ] - } - ], - "sequencing_processes": [ - { - "document_id": [ - "771ddaf6-3a4f-4314-97fe-6294ff8e25a4" - ] - } - ], - "specimens": [ - { - "has_input_biomaterial": [ - "~null" - ], - "_source": [ - "specimen_from_organism" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "disease": [ - "normal" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": [ - "~null" - ], - "preservation_method": [ - "~null" - ], - "_type": [ - "specimen" - ] - } - ], - "organoids": [], - "cell_lines": [], - "donors": [ - { - "document_id": [ - "7b07b9d0-cc0e-4098-9f64-f4a569f7d746" - ], - "biomaterial_id": [ - "DID_scRSq06" - ], - "donor_count": 1, - "donor_count_": 1, - "genus_species": [ - "Australopithecus" - ], - "development_stage": [ - "~null" - ], - "diseases": [ - "normal" - ], - "organism_age": [ - "38 year" - ], - "organism_age_range": [ - { - "gte": 1198368000.0, - "lte": 1198368000.0 - } - ], - "biological_sex": [ - "female" - ] - } - ], - "cell_suspensions": [ - { - "document_id": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "biomaterial_id": [ - "GSM2172585 1" - ], - "selected_cell_type": [ - "~null" - ], - "total_estimated_cells_redundant": 0, - "total_estimated_cells_redundant_": 0, - "total_estimated_cells": 1, - "total_estimated_cells_": 1, - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ] - } - ], - "files": [ - { - "size": 385472253, - "size_": 385472253, - "file_source": [ - "~null" - ], - "file_format": "fastq.gz", - "matrix_cell_count": 9223372036854774784, - "matrix_cell_count_": null, - "count": 2, - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784 - } - ], - "analysis_protocols": [], - "imaging_protocols": [], - "library_preparation_protocols": [ - { - "document_id": [ - "9c32cf70-3ed7-4720-badc-5ee71e8a38af" - ], - "library_construction_approach": [ - "Smart-seq2" - ], - "nucleic_acid_source": [ - "single cell" - ] - } - ], - "sequencing_protocols": [ - { - "document_id": [ - "61e629ed-0135-4492-ac8a-5c4ab3ccca8a" - ], - "instrument_manufacturer_model": [ - "Illumina NextSeq 500" - ], - "paired_end": [ - 1 - ] - } - ], - "projects": [ - { - "project_title": [ - "Single cell transcriptome patterns." - ], - "project_short_name": [ - "Single of human pancreas" - ], - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "laboratory": [ - "John Dear" - ], - "institutions": [ - "Farmers Trucks", - "University" - ], - "document_id": [ - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ], - "publication_titles": [ - "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns." - ], - "_type": [ - "project" - ], - "accessions": [], - "bionetwork_name": ["~null"], - "is_tissue_atlas_project": [0], - "tissue_atlas": [], - "estimated_cell_count": 9223372036854774784, - "estimated_cell_count_": null, - "data_use_restriction": ["~null"], - "duos_id": ["~null"] - } - ], - "dates": [ - { - "aggregate_last_modified_date": "9999-01-01T00:00:00.000000Z", - "aggregate_submission_date": "9999-01-01T00:00:00.000000Z", - "aggregate_update_date": "9999-01-01T00:00:00.000000Z", - "last_modified_date": "2018-11-02T10:09:26.517000Z", - "submission_date": "2018-11-02T10:02:12.298000Z", - "update_date": "2018-11-02T10:09:26.517000Z" - } - ] - }, - "num_contributions": 1, - "bundles": [ - { - "uuid": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "version": "2018-11-02T11:33:44.698028Z" - } - ], - "cell_count": 1, - "cell_count_": 1, - "effective_cell_count": 1, - "effective_cell_count_": 1 - } - }, - { - "_index": "azul_v2_dev_test_projects_aggregate", - "_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "_score": 1.0, - "_source": { - "entity_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "sources": [ - { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - } - ], - "contents": { - "samples": [ - { - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "entity_type": [ - "specimens" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "model_organ": [ - "~null" - ], - "model_organ_part": [ - "~null" - ], - "effective_organ": [ - "pancreas" - ] - } - ], - "sample_specimens": [ - { - "has_input_biomaterial": [ - "~null" - ], - "_source": [ - "specimen_from_organism" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "disease": [ - "normal" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": [ - "~null" - ], - "preservation_method": [ - "~null" - ], - "_type": [ - "specimen" - ] - } - ], - "sequencing_inputs": [ - { - "biomaterial_id": [ - "GSM2172585 1" - ], - "document_id": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "sequencing_input_type": [ - "cell_suspension" - ] - } - ], - "sequencing_processes": [ - { - "document_id": [ - "771ddaf6-3a4f-4314-97fe-6294ff8e25a4" - ] - } - ], - "specimens": [ - { - "has_input_biomaterial": [ - "~null" - ], - "_source": [ - "specimen_from_organism" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "disease": [ - "normal" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": [ - "~null" - ], - "preservation_method": [ - "~null" - ], - "_type": [ - "specimen" - ] - } - ], - "organoids": [], - "cell_lines": [], - "donors": [ - { - "document_id": [ - "7b07b9d0-cc0e-4098-9f64-f4a569f7d746" - ], - "biomaterial_id": [ - "DID_scRSq06" - ], - "donor_count": 1, - "donor_count_": 1, - "genus_species": [ - "Australopithecus" - ], - "development_stage": [ - "~null" - ], - "diseases": [ - "normal" - ], - "organism_age": [ - "38 year" - ], - "organism_age_range": [ - { - "gte": 1198368000.0, - "lte": 1198368000.0 - } - ], - "biological_sex": [ - "female" - ] - } - ], - "cell_suspensions": [ - { - "document_id": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "biomaterial_id": [ - "GSM2172585 1" - ], - "selected_cell_type": [ - "~null" - ], - "total_estimated_cells_redundant": 0, - "total_estimated_cells_redundant_": 0, - "total_estimated_cells": 1, - "total_estimated_cells_": 1, - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ] - } - ], - "files": [ - { - "size": 385472253, - "size_": 385472253, - "file_source": [ - "~null" - ], - "file_format": "fastq.gz", - "matrix_cell_count": 9223372036854774784, - "matrix_cell_count_": null, - "count": 2, - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784 - } - ], - "analysis_protocols": [], - "imaging_protocols": [], - "library_preparation_protocols": [ - { - "document_id": [ - "9c32cf70-3ed7-4720-badc-5ee71e8a38af" - ], - "library_construction_approach": [ - "Smart-seq2" - ], - "nucleic_acid_source": [ - "single cell" - ] - } - ], - "sequencing_protocols": [ - { - "document_id": [ - "61e629ed-0135-4492-ac8a-5c4ab3ccca8a" - ], - "instrument_manufacturer_model": [ - "Illumina NextSeq 500" - ], - "paired_end": [ - 1 - ] - } - ], - "projects": [ - { - "project_title": "Single cell transcriptome patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue", - "project_short_name": "Single of human pancreas", - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "laboratory": [ - "John Dear" - ], - "institutions": [ - "Farmers Trucks", - "University" - ], - "contact_names": [ - "Laura,,Huerta", - "Martin, Enge", - "Matthew,,Green" - ], - "contributors": [ - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "corresponding_contributor": 0, - "project_role": "external curator" - }, - { - "contact_name": "Martin, Enge", - "email": "martin.enge@gmail.com", - "institution": "University", - "laboratory": "~null", - "corresponding_contributor": 9223372036854774784, - "project_role": "~null" - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "corresponding_contributor": 0, - "project_role": "Human Cell Atlas wrangler" - } - ], - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "publication_titles": [ - "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns." - ], - "publications": [ - { - "doi": "10.1016/j.cell.2017.09.004", - "official_hca_publication": 9223372036854774784, - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "_type": "project", - "accessions": [], - "bionetwork_name": ["~null"], - "is_tissue_atlas_project": 0, - "tissue_atlas": [], - "estimated_cell_count": 9223372036854774784, - "estimated_cell_count_": null, - "data_use_restriction": "~null", - "duos_id": "~null" - } - ], - "matrices": [], - "contributed_analyses": [], - "dates": [ - { - "aggregate_last_modified_date": "2018-11-02T10:35:07.705000Z", - "aggregate_submission_date": "2018-11-02T10:02:12.133000Z", - "aggregate_update_date": "2018-11-02T10:35:07.705000Z", - "last_modified_date": "2018-11-02T10:07:39.499000Z", - "submission_date": "2018-11-02T10:02:12.133000Z", - "update_date": "2018-11-02T10:07:39.499000Z" - } - ] - }, - "num_contributions": 1, - "bundles": [ - { - "uuid": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "version": "2018-11-02T11:33:44.698028Z" - } - ], - "cell_count": 1, - "cell_count_": 1, - "effective_cell_count": 1, - "effective_cell_count_": 1 - } - }, - { - "_index": "azul_v2_dev_test_cell_suspensions", - "_id": "412898c5-5b9b-4907-b07c-e9b89666e204_aaa96233-bf27-44c7-82df-b4dc15ad4d9d_2018-11-02T11:33:44.698028Z_exists", - "_score": 1.0, - "_source": { - "entity_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204_aaa96233-bf27-44c7-82df-b4dc15ad4d9d_2018-11-02T11:33:44.698028Z_exists", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "contents": { - "samples": [ - { - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "entity_type": "specimens", - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "model_organ": "~null", - "model_organ_part": "~null", - "effective_organ": "pancreas" - } - ], - "sample_specimens": [ - { - "has_input_biomaterial": "~null", - "_source": "specimen_from_organism", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "disease": [ - "normal" - ], - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": "~null", - "preservation_method": "~null", - "_type": "specimen" - } - ], - "sequencing_inputs": [ - { - "biomaterial_id": "GSM2172585 1", - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "sequencing_input_type": "cell_suspension" - } - ], - "sequencing_processes": [ - { - "document_id": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4" - } - ], - "specimens": [ - { - "has_input_biomaterial": "~null", - "_source": "specimen_from_organism", - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "biomaterial_id": "DID_scRSq06_pancreas", - "disease": [ - "normal" - ], - "organ": "pancreas", - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": "~null", - "preservation_method": "~null", - "_type": "specimen" - } - ], - "cell_suspensions": [ - { - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "biomaterial_id": "GSM2172585 1", - "total_estimated_cells_redundant": 0, - "total_estimated_cells_redundant_": 0, - "total_estimated_cells": 1, - "total_estimated_cells_": 1, - "selected_cell_type": [ - "~null" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ] - } - ], - "cell_lines": [], - "donors": [ - { - "document_id": "7b07b9d0-cc0e-4098-9f64-f4a569f7d746", - "biomaterial_id": "DID_scRSq06", - "biological_sex": "female", - "genus_species": [ - "Australopithecus" - ], - "development_stage": "~null", - "diseases": [ - "normal" - ], - "organism_age": "38 year", - "organism_age_range": { - "gte": 1198368000.0, - "lte": 1198368000.0 - } - } - ], - "organoids": [], - "files": [ - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_2.fastq.gz", - "crc32c": "54bb9c82", - "sha256": "465a230aa127376fa641f8b8f8cad3f08fef37c8aafc67be454f0f0e4e63d68d", - "size": 190330156, - "size_": 190330156, - "file_source": "~null", - "uuid": "74897eb7-0701-4e4f-9e6b-8b9521b2816b", - "drs_uri": "drs://mock_drs_domain.lan/74897eb7-0701-4e4f-9e6b-8b9521b2816b?version=2018-11-02T11%3A33%3A44.450442Z", - "version": "2018-11-02T11:33:44.450442Z", - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read2", - "lane_index": 9223372036854774784, - "lane_index_": null - }, - { - "related_files": [], - "content-type": "application/gzip; dcp-type=data", - "indexed": 0, - "name": "SRR3562915_1.fastq.gz", - "crc32c": "1d998e49", - "sha256": "77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a", - "size": 195142097, - "size_": 195142097, - "file_source": "~null", - "uuid": "7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb", - "drs_uri": "drs://mock_drs_domain.lan/7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb?version=2018-11-02T11%3A33%3A44.698028Z", - "version": "2018-11-02T11:33:44.698028Z", - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "file_type": "sequence_file", - "file_format": "fastq.gz", - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784, - "_type": "file", - "read_index": "read1", - "lane_index": 9223372036854774784, - "lane_index_": null - } - ], - "analysis_protocols": [], - "imaging_protocols": [], - "library_preparation_protocols": [ - { - "document_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "library_construction_approach": "Smart-seq2", - "nucleic_acid_source": "single cell" - } - ], - "sequencing_protocols": [ - { - "document_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "instrument_manufacturer_model": "Illumina NextSeq 500", - "paired_end": 1 - } - ], - "projects": [ - { - "project_title": "Single cell transcriptome patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue", - "project_short_name": "Single of human pancreas", - "laboratory": [ - "John Dear" - ], - "institutions": [ - "Farmers Trucks", - "University" - ], - "contact_names": [ - "Laura,,Huerta", - "Martin, Enge", - "Matthew,,Green" - ], - "contributors": [ - { - "contact_name": "Laura,,Huerta", - "corresponding_contributor": 0, - "email": "lauhuema@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "project_role": "external curator" - }, - { - "contact_name": "Martin, Enge", - "corresponding_contributor": 9223372036854774784, - "email": "martin.enge@gmail.com", - "institution": "University", - "laboratory": "~null", - "project_role": "~null" - }, - { - "contact_name": "Matthew,,Green", - "corresponding_contributor": 0, - "email": "hewgreen@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "project_role": "Human Cell Atlas wrangler" - } - ], - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "publication_titles": [ - "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns." - ], - "publications": [ - { - "doi": "10.1016/j.cell.2017.09.004", - "official_hca_publication": 9223372036854774784, - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "_type": "project", - "accessions": [], - "bionetwork_name": ["~null"], - "is_tissue_atlas_project": 0, - "tissue_atlas": [], - "estimated_cell_count": 9223372036854774784, - "estimated_cell_count_": null, - "data_use_restriction": "~null", - "duos_id": "~null" - } - ], - "dates": [ - { - "aggregate_last_modified_date": "9999-01-01T00:00:00.000000Z", - "aggregate_submission_date": "9999-01-01T00:00:00.000000Z", - "aggregate_update_date": "9999-01-01T00:00:00.000000Z", - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "last_modified_date": "2018-11-02T10:10:10.908000Z", - "submission_date": "2018-11-02T10:02:28.599000Z", - "update_date": "2018-11-02T10:10:10.908000Z" - } - ] - }, - "bundle_uuid": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "bundle_version": "2018-11-02T11:33:44.698028Z", - "bundle_deleted": false - } - }, - { - "_index": "azul_v2_dev_test_cell_suspensions_aggregate", - "_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "_score": 1.0, - "_source": { - "entity_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "sources": [ - { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - } - ], - "contents": { - "samples": [ - { - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "entity_type": [ - "specimens" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "model_organ": [ - "~null" - ], - "model_organ_part": [ - "~null" - ], - "effective_organ": [ - "pancreas" - ] - } - ], - "sample_specimens": [ - { - "has_input_biomaterial": [ - "~null" - ], - "_source": [ - "specimen_from_organism" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "disease": [ - "normal" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": [ - "~null" - ], - "preservation_method": [ - "~null" - ], - "_type": [ - "specimen" - ] - } - ], - "sequencing_inputs": [ - { - "biomaterial_id": [ - "GSM2172585 1" - ], - "document_id": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "sequencing_input_type": [ - "cell_suspension" - ] - } - ], - "sequencing_processes": [ - { - "document_id": [ - "771ddaf6-3a4f-4314-97fe-6294ff8e25a4" - ] - } - ], - "specimens": [ - { - "has_input_biomaterial": [ - "~null" - ], - "_source": [ - "specimen_from_organism" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "disease": [ - "normal" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "storage_method": [ - "~null" - ], - "preservation_method": [ - "~null" - ], - "_type": [ - "specimen" - ] - } - ], - "cell_suspensions": [ - { - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "biomaterial_id": "GSM2172585 1", - "total_estimated_cells_redundant": 0, - "total_estimated_cells_redundant_": 0, - "total_estimated_cells": 1, - "total_estimated_cells_": 1, - "selected_cell_type": [ - "~null" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ] - } - ], - "cell_lines": [], - "donors": [ - { - "document_id": [ - "7b07b9d0-cc0e-4098-9f64-f4a569f7d746" - ], - "biomaterial_id": [ - "DID_scRSq06" - ], - "donor_count": 1, - "donor_count_": 1, - "biological_sex": [ - "female" - ], - "genus_species": [ - "Australopithecus" - ], - "development_stage": [ - "~null" - ], - "diseases": [ - "normal" - ], - "organism_age": [ - "38 year" - ], - "organism_age_range": [ - { - "gte": 1198368000.0, - "lte": 1198368000.0 - } - ] - } - ], - "organoids": [], - "files": [ - { - "size": 385472253, - "size_": 385472253, - "file_source": [ - "~null" - ], - "file_format": "fastq.gz", - "matrix_cell_count": 9223372036854774784, - "matrix_cell_count_": null, - "count": 2, - "content_description": [ - "~null" - ], - "is_intermediate": 9223372036854774784 - } - ], - "analysis_protocols": [], - "imaging_protocols": [], - "library_preparation_protocols": [ - { - "document_id": [ - "9c32cf70-3ed7-4720-badc-5ee71e8a38af" - ], - "library_construction_approach": [ - "Smart-seq2" - ], - "nucleic_acid_source": [ - "single cell" - ] - } - ], - "sequencing_protocols": [ - { - "document_id": [ - "61e629ed-0135-4492-ac8a-5c4ab3ccca8a" - ], - "instrument_manufacturer_model": [ - "Illumina NextSeq 500" - ], - "paired_end": [ - 1 - ] - } - ], - "projects": [ - { - "project_title": [ - "Single cell transcriptome patterns." - ], - "project_short_name": [ - "Single of human pancreas" - ], - "laboratory": [ - "John Dear" - ], - "institutions": [ - "Farmers Trucks", - "University" - ], - "document_id": [ - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ], - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "publication_titles": [ - "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns." - ], - "_type": [ - "project" - ], - "bionetwork_name": ["~null"], - "accessions": [], - "is_tissue_atlas_project": [0], - "tissue_atlas": [], - "estimated_cell_count": 9223372036854774784, - "estimated_cell_count_": null, - "data_use_restriction": ["~null"], - "duos_id": ["~null"] - } - ], - "dates": [ - { - "aggregate_last_modified_date": "9999-01-01T00:00:00.000000Z", - "aggregate_submission_date": "9999-01-01T00:00:00.000000Z", - "aggregate_update_date": "9999-01-01T00:00:00.000000Z", - "last_modified_date": "2018-11-02T10:10:10.908000Z", - "submission_date": "2018-11-02T10:02:28.599000Z", - "update_date": "2018-11-02T10:10:10.908000Z" - } - ] - }, - "num_contributions": 1, - "bundles": [ - { - "uuid": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "version": "2018-11-02T11:33:44.698028Z" - } - ], - "cell_count": 1, - "cell_count_": 1, - "effective_cell_count": 1, - "effective_cell_count_": 1 - } - }, - { - "_id": "sequence_file_0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb_4628c80cede8a4dd39584f8b50619edacc7f62e7", - "_index": "azul_v2_dev_test_replica", - "_score": 1.0, - "_source": { - "contents": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3562915_1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "read_length": 75, - "insdc_run": [ - "SRR3562915" - ], - "provenance": { - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "submission_date": "2018-11-02T10:03:39.600Z", - "update_date": "2018-11-02T10:35:07.705Z" - } - }, - "entity_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "replica_type": "sequence_file", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "hub_ids": [ - "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ] - } - }, - { - "_id": "cell_suspension_412898c5-5b9b-4907-b07c-e9b89666e204_f8ca7504548249c223277135af497beb5fba29df", - "_index": "azul_v2_dev_test_replica", - "_score": 1.0, - "_source": { - "contents": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "GSM2172585 1", - "biomaterial_description": "Single cell from human pancreas", - "ncbi_taxon_id": [ - 9606 - ], - "insdc_biomaterial": "SRS1459312" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "total_estimated_cells": 1, - "provenance": { - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "submission_date": "2018-11-02T10:02:28.599Z", - "update_date": "2018-11-02T10:10:10.908Z" - } - }, - "entity_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "replica_type": "cell_suspension", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "hub_ids": [ - "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "70d1af4a-82c8-478a-8960-e9028b3616ca", - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ] - } - }, - { - "_id": "sequence_file_70d1af4a-82c8-478a-8960-e9028b3616ca_8ee6fbddb7c933ebe39b31b977c51af21687f036", - "_index": "azul_v2_dev_test_replica", - "_score": 1.0, - "_source": { - "contents": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3562915_2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "read_length": 75, - "insdc_run": [ - "SRR3562915" - ], - "provenance": { - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "submission_date": "2018-11-02T10:03:39.593Z", - "update_date": "2018-11-02T10:35:03.810Z" - } - }, - "entity_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "replica_type": "sequence_file", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "hub_ids": [ - "70d1af4a-82c8-478a-8960-e9028b3616ca", - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ] - } - }, - { - "_id": "specimen_from_organism_a21dc760-a500-4236-bcff-da34a0e873d2_0bb754590d94de62d6fb15bdbac5f64f54072cb0", - "_index": "azul_v2_dev_test_replica", - "_score": 1.0, - "_source": { - "contents": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "DID_scRSq06_pancreas", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Australopithecus", - "ontology": "NCBITaxon:9606", - "ontology_label": "Australopithecus" - } - ], - "organ": { - "text": "pancreas", - "ontology": "UBERON:0001264", - "ontology_label": "pancreas" - }, - "organ_part": { - "text": "islet of Langerhans", - "ontology": "UBERON:0000006", - "ontology_label": "islet of Langerhans" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "submission_date": "2018-11-02T10:02:12.298Z", - "update_date": "2018-11-02T10:09:26.517Z" - } - }, - "entity_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "replica_type": "specimen_from_organism", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "hub_ids": [ - "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "70d1af4a-82c8-478a-8960-e9028b3616ca", - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ] - } - }, - { - "_id": "project_e8642221-4c2c-4fd7-b926-a68bce363c88_42d51043dcd0030b5ee9ce47fa30c85bcc92bac6", - "_index": "azul_v2_dev_test_replica", - "_score": 1.0, - "_source": { - "contents": { - "describedBy": "https://schema.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Single of human pancreas", - "project_title": "Single cell transcriptome patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue" - }, - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "insdc_project": "SRP075496", - "geo_series": "GSE81547", - "contributors": [ - { - "contact_name": "Martin, Enge", - "email": "martin.enge@gmail.com", - "institution": "University", - "address": "Bioengineering, Stanford University, James H. Clark Center, 318 Campus Drive,, Stanford, CA, USA", - "country": "USA" - }, - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "external curator", - "orcid_id": "0000-0002-8748-599X", - "corresponding_contributor": false - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "phone": "(+44) 122-349-4444", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2771-9894", - "corresponding_contributor": false - } - ], - "publications": [ - { - "authors": [ - "Enge M", - "Arda HE", - "Mignardi M", - "Beausang J", - "Bottino R", - "Kim SK", - "Quake SR" - ], - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "doi": "10.1016/j.cell.2017.09.004", - "pmid": 28965763, - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "provenance": { - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "submission_date": "2018-11-02T10:02:12.133Z", - "update_date": "2018-11-02T10:07:39.499Z" - } - }, - "entity_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "replica_type": "project", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "hub_ids": [ - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ] - } - }, - { - "_id": "donor_organism_7b07b9d0-cc0e-4098-9f64-f4a569f7d746_7dd78e18008a0c036bb25e84f7742c075e16873f", - "_index": "azul_v2_dummy_test_replica", - "_score": 1.0, - "_source": { - "contents": { - "biomaterial_core": { - "biomaterial_id": "DID_scRSq06", - "ncbi_taxon_id": [ - 9606 - ] - }, - "death": { - "cause_of_death": "stroke" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "diseases": [ - { - "ontology": "PATO:0000461", - "ontology_label": "normal", - "text": "normal" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Australopithecus", - "text": "Australopithecus" - } - ], - "human_specific": { - "body_mass_index": 29.5, - "ethnicity": [ - { - "ontology": "hancestro:0005", - "ontology_label": "European", - "text": "European" - } - ] - }, - "is_living": "no", - "organism_age": "38", - "organism_age_unit": { - "ontology": "UO:0000036", - "ontology_label": "year", - "text": "year" - }, - "provenance": { - "document_id": "7b07b9d0-cc0e-4098-9f64-f4a569f7d746", - "submission_date": "2018-11-02T10:02:12.191Z", - "update_date": "2018-11-02T10:07:39.622Z" - }, - "schema_type": "biomaterial", - "sex": "female" - }, - "entity_id": "7b07b9d0-cc0e-4098-9f64-f4a569f7d746", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "hub_ids": [ - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ], - "replica_type": "donor_organism" - } - }, - { - "_id": "library_preparation_protocol_9c32cf70-3ed7-4720-badc-5ee71e8a38af_33c8ff808fc57c3dcb4b3872d1dcbc859e45a85a", - "_index": "azul_v2_dummy_test_replica", - "_score": 1.0, - "_source": { - "contents": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "end_bias": "full length", - "input_nucleic_acid_molecule": { - "ontology": "OBI:0000869", - "text": "polyA RNA" - }, - "library_construction_approach": { - "ontology": "EFO:0008931", - "ontology_label": "Smart-seq2", - "text": "Smart-seq2" - }, - "library_construction_kit": { - "manufacturer": "Illumina", - "retail_name": "Nextera XT kit" - }, - "nucleic_acid_source": "single cell", - "primer": "poly-dT", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1" - }, - "provenance": { - "document_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "submission_date": "2018-11-02T10:05:05.547Z", - "update_date": "2018-11-02T10:05:10.360Z" - }, - "schema_type": "protocol", - "strand": "unstranded" - }, - "entity_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "hub_ids": [ - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ], - "replica_type": "library_preparation_protocol" - } - }, - { - "_id": "sequencing_protocol_61e629ed-0135-4492-ac8a-5c4ab3ccca8a_187e49da61e5d3fbf91f3a6cf626bc4ce3c2d2be", - "_index": "azul_v2_dummy_test_replica", - "_score": 1.0, - "_source": { - "contents": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/9.0.3/sequencing_protocol", - "instrument_manufacturer_model": { - "ontology": "EFO:0008566", - "ontology_label": "Illumina NextSeq 500", - "text": "Illumina NextSeq 500" - }, - "paired_end": true, - "protocol_core": { - "protocol_id": "sequencing_protocol_1" - }, - "provenance": { - "document_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "submission_date": "2018-11-02T10:05:05.555Z", - "update_date": "2018-11-02T10:05:10.376Z" - }, - "schema_type": "protocol", - "sequencing_approach": { - "ontology": "EFO:0008896", - "ontology_label": "RNA-Seq", - "text": "RNA-Seq" - } - }, - "entity_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "hub_ids": [ - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ], - "replica_type": "sequencing_protocol" - } - }, - { - "_id": "process_771ddaf6-3a4f-4314-97fe-6294ff8e25a4_2e08df0ed1adfe582cd63f4daef287d9a637cdf1", - "_index": "azul_v2_dummy_test_replica", - "_score": 1.0, - "_source": { - "contents": { - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "process_core": { - "process_id": "SRR3562915" - }, - "provenance": { - "document_id": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4", - "submission_date": "2018-11-02T10:06:37.087Z", - "update_date": "2018-11-02T10:13:43.197Z" - }, - "schema_type": "process" - }, - "entity_id": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4", - "source": { - "id": "42848d8f-ecdc-5b32-a667-a7b5aedfc9f5", - "spec": "https://fake_dss_instance/v1:/2" - }, - "hub_ids": [ - "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "70d1af4a-82c8-478a-8960-e9028b3616ca", - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ], - "replica_type": "process" - } - } -] diff --git a/test/indexer/data/aaa96233-bf27-44c7-82df-b4dc15ad4d9d.2018-11-04T11:33:44.698028Z.dss.hca.json b/test/indexer/data/aaa96233-bf27-44c7-82df-b4dc15ad4d9d.2018-11-04T11:33:44.698028Z.dss.hca.json deleted file mode 100644 index 08403796b8..0000000000 --- a/test/indexer/data/aaa96233-bf27-44c7-82df-b4dc15ad4d9d.2018-11-04T11:33:44.698028Z.dss.hca.json +++ /dev/null @@ -1,437 +0,0 @@ -{ - "manifest": { - "sequence_file/70d1af4a-82c8-478a-8960-e9028b3616ca": { - - "content-type": "application/gzip; dcp-type=data", - "crc32c": "54bb9c82", - "indexed": false, - "name": "SRR3562915_2.fastq.gz", - "s3_etag": "3d4f4f7be73366b6b33e3c191de5a19b-3", - "sha1": "240c10c9e43e624c6846b5a2ad74099df3b032fa", - "sha256": "465a230aa127376fa641f8b8f8cad3f08fef37c8aafc67be454f0f0e4e63d68d", - "size": 190330156, - "uuid": "74897eb7-0701-4e4f-9e6b-8b9521b2816b", - "version": "2018-11-04T11:33:44.450442Z" - }, - "sequence_file/0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "1d998e49", - "indexed": false, - "name": "SRR3562915_1.fastq.gz", - "s3_etag": "d13918af166036bcec185cb3c48204e9-3", - "sha1": "7ad306f154ce7de1a9a333cfd9100fc26ef652b4", - "sha256": "77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a", - "size": 195142097, - "uuid": "7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb", - "version": "2018-11-04T11:33:44.698028Z" - } - }, - "metadata": { - "cell_suspension/412898c5-5b9b-4907-b07c-e9b89666e204": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "GSM2172585 1", - "biomaterial_description": "Single cell from human pancreas", - "ncbi_taxon_id": [ - 9606 - ], - "insdc_biomaterial": "SRS1459312" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "total_estimated_cells": 1, - "provenance": { - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "submission_date": "2018-11-04T10:02:28.599Z", - "update_date": "2018-11-04T10:10:10.908Z" - } - }, - "specimen_from_organism/a21dc760-a500-4236-bcff-da34a0e873d2": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "DID_scRSq06_pancreas", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "pancreas", - "ontology": "UBERON:0001264", - "ontology_label": "pancreas" - }, - "organ_part": { - "text": "islet of Langerhans", - "ontology": "UBERON:0000006", - "ontology_label": "islet of Langerhans" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "submission_date": "2018-11-04T10:02:12.298Z", - "update_date": "2018-11-04T10:09:26.517Z" - } - }, - "donor_organism/7b07b9d0-cc0e-4098-9f64-f4a569f7d746": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "DID_scRSq06", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "is_living": "no", - "sex": "female", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "organism_age": "38", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "human_specific": { - "body_mass_index": 29.5, - "ethnicity": [ - { - "text": "European", - "ontology": "hancestro:0005", - "ontology_label": "European" - } - ] - }, - "death": { - "cause_of_death": "stroke" - }, - "provenance": { - "document_id": "7b07b9d0-cc0e-4098-9f64-f4a569f7d746", - "submission_date": "2018-11-04T10:02:12.191Z", - "update_date": "2018-11-04T10:07:39.622Z" - } - }, - "sequence_file/70d1af4a-82c8-478a-8960-e9028b3616ca": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3562915_2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "read_length": 75, - "insdc_run": [ - "SRR3562915" - ], - "provenance": { - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "submission_date": "2018-11-04T10:03:39.593Z", - "update_date": "2018-11-04T10:35:03.810Z" - } - }, - "sequence_file/0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3562915_1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "read_length": 75, - "insdc_run": [ - "SRR3562915" - ], - "provenance": { - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "submission_date": "2018-11-04T10:03:39.600Z", - "update_date": "2018-11-04T10:35:07.705Z" - } - }, - "project/e8642221-4c2c-4fd7-b926-a68bce363c88": { - "describedBy": "https://schema.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Single cell transcriptome analysis of human pancreas", - "project_title": "Single cell transcriptome analysis of human pancreas reveals transcriptional signatures of aging and somatic mutation patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue" - }, - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "insdc_project": "SRP075496", - "geo_series": "GSE81547", - "contributors": [ - { - "contact_name": "Martin, Enge", - "email": "martin.enge@gmail.com", - "institution": "Stanford University", - "address": "Bioengineering, Stanford University, James H. Clark Center, 318 Campus Drive,, Stanford, CA, USA", - "country": "USA" - }, - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Molecular Atlas", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "external curator", - "orcid_id": "0000-0002-8748-599X", - "corresponding_contributor": false - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "phone": "(+44) 122-349-4444", - "institution": "EMBL-EBI European Bioinformatics Institute", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2771-9894", - "corresponding_contributor": false - } - ], - "publications": [ - { - "authors": [ - "Enge M", - "Arda HE", - "Mignardi M", - "Beausang J", - "Bottino R", - "Kim SK", - "Quake SR" - ], - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "doi": "10.1016/j.cell.2017.09.004", - "pmid": 28965763, - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "provenance": { - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "submission_date": "2018-11-04T10:02:12.133Z", - "update_date": "2018-11-04T10:07:39.499Z" - } - }, - "library_preparation_protocol/9c32cf70-3ed7-4720-badc-5ee71e8a38af": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931", - "ontology_label": "Smart-seq2" - }, - "library_construction_kit": { - "retail_name": "Nextera XT kit", - "manufacturer": "Illumina" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "provenance": { - "document_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "submission_date": "2018-11-04T10:05:05.547Z", - "update_date": "2018-11-04T10:05:10.360Z" - } - }, - "sequencing_protocol/61e629ed-0135-4492-ac8a-5c4ab3ccca8a": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/9.0.3/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1" - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0008566", - "ontology_label": "Illumina NextSeq 500" - }, - "paired_end": true, - "sequencing_approach": { - "text": "RNA-Seq", - "ontology": "EFO:0008896", - "ontology_label": "RNA-Seq" - }, - "provenance": { - "document_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "submission_date": "2018-11-04T10:05:05.555Z", - "update_date": "2018-11-04T10:05:10.376Z" - } - }, - "dissociation_protocol/31e708d3-79df-49b8-a3df-b1d694963468": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "publication_doi": "https://doi.org/10.1101/108043" - }, - "dissociation_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "provenance": { - "document_id": "31e708d3-79df-49b8-a3df-b1d694963468", - "submission_date": "2018-11-04T10:05:05.532Z", - "update_date": "2018-11-04T10:05:10.315Z" - } - }, - "enrichment_protocol/5bd4ba68-4c0e-4d22-840d-afc025e7badc": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_1", - "publication_doi": "https://doi.org/10.1101/108043" - }, - "enrichment_method": { - "text": "FACS", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "HPx1+ HPi2+ CD133/1+ CD133/2+", - "provenance": { - "document_id": "5bd4ba68-4c0e-4d22-840d-afc025e7badc", - "submission_date": "2018-11-04T10:05:05.540Z", - "update_date": "2018-11-04T10:05:10.335Z" - } - }, - "process/771ddaf6-3a4f-4314-97fe-6294ff8e25a4": { - "process_core": { - "process_id": "SRR3562915" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4", - "submission_date": "2018-11-04T10:06:37.087Z", - "update_date": "2018-11-04T10:13:43.197Z" - } - }, - "process/4c28e079-59af-4bd3-8c8b-763ea0beba98": { - "process_core": { - "process_id": "process_id_714" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4c28e079-59af-4bd3-8c8b-763ea0beba98", - "submission_date": "2018-11-04T10:05:24.030Z", - "update_date": "2018-11-04T10:12:21.545Z" - } - }, - "process/4674255d-5ecd-4860-9b8d-beae98772cd9": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4674255d-5ecd-4860-9b8d-beae98772cd9", - "submission_date": "2018-11-04T10:05:05.605Z", - "update_date": "2018-11-04T10:12:03.520Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.3/links", - "schema_type": "link_bundle", - "schema_version": "1.1.3", - "links": [ - { - "process": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4", - "inputs": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "input_type": "biomaterial", - "outputs": [ - "70d1af4a-82c8-478a-8960-e9028b3616ca", - "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a" - } - ] - }, - { - "process": "4c28e079-59af-4bd3-8c8b-763ea0beba98", - "inputs": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "input_type": "biomaterial", - "outputs": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "31e708d3-79df-49b8-a3df-b1d694963468" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "5bd4ba68-4c0e-4d22-840d-afc025e7badc" - } - ] - }, - { - "process": "4674255d-5ecd-4860-9b8d-beae98772cd9", - "inputs": [ - "7b07b9d0-cc0e-4098-9f64-f4a569f7d746" - ], - "input_type": "biomaterial", - "outputs": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/b0850e79-5544-49fe-b54d-e29b9fc3f61f.dss.hca.json b/test/indexer/data/b0850e79-5544-49fe-b54d-e29b9fc3f61f.dss.hca.json deleted file mode 100644 index 1c73018c41..0000000000 --- a/test/indexer/data/b0850e79-5544-49fe-b54d-e29b9fc3f61f.dss.hca.json +++ /dev/null @@ -1,12801 +0,0 @@ -{ - "manifest": { - "sequence_file/a9f7d170-b971-4444-94ee-477ca3b5ef75": { - "sha1": "3fa044b9a5782b378e26025339da0a1fadbf358d", - "name": "MantonCB7_HiSeq_8_S24_L005_I1_001.fastq.gz", - "uuid": "a9f7d170-b971-4444-94ee-477ca3b5ef75", - "crc32c": "b16a32b7", - "version": "2018-03-29T09:03:07.214881Z", - "indexed": false, - "s3_etag": "7a2e95865474e0239c3f01b4b9e86133-7", - "sha256": "13ff96cd3fd06afe336657dcfb3aa85b4ddfcf202d33416e0cb46d91b4d74310", - "content-type": "application/gzip; dcp-type=data", - "size": 419864184 - }, - "sequence_file/588b80b6-1bac-4e59-a5af-d85d7ea78102": { - "sha1": "5934cd5d07d4c6c1e18f299ac66fcd075103a539", - "name": "MantonCB6_HiSeq_2_S10_L004_I1_001.fastq.gz", - "uuid": "588b80b6-1bac-4e59-a5af-d85d7ea78102", - "crc32c": "aa855279", - "version": "2018-03-29T09:02:23.718580Z", - "indexed": false, - "s3_etag": "3db40fa00bfee8fa1954bf9fce5bcae5-6", - "sha256": "e6c594b5bcd01f639a4750c4b05b0a72795f6dbfe2963c28261cb3dc8d0c90bb", - "content-type": "application/gzip; dcp-type=data", - "size": 398067119 - }, - "sequence_file/e52ead2d-7eb4-4dc3-9eb7-f1e6c3b86c72": { - "sha1": "8f7662e2c0f7f129b9b8071b402b4db1e98a4c04", - "name": "MantonCB7_HiSeq_5_S21_L006_R2_001.fastq.gz", - "uuid": "e52ead2d-7eb4-4dc3-9eb7-f1e6c3b86c72", - "crc32c": "c1f9df11", - "version": "2018-03-29T09:03:00.436604Z", - "indexed": false, - "s3_etag": "8468e17441c07df50f4664f4ac75b8bf-59", - "sha256": "2a4b41dded7c982da926e6b25da10bbd02b41ce93d646fb4b73ae57bde571c67", - "content-type": "application/gzip; dcp-type=data", - "size": 3935787850 - }, - "sequence_file/337686df-d6a4-4294-af00-242293302662": { - "sha1": "af6e9985f43494a2f4d8a6a45b6cca165a97cffd", - "name": "MantonCB8_HiSeq_2_S26_L007_R1_001.fastq.gz", - "uuid": "337686df-d6a4-4294-af00-242293302662", - "crc32c": "b73f1a4a", - "version": "2018-03-29T09:03:15.871804Z", - "indexed": false, - "s3_etag": "b9cd462f3c216c7c51a8711ebc6f605b-16", - "sha256": "95730d1e717d53c38a304a270cd107c2d1f2ca6480ef2d785fa00a2bf3fcd1bd", - "content-type": "application/gzip; dcp-type=data", - "size": 1012033735 - }, - "sequence_file/5954f3de-45ed-4fe0-bfe7-33be4387d6f8": { - "sha1": "789cd8b599e42a6250a3b76bcdd1a0869189c4f3", - "name": "MantonCB6_HiSeq_6_S14_L004_R1_001.fastq.gz", - "uuid": "5954f3de-45ed-4fe0-bfe7-33be4387d6f8", - "crc32c": "f70c8170", - "version": "2018-03-29T09:02:37.253517Z", - "indexed": false, - "s3_etag": "3b264f457616d165031f804b4dac2d07-17", - "sha256": "785c2c9c1016ceab2979d77aa94f3e42d5d9a94af31bc4244ce98119241c09db", - "content-type": "application/gzip; dcp-type=data", - "size": 1100721293 - }, - "sequence_file/df8f2e4e-f1b5-4125-9324-67fd7df95d66": { - "sha1": "976e243e060bd50c60ff127ed7d3527ef8c2fcfd", - "name": "MantonCB8_HiSeq_7_S31_L007_R2_001.fastq.gz", - "uuid": "df8f2e4e-f1b5-4125-9324-67fd7df95d66", - "crc32c": "6a0cc08c", - "version": "2018-03-29T09:03:33.047489Z", - "indexed": false, - "s3_etag": "c3b6ac9d9584b056a60ca3aeb896a3ca-64", - "sha256": "90a9b242c279f35a3f340e7a8e95492ad7f8130df00490e1d2ca427e2b35594f", - "content-type": "application/gzip; dcp-type=data", - "size": 4267995712 - }, - "sequence_file/5f91ca55-71c3-4942-9be1-1a88e6b5417a": { - "sha1": "5730a822dcbe720adfeb654ea132210cd73c6d4e", - "name": "MantonCB5_HiSeq_1_S1_L001_R1_001.fastq.gz", - "uuid": "5f91ca55-71c3-4942-9be1-1a88e6b5417a", - "crc32c": "e24eeca8", - "version": "2018-03-29T09:01:50.176593Z", - "indexed": false, - "s3_etag": "2e80c83ece43b29a6228c6652c13ee3d-18", - "sha256": "cabd91be5dcbb14f65ccd896ab44cefec7196a0e50286653a4adc3f0ca099b48", - "content-type": "application/gzip; dcp-type=data", - "size": 1163203001 - }, - "sequence_file/16032735-00f3-4882-afc2-2976e8c5824e": { - "sha1": "65641ff27212d4e30d5dff1ad6d48c29693fa45a", - "name": "MantonCB6_HiSeq_2_S10_L003_R2_001.fastq.gz", - "uuid": "16032735-00f3-4882-afc2-2976e8c5824e", - "crc32c": "d87d161f", - "version": "2018-03-29T09:02:23.210825Z", - "indexed": false, - "s3_etag": "f4a864bd16491a91d1c95983d676a3a9-51", - "sha256": "741b6df467fb80a1290b2c80035736427a83e67f8c570f5bcb87822e9216b7af", - "content-type": "application/gzip; dcp-type=data", - "size": 3400768774 - }, - "sequence_file/3e991891-afa1-4f55-8f54-55faef83fb6e": { - "sha1": "13fdea7ac260f5e0b1a26a9b0e71666fd7ec8893", - "name": "MantonCB5_HiSeq_8_S8_L001_R2_001.fastq.gz", - "uuid": "3e991891-afa1-4f55-8f54-55faef83fb6e", - "crc32c": "d26b6c0e", - "version": "2018-03-29T09:02:15.908529Z", - "indexed": false, - "s3_etag": "8666a36cf1e3483dcf179ad7cc7c887a-55", - "sha256": "d921abaca3e2ba408ac0fdc778fb471e65ea4c3453e52d21666a81d6c7fcdd83", - "content-type": "application/gzip; dcp-type=data", - "size": 3667662929 - }, - "sequence_file/86c9f8f0-021a-4899-83ad-09e6f1562fb2": { - "sha1": "1153071a431ff5838784be483fefdc0c6d208185", - "name": "MantonCB6_HiSeq_7_S15_L003_I1_001.fastq.gz", - "uuid": "86c9f8f0-021a-4899-83ad-09e6f1562fb2", - "crc32c": "624d6f8e", - "version": "2018-03-29T09:02:38.042761Z", - "indexed": false, - "s3_etag": "fc0c3c79a3d92fc48a2337f4485d6311-8", - "sha256": "4c3684b80b252e183bf868ea6a67789e0403c30467a092bf9f2211f6bd340d51", - "content-type": "application/gzip; dcp-type=data", - "size": 479700411 - }, - "sequence_file/a2d2c193-09e6-402b-a58c-087ce32f37b6": { - "sha1": "31afc2fd04eef1641ce661a18c3fb2be8e73e96e", - "name": "MantonCB6_HiSeq_6_S14_L003_R2_001.fastq.gz", - "uuid": "a2d2c193-09e6-402b-a58c-087ce32f37b6", - "crc32c": "7fa4f5a1", - "version": "2018-03-29T09:02:36.278509Z", - "indexed": false, - "s3_etag": "9a6ab38bd55377c27e5ff29c392b0c6e-45", - "sha256": "e3ba01b3577799c8ca59d293fda256c8ef58c00711f6dc4effbb6f03761e1ede", - "content-type": "application/gzip; dcp-type=data", - "size": 2993979923 - }, - "sequence_file/2a2f3468-2a59-4893-a1c2-3df6fa33a8bf": { - "sha1": "1b6ae5d69d18b8935661efa42c31e9d3006f388f", - "name": "MantonCB8_HiSeq_5_S29_L007_R1_001.fastq.gz", - "uuid": "2a2f3468-2a59-4893-a1c2-3df6fa33a8bf", - "crc32c": "59f13c76", - "version": "2018-03-29T09:03:26.590120Z", - "indexed": false, - "s3_etag": "71201cc92a4d5d6e1ab13c1eb3e1b5ea-20", - "sha256": "505cf08452c4a4d1c6897e12d423896ceae23209ea7100920e433d8c316e4707", - "content-type": "application/gzip; dcp-type=data", - "size": 1290390372 - }, - "sequence_file/50dc47b1-593b-4db3-9d85-063050ffa229": { - "sha1": "2f59daaaf6d6dad1a7b2c209f09e599d36c84d98", - "name": "MantonCB6_HiSeq_5_S13_L004_R2_001.fastq.gz", - "uuid": "50dc47b1-593b-4db3-9d85-063050ffa229", - "crc32c": "4d67d152", - "version": "2018-03-29T09:02:34.567867Z", - "indexed": false, - "s3_etag": "ac06982c02d31401357303ca36922034-47", - "sha256": "966a6c339bd5dffedc22a321745741256eedde845678ac2e526de5e7ac9e3142", - "content-type": "application/gzip; dcp-type=data", - "size": 3127815472 - }, - "sequence_file/17d0d51a-1c8b-4970-a257-3b5a89054c73": { - "sha1": "ff13457e7d40b8143170d32eb0f10d84f5aca0a9", - "name": "MantonCB6_HiSeq_3_S11_L003_R2_001.fastq.gz", - "uuid": "17d0d51a-1c8b-4970-a257-3b5a89054c73", - "crc32c": "29c3b5dd", - "version": "2018-03-29T09:02:26.338699Z", - "indexed": false, - "s3_etag": "736c83b76037d5deb726492dc81fbecd-46", - "sha256": "ef65113cb4cd389110ecf8c4fe1141d392f47f9654705aea2273dae910960bb8", - "content-type": "application/gzip; dcp-type=data", - "size": 3057692645 - }, - "sequence_file/c5670f08-2903-4b0e-9af4-6695558765bb": { - "sha1": "9858ec07dccbb4b87bf71f4540aa6760a954ffff", - "name": "MantonCB8_HiSeq_6_S30_L008_R2_001.fastq.gz", - "uuid": "c5670f08-2903-4b0e-9af4-6695558765bb", - "crc32c": "0dc3298f", - "version": "2018-03-29T09:03:31.389030Z", - "indexed": false, - "s3_etag": "cc6367923512f0fe1585232c1d1f7256-63", - "sha256": "1ece9a5895e4122e30e396836552824f3fb04bcb60a6ef394cedabda6aafaeee", - "content-type": "application/gzip; dcp-type=data", - "size": 4208301850 - }, - "sequence_file/a62f271c-da08-4d9b-beea-f938269aa9be": { - "sha1": "b1922b656e8dd27ac5eab57190f459a9d7c7c933", - "name": "MantonCB6_HiSeq_4_S12_L004_R2_001.fastq.gz", - "uuid": "a62f271c-da08-4d9b-beea-f938269aa9be", - "crc32c": "7775c8c6", - "version": "2018-03-29T09:02:31.272672Z", - "indexed": false, - "s3_etag": "bdd2016d9591014d4517b60d32703c3f-58", - "sha256": "a1dbc339e0f224a0411a747cb2f89e82fb91e6791e94608fddb31be245a1e181", - "content-type": "application/gzip; dcp-type=data", - "size": 3844606953 - }, - "sequence_file/9186f1cb-68e5-4c83-b655-8ad69078cb45": { - "sha1": "8668a6fec35a7f0423c89de101258157d8d9e570", - "name": "MantonCB5_HiSeq_5_S5_L002_I1_001.fastq.gz", - "uuid": "9186f1cb-68e5-4c83-b655-8ad69078cb45", - "crc32c": "5893a6c4", - "version": "2018-03-29T09:02:04.857771Z", - "indexed": false, - "s3_etag": "70bbe5f2dbe207c298d3ed208eef2328-7", - "sha256": "2cb5d3ddd59dc43ba7411a9c01d5b37c46da816f1bba6e33b7af4052a4f46536", - "content-type": "application/gzip; dcp-type=data", - "size": 414364641 - }, - "sequence_file/8f123f8d-3cb5-43d4-b1bb-672c8b738744": { - "sha1": "ec41d6e20138b3b5b0b1cc78fb7ea12824994c1a", - "name": "MantonCB6_HiSeq_8_S16_L004_R1_001.fastq.gz", - "uuid": "8f123f8d-3cb5-43d4-b1bb-672c8b738744", - "crc32c": "661ae4a1", - "version": "2018-03-29T09:02:43.936072Z", - "indexed": false, - "s3_etag": "5c0407477df7d51201d85325abe7be52-18", - "sha256": "4cafd470bf753273cd327678a44ec7f557b4b14dfa2ec9f18f654df979d90fc2", - "content-type": "application/gzip; dcp-type=data", - "size": 1196145436 - }, - "sequence_file/dd0248e8-78f2-4b26-b6f0-cefe1dda95cb": { - "sha1": "ce5238a8cce5f78e860ac51f6455bbcfadcda031", - "name": "MantonCB8_HiSeq_5_S29_L007_R2_001.fastq.gz", - "uuid": "dd0248e8-78f2-4b26-b6f0-cefe1dda95cb", - "crc32c": "0da3719d", - "version": "2018-03-29T09:03:26.998266Z", - "indexed": false, - "s3_etag": "a86eb46949176713e2c926de19eecb1e-56", - "sha256": "20f55fc32f794ff0978139133166435c3ac1f14cd39f2883720197f734bc0dd5", - "content-type": "application/gzip; dcp-type=data", - "size": 3753484818 - }, - "sequence_file/5d786269-d4ce-423a-8238-a15a4bb72ea3": { - "sha1": "afe7dd54d810aacf39b57f0f2ad7258b84d1b84b", - "name": "MantonCB8_HiSeq_8_S32_L007_I1_001.fastq.gz", - "uuid": "5d786269-d4ce-423a-8238-a15a4bb72ea3", - "crc32c": "5082dd69", - "version": "2018-03-29T09:03:34.865450Z", - "indexed": false, - "s3_etag": "e008a6556ca78fc4143176278b99ec94-7", - "sha256": "382bd3279dc7b18b1db2f0031ea125e731b8249b4150916156176c95e4b05560", - "content-type": "application/gzip; dcp-type=data", - "size": 446056306 - }, - "sequence_file/e817a985-00a6-4a89-99c0-0d1f9726ddf1": { - "sha1": "1ee3b566181a80383e09b3b4ef652179d6b2dd7a", - "name": "MantonCB8_HiSeq_3_S27_L007_R2_001.fastq.gz", - "uuid": "e817a985-00a6-4a89-99c0-0d1f9726ddf1", - "crc32c": "be6426cd", - "version": "2018-03-29T09:03:20.643242Z", - "indexed": false, - "s3_etag": "07c58efb7b7d3834fc0752c731746c76-46", - "sha256": "74a883b08151f7d6e6badcca94fb534866fb0b2e0fa6dc2952bc4d22d12ab534", - "content-type": "application/gzip; dcp-type=data", - "size": 3052282350 - }, - "sequence_file/cc029b5c-fb59-4519-aeaa-817ee15d356d": { - "sha1": "5f107b974797addce133bc6d840f51e3d864f77e", - "name": "MantonCB6_HiSeq_3_S11_L004_R1_001.fastq.gz", - "uuid": "cc029b5c-fb59-4519-aeaa-817ee15d356d", - "crc32c": "0727b98a", - "version": "2018-03-29T09:02:27.427799Z", - "indexed": false, - "s3_etag": "5d6370d72a6f33d7c47cd19c2af94a8c-17", - "sha256": "07fead4d935bdb04d8b13e6ae339dd5c382d8892afacc6ed58b2f9f54df9c068", - "content-type": "application/gzip; dcp-type=data", - "size": 1120418975 - }, - "sequence_file/036853ea-da68-4899-917a-ffc83fc05c9e": { - "sha1": "0df779998cf5f8ad4ee18a562ef5ff40947b3e0a", - "name": "MantonCB5_HiSeq_4_S4_L002_R2_001.fastq.gz", - "uuid": "036853ea-da68-4899-917a-ffc83fc05c9e", - "crc32c": "1b053cf2", - "version": "2018-03-29T09:02:03.010934Z", - "indexed": false, - "s3_etag": "f12a723630c297c8f43b9f056c60dca1-53", - "sha256": "3c59f45b781792ae914d85f439abe3ab4ac31d8dcdca075effec5198d547817b", - "content-type": "application/gzip; dcp-type=data", - "size": 3491817260 - }, - "sequence_file/696dd672-ab4a-4649-b070-eb81e24c176b": { - "sha1": "aa85118f705f8bc7cc37c016fb57ce7695a02cf0", - "name": "MantonCB5_HiSeq_6_S6_L002_R1_001.fastq.gz", - "uuid": "696dd672-ab4a-4649-b070-eb81e24c176b", - "crc32c": "de43aea5", - "version": "2018-03-29T09:02:10.817754Z", - "indexed": false, - "s3_etag": "5b7da29f73913e05a78aa5d5e8303d9d-19", - "sha256": "3402f7465eb3f0ac2866e575b0266fbcf1e44d6cce9f223f24cb535a86590e0b", - "content-type": "application/gzip; dcp-type=data", - "size": 1245223717 - }, - "sequence_file/102a709a-68c8-4510-b531-4c6995bc600a": { - "sha1": "f2f9c7b14a308314c8eccca92143b31aa23c78ec", - "name": "MantonCB5_HiSeq_3_S3_L002_R2_001.fastq.gz", - "uuid": "102a709a-68c8-4510-b531-4c6995bc600a", - "crc32c": "e466bd93", - "version": "2018-03-29T09:01:59.775205Z", - "indexed": false, - "s3_etag": "f5dfc257f7e32ab1c755bf975af51b79-53", - "sha256": "19e24c3477dd7af1e956db380873168b1440aa8e5915e0ecf0dc5ecdb6ea2fc0", - "content-type": "application/gzip; dcp-type=data", - "size": 3522646020 - }, - "sequence_file/7209368d-725a-442d-bf79-4a4408ce0843": { - "sha1": "de0de51780d2b6a673dae1a4c16eb6398817f111", - "name": "MantonCB7_HiSeq_6_S22_L005_R1_001.fastq.gz", - "uuid": "7209368d-725a-442d-bf79-4a4408ce0843", - "crc32c": "f349bf18", - "version": "2018-03-29T09:03:01.430412Z", - "indexed": false, - "s3_etag": "998d1d45d9641035c85aee6419045d1b-18", - "sha256": "7f67e0976e1d34fc36082c1693075657cb5bc113466caffbcb1735fd34cf6566", - "content-type": "application/gzip; dcp-type=data", - "size": 1155074045 - }, - "sequence_file/39516b72-5dd2-4d59-99fd-e21c1ecd13a8": { - "sha1": "95037b008d72440b41e9111bf7fbef1d4cff41d6", - "name": "MantonCB8_HiSeq_2_S26_L007_I1_001.fastq.gz", - "uuid": "39516b72-5dd2-4d59-99fd-e21c1ecd13a8", - "crc32c": "357a544e", - "version": "2018-03-29T09:03:15.036392Z", - "indexed": false, - "s3_etag": "ffa26fe1f7c06d1a44c59bfcbe823a21-6", - "sha256": "8e20c4f8a5a864279046a72e71f052673f6bdf670134ab4d9e9dc3e2323f9c6a", - "content-type": "application/gzip; dcp-type=data", - "size": 345196368 - }, - "sequence_file/8652979a-490c-4ef4-a8a5-49aff43696ef": { - "sha1": "19491e07384e848b7ee44e59c65c0198265a0b37", - "name": "MantonCB8_HiSeq_1_S25_L007_R2_001.fastq.gz", - "uuid": "8652979a-490c-4ef4-a8a5-49aff43696ef", - "crc32c": "e8faddca", - "version": "2018-03-29T09:03:10.880083Z", - "indexed": false, - "s3_etag": "7b72b8bd73226603357fa98e09f40fcd-43", - "sha256": "e470ae1ab249e37865bb5215aadc6a8c8ee691a7896adde7f6eefaa6b277af7c", - "content-type": "application/gzip; dcp-type=data", - "size": 2869957955 - }, - "sequence_file/43a087b6-ec8a-467f-a10f-e630f471174f": { - "sha1": "337a6140a2a95ef7d31076a3d0f424b3d674aaa8", - "name": "MantonCB8_HiSeq_6_S30_L008_I1_001.fastq.gz", - "uuid": "43a087b6-ec8a-467f-a10f-e630f471174f", - "crc32c": "ddcfe522", - "version": "2018-03-29T09:03:30.442751Z", - "indexed": false, - "s3_etag": "058e7110f3bb9ba4a85f575944c03a8a-8", - "sha256": "0713a55ea68ebfcd43087d33809fa6ae045fce3e5566b2f9ade93187d34520f3", - "content-type": "application/gzip; dcp-type=data", - "size": 492057477 - }, - "sequence_file/2eb84d9b-04d0-49d7-99ab-8e209590631b": { - "sha1": "0151b81df5cfb7f9abb05632ae63f19176896f97", - "name": "MantonCB8_HiSeq_5_S29_L008_R2_001.fastq.gz", - "uuid": "2eb84d9b-04d0-49d7-99ab-8e209590631b", - "crc32c": "34e3177f", - "version": "2018-03-29T09:03:28.336854Z", - "indexed": false, - "s3_etag": "0690ae19c5e4d12192a8022e9e089153-56", - "sha256": "c8f2170a8c2b64b2ac76f80ee89972bfea627c9f4721eb33c18821558554ada4", - "content-type": "application/gzip; dcp-type=data", - "size": 3741705417 - }, - "sequence_file/cec9c639-6e88-45be-8e15-423928eaca7f": { - "sha1": "3cf102eb6425ef9a6719820a4647f22b0d695941", - "name": "MantonCB5_HiSeq_1_S1_L002_R1_001.fastq.gz", - "uuid": "cec9c639-6e88-45be-8e15-423928eaca7f", - "crc32c": "36760284", - "version": "2018-03-29T09:01:52.269669Z", - "indexed": false, - "s3_etag": "481cc1bd4d5b800dc02bcde8a9ad5b7f-18", - "sha256": "3f3ffed6002b7b31ce25c4682f4ec130a68f474305f7bd1899974041842735a9", - "content-type": "application/gzip; dcp-type=data", - "size": 1149871682 - }, - "sequence_file/0f3a69db-6ad6-4217-9899-eaa8f7e57b33": { - "sha1": "eb1bdeb2e46e3ccfa12ed4d41b9bc7ccff71fa7d", - "name": "MantonCB5_HiSeq_2_S2_L002_R1_001.fastq.gz", - "uuid": "0f3a69db-6ad6-4217-9899-eaa8f7e57b33", - "crc32c": "b71cecb2", - "version": "2018-03-29T09:01:55.376819Z", - "indexed": false, - "s3_etag": "a1aa58ca188602b5ac5b8e32c2c73c66-18", - "sha256": "195c9b061c8ba0db53fc89b70a7b776794a33994a8aed279c412ede9253be273", - "content-type": "application/gzip; dcp-type=data", - "size": 1181135572 - }, - "sequence_file/67b1b9d3-c105-4769-be59-9f6161658d47": { - "sha1": "4af9ff69e247cf685f0b703d93b742f42cf2c631", - "name": "MantonCB6_HiSeq_3_S11_L003_R1_001.fastq.gz", - "uuid": "67b1b9d3-c105-4769-be59-9f6161658d47", - "crc32c": "c39b9d1d", - "version": "2018-03-29T09:02:25.896733Z", - "indexed": false, - "s3_etag": "244463493cc4fb8291b7b7c5be5c37a5-16", - "sha256": "d5afb684666975738385f1e64b89b1dbc1118e233bf5bcca1417b1815ea62def", - "content-type": "application/gzip; dcp-type=data", - "size": 1068893195 - }, - "sequence_file/83dfe703-284a-474c-b4e8-f4bde26a010f": { - "sha1": "4f82405939501facfe6d1b25802f0bfa7401118e", - "name": "MantonCB8_HiSeq_5_S29_L007_I1_001.fastq.gz", - "uuid": "83dfe703-284a-474c-b4e8-f4bde26a010f", - "crc32c": "eb89fe46", - "version": "2018-03-29T09:03:26.078416Z", - "indexed": false, - "s3_etag": "d73e56097d6d729763ac7e77e3e9d2d9-7", - "sha256": "ced15a731afae2a9754452dc4e4c7180bdc280995f81f5ad3afce9c1fdb4c07a", - "content-type": "application/gzip; dcp-type=data", - "size": 431206533 - }, - "sequence_file/a52ab81e-2a9c-4a44-b80b-6805e544d4d8": { - "sha1": "7197ab694e10d72d31e8524e04c5c7d64ff628d5", - "name": "MantonCB6_HiSeq_2_S10_L003_R1_001.fastq.gz", - "uuid": "a52ab81e-2a9c-4a44-b80b-6805e544d4d8", - "crc32c": "31a78844", - "version": "2018-03-29T09:02:22.181570Z", - "indexed": false, - "s3_etag": "7142d573bb1de5011235c561af4148f8-18", - "sha256": "a46b8376d41401c7b4cf3f1eae7c7ccad846d7ad75dfe2e1f3794e3e8e19a2a7", - "content-type": "application/gzip; dcp-type=data", - "size": 1184933228 - }, - "sequence_file/e4dc1bd7-d8b6-4820-96b6-9f64547685d1": { - "sha1": "0f7e09e66d111a504ab32b5a7575eced07b52cb6", - "name": "MantonCB8_HiSeq_8_S32_L008_R1_001.fastq.gz", - "uuid": "e4dc1bd7-d8b6-4820-96b6-9f64547685d1", - "crc32c": "6c4670bb", - "version": "2018-03-29T09:03:37.018707Z", - "indexed": false, - "s3_etag": "9bb0f5fa4f99ae14b708da044c3f9fd6-21", - "sha256": "433c2762520be57cf3cc31dce5956d8e6015766f71cbaccae7777efcbb2a8d17", - "content-type": "application/gzip; dcp-type=data", - "size": 1379774586 - }, - "sequence_file/5d1f5a28-6f21-4f98-81ff-8c7a2d07de91": { - "sha1": "5f1581818350d925eeea1711645b46bf466dcba1", - "name": "MantonCB7_HiSeq_1_S17_L006_R1_001.fastq.gz", - "uuid": "5d1f5a28-6f21-4f98-81ff-8c7a2d07de91", - "crc32c": "4b6a3a34", - "version": "2018-03-29T09:02:47.460838Z", - "indexed": false, - "s3_etag": "2a399eb19dfeeec9452f532d0ecd2d27-23", - "sha256": "dc9793a1f6abe873c8091d3a3e3355167f8977a1bf35801510995892b152d45d", - "content-type": "application/gzip; dcp-type=data", - "size": 1486180706 - }, - "sequence_file/0144a3a8-735d-4ff5-86c8-d1c9ce715ffb": { - "sha1": "1b101c64c46fe7ea7b76274575cb5a4ad66d8318", - "name": "MantonCB5_HiSeq_6_S6_L002_R2_001.fastq.gz", - "uuid": "0144a3a8-735d-4ff5-86c8-d1c9ce715ffb", - "crc32c": "895b0085", - "version": "2018-03-29T09:02:11.575774Z", - "indexed": false, - "s3_etag": "15891799a4784f37a80cb894ed6d6101-53", - "sha256": "a706c1395af6d440223fbbd8a93b4f814c28523793835d3b2edbdd7c23b24549", - "content-type": "application/gzip; dcp-type=data", - "size": 3525465112 - }, - "sequence_file/358bed4b-61fd-43d7-95f6-3f1a102b6cc6": { - "sha1": "75117250aa71b6b94f029728f8fffa56166d37ce", - "name": "MantonCB7_HiSeq_1_S17_L006_R2_001.fastq.gz", - "uuid": "358bed4b-61fd-43d7-95f6-3f1a102b6cc6", - "crc32c": "ec6c13e3", - "version": "2018-03-29T09:02:47.889566Z", - "indexed": false, - "s3_etag": "d90bcf9cb991f0fc80d7451dce6c3554-64", - "sha256": "db3174887c5ecbe8907482a43ab430fa11142afc2478a3c0edacd9cbbca64a1d", - "content-type": "application/gzip; dcp-type=data", - "size": 4275796046 - }, - "sequence_file/98eca6b9-2864-4a67-85be-763e09456917": { - "sha1": "881e9054b3d44eb50546a12a864832b35c224969", - "name": "MantonCB6_HiSeq_8_S16_L003_R1_001.fastq.gz", - "uuid": "98eca6b9-2864-4a67-85be-763e09456917", - "crc32c": "022cd64f", - "version": "2018-03-29T09:02:42.089915Z", - "indexed": false, - "s3_etag": "fddb61658e7bbe6b53d021e1fb034531-17", - "sha256": "cc13d9da1ba1c51813dca9c9253b2dee39da85676ec63a651840cc99dd020cc4", - "content-type": "application/gzip; dcp-type=data", - "size": 1139047700 - }, - "sequence_file/61884059-5d5f-41ce-b01f-6f22a326b1c9": { - "sha1": "16d3904b9c2e96e5bc87d2132dd788c1f73a698a", - "name": "MantonCB8_HiSeq_6_S30_L007_R2_001.fastq.gz", - "uuid": "61884059-5d5f-41ce-b01f-6f22a326b1c9", - "crc32c": "6ab67c59", - "version": "2018-03-29T09:03:29.928201Z", - "indexed": false, - "s3_etag": "dca7877f0b3c722c668306567fa727ac-63", - "sha256": "eb89ec4ec4e015752f27fdcb8ec91540aa8f397b27351e109a65fd63097eb437", - "content-type": "application/gzip; dcp-type=data", - "size": 4224558964 - }, - "sequence_file/b17ae237-1f81-4842-8d4e-bf8e4c96e560": { - "sha1": "e9d6107cb5f670774c369159e257958da924b232", - "name": "MantonCB7_HiSeq_2_S18_L005_I1_001.fastq.gz", - "uuid": "b17ae237-1f81-4842-8d4e-bf8e4c96e560", - "crc32c": "c7f58d85", - "version": "2018-03-29T09:02:48.329789Z", - "indexed": false, - "s3_etag": "7bd648c2c836b401b5a8b02630c43901-4", - "sha256": "391cad369f8dfaa36ea096a7081ea760dbcf2974c7c0b3f7177261d439175439", - "content-type": "application/gzip; dcp-type=data", - "size": 219399299 - }, - "sequence_file/de1c2807-ae40-4ed1-b306-1e3714cb6778": { - "sha1": "43cec5d50e9c75fc3e95c80f8d26723096a9e65f", - "name": "MantonCB8_HiSeq_4_S28_L007_R2_001.fastq.gz", - "uuid": "de1c2807-ae40-4ed1-b306-1e3714cb6778", - "crc32c": "8fd0f132", - "version": "2018-03-29T09:03:23.781890Z", - "indexed": false, - "s3_etag": "f1928c63ec35e261d90134c5fb5c70cf-43", - "sha256": "38fa1d96140236982c40e13c5146152e310bc1fd7ec231900c9807e46324aed0", - "content-type": "application/gzip; dcp-type=data", - "size": 2848092166 - }, - "sequence_file/874303e0-a9e9-4c0d-8aba-4d280bacc661": { - "sha1": "24b7459cab3bf56ff4c285d41501319dfedb2752", - "name": "MantonCB7_HiSeq_7_S23_L005_I1_001.fastq.gz", - "uuid": "874303e0-a9e9-4c0d-8aba-4d280bacc661", - "crc32c": "596b9fca", - "version": "2018-03-29T09:03:03.905994Z", - "indexed": false, - "s3_etag": "e81e474d6306c37505a4c73707116b70-7", - "sha256": "2423843f911ee9839745de0649041308f31d61e98d26e2e0375815b52c927bee", - "content-type": "application/gzip; dcp-type=data", - "size": 407056476 - }, - "sequence_file/552edbc3-a7d8-4478-ad7a-57b154693d6a": { - "sha1": "be08f44bb36016fb9f4db5a332c4547cb4b711bf", - "name": "MantonCB8_HiSeq_4_S28_L007_R1_001.fastq.gz", - "uuid": "552edbc3-a7d8-4478-ad7a-57b154693d6a", - "crc32c": "8962c8e2", - "version": "2018-03-29T09:03:23.368722Z", - "indexed": false, - "s3_etag": "2027301ee0b6aa4dd6a9ccdd93518694-15", - "sha256": "970ffcc19d0587b68a02fb630a13d2b5b9041ffd9c9fc6d4425ee2f85710a19c", - "content-type": "application/gzip; dcp-type=data", - "size": 985959648 - }, - "sequence_file/bf162c91-0da4-4ce4-ab98-7a3d7a443759": { - "sha1": "4ab91f43d4767bb7d727b33ec6d8d3afe6989af2", - "name": "MantonCB7_HiSeq_2_S18_L006_R1_001.fastq.gz", - "uuid": "bf162c91-0da4-4ce4-ab98-7a3d7a443759", - "crc32c": "94c1a304", - "version": "2018-03-29T09:02:50.833787Z", - "indexed": false, - "s3_etag": "e74c7578f40f6be460e278f12ac5ce11-10", - "sha256": "3d90ee6d87ec3d01c45acf75afe1db1704425cc6e35559ad3b8b37ed9b1def70", - "content-type": "application/gzip; dcp-type=data", - "size": 654454825 - }, - "sequence_file/c6a9ec31-3bf4-4c79-8678-002e96df86be": { - "sha1": "9e70df724decbc0fd1656b56008bc3c2efdf151e", - "name": "MantonCB5_HiSeq_3_S3_L001_R1_001.fastq.gz", - "uuid": "c6a9ec31-3bf4-4c79-8678-002e96df86be", - "crc32c": "1c7061d9", - "version": "2018-03-29T09:01:57.617547Z", - "indexed": false, - "s3_etag": "c47edcf775c1b2abf6db2c3c347b0e71-19", - "sha256": "45c8059671c5f0c25a0ea4e19c0c32db926778f8fdd8726e4ac3768337f3f46c", - "content-type": "application/gzip; dcp-type=data", - "size": 1256522839 - }, - "sequence_file/3d7a9131-8ca5-4f5e-a270-766965f3b2de": { - "sha1": "9ba2ac01ebf61f0184736b33152a06b600c0cc98", - "name": "MantonCB6_HiSeq_4_S12_L004_I1_001.fastq.gz", - "uuid": "3d7a9131-8ca5-4f5e-a270-766965f3b2de", - "crc32c": "84fa69a9", - "version": "2018-03-29T09:02:30.587482Z", - "indexed": false, - "s3_etag": "18f9ae899e431853c9fc33473a425f52-7", - "sha256": "c51f7978d726b1808ed73e0d0e17530d8220df40593d51d97240f5aa4d3c8547", - "content-type": "application/gzip; dcp-type=data", - "size": 426886075 - }, - "sequence_file/82fd9af5-44ad-4e99-afef-01e6ad52c558": { - "sha1": "ba427905b6b319f2d02fb5f61523f4a8b16aea8d", - "name": "MantonCB5_HiSeq_5_S5_L002_R1_001.fastq.gz", - "uuid": "82fd9af5-44ad-4e99-afef-01e6ad52c558", - "crc32c": "16c08033", - "version": "2018-03-29T09:02:05.790866Z", - "indexed": false, - "s3_etag": "2b490135432fb4f2f19f30b6dab7b5ee-20", - "sha256": "0bd8a6b37c6faf7ede9ddeea0b3ed14fb4308e0f079b85b2fa47489ca68aa79c", - "content-type": "application/gzip; dcp-type=data", - "size": 1283576004 - }, - "sequence_file/b8de328c-cd23-4275-9d91-9c15aaedecac": { - "sha1": "beacebcfe9fe4bea5e5caf7537b5b7bb2c7c304b", - "name": "MantonCB5_HiSeq_3_S3_L001_I1_001.fastq.gz", - "uuid": "b8de328c-cd23-4275-9d91-9c15aaedecac", - "crc32c": "17702287", - "version": "2018-03-29T09:01:56.492450Z", - "indexed": false, - "s3_etag": "0dfa880874a33ca868a73abed9b1ee9d-7", - "sha256": "a9972ee46928f3599c52cee8a40f7961214db537a7c5a8b4382b12c2b998a10d", - "content-type": "application/gzip; dcp-type=data", - "size": 413000842 - }, - "sequence_file/8dcfc18a-0095-4328-a00a-eed229e76d6e": { - "sha1": "d628fcefe559dfeb1ddd04f715b25d0c7cb3dd37", - "name": "MantonCB8_HiSeq_2_S26_L008_R2_001.fastq.gz", - "uuid": "8dcfc18a-0095-4328-a00a-eed229e76d6e", - "crc32c": "4e465d62", - "version": "2018-03-29T09:03:18.511739Z", - "indexed": false, - "s3_etag": "c142e92d837bb73a94423af4c653459a-44", - "sha256": "ff7e2316dd1e48d1ae08344b89132bdc14cabd4aa8f7ec084192c9f23355a790", - "content-type": "application/gzip; dcp-type=data", - "size": 2906888036 - }, - "sequence_file/bc729d18-4926-4cbb-b289-b973a3f76093": { - "sha1": "b0060a13b2133fb6a2d83f2b4fe29d3fc1f3eb1e", - "name": "MantonCB7_HiSeq_3_S19_L006_R1_001.fastq.gz", - "uuid": "bc729d18-4926-4cbb-b289-b973a3f76093", - "crc32c": "24f74e5d", - "version": "2018-03-29T09:02:53.697414Z", - "indexed": false, - "s3_etag": "3fc14d24d68ed00fc33af66968fd61fd-20", - "sha256": "60ea25c02795bce8f1c7638adc2892b67804197f931a9feeacc0a87af3aa6469", - "content-type": "application/gzip; dcp-type=data", - "size": 1316020503 - }, - "sequence_file/1ef49c16-4142-4569-8623-d46b11a0358a": { - "sha1": "ac82e1beb4f29013ece7ac0889608bcba3eeeb2f", - "name": "MantonCB8_HiSeq_2_S26_L008_R1_001.fastq.gz", - "uuid": "1ef49c16-4142-4569-8623-d46b11a0358a", - "crc32c": "5b8b8cf6", - "version": "2018-03-29T09:03:18.106937Z", - "indexed": false, - "s3_etag": "4bc7a6c99be4b8f66e1df021cbc5e55f-16", - "sha256": "df79519033480a82f5e606e5ee13abd963078271d549237680d54ac44ed8cf09", - "content-type": "application/gzip; dcp-type=data", - "size": 1009665639 - }, - "sequence_file/2688d153-e042-41b1-a48e-8839fd4aaf0e": { - "sha1": "4d74944ff7de1605de9076aeb03d8a26c4ed4d8e", - "name": "MantonCB7_HiSeq_1_S17_L005_R2_001.fastq.gz", - "uuid": "2688d153-e042-41b1-a48e-8839fd4aaf0e", - "crc32c": "bed3a216", - "version": "2018-03-29T09:02:46.132216Z", - "indexed": false, - "s3_etag": "df6aeea5696e14771388e7c302afd740-62", - "sha256": "4822512c76719fa3b68c2f4c562d5900b3450bca15e8d062916085c8c6922d94", - "content-type": "application/gzip; dcp-type=data", - "size": 4095152689 - }, - "sequence_file/10290214-f084-472e-82bd-9a2b29cdc2d5": { - "sha1": "6c32569de838900ddb9996045bbc10d954f91c6e", - "name": "MantonCB7_HiSeq_6_S22_L006_R2_001.fastq.gz", - "uuid": "10290214-f084-472e-82bd-9a2b29cdc2d5", - "crc32c": "14b7b41c", - "version": "2018-03-29T09:03:03.467479Z", - "indexed": false, - "s3_etag": "6033f7b4cc45e4cdc820823f215b88ec-52", - "sha256": "f884baea792fba609093387e46603ad22555a1a944d1351c1876c39bd6c83863", - "content-type": "application/gzip; dcp-type=data", - "size": 3427522635 - }, - "sequence_file/8c9b34e3-97f6-4808-9c9d-f59a1bcdad6e": { - "sha1": "5265d54bbc947b37ca5d578f2145c6b4b863634a", - "name": "MantonCB8_HiSeq_8_S32_L007_R2_001.fastq.gz", - "uuid": "8c9b34e3-97f6-4808-9c9d-f59a1bcdad6e", - "crc32c": "a3b093eb", - "version": "2018-03-29T09:03:35.889455Z", - "indexed": false, - "s3_etag": "93a43a8bd19a561b7962e9794e1a13f9-60", - "sha256": "94f0f6f4d2ec18301726e0c2998a199dbeefbe0a0f54ad1c16f5d14c17b905bb", - "content-type": "application/gzip; dcp-type=data", - "size": 3981703279 - }, - "sequence_file/b12850d5-277a-4c50-a16a-2ea0ef0e038a": { - "sha1": "2b3e3bf418d861c1c6acc40a30598b442345d60c", - "name": "MantonCB6_HiSeq_1_S9_L004_R2_001.fastq.gz", - "uuid": "b12850d5-277a-4c50-a16a-2ea0ef0e038a", - "crc32c": "fa0a75fd", - "version": "2018-03-29T09:02:21.316775Z", - "indexed": false, - "s3_etag": "7af31e3c07e88177df5658fe37620e62-53", - "sha256": "20d9bbcddbbe0cb3223e05de1a0f3b2f65f91fac860ec1cb8a35b8dd8621ec86", - "content-type": "application/gzip; dcp-type=data", - "size": 3522386261 - }, - "sequence_file/372e7758-4e0f-40d1-ae3e-727c085a28a1": { - "sha1": "8436866483d47ca5e6c3e002e49a0ba8e52ee06d", - "name": "MantonCB6_HiSeq_3_S11_L003_I1_001.fastq.gz", - "uuid": "372e7758-4e0f-40d1-ae3e-727c085a28a1", - "crc32c": "eae59a97", - "version": "2018-03-29T09:02:25.362689Z", - "indexed": false, - "s3_etag": "3a5c5543869f2db36f047fde68289a82-6", - "sha256": "97e8e216e0e8101b333814e731b35c62f0ebdccb98d1f22850365940461d754f", - "content-type": "application/gzip; dcp-type=data", - "size": 351529684 - }, - "sequence_file/77a2f75f-5e6f-4f9d-b88e-237645464293": { - "sha1": "abd9096447781d1e659aaf1db2eb2af43f948b8a", - "name": "MantonCB5_HiSeq_7_S7_L001_R1_001.fastq.gz", - "uuid": "77a2f75f-5e6f-4f9d-b88e-237645464293", - "crc32c": "b05e3fe5", - "version": "2018-03-29T09:02:12.579997Z", - "indexed": false, - "s3_etag": "076315e7db61f1f91f594838e58d8c6a-21", - "sha256": "afc6f6cdfd970c8468833ff4f09106308d4e268a460cedbeb913838c36e3320c", - "content-type": "application/gzip; dcp-type=data", - "size": 1342841373 - }, - "sequence_file/8a4df56a-6e6a-415c-9347-69f010e6767b": { - "sha1": "ea4aa4996c1fbe6b4bfdc7ece92f726f50c889bc", - "name": "MantonCB7_HiSeq_8_S24_L005_R1_001.fastq.gz", - "uuid": "8a4df56a-6e6a-415c-9347-69f010e6767b", - "crc32c": "7c9fcd3a", - "version": "2018-03-29T09:03:07.686386Z", - "indexed": false, - "s3_etag": "f60901d55ed6f7212e4a6af069aad78d-20", - "sha256": "c603bf74edf0aa5190cffa89dcd50610a36e835140e683b63d8c3d76a2408ad0", - "content-type": "application/gzip; dcp-type=data", - "size": 1311426223 - }, - "sequence_file/3f06d139-019a-46e0-b8b0-84b95d37e12f": { - "sha1": "9bec408b20b433483e00b3f6814f7243d04fbfb5", - "name": "MantonCB6_HiSeq_2_S10_L004_R1_001.fastq.gz", - "uuid": "3f06d139-019a-46e0-b8b0-84b95d37e12f", - "crc32c": "cf1ab907", - "version": "2018-03-29T09:02:24.337593Z", - "indexed": false, - "s3_etag": "5a07b469d7794d7211550b6c7704339c-19", - "sha256": "cda43f01e37b4bfce3ecb4394fed3a49b87e6f7538503183db35e991c02aaeff", - "content-type": "application/gzip; dcp-type=data", - "size": 1245531836 - }, - "sequence_file/41e83755-02eb-4823-8771-3021f879ad6a": { - "sha1": "9bb1d42bdd3cfa1ffd0ae7948b847149ad03da33", - "name": "MantonCB5_HiSeq_4_S4_L001_R2_001.fastq.gz", - "uuid": "41e83755-02eb-4823-8771-3021f879ad6a", - "crc32c": "d2d4c143", - "version": "2018-03-29T09:02:01.199757Z", - "indexed": false, - "s3_etag": "a31bfcc3064fe1fb3e81930e415e8154-53", - "sha256": "45f03464a56f500a38516eccc8434c21e40991c396efcf027acb22c84cf4f030", - "content-type": "application/gzip; dcp-type=data", - "size": 3549237557 - }, - "sequence_file/ba60167c-4068-495c-b5b1-950348dc3ad5": { - "sha1": "fb1e25c67525db51adfb2d80a59d11867fb6695a", - "name": "MantonCB6_HiSeq_8_S16_L004_R2_001.fastq.gz", - "uuid": "ba60167c-4068-495c-b5b1-950348dc3ad5", - "crc32c": "00b29331", - "version": "2018-03-29T09:02:44.427180Z", - "indexed": false, - "s3_etag": "990958c1c773019eb7b483a1c5161641-52", - "sha256": "0aeb1b316e2862af6f84bbda14db3923a7223d90eca3a35b594ceb55c6df972a", - "content-type": "application/gzip; dcp-type=data", - "size": 3443359440 - }, - "sequence_file/c23dcd53-9421-43f8-b7aa-8aedfdef42b8": { - "sha1": "0f112fbdab3da4d8d33a99a0612870017ba94345", - "name": "MantonCB5_HiSeq_2_S2_L002_R2_001.fastq.gz", - "uuid": "c23dcd53-9421-43f8-b7aa-8aedfdef42b8", - "crc32c": "12aa06d7", - "version": "2018-03-29T09:01:55.982281Z", - "indexed": false, - "s3_etag": "c307461e908623c54c18169ad3e41503-51", - "sha256": "491de74912c5bb754657db0dd075642a1cda56067ffb4266c6e65ed217477b18", - "content-type": "application/gzip; dcp-type=data", - "size": 3360704948 - }, - "sequence_file/d4da1a64-288f-42a7-b59f-1252846b61c5": { - "sha1": "d89eebcdd17633a6d86bd49037b65064f4ab47f8", - "name": "MantonCB8_HiSeq_3_S27_L007_I1_001.fastq.gz", - "uuid": "d4da1a64-288f-42a7-b59f-1252846b61c5", - "crc32c": "090c1c31", - "version": "2018-03-29T09:03:18.928530Z", - "indexed": false, - "s3_etag": "5ce608c6e0da09ee01e3fa28eb993b5c-6", - "sha256": "0484a3272918611716a65cadc6a1ad5a26e6f7244f8aed5252267c93d3544a2a", - "content-type": "application/gzip; dcp-type=data", - "size": 355926113 - }, - "sequence_file/951e9c14-d91d-4f77-af22-10bc767a0c4e": { - "sha1": "b88e96535eacf4266266491cb40ecb203f2e5666", - "name": "MantonCB5_HiSeq_2_S2_L001_R1_001.fastq.gz", - "uuid": "951e9c14-d91d-4f77-af22-10bc767a0c4e", - "crc32c": "9606d408", - "version": "2018-03-29T09:01:53.825921Z", - "indexed": false, - "s3_etag": "f80c2e48f866162732886cbef6e2f220-18", - "sha256": "bc7096c24d8264c8649fc533d52dd17f277d53a0064ceb1ca5426ab82da111fd", - "content-type": "application/gzip; dcp-type=data", - "size": 1193095647 - }, - "sequence_file/aac815db-2c5f-482b-ae06-706c050854b9": { - "sha1": "3832a3974b56864f21e896545fc23c2f117914f3", - "name": "MantonCB5_HiSeq_3_S3_L001_R2_001.fastq.gz", - "uuid": "aac815db-2c5f-482b-ae06-706c050854b9", - "crc32c": "692c9a4b", - "version": "2018-03-29T09:01:58.316578Z", - "indexed": false, - "s3_etag": "8ddd6e7c132d098459aef87c89d8d543-54", - "sha256": "bfa2aa1075fae12a5d1c70e8ce45d605388a79d624e3f7e1d261f1b2b0770e1a", - "content-type": "application/gzip; dcp-type=data", - "size": 3579491641 - }, - "sequence_file/af379215-0568-45c0-8e6e-45f684b5d486": { - "sha1": "fc633527d777dcece72ebc1130a23ac89dfeb7b1", - "name": "MantonCB5_HiSeq_2_S2_L002_I1_001.fastq.gz", - "uuid": "af379215-0568-45c0-8e6e-45f684b5d486", - "crc32c": "bff8ee96", - "version": "2018-03-29T09:01:54.836837Z", - "indexed": false, - "s3_etag": "a020dd9cd7846be752d075a72947ffc7-6", - "sha256": "96a556e35e73948c304a49c1bb21ed5910cfb575cb69727b088ec8177584b3a7", - "content-type": "application/gzip; dcp-type=data", - "size": 386912382 - }, - "sequence_file/53c4a13a-6462-4825-a729-8f6792b6f5c2": { - "sha1": "be05431f8bdb3577cc99f6ee32bd6868ed09a826", - "name": "MantonCB8_HiSeq_2_S26_L008_I1_001.fastq.gz", - "uuid": "53c4a13a-6462-4825-a729-8f6792b6f5c2", - "crc32c": "d034ea89", - "version": "2018-03-29T09:03:17.789035Z", - "indexed": false, - "s3_etag": "d7a744b578e50e8a571daa35c50798ec-6", - "sha256": "28a5c7869069dfcc4b5e8b0ff9fac97bc117a417da99dcf36a230cfc3b77ea95", - "content-type": "application/gzip; dcp-type=data", - "size": 346386774 - }, - "sequence_file/ae247bd4-093d-4897-96e9-6fa5a6bdf815": { - "sha1": "258b3f51da47b6f356bdb55d40a37315bf5b281c", - "name": "MantonCB8_HiSeq_3_S27_L007_R1_001.fastq.gz", - "uuid": "ae247bd4-093d-4897-96e9-6fa5a6bdf815", - "crc32c": "cfdc1d2e", - "version": "2018-03-29T09:03:19.857072Z", - "indexed": false, - "s3_etag": "7459b949af9cf5ce82223a3775fd46a0-16", - "sha256": "fc7f8d860a8727b4ad728c8e037382e23901cac85a2dbb1d3fae6eb6004cdb17", - "content-type": "application/gzip; dcp-type=data", - "size": 1056200986 - }, - "sequence_file/c6f48167-26ae-4361-8a00-16245e26c6e6": { - "sha1": "1e0ff927ee8085aa00312139458691752f4656d5", - "name": "MantonCB8_HiSeq_3_S27_L008_R1_001.fastq.gz", - "uuid": "c6f48167-26ae-4361-8a00-16245e26c6e6", - "crc32c": "842d0300", - "version": "2018-03-29T09:03:21.661834Z", - "indexed": false, - "s3_etag": "243eb4f03d87d9b14e1989b6d6fe7118-16", - "sha256": "8c9b79a9a0dffcc9aa9d39c99261902fac364f7935e512e6882bc7fa704e417c", - "content-type": "application/gzip; dcp-type=data", - "size": 1052934373 - }, - "sequence_file/c19ea130-6c56-4798-88dd-f7dff5aaf0c0": { - "sha1": "3873c5aeb4493f286f47f8909260e2b94324db4d", - "name": "MantonCB5_HiSeq_2_S2_L001_I1_001.fastq.gz", - "uuid": "c19ea130-6c56-4798-88dd-f7dff5aaf0c0", - "crc32c": "b37abe7e", - "version": "2018-03-29T09:01:53.064659Z", - "indexed": false, - "s3_etag": "e7209fb724a27754650f2b6a66c67f84-6", - "sha256": "897e708aacdfbd4d0cf8946524d08b2c07c4ae19f5fb3f0daa4765c77707355a", - "content-type": "application/gzip; dcp-type=data", - "size": 393525924 - }, - "sequence_file/0e79ef66-2922-4089-b812-451364420af9": { - "sha1": "161e6cdf4be43fba0e7027a7cdab781a9aa99df8", - "name": "MantonCB7_HiSeq_3_S19_L005_R2_001.fastq.gz", - "uuid": "0e79ef66-2922-4089-b812-451364420af9", - "crc32c": "9214f845", - "version": "2018-03-29T09:02:52.621340Z", - "indexed": false, - "s3_etag": "6b6f281a85024f983b8d0ac3a45f319f-55", - "sha256": "b7b2b98d9f1eab99c97ff752fa3c9c85b7dc596362a28adc6bcf5eb2905b7c53", - "content-type": "application/gzip; dcp-type=data", - "size": 3638706941 - }, - "sequence_file/2cb2bdf0-d7ac-4480-8031-f4c82edf4431": { - "sha1": "44d60b0c8fb21d74a536b00dfd7b7bd9dc0a74c1", - "name": "MantonCB7_HiSeq_8_S24_L006_R2_001.fastq.gz", - "uuid": "2cb2bdf0-d7ac-4480-8031-f4c82edf4431", - "crc32c": "645f2cc1", - "version": "2018-03-29T09:03:09.551896Z", - "indexed": false, - "s3_etag": "525ee472098d075cf3ed7fd4989ed48f-59", - "sha256": "09b18a57bf991401bb467d595471215a4a16751e8a4ae5a6121bf9593652004e", - "content-type": "application/gzip; dcp-type=data", - "size": 3894155645 - }, - "sequence_file/c9ac8c94-0cbf-48e7-84a9-e0c0bf34552f": { - "sha1": "99de14b081739ec9fa40fc4c3a189d1972a60c4c", - "name": "MantonCB7_HiSeq_2_S18_L006_I1_001.fastq.gz", - "uuid": "c9ac8c94-0cbf-48e7-84a9-e0c0bf34552f", - "crc32c": "bd9769e8", - "version": "2018-03-29T09:02:50.358496Z", - "indexed": false, - "s3_etag": "adcaddc98515d21dc72c9e48075d62e9-4", - "sha256": "33b8bd96b818b5df692e2f3ffe84a2740f4a60af7bed722f57bc3fc0214db149", - "content-type": "application/gzip; dcp-type=data", - "size": 230303622 - }, - "sequence_file/5aeade96-9fbf-4ec9-bd03-73e6c9b9a99a": { - "sha1": "cfe37a494fa14df57d7785b3d57df7a67390a75a", - "name": "MantonCB7_HiSeq_2_S18_L005_R2_001.fastq.gz", - "uuid": "5aeade96-9fbf-4ec9-bd03-73e6c9b9a99a", - "crc32c": "cf7a71bd", - "version": "2018-03-29T09:02:49.230774Z", - "indexed": false, - "s3_etag": "fdf96888d41a71d33de12a5ed0b56762-27", - "sha256": "beed7472ef2dfc71ea92208016eb929ba62820d8c95cbef52d804f0c93e762ca", - "content-type": "application/gzip; dcp-type=data", - "size": 1809939125 - }, - "sequence_file/f43216e3-4d6c-4eac-a8ec-5f020a8ff700": { - "sha1": "f52f68ee971721992018818956c3ef95af8ff2c0", - "name": "MantonCB7_HiSeq_5_S21_L005_R1_001.fastq.gz", - "uuid": "f43216e3-4d6c-4eac-a8ec-5f020a8ff700", - "crc32c": "2f4d28e9", - "version": "2018-03-29T09:02:58.117962Z", - "indexed": false, - "s3_etag": "d1933b789bc9ca92f6a1ecf2e4aed534-20", - "sha256": "3641fa115d914e88e9004e31183499f0bbaf79ecbd25dedc9e0180f0bd5e069c", - "content-type": "application/gzip; dcp-type=data", - "size": 1315317314 - }, - "sequence_file/2755ced4-c7a8-4380-a7c3-3969e9bea68a": { - "sha1": "0c1bd07193402c91c38c9dd8e44c5bb2633743ad", - "name": "MantonCB5_HiSeq_7_S7_L002_I1_001.fastq.gz", - "uuid": "2755ced4-c7a8-4380-a7c3-3969e9bea68a", - "crc32c": "b033d3ad", - "version": "2018-03-29T09:02:13.509186Z", - "indexed": false, - "s3_etag": "347a7e1e836166a3f028995203d1d02a-7", - "sha256": "a5a8aa08dcccb63256b4c0726b85d40141fd07493ef127c4e5b0ff8695d828bd", - "content-type": "application/gzip; dcp-type=data", - "size": 442271811 - }, - "sequence_file/f32724bc-56e9-42c0-8410-becfe8f63dcd": { - "sha1": "bd758bfb3c8ae0c0df612768f7991a241c841348", - "name": "MantonCB5_HiSeq_4_S4_L001_I1_001.fastq.gz", - "uuid": "f32724bc-56e9-42c0-8410-becfe8f63dcd", - "crc32c": "3e7795b1", - "version": "2018-03-29T09:02:00.404069Z", - "indexed": false, - "s3_etag": "5fff513f13352bfa442c96b00fbe928e-7", - "sha256": "4338e36398fe6eea00c3a506b4fbcc3d0c0fb4aed2fba5a4d7db3941aa9759fe", - "content-type": "application/gzip; dcp-type=data", - "size": 411148219 - }, - "sequence_file/37aaf22e-e553-4d7e-86f0-2cfebb7cf3fb": { - "sha1": "b3d3b9f5af610cb279451e6aaec4489854745b1c", - "name": "MantonCB8_HiSeq_8_S32_L007_R1_001.fastq.gz", - "uuid": "37aaf22e-e553-4d7e-86f0-2cfebb7cf3fb", - "crc32c": "0d7e3a75", - "version": "2018-03-29T09:03:35.319122Z", - "indexed": false, - "s3_etag": "c54045f58555afe0c32825c327ec196e-21", - "sha256": "f39f32eeecd135ef2ddbc38d4057c87ec878074c5d3680978895f3e0646085ce", - "content-type": "application/gzip; dcp-type=data", - "size": 1381016516 - }, - "sequence_file/a519a47c-c53c-4cd2-94e1-8fac73a5f434": { - "sha1": "dbcab4b05a0fee5b9f64caf8457193fbaee252a1", - "name": "MantonCB8_HiSeq_8_S32_L008_I1_001.fastq.gz", - "uuid": "a519a47c-c53c-4cd2-94e1-8fac73a5f434", - "crc32c": "c44d8b65", - "version": "2018-03-29T09:03:36.519549Z", - "indexed": false, - "s3_etag": "1ad59da18e024678f60a78784105295e-7", - "sha256": "6e5a16cb283109480bb7f140e08514c944845ca16753e3b8967880cae9f18e83", - "content-type": "application/gzip; dcp-type=data", - "size": 449553086 - }, - "sequence_file/c0cb01fa-e9cd-4df9-8f5f-4199cf29c134": { - "sha1": "d96d7535dfb7f64a089d76b3bed62134f2b0615a", - "name": "MantonCB7_HiSeq_8_S24_L006_R1_001.fastq.gz", - "uuid": "c0cb01fa-e9cd-4df9-8f5f-4199cf29c134", - "crc32c": "599ea13d", - "version": "2018-03-29T09:03:09.041739Z", - "indexed": false, - "s3_etag": "274fd4cfc0507fce1bdd93f12a2e429b-21", - "sha256": "6e62ac6719e59ff5abe31840fc8022ba2a77f35c0f9a9913aa493c73c034578c", - "content-type": "application/gzip; dcp-type=data", - "size": 1357245788 - }, - "sequence_file/08075c2f-8120-4ebe-aeff-7dee2699dd84": { - "sha1": "46310dfff26a65e737f8d70bfa2e1e0c7231acde", - "name": "MantonCB7_HiSeq_2_S18_L006_R2_001.fastq.gz", - "uuid": "08075c2f-8120-4ebe-aeff-7dee2699dd84", - "crc32c": "822138f1", - "version": "2018-03-29T09:02:51.310872Z", - "indexed": false, - "s3_etag": "b330593628729905d794d1bcbc054490-29", - "sha256": "5890252ae63e70ac3c5e03d278f8e4f04e7a5e10365441a03268a89273962db0", - "content-type": "application/gzip; dcp-type=data", - "size": 1910209695 - }, - "sequence_file/af23f4dc-8342-41f1-a6aa-29d94f1abcb1": { - "sha1": "8ddbd7f4fcae50c7583dc318352494ae4167e0cc", - "name": "MantonCB5_HiSeq_1_S1_L001_R2_001.fastq.gz", - "uuid": "af23f4dc-8342-41f1-a6aa-29d94f1abcb1", - "crc32c": "d42aa084", - "version": "2018-03-29T09:01:50.636173Z", - "indexed": false, - "s3_etag": "4853c50bc0d8e974d68549a93de708c2-51", - "sha256": "d5cc013ee23369d7390de0b0fd980bbf9f231dfbaf8903f1ce4494cc291011fe", - "content-type": "application/gzip; dcp-type=data", - "size": 3361748967 - }, - "sequence_file/5eff87dc-5772-4229-ae7c-cfde6a348479": { - "sha1": "639fdb641c9f3e841534be51d49269e68e560ce4", - "name": "MantonCB5_HiSeq_8_S8_L001_I1_001.fastq.gz", - "uuid": "5eff87dc-5772-4229-ae7c-cfde6a348479", - "crc32c": "74a0037d", - "version": "2018-03-29T09:02:15.047110Z", - "indexed": false, - "s3_etag": "02858682b1a8d5905cd0283de8f39359-7", - "sha256": "c89a26143bf2aaa3416c0e2e55fdc400c5146474295cb32964cf4cc3d140fb87", - "content-type": "application/gzip; dcp-type=data", - "size": 417465723 - }, - "sequence_file/95dde0cf-5f38-41a9-a36f-5d90b91509c0": { - "sha1": "78d380f860502beef0098b53f92dc391216f83d9", - "name": "MantonCB7_HiSeq_1_S17_L006_I1_001.fastq.gz", - "uuid": "95dde0cf-5f38-41a9-a36f-5d90b91509c0", - "crc32c": "0e09e8af", - "version": "2018-03-29T09:02:47.051023Z", - "indexed": false, - "s3_etag": "1259576f056d77af2ed8ff04a59a1095-7", - "sha256": "5f11ed2c9adaa29afdf428d7b284e4bb97eb4e01da6f36b452455f9083e621fd", - "content-type": "application/gzip; dcp-type=data", - "size": 461371673 - }, - "sequence_file/ff26a0bf-c2ef-4041-b96a-6c87e64a5c30": { - "sha1": "a15cba93158ced686c04d44c86a09ba2a32740a8", - "name": "MantonCB5_HiSeq_6_S6_L002_I1_001.fastq.gz", - "uuid": "ff26a0bf-c2ef-4041-b96a-6c87e64a5c30", - "crc32c": "863823bb", - "version": "2018-03-29T09:02:09.580797Z", - "indexed": false, - "s3_etag": "23bebbdbfd704814990be9efcac995ed-6", - "sha256": "54e65a7e62ba4201a6469f684896bc3cbcd620651ddc9077adf70b8bca78f349", - "content-type": "application/gzip; dcp-type=data", - "size": 400077956 - }, - "sequence_file/83e849b9-8881-47af-bf05-788977ad09c3": { - "sha1": "f565ca88925c9f3427cca88fb164372f256ac79e", - "name": "MantonCB6_HiSeq_4_S12_L003_R1_001.fastq.gz", - "uuid": "83e849b9-8881-47af-bf05-788977ad09c3", - "crc32c": "c4166eb5", - "version": "2018-03-29T09:02:29.509752Z", - "indexed": false, - "s3_etag": "a1d6f25382b0d81a2458451de2703c20-19", - "sha256": "cb5d2eaf96c12af11c5c8a9dbe17577c6c6bf0b47ac3d625a7208ed93385a2ad", - "content-type": "application/gzip; dcp-type=data", - "size": 1271161801 - }, - "sequence_file/195d7ba8-31b7-4cdc-bd99-6cf0dcd68ed2": { - "sha1": "5b2f47b2fcc14d3e7a6a8b3690efd15d8dcde13e", - "name": "MantonCB7_HiSeq_4_S20_L005_R1_001.fastq.gz", - "uuid": "195d7ba8-31b7-4cdc-bd99-6cf0dcd68ed2", - "crc32c": "37bd9f86", - "version": "2018-03-29T09:02:55.486319Z", - "indexed": false, - "s3_etag": "8406166aba14f44903133a2ab1278745-19", - "sha256": "3c3b66f9aadd65691622a9b53e5e6cbb3289b512667365fab85ec4a367713c1f", - "content-type": "application/gzip; dcp-type=data", - "size": 1210317565 - }, - "sequence_file/a501f218-24cb-4484-b52a-2a6a7d88ae82": { - "sha1": "cf8a352cba38d40b67938c208c7faa98e06c9765", - "name": "MantonCB5_HiSeq_8_S8_L001_R1_001.fastq.gz", - "uuid": "a501f218-24cb-4484-b52a-2a6a7d88ae82", - "crc32c": "c026ad50", - "version": "2018-03-29T09:02:15.425709Z", - "indexed": false, - "s3_etag": "150bd6028b280bd40a2c2a5c702abda7-20", - "sha256": "8ebe426ac63c008c58e880b7dcb0ed5bb4346b9480ccf51aa07182268e4d6a95", - "content-type": "application/gzip; dcp-type=data", - "size": 1289434998 - }, - "sequence_file/0b5314d1-b61f-4b37-88df-3c2c732a8f56": { - "sha1": "2f191f55d5b6a896b35f40b44ff1ed70c0aac7a3", - "name": "MantonCB6_HiSeq_5_S13_L003_R1_001.fastq.gz", - "uuid": "0b5314d1-b61f-4b37-88df-3c2c732a8f56", - "crc32c": "90a8213e", - "version": "2018-03-29T09:02:32.232012Z", - "indexed": false, - "s3_etag": "5d130155fb78fdf8cfe221ab2d98a4f4-16", - "sha256": "56ab4f978248c71991596392cefb5c2e7740d973501c505ca991c075bdf851c1", - "content-type": "application/gzip; dcp-type=data", - "size": 1031804454 - }, - "sequence_file/a3400fe9-c31e-4f0c-8fc2-271d39be2123": { - "sha1": "7043406e8ea0b1d3723be4b24ec3ab126b2cd94d", - "name": "MantonCB6_HiSeq_8_S16_L004_I1_001.fastq.gz", - "uuid": "a3400fe9-c31e-4f0c-8fc2-271d39be2123", - "crc32c": "8774c235", - "version": "2018-03-29T09:02:43.521519Z", - "indexed": false, - "s3_etag": "b70fac66d7191312117a198abf2ab8a8-6", - "sha256": "687a08975b63c0e0a7515babaadc7a9e4b54ca6fa56fcdc1bc231ae30ecf1324", - "content-type": "application/gzip; dcp-type=data", - "size": 383701522 - }, - "sequence_file/4f98df5f-a259-44c7-9007-6bb89417c6c2": { - "sha1": "62ed544449767f70bb670d7977071bd6e2c5ebdb", - "name": "MantonCB7_HiSeq_4_S20_L006_R1_001.fastq.gz", - "uuid": "4f98df5f-a259-44c7-9007-6bb89417c6c2", - "crc32c": "196604ce", - "version": "2018-03-29T09:02:56.897569Z", - "indexed": false, - "s3_etag": "84dd718b81be341207c5155a61ac2443-19", - "sha256": "fb9194be8f7ef54f2d16bd3ab29dc0179127d6229c80108f70b142d6d0585995", - "content-type": "application/gzip; dcp-type=data", - "size": 1257742669 - }, - "sequence_file/7daf7d79-524d-49af-8036-a4004a111ed3": { - "sha1": "d3c5c404382090e23e3aea0882eeaa9b9081536f", - "name": "MantonCB6_HiSeq_7_S15_L003_R1_001.fastq.gz", - "uuid": "7daf7d79-524d-49af-8036-a4004a111ed3", - "crc32c": "222c25b6", - "version": "2018-03-29T09:02:38.584702Z", - "indexed": false, - "s3_etag": "6726aa33c114a41947bbbdd4f2ad5166-22", - "sha256": "f421d548bf2275c2f41ab3de052f306a2391e6d1909f6f2d608ee6d1c20d8205", - "content-type": "application/gzip; dcp-type=data", - "size": 1474628379 - }, - "sequence_file/f85d5d78-7255-45b9-becf-79173199f54d": { - "sha1": "4a0cca3603551e22b7ade6ebed2d2257b43c362b", - "name": "MantonCB7_HiSeq_5_S21_L005_R2_001.fastq.gz", - "uuid": "f85d5d78-7255-45b9-becf-79173199f54d", - "crc32c": "1259d8d0", - "version": "2018-03-29T09:02:58.640430Z", - "indexed": false, - "s3_etag": "3250b1df14b759dd43b374fa6d6f0d15-57", - "sha256": "401cd768c7c0e30fd10778f9dfcf38f9afaf002e4a29942cb9996abdc002cd9c", - "content-type": "application/gzip; dcp-type=data", - "size": 3766984638 - }, - "sequence_file/0f5c3663-1ff2-4bff-9193-1548044e3b09": { - "sha1": "2b8834245ef6fa44f33adf6099bee938a2c95e4b", - "name": "MantonCB6_HiSeq_5_S13_L003_I1_001.fastq.gz", - "uuid": "0f5c3663-1ff2-4bff-9193-1548044e3b09", - "crc32c": "4ce6f1be", - "version": "2018-03-29T09:02:31.693678Z", - "indexed": false, - "s3_etag": "c6def9b828c07d472743852fc2b38386-6", - "sha256": "6116cb7eda3a01b7f99ff135119b7899487fa4bda2afb1c8ca53befee753ba14", - "content-type": "application/gzip; dcp-type=data", - "size": 340623474 - }, - "sequence_file/8ed5ae60-8b4f-43c7-8474-055d4a98238c": { - "sha1": "cde5efad070176b0fc6eca97e6d30c05926cccbc", - "name": "MantonCB5_HiSeq_8_S8_L002_R1_001.fastq.gz", - "uuid": "8ed5ae60-8b4f-43c7-8474-055d4a98238c", - "crc32c": "915f2e49", - "version": "2018-03-29T09:02:17.062894Z", - "indexed": false, - "s3_etag": "76dc4b433faf6856af95c5a34f8f6187-20", - "sha256": "396a250fb72db16f6191340fe934d1afc9c4cf3ddfaf3e04227c385a239e32e3", - "content-type": "application/gzip; dcp-type=data", - "size": 1280589835 - }, - "sequence_file/e7a83e57-1751-4484-982b-d7f635491728": { - "sha1": "ac539c2eb16300a1436e2f2d1d661c7730c4c036", - "name": "MantonCB7_HiSeq_6_S22_L005_R2_001.fastq.gz", - "uuid": "e7a83e57-1751-4484-982b-d7f635491728", - "crc32c": "2f926417", - "version": "2018-03-29T09:03:01.893769Z", - "indexed": false, - "s3_etag": "faa78ecf7dbe45872ad8b9f1c17f8eaf-49", - "sha256": "25e5b554b472c3b6cc03ba92f380b8695f4564544f74d09f8f30eae847c6893f", - "content-type": "application/gzip; dcp-type=data", - "size": 3285284623 - }, - "sequence_file/27cf1dfd-e692-45ba-8416-4a36ebde3bf7": { - "sha1": "235362af1debdc8ce99f4bc46e8c49aeacd863c1", - "name": "MantonCB8_HiSeq_1_S25_L008_R1_001.fastq.gz", - "uuid": "27cf1dfd-e692-45ba-8416-4a36ebde3bf7", - "crc32c": "d66b713e", - "version": "2018-03-29T09:03:11.940337Z", - "indexed": false, - "s3_etag": "b64be8865305806818ebebcdf8a31a1e-15", - "sha256": "a7fb1218438a67ab91657e7ed70d244fa2641670f8a9fa2fb729fc354043feff", - "content-type": "application/gzip; dcp-type=data", - "size": 989521101 - }, - "sequence_file/1ed09e98-a078-4f9d-8bac-99fc824ab753": { - "sha1": "16ee04f635ac4e37481dec69530a137f2eed1d2e", - "name": "MantonCB6_HiSeq_6_S14_L004_R2_001.fastq.gz", - "uuid": "1ed09e98-a078-4f9d-8bac-99fc824ab753", - "crc32c": "8cc14160", - "version": "2018-03-29T09:02:37.657271Z", - "indexed": false, - "s3_etag": "532619de9548d00becf09b991a7819c2-48", - "sha256": "79a92f0072d4e49358ec9a7cd2db7c56e5cc37cb6e10a11a1fcffb1447bf7c5b", - "content-type": "application/gzip; dcp-type=data", - "size": 3154983325 - }, - "sequence_file/c7b03a29-ddbf-4c3c-b837-24453e4b9a16": { - "sha1": "193b87dccd8526bc72ad2a51d0e3a6d39c07ac92", - "name": "MantonCB7_HiSeq_5_S21_L006_R1_001.fastq.gz", - "uuid": "c7b03a29-ddbf-4c3c-b837-24453e4b9a16", - "crc32c": "206b8be8", - "version": "2018-03-29T09:02:59.577769Z", - "indexed": false, - "s3_etag": "6f98b40db46a0ae8270ac51c84d3b840-21", - "sha256": "f51f0ece8e98f8c3e0b43a30b5972b506b173ead316487a5984619329b7819dd", - "content-type": "application/gzip; dcp-type=data", - "size": 1365226393 - }, - "sequence_file/cdc11d35-c34c-4095-bace-efc01830763a": { - "sha1": "aea90040aa8f2381c806ba724a7b21e84dfa30c8", - "name": "MantonCB6_HiSeq_7_S15_L004_R2_001.fastq.gz", - "uuid": "cdc11d35-c34c-4095-bace-efc01830763a", - "crc32c": "8f037d9f", - "version": "2018-03-29T09:02:40.307694Z", - "indexed": false, - "s3_etag": "a2a82613d6aa23b42875856ac002244a-67", - "sha256": "07f2a327c7b7991707162f237e80faf93e17c150bd58823c85aadc052e53460d", - "content-type": "application/gzip; dcp-type=data", - "size": 4432879724 - }, - "sequence_file/6be5c831-1e65-4314-a4a0-e40d7f17bad1": { - "sha1": "e580a18ca1dc50bbf6b273304319526186d50936", - "name": "MantonCB7_HiSeq_5_S21_L005_I1_001.fastq.gz", - "uuid": "6be5c831-1e65-4314-a4a0-e40d7f17bad1", - "crc32c": "9fa8b6d8", - "version": "2018-03-29T09:02:57.643652Z", - "indexed": false, - "s3_etag": "f96024c3d519d320fc5f0d3ebe36531e-7", - "sha256": "2f04db6573c1fef7c045bc36bc3fc4cca4dcda800829cbf15bc0375ab771e5d7", - "content-type": "application/gzip; dcp-type=data", - "size": 417524648 - }, - "sequence_file/75fe63d4-8541-4b8c-aacc-796fc907fa52": { - "sha1": "0cee155630b3a5f6ea24f66fb3fcb849d695163f", - "name": "MantonCB7_HiSeq_3_S19_L005_R1_001.fastq.gz", - "uuid": "75fe63d4-8541-4b8c-aacc-796fc907fa52", - "crc32c": "fe6c2952", - "version": "2018-03-29T09:02:52.227991Z", - "indexed": false, - "s3_etag": "c37f54826870c969f0a2134bab6bc272-19", - "sha256": "c43ee32e82e7dc5fec1d166ad857107e0dcab7015dd2240c3b0149c7eaf6e387", - "content-type": "application/gzip; dcp-type=data", - "size": 1265089866 - }, - "sequence_file/a220f337-0700-49cb-837c-cc569991c0e2": { - "sha1": "cedad656757b153f1f685c0f3299b67684d39896", - "name": "MantonCB5_HiSeq_7_S7_L002_R1_001.fastq.gz", - "uuid": "a220f337-0700-49cb-837c-cc569991c0e2", - "crc32c": "39c83160", - "version": "2018-03-29T09:02:13.909792Z", - "indexed": false, - "s3_etag": "b55b2b3cae75c0c4931501a0d245ce84-20", - "sha256": "79124565c504664d6a13bff6b3aa4d2f830be0b699238f1d163be0acf6f64aa5", - "content-type": "application/gzip; dcp-type=data", - "size": 1332778225 - }, - "sequence_file/5c07823c-b8ed-4328-8f89-2073c4a5b50d": { - "sha1": "85afe05a40285e620228ee0d7868bb20ce0d1561", - "name": "MantonCB8_HiSeq_7_S31_L008_R2_001.fastq.gz", - "uuid": "5c07823c-b8ed-4328-8f89-2073c4a5b50d", - "crc32c": "9283d1f3", - "version": "2018-03-29T09:03:34.556464Z", - "indexed": false, - "s3_etag": "8c68b0abda70c8c7bd7646daad0af60c-64", - "sha256": "28c2fc1952446aec187dace1fdfa89bcc67e1c0f3bd281c55bb505b7f3062aef", - "content-type": "application/gzip; dcp-type=data", - "size": 4249873607 - }, - "sequence_file/f1f55462-4542-41d9-9709-e88cc8723e2d": { - "sha1": "99c75f63db467c01198390de6bcd82159f610670", - "name": "MantonCB8_HiSeq_6_S30_L008_R1_001.fastq.gz", - "uuid": "f1f55462-4542-41d9-9709-e88cc8723e2d", - "crc32c": "0ea70d0e", - "version": "2018-03-29T09:03:31.050626Z", - "indexed": false, - "s3_etag": "a5f596628761b499b2fa4efae507d4f6-22", - "sha256": "992a7dbcb283ebb9309351ba862c93bb42a2015a63db3793c6ef2e247f7862a8", - "content-type": "application/gzip; dcp-type=data", - "size": 1455288950 - }, - "sequence_file/c38a31ea-3e15-4f0d-ba20-0a8c14c320d0": { - "sha1": "6cb111b1f02f3da96b7a0de5027710f94bee02e7", - "name": "MantonCB8_HiSeq_7_S31_L008_I1_001.fastq.gz", - "uuid": "c38a31ea-3e15-4f0d-ba20-0a8c14c320d0", - "crc32c": "702ae790", - "version": "2018-03-29T09:03:33.517742Z", - "indexed": false, - "s3_etag": "857eb243f8f876bfe814a15550f61706-8", - "sha256": "f1d5c3123926b26fdb87a9f8d10cd1b18de8443cba231a5bd5b132fb387035e9", - "content-type": "application/gzip; dcp-type=data", - "size": 492930197 - }, - "sequence_file/f97819ce-eda6-4f8b-829d-189d1cb28000": { - "sha1": "44d5ffbbfe8af31dd3fdf6e18b348874c709b5c2", - "name": "MantonCB6_HiSeq_1_S9_L003_R2_001.fastq.gz", - "uuid": "f97819ce-eda6-4f8b-829d-189d1cb28000", - "crc32c": "5819844d", - "version": "2018-03-29T09:02:19.357499Z", - "indexed": false, - "s3_etag": "6bd6b9cd3c681892f4a4fb3ec6426304-50", - "sha256": "e686e92911c8a074c41672a1d55db126150238cdc403a948804d2c2bd1a45a12", - "content-type": "application/gzip; dcp-type=data", - "size": 3339401101 - }, - "sequence_file/9f09671a-d4c1-4126-9c8d-933e520b95ce": { - "sha1": "58134e79f339007e64a92ad750f0ba87b3064730", - "name": "MantonCB8_HiSeq_4_S28_L008_R1_001.fastq.gz", - "uuid": "9f09671a-d4c1-4126-9c8d-933e520b95ce", - "crc32c": "967aad1a", - "version": "2018-03-29T09:03:24.715768Z", - "indexed": false, - "s3_etag": "7d9901e46b7782769a3351e69ba31c7c-15", - "sha256": "63ea40ae073a3b1c27c09797220b0af83d30b55d764c1b540fd5c49d6c485c8d", - "content-type": "application/gzip; dcp-type=data", - "size": 982382543 - }, - "sequence_file/1bf928a1-cc12-442e-bd8a-18dd7de1856e": { - "sha1": "3b6462ad2786b0f0991fe50ed5afef92da20eefd", - "name": "MantonCB6_HiSeq_5_S13_L003_R2_001.fastq.gz", - "uuid": "1bf928a1-cc12-442e-bd8a-18dd7de1856e", - "crc32c": "113ce9d4", - "version": "2018-03-29T09:02:32.716501Z", - "indexed": false, - "s3_etag": "6b61589cace1fc32b35cb2948344a5f9-45", - "sha256": "eb760ad043e6d600a5d8ae847e4c6d2bc91bf86e0cf891039767b866b72e5bd0", - "content-type": "application/gzip; dcp-type=data", - "size": 2962058467 - }, - "sequence_file/94963c37-2c09-4e55-b864-a4579d7e2b4a": { - "sha1": "1f7c1b58f66036fad8c6cf4f283ab758dc21c61a", - "name": "MantonCB5_HiSeq_1_S1_L002_I1_001.fastq.gz", - "uuid": "94963c37-2c09-4e55-b864-a4579d7e2b4a", - "crc32c": "a5a99800", - "version": "2018-03-29T09:01:51.097979Z", - "indexed": false, - "s3_etag": "ac04e2dbd5ec93269f0ee24fa2e87a07-6", - "sha256": "d589f2cc6a5236a32b798b8b25e2ec9590a76520119bfd304eaac3bc20861615", - "content-type": "application/gzip; dcp-type=data", - "size": 378705325 - }, - "sequence_file/49ad6c64-1828-4bc6-833f-e05dec7e74f1": { - "sha1": "50d5d09b1f520e81677f89f1c9c9739b7a595efa", - "name": "MantonCB6_HiSeq_8_S16_L003_R2_001.fastq.gz", - "uuid": "49ad6c64-1828-4bc6-833f-e05dec7e74f1", - "crc32c": "bc8dfe43", - "version": "2018-03-29T09:02:42.998927Z", - "indexed": false, - "s3_etag": "f3e1133ed8e79d7d5ab4a4159060edc4-49", - "sha256": "ea029d60f2c505a97eebf8edfe103784d683b96410bac0075ab01aa0aab4ca83", - "content-type": "application/gzip; dcp-type=data", - "size": 3267825319 - }, - "sequence_file/5ba381b3-fdc7-4551-a1bd-767100529e4f": { - "sha1": "a1e5d66e579c1bcea508b446f6f12f8b6ef8bb7d", - "name": "MantonCB7_HiSeq_4_S20_L005_I1_001.fastq.gz", - "uuid": "5ba381b3-fdc7-4551-a1bd-767100529e4f", - "crc32c": "58082752", - "version": "2018-03-29T09:02:54.677671Z", - "indexed": false, - "s3_etag": "ddc8ff1cb555fdc0f1bf2fc77274e193-6", - "sha256": "8930b05271eb556c48a1799d14cee237d78d80115b2cbdd72256a40bf366515a", - "content-type": "application/gzip; dcp-type=data", - "size": 378329759 - }, - "sequence_file/29cb8048-30cd-429f-9b87-9a021b0b5c57": { - "sha1": "0323db92adcc9731b0aa42d9bb776a68890776ad", - "name": "MantonCB7_HiSeq_3_S19_L005_I1_001.fastq.gz", - "uuid": "29cb8048-30cd-429f-9b87-9a021b0b5c57", - "crc32c": "670bd438", - "version": "2018-03-29T09:02:51.751766Z", - "indexed": false, - "s3_etag": "7e0f74f246f18a82fe63b4aa1437f83c-7", - "sha256": "b11e60b05f0ce7b397da5c98973261b694a978d9e3b67a45af62a4295e6b15cb", - "content-type": "application/gzip; dcp-type=data", - "size": 414630882 - }, - "sequence_file/93c5298f-0d6b-4efd-be2c-facce5e99116": { - "sha1": "9b7efbf15473d94ddffbf8b64b583dab5ad9fd4f", - "name": "MantonCB5_HiSeq_6_S6_L001_R1_001.fastq.gz", - "uuid": "93c5298f-0d6b-4efd-be2c-facce5e99116", - "crc32c": "aaf59f04", - "version": "2018-03-29T09:02:08.649727Z", - "indexed": false, - "s3_etag": "6107131fe62be00a814e90f3c162bf48-19", - "sha256": "53ddd8aad803cf2b718f3af93b97dd1c224b1684be60229a0922af685f7ca151", - "content-type": "application/gzip; dcp-type=data", - "size": 1254294541 - }, - "sequence_file/2c309500-dfed-40aa-9a1c-41c0990430b5": { - "sha1": "a1ac95bd99905034c5b5deccbd592bbe359bacaa", - "name": "MantonCB5_HiSeq_2_S2_L001_R2_001.fastq.gz", - "uuid": "2c309500-dfed-40aa-9a1c-41c0990430b5", - "crc32c": "17fc6627", - "version": "2018-03-29T09:01:54.115944Z", - "indexed": false, - "s3_etag": "4ef63d9a6ba3a31aa584445cd6c05f1f-51", - "sha256": "e81ed99c2e64b535c7a6d140396e3b077480f5f9934e7eeff486833aa4d95901", - "content-type": "application/gzip; dcp-type=data", - "size": 3420415120 - }, - "sequence_file/e829a452-6a60-4bb6-b860-d171ab780676": { - "sha1": "1db5e0221adcc1a82487a55e635033ad1d3351e6", - "name": "MantonCB5_HiSeq_3_S3_L002_I1_001.fastq.gz", - "uuid": "e829a452-6a60-4bb6-b860-d171ab780676", - "crc32c": "d98c7157", - "version": "2018-03-29T09:01:58.743158Z", - "indexed": false, - "s3_etag": "3f39750e8a736d0c59b0f654b3864d8f-7", - "sha256": "e52dc7e33af4921b325748b15bc24c22ec1ade2fb59e86ca72f7f68960b57d53", - "content-type": "application/gzip; dcp-type=data", - "size": 406595324 - }, - "sequence_file/4540953b-ff03-4cda-9f06-75093a81b26f": { - "sha1": "957791e2500c4f403f054dca2de49b8040e5621c", - "name": "MantonCB8_HiSeq_5_S29_L008_R1_001.fastq.gz", - "uuid": "4540953b-ff03-4cda-9f06-75093a81b26f", - "crc32c": "0dc81279", - "version": "2018-03-29T09:03:27.870283Z", - "indexed": false, - "s3_etag": "1241bf22e5711722ef0ff38e67aebc20-20", - "sha256": "33f3273e074f9f621f57073e7bd2da84818356e4d3ceabe19d3dce46674d31ee", - "content-type": "application/gzip; dcp-type=data", - "size": 1289241878 - }, - "sequence_file/2ba39558-505b-4dce-b3d4-1256027935ce": { - "sha1": "26a969557d09e8a0d9a758912e929c94f45f4e8f", - "name": "MantonCB5_HiSeq_4_S4_L001_R1_001.fastq.gz", - "uuid": "2ba39558-505b-4dce-b3d4-1256027935ce", - "crc32c": "8d532b8d", - "version": "2018-03-29T09:02:00.757715Z", - "indexed": false, - "s3_etag": "2fe5c748f6d450b63079ad546c916374-19", - "sha256": "a9115600501974e70c3d8b587b1ac4ba90112006be3adc2f48541361f1d0a732", - "content-type": "application/gzip; dcp-type=data", - "size": 1249399752 - }, - "sequence_file/e5337ffe-3c97-457a-9566-13ed907751c4": { - "sha1": "7979c1d65f4b14b7db6fadaa03604b7ecb180476", - "name": "MantonCB8_HiSeq_4_S28_L007_I1_001.fastq.gz", - "uuid": "e5337ffe-3c97-457a-9566-13ed907751c4", - "crc32c": "dc879f51", - "version": "2018-03-29T09:03:22.881488Z", - "indexed": false, - "s3_etag": "ab2599eab5010bb4fa409ab53d1298fb-6", - "sha256": "77909514946460b25d16ec5b95e2aa42b0a8df283537b9bf3bc4696032c11580", - "content-type": "application/gzip; dcp-type=data", - "size": 340131429 - }, - "sequence_file/d0c73976-8025-46ec-ae91-37b71f73556f": { - "sha1": "8cee1b2a37b7824749c9d71a31f3bd6255b5eeb4", - "name": "MantonCB6_HiSeq_4_S12_L003_I1_001.fastq.gz", - "uuid": "d0c73976-8025-46ec-ae91-37b71f73556f", - "crc32c": "fb8e0d16", - "version": "2018-03-29T09:02:28.739133Z", - "indexed": false, - "s3_etag": "6604061283cb49ba59eb824185d9712a-7", - "sha256": "a04e02a571d85a85267c265b9f05f44d9f87e4f0dfb389be3443a7cfd9170003", - "content-type": "application/gzip; dcp-type=data", - "size": 412138786 - }, - "sequence_file/7a2f30f6-5827-4df3-ba74-268c602098cc": { - "sha1": "881e0e8859bd2c6787c426ef834f267612a2d460", - "name": "MantonCB5_HiSeq_5_S5_L001_R2_001.fastq.gz", - "uuid": "7a2f30f6-5827-4df3-ba74-268c602098cc", - "crc32c": "3f5975fe", - "version": "2018-03-29T09:02:04.427277Z", - "indexed": false, - "s3_etag": "38b8d6c561cf996d027afd393df5860c-55", - "sha256": "71d06679a3211ed3ae9ad936ca1da934ba1d9dc116727712d715c11a8de20549", - "content-type": "application/gzip; dcp-type=data", - "size": 3679401403 - }, - "sequence_file/8089569e-ad43-4ed8-80b5-d2e36b890aa3": { - "sha1": "a8ed5503a312939ee7d026f908e0d314f3eb8c97", - "name": "MantonCB8_HiSeq_7_S31_L007_I1_001.fastq.gz", - "uuid": "8089569e-ad43-4ed8-80b5-d2e36b890aa3", - "crc32c": "4f7cdc77", - "version": "2018-03-29T09:03:31.920346Z", - "indexed": false, - "s3_etag": "75f05a4af3637d3601d544b68d61915b-8", - "sha256": "193f6877b2531928df300e57a42b7e0ca60c4c3c302163b40b28afd67e345026", - "content-type": "application/gzip; dcp-type=data", - "size": 489719474 - }, - "sequence_file/e6b13e6a-e1de-4e97-b788-7c136304ed29": { - "sha1": "cce4f5d5faa0b4e0d8da974cd7d46f6aa4c5ade7", - "name": "MantonCB6_HiSeq_1_S9_L003_R1_001.fastq.gz", - "uuid": "e6b13e6a-e1de-4e97-b788-7c136304ed29", - "crc32c": "c6b89c26", - "version": "2018-03-29T09:02:18.931909Z", - "indexed": false, - "s3_etag": "c23a3b4c957c52c0582564216d912117-18", - "sha256": "306f96faf1f1c13ac195a39e9c4c0113bc67a5a53b20743ad96e2416e9ede9a0", - "content-type": "application/gzip; dcp-type=data", - "size": 1162462766 - }, - "sequence_file/05a27843-3e71-480a-b4df-c4fe28bb413f": { - "sha1": "19731d3130c3374ede06d31807b67c9d776dcd01", - "name": "MantonCB7_HiSeq_1_S17_L005_R1_001.fastq.gz", - "uuid": "05a27843-3e71-480a-b4df-c4fe28bb413f", - "crc32c": "5efac44d", - "version": "2018-03-29T09:02:45.564522Z", - "indexed": false, - "s3_etag": "0e5c956052d3bc2bd5186a29901414fa-22", - "sha256": "eaf9b3512de43633e48bf6dbbd9714dbcc759d6fe35505b5d6d497cfaa73d450", - "content-type": "application/gzip; dcp-type=data", - "size": 1432990795 - }, - "sequence_file/345b2f3d-570f-4450-9f99-2408311820c0": { - "sha1": "6d70d8b44059dc5106fb1c8cb050199ee9abaf9a", - "name": "MantonCB7_HiSeq_5_S21_L006_I1_001.fastq.gz", - "uuid": "345b2f3d-570f-4450-9f99-2408311820c0", - "crc32c": "5dada3f6", - "version": "2018-03-29T09:02:59.125936Z", - "indexed": false, - "s3_etag": "28fd20420a34ce5b896a29c76d7cc05d-7", - "sha256": "8ae7505458031b6c4154366bba05da9ff299cde3d411c9e3746a305897456cd4", - "content-type": "application/gzip; dcp-type=data", - "size": 432555531 - }, - "sequence_file/7968ac17-7547-4817-b97a-d7af390f3c13": { - "sha1": "ec33243b3ad9410345199e930c45e14139e3e7f7", - "name": "MantonCB8_HiSeq_1_S25_L008_R2_001.fastq.gz", - "uuid": "7968ac17-7547-4817-b97a-d7af390f3c13", - "crc32c": "23576d10", - "version": "2018-03-29T09:03:12.548047Z", - "indexed": false, - "s3_etag": "c6c0fde170d12f9d3ff05d5f054cd205-43", - "sha256": "96fe6ea163acb2cc1941cf3902d7f7ace04dd177b7139ae863e75d9d40737e50", - "content-type": "application/gzip; dcp-type=data", - "size": 2852372137 - }, - "sequence_file/61564fb3-4124-4096-a619-276f3b38e26e": { - "sha1": "8f9a7b8745065cc83a203fd6bac703d64b873daf", - "name": "MantonCB7_HiSeq_1_S17_L005_I1_001.fastq.gz", - "uuid": "61564fb3-4124-4096-a619-276f3b38e26e", - "crc32c": "13a423f0", - "version": "2018-03-29T09:02:44.976925Z", - "indexed": false, - "s3_etag": "6662c8b35f4cf1af7be9719ad2a8a9f8-7", - "sha256": "74a73ff5722fef208c2e4610e4f9255a981135ba10e57548743c194f5e6fbadf", - "content-type": "application/gzip; dcp-type=data", - "size": 445100540 - }, - "sequence_file/b2d5ff76-941a-4e98-8636-3d530d1e7b63": { - "sha1": "e49a041c40b11d1e67cf2ef4f948680aa477994d", - "name": "MantonCB7_HiSeq_6_S22_L006_R1_001.fastq.gz", - "uuid": "b2d5ff76-941a-4e98-8636-3d530d1e7b63", - "crc32c": "b063b053", - "version": "2018-03-29T09:03:02.850944Z", - "indexed": false, - "s3_etag": "e9e17e80cc7578243f217f992fcbbc8d-18", - "sha256": "8ed0e587fd304ab18a1efc314500c055b8bf1ef9046524948c9cf1b8076f8df2", - "content-type": "application/gzip; dcp-type=data", - "size": 1196927416 - }, - "sequence_file/8ad1ce1c-af56-40c5-b139-bb19fbc7fe20": { - "sha1": "941e09648957f833d3a36e85da2cbea6a5cba9a8", - "name": "MantonCB8_HiSeq_2_S26_L007_R2_001.fastq.gz", - "uuid": "8ad1ce1c-af56-40c5-b139-bb19fbc7fe20", - "crc32c": "39cba5e3", - "version": "2018-03-29T09:03:16.771193Z", - "indexed": false, - "s3_etag": "9802b1c2f201c110aa70aed6b4c0fd47-44", - "sha256": "1df49ea6d8f5df2fff2c0f73f568d7d348e3e57986365278f62f8196b0cb51b6", - "content-type": "application/gzip; dcp-type=data", - "size": 2920253576 - }, - "sequence_file/63ef4ec3-73f1-4ee8-b392-45293f36cf3d": { - "sha1": "75bdcbf4332e216a62f4d63a62df64b38bc5ee7e", - "name": "MantonCB7_HiSeq_3_S19_L006_I1_001.fastq.gz", - "uuid": "63ef4ec3-73f1-4ee8-b392-45293f36cf3d", - "crc32c": "4f751c1c", - "version": "2018-03-29T09:02:53.069699Z", - "indexed": false, - "s3_etag": "3751837d0e258a17410b45589d49d591-7", - "sha256": "3a660af3abd834f21809bb9c740e590ff9579a7f8ef19719274d994606a27c37", - "content-type": "application/gzip; dcp-type=data", - "size": 429826554 - }, - "sequence_file/0e0e0209-9277-4904-b38d-ef2a97ba2773": { - "sha1": "fcbaddb14bfd2a5e661424bb043dbc85c6142b15", - "name": "MantonCB5_HiSeq_6_S6_L001_R2_001.fastq.gz", - "uuid": "0e0e0209-9277-4904-b38d-ef2a97ba2773", - "crc32c": "d0e2f969", - "version": "2018-03-29T09:02:08.987174Z", - "indexed": false, - "s3_etag": "5defdc2094f3e3f1edfb065952184ed4-54", - "sha256": "d24a9b7a1f56ba65b0a5a94663fd04dffdd602ecfa991c118603f7cf7ce278a5", - "content-type": "application/gzip; dcp-type=data", - "size": 3580235445 - }, - "sequence_file/88883f8c-4659-40a4-b5df-f37bca5183ba": { - "sha1": "0d080a7180efbf8149c4a3262924b97865a404fb", - "name": "MantonCB5_HiSeq_7_S7_L001_R2_001.fastq.gz", - "uuid": "88883f8c-4659-40a4-b5df-f37bca5183ba", - "crc32c": "287af13e", - "version": "2018-03-29T09:02:13.112281Z", - "indexed": false, - "s3_etag": "25adc9f88e244accc5d793cf58c90d48-57", - "sha256": "d8681ed15128418de734ee5422a670b87a47e85934b218bf4524c8183f9dda0f", - "content-type": "application/gzip; dcp-type=data", - "size": 3818195405 - }, - "sequence_file/43f5a634-dc82-4099-9b89-221e04ffc981": { - "sha1": "6d6a7177c55338af833008f2064d135e39e32e24", - "name": "MantonCB7_HiSeq_7_S23_L005_R2_001.fastq.gz", - "uuid": "43f5a634-dc82-4099-9b89-221e04ffc981", - "crc32c": "98ddaf91", - "version": "2018-03-29T09:03:04.857835Z", - "indexed": false, - "s3_etag": "584f8c72f16f38c54c812468ea421aa6-53", - "sha256": "0bcabdf21dd294b2319d92b1c5b8b655393ca84b9691860bb73e13ce4e96b0f4", - "content-type": "application/gzip; dcp-type=data", - "size": 3550299492 - }, - "sequence_file/8c502d9e-2105-4d00-987d-759e583af7c5": { - "sha1": "0470dbec26e349119a98e0794dd5a4253a1c0e5c", - "name": "MantonCB7_HiSeq_2_S18_L005_R1_001.fastq.gz", - "uuid": "8c502d9e-2105-4d00-987d-759e583af7c5", - "crc32c": "b3cca1ad", - "version": "2018-03-29T09:02:48.698060Z", - "indexed": false, - "s3_etag": "afae73173ea5739a9722d5996526c0df-10", - "sha256": "64593f8066be07542e87acec329254acfc9610f0af4f12d673926655dc279f41", - "content-type": "application/gzip; dcp-type=data", - "size": 624542668 - }, - "sequence_file/d0ef4648-0237-4c64-b124-b70b17d8099e": { - "sha1": "b2d4d78b72010f3c9d228c71eae63674fb900842", - "name": "MantonCB6_HiSeq_7_S15_L004_I1_001.fastq.gz", - "uuid": "d0ef4648-0237-4c64-b124-b70b17d8099e", - "crc32c": "8f14ca37", - "version": "2018-03-29T09:02:39.543355Z", - "indexed": false, - "s3_etag": "2973270e246ae0e04afb158be6029266-8", - "sha256": "65404272ac727d938902810505c292cceee4bb28ea79cb8dd366b24cc71a9237", - "content-type": "application/gzip; dcp-type=data", - "size": 498011938 - }, - "sequence_file/01a566c6-ab81-4a35-9d8c-3631fadc7ef7": { - "sha1": "a06eb1bcfe6a5d9fa16c9cdbe9a44c93c18749a4", - "name": "MantonCB7_HiSeq_6_S22_L005_I1_001.fastq.gz", - "uuid": "01a566c6-ab81-4a35-9d8c-3631fadc7ef7", - "crc32c": "6f9653a7", - "version": "2018-03-29T09:03:00.825951Z", - "indexed": false, - "s3_etag": "ee084c3ee5577d436b534c3dad23bbc1-6", - "sha256": "917cda51683c0934a264d5cfe486b15c0891ddac301f6eeb5b409a52a27620cf", - "content-type": "application/gzip; dcp-type=data", - "size": 381122239 - }, - "sequence_file/61079973-c1c2-43a1-bb8a-1fcd53ba28b9": { - "sha1": "0181d0fa9388c9f997e2fc70e2cd45278a0eacb1", - "name": "MantonCB8_HiSeq_1_S25_L007_I1_001.fastq.gz", - "uuid": "61079973-c1c2-43a1-bb8a-1fcd53ba28b9", - "crc32c": "ea0177b9", - "version": "2018-03-29T09:03:09.998070Z", - "indexed": false, - "s3_etag": "1ffcd8ae4880a7b2eafc34d4b55d2e78-5", - "sha256": "b3dd148ecd4c1942683bd2ce5ea1a1022ebcc3434280db0e21368d15a53a0e4b", - "content-type": "application/gzip; dcp-type=data", - "size": 334773833 - }, - "sequence_file/7b802c7f-1bcc-41a0-ad22-bd8d2f91ad0d": { - "sha1": "50698420ba1cfef27c5627fb298b2e207790fcd4", - "name": "MantonCB7_HiSeq_7_S23_L006_I1_001.fastq.gz", - "uuid": "7b802c7f-1bcc-41a0-ad22-bd8d2f91ad0d", - "crc32c": "3ddb34f7", - "version": "2018-03-29T09:03:05.254808Z", - "indexed": false, - "s3_etag": "c51e071c3d5d8b898a8ddf214fecbc78-7", - "sha256": "201a3fcb63854b7ad796e732715be4a6daa1d347b3e5b34b97b0f7d5b6e261ca", - "content-type": "application/gzip; dcp-type=data", - "size": 420929420 - }, - "sequence_file/578890ad-325d-4081-b033-edd7cb3c221a": { - "sha1": "810fe221e2feb3d6a5580796711602a09ad767b8", - "name": "MantonCB6_HiSeq_3_S11_L004_R2_001.fastq.gz", - "uuid": "578890ad-325d-4081-b033-edd7cb3c221a", - "crc32c": "5190caac", - "version": "2018-03-29T09:02:28.209475Z", - "indexed": false, - "s3_etag": "61967acdbf34fed941220618ec5d1d21-48", - "sha256": "c362d0df9fb65e0c5207468d547d23f91e9edda56ff7d3c6af921f7f2f099c3c", - "content-type": "application/gzip; dcp-type=data", - "size": 3216238655 - }, - "sequence_file/064a2cdf-18fb-4039-9faf-9bc55bfe0b81": { - "sha1": "94aeaf81f3ed52e8515909e5540947016f1f0337", - "name": "MantonCB8_HiSeq_4_S28_L008_R2_001.fastq.gz", - "uuid": "064a2cdf-18fb-4039-9faf-9bc55bfe0b81", - "crc32c": "08f87672", - "version": "2018-03-29T09:03:25.263662Z", - "indexed": false, - "s3_etag": "e17e360d435ebfd80d0995a0d1ad283e-43", - "sha256": "6bf4248039cd136f6eaa091cd4bbd5b180266eb2a91a3e035fea6012a09c615c", - "content-type": "application/gzip; dcp-type=data", - "size": 2831460171 - }, - "sequence_file/a9699776-1b44-4f90-b996-2eaeb8785a7a": { - "sha1": "e9c7ae6f4e6a15ceaf8393fd61a561fc031dd6a7", - "name": "MantonCB8_HiSeq_4_S28_L008_I1_001.fastq.gz", - "uuid": "a9699776-1b44-4f90-b996-2eaeb8785a7a", - "crc32c": "4e41a565", - "version": "2018-03-29T09:03:24.277737Z", - "indexed": false, - "s3_etag": "ca4ff3c9903c5a50f9853951588d8c38-6", - "sha256": "3c472258e170ae905e04c7d8d5c44bc6db2451ae7846e89e174d8d7cafafb91c", - "content-type": "application/gzip; dcp-type=data", - "size": 341211072 - }, - "sequence_file/4d4bc5c5-e07a-4c31-a797-3d3159b42f9a": { - "sha1": "e75afdefdba1f6dc57e323e1ed3cd9ac6b0b8979", - "name": "MantonCB7_HiSeq_8_S24_L005_R2_001.fastq.gz", - "uuid": "4d4bc5c5-e07a-4c31-a797-3d3159b42f9a", - "crc32c": "2a8ee693", - "version": "2018-03-29T09:03:08.106503Z", - "indexed": false, - "s3_etag": "4f15ff82da210048f087ded280eb6bc5-56", - "sha256": "f7cbb5cac9a8b6e9bf248e8879cecea0ed7b8cc18c660a16a36f127e8c218f6f", - "content-type": "application/gzip; dcp-type=data", - "size": 3737962239 - }, - "sequence_file/c27b7f86-1a00-4eab-8267-1c138b5e37f6": { - "sha1": "8675f8530e6064127d22c8ab83459f27879278e5", - "name": "MantonCB5_HiSeq_6_S6_L001_I1_001.fastq.gz", - "uuid": "c27b7f86-1a00-4eab-8267-1c138b5e37f6", - "crc32c": "b46e01f3", - "version": "2018-03-29T09:02:07.167603Z", - "indexed": false, - "s3_etag": "e50f32ee7b4ad99e5bcfa3e06f241988-7", - "sha256": "5fe9e98d95aac5a531f2d7bd85b1cf9c7ebfbfd430a5171a3f42613c072907bd", - "content-type": "application/gzip; dcp-type=data", - "size": 405583379 - }, - "sequence_file/6e67ea1f-e553-4301-9647-237c23af06a0": { - "sha1": "23c5adcf0530c1f24b785a54fa8880a43d075d77", - "name": "MantonCB7_HiSeq_7_S23_L006_R1_001.fastq.gz", - "uuid": "6e67ea1f-e553-4301-9647-237c23af06a0", - "crc32c": "107f8310", - "version": "2018-03-29T09:03:05.717740Z", - "indexed": false, - "s3_etag": "83f3826f5db8cb6633d4e6c98d53ec8a-20", - "sha256": "7e1111fb24757dd77ebab1f4a6b9161eabe4d05c36c050d95bdb9207c04c2c46", - "content-type": "application/gzip; dcp-type=data", - "size": 1290668376 - }, - "sequence_file/1486fa5d-3e27-4942-baa6-e8b3db1b09c4": { - "sha1": "80a319d896c5feee6ab1ad68adc826ef81ddcb4e", - "name": "MantonCB6_HiSeq_2_S10_L004_R2_001.fastq.gz", - "uuid": "1486fa5d-3e27-4942-baa6-e8b3db1b09c4", - "crc32c": "064c45e8", - "version": "2018-03-29T09:02:24.907527Z", - "indexed": false, - "s3_etag": "8c5cb44e97333e0f32e28e3adf9a3c63-54", - "sha256": "7e612936a637fbeafa262af74205ba3b6100469b557332b45c380d87172935c3", - "content-type": "application/gzip; dcp-type=data", - "size": 3587197396 - }, - "sequence_file/edb92ba9-449b-4d51-a638-22e26a5d471e": { - "sha1": "2a0266b6c1651a1aeccc41fce66a5ccb8732307a", - "name": "MantonCB8_HiSeq_8_S32_L008_R2_001.fastq.gz", - "uuid": "edb92ba9-449b-4d51-a638-22e26a5d471e", - "crc32c": "c2f8c34f", - "version": "2018-03-29T09:03:37.705449Z", - "indexed": false, - "s3_etag": "62190239e111f79300a941984d4de1c3-60", - "sha256": "0dc9e1e2905a8f5c5235801bcf84631d8554bba0a8834829775d06b6c843c4bb", - "content-type": "application/gzip; dcp-type=data", - "size": 3970216839 - }, - "sequence_file/7bdae9af-9ece-44c7-816b-abdf3ef629be": { - "sha1": "844105f579b73730abb78eb76fcc4c10b4da246e", - "name": "MantonCB7_HiSeq_4_S20_L005_R2_001.fastq.gz", - "uuid": "7bdae9af-9ece-44c7-816b-abdf3ef629be", - "crc32c": "ddcf184d", - "version": "2018-03-29T09:02:55.887477Z", - "indexed": false, - "s3_etag": "f1189523aee99b8999768770c06e2c9c-52", - "sha256": "9a886e4b37a93d833eb695a7ca3dc5a0df8f05382fc8787bad698d5c20ca5dd0", - "content-type": "application/gzip; dcp-type=data", - "size": 3468414714 - }, - "sequence_file/ad3b081b-2f62-44bd-ba24-3042632e4e56": { - "sha1": "5573230f78e2dd9429afc1fb1c6018640c3ac794", - "name": "MantonCB5_HiSeq_5_S5_L001_R1_001.fastq.gz", - "uuid": "ad3b081b-2f62-44bd-ba24-3042632e4e56", - "crc32c": "8cc846b1", - "version": "2018-03-29T09:02:04.078690Z", - "indexed": false, - "s3_etag": "766ed03370dac99bedea678304c30726-20", - "sha256": "4672d4d8df0ccc0b92fd7ee831802cdbd5c4097f569bff2ea5e226f19939ec39", - "content-type": "application/gzip; dcp-type=data", - "size": 1293836719 - }, - "sequence_file/4d547634-951e-44ad-9259-a7d9ca2d7658": { - "sha1": "5d6d5d5c7caae25c61b2928067019097833874e1", - "name": "MantonCB8_HiSeq_3_S27_L008_R2_001.fastq.gz", - "uuid": "4d547634-951e-44ad-9259-a7d9ca2d7658", - "crc32c": "21458efa", - "version": "2018-03-29T09:03:22.276512Z", - "indexed": false, - "s3_etag": "da8b15710dfb13abafb6354c2a8ea39c-46", - "sha256": "58d3868a96dcd1af4279124d881ce1e2fda54e0cb07530ed03ee8dbc56fc6747", - "content-type": "application/gzip; dcp-type=data", - "size": 3035928358 - }, - "sequence_file/8a8398e9-7b04-4c33-b9e8-408f0cf945f3": { - "sha1": "62365ef9168395b5be0b1674e1c00e57e39fb153", - "name": "MantonCB8_HiSeq_6_S30_L007_R1_001.fastq.gz", - "uuid": "8a8398e9-7b04-4c33-b9e8-408f0cf945f3", - "crc32c": "718352ad", - "version": "2018-03-29T09:03:29.438305Z", - "indexed": false, - "s3_etag": "74e9945621049bd7aa9c696af699b2d4-22", - "sha256": "365d425ba1cc5f483137a0e70416fe58daa985dfdba65b02cb77f74ff3100b72", - "content-type": "application/gzip; dcp-type=data", - "size": 1457684695 - }, - "sequence_file/73934c9a-041e-4ac3-81fe-cbaee7972d5c": { - "sha1": "466836f9bd9605c265199cd6f4b634b320e1b2ea", - "name": "MantonCB7_HiSeq_4_S20_L006_R2_001.fastq.gz", - "uuid": "73934c9a-041e-4ac3-81fe-cbaee7972d5c", - "crc32c": "82214ccf", - "version": "2018-03-29T09:02:57.260045Z", - "indexed": false, - "s3_etag": "f0fb37edd271596db723a57461721fc4-55", - "sha256": "b8dc1546e76e43d53d9095f1ed5d200947476ce4f2a4a7951576a9122192504b", - "content-type": "application/gzip; dcp-type=data", - "size": 3629005437 - }, - "sequence_file/1c0c54cc-bfc8-42be-8cd2-ae57910ac1e5": { - "sha1": "2f2e221ed496ff3df1e799286808cfe3f2042103", - "name": "MantonCB7_HiSeq_3_S19_L006_R2_001.fastq.gz", - "uuid": "1c0c54cc-bfc8-42be-8cd2-ae57910ac1e5", - "crc32c": "9a8a0ea8", - "version": "2018-03-29T09:02:54.186750Z", - "indexed": false, - "s3_etag": "5bec4b5e25eb619e4d570c76695336d7-57", - "sha256": "cfe4d4e178b08c1f027b977db5f4e38a9b018a33f495073e1fbd1505a6cbd806", - "content-type": "application/gzip; dcp-type=data", - "size": 3812340660 - }, - "sequence_file/09171dfe-fadc-487c-b18e-a6e02c6d46ba": { - "sha1": "3732c197db65df4167987f45291ea310008e27e5", - "name": "MantonCB5_HiSeq_4_S4_L002_R1_001.fastq.gz", - "uuid": "09171dfe-fadc-487c-b18e-a6e02c6d46ba", - "crc32c": "f1ad5168", - "version": "2018-03-29T09:02:02.630810Z", - "indexed": false, - "s3_etag": "35039cbde90913b3e569e45e5beeb86c-19", - "sha256": "4aee74daee51553d86696caff0922a94e2f4f84023c902d79f9dcf8485457c42", - "content-type": "application/gzip; dcp-type=data", - "size": 1239289508 - }, - "sequence_file/e933a3ca-1820-4812-84e5-7aeff871e161": { - "sha1": "25bbf4105405a3c9e93792faad7ed1b3abfc5255", - "name": "MantonCB5_HiSeq_1_S1_L001_I1_001.fastq.gz", - "uuid": "e933a3ca-1820-4812-84e5-7aeff871e161", - "crc32c": "6288485f", - "version": "2018-03-29T09:01:49.710991Z", - "indexed": false, - "s3_etag": "e7d1c0aeb4918f05b33fad0967de2111-6", - "sha256": "d93757321bc735d29a51a3bb9c18f6ef9529851389cd916510efa048e390e8aa", - "content-type": "application/gzip; dcp-type=data", - "size": 385533402 - }, - "sequence_file/4c45fc75-b4e8-41c6-900d-e9c491f50e17": { - "sha1": "7d9e227c62d4bd5109c2a1e685da263225c5c0d1", - "name": "MantonCB6_HiSeq_7_S15_L003_R2_001.fastq.gz", - "uuid": "4c45fc75-b4e8-41c6-900d-e9c491f50e17", - "crc32c": "4eb3dc60", - "version": "2018-03-29T09:02:39.066094Z", - "indexed": false, - "s3_etag": "a90c71cb02d9572ef87cf54b621e012b-63", - "sha256": "ae3328b5aabe724ab885d7d908af20f50d8782dbec772d01dbc40a5b87a32a25", - "content-type": "application/gzip; dcp-type=data", - "size": 4219841827 - }, - "sequence_file/7f143ce8-8f68-4792-afc1-c7340e40a726": { - "sha1": "06848e2d284ef9821eaecc6ae601ea5a371cf6db", - "name": "MantonCB5_HiSeq_7_S7_L002_R2_001.fastq.gz", - "uuid": "7f143ce8-8f68-4792-afc1-c7340e40a726", - "crc32c": "0cf594f2", - "version": "2018-03-29T09:02:14.358817Z", - "indexed": false, - "s3_etag": "b8ce95e02bb61003d10ffac01fbdbde6-57", - "sha256": "9773b67f3f10a5f5ad1a27bb41a0319a4ce62b30f56ccaddd8c89f95841994f6", - "content-type": "application/gzip; dcp-type=data", - "size": 3759286734 - }, - "sequence_file/9641c4d4-4611-462c-bba1-c74bdc0634fd": { - "sha1": "062e62179f859681d789faeab65ce9c6ce4008be", - "name": "MantonCB5_HiSeq_4_S4_L002_I1_001.fastq.gz", - "uuid": "9641c4d4-4611-462c-bba1-c74bdc0634fd", - "crc32c": "3e1832ef", - "version": "2018-03-29T09:02:01.869683Z", - "indexed": false, - "s3_etag": "316fbbfb7f35b973b35d9cd8341a47e0-7", - "sha256": "8c2754787effcdefd5854cdcfa83f2cb9150da135d26ee3e772a7715f9f838d0", - "content-type": "application/gzip; dcp-type=data", - "size": 404390304 - }, - "sequence_file/4eb12302-6a01-4f2d-86cb-3eea398d7e52": { - "sha1": "fbe73499303632a6f8f6d777ff69184718f1fad6", - "name": "MantonCB6_HiSeq_5_S13_L004_I1_001.fastq.gz", - "uuid": "4eb12302-6a01-4f2d-86cb-3eea398d7e52", - "crc32c": "4f959eff", - "version": "2018-03-29T09:02:33.377748Z", - "indexed": false, - "s3_etag": "337aa13bc22f9d1992558c46da27ed61-6", - "sha256": "0403c3887e7c5a876f41ff53bf61f5fef6ac141faa5f3a0e61fb7ef5fcfa2ec7", - "content-type": "application/gzip; dcp-type=data", - "size": 356529945 - }, - "sequence_file/b1d42bb4-602c-488f-a519-efe483780513": { - "sha1": "cf8140e6db08321729cc30662ea6dab91509fbe5", - "name": "MantonCB8_HiSeq_1_S25_L007_R1_001.fastq.gz", - "uuid": "b1d42bb4-602c-488f-a519-efe483780513", - "crc32c": "e7707edf", - "version": "2018-03-29T09:03:10.355651Z", - "indexed": false, - "s3_etag": "5b0e1c14092372fe1f171e5442ba05a9-15", - "sha256": "ce91b02029418e587146b3b1fd8fd04b6ab89a5a3f28a8ec76c1ce2677f5f32f", - "content-type": "application/gzip; dcp-type=data", - "size": 993411883 - }, - "sequence_file/cf561267-e185-4e7d-9bd8-28b6dc091015": { - "sha1": "aae57b179143caaf6d9ab0c702894aa120855ba7", - "name": "MantonCB5_HiSeq_5_S5_L001_I1_001.fastq.gz", - "uuid": "cf561267-e185-4e7d-9bd8-28b6dc091015", - "crc32c": "b955dba9", - "version": "2018-03-29T09:02:03.815018Z", - "indexed": false, - "s3_etag": "2813327ab8236606e00c9e32fde87653-7", - "sha256": "28645e71adf188a0be0d3321e4023244af3a2539c7428b263bd7e9a300f7fd00", - "content-type": "application/gzip; dcp-type=data", - "size": 420136183 - }, - "sequence_file/9a90a5c8-205a-4b1d-80dc-01bdcf3fa4f4": { - "sha1": "114af04fdf316dd1b81bd372c59fcaec447911bd", - "name": "MantonCB5_HiSeq_8_S8_L002_R2_001.fastq.gz", - "uuid": "9a90a5c8-205a-4b1d-80dc-01bdcf3fa4f4", - "crc32c": "5ac594e0", - "version": "2018-03-29T09:02:17.627838Z", - "indexed": false, - "s3_etag": "35fc2b24cb1d9ebdfccc5795b7f2402e-54", - "sha256": "2c02a6aaf285509360ed509c471e42e68f433e568e1976e9d662614dd1f8c29b", - "content-type": "application/gzip; dcp-type=data", - "size": 3613423542 - }, - "sequence_file/78ec0998-8fb4-4e96-bce4-c1894f6c2e5d": { - "sha1": "c0d5eb54d66ec072d522772be844dad1929f7377", - "name": "MantonCB6_HiSeq_4_S12_L004_R1_001.fastq.gz", - "uuid": "78ec0998-8fb4-4e96-bce4-c1894f6c2e5d", - "crc32c": "7c2a6c10", - "version": "2018-03-29T09:02:31.006677Z", - "indexed": false, - "s3_etag": "a72c0201616b92d7e2bfce49526040b4-20", - "sha256": "be887f6593e71981a972306737acdc07909151aebfc86f2a4e4fdcb50d33aeb3", - "content-type": "application/gzip; dcp-type=data", - "size": 1334094674 - }, - "sequence_file/231bcda9-3ff6-4f9a-9be5-d6dbfbe3727f": { - "sha1": "c161648bdc456c245f7cd4e6d873d3d3262714ad", - "name": "MantonCB6_HiSeq_6_S14_L003_I1_001.fastq.gz", - "uuid": "231bcda9-3ff6-4f9a-9be5-d6dbfbe3727f", - "crc32c": "66c26a57", - "version": "2018-03-29T09:02:35.438967Z", - "indexed": false, - "s3_etag": "1f123f29c66c6dd58e011b03f8bbb0b7-6", - "sha256": "aa3ac217da01ec30c513a7c11be533e0bbc5f49a8898f4aba59fbbad4af31880", - "content-type": "application/gzip; dcp-type=data", - "size": 342223367 - }, - "sequence_file/cd348ba7-51d0-4ab9-b931-e6e57d7b087d": { - "sha1": "398b315584d95b3d4925919227e643fab00b71b1", - "name": "MantonCB6_HiSeq_6_S14_L003_R1_001.fastq.gz", - "uuid": "cd348ba7-51d0-4ab9-b931-e6e57d7b087d", - "crc32c": "6d7ed38e", - "version": "2018-03-29T09:02:35.823343Z", - "indexed": false, - "s3_etag": "6b2257ba567f53c5a64c7a0c24281426-16", - "sha256": "5f26204e4c88ebe92cab7c315ddcf674a67e3efab32810c5a0963a9fd5f3ec69", - "content-type": "application/gzip; dcp-type=data", - "size": 1048202075 - }, - "sequence_file/e201faf7-02da-4703-a891-766c6add57f9": { - "sha1": "5b4f1808ac1e01bcd3ddcf527995bec3aec5afd2", - "name": "MantonCB6_HiSeq_7_S15_L004_R1_001.fastq.gz", - "uuid": "e201faf7-02da-4703-a891-766c6add57f9", - "crc32c": "068ff24c", - "version": "2018-03-29T09:02:39.995683Z", - "indexed": false, - "s3_etag": "2e18cf7a03e6991238dc3e2785754b96-24", - "sha256": "acd811d770d539c6ea061ed99d6a8d45890b385f209237cb57c27e3f19e9fab5", - "content-type": "application/gzip; dcp-type=data", - "size": 1544545167 - }, - "sequence_file/88018608-c4b1-4ec9-abc1-d8940a604397": { - "sha1": "83a224b40c75023e35c3fa88e21a78a25a88a4c4", - "name": "MantonCB6_HiSeq_1_S9_L003_I1_001.fastq.gz", - "uuid": "88018608-c4b1-4ec9-abc1-d8940a604397", - "crc32c": "2758407b", - "version": "2018-03-29T09:02:18.649697Z", - "indexed": false, - "s3_etag": "0b233202ac8d7fc295a172895baf6495-6", - "sha256": "d2f353dd1de8cd963026f1526cd865c8f7d2afb467c763762f02ee4910207f6e", - "content-type": "application/gzip; dcp-type=data", - "size": 376884004 - }, - "sequence_file/97aa5b24-7f19-4b99-9473-cf2518cd6f03": { - "sha1": "f77d94d1ec6cb31b4606476e2584bde49e5a7d8b", - "name": "MantonCB6_HiSeq_8_S16_L003_I1_001.fastq.gz", - "uuid": "97aa5b24-7f19-4b99-9473-cf2518cd6f03", - "crc32c": "cfa69e7e", - "version": "2018-03-29T09:02:41.066786Z", - "indexed": false, - "s3_etag": "60f398c4fa79bbc84630e641ebcefccd-6", - "sha256": "f988cf1fea0fcb6546187c96fd488dbc28cdd5447396dfc79509f78fe095467e", - "content-type": "application/gzip; dcp-type=data", - "size": 368015482 - }, - "sequence_file/0622a845-6109-4c1a-bf60-aa1d47d23799": { - "sha1": "fea03e5db5a01ad49bce8c1a3c2fccaf6caa53e1", - "name": "MantonCB7_HiSeq_6_S22_L006_I1_001.fastq.gz", - "uuid": "0622a845-6109-4c1a-bf60-aa1d47d23799", - "crc32c": "9f9e7bca", - "version": "2018-03-29T09:03:02.330892Z", - "indexed": false, - "s3_etag": "302b32fce4d775761f117f956b7cb4eb-6", - "sha256": "2263d814052cdc0c11dee11e9f44e3ddcde21ef9ea5ddc3ff0b45955cd4dff13", - "content-type": "application/gzip; dcp-type=data", - "size": 394878983 - }, - "sequence_file/c0b50eb0-f38a-4102-ae11-355adc3a9753": { - "sha1": "bad5e5fad157a473c1f955170db4ad8600ab0742", - "name": "MantonCB8_HiSeq_7_S31_L007_R1_001.fastq.gz", - "uuid": "c0b50eb0-f38a-4102-ae11-355adc3a9753", - "crc32c": "0559ccd0", - "version": "2018-03-29T09:03:32.372350Z", - "indexed": false, - "s3_etag": "1e8548812f8817feead4267a6554c79d-23", - "sha256": "7d38323aad50b96a2d3d6375664da6232bc40e3c50f4049200fa0bd809b28d7b", - "content-type": "application/gzip; dcp-type=data", - "size": 1483676715 - }, - "sequence_file/325e58bd-5f19-47fd-9231-12d1bbb19fb8": { - "sha1": "8ac52e350cdef486a4fb9607c6cd11900696a3c1", - "name": "MantonCB8_HiSeq_5_S29_L008_I1_001.fastq.gz", - "uuid": "325e58bd-5f19-47fd-9231-12d1bbb19fb8", - "crc32c": "b38a9ec2", - "version": "2018-03-29T09:03:27.437975Z", - "indexed": false, - "s3_etag": "cacc77f2e630ec080d3526bfe797d26d-7", - "sha256": "2dfc079ad72287cf2b10cd172c18860dfda85e39e7cf6cbd0b7572d06c682a17", - "content-type": "application/gzip; dcp-type=data", - "size": 433544507 - }, - "sequence_file/f47923b9-561c-444c-8b18-ea8c1d4bf75d": { - "sha1": "eb827e78ecb3ccbda2cc11dde4ba162936cd8f21", - "name": "MantonCB6_HiSeq_5_S13_L004_R1_001.fastq.gz", - "uuid": "f47923b9-561c-444c-8b18-ea8c1d4bf75d", - "crc32c": "80fa34d8", - "version": "2018-03-29T09:02:33.998380Z", - "indexed": false, - "s3_etag": "bf9eb31f81f84f1c072034fd67a2c8dc-17", - "sha256": "57dff52ef8361e93b0ee05137bb84ae1406a98e35f9948c70bc4864e96df072a", - "content-type": "application/gzip; dcp-type=data", - "size": 1085513025 - }, - "sequence_file/da470794-0fc6-453d-a166-fc8c3bf9ce8c": { - "sha1": "44c4183acdadddd6605fa0ff51e2e25ec0d68637", - "name": "MantonCB7_HiSeq_8_S24_L006_I1_001.fastq.gz", - "uuid": "da470794-0fc6-453d-a166-fc8c3bf9ce8c", - "crc32c": "620ac10b", - "version": "2018-03-29T09:03:08.548126Z", - "indexed": false, - "s3_etag": "c91fc28769c89b5e453e72f095765ea1-7", - "sha256": "869407b768b549ab2d19ea8352594d85ee68b606ca8578defbff103579d5957b", - "content-type": "application/gzip; dcp-type=data", - "size": 434876041 - }, - "sequence_file/16a57933-11e5-4852-93a0-805e0433b2dd": { - "sha1": "868b3a2392e7b83bd5b21cf6d11428c449906d71", - "name": "MantonCB7_HiSeq_7_S23_L006_R2_001.fastq.gz", - "uuid": "16a57933-11e5-4852-93a0-805e0433b2dd", - "crc32c": "7b746a03", - "version": "2018-03-29T09:03:06.162801Z", - "indexed": false, - "s3_etag": "2039a44592a330bf19444dee06a867f8-56", - "sha256": "3492d6b545d7aba55e838060b6360a523cdacb6d76a0dc5a23d4b36ed8ddcd29", - "content-type": "application/gzip; dcp-type=data", - "size": 3698396558 - }, - "sequence_file/b877aa35-fc46-40b9-8869-bd717f9465db": { - "sha1": "168cdc8c800b96c58d68b03f86743e785caf1607", - "name": "MantonCB5_HiSeq_7_S7_L001_I1_001.fastq.gz", - "uuid": "b877aa35-fc46-40b9-8869-bd717f9465db", - "crc32c": "ba4b995e", - "version": "2018-03-29T09:02:12.221608Z", - "indexed": false, - "s3_etag": "a554978f366f1632f09d18a1ebe2c4d6-7", - "sha256": "7db91647ad9d2a1397290ebd7049c9810772aed98aca6867b206bb4323111699", - "content-type": "application/gzip; dcp-type=data", - "size": 448353650 - }, - "sequence_file/c8702058-1e5c-48e9-a1ac-d296478e7218": { - "sha1": "6314b21d3df6749209afbf594fd179d774b54d61", - "name": "MantonCB5_HiSeq_5_S5_L002_R2_001.fastq.gz", - "uuid": "c8702058-1e5c-48e9-a1ac-d296478e7218", - "crc32c": "cda49a6e", - "version": "2018-03-29T09:02:06.353539Z", - "indexed": false, - "s3_etag": "334dba11f4da378d8e76ab2c60c71249-54", - "sha256": "f329723e43ba175690f36a4ffaf86a4bebf9a0c3b527f103f858c4d84e21d3c3", - "content-type": "application/gzip; dcp-type=data", - "size": 3620639601 - }, - "sequence_file/21e743eb-f83e-428b-96af-8d6182610e0a": { - "sha1": "6f4ee0df88d6fa6151e51bb6151b09715d14d0eb", - "name": "MantonCB8_HiSeq_6_S30_L007_I1_001.fastq.gz", - "uuid": "21e743eb-f83e-428b-96af-8d6182610e0a", - "crc32c": "41fdf5c0", - "version": "2018-03-29T09:03:28.901325Z", - "indexed": false, - "s3_etag": "9f8052e32c6d8c779bcd3caa49a74376-8", - "sha256": "107e0ddb1724d3fc3de166b8c4b00d82d51493eed6c24162655f88b75dd4ef7f", - "content-type": "application/gzip; dcp-type=data", - "size": 489739577 - }, - "sequence_file/edfc2355-865b-4b05-8bd5-816907acca07": { - "sha1": "397eae317406d469f6ceab4892483e1d3bfa0fd0", - "name": "MantonCB6_HiSeq_2_S10_L003_I1_001.fastq.gz", - "uuid": "edfc2355-865b-4b05-8bd5-816907acca07", - "crc32c": "0a734451", - "version": "2018-03-29T09:02:21.752423Z", - "indexed": false, - "s3_etag": "99c73ed5bde83813e6a2072b4005291b-6", - "sha256": "dd6a2a15f8cd037b9beeb2171e8a216c5f9c6386962081bb197f35970ba30445", - "content-type": "application/gzip; dcp-type=data", - "size": 382329217 - }, - "sequence_file/481d7c49-8b4a-42ca-b4fd-021cf71cbc15": { - "sha1": "3809ef7691e06bcb3e4d89b1e2fa0c53c7c61039", - "name": "MantonCB6_HiSeq_1_S9_L004_I1_001.fastq.gz", - "uuid": "481d7c49-8b4a-42ca-b4fd-021cf71cbc15", - "crc32c": "a00bfa7a", - "version": "2018-03-29T09:02:20.475082Z", - "indexed": false, - "s3_etag": "8cad3b3db3e2a16b2fcbc7115d45e497-6", - "sha256": "52eb864896eced20e4805afd47a454e8df686ebaa1b318de8224375a92dd376b", - "content-type": "application/gzip; dcp-type=data", - "size": 392615055 - }, - "sequence_file/72057d86-405e-461a-af7f-344ae067bff7": { - "sha1": "2b050c76806097a59ef46a94a3d1284bb3574ea5", - "name": "MantonCB5_HiSeq_1_S1_L002_R2_001.fastq.gz", - "uuid": "72057d86-405e-461a-af7f-344ae067bff7", - "crc32c": "2442eee8", - "version": "2018-03-29T09:01:52.647839Z", - "indexed": false, - "s3_etag": "01c36d7223ef594c97a6b2e50df6654d-50", - "sha256": "996da0d74c7870c8f0d76b265b3e5743f3dd42ccc39bde0523e9e6459bcbc177", - "content-type": "application/gzip; dcp-type=data", - "size": 3294450182 - }, - "sequence_file/e310f0db-3e59-4339-8fc0-6322ba946dd9": { - "sha1": "170eceb6a17321f5b8f9dc7fa9187b4acfe1b711", - "name": "MantonCB6_HiSeq_6_S14_L004_I1_001.fastq.gz", - "uuid": "e310f0db-3e59-4339-8fc0-6322ba946dd9", - "crc32c": "4e9a5989", - "version": "2018-03-29T09:02:36.715742Z", - "indexed": false, - "s3_etag": "3f585f9cfbb67ea40c0faa4ca57572da-6", - "sha256": "9b2058af7d6103b4ea3bb53610e47e6c8fcae12ca5d1dbc3c19cde335176fc08", - "content-type": "application/gzip; dcp-type=data", - "size": 356717763 - }, - "sequence_file/00df0394-0487-4144-9c35-39d741045981": { - "sha1": "f7fe2d34bbb1bff368184f335af631d55a4228b9", - "name": "MantonCB8_HiSeq_1_S25_L008_I1_001.fastq.gz", - "uuid": "00df0394-0487-4144-9c35-39d741045981", - "crc32c": "b442b366", - "version": "2018-03-29T09:03:11.295443Z", - "indexed": false, - "s3_etag": "a6df6bb7d9e79f8b80215387c3b28cd9-6", - "sha256": "72dc878b76552ab2705c8768bf0e1c5ebc54128839fcc6d743d3d0066c81f825", - "content-type": "application/gzip; dcp-type=data", - "size": 336182046 - }, - "sequence_file/54bf0b5a-eac1-40eb-8507-162234918804": { - "sha1": "acffb40a90075c4e1fc3d2d9ee1c5ab649c8b6b0", - "name": "MantonCB6_HiSeq_4_S12_L003_R2_001.fastq.gz", - "uuid": "54bf0b5a-eac1-40eb-8507-162234918804", - "crc32c": "6e6dd966", - "version": "2018-03-29T09:02:29.947771Z", - "indexed": false, - "s3_etag": "44cc61a141ebc56874ec4d496859ed42-55", - "sha256": "42de155cd8c0ef136434ac5c923f47dfa123784cbe0ffb19548b789ac5a53e58", - "content-type": "application/gzip; dcp-type=data", - "size": 3649999977 - }, - "sequence_file/e6d7ead7-8e3c-437d-9d4d-f46bedf11c22": { - "sha1": "05ce7be6f8a74c9c9a41741f8b82aefe1c01d050", - "name": "MantonCB6_HiSeq_3_S11_L004_I1_001.fastq.gz", - "uuid": "e6d7ead7-8e3c-437d-9d4d-f46bedf11c22", - "crc32c": "d4d0e6d2", - "version": "2018-03-29T09:02:26.830156Z", - "indexed": false, - "s3_etag": "2f3329489b9f5e41f0f0fbd53bf33302-6", - "sha256": "00458859d596c223bde0682263f8ce6632082654192c1696cadf6d59da346f79", - "content-type": "application/gzip; dcp-type=data", - "size": 365363881 - }, - "sequence_file/9888d80c-aee4-4e18-b8e9-582e064a168c": { - "sha1": "683e1c10358ab903e58de4b72ef38ead92170f29", - "name": "MantonCB8_HiSeq_3_S27_L008_I1_001.fastq.gz", - "uuid": "9888d80c-aee4-4e18-b8e9-582e064a168c", - "crc32c": "096704f0", - "version": "2018-03-29T09:03:21.203004Z", - "indexed": false, - "s3_etag": "d12e8f1c3686cffc9cd5de0452cb5000-6", - "sha256": "03d7093c43fb47878fab3547c6fe8accfc98e8579048987ac449656d9a0c1275", - "content-type": "application/gzip; dcp-type=data", - "size": 357693500 - }, - "sequence_file/6f2e3c9b-3393-455f-8b8d-5551bc5e2f44": { - "sha1": "40d093d244347edd609761d69911cd196cd0fd34", - "name": "MantonCB6_HiSeq_1_S9_L004_R1_001.fastq.gz", - "uuid": "6f2e3c9b-3393-455f-8b8d-5551bc5e2f44", - "crc32c": "e97bc2ec", - "version": "2018-03-29T09:02:20.830091Z", - "indexed": false, - "s3_etag": "de6d718524d173caf03e3a50f46cbb19-19", - "sha256": "c6c365c8d4f91b042e3c873e2679bc49beeaa765949a27c50942b894abe81b87", - "content-type": "application/gzip; dcp-type=data", - "size": 1221169065 - }, - "sequence_file/467e06e0-34e5-42bc-b647-72402e919357": { - "sha1": "c9f6e70030ef76ae88556cc899b874be7b2f810a", - "name": "MantonCB5_HiSeq_8_S8_L002_I1_001.fastq.gz", - "uuid": "467e06e0-34e5-42bc-b647-72402e919357", - "crc32c": "dd9e57ce", - "version": "2018-03-29T09:02:16.699359Z", - "indexed": false, - "s3_etag": "cdff70fb9335be8b42b3cb97a87b8674-7", - "sha256": "6b84a750fcf32c43d448ddb2e4588bef4aa932f22c814bfb79e80208681405b4", - "content-type": "application/gzip; dcp-type=data", - "size": 411358196 - }, - "sequence_file/4c0876d7-220f-47cc-841c-7269bc24c014": { - "sha1": "9cdc919bd9a16b562858537fd4aa1fee95b94691", - "name": "MantonCB5_HiSeq_3_S3_L002_R1_001.fastq.gz", - "uuid": "4c0876d7-220f-47cc-841c-7269bc24c014", - "crc32c": "431db6ff", - "version": "2018-03-29T09:01:59.305585Z", - "indexed": false, - "s3_etag": "8b663a32d4c5e4e9b085bb61e8f88349-19", - "sha256": "f5970f4510d854c983d4ad990189066a31bd13bc7a099ce968aa7a600c21e26b", - "content-type": "application/gzip; dcp-type=data", - "size": 1246570312 - }, - "sequence_file/10268a25-2d4a-48e3-a322-08c1b7988375": { - "sha1": "6d8c2f269dd57a2ca8466d5b0706177cebbcf89b", - "name": "MantonCB7_HiSeq_4_S20_L006_I1_001.fastq.gz", - "uuid": "10268a25-2d4a-48e3-a322-08c1b7988375", - "crc32c": "c3de46ea", - "version": "2018-03-29T09:02:56.268277Z", - "indexed": false, - "s3_etag": "b1204425b0cef7d51d742303a5940e59-6", - "sha256": "cb6913269565148e53a188a498f759d487fb1b834f2e543326423a181fec2a69", - "content-type": "application/gzip; dcp-type=data", - "size": 394889210 - }, - "sequence_file/ec749311-5dd2-4cd6-a2fc-8f072d614bb5": { - "sha1": "1741dab472015a7f0d147ec411d1b0a151c5f27b", - "name": "MantonCB8_HiSeq_7_S31_L008_R1_001.fastq.gz", - "uuid": "ec749311-5dd2-4cd6-a2fc-8f072d614bb5", - "crc32c": "0f8f9ce0", - "version": "2018-03-29T09:03:34.056960Z", - "indexed": false, - "s3_etag": "9999625250f24e0a81035a971bd5884d-23", - "sha256": "fff1cca5cf6ffb240efaaf5077069bd9b455615094800f2be3467cea50f36f8f", - "content-type": "application/gzip; dcp-type=data", - "size": 1480451838 - }, - "sequence_file/a8d5b273-9a5f-4071-97be-305fc4bbbe6c": { - "sha1": "480c2243a03f6632ee7eafa34ca6110deb781596", - "name": "MantonCB7_HiSeq_7_S23_L005_R1_001.fastq.gz", - "uuid": "a8d5b273-9a5f-4071-97be-305fc4bbbe6c", - "crc32c": "1f40df4e", - "version": "2018-03-29T09:03:04.434623Z", - "indexed": false, - "s3_etag": "efe81d7586da35f09359c1ac76f4f113-19", - "sha256": "3a71ce6306cbe911fa19c38fb59bb542bd84a2fad2ba579451d05240e32710d5", - "content-type": "application/gzip; dcp-type=data", - "size": 1247243321 - } - }, - "metadata": { - "project/6504d48c-1610-43aa-8cf8-214a960e110c": { - "content": { - "describedBy": "https://schema.humancellatlas.org/type/project/5.1.0/project", - "project_core": { - "project_short_name": "1M Immune Cells", - "project_description": "Diverse cells of the immune system maintain and protect tissue function, integrity, and homeostasis upon changes in functional demands and diverse perturbations. Recent advances such as massively parallel single-cell RNA-sequencing and sophisticated computational methods help shed new light on this complexity. This immune cell census aims to profile up to 2M immunocytes, the first tranche of this is currently available. With computational methods optimized to a massive scale, we can readily identify cell types and markers, as well as the process of hematopoietic differentiation. The high quality and comprehensive reference map is provided as an open community resource for understanding human health and disease.", - "project_title": "Census of Immune Cells" - }, - "publications": [], - "contributors": [ - { - "country": "USA", - "email": "aregev@broadinstitute.org", - "phone": "(617) 714-7020", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Aviv,,Regev", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "libo@broadinstitute.org", - "phone": "(617) 714-8681", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Bo,,Li", - "institution": "Broad Institute" - }, - { - "country": "USA", - "institution": "Broad Institute", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Monika,S,Kowalczyk", - "email": "msk.kowalczyk@gmail.com" - }, - { - "country": "USA", - "email": "dionne@broadinstitute.org", - "phone": "(617) 714-8147", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Danielle,,Dionne", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "ttickle@broadinstitute.org", - "phone": "(617) 714-7084", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Timothy,,Tickle", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "janelee@broadinstitute.org", - "phone": "(617) 714-7448", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Jane,,Lee", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "orit@broadinstitute.org", - "phone": "(617) 714-7789", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Orit,,Rozenblatt-Rosen", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "orr@broadinstitute.org", - "phone": "(617) 714-8681", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Orr,,Ashenberg", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "mtabaka@broadinstitute.org", - "phone": "(617) 714-7470", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Marcin,,Tabaka", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "karthik@broadinstitute.org", - "phone": "(617) 714-8067", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Karthik,,Shekhar", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "mslyper@broadinstitute.org", - "phone": "(617) 714-7199", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Michal,,Slyper", - "institution": "Broad Institute" - }, - { - "country": "USA", - "institution": "Broad Institute", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Julia,,Waldman", - "email": "jwaldman@broadinstitute.org" - } - ], - "schema_type": "project" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.820Z", - "updateDate": "2018-03-26T16:59:28.166Z", - "document_id": "6504d48c-1610-43aa-8cf8-214a960e110c" - }, - "describedBy": "https://schema.humancellatlas.org/bundle/5.1.0/project", - "schema_version": "5.1.0", - "schema_type": "project_bundle" - }, - "cell_suspension/81bdd959-6a0c-45e8-a95f-9e94362ac234": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4753, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.961Z", - "updateDate": "2018-03-26T17:00:44.422Z", - "document_id": "81bdd959-6a0c-45e8-a95f-9e94362ac234" - } - }, - "specimen_from_organism/763da7c3-cf84-4dd1-9816-99387476f439": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB5" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.750Z", - "updateDate": "2018-03-26T17:00:11.102Z", - "document_id": "763da7c3-cf84-4dd1-9816-99387476f439" - } - }, - "donor_organism/50df319c-ce04-45d3-bf61-72017700f4c7": { - "content": { - "is_living": true, - "biological_sex": "male", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "postpartum", - "ontology": "EFO:0008562" - }, - "organism_age": "0", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "CB5", - "biomaterial_name": "Cord blood donor 5" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.632Z", - "updateDate": "2018-03-26T16:59:45.482Z", - "document_id": "50df319c-ce04-45d3-bf61-72017700f4c7" - } - }, - "cell_suspension/8a5f6526-b075-4dc6-911a-094c9e9df5b8": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 5143, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.487Z", - "updateDate": "2018-03-26T17:00:59.268Z", - "document_id": "8a5f6526-b075-4dc6-911a-094c9e9df5b8" - } - }, - "specimen_from_organism/ea978eed-c518-421b-9ff1-e9946e79285d": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB7" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.649Z", - "updateDate": "2018-03-26T17:00:59.251Z", - "document_id": "ea978eed-c518-421b-9ff1-e9946e79285d" - } - }, - "donor_organism/dc6819c9-6df9-4028-9a27-d4b4051475ae": { - "content": { - "is_living": true, - "biological_sex": "male", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "postpartum", - "ontology": "EFO:0008562" - }, - "organism_age": "0", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "CB7", - "biomaterial_name": "Cord blood donor 7" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.579Z", - "updateDate": "2018-03-26T16:59:45.651Z", - "document_id": "dc6819c9-6df9-4028-9a27-d4b4051475ae" - } - }, - "cell_suspension/572da738-8893-43d6-b437-97b57372f0aa": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 2898, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.545Z", - "updateDate": "2018-03-26T17:00:44.514Z", - "document_id": "572da738-8893-43d6-b437-97b57372f0aa" - } - }, - "specimen_from_organism/78dc08e0-7fe8-4f1d-a5cb-b11634010810": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB8" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.725Z", - "updateDate": "2018-03-26T17:00:08.216Z", - "document_id": "78dc08e0-7fe8-4f1d-a5cb-b11634010810" - } - }, - "donor_organism/314393db-9a5f-45f8-95e3-cafb4006484c": { - "content": { - "is_living": true, - "biological_sex": "female", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "postpartum", - "ontology": "EFO:0008562" - }, - "organism_age": "0", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "CB8", - "biomaterial_name": "Cord blood donor 8" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.719Z", - "updateDate": "2018-03-26T16:59:46.105Z", - "document_id": "314393db-9a5f-45f8-95e3-cafb4006484c" - } - }, - "cell_suspension/71736a6a-0d29-4abe-a0d8-c2cb9d8b010d": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4556, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.779Z", - "updateDate": "2018-03-26T17:00:44.550Z", - "document_id": "71736a6a-0d29-4abe-a0d8-c2cb9d8b010d" - } - }, - "specimen_from_organism/d1c9cf7c-021d-48a2-84f9-17f92358d6e7": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB6" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.566Z", - "updateDate": "2018-03-26T17:00:07.927Z", - "document_id": "d1c9cf7c-021d-48a2-84f9-17f92358d6e7" - } - }, - "donor_organism/db47eeb1-619b-4b97-b5a6-f7e8c7b316aa": { - "content": { - "is_living": true, - "biological_sex": "male", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "postpartum", - "ontology": "EFO:0008562" - }, - "organism_age": "0", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "CB6", - "biomaterial_name": "Cord blood donor 6" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.554Z", - "updateDate": "2018-03-26T16:59:45.603Z", - "document_id": "db47eeb1-619b-4b97-b5a6-f7e8c7b316aa" - } - }, - "cell_suspension/44346960-0ad4-4a30-bbfe-06353cde8f93": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3339, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.418Z", - "updateDate": "2018-03-26T17:00:44.586Z", - "document_id": "44346960-0ad4-4a30-bbfe-06353cde8f93" - } - }, - "specimen_from_organism/d3e0f71e-4d00-4567-88af-d797365a7544": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB8" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.519Z", - "updateDate": "2018-03-26T17:00:08.671Z", - "document_id": "d3e0f71e-4d00-4567-88af-d797365a7544" - } - }, - "cell_suspension/6f88495f-2ae4-432a-a539-da0d4ffba654": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 2518, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.442Z", - "updateDate": "2018-03-26T17:00:44.631Z", - "document_id": "6f88495f-2ae4-432a-a539-da0d4ffba654" - } - }, - "specimen_from_organism/b37160d6-fc23-4b41-97d7-c970b004017d": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB8" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.657Z", - "updateDate": "2018-03-26T17:00:08.149Z", - "document_id": "b37160d6-fc23-4b41-97d7-c970b004017d" - } - }, - "cell_suspension/72fce6b8-9f90-4e20-9a3a-1648647d1249": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4626, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.806Z", - "updateDate": "2018-03-26T17:00:57.284Z", - "document_id": "72fce6b8-9f90-4e20-9a3a-1648647d1249" - } - }, - "specimen_from_organism/28b88c0c-2ee1-46ae-aa72-4eac1948a77d": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB5" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.675Z", - "updateDate": "2018-03-26T17:00:57.265Z", - "document_id": "28b88c0c-2ee1-46ae-aa72-4eac1948a77d" - } - }, - "cell_suspension/ead1ae86-f0ef-4f78-872d-939d6da81668": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3788, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.995Z", - "updateDate": "2018-03-26T17:00:44.761Z", - "document_id": "ead1ae86-f0ef-4f78-872d-939d6da81668" - } - }, - "specimen_from_organism/0ae78f8c-c014-4fc7-8686-232ae967d75a": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB8" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.100Z", - "updateDate": "2018-03-26T17:00:08.739Z", - "document_id": "0ae78f8c-c014-4fc7-8686-232ae967d75a" - } - }, - "cell_suspension/8b15396e-4b2c-4acd-9a17-503a83e4202b": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 5132, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.244Z", - "updateDate": "2018-03-26T17:00:58.788Z", - "document_id": "8b15396e-4b2c-4acd-9a17-503a83e4202b" - } - }, - "specimen_from_organism/e7a31b36-8f58-4184-900e-1217246ac851": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB7" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.351Z", - "updateDate": "2018-03-26T17:00:58.747Z", - "document_id": "e7a31b36-8f58-4184-900e-1217246ac851" - } - }, - "cell_suspension/2917ffc8-a755-4dac-8138-1bf2be845ada": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4728, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.973Z", - "updateDate": "2018-03-26T17:00:57.359Z", - "document_id": "2917ffc8-a755-4dac-8138-1bf2be845ada" - } - }, - "specimen_from_organism/d564f2ca-5723-4562-a610-eb93e79ec359": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB5" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.933Z", - "updateDate": "2018-03-26T17:00:57.341Z", - "document_id": "d564f2ca-5723-4562-a610-eb93e79ec359" - } - }, - "cell_suspension/88d3493b-96f9-4d1d-9188-9d05c0a93acc": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4582, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.254Z", - "updateDate": "2018-03-26T17:00:58.880Z", - "document_id": "88d3493b-96f9-4d1d-9188-9d05c0a93acc" - } - }, - "specimen_from_organism/1d17ae51-1351-4eea-a012-f8e4f89d6b2e": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB6" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.593Z", - "updateDate": "2018-03-26T17:00:58.856Z", - "document_id": "1d17ae51-1351-4eea-a012-f8e4f89d6b2e" - } - }, - "cell_suspension/bd155232-8891-4971-b69f-7cc033b07274": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4707, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.346Z", - "updateDate": "2018-03-26T17:00:44.852Z", - "document_id": "bd155232-8891-4971-b69f-7cc033b07274" - } - }, - "specimen_from_organism/ff968d9d-9cde-448f-8536-a42a8897de21": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB5" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.595Z", - "updateDate": "2018-03-26T17:00:10.909Z", - "document_id": "ff968d9d-9cde-448f-8536-a42a8897de21" - } - }, - "cell_suspension/bc66bf2f-e9cc-4d58-8a5b-029f0f4454a3": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4557, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.450Z", - "updateDate": "2018-03-26T17:01:01.693Z", - "document_id": "bc66bf2f-e9cc-4d58-8a5b-029f0f4454a3" - } - }, - "specimen_from_organism/b7e702dc-afe1-4885-b533-2aff7ac1aa98": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_CB6" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.673Z", - "updateDate": "2018-03-26T17:01:01.672Z", - "document_id": "b7e702dc-afe1-4885-b533-2aff7ac1aa98" - } - }, - "cell_suspension/c09e0a3d-1a93-4637-86ea-39e5d23a1752": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4492, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.186Z", - "updateDate": "2018-03-26T17:01:00.795Z", - "document_id": "c09e0a3d-1a93-4637-86ea-39e5d23a1752" - } - }, - "specimen_from_organism/d7c1e6a7-9596-4da3-a040-505bfad74e27": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB6" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.090Z", - "updateDate": "2018-03-26T17:01:00.777Z", - "document_id": "d7c1e6a7-9596-4da3-a040-505bfad74e27" - } - }, - "cell_suspension/a86bcf71-d42f-4266-b646-988d2b7c7dbb": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 5022, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.592Z", - "updateDate": "2018-03-26T17:00:58.644Z", - "document_id": "a86bcf71-d42f-4266-b646-988d2b7c7dbb" - } - }, - "specimen_from_organism/17efe7f8-ed9f-4687-8634-c63c23574b01": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB7" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.625Z", - "updateDate": "2018-03-26T17:00:58.609Z", - "document_id": "17efe7f8-ed9f-4687-8634-c63c23574b01" - } - }, - "cell_suspension/9da73948-fe14-496d-a110-0df327507937": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4478, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.616Z", - "updateDate": "2018-03-26T17:00:57.512Z", - "document_id": "9da73948-fe14-496d-a110-0df327507937" - } - }, - "specimen_from_organism/7a82dafe-0e6b-409e-97d1-53a06460465b": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB5" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.063Z", - "updateDate": "2018-03-26T17:00:57.432Z", - "document_id": "7a82dafe-0e6b-409e-97d1-53a06460465b" - } - }, - "cell_suspension/baf9d068-e427-47fc-b753-173614eca3e0": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4675, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.694Z", - "updateDate": "2018-03-26T17:00:44.922Z", - "document_id": "baf9d068-e427-47fc-b753-173614eca3e0" - } - }, - "specimen_from_organism/387daa16-d7c1-4501-ae45-b16d1323ee5d": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB5" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.492Z", - "updateDate": "2018-03-26T17:00:10.978Z", - "document_id": "387daa16-d7c1-4501-ae45-b16d1323ee5d" - } - }, - "cell_suspension/823b3a90-710b-4475-8fc6-adfa6a7ded16": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 5236, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.201Z", - "updateDate": "2018-03-26T17:00:59.197Z", - "document_id": "823b3a90-710b-4475-8fc6-adfa6a7ded16" - } - }, - "specimen_from_organism/e887c7b9-ba8c-4c5f-b1e0-11de28471861": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB7" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.078Z", - "updateDate": "2018-03-26T17:00:59.166Z", - "document_id": "e887c7b9-ba8c-4c5f-b1e0-11de28471861" - } - }, - "cell_suspension/7a05391e-b62c-49ff-a735-978a4b9d2346": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 2895, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.357Z", - "updateDate": "2018-03-26T17:00:44.952Z", - "document_id": "7a05391e-b62c-49ff-a735-978a4b9d2346" - } - }, - "specimen_from_organism/fb255758-4d10-4a92-8909-eb49a10c65ec": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB8" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.324Z", - "updateDate": "2018-03-26T17:00:08.029Z", - "document_id": "fb255758-4d10-4a92-8909-eb49a10c65ec" - } - }, - "cell_suspension/eeebb4a8-7674-47a9-8273-c968a6683cb9": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 5119, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.491Z", - "updateDate": "2018-03-26T17:00:59.036Z", - "document_id": "eeebb4a8-7674-47a9-8273-c968a6683cb9" - } - }, - "specimen_from_organism/841afd6b-4be7-47a9-9338-e49ff8795b46": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_CB7" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.668Z", - "updateDate": "2018-03-26T17:00:59.019Z", - "document_id": "841afd6b-4be7-47a9-9338-e49ff8795b46" - } - }, - "cell_suspension/c973d08a-1cc7-42aa-aad5-e5aa1628d5ff": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4425, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.760Z", - "updateDate": "2018-03-26T17:01:00.724Z", - "document_id": "c973d08a-1cc7-42aa-aad5-e5aa1628d5ff" - } - }, - "specimen_from_organism/cdc9ed8d-1fa4-46e2-99f6-916842ed2b0b": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB6" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.896Z", - "updateDate": "2018-03-26T17:01:00.696Z", - "document_id": "cdc9ed8d-1fa4-46e2-99f6-916842ed2b0b" - } - }, - "cell_suspension/61192824-ee22-4a17-9515-599e208a249a": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3753, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.790Z", - "updateDate": "2018-03-26T17:00:45.007Z", - "document_id": "61192824-ee22-4a17-9515-599e208a249a" - } - }, - "specimen_from_organism/d033e456-46fd-4fa0-baeb-d1ce5ecbaf68": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB8" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.750Z", - "updateDate": "2018-03-26T17:00:08.571Z", - "document_id": "d033e456-46fd-4fa0-baeb-d1ce5ecbaf68" - } - }, - "cell_suspension/85b04bdc-07c0-41a2-87ba-e61bee1bff3a": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3686, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.946Z", - "updateDate": "2018-03-26T17:00:45.025Z", - "document_id": "85b04bdc-07c0-41a2-87ba-e61bee1bff3a" - } - }, - "specimen_from_organism/e6e0b971-c9e3-4070-b639-f7aa60d75e51": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_CB8" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.463Z", - "updateDate": "2018-03-26T17:00:08.812Z", - "document_id": "e6e0b971-c9e3-4070-b639-f7aa60d75e51" - } - }, - "cell_suspension/4e622963-4ed0-4cea-83fd-ca911f1f97e9": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4530, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.431Z", - "updateDate": "2018-03-26T17:00:45.049Z", - "document_id": "4e622963-4ed0-4cea-83fd-ca911f1f97e9" - } - }, - "specimen_from_organism/6066f257-dbee-41a2-b15e-20ef46b7dafb": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB5" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.831Z", - "updateDate": "2018-03-26T17:00:10.845Z", - "document_id": "6066f257-dbee-41a2-b15e-20ef46b7dafb" - } - }, - "cell_suspension/aa8d1086-deb2-472c-833a-9b70cee333af": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 5052, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.758Z", - "updateDate": "2018-03-26T17:00:59.335Z", - "document_id": "aa8d1086-deb2-472c-833a-9b70cee333af" - } - }, - "specimen_from_organism/cf29eee2-54b5-45aa-babb-09403848c5a4": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_CB7" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.114Z", - "updateDate": "2018-03-26T17:00:59.319Z", - "document_id": "cf29eee2-54b5-45aa-babb-09403848c5a4" - } - }, - "cell_suspension/e028d408-a455-4130-8f44-c0dbb78b0241": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4245, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.782Z", - "updateDate": "2018-03-26T17:00:57.615Z", - "document_id": "e028d408-a455-4130-8f44-c0dbb78b0241" - } - }, - "specimen_from_organism/62fdfbf1-0b7c-4501-833e-c5af52aafa43": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB6" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.949Z", - "updateDate": "2018-03-26T17:00:57.598Z", - "document_id": "62fdfbf1-0b7c-4501-833e-c5af52aafa43" - } - }, - "cell_suspension/0752477b-c5d3-4b2d-86fd-96014a9b7a90": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4366, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.873Z", - "updateDate": "2018-03-26T17:00:57.207Z", - "document_id": "0752477b-c5d3-4b2d-86fd-96014a9b7a90" - } - }, - "specimen_from_organism/64a0fc9e-2711-4b2e-9c45-b17b53720a80": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB5" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.300Z", - "updateDate": "2018-03-26T17:00:57.188Z", - "document_id": "64a0fc9e-2711-4b2e-9c45-b17b53720a80" - } - }, - "cell_suspension/e53b4144-5944-4b49-8631-0a28839abba4": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3034, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.427Z", - "updateDate": "2018-03-26T17:00:45.165Z", - "document_id": "e53b4144-5944-4b49-8631-0a28839abba4" - } - }, - "specimen_from_organism/1e76f915-3132-42c0-b045-54383ab9a567": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_CB8" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.245Z", - "updateDate": "2018-03-26T17:00:08.346Z", - "document_id": "1e76f915-3132-42c0-b045-54383ab9a567" - } - }, - "cell_suspension/4020c8ee-d0b1-4ad6-9f48-38847ec831be": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4493, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.667Z", - "updateDate": "2018-03-26T17:00:58.963Z", - "document_id": "4020c8ee-d0b1-4ad6-9f48-38847ec831be" - } - }, - "specimen_from_organism/88d9377c-e94a-4e8c-b458-2ab45e27327f": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_CB6" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.379Z", - "updateDate": "2018-03-26T17:00:58.945Z", - "document_id": "88d9377c-e94a-4e8c-b458-2ab45e27327f" - } - }, - "cell_suspension/2953004c-75af-42ca-a51b-2b1ad087cd2e": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 5132, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.800Z", - "updateDate": "2018-03-26T17:00:59.405Z", - "document_id": "2953004c-75af-42ca-a51b-2b1ad087cd2e" - } - }, - "specimen_from_organism/fa24dc24-72b4-437e-af38-4d8abf652607": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_CB7" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.776Z", - "updateDate": "2018-03-26T17:00:59.387Z", - "document_id": "fa24dc24-72b4-437e-af38-4d8abf652607" - } - }, - "cell_suspension/f85928ba-9408-4910-b872-ff27e2d08cfb": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4270, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.556Z", - "updateDate": "2018-03-26T17:00:57.826Z", - "document_id": "f85928ba-9408-4910-b872-ff27e2d08cfb" - } - }, - "specimen_from_organism/d337b058-6be1-4863-af94-5cf305ed6265": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB6" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.265Z", - "updateDate": "2018-03-26T17:00:57.810Z", - "document_id": "d337b058-6be1-4863-af94-5cf305ed6265" - } - }, - "cell_suspension/e7a5e4c2-a800-44f2-92dd-9f8d44738706": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 917, - "target_cell_type": [ - { - "text": "umbilical cord blood cell", - "ontology": "CL:2000095" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.659Z", - "updateDate": "2018-03-26T17:00:59.105Z", - "document_id": "e7a5e4c2-a800-44f2-92dd-9f8d44738706" - } - }, - "specimen_from_organism/daafc341-9439-431c-b6b4-f89f56be3f68": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "CB7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_CB7" - }, - "organ_part": { - "text": "umbilical cord blood", - "ontology": "UBERON:0012168" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.607Z", - "updateDate": "2018-03-26T17:00:59.090Z", - "document_id": "daafc341-9439-431c-b6b4-f89f56be3f68" - } - }, - "sequence_file/e933a3ca-1820-4812-84e5-7aeff871e161": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_1_S1_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.053Z", - "document_id": "e933a3ca-1820-4812-84e5-7aeff871e161" - } - }, - "sequence_file/5f91ca55-71c3-4942-9be1-1a88e6b5417a": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_1_S1_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.080Z", - "document_id": "5f91ca55-71c3-4942-9be1-1a88e6b5417a" - } - }, - "sequence_file/af23f4dc-8342-41f1-a6aa-29d94f1abcb1": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_1_S1_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.134Z", - "document_id": "af23f4dc-8342-41f1-a6aa-29d94f1abcb1" - } - }, - "sequence_file/94963c37-2c09-4e55-b864-a4579d7e2b4a": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_1_S1_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.157Z", - "document_id": "94963c37-2c09-4e55-b864-a4579d7e2b4a" - } - }, - "sequence_file/cec9c639-6e88-45be-8e15-423928eaca7f": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_1_S1_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.195Z", - "document_id": "cec9c639-6e88-45be-8e15-423928eaca7f" - } - }, - "sequence_file/72057d86-405e-461a-af7f-344ae067bff7": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_1_S1_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.214Z", - "document_id": "72057d86-405e-461a-af7f-344ae067bff7" - } - }, - "sequence_file/c19ea130-6c56-4798-88dd-f7dff5aaf0c0": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_2_S2_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.229Z", - "document_id": "c19ea130-6c56-4798-88dd-f7dff5aaf0c0" - } - }, - "sequence_file/951e9c14-d91d-4f77-af22-10bc767a0c4e": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_2_S2_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.266Z", - "document_id": "951e9c14-d91d-4f77-af22-10bc767a0c4e" - } - }, - "sequence_file/2c309500-dfed-40aa-9a1c-41c0990430b5": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_2_S2_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.301Z", - "document_id": "2c309500-dfed-40aa-9a1c-41c0990430b5" - } - }, - "sequence_file/af379215-0568-45c0-8e6e-45f684b5d486": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_2_S2_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.337Z", - "document_id": "af379215-0568-45c0-8e6e-45f684b5d486" - } - }, - "sequence_file/0f3a69db-6ad6-4217-9899-eaa8f7e57b33": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_2_S2_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.363Z", - "document_id": "0f3a69db-6ad6-4217-9899-eaa8f7e57b33" - } - }, - "sequence_file/c23dcd53-9421-43f8-b7aa-8aedfdef42b8": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_2_S2_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.393Z", - "document_id": "c23dcd53-9421-43f8-b7aa-8aedfdef42b8" - } - }, - "sequence_file/b8de328c-cd23-4275-9d91-9c15aaedecac": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_3_S3_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.422Z", - "document_id": "b8de328c-cd23-4275-9d91-9c15aaedecac" - } - }, - "sequence_file/c6a9ec31-3bf4-4c79-8678-002e96df86be": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_3_S3_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.445Z", - "document_id": "c6a9ec31-3bf4-4c79-8678-002e96df86be" - } - }, - "sequence_file/aac815db-2c5f-482b-ae06-706c050854b9": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_3_S3_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.465Z", - "document_id": "aac815db-2c5f-482b-ae06-706c050854b9" - } - }, - "sequence_file/e829a452-6a60-4bb6-b860-d171ab780676": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_3_S3_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.755Z", - "document_id": "e829a452-6a60-4bb6-b860-d171ab780676" - } - }, - "sequence_file/4c0876d7-220f-47cc-841c-7269bc24c014": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_3_S3_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.773Z", - "document_id": "4c0876d7-220f-47cc-841c-7269bc24c014" - } - }, - "sequence_file/102a709a-68c8-4510-b531-4c6995bc600a": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_3_S3_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.793Z", - "document_id": "102a709a-68c8-4510-b531-4c6995bc600a" - } - }, - "sequence_file/f32724bc-56e9-42c0-8410-becfe8f63dcd": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_4_S4_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.816Z", - "document_id": "f32724bc-56e9-42c0-8410-becfe8f63dcd" - } - }, - "sequence_file/2ba39558-505b-4dce-b3d4-1256027935ce": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_4_S4_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.828Z", - "document_id": "2ba39558-505b-4dce-b3d4-1256027935ce" - } - }, - "sequence_file/41e83755-02eb-4823-8771-3021f879ad6a": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_4_S4_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.839Z", - "document_id": "41e83755-02eb-4823-8771-3021f879ad6a" - } - }, - "sequence_file/9641c4d4-4611-462c-bba1-c74bdc0634fd": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_4_S4_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.865Z", - "document_id": "9641c4d4-4611-462c-bba1-c74bdc0634fd" - } - }, - "sequence_file/09171dfe-fadc-487c-b18e-a6e02c6d46ba": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_4_S4_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.884Z", - "document_id": "09171dfe-fadc-487c-b18e-a6e02c6d46ba" - } - }, - "sequence_file/036853ea-da68-4899-917a-ffc83fc05c9e": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_4_S4_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.901Z", - "document_id": "036853ea-da68-4899-917a-ffc83fc05c9e" - } - }, - "sequence_file/cf561267-e185-4e7d-9bd8-28b6dc091015": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_5_S5_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.916Z", - "document_id": "cf561267-e185-4e7d-9bd8-28b6dc091015" - } - }, - "sequence_file/ad3b081b-2f62-44bd-ba24-3042632e4e56": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_5_S5_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.928Z", - "document_id": "ad3b081b-2f62-44bd-ba24-3042632e4e56" - } - }, - "sequence_file/7a2f30f6-5827-4df3-ba74-268c602098cc": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_5_S5_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.939Z", - "document_id": "7a2f30f6-5827-4df3-ba74-268c602098cc" - } - }, - "sequence_file/9186f1cb-68e5-4c83-b655-8ad69078cb45": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_5_S5_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.952Z", - "document_id": "9186f1cb-68e5-4c83-b655-8ad69078cb45" - } - }, - "sequence_file/82fd9af5-44ad-4e99-afef-01e6ad52c558": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_5_S5_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:03.977Z", - "document_id": "82fd9af5-44ad-4e99-afef-01e6ad52c558" - } - }, - "sequence_file/c8702058-1e5c-48e9-a1ac-d296478e7218": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_5_S5_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.017Z", - "document_id": "c8702058-1e5c-48e9-a1ac-d296478e7218" - } - }, - "sequence_file/c27b7f86-1a00-4eab-8267-1c138b5e37f6": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_6_S6_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.064Z", - "document_id": "c27b7f86-1a00-4eab-8267-1c138b5e37f6" - } - }, - "sequence_file/93c5298f-0d6b-4efd-be2c-facce5e99116": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_6_S6_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.085Z", - "document_id": "93c5298f-0d6b-4efd-be2c-facce5e99116" - } - }, - "sequence_file/0e0e0209-9277-4904-b38d-ef2a97ba2773": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_6_S6_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.099Z", - "document_id": "0e0e0209-9277-4904-b38d-ef2a97ba2773" - } - }, - "sequence_file/ff26a0bf-c2ef-4041-b96a-6c87e64a5c30": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_6_S6_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.138Z", - "document_id": "ff26a0bf-c2ef-4041-b96a-6c87e64a5c30" - } - }, - "sequence_file/696dd672-ab4a-4649-b070-eb81e24c176b": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_6_S6_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.157Z", - "document_id": "696dd672-ab4a-4649-b070-eb81e24c176b" - } - }, - "sequence_file/0144a3a8-735d-4ff5-86c8-d1c9ce715ffb": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_6_S6_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.173Z", - "document_id": "0144a3a8-735d-4ff5-86c8-d1c9ce715ffb" - } - }, - "sequence_file/b877aa35-fc46-40b9-8869-bd717f9465db": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_7_S7_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.192Z", - "document_id": "b877aa35-fc46-40b9-8869-bd717f9465db" - } - }, - "sequence_file/77a2f75f-5e6f-4f9d-b88e-237645464293": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_7_S7_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.206Z", - "document_id": "77a2f75f-5e6f-4f9d-b88e-237645464293" - } - }, - "sequence_file/88883f8c-4659-40a4-b5df-f37bca5183ba": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_7_S7_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.219Z", - "document_id": "88883f8c-4659-40a4-b5df-f37bca5183ba" - } - }, - "sequence_file/2755ced4-c7a8-4380-a7c3-3969e9bea68a": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_7_S7_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.260Z", - "document_id": "2755ced4-c7a8-4380-a7c3-3969e9bea68a" - } - }, - "sequence_file/a220f337-0700-49cb-837c-cc569991c0e2": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_7_S7_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.274Z", - "document_id": "a220f337-0700-49cb-837c-cc569991c0e2" - } - }, - "sequence_file/7f143ce8-8f68-4792-afc1-c7340e40a726": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_7_S7_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.299Z", - "document_id": "7f143ce8-8f68-4792-afc1-c7340e40a726" - } - }, - "sequence_file/5eff87dc-5772-4229-ae7c-cfde6a348479": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_8_S8_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.322Z", - "document_id": "5eff87dc-5772-4229-ae7c-cfde6a348479" - } - }, - "sequence_file/a501f218-24cb-4484-b52a-2a6a7d88ae82": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_8_S8_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.345Z", - "document_id": "a501f218-24cb-4484-b52a-2a6a7d88ae82" - } - }, - "sequence_file/3e991891-afa1-4f55-8f54-55faef83fb6e": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_8_S8_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.368Z", - "document_id": "3e991891-afa1-4f55-8f54-55faef83fb6e" - } - }, - "sequence_file/467e06e0-34e5-42bc-b647-72402e919357": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_8_S8_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.402Z", - "document_id": "467e06e0-34e5-42bc-b647-72402e919357" - } - }, - "sequence_file/8ed5ae60-8b4f-43c7-8474-055d4a98238c": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_8_S8_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.422Z", - "document_id": "8ed5ae60-8b4f-43c7-8474-055d4a98238c" - } - }, - "sequence_file/9a90a5c8-205a-4b1d-80dc-01bdcf3fa4f4": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB5_HiSeq_8_S8_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.446Z", - "document_id": "9a90a5c8-205a-4b1d-80dc-01bdcf3fa4f4" - } - }, - "sequence_file/88018608-c4b1-4ec9-abc1-d8940a604397": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_1_S9_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.462Z", - "document_id": "88018608-c4b1-4ec9-abc1-d8940a604397" - } - }, - "sequence_file/e6b13e6a-e1de-4e97-b788-7c136304ed29": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_1_S9_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.479Z", - "document_id": "e6b13e6a-e1de-4e97-b788-7c136304ed29" - } - }, - "sequence_file/f97819ce-eda6-4f8b-829d-189d1cb28000": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_1_S9_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.495Z", - "document_id": "f97819ce-eda6-4f8b-829d-189d1cb28000" - } - }, - "sequence_file/481d7c49-8b4a-42ca-b4fd-021cf71cbc15": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_1_S9_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.508Z", - "document_id": "481d7c49-8b4a-42ca-b4fd-021cf71cbc15" - } - }, - "sequence_file/6f2e3c9b-3393-455f-8b8d-5551bc5e2f44": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_1_S9_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.520Z", - "document_id": "6f2e3c9b-3393-455f-8b8d-5551bc5e2f44" - } - }, - "sequence_file/b12850d5-277a-4c50-a16a-2ea0ef0e038a": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_1_S9_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.532Z", - "document_id": "b12850d5-277a-4c50-a16a-2ea0ef0e038a" - } - }, - "sequence_file/edfc2355-865b-4b05-8bd5-816907acca07": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_2_S10_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.547Z", - "document_id": "edfc2355-865b-4b05-8bd5-816907acca07" - } - }, - "sequence_file/a52ab81e-2a9c-4a44-b80b-6805e544d4d8": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_2_S10_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.561Z", - "document_id": "a52ab81e-2a9c-4a44-b80b-6805e544d4d8" - } - }, - "sequence_file/16032735-00f3-4882-afc2-2976e8c5824e": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_2_S10_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.573Z", - "document_id": "16032735-00f3-4882-afc2-2976e8c5824e" - } - }, - "sequence_file/588b80b6-1bac-4e59-a5af-d85d7ea78102": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_2_S10_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.585Z", - "document_id": "588b80b6-1bac-4e59-a5af-d85d7ea78102" - } - }, - "sequence_file/3f06d139-019a-46e0-b8b0-84b95d37e12f": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_2_S10_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.598Z", - "document_id": "3f06d139-019a-46e0-b8b0-84b95d37e12f" - } - }, - "sequence_file/1486fa5d-3e27-4942-baa6-e8b3db1b09c4": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_2_S10_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.610Z", - "document_id": "1486fa5d-3e27-4942-baa6-e8b3db1b09c4" - } - }, - "sequence_file/372e7758-4e0f-40d1-ae3e-727c085a28a1": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_3_S11_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.622Z", - "document_id": "372e7758-4e0f-40d1-ae3e-727c085a28a1" - } - }, - "sequence_file/67b1b9d3-c105-4769-be59-9f6161658d47": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_3_S11_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.633Z", - "document_id": "67b1b9d3-c105-4769-be59-9f6161658d47" - } - }, - "sequence_file/17d0d51a-1c8b-4970-a257-3b5a89054c73": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_3_S11_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.644Z", - "document_id": "17d0d51a-1c8b-4970-a257-3b5a89054c73" - } - }, - "sequence_file/e6d7ead7-8e3c-437d-9d4d-f46bedf11c22": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_3_S11_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.657Z", - "document_id": "e6d7ead7-8e3c-437d-9d4d-f46bedf11c22" - } - }, - "sequence_file/cc029b5c-fb59-4519-aeaa-817ee15d356d": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_3_S11_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.671Z", - "document_id": "cc029b5c-fb59-4519-aeaa-817ee15d356d" - } - }, - "sequence_file/578890ad-325d-4081-b033-edd7cb3c221a": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_3_S11_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.682Z", - "document_id": "578890ad-325d-4081-b033-edd7cb3c221a" - } - }, - "sequence_file/d0c73976-8025-46ec-ae91-37b71f73556f": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_4_S12_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.695Z", - "document_id": "d0c73976-8025-46ec-ae91-37b71f73556f" - } - }, - "sequence_file/83e849b9-8881-47af-bf05-788977ad09c3": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_4_S12_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.707Z", - "document_id": "83e849b9-8881-47af-bf05-788977ad09c3" - } - }, - "sequence_file/54bf0b5a-eac1-40eb-8507-162234918804": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_4_S12_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.722Z", - "document_id": "54bf0b5a-eac1-40eb-8507-162234918804" - } - }, - "sequence_file/3d7a9131-8ca5-4f5e-a270-766965f3b2de": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_4_S12_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.738Z", - "document_id": "3d7a9131-8ca5-4f5e-a270-766965f3b2de" - } - }, - "sequence_file/78ec0998-8fb4-4e96-bce4-c1894f6c2e5d": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_4_S12_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.752Z", - "document_id": "78ec0998-8fb4-4e96-bce4-c1894f6c2e5d" - } - }, - "sequence_file/a62f271c-da08-4d9b-beea-f938269aa9be": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_4_S12_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.763Z", - "document_id": "a62f271c-da08-4d9b-beea-f938269aa9be" - } - }, - "sequence_file/0f5c3663-1ff2-4bff-9193-1548044e3b09": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_5_S13_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.775Z", - "document_id": "0f5c3663-1ff2-4bff-9193-1548044e3b09" - } - }, - "sequence_file/0b5314d1-b61f-4b37-88df-3c2c732a8f56": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_5_S13_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.788Z", - "document_id": "0b5314d1-b61f-4b37-88df-3c2c732a8f56" - } - }, - "sequence_file/1bf928a1-cc12-442e-bd8a-18dd7de1856e": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_5_S13_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.800Z", - "document_id": "1bf928a1-cc12-442e-bd8a-18dd7de1856e" - } - }, - "sequence_file/4eb12302-6a01-4f2d-86cb-3eea398d7e52": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_5_S13_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.812Z", - "document_id": "4eb12302-6a01-4f2d-86cb-3eea398d7e52" - } - }, - "sequence_file/f47923b9-561c-444c-8b18-ea8c1d4bf75d": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_5_S13_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.826Z", - "document_id": "f47923b9-561c-444c-8b18-ea8c1d4bf75d" - } - }, - "sequence_file/50dc47b1-593b-4db3-9d85-063050ffa229": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_5_S13_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.837Z", - "document_id": "50dc47b1-593b-4db3-9d85-063050ffa229" - } - }, - "sequence_file/231bcda9-3ff6-4f9a-9be5-d6dbfbe3727f": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_6_S14_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.849Z", - "document_id": "231bcda9-3ff6-4f9a-9be5-d6dbfbe3727f" - } - }, - "sequence_file/cd348ba7-51d0-4ab9-b931-e6e57d7b087d": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_6_S14_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.865Z", - "document_id": "cd348ba7-51d0-4ab9-b931-e6e57d7b087d" - } - }, - "sequence_file/a2d2c193-09e6-402b-a58c-087ce32f37b6": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_6_S14_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.878Z", - "document_id": "a2d2c193-09e6-402b-a58c-087ce32f37b6" - } - }, - "sequence_file/e310f0db-3e59-4339-8fc0-6322ba946dd9": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_6_S14_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.889Z", - "document_id": "e310f0db-3e59-4339-8fc0-6322ba946dd9" - } - }, - "sequence_file/5954f3de-45ed-4fe0-bfe7-33be4387d6f8": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_6_S14_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.901Z", - "document_id": "5954f3de-45ed-4fe0-bfe7-33be4387d6f8" - } - }, - "sequence_file/1ed09e98-a078-4f9d-8bac-99fc824ab753": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_6_S14_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.916Z", - "document_id": "1ed09e98-a078-4f9d-8bac-99fc824ab753" - } - }, - "sequence_file/86c9f8f0-021a-4899-83ad-09e6f1562fb2": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_7_S15_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.929Z", - "document_id": "86c9f8f0-021a-4899-83ad-09e6f1562fb2" - } - }, - "sequence_file/7daf7d79-524d-49af-8036-a4004a111ed3": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_7_S15_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.939Z", - "document_id": "7daf7d79-524d-49af-8036-a4004a111ed3" - } - }, - "sequence_file/4c45fc75-b4e8-41c6-900d-e9c491f50e17": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_7_S15_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.951Z", - "document_id": "4c45fc75-b4e8-41c6-900d-e9c491f50e17" - } - }, - "sequence_file/d0ef4648-0237-4c64-b124-b70b17d8099e": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_7_S15_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.965Z", - "document_id": "d0ef4648-0237-4c64-b124-b70b17d8099e" - } - }, - "sequence_file/e201faf7-02da-4703-a891-766c6add57f9": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_7_S15_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:04.989Z", - "document_id": "e201faf7-02da-4703-a891-766c6add57f9" - } - }, - "sequence_file/cdc11d35-c34c-4095-bace-efc01830763a": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_7_S15_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.014Z", - "document_id": "cdc11d35-c34c-4095-bace-efc01830763a" - } - }, - "sequence_file/97aa5b24-7f19-4b99-9473-cf2518cd6f03": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_8_S16_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.030Z", - "document_id": "97aa5b24-7f19-4b99-9473-cf2518cd6f03" - } - }, - "sequence_file/98eca6b9-2864-4a67-85be-763e09456917": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_8_S16_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.042Z", - "document_id": "98eca6b9-2864-4a67-85be-763e09456917" - } - }, - "sequence_file/49ad6c64-1828-4bc6-833f-e05dec7e74f1": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_8_S16_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.055Z", - "document_id": "49ad6c64-1828-4bc6-833f-e05dec7e74f1" - } - }, - "sequence_file/a3400fe9-c31e-4f0c-8fc2-271d39be2123": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_8_S16_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.087Z", - "document_id": "a3400fe9-c31e-4f0c-8fc2-271d39be2123" - } - }, - "sequence_file/8f123f8d-3cb5-43d4-b1bb-672c8b738744": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_8_S16_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.102Z", - "document_id": "8f123f8d-3cb5-43d4-b1bb-672c8b738744" - } - }, - "sequence_file/ba60167c-4068-495c-b5b1-950348dc3ad5": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB6_HiSeq_8_S16_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.114Z", - "document_id": "ba60167c-4068-495c-b5b1-950348dc3ad5" - } - }, - "sequence_file/61564fb3-4124-4096-a619-276f3b38e26e": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_1_S17_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.126Z", - "document_id": "61564fb3-4124-4096-a619-276f3b38e26e" - } - }, - "sequence_file/05a27843-3e71-480a-b4df-c4fe28bb413f": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_1_S17_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.141Z", - "document_id": "05a27843-3e71-480a-b4df-c4fe28bb413f" - } - }, - "sequence_file/2688d153-e042-41b1-a48e-8839fd4aaf0e": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_1_S17_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.153Z", - "document_id": "2688d153-e042-41b1-a48e-8839fd4aaf0e" - } - }, - "sequence_file/95dde0cf-5f38-41a9-a36f-5d90b91509c0": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_1_S17_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.167Z", - "document_id": "95dde0cf-5f38-41a9-a36f-5d90b91509c0" - } - }, - "sequence_file/5d1f5a28-6f21-4f98-81ff-8c7a2d07de91": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_1_S17_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.182Z", - "document_id": "5d1f5a28-6f21-4f98-81ff-8c7a2d07de91" - } - }, - "sequence_file/358bed4b-61fd-43d7-95f6-3f1a102b6cc6": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_1_S17_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.200Z", - "document_id": "358bed4b-61fd-43d7-95f6-3f1a102b6cc6" - } - }, - "sequence_file/b17ae237-1f81-4842-8d4e-bf8e4c96e560": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_2_S18_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.214Z", - "document_id": "b17ae237-1f81-4842-8d4e-bf8e4c96e560" - } - }, - "sequence_file/8c502d9e-2105-4d00-987d-759e583af7c5": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_2_S18_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.226Z", - "document_id": "8c502d9e-2105-4d00-987d-759e583af7c5" - } - }, - "sequence_file/5aeade96-9fbf-4ec9-bd03-73e6c9b9a99a": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_2_S18_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.239Z", - "document_id": "5aeade96-9fbf-4ec9-bd03-73e6c9b9a99a" - } - }, - "sequence_file/c9ac8c94-0cbf-48e7-84a9-e0c0bf34552f": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_2_S18_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.265Z", - "document_id": "c9ac8c94-0cbf-48e7-84a9-e0c0bf34552f" - } - }, - "sequence_file/bf162c91-0da4-4ce4-ab98-7a3d7a443759": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_2_S18_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.286Z", - "document_id": "bf162c91-0da4-4ce4-ab98-7a3d7a443759" - } - }, - "sequence_file/08075c2f-8120-4ebe-aeff-7dee2699dd84": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_2_S18_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.300Z", - "document_id": "08075c2f-8120-4ebe-aeff-7dee2699dd84" - } - }, - "sequence_file/29cb8048-30cd-429f-9b87-9a021b0b5c57": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_3_S19_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.315Z", - "document_id": "29cb8048-30cd-429f-9b87-9a021b0b5c57" - } - }, - "sequence_file/75fe63d4-8541-4b8c-aacc-796fc907fa52": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_3_S19_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.336Z", - "document_id": "75fe63d4-8541-4b8c-aacc-796fc907fa52" - } - }, - "sequence_file/0e79ef66-2922-4089-b812-451364420af9": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_3_S19_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.370Z", - "document_id": "0e79ef66-2922-4089-b812-451364420af9" - } - }, - "sequence_file/63ef4ec3-73f1-4ee8-b392-45293f36cf3d": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_3_S19_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.399Z", - "document_id": "63ef4ec3-73f1-4ee8-b392-45293f36cf3d" - } - }, - "sequence_file/bc729d18-4926-4cbb-b289-b973a3f76093": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_3_S19_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.417Z", - "document_id": "bc729d18-4926-4cbb-b289-b973a3f76093" - } - }, - "sequence_file/1c0c54cc-bfc8-42be-8cd2-ae57910ac1e5": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_3_S19_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.458Z", - "document_id": "1c0c54cc-bfc8-42be-8cd2-ae57910ac1e5" - } - }, - "sequence_file/5ba381b3-fdc7-4551-a1bd-767100529e4f": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_4_S20_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.475Z", - "document_id": "5ba381b3-fdc7-4551-a1bd-767100529e4f" - } - }, - "sequence_file/195d7ba8-31b7-4cdc-bd99-6cf0dcd68ed2": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_4_S20_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.492Z", - "document_id": "195d7ba8-31b7-4cdc-bd99-6cf0dcd68ed2" - } - }, - "sequence_file/7bdae9af-9ece-44c7-816b-abdf3ef629be": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_4_S20_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.527Z", - "document_id": "7bdae9af-9ece-44c7-816b-abdf3ef629be" - } - }, - "sequence_file/10268a25-2d4a-48e3-a322-08c1b7988375": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_4_S20_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.543Z", - "document_id": "10268a25-2d4a-48e3-a322-08c1b7988375" - } - }, - "sequence_file/4f98df5f-a259-44c7-9007-6bb89417c6c2": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_4_S20_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.555Z", - "document_id": "4f98df5f-a259-44c7-9007-6bb89417c6c2" - } - }, - "sequence_file/73934c9a-041e-4ac3-81fe-cbaee7972d5c": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_4_S20_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.567Z", - "document_id": "73934c9a-041e-4ac3-81fe-cbaee7972d5c" - } - }, - "sequence_file/6be5c831-1e65-4314-a4a0-e40d7f17bad1": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_5_S21_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.581Z", - "document_id": "6be5c831-1e65-4314-a4a0-e40d7f17bad1" - } - }, - "sequence_file/f43216e3-4d6c-4eac-a8ec-5f020a8ff700": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_5_S21_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.595Z", - "document_id": "f43216e3-4d6c-4eac-a8ec-5f020a8ff700" - } - }, - "sequence_file/f85d5d78-7255-45b9-becf-79173199f54d": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_5_S21_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.607Z", - "document_id": "f85d5d78-7255-45b9-becf-79173199f54d" - } - }, - "sequence_file/345b2f3d-570f-4450-9f99-2408311820c0": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_5_S21_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.619Z", - "document_id": "345b2f3d-570f-4450-9f99-2408311820c0" - } - }, - "sequence_file/c7b03a29-ddbf-4c3c-b837-24453e4b9a16": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_5_S21_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.632Z", - "document_id": "c7b03a29-ddbf-4c3c-b837-24453e4b9a16" - } - }, - "sequence_file/e52ead2d-7eb4-4dc3-9eb7-f1e6c3b86c72": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_5_S21_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.644Z", - "document_id": "e52ead2d-7eb4-4dc3-9eb7-f1e6c3b86c72" - } - }, - "sequence_file/01a566c6-ab81-4a35-9d8c-3631fadc7ef7": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_6_S22_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.658Z", - "document_id": "01a566c6-ab81-4a35-9d8c-3631fadc7ef7" - } - }, - "sequence_file/7209368d-725a-442d-bf79-4a4408ce0843": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_6_S22_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.671Z", - "document_id": "7209368d-725a-442d-bf79-4a4408ce0843" - } - }, - "sequence_file/e7a83e57-1751-4484-982b-d7f635491728": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_6_S22_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.684Z", - "document_id": "e7a83e57-1751-4484-982b-d7f635491728" - } - }, - "sequence_file/0622a845-6109-4c1a-bf60-aa1d47d23799": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_6_S22_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.696Z", - "document_id": "0622a845-6109-4c1a-bf60-aa1d47d23799" - } - }, - "sequence_file/b2d5ff76-941a-4e98-8636-3d530d1e7b63": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_6_S22_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.709Z", - "document_id": "b2d5ff76-941a-4e98-8636-3d530d1e7b63" - } - }, - "sequence_file/10290214-f084-472e-82bd-9a2b29cdc2d5": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_6_S22_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.724Z", - "document_id": "10290214-f084-472e-82bd-9a2b29cdc2d5" - } - }, - "sequence_file/874303e0-a9e9-4c0d-8aba-4d280bacc661": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_7_S23_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.754Z", - "document_id": "874303e0-a9e9-4c0d-8aba-4d280bacc661" - } - }, - "sequence_file/a8d5b273-9a5f-4071-97be-305fc4bbbe6c": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_7_S23_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.768Z", - "document_id": "a8d5b273-9a5f-4071-97be-305fc4bbbe6c" - } - }, - "sequence_file/43f5a634-dc82-4099-9b89-221e04ffc981": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_7_S23_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.780Z", - "document_id": "43f5a634-dc82-4099-9b89-221e04ffc981" - } - }, - "sequence_file/7b802c7f-1bcc-41a0-ad22-bd8d2f91ad0d": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_7_S23_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.791Z", - "document_id": "7b802c7f-1bcc-41a0-ad22-bd8d2f91ad0d" - } - }, - "sequence_file/6e67ea1f-e553-4301-9647-237c23af06a0": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_7_S23_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.803Z", - "document_id": "6e67ea1f-e553-4301-9647-237c23af06a0" - } - }, - "sequence_file/16a57933-11e5-4852-93a0-805e0433b2dd": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_7_S23_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.815Z", - "document_id": "16a57933-11e5-4852-93a0-805e0433b2dd" - } - }, - "sequence_file/a9f7d170-b971-4444-94ee-477ca3b5ef75": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_8_S24_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.829Z", - "document_id": "a9f7d170-b971-4444-94ee-477ca3b5ef75" - } - }, - "sequence_file/8a4df56a-6e6a-415c-9347-69f010e6767b": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_8_S24_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.842Z", - "document_id": "8a4df56a-6e6a-415c-9347-69f010e6767b" - } - }, - "sequence_file/4d4bc5c5-e07a-4c31-a797-3d3159b42f9a": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_8_S24_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.855Z", - "document_id": "4d4bc5c5-e07a-4c31-a797-3d3159b42f9a" - } - }, - "sequence_file/da470794-0fc6-453d-a166-fc8c3bf9ce8c": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_8_S24_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.948Z", - "document_id": "da470794-0fc6-453d-a166-fc8c3bf9ce8c" - } - }, - "sequence_file/c0cb01fa-e9cd-4df9-8f5f-4199cf29c134": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_8_S24_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:05.960Z", - "document_id": "c0cb01fa-e9cd-4df9-8f5f-4199cf29c134" - } - }, - "sequence_file/2cb2bdf0-d7ac-4480-8031-f4c82edf4431": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB7_HiSeq_8_S24_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.016Z", - "document_id": "2cb2bdf0-d7ac-4480-8031-f4c82edf4431" - } - }, - "sequence_file/61079973-c1c2-43a1-bb8a-1fcd53ba28b9": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_1_S25_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.032Z", - "document_id": "61079973-c1c2-43a1-bb8a-1fcd53ba28b9" - } - }, - "sequence_file/b1d42bb4-602c-488f-a519-efe483780513": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_1_S25_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.046Z", - "document_id": "b1d42bb4-602c-488f-a519-efe483780513" - } - }, - "sequence_file/8652979a-490c-4ef4-a8a5-49aff43696ef": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_1_S25_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.058Z", - "document_id": "8652979a-490c-4ef4-a8a5-49aff43696ef" - } - }, - "sequence_file/00df0394-0487-4144-9c35-39d741045981": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_1_S25_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.072Z", - "document_id": "00df0394-0487-4144-9c35-39d741045981" - } - }, - "sequence_file/27cf1dfd-e692-45ba-8416-4a36ebde3bf7": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_1_S25_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.084Z", - "document_id": "27cf1dfd-e692-45ba-8416-4a36ebde3bf7" - } - }, - "sequence_file/7968ac17-7547-4817-b97a-d7af390f3c13": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_1_S25_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.097Z", - "document_id": "7968ac17-7547-4817-b97a-d7af390f3c13" - } - }, - "sequence_file/39516b72-5dd2-4d59-99fd-e21c1ecd13a8": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_2_S26_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.111Z", - "document_id": "39516b72-5dd2-4d59-99fd-e21c1ecd13a8" - } - }, - "sequence_file/337686df-d6a4-4294-af00-242293302662": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_2_S26_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.126Z", - "document_id": "337686df-d6a4-4294-af00-242293302662" - } - }, - "sequence_file/8ad1ce1c-af56-40c5-b139-bb19fbc7fe20": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_2_S26_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.139Z", - "document_id": "8ad1ce1c-af56-40c5-b139-bb19fbc7fe20" - } - }, - "sequence_file/53c4a13a-6462-4825-a729-8f6792b6f5c2": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_2_S26_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.151Z", - "document_id": "53c4a13a-6462-4825-a729-8f6792b6f5c2" - } - }, - "sequence_file/1ef49c16-4142-4569-8623-d46b11a0358a": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_2_S26_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.163Z", - "document_id": "1ef49c16-4142-4569-8623-d46b11a0358a" - } - }, - "sequence_file/8dcfc18a-0095-4328-a00a-eed229e76d6e": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_2_S26_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.177Z", - "document_id": "8dcfc18a-0095-4328-a00a-eed229e76d6e" - } - }, - "sequence_file/d4da1a64-288f-42a7-b59f-1252846b61c5": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_3_S27_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.190Z", - "document_id": "d4da1a64-288f-42a7-b59f-1252846b61c5" - } - }, - "sequence_file/ae247bd4-093d-4897-96e9-6fa5a6bdf815": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_3_S27_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.204Z", - "document_id": "ae247bd4-093d-4897-96e9-6fa5a6bdf815" - } - }, - "sequence_file/e817a985-00a6-4a89-99c0-0d1f9726ddf1": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_3_S27_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.217Z", - "document_id": "e817a985-00a6-4a89-99c0-0d1f9726ddf1" - } - }, - "sequence_file/9888d80c-aee4-4e18-b8e9-582e064a168c": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_3_S27_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.231Z", - "document_id": "9888d80c-aee4-4e18-b8e9-582e064a168c" - } - }, - "sequence_file/c6f48167-26ae-4361-8a00-16245e26c6e6": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_3_S27_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.246Z", - "document_id": "c6f48167-26ae-4361-8a00-16245e26c6e6" - } - }, - "sequence_file/4d547634-951e-44ad-9259-a7d9ca2d7658": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_3_S27_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.264Z", - "document_id": "4d547634-951e-44ad-9259-a7d9ca2d7658" - } - }, - "sequence_file/e5337ffe-3c97-457a-9566-13ed907751c4": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_4_S28_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.279Z", - "document_id": "e5337ffe-3c97-457a-9566-13ed907751c4" - } - }, - "sequence_file/552edbc3-a7d8-4478-ad7a-57b154693d6a": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_4_S28_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.297Z", - "document_id": "552edbc3-a7d8-4478-ad7a-57b154693d6a" - } - }, - "sequence_file/de1c2807-ae40-4ed1-b306-1e3714cb6778": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_4_S28_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.318Z", - "document_id": "de1c2807-ae40-4ed1-b306-1e3714cb6778" - } - }, - "sequence_file/a9699776-1b44-4f90-b996-2eaeb8785a7a": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_4_S28_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.340Z", - "document_id": "a9699776-1b44-4f90-b996-2eaeb8785a7a" - } - }, - "sequence_file/9f09671a-d4c1-4126-9c8d-933e520b95ce": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_4_S28_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.360Z", - "document_id": "9f09671a-d4c1-4126-9c8d-933e520b95ce" - } - }, - "sequence_file/064a2cdf-18fb-4039-9faf-9bc55bfe0b81": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_4_S28_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.411Z", - "document_id": "064a2cdf-18fb-4039-9faf-9bc55bfe0b81" - } - }, - "sequence_file/83dfe703-284a-474c-b4e8-f4bde26a010f": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_5_S29_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.437Z", - "document_id": "83dfe703-284a-474c-b4e8-f4bde26a010f" - } - }, - "sequence_file/2a2f3468-2a59-4893-a1c2-3df6fa33a8bf": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_5_S29_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.452Z", - "document_id": "2a2f3468-2a59-4893-a1c2-3df6fa33a8bf" - } - }, - "sequence_file/dd0248e8-78f2-4b26-b6f0-cefe1dda95cb": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_5_S29_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.467Z", - "document_id": "dd0248e8-78f2-4b26-b6f0-cefe1dda95cb" - } - }, - "sequence_file/325e58bd-5f19-47fd-9231-12d1bbb19fb8": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_5_S29_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.484Z", - "document_id": "325e58bd-5f19-47fd-9231-12d1bbb19fb8" - } - }, - "sequence_file/4540953b-ff03-4cda-9f06-75093a81b26f": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_5_S29_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.502Z", - "document_id": "4540953b-ff03-4cda-9f06-75093a81b26f" - } - }, - "sequence_file/2eb84d9b-04d0-49d7-99ab-8e209590631b": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_5_S29_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.520Z", - "document_id": "2eb84d9b-04d0-49d7-99ab-8e209590631b" - } - }, - "sequence_file/21e743eb-f83e-428b-96af-8d6182610e0a": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_6_S30_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.532Z", - "document_id": "21e743eb-f83e-428b-96af-8d6182610e0a" - } - }, - "sequence_file/8a8398e9-7b04-4c33-b9e8-408f0cf945f3": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_6_S30_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.544Z", - "document_id": "8a8398e9-7b04-4c33-b9e8-408f0cf945f3" - } - }, - "sequence_file/61884059-5d5f-41ce-b01f-6f22a326b1c9": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_6_S30_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.556Z", - "document_id": "61884059-5d5f-41ce-b01f-6f22a326b1c9" - } - }, - "sequence_file/43a087b6-ec8a-467f-a10f-e630f471174f": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_6_S30_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.569Z", - "document_id": "43a087b6-ec8a-467f-a10f-e630f471174f" - } - }, - "sequence_file/f1f55462-4542-41d9-9709-e88cc8723e2d": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_6_S30_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.584Z", - "document_id": "f1f55462-4542-41d9-9709-e88cc8723e2d" - } - }, - "sequence_file/c5670f08-2903-4b0e-9af4-6695558765bb": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_6_S30_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.596Z", - "document_id": "c5670f08-2903-4b0e-9af4-6695558765bb" - } - }, - "sequence_file/8089569e-ad43-4ed8-80b5-d2e36b890aa3": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_7_S31_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.666Z", - "document_id": "8089569e-ad43-4ed8-80b5-d2e36b890aa3" - } - }, - "sequence_file/c0b50eb0-f38a-4102-ae11-355adc3a9753": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_7_S31_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.679Z", - "document_id": "c0b50eb0-f38a-4102-ae11-355adc3a9753" - } - }, - "sequence_file/df8f2e4e-f1b5-4125-9324-67fd7df95d66": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_7_S31_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.690Z", - "document_id": "df8f2e4e-f1b5-4125-9324-67fd7df95d66" - } - }, - "sequence_file/c38a31ea-3e15-4f0d-ba20-0a8c14c320d0": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_7_S31_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.703Z", - "document_id": "c38a31ea-3e15-4f0d-ba20-0a8c14c320d0" - } - }, - "sequence_file/ec749311-5dd2-4cd6-a2fc-8f072d614bb5": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_7_S31_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.719Z", - "document_id": "ec749311-5dd2-4cd6-a2fc-8f072d614bb5" - } - }, - "sequence_file/5c07823c-b8ed-4328-8f89-2073c4a5b50d": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_7_S31_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.734Z", - "document_id": "5c07823c-b8ed-4328-8f89-2073c4a5b50d" - } - }, - "sequence_file/5d786269-d4ce-423a-8238-a15a4bb72ea3": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_8_S32_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.746Z", - "document_id": "5d786269-d4ce-423a-8238-a15a4bb72ea3" - } - }, - "sequence_file/37aaf22e-e553-4d7e-86f0-2cfebb7cf3fb": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_8_S32_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.760Z", - "document_id": "37aaf22e-e553-4d7e-86f0-2cfebb7cf3fb" - } - }, - "sequence_file/8c9b34e3-97f6-4808-9c9d-f59a1bcdad6e": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_8_S32_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.772Z", - "document_id": "8c9b34e3-97f6-4808-9c9d-f59a1bcdad6e" - } - }, - "sequence_file/a519a47c-c53c-4cd2-94e1-8fac73a5f434": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_8_S32_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.783Z", - "document_id": "a519a47c-c53c-4cd2-94e1-8fac73a5f434" - } - }, - "sequence_file/e4dc1bd7-d8b6-4820-96b6-9f64547685d1": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_8_S32_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.795Z", - "document_id": "e4dc1bd7-d8b6-4820-96b6-9f64547685d1" - } - }, - "sequence_file/edb92ba9-449b-4d51-a638-22e26a5d471e": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonCB8_HiSeq_8_S32_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T17:00:06.806Z", - "document_id": "edb92ba9-449b-4d51-a638-22e26a5d471e" - } - }, - "dissociation_process/6f8cc2d1-6884-4ac7-81b3-bca185e1b8ae": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_97" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:11.060Z", - "updateDate": "2018-03-26T17:00:50.295Z", - "document_id": "6f8cc2d1-6884-4ac7-81b3-bca185e1b8ae" - } - }, - "process/de4fc3e2-cf67-4915-a096-5b87a4e95e69": { - "content": { - "process_core": { - "process_id": "sampling_process_103" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:45.224Z", - "updateDate": "2018-03-26T17:00:02.483Z", - "document_id": "de4fc3e2-cf67-4915-a096-5b87a4e95e69" - } - }, - "dissociation_process/d44b888c-d44f-4f2f-bfe9-f2692d976153": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_115" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:59.223Z", - "updateDate": "2018-03-26T17:01:08.268Z", - "document_id": "d44b888c-d44f-4f2f-bfe9-f2692d976153" - } - }, - "process/d5c49bcf-d959-4143-8ab4-2da4bdcf039c": { - "content": { - "process_core": { - "process_id": "sampling_process_27" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.163Z", - "updateDate": "2018-03-26T16:59:57.139Z", - "document_id": "d5c49bcf-d959-4143-8ab4-2da4bdcf039c" - } - }, - "dissociation_process/b365f021-1729-4735-a1f2-504bbd9c7f56": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_123" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:08.189Z", - "updateDate": "2018-03-26T17:00:45.277Z", - "document_id": "b365f021-1729-4735-a1f2-504bbd9c7f56" - } - }, - "process/9a967de7-3113-4a14-b586-5f387810cc50": { - "content": { - "process_core": { - "process_id": "sampling_process_29" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.393Z", - "updateDate": "2018-03-26T16:59:57.314Z", - "document_id": "9a967de7-3113-4a14-b586-5f387810cc50" - } - }, - "dissociation_process/d5fd4a48-75f1-476d-a4b5-ecdf96fe10bc": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_104" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:07.898Z", - "updateDate": "2018-03-26T17:00:46.312Z", - "document_id": "d5fd4a48-75f1-476d-a4b5-ecdf96fe10bc" - } - }, - "process/fb846e68-7d02-4299-8b6b-7ea1a7dc3f5d": { - "content": { - "process_core": { - "process_id": "sampling_process_59" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:36.549Z", - "updateDate": "2018-03-26T17:00:01.170Z", - "document_id": "fb846e68-7d02-4299-8b6b-7ea1a7dc3f5d" - } - }, - "dissociation_process/1296a80d-a0e9-420f-ba0b-42b361cd6174": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_124" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:08.643Z", - "updateDate": "2018-03-26T17:00:46.412Z", - "document_id": "1296a80d-a0e9-420f-ba0b-42b361cd6174" - } - }, - "process/5be39af2-a21b-43ed-b7cd-5391c4fc267b": { - "content": { - "process_core": { - "process_id": "sampling_process_8" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:32.415Z", - "updateDate": "2018-03-26T16:59:56.144Z", - "document_id": "5be39af2-a21b-43ed-b7cd-5391c4fc267b" - } - }, - "dissociation_process/0ca1f56d-7810-4d5c-b89c-bc85a2e36145": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_120" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:08.121Z", - "updateDate": "2018-03-26T17:00:45.273Z", - "document_id": "0ca1f56d-7810-4d5c-b89c-bc85a2e36145" - } - }, - "process/9135da8c-77be-43af-b2b7-d59296718852": { - "content": { - "process_core": { - "process_id": "sampling_process_116" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:46.084Z", - "updateDate": "2018-03-26T17:00:03.336Z", - "document_id": "9135da8c-77be-43af-b2b7-d59296718852" - } - }, - "dissociation_process/9f0598ef-eb95-4cae-a90f-906fdee36612": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_102" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:57.233Z", - "updateDate": "2018-03-26T17:01:05.300Z", - "document_id": "9f0598ef-eb95-4cae-a90f-906fdee36612" - } - }, - "process/fc02bfec-01fb-49e4-848a-14e5ca5f8cf9": { - "content": { - "process_core": { - "process_id": "sampling_process_69" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:39.939Z", - "updateDate": "2018-03-26T16:59:59.142Z", - "document_id": "fc02bfec-01fb-49e4-848a-14e5ca5f8cf9" - } - }, - "dissociation_process/da0fe044-3960-4c95-a283-c139a1a1d813": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_127" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:08.710Z", - "updateDate": "2018-03-26T17:00:47.453Z", - "document_id": "da0fe044-3960-4c95-a283-c139a1a1d813" - } - }, - "process/c84c88f4-ebe9-45a3-9c2d-3208175cf905": { - "content": { - "process_core": { - "process_id": "sampling_process_70" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.039Z", - "updateDate": "2018-03-26T16:59:59.138Z", - "document_id": "c84c88f4-ebe9-45a3-9c2d-3208175cf905" - } - }, - "dissociation_process/e15150d7-7785-4ea4-adaa-969007dd445c": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_119" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:58.685Z", - "updateDate": "2018-03-26T17:01:07.238Z", - "document_id": "e15150d7-7785-4ea4-adaa-969007dd445c" - } - }, - "process/cd14893e-2d7d-457e-8c76-3d1b374014a8": { - "content": { - "process_core": { - "process_id": "sampling_process_73" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.473Z", - "updateDate": "2018-03-26T16:59:59.131Z", - "document_id": "cd14893e-2d7d-457e-8c76-3d1b374014a8" - } - }, - "dissociation_process/adecbfc1-ece4-4e3c-9b0f-b98b3e1e5340": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_101" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:57.312Z", - "updateDate": "2018-03-26T17:01:05.345Z", - "document_id": "adecbfc1-ece4-4e3c-9b0f-b98b3e1e5340" - } - }, - "process/e19d2ff8-4bb9-492b-89d7-7e7bc7315ab8": { - "content": { - "process_core": { - "process_id": "sampling_process_33" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.601Z", - "updateDate": "2018-03-26T16:59:58.329Z", - "document_id": "e19d2ff8-4bb9-492b-89d7-7e7bc7315ab8" - } - }, - "dissociation_process/df87fdfd-4555-4a42-a57e-7210ed4da27b": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_110" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:58.824Z", - "updateDate": "2018-03-26T17:01:07.288Z", - "document_id": "df87fdfd-4555-4a42-a57e-7210ed4da27b" - } - }, - "process/77eb73bb-f80a-452d-af56-ad5ce64ca411": { - "content": { - "process_core": { - "process_id": "sampling_process_66" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:39.775Z", - "updateDate": "2018-03-26T17:00:02.462Z", - "document_id": "77eb73bb-f80a-452d-af56-ad5ce64ca411" - } - }, - "dissociation_process/eae8f659-6227-44db-a71f-d56e13210557": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_99" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:10.880Z", - "updateDate": "2018-03-26T17:00:49.356Z", - "document_id": "eae8f659-6227-44db-a71f-d56e13210557" - } - }, - "process/19efcae2-ec84-46c8-8b5f-a9a42669d3d2": { - "content": { - "process_core": { - "process_id": "sampling_process_25" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:33.958Z", - "updateDate": "2018-03-26T16:59:56.110Z", - "document_id": "19efcae2-ec84-46c8-8b5f-a9a42669d3d2" - } - }, - "dissociation_process/2efa39c9-5a98-425e-8ddf-5c30f367aba6": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_107" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:01.576Z", - "updateDate": "2018-03-26T17:01:11.328Z", - "document_id": "2efa39c9-5a98-425e-8ddf-5c30f367aba6" - } - }, - "process/9641fe71-fa96-41a3-9d08-7ebc1ca306d4": { - "content": { - "process_core": { - "process_id": "sampling_process_28" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.300Z", - "updateDate": "2018-03-26T16:59:59.131Z", - "document_id": "9641fe71-fa96-41a3-9d08-7ebc1ca306d4" - } - }, - "dissociation_process/82e6e67b-28d4-4252-88ae-7a82968fbbdc": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_108" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:00.750Z", - "updateDate": "2018-03-26T17:01:10.377Z", - "document_id": "82e6e67b-28d4-4252-88ae-7a82968fbbdc" - } - }, - "process/8f9d2cff-72d3-4925-aa42-3adaf02db950": { - "content": { - "process_core": { - "process_id": "sampling_process_3" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.793Z", - "updateDate": "2018-03-26T16:59:57.429Z", - "document_id": "8f9d2cff-72d3-4925-aa42-3adaf02db950" - } - }, - "dissociation_process/701af54f-870e-4527-bd45-14dd435efa1e": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_118" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:58.561Z", - "updateDate": "2018-03-26T17:01:07.254Z", - "document_id": "701af54f-870e-4527-bd45-14dd435efa1e" - } - }, - "process/dd92c89a-10b8-42b0-bca7-4b075c4845c9": { - "content": { - "process_core": { - "process_id": "sampling_process_67" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:39.818Z", - "updateDate": "2018-03-26T17:00:02.458Z", - "document_id": "dd92c89a-10b8-42b0-bca7-4b075c4845c9" - } - }, - "dissociation_process/16187e8a-46c3-411a-a02a-2700e64c6678": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_100" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:57.389Z", - "updateDate": "2018-03-26T17:01:05.273Z", - "document_id": "16187e8a-46c3-411a-a02a-2700e64c6678" - } - }, - "process/d9a47b6f-ea85-4c74-a3c7-5bde8c723ae1": { - "content": { - "process_core": { - "process_id": "sampling_process_2" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.752Z", - "updateDate": "2018-03-26T16:59:56.226Z", - "document_id": "d9a47b6f-ea85-4c74-a3c7-5bde8c723ae1" - } - }, - "dissociation_process/a50a909a-7e1d-415a-bb13-4dfd2db00ac9": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_96" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:10.950Z", - "updateDate": "2018-03-26T17:00:49.519Z", - "document_id": "a50a909a-7e1d-415a-bb13-4dfd2db00ac9" - } - }, - "process/e4b43c35-9780-4ac4-89f3-a4d69cda2113": { - "content": { - "process_core": { - "process_id": "sampling_process_58" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:36.477Z", - "updateDate": "2018-03-26T17:00:00.143Z", - "document_id": "e4b43c35-9780-4ac4-89f3-a4d69cda2113" - } - }, - "dissociation_process/f9925774-e83b-4979-a868-337ea7ae9e55": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_114" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:59.132Z", - "updateDate": "2018-03-26T17:01:08.266Z", - "document_id": "f9925774-e83b-4979-a868-337ea7ae9e55" - } - }, - "process/2fc835c0-58fd-424c-a909-6e3b636cb192": { - "content": { - "process_core": { - "process_id": "sampling_process_106" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:45.633Z", - "updateDate": "2018-03-26T17:00:02.488Z", - "document_id": "2fc835c0-58fd-424c-a909-6e3b636cb192" - } - }, - "dissociation_process/debf44cb-76c6-40d8-bfb0-b57adad22c93": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_121" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:07.964Z", - "updateDate": "2018-03-26T17:00:45.252Z", - "document_id": "debf44cb-76c6-40d8-bfb0-b57adad22c93" - } - }, - "process/61d2ac67-a545-4c58-9d6b-53057f55f883": { - "content": { - "process_core": { - "process_id": "sampling_process_21" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:33.763Z", - "updateDate": "2018-03-26T16:59:56.461Z", - "document_id": "61d2ac67-a545-4c58-9d6b-53057f55f883" - } - }, - "dissociation_process/1c5ed8da-07a5-43a5-8731-052ccb651466": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_112" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:58.989Z", - "updateDate": "2018-03-26T17:01:07.254Z", - "document_id": "1c5ed8da-07a5-43a5-8731-052ccb651466" - } - }, - "process/3c9f63f2-8d07-4b22-97b4-33cdbe750146": { - "content": { - "process_core": { - "process_id": "sampling_process_60" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:36.795Z", - "updateDate": "2018-03-26T17:00:03.221Z", - "document_id": "3c9f63f2-8d07-4b22-97b4-33cdbe750146" - } - }, - "dissociation_process/fe8781ef-e3dc-4e6e-b22a-6f2ec8368077": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_109" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:01:00.644Z", - "updateDate": "2018-03-26T17:01:10.278Z", - "document_id": "fe8781ef-e3dc-4e6e-b22a-6f2ec8368077" - } - }, - "process/8c060209-eae7-4e91-b4f2-5ace5a367dc6": { - "content": { - "process_core": { - "process_id": "sampling_process_32" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.559Z", - "updateDate": "2018-03-26T16:59:59.145Z", - "document_id": "8c060209-eae7-4e91-b4f2-5ace5a367dc6" - } - }, - "dissociation_process/839cad27-427c-45ef-b15a-0b98332138da": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_125" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:08.502Z", - "updateDate": "2018-03-26T17:00:46.513Z", - "document_id": "839cad27-427c-45ef-b15a-0b98332138da" - } - }, - "process/e2927f13-adb7-4d6b-8d5b-e53a9c4d8664": { - "content": { - "process_core": { - "process_id": "sampling_process_30" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.475Z", - "updateDate": "2018-03-26T16:59:59.366Z", - "document_id": "e2927f13-adb7-4d6b-8d5b-e53a9c4d8664" - } - }, - "dissociation_process/b9b71248-448a-43bb-9f48-08e2528c8136": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_126" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:08.779Z", - "updateDate": "2018-03-26T17:00:46.270Z", - "document_id": "b9b71248-448a-43bb-9f48-08e2528c8136" - } - }, - "process/704cd3f1-82c4-420b-ac5d-b6570d180268": { - "content": { - "process_core": { - "process_id": "sampling_process_62" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:36.899Z", - "updateDate": "2018-03-26T17:00:01.206Z", - "document_id": "704cd3f1-82c4-420b-ac5d-b6570d180268" - } - }, - "dissociation_process/85d59af7-3964-4a7b-8b3e-6df147bc1722": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_98" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:10.815Z", - "updateDate": "2018-03-26T17:00:49.537Z", - "document_id": "85d59af7-3964-4a7b-8b3e-6df147bc1722" - } - }, - "process/fa2d3e8d-2ba5-4b69-902d-43b184458f11": { - "content": { - "process_core": { - "process_id": "sampling_process_104" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:45.392Z", - "updateDate": "2018-03-26T17:00:06.128Z", - "document_id": "fa2d3e8d-2ba5-4b69-902d-43b184458f11" - } - }, - "dissociation_process/4e475c02-d356-41d3-9841-385c41b3ff03": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_116" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:59.291Z", - "updateDate": "2018-03-26T17:01:08.265Z", - "document_id": "4e475c02-d356-41d3-9841-385c41b3ff03" - } - }, - "process/036c253c-6291-45fb-b576-fc0b409d31ba": { - "content": { - "process_core": { - "process_id": "sampling_process_4" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.837Z", - "updateDate": "2018-03-26T16:59:57.145Z", - "document_id": "036c253c-6291-45fb-b576-fc0b409d31ba" - } - }, - "dissociation_process/0768a4f7-4f01-4c12-a3cf-2d785caca462": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_106" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:57.563Z", - "updateDate": "2018-03-26T17:01:05.421Z", - "document_id": "0768a4f7-4f01-4c12-a3cf-2d785caca462" - } - }, - "process/143b36e8-1817-4d71-93ef-cf34bd3ea260": { - "content": { - "process_core": { - "process_id": "sampling_process_105" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:45.562Z", - "updateDate": "2018-03-26T17:00:00.161Z", - "document_id": "143b36e8-1817-4d71-93ef-cf34bd3ea260" - } - }, - "dissociation_process/c2337757-6b6d-450b-9323-e1096aac8a8a": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_103" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:57.130Z", - "updateDate": "2018-03-26T17:01:01.377Z", - "document_id": "c2337757-6b6d-450b-9323-e1096aac8a8a" - } - }, - "process/460d08b2-db32-4f65-9c19-37b46170df7d": { - "content": { - "process_core": { - "process_id": "sampling_process_71" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.179Z", - "updateDate": "2018-03-26T17:00:00.067Z", - "document_id": "460d08b2-db32-4f65-9c19-37b46170df7d" - } - }, - "dissociation_process/eec9006d-d288-4311-806f-35a155cdf4fd": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_122" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:08.259Z", - "updateDate": "2018-03-26T17:00:45.300Z", - "document_id": "eec9006d-d288-4311-806f-35a155cdf4fd" - } - }, - "process/8a307f43-db3b-41de-8ef2-78f94c63353b": { - "content": { - "process_core": { - "process_id": "sampling_process_101" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:44.976Z", - "updateDate": "2018-03-26T17:00:03.382Z", - "document_id": "8a307f43-db3b-41de-8ef2-78f94c63353b" - } - }, - "dissociation_process/9948f709-25ff-4e0c-89a7-e95260f97349": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_111" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:58.913Z", - "updateDate": "2018-03-26T17:01:07.259Z", - "document_id": "9948f709-25ff-4e0c-89a7-e95260f97349" - } - }, - "process/24b49306-6de0-4312-b7c6-ca59ba5c0240": { - "content": { - "process_core": { - "process_id": "sampling_process_74" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:40.529Z", - "updateDate": "2018-03-26T17:00:02.417Z", - "document_id": "24b49306-6de0-4312-b7c6-ca59ba5c0240" - } - }, - "dissociation_process/5b9516d2-dc9a-437e-ac75-2a17e131557a": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_117" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:59.357Z", - "updateDate": "2018-03-26T17:01:08.330Z", - "document_id": "5b9516d2-dc9a-437e-ac75-2a17e131557a" - } - }, - "process/a386d9df-39d1-4bbb-bd3f-5e0f1ff2c061": { - "content": { - "process_core": { - "process_id": "sampling_process_31" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.521Z", - "updateDate": "2018-03-26T16:59:56.271Z", - "document_id": "a386d9df-39d1-4bbb-bd3f-5e0f1ff2c061" - } - }, - "dissociation_process/7c156764-c910-4e89-9845-a2dbe567a60a": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_105" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:57.783Z", - "updateDate": "2018-03-26T17:01:06.280Z", - "document_id": "7c156764-c910-4e89-9845-a2dbe567a60a" - } - }, - "process/9da0296c-d378-4ad4-94c7-d359fa7433d1": { - "content": { - "process_core": { - "process_id": "sampling_process_61" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:36.840Z", - "updateDate": "2018-03-26T17:00:01.104Z", - "document_id": "9da0296c-d378-4ad4-94c7-d359fa7433d1" - } - }, - "dissociation_process/029b7cf1-c7f8-4f0a-b20d-35c8158f64a6": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_113" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:59.063Z", - "updateDate": "2018-03-26T17:01:08.289Z", - "document_id": "029b7cf1-c7f8-4f0a-b20d-35c8158f64a6" - } - }, - "process/c534bfdb-4b99-45ca-8bd9-e21ff354e988": { - "content": { - "process_core": { - "process_id": "sampling_process_9" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:32.556Z", - "updateDate": "2018-03-26T16:59:56.255Z", - "document_id": "c534bfdb-4b99-45ca-8bd9-e21ff354e988" - } - }, - "library_preparation_process/12ea2953-06a4-4e80-8910-a27aba936b9c": { - "content": { - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "process_type": { - "text": "10x sequencing process" - }, - "process_core": { - "process_id": "library_preparation_process_1", - "process_name": "Preparing RNA for sequencing by 10x" - }, - "umi_barcode": { - "barcode_offset": 16, - "barcode_length": 10, - "barcode_read": "Read 1" - }, - "library_construction_approach": "10x_v2", - "cell_barcode": { - "barcode_offset": 0, - "barcode_length": 16, - "barcode_read": "Read 1" - }, - "schema_type": "process", - "end_bias": "3 prime tag", - "primer": "poly-dT", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/library_preparation_process", - "strand": "second" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:06.820Z", - "updateDate": "2018-03-26T17:00:44.791Z", - "document_id": "12ea2953-06a4-4e80-8910-a27aba936b9c" - } - }, - "sequencing_process/05e446a2-88c1-465b-b56c-7caf6ad4c018": { - "content": { - "paired_ends": true, - "local_machine_name": "HXJ", - "instrument_manufacturer_model": { - "text": "Illumina Hiseq X 10", - "ontology": "EFO:0008567" - }, - "process_type": { - "text": "10x sequencing process" - }, - "process_core": { - "process_description": "Single cell sequencing of cDNAs by 10x", - "process_name": "Sequencing cord blood donor 5-8", - "process_id": "10x_v2_sequencing_process_4", - "start_time": "2017-09-26T05:20:00Z", - "process_location": "Broad Institute" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/sequencing_process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:06.848Z", - "updateDate": "2018-03-26T17:00:53.458Z", - "document_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018" - } - }, - "protocol/3cbebf0a-4aab-4525-80f4-222703d14b98": { - "content": { - "protocol_core": { - "protocol_id": "dissociation_protocol_1" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.834Z", - "updateDate": "2018-03-26T16:59:27.584Z", - "document_id": "3cbebf0a-4aab-4525-80f4-222703d14b98" - } - }, - "protocol/81b97ec1-f68c-4d69-be78-50d1aad7bbef": { - "content": { - "protocol_core": { - "protocol_id": "library_preparation_protocol_1" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "10x sequencing protocol", - "ontology": "EFO:0008443" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.848Z", - "updateDate": "2018-03-26T16:59:29.761Z", - "document_id": "81b97ec1-f68c-4d69-be78-50d1aad7bbef" - } - }, - "protocol/e99eed63-5794-4d8d-baf9-9c6888e91e6d": { - "content": { - "protocol_core": { - "protocol_id": "10x_v2_sequencing_protocol_1" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "10x sequencing protocol", - "ontology": "EFO:0008443" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.860Z", - "updateDate": "2018-03-26T16:59:27.537Z", - "document_id": "e99eed63-5794-4d8d-baf9-9c6888e91e6d" - } - } - }, - "links": { - "links": [ - { - "source_id": "763da7c3-cf84-4dd1-9816-99387476f439", - "source_type": "biomaterial", - "destination_id": "6f8cc2d1-6884-4ac7-81b3-bca185e1b8ae", - "destination_type": "dissociation_process" - }, - { - "source_id": "6f8cc2d1-6884-4ac7-81b3-bca185e1b8ae", - "source_type": "dissociation_process", - "destination_id": "81bdd959-6a0c-45e8-a95f-9e94362ac234", - "destination_type": "biomaterial" - }, - { - "source_id": "6f8cc2d1-6884-4ac7-81b3-bca185e1b8ae", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "de4fc3e2-cf67-4915-a096-5b87a4e95e69", - "source_type": "process", - "destination_id": "763da7c3-cf84-4dd1-9816-99387476f439", - "destination_type": "biomaterial" - }, - { - "source_id": "50df319c-ce04-45d3-bf61-72017700f4c7", - "source_type": "biomaterial", - "destination_id": "de4fc3e2-cf67-4915-a096-5b87a4e95e69", - "destination_type": "process" - }, - { - "source_id": "ea978eed-c518-421b-9ff1-e9946e79285d", - "source_type": "biomaterial", - "destination_id": "d44b888c-d44f-4f2f-bfe9-f2692d976153", - "destination_type": "dissociation_process" - }, - { - "source_id": "d44b888c-d44f-4f2f-bfe9-f2692d976153", - "source_type": "dissociation_process", - "destination_id": "8a5f6526-b075-4dc6-911a-094c9e9df5b8", - "destination_type": "biomaterial" - }, - { - "source_id": "d44b888c-d44f-4f2f-bfe9-f2692d976153", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "d5c49bcf-d959-4143-8ab4-2da4bdcf039c", - "source_type": "process", - "destination_id": "ea978eed-c518-421b-9ff1-e9946e79285d", - "destination_type": "biomaterial" - }, - { - "source_id": "dc6819c9-6df9-4028-9a27-d4b4051475ae", - "source_type": "biomaterial", - "destination_id": "d5c49bcf-d959-4143-8ab4-2da4bdcf039c", - "destination_type": "process" - }, - { - "source_id": "78dc08e0-7fe8-4f1d-a5cb-b11634010810", - "source_type": "biomaterial", - "destination_id": "b365f021-1729-4735-a1f2-504bbd9c7f56", - "destination_type": "dissociation_process" - }, - { - "source_id": "b365f021-1729-4735-a1f2-504bbd9c7f56", - "source_type": "dissociation_process", - "destination_id": "572da738-8893-43d6-b437-97b57372f0aa", - "destination_type": "biomaterial" - }, - { - "source_id": "b365f021-1729-4735-a1f2-504bbd9c7f56", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "9a967de7-3113-4a14-b586-5f387810cc50", - "source_type": "process", - "destination_id": "78dc08e0-7fe8-4f1d-a5cb-b11634010810", - "destination_type": "biomaterial" - }, - { - "source_id": "314393db-9a5f-45f8-95e3-cafb4006484c", - "source_type": "biomaterial", - "destination_id": "9a967de7-3113-4a14-b586-5f387810cc50", - "destination_type": "process" - }, - { - "source_id": "d1c9cf7c-021d-48a2-84f9-17f92358d6e7", - "source_type": "biomaterial", - "destination_id": "d5fd4a48-75f1-476d-a4b5-ecdf96fe10bc", - "destination_type": "dissociation_process" - }, - { - "source_id": "d5fd4a48-75f1-476d-a4b5-ecdf96fe10bc", - "source_type": "dissociation_process", - "destination_id": "71736a6a-0d29-4abe-a0d8-c2cb9d8b010d", - "destination_type": "biomaterial" - }, - { - "source_id": "d5fd4a48-75f1-476d-a4b5-ecdf96fe10bc", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "fb846e68-7d02-4299-8b6b-7ea1a7dc3f5d", - "source_type": "process", - "destination_id": "d1c9cf7c-021d-48a2-84f9-17f92358d6e7", - "destination_type": "biomaterial" - }, - { - "source_id": "db47eeb1-619b-4b97-b5a6-f7e8c7b316aa", - "source_type": "biomaterial", - "destination_id": "fb846e68-7d02-4299-8b6b-7ea1a7dc3f5d", - "destination_type": "process" - }, - { - "source_id": "d3e0f71e-4d00-4567-88af-d797365a7544", - "source_type": "biomaterial", - "destination_id": "1296a80d-a0e9-420f-ba0b-42b361cd6174", - "destination_type": "dissociation_process" - }, - { - "source_id": "1296a80d-a0e9-420f-ba0b-42b361cd6174", - "source_type": "dissociation_process", - "destination_id": "44346960-0ad4-4a30-bbfe-06353cde8f93", - "destination_type": "biomaterial" - }, - { - "source_id": "1296a80d-a0e9-420f-ba0b-42b361cd6174", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "5be39af2-a21b-43ed-b7cd-5391c4fc267b", - "source_type": "process", - "destination_id": "d3e0f71e-4d00-4567-88af-d797365a7544", - "destination_type": "biomaterial" - }, - { - "source_id": "314393db-9a5f-45f8-95e3-cafb4006484c", - "source_type": "biomaterial", - "destination_id": "5be39af2-a21b-43ed-b7cd-5391c4fc267b", - "destination_type": "process" - }, - { - "source_id": "b37160d6-fc23-4b41-97d7-c970b004017d", - "source_type": "biomaterial", - "destination_id": "0ca1f56d-7810-4d5c-b89c-bc85a2e36145", - "destination_type": "dissociation_process" - }, - { - "source_id": "0ca1f56d-7810-4d5c-b89c-bc85a2e36145", - "source_type": "dissociation_process", - "destination_id": "6f88495f-2ae4-432a-a539-da0d4ffba654", - "destination_type": "biomaterial" - }, - { - "source_id": "0ca1f56d-7810-4d5c-b89c-bc85a2e36145", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "9135da8c-77be-43af-b2b7-d59296718852", - "source_type": "process", - "destination_id": "b37160d6-fc23-4b41-97d7-c970b004017d", - "destination_type": "biomaterial" - }, - { - "source_id": "314393db-9a5f-45f8-95e3-cafb4006484c", - "source_type": "biomaterial", - "destination_id": "9135da8c-77be-43af-b2b7-d59296718852", - "destination_type": "process" - }, - { - "source_id": "28b88c0c-2ee1-46ae-aa72-4eac1948a77d", - "source_type": "biomaterial", - "destination_id": "9f0598ef-eb95-4cae-a90f-906fdee36612", - "destination_type": "dissociation_process" - }, - { - "source_id": "9f0598ef-eb95-4cae-a90f-906fdee36612", - "source_type": "dissociation_process", - "destination_id": "72fce6b8-9f90-4e20-9a3a-1648647d1249", - "destination_type": "biomaterial" - }, - { - "source_id": "9f0598ef-eb95-4cae-a90f-906fdee36612", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "fc02bfec-01fb-49e4-848a-14e5ca5f8cf9", - "source_type": "process", - "destination_id": "28b88c0c-2ee1-46ae-aa72-4eac1948a77d", - "destination_type": "biomaterial" - }, - { - "source_id": "50df319c-ce04-45d3-bf61-72017700f4c7", - "source_type": "biomaterial", - "destination_id": "fc02bfec-01fb-49e4-848a-14e5ca5f8cf9", - "destination_type": "process" - }, - { - "source_id": "0ae78f8c-c014-4fc7-8686-232ae967d75a", - "source_type": "biomaterial", - "destination_id": "da0fe044-3960-4c95-a283-c139a1a1d813", - "destination_type": "dissociation_process" - }, - { - "source_id": "da0fe044-3960-4c95-a283-c139a1a1d813", - "source_type": "dissociation_process", - "destination_id": "ead1ae86-f0ef-4f78-872d-939d6da81668", - "destination_type": "biomaterial" - }, - { - "source_id": "da0fe044-3960-4c95-a283-c139a1a1d813", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "c84c88f4-ebe9-45a3-9c2d-3208175cf905", - "source_type": "process", - "destination_id": "0ae78f8c-c014-4fc7-8686-232ae967d75a", - "destination_type": "biomaterial" - }, - { - "source_id": "314393db-9a5f-45f8-95e3-cafb4006484c", - "source_type": "biomaterial", - "destination_id": "c84c88f4-ebe9-45a3-9c2d-3208175cf905", - "destination_type": "process" - }, - { - "source_id": "e7a31b36-8f58-4184-900e-1217246ac851", - "source_type": "biomaterial", - "destination_id": "e15150d7-7785-4ea4-adaa-969007dd445c", - "destination_type": "dissociation_process" - }, - { - "source_id": "e15150d7-7785-4ea4-adaa-969007dd445c", - "source_type": "dissociation_process", - "destination_id": "8b15396e-4b2c-4acd-9a17-503a83e4202b", - "destination_type": "biomaterial" - }, - { - "source_id": "e15150d7-7785-4ea4-adaa-969007dd445c", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "cd14893e-2d7d-457e-8c76-3d1b374014a8", - "source_type": "process", - "destination_id": "e7a31b36-8f58-4184-900e-1217246ac851", - "destination_type": "biomaterial" - }, - { - "source_id": "dc6819c9-6df9-4028-9a27-d4b4051475ae", - "source_type": "biomaterial", - "destination_id": "cd14893e-2d7d-457e-8c76-3d1b374014a8", - "destination_type": "process" - }, - { - "source_id": "d564f2ca-5723-4562-a610-eb93e79ec359", - "source_type": "biomaterial", - "destination_id": "adecbfc1-ece4-4e3c-9b0f-b98b3e1e5340", - "destination_type": "dissociation_process" - }, - { - "source_id": "adecbfc1-ece4-4e3c-9b0f-b98b3e1e5340", - "source_type": "dissociation_process", - "destination_id": "2917ffc8-a755-4dac-8138-1bf2be845ada", - "destination_type": "biomaterial" - }, - { - "source_id": "adecbfc1-ece4-4e3c-9b0f-b98b3e1e5340", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "e19d2ff8-4bb9-492b-89d7-7e7bc7315ab8", - "source_type": "process", - "destination_id": "d564f2ca-5723-4562-a610-eb93e79ec359", - "destination_type": "biomaterial" - }, - { - "source_id": "50df319c-ce04-45d3-bf61-72017700f4c7", - "source_type": "biomaterial", - "destination_id": "e19d2ff8-4bb9-492b-89d7-7e7bc7315ab8", - "destination_type": "process" - }, - { - "source_id": "1d17ae51-1351-4eea-a012-f8e4f89d6b2e", - "source_type": "biomaterial", - "destination_id": "df87fdfd-4555-4a42-a57e-7210ed4da27b", - "destination_type": "dissociation_process" - }, - { - "source_id": "df87fdfd-4555-4a42-a57e-7210ed4da27b", - "source_type": "dissociation_process", - "destination_id": "88d3493b-96f9-4d1d-9188-9d05c0a93acc", - "destination_type": "biomaterial" - }, - { - "source_id": "df87fdfd-4555-4a42-a57e-7210ed4da27b", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "77eb73bb-f80a-452d-af56-ad5ce64ca411", - "source_type": "process", - "destination_id": "1d17ae51-1351-4eea-a012-f8e4f89d6b2e", - "destination_type": "biomaterial" - }, - { - "source_id": "db47eeb1-619b-4b97-b5a6-f7e8c7b316aa", - "source_type": "biomaterial", - "destination_id": "77eb73bb-f80a-452d-af56-ad5ce64ca411", - "destination_type": "process" - }, - { - "source_id": "ff968d9d-9cde-448f-8536-a42a8897de21", - "source_type": "biomaterial", - "destination_id": "eae8f659-6227-44db-a71f-d56e13210557", - "destination_type": "dissociation_process" - }, - { - "source_id": "eae8f659-6227-44db-a71f-d56e13210557", - "source_type": "dissociation_process", - "destination_id": "bd155232-8891-4971-b69f-7cc033b07274", - "destination_type": "biomaterial" - }, - { - "source_id": "eae8f659-6227-44db-a71f-d56e13210557", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "19efcae2-ec84-46c8-8b5f-a9a42669d3d2", - "source_type": "process", - "destination_id": "ff968d9d-9cde-448f-8536-a42a8897de21", - "destination_type": "biomaterial" - }, - { - "source_id": "50df319c-ce04-45d3-bf61-72017700f4c7", - "source_type": "biomaterial", - "destination_id": "19efcae2-ec84-46c8-8b5f-a9a42669d3d2", - "destination_type": "process" - }, - { - "source_id": "b7e702dc-afe1-4885-b533-2aff7ac1aa98", - "source_type": "biomaterial", - "destination_id": "2efa39c9-5a98-425e-8ddf-5c30f367aba6", - "destination_type": "dissociation_process" - }, - { - "source_id": "2efa39c9-5a98-425e-8ddf-5c30f367aba6", - "source_type": "dissociation_process", - "destination_id": "bc66bf2f-e9cc-4d58-8a5b-029f0f4454a3", - "destination_type": "biomaterial" - }, - { - "source_id": "2efa39c9-5a98-425e-8ddf-5c30f367aba6", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "9641fe71-fa96-41a3-9d08-7ebc1ca306d4", - "source_type": "process", - "destination_id": "b7e702dc-afe1-4885-b533-2aff7ac1aa98", - "destination_type": "biomaterial" - }, - { - "source_id": "db47eeb1-619b-4b97-b5a6-f7e8c7b316aa", - "source_type": "biomaterial", - "destination_id": "9641fe71-fa96-41a3-9d08-7ebc1ca306d4", - "destination_type": "process" - }, - { - "source_id": "d7c1e6a7-9596-4da3-a040-505bfad74e27", - "source_type": "biomaterial", - "destination_id": "82e6e67b-28d4-4252-88ae-7a82968fbbdc", - "destination_type": "dissociation_process" - }, - { - "source_id": "82e6e67b-28d4-4252-88ae-7a82968fbbdc", - "source_type": "dissociation_process", - "destination_id": "c09e0a3d-1a93-4637-86ea-39e5d23a1752", - "destination_type": "biomaterial" - }, - { - "source_id": "82e6e67b-28d4-4252-88ae-7a82968fbbdc", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "8f9d2cff-72d3-4925-aa42-3adaf02db950", - "source_type": "process", - "destination_id": "d7c1e6a7-9596-4da3-a040-505bfad74e27", - "destination_type": "biomaterial" - }, - { - "source_id": "db47eeb1-619b-4b97-b5a6-f7e8c7b316aa", - "source_type": "biomaterial", - "destination_id": "8f9d2cff-72d3-4925-aa42-3adaf02db950", - "destination_type": "process" - }, - { - "source_id": "17efe7f8-ed9f-4687-8634-c63c23574b01", - "source_type": "biomaterial", - "destination_id": "701af54f-870e-4527-bd45-14dd435efa1e", - "destination_type": "dissociation_process" - }, - { - "source_id": "701af54f-870e-4527-bd45-14dd435efa1e", - "source_type": "dissociation_process", - "destination_id": "a86bcf71-d42f-4266-b646-988d2b7c7dbb", - "destination_type": "biomaterial" - }, - { - "source_id": "701af54f-870e-4527-bd45-14dd435efa1e", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "dd92c89a-10b8-42b0-bca7-4b075c4845c9", - "source_type": "process", - "destination_id": "17efe7f8-ed9f-4687-8634-c63c23574b01", - "destination_type": "biomaterial" - }, - { - "source_id": "dc6819c9-6df9-4028-9a27-d4b4051475ae", - "source_type": "biomaterial", - "destination_id": "dd92c89a-10b8-42b0-bca7-4b075c4845c9", - "destination_type": "process" - }, - { - "source_id": "7a82dafe-0e6b-409e-97d1-53a06460465b", - "source_type": "biomaterial", - "destination_id": "16187e8a-46c3-411a-a02a-2700e64c6678", - "destination_type": "dissociation_process" - }, - { - "source_id": "16187e8a-46c3-411a-a02a-2700e64c6678", - "source_type": "dissociation_process", - "destination_id": "9da73948-fe14-496d-a110-0df327507937", - "destination_type": "biomaterial" - }, - { - "source_id": "16187e8a-46c3-411a-a02a-2700e64c6678", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "d9a47b6f-ea85-4c74-a3c7-5bde8c723ae1", - "source_type": "process", - "destination_id": "7a82dafe-0e6b-409e-97d1-53a06460465b", - "destination_type": "biomaterial" - }, - { - "source_id": "50df319c-ce04-45d3-bf61-72017700f4c7", - "source_type": "biomaterial", - "destination_id": "d9a47b6f-ea85-4c74-a3c7-5bde8c723ae1", - "destination_type": "process" - }, - { - "source_id": "387daa16-d7c1-4501-ae45-b16d1323ee5d", - "source_type": "biomaterial", - "destination_id": "a50a909a-7e1d-415a-bb13-4dfd2db00ac9", - "destination_type": "dissociation_process" - }, - { - "source_id": "a50a909a-7e1d-415a-bb13-4dfd2db00ac9", - "source_type": "dissociation_process", - "destination_id": "baf9d068-e427-47fc-b753-173614eca3e0", - "destination_type": "biomaterial" - }, - { - "source_id": "a50a909a-7e1d-415a-bb13-4dfd2db00ac9", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "e4b43c35-9780-4ac4-89f3-a4d69cda2113", - "source_type": "process", - "destination_id": "387daa16-d7c1-4501-ae45-b16d1323ee5d", - "destination_type": "biomaterial" - }, - { - "source_id": "50df319c-ce04-45d3-bf61-72017700f4c7", - "source_type": "biomaterial", - "destination_id": "e4b43c35-9780-4ac4-89f3-a4d69cda2113", - "destination_type": "process" - }, - { - "source_id": "e887c7b9-ba8c-4c5f-b1e0-11de28471861", - "source_type": "biomaterial", - "destination_id": "f9925774-e83b-4979-a868-337ea7ae9e55", - "destination_type": "dissociation_process" - }, - { - "source_id": "f9925774-e83b-4979-a868-337ea7ae9e55", - "source_type": "dissociation_process", - "destination_id": "823b3a90-710b-4475-8fc6-adfa6a7ded16", - "destination_type": "biomaterial" - }, - { - "source_id": "f9925774-e83b-4979-a868-337ea7ae9e55", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "2fc835c0-58fd-424c-a909-6e3b636cb192", - "source_type": "process", - "destination_id": "e887c7b9-ba8c-4c5f-b1e0-11de28471861", - "destination_type": "biomaterial" - }, - { - "source_id": "dc6819c9-6df9-4028-9a27-d4b4051475ae", - "source_type": "biomaterial", - "destination_id": "2fc835c0-58fd-424c-a909-6e3b636cb192", - "destination_type": "process" - }, - { - "source_id": "fb255758-4d10-4a92-8909-eb49a10c65ec", - "source_type": "biomaterial", - "destination_id": "debf44cb-76c6-40d8-bfb0-b57adad22c93", - "destination_type": "dissociation_process" - }, - { - "source_id": "debf44cb-76c6-40d8-bfb0-b57adad22c93", - "source_type": "dissociation_process", - "destination_id": "7a05391e-b62c-49ff-a735-978a4b9d2346", - "destination_type": "biomaterial" - }, - { - "source_id": "debf44cb-76c6-40d8-bfb0-b57adad22c93", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "61d2ac67-a545-4c58-9d6b-53057f55f883", - "source_type": "process", - "destination_id": "fb255758-4d10-4a92-8909-eb49a10c65ec", - "destination_type": "biomaterial" - }, - { - "source_id": "314393db-9a5f-45f8-95e3-cafb4006484c", - "source_type": "biomaterial", - "destination_id": "61d2ac67-a545-4c58-9d6b-53057f55f883", - "destination_type": "process" - }, - { - "source_id": "841afd6b-4be7-47a9-9338-e49ff8795b46", - "source_type": "biomaterial", - "destination_id": "1c5ed8da-07a5-43a5-8731-052ccb651466", - "destination_type": "dissociation_process" - }, - { - "source_id": "1c5ed8da-07a5-43a5-8731-052ccb651466", - "source_type": "dissociation_process", - "destination_id": "eeebb4a8-7674-47a9-8273-c968a6683cb9", - "destination_type": "biomaterial" - }, - { - "source_id": "1c5ed8da-07a5-43a5-8731-052ccb651466", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "3c9f63f2-8d07-4b22-97b4-33cdbe750146", - "source_type": "process", - "destination_id": "841afd6b-4be7-47a9-9338-e49ff8795b46", - "destination_type": "biomaterial" - }, - { - "source_id": "dc6819c9-6df9-4028-9a27-d4b4051475ae", - "source_type": "biomaterial", - "destination_id": "3c9f63f2-8d07-4b22-97b4-33cdbe750146", - "destination_type": "process" - }, - { - "source_id": "cdc9ed8d-1fa4-46e2-99f6-916842ed2b0b", - "source_type": "biomaterial", - "destination_id": "fe8781ef-e3dc-4e6e-b22a-6f2ec8368077", - "destination_type": "dissociation_process" - }, - { - "source_id": "fe8781ef-e3dc-4e6e-b22a-6f2ec8368077", - "source_type": "dissociation_process", - "destination_id": "c973d08a-1cc7-42aa-aad5-e5aa1628d5ff", - "destination_type": "biomaterial" - }, - { - "source_id": "fe8781ef-e3dc-4e6e-b22a-6f2ec8368077", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "8c060209-eae7-4e91-b4f2-5ace5a367dc6", - "source_type": "process", - "destination_id": "cdc9ed8d-1fa4-46e2-99f6-916842ed2b0b", - "destination_type": "biomaterial" - }, - { - "source_id": "db47eeb1-619b-4b97-b5a6-f7e8c7b316aa", - "source_type": "biomaterial", - "destination_id": "8c060209-eae7-4e91-b4f2-5ace5a367dc6", - "destination_type": "process" - }, - { - "source_id": "d033e456-46fd-4fa0-baeb-d1ce5ecbaf68", - "source_type": "biomaterial", - "destination_id": "839cad27-427c-45ef-b15a-0b98332138da", - "destination_type": "dissociation_process" - }, - { - "source_id": "839cad27-427c-45ef-b15a-0b98332138da", - "source_type": "dissociation_process", - "destination_id": "61192824-ee22-4a17-9515-599e208a249a", - "destination_type": "biomaterial" - }, - { - "source_id": "839cad27-427c-45ef-b15a-0b98332138da", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "e2927f13-adb7-4d6b-8d5b-e53a9c4d8664", - "source_type": "process", - "destination_id": "d033e456-46fd-4fa0-baeb-d1ce5ecbaf68", - "destination_type": "biomaterial" - }, - { - "source_id": "314393db-9a5f-45f8-95e3-cafb4006484c", - "source_type": "biomaterial", - "destination_id": "e2927f13-adb7-4d6b-8d5b-e53a9c4d8664", - "destination_type": "process" - }, - { - "source_id": "e6e0b971-c9e3-4070-b639-f7aa60d75e51", - "source_type": "biomaterial", - "destination_id": "b9b71248-448a-43bb-9f48-08e2528c8136", - "destination_type": "dissociation_process" - }, - { - "source_id": "b9b71248-448a-43bb-9f48-08e2528c8136", - "source_type": "dissociation_process", - "destination_id": "85b04bdc-07c0-41a2-87ba-e61bee1bff3a", - "destination_type": "biomaterial" - }, - { - "source_id": "b9b71248-448a-43bb-9f48-08e2528c8136", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "704cd3f1-82c4-420b-ac5d-b6570d180268", - "source_type": "process", - "destination_id": "e6e0b971-c9e3-4070-b639-f7aa60d75e51", - "destination_type": "biomaterial" - }, - { - "source_id": "314393db-9a5f-45f8-95e3-cafb4006484c", - "source_type": "biomaterial", - "destination_id": "704cd3f1-82c4-420b-ac5d-b6570d180268", - "destination_type": "process" - }, - { - "source_id": "6066f257-dbee-41a2-b15e-20ef46b7dafb", - "source_type": "biomaterial", - "destination_id": "85d59af7-3964-4a7b-8b3e-6df147bc1722", - "destination_type": "dissociation_process" - }, - { - "source_id": "85d59af7-3964-4a7b-8b3e-6df147bc1722", - "source_type": "dissociation_process", - "destination_id": "4e622963-4ed0-4cea-83fd-ca911f1f97e9", - "destination_type": "biomaterial" - }, - { - "source_id": "85d59af7-3964-4a7b-8b3e-6df147bc1722", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "fa2d3e8d-2ba5-4b69-902d-43b184458f11", - "source_type": "process", - "destination_id": "6066f257-dbee-41a2-b15e-20ef46b7dafb", - "destination_type": "biomaterial" - }, - { - "source_id": "50df319c-ce04-45d3-bf61-72017700f4c7", - "source_type": "biomaterial", - "destination_id": "fa2d3e8d-2ba5-4b69-902d-43b184458f11", - "destination_type": "process" - }, - { - "source_id": "cf29eee2-54b5-45aa-babb-09403848c5a4", - "source_type": "biomaterial", - "destination_id": "4e475c02-d356-41d3-9841-385c41b3ff03", - "destination_type": "dissociation_process" - }, - { - "source_id": "4e475c02-d356-41d3-9841-385c41b3ff03", - "source_type": "dissociation_process", - "destination_id": "aa8d1086-deb2-472c-833a-9b70cee333af", - "destination_type": "biomaterial" - }, - { - "source_id": "4e475c02-d356-41d3-9841-385c41b3ff03", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "036c253c-6291-45fb-b576-fc0b409d31ba", - "source_type": "process", - "destination_id": "cf29eee2-54b5-45aa-babb-09403848c5a4", - "destination_type": "biomaterial" - }, - { - "source_id": "dc6819c9-6df9-4028-9a27-d4b4051475ae", - "source_type": "biomaterial", - "destination_id": "036c253c-6291-45fb-b576-fc0b409d31ba", - "destination_type": "process" - }, - { - "source_id": "62fdfbf1-0b7c-4501-833e-c5af52aafa43", - "source_type": "biomaterial", - "destination_id": "0768a4f7-4f01-4c12-a3cf-2d785caca462", - "destination_type": "dissociation_process" - }, - { - "source_id": "0768a4f7-4f01-4c12-a3cf-2d785caca462", - "source_type": "dissociation_process", - "destination_id": "e028d408-a455-4130-8f44-c0dbb78b0241", - "destination_type": "biomaterial" - }, - { - "source_id": "0768a4f7-4f01-4c12-a3cf-2d785caca462", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "143b36e8-1817-4d71-93ef-cf34bd3ea260", - "source_type": "process", - "destination_id": "62fdfbf1-0b7c-4501-833e-c5af52aafa43", - "destination_type": "biomaterial" - }, - { - "source_id": "db47eeb1-619b-4b97-b5a6-f7e8c7b316aa", - "source_type": "biomaterial", - "destination_id": "143b36e8-1817-4d71-93ef-cf34bd3ea260", - "destination_type": "process" - }, - { - "source_id": "64a0fc9e-2711-4b2e-9c45-b17b53720a80", - "source_type": "biomaterial", - "destination_id": "c2337757-6b6d-450b-9323-e1096aac8a8a", - "destination_type": "dissociation_process" - }, - { - "source_id": "c2337757-6b6d-450b-9323-e1096aac8a8a", - "source_type": "dissociation_process", - "destination_id": "0752477b-c5d3-4b2d-86fd-96014a9b7a90", - "destination_type": "biomaterial" - }, - { - "source_id": "c2337757-6b6d-450b-9323-e1096aac8a8a", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "460d08b2-db32-4f65-9c19-37b46170df7d", - "source_type": "process", - "destination_id": "64a0fc9e-2711-4b2e-9c45-b17b53720a80", - "destination_type": "biomaterial" - }, - { - "source_id": "50df319c-ce04-45d3-bf61-72017700f4c7", - "source_type": "biomaterial", - "destination_id": "460d08b2-db32-4f65-9c19-37b46170df7d", - "destination_type": "process" - }, - { - "source_id": "1e76f915-3132-42c0-b045-54383ab9a567", - "source_type": "biomaterial", - "destination_id": "eec9006d-d288-4311-806f-35a155cdf4fd", - "destination_type": "dissociation_process" - }, - { - "source_id": "eec9006d-d288-4311-806f-35a155cdf4fd", - "source_type": "dissociation_process", - "destination_id": "e53b4144-5944-4b49-8631-0a28839abba4", - "destination_type": "biomaterial" - }, - { - "source_id": "eec9006d-d288-4311-806f-35a155cdf4fd", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "8a307f43-db3b-41de-8ef2-78f94c63353b", - "source_type": "process", - "destination_id": "1e76f915-3132-42c0-b045-54383ab9a567", - "destination_type": "biomaterial" - }, - { - "source_id": "314393db-9a5f-45f8-95e3-cafb4006484c", - "source_type": "biomaterial", - "destination_id": "8a307f43-db3b-41de-8ef2-78f94c63353b", - "destination_type": "process" - }, - { - "source_id": "88d9377c-e94a-4e8c-b458-2ab45e27327f", - "source_type": "biomaterial", - "destination_id": "9948f709-25ff-4e0c-89a7-e95260f97349", - "destination_type": "dissociation_process" - }, - { - "source_id": "9948f709-25ff-4e0c-89a7-e95260f97349", - "source_type": "dissociation_process", - "destination_id": "4020c8ee-d0b1-4ad6-9f48-38847ec831be", - "destination_type": "biomaterial" - }, - { - "source_id": "9948f709-25ff-4e0c-89a7-e95260f97349", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "24b49306-6de0-4312-b7c6-ca59ba5c0240", - "source_type": "process", - "destination_id": "88d9377c-e94a-4e8c-b458-2ab45e27327f", - "destination_type": "biomaterial" - }, - { - "source_id": "db47eeb1-619b-4b97-b5a6-f7e8c7b316aa", - "source_type": "biomaterial", - "destination_id": "24b49306-6de0-4312-b7c6-ca59ba5c0240", - "destination_type": "process" - }, - { - "source_id": "fa24dc24-72b4-437e-af38-4d8abf652607", - "source_type": "biomaterial", - "destination_id": "5b9516d2-dc9a-437e-ac75-2a17e131557a", - "destination_type": "dissociation_process" - }, - { - "source_id": "5b9516d2-dc9a-437e-ac75-2a17e131557a", - "source_type": "dissociation_process", - "destination_id": "2953004c-75af-42ca-a51b-2b1ad087cd2e", - "destination_type": "biomaterial" - }, - { - "source_id": "5b9516d2-dc9a-437e-ac75-2a17e131557a", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "a386d9df-39d1-4bbb-bd3f-5e0f1ff2c061", - "source_type": "process", - "destination_id": "fa24dc24-72b4-437e-af38-4d8abf652607", - "destination_type": "biomaterial" - }, - { - "source_id": "dc6819c9-6df9-4028-9a27-d4b4051475ae", - "source_type": "biomaterial", - "destination_id": "a386d9df-39d1-4bbb-bd3f-5e0f1ff2c061", - "destination_type": "process" - }, - { - "source_id": "d337b058-6be1-4863-af94-5cf305ed6265", - "source_type": "biomaterial", - "destination_id": "7c156764-c910-4e89-9845-a2dbe567a60a", - "destination_type": "dissociation_process" - }, - { - "source_id": "7c156764-c910-4e89-9845-a2dbe567a60a", - "source_type": "dissociation_process", - "destination_id": "f85928ba-9408-4910-b872-ff27e2d08cfb", - "destination_type": "biomaterial" - }, - { - "source_id": "7c156764-c910-4e89-9845-a2dbe567a60a", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "9da0296c-d378-4ad4-94c7-d359fa7433d1", - "source_type": "process", - "destination_id": "d337b058-6be1-4863-af94-5cf305ed6265", - "destination_type": "biomaterial" - }, - { - "source_id": "db47eeb1-619b-4b97-b5a6-f7e8c7b316aa", - "source_type": "biomaterial", - "destination_id": "9da0296c-d378-4ad4-94c7-d359fa7433d1", - "destination_type": "process" - }, - { - "source_id": "daafc341-9439-431c-b6b4-f89f56be3f68", - "source_type": "biomaterial", - "destination_id": "029b7cf1-c7f8-4f0a-b20d-35c8158f64a6", - "destination_type": "dissociation_process" - }, - { - "source_id": "029b7cf1-c7f8-4f0a-b20d-35c8158f64a6", - "source_type": "dissociation_process", - "destination_id": "e7a5e4c2-a800-44f2-92dd-9f8d44738706", - "destination_type": "biomaterial" - }, - { - "source_id": "029b7cf1-c7f8-4f0a-b20d-35c8158f64a6", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "c534bfdb-4b99-45ca-8bd9-e21ff354e988", - "source_type": "process", - "destination_id": "daafc341-9439-431c-b6b4-f89f56be3f68", - "destination_type": "biomaterial" - }, - { - "source_id": "dc6819c9-6df9-4028-9a27-d4b4051475ae", - "source_type": "biomaterial", - "destination_id": "c534bfdb-4b99-45ca-8bd9-e21ff354e988", - "destination_type": "process" - }, - { - "source_id": "81bdd959-6a0c-45e8-a95f-9e94362ac234", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "8a5f6526-b075-4dc6-911a-094c9e9df5b8", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "572da738-8893-43d6-b437-97b57372f0aa", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "71736a6a-0d29-4abe-a0d8-c2cb9d8b010d", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "44346960-0ad4-4a30-bbfe-06353cde8f93", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "6f88495f-2ae4-432a-a539-da0d4ffba654", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "72fce6b8-9f90-4e20-9a3a-1648647d1249", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "ead1ae86-f0ef-4f78-872d-939d6da81668", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "8b15396e-4b2c-4acd-9a17-503a83e4202b", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "2917ffc8-a755-4dac-8138-1bf2be845ada", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "88d3493b-96f9-4d1d-9188-9d05c0a93acc", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "bd155232-8891-4971-b69f-7cc033b07274", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "bc66bf2f-e9cc-4d58-8a5b-029f0f4454a3", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "c09e0a3d-1a93-4637-86ea-39e5d23a1752", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "a86bcf71-d42f-4266-b646-988d2b7c7dbb", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "9da73948-fe14-496d-a110-0df327507937", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "baf9d068-e427-47fc-b753-173614eca3e0", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "823b3a90-710b-4475-8fc6-adfa6a7ded16", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "7a05391e-b62c-49ff-a735-978a4b9d2346", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "eeebb4a8-7674-47a9-8273-c968a6683cb9", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "c973d08a-1cc7-42aa-aad5-e5aa1628d5ff", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "61192824-ee22-4a17-9515-599e208a249a", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "85b04bdc-07c0-41a2-87ba-e61bee1bff3a", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "4e622963-4ed0-4cea-83fd-ca911f1f97e9", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "aa8d1086-deb2-472c-833a-9b70cee333af", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "e028d408-a455-4130-8f44-c0dbb78b0241", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "0752477b-c5d3-4b2d-86fd-96014a9b7a90", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "e53b4144-5944-4b49-8631-0a28839abba4", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "4020c8ee-d0b1-4ad6-9f48-38847ec831be", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "2953004c-75af-42ca-a51b-2b1ad087cd2e", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "f85928ba-9408-4910-b872-ff27e2d08cfb", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "e7a5e4c2-a800-44f2-92dd-9f8d44738706", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e933a3ca-1820-4812-84e5-7aeff871e161", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5f91ca55-71c3-4942-9be1-1a88e6b5417a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "af23f4dc-8342-41f1-a6aa-29d94f1abcb1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "94963c37-2c09-4e55-b864-a4579d7e2b4a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cec9c639-6e88-45be-8e15-423928eaca7f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "72057d86-405e-461a-af7f-344ae067bff7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c19ea130-6c56-4798-88dd-f7dff5aaf0c0", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "951e9c14-d91d-4f77-af22-10bc767a0c4e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2c309500-dfed-40aa-9a1c-41c0990430b5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "af379215-0568-45c0-8e6e-45f684b5d486", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0f3a69db-6ad6-4217-9899-eaa8f7e57b33", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c23dcd53-9421-43f8-b7aa-8aedfdef42b8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b8de328c-cd23-4275-9d91-9c15aaedecac", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c6a9ec31-3bf4-4c79-8678-002e96df86be", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "aac815db-2c5f-482b-ae06-706c050854b9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e829a452-6a60-4bb6-b860-d171ab780676", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4c0876d7-220f-47cc-841c-7269bc24c014", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "102a709a-68c8-4510-b531-4c6995bc600a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f32724bc-56e9-42c0-8410-becfe8f63dcd", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2ba39558-505b-4dce-b3d4-1256027935ce", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "41e83755-02eb-4823-8771-3021f879ad6a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9641c4d4-4611-462c-bba1-c74bdc0634fd", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "09171dfe-fadc-487c-b18e-a6e02c6d46ba", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "036853ea-da68-4899-917a-ffc83fc05c9e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cf561267-e185-4e7d-9bd8-28b6dc091015", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ad3b081b-2f62-44bd-ba24-3042632e4e56", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7a2f30f6-5827-4df3-ba74-268c602098cc", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9186f1cb-68e5-4c83-b655-8ad69078cb45", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "82fd9af5-44ad-4e99-afef-01e6ad52c558", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c8702058-1e5c-48e9-a1ac-d296478e7218", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c27b7f86-1a00-4eab-8267-1c138b5e37f6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "93c5298f-0d6b-4efd-be2c-facce5e99116", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0e0e0209-9277-4904-b38d-ef2a97ba2773", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ff26a0bf-c2ef-4041-b96a-6c87e64a5c30", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "696dd672-ab4a-4649-b070-eb81e24c176b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0144a3a8-735d-4ff5-86c8-d1c9ce715ffb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b877aa35-fc46-40b9-8869-bd717f9465db", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "77a2f75f-5e6f-4f9d-b88e-237645464293", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "88883f8c-4659-40a4-b5df-f37bca5183ba", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2755ced4-c7a8-4380-a7c3-3969e9bea68a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a220f337-0700-49cb-837c-cc569991c0e2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7f143ce8-8f68-4792-afc1-c7340e40a726", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5eff87dc-5772-4229-ae7c-cfde6a348479", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a501f218-24cb-4484-b52a-2a6a7d88ae82", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3e991891-afa1-4f55-8f54-55faef83fb6e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "467e06e0-34e5-42bc-b647-72402e919357", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8ed5ae60-8b4f-43c7-8474-055d4a98238c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9a90a5c8-205a-4b1d-80dc-01bdcf3fa4f4", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "88018608-c4b1-4ec9-abc1-d8940a604397", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e6b13e6a-e1de-4e97-b788-7c136304ed29", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f97819ce-eda6-4f8b-829d-189d1cb28000", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "481d7c49-8b4a-42ca-b4fd-021cf71cbc15", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6f2e3c9b-3393-455f-8b8d-5551bc5e2f44", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b12850d5-277a-4c50-a16a-2ea0ef0e038a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "edfc2355-865b-4b05-8bd5-816907acca07", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a52ab81e-2a9c-4a44-b80b-6805e544d4d8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "16032735-00f3-4882-afc2-2976e8c5824e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "588b80b6-1bac-4e59-a5af-d85d7ea78102", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3f06d139-019a-46e0-b8b0-84b95d37e12f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1486fa5d-3e27-4942-baa6-e8b3db1b09c4", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "372e7758-4e0f-40d1-ae3e-727c085a28a1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "67b1b9d3-c105-4769-be59-9f6161658d47", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "17d0d51a-1c8b-4970-a257-3b5a89054c73", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e6d7ead7-8e3c-437d-9d4d-f46bedf11c22", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cc029b5c-fb59-4519-aeaa-817ee15d356d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "578890ad-325d-4081-b033-edd7cb3c221a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d0c73976-8025-46ec-ae91-37b71f73556f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "83e849b9-8881-47af-bf05-788977ad09c3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "54bf0b5a-eac1-40eb-8507-162234918804", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3d7a9131-8ca5-4f5e-a270-766965f3b2de", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "78ec0998-8fb4-4e96-bce4-c1894f6c2e5d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a62f271c-da08-4d9b-beea-f938269aa9be", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0f5c3663-1ff2-4bff-9193-1548044e3b09", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0b5314d1-b61f-4b37-88df-3c2c732a8f56", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1bf928a1-cc12-442e-bd8a-18dd7de1856e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4eb12302-6a01-4f2d-86cb-3eea398d7e52", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f47923b9-561c-444c-8b18-ea8c1d4bf75d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "50dc47b1-593b-4db3-9d85-063050ffa229", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "231bcda9-3ff6-4f9a-9be5-d6dbfbe3727f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cd348ba7-51d0-4ab9-b931-e6e57d7b087d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a2d2c193-09e6-402b-a58c-087ce32f37b6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e310f0db-3e59-4339-8fc0-6322ba946dd9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5954f3de-45ed-4fe0-bfe7-33be4387d6f8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1ed09e98-a078-4f9d-8bac-99fc824ab753", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "86c9f8f0-021a-4899-83ad-09e6f1562fb2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7daf7d79-524d-49af-8036-a4004a111ed3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4c45fc75-b4e8-41c6-900d-e9c491f50e17", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d0ef4648-0237-4c64-b124-b70b17d8099e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e201faf7-02da-4703-a891-766c6add57f9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cdc11d35-c34c-4095-bace-efc01830763a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "97aa5b24-7f19-4b99-9473-cf2518cd6f03", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "98eca6b9-2864-4a67-85be-763e09456917", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "49ad6c64-1828-4bc6-833f-e05dec7e74f1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a3400fe9-c31e-4f0c-8fc2-271d39be2123", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8f123f8d-3cb5-43d4-b1bb-672c8b738744", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ba60167c-4068-495c-b5b1-950348dc3ad5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "61564fb3-4124-4096-a619-276f3b38e26e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "05a27843-3e71-480a-b4df-c4fe28bb413f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2688d153-e042-41b1-a48e-8839fd4aaf0e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "95dde0cf-5f38-41a9-a36f-5d90b91509c0", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5d1f5a28-6f21-4f98-81ff-8c7a2d07de91", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "358bed4b-61fd-43d7-95f6-3f1a102b6cc6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b17ae237-1f81-4842-8d4e-bf8e4c96e560", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8c502d9e-2105-4d00-987d-759e583af7c5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5aeade96-9fbf-4ec9-bd03-73e6c9b9a99a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c9ac8c94-0cbf-48e7-84a9-e0c0bf34552f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bf162c91-0da4-4ce4-ab98-7a3d7a443759", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "08075c2f-8120-4ebe-aeff-7dee2699dd84", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "29cb8048-30cd-429f-9b87-9a021b0b5c57", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "75fe63d4-8541-4b8c-aacc-796fc907fa52", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0e79ef66-2922-4089-b812-451364420af9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "63ef4ec3-73f1-4ee8-b392-45293f36cf3d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bc729d18-4926-4cbb-b289-b973a3f76093", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1c0c54cc-bfc8-42be-8cd2-ae57910ac1e5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5ba381b3-fdc7-4551-a1bd-767100529e4f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "195d7ba8-31b7-4cdc-bd99-6cf0dcd68ed2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7bdae9af-9ece-44c7-816b-abdf3ef629be", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "10268a25-2d4a-48e3-a322-08c1b7988375", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4f98df5f-a259-44c7-9007-6bb89417c6c2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "73934c9a-041e-4ac3-81fe-cbaee7972d5c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6be5c831-1e65-4314-a4a0-e40d7f17bad1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f43216e3-4d6c-4eac-a8ec-5f020a8ff700", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f85d5d78-7255-45b9-becf-79173199f54d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "345b2f3d-570f-4450-9f99-2408311820c0", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c7b03a29-ddbf-4c3c-b837-24453e4b9a16", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e52ead2d-7eb4-4dc3-9eb7-f1e6c3b86c72", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "01a566c6-ab81-4a35-9d8c-3631fadc7ef7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7209368d-725a-442d-bf79-4a4408ce0843", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e7a83e57-1751-4484-982b-d7f635491728", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0622a845-6109-4c1a-bf60-aa1d47d23799", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b2d5ff76-941a-4e98-8636-3d530d1e7b63", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "10290214-f084-472e-82bd-9a2b29cdc2d5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "874303e0-a9e9-4c0d-8aba-4d280bacc661", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a8d5b273-9a5f-4071-97be-305fc4bbbe6c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "43f5a634-dc82-4099-9b89-221e04ffc981", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7b802c7f-1bcc-41a0-ad22-bd8d2f91ad0d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6e67ea1f-e553-4301-9647-237c23af06a0", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "16a57933-11e5-4852-93a0-805e0433b2dd", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a9f7d170-b971-4444-94ee-477ca3b5ef75", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8a4df56a-6e6a-415c-9347-69f010e6767b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4d4bc5c5-e07a-4c31-a797-3d3159b42f9a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "da470794-0fc6-453d-a166-fc8c3bf9ce8c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c0cb01fa-e9cd-4df9-8f5f-4199cf29c134", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2cb2bdf0-d7ac-4480-8031-f4c82edf4431", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "61079973-c1c2-43a1-bb8a-1fcd53ba28b9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b1d42bb4-602c-488f-a519-efe483780513", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8652979a-490c-4ef4-a8a5-49aff43696ef", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "00df0394-0487-4144-9c35-39d741045981", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "27cf1dfd-e692-45ba-8416-4a36ebde3bf7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7968ac17-7547-4817-b97a-d7af390f3c13", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "39516b72-5dd2-4d59-99fd-e21c1ecd13a8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "337686df-d6a4-4294-af00-242293302662", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8ad1ce1c-af56-40c5-b139-bb19fbc7fe20", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "53c4a13a-6462-4825-a729-8f6792b6f5c2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1ef49c16-4142-4569-8623-d46b11a0358a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8dcfc18a-0095-4328-a00a-eed229e76d6e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d4da1a64-288f-42a7-b59f-1252846b61c5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ae247bd4-093d-4897-96e9-6fa5a6bdf815", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e817a985-00a6-4a89-99c0-0d1f9726ddf1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9888d80c-aee4-4e18-b8e9-582e064a168c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c6f48167-26ae-4361-8a00-16245e26c6e6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4d547634-951e-44ad-9259-a7d9ca2d7658", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e5337ffe-3c97-457a-9566-13ed907751c4", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "552edbc3-a7d8-4478-ad7a-57b154693d6a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "de1c2807-ae40-4ed1-b306-1e3714cb6778", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a9699776-1b44-4f90-b996-2eaeb8785a7a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9f09671a-d4c1-4126-9c8d-933e520b95ce", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "064a2cdf-18fb-4039-9faf-9bc55bfe0b81", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "83dfe703-284a-474c-b4e8-f4bde26a010f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2a2f3468-2a59-4893-a1c2-3df6fa33a8bf", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "dd0248e8-78f2-4b26-b6f0-cefe1dda95cb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "325e58bd-5f19-47fd-9231-12d1bbb19fb8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4540953b-ff03-4cda-9f06-75093a81b26f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2eb84d9b-04d0-49d7-99ab-8e209590631b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "21e743eb-f83e-428b-96af-8d6182610e0a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8a8398e9-7b04-4c33-b9e8-408f0cf945f3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "61884059-5d5f-41ce-b01f-6f22a326b1c9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "43a087b6-ec8a-467f-a10f-e630f471174f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f1f55462-4542-41d9-9709-e88cc8723e2d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c5670f08-2903-4b0e-9af4-6695558765bb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8089569e-ad43-4ed8-80b5-d2e36b890aa3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c0b50eb0-f38a-4102-ae11-355adc3a9753", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "df8f2e4e-f1b5-4125-9324-67fd7df95d66", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c38a31ea-3e15-4f0d-ba20-0a8c14c320d0", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ec749311-5dd2-4cd6-a2fc-8f072d614bb5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5c07823c-b8ed-4328-8f89-2073c4a5b50d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5d786269-d4ce-423a-8238-a15a4bb72ea3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "37aaf22e-e553-4d7e-86f0-2cfebb7cf3fb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8c9b34e3-97f6-4808-9c9d-f59a1bcdad6e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a519a47c-c53c-4cd2-94e1-8fac73a5f434", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e4dc1bd7-d8b6-4820-96b6-9f64547685d1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "edb92ba9-449b-4d51-a638-22e26a5d471e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "81b97ec1-f68c-4d69-be78-50d1aad7bbef", - "destination_type": "protocol" - }, - { - "source_id": "81bdd959-6a0c-45e8-a95f-9e94362ac234", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "8a5f6526-b075-4dc6-911a-094c9e9df5b8", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "572da738-8893-43d6-b437-97b57372f0aa", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "71736a6a-0d29-4abe-a0d8-c2cb9d8b010d", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "44346960-0ad4-4a30-bbfe-06353cde8f93", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "6f88495f-2ae4-432a-a539-da0d4ffba654", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "72fce6b8-9f90-4e20-9a3a-1648647d1249", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "ead1ae86-f0ef-4f78-872d-939d6da81668", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "8b15396e-4b2c-4acd-9a17-503a83e4202b", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "2917ffc8-a755-4dac-8138-1bf2be845ada", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "88d3493b-96f9-4d1d-9188-9d05c0a93acc", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "bd155232-8891-4971-b69f-7cc033b07274", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "bc66bf2f-e9cc-4d58-8a5b-029f0f4454a3", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "c09e0a3d-1a93-4637-86ea-39e5d23a1752", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "a86bcf71-d42f-4266-b646-988d2b7c7dbb", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "9da73948-fe14-496d-a110-0df327507937", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "baf9d068-e427-47fc-b753-173614eca3e0", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "823b3a90-710b-4475-8fc6-adfa6a7ded16", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "7a05391e-b62c-49ff-a735-978a4b9d2346", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "eeebb4a8-7674-47a9-8273-c968a6683cb9", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "c973d08a-1cc7-42aa-aad5-e5aa1628d5ff", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "61192824-ee22-4a17-9515-599e208a249a", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "85b04bdc-07c0-41a2-87ba-e61bee1bff3a", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "4e622963-4ed0-4cea-83fd-ca911f1f97e9", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "aa8d1086-deb2-472c-833a-9b70cee333af", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "e028d408-a455-4130-8f44-c0dbb78b0241", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "0752477b-c5d3-4b2d-86fd-96014a9b7a90", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "e53b4144-5944-4b49-8631-0a28839abba4", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "4020c8ee-d0b1-4ad6-9f48-38847ec831be", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "2953004c-75af-42ca-a51b-2b1ad087cd2e", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "f85928ba-9408-4910-b872-ff27e2d08cfb", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "e7a5e4c2-a800-44f2-92dd-9f8d44738706", - "source_type": "biomaterial", - "destination_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "destination_type": "sequencing_process" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "e933a3ca-1820-4812-84e5-7aeff871e161", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "5f91ca55-71c3-4942-9be1-1a88e6b5417a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "af23f4dc-8342-41f1-a6aa-29d94f1abcb1", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "94963c37-2c09-4e55-b864-a4579d7e2b4a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "cec9c639-6e88-45be-8e15-423928eaca7f", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "72057d86-405e-461a-af7f-344ae067bff7", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "c19ea130-6c56-4798-88dd-f7dff5aaf0c0", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "951e9c14-d91d-4f77-af22-10bc767a0c4e", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "2c309500-dfed-40aa-9a1c-41c0990430b5", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "af379215-0568-45c0-8e6e-45f684b5d486", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "0f3a69db-6ad6-4217-9899-eaa8f7e57b33", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "c23dcd53-9421-43f8-b7aa-8aedfdef42b8", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "b8de328c-cd23-4275-9d91-9c15aaedecac", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "c6a9ec31-3bf4-4c79-8678-002e96df86be", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "aac815db-2c5f-482b-ae06-706c050854b9", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "e829a452-6a60-4bb6-b860-d171ab780676", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "4c0876d7-220f-47cc-841c-7269bc24c014", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "102a709a-68c8-4510-b531-4c6995bc600a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "f32724bc-56e9-42c0-8410-becfe8f63dcd", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "2ba39558-505b-4dce-b3d4-1256027935ce", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "41e83755-02eb-4823-8771-3021f879ad6a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "9641c4d4-4611-462c-bba1-c74bdc0634fd", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "09171dfe-fadc-487c-b18e-a6e02c6d46ba", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "036853ea-da68-4899-917a-ffc83fc05c9e", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "cf561267-e185-4e7d-9bd8-28b6dc091015", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "ad3b081b-2f62-44bd-ba24-3042632e4e56", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "7a2f30f6-5827-4df3-ba74-268c602098cc", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "9186f1cb-68e5-4c83-b655-8ad69078cb45", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "82fd9af5-44ad-4e99-afef-01e6ad52c558", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "c8702058-1e5c-48e9-a1ac-d296478e7218", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "c27b7f86-1a00-4eab-8267-1c138b5e37f6", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "93c5298f-0d6b-4efd-be2c-facce5e99116", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "0e0e0209-9277-4904-b38d-ef2a97ba2773", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "ff26a0bf-c2ef-4041-b96a-6c87e64a5c30", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "696dd672-ab4a-4649-b070-eb81e24c176b", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "0144a3a8-735d-4ff5-86c8-d1c9ce715ffb", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "b877aa35-fc46-40b9-8869-bd717f9465db", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "77a2f75f-5e6f-4f9d-b88e-237645464293", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "88883f8c-4659-40a4-b5df-f37bca5183ba", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "2755ced4-c7a8-4380-a7c3-3969e9bea68a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "a220f337-0700-49cb-837c-cc569991c0e2", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "7f143ce8-8f68-4792-afc1-c7340e40a726", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "5eff87dc-5772-4229-ae7c-cfde6a348479", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "a501f218-24cb-4484-b52a-2a6a7d88ae82", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "3e991891-afa1-4f55-8f54-55faef83fb6e", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "467e06e0-34e5-42bc-b647-72402e919357", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "8ed5ae60-8b4f-43c7-8474-055d4a98238c", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "9a90a5c8-205a-4b1d-80dc-01bdcf3fa4f4", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "88018608-c4b1-4ec9-abc1-d8940a604397", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "e6b13e6a-e1de-4e97-b788-7c136304ed29", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "f97819ce-eda6-4f8b-829d-189d1cb28000", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "481d7c49-8b4a-42ca-b4fd-021cf71cbc15", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "6f2e3c9b-3393-455f-8b8d-5551bc5e2f44", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "b12850d5-277a-4c50-a16a-2ea0ef0e038a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "edfc2355-865b-4b05-8bd5-816907acca07", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "a52ab81e-2a9c-4a44-b80b-6805e544d4d8", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "16032735-00f3-4882-afc2-2976e8c5824e", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "588b80b6-1bac-4e59-a5af-d85d7ea78102", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "3f06d139-019a-46e0-b8b0-84b95d37e12f", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "1486fa5d-3e27-4942-baa6-e8b3db1b09c4", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "372e7758-4e0f-40d1-ae3e-727c085a28a1", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "67b1b9d3-c105-4769-be59-9f6161658d47", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "17d0d51a-1c8b-4970-a257-3b5a89054c73", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "e6d7ead7-8e3c-437d-9d4d-f46bedf11c22", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "cc029b5c-fb59-4519-aeaa-817ee15d356d", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "578890ad-325d-4081-b033-edd7cb3c221a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "d0c73976-8025-46ec-ae91-37b71f73556f", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "83e849b9-8881-47af-bf05-788977ad09c3", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "54bf0b5a-eac1-40eb-8507-162234918804", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "3d7a9131-8ca5-4f5e-a270-766965f3b2de", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "78ec0998-8fb4-4e96-bce4-c1894f6c2e5d", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "a62f271c-da08-4d9b-beea-f938269aa9be", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "0f5c3663-1ff2-4bff-9193-1548044e3b09", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "0b5314d1-b61f-4b37-88df-3c2c732a8f56", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "1bf928a1-cc12-442e-bd8a-18dd7de1856e", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "4eb12302-6a01-4f2d-86cb-3eea398d7e52", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "f47923b9-561c-444c-8b18-ea8c1d4bf75d", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "50dc47b1-593b-4db3-9d85-063050ffa229", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "231bcda9-3ff6-4f9a-9be5-d6dbfbe3727f", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "cd348ba7-51d0-4ab9-b931-e6e57d7b087d", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "a2d2c193-09e6-402b-a58c-087ce32f37b6", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "e310f0db-3e59-4339-8fc0-6322ba946dd9", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "5954f3de-45ed-4fe0-bfe7-33be4387d6f8", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "1ed09e98-a078-4f9d-8bac-99fc824ab753", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "86c9f8f0-021a-4899-83ad-09e6f1562fb2", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "7daf7d79-524d-49af-8036-a4004a111ed3", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "4c45fc75-b4e8-41c6-900d-e9c491f50e17", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "d0ef4648-0237-4c64-b124-b70b17d8099e", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "e201faf7-02da-4703-a891-766c6add57f9", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "cdc11d35-c34c-4095-bace-efc01830763a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "97aa5b24-7f19-4b99-9473-cf2518cd6f03", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "98eca6b9-2864-4a67-85be-763e09456917", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "49ad6c64-1828-4bc6-833f-e05dec7e74f1", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "a3400fe9-c31e-4f0c-8fc2-271d39be2123", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "8f123f8d-3cb5-43d4-b1bb-672c8b738744", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "ba60167c-4068-495c-b5b1-950348dc3ad5", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "61564fb3-4124-4096-a619-276f3b38e26e", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "05a27843-3e71-480a-b4df-c4fe28bb413f", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "2688d153-e042-41b1-a48e-8839fd4aaf0e", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "95dde0cf-5f38-41a9-a36f-5d90b91509c0", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "5d1f5a28-6f21-4f98-81ff-8c7a2d07de91", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "358bed4b-61fd-43d7-95f6-3f1a102b6cc6", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "b17ae237-1f81-4842-8d4e-bf8e4c96e560", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "8c502d9e-2105-4d00-987d-759e583af7c5", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "5aeade96-9fbf-4ec9-bd03-73e6c9b9a99a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "c9ac8c94-0cbf-48e7-84a9-e0c0bf34552f", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "bf162c91-0da4-4ce4-ab98-7a3d7a443759", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "08075c2f-8120-4ebe-aeff-7dee2699dd84", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "29cb8048-30cd-429f-9b87-9a021b0b5c57", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "75fe63d4-8541-4b8c-aacc-796fc907fa52", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "0e79ef66-2922-4089-b812-451364420af9", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "63ef4ec3-73f1-4ee8-b392-45293f36cf3d", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "bc729d18-4926-4cbb-b289-b973a3f76093", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "1c0c54cc-bfc8-42be-8cd2-ae57910ac1e5", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "5ba381b3-fdc7-4551-a1bd-767100529e4f", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "195d7ba8-31b7-4cdc-bd99-6cf0dcd68ed2", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "7bdae9af-9ece-44c7-816b-abdf3ef629be", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "10268a25-2d4a-48e3-a322-08c1b7988375", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "4f98df5f-a259-44c7-9007-6bb89417c6c2", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "73934c9a-041e-4ac3-81fe-cbaee7972d5c", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "6be5c831-1e65-4314-a4a0-e40d7f17bad1", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "f43216e3-4d6c-4eac-a8ec-5f020a8ff700", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "f85d5d78-7255-45b9-becf-79173199f54d", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "345b2f3d-570f-4450-9f99-2408311820c0", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "c7b03a29-ddbf-4c3c-b837-24453e4b9a16", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "e52ead2d-7eb4-4dc3-9eb7-f1e6c3b86c72", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "01a566c6-ab81-4a35-9d8c-3631fadc7ef7", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "7209368d-725a-442d-bf79-4a4408ce0843", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "e7a83e57-1751-4484-982b-d7f635491728", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "0622a845-6109-4c1a-bf60-aa1d47d23799", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "b2d5ff76-941a-4e98-8636-3d530d1e7b63", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "10290214-f084-472e-82bd-9a2b29cdc2d5", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "874303e0-a9e9-4c0d-8aba-4d280bacc661", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "a8d5b273-9a5f-4071-97be-305fc4bbbe6c", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "43f5a634-dc82-4099-9b89-221e04ffc981", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "7b802c7f-1bcc-41a0-ad22-bd8d2f91ad0d", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "6e67ea1f-e553-4301-9647-237c23af06a0", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "16a57933-11e5-4852-93a0-805e0433b2dd", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "a9f7d170-b971-4444-94ee-477ca3b5ef75", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "8a4df56a-6e6a-415c-9347-69f010e6767b", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "4d4bc5c5-e07a-4c31-a797-3d3159b42f9a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "da470794-0fc6-453d-a166-fc8c3bf9ce8c", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "c0cb01fa-e9cd-4df9-8f5f-4199cf29c134", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "2cb2bdf0-d7ac-4480-8031-f4c82edf4431", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "61079973-c1c2-43a1-bb8a-1fcd53ba28b9", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "b1d42bb4-602c-488f-a519-efe483780513", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "8652979a-490c-4ef4-a8a5-49aff43696ef", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "00df0394-0487-4144-9c35-39d741045981", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "27cf1dfd-e692-45ba-8416-4a36ebde3bf7", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "7968ac17-7547-4817-b97a-d7af390f3c13", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "39516b72-5dd2-4d59-99fd-e21c1ecd13a8", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "337686df-d6a4-4294-af00-242293302662", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "8ad1ce1c-af56-40c5-b139-bb19fbc7fe20", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "53c4a13a-6462-4825-a729-8f6792b6f5c2", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "1ef49c16-4142-4569-8623-d46b11a0358a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "8dcfc18a-0095-4328-a00a-eed229e76d6e", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "d4da1a64-288f-42a7-b59f-1252846b61c5", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "ae247bd4-093d-4897-96e9-6fa5a6bdf815", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "e817a985-00a6-4a89-99c0-0d1f9726ddf1", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "9888d80c-aee4-4e18-b8e9-582e064a168c", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "c6f48167-26ae-4361-8a00-16245e26c6e6", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "4d547634-951e-44ad-9259-a7d9ca2d7658", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "e5337ffe-3c97-457a-9566-13ed907751c4", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "552edbc3-a7d8-4478-ad7a-57b154693d6a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "de1c2807-ae40-4ed1-b306-1e3714cb6778", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "a9699776-1b44-4f90-b996-2eaeb8785a7a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "9f09671a-d4c1-4126-9c8d-933e520b95ce", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "064a2cdf-18fb-4039-9faf-9bc55bfe0b81", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "83dfe703-284a-474c-b4e8-f4bde26a010f", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "2a2f3468-2a59-4893-a1c2-3df6fa33a8bf", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "dd0248e8-78f2-4b26-b6f0-cefe1dda95cb", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "325e58bd-5f19-47fd-9231-12d1bbb19fb8", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "4540953b-ff03-4cda-9f06-75093a81b26f", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "2eb84d9b-04d0-49d7-99ab-8e209590631b", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "21e743eb-f83e-428b-96af-8d6182610e0a", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "8a8398e9-7b04-4c33-b9e8-408f0cf945f3", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "61884059-5d5f-41ce-b01f-6f22a326b1c9", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "43a087b6-ec8a-467f-a10f-e630f471174f", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "f1f55462-4542-41d9-9709-e88cc8723e2d", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "c5670f08-2903-4b0e-9af4-6695558765bb", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "8089569e-ad43-4ed8-80b5-d2e36b890aa3", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "c0b50eb0-f38a-4102-ae11-355adc3a9753", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "df8f2e4e-f1b5-4125-9324-67fd7df95d66", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "c38a31ea-3e15-4f0d-ba20-0a8c14c320d0", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "ec749311-5dd2-4cd6-a2fc-8f072d614bb5", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "5c07823c-b8ed-4328-8f89-2073c4a5b50d", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "5d786269-d4ce-423a-8238-a15a4bb72ea3", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "37aaf22e-e553-4d7e-86f0-2cfebb7cf3fb", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "8c9b34e3-97f6-4808-9c9d-f59a1bcdad6e", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "a519a47c-c53c-4cd2-94e1-8fac73a5f434", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "e4dc1bd7-d8b6-4820-96b6-9f64547685d1", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "edb92ba9-449b-4d51-a638-22e26a5d471e", - "destination_type": "file" - }, - { - "source_id": "05e446a2-88c1-465b-b56c-7caf6ad4c018", - "source_type": "sequencing_process", - "destination_id": "e99eed63-5794-4d8d-baf9-9c6888e91e6d", - "destination_type": "protocol" - } - ], - "describedBy": "https://schema.humancellatlas.org/bundle/1.0.0/links", - "schema_version": "1.0.0", - "schema_type": "link_bundle" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/b2216048-7eaa-45f4-8077-5a3fb4204953.dss.hca.json b/test/indexer/data/b2216048-7eaa-45f4-8077-5a3fb4204953.dss.hca.json deleted file mode 100644 index 00eb291e76..0000000000 --- a/test/indexer/data/b2216048-7eaa-45f4-8077-5a3fb4204953.dss.hca.json +++ /dev/null @@ -1,632 +0,0 @@ -{ - "manifest": { - "sequence_file/aa662c76-d220-49f4-8316-f4af5820d60b": { - "sha1": "284b9be625b43327f353fd3d77b6aa5b4d32e69c", - "name": "22011_1#268_2.fastq.gz", - "uuid": "aa662c76-d220-49f4-8316-f4af5820d60b", - "crc32c": "1b953a24", - "version": "2018-03-29T14:20:45.025802Z", - "indexed": false, - "s3_etag": "a9ec4ab980a8ef01ad111e667d2c50ae-2", - "sha256": "124645d6130107c1368568b91a37f7ea08dc7eae57bcd9eb519ac8ddb328880d", - "content-type": "application/gzip; dcp-type=data", - "size": 88782381 - }, - "sequence_file/d2f32681-9c1a-4dfd-b506-c24327afb8d1": { - "sha1": "beeb73e062974cd9f37fc09822fea4fec2ceb609", - "name": "22011_1#268_1.fastq.gz", - "uuid": "d2f32681-9c1a-4dfd-b506-c24327afb8d1", - "crc32c": "f93b9d00", - "version": "2018-03-29T14:20:44.370144Z", - "indexed": false, - "s3_etag": "7d462983b8d41346d61513f9e03f8036-2", - "sha256": "ee09a5fc9ba7ce42f8ebef0904950f6cf017cff3b0e4882b7b35ce26e20158f7", - "content-type": "application/gzip; dcp-type=data", - "size": 74420452 - } - }, - "metadata": { - "project/93f6a42f-1790-4af4-b5d1-8c436cb6feae": { - "content": { - "describedBy": "https://schema.humancellatlas.org/type/project/5.1.0/project", - "project_core": { - "project_short_name": "Mouse Melanoma", - "project_description": "The cancer microenvironment is a complex ecosystem characterized by dynamic interactions between diverse cell types, including malignant, immune and stromal cells. Here, we performed single-cell RNA sequencing on CD45+ and CD45- cells isolated from tumour and lymph nodes during a mouse model of melanoma. The transcriptional profiles of these individual cells taken at different time points coupled with assembled T cell receptor sequences, allowed us to identify distinct immune subpopulations and delineate their developmental trajectory. Our study provides insights into the complex interplay among cells within the tumour microenvironment and presents a valuable resource for future translational applications.", - "project_title": "Melanoma infiltration of stromal and immune cells" - }, - "publications": [ - { - "describedBy": "http://schema.humancellatlas.org/module/project/5.2.2/publication", - "authors": [ - "Katrina Meeth", - "Jake Wang", - "Goran Micevic", - "William Damsky", - "Marcus W. Bosenberg" - ], - "publication_title": "The YUMM lines: a series of congenic mouse melanoma cell lines with defined genetic alterations", - "doi": "10.1111/pcmr.12498", - "pmid": 5331933, - "publication_url": "https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5331933/" - } - ], - "contributors": [ - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Sarah,A,Teichmann", - "email": "st9@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Mirjana,,Efremova", - "email": "me5@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Bidesh,,Mahata", - "email": "bm11@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "laboratory": "MRC Cancer Unit", - "contact_name": "Jacqueline,D,Shields", - "email": "JS970@MRCCU.cam.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "University of Cambridge", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "laboratory": "MRC Cancer Unit", - "contact_name": "Sarah,,Davidson", - "email": "SED49@MRCCU.cam.ac.uk", - "corresponding_contributor": false - }, - { - "country": "Germany", - "contact_name": "Angela,,Riedel", - "email": "a.riedel@dkfz-heidelberg.de", - "institution": "DKFZ German Cancer Research Center", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Roser,,Veno-Tormo", - "email": "rv4@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "Wellcome Trust Sanger Institute", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Jhuma,,Pramanik", - "email": "jp19@sanger.ac.uk", - "corresponding_contributor": false - }, - { - "country": "UK", - "institution": "EMBL-EBI", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "laboratory": "Sarah Teichmann", - "contact_name": "Gozde,,Kar", - "email": "gkar@ebi.ac.uk", - "corresponding_contributor": false - }, - { - "country": "Finland", - "contact_name": "Jani,,Huuhtanen", - "email": "jani.huuhtanen@helsinki.fi", - "institution": "University of Helsinki", - "corresponding_contributor": true - } - ], - "schema_type": "project" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.025Z", - "updateDate": "2018-03-28T14:27:32.460Z", - "document_id": "93f6a42f-1790-4af4-b5d1-8c436cb6feae" - }, - "describedBy": "https://schema.humancellatlas.org/bundle/5.1.0/project", - "schema_version": "5.1.0", - "schema_type": "project_bundle" - }, - "cell_suspension/603a818f-dbe7-466a-8241-58b9c1618846": { - "content": { - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "total_estimated_cells": 1, - "target_cell_type": [ - { - "text": "CD11b+ Macrophages/monocytes" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1139_T", - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "22011_1#268" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:00:05.544Z", - "updateDate": "2018-03-28T14:39:28.596Z", - "document_id": "603a818f-dbe7-466a-8241-58b9c1618846" - } - }, - "specimen_from_organism/4e41a067-dbb7-439f-b72f-80240ce858f6": { - "content": { - "biomaterial_core": { - "has_input_biomaterial": "1139", - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "1139_T", - "supplementary_files": [ - "FACS_sorting_markers.pdf" - ], - "biomaterial_name": "Mouse_day11_T_rep5" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism", - "organ": { - "text": "tumor" - }, - "schema_type": "biomaterial" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:31.072Z", - "updateDate": "2018-03-28T14:15:11.657Z", - "document_id": "4e41a067-dbb7-439f-b72f-80240ce858f6" - } - }, - "donor_organism/bf8492ad-1d45-46aa-9fe9-67058b8c2410": { - "content": { - "is_living": false, - "mus_musculus_specific": { - "strain": [ - { - "text": "C57BL/6" - } - ] - }, - "biological_sex": "female", - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "disease": [ - { - "text": "subcutaneous melanoma", - "ontology": "EFO:0000756" - } - ], - "organism_age": "6-12", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 10090 - ], - "biomaterial_id": "1139", - "biomaterial_name": "Mouse_day11_rep5" - }, - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:58:05.518Z", - "updateDate": "2018-03-28T14:01:13.757Z", - "document_id": "bf8492ad-1d45-46aa-9fe9-67058b8c2410" - } - }, - "sequence_file/d2f32681-9c1a-4dfd-b506-c24327afb8d1": { - "content": { - "file_core": { - "file_name": "22011_1#268_1.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "read1", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-28T14:00:30.935Z", - "document_id": "d2f32681-9c1a-4dfd-b506-c24327afb8d1" - } - }, - "sequence_file/aa662c76-d220-49f4-8316-f4af5820d60b": { - "content": { - "file_core": { - "file_name": "22011_1#268_2.fastq.gz", - "file_format": "fastq.gz" - }, - "lane_index": 1, - "read_index": "read2", - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file", - "schema_type": "file" - }, - "hca_ingest": { - "submissionDate": "2018-03-28T14:00:30.947Z", - "document_id": "aa662c76-d220-49f4-8316-f4af5820d60b" - } - }, - "dissociation_process/b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_id": "TissueDissociationProcess", - "process_name": "Extracting cells from lymph nodes" - }, - "dissociation_method": "mechanical", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:04:14.574Z", - "updateDate": "2018-03-28T14:13:28.361Z", - "document_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902" - } - }, - "process/f03590d8-4e65-478e-bc67-a8c64d2c93e9": { - "content": { - "process_core": { - "process_id": "sampling_process_6" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:00:15.938Z", - "updateDate": "2018-03-28T14:51:13.100Z", - "document_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9" - } - }, - "enrichment_process/2f2fb366-249f-49e3-b47d-a0bb39d9bc78": { - "content": { - "enrichment_method": "FACS", - "process_core": { - "process_id": "FACS2" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/enrichment_process", - "markers": "CD45+ CD3e- B220- CD11c+", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:05:22.289Z", - "updateDate": "2018-03-28T14:29:50.280Z", - "document_id": "2f2fb366-249f-49e3-b47d-a0bb39d9bc78" - } - }, - "enrichment_process/a192f0d7-8e8e-48ae-b80d-3cb18acb3215": { - "content": { - "enrichment_method": "FACS", - "process_core": { - "process_id": "FACS3.7" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/enrichment_process", - "markers": "CD45+ CD3e- B220- CD11b+", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:04:02.056Z", - "updateDate": "2018-03-28T14:32:20.272Z", - "document_id": "a192f0d7-8e8e-48ae-b80d-3cb18acb3215" - } - }, - "library_preparation_process/687065f3-c70f-46c3-8452-a5eead33a1bf": { - "content": { - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "process_core": { - "process_id": "lib_prep_1", - "process_name": "Library preparation process" - }, - "umi_barcode": { - "barcode_offset": 0, - "barcode_length": 16, - "barcode_read": "Read 1" - }, - "library_construction_approach": "Smart-seq2", - "schema_type": "process", - "end_bias": "full length", - "primer": "poly-dT", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/library_preparation_process", - "strand": "unstranded" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:05:43.803Z", - "updateDate": "2018-03-28T14:43:01.679Z", - "document_id": "687065f3-c70f-46c3-8452-a5eead33a1bf" - } - }, - "sequencing_process/2580dcf9-3f7d-4421-b962-ab860e10d072": { - "content": { - "paired_ends": true, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008567" - }, - "process_core": { - "process_id": "seq_264", - "process_name": "Sequencing process" - }, - "smartseq2": { - "well_name": "F02", - "plate_id": "575" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/sequencing_process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T14:03:27.156Z", - "updateDate": "2018-03-28T14:32:54.422Z", - "document_id": "2580dcf9-3f7d-4421-b962-ab860e10d072" - } - }, - "protocol/c9a1e203-bddc-45d3-87c4-6010be8e0127": { - "content": { - "protocol_core": { - "protocol_name": "Extracting cells from lymph nodes", - "document": "TissueDissociationProtocol.pdf", - "protocol_id": "tissue_dissociation_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.033Z", - "updateDate": "2018-03-28T14:14:33.716Z", - "document_id": "c9a1e203-bddc-45d3-87c4-6010be8e0127" - } - }, - "protocol/a1c80daf-58b0-4b7a-8e29-d0130493c8e6": { - "content": { - "protocol_core": { - "protocol_name": "FACS sorting cells by surface markers", - "document": "FACSsortingProtocol.pdf", - "protocol_id": "FACS_sorting_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.040Z", - "updateDate": "2018-03-28T14:45:43.500Z", - "document_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6" - } - }, - "protocol/52d79a89-4b49-4c1b-b857-5cc5da07f643": { - "content": { - "protocol_core": { - "protocol_name": "Make/amplify cDNA for each cell", - "document": "SmartSeq2_RTPCR_protocol.pdf", - "protocol_id": "SmartSeq2_RTPCR_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "Smart-seq2 protocol", - "ontology": "EFO:0008442" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.044Z", - "updateDate": "2018-03-28T14:24:04.790Z", - "document_id": "52d79a89-4b49-4c1b-b857-5cc5da07f643" - } - }, - "protocol/ca6096cf-13c1-4930-8308-6ab05865e2c9": { - "content": { - "protocol_core": { - "protocol_name": "Sequencing SmartSeq2 cells", - "protocol_id": "SmartSeq2_sequencing_protocol" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-28T13:55:26.050Z", - "updateDate": "2018-03-28T14:30:39.321Z", - "document_id": "ca6096cf-13c1-4930-8308-6ab05865e2c9" - } - } - }, - "links": { - "links": [ - { - "source_id": "4e41a067-dbb7-439f-b72f-80240ce858f6", - "source_type": "biomaterial", - "destination_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "destination_type": "dissociation_process" - }, - { - "source_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "source_type": "dissociation_process", - "destination_id": "603a818f-dbe7-466a-8241-58b9c1618846", - "destination_type": "biomaterial" - }, - { - "source_id": "b7bbb2dc-3131-47c3-bcb9-4b7e0eeed902", - "source_type": "dissociation_process", - "destination_id": "c9a1e203-bddc-45d3-87c4-6010be8e0127", - "destination_type": "protocol" - }, - { - "source_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9", - "source_type": "process", - "destination_id": "4e41a067-dbb7-439f-b72f-80240ce858f6", - "destination_type": "biomaterial" - }, - { - "source_id": "bf8492ad-1d45-46aa-9fe9-67058b8c2410", - "source_type": "biomaterial", - "destination_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9", - "destination_type": "process" - }, - { - "source_id": "4e41a067-dbb7-439f-b72f-80240ce858f6", - "source_type": "biomaterial", - "destination_id": "2f2fb366-249f-49e3-b47d-a0bb39d9bc78", - "destination_type": "enrichment_process" - }, - { - "source_id": "2f2fb366-249f-49e3-b47d-a0bb39d9bc78", - "source_type": "enrichment_process", - "destination_id": "603a818f-dbe7-466a-8241-58b9c1618846", - "destination_type": "biomaterial" - }, - { - "source_id": "2f2fb366-249f-49e3-b47d-a0bb39d9bc78", - "source_type": "enrichment_process", - "destination_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6", - "destination_type": "protocol" - }, - { - "source_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9", - "source_type": "process", - "destination_id": "4e41a067-dbb7-439f-b72f-80240ce858f6", - "destination_type": "biomaterial" - }, - { - "source_id": "bf8492ad-1d45-46aa-9fe9-67058b8c2410", - "source_type": "biomaterial", - "destination_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9", - "destination_type": "process" - }, - { - "source_id": "4e41a067-dbb7-439f-b72f-80240ce858f6", - "source_type": "biomaterial", - "destination_id": "a192f0d7-8e8e-48ae-b80d-3cb18acb3215", - "destination_type": "enrichment_process" - }, - { - "source_id": "a192f0d7-8e8e-48ae-b80d-3cb18acb3215", - "source_type": "enrichment_process", - "destination_id": "603a818f-dbe7-466a-8241-58b9c1618846", - "destination_type": "biomaterial" - }, - { - "source_id": "a192f0d7-8e8e-48ae-b80d-3cb18acb3215", - "source_type": "enrichment_process", - "destination_id": "a1c80daf-58b0-4b7a-8e29-d0130493c8e6", - "destination_type": "protocol" - }, - { - "source_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9", - "source_type": "process", - "destination_id": "4e41a067-dbb7-439f-b72f-80240ce858f6", - "destination_type": "biomaterial" - }, - { - "source_id": "bf8492ad-1d45-46aa-9fe9-67058b8c2410", - "source_type": "biomaterial", - "destination_id": "f03590d8-4e65-478e-bc67-a8c64d2c93e9", - "destination_type": "process" - }, - { - "source_id": "603a818f-dbe7-466a-8241-58b9c1618846", - "source_type": "biomaterial", - "destination_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "destination_type": "library_preparation_process" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "d2f32681-9c1a-4dfd-b506-c24327afb8d1", - "destination_type": "file" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "aa662c76-d220-49f4-8316-f4af5820d60b", - "destination_type": "file" - }, - { - "source_id": "687065f3-c70f-46c3-8452-a5eead33a1bf", - "source_type": "library_preparation_process", - "destination_id": "52d79a89-4b49-4c1b-b857-5cc5da07f643", - "destination_type": "protocol" - }, - { - "source_id": "603a818f-dbe7-466a-8241-58b9c1618846", - "source_type": "biomaterial", - "destination_id": "2580dcf9-3f7d-4421-b962-ab860e10d072", - "destination_type": "sequencing_process" - }, - { - "source_id": "2580dcf9-3f7d-4421-b962-ab860e10d072", - "source_type": "sequencing_process", - "destination_id": "d2f32681-9c1a-4dfd-b506-c24327afb8d1", - "destination_type": "file" - }, - { - "source_id": "2580dcf9-3f7d-4421-b962-ab860e10d072", - "source_type": "sequencing_process", - "destination_id": "aa662c76-d220-49f4-8316-f4af5820d60b", - "destination_type": "file" - }, - { - "source_id": "2580dcf9-3f7d-4421-b962-ab860e10d072", - "source_type": "sequencing_process", - "destination_id": "ca6096cf-13c1-4930-8308-6ab05865e2c9", - "destination_type": "protocol" - } - ], - "describedBy": "https://schema.humancellatlas.org/bundle/1.0.0/links", - "schema_version": "1.0.0", - "schema_type": "link_bundle" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/b7fc737e-9b7b-4800-8977-fe7c94e131df.dss.hca.json b/test/indexer/data/b7fc737e-9b7b-4800-8977-fe7c94e131df.dss.hca.json deleted file mode 100644 index b1a62674f6..0000000000 --- a/test/indexer/data/b7fc737e-9b7b-4800-8977-fe7c94e131df.dss.hca.json +++ /dev/null @@ -1,516 +0,0 @@ -{ - "manifest": { - "sequence_file/211d3f25-1253-4a01-aadf-08b6452de585": { - - "content-type": "application/gzip; dcp-type=data", - "crc32c": "13312585", - "indexed": false, - "name": "E18_20160930_Neurons_Sample_07_S007_L005_I1_007.fastq.gz", - "s3_etag": "0dce7ce1f540a122454c6ebfaff2549d", - "sha1": "4fedcf8750b66ab306c502109cfaf6c5b4f48abd", - "sha256": "d95ead2f789581339613ea0d8c4b87cc55ba1d8a05aca445fffc05769e93c14f", - "size": 62730218, - "uuid": "701c9a63-23da-4978-946b-7576b6ad088a", - "version": "2018-09-12T12:11:54.054628Z" - } - }, - "metadata": { - "cell_suspension/1e07c7cf-66c3-4cd5-a061-71f3e89489ff": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "E18_20160930_Neurons_Sample_07", - "biomaterial_name": "E18 Mouse Combined Cortex, Hippocampus and Ventricular zone", - "biomaterial_description": "E18 Mouse Combined Cortex, Hippocampus and Ventricular zone", - "ncbi_taxon_id": [ - 10090 - ], - "biosd_biomaterial": "SAMN06216799", - "insdc_biomaterial": "SRS1915130" - }, - "cell_morphology": { - "percent_cell_viability": 85, - "cell_viability_method": " Thermo Fisher Live/Dead\u00ae Viability/Cytotoxicity Kit" - }, - "growth_conditions": { - "growth_medium": "NbActiv1" - }, - "genus_species": [ - { - "text": "Mus musculus" - } - ], - "selected_cell_type": [ - { - "text": "neuron" - } - ], - "total_estimated_cells": 10000, - "provenance": { - "document_id": "1e07c7cf-66c3-4cd5-a061-71f3e89489ff", - "submission_date": "2018-09-11T16:35:36.452Z", - "update_date": "2018-09-11T16:53:41.273Z" - } - }, - "specimen_from_organism/39a16395-6e12-4ec1-8cff-b77dd23f7024": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "E18_20160930_Cortex", - "biomaterial_name": "E18 Mouse Cortex", - "biomaterial_description": "Sample prepared 2 days after dissection, from the first E18 mouse", - "ncbi_taxon_id": [ - 10090 - ], - "biosd_biomaterial": "SAMN06216805", - "insdc_biomaterial": "SRS1915124" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "organ": { - "text": "Brain 1", - "ontology": "UBERON:0000955" - }, - "organ_part": { - "text": "cortex", - "ontology": "UBERON:0001851" - }, - "preservation_storage": { - "storage_time": 2, - "storage_time_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "preservation_method": "fresh" - }, - "collection_time": "2016-09-30T12:00:00Z", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "state_of_specimen": { - "autolysis_score": "none" - }, - "provenance": { - "document_id": "39a16395-6e12-4ec1-8cff-b77dd23f7024", - "submission_date": "2018-09-11T16:35:36.287Z", - "update_date": "2018-09-11T16:53:07.436Z" - } - }, - "specimen_from_organism/1fe5d2c3-cf34-45ce-b1e4-dc8568ca5ab2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "E18_20160930_Hippocampus", - "biomaterial_name": "E18 Mouse Hippocampus", - "biomaterial_description": "Sample prepared 2 days after dissection, from the first E18 mouse", - "ncbi_taxon_id": [ - 10090 - ], - "biosd_biomaterial": "SAMN06216805", - "insdc_biomaterial": "SRS1915124" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "organ": { - "text": "Brain 2", - "ontology": "UBERON:0000955" - }, - "organ_part": { - "text": "hippocampus", - "ontology": "UBERON:0002421" - }, - "preservation_storage": { - "storage_time": 2, - "storage_time_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "preservation_method": "fresh" - }, - "collection_time": "2016-09-30T12:00:00Z", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "state_of_specimen": { - "autolysis_score": "none" - }, - "provenance": { - "document_id": "1fe5d2c3-cf34-45ce-b1e4-dc8568ca5ab2", - "submission_date": "2018-09-11T16:35:36.296Z", - "update_date": "2018-09-11T16:53:10.431Z" - } - }, - "specimen_from_organism/02f67508-6e87-42cf-9588-df49a4250a95": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "E18_20160930_Ventricular_Zone", - "biomaterial_name": "E18 Mouse Ventricular zone", - "biomaterial_description": "Sample prepared 2 days after dissection, from the first E18 mouse", - "ncbi_taxon_id": [ - 10090 - ], - "biosd_biomaterial": "SAMN06216805", - "insdc_biomaterial": "SRS1915124" - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "organ": { - "text": "Brain 3", - "ontology": "UBERON:0000955" - }, - "organ_part": { - "text": "ventricular zone", - "ontology": "UBERON:0004040" - }, - "preservation_storage": { - "storage_time": 2, - "storage_time_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "preservation_method": "fresh" - }, - "collection_time": "2016-09-30T12:00:00Z", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "state_of_specimen": { - "autolysis_score": "none" - }, - "provenance": { - "document_id": "02f67508-6e87-42cf-9588-df49a4250a95", - "submission_date": "2018-09-11T16:35:36.306Z", - "update_date": "2018-09-11T16:53:12.111Z" - } - }, - "donor_organism/ff15c305-fc63-419f-a0fd-84d123f9b975": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "E18_20160930", - "biomaterial_name": "E18 Mouse", - "biomaterial_description": "A healthy E18 mouse", - "ncbi_taxon_id": [ - 10090 - ] - }, - "mouse_specific": { - "strain": [ - { - "text": "C57BL/6", - "ontology": "EFO:0004472" - } - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "organism_age": "18", - "organism_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "development_stage": { - "text": "Embryo stage", - "ontology": "EFO:0007725" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "no", - "sex": "unknown", - "provenance": { - "document_id": "ff15c305-fc63-419f-a0fd-84d123f9b975", - "submission_date": "2018-09-11T16:35:36.254Z", - "update_date": "2018-09-11T16:53:04.090Z" - } - }, - "sequence_file/211d3f25-1253-4a01-aadf-08b6452de585": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "E18_20160930_Neurons_Sample_07_S007_L005_I1_007.fastq.gz", - "file_format": "fastq", - "checksum": "0dce7ce1f540a122454c6ebfaff2549d" - }, - "read_index": "index1", - "lane_index": 5, - "read_length": 8, - "insdc_run": [ - "SRR5259341" - ], - "provenance": { - "document_id": "211d3f25-1253-4a01-aadf-08b6452de585", - "submission_date": "2018-09-11T16:38:23.240Z", - "update_date": "2018-09-11T17:04:35.520Z" - } - }, - "project/587fe7e4-0e41-42d6-976f-585345a51ba2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/project/9.0.2/project", - "schema_type": "project", - "project_core": { - "project_short_name": "1M Neurons", - "project_title": "1.3 Million Brain Cells from E18 Mice", - "project_description": "Cortex, hippocampus, and subventricular zone were purchased from BrainBits (C57EHCV). They were from 2 E18 C57BL/6 mice dissected on the same day, shipped overnight on ice, and stored at 4C until being prepared for scRNA-Seq. Brain tissues were dissociated following the Demonstrated Protocol for Mouse Embryonic Neural Tissue (https://support.10xgenomics.com/single-cell/sample-prep/doc/demonstrated-protocol-dissociation-of-mouse-embryonic-neural-tissue-for-single-cell-rna-sequencing). 69 scRNA-Seq libraries were made from first mouse brain 2 days after the dissection. Another 64 scRNA-Seq libraries were made from second mouse brain 6 days after the dissection." - }, - "insdc_project": "SRP096558", - "geo_series": "GSE93421", - "insdc_study": "PRJNA360949", - "supplementary_links": [ - "https://support.10xgenomics.com/single-cell-gene-expression/datasets/1.3.0/1M_neurons" - ], - "contributors": [], - "publications": [], - "provenance": { - "document_id": "587fe7e4-0e41-42d6-976f-585345a51ba2", - "submission_date": "2018-09-11T16:35:36.242Z", - "update_date": "2018-09-11T16:53:03.974Z" - } - }, - "library_preparation_protocol/3720c08b-f4b6-4bc7-a889-d4d3db602e7d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/4.3.2/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1", - "protocol_name": "Chromium\u2122 Single Cell 3\u2019 Reagent Kits v2 User Guide" - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16, - "white_list_file": "737k-bc.txt" - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA" - }, - "library_construction_approach": { - "text": "10x_v2" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "unstranded", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 16, - "barcode_length": 10 - }, - "provenance": { - "document_id": "3720c08b-f4b6-4bc7-a889-d4d3db602e7d", - "submission_date": "2018-09-11T16:40:39.797Z", - "update_date": "2018-09-11T16:40:47.185Z" - } - }, - "sequencing_protocol/3e11dd06-396b-4aaa-a6ae-3b6a26a1d9f0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1", - "protocol_name": "Sequencing the single cell RNA v2 libraries", - "protocol_description": "Single cell sequencing of cDNAs by 10x" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 4000" - }, - "local_machine_name": "K00126", - "paired_end": true, - "sequencing_approach": { - "text": "10x_v2" - }, - "provenance": { - "document_id": "3e11dd06-396b-4aaa-a6ae-3b6a26a1d9f0", - "submission_date": "2018-09-11T16:40:39.783Z", - "update_date": "2018-09-11T16:40:45.581Z" - } - }, - "dissociation_protocol/f90527fc-d710-414b-b185-0e9c5b4138af": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_process_1", - "protocol_name": "Dissociation of Mouse Embryonic Neural Tissue for Single Cell RNA Sequencing", - "protocol_description": "The Demonstrated Protocol showing how to obtain a single cell suspension from embryonic mouse brain tissue in preparation for use in 10x Genomics\u00ae Single Cell Protocols which can be downloaded from https://assets.ctfassets.net/an68im79xiti/3clmEF115Ku420KaAuYUOe/ba22dcdfd8150f5f77ded1f500af01b4/CG00055_SamplePrepDemonstratedProtocol_-_MouseNeuralTissue_RevB.pdf", - "document": "CG00055_SamplePrepDemonstratedProtocol_-_MouseNeuralTissue_RevB.pdf" - }, - "dissociation_method": { - "text": "10x_v2" - }, - "provenance": { - "document_id": "f90527fc-d710-414b-b185-0e9c5b4138af", - "submission_date": "2018-09-11T16:40:39.768Z", - "update_date": "2018-09-11T16:40:46.268Z" - } - }, - "process/78e53890-4a5c-423b-a7b9-aa3247ecf98b": { - "process_core": { - "process_id": "process_id_9101" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "78e53890-4a5c-423b-a7b9-aa3247ecf98b", - "submission_date": "2018-09-11T16:47:21.608Z", - "update_date": "2018-09-11T17:11:53.151Z" - } - }, - "process/427f77a0-9fc5-4fea-a9bb-d05841fad71c": { - "process_core": { - "process_id": "process_id_13" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "427f77a0-9fc5-4fea-a9bb-d05841fad71c", - "submission_date": "2018-09-11T16:40:40.029Z", - "update_date": "2018-09-11T17:05:50.325Z" - } - }, - "process/677e65b8-5a0d-4f5a-af89-7cca51bcd6c3": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "677e65b8-5a0d-4f5a-af89-7cca51bcd6c3", - "submission_date": "2018-09-11T16:40:39.813Z", - "update_date": "2018-09-11T17:05:50.149Z" - } - }, - "process/ac321e06-ec12-423a-bf12-5e0ec97f0fb1": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ac321e06-ec12-423a-bf12-5e0ec97f0fb1", - "submission_date": "2018-09-11T16:40:39.833Z", - "update_date": "2018-09-11T17:05:50.159Z" - } - }, - "process/34aa8a89-27d0-4a03-8196-72da4d701efb": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "34aa8a89-27d0-4a03-8196-72da4d701efb", - "submission_date": "2018-09-11T16:40:39.858Z", - "update_date": "2018-09-11T17:05:50.168Z" - } - } - }, - "links": { - "describedBy": "http://schema.staging.data.humancellatlas.org/system/1.1.1/links", - "schema_type": "link_bundle", - "schema_version": "1.1.1", - "links": [ - { - "process": "78e53890-4a5c-423b-a7b9-aa3247ecf98b", - "inputs": [ - "1e07c7cf-66c3-4cd5-a061-71f3e89489ff" - ], - "input_type": "biomaterial", - "outputs": [ - "211d3f25-1253-4a01-aadf-08b6452de585" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "3720c08b-f4b6-4bc7-a889-d4d3db602e7d" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "3e11dd06-396b-4aaa-a6ae-3b6a26a1d9f0" - } - ] - }, - { - "process": "427f77a0-9fc5-4fea-a9bb-d05841fad71c", - "inputs": [ - "39a16395-6e12-4ec1-8cff-b77dd23f7024", - "1fe5d2c3-cf34-45ce-b1e4-dc8568ca5ab2", - "02f67508-6e87-42cf-9588-df49a4250a95" - ], - "input_type": "biomaterial", - "outputs": [ - "1e07c7cf-66c3-4cd5-a061-71f3e89489ff" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "f90527fc-d710-414b-b185-0e9c5b4138af" - } - ] - }, - { - "process": "677e65b8-5a0d-4f5a-af89-7cca51bcd6c3", - "inputs": [ - "ff15c305-fc63-419f-a0fd-84d123f9b975" - ], - "input_type": "biomaterial", - "outputs": [ - "39a16395-6e12-4ec1-8cff-b77dd23f7024" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "ac321e06-ec12-423a-bf12-5e0ec97f0fb1", - "inputs": [ - "ff15c305-fc63-419f-a0fd-84d123f9b975" - ], - "input_type": "biomaterial", - "outputs": [ - "1fe5d2c3-cf34-45ce-b1e4-dc8568ca5ab2" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "34aa8a89-27d0-4a03-8196-72da4d701efb", - "inputs": [ - "ff15c305-fc63-419f-a0fd-84d123f9b975" - ], - "input_type": "biomaterial", - "outputs": [ - "02f67508-6e87-42cf-9588-df49a4250a95" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/c2711e94-9966-a0ef-88be-88caf3e8a29b.tdr.anvil.json b/test/indexer/data/c2711e94-9966-a0ef-88be-88caf3e8a29b.tdr.anvil.json deleted file mode 100644 index dd3946fbcc..0000000000 --- a/test/indexer/data/c2711e94-9966-a0ef-88be-88caf3e8a29b.tdr.anvil.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "entities": { - "anvil_dataset/2370f948-2783-4eb6-afea-e022897f4dcf": { - "consent_group": [ - "DS-BDIS" - ], - "data_modality": [], - "data_use_permission": [ - "DS-BDIS" - ], - "datarepo_row_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [], - "registered_identifier": [ - "phs000693" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "version": "2022-06-01T00:00:00.000000Z" - }, - "anvil_file/6b0f6c0f-5d80-4242-accb-840921351cd5": { - "data_modality": [], - "datarepo_row_id": "6b0f6c0f-5d80-4242-accb-840921351cd5", - "file_format": ".txt", - "file_md5sum": "S/GBrRjzZAQYqh3rdiPYzA==", - "file_id": "1fab11f5-7eab-4318-9a58-68d8d06e0715", - "file_name": "CCDG_13607_B01_GRM_WGS_2019-02-19_chr15.recalibrated_variants.annotated.coding.txt", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1fab11f5-7eab-4318-9a58-68d8d06e0715", - "file_size": 15079345, - "is_supplementary": true, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:04ff3af2-0543-4ea6-830a-d31b957fa2ee" - ], - "version": "2022-06-01T00:00:00.000000Z", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1fab11f5-7eab-4318-9a58-68d8d06e0715", - "sha256": "", - "crc32": "" - } - }, - "links": [ - { - "inputs": [ - "anvil_dataset/2370f948-2783-4eb6-afea-e022897f4dcf" - ], - "activity": null, - "outputs": [ - "anvil_file/6b0f6c0f-5d80-4242-accb-840921351cd5" - ] - } - ], - "orphans": { - "anvil_file/15b76f9c-6b46-433f-851d-34e89f1b9ba6": { - "data_modality": [], - "datarepo_row_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "file_format": ".vcf.gz", - "file_id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "file_md5sum": "vuxgbuCqKZ/fkT9CWTFmIg==", - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67", - "file_size": 213021639, - "is_supplementary": false, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "version": "2022-06-01T00:00:00.000000Z", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67", - "sha256": "", - "crc32": "" - }, - "anvil_file/3b17377b-16b1-431c-9967-e5d01fc5923f": { - "data_modality": [], - "datarepo_row_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "file_format": ".bam", - "file_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "file_md5sum": "fNn9e1SovzgOROk3BvH6LQ==", - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37", - "file_size": 3306845592, - "is_supplementary": false, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "version": "2022-06-01T00:00:00.000000Z", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37", - "sha256": "", - "crc32": "" - } - } -} \ No newline at end of file diff --git a/test/indexer/data/c94a43f9-257f-4cd0-b2fe-eaf6d5d37d18.dss.hca.json b/test/indexer/data/c94a43f9-257f-4cd0-b2fe-eaf6d5d37d18.dss.hca.json deleted file mode 100644 index 69be95e306..0000000000 --- a/test/indexer/data/c94a43f9-257f-4cd0-b2fe-eaf6d5d37d18.dss.hca.json +++ /dev/null @@ -1,12414 +0,0 @@ -{ - "manifest": { - "sequence_file/95f09de9-0e7a-49c3-8bbc-f3fb512bc86e": { - "sha1": "a19f32c06b4286e1608c5e2118fa943afba610a6", - "name": "MantonBM6_HiSeq_5_S12_L004_R1_001.fastq.gz", - "uuid": "95f09de9-0e7a-49c3-8bbc-f3fb512bc86e", - "crc32c": "ee70b209", - "version": "2018-03-29T09:02:34.453085Z", - "indexed": false, - "s3_etag": "5b32a775b457d2410e9c74548edfbfc9-21", - "sha256": "e0c85a0b50311e13dd02748eb07c07fe2af41c74127c20d1ee496ab61c8c292b", - "content-type": "application/gzip; dcp-type=data", - "size": 1402192705 - }, - "sequence_file/ca1ca1f1-f0ab-4224-8422-d5345ccab557": { - "sha1": "1e93005ef5f17cdec6cc5a4ea406953a93863306", - "name": "MantonBM8_HiSeq_5_S28_L008_R2_001.fastq.gz", - "uuid": "ca1ca1f1-f0ab-4224-8422-d5345ccab557", - "crc32c": "5bb4d08a", - "version": "2018-03-29T09:03:30.807348Z", - "indexed": false, - "s3_etag": "54efa2d872ab51dfab369158cc53be03-44", - "sha256": "9caac5822ccd2432ea3b178355ebd8fe15b9a8b41c3de136914f03ee1665a415", - "content-type": "application/gzip; dcp-type=data", - "size": 2937097047 - }, - "sequence_file/9eb02069-4c56-4065-83ac-01eaf5fb9b68": { - "sha1": "59728047fcb3e5aac521d50ee4e131f40350f98c", - "name": "MantonBM8_HiSeq_1_S24_L007_R1_001.fastq.gz", - "uuid": "9eb02069-4c56-4065-83ac-01eaf5fb9b68", - "crc32c": "df8bc69e", - "version": "2018-03-29T09:03:16.934762Z", - "indexed": false, - "s3_etag": "f411c57e80b005a1a27dd443981bd8fa-17", - "sha256": "56cbbf7295f91a7703b3a33b64d6311a84d3da01cd1b4754afba2cba46fb7ebe", - "content-type": "application/gzip; dcp-type=data", - "size": 1134093703 - }, - "sequence_file/176d224c-1e70-4ef8-ab96-ea63cfa63888": { - "sha1": "8357cf65cae0af7a2524d5c397da31d0d69871e3", - "name": "MantonBM7_HiSeq_7_S22_L005_R1_001.fastq.gz", - "uuid": "176d224c-1e70-4ef8-ab96-ea63cfa63888", - "crc32c": "a15fbb08", - "version": "2018-03-29T09:03:09.051288Z", - "indexed": false, - "s3_etag": "ad2a9eefb8a47c9c488cfd45d5a0a307-12", - "sha256": "e400cff094d1aa35a60bbfd7e6798b45209bc79ce750cd39c1c5b7be4a91ed6b", - "content-type": "application/gzip; dcp-type=data", - "size": 753163709 - }, - "sequence_file/04e94fd5-49df-4149-9da5-ff9c86a2e494": { - "sha1": "75a306656b83357c391b15a33eb9d5a02f4ddb57", - "name": "MantonBM8_HiSeq_2_S25_L008_I1_001.fastq.gz", - "uuid": "04e94fd5-49df-4149-9da5-ff9c86a2e494", - "crc32c": "6e420e8d", - "version": "2018-03-29T09:03:20.813831Z", - "indexed": false, - "s3_etag": "7f0a3003e447613412000359d79a152d-5", - "sha256": "03da5494d957c3497b32e6fd52287522679a406549c0b5aeaaf447ce092eb59f", - "content-type": "application/gzip; dcp-type=data", - "size": 330003676 - }, - "sequence_file/e977ef2d-f54d-4ee7-893b-3873a8eb5dd3": { - "sha1": "18adc57b77da277828cbbf4498f6f165a57dfc9a", - "name": "MantonBM6_HiSeq_7_S14_L003_R1_001.fastq.gz", - "uuid": "e977ef2d-f54d-4ee7-893b-3873a8eb5dd3", - "crc32c": "dfea1af0", - "version": "2018-03-29T09:02:46.655441Z", - "indexed": false, - "s3_etag": "876d30711b9a86c47925148dbdee0851-21", - "sha256": "8d9c07164a2c56269032b9a0621f9c85a20ac9aa71375daac4466245418de6dd", - "content-type": "application/gzip; dcp-type=data", - "size": 1370421321 - }, - "sequence_file/6f23ce85-e97e-4a77-bfea-3c0b95c775f4": { - "sha1": "713dfad2ae2588357bafc031f31119d4b611092d", - "name": "MantonBM6_HiSeq_2_S10_L004_R1_001.fastq.gz", - "uuid": "6f23ce85-e97e-4a77-bfea-3c0b95c775f4", - "crc32c": "a0b40a8f", - "version": "2018-03-29T09:02:28.191415Z", - "indexed": false, - "s3_etag": "3d04dff32d65d487eb6b8fe22f6c959e-22", - "sha256": "3aff35c42115204fd471b451a0035fd1ec23033f0f1323e17e326acb455a8aec", - "content-type": "application/gzip; dcp-type=data", - "size": 1453623392 - }, - "sequence_file/b8df1f2f-abb8-4af5-bbb0-c80623ab5bd5": { - "sha1": "1607783b3ec9e05e09496a2931f8b52e03b5e520", - "name": "MantonBM6_HiSeq_2_S10_L004_I1_001.fastq.gz", - "uuid": "b8df1f2f-abb8-4af5-bbb0-c80623ab5bd5", - "crc32c": "ba235a56", - "version": "2018-03-29T09:02:27.716987Z", - "indexed": false, - "s3_etag": "304dfd44aac1834eccff9a6a2ebd9c35-8", - "sha256": "2ffc77271b01899f7ca90ee61c91aecea1324e971c57e1983b195b7bd5771f0f", - "content-type": "application/gzip; dcp-type=data", - "size": 474484062 - }, - "sequence_file/ba79090e-1341-4427-9277-e0bc9c303bd5": { - "sha1": "6a63f147f71a096a8eca835276a9f4749fa3c743", - "name": "MantonBM5_HiSeq_8_S8_L001_I1_001.fastq.gz", - "uuid": "ba79090e-1341-4427-9277-e0bc9c303bd5", - "crc32c": "c8f9ce2b", - "version": "2018-03-29T09:02:21.477784Z", - "indexed": false, - "s3_etag": "c8c091e8edaab24647d6a01e4ab3914e-7", - "sha256": "006ae7936caddc70a2752629b674bb2cb07d00f84f8a2c18ddeae01d39e5b0ee", - "content-type": "application/gzip; dcp-type=data", - "size": 405793422 - }, - "sequence_file/575b968a-f85f-4dd8-bc0c-f00e1d07cd6b": { - "sha1": "2eaa759a988b98d834ee0774f10425be3b88e8e5", - "name": "MantonBM6_HiSeq_6_S13_L004_R2_001.fastq.gz", - "uuid": "575b968a-f85f-4dd8-bc0c-f00e1d07cd6b", - "crc32c": "9f5d1f57", - "version": "2018-03-29T09:02:41.729061Z", - "indexed": false, - "s3_etag": "ced89b417ff7da63873efb8d4f685190-67", - "sha256": "83921fce1e64433cd6992b2ea8090821efe92e6af9ec0c335b8fee0979018308", - "content-type": "application/gzip; dcp-type=data", - "size": 4462684265 - }, - "sequence_file/2320aa06-7d82-46ec-ad6d-a1c9fd280cde": { - "sha1": "0373b8e19eb3ca160200826c237d9da44d01ba21", - "name": "MantonBM8_HiSeq_4_S27_L008_I1_001.fastq.gz", - "uuid": "2320aa06-7d82-46ec-ad6d-a1c9fd280cde", - "crc32c": "3e09a270", - "version": "2018-03-29T09:03:26.337519Z", - "indexed": false, - "s3_etag": "e65eaa7b5a6c1afdb7e0750437e4b793-6", - "sha256": "4247e04af5e6c26bbb0baf356fb5198d3d1e4d4e07bb8fdf3f8a3d3dd740460e", - "content-type": "application/gzip; dcp-type=data", - "size": 358895784 - }, - "sequence_file/79f04454-2b15-485b-8b19-3d237025d480": { - "sha1": "2f8963ab1b5ea9ae4a18beee3055ff9a6e693697", - "name": "MantonBM5_HiSeq_6_S6_L001_R1_001.fastq.gz", - "uuid": "79f04454-2b15-485b-8b19-3d237025d480", - "crc32c": "0be7b9fb", - "version": "2018-03-29T09:02:16.015490Z", - "indexed": false, - "s3_etag": "5c3c9e8e8c1c11e2e4d40f0b3d61041d-20", - "sha256": "00bcddc16c0e8c3ae6293ca01298911a527eaf7994689fa000a7c70247a48f7a", - "content-type": "application/gzip; dcp-type=data", - "size": 1280563519 - }, - "sequence_file/4b2ec2e1-b0e2-41ea-9a33-c473889f526f": { - "sha1": "b223bf702a6a1d9f413c5d29ac6bd853dfbf22a3", - "name": "MantonBM6_HiSeq_5_S12_L004_I1_001.fastq.gz", - "uuid": "4b2ec2e1-b0e2-41ea-9a33-c473889f526f", - "crc32c": "ac1806f9", - "version": "2018-03-29T09:02:33.701061Z", - "indexed": false, - "s3_etag": "647260360b44e7b9c47d0152609e4ca8-7", - "sha256": "edbec599cada3de2bc511bab0616977f01a13de3588b33701874534b0e3635ef", - "content-type": "application/gzip; dcp-type=data", - "size": 459486657 - }, - "sequence_file/36118c60-cf32-43af-bd56-cfcbe063b244": { - "sha1": "987c09fab730d1191a42ea45b40a333c8b51d71d", - "name": "MantonBM6_HiSeq_5_S12_L003_R2_001.fastq.gz", - "uuid": "36118c60-cf32-43af-bd56-cfcbe063b244", - "crc32c": "5158b398", - "version": "2018-03-29T09:02:39.619238Z", - "indexed": false, - "s3_etag": "d1e0b3c01bf1604218d98c856f2d973a-61", - "sha256": "984f11a67a59c9c54cd2dd65a481941a7f02c70f493ac8d636466a7c9c0da5f9", - "content-type": "application/gzip; dcp-type=data", - "size": 4030957742 - }, - "sequence_file/8240917a-8fb5-47b5-8b35-64dd30c3b43f": { - "sha1": "dd32b328252f8925089b4c593889abca2df96b38", - "name": "MantonBM7_HiSeq_1_S16_L006_R1_001.fastq.gz", - "uuid": "8240917a-8fb5-47b5-8b35-64dd30c3b43f", - "crc32c": "a76e07c3", - "version": "2018-03-29T09:02:52.951952Z", - "indexed": false, - "s3_etag": "0fbb56dde7e46e6309a7cedde761d74e-15", - "sha256": "74c610801cb981f9d59ff54b9220559e0f876405b97649592cf5489c0ace2f41", - "content-type": "application/gzip; dcp-type=data", - "size": 942622130 - }, - "sequence_file/462d6d7c-8c83-4e91-b851-4ebe7f04ed4a": { - "sha1": "61897eb95f79bc2a09865872f6f91c970a38698e", - "name": "MantonBM8_HiSeq_3_S26_L007_R1_001.fastq.gz", - "uuid": "462d6d7c-8c83-4e91-b851-4ebe7f04ed4a", - "crc32c": "163567b7", - "version": "2018-03-29T09:03:22.686336Z", - "indexed": false, - "s3_etag": "84af7a13d11209f716e8c8f86d68d983-16", - "sha256": "bc10beaa16bcfe1ea2a40379722f505214ebb816dfe44af6ac3145d1cde7d125", - "content-type": "application/gzip; dcp-type=data", - "size": 1019718897 - }, - "sequence_file/8e931218-861c-44c4-8768-b9afd33acffc": { - "sha1": "a3563bbf942ca2c60174a3df2f6cac8ad9fa7848", - "name": "MantonBM5_HiSeq_8_S8_L001_R2_001.fastq.gz", - "uuid": "8e931218-861c-44c4-8768-b9afd33acffc", - "crc32c": "04c4c323", - "version": "2018-03-29T09:02:23.025411Z", - "indexed": false, - "s3_etag": "7ef477098236d52f720b02f9a3f11427-51", - "sha256": "c9960057923033b877e159b2784bfe90994a37a478db2430610159daa8da3897", - "content-type": "application/gzip; dcp-type=data", - "size": 3400300750 - }, - "sequence_file/f308eed4-5954-4047-a18e-9c309d9fdab9": { - "sha1": "da55e496cc482fe61f51689ce94967c1021d6747", - "name": "MantonBM7_HiSeq_6_S21_L006_I1_001.fastq.gz", - "uuid": "f308eed4-5954-4047-a18e-9c309d9fdab9", - "crc32c": "83e69a06", - "version": "2018-03-29T09:03:07.149972Z", - "indexed": false, - "s3_etag": "4221ac5b735a8d0573fad49eca782f4a-5", - "sha256": "24f1c91b21ffc8ff4c0a17a4864ceda9e61b12b6a59c5b606fe40a686f608574", - "content-type": "application/gzip; dcp-type=data", - "size": 321880654 - }, - "sequence_file/06e4f4b4-9b0f-4ffc-ab2d-70fb659994b4": { - "sha1": "f0243ed48571e4c9b626c8d88e65f3ea352fec1c", - "name": "MantonBM7_HiSeq_3_S18_L006_R1_001.fastq.gz", - "uuid": "06e4f4b4-9b0f-4ffc-ab2d-70fb659994b4", - "crc32c": "0d6ea4dc", - "version": "2018-03-29T09:02:58.512699Z", - "indexed": false, - "s3_etag": "90c5a264fae6a8d9020ecf2583ea8137-16", - "sha256": "35bc16db18b7fcd68cfce9a419c89d2578d5d537772c93df40df2f5abd178838", - "content-type": "application/gzip; dcp-type=data", - "size": 1059942334 - }, - "sequence_file/3555957c-8ac8-4afc-ab54-866d1cac3b1f": { - "sha1": "25fd0d9c6fe44f500db19d5c570840a62d4a76e1", - "name": "MantonBM7_HiSeq_3_S18_L005_R2_001.fastq.gz", - "uuid": "3555957c-8ac8-4afc-ab54-866d1cac3b1f", - "crc32c": "026dec74", - "version": "2018-03-29T09:02:57.389610Z", - "indexed": false, - "s3_etag": "141fa3f5e5563a6bf88c5f9b8b47ea8d-40", - "sha256": "88417ffaeed5e31b47f6161cda0150b4f609246d4d353781e53192fb1fe6d50c", - "content-type": "application/gzip; dcp-type=data", - "size": 2642496004 - }, - "sequence_file/2ff31790-2e31-4056-ade6-a40b3333efbe": { - "sha1": "5a7fb773fb088cb80f294c1a7ed917c0c6e2b353", - "name": "MantonBM8_HiSeq_3_S26_L008_I1_001.fastq.gz", - "uuid": "2ff31790-2e31-4056-ade6-a40b3333efbe", - "crc32c": "e523f8ae", - "version": "2018-03-29T09:03:23.630806Z", - "indexed": false, - "s3_etag": "73e7ead6bb848a241cac4207811b8408-5", - "sha256": "87efe551ecbdf60b5705e5bdcf629adc09c7520653aaec3c4e9950c7b7f588ae", - "content-type": "application/gzip; dcp-type=data", - "size": 322516637 - }, - "sequence_file/cc95fef9-2681-4489-bc6c-1c5d494b29a8": { - "sha1": "3bb1dc136347aadc8d72fa3b854abdb05129e40d", - "name": "MantonBM7_HiSeq_7_S22_L006_I1_001.fastq.gz", - "uuid": "cc95fef9-2681-4489-bc6c-1c5d494b29a8", - "crc32c": "07709c5e", - "version": "2018-03-29T09:03:10.717940Z", - "indexed": false, - "s3_etag": "40604bd2b5a46d8824a4b623d9b1d784-5", - "sha256": "97304d5db169e81e099eb00d23e500d410493f51b42ea8a0cf7050954d0c677d", - "content-type": "application/gzip; dcp-type=data", - "size": 296833355 - }, - "sequence_file/b5110ae6-55e1-4fe8-bae2-9696e679057b": { - "sha1": "c5f719d24db284470eb38275ebac21916c93a36d", - "name": "MantonBM5_HiSeq_1_S1_L001_R2_001.fastq.gz", - "uuid": "b5110ae6-55e1-4fe8-bae2-9696e679057b", - "crc32c": "531d5e60", - "version": "2018-03-29T09:01:54.597561Z", - "indexed": false, - "s3_etag": "6960c29e876238007e7da31d2c13085a-56", - "sha256": "77cf7e02636707f9392aae11b6a51cb05aef4bf05e75630b1161b613e3a17793", - "content-type": "application/gzip; dcp-type=data", - "size": 3726293078 - }, - "sequence_file/5880c00e-4063-431e-8510-6cdaf5bb1c5d": { - "sha1": "575a57814679ed1d921639725df6a813b1326ea1", - "name": "MantonBM7_HiSeq_5_S20_L006_R2_001.fastq.gz", - "uuid": "5880c00e-4063-431e-8510-6cdaf5bb1c5d", - "crc32c": "dc271e90", - "version": "2018-03-29T09:03:04.888027Z", - "indexed": false, - "s3_etag": "b5c5bc6a3695375ef696d83d5347588d-43", - "sha256": "100f25a8cccc4302686a2396f54e73523c8c0552320d2c0b812cc9358ce47aa6", - "content-type": "application/gzip; dcp-type=data", - "size": 2835180042 - }, - "sequence_file/fc5adfc4-0bc4-45c3-8acd-429c56817520": { - "sha1": "05fb5194a4c4f94d36743abbd3e71a0a25e30ca5", - "name": "MantonBM6_HiSeq_1_S9_L004_R2_001.fastq.gz", - "uuid": "fc5adfc4-0bc4-45c3-8acd-429c56817520", - "crc32c": "a9505f33", - "version": "2018-03-29T09:02:27.166513Z", - "indexed": false, - "s3_etag": "f989f9191cc963dccc9f1d8d4d442ea4-61", - "sha256": "ad7f8a38940a60c08ac147e2c77b0339ec073dfb1d3799c01fde6871781ab8ac", - "content-type": "application/gzip; dcp-type=data", - "size": 4031554390 - }, - "sequence_file/0daa891b-8d87-416e-8b26-d44824de5bbd": { - "sha1": "a5676a7cf8957c358e4f12cc31908390b77acbb5", - "name": "MantonBM7_HiSeq_1_S16_L005_R2_001.fastq.gz", - "uuid": "0daa891b-8d87-416e-8b26-d44824de5bbd", - "crc32c": "b321bd30", - "version": "2018-03-29T09:02:51.642298Z", - "indexed": false, - "s3_etag": "cfbad4573fcfbcc4c52af78912c6eda8-35", - "sha256": "b50a17df144d38f767067fb4f0005f32ec1d7645fb5c3a49ab7d3bc3924361fb", - "content-type": "application/gzip; dcp-type=data", - "size": 2345803321 - }, - "sequence_file/4c9af689-d89d-4312-a12b-deeb03c2fdca": { - "sha1": "94ab00b9f719c562838bd14953540ae38009fbb8", - "name": "MantonBM5_HiSeq_3_S3_L001_I1_001.fastq.gz", - "uuid": "4c9af689-d89d-4312-a12b-deeb03c2fdca", - "crc32c": "b788ad3d", - "version": "2018-03-29T09:02:03.578825Z", - "indexed": false, - "s3_etag": "4fab43cd5b5f5aa856883d216e26e2e8-7", - "sha256": "e246f52ec17c0ce7b7b202e82311196452001daeb072989df1873e8e7a8c7fd3", - "content-type": "application/gzip; dcp-type=data", - "size": 461950027 - }, - "sequence_file/5e31c504-cb51-459e-a939-d49bc83d5d44": { - "sha1": "c287eedcaadbbbffea0ba9ca7b3c0a5e77a0235b", - "name": "MantonBM8_HiSeq_8_S31_L007_R1_001.fastq.gz", - "uuid": "5e31c504-cb51-459e-a939-d49bc83d5d44", - "crc32c": "d8d19836", - "version": "2018-03-29T09:03:38.518107Z", - "indexed": false, - "s3_etag": "972812556d80a54409c60ff04136e80e-15", - "sha256": "9000442fbbb129b4f86f28dced440d2080e8d7a5d37505382b6855f214b3c944", - "content-type": "application/gzip; dcp-type=data", - "size": 940066351 - }, - "sequence_file/c114f74d-6854-43ce-bc70-39ca8e45e86a": { - "sha1": "4ea8ef60c57243ed68bd6c0d759bdc42ba113252", - "name": "MantonBM6_HiSeq_8_S15_L004_R1_001.fastq.gz", - "uuid": "c114f74d-6854-43ce-bc70-39ca8e45e86a", - "crc32c": "6a29f668", - "version": "2018-03-29T09:02:48.262110Z", - "indexed": false, - "s3_etag": "b701a4a199fac51cba0319666b10ae77-22", - "sha256": "3c45272d173f3f1e9e30ad7940ad7bc32281889f2c401ca4c6ae90467714879f", - "content-type": "application/gzip; dcp-type=data", - "size": 1453432629 - }, - "sequence_file/518ee17c-7de1-4775-ad7d-167b2d2a8ad7": { - "sha1": "3e669c5b44d40777ede5b5eacb2b7e5509638227", - "name": "MantonBM6_HiSeq_6_S13_L004_I1_001.fastq.gz", - "uuid": "518ee17c-7de1-4775-ad7d-167b2d2a8ad7", - "crc32c": "6a619947", - "version": "2018-03-29T09:02:40.271252Z", - "indexed": false, - "s3_etag": "93f35da04d39b9d992b100a10e475b2c-8", - "sha256": "b0bb400e2ed4c93b507005ab5e84928751d20f86a8be3f54ed3b232b40765825", - "content-type": "application/gzip; dcp-type=data", - "size": 523935897 - }, - "sequence_file/f488ad13-8645-4cc4-99d1-b3b72e8723c8": { - "sha1": "b016a7d9883f3e332fe2235b911e3145a3a77694", - "name": "MantonBM6_HiSeq_7_S14_L003_I1_001.fastq.gz", - "uuid": "f488ad13-8645-4cc4-99d1-b3b72e8723c8", - "crc32c": "da3f03d1", - "version": "2018-03-29T09:02:46.179548Z", - "indexed": false, - "s3_etag": "968099bb4d0e4b44d64db13a3716f5f1-7", - "sha256": "aaf9d57a58ad51a0b2d132a26cfba45437793583c7e0bb947dbd0297d3e4c322", - "content-type": "application/gzip; dcp-type=data", - "size": 433334509 - }, - "sequence_file/1ffaf155-7ff8-4fe4-9cc2-352f7ec0ef1c": { - "sha1": "862974c6a9d9f4b602c67a2b2cbd88fb360f1751", - "name": "MantonBM7_HiSeq_5_S20_L006_R1_001.fastq.gz", - "uuid": "1ffaf155-7ff8-4fe4-9cc2-352f7ec0ef1c", - "crc32c": "27c965e3", - "version": "2018-03-29T09:03:04.492027Z", - "indexed": false, - "s3_etag": "878a63fe8dcc609b8cbaab693da15ea0-15", - "sha256": "8969f0066ecae3c1a9d44258e1a6494eabe59884c8ac91d5d368e7210348aada", - "content-type": "application/gzip; dcp-type=data", - "size": 973474498 - }, - "sequence_file/ea6245c2-e8ee-4185-ae2f-0389a5bae598": { - "sha1": "324ffbc614bad240bdec254bdf95551bc5a28206", - "name": "MantonBM8_HiSeq_1_S24_L007_I1_001.fastq.gz", - "uuid": "ea6245c2-e8ee-4185-ae2f-0389a5bae598", - "crc32c": "47a805c1", - "version": "2018-03-29T09:03:16.191347Z", - "indexed": false, - "s3_etag": "6add849c057693d0fdbbe898ed454e72-6", - "sha256": "8a3bc704bf59ae8cb4b635b0b026652c141a20144313180b9d9aed225fee8ca7", - "content-type": "application/gzip; dcp-type=data", - "size": 367922778 - }, - "sequence_file/6ae60ce7-ae0a-421b-96f7-7954cad9cbfb": { - "sha1": "5d5d82598ad59fcca6bfdcce6bbb1d94a068deef", - "name": "MantonBM6_HiSeq_6_S13_L004_R1_001.fastq.gz", - "uuid": "6ae60ce7-ae0a-421b-96f7-7954cad9cbfb", - "crc32c": "304b7ce8", - "version": "2018-03-29T09:02:41.147229Z", - "indexed": false, - "s3_etag": "0d4bf96189f3d646ece16c36fc8a6c25-23", - "sha256": "79956771b6d02f203c10bfcbc7e9bc56fbe5e56d83febb6b030880cbac56251d", - "content-type": "application/gzip; dcp-type=data", - "size": 1533491443 - }, - "sequence_file/63c98bcc-255f-4efc-9712-e824463fbd2f": { - "sha1": "e2cebb8793d318bca6c644b67c706f1086650237", - "name": "MantonBM5_HiSeq_7_S7_L001_I1_001.fastq.gz", - "uuid": "63c98bcc-255f-4efc-9712-e824463fbd2f", - "crc32c": "9fadb1d6", - "version": "2018-03-29T09:02:18.431317Z", - "indexed": false, - "s3_etag": "1150e734ca1e219ea3ba1009da6bac20-5", - "sha256": "66cd62bcbabf00b82c3198e8b7496d2ffd168500652220a6d4eec6bfef99e198", - "content-type": "application/gzip; dcp-type=data", - "size": 334936155 - }, - "sequence_file/274e4b04-3174-46f1-bba5-004bb1ed2cc5": { - "sha1": "25193b3b6dcb7c27ae3abb603fc4a29f81dd78b1", - "name": "MantonBM8_HiSeq_7_S30_L007_R1_001.fastq.gz", - "uuid": "274e4b04-3174-46f1-bba5-004bb1ed2cc5", - "crc32c": "de817044", - "version": "2018-03-29T09:03:35.631573Z", - "indexed": false, - "s3_etag": "2584b487d3c9b420c46be74f2a9024ae-16", - "sha256": "12a7aca3af0bb1b83ea0214d6a887b0e009f09b42f282e483ed7f2c275407b47", - "content-type": "application/gzip; dcp-type=data", - "size": 1035394960 - }, - "sequence_file/7d516073-474d-4359-973d-3c454f2e080a": { - "sha1": "b7b84da638b73fdb7adb6c9c1e853179281c3e87", - "name": "MantonBM7_HiSeq_5_S20_L005_I1_001.fastq.gz", - "uuid": "7d516073-474d-4359-973d-3c454f2e080a", - "crc32c": "0ad84937", - "version": "2018-03-29T09:03:02.561742Z", - "indexed": false, - "s3_etag": "943302d642332098d285e0c1d3a30d60-5", - "sha256": "37f28672f4060e87c0bc5f3767ff23edb4518948d44d6de6aad854ee1b43bb22", - "content-type": "application/gzip; dcp-type=data", - "size": 274954915 - }, - "sequence_file/aa24229f-3be5-495b-9989-d9e793056993": { - "sha1": "e3ab9ac0eda935ef976a437cbb10676b2388f267", - "name": "MantonBM8_HiSeq_3_S26_L008_R2_001.fastq.gz", - "uuid": "aa24229f-3be5-495b-9989-d9e793056993", - "crc32c": "471b2913", - "version": "2018-03-29T09:03:24.573876Z", - "indexed": false, - "s3_etag": "924268372d1cba0ad545c1334b4203fe-43", - "sha256": "f3175362baed6f2f29af4e340839c193e1a9d259b54d30ed9c2ee0c78e34d022", - "content-type": "application/gzip; dcp-type=data", - "size": 2865053166 - }, - "sequence_file/4927cc7d-e23c-4c58-91c7-7af793f35f07": { - "sha1": "e157509dd6a35540b2b94acc11da0193a1ea892c", - "name": "MantonBM5_HiSeq_5_S5_L002_R1_001.fastq.gz", - "uuid": "4927cc7d-e23c-4c58-91c7-7af793f35f07", - "crc32c": "6b6a44b7", - "version": "2018-03-29T09:02:14.476222Z", - "indexed": false, - "s3_etag": "8e470b1e02e0f79e862a5ed601dcefe1-20", - "sha256": "0485263dd821138d74d92a6dd8b0c051a994e118ae1a9458f7e7128385a0aa45", - "content-type": "application/gzip; dcp-type=data", - "size": 1335705855 - }, - "sequence_file/2df110bc-9016-4bf6-a622-e4fab70b82ca": { - "sha1": "69d21f8373a1e8c6f37def499dfa6af3fd6dc60a", - "name": "MantonBM7_HiSeq_4_S19_L006_I1_001.fastq.gz", - "uuid": "2df110bc-9016-4bf6-a622-e4fab70b82ca", - "crc32c": "a9df9668", - "version": "2018-03-29T09:03:01.051337Z", - "indexed": false, - "s3_etag": "b62e3a7b987581fb517b785588f91f27-6", - "sha256": "cccb1684f2c9788f5656291a33e29f194716fb0a3c63af69ad79086c11a94143", - "content-type": "application/gzip; dcp-type=data", - "size": 398860587 - }, - "sequence_file/7ded5e63-c50e-4854-9be7-1cb206fa3d7f": { - "sha1": "da4c7abbe7959cdfab2a97daa2960100118f2845", - "name": "MantonBM5_HiSeq_2_S2_L001_R2_001.fastq.gz", - "uuid": "7ded5e63-c50e-4854-9be7-1cb206fa3d7f", - "crc32c": "fd772d4b", - "version": "2018-03-29T09:01:58.251347Z", - "indexed": false, - "s3_etag": "90c01b20409b2a89d9e5c0facfeb17c7-58", - "sha256": "f4aae3b7573d70ae1b20508c1216d7e6e2e0ade0e86ac1c1ff2ffdf5ffad85fa", - "content-type": "application/gzip; dcp-type=data", - "size": 3847682243 - }, - "sequence_file/09d8668c-bf1a-4ee5-9f9d-c5c17dc97509": { - "sha1": "42cde5b661ec41eb5e7cb5c6c6e1b7d67d3717b6", - "name": "MantonBM5_HiSeq_4_S4_L002_R2_001.fastq.gz", - "uuid": "09d8668c-bf1a-4ee5-9f9d-c5c17dc97509", - "crc32c": "ee804b92", - "version": "2018-03-29T09:02:11.126189Z", - "indexed": false, - "s3_etag": "4b3be349c4e781b10bf053cb1cd9c8ca-57", - "sha256": "7a8d50f86cff1f73ecc0367b2a75f4a1fdfa02bc04004e28634f646b3dc0708f", - "content-type": "application/gzip; dcp-type=data", - "size": 3766676445 - }, - "sequence_file/5483a55b-cd36-4477-adcf-37172a856bfc": { - "sha1": "ac620a767f8f09e50891c9b99693d8f080091305", - "name": "MantonBM5_HiSeq_3_S3_L002_R2_001.fastq.gz", - "uuid": "5483a55b-cd36-4477-adcf-37172a856bfc", - "crc32c": "76400db8", - "version": "2018-03-29T09:02:06.781789Z", - "indexed": false, - "s3_etag": "2fb7936b051e8aa07dac38db4454419c-59", - "sha256": "785694707e52a0da064c8bd63329d3cde0f40492f58920c49f5245e28725ec5a", - "content-type": "application/gzip; dcp-type=data", - "size": 3935000873 - }, - "sequence_file/d7bbc88d-ea41-483f-940a-332989f6dd75": { - "sha1": "8544b887151fc5a0b5718a80e509ce578a3a3b62", - "name": "MantonBM8_HiSeq_3_S26_L007_R2_001.fastq.gz", - "uuid": "d7bbc88d-ea41-483f-940a-332989f6dd75", - "crc32c": "ac3d3361", - "version": "2018-03-29T09:03:23.143785Z", - "indexed": false, - "s3_etag": "41aed306fdcecd7fc9fc1f60c17cad6b-45", - "sha256": "ac33a678cd07070a8437ddab34ee4b2437a91121309bda1bc7833be975add99b", - "content-type": "application/gzip; dcp-type=data", - "size": 3016393123 - }, - "sequence_file/b1d872b0-620d-4965-b6e8-aba6ea4d104d": { - "sha1": "9e42ff12ccda5862a499f745b12311ff02460b14", - "name": "MantonBM6_HiSeq_4_S11_L004_I1_001.fastq.gz", - "uuid": "b1d872b0-620d-4965-b6e8-aba6ea4d104d", - "crc32c": "6125ad7a", - "version": "2018-03-29T09:02:30.397241Z", - "indexed": false, - "s3_etag": "6e20cf075139ecce2be8aea9d747b7b5-7", - "sha256": "af3e43b2cbb46e6679bb6c29a2aeb8b8386a8bcda923b96aaac66c20eb378b39", - "content-type": "application/gzip; dcp-type=data", - "size": 457871003 - }, - "sequence_file/f762562b-2408-4e17-ba4a-493cdb8e0e3f": { - "sha1": "68271405cb3b0a7d4ba35f1a6e5fa79dcc9954c8", - "name": "MantonBM6_HiSeq_1_S9_L003_R1_001.fastq.gz", - "uuid": "f762562b-2408-4e17-ba4a-493cdb8e0e3f", - "crc32c": "c9c7adb0", - "version": "2018-03-29T09:02:25.445459Z", - "indexed": false, - "s3_etag": "ca22b684f2f78299b9c746ad5bce6d38-21", - "sha256": "52ed33e72a8800fab4a03c9b09d1646093b03de44458fd728a1952b7888219a0", - "content-type": "application/gzip; dcp-type=data", - "size": 1371915564 - }, - "sequence_file/2a6cf1cd-1599-44ef-86e5-511a18e23262": { - "sha1": "ac23ac94d4a1cd48be062f3f7439c431139f000d", - "name": "MantonBM5_HiSeq_1_S1_L001_R1_001.fastq.gz", - "uuid": "2a6cf1cd-1599-44ef-86e5-511a18e23262", - "crc32c": "0257b2af", - "version": "2018-03-29T09:01:52.691623Z", - "indexed": false, - "s3_etag": "fd605de5052f1fc2eef0351311f02388-20", - "sha256": "44bafbc0709f5d699097c00182f20ba9d803b640b7905fbc7d0e2be5c33c3e0a", - "content-type": "application/gzip; dcp-type=data", - "size": 1279456120 - }, - "sequence_file/93e242a1-3d4b-491b-9d5f-02e038e212cb": { - "sha1": "443c2311d71ab967c44af9a3088c1e38dcd9d44e", - "name": "MantonBM8_HiSeq_8_S31_L008_I1_001.fastq.gz", - "uuid": "93e242a1-3d4b-491b-9d5f-02e038e212cb", - "crc32c": "080870ce", - "version": "2018-03-29T09:03:39.409199Z", - "indexed": false, - "s3_etag": "9294110428f0c288ddae4ddcb6c67a09-5", - "sha256": "8a3f8f3a1fe2bec814f79fc61e25570dbbdebaf2ff284d822a0a59350f1214d8", - "content-type": "application/gzip; dcp-type=data", - "size": 289917610 - }, - "sequence_file/9ab7ac35-d262-49cb-9994-f5da5f94b342": { - "sha1": "000aae6b7d464a8335b5e8916a24eb60f44e44bd", - "name": "MantonBM5_HiSeq_6_S6_L001_I1_001.fastq.gz", - "uuid": "9ab7ac35-d262-49cb-9994-f5da5f94b342", - "crc32c": "45141dd2", - "version": "2018-03-29T09:02:15.547603Z", - "indexed": false, - "s3_etag": "f3ca9ed02387014e38b5214620a865b9-7", - "sha256": "3e36d828ca90e77452a9038323875fb3e24729c55b15f29a103d17cce4c755b9", - "content-type": "application/gzip; dcp-type=data", - "size": 434097395 - }, - "sequence_file/1780aa95-bd16-4cb9-814e-d3900d4787d7": { - "sha1": "7fef3e5574fa25c974b7709282d0e3877a586621", - "name": "MantonBM7_HiSeq_6_S21_L005_I1_001.fastq.gz", - "uuid": "1780aa95-bd16-4cb9-814e-d3900d4787d7", - "crc32c": "f8fbba97", - "version": "2018-03-29T09:03:05.371771Z", - "indexed": false, - "s3_etag": "d14d55589fc241e107cf9821f27392e1-5", - "sha256": "1aba49da238b1ac86f668298ede05eddda9e6b828046ae9c2f40c4abd3f15841", - "content-type": "application/gzip; dcp-type=data", - "size": 275332227 - }, - "sequence_file/a26ee1d9-5dbf-46f8-a047-00d74b1b628a": { - "sha1": "2f3cf70ab5d79c66f94733954690109b783cd447", - "name": "MantonBM5_HiSeq_6_S6_L001_R2_001.fastq.gz", - "uuid": "a26ee1d9-5dbf-46f8-a047-00d74b1b628a", - "crc32c": "c9ac0076", - "version": "2018-03-29T09:02:16.365464Z", - "indexed": false, - "s3_etag": "19cdcc5b5387dfda2f1e0d8885f8ff9f-56", - "sha256": "fa071ab022da79914b8d86b80d54e8da8dc210bd6401c94b946a8935ae2cbc5e", - "content-type": "application/gzip; dcp-type=data", - "size": 3705304970 - }, - "sequence_file/8ad83172-07ee-4726-85b0-fe19b885a169": { - "sha1": "b8f7a4521d66076402c270b733f44257fd20a225", - "name": "MantonBM6_HiSeq_5_S12_L003_R1_001.fastq.gz", - "uuid": "8ad83172-07ee-4726-85b0-fe19b885a169", - "crc32c": "ad4d7486", - "version": "2018-03-29T09:02:39.162605Z", - "indexed": false, - "s3_etag": "dfae8bf80dee9f2b0d8b50f39f1c3875-21", - "sha256": "364fcbc949dfeb08ae822d3bfb428e45780b2ca7990715a66215154dd5f05fab", - "content-type": "application/gzip; dcp-type=data", - "size": 1393779135 - }, - "sequence_file/245b8d93-3fc9-4ad6-b000-55046061a119": { - "sha1": "1a356da3b6ff5832571f7145acd8a46b0ee19047", - "name": "MantonBM5_HiSeq_7_S7_L001_R2_001.fastq.gz", - "uuid": "245b8d93-3fc9-4ad6-b000-55046061a119", - "crc32c": "397b5ade", - "version": "2018-03-29T09:02:19.595136Z", - "indexed": false, - "s3_etag": "c0fd856658c38ab080b026c062ac1ac9-43", - "sha256": "fd601ade17873f31b1732fb7e05f519e34b1a5861dbf34b56bd6136f2df48863", - "content-type": "application/gzip; dcp-type=data", - "size": 2837058758 - }, - "sequence_file/7422fc7e-ed66-49a2-a207-30d72c93d0a1": { - "sha1": "0307c69afd8ae73ccab44149f84f2e074f148327", - "name": "MantonBM6_HiSeq_5_S12_L003_I1_001.fastq.gz", - "uuid": "7422fc7e-ed66-49a2-a207-30d72c93d0a1", - "crc32c": "5624f557", - "version": "2018-03-29T09:02:38.705552Z", - "indexed": false, - "s3_etag": "5198111424a3b3410fcfc71b1aadf8c0-7", - "sha256": "54e5f1c43a8368645216da60ecf45b861c1ef34c093f4cd1e4c093c1dacd92e3", - "content-type": "application/gzip; dcp-type=data", - "size": 459300005 - }, - "sequence_file/0954f798-7318-4612-bad7-cd3f9b181d3a": { - "sha1": "7cf3ea8430c9e5cb4d9701f94ff45a62bd61a6e5", - "name": "MantonBM6_HiSeq_1_S9_L003_R2_001.fastq.gz", - "uuid": "0954f798-7318-4612-bad7-cd3f9b181d3a", - "crc32c": "c5aedaba", - "version": "2018-03-29T09:02:25.989493Z", - "indexed": false, - "s3_etag": "49beb1d01c8360c9981ae996f5400813-60", - "sha256": "bd0a8995fc17d6b0167727f608b5057e895d4fc29428002e41dd70f6f62faa10", - "content-type": "application/gzip; dcp-type=data", - "size": 4017696816 - }, - "sequence_file/86d25b68-ffb0-4fd4-bf48-10f6c3c184a5": { - "sha1": "5fd6b9bcf2afc7a3da7a8bf92a1608ea504ee786", - "name": "MantonBM8_HiSeq_7_S30_L007_R2_001.fastq.gz", - "uuid": "86d25b68-ffb0-4fd4-bf48-10f6c3c184a5", - "crc32c": "9ba7479b", - "version": "2018-03-29T09:03:36.096402Z", - "indexed": false, - "s3_etag": "24501d2ae994e2f8a570f7ec61fe132d-46", - "sha256": "036babad169b9c9ff2be39840279f8191813304126e34f9b51fe3590b21a8a3f", - "content-type": "application/gzip; dcp-type=data", - "size": 3049501318 - }, - "sequence_file/be263698-8ffb-4263-902a-5dea68d18df5": { - "sha1": "e73fd418dc52977d5e8d5eda6dab2829dd78c939", - "name": "MantonBM7_HiSeq_4_S19_L005_R1_001.fastq.gz", - "uuid": "be263698-8ffb-4263-902a-5dea68d18df5", - "crc32c": "265f94e2", - "version": "2018-03-29T09:03:00.038462Z", - "indexed": false, - "s3_etag": "4e4a61770f0eb506da0cd202e88875d5-17", - "sha256": "2395e2bc8cfec7aa499438869a4943c6397a8b1317514e8aacd67b3c200de7ec", - "content-type": "application/gzip; dcp-type=data", - "size": 1087760255 - }, - "sequence_file/9e8a07ac-ad93-4a5e-90d8-c0e478e18342": { - "sha1": "bd0100e46736745a051f04804e1ee58123973649", - "name": "MantonBM5_HiSeq_7_S7_L002_I1_001.fastq.gz", - "uuid": "9e8a07ac-ad93-4a5e-90d8-c0e478e18342", - "crc32c": "e8dff086", - "version": "2018-03-29T09:02:20.026204Z", - "indexed": false, - "s3_etag": "130542c3e927668fa16de28134f77213-5", - "sha256": "676180d08d960e2e530586bc2be1e8bf9f36bf5e2680644bf3f1786759526377", - "content-type": "application/gzip; dcp-type=data", - "size": 319524227 - }, - "sequence_file/31ad52e7-70e8-4e3e-9cd7-0d8d8b1b4331": { - "sha1": "1c3979becd1da06e518aba2177e4f6cbe725eb53", - "name": "MantonBM8_HiSeq_7_S30_L008_R2_001.fastq.gz", - "uuid": "31ad52e7-70e8-4e3e-9cd7-0d8d8b1b4331", - "crc32c": "53a37eb1", - "version": "2018-03-29T09:03:37.618169Z", - "indexed": false, - "s3_etag": "b52e07d825515560f7063959223ecc2a-44", - "sha256": "f3519380320d696dad2405ac83d46f89e221613d7022f1d24b78359a9533514e", - "content-type": "application/gzip; dcp-type=data", - "size": 2900509710 - }, - "sequence_file/01842746-1644-436e-a1e5-aa3b59e2b8d6": { - "sha1": "754a0b63234fda0d6b5ed476419914bcbb5b09e8", - "name": "MantonBM7_HiSeq_5_S20_L005_R2_001.fastq.gz", - "uuid": "01842746-1644-436e-a1e5-aa3b59e2b8d6", - "crc32c": "61544a03", - "version": "2018-03-29T09:03:03.533011Z", - "indexed": false, - "s3_etag": "51cf3f310436a84cf538bc57b7dbe992-37", - "sha256": "4b5f74848031ead1a53681f406aa43789c6754e0e98bfeab7dcced7181480347", - "content-type": "application/gzip; dcp-type=data", - "size": 2424410895 - }, - "sequence_file/39351ee0-89c3-499d-a820-5bece48704d5": { - "sha1": "fc016b9021812630a550477352821391d85d2d1e", - "name": "MantonBM5_HiSeq_1_S1_L001_I1_001.fastq.gz", - "uuid": "39351ee0-89c3-499d-a820-5bece48704d5", - "crc32c": "3de3333b", - "version": "2018-03-29T09:01:52.133899Z", - "indexed": false, - "s3_etag": "76dadc7b9cdf1b7695211ff3765bcf72-7", - "sha256": "fe8fe8bd8b4895bb4249ce8b934e7e38495b2b684f8595562ae89a8affdb97ca", - "content-type": "application/gzip; dcp-type=data", - "size": 435833838 - }, - "sequence_file/33be88bb-3b38-4076-b9e1-1d73b48954b8": { - "sha1": "31716d153b3ba36da04c5e342d3f63a5a1296212", - "name": "MantonBM5_HiSeq_4_S4_L001_R1_001.fastq.gz", - "uuid": "33be88bb-3b38-4076-b9e1-1d73b48954b8", - "crc32c": "2e390464", - "version": "2018-03-29T09:02:08.165171Z", - "indexed": false, - "s3_etag": "b8ee522af967fcc8beb8bbeec765a2ee-20", - "sha256": "189a3a196081183b9f8c1f835b5c15cd29bc367dfdb5f116701ff93417ad28d5", - "content-type": "application/gzip; dcp-type=data", - "size": 1285247308 - }, - "sequence_file/da84551f-0859-46fd-aaa2-4797cd373991": { - "sha1": "ad1f3b92c3a5dae50b685e6724764f000d38f0f2", - "name": "MantonBM8_HiSeq_6_S29_L008_R2_001.fastq.gz", - "uuid": "da84551f-0859-46fd-aaa2-4797cd373991", - "crc32c": "47767f99", - "version": "2018-03-29T09:03:34.616706Z", - "indexed": false, - "s3_etag": "f43a767fb4ee8038a8aeb3e89832a80c-45", - "sha256": "06f4fb28ae5065ef6e22950e48938b28b15093f5bbba73cfac17f87fbe5931c5", - "content-type": "application/gzip; dcp-type=data", - "size": 3006708838 - }, - "sequence_file/af34f522-9a30-48b3-ba70-7600401a871b": { - "sha1": "7f2fb52ad4500ce4b150e8cd29c1861206e2fb0c", - "name": "MantonBM6_HiSeq_8_S15_L004_I1_001.fastq.gz", - "uuid": "af34f522-9a30-48b3-ba70-7600401a871b", - "crc32c": "dddc495a", - "version": "2018-03-29T09:02:47.657830Z", - "indexed": false, - "s3_etag": "0cbcb1a01ee7022740e01c6ca250b191-7", - "sha256": "1e1e6884528e08a8a4e2e211a57b404d77db480ff1f6c04edf31570c23620c58", - "content-type": "application/gzip; dcp-type=data", - "size": 466050642 - }, - "sequence_file/abb46e44-0aba-4814-a7f4-b9b62fb5f6ad": { - "sha1": "726a0fdc8b3e50e97ab5161959267c05b3ffbca2", - "name": "MantonBM8_HiSeq_6_S29_L007_R1_001.fastq.gz", - "uuid": "abb46e44-0aba-4814-a7f4-b9b62fb5f6ad", - "crc32c": "0c9f0c97", - "version": "2018-03-29T09:03:32.048568Z", - "indexed": false, - "s3_etag": "c69eaacb2399ea812fcb4a498443c2c8-17", - "sha256": "d555b5d52424461932dcc5c4d0c34a45a1df103e78334f90a181787ff928b8f8", - "content-type": "application/gzip; dcp-type=data", - "size": 1074242114 - }, - "sequence_file/9b34f6ca-9952-4fbd-b55b-e06e44094463": { - "sha1": "7b780ca87985c2556c2bd05409e0445361661933", - "name": "MantonBM8_HiSeq_4_S27_L007_I1_001.fastq.gz", - "uuid": "9b34f6ca-9952-4fbd-b55b-e06e44094463", - "crc32c": "98e87a72", - "version": "2018-03-29T09:03:25.164264Z", - "indexed": false, - "s3_etag": "5ae3a6942d9735e8474f7e5b231418d5-6", - "sha256": "78f0c5d5a546eb772957d79f28b6c2591f02cefca4531ff7636905af261bd37f", - "content-type": "application/gzip; dcp-type=data", - "size": 375951507 - }, - "sequence_file/c9ad441e-28a2-47b8-998e-48d48936ed64": { - "sha1": "36cb761af70c7ccd5b17badc6c91f891194727e4", - "name": "MantonBM7_HiSeq_5_S20_L005_R1_001.fastq.gz", - "uuid": "c9ad441e-28a2-47b8-998e-48d48936ed64", - "crc32c": "f1fbe9c2", - "version": "2018-03-29T09:03:03.001708Z", - "indexed": false, - "s3_etag": "77c2dcba7f5300047454f7b79b49e63a-13", - "sha256": "8782c5ddb292267d3762b044f03bab224475b7baf5e5dbae31e488cb7772d59a", - "content-type": "application/gzip; dcp-type=data", - "size": 831563901 - }, - "sequence_file/f2edefd2-c29c-470d-8879-3d480a6c55f9": { - "sha1": "99499545aed42e9810993536ed05c24ae4bb0a03", - "name": "MantonBM8_HiSeq_1_S24_L008_I1_001.fastq.gz", - "uuid": "f2edefd2-c29c-470d-8879-3d480a6c55f9", - "crc32c": "f257c8c2", - "version": "2018-03-29T09:03:17.821084Z", - "indexed": false, - "s3_etag": "2dc7ee64662705b3c0e7ac27c91b467f-6", - "sha256": "de8fa4ed79353c7ce6e1672defbe41d42e04e0f3695a0d5541869587c227e66f", - "content-type": "application/gzip; dcp-type=data", - "size": 351664422 - }, - "sequence_file/c000533a-432f-4733-bc22-16e4bb89382b": { - "sha1": "129201e108bf5943a20997ff3a9e27f8032d01f0", - "name": "MantonBM5_HiSeq_2_S2_L002_I1_001.fastq.gz", - "uuid": "c000533a-432f-4733-bc22-16e4bb89382b", - "crc32c": "4af5dec4", - "version": "2018-03-29T09:02:00.977951Z", - "indexed": false, - "s3_etag": "498bf7441c3c3d254bd8f172ff7b520b-7", - "sha256": "ac82856de92172441f8e5d9048bb40920379ca39cf078233a8dec9e165e43176", - "content-type": "application/gzip; dcp-type=data", - "size": 421226755 - }, - "sequence_file/9f2d4e6d-3f38-44f6-b16c-100cfce72797": { - "sha1": "b2f090ff7881402e16237e8aef738d813068a525", - "name": "MantonBM6_HiSeq_7_S14_L004_I1_001.fastq.gz", - "uuid": "9f2d4e6d-3f38-44f6-b16c-100cfce72797", - "crc32c": "63506a3a", - "version": "2018-03-29T09:02:44.457875Z", - "indexed": false, - "s3_etag": "5901220eeba8a0c7493ef79d0d9ee125-7", - "sha256": "07bf905ad556eae9a5c31e1347dc3d24246d5df312d06655f4b1888364541d5a", - "content-type": "application/gzip; dcp-type=data", - "size": 434994933 - }, - "sequence_file/487e2d7f-320d-4d75-9d34-3a0fb791c553": { - "sha1": "3f1b51f33338167d3d6009936d1a6f2c97986d82", - "name": "MantonBM8_HiSeq_7_S30_L008_R1_001.fastq.gz", - "uuid": "487e2d7f-320d-4d75-9d34-3a0fb791c553", - "crc32c": "585ab7c1", - "version": "2018-03-29T09:03:37.129122Z", - "indexed": false, - "s3_etag": "731e32dbe971384552f71021185ef40c-15", - "sha256": "32d97fa0c30ea96659e621826f298b88f3ce4497a5c61fb0979890738f788d7c", - "content-type": "application/gzip; dcp-type=data", - "size": 977921734 - }, - "sequence_file/719f581d-3481-4fe5-a3c5-2eb9054d07ec": { - "sha1": "c74f21e64bedf8d5fdcc72fe21a85f8f157d3301", - "name": "MantonBM5_HiSeq_1_S1_L002_R2_001.fastq.gz", - "uuid": "719f581d-3481-4fe5-a3c5-2eb9054d07ec", - "crc32c": "6f03cae2", - "version": "2018-03-29T09:01:55.975603Z", - "indexed": false, - "s3_etag": "ba5f749d4266d13e15fa182809bf8b0c-56", - "sha256": "5bfe4ae0907916a1657fcee0d754ce26df02b64b89beffba411833aeb6b3214d", - "content-type": "application/gzip; dcp-type=data", - "size": 3754462172 - }, - "sequence_file/b4295e23-f872-4b5f-ac4e-0da6a53e39b8": { - "sha1": "b387775a7b1c4cc677ad61af06b0510f8b241803", - "name": "MantonBM5_HiSeq_7_S7_L001_R1_001.fastq.gz", - "uuid": "b4295e23-f872-4b5f-ac4e-0da6a53e39b8", - "crc32c": "0fc29170", - "version": "2018-03-29T09:02:19.202257Z", - "indexed": false, - "s3_etag": "524af016ccb32f8dfce68884af2a7e35-15", - "sha256": "a8011bf8f4f40d11915d63a32e9f37a23a00dbbb033debb0ecfb51523c223082", - "content-type": "application/gzip; dcp-type=data", - "size": 987901344 - }, - "sequence_file/139d2d79-11a0-4092-babd-2b27a6b42027": { - "sha1": "05d002d319cc5c76c3cf5421e6e692ed5e17b20a", - "name": "MantonBM5_HiSeq_4_S4_L001_R2_001.fastq.gz", - "uuid": "139d2d79-11a0-4092-babd-2b27a6b42027", - "crc32c": "357e6f0f", - "version": "2018-03-29T09:02:09.757481Z", - "indexed": false, - "s3_etag": "6cc1ccae12dde509912b6256d42aa8f1-56", - "sha256": "ae9b4834e42fc315230a3e650b7d5861b72e0effd635f05238eb41bf0fe49962", - "content-type": "application/gzip; dcp-type=data", - "size": 3743904580 - }, - "sequence_file/cd7ee2a1-6c69-4714-8306-a347a4f28616": { - "sha1": "ab8cb349b5c95fb2c791a8b3f3f00dcb06ce9743", - "name": "MantonBM8_HiSeq_1_S24_L007_R2_001.fastq.gz", - "uuid": "cd7ee2a1-6c69-4714-8306-a347a4f28616", - "crc32c": "397c125a", - "version": "2018-03-29T09:03:17.382747Z", - "indexed": false, - "s3_etag": "e1ffadbc155792bcabdde870ab82342d-51", - "sha256": "f87f8b9b10d208d1933ed8e9c60ed70ca3cac8e0636b3f4b1a8bb79f8fad71ff", - "content-type": "application/gzip; dcp-type=data", - "size": 3360791819 - }, - "sequence_file/1acc5ab3-c91c-4095-8713-18299a0b02d2": { - "sha1": "85f7e23cbc2faeae9251247356e53f6e6d61d800", - "name": "MantonBM6_HiSeq_4_S11_L003_I1_001.fastq.gz", - "uuid": "1acc5ab3-c91c-4095-8713-18299a0b02d2", - "crc32c": "e5756b5e", - "version": "2018-03-29T09:02:31.892375Z", - "indexed": false, - "s3_etag": "7a64d9523be4b21f2da2f0d109b5f70f-7", - "sha256": "7b0fa63d9e390cd6eeeb45fe16c796e4b1b49b04c8ba3d5132c534028db53cb8", - "content-type": "application/gzip; dcp-type=data", - "size": 457869449 - }, - "sequence_file/bad6ed96-930c-47a9-b851-d527af7136e3": { - "sha1": "c227ae96d401ee25bd93501ae7c838f7cd96ec8a", - "name": "MantonBM7_HiSeq_8_S23_L006_R2_001.fastq.gz", - "uuid": "bad6ed96-930c-47a9-b851-d527af7136e3", - "crc32c": "af2f0141", - "version": "2018-03-29T09:03:15.717103Z", - "indexed": false, - "s3_etag": "7a06af9db21dfb61b7b85f3a383a72d2-44", - "sha256": "b5354492845fbe715395b1295ba66fb28dd21a4d7ea6493de5896241ea7ff1b0", - "content-type": "application/gzip; dcp-type=data", - "size": 2935656559 - }, - "sequence_file/c17745c1-7217-4771-aaac-d5bf35072343": { - "sha1": "50ad86d452cc07de058e1c78203b10024d1fda3c", - "name": "MantonBM7_HiSeq_5_S20_L006_I1_001.fastq.gz", - "uuid": "c17745c1-7217-4771-aaac-d5bf35072343", - "crc32c": "b7aa2912", - "version": "2018-03-29T09:03:04.035909Z", - "indexed": false, - "s3_etag": "eb8aec41b88ee194ad0e3ff51e029314-5", - "sha256": "bce5280f2a523a462e29203d406e75782d37d7c9f82e9b979033bf11e10b1c9e", - "content-type": "application/gzip; dcp-type=data", - "size": 317526124 - }, - "sequence_file/4d2ec95d-d00b-44a7-9119-a53b5db1b181": { - "sha1": "253c86e47aaf59049b70b786dd0db1c574bd325c", - "name": "MantonBM7_HiSeq_1_S16_L005_I1_001.fastq.gz", - "uuid": "4d2ec95d-d00b-44a7-9119-a53b5db1b181", - "crc32c": "85da7b58", - "version": "2018-03-29T09:02:50.567712Z", - "indexed": false, - "s3_etag": "b134f23f646b92911ce1eacae8feab25-4", - "sha256": "22171025a0a644409c6e9a562aad639c0acd37fbbfb40e283cf065af5c056083", - "content-type": "application/gzip; dcp-type=data", - "size": 262263083 - }, - "sequence_file/8f9c317e-74ec-4262-b401-3e2a047d81f3": { - "sha1": "82ea21a2f608a8becf82296f1f81128a8e1d40ac", - "name": "MantonBM6_HiSeq_1_S9_L004_I1_001.fastq.gz", - "uuid": "8f9c317e-74ec-4262-b401-3e2a047d81f3", - "crc32c": "63cff87b", - "version": "2018-03-29T09:02:26.272038Z", - "indexed": false, - "s3_etag": "db608a2d358d42056cbd659965779be2-7", - "sha256": "8208e2f432173029f4bba974f0690efa7048e76f2822f2bae4006bbc081832b5", - "content-type": "application/gzip; dcp-type=data", - "size": 440416111 - }, - "sequence_file/00424825-4dfe-4afc-a8a8-c5bffdaada00": { - "sha1": "efb32dbe174817ab733fefa45dd2c0def9f1aec9", - "name": "MantonBM7_HiSeq_4_S19_L005_R2_001.fastq.gz", - "uuid": "00424825-4dfe-4afc-a8a8-c5bffdaada00", - "crc32c": "418aa903", - "version": "2018-03-29T09:03:00.459606Z", - "indexed": false, - "s3_etag": "50e1fab4ea53c7adf779f8bea1aee628-47", - "sha256": "dd842aab2fa127257211b2adf71658c134a7398d08afef2002090cdead73762f", - "content-type": "application/gzip; dcp-type=data", - "size": 3151963403 - }, - "sequence_file/40713b36-fcfe-4a1a-ad21-9e8b118b91e9": { - "sha1": "bf2d1340d9ee03473e9e080382adb4afcccb28dd", - "name": "MantonBM6_HiSeq_6_S13_L003_R2_001.fastq.gz", - "uuid": "40713b36-fcfe-4a1a-ad21-9e8b118b91e9", - "crc32c": "07d130b7", - "version": "2018-03-29T09:02:43.879726Z", - "indexed": false, - "s3_etag": "d248f57c27e739abf8b337d77f720d1e-67", - "sha256": "ad2a0d22c949d2a90669a13cfb4f672180df34acc9a56becd871c82e9471aa9f", - "content-type": "application/gzip; dcp-type=data", - "size": 4450218668 - }, - "sequence_file/ea993f83-3268-4dc6-8612-cd9a3ccfc475": { - "sha1": "5ca8745222c1b5d825c8c43d1604cf236d8b0cb7", - "name": "MantonBM7_HiSeq_8_S23_L006_R1_001.fastq.gz", - "uuid": "ea993f83-3268-4dc6-8612-cd9a3ccfc475", - "crc32c": "e64aaeff", - "version": "2018-03-29T09:03:14.116945Z", - "indexed": false, - "s3_etag": "626a50aacc623d559db49337cf7d3ea0-16", - "sha256": "76e630e22af779916a570297dcb0ac2b596ab3b6d8315b305d551032021b9810", - "content-type": "application/gzip; dcp-type=data", - "size": 1009763575 - }, - "sequence_file/124dc699-f389-4462-9c29-41a091d5cc04": { - "sha1": "050c20e5c955088f76efdc3dd73129c4f5d1e743", - "name": "MantonBM8_HiSeq_6_S29_L007_I1_001.fastq.gz", - "uuid": "124dc699-f389-4462-9c29-41a091d5cc04", - "crc32c": "e896e301", - "version": "2018-03-29T09:03:31.631919Z", - "indexed": false, - "s3_etag": "e89fe6f6819ea441d254e120801e95f3-6", - "sha256": "9b84311a651f86a47fd5b846d7cd7aea88e3d9af8fd43eb37099d7e9498ef9a2", - "content-type": "application/gzip; dcp-type=data", - "size": 361610319 - }, - "sequence_file/17f2c348-02af-42be-baa3-d227925a1cbc": { - "sha1": "b05659acc35d902285192c5d1d8f0e6f52badf74", - "name": "MantonBM6_HiSeq_8_S15_L004_R2_001.fastq.gz", - "uuid": "17f2c348-02af-42be-baa3-d227925a1cbc", - "crc32c": "bbe162eb", - "version": "2018-03-29T09:02:48.660545Z", - "indexed": false, - "s3_etag": "3260b2774980110ed9c7e9944ea5e135-63", - "sha256": "360d1d3a505c7b0fb8711f5dbfc9896c881c444e3d949907a9ff241aa09a8997", - "content-type": "application/gzip; dcp-type=data", - "size": 4216372660 - }, - "sequence_file/afbfe990-11a2-4836-94b3-980e11ca1c2a": { - "sha1": "13beb389efb543fd56beae4eeabea8846aea36da", - "name": "MantonBM7_HiSeq_4_S19_L006_R2_001.fastq.gz", - "uuid": "afbfe990-11a2-4836-94b3-980e11ca1c2a", - "crc32c": "1140b02a", - "version": "2018-03-29T09:03:01.932193Z", - "indexed": false, - "s3_etag": "ad9ffbaa22ea9a8dfa288ab52b64b90a-55", - "sha256": "f4966c94a7ee4b024520867a5a231315529a4537b408fffa23f2234821aaf29f", - "content-type": "application/gzip; dcp-type=data", - "size": 3660141465 - }, - "sequence_file/49e389b3-3570-45dc-b825-050e2805a1b5": { - "sha1": "2b6f8a6e6124b0263d5c4e60122678ce89e1ad37", - "name": "MantonBM5_HiSeq_5_S5_L002_I1_001.fastq.gz", - "uuid": "49e389b3-3570-45dc-b825-050e2805a1b5", - "crc32c": "02f1b6ce", - "version": "2018-03-29T09:02:13.847333Z", - "indexed": false, - "s3_etag": "658385009e0830914b05f0dd8e4e8dce-7", - "sha256": "e82f3279fd7a26e2d76065ca70185fd67d6682f36ef955cd5c265ba3677da24a", - "content-type": "application/gzip; dcp-type=data", - "size": 438779815 - }, - "sequence_file/65bd1790-6d5e-4f3f-ab78-ce5471d58e98": { - "sha1": "b2ab811e1c37665df3aafcafd44e654f95917660", - "name": "MantonBM5_HiSeq_5_S5_L002_R2_001.fastq.gz", - "uuid": "65bd1790-6d5e-4f3f-ab78-ce5471d58e98", - "crc32c": "4a448ffa", - "version": "2018-03-29T09:02:14.987184Z", - "indexed": false, - "s3_etag": "cce1100453562ab801712e00703aeeb7-58", - "sha256": "c36b9be9e21264ce70460f2207edfb0c24d477b58ceeb8eb5619e5427ba1c364", - "content-type": "application/gzip; dcp-type=data", - "size": 3851572754 - }, - "sequence_file/662e721c-1272-46b4-9863-a0cbae53d78b": { - "sha1": "8795b73cd4998fdfac0b0fb35a66b46cd5a0c18e", - "name": "MantonBM5_HiSeq_8_S8_L002_I1_001.fastq.gz", - "uuid": "662e721c-1272-46b4-9863-a0cbae53d78b", - "crc32c": "77f27ee2", - "version": "2018-03-29T09:02:23.685452Z", - "indexed": false, - "s3_etag": "188a8c3a295716d70439d19a1b1df8b4-6", - "sha256": "8fd759f7766c7a5ba1ae133349abbd510c8ab900897b3df3d3885812557437ee", - "content-type": "application/gzip; dcp-type=data", - "size": 390981495 - }, - "sequence_file/9ea35e5e-27ac-4925-9961-fffebe01e5e9": { - "sha1": "d09e5819789c7630efbe41fcc7946737d666551c", - "name": "MantonBM7_HiSeq_7_S22_L005_R2_001.fastq.gz", - "uuid": "9ea35e5e-27ac-4925-9961-fffebe01e5e9", - "crc32c": "367f60eb", - "version": "2018-03-29T09:03:09.759816Z", - "indexed": false, - "s3_etag": "35cae73433e29aa0a4a8354f3b3abc89-33", - "sha256": "5617c6b66386771e8ed833101fc56de8fdb9ceb51b559268c0c6a022ce5fc1e5", - "content-type": "application/gzip; dcp-type=data", - "size": 2198253064 - }, - "sequence_file/f4106c25-5ea5-4feb-b40b-072056ff954f": { - "sha1": "839d3ad3248c7683955a1691b0d69bbc749fc219", - "name": "MantonBM5_HiSeq_7_S7_L002_R1_001.fastq.gz", - "uuid": "f4106c25-5ea5-4feb-b40b-072056ff954f", - "crc32c": "9921ba3a", - "version": "2018-03-29T09:02:20.628017Z", - "indexed": false, - "s3_etag": "2a0f14d121242df9f039ae0c686ad0d7-15", - "sha256": "988f9ae03f93e09f037947522805adc73671e78d898bc77d28e940881d3d3937", - "content-type": "application/gzip; dcp-type=data", - "size": 991115579 - }, - "sequence_file/5eb311a4-19c8-429d-b36e-409fb80e31b0": { - "sha1": "dad7d55e1344e51e7ef5bc1a0eb8f42c3b3b9456", - "name": "MantonBM7_HiSeq_4_S19_L005_I1_001.fastq.gz", - "uuid": "5eb311a4-19c8-429d-b36e-409fb80e31b0", - "crc32c": "602e3c3b", - "version": "2018-03-29T09:02:59.395577Z", - "indexed": false, - "s3_etag": "347ccbcb9a9776bae6b988e4079693d6-6", - "sha256": "46a59eb20c69aab784a763c75bc167623b8576c64e6ff4abc18094978947308c", - "content-type": "application/gzip; dcp-type=data", - "size": 344954829 - }, - "sequence_file/6857550d-8c86-40c1-988a-b48cb70759f2": { - "sha1": "71fc1b4c8bf707135b89893c6d966f3a2b9c43b3", - "name": "MantonBM6_HiSeq_7_S14_L003_R2_001.fastq.gz", - "uuid": "6857550d-8c86-40c1-988a-b48cb70759f2", - "crc32c": "f619dde2", - "version": "2018-03-29T09:02:47.150183Z", - "indexed": false, - "s3_etag": "1be0a0d5c5477c8d627c3629876c4e45-60", - "sha256": "2d5d3101cd3718ef106a2a67dc61c38ae263d0703af350b826fdbde13654cb3a", - "content-type": "application/gzip; dcp-type=data", - "size": 3977061384 - }, - "sequence_file/9f72f529-b2cb-4830-9ff4-e1c03ec449c2": { - "sha1": "b0f01a0915e915c1f7e273e445d7a9b408eba327", - "name": "MantonBM7_HiSeq_2_S17_L005_R1_001.fastq.gz", - "uuid": "9f72f529-b2cb-4830-9ff4-e1c03ec449c2", - "crc32c": "6f4bb8c5", - "version": "2018-03-29T09:02:54.375289Z", - "indexed": false, - "s3_etag": "6367576567183d639c1782e9d7cac187-14", - "sha256": "708e29476b33e5ad1f0be47d14fba02ed6336edc7829d94d41cb42c9d3540035", - "content-type": "application/gzip; dcp-type=data", - "size": 896815573 - }, - "sequence_file/006a7618-8d55-48b3-a37e-7de0a9e70ef7": { - "sha1": "d045d529f52caf8e6bdcbbb8a03c6e4f9dfa8974", - "name": "MantonBM6_HiSeq_1_S9_L003_I1_001.fastq.gz", - "uuid": "006a7618-8d55-48b3-a37e-7de0a9e70ef7", - "crc32c": "b8948fe3", - "version": "2018-03-29T09:02:24.974763Z", - "indexed": false, - "s3_etag": "274a3d4af939cc23d5c7e2c6338e90c4-7", - "sha256": "caf55275d7528032df6b5349cdb6029bf8569e0c596bf0f18abd21f8a1e05513", - "content-type": "application/gzip; dcp-type=data", - "size": 439377163 - }, - "sequence_file/312522d0-f218-4304-8376-d6f1feeb7553": { - "sha1": "68f0d844ed0512069c842f3458a295c197bb3acc", - "name": "MantonBM8_HiSeq_5_S28_L008_R1_001.fastq.gz", - "uuid": "312522d0-f218-4304-8376-d6f1feeb7553", - "crc32c": "e9d1a5a5", - "version": "2018-03-29T09:03:30.025060Z", - "indexed": false, - "s3_etag": "493837d09511c191140c1fd7c552f01c-15", - "sha256": "78b8ac6fbe7110479b98e0982c7a38712c07faf675211f9c90d01527d7353835", - "content-type": "application/gzip; dcp-type=data", - "size": 988383266 - }, - "sequence_file/11cbfa24-c882-473d-95b6-076c3f1fd559": { - "sha1": "421e2ca5fcc18e215c5b7b59cdd7668d869cc1a9", - "name": "MantonBM6_HiSeq_4_S11_L004_R1_001.fastq.gz", - "uuid": "11cbfa24-c882-473d-95b6-076c3f1fd559", - "crc32c": "6b0a5375", - "version": "2018-03-29T09:02:30.929811Z", - "indexed": false, - "s3_etag": "53d43df620ee4a987b90a6150712c0ed-21", - "sha256": "771cc19e9d60685e9f68f7f67a2e945a16587010d715aa74a87b7a3442924a60", - "content-type": "application/gzip; dcp-type=data", - "size": 1396982248 - }, - "sequence_file/7149194f-3bc9-4aa2-8407-e89bad2dd77b": { - "sha1": "c8731e073b24fc3f5e422a739b1fb6aef9cc8894", - "name": "MantonBM8_HiSeq_2_S25_L007_I1_001.fastq.gz", - "uuid": "7149194f-3bc9-4aa2-8407-e89bad2dd77b", - "crc32c": "41c2e378", - "version": "2018-03-29T09:03:19.250392Z", - "indexed": false, - "s3_etag": "023d0b06b784aa34dc71bbb4de87df1c-6", - "sha256": "8f088cec9325a4e44cbbd8539765a20984daf176862a9f609855849a0c3bebf8", - "content-type": "application/gzip; dcp-type=data", - "size": 346304892 - }, - "sequence_file/8bea9251-da22-4f68-91a4-1e60c4af956f": { - "sha1": "5385c23a4af0deb63ff72f432595afa16406ca89", - "name": "MantonBM8_HiSeq_7_S30_L008_I1_001.fastq.gz", - "uuid": "8bea9251-da22-4f68-91a4-1e60c4af956f", - "crc32c": "b2e288ed", - "version": "2018-03-29T09:03:36.677754Z", - "indexed": false, - "s3_etag": "7a1bba31468294df09cd25d16ba2bada-5", - "sha256": "3fdabfa3e9080898dd3ba2f6088f08d9ec6a90ac154a2585f54e67e5a7bcebe9", - "content-type": "application/gzip; dcp-type=data", - "size": 330694688 - }, - "sequence_file/7e602220-a242-4d9a-9e1e-1487f7880b41": { - "sha1": "5ed64e6076c37c4bb392a5756078dcbdc3c4ba05", - "name": "MantonBM7_HiSeq_2_S17_L006_R2_001.fastq.gz", - "uuid": "7e602220-a242-4d9a-9e1e-1487f7880b41", - "crc32c": "fb209844", - "version": "2018-03-29T09:02:55.893106Z", - "indexed": false, - "s3_etag": "47ba9cee0c55093dcafec2f5eafdf260-46", - "sha256": "8fa6ef1321027f3c880d8e0f0243f7ebb558a13929d58ccfe0ae0c112bd7820d", - "content-type": "application/gzip; dcp-type=data", - "size": 3062543261 - }, - "sequence_file/b63d119a-2496-4d92-9bab-e67e85914708": { - "sha1": "40f8a2bba624eb80040f60cdacf4b21f31e8854b", - "name": "MantonBM8_HiSeq_7_S30_L007_I1_001.fastq.gz", - "uuid": "b63d119a-2496-4d92-9bab-e67e85914708", - "crc32c": "455fc8af", - "version": "2018-03-29T09:03:35.138080Z", - "indexed": false, - "s3_etag": "97d5afa692511691528d27f6e974d3f1-6", - "sha256": "5d35e9286be931ac657e5a406596de8b58b332aebc990ab6a73a60a95624b385", - "content-type": "application/gzip; dcp-type=data", - "size": 345403414 - }, - "sequence_file/5a3f8e5f-cf78-4761-ada6-b910f6fc0b9f": { - "sha1": "fdee1ebfd40d47355052ab67e0f5b53474e119a4", - "name": "MantonBM5_HiSeq_6_S6_L002_I1_001.fastq.gz", - "uuid": "5a3f8e5f-cf78-4761-ada6-b910f6fc0b9f", - "crc32c": "2732c192", - "version": "2018-03-29T09:02:16.757964Z", - "indexed": false, - "s3_etag": "83dbafea63ab5186aa8217c30c167eea-7", - "sha256": "1b88a1fbc876f66a44bc953fe0407391da61b12b861158ef48bcb159d4819769", - "content-type": "application/gzip; dcp-type=data", - "size": 415617696 - }, - "sequence_file/bfdeb7e3-f242-48ae-9222-6428b5168ccd": { - "sha1": "8d4d8f9cb63ba5402de8814f399d74d1bb64d0ad", - "name": "MantonBM5_HiSeq_3_S3_L001_R1_001.fastq.gz", - "uuid": "bfdeb7e3-f242-48ae-9222-6428b5168ccd", - "crc32c": "b001e5de", - "version": "2018-03-29T09:02:04.370257Z", - "indexed": false, - "s3_etag": "d4c3325a2c14de1d62f99b00658f1384-20", - "sha256": "9f816996a12b07ba1b1939b541b66ea5c3ac402c6147cb855d4f1e75b571a76a", - "content-type": "application/gzip; dcp-type=data", - "size": 1339942766 - }, - "sequence_file/b41c8971-bcd3-42ba-b8f8-f685cba0f923": { - "sha1": "2a21d8e9a6764882f3eb148e81a81b67309aea22", - "name": "MantonBM6_HiSeq_8_S15_L003_I1_001.fastq.gz", - "uuid": "b41c8971-bcd3-42ba-b8f8-f685cba0f923", - "crc32c": "6fc7bfd0", - "version": "2018-03-29T09:02:49.110979Z", - "indexed": false, - "s3_etag": "f31dadb2c294accf280dcb86dd773a95-7", - "sha256": "b003244a613160fa34ca2e6744c6dd0b804edd1e34fb56ba2f4ba8848e76d97b", - "content-type": "application/gzip; dcp-type=data", - "size": 464507015 - }, - "sequence_file/b8cae58c-fa89-480e-8c51-88115619bf8e": { - "sha1": "29e161efe1b359cb7d1718e72e25d4d5b6d2031a", - "name": "MantonBM7_HiSeq_6_S21_L006_R2_001.fastq.gz", - "uuid": "b8cae58c-fa89-480e-8c51-88115619bf8e", - "crc32c": "c3abe5b1", - "version": "2018-03-29T09:03:08.091388Z", - "indexed": false, - "s3_etag": "3cc7bacc48bf721d5db6c55cee5e8347-42", - "sha256": "9ad87b22815cff234c0dbda2e81d9475fc5928142f8fbfef36b7994a200afee1", - "content-type": "application/gzip; dcp-type=data", - "size": 2779980675 - }, - "sequence_file/4a7fd685-04b4-4436-9aed-e692030dfa76": { - "sha1": "30f3d4102d11456f0c10a0150b66d659c19796f9", - "name": "MantonBM6_HiSeq_8_S15_L003_R1_001.fastq.gz", - "uuid": "4a7fd685-04b4-4436-9aed-e692030dfa76", - "crc32c": "a05b4419", - "version": "2018-03-29T09:02:49.687343Z", - "indexed": false, - "s3_etag": "edea3b6bf45d61257e209ee3bb9ae932-22", - "sha256": "9ee09d96100c73352ee915ea68f61b13ccc45b62981e86b745eec0accb8d7ebf", - "content-type": "application/gzip; dcp-type=data", - "size": 1445015158 - }, - "sequence_file/6517b6c3-3fab-45e9-a494-ae81ccc500f0": { - "sha1": "c2c576e906a6432124ac503f8ccee2db0d7256ba", - "name": "MantonBM5_HiSeq_1_S1_L002_I1_001.fastq.gz", - "uuid": "6517b6c3-3fab-45e9-a494-ae81ccc500f0", - "crc32c": "1d62538c", - "version": "2018-03-29T09:01:55.267641Z", - "indexed": false, - "s3_etag": "b508a3eaee7a3b3cac3699a064578492-7", - "sha256": "232a88a136d045596654b864e0ff441eff407d539096a5ae65e5cead6af72bd9", - "content-type": "application/gzip; dcp-type=data", - "size": 418613271 - }, - "sequence_file/bc218df5-d4d5-4aa0-baaa-4fbf36541315": { - "sha1": "c33341a72958173a506e45f1e238409f4340daf3", - "name": "MantonBM5_HiSeq_6_S6_L002_R1_001.fastq.gz", - "uuid": "bc218df5-d4d5-4aa0-baaa-4fbf36541315", - "crc32c": "94ec1dc4", - "version": "2018-03-29T09:02:17.469246Z", - "indexed": false, - "s3_etag": "ad7f4e53d11d499870fd797f7c7e3436-20", - "sha256": "db7b75ecacba2fa43b0fb27d75050c00ca7707381fa29f7e802a3d8501852a7c", - "content-type": "application/gzip; dcp-type=data", - "size": 1290999702 - }, - "sequence_file/04e36cfe-a12a-4f5a-91cc-3574bdf427f4": { - "sha1": "a955ae53c641fa281f892627c33d6bbc5b79e67c", - "name": "MantonBM5_HiSeq_5_S5_L001_R1_001.fastq.gz", - "uuid": "04e36cfe-a12a-4f5a-91cc-3574bdf427f4", - "crc32c": "01bdc7db", - "version": "2018-03-29T09:02:12.510816Z", - "indexed": false, - "s3_etag": "ce6128b17202ff3ab88caf2a58ff7c9d-20", - "sha256": "ee40220bbe7720a27c027c8d0dcc0fde6d045e4da374d58285562f00f99ce0bb", - "content-type": "application/gzip; dcp-type=data", - "size": 1323605823 - }, - "sequence_file/8526cbf2-881e-4499-9992-43009425c4ae": { - "sha1": "427ecd25f8cee9aa778b95f6fb1ec18a34515db1", - "name": "MantonBM6_HiSeq_6_S13_L003_R1_001.fastq.gz", - "uuid": "8526cbf2-881e-4499-9992-43009425c4ae", - "crc32c": "543a5274", - "version": "2018-03-29T09:02:43.185368Z", - "indexed": false, - "s3_etag": "e3d77895cad96531743933ccc191f7ba-23", - "sha256": "b97463c80b9c322bfa91c35b73af71dd7903122126cc881148a2d3693e845016", - "content-type": "application/gzip; dcp-type=data", - "size": 1525455562 - }, - "sequence_file/381c733e-3dba-4ca7-ab05-541dbfc03e04": { - "sha1": "2806255315e6bf7e96c1886e60bb7ff6206ea4ee", - "name": "MantonBM6_HiSeq_6_S13_L003_I1_001.fastq.gz", - "uuid": "381c733e-3dba-4ca7-ab05-541dbfc03e04", - "crc32c": "91ea5b81", - "version": "2018-03-29T09:02:42.549849Z", - "indexed": false, - "s3_etag": "63f5f84cea6733bee8814cecedfec4e5-8", - "sha256": "1548362538e8f2740e2240599fb9a4ce1fbc85a79fc82dcbc9dcb6c6d5468634", - "content-type": "application/gzip; dcp-type=data", - "size": 521291049 - }, - "sequence_file/f1a89f64-9e0b-479b-a294-8de7151a1a9d": { - "sha1": "5c871b0a8d1b18e2c4e81917098e082b15a08550", - "name": "MantonBM5_HiSeq_5_S5_L001_I1_001.fastq.gz", - "uuid": "f1a89f64-9e0b-479b-a294-8de7151a1a9d", - "crc32c": "c523f008", - "version": "2018-03-29T09:02:11.810151Z", - "indexed": false, - "s3_etag": "37437fcf32305672726257657ffa04ce-7", - "sha256": "40db09aa176cf09f74ae3af39b0613b54a46da7b20b78ef2c2c081e2bb0a7d82", - "content-type": "application/gzip; dcp-type=data", - "size": 454973663 - }, - "sequence_file/df7935c8-d1be-4dcf-a583-60a24636944d": { - "sha1": "238d19876de3bedfd1473851a918c0ba509c25bf", - "name": "MantonBM7_HiSeq_2_S17_L005_R2_001.fastq.gz", - "uuid": "df7935c8-d1be-4dcf-a583-60a24636944d", - "crc32c": "2314e1d9", - "version": "2018-03-29T09:02:54.763920Z", - "indexed": false, - "s3_etag": "53b7b65eb5f71c8a974b6b11e25d7fd1-39", - "sha256": "b376e6a297cd2a2c5f91abc00986d87b3a81c350121c04bd43f604d959b224e2", - "content-type": "application/gzip; dcp-type=data", - "size": 2613112622 - }, - "sequence_file/6c66cacf-5914-40dd-b512-c946fdc14424": { - "sha1": "a1174eed40bd352a00c144b5e60647c4e19d021e", - "name": "MantonBM6_HiSeq_2_S10_L003_R2_001.fastq.gz", - "uuid": "6c66cacf-5914-40dd-b512-c946fdc14424", - "crc32c": "0d203d69", - "version": "2018-03-29T09:02:29.957886Z", - "indexed": false, - "s3_etag": "4eeef170d7e6fe0b96e66d5baca0da58-63", - "sha256": "a3ee79b601736589aa41de9b64008dbc6c7d5154817aa2e06c8d132aff97e553", - "content-type": "application/gzip; dcp-type=data", - "size": 4205879763 - }, - "sequence_file/49125797-64a8-4fbe-b2a9-914252f768fe": { - "sha1": "53a91376ecbf5b8e2fa12d818cad7e23e4db5cea", - "name": "MantonBM6_HiSeq_7_S14_L004_R1_001.fastq.gz", - "uuid": "49125797-64a8-4fbe-b2a9-914252f768fe", - "crc32c": "4b70e275", - "version": "2018-03-29T09:02:45.020416Z", - "indexed": false, - "s3_etag": "9ac721e7dfb9b9bce580a0434224a902-21", - "sha256": "d23e97bec354f4e95a2e963a0cb8f03b74478cc93f12d1017c723f6bfae0f6e5", - "content-type": "application/gzip; dcp-type=data", - "size": 1377883746 - }, - "sequence_file/40542240-2e11-48cf-955c-4527e963be80": { - "sha1": "04a834f972c454c1065d0271cfeda20c034834d5", - "name": "MantonBM6_HiSeq_4_S11_L003_R2_001.fastq.gz", - "uuid": "40542240-2e11-48cf-955c-4527e963be80", - "crc32c": "8893ba67", - "version": "2018-03-29T09:02:33.252192Z", - "indexed": false, - "s3_etag": "577526e08ae15bc9479957085a748e51-60", - "sha256": "f20341d03eaee4a0a2bc6103ce4e9eeac4a93a62c7b48324e5b728be7925dbd4", - "content-type": "application/gzip; dcp-type=data", - "size": 4024803050 - }, - "sequence_file/709da3b4-e8a0-431d-b082-8530ffae33f8": { - "sha1": "15457a7ff077123ecc0dd84fb053fd82eaf59668", - "name": "MantonBM8_HiSeq_8_S31_L008_R1_001.fastq.gz", - "uuid": "709da3b4-e8a0-431d-b082-8530ffae33f8", - "crc32c": "f7f1aafd", - "version": "2018-03-29T09:03:39.912747Z", - "indexed": false, - "s3_etag": "e25040df7b620b4e2e3bf024e8a69535-14", - "sha256": "1a03d2042a8ce07c46f4c92d2788def2e7079c75438555c270a0fd1d9e28d192", - "content-type": "application/gzip; dcp-type=data", - "size": 887298264 - }, - "sequence_file/ec15bc6b-2b71-4f78-ac5d-892b639a7fb6": { - "sha1": "0fdc0b8209d3ff11f77e46daeefd6e6641078bf1", - "name": "MantonBM5_HiSeq_3_S3_L002_I1_001.fastq.gz", - "uuid": "ec15bc6b-2b71-4f78-ac5d-892b639a7fb6", - "crc32c": "8c517e2b", - "version": "2018-03-29T09:02:05.513986Z", - "indexed": false, - "s3_etag": "b3c36b9ee251a59c27328fa5b43f9c32-7", - "sha256": "eed91b967c079fd09c2c81217871a1bb794de5e7be9868c5943171f8cf8670fe", - "content-type": "application/gzip; dcp-type=data", - "size": 444127728 - }, - "sequence_file/38cef0ea-3ef8-45cd-aadc-5e8e64319cf0": { - "sha1": "425bfc1a85aad38818e791b21633d1f893c1a917", - "name": "MantonBM8_HiSeq_5_S28_L007_R2_001.fastq.gz", - "uuid": "38cef0ea-3ef8-45cd-aadc-5e8e64319cf0", - "crc32c": "21435f98", - "version": "2018-03-29T09:03:29.110801Z", - "indexed": false, - "s3_etag": "4a89e018d9f4351def78bd5f14ecaad4-47", - "sha256": "fd9650cc3a1f5b28e84ceaa804b4a3e8d17bac96da7109c6e4d5b5e029cff440", - "content-type": "application/gzip; dcp-type=data", - "size": 3089725334 - }, - "sequence_file/32e070e3-574d-4676-add4-359dd4c64ae7": { - "sha1": "7993c73d39bff89800d8448949dbd0317d4ce75b", - "name": "MantonBM7_HiSeq_8_S23_L006_I1_001.fastq.gz", - "uuid": "32e070e3-574d-4676-add4-359dd4c64ae7", - "crc32c": "d9d5756d", - "version": "2018-03-29T09:03:13.677394Z", - "indexed": false, - "s3_etag": "6f2e9cfec11e16ecbfe69ece30ef8f08-5", - "sha256": "e0d7b0a6f718e74d2c305cda816c21f775d87ebb20a9bcb60b1c597d45f159c1", - "content-type": "application/gzip; dcp-type=data", - "size": 328038269 - }, - "sequence_file/656fa889-f831-4a3a-84cf-0a1f5e148f5e": { - "sha1": "2b22b8d48c2cf4cf3e195675628e4c71adeafc89", - "name": "MantonBM5_HiSeq_2_S2_L001_I1_001.fastq.gz", - "uuid": "656fa889-f831-4a3a-84cf-0a1f5e148f5e", - "crc32c": "aa47bcfe", - "version": "2018-03-29T09:01:56.757555Z", - "indexed": false, - "s3_etag": "b3f91dece31fada1b6c50d8360093e9d-7", - "sha256": "ac7ef0175487783040c0207f2790a63123f3a48c6d3f90d6beff52a259d4f2cc", - "content-type": "application/gzip; dcp-type=data", - "size": 440009026 - }, - "sequence_file/29b8c167-5542-47bd-85a8-926645d7846a": { - "sha1": "89bed87ba17255ee3ecf1d3cbbc18ee48a6c6457", - "name": "MantonBM8_HiSeq_5_S28_L008_I1_001.fastq.gz", - "uuid": "29b8c167-5542-47bd-85a8-926645d7846a", - "crc32c": "8b1fa0bf", - "version": "2018-03-29T09:03:29.536627Z", - "indexed": false, - "s3_etag": "fc9e84fd837e827efda03d6471cc15e9-5", - "sha256": "44cfdb93ffb87f62059a1768d45125e17e76bacb39124a7e0eba1e65f383085b", - "content-type": "application/gzip; dcp-type=data", - "size": 332536312 - }, - "sequence_file/6e76f2d5-1b5d-4799-8b41-45faad9d6e11": { - "sha1": "1761b575612aadc4a0848921d0fa0baa94eb69ba", - "name": "MantonBM7_HiSeq_2_S17_L005_I1_001.fastq.gz", - "uuid": "6e76f2d5-1b5d-4799-8b41-45faad9d6e11", - "crc32c": "f4e4b1db", - "version": "2018-03-29T09:02:53.959992Z", - "indexed": false, - "s3_etag": "e4c5353129bbd29acab561ad361ddcfb-5", - "sha256": "09feb2c6c4a77b9d642edc29527cc06ed6e5a81647f427079e346d75fd1175c8", - "content-type": "application/gzip; dcp-type=data", - "size": 305645765 - }, - "sequence_file/9e7ac38d-b196-4e80-a59c-0d630d725745": { - "sha1": "f73a8c45d114c16a8bb6ea9daa379e8ea7fa40fc", - "name": "MantonBM8_HiSeq_8_S31_L007_R2_001.fastq.gz", - "uuid": "9e7ac38d-b196-4e80-a59c-0d630d725745", - "crc32c": "354e056e", - "version": "2018-03-29T09:03:39.003410Z", - "indexed": false, - "s3_etag": "d2ae9eba46484355142cd187c9ccfd16-42", - "sha256": "3a3ddd93f984ed2b72f541ae21a8a5abb9a7bfdea49168a910d09241378ce9f0", - "content-type": "application/gzip; dcp-type=data", - "size": 2772645353 - }, - "sequence_file/687c63b3-2eb3-4aac-ab54-aa5d02128f1c": { - "sha1": "28712ca4baa23700d446528744c5bd8fd8b9812a", - "name": "MantonBM5_HiSeq_2_S2_L001_R1_001.fastq.gz", - "uuid": "687c63b3-2eb3-4aac-ab54-aa5d02128f1c", - "crc32c": "78f6afc4", - "version": "2018-03-29T09:01:57.243995Z", - "indexed": false, - "s3_etag": "c9ffeaab2cf1a8ac003fb8238df3daa2-20", - "sha256": "5aa52ab06fa45955fbafa7519c3a602a08edc011faa1a6af43c9e9e5dc9297f1", - "content-type": "application/gzip; dcp-type=data", - "size": 1316636610 - }, - "sequence_file/8f4e5133-7aa0-468d-b13c-6fa23cdaf407": { - "sha1": "56cb2f0914ed6dbce3bd6583480868dc3f294b2f", - "name": "MantonBM8_HiSeq_6_S29_L007_R2_001.fastq.gz", - "uuid": "8f4e5133-7aa0-468d-b13c-6fa23cdaf407", - "crc32c": "5dcbcb2a", - "version": "2018-03-29T09:03:32.649563Z", - "indexed": false, - "s3_etag": "a4e46fc54b07b267a21a194efd841fa4-48", - "sha256": "55c2a8da070ea46daed106ccb6ad21d3d12c45e073564db841f7016f08b62023", - "content-type": "application/gzip; dcp-type=data", - "size": 3164888029 - }, - "sequence_file/c9a2b54f-1316-4463-8f0b-9061bb4b51cd": { - "sha1": "54122ea975474cc8fdd24da784d26a3c017f11ab", - "name": "MantonBM8_HiSeq_5_S28_L007_I1_001.fastq.gz", - "uuid": "c9a2b54f-1316-4463-8f0b-9061bb4b51cd", - "crc32c": "f0d9977e", - "version": "2018-03-29T09:03:27.779090Z", - "indexed": false, - "s3_etag": "6ef9c170ffe7c618b8ca8fd66ebb06f3-6", - "sha256": "32af722e3179b6932e97c399fc1fdccbccf50040879cb9a8947712d57fe22ba7", - "content-type": "application/gzip; dcp-type=data", - "size": 347522068 - }, - "sequence_file/e4e33817-0d2c-4e42-8d10-17cba4b3c1d8": { - "sha1": "e0d052b2cd62133c87beb4bc257467f308d1b448", - "name": "MantonBM8_HiSeq_3_S26_L008_R1_001.fastq.gz", - "uuid": "e4e33817-0d2c-4e42-8d10-17cba4b3c1d8", - "crc32c": "03b881b3", - "version": "2018-03-29T09:03:24.096588Z", - "indexed": false, - "s3_etag": "bd5abf9f54948f9ee87eef45816658f8-15", - "sha256": "dab355c92654cc757fc679043b95ffa6622144604d29dce7d12e8f088e5f3ba0", - "content-type": "application/gzip; dcp-type=data", - "size": 961947818 - }, - "sequence_file/d8e59dbd-2add-4514-ae3e-9fac8ae902f5": { - "sha1": "48f76d73e69178f042d0701fb9f2984dc571d233", - "name": "MantonBM8_HiSeq_6_S29_L008_I1_001.fastq.gz", - "uuid": "d8e59dbd-2add-4514-ae3e-9fac8ae902f5", - "crc32c": "108a8e35", - "version": "2018-03-29T09:03:33.676520Z", - "indexed": false, - "s3_etag": "022acca0ea56a1be039af0dcbaa9d48d-6", - "sha256": "e99fcf6393d13b183bfdcbfaa271cafcd5f730d4a330d893433502f7dcef4b65", - "content-type": "application/gzip; dcp-type=data", - "size": 345617607 - }, - "sequence_file/a3f0a66b-1ebe-47dc-8efc-cacfface111d": { - "sha1": "42c976288e479dfdb073bae6601ab723428db8ef", - "name": "MantonBM7_HiSeq_3_S18_L006_R2_001.fastq.gz", - "uuid": "a3f0a66b-1ebe-47dc-8efc-cacfface111d", - "crc32c": "b42a56d9", - "version": "2018-03-29T09:02:58.931758Z", - "indexed": false, - "s3_etag": "e995830cd0ad6f7fd15c6d323c6df70f-46", - "sha256": "15dd7f4c6a0d14bfb1b92ab3ecb3827faa967dfc133eb3c39b4ad580006afb3b", - "content-type": "application/gzip; dcp-type=data", - "size": 3080538404 - }, - "sequence_file/6d2d1bda-e128-497e-8569-1e004c556b38": { - "sha1": "b345f05fe6bda393a722b4d79c28b447100bac2b", - "name": "MantonBM7_HiSeq_8_S23_L005_I1_001.fastq.gz", - "uuid": "6d2d1bda-e128-497e-8569-1e004c556b38", - "crc32c": "df29bbbd", - "version": "2018-03-29T09:03:12.100646Z", - "indexed": false, - "s3_etag": "555c375d0699012f43375ed7a1a025e4-5", - "sha256": "f550aea930ace66b760d57844a0359854e4aa29a9480fcdc55fc85ac7c962885", - "content-type": "application/gzip; dcp-type=data", - "size": 282129607 - }, - "sequence_file/4d7b8243-f099-4eab-a5a4-1e6c359f999d": { - "sha1": "a3d7f3381ea419e7502a0824a7f772baf8b3de4a", - "name": "MantonBM8_HiSeq_3_S26_L007_I1_001.fastq.gz", - "uuid": "4d7b8243-f099-4eab-a5a4-1e6c359f999d", - "crc32c": "c468ee17", - "version": "2018-03-29T09:03:22.217248Z", - "indexed": false, - "s3_etag": "bcd04d256470bc813fc7b89cb9c5eb5e-6", - "sha256": "0da8c6e3a42a59166d33d1a42e0dc810fbe2c01456dde21a3643a1caebfedcf3", - "content-type": "application/gzip; dcp-type=data", - "size": 337607021 - }, - "sequence_file/f8b537c4-73e2-4df5-a5ee-8aff3cccc3c7": { - "sha1": "474ba94d2a4df3ff3de90ca6ddf8e906eceaf3a0", - "name": "MantonBM5_HiSeq_5_S5_L001_R2_001.fastq.gz", - "uuid": "f8b537c4-73e2-4df5-a5ee-8aff3cccc3c7", - "crc32c": "19999848", - "version": "2018-03-29T09:02:13.195120Z", - "indexed": false, - "s3_etag": "e097402a74ae14796133e4290d20710b-57", - "sha256": "0c8ea0836c521019a3d8cbec151ca5f286e066dbd5f56ca4902d4618c30b263a", - "content-type": "application/gzip; dcp-type=data", - "size": 3817186740 - }, - "sequence_file/8162a395-0409-45c3-8652-918983bb1da0": { - "sha1": "570fb892b5bae69f1dd2100ab74352411e3416a7", - "name": "MantonBM5_HiSeq_1_S1_L002_R1_001.fastq.gz", - "uuid": "8162a395-0409-45c3-8652-918983bb1da0", - "crc32c": "d14d9cbf", - "version": "2018-03-29T09:01:55.525983Z", - "indexed": false, - "s3_etag": "eb65d5a3ecdbe2837ddf698908409669-20", - "sha256": "012784a017f917ec1583b189397dc8fc4c20af7ea4853ffcd108b03a2102cf8e", - "content-type": "application/gzip; dcp-type=data", - "size": 1289286437 - }, - "sequence_file/3fed1e54-3bf7-46fc-829a-f538a092d774": { - "sha1": "3fbb83039b6ec32ce2514cad1034f456000d9027", - "name": "MantonBM8_HiSeq_8_S31_L007_I1_001.fastq.gz", - "uuid": "3fed1e54-3bf7-46fc-829a-f538a092d774", - "crc32c": "21d6af47", - "version": "2018-03-29T09:03:38.125517Z", - "indexed": false, - "s3_etag": "d603e9cace9c33b96e574199aeaff0e5-5", - "sha256": "c6d4db24634413cb92087e3d32f4980f1e2446d753d2c7c6eec462951a0f16e0", - "content-type": "application/gzip; dcp-type=data", - "size": 304103159 - }, - "sequence_file/fd5c1b07-3fb7-4faa-ba3b-d1c82e6c7ffb": { - "sha1": "774277f36b11ee0fdbea593d083233cd04ef2819", - "name": "MantonBM6_HiSeq_2_S10_L003_R1_001.fastq.gz", - "uuid": "fd5c1b07-3fb7-4faa-ba3b-d1c82e6c7ffb", - "crc32c": "65c5f2de", - "version": "2018-03-29T09:02:29.428581Z", - "indexed": false, - "s3_etag": "549db85c1d20e70d80e064e1537c20e9-22", - "sha256": "7f9c393d7b356f817490396370d1b284282cffc6ab1cb85f27788b0f7be5620f", - "content-type": "application/gzip; dcp-type=data", - "size": 1445412681 - }, - "sequence_file/26fc3171-166d-4145-b786-c5a7397a1ade": { - "sha1": "08fd0b2b2a3c1ed7d9ee9afc41ccb972998de29c", - "name": "MantonBM7_HiSeq_2_S17_L006_R1_001.fastq.gz", - "uuid": "26fc3171-166d-4145-b786-c5a7397a1ade", - "crc32c": "5b487078", - "version": "2018-03-29T09:02:55.450234Z", - "indexed": false, - "s3_etag": "1fe7bee3023c805b86128430e0eb7d30-16", - "sha256": "c5d8080589385132b0a556a2a88f5880ae99c8d1e9d99922e12df8d46591b3cd", - "content-type": "application/gzip; dcp-type=data", - "size": 1052011467 - }, - "sequence_file/f0b940a1-de2c-461e-a40d-7a5b0c11ca40": { - "sha1": "1db8866f31b9b9e85745ce5aeda31411caa27a98", - "name": "MantonBM8_HiSeq_2_S25_L007_R2_001.fastq.gz", - "uuid": "f0b940a1-de2c-461e-a40d-7a5b0c11ca40", - "crc32c": "045b8db6", - "version": "2018-03-29T09:03:20.305884Z", - "indexed": false, - "s3_etag": "0f8dfd823941f204f4f1c76af879996e-46", - "sha256": "c0805d8978e274ca0b19d6ae251d8edba65b18f25b924a435b0ea40d12a351b8", - "content-type": "application/gzip; dcp-type=data", - "size": 3061260206 - }, - "sequence_file/dd31fdba-26a2-4ccb-aa62-c43521de953e": { - "sha1": "e90b58a4d231f7b036a8ba10e6ba03e4b1249880", - "name": "MantonBM6_HiSeq_8_S15_L003_R2_001.fastq.gz", - "uuid": "dd31fdba-26a2-4ccb-aa62-c43521de953e", - "crc32c": "a8e4b9f4", - "version": "2018-03-29T09:02:50.173078Z", - "indexed": false, - "s3_etag": "ad7c35d2e199a0b5a1c7b5320ef64602-63", - "sha256": "1f28bfe04f75d6966c1c9f859c421e5f1845246e96ab9bf8344bafbfa25ad326", - "content-type": "application/gzip; dcp-type=data", - "size": 4201874769 - }, - "sequence_file/b46fa14b-caf4-479d-9205-d3c108bee4e2": { - "sha1": "1d0f27f5778d962aacf818f3a3d65852724c2ee4", - "name": "MantonBM5_HiSeq_6_S6_L002_R2_001.fastq.gz", - "uuid": "b46fa14b-caf4-479d-9205-d3c108bee4e2", - "crc32c": "36972cca", - "version": "2018-03-29T09:02:17.943075Z", - "indexed": false, - "s3_etag": "6fca6c9b6e3209769e59d85c73475cc2-56", - "sha256": "819714149505bfae8b654e1721aeac6e67ad17c3540a8582119d10e280857e56", - "content-type": "application/gzip; dcp-type=data", - "size": 3734453313 - }, - "sequence_file/eb21d839-7f51-4781-bf46-886fc6d82a11": { - "sha1": "8ef0f920151f907430a435c3067202252bc52964", - "name": "MantonBM8_HiSeq_4_S27_L007_R1_001.fastq.gz", - "uuid": "eb21d839-7f51-4781-bf46-886fc6d82a11", - "crc32c": "f1a2183a", - "version": "2018-03-29T09:03:25.590035Z", - "indexed": false, - "s3_etag": "df83ef30562febb1e83570ae7d68719b-17", - "sha256": "1c32dc3c46f4bfc78fb30f66a438965214451da6d95f79628a6213be11c1f615", - "content-type": "application/gzip; dcp-type=data", - "size": 1113800384 - }, - "sequence_file/bde680ab-9ae1-4392-b8b5-1187860111e5": { - "sha1": "9a8e9170ec6af396b60845d3b1466d58762b5777", - "name": "MantonBM7_HiSeq_2_S17_L006_I1_001.fastq.gz", - "uuid": "bde680ab-9ae1-4392-b8b5-1187860111e5", - "crc32c": "b6e58288", - "version": "2018-03-29T09:02:55.146828Z", - "indexed": false, - "s3_etag": "c2d7973ee2133dcb1ea6a13702df6acb-6", - "sha256": "7c240fff23d9e93f23d1f495663f9e0d322d38380fb4061e45de93f33998c3e0", - "content-type": "application/gzip; dcp-type=data", - "size": 356066382 - }, - "sequence_file/f1a91911-8f85-4d68-8243-8466b1e2dce6": { - "sha1": "d47fa7c448cf20a36d130ecd3a1f005cdb576301", - "name": "MantonBM6_HiSeq_7_S14_L004_R2_001.fastq.gz", - "uuid": "f1a91911-8f85-4d68-8243-8466b1e2dce6", - "crc32c": "db861fd0", - "version": "2018-03-29T09:02:45.556687Z", - "indexed": false, - "s3_etag": "10d4bc36ccd0e7f8eeaff02c7abf3790-60", - "sha256": "ec36466b9c168479356d5b72b2f4293e4e79ae55848c8ce05448c76031968900", - "content-type": "application/gzip; dcp-type=data", - "size": 3988423324 - }, - "sequence_file/6f042830-9bc8-4dd5-97a3-505f2db57d79": { - "sha1": "979119ab4180dff52aa680a3b8063a4b2b719823", - "name": "MantonBM5_HiSeq_3_S3_L002_R1_001.fastq.gz", - "uuid": "6f042830-9bc8-4dd5-97a3-505f2db57d79", - "crc32c": "de963ab2", - "version": "2018-03-29T09:02:05.981690Z", - "indexed": false, - "s3_etag": "224d2d50ecc811957f985749cd8f66ce-21", - "sha256": "212605bba28da773a7b5c04c1e8f197421c74752634c611635bd287cefee3fdb", - "content-type": "application/gzip; dcp-type=data", - "size": 1349973231 - }, - "sequence_file/b692d3f7-0e85-4e18-9373-214300cc0293": { - "sha1": "f7986b4d93959ba76fcadd77fae7d51dca5bd8e9", - "name": "MantonBM8_HiSeq_4_S27_L008_R2_001.fastq.gz", - "uuid": "b692d3f7-0e85-4e18-9373-214300cc0293", - "crc32c": "dd0536a8", - "version": "2018-03-29T09:03:27.329642Z", - "indexed": false, - "s3_etag": "a6787580de84c020b0fe996f08c9ed4b-47", - "sha256": "e98ec466cccda95c24e15a58ea6e2541e5cb8de582c5ccfd3c96225cc8f78ef3", - "content-type": "application/gzip; dcp-type=data", - "size": 3123953559 - }, - "sequence_file/d0fffcc4-7282-48b0-a476-5afa1ce36829": { - "sha1": "a1dbba6e8315baa3f1b208a5b091bff3eb074ca9", - "name": "MantonBM5_HiSeq_8_S8_L002_R2_001.fastq.gz", - "uuid": "d0fffcc4-7282-48b0-a476-5afa1ce36829", - "crc32c": "6fe8587f", - "version": "2018-03-29T09:02:24.561264Z", - "indexed": false, - "s3_etag": "b38e80485ff39bb81a61e75713b2d92f-51", - "sha256": "8423a4b6fbbc72da901552497a565acdec22798cc37ddb7452359f44b090a6ee", - "content-type": "application/gzip; dcp-type=data", - "size": 3421588354 - }, - "sequence_file/0428ddc2-ea8a-4c79-b994-60990a869c77": { - "sha1": "7a463f36480d1fec423a88b97ad150bb22dc1fe5", - "name": "MantonBM5_HiSeq_4_S4_L001_I1_001.fastq.gz", - "uuid": "0428ddc2-ea8a-4c79-b994-60990a869c77", - "crc32c": "7687a869", - "version": "2018-03-29T09:02:07.688983Z", - "indexed": false, - "s3_etag": "65c0d96eeed7fd99cf4be39e8cb31068-7", - "sha256": "8c31dbee69054c4dd1b6175e882dd03773578b0d81fc03e9b49cb9b402c33cb0", - "content-type": "application/gzip; dcp-type=data", - "size": 439861167 - }, - "sequence_file/44d1289c-9a27-4d11-b903-5cdde4738f20": { - "sha1": "13ac26c88b22fb45beed9ecae28f29790667a7b3", - "name": "MantonBM5_HiSeq_8_S8_L001_R1_001.fastq.gz", - "uuid": "44d1289c-9a27-4d11-b903-5cdde4738f20", - "crc32c": "48de307c", - "version": "2018-03-29T09:02:22.516364Z", - "indexed": false, - "s3_etag": "225186a3f658b4c070d63ef5c94cfe2e-18", - "sha256": "2c722186829c6f126d70b66f15a7059eaa56fc0224e55b3bdf0c577f1112f001", - "content-type": "application/gzip; dcp-type=data", - "size": 1171088138 - }, - "sequence_file/e9bd1cf1-b0e6-4b05-9d85-afe6659d001d": { - "sha1": "65e686bbd8a0d8b268a3f4143a2f8f780c2de860", - "name": "MantonBM8_HiSeq_1_S24_L008_R1_001.fastq.gz", - "uuid": "e9bd1cf1-b0e6-4b05-9d85-afe6659d001d", - "crc32c": "a07fef40", - "version": "2018-03-29T09:03:18.267639Z", - "indexed": false, - "s3_etag": "725ad3894a13697349ee02f759d51338-16", - "sha256": "2f043cf7d9fa177fcb05392613cd405363e5e951f12a6c00e56017785b006f15", - "content-type": "application/gzip; dcp-type=data", - "size": 1070869908 - }, - "sequence_file/a2ba4d08-a9a9-4ceb-8dfd-70546b22dda0": { - "sha1": "55add6317120525b942495b09c9ae00256ee9624", - "name": "MantonBM7_HiSeq_4_S19_L006_R1_001.fastq.gz", - "uuid": "a2ba4d08-a9a9-4ceb-8dfd-70546b22dda0", - "crc32c": "c6db7f9c", - "version": "2018-03-29T09:03:01.506246Z", - "indexed": false, - "s3_etag": "20446ac8bf861d649abea3f32faebf6f-19", - "sha256": "31afd7a1f79b4fce6ce827f60e16ee88f77c2191bbe6a2a59b017b9c6f334780", - "content-type": "application/gzip; dcp-type=data", - "size": 1265277314 - }, - "sequence_file/bd256dda-501a-4287-8e44-79fa7dcc43c6": { - "sha1": "cbc3ae382961a2cd463db229231747856f4f72fc", - "name": "MantonBM5_HiSeq_2_S2_L002_R1_001.fastq.gz", - "uuid": "bd256dda-501a-4287-8e44-79fa7dcc43c6", - "crc32c": "c220fb87", - "version": "2018-03-29T09:02:02.388015Z", - "indexed": false, - "s3_etag": "110c61ddbea19033c2e9b8084a237dde-20", - "sha256": "ff3a6ff65855426e5dd5d72d8738bb0b91944fdc6bf3a281e0d8d065ca28b372", - "content-type": "application/gzip; dcp-type=data", - "size": 1327008069 - }, - "sequence_file/3eff86f6-cff5-43a6-9024-be9a9893f867": { - "sha1": "6d0710d023c4323ad00c0a57bb9ff14e6fe101a8", - "name": "MantonBM7_HiSeq_1_S16_L006_I1_001.fastq.gz", - "uuid": "3eff86f6-cff5-43a6-9024-be9a9893f867", - "crc32c": "cca30918", - "version": "2018-03-29T09:02:52.254507Z", - "indexed": false, - "s3_etag": "de1ddd2251bea46fb4169243cc32da9a-5", - "sha256": "8751b8c0083bd4d36b2ffabfd1f71ccb8d162e0b2cdc8cdc502718bcd8914c67", - "content-type": "application/gzip; dcp-type=data", - "size": 302965864 - }, - "sequence_file/7b567fc7-5b53-4f94-a88d-24a1286d846c": { - "sha1": "f7b19573929167370ef78c28a5f858e9ff9657a1", - "name": "MantonBM6_HiSeq_2_S10_L003_I1_001.fastq.gz", - "uuid": "7b567fc7-5b53-4f94-a88d-24a1286d846c", - "crc32c": "dc4705f0", - "version": "2018-03-29T09:02:28.992334Z", - "indexed": false, - "s3_etag": "18a93b6b275c8fe39f43e2b3af361a43-8", - "sha256": "31436c51bd838446b9c1f3dc48ea7cd8b859253300ea0f4c4f9ca333ea3a42e8", - "content-type": "application/gzip; dcp-type=data", - "size": 473047277 - }, - "sequence_file/f9bb33ad-03e8-400f-a77d-6c92464bdbec": { - "sha1": "fbc2cc543ded560c9347049263b28fff07ad3519", - "name": "MantonBM6_HiSeq_2_S10_L004_R2_001.fastq.gz", - "uuid": "f9bb33ad-03e8-400f-a77d-6c92464bdbec", - "crc32c": "239200ff", - "version": "2018-03-29T09:02:28.577437Z", - "indexed": false, - "s3_etag": "f720aa1fadfa10657e47ae40006f38b0-63", - "sha256": "6035a9014673e4e8802483b797c418f9c3a744429f5eebf8396d165fbf6072d8", - "content-type": "application/gzip; dcp-type=data", - "size": 4219650457 - }, - "sequence_file/022d172e-1e82-418c-a821-133de6a9efe2": { - "sha1": "499d1f2093190abee57372ed5a346996f238dc06", - "name": "MantonBM5_HiSeq_4_S4_L002_I1_001.fastq.gz", - "uuid": "022d172e-1e82-418c-a821-133de6a9efe2", - "crc32c": "e9c540e1", - "version": "2018-03-29T09:02:10.117528Z", - "indexed": false, - "s3_etag": "c2428d07a5f39615d0edd46214af806d-7", - "sha256": "6f1feaeccc3260e37ec6ce673b6b9c3b52e1c973a09ab7a07b41e57ecea91f38", - "content-type": "application/gzip; dcp-type=data", - "size": 424212496 - }, - "sequence_file/0bb11e93-d9c6-411e-a614-e38252775d75": { - "sha1": "538c798d472b2c70f97a508b01882a2f1b26e7ee", - "name": "MantonBM8_HiSeq_4_S27_L007_R2_001.fastq.gz", - "uuid": "0bb11e93-d9c6-411e-a614-e38252775d75", - "crc32c": "ac1bd760", - "version": "2018-03-29T09:03:26.002142Z", - "indexed": false, - "s3_etag": "66227c96514322c8665609232da5e644-49", - "sha256": "5891c969a37c208d7406efd16c4f8c7ea3596c62df64a26b5f5e5858e2d10083", - "content-type": "application/gzip; dcp-type=data", - "size": 3280154103 - }, - "sequence_file/4d5c056b-5b1b-4fe7-a763-621cb7fa17c7": { - "sha1": "126defb01665e4fc984f0cdf8d8a5afcade0b615", - "name": "MantonBM7_HiSeq_3_S18_L005_R1_001.fastq.gz", - "uuid": "4d5c056b-5b1b-4fe7-a763-621cb7fa17c7", - "crc32c": "ca32b4e6", - "version": "2018-03-29T09:02:56.852518Z", - "indexed": false, - "s3_etag": "30a1b11d25ad0fbca02bcc8c7847423e-14", - "sha256": "884752c0494b3f225394e55d9d6ba3b067d00e229c5275757a6fd505871672c1", - "content-type": "application/gzip; dcp-type=data", - "size": 908372922 - }, - "sequence_file/6c11e561-ec37-4fb9-8661-a402d5268091": { - "sha1": "d2d981bc8cde0edbb7e6731a2a1b41c6b5cc4aaa", - "name": "MantonBM7_HiSeq_7_S22_L006_R2_001.fastq.gz", - "uuid": "6c11e561-ec37-4fb9-8661-a402d5268091", - "crc32c": "e918b586", - "version": "2018-03-29T09:03:11.669951Z", - "indexed": false, - "s3_etag": "e99705a600559571132a0f6678b8a324-39", - "sha256": "13b97a3bf73106214a42be516362b201b301f420a2cd042d5f625764bfcf5ba3", - "content-type": "application/gzip; dcp-type=data", - "size": 2583209592 - }, - "sequence_file/15656b3d-1c2e-48e6-b0f1-bf4402890c3e": { - "sha1": "e4543c83d835769feecbe0e913ffc6c17f17fa21", - "name": "MantonBM6_HiSeq_4_S11_L004_R2_001.fastq.gz", - "uuid": "15656b3d-1c2e-48e6-b0f1-bf4402890c3e", - "crc32c": "75f4ebb6", - "version": "2018-03-29T09:02:31.549094Z", - "indexed": false, - "s3_etag": "cd171714dc13f257266eb8095dc153bf-61", - "sha256": "a0248c6e11c3df5e6e74e6996d8ed61b5ed12f3c4cfa36bdb9f384b6796bb0f2", - "content-type": "application/gzip; dcp-type=data", - "size": 4033087679 - }, - "sequence_file/62b17e40-2c0b-4e37-8859-9290d1513ef9": { - "sha1": "5f40ba2a373a970e05595ac7a6bf3a5230e01349", - "name": "MantonBM7_HiSeq_3_S18_L006_I1_001.fastq.gz", - "uuid": "62b17e40-2c0b-4e37-8859-9290d1513ef9", - "crc32c": "54b75d78", - "version": "2018-03-29T09:02:57.858072Z", - "indexed": false, - "s3_etag": "704b67352a4f75251c69df2985b1589f-6", - "sha256": "f5a6e737f3c02629dccd64d81a00b3d0eeb583e596874660807678dc8d7e84f1", - "content-type": "application/gzip; dcp-type=data", - "size": 351321167 - }, - "sequence_file/b8a56d3f-9910-44a0-a9c0-bb7d51705792": { - "sha1": "8f1fd4eb1488270ded71bc57790a39361d1f67b1", - "name": "MantonBM8_HiSeq_8_S31_L008_R2_001.fastq.gz", - "uuid": "b8a56d3f-9910-44a0-a9c0-bb7d51705792", - "crc32c": "d835332a", - "version": "2018-03-29T09:03:40.390679Z", - "indexed": false, - "s3_etag": "1ef3e0f66e6e93759650e89e2734d139-40", - "sha256": "da6eb73d740a5beb4b92b1787f8abd9883e35c5de535f1d4d46b0f572dae6db8", - "content-type": "application/gzip; dcp-type=data", - "size": 2635109668 - }, - "sequence_file/2cf69609-5b35-4cd7-8b38-d53378de7ee2": { - "sha1": "03f09c1a911f7df582e7d92f329f4aa838e5cbb1", - "name": "MantonBM7_HiSeq_3_S18_L005_I1_001.fastq.gz", - "uuid": "2cf69609-5b35-4cd7-8b38-d53378de7ee2", - "crc32c": "7d52763a", - "version": "2018-03-29T09:02:56.342289Z", - "indexed": false, - "s3_etag": "eb0446aaea361dd588b7fc4c8895ad78-5", - "sha256": "0b631952ba8e80a6fcb71a92c99310668999b10b152c2b2e7bd9e1b2bc2134ed", - "content-type": "application/gzip; dcp-type=data", - "size": 306112106 - }, - "sequence_file/db4f1861-38ea-4800-92c5-0c03f63f8b2f": { - "sha1": "2e36af4f7a72dd2d400a382e45075b04b1c7d035", - "name": "MantonBM5_HiSeq_7_S7_L002_R2_001.fastq.gz", - "uuid": "db4f1861-38ea-4800-92c5-0c03f63f8b2f", - "crc32c": "deb81526", - "version": "2018-03-29T09:02:20.915765Z", - "indexed": false, - "s3_etag": "2d5104c4686189ad07b4fb28cb7bfd7d-43", - "sha256": "cbe179224d7fe7d6e4145124c0ee434bd0b099bf3d39f6f71035dde4f79b1dd5", - "content-type": "application/gzip; dcp-type=data", - "size": 2844947977 - }, - "sequence_file/fc6e45ac-5ba8-4a55-9901-3fa5ea480d28": { - "sha1": "8bef3e0cdf160d67c0f4c67b68febc39078f1971", - "name": "MantonBM5_HiSeq_4_S4_L002_R1_001.fastq.gz", - "uuid": "fc6e45ac-5ba8-4a55-9901-3fa5ea480d28", - "crc32c": "e125f907", - "version": "2018-03-29T09:02:10.610960Z", - "indexed": false, - "s3_etag": "b7ce137f9b6c1d351deef4eb67285018-20", - "sha256": "1a91a06090ff692fc845bb96ed37e84c3fe506632424206683ece291dc74eeff", - "content-type": "application/gzip; dcp-type=data", - "size": 1293307246 - }, - "sequence_file/c340fbe2-dc1c-4455-a29f-c698244982f8": { - "sha1": "7a8f3dcd8b5d34a3be8b04fe9bdda3f6e10edf3e", - "name": "MantonBM6_HiSeq_5_S12_L004_R2_001.fastq.gz", - "uuid": "c340fbe2-dc1c-4455-a29f-c698244982f8", - "crc32c": "898394c4", - "version": "2018-03-29T09:02:37.222003Z", - "indexed": false, - "s3_etag": "72491eb3a54a1943fa3b496678f7ea35-61", - "sha256": "3a580bd89b29284d27fe3056143a8303f12ea31f1f9cf1d6527ee16efbe652b6", - "content-type": "application/gzip; dcp-type=data", - "size": 4046230002 - }, - "sequence_file/4fa725fa-23c0-4b9b-9c0d-92b82aa75919": { - "sha1": "a5f163093bf040c7eb7a9b64a6d84a692b13672c", - "name": "MantonBM8_HiSeq_6_S29_L008_R1_001.fastq.gz", - "uuid": "4fa725fa-23c0-4b9b-9c0d-92b82aa75919", - "crc32c": "3de361ed", - "version": "2018-03-29T09:03:34.288411Z", - "indexed": false, - "s3_etag": "e486382c2de0d97ee98ddf472d542084-16", - "sha256": "3f43d6d93f687d37ae11131b36b72c171b70d4aa6f8d159e7ee23618a4f9a1b5", - "content-type": "application/gzip; dcp-type=data", - "size": 1013398951 - }, - "sequence_file/d889a2da-2b28-4553-9045-fe9c958b4616": { - "sha1": "b9001b15ca0e74714dd1c79202406126b4565214", - "name": "MantonBM8_HiSeq_2_S25_L008_R2_001.fastq.gz", - "uuid": "d889a2da-2b28-4553-9045-fe9c958b4616", - "crc32c": "86d28da5", - "version": "2018-03-29T09:03:21.729948Z", - "indexed": false, - "s3_etag": "b2623610db2102a3d57e27e89eb60050-44", - "sha256": "f5b6ddd3005ed0993213843dc5cc06b0e69245add47fec9fca696b214dceb592", - "content-type": "application/gzip; dcp-type=data", - "size": 2905511422 - }, - "sequence_file/383bb59e-9082-494a-91b2-804a72830475": { - "sha1": "374c2f3b7c578a8be6e1123cd7304dae490410bc", - "name": "MantonBM8_HiSeq_1_S24_L008_R2_001.fastq.gz", - "uuid": "383bb59e-9082-494a-91b2-804a72830475", - "crc32c": "a4a97b95", - "version": "2018-03-29T09:03:18.769984Z", - "indexed": false, - "s3_etag": "cc69330be36493d1d6de56a0558a3ab2-48", - "sha256": "b7c424b0fb8729506ef891e739062cd1f9fbfae9c9c8d18cb0bfe5e0df1e09c4", - "content-type": "application/gzip; dcp-type=data", - "size": 3195572624 - }, - "sequence_file/5952c0d9-09c9-4459-a606-515d8a497bd8": { - "sha1": "038be38cd2acc5238a24e5f0e49b918e7d7a9c06", - "name": "MantonBM7_HiSeq_1_S16_L006_R2_001.fastq.gz", - "uuid": "5952c0d9-09c9-4459-a606-515d8a497bd8", - "crc32c": "187bba49", - "version": "2018-03-29T09:02:53.515584Z", - "indexed": false, - "s3_etag": "75c0463776ac442e12400dc41711331d-41", - "sha256": "42776fa836cc1bcff9505c6f29b4d9d3a4cc898f1f70f27fa66d6744f151b179", - "content-type": "application/gzip; dcp-type=data", - "size": 2741685346 - }, - "sequence_file/b64bdbba-d2e8-4ec7-a17e-6ca9d872c77e": { - "sha1": "7318f8890631cbebf6de0c99fc5420a69c4da475", - "name": "MantonBM8_HiSeq_2_S25_L007_R1_001.fastq.gz", - "uuid": "b64bdbba-d2e8-4ec7-a17e-6ca9d872c77e", - "crc32c": "86eb1d67", - "version": "2018-03-29T09:03:19.738273Z", - "indexed": false, - "s3_etag": "11857ba87da54ddbfe41a6067df2f5de-16", - "sha256": "0bc2f3f63989b24b3b136e7fe3ec173486735d74a775c457c50a6912b18fee55", - "content-type": "application/gzip; dcp-type=data", - "size": 1029907246 - }, - "sequence_file/d1ae69e7-f838-42d1-a207-e50f5b53a788": { - "sha1": "afdb307e2f89123d8d081fbe9bae456e3a1213b2", - "name": "MantonBM6_HiSeq_1_S9_L004_R1_001.fastq.gz", - "uuid": "d1ae69e7-f838-42d1-a207-e50f5b53a788", - "crc32c": "69c96b51", - "version": "2018-03-29T09:02:26.762444Z", - "indexed": false, - "s3_etag": "c0cd12d50d5360369280793133064abe-21", - "sha256": "3c240976fe646a0e2a995965163a5ce5090e7d8c07fa1e7ea2a20eb5c6293699", - "content-type": "application/gzip; dcp-type=data", - "size": 1380086262 - }, - "sequence_file/7bf9a41d-d9e5-4321-b6a0-b77cc85fddc0": { - "sha1": "18b04f10136f457dce4264be3be0492aebf39f10", - "name": "MantonBM7_HiSeq_7_S22_L005_I1_001.fastq.gz", - "uuid": "7bf9a41d-d9e5-4321-b6a0-b77cc85fddc0", - "crc32c": "7e632c88", - "version": "2018-03-29T09:03:08.537589Z", - "indexed": false, - "s3_etag": "bfa95ec9f5f92bd8956bfd93c0fe0d97-4", - "sha256": "642752be890a0df584d7c245d6b931a487fe106ae49c76550113afd08d5b597f", - "content-type": "application/gzip; dcp-type=data", - "size": 254919046 - }, - "sequence_file/ed89b525-725a-4e6d-aee9-3b36e78803a8": { - "sha1": "8c06b4bd00537133942378dfcbcbda754561fd78", - "name": "MantonBM5_HiSeq_2_S2_L002_R2_001.fastq.gz", - "uuid": "ed89b525-725a-4e6d-aee9-3b36e78803a8", - "crc32c": "f157225e", - "version": "2018-03-29T09:02:03.048346Z", - "indexed": false, - "s3_etag": "c614d50280867b21b8e3f0f4e3713ed6-58", - "sha256": "84484524ac9697276963b09a0239a0a2fcb6f0f7ea81079d136e119b3cd26472", - "content-type": "application/gzip; dcp-type=data", - "size": 3877148407 - }, - "sequence_file/8d3d8579-4d9f-4442-9141-653287e9418b": { - "sha1": "4feefcb361c7082bdda9a223edde8041ad883169", - "name": "MantonBM7_HiSeq_1_S16_L005_R1_001.fastq.gz", - "uuid": "8d3d8579-4d9f-4442-9141-653287e9418b", - "crc32c": "a5edc4ce", - "version": "2018-03-29T09:02:51.024265Z", - "indexed": false, - "s3_etag": "52a84e914608f6569eeffd69d359a699-13", - "sha256": "35280df7a1ec4be5cf0c61392548fa0ae7d80e80c19ee34d7321a1598f442523", - "content-type": "application/gzip; dcp-type=data", - "size": 805892570 - }, - "sequence_file/bcdae4a6-ae9b-4f2a-ad95-b4cfa3ad2a7c": { - "sha1": "358fc667d079265c433fd6e0ba6ff5c956511f01", - "name": "MantonBM7_HiSeq_8_S23_L005_R2_001.fastq.gz", - "uuid": "bcdae4a6-ae9b-4f2a-ad95-b4cfa3ad2a7c", - "crc32c": "3289307f", - "version": "2018-03-29T09:03:13.201415Z", - "indexed": false, - "s3_etag": "944bd1999b4126d0f93b1a8b2b2e7582-38", - "sha256": "4a4a716eb74b4c80deaf3a8edd67aada6f31c5cad7af268aa68c8e0119db3a0b", - "content-type": "application/gzip; dcp-type=data", - "size": 2513243900 - }, - "sequence_file/4eb20891-5ee7-49fe-aa32-52201434772c": { - "sha1": "9751d113857c68f2a0cd471bfe288347191c6ccb", - "name": "MantonBM7_HiSeq_7_S22_L006_R1_001.fastq.gz", - "uuid": "4eb20891-5ee7-49fe-aa32-52201434772c", - "crc32c": "45292329", - "version": "2018-03-29T09:03:11.195990Z", - "indexed": false, - "s3_etag": "6a387ade39366e0d7e6d539374075e61-14", - "sha256": "94dad64aadad1012df9e0c1f31a221b21615f31b613b16005c704957fb1efecc", - "content-type": "application/gzip; dcp-type=data", - "size": 885299907 - }, - "sequence_file/8ad4c436-01a2-4d07-8b09-33e86a1d759a": { - "sha1": "1d758a82b3568fc0385ccd7de5457ddab1a1790f", - "name": "MantonBM5_HiSeq_3_S3_L001_R2_001.fastq.gz", - "uuid": "8ad4c436-01a2-4d07-8b09-33e86a1d759a", - "crc32c": "5fe9bb78", - "version": "2018-03-29T09:02:04.869696Z", - "indexed": false, - "s3_etag": "440c910ec0e9a96ca7a0558d66e9b2af-59", - "sha256": "2cb541b849d582b44aa2a085b965901745d1fe9bf974b5517904dd4e95727cdc", - "content-type": "application/gzip; dcp-type=data", - "size": 3906634461 - }, - "sequence_file/5675b050-9c66-4c34-803f-3e6e0ea0af3f": { - "sha1": "759cd0dd273035475e17aa1c1f6b9415992fbe2a", - "name": "MantonBM8_HiSeq_2_S25_L008_R1_001.fastq.gz", - "uuid": "5675b050-9c66-4c34-803f-3e6e0ea0af3f", - "crc32c": "5fc01ec2", - "version": "2018-03-29T09:03:21.246192Z", - "indexed": false, - "s3_etag": "9b1d20d9c735205387f833fa80ca3b0d-15", - "sha256": "dc53e915148f2e3e51ea857a355570eee4b48b28e9491dd26e4e95218a1c7a2a", - "content-type": "application/gzip; dcp-type=data", - "size": 970830668 - }, - "sequence_file/09cce819-9467-4dd8-b91a-ef6b450c4b33": { - "sha1": "665c5fe6df86e4017179be35919ecf1213b23764", - "name": "MantonBM7_HiSeq_8_S23_L005_R1_001.fastq.gz", - "uuid": "09cce819-9467-4dd8-b91a-ef6b450c4b33", - "crc32c": "3a3a3f9c", - "version": "2018-03-29T09:03:12.593190Z", - "indexed": false, - "s3_etag": "cfb79977c54dcb4567423bdfc2eb02f1-13", - "sha256": "5957eeae0bdf1ad9d4a5bf4a6bd2789e9fb0621c932b2a3d76a40250d3c4d9e9", - "content-type": "application/gzip; dcp-type=data", - "size": 863760829 - }, - "sequence_file/ae61c169-016b-40dc-9e95-b7dc1fd0b346": { - "sha1": "eadde9d09edc97ddab74f513de3841b086899181", - "name": "MantonBM6_HiSeq_4_S11_L003_R1_001.fastq.gz", - "uuid": "ae61c169-016b-40dc-9e95-b7dc1fd0b346", - "crc32c": "fcbf7fe2", - "version": "2018-03-29T09:02:32.297805Z", - "indexed": false, - "s3_etag": "07fc903b4d58b08ee43ea59a06c99ecc-21", - "sha256": "b2972aa9c9b7fe85189306cb81ebd310a966b0234b97cd00b99d9874f5e19047", - "content-type": "application/gzip; dcp-type=data", - "size": 1390515067 - }, - "sequence_file/1f650fa2-e91a-4cde-8ff5-ad2738f0d3cc": { - "sha1": "c67307cd65f0f9c677a05aa4acec32c2d62e1304", - "name": "MantonBM8_HiSeq_4_S27_L008_R1_001.fastq.gz", - "uuid": "1f650fa2-e91a-4cde-8ff5-ad2738f0d3cc", - "crc32c": "ba74c6af", - "version": "2018-03-29T09:03:26.775885Z", - "indexed": false, - "s3_etag": "6a7de5b52c9eba46297bfa7c5a365e3a-16", - "sha256": "32853c2e83704bd13ffe767b5adaef9d405f156b037f2ee0daf82cb3b8f36eeb", - "content-type": "application/gzip; dcp-type=data", - "size": 1053151114 - }, - "sequence_file/9b371ad5-94a8-4cbb-a792-45ac8bdff35d": { - "sha1": "7ef009e510bb0c3b4b55386089b799f056cef0fa", - "name": "MantonBM5_HiSeq_8_S8_L002_R1_001.fastq.gz", - "uuid": "9b371ad5-94a8-4cbb-a792-45ac8bdff35d", - "crc32c": "795b7e8b", - "version": "2018-03-29T09:02:24.099827Z", - "indexed": false, - "s3_etag": "cb6ade123988e1bff384ed77c3886662-18", - "sha256": "134b2e805a0bafd115b4e4f0b607cc8ff132667093bfade635983ffd757efdfb", - "content-type": "application/gzip; dcp-type=data", - "size": 1178862002 - }, - "sequence_file/becb6174-be03-40fa-85c2-4fa3b9308ef5": { - "sha1": "0282c24be5c0fed3856ebd1eab3a00201eb6d9b9", - "name": "MantonBM7_HiSeq_6_S21_L005_R2_001.fastq.gz", - "uuid": "becb6174-be03-40fa-85c2-4fa3b9308ef5", - "crc32c": "205927b1", - "version": "2018-03-29T09:03:06.514936Z", - "indexed": false, - "s3_etag": "11cf7bcebc9ee38f14e407e398d51aa8-36", - "sha256": "637e335d55e29187c176a7b37ac3c0e57a460263f5c6524ed0a4b2579a4550d4", - "content-type": "application/gzip; dcp-type=data", - "size": 2358285121 - }, - "sequence_file/30e7db70-fec3-48f1-bf7b-71adf9e8d7f1": { - "sha1": "2f3294a1b07d9b768a063efcbede8fa8a25f4b84", - "name": "MantonBM7_HiSeq_6_S21_L005_R1_001.fastq.gz", - "uuid": "30e7db70-fec3-48f1-bf7b-71adf9e8d7f1", - "crc32c": "bd34ad0e", - "version": "2018-03-29T09:03:05.836628Z", - "indexed": false, - "s3_etag": "2340e4b1dcb987274f56bb6296555cff-13", - "sha256": "09ee22816b7660658640b1306560f98a654af4d8c8dcffd6d46aed96d29e24a4", - "content-type": "application/gzip; dcp-type=data", - "size": 805964176 - }, - "sequence_file/87e595d8-7285-4067-a73f-e80944ffae3c": { - "sha1": "5e1f5912b09a898e1cc788c45149fc0428114af6", - "name": "MantonBM8_HiSeq_5_S28_L007_R1_001.fastq.gz", - "uuid": "87e595d8-7285-4067-a73f-e80944ffae3c", - "crc32c": "5cc52121", - "version": "2018-03-29T09:03:28.278340Z", - "indexed": false, - "s3_etag": "3e44cb44bea42ff6ef52c60b761cad07-16", - "sha256": "6d391dbe265bebf69ee25fabd977a90134631bd930b3fc3274032d116d9aa29b", - "content-type": "application/gzip; dcp-type=data", - "size": 1047009312 - }, - "sequence_file/e44d2d64-df79-4a74-b88b-093102e4e799": { - "sha1": "e5d801cd1008e6d685060d314a93f35339a65786", - "name": "MantonBM7_HiSeq_6_S21_L006_R1_001.fastq.gz", - "uuid": "e44d2d64-df79-4a74-b88b-093102e4e799", - "crc32c": "aafad651", - "version": "2018-03-29T09:03:07.671841Z", - "indexed": false, - "s3_etag": "f472fc7fa5ca86163add68fd6ac31fa0-15", - "sha256": "f7d458501283b6d048975cb42b1a0b80c833c30bf9982d348a3f36d8e3bf78dc", - "content-type": "application/gzip; dcp-type=data", - "size": 949973774 - } - }, - "metadata": { - "project/6504d48c-1610-43aa-8cf8-214a960e110c": { - "content": { - "describedBy": "https://schema.humancellatlas.org/type/project/5.1.0/project", - "project_core": { - "project_short_name": "1M Immune Cells", - "project_description": "Diverse cells of the immune system maintain and protect tissue function, integrity, and homeostasis upon changes in functional demands and diverse perturbations. Recent advances such as massively parallel single-cell RNA-sequencing and sophisticated computational methods help shed new light on this complexity. This immune cell census aims to profile up to 2M immunocytes, the first tranche of this is currently available. With computational methods optimized to a massive scale, we can readily identify cell types and markers, as well as the process of hematopoietic differentiation. The high quality and comprehensive reference map is provided as an open community resource for understanding human health and disease.", - "project_title": "Census of Immune Cells" - }, - "publications": [], - "contributors": [ - { - "country": "USA", - "email": "aregev@broadinstitute.org", - "phone": "(617) 714-7020", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Aviv,,Regev", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "libo@broadinstitute.org", - "phone": "(617) 714-8681", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Bo,,Li", - "institution": "Broad Institute" - }, - { - "country": "USA", - "institution": "Broad Institute", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Monika,S,Kowalczyk", - "email": "msk.kowalczyk@gmail.com" - }, - { - "country": "USA", - "email": "dionne@broadinstitute.org", - "phone": "(617) 714-8147", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Danielle,,Dionne", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "ttickle@broadinstitute.org", - "phone": "(617) 714-7084", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Timothy,,Tickle", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "janelee@broadinstitute.org", - "phone": "(617) 714-7448", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Jane,,Lee", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "orit@broadinstitute.org", - "phone": "(617) 714-7789", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Orit,,Rozenblatt-Rosen", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "orr@broadinstitute.org", - "phone": "(617) 714-8681", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Orr,,Ashenberg", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "mtabaka@broadinstitute.org", - "phone": "(617) 714-7470", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Marcin,,Tabaka", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "karthik@broadinstitute.org", - "phone": "(617) 714-8067", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Karthik,,Shekhar", - "institution": "Broad Institute" - }, - { - "country": "USA", - "email": "mslyper@broadinstitute.org", - "phone": "(617) 714-7199", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Michal,,Slyper", - "institution": "Broad Institute" - }, - { - "country": "USA", - "institution": "Broad Institute", - "address": "415 Main Street, Cambridge, MA", - "laboratory": "Regev Lab", - "contact_name": "Julia,,Waldman", - "email": "jwaldman@broadinstitute.org" - } - ], - "schema_type": "project" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.820Z", - "updateDate": "2018-03-26T16:59:28.166Z", - "document_id": "6504d48c-1610-43aa-8cf8-214a960e110c" - }, - "describedBy": "https://schema.humancellatlas.org/bundle/5.1.0/project", - "schema_version": "5.1.0", - "schema_type": "project_bundle" - }, - "cell_suspension/511d4724-0b88-418d-bd22-5d6f986d6053": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4302, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.907Z", - "updateDate": "2018-03-26T17:00:57.688Z", - "document_id": "511d4724-0b88-418d-bd22-5d6f986d6053" - } - }, - "specimen_from_organism/a673bfc0-7dd8-4010-a882-8fb3e6f553b1": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM8" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.195Z", - "updateDate": "2018-03-26T17:00:57.672Z", - "document_id": "a673bfc0-7dd8-4010-a882-8fb3e6f553b1" - } - }, - "donor_organism/07a69497-dc3d-4808-a08a-ed0b43cb006e": { - "content": { - "is_living": true, - "biological_sex": "female", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "organism_age": "32", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "BM8", - "biomaterial_name": "Bone Marrow donor 8" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.683Z", - "updateDate": "2018-03-26T16:59:46.420Z", - "document_id": "07a69497-dc3d-4808-a08a-ed0b43cb006e" - } - }, - "cell_suspension/cf1f4b91-6f95-4b9b-9c71-419bf149ea8e": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4343, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.461Z", - "updateDate": "2018-03-26T17:00:21.147Z", - "document_id": "cf1f4b91-6f95-4b9b-9c71-419bf149ea8e" - } - }, - "specimen_from_organism/e4fb8f04-a6d6-4d98-a1bb-c2fd8ff5aa37": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM8" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.719Z", - "updateDate": "2018-03-26T17:00:11.964Z", - "document_id": "e4fb8f04-a6d6-4d98-a1bb-c2fd8ff5aa37" - } - }, - "cell_suspension/55331b4f-456b-406d-a9c5-a8607aac450f": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3806, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.632Z", - "updateDate": "2018-03-26T17:00:56.948Z", - "document_id": "55331b4f-456b-406d-a9c5-a8607aac450f" - } - }, - "specimen_from_organism/435ded44-97c9-4d17-abb6-d28b8011a486": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM5" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.659Z", - "updateDate": "2018-03-26T17:00:56.930Z", - "document_id": "435ded44-97c9-4d17-abb6-d28b8011a486" - } - }, - "donor_organism/61c0d3be-9a27-43eb-896c-2a00c711b883": { - "content": { - "is_living": true, - "biological_sex": "male", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "organism_age": "29", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "BM5", - "biomaterial_name": "Bone Marrow donor 5" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.628Z", - "updateDate": "2018-03-26T16:59:46.592Z", - "document_id": "61c0d3be-9a27-43eb-896c-2a00c711b883" - } - }, - "cell_suspension/39d16a4b-d0f5-457e-8f1c-19dc0903dd09": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4565, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:19.754Z", - "updateDate": "2018-03-26T17:00:53.983Z", - "document_id": "39d16a4b-d0f5-457e-8f1c-19dc0903dd09" - } - }, - "specimen_from_organism/95f4827c-1243-4f82-8a61-530e466ba626": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM6" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.744Z", - "updateDate": "2018-03-26T17:00:53.965Z", - "document_id": "95f4827c-1243-4f82-8a61-530e466ba626" - } - }, - "donor_organism/8b986959-b1ef-4b44-a41e-d33e0304fbba": { - "content": { - "is_living": true, - "biological_sex": "female", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "organism_age": "26", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "BM6", - "biomaterial_name": "Bone Marrow donor 6" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.551Z", - "updateDate": "2018-03-26T16:59:46.463Z", - "document_id": "8b986959-b1ef-4b44-a41e-d33e0304fbba" - } - }, - "cell_suspension/0f256ebf-f049-4d37-b175-7cb881748469": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3842, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.468Z", - "updateDate": "2018-03-26T17:00:21.188Z", - "document_id": "0f256ebf-f049-4d37-b175-7cb881748469" - } - }, - "specimen_from_organism/fa448898-f1ab-4f7b-b4f4-b5ffa34526ec": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM5" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.118Z", - "updateDate": "2018-03-26T17:00:07.034Z", - "document_id": "fa448898-f1ab-4f7b-b4f4-b5ffa34526ec" - } - }, - "cell_suspension/9eb0db90-5f70-4c03-b1c3-4709ddbfd9cb": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4400, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.830Z", - "updateDate": "2018-03-26T17:00:58.215Z", - "document_id": "9eb0db90-5f70-4c03-b1c3-4709ddbfd9cb" - } - }, - "specimen_from_organism/2ec6f4fb-5252-4480-9fe4-37355a3f106f": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM8" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.039Z", - "updateDate": "2018-03-26T17:00:58.196Z", - "document_id": "2ec6f4fb-5252-4480-9fe4-37355a3f106f" - } - }, - "cell_suspension/866c75ad-acd4-4c6a-a234-c456393ee5f1": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4430, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.371Z", - "updateDate": "2018-03-26T17:00:53.825Z", - "document_id": "866c75ad-acd4-4c6a-a234-c456393ee5f1" - } - }, - "specimen_from_organism/e47e8c7c-b584-4e52-953d-3a4fbe7c3d24": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM6" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.092Z", - "updateDate": "2018-03-26T17:00:53.809Z", - "document_id": "e47e8c7c-b584-4e52-953d-3a4fbe7c3d24" - } - }, - "cell_suspension/1b9de729-00b5-493e-a801-0f4d35c7f060": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4408, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.719Z", - "updateDate": "2018-03-26T17:00:57.972Z", - "document_id": "1b9de729-00b5-493e-a801-0f4d35c7f060" - } - }, - "specimen_from_organism/c374dcee-f665-4f86-b900-3af1b01dc503": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM7" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.030Z", - "updateDate": "2018-03-26T17:00:57.953Z", - "document_id": "c374dcee-f665-4f86-b900-3af1b01dc503" - } - }, - "donor_organism/d4ca041a-7028-407f-906b-f8b4415c2c1c": { - "content": { - "is_living": true, - "biological_sex": "female", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272" - }, - "organism_age": "36", - "schema_type": "biomaterial", - "biomaterial_core": { - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "BM7", - "biomaterial_name": "Bone Marrow donor 7" - }, - "organism_age_unit": { - "text": "years", - "ontology": "UO:0000036" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/donor_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:22.578Z", - "updateDate": "2018-03-26T16:59:46.508Z", - "document_id": "d4ca041a-7028-407f-906b-f8b4415c2c1c" - } - }, - "cell_suspension/29fa4290-89db-46c6-a154-444c73fcc644": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4396, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.744Z", - "updateDate": "2018-03-26T17:00:57.092Z", - "document_id": "29fa4290-89db-46c6-a154-444c73fcc644" - } - }, - "specimen_from_organism/99ba7224-aa3d-47f0-9ffd-3219240f1e45": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM6" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.729Z", - "updateDate": "2018-03-26T17:00:57.075Z", - "document_id": "99ba7224-aa3d-47f0-9ffd-3219240f1e45" - } - }, - "cell_suspension/77b0da1a-1855-4f5f-a299-e5f28d881bdb": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4186, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.306Z", - "updateDate": "2018-03-26T17:00:58.286Z", - "document_id": "77b0da1a-1855-4f5f-a299-e5f28d881bdb" - } - }, - "specimen_from_organism/a9653bd6-f808-4ebc-82cf-171d4c737ae9": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM8" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.324Z", - "updateDate": "2018-03-26T17:00:58.267Z", - "document_id": "a9653bd6-f808-4ebc-82cf-171d4c737ae9" - } - }, - "cell_suspension/beabff64-fd1b-4817-995e-b37403f2aea4": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4495, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "6_BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.406Z", - "updateDate": "2018-03-26T17:00:21.279Z", - "document_id": "beabff64-fd1b-4817-995e-b37403f2aea4" - } - }, - "specimen_from_organism/3192908c-3f5f-41d8-8b55-6000dbb811cb": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "6_BM8" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.221Z", - "updateDate": "2018-03-26T17:00:11.896Z", - "document_id": "3192908c-3f5f-41d8-8b55-6000dbb811cb" - } - }, - "cell_suspension/09424c38-f1b1-4abf-9d97-fffd5ba3ad4f": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3956, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:24.435Z", - "updateDate": "2018-03-26T17:00:21.295Z", - "document_id": "09424c38-f1b1-4abf-9d97-fffd5ba3ad4f" - } - }, - "specimen_from_organism/f2ab37e5-68dc-4782-8e18-6042750bd89f": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM5" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.380Z", - "updateDate": "2018-03-26T17:00:07.859Z", - "document_id": "f2ab37e5-68dc-4782-8e18-6042750bd89f" - } - }, - "cell_suspension/18791d9e-c0ae-4cb4-a9e6-b4ea4618f6d7": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4202, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.056Z", - "updateDate": "2018-03-26T17:00:21.316Z", - "document_id": "18791d9e-c0ae-4cb4-a9e6-b4ea4618f6d7" - } - }, - "specimen_from_organism/d43c21e1-f672-4920-a8c5-7a32aeef1ce1": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM8" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.068Z", - "updateDate": "2018-03-26T17:00:11.763Z", - "document_id": "d43c21e1-f672-4920-a8c5-7a32aeef1ce1" - } - }, - "cell_suspension/1339c497-c686-4d8d-ae51-6b30cb3dd11e": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4580, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.215Z", - "updateDate": "2018-03-26T17:00:54.342Z", - "document_id": "1339c497-c686-4d8d-ae51-6b30cb3dd11e" - } - }, - "specimen_from_organism/0419e639-2762-4abb-b125-558a151d6580": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM6" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.405Z", - "updateDate": "2018-03-26T17:00:54.224Z", - "document_id": "0419e639-2762-4abb-b125-558a151d6580" - } - }, - "cell_suspension/8ec8f2f9-77b5-4fd7-a85b-38643009089c": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4558, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.252Z", - "updateDate": "2018-03-26T17:00:57.017Z", - "document_id": "8ec8f2f9-77b5-4fd7-a85b-38643009089c" - } - }, - "specimen_from_organism/c6e6684d-41d2-4f1a-a992-72290baca715": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM6" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.387Z", - "updateDate": "2018-03-26T17:00:56.998Z", - "document_id": "c6e6684d-41d2-4f1a-a992-72290baca715" - } - }, - "cell_suspension/939b4152-d4b6-4374-9775-9f53eb16ad0f": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4679, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.732Z", - "updateDate": "2018-03-26T17:00:58.052Z", - "document_id": "939b4152-d4b6-4374-9775-9f53eb16ad0f" - } - }, - "specimen_from_organism/9d8ba59f-f2e9-43e2-85e0-7095f5b09923": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM7" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.677Z", - "updateDate": "2018-03-26T17:00:58.035Z", - "document_id": "9d8ba59f-f2e9-43e2-85e0-7095f5b09923" - } - }, - "cell_suspension/e45b8254-e077-4ac9-a8e6-1627eb42d5b4": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4541, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.941Z", - "updateDate": "2018-03-26T17:00:54.059Z", - "document_id": "e45b8254-e077-4ac9-a8e6-1627eb42d5b4" - } - }, - "specimen_from_organism/e6d0da8f-e666-4f29-b8d8-34d717188967": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM6" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.402Z", - "updateDate": "2018-03-26T17:00:54.042Z", - "document_id": "e6d0da8f-e666-4f29-b8d8-34d717188967" - } - }, - "cell_suspension/37c79043-da4d-4745-91c4-9785d1d03a82": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4827, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:25.984Z", - "updateDate": "2018-03-26T17:00:58.142Z", - "document_id": "37c79043-da4d-4745-91c4-9785d1d03a82" - } - }, - "specimen_from_organism/5c38a229-495f-4b2b-8c62-af0814e4f002": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM7" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.362Z", - "updateDate": "2018-03-26T17:00:58.124Z", - "document_id": "5c38a229-495f-4b2b-8c62-af0814e4f002" - } - }, - "cell_suspension/b0842f1d-b081-4ed5-ad1a-30b34015b62d": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3854, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.032Z", - "updateDate": "2018-03-26T17:00:21.478Z", - "document_id": "b0842f1d-b081-4ed5-ad1a-30b34015b62d" - } - }, - "specimen_from_organism/09bed9cb-5ea2-41f0-8d9b-5a985c096668": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM5" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.756Z", - "updateDate": "2018-03-26T17:00:07.176Z", - "document_id": "09bed9cb-5ea2-41f0-8d9b-5a985c096668" - } - }, - "cell_suspension/c7520e50-f9bc-4626-a117-a78f394fc203": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3524, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.371Z", - "updateDate": "2018-03-26T17:00:21.523Z", - "document_id": "c7520e50-f9bc-4626-a117-a78f394fc203" - } - }, - "specimen_from_organism/58b0354a-acbf-4f82-aad3-dbc90b8b0258": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM5" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.482Z", - "updateDate": "2018-03-26T17:00:07.107Z", - "document_id": "58b0354a-acbf-4f82-aad3-dbc90b8b0258" - } - }, - "cell_suspension/b508258e-74d6-4c7e-adc2-ddda36ebfad7": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3922, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "3_BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.465Z", - "updateDate": "2018-03-26T17:00:21.555Z", - "document_id": "b508258e-74d6-4c7e-adc2-ddda36ebfad7" - } - }, - "specimen_from_organism/0041bb77-8217-4707-adba-0ff4f0a75382": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "3_BM5" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:20.144Z", - "updateDate": "2018-03-26T17:00:07.320Z", - "document_id": "0041bb77-8217-4707-adba-0ff4f0a75382" - } - }, - "cell_suspension/550a7b77-96d1-41f1-99aa-66bc1e94d23e": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4548, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "8_BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.517Z", - "updateDate": "2018-03-26T17:00:58.500Z", - "document_id": "550a7b77-96d1-41f1-99aa-66bc1e94d23e" - } - }, - "specimen_from_organism/a9e6e73a-a912-4a15-8a54-b449d2cb8288": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "8_BM7" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.652Z", - "updateDate": "2018-03-26T17:00:58.422Z", - "document_id": "a9e6e73a-a912-4a15-8a54-b449d2cb8288" - } - }, - "cell_suspension/48496fe2-090e-4253-ae04-3f3b0b520585": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4286, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.601Z", - "updateDate": "2018-03-26T17:00:21.611Z", - "document_id": "48496fe2-090e-4253-ae04-3f3b0b520585" - } - }, - "specimen_from_organism/f3aea92a-a3e1-4130-9dbc-60d3757c549e": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM8" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.827Z", - "updateDate": "2018-03-26T17:00:11.832Z", - "document_id": "f3aea92a-a3e1-4130-9dbc-60d3757c549e" - } - }, - "cell_suspension/7d72b943-9bbc-479c-af24-40b5f5c2fdb4": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 3804, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.548Z", - "updateDate": "2018-03-26T17:00:21.635Z", - "document_id": "7d72b943-9bbc-479c-af24-40b5f5c2fdb4" - } - }, - "specimen_from_organism/fbd01573-ab66-45a1-9719-68a3df5d762f": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM5" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.311Z", - "updateDate": "2018-03-26T17:00:07.488Z", - "document_id": "fbd01573-ab66-45a1-9719-68a3df5d762f" - } - }, - "cell_suspension/fc8be628-9c61-47c8-91b5-2b1ae427cf89": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4556, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "2_BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.715Z", - "updateDate": "2018-03-26T17:00:53.646Z", - "document_id": "fc8be628-9c61-47c8-91b5-2b1ae427cf89" - } - }, - "specimen_from_organism/f8b16856-e066-41f1-8289-2d08bc1791a8": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "2_BM7" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:26.704Z", - "updateDate": "2018-03-26T17:00:53.598Z", - "document_id": "f8b16856-e066-41f1-8289-2d08bc1791a8" - } - }, - "cell_suspension/5bd60c24-d76e-4fd6-bb82-115273cee157": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4330, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "1_BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:27.777Z", - "updateDate": "2018-03-26T17:00:53.732Z", - "document_id": "5bd60c24-d76e-4fd6-bb82-115273cee157" - } - }, - "specimen_from_organism/5f6b7460-214b-4371-9fc6-671bdd2afa72": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "1_BM7" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:21.429Z", - "updateDate": "2018-03-26T17:00:53.715Z", - "document_id": "5f6b7460-214b-4371-9fc6-671bdd2afa72" - } - }, - "cell_suspension/0ebe30dd-102f-44ce-9a0b-82481c2956a5": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4032, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM5_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.147Z", - "updateDate": "2018-03-26T17:00:21.674Z", - "document_id": "0ebe30dd-102f-44ce-9a0b-82481c2956a5" - } - }, - "specimen_from_organism/b82065c6-8269-4d13-b8ae-d0fb3f26f77c": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM5", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM5" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.050Z", - "updateDate": "2018-03-26T17:00:07.576Z", - "document_id": "b82065c6-8269-4d13-b8ae-d0fb3f26f77c" - } - }, - "cell_suspension/5680b7ac-d329-476b-85e6-05c39d3fb028": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4584, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM6_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.871Z", - "updateDate": "2018-03-26T17:00:53.907Z", - "document_id": "5680b7ac-d329-476b-85e6-05c39d3fb028" - } - }, - "specimen_from_organism/fd8aba0d-6299-43ce-abf4-28bb10754e92": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM6", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM6" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.483Z", - "updateDate": "2018-03-26T17:00:53.881Z", - "document_id": "fd8aba0d-6299-43ce-abf4-28bb10754e92" - } - }, - "cell_suspension/ba805a63-d347-4ac8-ad35-96f518204cc7": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4275, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "4_BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM8_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.606Z", - "updateDate": "2018-03-26T17:00:57.756Z", - "document_id": "ba805a63-d347-4ac8-ad35-96f518204cc7" - } - }, - "specimen_from_organism/beb014f4-f54b-4c40-bc4f-347ebcb2c5ca": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM8", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "4_BM8" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:23.414Z", - "updateDate": "2018-03-26T17:00:57.741Z", - "document_id": "beb014f4-f54b-4c40-bc4f-347ebcb2c5ca" - } - }, - "cell_suspension/0a811a33-4de1-4d96-9cf0-1ec315112ffe": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4591, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "5_BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.630Z", - "updateDate": "2018-03-26T17:00:57.894Z", - "document_id": "0a811a33-4de1-4d96-9cf0-1ec315112ffe" - } - }, - "specimen_from_organism/755cc233-9d9f-4d12-96e6-9d4dacde8a67": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "5_BM7" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:28.521Z", - "updateDate": "2018-03-26T17:00:57.877Z", - "document_id": "755cc233-9d9f-4d12-96e6-9d4dacde8a67" - } - }, - "cell_suspension/c8a2fff6-4d1a-412b-a0a0-96e4fdd4af7c": { - "content": { - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 4074, - "target_cell_type": [ - { - "text": "bone marrow hematopoietic cell", - "ontology": "CL:1001610" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "7_BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM7_cells" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/cell_suspension" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.687Z", - "updateDate": "2018-03-26T17:00:58.359Z", - "document_id": "c8a2fff6-4d1a-412b-a0a0-96e4fdd4af7c" - } - }, - "specimen_from_organism/35e69b30-f6c1-4d90-a585-31d8b25bd2c6": { - "content": { - "organ": { - "text": "hematopoietic system", - "ontology": "UBERON:0002390" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "schema_type": "biomaterial", - "biomaterial_core": { - "has_input_biomaterial": "BM7", - "ncbi_taxon_id": [ - 9606 - ], - "biomaterial_id": "7_BM7" - }, - "organ_part": { - "text": "bone marrow", - "ontology": "UBERON:0002371" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/5.1.0/specimen_from_organism" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:31.429Z", - "updateDate": "2018-03-26T17:00:58.343Z", - "document_id": "35e69b30-f6c1-4d90-a585-31d8b25bd2c6" - } - }, - "sequence_file/39351ee0-89c3-499d-a820-5bece48704d5": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_1_S1_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.510Z", - "document_id": "39351ee0-89c3-499d-a820-5bece48704d5" - } - }, - "sequence_file/2a6cf1cd-1599-44ef-86e5-511a18e23262": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_1_S1_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.532Z", - "document_id": "2a6cf1cd-1599-44ef-86e5-511a18e23262" - } - }, - "sequence_file/b5110ae6-55e1-4fe8-bae2-9696e679057b": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_1_S1_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.548Z", - "document_id": "b5110ae6-55e1-4fe8-bae2-9696e679057b" - } - }, - "sequence_file/6517b6c3-3fab-45e9-a494-ae81ccc500f0": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_1_S1_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.562Z", - "document_id": "6517b6c3-3fab-45e9-a494-ae81ccc500f0" - } - }, - "sequence_file/8162a395-0409-45c3-8652-918983bb1da0": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_1_S1_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.576Z", - "document_id": "8162a395-0409-45c3-8652-918983bb1da0" - } - }, - "sequence_file/719f581d-3481-4fe5-a3c5-2eb9054d07ec": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_1_S1_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.587Z", - "document_id": "719f581d-3481-4fe5-a3c5-2eb9054d07ec" - } - }, - "sequence_file/656fa889-f831-4a3a-84cf-0a1f5e148f5e": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_2_S2_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.599Z", - "document_id": "656fa889-f831-4a3a-84cf-0a1f5e148f5e" - } - }, - "sequence_file/687c63b3-2eb3-4aac-ab54-aa5d02128f1c": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_2_S2_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.611Z", - "document_id": "687c63b3-2eb3-4aac-ab54-aa5d02128f1c" - } - }, - "sequence_file/7ded5e63-c50e-4854-9be7-1cb206fa3d7f": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_2_S2_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.623Z", - "document_id": "7ded5e63-c50e-4854-9be7-1cb206fa3d7f" - } - }, - "sequence_file/c000533a-432f-4733-bc22-16e4bb89382b": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_2_S2_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.637Z", - "document_id": "c000533a-432f-4733-bc22-16e4bb89382b" - } - }, - "sequence_file/bd256dda-501a-4287-8e44-79fa7dcc43c6": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_2_S2_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.652Z", - "document_id": "bd256dda-501a-4287-8e44-79fa7dcc43c6" - } - }, - "sequence_file/ed89b525-725a-4e6d-aee9-3b36e78803a8": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_2_S2_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.664Z", - "document_id": "ed89b525-725a-4e6d-aee9-3b36e78803a8" - } - }, - "sequence_file/4c9af689-d89d-4312-a12b-deeb03c2fdca": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_3_S3_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.675Z", - "document_id": "4c9af689-d89d-4312-a12b-deeb03c2fdca" - } - }, - "sequence_file/bfdeb7e3-f242-48ae-9222-6428b5168ccd": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_3_S3_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.688Z", - "document_id": "bfdeb7e3-f242-48ae-9222-6428b5168ccd" - } - }, - "sequence_file/8ad4c436-01a2-4d07-8b09-33e86a1d759a": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_3_S3_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.700Z", - "document_id": "8ad4c436-01a2-4d07-8b09-33e86a1d759a" - } - }, - "sequence_file/ec15bc6b-2b71-4f78-ac5d-892b639a7fb6": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_3_S3_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.714Z", - "document_id": "ec15bc6b-2b71-4f78-ac5d-892b639a7fb6" - } - }, - "sequence_file/6f042830-9bc8-4dd5-97a3-505f2db57d79": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_3_S3_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.727Z", - "document_id": "6f042830-9bc8-4dd5-97a3-505f2db57d79" - } - }, - "sequence_file/5483a55b-cd36-4477-adcf-37172a856bfc": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_3_S3_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.740Z", - "document_id": "5483a55b-cd36-4477-adcf-37172a856bfc" - } - }, - "sequence_file/0428ddc2-ea8a-4c79-b994-60990a869c77": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_4_S4_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.754Z", - "document_id": "0428ddc2-ea8a-4c79-b994-60990a869c77" - } - }, - "sequence_file/33be88bb-3b38-4076-b9e1-1d73b48954b8": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_4_S4_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.767Z", - "document_id": "33be88bb-3b38-4076-b9e1-1d73b48954b8" - } - }, - "sequence_file/139d2d79-11a0-4092-babd-2b27a6b42027": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_4_S4_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.779Z", - "document_id": "139d2d79-11a0-4092-babd-2b27a6b42027" - } - }, - "sequence_file/022d172e-1e82-418c-a821-133de6a9efe2": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_4_S4_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.793Z", - "document_id": "022d172e-1e82-418c-a821-133de6a9efe2" - } - }, - "sequence_file/fc6e45ac-5ba8-4a55-9901-3fa5ea480d28": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_4_S4_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.806Z", - "document_id": "fc6e45ac-5ba8-4a55-9901-3fa5ea480d28" - } - }, - "sequence_file/09d8668c-bf1a-4ee5-9f9d-c5c17dc97509": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_4_S4_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.820Z", - "document_id": "09d8668c-bf1a-4ee5-9f9d-c5c17dc97509" - } - }, - "sequence_file/f1a89f64-9e0b-479b-a294-8de7151a1a9d": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_5_S5_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.832Z", - "document_id": "f1a89f64-9e0b-479b-a294-8de7151a1a9d" - } - }, - "sequence_file/04e36cfe-a12a-4f5a-91cc-3574bdf427f4": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_5_S5_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.845Z", - "document_id": "04e36cfe-a12a-4f5a-91cc-3574bdf427f4" - } - }, - "sequence_file/f8b537c4-73e2-4df5-a5ee-8aff3cccc3c7": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_5_S5_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.857Z", - "document_id": "f8b537c4-73e2-4df5-a5ee-8aff3cccc3c7" - } - }, - "sequence_file/49e389b3-3570-45dc-b825-050e2805a1b5": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_5_S5_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.871Z", - "document_id": "49e389b3-3570-45dc-b825-050e2805a1b5" - } - }, - "sequence_file/4927cc7d-e23c-4c58-91c7-7af793f35f07": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_5_S5_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.885Z", - "document_id": "4927cc7d-e23c-4c58-91c7-7af793f35f07" - } - }, - "sequence_file/65bd1790-6d5e-4f3f-ab78-ce5471d58e98": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_5_S5_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.899Z", - "document_id": "65bd1790-6d5e-4f3f-ab78-ce5471d58e98" - } - }, - "sequence_file/9ab7ac35-d262-49cb-9994-f5da5f94b342": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_6_S6_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.912Z", - "document_id": "9ab7ac35-d262-49cb-9994-f5da5f94b342" - } - }, - "sequence_file/79f04454-2b15-485b-8b19-3d237025d480": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_6_S6_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.963Z", - "document_id": "79f04454-2b15-485b-8b19-3d237025d480" - } - }, - "sequence_file/a26ee1d9-5dbf-46f8-a047-00d74b1b628a": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_6_S6_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:51.995Z", - "document_id": "a26ee1d9-5dbf-46f8-a047-00d74b1b628a" - } - }, - "sequence_file/5a3f8e5f-cf78-4761-ada6-b910f6fc0b9f": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_6_S6_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.018Z", - "document_id": "5a3f8e5f-cf78-4761-ada6-b910f6fc0b9f" - } - }, - "sequence_file/bc218df5-d4d5-4aa0-baaa-4fbf36541315": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_6_S6_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.036Z", - "document_id": "bc218df5-d4d5-4aa0-baaa-4fbf36541315" - } - }, - "sequence_file/b46fa14b-caf4-479d-9205-d3c108bee4e2": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_6_S6_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.064Z", - "document_id": "b46fa14b-caf4-479d-9205-d3c108bee4e2" - } - }, - "sequence_file/63c98bcc-255f-4efc-9712-e824463fbd2f": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_7_S7_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.084Z", - "document_id": "63c98bcc-255f-4efc-9712-e824463fbd2f" - } - }, - "sequence_file/b4295e23-f872-4b5f-ac4e-0da6a53e39b8": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_7_S7_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.103Z", - "document_id": "b4295e23-f872-4b5f-ac4e-0da6a53e39b8" - } - }, - "sequence_file/245b8d93-3fc9-4ad6-b000-55046061a119": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_7_S7_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.117Z", - "document_id": "245b8d93-3fc9-4ad6-b000-55046061a119" - } - }, - "sequence_file/9e8a07ac-ad93-4a5e-90d8-c0e478e18342": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_7_S7_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.131Z", - "document_id": "9e8a07ac-ad93-4a5e-90d8-c0e478e18342" - } - }, - "sequence_file/f4106c25-5ea5-4feb-b40b-072056ff954f": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_7_S7_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.147Z", - "document_id": "f4106c25-5ea5-4feb-b40b-072056ff954f" - } - }, - "sequence_file/db4f1861-38ea-4800-92c5-0c03f63f8b2f": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_7_S7_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.164Z", - "document_id": "db4f1861-38ea-4800-92c5-0c03f63f8b2f" - } - }, - "sequence_file/ba79090e-1341-4427-9277-e0bc9c303bd5": { - "content": { - "lane_index": 1, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_8_S8_L001_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.189Z", - "document_id": "ba79090e-1341-4427-9277-e0bc9c303bd5" - } - }, - "sequence_file/44d1289c-9a27-4d11-b903-5cdde4738f20": { - "content": { - "lane_index": 1, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_8_S8_L001_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.205Z", - "document_id": "44d1289c-9a27-4d11-b903-5cdde4738f20" - } - }, - "sequence_file/8e931218-861c-44c4-8768-b9afd33acffc": { - "content": { - "lane_index": 1, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_8_S8_L001_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.224Z", - "document_id": "8e931218-861c-44c4-8768-b9afd33acffc" - } - }, - "sequence_file/662e721c-1272-46b4-9863-a0cbae53d78b": { - "content": { - "lane_index": 2, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_8_S8_L002_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.241Z", - "document_id": "662e721c-1272-46b4-9863-a0cbae53d78b" - } - }, - "sequence_file/9b371ad5-94a8-4cbb-a792-45ac8bdff35d": { - "content": { - "lane_index": 2, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_8_S8_L002_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.269Z", - "document_id": "9b371ad5-94a8-4cbb-a792-45ac8bdff35d" - } - }, - "sequence_file/d0fffcc4-7282-48b0-a476-5afa1ce36829": { - "content": { - "lane_index": 2, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM5_HiSeq_8_S8_L002_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.289Z", - "document_id": "d0fffcc4-7282-48b0-a476-5afa1ce36829" - } - }, - "sequence_file/006a7618-8d55-48b3-a37e-7de0a9e70ef7": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_1_S9_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.306Z", - "document_id": "006a7618-8d55-48b3-a37e-7de0a9e70ef7" - } - }, - "sequence_file/f762562b-2408-4e17-ba4a-493cdb8e0e3f": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_1_S9_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.335Z", - "document_id": "f762562b-2408-4e17-ba4a-493cdb8e0e3f" - } - }, - "sequence_file/0954f798-7318-4612-bad7-cd3f9b181d3a": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_1_S9_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.363Z", - "document_id": "0954f798-7318-4612-bad7-cd3f9b181d3a" - } - }, - "sequence_file/8f9c317e-74ec-4262-b401-3e2a047d81f3": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_1_S9_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.388Z", - "document_id": "8f9c317e-74ec-4262-b401-3e2a047d81f3" - } - }, - "sequence_file/d1ae69e7-f838-42d1-a207-e50f5b53a788": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_1_S9_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.401Z", - "document_id": "d1ae69e7-f838-42d1-a207-e50f5b53a788" - } - }, - "sequence_file/fc5adfc4-0bc4-45c3-8acd-429c56817520": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_1_S9_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.416Z", - "document_id": "fc5adfc4-0bc4-45c3-8acd-429c56817520" - } - }, - "sequence_file/b8df1f2f-abb8-4af5-bbb0-c80623ab5bd5": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_2_S10_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.433Z", - "document_id": "b8df1f2f-abb8-4af5-bbb0-c80623ab5bd5" - } - }, - "sequence_file/6f23ce85-e97e-4a77-bfea-3c0b95c775f4": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_2_S10_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.445Z", - "document_id": "6f23ce85-e97e-4a77-bfea-3c0b95c775f4" - } - }, - "sequence_file/f9bb33ad-03e8-400f-a77d-6c92464bdbec": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_2_S10_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.458Z", - "document_id": "f9bb33ad-03e8-400f-a77d-6c92464bdbec" - } - }, - "sequence_file/7b567fc7-5b53-4f94-a88d-24a1286d846c": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_2_S10_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.471Z", - "document_id": "7b567fc7-5b53-4f94-a88d-24a1286d846c" - } - }, - "sequence_file/fd5c1b07-3fb7-4faa-ba3b-d1c82e6c7ffb": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_2_S10_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.485Z", - "document_id": "fd5c1b07-3fb7-4faa-ba3b-d1c82e6c7ffb" - } - }, - "sequence_file/6c66cacf-5914-40dd-b512-c946fdc14424": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_2_S10_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.508Z", - "document_id": "6c66cacf-5914-40dd-b512-c946fdc14424" - } - }, - "sequence_file/b1d872b0-620d-4965-b6e8-aba6ea4d104d": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_4_S11_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.521Z", - "document_id": "b1d872b0-620d-4965-b6e8-aba6ea4d104d" - } - }, - "sequence_file/11cbfa24-c882-473d-95b6-076c3f1fd559": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_4_S11_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.534Z", - "document_id": "11cbfa24-c882-473d-95b6-076c3f1fd559" - } - }, - "sequence_file/15656b3d-1c2e-48e6-b0f1-bf4402890c3e": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_4_S11_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.588Z", - "document_id": "15656b3d-1c2e-48e6-b0f1-bf4402890c3e" - } - }, - "sequence_file/1acc5ab3-c91c-4095-8713-18299a0b02d2": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_4_S11_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.607Z", - "document_id": "1acc5ab3-c91c-4095-8713-18299a0b02d2" - } - }, - "sequence_file/ae61c169-016b-40dc-9e95-b7dc1fd0b346": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_4_S11_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.624Z", - "document_id": "ae61c169-016b-40dc-9e95-b7dc1fd0b346" - } - }, - "sequence_file/40542240-2e11-48cf-955c-4527e963be80": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_4_S11_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.644Z", - "document_id": "40542240-2e11-48cf-955c-4527e963be80" - } - }, - "sequence_file/4b2ec2e1-b0e2-41ea-9a33-c473889f526f": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_5_S12_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.656Z", - "document_id": "4b2ec2e1-b0e2-41ea-9a33-c473889f526f" - } - }, - "sequence_file/95f09de9-0e7a-49c3-8bbc-f3fb512bc86e": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_5_S12_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.670Z", - "document_id": "95f09de9-0e7a-49c3-8bbc-f3fb512bc86e" - } - }, - "sequence_file/c340fbe2-dc1c-4455-a29f-c698244982f8": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_5_S12_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.688Z", - "document_id": "c340fbe2-dc1c-4455-a29f-c698244982f8" - } - }, - "sequence_file/7422fc7e-ed66-49a2-a207-30d72c93d0a1": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_5_S12_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.701Z", - "document_id": "7422fc7e-ed66-49a2-a207-30d72c93d0a1" - } - }, - "sequence_file/8ad83172-07ee-4726-85b0-fe19b885a169": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_5_S12_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.713Z", - "document_id": "8ad83172-07ee-4726-85b0-fe19b885a169" - } - }, - "sequence_file/36118c60-cf32-43af-bd56-cfcbe063b244": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_5_S12_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.726Z", - "document_id": "36118c60-cf32-43af-bd56-cfcbe063b244" - } - }, - "sequence_file/518ee17c-7de1-4775-ad7d-167b2d2a8ad7": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_6_S13_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.738Z", - "document_id": "518ee17c-7de1-4775-ad7d-167b2d2a8ad7" - } - }, - "sequence_file/6ae60ce7-ae0a-421b-96f7-7954cad9cbfb": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_6_S13_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.753Z", - "document_id": "6ae60ce7-ae0a-421b-96f7-7954cad9cbfb" - } - }, - "sequence_file/575b968a-f85f-4dd8-bc0c-f00e1d07cd6b": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_6_S13_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.765Z", - "document_id": "575b968a-f85f-4dd8-bc0c-f00e1d07cd6b" - } - }, - "sequence_file/381c733e-3dba-4ca7-ab05-541dbfc03e04": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_6_S13_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.778Z", - "document_id": "381c733e-3dba-4ca7-ab05-541dbfc03e04" - } - }, - "sequence_file/8526cbf2-881e-4499-9992-43009425c4ae": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_6_S13_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.790Z", - "document_id": "8526cbf2-881e-4499-9992-43009425c4ae" - } - }, - "sequence_file/40713b36-fcfe-4a1a-ad21-9e8b118b91e9": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_6_S13_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.804Z", - "document_id": "40713b36-fcfe-4a1a-ad21-9e8b118b91e9" - } - }, - "sequence_file/9f2d4e6d-3f38-44f6-b16c-100cfce72797": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_7_S14_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.817Z", - "document_id": "9f2d4e6d-3f38-44f6-b16c-100cfce72797" - } - }, - "sequence_file/49125797-64a8-4fbe-b2a9-914252f768fe": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_7_S14_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.830Z", - "document_id": "49125797-64a8-4fbe-b2a9-914252f768fe" - } - }, - "sequence_file/f1a91911-8f85-4d68-8243-8466b1e2dce6": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_7_S14_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.841Z", - "document_id": "f1a91911-8f85-4d68-8243-8466b1e2dce6" - } - }, - "sequence_file/f488ad13-8645-4cc4-99d1-b3b72e8723c8": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_7_S14_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.855Z", - "document_id": "f488ad13-8645-4cc4-99d1-b3b72e8723c8" - } - }, - "sequence_file/e977ef2d-f54d-4ee7-893b-3873a8eb5dd3": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_7_S14_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.867Z", - "document_id": "e977ef2d-f54d-4ee7-893b-3873a8eb5dd3" - } - }, - "sequence_file/6857550d-8c86-40c1-988a-b48cb70759f2": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_7_S14_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.881Z", - "document_id": "6857550d-8c86-40c1-988a-b48cb70759f2" - } - }, - "sequence_file/af34f522-9a30-48b3-ba70-7600401a871b": { - "content": { - "lane_index": 4, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_8_S15_L004_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.893Z", - "document_id": "af34f522-9a30-48b3-ba70-7600401a871b" - } - }, - "sequence_file/c114f74d-6854-43ce-bc70-39ca8e45e86a": { - "content": { - "lane_index": 4, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_8_S15_L004_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.906Z", - "document_id": "c114f74d-6854-43ce-bc70-39ca8e45e86a" - } - }, - "sequence_file/17f2c348-02af-42be-baa3-d227925a1cbc": { - "content": { - "lane_index": 4, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_8_S15_L004_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.938Z", - "document_id": "17f2c348-02af-42be-baa3-d227925a1cbc" - } - }, - "sequence_file/b41c8971-bcd3-42ba-b8f8-f685cba0f923": { - "content": { - "lane_index": 3, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_8_S15_L003_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:52.981Z", - "document_id": "b41c8971-bcd3-42ba-b8f8-f685cba0f923" - } - }, - "sequence_file/4a7fd685-04b4-4436-9aed-e692030dfa76": { - "content": { - "lane_index": 3, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_8_S15_L003_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.004Z", - "document_id": "4a7fd685-04b4-4436-9aed-e692030dfa76" - } - }, - "sequence_file/dd31fdba-26a2-4ccb-aa62-c43521de953e": { - "content": { - "lane_index": 3, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM6_HiSeq_8_S15_L003_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.024Z", - "document_id": "dd31fdba-26a2-4ccb-aa62-c43521de953e" - } - }, - "sequence_file/4d2ec95d-d00b-44a7-9119-a53b5db1b181": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_1_S16_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.045Z", - "document_id": "4d2ec95d-d00b-44a7-9119-a53b5db1b181" - } - }, - "sequence_file/8d3d8579-4d9f-4442-9141-653287e9418b": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_1_S16_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.061Z", - "document_id": "8d3d8579-4d9f-4442-9141-653287e9418b" - } - }, - "sequence_file/0daa891b-8d87-416e-8b26-d44824de5bbd": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_1_S16_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.073Z", - "document_id": "0daa891b-8d87-416e-8b26-d44824de5bbd" - } - }, - "sequence_file/3eff86f6-cff5-43a6-9024-be9a9893f867": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_1_S16_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.088Z", - "document_id": "3eff86f6-cff5-43a6-9024-be9a9893f867" - } - }, - "sequence_file/8240917a-8fb5-47b5-8b35-64dd30c3b43f": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_1_S16_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.104Z", - "document_id": "8240917a-8fb5-47b5-8b35-64dd30c3b43f" - } - }, - "sequence_file/5952c0d9-09c9-4459-a606-515d8a497bd8": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_1_S16_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.117Z", - "document_id": "5952c0d9-09c9-4459-a606-515d8a497bd8" - } - }, - "sequence_file/6e76f2d5-1b5d-4799-8b41-45faad9d6e11": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_2_S17_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.131Z", - "document_id": "6e76f2d5-1b5d-4799-8b41-45faad9d6e11" - } - }, - "sequence_file/9f72f529-b2cb-4830-9ff4-e1c03ec449c2": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_2_S17_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.162Z", - "document_id": "9f72f529-b2cb-4830-9ff4-e1c03ec449c2" - } - }, - "sequence_file/df7935c8-d1be-4dcf-a583-60a24636944d": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_2_S17_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.185Z", - "document_id": "df7935c8-d1be-4dcf-a583-60a24636944d" - } - }, - "sequence_file/bde680ab-9ae1-4392-b8b5-1187860111e5": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_2_S17_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.211Z", - "document_id": "bde680ab-9ae1-4392-b8b5-1187860111e5" - } - }, - "sequence_file/26fc3171-166d-4145-b786-c5a7397a1ade": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_2_S17_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.256Z", - "document_id": "26fc3171-166d-4145-b786-c5a7397a1ade" - } - }, - "sequence_file/7e602220-a242-4d9a-9e1e-1487f7880b41": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_2_S17_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.300Z", - "document_id": "7e602220-a242-4d9a-9e1e-1487f7880b41" - } - }, - "sequence_file/2cf69609-5b35-4cd7-8b38-d53378de7ee2": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_3_S18_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.341Z", - "document_id": "2cf69609-5b35-4cd7-8b38-d53378de7ee2" - } - }, - "sequence_file/4d5c056b-5b1b-4fe7-a763-621cb7fa17c7": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_3_S18_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.384Z", - "document_id": "4d5c056b-5b1b-4fe7-a763-621cb7fa17c7" - } - }, - "sequence_file/3555957c-8ac8-4afc-ab54-866d1cac3b1f": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_3_S18_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.416Z", - "document_id": "3555957c-8ac8-4afc-ab54-866d1cac3b1f" - } - }, - "sequence_file/62b17e40-2c0b-4e37-8859-9290d1513ef9": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_3_S18_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.478Z", - "document_id": "62b17e40-2c0b-4e37-8859-9290d1513ef9" - } - }, - "sequence_file/06e4f4b4-9b0f-4ffc-ab2d-70fb659994b4": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_3_S18_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.514Z", - "document_id": "06e4f4b4-9b0f-4ffc-ab2d-70fb659994b4" - } - }, - "sequence_file/a3f0a66b-1ebe-47dc-8efc-cacfface111d": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_3_S18_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.532Z", - "document_id": "a3f0a66b-1ebe-47dc-8efc-cacfface111d" - } - }, - "sequence_file/5eb311a4-19c8-429d-b36e-409fb80e31b0": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_4_S19_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.551Z", - "document_id": "5eb311a4-19c8-429d-b36e-409fb80e31b0" - } - }, - "sequence_file/be263698-8ffb-4263-902a-5dea68d18df5": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_4_S19_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.564Z", - "document_id": "be263698-8ffb-4263-902a-5dea68d18df5" - } - }, - "sequence_file/00424825-4dfe-4afc-a8a8-c5bffdaada00": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_4_S19_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.577Z", - "document_id": "00424825-4dfe-4afc-a8a8-c5bffdaada00" - } - }, - "sequence_file/2df110bc-9016-4bf6-a622-e4fab70b82ca": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_4_S19_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.590Z", - "document_id": "2df110bc-9016-4bf6-a622-e4fab70b82ca" - } - }, - "sequence_file/a2ba4d08-a9a9-4ceb-8dfd-70546b22dda0": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_4_S19_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.603Z", - "document_id": "a2ba4d08-a9a9-4ceb-8dfd-70546b22dda0" - } - }, - "sequence_file/afbfe990-11a2-4836-94b3-980e11ca1c2a": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_4_S19_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.616Z", - "document_id": "afbfe990-11a2-4836-94b3-980e11ca1c2a" - } - }, - "sequence_file/7d516073-474d-4359-973d-3c454f2e080a": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_5_S20_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.628Z", - "document_id": "7d516073-474d-4359-973d-3c454f2e080a" - } - }, - "sequence_file/c9ad441e-28a2-47b8-998e-48d48936ed64": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_5_S20_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.640Z", - "document_id": "c9ad441e-28a2-47b8-998e-48d48936ed64" - } - }, - "sequence_file/01842746-1644-436e-a1e5-aa3b59e2b8d6": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_5_S20_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.654Z", - "document_id": "01842746-1644-436e-a1e5-aa3b59e2b8d6" - } - }, - "sequence_file/c17745c1-7217-4771-aaac-d5bf35072343": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_5_S20_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.667Z", - "document_id": "c17745c1-7217-4771-aaac-d5bf35072343" - } - }, - "sequence_file/1ffaf155-7ff8-4fe4-9cc2-352f7ec0ef1c": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_5_S20_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.679Z", - "document_id": "1ffaf155-7ff8-4fe4-9cc2-352f7ec0ef1c" - } - }, - "sequence_file/5880c00e-4063-431e-8510-6cdaf5bb1c5d": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_5_S20_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.692Z", - "document_id": "5880c00e-4063-431e-8510-6cdaf5bb1c5d" - } - }, - "sequence_file/1780aa95-bd16-4cb9-814e-d3900d4787d7": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_6_S21_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.705Z", - "document_id": "1780aa95-bd16-4cb9-814e-d3900d4787d7" - } - }, - "sequence_file/30e7db70-fec3-48f1-bf7b-71adf9e8d7f1": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_6_S21_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.716Z", - "document_id": "30e7db70-fec3-48f1-bf7b-71adf9e8d7f1" - } - }, - "sequence_file/becb6174-be03-40fa-85c2-4fa3b9308ef5": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_6_S21_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.729Z", - "document_id": "becb6174-be03-40fa-85c2-4fa3b9308ef5" - } - }, - "sequence_file/f308eed4-5954-4047-a18e-9c309d9fdab9": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_6_S21_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.742Z", - "document_id": "f308eed4-5954-4047-a18e-9c309d9fdab9" - } - }, - "sequence_file/e44d2d64-df79-4a74-b88b-093102e4e799": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_6_S21_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.754Z", - "document_id": "e44d2d64-df79-4a74-b88b-093102e4e799" - } - }, - "sequence_file/b8cae58c-fa89-480e-8c51-88115619bf8e": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_6_S21_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.767Z", - "document_id": "b8cae58c-fa89-480e-8c51-88115619bf8e" - } - }, - "sequence_file/7bf9a41d-d9e5-4321-b6a0-b77cc85fddc0": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_7_S22_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.779Z", - "document_id": "7bf9a41d-d9e5-4321-b6a0-b77cc85fddc0" - } - }, - "sequence_file/176d224c-1e70-4ef8-ab96-ea63cfa63888": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_7_S22_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.790Z", - "document_id": "176d224c-1e70-4ef8-ab96-ea63cfa63888" - } - }, - "sequence_file/9ea35e5e-27ac-4925-9961-fffebe01e5e9": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_7_S22_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.805Z", - "document_id": "9ea35e5e-27ac-4925-9961-fffebe01e5e9" - } - }, - "sequence_file/cc95fef9-2681-4489-bc6c-1c5d494b29a8": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_7_S22_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.818Z", - "document_id": "cc95fef9-2681-4489-bc6c-1c5d494b29a8" - } - }, - "sequence_file/4eb20891-5ee7-49fe-aa32-52201434772c": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_7_S22_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.830Z", - "document_id": "4eb20891-5ee7-49fe-aa32-52201434772c" - } - }, - "sequence_file/6c11e561-ec37-4fb9-8661-a402d5268091": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_7_S22_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.854Z", - "document_id": "6c11e561-ec37-4fb9-8661-a402d5268091" - } - }, - "sequence_file/6d2d1bda-e128-497e-8569-1e004c556b38": { - "content": { - "lane_index": 5, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_8_S23_L005_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.880Z", - "document_id": "6d2d1bda-e128-497e-8569-1e004c556b38" - } - }, - "sequence_file/09cce819-9467-4dd8-b91a-ef6b450c4b33": { - "content": { - "lane_index": 5, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_8_S23_L005_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.895Z", - "document_id": "09cce819-9467-4dd8-b91a-ef6b450c4b33" - } - }, - "sequence_file/bcdae4a6-ae9b-4f2a-ad95-b4cfa3ad2a7c": { - "content": { - "lane_index": 5, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_8_S23_L005_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.907Z", - "document_id": "bcdae4a6-ae9b-4f2a-ad95-b4cfa3ad2a7c" - } - }, - "sequence_file/32e070e3-574d-4676-add4-359dd4c64ae7": { - "content": { - "lane_index": 6, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_8_S23_L006_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.919Z", - "document_id": "32e070e3-574d-4676-add4-359dd4c64ae7" - } - }, - "sequence_file/ea993f83-3268-4dc6-8612-cd9a3ccfc475": { - "content": { - "lane_index": 6, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_8_S23_L006_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:53.996Z", - "document_id": "ea993f83-3268-4dc6-8612-cd9a3ccfc475" - } - }, - "sequence_file/bad6ed96-930c-47a9-b851-d527af7136e3": { - "content": { - "lane_index": 6, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM7_HiSeq_8_S23_L006_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.014Z", - "document_id": "bad6ed96-930c-47a9-b851-d527af7136e3" - } - }, - "sequence_file/ea6245c2-e8ee-4185-ae2f-0389a5bae598": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_1_S24_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.029Z", - "document_id": "ea6245c2-e8ee-4185-ae2f-0389a5bae598" - } - }, - "sequence_file/9eb02069-4c56-4065-83ac-01eaf5fb9b68": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_1_S24_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.042Z", - "document_id": "9eb02069-4c56-4065-83ac-01eaf5fb9b68" - } - }, - "sequence_file/cd7ee2a1-6c69-4714-8306-a347a4f28616": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_1_S24_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.057Z", - "document_id": "cd7ee2a1-6c69-4714-8306-a347a4f28616" - } - }, - "sequence_file/f2edefd2-c29c-470d-8879-3d480a6c55f9": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_1_S24_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.086Z", - "document_id": "f2edefd2-c29c-470d-8879-3d480a6c55f9" - } - }, - "sequence_file/e9bd1cf1-b0e6-4b05-9d85-afe6659d001d": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_1_S24_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.098Z", - "document_id": "e9bd1cf1-b0e6-4b05-9d85-afe6659d001d" - } - }, - "sequence_file/383bb59e-9082-494a-91b2-804a72830475": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_1_S24_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.109Z", - "document_id": "383bb59e-9082-494a-91b2-804a72830475" - } - }, - "sequence_file/7149194f-3bc9-4aa2-8407-e89bad2dd77b": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_2_S25_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.125Z", - "document_id": "7149194f-3bc9-4aa2-8407-e89bad2dd77b" - } - }, - "sequence_file/b64bdbba-d2e8-4ec7-a17e-6ca9d872c77e": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_2_S25_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.138Z", - "document_id": "b64bdbba-d2e8-4ec7-a17e-6ca9d872c77e" - } - }, - "sequence_file/f0b940a1-de2c-461e-a40d-7a5b0c11ca40": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_2_S25_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.153Z", - "document_id": "f0b940a1-de2c-461e-a40d-7a5b0c11ca40" - } - }, - "sequence_file/04e94fd5-49df-4149-9da5-ff9c86a2e494": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_2_S25_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.184Z", - "document_id": "04e94fd5-49df-4149-9da5-ff9c86a2e494" - } - }, - "sequence_file/5675b050-9c66-4c34-803f-3e6e0ea0af3f": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_2_S25_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.206Z", - "document_id": "5675b050-9c66-4c34-803f-3e6e0ea0af3f" - } - }, - "sequence_file/d889a2da-2b28-4553-9045-fe9c958b4616": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_2_S25_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.243Z", - "document_id": "d889a2da-2b28-4553-9045-fe9c958b4616" - } - }, - "sequence_file/4d7b8243-f099-4eab-a5a4-1e6c359f999d": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_3_S26_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.264Z", - "document_id": "4d7b8243-f099-4eab-a5a4-1e6c359f999d" - } - }, - "sequence_file/462d6d7c-8c83-4e91-b851-4ebe7f04ed4a": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_3_S26_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.288Z", - "document_id": "462d6d7c-8c83-4e91-b851-4ebe7f04ed4a" - } - }, - "sequence_file/d7bbc88d-ea41-483f-940a-332989f6dd75": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_3_S26_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.313Z", - "document_id": "d7bbc88d-ea41-483f-940a-332989f6dd75" - } - }, - "sequence_file/2ff31790-2e31-4056-ade6-a40b3333efbe": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_3_S26_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.339Z", - "document_id": "2ff31790-2e31-4056-ade6-a40b3333efbe" - } - }, - "sequence_file/e4e33817-0d2c-4e42-8d10-17cba4b3c1d8": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_3_S26_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.369Z", - "document_id": "e4e33817-0d2c-4e42-8d10-17cba4b3c1d8" - } - }, - "sequence_file/aa24229f-3be5-495b-9989-d9e793056993": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_3_S26_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.397Z", - "document_id": "aa24229f-3be5-495b-9989-d9e793056993" - } - }, - "sequence_file/9b34f6ca-9952-4fbd-b55b-e06e44094463": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_4_S27_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.428Z", - "document_id": "9b34f6ca-9952-4fbd-b55b-e06e44094463" - } - }, - "sequence_file/eb21d839-7f51-4781-bf46-886fc6d82a11": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_4_S27_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.454Z", - "document_id": "eb21d839-7f51-4781-bf46-886fc6d82a11" - } - }, - "sequence_file/0bb11e93-d9c6-411e-a614-e38252775d75": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_4_S27_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:54.478Z", - "document_id": "0bb11e93-d9c6-411e-a614-e38252775d75" - } - }, - "sequence_file/2320aa06-7d82-46ec-ad6d-a1c9fd280cde": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_4_S27_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.018Z", - "document_id": "2320aa06-7d82-46ec-ad6d-a1c9fd280cde" - } - }, - "sequence_file/1f650fa2-e91a-4cde-8ff5-ad2738f0d3cc": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_4_S27_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.051Z", - "document_id": "1f650fa2-e91a-4cde-8ff5-ad2738f0d3cc" - } - }, - "sequence_file/b692d3f7-0e85-4e18-9373-214300cc0293": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_4_S27_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.064Z", - "document_id": "b692d3f7-0e85-4e18-9373-214300cc0293" - } - }, - "sequence_file/c9a2b54f-1316-4463-8f0b-9061bb4b51cd": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_5_S28_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.076Z", - "document_id": "c9a2b54f-1316-4463-8f0b-9061bb4b51cd" - } - }, - "sequence_file/87e595d8-7285-4067-a73f-e80944ffae3c": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_5_S28_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.090Z", - "document_id": "87e595d8-7285-4067-a73f-e80944ffae3c" - } - }, - "sequence_file/38cef0ea-3ef8-45cd-aadc-5e8e64319cf0": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_5_S28_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.103Z", - "document_id": "38cef0ea-3ef8-45cd-aadc-5e8e64319cf0" - } - }, - "sequence_file/29b8c167-5542-47bd-85a8-926645d7846a": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_5_S28_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.120Z", - "document_id": "29b8c167-5542-47bd-85a8-926645d7846a" - } - }, - "sequence_file/312522d0-f218-4304-8376-d6f1feeb7553": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_5_S28_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.142Z", - "document_id": "312522d0-f218-4304-8376-d6f1feeb7553" - } - }, - "sequence_file/ca1ca1f1-f0ab-4224-8422-d5345ccab557": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_5_S28_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.158Z", - "document_id": "ca1ca1f1-f0ab-4224-8422-d5345ccab557" - } - }, - "sequence_file/124dc699-f389-4462-9c29-41a091d5cc04": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_6_S29_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.193Z", - "document_id": "124dc699-f389-4462-9c29-41a091d5cc04" - } - }, - "sequence_file/abb46e44-0aba-4814-a7f4-b9b62fb5f6ad": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_6_S29_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.230Z", - "document_id": "abb46e44-0aba-4814-a7f4-b9b62fb5f6ad" - } - }, - "sequence_file/8f4e5133-7aa0-468d-b13c-6fa23cdaf407": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_6_S29_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.279Z", - "document_id": "8f4e5133-7aa0-468d-b13c-6fa23cdaf407" - } - }, - "sequence_file/d8e59dbd-2add-4514-ae3e-9fac8ae902f5": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_6_S29_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.343Z", - "document_id": "d8e59dbd-2add-4514-ae3e-9fac8ae902f5" - } - }, - "sequence_file/4fa725fa-23c0-4b9b-9c0d-92b82aa75919": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_6_S29_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.377Z", - "document_id": "4fa725fa-23c0-4b9b-9c0d-92b82aa75919" - } - }, - "sequence_file/da84551f-0859-46fd-aaa2-4797cd373991": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_6_S29_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.398Z", - "document_id": "da84551f-0859-46fd-aaa2-4797cd373991" - } - }, - "sequence_file/b63d119a-2496-4d92-9bab-e67e85914708": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_7_S30_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.426Z", - "document_id": "b63d119a-2496-4d92-9bab-e67e85914708" - } - }, - "sequence_file/274e4b04-3174-46f1-bba5-004bb1ed2cc5": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_7_S30_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.442Z", - "document_id": "274e4b04-3174-46f1-bba5-004bb1ed2cc5" - } - }, - "sequence_file/86d25b68-ffb0-4fd4-bf48-10f6c3c184a5": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_7_S30_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.467Z", - "document_id": "86d25b68-ffb0-4fd4-bf48-10f6c3c184a5" - } - }, - "sequence_file/8bea9251-da22-4f68-91a4-1e60c4af956f": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_7_S30_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.507Z", - "document_id": "8bea9251-da22-4f68-91a4-1e60c4af956f" - } - }, - "sequence_file/487e2d7f-320d-4d75-9d34-3a0fb791c553": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_7_S30_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.524Z", - "document_id": "487e2d7f-320d-4d75-9d34-3a0fb791c553" - } - }, - "sequence_file/31ad52e7-70e8-4e3e-9cd7-0d8d8b1b4331": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_7_S30_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.539Z", - "document_id": "31ad52e7-70e8-4e3e-9cd7-0d8d8b1b4331" - } - }, - "sequence_file/3fed1e54-3bf7-46fc-829a-f538a092d774": { - "content": { - "lane_index": 7, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_8_S31_L007_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.552Z", - "document_id": "3fed1e54-3bf7-46fc-829a-f538a092d774" - } - }, - "sequence_file/5e31c504-cb51-459e-a939-d49bc83d5d44": { - "content": { - "lane_index": 7, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_8_S31_L007_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.566Z", - "document_id": "5e31c504-cb51-459e-a939-d49bc83d5d44" - } - }, - "sequence_file/9e7ac38d-b196-4e80-a59c-0d630d725745": { - "content": { - "lane_index": 7, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_8_S31_L007_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.578Z", - "document_id": "9e7ac38d-b196-4e80-a59c-0d630d725745" - } - }, - "sequence_file/93e242a1-3d4b-491b-9d5f-02e038e212cb": { - "content": { - "lane_index": 8, - "read_index": "index1", - "read_length": 8, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_8_S31_L008_I1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.600Z", - "document_id": "93e242a1-3d4b-491b-9d5f-02e038e212cb" - } - }, - "sequence_file/709da3b4-e8a0-431d-b082-8530ffae33f8": { - "content": { - "lane_index": 8, - "read_index": "read1", - "read_length": 26, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_8_S31_L008_R1_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.612Z", - "document_id": "709da3b4-e8a0-431d-b082-8530ffae33f8" - } - }, - "sequence_file/b8a56d3f-9910-44a0-a9c0-bb7d51705792": { - "content": { - "lane_index": 8, - "read_index": "read2", - "read_length": 98, - "schema_type": "file", - "file_core": { - "file_name": "MantonBM8_HiSeq_8_S31_L008_R2_001.fastq.gz", - "file_format": "fastq.gz" - }, - "describedBy": "https://schema.humancellatlas.org/type/file/5.1.0/sequence_file" - }, - "hca_ingest": { - "submissionDate": "2018-03-26T16:59:57.624Z", - "document_id": "b8a56d3f-9910-44a0-a9c0-bb7d51705792" - } - }, - "dissociation_process/eacc00c5-f7a1-45da-a021-50cbacde691a": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_58" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:57.644Z", - "updateDate": "2018-03-26T17:01:05.257Z", - "document_id": "eacc00c5-f7a1-45da-a021-50cbacde691a" - } - }, - "process/655ec2a1-8b2c-4805-8b68-233d3687b8f2": { - "content": { - "process_core": { - "process_id": "sampling_process_18" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:33.637Z", - "updateDate": "2018-03-26T16:59:59.170Z", - "document_id": "655ec2a1-8b2c-4805-8b68-233d3687b8f2" - } - }, - "dissociation_process/b1711fef-df62-45b2-8541-5c3ccd3ca9a4": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_60" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:11.935Z", - "updateDate": "2018-03-26T17:00:50.363Z", - "document_id": "b1711fef-df62-45b2-8541-5c3ccd3ca9a4" - } - }, - "process/0942925d-2462-4eb1-af34-36ceee6542a4": { - "content": { - "process_core": { - "process_id": "sampling_process_118" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:46.254Z", - "updateDate": "2018-03-26T17:00:03.208Z", - "document_id": "0942925d-2462-4eb1-af34-36ceee6542a4" - } - }, - "dissociation_process/acde5791-cf1f-4f83-b97e-fdaa38d530b9": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_40" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:56.899Z", - "updateDate": "2018-03-26T17:01:04.337Z", - "document_id": "acde5791-cf1f-4f83-b97e-fdaa38d530b9" - } - }, - "process/ff88846c-593a-4b0f-a656-ca79f36b6aae": { - "content": { - "process_core": { - "process_id": "sampling_process_42" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.249Z", - "updateDate": "2018-03-26T16:59:58.150Z", - "document_id": "ff88846c-593a-4b0f-a656-ca79f36b6aae" - } - }, - "dissociation_process/d2c8f367-c7cd-412b-8290-1920f5f3f2c7": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_47" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:53.936Z", - "updateDate": "2018-03-26T17:01:02.306Z", - "document_id": "d2c8f367-c7cd-412b-8290-1920f5f3f2c7" - } - }, - "process/dd4d597d-3fc6-4e7c-b1f5-20f3add9511d": { - "content": { - "process_core": { - "process_id": "sampling_process_44" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.491Z", - "updateDate": "2018-03-26T16:59:58.251Z", - "document_id": "dd4d597d-3fc6-4e7c-b1f5-20f3add9511d" - } - }, - "dissociation_process/96a29826-a47b-4f1a-9252-56cd16a56e06": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_38" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:06.965Z", - "updateDate": "2018-03-26T17:00:43.496Z", - "document_id": "96a29826-a47b-4f1a-9252-56cd16a56e06" - } - }, - "process/32589218-75ee-4978-9b8c-27a1674531bb": { - "content": { - "process_core": { - "process_id": "sampling_process_16" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:33.140Z", - "updateDate": "2018-03-26T16:59:58.160Z", - "document_id": "32589218-75ee-4978-9b8c-27a1674531bb" - } - }, - "dissociation_process/cfd75031-9b04-4b8b-a417-4a1ce9582495": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_56" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:58.168Z", - "updateDate": "2018-03-26T17:01:06.302Z", - "document_id": "cfd75031-9b04-4b8b-a417-4a1ce9582495" - } - }, - "process/a82e1a02-7115-499e-9db0-472058dd706a": { - "content": { - "process_core": { - "process_id": "sampling_process_34" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.646Z", - "updateDate": "2018-03-26T16:59:59.155Z", - "document_id": "a82e1a02-7115-499e-9db0-472058dd706a" - } - }, - "dissociation_process/15fe8b58-d3c1-4e51-821c-c57ffe8c4c8c": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_45" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:53.757Z", - "updateDate": "2018-03-26T17:01:01.404Z", - "document_id": "15fe8b58-d3c1-4e51-821c-c57ffe8c4c8c" - } - }, - "process/b7aa38e3-b79a-46f8-ba41-99d86f6fd85f": { - "content": { - "process_core": { - "process_id": "sampling_process_15" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:33.001Z", - "updateDate": "2018-03-26T16:59:58.326Z", - "document_id": "b7aa38e3-b79a-46f8-ba41-99d86f6fd85f" - } - }, - "dissociation_process/558fd304-a67b-4b17-bac4-35e0cba1f6a9": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_53" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:57.919Z", - "updateDate": "2018-03-26T17:01:06.306Z", - "document_id": "558fd304-a67b-4b17-bac4-35e0cba1f6a9" - } - }, - "process/be046d7c-3516-4f39-9a01-90cd7025d927": { - "content": { - "process_core": { - "process_id": "sampling_process_14" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:32.920Z", - "updateDate": "2018-03-26T16:59:58.122Z", - "document_id": "be046d7c-3516-4f39-9a01-90cd7025d927" - } - }, - "dissociation_process/e66dc50e-7102-48fb-a7b0-15e411309c33": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_42" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:57.045Z", - "updateDate": "2018-03-26T17:01:04.315Z", - "document_id": "e66dc50e-7102-48fb-a7b0-15e411309c33" - } - }, - "process/a03e5bbe-48a4-4029-8a2c-0e477b9ac7cb": { - "content": { - "process_core": { - "process_id": "sampling_process_93" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:43.912Z", - "updateDate": "2018-03-26T17:00:01.172Z", - "document_id": "a03e5bbe-48a4-4029-8a2c-0e477b9ac7cb" - } - }, - "dissociation_process/3ffbc2a9-aca9-439c-ac52-c845cd66c489": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_57" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:58.239Z", - "updateDate": "2018-03-26T17:01:06.248Z", - "document_id": "3ffbc2a9-aca9-439c-ac52-c845cd66c489" - } - }, - "process/229e8909-865e-4330-bf7f-416f0ef8631e": { - "content": { - "process_core": { - "process_id": "sampling_process_102" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:45.072Z", - "updateDate": "2018-03-26T17:00:01.411Z", - "document_id": "229e8909-865e-4330-bf7f-416f0ef8631e" - } - }, - "dissociation_process/4d74208d-5200-46c5-9d4e-fafc132bb31c": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_61" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:11.870Z", - "updateDate": "2018-03-26T17:00:51.336Z", - "document_id": "4d74208d-5200-46c5-9d4e-fafc132bb31c" - } - }, - "process/b0628e09-0b0b-46e4-8ba1-075f038b675a": { - "content": { - "process_core": { - "process_id": "sampling_process_19" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:33.683Z", - "updateDate": "2018-03-26T16:59:57.495Z", - "document_id": "b0628e09-0b0b-46e4-8ba1-075f038b675a" - } - }, - "dissociation_process/0b56e470-94b8-4de0-9b8e-26cb2d892eed": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_33" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:07.829Z", - "updateDate": "2018-03-26T17:00:45.268Z", - "document_id": "0b56e470-94b8-4de0-9b8e-26cb2d892eed" - } - }, - "process/d921308c-6baa-4370-af41-bc2715107a4e": { - "content": { - "process_core": { - "process_id": "sampling_process_39" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:34.963Z", - "updateDate": "2018-03-26T16:59:59.105Z", - "document_id": "d921308c-6baa-4370-af41-bc2715107a4e" - } - }, - "dissociation_process/5c2a4543-956b-4e43-adc0-6ff07b8cdd4c": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_63" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:11.736Z", - "updateDate": "2018-03-26T17:00:52.317Z", - "document_id": "5c2a4543-956b-4e43-adc0-6ff07b8cdd4c" - } - }, - "process/85344d5f-d10d-4cac-b0f5-6516ec30f3a5": { - "content": { - "process_core": { - "process_id": "sampling_process_86" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:43.595Z", - "updateDate": "2018-03-26T17:00:00.160Z", - "document_id": "85344d5f-d10d-4cac-b0f5-6516ec30f3a5" - } - }, - "dissociation_process/afeca0ff-8bd0-4e3b-8905-357a061064dd": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_41" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:54.099Z", - "updateDate": "2018-03-26T17:01:00.409Z", - "document_id": "afeca0ff-8bd0-4e3b-8905-357a061064dd" - } - }, - "process/c0636a64-e0ca-4adc-9c8a-208651ec9bfd": { - "content": { - "process_core": { - "process_id": "sampling_process_40" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.025Z", - "updateDate": "2018-03-26T16:59:59.164Z", - "document_id": "c0636a64-e0ca-4adc-9c8a-208651ec9bfd" - } - }, - "dissociation_process/4e4dd950-12bf-4b34-bfc3-407861625fe6": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_43" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:56.971Z", - "updateDate": "2018-03-26T17:01:04.344Z", - "document_id": "4e4dd950-12bf-4b34-bfc3-407861625fe6" - } - }, - "process/99fc4a69-8fa7-41c4-a6a3-b57181c8d3f2": { - "content": { - "process_core": { - "process_id": "sampling_process_56" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:36.240Z", - "updateDate": "2018-03-26T17:00:01.169Z", - "document_id": "99fc4a69-8fa7-41c4-a6a3-b57181c8d3f2" - } - }, - "dissociation_process/99554c65-0d6d-4dd9-a12f-02b97bad8275": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_50" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:57.995Z", - "updateDate": "2018-03-26T17:01:06.266Z", - "document_id": "99554c65-0d6d-4dd9-a12f-02b97bad8275" - } - }, - "process/07662fff-7c93-480f-9523-625f420e3b0c": { - "content": { - "process_core": { - "process_id": "sampling_process_91" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:43.810Z", - "updateDate": "2018-03-26T17:00:02.517Z", - "document_id": "07662fff-7c93-480f-9523-625f420e3b0c" - } - }, - "dissociation_process/402d93f9-1a92-427b-94d2-6b8b3f745f7b": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_46" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:54.014Z", - "updateDate": "2018-03-26T17:01:02.405Z", - "document_id": "402d93f9-1a92-427b-94d2-6b8b3f745f7b" - } - }, - "process/fcd1deb7-9bfb-43af-84ed-a80576e654b7": { - "content": { - "process_core": { - "process_id": "sampling_process_121" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:46.447Z", - "updateDate": "2018-03-26T17:00:06.143Z", - "document_id": "fcd1deb7-9bfb-43af-84ed-a80576e654b7" - } - }, - "dissociation_process/c29572d7-3dc5-4adb-9c2d-d9fb9404ea9f": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_51" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:58.090Z", - "updateDate": "2018-03-26T17:01:06.275Z", - "document_id": "c29572d7-3dc5-4adb-9c2d-d9fb9404ea9f" - } - }, - "process/54b99724-3876-4b1a-a7e3-63fb1122da7f": { - "content": { - "process_core": { - "process_id": "sampling_process_55" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:36.135Z", - "updateDate": "2018-03-26T17:00:00.160Z", - "document_id": "54b99724-3876-4b1a-a7e3-63fb1122da7f" - } - }, - "dissociation_process/b94192b5-0099-4fb6-b108-70a218be4174": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_34" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:07.149Z", - "updateDate": "2018-03-26T17:00:44.242Z", - "document_id": "b94192b5-0099-4fb6-b108-70a218be4174" - } - }, - "process/7c21c65c-ebbb-437d-8a76-02351c75fa6f": { - "content": { - "process_core": { - "process_id": "sampling_process_94" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:44.079Z", - "updateDate": "2018-03-26T17:00:04.197Z", - "document_id": "7c21c65c-ebbb-437d-8a76-02351c75fa6f" - } - }, - "dissociation_process/70dbad0c-b35c-4ab3-86e3-df6f96be72af": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_39" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:07.080Z", - "updateDate": "2018-03-26T17:00:43.696Z", - "document_id": "70dbad0c-b35c-4ab3-86e3-df6f96be72af" - } - }, - "process/c9d8aecb-3eed-400e-b820-b5998afcd872": { - "content": { - "process_core": { - "process_id": "sampling_process_124" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:46.576Z", - "updateDate": "2018-03-26T17:00:10.186Z", - "document_id": "c9d8aecb-3eed-400e-b820-b5998afcd872" - } - }, - "dissociation_process/13752803-67e4-420d-90db-430085a01365": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_35" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:07.258Z", - "updateDate": "2018-03-26T17:00:45.277Z", - "document_id": "13752803-67e4-420d-90db-430085a01365" - } - }, - "process/b0257ffe-3162-463f-9dff-73d2d1900cd2": { - "content": { - "process_core": { - "process_id": "sampling_process_17" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:33.551Z", - "updateDate": "2018-03-26T16:59:58.199Z", - "document_id": "b0257ffe-3162-463f-9dff-73d2d1900cd2" - } - }, - "dissociation_process/bafbfbc4-31a1-44de-bf4c-ae78461df603": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_55" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:58.385Z", - "updateDate": "2018-03-26T17:01:07.375Z", - "document_id": "bafbfbc4-31a1-44de-bf4c-ae78461df603" - } - }, - "process/7f199f03-7b6d-46dd-b3a6-489c0c67163a": { - "content": { - "process_core": { - "process_id": "sampling_process_90" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:43.770Z", - "updateDate": "2018-03-26T17:00:01.179Z", - "document_id": "7f199f03-7b6d-46dd-b3a6-489c0c67163a" - } - }, - "dissociation_process/83f55550-882d-4316-9f97-a479fe9c6c41": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_62" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:11.802Z", - "updateDate": "2018-03-26T17:00:52.308Z", - "document_id": "83f55550-882d-4316-9f97-a479fe9c6c41" - } - }, - "process/5b25fff3-3fbf-4aee-b4e7-b023b253e105": { - "content": { - "process_core": { - "process_id": "sampling_process_120" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:46.402Z", - "updateDate": "2018-03-26T17:00:04.192Z", - "document_id": "5b25fff3-3fbf-4aee-b4e7-b023b253e105" - } - }, - "dissociation_process/ebf63b5d-8f5b-47b5-9f45-e0d96b383eef": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_36" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:07.425Z", - "updateDate": "2018-03-26T17:00:47.469Z", - "document_id": "ebf63b5d-8f5b-47b5-9f45-e0d96b383eef" - } - }, - "process/d15fb1ea-c3ff-4bd9-b3b1-de884b4719bc": { - "content": { - "process_core": { - "process_id": "sampling_process_53" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.987Z", - "updateDate": "2018-03-26T16:59:57.385Z", - "document_id": "d15fb1ea-c3ff-4bd9-b3b1-de884b4719bc" - } - }, - "dissociation_process/3df4eb34-1422-42ff-97d3-ece0c4c0fdf8": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_49" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:53.551Z", - "updateDate": "2018-03-26T17:01:01.674Z", - "document_id": "3df4eb34-1422-42ff-97d3-ece0c4c0fdf8" - } - }, - "process/d987bfce-9727-43fd-81c1-7a4f6df09922": { - "content": { - "process_core": { - "process_id": "sampling_process_92" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:43.856Z", - "updateDate": "2018-03-26T17:00:00.114Z", - "document_id": "d987bfce-9727-43fd-81c1-7a4f6df09922" - } - }, - "dissociation_process/9daacadd-f1c1-44b4-871e-00b676b6fa35": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_48" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:53.681Z", - "updateDate": "2018-03-26T17:01:01.527Z", - "document_id": "9daacadd-f1c1-44b4-871e-00b676b6fa35" - } - }, - "process/08b2716c-0112-4c81-b75b-b7b0d983c656": { - "content": { - "process_core": { - "process_id": "sampling_process_41" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.133Z", - "updateDate": "2018-03-26T17:00:01.508Z", - "document_id": "08b2716c-0112-4c81-b75b-b7b0d983c656" - } - }, - "dissociation_process/d6f3b423-67c4-460e-989c-39cd2e762a92": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_37" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:07.548Z", - "updateDate": "2018-03-26T17:00:44.826Z", - "document_id": "d6f3b423-67c4-460e-989c-39cd2e762a92" - } - }, - "process/7c86261f-3112-4bc1-bd8d-8a94accf7478": { - "content": { - "process_core": { - "process_id": "sampling_process_48" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:35.700Z", - "updateDate": "2018-03-26T16:59:57.267Z", - "document_id": "7c86261f-3112-4bc1-bd8d-8a94accf7478" - } - }, - "dissociation_process/c55b1216-dec4-41bd-b425-3e9e2708ec3d": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_44" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:53.852Z", - "updateDate": "2018-03-26T17:01:01.377Z", - "document_id": "c55b1216-dec4-41bd-b425-3e9e2708ec3d" - } - }, - "process/a0232494-8018-4f79-add4-d7f822d883c2": { - "content": { - "process_core": { - "process_id": "sampling_process_110" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:45.803Z", - "updateDate": "2018-03-26T17:00:03.270Z", - "document_id": "a0232494-8018-4f79-add4-d7f822d883c2" - } - }, - "dissociation_process/d3fbeb3c-623d-453a-9a85-559cf8fcce42": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_59" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:57.712Z", - "updateDate": "2018-03-26T17:01:05.285Z", - "document_id": "d3fbeb3c-623d-453a-9a85-559cf8fcce42" - } - }, - "process/ac142e9e-cf8d-4e77-bf36-30177c2931f3": { - "content": { - "process_core": { - "process_id": "sampling_process_57" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:36.373Z", - "updateDate": "2018-03-26T17:00:01.197Z", - "document_id": "ac142e9e-cf8d-4e77-bf36-30177c2931f3" - } - }, - "dissociation_process/ced1975a-38cb-47d8-a940-48c438b9fb7a": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_52" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:57.851Z", - "updateDate": "2018-03-26T17:01:06.308Z", - "document_id": "ced1975a-38cb-47d8-a940-48c438b9fb7a" - } - }, - "process/f353f6e5-9415-4476-923a-a3bfbde8987a": { - "content": { - "process_core": { - "process_id": "sampling_process_111" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:45.844Z", - "updateDate": "2018-03-26T17:00:04.219Z", - "document_id": "f353f6e5-9415-4476-923a-a3bfbde8987a" - } - }, - "dissociation_process/e3515c4a-944a-4f0e-aeff-e872fe44d677": { - "content": { - "nucleic_acid_source": "single cell", - "process_core": { - "process_name": "mononuclear cell isolation", - "process_description": "We isolated mononuclear cells for all samples in preparation for 10x sequencing.", - "process_id": "dissociation_process_54" - }, - "dissociation_method": "10x_v2", - "describedBy": "https://schema.humancellatlas.org/type/process/biomaterial_collection/5.1.0/dissociation_process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:58.313Z", - "updateDate": "2018-03-26T17:01:07.329Z", - "document_id": "e3515c4a-944a-4f0e-aeff-e872fe44d677" - } - }, - "process/d46f0814-1caf-4668-ab2e-cec3af24b1fb": { - "content": { - "process_core": { - "process_id": "sampling_process_122" - }, - "describedBy": "https://schema.humancellatlas.org/type/process/1.0.0/process", - "schema_type": "process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:46.490Z", - "updateDate": "2018-03-26T17:00:03.343Z", - "document_id": "d46f0814-1caf-4668-ab2e-cec3af24b1fb" - } - }, - "library_preparation_process/12ea2953-06a4-4e80-8910-a27aba936b9c": { - "content": { - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "process_type": { - "text": "10x sequencing process" - }, - "process_core": { - "process_id": "library_preparation_process_1", - "process_name": "Preparing RNA for sequencing by 10x" - }, - "umi_barcode": { - "barcode_offset": 16, - "barcode_length": 10, - "barcode_read": "Read 1" - }, - "library_construction_approach": "10x_v2", - "cell_barcode": { - "barcode_offset": 0, - "barcode_length": 16, - "barcode_read": "Read 1" - }, - "schema_type": "process", - "end_bias": "3 prime tag", - "primer": "poly-dT", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/library_preparation_process", - "strand": "second" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:06.820Z", - "updateDate": "2018-03-26T17:00:44.791Z", - "document_id": "12ea2953-06a4-4e80-8910-a27aba936b9c" - } - }, - "sequencing_process/f179fd50-5552-4277-9933-4f37fe0fd8e1": { - "content": { - "paired_ends": true, - "local_machine_name": "HXJ", - "instrument_manufacturer_model": { - "text": "Illumina Hiseq X 10", - "ontology": "EFO:0008567" - }, - "process_type": { - "text": "10x sequencing process" - }, - "process_core": { - "process_description": "Single cell sequencing of cDNAs by 10x", - "process_name": "Sequencing bone marrow donor 5-8", - "process_id": "10x_v2_sequencing_process_2", - "start_time": "2017-09-26T05:20:00Z", - "process_location": "Broad Institute" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/sequencing/5.1.0/sequencing_process" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T17:00:06.935Z", - "updateDate": "2018-03-26T17:00:53.534Z", - "document_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1" - } - }, - "protocol/3cbebf0a-4aab-4525-80f4-222703d14b98": { - "content": { - "protocol_core": { - "protocol_id": "dissociation_protocol_1" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.834Z", - "updateDate": "2018-03-26T16:59:27.584Z", - "document_id": "3cbebf0a-4aab-4525-80f4-222703d14b98" - } - }, - "protocol/81b97ec1-f68c-4d69-be78-50d1aad7bbef": { - "content": { - "protocol_core": { - "protocol_id": "library_preparation_protocol_1" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "10x sequencing protocol", - "ontology": "EFO:0008443" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.848Z", - "updateDate": "2018-03-26T16:59:29.761Z", - "document_id": "81b97ec1-f68c-4d69-be78-50d1aad7bbef" - } - }, - "protocol/e99eed63-5794-4d8d-baf9-9c6888e91e6d": { - "content": { - "protocol_core": { - "protocol_id": "10x_v2_sequencing_protocol_1" - }, - "describedBy": "https://schema.humancellatlas.org/type/protocol/5.1.0/protocol", - "protocol_type": { - "text": "10x sequencing protocol", - "ontology": "EFO:0008443" - }, - "schema_type": "protocol" - }, - "hca_ingest": { - "accession": "", - "submissionDate": "2018-03-26T16:59:18.860Z", - "updateDate": "2018-03-26T16:59:27.537Z", - "document_id": "e99eed63-5794-4d8d-baf9-9c6888e91e6d" - } - } - }, - "links": { - "links": [ - { - "source_id": "a673bfc0-7dd8-4010-a882-8fb3e6f553b1", - "source_type": "biomaterial", - "destination_id": "eacc00c5-f7a1-45da-a021-50cbacde691a", - "destination_type": "dissociation_process" - }, - { - "source_id": "eacc00c5-f7a1-45da-a021-50cbacde691a", - "source_type": "dissociation_process", - "destination_id": "511d4724-0b88-418d-bd22-5d6f986d6053", - "destination_type": "biomaterial" - }, - { - "source_id": "eacc00c5-f7a1-45da-a021-50cbacde691a", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "655ec2a1-8b2c-4805-8b68-233d3687b8f2", - "source_type": "process", - "destination_id": "a673bfc0-7dd8-4010-a882-8fb3e6f553b1", - "destination_type": "biomaterial" - }, - { - "source_id": "07a69497-dc3d-4808-a08a-ed0b43cb006e", - "source_type": "biomaterial", - "destination_id": "655ec2a1-8b2c-4805-8b68-233d3687b8f2", - "destination_type": "process" - }, - { - "source_id": "e4fb8f04-a6d6-4d98-a1bb-c2fd8ff5aa37", - "source_type": "biomaterial", - "destination_id": "b1711fef-df62-45b2-8541-5c3ccd3ca9a4", - "destination_type": "dissociation_process" - }, - { - "source_id": "b1711fef-df62-45b2-8541-5c3ccd3ca9a4", - "source_type": "dissociation_process", - "destination_id": "cf1f4b91-6f95-4b9b-9c71-419bf149ea8e", - "destination_type": "biomaterial" - }, - { - "source_id": "b1711fef-df62-45b2-8541-5c3ccd3ca9a4", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "0942925d-2462-4eb1-af34-36ceee6542a4", - "source_type": "process", - "destination_id": "e4fb8f04-a6d6-4d98-a1bb-c2fd8ff5aa37", - "destination_type": "biomaterial" - }, - { - "source_id": "07a69497-dc3d-4808-a08a-ed0b43cb006e", - "source_type": "biomaterial", - "destination_id": "0942925d-2462-4eb1-af34-36ceee6542a4", - "destination_type": "process" - }, - { - "source_id": "435ded44-97c9-4d17-abb6-d28b8011a486", - "source_type": "biomaterial", - "destination_id": "acde5791-cf1f-4f83-b97e-fdaa38d530b9", - "destination_type": "dissociation_process" - }, - { - "source_id": "acde5791-cf1f-4f83-b97e-fdaa38d530b9", - "source_type": "dissociation_process", - "destination_id": "55331b4f-456b-406d-a9c5-a8607aac450f", - "destination_type": "biomaterial" - }, - { - "source_id": "acde5791-cf1f-4f83-b97e-fdaa38d530b9", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "ff88846c-593a-4b0f-a656-ca79f36b6aae", - "source_type": "process", - "destination_id": "435ded44-97c9-4d17-abb6-d28b8011a486", - "destination_type": "biomaterial" - }, - { - "source_id": "61c0d3be-9a27-43eb-896c-2a00c711b883", - "source_type": "biomaterial", - "destination_id": "ff88846c-593a-4b0f-a656-ca79f36b6aae", - "destination_type": "process" - }, - { - "source_id": "95f4827c-1243-4f82-8a61-530e466ba626", - "source_type": "biomaterial", - "destination_id": "d2c8f367-c7cd-412b-8290-1920f5f3f2c7", - "destination_type": "dissociation_process" - }, - { - "source_id": "d2c8f367-c7cd-412b-8290-1920f5f3f2c7", - "source_type": "dissociation_process", - "destination_id": "39d16a4b-d0f5-457e-8f1c-19dc0903dd09", - "destination_type": "biomaterial" - }, - { - "source_id": "d2c8f367-c7cd-412b-8290-1920f5f3f2c7", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "dd4d597d-3fc6-4e7c-b1f5-20f3add9511d", - "source_type": "process", - "destination_id": "95f4827c-1243-4f82-8a61-530e466ba626", - "destination_type": "biomaterial" - }, - { - "source_id": "8b986959-b1ef-4b44-a41e-d33e0304fbba", - "source_type": "biomaterial", - "destination_id": "dd4d597d-3fc6-4e7c-b1f5-20f3add9511d", - "destination_type": "process" - }, - { - "source_id": "fa448898-f1ab-4f7b-b4f4-b5ffa34526ec", - "source_type": "biomaterial", - "destination_id": "96a29826-a47b-4f1a-9252-56cd16a56e06", - "destination_type": "dissociation_process" - }, - { - "source_id": "96a29826-a47b-4f1a-9252-56cd16a56e06", - "source_type": "dissociation_process", - "destination_id": "0f256ebf-f049-4d37-b175-7cb881748469", - "destination_type": "biomaterial" - }, - { - "source_id": "96a29826-a47b-4f1a-9252-56cd16a56e06", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "32589218-75ee-4978-9b8c-27a1674531bb", - "source_type": "process", - "destination_id": "fa448898-f1ab-4f7b-b4f4-b5ffa34526ec", - "destination_type": "biomaterial" - }, - { - "source_id": "61c0d3be-9a27-43eb-896c-2a00c711b883", - "source_type": "biomaterial", - "destination_id": "32589218-75ee-4978-9b8c-27a1674531bb", - "destination_type": "process" - }, - { - "source_id": "2ec6f4fb-5252-4480-9fe4-37355a3f106f", - "source_type": "biomaterial", - "destination_id": "cfd75031-9b04-4b8b-a417-4a1ce9582495", - "destination_type": "dissociation_process" - }, - { - "source_id": "cfd75031-9b04-4b8b-a417-4a1ce9582495", - "source_type": "dissociation_process", - "destination_id": "9eb0db90-5f70-4c03-b1c3-4709ddbfd9cb", - "destination_type": "biomaterial" - }, - { - "source_id": "cfd75031-9b04-4b8b-a417-4a1ce9582495", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "a82e1a02-7115-499e-9db0-472058dd706a", - "source_type": "process", - "destination_id": "2ec6f4fb-5252-4480-9fe4-37355a3f106f", - "destination_type": "biomaterial" - }, - { - "source_id": "07a69497-dc3d-4808-a08a-ed0b43cb006e", - "source_type": "biomaterial", - "destination_id": "a82e1a02-7115-499e-9db0-472058dd706a", - "destination_type": "process" - }, - { - "source_id": "e47e8c7c-b584-4e52-953d-3a4fbe7c3d24", - "source_type": "biomaterial", - "destination_id": "15fe8b58-d3c1-4e51-821c-c57ffe8c4c8c", - "destination_type": "dissociation_process" - }, - { - "source_id": "15fe8b58-d3c1-4e51-821c-c57ffe8c4c8c", - "source_type": "dissociation_process", - "destination_id": "866c75ad-acd4-4c6a-a234-c456393ee5f1", - "destination_type": "biomaterial" - }, - { - "source_id": "15fe8b58-d3c1-4e51-821c-c57ffe8c4c8c", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "b7aa38e3-b79a-46f8-ba41-99d86f6fd85f", - "source_type": "process", - "destination_id": "e47e8c7c-b584-4e52-953d-3a4fbe7c3d24", - "destination_type": "biomaterial" - }, - { - "source_id": "8b986959-b1ef-4b44-a41e-d33e0304fbba", - "source_type": "biomaterial", - "destination_id": "b7aa38e3-b79a-46f8-ba41-99d86f6fd85f", - "destination_type": "process" - }, - { - "source_id": "c374dcee-f665-4f86-b900-3af1b01dc503", - "source_type": "biomaterial", - "destination_id": "558fd304-a67b-4b17-bac4-35e0cba1f6a9", - "destination_type": "dissociation_process" - }, - { - "source_id": "558fd304-a67b-4b17-bac4-35e0cba1f6a9", - "source_type": "dissociation_process", - "destination_id": "1b9de729-00b5-493e-a801-0f4d35c7f060", - "destination_type": "biomaterial" - }, - { - "source_id": "558fd304-a67b-4b17-bac4-35e0cba1f6a9", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "be046d7c-3516-4f39-9a01-90cd7025d927", - "source_type": "process", - "destination_id": "c374dcee-f665-4f86-b900-3af1b01dc503", - "destination_type": "biomaterial" - }, - { - "source_id": "d4ca041a-7028-407f-906b-f8b4415c2c1c", - "source_type": "biomaterial", - "destination_id": "be046d7c-3516-4f39-9a01-90cd7025d927", - "destination_type": "process" - }, - { - "source_id": "99ba7224-aa3d-47f0-9ffd-3219240f1e45", - "source_type": "biomaterial", - "destination_id": "e66dc50e-7102-48fb-a7b0-15e411309c33", - "destination_type": "dissociation_process" - }, - { - "source_id": "e66dc50e-7102-48fb-a7b0-15e411309c33", - "source_type": "dissociation_process", - "destination_id": "29fa4290-89db-46c6-a154-444c73fcc644", - "destination_type": "biomaterial" - }, - { - "source_id": "e66dc50e-7102-48fb-a7b0-15e411309c33", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "a03e5bbe-48a4-4029-8a2c-0e477b9ac7cb", - "source_type": "process", - "destination_id": "99ba7224-aa3d-47f0-9ffd-3219240f1e45", - "destination_type": "biomaterial" - }, - { - "source_id": "8b986959-b1ef-4b44-a41e-d33e0304fbba", - "source_type": "biomaterial", - "destination_id": "a03e5bbe-48a4-4029-8a2c-0e477b9ac7cb", - "destination_type": "process" - }, - { - "source_id": "a9653bd6-f808-4ebc-82cf-171d4c737ae9", - "source_type": "biomaterial", - "destination_id": "3ffbc2a9-aca9-439c-ac52-c845cd66c489", - "destination_type": "dissociation_process" - }, - { - "source_id": "3ffbc2a9-aca9-439c-ac52-c845cd66c489", - "source_type": "dissociation_process", - "destination_id": "77b0da1a-1855-4f5f-a299-e5f28d881bdb", - "destination_type": "biomaterial" - }, - { - "source_id": "3ffbc2a9-aca9-439c-ac52-c845cd66c489", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "229e8909-865e-4330-bf7f-416f0ef8631e", - "source_type": "process", - "destination_id": "a9653bd6-f808-4ebc-82cf-171d4c737ae9", - "destination_type": "biomaterial" - }, - { - "source_id": "07a69497-dc3d-4808-a08a-ed0b43cb006e", - "source_type": "biomaterial", - "destination_id": "229e8909-865e-4330-bf7f-416f0ef8631e", - "destination_type": "process" - }, - { - "source_id": "3192908c-3f5f-41d8-8b55-6000dbb811cb", - "source_type": "biomaterial", - "destination_id": "4d74208d-5200-46c5-9d4e-fafc132bb31c", - "destination_type": "dissociation_process" - }, - { - "source_id": "4d74208d-5200-46c5-9d4e-fafc132bb31c", - "source_type": "dissociation_process", - "destination_id": "beabff64-fd1b-4817-995e-b37403f2aea4", - "destination_type": "biomaterial" - }, - { - "source_id": "4d74208d-5200-46c5-9d4e-fafc132bb31c", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "b0628e09-0b0b-46e4-8ba1-075f038b675a", - "source_type": "process", - "destination_id": "3192908c-3f5f-41d8-8b55-6000dbb811cb", - "destination_type": "biomaterial" - }, - { - "source_id": "07a69497-dc3d-4808-a08a-ed0b43cb006e", - "source_type": "biomaterial", - "destination_id": "b0628e09-0b0b-46e4-8ba1-075f038b675a", - "destination_type": "process" - }, - { - "source_id": "f2ab37e5-68dc-4782-8e18-6042750bd89f", - "source_type": "biomaterial", - "destination_id": "0b56e470-94b8-4de0-9b8e-26cb2d892eed", - "destination_type": "dissociation_process" - }, - { - "source_id": "0b56e470-94b8-4de0-9b8e-26cb2d892eed", - "source_type": "dissociation_process", - "destination_id": "09424c38-f1b1-4abf-9d97-fffd5ba3ad4f", - "destination_type": "biomaterial" - }, - { - "source_id": "0b56e470-94b8-4de0-9b8e-26cb2d892eed", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "d921308c-6baa-4370-af41-bc2715107a4e", - "source_type": "process", - "destination_id": "f2ab37e5-68dc-4782-8e18-6042750bd89f", - "destination_type": "biomaterial" - }, - { - "source_id": "61c0d3be-9a27-43eb-896c-2a00c711b883", - "source_type": "biomaterial", - "destination_id": "d921308c-6baa-4370-af41-bc2715107a4e", - "destination_type": "process" - }, - { - "source_id": "d43c21e1-f672-4920-a8c5-7a32aeef1ce1", - "source_type": "biomaterial", - "destination_id": "5c2a4543-956b-4e43-adc0-6ff07b8cdd4c", - "destination_type": "dissociation_process" - }, - { - "source_id": "5c2a4543-956b-4e43-adc0-6ff07b8cdd4c", - "source_type": "dissociation_process", - "destination_id": "18791d9e-c0ae-4cb4-a9e6-b4ea4618f6d7", - "destination_type": "biomaterial" - }, - { - "source_id": "5c2a4543-956b-4e43-adc0-6ff07b8cdd4c", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "85344d5f-d10d-4cac-b0f5-6516ec30f3a5", - "source_type": "process", - "destination_id": "d43c21e1-f672-4920-a8c5-7a32aeef1ce1", - "destination_type": "biomaterial" - }, - { - "source_id": "07a69497-dc3d-4808-a08a-ed0b43cb006e", - "source_type": "biomaterial", - "destination_id": "85344d5f-d10d-4cac-b0f5-6516ec30f3a5", - "destination_type": "process" - }, - { - "source_id": "0419e639-2762-4abb-b125-558a151d6580", - "source_type": "biomaterial", - "destination_id": "afeca0ff-8bd0-4e3b-8905-357a061064dd", - "destination_type": "dissociation_process" - }, - { - "source_id": "afeca0ff-8bd0-4e3b-8905-357a061064dd", - "source_type": "dissociation_process", - "destination_id": "1339c497-c686-4d8d-ae51-6b30cb3dd11e", - "destination_type": "biomaterial" - }, - { - "source_id": "afeca0ff-8bd0-4e3b-8905-357a061064dd", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "c0636a64-e0ca-4adc-9c8a-208651ec9bfd", - "source_type": "process", - "destination_id": "0419e639-2762-4abb-b125-558a151d6580", - "destination_type": "biomaterial" - }, - { - "source_id": "8b986959-b1ef-4b44-a41e-d33e0304fbba", - "source_type": "biomaterial", - "destination_id": "c0636a64-e0ca-4adc-9c8a-208651ec9bfd", - "destination_type": "process" - }, - { - "source_id": "c6e6684d-41d2-4f1a-a992-72290baca715", - "source_type": "biomaterial", - "destination_id": "4e4dd950-12bf-4b34-bfc3-407861625fe6", - "destination_type": "dissociation_process" - }, - { - "source_id": "4e4dd950-12bf-4b34-bfc3-407861625fe6", - "source_type": "dissociation_process", - "destination_id": "8ec8f2f9-77b5-4fd7-a85b-38643009089c", - "destination_type": "biomaterial" - }, - { - "source_id": "4e4dd950-12bf-4b34-bfc3-407861625fe6", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "99fc4a69-8fa7-41c4-a6a3-b57181c8d3f2", - "source_type": "process", - "destination_id": "c6e6684d-41d2-4f1a-a992-72290baca715", - "destination_type": "biomaterial" - }, - { - "source_id": "8b986959-b1ef-4b44-a41e-d33e0304fbba", - "source_type": "biomaterial", - "destination_id": "99fc4a69-8fa7-41c4-a6a3-b57181c8d3f2", - "destination_type": "process" - }, - { - "source_id": "9d8ba59f-f2e9-43e2-85e0-7095f5b09923", - "source_type": "biomaterial", - "destination_id": "99554c65-0d6d-4dd9-a12f-02b97bad8275", - "destination_type": "dissociation_process" - }, - { - "source_id": "99554c65-0d6d-4dd9-a12f-02b97bad8275", - "source_type": "dissociation_process", - "destination_id": "939b4152-d4b6-4374-9775-9f53eb16ad0f", - "destination_type": "biomaterial" - }, - { - "source_id": "99554c65-0d6d-4dd9-a12f-02b97bad8275", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "07662fff-7c93-480f-9523-625f420e3b0c", - "source_type": "process", - "destination_id": "9d8ba59f-f2e9-43e2-85e0-7095f5b09923", - "destination_type": "biomaterial" - }, - { - "source_id": "d4ca041a-7028-407f-906b-f8b4415c2c1c", - "source_type": "biomaterial", - "destination_id": "07662fff-7c93-480f-9523-625f420e3b0c", - "destination_type": "process" - }, - { - "source_id": "e6d0da8f-e666-4f29-b8d8-34d717188967", - "source_type": "biomaterial", - "destination_id": "402d93f9-1a92-427b-94d2-6b8b3f745f7b", - "destination_type": "dissociation_process" - }, - { - "source_id": "402d93f9-1a92-427b-94d2-6b8b3f745f7b", - "source_type": "dissociation_process", - "destination_id": "e45b8254-e077-4ac9-a8e6-1627eb42d5b4", - "destination_type": "biomaterial" - }, - { - "source_id": "402d93f9-1a92-427b-94d2-6b8b3f745f7b", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "fcd1deb7-9bfb-43af-84ed-a80576e654b7", - "source_type": "process", - "destination_id": "e6d0da8f-e666-4f29-b8d8-34d717188967", - "destination_type": "biomaterial" - }, - { - "source_id": "8b986959-b1ef-4b44-a41e-d33e0304fbba", - "source_type": "biomaterial", - "destination_id": "fcd1deb7-9bfb-43af-84ed-a80576e654b7", - "destination_type": "process" - }, - { - "source_id": "5c38a229-495f-4b2b-8c62-af0814e4f002", - "source_type": "biomaterial", - "destination_id": "c29572d7-3dc5-4adb-9c2d-d9fb9404ea9f", - "destination_type": "dissociation_process" - }, - { - "source_id": "c29572d7-3dc5-4adb-9c2d-d9fb9404ea9f", - "source_type": "dissociation_process", - "destination_id": "37c79043-da4d-4745-91c4-9785d1d03a82", - "destination_type": "biomaterial" - }, - { - "source_id": "c29572d7-3dc5-4adb-9c2d-d9fb9404ea9f", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "54b99724-3876-4b1a-a7e3-63fb1122da7f", - "source_type": "process", - "destination_id": "5c38a229-495f-4b2b-8c62-af0814e4f002", - "destination_type": "biomaterial" - }, - { - "source_id": "d4ca041a-7028-407f-906b-f8b4415c2c1c", - "source_type": "biomaterial", - "destination_id": "54b99724-3876-4b1a-a7e3-63fb1122da7f", - "destination_type": "process" - }, - { - "source_id": "09bed9cb-5ea2-41f0-8d9b-5a985c096668", - "source_type": "biomaterial", - "destination_id": "b94192b5-0099-4fb6-b108-70a218be4174", - "destination_type": "dissociation_process" - }, - { - "source_id": "b94192b5-0099-4fb6-b108-70a218be4174", - "source_type": "dissociation_process", - "destination_id": "b0842f1d-b081-4ed5-ad1a-30b34015b62d", - "destination_type": "biomaterial" - }, - { - "source_id": "b94192b5-0099-4fb6-b108-70a218be4174", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "7c21c65c-ebbb-437d-8a76-02351c75fa6f", - "source_type": "process", - "destination_id": "09bed9cb-5ea2-41f0-8d9b-5a985c096668", - "destination_type": "biomaterial" - }, - { - "source_id": "61c0d3be-9a27-43eb-896c-2a00c711b883", - "source_type": "biomaterial", - "destination_id": "7c21c65c-ebbb-437d-8a76-02351c75fa6f", - "destination_type": "process" - }, - { - "source_id": "58b0354a-acbf-4f82-aad3-dbc90b8b0258", - "source_type": "biomaterial", - "destination_id": "70dbad0c-b35c-4ab3-86e3-df6f96be72af", - "destination_type": "dissociation_process" - }, - { - "source_id": "70dbad0c-b35c-4ab3-86e3-df6f96be72af", - "source_type": "dissociation_process", - "destination_id": "c7520e50-f9bc-4626-a117-a78f394fc203", - "destination_type": "biomaterial" - }, - { - "source_id": "70dbad0c-b35c-4ab3-86e3-df6f96be72af", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "c9d8aecb-3eed-400e-b820-b5998afcd872", - "source_type": "process", - "destination_id": "58b0354a-acbf-4f82-aad3-dbc90b8b0258", - "destination_type": "biomaterial" - }, - { - "source_id": "61c0d3be-9a27-43eb-896c-2a00c711b883", - "source_type": "biomaterial", - "destination_id": "c9d8aecb-3eed-400e-b820-b5998afcd872", - "destination_type": "process" - }, - { - "source_id": "0041bb77-8217-4707-adba-0ff4f0a75382", - "source_type": "biomaterial", - "destination_id": "13752803-67e4-420d-90db-430085a01365", - "destination_type": "dissociation_process" - }, - { - "source_id": "13752803-67e4-420d-90db-430085a01365", - "source_type": "dissociation_process", - "destination_id": "b508258e-74d6-4c7e-adc2-ddda36ebfad7", - "destination_type": "biomaterial" - }, - { - "source_id": "13752803-67e4-420d-90db-430085a01365", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "b0257ffe-3162-463f-9dff-73d2d1900cd2", - "source_type": "process", - "destination_id": "0041bb77-8217-4707-adba-0ff4f0a75382", - "destination_type": "biomaterial" - }, - { - "source_id": "61c0d3be-9a27-43eb-896c-2a00c711b883", - "source_type": "biomaterial", - "destination_id": "b0257ffe-3162-463f-9dff-73d2d1900cd2", - "destination_type": "process" - }, - { - "source_id": "a9e6e73a-a912-4a15-8a54-b449d2cb8288", - "source_type": "biomaterial", - "destination_id": "bafbfbc4-31a1-44de-bf4c-ae78461df603", - "destination_type": "dissociation_process" - }, - { - "source_id": "bafbfbc4-31a1-44de-bf4c-ae78461df603", - "source_type": "dissociation_process", - "destination_id": "550a7b77-96d1-41f1-99aa-66bc1e94d23e", - "destination_type": "biomaterial" - }, - { - "source_id": "bafbfbc4-31a1-44de-bf4c-ae78461df603", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "7f199f03-7b6d-46dd-b3a6-489c0c67163a", - "source_type": "process", - "destination_id": "a9e6e73a-a912-4a15-8a54-b449d2cb8288", - "destination_type": "biomaterial" - }, - { - "source_id": "d4ca041a-7028-407f-906b-f8b4415c2c1c", - "source_type": "biomaterial", - "destination_id": "7f199f03-7b6d-46dd-b3a6-489c0c67163a", - "destination_type": "process" - }, - { - "source_id": "f3aea92a-a3e1-4130-9dbc-60d3757c549e", - "source_type": "biomaterial", - "destination_id": "83f55550-882d-4316-9f97-a479fe9c6c41", - "destination_type": "dissociation_process" - }, - { - "source_id": "83f55550-882d-4316-9f97-a479fe9c6c41", - "source_type": "dissociation_process", - "destination_id": "48496fe2-090e-4253-ae04-3f3b0b520585", - "destination_type": "biomaterial" - }, - { - "source_id": "83f55550-882d-4316-9f97-a479fe9c6c41", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "5b25fff3-3fbf-4aee-b4e7-b023b253e105", - "source_type": "process", - "destination_id": "f3aea92a-a3e1-4130-9dbc-60d3757c549e", - "destination_type": "biomaterial" - }, - { - "source_id": "07a69497-dc3d-4808-a08a-ed0b43cb006e", - "source_type": "biomaterial", - "destination_id": "5b25fff3-3fbf-4aee-b4e7-b023b253e105", - "destination_type": "process" - }, - { - "source_id": "fbd01573-ab66-45a1-9719-68a3df5d762f", - "source_type": "biomaterial", - "destination_id": "ebf63b5d-8f5b-47b5-9f45-e0d96b383eef", - "destination_type": "dissociation_process" - }, - { - "source_id": "ebf63b5d-8f5b-47b5-9f45-e0d96b383eef", - "source_type": "dissociation_process", - "destination_id": "7d72b943-9bbc-479c-af24-40b5f5c2fdb4", - "destination_type": "biomaterial" - }, - { - "source_id": "ebf63b5d-8f5b-47b5-9f45-e0d96b383eef", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "d15fb1ea-c3ff-4bd9-b3b1-de884b4719bc", - "source_type": "process", - "destination_id": "fbd01573-ab66-45a1-9719-68a3df5d762f", - "destination_type": "biomaterial" - }, - { - "source_id": "61c0d3be-9a27-43eb-896c-2a00c711b883", - "source_type": "biomaterial", - "destination_id": "d15fb1ea-c3ff-4bd9-b3b1-de884b4719bc", - "destination_type": "process" - }, - { - "source_id": "f8b16856-e066-41f1-8289-2d08bc1791a8", - "source_type": "biomaterial", - "destination_id": "3df4eb34-1422-42ff-97d3-ece0c4c0fdf8", - "destination_type": "dissociation_process" - }, - { - "source_id": "3df4eb34-1422-42ff-97d3-ece0c4c0fdf8", - "source_type": "dissociation_process", - "destination_id": "fc8be628-9c61-47c8-91b5-2b1ae427cf89", - "destination_type": "biomaterial" - }, - { - "source_id": "3df4eb34-1422-42ff-97d3-ece0c4c0fdf8", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "d987bfce-9727-43fd-81c1-7a4f6df09922", - "source_type": "process", - "destination_id": "f8b16856-e066-41f1-8289-2d08bc1791a8", - "destination_type": "biomaterial" - }, - { - "source_id": "d4ca041a-7028-407f-906b-f8b4415c2c1c", - "source_type": "biomaterial", - "destination_id": "d987bfce-9727-43fd-81c1-7a4f6df09922", - "destination_type": "process" - }, - { - "source_id": "5f6b7460-214b-4371-9fc6-671bdd2afa72", - "source_type": "biomaterial", - "destination_id": "9daacadd-f1c1-44b4-871e-00b676b6fa35", - "destination_type": "dissociation_process" - }, - { - "source_id": "9daacadd-f1c1-44b4-871e-00b676b6fa35", - "source_type": "dissociation_process", - "destination_id": "5bd60c24-d76e-4fd6-bb82-115273cee157", - "destination_type": "biomaterial" - }, - { - "source_id": "9daacadd-f1c1-44b4-871e-00b676b6fa35", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "08b2716c-0112-4c81-b75b-b7b0d983c656", - "source_type": "process", - "destination_id": "5f6b7460-214b-4371-9fc6-671bdd2afa72", - "destination_type": "biomaterial" - }, - { - "source_id": "d4ca041a-7028-407f-906b-f8b4415c2c1c", - "source_type": "biomaterial", - "destination_id": "08b2716c-0112-4c81-b75b-b7b0d983c656", - "destination_type": "process" - }, - { - "source_id": "b82065c6-8269-4d13-b8ae-d0fb3f26f77c", - "source_type": "biomaterial", - "destination_id": "d6f3b423-67c4-460e-989c-39cd2e762a92", - "destination_type": "dissociation_process" - }, - { - "source_id": "d6f3b423-67c4-460e-989c-39cd2e762a92", - "source_type": "dissociation_process", - "destination_id": "0ebe30dd-102f-44ce-9a0b-82481c2956a5", - "destination_type": "biomaterial" - }, - { - "source_id": "d6f3b423-67c4-460e-989c-39cd2e762a92", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "7c86261f-3112-4bc1-bd8d-8a94accf7478", - "source_type": "process", - "destination_id": "b82065c6-8269-4d13-b8ae-d0fb3f26f77c", - "destination_type": "biomaterial" - }, - { - "source_id": "61c0d3be-9a27-43eb-896c-2a00c711b883", - "source_type": "biomaterial", - "destination_id": "7c86261f-3112-4bc1-bd8d-8a94accf7478", - "destination_type": "process" - }, - { - "source_id": "fd8aba0d-6299-43ce-abf4-28bb10754e92", - "source_type": "biomaterial", - "destination_id": "c55b1216-dec4-41bd-b425-3e9e2708ec3d", - "destination_type": "dissociation_process" - }, - { - "source_id": "c55b1216-dec4-41bd-b425-3e9e2708ec3d", - "source_type": "dissociation_process", - "destination_id": "5680b7ac-d329-476b-85e6-05c39d3fb028", - "destination_type": "biomaterial" - }, - { - "source_id": "c55b1216-dec4-41bd-b425-3e9e2708ec3d", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "a0232494-8018-4f79-add4-d7f822d883c2", - "source_type": "process", - "destination_id": "fd8aba0d-6299-43ce-abf4-28bb10754e92", - "destination_type": "biomaterial" - }, - { - "source_id": "8b986959-b1ef-4b44-a41e-d33e0304fbba", - "source_type": "biomaterial", - "destination_id": "a0232494-8018-4f79-add4-d7f822d883c2", - "destination_type": "process" - }, - { - "source_id": "beb014f4-f54b-4c40-bc4f-347ebcb2c5ca", - "source_type": "biomaterial", - "destination_id": "d3fbeb3c-623d-453a-9a85-559cf8fcce42", - "destination_type": "dissociation_process" - }, - { - "source_id": "d3fbeb3c-623d-453a-9a85-559cf8fcce42", - "source_type": "dissociation_process", - "destination_id": "ba805a63-d347-4ac8-ad35-96f518204cc7", - "destination_type": "biomaterial" - }, - { - "source_id": "d3fbeb3c-623d-453a-9a85-559cf8fcce42", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "ac142e9e-cf8d-4e77-bf36-30177c2931f3", - "source_type": "process", - "destination_id": "beb014f4-f54b-4c40-bc4f-347ebcb2c5ca", - "destination_type": "biomaterial" - }, - { - "source_id": "07a69497-dc3d-4808-a08a-ed0b43cb006e", - "source_type": "biomaterial", - "destination_id": "ac142e9e-cf8d-4e77-bf36-30177c2931f3", - "destination_type": "process" - }, - { - "source_id": "755cc233-9d9f-4d12-96e6-9d4dacde8a67", - "source_type": "biomaterial", - "destination_id": "ced1975a-38cb-47d8-a940-48c438b9fb7a", - "destination_type": "dissociation_process" - }, - { - "source_id": "ced1975a-38cb-47d8-a940-48c438b9fb7a", - "source_type": "dissociation_process", - "destination_id": "0a811a33-4de1-4d96-9cf0-1ec315112ffe", - "destination_type": "biomaterial" - }, - { - "source_id": "ced1975a-38cb-47d8-a940-48c438b9fb7a", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "f353f6e5-9415-4476-923a-a3bfbde8987a", - "source_type": "process", - "destination_id": "755cc233-9d9f-4d12-96e6-9d4dacde8a67", - "destination_type": "biomaterial" - }, - { - "source_id": "d4ca041a-7028-407f-906b-f8b4415c2c1c", - "source_type": "biomaterial", - "destination_id": "f353f6e5-9415-4476-923a-a3bfbde8987a", - "destination_type": "process" - }, - { - "source_id": "35e69b30-f6c1-4d90-a585-31d8b25bd2c6", - "source_type": "biomaterial", - "destination_id": "e3515c4a-944a-4f0e-aeff-e872fe44d677", - "destination_type": "dissociation_process" - }, - { - "source_id": "e3515c4a-944a-4f0e-aeff-e872fe44d677", - "source_type": "dissociation_process", - "destination_id": "c8a2fff6-4d1a-412b-a0a0-96e4fdd4af7c", - "destination_type": "biomaterial" - }, - { - "source_id": "e3515c4a-944a-4f0e-aeff-e872fe44d677", - "source_type": "dissociation_process", - "destination_id": "3cbebf0a-4aab-4525-80f4-222703d14b98", - "destination_type": "protocol" - }, - { - "source_id": "d46f0814-1caf-4668-ab2e-cec3af24b1fb", - "source_type": "process", - "destination_id": "35e69b30-f6c1-4d90-a585-31d8b25bd2c6", - "destination_type": "biomaterial" - }, - { - "source_id": "d4ca041a-7028-407f-906b-f8b4415c2c1c", - "source_type": "biomaterial", - "destination_id": "d46f0814-1caf-4668-ab2e-cec3af24b1fb", - "destination_type": "process" - }, - { - "source_id": "511d4724-0b88-418d-bd22-5d6f986d6053", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "cf1f4b91-6f95-4b9b-9c71-419bf149ea8e", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "55331b4f-456b-406d-a9c5-a8607aac450f", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "39d16a4b-d0f5-457e-8f1c-19dc0903dd09", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "0f256ebf-f049-4d37-b175-7cb881748469", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "9eb0db90-5f70-4c03-b1c3-4709ddbfd9cb", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "866c75ad-acd4-4c6a-a234-c456393ee5f1", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "1b9de729-00b5-493e-a801-0f4d35c7f060", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "29fa4290-89db-46c6-a154-444c73fcc644", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "77b0da1a-1855-4f5f-a299-e5f28d881bdb", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "beabff64-fd1b-4817-995e-b37403f2aea4", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "09424c38-f1b1-4abf-9d97-fffd5ba3ad4f", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "18791d9e-c0ae-4cb4-a9e6-b4ea4618f6d7", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "1339c497-c686-4d8d-ae51-6b30cb3dd11e", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "8ec8f2f9-77b5-4fd7-a85b-38643009089c", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "939b4152-d4b6-4374-9775-9f53eb16ad0f", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "e45b8254-e077-4ac9-a8e6-1627eb42d5b4", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "37c79043-da4d-4745-91c4-9785d1d03a82", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "b0842f1d-b081-4ed5-ad1a-30b34015b62d", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "c7520e50-f9bc-4626-a117-a78f394fc203", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "b508258e-74d6-4c7e-adc2-ddda36ebfad7", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "550a7b77-96d1-41f1-99aa-66bc1e94d23e", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "48496fe2-090e-4253-ae04-3f3b0b520585", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "7d72b943-9bbc-479c-af24-40b5f5c2fdb4", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "fc8be628-9c61-47c8-91b5-2b1ae427cf89", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "5bd60c24-d76e-4fd6-bb82-115273cee157", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "0ebe30dd-102f-44ce-9a0b-82481c2956a5", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "5680b7ac-d329-476b-85e6-05c39d3fb028", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "ba805a63-d347-4ac8-ad35-96f518204cc7", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "0a811a33-4de1-4d96-9cf0-1ec315112ffe", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "c8a2fff6-4d1a-412b-a0a0-96e4fdd4af7c", - "source_type": "biomaterial", - "destination_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "destination_type": "library_preparation_process" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "39351ee0-89c3-499d-a820-5bece48704d5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2a6cf1cd-1599-44ef-86e5-511a18e23262", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b5110ae6-55e1-4fe8-bae2-9696e679057b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6517b6c3-3fab-45e9-a494-ae81ccc500f0", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8162a395-0409-45c3-8652-918983bb1da0", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "719f581d-3481-4fe5-a3c5-2eb9054d07ec", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "656fa889-f831-4a3a-84cf-0a1f5e148f5e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "687c63b3-2eb3-4aac-ab54-aa5d02128f1c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7ded5e63-c50e-4854-9be7-1cb206fa3d7f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c000533a-432f-4733-bc22-16e4bb89382b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bd256dda-501a-4287-8e44-79fa7dcc43c6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ed89b525-725a-4e6d-aee9-3b36e78803a8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4c9af689-d89d-4312-a12b-deeb03c2fdca", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bfdeb7e3-f242-48ae-9222-6428b5168ccd", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8ad4c436-01a2-4d07-8b09-33e86a1d759a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ec15bc6b-2b71-4f78-ac5d-892b639a7fb6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6f042830-9bc8-4dd5-97a3-505f2db57d79", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5483a55b-cd36-4477-adcf-37172a856bfc", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0428ddc2-ea8a-4c79-b994-60990a869c77", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "33be88bb-3b38-4076-b9e1-1d73b48954b8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "139d2d79-11a0-4092-babd-2b27a6b42027", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "022d172e-1e82-418c-a821-133de6a9efe2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "fc6e45ac-5ba8-4a55-9901-3fa5ea480d28", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "09d8668c-bf1a-4ee5-9f9d-c5c17dc97509", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f1a89f64-9e0b-479b-a294-8de7151a1a9d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "04e36cfe-a12a-4f5a-91cc-3574bdf427f4", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f8b537c4-73e2-4df5-a5ee-8aff3cccc3c7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "49e389b3-3570-45dc-b825-050e2805a1b5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4927cc7d-e23c-4c58-91c7-7af793f35f07", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "65bd1790-6d5e-4f3f-ab78-ce5471d58e98", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9ab7ac35-d262-49cb-9994-f5da5f94b342", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "79f04454-2b15-485b-8b19-3d237025d480", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a26ee1d9-5dbf-46f8-a047-00d74b1b628a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5a3f8e5f-cf78-4761-ada6-b910f6fc0b9f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bc218df5-d4d5-4aa0-baaa-4fbf36541315", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b46fa14b-caf4-479d-9205-d3c108bee4e2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "63c98bcc-255f-4efc-9712-e824463fbd2f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b4295e23-f872-4b5f-ac4e-0da6a53e39b8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "245b8d93-3fc9-4ad6-b000-55046061a119", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9e8a07ac-ad93-4a5e-90d8-c0e478e18342", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f4106c25-5ea5-4feb-b40b-072056ff954f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "db4f1861-38ea-4800-92c5-0c03f63f8b2f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ba79090e-1341-4427-9277-e0bc9c303bd5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "44d1289c-9a27-4d11-b903-5cdde4738f20", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8e931218-861c-44c4-8768-b9afd33acffc", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "662e721c-1272-46b4-9863-a0cbae53d78b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9b371ad5-94a8-4cbb-a792-45ac8bdff35d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d0fffcc4-7282-48b0-a476-5afa1ce36829", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "006a7618-8d55-48b3-a37e-7de0a9e70ef7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f762562b-2408-4e17-ba4a-493cdb8e0e3f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0954f798-7318-4612-bad7-cd3f9b181d3a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8f9c317e-74ec-4262-b401-3e2a047d81f3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d1ae69e7-f838-42d1-a207-e50f5b53a788", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "fc5adfc4-0bc4-45c3-8acd-429c56817520", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b8df1f2f-abb8-4af5-bbb0-c80623ab5bd5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6f23ce85-e97e-4a77-bfea-3c0b95c775f4", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f9bb33ad-03e8-400f-a77d-6c92464bdbec", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7b567fc7-5b53-4f94-a88d-24a1286d846c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "fd5c1b07-3fb7-4faa-ba3b-d1c82e6c7ffb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6c66cacf-5914-40dd-b512-c946fdc14424", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b1d872b0-620d-4965-b6e8-aba6ea4d104d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "11cbfa24-c882-473d-95b6-076c3f1fd559", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "15656b3d-1c2e-48e6-b0f1-bf4402890c3e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1acc5ab3-c91c-4095-8713-18299a0b02d2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ae61c169-016b-40dc-9e95-b7dc1fd0b346", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "40542240-2e11-48cf-955c-4527e963be80", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4b2ec2e1-b0e2-41ea-9a33-c473889f526f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "95f09de9-0e7a-49c3-8bbc-f3fb512bc86e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c340fbe2-dc1c-4455-a29f-c698244982f8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7422fc7e-ed66-49a2-a207-30d72c93d0a1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8ad83172-07ee-4726-85b0-fe19b885a169", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "36118c60-cf32-43af-bd56-cfcbe063b244", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "518ee17c-7de1-4775-ad7d-167b2d2a8ad7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6ae60ce7-ae0a-421b-96f7-7954cad9cbfb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "575b968a-f85f-4dd8-bc0c-f00e1d07cd6b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "381c733e-3dba-4ca7-ab05-541dbfc03e04", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8526cbf2-881e-4499-9992-43009425c4ae", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "40713b36-fcfe-4a1a-ad21-9e8b118b91e9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9f2d4e6d-3f38-44f6-b16c-100cfce72797", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "49125797-64a8-4fbe-b2a9-914252f768fe", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f1a91911-8f85-4d68-8243-8466b1e2dce6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f488ad13-8645-4cc4-99d1-b3b72e8723c8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e977ef2d-f54d-4ee7-893b-3873a8eb5dd3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6857550d-8c86-40c1-988a-b48cb70759f2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "af34f522-9a30-48b3-ba70-7600401a871b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c114f74d-6854-43ce-bc70-39ca8e45e86a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "17f2c348-02af-42be-baa3-d227925a1cbc", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b41c8971-bcd3-42ba-b8f8-f685cba0f923", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4a7fd685-04b4-4436-9aed-e692030dfa76", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "dd31fdba-26a2-4ccb-aa62-c43521de953e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4d2ec95d-d00b-44a7-9119-a53b5db1b181", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8d3d8579-4d9f-4442-9141-653287e9418b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0daa891b-8d87-416e-8b26-d44824de5bbd", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3eff86f6-cff5-43a6-9024-be9a9893f867", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8240917a-8fb5-47b5-8b35-64dd30c3b43f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5952c0d9-09c9-4459-a606-515d8a497bd8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6e76f2d5-1b5d-4799-8b41-45faad9d6e11", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9f72f529-b2cb-4830-9ff4-e1c03ec449c2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "df7935c8-d1be-4dcf-a583-60a24636944d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bde680ab-9ae1-4392-b8b5-1187860111e5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "26fc3171-166d-4145-b786-c5a7397a1ade", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7e602220-a242-4d9a-9e1e-1487f7880b41", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2cf69609-5b35-4cd7-8b38-d53378de7ee2", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4d5c056b-5b1b-4fe7-a763-621cb7fa17c7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3555957c-8ac8-4afc-ab54-866d1cac3b1f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "62b17e40-2c0b-4e37-8859-9290d1513ef9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "06e4f4b4-9b0f-4ffc-ab2d-70fb659994b4", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a3f0a66b-1ebe-47dc-8efc-cacfface111d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5eb311a4-19c8-429d-b36e-409fb80e31b0", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "be263698-8ffb-4263-902a-5dea68d18df5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "00424825-4dfe-4afc-a8a8-c5bffdaada00", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2df110bc-9016-4bf6-a622-e4fab70b82ca", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "a2ba4d08-a9a9-4ceb-8dfd-70546b22dda0", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "afbfe990-11a2-4836-94b3-980e11ca1c2a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7d516073-474d-4359-973d-3c454f2e080a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c9ad441e-28a2-47b8-998e-48d48936ed64", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "01842746-1644-436e-a1e5-aa3b59e2b8d6", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c17745c1-7217-4771-aaac-d5bf35072343", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1ffaf155-7ff8-4fe4-9cc2-352f7ec0ef1c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5880c00e-4063-431e-8510-6cdaf5bb1c5d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1780aa95-bd16-4cb9-814e-d3900d4787d7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "30e7db70-fec3-48f1-bf7b-71adf9e8d7f1", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "becb6174-be03-40fa-85c2-4fa3b9308ef5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f308eed4-5954-4047-a18e-9c309d9fdab9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e44d2d64-df79-4a74-b88b-093102e4e799", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b8cae58c-fa89-480e-8c51-88115619bf8e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7bf9a41d-d9e5-4321-b6a0-b77cc85fddc0", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "176d224c-1e70-4ef8-ab96-ea63cfa63888", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9ea35e5e-27ac-4925-9961-fffebe01e5e9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cc95fef9-2681-4489-bc6c-1c5d494b29a8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4eb20891-5ee7-49fe-aa32-52201434772c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6c11e561-ec37-4fb9-8661-a402d5268091", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "6d2d1bda-e128-497e-8569-1e004c556b38", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "09cce819-9467-4dd8-b91a-ef6b450c4b33", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bcdae4a6-ae9b-4f2a-ad95-b4cfa3ad2a7c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "32e070e3-574d-4676-add4-359dd4c64ae7", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ea993f83-3268-4dc6-8612-cd9a3ccfc475", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "bad6ed96-930c-47a9-b851-d527af7136e3", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ea6245c2-e8ee-4185-ae2f-0389a5bae598", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9eb02069-4c56-4065-83ac-01eaf5fb9b68", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "cd7ee2a1-6c69-4714-8306-a347a4f28616", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f2edefd2-c29c-470d-8879-3d480a6c55f9", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e9bd1cf1-b0e6-4b05-9d85-afe6659d001d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "383bb59e-9082-494a-91b2-804a72830475", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "7149194f-3bc9-4aa2-8407-e89bad2dd77b", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b64bdbba-d2e8-4ec7-a17e-6ca9d872c77e", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "f0b940a1-de2c-461e-a40d-7a5b0c11ca40", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "04e94fd5-49df-4149-9da5-ff9c86a2e494", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5675b050-9c66-4c34-803f-3e6e0ea0af3f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d889a2da-2b28-4553-9045-fe9c958b4616", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4d7b8243-f099-4eab-a5a4-1e6c359f999d", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "462d6d7c-8c83-4e91-b851-4ebe7f04ed4a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d7bbc88d-ea41-483f-940a-332989f6dd75", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2ff31790-2e31-4056-ade6-a40b3333efbe", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "e4e33817-0d2c-4e42-8d10-17cba4b3c1d8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "aa24229f-3be5-495b-9989-d9e793056993", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9b34f6ca-9952-4fbd-b55b-e06e44094463", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "eb21d839-7f51-4781-bf46-886fc6d82a11", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "0bb11e93-d9c6-411e-a614-e38252775d75", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "2320aa06-7d82-46ec-ad6d-a1c9fd280cde", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "1f650fa2-e91a-4cde-8ff5-ad2738f0d3cc", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b692d3f7-0e85-4e18-9373-214300cc0293", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "c9a2b54f-1316-4463-8f0b-9061bb4b51cd", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "87e595d8-7285-4067-a73f-e80944ffae3c", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "38cef0ea-3ef8-45cd-aadc-5e8e64319cf0", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "29b8c167-5542-47bd-85a8-926645d7846a", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "312522d0-f218-4304-8376-d6f1feeb7553", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "ca1ca1f1-f0ab-4224-8422-d5345ccab557", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "124dc699-f389-4462-9c29-41a091d5cc04", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "abb46e44-0aba-4814-a7f4-b9b62fb5f6ad", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8f4e5133-7aa0-468d-b13c-6fa23cdaf407", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "d8e59dbd-2add-4514-ae3e-9fac8ae902f5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "4fa725fa-23c0-4b9b-9c0d-92b82aa75919", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "da84551f-0859-46fd-aaa2-4797cd373991", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b63d119a-2496-4d92-9bab-e67e85914708", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "274e4b04-3174-46f1-bba5-004bb1ed2cc5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "86d25b68-ffb0-4fd4-bf48-10f6c3c184a5", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "8bea9251-da22-4f68-91a4-1e60c4af956f", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "487e2d7f-320d-4d75-9d34-3a0fb791c553", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "31ad52e7-70e8-4e3e-9cd7-0d8d8b1b4331", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "3fed1e54-3bf7-46fc-829a-f538a092d774", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "5e31c504-cb51-459e-a939-d49bc83d5d44", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "9e7ac38d-b196-4e80-a59c-0d630d725745", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "93e242a1-3d4b-491b-9d5f-02e038e212cb", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "709da3b4-e8a0-431d-b082-8530ffae33f8", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "b8a56d3f-9910-44a0-a9c0-bb7d51705792", - "destination_type": "file" - }, - { - "source_id": "12ea2953-06a4-4e80-8910-a27aba936b9c", - "source_type": "library_preparation_process", - "destination_id": "81b97ec1-f68c-4d69-be78-50d1aad7bbef", - "destination_type": "protocol" - }, - { - "source_id": "511d4724-0b88-418d-bd22-5d6f986d6053", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "cf1f4b91-6f95-4b9b-9c71-419bf149ea8e", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "55331b4f-456b-406d-a9c5-a8607aac450f", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "39d16a4b-d0f5-457e-8f1c-19dc0903dd09", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "0f256ebf-f049-4d37-b175-7cb881748469", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "9eb0db90-5f70-4c03-b1c3-4709ddbfd9cb", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "866c75ad-acd4-4c6a-a234-c456393ee5f1", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "1b9de729-00b5-493e-a801-0f4d35c7f060", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "29fa4290-89db-46c6-a154-444c73fcc644", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "77b0da1a-1855-4f5f-a299-e5f28d881bdb", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "beabff64-fd1b-4817-995e-b37403f2aea4", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "09424c38-f1b1-4abf-9d97-fffd5ba3ad4f", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "18791d9e-c0ae-4cb4-a9e6-b4ea4618f6d7", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "1339c497-c686-4d8d-ae51-6b30cb3dd11e", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "8ec8f2f9-77b5-4fd7-a85b-38643009089c", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "939b4152-d4b6-4374-9775-9f53eb16ad0f", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "e45b8254-e077-4ac9-a8e6-1627eb42d5b4", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "37c79043-da4d-4745-91c4-9785d1d03a82", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "b0842f1d-b081-4ed5-ad1a-30b34015b62d", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "c7520e50-f9bc-4626-a117-a78f394fc203", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "b508258e-74d6-4c7e-adc2-ddda36ebfad7", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "550a7b77-96d1-41f1-99aa-66bc1e94d23e", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "48496fe2-090e-4253-ae04-3f3b0b520585", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "7d72b943-9bbc-479c-af24-40b5f5c2fdb4", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "fc8be628-9c61-47c8-91b5-2b1ae427cf89", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "5bd60c24-d76e-4fd6-bb82-115273cee157", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "0ebe30dd-102f-44ce-9a0b-82481c2956a5", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "5680b7ac-d329-476b-85e6-05c39d3fb028", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "ba805a63-d347-4ac8-ad35-96f518204cc7", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "0a811a33-4de1-4d96-9cf0-1ec315112ffe", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "c8a2fff6-4d1a-412b-a0a0-96e4fdd4af7c", - "source_type": "biomaterial", - "destination_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "destination_type": "sequencing_process" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "39351ee0-89c3-499d-a820-5bece48704d5", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "2a6cf1cd-1599-44ef-86e5-511a18e23262", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "b5110ae6-55e1-4fe8-bae2-9696e679057b", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "6517b6c3-3fab-45e9-a494-ae81ccc500f0", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "8162a395-0409-45c3-8652-918983bb1da0", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "719f581d-3481-4fe5-a3c5-2eb9054d07ec", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "656fa889-f831-4a3a-84cf-0a1f5e148f5e", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "687c63b3-2eb3-4aac-ab54-aa5d02128f1c", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "7ded5e63-c50e-4854-9be7-1cb206fa3d7f", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "c000533a-432f-4733-bc22-16e4bb89382b", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "bd256dda-501a-4287-8e44-79fa7dcc43c6", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "ed89b525-725a-4e6d-aee9-3b36e78803a8", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "4c9af689-d89d-4312-a12b-deeb03c2fdca", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "bfdeb7e3-f242-48ae-9222-6428b5168ccd", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "8ad4c436-01a2-4d07-8b09-33e86a1d759a", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "ec15bc6b-2b71-4f78-ac5d-892b639a7fb6", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "6f042830-9bc8-4dd5-97a3-505f2db57d79", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "5483a55b-cd36-4477-adcf-37172a856bfc", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "0428ddc2-ea8a-4c79-b994-60990a869c77", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "33be88bb-3b38-4076-b9e1-1d73b48954b8", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "139d2d79-11a0-4092-babd-2b27a6b42027", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "022d172e-1e82-418c-a821-133de6a9efe2", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "fc6e45ac-5ba8-4a55-9901-3fa5ea480d28", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "09d8668c-bf1a-4ee5-9f9d-c5c17dc97509", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "f1a89f64-9e0b-479b-a294-8de7151a1a9d", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "04e36cfe-a12a-4f5a-91cc-3574bdf427f4", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "f8b537c4-73e2-4df5-a5ee-8aff3cccc3c7", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "49e389b3-3570-45dc-b825-050e2805a1b5", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "4927cc7d-e23c-4c58-91c7-7af793f35f07", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "65bd1790-6d5e-4f3f-ab78-ce5471d58e98", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "9ab7ac35-d262-49cb-9994-f5da5f94b342", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "79f04454-2b15-485b-8b19-3d237025d480", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "a26ee1d9-5dbf-46f8-a047-00d74b1b628a", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "5a3f8e5f-cf78-4761-ada6-b910f6fc0b9f", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "bc218df5-d4d5-4aa0-baaa-4fbf36541315", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "b46fa14b-caf4-479d-9205-d3c108bee4e2", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "63c98bcc-255f-4efc-9712-e824463fbd2f", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "b4295e23-f872-4b5f-ac4e-0da6a53e39b8", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "245b8d93-3fc9-4ad6-b000-55046061a119", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "9e8a07ac-ad93-4a5e-90d8-c0e478e18342", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "f4106c25-5ea5-4feb-b40b-072056ff954f", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "db4f1861-38ea-4800-92c5-0c03f63f8b2f", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "ba79090e-1341-4427-9277-e0bc9c303bd5", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "44d1289c-9a27-4d11-b903-5cdde4738f20", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "8e931218-861c-44c4-8768-b9afd33acffc", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "662e721c-1272-46b4-9863-a0cbae53d78b", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "9b371ad5-94a8-4cbb-a792-45ac8bdff35d", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "d0fffcc4-7282-48b0-a476-5afa1ce36829", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "006a7618-8d55-48b3-a37e-7de0a9e70ef7", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "f762562b-2408-4e17-ba4a-493cdb8e0e3f", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "0954f798-7318-4612-bad7-cd3f9b181d3a", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "8f9c317e-74ec-4262-b401-3e2a047d81f3", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "d1ae69e7-f838-42d1-a207-e50f5b53a788", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "fc5adfc4-0bc4-45c3-8acd-429c56817520", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "b8df1f2f-abb8-4af5-bbb0-c80623ab5bd5", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "6f23ce85-e97e-4a77-bfea-3c0b95c775f4", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "f9bb33ad-03e8-400f-a77d-6c92464bdbec", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "7b567fc7-5b53-4f94-a88d-24a1286d846c", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "fd5c1b07-3fb7-4faa-ba3b-d1c82e6c7ffb", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "6c66cacf-5914-40dd-b512-c946fdc14424", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "b1d872b0-620d-4965-b6e8-aba6ea4d104d", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "11cbfa24-c882-473d-95b6-076c3f1fd559", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "15656b3d-1c2e-48e6-b0f1-bf4402890c3e", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "1acc5ab3-c91c-4095-8713-18299a0b02d2", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "ae61c169-016b-40dc-9e95-b7dc1fd0b346", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "40542240-2e11-48cf-955c-4527e963be80", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "4b2ec2e1-b0e2-41ea-9a33-c473889f526f", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "95f09de9-0e7a-49c3-8bbc-f3fb512bc86e", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "c340fbe2-dc1c-4455-a29f-c698244982f8", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "7422fc7e-ed66-49a2-a207-30d72c93d0a1", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "8ad83172-07ee-4726-85b0-fe19b885a169", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "36118c60-cf32-43af-bd56-cfcbe063b244", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "518ee17c-7de1-4775-ad7d-167b2d2a8ad7", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "6ae60ce7-ae0a-421b-96f7-7954cad9cbfb", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "575b968a-f85f-4dd8-bc0c-f00e1d07cd6b", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "381c733e-3dba-4ca7-ab05-541dbfc03e04", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "8526cbf2-881e-4499-9992-43009425c4ae", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "40713b36-fcfe-4a1a-ad21-9e8b118b91e9", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "9f2d4e6d-3f38-44f6-b16c-100cfce72797", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "49125797-64a8-4fbe-b2a9-914252f768fe", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "f1a91911-8f85-4d68-8243-8466b1e2dce6", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "f488ad13-8645-4cc4-99d1-b3b72e8723c8", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "e977ef2d-f54d-4ee7-893b-3873a8eb5dd3", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "6857550d-8c86-40c1-988a-b48cb70759f2", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "af34f522-9a30-48b3-ba70-7600401a871b", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "c114f74d-6854-43ce-bc70-39ca8e45e86a", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "17f2c348-02af-42be-baa3-d227925a1cbc", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "b41c8971-bcd3-42ba-b8f8-f685cba0f923", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "4a7fd685-04b4-4436-9aed-e692030dfa76", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "dd31fdba-26a2-4ccb-aa62-c43521de953e", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "4d2ec95d-d00b-44a7-9119-a53b5db1b181", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "8d3d8579-4d9f-4442-9141-653287e9418b", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "0daa891b-8d87-416e-8b26-d44824de5bbd", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "3eff86f6-cff5-43a6-9024-be9a9893f867", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "8240917a-8fb5-47b5-8b35-64dd30c3b43f", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "5952c0d9-09c9-4459-a606-515d8a497bd8", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "6e76f2d5-1b5d-4799-8b41-45faad9d6e11", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "9f72f529-b2cb-4830-9ff4-e1c03ec449c2", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "df7935c8-d1be-4dcf-a583-60a24636944d", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "bde680ab-9ae1-4392-b8b5-1187860111e5", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "26fc3171-166d-4145-b786-c5a7397a1ade", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "7e602220-a242-4d9a-9e1e-1487f7880b41", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "2cf69609-5b35-4cd7-8b38-d53378de7ee2", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "4d5c056b-5b1b-4fe7-a763-621cb7fa17c7", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "3555957c-8ac8-4afc-ab54-866d1cac3b1f", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "62b17e40-2c0b-4e37-8859-9290d1513ef9", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "06e4f4b4-9b0f-4ffc-ab2d-70fb659994b4", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "a3f0a66b-1ebe-47dc-8efc-cacfface111d", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "5eb311a4-19c8-429d-b36e-409fb80e31b0", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "be263698-8ffb-4263-902a-5dea68d18df5", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "00424825-4dfe-4afc-a8a8-c5bffdaada00", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "2df110bc-9016-4bf6-a622-e4fab70b82ca", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "a2ba4d08-a9a9-4ceb-8dfd-70546b22dda0", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "afbfe990-11a2-4836-94b3-980e11ca1c2a", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "7d516073-474d-4359-973d-3c454f2e080a", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "c9ad441e-28a2-47b8-998e-48d48936ed64", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "01842746-1644-436e-a1e5-aa3b59e2b8d6", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "c17745c1-7217-4771-aaac-d5bf35072343", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "1ffaf155-7ff8-4fe4-9cc2-352f7ec0ef1c", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "5880c00e-4063-431e-8510-6cdaf5bb1c5d", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "1780aa95-bd16-4cb9-814e-d3900d4787d7", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "30e7db70-fec3-48f1-bf7b-71adf9e8d7f1", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "becb6174-be03-40fa-85c2-4fa3b9308ef5", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "f308eed4-5954-4047-a18e-9c309d9fdab9", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "e44d2d64-df79-4a74-b88b-093102e4e799", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "b8cae58c-fa89-480e-8c51-88115619bf8e", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "7bf9a41d-d9e5-4321-b6a0-b77cc85fddc0", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "176d224c-1e70-4ef8-ab96-ea63cfa63888", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "9ea35e5e-27ac-4925-9961-fffebe01e5e9", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "cc95fef9-2681-4489-bc6c-1c5d494b29a8", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "4eb20891-5ee7-49fe-aa32-52201434772c", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "6c11e561-ec37-4fb9-8661-a402d5268091", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "6d2d1bda-e128-497e-8569-1e004c556b38", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "09cce819-9467-4dd8-b91a-ef6b450c4b33", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "bcdae4a6-ae9b-4f2a-ad95-b4cfa3ad2a7c", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "32e070e3-574d-4676-add4-359dd4c64ae7", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "ea993f83-3268-4dc6-8612-cd9a3ccfc475", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "bad6ed96-930c-47a9-b851-d527af7136e3", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "ea6245c2-e8ee-4185-ae2f-0389a5bae598", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "9eb02069-4c56-4065-83ac-01eaf5fb9b68", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "cd7ee2a1-6c69-4714-8306-a347a4f28616", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "f2edefd2-c29c-470d-8879-3d480a6c55f9", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "e9bd1cf1-b0e6-4b05-9d85-afe6659d001d", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "383bb59e-9082-494a-91b2-804a72830475", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "7149194f-3bc9-4aa2-8407-e89bad2dd77b", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "b64bdbba-d2e8-4ec7-a17e-6ca9d872c77e", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "f0b940a1-de2c-461e-a40d-7a5b0c11ca40", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "04e94fd5-49df-4149-9da5-ff9c86a2e494", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "5675b050-9c66-4c34-803f-3e6e0ea0af3f", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "d889a2da-2b28-4553-9045-fe9c958b4616", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "4d7b8243-f099-4eab-a5a4-1e6c359f999d", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "462d6d7c-8c83-4e91-b851-4ebe7f04ed4a", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "d7bbc88d-ea41-483f-940a-332989f6dd75", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "2ff31790-2e31-4056-ade6-a40b3333efbe", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "e4e33817-0d2c-4e42-8d10-17cba4b3c1d8", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "aa24229f-3be5-495b-9989-d9e793056993", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "9b34f6ca-9952-4fbd-b55b-e06e44094463", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "eb21d839-7f51-4781-bf46-886fc6d82a11", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "0bb11e93-d9c6-411e-a614-e38252775d75", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "2320aa06-7d82-46ec-ad6d-a1c9fd280cde", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "1f650fa2-e91a-4cde-8ff5-ad2738f0d3cc", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "b692d3f7-0e85-4e18-9373-214300cc0293", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "c9a2b54f-1316-4463-8f0b-9061bb4b51cd", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "87e595d8-7285-4067-a73f-e80944ffae3c", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "38cef0ea-3ef8-45cd-aadc-5e8e64319cf0", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "29b8c167-5542-47bd-85a8-926645d7846a", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "312522d0-f218-4304-8376-d6f1feeb7553", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "ca1ca1f1-f0ab-4224-8422-d5345ccab557", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "124dc699-f389-4462-9c29-41a091d5cc04", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "abb46e44-0aba-4814-a7f4-b9b62fb5f6ad", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "8f4e5133-7aa0-468d-b13c-6fa23cdaf407", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "d8e59dbd-2add-4514-ae3e-9fac8ae902f5", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "4fa725fa-23c0-4b9b-9c0d-92b82aa75919", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "da84551f-0859-46fd-aaa2-4797cd373991", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "b63d119a-2496-4d92-9bab-e67e85914708", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "274e4b04-3174-46f1-bba5-004bb1ed2cc5", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "86d25b68-ffb0-4fd4-bf48-10f6c3c184a5", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "8bea9251-da22-4f68-91a4-1e60c4af956f", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "487e2d7f-320d-4d75-9d34-3a0fb791c553", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "31ad52e7-70e8-4e3e-9cd7-0d8d8b1b4331", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "3fed1e54-3bf7-46fc-829a-f538a092d774", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "5e31c504-cb51-459e-a939-d49bc83d5d44", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "9e7ac38d-b196-4e80-a59c-0d630d725745", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "93e242a1-3d4b-491b-9d5f-02e038e212cb", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "709da3b4-e8a0-431d-b082-8530ffae33f8", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "b8a56d3f-9910-44a0-a9c0-bb7d51705792", - "destination_type": "file" - }, - { - "source_id": "f179fd50-5552-4277-9933-4f37fe0fd8e1", - "source_type": "sequencing_process", - "destination_id": "e99eed63-5794-4d8d-baf9-9c6888e91e6d", - "destination_type": "protocol" - } - ], - "describedBy": "https://schema.humancellatlas.org/bundle/1.0.0/links", - "schema_version": "1.0.0", - "schema_type": "link_bundle" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/cfab8304-dc9f-439e-af29-f8eb75b0729d.dss.hca.json b/test/indexer/data/cfab8304-dc9f-439e-af29-f8eb75b0729d.dss.hca.json deleted file mode 100644 index 488d1aac7c..0000000000 --- a/test/indexer/data/cfab8304-dc9f-439e-af29-f8eb75b0729d.dss.hca.json +++ /dev/null @@ -1,589 +0,0 @@ -{ - "manifest": { - "sequence_file/3f193e72-8efe-4c2a-ace1-79140ca36477": { - - "content-type": "application/gzip; dcp-type=data", - "crc32c": "64e45095", - "indexed": false, - "name": "BoneMarrow_CD34_2_IGO_07861_2_S2_L001_R1_001.fastq.gz", - "s3_etag": "0079490037e041fb9d932ad860b8b254-41", - "sha1": "dc8b8fccf633bf32c9cda8e5d0cab404ee73b6df", - "sha256": "8dc8186925bf0b0476978e65e5b25fe60a1ebaa6e0d5dd4f0213f66721c0af21", - "size": 2700756088, - "uuid": "d879f732-d8d4-4251-a2ca-a91a852a034b", - "version": "2019-07-18T21:29:49.534039Z" - }, - "sequence_file/078b71eb-220a-43e5-a0fc-4f231e90f85f": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "7046ca69", - "indexed": false, - "name": "BoneMarrow_CD34_2_IGO_07861_2_S2_L001_R2_001.fastq.gz", - "s3_etag": "be07c9a9be1718f2328f9264a75baac2-143", - "sha1": "83fa93f975ac3515231196f513ea901a57fbbc07", - "sha256": "90d5bd195dbcdfb54a6b4eb42f4c3fce68ba235b53a0476526448d0867d18e5e", - "size": 9569751310, - "uuid": "1e14d503-31b1-4db6-82ba-f8d83bd85b9b", - "version": "2019-07-18T21:29:49.697974Z" - } - }, - "metadata": { - "cell_suspension/13eab62e-0038-4997-aeab-aa3192cc090e": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.1.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HS_BM_P3_cells_2", - "biomaterial_name": "CD34+ sorted cells from human bone marrow", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_morphology": "Cells in suspension are generally spherical in shape", - "percent_cell_viability": 97.0, - "cell_viability_method": "Countess II trypan blue assay", - "cell_viability_result": "pass" - }, - "growth_conditions": { - "passage_number": 0, - "growth_medium": "IMDM+10%FBS" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "selected_cell_types": [ - { - "ontology_label": "CD34-positive, CD38-negative hematopoietic stem cell", - "text": "CD34-positive, CD38-negative hematopoietic stem cell", - "ontology": "CL:0001024" - } - ], - "estimated_cell_count": 125000, - "provenance": { - "document_id": "13eab62e-0038-4997-aeab-aa3192cc090e", - "submission_date": "2019-07-18T21:12:39.819Z", - "update_date": "2019-07-18T21:12:44.344Z" - } - }, - "cell_line/4ccd163e-a630-4ede-bc0c-336ba044b783": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/14.3.1/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HS_BM_3_cell_line", - "biomaterial_name": "Bone Marrow CD34+ stem/progenitor cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "supplier": "AllCells, LLC", - "catalog_number": "ABM022F", - "catalog_url": "https://www.allcells.com/products/bone-marrow-cd34-stem-progenitor-cells", - "type": "stem cell", - "cell_type": { - "ontology_label": "CD34-positive, CD38-negative hematopoietic stem cell", - "text": "CD34-positive, CD38-negative hematopoietic stem cell", - "ontology": "CL:0001024" - }, - "date_established": "2017-06-22", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_organ": { - "text": "hematopoietic tissue", - "ontology": "UBERON:0002390", - "ontology_label": "hematopoietic system" - }, - "provenance": { - "document_id": "4ccd163e-a630-4ede-bc0c-336ba044b783", - "submission_date": "2019-07-18T21:12:39.776Z", - "update_date": "2019-07-18T21:12:44.526Z" - } - }, - "specimen_from_organism/92254a9e-3a14-4760-b229-d914f3e8973f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.2.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HS_BM_3_specimen", - "biomaterial_name": "bone marrow specimen", - "biomaterial_description": "Female 19 YO bone marrow specimen", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "ontology_label": "hematopoietic system", - "text": "hematopoietic tissue", - "ontology": "UBERON:0002390" - }, - "organ_parts": [ - { - "text": "bone marrow", - "ontology": "UBERON:0002371" - } - ], - "preservation_storage": { - "storage_method": "frozen in liquid nitrogen", - "preservation_method": "cryopreservation of live cells in liquid nitrogen" - }, - "collection_time": "2017-06-22T00:00:00Z", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "92254a9e-3a14-4760-b229-d914f3e8973f", - "submission_date": "2019-07-18T21:12:39.756Z", - "update_date": "2019-07-18T21:12:44.655Z" - } - }, - "donor_organism/39d1a24f-1785-476d-9c04-065be917e3ff": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.3.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HS_BM_3", - "biomaterial_name": "BM_donor_3", - "biomaterial_description": "AllCells Female 19 YO Bone Marrow Donor", - "ncbi_taxon_id": [ - 9606 - ] - }, - "human_specific": { - "ethnicity": [ - { - "text": "European", - "ontology_label": "European", - "ontology": "HANCESTRO:0005" - } - ] - }, - "medical_history": { - "medication": "None", - "smoking_history": "No", - "test_results": "HIV, HBV, HCV: Negative" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organism_age": "19", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "development_stage": { - "text": "adult", - "ontology_label": "human adult stage", - "ontology": "HsapDv:0000087" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "height": "1.62", - "height_unit": { - "text": "meter", - "ontology": "UO:0000008" - }, - "is_living": "yes", - "sex": "female", - "weight": "61.7", - "weight_unit": { - "text": "kilogram", - "ontology": "UO:0000009" - }, - "provenance": { - "document_id": "39d1a24f-1785-476d-9c04-065be917e3ff", - "submission_date": "2019-07-18T21:12:39.737Z", - "update_date": "2019-07-18T21:12:44.591Z" - } - }, - "sequence_file/3f193e72-8efe-4c2a-ace1-79140ca36477": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.1.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "BoneMarrow_CD34_2_IGO_07861_2_S2_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "checksum": "4045d9611e200e9d387fd8fcf07cf56f" - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 26, - "library_prep_id": "lib_prep_7", - "provenance": { - "document_id": "3f193e72-8efe-4c2a-ace1-79140ca36477", - "submission_date": "2019-07-18T21:12:40.045Z", - "update_date": "2019-07-18T21:22:48.292Z" - } - }, - "sequence_file/078b71eb-220a-43e5-a0fc-4f231e90f85f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.1.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "BoneMarrow_CD34_2_IGO_07861_2_S2_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "checksum": "6f77234a0d49093b45c3b974ec0d9790" - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 98, - "library_prep_id": "lib_prep_7", - "provenance": { - "document_id": "078b71eb-220a-43e5-a0fc-4f231e90f85f", - "submission_date": "2019-07-18T21:12:40.053Z", - "update_date": "2019-07-18T21:25:28.971Z" - } - }, - "project/091cf39b-01bc-42e5-9437-f419a66c8a45": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.0.2/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Human Hematopoietic Profiling", - "project_title": "Profiling of CD34+ cells from human bone marrow to understand hematopoiesis", - "project_description": "Differentiation is among the most fundamental processes in cell biology. Single cell RNA-seq studies have demonstrated that differentiation is a continuous process and in particular cell states are observed to reside on largely continuous spaces. We have developed Palantir, a graph based algorithm to model continuities in cell state transitions and cell fate choices. Modeling differentiation as a Markov chain, Palantir determines probabilities of reaching terminal states from cells in each intermediate state. The entropy of these probabilities represent the differentiation potential of the cell in the corresponding state. Applied to single cell RNA-seq dataset of CD34+ hematopoietic cells from human bone marrows, Palantir accurately identified key events leading up to cell fate commitment. Integration with ATAC-seq data from bulk sorted populations helped identify key regulators that correlate with cell fate specification and commitment." - }, - "publications": [ - { - "authors": [ - "Setty Manu", - "Kieseliovas Vaidotas", - "Levine Jacob", - "Gayoso Adam", - "Mazutis Linas", - "Pe'er Dana" - ], - "title": "Palantir characterizes cell fate continuities in human hematopoiesis", - "doi": "10.1101/385328", - "url": "https://www.biorxiv.org/content/biorxiv/early/2018/08/05/385328.full.pdf" - } - ], - "funders": [ - { - "grant_id": "DP1-HD084071", - "organization": "National Institutes of Health" - }, - { - "grant_id": "NIH R01CA164729", - "organization": "National Institutes of Health" - }, - { - "grant_id": "P30 CA008748", - "organization": "Gerry Center for Metastasis and Tumor Ecosystems" - } - ], - "contributors": [ - { - "name": "Manu,, Setty", - "email": "manu.talanki@gmail.com", - "phone": "9175451407", - "institution": "Sloan Kettering Institute", - "laboratory": "Pe'er", - "address": "Memorial Sloan Kettering Cancer Center, 1275 York Avenue, New York, NY 10065", - "country": "USA", - "corresponding_contributor": true - }, - { - "name": "Vaidotas,, Kiseliovas", - "email": "vaidotaskiseliovas@yahoo.com", - "phone": "6463480473", - "institution": "Sloan Kettering Institute", - "laboratory": "Pe'er", - "address": "Memorial Sloan Kettering Cancer Center, 1275 York Avenue, New York, NY 10065", - "country": "USA" - }, - { - "name": "Dana,, Pe'er", - "email": "peerster@gmail.com", - "phone": "646-888-2619", - "institution": "Sloan Kettering Institute", - "laboratory": "Pe'er", - "address": "Memorial Sloan Kettering Cancer Center, 1275 York Avenue, New York, NY 10065", - "country": "USA", - "project_role": { - "ontology": "EFO:0009736", - "ontology_label": "principal investigator", - "text": "principal investigator" - }, - "corresponding_contributor": true - }, - { - "name": "Parisa,, Nejad", - "email": "pnejad@ucsc.edu", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "project_role": { - "ontology": "EFO:0009737", - "ontology_label": "data curator", - "text": "Human Cell Atlas wrangler" - }, - "corresponding_contributor": false - } - ], - "provenance": { - "document_id": "091cf39b-01bc-42e5-9437-f419a66c8a45", - "submission_date": "2019-07-18T21:12:39.717Z", - "update_date": "2019-07-18T21:12:44.350Z" - } - }, - "library_preparation_protocol/dc19bb22-ae7b-431b-9b8b-7b49799a8fcd": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.1.1/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HS_BM_P1_LibPrep1", - "protocol_name": "10X Chromium Single Cell 3' Solution v2 Chemistry", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevD.pdf" - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16, - "white_list_file": "737K-august-2016.txt" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "mRNA", - "ontology": "CHEBI:33699" - }, - "library_construction_method": { - "text": "10X v2 sequencing", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "library_construction_kit": { - "retail_name": "10X Chromium Single Cell 3' Solution v2 Chemistry", - "catalog_number": "120237", - "manufacturer": "10X Genomics", - "lot_number": "151634", - "expiry_date": "2018-07-13" - }, - "nucleic_acid_conversion_kit": { - "retail_name": "10X Chromium Single Cell 3' Solution v2 Chemistry", - "catalog_number": "151634", - "manufacturer": "10X Genomics", - "lot_number": "151634", - "expiry_date": "2018-07-13" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "first", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 16, - "barcode_length": 10 - }, - "provenance": { - "document_id": "dc19bb22-ae7b-431b-9b8b-7b49799a8fcd", - "submission_date": "2019-07-18T21:12:39.848Z", - "update_date": "2019-07-18T21:12:44.269Z" - } - }, - "sequencing_protocol/461851b8-55a5-4ae6-a52a-5bca71a00beb": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HS_BM_P1_Seq1", - "protocol_name": "10X Chromium Single Cell 3' Solution v2 Chemistry", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevD.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565" - }, - "paired_end": false, - "method": { - "text": "tag-based single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "provenance": { - "document_id": "461851b8-55a5-4ae6-a52a-5bca71a00beb", - "submission_date": "2019-07-18T21:12:39.854Z", - "update_date": "2019-07-18T21:12:44.253Z" - } - }, - "collection_protocol/79f7c6ac-ada8-4c17-86ec-e73e87b94374": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.1.1/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "collection_protocol", - "protocol_name": "bone marrow aspiration", - "protocol_description": "AllCells, LLC Bone Marrow Aspiration Protocol" - }, - "method": { - "text": "bone marrow aspiration", - "ontology": "EFO:0009292" - }, - "provenance": { - "document_id": "79f7c6ac-ada8-4c17-86ec-e73e87b94374", - "submission_date": "2019-07-18T21:12:39.836Z", - "update_date": "2019-07-18T21:12:44.265Z" - } - }, - "enrichment_protocol/5d9fc5a2-5516-4205-9d6e-8d0d674f146f": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.0.1/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HS_BM_Enrichment_Protocol", - "protocol_name": "Enrichment for CD34+ CD38- cells", - "protocol_description": "FACS sorting for CD34+ CD38- cells" - }, - "method": { - "ontology_label": "fluorescence-activated cell sorting", - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "markers": "CD34+ CD38-", - "provenance": { - "document_id": "5d9fc5a2-5516-4205-9d6e-8d0d674f146f", - "submission_date": "2019-07-18T21:12:39.843Z", - "update_date": "2019-07-18T21:12:44.344Z" - } - }, - "process/f59c9106-16a8-47f8-b681-490d23ee09de": { - "start_time": "2017-08-08T00:00:00Z", - "process_core": { - "operators": [ - "Vaidotas Kiseliovas" - ], - "location": "Memorial Sloan Kettering Cancer Center", - "process_id": "lib_prep_7" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.1.1/process", - "provenance": { - "document_id": "f59c9106-16a8-47f8-b681-490d23ee09de", - "submission_date": "2019-07-18T21:12:40.246Z", - "update_date": "2019-07-18T21:12:44.356Z" - } - }, - "process/a03f7164-419b-4792-9a52-e6dda08b85bc": { - "process_core": { - "process_id": "process_id_10" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.1.1/process", - "provenance": { - "document_id": "a03f7164-419b-4792-9a52-e6dda08b85bc", - "submission_date": "2019-07-18T21:12:40.185Z", - "update_date": "2019-07-18T21:12:44.410Z" - } - }, - "process/57d2c83d-cd8b-44c9-9644-c3475a44b0a7": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.1.1/process", - "provenance": { - "document_id": "57d2c83d-cd8b-44c9-9644-c3475a44b0a7", - "submission_date": "2019-07-18T21:12:40.134Z", - "update_date": "2019-07-18T21:12:44.498Z" - } - }, - "process/8b1f44be-7eaa-4030-b6c5-697c5fc388eb": { - "process_core": { - "location": "AllCells, LLC", - "process_id": "HS_BM_P3_Run1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.1.1/process", - "provenance": { - "document_id": "8b1f44be-7eaa-4030-b6c5-697c5fc388eb", - "submission_date": "2019-07-18T21:12:40.114Z", - "update_date": "2019-07-18T21:12:44.455Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.5/links", - "schema_type": "link_bundle", - "schema_version": "1.1.5", - "links": [ - { - "process": "f59c9106-16a8-47f8-b681-490d23ee09de", - "inputs": [ - "13eab62e-0038-4997-aeab-aa3192cc090e" - ], - "input_type": "biomaterial", - "outputs": [ - "3f193e72-8efe-4c2a-ace1-79140ca36477", - "078b71eb-220a-43e5-a0fc-4f231e90f85f" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "dc19bb22-ae7b-431b-9b8b-7b49799a8fcd" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "461851b8-55a5-4ae6-a52a-5bca71a00beb" - } - ] - }, - { - "process": "a03f7164-419b-4792-9a52-e6dda08b85bc", - "inputs": [ - "4ccd163e-a630-4ede-bc0c-336ba044b783" - ], - "input_type": "biomaterial", - "outputs": [ - "13eab62e-0038-4997-aeab-aa3192cc090e" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "57d2c83d-cd8b-44c9-9644-c3475a44b0a7", - "inputs": [ - "92254a9e-3a14-4760-b229-d914f3e8973f" - ], - "input_type": "biomaterial", - "outputs": [ - "4ccd163e-a630-4ede-bc0c-336ba044b783" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "8b1f44be-7eaa-4030-b6c5-697c5fc388eb", - "inputs": [ - "39d1a24f-1785-476d-9c04-065be917e3ff" - ], - "input_type": "biomaterial", - "outputs": [ - "92254a9e-3a14-4760-b229-d914f3e8973f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "79f7c6ac-ada8-4c17-86ec-e73e87b94374" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "5d9fc5a2-5516-4205-9d6e-8d0d674f146f" - } - ] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/d0e17014-9a58-4763-9e66-59894efbdaa8.dss.hca.json b/test/indexer/data/d0e17014-9a58-4763-9e66-59894efbdaa8.dss.hca.json deleted file mode 100644 index 2b76510962..0000000000 --- a/test/indexer/data/d0e17014-9a58-4763-9e66-59894efbdaa8.dss.hca.json +++ /dev/null @@ -1,33066 +0,0 @@ -{ - "manifest": { - "sequence_file/042dce4a-003b-492b-9371-e1897f52d8d9": { - - "content-type": "application/gzip; dcp-type=data", - "crc32c": "db304acb", - "indexed": false, - "name": "AB2314.R1.fastq.gz", - "s3_etag": "bca254471bc0ea270f24cc70fc6187ee-10", - "sha1": "66b8c66ee84f36565a2ed90ad340e7999d346728", - "sha256": "e505fdf5ca2d49acd23e00eb44336cc2978499b332259f0472b2ea9b440125c6", - "size": 648684738, - "uuid": "3cf85a5a-2776-4c51-b149-1442de3d0b9b", - "version": "2018-10-03T14:41:36.375652Z" - }, - "sequence_file/80036f72-7fde-46e9-821b-17dbbe0509bb": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "568bb5fb", - "indexed": false, - "name": "AB2314.R2.fastq.gz", - "s3_etag": "25fc2246e651b268ba53cb2e7746ad03-4", - "sha1": "65143880b1fc8ec4483440a6009d1fa2d3acdc33", - "sha256": "0cc205d840b9106e81dbf5f8f5a5ce45fe9d18f90784ec79d7edea1a2f1ccf74", - "size": 265462614, - "uuid": "b6b67f57-7db2-402b-9e87-b20c73c096f0", - "version": "2018-10-03T14:41:36.520415Z" - }, - "supplementary_file/665b4341-9950-4e59-a401-e4a097256f1e": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "fd55b5ee", - "indexed": false, - "name": "BM_Ficoll.pdf", - "s3_etag": "275c0b0d5a013cd14dfda24ad0936f98", - "sha1": "08b3d2255601c99ef96171e19fe8ee2e99e7b9dd", - "sha256": "1526b90b257f8d0d80798f880fdab7d96d38ced6f4657ce2c094cc17066e2df1", - "size": 100792, - "uuid": "e27f8576-965d-4d6e-aec8-b34021a3145f", - "version": "2018-10-03T14:41:36.722346Z" - }, - "supplementary_file/300ee490-edca-46b1-b23d-c9458ebb9c6e": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "55317e97", - "indexed": false, - "name": "BM_Hip_Rep_Protocol.pdf", - "s3_etag": "85ca903b091e57e2b183ff2ce13a5f73", - "sha1": "20fbc29ed79163c140bfa85e59f627a1f41862a8", - "sha256": "df59fc87af4eb30ef51cbb4ff701a269822cc14ac154029a9cc3cc5de4cefe4b", - "size": 104077, - "uuid": "1e894ba2-248f-47e9-af2d-06c6334e24fa", - "version": "2018-10-03T14:41:36.910867Z" - } - }, - "metadata": { - "cell_suspension/36a391f6-d118-4fd7-be51-9196b0f3184f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4609", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A1" - }, - "provenance": { - "document_id": "36a391f6-d118-4fd7-be51-9196b0f3184f", - "submission_date": "2018-10-01T14:25:15.555Z", - "update_date": "2018-10-01T19:29:15.926Z" - } - }, - "cell_suspension/73222bd2-3aae-46dd-98e9-209714396cc8": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4610", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C1" - }, - "provenance": { - "document_id": "73222bd2-3aae-46dd-98e9-209714396cc8", - "submission_date": "2018-10-01T14:25:15.571Z", - "update_date": "2018-10-01T19:29:16.215Z" - } - }, - "cell_suspension/d52cc98d-5b2e-40b7-9dfd-c255de73602d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4611", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E1" - }, - "provenance": { - "document_id": "d52cc98d-5b2e-40b7-9dfd-c255de73602d", - "submission_date": "2018-10-01T14:25:15.616Z", - "update_date": "2018-10-01T19:29:16.475Z" - } - }, - "cell_suspension/462505d7-48e1-4d85-92e3-f768a93d4fca": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4612", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G1" - }, - "provenance": { - "document_id": "462505d7-48e1-4d85-92e3-f768a93d4fca", - "submission_date": "2018-10-01T14:25:15.628Z", - "update_date": "2018-10-01T19:29:16.669Z" - } - }, - "cell_suspension/090682b0-dc11-43d0-b6f5-cf3dee18533a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4613", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I1" - }, - "provenance": { - "document_id": "090682b0-dc11-43d0-b6f5-cf3dee18533a", - "submission_date": "2018-10-01T14:25:15.653Z", - "update_date": "2018-10-01T19:29:16.820Z" - } - }, - "cell_suspension/e67853b9-dc53-4b5f-8693-8ad4e3a4d5d2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4614", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K1" - }, - "provenance": { - "document_id": "e67853b9-dc53-4b5f-8693-8ad4e3a4d5d2", - "submission_date": "2018-10-01T14:25:15.667Z", - "update_date": "2018-10-01T19:29:17.122Z" - } - }, - "cell_suspension/69dbf7cd-c728-41d3-9851-916dc64e07c2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4615", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M1" - }, - "provenance": { - "document_id": "69dbf7cd-c728-41d3-9851-916dc64e07c2", - "submission_date": "2018-10-01T14:25:15.676Z", - "update_date": "2018-10-01T19:29:17.938Z" - } - }, - "cell_suspension/1a6292df-a383-40c7-bc28-b8bf63e03967": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4616", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 0, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O1" - }, - "provenance": { - "document_id": "1a6292df-a383-40c7-bc28-b8bf63e03967", - "submission_date": "2018-10-01T14:25:15.687Z", - "update_date": "2018-10-01T19:29:18.379Z" - } - }, - "cell_suspension/4aad31c4-06fc-4af6-804b-f10afa1cae1d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4617", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A3" - }, - "provenance": { - "document_id": "4aad31c4-06fc-4af6-804b-f10afa1cae1d", - "submission_date": "2018-10-01T14:25:15.710Z", - "update_date": "2018-10-01T19:29:18.539Z" - } - }, - "cell_suspension/2a630ecd-440d-43c3-9c9a-2a8ec98a1784": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4618", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C3" - }, - "provenance": { - "document_id": "2a630ecd-440d-43c3-9c9a-2a8ec98a1784", - "submission_date": "2018-10-01T14:25:15.734Z", - "update_date": "2018-10-01T19:29:18.676Z" - } - }, - "cell_suspension/b60a1acf-24f7-46a7-b276-39c48f3460e9": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4619", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E3" - }, - "provenance": { - "document_id": "b60a1acf-24f7-46a7-b276-39c48f3460e9", - "submission_date": "2018-10-01T14:25:15.762Z", - "update_date": "2018-10-01T19:29:18.846Z" - } - }, - "cell_suspension/5db6e3cf-bb9a-430d-8e5a-1499088526fc": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4620", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G3" - }, - "provenance": { - "document_id": "5db6e3cf-bb9a-430d-8e5a-1499088526fc", - "submission_date": "2018-10-01T14:25:15.777Z", - "update_date": "2018-10-01T19:29:19.239Z" - } - }, - "cell_suspension/6ff20c11-cb2e-4ace-9b3a-48094ce7a231": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4621", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I3" - }, - "provenance": { - "document_id": "6ff20c11-cb2e-4ace-9b3a-48094ce7a231", - "submission_date": "2018-10-01T14:25:15.895Z", - "update_date": "2018-10-01T19:29:19.442Z" - } - }, - "cell_suspension/58e26f53-908e-41fe-b9d2-72df1b7d7ea7": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4622", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K3" - }, - "provenance": { - "document_id": "58e26f53-908e-41fe-b9d2-72df1b7d7ea7", - "submission_date": "2018-10-01T14:25:15.905Z", - "update_date": "2018-10-01T19:29:20.110Z" - } - }, - "cell_suspension/f628676a-1619-4efe-a305-9133282235f3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4623", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M3" - }, - "provenance": { - "document_id": "f628676a-1619-4efe-a305-9133282235f3", - "submission_date": "2018-10-01T14:25:15.920Z", - "update_date": "2018-10-01T19:29:21.050Z" - } - }, - "cell_suspension/fe7e5442-869f-45b4-962a-0a7ab0cb5880": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4624", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O3" - }, - "provenance": { - "document_id": "fe7e5442-869f-45b4-962a-0a7ab0cb5880", - "submission_date": "2018-10-01T14:25:15.934Z", - "update_date": "2018-10-01T19:29:22.007Z" - } - }, - "cell_suspension/b4cb902f-dc5d-406c-99bc-4d73ccab777f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4625", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A5" - }, - "provenance": { - "document_id": "b4cb902f-dc5d-406c-99bc-4d73ccab777f", - "submission_date": "2018-10-01T14:25:15.955Z", - "update_date": "2018-10-01T19:29:22.646Z" - } - }, - "cell_suspension/19a38e6c-c863-41b2-abd3-f24016040027": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4626", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C5" - }, - "provenance": { - "document_id": "19a38e6c-c863-41b2-abd3-f24016040027", - "submission_date": "2018-10-01T14:25:15.966Z", - "update_date": "2018-10-01T19:29:23.378Z" - } - }, - "cell_suspension/850a7f8d-5dde-4152-8c30-c276ef23298e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4627", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E5" - }, - "provenance": { - "document_id": "850a7f8d-5dde-4152-8c30-c276ef23298e", - "submission_date": "2018-10-01T14:25:15.981Z", - "update_date": "2018-10-01T19:29:23.730Z" - } - }, - "cell_suspension/21087dcc-04ae-4238-933a-1c7b402554cd": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4628", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G5" - }, - "provenance": { - "document_id": "21087dcc-04ae-4238-933a-1c7b402554cd", - "submission_date": "2018-10-01T14:25:15.997Z", - "update_date": "2018-10-01T19:29:25.363Z" - } - }, - "cell_suspension/3b9db8ae-39fa-4db2-b588-adb267f3183f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4629", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I5" - }, - "provenance": { - "document_id": "3b9db8ae-39fa-4db2-b588-adb267f3183f", - "submission_date": "2018-10-01T14:25:16.007Z", - "update_date": "2018-10-01T19:29:25.994Z" - } - }, - "cell_suspension/ec9a213b-ce8b-4026-86d2-eff755253135": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4630", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K5" - }, - "provenance": { - "document_id": "ec9a213b-ce8b-4026-86d2-eff755253135", - "submission_date": "2018-10-01T14:25:16.028Z", - "update_date": "2018-10-01T19:29:26.198Z" - } - }, - "cell_suspension/d9d8d0cb-6282-418a-8ad3-10c15668df6b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4631", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M5" - }, - "provenance": { - "document_id": "d9d8d0cb-6282-418a-8ad3-10c15668df6b", - "submission_date": "2018-10-01T14:25:16.046Z", - "update_date": "2018-10-01T19:29:26.474Z" - } - }, - "cell_suspension/57790c0e-6acb-461e-aeb6-c36454c61dc3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4632", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O5" - }, - "provenance": { - "document_id": "57790c0e-6acb-461e-aeb6-c36454c61dc3", - "submission_date": "2018-10-01T14:25:16.066Z", - "update_date": "2018-10-01T19:29:26.660Z" - } - }, - "cell_suspension/65f3dfb0-432b-49c5-8994-9b0d6f65d1e8": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4633", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A7" - }, - "provenance": { - "document_id": "65f3dfb0-432b-49c5-8994-9b0d6f65d1e8", - "submission_date": "2018-10-01T14:25:16.082Z", - "update_date": "2018-10-01T19:29:26.914Z" - } - }, - "cell_suspension/4c94cd55-8762-41b5-87bc-7f3d8fdc33f3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4634", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C7" - }, - "provenance": { - "document_id": "4c94cd55-8762-41b5-87bc-7f3d8fdc33f3", - "submission_date": "2018-10-01T14:25:16.105Z", - "update_date": "2018-10-01T19:29:27.058Z" - } - }, - "cell_suspension/9391d982-8442-4164-a79d-e2d3db0063fc": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4635", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E7" - }, - "provenance": { - "document_id": "9391d982-8442-4164-a79d-e2d3db0063fc", - "submission_date": "2018-10-01T14:25:16.134Z", - "update_date": "2018-10-01T19:29:27.126Z" - } - }, - "cell_suspension/f8369f37-a63d-479d-8ddd-3322a00677d8": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4636", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G7" - }, - "provenance": { - "document_id": "f8369f37-a63d-479d-8ddd-3322a00677d8", - "submission_date": "2018-10-01T14:25:16.155Z", - "update_date": "2018-10-01T19:29:27.223Z" - } - }, - "cell_suspension/e344d025-ee6c-4964-9bc0-8efcc51753c2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4637", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I7" - }, - "provenance": { - "document_id": "e344d025-ee6c-4964-9bc0-8efcc51753c2", - "submission_date": "2018-10-01T14:25:16.176Z", - "update_date": "2018-10-01T19:29:27.410Z" - } - }, - "cell_suspension/e5fb4bb6-838e-4c60-a3fd-6ecc94714f24": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4638", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K7" - }, - "provenance": { - "document_id": "e5fb4bb6-838e-4c60-a3fd-6ecc94714f24", - "submission_date": "2018-10-01T14:25:16.202Z", - "update_date": "2018-10-01T19:29:27.612Z" - } - }, - "cell_suspension/ade40a53-09ea-480d-9762-38c28568062d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4639", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M7" - }, - "provenance": { - "document_id": "ade40a53-09ea-480d-9762-38c28568062d", - "submission_date": "2018-10-01T14:25:16.266Z", - "update_date": "2018-10-01T19:29:27.949Z" - } - }, - "cell_suspension/a0ee4cc1-0123-4bac-9226-37a6cbe590dc": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4640", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O7" - }, - "provenance": { - "document_id": "a0ee4cc1-0123-4bac-9226-37a6cbe590dc", - "submission_date": "2018-10-01T14:25:16.300Z", - "update_date": "2018-10-01T19:29:34.118Z" - } - }, - "cell_suspension/63e7c402-0064-4077-a24b-6146f8e0b5c9": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4641", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A9" - }, - "provenance": { - "document_id": "63e7c402-0064-4077-a24b-6146f8e0b5c9", - "submission_date": "2018-10-01T14:25:16.326Z", - "update_date": "2018-10-01T19:29:35.475Z" - } - }, - "cell_suspension/30b2ca9b-bc69-422e-88e6-aab7cf2bd709": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4642", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C9" - }, - "provenance": { - "document_id": "30b2ca9b-bc69-422e-88e6-aab7cf2bd709", - "submission_date": "2018-10-01T14:25:16.352Z", - "update_date": "2018-10-01T19:29:35.856Z" - } - }, - "cell_suspension/f323ef31-62ac-4edb-a423-cf4ec94d2f8b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4643", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E9" - }, - "provenance": { - "document_id": "f323ef31-62ac-4edb-a423-cf4ec94d2f8b", - "submission_date": "2018-10-01T14:25:16.384Z", - "update_date": "2018-10-01T19:29:36.016Z" - } - }, - "cell_suspension/a97c011b-9709-494b-8787-b09282ee83ad": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4644", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G9" - }, - "provenance": { - "document_id": "a97c011b-9709-494b-8787-b09282ee83ad", - "submission_date": "2018-10-01T14:25:16.418Z", - "update_date": "2018-10-01T19:29:36.378Z" - } - }, - "cell_suspension/65e1cf44-e740-4ec9-a800-45f27622007e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4645", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I9" - }, - "provenance": { - "document_id": "65e1cf44-e740-4ec9-a800-45f27622007e", - "submission_date": "2018-10-01T14:25:16.437Z", - "update_date": "2018-10-01T19:29:36.573Z" - } - }, - "cell_suspension/76c21f33-cf6e-43f3-b727-c408ad1fc1bf": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4646", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K9" - }, - "provenance": { - "document_id": "76c21f33-cf6e-43f3-b727-c408ad1fc1bf", - "submission_date": "2018-10-01T14:25:16.519Z", - "update_date": "2018-10-01T19:29:36.823Z" - } - }, - "cell_suspension/773cc07f-c5ab-4db7-b313-feeab737f18a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4647", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M9" - }, - "provenance": { - "document_id": "773cc07f-c5ab-4db7-b313-feeab737f18a", - "submission_date": "2018-10-01T14:25:16.543Z", - "update_date": "2018-10-01T19:29:37.153Z" - } - }, - "cell_suspension/b7b29f4a-cc95-4be6-b0b1-e7b2acbc3742": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4648", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O9" - }, - "provenance": { - "document_id": "b7b29f4a-cc95-4be6-b0b1-e7b2acbc3742", - "submission_date": "2018-10-01T14:25:16.556Z", - "update_date": "2018-10-01T19:29:37.368Z" - } - }, - "cell_suspension/d1e9e5f0-32c1-4a03-bb5b-baa3279a7cde": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4649", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A11" - }, - "provenance": { - "document_id": "d1e9e5f0-32c1-4a03-bb5b-baa3279a7cde", - "submission_date": "2018-10-01T14:25:16.585Z", - "update_date": "2018-10-01T19:29:37.487Z" - } - }, - "cell_suspension/6f4a1381-294b-4c57-89d9-9d4bfbc9f371": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4650", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C11" - }, - "provenance": { - "document_id": "6f4a1381-294b-4c57-89d9-9d4bfbc9f371", - "submission_date": "2018-10-01T14:25:16.607Z", - "update_date": "2018-10-01T19:29:37.614Z" - } - }, - "cell_suspension/ccf56b9d-2e63-4eab-b8c5-39a41e87073d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4651", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E11" - }, - "provenance": { - "document_id": "ccf56b9d-2e63-4eab-b8c5-39a41e87073d", - "submission_date": "2018-10-01T14:25:16.627Z", - "update_date": "2018-10-01T19:29:37.790Z" - } - }, - "cell_suspension/c6883b2f-e67f-4806-87ec-fdfbedce1c58": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4652", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G11" - }, - "provenance": { - "document_id": "c6883b2f-e67f-4806-87ec-fdfbedce1c58", - "submission_date": "2018-10-01T14:25:16.642Z", - "update_date": "2018-10-01T19:29:38.045Z" - } - }, - "cell_suspension/28864088-bf33-4bb0-a7bb-e5a4da5fb748": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4653", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I11" - }, - "provenance": { - "document_id": "28864088-bf33-4bb0-a7bb-e5a4da5fb748", - "submission_date": "2018-10-01T14:25:16.658Z", - "update_date": "2018-10-01T19:29:38.130Z" - } - }, - "cell_suspension/0ad08c02-259d-43c5-98e3-a2217eecbd20": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4654", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K11" - }, - "provenance": { - "document_id": "0ad08c02-259d-43c5-98e3-a2217eecbd20", - "submission_date": "2018-10-01T14:25:16.706Z", - "update_date": "2018-10-01T19:29:38.289Z" - } - }, - "cell_suspension/5f941ee4-0d8e-4c5d-8479-3a88b97e5a98": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4655", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M11" - }, - "provenance": { - "document_id": "5f941ee4-0d8e-4c5d-8479-3a88b97e5a98", - "submission_date": "2018-10-01T14:25:16.731Z", - "update_date": "2018-10-01T19:29:38.452Z" - } - }, - "cell_suspension/b70fecce-c652-4bc1-b225-1694470023f3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4656", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O11" - }, - "provenance": { - "document_id": "b70fecce-c652-4bc1-b225-1694470023f3", - "submission_date": "2018-10-01T14:25:16.743Z", - "update_date": "2018-10-01T19:29:38.595Z" - } - }, - "cell_suspension/ccbbfc2a-700e-483c-b9c0-27cfc0630c02": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4657", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A13" - }, - "provenance": { - "document_id": "ccbbfc2a-700e-483c-b9c0-27cfc0630c02", - "submission_date": "2018-10-01T14:25:16.764Z", - "update_date": "2018-10-01T19:29:38.878Z" - } - }, - "cell_suspension/3917d3cc-4c27-4626-90bf-ab5d018cc55c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4658", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C13" - }, - "provenance": { - "document_id": "3917d3cc-4c27-4626-90bf-ab5d018cc55c", - "submission_date": "2018-10-01T14:25:16.786Z", - "update_date": "2018-10-01T19:29:38.984Z" - } - }, - "cell_suspension/4bde7812-555e-4dca-a4f5-35d6457d157f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4659", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E13" - }, - "provenance": { - "document_id": "4bde7812-555e-4dca-a4f5-35d6457d157f", - "submission_date": "2018-10-01T14:25:16.810Z", - "update_date": "2018-10-01T19:29:39.064Z" - } - }, - "cell_suspension/d24521a3-c8f3-4d8e-b682-c957c3f59807": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4660", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G13" - }, - "provenance": { - "document_id": "d24521a3-c8f3-4d8e-b682-c957c3f59807", - "submission_date": "2018-10-01T14:25:16.835Z", - "update_date": "2018-10-01T19:29:39.207Z" - } - }, - "cell_suspension/0d743241-997e-4c51-803a-2c39eff12d4e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4661", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I13" - }, - "provenance": { - "document_id": "0d743241-997e-4c51-803a-2c39eff12d4e", - "submission_date": "2018-10-01T14:25:16.856Z", - "update_date": "2018-10-01T19:29:39.417Z" - } - }, - "cell_suspension/b1775d29-c0df-4df9-99ac-38726ddcce49": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4662", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K13" - }, - "provenance": { - "document_id": "b1775d29-c0df-4df9-99ac-38726ddcce49", - "submission_date": "2018-10-01T14:25:16.875Z", - "update_date": "2018-10-01T19:29:39.693Z" - } - }, - "cell_suspension/d23df5d9-a5b7-483a-a6e5-63169ebd5b64": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4663", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M13" - }, - "provenance": { - "document_id": "d23df5d9-a5b7-483a-a6e5-63169ebd5b64", - "submission_date": "2018-10-01T14:25:16.894Z", - "update_date": "2018-10-01T19:29:40.181Z" - } - }, - "cell_suspension/4e9df9c2-d70b-4116-a30c-f85800aa59df": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4664", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O13" - }, - "provenance": { - "document_id": "4e9df9c2-d70b-4116-a30c-f85800aa59df", - "submission_date": "2018-10-01T14:25:16.916Z", - "update_date": "2018-10-01T19:29:41.478Z" - } - }, - "cell_suspension/1d15b2f8-e9c9-4ed6-b636-5d3aeff5479a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4665", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A15" - }, - "provenance": { - "document_id": "1d15b2f8-e9c9-4ed6-b636-5d3aeff5479a", - "submission_date": "2018-10-01T14:25:16.930Z", - "update_date": "2018-10-01T19:29:44.590Z" - } - }, - "cell_suspension/4673653e-ce26-4803-b829-b379f8e5557d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4666", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C15" - }, - "provenance": { - "document_id": "4673653e-ce26-4803-b829-b379f8e5557d", - "submission_date": "2018-10-01T14:25:16.955Z", - "update_date": "2018-10-01T19:29:45.267Z" - } - }, - "cell_suspension/cfc6d7db-6691-48b6-8d6b-60a4440778b5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4667", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E15" - }, - "provenance": { - "document_id": "cfc6d7db-6691-48b6-8d6b-60a4440778b5", - "submission_date": "2018-10-01T14:25:16.968Z", - "update_date": "2018-10-01T19:29:45.414Z" - } - }, - "cell_suspension/1a6355b5-516f-4327-b13c-94c2dceff4c1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4668", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G15" - }, - "provenance": { - "document_id": "1a6355b5-516f-4327-b13c-94c2dceff4c1", - "submission_date": "2018-10-01T14:25:16.994Z", - "update_date": "2018-10-01T19:29:45.579Z" - } - }, - "cell_suspension/90570f32-fa18-42c9-8ec3-d524e19e491a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4669", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I15" - }, - "provenance": { - "document_id": "90570f32-fa18-42c9-8ec3-d524e19e491a", - "submission_date": "2018-10-01T14:25:17.004Z", - "update_date": "2018-10-01T19:29:45.795Z" - } - }, - "cell_suspension/6d9e85f2-0b13-43d0-8ba4-86ecd087a590": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4670", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K15" - }, - "provenance": { - "document_id": "6d9e85f2-0b13-43d0-8ba4-86ecd087a590", - "submission_date": "2018-10-01T14:25:17.022Z", - "update_date": "2018-10-01T19:29:45.975Z" - } - }, - "cell_suspension/fc60766c-7c21-485a-8b3f-7c38662fc627": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4671", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M15" - }, - "provenance": { - "document_id": "fc60766c-7c21-485a-8b3f-7c38662fc627", - "submission_date": "2018-10-01T14:25:17.047Z", - "update_date": "2018-10-01T19:29:46.080Z" - } - }, - "cell_suspension/3eac9541-a06e-4082-b950-b68dfd514a4f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4672", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O15" - }, - "provenance": { - "document_id": "3eac9541-a06e-4082-b950-b68dfd514a4f", - "submission_date": "2018-10-01T14:25:17.065Z", - "update_date": "2018-10-01T19:29:46.322Z" - } - }, - "cell_suspension/53cdb39f-7010-4357-932f-422f94eca0e0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4673", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A17" - }, - "provenance": { - "document_id": "53cdb39f-7010-4357-932f-422f94eca0e0", - "submission_date": "2018-10-01T14:25:17.081Z", - "update_date": "2018-10-01T19:29:47.596Z" - } - }, - "cell_suspension/ff8b81fe-2e09-45c8-b7d3-9146172176ed": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4674", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C17" - }, - "provenance": { - "document_id": "ff8b81fe-2e09-45c8-b7d3-9146172176ed", - "submission_date": "2018-10-01T14:25:17.092Z", - "update_date": "2018-10-01T19:29:48.357Z" - } - }, - "cell_suspension/2a5fd797-268f-4f87-963a-4c09833abf19": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4675", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E17" - }, - "provenance": { - "document_id": "2a5fd797-268f-4f87-963a-4c09833abf19", - "submission_date": "2018-10-01T14:25:17.103Z", - "update_date": "2018-10-01T19:29:49.071Z" - } - }, - "cell_suspension/bced27ff-af66-46b4-bc3c-06cbf57815bc": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4676", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G17" - }, - "provenance": { - "document_id": "bced27ff-af66-46b4-bc3c-06cbf57815bc", - "submission_date": "2018-10-01T14:25:17.119Z", - "update_date": "2018-10-01T19:29:49.262Z" - } - }, - "cell_suspension/5820978b-f2d8-4913-8f4e-d9e4cd71b1aa": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4677", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I17" - }, - "provenance": { - "document_id": "5820978b-f2d8-4913-8f4e-d9e4cd71b1aa", - "submission_date": "2018-10-01T14:25:17.133Z", - "update_date": "2018-10-01T19:29:49.352Z" - } - }, - "cell_suspension/30cdff42-2242-4e76-a9c9-882d6632a397": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4678", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K17" - }, - "provenance": { - "document_id": "30cdff42-2242-4e76-a9c9-882d6632a397", - "submission_date": "2018-10-01T14:25:17.144Z", - "update_date": "2018-10-01T19:29:49.450Z" - } - }, - "cell_suspension/96c8635f-9dd5-4db7-b336-c4cba4fbfbd5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4679", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M17" - }, - "provenance": { - "document_id": "96c8635f-9dd5-4db7-b336-c4cba4fbfbd5", - "submission_date": "2018-10-01T14:25:17.153Z", - "update_date": "2018-10-01T19:29:49.574Z" - } - }, - "cell_suspension/8d03865e-a908-4ca6-aba0-609a842baaea": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4680", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O17" - }, - "provenance": { - "document_id": "8d03865e-a908-4ca6-aba0-609a842baaea", - "submission_date": "2018-10-01T14:25:17.163Z", - "update_date": "2018-10-01T19:29:49.663Z" - } - }, - "cell_suspension/ac3a1a43-ba50-4734-abdf-466bf995760e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4681", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A19" - }, - "provenance": { - "document_id": "ac3a1a43-ba50-4734-abdf-466bf995760e", - "submission_date": "2018-10-01T14:25:17.176Z", - "update_date": "2018-10-01T19:29:49.752Z" - } - }, - "cell_suspension/7dd7d962-a1ac-4275-bc69-b33ef9f97ee0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4682", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C19" - }, - "provenance": { - "document_id": "7dd7d962-a1ac-4275-bc69-b33ef9f97ee0", - "submission_date": "2018-10-01T14:25:17.186Z", - "update_date": "2018-10-01T19:29:49.812Z" - } - }, - "cell_suspension/46668358-58ea-4f40-9e51-8f7669bb6f48": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4683", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E19" - }, - "provenance": { - "document_id": "46668358-58ea-4f40-9e51-8f7669bb6f48", - "submission_date": "2018-10-01T14:25:17.195Z", - "update_date": "2018-10-01T19:29:49.872Z" - } - }, - "cell_suspension/4002a86d-c13f-4b44-8796-2acba8dcdf80": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4684", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G19" - }, - "provenance": { - "document_id": "4002a86d-c13f-4b44-8796-2acba8dcdf80", - "submission_date": "2018-10-01T14:25:17.203Z", - "update_date": "2018-10-01T19:29:49.961Z" - } - }, - "cell_suspension/3082b185-c821-4b3f-85d9-d7c1f02927ff": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4685", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I19" - }, - "provenance": { - "document_id": "3082b185-c821-4b3f-85d9-d7c1f02927ff", - "submission_date": "2018-10-01T14:25:17.211Z", - "update_date": "2018-10-01T19:29:50.043Z" - } - }, - "cell_suspension/0046b2a3-061c-48fc-a0af-0c874d725359": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4686", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K19" - }, - "provenance": { - "document_id": "0046b2a3-061c-48fc-a0af-0c874d725359", - "submission_date": "2018-10-01T14:25:17.219Z", - "update_date": "2018-10-01T19:29:50.115Z" - } - }, - "cell_suspension/9d4d1acf-aca9-476a-a98b-e5897aafd67b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4687", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M19" - }, - "provenance": { - "document_id": "9d4d1acf-aca9-476a-a98b-e5897aafd67b", - "submission_date": "2018-10-01T14:25:17.227Z", - "update_date": "2018-10-01T19:29:50.184Z" - } - }, - "cell_suspension/35cc7aee-2b8b-4609-a8ba-1250ec556a53": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4688", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O19" - }, - "provenance": { - "document_id": "35cc7aee-2b8b-4609-a8ba-1250ec556a53", - "submission_date": "2018-10-01T14:25:17.236Z", - "update_date": "2018-10-01T19:29:50.329Z" - } - }, - "cell_suspension/e00b0e46-3d90-4e62-a87c-ca288e46a961": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4689", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A21" - }, - "provenance": { - "document_id": "e00b0e46-3d90-4e62-a87c-ca288e46a961", - "submission_date": "2018-10-01T14:25:17.251Z", - "update_date": "2018-10-01T19:29:50.428Z" - } - }, - "cell_suspension/bedec879-58d2-4da7-a5dc-0b5807d44acf": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4690", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C21" - }, - "provenance": { - "document_id": "bedec879-58d2-4da7-a5dc-0b5807d44acf", - "submission_date": "2018-10-01T14:25:17.270Z", - "update_date": "2018-10-01T19:29:50.575Z" - } - }, - "cell_suspension/d30ce499-fe12-4327-a563-03023e5930b3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4691", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E21" - }, - "provenance": { - "document_id": "d30ce499-fe12-4327-a563-03023e5930b3", - "submission_date": "2018-10-01T14:25:17.290Z", - "update_date": "2018-10-01T19:29:50.863Z" - } - }, - "cell_suspension/66812575-aa56-44a0-aefa-b746b99fd96e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4692", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G21" - }, - "provenance": { - "document_id": "66812575-aa56-44a0-aefa-b746b99fd96e", - "submission_date": "2018-10-01T14:25:17.307Z", - "update_date": "2018-10-01T19:29:51.299Z" - } - }, - "cell_suspension/342839aa-c58e-4f93-bfd9-7b65bc8b85dd": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4693", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I21" - }, - "provenance": { - "document_id": "342839aa-c58e-4f93-bfd9-7b65bc8b85dd", - "submission_date": "2018-10-01T14:25:17.323Z", - "update_date": "2018-10-01T19:29:51.730Z" - } - }, - "cell_suspension/71b018de-35a9-4aca-8b08-4a84d2b1a47d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4694", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K21" - }, - "provenance": { - "document_id": "71b018de-35a9-4aca-8b08-4a84d2b1a47d", - "submission_date": "2018-10-01T14:25:17.338Z", - "update_date": "2018-10-01T19:29:52.694Z" - } - }, - "cell_suspension/13c900ac-7e8f-4c68-a84f-d56b247451ea": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4695", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M21" - }, - "provenance": { - "document_id": "13c900ac-7e8f-4c68-a84f-d56b247451ea", - "submission_date": "2018-10-01T14:25:17.350Z", - "update_date": "2018-10-01T19:29:54.454Z" - } - }, - "cell_suspension/473c03c6-fada-4d2a-96b9-f7ca29044536": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4696", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O21" - }, - "provenance": { - "document_id": "473c03c6-fada-4d2a-96b9-f7ca29044536", - "submission_date": "2018-10-01T14:25:17.362Z", - "update_date": "2018-10-01T19:29:55.147Z" - } - }, - "cell_suspension/f5cac140-58b2-4523-bdb7-9d66f85642d3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4697", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A23" - }, - "provenance": { - "document_id": "f5cac140-58b2-4523-bdb7-9d66f85642d3", - "submission_date": "2018-10-01T14:25:17.372Z", - "update_date": "2018-10-01T19:29:55.640Z" - } - }, - "cell_suspension/b44e6954-97e3-49df-90b7-614c8cd77c0f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4698", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C23" - }, - "provenance": { - "document_id": "b44e6954-97e3-49df-90b7-614c8cd77c0f", - "submission_date": "2018-10-01T14:25:17.382Z", - "update_date": "2018-10-01T19:29:55.779Z" - } - }, - "cell_suspension/78fa6df1-442b-46c0-918e-b250eaa3e0dc": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4699", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E23" - }, - "provenance": { - "document_id": "78fa6df1-442b-46c0-918e-b250eaa3e0dc", - "submission_date": "2018-10-01T14:25:17.391Z", - "update_date": "2018-10-01T19:29:55.882Z" - } - }, - "cell_suspension/a5f927d5-05f4-4478-8e52-09a40c0ca82a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4700", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G23" - }, - "provenance": { - "document_id": "a5f927d5-05f4-4478-8e52-09a40c0ca82a", - "submission_date": "2018-10-01T14:25:17.400Z", - "update_date": "2018-10-01T19:29:56.169Z" - } - }, - "cell_suspension/23bfcc7e-f7b1-418f-a8d1-2d85691d1d3f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4701", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I23" - }, - "provenance": { - "document_id": "23bfcc7e-f7b1-418f-a8d1-2d85691d1d3f", - "submission_date": "2018-10-01T14:25:17.413Z", - "update_date": "2018-10-01T19:29:56.389Z" - } - }, - "cell_suspension/38a4b411-5100-4122-afc3-a752f189a439": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4702", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K23" - }, - "provenance": { - "document_id": "38a4b411-5100-4122-afc3-a752f189a439", - "submission_date": "2018-10-01T14:25:17.436Z", - "update_date": "2018-10-01T19:29:57.115Z" - } - }, - "cell_suspension/0ff5ce81-4cf0-4e1c-bacc-fdf0ac9ecbe1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4703", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M23" - }, - "provenance": { - "document_id": "0ff5ce81-4cf0-4e1c-bacc-fdf0ac9ecbe1", - "submission_date": "2018-10-01T14:25:17.451Z", - "update_date": "2018-10-01T19:29:57.505Z" - } - }, - "cell_suspension/c91215e8-bff3-4ddc-bf97-c693a8041bb8": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4704", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O23" - }, - "provenance": { - "document_id": "c91215e8-bff3-4ddc-bf97-c693a8041bb8", - "submission_date": "2018-10-01T14:25:17.469Z", - "update_date": "2018-10-01T19:29:58.168Z" - } - }, - "cell_suspension/b04e4c07-3552-4a18-8fb5-a8b854fa859a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4705", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B1" - }, - "provenance": { - "document_id": "b04e4c07-3552-4a18-8fb5-a8b854fa859a", - "submission_date": "2018-10-01T14:25:17.482Z", - "update_date": "2018-10-01T19:29:58.505Z" - } - }, - "cell_suspension/92727211-1035-475d-99a3-33972c5eb436": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4706", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D1" - }, - "provenance": { - "document_id": "92727211-1035-475d-99a3-33972c5eb436", - "submission_date": "2018-10-01T14:25:17.495Z", - "update_date": "2018-10-01T19:30:00.383Z" - } - }, - "cell_suspension/1749997d-d4d4-4844-bc5e-d4eee2c42e69": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4707", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F1" - }, - "provenance": { - "document_id": "1749997d-d4d4-4844-bc5e-d4eee2c42e69", - "submission_date": "2018-10-01T14:25:17.510Z", - "update_date": "2018-10-01T19:30:01.171Z" - } - }, - "cell_suspension/2a1d8e72-5133-4fef-b7a7-3271b977170f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4708", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H1" - }, - "provenance": { - "document_id": "2a1d8e72-5133-4fef-b7a7-3271b977170f", - "submission_date": "2018-10-01T14:25:17.523Z", - "update_date": "2018-10-01T19:30:01.345Z" - } - }, - "cell_suspension/c69ecbd5-4d59-4e55-a59d-f4d10640f131": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4709", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J1" - }, - "provenance": { - "document_id": "c69ecbd5-4d59-4e55-a59d-f4d10640f131", - "submission_date": "2018-10-01T14:25:17.532Z", - "update_date": "2018-10-01T19:30:01.474Z" - } - }, - "cell_suspension/f670004f-0fa3-4518-9d89-858aa2d002dc": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4710", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L1" - }, - "provenance": { - "document_id": "f670004f-0fa3-4518-9d89-858aa2d002dc", - "submission_date": "2018-10-01T14:25:17.544Z", - "update_date": "2018-10-01T19:30:01.584Z" - } - }, - "cell_suspension/ccfe1a77-90c7-4ad3-8977-f3ed420fb33d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4711", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N1" - }, - "provenance": { - "document_id": "ccfe1a77-90c7-4ad3-8977-f3ed420fb33d", - "submission_date": "2018-10-01T14:25:17.557Z", - "update_date": "2018-10-01T19:30:01.668Z" - } - }, - "cell_suspension/f29dba0e-4834-4170-be5d-50213c4a3977": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4712", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 0, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P1" - }, - "provenance": { - "document_id": "f29dba0e-4834-4170-be5d-50213c4a3977", - "submission_date": "2018-10-01T14:25:17.573Z", - "update_date": "2018-10-01T19:30:01.759Z" - } - }, - "cell_suspension/9a329bec-4c29-4eba-8c0c-f5b28e525eca": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4713", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B3" - }, - "provenance": { - "document_id": "9a329bec-4c29-4eba-8c0c-f5b28e525eca", - "submission_date": "2018-10-01T14:25:17.584Z", - "update_date": "2018-10-01T19:30:01.940Z" - } - }, - "cell_suspension/e38297df-9eb0-43f4-af5a-d4dc6cbc1b8d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4714", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D3" - }, - "provenance": { - "document_id": "e38297df-9eb0-43f4-af5a-d4dc6cbc1b8d", - "submission_date": "2018-10-01T14:25:17.593Z", - "update_date": "2018-10-01T19:30:02.038Z" - } - }, - "cell_suspension/b28c4a10-fb53-46ee-a2fb-c1ea96f93749": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4715", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F3" - }, - "provenance": { - "document_id": "b28c4a10-fb53-46ee-a2fb-c1ea96f93749", - "submission_date": "2018-10-01T14:25:17.602Z", - "update_date": "2018-10-01T19:30:02.180Z" - } - }, - "cell_suspension/7a1d98cd-3955-424f-a882-4fd7bda39914": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4716", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H3" - }, - "provenance": { - "document_id": "7a1d98cd-3955-424f-a882-4fd7bda39914", - "submission_date": "2018-10-01T14:25:17.611Z", - "update_date": "2018-10-01T19:30:02.308Z" - } - }, - "cell_suspension/97030a10-817d-419b-8f0d-5925d8a7eeb2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4717", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J3" - }, - "provenance": { - "document_id": "97030a10-817d-419b-8f0d-5925d8a7eeb2", - "submission_date": "2018-10-01T14:25:17.621Z", - "update_date": "2018-10-01T19:30:02.411Z" - } - }, - "cell_suspension/fb11d84d-9493-4c57-aac3-3a7937e58ad5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4718", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L3" - }, - "provenance": { - "document_id": "fb11d84d-9493-4c57-aac3-3a7937e58ad5", - "submission_date": "2018-10-01T14:25:17.633Z", - "update_date": "2018-10-01T19:30:02.502Z" - } - }, - "cell_suspension/353c2625-7d6f-48ac-ab55-8327cbe22179": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4719", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N3" - }, - "provenance": { - "document_id": "353c2625-7d6f-48ac-ab55-8327cbe22179", - "submission_date": "2018-10-01T14:25:17.646Z", - "update_date": "2018-10-01T19:30:02.575Z" - } - }, - "cell_suspension/a3b96919-7ac5-4f59-9d3e-f7b4c452ceb1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4720", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P3" - }, - "provenance": { - "document_id": "a3b96919-7ac5-4f59-9d3e-f7b4c452ceb1", - "submission_date": "2018-10-01T14:25:17.660Z", - "update_date": "2018-10-01T19:30:02.648Z" - } - }, - "cell_suspension/ab442056-f765-4c28-977b-994fc76d0856": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4721", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B5" - }, - "provenance": { - "document_id": "ab442056-f765-4c28-977b-994fc76d0856", - "submission_date": "2018-10-01T14:25:17.668Z", - "update_date": "2018-10-01T19:30:02.748Z" - } - }, - "cell_suspension/e50c579d-0dfe-4c73-96a1-df76dc01d2a3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4722", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D5" - }, - "provenance": { - "document_id": "e50c579d-0dfe-4c73-96a1-df76dc01d2a3", - "submission_date": "2018-10-01T14:25:17.677Z", - "update_date": "2018-10-01T19:30:02.890Z" - } - }, - "cell_suspension/7d6cdbfd-6fc5-4feb-8287-259c9a1322b2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4723", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F5" - }, - "provenance": { - "document_id": "7d6cdbfd-6fc5-4feb-8287-259c9a1322b2", - "submission_date": "2018-10-01T14:25:17.687Z", - "update_date": "2018-10-01T19:30:03.052Z" - } - }, - "cell_suspension/a086630e-a35c-439b-aa38-f681038f5be7": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4724", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H5" - }, - "provenance": { - "document_id": "a086630e-a35c-439b-aa38-f681038f5be7", - "submission_date": "2018-10-01T14:25:17.695Z", - "update_date": "2018-10-01T19:30:03.134Z" - } - }, - "cell_suspension/f9ea5480-95ac-4e91-9c58-f73f2ad246d3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4725", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J5" - }, - "provenance": { - "document_id": "f9ea5480-95ac-4e91-9c58-f73f2ad246d3", - "submission_date": "2018-10-01T14:25:17.704Z", - "update_date": "2018-10-01T19:30:03.278Z" - } - }, - "cell_suspension/260382a0-004b-42b7-aad9-2f512455a650": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4726", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L5" - }, - "provenance": { - "document_id": "260382a0-004b-42b7-aad9-2f512455a650", - "submission_date": "2018-10-01T14:25:17.712Z", - "update_date": "2018-10-01T19:30:03.371Z" - } - }, - "cell_suspension/7506eb7b-863c-49ad-8b54-b9c46f95f463": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4727", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N5" - }, - "provenance": { - "document_id": "7506eb7b-863c-49ad-8b54-b9c46f95f463", - "submission_date": "2018-10-01T14:25:17.720Z", - "update_date": "2018-10-01T19:30:03.467Z" - } - }, - "cell_suspension/ff83a3a4-175c-45b1-83a9-263054bc403d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4728", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P5" - }, - "provenance": { - "document_id": "ff83a3a4-175c-45b1-83a9-263054bc403d", - "submission_date": "2018-10-01T14:25:17.728Z", - "update_date": "2018-10-01T19:30:03.534Z" - } - }, - "cell_suspension/5ce04010-0a94-44a0-9de2-6a768db775de": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4729", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B7" - }, - "provenance": { - "document_id": "5ce04010-0a94-44a0-9de2-6a768db775de", - "submission_date": "2018-10-01T14:25:17.736Z", - "update_date": "2018-10-01T19:30:03.591Z" - } - }, - "cell_suspension/c405d2b6-c998-4c04-984d-9e07b0606602": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4730", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D7" - }, - "provenance": { - "document_id": "c405d2b6-c998-4c04-984d-9e07b0606602", - "submission_date": "2018-10-01T14:25:17.745Z", - "update_date": "2018-10-01T19:30:03.650Z" - } - }, - "cell_suspension/e9d18b01-edd7-43a0-9d5e-922b6935c623": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4731", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F7" - }, - "provenance": { - "document_id": "e9d18b01-edd7-43a0-9d5e-922b6935c623", - "submission_date": "2018-10-01T14:25:17.754Z", - "update_date": "2018-10-01T19:30:03.794Z" - } - }, - "cell_suspension/eaa3fdb1-a8b3-40b3-814c-2bad70e165b5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4732", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H7" - }, - "provenance": { - "document_id": "eaa3fdb1-a8b3-40b3-814c-2bad70e165b5", - "submission_date": "2018-10-01T14:25:17.762Z", - "update_date": "2018-10-01T19:30:06.258Z" - } - }, - "cell_suspension/977bd67b-beec-4f46-b466-8b41d0407883": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4733", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J7" - }, - "provenance": { - "document_id": "977bd67b-beec-4f46-b466-8b41d0407883", - "submission_date": "2018-10-01T14:25:17.771Z", - "update_date": "2018-10-01T19:30:09.602Z" - } - }, - "cell_suspension/512c61a9-d425-4c99-b386-a42648a6eab6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4734", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L7" - }, - "provenance": { - "document_id": "512c61a9-d425-4c99-b386-a42648a6eab6", - "submission_date": "2018-10-01T14:25:17.780Z", - "update_date": "2018-10-01T19:30:09.705Z" - } - }, - "cell_suspension/a31d4351-1a70-4606-a141-3d1f5b1edf3f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4735", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N7" - }, - "provenance": { - "document_id": "a31d4351-1a70-4606-a141-3d1f5b1edf3f", - "submission_date": "2018-10-01T14:25:17.788Z", - "update_date": "2018-10-01T19:30:09.761Z" - } - }, - "cell_suspension/479084d6-a6dc-4c25-88cc-901e9a0cbb77": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4736", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P7" - }, - "provenance": { - "document_id": "479084d6-a6dc-4c25-88cc-901e9a0cbb77", - "submission_date": "2018-10-01T14:25:17.796Z", - "update_date": "2018-10-01T19:30:09.815Z" - } - }, - "cell_suspension/23357462-2a8f-46b2-bcc4-bb70bdb111d3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4737", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B9" - }, - "provenance": { - "document_id": "23357462-2a8f-46b2-bcc4-bb70bdb111d3", - "submission_date": "2018-10-01T14:25:17.804Z", - "update_date": "2018-10-01T19:30:09.890Z" - } - }, - "cell_suspension/34012657-85b6-452f-8722-fd67f91faef3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4738", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D9" - }, - "provenance": { - "document_id": "34012657-85b6-452f-8722-fd67f91faef3", - "submission_date": "2018-10-01T14:25:17.812Z", - "update_date": "2018-10-01T19:30:09.954Z" - } - }, - "cell_suspension/63d08fb8-6fb3-43cc-92af-b817dd67329b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4739", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F9" - }, - "provenance": { - "document_id": "63d08fb8-6fb3-43cc-92af-b817dd67329b", - "submission_date": "2018-10-01T14:25:17.821Z", - "update_date": "2018-10-01T19:30:10.051Z" - } - }, - "cell_suspension/4c525eb9-61e9-4851-b075-1ff3b7607af0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4740", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H9" - }, - "provenance": { - "document_id": "4c525eb9-61e9-4851-b075-1ff3b7607af0", - "submission_date": "2018-10-01T14:25:17.834Z", - "update_date": "2018-10-01T19:30:10.142Z" - } - }, - "cell_suspension/83ded0ae-0826-450d-9b4a-06e3a49f9fa8": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4741", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J9" - }, - "provenance": { - "document_id": "83ded0ae-0826-450d-9b4a-06e3a49f9fa8", - "submission_date": "2018-10-01T14:25:17.844Z", - "update_date": "2018-10-01T19:30:10.316Z" - } - }, - "cell_suspension/af0c8790-9eac-45c0-9582-d5acbd57a636": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4742", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L9" - }, - "provenance": { - "document_id": "af0c8790-9eac-45c0-9582-d5acbd57a636", - "submission_date": "2018-10-01T14:25:17.855Z", - "update_date": "2018-10-01T19:30:10.491Z" - } - }, - "cell_suspension/e741cf6b-f293-478f-8c93-93fa40a99e81": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4743", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N9" - }, - "provenance": { - "document_id": "e741cf6b-f293-478f-8c93-93fa40a99e81", - "submission_date": "2018-10-01T14:25:17.865Z", - "update_date": "2018-10-01T19:30:10.583Z" - } - }, - "cell_suspension/8971ab0e-d20c-4a9e-82b8-2d5e8b063abe": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4744", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P9" - }, - "provenance": { - "document_id": "8971ab0e-d20c-4a9e-82b8-2d5e8b063abe", - "submission_date": "2018-10-01T14:25:17.873Z", - "update_date": "2018-10-01T19:30:10.733Z" - } - }, - "cell_suspension/7f0fcea0-eb45-4aa7-83da-87f3776e37c3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4745", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B11" - }, - "provenance": { - "document_id": "7f0fcea0-eb45-4aa7-83da-87f3776e37c3", - "submission_date": "2018-10-01T14:25:17.881Z", - "update_date": "2018-10-01T19:30:11.005Z" - } - }, - "cell_suspension/bbbdf930-7bb2-4b0d-b345-cf1d788666c7": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4746", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D11" - }, - "provenance": { - "document_id": "bbbdf930-7bb2-4b0d-b345-cf1d788666c7", - "submission_date": "2018-10-01T14:25:17.889Z", - "update_date": "2018-10-01T19:30:12.142Z" - } - }, - "cell_suspension/ea4a27f8-279c-46c2-9b88-f66c1fd91780": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4747", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F11" - }, - "provenance": { - "document_id": "ea4a27f8-279c-46c2-9b88-f66c1fd91780", - "submission_date": "2018-10-01T14:25:17.897Z", - "update_date": "2018-10-01T19:30:12.478Z" - } - }, - "cell_suspension/b6ecf45c-4e8d-4a89-ae9b-98ee023dd878": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4748", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H11" - }, - "provenance": { - "document_id": "b6ecf45c-4e8d-4a89-ae9b-98ee023dd878", - "submission_date": "2018-10-01T14:25:17.907Z", - "update_date": "2018-10-01T19:30:17.101Z" - } - }, - "cell_suspension/ca622a16-bd7b-4956-b054-3b957cc3ab14": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4749", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J11" - }, - "provenance": { - "document_id": "ca622a16-bd7b-4956-b054-3b957cc3ab14", - "submission_date": "2018-10-01T14:25:17.917Z", - "update_date": "2018-10-01T19:30:19.151Z" - } - }, - "cell_suspension/faaaec08-7e4b-4b72-98d7-9948f707d9a7": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4750", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L11" - }, - "provenance": { - "document_id": "faaaec08-7e4b-4b72-98d7-9948f707d9a7", - "submission_date": "2018-10-01T14:25:17.927Z", - "update_date": "2018-10-01T19:30:19.530Z" - } - }, - "cell_suspension/81737f70-9097-4870-85ee-04cfd56a11f9": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4751", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N11" - }, - "provenance": { - "document_id": "81737f70-9097-4870-85ee-04cfd56a11f9", - "submission_date": "2018-10-01T14:25:17.935Z", - "update_date": "2018-10-01T19:30:19.668Z" - } - }, - "cell_suspension/4489f530-1179-47e6-a5a3-93a165b78b4f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4752", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P11" - }, - "provenance": { - "document_id": "4489f530-1179-47e6-a5a3-93a165b78b4f", - "submission_date": "2018-10-01T14:25:17.943Z", - "update_date": "2018-10-01T19:30:19.887Z" - } - }, - "cell_suspension/118738b2-b964-4ce9-92c2-99233a9bf1f6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4753", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B13" - }, - "provenance": { - "document_id": "118738b2-b964-4ce9-92c2-99233a9bf1f6", - "submission_date": "2018-10-01T14:25:17.951Z", - "update_date": "2018-10-01T19:30:20.146Z" - } - }, - "cell_suspension/a13895d3-7878-43c9-b4fc-a28ec263c2ca": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4754", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D13" - }, - "provenance": { - "document_id": "a13895d3-7878-43c9-b4fc-a28ec263c2ca", - "submission_date": "2018-10-01T14:25:17.960Z", - "update_date": "2018-10-01T19:30:20.463Z" - } - }, - "cell_suspension/9b45270b-3a2c-490a-aadf-6f492428a30a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4755", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F13" - }, - "provenance": { - "document_id": "9b45270b-3a2c-490a-aadf-6f492428a30a", - "submission_date": "2018-10-01T14:25:17.969Z", - "update_date": "2018-10-01T19:30:21.049Z" - } - }, - "cell_suspension/792cb5eb-6af3-48cb-b8f4-2ebae86d874f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4756", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H13" - }, - "provenance": { - "document_id": "792cb5eb-6af3-48cb-b8f4-2ebae86d874f", - "submission_date": "2018-10-01T14:25:17.978Z", - "update_date": "2018-10-01T19:30:21.287Z" - } - }, - "cell_suspension/d7be23ac-e7ed-48a1-b2ec-23239e1d2582": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4757", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J13" - }, - "provenance": { - "document_id": "d7be23ac-e7ed-48a1-b2ec-23239e1d2582", - "submission_date": "2018-10-01T14:25:17.986Z", - "update_date": "2018-10-01T19:30:21.491Z" - } - }, - "cell_suspension/dcb5f54a-4a75-47e3-b89f-8d7ba0931bf7": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4758", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L13" - }, - "provenance": { - "document_id": "dcb5f54a-4a75-47e3-b89f-8d7ba0931bf7", - "submission_date": "2018-10-01T14:25:17.993Z", - "update_date": "2018-10-01T19:30:21.836Z" - } - }, - "cell_suspension/49485ecc-2462-4e9b-85c5-2c928f959865": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4759", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N13" - }, - "provenance": { - "document_id": "49485ecc-2462-4e9b-85c5-2c928f959865", - "submission_date": "2018-10-01T14:25:18.002Z", - "update_date": "2018-10-01T19:30:22.456Z" - } - }, - "cell_suspension/4e512abf-defe-4d12-acd2-e10c0c6e3773": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4760", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P13" - }, - "provenance": { - "document_id": "4e512abf-defe-4d12-acd2-e10c0c6e3773", - "submission_date": "2018-10-01T14:25:18.011Z", - "update_date": "2018-10-01T19:30:22.651Z" - } - }, - "cell_suspension/3d739e69-414d-4c6e-9332-d33645e5b2a1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4761", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B15" - }, - "provenance": { - "document_id": "3d739e69-414d-4c6e-9332-d33645e5b2a1", - "submission_date": "2018-10-01T14:25:18.028Z", - "update_date": "2018-10-01T19:30:22.752Z" - } - }, - "cell_suspension/b2c053b2-fd84-43fc-bd47-d0cd401dea50": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4762", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D15" - }, - "provenance": { - "document_id": "b2c053b2-fd84-43fc-bd47-d0cd401dea50", - "submission_date": "2018-10-01T14:25:18.043Z", - "update_date": "2018-10-01T19:30:22.836Z" - } - }, - "cell_suspension/b9ce2b0c-b4d0-4ef3-afb9-53baf73afdb3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4763", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F15" - }, - "provenance": { - "document_id": "b9ce2b0c-b4d0-4ef3-afb9-53baf73afdb3", - "submission_date": "2018-10-01T14:25:18.052Z", - "update_date": "2018-10-01T19:30:23.209Z" - } - }, - "cell_suspension/673e9c5d-f467-4176-8e3d-165dec07cb35": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4764", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H15" - }, - "provenance": { - "document_id": "673e9c5d-f467-4176-8e3d-165dec07cb35", - "submission_date": "2018-10-01T14:25:18.060Z", - "update_date": "2018-10-01T19:30:23.463Z" - } - }, - "cell_suspension/7f814cfb-24e1-4b1a-a764-90b3ad762f76": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4765", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J15" - }, - "provenance": { - "document_id": "7f814cfb-24e1-4b1a-a764-90b3ad762f76", - "submission_date": "2018-10-01T14:25:18.068Z", - "update_date": "2018-10-01T19:30:23.678Z" - } - }, - "cell_suspension/c3789bf3-8c00-4074-966e-0769f301ce56": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4766", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L15" - }, - "provenance": { - "document_id": "c3789bf3-8c00-4074-966e-0769f301ce56", - "submission_date": "2018-10-01T14:25:18.078Z", - "update_date": "2018-10-01T19:30:23.867Z" - } - }, - "cell_suspension/4904d265-343c-4511-8c1e-9f6127bb1240": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4767", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N15" - }, - "provenance": { - "document_id": "4904d265-343c-4511-8c1e-9f6127bb1240", - "submission_date": "2018-10-01T14:25:18.087Z", - "update_date": "2018-10-01T19:30:24.062Z" - } - }, - "cell_suspension/2e34c3fd-7d0d-43b4-8d95-01b7ea4145c2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4768", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P15" - }, - "provenance": { - "document_id": "2e34c3fd-7d0d-43b4-8d95-01b7ea4145c2", - "submission_date": "2018-10-01T14:25:18.094Z", - "update_date": "2018-10-01T19:30:24.175Z" - } - }, - "cell_suspension/45bb9541-0bc1-48bb-99d4-8bb33c8c66ed": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4769", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B17" - }, - "provenance": { - "document_id": "45bb9541-0bc1-48bb-99d4-8bb33c8c66ed", - "submission_date": "2018-10-01T14:25:18.102Z", - "update_date": "2018-10-01T19:30:25.412Z" - } - }, - "cell_suspension/d2842cf5-c81f-4f3c-9fc8-60dcaf45c096": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4770", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D17" - }, - "provenance": { - "document_id": "d2842cf5-c81f-4f3c-9fc8-60dcaf45c096", - "submission_date": "2018-10-01T14:25:18.110Z", - "update_date": "2018-10-01T19:30:28.405Z" - } - }, - "cell_suspension/5f968cb2-026f-49fe-abb5-ad7bbda8571f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4771", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F17" - }, - "provenance": { - "document_id": "5f968cb2-026f-49fe-abb5-ad7bbda8571f", - "submission_date": "2018-10-01T14:25:18.118Z", - "update_date": "2018-10-01T19:30:28.624Z" - } - }, - "cell_suspension/97a5ef2f-46ff-4e2a-a88b-f4ae815c2338": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4772", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H17" - }, - "provenance": { - "document_id": "97a5ef2f-46ff-4e2a-a88b-f4ae815c2338", - "submission_date": "2018-10-01T14:25:18.127Z", - "update_date": "2018-10-01T19:30:28.944Z" - } - }, - "cell_suspension/9228c6b7-e42c-40b1-bf24-c3c78b60916f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4773", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J17" - }, - "provenance": { - "document_id": "9228c6b7-e42c-40b1-bf24-c3c78b60916f", - "submission_date": "2018-10-01T14:25:18.135Z", - "update_date": "2018-10-01T19:30:29.011Z" - } - }, - "cell_suspension/09cddb76-929b-4b6f-9f7f-8497df2a2e7b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4774", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L17" - }, - "provenance": { - "document_id": "09cddb76-929b-4b6f-9f7f-8497df2a2e7b", - "submission_date": "2018-10-01T14:25:18.145Z", - "update_date": "2018-10-01T19:30:29.117Z" - } - }, - "cell_suspension/418053f9-a3af-439b-8da4-9a87da9332fb": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4775", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N17" - }, - "provenance": { - "document_id": "418053f9-a3af-439b-8da4-9a87da9332fb", - "submission_date": "2018-10-01T14:25:18.153Z", - "update_date": "2018-10-01T19:30:29.232Z" - } - }, - "cell_suspension/cb590483-a17c-466c-8362-69d51f724740": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4776", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P17" - }, - "provenance": { - "document_id": "cb590483-a17c-466c-8362-69d51f724740", - "submission_date": "2018-10-01T14:25:18.162Z", - "update_date": "2018-10-01T19:30:29.353Z" - } - }, - "cell_suspension/96b46301-bcc0-42d5-95ff-c6aece337b2e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4777", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B19" - }, - "provenance": { - "document_id": "96b46301-bcc0-42d5-95ff-c6aece337b2e", - "submission_date": "2018-10-01T14:25:18.170Z", - "update_date": "2018-10-01T19:30:29.471Z" - } - }, - "cell_suspension/df4bc869-57db-4417-a6c4-2cddc0ad9b6c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4778", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D19" - }, - "provenance": { - "document_id": "df4bc869-57db-4417-a6c4-2cddc0ad9b6c", - "submission_date": "2018-10-01T14:25:18.178Z", - "update_date": "2018-10-01T19:30:29.650Z" - } - }, - "cell_suspension/955a16c5-08a7-46e1-9605-6f20006011e5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4779", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F19" - }, - "provenance": { - "document_id": "955a16c5-08a7-46e1-9605-6f20006011e5", - "submission_date": "2018-10-01T14:25:18.188Z", - "update_date": "2018-10-01T19:30:30.528Z" - } - }, - "cell_suspension/c463e2eb-0fa8-4f21-86f1-c5b9e76fd7cd": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4780", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H19" - }, - "provenance": { - "document_id": "c463e2eb-0fa8-4f21-86f1-c5b9e76fd7cd", - "submission_date": "2018-10-01T14:25:18.197Z", - "update_date": "2018-10-01T19:30:30.769Z" - } - }, - "cell_suspension/c1b1a57f-5787-47d3-9c92-270e55aeaeae": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4781", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J19" - }, - "provenance": { - "document_id": "c1b1a57f-5787-47d3-9c92-270e55aeaeae", - "submission_date": "2018-10-01T14:25:18.208Z", - "update_date": "2018-10-01T19:30:30.980Z" - } - }, - "cell_suspension/e59d038d-1035-4782-897b-95c2a3fb8ea6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4782", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L19" - }, - "provenance": { - "document_id": "e59d038d-1035-4782-897b-95c2a3fb8ea6", - "submission_date": "2018-10-01T14:25:18.216Z", - "update_date": "2018-10-01T19:30:31.073Z" - } - }, - "cell_suspension/ecb35227-6347-46e6-8330-da248b28ef1c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4783", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N19" - }, - "provenance": { - "document_id": "ecb35227-6347-46e6-8330-da248b28ef1c", - "submission_date": "2018-10-01T14:25:18.224Z", - "update_date": "2018-10-01T19:30:31.159Z" - } - }, - "cell_suspension/9346bd7d-945b-4a53-9a1b-2da8795edb97": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4784", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P19" - }, - "provenance": { - "document_id": "9346bd7d-945b-4a53-9a1b-2da8795edb97", - "submission_date": "2018-10-01T14:25:18.233Z", - "update_date": "2018-10-01T19:30:31.290Z" - } - }, - "cell_suspension/008b705b-7453-48fb-bb43-bfafb83aaecb": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4785", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B21" - }, - "provenance": { - "document_id": "008b705b-7453-48fb-bb43-bfafb83aaecb", - "submission_date": "2018-10-01T14:25:18.241Z", - "update_date": "2018-10-01T19:30:31.398Z" - } - }, - "cell_suspension/2e313cd2-7082-444a-8dd3-485a6b47ca56": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4786", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D21" - }, - "provenance": { - "document_id": "2e313cd2-7082-444a-8dd3-485a6b47ca56", - "submission_date": "2018-10-01T14:25:18.251Z", - "update_date": "2018-10-01T19:30:31.788Z" - } - }, - "cell_suspension/aefdb247-002d-45c4-9100-137709c20aa3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4787", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F21" - }, - "provenance": { - "document_id": "aefdb247-002d-45c4-9100-137709c20aa3", - "submission_date": "2018-10-01T14:25:18.262Z", - "update_date": "2018-10-01T19:30:32.056Z" - } - }, - "cell_suspension/9c2c2878-b50b-4fed-87c4-fee0424f8409": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4788", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H21" - }, - "provenance": { - "document_id": "9c2c2878-b50b-4fed-87c4-fee0424f8409", - "submission_date": "2018-10-01T14:25:18.271Z", - "update_date": "2018-10-01T19:30:32.308Z" - } - }, - "cell_suspension/ab0804bc-91e9-4d6e-ba70-ff05cd9a238f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4789", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J21" - }, - "provenance": { - "document_id": "ab0804bc-91e9-4d6e-ba70-ff05cd9a238f", - "submission_date": "2018-10-01T14:25:18.281Z", - "update_date": "2018-10-01T19:30:34.307Z" - } - }, - "cell_suspension/287984c5-d5f0-4b35-bce8-ccdea8cac79f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4790", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L21" - }, - "provenance": { - "document_id": "287984c5-d5f0-4b35-bce8-ccdea8cac79f", - "submission_date": "2018-10-01T14:25:18.291Z", - "update_date": "2018-10-01T19:30:37.968Z" - } - }, - "cell_suspension/b72f1527-7d06-4fcf-8d8f-3a0e688441d0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4791", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N21" - }, - "provenance": { - "document_id": "b72f1527-7d06-4fcf-8d8f-3a0e688441d0", - "submission_date": "2018-10-01T14:25:18.300Z", - "update_date": "2018-10-01T19:30:38.224Z" - } - }, - "cell_suspension/8ff1b66b-4c05-4df8-b245-5a0e1eace8b6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4792", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P21" - }, - "provenance": { - "document_id": "8ff1b66b-4c05-4df8-b245-5a0e1eace8b6", - "submission_date": "2018-10-01T14:25:18.310Z", - "update_date": "2018-10-01T19:30:38.329Z" - } - }, - "cell_suspension/6b0839e9-1066-4a33-9e6d-1d808bbe0bcf": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4793", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B23" - }, - "provenance": { - "document_id": "6b0839e9-1066-4a33-9e6d-1d808bbe0bcf", - "submission_date": "2018-10-01T14:25:18.319Z", - "update_date": "2018-10-01T19:30:38.411Z" - } - }, - "cell_suspension/9a0b8dfb-fcb6-4986-8045-27f14d977e4c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4794", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D23" - }, - "provenance": { - "document_id": "9a0b8dfb-fcb6-4986-8045-27f14d977e4c", - "submission_date": "2018-10-01T14:25:18.328Z", - "update_date": "2018-10-01T19:30:38.508Z" - } - }, - "cell_suspension/8feaa5f8-3e34-40f4-9c6a-b07a035cb312": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4795", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F23" - }, - "provenance": { - "document_id": "8feaa5f8-3e34-40f4-9c6a-b07a035cb312", - "submission_date": "2018-10-01T14:25:18.337Z", - "update_date": "2018-10-01T19:30:38.639Z" - } - }, - "cell_suspension/d37eb2d9-9d44-4dd5-bbbd-ecd78aa1d5d9": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4796", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H23" - }, - "provenance": { - "document_id": "d37eb2d9-9d44-4dd5-bbbd-ecd78aa1d5d9", - "submission_date": "2018-10-01T14:25:18.347Z", - "update_date": "2018-10-01T19:30:38.872Z" - } - }, - "cell_suspension/7d3360f2-70fe-404f-88ef-5aee14fef59d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4797", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J23" - }, - "provenance": { - "document_id": "7d3360f2-70fe-404f-88ef-5aee14fef59d", - "submission_date": "2018-10-01T14:25:18.355Z", - "update_date": "2018-10-01T19:30:39.044Z" - } - }, - "cell_suspension/0d2939dd-07cf-4f2a-9a94-7952ca8f5b37": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4798", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L23" - }, - "provenance": { - "document_id": "0d2939dd-07cf-4f2a-9a94-7952ca8f5b37", - "submission_date": "2018-10-01T14:25:18.362Z", - "update_date": "2018-10-01T19:30:39.121Z" - } - }, - "cell_suspension/e7201c2d-23a1-4601-ad71-9e7c1a9ba624": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4799", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N23" - }, - "provenance": { - "document_id": "e7201c2d-23a1-4601-ad71-9e7c1a9ba624", - "submission_date": "2018-10-01T14:25:18.370Z", - "update_date": "2018-10-01T19:30:39.203Z" - } - }, - "cell_suspension/69904f6c-bd79-4416-aec9-01ca3ce9cf30": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4800", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P23" - }, - "provenance": { - "document_id": "69904f6c-bd79-4416-aec9-01ca3ce9cf30", - "submission_date": "2018-10-01T14:25:18.380Z", - "update_date": "2018-10-01T19:30:39.271Z" - } - }, - "cell_suspension/889c1653-f645-4fdb-bf2a-d3df1666db8f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4801", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A2" - }, - "provenance": { - "document_id": "889c1653-f645-4fdb-bf2a-d3df1666db8f", - "submission_date": "2018-10-01T14:25:18.388Z", - "update_date": "2018-10-01T19:30:39.367Z" - } - }, - "cell_suspension/44702201-4017-40b5-99b3-294cb18f6485": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4802", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C2" - }, - "provenance": { - "document_id": "44702201-4017-40b5-99b3-294cb18f6485", - "submission_date": "2018-10-01T14:25:18.396Z", - "update_date": "2018-10-01T19:30:39.457Z" - } - }, - "cell_suspension/dfa7b19e-f557-4f3d-bb65-4afe77b9a571": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4803", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E2" - }, - "provenance": { - "document_id": "dfa7b19e-f557-4f3d-bb65-4afe77b9a571", - "submission_date": "2018-10-01T14:25:18.405Z", - "update_date": "2018-10-01T19:30:39.548Z" - } - }, - "cell_suspension/5be090a1-17fe-4fec-9608-a9e76b2a067e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4804", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G2" - }, - "provenance": { - "document_id": "5be090a1-17fe-4fec-9608-a9e76b2a067e", - "submission_date": "2018-10-01T14:25:18.412Z", - "update_date": "2018-10-01T19:30:39.720Z" - } - }, - "cell_suspension/fc031919-8ec5-4935-83ef-73560bbffa12": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4805", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I2" - }, - "provenance": { - "document_id": "fc031919-8ec5-4935-83ef-73560bbffa12", - "submission_date": "2018-10-01T14:25:18.421Z", - "update_date": "2018-10-01T19:30:39.952Z" - } - }, - "cell_suspension/e516c62c-9248-4b02-ae5d-ce6d93515431": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4806", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K2" - }, - "provenance": { - "document_id": "e516c62c-9248-4b02-ae5d-ce6d93515431", - "submission_date": "2018-10-01T14:25:18.431Z", - "update_date": "2018-10-01T19:30:40.214Z" - } - }, - "cell_suspension/f8abdc47-8e73-4988-909b-bb2bdb1ac015": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4807", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M2" - }, - "provenance": { - "document_id": "f8abdc47-8e73-4988-909b-bb2bdb1ac015", - "submission_date": "2018-10-01T14:25:18.439Z", - "update_date": "2018-10-01T19:30:40.845Z" - } - }, - "cell_suspension/ee754370-9a1a-4ef0-a7c4-38d77c5b7fd1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4808", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 0, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O2" - }, - "provenance": { - "document_id": "ee754370-9a1a-4ef0-a7c4-38d77c5b7fd1", - "submission_date": "2018-10-01T14:25:18.447Z", - "update_date": "2018-10-01T19:30:41.486Z" - } - }, - "cell_suspension/d66a864d-075b-4ffc-b315-6819d306107f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4809", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A4" - }, - "provenance": { - "document_id": "d66a864d-075b-4ffc-b315-6819d306107f", - "submission_date": "2018-10-01T14:25:18.455Z", - "update_date": "2018-10-01T19:30:42.507Z" - } - }, - "cell_suspension/e68e7817-6bb8-4463-99b4-996256ba2059": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4810", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C4" - }, - "provenance": { - "document_id": "e68e7817-6bb8-4463-99b4-996256ba2059", - "submission_date": "2018-10-01T14:25:18.467Z", - "update_date": "2018-10-01T19:30:43.508Z" - } - }, - "cell_suspension/27cc755e-524e-481a-8482-5f15e5dd07f4": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4811", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E4" - }, - "provenance": { - "document_id": "27cc755e-524e-481a-8482-5f15e5dd07f4", - "submission_date": "2018-10-01T14:25:18.477Z", - "update_date": "2018-10-01T19:30:44.507Z" - } - }, - "cell_suspension/54e37fd6-41a4-4cec-9dd9-e722a155a09a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4812", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G4" - }, - "provenance": { - "document_id": "54e37fd6-41a4-4cec-9dd9-e722a155a09a", - "submission_date": "2018-10-01T14:25:18.487Z", - "update_date": "2018-10-01T19:30:45.004Z" - } - }, - "cell_suspension/d828fd3e-18c2-43f8-9fec-b6f2a038fc20": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4813", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I4" - }, - "provenance": { - "document_id": "d828fd3e-18c2-43f8-9fec-b6f2a038fc20", - "submission_date": "2018-10-01T14:25:18.496Z", - "update_date": "2018-10-01T19:30:45.096Z" - } - }, - "cell_suspension/b118bd6f-e3c7-4e24-a86b-bf7eeb20304e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4814", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K4" - }, - "provenance": { - "document_id": "b118bd6f-e3c7-4e24-a86b-bf7eeb20304e", - "submission_date": "2018-10-01T14:25:18.505Z", - "update_date": "2018-10-01T19:30:45.234Z" - } - }, - "cell_suspension/96653737-43db-4320-bb50-2f9613d62051": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4815", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M4" - }, - "provenance": { - "document_id": "96653737-43db-4320-bb50-2f9613d62051", - "submission_date": "2018-10-01T14:25:18.515Z", - "update_date": "2018-10-01T19:30:45.388Z" - } - }, - "cell_suspension/7e8f718c-5d14-417c-bc6e-8471413a198f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4816", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O4" - }, - "provenance": { - "document_id": "7e8f718c-5d14-417c-bc6e-8471413a198f", - "submission_date": "2018-10-01T14:25:18.523Z", - "update_date": "2018-10-01T19:30:45.514Z" - } - }, - "cell_suspension/973529d6-eb7f-492e-af31-e3cc85a32663": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4817", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A6" - }, - "provenance": { - "document_id": "973529d6-eb7f-492e-af31-e3cc85a32663", - "submission_date": "2018-10-01T14:25:18.532Z", - "update_date": "2018-10-01T19:30:45.617Z" - } - }, - "cell_suspension/69bbeb43-a654-4a63-9744-5ff4fe1159ae": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4818", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C6" - }, - "provenance": { - "document_id": "69bbeb43-a654-4a63-9744-5ff4fe1159ae", - "submission_date": "2018-10-01T14:25:18.540Z", - "update_date": "2018-10-01T19:30:45.700Z" - } - }, - "cell_suspension/00a7c1da-8a02-430e-bb98-e97ffcde034b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4819", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E6" - }, - "provenance": { - "document_id": "00a7c1da-8a02-430e-bb98-e97ffcde034b", - "submission_date": "2018-10-01T14:25:18.549Z", - "update_date": "2018-10-01T19:30:45.803Z" - } - }, - "cell_suspension/766f48ea-10ee-488d-bb12-511ae63e8c8b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4820", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G6" - }, - "provenance": { - "document_id": "766f48ea-10ee-488d-bb12-511ae63e8c8b", - "submission_date": "2018-10-01T14:25:18.558Z", - "update_date": "2018-10-01T19:30:45.948Z" - } - }, - "cell_suspension/2fc1d678-e328-43bf-8141-237e34348dc0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4821", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I6" - }, - "provenance": { - "document_id": "2fc1d678-e328-43bf-8141-237e34348dc0", - "submission_date": "2018-10-01T14:25:18.568Z", - "update_date": "2018-10-01T19:30:46.149Z" - } - }, - "cell_suspension/82a2385e-4796-455e-a37f-9ccdf64edc60": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4822", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K6" - }, - "provenance": { - "document_id": "82a2385e-4796-455e-a37f-9ccdf64edc60", - "submission_date": "2018-10-01T14:25:18.578Z", - "update_date": "2018-10-01T19:30:46.385Z" - } - }, - "cell_suspension/897bcdee-8298-413c-90aa-30a8bd7257dd": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4823", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M6" - }, - "provenance": { - "document_id": "897bcdee-8298-413c-90aa-30a8bd7257dd", - "submission_date": "2018-10-01T14:25:18.587Z", - "update_date": "2018-10-01T19:30:46.679Z" - } - }, - "cell_suspension/ddb07363-366a-4bcf-ad11-f84bfe22dc49": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4824", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O6" - }, - "provenance": { - "document_id": "ddb07363-366a-4bcf-ad11-f84bfe22dc49", - "submission_date": "2018-10-01T14:25:18.596Z", - "update_date": "2018-10-01T19:30:46.777Z" - } - }, - "cell_suspension/0e1f39d3-c9a0-42b2-9d79-343e1c4d65fa": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4825", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A8" - }, - "provenance": { - "document_id": "0e1f39d3-c9a0-42b2-9d79-343e1c4d65fa", - "submission_date": "2018-10-01T14:25:18.605Z", - "update_date": "2018-10-01T19:30:46.849Z" - } - }, - "cell_suspension/dc4d9d54-fa0b-48ca-8bd1-c073f2707901": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4826", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C8" - }, - "provenance": { - "document_id": "dc4d9d54-fa0b-48ca-8bd1-c073f2707901", - "submission_date": "2018-10-01T14:25:18.613Z", - "update_date": "2018-10-01T19:30:46.951Z" - } - }, - "cell_suspension/864b9bf6-abae-4f33-a132-cbd0531953de": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4827", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E8" - }, - "provenance": { - "document_id": "864b9bf6-abae-4f33-a132-cbd0531953de", - "submission_date": "2018-10-01T14:25:18.621Z", - "update_date": "2018-10-01T19:30:47.133Z" - } - }, - "cell_suspension/3ccb5f99-c5ea-4c46-8c73-ee682fbd9e7e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4828", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G8" - }, - "provenance": { - "document_id": "3ccb5f99-c5ea-4c46-8c73-ee682fbd9e7e", - "submission_date": "2018-10-01T14:25:18.630Z", - "update_date": "2018-10-01T19:30:47.290Z" - } - }, - "cell_suspension/ca007aea-f452-4925-aba6-3fc250cfc5ab": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4829", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I8" - }, - "provenance": { - "document_id": "ca007aea-f452-4925-aba6-3fc250cfc5ab", - "submission_date": "2018-10-01T14:25:18.639Z", - "update_date": "2018-10-01T19:30:48.078Z" - } - }, - "cell_suspension/ed2f6d88-de43-4199-9b1b-5dd4a51ca8b6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4830", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K8" - }, - "provenance": { - "document_id": "ed2f6d88-de43-4199-9b1b-5dd4a51ca8b6", - "submission_date": "2018-10-01T14:25:18.647Z", - "update_date": "2018-10-01T19:30:48.323Z" - } - }, - "cell_suspension/33de2519-03b7-4556-abf0-3e87df485928": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4831", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M8" - }, - "provenance": { - "document_id": "33de2519-03b7-4556-abf0-3e87df485928", - "submission_date": "2018-10-01T14:25:18.656Z", - "update_date": "2018-10-01T19:30:48.538Z" - } - }, - "cell_suspension/c3b3d34b-2c45-48fb-9f7b-af3c700a9470": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4832", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O8" - }, - "provenance": { - "document_id": "c3b3d34b-2c45-48fb-9f7b-af3c700a9470", - "submission_date": "2018-10-01T14:25:18.665Z", - "update_date": "2018-10-01T19:30:55.340Z" - } - }, - "cell_suspension/8bd1a6ca-79d1-4af8-98c5-a87cc00bdd93": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4833", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A10" - }, - "provenance": { - "document_id": "8bd1a6ca-79d1-4af8-98c5-a87cc00bdd93", - "submission_date": "2018-10-01T14:25:18.673Z", - "update_date": "2018-10-01T19:30:55.562Z" - } - }, - "cell_suspension/19f0efe4-effb-4110-9dae-5c69326fde4a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4834", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C10" - }, - "provenance": { - "document_id": "19f0efe4-effb-4110-9dae-5c69326fde4a", - "submission_date": "2018-10-01T14:25:18.681Z", - "update_date": "2018-10-01T19:30:55.920Z" - } - }, - "cell_suspension/67575d18-ec23-4c84-adb7-21c72a9fb8da": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4835", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E10" - }, - "provenance": { - "document_id": "67575d18-ec23-4c84-adb7-21c72a9fb8da", - "submission_date": "2018-10-01T14:25:18.689Z", - "update_date": "2018-10-01T19:30:56.326Z" - } - }, - "cell_suspension/043813e3-e773-4237-819c-dc3517014aa9": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4836", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G10" - }, - "provenance": { - "document_id": "043813e3-e773-4237-819c-dc3517014aa9", - "submission_date": "2018-10-01T14:25:18.699Z", - "update_date": "2018-10-01T19:30:56.474Z" - } - }, - "cell_suspension/63df2596-d6e0-4021-abee-c112d79654d3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4837", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I10" - }, - "provenance": { - "document_id": "63df2596-d6e0-4021-abee-c112d79654d3", - "submission_date": "2018-10-01T14:25:18.710Z", - "update_date": "2018-10-01T19:30:56.613Z" - } - }, - "cell_suspension/0c840278-1998-4d08-a5c8-76b8708130a8": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4838", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K10" - }, - "provenance": { - "document_id": "0c840278-1998-4d08-a5c8-76b8708130a8", - "submission_date": "2018-10-01T14:25:18.719Z", - "update_date": "2018-10-01T19:30:56.731Z" - } - }, - "cell_suspension/4940131a-be8e-4ba5-9c91-ef9dbdc81763": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4839", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M10" - }, - "provenance": { - "document_id": "4940131a-be8e-4ba5-9c91-ef9dbdc81763", - "submission_date": "2018-10-01T14:25:18.731Z", - "update_date": "2018-10-01T19:30:56.972Z" - } - }, - "cell_suspension/bad4f40f-8023-4c53-9b98-e9833e5dab9c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4840", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O10" - }, - "provenance": { - "document_id": "bad4f40f-8023-4c53-9b98-e9833e5dab9c", - "submission_date": "2018-10-01T14:25:18.742Z", - "update_date": "2018-10-01T19:30:57.232Z" - } - }, - "cell_suspension/052161ca-c389-4b9e-a6ae-6f2e37739988": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4841", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A12" - }, - "provenance": { - "document_id": "052161ca-c389-4b9e-a6ae-6f2e37739988", - "submission_date": "2018-10-01T14:25:18.750Z", - "update_date": "2018-10-01T19:30:57.480Z" - } - }, - "cell_suspension/450be104-d782-4f9a-a438-578c951c2686": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4842", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C12" - }, - "provenance": { - "document_id": "450be104-d782-4f9a-a438-578c951c2686", - "submission_date": "2018-10-01T14:25:18.760Z", - "update_date": "2018-10-01T19:30:57.661Z" - } - }, - "cell_suspension/755fca8f-3c4a-4b9f-9ae5-1a8aef3bd27e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4843", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E12" - }, - "provenance": { - "document_id": "755fca8f-3c4a-4b9f-9ae5-1a8aef3bd27e", - "submission_date": "2018-10-01T14:25:18.769Z", - "update_date": "2018-10-01T19:30:58.248Z" - } - }, - "cell_suspension/614cb73f-7ed9-4ded-93a8-d7979f124550": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4844", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G12" - }, - "provenance": { - "document_id": "614cb73f-7ed9-4ded-93a8-d7979f124550", - "submission_date": "2018-10-01T14:25:18.778Z", - "update_date": "2018-10-01T19:30:58.482Z" - } - }, - "cell_suspension/20ad6581-b62c-4d01-8db9-48c0d09fa674": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4845", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I12" - }, - "provenance": { - "document_id": "20ad6581-b62c-4d01-8db9-48c0d09fa674", - "submission_date": "2018-10-01T14:25:18.789Z", - "update_date": "2018-10-01T19:30:58.753Z" - } - }, - "cell_suspension/84a7252c-70ad-4620-96ce-13086c5edc72": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4846", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K12" - }, - "provenance": { - "document_id": "84a7252c-70ad-4620-96ce-13086c5edc72", - "submission_date": "2018-10-01T14:25:18.797Z", - "update_date": "2018-10-01T19:30:58.851Z" - } - }, - "cell_suspension/2546ba98-ebc5-4bc5-87c9-f63e74e736dd": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4847", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M12" - }, - "provenance": { - "document_id": "2546ba98-ebc5-4bc5-87c9-f63e74e736dd", - "submission_date": "2018-10-01T14:25:18.805Z", - "update_date": "2018-10-01T19:30:58.946Z" - } - }, - "cell_suspension/deaec450-2035-4bf3-8ead-7e43ef73d6b9": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4848", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O12" - }, - "provenance": { - "document_id": "deaec450-2035-4bf3-8ead-7e43ef73d6b9", - "submission_date": "2018-10-01T14:25:18.814Z", - "update_date": "2018-10-01T19:30:59.258Z" - } - }, - "cell_suspension/c3e4dff7-fcba-439c-bfcf-cfb28c16cc6b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4849", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A14" - }, - "provenance": { - "document_id": "c3e4dff7-fcba-439c-bfcf-cfb28c16cc6b", - "submission_date": "2018-10-01T14:25:18.823Z", - "update_date": "2018-10-01T19:30:59.425Z" - } - }, - "cell_suspension/11ef6598-47b0-47b3-ab82-6522e920be48": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4850", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C14" - }, - "provenance": { - "document_id": "11ef6598-47b0-47b3-ab82-6522e920be48", - "submission_date": "2018-10-01T14:25:18.831Z", - "update_date": "2018-10-01T19:30:59.597Z" - } - }, - "cell_suspension/7dd4926c-61cf-4641-948b-447167f4bb49": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4851", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E14" - }, - "provenance": { - "document_id": "7dd4926c-61cf-4641-948b-447167f4bb49", - "submission_date": "2018-10-01T14:25:18.844Z", - "update_date": "2018-10-01T19:30:59.784Z" - } - }, - "cell_suspension/b1b36ac8-45ee-4ab1-ae44-4a3f227502c6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4852", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G14" - }, - "provenance": { - "document_id": "b1b36ac8-45ee-4ab1-ae44-4a3f227502c6", - "submission_date": "2018-10-01T14:25:18.853Z", - "update_date": "2018-10-01T19:30:59.985Z" - } - }, - "cell_suspension/7b25976d-4b25-4632-84f0-46a492d7a2f8": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4853", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I14" - }, - "provenance": { - "document_id": "7b25976d-4b25-4632-84f0-46a492d7a2f8", - "submission_date": "2018-10-01T14:25:18.862Z", - "update_date": "2018-10-01T19:31:00.764Z" - } - }, - "cell_suspension/070419ba-e292-4212-985e-59e6ca23c14a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4854", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K14" - }, - "provenance": { - "document_id": "070419ba-e292-4212-985e-59e6ca23c14a", - "submission_date": "2018-10-01T14:25:18.870Z", - "update_date": "2018-10-01T19:31:01.949Z" - } - }, - "cell_suspension/2d490b08-225c-47cc-aaa9-c8eaba61352f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4855", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M14" - }, - "provenance": { - "document_id": "2d490b08-225c-47cc-aaa9-c8eaba61352f", - "submission_date": "2018-10-01T14:25:18.878Z", - "update_date": "2018-10-01T19:31:03.076Z" - } - }, - "cell_suspension/4f42bb6d-1210-4b9a-834b-28aa78324651": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4856", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O14" - }, - "provenance": { - "document_id": "4f42bb6d-1210-4b9a-834b-28aa78324651", - "submission_date": "2018-10-01T14:25:18.887Z", - "update_date": "2018-10-01T19:31:03.532Z" - } - }, - "cell_suspension/d42a3030-e44c-47c1-8f15-a4987f2c7452": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4857", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A16" - }, - "provenance": { - "document_id": "d42a3030-e44c-47c1-8f15-a4987f2c7452", - "submission_date": "2018-10-01T14:25:18.895Z", - "update_date": "2018-10-01T19:31:03.646Z" - } - }, - "cell_suspension/b711a580-97d6-4a6b-b28c-c956d163fda4": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4858", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C16" - }, - "provenance": { - "document_id": "b711a580-97d6-4a6b-b28c-c956d163fda4", - "submission_date": "2018-10-01T14:25:18.904Z", - "update_date": "2018-10-01T19:31:03.863Z" - } - }, - "cell_suspension/e3b6af9e-1081-4b0d-aab2-6f2d73dac468": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4859", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E16" - }, - "provenance": { - "document_id": "e3b6af9e-1081-4b0d-aab2-6f2d73dac468", - "submission_date": "2018-10-01T14:25:18.913Z", - "update_date": "2018-10-01T19:31:04.118Z" - } - }, - "cell_suspension/47fdca59-b1e6-4d0d-8a1a-fc8f16993684": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4860", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G16" - }, - "provenance": { - "document_id": "47fdca59-b1e6-4d0d-8a1a-fc8f16993684", - "submission_date": "2018-10-01T14:25:18.923Z", - "update_date": "2018-10-01T19:31:04.233Z" - } - }, - "cell_suspension/51c8e3c8-042f-4253-aa48-3452ceaa9b90": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4861", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I16" - }, - "provenance": { - "document_id": "51c8e3c8-042f-4253-aa48-3452ceaa9b90", - "submission_date": "2018-10-01T14:25:18.933Z", - "update_date": "2018-10-01T19:31:04.380Z" - } - }, - "cell_suspension/b62dfb1c-5aeb-4ad0-b350-efd09cf85dfd": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4862", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K16" - }, - "provenance": { - "document_id": "b62dfb1c-5aeb-4ad0-b350-efd09cf85dfd", - "submission_date": "2018-10-01T14:25:18.940Z", - "update_date": "2018-10-01T19:31:04.511Z" - } - }, - "cell_suspension/1b96601e-0cf5-4c57-9c51-aa2f0a86d916": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4863", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M16" - }, - "provenance": { - "document_id": "1b96601e-0cf5-4c57-9c51-aa2f0a86d916", - "submission_date": "2018-10-01T14:25:18.948Z", - "update_date": "2018-10-01T19:31:04.660Z" - } - }, - "cell_suspension/06744801-ce2b-4a8e-81ec-1ff4526d91df": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4864", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O16" - }, - "provenance": { - "document_id": "06744801-ce2b-4a8e-81ec-1ff4526d91df", - "submission_date": "2018-10-01T14:25:18.957Z", - "update_date": "2018-10-01T19:31:04.877Z" - } - }, - "cell_suspension/8e082241-69be-449c-b561-cd2b8f268723": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4865", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A18" - }, - "provenance": { - "document_id": "8e082241-69be-449c-b561-cd2b8f268723", - "submission_date": "2018-10-01T14:25:18.967Z", - "update_date": "2018-10-01T19:31:05.202Z" - } - }, - "cell_suspension/b4e76029-f708-48f4-b9e7-d6d4591476f5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4866", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C18" - }, - "provenance": { - "document_id": "b4e76029-f708-48f4-b9e7-d6d4591476f5", - "submission_date": "2018-10-01T14:25:18.977Z", - "update_date": "2018-10-01T19:31:05.525Z" - } - }, - "cell_suspension/bc1a872c-0e2b-4065-bf85-4edafe3158aa": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4867", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E18" - }, - "provenance": { - "document_id": "bc1a872c-0e2b-4065-bf85-4edafe3158aa", - "submission_date": "2018-10-01T14:25:18.986Z", - "update_date": "2018-10-01T19:31:06.090Z" - } - }, - "cell_suspension/a17ec89f-ee4e-4f2e-a8bc-e6939b780268": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4868", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G18" - }, - "provenance": { - "document_id": "a17ec89f-ee4e-4f2e-a8bc-e6939b780268", - "submission_date": "2018-10-01T14:25:18.994Z", - "update_date": "2018-10-01T19:31:08.394Z" - } - }, - "cell_suspension/a1bc22a0-e024-4ef4-900b-51e032291a39": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4869", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I18" - }, - "provenance": { - "document_id": "a1bc22a0-e024-4ef4-900b-51e032291a39", - "submission_date": "2018-10-01T14:25:19.002Z", - "update_date": "2018-10-01T19:31:09.306Z" - } - }, - "cell_suspension/45cbcff3-db91-4c4d-b233-ff480cbaa95e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4870", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K18" - }, - "provenance": { - "document_id": "45cbcff3-db91-4c4d-b233-ff480cbaa95e", - "submission_date": "2018-10-01T14:25:19.010Z", - "update_date": "2018-10-01T19:31:09.896Z" - } - }, - "cell_suspension/0eedc57e-b68b-46ca-8d54-0303f36b588c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4871", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M18" - }, - "provenance": { - "document_id": "0eedc57e-b68b-46ca-8d54-0303f36b588c", - "submission_date": "2018-10-01T14:25:19.020Z", - "update_date": "2018-10-01T19:31:10.242Z" - } - }, - "cell_suspension/8e85f524-7e64-4c60-900c-4267f2a3201e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4872", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O18" - }, - "provenance": { - "document_id": "8e85f524-7e64-4c60-900c-4267f2a3201e", - "submission_date": "2018-10-01T14:25:19.028Z", - "update_date": "2018-10-01T19:31:10.460Z" - } - }, - "cell_suspension/b618dd5d-90a7-47b1-87a2-0a8fff0a5d05": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4873", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A20" - }, - "provenance": { - "document_id": "b618dd5d-90a7-47b1-87a2-0a8fff0a5d05", - "submission_date": "2018-10-01T14:25:19.036Z", - "update_date": "2018-10-01T19:31:10.682Z" - } - }, - "cell_suspension/8e83c52a-52a6-46b7-8cdb-b249d8a134a2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4874", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C20" - }, - "provenance": { - "document_id": "8e83c52a-52a6-46b7-8cdb-b249d8a134a2", - "submission_date": "2018-10-01T14:25:19.044Z", - "update_date": "2018-10-01T19:31:10.873Z" - } - }, - "cell_suspension/be726db6-7ac6-4114-a172-42b29c83644a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4875", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E20" - }, - "provenance": { - "document_id": "be726db6-7ac6-4114-a172-42b29c83644a", - "submission_date": "2018-10-01T14:25:19.053Z", - "update_date": "2018-10-01T19:31:11.099Z" - } - }, - "cell_suspension/03cf98ed-4baf-4f5d-976f-cd11a8dfefbe": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4876", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G20" - }, - "provenance": { - "document_id": "03cf98ed-4baf-4f5d-976f-cd11a8dfefbe", - "submission_date": "2018-10-01T14:25:19.062Z", - "update_date": "2018-10-01T19:31:11.288Z" - } - }, - "cell_suspension/51d68613-d693-4005-abfc-2c7eee72c34b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4877", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I20" - }, - "provenance": { - "document_id": "51d68613-d693-4005-abfc-2c7eee72c34b", - "submission_date": "2018-10-01T14:25:19.070Z", - "update_date": "2018-10-01T19:31:11.506Z" - } - }, - "cell_suspension/68fdb7c9-958e-4225-ade0-dc288ae397b1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4878", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K20" - }, - "provenance": { - "document_id": "68fdb7c9-958e-4225-ade0-dc288ae397b1", - "submission_date": "2018-10-01T14:25:19.079Z", - "update_date": "2018-10-01T19:31:11.669Z" - } - }, - "cell_suspension/c2c42288-737d-4a94-a4d5-f4ac232a87c7": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4879", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M20" - }, - "provenance": { - "document_id": "c2c42288-737d-4a94-a4d5-f4ac232a87c7", - "submission_date": "2018-10-01T14:25:19.087Z", - "update_date": "2018-10-01T19:31:11.745Z" - } - }, - "cell_suspension/408e204d-aaa7-4b57-b2a9-5aa94a202b37": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4880", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O20" - }, - "provenance": { - "document_id": "408e204d-aaa7-4b57-b2a9-5aa94a202b37", - "submission_date": "2018-10-01T14:25:19.096Z", - "update_date": "2018-10-01T19:31:11.824Z" - } - }, - "cell_suspension/daaeb295-c869-4ce2-86d7-2b93a4caa3b6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4881", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A22" - }, - "provenance": { - "document_id": "daaeb295-c869-4ce2-86d7-2b93a4caa3b6", - "submission_date": "2018-10-01T14:25:19.106Z", - "update_date": "2018-10-01T19:31:11.906Z" - } - }, - "cell_suspension/4d9516b9-a40c-4556-aaf8-2fda570aca17": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4882", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C22" - }, - "provenance": { - "document_id": "4d9516b9-a40c-4556-aaf8-2fda570aca17", - "submission_date": "2018-10-01T14:25:19.116Z", - "update_date": "2018-10-01T19:31:11.988Z" - } - }, - "cell_suspension/c8313483-c3cd-4c83-8b65-e7d517fcaca0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4883", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E22" - }, - "provenance": { - "document_id": "c8313483-c3cd-4c83-8b65-e7d517fcaca0", - "submission_date": "2018-10-01T14:25:19.124Z", - "update_date": "2018-10-01T19:31:12.064Z" - } - }, - "cell_suspension/c3604fd4-73f1-4dc3-b88c-ee4c7df94c08": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4884", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G22" - }, - "provenance": { - "document_id": "c3604fd4-73f1-4dc3-b88c-ee4c7df94c08", - "submission_date": "2018-10-01T14:25:19.133Z", - "update_date": "2018-10-01T19:31:12.410Z" - } - }, - "cell_suspension/f5610c0a-0b93-4ea2-a098-37238f36cc03": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4885", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I22" - }, - "provenance": { - "document_id": "f5610c0a-0b93-4ea2-a098-37238f36cc03", - "submission_date": "2018-10-01T14:25:19.144Z", - "update_date": "2018-10-01T19:31:14.138Z" - } - }, - "cell_suspension/42aabb76-48f8-4c72-b482-313ba07dc7a7": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4886", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K22" - }, - "provenance": { - "document_id": "42aabb76-48f8-4c72-b482-313ba07dc7a7", - "submission_date": "2018-10-01T14:25:19.181Z", - "update_date": "2018-10-01T19:31:14.906Z" - } - }, - "cell_suspension/6a47520c-90ca-4cef-8535-e57cdea14d02": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4887", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M22" - }, - "provenance": { - "document_id": "6a47520c-90ca-4cef-8535-e57cdea14d02", - "submission_date": "2018-10-01T14:25:19.380Z", - "update_date": "2018-10-01T19:31:15.753Z" - } - }, - "cell_suspension/3b0424a9-c041-49e8-80a4-d7e4006b1ca0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4888", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O22" - }, - "provenance": { - "document_id": "3b0424a9-c041-49e8-80a4-d7e4006b1ca0", - "submission_date": "2018-10-01T14:25:19.505Z", - "update_date": "2018-10-01T19:31:16.672Z" - } - }, - "cell_suspension/ebccdcd4-1f04-4365-92ac-bb82bdc961f6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4889", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "A24" - }, - "provenance": { - "document_id": "ebccdcd4-1f04-4365-92ac-bb82bdc961f6", - "submission_date": "2018-10-01T14:25:19.589Z", - "update_date": "2018-10-01T19:31:17.123Z" - } - }, - "cell_suspension/94dde38b-f573-4443-a557-47bce9ce2dbd": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4890", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "C24" - }, - "provenance": { - "document_id": "94dde38b-f573-4443-a557-47bce9ce2dbd", - "submission_date": "2018-10-01T14:25:19.602Z", - "update_date": "2018-10-01T19:31:17.328Z" - } - }, - "cell_suspension/b6249791-2be6-4668-9600-f225aaca39a0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4891", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "E24" - }, - "provenance": { - "document_id": "b6249791-2be6-4668-9600-f225aaca39a0", - "submission_date": "2018-10-01T14:25:19.618Z", - "update_date": "2018-10-01T19:31:17.502Z" - } - }, - "cell_suspension/d36c22b5-69f5-4605-b334-4e39c10bda43": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4892", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "G24" - }, - "provenance": { - "document_id": "d36c22b5-69f5-4605-b334-4e39c10bda43", - "submission_date": "2018-10-01T14:25:19.637Z", - "update_date": "2018-10-01T19:31:17.694Z" - } - }, - "cell_suspension/aa86bbac-dd6c-4743-856e-e7549b7d7f07": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4893", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "I24" - }, - "provenance": { - "document_id": "aa86bbac-dd6c-4743-856e-e7549b7d7f07", - "submission_date": "2018-10-01T14:25:19.651Z", - "update_date": "2018-10-01T19:31:17.921Z" - } - }, - "cell_suspension/c785817f-c9ef-46fb-84e8-0d08b77e2b03": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4894", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "K24" - }, - "provenance": { - "document_id": "c785817f-c9ef-46fb-84e8-0d08b77e2b03", - "submission_date": "2018-10-01T14:25:19.660Z", - "update_date": "2018-10-01T19:31:18.322Z" - } - }, - "cell_suspension/b010a06d-3df1-4e6c-8d4d-70d1992022a7": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4895", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "M24" - }, - "provenance": { - "document_id": "b010a06d-3df1-4e6c-8d4d-70d1992022a7", - "submission_date": "2018-10-01T14:25:19.671Z", - "update_date": "2018-10-01T19:31:18.506Z" - } - }, - "cell_suspension/c3dfb298-082f-4c1d-97dc-84b7292c4c50": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4896", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "O24" - }, - "provenance": { - "document_id": "c3dfb298-082f-4c1d-97dc-84b7292c4c50", - "submission_date": "2018-10-01T14:25:19.689Z", - "update_date": "2018-10-01T19:31:18.623Z" - } - }, - "cell_suspension/c550b8f6-e3dc-427e-a999-666c7feefe92": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4897", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B2" - }, - "provenance": { - "document_id": "c550b8f6-e3dc-427e-a999-666c7feefe92", - "submission_date": "2018-10-01T14:25:19.699Z", - "update_date": "2018-10-01T19:31:18.695Z" - } - }, - "cell_suspension/e3506c54-90d3-4ab1-9209-41e0b46c0fa5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4898", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D2" - }, - "provenance": { - "document_id": "e3506c54-90d3-4ab1-9209-41e0b46c0fa5", - "submission_date": "2018-10-01T14:25:19.754Z", - "update_date": "2018-10-01T19:31:18.838Z" - } - }, - "cell_suspension/45f8303c-27ff-443f-a78e-38a55b260fe2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4899", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F2" - }, - "provenance": { - "document_id": "45f8303c-27ff-443f-a78e-38a55b260fe2", - "submission_date": "2018-10-01T14:25:19.809Z", - "update_date": "2018-10-01T19:31:18.974Z" - } - }, - "cell_suspension/134e54ca-cce6-434b-868b-ef0b0b07a558": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4900", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H2" - }, - "provenance": { - "document_id": "134e54ca-cce6-434b-868b-ef0b0b07a558", - "submission_date": "2018-10-01T14:25:19.901Z", - "update_date": "2018-10-01T19:31:19.214Z" - } - }, - "cell_suspension/1d36033f-e83b-48a4-a2ef-605d6be305f9": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4901", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J2" - }, - "provenance": { - "document_id": "1d36033f-e83b-48a4-a2ef-605d6be305f9", - "submission_date": "2018-10-01T14:25:20.101Z", - "update_date": "2018-10-01T19:31:19.453Z" - } - }, - "cell_suspension/ddd2ebac-c299-4d31-b133-852496bcc01a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4902", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L2" - }, - "provenance": { - "document_id": "ddd2ebac-c299-4d31-b133-852496bcc01a", - "submission_date": "2018-10-01T14:25:21.240Z", - "update_date": "2018-10-01T19:31:20.094Z" - } - }, - "cell_suspension/4a6c2fc9-6ac6-49a1-abdc-746b43073d43": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4903", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N2" - }, - "provenance": { - "document_id": "4a6c2fc9-6ac6-49a1-abdc-746b43073d43", - "submission_date": "2018-10-01T14:25:22.006Z", - "update_date": "2018-10-01T19:31:21.106Z" - } - }, - "cell_suspension/826c493b-e549-4951-b554-f407a1cbd114": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4904", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 0, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P2" - }, - "provenance": { - "document_id": "826c493b-e549-4951-b554-f407a1cbd114", - "submission_date": "2018-10-01T14:25:22.842Z", - "update_date": "2018-10-01T19:31:22.239Z" - } - }, - "cell_suspension/ac86c2c6-3dd3-401a-aae7-6dc5f732cbee": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4905", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B4" - }, - "provenance": { - "document_id": "ac86c2c6-3dd3-401a-aae7-6dc5f732cbee", - "submission_date": "2018-10-01T14:25:23.590Z", - "update_date": "2018-10-01T19:31:24.777Z" - } - }, - "cell_suspension/323bc866-e47a-45f9-be83-4152f1850b67": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4906", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D4" - }, - "provenance": { - "document_id": "323bc866-e47a-45f9-be83-4152f1850b67", - "submission_date": "2018-10-01T14:25:24.143Z", - "update_date": "2018-10-01T19:31:25.017Z" - } - }, - "cell_suspension/e911a111-cad9-4cb1-b64b-639ea244fd19": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4907", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F4" - }, - "provenance": { - "document_id": "e911a111-cad9-4cb1-b64b-639ea244fd19", - "submission_date": "2018-10-01T14:25:24.793Z", - "update_date": "2018-10-01T19:31:25.099Z" - } - }, - "cell_suspension/7508c8ad-c6c0-4767-9ff0-2f705b1a6469": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4908", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H4" - }, - "provenance": { - "document_id": "7508c8ad-c6c0-4767-9ff0-2f705b1a6469", - "submission_date": "2018-10-01T14:25:25.438Z", - "update_date": "2018-10-01T19:31:25.208Z" - } - }, - "cell_suspension/68a1d68a-a4b2-4a02-b9b4-eaa845325af9": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4909", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J4" - }, - "provenance": { - "document_id": "68a1d68a-a4b2-4a02-b9b4-eaa845325af9", - "submission_date": "2018-10-01T14:25:25.909Z", - "update_date": "2018-10-01T19:31:25.305Z" - } - }, - "cell_suspension/401ba2a2-d651-4d06-9ee9-1569a9253417": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4910", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L4" - }, - "provenance": { - "document_id": "401ba2a2-d651-4d06-9ee9-1569a9253417", - "submission_date": "2018-10-01T14:25:26.622Z", - "update_date": "2018-10-01T19:31:25.385Z" - } - }, - "cell_suspension/5bc3b7fe-ce90-437a-9695-fed4883c874e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4911", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N4" - }, - "provenance": { - "document_id": "5bc3b7fe-ce90-437a-9695-fed4883c874e", - "submission_date": "2018-10-01T14:25:27.012Z", - "update_date": "2018-10-01T19:31:25.459Z" - } - }, - "cell_suspension/2219ba4f-a802-43d5-a5b1-f3516ec1e148": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4912", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P4" - }, - "provenance": { - "document_id": "2219ba4f-a802-43d5-a5b1-f3516ec1e148", - "submission_date": "2018-10-01T14:25:27.246Z", - "update_date": "2018-10-01T19:31:25.699Z" - } - }, - "cell_suspension/329e2de1-fff2-468e-bec3-7e180a61cff6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4913", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B6" - }, - "provenance": { - "document_id": "329e2de1-fff2-468e-bec3-7e180a61cff6", - "submission_date": "2018-10-01T14:25:27.453Z", - "update_date": "2018-10-01T19:31:25.826Z" - } - }, - "cell_suspension/b9f94889-f1d0-4771-8269-b85d2c5917f4": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4914", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D6" - }, - "provenance": { - "document_id": "b9f94889-f1d0-4771-8269-b85d2c5917f4", - "submission_date": "2018-10-01T14:25:27.576Z", - "update_date": "2018-10-01T19:31:25.997Z" - } - }, - "cell_suspension/a5d7cba2-e659-45bd-a1ae-46085ec5c697": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4915", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F6" - }, - "provenance": { - "document_id": "a5d7cba2-e659-45bd-a1ae-46085ec5c697", - "submission_date": "2018-10-01T14:25:27.744Z", - "update_date": "2018-10-01T19:31:26.493Z" - } - }, - "cell_suspension/04a0bd98-c6b8-46bf-bd5f-21d56d8e0456": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4916", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H6" - }, - "provenance": { - "document_id": "04a0bd98-c6b8-46bf-bd5f-21d56d8e0456", - "submission_date": "2018-10-01T14:25:27.851Z", - "update_date": "2018-10-01T19:31:26.564Z" - } - }, - "cell_suspension/1fd40b0f-aca2-4455-b168-b15803319ab4": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4917", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J6" - }, - "provenance": { - "document_id": "1fd40b0f-aca2-4455-b168-b15803319ab4", - "submission_date": "2018-10-01T14:25:27.894Z", - "update_date": "2018-10-01T19:31:26.638Z" - } - }, - "cell_suspension/5f099f7f-8fc4-40b4-badd-49f2e726cdb6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4918", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L6" - }, - "provenance": { - "document_id": "5f099f7f-8fc4-40b4-badd-49f2e726cdb6", - "submission_date": "2018-10-01T14:25:27.915Z", - "update_date": "2018-10-01T19:31:26.839Z" - } - }, - "cell_suspension/7efb3b8f-9479-4807-8466-ef6276b86f12": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4919", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N6" - }, - "provenance": { - "document_id": "7efb3b8f-9479-4807-8466-ef6276b86f12", - "submission_date": "2018-10-01T14:25:27.939Z", - "update_date": "2018-10-01T19:31:27.162Z" - } - }, - "cell_suspension/ce935434-17b6-4b13-bb92-7b68e754351a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4920", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P6" - }, - "provenance": { - "document_id": "ce935434-17b6-4b13-bb92-7b68e754351a", - "submission_date": "2018-10-01T14:25:28.059Z", - "update_date": "2018-10-01T19:31:27.649Z" - } - }, - "cell_suspension/3bc69d70-ef38-4b61-8741-3a188c18f702": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4921", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B8" - }, - "provenance": { - "document_id": "3bc69d70-ef38-4b61-8741-3a188c18f702", - "submission_date": "2018-10-01T14:25:28.287Z", - "update_date": "2018-10-01T19:31:28.269Z" - } - }, - "cell_suspension/808c6467-5d7b-4c6c-b83a-e47b0362dcdc": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4922", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D8" - }, - "provenance": { - "document_id": "808c6467-5d7b-4c6c-b83a-e47b0362dcdc", - "submission_date": "2018-10-01T14:25:28.356Z", - "update_date": "2018-10-01T19:31:28.621Z" - } - }, - "cell_suspension/4fe13b1d-faf4-486e-983c-97b7d0470e9e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4923", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F8" - }, - "provenance": { - "document_id": "4fe13b1d-faf4-486e-983c-97b7d0470e9e", - "submission_date": "2018-10-01T14:25:28.426Z", - "update_date": "2018-10-01T19:31:28.821Z" - } - }, - "cell_suspension/c3522608-ddc7-4d0b-aa16-6fa291324d99": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4924", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H8" - }, - "provenance": { - "document_id": "c3522608-ddc7-4d0b-aa16-6fa291324d99", - "submission_date": "2018-10-01T14:25:28.482Z", - "update_date": "2018-10-01T19:31:29.063Z" - } - }, - "cell_suspension/516902a4-2792-497a-9fa9-9ff596ebcd0f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4925", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J8" - }, - "provenance": { - "document_id": "516902a4-2792-497a-9fa9-9ff596ebcd0f", - "submission_date": "2018-10-01T14:25:28.495Z", - "update_date": "2018-10-01T19:31:29.428Z" - } - }, - "cell_suspension/180347ed-c17b-44be-af2d-567400400b0a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4926", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L8" - }, - "provenance": { - "document_id": "180347ed-c17b-44be-af2d-567400400b0a", - "submission_date": "2018-10-01T14:25:28.508Z", - "update_date": "2018-10-01T19:31:29.739Z" - } - }, - "cell_suspension/dc7e3296-ece0-40dc-a693-4c87c5ecec5d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4927", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N8" - }, - "provenance": { - "document_id": "dc7e3296-ece0-40dc-a693-4c87c5ecec5d", - "submission_date": "2018-10-01T14:25:28.520Z", - "update_date": "2018-10-01T19:31:29.982Z" - } - }, - "cell_suspension/5bc13124-4b0e-4359-bd43-ec3d9cd53724": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4928", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P8" - }, - "provenance": { - "document_id": "5bc13124-4b0e-4359-bd43-ec3d9cd53724", - "submission_date": "2018-10-01T14:25:28.569Z", - "update_date": "2018-10-01T19:31:30.610Z" - } - }, - "cell_suspension/855a9372-8649-436f-9e85-ceb090225d9e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4929", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B10" - }, - "provenance": { - "document_id": "855a9372-8649-436f-9e85-ceb090225d9e", - "submission_date": "2018-10-01T14:25:28.598Z", - "update_date": "2018-10-01T19:31:31.429Z" - } - }, - "cell_suspension/c85a1f15-0944-4e99-9175-aa2f2ad34c49": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4930", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D10" - }, - "provenance": { - "document_id": "c85a1f15-0944-4e99-9175-aa2f2ad34c49", - "submission_date": "2018-10-01T14:25:28.609Z", - "update_date": "2018-10-01T19:31:31.999Z" - } - }, - "cell_suspension/ade7523d-cdff-4fd1-90e6-29c548ab345b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4931", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F10" - }, - "provenance": { - "document_id": "ade7523d-cdff-4fd1-90e6-29c548ab345b", - "submission_date": "2018-10-01T14:25:28.618Z", - "update_date": "2018-10-01T19:31:32.928Z" - } - }, - "cell_suspension/50f3094c-d10c-4f78-98c8-0175bf1bc7cd": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4932", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H10" - }, - "provenance": { - "document_id": "50f3094c-d10c-4f78-98c8-0175bf1bc7cd", - "submission_date": "2018-10-01T14:25:28.643Z", - "update_date": "2018-10-01T19:31:33.414Z" - } - }, - "cell_suspension/91f6d93a-81ea-44e3-907e-8b0a5ed69ea6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4933", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J10" - }, - "provenance": { - "document_id": "91f6d93a-81ea-44e3-907e-8b0a5ed69ea6", - "submission_date": "2018-10-01T14:25:28.718Z", - "update_date": "2018-10-01T19:31:33.908Z" - } - }, - "cell_suspension/9f041862-2f9f-45d4-a36c-dacba2738035": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4934", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L10" - }, - "provenance": { - "document_id": "9f041862-2f9f-45d4-a36c-dacba2738035", - "submission_date": "2018-10-01T14:25:28.737Z", - "update_date": "2018-10-01T19:31:34.198Z" - } - }, - "cell_suspension/8baca1dc-33fc-4cff-a23b-9b1a05186c13": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4935", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N10" - }, - "provenance": { - "document_id": "8baca1dc-33fc-4cff-a23b-9b1a05186c13", - "submission_date": "2018-10-01T14:25:28.754Z", - "update_date": "2018-10-01T19:31:34.443Z" - } - }, - "cell_suspension/6622e56b-f509-40b6-a392-86e5d1107701": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4936", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P10" - }, - "provenance": { - "document_id": "6622e56b-f509-40b6-a392-86e5d1107701", - "submission_date": "2018-10-01T14:25:28.775Z", - "update_date": "2018-10-01T19:31:35.067Z" - } - }, - "cell_suspension/7f54c74a-e2f4-4a6f-bf68-25979f5ec121": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4937", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B12" - }, - "provenance": { - "document_id": "7f54c74a-e2f4-4a6f-bf68-25979f5ec121", - "submission_date": "2018-10-01T14:25:28.805Z", - "update_date": "2018-10-01T19:31:35.422Z" - } - }, - "cell_suspension/f7e574f2-8de0-45ef-93e7-8a1b6765d77d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4938", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D12" - }, - "provenance": { - "document_id": "f7e574f2-8de0-45ef-93e7-8a1b6765d77d", - "submission_date": "2018-10-01T14:25:28.817Z", - "update_date": "2018-10-01T19:31:35.735Z" - } - }, - "cell_suspension/94de7a55-f03b-459b-9fea-190ec3fa714b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4939", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F12" - }, - "provenance": { - "document_id": "94de7a55-f03b-459b-9fea-190ec3fa714b", - "submission_date": "2018-10-01T14:25:28.832Z", - "update_date": "2018-10-01T19:31:36.007Z" - } - }, - "cell_suspension/5fa8e3de-b96a-42e8-b5d9-cbc0c6a5b6a1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4940", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H12" - }, - "provenance": { - "document_id": "5fa8e3de-b96a-42e8-b5d9-cbc0c6a5b6a1", - "submission_date": "2018-10-01T14:25:28.843Z", - "update_date": "2018-10-01T19:31:36.773Z" - } - }, - "cell_suspension/5d7fd1ca-6496-442c-a3e5-49aa586b7554": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4941", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J12" - }, - "provenance": { - "document_id": "5d7fd1ca-6496-442c-a3e5-49aa586b7554", - "submission_date": "2018-10-01T14:25:28.855Z", - "update_date": "2018-10-01T19:31:37.244Z" - } - }, - "cell_suspension/e27cf02c-479f-4265-8d4b-287c25e3730d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4942", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L12" - }, - "provenance": { - "document_id": "e27cf02c-479f-4265-8d4b-287c25e3730d", - "submission_date": "2018-10-01T14:25:28.865Z", - "update_date": "2018-10-01T19:31:37.509Z" - } - }, - "cell_suspension/b9cbf165-2e93-4eea-a834-43ae320309f5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4943", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N12" - }, - "provenance": { - "document_id": "b9cbf165-2e93-4eea-a834-43ae320309f5", - "submission_date": "2018-10-01T14:25:28.890Z", - "update_date": "2018-10-01T19:31:37.957Z" - } - }, - "cell_suspension/9aefb156-2719-4672-ae90-68676230d5c0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4944", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P12" - }, - "provenance": { - "document_id": "9aefb156-2719-4672-ae90-68676230d5c0", - "submission_date": "2018-10-01T14:25:28.904Z", - "update_date": "2018-10-01T19:31:38.315Z" - } - }, - "cell_suspension/10b3f94c-bcf3-41cd-9723-8a454299b000": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4945", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B14" - }, - "provenance": { - "document_id": "10b3f94c-bcf3-41cd-9723-8a454299b000", - "submission_date": "2018-10-01T14:25:28.918Z", - "update_date": "2018-10-01T19:31:38.462Z" - } - }, - "cell_suspension/cc37c377-01c0-4e36-9293-f449a6b6212a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4946", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D14" - }, - "provenance": { - "document_id": "cc37c377-01c0-4e36-9293-f449a6b6212a", - "submission_date": "2018-10-01T14:25:28.931Z", - "update_date": "2018-10-01T19:31:38.654Z" - } - }, - "cell_suspension/c63350fa-d091-425f-a3c9-5f28efdb5aec": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4947", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F14" - }, - "provenance": { - "document_id": "c63350fa-d091-425f-a3c9-5f28efdb5aec", - "submission_date": "2018-10-01T14:25:28.943Z", - "update_date": "2018-10-01T19:31:39.609Z" - } - }, - "cell_suspension/1a314769-f4f4-43e5-8b8d-5ff4273c8599": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4948", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H14" - }, - "provenance": { - "document_id": "1a314769-f4f4-43e5-8b8d-5ff4273c8599", - "submission_date": "2018-10-01T14:25:28.961Z", - "update_date": "2018-10-01T19:31:39.800Z" - } - }, - "cell_suspension/e4bb23dd-5e45-4b12-9950-d5044a0d843a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4949", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J14" - }, - "provenance": { - "document_id": "e4bb23dd-5e45-4b12-9950-d5044a0d843a", - "submission_date": "2018-10-01T14:25:28.977Z", - "update_date": "2018-10-01T19:31:40.061Z" - } - }, - "cell_suspension/14b09236-5ed7-4026-9b9a-92ebe564a6d3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4950", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L14" - }, - "provenance": { - "document_id": "14b09236-5ed7-4026-9b9a-92ebe564a6d3", - "submission_date": "2018-10-01T14:25:28.997Z", - "update_date": "2018-10-01T19:31:40.344Z" - } - }, - "cell_suspension/54e7998e-1878-423a-97ad-b905ca7423e3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4951", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N14" - }, - "provenance": { - "document_id": "54e7998e-1878-423a-97ad-b905ca7423e3", - "submission_date": "2018-10-01T14:25:29.010Z", - "update_date": "2018-10-01T19:31:40.794Z" - } - }, - "cell_suspension/6597f3ba-c522-47c9-934e-496129949ebf": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4952", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P14" - }, - "provenance": { - "document_id": "6597f3ba-c522-47c9-934e-496129949ebf", - "submission_date": "2018-10-01T14:25:29.425Z", - "update_date": "2018-10-01T19:31:40.910Z" - } - }, - "cell_suspension/b73ff2e8-b2fa-44ec-b940-aac5c74ef3d6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4953", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B16" - }, - "provenance": { - "document_id": "b73ff2e8-b2fa-44ec-b940-aac5c74ef3d6", - "submission_date": "2018-10-01T14:25:29.452Z", - "update_date": "2018-10-01T19:31:41.067Z" - } - }, - "cell_suspension/bc1304ee-8386-445d-9196-4c3e9a0fd014": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4954", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D16" - }, - "provenance": { - "document_id": "bc1304ee-8386-445d-9196-4c3e9a0fd014", - "submission_date": "2018-10-01T14:25:29.471Z", - "update_date": "2018-10-01T19:31:41.250Z" - } - }, - "cell_suspension/40c7b4a0-24c0-4734-9bca-acd5c822bf4c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4955", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F16" - }, - "provenance": { - "document_id": "40c7b4a0-24c0-4734-9bca-acd5c822bf4c", - "submission_date": "2018-10-01T14:25:29.482Z", - "update_date": "2018-10-01T19:31:41.484Z" - } - }, - "cell_suspension/e9649b21-0314-400c-8831-0df69dc0650a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4956", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H16" - }, - "provenance": { - "document_id": "e9649b21-0314-400c-8831-0df69dc0650a", - "submission_date": "2018-10-01T14:25:29.500Z", - "update_date": "2018-10-01T19:31:41.799Z" - } - }, - "cell_suspension/6223a9d9-c6e8-480f-9152-7e223c0f565d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4957", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J16" - }, - "provenance": { - "document_id": "6223a9d9-c6e8-480f-9152-7e223c0f565d", - "submission_date": "2018-10-01T14:25:29.516Z", - "update_date": "2018-10-01T19:31:42.095Z" - } - }, - "cell_suspension/0dba20ce-618c-4a70-8f6f-a584df044cb0": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4958", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L16" - }, - "provenance": { - "document_id": "0dba20ce-618c-4a70-8f6f-a584df044cb0", - "submission_date": "2018-10-01T14:25:29.542Z", - "update_date": "2018-10-01T19:31:42.356Z" - } - }, - "cell_suspension/21e86b75-1ee0-497d-8028-70eb6cd0c2a2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4959", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N16" - }, - "provenance": { - "document_id": "21e86b75-1ee0-497d-8028-70eb6cd0c2a2", - "submission_date": "2018-10-01T14:25:29.566Z", - "update_date": "2018-10-01T19:31:42.690Z" - } - }, - "cell_suspension/bbb46cb9-7fbc-4092-a5ed-c076b3c12cb4": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4960", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P16" - }, - "provenance": { - "document_id": "bbb46cb9-7fbc-4092-a5ed-c076b3c12cb4", - "submission_date": "2018-10-01T14:25:29.577Z", - "update_date": "2018-10-01T19:31:43.225Z" - } - }, - "cell_suspension/4bca0fcb-1877-4b02-9145-1a5d767dae3b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4961", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B18" - }, - "provenance": { - "document_id": "4bca0fcb-1877-4b02-9145-1a5d767dae3b", - "submission_date": "2018-10-01T14:25:29.587Z", - "update_date": "2018-10-01T19:31:44.083Z" - } - }, - "cell_suspension/3c5a7203-cd7d-45a2-9780-9b083913a7a6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4962", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D18" - }, - "provenance": { - "document_id": "3c5a7203-cd7d-45a2-9780-9b083913a7a6", - "submission_date": "2018-10-01T14:25:29.596Z", - "update_date": "2018-10-01T19:31:44.484Z" - } - }, - "cell_suspension/ccba96e6-46de-479a-bd04-f8e1ddec0981": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4963", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F18" - }, - "provenance": { - "document_id": "ccba96e6-46de-479a-bd04-f8e1ddec0981", - "submission_date": "2018-10-01T14:25:29.605Z", - "update_date": "2018-10-01T19:31:45.331Z" - } - }, - "cell_suspension/00d3efd9-d219-4bc1-a58a-dc96f3f8500f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4964", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H18" - }, - "provenance": { - "document_id": "00d3efd9-d219-4bc1-a58a-dc96f3f8500f", - "submission_date": "2018-10-01T14:25:29.618Z", - "update_date": "2018-10-01T19:31:46.130Z" - } - }, - "cell_suspension/159777f7-04c9-45a4-9103-4c398ff33f63": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4965", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J18" - }, - "provenance": { - "document_id": "159777f7-04c9-45a4-9103-4c398ff33f63", - "submission_date": "2018-10-01T14:25:29.638Z", - "update_date": "2018-10-01T19:31:46.466Z" - } - }, - "cell_suspension/8aacd0c6-ad7c-4214-afe7-a0c25a42428e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4966", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L18" - }, - "provenance": { - "document_id": "8aacd0c6-ad7c-4214-afe7-a0c25a42428e", - "submission_date": "2018-10-01T14:25:29.659Z", - "update_date": "2018-10-01T19:31:46.705Z" - } - }, - "cell_suspension/db3bf625-e9ed-47ee-95c1-c09099e4b344": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4967", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N18" - }, - "provenance": { - "document_id": "db3bf625-e9ed-47ee-95c1-c09099e4b344", - "submission_date": "2018-10-01T14:25:29.690Z", - "update_date": "2018-10-01T19:31:46.844Z" - } - }, - "cell_suspension/f10a82f4-bb14-464a-bf45-8a95f3446a38": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4968", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P18" - }, - "provenance": { - "document_id": "f10a82f4-bb14-464a-bf45-8a95f3446a38", - "submission_date": "2018-10-01T14:25:29.709Z", - "update_date": "2018-10-01T19:31:47.201Z" - } - }, - "cell_suspension/8629bf28-c593-497b-be8f-2f010e9d3354": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4969", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B20" - }, - "provenance": { - "document_id": "8629bf28-c593-497b-be8f-2f010e9d3354", - "submission_date": "2018-10-01T14:25:29.723Z", - "update_date": "2018-10-01T19:31:47.350Z" - } - }, - "cell_suspension/85097581-d65f-4f4a-8f66-ece83b3a8fd2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4970", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D20" - }, - "provenance": { - "document_id": "85097581-d65f-4f4a-8f66-ece83b3a8fd2", - "submission_date": "2018-10-01T14:25:29.742Z", - "update_date": "2018-10-01T19:31:47.948Z" - } - }, - "cell_suspension/07299af5-1e56-4035-9cf4-50b30e4a19c1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4971", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F20" - }, - "provenance": { - "document_id": "07299af5-1e56-4035-9cf4-50b30e4a19c1", - "submission_date": "2018-10-01T14:25:29.762Z", - "update_date": "2018-10-01T19:31:48.689Z" - } - }, - "cell_suspension/cf2727a9-35b2-4b0d-bf46-7a3f1e7bc747": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4972", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H20" - }, - "provenance": { - "document_id": "cf2727a9-35b2-4b0d-bf46-7a3f1e7bc747", - "submission_date": "2018-10-01T14:25:29.777Z", - "update_date": "2018-10-01T19:31:49.093Z" - } - }, - "cell_suspension/484bd756-a413-409f-8b8a-c3b67304d99c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4973", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J20" - }, - "provenance": { - "document_id": "484bd756-a413-409f-8b8a-c3b67304d99c", - "submission_date": "2018-10-01T14:25:29.792Z", - "update_date": "2018-10-01T19:31:49.967Z" - } - }, - "cell_suspension/b7f64620-cab2-436b-a177-4642925a8b86": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4974", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L20" - }, - "provenance": { - "document_id": "b7f64620-cab2-436b-a177-4642925a8b86", - "submission_date": "2018-10-01T14:25:29.818Z", - "update_date": "2018-10-01T19:31:50.583Z" - } - }, - "cell_suspension/de7e6de9-a1fd-4700-99f3-184b3dcb54d2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4975", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N20" - }, - "provenance": { - "document_id": "de7e6de9-a1fd-4700-99f3-184b3dcb54d2", - "submission_date": "2018-10-01T14:25:29.834Z", - "update_date": "2018-10-01T19:31:50.846Z" - } - }, - "cell_suspension/b19eafd7-7b69-4632-a492-993625d2e7d3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4976", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P20" - }, - "provenance": { - "document_id": "b19eafd7-7b69-4632-a492-993625d2e7d3", - "submission_date": "2018-10-01T14:25:29.854Z", - "update_date": "2018-10-01T19:31:50.939Z" - } - }, - "cell_suspension/c370daa7-ad03-4beb-9928-f6bc0b1eb2f6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4977", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B22" - }, - "provenance": { - "document_id": "c370daa7-ad03-4beb-9928-f6bc0b1eb2f6", - "submission_date": "2018-10-01T14:25:29.868Z", - "update_date": "2018-10-01T19:31:51.178Z" - } - }, - "cell_suspension/5ca1c842-5b21-4664-876c-e57e5c38ad61": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4978", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D22" - }, - "provenance": { - "document_id": "5ca1c842-5b21-4664-876c-e57e5c38ad61", - "submission_date": "2018-10-01T14:25:29.886Z", - "update_date": "2018-10-01T19:31:51.294Z" - } - }, - "cell_suspension/1b0bf5df-5fee-4a95-83ce-1f5d8edcdc63": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4979", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F22" - }, - "provenance": { - "document_id": "1b0bf5df-5fee-4a95-83ce-1f5d8edcdc63", - "submission_date": "2018-10-01T14:25:29.898Z", - "update_date": "2018-10-01T19:31:51.401Z" - } - }, - "cell_suspension/3370619c-1db3-4dec-b0ce-bd9226a0105c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4980", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H22" - }, - "provenance": { - "document_id": "3370619c-1db3-4dec-b0ce-bd9226a0105c", - "submission_date": "2018-10-01T14:25:29.910Z", - "update_date": "2018-10-01T19:31:51.498Z" - } - }, - "cell_suspension/4713375f-6f4a-4470-be90-6e7892d633ff": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4981", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J22" - }, - "provenance": { - "document_id": "4713375f-6f4a-4470-be90-6e7892d633ff", - "submission_date": "2018-10-01T14:25:29.922Z", - "update_date": "2018-10-01T19:31:52.088Z" - } - }, - "cell_suspension/2ac25968-e1d0-47b2-916d-0306ae790b01": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4982", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L22" - }, - "provenance": { - "document_id": "2ac25968-e1d0-47b2-916d-0306ae790b01", - "submission_date": "2018-10-01T14:25:29.953Z", - "update_date": "2018-10-01T19:31:52.310Z" - } - }, - "cell_suspension/06c5f03b-41a5-4714-81f1-e915db3778ec": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4983", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N22" - }, - "provenance": { - "document_id": "06c5f03b-41a5-4714-81f1-e915db3778ec", - "submission_date": "2018-10-01T14:25:29.967Z", - "update_date": "2018-10-01T19:31:52.635Z" - } - }, - "cell_suspension/699a476a-7284-4a6e-9f3c-c62e4fb076a6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4984", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P22" - }, - "provenance": { - "document_id": "699a476a-7284-4a6e-9f3c-c62e4fb076a6", - "submission_date": "2018-10-01T14:25:29.987Z", - "update_date": "2018-10-01T19:31:52.882Z" - } - }, - "cell_suspension/45040d9f-e84f-4a6c-ad2c-750d50a34b53": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4985", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "B24" - }, - "provenance": { - "document_id": "45040d9f-e84f-4a6c-ad2c-750d50a34b53", - "submission_date": "2018-10-01T14:25:30.001Z", - "update_date": "2018-10-01T19:31:53.067Z" - } - }, - "cell_suspension/bd4b64be-391b-483f-9fc5-b5f17eac9a48": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4986", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "D24" - }, - "provenance": { - "document_id": "bd4b64be-391b-483f-9fc5-b5f17eac9a48", - "submission_date": "2018-10-01T14:25:30.018Z", - "update_date": "2018-10-01T19:31:53.206Z" - } - }, - "cell_suspension/b9a5b73d-5901-4e52-87ba-26d47a78f24c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4987", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "F24" - }, - "provenance": { - "document_id": "b9a5b73d-5901-4e52-87ba-26d47a78f24c", - "submission_date": "2018-10-01T14:25:30.051Z", - "update_date": "2018-10-01T19:31:53.680Z" - } - }, - "cell_suspension/4e43967a-bd73-4d99-8339-cc5d72622916": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4988", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "H24" - }, - "provenance": { - "document_id": "4e43967a-bd73-4d99-8339-cc5d72622916", - "submission_date": "2018-10-01T14:25:30.077Z", - "update_date": "2018-10-01T19:31:54.127Z" - } - }, - "cell_suspension/40482eca-921a-4d5a-907d-876f3c8c6d40": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4989", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "J24" - }, - "provenance": { - "document_id": "40482eca-921a-4d5a-907d-876f3c8c6d40", - "submission_date": "2018-10-01T14:25:30.093Z", - "update_date": "2018-10-01T19:31:54.353Z" - } - }, - "cell_suspension/4c8ec421-0ec0-4097-afa3-4a87263e7d87": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4990", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "L24" - }, - "provenance": { - "document_id": "4c8ec421-0ec0-4097-afa3-4a87263e7d87", - "submission_date": "2018-10-01T14:25:30.109Z", - "update_date": "2018-10-01T19:31:54.604Z" - } - }, - "cell_suspension/04ef0085-f955-46ce-8876-28e06a1301f8": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4991", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "N24" - }, - "provenance": { - "document_id": "04ef0085-f955-46ce-8876-28e06a1301f8", - "submission_date": "2018-10-01T14:25:30.131Z", - "update_date": "2018-10-01T19:31:54.781Z" - } - }, - "cell_suspension/892ec3fd-5b6a-4079-92a5-9362ee64c650": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_well_4992", - "biomaterial_name": "CD38+ CD138+ bone marrow cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_size": "15-20", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017" - } - }, - "selected_cell_type": [ - { - "text": "Plasma cells", - "ontology": "CL:0000786" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "AB2314", - "well_id": "P24" - }, - "provenance": { - "document_id": "892ec3fd-5b6a-4079-92a5-9362ee64c650", - "submission_date": "2018-10-01T14:25:30.143Z", - "update_date": "2018-10-01T19:31:55.020Z" - } - }, - "specimen_from_organism/79682426-b813-4f69-8c9c-2764ffac5dc1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9_specimen", - "biomaterial_name": "Bone Marrow", - "biomaterial_description": "bone marrow from proximal femur bone", - "ncbi_taxon_id": [ - 9606 - ] - }, - "organ": { - "text": "bone", - "ontology_label": "hemopoietic organ", - "ontology": "UBERON:0004177" - }, - "organ_part": [ - { - "text": "bone marrow", - "ontology_label": "bone marrow", - "ontology": "UBERON:0002371" - }, - { - "text": "Temporal Lobe", - "ontology_label": "temporal lobe", - "ontology": "UBERON:0001871" - } - ], - "provenance": { - "document_id": "79682426-b813-4f69-8c9c-2764ffac5dc1", - "submission_date": "2018-10-01T14:22:25.143Z", - "update_date": "2018-10-01T14:57:17.976Z" - } - }, - "donor_organism/35479c97-1a62-4d90-b057-49c1a518e0c8": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Hip9", - "biomaterial_description": "Bone marrow aspirate during surgery for hip replacement", - "ncbi_taxon_id": [ - 9606 - ] - }, - "medical_history": { - "alcohol_history": "No alcoholism reported", - "medication": "No chronic meds", - "nutritional_state": "normal", - "smoking_history": "non-smoker" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organism_age": "76", - "organism_age_unit": { - "text": "year", - "ontology_label": "year", - "ontology": "UO:0000036" - }, - "development_stage": { - "text": "adult", - "ontology_label": "adult", - "ontology": "EFO:0001272" - }, - "diseases": [ - { - "text": "isolated hip osteoarthritis" - } - ], - "is_living": "yes", - "sex": "male", - "provenance": { - "document_id": "35479c97-1a62-4d90-b057-49c1a518e0c8", - "submission_date": "2018-10-01T14:22:24.959Z", - "update_date": "2018-10-01T14:34:10.839Z" - } - }, - "sequence_file/042dce4a-003b-492b-9371-e1897f52d8d9": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "AB2314.R1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "read_length": 66, - "provenance": { - "document_id": "042dce4a-003b-492b-9371-e1897f52d8d9", - "submission_date": "2018-10-01T14:22:24.511Z", - "update_date": "2018-10-01T15:42:33.208Z" - } - }, - "sequence_file/80036f72-7fde-46e9-821b-17dbbe0509bb": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "AB2314.R2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "read_length": 66, - "provenance": { - "document_id": "80036f72-7fde-46e9-821b-17dbbe0509bb", - "submission_date": "2018-10-01T14:22:24.755Z", - "update_date": "2018-10-01T15:40:51.754Z" - } - }, - "supplementary_file/665b4341-9950-4e59-a401-e4a097256f1e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "BM_Ficoll.pdf", - "file_format": "pdf" - }, - "file_description": "enrichment protocol", - "provenance": { - "document_id": "665b4341-9950-4e59-a401-e4a097256f1e", - "submission_date": "2018-10-01T14:22:24.380Z", - "update_date": "2018-10-01T16:09:57.110Z" - } - }, - "supplementary_file/300ee490-edca-46b1-b23d-c9458ebb9c6e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "BM_Hip_Rep_Protocol.pdf", - "file_format": "pdf" - }, - "file_description": "collection protocol", - "provenance": { - "document_id": "300ee490-edca-46b1-b23d-c9458ebb9c6e", - "submission_date": "2018-10-01T14:22:24.389Z", - "update_date": "2018-10-01T16:09:56.972Z" - } - }, - "project/250aef61-a15b-4d97-b8b4-54bb997c1d7d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "BM_PC", - "project_title": "Bone marrow plasma cells from hip replacement surgeries", - "project_description": "Our aims are to generate a full representation of human hematopoiesis in blood and bone marrow of humans using a multi-tier and iterative collection and analysis of 200,000 cells from ten healthy human bone " - }, - "contributors": [ - { - "contact_name": "Eyal David", - "email": "eyald.david@weizmann.ac.il", - "phone": "972-8-934-6975", - "institution": "The Weizmann Institute of Science", - "laboratory": "Prof. Ido Amit", - "address": "Department of Immunology, Wolfson bldg., Rooms 252, 257, 258\nWeizmann Institute of Science\nRehovot, 76100\n\n", - "country": "Israel", - "corresponding_contributor": false - }, - { - "contact_name": "Guy Ledergor", - "email": "guy.ledergor@weizmann.ac.il", - "phone": "972-8-934-6975", - "institution": "The Weizmann Institute of Science", - "laboratory": "Prof. Ido Amit", - "address": "Department of Immunology, Wolfson bldg., Rooms 252, 257, 258\nWeizmann Institute of Science\nRehovot, 76100\n\n", - "country": "Israel", - "corresponding_contributor": false - }, - { - "contact_name": "Assaf Weiner", - "email": "assaf.weiner@weizmann.ac.il", - "phone": "972-8-934-6976", - "institution": "The Weizmann Institute of Science", - "laboratory": "Prof. Ido Amit", - "address": "Department of Immunology, Wolfson bldg., Rooms 252, 257, 258\nWeizmann Institute of Science\nRehovot, 76100\n\n", - "country": "Israel", - "corresponding_contributor": false - }, - { - "contact_name": "Ido Amit", - "email": "ido.amit@weizmann.ac.il", - "phone": "972-8-934-6976", - "institution": "The Weizmann Institute of Science", - "laboratory": "Prof. Ido Amit", - "address": "Department of Immunology, Wolfson bldg., Rooms 252, 257, 258\nWeizmann Institute of Science\nRehovot, 76100\n\n", - "country": "Israel", - "corresponding_contributor": true - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "phone": "(+44) 122-349-4444", - "institution": "EMBL-EBI European Bioinformatics Institute", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2771-9894", - "corresponding_contributor": false - } - ], - "provenance": { - "document_id": "250aef61-a15b-4d97-b8b4-54bb997c1d7d", - "submission_date": "2018-10-01T14:22:24.370Z", - "update_date": "2018-10-01T14:34:10.121Z" - } - }, - "library_preparation_protocol/f5c4cc88-aa42-4c72-b38f-7a992050fa9c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "MARS_prep", - "protocol_name": "MARS-Seq profiles the transcriptional dynamics of single cells in an automated and massively parallel workflow with high resolution", - "protocol_description": "Single cells are first isolated into individual wells using FACS. Each cell is lysed, and the 3' ends of mRNAs are annealed to unique molecular identifiers containing a T7 promoter. The mRNA is reverse-transcribed to generate the first cDNA strand and treated with exonuclease I to remove leftover RT primers. Next, the cellular lysates are pooled together and converted to double-stranded cDNA. The DNA strands are transcribed to RNA and treated with DNase to remove leftover DNA templates in the mixture. The RNA strands are fragmented and annealed to sequencing adapters, followed by RT to generate barcoded cDNA libraries that are ready for sequencing.", - "publication_doi": "10.1126/science.1247651" - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 8, - "barcode_length": 7 - }, - "input_nucleic_acid_molecule": { - "text": "mRNA", - "ontology": "CHEBI:33699" - }, - "library_construction_approach": { - "text": "MARS-seq", - "ontology": "EFO:0008796" - }, - "end_bias": "3 prime tag", - "strand": "second", - "library_preamplification_method": { - "text": "In vitro transcription", - "ontology": "EFO:0009013" - }, - "cdna_library_amplification_method": { - "text": "PCR", - "ontology": "OBI:0000415" - }, - "provenance": { - "document_id": "f5c4cc88-aa42-4c72-b38f-7a992050fa9c", - "submission_date": "2018-10-01T14:27:57.283Z", - "update_date": "2018-10-01T14:28:02.935Z" - } - }, - "sequencing_protocol/7867dde2-6d0c-4455-8979-c60c19020afc": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "MARS_seq", - "protocol_name": "MARS_sequencing_instructions", - "protocol_description": "Sequencing MARS-seq libraries on Illumina's Nextseq500 (Illumina's document # 15046563 v04)", - "publication_doi": "10.1126/science.1247651", - "protocols_io_doi": "DOI: 10.1126/science.1247651" - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq500", - "ontology": "EFO:0009173" - }, - "local_machine_name": "NB501277", - "paired_end": true, - "sequencing_approach": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440" - }, - "provenance": { - "document_id": "7867dde2-6d0c-4455-8979-c60c19020afc", - "submission_date": "2018-10-01T14:27:57.302Z", - "update_date": "2018-10-01T14:28:02.981Z" - } - }, - "enrichment_protocol/9b361ad6-2028-41a0-a601-c59585ba157a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "BM_Ficoll", - "protocol_name": "BM_Ficoll", - "protocol_description": "Bone Marrow (BM) is harvested in EDTA tubes, washed, strained, ficolled (Ficoll gradient centrifugation) and stained for flow cytometry sorting", - "protocols_io_doi": "10.17504/protocols.io.qxqdxmw", - "document": "BM_Ficoll.pdf" - }, - "enrichment_method": { - "text": "magnetic affinity cell sorting", - "ontology": "EFO:0009109" - }, - "markers": "CD38+ CD138+", - "provenance": { - "document_id": "9b361ad6-2028-41a0-a601-c59585ba157a", - "submission_date": "2018-10-01T14:27:57.274Z", - "update_date": "2018-10-01T14:28:02.031Z" - } - }, - "collection_protocol/9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/8.2.6/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "BM_hip_rep", - "protocol_name": "BM_hip_rep", - "protocol_description": "harvesting cells from bone marrow aspirate during hip replacement surgery", - "publication_doi": "10.1155/2016/3152065", - "protocols_io_doi": "10.17504/protocols.io.qxydxpw", - "document": "BM_Hip_Rep.pdf" - }, - "collection_method": { - "text": "Ficoll-Hypaque method", - "ontology": "EFO:0009110" - }, - "protocol_reagents": [ - { - "catalog_number": "GE17-1440-02", - "manufacturer": "GE healthcare" - } - ], - "provenance": { - "document_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f", - "submission_date": "2018-10-01T14:27:57.259Z", - "update_date": "2018-10-01T14:28:02.938Z" - } - }, - "process/f8dfb127-a6db-4e3a-b1d7-ceff08c70594": { - "process_core": { - "process_id": "13" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f8dfb127-a6db-4e3a-b1d7-ceff08c70594", - "submission_date": "2018-10-01T14:27:57.516Z", - "update_date": "2018-10-01T20:08:05.435Z" - } - }, - "process/fe8fc2d4-c287-4a29-b900-4608598c8fcf": { - "process_core": { - "process_id": "process_id_4622" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "fe8fc2d4-c287-4a29-b900-4608598c8fcf", - "submission_date": "2018-10-01T14:31:01.981Z", - "update_date": "2018-10-01T20:12:47.176Z" - } - }, - "process/2d38bafa-8d98-4f45-91cc-272c7682fa18": { - "process_core": { - "process_id": "process_id_5" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "submission_date": "2018-10-01T14:27:57.818Z", - "update_date": "2018-10-01T20:08:07.933Z" - } - }, - "process/c48cad38-5e06-4acf-b9ff-398867f25b0c": { - "process_core": { - "process_id": "process_id_4623" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c48cad38-5e06-4acf-b9ff-398867f25b0c", - "submission_date": "2018-10-01T14:31:02.063Z", - "update_date": "2018-10-01T20:12:47.200Z" - } - }, - "process/68f3a63f-3b53-4505-889b-172960e0a62d": { - "process_core": { - "process_id": "process_id_4624" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "68f3a63f-3b53-4505-889b-172960e0a62d", - "submission_date": "2018-10-01T14:31:02.218Z", - "update_date": "2018-10-01T20:12:47.248Z" - } - }, - "process/8f952be8-aefd-43e0-b2d2-b376768a31e3": { - "process_core": { - "process_id": "process_id_4625" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8f952be8-aefd-43e0-b2d2-b376768a31e3", - "submission_date": "2018-10-01T14:31:02.279Z", - "update_date": "2018-10-01T20:12:47.283Z" - } - }, - "process/ac247d0c-ad85-4e2c-80f8-38814e7ba2d6": { - "process_core": { - "process_id": "process_id_4626" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ac247d0c-ad85-4e2c-80f8-38814e7ba2d6", - "submission_date": "2018-10-01T14:31:02.318Z", - "update_date": "2018-10-01T20:12:47.316Z" - } - }, - "process/d9802269-df7a-4a92-a070-054f9c8bb7aa": { - "process_core": { - "process_id": "process_id_4627" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d9802269-df7a-4a92-a070-054f9c8bb7aa", - "submission_date": "2018-10-01T14:31:02.394Z", - "update_date": "2018-10-01T20:12:47.351Z" - } - }, - "process/c0b0f252-dc2c-4d2f-ae71-3674193b5d0c": { - "process_core": { - "process_id": "process_id_4628" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c0b0f252-dc2c-4d2f-ae71-3674193b5d0c", - "submission_date": "2018-10-01T14:31:02.756Z", - "update_date": "2018-10-01T20:12:47.390Z" - } - }, - "process/3341b360-e321-4caa-bb00-89d9d7a07f6b": { - "process_core": { - "process_id": "process_id_4629" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3341b360-e321-4caa-bb00-89d9d7a07f6b", - "submission_date": "2018-10-01T14:31:02.913Z", - "update_date": "2018-10-01T20:12:47.432Z" - } - }, - "process/89d923d9-e0d8-4b49-92bb-7514c2f6f170": { - "process_core": { - "process_id": "process_id_4630" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "89d923d9-e0d8-4b49-92bb-7514c2f6f170", - "submission_date": "2018-10-01T14:31:02.951Z", - "update_date": "2018-10-01T20:12:47.466Z" - } - }, - "process/b141386e-3a5e-43e0-ab89-4396af30e603": { - "process_core": { - "process_id": "process_id_4631" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "b141386e-3a5e-43e0-ab89-4396af30e603", - "submission_date": "2018-10-01T14:31:03.054Z", - "update_date": "2018-10-01T20:12:47.503Z" - } - }, - "process/36f797b8-8419-4a9e-b9cb-4f8c173ef3dc": { - "process_core": { - "process_id": "process_id_4632" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "36f797b8-8419-4a9e-b9cb-4f8c173ef3dc", - "submission_date": "2018-10-01T14:31:03.106Z", - "update_date": "2018-10-01T20:12:47.539Z" - } - }, - "process/246a5d54-3aa0-4711-ab0f-dacc2b9d6655": { - "process_core": { - "process_id": "process_id_4633" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "246a5d54-3aa0-4711-ab0f-dacc2b9d6655", - "submission_date": "2018-10-01T14:31:03.134Z", - "update_date": "2018-10-01T20:12:47.564Z" - } - }, - "process/2ab2198a-3f1f-4f1d-94b2-e78f164506d6": { - "process_core": { - "process_id": "process_id_4634" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "2ab2198a-3f1f-4f1d-94b2-e78f164506d6", - "submission_date": "2018-10-01T14:31:03.199Z", - "update_date": "2018-10-01T20:12:47.592Z" - } - }, - "process/147c6f32-fc1d-4397-a178-fd04e2076985": { - "process_core": { - "process_id": "process_id_4635" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "147c6f32-fc1d-4397-a178-fd04e2076985", - "submission_date": "2018-10-01T14:31:03.250Z", - "update_date": "2018-10-01T20:12:47.648Z" - } - }, - "process/9a573ac3-81ea-464d-a0e5-2dde35ebdfca": { - "process_core": { - "process_id": "process_id_4636" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "9a573ac3-81ea-464d-a0e5-2dde35ebdfca", - "submission_date": "2018-10-01T14:31:03.310Z", - "update_date": "2018-10-01T20:12:47.688Z" - } - }, - "process/63cd0286-4ff3-4428-8302-d230f752afa1": { - "process_core": { - "process_id": "process_id_4637" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "63cd0286-4ff3-4428-8302-d230f752afa1", - "submission_date": "2018-10-01T14:31:03.478Z", - "update_date": "2018-10-01T20:12:47.723Z" - } - }, - "process/c3d33986-f546-440a-ad1a-582dbafa26af": { - "process_core": { - "process_id": "process_id_4638" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c3d33986-f546-440a-ad1a-582dbafa26af", - "submission_date": "2018-10-01T14:31:03.506Z", - "update_date": "2018-10-01T20:12:47.791Z" - } - }, - "process/6d982d50-dd79-4246-a0bb-283e97b0babd": { - "process_core": { - "process_id": "process_id_4639" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6d982d50-dd79-4246-a0bb-283e97b0babd", - "submission_date": "2018-10-01T14:31:03.542Z", - "update_date": "2018-10-01T20:12:47.871Z" - } - }, - "process/0a41147d-5535-4880-ad77-66fc44d4a920": { - "process_core": { - "process_id": "process_id_4640" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0a41147d-5535-4880-ad77-66fc44d4a920", - "submission_date": "2018-10-01T14:31:03.596Z", - "update_date": "2018-10-01T20:12:47.898Z" - } - }, - "process/f1254e71-6d52-40fe-abe9-5085fac34330": { - "process_core": { - "process_id": "process_id_4641" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f1254e71-6d52-40fe-abe9-5085fac34330", - "submission_date": "2018-10-01T14:31:03.646Z", - "update_date": "2018-10-01T20:12:47.920Z" - } - }, - "process/3013c702-b90d-432e-8326-1144081b1047": { - "process_core": { - "process_id": "process_id_4642" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3013c702-b90d-432e-8326-1144081b1047", - "submission_date": "2018-10-01T14:31:03.705Z", - "update_date": "2018-10-01T20:12:47.946Z" - } - }, - "process/ee115a21-65c3-407b-98ae-80cb82999cc7": { - "process_core": { - "process_id": "process_id_4643" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ee115a21-65c3-407b-98ae-80cb82999cc7", - "submission_date": "2018-10-01T14:31:03.843Z", - "update_date": "2018-10-01T20:12:47.975Z" - } - }, - "process/6b5c2392-32d7-4e7d-8451-17334e4d4e90": { - "process_core": { - "process_id": "process_id_4644" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6b5c2392-32d7-4e7d-8451-17334e4d4e90", - "submission_date": "2018-10-01T14:31:03.871Z", - "update_date": "2018-10-01T20:12:48.002Z" - } - }, - "process/32891309-b7ef-4630-bd32-7879b9fd5bd1": { - "process_core": { - "process_id": "process_id_4645" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "32891309-b7ef-4630-bd32-7879b9fd5bd1", - "submission_date": "2018-10-01T14:31:03.903Z", - "update_date": "2018-10-01T20:12:48.057Z" - } - }, - "process/f4e6761f-0707-43c5-92c3-a2f8801a921c": { - "process_core": { - "process_id": "process_id_4646" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f4e6761f-0707-43c5-92c3-a2f8801a921c", - "submission_date": "2018-10-01T14:31:03.936Z", - "update_date": "2018-10-01T20:12:48.099Z" - } - }, - "process/dbce424f-f96f-45f0-9fde-5241558f2120": { - "process_core": { - "process_id": "process_id_4647" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "dbce424f-f96f-45f0-9fde-5241558f2120", - "submission_date": "2018-10-01T14:31:03.950Z", - "update_date": "2018-10-01T20:12:48.137Z" - } - }, - "process/5ed0c634-e904-4ae0-a69e-cb00870ee438": { - "process_core": { - "process_id": "process_id_4648" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5ed0c634-e904-4ae0-a69e-cb00870ee438", - "submission_date": "2018-10-01T14:31:03.967Z", - "update_date": "2018-10-01T20:12:48.162Z" - } - }, - "process/60274cc8-e3d5-46ba-9b8e-49a97b6f3de5": { - "process_core": { - "process_id": "process_id_4649" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "60274cc8-e3d5-46ba-9b8e-49a97b6f3de5", - "submission_date": "2018-10-01T14:31:03.983Z", - "update_date": "2018-10-01T20:12:48.189Z" - } - }, - "process/dcbd2407-bc33-4217-b4bb-67dc05b9a686": { - "process_core": { - "process_id": "process_id_4650" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "dcbd2407-bc33-4217-b4bb-67dc05b9a686", - "submission_date": "2018-10-01T14:31:04.007Z", - "update_date": "2018-10-01T20:12:48.213Z" - } - }, - "process/3217bf5a-b997-4426-9ceb-7e76fd96f23c": { - "process_core": { - "process_id": "process_id_4651" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3217bf5a-b997-4426-9ceb-7e76fd96f23c", - "submission_date": "2018-10-01T14:31:04.035Z", - "update_date": "2018-10-01T20:12:48.246Z" - } - }, - "process/b09a6612-370a-4234-89d1-a2a1c3dc16af": { - "process_core": { - "process_id": "process_id_4652" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "b09a6612-370a-4234-89d1-a2a1c3dc16af", - "submission_date": "2018-10-01T14:31:04.064Z", - "update_date": "2018-10-01T20:12:48.275Z" - } - }, - "process/12ce8719-3829-483c-b61d-f0fa942fd9d6": { - "process_core": { - "process_id": "process_id_4653" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "12ce8719-3829-483c-b61d-f0fa942fd9d6", - "submission_date": "2018-10-01T14:31:04.089Z", - "update_date": "2018-10-01T20:12:48.300Z" - } - }, - "process/20b21652-294d-47c6-b605-b40379032801": { - "process_core": { - "process_id": "process_id_4654" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "20b21652-294d-47c6-b605-b40379032801", - "submission_date": "2018-10-01T14:31:04.127Z", - "update_date": "2018-10-01T20:12:48.343Z" - } - }, - "process/7a21f753-6b40-43a6-b890-621fca012cfc": { - "process_core": { - "process_id": "process_id_4655" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "7a21f753-6b40-43a6-b890-621fca012cfc", - "submission_date": "2018-10-01T14:31:04.166Z", - "update_date": "2018-10-01T20:12:48.369Z" - } - }, - "process/55215393-5814-4fe3-ae0e-ce15d085fb18": { - "process_core": { - "process_id": "process_id_4656" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "55215393-5814-4fe3-ae0e-ce15d085fb18", - "submission_date": "2018-10-01T14:31:04.191Z", - "update_date": "2018-10-01T20:12:48.400Z" - } - }, - "process/5d6e33d0-3d99-4ef4-899b-3ad4ea3567a4": { - "process_core": { - "process_id": "process_id_4657" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5d6e33d0-3d99-4ef4-899b-3ad4ea3567a4", - "submission_date": "2018-10-01T14:31:04.204Z", - "update_date": "2018-10-01T20:12:48.436Z" - } - }, - "process/49c2d528-3875-4def-b009-79c7e33846f4": { - "process_core": { - "process_id": "process_id_4658" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "49c2d528-3875-4def-b009-79c7e33846f4", - "submission_date": "2018-10-01T14:31:04.224Z", - "update_date": "2018-10-01T20:12:48.463Z" - } - }, - "process/ce827d49-d8df-4285-8f4f-c7d4b9cb18c7": { - "process_core": { - "process_id": "process_id_4659" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ce827d49-d8df-4285-8f4f-c7d4b9cb18c7", - "submission_date": "2018-10-01T14:31:04.245Z", - "update_date": "2018-10-01T20:12:48.488Z" - } - }, - "process/eeb5cfb9-717f-42e2-b752-ab164d4cb391": { - "process_core": { - "process_id": "process_id_4660" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "eeb5cfb9-717f-42e2-b752-ab164d4cb391", - "submission_date": "2018-10-01T14:31:04.260Z", - "update_date": "2018-10-01T20:12:48.520Z" - } - }, - "process/0d837005-f544-46b4-9eed-8415bda886e7": { - "process_core": { - "process_id": "process_id_4661" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0d837005-f544-46b4-9eed-8415bda886e7", - "submission_date": "2018-10-01T14:31:04.276Z", - "update_date": "2018-10-01T20:12:48.548Z" - } - }, - "process/7b0e997f-a18f-4f19-9746-0837d3fdde1e": { - "process_core": { - "process_id": "process_id_4662" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "7b0e997f-a18f-4f19-9746-0837d3fdde1e", - "submission_date": "2018-10-01T14:31:04.310Z", - "update_date": "2018-10-01T20:12:48.574Z" - } - }, - "process/05413c8c-b3ad-485b-84a5-62532120bba0": { - "process_core": { - "process_id": "process_id_4663" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "05413c8c-b3ad-485b-84a5-62532120bba0", - "submission_date": "2018-10-01T14:31:04.338Z", - "update_date": "2018-10-01T20:12:48.601Z" - } - }, - "process/4595374e-910f-4aef-a667-626ec254bb2f": { - "process_core": { - "process_id": "process_id_4664" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4595374e-910f-4aef-a667-626ec254bb2f", - "submission_date": "2018-10-01T14:31:04.354Z", - "update_date": "2018-10-01T20:12:48.667Z" - } - }, - "process/f8ce10df-4f81-440e-92bf-57752268c0d1": { - "process_core": { - "process_id": "process_id_4665" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f8ce10df-4f81-440e-92bf-57752268c0d1", - "submission_date": "2018-10-01T14:31:04.378Z", - "update_date": "2018-10-01T20:12:48.698Z" - } - }, - "process/53d9c267-4b99-4752-88b6-5e81593aec8f": { - "process_core": { - "process_id": "process_id_4666" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "53d9c267-4b99-4752-88b6-5e81593aec8f", - "submission_date": "2018-10-01T14:31:04.399Z", - "update_date": "2018-10-01T20:12:48.750Z" - } - }, - "process/988dcce4-3eab-4810-bbcb-a3ae3b34c7cb": { - "process_core": { - "process_id": "process_id_4667" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "988dcce4-3eab-4810-bbcb-a3ae3b34c7cb", - "submission_date": "2018-10-01T14:31:04.426Z", - "update_date": "2018-10-01T20:12:48.796Z" - } - }, - "process/0709d3ae-ffa6-4271-a8ed-36eb7a28103d": { - "process_core": { - "process_id": "process_id_4668" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0709d3ae-ffa6-4271-a8ed-36eb7a28103d", - "submission_date": "2018-10-01T14:31:04.460Z", - "update_date": "2018-10-01T20:12:48.854Z" - } - }, - "process/32832d83-abec-4e9e-a58b-b14acc1ccfa8": { - "process_core": { - "process_id": "process_id_4669" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "32832d83-abec-4e9e-a58b-b14acc1ccfa8", - "submission_date": "2018-10-01T14:31:04.472Z", - "update_date": "2018-10-01T20:12:48.880Z" - } - }, - "process/561d741a-7840-42ee-a784-0c4ee585d76e": { - "process_core": { - "process_id": "process_id_4670" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "561d741a-7840-42ee-a784-0c4ee585d76e", - "submission_date": "2018-10-01T14:31:04.498Z", - "update_date": "2018-10-01T20:12:48.902Z" - } - }, - "process/d3a5f49b-7bf4-4691-9b35-76308b9b5a18": { - "process_core": { - "process_id": "process_id_4671" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d3a5f49b-7bf4-4691-9b35-76308b9b5a18", - "submission_date": "2018-10-01T14:31:04.522Z", - "update_date": "2018-10-01T20:12:48.945Z" - } - }, - "process/f81931a9-3746-4474-bb63-4139aca1531b": { - "process_core": { - "process_id": "process_id_4672" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f81931a9-3746-4474-bb63-4139aca1531b", - "submission_date": "2018-10-01T14:31:04.551Z", - "update_date": "2018-10-01T20:12:48.983Z" - } - }, - "process/03d6edad-5b5c-407e-bf94-66f68ea9c950": { - "process_core": { - "process_id": "process_id_4673" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "03d6edad-5b5c-407e-bf94-66f68ea9c950", - "submission_date": "2018-10-01T14:31:04.568Z", - "update_date": "2018-10-01T20:12:49.046Z" - } - }, - "process/45647374-a372-4670-91e4-4be91a09e310": { - "process_core": { - "process_id": "process_id_4674" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "45647374-a372-4670-91e4-4be91a09e310", - "submission_date": "2018-10-01T14:31:04.583Z", - "update_date": "2018-10-01T20:12:49.093Z" - } - }, - "process/7bee5e6f-266d-43bc-8b4c-43aa48d2847a": { - "process_core": { - "process_id": "process_id_4675" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "7bee5e6f-266d-43bc-8b4c-43aa48d2847a", - "submission_date": "2018-10-01T14:31:04.602Z", - "update_date": "2018-10-01T20:12:49.119Z" - } - }, - "process/8591002d-74b2-44f3-b964-f6f7fcfff84a": { - "process_core": { - "process_id": "process_id_4676" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8591002d-74b2-44f3-b964-f6f7fcfff84a", - "submission_date": "2018-10-01T14:31:04.618Z", - "update_date": "2018-10-01T20:12:49.157Z" - } - }, - "process/8c255de9-a155-4c97-80b2-4ba2350cfb5a": { - "process_core": { - "process_id": "process_id_4677" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8c255de9-a155-4c97-80b2-4ba2350cfb5a", - "submission_date": "2018-10-01T14:31:04.638Z", - "update_date": "2018-10-01T20:12:49.182Z" - } - }, - "process/ed0a7ad8-f66b-4f61-8210-3f2786a2f7dd": { - "process_core": { - "process_id": "process_id_4678" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ed0a7ad8-f66b-4f61-8210-3f2786a2f7dd", - "submission_date": "2018-10-01T14:31:04.660Z", - "update_date": "2018-10-01T20:12:49.217Z" - } - }, - "process/22c5df75-f10b-40c6-aba3-f7468da28e3d": { - "process_core": { - "process_id": "process_id_4679" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "22c5df75-f10b-40c6-aba3-f7468da28e3d", - "submission_date": "2018-10-01T14:31:04.670Z", - "update_date": "2018-10-01T20:12:49.246Z" - } - }, - "process/b4bff3a8-ca28-4ec4-a8e7-d2835aab1987": { - "process_core": { - "process_id": "process_id_4680" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "b4bff3a8-ca28-4ec4-a8e7-d2835aab1987", - "submission_date": "2018-10-01T14:31:04.680Z", - "update_date": "2018-10-01T20:12:49.350Z" - } - }, - "process/7c1e17c5-979b-485b-b0f9-067141f73f50": { - "process_core": { - "process_id": "process_id_4681" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "7c1e17c5-979b-485b-b0f9-067141f73f50", - "submission_date": "2018-10-01T14:31:04.689Z", - "update_date": "2018-10-01T20:12:49.437Z" - } - }, - "process/afa03a51-faaf-4020-a486-13464c6a7154": { - "process_core": { - "process_id": "process_id_4682" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "afa03a51-faaf-4020-a486-13464c6a7154", - "submission_date": "2018-10-01T14:31:04.699Z", - "update_date": "2018-10-01T20:12:49.494Z" - } - }, - "process/71d78948-b4c6-49a8-9f6b-280129af1af3": { - "process_core": { - "process_id": "process_id_4683" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "71d78948-b4c6-49a8-9f6b-280129af1af3", - "submission_date": "2018-10-01T14:31:04.711Z", - "update_date": "2018-10-01T20:12:49.606Z" - } - }, - "process/023c0a15-5a1f-4d70-b6b2-d6094725f380": { - "process_core": { - "process_id": "process_id_4684" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "023c0a15-5a1f-4d70-b6b2-d6094725f380", - "submission_date": "2018-10-01T14:31:04.723Z", - "update_date": "2018-10-01T20:12:49.661Z" - } - }, - "process/95dc7705-7905-40c4-ae21-f417d99c1f57": { - "process_core": { - "process_id": "process_id_4685" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "95dc7705-7905-40c4-ae21-f417d99c1f57", - "submission_date": "2018-10-01T14:31:04.735Z", - "update_date": "2018-10-01T20:12:49.742Z" - } - }, - "process/8c16d3eb-3a35-4510-8d8d-5097fdf4f277": { - "process_core": { - "process_id": "process_id_4686" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8c16d3eb-3a35-4510-8d8d-5097fdf4f277", - "submission_date": "2018-10-01T14:31:04.747Z", - "update_date": "2018-10-01T20:12:49.851Z" - } - }, - "process/b735fe09-b90d-4b19-8215-ae381c9b6c7c": { - "process_core": { - "process_id": "process_id_4687" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "b735fe09-b90d-4b19-8215-ae381c9b6c7c", - "submission_date": "2018-10-01T14:31:04.759Z", - "update_date": "2018-10-01T20:12:49.950Z" - } - }, - "process/ed803458-c753-4aa3-85f4-9460aa6bdd01": { - "process_core": { - "process_id": "process_id_4688" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ed803458-c753-4aa3-85f4-9460aa6bdd01", - "submission_date": "2018-10-01T14:31:04.769Z", - "update_date": "2018-10-01T20:12:50.009Z" - } - }, - "process/3144dcfb-b371-42d6-849b-7f8c2bd663ec": { - "process_core": { - "process_id": "process_id_4689" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3144dcfb-b371-42d6-849b-7f8c2bd663ec", - "submission_date": "2018-10-01T14:31:04.782Z", - "update_date": "2018-10-01T20:12:50.134Z" - } - }, - "process/61c7f8b3-9620-4d17-b4cd-dc1419b43f0a": { - "process_core": { - "process_id": "process_id_4690" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "61c7f8b3-9620-4d17-b4cd-dc1419b43f0a", - "submission_date": "2018-10-01T14:31:04.793Z", - "update_date": "2018-10-01T20:12:50.267Z" - } - }, - "process/14edc0e1-d158-4a70-80c3-e2f5be01b495": { - "process_core": { - "process_id": "process_id_4691" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "14edc0e1-d158-4a70-80c3-e2f5be01b495", - "submission_date": "2018-10-01T14:31:04.804Z", - "update_date": "2018-10-01T20:12:50.305Z" - } - }, - "process/2708c5a5-e4f1-4381-b2d9-615b71852065": { - "process_core": { - "process_id": "process_id_4692" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "2708c5a5-e4f1-4381-b2d9-615b71852065", - "submission_date": "2018-10-01T14:31:04.815Z", - "update_date": "2018-10-01T20:12:50.396Z" - } - }, - "process/d282bbf1-fa9e-4565-8424-fd280b38c192": { - "process_core": { - "process_id": "process_id_4693" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d282bbf1-fa9e-4565-8424-fd280b38c192", - "submission_date": "2018-10-01T14:31:04.837Z", - "update_date": "2018-10-01T20:12:50.450Z" - } - }, - "process/d8bc6a75-ef33-42f0-ba3f-929c86aa4c4a": { - "process_core": { - "process_id": "process_id_4694" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d8bc6a75-ef33-42f0-ba3f-929c86aa4c4a", - "submission_date": "2018-10-01T14:31:04.853Z", - "update_date": "2018-10-01T20:12:50.514Z" - } - }, - "process/87724346-0767-4373-95db-1d152c5ff4d2": { - "process_core": { - "process_id": "process_id_4695" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "87724346-0767-4373-95db-1d152c5ff4d2", - "submission_date": "2018-10-01T14:31:04.866Z", - "update_date": "2018-10-01T20:12:50.600Z" - } - }, - "process/e6dbed50-e897-4c58-8684-d358961979f0": { - "process_core": { - "process_id": "process_id_4696" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e6dbed50-e897-4c58-8684-d358961979f0", - "submission_date": "2018-10-01T14:31:04.876Z", - "update_date": "2018-10-01T20:12:50.686Z" - } - }, - "process/0c26fb4d-de2b-499b-b873-1a7c1bb20dad": { - "process_core": { - "process_id": "process_id_4697" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0c26fb4d-de2b-499b-b873-1a7c1bb20dad", - "submission_date": "2018-10-01T14:31:04.887Z", - "update_date": "2018-10-01T20:12:50.758Z" - } - }, - "process/e1ae2f9c-e4f8-4ed5-be4a-53ac612179ac": { - "process_core": { - "process_id": "process_id_4698" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e1ae2f9c-e4f8-4ed5-be4a-53ac612179ac", - "submission_date": "2018-10-01T14:31:04.903Z", - "update_date": "2018-10-01T20:12:50.856Z" - } - }, - "process/309cb748-f4b3-46ff-a8ef-23a0c3a42a99": { - "process_core": { - "process_id": "process_id_4699" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "309cb748-f4b3-46ff-a8ef-23a0c3a42a99", - "submission_date": "2018-10-01T14:31:04.918Z", - "update_date": "2018-10-01T20:12:50.931Z" - } - }, - "process/2a7833a8-1c57-4f5c-82a7-b11dd86b8637": { - "process_core": { - "process_id": "process_id_4700" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "2a7833a8-1c57-4f5c-82a7-b11dd86b8637", - "submission_date": "2018-10-01T14:31:04.934Z", - "update_date": "2018-10-01T20:12:51.034Z" - } - }, - "process/50b6918d-6f63-46e6-ab21-439a3c79d649": { - "process_core": { - "process_id": "process_id_4701" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "50b6918d-6f63-46e6-ab21-439a3c79d649", - "submission_date": "2018-10-01T14:31:04.950Z", - "update_date": "2018-10-01T20:12:51.085Z" - } - }, - "process/28e3da84-8768-4a26-980e-884418060211": { - "process_core": { - "process_id": "process_id_4702" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "28e3da84-8768-4a26-980e-884418060211", - "submission_date": "2018-10-01T14:31:04.961Z", - "update_date": "2018-10-01T20:12:51.158Z" - } - }, - "process/24ef50a0-f81b-4e0a-aa08-886d9c8a8690": { - "process_core": { - "process_id": "process_id_4703" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "24ef50a0-f81b-4e0a-aa08-886d9c8a8690", - "submission_date": "2018-10-01T14:31:04.975Z", - "update_date": "2018-10-01T20:12:51.202Z" - } - }, - "process/55f55615-93b1-4d56-b4db-6851ae8c2ccf": { - "process_core": { - "process_id": "process_id_4704" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "55f55615-93b1-4d56-b4db-6851ae8c2ccf", - "submission_date": "2018-10-01T14:31:04.985Z", - "update_date": "2018-10-01T20:12:51.290Z" - } - }, - "process/cd0e9fbd-cad9-4a26-bc71-808f5c1c1c37": { - "process_core": { - "process_id": "process_id_4705" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "cd0e9fbd-cad9-4a26-bc71-808f5c1c1c37", - "submission_date": "2018-10-01T14:31:04.994Z", - "update_date": "2018-10-01T20:12:51.417Z" - } - }, - "process/c90ca611-d560-4755-881a-eb58bc3014c2": { - "process_core": { - "process_id": "process_id_4706" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c90ca611-d560-4755-881a-eb58bc3014c2", - "submission_date": "2018-10-01T14:31:05.006Z", - "update_date": "2018-10-01T20:12:51.460Z" - } - }, - "process/904a4d45-f245-4971-8867-357e98b546dd": { - "process_core": { - "process_id": "process_id_4707" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "904a4d45-f245-4971-8867-357e98b546dd", - "submission_date": "2018-10-01T14:31:05.039Z", - "update_date": "2018-10-01T20:12:51.521Z" - } - }, - "process/0a4e7fd4-2b9f-4ab0-b562-c05d4ec070a0": { - "process_core": { - "process_id": "process_id_4708" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0a4e7fd4-2b9f-4ab0-b562-c05d4ec070a0", - "submission_date": "2018-10-01T14:31:05.104Z", - "update_date": "2018-10-01T20:12:51.603Z" - } - }, - "process/d37083aa-44e7-40b4-962b-b75b60bd1c1a": { - "process_core": { - "process_id": "process_id_4709" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d37083aa-44e7-40b4-962b-b75b60bd1c1a", - "submission_date": "2018-10-01T14:31:05.118Z", - "update_date": "2018-10-01T20:12:51.640Z" - } - }, - "process/ceffe756-2f76-4eb3-ac71-81b671417921": { - "process_core": { - "process_id": "process_id_4710" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ceffe756-2f76-4eb3-ac71-81b671417921", - "submission_date": "2018-10-01T14:31:05.136Z", - "update_date": "2018-10-01T20:12:51.666Z" - } - }, - "process/d1776e61-bc3c-44a7-9822-1f2283b2522d": { - "process_core": { - "process_id": "process_id_4711" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d1776e61-bc3c-44a7-9822-1f2283b2522d", - "submission_date": "2018-10-01T14:31:05.149Z", - "update_date": "2018-10-01T20:12:51.736Z" - } - }, - "process/2f8f6f9d-8776-412b-8b90-39200659ea2f": { - "process_core": { - "process_id": "process_id_4712" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "2f8f6f9d-8776-412b-8b90-39200659ea2f", - "submission_date": "2018-10-01T14:31:05.161Z", - "update_date": "2018-10-01T20:12:51.781Z" - } - }, - "process/d9c0b712-8e43-498d-9351-28082637992f": { - "process_core": { - "process_id": "process_id_4713" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d9c0b712-8e43-498d-9351-28082637992f", - "submission_date": "2018-10-01T14:31:05.188Z", - "update_date": "2018-10-01T20:12:51.892Z" - } - }, - "process/3b45ee92-c5ba-49dd-b936-3d0c3262e820": { - "process_core": { - "process_id": "process_id_4714" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3b45ee92-c5ba-49dd-b936-3d0c3262e820", - "submission_date": "2018-10-01T14:31:05.199Z", - "update_date": "2018-10-01T20:12:51.916Z" - } - }, - "process/8eae0593-bd62-413b-8112-925c77d52aa5": { - "process_core": { - "process_id": "process_id_4715" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8eae0593-bd62-413b-8112-925c77d52aa5", - "submission_date": "2018-10-01T14:31:05.208Z", - "update_date": "2018-10-01T20:12:51.961Z" - } - }, - "process/e68c4790-33ba-4043-bf6a-d1f8cc43d6b2": { - "process_core": { - "process_id": "process_id_4716" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e68c4790-33ba-4043-bf6a-d1f8cc43d6b2", - "submission_date": "2018-10-01T14:31:05.218Z", - "update_date": "2018-10-01T20:12:51.986Z" - } - }, - "process/e31b881a-1c5b-4388-9ad8-5defb087424d": { - "process_core": { - "process_id": "process_id_4717" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e31b881a-1c5b-4388-9ad8-5defb087424d", - "submission_date": "2018-10-01T14:31:05.237Z", - "update_date": "2018-10-01T20:12:52.018Z" - } - }, - "process/40ec7b86-ebc6-4bd7-aba1-7bbe3c47237d": { - "process_core": { - "process_id": "process_id_4718" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "40ec7b86-ebc6-4bd7-aba1-7bbe3c47237d", - "submission_date": "2018-10-01T14:31:05.254Z", - "update_date": "2018-10-01T20:12:52.049Z" - } - }, - "process/9fe258c1-bda5-49f2-a9f0-27bf1c60d8e8": { - "process_core": { - "process_id": "process_id_4719" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "9fe258c1-bda5-49f2-a9f0-27bf1c60d8e8", - "submission_date": "2018-10-01T14:31:05.270Z", - "update_date": "2018-10-01T20:12:52.075Z" - } - }, - "process/c0a5b08e-171f-44bc-988c-6d97b34cf9e0": { - "process_core": { - "process_id": "process_id_4720" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c0a5b08e-171f-44bc-988c-6d97b34cf9e0", - "submission_date": "2018-10-01T14:31:05.284Z", - "update_date": "2018-10-01T20:12:52.109Z" - } - }, - "process/895beb4e-b3cc-4b29-8af1-3a1fd371df33": { - "process_core": { - "process_id": "process_id_4721" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "895beb4e-b3cc-4b29-8af1-3a1fd371df33", - "submission_date": "2018-10-01T14:31:05.294Z", - "update_date": "2018-10-01T20:12:52.145Z" - } - }, - "process/5f9cb191-61a4-4134-8365-43cc7933be9a": { - "process_core": { - "process_id": "process_id_4722" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5f9cb191-61a4-4134-8365-43cc7933be9a", - "submission_date": "2018-10-01T14:31:05.310Z", - "update_date": "2018-10-01T20:12:52.180Z" - } - }, - "process/ac52cf25-e009-4f3c-ab17-29bd7ed0c723": { - "process_core": { - "process_id": "process_id_4723" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ac52cf25-e009-4f3c-ab17-29bd7ed0c723", - "submission_date": "2018-10-01T14:31:05.321Z", - "update_date": "2018-10-01T20:12:52.210Z" - } - }, - "process/f6f157ba-df4a-4b6f-b832-f9eca9e4962e": { - "process_core": { - "process_id": "process_id_4724" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f6f157ba-df4a-4b6f-b832-f9eca9e4962e", - "submission_date": "2018-10-01T14:31:05.333Z", - "update_date": "2018-10-01T20:12:52.246Z" - } - }, - "process/960d97c5-b30c-4f22-be2e-f85a46215058": { - "process_core": { - "process_id": "process_id_4725" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "960d97c5-b30c-4f22-be2e-f85a46215058", - "submission_date": "2018-10-01T14:31:05.343Z", - "update_date": "2018-10-01T20:12:52.271Z" - } - }, - "process/78f6dc92-6e5b-439d-a690-73453f6b61a7": { - "process_core": { - "process_id": "process_id_4726" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "78f6dc92-6e5b-439d-a690-73453f6b61a7", - "submission_date": "2018-10-01T14:31:05.352Z", - "update_date": "2018-10-01T20:12:52.295Z" - } - }, - "process/77f79f0b-938c-4107-973e-0c8629f53f97": { - "process_core": { - "process_id": "process_id_4727" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "77f79f0b-938c-4107-973e-0c8629f53f97", - "submission_date": "2018-10-01T14:31:05.363Z", - "update_date": "2018-10-01T20:12:52.325Z" - } - }, - "process/4dc653e3-bddb-404e-b046-93f25457b485": { - "process_core": { - "process_id": "process_id_4728" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4dc653e3-bddb-404e-b046-93f25457b485", - "submission_date": "2018-10-01T14:31:05.376Z", - "update_date": "2018-10-01T20:12:52.352Z" - } - }, - "process/675d4a06-7996-4396-9aab-4ec6f8dc3ffb": { - "process_core": { - "process_id": "process_id_4729" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "675d4a06-7996-4396-9aab-4ec6f8dc3ffb", - "submission_date": "2018-10-01T14:31:05.390Z", - "update_date": "2018-10-01T20:12:52.393Z" - } - }, - "process/a236f1a7-b981-4ad5-97f9-a1fc344965d1": { - "process_core": { - "process_id": "process_id_4730" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a236f1a7-b981-4ad5-97f9-a1fc344965d1", - "submission_date": "2018-10-01T14:31:05.403Z", - "update_date": "2018-10-01T20:12:52.440Z" - } - }, - "process/60b6d678-b0e6-4bae-8a3a-f216f0b9bee5": { - "process_core": { - "process_id": "process_id_4731" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "60b6d678-b0e6-4bae-8a3a-f216f0b9bee5", - "submission_date": "2018-10-01T14:31:05.416Z", - "update_date": "2018-10-01T20:12:52.471Z" - } - }, - "process/f955da94-772e-428e-a8cc-79ad19547dd1": { - "process_core": { - "process_id": "process_id_4732" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f955da94-772e-428e-a8cc-79ad19547dd1", - "submission_date": "2018-10-01T14:31:05.434Z", - "update_date": "2018-10-01T20:12:52.537Z" - } - }, - "process/cab574d5-e916-447f-af40-8f88bb530318": { - "process_core": { - "process_id": "process_id_4733" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "cab574d5-e916-447f-af40-8f88bb530318", - "submission_date": "2018-10-01T14:31:05.450Z", - "update_date": "2018-10-01T20:12:52.573Z" - } - }, - "process/173d6eae-8a36-4421-8292-5d8a54abe3f8": { - "process_core": { - "process_id": "process_id_4734" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "173d6eae-8a36-4421-8292-5d8a54abe3f8", - "submission_date": "2018-10-01T14:31:05.465Z", - "update_date": "2018-10-01T20:12:52.599Z" - } - }, - "process/003acbd3-50b9-407e-bd45-83a3e34822f5": { - "process_core": { - "process_id": "process_id_4735" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "003acbd3-50b9-407e-bd45-83a3e34822f5", - "submission_date": "2018-10-01T14:31:05.481Z", - "update_date": "2018-10-01T20:12:52.646Z" - } - }, - "process/468751a8-396c-4529-b491-e007f427bafa": { - "process_core": { - "process_id": "process_id_4736" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "468751a8-396c-4529-b491-e007f427bafa", - "submission_date": "2018-10-01T14:31:05.491Z", - "update_date": "2018-10-01T20:12:52.678Z" - } - }, - "process/09ee7b7c-47d4-4ba7-aa3d-e657f210005e": { - "process_core": { - "process_id": "process_id_4737" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "09ee7b7c-47d4-4ba7-aa3d-e657f210005e", - "submission_date": "2018-10-01T14:31:05.503Z", - "update_date": "2018-10-01T20:12:52.701Z" - } - }, - "process/e8d0d039-d594-404f-9168-8d05787bd540": { - "process_core": { - "process_id": "process_id_4738" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e8d0d039-d594-404f-9168-8d05787bd540", - "submission_date": "2018-10-01T14:31:05.516Z", - "update_date": "2018-10-01T20:12:52.741Z" - } - }, - "process/84896b33-e428-4620-9d25-edd5da9dd23e": { - "process_core": { - "process_id": "process_id_4739" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "84896b33-e428-4620-9d25-edd5da9dd23e", - "submission_date": "2018-10-01T14:31:05.534Z", - "update_date": "2018-10-01T20:12:52.765Z" - } - }, - "process/ceb6ef07-0ccc-4fc0-9fe4-efe09e4fe8f8": { - "process_core": { - "process_id": "process_id_4740" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ceb6ef07-0ccc-4fc0-9fe4-efe09e4fe8f8", - "submission_date": "2018-10-01T14:31:05.545Z", - "update_date": "2018-10-01T20:12:52.825Z" - } - }, - "process/ebfd6937-49ec-4573-955d-92a39d6a0488": { - "process_core": { - "process_id": "process_id_4741" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ebfd6937-49ec-4573-955d-92a39d6a0488", - "submission_date": "2018-10-01T14:31:05.556Z", - "update_date": "2018-10-01T20:12:52.905Z" - } - }, - "process/d6cd0f2e-4b5a-4574-8285-a41ad6bfbff1": { - "process_core": { - "process_id": "process_id_4742" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d6cd0f2e-4b5a-4574-8285-a41ad6bfbff1", - "submission_date": "2018-10-01T14:31:05.569Z", - "update_date": "2018-10-01T20:12:52.959Z" - } - }, - "process/29e91ec5-0203-4cff-ab8c-de85845b59bd": { - "process_core": { - "process_id": "process_id_4743" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "29e91ec5-0203-4cff-ab8c-de85845b59bd", - "submission_date": "2018-10-01T14:31:05.586Z", - "update_date": "2018-10-01T20:12:53.010Z" - } - }, - "process/fdcfbb5d-dcb8-4a85-967d-55b93459bf8d": { - "process_core": { - "process_id": "process_id_4744" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "fdcfbb5d-dcb8-4a85-967d-55b93459bf8d", - "submission_date": "2018-10-01T14:31:05.596Z", - "update_date": "2018-10-01T20:12:53.063Z" - } - }, - "process/14d35dae-8a80-4d01-b72d-437616c33668": { - "process_core": { - "process_id": "process_id_4745" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "14d35dae-8a80-4d01-b72d-437616c33668", - "submission_date": "2018-10-01T14:31:05.607Z", - "update_date": "2018-10-01T20:12:53.162Z" - } - }, - "process/839f6c93-cbed-4a31-a896-f69dfc00ec66": { - "process_core": { - "process_id": "process_id_4746" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "839f6c93-cbed-4a31-a896-f69dfc00ec66", - "submission_date": "2018-10-01T14:31:05.621Z", - "update_date": "2018-10-01T20:12:53.209Z" - } - }, - "process/00d28e19-3708-4a45-b658-0483f3f345e8": { - "process_core": { - "process_id": "process_id_4747" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "00d28e19-3708-4a45-b658-0483f3f345e8", - "submission_date": "2018-10-01T14:31:05.642Z", - "update_date": "2018-10-01T20:12:53.266Z" - } - }, - "process/2177bd90-1778-4012-b658-b5eac6fc31b8": { - "process_core": { - "process_id": "process_id_4748" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "2177bd90-1778-4012-b658-b5eac6fc31b8", - "submission_date": "2018-10-01T14:31:05.653Z", - "update_date": "2018-10-01T20:12:53.288Z" - } - }, - "process/59698450-da74-4160-9089-2f6687562bc5": { - "process_core": { - "process_id": "process_id_4749" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "59698450-da74-4160-9089-2f6687562bc5", - "submission_date": "2018-10-01T14:31:05.666Z", - "update_date": "2018-10-01T20:12:53.312Z" - } - }, - "process/4dda8259-2e84-4ac3-a9b9-53cd56933415": { - "process_core": { - "process_id": "process_id_4750" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4dda8259-2e84-4ac3-a9b9-53cd56933415", - "submission_date": "2018-10-01T14:31:05.675Z", - "update_date": "2018-10-01T20:12:53.342Z" - } - }, - "process/574bcc1a-aa15-47e8-85c2-0fcbb68261ab": { - "process_core": { - "process_id": "process_id_4751" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "574bcc1a-aa15-47e8-85c2-0fcbb68261ab", - "submission_date": "2018-10-01T14:31:05.688Z", - "update_date": "2018-10-01T20:12:53.364Z" - } - }, - "process/0c6a1c50-e6f3-4fb4-8671-e9312670335d": { - "process_core": { - "process_id": "process_id_4752" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0c6a1c50-e6f3-4fb4-8671-e9312670335d", - "submission_date": "2018-10-01T14:31:05.700Z", - "update_date": "2018-10-01T20:12:53.390Z" - } - }, - "process/83726606-87ea-40dc-8a16-f40e6774cef5": { - "process_core": { - "process_id": "process_id_4753" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "83726606-87ea-40dc-8a16-f40e6774cef5", - "submission_date": "2018-10-01T14:31:05.712Z", - "update_date": "2018-10-01T20:12:53.418Z" - } - }, - "process/0167a28c-32f6-4b9d-8c88-642cc26e8916": { - "process_core": { - "process_id": "process_id_4754" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0167a28c-32f6-4b9d-8c88-642cc26e8916", - "submission_date": "2018-10-01T14:31:05.734Z", - "update_date": "2018-10-01T20:12:53.465Z" - } - }, - "process/ecf6f18a-7eab-4feb-8022-63129cd82b30": { - "process_core": { - "process_id": "process_id_4755" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ecf6f18a-7eab-4feb-8022-63129cd82b30", - "submission_date": "2018-10-01T14:31:05.744Z", - "update_date": "2018-10-01T20:12:53.514Z" - } - }, - "process/eba1c33c-2a11-41fa-b3cd-d345f5b7030b": { - "process_core": { - "process_id": "process_id_4756" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "eba1c33c-2a11-41fa-b3cd-d345f5b7030b", - "submission_date": "2018-10-01T14:31:05.754Z", - "update_date": "2018-10-01T20:12:53.558Z" - } - }, - "process/4b6bf410-4a3a-4c30-b28d-584e0faa3b33": { - "process_core": { - "process_id": "process_id_4757" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4b6bf410-4a3a-4c30-b28d-584e0faa3b33", - "submission_date": "2018-10-01T14:31:05.766Z", - "update_date": "2018-10-01T20:12:53.603Z" - } - }, - "process/bbb99052-1caa-4827-8237-a689c9a5c671": { - "process_core": { - "process_id": "process_id_4758" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "bbb99052-1caa-4827-8237-a689c9a5c671", - "submission_date": "2018-10-01T14:31:05.782Z", - "update_date": "2018-10-01T20:12:53.636Z" - } - }, - "process/6bc46de8-0850-4df8-913b-81ce3a512992": { - "process_core": { - "process_id": "process_id_4759" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6bc46de8-0850-4df8-913b-81ce3a512992", - "submission_date": "2018-10-01T14:31:05.792Z", - "update_date": "2018-10-01T20:12:53.665Z" - } - }, - "process/e1711ee4-dbfb-480c-9ead-cc1cc49cfe00": { - "process_core": { - "process_id": "process_id_4760" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e1711ee4-dbfb-480c-9ead-cc1cc49cfe00", - "submission_date": "2018-10-01T14:31:05.803Z", - "update_date": "2018-10-01T20:12:53.700Z" - } - }, - "process/cad5cb7a-3aca-41d0-8b96-acbb3103a23a": { - "process_core": { - "process_id": "process_id_4761" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "cad5cb7a-3aca-41d0-8b96-acbb3103a23a", - "submission_date": "2018-10-01T14:31:05.814Z", - "update_date": "2018-10-01T20:12:53.761Z" - } - }, - "process/c056aedb-be1a-43b5-bde5-691b276a8251": { - "process_core": { - "process_id": "process_id_4762" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c056aedb-be1a-43b5-bde5-691b276a8251", - "submission_date": "2018-10-01T14:31:05.834Z", - "update_date": "2018-10-01T20:12:53.808Z" - } - }, - "process/8eb253a2-76b9-4e1d-a446-021ff683984d": { - "process_core": { - "process_id": "process_id_4763" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8eb253a2-76b9-4e1d-a446-021ff683984d", - "submission_date": "2018-10-01T14:31:05.850Z", - "update_date": "2018-10-01T20:12:53.839Z" - } - }, - "process/cb85a088-9924-4765-953e-670576d80c88": { - "process_core": { - "process_id": "process_id_4764" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "cb85a088-9924-4765-953e-670576d80c88", - "submission_date": "2018-10-01T14:31:05.865Z", - "update_date": "2018-10-01T20:12:53.876Z" - } - }, - "process/9f44febf-5f1d-4e3a-9588-63c43c01e554": { - "process_core": { - "process_id": "process_id_4765" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "9f44febf-5f1d-4e3a-9588-63c43c01e554", - "submission_date": "2018-10-01T14:31:05.879Z", - "update_date": "2018-10-01T20:12:53.899Z" - } - }, - "process/9a0dd61e-9961-429e-9771-58f3f7f711ab": { - "process_core": { - "process_id": "process_id_4766" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "9a0dd61e-9961-429e-9771-58f3f7f711ab", - "submission_date": "2018-10-01T14:31:05.892Z", - "update_date": "2018-10-01T20:12:53.974Z" - } - }, - "process/c8c8e860-9a7d-49a7-8502-528b63da2518": { - "process_core": { - "process_id": "process_id_4767" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c8c8e860-9a7d-49a7-8502-528b63da2518", - "submission_date": "2018-10-01T14:31:05.905Z", - "update_date": "2018-10-01T20:12:54.015Z" - } - }, - "process/b6cf8d61-a706-4bbd-9bab-be8d46817fc0": { - "process_core": { - "process_id": "process_id_4768" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "b6cf8d61-a706-4bbd-9bab-be8d46817fc0", - "submission_date": "2018-10-01T14:31:05.915Z", - "update_date": "2018-10-01T20:12:54.054Z" - } - }, - "process/ce7d1edf-6c07-4453-9146-0974a788579f": { - "process_core": { - "process_id": "process_id_4769" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ce7d1edf-6c07-4453-9146-0974a788579f", - "submission_date": "2018-10-01T14:31:05.936Z", - "update_date": "2018-10-01T20:12:54.078Z" - } - }, - "process/f044e1e6-385d-49be-af93-f5ecae454904": { - "process_core": { - "process_id": "process_id_4770" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f044e1e6-385d-49be-af93-f5ecae454904", - "submission_date": "2018-10-01T14:31:05.947Z", - "update_date": "2018-10-01T20:12:54.100Z" - } - }, - "process/77da32f2-9e40-4466-a305-d83c228133f5": { - "process_core": { - "process_id": "process_id_4771" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "77da32f2-9e40-4466-a305-d83c228133f5", - "submission_date": "2018-10-01T14:31:05.960Z", - "update_date": "2018-10-01T20:12:54.143Z" - } - }, - "process/d3e99b39-343f-4b79-b82f-bdc15c2ac134": { - "process_core": { - "process_id": "process_id_4772" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d3e99b39-343f-4b79-b82f-bdc15c2ac134", - "submission_date": "2018-10-01T14:31:05.972Z", - "update_date": "2018-10-01T20:12:54.177Z" - } - }, - "process/f18a67d6-1af6-40e9-b2dd-bdb6ff507411": { - "process_core": { - "process_id": "process_id_4773" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f18a67d6-1af6-40e9-b2dd-bdb6ff507411", - "submission_date": "2018-10-01T14:31:05.981Z", - "update_date": "2018-10-01T20:12:54.212Z" - } - }, - "process/9db2b842-085d-4911-bd15-c23da70e0ef9": { - "process_core": { - "process_id": "process_id_4774" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "9db2b842-085d-4911-bd15-c23da70e0ef9", - "submission_date": "2018-10-01T14:31:05.993Z", - "update_date": "2018-10-01T20:12:54.274Z" - } - }, - "process/98bba296-21f3-47c8-b29c-e1b4f2918b09": { - "process_core": { - "process_id": "process_id_4775" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "98bba296-21f3-47c8-b29c-e1b4f2918b09", - "submission_date": "2018-10-01T14:31:06.003Z", - "update_date": "2018-10-01T20:12:54.357Z" - } - }, - "process/96bcce65-2618-4401-8701-0e59b17ef0cf": { - "process_core": { - "process_id": "process_id_4776" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "96bcce65-2618-4401-8701-0e59b17ef0cf", - "submission_date": "2018-10-01T14:31:06.016Z", - "update_date": "2018-10-01T20:12:54.400Z" - } - }, - "process/8fd5f176-05cc-4607-ba85-95f2f5ed46f4": { - "process_core": { - "process_id": "process_id_4777" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8fd5f176-05cc-4607-ba85-95f2f5ed46f4", - "submission_date": "2018-10-01T14:31:06.033Z", - "update_date": "2018-10-01T20:12:54.440Z" - } - }, - "process/77c45736-10f4-4b9f-bf5f-0244619af9bd": { - "process_core": { - "process_id": "process_id_4778" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "77c45736-10f4-4b9f-bf5f-0244619af9bd", - "submission_date": "2018-10-01T14:31:06.045Z", - "update_date": "2018-10-01T20:12:54.519Z" - } - }, - "process/5ef19708-cb21-4b66-a95a-e663d3005a2a": { - "process_core": { - "process_id": "process_id_4779" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5ef19708-cb21-4b66-a95a-e663d3005a2a", - "submission_date": "2018-10-01T14:31:06.062Z", - "update_date": "2018-10-01T20:12:54.566Z" - } - }, - "process/213ad5b1-4174-4047-9a0f-f9cf86cc0704": { - "process_core": { - "process_id": "process_id_4780" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "213ad5b1-4174-4047-9a0f-f9cf86cc0704", - "submission_date": "2018-10-01T14:31:06.072Z", - "update_date": "2018-10-01T20:12:54.604Z" - } - }, - "process/8e42ae20-29e7-454b-b92d-9c154c04f299": { - "process_core": { - "process_id": "process_id_4781" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8e42ae20-29e7-454b-b92d-9c154c04f299", - "submission_date": "2018-10-01T14:31:06.082Z", - "update_date": "2018-10-01T20:12:54.643Z" - } - }, - "process/e50c6eb4-a23c-43b4-8c9f-f87c3ebb47ee": { - "process_core": { - "process_id": "process_id_4782" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e50c6eb4-a23c-43b4-8c9f-f87c3ebb47ee", - "submission_date": "2018-10-01T14:31:06.102Z", - "update_date": "2018-10-01T20:12:54.697Z" - } - }, - "process/de0401d6-bc99-440d-9ac4-fed02f3e5363": { - "process_core": { - "process_id": "process_id_4783" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "de0401d6-bc99-440d-9ac4-fed02f3e5363", - "submission_date": "2018-10-01T14:31:06.116Z", - "update_date": "2018-10-01T20:12:54.752Z" - } - }, - "process/ca0d2f23-5eb4-4141-bfec-a32c25ff78e6": { - "process_core": { - "process_id": "process_id_4784" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ca0d2f23-5eb4-4141-bfec-a32c25ff78e6", - "submission_date": "2018-10-01T14:31:06.140Z", - "update_date": "2018-10-01T20:12:54.793Z" - } - }, - "process/0e15017e-425d-480d-b6dd-0759bfb06262": { - "process_core": { - "process_id": "process_id_4785" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0e15017e-425d-480d-b6dd-0759bfb06262", - "submission_date": "2018-10-01T14:31:06.167Z", - "update_date": "2018-10-01T20:12:54.826Z" - } - }, - "process/f5096a3b-6f06-4986-b711-a02a0cce57ac": { - "process_core": { - "process_id": "process_id_4786" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f5096a3b-6f06-4986-b711-a02a0cce57ac", - "submission_date": "2018-10-01T14:31:06.179Z", - "update_date": "2018-10-01T20:12:54.878Z" - } - }, - "process/6d51da9f-fc01-4ee0-9384-bbfdbe177ba4": { - "process_core": { - "process_id": "process_id_4787" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6d51da9f-fc01-4ee0-9384-bbfdbe177ba4", - "submission_date": "2018-10-01T14:31:06.189Z", - "update_date": "2018-10-01T20:12:54.913Z" - } - }, - "process/93bee3ec-daee-4975-b2d1-f3e6a157eb1b": { - "process_core": { - "process_id": "process_id_4788" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "93bee3ec-daee-4975-b2d1-f3e6a157eb1b", - "submission_date": "2018-10-01T14:31:06.201Z", - "update_date": "2018-10-01T20:12:54.957Z" - } - }, - "process/5ae652cf-27d9-4b34-a22f-b8b52742c638": { - "process_core": { - "process_id": "process_id_4789" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5ae652cf-27d9-4b34-a22f-b8b52742c638", - "submission_date": "2018-10-01T14:31:06.244Z", - "update_date": "2018-10-01T20:12:54.987Z" - } - }, - "process/d322b92d-af37-4d41-918e-87b2994ff286": { - "process_core": { - "process_id": "process_id_4790" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d322b92d-af37-4d41-918e-87b2994ff286", - "submission_date": "2018-10-01T14:31:06.468Z", - "update_date": "2018-10-01T20:12:55.027Z" - } - }, - "process/58056a70-5e38-4533-add9-60efdcaf2687": { - "process_core": { - "process_id": "process_id_4791" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "58056a70-5e38-4533-add9-60efdcaf2687", - "submission_date": "2018-10-01T14:31:06.509Z", - "update_date": "2018-10-01T20:12:55.053Z" - } - }, - "process/a6e899a7-f41c-4711-904c-bca4127e1832": { - "process_core": { - "process_id": "process_id_4792" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a6e899a7-f41c-4711-904c-bca4127e1832", - "submission_date": "2018-10-01T14:31:06.695Z", - "update_date": "2018-10-01T20:12:55.078Z" - } - }, - "process/f58bf8ad-2519-42f4-a0f6-84c3548b1712": { - "process_core": { - "process_id": "process_id_4793" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f58bf8ad-2519-42f4-a0f6-84c3548b1712", - "submission_date": "2018-10-01T14:31:07.047Z", - "update_date": "2018-10-01T20:12:55.118Z" - } - }, - "process/b8834860-9eba-4f5b-8e98-2fc889ce9831": { - "process_core": { - "process_id": "process_id_4794" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "b8834860-9eba-4f5b-8e98-2fc889ce9831", - "submission_date": "2018-10-01T14:31:07.193Z", - "update_date": "2018-10-01T20:12:55.168Z" - } - }, - "process/575bbef8-937f-4272-8d28-e2a97d77a960": { - "process_core": { - "process_id": "process_id_4795" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "575bbef8-937f-4272-8d28-e2a97d77a960", - "submission_date": "2018-10-01T14:31:07.532Z", - "update_date": "2018-10-01T20:12:55.196Z" - } - }, - "process/f1d2b1e0-dd0b-4289-a160-4d6d8809b089": { - "process_core": { - "process_id": "process_id_4796" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f1d2b1e0-dd0b-4289-a160-4d6d8809b089", - "submission_date": "2018-10-01T14:31:07.739Z", - "update_date": "2018-10-01T20:12:55.262Z" - } - }, - "process/7ae60323-30e2-4d71-8fa1-5847b7f30efc": { - "process_core": { - "process_id": "process_id_4797" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "7ae60323-30e2-4d71-8fa1-5847b7f30efc", - "submission_date": "2018-10-01T14:31:08.117Z", - "update_date": "2018-10-01T20:12:55.288Z" - } - }, - "process/ec99f437-ffbd-4a59-a1e7-d7e352a858e4": { - "process_core": { - "process_id": "process_id_4798" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ec99f437-ffbd-4a59-a1e7-d7e352a858e4", - "submission_date": "2018-10-01T14:31:08.292Z", - "update_date": "2018-10-01T20:12:55.316Z" - } - }, - "process/9df92cef-0d77-4ac1-9f81-61e52c2c2207": { - "process_core": { - "process_id": "process_id_4799" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "9df92cef-0d77-4ac1-9f81-61e52c2c2207", - "submission_date": "2018-10-01T14:31:08.525Z", - "update_date": "2018-10-01T20:12:55.371Z" - } - }, - "process/3ebe3c1e-a991-401b-b532-10b4ab1ba852": { - "process_core": { - "process_id": "process_id_4800" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3ebe3c1e-a991-401b-b532-10b4ab1ba852", - "submission_date": "2018-10-01T14:31:08.695Z", - "update_date": "2018-10-01T20:12:55.403Z" - } - }, - "process/aa5cc11e-7dc5-496b-af11-83ea79207b00": { - "process_core": { - "process_id": "process_id_4801" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "aa5cc11e-7dc5-496b-af11-83ea79207b00", - "submission_date": "2018-10-01T14:31:08.950Z", - "update_date": "2018-10-01T20:12:55.440Z" - } - }, - "process/f467bcab-8bcb-41c5-b940-6fbe1635503c": { - "process_core": { - "process_id": "process_id_4802" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f467bcab-8bcb-41c5-b940-6fbe1635503c", - "submission_date": "2018-10-01T14:31:09.467Z", - "update_date": "2018-10-01T20:12:55.476Z" - } - }, - "process/a0c7fdd5-9e5c-4c0a-a40b-0bd1769273e3": { - "process_core": { - "process_id": "process_id_4803" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a0c7fdd5-9e5c-4c0a-a40b-0bd1769273e3", - "submission_date": "2018-10-01T14:31:09.788Z", - "update_date": "2018-10-01T20:12:55.510Z" - } - }, - "process/ffd59e51-62c1-49c8-b71b-b7b4e8fc3fe0": { - "process_core": { - "process_id": "process_id_4804" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ffd59e51-62c1-49c8-b71b-b7b4e8fc3fe0", - "submission_date": "2018-10-01T14:31:10.038Z", - "update_date": "2018-10-01T20:12:55.548Z" - } - }, - "process/792404f3-94d1-443e-895e-e73bda57fcf6": { - "process_core": { - "process_id": "process_id_4805" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "792404f3-94d1-443e-895e-e73bda57fcf6", - "submission_date": "2018-10-01T14:31:10.476Z", - "update_date": "2018-10-01T20:12:55.584Z" - } - }, - "process/41f3d081-c53a-4ea7-86ee-e510af1a8798": { - "process_core": { - "process_id": "process_id_4806" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "41f3d081-c53a-4ea7-86ee-e510af1a8798", - "submission_date": "2018-10-01T14:31:10.594Z", - "update_date": "2018-10-01T20:12:55.640Z" - } - }, - "process/42a09592-e041-4a8c-8452-904a842fa30d": { - "process_core": { - "process_id": "process_id_4807" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "42a09592-e041-4a8c-8452-904a842fa30d", - "submission_date": "2018-10-01T14:31:10.780Z", - "update_date": "2018-10-01T20:12:55.678Z" - } - }, - "process/c22db48f-b823-48d4-8e3a-f01e70a2921c": { - "process_core": { - "process_id": "process_id_4808" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c22db48f-b823-48d4-8e3a-f01e70a2921c", - "submission_date": "2018-10-01T14:31:10.857Z", - "update_date": "2018-10-01T20:12:55.753Z" - } - }, - "process/f45dc3b0-d69a-463d-9da9-884784a48c1a": { - "process_core": { - "process_id": "process_id_4809" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f45dc3b0-d69a-463d-9da9-884784a48c1a", - "submission_date": "2018-10-01T14:31:10.898Z", - "update_date": "2018-10-01T20:12:55.810Z" - } - }, - "process/d296f555-8a55-4bc3-ab1a-adc1295833ee": { - "process_core": { - "process_id": "process_id_4810" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d296f555-8a55-4bc3-ab1a-adc1295833ee", - "submission_date": "2018-10-01T14:31:10.928Z", - "update_date": "2018-10-01T20:12:55.854Z" - } - }, - "process/195a66c3-d4ae-4257-9f41-8bef27b514e0": { - "process_core": { - "process_id": "process_id_4811" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "195a66c3-d4ae-4257-9f41-8bef27b514e0", - "submission_date": "2018-10-01T14:31:10.965Z", - "update_date": "2018-10-01T20:12:55.874Z" - } - }, - "process/a0285e87-8189-4aa3-b723-a32102d46b7e": { - "process_core": { - "process_id": "process_id_4812" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a0285e87-8189-4aa3-b723-a32102d46b7e", - "submission_date": "2018-10-01T14:31:11.046Z", - "update_date": "2018-10-01T20:12:55.895Z" - } - }, - "process/3d8c3dd9-c392-467a-83a2-024a0604aeaa": { - "process_core": { - "process_id": "process_id_4813" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3d8c3dd9-c392-467a-83a2-024a0604aeaa", - "submission_date": "2018-10-01T14:31:11.082Z", - "update_date": "2018-10-01T20:12:55.926Z" - } - }, - "process/ff8dce18-6df5-4b67-a37b-87ffedbbfebb": { - "process_core": { - "process_id": "process_id_4814" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ff8dce18-6df5-4b67-a37b-87ffedbbfebb", - "submission_date": "2018-10-01T14:31:11.126Z", - "update_date": "2018-10-01T20:12:55.953Z" - } - }, - "process/e2c6e99e-3ca5-4f85-a972-4aa9dd858e74": { - "process_core": { - "process_id": "process_id_4815" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e2c6e99e-3ca5-4f85-a972-4aa9dd858e74", - "submission_date": "2018-10-01T14:31:11.173Z", - "update_date": "2018-10-01T20:12:55.996Z" - } - }, - "process/149d1d36-a61b-4fd1-8fbf-610f67187b7f": { - "process_core": { - "process_id": "process_id_4816" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "149d1d36-a61b-4fd1-8fbf-610f67187b7f", - "submission_date": "2018-10-01T14:31:11.202Z", - "update_date": "2018-10-01T20:12:56.042Z" - } - }, - "process/1439c596-2a18-44d0-818c-e9fbc6f4e56c": { - "process_core": { - "process_id": "process_id_4817" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "1439c596-2a18-44d0-818c-e9fbc6f4e56c", - "submission_date": "2018-10-01T14:31:11.268Z", - "update_date": "2018-10-01T20:12:56.070Z" - } - }, - "process/30260b65-477c-4298-b982-100bb5cad548": { - "process_core": { - "process_id": "process_id_4818" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "30260b65-477c-4298-b982-100bb5cad548", - "submission_date": "2018-10-01T14:31:11.293Z", - "update_date": "2018-10-01T20:12:56.106Z" - } - }, - "process/52c434b1-c474-4ac7-8a02-7d17a4291221": { - "process_core": { - "process_id": "process_id_4819" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "52c434b1-c474-4ac7-8a02-7d17a4291221", - "submission_date": "2018-10-01T14:31:11.310Z", - "update_date": "2018-10-01T20:12:56.142Z" - } - }, - "process/bb27ba8f-3d6d-479e-a9b7-5618c893fee4": { - "process_core": { - "process_id": "process_id_4820" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "bb27ba8f-3d6d-479e-a9b7-5618c893fee4", - "submission_date": "2018-10-01T14:31:11.337Z", - "update_date": "2018-10-01T20:12:56.198Z" - } - }, - "process/c7e0d3b9-c8e4-434a-ba46-5beb2a46f68a": { - "process_core": { - "process_id": "process_id_4821" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c7e0d3b9-c8e4-434a-ba46-5beb2a46f68a", - "submission_date": "2018-10-01T14:31:11.362Z", - "update_date": "2018-10-01T20:12:56.274Z" - } - }, - "process/a5188edf-48cb-4b36-8166-1b753d4a2cdb": { - "process_core": { - "process_id": "process_id_4822" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a5188edf-48cb-4b36-8166-1b753d4a2cdb", - "submission_date": "2018-10-01T14:31:11.381Z", - "update_date": "2018-10-01T20:12:56.335Z" - } - }, - "process/27e557d5-1880-4b35-a0bb-3e04b5f6f929": { - "process_core": { - "process_id": "process_id_4823" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "27e557d5-1880-4b35-a0bb-3e04b5f6f929", - "submission_date": "2018-10-01T14:31:11.395Z", - "update_date": "2018-10-01T20:12:56.378Z" - } - }, - "process/21cc1175-ff0d-410b-bd95-e7fc9e9b8bea": { - "process_core": { - "process_id": "process_id_4824" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "21cc1175-ff0d-410b-bd95-e7fc9e9b8bea", - "submission_date": "2018-10-01T14:31:11.415Z", - "update_date": "2018-10-01T20:12:56.426Z" - } - }, - "process/233a0067-5271-4443-a479-b5a4adf56fcf": { - "process_core": { - "process_id": "process_id_4825" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "233a0067-5271-4443-a479-b5a4adf56fcf", - "submission_date": "2018-10-01T14:31:11.434Z", - "update_date": "2018-10-01T20:12:56.538Z" - } - }, - "process/4fb4b48b-f2aa-48fc-b6fc-52ba4dc39895": { - "process_core": { - "process_id": "process_id_4826" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4fb4b48b-f2aa-48fc-b6fc-52ba4dc39895", - "submission_date": "2018-10-01T14:31:11.456Z", - "update_date": "2018-10-01T20:12:56.606Z" - } - }, - "process/66e8a4b9-72c1-4af3-be1e-716cd0d4dd4f": { - "process_core": { - "process_id": "process_id_4827" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "66e8a4b9-72c1-4af3-be1e-716cd0d4dd4f", - "submission_date": "2018-10-01T14:31:11.470Z", - "update_date": "2018-10-01T20:12:56.683Z" - } - }, - "process/4e5e9b0a-c8b5-4882-bbed-1cd2c57df460": { - "process_core": { - "process_id": "process_id_4828" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4e5e9b0a-c8b5-4882-bbed-1cd2c57df460", - "submission_date": "2018-10-01T14:31:11.492Z", - "update_date": "2018-10-01T20:12:56.760Z" - } - }, - "process/304bcb2c-2803-4f06-949a-5ac3aa53db77": { - "process_core": { - "process_id": "process_id_4829" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "304bcb2c-2803-4f06-949a-5ac3aa53db77", - "submission_date": "2018-10-01T14:31:11.513Z", - "update_date": "2018-10-01T20:12:56.805Z" - } - }, - "process/f8d80897-38f0-4888-aec7-52e72cb9b908": { - "process_core": { - "process_id": "process_id_4830" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f8d80897-38f0-4888-aec7-52e72cb9b908", - "submission_date": "2018-10-01T14:31:11.564Z", - "update_date": "2018-10-01T20:12:56.889Z" - } - }, - "process/7073457e-3e6d-496e-85c9-4714f9f315c4": { - "process_core": { - "process_id": "process_id_4831" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "7073457e-3e6d-496e-85c9-4714f9f315c4", - "submission_date": "2018-10-01T14:31:11.593Z", - "update_date": "2018-10-01T20:12:57.011Z" - } - }, - "process/b422c34b-897a-4ab1-9982-b9a6bc8f8034": { - "process_core": { - "process_id": "process_id_4832" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "b422c34b-897a-4ab1-9982-b9a6bc8f8034", - "submission_date": "2018-10-01T14:31:11.607Z", - "update_date": "2018-10-01T20:12:57.094Z" - } - }, - "process/e22b254c-1ee4-4acf-a41b-1f4bbc03bfcd": { - "process_core": { - "process_id": "process_id_4833" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e22b254c-1ee4-4acf-a41b-1f4bbc03bfcd", - "submission_date": "2018-10-01T14:31:11.621Z", - "update_date": "2018-10-01T20:12:57.141Z" - } - }, - "process/796a7270-3778-4b9d-aa20-975b1859fecc": { - "process_core": { - "process_id": "process_id_4834" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "796a7270-3778-4b9d-aa20-975b1859fecc", - "submission_date": "2018-10-01T14:31:11.643Z", - "update_date": "2018-10-01T20:12:57.194Z" - } - }, - "process/0d366744-a208-416d-a3ad-2aab66e08a21": { - "process_core": { - "process_id": "process_id_4835" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0d366744-a208-416d-a3ad-2aab66e08a21", - "submission_date": "2018-10-01T14:31:11.667Z", - "update_date": "2018-10-01T20:12:57.282Z" - } - }, - "process/fd16e7c8-8244-4c00-bc4a-b7b43a399838": { - "process_core": { - "process_id": "process_id_4836" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "fd16e7c8-8244-4c00-bc4a-b7b43a399838", - "submission_date": "2018-10-01T14:31:11.682Z", - "update_date": "2018-10-01T20:12:57.330Z" - } - }, - "process/c40624c5-d5ce-4085-a4d9-59762cca79a5": { - "process_core": { - "process_id": "process_id_4837" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c40624c5-d5ce-4085-a4d9-59762cca79a5", - "submission_date": "2018-10-01T14:31:11.703Z", - "update_date": "2018-10-01T20:12:57.398Z" - } - }, - "process/f8b1fae8-8004-4614-80db-deb91c1560aa": { - "process_core": { - "process_id": "process_id_4838" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f8b1fae8-8004-4614-80db-deb91c1560aa", - "submission_date": "2018-10-01T14:31:11.723Z", - "update_date": "2018-10-01T20:12:57.436Z" - } - }, - "process/18b3dc33-0483-4cd7-a39b-3d902502dc94": { - "process_core": { - "process_id": "process_id_4839" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "18b3dc33-0483-4cd7-a39b-3d902502dc94", - "submission_date": "2018-10-01T14:31:11.739Z", - "update_date": "2018-10-01T20:12:57.514Z" - } - }, - "process/95390145-a217-437a-9490-ca97fc502f2c": { - "process_core": { - "process_id": "process_id_4840" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "95390145-a217-437a-9490-ca97fc502f2c", - "submission_date": "2018-10-01T14:31:11.752Z", - "update_date": "2018-10-01T20:12:57.564Z" - } - }, - "process/7fc2654e-bf55-4c27-a7ea-e16fb1995a63": { - "process_core": { - "process_id": "process_id_4841" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "7fc2654e-bf55-4c27-a7ea-e16fb1995a63", - "submission_date": "2018-10-01T14:31:11.765Z", - "update_date": "2018-10-01T20:12:57.654Z" - } - }, - "process/c2d2b9e6-ce28-44df-b450-ecf1c9747f29": { - "process_core": { - "process_id": "process_id_4842" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c2d2b9e6-ce28-44df-b450-ecf1c9747f29", - "submission_date": "2018-10-01T14:31:11.782Z", - "update_date": "2018-10-01T20:12:57.766Z" - } - }, - "process/6c89dda0-a08e-4d88-af0a-7f9eea539485": { - "process_core": { - "process_id": "process_id_4843" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6c89dda0-a08e-4d88-af0a-7f9eea539485", - "submission_date": "2018-10-01T14:31:11.798Z", - "update_date": "2018-10-01T20:12:57.812Z" - } - }, - "process/fa21bf64-3c99-4e67-9829-e9c043d3dcdb": { - "process_core": { - "process_id": "process_id_4844" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "fa21bf64-3c99-4e67-9829-e9c043d3dcdb", - "submission_date": "2018-10-01T14:31:11.842Z", - "update_date": "2018-10-01T20:12:57.900Z" - } - }, - "process/beedd161-19be-4a17-8fff-547391336354": { - "process_core": { - "process_id": "process_id_4845" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "beedd161-19be-4a17-8fff-547391336354", - "submission_date": "2018-10-01T14:31:11.867Z", - "update_date": "2018-10-01T20:12:57.945Z" - } - }, - "process/a7a6fb70-3ccf-40cb-b460-040ffbd87720": { - "process_core": { - "process_id": "process_id_4846" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a7a6fb70-3ccf-40cb-b460-040ffbd87720", - "submission_date": "2018-10-01T14:31:11.885Z", - "update_date": "2018-10-01T20:12:58.025Z" - } - }, - "process/682cb6da-f9b6-4451-84ee-0c9a8f3d8c92": { - "process_core": { - "process_id": "process_id_4847" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "682cb6da-f9b6-4451-84ee-0c9a8f3d8c92", - "submission_date": "2018-10-01T14:31:11.903Z", - "update_date": "2018-10-01T20:12:58.090Z" - } - }, - "process/a955a0a5-68ec-403b-a838-1b7707a5fb0d": { - "process_core": { - "process_id": "process_id_4848" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a955a0a5-68ec-403b-a838-1b7707a5fb0d", - "submission_date": "2018-10-01T14:31:11.916Z", - "update_date": "2018-10-01T20:12:58.152Z" - } - }, - "process/736386d6-31eb-4685-ab60-7876cdf26290": { - "process_core": { - "process_id": "process_id_4849" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "736386d6-31eb-4685-ab60-7876cdf26290", - "submission_date": "2018-10-01T14:31:11.938Z", - "update_date": "2018-10-01T20:12:58.218Z" - } - }, - "process/21877ac1-2a36-46ce-bd13-bc6a09162a0c": { - "process_core": { - "process_id": "process_id_4850" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "21877ac1-2a36-46ce-bd13-bc6a09162a0c", - "submission_date": "2018-10-01T14:31:11.949Z", - "update_date": "2018-10-01T20:12:58.266Z" - } - }, - "process/1de5effa-95b1-4923-ad12-0118e860e518": { - "process_core": { - "process_id": "process_id_4851" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "1de5effa-95b1-4923-ad12-0118e860e518", - "submission_date": "2018-10-01T14:31:11.964Z", - "update_date": "2018-10-01T20:12:58.345Z" - } - }, - "process/b34004d6-0208-44de-9947-d1e1700f35df": { - "process_core": { - "process_id": "process_id_4852" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "b34004d6-0208-44de-9947-d1e1700f35df", - "submission_date": "2018-10-01T14:31:11.975Z", - "update_date": "2018-10-01T20:12:58.381Z" - } - }, - "process/4dfff2ae-7ef7-4dc2-81db-c3849c1dec53": { - "process_core": { - "process_id": "process_id_4853" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4dfff2ae-7ef7-4dc2-81db-c3849c1dec53", - "submission_date": "2018-10-01T14:31:11.987Z", - "update_date": "2018-10-01T20:12:58.405Z" - } - }, - "process/2a5d7bbc-0443-4173-961d-d6474d3d9c5f": { - "process_core": { - "process_id": "process_id_4854" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "2a5d7bbc-0443-4173-961d-d6474d3d9c5f", - "submission_date": "2018-10-01T14:31:11.997Z", - "update_date": "2018-10-01T20:12:58.443Z" - } - }, - "process/c54974ef-353b-476f-9b5a-6e505a00bd54": { - "process_core": { - "process_id": "process_id_4855" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c54974ef-353b-476f-9b5a-6e505a00bd54", - "submission_date": "2018-10-01T14:31:12.012Z", - "update_date": "2018-10-01T20:12:58.466Z" - } - }, - "process/f2168b88-c76c-410a-9a31-1215dc4a18a2": { - "process_core": { - "process_id": "process_id_4856" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f2168b88-c76c-410a-9a31-1215dc4a18a2", - "submission_date": "2018-10-01T14:31:12.027Z", - "update_date": "2018-10-01T20:12:58.517Z" - } - }, - "process/ac9a35c8-03be-4688-8460-de54dfd57bce": { - "process_core": { - "process_id": "process_id_4857" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ac9a35c8-03be-4688-8460-de54dfd57bce", - "submission_date": "2018-10-01T14:31:12.043Z", - "update_date": "2018-10-01T20:12:58.546Z" - } - }, - "process/bbd0852d-4e21-4479-9c5c-b100d3f0a487": { - "process_core": { - "process_id": "process_id_4858" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "bbd0852d-4e21-4479-9c5c-b100d3f0a487", - "submission_date": "2018-10-01T14:31:12.058Z", - "update_date": "2018-10-01T20:12:58.569Z" - } - }, - "process/50d701f2-9647-4151-87a4-0802e5ec4540": { - "process_core": { - "process_id": "process_id_4859" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "50d701f2-9647-4151-87a4-0802e5ec4540", - "submission_date": "2018-10-01T14:31:12.073Z", - "update_date": "2018-10-01T20:12:58.593Z" - } - }, - "process/16325782-befc-4e00-b044-5654f5579e9e": { - "process_core": { - "process_id": "process_id_4860" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "16325782-befc-4e00-b044-5654f5579e9e", - "submission_date": "2018-10-01T14:31:12.083Z", - "update_date": "2018-10-01T20:12:58.635Z" - } - }, - "process/8c7d4ea5-65ab-44c6-9ec5-8e641cd58669": { - "process_core": { - "process_id": "process_id_4861" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8c7d4ea5-65ab-44c6-9ec5-8e641cd58669", - "submission_date": "2018-10-01T14:31:12.094Z", - "update_date": "2018-10-01T20:12:58.693Z" - } - }, - "process/0a38c343-d827-41d7-bf5b-506a7e3f6f5a": { - "process_core": { - "process_id": "process_id_4862" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0a38c343-d827-41d7-bf5b-506a7e3f6f5a", - "submission_date": "2018-10-01T14:31:12.108Z", - "update_date": "2018-10-01T20:12:58.733Z" - } - }, - "process/d8ec6180-4083-4724-8c79-775e4e7e9bb9": { - "process_core": { - "process_id": "process_id_4863" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d8ec6180-4083-4724-8c79-775e4e7e9bb9", - "submission_date": "2018-10-01T14:31:12.121Z", - "update_date": "2018-10-01T20:12:58.772Z" - } - }, - "process/c87fe066-85b9-48aa-96f8-3b8145bcecf8": { - "process_core": { - "process_id": "process_id_4864" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c87fe066-85b9-48aa-96f8-3b8145bcecf8", - "submission_date": "2018-10-01T14:31:12.135Z", - "update_date": "2018-10-01T20:12:58.802Z" - } - }, - "process/31f0a526-e0b1-4f68-ad82-90a01ceedf4a": { - "process_core": { - "process_id": "process_id_4865" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "31f0a526-e0b1-4f68-ad82-90a01ceedf4a", - "submission_date": "2018-10-01T14:31:12.147Z", - "update_date": "2018-10-01T20:12:58.838Z" - } - }, - "process/2d1d8fe7-ef40-4b9b-9bbd-26f97608111d": { - "process_core": { - "process_id": "process_id_4866" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "2d1d8fe7-ef40-4b9b-9bbd-26f97608111d", - "submission_date": "2018-10-01T14:31:12.160Z", - "update_date": "2018-10-01T20:12:58.886Z" - } - }, - "process/5b74f5d0-cec1-4fa3-af84-f6b34c8b7e7b": { - "process_core": { - "process_id": "process_id_4867" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5b74f5d0-cec1-4fa3-af84-f6b34c8b7e7b", - "submission_date": "2018-10-01T14:31:12.174Z", - "update_date": "2018-10-01T20:12:58.911Z" - } - }, - "process/bd70b6d9-4700-4250-a499-b68e34ecf31f": { - "process_core": { - "process_id": "process_id_4868" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "bd70b6d9-4700-4250-a499-b68e34ecf31f", - "submission_date": "2018-10-01T14:31:12.186Z", - "update_date": "2018-10-01T20:12:58.931Z" - } - }, - "process/c76d470f-639b-4d51-86c7-c89b5ed7277c": { - "process_core": { - "process_id": "process_id_4869" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c76d470f-639b-4d51-86c7-c89b5ed7277c", - "submission_date": "2018-10-01T14:31:12.199Z", - "update_date": "2018-10-01T20:12:58.964Z" - } - }, - "process/4e114632-cb47-4089-aaea-dfa20c9f1e62": { - "process_core": { - "process_id": "process_id_4870" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4e114632-cb47-4089-aaea-dfa20c9f1e62", - "submission_date": "2018-10-01T14:31:12.242Z", - "update_date": "2018-10-01T20:12:58.990Z" - } - }, - "process/7fba9655-f7b2-4ef8-b560-1947ee9a6645": { - "process_core": { - "process_id": "process_id_4871" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "7fba9655-f7b2-4ef8-b560-1947ee9a6645", - "submission_date": "2018-10-01T14:31:12.594Z", - "update_date": "2018-10-01T20:12:59.068Z" - } - }, - "process/e7c9c9d6-7f73-4b00-9548-566d1bb397ba": { - "process_core": { - "process_id": "process_id_4872" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e7c9c9d6-7f73-4b00-9548-566d1bb397ba", - "submission_date": "2018-10-01T14:31:12.739Z", - "update_date": "2018-10-01T20:12:59.114Z" - } - }, - "process/d4470749-2f0f-4e73-9e83-cbbae5fd089a": { - "process_core": { - "process_id": "process_id_4873" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d4470749-2f0f-4e73-9e83-cbbae5fd089a", - "submission_date": "2018-10-01T14:31:12.837Z", - "update_date": "2018-10-01T20:12:59.145Z" - } - }, - "process/f1b28cee-5d0b-4349-8775-329d82796cc4": { - "process_core": { - "process_id": "process_id_4874" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f1b28cee-5d0b-4349-8775-329d82796cc4", - "submission_date": "2018-10-01T14:31:12.883Z", - "update_date": "2018-10-01T20:12:59.184Z" - } - }, - "process/a06dad17-1c94-40e9-9717-aca41c0324e9": { - "process_core": { - "process_id": "process_id_4875" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a06dad17-1c94-40e9-9717-aca41c0324e9", - "submission_date": "2018-10-01T14:31:12.988Z", - "update_date": "2018-10-01T20:12:59.226Z" - } - }, - "process/5b3cf865-5ce4-48e9-a77c-4222bc888377": { - "process_core": { - "process_id": "process_id_4876" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5b3cf865-5ce4-48e9-a77c-4222bc888377", - "submission_date": "2018-10-01T14:31:13.051Z", - "update_date": "2018-10-01T20:12:59.288Z" - } - }, - "process/a7fdc506-0c9d-47ea-89a2-70a07dcf3aa9": { - "process_core": { - "process_id": "process_id_4877" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a7fdc506-0c9d-47ea-89a2-70a07dcf3aa9", - "submission_date": "2018-10-01T14:31:13.145Z", - "update_date": "2018-10-01T20:12:59.337Z" - } - }, - "process/43d38341-939c-453f-ba87-fee930f62f59": { - "process_core": { - "process_id": "process_id_4878" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "43d38341-939c-453f-ba87-fee930f62f59", - "submission_date": "2018-10-01T14:31:13.257Z", - "update_date": "2018-10-01T20:12:59.372Z" - } - }, - "process/6c825f1b-3096-4bdd-baef-1c4249fe6dc0": { - "process_core": { - "process_id": "process_id_4879" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6c825f1b-3096-4bdd-baef-1c4249fe6dc0", - "submission_date": "2018-10-01T14:31:13.301Z", - "update_date": "2018-10-01T20:12:59.395Z" - } - }, - "process/8c6d329f-fec4-42f1-b7c8-ce9d6b9d25a9": { - "process_core": { - "process_id": "process_id_4880" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8c6d329f-fec4-42f1-b7c8-ce9d6b9d25a9", - "submission_date": "2018-10-01T14:31:13.359Z", - "update_date": "2018-10-01T20:12:59.435Z" - } - }, - "process/13dee021-9df0-428f-a263-74ab5707ad08": { - "process_core": { - "process_id": "process_id_4881" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "13dee021-9df0-428f-a263-74ab5707ad08", - "submission_date": "2018-10-01T14:31:13.431Z", - "update_date": "2018-10-01T20:12:59.465Z" - } - }, - "process/24c09eda-1e42-4c9a-92ea-ff36ea5f3686": { - "process_core": { - "process_id": "process_id_4882" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "24c09eda-1e42-4c9a-92ea-ff36ea5f3686", - "submission_date": "2018-10-01T14:31:13.490Z", - "update_date": "2018-10-01T20:12:59.490Z" - } - }, - "process/e97f33e2-9ba2-4721-9a5c-232f823dcd74": { - "process_core": { - "process_id": "process_id_4883" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e97f33e2-9ba2-4721-9a5c-232f823dcd74", - "submission_date": "2018-10-01T14:31:13.622Z", - "update_date": "2018-10-01T20:12:59.516Z" - } - }, - "process/2b26d415-37ae-4af4-98f9-048de79c8b10": { - "process_core": { - "process_id": "process_id_4884" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "2b26d415-37ae-4af4-98f9-048de79c8b10", - "submission_date": "2018-10-01T14:31:13.733Z", - "update_date": "2018-10-01T20:12:59.552Z" - } - }, - "process/6a9dbf21-01d5-46a6-b341-21b6abf2e436": { - "process_core": { - "process_id": "process_id_4885" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6a9dbf21-01d5-46a6-b341-21b6abf2e436", - "submission_date": "2018-10-01T14:31:13.850Z", - "update_date": "2018-10-01T20:12:59.575Z" - } - }, - "process/1e7daa14-26a8-4e44-959e-a74854f6719b": { - "process_core": { - "process_id": "process_id_4886" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "1e7daa14-26a8-4e44-959e-a74854f6719b", - "submission_date": "2018-10-01T14:31:13.879Z", - "update_date": "2018-10-01T20:12:59.596Z" - } - }, - "process/43a0719f-8617-4733-a21a-fc458dc6b1fd": { - "process_core": { - "process_id": "process_id_4887" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "43a0719f-8617-4733-a21a-fc458dc6b1fd", - "submission_date": "2018-10-01T14:31:13.903Z", - "update_date": "2018-10-01T20:12:59.647Z" - } - }, - "process/c9d19b56-1e85-4ed1-a3a7-fcc7d142d664": { - "process_core": { - "process_id": "process_id_4888" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c9d19b56-1e85-4ed1-a3a7-fcc7d142d664", - "submission_date": "2018-10-01T14:31:13.944Z", - "update_date": "2018-10-01T20:12:59.686Z" - } - }, - "process/2bec6b9c-f33e-45fd-b822-d2b7071bbcad": { - "process_core": { - "process_id": "process_id_4889" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "2bec6b9c-f33e-45fd-b822-d2b7071bbcad", - "submission_date": "2018-10-01T14:31:13.992Z", - "update_date": "2018-10-01T20:12:59.717Z" - } - }, - "process/4c02da43-cecd-4758-a3e5-c9a4db200090": { - "process_core": { - "process_id": "process_id_4890" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4c02da43-cecd-4758-a3e5-c9a4db200090", - "submission_date": "2018-10-01T14:31:14.071Z", - "update_date": "2018-10-01T20:12:59.781Z" - } - }, - "process/63268ab0-d459-4c7a-b8ae-7ea18b7252b8": { - "process_core": { - "process_id": "process_id_4891" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "63268ab0-d459-4c7a-b8ae-7ea18b7252b8", - "submission_date": "2018-10-01T14:31:14.261Z", - "update_date": "2018-10-01T20:12:59.852Z" - } - }, - "process/a6d9d3e7-02c6-4b9a-8caa-423345551e39": { - "process_core": { - "process_id": "process_id_4892" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a6d9d3e7-02c6-4b9a-8caa-423345551e39", - "submission_date": "2018-10-01T14:31:14.364Z", - "update_date": "2018-10-01T20:12:59.898Z" - } - }, - "process/a3965e90-4f0c-4187-8bf6-69436a645d2a": { - "process_core": { - "process_id": "process_id_4893" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a3965e90-4f0c-4187-8bf6-69436a645d2a", - "submission_date": "2018-10-01T14:31:14.465Z", - "update_date": "2018-10-01T20:12:59.952Z" - } - }, - "process/1c7fae99-1d99-4d61-890a-1af12d27e606": { - "process_core": { - "process_id": "process_id_4894" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "1c7fae99-1d99-4d61-890a-1af12d27e606", - "submission_date": "2018-10-01T14:31:14.576Z", - "update_date": "2018-10-01T20:12:59.991Z" - } - }, - "process/8c05af39-d013-4aef-8930-5fcaf5b32ef7": { - "process_core": { - "process_id": "process_id_4895" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8c05af39-d013-4aef-8930-5fcaf5b32ef7", - "submission_date": "2018-10-01T14:31:14.694Z", - "update_date": "2018-10-01T20:13:00.061Z" - } - }, - "process/24dda6cc-8ec3-45d0-ad30-3a7e1bfce9fd": { - "process_core": { - "process_id": "process_id_4896" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "24dda6cc-8ec3-45d0-ad30-3a7e1bfce9fd", - "submission_date": "2018-10-01T14:31:14.716Z", - "update_date": "2018-10-01T20:13:00.146Z" - } - }, - "process/03ad13a0-9c70-4b40-aa08-4a14fd5bff01": { - "process_core": { - "process_id": "process_id_4897" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "03ad13a0-9c70-4b40-aa08-4a14fd5bff01", - "submission_date": "2018-10-01T14:31:14.742Z", - "update_date": "2018-10-01T20:13:00.178Z" - } - }, - "process/8b9beee8-fe3b-43de-a415-6d81fb9f6cfc": { - "process_core": { - "process_id": "process_id_4898" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8b9beee8-fe3b-43de-a415-6d81fb9f6cfc", - "submission_date": "2018-10-01T14:31:14.939Z", - "update_date": "2018-10-01T20:13:00.205Z" - } - }, - "process/882467fe-468d-4d99-8564-e858090ae82d": { - "process_core": { - "process_id": "process_id_4899" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "882467fe-468d-4d99-8564-e858090ae82d", - "submission_date": "2018-10-01T14:31:15.275Z", - "update_date": "2018-10-01T20:13:00.262Z" - } - }, - "process/080b4882-edb6-4c7b-9085-0b30810a4f44": { - "process_core": { - "process_id": "process_id_4900" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "080b4882-edb6-4c7b-9085-0b30810a4f44", - "submission_date": "2018-10-01T14:31:15.337Z", - "update_date": "2018-10-01T20:13:00.289Z" - } - }, - "process/8e1fda4e-37fd-4613-8b8d-87f322acea15": { - "process_core": { - "process_id": "process_id_4901" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8e1fda4e-37fd-4613-8b8d-87f322acea15", - "submission_date": "2018-10-01T14:31:15.408Z", - "update_date": "2018-10-01T20:13:00.318Z" - } - }, - "process/29aeda32-9ead-40e9-860b-db3427d9b46c": { - "process_core": { - "process_id": "process_id_4902" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "29aeda32-9ead-40e9-860b-db3427d9b46c", - "submission_date": "2018-10-01T14:31:15.496Z", - "update_date": "2018-10-01T20:13:00.370Z" - } - }, - "process/48f244ee-ec2f-49f6-8bb8-78cacb4328cc": { - "process_core": { - "process_id": "process_id_4903" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "48f244ee-ec2f-49f6-8bb8-78cacb4328cc", - "submission_date": "2018-10-01T14:31:15.565Z", - "update_date": "2018-10-01T20:13:00.397Z" - } - }, - "process/3fc813f1-e7f6-4344-8661-5464ec7191f8": { - "process_core": { - "process_id": "process_id_4904" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3fc813f1-e7f6-4344-8661-5464ec7191f8", - "submission_date": "2018-10-01T14:31:15.645Z", - "update_date": "2018-10-01T20:13:00.429Z" - } - }, - "process/a44ca11b-028b-4a14-94b5-e957ff1f75ec": { - "process_core": { - "process_id": "process_id_4905" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a44ca11b-028b-4a14-94b5-e957ff1f75ec", - "submission_date": "2018-10-01T14:31:15.674Z", - "update_date": "2018-10-01T20:13:00.459Z" - } - }, - "process/8619a7fd-1109-474d-8b86-1c3556162495": { - "process_core": { - "process_id": "process_id_4906" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8619a7fd-1109-474d-8b86-1c3556162495", - "submission_date": "2018-10-01T14:31:15.704Z", - "update_date": "2018-10-01T20:13:00.489Z" - } - }, - "process/8636325a-4931-436a-90d1-ae4f0b0ce68f": { - "process_core": { - "process_id": "process_id_4907" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8636325a-4931-436a-90d1-ae4f0b0ce68f", - "submission_date": "2018-10-01T14:31:15.742Z", - "update_date": "2018-10-01T20:13:00.514Z" - } - }, - "process/aa39ffbd-c171-46a5-85f5-bd3de557641c": { - "process_core": { - "process_id": "process_id_4908" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "aa39ffbd-c171-46a5-85f5-bd3de557641c", - "submission_date": "2018-10-01T14:31:15.819Z", - "update_date": "2018-10-01T20:13:00.554Z" - } - }, - "process/e299346b-d057-4bd0-8867-b97c1e7a5e8d": { - "process_core": { - "process_id": "process_id_4909" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e299346b-d057-4bd0-8867-b97c1e7a5e8d", - "submission_date": "2018-10-01T14:31:15.850Z", - "update_date": "2018-10-01T20:13:00.600Z" - } - }, - "process/5bf0d140-ed66-499a-9db7-7d7448253a4c": { - "process_core": { - "process_id": "process_id_4910" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5bf0d140-ed66-499a-9db7-7d7448253a4c", - "submission_date": "2018-10-01T14:31:15.894Z", - "update_date": "2018-10-01T20:13:00.650Z" - } - }, - "process/e8a6ea1f-1ead-46fc-9206-527357456912": { - "process_core": { - "process_id": "process_id_4911" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e8a6ea1f-1ead-46fc-9206-527357456912", - "submission_date": "2018-10-01T14:31:15.922Z", - "update_date": "2018-10-01T20:13:00.686Z" - } - }, - "process/a29b77e9-81ed-4dd3-90ba-5a419c5ae010": { - "process_core": { - "process_id": "process_id_4912" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a29b77e9-81ed-4dd3-90ba-5a419c5ae010", - "submission_date": "2018-10-01T14:31:15.957Z", - "update_date": "2018-10-01T20:13:00.714Z" - } - }, - "process/7495f692-eb48-402b-ba03-96accdad0612": { - "process_core": { - "process_id": "process_id_4913" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "7495f692-eb48-402b-ba03-96accdad0612", - "submission_date": "2018-10-01T14:31:15.975Z", - "update_date": "2018-10-01T20:13:00.751Z" - } - }, - "process/68534749-0b3d-4617-b249-76ad49f5e476": { - "process_core": { - "process_id": "process_id_4914" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "68534749-0b3d-4617-b249-76ad49f5e476", - "submission_date": "2018-10-01T14:31:15.995Z", - "update_date": "2018-10-01T20:13:00.780Z" - } - }, - "process/0412f662-24ab-4c7c-8724-dbd5b422d3d8": { - "process_core": { - "process_id": "process_id_4915" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0412f662-24ab-4c7c-8724-dbd5b422d3d8", - "submission_date": "2018-10-01T14:31:16.009Z", - "update_date": "2018-10-01T20:13:00.804Z" - } - }, - "process/70abf86f-47e4-474d-8f6b-86e14f916c68": { - "process_core": { - "process_id": "process_id_4916" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "70abf86f-47e4-474d-8f6b-86e14f916c68", - "submission_date": "2018-10-01T14:31:16.029Z", - "update_date": "2018-10-01T20:13:00.846Z" - } - }, - "process/6dcfdafe-fd54-45a8-a95f-7d25a0210d91": { - "process_core": { - "process_id": "process_id_4917" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6dcfdafe-fd54-45a8-a95f-7d25a0210d91", - "submission_date": "2018-10-01T14:31:16.048Z", - "update_date": "2018-10-01T20:13:00.943Z" - } - }, - "process/dde564f1-e523-484d-9ef4-907844d7cf91": { - "process_core": { - "process_id": "process_id_4918" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "dde564f1-e523-484d-9ef4-907844d7cf91", - "submission_date": "2018-10-01T14:31:16.065Z", - "update_date": "2018-10-01T20:13:00.974Z" - } - }, - "process/6319b240-966c-41ff-8393-e557f395d142": { - "process_core": { - "process_id": "process_id_4919" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6319b240-966c-41ff-8393-e557f395d142", - "submission_date": "2018-10-01T14:31:16.082Z", - "update_date": "2018-10-01T20:13:01.024Z" - } - }, - "process/ea24d368-3e80-499b-8609-97fc6cb23e94": { - "process_core": { - "process_id": "process_id_4920" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ea24d368-3e80-499b-8609-97fc6cb23e94", - "submission_date": "2018-10-01T14:31:16.093Z", - "update_date": "2018-10-01T20:13:01.058Z" - } - }, - "process/b6790bc3-95b9-4224-b74f-d4bcd6b8ad60": { - "process_core": { - "process_id": "process_id_4921" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "b6790bc3-95b9-4224-b74f-d4bcd6b8ad60", - "submission_date": "2018-10-01T14:31:16.104Z", - "update_date": "2018-10-01T20:13:01.090Z" - } - }, - "process/fc3847b1-3c5d-430e-a92c-4ca6dda29a91": { - "process_core": { - "process_id": "process_id_4922" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "fc3847b1-3c5d-430e-a92c-4ca6dda29a91", - "submission_date": "2018-10-01T14:31:16.118Z", - "update_date": "2018-10-01T20:13:01.132Z" - } - }, - "process/2aedfdeb-da7a-4cf8-aa22-2b30163fa3f7": { - "process_core": { - "process_id": "process_id_4923" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "2aedfdeb-da7a-4cf8-aa22-2b30163fa3f7", - "submission_date": "2018-10-01T14:31:16.130Z", - "update_date": "2018-10-01T20:13:01.194Z" - } - }, - "process/ed128bff-0481-4487-bd2b-cb4fd50c1f48": { - "process_core": { - "process_id": "process_id_4924" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ed128bff-0481-4487-bd2b-cb4fd50c1f48", - "submission_date": "2018-10-01T14:31:16.144Z", - "update_date": "2018-10-01T20:13:01.234Z" - } - }, - "process/ececacb4-2846-41e0-bf53-13d4e6c7877b": { - "process_core": { - "process_id": "process_id_4925" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ececacb4-2846-41e0-bf53-13d4e6c7877b", - "submission_date": "2018-10-01T14:31:16.169Z", - "update_date": "2018-10-01T20:13:01.266Z" - } - }, - "process/6b62c999-d2a4-4aba-9e02-c8ce365efb49": { - "process_core": { - "process_id": "process_id_4926" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6b62c999-d2a4-4aba-9e02-c8ce365efb49", - "submission_date": "2018-10-01T14:31:16.180Z", - "update_date": "2018-10-01T20:13:01.319Z" - } - }, - "process/0c3c9245-10a6-44be-8253-17d1790944a8": { - "process_core": { - "process_id": "process_id_4927" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0c3c9245-10a6-44be-8253-17d1790944a8", - "submission_date": "2018-10-01T14:31:16.196Z", - "update_date": "2018-10-01T20:13:01.348Z" - } - }, - "process/98fc4d11-bd06-4181-a8fb-902d7dc62f2c": { - "process_core": { - "process_id": "process_id_4928" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "98fc4d11-bd06-4181-a8fb-902d7dc62f2c", - "submission_date": "2018-10-01T14:31:16.211Z", - "update_date": "2018-10-01T20:13:01.374Z" - } - }, - "process/96c770f9-f510-4e8a-b0d4-5d29656b7620": { - "process_core": { - "process_id": "process_id_4929" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "96c770f9-f510-4e8a-b0d4-5d29656b7620", - "submission_date": "2018-10-01T14:31:16.242Z", - "update_date": "2018-10-01T20:13:01.415Z" - } - }, - "process/5c20d48d-638e-4b8c-a775-041a389f8297": { - "process_core": { - "process_id": "process_id_4930" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5c20d48d-638e-4b8c-a775-041a389f8297", - "submission_date": "2018-10-01T14:31:16.260Z", - "update_date": "2018-10-01T20:13:01.486Z" - } - }, - "process/5c255096-4c6f-4345-85ce-45ad83ba9437": { - "process_core": { - "process_id": "process_id_4931" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5c255096-4c6f-4345-85ce-45ad83ba9437", - "submission_date": "2018-10-01T14:31:16.286Z", - "update_date": "2018-10-01T20:13:01.518Z" - } - }, - "process/0c01f523-5fe7-4161-a3cf-c3ec97eb7fa5": { - "process_core": { - "process_id": "process_id_4932" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0c01f523-5fe7-4161-a3cf-c3ec97eb7fa5", - "submission_date": "2018-10-01T14:31:16.305Z", - "update_date": "2018-10-01T20:13:01.556Z" - } - }, - "process/c9b8b91f-5982-413b-8c72-7699d8d46315": { - "process_core": { - "process_id": "process_id_4933" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c9b8b91f-5982-413b-8c72-7699d8d46315", - "submission_date": "2018-10-01T14:31:16.325Z", - "update_date": "2018-10-01T20:13:01.639Z" - } - }, - "process/389509ca-8e52-4f3f-80b1-2af25a1ea6f9": { - "process_core": { - "process_id": "process_id_4934" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "389509ca-8e52-4f3f-80b1-2af25a1ea6f9", - "submission_date": "2018-10-01T14:31:16.344Z", - "update_date": "2018-10-01T20:13:01.686Z" - } - }, - "process/ba592e24-f04b-4c2a-871f-9691ab17bbe4": { - "process_core": { - "process_id": "process_id_4935" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ba592e24-f04b-4c2a-871f-9691ab17bbe4", - "submission_date": "2018-10-01T14:31:16.356Z", - "update_date": "2018-10-01T20:13:02.786Z" - } - }, - "process/b863a8a5-37b6-4d08-aaef-0926bdb1e4f3": { - "process_core": { - "process_id": "process_id_4936" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "b863a8a5-37b6-4d08-aaef-0926bdb1e4f3", - "submission_date": "2018-10-01T14:31:16.368Z", - "update_date": "2018-10-01T20:13:02.883Z" - } - }, - "process/6159a892-0012-4681-9e61-a04b026f7a66": { - "process_core": { - "process_id": "process_id_4937" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6159a892-0012-4681-9e61-a04b026f7a66", - "submission_date": "2018-10-01T14:31:16.384Z", - "update_date": "2018-10-01T20:13:02.980Z" - } - }, - "process/55641c6b-161a-41f9-8461-d878b8652c2d": { - "process_core": { - "process_id": "process_id_4938" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "55641c6b-161a-41f9-8461-d878b8652c2d", - "submission_date": "2018-10-01T14:31:16.423Z", - "update_date": "2018-10-01T20:13:03.068Z" - } - }, - "process/126c5179-ac45-49ca-9eef-edde09fe11d5": { - "process_core": { - "process_id": "process_id_4939" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "126c5179-ac45-49ca-9eef-edde09fe11d5", - "submission_date": "2018-10-01T14:31:16.446Z", - "update_date": "2018-10-01T20:13:03.168Z" - } - }, - "process/5073c188-759a-4451-bc73-7e988c39e144": { - "process_core": { - "process_id": "process_id_4940" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5073c188-759a-4451-bc73-7e988c39e144", - "submission_date": "2018-10-01T14:31:16.462Z", - "update_date": "2018-10-01T20:13:03.274Z" - } - }, - "process/8ec4ede7-0cbc-46a8-aece-351511836cbd": { - "process_core": { - "process_id": "process_id_4941" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8ec4ede7-0cbc-46a8-aece-351511836cbd", - "submission_date": "2018-10-01T14:31:16.486Z", - "update_date": "2018-10-01T20:13:03.399Z" - } - }, - "process/0dba595a-88d2-4b52-b9b5-adc7e5ae5096": { - "process_core": { - "process_id": "process_id_4942" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0dba595a-88d2-4b52-b9b5-adc7e5ae5096", - "submission_date": "2018-10-01T14:31:16.510Z", - "update_date": "2018-10-01T20:13:03.467Z" - } - }, - "process/730bc8a5-1b79-456d-9ce2-fe94d870ba43": { - "process_core": { - "process_id": "process_id_4943" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "730bc8a5-1b79-456d-9ce2-fe94d870ba43", - "submission_date": "2018-10-01T14:31:16.538Z", - "update_date": "2018-10-01T20:13:03.554Z" - } - }, - "process/0db4ab3a-2457-4193-b28f-6c67310029a8": { - "process_core": { - "process_id": "process_id_4944" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0db4ab3a-2457-4193-b28f-6c67310029a8", - "submission_date": "2018-10-01T14:31:16.554Z", - "update_date": "2018-10-01T20:13:03.639Z" - } - }, - "process/4808d316-0bf4-433c-bef1-287c496ccb86": { - "process_core": { - "process_id": "process_id_4945" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4808d316-0bf4-433c-bef1-287c496ccb86", - "submission_date": "2018-10-01T14:31:16.567Z", - "update_date": "2018-10-01T20:13:03.702Z" - } - }, - "process/9fa8cbf1-5a5b-43a7-b574-ee7d9110305c": { - "process_core": { - "process_id": "process_id_4946" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "9fa8cbf1-5a5b-43a7-b574-ee7d9110305c", - "submission_date": "2018-10-01T14:31:16.579Z", - "update_date": "2018-10-01T20:13:03.776Z" - } - }, - "process/30a130f7-0dfd-40fc-80ac-b4476535c7ad": { - "process_core": { - "process_id": "process_id_4947" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "30a130f7-0dfd-40fc-80ac-b4476535c7ad", - "submission_date": "2018-10-01T14:31:16.594Z", - "update_date": "2018-10-01T20:13:03.828Z" - } - }, - "process/169f7b29-0329-417b-a4f0-bc4671c2b53f": { - "process_core": { - "process_id": "process_id_4948" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "169f7b29-0329-417b-a4f0-bc4671c2b53f", - "submission_date": "2018-10-01T14:31:16.607Z", - "update_date": "2018-10-01T20:13:03.882Z" - } - }, - "process/6a7d1981-4a55-4047-87ee-01495a3e40b4": { - "process_core": { - "process_id": "process_id_4949" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6a7d1981-4a55-4047-87ee-01495a3e40b4", - "submission_date": "2018-10-01T14:31:16.622Z", - "update_date": "2018-10-01T20:13:03.956Z" - } - }, - "process/2eeb01ff-73fa-473a-bc1a-381de837bd6a": { - "process_core": { - "process_id": "process_id_4950" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "2eeb01ff-73fa-473a-bc1a-381de837bd6a", - "submission_date": "2018-10-01T14:31:16.638Z", - "update_date": "2018-10-01T20:13:04.110Z" - } - }, - "process/6d1bb835-e768-4952-989b-3f64fed66fdc": { - "process_core": { - "process_id": "process_id_4951" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6d1bb835-e768-4952-989b-3f64fed66fdc", - "submission_date": "2018-10-01T14:31:16.657Z", - "update_date": "2018-10-01T20:13:04.210Z" - } - }, - "process/4e45b1ac-dee3-47af-8f03-096d33fa34e1": { - "process_core": { - "process_id": "process_id_4952" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4e45b1ac-dee3-47af-8f03-096d33fa34e1", - "submission_date": "2018-10-01T14:31:16.674Z", - "update_date": "2018-10-01T20:13:04.306Z" - } - }, - "process/802efb18-bf90-4338-966f-dff548c4fe17": { - "process_core": { - "process_id": "process_id_4953" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "802efb18-bf90-4338-966f-dff548c4fe17", - "submission_date": "2018-10-01T14:31:16.688Z", - "update_date": "2018-10-01T20:13:04.391Z" - } - }, - "process/8a9276ef-cc40-4baa-817a-1288e044dd34": { - "process_core": { - "process_id": "process_id_4954" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "8a9276ef-cc40-4baa-817a-1288e044dd34", - "submission_date": "2018-10-01T14:31:16.699Z", - "update_date": "2018-10-01T20:13:04.521Z" - } - }, - "process/4774e520-9854-4969-a644-ae6ba96b1210": { - "process_core": { - "process_id": "process_id_4955" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4774e520-9854-4969-a644-ae6ba96b1210", - "submission_date": "2018-10-01T14:31:16.712Z", - "update_date": "2018-10-01T20:13:04.597Z" - } - }, - "process/fb7ba37f-3e36-4454-ab75-0586bb705014": { - "process_core": { - "process_id": "process_id_4956" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "fb7ba37f-3e36-4454-ab75-0586bb705014", - "submission_date": "2018-10-01T14:31:16.726Z", - "update_date": "2018-10-01T20:13:04.665Z" - } - }, - "process/c35d87a0-44f6-4716-8245-961b8636d704": { - "process_core": { - "process_id": "process_id_4957" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c35d87a0-44f6-4716-8245-961b8636d704", - "submission_date": "2018-10-01T14:31:16.740Z", - "update_date": "2018-10-01T20:13:04.720Z" - } - }, - "process/4939e9d5-589e-43cb-bb91-8a2b0261a3ac": { - "process_core": { - "process_id": "process_id_4958" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4939e9d5-589e-43cb-bb91-8a2b0261a3ac", - "submission_date": "2018-10-01T14:31:16.751Z", - "update_date": "2018-10-01T20:13:04.762Z" - } - }, - "process/64a2d65a-ffcf-4d68-9a83-3f8e1956d2d1": { - "process_core": { - "process_id": "process_id_4959" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "64a2d65a-ffcf-4d68-9a83-3f8e1956d2d1", - "submission_date": "2018-10-01T14:31:16.762Z", - "update_date": "2018-10-01T20:13:04.810Z" - } - }, - "process/9beec7b5-c7d5-4259-a2e2-ce91d87d8217": { - "process_core": { - "process_id": "process_id_4960" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "9beec7b5-c7d5-4259-a2e2-ce91d87d8217", - "submission_date": "2018-10-01T14:31:16.777Z", - "update_date": "2018-10-01T20:13:04.863Z" - } - }, - "process/97a220c0-d1ad-48b8-9283-612b5bb12313": { - "process_core": { - "process_id": "process_id_4961" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "97a220c0-d1ad-48b8-9283-612b5bb12313", - "submission_date": "2018-10-01T14:31:16.790Z", - "update_date": "2018-10-01T20:13:04.912Z" - } - }, - "process/0f857bdc-a1af-4bf6-8ecc-1caaa7002691": { - "process_core": { - "process_id": "process_id_4962" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0f857bdc-a1af-4bf6-8ecc-1caaa7002691", - "submission_date": "2018-10-01T14:31:16.805Z", - "update_date": "2018-10-01T20:13:04.978Z" - } - }, - "process/56ac8ec9-b959-44bb-9297-679ba30380bc": { - "process_core": { - "process_id": "process_id_4963" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "56ac8ec9-b959-44bb-9297-679ba30380bc", - "submission_date": "2018-10-01T14:31:16.821Z", - "update_date": "2018-10-01T20:13:05.043Z" - } - }, - "process/9a8bf3ab-bee8-4139-a9b9-374f4618812d": { - "process_core": { - "process_id": "process_id_4964" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "9a8bf3ab-bee8-4139-a9b9-374f4618812d", - "submission_date": "2018-10-01T14:31:16.835Z", - "update_date": "2018-10-01T20:13:05.094Z" - } - }, - "process/2d0c4150-8cb5-4e69-950f-8f222004cc34": { - "process_core": { - "process_id": "process_id_4965" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "2d0c4150-8cb5-4e69-950f-8f222004cc34", - "submission_date": "2018-10-01T14:31:16.845Z", - "update_date": "2018-10-01T20:13:05.125Z" - } - }, - "process/a31c0917-e5b9-40ba-ba9c-a4ee2e599cd8": { - "process_core": { - "process_id": "process_id_4966" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a31c0917-e5b9-40ba-ba9c-a4ee2e599cd8", - "submission_date": "2018-10-01T14:31:16.857Z", - "update_date": "2018-10-01T20:13:05.158Z" - } - }, - "process/599e3944-2745-4a86-96ea-9cd7ce357cc4": { - "process_core": { - "process_id": "process_id_4967" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "599e3944-2745-4a86-96ea-9cd7ce357cc4", - "submission_date": "2018-10-01T14:31:16.868Z", - "update_date": "2018-10-01T20:13:05.183Z" - } - }, - "process/bf3ac043-8c8e-4bbe-ad1f-0a5461e8060b": { - "process_core": { - "process_id": "process_id_4968" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "bf3ac043-8c8e-4bbe-ad1f-0a5461e8060b", - "submission_date": "2018-10-01T14:31:16.879Z", - "update_date": "2018-10-01T20:13:05.212Z" - } - }, - "process/5aa9538b-c733-46d2-bc34-c5bf9e08dde6": { - "process_core": { - "process_id": "process_id_4969" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5aa9538b-c733-46d2-bc34-c5bf9e08dde6", - "submission_date": "2018-10-01T14:31:16.893Z", - "update_date": "2018-10-01T20:13:05.244Z" - } - }, - "process/1fdda0f0-fa6b-41e8-b813-366517414315": { - "process_core": { - "process_id": "process_id_4970" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "1fdda0f0-fa6b-41e8-b813-366517414315", - "submission_date": "2018-10-01T14:31:16.903Z", - "update_date": "2018-10-01T20:13:05.273Z" - } - }, - "process/009ea6f7-b174-4dee-9953-a9feea75fff1": { - "process_core": { - "process_id": "process_id_4971" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "009ea6f7-b174-4dee-9953-a9feea75fff1", - "submission_date": "2018-10-01T14:31:16.916Z", - "update_date": "2018-10-01T20:13:05.295Z" - } - }, - "process/d65f5dd6-7286-4779-b62f-59ede5aeed8c": { - "process_core": { - "process_id": "process_id_4972" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d65f5dd6-7286-4779-b62f-59ede5aeed8c", - "submission_date": "2018-10-01T14:31:16.927Z", - "update_date": "2018-10-01T20:13:05.321Z" - } - }, - "process/3042c570-66ca-436f-97c0-d087acb73c6c": { - "process_core": { - "process_id": "process_id_4973" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3042c570-66ca-436f-97c0-d087acb73c6c", - "submission_date": "2018-10-01T14:31:16.941Z", - "update_date": "2018-10-01T20:13:05.360Z" - } - }, - "process/82f407d5-4fb2-46f8-b6e7-eb327f5436c7": { - "process_core": { - "process_id": "process_id_4974" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "82f407d5-4fb2-46f8-b6e7-eb327f5436c7", - "submission_date": "2018-10-01T14:31:16.952Z", - "update_date": "2018-10-01T20:13:05.403Z" - } - }, - "process/989deaa9-3aba-4c9e-8b76-bb12d9caf1a3": { - "process_core": { - "process_id": "process_id_4975" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "989deaa9-3aba-4c9e-8b76-bb12d9caf1a3", - "submission_date": "2018-10-01T14:31:16.965Z", - "update_date": "2018-10-01T20:13:05.488Z" - } - }, - "process/c6f0e3b6-3538-4195-81f4-1d8a33c28225": { - "process_core": { - "process_id": "process_id_4976" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c6f0e3b6-3538-4195-81f4-1d8a33c28225", - "submission_date": "2018-10-01T14:31:16.976Z", - "update_date": "2018-10-01T20:13:05.520Z" - } - }, - "process/0c990cbe-9cd6-4caf-87e4-a35eef3d1dd5": { - "process_core": { - "process_id": "process_id_4977" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0c990cbe-9cd6-4caf-87e4-a35eef3d1dd5", - "submission_date": "2018-10-01T14:31:16.990Z", - "update_date": "2018-10-01T20:13:05.566Z" - } - }, - "process/cbb656f6-656f-4083-bd7b-377503c17529": { - "process_core": { - "process_id": "process_id_4978" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "cbb656f6-656f-4083-bd7b-377503c17529", - "submission_date": "2018-10-01T14:31:17.003Z", - "update_date": "2018-10-01T20:13:05.630Z" - } - }, - "process/ccb4fae4-0463-4064-a0ef-f2ae16a188fe": { - "process_core": { - "process_id": "process_id_4979" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ccb4fae4-0463-4064-a0ef-f2ae16a188fe", - "submission_date": "2018-10-01T14:31:17.014Z", - "update_date": "2018-10-01T20:13:05.664Z" - } - }, - "process/ed57ca6a-96f9-48c2-9a49-9bce23633765": { - "process_core": { - "process_id": "process_id_4980" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ed57ca6a-96f9-48c2-9a49-9bce23633765", - "submission_date": "2018-10-01T14:31:17.026Z", - "update_date": "2018-10-01T20:13:05.702Z" - } - }, - "process/369a45ec-0c6f-433a-ad7f-0d9e29f773a1": { - "process_core": { - "process_id": "process_id_4981" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "369a45ec-0c6f-433a-ad7f-0d9e29f773a1", - "submission_date": "2018-10-01T14:31:17.039Z", - "update_date": "2018-10-01T20:13:05.741Z" - } - }, - "process/f7b1f4d4-509e-4327-8ff5-5a171ce810eb": { - "process_core": { - "process_id": "process_id_4982" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f7b1f4d4-509e-4327-8ff5-5a171ce810eb", - "submission_date": "2018-10-01T14:31:17.058Z", - "update_date": "2018-10-01T20:13:05.769Z" - } - }, - "process/e79f7e4d-6d7b-4102-a52d-e2ccc0276f2d": { - "process_core": { - "process_id": "process_id_4983" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e79f7e4d-6d7b-4102-a52d-e2ccc0276f2d", - "submission_date": "2018-10-01T14:31:17.076Z", - "update_date": "2018-10-01T20:13:05.793Z" - } - }, - "process/5b9437a5-cccd-44bb-a423-339a9f7d468b": { - "process_core": { - "process_id": "process_id_4984" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5b9437a5-cccd-44bb-a423-339a9f7d468b", - "submission_date": "2018-10-01T14:31:17.091Z", - "update_date": "2018-10-01T20:13:05.824Z" - } - }, - "process/98afb79e-3640-40b4-95dc-57b808289f2c": { - "process_core": { - "process_id": "process_id_4985" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "98afb79e-3640-40b4-95dc-57b808289f2c", - "submission_date": "2018-10-01T14:31:17.107Z", - "update_date": "2018-10-01T20:13:05.855Z" - } - }, - "process/f19016a1-9db4-4f49-a5b3-b3c22664774e": { - "process_core": { - "process_id": "process_id_4986" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "f19016a1-9db4-4f49-a5b3-b3c22664774e", - "submission_date": "2018-10-01T14:31:17.123Z", - "update_date": "2018-10-01T20:13:05.883Z" - } - }, - "process/3ce599d8-7dd7-42d7-80f9-7b376f1a7279": { - "process_core": { - "process_id": "process_id_4987" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3ce599d8-7dd7-42d7-80f9-7b376f1a7279", - "submission_date": "2018-10-01T14:31:17.135Z", - "update_date": "2018-10-01T20:13:05.918Z" - } - }, - "process/a1c57046-8970-4d24-b2cd-4086196df63c": { - "process_core": { - "process_id": "process_id_4988" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a1c57046-8970-4d24-b2cd-4086196df63c", - "submission_date": "2018-10-01T14:31:17.153Z", - "update_date": "2018-10-01T20:13:05.962Z" - } - }, - "process/eb5e8442-b59a-46b9-b471-cadc3364836b": { - "process_core": { - "process_id": "process_id_4989" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "eb5e8442-b59a-46b9-b471-cadc3364836b", - "submission_date": "2018-10-01T14:31:17.170Z", - "update_date": "2018-10-01T20:13:06.000Z" - } - }, - "process/c56e4fa0-7e51-4a21-96ad-bef7ceaf59ba": { - "process_core": { - "process_id": "process_id_4990" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c56e4fa0-7e51-4a21-96ad-bef7ceaf59ba", - "submission_date": "2018-10-01T14:31:17.186Z", - "update_date": "2018-10-01T20:13:06.046Z" - } - }, - "process/7f403eb9-6ee6-4d36-8b85-48e5311495b9": { - "process_core": { - "process_id": "process_id_4991" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "7f403eb9-6ee6-4d36-8b85-48e5311495b9", - "submission_date": "2018-10-01T14:31:17.202Z", - "update_date": "2018-10-01T20:13:06.083Z" - } - }, - "process/64958b87-6e5c-4955-bfd2-a37ef0f42d85": { - "process_core": { - "process_id": "process_id_4992" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "64958b87-6e5c-4955-bfd2-a37ef0f42d85", - "submission_date": "2018-10-01T14:31:17.214Z", - "update_date": "2018-10-01T20:13:06.147Z" - } - }, - "process/76ef89e2-88a8-4f9a-a458-d8c47dcb3b6d": { - "process_core": { - "process_id": "process_id_4993" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "76ef89e2-88a8-4f9a-a458-d8c47dcb3b6d", - "submission_date": "2018-10-01T14:31:17.236Z", - "update_date": "2018-10-01T20:13:06.172Z" - } - }, - "process/1840570d-53ca-42b1-a663-98e2dabf9bb8": { - "process_core": { - "process_id": "process_id_4994" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "1840570d-53ca-42b1-a663-98e2dabf9bb8", - "submission_date": "2018-10-01T14:31:17.252Z", - "update_date": "2018-10-01T20:13:06.196Z" - } - }, - "process/ad1d580a-b193-41b9-b748-fe20f7112360": { - "process_core": { - "process_id": "process_id_4995" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "ad1d580a-b193-41b9-b748-fe20f7112360", - "submission_date": "2018-10-01T14:31:17.263Z", - "update_date": "2018-10-01T20:13:06.270Z" - } - }, - "process/90041e4b-cd79-46a1-b0ee-d33cf4e717d2": { - "process_core": { - "process_id": "process_id_4996" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "90041e4b-cd79-46a1-b0ee-d33cf4e717d2", - "submission_date": "2018-10-01T14:31:17.281Z", - "update_date": "2018-10-01T20:13:06.334Z" - } - }, - "process/841d03f0-df72-4900-818e-a302e93e69ae": { - "process_core": { - "process_id": "process_id_4997" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "841d03f0-df72-4900-818e-a302e93e69ae", - "submission_date": "2018-10-01T14:31:17.295Z", - "update_date": "2018-10-01T20:13:06.377Z" - } - }, - "process/b284e4c5-495c-428d-895a-8a0f279e2222": { - "process_core": { - "process_id": "process_id_4998" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "b284e4c5-495c-428d-895a-8a0f279e2222", - "submission_date": "2018-10-01T14:31:17.313Z", - "update_date": "2018-10-01T20:13:06.411Z" - } - }, - "process/b7ca5f26-d2ce-4c8b-83ee-68ceef7d0d55": { - "process_core": { - "process_id": "process_id_4999" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "b7ca5f26-d2ce-4c8b-83ee-68ceef7d0d55", - "submission_date": "2018-10-01T14:31:17.334Z", - "update_date": "2018-10-01T20:13:06.453Z" - } - }, - "process/cb70882f-5aae-4471-a561-c11469b8ea64": { - "process_core": { - "process_id": "process_id_5000" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "cb70882f-5aae-4471-a561-c11469b8ea64", - "submission_date": "2018-10-01T14:31:17.344Z", - "update_date": "2018-10-01T20:13:06.488Z" - } - }, - "process/9c0c0d02-ad7f-43d4-bf36-52deb0cb3c1f": { - "process_core": { - "process_id": "process_id_5001" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "9c0c0d02-ad7f-43d4-bf36-52deb0cb3c1f", - "submission_date": "2018-10-01T14:31:17.354Z", - "update_date": "2018-10-01T20:13:06.512Z" - } - }, - "process/a74926cf-9c9a-4faf-8a01-3915b5021c9f": { - "process_core": { - "process_id": "process_id_5002" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a74926cf-9c9a-4faf-8a01-3915b5021c9f", - "submission_date": "2018-10-01T14:31:17.363Z", - "update_date": "2018-10-01T20:13:06.594Z" - } - }, - "process/70b726b0-8e2a-4040-9006-8357e300fbd4": { - "process_core": { - "process_id": "process_id_5003" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "70b726b0-8e2a-4040-9006-8357e300fbd4", - "submission_date": "2018-10-01T14:31:17.376Z", - "update_date": "2018-10-01T20:13:06.622Z" - } - }, - "process/02cea5bd-bb23-45d8-a1f0-9f46dd1974be": { - "process_core": { - "process_id": "process_id_5004" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "02cea5bd-bb23-45d8-a1f0-9f46dd1974be", - "submission_date": "2018-10-01T14:31:17.387Z", - "update_date": "2018-10-01T20:13:06.647Z" - } - }, - "process/3197c12d-693c-49c9-992b-9051a4794814": { - "process_core": { - "process_id": "process_id_5005" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "3197c12d-693c-49c9-992b-9051a4794814", - "submission_date": "2018-10-01T14:31:17.397Z", - "update_date": "2018-10-01T20:13:06.669Z" - } - } - }, - "links": { - "describedBy": "http://schema.staging.data.humancellatlas.org/system/1.1.3/links", - "schema_type": "link_bundle", - "schema_version": "1.1.3", - "links": [ - { - "process": "f8dfb127-a6db-4e3a-b1d7-ceff08c70594", - "inputs": [ - "36a391f6-d118-4fd7-be51-9196b0f3184f", - "73222bd2-3aae-46dd-98e9-209714396cc8", - "d52cc98d-5b2e-40b7-9dfd-c255de73602d", - "462505d7-48e1-4d85-92e3-f768a93d4fca", - "090682b0-dc11-43d0-b6f5-cf3dee18533a", - "e67853b9-dc53-4b5f-8693-8ad4e3a4d5d2", - "69dbf7cd-c728-41d3-9851-916dc64e07c2", - "1a6292df-a383-40c7-bc28-b8bf63e03967", - "4aad31c4-06fc-4af6-804b-f10afa1cae1d", - "2a630ecd-440d-43c3-9c9a-2a8ec98a1784", - "b60a1acf-24f7-46a7-b276-39c48f3460e9", - "5db6e3cf-bb9a-430d-8e5a-1499088526fc", - "6ff20c11-cb2e-4ace-9b3a-48094ce7a231", - "58e26f53-908e-41fe-b9d2-72df1b7d7ea7", - "f628676a-1619-4efe-a305-9133282235f3", - "fe7e5442-869f-45b4-962a-0a7ab0cb5880", - "b4cb902f-dc5d-406c-99bc-4d73ccab777f", - "19a38e6c-c863-41b2-abd3-f24016040027", - "850a7f8d-5dde-4152-8c30-c276ef23298e", - "21087dcc-04ae-4238-933a-1c7b402554cd", - "3b9db8ae-39fa-4db2-b588-adb267f3183f", - "ec9a213b-ce8b-4026-86d2-eff755253135", - "d9d8d0cb-6282-418a-8ad3-10c15668df6b", - "57790c0e-6acb-461e-aeb6-c36454c61dc3", - "65f3dfb0-432b-49c5-8994-9b0d6f65d1e8", - "4c94cd55-8762-41b5-87bc-7f3d8fdc33f3", - "9391d982-8442-4164-a79d-e2d3db0063fc", - "f8369f37-a63d-479d-8ddd-3322a00677d8", - "e344d025-ee6c-4964-9bc0-8efcc51753c2", - "e5fb4bb6-838e-4c60-a3fd-6ecc94714f24", - "ade40a53-09ea-480d-9762-38c28568062d", - "a0ee4cc1-0123-4bac-9226-37a6cbe590dc", - "63e7c402-0064-4077-a24b-6146f8e0b5c9", - "30b2ca9b-bc69-422e-88e6-aab7cf2bd709", - "f323ef31-62ac-4edb-a423-cf4ec94d2f8b", - "a97c011b-9709-494b-8787-b09282ee83ad", - "65e1cf44-e740-4ec9-a800-45f27622007e", - "76c21f33-cf6e-43f3-b727-c408ad1fc1bf", - "773cc07f-c5ab-4db7-b313-feeab737f18a", - "b7b29f4a-cc95-4be6-b0b1-e7b2acbc3742", - "d1e9e5f0-32c1-4a03-bb5b-baa3279a7cde", - "6f4a1381-294b-4c57-89d9-9d4bfbc9f371", - "ccf56b9d-2e63-4eab-b8c5-39a41e87073d", - "c6883b2f-e67f-4806-87ec-fdfbedce1c58", - "28864088-bf33-4bb0-a7bb-e5a4da5fb748", - "0ad08c02-259d-43c5-98e3-a2217eecbd20", - "5f941ee4-0d8e-4c5d-8479-3a88b97e5a98", - "b70fecce-c652-4bc1-b225-1694470023f3", - "ccbbfc2a-700e-483c-b9c0-27cfc0630c02", - "3917d3cc-4c27-4626-90bf-ab5d018cc55c", - "4bde7812-555e-4dca-a4f5-35d6457d157f", - "d24521a3-c8f3-4d8e-b682-c957c3f59807", - "0d743241-997e-4c51-803a-2c39eff12d4e", - "b1775d29-c0df-4df9-99ac-38726ddcce49", - "d23df5d9-a5b7-483a-a6e5-63169ebd5b64", - "4e9df9c2-d70b-4116-a30c-f85800aa59df", - "1d15b2f8-e9c9-4ed6-b636-5d3aeff5479a", - "4673653e-ce26-4803-b829-b379f8e5557d", - "cfc6d7db-6691-48b6-8d6b-60a4440778b5", - "1a6355b5-516f-4327-b13c-94c2dceff4c1", - "90570f32-fa18-42c9-8ec3-d524e19e491a", - "6d9e85f2-0b13-43d0-8ba4-86ecd087a590", - "fc60766c-7c21-485a-8b3f-7c38662fc627", - "3eac9541-a06e-4082-b950-b68dfd514a4f", - "53cdb39f-7010-4357-932f-422f94eca0e0", - "ff8b81fe-2e09-45c8-b7d3-9146172176ed", - "2a5fd797-268f-4f87-963a-4c09833abf19", - "bced27ff-af66-46b4-bc3c-06cbf57815bc", - "5820978b-f2d8-4913-8f4e-d9e4cd71b1aa", - "30cdff42-2242-4e76-a9c9-882d6632a397", - "96c8635f-9dd5-4db7-b336-c4cba4fbfbd5", - "8d03865e-a908-4ca6-aba0-609a842baaea", - "ac3a1a43-ba50-4734-abdf-466bf995760e", - "7dd7d962-a1ac-4275-bc69-b33ef9f97ee0", - "46668358-58ea-4f40-9e51-8f7669bb6f48", - "4002a86d-c13f-4b44-8796-2acba8dcdf80", - "3082b185-c821-4b3f-85d9-d7c1f02927ff", - "0046b2a3-061c-48fc-a0af-0c874d725359", - "9d4d1acf-aca9-476a-a98b-e5897aafd67b", - "35cc7aee-2b8b-4609-a8ba-1250ec556a53", - "e00b0e46-3d90-4e62-a87c-ca288e46a961", - "bedec879-58d2-4da7-a5dc-0b5807d44acf", - "d30ce499-fe12-4327-a563-03023e5930b3", - "66812575-aa56-44a0-aefa-b746b99fd96e", - "342839aa-c58e-4f93-bfd9-7b65bc8b85dd", - "71b018de-35a9-4aca-8b08-4a84d2b1a47d", - "13c900ac-7e8f-4c68-a84f-d56b247451ea", - "473c03c6-fada-4d2a-96b9-f7ca29044536", - "f5cac140-58b2-4523-bdb7-9d66f85642d3", - "b44e6954-97e3-49df-90b7-614c8cd77c0f", - "78fa6df1-442b-46c0-918e-b250eaa3e0dc", - "a5f927d5-05f4-4478-8e52-09a40c0ca82a", - "23bfcc7e-f7b1-418f-a8d1-2d85691d1d3f", - "38a4b411-5100-4122-afc3-a752f189a439", - "0ff5ce81-4cf0-4e1c-bacc-fdf0ac9ecbe1", - "c91215e8-bff3-4ddc-bf97-c693a8041bb8", - "b04e4c07-3552-4a18-8fb5-a8b854fa859a", - "92727211-1035-475d-99a3-33972c5eb436", - "1749997d-d4d4-4844-bc5e-d4eee2c42e69", - "2a1d8e72-5133-4fef-b7a7-3271b977170f", - "c69ecbd5-4d59-4e55-a59d-f4d10640f131", - "f670004f-0fa3-4518-9d89-858aa2d002dc", - "ccfe1a77-90c7-4ad3-8977-f3ed420fb33d", - "f29dba0e-4834-4170-be5d-50213c4a3977", - "9a329bec-4c29-4eba-8c0c-f5b28e525eca", - "e38297df-9eb0-43f4-af5a-d4dc6cbc1b8d", - "b28c4a10-fb53-46ee-a2fb-c1ea96f93749", - "7a1d98cd-3955-424f-a882-4fd7bda39914", - "97030a10-817d-419b-8f0d-5925d8a7eeb2", - "fb11d84d-9493-4c57-aac3-3a7937e58ad5", - "353c2625-7d6f-48ac-ab55-8327cbe22179", - "a3b96919-7ac5-4f59-9d3e-f7b4c452ceb1", - "ab442056-f765-4c28-977b-994fc76d0856", - "e50c579d-0dfe-4c73-96a1-df76dc01d2a3", - "7d6cdbfd-6fc5-4feb-8287-259c9a1322b2", - "a086630e-a35c-439b-aa38-f681038f5be7", - "f9ea5480-95ac-4e91-9c58-f73f2ad246d3", - "260382a0-004b-42b7-aad9-2f512455a650", - "7506eb7b-863c-49ad-8b54-b9c46f95f463", - "ff83a3a4-175c-45b1-83a9-263054bc403d", - "5ce04010-0a94-44a0-9de2-6a768db775de", - "c405d2b6-c998-4c04-984d-9e07b0606602", - "e9d18b01-edd7-43a0-9d5e-922b6935c623", - "eaa3fdb1-a8b3-40b3-814c-2bad70e165b5", - "977bd67b-beec-4f46-b466-8b41d0407883", - "512c61a9-d425-4c99-b386-a42648a6eab6", - "a31d4351-1a70-4606-a141-3d1f5b1edf3f", - "479084d6-a6dc-4c25-88cc-901e9a0cbb77", - "23357462-2a8f-46b2-bcc4-bb70bdb111d3", - "34012657-85b6-452f-8722-fd67f91faef3", - "63d08fb8-6fb3-43cc-92af-b817dd67329b", - "4c525eb9-61e9-4851-b075-1ff3b7607af0", - "83ded0ae-0826-450d-9b4a-06e3a49f9fa8", - "af0c8790-9eac-45c0-9582-d5acbd57a636", - "e741cf6b-f293-478f-8c93-93fa40a99e81", - "8971ab0e-d20c-4a9e-82b8-2d5e8b063abe", - "7f0fcea0-eb45-4aa7-83da-87f3776e37c3", - "bbbdf930-7bb2-4b0d-b345-cf1d788666c7", - "ea4a27f8-279c-46c2-9b88-f66c1fd91780", - "b6ecf45c-4e8d-4a89-ae9b-98ee023dd878", - "ca622a16-bd7b-4956-b054-3b957cc3ab14", - "faaaec08-7e4b-4b72-98d7-9948f707d9a7", - "81737f70-9097-4870-85ee-04cfd56a11f9", - "4489f530-1179-47e6-a5a3-93a165b78b4f", - "118738b2-b964-4ce9-92c2-99233a9bf1f6", - "a13895d3-7878-43c9-b4fc-a28ec263c2ca", - "9b45270b-3a2c-490a-aadf-6f492428a30a", - "792cb5eb-6af3-48cb-b8f4-2ebae86d874f", - "d7be23ac-e7ed-48a1-b2ec-23239e1d2582", - "dcb5f54a-4a75-47e3-b89f-8d7ba0931bf7", - "49485ecc-2462-4e9b-85c5-2c928f959865", - "4e512abf-defe-4d12-acd2-e10c0c6e3773", - "3d739e69-414d-4c6e-9332-d33645e5b2a1", - "b2c053b2-fd84-43fc-bd47-d0cd401dea50", - "b9ce2b0c-b4d0-4ef3-afb9-53baf73afdb3", - "673e9c5d-f467-4176-8e3d-165dec07cb35", - "7f814cfb-24e1-4b1a-a764-90b3ad762f76", - "c3789bf3-8c00-4074-966e-0769f301ce56", - "4904d265-343c-4511-8c1e-9f6127bb1240", - "2e34c3fd-7d0d-43b4-8d95-01b7ea4145c2", - "45bb9541-0bc1-48bb-99d4-8bb33c8c66ed", - "d2842cf5-c81f-4f3c-9fc8-60dcaf45c096", - "5f968cb2-026f-49fe-abb5-ad7bbda8571f", - "97a5ef2f-46ff-4e2a-a88b-f4ae815c2338", - "9228c6b7-e42c-40b1-bf24-c3c78b60916f", - "09cddb76-929b-4b6f-9f7f-8497df2a2e7b", - "418053f9-a3af-439b-8da4-9a87da9332fb", - "cb590483-a17c-466c-8362-69d51f724740", - "96b46301-bcc0-42d5-95ff-c6aece337b2e", - "df4bc869-57db-4417-a6c4-2cddc0ad9b6c", - "955a16c5-08a7-46e1-9605-6f20006011e5", - "c463e2eb-0fa8-4f21-86f1-c5b9e76fd7cd", - "c1b1a57f-5787-47d3-9c92-270e55aeaeae", - "e59d038d-1035-4782-897b-95c2a3fb8ea6", - "ecb35227-6347-46e6-8330-da248b28ef1c", - "9346bd7d-945b-4a53-9a1b-2da8795edb97", - "008b705b-7453-48fb-bb43-bfafb83aaecb", - "2e313cd2-7082-444a-8dd3-485a6b47ca56", - "aefdb247-002d-45c4-9100-137709c20aa3", - "9c2c2878-b50b-4fed-87c4-fee0424f8409", - "ab0804bc-91e9-4d6e-ba70-ff05cd9a238f", - "287984c5-d5f0-4b35-bce8-ccdea8cac79f", - "b72f1527-7d06-4fcf-8d8f-3a0e688441d0", - "8ff1b66b-4c05-4df8-b245-5a0e1eace8b6", - "6b0839e9-1066-4a33-9e6d-1d808bbe0bcf", - "9a0b8dfb-fcb6-4986-8045-27f14d977e4c", - "8feaa5f8-3e34-40f4-9c6a-b07a035cb312", - "d37eb2d9-9d44-4dd5-bbbd-ecd78aa1d5d9", - "7d3360f2-70fe-404f-88ef-5aee14fef59d", - "0d2939dd-07cf-4f2a-9a94-7952ca8f5b37", - "e7201c2d-23a1-4601-ad71-9e7c1a9ba624", - "69904f6c-bd79-4416-aec9-01ca3ce9cf30", - "889c1653-f645-4fdb-bf2a-d3df1666db8f", - "44702201-4017-40b5-99b3-294cb18f6485", - "dfa7b19e-f557-4f3d-bb65-4afe77b9a571", - "5be090a1-17fe-4fec-9608-a9e76b2a067e", - "fc031919-8ec5-4935-83ef-73560bbffa12", - "e516c62c-9248-4b02-ae5d-ce6d93515431", - "f8abdc47-8e73-4988-909b-bb2bdb1ac015", - "ee754370-9a1a-4ef0-a7c4-38d77c5b7fd1", - "d66a864d-075b-4ffc-b315-6819d306107f", - "e68e7817-6bb8-4463-99b4-996256ba2059", - "27cc755e-524e-481a-8482-5f15e5dd07f4", - "54e37fd6-41a4-4cec-9dd9-e722a155a09a", - "d828fd3e-18c2-43f8-9fec-b6f2a038fc20", - "b118bd6f-e3c7-4e24-a86b-bf7eeb20304e", - "96653737-43db-4320-bb50-2f9613d62051", - "7e8f718c-5d14-417c-bc6e-8471413a198f", - "973529d6-eb7f-492e-af31-e3cc85a32663", - "69bbeb43-a654-4a63-9744-5ff4fe1159ae", - "00a7c1da-8a02-430e-bb98-e97ffcde034b", - "766f48ea-10ee-488d-bb12-511ae63e8c8b", - "2fc1d678-e328-43bf-8141-237e34348dc0", - "82a2385e-4796-455e-a37f-9ccdf64edc60", - "897bcdee-8298-413c-90aa-30a8bd7257dd", - "ddb07363-366a-4bcf-ad11-f84bfe22dc49", - "0e1f39d3-c9a0-42b2-9d79-343e1c4d65fa", - "dc4d9d54-fa0b-48ca-8bd1-c073f2707901", - "864b9bf6-abae-4f33-a132-cbd0531953de", - "3ccb5f99-c5ea-4c46-8c73-ee682fbd9e7e", - "ca007aea-f452-4925-aba6-3fc250cfc5ab", - "ed2f6d88-de43-4199-9b1b-5dd4a51ca8b6", - "33de2519-03b7-4556-abf0-3e87df485928", - "c3b3d34b-2c45-48fb-9f7b-af3c700a9470", - "8bd1a6ca-79d1-4af8-98c5-a87cc00bdd93", - "19f0efe4-effb-4110-9dae-5c69326fde4a", - "67575d18-ec23-4c84-adb7-21c72a9fb8da", - "043813e3-e773-4237-819c-dc3517014aa9", - "63df2596-d6e0-4021-abee-c112d79654d3", - "0c840278-1998-4d08-a5c8-76b8708130a8", - "4940131a-be8e-4ba5-9c91-ef9dbdc81763", - "bad4f40f-8023-4c53-9b98-e9833e5dab9c", - "052161ca-c389-4b9e-a6ae-6f2e37739988", - "450be104-d782-4f9a-a438-578c951c2686", - "755fca8f-3c4a-4b9f-9ae5-1a8aef3bd27e", - "614cb73f-7ed9-4ded-93a8-d7979f124550", - "20ad6581-b62c-4d01-8db9-48c0d09fa674", - "84a7252c-70ad-4620-96ce-13086c5edc72", - "2546ba98-ebc5-4bc5-87c9-f63e74e736dd", - "deaec450-2035-4bf3-8ead-7e43ef73d6b9", - "c3e4dff7-fcba-439c-bfcf-cfb28c16cc6b", - "11ef6598-47b0-47b3-ab82-6522e920be48", - "7dd4926c-61cf-4641-948b-447167f4bb49", - "b1b36ac8-45ee-4ab1-ae44-4a3f227502c6", - "7b25976d-4b25-4632-84f0-46a492d7a2f8", - "070419ba-e292-4212-985e-59e6ca23c14a", - "2d490b08-225c-47cc-aaa9-c8eaba61352f", - "4f42bb6d-1210-4b9a-834b-28aa78324651", - "d42a3030-e44c-47c1-8f15-a4987f2c7452", - "b711a580-97d6-4a6b-b28c-c956d163fda4", - "e3b6af9e-1081-4b0d-aab2-6f2d73dac468", - "47fdca59-b1e6-4d0d-8a1a-fc8f16993684", - "51c8e3c8-042f-4253-aa48-3452ceaa9b90", - "b62dfb1c-5aeb-4ad0-b350-efd09cf85dfd", - "1b96601e-0cf5-4c57-9c51-aa2f0a86d916", - "06744801-ce2b-4a8e-81ec-1ff4526d91df", - "8e082241-69be-449c-b561-cd2b8f268723", - "b4e76029-f708-48f4-b9e7-d6d4591476f5", - "bc1a872c-0e2b-4065-bf85-4edafe3158aa", - "a17ec89f-ee4e-4f2e-a8bc-e6939b780268", - "a1bc22a0-e024-4ef4-900b-51e032291a39", - "45cbcff3-db91-4c4d-b233-ff480cbaa95e", - "0eedc57e-b68b-46ca-8d54-0303f36b588c", - "8e85f524-7e64-4c60-900c-4267f2a3201e", - "b618dd5d-90a7-47b1-87a2-0a8fff0a5d05", - "8e83c52a-52a6-46b7-8cdb-b249d8a134a2", - "be726db6-7ac6-4114-a172-42b29c83644a", - "03cf98ed-4baf-4f5d-976f-cd11a8dfefbe", - "51d68613-d693-4005-abfc-2c7eee72c34b", - "68fdb7c9-958e-4225-ade0-dc288ae397b1", - "c2c42288-737d-4a94-a4d5-f4ac232a87c7", - "408e204d-aaa7-4b57-b2a9-5aa94a202b37", - "daaeb295-c869-4ce2-86d7-2b93a4caa3b6", - "4d9516b9-a40c-4556-aaf8-2fda570aca17", - "c8313483-c3cd-4c83-8b65-e7d517fcaca0", - "c3604fd4-73f1-4dc3-b88c-ee4c7df94c08", - "f5610c0a-0b93-4ea2-a098-37238f36cc03", - "42aabb76-48f8-4c72-b482-313ba07dc7a7", - "6a47520c-90ca-4cef-8535-e57cdea14d02", - "3b0424a9-c041-49e8-80a4-d7e4006b1ca0", - "ebccdcd4-1f04-4365-92ac-bb82bdc961f6", - "94dde38b-f573-4443-a557-47bce9ce2dbd", - "b6249791-2be6-4668-9600-f225aaca39a0", - "d36c22b5-69f5-4605-b334-4e39c10bda43", - "aa86bbac-dd6c-4743-856e-e7549b7d7f07", - "c785817f-c9ef-46fb-84e8-0d08b77e2b03", - "b010a06d-3df1-4e6c-8d4d-70d1992022a7", - "c3dfb298-082f-4c1d-97dc-84b7292c4c50", - "c550b8f6-e3dc-427e-a999-666c7feefe92", - "e3506c54-90d3-4ab1-9209-41e0b46c0fa5", - "45f8303c-27ff-443f-a78e-38a55b260fe2", - "134e54ca-cce6-434b-868b-ef0b0b07a558", - "1d36033f-e83b-48a4-a2ef-605d6be305f9", - "ddd2ebac-c299-4d31-b133-852496bcc01a", - "4a6c2fc9-6ac6-49a1-abdc-746b43073d43", - "826c493b-e549-4951-b554-f407a1cbd114", - "ac86c2c6-3dd3-401a-aae7-6dc5f732cbee", - "323bc866-e47a-45f9-be83-4152f1850b67", - "e911a111-cad9-4cb1-b64b-639ea244fd19", - "7508c8ad-c6c0-4767-9ff0-2f705b1a6469", - "68a1d68a-a4b2-4a02-b9b4-eaa845325af9", - "401ba2a2-d651-4d06-9ee9-1569a9253417", - "5bc3b7fe-ce90-437a-9695-fed4883c874e", - "2219ba4f-a802-43d5-a5b1-f3516ec1e148", - "329e2de1-fff2-468e-bec3-7e180a61cff6", - "b9f94889-f1d0-4771-8269-b85d2c5917f4", - "a5d7cba2-e659-45bd-a1ae-46085ec5c697", - "04a0bd98-c6b8-46bf-bd5f-21d56d8e0456", - "1fd40b0f-aca2-4455-b168-b15803319ab4", - "5f099f7f-8fc4-40b4-badd-49f2e726cdb6", - "7efb3b8f-9479-4807-8466-ef6276b86f12", - "ce935434-17b6-4b13-bb92-7b68e754351a", - "3bc69d70-ef38-4b61-8741-3a188c18f702", - "808c6467-5d7b-4c6c-b83a-e47b0362dcdc", - "4fe13b1d-faf4-486e-983c-97b7d0470e9e", - "c3522608-ddc7-4d0b-aa16-6fa291324d99", - "516902a4-2792-497a-9fa9-9ff596ebcd0f", - "180347ed-c17b-44be-af2d-567400400b0a", - "dc7e3296-ece0-40dc-a693-4c87c5ecec5d", - "5bc13124-4b0e-4359-bd43-ec3d9cd53724", - "855a9372-8649-436f-9e85-ceb090225d9e", - "c85a1f15-0944-4e99-9175-aa2f2ad34c49", - "ade7523d-cdff-4fd1-90e6-29c548ab345b", - "50f3094c-d10c-4f78-98c8-0175bf1bc7cd", - "91f6d93a-81ea-44e3-907e-8b0a5ed69ea6", - "9f041862-2f9f-45d4-a36c-dacba2738035", - "8baca1dc-33fc-4cff-a23b-9b1a05186c13", - "6622e56b-f509-40b6-a392-86e5d1107701", - "7f54c74a-e2f4-4a6f-bf68-25979f5ec121", - "f7e574f2-8de0-45ef-93e7-8a1b6765d77d", - "94de7a55-f03b-459b-9fea-190ec3fa714b", - "5fa8e3de-b96a-42e8-b5d9-cbc0c6a5b6a1", - "5d7fd1ca-6496-442c-a3e5-49aa586b7554", - "e27cf02c-479f-4265-8d4b-287c25e3730d", - "b9cbf165-2e93-4eea-a834-43ae320309f5", - "9aefb156-2719-4672-ae90-68676230d5c0", - "10b3f94c-bcf3-41cd-9723-8a454299b000", - "cc37c377-01c0-4e36-9293-f449a6b6212a", - "c63350fa-d091-425f-a3c9-5f28efdb5aec", - "1a314769-f4f4-43e5-8b8d-5ff4273c8599", - "e4bb23dd-5e45-4b12-9950-d5044a0d843a", - "14b09236-5ed7-4026-9b9a-92ebe564a6d3", - "54e7998e-1878-423a-97ad-b905ca7423e3", - "6597f3ba-c522-47c9-934e-496129949ebf", - "b73ff2e8-b2fa-44ec-b940-aac5c74ef3d6", - "bc1304ee-8386-445d-9196-4c3e9a0fd014", - "40c7b4a0-24c0-4734-9bca-acd5c822bf4c", - "e9649b21-0314-400c-8831-0df69dc0650a", - "6223a9d9-c6e8-480f-9152-7e223c0f565d", - "0dba20ce-618c-4a70-8f6f-a584df044cb0", - "21e86b75-1ee0-497d-8028-70eb6cd0c2a2", - "bbb46cb9-7fbc-4092-a5ed-c076b3c12cb4", - "4bca0fcb-1877-4b02-9145-1a5d767dae3b", - "3c5a7203-cd7d-45a2-9780-9b083913a7a6", - "ccba96e6-46de-479a-bd04-f8e1ddec0981", - "00d3efd9-d219-4bc1-a58a-dc96f3f8500f", - "159777f7-04c9-45a4-9103-4c398ff33f63", - "8aacd0c6-ad7c-4214-afe7-a0c25a42428e", - "db3bf625-e9ed-47ee-95c1-c09099e4b344", - "f10a82f4-bb14-464a-bf45-8a95f3446a38", - "8629bf28-c593-497b-be8f-2f010e9d3354", - "85097581-d65f-4f4a-8f66-ece83b3a8fd2", - "07299af5-1e56-4035-9cf4-50b30e4a19c1", - "cf2727a9-35b2-4b0d-bf46-7a3f1e7bc747", - "484bd756-a413-409f-8b8a-c3b67304d99c", - "b7f64620-cab2-436b-a177-4642925a8b86", - "de7e6de9-a1fd-4700-99f3-184b3dcb54d2", - "b19eafd7-7b69-4632-a492-993625d2e7d3", - "c370daa7-ad03-4beb-9928-f6bc0b1eb2f6", - "5ca1c842-5b21-4664-876c-e57e5c38ad61", - "1b0bf5df-5fee-4a95-83ce-1f5d8edcdc63", - "3370619c-1db3-4dec-b0ce-bd9226a0105c", - "4713375f-6f4a-4470-be90-6e7892d633ff", - "2ac25968-e1d0-47b2-916d-0306ae790b01", - "06c5f03b-41a5-4714-81f1-e915db3778ec", - "699a476a-7284-4a6e-9f3c-c62e4fb076a6", - "45040d9f-e84f-4a6c-ad2c-750d50a34b53", - "bd4b64be-391b-483f-9fc5-b5f17eac9a48", - "b9a5b73d-5901-4e52-87ba-26d47a78f24c", - "4e43967a-bd73-4d99-8339-cc5d72622916", - "40482eca-921a-4d5a-907d-876f3c8c6d40", - "4c8ec421-0ec0-4097-afa3-4a87263e7d87", - "04ef0085-f955-46ce-8876-28e06a1301f8", - "892ec3fd-5b6a-4079-92a5-9362ee64c650" - ], - "input_type": "biomaterial", - "outputs": [ - "042dce4a-003b-492b-9371-e1897f52d8d9", - "80036f72-7fde-46e9-821b-17dbbe0509bb" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "f5c4cc88-aa42-4c72-b38f-7a992050fa9c" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "7867dde2-6d0c-4455-8979-c60c19020afc" - } - ] - }, - { - "process": "fe8fc2d4-c287-4a29-b900-4608598c8fcf", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "36a391f6-d118-4fd7-be51-9196b0f3184f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c48cad38-5e06-4acf-b9ff-398867f25b0c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "73222bd2-3aae-46dd-98e9-209714396cc8" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "68f3a63f-3b53-4505-889b-172960e0a62d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "d52cc98d-5b2e-40b7-9dfd-c255de73602d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8f952be8-aefd-43e0-b2d2-b376768a31e3", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "462505d7-48e1-4d85-92e3-f768a93d4fca" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ac247d0c-ad85-4e2c-80f8-38814e7ba2d6", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "090682b0-dc11-43d0-b6f5-cf3dee18533a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d9802269-df7a-4a92-a070-054f9c8bb7aa", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e67853b9-dc53-4b5f-8693-8ad4e3a4d5d2" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c0b0f252-dc2c-4d2f-ae71-3674193b5d0c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "69dbf7cd-c728-41d3-9851-916dc64e07c2" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "3341b360-e321-4caa-bb00-89d9d7a07f6b", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "1a6292df-a383-40c7-bc28-b8bf63e03967" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "89d923d9-e0d8-4b49-92bb-7514c2f6f170", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4aad31c4-06fc-4af6-804b-f10afa1cae1d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "b141386e-3a5e-43e0-ab89-4396af30e603", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "2a630ecd-440d-43c3-9c9a-2a8ec98a1784" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "36f797b8-8419-4a9e-b9cb-4f8c173ef3dc", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b60a1acf-24f7-46a7-b276-39c48f3460e9" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "246a5d54-3aa0-4711-ab0f-dacc2b9d6655", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "5db6e3cf-bb9a-430d-8e5a-1499088526fc" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2ab2198a-3f1f-4f1d-94b2-e78f164506d6", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "6ff20c11-cb2e-4ace-9b3a-48094ce7a231" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "147c6f32-fc1d-4397-a178-fd04e2076985", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "58e26f53-908e-41fe-b9d2-72df1b7d7ea7" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "9a573ac3-81ea-464d-a0e5-2dde35ebdfca", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "f628676a-1619-4efe-a305-9133282235f3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "63cd0286-4ff3-4428-8302-d230f752afa1", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "fe7e5442-869f-45b4-962a-0a7ab0cb5880" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c3d33986-f546-440a-ad1a-582dbafa26af", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b4cb902f-dc5d-406c-99bc-4d73ccab777f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "6d982d50-dd79-4246-a0bb-283e97b0babd", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "19a38e6c-c863-41b2-abd3-f24016040027" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0a41147d-5535-4880-ad77-66fc44d4a920", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "850a7f8d-5dde-4152-8c30-c276ef23298e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f1254e71-6d52-40fe-abe9-5085fac34330", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "21087dcc-04ae-4238-933a-1c7b402554cd" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "3013c702-b90d-432e-8326-1144081b1047", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "3b9db8ae-39fa-4db2-b588-adb267f3183f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ee115a21-65c3-407b-98ae-80cb82999cc7", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ec9a213b-ce8b-4026-86d2-eff755253135" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "6b5c2392-32d7-4e7d-8451-17334e4d4e90", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "d9d8d0cb-6282-418a-8ad3-10c15668df6b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "32891309-b7ef-4630-bd32-7879b9fd5bd1", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "57790c0e-6acb-461e-aeb6-c36454c61dc3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f4e6761f-0707-43c5-92c3-a2f8801a921c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "65f3dfb0-432b-49c5-8994-9b0d6f65d1e8" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "dbce424f-f96f-45f0-9fde-5241558f2120", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4c94cd55-8762-41b5-87bc-7f3d8fdc33f3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "5ed0c634-e904-4ae0-a69e-cb00870ee438", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "9391d982-8442-4164-a79d-e2d3db0063fc" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "60274cc8-e3d5-46ba-9b8e-49a97b6f3de5", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "f8369f37-a63d-479d-8ddd-3322a00677d8" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "dcbd2407-bc33-4217-b4bb-67dc05b9a686", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e344d025-ee6c-4964-9bc0-8efcc51753c2" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "3217bf5a-b997-4426-9ceb-7e76fd96f23c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e5fb4bb6-838e-4c60-a3fd-6ecc94714f24" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "b09a6612-370a-4234-89d1-a2a1c3dc16af", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ade40a53-09ea-480d-9762-38c28568062d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "12ce8719-3829-483c-b61d-f0fa942fd9d6", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "a0ee4cc1-0123-4bac-9226-37a6cbe590dc" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "20b21652-294d-47c6-b605-b40379032801", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "63e7c402-0064-4077-a24b-6146f8e0b5c9" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "7a21f753-6b40-43a6-b890-621fca012cfc", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "30b2ca9b-bc69-422e-88e6-aab7cf2bd709" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "55215393-5814-4fe3-ae0e-ce15d085fb18", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "f323ef31-62ac-4edb-a423-cf4ec94d2f8b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "5d6e33d0-3d99-4ef4-899b-3ad4ea3567a4", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "a97c011b-9709-494b-8787-b09282ee83ad" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "49c2d528-3875-4def-b009-79c7e33846f4", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "65e1cf44-e740-4ec9-a800-45f27622007e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ce827d49-d8df-4285-8f4f-c7d4b9cb18c7", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "76c21f33-cf6e-43f3-b727-c408ad1fc1bf" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "eeb5cfb9-717f-42e2-b752-ab164d4cb391", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "773cc07f-c5ab-4db7-b313-feeab737f18a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0d837005-f544-46b4-9eed-8415bda886e7", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b7b29f4a-cc95-4be6-b0b1-e7b2acbc3742" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "7b0e997f-a18f-4f19-9746-0837d3fdde1e", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "d1e9e5f0-32c1-4a03-bb5b-baa3279a7cde" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "05413c8c-b3ad-485b-84a5-62532120bba0", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "6f4a1381-294b-4c57-89d9-9d4bfbc9f371" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "4595374e-910f-4aef-a667-626ec254bb2f", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ccf56b9d-2e63-4eab-b8c5-39a41e87073d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f8ce10df-4f81-440e-92bf-57752268c0d1", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c6883b2f-e67f-4806-87ec-fdfbedce1c58" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "53d9c267-4b99-4752-88b6-5e81593aec8f", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "28864088-bf33-4bb0-a7bb-e5a4da5fb748" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "988dcce4-3eab-4810-bbcb-a3ae3b34c7cb", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "0ad08c02-259d-43c5-98e3-a2217eecbd20" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0709d3ae-ffa6-4271-a8ed-36eb7a28103d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "5f941ee4-0d8e-4c5d-8479-3a88b97e5a98" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "32832d83-abec-4e9e-a58b-b14acc1ccfa8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b70fecce-c652-4bc1-b225-1694470023f3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "561d741a-7840-42ee-a784-0c4ee585d76e", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ccbbfc2a-700e-483c-b9c0-27cfc0630c02" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d3a5f49b-7bf4-4691-9b35-76308b9b5a18", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "3917d3cc-4c27-4626-90bf-ab5d018cc55c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f81931a9-3746-4474-bb63-4139aca1531b", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4bde7812-555e-4dca-a4f5-35d6457d157f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "03d6edad-5b5c-407e-bf94-66f68ea9c950", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "d24521a3-c8f3-4d8e-b682-c957c3f59807" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "45647374-a372-4670-91e4-4be91a09e310", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "0d743241-997e-4c51-803a-2c39eff12d4e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "7bee5e6f-266d-43bc-8b4c-43aa48d2847a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b1775d29-c0df-4df9-99ac-38726ddcce49" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8591002d-74b2-44f3-b964-f6f7fcfff84a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "d23df5d9-a5b7-483a-a6e5-63169ebd5b64" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8c255de9-a155-4c97-80b2-4ba2350cfb5a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4e9df9c2-d70b-4116-a30c-f85800aa59df" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ed0a7ad8-f66b-4f61-8210-3f2786a2f7dd", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "1d15b2f8-e9c9-4ed6-b636-5d3aeff5479a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "22c5df75-f10b-40c6-aba3-f7468da28e3d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4673653e-ce26-4803-b829-b379f8e5557d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "b4bff3a8-ca28-4ec4-a8e7-d2835aab1987", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "cfc6d7db-6691-48b6-8d6b-60a4440778b5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "7c1e17c5-979b-485b-b0f9-067141f73f50", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "1a6355b5-516f-4327-b13c-94c2dceff4c1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "afa03a51-faaf-4020-a486-13464c6a7154", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "90570f32-fa18-42c9-8ec3-d524e19e491a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "71d78948-b4c6-49a8-9f6b-280129af1af3", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "6d9e85f2-0b13-43d0-8ba4-86ecd087a590" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "023c0a15-5a1f-4d70-b6b2-d6094725f380", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "fc60766c-7c21-485a-8b3f-7c38662fc627" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "95dc7705-7905-40c4-ae21-f417d99c1f57", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "3eac9541-a06e-4082-b950-b68dfd514a4f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8c16d3eb-3a35-4510-8d8d-5097fdf4f277", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "53cdb39f-7010-4357-932f-422f94eca0e0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "b735fe09-b90d-4b19-8215-ae381c9b6c7c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ff8b81fe-2e09-45c8-b7d3-9146172176ed" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ed803458-c753-4aa3-85f4-9460aa6bdd01", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "2a5fd797-268f-4f87-963a-4c09833abf19" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "3144dcfb-b371-42d6-849b-7f8c2bd663ec", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "bced27ff-af66-46b4-bc3c-06cbf57815bc" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "61c7f8b3-9620-4d17-b4cd-dc1419b43f0a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "5820978b-f2d8-4913-8f4e-d9e4cd71b1aa" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "14edc0e1-d158-4a70-80c3-e2f5be01b495", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "30cdff42-2242-4e76-a9c9-882d6632a397" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2708c5a5-e4f1-4381-b2d9-615b71852065", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "96c8635f-9dd5-4db7-b336-c4cba4fbfbd5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d282bbf1-fa9e-4565-8424-fd280b38c192", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "8d03865e-a908-4ca6-aba0-609a842baaea" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d8bc6a75-ef33-42f0-ba3f-929c86aa4c4a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ac3a1a43-ba50-4734-abdf-466bf995760e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "87724346-0767-4373-95db-1d152c5ff4d2", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "7dd7d962-a1ac-4275-bc69-b33ef9f97ee0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e6dbed50-e897-4c58-8684-d358961979f0", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "46668358-58ea-4f40-9e51-8f7669bb6f48" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0c26fb4d-de2b-499b-b873-1a7c1bb20dad", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4002a86d-c13f-4b44-8796-2acba8dcdf80" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e1ae2f9c-e4f8-4ed5-be4a-53ac612179ac", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "3082b185-c821-4b3f-85d9-d7c1f02927ff" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "309cb748-f4b3-46ff-a8ef-23a0c3a42a99", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "0046b2a3-061c-48fc-a0af-0c874d725359" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2a7833a8-1c57-4f5c-82a7-b11dd86b8637", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "9d4d1acf-aca9-476a-a98b-e5897aafd67b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "50b6918d-6f63-46e6-ab21-439a3c79d649", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "35cc7aee-2b8b-4609-a8ba-1250ec556a53" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "28e3da84-8768-4a26-980e-884418060211", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e00b0e46-3d90-4e62-a87c-ca288e46a961" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "24ef50a0-f81b-4e0a-aa08-886d9c8a8690", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "bedec879-58d2-4da7-a5dc-0b5807d44acf" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "55f55615-93b1-4d56-b4db-6851ae8c2ccf", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "d30ce499-fe12-4327-a563-03023e5930b3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "cd0e9fbd-cad9-4a26-bc71-808f5c1c1c37", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "66812575-aa56-44a0-aefa-b746b99fd96e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c90ca611-d560-4755-881a-eb58bc3014c2", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "342839aa-c58e-4f93-bfd9-7b65bc8b85dd" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "904a4d45-f245-4971-8867-357e98b546dd", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "71b018de-35a9-4aca-8b08-4a84d2b1a47d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0a4e7fd4-2b9f-4ab0-b562-c05d4ec070a0", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "13c900ac-7e8f-4c68-a84f-d56b247451ea" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d37083aa-44e7-40b4-962b-b75b60bd1c1a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "473c03c6-fada-4d2a-96b9-f7ca29044536" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ceffe756-2f76-4eb3-ac71-81b671417921", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "f5cac140-58b2-4523-bdb7-9d66f85642d3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d1776e61-bc3c-44a7-9822-1f2283b2522d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b44e6954-97e3-49df-90b7-614c8cd77c0f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2f8f6f9d-8776-412b-8b90-39200659ea2f", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "78fa6df1-442b-46c0-918e-b250eaa3e0dc" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d9c0b712-8e43-498d-9351-28082637992f", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "a5f927d5-05f4-4478-8e52-09a40c0ca82a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "3b45ee92-c5ba-49dd-b936-3d0c3262e820", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "23bfcc7e-f7b1-418f-a8d1-2d85691d1d3f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8eae0593-bd62-413b-8112-925c77d52aa5", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "38a4b411-5100-4122-afc3-a752f189a439" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e68c4790-33ba-4043-bf6a-d1f8cc43d6b2", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "0ff5ce81-4cf0-4e1c-bacc-fdf0ac9ecbe1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e31b881a-1c5b-4388-9ad8-5defb087424d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c91215e8-bff3-4ddc-bf97-c693a8041bb8" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "40ec7b86-ebc6-4bd7-aba1-7bbe3c47237d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b04e4c07-3552-4a18-8fb5-a8b854fa859a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "9fe258c1-bda5-49f2-a9f0-27bf1c60d8e8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "92727211-1035-475d-99a3-33972c5eb436" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c0a5b08e-171f-44bc-988c-6d97b34cf9e0", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "1749997d-d4d4-4844-bc5e-d4eee2c42e69" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "895beb4e-b3cc-4b29-8af1-3a1fd371df33", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "2a1d8e72-5133-4fef-b7a7-3271b977170f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "5f9cb191-61a4-4134-8365-43cc7933be9a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c69ecbd5-4d59-4e55-a59d-f4d10640f131" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ac52cf25-e009-4f3c-ab17-29bd7ed0c723", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "f670004f-0fa3-4518-9d89-858aa2d002dc" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f6f157ba-df4a-4b6f-b832-f9eca9e4962e", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ccfe1a77-90c7-4ad3-8977-f3ed420fb33d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "960d97c5-b30c-4f22-be2e-f85a46215058", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "f29dba0e-4834-4170-be5d-50213c4a3977" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "78f6dc92-6e5b-439d-a690-73453f6b61a7", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "9a329bec-4c29-4eba-8c0c-f5b28e525eca" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "77f79f0b-938c-4107-973e-0c8629f53f97", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e38297df-9eb0-43f4-af5a-d4dc6cbc1b8d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "4dc653e3-bddb-404e-b046-93f25457b485", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b28c4a10-fb53-46ee-a2fb-c1ea96f93749" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "675d4a06-7996-4396-9aab-4ec6f8dc3ffb", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "7a1d98cd-3955-424f-a882-4fd7bda39914" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a236f1a7-b981-4ad5-97f9-a1fc344965d1", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "97030a10-817d-419b-8f0d-5925d8a7eeb2" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "60b6d678-b0e6-4bae-8a3a-f216f0b9bee5", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "fb11d84d-9493-4c57-aac3-3a7937e58ad5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f955da94-772e-428e-a8cc-79ad19547dd1", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "353c2625-7d6f-48ac-ab55-8327cbe22179" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "cab574d5-e916-447f-af40-8f88bb530318", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "a3b96919-7ac5-4f59-9d3e-f7b4c452ceb1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "173d6eae-8a36-4421-8292-5d8a54abe3f8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ab442056-f765-4c28-977b-994fc76d0856" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "003acbd3-50b9-407e-bd45-83a3e34822f5", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e50c579d-0dfe-4c73-96a1-df76dc01d2a3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "468751a8-396c-4529-b491-e007f427bafa", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "7d6cdbfd-6fc5-4feb-8287-259c9a1322b2" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "09ee7b7c-47d4-4ba7-aa3d-e657f210005e", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "a086630e-a35c-439b-aa38-f681038f5be7" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e8d0d039-d594-404f-9168-8d05787bd540", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "f9ea5480-95ac-4e91-9c58-f73f2ad246d3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "84896b33-e428-4620-9d25-edd5da9dd23e", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "260382a0-004b-42b7-aad9-2f512455a650" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ceb6ef07-0ccc-4fc0-9fe4-efe09e4fe8f8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "7506eb7b-863c-49ad-8b54-b9c46f95f463" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ebfd6937-49ec-4573-955d-92a39d6a0488", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ff83a3a4-175c-45b1-83a9-263054bc403d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d6cd0f2e-4b5a-4574-8285-a41ad6bfbff1", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "5ce04010-0a94-44a0-9de2-6a768db775de" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "29e91ec5-0203-4cff-ab8c-de85845b59bd", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c405d2b6-c998-4c04-984d-9e07b0606602" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "fdcfbb5d-dcb8-4a85-967d-55b93459bf8d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e9d18b01-edd7-43a0-9d5e-922b6935c623" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "14d35dae-8a80-4d01-b72d-437616c33668", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "eaa3fdb1-a8b3-40b3-814c-2bad70e165b5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "839f6c93-cbed-4a31-a896-f69dfc00ec66", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "977bd67b-beec-4f46-b466-8b41d0407883" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "00d28e19-3708-4a45-b658-0483f3f345e8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "512c61a9-d425-4c99-b386-a42648a6eab6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2177bd90-1778-4012-b658-b5eac6fc31b8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "a31d4351-1a70-4606-a141-3d1f5b1edf3f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "59698450-da74-4160-9089-2f6687562bc5", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "479084d6-a6dc-4c25-88cc-901e9a0cbb77" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "4dda8259-2e84-4ac3-a9b9-53cd56933415", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "23357462-2a8f-46b2-bcc4-bb70bdb111d3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "574bcc1a-aa15-47e8-85c2-0fcbb68261ab", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "34012657-85b6-452f-8722-fd67f91faef3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0c6a1c50-e6f3-4fb4-8671-e9312670335d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "63d08fb8-6fb3-43cc-92af-b817dd67329b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "83726606-87ea-40dc-8a16-f40e6774cef5", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4c525eb9-61e9-4851-b075-1ff3b7607af0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0167a28c-32f6-4b9d-8c88-642cc26e8916", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "83ded0ae-0826-450d-9b4a-06e3a49f9fa8" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ecf6f18a-7eab-4feb-8022-63129cd82b30", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "af0c8790-9eac-45c0-9582-d5acbd57a636" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "eba1c33c-2a11-41fa-b3cd-d345f5b7030b", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e741cf6b-f293-478f-8c93-93fa40a99e81" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "4b6bf410-4a3a-4c30-b28d-584e0faa3b33", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "8971ab0e-d20c-4a9e-82b8-2d5e8b063abe" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "bbb99052-1caa-4827-8237-a689c9a5c671", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "7f0fcea0-eb45-4aa7-83da-87f3776e37c3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "6bc46de8-0850-4df8-913b-81ce3a512992", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "bbbdf930-7bb2-4b0d-b345-cf1d788666c7" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e1711ee4-dbfb-480c-9ead-cc1cc49cfe00", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ea4a27f8-279c-46c2-9b88-f66c1fd91780" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "cad5cb7a-3aca-41d0-8b96-acbb3103a23a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b6ecf45c-4e8d-4a89-ae9b-98ee023dd878" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c056aedb-be1a-43b5-bde5-691b276a8251", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ca622a16-bd7b-4956-b054-3b957cc3ab14" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8eb253a2-76b9-4e1d-a446-021ff683984d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "faaaec08-7e4b-4b72-98d7-9948f707d9a7" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "cb85a088-9924-4765-953e-670576d80c88", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "81737f70-9097-4870-85ee-04cfd56a11f9" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "9f44febf-5f1d-4e3a-9588-63c43c01e554", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4489f530-1179-47e6-a5a3-93a165b78b4f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "9a0dd61e-9961-429e-9771-58f3f7f711ab", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "118738b2-b964-4ce9-92c2-99233a9bf1f6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c8c8e860-9a7d-49a7-8502-528b63da2518", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "a13895d3-7878-43c9-b4fc-a28ec263c2ca" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "b6cf8d61-a706-4bbd-9bab-be8d46817fc0", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "9b45270b-3a2c-490a-aadf-6f492428a30a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ce7d1edf-6c07-4453-9146-0974a788579f", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "792cb5eb-6af3-48cb-b8f4-2ebae86d874f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f044e1e6-385d-49be-af93-f5ecae454904", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "d7be23ac-e7ed-48a1-b2ec-23239e1d2582" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "77da32f2-9e40-4466-a305-d83c228133f5", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "dcb5f54a-4a75-47e3-b89f-8d7ba0931bf7" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d3e99b39-343f-4b79-b82f-bdc15c2ac134", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "49485ecc-2462-4e9b-85c5-2c928f959865" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f18a67d6-1af6-40e9-b2dd-bdb6ff507411", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4e512abf-defe-4d12-acd2-e10c0c6e3773" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "9db2b842-085d-4911-bd15-c23da70e0ef9", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "3d739e69-414d-4c6e-9332-d33645e5b2a1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "98bba296-21f3-47c8-b29c-e1b4f2918b09", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b2c053b2-fd84-43fc-bd47-d0cd401dea50" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "96bcce65-2618-4401-8701-0e59b17ef0cf", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b9ce2b0c-b4d0-4ef3-afb9-53baf73afdb3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8fd5f176-05cc-4607-ba85-95f2f5ed46f4", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "673e9c5d-f467-4176-8e3d-165dec07cb35" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "77c45736-10f4-4b9f-bf5f-0244619af9bd", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "7f814cfb-24e1-4b1a-a764-90b3ad762f76" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "5ef19708-cb21-4b66-a95a-e663d3005a2a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c3789bf3-8c00-4074-966e-0769f301ce56" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "213ad5b1-4174-4047-9a0f-f9cf86cc0704", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4904d265-343c-4511-8c1e-9f6127bb1240" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8e42ae20-29e7-454b-b92d-9c154c04f299", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "2e34c3fd-7d0d-43b4-8d95-01b7ea4145c2" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e50c6eb4-a23c-43b4-8c9f-f87c3ebb47ee", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "45bb9541-0bc1-48bb-99d4-8bb33c8c66ed" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "de0401d6-bc99-440d-9ac4-fed02f3e5363", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "d2842cf5-c81f-4f3c-9fc8-60dcaf45c096" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ca0d2f23-5eb4-4141-bfec-a32c25ff78e6", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "5f968cb2-026f-49fe-abb5-ad7bbda8571f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0e15017e-425d-480d-b6dd-0759bfb06262", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "97a5ef2f-46ff-4e2a-a88b-f4ae815c2338" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f5096a3b-6f06-4986-b711-a02a0cce57ac", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "9228c6b7-e42c-40b1-bf24-c3c78b60916f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "6d51da9f-fc01-4ee0-9384-bbfdbe177ba4", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "09cddb76-929b-4b6f-9f7f-8497df2a2e7b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "93bee3ec-daee-4975-b2d1-f3e6a157eb1b", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "418053f9-a3af-439b-8da4-9a87da9332fb" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "5ae652cf-27d9-4b34-a22f-b8b52742c638", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "cb590483-a17c-466c-8362-69d51f724740" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d322b92d-af37-4d41-918e-87b2994ff286", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "96b46301-bcc0-42d5-95ff-c6aece337b2e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "58056a70-5e38-4533-add9-60efdcaf2687", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "df4bc869-57db-4417-a6c4-2cddc0ad9b6c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a6e899a7-f41c-4711-904c-bca4127e1832", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "955a16c5-08a7-46e1-9605-6f20006011e5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f58bf8ad-2519-42f4-a0f6-84c3548b1712", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c463e2eb-0fa8-4f21-86f1-c5b9e76fd7cd" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "b8834860-9eba-4f5b-8e98-2fc889ce9831", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c1b1a57f-5787-47d3-9c92-270e55aeaeae" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "575bbef8-937f-4272-8d28-e2a97d77a960", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e59d038d-1035-4782-897b-95c2a3fb8ea6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f1d2b1e0-dd0b-4289-a160-4d6d8809b089", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ecb35227-6347-46e6-8330-da248b28ef1c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "7ae60323-30e2-4d71-8fa1-5847b7f30efc", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "9346bd7d-945b-4a53-9a1b-2da8795edb97" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ec99f437-ffbd-4a59-a1e7-d7e352a858e4", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "008b705b-7453-48fb-bb43-bfafb83aaecb" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "9df92cef-0d77-4ac1-9f81-61e52c2c2207", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "2e313cd2-7082-444a-8dd3-485a6b47ca56" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "3ebe3c1e-a991-401b-b532-10b4ab1ba852", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "aefdb247-002d-45c4-9100-137709c20aa3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "aa5cc11e-7dc5-496b-af11-83ea79207b00", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "9c2c2878-b50b-4fed-87c4-fee0424f8409" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f467bcab-8bcb-41c5-b940-6fbe1635503c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ab0804bc-91e9-4d6e-ba70-ff05cd9a238f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a0c7fdd5-9e5c-4c0a-a40b-0bd1769273e3", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "287984c5-d5f0-4b35-bce8-ccdea8cac79f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ffd59e51-62c1-49c8-b71b-b7b4e8fc3fe0", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b72f1527-7d06-4fcf-8d8f-3a0e688441d0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "792404f3-94d1-443e-895e-e73bda57fcf6", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "8ff1b66b-4c05-4df8-b245-5a0e1eace8b6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "41f3d081-c53a-4ea7-86ee-e510af1a8798", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "6b0839e9-1066-4a33-9e6d-1d808bbe0bcf" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "42a09592-e041-4a8c-8452-904a842fa30d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "9a0b8dfb-fcb6-4986-8045-27f14d977e4c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c22db48f-b823-48d4-8e3a-f01e70a2921c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "8feaa5f8-3e34-40f4-9c6a-b07a035cb312" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f45dc3b0-d69a-463d-9da9-884784a48c1a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "d37eb2d9-9d44-4dd5-bbbd-ecd78aa1d5d9" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d296f555-8a55-4bc3-ab1a-adc1295833ee", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "7d3360f2-70fe-404f-88ef-5aee14fef59d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "195a66c3-d4ae-4257-9f41-8bef27b514e0", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "0d2939dd-07cf-4f2a-9a94-7952ca8f5b37" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a0285e87-8189-4aa3-b723-a32102d46b7e", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e7201c2d-23a1-4601-ad71-9e7c1a9ba624" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "3d8c3dd9-c392-467a-83a2-024a0604aeaa", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "69904f6c-bd79-4416-aec9-01ca3ce9cf30" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ff8dce18-6df5-4b67-a37b-87ffedbbfebb", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "889c1653-f645-4fdb-bf2a-d3df1666db8f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e2c6e99e-3ca5-4f85-a972-4aa9dd858e74", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "44702201-4017-40b5-99b3-294cb18f6485" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "149d1d36-a61b-4fd1-8fbf-610f67187b7f", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "dfa7b19e-f557-4f3d-bb65-4afe77b9a571" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "1439c596-2a18-44d0-818c-e9fbc6f4e56c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "5be090a1-17fe-4fec-9608-a9e76b2a067e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "30260b65-477c-4298-b982-100bb5cad548", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "fc031919-8ec5-4935-83ef-73560bbffa12" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "52c434b1-c474-4ac7-8a02-7d17a4291221", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e516c62c-9248-4b02-ae5d-ce6d93515431" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "bb27ba8f-3d6d-479e-a9b7-5618c893fee4", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "f8abdc47-8e73-4988-909b-bb2bdb1ac015" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c7e0d3b9-c8e4-434a-ba46-5beb2a46f68a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ee754370-9a1a-4ef0-a7c4-38d77c5b7fd1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a5188edf-48cb-4b36-8166-1b753d4a2cdb", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "d66a864d-075b-4ffc-b315-6819d306107f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "27e557d5-1880-4b35-a0bb-3e04b5f6f929", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e68e7817-6bb8-4463-99b4-996256ba2059" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "21cc1175-ff0d-410b-bd95-e7fc9e9b8bea", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "27cc755e-524e-481a-8482-5f15e5dd07f4" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "233a0067-5271-4443-a479-b5a4adf56fcf", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "54e37fd6-41a4-4cec-9dd9-e722a155a09a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "4fb4b48b-f2aa-48fc-b6fc-52ba4dc39895", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "d828fd3e-18c2-43f8-9fec-b6f2a038fc20" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "66e8a4b9-72c1-4af3-be1e-716cd0d4dd4f", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b118bd6f-e3c7-4e24-a86b-bf7eeb20304e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "4e5e9b0a-c8b5-4882-bbed-1cd2c57df460", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "96653737-43db-4320-bb50-2f9613d62051" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "304bcb2c-2803-4f06-949a-5ac3aa53db77", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "7e8f718c-5d14-417c-bc6e-8471413a198f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f8d80897-38f0-4888-aec7-52e72cb9b908", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "973529d6-eb7f-492e-af31-e3cc85a32663" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "7073457e-3e6d-496e-85c9-4714f9f315c4", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "69bbeb43-a654-4a63-9744-5ff4fe1159ae" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "b422c34b-897a-4ab1-9982-b9a6bc8f8034", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "00a7c1da-8a02-430e-bb98-e97ffcde034b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e22b254c-1ee4-4acf-a41b-1f4bbc03bfcd", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "766f48ea-10ee-488d-bb12-511ae63e8c8b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "796a7270-3778-4b9d-aa20-975b1859fecc", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "2fc1d678-e328-43bf-8141-237e34348dc0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0d366744-a208-416d-a3ad-2aab66e08a21", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "82a2385e-4796-455e-a37f-9ccdf64edc60" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "fd16e7c8-8244-4c00-bc4a-b7b43a399838", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "897bcdee-8298-413c-90aa-30a8bd7257dd" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c40624c5-d5ce-4085-a4d9-59762cca79a5", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ddb07363-366a-4bcf-ad11-f84bfe22dc49" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f8b1fae8-8004-4614-80db-deb91c1560aa", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "0e1f39d3-c9a0-42b2-9d79-343e1c4d65fa" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "18b3dc33-0483-4cd7-a39b-3d902502dc94", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "dc4d9d54-fa0b-48ca-8bd1-c073f2707901" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "95390145-a217-437a-9490-ca97fc502f2c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "864b9bf6-abae-4f33-a132-cbd0531953de" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "7fc2654e-bf55-4c27-a7ea-e16fb1995a63", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "3ccb5f99-c5ea-4c46-8c73-ee682fbd9e7e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c2d2b9e6-ce28-44df-b450-ecf1c9747f29", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ca007aea-f452-4925-aba6-3fc250cfc5ab" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "6c89dda0-a08e-4d88-af0a-7f9eea539485", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ed2f6d88-de43-4199-9b1b-5dd4a51ca8b6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "fa21bf64-3c99-4e67-9829-e9c043d3dcdb", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "33de2519-03b7-4556-abf0-3e87df485928" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "beedd161-19be-4a17-8fff-547391336354", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c3b3d34b-2c45-48fb-9f7b-af3c700a9470" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a7a6fb70-3ccf-40cb-b460-040ffbd87720", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "8bd1a6ca-79d1-4af8-98c5-a87cc00bdd93" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "682cb6da-f9b6-4451-84ee-0c9a8f3d8c92", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "19f0efe4-effb-4110-9dae-5c69326fde4a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a955a0a5-68ec-403b-a838-1b7707a5fb0d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "67575d18-ec23-4c84-adb7-21c72a9fb8da" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "736386d6-31eb-4685-ab60-7876cdf26290", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "043813e3-e773-4237-819c-dc3517014aa9" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "21877ac1-2a36-46ce-bd13-bc6a09162a0c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "63df2596-d6e0-4021-abee-c112d79654d3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "1de5effa-95b1-4923-ad12-0118e860e518", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "0c840278-1998-4d08-a5c8-76b8708130a8" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "b34004d6-0208-44de-9947-d1e1700f35df", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4940131a-be8e-4ba5-9c91-ef9dbdc81763" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "4dfff2ae-7ef7-4dc2-81db-c3849c1dec53", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "bad4f40f-8023-4c53-9b98-e9833e5dab9c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2a5d7bbc-0443-4173-961d-d6474d3d9c5f", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "052161ca-c389-4b9e-a6ae-6f2e37739988" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c54974ef-353b-476f-9b5a-6e505a00bd54", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "450be104-d782-4f9a-a438-578c951c2686" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f2168b88-c76c-410a-9a31-1215dc4a18a2", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "755fca8f-3c4a-4b9f-9ae5-1a8aef3bd27e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ac9a35c8-03be-4688-8460-de54dfd57bce", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "614cb73f-7ed9-4ded-93a8-d7979f124550" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "bbd0852d-4e21-4479-9c5c-b100d3f0a487", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "20ad6581-b62c-4d01-8db9-48c0d09fa674" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "50d701f2-9647-4151-87a4-0802e5ec4540", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "84a7252c-70ad-4620-96ce-13086c5edc72" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "16325782-befc-4e00-b044-5654f5579e9e", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "2546ba98-ebc5-4bc5-87c9-f63e74e736dd" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8c7d4ea5-65ab-44c6-9ec5-8e641cd58669", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "deaec450-2035-4bf3-8ead-7e43ef73d6b9" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0a38c343-d827-41d7-bf5b-506a7e3f6f5a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c3e4dff7-fcba-439c-bfcf-cfb28c16cc6b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d8ec6180-4083-4724-8c79-775e4e7e9bb9", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "11ef6598-47b0-47b3-ab82-6522e920be48" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c87fe066-85b9-48aa-96f8-3b8145bcecf8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "7dd4926c-61cf-4641-948b-447167f4bb49" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "31f0a526-e0b1-4f68-ad82-90a01ceedf4a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b1b36ac8-45ee-4ab1-ae44-4a3f227502c6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d1d8fe7-ef40-4b9b-9bbd-26f97608111d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "7b25976d-4b25-4632-84f0-46a492d7a2f8" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "5b74f5d0-cec1-4fa3-af84-f6b34c8b7e7b", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "070419ba-e292-4212-985e-59e6ca23c14a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "bd70b6d9-4700-4250-a499-b68e34ecf31f", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "2d490b08-225c-47cc-aaa9-c8eaba61352f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c76d470f-639b-4d51-86c7-c89b5ed7277c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4f42bb6d-1210-4b9a-834b-28aa78324651" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "4e114632-cb47-4089-aaea-dfa20c9f1e62", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "d42a3030-e44c-47c1-8f15-a4987f2c7452" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "7fba9655-f7b2-4ef8-b560-1947ee9a6645", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b711a580-97d6-4a6b-b28c-c956d163fda4" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e7c9c9d6-7f73-4b00-9548-566d1bb397ba", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e3b6af9e-1081-4b0d-aab2-6f2d73dac468" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d4470749-2f0f-4e73-9e83-cbbae5fd089a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "47fdca59-b1e6-4d0d-8a1a-fc8f16993684" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f1b28cee-5d0b-4349-8775-329d82796cc4", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "51c8e3c8-042f-4253-aa48-3452ceaa9b90" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a06dad17-1c94-40e9-9717-aca41c0324e9", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b62dfb1c-5aeb-4ad0-b350-efd09cf85dfd" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "5b3cf865-5ce4-48e9-a77c-4222bc888377", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "1b96601e-0cf5-4c57-9c51-aa2f0a86d916" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a7fdc506-0c9d-47ea-89a2-70a07dcf3aa9", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "06744801-ce2b-4a8e-81ec-1ff4526d91df" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "43d38341-939c-453f-ba87-fee930f62f59", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "8e082241-69be-449c-b561-cd2b8f268723" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "6c825f1b-3096-4bdd-baef-1c4249fe6dc0", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b4e76029-f708-48f4-b9e7-d6d4591476f5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8c6d329f-fec4-42f1-b7c8-ce9d6b9d25a9", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "bc1a872c-0e2b-4065-bf85-4edafe3158aa" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "13dee021-9df0-428f-a263-74ab5707ad08", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "a17ec89f-ee4e-4f2e-a8bc-e6939b780268" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "24c09eda-1e42-4c9a-92ea-ff36ea5f3686", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "a1bc22a0-e024-4ef4-900b-51e032291a39" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e97f33e2-9ba2-4721-9a5c-232f823dcd74", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "45cbcff3-db91-4c4d-b233-ff480cbaa95e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2b26d415-37ae-4af4-98f9-048de79c8b10", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "0eedc57e-b68b-46ca-8d54-0303f36b588c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "6a9dbf21-01d5-46a6-b341-21b6abf2e436", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "8e85f524-7e64-4c60-900c-4267f2a3201e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "1e7daa14-26a8-4e44-959e-a74854f6719b", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b618dd5d-90a7-47b1-87a2-0a8fff0a5d05" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "43a0719f-8617-4733-a21a-fc458dc6b1fd", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "8e83c52a-52a6-46b7-8cdb-b249d8a134a2" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c9d19b56-1e85-4ed1-a3a7-fcc7d142d664", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "be726db6-7ac6-4114-a172-42b29c83644a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2bec6b9c-f33e-45fd-b822-d2b7071bbcad", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "03cf98ed-4baf-4f5d-976f-cd11a8dfefbe" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "4c02da43-cecd-4758-a3e5-c9a4db200090", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "51d68613-d693-4005-abfc-2c7eee72c34b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "63268ab0-d459-4c7a-b8ae-7ea18b7252b8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "68fdb7c9-958e-4225-ade0-dc288ae397b1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a6d9d3e7-02c6-4b9a-8caa-423345551e39", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c2c42288-737d-4a94-a4d5-f4ac232a87c7" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a3965e90-4f0c-4187-8bf6-69436a645d2a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "408e204d-aaa7-4b57-b2a9-5aa94a202b37" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "1c7fae99-1d99-4d61-890a-1af12d27e606", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "daaeb295-c869-4ce2-86d7-2b93a4caa3b6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8c05af39-d013-4aef-8930-5fcaf5b32ef7", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4d9516b9-a40c-4556-aaf8-2fda570aca17" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "24dda6cc-8ec3-45d0-ad30-3a7e1bfce9fd", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c8313483-c3cd-4c83-8b65-e7d517fcaca0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "03ad13a0-9c70-4b40-aa08-4a14fd5bff01", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c3604fd4-73f1-4dc3-b88c-ee4c7df94c08" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8b9beee8-fe3b-43de-a415-6d81fb9f6cfc", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "f5610c0a-0b93-4ea2-a098-37238f36cc03" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "882467fe-468d-4d99-8564-e858090ae82d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "42aabb76-48f8-4c72-b482-313ba07dc7a7" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "080b4882-edb6-4c7b-9085-0b30810a4f44", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "6a47520c-90ca-4cef-8535-e57cdea14d02" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8e1fda4e-37fd-4613-8b8d-87f322acea15", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "3b0424a9-c041-49e8-80a4-d7e4006b1ca0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "29aeda32-9ead-40e9-860b-db3427d9b46c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ebccdcd4-1f04-4365-92ac-bb82bdc961f6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "48f244ee-ec2f-49f6-8bb8-78cacb4328cc", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "94dde38b-f573-4443-a557-47bce9ce2dbd" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "3fc813f1-e7f6-4344-8661-5464ec7191f8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b6249791-2be6-4668-9600-f225aaca39a0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a44ca11b-028b-4a14-94b5-e957ff1f75ec", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "d36c22b5-69f5-4605-b334-4e39c10bda43" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8619a7fd-1109-474d-8b86-1c3556162495", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "aa86bbac-dd6c-4743-856e-e7549b7d7f07" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8636325a-4931-436a-90d1-ae4f0b0ce68f", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c785817f-c9ef-46fb-84e8-0d08b77e2b03" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "aa39ffbd-c171-46a5-85f5-bd3de557641c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b010a06d-3df1-4e6c-8d4d-70d1992022a7" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e299346b-d057-4bd0-8867-b97c1e7a5e8d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c3dfb298-082f-4c1d-97dc-84b7292c4c50" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "5bf0d140-ed66-499a-9db7-7d7448253a4c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c550b8f6-e3dc-427e-a999-666c7feefe92" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e8a6ea1f-1ead-46fc-9206-527357456912", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e3506c54-90d3-4ab1-9209-41e0b46c0fa5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a29b77e9-81ed-4dd3-90ba-5a419c5ae010", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "45f8303c-27ff-443f-a78e-38a55b260fe2" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "7495f692-eb48-402b-ba03-96accdad0612", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "134e54ca-cce6-434b-868b-ef0b0b07a558" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "68534749-0b3d-4617-b249-76ad49f5e476", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "1d36033f-e83b-48a4-a2ef-605d6be305f9" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0412f662-24ab-4c7c-8724-dbd5b422d3d8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ddd2ebac-c299-4d31-b133-852496bcc01a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "70abf86f-47e4-474d-8f6b-86e14f916c68", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4a6c2fc9-6ac6-49a1-abdc-746b43073d43" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "6dcfdafe-fd54-45a8-a95f-7d25a0210d91", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "826c493b-e549-4951-b554-f407a1cbd114" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "dde564f1-e523-484d-9ef4-907844d7cf91", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ac86c2c6-3dd3-401a-aae7-6dc5f732cbee" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "6319b240-966c-41ff-8393-e557f395d142", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "323bc866-e47a-45f9-be83-4152f1850b67" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ea24d368-3e80-499b-8609-97fc6cb23e94", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e911a111-cad9-4cb1-b64b-639ea244fd19" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "b6790bc3-95b9-4224-b74f-d4bcd6b8ad60", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "7508c8ad-c6c0-4767-9ff0-2f705b1a6469" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "fc3847b1-3c5d-430e-a92c-4ca6dda29a91", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "68a1d68a-a4b2-4a02-b9b4-eaa845325af9" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2aedfdeb-da7a-4cf8-aa22-2b30163fa3f7", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "401ba2a2-d651-4d06-9ee9-1569a9253417" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ed128bff-0481-4487-bd2b-cb4fd50c1f48", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "5bc3b7fe-ce90-437a-9695-fed4883c874e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ececacb4-2846-41e0-bf53-13d4e6c7877b", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "2219ba4f-a802-43d5-a5b1-f3516ec1e148" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "6b62c999-d2a4-4aba-9e02-c8ce365efb49", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "329e2de1-fff2-468e-bec3-7e180a61cff6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0c3c9245-10a6-44be-8253-17d1790944a8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b9f94889-f1d0-4771-8269-b85d2c5917f4" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "98fc4d11-bd06-4181-a8fb-902d7dc62f2c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "a5d7cba2-e659-45bd-a1ae-46085ec5c697" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "96c770f9-f510-4e8a-b0d4-5d29656b7620", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "04a0bd98-c6b8-46bf-bd5f-21d56d8e0456" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "5c20d48d-638e-4b8c-a775-041a389f8297", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "1fd40b0f-aca2-4455-b168-b15803319ab4" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "5c255096-4c6f-4345-85ce-45ad83ba9437", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "5f099f7f-8fc4-40b4-badd-49f2e726cdb6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0c01f523-5fe7-4161-a3cf-c3ec97eb7fa5", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "7efb3b8f-9479-4807-8466-ef6276b86f12" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c9b8b91f-5982-413b-8c72-7699d8d46315", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ce935434-17b6-4b13-bb92-7b68e754351a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "389509ca-8e52-4f3f-80b1-2af25a1ea6f9", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "3bc69d70-ef38-4b61-8741-3a188c18f702" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ba592e24-f04b-4c2a-871f-9691ab17bbe4", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "808c6467-5d7b-4c6c-b83a-e47b0362dcdc" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "b863a8a5-37b6-4d08-aaef-0926bdb1e4f3", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4fe13b1d-faf4-486e-983c-97b7d0470e9e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "6159a892-0012-4681-9e61-a04b026f7a66", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c3522608-ddc7-4d0b-aa16-6fa291324d99" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "55641c6b-161a-41f9-8461-d878b8652c2d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "516902a4-2792-497a-9fa9-9ff596ebcd0f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "126c5179-ac45-49ca-9eef-edde09fe11d5", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "180347ed-c17b-44be-af2d-567400400b0a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "5073c188-759a-4451-bc73-7e988c39e144", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "dc7e3296-ece0-40dc-a693-4c87c5ecec5d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8ec4ede7-0cbc-46a8-aece-351511836cbd", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "5bc13124-4b0e-4359-bd43-ec3d9cd53724" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0dba595a-88d2-4b52-b9b5-adc7e5ae5096", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "855a9372-8649-436f-9e85-ceb090225d9e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "730bc8a5-1b79-456d-9ce2-fe94d870ba43", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c85a1f15-0944-4e99-9175-aa2f2ad34c49" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0db4ab3a-2457-4193-b28f-6c67310029a8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ade7523d-cdff-4fd1-90e6-29c548ab345b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "4808d316-0bf4-433c-bef1-287c496ccb86", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "50f3094c-d10c-4f78-98c8-0175bf1bc7cd" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "9fa8cbf1-5a5b-43a7-b574-ee7d9110305c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "91f6d93a-81ea-44e3-907e-8b0a5ed69ea6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "30a130f7-0dfd-40fc-80ac-b4476535c7ad", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "9f041862-2f9f-45d4-a36c-dacba2738035" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "169f7b29-0329-417b-a4f0-bc4671c2b53f", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "8baca1dc-33fc-4cff-a23b-9b1a05186c13" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "6a7d1981-4a55-4047-87ee-01495a3e40b4", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "6622e56b-f509-40b6-a392-86e5d1107701" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2eeb01ff-73fa-473a-bc1a-381de837bd6a", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "7f54c74a-e2f4-4a6f-bf68-25979f5ec121" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "6d1bb835-e768-4952-989b-3f64fed66fdc", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "f7e574f2-8de0-45ef-93e7-8a1b6765d77d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "4e45b1ac-dee3-47af-8f03-096d33fa34e1", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "94de7a55-f03b-459b-9fea-190ec3fa714b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "802efb18-bf90-4338-966f-dff548c4fe17", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "5fa8e3de-b96a-42e8-b5d9-cbc0c6a5b6a1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "8a9276ef-cc40-4baa-817a-1288e044dd34", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "5d7fd1ca-6496-442c-a3e5-49aa586b7554" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "4774e520-9854-4969-a644-ae6ba96b1210", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e27cf02c-479f-4265-8d4b-287c25e3730d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "fb7ba37f-3e36-4454-ab75-0586bb705014", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b9cbf165-2e93-4eea-a834-43ae320309f5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c35d87a0-44f6-4716-8245-961b8636d704", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "9aefb156-2719-4672-ae90-68676230d5c0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "4939e9d5-589e-43cb-bb91-8a2b0261a3ac", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "10b3f94c-bcf3-41cd-9723-8a454299b000" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "64a2d65a-ffcf-4d68-9a83-3f8e1956d2d1", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "cc37c377-01c0-4e36-9293-f449a6b6212a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "9beec7b5-c7d5-4259-a2e2-ce91d87d8217", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c63350fa-d091-425f-a3c9-5f28efdb5aec" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "97a220c0-d1ad-48b8-9283-612b5bb12313", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "1a314769-f4f4-43e5-8b8d-5ff4273c8599" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0f857bdc-a1af-4bf6-8ecc-1caaa7002691", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e4bb23dd-5e45-4b12-9950-d5044a0d843a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "56ac8ec9-b959-44bb-9297-679ba30380bc", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "14b09236-5ed7-4026-9b9a-92ebe564a6d3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "9a8bf3ab-bee8-4139-a9b9-374f4618812d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "54e7998e-1878-423a-97ad-b905ca7423e3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d0c4150-8cb5-4e69-950f-8f222004cc34", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "6597f3ba-c522-47c9-934e-496129949ebf" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a31c0917-e5b9-40ba-ba9c-a4ee2e599cd8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b73ff2e8-b2fa-44ec-b940-aac5c74ef3d6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "599e3944-2745-4a86-96ea-9cd7ce357cc4", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "bc1304ee-8386-445d-9196-4c3e9a0fd014" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "bf3ac043-8c8e-4bbe-ad1f-0a5461e8060b", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "40c7b4a0-24c0-4734-9bca-acd5c822bf4c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "5aa9538b-c733-46d2-bc34-c5bf9e08dde6", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "e9649b21-0314-400c-8831-0df69dc0650a" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "1fdda0f0-fa6b-41e8-b813-366517414315", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "6223a9d9-c6e8-480f-9152-7e223c0f565d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "009ea6f7-b174-4dee-9953-a9feea75fff1", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "0dba20ce-618c-4a70-8f6f-a584df044cb0" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "d65f5dd6-7286-4779-b62f-59ede5aeed8c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "21e86b75-1ee0-497d-8028-70eb6cd0c2a2" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "3042c570-66ca-436f-97c0-d087acb73c6c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "bbb46cb9-7fbc-4092-a5ed-c076b3c12cb4" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "82f407d5-4fb2-46f8-b6e7-eb327f5436c7", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4bca0fcb-1877-4b02-9145-1a5d767dae3b" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "989deaa9-3aba-4c9e-8b76-bb12d9caf1a3", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "3c5a7203-cd7d-45a2-9780-9b083913a7a6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c6f0e3b6-3538-4195-81f4-1d8a33c28225", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "ccba96e6-46de-479a-bd04-f8e1ddec0981" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "0c990cbe-9cd6-4caf-87e4-a35eef3d1dd5", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "00d3efd9-d219-4bc1-a58a-dc96f3f8500f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "cbb656f6-656f-4083-bd7b-377503c17529", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "159777f7-04c9-45a4-9103-4c398ff33f63" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ccb4fae4-0463-4064-a0ef-f2ae16a188fe", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "8aacd0c6-ad7c-4214-afe7-a0c25a42428e" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ed57ca6a-96f9-48c2-9a49-9bce23633765", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "db3bf625-e9ed-47ee-95c1-c09099e4b344" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "369a45ec-0c6f-433a-ad7f-0d9e29f773a1", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "f10a82f4-bb14-464a-bf45-8a95f3446a38" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f7b1f4d4-509e-4327-8ff5-5a171ce810eb", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "8629bf28-c593-497b-be8f-2f010e9d3354" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "e79f7e4d-6d7b-4102-a52d-e2ccc0276f2d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "85097581-d65f-4f4a-8f66-ece83b3a8fd2" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "5b9437a5-cccd-44bb-a423-339a9f7d468b", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "07299af5-1e56-4035-9cf4-50b30e4a19c1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "98afb79e-3640-40b4-95dc-57b808289f2c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "cf2727a9-35b2-4b0d-bf46-7a3f1e7bc747" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "f19016a1-9db4-4f49-a5b3-b3c22664774e", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "484bd756-a413-409f-8b8a-c3b67304d99c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "3ce599d8-7dd7-42d7-80f9-7b376f1a7279", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b7f64620-cab2-436b-a177-4642925a8b86" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a1c57046-8970-4d24-b2cd-4086196df63c", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "de7e6de9-a1fd-4700-99f3-184b3dcb54d2" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "eb5e8442-b59a-46b9-b471-cadc3364836b", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b19eafd7-7b69-4632-a492-993625d2e7d3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "c56e4fa0-7e51-4a21-96ad-bef7ceaf59ba", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "c370daa7-ad03-4beb-9928-f6bc0b1eb2f6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "7f403eb9-6ee6-4d36-8b85-48e5311495b9", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "5ca1c842-5b21-4664-876c-e57e5c38ad61" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "64958b87-6e5c-4955-bfd2-a37ef0f42d85", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "1b0bf5df-5fee-4a95-83ce-1f5d8edcdc63" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "76ef89e2-88a8-4f9a-a458-d8c47dcb3b6d", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "3370619c-1db3-4dec-b0ce-bd9226a0105c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "1840570d-53ca-42b1-a663-98e2dabf9bb8", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4713375f-6f4a-4470-be90-6e7892d633ff" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "ad1d580a-b193-41b9-b748-fe20f7112360", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "2ac25968-e1d0-47b2-916d-0306ae790b01" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "90041e4b-cd79-46a1-b0ee-d33cf4e717d2", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "06c5f03b-41a5-4714-81f1-e915db3778ec" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "841d03f0-df72-4900-818e-a302e93e69ae", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "699a476a-7284-4a6e-9f3c-c62e4fb076a6" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "b284e4c5-495c-428d-895a-8a0f279e2222", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "45040d9f-e84f-4a6c-ad2c-750d50a34b53" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "b7ca5f26-d2ce-4c8b-83ee-68ceef7d0d55", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "bd4b64be-391b-483f-9fc5-b5f17eac9a48" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "cb70882f-5aae-4471-a561-c11469b8ea64", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "b9a5b73d-5901-4e52-87ba-26d47a78f24c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "9c0c0d02-ad7f-43d4-bf36-52deb0cb3c1f", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4e43967a-bd73-4d99-8339-cc5d72622916" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "a74926cf-9c9a-4faf-8a01-3915b5021c9f", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "40482eca-921a-4d5a-907d-876f3c8c6d40" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "70b726b0-8e2a-4040-9006-8357e300fbd4", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "4c8ec421-0ec0-4097-afa3-4a87263e7d87" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "02cea5bd-bb23-45d8-a1f0-9f46dd1974be", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "04ef0085-f955-46ce-8876-28e06a1301f8" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "3197c12d-693c-49c9-992b-9051a4794814", - "inputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "input_type": "biomaterial", - "outputs": [ - "892ec3fd-5b6a-4079-92a5-9362ee64c650" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - }, - { - "process": "2d38bafa-8d98-4f45-91cc-272c7682fa18", - "inputs": [ - "35479c97-1a62-4d90-b057-49c1a518e0c8" - ], - "input_type": "biomaterial", - "outputs": [ - "79682426-b813-4f69-8c9c-2764ffac5dc1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "9e9d6f8e-64e9-4d7a-94b2-3ae052dfaf6f" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "9b361ad6-2028-41a0-a601-c59585ba157a" - } - ] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/d5e01f9d-615f-4153-8a56-f2317d7d9ce8.dss.hca.json b/test/indexer/data/d5e01f9d-615f-4153-8a56-f2317d7d9ce8.dss.hca.json deleted file mode 100644 index d22eb6192f..0000000000 --- a/test/indexer/data/d5e01f9d-615f-4153-8a56-f2317d7d9ce8.dss.hca.json +++ /dev/null @@ -1,1645 +0,0 @@ -{ - "manifest": { - "analysis_file/84d27b0a-348e-4af2-82cb-c37973a9fe17": { - - "content-type": "text/plain; dcp-type=data", - "crc32c": "7171048d", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.duplicate_metrics.txt", - "s3_etag": "0b611168b9c71d4200c56cb357cc8d75", - "sha1": "f3ac0936e82fbd9a0ca867cb7b9bd570c1ca4764", - "sha256": "edc42e6770c0a775087a6a527a28bb7d7ca3898817f30f77619bb804580c5dc3", - "size": 3123, - "uuid": "8206df81-4e3a-4db9-b3b5-5aa4b6dfc3a4", - "version": "2018-09-06T18:57:41.428997Z" - }, - "analysis_file/36671cf7-ab85-409f-a28b-27c489e2ab51": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "02a4d655", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.alignment_summary_metrics.txt", - "s3_etag": "afa104522d76a08fafa0adc4e2640502", - "sha1": "12b3d90485d9ec5fd048ac1a368f54a09db042a0", - "sha256": "219a9bad81c63f47355e166e24f3462cede02a7740ebb0ba21b6e877b0237478", - "size": 2232, - "uuid": "460eba58-b2c3-472d-876b-d9834ec539a5", - "version": "2018-09-06T18:57:42.154511Z" - }, - "analysis_file/4ba5d8f9-2d1c-432d-9fa5-7e22eff732f1": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "618ae98a", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.bait_bias_detail_metrics.txt", - "s3_etag": "12113e78c3a4e0bda620860ff6da83cd", - "sha1": "f09df7cba450e1d9077e6fb23b4b436fd76b90b8", - "sha256": "dc4a58e8db670d786a08a51d012399a94dbbe1872c895aa56f1887832a0b4af6", - "size": 26490, - "uuid": "362696a2-ecd4-4cca-9150-e3201392108b", - "version": "2018-09-06T18:57:42.621655Z" - }, - "analysis_file/f71ca185-a4d4-42ec-b6f0-dbb140cb2f23": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "75c571b6", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.bait_bias_summary_metrics.txt", - "s3_etag": "39517037528941819e7c388f151e9abf", - "sha1": "56451f1ebc2551a08b1165eb6c2698d92b12117b", - "sha256": "d69ebfa4f7a848d38a5e2ef283cc8593f36d5a96ec30eaffb6e82c537ba192d5", - "size": 2708, - "uuid": "d998bfa6-ac23-4211-885f-91e72a2d2f89", - "version": "2018-09-06T18:57:42.939509Z" - }, - "analysis_file/a0521704-08fa-4594-90da-0b29ee40dc0a": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "4bdf84c1", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.base_distribution_by_cycle.pdf", - "s3_etag": "62b1802ea3624ac1df31e6cdae7df672", - "sha1": "1584c1f16bfd44bb5910a7550a91334b8eedc518", - "sha256": "2450b0c0898cc07588fc5b1216b76ed77bbb995c4fafbb0247c998fbc9f2d242", - "size": 8306, - "uuid": "15bf35b5-4d06-4443-89c0-2a2d17aac62a", - "version": "2018-09-06T18:57:43.285121Z" - }, - "analysis_file/8dfb781a-9fa1-488d-9ddc-e8272bef5fe0": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "49b17cd3", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.base_distribution_by_cycle_metrics.txt", - "s3_etag": "f611d19e7ca55bdd04a892fa5b1a88bc", - "sha1": "e811fd2d3c02b2f8fbbc8899e61084bc0e40da0d", - "sha256": "bacd01d5d2b47c1476c6e1d0d48bba1373d0a6eaa1b0c5097b46f4316afedf90", - "size": 8220, - "uuid": "373337f2-54eb-41ab-97ec-94801cfd26c4", - "version": "2018-09-06T18:57:43.796420Z" - }, - "analysis_file/e80fdd63-3c87-45f9-b1f7-9d7b7122dfdf": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "faf51a99", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.error_summary_metrics.txt", - "s3_etag": "99f164b1ead0307929902e720f855c81", - "sha1": "30d9a1eec0a2899183e197d2007fe14639f1609c", - "sha256": "2dfd21bded4fa3d30cf38719045f3bb04724327592011202efd356a4cbef79f6", - "size": 1501, - "uuid": "c4a34f85-2d7d-4a54-b519-88bfcc9d17ed", - "version": "2018-09-06T18:57:44.147629Z" - }, - "analysis_file/29164286-43cf-43ca-b3b9-ad61f2e7a1c8": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "7dd5fc10", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.gc_bias.detail_metrics.txt", - "s3_etag": "6675d3e3cfbb9219ade65cd7d106e8e6", - "sha1": "fc0dc5fb21dfbf8219a831d96fb542385a40a87a", - "sha256": "819cbf361ab1176e254205e44b361fd82e35a94b4adccf080d77a54e2d871f87", - "size": 6581, - "uuid": "4df968bf-3688-457e-a7f6-4e153ec1e489", - "version": "2018-09-06T18:57:44.575566Z" - }, - "analysis_file/46dc4f0d-11c0-4000-b6e9-710553a2a9cc": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "bd717f27", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.gc_bias.pdf", - "s3_etag": "a2d1d208ec6474dbf671b0047d6a0c15", - "sha1": "fbef777fdadd4d26d1f63c1b0791b5dd436e447b", - "sha256": "2b7452ac24baa3eea121057614b4a9d2aaebd7040a2aca667c74962a63a2eab2", - "size": 6824, - "uuid": "43aef3ac-aec7-4b84-afcc-cb2a0d82cee3", - "version": "2018-09-06T18:57:44.951809Z" - }, - "analysis_file/b78926da-4a2c-4af9-8cd8-4ae337336ccc": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "32754f99", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.gc_bias.summary_metrics.txt", - "s3_etag": "871b331007d2709b8a1c328eeb8c149f", - "sha1": "b23074378adb1c669e935dedaa5f471bba744025", - "sha256": "cc07d02c00ddc19b0b1de48e9a9d79f3643e6ac9858a18552a3a0169ca1c5dd8", - "size": 1512, - "uuid": "5ec31a75-91c7-4241-8d5c-8682f02c0059", - "version": "2018-09-06T18:57:45.320623Z" - }, - "analysis_file/a002691d-8568-40a3-9fd2-bae403916e08": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "35f41e6e", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.insert_size_histogram.pdf", - "s3_etag": "a2e0a437b796f3a49d3e0cc05478c92e", - "sha1": "8e4393e520bc5311e8f78eef46c8732f8eb727d1", - "sha256": "928593951b09049cf7e4c0ef20d289fdd1d247bbe9b00ced3358d510e26ca36d", - "size": 18247, - "uuid": "9185340d-dcae-40e2-b76b-4f45eda95486", - "version": "2018-09-06T18:57:45.653327Z" - }, - "analysis_file/0963c920-cd31-45bd-8844-ff0200ff1667": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "50412a1a", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.insert_size_metrics.txt", - "s3_etag": "db9d82b8b025b2e8e47423db07c1157e", - "sha1": "26588af27b9ae9a8ab2ba19e01e8adc0eb6d79c0", - "sha256": "a80ba7f78cf5f829775ce53dd08665cb0b72385b62cb4e2410d4de3cbe112cef", - "size": 9429, - "uuid": "cbef3cec-75ab-4cd5-90f0-1d32602d9176", - "version": "2018-09-06T18:57:46.559751Z" - }, - "analysis_file/fff7c188-ff07-4014-83a5-3f90dfafc09a": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "f559ea99", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.pre_adapter_detail_metrics.txt", - "s3_etag": "ac296ba91a7321e2d55fbf5a31a0be5f", - "sha1": "ed8a024d66e6a8e683420bc3ad2a655806dcb3dc", - "sha256": "30633e71f0537e8337349a6209c65d7eaaa532af8e492e9845dbecbdfdb42111", - "size": 23054, - "uuid": "16dcefba-f947-41dd-bb14-b6fc77dfb1a8", - "version": "2018-09-06T18:57:47.181102Z" - }, - "analysis_file/cf4782d0-79e1-43dc-8313-93447a35620b": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "ee63fc32", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.quality_by_cycle.pdf", - "s3_etag": "cfe322c50934e235cd19c5c7f2f6560e", - "sha1": "6bdcdfd4b2ea62a3625c9552d1056bea6a89cd86", - "sha256": "3542cf0b65474ca693f7eb82b6ace1ee9f8bab10a6f4ef5422ca0d017bd83997", - "size": 6127, - "uuid": "420fa634-b60b-4b13-8e20-91cdffb1779a", - "version": "2018-09-06T18:57:49.831713Z" - }, - "analysis_file/63cb3d77-fded-4235-87a2-50e5f756826b": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "1deb97f8", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.quality_by_cycle_metrics.txt", - "s3_etag": "309a24774ed01679f4ec71c18eee5384", - "sha1": "a95a41733490fcc073363b8c8ab02f7881b121d5", - "sha256": "00fe838baf7dbe9a692eaf811c8c8f6399c2d0e3ece26bf276bd74e54b88de8f", - "size": 2930, - "uuid": "1a2f8bc9-0314-4b11-9667-d98dd25f6356", - "version": "2018-09-06T18:57:51.209724Z" - }, - "analysis_file/140c27ca-12de-4425-953b-b1d4c2c918fc": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "9ab095d7", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.quality_distribution.pdf", - "s3_etag": "02ebe8e1665caebd28ca62fe0f335ee6", - "sha1": "7ab7b895b227a43347344deadaa1669fb1f1bf8b", - "sha256": "2d0438787be32540d2b60249827982983ac6565cfb52afe7cb22ac11f87d8cb9", - "size": 4826, - "uuid": "87a2d38c-5b38-4322-bbba-cbe668385b78", - "version": "2018-09-06T18:57:52.560692Z" - }, - "analysis_file/38c67a5f-db0c-4d5f-839b-b061709d8be9": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "11777958", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.quality_distribution_metrics.txt", - "s3_etag": "7ad4652fafaeee4410fb8b40744bb6e4", - "sha1": "60b13c7c55c28d2b9bb623130f7c013d91e9091a", - "sha256": "45a55e9e132865d3ecd2ffef20cf5eb2b25a36222dfee20c40ee6ca8413180cb", - "size": 1285, - "uuid": "df9b02ce-8f7f-4bdb-9e04-8ea0763734f8", - "version": "2018-09-06T18:57:52.970974Z" - }, - "analysis_file/9efb3c26-4fd8-4986-8a72-1507880e6ab7": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "24adcee3", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.rna.coverage.pdf", - "s3_etag": "8c62ea975260f15965f4f09004cb1c27", - "sha1": "6b104ed6fe13d19a72416f582fdb1c5ab90cbfef", - "sha256": "f68239ab521674164cc04c044ecab82c0b08aa7d7f64a6eaea41e4ebd598c4e1", - "size": 6420, - "uuid": "b1d24d26-fcf8-4c16-a509-bc6bb59b1eb7", - "version": "2018-09-06T18:57:53.355719Z" - }, - "analysis_file/fff934f7-4a3e-442b-99b2-3479762db53c": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "f5cd552d", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.rna_metrics.txt", - "s3_etag": "9a3b9007dd2b9ea8451caf1a495f68b3", - "sha1": "cdab920fa13b56df0ae33b3a6a3ff08a792cda7c", - "sha256": "44580802f9b7129d8d916f0e2674d23bf351384fc74ad7f0abcbb73d03e5bd81", - "size": 3235, - "uuid": "a80975e3-1463-4135-bc4a-9c5763f6bdd6", - "version": "2018-09-06T18:57:53.670823Z" - }, - "analysis_file/3268e4bf-591a-4ca3-b7ad-440f61460610": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "8c9b2f5f", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.bam", - "s3_etag": "1877489a611602897e8356b516b7f22f-4", - "sha1": "2cca60d37af56e6e2b1c6e29334f732be3932395", - "sha256": "749cae722797d5741d212e48be6eb8baa62b59da11a6502d99258318db207325", - "size": 254154825, - "uuid": "6752851d-b55d-4387-82f7-e34ffd7ff05c", - "version": "2018-09-06T18:57:54.127138Z" - }, - "analysis_file/68b243fc-c128-40ac-8e51-0383b4860c29": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "d8032370", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.hisat2.met.txt", - "s3_etag": "4fc8ca989e49167a162259b05c34a10a", - "sha1": "97486305459a4a156dba94b11fb2ef9acac68f3d", - "sha256": "c0f0bba1fe71a683e572f1b61a73c0915ab772dae4ced6191b04067388ea3c9d", - "size": 2009, - "uuid": "d9f81d5a-cf86-454a-b708-2522183521b3", - "version": "2018-09-06T18:57:54.366094Z" - }, - "analysis_file/4448df34-27c1-413d-bfc1-a508f238e2ed": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "612947c2", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_qc.log", - "s3_etag": "a256cc4955e2b298d76f42475d73e09f", - "sha1": "b5386af96995f569bad46b9c6205c2eace88994b", - "sha256": "ec8273d3c887644ec09d467f832159a0a604b8c0e0a271d730bb2ecb68b715c4", - "size": 409, - "uuid": "3659a48e-fbcb-4639-bfc8-16da76f0300d", - "version": "2018-09-06T18:57:54.707345Z" - }, - "analysis_file/c2c8aec7-489b-4c2b-9b79-dc9f9a6d2d1d": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "a2359780", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.bam", - "s3_etag": "0e7d3d527b596468efa6d0adbddd36cf-3", - "sha1": "6b5c25210801b6cb14c7143b4ef708cc2d691f0d", - "sha256": "307fd0523d3413b00cc6931f6bbec807e2ec262f5b987273930f2ec1f27f0db4", - "size": 134491426, - "uuid": "a824e6d7-e28e-4bd0-a1ca-e96382d16cb4", - "version": "2018-09-06T18:57:55.004613Z" - }, - "analysis_file/b4b3e436-19f2-4b56-b30c-dd22682e94fe": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "25033e43", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.hisat2.met.txt", - "s3_etag": "ce073bd013593cd62b8680a0a52a18ff", - "sha1": "ed774d3d31aae448762be33c89649316d246c09b", - "sha256": "88e7ff9c6a44a1f35bb3afa2888824f99e85c667b7199f3bfc2cc2f71895750c", - "size": 2001, - "uuid": "6b199c79-18e7-453a-bf34-7453aa8d4058", - "version": "2018-09-06T18:57:55.244962Z" - }, - "analysis_file/477b3e82-552d-47dc-a27b-22d242298362": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "a47b964a", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.log", - "s3_etag": "d6ea56d6c4d7022f9a462c54784e860f", - "sha1": "b2f0f9f0c498ee7825c5d56da1e6421e5706a2ea", - "sha256": "bc9aae693706e01a299d6dc5b115e07c478646c899b03ca7dd59c4f749bab1b1", - "size": 399, - "uuid": "783bfe7a-dc47-44ac-b19e-4e3dd3f09129", - "version": "2018-09-06T18:57:55.773304Z" - }, - "analysis_file/e274e132-3fe1-44e9-879b-d6bc22cba2ab": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "7062f2c5", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.genes.results", - "s3_etag": "198da1cece4eaa0f84a28d57ff234054", - "sha1": "1690b26c768431eda29188ad357a5f1e7260bd7d", - "sha256": "7b2159f730eda7f224f969d7bf5ded4c8f6c6f0ab13d9f4d5908afe8c708376d", - "size": 7577121, - "uuid": "5931e486-e7f5-494d-b8b5-f4efab05c956", - "version": "2018-09-06T18:57:56.210397Z" - }, - "analysis_file/2c11a11d-840c-4a3d-b811-e0e03c2e0976": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "de975d78", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.isoforms.results", - "s3_etag": "ec22413da08490808b4a028e155c2fd3", - "sha1": "dbb69390cd39001d75f1bd472dc5332822838ceb", - "sha256": "2d4bb0c82f54fa61272c455facecc08c9ed2c07b87fe495dfebe34f5ab4f9ad1", - "size": 18847923, - "uuid": "05f1fe7b-4e71-4ca6-81e2-f2ccd8e89b89", - "version": "2018-09-06T18:57:56.812784Z" - }, - "analysis_file/f3ca70e5-f530-4890-be95-e3635dcf164a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "0f2e6a1c", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.cnt", - "s3_etag": "2f6f89600d5dd898a3f80adb3b1c8db8", - "sha1": "789bcb213f4c1cb8366d1b5f0fff0cff941c4608", - "sha256": "eca7c7500cbc5e1a8049ebc4f6dd2e53bd976ecd95e6f3e1583be7b23785fc56", - "size": 147, - "uuid": "124ad630-ac99-4447-9114-8a383bcff077", - "version": "2018-09-06T18:57:57.676451Z" - }, - "analysis_file/12bcb6de-0f5b-4581-8d02-4ed3c59c13ab": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "9a8ecacb", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.model", - "s3_etag": "5ba1950dd5ca6693d2482bc145e52f75", - "sha1": "08a05bd98cf0b8c4b2f25a950acff5e60427d55f", - "sha256": "6dcc77b3929f6105ebefccbab6b090c9774322d2e8bbb797547052a0da02c023", - "size": 436223, - "uuid": "cd228ff5-d05e-49af-91ab-57f6b8cea769", - "version": "2018-09-06T18:57:57.964761Z" - }, - "analysis_file/e3a50ba8-8e82-4b7f-89de-b6f512037e3d": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "0d0c6dfb", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.theta", - "s3_etag": "ed152ae9eb9ea65738d5b33a070a3958", - "sha1": "6743210a983228d9cda5ba9143b88e09705257ba", - "sha256": "12120aded46fae7b3b0b53d384ad5b2e11e29af256260159fc40dc15ab0dd314", - "size": 985970, - "uuid": "bb109a5e-525a-47ef-b20f-2bf4f37b3de3", - "version": "2018-09-06T18:57:58.163443Z" - }, - "analysis_file/cf3a255f-e731-4912-a7b1-cbec1b0d5239": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "115ea372", - "indexed": false, - "name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.time", - "s3_etag": "d39ecc7de4ed40cce32732c5648ad83c", - "sha1": "85005be67cc065b8630a9b9b62f0924bc3d0f3c5", - "sha256": "c9ace3197b3debd8267924ed7a1b5c337a261a05be6a1bb830936d6bf1531335", - "size": 98, - "uuid": "7a1cf419-f901-487f-994e-ff98ec7015da", - "version": "2018-09-06T18:57:58.621633Z" - }, - "sequence_file/c5d76832-f738-43a0-afe7-f62aa53a7824": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "cfa3d5df", - "indexed": false, - "name": "SRR3934558_1.fastq.gz", - "s3_etag": "27150d1a8babb4238d11a9e29b60d57d", - "sha1": "1eda5e6cca49e1510471a0e2d437b998d65d4479", - "sha256": "5b3ce9849491eafc39e1b1d361abe62b7130eb2eb3dec94a0c169855334c9561", - "size": 37220698, - "uuid": "4cb61abf-25eb-4779-a9fd-16ce3371d83f", - "version": "2018-09-06T18:03:20.549271Z" - }, - "sequence_file/be1f1c69-5ad5-4d2c-a86f-c43f1f003210": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "d1c4cd35", - "indexed": false, - "name": "SRR3934558_2.fastq.gz", - "s3_etag": "28b31a814af7efe4090b49abe07f35f1", - "sha1": "c111379fd7622641a4c31fccf06b10074c29c192", - "sha256": "689b9f0769ffd08fbb7b355ecf9e853407161b477a74f3e3edf65cdde70c2b70", - "size": 39765351, - "uuid": "abced4f5-1949-4d83-8b28-254753582378", - "version": "2018-09-06T18:03:20.906445Z" - } - }, - "metadata": { - "cell_suspension/13b00a71-4916-441c-a863-0204b40ba127": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "GSM2243654", - "biomaterial_name": "Single cell from Tumor,1001000175.F5", - "ncbi_taxon_id": [ - 9606 - ] - }, - "plate_based_sequencing": { - "plate_id": "1001000175", - "well_id": "F5" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "selected_cell_type": [ - { - "text": "astrocyte", - "ontology": "CL:0000127" - } - ], - "total_estimated_cells": 1, - "provenance": { - "document_id": "13b00a71-4916-441c-a863-0204b40ba127", - "submission_date": "2018-09-06T17:43:03.856Z", - "update_date": "2018-09-06T17:43:49.418Z" - } - }, - "specimen_from_organism/131f2ca9-0a3e-4794-a6f6-0170884de3bf": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "BT_S2_T", - "biomaterial_description": "Tumor", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955" - }, - "organ_part": { - "text": "temporal lobe", - "ontology": "UBERON:0001871" - }, - "provenance": { - "document_id": "131f2ca9-0a3e-4794-a6f6-0170884de3bf", - "submission_date": "2018-09-06T17:43:00.984Z", - "update_date": "2018-09-06T17:43:40.640Z" - } - }, - "donor_organism/651a2e3a-80a6-4e3a-99d0-63224ee2ef02": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/biomaterial/10.1.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "BT_S2", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "is_living": "yes", - "sex": "unknown", - "provenance": { - "document_id": "651a2e3a-80a6-4e3a-99d0-63224ee2ef02", - "submission_date": "2018-09-06T17:43:00.962Z", - "update_date": "2018-09-06T17:43:29.851Z" - } - }, - "analysis_file/84d27b0a-348e-4af2-82cb-c37973a9fe17": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.duplicate_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "84d27b0a-348e-4af2-82cb-c37973a9fe17", - "submission_date": "2018-09-06T18:43:36.040Z", - "update_date": "2018-09-06T18:51:18.929Z" - } - }, - "analysis_file/36671cf7-ab85-409f-a28b-27c489e2ab51": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.alignment_summary_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "36671cf7-ab85-409f-a28b-27c489e2ab51", - "submission_date": "2018-09-06T18:43:36.158Z", - "update_date": "2018-09-06T18:51:15.720Z" - } - }, - "analysis_file/4ba5d8f9-2d1c-432d-9fa5-7e22eff732f1": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.bait_bias_detail_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "4ba5d8f9-2d1c-432d-9fa5-7e22eff732f1", - "submission_date": "2018-09-06T18:43:36.266Z", - "update_date": "2018-09-06T18:51:18.800Z" - } - }, - "analysis_file/f71ca185-a4d4-42ec-b6f0-dbb140cb2f23": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.bait_bias_summary_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "f71ca185-a4d4-42ec-b6f0-dbb140cb2f23", - "submission_date": "2018-09-06T18:43:36.361Z", - "update_date": "2018-09-06T18:51:21.934Z" - } - }, - "analysis_file/a0521704-08fa-4594-90da-0b29ee40dc0a": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.base_distribution_by_cycle.pdf", - "file_format": "pdf" - }, - "provenance": { - "document_id": "a0521704-08fa-4594-90da-0b29ee40dc0a", - "submission_date": "2018-09-06T18:43:36.457Z", - "update_date": "2018-09-06T18:51:18.835Z" - } - }, - "analysis_file/8dfb781a-9fa1-488d-9ddc-e8272bef5fe0": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.base_distribution_by_cycle_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "8dfb781a-9fa1-488d-9ddc-e8272bef5fe0", - "submission_date": "2018-09-06T18:43:36.553Z", - "update_date": "2018-09-06T18:51:18.753Z" - } - }, - "analysis_file/e80fdd63-3c87-45f9-b1f7-9d7b7122dfdf": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.error_summary_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "e80fdd63-3c87-45f9-b1f7-9d7b7122dfdf", - "submission_date": "2018-09-06T18:43:36.650Z", - "update_date": "2018-09-06T18:51:19.110Z" - } - }, - "analysis_file/29164286-43cf-43ca-b3b9-ad61f2e7a1c8": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.gc_bias.detail_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "29164286-43cf-43ca-b3b9-ad61f2e7a1c8", - "submission_date": "2018-09-06T18:43:36.747Z", - "update_date": "2018-09-06T18:51:27.808Z" - } - }, - "analysis_file/46dc4f0d-11c0-4000-b6e9-710553a2a9cc": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.gc_bias.pdf", - "file_format": "pdf" - }, - "provenance": { - "document_id": "46dc4f0d-11c0-4000-b6e9-710553a2a9cc", - "submission_date": "2018-09-06T18:43:36.842Z", - "update_date": "2018-09-06T18:51:21.984Z" - } - }, - "analysis_file/b78926da-4a2c-4af9-8cd8-4ae337336ccc": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.gc_bias.summary_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "b78926da-4a2c-4af9-8cd8-4ae337336ccc", - "submission_date": "2018-09-06T18:43:36.940Z", - "update_date": "2018-09-06T18:51:22.213Z" - } - }, - "analysis_file/a002691d-8568-40a3-9fd2-bae403916e08": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.insert_size_histogram.pdf", - "file_format": "pdf" - }, - "provenance": { - "document_id": "a002691d-8568-40a3-9fd2-bae403916e08", - "submission_date": "2018-09-06T18:43:37.038Z", - "update_date": "2018-09-06T18:51:24.731Z" - } - }, - "analysis_file/0963c920-cd31-45bd-8844-ff0200ff1667": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.insert_size_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "0963c920-cd31-45bd-8844-ff0200ff1667", - "submission_date": "2018-09-06T18:43:37.141Z", - "update_date": "2018-09-06T18:51:24.951Z" - } - }, - "analysis_file/fff7c188-ff07-4014-83a5-3f90dfafc09a": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.pre_adapter_detail_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "fff7c188-ff07-4014-83a5-3f90dfafc09a", - "submission_date": "2018-09-06T18:43:37.269Z", - "update_date": "2018-09-06T18:51:27.830Z" - } - }, - "analysis_file/cf4782d0-79e1-43dc-8313-93447a35620b": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.quality_by_cycle.pdf", - "file_format": "pdf" - }, - "provenance": { - "document_id": "cf4782d0-79e1-43dc-8313-93447a35620b", - "submission_date": "2018-09-06T18:43:37.365Z", - "update_date": "2018-09-06T18:51:30.824Z" - } - }, - "analysis_file/63cb3d77-fded-4235-87a2-50e5f756826b": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.quality_by_cycle_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "63cb3d77-fded-4235-87a2-50e5f756826b", - "submission_date": "2018-09-06T18:43:37.467Z", - "update_date": "2018-09-06T18:51:27.727Z" - } - }, - "analysis_file/140c27ca-12de-4425-953b-b1d4c2c918fc": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.quality_distribution.pdf", - "file_format": "pdf" - }, - "provenance": { - "document_id": "140c27ca-12de-4425-953b-b1d4c2c918fc", - "submission_date": "2018-09-06T18:43:37.568Z", - "update_date": "2018-09-06T18:51:30.804Z" - } - }, - "analysis_file/38c67a5f-db0c-4d5f-839b-b061709d8be9": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.quality_distribution_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "38c67a5f-db0c-4d5f-839b-b061709d8be9", - "submission_date": "2018-09-06T18:43:37.667Z", - "update_date": "2018-09-06T18:51:30.712Z" - } - }, - "analysis_file/9efb3c26-4fd8-4986-8a72-1507880e6ab7": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.rna.coverage.pdf", - "file_format": "pdf" - }, - "provenance": { - "document_id": "9efb3c26-4fd8-4986-8a72-1507880e6ab7", - "submission_date": "2018-09-06T18:43:37.763Z", - "update_date": "2018-09-06T18:51:33.849Z" - } - }, - "analysis_file/fff934f7-4a3e-442b-99b2-3479762db53c": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.rna_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "fff934f7-4a3e-442b-99b2-3479762db53c", - "submission_date": "2018-09-06T18:43:38.062Z", - "update_date": "2018-09-06T18:51:33.768Z" - } - }, - "analysis_file/3268e4bf-591a-4ca3-b7ad-440f61460610": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "3268e4bf-591a-4ca3-b7ad-440f61460610", - "submission_date": "2018-09-06T18:43:38.161Z", - "update_date": "2018-09-06T18:51:27.818Z" - } - }, - "analysis_file/68b243fc-c128-40ac-8e51-0383b4860c29": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.hisat2.met.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "68b243fc-c128-40ac-8e51-0383b4860c29", - "submission_date": "2018-09-06T18:43:38.345Z", - "update_date": "2018-09-06T18:51:27.703Z" - } - }, - "analysis_file/4448df34-27c1-413d-bfc1-a508f238e2ed": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.log", - "file_format": "log" - }, - "provenance": { - "document_id": "4448df34-27c1-413d-bfc1-a508f238e2ed", - "submission_date": "2018-09-06T18:43:38.441Z", - "update_date": "2018-09-06T18:51:24.861Z" - } - }, - "analysis_file/c2c8aec7-489b-4c2b-9b79-dc9f9a6d2d1d": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "c2c8aec7-489b-4c2b-9b79-dc9f9a6d2d1d", - "submission_date": "2018-09-06T18:43:38.539Z", - "update_date": "2018-09-06T18:51:48.751Z" - } - }, - "analysis_file/b4b3e436-19f2-4b56-b30c-dd22682e94fe": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.hisat2.met.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "b4b3e436-19f2-4b56-b30c-dd22682e94fe", - "submission_date": "2018-09-06T18:43:38.637Z", - "update_date": "2018-09-06T18:51:39.778Z" - } - }, - "analysis_file/477b3e82-552d-47dc-a27b-22d242298362": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.log", - "file_format": "log" - }, - "provenance": { - "document_id": "477b3e82-552d-47dc-a27b-22d242298362", - "submission_date": "2018-09-06T18:43:38.734Z", - "update_date": "2018-09-06T18:51:39.839Z" - } - }, - "analysis_file/e274e132-3fe1-44e9-879b-d6bc22cba2ab": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.genes.results", - "file_format": "results" - }, - "provenance": { - "document_id": "e274e132-3fe1-44e9-879b-d6bc22cba2ab", - "submission_date": "2018-09-06T18:43:38.831Z", - "update_date": "2018-09-06T18:51:42.713Z" - } - }, - "analysis_file/2c11a11d-840c-4a3d-b811-e0e03c2e0976": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.isoforms.results", - "file_format": "results" - }, - "provenance": { - "document_id": "2c11a11d-840c-4a3d-b811-e0e03c2e0976", - "submission_date": "2018-09-06T18:43:38.927Z", - "update_date": "2018-09-06T18:51:48.696Z" - } - }, - "analysis_file/f3ca70e5-f530-4890-be95-e3635dcf164a": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.cnt", - "file_format": "cnt" - }, - "provenance": { - "document_id": "f3ca70e5-f530-4890-be95-e3635dcf164a", - "submission_date": "2018-09-06T18:43:39.023Z", - "update_date": "2018-09-06T18:51:42.746Z" - } - }, - "analysis_file/12bcb6de-0f5b-4581-8d02-4ed3c59c13ab": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.model", - "file_format": "model" - }, - "provenance": { - "document_id": "12bcb6de-0f5b-4581-8d02-4ed3c59c13ab", - "submission_date": "2018-09-06T18:43:39.133Z", - "update_date": "2018-09-06T18:51:45.770Z" - } - }, - "analysis_file/e3a50ba8-8e82-4b7f-89de-b6f512037e3d": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.theta", - "file_format": "theta" - }, - "provenance": { - "document_id": "e3a50ba8-8e82-4b7f-89de-b6f512037e3d", - "submission_date": "2018-09-06T18:43:39.232Z", - "update_date": "2018-09-06T18:51:45.736Z" - } - }, - "analysis_file/cf3a255f-e731-4912-a7b1-cbec1b0d5239": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.time", - "file_format": "time" - }, - "provenance": { - "document_id": "cf3a255f-e731-4912-a7b1-cbec1b0d5239", - "submission_date": "2018-09-06T18:43:39.329Z", - "update_date": "2018-09-06T18:51:48.711Z" - } - }, - "sequence_file/c5d76832-f738-43a0-afe7-f62aa53a7824": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3934558_1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "provenance": { - "document_id": "c5d76832-f738-43a0-afe7-f62aa53a7824", - "submission_date": "2018-09-06T17:43:15.514Z", - "update_date": "2018-09-06T18:43:35.669Z" - } - }, - "sequence_file/be1f1c69-5ad5-4d2c-a86f-c43f1f003210": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3934558_2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "provenance": { - "document_id": "be1f1c69-5ad5-4d2c-a86f-c43f1f003210", - "submission_date": "2018-09-06T17:43:15.528Z", - "update_date": "2018-09-06T18:43:35.937Z" - } - }, - "project/26f1d58f-b247-4e0b-a4a9-402e029e5ac8": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/project/9.0.2/project", - "schema_type": "project", - "project_core": { - "project_short_name": "scale/gliob_200/2018-09-06T17:42:54Z", - "project_title": "Glioblastoma_200_cells_scale_test: Single-Cell RNAseq analysis of diffuse neoplastic infiltrating cells at the migrating front of human glioblastoma", - "project_description": "Glioblastoma_200_cells_scale_test: We used single-cell RNAseq to investigate the heterogeneity of glioblastoma tumors and assess differential expression between cells within and in proximity of the tumor." - }, - "geo_series": "GSE84465", - "contributors": [ - { - "contact_name": "Spyros,,Darmanis", - "email": "spyros.darmanis@gmail.com", - "phone": "650-696-0861", - "institution": "Stanford University", - "laboratory": "Stephen Quake", - "address": "Clark Center, E300; Stanford, California 94305 USA", - "country": "USA" - } - ], - "publications": [], - "provenance": { - "document_id": "26f1d58f-b247-4e0b-a4a9-402e029e5ac8", - "submission_date": "2018-09-06T17:43:00.951Z", - "update_date": "2018-09-06T17:43:29.771Z" - } - }, - "library_preparation_protocol/237048e6-dbd9-4a0b-b0cc-8085513c2944": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/protocol/sequencing/4.3.2/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "lib_prep_1" - }, - "nucleic_acid_source": "single cell", - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "provenance": { - "document_id": "237048e6-dbd9-4a0b-b0cc-8085513c2944", - "submission_date": "2018-09-06T17:43:15.784Z", - "update_date": "2018-09-06T17:43:20.063Z" - } - }, - "sequencing_protocol/f6527c69-b8bb-467a-af22-32a1b7863c65": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "seq_protocol_1" - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0009173" - }, - "paired_end": true, - "sequencing_approach": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441" - }, - "provenance": { - "document_id": "f6527c69-b8bb-467a-af22-32a1b7863c65", - "submission_date": "2018-09-06T17:43:15.792Z", - "update_date": "2018-09-06T17:43:20.475Z" - } - }, - "dissociation_protocol/babc8692-6932-4c29-b33d-4d7b4deebe54": { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dis_proc_1" - }, - "dissociation_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "provenance": { - "document_id": "babc8692-6932-4c29-b33d-4d7b4deebe54", - "submission_date": "2018-09-06T17:43:15.775Z", - "update_date": "2018-09-06T17:43:19.766Z" - } - }, - "analysis_process/2a4e1440-dab6-4b0b-8204-ebb270613cc1": { - "analysis_run_type": "run", - "describedBy": "http://schema.integration.data.humancellatlas.org/type/process/analysis/8.0.0/analysis_process", - "input_bundles": [ - "ffd2f992-ba13-4616-a158-76d2708830d7" - ], - "inputs": [ - { - "checksum": "27150d1a8babb4238d11a9e29b60d57d", - "parameter_name": "fastq1", - "parameter_value": "gs://org-humancellatlas-dss-checkout-integration/bundles/ffd2f992-ba13-4616-a158-76d2708830d7.2018-09-06T180321.103437Z/SRR3934558_1.fastq.gz" - }, - { - "checksum": "28b31a814af7efe4090b49abe07f35f1", - "parameter_name": "fastq2", - "parameter_value": "gs://org-humancellatlas-dss-checkout-integration/bundles/ffd2f992-ba13-4616-a158-76d2708830d7.2018-09-06T180321.103437Z/SRR3934558_2.fastq.gz" - }, - { - "parameter_name": "sample_name", - "parameter_value": "13b00a71-4916-441c-a863-0204b40ba127" - }, - { - "parameter_name": "output_name", - "parameter_value": "13b00a71-4916-441c-a863-0204b40ba127" - }, - { - "checksum": "8778479ae676099e8dbd67d1d4838f53", - "parameter_name": "gtf_file", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.primary_assembly.annotation.gtf" - }, - { - "checksum": "49bdb80d21a64dcb16acfc941843356e", - "parameter_name": "genome_ref_fasta", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38.primary_assembly.genome.fa" - }, - { - "checksum": "870ee713c440f4080013ed621e3e919b", - "parameter_name": "rrna_intervals", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.rRNA.interval_list" - }, - { - "checksum": "e0f16cfb9437b8190459939464fef074", - "parameter_name": "gene_ref_flat", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_gencode.v27.refFlat.txt" - }, - { - "checksum": "57ea00c3058af5a98a66c02adc13688b", - "parameter_name": "hisat2_ref_index", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/HISAT2/genome_snp_tran.tar.gz" - }, - { - "parameter_name": "hisat2_ref_trans_name", - "parameter_value": "gencode_v27_trans_rsem" - }, - { - "checksum": "91fb4b64cb5c9392896705c407e0daf3", - "parameter_name": "rsem_ref_index", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode_v27_primary.tar" - }, - { - "parameter_name": "hisat2_ref_name", - "parameter_value": "genome_snp_tran" - }, - { - "parameter_name": "hisat2_ref_trans_name", - "parameter_value": "gencode_v27_trans_rsem" - }, - { - "parameter_name": "stranded", - "parameter_value": "NONE" - } - ], - "outputs": [ - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "0b611168b9c71d4200c56cb357cc8d75", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.duplicate_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "afa104522d76a08fafa0adc4e2640502", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.alignment_summary_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "12113e78c3a4e0bda620860ff6da83cd", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.bait_bias_detail_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "39517037528941819e7c388f151e9abf", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.bait_bias_summary_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "62b1802ea3624ac1df31e6cdae7df672", - "file_format": "pdf", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.base_distribution_by_cycle.pdf" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "f611d19e7ca55bdd04a892fa5b1a88bc", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.base_distribution_by_cycle_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "99f164b1ead0307929902e720f855c81", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.error_summary_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "6675d3e3cfbb9219ade65cd7d106e8e6", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.gc_bias.detail_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "a2d1d208ec6474dbf671b0047d6a0c15", - "file_format": "pdf", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.gc_bias.pdf" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "871b331007d2709b8a1c328eeb8c149f", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.gc_bias.summary_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "a2e0a437b796f3a49d3e0cc05478c92e", - "file_format": "pdf", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.insert_size_histogram.pdf" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "db9d82b8b025b2e8e47423db07c1157e", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.insert_size_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "ac296ba91a7321e2d55fbf5a31a0be5f", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.pre_adapter_detail_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "cfe322c50934e235cd19c5c7f2f6560e", - "file_format": "pdf", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.quality_by_cycle.pdf" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "309a24774ed01679f4ec71c18eee5384", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.quality_by_cycle_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "02ebe8e1665caebd28ca62fe0f335ee6", - "file_format": "pdf", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.quality_distribution.pdf" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "7ad4652fafaeee4410fb8b40744bb6e4", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.quality_distribution_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "8c62ea975260f15965f4f09004cb1c27", - "file_format": "pdf", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.rna.coverage.pdf" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "9a3b9007dd2b9ea8451caf1a495f68b3", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.rna_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "a66c831a1ec0460a7863ab247b31325a", - "file_format": "bam", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "4fc8ca989e49167a162259b05c34a10a", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.hisat2.met.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "a256cc4955e2b298d76f42475d73e09f", - "file_format": "log", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_qc.log" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "8f7eea6e7f708f170308dcc04c5c72c4", - "file_format": "bam", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "ce073bd013593cd62b8680a0a52a18ff", - "file_format": "txt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.hisat2.met.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "d6ea56d6c4d7022f9a462c54784e860f", - "file_format": "log", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.log" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "198da1cece4eaa0f84a28d57ff234054", - "file_format": "results", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.genes.results" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "ec22413da08490808b4a028e155c2fd3", - "file_format": "results", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.isoforms.results" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "2f6f89600d5dd898a3f80adb3b1c8db8", - "file_format": "cnt", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.cnt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "5ba1950dd5ca6693d2482bc145e52f75", - "file_format": "model", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.model" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "ed152ae9eb9ea65738d5b33a070a3958", - "file_format": "theta", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.theta" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.integration.data.humancellatlas.org/type/file/5.2.1/analysis_file", - "file_core": { - "checksum": "d39ecc7de4ed40cce32732c5648ad83c", - "file_format": "time", - "file_name": "13b00a71-4916-441c-a863-0204b40ba127_rsem.time" - }, - "schema_type": "file" - } - ], - "process_core": { - "process_id": "07e6754f-ab70-4413-869e-447390e54c5e" - }, - "process_type": { - "text": "analysis" - }, - "reference_bundle": "bf51d668-3e14-4843-9bc7-5d676fdf0e01", - "schema_type": "process", - "tasks": [ - { - "cpus": 2, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/fa21e442-b9ba-4545-861e-4c18cd258db8/call-analysis/ss2.SmartSeq2SingleCell/07e6754f-ab70-4413-869e-447390e54c5e/call-CollectDuplicationMetrics/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/fa21e442-b9ba-4545-861e-4c18cd258db8/call-analysis/ss2.SmartSeq2SingleCell/07e6754f-ab70-4413-869e-447390e54c5e/call-CollectDuplicationMetrics/stdout", - "memory": "7.5 GB", - "start_time": "2018-09-06T18:27:41.475Z", - "stop_time": "2018-09-06T18:32:12.909Z", - "task_name": "CollectDuplicationMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 14 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/fa21e442-b9ba-4545-861e-4c18cd258db8/call-analysis/ss2.SmartSeq2SingleCell/07e6754f-ab70-4413-869e-447390e54c5e/call-CollectMultipleMetrics/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/fa21e442-b9ba-4545-861e-4c18cd258db8/call-analysis/ss2.SmartSeq2SingleCell/07e6754f-ab70-4413-869e-447390e54c5e/call-CollectMultipleMetrics/stdout", - "memory": "7.5 GB", - "start_time": "2018-09-06T18:27:41.475Z", - "stop_time": "2018-09-06T18:34:00.907Z", - "task_name": "CollectMultipleMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/fa21e442-b9ba-4545-861e-4c18cd258db8/call-analysis/ss2.SmartSeq2SingleCell/07e6754f-ab70-4413-869e-447390e54c5e/call-CollectRnaMetrics/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/fa21e442-b9ba-4545-861e-4c18cd258db8/call-analysis/ss2.SmartSeq2SingleCell/07e6754f-ab70-4413-869e-447390e54c5e/call-CollectRnaMetrics/stdout", - "memory": "3.5 GB", - "start_time": "2018-09-06T18:27:41.475Z", - "stop_time": "2018-09-06T18:33:33.908Z", - "task_name": "CollectRnaMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/fa21e442-b9ba-4545-861e-4c18cd258db8/call-analysis/ss2.SmartSeq2SingleCell/07e6754f-ab70-4413-869e-447390e54c5e/call-HISAT2PairedEnd/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/fa21e442-b9ba-4545-861e-4c18cd258db8/call-analysis/ss2.SmartSeq2SingleCell/07e6754f-ab70-4413-869e-447390e54c5e/call-HISAT2PairedEnd/stdout", - "memory": "15 GB", - "start_time": "2018-09-06T18:18:20.105Z", - "stop_time": "2018-09-06T18:27:39.913Z", - "task_name": "HISAT2PairedEnd", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 52 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/fa21e442-b9ba-4545-861e-4c18cd258db8/call-analysis/ss2.SmartSeq2SingleCell/07e6754f-ab70-4413-869e-447390e54c5e/call-HISAT2Transcriptome/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/fa21e442-b9ba-4545-861e-4c18cd258db8/call-analysis/ss2.SmartSeq2SingleCell/07e6754f-ab70-4413-869e-447390e54c5e/call-HISAT2Transcriptome/stdout", - "memory": "15 GB", - "start_time": "2018-09-06T18:18:20.105Z", - "stop_time": "2018-09-06T18:32:24.914Z", - "task_name": "HISAT2Transcriptome", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 22 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-rsem:v0.2.2-1.3.0", - "log_err": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/fa21e442-b9ba-4545-861e-4c18cd258db8/call-analysis/ss2.SmartSeq2SingleCell/07e6754f-ab70-4413-869e-447390e54c5e/call-RSEMExpression/stderr", - "log_out": "gs://broad-dsde-mint-test-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/fa21e442-b9ba-4545-861e-4c18cd258db8/call-analysis/ss2.SmartSeq2SingleCell/07e6754f-ab70-4413-869e-447390e54c5e/call-RSEMExpression/stdout", - "memory": "3.5 GB", - "start_time": "2018-09-06T18:32:26.045Z", - "stop_time": "2018-09-06T18:38:21.906Z", - "task_name": "RSEMExpression", - "zone": "us-central1-b" - } - ], - "timestamp_start_utc": "2018-09-06T18:18:17.025Z", - "timestamp_stop_utc": "2018-09-06T18:38:23.068Z", - "provenance": { - "document_id": "2a4e1440-dab6-4b0b-8204-ebb270613cc1", - "submission_date": "2018-09-06T18:43:35.221Z", - "update_date": "2018-09-06T18:43:37.650Z" - } - }, - "process/c8ac10c7-fa3a-4fbc-a9bd-55e767444773": { - "process_core": { - "process_id": "seq_proc_187" - }, - "schema_type": "process", - "describedBy": "http://schema.integration.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c8ac10c7-fa3a-4fbc-a9bd-55e767444773", - "submission_date": "2018-09-06T17:43:29.507Z", - "update_date": "2018-09-06T17:44:11.383Z" - } - }, - "process/94510a2b-edc8-4f14-ab1e-494732ccf80a": { - "process_core": { - "process_id": "process_id_189" - }, - "schema_type": "process", - "describedBy": "http://schema.integration.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "94510a2b-edc8-4f14-ab1e-494732ccf80a", - "submission_date": "2018-09-06T17:43:22.173Z", - "update_date": "2018-09-06T17:43:58.660Z" - } - }, - "process/44edcce5-152d-401c-ba29-ed73cd9ec57f": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "http://schema.integration.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "44edcce5-152d-401c-ba29-ed73cd9ec57f", - "submission_date": "2018-09-06T17:43:15.801Z", - "update_date": "2018-09-06T17:43:54.690Z" - } - } - }, - "links": { - "describedBy": "http://schema.integration.data.humancellatlas.org/system/1.1.1/links", - "schema_type": "link_bundle", - "schema_version": "1.1.1", - "links": [ - { - "process": "2a4e1440-dab6-4b0b-8204-ebb270613cc1", - "inputs": [ - "c5d76832-f738-43a0-afe7-f62aa53a7824", - "be1f1c69-5ad5-4d2c-a86f-c43f1f003210" - ], - "input_type": "file", - "outputs": [ - "84d27b0a-348e-4af2-82cb-c37973a9fe17", - "36671cf7-ab85-409f-a28b-27c489e2ab51", - "4ba5d8f9-2d1c-432d-9fa5-7e22eff732f1", - "f71ca185-a4d4-42ec-b6f0-dbb140cb2f23", - "a0521704-08fa-4594-90da-0b29ee40dc0a", - "8dfb781a-9fa1-488d-9ddc-e8272bef5fe0", - "e80fdd63-3c87-45f9-b1f7-9d7b7122dfdf", - "29164286-43cf-43ca-b3b9-ad61f2e7a1c8", - "46dc4f0d-11c0-4000-b6e9-710553a2a9cc", - "b78926da-4a2c-4af9-8cd8-4ae337336ccc", - "a002691d-8568-40a3-9fd2-bae403916e08", - "0963c920-cd31-45bd-8844-ff0200ff1667", - "fff7c188-ff07-4014-83a5-3f90dfafc09a", - "cf4782d0-79e1-43dc-8313-93447a35620b", - "63cb3d77-fded-4235-87a2-50e5f756826b", - "140c27ca-12de-4425-953b-b1d4c2c918fc", - "38c67a5f-db0c-4d5f-839b-b061709d8be9", - "9efb3c26-4fd8-4986-8a72-1507880e6ab7", - "fff934f7-4a3e-442b-99b2-3479762db53c", - "3268e4bf-591a-4ca3-b7ad-440f61460610", - "68b243fc-c128-40ac-8e51-0383b4860c29", - "4448df34-27c1-413d-bfc1-a508f238e2ed", - "c2c8aec7-489b-4c2b-9b79-dc9f9a6d2d1d", - "b4b3e436-19f2-4b56-b30c-dd22682e94fe", - "477b3e82-552d-47dc-a27b-22d242298362", - "e274e132-3fe1-44e9-879b-d6bc22cba2ab", - "2c11a11d-840c-4a3d-b811-e0e03c2e0976", - "f3ca70e5-f530-4890-be95-e3635dcf164a", - "12bcb6de-0f5b-4581-8d02-4ed3c59c13ab", - "e3a50ba8-8e82-4b7f-89de-b6f512037e3d", - "cf3a255f-e731-4912-a7b1-cbec1b0d5239" - ], - "output_type": "file", - "protocols": [] - }, - { - "process": "c8ac10c7-fa3a-4fbc-a9bd-55e767444773", - "inputs": [ - "13b00a71-4916-441c-a863-0204b40ba127" - ], - "input_type": "biomaterial", - "outputs": [ - "c5d76832-f738-43a0-afe7-f62aa53a7824", - "be1f1c69-5ad5-4d2c-a86f-c43f1f003210" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "237048e6-dbd9-4a0b-b0cc-8085513c2944" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "f6527c69-b8bb-467a-af22-32a1b7863c65" - } - ] - }, - { - "process": "94510a2b-edc8-4f14-ab1e-494732ccf80a", - "inputs": [ - "131f2ca9-0a3e-4794-a6f6-0170884de3bf" - ], - "input_type": "biomaterial", - "outputs": [ - "13b00a71-4916-441c-a863-0204b40ba127" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "babc8692-6932-4c29-b33d-4d7b4deebe54" - } - ] - }, - { - "process": "44edcce5-152d-401c-ba29-ed73cd9ec57f", - "inputs": [ - "651a2e3a-80a6-4e3a-99d0-63224ee2ef02" - ], - "input_type": "biomaterial", - "outputs": [ - "131f2ca9-0a3e-4794-a6f6-0170884de3bf" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "c8ac10c7-fa3a-4fbc-a9bd-55e767444773", - "inputs": [ - "13b00a71-4916-441c-a863-0204b40ba127" - ], - "input_type": "biomaterial", - "outputs": [ - "c5d76832-f738-43a0-afe7-f62aa53a7824", - "be1f1c69-5ad5-4d2c-a86f-c43f1f003210" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "237048e6-dbd9-4a0b-b0cc-8085513c2944" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "f6527c69-b8bb-467a-af22-32a1b7863c65" - } - ] - }, - { - "process": "94510a2b-edc8-4f14-ab1e-494732ccf80a", - "inputs": [ - "131f2ca9-0a3e-4794-a6f6-0170884de3bf" - ], - "input_type": "biomaterial", - "outputs": [ - "13b00a71-4916-441c-a863-0204b40ba127" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "babc8692-6932-4c29-b33d-4d7b4deebe54" - } - ] - }, - { - "process": "44edcce5-152d-401c-ba29-ed73cd9ec57f", - "inputs": [ - "651a2e3a-80a6-4e3a-99d0-63224ee2ef02" - ], - "input_type": "biomaterial", - "outputs": [ - "131f2ca9-0a3e-4794-a6f6-0170884de3bf" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/d7b8cbff-aee9-5a05-a4a1-d8f4e720aee7.dss.hca.json b/test/indexer/data/d7b8cbff-aee9-5a05-a4a1-d8f4e720aee7.dss.hca.json deleted file mode 100644 index 6e577926cc..0000000000 --- a/test/indexer/data/d7b8cbff-aee9-5a05-a4a1-d8f4e720aee7.dss.hca.json +++ /dev/null @@ -1,604 +0,0 @@ -{ - "manifest": { - "analysis_file/f0c8ac7c-1c4a-5c9c-9286-c8b16208f9ae": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "4dab8938", - "indexed": false, - "name": "AP2_file.h5ad", - "s3_etag": "4f8d6d3deb56b7abd78e987b4f3ae1ee", - "sha1": "0f65039a19b5b721d5f9d3500bb434b51dbf81f6", - "sha256": "73eece65dc9b78a90a51e5aa462365cc1c367fbe7dfdf8f36ec67d890194fcd9", - "size": 143, - "uuid": "121add5e-8ed0-5368-b2f9-6a4d7fec0393", - "version": "2021-01-01T00:00:00.000000Z" - } - }, - "metadata": { - "project/90bf705c-d891-5ce2-aa54-094488b445c6": { - "array_express_accessions": [ - "E-MTAB-10026" - ], - "contributors": [ - { - "corresponding_contributor": true, - "email": "m.a.haniffa@ncl.ac.uk", - "institution": "Newcastle University", - "name": "Muzlifah,,Hannifa", - "project_role": { - "text": "principal investigator" - } - } - ], - "dbgap_accessions": [ - "phs001997.v1.p1", - "phs001836" - ], - "describedBy": "https://schema.staging.data.humancellatlas.org/type/project/17.0.0/project", - "ega_accessions": [ - "EGAS00000000001", - "EGAD00000000002" - ], - "estimated_cell_count": 10000, - "funders": [ - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome Human Cell Atlas Strategic Science Support" - }, - { - "grant_id": "WT107931/Z/15/Z", - "organization": "Wellcome" - }, - { - "grant_id": "206328/Z/17/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S036113/1", - "organization": "MRC" - }, - { - "grant_id": "WT206194", - "organization": "Wellcome" - }, - { - "grant_id": "MR/S0358421/1", - "organization": "MRC" - }, - { - "grant_id": "C9545/A29580", - "organization": "CRUK" - }, - { - "grant_id": "21777", - "organization": "Versus Arthiritis Cure Challenge Research Grant" - }, - { - "grant_id": "RP-2017-08-ST2-002", - "organization": "NIHR" - }, - { - "grant_id": "21355/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "2017-174169", - "organization": "CZI" - }, - { - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome" - }, - { - "grant_id": "MR/5005579/1", - "organization": "UK Regenerative Medicine Platform" - }, - { - "grant_id": "CL-2017-01-004", - "organization": "NIHR" - }, - { - "grant_id": "ME 5209/1-1", - "organization": "DFG Research Fellowship" - }, - { - "grant_id": "21115", - "organization": "Wellcome" - } - ], - "project_core": { - "project_description": "The COVID-19 pandemic, caused by SARS coronavirus 2 (SARS-CoV-2), has resulted in excess morbidity and mortality as well as economic decline. To characterise the systemic host immune response to SARS-CoV-2, we performed single-cell RNA-sequencing coupled with analysis of cell surface proteins, providing molecular profiling of over 800,000 peripheral blood mononuclear cells from a cohort of 130 patients with COVID-19. Our cohort, from three UK centres, spans the spectrum of clinical presentations and disease severities ranging from asymptomatic to critical. Three control groups were included: healthy volunteers, patients suffering from a non-COVID-19 severe respiratory illness and healthy individuals administered with intravenous lipopolysaccharide to model an acute inflammatory response. Full single cell transcriptomes coupled with quantification of 188 cell surface proteins, and T and B lymphocyte antigen receptor repertoires have provided several insights into COVID-19: 1. a new non-classical monocyte state that sequesters platelets and replenishes the alveolar macrophage pool; 2. platelet activation accompanied by early priming towards megakaryopoiesis in immature haematopoietic stem/progenitor cells and expansion of megakaryocyte-primed progenitors; 3. increased clonally expanded CD8+ effector:effector memory T cells, and proliferating CD4+ and CD8+ T cells in patients with more severe disease; and 4. relative increase of IgA plasmablasts in asymptomatic stages that switches to expansion of IgG plasmablasts and plasma cells, accompanied with higher incidence of BCR sharing, as disease severity increases. All data and analysis results are available for interrogation and data mining through an intuitive web portal. Together, these data detail the cellular processes present in peripheral blood during an acute immune response to COVID-19, and serve as a template for multi-omic single cell data integration across multiple centers to rapidly build powerful resources to help combat diseases such as COVID-19.", - "project_short_name": "Covid19PBMC", - "project_title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres" - }, - "provenance": { - "document_id": "90bf705c-d891-5ce2-aa54-094488b445c6", - "schema_major_version": 17, - "schema_minor_version": 0, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "publications": [ - { - "authors": [ - "Muzlifa Hannifa" - ], - "doi": "10.1101/2021.01.13.21249725", - "official_hca_publication": true, - "pmid": 33879890, - "title": "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres", - "url": "https://www.medrxiv.org/content/10.1101/2021.01.13.21249725v1.full" - } - ], - "schema_type": "project" - }, - "process/37e91a9f-b04e-5313-bbc0-4c394406247e": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "37e91a9f-b04e-5313-bbc0-4c394406247e", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/b8ec88d7-675c-54ff-8071-63255adc181b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "b8ec88d7-675c-54ff-8071-63255adc181b", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/bd6a4a38-c44b-5d17-b2b1-d0d4c4531bf0": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "bd6a4a38-c44b-5d17-b2b1-d0d4c4531bf0", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "process/d7b8cbff-aee9-5a05-a4a1-d8f4e720aee7": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/9.2.0/process", - "process_core": { - "process_id": "dummy_process" - }, - "provenance": { - "document_id": "d7b8cbff-aee9-5a05-a4a1-d8f4e720aee7", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "process" - }, - "cell_suspension/119c4135-7b77-5003-a150-f052e22c6834": { - "biomaterial_core": { - "biomaterial_id": "AP2CS_pre", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "estimated_cell_count": 40000, - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "provenance": { - "document_id": "119c4135-7b77-5003-a150-f052e22c6834", - "schema_major_version": 13, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "selected_cell_types": [ - { - "ontology": "CL:2000001", - "ontology_label": "peripheral blood mononuclear cell", - "text": "peripheral blood mononuclear cell" - } - ] - }, - "cell_suspension/af3549f4-8632-58c2-9821-c6249c622b0a": { - "biomaterial_core": { - "biomaterial_id": "AP2CS", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "estimated_cell_count": 20000, - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "provenance": { - "document_id": "af3549f4-8632-58c2-9821-c6249c622b0a", - "schema_major_version": 13, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "selected_cell_types": [ - { - "ontology": "CL:2000001", - "ontology_label": "peripheral blood mononuclear cell", - "text": "peripheral blood mononuclear cell" - } - ] - }, - "analysis_file/f0c8ac7c-1c4a-5c9c-9286-c8b16208f9ae": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/6.5.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "count matrix", - "text": "count matrix" - } - ], - "file_name": "AP2_file.h5ad", - "file_source": "Contributor", - "format": "h5ad" - }, - "matrix_cell_count": 15000, - "provenance": { - "document_id": "f0c8ac7c-1c4a-5c9c-9286-c8b16208f9ae", - "schema_major_version": 6, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_protocol/811adf54-7f27-5aec-9ed7-c6084c4c3a1b": { - "computational_method": "10x v3", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/analysis/10.0.0/analysis_protocol", - "matrix": { - "data_normalization_methods": [ - "CPM (counts per million)", - "Downsampling" - ], - "derivation_process": [ - "alignment" - ] - }, - "protocol_core": { - "protocol_description": "Newcastle: Scrublet (v0.2.1) was applied to each sample to generate a doublet score. These formed a bimodal distribution so the tool's automatic threshold was applied. Cambridge: Non-empty droplets were called within each multiplexed pool of donors using the emptyDrops function implemented in the Bioconductor package DropletUtils, using a UMI threshold of 100 and FDR of 1%. The probability of being a doublet was estimated for each cell per sample (that is one 10x lane) using the \"doubletCells\" function in scran based on highly variable genes (HVGs). Next, we used \"cluster_walktrap\" on the SNN-Graph that was computed on HVGs to form highly resolved clusters per sample. Per-sample clusters with either a median doublet score greater than the median + 2.5 x MAD or clusters containing more than the median + 2.5 MAD genotype doublets were tagged as doublets. This was followed by a second round of highly-resolved clustering across the whole data set, in which again cells belonging to clusters with a high proportion (> 60%) of cells previously labelled as doublets were also defined as doublets. UCL/Sanger: For pooled donor CITE-seq samples, the donor ID of each cell was determined by genotype-based demultiplexing using souporcell version 2. Souporcell analyses were performed with 'skip_remap' enabled and a set of known donor genotypes given under the 'common_variants' parameter. The donor ID of each souporcell genotype cluster was annotated by comparing each souporcell genotype to the set of known genotypes. Droplets that contained more than one genotype according to souporcell were flagged as 'ground-truth' doublets for heterotypic doublet identification. Ground-truth doublets were used by DoubletFinder 2.0.3 to empirically determine an optimal 'pK' value for doublet detection. DoubletFinder analysis was performed on each sample separately using 10 principal components, a 'pN' value of 0.25, and the 'nExp' parameter estimated from the fraction of ground-truth doublets and the number of pooled donors. Combined raw data from the three centres was filtered to remove those that expressed fewer than 200 genes and >10% mitochondrial reads. Data was normalised (scanpy: normalize_total), log+1 corrected (scanpy: log1p) and highly variable genes identified using the Seurat vst algorithm (scanpy: highly_variable_genes). Harmony was used to adjust principal components by sample ID and used to generate the neighbourhood graph and embedded using UMAP. Clustering was performed using the Leiden algorithm with an initial resolution of 3. For initial clustering, differentially expressed genes were calculated using Wilcoxon rank-sum test.", - "protocol_id": "Combined_AnalysisProt", - "protocol_name": "Combined analysis protocol" - }, - "provenance": { - "document_id": "811adf54-7f27-5aec-9ed7-c6084c4c3a1b", - "schema_major_version": 10, - "schema_minor_version": 0, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol", - "type": { - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation", - "text": "enzymatic dissociation" - } - }, - "library_preparation_protocol/767282b2-2fc1-5559-b020-29686b810206": { - "cell_barcode": { - "barcode_length": 16, - "barcode_offset": 0, - "barcode_read": "Read 1" - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/sequencing/6.3.1/library_preparation_protocol", - "end_bias": "3 prime tag", - "input_nucleic_acid_molecule": { - "text": "polyA RNA" - }, - "library_construction_method": { - "ontology": "EFO:0009922", - "ontology_label": "10x 3' v3", - "text": "10xV3" - }, - "nucleic_acid_source": "single cell", - "protocol_core": { - "protocol_description": "Half a million viable cells were resuspended in 25 \u0152\u00bal of FACS buffer and incubated with 2.5 \u0152\u00bal of Human TruStain FcX\u201a\u00d1\u00a2 Fc Blocking Reagent (BioLegend 422302) for 10 min at 4oC. The TotalSeq-C\u201a\u00d1\u00a2 antibody cocktail (BioLegend 99813) was centrifuged at 14,000g at 4\u02daC for 1 min, resuspended in 52ul of FACS buffer, incubated at room temperature for 5 minutes and centrifuged at 14,000g at 4\u00ac\u221eC for 10 min. 25ul were subsequently added to each sample pool and incubated for 30 min at 4\u02daC in the dark. Pools were washed 3 times with 27 volumes (1.4 ml) of FACS buffer, followed by centrifugation at 500 g for 5 minutes. The pellet was resuspended in 62.5 \u00b5l of 1 x PBS + 0.04 % BSA (Ambion, #AM2616), filtered through a 40 \u0152\u00bam cell strainer (Flowmi H13680-0040) and the viability of each sample pool was assessed. 50,000 live cells (up to a maximum of 60,000 total cells) for each pool were processed using Single Cell VDJ 5' version 1.1 (1000020) together with Single Cell 5' Feature Barcode library kit (1000080), Single Cell V(D)J Enrichment Kit, Human B Cells (1000016) and Single Cell V(D)J Enrichment Kit, Human T Cells (1000005) (10x Genomics) according to the manufacturer's protocols. The samples were subjected to 12 cycles of cDNA amplification and 8 cycles for the cell surface protein library construction. Following this, the libraries were processed according to the manufacturer's protocol. Libraries were pooled per sample using a ratio 9:2.4:1:0.6 for gene expression, cell surface, TCR enriched and BCR enriched libraries.", - "protocol_id": "Cambridge_LibraryPrep", - "protocol_name": "Cambridge SingleCell VDJ 5' 1.1" - }, - "provenance": { - "document_id": "767282b2-2fc1-5559-b020-29686b810206", - "schema_major_version": 6, - "schema_minor_version": 3, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol", - "strand": "first", - "umi_barcode": { - "barcode_length": 12, - "barcode_offset": 16, - "barcode_read": "Read 1" - } - }, - "treatment_protocol/0f959f0b-5efa-5cc8-9c46-097b0cb574d5": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/1.0.0/treatment_protocol", - "media": "RPMI 1640", - "method": [ - { - "ontology": "EFO:0030037", - "ontology_label": "T cell activation assay", - "text": "T cell activation assay" - } - ], - "protocol_core": { - "protocol_description": "Cells were incubated with a culture media containing an activator agent, mimicking the natural activation and expansion process.", - "protocol_id": "treatment_protocol", - "protocol_name": "treatment protocol" - }, - "provenance": { - "document_id": "0f959f0b-5efa-5cc8-9c46-097b0cb574d5", - "schema_major_version": 1, - "schema_minor_version": 0, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol", - "target_pathway": [ - { - "ontology": "GO:0050870", - "ontology_label": "positive regulation of T cell activation", - "text": "positive regulation of T cell activation" - } - ] - }, - "specimen_from_organism/3bee0c9a-aced-52f2-b97f-89518f826b36": { - "biomaterial_core": { - "biomaterial_id": "AP2_specimen", - "biomaterial_name": "AP2_specimen", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/10.5.0/specimen_from_organism", - "diseases": [ - { - "ontology": "MONDO:0100096", - "ontology_label": "COVID-19", - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "organ": { - "ontology": "UBERON:0000178", - "ontology_label": "blood", - "text": "blood" - }, - "provenance": { - "document_id": "3bee0c9a-aced-52f2-b97f-89518f826b36", - "schema_major_version": 10, - "schema_minor_version": 5, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial" - }, - "enrichment_protocol/46435803-7ee8-5157-8569-8a61ad50c315": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "method": { - "ontology": "EFO:0009337", - "ontology_label": "cell size selection", - "text": "cell size selection" - }, - "protocol_core": { - "protocol_description": "Peripheral blood mononuclear cells (PBMCs) were isolated using Leucosep tubes (Greiner Bio-One) with Histopaque 1077 (Sigma) by centrifugation at 800x g for 15 minutes at room temperature. PBMCs at the interface were collected, rinsed twice with autoMACS running buffer (Miltenyi Biotech) and cryopreserved in FBS with 10% DMSO. All samples were processed within 4 hours of collection. Purified PBMCs were thawed at 37oC, transferred to a 50 mL tube and 10 volumes of pre-warmed thawing media (IMDM (Gibco 12440-053) with 50% (v/v) FCS (not heat inactivated; Panbiotech P40-37500) and 0.1 mg/ml DNaseI (Worthington LS002139)) were added slowly and dropwise, followed by centrifugation at 500g for 5 min. The pellet was resuspended in 1 ml of FACS buffer (PBS (Sigma D8537) with 3% (v/v) heat-inactivated FCS) and viability of each sample was assessed by counting in an improved Neubauer chamber using Trypan blue. Pools of 4 samples were generated by combining 0.5 million live cells per individual (2 million live cells total). The pools were washed twice in FACS buffer (10 mL and 2 mL, respectively) followed by centrifugation for 5 min at 500 g. The pellet was then resuspended in 35 \u0152\u00bal of FACS buffer and the viability of each pool was assessed.", - "protocol_id": "Cambridge_Enrichment" - }, - "provenance": { - "document_id": "46435803-7ee8-5157-8569-8a61ad50c315", - "schema_major_version": 3, - "schema_minor_version": 1, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - }, - "donor_organism/5bc2bf2f-eb98-5510-a386-172cef38f2f2": { - "biomaterial_core": { - "biomaterial_id": "AP2", - "biomaterial_name": "Sanger_AP2", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/15.6.1/donor_organism", - "development_stage": { - "ontology": "HsapDv:0000087", - "ontology_label": "human adult stage", - "text": "human adult stage" - }, - "diseases": [ - { - "ontology": "MONDO:0100096", - "ontology_label": "COVID-19", - "text": "COVID-19" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "is_living": "yes", - "organism_age": "66", - "organism_age_unit": { - "ontology": "UO:0000036", - "ontology_label": "year", - "text": "year" - }, - "provenance": { - "document_id": "5bc2bf2f-eb98-5510-a386-172cef38f2f2", - "schema_major_version": 15, - "schema_minor_version": 6, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "biomaterial", - "sex": "unknown" - }, - "collection_protocol/e7f864e3-6ba7-53c8-842f-2a05cb90e1b7": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "method": { - "ontology": "EFO:0009121", - "ontology_label": "blood draw", - "text": "blood draw" - }, - "protocol_core": { - "protocol_description": "Study participants were recruited between 31/3/2020 and 20/7/2020 from patients attending Addenbrooke\u2019s Hospital with a suspected or nucleic acid amplification test (NAAT) confirmed diagnosis of COVID-19 (including point of care testing (Collier et al., 2020; Mlcochova et al., 2020)), patients admitted to Royal Papworth Hospital NHS Foundation Trust or Cambridge and Peterborough Foundation Trust with a confirmed diagnosis of COVID-19, together with Health Care Workers identified through staff screening as PCR positive for SARS-CoV-2 (Rivett et al., 2020). Controls were recruited among hospital staff attending Addenbrooke\u2019s serology screening programme, and selected to cover the whole age spectrum of COVID-19 positive study participants, across both genders. Only controls with negative serology results (45 out of 47) were subsequently included in the study. Recruitment of inpatients at Addenbrooke\u2019s Hospital and Health Care Workers was undertaken by the NIHR Cambridge Clinical Research Facility outreach team and the NIHR BioResource research nurse team. Ethical approval was obtained from the East of England \u2013 Cambridge Central Research Ethics Committee (\u201cNIHR BioResource\u201d REC ref 17/EE/0025, and \u201cGenetic variation AND Altered Leukocyte Function in health and disease - GANDALF\u201d REC ref 08/H0308/176). All participants provided informed consent. Each participant provided 27 mL of peripheral venous blood collected into a 9 mL sodium citrate tube.", - "protocol_id": "Cambridge_Collection" - }, - "provenance": { - "document_id": "e7f864e3-6ba7-53c8-842f-2a05cb90e1b7", - "schema_major_version": 9, - "schema_minor_version": 2, - "submission_date": "2021-01-01T00:00:00.000000Z", - "update_date": "2021-01-01T00:00:00.000000Z" - }, - "schema_type": "protocol" - } - }, - "links": { - "describedBy": "https://schema.staging.data.humancellatlas.org/system/3.1.0/links", - "links": [ - { - "inputs": [ - { - "input_id": "af3549f4-8632-58c2-9821-c6249c622b0a", - "input_type": "cell_suspension" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "f0c8ac7c-1c4a-5c9c-9286-c8b16208f9ae", - "output_type": "analysis_file" - } - ], - "process_id": "d7b8cbff-aee9-5a05-a4a1-d8f4e720aee7", - "process_type": "process", - "protocols": [ - { - "protocol_id": "811adf54-7f27-5aec-9ed7-c6084c4c3a1b", - "protocol_type": "analysis_protocol" - }, - { - "protocol_id": "767282b2-2fc1-5559-b020-29686b810206", - "protocol_type": "library_preparation_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "119c4135-7b77-5003-a150-f052e22c6834", - "input_type": "cell_suspension" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "af3549f4-8632-58c2-9821-c6249c622b0a", - "output_type": "cell_suspension" - } - ], - "process_id": "b8ec88d7-675c-54ff-8071-63255adc181b", - "process_type": "process", - "protocols": [ - { - "protocol_id": "0f959f0b-5efa-5cc8-9c46-097b0cb574d5", - "protocol_type": "treatment_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "3bee0c9a-aced-52f2-b97f-89518f826b36", - "input_type": "specimen_from_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "119c4135-7b77-5003-a150-f052e22c6834", - "output_type": "cell_suspension" - } - ], - "process_id": "bd6a4a38-c44b-5d17-b2b1-d0d4c4531bf0", - "process_type": "process", - "protocols": [ - { - "protocol_id": "46435803-7ee8-5157-8569-8a61ad50c315", - "protocol_type": "enrichment_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "5bc2bf2f-eb98-5510-a386-172cef38f2f2", - "input_type": "donor_organism" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "3bee0c9a-aced-52f2-b97f-89518f826b36", - "output_type": "specimen_from_organism" - } - ], - "process_id": "37e91a9f-b04e-5313-bbc0-4c394406247e", - "process_type": "process", - "protocols": [ - { - "protocol_id": "e7f864e3-6ba7-53c8-842f-2a05cb90e1b7", - "protocol_type": "collection_protocol" - } - ] - } - ], - "schema_type": "links", - "schema_version": "3.1.0" - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/d8c20944-739f-4e7d-9161-b720953432ce.tables.tdr.json b/test/indexer/data/d8c20944-739f-4e7d-9161-b720953432ce.tables.tdr.json deleted file mode 100644 index 98563ed3ad..0000000000 --- a/test/indexer/data/d8c20944-739f-4e7d-9161-b720953432ce.tables.tdr.json +++ /dev/null @@ -1,2238 +0,0 @@ -{ - "tables": { - "analysis_file": { - "rows": [ - { - "analysis_file_id": "7a015307-6db9-541f-aaae-db9fdb41000f", - "version": "2020-08-10T21:24:26.174274Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "6f5ddf2c-382d-4c0a-a506-3a5286067c83_qc.bam", - "format": "bam" - }, - "provenance": { - "document_id": "7a015307-6db9-541f-aaae-db9fdb41000f", - "submission_date": "2020-08-10T14:24:26.174274-07:00" - }, - "schema_type": "file" - }, - "file_id": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_3e8ae9cf-cb0c-40db-adf9-29289d2bceed", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "663a65bd", - "sha256": "ee0f3adaae040b58653e601c9c031e50d2537f05df6e4ce16e1f8e2cf48b50e4", - "file_name": "6f5ddf2c-382d-4c0a-a506-3a5286067c83_qc.bam", - "file_version": "2021-04-09T18:59:14.000000Z", - "file_id": "c8e93df7-2623-5e86-890a-aca3e925795e", - "content_type": "application/octet-stream", - "size": 1683777 - } - }, - { - "analysis_file_id": "b8b76328-854c-5862-a688-9b761a9cea86", - "version": "2020-08-10T21:24:26.174274Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "6f5ddf2c-382d-4c0a-a506-3a5286067c83_qc.bam.bai", - "format": "bai" - }, - "provenance": { - "document_id": "b8b76328-854c-5862-a688-9b761a9cea86", - "submission_date": "2020-08-10T14:24:26.174274-07:00" - }, - "schema_type": "file" - }, - "file_id": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_6783e9b7-f3f3-4e4f-845f-0f3cc9743c91", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "776f1ec2", - "sha256": "1bb86ee570e328dcd72a684689ddd87c966209cfc4b2b5c36e50dd0e4c156cab", - "file_name": "6f5ddf2c-382d-4c0a-a506-3a5286067c83_qc.bam.bai", - "file_version": "2021-04-09T18:59:13.000000Z", - "file_id": "23b7f3f8-b707-5f3c-b8e6-9173efa9dcf8", - "content_type": "application/octet-stream", - "size": 1335488 - } - } - ] - }, - "analysis_protocol": { - "rows": [ - { - "analysis_protocol_id": "099457a1-a453-54c6-aae5-b70dafa33bbd", - "version": "2020-08-10T21:24:26.174274Z", - "content": { - "computational_method": "https://dockstore.org/workflows/github.com/broadinstitute/warp/Smartseq2_Multisample:MultiSampleSmartSeq2_v2.1.4", - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/9.1.0/analysis_protocol", - "protocol_core": { - "protocol_id": "multisamplesmartseq2_v2.1.4" - }, - "provenance": { - "document_id": "099457a1-a453-54c6-aae5-b70dafa33bbd", - "submission_date": "2020-08-10T14:24:26.174274-07:00", - "update_date": "2020-08-10T14:24:26.174274-07:00" - }, - "schema_type": "protocol", - "type": { - "text": "analysis_protocol" - } - } - } - ] - }, - "analysis_process": { - "rows": [ - { - "analysis_process_id": "848c816e-4ae8-4c9a-9e3d-ebe447519ff4", - "version": "2020-08-10T21:24:26.174274Z", - "content": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "fastq1", - "parameter_value": "drs://jade.datarepo-dev.broadinstitute.org/v1_9449a9f4-85aa-45cb-9fbf-cead88bf8f7d_0800619e-5da7-4a4d-a082-3953ddc3e7fa" - }, - { - "parameter_name": "gene_ref_flat", - "parameter_value": "gs://gcp-public-data--broad-references/mm10/v0/gencode.vM21.primary_assembly.annotation.refflat.txt" - }, - { - "parameter_name": "genome_ref_fasta", - "parameter_value": "gs://gcp-public-data--broad-references/mm10/v0/GRCm38.primary_assembly.genome.fa" - }, - { - "parameter_name": "hisat2_ref_index", - "parameter_value": "gs://gcp-public-data--broad-references/mm10/v0/hisat2_primary_gencode_mouse_vM21.tar.gz" - }, - { - "parameter_name": "hisat2_ref_name", - "parameter_value": "hisat2_primary_gencode_mouse_vM21" - }, - { - "parameter_name": "hisat2_ref_trans_name", - "parameter_value": "hisat2_from_rsem_star_primary_gencode_mouse_vM21" - }, - { - "parameter_name": "output_name", - "parameter_value": "6f5ddf2c-382d-4c0a-a506-3a5286067c83" - }, - { - "parameter_name": "rrna_intervals", - "parameter_value": "gs://gcp-public-data--broad-references/mm10/v0/gencode.vM21.primary_assembly.annotation.interval_list" - }, - { - "parameter_name": "rsem_ref_index", - "parameter_value": "gs://gcp-public-data--broad-references/mm10/v0/rsem_primary_gencode_mouse_vM21.tar" - }, - { - "parameter_name": "stranded", - "parameter_value": "NONE" - }, - { - "parameter_name": "input_id", - "parameter_value": "6f5ddf2c-382d-4c0a-a506-3a5286067c83" - }, - { - "parameter_name": "fastq2", - "parameter_value": "drs://jade.datarepo-dev.broadinstitute.org/v1_9449a9f4-85aa-45cb-9fbf-cead88bf8f7d_dc202bb3-425a-405f-99bd-75ac07a33131" - } - ], - "process_core": { - "process_id": "848c816e-4ae8-4c9a-9e3d-ebe447519ff4" - }, - "provenance": { - "document_id": "848c816e-4ae8-4c9a-9e3d-ebe447519ff4", - "submission_date": "2020-08-10T14:24:26.174274-07:00" - }, - "reference_files": [ - "dda2c496-82ec-5963-bc8b-1daae19d192d" - ], - "schema_type": "process", - "tasks": [], - "timestamp_start_utc": "2021-04-09T19:10:24.866Z", - "timestamp_stop_utc": "2021-04-09T19:19:49.287Z", - "type": { - "text": "analysis" - } - } - } - ] - }, - "cell_suspension": { - "rows": [ - { - "cell_suspension_id": "906f8f09-deaa-40bb-bf50-27d2336b2dc4", - "version": "2019-09-20T13:43:52.387000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "cellsuspension3", - "biomaterial_name": "CD45+ HLA-DR+ d9 iDCs", - "biomaterial_description": "Induced Dendritic cells at reprogramming day 9", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "selected_cell_types": [ - { - "text": "Reprogrammed dendritic cell", - "ontology": "CL:0000451", - "ontology_label": "dendritic cell" - } - ], - "provenance": { - "document_id": "906f8f09-deaa-40bb-bf50-27d2336b2dc4", - "submission_date": "2019-09-20T13:43:45.365Z", - "update_date": "2019-09-20T13:43:52.387Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - } - }, - { - "cell_suspension_id": "201ae4d0-c7c6-4777-947f-18f5268884b6", - "version": "2019-05-14T12:06:23.503000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.1.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "22167_7#271", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "selected_cell_types": [ - { - "text": "CD31+ endothelial" - } - ], - "estimated_cell_count": 1, - "plate_based_sequencing": { - "plate_label": "821", - "well_label": "F04" - }, - "provenance": { - "document_id": "201ae4d0-c7c6-4777-947f-18f5268884b6", - "submission_date": "2019-05-14T11:04:35.954Z", - "update_date": "2019-05-14T12:06:23.503Z" - } - } - } - ] - }, - "specimen_from_organism": { - "rows": [ - { - "specimen_from_organism_id": "d6a518a8-0c5d-4cb0-aed5-68f3455c2bda", - "version": "2019-09-20T13:43:52.654000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Specimen1", - "biomaterial_name": "Fibroblasts", - "biomaterial_description": "Human Embryonic Fibroblasts", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "embryo", - "ontology": "UBERON:0000922", - "ontology_label": "embryo" - }, - "organ_parts": [ - { - "text": "skin epidermis", - "ontology": "UBERON:0001003", - "ontology_label": "skin epidermis" - } - ], - "diseases": [ - { - "text": "Normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "collection_time": "2018-06-19", - "provenance": { - "document_id": "d6a518a8-0c5d-4cb0-aed5-68f3455c2bda", - "submission_date": "2019-09-20T13:43:45.329Z", - "update_date": "2019-09-20T13:43:52.654Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - } - }, - { - "specimen_from_organism_id": "5d82b884-7db4-47fa-9ccd-03054065c509", - "version": "2019-05-14T11:59:17.317000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.2.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "1265/1274_skin", - "biomaterial_name": "Mouse_skin_control", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "skin", - "ontology": "UBERON:0002097", - "ontology_label": "skin of body" - }, - "provenance": { - "document_id": "5d82b884-7db4-47fa-9ccd-03054065c509", - "submission_date": "2019-05-14T11:01:26.961Z", - "update_date": "2019-05-14T11:59:17.317Z" - } - } - } - ] - }, - "cell_line": { - "rows": [ - { - "cell_line_id": "70054038-cb12-429d-bb37-69185ff1deee", - "version": "2019-09-20T13:43:52.455000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/14.5.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Cell_line_2", - "biomaterial_name": "CD45+ HLA-DR+ d9 iDCs", - "biomaterial_description": "Induced Dendritic cells at reprogramming day 9", - "ncbi_taxon_id": [ - 9606 - ] - }, - "type": "primary", - "model_organ": { - "text": "immune system", - "ontology": "UBERON:0002405", - "ontology_label": "immune system" - }, - "growth_conditions": { - "growth_medium": "Dulbecco\u2019s modified Eagle\u2019s medium supplemented with 10% (v/v) FBS, 2 mM l-glutamine, and antibiotics (penicillin and streptomycin, 10 \uf06dg/ml)", - "culture_environment": "Adherent cell culture" - }, - "cell_type": { - "text": "dendritic cell", - "ontology": "CL:0000451", - "ontology_label": "dendritic cell" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "provenance": { - "document_id": "70054038-cb12-429d-bb37-69185ff1deee", - "submission_date": "2019-09-20T13:43:45.344Z", - "update_date": "2019-09-20T13:43:52.455Z", - "schema_major_version": 14, - "schema_minor_version": 5 - } - } - } - ] - }, - "donor_organism": { - "rows": [ - { - "donor_organism_id": "2b7adb0a-82a4-4319-80d1-4a73d879dec1", - "version": "2019-09-20T13:43:52.612000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Donor1", - "biomaterial_name": "Donor 1", - "biomaterial_description": "Human embryo donor", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "unknown", - "is_living": "no", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "gestational_age": "8.5", - "gestational_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "development_stage": { - "text": "6.5 week-old human embryo", - "ontology": "HsapDv:0000025", - "ontology_label": "Carnegie stage 18" - }, - "death": { - "cause_of_death": "Unkown", - "cold_perfused": false - }, - "provenance": { - "document_id": "2b7adb0a-82a4-4319-80d1-4a73d879dec1", - "submission_date": "2019-09-20T13:43:45.321Z", - "update_date": "2019-09-20T13:43:52.612Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - } - }, - { - "donor_organism_id": "3211ef8f-a60c-4892-ae55-91d6752dcd75", - "version": "2019-05-14T11:29:52.575000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.3.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "1265/1274", - "biomaterial_name": "Mouse_skin_control", - "ncbi_taxon_id": [ - 10090 - ] - }, - "timecourse": { - "value": "0", - "unit": { - "text": "day", - "ontology": "UO:0000033", - "ontology_label": "day" - }, - "relevance": "Time after B16.F10 melanoma cells were injected, subcutaneously, into the shoulders of animals that animals were sacrificed and tissues collected for analysis." - }, - "mouse_specific": { - "strain": [ - { - "text": "C57BL/6", - "ontology": "EFO:0004472", - "ontology_label": "C57BL/6" - } - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organism_age": "6-12", - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034", - "ontology_label": "week" - }, - "diseases": [ - { - "text": "subcutaneous melanoma", - "ontology": "MONDO:0005105", - "ontology_label": "melanoma (disease)" - } - ], - "is_living": "no", - "sex": "female", - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272", - "ontology_label": "adult" - }, - "provenance": { - "document_id": "3211ef8f-a60c-4892-ae55-91d6752dcd75", - "submission_date": "2019-05-14T11:01:25.832Z", - "update_date": "2019-05-14T11:29:52.575Z" - } - } - } - ] - }, - "sequence_file": { - "rows": [ - { - "sequence_file_id": "5f68ea73-350b-4d37-a341-3004139fb699", - "version": "2019-09-20T13:50:35.660000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L001_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "23b88d6cfe7a0841e1c08e9c4db83ede" - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "5f68ea73-350b-4d37-a341-3004139fb699", - "submission_date": "2019-09-20T13:43:45.625Z", - "update_date": "2019-09-20T13:50:35.660Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_c82292d3-61d1-5785-b8dc-24b9365df5bd", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "f222c2e3", - "sha1": "82599ed6a9e0beb47fd5bd87e718959dbbecb0bd", - "sha256": "5a51c7ea8ce08cafb06d279041bd65f0759ab24bb6d2c25f2ca488d017cd2bc6", - "s3_etag": "4cc2f68ce54b988081c14118adc480c4-7", - "file_name": "IDC9_L001_I1.fastq.gz", - "file_version": "2019-09-24T09:35:07.310307Z", - "file_id": "08bc2234-5157-4f5c-b348-5d63cc9f14e1", - "content_type": "application/gzip", - "size": 445530013 - } - }, - { - "sequence_file_id": "23f8e139-f4fa-4476-ba59-ff5d37003c34", - "version": "2019-09-20T13:50:08.455000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L001_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "196b3da7c89c8a36a0aa4b96dc5c84e0" - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 26, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "23f8e139-f4fa-4476-ba59-ff5d37003c34", - "submission_date": "2019-09-20T13:43:45.633Z", - "update_date": "2019-09-20T13:50:08.455Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_93ce1f3e-a963-5463-948f-44751a37f48d", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "39eefc54", - "sha1": "4cf46e3cc2f8bc7fb019920ef0ff88c8d4541ef2", - "sha256": "c2910761bfe2eb3ec958d653bc518988a8ecc081628a07d11f3308e25fb8f05d", - "s3_etag": "046326b00d6cc7485eba093190ee7610-20", - "file_name": "IDC9_L001_R1.fastq.gz", - "file_version": "2019-09-24T09:35:07.508582Z", - "file_id": "c4288821-5775-4163-9543-5d29f847b03b", - "content_type": "application/gzip", - "size": 1324910829 - } - }, - { - "sequence_file_id": "3c3d882a-cc38-4eea-ac53-0885f906852e", - "version": "2019-09-20T13:52:19.666000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L001_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "ba420d4a2aa788fc5b063fd54b7e9a03" - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 98, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "3c3d882a-cc38-4eea-ac53-0885f906852e", - "submission_date": "2019-09-20T13:43:45.640Z", - "update_date": "2019-09-20T13:52:19.666Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_83e89c54-4fc6-58b0-800c-3788539c41e7", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "89a6b7e3", - "sha1": "73ce5b30e5c71e0ed538d67cf13e2bd638a86243", - "sha256": "6d84bb5bcfec87db8480a01e0c65f44f7caf1af8668010cb825ef8114de130e7", - "s3_etag": "06705170a39d451d000c0143135fc5c3-64", - "file_name": "IDC9_L001_R2.fastq.gz", - "file_version": "2019-09-24T09:35:07.677792Z", - "file_id": "1b9d4386-97ac-402d-a93d-40740b2c3c28", - "content_type": "application/gzip", - "size": 4274107018 - } - }, - { - "sequence_file_id": "35e07477-76cb-4a92-99b6-7b3bbb02ec06", - "version": "2019-09-20T13:49:42.254000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L002_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "0eae5835837bc998310b561d0e1380d9" - }, - "read_index": "index1", - "lane_index": 2, - "read_length": 8, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "35e07477-76cb-4a92-99b6-7b3bbb02ec06", - "submission_date": "2019-09-20T13:43:45.648Z", - "update_date": "2019-09-20T13:49:42.254Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_b644bacb-5e69-5f73-baaf-f32178b0d0fd", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "d90b80a2", - "sha1": "9a51a048fa73b59aa84f2a6b300bf3c57fb70346", - "sha256": "45ada227726e92de0638c50f4c2ac20ff3e2250f1138b436112d91d20fed19a3", - "s3_etag": "4077676da51c8b6eff706b1ebf43114c-7", - "file_name": "IDC9_L002_I1.fastq.gz", - "file_version": "2019-09-24T09:35:07.845958Z", - "file_id": "ed7405bd-c1d0-4501-9a7a-7e953d887322", - "content_type": "application/gzip", - "size": 432714077 - } - }, - { - "sequence_file_id": "63051b9f-87d4-4853-a4a0-5cc742ef6e72", - "version": "2019-09-20T13:50:59.836000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L002_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "962cdc9a0188888d24bf007d86937665" - }, - "read_index": "read1", - "lane_index": 2, - "read_length": 26, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "63051b9f-87d4-4853-a4a0-5cc742ef6e72", - "submission_date": "2019-09-20T13:43:45.656Z", - "update_date": "2019-09-20T13:50:59.836Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_dba31e1c-1b9c-56ae-af74-16b00b8144d2", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "bd8aacef", - "sha1": "b46f3cda41226009ad7b0caeefd76cccb4f7b7bc", - "sha256": "125e5c181744e2dacf0b156d4c0b82ce771701947b26ca738689edddfc3af97e", - "s3_etag": "31985ad7f32b053fa97f05216c6e805e-20", - "file_name": "IDC9_L002_R1.fastq.gz", - "file_version": "2019-09-24T09:35:08.157668Z", - "file_id": "292b2faf-0db3-4ba1-a6a5-cb7bdfa9313d", - "content_type": "application/gzip", - "size": 1297795360 - } - }, - { - "sequence_file_id": "6ca8e43f-5f40-4eb9-bfa9-294c54dbeade", - "version": "2019-09-20T13:52:17.560000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L002_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "4e034eb6725ea0e8492c9f2cac5e19b3" - }, - "read_index": "read2", - "lane_index": 2, - "read_length": 98, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "6ca8e43f-5f40-4eb9-bfa9-294c54dbeade", - "submission_date": "2019-09-20T13:43:45.663Z", - "update_date": "2019-09-20T13:52:17.560Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_f140bd59-16c2-5082-aaf6-1c929e7063c6", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "340ea243", - "sha1": "5d0217eedef4e8b60f0730de08c845b50890a2f9", - "sha256": "e65d5d070584e7b08847fac0be1f89b7760ee9b301df792a66e5698d7d76d7f5", - "s3_etag": "29da5762d5a55b9ecbd14c8663039f11-62", - "file_name": "IDC9_L002_R2.fastq.gz", - "file_version": "2019-09-24T09:35:08.227847Z", - "file_id": "ea44789f-43b3-4684-b515-800605394177", - "content_type": "application/gzip", - "size": 4151699736 - } - }, - { - "sequence_file_id": "3dffc456-caaf-4823-9f65-fc0db7abacbc", - "version": "2019-09-20T13:49:42.771000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L003_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "99891717a637f470f689c4ef14123550" - }, - "read_index": "index1", - "lane_index": 3, - "read_length": 8, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "3dffc456-caaf-4823-9f65-fc0db7abacbc", - "submission_date": "2019-09-20T13:43:45.671Z", - "update_date": "2019-09-20T13:49:42.771Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_bb455f5a-a70f-5155-85a0-46f475856e9f", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "7aaeea0b", - "sha1": "7e0667acc57bba6e57022d6e9e31dfa86f401ac1", - "sha256": "17456db03c93cef439a31b1a43f3165db4f27a1dc93dbc76263beb5d002a0530", - "s3_etag": "d7046367bee15cd004af8f9882874042-7", - "file_name": "IDC9_L003_I1.fastq.gz", - "file_version": "2019-09-24T09:35:08.401689Z", - "file_id": "dd7d84d2-c515-489f-9ead-3f7df2c66848", - "content_type": "application/gzip", - "size": 442526139 - } - }, - { - "sequence_file_id": "a2f4b05d-0dae-4655-acfd-ef3b91ae0ad0", - "version": "2019-09-20T13:50:08.492000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L003_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "39bfe9e0769d4f805a79c6df3c51a4a6" - }, - "read_index": "read1", - "lane_index": 3, - "read_length": 26, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "a2f4b05d-0dae-4655-acfd-ef3b91ae0ad0", - "submission_date": "2019-09-20T13:43:45.679Z", - "update_date": "2019-09-20T13:50:08.492Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_a5e4e698-1d4c-5a5d-8d7c-5c84ea0f30d8", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "47d49222", - "sha1": "a2493797f5cd1a2e644a08a0a81bc329c78ab950", - "sha256": "55bd588c98a7caa2089271d79b6e0838ea8036726a7e56619786d4a23afa53c9", - "s3_etag": "fc818501a59964e076aff1bc7f7068c6-20", - "file_name": "IDC9_L003_R1.fastq.gz", - "file_version": "2019-09-24T09:35:08.661156Z", - "file_id": "87fb0ccd-07d9-4dde-bbb0-c61338e3127b", - "content_type": "application/gzip", - "size": 1323109644 - } - }, - { - "sequence_file_id": "98ee0901-d34c-48a5-915a-0511bac325ec", - "version": "2019-09-20T13:53:16.941000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L003_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "5a4720812a69ff4548ff470a203ca5b5" - }, - "read_index": "read2", - "lane_index": 3, - "read_length": 98, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "98ee0901-d34c-48a5-915a-0511bac325ec", - "submission_date": "2019-09-20T13:43:45.687Z", - "update_date": "2019-09-20T13:53:16.941Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_e6c1d2ce-d6ad-500e-8682-626a555992ab", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "8644e13b", - "sha1": "b851d8660a9dc81813f6d31d75e7b248241b575f", - "sha256": "3813e23040c8e6a26a43fd1f164b2ec1d118e8f52b9d4510640f990d8e969dd8", - "s3_etag": "3188a7180ba75349ca223905e3f589c1-64", - "file_name": "IDC9_L003_R2.fastq.gz", - "file_version": "2019-09-24T09:35:08.872601Z", - "file_id": "c4613a58-8bfb-43c6-8901-35d579631859", - "content_type": "application/gzip", - "size": 4278033574 - } - }, - { - "sequence_file_id": "27fc1a2e-d70e-47ee-a4b7-92bf57e5b7a6", - "version": "2019-09-20T13:50:35.338000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L004_I1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "17c8cdbee10398d47ca3216eb66ce5d9" - }, - "read_index": "index1", - "lane_index": 4, - "read_length": 8, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "27fc1a2e-d70e-47ee-a4b7-92bf57e5b7a6", - "submission_date": "2019-09-20T13:43:45.696Z", - "update_date": "2019-09-20T13:50:35.338Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_a694f8a4-424d-56db-9329-d449667416ea", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "ee474d23", - "sha1": "9a726b1fcd446ad3777e5537d4ee809fa393b8b5", - "sha256": "8af97d885b995e7239a409f490e915f4754e7d1902f4a620f464995a422fb61f", - "s3_etag": "20497e6cbc5f671fa94cf69bf0febdad-7", - "file_name": "IDC9_L004_I1.fastq.gz", - "file_version": "2019-09-24T09:35:09.172703Z", - "file_id": "f0011946-dbea-4f87-9858-5e3fd32a9829", - "content_type": "application/gzip", - "size": 439983276 - } - }, - { - "sequence_file_id": "133f2a25-f3aa-49a7-b9b6-d185d302fb26", - "version": "2019-09-20T13:51:28.379000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L004_R1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "3bbd35e4d37ac51511afe5abb335cfa2" - }, - "read_index": "read1", - "lane_index": 4, - "read_length": 26, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "133f2a25-f3aa-49a7-b9b6-d185d302fb26", - "submission_date": "2019-09-20T13:43:45.704Z", - "update_date": "2019-09-20T13:51:28.379Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_385feda5-d1e3-5a51-8e55-f4f491a4e7bf", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "99cb5894", - "sha1": "8e36f67ce2f1ac6771a42c6b7b6053786d39c356", - "sha256": "439112aa9aebd86f7e6a0c2206e005c8824994105aad3844090d765397931ed2", - "s3_etag": "c9c70827a7c5d23bb150105a14112af9-20", - "file_name": "IDC9_L004_R1.fastq.gz", - "file_version": "2019-09-24T09:35:09.245235Z", - "file_id": "1abc51fb-6b3a-45e9-8691-fc250b4e0509", - "content_type": "application/gzip", - "size": 1325811624 - } - }, - { - "sequence_file_id": "e46af70a-0396-41db-9b74-330cb8244124", - "version": "2019-09-20T13:52:19.118000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "IDC9_L004_R2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "DNA sequence (raw)", - "ontology": "data:3494", - "ontology_label": "DNA sequence" - } - ], - "checksum": "2144c0da57ef826ce3a919982196a168" - }, - "read_index": "read2", - "lane_index": 4, - "read_length": 98, - "library_prep_id": "IDC9", - "provenance": { - "document_id": "e46af70a-0396-41db-9b74-330cb8244124", - "submission_date": "2019-09-20T13:43:45.711Z", - "update_date": "2019-09-20T13:52:19.118Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_065dad63-3e05-5738-8ba5-9925d5d73d5e", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "0b83b575", - "sha1": "9ee5c924eb8cce21b2544b92cea7df0ac84e6e2f", - "sha256": "4c9b22cfd3eb141a30a43fd52ce576b586279ca021444ff191c460a26cf1e4cc", - "s3_etag": "c92e5374ac0a53b228d4c1511c2d2842-63", - "file_name": "IDC9_L004_R2.fastq.gz", - "file_version": "2019-09-24T09:35:09.407370Z", - "file_id": "ae5d1035-8f2b-4355-a0ef-bbb99958b303", - "content_type": "application/gzip", - "size": 4218464933 - } - }, - { - "sequence_file_id": "8f8b9587-237f-4995-9461-c96eac53d615", - "version": "2019-05-14T12:18:53.532000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.0.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "22167_7#271_2.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 7, - "provenance": { - "document_id": "8f8b9587-237f-4995-9461-c96eac53d615", - "submission_date": "2019-05-14T10:57:43.396Z", - "update_date": "2019-05-14T12:18:53.532Z" - } - }, - "file_id": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_dc202bb3-425a-405f-99bd-75ac07a33131", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "0127ea62", - "sha1": "e7525d173fbbb5f1bcf5b2fa16ab67c6014c191a", - "sha256": "1f6c6f46078f45d6a308c819fe186ce25dcd36116497d9eb21990113c7fabb1e", - "s3_etag": "6aca4df2ef18b97243967887837c3bef", - "file_name": "22167_7#271_2.fastq.gz", - "file_version": "2019-05-16T02:50:21.322397Z", - "file_id": "f4132e3a-c468-4ca3-ad7b-b97b61054151", - "content_type": "application/gzip", - "size": 761919 - } - }, - { - "sequence_file_id": "ee7404a4-c183-4a75-8bd1-34b5fc140e81", - "version": "2019-05-14T12:13:41.926000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.0.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "22167_7#271_1.fastq.gz", - "format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 7, - "provenance": { - "document_id": "ee7404a4-c183-4a75-8bd1-34b5fc140e81", - "submission_date": "2019-05-14T10:57:43.387Z", - "update_date": "2019-05-14T12:13:41.926Z" - } - }, - "file_id": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_0800619e-5da7-4a4d-a082-3953ddc3e7fa", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "b679ed09", - "sha1": "4399c3035b32b61c5f82c56121fc7fff69b494c8", - "sha256": "9c74e575192defc4e6d40518fd590b6a13d134b3d87a97a6b5140b36f26ce01a", - "s3_etag": "8786a82f739d1848aa5be480faf65e70", - "file_name": "22167_7#271_1.fastq.gz", - "file_version": "2019-05-16T02:50:21.018890Z", - "file_id": "ebf2947d-76d2-405b-a559-68c6ebb1b2d5", - "content_type": "application/gzip", - "size": 718443 - } - } - ] - }, - "project": { - "rows": [ - { - "project_id": "116965f3-f094-4769-9d28-ae675c1b569c", - "version": "2019-10-03T10:54:38.894000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Reprogrammed_Dendritic_Cells", - "project_title": "Single cell profiling of human induced dendritic cells generated by direct reprogramming of embryonic fibroblasts", - "project_description": "Dendritic cells (DCs) are professional antigen-presenting cells specialized in the recognition, processing and presentation of antigens to T-cells, inducing adaptive immune responses. We have identified PU.1, IRF8 and BATF3 transcription factors (TFs) to reprogram human fibroblasts into DC type 1 (DC1). Induced DCs acquire a step-wise DC1 transcriptional signature at the single cell level as assessed with droplet based scRNA-seq. Hence, we provide evidence that antigen presentation can be dynamically programmed by a small combination of TFs in human cells. Moreover, it represents a platform for generating autologous DC1, the most attractive DC subset for cancer immunotherapy." - }, - "contributors": [ - { - "name": "Filipe,,Pereira", - "email": "filipe.pereira@med.lu.se", - "phone": "+46 72 243 00 14", - "institution": "Lund University", - "laboratory": "Department of Laboratory Medicine", - "address": "S\u00f6lvegatan 17, BMC A12,\u00a0Lund", - "country": "Sweden", - "corresponding_contributor": true, - "project_role": { - "text": "Principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-9724-1382" - }, - { - "name": "F\u00e1bio,,Rosa", - "email": "fabio.rosa.1993@gmail.com", - "phone": "+351 914 765 335", - "institution": "Lund University", - "laboratory": "Department of Laboratory Medicine", - "address": "S\u00f6lvegatan 17, BMC A12,\u00a0Lund", - "country": "Sweden", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-7714-5852" - }, - { - "name": "Cristiana,,Pires", - "email": "cristiana.pires@med.lu.se", - "phone": "+351 916 838 690", - "institution": "Lund University", - "laboratory": "Department of Laboratory Medicine", - "address": "S\u00f6lvegatan 17, BMC A12,\u00a0Lund", - "country": "Sweden", - "corresponding_contributor": false, - "project_role": { - "text": "Experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0003-3100-0903" - }, - { - "name": "Ilia,,Kurochkin", - "email": "ilia.kurochkin@skolkovotech.ru", - "phone": "+79 151 16 49 52", - "institution": "Skolkovo Institute of Science and Technology", - "laboratory": "Center for Neurobiology and Brain Restoration", - "address": "Moscow, 121205, Russia", - "country": "Russia", - "corresponding_contributor": false, - "project_role": { - "text": "Computational scientist", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - }, - "orcid_id": "0000-0003-2985-6323" - }, - { - "name": "Enrique,,Sapena Ventura", - "email": "enrique@ebi.ac.uk", - "institution": "European Bioinformatics Institute", - "laboratory": "Human Cell Atlas Data coordination Platform", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "HCA Data Wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - } - ], - "funders": [ - { - "grant_title": "4-year career package: Wallenberg Centre for Molecular Medicine and Faculty of Medicine at Lund University", - "grant_id": "Not provided", - "organization": "Wallenberg Foundation" - }, - { - "grant_title": "Generating Dendritic Cells by Direct Reprogramming", - "grant_id": "20180864", - "organization": "Crafoord Foundation\u00a0(Lund)" - }, - { - "grant_title": "Generating Dendritic Cells by Direct Reprogramming", - "grant_id": "CAN 2017/745", - "organization": "Cancerfonden\u00a0(Lund)" - }, - { - "grant_title": "ReproDC: Generating Antigen Presenting Cells by Direct Reprogramming", - "grant_id": "CENTRO-01-0145-FEDER-030013", - "organization": "FCT\u00a0Funda\u00e7\u00e3o para a Ci\u00eancia e Tecnologia (Lisbon)" - }, - { - "grant_title": "Generating Dendritic Cells by Direct Cell Reprogramming", - "grant_id": "2018-02442", - "organization": "Swedish research council\u00a0(Lund)" - } - ], - "provenance": { - "document_id": "116965f3-f094-4769-9d28-ae675c1b569c", - "submission_date": "2019-10-03T10:54:38.894Z", - "update_date": "2019-10-03T10:54:44.192Z", - "schema_major_version": 14, - "schema_minor_version": 1 - } - } - } - ] - }, - "library_preparation_protocol": { - "rows": [ - { - "library_preparation_protocol_id": "2945bb1f-90de-42a3-afa1-f57a62c853f0", - "version": "2019-09-20T13:43:52.178000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "SingleCell3_ReagentKitv2", - "protocol_name": "10x-Genomics v2 library preparation", - "protocol_description": "10x-Genomics v2 libraries were prepared according to manufacturer\u2019s instructions." - }, - "input_nucleic_acid_molecule": { - "text": "mRNA", - "ontology": "CHEBI:33699", - "ontology_label": "messenger RNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_method": { - "text": "10X v2 sequencing", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "second", - "provenance": { - "document_id": "2945bb1f-90de-42a3-afa1-f57a62c853f0", - "submission_date": "2019-09-20T13:43:45.399Z", - "update_date": "2019-09-20T13:43:52.078Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - } - }, - { - "library_preparation_protocol_id": "5b503dcb-dca6-4e4f-988b-f7100c030dc5", - "version": "2019-05-14T11:06:42.648000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.1.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "SmartSeq2_RTPCR_protocol", - "protocol_name": "Make/amplify cDNA for each cell", - "document": "SmartSeq2_RTPCR_protocol.pdf" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "library_construction_method": { - "text": "Smart-seq2", - "ontology": "EFO:0008931", - "ontology_label": "Smart-seq2" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "provenance": { - "document_id": "5b503dcb-dca6-4e4f-988b-f7100c030dc5", - "submission_date": "2019-05-14T11:06:34.760Z", - "update_date": "2019-05-14T11:06:42.648Z" - } - } - } - ] - }, - "sequencing_protocol": { - "rows": [ - { - "sequencing_protocol_id": "eca2ab79-ad61-411f-815a-4f6d936d992b", - "version": "2019-05-14T11:06:42.648000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.0.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "SmartSeq2_sequencing_protocol", - "protocol_name": "Sequencing SmartSeq2 cells", - "document": "SmartSeq2_sequencing_protocol.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565", - "ontology_label": "Illumina HiSeq 2500" - }, - "paired_end": true, - "method": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441", - "ontology_label": "full length single cell RNA sequencing" - }, - "provenance": { - "document_id": "eca2ab79-ad61-411f-815a-4f6d936d992b", - "submission_date": "2019-05-14T11:06:34.790Z", - "update_date": "2019-05-14T11:06:42.648Z" - } - } - }, - { - "sequencing_protocol_id": "08b09d15-ef99-4278-9b88-65127adb51b9", - "version": "2019-09-20T13:43:51.921000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Illumina_NextSeq", - "protocol_name": "Illumina NextSeq sequencing", - "protocol_description": "10x-Genomics v2 libraries were sequence on na Ilumina NextSeq according to manufacturer\u2019s instructions." - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0009173", - "ontology_label": "Illumina NextSeq 500" - }, - "local_machine_name": "NB502004", - "paired_end": false, - "method": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "10x": { - "fastq_method": "Cellranger mkfastq", - "fastq_method_version": "Cellranger 2.2.0", - "pooled_channels": 4.0 - }, - "provenance": { - "document_id": "08b09d15-ef99-4278-9b88-65127adb51b9", - "submission_date": "2019-09-20T13:43:45.404Z", - "update_date": "2019-09-20T13:43:51.921Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - } - } - ] - }, - "dissociation_protocol": { - "rows": [ - { - "dissociation_protocol_id": "eaf15851-97e3-4e4b-b81b-0e625098f4d5", - "version": "2019-09-20T13:43:52.177000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HEF_Dissociation", - "protocol_name": "Dissociation of human embryonic fibroblasts", - "protocol_description": "Fibroblasts were dissociated using trypsin to generate a single cell suspension." - }, - "method": { - "text": "Enzymatic dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "provenance": { - "document_id": "eaf15851-97e3-4e4b-b81b-0e625098f4d5", - "submission_date": "2019-09-20T13:43:45.376Z", - "update_date": "2019-09-20T13:43:52.077Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - } - }, - { - "dissociation_protocol_id": "fcba26aa-658c-4120-ab31-cc5a5a00f759", - "version": "2019-05-14T11:06:42.781000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.1.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "tissue_dissociation_protocol", - "protocol_name": "Extracting cells from lymph nodes", - "document": "TissueDissociationProtocol.pdf" - }, - "method": { - "text": "mechanical dissociation", - "ontology": "EFO:0009129", - "ontology_label": "mechanical dissociation" - }, - "provenance": { - "document_id": "fcba26aa-658c-4120-ab31-cc5a5a00f759", - "submission_date": "2019-05-14T11:06:34.561Z", - "update_date": "2019-05-14T11:06:42.781Z" - } - } - } - ] - }, - "enrichment_protocol": { - "rows": [ - { - "enrichment_protocol_id": "345bcbd2-f3a7-4f57-a806-fbb0ce4a25da", - "version": "2019-09-20T13:43:52.381000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "iDC_d9_Enrichment", - "protocol_name": "Enrichment of reprogrammed dendritic cells at day 9", - "protocol_description": "PU.1, IRF8 and BATF3 (PIB)-transduced human embryonic fibroblasts were FACS sorted and collected at day 9 (CD45+ HLA-DR+ cells) for single cell profilling." - }, - "method": { - "text": "FACS sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD45+ HLA-DR+", - "provenance": { - "document_id": "345bcbd2-f3a7-4f57-a806-fbb0ce4a25da", - "submission_date": "2019-09-20T13:43:45.392Z", - "update_date": "2019-09-20T13:43:52.381Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - } - }, - { - "enrichment_protocol_id": "dd7f3d64-4b79-48f0-9d8c-4324594fe820", - "version": "2019-05-14T11:06:42.695000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.0.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "FACS11", - "protocol_name": "FACS sorting cells by surface markers" - }, - "method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD45- CD31+", - "provenance": { - "document_id": "dd7f3d64-4b79-48f0-9d8c-4324594fe820", - "submission_date": "2019-05-14T11:06:34.747Z", - "update_date": "2019-05-14T11:06:42.695Z" - } - } - } - ] - }, - "collection_protocol": { - "rows": [ - { - "collection_protocol_id": "8612862e-beb1-416b-a807-0a83fae8d168", - "version": "2019-09-20T13:43:52.146000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HEF_collection", - "protocol_name": "Isolation of human embryonic fibroblasts", - "protocol_description": "After removal of the central nervous system, spinal ganglia and internal organs, residual embryonic tissue was transferred several times to a clean petri dish containing sterile cold hibernation medium to remove contaminant cells. The epidermis was then carefully removed by tearing the tissue with sterile forceps (at this point another set of sterile forceps was employed to avoid cell-contaminants from other organs). Sub-dissected epidermis was washed several times with hibernation medium prior seeding to a 0.1% gelatin-coated flask in HEF medium (DMEM-GlutaMAX, 5% FBS, 1% Sodium Puryvate, 1% Non-essential amino acids) supplemented with 50 ug/ml Gentamicin." - }, - "method": { - "text": "Dissection", - "ontology": "EFO:0003856", - "ontology_label": "dissection" - }, - "provenance": { - "document_id": "8612862e-beb1-416b-a807-0a83fae8d168", - "submission_date": "2019-09-20T13:43:45.371Z", - "update_date": "2019-09-20T13:43:52.146Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - } - } - ] - }, - "process": { - "rows": [ - { - "process_id": "15de6ce1-c185-4852-ade4-43614c5d048b", - "version": "2019-09-20T13:43:52.606000Z", - "content": { - "start_time": "2019.01.21", - "process_core": { - "process_id": "IDC9" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "15de6ce1-c185-4852-ade4-43614c5d048b", - "submission_date": "2019-09-20T13:43:45.768Z", - "update_date": "2019-09-20T13:43:52.606Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - } - }, - { - "process_id": "47ca0565-ab7d-42bd-8731-ce5d30cfd6c7", - "version": "2019-09-20T13:43:52.438000Z", - "content": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "47ca0565-ab7d-42bd-8731-ce5d30cfd6c7", - "submission_date": "2019-09-20T13:43:45.749Z", - "update_date": "2019-09-20T13:43:52.438Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - } - }, - { - "process_id": "df5114c9-9f52-451b-afde-3673392fc864", - "version": "2019-09-20T13:43:52.607000Z", - "content": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "df5114c9-9f52-451b-afde-3673392fc864", - "submission_date": "2019-09-20T13:43:45.718Z", - "update_date": "2019-09-20T13:43:52.607Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - } - }, - { - "process_id": "c5cf9180-535a-4d1c-bdee-4f6ce7845b1e", - "version": "2019-09-20T13:43:52.368000Z", - "content": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "c5cf9180-535a-4d1c-bdee-4f6ce7845b1e", - "submission_date": "2019-09-20T13:43:45.731Z", - "update_date": "2019-09-20T13:43:52.368Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - } - }, - { - "process_id": "33e31f6f-fe78-45bd-ae57-10d2d14253cf", - "version": "2019-05-14T12:29:57.858000Z", - "content": { - "process_core": { - "process_id": "process_id_4334" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.0.0/process", - "provenance": { - "document_id": "33e31f6f-fe78-45bd-ae57-10d2d14253cf", - "submission_date": "2019-05-14T11:18:26.609Z", - "update_date": "2019-05-14T12:29:57.858Z" - } - } - }, - { - "process_id": "6f5ddf2c-382d-4c0a-a506-3a5286067c83", - "version": "2019-05-14T12:20:34.464000Z", - "content": { - "process_core": { - "process_id": "proc_22167_7#271" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.0.0/process", - "provenance": { - "document_id": "6f5ddf2c-382d-4c0a-a506-3a5286067c83", - "submission_date": "2019-05-14T11:10:11.987Z", - "update_date": "2019-05-14T12:20:34.464Z" - } - } - }, - { - "process_id": "c0d18b81-0b54-4a11-864b-cd3f43b7e7bf", - "version": "2019-05-14T12:26:53.666000Z", - "content": { - "process_core": { - "process_id": "process_id_53" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.0.0/process", - "provenance": { - "document_id": "c0d18b81-0b54-4a11-864b-cd3f43b7e7bf", - "submission_date": "2019-05-14T11:12:16.527Z", - "update_date": "2019-05-14T12:26:53.666Z" - } - } - } - ] - }, - "links": { - "rows": [ - { - "links_id": "4426adc5-b3c5-5aab-ab86-51d8ce44dfbe", - "version": "2020-08-10T21:24:26.174274Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.1/links", - "schema_type": "links", - "schema_version": "2.1.1", - "links": [ - { - "inputs": [ - { - "input_id": "8f8b9587-237f-4995-9461-c96eac53d615", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "b8b76328-854c-5862-a688-9b761a9cea86", - "output_type": "analysis_file" - } - ], - "process_id": "848c816e-4ae8-4c9a-9e3d-ebe447519ff4", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "099457a1-a453-54c6-aae5-b70dafa33bbd", - "protocol_type": "analysis_protocol" - } - ] - } - ] - }, - "project_id": "116965f3-f094-4769-9d28-ae675c1b569c" - }, - { - "links_id": "b0c2c714-45ee-4759-a32b-8ccbbcf911d4", - "version": "2020-08-10T21:24:26.174274Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.1/links", - "schema_type": "links", - "schema_version": "2.1.1", - "links": [ - { - "inputs": [ - { - "input_id": "ee7404a4-c183-4a75-8bd1-34b5fc140e81", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "7a015307-6db9-541f-aaae-db9fdb41000f", - "output_type": "analysis_file" - } - ], - "process_id": "848c816e-4ae8-4c9a-9e3d-ebe447519ff4", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "099457a1-a453-54c6-aae5-b70dafa33bbd", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "6f5ddf2c-382d-4c0a-a506-3a5286067c83", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "201ae4d0-c7c6-4777-947f-18f5268884b6" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "8f8b9587-237f-4995-9461-c96eac53d615" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "5b503dcb-dca6-4e4f-988b-f7100c030dc5" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "eca2ab79-ad61-411f-815a-4f6d936d992b" - } - ] - } - ] - }, - "project_id": "116965f3-f094-4769-9d28-ae675c1b569c" - }, - { - "links_id": "bd4939c1-a078-43bd-8477-99ae59ceb555", - "version": "2020-08-10T21:24:26.174274Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.1/links", - "schema_type": "links", - "schema_version": "2.1.1", - "links": [ - { - "link_type": "process_link", - "process_type": "process", - "process_id": "33e31f6f-fe78-45bd-ae57-10d2d14253cf", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "5d82b884-7db4-47fa-9ccd-03054065c509" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "201ae4d0-c7c6-4777-947f-18f5268884b6" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "fcba26aa-658c-4120-ab31-cc5a5a00f759" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "dd7f3d64-4b79-48f0-9d8c-4324594fe820" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "6f5ddf2c-382d-4c0a-a506-3a5286067c83", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "201ae4d0-c7c6-4777-947f-18f5268884b6" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "ee7404a4-c183-4a75-8bd1-34b5fc140e81" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "5b503dcb-dca6-4e4f-988b-f7100c030dc5" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "eca2ab79-ad61-411f-815a-4f6d936d992b" - } - ] - }, - { - "link_type": "process_link", - "process_type": "process", - "process_id": "c0d18b81-0b54-4a11-864b-cd3f43b7e7bf", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "3211ef8f-a60c-4892-ae55-91d6752dcd75" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "5d82b884-7db4-47fa-9ccd-03054065c509" - } - ], - "protocols": [] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "116965f3-f094-4769-9d28-ae675c1b569c" - }, - "files": [ - { - "file_id": "e738a267-87fc-4070-abc7-b3be6442c6d0", - "file_type": "supplementary_file" - }, - { - "file_id": "01a1d04b-05d0-4904-b627-68b0dc02bc17", - "file_type": "supplementary_file" - }, - { - "file_id": "a06cb5d5-2675-4d64-aeb8-79e0103715f3", - "file_type": "supplementary_file" - } - ] - } - ] - }, - "project_id": "116965f3-f094-4769-9d28-ae675c1b569c" - }, - { - "links_id": "1b6d8348-d6e9-406a-aa6a-7ee886e52bf9", - "version": "2019-09-24T09:35:06.958773Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.5/links", - "schema_type": "links", - "schema_version": "2.0.0", - "links": [ - { - "inputs": [ - { - "input_id": "906f8f09-deaa-40bb-bf50-27d2336b2dc4", - "input_type": "cell_suspension" - } - ], - "outputs": [ - { - "output_id": "5f68ea73-350b-4d37-a341-3004139fb699", - "output_type": "sequence_file" - }, - { - "output_id": "23f8e139-f4fa-4476-ba59-ff5d37003c34", - "output_type": "sequence_file" - }, - { - "output_id": "3c3d882a-cc38-4eea-ac53-0885f906852e", - "output_type": "sequence_file" - }, - { - "output_id": "35e07477-76cb-4a92-99b6-7b3bbb02ec06", - "output_type": "sequence_file" - }, - { - "output_id": "63051b9f-87d4-4853-a4a0-5cc742ef6e72", - "output_type": "sequence_file" - }, - { - "output_id": "6ca8e43f-5f40-4eb9-bfa9-294c54dbeade", - "output_type": "sequence_file" - }, - { - "output_id": "3dffc456-caaf-4823-9f65-fc0db7abacbc", - "output_type": "sequence_file" - }, - { - "output_id": "a2f4b05d-0dae-4655-acfd-ef3b91ae0ad0", - "output_type": "sequence_file" - }, - { - "output_id": "98ee0901-d34c-48a5-915a-0511bac325ec", - "output_type": "sequence_file" - }, - { - "output_id": "27fc1a2e-d70e-47ee-a4b7-92bf57e5b7a6", - "output_type": "sequence_file" - }, - { - "output_id": "133f2a25-f3aa-49a7-b9b6-d185d302fb26", - "output_type": "sequence_file" - }, - { - "output_id": "e46af70a-0396-41db-9b74-330cb8244124", - "output_type": "sequence_file" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "2945bb1f-90de-42a3-afa1-f57a62c853f0" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "08b09d15-ef99-4278-9b88-65127adb51b9" - } - ], - "process_id": "15de6ce1-c185-4852-ade4-43614c5d048b", - "process_type": "process", - "link_type": "process_link" - }, - { - "inputs": [ - { - "input_id": "d6a518a8-0c5d-4cb0-aed5-68f3455c2bda", - "input_type": "specimen_from_organism" - }, - { - "input_id": "70054038-cb12-429d-bb37-69185ff1deee", - "input_type": "cell_line" - } - ], - "outputs": [ - { - "output_id": "906f8f09-deaa-40bb-bf50-27d2336b2dc4", - "output_type": "cell_suspension" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "eaf15851-97e3-4e4b-b81b-0e625098f4d5" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "345bcbd2-f3a7-4f57-a806-fbb0ce4a25da" - } - ], - "process_id": "47ca0565-ab7d-42bd-8731-ce5d30cfd6c7", - "process_type": "process", - "link_type": "process_link" - }, - { - "inputs": [ - { - "input_id": "2b7adb0a-82a4-4319-80d1-4a73d879dec1", - "input_type": "donor_organism" - } - ], - "outputs": [ - { - "output_id": "d6a518a8-0c5d-4cb0-aed5-68f3455c2bda", - "output_type": "specimen_from_organism" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "8612862e-beb1-416b-a807-0a83fae8d168" - } - ], - "process_id": "df5114c9-9f52-451b-afde-3673392fc864", - "process_type": "process", - "link_type": "process_link" - }, - { - "inputs": [ - { - "input_id": "d6a518a8-0c5d-4cb0-aed5-68f3455c2bda", - "input_type": "specimen_from_organism" - } - ], - "outputs": [ - { - "output_id": "70054038-cb12-429d-bb37-69185ff1deee", - "output_type": "cell_line" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "eaf15851-97e3-4e4b-b81b-0e625098f4d5" - } - ], - "process_id": "c5cf9180-535a-4d1c-bdee-4f6ce7845b1e", - "process_type": "process", - "link_type": "process_link" - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "116965f3-f094-4769-9d28-ae675c1b569c" - }, - "files": [ - { - "file_type": "supplementary_file", - "file_id": "22561f93-d5e0-57eb-a54e-2d9d565cc234" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "116965f3-f094-4769-9d28-ae675c1b569c" - }, - "files": [ - { - "file_type": "supplementary_file", - "file_id": "507d2814-1688-54e7-b73e-2f831aa34368" - } - ] - }, - { - "link_type": "supplementary_file_link", - "entity": { - "entity_type": "project", - "entity_id": "116965f3-f094-4769-9d28-ae675c1b569c" - }, - "files": [ - { - "file_type": "supplementary_file", - "file_id": "c343a47d-683f-571d-99c4-1331841b4e63" - } - ] - } - ] - }, - "project_id": "116965f3-f094-4769-9d28-ae675c1b569c" - } - ] - }, - "supplementary_file": { - "rows": [ - { - "supplementary_file_id": "22561f93-d5e0-57eb-a54e-2d9d565cc234", - "version": "2019-09-24T09:35:06.958773Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file/supplementary_file", - "schema_type": "file", - "provenance": { - "document_id": "22561f93-d5e0-57eb-a54e-2d9d565cc234", - "submission_date": "2019-09-24T09:35:06.958773Z" - }, - "file_core": { - "file_name": "22561f93-d5e0-57eb-a54e-2d9d565cc234_file_name.fmt", - "format": "unknown" - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_1d239f78-f3e6-5dfb-aeb0-f50d8d97b51c", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "00000000", - "sha256": "0000000000000000000000000000000000000000000000000000000000000000", - "file_name": "22561f93-d5e0-57eb-a54e-2d9d565cc234_file_name.fmt", - "file_version": "2019-09-24T09:35:06.958773Z", - "file_id": "046a88ef-d19f-51ed-9003-14847dffc820", - "content_type": "text/plain", - "size": 1024 - } - }, - { - "supplementary_file_id": "507d2814-1688-54e7-b73e-2f831aa34368", - "version": "2019-09-24T09:35:06.958773Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file/supplementary_file", - "schema_type": "file", - "provenance": { - "document_id": "507d2814-1688-54e7-b73e-2f831aa34368", - "submission_date": "2019-09-24T09:35:06.958773Z" - }, - "file_core": { - "file_name": "507d2814-1688-54e7-b73e-2f831aa34368_file_name.fmt", - "format": "unknown" - } - }, - "file_id": "drs://mock_tdr.lan/v1_d8c20944-739f-4e7d-9161-b720953432ce_9d6f268f-f484-5381-9095-f0998fa0c961", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "00000000", - "sha256": "0000000000000000000000000000000000000000000000000000000000000000", - "file_name": "507d2814-1688-54e7-b73e-2f831aa34368_file_name.fmt", - "file_version": "2019-09-24T09:35:06.958773Z", - "file_id": "519ee493-0984-5b54-95ec-85452d506b00", - "content_type": "text/plain", - "size": 1024 - } - }, - { - "supplementary_file_id": "c343a47d-683f-571d-99c4-1331841b4e63", - "version": "2019-09-24T09:35:06.958773Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.2.0/supplementary_file/supplementary_file", - "schema_type": "file", - "provenance": { - "document_id": "c343a47d-683f-571d-99c4-1331841b4e63", - "submission_date": "2019-09-24T09:35:06.958773Z" - }, - "file_core": { - "file_name": "c343a47d-683f-571d-99c4-1331841b4e63_file_name.fmt", - "format": "unknown" - } - }, - "file_id": null, - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "00000000", - "sha256": "0000000000000000000000000000000000000000000000000000000000000000", - "file_name": "c343a47d-683f-571d-99c4-1331841b4e63_file_name.fmt", - "file_version": "2019-09-24T09:35:06.958773Z", - "file_id": "19617367-cda8-54e0-8296-84623ef58c3f", - "content_type": "text/plain", - "size": 1024, - "drs_uri": null - } - }, - { - "supplementary_file_id": "01a1d04b-05d0-4904-b627-68b0dc02bc17", - "version": "2019-05-14T11:01:09.564000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.0.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "SmartSeq2_RTPCR_protocol.pdf", - "format": "pdf" - }, - "file_description": "Make/amplify cDNA for each cell", - "provenance": { - "document_id": "01a1d04b-05d0-4904-b627-68b0dc02bc17", - "submission_date": "2019-05-14T10:52:33.898Z", - "update_date": "2019-05-14T11:01:09.564Z" - } - }, - "file_id": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_4f8be791-addf-4633-991f-fdeda3bac8c8", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "b9364bfa", - "sha1": "89d9eb3f1b94f78a33d46c0288c2e81d4002049b", - "sha256": "2f6866c4ede92123f90dd15fb180fac56e33309b8fd3f4f52f263ed2f8af2f16", - "s3_etag": "846fd9e6b98041df46a1ddb94e85b6b9", - "file_name": "SmartSeq2_RTPCR_protocol.pdf", - "file_version": "2019-05-16T06:24:31.672118Z", - "file_id": "cd8e02d1-d0f9-4094-9a31-329931df60dc", - "content_type": "application/pdf", - "size": 29230 - } - }, - { - "supplementary_file_id": "a06cb5d5-2675-4d64-aeb8-79e0103715f3", - "version": "2019-05-14T11:01:09.596000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.0.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "SmartSeq2_sequencing_protocol.pdf", - "format": "pdf" - }, - "file_description": "Sequencing SmartSeq2 cells", - "provenance": { - "document_id": "a06cb5d5-2675-4d64-aeb8-79e0103715f3", - "submission_date": "2019-05-14T10:52:33.907Z", - "update_date": "2019-05-14T11:01:09.596Z" - } - }, - "file_id": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_f80622ef-aba2-460a-adcf-d2017bb54284", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "3658ec51", - "sha1": "9ec6ee2b6e2093681c1fed694b3a8c78a2aa3438", - "sha256": "9c93a354a8636c041a31ba6f3fb00ef20352e1b853d8080d63a654221cb35673", - "s3_etag": "2742e1e78f6d4663bf41d3080396695c", - "file_name": "SmartSeq2_sequencing_protocol.pdf", - "file_version": "2019-05-16T06:24:31.828599Z", - "file_id": "bf92ef4a-c422-44fb-bfc1-c2f86528b86b", - "content_type": "application/pdf", - "size": 61134 - } - }, - { - "supplementary_file_id": "e738a267-87fc-4070-abc7-b3be6442c6d0", - "version": "2019-05-14T11:01:15.816000Z", - "content": { - "describedBy": "https://schema.humancellatlas.org/type/file/2.0.0/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "TissueDissociationProtocol.pdf", - "format": "pdf" - }, - "file_description": "Extracting cells from lymph nodes", - "provenance": { - "document_id": "e738a267-87fc-4070-abc7-b3be6442c6d0", - "submission_date": "2019-05-14T10:52:33.892Z", - "update_date": "2019-05-14T11:01:15.816Z" - } - }, - "file_id": "drs://mock_tdr.lan/v1_446f8fa3-4244-42ba-b0a1-00e16b426cf4_f2c46f89-130f-4972-8014-74129e7a0ac5", - "descriptor": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.0/file_descriptor", - "schema_type": "file_descriptor", - "crc32c": "847325b6", - "sha1": "f2237ad0a776fd7057eb3d3498114c85e2f521d7", - "sha256": "6929799f227ae5f0b3e0167a6cf2bd683db097848af6ccde6329185212598779", - "s3_etag": "7e892bf8f6aa489ccb08a995c7f017e1", - "file_name": "TissueDissociationProtocol.pdf", - "file_version": "2019-05-16T06:24:31.517373Z", - "file_id": "6578c322-7060-4c82-8469-9e54100e6b44", - "content_type": "application/pdf", - "size": 32748 - } - } - ] - } - } -} diff --git a/test/indexer/data/dcccb551-4766-4210-966c-f9ee25d19190.dss.hca.json b/test/indexer/data/dcccb551-4766-4210-966c-f9ee25d19190.dss.hca.json deleted file mode 100644 index 55b07abb22..0000000000 --- a/test/indexer/data/dcccb551-4766-4210-966c-f9ee25d19190.dss.hca.json +++ /dev/null @@ -1,2432 +0,0 @@ -{ - "manifest": { - "analysis_file/cf93f747-1392-4670-8eb3-3ac60a96855e": { - - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "e511d1cf", - "indexed": false, - "name": "barcodes.tsv", - "s3_etag": "f3b1fbc1e84f2442d88ef576914dec2c", - "sha1": "c9c42b0caad2269407eeab0d7727cb736268d3d3", - "sha256": "34a6debca5b58b7d17a9efda90e928cd95891519b0e7ddd649922fca56e74283", - "size": 119681, - "uuid": "58b69c85-f5f3-4b94-8933-5520a54a6b25", - "version": "2018-10-18T20:46:12.510116Z" - }, - "analysis_file/477c0b3e-4a06-4214-8f27-58199ba63528": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7571fac9", - "indexed": false, - "name": "genes.tsv", - "s3_etag": "fa0cca9a56bcfc1ef745fdb696492040", - "sha1": "dd08d5183735a7c31e823a1402c422cf2735fba8", - "sha256": "4ce78cc6539d6bff305c602c6c341cf2a3aa167ec804b25c137ef2547103b250", - "size": 892197, - "uuid": "b372aac3-0e2a-4815-9cb8-06957c0034d7", - "version": "2018-10-18T20:46:12.954781Z" - }, - "analysis_file/ad6d5170-d74b-408c-af6b-25a14315c9da": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "883bc27f", - "indexed": false, - "name": "matrix.mtx", - "s3_etag": "7db6a38d8e7952498839f9827b4f500f-3", - "sha1": "91df4b6b9c301bd02f39aceb2734aae3a668e4c1", - "sha256": "b1aaabc3dff1fe288873e6066d299856944f97e9dc32ba651e091ea6d60190e3", - "size": 142560302, - "uuid": "c81783cd-0531-4f64-9eef-a3e622152aae", - "version": "2018-10-18T20:46:13.142208Z" - }, - "analysis_file/50be9b67-fae5-4472-9719-478dd1303d6e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "182c881d", - "indexed": false, - "name": "filtered_gene_bc_matrices_h5.h5", - "s3_etag": "2de917121831a3f078b12f6c2e37333f", - "sha1": "c4026a0c3dc61ce8c8f66f85536d90b0e9de9db7", - "sha256": "8e40f9f1086de170ffb008db0d61913466e942e7028da4df2376b2def495535a", - "size": 18927408, - "uuid": "17456232-f453-4178-b6d4-4c28840e0e9f", - "version": "2018-10-18T20:46:13.433149Z" - }, - "analysis_file/fd16b62e-e540-4f03-8ba0-07d0c204e3c8": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "d3902ae4", - "indexed": false, - "name": "metrics_summary.csv", - "s3_etag": "3759ed48641a7f0c0e519641a7440a52", - "sha1": "9b97c22bb730bfb31e956770d1dbf4e45d450546", - "sha256": "9ef145772d3d1db135a2756aeb92abe676589f83ebdd0cc34e6800e116a6e612", - "size": 684, - "uuid": "4cca0b74-7bfb-45a5-8a26-7342151805c9", - "version": "2018-10-18T20:46:14.214293Z" - }, - "analysis_file/3c41b5b6-f480-4d47-8c5e-155e7c1adf54": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "1462f373", - "indexed": false, - "name": "molecule_info.h5", - "s3_etag": "82b4e586a35d93208e663ddf84461fe3-5", - "sha1": "e3da3f822ebaf09daa9a045f14e1247161616ff6", - "sha256": "0c3399d345f7cb0f06d318bc9d4afdf1981ac85255ade7579f8706dbb1c33e12", - "size": 273741491, - "uuid": "0664a03c-9199-430e-9df6-e83e4a77df16", - "version": "2018-10-18T20:46:14.565244Z" - }, - "analysis_file/022a217c-384d-4d9d-8631-6397b6838e3a": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "63dd3167", - "indexed": false, - "name": "possorted_genome_bam.bam", - "s3_etag": "ee92d41eb9e2a502dd87ff5c5efbb258-138", - "sha1": "ccdd590b8d75800dab90913d3e0e247ea9331d2e", - "sha256": "1d11e34289e63c7c6b27234944b918d6fd8d8af3099d2e950ef725bf2d778df4", - "size": 9198494171, - "uuid": "a12a783c-6b91-4788-80b3-f25dae7838ce", - "version": "2018-10-18T20:46:14.923428Z" - }, - "analysis_file/9b778e46-0c51-4260-8e3f-000ecc145f0a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "a40c0ecb", - "indexed": false, - "name": "possorted_genome_bam.bam.bai", - "s3_etag": "e95c13b01acce0ce9795c6b40a865c99", - "sha1": "9b52516a3d248da34d4f658b700d9ffedc6203d6", - "sha256": "af8e4a168553b33de13950d4a90426d047bb05eb1afb4c30d95f3ceeffce977f", - "size": 6196152, - "uuid": "52d08a61-8d7b-4fd6-98e6-0620f815ecc5", - "version": "2018-10-18T20:46:15.089157Z" - }, - "analysis_file/af025a74-53f1-4972-b50d-53095b5ffac2": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "03eb39ec", - "indexed": false, - "name": "raw_gene_bc_matrices_h5.h5", - "s3_etag": "07ee5d2bf6e04147bd48809cd30ecac0", - "sha1": "a2597f41ca36ea83b7c788cfd4428bd2f8766ccd", - "sha256": "1496bddaabfee838411e43494a84c00b4e536bc056291324e60472499f095282", - "size": 33634535, - "uuid": "40bb9b37-9c3c-4be4-adf6-c8609493d223", - "version": "2018-10-18T20:46:15.963496Z" - }, - "analysis_file/e8395271-7c8e-4ec4-9598-495df43fe5fd": { - "content-type": "text/html; dcp-type=data", - "crc32c": "d5973bce", - "indexed": false, - "name": "web_summary.html", - "s3_etag": "04431777cca46d8eb13d09e2e25c18e5", - "sha1": "8add1bef68b6e01d0d595fd4f271a8307a52653c", - "sha256": "52a7659d45166ab4588268d303291b3ef66c44d9aa34cd0c5dde75aa929640ab", - "size": 2689440, - "uuid": "05311530-98da-4ac7-a4da-244c0a19ae4a", - "version": "2018-10-18T20:46:17.373562Z" - }, - "analysis_file/211a8fbf-b190-4576-ac2f-2b1a91743abb": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7c54ea3d", - "indexed": false, - "name": "raw_barcodes.tsv", - "s3_etag": "f010059d7160aac2dad1805e1496bf71", - "sha1": "131a9a81a9666418c503e65828a9a0ac460530ca", - "sha256": "e28353c088bf3b4d660220377a5f5fcc64839fb9e307cea47afe4e23fce2edc2", - "size": 14008320, - "uuid": "d0757b34-5974-44e3-a8ae-5b60f7691913", - "version": "2018-10-18T20:46:18.194283Z" - }, - "analysis_file/17222e3a-5757-45e9-9dfe-c4b6aa10f28a": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7571fac9", - "indexed": false, - "name": "raw_genes.tsv", - "s3_etag": "fa0cca9a56bcfc1ef745fdb696492040", - "sha1": "dd08d5183735a7c31e823a1402c422cf2735fba8", - "sha256": "4ce78cc6539d6bff305c602c6c341cf2a3aa167ec804b25c137ef2547103b250", - "size": 892197, - "uuid": "5d8aea02-2dff-4bda-a218-2ee4c5cabfb4", - "version": "2018-10-18T20:46:18.594371Z" - }, - "analysis_file/2fb8a975-b50c-4528-b850-838a19e19a1e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "283d035a", - "indexed": false, - "name": "raw_matrix.mtx", - "s3_etag": "bb5f1421f9ea3cb336bf91ce9ace9778-4", - "sha1": "c638e3c7e744e9347344d5e36ea5febeddba8a1f", - "sha256": "19dbeafc2411e85b3d5d6bef4bd844a58a10028e695eb6c68ba4c2927a4dbf1e", - "size": 264433751, - "uuid": "934faa14-ec75-4171-8c08-5ab20cc6ebff", - "version": "2018-10-18T20:46:18.842610Z" - }, - "sequence_file/213381ea-6161-4159-853e-cfcae4968001": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "e80c9f6f", - "indexed": false, - "name": "GAC027_hOrg_HipSci_2_S6_L008_I1_001.fastq.gz", - "s3_etag": "f3d1646689fa233b2edcae98daa4e8c3-12", - "sha1": "b04482bf491e0781a037325a6f85c313596d4e6f", - "sha256": "5107ea8c6b5dfb9d60bd327bf1963119cb9cdf7a6937a6631ee540ebfcfc8c90", - "size": 750352598, - "uuid": "8a0670ac-e3bd-4d38-afdc-0cf6d85e6adf", - "version": "2018-10-11T22:04:37.262084Z" - }, - "sequence_file/9ee3da9e-83ca-4c02-84d6-ac09702b12ba": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "17a27554", - "indexed": false, - "name": "GAC027_hOrg_HipSci_2_S6_L008_R1_001.fastq.gz", - "s3_etag": "6f0937ed17a8d0153ce9c09952e235ca-32", - "sha1": "9396f2ad8e5874e0c93d87090bfbc0fa35d638f0", - "sha256": "55f725fb616166ee57d82fa05dc353ab8a46c69124d8917e998621afa6c5076e", - "size": 2144766575, - "uuid": "d1e5058a-b53c-4e71-9cbc-1853d95b75bd", - "version": "2018-10-11T22:04:37.518108Z" - }, - "sequence_file/330a08ca-ae8e-4f1f-aa03-970abcd27f39": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "577e04eb", - "indexed": false, - "name": "GAC027_hOrg_HipSci_2_S6_L008_R2_001.fastq.gz", - "s3_etag": "f2753af72f5c94f61a2f8f8259808fba-103", - "sha1": "5285d81100d56ce8436fed39c8b6c13bd446c6ec", - "sha256": "96e11fcbc4d149116887334ddd690721808cd1eaffe364cb9787d63aa4e0c135", - "size": 6868728540, - "uuid": "a36fe69b-874b-4b9b-8e77-68be23cf98cd", - "version": "2018-10-11T22:04:37.811384Z" - }, - "supplementary_file/281c2d08-9e43-47f9-b937-e733e3ba3322": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "1e67ff31", - "indexed": false, - "name": "hipsci-ipsc-pipeline.pdf", - "s3_etag": "d276fabcc867f6100a053ee354b0fc9a", - "sha1": "09855c6bf665c999ebfb1a5ffe66bcee5a606762", - "sha256": "d5928f0c9fc0c67352df51f4747c76efebe5749a59b4b6c7effc722c01ddf4c6", - "size": 10012457, - "uuid": "9485d3c7-55f6-49f5-9eb1-ff85d8e4ef9f", - "version": "2018-10-11T22:04:38.049605Z" - }, - "supplementary_file/ae1d6fa7-964f-465a-8c78-565206827434": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "201fded1", - "indexed": false, - "name": "Dissociation_protocol_130-092-628.pdf", - "s3_etag": "6ecf47fe7a612eec681b313225744035", - "sha1": "5180c3713cd1a0a01a8bb3991cb1ab872d1a8813", - "sha256": "745844f42a0bef18e57eca252c2d52ef6042a1b55a7df8c74232cdc36f5a34e6", - "size": 104805, - "uuid": "05f653e7-2920-499b-95fe-455d585da2b7", - "version": "2018-10-11T22:04:38.189879Z" - }, - "supplementary_file/f518a8cc-e1d9-4fc9-bc32-491dd8543902": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "47441108", - "indexed": false, - "name": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf", - "s3_etag": "67e93ad84439bc3515066da4362d2439", - "sha1": "194a0f2b6b8db8272f33f3c1f6a2cf2dca26160d", - "sha256": "b6b98dc6b82be35951bf0a8f47cd6e1c2262c18ea75532ca0800223d1f846910", - "size": 5645416, - "uuid": "5eca9eb4-f837-4aa4-98e1-172a7c6da7ee", - "version": "2018-10-11T22:04:38.356356Z" - } - }, - "metadata": { - "cell_suspension/803fd65a-c578-4c4f-a39e-bedec24e2578": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI_organoids_pooled_2", - "biomaterial_name": "pooled cells from 4 dissociated organoids", - "biomaterial_description": "pooled cells from 4 dissociated organoids (wibj_2, kucg_2, hoik_1, sojd_3)", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "selected_cell_type": [ - { - "text": "neural cell", - "ontology": "CL:0002319" - } - ], - "total_estimated_cells": 6210, - "provenance": { - "document_id": "803fd65a-c578-4c4f-a39e-bedec24e2578", - "submission_date": "2018-10-11T21:18:02.832Z", - "update_date": "2018-10-11T21:18:13.146Z" - } - }, - "organoid/2d8282f0-6cbb-4d5a-822c-4b01718b4d0d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.3.8/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0214i-wibj_2_2", - "biomaterial_name": "human cerebral organoid wibj_2", - "biomaterial_description": "human cerebral organoid wibj_2, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d", - "submission_date": "2018-10-11T21:18:02.654Z", - "update_date": "2018-10-11T21:18:12.864Z" - } - }, - "organoid/b7214641-1ac5-4f60-b795-cb33a7c25434": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.3.8/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0214i-kucg_2_2", - "biomaterial_name": "human cerebral organoid kucg_2", - "biomaterial_description": "human cerebral organoid kucg_2, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "b7214641-1ac5-4f60-b795-cb33a7c25434", - "submission_date": "2018-10-11T21:18:02.696Z", - "update_date": "2018-10-11T21:18:12.763Z" - } - }, - "organoid/308eea51-d14b-4036-8cd1-cfd81d7532c3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.3.8/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0314i-hoik_1_2", - "biomaterial_name": "human cerebral organoid hoik_1", - "biomaterial_description": "human cerebral organoid hoik_1, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "308eea51-d14b-4036-8cd1-cfd81d7532c3", - "submission_date": "2018-10-11T21:18:02.732Z", - "update_date": "2018-10-11T21:18:06.730Z" - } - }, - "organoid/73f10dad-afc5-4d1d-a71c-4a8b6fff9172": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.3.8/organoid", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Org_HPSI0314i-sojd_3_2", - "biomaterial_name": "human cerebral organoid sojd_3", - "biomaterial_description": "human cerebral organoid sojd_3, 62d", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_for_organ": { - "text": "Brain", - "ontology": "UBERON:0000955" - }, - "organoid_age": 62, - "organoid_age_unit": { - "text": "day", - "ontology": "UO:0000033" - }, - "organoid_type": "stem cell-derived", - "embedded_in_matrigel": true, - "organoid_growth_environment": "suspension", - "provenance": { - "document_id": "73f10dad-afc5-4d1d-a71c-4a8b6fff9172", - "submission_date": "2018-10-11T21:18:02.785Z", - "update_date": "2018-10-11T21:18:06.725Z" - } - }, - "cell_line/c532cca7-67c6-4617-ac47-5b91652621a5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj_2", - "biomaterial_name": "iPS cell line wibj_2", - "biomaterial_description": "iPS cell line wibj_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2627567" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650057", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0214i-wibj_2", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 32, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2014-10-24T00:00:00Z", - "provenance": { - "document_id": "c532cca7-67c6-4617-ac47-5b91652621a5", - "submission_date": "2018-10-11T21:18:02.561Z", - "update_date": "2018-10-11T21:18:06.721Z" - } - }, - "specimen_from_organism/c8e14a8e-81f9-4109-bb27-4bb3029240c1": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj_skin", - "biomaterial_name": "Skin cells from HPSI0214i-wibj_skin", - "biomaterial_description": "Skin cells from HPSI0214i-wibj_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "c8e14a8e-81f9-4109-bb27-4bb3029240c1", - "submission_date": "2018-10-11T21:18:02.500Z", - "update_date": "2018-10-11T21:18:06.720Z" - } - }, - "donor_organism/d4c29b1a-f23c-4511-a2ae-097772d90254": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-wibj", - "biomaterial_name": "donor HPSI0214i-wibj", - "biomaterial_description": "donor HPSI0214i-wibj_2, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2398911" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "female", - "organism_age": "55-59", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "hancestro:0462" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "d4c29b1a-f23c-4511-a2ae-097772d90254", - "submission_date": "2018-10-11T21:18:02.456Z", - "update_date": "2018-10-11T21:18:06.768Z" - } - }, - "cell_line/e924c114-e3cd-4060-9c8e-3d980ec7fcbe": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg_2", - "biomaterial_name": "iPS cell line kucg_2", - "biomaterial_description": "iPS cell line kucg_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2645814" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650065", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0214i-kucg_2", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 36, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2014-11-03T00:00:00Z", - "provenance": { - "document_id": "e924c114-e3cd-4060-9c8e-3d980ec7fcbe", - "submission_date": "2018-10-11T21:18:02.573Z", - "update_date": "2018-10-11T21:18:06.679Z" - } - }, - "specimen_from_organism/5bd6106c-0158-4c2c-8c60-32019c599c83": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg_skin", - "biomaterial_name": "Skin cells from HPSI0214i-kucg_skin", - "biomaterial_description": "Skin cells from HPSI0214i-kucg_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "5bd6106c-0158-4c2c-8c60-32019c599c83", - "submission_date": "2018-10-11T21:18:02.525Z", - "update_date": "2018-10-11T21:18:06.627Z" - } - }, - "donor_organism/ef7e6ac7-172a-4b24-9620-fc909a5e9c6c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0214i-kucg", - "biomaterial_name": "donor HPSI0214i-kucg", - "biomaterial_description": "donor HPSI0214i-kucg_2, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2397923" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "male", - "organism_age": "65-69", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "hancestro:0462" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "ef7e6ac7-172a-4b24-9620-fc909a5e9c6c", - "submission_date": "2018-10-11T21:18:02.467Z", - "update_date": "2018-10-11T21:18:06.720Z" - } - }, - "cell_line/a3651f83-dee6-49b2-ba4e-0ce20f02467d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik_1", - "biomaterial_name": "iPS cell line hoik_1", - "biomaterial_description": "iPS cell line hoik_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2698315" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650129", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0314i-hoik_1", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 28, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2015-02-02T00:00:00Z", - "provenance": { - "document_id": "a3651f83-dee6-49b2-ba4e-0ce20f02467d", - "submission_date": "2018-10-11T21:18:02.597Z", - "update_date": "2018-10-11T21:18:06.795Z" - } - }, - "specimen_from_organism/8f328973-9bc0-46b9-8a1f-38893e77b3b5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik_skin", - "biomaterial_name": "Skin cells from HPSI0314i-hoik_skin", - "biomaterial_description": "Skin cells from HPSI0314i-hoik_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "8f328973-9bc0-46b9-8a1f-38893e77b3b5", - "submission_date": "2018-10-11T21:18:02.542Z", - "update_date": "2018-10-11T21:18:06.643Z" - } - }, - "donor_organism/931528fa-820b-49ca-af1e-ae9a2c0ef551": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-hoik", - "biomaterial_name": "donor HPSI0314i-hoik", - "biomaterial_description": "donor HPSI0314i-hoik_1, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2399961" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "female", - "organism_age": "40-44", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "European, White, British", - "ontology": "hancestro:0462" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "931528fa-820b-49ca-af1e-ae9a2c0ef551", - "submission_date": "2018-10-11T21:18:02.477Z", - "update_date": "2018-10-11T21:18:06.762Z" - } - }, - "cell_line/6a16de30-176d-4488-81de-9337a1a6d8c5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd_3", - "biomaterial_name": "iPS cell line sojd_3", - "biomaterial_description": "iPS cell line sojd_3", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2627569" - }, - "disease": { - "text": "normal", - "ontology": "PATO:0000461" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "cell_type": { - "text": "pluripotent stem cell", - "ontology": "CL:0002248" - }, - "catalog_number": "77650126", - "catalog_url": "http://www.hipsci.org/lines/#/lines/HPSI0314i-sojd_3", - "cell_line_type": "induced pluripotent", - "cell_morphology": { - "cell_viability_method": "Growth to confluence post-thaw" - }, - "growth_conditions": { - "passage_number": 29, - "growth_medium": "mTeSR1", - "feeder_layer_type": "feeder-free", - "drug_treatment": "Cells were cultured in presence of Penicillin and Streptomycin", - "mycoplasma_testing_method": "PCR", - "mycoplasma_testing_results": "pass" - }, - "date_established": "2015-01-09T00:00:00Z", - "provenance": { - "document_id": "6a16de30-176d-4488-81de-9337a1a6d8c5", - "submission_date": "2018-10-11T21:18:02.618Z", - "update_date": "2018-10-11T21:18:06.634Z" - } - }, - "specimen_from_organism/82368936-7b99-4864-9f49-b8fee3906d47": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd_skin", - "biomaterial_name": "Skin cells from HPSI0314i-sojd_skin", - "biomaterial_description": "Skin cells from HPSI0314i-sojd_skin", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "skin of body", - "ontology": "UBERON:0002097" - }, - "organ_part": { - "text": "skin epidermis", - "ontology": "UBERON:0001003" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "82368936-7b99-4864-9f49-b8fee3906d47", - "submission_date": "2018-10-11T21:18:02.552Z", - "update_date": "2018-10-11T21:18:06.743Z" - } - }, - "donor_organism/96757312-0221-447a-84f1-7a737b5afd01": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HPSI0314i-sojd", - "biomaterial_name": "donor HPSI0314i-sojd", - "biomaterial_description": "donor HPSI0314i-sojd_3, iPSC, cell line, skin", - "ncbi_taxon_id": [ - 9606 - ], - "biosd_biomaterial": "SAMEA2418245" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "sex": "female", - "organism_age": "45-49", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "ethnicity": [ - { - "text": "White - other, Ad Mixed American", - "ontology": "hancestro:0463" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "is_living": "yes", - "provenance": { - "document_id": "96757312-0221-447a-84f1-7a737b5afd01", - "submission_date": "2018-10-11T21:18:02.486Z", - "update_date": "2018-10-11T21:18:06.767Z" - } - }, - "analysis_file/cf93f747-1392-4670-8eb3-3ac60a96855e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "barcodes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "cf93f747-1392-4670-8eb3-3ac60a96855e", - "submission_date": "2018-10-18T20:32:25.801Z", - "update_date": "2018-10-18T20:39:13.335Z" - } - }, - "analysis_file/477c0b3e-4a06-4214-8f27-58199ba63528": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "genes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "477c0b3e-4a06-4214-8f27-58199ba63528", - "submission_date": "2018-10-18T20:32:25.877Z", - "update_date": "2018-10-18T20:39:16.337Z" - } - }, - "analysis_file/ad6d5170-d74b-408c-af6b-25a14315c9da": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "matrix.mtx", - "file_format": "mtx" - }, - "provenance": { - "document_id": "ad6d5170-d74b-408c-af6b-25a14315c9da", - "submission_date": "2018-10-18T20:32:25.951Z", - "update_date": "2018-10-18T20:39:25.337Z" - } - }, - "analysis_file/50be9b67-fae5-4472-9719-478dd1303d6e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "filtered_gene_bc_matrices_h5.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "50be9b67-fae5-4472-9719-478dd1303d6e", - "submission_date": "2018-10-18T20:32:26.026Z", - "update_date": "2018-10-18T20:39:22.340Z" - } - }, - "analysis_file/fd16b62e-e540-4f03-8ba0-07d0c204e3c8": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "metrics_summary.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "fd16b62e-e540-4f03-8ba0-07d0c204e3c8", - "submission_date": "2018-10-18T20:32:26.097Z", - "update_date": "2018-10-18T20:37:28.333Z" - } - }, - "analysis_file/3c41b5b6-f480-4d47-8c5e-155e7c1adf54": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "molecule_info.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "3c41b5b6-f480-4d47-8c5e-155e7c1adf54", - "submission_date": "2018-10-18T20:32:26.174Z", - "update_date": "2018-10-18T20:40:01.344Z" - } - }, - "analysis_file/022a217c-384d-4d9d-8631-6397b6838e3a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "possorted_genome_bam.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "022a217c-384d-4d9d-8631-6397b6838e3a", - "submission_date": "2018-10-18T20:32:26.243Z", - "update_date": "2018-10-18T20:45:01.366Z" - } - }, - "analysis_file/9b778e46-0c51-4260-8e3f-000ecc145f0a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "possorted_genome_bam.bam.bai", - "file_format": "bai" - }, - "provenance": { - "document_id": "9b778e46-0c51-4260-8e3f-000ecc145f0a", - "submission_date": "2018-10-18T20:32:26.313Z", - "update_date": "2018-10-18T20:39:10.339Z" - } - }, - "analysis_file/af025a74-53f1-4972-b50d-53095b5ffac2": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_gene_bc_matrices_h5.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "af025a74-53f1-4972-b50d-53095b5ffac2", - "submission_date": "2018-10-18T20:32:26.383Z", - "update_date": "2018-10-18T20:39:40.335Z" - } - }, - "analysis_file/e8395271-7c8e-4ec4-9598-495df43fe5fd": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "web_summary.html", - "file_format": "unknown" - }, - "provenance": { - "document_id": "e8395271-7c8e-4ec4-9598-495df43fe5fd", - "submission_date": "2018-10-18T20:32:26.453Z", - "update_date": "2018-10-18T20:39:55.336Z" - } - }, - "analysis_file/211a8fbf-b190-4576-ac2f-2b1a91743abb": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_barcodes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "211a8fbf-b190-4576-ac2f-2b1a91743abb", - "submission_date": "2018-10-18T20:32:26.528Z", - "update_date": "2018-10-18T20:39:58.363Z" - } - }, - "analysis_file/17222e3a-5757-45e9-9dfe-c4b6aa10f28a": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_genes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "17222e3a-5757-45e9-9dfe-c4b6aa10f28a", - "submission_date": "2018-10-18T20:32:26.603Z", - "update_date": "2018-10-18T20:39:58.363Z" - } - }, - "analysis_file/2fb8a975-b50c-4528-b850-838a19e19a1e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_matrix.mtx", - "file_format": "mtx" - }, - "provenance": { - "document_id": "2fb8a975-b50c-4528-b850-838a19e19a1e", - "submission_date": "2018-10-18T20:32:26.681Z", - "update_date": "2018-10-18T20:40:13.334Z" - } - }, - "sequence_file/213381ea-6161-4159-853e-cfcae4968001": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_2_S6_L008_I1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "892321d611c15d8b6543aa8e70b287cb" - }, - "read_index": "index1", - "lane_index": 8, - "read_length": 8, - "provenance": { - "document_id": "213381ea-6161-4159-853e-cfcae4968001", - "submission_date": "2018-10-11T21:18:01.964Z", - "update_date": "2018-10-18T20:32:16.894Z" - } - }, - "sequence_file/9ee3da9e-83ca-4c02-84d6-ac09702b12ba": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_2_S6_L008_R1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "1c171b7e43b5048693839e26532c612c" - }, - "read_index": "read1", - "lane_index": 8, - "read_length": 26, - "provenance": { - "document_id": "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "submission_date": "2018-10-11T21:18:01.979Z", - "update_date": "2018-10-18T20:32:18.864Z" - } - }, - "sequence_file/330a08ca-ae8e-4f1f-aa03-970abcd27f39": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "GAC027_hOrg_HipSci_2_S6_L008_R2_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "dc13142325a6033063b9eb0ddbca1454" - }, - "read_index": "read2", - "lane_index": 8, - "read_length": 100, - "provenance": { - "document_id": "330a08ca-ae8e-4f1f-aa03-970abcd27f39", - "submission_date": "2018-10-11T21:18:01.990Z", - "update_date": "2018-10-18T20:32:20.845Z" - } - }, - "supplementary_file/281c2d08-9e43-47f9-b937-e733e3ba3322": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "hipsci-ipsc-pipeline.pdf", - "file_format": "pdf" - }, - "file_description": "iPSC induction by Sendai virus protocol.", - "provenance": { - "document_id": "281c2d08-9e43-47f9-b937-e733e3ba3322", - "submission_date": "2018-10-11T21:18:01.623Z", - "update_date": "2018-10-18T20:40:54.699Z" - } - }, - "supplementary_file/ae1d6fa7-964f-465a-8c78-565206827434": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "Dissociation_protocol_130-092-628.pdf", - "file_format": "pdf" - }, - "file_description": "Cerebral organoid dissociation protocol.", - "provenance": { - "document_id": "ae1d6fa7-964f-465a-8c78-565206827434", - "submission_date": "2018-10-11T21:18:01.642Z", - "update_date": "2018-10-18T20:40:55.940Z" - } - }, - "supplementary_file/f518a8cc-e1d9-4fc9-bc32-491dd8543902": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf", - "file_format": "pdf" - }, - "file_description": "10x Chromium single cell 3' v2 library preparation.", - "provenance": { - "document_id": "f518a8cc-e1d9-4fc9-bc32-491dd8543902", - "submission_date": "2018-10-11T21:18:01.654Z", - "update_date": "2018-10-18T20:40:57.146Z" - } - }, - "project/2c4724a4-7252-409e-b008-ff5c127c7e89": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "HPSI human cerebral organoids", - "project_title": "Assessing the relevance of organoids to model inter-individual variation", - "project_description": "The purpose of this project is to assess the relevance of pluripotent stem cell-derived cerebral and liver organoids to recapitulate the variation in cell-type specific gene expression programs between individuals. Towards this aim, we will generate reference atlases of the developing cortex and liver from multiple individuals, derive iPSC lines from these same individuals, and determine if inter-individual gene expression variation is recapitulated in cerebral and liver organoids from the same individual from which we have reference maps. In parallel we will assess the genetic contribution to variablity between organoids from different iPSCs of multiple human individuals that are available in existing iPSC resources (e.g. HipSci)." - }, - "contributors": [ - { - "contact_name": "Barbara,,Treutlein", - "email": "barbara_treutlein@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "project_role": "principal investigator", - "orcid_id": "0000-0002-3299-5597", - "corresponding_contributor": true - }, - { - "contact_name": "J,Gray,Camp", - "email": "gray_camp@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Zhisong,,He", - "email": "zhisong_he@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Sabina,,Kanton", - "email": "sabina_kanton@eva.mpg.de", - "institution": "Max Planck Institute for Evolutionary Anthropology", - "address": "Deutscher Pl. 6, 04103 Leipzig", - "country": "Germany", - "corresponding_contributor": false - }, - { - "contact_name": "Mallory,Ann,Freeberg", - "email": "mfreeberg@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2949-3921", - "corresponding_contributor": false - } - ], - "provenance": { - "document_id": "2c4724a4-7252-409e-b008-ff5c127c7e89", - "submission_date": "2018-10-11T21:18:01.605Z", - "update_date": "2018-10-11T21:18:06.651Z" - } - }, - "library_preparation_protocol/92277226-bf78-4df9-a594-5190a8790a14": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "10x_3'_library_preparation", - "protocol_name": "10x 3' single cell library preparation", - "protocol_description": "10x Chromium single cell 3' v2 library preparation", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "Chromium 3' Single Cell v2", - "ontology": "EFO:0009310" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "unstranded", - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 15, - "barcode_length": 10 - }, - "library_construction_kit": { - "retail_name": "10X Chromium Single Cell 3' Solution v2 Chemistry", - "manufacturer": "10X Genomics" - }, - "provenance": { - "document_id": "92277226-bf78-4df9-a594-5190a8790a14", - "submission_date": "2018-10-11T21:18:02.895Z", - "update_date": "2018-10-11T21:18:12.704Z" - } - }, - "sequencing_protocol/102cdbf3-b0e5-4dd5-9168-51150a9ebb6b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "10x_scRNASeq", - "protocol_name": "10x single cell RNA Sequencing", - "protocol_description": "10x RNA sequencing", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevE.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565" - }, - "paired_end": true, - "sequencing_approach": { - "text": "tag based single cell RNA sequencing", - "ontology": "EFO:0008440" - }, - "provenance": { - "document_id": "102cdbf3-b0e5-4dd5-9168-51150a9ebb6b", - "submission_date": "2018-10-11T21:18:02.905Z", - "update_date": "2018-10-11T21:18:12.667Z" - } - }, - "dissociation_protocol/755762e0-7aff-48ed-a7d4-d3ea4005758f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Cerebral_organoid_dissociation", - "protocol_name": "cerebral organoid dissociation", - "protocol_description": "cerebral organoid dissociation", - "document": "Dissociation_protocol_130-092-628.pdf" - }, - "dissociation_method": { - "text": "Papain-based enzymatic dissociation", - "ontology": "EFO:0009128" - }, - "protocol_reagents": [ - { - "retail_name": "Neural Tissue Dissociation Kit", - "catalog_number": "130-092-628", - "manufacturer": "Miltenyi Biotec" - } - ], - "provenance": { - "document_id": "755762e0-7aff-48ed-a7d4-d3ea4005758f", - "submission_date": "2018-10-11T21:18:02.886Z", - "update_date": "2018-10-11T21:18:12.751Z" - } - }, - "differentiation_protocol/8f4a8e7c-e7ee-44dc-8e09-f4012355060f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/1.3.0/differentiation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Org_Lanc_2014", - "protocol_name": "Differentiation of cerebral organoids", - "protocol_description": "Generation of cerebral organoids from human pluripotent stem cells", - "publication_doi": "10.1038/nprot.2014.158" - }, - "differentiation_method": "embryoid bodies", - "target_pathway": "RHO, ROCK", - "validation_method": "immunostaining", - "reagents": [ - { - "retail_name": "ROCK inhibitor Y27632" - } - ], - "small_molecules": "Vitamin A (retinoic acid)", - "provenance": { - "document_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f", - "submission_date": "2018-10-11T21:18:02.876Z", - "update_date": "2018-10-11T21:18:12.764Z" - } - }, - "ipsc_induction_protocol/cdfe38f2-1d90-4700-a199-d8105ce299df": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/2.0.1/ipsc_induction_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "ipsc_induction_protocol_1", - "protocol_name": "iPSC induction by Sendai virus", - "protocol_description": "Fibroblasts are thawed, transduced using Cytotune 2.0 Sendai virus (containing the Yamanaka genes encoding transcription factors Oct4, Sox2, cMyc and Klf4) and maintained until iPSC colony formation. Colonies are then picked and cultured to obtain a sizable yield of IPS cells, which are banked to a commercial grade standard. These banks then undergo quality checks to ensure the banks pass resuscitation tests and are free of mycoplasma.", - "document": "hipsci-ipsc-pipeline.pdf" - }, - "ipsc_induction_method": "sendai virus", - "pluripotency_vector_removed": "yes", - "ipsc_induction_kit": { - "retail_name": "Cytotune 1.0", - "manufacturer": "Thermofisher" - }, - "pluripotency_test": "HipSci Pluri test", - "ipsc_induction_produced_in_house": false, - "provenance": { - "document_id": "cdfe38f2-1d90-4700-a199-d8105ce299df", - "submission_date": "2018-10-11T21:18:02.867Z", - "update_date": "2018-10-11T21:18:06.713Z" - } - }, - "analysis_process/228fd33a-3627-4dea-bda9-e9cdc3b924b6": { - "analysis_run_type": "run", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/analysis/8.0.3/analysis_process", - "input_bundles": [ - "a2f76df2-a80f-4c66-8fdd-169ae350be4e" - ], - "inputs": [ - { - "parameter_name": "fastqs", - "parameter_value": "/cromwell_root/org-humancellatlas-dss-checkout-staging/bundles/a2f76df2-a80f-4c66-8fdd-169ae350be4e.2018-10-11T220441.424590Z/GAC027_hOrg_HipSci_2_S6_L008_R1_001.fastq.gz, /cromwell_root/org-humancellatlas-dss-checkout-staging/bundles/a2f76df2-a80f-4c66-8fdd-169ae350be4e.2018-10-11T220441.424590Z/GAC027_hOrg_HipSci_2_S6_L008_R2_001.fastq.gz, /cromwell_root/org-humancellatlas-dss-checkout-staging/bundles/a2f76df2-a80f-4c66-8fdd-169ae350be4e.2018-10-11T220441.424590Z/GAC027_hOrg_HipSci_2_S6_L008_I1_001.fastq.gz" - }, - { - "parameter_name": "sample_id", - "parameter_value": "803fd65a-c578-4c4f-a39e-bedec24e2578" - }, - { - "parameter_name": "reference_name", - "parameter_value": "GRCh38" - }, - { - "parameter_name": "transcriptome_tar_gz", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_GencodeV27_Primary_CellRanger.tar" - }, - { - "parameter_name": "expect_cells", - "parameter_value": "5000" - } - ], - "outputs": [ - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "barcodes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "genes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "mtx", - "file_name": "matrix.mtx" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "filtered_gene_bc_matrices_h5.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "metrics_summary.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "molecule_info.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bam", - "file_name": "possorted_genome_bam.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bai", - "file_name": "possorted_genome_bam.bam.bai" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "raw_gene_bc_matrices_h5.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "web_summary.html" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "raw_barcodes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "raw_genes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "mtx", - "file_name": "raw_matrix.mtx" - }, - "schema_type": "file" - } - ], - "process_core": { - "process_id": "41422884-4d87-4f84-8ae1-aa71eba2df23" - }, - "process_type": { - "text": "analysis" - }, - "reference_bundle": "bf51d668-3e14-4843-9bc7-5d676fdf0e01", - "schema_type": "process", - "tasks": [ - { - "cpus": 64, - "disk_size": "local-disk 250 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-cellranger:v1.0.0", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/Adapter10xCount/af8aea8f-d962-4ac7-9d38-05d0271e62ea/call-analysis/CellRanger.CellRanger/41422884-4d87-4f84-8ae1-aa71eba2df23/call-cellranger_count/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/Adapter10xCount/af8aea8f-d962-4ac7-9d38-05d0271e62ea/call-analysis/CellRanger.CellRanger/41422884-4d87-4f84-8ae1-aa71eba2df23/call-cellranger_count/stdout", - "memory": "416 GB", - "start_time": "2018-10-18T18:34:35.134Z", - "stop_time": "2018-10-18T20:26:15.377Z", - "task_name": "cellranger_count", - "zone": "us-central1-b" - } - ], - "timestamp_start_utc": "2018-10-18T18:34:33.085Z", - "timestamp_stop_utc": "2018-10-18T20:26:16.765Z", - "provenance": { - "document_id": "228fd33a-3627-4dea-bda9-e9cdc3b924b6", - "submission_date": "2018-10-18T20:32:14.657Z", - "update_date": "2018-10-18T20:32:19.562Z" - } - }, - "process/a2510b8c-8c92-4fe4-bc06-5e4e92093545": { - "process_core": { - "process_id": "tech_rep_4" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "a2510b8c-8c92-4fe4-bc06-5e4e92093545", - "submission_date": "2018-10-11T21:18:02.960Z", - "update_date": "2018-10-11T21:18:12.743Z" - } - }, - "process/c7b6e9fe-6f08-41a9-8907-9c0347e6d604": { - "process_core": { - "process_id": "process_id_22" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c7b6e9fe-6f08-41a9-8907-9c0347e6d604", - "submission_date": "2018-10-11T21:18:03.340Z", - "update_date": "2018-10-11T21:18:10.787Z" - } - }, - "process/0d1d507d-4246-4b1c-8836-261d42f784eb": { - "process_core": { - "process_id": "process_id_10" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0d1d507d-4246-4b1c-8836-261d42f784eb", - "submission_date": "2018-10-11T21:18:03.113Z", - "update_date": "2018-10-11T21:18:10.859Z" - } - }, - "process/5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0": { - "process_core": { - "process_id": "process_id_5" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0", - "submission_date": "2018-10-11T21:18:03.057Z", - "update_date": "2018-10-11T21:18:10.803Z" - } - }, - "process/54760853-d6ed-4149-9a49-53c4cddfd93c": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "54760853-d6ed-4149-9a49-53c4cddfd93c", - "submission_date": "2018-10-11T21:18:02.993Z", - "update_date": "2018-10-11T21:18:10.611Z" - } - }, - "process/d5ac7f5f-9a50-403e-9b8d-6e983a099826": { - "process_core": { - "process_id": "process_id_13" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "d5ac7f5f-9a50-403e-9b8d-6e983a099826", - "submission_date": "2018-10-11T21:18:03.149Z", - "update_date": "2018-10-11T21:18:11.909Z" - } - }, - "process/53f025f5-931a-4b6e-9a9b-545b5b881710": { - "process_core": { - "process_id": "process_id_6" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "53f025f5-931a-4b6e-9a9b-545b5b881710", - "submission_date": "2018-10-11T21:18:03.067Z", - "update_date": "2018-10-11T21:18:10.866Z" - } - }, - "process/45c67d31-0b05-4d5e-b215-e50e1b2b125c": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "45c67d31-0b05-4d5e-b215-e50e1b2b125c", - "submission_date": "2018-10-11T21:18:03.005Z", - "update_date": "2018-10-11T21:18:10.656Z" - } - }, - "process/fe0d9d3a-56be-41ca-9fdf-70c8c637fd62": { - "process_core": { - "process_id": "process_id_16" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "fe0d9d3a-56be-41ca-9fdf-70c8c637fd62", - "submission_date": "2018-10-11T21:18:03.269Z", - "update_date": "2018-10-11T21:18:10.879Z" - } - }, - "process/4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc": { - "process_core": { - "process_id": "process_id_7" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc", - "submission_date": "2018-10-11T21:18:03.080Z", - "update_date": "2018-10-11T21:18:10.699Z" - } - }, - "process/76e685c9-fcf2-4582-bbfa-5e0369eb5bdb": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "76e685c9-fcf2-4582-bbfa-5e0369eb5bdb", - "submission_date": "2018-10-11T21:18:03.016Z", - "update_date": "2018-10-11T21:18:11.587Z" - } - }, - "process/bce97917-252e-40f2-af8e-df591099acd8": { - "process_core": { - "process_id": "process_id_19" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "bce97917-252e-40f2-af8e-df591099acd8", - "submission_date": "2018-10-11T21:18:03.300Z", - "update_date": "2018-10-11T21:18:11.481Z" - } - }, - "process/6458ae59-0aed-471e-95a0-4de534d449ca": { - "process_core": { - "process_id": "process_id_8" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6458ae59-0aed-471e-95a0-4de534d449ca", - "submission_date": "2018-10-11T21:18:03.090Z", - "update_date": "2018-10-11T21:18:10.788Z" - } - }, - "process/bb2365b9-5a5b-436f-92e3-4fc6d86a9efd": { - "process_core": { - "process_id": "process_id_4" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "bb2365b9-5a5b-436f-92e3-4fc6d86a9efd", - "submission_date": "2018-10-11T21:18:03.026Z", - "update_date": "2018-10-11T21:18:10.586Z" - } - } - }, - "links": { - "describedBy": "http://schema.staging.data.humancellatlas.org/system/1.1.3/links", - "schema_type": "link_bundle", - "schema_version": "1.1.3", - "links": [ - { - "process": "228fd33a-3627-4dea-bda9-e9cdc3b924b6", - "inputs": [ - "281c2d08-9e43-47f9-b937-e733e3ba3322", - "ae1d6fa7-964f-465a-8c78-565206827434", - "f518a8cc-e1d9-4fc9-bc32-491dd8543902", - "213381ea-6161-4159-853e-cfcae4968001", - "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "330a08ca-ae8e-4f1f-aa03-970abcd27f39" - ], - "input_type": "file", - "outputs": [ - "cf93f747-1392-4670-8eb3-3ac60a96855e", - "477c0b3e-4a06-4214-8f27-58199ba63528", - "ad6d5170-d74b-408c-af6b-25a14315c9da", - "50be9b67-fae5-4472-9719-478dd1303d6e", - "fd16b62e-e540-4f03-8ba0-07d0c204e3c8", - "3c41b5b6-f480-4d47-8c5e-155e7c1adf54", - "022a217c-384d-4d9d-8631-6397b6838e3a", - "9b778e46-0c51-4260-8e3f-000ecc145f0a", - "af025a74-53f1-4972-b50d-53095b5ffac2", - "e8395271-7c8e-4ec4-9598-495df43fe5fd", - "211a8fbf-b190-4576-ac2f-2b1a91743abb", - "17222e3a-5757-45e9-9dfe-c4b6aa10f28a", - "2fb8a975-b50c-4528-b850-838a19e19a1e" - ], - "output_type": "file", - "protocols": [] - }, - { - "process": "a2510b8c-8c92-4fe4-bc06-5e4e92093545", - "inputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "input_type": "biomaterial", - "outputs": [ - "213381ea-6161-4159-853e-cfcae4968001", - "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "330a08ca-ae8e-4f1f-aa03-970abcd27f39" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "92277226-bf78-4df9-a594-5190a8790a14" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "102cdbf3-b0e5-4dd5-9168-51150a9ebb6b" - } - ] - }, - { - "process": "c7b6e9fe-6f08-41a9-8907-9c0347e6d604", - "inputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d", - "b7214641-1ac5-4f60-b795-cb33a7c25434", - "308eea51-d14b-4036-8cd1-cfd81d7532c3", - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "input_type": "biomaterial", - "outputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "755762e0-7aff-48ed-a7d4-d3ea4005758f" - } - ] - }, - { - "process": "0d1d507d-4246-4b1c-8836-261d42f784eb", - "inputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "input_type": "biomaterial", - "outputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0", - "inputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "input_type": "biomaterial", - "outputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "54760853-d6ed-4149-9a49-53c4cddfd93c", - "inputs": [ - "d4c29b1a-f23c-4511-a2ae-097772d90254" - ], - "input_type": "biomaterial", - "outputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "d5ac7f5f-9a50-403e-9b8d-6e983a099826", - "inputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "input_type": "biomaterial", - "outputs": [ - "b7214641-1ac5-4f60-b795-cb33a7c25434" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "53f025f5-931a-4b6e-9a9b-545b5b881710", - "inputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "input_type": "biomaterial", - "outputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "45c67d31-0b05-4d5e-b215-e50e1b2b125c", - "inputs": [ - "ef7e6ac7-172a-4b24-9620-fc909a5e9c6c" - ], - "input_type": "biomaterial", - "outputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "fe0d9d3a-56be-41ca-9fdf-70c8c637fd62", - "inputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "input_type": "biomaterial", - "outputs": [ - "308eea51-d14b-4036-8cd1-cfd81d7532c3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc", - "inputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "input_type": "biomaterial", - "outputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "76e685c9-fcf2-4582-bbfa-5e0369eb5bdb", - "inputs": [ - "931528fa-820b-49ca-af1e-ae9a2c0ef551" - ], - "input_type": "biomaterial", - "outputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "bce97917-252e-40f2-af8e-df591099acd8", - "inputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "input_type": "biomaterial", - "outputs": [ - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "6458ae59-0aed-471e-95a0-4de534d449ca", - "inputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "input_type": "biomaterial", - "outputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "bb2365b9-5a5b-436f-92e3-4fc6d86a9efd", - "inputs": [ - "96757312-0221-447a-84f1-7a737b5afd01" - ], - "input_type": "biomaterial", - "outputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "a2510b8c-8c92-4fe4-bc06-5e4e92093545", - "inputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "input_type": "biomaterial", - "outputs": [ - "213381ea-6161-4159-853e-cfcae4968001", - "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "330a08ca-ae8e-4f1f-aa03-970abcd27f39" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "92277226-bf78-4df9-a594-5190a8790a14" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "102cdbf3-b0e5-4dd5-9168-51150a9ebb6b" - } - ] - }, - { - "process": "c7b6e9fe-6f08-41a9-8907-9c0347e6d604", - "inputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d", - "b7214641-1ac5-4f60-b795-cb33a7c25434", - "308eea51-d14b-4036-8cd1-cfd81d7532c3", - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "input_type": "biomaterial", - "outputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "755762e0-7aff-48ed-a7d4-d3ea4005758f" - } - ] - }, - { - "process": "0d1d507d-4246-4b1c-8836-261d42f784eb", - "inputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "input_type": "biomaterial", - "outputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0", - "inputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "input_type": "biomaterial", - "outputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "54760853-d6ed-4149-9a49-53c4cddfd93c", - "inputs": [ - "d4c29b1a-f23c-4511-a2ae-097772d90254" - ], - "input_type": "biomaterial", - "outputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "d5ac7f5f-9a50-403e-9b8d-6e983a099826", - "inputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "input_type": "biomaterial", - "outputs": [ - "b7214641-1ac5-4f60-b795-cb33a7c25434" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "53f025f5-931a-4b6e-9a9b-545b5b881710", - "inputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "input_type": "biomaterial", - "outputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "45c67d31-0b05-4d5e-b215-e50e1b2b125c", - "inputs": [ - "ef7e6ac7-172a-4b24-9620-fc909a5e9c6c" - ], - "input_type": "biomaterial", - "outputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "fe0d9d3a-56be-41ca-9fdf-70c8c637fd62", - "inputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "input_type": "biomaterial", - "outputs": [ - "308eea51-d14b-4036-8cd1-cfd81d7532c3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc", - "inputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "input_type": "biomaterial", - "outputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "76e685c9-fcf2-4582-bbfa-5e0369eb5bdb", - "inputs": [ - "931528fa-820b-49ca-af1e-ae9a2c0ef551" - ], - "input_type": "biomaterial", - "outputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "bce97917-252e-40f2-af8e-df591099acd8", - "inputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "input_type": "biomaterial", - "outputs": [ - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "6458ae59-0aed-471e-95a0-4de534d449ca", - "inputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "input_type": "biomaterial", - "outputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "bb2365b9-5a5b-436f-92e3-4fc6d86a9efd", - "inputs": [ - "96757312-0221-447a-84f1-7a737b5afd01" - ], - "input_type": "biomaterial", - "outputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "a2510b8c-8c92-4fe4-bc06-5e4e92093545", - "inputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "input_type": "biomaterial", - "outputs": [ - "213381ea-6161-4159-853e-cfcae4968001", - "9ee3da9e-83ca-4c02-84d6-ac09702b12ba", - "330a08ca-ae8e-4f1f-aa03-970abcd27f39" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "92277226-bf78-4df9-a594-5190a8790a14" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "102cdbf3-b0e5-4dd5-9168-51150a9ebb6b" - } - ] - }, - { - "process": "c7b6e9fe-6f08-41a9-8907-9c0347e6d604", - "inputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d", - "b7214641-1ac5-4f60-b795-cb33a7c25434", - "308eea51-d14b-4036-8cd1-cfd81d7532c3", - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "input_type": "biomaterial", - "outputs": [ - "803fd65a-c578-4c4f-a39e-bedec24e2578" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "755762e0-7aff-48ed-a7d4-d3ea4005758f" - } - ] - }, - { - "process": "0d1d507d-4246-4b1c-8836-261d42f784eb", - "inputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "input_type": "biomaterial", - "outputs": [ - "2d8282f0-6cbb-4d5a-822c-4b01718b4d0d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "5fcbd4b3-6ad0-434a-bf84-19c33c2d7dc0", - "inputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "input_type": "biomaterial", - "outputs": [ - "c532cca7-67c6-4617-ac47-5b91652621a5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "54760853-d6ed-4149-9a49-53c4cddfd93c", - "inputs": [ - "d4c29b1a-f23c-4511-a2ae-097772d90254" - ], - "input_type": "biomaterial", - "outputs": [ - "c8e14a8e-81f9-4109-bb27-4bb3029240c1" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "d5ac7f5f-9a50-403e-9b8d-6e983a099826", - "inputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "input_type": "biomaterial", - "outputs": [ - "b7214641-1ac5-4f60-b795-cb33a7c25434" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "53f025f5-931a-4b6e-9a9b-545b5b881710", - "inputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "input_type": "biomaterial", - "outputs": [ - "e924c114-e3cd-4060-9c8e-3d980ec7fcbe" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "45c67d31-0b05-4d5e-b215-e50e1b2b125c", - "inputs": [ - "ef7e6ac7-172a-4b24-9620-fc909a5e9c6c" - ], - "input_type": "biomaterial", - "outputs": [ - "5bd6106c-0158-4c2c-8c60-32019c599c83" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "fe0d9d3a-56be-41ca-9fdf-70c8c637fd62", - "inputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "input_type": "biomaterial", - "outputs": [ - "308eea51-d14b-4036-8cd1-cfd81d7532c3" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "4ed306ec-5cf1-49ed-a17a-00f9a0fc38bc", - "inputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "input_type": "biomaterial", - "outputs": [ - "a3651f83-dee6-49b2-ba4e-0ce20f02467d" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "76e685c9-fcf2-4582-bbfa-5e0369eb5bdb", - "inputs": [ - "931528fa-820b-49ca-af1e-ae9a2c0ef551" - ], - "input_type": "biomaterial", - "outputs": [ - "8f328973-9bc0-46b9-8a1f-38893e77b3b5" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "bce97917-252e-40f2-af8e-df591099acd8", - "inputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "input_type": "biomaterial", - "outputs": [ - "73f10dad-afc5-4d1d-a71c-4a8b6fff9172" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "differentiation_protocol", - "protocol_id": "8f4a8e7c-e7ee-44dc-8e09-f4012355060f" - } - ] - }, - { - "process": "6458ae59-0aed-471e-95a0-4de534d449ca", - "inputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "input_type": "biomaterial", - "outputs": [ - "6a16de30-176d-4488-81de-9337a1a6d8c5" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "cdfe38f2-1d90-4700-a199-d8105ce299df" - } - ] - }, - { - "process": "bb2365b9-5a5b-436f-92e3-4fc6d86a9efd", - "inputs": [ - "96757312-0221-447a-84f1-7a737b5afd01" - ], - "input_type": "biomaterial", - "outputs": [ - "82368936-7b99-4864-9f49-b8fee3906d47" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/e0ae8cfa-2b51-4419-9cde-34df44c6458a.dss.hca.json b/test/indexer/data/e0ae8cfa-2b51-4419-9cde-34df44c6458a.dss.hca.json deleted file mode 100644 index 87f1f59b06..0000000000 --- a/test/indexer/data/e0ae8cfa-2b51-4419-9cde-34df44c6458a.dss.hca.json +++ /dev/null @@ -1,602 +0,0 @@ -{ - "manifest": { - "sequence_file/12b25cbd-8cfa-4f0e-818f-d6ba3e823af4": { - - "content-type": "application/gzip; dcp-type=data", - "crc32c": "43d9f66a", - "indexed": false, - "name": "AB-HE0202-C-CZI-day7-DroNc_S2_R1_001.fastq.gz", - "s3_etag": "079c3ae1560d2a359c0eef3b5347ef5e-24", - "sha1": "2b5f4d3040ddb71ece6bdc635b5467baf028231d", - "sha256": "25c52ab997b89cd03536de778cbf4cd3ec0c5cf15fefc447f5f044ffacf2f42b", - "size": 1582790466, - "uuid": "76889aa2-de8e-42dc-9eaa-0d947ccb2604", - "version": "2018-12-05T23:08:45.431819Z" - }, - "sequence_file/65d3d936-ae9d-4a18-a8c7-73ce6132355e": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "dbb883d5", - "indexed": false, - "name": "AB-HE0202-C-CZI-day7-DroNc_S2_R2_001.fastq.gz", - "s3_etag": "f471008c5686de46c15264196fd534d5-57", - "sha1": "15466d5ae6b667035a5e3f807922d3a1ad43356f", - "sha256": "1897c8493ca2e9ccddfc287e1e900839691a904de2281f9215a6d3aa154e0f07", - "size": 3786282650, - "uuid": "4cf0a9a7-111c-4284-82b9-5ae7326f235e", - "version": "2018-12-05T23:08:45.915531Z" - } - }, - "metadata": { - "cell_suspension/d29c64bd-b8d2-4e72-abbc-5536a44eac12": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Day7_DroNc_BioRep2", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "provenance": { - "document_id": "d29c64bd-b8d2-4e72-abbc-5536a44eac12", - "submission_date": "2018-12-04T16:22:45.794Z" - } - }, - "cell_line/195b2621-ec05-4618-9063-c56048de97d1": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "cell_line_Day7_hiPSC-CM_BioRep2", - "biomaterial_name": "hiPSC-CM,Day7", - "biomaterial_description": "human induced Pluripotent Stem Cells differentiating into Cardiomyocytes, day 7", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_line_type": "stem cell-derived", - "growth_conditions": { - "mycoplasma_testing_method": "Microbiological assay", - "mycoplasma_testing_results": "pass", - "passage_number": 14, - "growth_medium": "hESC-qualified Matrigel" - }, - "cell_type": { - "text": "cardiomyocyte", - "ontology": "CL:0000746", - "ontology_label": "cardiac muscle cell" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "cell_morphology": { - "cell_morphology": "adherent cells , form single layer colonies", - "cell_size": "40-45", - "cell_size_unit": { - "text": "micrometer", - "ontology": "UO:0000017", - "ontology_label": "micrometer" - }, - "percent_cell_viability": 90, - "cell_viability_method": "trypan blue staining", - "cell_viability_result": "pass" - }, - "model_organ": { - "text": "blood (child_cell_line)", - "ontology": "UBERON:0000178", - "ontology_label": "blood (child_cell_line)" - }, - "provenance": { - "document_id": "195b2621-ec05-4618-9063-c56048de97d1", - "submission_date": "2018-12-04T16:22:45.625Z" - } - }, - "cell_line/c737000c-60d3-43c6-9017-16de92294529": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/9.0.0/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "cell_line_GM18517", - "biomaterial_name": "LCL", - "biomaterial_description": "LCL from B-Lymphocyte", - "ncbi_taxon_id": [ - 9606 - ] - }, - "supplier": "Coriell", - "catalog_number": "GM18517", - "catalog_url": "https://www.coriell.org/0/Sections/Search/Sample_Detail.aspx?Ref=GM18517&product=CC", - "cell_line_type": "primary", - "growth_conditions": { - "mycoplasma_testing_results": "pass" - }, - "cell_type": { - "text": "lymphocyte of B lineage", - "ontology": "CL:0000945", - "ontology_label": "lymphocyte of B lineage" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "model_organ": { - "text": "blood (parent_cell_line)", - "ontology": "UBERON:0000178", - "ontology_label": "blood (parent_cell_line)" - }, - "provenance": { - "document_id": "c737000c-60d3-43c6-9017-16de92294529", - "submission_date": "2018-12-04T16:22:45.467Z" - } - }, - "specimen_from_organism/50eec9fe-0138-458a-a946-9eec1403eb80": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "specimen_2", - "biomaterial_name": "blood", - "biomaterial_description": "B-Lymphocyte transformed with Epstein-Barr Virus", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "blood", - "ontology": "UBERON:0000178", - "ontology_label": "blood" - }, - "organ_part": { - "text": "venous blood", - "ontology": "UBERON:0013756", - "ontology_label": "venous blood" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "50eec9fe-0138-458a-a946-9eec1403eb80", - "submission_date": "2018-12-04T16:22:45.420Z" - } - }, - "donor_organism/c4cfe441-ae72-4539-a23b-fac1fb61103e": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "GM18517", - "biomaterial_name": "YORUBA Female", - "biomaterial_description": "Nigerian Female Blood Donor, Age Unknown", - "ncbi_taxon_id": [ - 9606 - ] - }, - "human_specific": { - "ethnicity": [ - { - "text": "YORUBA", - "ontology": "HANCESTRO:0575", - "ontology_label": "Yoruban" - } - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "is_living": "yes", - "sex": "female", - "provenance": { - "document_id": "c4cfe441-ae72-4539-a23b-fac1fb61103e", - "submission_date": "2018-12-04T16:22:45.388Z" - } - }, - "sequence_file/12b25cbd-8cfa-4f0e-818f-d6ba3e823af4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "AB-HE0202-C-CZI-day7-DroNc_S2_R1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "7611477fd4a2f318747ea1ebf052408c" - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 20, - "provenance": { - "document_id": "12b25cbd-8cfa-4f0e-818f-d6ba3e823af4", - "submission_date": "2018-12-04T16:22:46.380Z" - } - }, - "sequence_file/65d3d936-ae9d-4a18-a8c7-73ce6132355e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "AB-HE0202-C-CZI-day7-DroNc_S2_R2_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "1d3eafcb52fcc778a0f856d310ab6505" - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 62, - "provenance": { - "document_id": "65d3d936-ae9d-4a18-a8c7-73ce6132355e", - "submission_date": "2018-12-04T16:22:46.388Z" - } - }, - "project/c765e3f9-7cfc-4501-8832-79e5f7abd321": { - "describedBy": "https://schema.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Drop-seq, DroNc-seq, Fluidigm C1 Comparison", - "project_title": "Comparison, calibration, and benchmarking of high-throughput single cell RNA-Seq techniques for unbiased cell-type classification", - "project_description": "The Human Cell Atlas project seeks to identify and functionally characterize all cell types in the human body. Single-cell RNA-sequencing (scRNA-seq) methods quantify gene expression in individual cells. In principle, highly parallelized scRNA-seq approaches enable marker-free decomposition of cells from complex tissues to identify known and unknown cell types and provide direct insights into regulatory and functional states of each cell. Different scRNA-seq technologies vary in cell capture efficiency, library preparation, and throughput. Importantly, these approaches also vary in sensitivity and accuracy of mRNA quantification. The Human Cell Atlas project will collate data generated across many labs, necessitating the evaluation of experimental replicability, and comparing different experimental procedures. It is important to develop robust sequencing protocols and benchmark their performance on select cells and tissues. This project will perform a systematic comparison of three single cell RNA sequencing technologies, viz., Drop-Seq, Fluidigm C1, and DroNC-Seq and resulting datasets. Droplet-based methods facilitate high-throughput processing of tens of thousands of cells in parallel and at low costs, making them ideal for the Human Cell Atlas project. This project proposes to compare the sensitivity, accuracy, and precision with which the three methods quantify transcript levels within individual cells. In addition, this project will directly compare these methods using a \u2018synthetic tissue\u2019 created from a mixture of multiple cell types at known ratios." - }, - "contributors": [ - { - "contact_name": "Anindita,, Basu", - "email": "onibasu@uchicago.edu", - "institution": "University of Chicago", - "laboratory": "Basu", - "address": "5835 S. Cottage Grove Ave., N516, Chicago, IL 60637", - "country": "USA", - "project_role": "principal investigator", - "corresponding_contributor": true - }, - { - "contact_name": "Sebastian,, Pott", - "email": "spott@uchicago.edu", - "institution": "University of Chicago", - "laboratory": "Pott", - "country": "USA", - "project_role": "principal investigator", - "corresponding_contributor": true - }, - { - "contact_name": "Heather,, Eckart", - "email": "heckart@uchicago.edu", - "institution": "University of Chicago", - "laboratory": "Basu", - "address": "5835 S. Cottage Grove Ave., N516, Chicago, IL 60637", - "country": "USA" - }, - { - "contact_name": "Ryan,, Dohn", - "email": "dohnr@uchicago.edu", - "institution": "University of Chicago", - "laboratory": "Basu", - "address": "5835 S. Cottage Grove Ave., N516, Chicago, IL 60637", - "country": "USA" - }, - { - "contact_name": "Reem,, Elorbany", - "email": "reemelorbany@uchicago.edu", - "institution": "University of Chicago", - "laboratory": "Pott", - "country": "USA" - }, - { - "contact_name": "Katie,, Rhodes", - "email": "klrhodes@uchicago.edu", - "institution": "University of Chicago", - "laboratory": "Pott", - "country": "USA" - }, - { - "contact_name": "Eric,, Gauchat", - "email": "egauchat@uchicago.edu", - "institution": "University of Chicago", - "laboratory": "Basu", - "address": "5835 S. Cottage Grove Ave., N516, Chicago, IL 60637", - "country": "USA" - }, - { - "contact_name": "Parisa,, Nejad", - "email": "pnejad@ucsc.edu", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "project_role": "Human Cell Atlas wrangler", - "corresponding_contributor": false - } - ], - "provenance": { - "document_id": "c765e3f9-7cfc-4501-8832-79e5f7abd321", - "submission_date": "2018-12-04T16:22:45.367Z" - } - }, - "library_preparation_protocol/7a7788ce-ba24-431b-bd4b-dc02dcee1547": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_2", - "protocol_name": "High-throughput, single nuclei RNA-seq", - "protocol_description": "droplet based RNA-seq", - "publication_doi": "10.1038/nmeth.4407" - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 8 - }, - "input_nucleic_acid_molecule": { - "text": "mRNA", - "ontology": "CHEBI:33699", - "ontology_label": "messenger RNA" - }, - "library_construction_approach": { - "text": "DroNc-seq ", - "ontology": "EFO:0008720", - "ontology_label": "DroNc-Seq " - }, - "library_construction_kit": { - "retail_name": "Nextera XT DNA Library Preparation Kit", - "catalog_number": "FC-131-1096", - "manufacturer": "Illumina", - "lot_number": "20208372", - "expiry_date": "2018-08-02" - }, - "end_bias": "3 prime tag", - "strand": "second", - "provenance": { - "document_id": "7a7788ce-ba24-431b-bd4b-dc02dcee1547", - "submission_date": "2018-12-04T16:22:45.888Z" - } - }, - "sequencing_protocol/2ea1f5b3-d137-43f5-98b6-268d82f682aa": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/9.0.3/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_2", - "protocol_name": "DroNc-seq Protocol", - "protocol_description": "droplet based, high throughput, single-cell RNA-seq" - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0009173", - "ontology_label": "Illumina NextSeq 500" - }, - "local_machine_name": "NextSeq500", - "paired_end": true, - "sequencing_approach": { - "text": "DroNc-seq", - "ontology": "EFO:0008720", - "ontology_label": "DroNc-Seq" - }, - "provenance": { - "document_id": "2ea1f5b3-d137-43f5-98b6-268d82f682aa", - "submission_date": "2018-12-04T16:22:45.904Z" - } - }, - "dissociation_protocol/028e8015-e9b6-4593-8cb8-59357085a746": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "protocol_name": "Nuclei Isolation Protocol ", - "protocol_description": "Mechanical sheering using the EZ lysis kit" - }, - "dissociation_method": { - "text": "mechanical dissociation", - "ontology": "EFO:0009129", - "ontology_label": "mechanical dissociation" - }, - "provenance": { - "document_id": "028e8015-e9b6-4593-8cb8-59357085a746", - "submission_date": "2018-12-04T16:22:45.860Z" - } - }, - "ipsc_induction_protocol/de1be240-5ac5-4b6d-8294-ae0c58e0e289": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/2.0.1/ipsc_induction_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "iPSC_induction_protcol_1", - "protocol_name": "iPSC Induction Protocol", - "protocol_description": "Reprogramming by Episomal Transfection using a plasmids contain genes POU5F1, SOX2, KLF4, MYCL, LIN28, and an shRNA against TP53" - }, - "ipsc_induction_method": "plasmid", - "ipsc_induction_kit": { - "retail_name": "AMAXA Cell Line Nucleofector Kit V", - "catalog_number": "VCA-1003", - "manufacturer": "Lonza" - }, - "pluripotency_vector_removed": "no", - "ipsc_induction_produced_in_house": true, - "provenance": { - "document_id": "de1be240-5ac5-4b6d-8294-ae0c58e0e289", - "submission_date": "2018-12-04T16:22:45.824Z" - } - }, - "differentiation_protocol/944f1bef-a1af-4a88-a6af-e8eec48172a3": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/1.3.0/differentiation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "differentiation_protocol_2", - "protocol_name": "Cardiomyocyte Differentiation Protocol ", - "protocol_description": "Directed differentiation of iPSC to cardiomyocytes using B27 insulin, Glutamax and Pennicillin/Streptomycin" - }, - "differentiation_method": "monolayer", - "target_pathway": "Wnt Pathway", - "provenance": { - "document_id": "944f1bef-a1af-4a88-a6af-e8eec48172a3", - "submission_date": "2018-12-04T16:22:45.843Z" - } - }, - "process/c124da1f-12bf-48c6-baf5-95aa74439a3a": { - "process_core": { - "process_id": "Day7_DroNc_BioRep2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c124da1f-12bf-48c6-baf5-95aa74439a3a", - "submission_date": "2018-12-04T16:22:46.893Z" - } - }, - "process/e2144c69-dbdd-485a-834b-5d05ba06b3fc": { - "process_core": { - "process_id": "process_id_27" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e2144c69-dbdd-485a-834b-5d05ba06b3fc", - "submission_date": "2018-12-04T16:22:46.678Z" - } - }, - "process/7b7c1273-3e0f-4f77-af53-721807a6af85": { - "process_core": { - "process_id": "process_id_12" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "7b7c1273-3e0f-4f77-af53-721807a6af85", - "submission_date": "2018-12-04T16:22:46.521Z" - } - }, - "process/e1c9e3e3-fa47-49bc-b718-33ca9b89eea9": { - "process_core": { - "process_id": "process_id_4" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "e1c9e3e3-fa47-49bc-b718-33ca9b89eea9", - "submission_date": "2018-12-04T16:22:46.453Z" - } - }, - "process/84d06811-a6b5-4a37-809c-842b0ca9e093": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "84d06811-a6b5-4a37-809c-842b0ca9e093", - "submission_date": "2018-12-04T16:22:46.435Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.3/links", - "schema_type": "link_bundle", - "schema_version": "1.1.3", - "links": [ - { - "process": "c124da1f-12bf-48c6-baf5-95aa74439a3a", - "inputs": [ - "d29c64bd-b8d2-4e72-abbc-5536a44eac12" - ], - "input_type": "biomaterial", - "outputs": [ - "12b25cbd-8cfa-4f0e-818f-d6ba3e823af4", - "65d3d936-ae9d-4a18-a8c7-73ce6132355e" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "7a7788ce-ba24-431b-bd4b-dc02dcee1547" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "2ea1f5b3-d137-43f5-98b6-268d82f682aa" - } - ] - }, - { - "process": "e2144c69-dbdd-485a-834b-5d05ba06b3fc", - "inputs": [ - "195b2621-ec05-4618-9063-c56048de97d1" - ], - "input_type": "biomaterial", - "outputs": [ - "d29c64bd-b8d2-4e72-abbc-5536a44eac12" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "028e8015-e9b6-4593-8cb8-59357085a746" - } - ] - }, - { - "process": "7b7c1273-3e0f-4f77-af53-721807a6af85", - "inputs": [ - "c737000c-60d3-43c6-9017-16de92294529" - ], - "input_type": "biomaterial", - "outputs": [ - "195b2621-ec05-4618-9063-c56048de97d1" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "ipsc_induction_protocol", - "protocol_id": "de1be240-5ac5-4b6d-8294-ae0c58e0e289" - }, - { - "protocol_type": "differentiation_protocol", - "protocol_id": "944f1bef-a1af-4a88-a6af-e8eec48172a3" - } - ] - }, - { - "process": "e1c9e3e3-fa47-49bc-b718-33ca9b89eea9", - "inputs": [ - "50eec9fe-0138-458a-a946-9eec1403eb80" - ], - "input_type": "biomaterial", - "outputs": [ - "c737000c-60d3-43c6-9017-16de92294529" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "84d06811-a6b5-4a37-809c-842b0ca9e093", - "inputs": [ - "c4cfe441-ae72-4539-a23b-fac1fb61103e" - ], - "input_type": "biomaterial", - "outputs": [ - "50eec9fe-0138-458a-a946-9eec1403eb80" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/e2c3054e-9fba-4d7a-b85b-a2220d16da73.dss.hca.json b/test/indexer/data/e2c3054e-9fba-4d7a-b85b-a2220d16da73.dss.hca.json deleted file mode 100644 index 070e6834ab..0000000000 --- a/test/indexer/data/e2c3054e-9fba-4d7a-b85b-a2220d16da73.dss.hca.json +++ /dev/null @@ -1,1816 +0,0 @@ -{ - "manifest": { - "analysis_file/f5f82e76-173c-4f95-b25a-4ddc80bd1f86": { - - "content-type": "text/plain; dcp-type=data", - "crc32c": "6bb92520", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.bait_bias_summary_metrics.txt", - "s3_etag": "9da9b68b5064e8a4be779cfaad30300d", - "sha1": "b029915166f795b85a72dc6e104fecae953cf689", - "sha256": "0f344c4dd388cbcf114b748e7e89c2f451047f9385f0a729682f4edaf6f03bfc", - "size": 2709, - "uuid": "d7408870-a345-4d5c-be33-edbd69385529", - "version": "2018-10-24T23:42:14.573498Z" - }, - "analysis_file/9b32ad49-e38d-458c-8976-668daa24c30e": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "06cf46cb", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.insert_size_metrics.txt", - "s3_etag": "8f6f678dd430d4d40b0a866845bb9b2a", - "sha1": "13c71b8ae5082330cea8b524e4684bce8d2fa3a9", - "sha256": "82840bb4f11046098f197d4460f8e26750be535b1a8de322776417628fda35da", - "size": 7865, - "uuid": "4754bb8b-fc1f-431d-b063-fdbc2930fbf3", - "version": "2018-10-24T23:42:15.014013Z" - }, - "analysis_file/479b4d96-b76b-41a7-9606-a523d701ce0c": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "2d0486d5", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.quality_by_cycle_metrics.txt", - "s3_etag": "877212ca295356c52c6fc05b7475b86a", - "sha1": "af02bbc95eef67188bfa81f1326dab2fdc737125", - "sha256": "320de62491e0d7aac6bfeac0e0429d8c3bde1aa830d5d1f1286f4f9c2bc07cf1", - "size": 2936, - "uuid": "c594b1a2-6a72-4744-8fc4-07debf086cbf", - "version": "2018-10-24T23:42:15.215728Z" - }, - "analysis_file/f0b686e9-7a26-40f1-bdb2-58a1414d77eb": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "e1c51bd2", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.quality_distribution_metrics.txt", - "s3_etag": "44851e5fd70f0e3222a4b5c81910e241", - "sha1": "3f46d120866c9d85b86bbbabfceb86cc47cfd7e7", - "sha256": "d220031dd5417f139b635ccfbf07a070a9a17b3905ec463f5e33d0b1be09c2ca", - "size": 1288, - "uuid": "bb1b99aa-1343-4825-88c9-1b67400982fc", - "version": "2018-10-24T23:42:15.408775Z" - }, - "analysis_file/30f8d79e-8a4d-4fd3-93af-b5346f16b640": { - "content-type": "text/plain; dcp-type=data", - "crc32c": "53c649b7", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.rna_metrics.txt", - "s3_etag": "5d6c96dddb6021804560075ecdaaee80", - "sha1": "545e763fa0bb6c3f8a244de0b3e7d1fa3ddaed74", - "sha256": "f7b35076ad9241e8d74412c23e4615b7d652a262e2f475d84a1d22bf3a812630", - "size": 3257, - "uuid": "58fb543a-1021-499c-a96d-aa49612ece44", - "version": "2018-10-24T23:42:15.703115Z" - }, - "analysis_file/20a011f9-e862-413b-bf1c-b43f3c64b874": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "09e98693", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_QCs.csv", - "s3_etag": "f8600ee1e3abc9c8db1f2211c1067ad9", - "sha1": "90db51576ea0911ad06f1a24761a65aef405b3db", - "sha256": "571de867d3dc564258b1cfc9fdf552fc7fbab65f37b21c47ce14650d002e8958", - "size": 8144, - "uuid": "7270a312-321a-4c33-80f3-4b02580be397", - "version": "2018-10-24T23:42:15.988377Z" - }, - "analysis_file/c8caa0c3-7e78-40ac-a7f9-6219cbc2ee50": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "6dface93", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_bait_bias_detail_metrics.csv", - "s3_etag": "6232bebdaa23982d6539adb7950520cb", - "sha1": "94a73e83e1fbbfb4a31c1d19c4d4106c07ae25d7", - "sha256": "b15b8de052e4a89b8e862c8cc6a1371cb6beb1fa757cd778f0699087ae0b0f74", - "size": 32866, - "uuid": "4c7e9d51-cd0a-4a0e-82e3-4c70550be2f0", - "version": "2018-10-24T23:42:16.282105Z" - }, - "analysis_file/bdea53d3-49a6-4f5c-8504-d74996fe0745": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "522a934d", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_base_distribution_by_cycle_metrics.csv", - "s3_etag": "82628e4d3380560e68023c29da8dd651", - "sha1": "32d6b168efeef1e016a58fac2953bf98b73d72ac", - "sha256": "8f5cdf4937f16eead8efe1518cf7c31dffc55562ced9c5009a7803bc17c5ab47", - "size": 11799, - "uuid": "3b5057e7-d9fa-4c66-b172-66efb9d46c7f", - "version": "2018-10-24T23:42:16.551760Z" - }, - "analysis_file/0d27455f-d951-472a-849a-e234efca42d6": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "3290e07b", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_error_summary_metrics.csv", - "s3_etag": "7ebf3e7a0aa89ebb18103f8e3e204a90", - "sha1": "f6e4e6903c07a06c664a318191b806653650e6f3", - "sha256": "baac0a313d2ed4c8d359e929e53438d276168fdd8fd18d369a0a5b130d9b11be", - "size": 498, - "uuid": "8f886981-71ca-4d50-945d-fcad7456dce7", - "version": "2018-10-24T23:42:16.801147Z" - }, - "analysis_file/2da7e3ba-23f5-4e81-9c36-5106b55bcdce": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "2ca91ed2", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_gc_bias.csv", - "s3_etag": "ad318920a86f9ef2e34a2d261bf6cea7", - "sha1": "d301c195db1c047b0cbbbdc13b5b359d709e091a", - "sha256": "33754dcd24debb0dd63f474d89847f579ef267d4b268620f42e579d88bf0c1ca", - "size": 9118, - "uuid": "6a02ba20-ba21-4685-b616-2651ce61df5c", - "version": "2018-10-24T23:42:17.068963Z" - }, - "analysis_file/8776d7ea-5e3e-49a0-bd97-a713e9a14f3e": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "78cad56f", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_pre_adapter_detail_metrics.csv", - "s3_etag": "a0ff0949b0f5b6b63e0e85ae2d535148", - "sha1": "f20a4c84df287fca04bebd3383d195ffd51cee6a", - "sha256": "f1b44ed21d9d06f7b712f92b425d4007fbc92415a86992dfcdddafd85a892dda", - "size": 29390, - "uuid": "c64fddc4-47bb-4219-8e1f-2c9b05192c30", - "version": "2018-10-24T23:42:17.343576Z" - }, - "analysis_file/4fb97024-86ac-4d01-907d-d9b3159cf4be": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "37833b4b", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_pre_adapter_summary_metrics.csv", - "s3_etag": "136422a20fa012ebaf6ccada8b03c800", - "sha1": "707622b664323120b8e01185b6fa1506c7909d78", - "sha256": "6b851f2a72cd875f95449fdea03fe9a404ad114658c25c5b45d21f1627dd991e", - "size": 1902, - "uuid": "d5dcc2ea-11a3-40f6-94bd-b58584b9b9ea", - "version": "2018-10-24T23:42:17.572545Z" - }, - "analysis_file/e1982adb-80b9-4ea6-a616-9206b0846afd": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "d05e6e24", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.bam", - "s3_etag": "378588d5f2d55b2e84b226453e1ed1c8-8", - "sha1": "36c23da877f15a9a7ff7e14058a4685e2583fc09", - "sha256": "e60e83fbc57bfb364894646afc6f8bf4e3a6e3b23e569f4c098e4040bf106029", - "size": 489023486, - "uuid": "0e537564-ae91-460c-8b64-db6736fd342f", - "version": "2018-10-24T23:42:17.849582Z" - }, - "analysis_file/b9254ef6-3f3a-4259-8829-01a6006fe5e3": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "383a286e", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.bam.bai", - "s3_etag": "1ad04db81dff2dcd323b62557ac34312", - "sha1": "b248cc26739a42593c0ead115afb5dc470a98d3d", - "sha256": "531a8a2726f229c2c878411c92540cda5dd19fe97f8d381a06fc00aa92668246", - "size": 1967288, - "uuid": "7e977e69-0abf-4e2e-925b-fd312a91996c", - "version": "2018-10-24T23:42:17.966695Z" - }, - "analysis_file/4bdb540a-7189-490a-9823-0f5c67e146d4": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "8be628a6", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_rsem.bam", - "s3_etag": "92d1e9763e39465bf84a58578959632b-6", - "sha1": "c6e2e15e24cf1bf8e308250207c493cb8c61b740", - "sha256": "c0be046241685ec8fed78a2ed027157d230b899137921b9a071e524f8c7a354b", - "size": 379214661, - "uuid": "c5745a0b-01c4-42ec-a4a3-4de76b72e3c7", - "version": "2018-10-24T23:42:18.360888Z" - }, - "analysis_file/02e4b9e0-0750-4a21-8b18-46df9f7c86b5": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "1fcc995f", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_rsem.genes.results", - "s3_etag": "203309c73041511dcf045c7a18caa5c6", - "sha1": "0fde6450b7f4eba4d617eef406bd9e89ac689fa4", - "sha256": "b57a4e3d90cdc6a868f1a3175917a5af272c62ccac43c692a9ccf6a707e77641", - "size": 7588292, - "uuid": "780a8a11-d536-42be-9c92-a408b23f13a0", - "version": "2018-10-24T23:42:18.517550Z" - }, - "analysis_file/55a4c327-4ca0-400d-88b9-91ccd89cad31": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "27f749cf", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338_rsem.isoforms.results", - "s3_etag": "0e2474638d718a6d91c3453c65e3dbb4", - "sha1": "5f2ef9197751d942ac935375555fdfdd66c95fef", - "sha256": "76eb80733ca37292837f2ef2cfbe70fffaf73f228ac8d574e136da45eb07ce5f", - "size": 18879952, - "uuid": "989f8eac-c511-49e2-b4eb-1c7fde939df6", - "version": "2018-10-24T23:42:19.746293Z" - }, - "analysis_file/dd5a65c4-23fc-40ba-8caf-37393a059e0f": { - "content-type": "application/json; dcp-type=data", - "crc32c": "c597ac81", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!.zattrs", - "s3_etag": "458dc7fb508ea00352da6f720f54679e", - "sha1": "385deab96744f386d71d78be4c5783430d5f207b", - "sha256": "2e154e6d2ce0b9ea50fa1ca3b4f2df56151fd5983cf32af6d0701a38bf0ea0f3", - "size": 148, - "uuid": "bc155f7e-ed46-41f1-a54b-5d094e1e32f2", - "version": "2018-10-24T23:42:20.467152Z" - }, - "analysis_file/bc051b66-16fd-49b0-aca7-d6b29c445f61": { - "content-type": "application/json; dcp-type=data", - "crc32c": "444a7707", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!.zgroup", - "s3_etag": "e20297935e73dd0154104d4ea53040ab", - "sha1": "63b0fcd7748c79d0de97705fb1b8ed5fcc5ac788", - "sha256": "2383746e67b4bcc2762b3f100f06c3fa2d5f149ab5a8e5da5d33521464a01959", - "size": 24, - "uuid": "0878349d-9608-4389-9b34-ac17d641c396", - "version": "2018-10-24T23:42:20.712048Z" - }, - "analysis_file/b104083d-c607-4ad5-993e-e97632c9e4d9": { - "content-type": "application/json; dcp-type=data", - "crc32c": "f35d7e55", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_id!.zarray", - "s3_etag": "adf52f6446cf3395b891614c2cf2372a", - "sha1": "9fd2e280f325ed95273798729cf3129d5f31a55d", - "sha256": "2fa6969421abba6ad8f00f603ec90614fddf2fdea2fbe05def7e279ccc753b94", - "size": 311, - "uuid": "65cf94ff-f203-4b93-aca4-2ef7ad3f5aa0", - "version": "2018-10-24T23:42:20.881581Z" - }, - "analysis_file/b6576e30-18a2-412c-846d-377ad50cceed": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "1563daec", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_id!0", - "s3_etag": "6bef575d832e8b32e93708b10d7928b8", - "sha1": "d9fb6b1dbd6bc43446bccb857beb81cf253ea8ed", - "sha256": "7af846b4d0d42734b75ba15c0b7e837be587c13723dea2fb851507b22c91ee46", - "size": 145, - "uuid": "0bf15e1e-cc40-43e1-b01f-93f2e725fae7", - "version": "2018-10-24T23:42:21.017096Z" - }, - "analysis_file/544245b6-180b-4765-b8d2-db9a07fd2790": { - "content-type": "application/json; dcp-type=data", - "crc32c": "88068bce", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_numeric!.zarray", - "s3_etag": "143c99e56f6dbf5df7db5f13b4bfcff4", - "sha1": "a7612dc1d58458f975ffd26d2bd8b5ce49a811b6", - "sha256": "95979e9877f4a2e5973967ed1e5cb4e3b894742696df8e4189f4fe3c42be6966", - "size": 337, - "uuid": "fd42c155-6189-4789-83b1-c6f3a7706228", - "version": "2018-10-24T23:42:21.309195Z" - }, - "analysis_file/bdfc95f5-452d-45f0-a539-03e70be04d73": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ae799606", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_numeric!0.0", - "s3_etag": "fa137531897565fdac3f7955b2d995de", - "sha1": "fca89edaaae20f21a76069db8487a8c5e0d82f1b", - "sha256": "db234d94efde9ca6ff43fa50a971dea229aadccf401091174d2bcc7687ca59fe", - "size": 620, - "uuid": "3877ba3c-3db8-4538-b3c6-39a4d70269eb", - "version": "2018-10-24T23:42:21.442289Z" - }, - "analysis_file/46742270-3e39-45a2-99d6-50c2e1277045": { - "content-type": "application/json; dcp-type=data", - "crc32c": "38a3821e", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_numeric_name!.zarray", - "s3_etag": "6cd55b5c19627b1221e44c0b623f6a7a", - "sha1": "379887b0c96e35f627437c9bd02884aee0a469ec", - "sha256": "1d678d0e30a79f5625ce9dcbfc0a16a755887c41c0c542896c9147c61d78dfc5", - "size": 315, - "uuid": "aea258d4-650e-45c8-890a-d2179a76a326", - "version": "2018-10-24T23:42:21.729567Z" - }, - "analysis_file/1251ee1c-3f6f-43ef-b540-c4a3f3461e78": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "afce17ed", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_numeric_name!0", - "s3_etag": "40a03beade9cbe20471da510719e87ee", - "sha1": "07067e1916a1f326c6039c1135cc365d8157e250", - "sha256": "109b07d4cac30dc70dbab56f630a100ba7edf46ced95eaaa60bbd1b642c8695e", - "size": 3920, - "uuid": "af1aec5c-e200-4d9b-8ea4-f55bc4285615", - "version": "2018-10-24T23:42:21.861075Z" - }, - "analysis_file/ad5a0217-3f5e-4293-bf4e-d56f55453dd5": { - "content-type": "application/json; dcp-type=data", - "crc32c": "c6565f75", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_string!.zarray", - "s3_etag": "a191a4cbbc03d856923e37be13612e94", - "sha1": "967aa8a1960dd44731fc73e97bd31f9d31a1ac28", - "sha256": "bdfbef7a1f7947596fcc1e176471ce97e895f58970e8e2289d73343ccc60bc7e", - "size": 333, - "uuid": "efb0702d-9593-4199-8129-2a86a13600a9", - "version": "2018-10-24T23:42:21.990379Z" - }, - "analysis_file/fc842ec4-3fdc-447c-82a3-b59584f6509f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c0b4fc1c", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_string!0.0", - "s3_etag": "8e35dfc78f4530c7cc629e722e41c14a", - "sha1": "8f2698a020fa520b3619c7f24a016a0ebc7c52e8", - "sha256": "910c28ef76e19d3c845e7918df9fec4a45bf28aa349ad3b9d68bc765d7be5015", - "size": 104, - "uuid": "7474a924-91db-4468-81cf-4a28e6dacda5", - "version": "2018-10-24T23:42:22.121285Z" - }, - "analysis_file/858b76ef-bb5b-44e2-b6fa-09efd3430a98": { - "content-type": "application/json; dcp-type=data", - "crc32c": "80af448b", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_string_name!.zarray", - "s3_etag": "d70cdb9540920623d2b47a915c218930", - "sha1": "34b30d940aedf75dd406119b8044ba1f0d718392", - "sha256": "ec2f2606d246f1ff4b76c00a5c38fc6298435762df413f88690e44abb5447075", - "size": 311, - "uuid": "09144ccc-8f59-47c3-960d-1f97cedc0ba6", - "version": "2018-10-24T23:42:22.356058Z" - }, - "analysis_file/8c4c53c9-87a3-4f28-8c65-57090360a9dc": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f282f971", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_string_name!0", - "s3_etag": "a9f7d989dc368de1512249f67ae71b01", - "sha1": "823ae16a87d600986573fe05f5f03f30008c7fa3", - "sha256": "62248abc08d4717360bbcb7fea1aea23260ee6fa4c9bcdc207bffdcba17aedd2", - "size": 172, - "uuid": "0ecd1e02-2cf6-4c71-af42-259036b78284", - "version": "2018-10-24T23:42:22.492841Z" - }, - "analysis_file/ec81ed84-ba61-4361-b611-c2ab3bf3f08e": { - "content-type": "application/json; dcp-type=data", - "crc32c": "b89e6723", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!expression!.zarray", - "s3_etag": "1cc8c5a815470108493b451c5a974fd3", - "sha1": "b62a2d173d1b4fa4f35817a5eefa525a7b126691", - "sha256": "31f6f311ce1934669c993d3ae909f89084d605554312bc34262340e3f37005ca", - "size": 341, - "uuid": "e6bc21b2-fbbd-46f3-9b3a-df0d547a3142", - "version": "2018-10-24T23:42:22.705276Z" - }, - "analysis_file/51adec61-135c-4a93-b3d2-50019c0f58ad": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "1c9916e8", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!expression!0.0", - "s3_etag": "e03c51ad4c218c35c5e4b2905f0c1e2e", - "sha1": "48cdff156125b563a7e10b9811b5423731e01e6f", - "sha256": "283d62b6f5525e13a81714a368f576a7cc017724199756a002f4a71c1fc72789", - "size": 56157, - "uuid": "63818a29-a94e-49ca-8c83-15e7813510d9", - "version": "2018-10-24T23:42:22.837521Z" - }, - "analysis_file/abfb543f-345d-4f01-8a3d-c9c02b87cd0b": { - "content-type": "application/json; dcp-type=data", - "crc32c": "88035931", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!gene_id!.zarray", - "s3_etag": "12f1697e02f5dc989975f3a4e2ac3f98", - "sha1": "fffcd7c2eda62aac81a0c656ae034a4271256cee", - "sha256": "fc15b29aeda7d465c6d39028fd015c7ec5e364129721154547d245107758cc4a", - "size": 319, - "uuid": "599c92d3-6d60-4f14-a0e4-f6970958ae5a", - "version": "2018-10-24T23:42:23.188749Z" - }, - "analysis_file/1afd626b-6730-4cb6-92c1-3379e7944f66": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "af11e230", - "indexed": false, - "name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!gene_id!0", - "s3_etag": "6c5c60ac79495ba152c1a332addba3c6", - "sha1": "de7de3dac0ae587db8e69fab551536c4cd22f7a3", - "sha256": "9158341185b8060fc2ec6f7a1b62aa2726f697233658a4e5c7aa0d51a03c7b6a", - "size": 192191, - "uuid": "5f87557b-8b9e-44e5-b3e5-f1a785530418", - "version": "2018-10-24T23:42:23.363215Z" - }, - "sequence_file/c8ed5871-28e6-42e2-8ccf-caa586a72c9e": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "0515f3b7", - "indexed": false, - "name": "SRR3564445_2.fastq.gz", - "s3_etag": "444298984fcb4c45365f410ba8439fed-2", - "sha1": "60942bed63c5c2b67d2cff23d5da4cab1d91a6c9", - "sha256": "f42b49fd3a43e5e055091fc5aaf018ef6548ce6f19c8cc6b0d8891c70eed2808", - "size": 79533007, - "uuid": "e4232d09-11b1-44b6-a1d5-2049f2d2ef2e", - "version": "2018-10-23T09:40:41.472595Z" - }, - "sequence_file/6291c2e7-3cc4-4d87-9bf6-2d6f6b131628": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "e1a944cc", - "indexed": false, - "name": "SRR3564445_1.fastq.gz", - "s3_etag": "43965edb11214899d4038d64c57af188-2", - "sha1": "b1999eeed4d6635483523293e8a2c3b9197be85f", - "sha256": "851f288a289f226f4e163bcc7f6ba28fe9c5b195467c702ced0a4bdd92addbf4", - "size": 75748400, - "uuid": "8194adce-71ef-45aa-af5a-468fc0f88c1c", - "version": "2018-10-23T09:40:41.717604Z" - } - }, - "metadata": { - "cell_suspension/75d0f208-d856-4e12-8916-a84f8f0e5338": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "GSM2174117 1", - "biomaterial_description": "Single cell from human pancreas", - "ncbi_taxon_id": [ - 9606 - ], - "insdc_biomaterial": "SRS1460839" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "total_estimated_cells": 1, - "provenance": { - "document_id": "75d0f208-d856-4e12-8916-a84f8f0e5338", - "submission_date": "2018-10-16T07:52:06.635Z", - "update_date": "2018-10-16T08:05:10.918Z" - } - }, - "specimen_from_organism/4c2b6ea0-43eb-4e37-b973-f2bdbc724e92": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "DID_scRSq08_pancreas", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "text": "pancreas", - "ontology": "UBERON:0001264" - }, - "organ_part": { - "text": "islet of Langerhans", - "ontology": "UBERON:0000006" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "4c2b6ea0-43eb-4e37-b973-f2bdbc724e92", - "submission_date": "2018-10-16T07:51:21.935Z", - "update_date": "2018-10-16T08:03:01.801Z" - } - }, - "donor_organism/d919428e-d58b-4815-b36a-c9f186df6582": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "DID_scRSq08", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "is_living": "no", - "sex": "male", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "organism_age": "54", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "human_specific": { - "body_mass_index": 27.3, - "ethnicity": [ - { - "text": "European", - "ontology": "hancestro:0005" - } - ] - }, - "death": { - "cause_of_death": "anoxia" - }, - "provenance": { - "document_id": "d919428e-d58b-4815-b36a-c9f186df6582", - "submission_date": "2018-10-16T07:51:21.826Z", - "update_date": "2018-10-16T07:55:45.931Z" - } - }, - "analysis_file/f5f82e76-173c-4f95-b25a-4ddc80bd1f86": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.bait_bias_summary_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "f5f82e76-173c-4f95-b25a-4ddc80bd1f86", - "submission_date": "2018-10-24T23:34:27.223Z", - "update_date": "2018-10-24T23:38:03.864Z" - } - }, - "analysis_file/9b32ad49-e38d-458c-8976-668daa24c30e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.insert_size_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "9b32ad49-e38d-458c-8976-668daa24c30e", - "submission_date": "2018-10-24T23:34:27.337Z", - "update_date": "2018-10-24T23:38:00.840Z" - } - }, - "analysis_file/479b4d96-b76b-41a7-9606-a523d701ce0c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.quality_by_cycle_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "479b4d96-b76b-41a7-9606-a523d701ce0c", - "submission_date": "2018-10-24T23:34:27.445Z", - "update_date": "2018-10-24T23:38:03.845Z" - } - }, - "analysis_file/f0b686e9-7a26-40f1-bdb2-58a1414d77eb": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.quality_distribution_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "f0b686e9-7a26-40f1-bdb2-58a1414d77eb", - "submission_date": "2018-10-24T23:34:27.550Z", - "update_date": "2018-10-24T23:38:00.814Z" - } - }, - "analysis_file/30f8d79e-8a4d-4fd3-93af-b5346f16b640": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.rna_metrics.txt", - "file_format": "txt" - }, - "provenance": { - "document_id": "30f8d79e-8a4d-4fd3-93af-b5346f16b640", - "submission_date": "2018-10-24T23:34:27.660Z", - "update_date": "2018-10-24T23:38:06.822Z" - } - }, - "analysis_file/20a011f9-e862-413b-bf1c-b43f3c64b874": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_QCs.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "20a011f9-e862-413b-bf1c-b43f3c64b874", - "submission_date": "2018-10-24T23:34:27.767Z", - "update_date": "2018-10-24T23:38:15.806Z" - } - }, - "analysis_file/c8caa0c3-7e78-40ac-a7f9-6219cbc2ee50": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_bait_bias_detail_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "c8caa0c3-7e78-40ac-a7f9-6219cbc2ee50", - "submission_date": "2018-10-24T23:34:27.871Z", - "update_date": "2018-10-24T23:38:15.858Z" - } - }, - "analysis_file/bdea53d3-49a6-4f5c-8504-d74996fe0745": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_base_distribution_by_cycle_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "bdea53d3-49a6-4f5c-8504-d74996fe0745", - "submission_date": "2018-10-24T23:34:27.981Z", - "update_date": "2018-10-24T23:38:18.850Z" - } - }, - "analysis_file/0d27455f-d951-472a-849a-e234efca42d6": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_error_summary_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "0d27455f-d951-472a-849a-e234efca42d6", - "submission_date": "2018-10-24T23:34:28.093Z", - "update_date": "2018-10-24T23:38:18.846Z" - } - }, - "analysis_file/2da7e3ba-23f5-4e81-9c36-5106b55bcdce": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_gc_bias.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "2da7e3ba-23f5-4e81-9c36-5106b55bcdce", - "submission_date": "2018-10-24T23:34:28.207Z", - "update_date": "2018-10-24T23:38:21.766Z" - } - }, - "analysis_file/8776d7ea-5e3e-49a0-bd97-a713e9a14f3e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_pre_adapter_detail_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "8776d7ea-5e3e-49a0-bd97-a713e9a14f3e", - "submission_date": "2018-10-24T23:34:28.314Z", - "update_date": "2018-10-24T23:38:21.780Z" - } - }, - "analysis_file/4fb97024-86ac-4d01-907d-d9b3159cf4be": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_pre_adapter_summary_metrics.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "4fb97024-86ac-4d01-907d-d9b3159cf4be", - "submission_date": "2018-10-24T23:34:28.424Z", - "update_date": "2018-10-24T23:38:21.799Z" - } - }, - "analysis_file/e1982adb-80b9-4ea6-a616-9206b0846afd": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "e1982adb-80b9-4ea6-a616-9206b0846afd", - "submission_date": "2018-10-24T23:34:28.537Z", - "update_date": "2018-10-24T23:38:09.869Z" - } - }, - "analysis_file/b9254ef6-3f3a-4259-8829-01a6006fe5e3": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.bam.bai", - "file_format": "bai" - }, - "provenance": { - "document_id": "b9254ef6-3f3a-4259-8829-01a6006fe5e3", - "submission_date": "2018-10-24T23:34:28.644Z", - "update_date": "2018-10-24T23:37:57.772Z" - } - }, - "analysis_file/4bdb540a-7189-490a-9823-0f5c67e146d4": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_rsem.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "4bdb540a-7189-490a-9823-0f5c67e146d4", - "submission_date": "2018-10-24T23:34:28.747Z", - "update_date": "2018-10-24T23:38:24.779Z" - } - }, - "analysis_file/02e4b9e0-0750-4a21-8b18-46df9f7c86b5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_rsem.genes.results", - "file_format": "results" - }, - "provenance": { - "document_id": "02e4b9e0-0750-4a21-8b18-46df9f7c86b5", - "submission_date": "2018-10-24T23:34:28.857Z", - "update_date": "2018-10-24T23:38:12.830Z" - } - }, - "analysis_file/55a4c327-4ca0-400d-88b9-91ccd89cad31": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_rsem.isoforms.results", - "file_format": "results" - }, - "provenance": { - "document_id": "55a4c327-4ca0-400d-88b9-91ccd89cad31", - "submission_date": "2018-10-24T23:34:28.967Z", - "update_date": "2018-10-24T23:38:15.830Z" - } - }, - "analysis_file/dd5a65c4-23fc-40ba-8caf-37393a059e0f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!.zattrs", - "file_format": "matrix" - }, - "provenance": { - "document_id": "dd5a65c4-23fc-40ba-8caf-37393a059e0f", - "submission_date": "2018-10-24T23:34:29.077Z", - "update_date": "2018-10-24T23:38:57.743Z" - } - }, - "analysis_file/bc051b66-16fd-49b0-aca7-d6b29c445f61": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!.zgroup", - "file_format": "unknown" - }, - "provenance": { - "document_id": "bc051b66-16fd-49b0-aca7-d6b29c445f61", - "submission_date": "2018-10-24T23:34:29.183Z", - "update_date": "2018-10-24T23:39:00.737Z" - } - }, - "analysis_file/b104083d-c607-4ad5-993e-e97632c9e4d9": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_id!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "b104083d-c607-4ad5-993e-e97632c9e4d9", - "submission_date": "2018-10-24T23:34:29.287Z", - "update_date": "2018-10-24T23:39:00.737Z" - } - }, - "analysis_file/b6576e30-18a2-412c-846d-377ad50cceed": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_id!0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "b6576e30-18a2-412c-846d-377ad50cceed", - "submission_date": "2018-10-24T23:34:29.395Z", - "update_date": "2018-10-24T23:39:03.740Z" - } - }, - "analysis_file/544245b6-180b-4765-b8d2-db9a07fd2790": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_numeric!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "544245b6-180b-4765-b8d2-db9a07fd2790", - "submission_date": "2018-10-24T23:34:29.529Z", - "update_date": "2018-10-24T23:39:03.740Z" - } - }, - "analysis_file/bdfc95f5-452d-45f0-a539-03e70be04d73": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_numeric!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "bdfc95f5-452d-45f0-a539-03e70be04d73", - "submission_date": "2018-10-24T23:34:29.650Z", - "update_date": "2018-10-24T23:39:03.739Z" - } - }, - "analysis_file/46742270-3e39-45a2-99d6-50c2e1277045": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_numeric_name!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "46742270-3e39-45a2-99d6-50c2e1277045", - "submission_date": "2018-10-24T23:34:29.760Z", - "update_date": "2018-10-24T23:39:06.739Z" - } - }, - "analysis_file/1251ee1c-3f6f-43ef-b540-c4a3f3461e78": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_numeric_name!0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "1251ee1c-3f6f-43ef-b540-c4a3f3461e78", - "submission_date": "2018-10-24T23:34:29.869Z", - "update_date": "2018-10-24T23:39:06.739Z" - } - }, - "analysis_file/ad5a0217-3f5e-4293-bf4e-d56f55453dd5": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_string!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "ad5a0217-3f5e-4293-bf4e-d56f55453dd5", - "submission_date": "2018-10-24T23:34:29.981Z", - "update_date": "2018-10-24T23:39:06.739Z" - } - }, - "analysis_file/fc842ec4-3fdc-447c-82a3-b59584f6509f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_string!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "fc842ec4-3fdc-447c-82a3-b59584f6509f", - "submission_date": "2018-10-24T23:34:30.102Z", - "update_date": "2018-10-24T23:39:09.742Z" - } - }, - "analysis_file/858b76ef-bb5b-44e2-b6fa-09efd3430a98": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_string_name!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "858b76ef-bb5b-44e2-b6fa-09efd3430a98", - "submission_date": "2018-10-24T23:34:30.214Z", - "update_date": "2018-10-24T23:39:09.742Z" - } - }, - "analysis_file/8c4c53c9-87a3-4f28-8c65-57090360a9dc": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_string_name!0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "8c4c53c9-87a3-4f28-8c65-57090360a9dc", - "submission_date": "2018-10-24T23:34:30.320Z", - "update_date": "2018-10-24T23:39:12.749Z" - } - }, - "analysis_file/ec81ed84-ba61-4361-b611-c2ab3bf3f08e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!expression!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "ec81ed84-ba61-4361-b611-c2ab3bf3f08e", - "submission_date": "2018-10-24T23:34:30.434Z", - "update_date": "2018-10-24T23:39:15.746Z" - } - }, - "analysis_file/51adec61-135c-4a93-b3d2-50019c0f58ad": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!expression!0.0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "51adec61-135c-4a93-b3d2-50019c0f58ad", - "submission_date": "2018-10-24T23:34:30.546Z", - "update_date": "2018-10-24T23:39:12.749Z" - } - }, - "analysis_file/abfb543f-345d-4f01-8a3d-c9c02b87cd0b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!gene_id!.zarray", - "file_format": "unknown" - }, - "provenance": { - "document_id": "abfb543f-345d-4f01-8a3d-c9c02b87cd0b", - "submission_date": "2018-10-24T23:34:30.660Z", - "update_date": "2018-10-24T23:39:15.742Z" - } - }, - "analysis_file/1afd626b-6730-4cb6-92c1-3379e7944f66": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!gene_id!0", - "file_format": "unknown" - }, - "provenance": { - "document_id": "1afd626b-6730-4cb6-92c1-3379e7944f66", - "submission_date": "2018-10-24T23:34:30.778Z", - "update_date": "2018-10-24T23:39:15.743Z" - } - }, - "sequence_file/c8ed5871-28e6-42e2-8ccf-caa586a72c9e": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3564445_2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "read_length": 75, - "insdc_run": [ - "SRR3564445" - ], - "provenance": { - "document_id": "c8ed5871-28e6-42e2-8ccf-caa586a72c9e", - "submission_date": "2018-10-16T07:53:41.525Z", - "update_date": "2018-10-16T08:27:47.326Z" - } - }, - "sequence_file/6291c2e7-3cc4-4d87-9bf6-2d6f6b131628": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3564445_1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "read_length": 75, - "insdc_run": [ - "SRR3564445" - ], - "provenance": { - "document_id": "6291c2e7-3cc4-4d87-9bf6-2d6f6b131628", - "submission_date": "2018-10-16T07:53:41.535Z", - "update_date": "2018-10-16T08:27:48.388Z" - } - }, - "project/08e7b6ba-5825-47e9-be2d-7978533c5f8c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Single cell transcriptome analysis of human pancreas", - "project_title": "Single cell transcriptome analysis of human pancreas reveals transcriptional signatures of aging and somatic mutation patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue" - }, - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "insdc_project": "SRP075496", - "geo_series": "GSE81547", - "contributors": [ - { - "contact_name": "Martin, Enge", - "email": "martin.enge@gmail.com", - "institution": "Stanford University", - "address": "Bioengineering, Stanford University, James H. Clark Center, 318 Campus Drive,, Stanford, CA, USA", - "country": "USA" - }, - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Molecular Atlas", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "external curator", - "orcid_id": "0000-0002-8748-599X", - "corresponding_contributor": false - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "phone": "(+44) 122-349-4444", - "institution": "EMBL-EBI European Bioinformatics Institute", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2771-9894", - "corresponding_contributor": false - } - ], - "publications": [ - { - "authors": [ - "Enge M", - "Arda HE", - "Mignardi M", - "Beausang J", - "Bottino R", - "Kim SK", - "Quake SR" - ], - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "doi": "10.1016/j.cell.2017.09.004", - "pmid": 28965763, - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "provenance": { - "document_id": "08e7b6ba-5825-47e9-be2d-7978533c5f8c", - "submission_date": "2018-10-16T07:51:21.705Z", - "update_date": "2018-10-16T07:55:45.727Z" - } - }, - "analysis_protocol/7770a568-a5e5-4767-8e85-69ac1574a190": { - "computational_method": "SmartSeq2SingleCell", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/analysis/8.0.3/analysis_protocol", - "protocol_core": { - "protocol_id": "smartseq2_v2.1.0" - }, - "protocol_type": { - "text": "analysis" - }, - "schema_type": "protocol", - "provenance": { - "document_id": "7770a568-a5e5-4767-8e85-69ac1574a190", - "submission_date": "2018-10-24T23:34:26.678Z", - "update_date": "2018-10-24T23:34:30.641Z" - } - }, - "library_preparation_protocol/7faadd95-bcee-4627-8990-04b79cf617f9": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931" - }, - "library_construction_kit": { - "retail_name": "Nextera XT kit", - "manufacturer": "Illumina" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "provenance": { - "document_id": "7faadd95-bcee-4627-8990-04b79cf617f9", - "submission_date": "2018-10-16T07:53:53.623Z", - "update_date": "2018-10-16T07:54:00.211Z" - } - }, - "sequencing_protocol/dcf48263-da0f-4fb8-9af7-2cb0e3af5b09": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1" - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0008566" - }, - "paired_end": true, - "sequencing_approach": { - "text": "RNA-Seq" - }, - "provenance": { - "document_id": "dcf48263-da0f-4fb8-9af7-2cb0e3af5b09", - "submission_date": "2018-10-16T07:53:53.632Z", - "update_date": "2018-10-16T07:54:00.089Z" - } - }, - "dissociation_protocol/2f0c9a0e-bf38-4df9-ba9c-d3502b843e2b": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "publication_doi": "https://doi.org/10.1101/108043" - }, - "dissociation_method": { - "text": "fluorescence-activated cell sorting" - }, - "protocol_reagents": [ - { - "retail_name": "EFO:0009108" - } - ], - "provenance": { - "document_id": "2f0c9a0e-bf38-4df9-ba9c-d3502b843e2b", - "submission_date": "2018-10-16T07:53:53.602Z", - "update_date": "2018-10-16T07:54:00.103Z" - } - }, - "enrichment_protocol/d9fdfade-52d2-40df-b299-e9aa292ea120": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_1", - "publication_doi": "https://doi.org/10.1101/108043" - }, - "enrichment_method": { - "text": "FACS", - "ontology": "EFO:0009108" - }, - "markers": "HPx1+ HPi2+ CD133/1+ CD133/2+", - "provenance": { - "document_id": "d9fdfade-52d2-40df-b299-e9aa292ea120", - "submission_date": "2018-10-16T07:53:53.613Z", - "update_date": "2018-10-16T07:54:00.229Z" - } - }, - "analysis_process/1c1d9a13-1132-4f64-aaa9-86ecac56c9f0": { - "analysis_run_type": "run", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/analysis/8.0.3/analysis_process", - "input_bundles": [ - "7faa16f0-d1c1-460e-b434-543134996d30" - ], - "inputs": [ - { - "parameter_name": "fastq1", - "parameter_value": "gs://org-humancellatlas-dss-checkout-staging/bundles/7faa16f0-d1c1-460e-b434-543134996d30.2018-10-23T094042.862339Z/SRR3564445_1.fastq.gz" - }, - { - "parameter_name": "fastq2", - "parameter_value": "gs://org-humancellatlas-dss-checkout-staging/bundles/7faa16f0-d1c1-460e-b434-543134996d30.2018-10-23T094042.862339Z/SRR3564445_2.fastq.gz" - }, - { - "parameter_name": "sample_name", - "parameter_value": "75d0f208-d856-4e12-8916-a84f8f0e5338" - }, - { - "parameter_name": "output_name", - "parameter_value": "75d0f208-d856-4e12-8916-a84f8f0e5338" - }, - { - "parameter_name": "gtf_file", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.primary_assembly.annotation.gtf" - }, - { - "parameter_name": "genome_ref_fasta", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "rrna_intervals", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode.v27.rRNA.interval_list" - }, - { - "parameter_name": "gene_ref_flat", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_gencode.v27.refFlat.txt" - }, - { - "parameter_name": "hisat2_ref_index", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/HISAT2/genome_snp_tran.tar.gz" - }, - { - "parameter_name": "hisat2_ref_trans_name", - "parameter_value": "gencode_v27_trans_rsem" - }, - { - "parameter_name": "rsem_ref_index", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/gencode_v27_primary.tar" - }, - { - "parameter_name": "hisat2_ref_name", - "parameter_value": "genome_snp_tran" - }, - { - "parameter_name": "hisat2_ref_trans_name", - "parameter_value": "gencode_v27_trans_rsem" - }, - { - "parameter_name": "stranded", - "parameter_value": "NONE" - } - ], - "outputs": [ - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.bait_bias_summary_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.insert_size_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.quality_by_cycle_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.quality_distribution_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "txt", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.rna_metrics.txt" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_QCs.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_bait_bias_detail_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_base_distribution_by_cycle_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_error_summary_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_gc_bias.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_pre_adapter_detail_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_pre_adapter_summary_metrics.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bam", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bai", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_qc.bam.bai" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bam", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_rsem.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "results", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_rsem.genes.results" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "results", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338_rsem.isoforms.results" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "matrix", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!.zattrs" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!.zgroup" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_id!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_id!0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_numeric!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_numeric!0.0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_numeric_name!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_numeric_name!0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_string!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_string!0.0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_string_name!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!cell_metadata_string_name!0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!expression!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!expression!0.0" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!gene_id!.zarray" - }, - "schema_type": "file" - }, - { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "75d0f208-d856-4e12-8916-a84f8f0e5338.zarr!gene_id!0" - }, - "schema_type": "file" - } - ], - "process_core": { - "process_id": "b86bd6f2-c46d-4f4e-a66d-4d9482a76238" - }, - "process_type": { - "text": "analysis" - }, - "reference_bundle": "bf51d668-3e14-4843-9bc7-5d676fdf0e01", - "schema_type": "process", - "tasks": [ - { - "cpus": 2, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-CollectDuplicationMetrics/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-CollectDuplicationMetrics/stdout", - "memory": "7.5 GB", - "start_time": "2018-10-24T23:28:32.195Z", - "stop_time": "2018-10-24T23:29:15.384Z", - "task_name": "CollectDuplicationMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 14 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-CollectMultipleMetrics/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-CollectMultipleMetrics/stdout", - "memory": "7.5 GB", - "start_time": "2018-10-24T23:28:32.195Z", - "stop_time": "2018-10-24T23:28:54.385Z", - "task_name": "CollectMultipleMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-CollectRnaMetrics/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-CollectRnaMetrics/stdout", - "memory": "3.5 GB", - "start_time": "2018-10-24T23:28:32.195Z", - "stop_time": "2018-10-24T23:29:00.384Z", - "task_name": "CollectRnaMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.0", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-GroupQCOutputs/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-GroupQCOutputs/stdout", - "memory": "2 GB", - "start_time": "2018-10-24T23:29:17.075Z", - "stop_time": "2018-10-24T23:29:30.391Z", - "task_name": "GroupQCOutputs", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 36 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-HISAT2PairedEnd/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-HISAT2PairedEnd/stdout", - "memory": "15 GB", - "start_time": "2018-10-24T23:28:04.654Z", - "stop_time": "2018-10-24T23:28:30.401Z", - "task_name": "HISAT2PairedEnd", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 27 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-hisat2:v0.2.2-2-2.1.0", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-HISAT2Transcriptome/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-HISAT2Transcriptome/stdout", - "memory": "15 GB", - "start_time": "2018-10-24T23:28:04.654Z", - "stop_time": "2018-10-24T23:28:30.400Z", - "task_name": "HISAT2Transcriptome", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 23 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-rsem:v0.2.2-1.3.0", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-RSEMExpression/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-RSEMExpression/stdout", - "memory": "3.5 GB", - "start_time": "2018-10-24T23:28:32.195Z", - "stop_time": "2018-10-24T23:28:54.385Z", - "task_name": "RSEMExpression", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 100 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-python3-scientific:0.1.7", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-SmartSeq2ZarrConversion/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/AdapterSmartSeq2SingleCell/ec4fe872-8dd4-402b-aaf1-950fae3afaee/call-analysis/ss2.SmartSeq2SingleCell/b86bd6f2-c46d-4f4e-a66d-4d9482a76238/call-SmartSeq2ZarrConversion/stdout", - "memory": "16 GB", - "start_time": "2018-10-24T23:29:31.535Z", - "stop_time": "2018-10-24T23:29:45.386Z", - "task_name": "SmartSeq2ZarrConversion", - "zone": "us-central1-b" - } - ], - "timestamp_start_utc": "2018-10-24T23:28:01.555Z", - "timestamp_stop_utc": "2018-10-24T23:29:46.840Z", - "provenance": { - "document_id": "1c1d9a13-1132-4f64-aaa9-86ecac56c9f0", - "submission_date": "2018-10-24T23:34:26.851Z", - "update_date": "2018-10-24T23:34:31.016Z" - } - }, - "process/30031d43-a8ee-465a-b015-bfae1d762b67": { - "process_core": { - "process_id": "SRR3564445" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "30031d43-a8ee-465a-b015-bfae1d762b67", - "submission_date": "2018-10-16T07:55:37.309Z", - "update_date": "2018-10-16T08:11:29.701Z" - } - }, - "process/0c56f1fe-3ba6-4e09-9c91-ee1cdb97afdc": { - "process_core": { - "process_id": "process_id_2244" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "0c56f1fe-3ba6-4e09-9c91-ee1cdb97afdc", - "submission_date": "2018-10-16T07:54:41.016Z", - "update_date": "2018-10-16T08:08:03.389Z" - } - }, - "process/4a1432a1-ae18-45f2-b574-9869b7242289": { - "process_core": { - "process_id": "process_id_8" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "4a1432a1-ae18-45f2-b574-9869b7242289", - "submission_date": "2018-10-16T07:53:53.709Z", - "update_date": "2018-10-16T08:06:34.625Z" - } - } - }, - "links": { - "describedBy": "http://schema.staging.data.humancellatlas.org/system/1.1.3/links", - "schema_type": "link_bundle", - "schema_version": "1.1.3", - "links": [ - { - "process": "1c1d9a13-1132-4f64-aaa9-86ecac56c9f0", - "inputs": [ - "c8ed5871-28e6-42e2-8ccf-caa586a72c9e", - "6291c2e7-3cc4-4d87-9bf6-2d6f6b131628" - ], - "input_type": "file", - "outputs": [ - "f5f82e76-173c-4f95-b25a-4ddc80bd1f86", - "9b32ad49-e38d-458c-8976-668daa24c30e", - "479b4d96-b76b-41a7-9606-a523d701ce0c", - "f0b686e9-7a26-40f1-bdb2-58a1414d77eb", - "30f8d79e-8a4d-4fd3-93af-b5346f16b640", - "20a011f9-e862-413b-bf1c-b43f3c64b874", - "c8caa0c3-7e78-40ac-a7f9-6219cbc2ee50", - "bdea53d3-49a6-4f5c-8504-d74996fe0745", - "0d27455f-d951-472a-849a-e234efca42d6", - "2da7e3ba-23f5-4e81-9c36-5106b55bcdce", - "8776d7ea-5e3e-49a0-bd97-a713e9a14f3e", - "4fb97024-86ac-4d01-907d-d9b3159cf4be", - "e1982adb-80b9-4ea6-a616-9206b0846afd", - "b9254ef6-3f3a-4259-8829-01a6006fe5e3", - "4bdb540a-7189-490a-9823-0f5c67e146d4", - "02e4b9e0-0750-4a21-8b18-46df9f7c86b5", - "55a4c327-4ca0-400d-88b9-91ccd89cad31", - "dd5a65c4-23fc-40ba-8caf-37393a059e0f", - "bc051b66-16fd-49b0-aca7-d6b29c445f61", - "b104083d-c607-4ad5-993e-e97632c9e4d9", - "b6576e30-18a2-412c-846d-377ad50cceed", - "544245b6-180b-4765-b8d2-db9a07fd2790", - "bdfc95f5-452d-45f0-a539-03e70be04d73", - "46742270-3e39-45a2-99d6-50c2e1277045", - "1251ee1c-3f6f-43ef-b540-c4a3f3461e78", - "ad5a0217-3f5e-4293-bf4e-d56f55453dd5", - "fc842ec4-3fdc-447c-82a3-b59584f6509f", - "858b76ef-bb5b-44e2-b6fa-09efd3430a98", - "8c4c53c9-87a3-4f28-8c65-57090360a9dc", - "ec81ed84-ba61-4361-b611-c2ab3bf3f08e", - "51adec61-135c-4a93-b3d2-50019c0f58ad", - "abfb543f-345d-4f01-8a3d-c9c02b87cd0b", - "1afd626b-6730-4cb6-92c1-3379e7944f66" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "7770a568-a5e5-4767-8e85-69ac1574a190" - } - ] - }, - { - "process": "30031d43-a8ee-465a-b015-bfae1d762b67", - "inputs": [ - "75d0f208-d856-4e12-8916-a84f8f0e5338" - ], - "input_type": "biomaterial", - "outputs": [ - "c8ed5871-28e6-42e2-8ccf-caa586a72c9e", - "6291c2e7-3cc4-4d87-9bf6-2d6f6b131628" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "7faadd95-bcee-4627-8990-04b79cf617f9" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "dcf48263-da0f-4fb8-9af7-2cb0e3af5b09" - } - ] - }, - { - "process": "0c56f1fe-3ba6-4e09-9c91-ee1cdb97afdc", - "inputs": [ - "4c2b6ea0-43eb-4e37-b973-f2bdbc724e92" - ], - "input_type": "biomaterial", - "outputs": [ - "75d0f208-d856-4e12-8916-a84f8f0e5338" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "2f0c9a0e-bf38-4df9-ba9c-d3502b843e2b" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "d9fdfade-52d2-40df-b299-e9aa292ea120" - } - ] - }, - { - "process": "4a1432a1-ae18-45f2-b574-9869b7242289", - "inputs": [ - "d919428e-d58b-4815-b36a-c9f186df6582" - ], - "input_type": "biomaterial", - "outputs": [ - "4c2b6ea0-43eb-4e37-b973-f2bdbc724e92" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "30031d43-a8ee-465a-b015-bfae1d762b67", - "inputs": [ - "75d0f208-d856-4e12-8916-a84f8f0e5338" - ], - "input_type": "biomaterial", - "outputs": [ - "c8ed5871-28e6-42e2-8ccf-caa586a72c9e", - "6291c2e7-3cc4-4d87-9bf6-2d6f6b131628" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "7faadd95-bcee-4627-8990-04b79cf617f9" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "dcf48263-da0f-4fb8-9af7-2cb0e3af5b09" - } - ] - }, - { - "process": "0c56f1fe-3ba6-4e09-9c91-ee1cdb97afdc", - "inputs": [ - "4c2b6ea0-43eb-4e37-b973-f2bdbc724e92" - ], - "input_type": "biomaterial", - "outputs": [ - "75d0f208-d856-4e12-8916-a84f8f0e5338" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "2f0c9a0e-bf38-4df9-ba9c-d3502b843e2b" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "d9fdfade-52d2-40df-b299-e9aa292ea120" - } - ] - }, - { - "process": "4a1432a1-ae18-45f2-b574-9869b7242289", - "inputs": [ - "d919428e-d58b-4815-b36a-c9f186df6582" - ], - "input_type": "biomaterial", - "outputs": [ - "4c2b6ea0-43eb-4e37-b973-f2bdbc724e92" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/f0731ab4-6b80-4eed-97c9-4984de81a47c.dss.hca.json b/test/indexer/data/f0731ab4-6b80-4eed-97c9-4984de81a47c.dss.hca.json deleted file mode 100644 index 2775f81c58..0000000000 --- a/test/indexer/data/f0731ab4-6b80-4eed-97c9-4984de81a47c.dss.hca.json +++ /dev/null @@ -1,8298 +0,0 @@ -{ - "manifest": { - "analysis_file/2afae9e4-be02-4d57-bc44-24931f71d54c": { - - "content-type": "application/gzip; dcp-type=data", - "crc32c": "28590550", - "indexed": false, - "name": "merged-cell-metrics.csv.gz", - "s3_etag": "b5af2a1e8e8c17a6c6da5bf71918ff0f", - "sha1": "f0e48b1f4584fd580841087713cb25c1caaa3afb", - "sha256": "abf4cd30a517015381f2a55aa1fcdf8b4f57ecd6e6e116157ee523bec0c7048c", - "size": 24459333, - "uuid": "9689a1ab-02c3-48a1-ac8c-c1e097445ed8", - "version": "2019-07-23T06:45:56.193221Z" - }, - "analysis_file/7a42f079-a318-4975-9d91-8f1e816531de": { - "content-type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document; dcp-type=data", - "crc32c": "56fa99fc", - "indexed": false, - "name": "sparse_counts.npz", - "s3_etag": "ddcdf9aaf80526cdc0b9bfbba7cb68da", - "sha1": "89ac7af43776cf7a35792c4a79f3d9186cebd075", - "sha256": "da890819d918e971436d59475d7016a5144cc75a251430385aaf2db9492d8fac", - "size": 25705000, - "uuid": "787084e4-f61e-4a15-b6b9-56c87fb31410", - "version": "2019-07-23T06:45:57.057500Z" - }, - "analysis_file/aaaf3d7b-9602-4d74-aa6f-b429e1e8b8ef": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "57fd2051", - "indexed": false, - "name": "sparse_counts_col_index.npy", - "s3_etag": "aac0ad13a21e151d11db327327bce419", - "sha1": "d01374f065e104a135eaf1201c802355ced76aaf", - "sha256": "7a4cd4992d210c025ce8ad3233b0d8f0397144b8a9c3303b1f07295fc7a72b9b", - "size": 5601392, - "uuid": "b2976a9e-f37a-4dd4-91b6-ff57ecf2d3d9", - "version": "2019-07-23T06:45:57.870215Z" - }, - "analysis_file/433f86ab-0a07-4f8c-ac18-b4dec37fa434": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f65585b6", - "indexed": false, - "name": "sparse_counts_row_index.npy", - "s3_etag": "6f0814b83aa15e10d466b82f76e360fe", - "sha1": "74bacaeb7f83b04f57e63387e34b33906ff5e680", - "sha256": "38487a12e0108a432dad6ef37ffe3454df61c5cd458760ca8437fd348b501943", - "size": 22881936, - "uuid": "205b6575-dde3-4b63-b78a-b290c5b87403", - "version": "2019-07-23T06:45:58.105975Z" - }, - "analysis_file/5ec54ddd-c6d7-4ae6-a822-94720c7bdbd1": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "76be2773", - "indexed": false, - "name": "merged-gene-metrics.csv.gz", - "s3_etag": "1638d540341f27ec87fc4cacf10a393c", - "sha1": "5e8ddad6ed1c72e415b4696e3a31190895030838", - "sha256": "b17d47f8e1606f32e52d31682b8717a13680cae85f77b588f8801c85e56139d5", - "size": 2124084, - "uuid": "28dfb106-a259-44dd-bf8e-63683c0a6dec", - "version": "2019-07-23T06:45:58.957224Z" - }, - "analysis_file/b7890117-4733-4979-91ec-ba0208e088e9": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "d08eee5e", - "indexed": false, - "name": "merged.bam", - "s3_etag": "b57c3c992876fb75ca63d77e0814ef31-198", - "sha1": "ad30f0d42d611482ed9ec98e2a8d5cb271e77e19", - "sha256": "cb892554b5c0a5a540672fb8c419f128cbb12e25a8cda1b58f2a2c4aa7fcab55", - "size": 13243317850, - "uuid": "ff45fad9-74ba-4530-87b7-aa9997f0c68a", - "version": "2019-07-23T06:45:59.355450Z" - }, - "analysis_file/5350b852-077e-43e3-885b-d1b37b3d7a6e": { - "content-type": "application/json; dcp-type=data", - "crc32c": "2ec4881d", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!.zattrs", - "s3_etag": "afd6fa191db560bdfc61779422405b8a", - "sha1": "5080195ff5ae43b1de3970ea27df812b8fde9e3c", - "sha256": "b669e67b2cd3295af6f42db164d02854c27f101b641fc1c4508ca8f647f85014", - "size": 148, - "uuid": "e488bef5-04a9-4adb-bf6e-279b11daa7af", - "version": "2019-07-23T06:45:59.571299Z" - }, - "analysis_file/2c0bc0eb-739f-42ea-a5df-7d2943977fab": { - "content-type": "application/json; dcp-type=data", - "crc32c": "444a7707", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!.zgroup", - "s3_etag": "e20297935e73dd0154104d4ea53040ab", - "sha1": "63b0fcd7748c79d0de97705fb1b8ed5fcc5ac788", - "sha256": "2383746e67b4bcc2762b3f100f06c3fa2d5f149ab5a8e5da5d33521464a01959", - "size": 24, - "uuid": "edeec1a2-026e-4467-9f3d-7887a9adc91d", - "version": "2019-07-23T06:45:59.857953Z" - }, - "analysis_file/93153632-bf8c-49bb-a283-00957c7f853c": { - "content-type": "application/json; dcp-type=data", - "crc32c": "444a7707", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!.zgroup", - "s3_etag": "e20297935e73dd0154104d4ea53040ab", - "sha1": "63b0fcd7748c79d0de97705fb1b8ed5fcc5ac788", - "sha256": "2383746e67b4bcc2762b3f100f06c3fa2d5f149ab5a8e5da5d33521464a01959", - "size": 24, - "uuid": "5c166087-c87f-45d6-a531-8ec6d29754dd", - "version": "2019-07-23T06:46:00.049191Z" - }, - "analysis_file/01d206e5-47b4-48dd-b823-74e62e2325d1": { - "content-type": "application/json; dcp-type=data", - "crc32c": "e7b081a4", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!.zarray", - "s3_etag": "76d618c9309c5a6a79d2ce6ad52677a3", - "sha1": "59a86d4a9f360600c8591c45470d93dc8092b41c", - "sha256": "dc3b3c16dc53f454d224712acf816c79ba77a3a8357a405c00baa82e072f6562", - "size": 320, - "uuid": "c3ba2d3d-58fc-42b2-9c06-9fada43f41b7", - "version": "2019-07-23T06:46:00.296986Z" - }, - "analysis_file/752857d0-35f9-46fa-9888-fde25f21195b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ccf165e9", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!0", - "s3_etag": "53210682d9e53c9ebf2d261de7fc73ba", - "sha1": "98209ed0be05abcd13e805791670c630a97b71a3", - "sha256": "f581350faad79bce99d8831d63198926151cf0f76abac9d08bc6d379e7cdb8dd", - "size": 108367, - "uuid": "623ff088-74c5-433c-bdba-51ca67b30836", - "version": "2019-07-23T06:46:00.690112Z" - }, - "analysis_file/ded3278c-98d4-43d1-81ce-5233f7123842": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "83893f92", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!1", - "s3_etag": "31920e87779151d57cc19e56aa3792e0", - "sha1": "c313d87670e3b35d7ec7d290b3a02419db76f40f", - "sha256": "9bac81c77db621e9c74554267aae2d0b27323410ee5b4f25707d4ca37898ac81", - "size": 108045, - "uuid": "f3e44bed-2460-4e2f-8dc6-e41d4e21510d", - "version": "2019-07-23T06:46:01.081702Z" - }, - "analysis_file/2e205f24-56cc-40ec-81b1-c17ebd0a5047": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "a7fc43c5", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!10", - "s3_etag": "b1e70cfa6aa1f233746d1386447c7294", - "sha1": "b0226793f1a09361d8cf217641eab7bbd4081852", - "sha256": "575bc2501de95ae6b582b9f21cf0349d16c707da84d877d9488c20509ebd34db", - "size": 108353, - "uuid": "69b77a38-5c23-4429-94c1-b17d7a4fec5c", - "version": "2019-07-23T06:46:01.422111Z" - }, - "analysis_file/cc486886-d9a2-44e6-8bf3-84a84c035ff6": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "59bc0aad", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!11", - "s3_etag": "cb90cf834122f3518a81eeb7491a2e67", - "sha1": "e15b1edaf371a17a27bbfe1b7fa9fda2ccf884af", - "sha256": "49b8de93baf46019022c02d6116559d2a451806f6659452fe2a2e0f95d3e1d01", - "size": 108124, - "uuid": "08915e23-ccfe-4b46-a445-2f48630ae7a8", - "version": "2019-07-23T06:46:01.821260Z" - }, - "analysis_file/20ac4de0-bb12-4f99-9e54-bd6f284c741a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "0d8cd1ff", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!12", - "s3_etag": "8a70934fc5be637dc85713ed21b96261", - "sha1": "86d56cb86b2569ac31b5423ffbc66e37fc78f992", - "sha256": "a5a92851e0fadcbf4b34603963555a2771dd231d9b8a345f5408dd015536684a", - "size": 108410, - "uuid": "2c701dff-a283-48f7-a67f-fd0708746605", - "version": "2019-07-23T06:46:02.309624Z" - }, - "analysis_file/d6ccfc37-bccb-463f-bd96-53accf9b5803": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "7ec55cf8", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!13", - "s3_etag": "b21b51e9f276cdcf31d56df2bd1462cd", - "sha1": "a923c3537c7d09afe2762b4a21313c0d98f53606", - "sha256": "01536236339a9db4fcd90b385f71f61e8562bf723d09eec321722495ac09cbf2", - "size": 108051, - "uuid": "98e75dc0-0b26-41ed-b545-36e8b7d96df1", - "version": "2019-07-23T06:46:02.789752Z" - }, - "analysis_file/12c88fdb-2350-498c-a51c-6f93fad50621": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f45bde01", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!14", - "s3_etag": "5798a14ff3c248deefb5344ba2366120", - "sha1": "09b7f9ca73bd39db93068e6254fdc12370681b06", - "sha256": "974d612fcacc3eb978fd10c65987ab98265c422df43365f34dce3d6e595dc2a9", - "size": 108091, - "uuid": "09695392-cf77-47df-b296-1003c20bea08", - "version": "2019-07-23T06:46:03.189471Z" - }, - "analysis_file/bf4431ba-80da-468c-852b-7dbe008519f6": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "0c5cd29d", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!15", - "s3_etag": "a965d16313096792c6ed9388e2f20d07", - "sha1": "7f2efa87438ba87c238261b26965641c70e6fe58", - "sha256": "60054dd00c9f8a820f4cf52608e4bc3b991e82548b74a925563e763b655f687c", - "size": 108364, - "uuid": "e6ef8ad5-928f-4cd2-b773-8e2d078e5d3e", - "version": "2019-07-23T06:46:03.596186Z" - }, - "analysis_file/4018b8da-201c-423b-a26a-737549674742": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ea6b1cc9", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!16", - "s3_etag": "5c23cdf3ce2f6e3fc7e3c4cbdcd9f3ba", - "sha1": "306c93a7f62010e15773081f2f2e377f5162a2f9", - "sha256": "8b70a27a8d310b773ae0b42d83e9a76735dd5cd49dfe6d31b51c3330561b1472", - "size": 108219, - "uuid": "d20d0b30-8455-4bf5-ab03-ad430b279590", - "version": "2019-07-23T06:46:03.975997Z" - }, - "analysis_file/8be955e9-eb4e-4834-8576-0fd7ba1c672d": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "5a7101ed", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!17", - "s3_etag": "a937d6596964e7ea41bb368c84ab5589", - "sha1": "267a72365f5e2ab6fe81e4bb10be23f17750bf2a", - "sha256": "c49fca76550748d7a94b2398f1d5215c9b131fc1fa608dfbe4ad8327c45a6bef", - "size": 108101, - "uuid": "ce7dc85c-5745-4c7e-8f2c-433d5ef98ed0", - "version": "2019-07-23T06:46:04.397849Z" - }, - "analysis_file/291bc053-766d-4b04-aa69-53a7d6a05366": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "dccd7461", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!18", - "s3_etag": "dc3e97bb8e0d605d14a1237366ff9f03", - "sha1": "43205f71d2ea6e6a18c20392e190dd7eab002cb7", - "sha256": "cb0f55896579bffc46ade7cbb7628ad9c086a203f9f46057ce3242c1d49b231b", - "size": 108348, - "uuid": "e685cbab-3147-42e9-a8d3-68e33836bcda", - "version": "2019-07-23T06:46:04.746479Z" - }, - "analysis_file/80b4596c-4047-40f7-8e90-d7ba13c3aba4": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "89cf69cc", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!19", - "s3_etag": "f514a4c94a3a717fa0a780d1cfc0ec78", - "sha1": "c670cd7fc03158e3e37a0118f217302b3941bba2", - "sha256": "fe5ca68c26fb26d068a7e2f66ce8133757dd46c5593a523bb1e84e082a3694eb", - "size": 108498, - "uuid": "e2c7fc43-37f1-46f6-abec-042005826967", - "version": "2019-07-23T06:46:05.112784Z" - }, - "analysis_file/bd8f069d-1b75-4f7d-b10a-55efe37e4625": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "1e098ffe", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!2", - "s3_etag": "d7ad3773ddd7e268a23697cf545c1086", - "sha1": "57bf5276a08cb1d27214b1676622157921c807cf", - "sha256": "323ff02ecdadc250dfa5897631492d62133c86edeff66d7b886fcd9e18a2ddc3", - "size": 108111, - "uuid": "44b60b61-703a-48a5-a545-46d5473e1af1", - "version": "2019-07-23T06:46:05.486422Z" - }, - "analysis_file/287203a8-b15c-4fc9-ade7-4bfa9b4928e7": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f773b4da", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!20", - "s3_etag": "c6945e46f829d201a2490566f64ac615", - "sha1": "440dee12635a8b7b7c5cfde27566f47c61d2f7fa", - "sha256": "de548f670d4a527fbf96bf40d9987765fdc2e3f8b5393fc2499b9600757299e2", - "size": 107972, - "uuid": "ae99c085-13d6-44a4-bb51-50541f17e527", - "version": "2019-07-23T06:46:05.951288Z" - }, - "analysis_file/3574966b-2810-45e2-8a1f-bb20a183d9c2": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "154df4f9", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!21", - "s3_etag": "02ca23f9331dd586855b3f91afa6275b", - "sha1": "319c8a091aa21dcd0c5ec7db9c9b0319b28ccf1c", - "sha256": "a778521a180fe350d9fe878cadd85e9deb3e429659fc1b4b887864883716e3f5", - "size": 108159, - "uuid": "a4b0c103-b579-473b-aef7-44c83e0f69f4", - "version": "2019-07-23T06:46:06.361917Z" - }, - "analysis_file/5a2aa294-f923-4331-98c0-e9556263252e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ea50f0f0", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!22", - "s3_etag": "f3e2eb2ccee2351016cf33d2ff42c257", - "sha1": "b86eecd849e02c06597d930fac63844438a560aa", - "sha256": "1f6d6d30ca5c1675e0019f0a7a92b69e0927f9ff95312fc9b21bb198bd29af03", - "size": 108147, - "uuid": "4cbd242c-46d5-4443-913a-40b2f938726a", - "version": "2019-07-23T06:46:06.714015Z" - }, - "analysis_file/1e84fd86-6cd6-4533-8b48-cd314820e9a9": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "79a47905", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!23", - "s3_etag": "6a1633dd18c4c1384486a71ab26de73e", - "sha1": "9589de8e9b3e29b992b89a38140396b484aab221", - "sha256": "841acc3026ae01870a3d2c782799367fa6f312f07e11886e5998b92a0a07633f", - "size": 108379, - "uuid": "bd2da24e-38f0-4760-9698-525a1012735a", - "version": "2019-07-23T06:46:07.096624Z" - }, - "analysis_file/058de439-51f8-47d4-8e63-c98ea902e527": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b136c528", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!24", - "s3_etag": "b62ba8f4d246c2d5e201d36f707cf0ee", - "sha1": "25ffadf4c92167aa10e3c43ca0aa3e49d79439ed", - "sha256": "ddbbfc2ca692d15d279ea935b4e718912bc95d05719b8bb914383316192b8451", - "size": 108155, - "uuid": "4199d988-dc7e-4ad5-b379-c08c7e1e246e", - "version": "2019-07-23T06:46:07.436291Z" - }, - "analysis_file/f7ab60fb-4ffb-43d5-8ce3-1ce6559d97b5": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c84608a9", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!25", - "s3_etag": "3e5f76411203b4316ec351ebc326a61e", - "sha1": "a51b35e198112a0477e5955165d36a4477b91784", - "sha256": "885b69c4fdd615f561cb4d13ad9fd8c13b096caba4711813168de6388685791c", - "size": 108040, - "uuid": "94d22b10-d6c7-4908-bc08-f3fca1a86d8f", - "version": "2019-07-23T06:46:07.780637Z" - }, - "analysis_file/f42e5e79-a8a9-425d-a4bb-b1e3b166f3d4": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "78dbe288", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!26", - "s3_etag": "230bffd66e08131cca1ab5c2d2253cc0", - "sha1": "72d2c8bc4d643d5ca960b41f004b3fb10272906c", - "sha256": "23660025754251fe44d58c9a6d03d819bfaa33fce32d655390b67ef6c63dc3f0", - "size": 108125, - "uuid": "c5286537-22a2-4e5e-a6ea-a8766f743651", - "version": "2019-07-23T06:46:08.183562Z" - }, - "analysis_file/2c0a6b30-a4f7-4edf-86b3-bf344e895893": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f95330bc", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!27", - "s3_etag": "160ddb8959b36ab641378faf184e821e", - "sha1": "19c698a74674f29ec38f6809fa7b898a263c22c5", - "sha256": "320494f8a8afe91bd2354499d4edf8e370984057b0c34f9cc66815f8c1a8bf79", - "size": 108248, - "uuid": "4c745806-efaa-4b09-ac7d-45b6deacd540", - "version": "2019-07-23T06:46:08.565914Z" - }, - "analysis_file/80224b34-0cab-4b02-95db-99573c3aaf4d": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "989858f1", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!28", - "s3_etag": "8c0183f8dcd5d01cff386d8f3b0e6431", - "sha1": "9c6ab1762bec9000194fb82d18808cff95f03ebd", - "sha256": "9561318b6912d699c3b4f5b699739dd0a52899911fa587b5c058262037289700", - "size": 108342, - "uuid": "59261ad3-7584-4996-8b34-d04a904e488f", - "version": "2019-07-23T06:46:09.270254Z" - }, - "analysis_file/48ca6e39-74f8-458e-8233-7e310a873f1d": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "e9599679", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!29", - "s3_etag": "8a2d9e32653a35986db6afdff99f94eb", - "sha1": "b3baf6d4fc274847d2c8bd6446dd7a5d943ce2b1", - "sha256": "e16375af7a5aab1622abc71260f2d522318be2b73ebbb1af6ddcc5e05ce7ff3c", - "size": 108102, - "uuid": "75887550-ff40-4669-b39f-9c60e52a7815", - "version": "2019-07-23T06:46:09.626452Z" - }, - "analysis_file/0e722000-9c5a-409e-b113-6f1382317a61": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ce913df4", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!3", - "s3_etag": "44857fcae16b0df50955c9bb5a96f16a", - "sha1": "7553cdd0521c680ea4f8546183a37d6148ea7920", - "sha256": "5d210f9100dddcae305ce619531db36c18c35c52de2d12266345ad6aef6ef6f4", - "size": 108295, - "uuid": "ca65d307-35e0-4016-9495-6efd94bc5d53", - "version": "2019-07-23T06:46:09.998113Z" - }, - "analysis_file/b4038c93-a07c-4573-8d5a-0428fb766db0": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "e76cdcc6", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!30", - "s3_etag": "7ba6bd0e5bf3d7ef0d1bbf342b4336c8", - "sha1": "159495a6b709a04b0c01131cb144bcc1425f1cd1", - "sha256": "13aca254cb5b6c920179ed427dafab0a70cf2fdac8acf5206b081b8fc950e3fa", - "size": 108125, - "uuid": "f90398f2-3537-497a-9ac0-8eee1b460943", - "version": "2019-07-23T06:46:10.349807Z" - }, - "analysis_file/c847ae70-af73-4294-bbdc-b0ac1f10fcc3": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ea328801", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!31", - "s3_etag": "e923e385299762349b414887657e0173", - "sha1": "ad3b7a3c6085da8e03e689a707e533f20c8b549c", - "sha256": "fa895f01b957058be89c4de798b04f588ea9c1a205c126f747e68b5f8f079c77", - "size": 108422, - "uuid": "e32b6115-9166-4153-8a04-b10baaf2edb0", - "version": "2019-07-23T06:46:10.749441Z" - }, - "analysis_file/0074fd7c-1c4a-45bb-9a3e-f27f4d66d9d8": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "517fd566", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!32", - "s3_etag": "3f40329d0a77777253983f7c8a3bef86", - "sha1": "065949ef36f2256d28553511ba840f18ade24326", - "sha256": "d17723dccab0aadd372840f2a07341b404d120f124d9c2e02a68eb018ea74854", - "size": 107964, - "uuid": "94750339-9ba9-4055-a48b-928877279ed4", - "version": "2019-07-23T06:46:11.139388Z" - }, - "analysis_file/fb66bdf7-df50-4ef1-8c11-e643afc4e1a2": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c733e76f", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!33", - "s3_etag": "3ff7f4e463bbeb1a512b55ef10a9187f", - "sha1": "36f5350f8867d3a49db6ba0d253ddd02a125a117", - "sha256": "30a71bc3fbe90d4acfb7bbf3a3a74de5bdd736dc61b5ff7d48ee4c64ab21bb58", - "size": 108235, - "uuid": "442c3a10-6417-4a4f-b63d-8be9965c3f3a", - "version": "2019-07-23T06:46:11.499891Z" - }, - "analysis_file/981391eb-6ed5-4f38-8b50-99c49db205dc": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "8ace69e7", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!34", - "s3_etag": "f2d3b7aa47af49a44b15ce0ba0ee3389", - "sha1": "d2b5e2d6eb7dc5bb4207c71f2d2b53026db2af0b", - "sha256": "3b6e0faacb36d9ce09cb75ba5d02991899d37fe668ed4d8d1436347674554f41", - "size": 108338, - "uuid": "c1b4d6bd-d180-4e47-b9b4-b0db548f7f44", - "version": "2019-07-23T06:46:11.850581Z" - }, - "analysis_file/7f9e2c6c-abfa-46f6-84bf-c7957c2e25b5": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "12f892fb", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!35", - "s3_etag": "4cb32c7bc95a1b5bee9a65bd88524cf1", - "sha1": "24ac5130b76282b2a1eda7a829965be58367a161", - "sha256": "672852b884b92465a171a70bf1a76b081c8b0700bc1490a6d6aa3811fc84402e", - "size": 83284, - "uuid": "1a764cef-19c9-4c29-b881-1e67314a94a0", - "version": "2019-07-23T06:46:12.209553Z" - }, - "analysis_file/182fa5c6-b762-414d-8117-d1b7fd6b554a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "1b5027a9", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!4", - "s3_etag": "88864f9ed597ef8fa9b5b4dfb56ec775", - "sha1": "447e58115649eab66bbcd34bddf811ad716ca6e8", - "sha256": "53c7296efb79b00063d7190ff64474df1c7785b4c88a93a168c8eb39c5dce07f", - "size": 108049, - "uuid": "948fda31-9278-4b6d-b334-aed0c666e29e", - "version": "2019-07-23T06:46:12.667336Z" - }, - "analysis_file/00689444-5c04-4d33-bc48-bf9412382086": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "8ba2ce43", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!5", - "s3_etag": "1f22028407c3e0a52a74c0d5f71ec548", - "sha1": "2e7e47e935254e1e4704b43b4321866f625a4053", - "sha256": "073e794b55e00bd020bf6da0d54b04d7bfb3869f59adbb1e56a09a2b7f23860f", - "size": 107996, - "uuid": "bc34b6f8-06c0-4ecf-b166-8544211e0338", - "version": "2019-07-23T06:46:12.981118Z" - }, - "analysis_file/80168b45-6e50-4385-902a-b9da569f272b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "afaa6dfa", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!6", - "s3_etag": "30cdaebd05ba0da7c680cc24b1e2db0b", - "sha1": "21c8556581d2cd92cf5cf03b896a577cb4c07316", - "sha256": "d51f51b419ec849b41d8379366306dcc5ec197f168720cd956affa03dda51daf", - "size": 108145, - "uuid": "4b2ae692-443f-4e5c-9090-99550c22758b", - "version": "2019-07-23T06:46:13.403514Z" - }, - "analysis_file/63731ed9-61dd-4e32-9696-89b7c4778819": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c06e2db0", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!7", - "s3_etag": "dca92de214d4de5ae0a100e62b79ed17", - "sha1": "80481bb62a94c5c6a80e0eac029db5d90a52fa74", - "sha256": "62910ecc6849c82f4c750020c1f02d2baa18ab2087ec43490fe046d5d31d191b", - "size": 108105, - "uuid": "56b0c4fe-2825-43cc-b92d-42f39aba5a72", - "version": "2019-07-23T06:46:13.808084Z" - }, - "analysis_file/cd4c3355-1e7f-4e6f-989b-b067bcd257d9": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "64a99d84", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!8", - "s3_etag": "23994da37fb698c556a9f5caed6be0bf", - "sha1": "3a4a6c024d003941fbcec1edc6acf8ce3e0631ab", - "sha256": "0399844103994d2953a89491c9d17b43dce432937dbba1336a9ca604d5177ff6", - "size": 108129, - "uuid": "372548d0-98cc-4ef8-9f9b-291e42f783a6", - "version": "2019-07-23T06:46:14.129179Z" - }, - "analysis_file/12499e08-3eda-42f6-97f1-bb5e6d6b2dc4": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "929d64cf", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!9", - "s3_etag": "41cf0dab0373363f2ae9bc35d489d79f", - "sha1": "7f1a3833b6c48fc4df3a36781b8d123a92cd1036", - "sha256": "7b47afba7f570a87b65ad970911bc059f267040ab70f229c88d36e78accdbf32", - "size": 107880, - "uuid": "c6c63389-cb91-4f6e-9876-fedf66764025", - "version": "2019-07-23T06:46:14.487313Z" - }, - "analysis_file/d0247302-2653-423d-9945-b160f29a6658": { - "content-type": "application/json; dcp-type=data", - "crc32c": "8b5b2211", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_metadata_numeric!.zarray", - "s3_etag": "9823633924834b62cc3580f9fbdc8c57", - "sha1": "5ef8f9fab3f3d3894da2d43a50b96d164e9c1ac8", - "sha256": "41c00777e3cd238ab62cc05da2078ceab477c7255d0d43d523389f0aebe14d0a", - "size": 345, - "uuid": "f0355dfa-b55b-4c1e-ab7e-108b78d7eaa3", - "version": "2019-07-23T06:46:14.841294Z" - }, - "analysis_file/fe8110a2-8616-4bdd-a867-b44612f7904f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "5f5f9f6d", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_metadata_numeric!0.0", - "s3_etag": "215b35469b37df71dc05190e9cc3f09c", - "sha1": "d698a22fc8cd9247c5c325b59d3669100dbf279b", - "sha256": "f05bf06272b0b36e314f1902d9c67207b923be78de12feb5137926190e4e5dc5", - "size": 22391762, - "uuid": "8208944d-0e71-4709-ae40-e8223e5a75bd", - "version": "2019-07-23T06:46:15.144227Z" - }, - "analysis_file/a3c971eb-dd56-4dcd-adb1-530ac7fefca2": { - "content-type": "application/json; dcp-type=data", - "crc32c": "672998a9", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_metadata_numeric_name!.zarray", - "s3_etag": "72c543e3e403cd6e480f1020ae6dacab", - "sha1": "ed90ec2b502e9845e3d8ee66bda5d724df6986d2", - "sha256": "9f89d2eba420adf3ea115eefdaa58c63c62b84dc920b12a24eb6cf2e420da611", - "size": 313, - "uuid": "bab2d7e5-e2c2-4f9d-bbe8-75dd1665f722", - "version": "2019-07-23T06:46:15.889822Z" - }, - "analysis_file/ea51d2fb-3e38-45b4-b547-683068565fb4": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "2bf04f89", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_metadata_numeric_name!0", - "s3_etag": "222cadf24b100d32bf1c77006759cac2", - "sha1": "cb5c965026738d5ddf639503aad23c1f340d7c40", - "sha256": "bbe31e0671f10388c05b67c9ff90f222081e1dc0dc3f59298d54904a691b7823", - "size": 1260, - "uuid": "f79e83aa-a6d1-408b-9226-c15648630a7b", - "version": "2019-07-23T06:46:16.159026Z" - }, - "analysis_file/742d8919-182d-4c87-a15d-8857616e9e6a": { - "content-type": "application/json; dcp-type=data", - "crc32c": "7aab71c3", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!.zarray", - "s3_etag": "59d62893ca9cbc4893cd942f15de1ef6", - "sha1": "94456b913d4bfad44af9b2b19ac72d110d4854b9", - "sha256": "b85e9d7d45ab913aadcde5032988ddda6a5f2ac0361cb6c964d8a8fa3fe81b7c", - "size": 350, - "uuid": "d62f66c9-81b3-4627-8189-16a894d78751", - "version": "2019-07-23T06:46:16.437608Z" - }, - "analysis_file/05d16edd-0757-4497-804a-2d540f280f5f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "5e4401f6", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!0.0", - "s3_etag": "d625045c0ab60901563331d4066e5ebc", - "sha1": "4f5e7c82f62123f506eea4b523775df9857c8c98", - "sha256": "eda5528e8fd50da0c00bdeef54e6c14f95b111458d51a91e8390466d05c9c46e", - "size": 2942021, - "uuid": "57f0715c-0b39-473a-bf24-656e14935404", - "version": "2019-07-23T06:46:16.817917Z" - }, - "analysis_file/e8876fea-5529-4e3c-8a1f-6cd0351d95fc": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "db87d1be", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!0.1", - "s3_etag": "612e1014060122f5108dfa83cf6bf670", - "sha1": "e817bf29ee01f6a138bb4dacb2faa25b2cfb328a", - "sha256": "edef916d33d74dc039531eb3449fa4b3c30181fe956e7167ba0bc84e423ac02b", - "size": 2912844, - "uuid": "a23e2d98-3fdb-49fa-89f5-ff2a12af29d1", - "version": "2019-07-23T06:46:17.267172Z" - }, - "analysis_file/97c23453-969b-4603-8118-6dfed4c48f67": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "6349a732", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!0.2", - "s3_etag": "4682a3f90c93dd5021c7f97795db6572", - "sha1": "e420f2dda6cd3b41917bf1f4e145443e4993df39", - "sha256": "56027b71e9760b27e2eb5c6740a989bc0a376b9e727e1cefc75e0a0ccb447dcb", - "size": 2746567, - "uuid": "a9c1329a-eba8-4407-854b-19538e2ecb2a", - "version": "2019-07-23T06:46:17.661337Z" - }, - "analysis_file/4687994b-b705-4e73-be71-45d6269e952e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f1259246", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!0.3", - "s3_etag": "fb41a98851fee86215911f5da7e73288", - "sha1": "22ad078309726b86a4a8ada0fa80c6333d8f7938", - "sha256": "4b044465f2b320e0ad088aa9c24f32992a2a0d46585eaaee84f45d506471017a", - "size": 2892270, - "uuid": "41bf6357-a5f1-4200-9ded-7ce95aaa0e11", - "version": "2019-07-23T06:46:18.065482Z" - }, - "analysis_file/90ee27d0-46f5-4d79-9e89-708f0f969856": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "4bfc0ba0", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!0.4", - "s3_etag": "f8ceb2a54d8001b646edb4b95375a487", - "sha1": "26ddcea30e4c0d8c7ba0d743cfdbe07932cabb79", - "sha256": "da480796480fed6d839b8f05077fef30449003d9da46262bc4b4730ed6bdf7e0", - "size": 2971468, - "uuid": "91be56eb-e937-4184-9812-59ec12a3f58c", - "version": "2019-07-23T06:46:18.696802Z" - }, - "analysis_file/50752731-16ef-4a55-a849-e3cbf749ce0e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "74bee364", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!0.5", - "s3_etag": "9f1cc9945adb95eb4eba319569bbd8fa", - "sha1": "4058125363514d293a5bae75ec32c575ba05f922", - "sha256": "b965463992899f7cdb4e4f1ef680ae7cbcec553494820891ef49a3a6fcfdb701", - "size": 2675030, - "uuid": "a2fc9d90-fb53-4c3d-99b2-dbe3516745c5", - "version": "2019-07-23T06:46:19.261562Z" - }, - "analysis_file/4e1db8fa-f50b-417d-a047-345bba0e64cf": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "06645508", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!1.0", - "s3_etag": "0be36a11c997eb74573ceb2a293a4d17", - "sha1": "d511bcc40cece121683b81839da2251def207dfd", - "sha256": "4f798ad11d316e05ad87adcb52a980e57df1a16790ed08218d9d903a339deba8", - "size": 1708549, - "uuid": "97981f86-c32e-4766-bf1e-e720c2b107ec", - "version": "2019-07-23T06:46:19.917014Z" - }, - "analysis_file/031e23ee-5241-4246-b832-aaee8f0f32d8": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "5344d3ad", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!1.1", - "s3_etag": "3e2c4c0405e8d2f91cae081ae69e2160", - "sha1": "a760f3af54e5aa126304fde94b3a72aeecac4c76", - "sha256": "aace01a770c1755330b67f58f4491d3ce8b5fd6dde8f0eb41229e2ee0a1f93b5", - "size": 1712890, - "uuid": "da4a0186-6601-4042-b32d-2b2f4ec0b298", - "version": "2019-07-23T06:46:20.323797Z" - }, - "analysis_file/0270628f-f67b-4505-96b2-c994d6c159ef": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "189b29ee", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!1.2", - "s3_etag": "afd626768e214b07fd8c6b555abedd33", - "sha1": "86180922f5b6eb7a79dbc5833deaa343adc3073a", - "sha256": "a45987655c14234eddedf9dc469a65adbbe25c2447a31a8bd171fba4adde320f", - "size": 1697771, - "uuid": "910d2ded-f6d2-4530-94ea-76648758ad9a", - "version": "2019-07-23T06:46:20.781028Z" - }, - "analysis_file/345c650f-6d32-45e6-b8a3-2aab65feb7b5": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "8132487e", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!1.3", - "s3_etag": "8148339e5a3534bbd88273203dd92bfe", - "sha1": "624427cc71715b5e70ad59f0ec0097399935d64f", - "sha256": "118d800daf84d3dea945027edc5e972506861f82a0c050e0ff309a68317a0e01", - "size": 1713046, - "uuid": "3e4db56c-9e6d-4638-9d80-0f68f4b60961", - "version": "2019-07-23T06:46:21.154210Z" - }, - "analysis_file/0eda79f2-acc0-429e-8e95-0d85a2c64cc7": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "bb64f537", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!1.4", - "s3_etag": "8986fd8be1790b8413aae9358da3b17e", - "sha1": "23bbe1f1d0c70355a8165d1c6263d56c2198289b", - "sha256": "4f274ad2a722878c4c0fb35643aec443b67160ae24b87ecca97c5f4c393cd2b3", - "size": 1718254, - "uuid": "d08af7a8-0276-469b-bc20-a7ffb5e2ad28", - "version": "2019-07-23T06:46:21.467339Z" - }, - "analysis_file/d4971e90-dc72-4f56-a7f4-b1dc674c34af": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "db11b6b1", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!1.5", - "s3_etag": "150c42dda9987fddeba32700da034296", - "sha1": "932dc5a8e6041a4aa131c277c6158acb8f5c4093", - "sha256": "2bb509c3048e417fafdfc864c839bc76e487f9d4616e2e2b2d0ae14eb310baba", - "size": 1723382, - "uuid": "dd4532d1-4b8c-4655-bed0-83c7c83f4734", - "version": "2019-07-23T06:46:21.865067Z" - }, - "analysis_file/d333e0a8-0428-498b-956a-8fac862fe90f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "22b95dcc", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!10.0", - "s3_etag": "e99c6008efe6b3ee5cc34fd7c5b617ed", - "sha1": "e136b53f8c8f3881a08b7b9ac7fde27c01d811aa", - "sha256": "1e138a9c57a8a925037227df502c86c01dd8f0fb166af476b1140cff475fee13", - "size": 1707356, - "uuid": "c1a5ce57-dd3f-4730-a2f4-ccf08cf661e0", - "version": "2019-07-23T06:46:22.287646Z" - }, - "analysis_file/d044293c-91ae-469f-bcbd-482bb28936b7": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "cb270032", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!10.1", - "s3_etag": "b1187ffa54d0a905235abc05b46cea75", - "sha1": "51d45f0cfc1bf7de850c989f94f3560aadf7ebfa", - "sha256": "397cdcf1ff3d119bd5eb3cdcb40e732f444d6db979c4eb2083da381c0765224a", - "size": 1711277, - "uuid": "ad4695b5-0880-4c94-8099-6042c247e44c", - "version": "2019-07-23T06:46:22.651755Z" - }, - "analysis_file/bfdc0ca0-8496-470f-a530-366d64724913": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "51f1840f", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!10.2", - "s3_etag": "47eee19532a0bd851f1a6a0e6ce173b1", - "sha1": "eb634ce79f47b4fec43f852153f5c0f0e571ad0c", - "sha256": "77870083b0033edb317dceaee3317c0f4001e75811c74844d14fd4b0fec1e775", - "size": 1698353, - "uuid": "824040f0-7ac7-4e49-88f9-c18ca7ff4239", - "version": "2019-07-23T06:46:23.244046Z" - }, - "analysis_file/652a99d4-6f59-452e-8bf3-b506baf5c68e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "bd3436d8", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!10.3", - "s3_etag": "a92204e7a2e1d361c353610bda720e09", - "sha1": "712ee2e59f2e7b0851cb22e161ecf1a7a11faaec", - "sha256": "b50a8304b7d4df677b4c45545c6e4dc02c8549b5ad3bcf5a4556334a43075cb5", - "size": 1713172, - "uuid": "392a3d86-4438-4ab3-a6cd-45dd718c021f", - "version": "2019-07-23T06:46:23.706867Z" - }, - "analysis_file/68b5d945-61e4-420c-8cda-95b13bb445b0": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "acfc7110", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!10.4", - "s3_etag": "e45f03efffeb5593a5bdf96721112282", - "sha1": "b50dbccd4d258f4c41e9ab9233ce4cf9e41bc012", - "sha256": "ef242f7d01afb2aae63d6639de8d4c6eabd50e98945f8452008a05dff56f7f98", - "size": 1717110, - "uuid": "fb472f42-5b22-4889-a0ee-b003fd6763c6", - "version": "2019-07-23T06:46:24.164270Z" - }, - "analysis_file/780ff7bd-0956-4463-b62d-8044d7c17d32": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "3c6fc60b", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!10.5", - "s3_etag": "d7375d01ecfa385b84fc94aa7c903ba4", - "sha1": "c711cc4e58e2416979b496552ae9d47c04b755ca", - "sha256": "d47416979b0dab27341612593529289518d9e209aa0622bc026974fb59a147bb", - "size": 1719881, - "uuid": "38db873d-0918-400f-9a60-72efd30693b5", - "version": "2019-07-23T06:46:24.520297Z" - }, - "analysis_file/83934dc7-4fb2-4008-b271-21e5312b12cf": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "3669870b", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!11.0", - "s3_etag": "e667a27c7e644a0b8aea83cf0df71057", - "sha1": "3cb19b5e319409f6effe69110761e59dbebf3749", - "sha256": "27cefe6b9cb5d5e6b5c66475e5eb1fcce5488ea5ba3244306849714eb8f993dc", - "size": 2724913, - "uuid": "d23d9ce4-6b23-4e78-bde3-7379a04a57cd", - "version": "2019-07-23T06:46:24.866076Z" - }, - "analysis_file/4fa32ba3-795d-4e12-9f49-a74b0646117c": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "dcdf34a5", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!11.1", - "s3_etag": "bd317d154f38dc7142bfe286207b1900", - "sha1": "efbce905a3420de85466232f9d1f3ec561c3bea9", - "sha256": "e5e1806ab80e12fe796fe4c9042a75a04be546e68f52f6343fbfe7019468cc3e", - "size": 2672113, - "uuid": "1f842150-a152-4974-8bef-3af79fd7a8ef", - "version": "2019-07-23T06:46:25.285703Z" - }, - "analysis_file/7820661d-0fb0-429d-b05e-60391c966b4c": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "0f218c37", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!11.2", - "s3_etag": "958a2f2be8dfea1730203f46df899251", - "sha1": "db668b8f45aaeef0f443016b9ad2e97d3fdd15c6", - "sha256": "31a770014dbbdba570adcd96154d0171aba664e98f42cb92b47e11cf273da422", - "size": 2578463, - "uuid": "4bd8132c-5dc9-44b6-8eb8-47d0047c6726", - "version": "2019-07-23T06:46:25.811132Z" - }, - "analysis_file/20f93fc9-6279-4957-89a5-2f95eb2e5eba": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "a07ad5ff", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!11.3", - "s3_etag": "2aa32149a109fece99926f970ebd6870", - "sha1": "f8329624a6e51d6075cdcb0ed08074025a3aff4e", - "sha256": "bed14c028fe14d4775a290d4e5e61bd881376ae6ecd0f2474ae4e9f59d25ba38", - "size": 2656038, - "uuid": "fa19e437-7976-4d17-8d40-573bf9be57a9", - "version": "2019-07-23T06:46:26.290317Z" - }, - "analysis_file/caaa5c54-76db-4276-8e3e-11678dc67d38": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "10bec069", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!11.4", - "s3_etag": "ae1e43bb1cdda26fb49d40dc562b6fc1", - "sha1": "c6685580e4d27d806ce6d95c77383cb84915c765", - "sha256": "383e09cc6041474f55ed72c4b020d11b9a0b43e6ee0c29449dbacd98d654cfa1", - "size": 2706329, - "uuid": "80a3c054-7b6f-4106-ae8b-c4f215adcb2f", - "version": "2019-07-23T06:46:26.713656Z" - }, - "analysis_file/105acdb5-4534-4d5d-aecd-ba39c0af7516": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c9b100da", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!11.5", - "s3_etag": "88b76729a26bb44684035dded905f1af", - "sha1": "0ea842ca33e255bacbb1e3cda52e0b62b8ef9987", - "sha256": "6e3b8afde0eb8bea7fbfc340c64eee7084ac957e0464f44bf967335879e7b826", - "size": 2454785, - "uuid": "dc6f6ac9-ac82-42a4-90cd-101c0b62071e", - "version": "2019-07-23T06:46:27.148864Z" - }, - "analysis_file/2eef66ef-69be-4756-9314-38f26e642e9e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c908fa10", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!12.0", - "s3_etag": "89b1d96ad1a46d8f00afcaf4356f2388", - "sha1": "f3a8c52128fc0c74ab0e05ed4443b26d2c41e709", - "sha256": "f436777e81914aa7659c5645623bca87e3872d8cf4b66b150b7695f1f8905c1f", - "size": 1937438, - "uuid": "0cf652f9-24e5-407b-88bd-082a95e954df", - "version": "2019-07-23T06:46:27.637343Z" - }, - "analysis_file/0fb81d85-3fb8-4f37-9e34-11711bf73ee8": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ed110fed", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!12.1", - "s3_etag": "84e4881b1c73a6ac847c2fe2e481d289", - "sha1": "1716cea4f4cf51ea4f9808841e211bfba5321c5f", - "sha256": "ad50dec274871e936e36bd226d8ba5b51bb9a1aa12dba2a4efe8f33b01aee89d", - "size": 1970227, - "uuid": "b311c324-2d28-46c8-81b6-d71a55fc7bfd", - "version": "2019-07-23T06:46:28.085678Z" - }, - "analysis_file/a3ea4aa6-ebea-4666-a593-1287d2542ec9": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "5f5a0689", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!12.2", - "s3_etag": "3fb301863ca32db41eff4c63abd1dd20", - "sha1": "091b9bd9d972659ec5d85f5f9f7bc3a6b1f7b9bf", - "sha256": "bc02a1e70e9f1e5c5964e8a22f4f7d2d7863a785498bb12a63d13908f4780efc", - "size": 1881043, - "uuid": "ee9cbf25-759c-4e86-a3af-53dcd25e1406", - "version": "2019-07-23T06:46:28.473905Z" - }, - "analysis_file/183032e5-8166-48ec-8788-6d5e995495f4": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "2d145c51", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!12.3", - "s3_etag": "0429a5b977901b3ef9f86974105cfb75", - "sha1": "0c6ad553e0db67fc553b3b4a7b3ce0bb0f5c283a", - "sha256": "0c79dba89e2bde63fb8d696499bcddc24fee7b99cda5fbf57e4013b4593be1cd", - "size": 1963055, - "uuid": "d2c82b78-65b4-416e-81af-3f617b794002", - "version": "2019-07-23T06:46:28.928057Z" - }, - "analysis_file/70a6e1d8-b5f6-43e9-b3a2-d48b3bc1c0d3": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c046f7c1", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!12.4", - "s3_etag": "3df735e8311443259c940c8d011e5250", - "sha1": "6653d2a6115ebec5b5f584281167a08e68b9cc22", - "sha256": "ce93e7e38f654ec50a4bedc1d4b97f0e43356c4f38ce4b5e2de5174a3c7c64c8", - "size": 1990826, - "uuid": "6c54ea49-080c-47c1-a236-279223d2953d", - "version": "2019-07-23T06:46:29.437368Z" - }, - "analysis_file/658705d6-5c0f-4039-b988-92476b75822f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "fcccfcb3", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!12.5", - "s3_etag": "47d70980d42697b537454b51e6c73e43", - "sha1": "5ccd609fc5825e4f73f59c9d527b4fcfa8d59db5", - "sha256": "826861b0876cfbaeda1034ad28b4a6a778e7374e305abda326576c81628381c2", - "size": 1946537, - "uuid": "503b511f-fbdc-4f3f-9b35-4a1458c81c6f", - "version": "2019-07-23T06:46:30.073539Z" - }, - "analysis_file/b9948faf-c59b-4a20-afdd-3e11527dccab": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "1ebb9e74", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!13.0", - "s3_etag": "07af59b979c00f58098fcd6d3d9e51d8", - "sha1": "8753bc185c1bbd5412b8aab19fb75dea2678341f", - "sha256": "7d0c74c28d6300f44e797f9086cf3ca97581ffb949f2248833eb63b98c87296c", - "size": 1703262, - "uuid": "33aca040-f056-4a76-984f-b98412a14e85", - "version": "2019-07-23T06:46:30.474729Z" - }, - "analysis_file/27902245-0646-4e5a-8f4a-de716ae84ba6": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "67320775", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!13.1", - "s3_etag": "a7467cf30117e65277f563c1bac66efb", - "sha1": "6afa51bf6a16d51477bbe29c6b537e0a7cbcdd9f", - "sha256": "8d050238870611433a6826ea88de1b65dfe2a37b59a675c6ea40bea4de42e197", - "size": 1707486, - "uuid": "5888efae-2117-4a14-a9f0-76dbad1e3ec4", - "version": "2019-07-23T06:46:30.985905Z" - }, - "analysis_file/50351aa9-f9e3-4b17-9ac6-9989d3b8c689": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "30a6653d", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!13.2", - "s3_etag": "e0bdb189c7008e25b531a74ee02e8595", - "sha1": "4d5199d777d08d116bbf21e7bb9f089071604c78", - "sha256": "06cb2777856a8515a64c3f876240054d8d2f9abedd50290a0a556812c4792bed", - "size": 1692791, - "uuid": "fbafbeab-9ffa-4b5d-8771-806422eea9b6", - "version": "2019-07-23T06:46:31.361704Z" - }, - "analysis_file/5b1857c9-1869-4d63-9877-eedc6bb325ca": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "49405c6b", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!13.3", - "s3_etag": "68c48804198f8c2fda61c8b20797d1e6", - "sha1": "41dc343c04fe3b0b7ffdf24adce63139df4f616a", - "sha256": "532a28e46236303751a0118f70884d3b384c0fbb1e958785e3610720c9c54968", - "size": 1707163, - "uuid": "71d28977-fda4-4bbe-8328-211a4e2f93d0", - "version": "2019-07-23T06:46:31.835409Z" - }, - "analysis_file/1ce46a1b-be2f-42c6-94e2-16a77807f0e0": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "d635d45a", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!13.4", - "s3_etag": "682964a38df747eea8f9965cf65e2751", - "sha1": "c978f6d79a244b6c5ef0cec97584fb788e83988b", - "sha256": "ffbc7dc33ebc748e2adcec11180b5cb8394a4c0c873c79b5c4f8bdf02cbcaaaa", - "size": 1710049, - "uuid": "03aa33a4-2cc0-425f-b68d-cc1d3a51eba7", - "version": "2019-07-23T06:46:32.321899Z" - }, - "analysis_file/94145a97-1909-4451-8f2b-eefd3aa00fc4": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b45cf386", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!13.5", - "s3_etag": "4f5180f91aad831c53f1d66046390461", - "sha1": "f3e0b44c501d67d252c4eef93084cf08a7e69172", - "sha256": "86a5ed312d587a5c5ac729cb0956d232127398cdec811442beea0bc56208326c", - "size": 1716330, - "uuid": "c164a238-9cc8-4eaa-81e9-5eb946c8c0cd", - "version": "2019-07-23T06:46:32.858376Z" - }, - "analysis_file/13b6df9f-d6e3-4ab3-83bf-299d25f99da8": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "86f6791d", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!14.0", - "s3_etag": "88a770accbe8a63adeda8b34d0fb2b8e", - "sha1": "fa397bab2d7ecdbf0c85f48a29c09be680e27d15", - "sha256": "7d3447db98e2c877f28d541b44fbf3821c8edc4484c1dbf484567b17be4385ce", - "size": 2759293, - "uuid": "14a435a9-f751-47f7-94ec-acfff2887c59", - "version": "2019-07-23T06:46:33.293924Z" - }, - "analysis_file/6fc75489-bb46-468b-b363-06da1202a36e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "10415afe", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!14.1", - "s3_etag": "185d45fb6fc2fd22526c810bb0bd70c0", - "sha1": "dc4b0c720dff9e71579357c8491a51d85a325bbf", - "sha256": "9d5f480a36bab00fc7ec0d5abb8fe8bda1d5ee21d3373603f02e19b9854a3f65", - "size": 2700539, - "uuid": "678279da-5cc9-4dbd-adf7-6e74c8140deb", - "version": "2019-07-23T06:46:33.789695Z" - }, - "analysis_file/c8e61d41-7ec3-47f0-96f9-23d508752ad1": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "05103283", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!14.2", - "s3_etag": "20f8ca93c49688e1afe05a9f9f80d4aa", - "sha1": "ed5935ec5c499289e7c5221d4084289a22597f58", - "sha256": "3c46222bc886b7b8fc94db2d2e8b73accdcc1bd519862c18c6da8fdacdde87a2", - "size": 2605867, - "uuid": "1c3fe386-16a4-4c8c-8a63-563e157b4fed", - "version": "2019-07-23T06:46:34.275969Z" - }, - "analysis_file/f3502c95-418e-4588-91ec-b40c210d8d2a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "9eb2d292", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!14.3", - "s3_etag": "b604125326ed187c791026ac668a5fe5", - "sha1": "52f6de18fb825bbac064b97de3185ffd916fae28", - "sha256": "a89dddffb762b06926d45b3bb2108fc754c4ee08a2dc7d0ed005efb4a654208e", - "size": 2691187, - "uuid": "d0b8d6bf-b8e5-41d8-80d9-69e7e6292d16", - "version": "2019-07-23T06:46:34.750184Z" - }, - "analysis_file/e5248a6a-63f8-44e9-a89b-6a36371849ca": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "024ef76a", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!14.4", - "s3_etag": "ac3e95a4dc764a937d0d1cf778283bb0", - "sha1": "f4d2c92108c97d229f9cfd40a40e1e0fbc5bf22a", - "sha256": "4b5f114e2371ba21f6f44a067fc9cc4db66b6b775dc322685fc57357879f5410", - "size": 2744542, - "uuid": "2c882807-ea18-44f8-8c80-e1573f4496c5", - "version": "2019-07-23T06:46:35.259901Z" - }, - "analysis_file/c5c50917-2fba-4e94-99f6-cb8f78da4530": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "1589716f", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!14.5", - "s3_etag": "618ae61bd57989823fae93332662762b", - "sha1": "78bab9dea5c4d89bd0bf58f7e26460a2bdd86080", - "sha256": "f673328f160dc224537b4286c9ea5ed24766f8ca9fed6383b884661be590dea4", - "size": 2482022, - "uuid": "aed8ddb3-2ea3-4607-b227-e3933772558a", - "version": "2019-07-23T06:46:35.845125Z" - }, - "analysis_file/df1d6920-c7ca-4ce1-96ac-0d0bf1e38939": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "29d1e560", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!15.0", - "s3_etag": "a67f282ccd86e6021977b108fbdc986e", - "sha1": "a39d24a1c8b3f282b146b64a7d73845d34c9648c", - "sha256": "297fe86cc36a7593eadddc29a86cbc7b3d864da62a19b1fdcbb85789cd893d22", - "size": 1921839, - "uuid": "a1fc59e5-d3ae-4776-818c-b610fab9c6cd", - "version": "2019-07-23T06:46:36.488828Z" - }, - "analysis_file/9218468d-abba-45b8-a3a8-406bbee87d42": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "44f072c0", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!15.1", - "s3_etag": "8b13634d739a6de06cd72c79513d1e0b", - "sha1": "db2efe1a629f437875a3f5dbeddb4ac32bf45c53", - "sha256": "fd11300f434ce6841fae49036313d673d1760b862d01a15365fb0d02968b94e6", - "size": 1957878, - "uuid": "5e0e4ff5-0ea5-4cf7-8d32-7d4fa2ff7a0d", - "version": "2019-07-23T06:46:36.949674Z" - }, - "analysis_file/01fb2583-dd9b-47ac-9109-425786f6c626": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "d2456563", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!15.2", - "s3_etag": "be50ea04771fdafcc699b4f394978c8b", - "sha1": "ef8247039a94f528c498ea5da38bf34b00fe43f3", - "sha256": "0252a2fa129a72f536d13fff8d3e9fdf902c8a484bb55a72fdc66b8d71463f0f", - "size": 1867871, - "uuid": "cc31d097-2f8e-4e38-9a5f-0b4ec5ba3f89", - "version": "2019-07-23T06:46:37.384469Z" - }, - "analysis_file/fef83950-8e0e-40d8-9280-195c4917e9c8": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c56b7c7b", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!15.3", - "s3_etag": "a5c5ab10aa719497ab30f47aa0191670", - "sha1": "eb354e6eb184aa480b36d09b3c3e3e21678366df", - "sha256": "ca02da4ee02c9f1d85fca8ac9511412a05fcd2c7a79338637a712d264031356c", - "size": 1950658, - "uuid": "b1201684-e4b8-4286-98e0-c8a92baab73b", - "version": "2019-07-23T06:46:37.746958Z" - }, - "analysis_file/11f74322-70bc-4a3f-aa54-f86fb5e84e49": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "a826c003", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!15.4", - "s3_etag": "9e2da84b0947f92e3153e4dbb2bcfa71", - "sha1": "17eb98a0093d3d602378d744a12eb8e031d7c602", - "sha256": "88e565966bfe9100866eb9839ea369c1920bd4a502db08b07a13c49b7e742cf1", - "size": 1975475, - "uuid": "918bc6d3-c9e2-42c6-934a-9ed795d49c51", - "version": "2019-07-23T06:46:38.104227Z" - }, - "analysis_file/57929f1f-6edd-47b7-91cb-075c823b10ad": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "e17d9cf5", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!15.5", - "s3_etag": "7a1b694fb034a674e41ff314c0d6cb13", - "sha1": "19159bcb5320de54152a951768b9464c66b1870e", - "sha256": "b5b1550a8b50c33fdfedcad5278f3f68dcadfb47b5e21ae0f397b386adb9870d", - "size": 1935922, - "uuid": "f4798273-825e-4769-b1eb-223ea1054ad0", - "version": "2019-07-23T06:46:38.507758Z" - }, - "analysis_file/079817a8-aad3-4ecd-bdcf-76e33aeade68": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "094678bb", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!16.0", - "s3_etag": "7e12e3bbddaca5fedf5d0314c8bc339e", - "sha1": "c4ebaacd76ece7771a6bd59d85e4b627f0df20c5", - "sha256": "1ae06187fb32319235ce0dd795f6cc56adddcd2d0abb2fd297560a077c6355dd", - "size": 1702713, - "uuid": "7c0e8e0e-13c7-4ea1-8524-64a0e1881a90", - "version": "2019-07-23T06:46:38.861626Z" - }, - "analysis_file/1a10e188-28f2-46e2-893d-204f79ec9cff": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "92ed2d42", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!16.1", - "s3_etag": "58b1654491e95bef3a8dba1ad6b3010f", - "sha1": "499bf35198fee55694dbdf739a277577c96e57e9", - "sha256": "8ffc9413519db4ae9e9c349f6800204ae29b4b966627de1f558f2d0d17f274fb", - "size": 1707644, - "uuid": "b10f191b-f294-4f8c-9d67-915a9dbf4944", - "version": "2019-07-23T06:46:39.413319Z" - }, - "analysis_file/522867a7-4a65-429f-bf54-f94f1a81f369": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "2750799f", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!16.2", - "s3_etag": "e5088ed6520ab6482503a71e44b80ff2", - "sha1": "ca9fe5d1c067f5a30e153b30d208fbce97c7096b", - "sha256": "6671a2253791f4d948b4e76eb417e12517b306ad7b0b8eeaf9d70d58b86c1e0a", - "size": 1694663, - "uuid": "62f4d9bd-62b5-4ef6-a393-4fb0238c6f54", - "version": "2019-07-23T06:46:39.739617Z" - }, - "analysis_file/d80a9d3a-9795-4d95-ad57-a34cc238498f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "5dc847be", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!16.3", - "s3_etag": "8a6471fd6dd44bd5db47409670f878ca", - "sha1": "5fc8d255d755a1bbc7cd3dce6428fe60bc84d7f4", - "sha256": "f98dcd47eb5dc75e045f464426979550782661d46c63c425d96ebf3f80f0d0cb", - "size": 1707207, - "uuid": "3453e207-6f2c-439f-bbf6-fc1cbc11c289", - "version": "2019-07-23T06:46:40.090072Z" - }, - "analysis_file/833d0701-41d0-4cfd-bb55-38a83db95835": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "46c5edc7", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!16.4", - "s3_etag": "65d08b13201b4d5b3ab15075374280e0", - "sha1": "d3316c8dffd4f464aa6256807cd11b64633683ad", - "sha256": "ccb51c2a23ec99fd9d30993cb99167e5943520c7b4d45318f5e61812e12f4e7d", - "size": 1711902, - "uuid": "ef09c168-0914-4303-8baf-933dddd9f236", - "version": "2019-07-23T06:46:40.485310Z" - }, - "analysis_file/985ff7ff-a52d-4f12-afe5-9153225b12ac": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "e2a846af", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!16.5", - "s3_etag": "9307df1e86b11b59d0952fcfc62a234a", - "sha1": "4d6de1d86bf4c96b63aa5a17476736b9e94bd76e", - "sha256": "0a9fca7e62d8be33523fc4d5a9be7e6e79cabcd08dee153c793e302418514322", - "size": 1716264, - "uuid": "8b93e4f5-52da-401e-b90b-e0a9bce6027a", - "version": "2019-07-23T06:46:40.951582Z" - }, - "analysis_file/f5ccbc84-4e00-44d5-a848-c4bc598ddb1f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "df808c7b", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!17.0", - "s3_etag": "6250b689c4ba4e32689cafaa162c3365", - "sha1": "7e41c7ca1c1a24a9be333cc5debc308a1aae14fe", - "sha256": "e5f5d65bbdc25a15726bdfb3331b3ecd7c9a1cd8c0a2d4a729e2be441aaa7302", - "size": 2861703, - "uuid": "0ceb2107-d175-4816-8648-ac6adbe91ac2", - "version": "2019-07-23T06:46:41.464311Z" - }, - "analysis_file/7dc17a8c-3bac-48f5-b2e4-dfa37bb63c12": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "8b6333bf", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!17.1", - "s3_etag": "ebee3af46999fe0fbabf12fa77ff10cb", - "sha1": "72127344511ea601ff5bedd4175cdd8640341c12", - "sha256": "81da35fefea5839826f36fefc226da293e5256fb2a7a3dca9b4478d874b3b0b4", - "size": 2798380, - "uuid": "ee5c4974-836b-4372-8880-7291c06a3a21", - "version": "2019-07-23T06:46:41.874863Z" - }, - "analysis_file/b8f6b2a3-4dc0-4f9c-89e2-d287eea185d7": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "7d18bff9", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!17.2", - "s3_etag": "a9e855b0da90a07158bf584358cc694f", - "sha1": "7b43a9956f2108c6414c3ed568e5c6e4f0ab2dfe", - "sha256": "41df5cb74e9857b279cf6f20a0dbf6a1381b1fb7d22efa1f1888504f143822a6", - "size": 2694801, - "uuid": "b7efa194-8839-4a3c-be05-0ae90b57b84b", - "version": "2019-07-23T06:46:42.382550Z" - }, - "analysis_file/4f0edb28-144e-4559-bf1e-fccce4065291": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f8a8acc7", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!17.3", - "s3_etag": "d1f1ab9facd168500d0e38c495c66206", - "sha1": "18ab0d6bb37e5fa506d0a0edfdeaf786d4c88e8b", - "sha256": "aea18650918cd1d12511a088ca857f1e2d064b765ed47f215dcd94c4f30b498e", - "size": 2786510, - "uuid": "f141d103-7f49-419c-a420-5278dd05a513", - "version": "2019-07-23T06:46:42.855000Z" - }, - "analysis_file/57d4bbc3-b8bb-43b8-90d6-d0ac4a0ef1b4": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "997e1381", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!17.4", - "s3_etag": "04bad9779ee62839d3eaf1aa25354328", - "sha1": "216e3c050924b066ac2a2b2788b8f2bfaa4bb9e3", - "sha256": "a3b8f24add8f3f2a7d42bd830fadd3d4b4ce40a01cf46b80cdd48aae0bdeb687", - "size": 2843601, - "uuid": "92f48c11-0521-4ace-a9c1-8babd45fa984", - "version": "2019-07-23T06:46:43.456527Z" - }, - "analysis_file/824933fe-baa3-420f-baec-39f98ddb6224": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "d84eb016", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!17.5", - "s3_etag": "f2dbfc6c20e7f175fddd9574bc8752ee", - "sha1": "6de59ddfacae814dea8566ee2e42cfda962b65e4", - "sha256": "e471c16cd8821528dd0ea36ba12a1d35aa2eaf525ca70ab9fb0ecb31183cbbdc", - "size": 2559986, - "uuid": "c9b5cc46-f60b-4999-aff7-b693bfb1b918", - "version": "2019-07-23T06:46:43.892466Z" - }, - "analysis_file/07ee5567-37da-4cec-8621-53a4d41ce93d": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c1aa7740", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!18.0", - "s3_etag": "f8b0127e7a9b7626831b58b972dd2a40", - "sha1": "1441ddc918ea71745d0e95adbcd5df8d13d180c5", - "sha256": "23b7e98fb4909b2b0a22b295055ef94d59bc6d633c02fdd232309e15285023f1", - "size": 1906682, - "uuid": "feed2e3d-012f-44f0-98d4-a2c3fc95dbc2", - "version": "2019-07-23T06:46:44.263576Z" - }, - "analysis_file/e7983d22-c3f6-4dee-b108-4409696b108b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "717f47f9", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!18.1", - "s3_etag": "1d9297fcb8d2f783aca8be9341cb6355", - "sha1": "94b426181692025e22a04167764cbaad33d3a057", - "sha256": "dbfc021d58814c6c7e8790d1493b6c78ad4f194385792c2b87b2afdfeebc1520", - "size": 1939524, - "uuid": "c0cb0140-a6aa-4904-a820-4329bad0a4dd", - "version": "2019-07-23T06:46:44.642936Z" - }, - "analysis_file/3e3d666c-0b85-4327-89df-c0b11ae04f7b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c1abc5db", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!18.2", - "s3_etag": "38ced32b6b659036f0a0291a84e9c589", - "sha1": "6d88b264bf7bdb578cb3ead0853697be3261b60b", - "sha256": "e6e197f39f89db51244e5aeaa15462382955784d8c10b550db10e7622fed3522", - "size": 1854088, - "uuid": "86a1ea03-f1f3-4988-900a-46a9bccc0f24", - "version": "2019-07-23T06:46:45.005283Z" - }, - "analysis_file/3ce1634c-ff05-4b38-8df5-b0ea50f678e8": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "a8c32adc", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!18.3", - "s3_etag": "0ea20d14f3748a69cf6ab00bdc88fa3f", - "sha1": "a892f0ba2d0e1143bdaac3cf5e36fd1e44c23dc2", - "sha256": "a3e7f1016077b77d8df9ff7aa2e52f711398e6d068cbdf0b68ccb4df9e2b8747", - "size": 1931847, - "uuid": "d5dbb4f4-d245-4c63-bd0b-41d5923334c2", - "version": "2019-07-23T06:46:45.361362Z" - }, - "analysis_file/08e38951-56ae-4d9e-aa95-13a0a5aae502": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c8d006bf", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!18.4", - "s3_etag": "806a4fb2ff088e9003d21f7ef0e5ca62", - "sha1": "6774e6b8938b7734de5ebd2186721b28fc45aeb7", - "sha256": "cc6e827f271ca01096738f6efe925718cc9435b2e159553c901058f35a2839b6", - "size": 1955038, - "uuid": "deffb979-4f4f-40a0-94f5-205ed0273fe9", - "version": "2019-07-23T06:46:45.812031Z" - }, - "analysis_file/43b66c0c-ffae-46b8-aee8-58e9f18e9f2a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "6784973e", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!18.5", - "s3_etag": "172effa6906f8fecc6b7205f5b13a20c", - "sha1": "f7cbed2d740dcfb4eb37c8190aa7f36e0ad0ddeb", - "sha256": "e0fb9df3d6daac2accd24e6e23a274376ae352afb27b8206993f93617e72f2b4", - "size": 1920184, - "uuid": "979cb41a-ba15-480a-8865-85d234dcb6fb", - "version": "2019-07-23T06:46:46.222372Z" - }, - "analysis_file/e71897c8-3fe9-4863-9c67-2f189c374c33": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "5c099251", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!19.0", - "s3_etag": "c4bb752480aed9090c47013954b44f8a", - "sha1": "a3ceeba56e4f735d4edece25f63b99fbd3efa726", - "sha256": "a1b72e19cb1b878173559387fb689703533efa38ce7eedf5a5af2587aeca0eba", - "size": 1700727, - "uuid": "0e63ea69-24b1-403c-bbad-4fabaf7bcb97", - "version": "2019-07-23T06:46:46.620698Z" - }, - "analysis_file/c9987133-b461-4362-b8c5-1a19315c2010": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b38208fd", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!19.1", - "s3_etag": "485b56e06075a82b4ab0fb33a692a36e", - "sha1": "6f0dc9d62b254650f2514bd1df2aa94dac48d194", - "sha256": "fbd0789c708e666dd71c21c4e3aa2d683e056b77d2ebfceea10d15edbb05abc6", - "size": 1706639, - "uuid": "8a7beb4a-b2d6-47c0-9955-e1e63ddeefd9", - "version": "2019-07-23T06:46:47.017299Z" - }, - "analysis_file/44e604c4-860a-47e2-a20f-ec6189153179": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "fc122bbc", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!19.2", - "s3_etag": "454a6be04e3819a28f628c057565f113", - "sha1": "3fde1ddad141187c04064c46646d33dcb10fdb4a", - "sha256": "ecde1d0dd4a28882efa314a996d668dbd5c5b772d350653605e5efc37105db68", - "size": 1691911, - "uuid": "cced14d6-6635-4aec-ad69-1f207c5099c3", - "version": "2019-07-23T06:46:47.367183Z" - }, - "analysis_file/33a76ba7-d866-43d5-93bf-5ea6d658669b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "0e02c1fb", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!19.3", - "s3_etag": "a77ec8af70a964c16e3f66b4c68ab1ba", - "sha1": "82a16c43783d0a7aac3d3c572dcb46dedf935f22", - "sha256": "11629f9eb708f0a3e94490c9e4717778604709bd02667a99ef916906dec4ea98", - "size": 1704997, - "uuid": "2ec1ca55-ab3c-4e69-ac16-52eda89d37dc", - "version": "2019-07-23T06:46:47.722369Z" - }, - "analysis_file/b1047e56-5327-48e6-a95a-fae2e111897a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ca94d81f", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!19.4", - "s3_etag": "a79136b71351625e15c485f6842a4a6f", - "sha1": "1eee4d20f96ff2e46782e67d02a1a3465a6e5fbf", - "sha256": "057f54ad1d1ff872daa1554f0c9c31ad68068e4b0ecf6f4422397b2dd6430e40", - "size": 1710210, - "uuid": "35acd7fe-9130-48bb-bdcd-c7654c3c7a8c", - "version": "2019-07-23T06:46:48.130888Z" - }, - "analysis_file/182506c0-48a4-4824-8653-2ea690e6e59e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "30cf83f7", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!19.5", - "s3_etag": "4c7450fe2c0ceb31328740c767436e61", - "sha1": "385b268274c2199152d09929ac7a5f2352f89737", - "sha256": "39b629667c59f55c1d82298a5582ba765e3b2142f58885e6f2a7c4cc1ca3dd34", - "size": 1713971, - "uuid": "decaf3a1-1a3f-4468-b152-496a1397999b", - "version": "2019-07-23T06:46:48.567218Z" - }, - "analysis_file/e5db27d2-3b4f-4174-b892-972bb155841f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "6ae405ff", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!2.0", - "s3_etag": "03609a0049606c2fe89a155e6c6c980c", - "sha1": "7446adf703769b72023f232bab8a2dd33fad00f3", - "sha256": "f10fbe0272982aaeb43ea4e004fb4f9ec248584384daf477e8c0e367e9235263", - "size": 2262991, - "uuid": "9ccf86e2-d978-490e-b78b-743f1fbe7c87", - "version": "2019-07-23T06:46:48.944849Z" - }, - "analysis_file/86e060c2-189f-49d3-81c4-bc70bb242bf7": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "6d2bea96", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!2.1", - "s3_etag": "9cdbf4e814b82b6a6b8f45fd380e2f27", - "sha1": "8c6b4cb7471ae308ad3393f648538420a1298e89", - "sha256": "4c16f110563665246028f00188f430634c0e88dd3d08674b94904b6dc992cffa", - "size": 2229377, - "uuid": "20b2bcdc-9156-4092-852b-b328e34aa209", - "version": "2019-07-23T06:46:49.422839Z" - }, - "analysis_file/a72a8bd5-f137-4244-9d0c-c4e98f4dd7e5": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "4be3902b", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!2.2", - "s3_etag": "0861f74072bc60cdc7c589fe5f5b0be3", - "sha1": "5fb63c6c48e96f94a3b5bd66e32ae2bcd5459dc0", - "sha256": "ee8976ba65679982424ab2e282cba857c60ef0f91ceb1e7ef673f6df69b895cf", - "size": 2184643, - "uuid": "fc8513f8-7be3-4997-a1e4-635e47a89976", - "version": "2019-07-23T06:46:49.823796Z" - }, - "analysis_file/90ccebea-84aa-41d9-87d0-8fda919b4ded": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "cfbdef3d", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!2.3", - "s3_etag": "5d4f24fdac1e56321d1abf89915bce1b", - "sha1": "1646c85a8b49ec5958afb91da7e0608e37d7b138", - "sha256": "4740a9db8c7417dc761ff8d1be5a8d38d4266902f4a02fabc08117f43ea9802a", - "size": 2223000, - "uuid": "28c7b762-2377-4771-be1c-d2a6dc44f0ea", - "version": "2019-07-23T06:46:50.185323Z" - }, - "analysis_file/af64b766-7778-42d0-af3f-9dc481678d53": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "64360c36", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!2.4", - "s3_etag": "0a1fa0d849414c23072fc8b8b188f93d", - "sha1": "9e7a63220e2e6b8076f67b2668f15a09368cd31a", - "sha256": "c12fa1c4b5d736699fb6c261b147eadac6565a8008058e3e023bc6a24dca9298", - "size": 2255244, - "uuid": "81f4613d-7824-4cce-972e-5220d1c2b20d", - "version": "2019-07-23T06:46:50.631420Z" - }, - "analysis_file/c31c57d2-8c68-4759-8c20-f928c5adea12": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "fb4329eb", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!2.5", - "s3_etag": "5e1eb9336fd1a29229b37e5c639d7b17", - "sha1": "341a0c02beaf759604fef01343075942803106b2", - "sha256": "a3dc6d8780a644abb121811ebd2637a4db4a241a1bd52cb0ba208b89337b050e", - "size": 2112111, - "uuid": "732cec9a-6832-42fc-8618-1a03178725d9", - "version": "2019-07-23T06:46:51.003845Z" - }, - "analysis_file/c8a7a724-33bd-415a-9329-5c4fed847be6": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "81c7dab9", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!20.0", - "s3_etag": "30b3004f6744f3d66ff440048be9ad9e", - "sha1": "dcb36902516eb301060fc6ee6d55cfdee20a032e", - "sha256": "a3b73a00ab549991f26b9889f9da3bd2fa4cd920b8661975b8c48f8ed11f18b1", - "size": 2799675, - "uuid": "9c992d56-cfc9-483c-bdb1-78cbe4dbff9f", - "version": "2019-07-23T06:46:51.345998Z" - }, - "analysis_file/f0b6354a-ed57-445b-8f25-459e070c3604": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c841fe68", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!20.1", - "s3_etag": "8ef082fc5cdc569abc3a485d9ad30bc3", - "sha1": "8dcbf62910e86add1b3d8614b7bd77e35accb66e", - "sha256": "6fe11acf5bad118975beb51c989b33548f700c0d8cd20eaf202ef4c13986e778", - "size": 2744716, - "uuid": "17fdf27b-45d7-42d9-a4a7-f07864e2eca1", - "version": "2019-07-23T06:46:51.784254Z" - }, - "analysis_file/dd386984-9618-4f21-91fe-7eb0bcad675e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f4c05a46", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!20.2", - "s3_etag": "047aae264360351a584ef5f94adb3d25", - "sha1": "d4ba4f6d17323fad4d5b61d30e9dfb1648f2393c", - "sha256": "ccb154f72b045f31b12a4c99cbf4911b436f79703250bece8e5c60413abf90d4", - "size": 2637095, - "uuid": "17454d1c-7182-484a-b27f-0e715ac198b0", - "version": "2019-07-23T06:46:52.235933Z" - }, - "analysis_file/3d11a67a-4d43-4a80-a875-8aef2348e4c3": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "4622cfac", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!20.3", - "s3_etag": "676832d05360b257d565f3fea0a72555", - "sha1": "3b9b51bd7f1c25f54169439fc5b6d389ac392018", - "sha256": "f4f28831e961162e75790c5502073edd0fc6e848e5c37b7a1276d9743db8966d", - "size": 2733385, - "uuid": "335d030a-b8f6-413b-8e80-e04ee02409b5", - "version": "2019-07-23T06:46:52.692125Z" - }, - "analysis_file/666c7a78-0881-462e-aee9-3731f1be10c7": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "63892101", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!20.4", - "s3_etag": "25d5d7d061d1345de97becdc9ccb4d3e", - "sha1": "25d37fce88c66be467f28dac4ab221ea19ab1817", - "sha256": "10c8177482c7275551d1ce5758279480be83bb343f794b00320648d5acfe96f0", - "size": 2786068, - "uuid": "cbfcf474-b66a-4418-b69e-0da73bb46a10", - "version": "2019-07-23T06:46:53.171813Z" - }, - "analysis_file/4e3b3ebd-819c-4143-9d32-a8013d3c7039": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "fc894373", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!20.5", - "s3_etag": "03eae9d43dbad2705cb4dbff0a3c7920", - "sha1": "630721186c915206fe152691734bc5436145a935", - "sha256": "0f7ae9f7b21f9cef6236545a4c012a3bc16a1e6c5fc624e86bbb116719a6c51c", - "size": 2517301, - "uuid": "491fc396-d8b2-465c-8a3e-5862f772490d", - "version": "2019-07-23T06:46:53.613638Z" - }, - "analysis_file/3950e1d4-f084-4440-88dc-a1917d42aa92": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "d41733b0", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!21.0", - "s3_etag": "caf3a2f99c0b309be506ace46bd852de", - "sha1": "1ea5c415c10f763bfd48c64db2911909d9777601", - "sha256": "4267c4aeaa4702a9e0ef9a8ac021c4a765bbc8691814cefa89207d9d747d7185", - "size": 1900620, - "uuid": "90a7964c-f720-457c-b8fd-8b7b34f76c2b", - "version": "2019-07-23T06:46:54.104293Z" - }, - "analysis_file/a9843500-9ce8-49eb-bf58-0dfa807a7149": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "20197207", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!21.1", - "s3_etag": "3fd4c5333dbe598d72160c8f7eeeaaf7", - "sha1": "129271568656ab047dc6b2d9796320fcbf993dc4", - "sha256": "1b0440b00970570f2488b3b07e5a62194215f5d30fab77f0e517ab90d7d64f50", - "size": 1929581, - "uuid": "6a19bc8c-2f49-4de7-bd15-262afcacd2d8", - "version": "2019-07-23T06:46:54.513580Z" - }, - "analysis_file/00fd63b3-ffe1-439c-bf85-a224fea6ff17": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "05944b01", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!21.2", - "s3_etag": "0a66343818eaef624c11dd0ba804366e", - "sha1": "255482916b6dbcf899ce3cf345224e536c5bb93d", - "sha256": "62b0c6a6939bf90a1bdbc0c7760b415ba7942da1137506aab02da81bc3b9791e", - "size": 1849012, - "uuid": "c328ca5c-39cb-4bea-8f59-4050f6022c9d", - "version": "2019-07-23T06:46:54.984112Z" - }, - "analysis_file/50bfb16b-0e62-48bf-8ae8-289e1a003cca": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "1a299a07", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!21.3", - "s3_etag": "8c4b77828787fde5165137bcf535adb4", - "sha1": "441a8efb5c47705a8b0583e5ef93d54a2ada0fc2", - "sha256": "37f25e014d596a6e5f01f712a732185cfb0dee9f8657e3ebb07375f45cf874d4", - "size": 1921654, - "uuid": "15a1f2a9-b9c8-4ffa-90cf-c8c90d51f34c", - "version": "2019-07-23T06:46:55.394985Z" - }, - "analysis_file/6432f0f6-5011-4412-b146-212876e21e77": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "afecdc10", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!21.4", - "s3_etag": "ffa8abf0a447059fb4f0921702fa3a5b", - "sha1": "958d70f9950d042bc1255abdc17bbb351bf08fd2", - "sha256": "777b5ebb920697a91b660e5234076ad4fd3284bb57a814a319609cff9d8f9ea0", - "size": 1951057, - "uuid": "cb2b83a9-8770-48d4-b92b-a727b3983a88", - "version": "2019-07-23T06:46:55.758904Z" - }, - "analysis_file/cfffdf17-b11a-4720-af77-3d1da94cfb1f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "651c9bbb", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!21.5", - "s3_etag": "15ed0575deb38ba1a3f875443ac3c130", - "sha1": "5ea3a24cca3f0f916f5ec1c9204ec34fa833963f", - "sha256": "eaddd510c0388f380da848d7840c2b8544fcc14fec89765f51040ce3b5748fdb", - "size": 1910579, - "uuid": "d6d91434-04ff-4b95-936b-fcb1bfc7d0b1", - "version": "2019-07-23T06:46:56.216075Z" - }, - "analysis_file/7a6c8b19-6c94-4346-9ff9-a54765110e13": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "139c0439", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!22.0", - "s3_etag": "2bb01cfcc71ed58cc5f52ec76fd17a53", - "sha1": "04e06203bb9dea1a72f4cadae9cd126254657461", - "sha256": "97e90976efd18472cf267f89f9672d5671f54325cefb3ad407e0acdcfafa5b0f", - "size": 1701619, - "uuid": "df902cb5-8d6e-4ef5-9d1a-56495f2b05e8", - "version": "2019-07-23T06:46:56.537818Z" - }, - "analysis_file/dae7113c-35e1-46ef-a6d0-53f2c3be9617": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "31479d9d", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!22.1", - "s3_etag": "ab71ee3bb6d3e71b1b2d805702dab287", - "sha1": "154deceb287257d4c9aac8255c5d0dcc54823b6c", - "sha256": "199528529ed2bd2e43ea06c59c7e517bb65233ce59995d5bdf65005bdf3fef37", - "size": 1705303, - "uuid": "93dea811-2dd7-4d77-85ea-e3047f712d58", - "version": "2019-07-23T06:46:56.878215Z" - }, - "analysis_file/75c7091d-e635-4df1-b670-fa7b42c7bb60": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "30fdc275", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!22.2", - "s3_etag": "de035486a91eeeaaca72d082226fa1bc", - "sha1": "8fca00a9a7c5675c3ac161cc5955c011e02e0303", - "sha256": "0a74c33567400f4dae818c50899e427e45416cd0eb0b91032fd3e03e74b53026", - "size": 1692723, - "uuid": "fcb0c3c1-70d2-45e5-b568-78fb5119234f", - "version": "2019-07-23T06:46:57.280472Z" - }, - "analysis_file/0e669062-e8ce-4fb6-a853-7630402a4ac4": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "46188f03", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!22.3", - "s3_etag": "5bc35f1fa54a65422c821132a89a3dac", - "sha1": "a9a32afbc6b8b6cdd41eead983e58d167507c65c", - "sha256": "a5d1c5d68419c51328a9ec43e7714c8b5225a12cbe1806bfd3c8bb3d09cc2c43", - "size": 1704661, - "uuid": "f109c2c8-5664-409b-9cf8-a4844fb5012d", - "version": "2019-07-23T06:46:57.704171Z" - }, - "analysis_file/c0fd4cbd-1584-4d4d-a914-1a9685961c2f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "dfbb3010", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!22.4", - "s3_etag": "32098ceb0e7ee249886d51d2a328fc88", - "sha1": "84cb33ec2559dc41759d53727c89917ef0ebbf17", - "sha256": "26a7401858cce1a5d6ef6fa97f1176eb5657e78a9de8a383188440e0cbdb81ad", - "size": 1709806, - "uuid": "0a33a502-3f0a-4790-82a7-900604ceda17", - "version": "2019-07-23T06:46:58.106024Z" - }, - "analysis_file/806695f0-caea-4994-9941-9ff2499e564c": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "28ecc0bb", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!22.5", - "s3_etag": "14d803b34e90c86fb1700c0e01334caa", - "sha1": "40c229e6620e0c46a151593f00921d4668d70cd6", - "sha256": "f70b2429e043414972dd7f32b089e91b271d51ca38d861cafe2106e8319b44d0", - "size": 1714700, - "uuid": "c065d3f6-6be3-4517-8978-919cd80acd7a", - "version": "2019-07-23T06:46:58.602054Z" - }, - "analysis_file/feff32fa-6b89-4054-bc60-d0fb7d32875a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "410033a4", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!23.0", - "s3_etag": "2030c7e3a1066afe820fe6622287841a", - "sha1": "3bb002aa9c8dabaee4ecfb10ba9c0af1d1449ab5", - "sha256": "4eb2d80f43fbc714468d19d922f6dce3429de7131f23ea94ea30a2d75a5c21e6", - "size": 2829359, - "uuid": "8b3bb4b6-ae24-4e2f-970f-d2581ead7e94", - "version": "2019-07-23T06:46:59.007137Z" - }, - "analysis_file/5d9f525c-5977-434d-8fd1-eb6e81f300a6": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "fe0de0ff", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!23.1", - "s3_etag": "0e7388b92b094d708f7ab346efc72f82", - "sha1": "26a24b50c46ec21e3cdfa22e8616e2bbb2610b7e", - "sha256": "e0930aff4de0df38bc5ec7545cbc9f3c271d6f73e2f4a21a066d68c0a9951118", - "size": 2771986, - "uuid": "6173da83-6c50-42fc-b7b1-3e229d7d7133", - "version": "2019-07-23T06:46:59.515014Z" - }, - "analysis_file/4846ef52-b97f-41f8-8ad6-116f7374c7da": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "504a95f6", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!23.2", - "s3_etag": "aa42b3571eff8477054e3cac388814db", - "sha1": "ec2ee903901ded680514d03bd50a387ebdc75fa4", - "sha256": "d5a145d759d3be4e7a1adafda69a7b8cffc291d26b60b8f0aaf054a729285bf9", - "size": 2665098, - "uuid": "a32c5e06-2d77-4a72-9f25-5ae43598efe9", - "version": "2019-07-23T06:46:59.903158Z" - }, - "analysis_file/591b11ea-4314-46ff-8e1a-b08463dfeb6c": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "0af7b4d0", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!23.3", - "s3_etag": "28acac2c370da8aebba7da9e05eb7aa3", - "sha1": "b7afcd865da6c6cbcc06c4ea79295ecf89a59231", - "sha256": "ed7fb2e42b859857068487c53b691fa59db8a5f5716d8df0147c03b045509295", - "size": 2757167, - "uuid": "04ab3ecf-9244-46b0-bdf0-f4a2952fab62", - "version": "2019-07-23T06:47:00.336536Z" - }, - "analysis_file/69fc6d1f-06a6-4ba5-97a6-9597d9d7e4ba": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "3cf1f356", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!23.4", - "s3_etag": "21f97a9ab6b2cf13dc9e11305cd030c3", - "sha1": "a4d85070982043627c396625c62164fdc375564f", - "sha256": "6ef1e2ac5bc488ef781608f52421572245f085186a1f49eaa852ef16745a377f", - "size": 2819897, - "uuid": "883c3797-bec6-4a64-b158-3e15a57a0247", - "version": "2019-07-23T06:47:00.738943Z" - }, - "analysis_file/65af9aa3-5656-49d8-82b8-ef819da3be57": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "5f4bec63", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!23.5", - "s3_etag": "841103efd4c7bb3562285b7d9532ae5f", - "sha1": "a1cc84abdae897a98dd600e24177adbc1c63ec7e", - "sha256": "2594e179c2c67e5073f030d26a6ab7aa423a2665c3ac2805c30459c3fceb3502", - "size": 2539434, - "uuid": "dae6a7c5-ad15-48d9-ba37-0fca9d4fb1f4", - "version": "2019-07-23T06:47:01.207262Z" - }, - "analysis_file/f0bc7821-c50c-4457-a73a-ea54e7f802e9": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c5a344c5", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!24.0", - "s3_etag": "93f2e735d975f8d068dd4c52becda88e", - "sha1": "31bb8fbb02e298def203a9f8f2b87293bd105601", - "sha256": "f97ebe14f124b04501c7f952abc9e5bab4c8e3835c693d1edbc88895251a4661", - "size": 1899784, - "uuid": "7bff05b1-95e0-4d38-abf0-2bd8fbd02e60", - "version": "2019-07-23T06:47:01.697028Z" - }, - "analysis_file/2ddd447d-ab33-420a-a120-00081eedc5e6": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "a839270e", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!24.1", - "s3_etag": "1053448dd846c7e2c83a9f9d768f5a75", - "sha1": "bc830c75731d356b663e1cf6a581e77681943ee5", - "sha256": "587df2daa13e9ffdc198605057a7a2fed9aab3b5a7749a09464f407ee0d10a28", - "size": 1932106, - "uuid": "37bab915-f3a8-47f4-bed3-bb5f3fdb4538", - "version": "2019-07-23T06:47:02.042093Z" - }, - "analysis_file/8961082f-b3da-40ce-b925-ee66d815af6c": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "32557242", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!24.2", - "s3_etag": "7461121c887a339103a1142043a6737e", - "sha1": "d15d13e5b4222826c0915fdf8779ce3b476d0d66", - "sha256": "ed1a38e2533681b036255d97179bc52ac8601eda09c81e583fe2799deacad34b", - "size": 1853090, - "uuid": "d92a92b5-ae8e-4483-8038-877a9d818dcf", - "version": "2019-07-23T06:47:02.538008Z" - }, - "analysis_file/df1d2a75-b4ea-499b-bd59-423f1597dc23": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "3df7f992", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!24.3", - "s3_etag": "cb246c92a4558b1bdde88ccc334234e2", - "sha1": "89ffcd876b76f4e57ea55aac9452b6a5a8be419d", - "sha256": "aa0815664e326559e347748dd2b965da717a8c29623244a6c561e583e2fdd517", - "size": 1925606, - "uuid": "8d7dfb2f-28b4-4cc2-912e-c81b376b29d8", - "version": "2019-07-23T06:47:02.968286Z" - }, - "analysis_file/75816a17-b08b-49b2-8ae9-1663dc554f0c": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f8a8ae76", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!24.4", - "s3_etag": "9b6458c8b78bf3f9c471c4fbc781fe61", - "sha1": "8d2bf2c3a34e64fa57eaabfda8ee6e924d2f8d1b", - "sha256": "67330512dbb4a111ed390c027c1a23bb3c2eebe1beb2c0621bf1aac5ccd02a04", - "size": 1947760, - "uuid": "1a302822-160a-4138-846a-a7662de6a737", - "version": "2019-07-23T06:47:03.330173Z" - }, - "analysis_file/4f44b2bb-7f6b-4c92-8cd4-265b4701600e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "dc537635", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!24.5", - "s3_etag": "70c7d1aa804485797bd52a8ce6a3ebe1", - "sha1": "236bc64c8b6578077267d3a7377fda561fb3a31f", - "sha256": "146ffc5d5f972d7f5d05c4dee413930d9c94163263542d411a007ad027144d0f", - "size": 1911295, - "uuid": "6a18b3d2-15f3-4775-9ce1-480c06b5f192", - "version": "2019-07-23T06:47:03.774690Z" - }, - "analysis_file/6e40a5e4-8502-4aad-ba36-581c94d3fecd": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "5f43244c", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!25.0", - "s3_etag": "d1b190b4b29deb6ce71fd942074ff609", - "sha1": "36a8c6a69521a48eab4ab9d57c710aa7f52d0f03", - "sha256": "31251b6c1fdce4a92f61584e54255e77506906e57cb698cf81f1a2ca47135e7b", - "size": 1699008, - "uuid": "6631e9dd-93ed-4448-ae3d-770bf3c316ff", - "version": "2019-07-23T06:47:04.202127Z" - }, - "analysis_file/bdb05c8d-cee4-49e2-aa96-c4c0955cab9f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "06fd011a", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!25.1", - "s3_etag": "0a68f8ac2fac4fbd08482e3bb16c44df", - "sha1": "4faa7ada867f2cb448fffa0668462e1cfb5b7437", - "sha256": "e662014762807f3202035d1bc56c37bbcbf903f1abb485c23cea4d708d83f73b", - "size": 1706098, - "uuid": "ce3f9bc6-95a9-4640-8fdc-91b876050ea4", - "version": "2019-07-23T06:47:04.700867Z" - }, - "analysis_file/f6bd9ac1-511a-45bd-b544-8a3a719c24f0": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "84fdde8d", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!25.2", - "s3_etag": "20b4af8b1a20ee2c02cdcb8c083ba8dc", - "sha1": "c5623c8991b0727685c308f6364aad94be3ebe1d", - "sha256": "c3fa25c6e08bf68705850fd6579db634d5b91a8c37f95862043306a8d0d4d08d", - "size": 1692309, - "uuid": "b5a70fb8-2111-41db-a623-a513761ee6dc", - "version": "2019-07-23T06:47:05.089579Z" - }, - "analysis_file/507cdfe8-e1d5-4022-addf-5a925c6d1596": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "4711c509", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!25.3", - "s3_etag": "6c64e26cc3655ddd9f2b01bd98a2595c", - "sha1": "9a72da0e5cf1fea501a7f948d3fd8c8ccda6580f", - "sha256": "305307b635cf70210ad6b2dc727ac15b1851fe04dddb8184f2790cca53ca5016", - "size": 1704677, - "uuid": "d88e5a9e-32d5-41e1-9ffe-3c55b4494ccb", - "version": "2019-07-23T06:47:05.636805Z" - }, - "analysis_file/1ec8b57d-e388-4780-abfd-d1d27e96073b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "80030b39", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!25.4", - "s3_etag": "89eb8936faa2fa3243e3388ce06532b4", - "sha1": "3d6869a8be9435e230b380359f03a245870e860a", - "sha256": "b43d1245c3edb3c78bb07ab0376c67459401a99d3b8fab94abef21cff9b40350", - "size": 1708149, - "uuid": "192cdcdd-59f7-4e62-9344-d15a3575d75e", - "version": "2019-07-23T06:47:06.049173Z" - }, - "analysis_file/897fa0f4-fe2e-47c5-8423-9631c905f684": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "712f5066", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!25.5", - "s3_etag": "446d9523f8f8c5550e241598d873b32d", - "sha1": "3d900f573be8f3ba29afadbefc22de4dc5d9b203", - "sha256": "72c2badd4e6045f50d14faaef5ca7e276912f29bf1d75eedc0e05fdf9d87a824", - "size": 1713604, - "uuid": "2c94c491-fd73-40b7-9a79-d0eeb71ad2ea", - "version": "2019-07-23T06:47:06.454857Z" - }, - "analysis_file/f85725ed-d0f8-474e-83c0-b1e285b1bffa": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "7e6c43aa", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!26.0", - "s3_etag": "4a5805ce303185a121eb65efbfc660d6", - "sha1": "541a3bed51b611a7c0d178fdfa7c6f5c6c5d9f4a", - "sha256": "b178cb9cf985769904d6139fbffd2a1eaf1dd19461aae6639e3cacd69caeb11a", - "size": 2798950, - "uuid": "564d9e10-fb48-4485-83d8-f1d6368ca705", - "version": "2019-07-23T06:47:06.929770Z" - }, - "analysis_file/11f55a0e-dc89-4979-bd9a-b4f386876cb9": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "cb4f3a94", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!26.1", - "s3_etag": "db3986b96bec4f10dd71bda597afd503", - "sha1": "33ff59bd33f45626614504ea26e74ad86b76c0a4", - "sha256": "07cce39569d1f629e4f027a140f4db3e21686a7e462dd2c75499408640a7a686", - "size": 2744118, - "uuid": "26940d47-5c0d-4e20-abd2-27267c1d175f", - "version": "2019-07-23T06:47:07.352302Z" - }, - "analysis_file/9baeb127-b802-4e9b-99bd-2c4e292c0083": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f4b9afa4", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!26.2", - "s3_etag": "83bcddfade8fe2c730e873a8a2688e67", - "sha1": "a06d5d0eda55127653e95a2e3c16f12ff158e538", - "sha256": "ef9821b9c05a8e54a8f0555b243e2fb3efc83ca97fbfe216246bdd3aad87c6bb", - "size": 2638553, - "uuid": "329d9ee3-21ca-4e54-a872-65a17e8a68de", - "version": "2019-07-23T06:47:07.811848Z" - }, - "analysis_file/e2cba3c2-caa8-48ed-8e93-c2df94ceaf20": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "d0e9c727", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!26.3", - "s3_etag": "c83f559ae751e95200810e05bfc63366", - "sha1": "355e1c1f0dc7b5aa1eae9a780735675e0495b74b", - "sha256": "1ecc86abb19edd3a18eb6e07b8134959c291d4e8794b86e14306769592438577", - "size": 2731361, - "uuid": "47ac6e90-18c2-4a78-8156-5691f1e93af1", - "version": "2019-07-23T06:47:08.378087Z" - }, - "analysis_file/08c497ca-781c-4be6-97b7-dc898aa057b4": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "aa949b15", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!26.4", - "s3_etag": "f48faf7234be06584291565a39cefab9", - "sha1": "1c12716857d2dcdbaa8940e27405ab83c233e298", - "sha256": "eac637225175698ae7cacf1b685aad68c3b05712cd78af017a4d4720452d6487", - "size": 2786021, - "uuid": "6069d4f8-27af-4e25-b907-fef5db00f1b4", - "version": "2019-07-23T06:47:08.956316Z" - }, - "analysis_file/12e5e6ad-2706-4974-8741-30835f0f4084": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c5c5e269", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!26.5", - "s3_etag": "e5af40481afe850707e50ae7bffac29b", - "sha1": "5d9e73fd6bd781eeb64c37d514cb8ee5b4768f77", - "sha256": "891bb9d482f7f13bba5f9b00421e6b8412c85fe4234d3f573e8d506d5b32e6e1", - "size": 2519607, - "uuid": "0b668fc6-2a8e-4896-bce2-dea61bf45443", - "version": "2019-07-23T06:47:09.511157Z" - }, - "analysis_file/2f83e7b6-b82f-4fdb-92f3-17e54d22493a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "eb673e88", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!27.0", - "s3_etag": "1b6fff2aedfcf5c0a6f3a0280abf4950", - "sha1": "792547538e451464bdb8bfc691d711c47b8c0cf9", - "sha256": "0d5704f84c069935964e772f342dd403a302364ff061648c76ae04a6b92855da", - "size": 1893617, - "uuid": "44c005b7-a675-41d0-bd5c-8bea0ec13824", - "version": "2019-07-23T06:47:09.990613Z" - }, - "analysis_file/cbba648a-49df-406e-b6b0-ff5e6994b56c": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "6b04092c", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!27.1", - "s3_etag": "275a182edd7024c61a10e12bbc35a045", - "sha1": "eedf5b921604587b3f5bc9dd9d99934a3e671b8a", - "sha256": "e761a40e2175fd0260aaa132c5d978a5ccc9ffa4b6ac9bae62178f5b5df600f5", - "size": 1923886, - "uuid": "6b2f9c53-6df8-4b0b-ac3b-f489e38c1a85", - "version": "2019-07-23T06:47:10.453454Z" - }, - "analysis_file/603bb7a4-c08b-4f60-8bd3-b8a868331b8f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "eec8b6cf", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!27.2", - "s3_etag": "dc9d9853c20450021e052de695f15362", - "sha1": "26e4f1ef5994c5366609f354d2b2d2704c3ab0fe", - "sha256": "0c889de5bb4bbfffc5929b39ea79b685a87977cc19341de52d56980ddcb3090c", - "size": 1846691, - "uuid": "ae748936-cd52-43ba-9186-9ccb58d734d8", - "version": "2019-07-23T06:47:10.838435Z" - }, - "analysis_file/b21b9a93-a5ab-4045-80cb-010ef8969cc5": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b9c336ad", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!27.3", - "s3_etag": "181ad86a6d945ec6d2c211c87ce73db5", - "sha1": "466dc43d71b936fa44f73a2e6298f15a4007271c", - "sha256": "d9903daffed16b58b0ad8c843166a8d20f78f12313b35563767e7133a8bc0d67", - "size": 1917573, - "uuid": "48ea181d-aafc-48c2-bc6f-c50b385bdf8d", - "version": "2019-07-23T06:47:11.448852Z" - }, - "analysis_file/c9d52e49-90ac-4159-913c-0ef579c2d00b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c3348a47", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!27.4", - "s3_etag": "16c03c3c31af3437be252556f94cf20e", - "sha1": "37d8c2f999ee2700e3d9bd4f9b081d7f8df23254", - "sha256": "4ff7feb82619a6a434c5934ec605a1baf33917be62e1727d601fe63ff1e341c6", - "size": 1943589, - "uuid": "394eeda9-a268-479b-9e0d-0189b9f01660", - "version": "2019-07-23T06:47:11.953947Z" - }, - "analysis_file/f3ee8a7f-ef00-417e-90b5-193579110532": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f7df2435", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!27.5", - "s3_etag": "335e4c3fd6a63c21e4a074598bf79ec9", - "sha1": "604cdd23dbfdc71ad99c06e58e43cd21a44347ed", - "sha256": "ea43b8b05a12ebdcb727afffb35a30c1a29ab23dbaa1bd58a0e87318b022a14f", - "size": 1909799, - "uuid": "dbb722ea-80e2-49fc-9ab6-cfb6ede97b20", - "version": "2019-07-23T06:47:12.322563Z" - }, - "analysis_file/fa977d76-ece4-47c1-9212-a033217523a6": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b32b5198", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!28.0", - "s3_etag": "a66477deac975dacbcee78c4b230c2fe", - "sha1": "076a2014b5fb976f4677f23237721d877ee027a7", - "sha256": "11f628beb27235862cf24e6921fc8212d8c580cd934e23d8d316050675a5f75e", - "size": 1699709, - "uuid": "4f2a0cc4-48f8-49c3-af72-5bacd5b3d38a", - "version": "2019-07-23T06:47:12.680283Z" - }, - "analysis_file/8da407f0-39cf-43c4-9250-0ba72fff2af7": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "0c456e76", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!28.1", - "s3_etag": "84b22a201a3a1ecb820199c0075457e6", - "sha1": "96e10d0f7febbaba80722716ba6a6c2e0aac5f89", - "sha256": "786ca83fdaa5d23b8a52401e3d10886c3a9c0c84e79949ba181625c328b80079", - "size": 1705920, - "uuid": "2bafafd0-4b43-4ef8-ab79-62f8c263ed29", - "version": "2019-07-23T06:47:13.134643Z" - }, - "analysis_file/6283a894-b4cf-4bd3-99e3-f12c9110d36e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c73c3cfb", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!28.2", - "s3_etag": "0ae883d1b54a9585dacdd7b2dfabcd69", - "sha1": "c7fcdde6efd62eb0e68caafe72cd5df0423d49b2", - "sha256": "8d7e63718a89eb0021e7570904dbecae7bd4a461e488578db16a96c417987100", - "size": 1693327, - "uuid": "49eb9b35-331d-4cf7-87c6-b046330019bf", - "version": "2019-07-23T06:47:13.568670Z" - }, - "analysis_file/f4956c61-e2b7-46d5-a2e4-f641fbbfc304": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f97f9d8a", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!28.3", - "s3_etag": "b4fdb2921f35bae476e9834284e104c4", - "sha1": "7a1db86c90c5add91ed128c0e92e2dd29d93f2d0", - "sha256": "026716a17c43e36671e82a9bc518ab6a3defda0d71ed1bc9145b82d09c95e438", - "size": 1706021, - "uuid": "44cc2877-de3d-4f85-bb88-3799b4a6f8c5", - "version": "2019-07-23T06:47:14.146071Z" - }, - "analysis_file/aa393ce4-a6fd-4759-824e-729a43b9be59": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "e37e60ca", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!28.4", - "s3_etag": "6b9163b31ba9d01501b3a1cbe274935e", - "sha1": "67084b856c643ef5c19cdb4d4bc025e914409dfd", - "sha256": "1142361ce8f7ead0f1b4f8706fc47583ff3228e38e95fec351ac7ebc4eefaa70", - "size": 1709974, - "uuid": "9fb07475-a439-43d7-96e0-17bddcb1323e", - "version": "2019-07-23T06:47:14.606140Z" - }, - "analysis_file/9e08f649-6bd2-4504-96fc-c1d4ee09324f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ed4ac093", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!28.5", - "s3_etag": "e2dc407fba15165149ef807f317ef453", - "sha1": "2903c6392892427e5af15d951d6de235c872cee1", - "sha256": "f4857350cd83814fb1945f9aec2b0017a5c96acf46eb013b48de96e9844a7a64", - "size": 1716574, - "uuid": "3488e09a-c0b3-4105-aefe-1c0d9349b987", - "version": "2019-07-23T06:47:14.969740Z" - }, - "analysis_file/19aba152-975a-4942-b953-b1ced7535a79": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "340bf135", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!29.0", - "s3_etag": "0dfddaa9736820d28a429ca62b27ff56", - "sha1": "509b74077ff851c10ee56624a944561d5424c06a", - "sha256": "792114b3d3a8cf0597aaf004c92d7850b3d361f1e364fc82d4a1b9cde2aee05d", - "size": 2808375, - "uuid": "87593225-5cca-46f7-963b-9b76561a55ed", - "version": "2019-07-23T06:47:15.468113Z" - }, - "analysis_file/7c023882-23a1-46c8-800f-484af5253eb2": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "90521ffd", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!29.1", - "s3_etag": "30bd647fb2724873a202e51ebaa001de", - "sha1": "452cc75eedc3190205d64aede0ce39d952f7d261", - "sha256": "2444ea8008e8be3555bf58bd3414b911aa87873287f7ef57182a32eab4fa3a3a", - "size": 2757498, - "uuid": "d05bd1cc-d0e0-4977-b9c0-515b83add94f", - "version": "2019-07-23T06:47:15.982233Z" - }, - "analysis_file/17527f54-54b8-4f78-8dd9-87882dc0fc9b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "a5f8c923", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!29.2", - "s3_etag": "26dbdcd88241f624f74e9793031381b7", - "sha1": "05edddbd1d3e5fafe6785e862f4d58b9145388d8", - "sha256": "e4fb5f353a22ada80f05b501daccdad5c059fcd86aa2aadc6e612ed91225322e", - "size": 2647845, - "uuid": "f4292ab3-481f-4a34-bf11-8c9feede5214", - "version": "2019-07-23T06:47:16.569391Z" - }, - "analysis_file/f8dd465e-50c6-4e9c-9795-4ef6dd6797a5": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b5e9852e", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!29.3", - "s3_etag": "da2a4b7843c5610e6bec95ccb44a0484", - "sha1": "eeaffb661e2262a369f81b8c674b1c7144ed59d1", - "sha256": "b77e6cb992fccf2cd6c243dd46537a29ff106c2d7db7864d92001a1ebf3e7370", - "size": 2738406, - "uuid": "fa1474c1-2224-475e-a918-b015e4b2881b", - "version": "2019-07-23T06:47:17.055873Z" - }, - "analysis_file/3de81811-865d-4fa7-a8c7-bea303bb53df": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "cba92507", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!29.4", - "s3_etag": "4bb66500b61c42ae7bda5388fbb95b0d", - "sha1": "8f7417270ac0b32fbd60c6e576371f92ea98beae", - "sha256": "ce3c8f46d6e14cf03c2b01062a61013887ccc30b567525a30d789a5eb1b07ebe", - "size": 2797342, - "uuid": "1f067356-8ab0-4142-b9cc-bfdd29c5ffe3", - "version": "2019-07-23T06:47:17.527827Z" - }, - "analysis_file/4bff4802-f142-44d3-a166-bf60cc655b44": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f010b711", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!29.5", - "s3_etag": "d1b4bdb5f61d5cbbd9ece0ce349057de", - "sha1": "1c84100d17fe200b4f0639f71c4088631312d01b", - "sha256": "ca5018444cdd318fd36fd912eef2ecf4d085201e4d2fc4ae79728d5a8fbd820f", - "size": 2525669, - "uuid": "d7597f21-ad57-4b54-a0e2-1cdb847c6bc0", - "version": "2019-07-23T06:47:18.127246Z" - }, - "analysis_file/59b50701-f235-4a7c-978b-420d03b6fa44": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "8c01afb2", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!3.0", - "s3_etag": "9e1ae8824c64732db9cc90805ca3ee1c", - "sha1": "5972cf23b990a56d264dac700c70dfee09c9b571", - "sha256": "09bb2561cf8b4d6a6c5a776ec78a0e10ce81c3e7be237725e48227fd9521df6a", - "size": 2511038, - "uuid": "b81d9e93-c208-4bb0-bcd6-d00ed704a92d", - "version": "2019-07-23T06:47:18.613514Z" - }, - "analysis_file/b752a02d-bb2f-4632-b820-9ef817d477ed": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "e7c25f0b", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!3.1", - "s3_etag": "81d2e57c889f22880d15bf36a91af3f9", - "sha1": "28cffcec724b4919858ce8230a0c092ab44f032e", - "sha256": "98dc2c3ceef6113970ff89ca823060432caa4e6508469e11d96297edc8f3a592", - "size": 2512141, - "uuid": "c11b59aa-7bb3-4777-9675-41a6a8a8861a", - "version": "2019-07-23T06:47:19.090226Z" - }, - "analysis_file/d0753d9f-219b-4ab8-bf4e-a8f539350153": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "eae78504", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!3.2", - "s3_etag": "e776130b6a305741e9c918d36a2f8228", - "sha1": "cd1c98b911d058806380ba64b685711217c5fd9b", - "sha256": "9cc0e923e252b4974447e18fb760b02ee41a53822c6e03054a8716e2303e2bc5", - "size": 2372583, - "uuid": "116809a2-2b40-4410-bf27-12551324a07f", - "version": "2019-07-23T06:47:19.535759Z" - }, - "analysis_file/6209fcd2-deec-4adc-944d-a2b4b3a9fdd9": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f94ff083", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!3.3", - "s3_etag": "db6be108da11269138fcbae1cb434f9e", - "sha1": "ce55eb9a29724fe5856d951b57188cb8c9fe6516", - "sha256": "0bd6b1c3878a43d1ca1e9481d680e5fcfdb7dca62dfc13d7d7a9f22efad60605", - "size": 2502303, - "uuid": "5ced6f51-de09-4619-9a4f-46215a7619a3", - "version": "2019-07-23T06:47:20.018360Z" - }, - "analysis_file/f3a20322-945c-4eb1-a01e-8666e522d5f6": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c8708da5", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!3.4", - "s3_etag": "9a076520848d234162cee9eed5b80b4d", - "sha1": "978154e82fcd56c5585295a832a038e0f0342d15", - "sha256": "9e36b309da92349269517a7b4bb9c23615b55f3e63e6aba73c799c4841d7a5dd", - "size": 2550380, - "uuid": "1cefced0-0abc-4687-a242-076647e97f2d", - "version": "2019-07-23T06:47:20.614380Z" - }, - "analysis_file/b278a327-9685-44dd-b694-b4c4504cc315": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "4f82bdf5", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!3.5", - "s3_etag": "8e0842ec7c54c9a25a05669b01e2913f", - "sha1": "af04788818b30af5efad283676a18d01a348fc1f", - "sha256": "db18e9dc93296cdefab1b5eaacd6bf06bcae678ba2ba30cccd9a9dcd8b7c493d", - "size": 2365741, - "uuid": "b857ff11-0070-436c-bc21-51a97e7e40bf", - "version": "2019-07-23T06:47:21.190360Z" - }, - "analysis_file/0c61d54f-64a2-4242-9e71-5b04464c948d": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "4552a78b", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!30.0", - "s3_etag": "e48be8fa886d24af83b20b69e3ff0381", - "sha1": "b531c0d54354ae8c428379c966efe5cf8e7d9c8f", - "sha256": "e0cd083f6455422e416509f0df2bc5263fe244a8e3efecf55d0650befdd75eeb", - "size": 1890559, - "uuid": "f29d5678-7851-49d4-96d5-27a180f2dbfc", - "version": "2019-07-23T06:47:21.651584Z" - }, - "analysis_file/51302cec-b8fc-4902-9f70-6419677357c3": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "3151653b", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!30.1", - "s3_etag": "6871f3e9845911d795fd318677acebf4", - "sha1": "70361fabae2b61e66015a47f2c43bd7379940032", - "sha256": "2af8aff5355cf337d6d80c0985906e64dcdd179429ee34fa8c1b584fa64cf80f", - "size": 1918813, - "uuid": "990276e4-dd78-4d86-9f5f-d969dcc7eac2", - "version": "2019-07-23T06:47:22.035031Z" - }, - "analysis_file/071dc595-4162-4fa6-aa45-54724c308c70": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "2e662161", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!30.2", - "s3_etag": "908803fb092ffedd73068b7f5a513e20", - "sha1": "29e9f7fa0bad5571d9b4dfde6cba8efa23217239", - "sha256": "9fc3b922ecae8de0eab8e8b0c4816d1a0abfab6303fb76f4a928c28dbc61c745", - "size": 1841186, - "uuid": "f6816ebb-72c6-4a7e-a542-ea7a7ebdfff0", - "version": "2019-07-23T06:47:22.498238Z" - }, - "analysis_file/9aa478a3-1247-459b-80ac-43cbe091a538": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ba0dfe48", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!30.3", - "s3_etag": "9b64053760693077b1058ccacd6a7db8", - "sha1": "6beced3a26b8c7de10c0d1d7c4dbc84997383c8f", - "sha256": "147b0001355f454405b0a13576defda0a421ec77a3ffb94c8c82f0fc0c02a58e", - "size": 1910698, - "uuid": "73bf29d8-cbf2-4a9c-a05f-3148ae8fdfff", - "version": "2019-07-23T06:47:22.972986Z" - }, - "analysis_file/c0bcca58-6d54-4556-b9a4-e5e171992dc0": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "45d52d4f", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!30.4", - "s3_etag": "661fcbc373ff7af46c8f95f3ce83b352", - "sha1": "19cf525de91fd516ad2e5afdcd0b13cf8954293e", - "sha256": "97e4dc104d0daff0434564e1356872c8f311d201d908e7bc8689e940c01eabb4", - "size": 1936310, - "uuid": "f9675b41-d1bc-42ca-b6cf-26ba18a0ff1d", - "version": "2019-07-23T06:47:23.623044Z" - }, - "analysis_file/5920491d-bcfe-4f9e-9b48-859afb965041": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "a4ff7922", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!30.5", - "s3_etag": "d7da67c4e95c07a6e17cb65e10495457", - "sha1": "57cc6d36adc13dce6fd1ef978972a40e90974b5a", - "sha256": "d061a24e1f4d654e14d5e104da2e715b39a31fba091a012315fd11b905656370", - "size": 1901796, - "uuid": "c692070f-498f-483b-989f-7eca65367e2f", - "version": "2019-07-23T06:47:24.048075Z" - }, - "analysis_file/a8cc3371-471a-4e45-8e51-d5aa4d77d89a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "8ea0d86a", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!31.0", - "s3_etag": "8ecf52e5d1581f0f6b9e9dc98f3c617d", - "sha1": "8c3ad87d7bfac7ba18641bbb33c02434fb60213f", - "sha256": "99479fecbe94a9e73f88175ce906a2d4f8573aee26748c978970eda10eb9111b", - "size": 1699653, - "uuid": "590c7eab-3512-4218-b4b7-5855fa0aad44", - "version": "2019-07-23T06:47:24.337723Z" - }, - "analysis_file/6015140c-a1e1-4644-b783-e0b9a21ce091": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b9869345", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!31.1", - "s3_etag": "c0ccd4c33d2558dc26186dac625213c2", - "sha1": "cb9cf7c81f5a5026dc624b8347dbb552c17795e3", - "sha256": "a7dd595ad445bf3898b107d41975c640059cd1c3fe9a2bcff568f40dd194d6b5", - "size": 1704334, - "uuid": "d20a52d6-4d40-4b97-a099-22aedb1b20ed", - "version": "2019-07-23T06:47:24.724598Z" - }, - "analysis_file/322562e0-4e3f-434f-a302-1567d46d9e5c": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "02937992", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!31.2", - "s3_etag": "4e64733538c85e52dcf16f6d75bbf42d", - "sha1": "0f7a882068bd203333fd87d898148f6f396771c5", - "sha256": "63daac80523a5199b2d254066b5e92e025e42b9a93f5c986cfb8d033f96a69d0", - "size": 1691537, - "uuid": "9b1f7d1c-4fb2-440b-94bf-024fbac1f69f", - "version": "2019-07-23T06:47:25.165537Z" - }, - "analysis_file/00231db3-8195-457a-8a97-e6d0ef754f23": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "5b89bbc9", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!31.3", - "s3_etag": "58537437e7936e620f1b806f6da0448d", - "sha1": "97cf1800fd87d4045389bc9638056a15d961a401", - "sha256": "0410c2b8a9f4fcbef229d70493120d42f86d33ec6eecf45cdc44032382939e17", - "size": 1704636, - "uuid": "4bf1bc87-b1ff-4254-97b1-ae816e825278", - "version": "2019-07-23T06:47:25.610801Z" - }, - "analysis_file/4e656dc6-5b0d-4195-8afa-e8fc0dff2135": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ff196707", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!31.4", - "s3_etag": "2882c18fb5a2019b80d197ae88b87874", - "sha1": "d7f79f71261917a4431bad2860894b24b47d5d11", - "sha256": "521cbd872ace9aec33ec8cf8876b3bdacb6f4a0472fc285a0594f772c6d3355d", - "size": 1709290, - "uuid": "8c043313-4063-4c34-a1aa-b9263ad6d051", - "version": "2019-07-23T06:47:25.971976Z" - }, - "analysis_file/08c509c4-8984-4207-904c-49cbe4ded542": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b764e6cc", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!31.5", - "s3_etag": "79725a7f72514bc5674fd091380ddc8d", - "sha1": "a9606294be39bca68262277efe74f67bfd478863", - "sha256": "34859fb5cbde75f08dcd400a827de108fbf1ca06c4304589b79e9d09fbba2b2d", - "size": 1714469, - "uuid": "4434a1e5-c7ac-4c9d-9574-4b23ecdc7517", - "version": "2019-07-23T06:47:26.436374Z" - }, - "analysis_file/fccac52f-701b-4748-8aca-e9d75aab055e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "641c9a76", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!32.0", - "s3_etag": "951f64285afcef114bfc1a30bfb71709", - "sha1": "928939546b493e218ede22f6cb33b8cb44974aff", - "sha256": "958e95916f836f424541ee4f88aa9fe88921f6aa792c770181fdc39940c845c1", - "size": 2822370, - "uuid": "887875f2-0509-458a-a00d-c4160d6e2e88", - "version": "2019-07-23T06:47:26.821736Z" - }, - "analysis_file/58ca5671-6477-4639-b041-ba6ae71bdb75": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "032a5818", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!32.1", - "s3_etag": "0a9021a24a4aa1ea3628ddb10788dc9f", - "sha1": "5c4d2b46a51b2e7ac868152aa43da858ae3a1c6f", - "sha256": "2047b73e75c565e5bc3d596806983555612c4c189236b628229d5c383816447b", - "size": 2771153, - "uuid": "15abeea3-624f-4421-a6e9-b0d9f62d43d2", - "version": "2019-07-23T06:47:27.522370Z" - }, - "analysis_file/81e7fea4-13d8-4be2-bf04-e2700feafc5b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "55b5d402", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!32.2", - "s3_etag": "35825bec598978d7ff5b5b9b68a88f23", - "sha1": "edd083858f8da20b835b40a1f99cb76f2770ccd1", - "sha256": "0dd6808d07c73dacc288ba7827e41a160b71e1dd674d0ab141c84d553abd4517", - "size": 2656974, - "uuid": "1fe76df7-a8c2-4a8f-93f0-27984465ddf5", - "version": "2019-07-23T06:47:27.964131Z" - }, - "analysis_file/0d4e13c1-f806-4848-ba2f-fb2ddf8d1f01": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "2def868a", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!32.3", - "s3_etag": "e201168feead488b903299ee2215cec9", - "sha1": "66696953bb8a1b23036e0cf11eeec94fd5923271", - "sha256": "21e848b5cf1655b4aaf26fc974785931b43ad3a3a0ee496a8f68788b426dce08", - "size": 2754545, - "uuid": "28934b86-8109-4120-a6bc-fd5fe50e86d1", - "version": "2019-07-23T06:47:28.330416Z" - }, - "analysis_file/bb530315-61b4-47d5-99eb-9e76f3b1b19b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c0d421cd", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!32.4", - "s3_etag": "7160a34a474f01eea0006abc10fac129", - "sha1": "b2ac5b1ff2427af3bb1c0a8b474bfd368ab68c65", - "sha256": "70685d7210a9688224dfc14be3a041dbff63c9573ff1f92dc095c354fe9c9fee", - "size": 2811213, - "uuid": "eb5652cf-0f7b-4018-aecd-b091105904b4", - "version": "2019-07-23T06:47:28.896422Z" - }, - "analysis_file/1a62335d-e8a6-495e-80b0-bc109aa9cf04": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "473d0730", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!32.5", - "s3_etag": "2cfca5876ded291119e8380877825c59", - "sha1": "a2e6e1faa03d8ab091e98550f47b0531c02b128e", - "sha256": "7489a61424b8eec96eaca3e6406f12b140e2be873ee477e678416ea1cc174ca6", - "size": 2538096, - "uuid": "cffe4dcd-7859-4435-9695-8b8faf0c46dc", - "version": "2019-07-23T06:47:29.359797Z" - }, - "analysis_file/9b0015d6-d4ad-4344-b881-19f63dc9c164": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "02033414", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!33.0", - "s3_etag": "14d1d90bccbfff560c448b6f939def11", - "sha1": "f4313e3b565d1214deaf497913fa408147fdd08f", - "sha256": "18041431569e6d0ae91576a92e27bf73822055351835a00e772f4fc72269078a", - "size": 1883686, - "uuid": "eb8f08b2-66fd-4f9f-8978-03f5d406e7a5", - "version": "2019-07-23T06:47:29.834462Z" - }, - "analysis_file/db4468f6-6f2f-4cae-9f50-3e2487063143": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "2932b9cd", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!33.1", - "s3_etag": "6a0ba0399f24176f40b725ea65111444", - "sha1": "ad0fb496351db70655a2869f7692fa60779483a5", - "sha256": "8bf06bd099ebc260ec4597c044c01ccdbc010472d8216bd672b212609d9cc6e7", - "size": 1908424, - "uuid": "10d47bd6-24a9-4078-b2ca-2e5383ba8087", - "version": "2019-07-23T06:47:30.297671Z" - }, - "analysis_file/e0fba685-682c-4a8c-a4c1-7469075d2355": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "79cb1f9b", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!33.2", - "s3_etag": "2bc357bfffafe75af441d4607d40bb04", - "sha1": "13928f30f3b3c9d9f8d3b559602c4c542e8fe034", - "sha256": "807633bca342a56f6162a5413e8e949300a643bf1dfd19d5072659777a6ef3d8", - "size": 1835109, - "uuid": "6de02a59-7047-4d3a-b68a-7e3625787d4f", - "version": "2019-07-23T06:47:30.643369Z" - }, - "analysis_file/84db4a86-cf50-4e00-aaab-4a277737f085": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c600ed61", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!33.3", - "s3_etag": "34bbd196d24d2ba17240c20637b95e89", - "sha1": "d9b3d9d8267a503e59d25a5deefc04d897fe3c27", - "sha256": "a9d69591e31b96884bac59f729d82c1ab0d6669a885a19beb58fb3f08f1ab5f9", - "size": 1905045, - "uuid": "052a3777-5b39-48c6-9de1-2d4839abb8b1", - "version": "2019-07-23T06:47:31.026674Z" - }, - "analysis_file/f719374f-7e9d-4aa0-a135-37d378018385": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "acd405b5", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!33.4", - "s3_etag": "aef89e85cb51ed6c0094691490e80301", - "sha1": "68915a148308c970a3b5c8a1063d6844783655f7", - "sha256": "13181ebf284ec0f37c5b3f462955d4556b290a392edc286cb617682d19acabe9", - "size": 1927920, - "uuid": "cb9dfc34-c4d2-4e68-9a25-49245b868910", - "version": "2019-07-23T06:47:31.483091Z" - }, - "analysis_file/df814431-6493-4c7a-ae77-f615174cc8f0": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "cdb2f21f", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!33.5", - "s3_etag": "3c7823478b107c60faf0cac2d00f1eca", - "sha1": "3ee9915e028dbb02aba8d36e55ae0471d2e02050", - "sha256": "9562b04f7bdaa8c81b3c4832fbd5728aaab65de6b3839cb2071ba05ad9b282e8", - "size": 1896414, - "uuid": "92cb0a0a-781b-4569-9478-cba38b591eed", - "version": "2019-07-23T06:47:31.863455Z" - }, - "analysis_file/1702dba8-95ac-4222-ab70-4a09c1281f17": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "78dab57b", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!34.0", - "s3_etag": "bf413c1b206083db905195ca47dbf714", - "sha1": "1fe28628a4be1b40ec8350411bc30829245a1628", - "sha256": "6bb125582bcd27ca4d37651d0e489c8e179b62d9b560fdd8f5a61e8aead6a1bd", - "size": 1700552, - "uuid": "23a2818b-2c9c-4dde-a935-9293a101502a", - "version": "2019-07-23T06:47:32.277387Z" - }, - "analysis_file/a4ebbbda-8cf0-4dd3-acf2-935d4b21e635": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "3fde1e83", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!34.1", - "s3_etag": "4637d536ba8c607e2b2544666c7adbbb", - "sha1": "7fe74ace88296b3b6dce32da163b85771917e3e3", - "sha256": "40ba99ddbccffe7e023efd666d25492535bb6b060bd05c2d294526268daea6b2", - "size": 1704294, - "uuid": "3c8a78b6-205e-4807-a51c-e6a5591b4fc9", - "version": "2019-07-23T06:47:32.716984Z" - }, - "analysis_file/8cd2eb55-a0a7-449c-89f6-8955916433f3": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "805cb724", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!34.2", - "s3_etag": "8d5c6054a1aa041b1a1d10b1fe013661", - "sha1": "6a4c47149a8922ba82fd78d5368c33b141896224", - "sha256": "cb713a4319faf0b3283805eac756ff25af78caf1a73651a5ccba2ff398ba52e2", - "size": 1690943, - "uuid": "db1837ff-dba9-4af5-8045-6bd32f68fa69", - "version": "2019-07-23T06:47:33.156265Z" - }, - "analysis_file/980a0a6e-0f00-417f-aaff-a70c28930008": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "6775216a", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!34.3", - "s3_etag": "4bc1d0330290df220f1cf56a50993e04", - "sha1": "764bcffef79a91621b2c229445729eaccdea377e", - "sha256": "2bbcdbdc084dab08a70270fe7f2f9b1565b099708bb53424d7515ae038489426", - "size": 1704975, - "uuid": "2ae6941b-9d25-4de8-90a6-f71eb6bd298a", - "version": "2019-07-23T06:47:33.606952Z" - }, - "analysis_file/8248bc28-ed8e-4445-a3c9-8d86dbef1c33": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ca685f17", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!34.4", - "s3_etag": "ee12de47122949a849cb768b4236fe4b", - "sha1": "b223dd63fe089864cb0fa9e8046c12673582a091", - "sha256": "b991bc73595deeaf0459e1890bfbff5c6ee70a295d160cffd313385c92e98328", - "size": 1708433, - "uuid": "be086e28-7f39-42bd-bfaa-1979f9ded3e5", - "version": "2019-07-23T06:47:33.994054Z" - }, - "analysis_file/28dc1d99-864a-40f3-b352-091bfa830f44": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "5711c0fc", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!34.5", - "s3_etag": "949a334b329ff63844c6e1880612e568", - "sha1": "beb2545b107d017d2ed03be547bddb9efd61d60f", - "sha256": "ac92050c4ac14cf5e39c94de28d9f66e980f8a008d72af0fab9ff96fba45ed5e", - "size": 1713198, - "uuid": "be5c09b1-e923-47d6-af0d-db37f3790293", - "version": "2019-07-23T06:47:34.327155Z" - }, - "analysis_file/2054c82b-ab2d-4f2b-b36d-474ee1967db6": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b1129751", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!35.0", - "s3_etag": "06dad1df26c61c62dd46f2179423f9c2", - "sha1": "d15e2cb019c7a7fe015bdfe32011f341f3df1711", - "sha256": "36823fd3e4e96a2f2047a36df3e09e1020c2a02b9991607af3ed4bb53dc7ccba", - "size": 1681123, - "uuid": "b3320040-5c8b-4604-89a6-194d042b47ca", - "version": "2019-07-23T06:47:34.828084Z" - }, - "analysis_file/2e3fff44-0895-41ee-9fc2-392c60970871": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "f1dbd1ac", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!35.1", - "s3_etag": "0f4b8254bccb58200cb352cf21eb22c7", - "sha1": "eaa65907a255f118ebb4b9ea5b049f40837906c4", - "sha256": "29e7105161a5e75476c7af3aea0a73f70dd70253f0b96ea8ece9907ea8eea7ff", - "size": 1683374, - "uuid": "dd08a6cc-3238-4564-a6d5-af0bdb6d312a", - "version": "2019-07-23T06:47:35.164292Z" - }, - "analysis_file/4b65b43d-3f81-480d-9b56-64f32f05ae4a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "cbc21853", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!35.2", - "s3_etag": "cd41b950e0a3e10850ac48bd3d5c0e2f", - "sha1": "5886ef043cb8329cc1e547b7e315bbb2f3babf3b", - "sha256": "bea665b22235948544c0dc7d0691bc17e76975308622799e7b87c9ac08810e8d", - "size": 1676654, - "uuid": "958037e9-ddd6-4757-b8ff-245a47b6f8c3", - "version": "2019-07-23T06:47:35.538349Z" - }, - "analysis_file/f3a76c83-575b-4632-a199-79d224a41491": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "e83ed80c", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!35.3", - "s3_etag": "0968ba044e27735fd1de97a5a9579d22", - "sha1": "f1f5b9ec0aa133f2284355c336d8a88572ea0b42", - "sha256": "25b1e79f5947e010cbfac25a48ba2beb5cbd2efd22f5f71e40e79479bf3e0b50", - "size": 1683734, - "uuid": "ff3896f9-0108-4323-b41d-c4252eb06e26", - "version": "2019-07-23T06:47:35.933090Z" - }, - "analysis_file/834a3d7f-03c5-4b80-b812-e46c7a41ea85": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "08ba9be4", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!35.4", - "s3_etag": "ec72ec91dc3d113e49957160f1d592c2", - "sha1": "dce5b0511bbffe39151fd242804975550f4fa87d", - "sha256": "15ee1df70dce724860bed17c2f2287ff5e8bc5e471e0dfbdd80af273573e7b8d", - "size": 1685134, - "uuid": "dd247b47-9799-4a0c-a8ca-95c0265256aa", - "version": "2019-07-23T06:47:36.252380Z" - }, - "analysis_file/b96baaa5-a935-4613-a57a-d46680d65024": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "21d2badf", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!35.5", - "s3_etag": "a1572240562a54959eff5bd28752c316", - "sha1": "1cfd2f2b86a8af8a0d933d628ae6b941f48545c9", - "sha256": "77f1fdcee0d6298a03c7d5c82677a21aefd4f8afa7812a186838b0691aa7b2b8", - "size": 1688736, - "uuid": "f3582af7-1997-459f-9119-ab9bfa216617", - "version": "2019-07-23T06:47:36.638471Z" - }, - "analysis_file/0de7c34d-c46d-451c-9cce-456604ff8098": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "e83ade48", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!4.0", - "s3_etag": "163e4f9a729ee251bb6381ae749a8513", - "sha1": "5edece96838a7e0d14dd590dfaea03a69dd26840", - "sha256": "4ac1b5a3070807944703d3d1a49c814073e937c0e3f60cf01c0b6234aca3bab3", - "size": 1707688, - "uuid": "94b0b6f5-6d30-4a5f-82ce-edc16d6dda8e", - "version": "2019-07-23T06:47:37.206809Z" - }, - "analysis_file/27c0877d-17d8-4f7d-8f29-cac03169a134": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "6730c78b", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!4.1", - "s3_etag": "7b8432b28e35fbc5eaed13a7ea41daf0", - "sha1": "52fb7d8688543c29dba705e4969ffbbcc2ba9838", - "sha256": "0033ef03f7112f372eb378fb85e0072c8d89c2dc98d611dd4f820bb3942a2088", - "size": 1713827, - "uuid": "aa0ea8d1-f5d8-4b88-89b0-55deae40cd29", - "version": "2019-07-23T06:47:37.642381Z" - }, - "analysis_file/0c1db26c-7b42-425a-bdc2-e0939594874b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "72afd7ea", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!4.2", - "s3_etag": "44f2ef9d39629ffb651240b0772bfc2b", - "sha1": "e9f59a17dfe38034388530c25be4f2ab861f7497", - "sha256": "f71dcaebd856016ebc68435a92a940cf49b528451b128afd537959f4b6952e2d", - "size": 1698126, - "uuid": "a00c8c5b-a4ea-4638-942f-56e3a0f67c5b", - "version": "2019-07-23T06:47:38.072632Z" - }, - "analysis_file/3edd2d04-d41a-4877-92c0-79f9b81b9d46": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "2620ef1c", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!4.3", - "s3_etag": "64b6a3f7527f9c0e8b804c20c8ad5bbf", - "sha1": "28f3ab78031594a547460d0f8365a14c40c4b317", - "sha256": "bac295ae3b788b5a563eb91ec20b7275153fba4c9583d1430a9f1261591fdea2", - "size": 1713662, - "uuid": "8782dec9-1709-4747-aad0-ed2e3dcb7392", - "version": "2019-07-23T06:47:38.462704Z" - }, - "analysis_file/1874790c-9a17-48ae-ab4f-5608979d337a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "314f7ec0", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!4.4", - "s3_etag": "ec41b2d9990f84defe9179c43bf5b7e2", - "sha1": "1119548a2c8c70dda7088b58e4e594a1c0a6e79c", - "sha256": "e5ae1884fb2789dce642e3cd7c7cf8bbe3f9cd6ae8d833566e8df4e3134231a5", - "size": 1718311, - "uuid": "1626e1bd-8467-43b8-9f74-ee8c3f4483fd", - "version": "2019-07-23T06:47:38.844938Z" - }, - "analysis_file/270f194e-991f-4eee-a3bf-f3558e0875a7": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "312f4c33", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!4.5", - "s3_etag": "7b203c5a916737bc80e146271bf2aee6", - "sha1": "31d2da1e4b60b34b5d5e42afe22ff72e7f6219f4", - "sha256": "e33cc79440892867f5b9586196d67afd234cc1e132678169022cf67a6f695539", - "size": 1722712, - "uuid": "fa1c6fe7-49b4-4744-9f1f-d5e7ac01a289", - "version": "2019-07-23T06:47:39.251078Z" - }, - "analysis_file/d71b2d27-6a8c-4b86-93a8-4c8ed27de03d": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "730b0c04", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!5.0", - "s3_etag": "e7c5440f0934b90087737a566f2e40d4", - "sha1": "4ddc71c0539e233e8a9c010f20b76199e976c15b", - "sha256": "a1930a125d5cf13751bd43312b06549178a1db125c701876d94e6949b02fdfc5", - "size": 2533558, - "uuid": "ef791e77-3a5f-4fed-9ddc-41da23a3f146", - "version": "2019-07-23T06:47:39.694248Z" - }, - "analysis_file/b4eaf58e-77f5-4876-9116-8377b7768301": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "118bf243", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!5.1", - "s3_etag": "2c87e6579e90808a5e0703d49f7a58c2", - "sha1": "351af4b0f4254885461b3e31672cf95ec617ccd4", - "sha256": "73a8a0692de46080a940f2e27b8d7eace2781af95443c89d34342947ada8b2f6", - "size": 2486417, - "uuid": "4e60fb08-0b47-4383-8ae8-5895c8ab1cd7", - "version": "2019-07-23T06:47:40.142075Z" - }, - "analysis_file/2c10bd25-0258-4c0f-891b-27e5335aec37": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "0b5197ae", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!5.2", - "s3_etag": "9ffd0c69208627152cb7f0fe62d7ebb2", - "sha1": "38a8cb973279669ba0b6134d0c78f936a717fa91", - "sha256": "a8fffcc30787c477614876bff1bfdc78fbe16454aeff1f4301f8e642e1e31fe7", - "size": 2419136, - "uuid": "80dedc71-cc99-4ae0-a096-8d8d38208dc1", - "version": "2019-07-23T06:47:40.518514Z" - }, - "analysis_file/e05803d2-29fb-4a42-afe1-9eb173d9f175": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b8925570", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!5.3", - "s3_etag": "ac995211fb887d0bafea9e4b41cf4cd3", - "sha1": "c4da553b0b49484f8c4ddd8d73436bf064557878", - "sha256": "a2f6b71130b3c21f3a4c44c4e28be5edf348895e812b20a8b3e6ba6ad1ce14cf", - "size": 2472019, - "uuid": "51169c46-3b31-4139-827a-bef9fc02a886", - "version": "2019-07-23T06:47:40.929021Z" - }, - "analysis_file/6d20852c-06d3-4187-be32-a6e654480e77": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "8eefbf89", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!5.4", - "s3_etag": "682e13c58029c28731efb85be5667b37", - "sha1": "78863f2a90119d0f0c7d232ff47861486df8b75a", - "sha256": "ecd94a7f4e5c142e13a9ae35c05bf026db938c17a569b918223a7b56a97325c1", - "size": 2518780, - "uuid": "f97216eb-6516-48f8-8fc0-18c4706ee2ce", - "version": "2019-07-23T06:47:41.322488Z" - }, - "analysis_file/a47f0826-d375-4c36-8dfe-e6c7c32f70ac": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ccaa100e", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!5.5", - "s3_etag": "518b29c337f5d1203aa2f8970bd8c036", - "sha1": "2249ccfd1256ad0555f6202186741b25f0620248", - "sha256": "3e66b76a0c6cfcd6d7847dd6c7df50f845bca6779584410ce6bb0f09dcedef46", - "size": 2309275, - "uuid": "3a504801-8a90-420d-af3f-17963813defe", - "version": "2019-07-23T06:47:41.773552Z" - }, - "analysis_file/522e0dca-0892-4f00-9dde-195b754cb0b8": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "fe14d2e1", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!6.0", - "s3_etag": "8842f7c215176b939de3a9f016a10756", - "sha1": "5ac6bc2fa799aa67a6cd7c965e8b3bd4cea782bf", - "sha256": "b837040a020322ce54d39980e74934525bb938b19c8254b563630e045fb285b4", - "size": 2149418, - "uuid": "1c63000b-399e-4701-9847-2cfd109a2a82", - "version": "2019-07-23T06:47:42.317837Z" - }, - "analysis_file/b1217476-441a-44de-ab1b-fbe20d24c3ec": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b58867d7", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!6.1", - "s3_etag": "3373160ffca9d9e42d602a425b69a371", - "sha1": "68985d276c469b6cdd09ab9bb9d7d05229be13be", - "sha256": "488c242509e62454d1636345003e49141cb799db460ca1542481adec2f80ce87", - "size": 2172496, - "uuid": "c5eaca37-4b91-4d73-8f96-51e896d3ba27", - "version": "2019-07-23T06:47:42.671161Z" - }, - "analysis_file/4694137c-7509-4762-bcc0-f930d1e5a271": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b830ca9e", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!6.2", - "s3_etag": "41a2edec77713179cc6cf84b696e0f25", - "sha1": "a56899fd07edd26717de0ffa7d30cc3e9246d923", - "sha256": "156aa01df6b1540515ad953857d3ebac7ad6d7fce13437597d28ffa1be6d6000", - "size": 2060925, - "uuid": "f44fdd12-3dfb-4385-a3fd-27114c2f73ab", - "version": "2019-07-23T06:47:44.073725Z" - }, - "analysis_file/32cc38e3-118e-40e2-96e1-cd92fe3e11aa": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "eafbd528", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!6.3", - "s3_etag": "4bc04c1b521a5b6a66b122071cac4d0d", - "sha1": "8ec8ed80b82afe0c70d66ee1330aa22de93b1568", - "sha256": "cc79f555e0df340ab65681a774a5451e4995f32c2a2787433068feb07e4a8fb6", - "size": 2160765, - "uuid": "b2ca6e3f-b9f6-48b0-9abe-ef213f286a90", - "version": "2019-07-23T06:47:44.599457Z" - }, - "analysis_file/b72b09fc-9e76-40b4-99fe-8227504be200": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "5556eb17", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!6.4", - "s3_etag": "d8d1cee827a0c17758a55378c8c0e9d6", - "sha1": "2f738194872c6c0c2dfdb6d2dee2f41d6753429d", - "sha256": "6f01ad108efe15bfb243128eaf9caa254bf140664d59507b3cacb992ce0c9c9c", - "size": 2201066, - "uuid": "4edc170f-7610-49fd-8e97-b472c60b9c9d", - "version": "2019-07-23T06:47:44.943337Z" - }, - "analysis_file/a5e57712-e3c6-43ec-b0fc-869d9b66396e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "4dc6adbe", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!6.5", - "s3_etag": "86fb2f44bb90dc8feb517c5e1aad0b76", - "sha1": "99d02855e0218c371c120841b9139b418f04fa1e", - "sha256": "76f23edabc2b2dc4cd06a2246e183708bd72ce7431fef96fb31146e5cb5ec77d", - "size": 2104498, - "uuid": "6994ed77-adae-43e4-ada3-8d8d28b9e9b6", - "version": "2019-07-23T06:47:45.452298Z" - }, - "analysis_file/080a1ebc-6d00-48ef-b293-138ef083f47d": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "7445ec00", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!7.0", - "s3_etag": "92b6d8271d3eca22f539e83367490c6a", - "sha1": "bde09dc7bd34fc7ac48ce3f9b99e4d930f3e9c6a", - "sha256": "409ea73a6b6598b7b5002fc517be7451fb1342ac237cf0c2fcf9e19c20e6a256", - "size": 1707874, - "uuid": "ac16dd23-8f27-40bb-a3ae-593bc0faeba6", - "version": "2019-07-23T06:47:45.853088Z" - }, - "analysis_file/9b65eed3-eb7a-4c63-9e8f-aeffa81f1e23": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "12c8a5b7", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!7.1", - "s3_etag": "b092087fd3dc965e20032439e0912ef1", - "sha1": "97f4c953cd60af2ea7ded75587dc193e43cbcb88", - "sha256": "74c31f0272a88e88d81c41c8487cd53605b53b9ac448886ba6d2aeb5f1295922", - "size": 1714971, - "uuid": "18788938-8cb7-483f-b89c-a66cf6884faa", - "version": "2019-07-23T06:47:46.273816Z" - }, - "analysis_file/0919427e-9f5f-4ce3-baf4-e825f86adbec": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "1b31e8fe", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!7.2", - "s3_etag": "c7fc02bcca0dd406dddc59a3bbd610ac", - "sha1": "bb4a0e938e631297115de44ee477be92d8b5cbc3", - "sha256": "44bc94cc1d7650ab3f67f43c847e346551e968c3c7c613c506d037bb0af3d51b", - "size": 1698145, - "uuid": "3b85985f-d0cb-4ae1-9264-6f0a63993860", - "version": "2019-07-23T06:47:46.675391Z" - }, - "analysis_file/890b6a2a-99cc-4e0f-b561-45469acce96f": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b286ff7d", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!7.3", - "s3_etag": "f395e8614f83207a580361becb72a9fb", - "sha1": "ec220a7755970b966df2d24790f5059b97b5c261", - "sha256": "58442e2c20d893f4818e618b2e222ff43cde59515aefa90568740279fd983210", - "size": 1713659, - "uuid": "722f4e75-a94f-4442-b827-72c2006c50d5", - "version": "2019-07-23T06:47:46.995442Z" - }, - "analysis_file/33c48f1d-0909-4e5f-9b41-422c6ab92406": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "eda3bdcd", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!7.4", - "s3_etag": "94c295953fe4cfd6e841be3de75f0268", - "sha1": "bafdbd00b8d78726553a82d7505f1d1d8e1e7a81", - "sha256": "a5fdf3de9c9d94d14e6f6ce39650dd6e4306487864d930b3dbb44b4b536ffd6b", - "size": 1718040, - "uuid": "96a16e4b-c1b0-4868-9509-0c0f9b5c38a8", - "version": "2019-07-23T06:47:47.399949Z" - }, - "analysis_file/c8424e37-f930-4b5c-91b1-93d220968718": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "de05ddf3", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!7.5", - "s3_etag": "7c2fc11718549cb89cb0445c4fbea2e1", - "sha1": "d1ec8f5e8522732afd6d03e14b25658d52786bae", - "sha256": "64423382f910ffd1eb77dbd25accee3078e1cd30210eaf3a3222fcb269cd9a8b", - "size": 1721350, - "uuid": "f55528c7-b4de-4c4d-94ed-ba3d7dae41da", - "version": "2019-07-23T06:47:48.037766Z" - }, - "analysis_file/263cef0c-aac2-4dee-861d-50c74a116b97": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "cbce6c29", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!8.0", - "s3_etag": "d6d38094b220ce7146d37822180223b2", - "sha1": "7b7f13f39bdd13471c753a0b2a08da3e9a7d411b", - "sha256": "462e0b2c76c19415603a693de40ae0b80771978d561879ee54f7884c513bbff2", - "size": 2651584, - "uuid": "4eb22c65-9131-4971-99f8-2ce610106f2e", - "version": "2019-07-23T06:47:48.547348Z" - }, - "analysis_file/8bbac3b8-17b8-48cb-8a08-4bd10da0d852": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "85b20ac1", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!8.1", - "s3_etag": "816c47b0cd6a6a4e352f94a8e564c72a", - "sha1": "450af2411a7cada9ebdbb000556ffbd086950df8", - "sha256": "759f7447a1f98b5ac4ced9405b0b0b89f5ab12d9c961fe7c5301488e5ddc4068", - "size": 2597023, - "uuid": "5f876361-655e-4944-b86d-843420050852", - "version": "2019-07-23T06:47:49.016914Z" - }, - "analysis_file/ed54d68f-ec20-4925-8096-1aa7a2219166": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "bec0c06d", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!8.2", - "s3_etag": "0ae63ce89090cd0eef4c283f4d3c906f", - "sha1": "bbd0c98521fcba71116e4c2d342008be2ba60f07", - "sha256": "d2c30aa95d9fa9f5e463d3d9fb06152c6057f8f624067722efc1da98cbb1a81d", - "size": 2518852, - "uuid": "4da368ef-a405-428e-bebf-0dc82fe5b3a6", - "version": "2019-07-23T06:47:49.491920Z" - }, - "analysis_file/26e09825-41c0-47a3-b88e-b3bdda55a64d": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "4e771b6f", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!8.3", - "s3_etag": "3370fd6b2fb0547d21ee454fc469a0f3", - "sha1": "09cc0dfb54d386bb6147c75a2efa4db0301117fa", - "sha256": "f531803962628a433d49a99c241e8918fdaaac237f3c7df6eda0f0d9746ebe5b", - "size": 2582357, - "uuid": "8977459a-1fc9-4eae-a5eb-925a66bcec8e", - "version": "2019-07-23T06:47:49.892996Z" - }, - "analysis_file/624ae45a-e684-484f-b35c-96c68f1c2818": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "941e5668", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!8.4", - "s3_etag": "52136f3968b91dea2f817a486f0dcabe", - "sha1": "aa352261460f3f030c15a61699268b04c7ee42e1", - "sha256": "3ba7b414e894fbbbfb9fca2cb395d504075eaa2e8aea4a557f0d220d463f4626", - "size": 2632438, - "uuid": "ebba8b03-b25f-4997-9dde-f57b6489d2ad", - "version": "2019-07-23T06:47:50.371389Z" - }, - "analysis_file/fe5c88b4-687b-4b66-87f0-271deb195aaf": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "16a670c8", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!8.5", - "s3_etag": "dd666c7c8da5f6c563890c55dda66e18", - "sha1": "0d350f97fea66c17d298d40573ea697985f52096", - "sha256": "cb8c9f8f4154da9b82c7839bfa4d2c455b28625f23108f6de5f130c7746ad170", - "size": 2396935, - "uuid": "5f6f6034-26fe-43ef-a294-d5f42d43f126", - "version": "2019-07-23T06:47:51.043429Z" - }, - "analysis_file/1ff25469-3040-497c-a2ad-ddfcbfa56e81": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "3545647d", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!9.0", - "s3_etag": "2023eec7376433fc4b9077c201da8e09", - "sha1": "96a05a6ebd4ddc3ee2944239b0084cb13c8e82c7", - "sha256": "7ff337de412808e225eb282ba7cb4d99986c1e68d903536992c8c67a4604d69e", - "size": 2059235, - "uuid": "ccfba6e3-cd04-43bf-9468-7e82aa2d00b4", - "version": "2019-07-23T06:47:51.425739Z" - }, - "analysis_file/a4e098fe-d251-4eff-a6c4-1516c3db5f45": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "98eda808", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!9.1", - "s3_etag": "55d689f8477de31060ae94128e0d8752", - "sha1": "eb3e3835172b0263bb820427b12dc2d182e11498", - "sha256": "1b47914cb7e9d5c9e57adbc9f1a6e88a618e732aad979a0bda10efc9b66f7dce", - "size": 2090075, - "uuid": "df634a2c-dd8f-43ab-8b26-b59d58db3231", - "version": "2019-07-23T06:47:51.907489Z" - }, - "analysis_file/45c524c7-9f61-4fd7-a188-73f2b2f222fe": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "46047a68", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!9.2", - "s3_etag": "887ef26107077c16b49a5062c54fda7a", - "sha1": "7306f3be312a167ffaa37e2b292737153306865d", - "sha256": "5feb337904299c352fed6a98ec360bf8159976c6025846828cbcc98f494d1ba5", - "size": 1984809, - "uuid": "332f19a1-674c-4b4a-97bc-3a057ab1cd0d", - "version": "2019-07-23T06:47:52.384778Z" - }, - "analysis_file/a66b12e3-22e0-46b5-8431-49cae2781fa3": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "bdc205dc", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!9.3", - "s3_etag": "ab3875d329678e0158e58771c7e16c21", - "sha1": "3220549e187f3668b5adffe5a8889a1f9c102633", - "sha256": "c2dd69d6985d5ddf890fdca43f089ca77909950f4d8ca58967974ad0bab32235", - "size": 2078050, - "uuid": "f2791053-6c47-499b-abca-f39a8fd00c68", - "version": "2019-07-23T06:47:52.923690Z" - }, - "analysis_file/d4c479b7-3fa9-45f9-b5dd-d566c069e0b0": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "7f2f5dfe", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!9.4", - "s3_etag": "24cead148babb0443fc153077506188d", - "sha1": "cf7f29892dce1db0963acdee11d9abbbca2c3c33", - "sha256": "6fb49ad5ccf081d2b7a2568187f4ccfe112145d6abf8fd7517f07024786a47ab", - "size": 2113103, - "uuid": "f3486d97-41ea-472a-9dde-aaf3545cd0d1", - "version": "2019-07-23T06:47:53.309857Z" - }, - "analysis_file/9ea49dbc-aeec-4c23-89ad-6bb19dc4f3f8": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b1081c50", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!9.5", - "s3_etag": "3bc0d3b736d293fa27877f6d6f81755d", - "sha1": "4993d56a48390576567143ce42c1659fd01ae789", - "sha256": "2b272968df10156d18e87aecb5704577f68dea4ce40d3f0e37b63292442f1982", - "size": 2042042, - "uuid": "0c11e393-794d-4a55-942e-fd50c596f301", - "version": "2019-07-23T06:47:53.709271Z" - }, - "analysis_file/0a06b519-54a2-4fe6-a0b9-ced484f2ee88": { - "content-type": "application/json; dcp-type=data", - "crc32c": "9a99ecc3", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!.zarray", - "s3_etag": "0a5a5a7f2a455a2b51145476565fc625", - "sha1": "50d8c773cbf93069892330a08d3742c8e8efea49", - "sha256": "4ec433fce2f34dd97964458382d2069330aa5ff64b048b0b2c748621e9b972b3", - "size": 319, - "uuid": "834adf55-3e83-43a9-8ea9-af9ce5d98993", - "version": "2019-07-23T06:47:54.151361Z" - }, - "analysis_file/09e2872a-e14e-4278-90d9-0272bf674ade": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "57a3b717", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!0", - "s3_etag": "5b7456f09a0e23464d09e0bf506fb157", - "sha1": "a9230a037b1f9a2212eecf6b5dba361bc63ed0c5", - "sha256": "d48cef90142d4521e00c0bcf6afe172ba433b3df7ddb5645a9556d1ceb9481e8", - "size": 75981, - "uuid": "b9363e85-7be6-48c8-8790-c78667dbe609", - "version": "2019-07-23T06:47:54.346452Z" - }, - "analysis_file/4531af8b-472e-4305-8584-136a6139136e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "9c762390", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!1", - "s3_etag": "22c9bffe902fb39cd022f675070f144b", - "sha1": "076dc983ce54bd5f519d85e3a03a6d3ac375528e", - "sha256": "255d599e51f33f009a14b5d403883b24d24289ae4933f946f20c3aa562f82acc", - "size": 75389, - "uuid": "fc3e92d8-6c97-48e8-bd91-99512b0021e7", - "version": "2019-07-23T06:47:54.704868Z" - }, - "analysis_file/a21642da-c606-4318-9923-04fef26563c7": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "0206401a", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!2", - "s3_etag": "f465dab4475d7d5a4c621b220d98c9e3", - "sha1": "e536588c257e21d324c871d68acbc8cd7875feab", - "sha256": "63333ffae890d18a4381c043729c45ce227891edbb811199d807f5d7b8e05ec8", - "size": 75227, - "uuid": "53297e9b-7b98-416e-abf0-50032c3f4add", - "version": "2019-07-23T06:47:55.202986Z" - }, - "analysis_file/cfe7e5fb-90ab-4a31-990f-ebae50e1ac55": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "99257cce", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!3", - "s3_etag": "16306768d3708f99eba831ebe96eac6b", - "sha1": "fbdbc1d8636e6c4dcebaaf2179f964431f73dd40", - "sha256": "fbf03339ff4ec126459c54bea235dd5906bdae6f2f90759f0559a5c7c3b8d121", - "size": 74488, - "uuid": "8b333a35-0b8b-4d9b-8787-0980a7eea302", - "version": "2019-07-23T06:47:55.980431Z" - }, - "analysis_file/9e37e92f-fc60-4b1b-807a-b68b332ec42e": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "ed5bf4ca", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!4", - "s3_etag": "1166032fff82b661201a927521e973db", - "sha1": "d36a9fd0194a40cfd9d93cefee3ebdc90500de18", - "sha256": "cc35b47378895e0aacf3eedd1d88e7cbff04d569269ec0fe5a6c5e2fda42cb9a", - "size": 74823, - "uuid": "cacaaaad-4641-4d20-a0fa-4c8fef185954", - "version": "2019-07-23T06:47:56.337114Z" - }, - "analysis_file/0a138e45-159d-45ff-afe2-5615cd29e0c3": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "abafda96", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!5", - "s3_etag": "ff51b46ccc3c96fd973cfe77d56387d3", - "sha1": "698d4f9b0a00ae61498d1ec2c9ad40e075cc2dc5", - "sha256": "e72d33dd51d9cb5d89f3d1bed30d9c32336282c12a57fb3d189ce62089560d7f", - "size": 64457, - "uuid": "9be3470a-eca8-430a-97a3-66ca439f2e6f", - "version": "2019-07-23T06:47:56.708480Z" - }, - "analysis_file/4a4baaee-a014-4f01-8796-a78c53d26ff3": { - "content-type": "application/json; dcp-type=data", - "crc32c": "6d0d549c", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_numeric!.zarray", - "s3_etag": "bb254a9b6b754fe8487f46af282db8b9", - "sha1": "100fb43ca977b1d21486ef91a82f9205fd669430", - "sha256": "1556f36aa2783e0c71faea5f30b250343af2ae78909e208275369b14baf6bba1", - "size": 343, - "uuid": "6f8fb6e8-3d16-4969-b063-5f294704319d", - "version": "2019-07-23T06:47:57.047868Z" - }, - "analysis_file/ddb54f6b-6286-443d-854e-5cbdd3e73ac9": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "c803cedd", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_numeric!0.0", - "s3_etag": "ff906bcb856371d8da4857a2de6e3e96", - "sha1": "ab7a4e2c426aff400e3ba313c187b3b1f2820b3b", - "sha256": "1516a723f3475944405b06f03715faf658e8ce4f6ae0d9f3932259e4c4742e50", - "size": 1953867, - "uuid": "3caf15af-7a55-4315-bf8b-61fcdc56f5e4", - "version": "2019-07-23T06:47:57.298066Z" - }, - "analysis_file/82bdd527-5c90-4baa-9970-9067a2c1f7d1": { - "content-type": "application/json; dcp-type=data", - "crc32c": "267e1076", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_numeric_name!.zarray", - "s3_etag": "a62505bf05e68e1ee908966c5fec8ac4", - "sha1": "5d4391fb2aacac1546fe5c13bd3d7878272324c0", - "sha256": "c6a6b2b5a4f4c248e550728cd4470c97280639834dea4b8aa3072df97d9ca6f2", - "size": 313, - "uuid": "3dca724e-c8a3-409f-8677-cc1e0d8f778d", - "version": "2019-07-23T06:47:57.647335Z" - }, - "analysis_file/c3feea3c-fcf6-46f5-93db-dd54433e3cf4": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "079024a6", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_numeric_name!0", - "s3_etag": "ebd84e314b93045c25ab75d0daddf22c", - "sha1": "042d7eb433779e3aeb34f2c3240a10d480b03e40", - "sha256": "ccf4160dfbff4a0798cf2077056f375410746969f89c29c662906973a2dc7dbd", - "size": 996, - "uuid": "491234c2-baa0-4993-a567-49261d845624", - "version": "2019-07-23T06:47:57.825885Z" - }, - "analysis_file/ff3620c9-5c36-48c0-a4ec-937fd585636e": { - "content-type": "application/json; dcp-type=data", - "crc32c": "f629ec34", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_string!.zarray", - "s3_etag": "7249f898b5544927811b451d75aeed46", - "sha1": "f515b139f1aa08a62318482c60f03f24f3aa6d1a", - "sha256": "5c65571866242de9ca10a299eb14d239d5c5c5f4538835b2df600bb212076083", - "size": 341, - "uuid": "5f243f46-c947-493d-a389-3356166a5707", - "version": "2019-07-23T06:47:58.045247Z" - }, - "analysis_file/e727ebf7-276b-4704-801d-cd2f3b81a5c5": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "fd9bdce9", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_string!0.0", - "s3_etag": "0b55458af6b7443161281bfee9913036", - "sha1": "d178e2d1835a7f9517e44de4b497d6dd9788d56f", - "sha256": "086708735803af81e7eeebad0158dd38683fab9ec2ac6f743784b393899e2dce", - "size": 582058, - "uuid": "bf7b14e1-d60e-4a75-abd7-7288c632ab45", - "version": "2019-07-23T06:47:58.214112Z" - }, - "analysis_file/fab74ba6-81c8-4d8c-b8c3-9b82e31f5b9f": { - "content-type": "application/json; dcp-type=data", - "crc32c": "f35d7e55", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_string_name!.zarray", - "s3_etag": "adf52f6446cf3395b891614c2cf2372a", - "sha1": "9fd2e280f325ed95273798729cf3129d5f31a55d", - "sha256": "2fa6969421abba6ad8f00f603ec90614fddf2fdea2fbe05def7e279ccc753b94", - "size": 311, - "uuid": "682d732e-eaec-4df4-b03c-1f43a4504951", - "version": "2019-07-23T06:47:59.076189Z" - }, - "analysis_file/2b264ded-d29d-43e2-8288-26ab7ab1406b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "6d2df55e", - "indexed": false, - "name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_string_name!0", - "s3_etag": "1f9cd083c277c6e7392c11a337d957bb", - "sha1": "9e77a9a6621c1ff1485ee13a76a7c40c1813156f", - "sha256": "469f21fdd15fb114d036dba43884e5239f2a940e707121ed49c5e4fae3365362", - "size": 67, - "uuid": "4dd0cd99-6901-49a4-b287-de8b21e31a93", - "version": "2019-07-23T06:47:59.254679Z" - }, - "analysis_file/86db2ba1-16df-4d73-afea-18148d4e7faa": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "886c277d", - "indexed": false, - "name": "empty_drops_result.csv", - "s3_etag": "18d1a285fe98f2bbdd63e14c2bac6af2", - "sha1": "35e8df96f1b5994d8b302e845863dbd0fc51aa81", - "sha256": "b3e99871dc38382e440473adb307127fc75729e1dbfb2603cbc54cde80730283", - "size": 20012225, - "uuid": "b9541a8c-8989-44fe-972b-0aa98a409f68", - "version": "2019-07-23T06:47:59.463261Z" - }, - "sequence_file/3f193e72-8efe-4c2a-ace1-79140ca36477": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "64e45095", - "indexed": false, - "name": "BoneMarrow_CD34_2_IGO_07861_2_S2_L001_R1_001.fastq.gz", - "s3_etag": "0079490037e041fb9d932ad860b8b254-41", - "sha1": "dc8b8fccf633bf32c9cda8e5d0cab404ee73b6df", - "sha256": "8dc8186925bf0b0476978e65e5b25fe60a1ebaa6e0d5dd4f0213f66721c0af21", - "size": 2700756088, - "uuid": "d879f732-d8d4-4251-a2ca-a91a852a034b", - "version": "2019-07-18T21:29:49.534039Z" - }, - "sequence_file/078b71eb-220a-43e5-a0fc-4f231e90f85f": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "7046ca69", - "indexed": false, - "name": "BoneMarrow_CD34_2_IGO_07861_2_S2_L001_R2_001.fastq.gz", - "s3_etag": "be07c9a9be1718f2328f9264a75baac2-143", - "sha1": "83fa93f975ac3515231196f513ea901a57fbbc07", - "sha256": "90d5bd195dbcdfb54a6b4eb42f4c3fce68ba235b53a0476526448d0867d18e5e", - "size": 9569751310, - "uuid": "1e14d503-31b1-4db6-82ba-f8d83bd85b9b", - "version": "2019-07-18T21:29:49.697974Z" - } - }, - "metadata": { - "cell_suspension/13eab62e-0038-4997-aeab-aa3192cc090e": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.1.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HS_BM_P3_cells_2", - "biomaterial_name": "CD34+ sorted cells from human bone marrow", - "ncbi_taxon_id": [ - 9606 - ] - }, - "cell_morphology": { - "cell_morphology": "Cells in suspension are generally spherical in shape", - "percent_cell_viability": 97.0, - "cell_viability_method": "Countess II trypan blue assay", - "cell_viability_result": "pass" - }, - "growth_conditions": { - "passage_number": 0, - "growth_medium": "IMDM+10%FBS" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "selected_cell_types": [ - { - "ontology_label": "CD34-positive, CD38-negative hematopoietic stem cell", - "text": "CD34-positive, CD38-negative hematopoietic stem cell", - "ontology": "CL:0001024" - } - ], - "estimated_cell_count": 125000, - "provenance": { - "document_id": "13eab62e-0038-4997-aeab-aa3192cc090e", - "submission_date": "2019-07-18T21:12:39.819Z", - "update_date": "2019-07-18T21:12:44.344Z" - } - }, - "cell_line/4ccd163e-a630-4ede-bc0c-336ba044b783": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/14.3.1/cell_line", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HS_BM_3_cell_line", - "biomaterial_name": "Bone Marrow CD34+ stem/progenitor cells", - "ncbi_taxon_id": [ - 9606 - ] - }, - "supplier": "AllCells, LLC", - "catalog_number": "ABM022F", - "catalog_url": "https://www.allcells.com/products/bone-marrow-cd34-stem-progenitor-cells", - "type": "stem cell", - "cell_type": { - "ontology_label": "CD34-positive, CD38-negative hematopoietic stem cell", - "text": "CD34-positive, CD38-negative hematopoietic stem cell", - "ontology": "CL:0001024" - }, - "date_established": "2017-06-22", - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "model_organ": { - "text": "hematopoietic tissue", - "ontology": "UBERON:0002390", - "ontology_label": "hematopoietic system" - }, - "provenance": { - "document_id": "4ccd163e-a630-4ede-bc0c-336ba044b783", - "submission_date": "2019-07-18T21:12:39.776Z", - "update_date": "2019-07-18T21:12:44.526Z" - } - }, - "specimen_from_organism/92254a9e-3a14-4760-b229-d914f3e8973f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.2.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HS_BM_3_specimen", - "biomaterial_name": "bone marrow specimen", - "biomaterial_description": "Female 19 YO bone marrow specimen", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organ": { - "ontology_label": "hematopoietic system", - "text": "hematopoietic tissue", - "ontology": "UBERON:0002390" - }, - "organ_parts": [ - { - "text": "bone marrow", - "ontology": "UBERON:0002371" - } - ], - "preservation_storage": { - "storage_method": "frozen in liquid nitrogen", - "preservation_method": "cryopreservation of live cells in liquid nitrogen" - }, - "collection_time": "2017-06-22T00:00:00Z", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "provenance": { - "document_id": "92254a9e-3a14-4760-b229-d914f3e8973f", - "submission_date": "2019-07-18T21:12:39.756Z", - "update_date": "2019-07-18T21:12:44.655Z" - } - }, - "donor_organism/39d1a24f-1785-476d-9c04-065be917e3ff": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.3.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "HS_BM_3", - "biomaterial_name": "BM_donor_3", - "biomaterial_description": "AllCells Female 19 YO Bone Marrow Donor", - "ncbi_taxon_id": [ - 9606 - ] - }, - "human_specific": { - "ethnicity": [ - { - "text": "European", - "ontology_label": "European", - "ontology": "HANCESTRO:0005" - } - ] - }, - "medical_history": { - "medication": "None", - "smoking_history": "No", - "test_results": "HIV, HBV, HCV: Negative" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606" - } - ], - "organism_age": "19", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036" - }, - "development_stage": { - "text": "adult", - "ontology_label": "human adult stage", - "ontology": "HsapDv:0000087" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461" - } - ], - "height": "1.62", - "height_unit": { - "text": "meter", - "ontology": "UO:0000008" - }, - "is_living": "yes", - "sex": "female", - "weight": "61.7", - "weight_unit": { - "text": "kilogram", - "ontology": "UO:0000009" - }, - "provenance": { - "document_id": "39d1a24f-1785-476d-9c04-065be917e3ff", - "submission_date": "2019-07-18T21:12:39.737Z", - "update_date": "2019-07-18T21:12:44.591Z" - } - }, - "analysis_file/2afae9e4-be02-4d57-bc44-24931f71d54c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "merged-cell-metrics.csv.gz", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "2afae9e4-be02-4d57-bc44-24931f71d54c", - "submission_date": "2019-07-23T05:06:06.201Z", - "update_date": "2019-07-23T06:01:49.789Z" - } - }, - "analysis_file/7a42f079-a318-4975-9d91-8f1e816531de": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "sparse_counts.npz", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "7a42f079-a318-4975-9d91-8f1e816531de", - "submission_date": "2019-07-23T05:06:06.374Z", - "update_date": "2019-07-23T06:01:40.777Z" - } - }, - "analysis_file/aaaf3d7b-9602-4d74-aa6f-b429e1e8b8ef": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "sparse_counts_col_index.npy", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "aaaf3d7b-9602-4d74-aa6f-b429e1e8b8ef", - "submission_date": "2019-07-23T05:06:06.547Z", - "update_date": "2019-07-23T06:01:46.778Z" - } - }, - "analysis_file/433f86ab-0a07-4f8c-ac18-b4dec37fa434": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "sparse_counts_row_index.npy", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "433f86ab-0a07-4f8c-ac18-b4dec37fa434", - "submission_date": "2019-07-23T05:06:06.721Z", - "update_date": "2019-07-23T06:01:43.781Z" - } - }, - "analysis_file/5ec54ddd-c6d7-4ae6-a822-94720c7bdbd1": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "merged-gene-metrics.csv.gz", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "5ec54ddd-c6d7-4ae6-a822-94720c7bdbd1", - "submission_date": "2019-07-23T05:06:06.892Z", - "update_date": "2019-07-23T06:01:49.790Z" - } - }, - "analysis_file/b7890117-4733-4979-91ec-ba0208e088e9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "merged.bam", - "format": "bam" - }, - "schema_type": "file", - "provenance": { - "document_id": "b7890117-4733-4979-91ec-ba0208e088e9", - "submission_date": "2019-07-23T05:06:07.076Z", - "update_date": "2019-07-23T06:04:25.799Z" - } - }, - "analysis_file/5350b852-077e-43e3-885b-d1b37b3d7a6e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!.zattrs", - "format": "matrix" - }, - "schema_type": "file", - "provenance": { - "document_id": "5350b852-077e-43e3-885b-d1b37b3d7a6e", - "submission_date": "2019-07-23T05:06:07.248Z", - "update_date": "2019-07-23T06:01:55.805Z" - } - }, - "analysis_file/2c0bc0eb-739f-42ea-a5df-7d2943977fab": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!.zgroup", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "2c0bc0eb-739f-42ea-a5df-7d2943977fab", - "submission_date": "2019-07-23T05:06:07.418Z", - "update_date": "2019-07-23T06:01:55.805Z" - } - }, - "analysis_file/93153632-bf8c-49bb-a283-00957c7f853c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!.zgroup", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "93153632-bf8c-49bb-a283-00957c7f853c", - "submission_date": "2019-07-23T05:06:07.587Z", - "update_date": "2019-07-23T06:01:58.777Z" - } - }, - "analysis_file/01d206e5-47b4-48dd-b823-74e62e2325d1": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!.zarray", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "01d206e5-47b4-48dd-b823-74e62e2325d1", - "submission_date": "2019-07-23T05:06:07.757Z", - "update_date": "2019-07-23T06:02:01.788Z" - } - }, - "analysis_file/752857d0-35f9-46fa-9888-fde25f21195b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "752857d0-35f9-46fa-9888-fde25f21195b", - "submission_date": "2019-07-23T05:06:07.930Z", - "update_date": "2019-07-23T06:02:01.788Z" - } - }, - "analysis_file/ded3278c-98d4-43d1-81ce-5233f7123842": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "ded3278c-98d4-43d1-81ce-5233f7123842", - "submission_date": "2019-07-23T05:06:08.117Z", - "update_date": "2019-07-23T06:02:04.780Z" - } - }, - "analysis_file/2e205f24-56cc-40ec-81b1-c17ebd0a5047": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!10", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "2e205f24-56cc-40ec-81b1-c17ebd0a5047", - "submission_date": "2019-07-23T05:06:08.289Z", - "update_date": "2019-07-23T06:02:07.788Z" - } - }, - "analysis_file/cc486886-d9a2-44e6-8bf3-84a84c035ff6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!11", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "cc486886-d9a2-44e6-8bf3-84a84c035ff6", - "submission_date": "2019-07-23T05:06:08.460Z", - "update_date": "2019-07-23T06:02:07.788Z" - } - }, - "analysis_file/20ac4de0-bb12-4f99-9e54-bd6f284c741a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!12", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "20ac4de0-bb12-4f99-9e54-bd6f284c741a", - "submission_date": "2019-07-23T05:06:08.638Z", - "update_date": "2019-07-23T06:02:10.780Z" - } - }, - "analysis_file/d6ccfc37-bccb-463f-bd96-53accf9b5803": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!13", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "d6ccfc37-bccb-463f-bd96-53accf9b5803", - "submission_date": "2019-07-23T05:06:08.813Z", - "update_date": "2019-07-23T06:02:13.790Z" - } - }, - "analysis_file/12c88fdb-2350-498c-a51c-6f93fad50621": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!14", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "12c88fdb-2350-498c-a51c-6f93fad50621", - "submission_date": "2019-07-23T05:06:08.986Z", - "update_date": "2019-07-23T06:02:13.790Z" - } - }, - "analysis_file/bf4431ba-80da-468c-852b-7dbe008519f6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!15", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "bf4431ba-80da-468c-852b-7dbe008519f6", - "submission_date": "2019-07-23T05:06:09.165Z", - "update_date": "2019-07-23T06:02:16.783Z" - } - }, - "analysis_file/4018b8da-201c-423b-a26a-737549674742": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!16", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4018b8da-201c-423b-a26a-737549674742", - "submission_date": "2019-07-23T05:06:09.339Z", - "update_date": "2019-07-23T06:02:19.796Z" - } - }, - "analysis_file/8be955e9-eb4e-4834-8576-0fd7ba1c672d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!17", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "8be955e9-eb4e-4834-8576-0fd7ba1c672d", - "submission_date": "2019-07-23T05:06:09.509Z", - "update_date": "2019-07-23T06:02:19.796Z" - } - }, - "analysis_file/291bc053-766d-4b04-aa69-53a7d6a05366": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!18", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "291bc053-766d-4b04-aa69-53a7d6a05366", - "submission_date": "2019-07-23T05:06:09.680Z", - "update_date": "2019-07-23T06:02:22.785Z" - } - }, - "analysis_file/80b4596c-4047-40f7-8e90-d7ba13c3aba4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!19", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "80b4596c-4047-40f7-8e90-d7ba13c3aba4", - "submission_date": "2019-07-23T05:06:09.852Z", - "update_date": "2019-07-23T06:02:25.790Z" - } - }, - "analysis_file/bd8f069d-1b75-4f7d-b10a-55efe37e4625": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "bd8f069d-1b75-4f7d-b10a-55efe37e4625", - "submission_date": "2019-07-23T05:06:10.021Z", - "update_date": "2019-07-23T06:02:25.793Z" - } - }, - "analysis_file/287203a8-b15c-4fc9-ade7-4bfa9b4928e7": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!20", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "287203a8-b15c-4fc9-ade7-4bfa9b4928e7", - "submission_date": "2019-07-23T05:06:10.200Z", - "update_date": "2019-07-23T06:02:28.787Z" - } - }, - "analysis_file/3574966b-2810-45e2-8a1f-bb20a183d9c2": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!21", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "3574966b-2810-45e2-8a1f-bb20a183d9c2", - "submission_date": "2019-07-23T05:06:10.368Z", - "update_date": "2019-07-23T06:02:31.794Z" - } - }, - "analysis_file/5a2aa294-f923-4331-98c0-e9556263252e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!22", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "5a2aa294-f923-4331-98c0-e9556263252e", - "submission_date": "2019-07-23T05:06:10.539Z", - "update_date": "2019-07-23T06:02:31.794Z" - } - }, - "analysis_file/1e84fd86-6cd6-4533-8b48-cd314820e9a9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!23", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "1e84fd86-6cd6-4533-8b48-cd314820e9a9", - "submission_date": "2019-07-23T05:06:10.714Z", - "update_date": "2019-07-23T06:02:34.788Z" - } - }, - "analysis_file/058de439-51f8-47d4-8e63-c98ea902e527": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!24", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "058de439-51f8-47d4-8e63-c98ea902e527", - "submission_date": "2019-07-23T05:06:10.890Z", - "update_date": "2019-07-23T06:02:34.787Z" - } - }, - "analysis_file/f7ab60fb-4ffb-43d5-8ce3-1ce6559d97b5": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!25", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f7ab60fb-4ffb-43d5-8ce3-1ce6559d97b5", - "submission_date": "2019-07-23T05:06:11.068Z", - "update_date": "2019-07-23T06:02:40.781Z" - } - }, - "analysis_file/f42e5e79-a8a9-425d-a4bb-b1e3b166f3d4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!26", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f42e5e79-a8a9-425d-a4bb-b1e3b166f3d4", - "submission_date": "2019-07-23T05:06:11.260Z", - "update_date": "2019-07-23T06:02:43.793Z" - } - }, - "analysis_file/2c0a6b30-a4f7-4edf-86b3-bf344e895893": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!27", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "2c0a6b30-a4f7-4edf-86b3-bf344e895893", - "submission_date": "2019-07-23T05:06:11.442Z", - "update_date": "2019-07-23T06:02:43.793Z" - } - }, - "analysis_file/80224b34-0cab-4b02-95db-99573c3aaf4d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!28", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "80224b34-0cab-4b02-95db-99573c3aaf4d", - "submission_date": "2019-07-23T05:06:11.620Z", - "update_date": "2019-07-23T06:02:46.787Z" - } - }, - "analysis_file/48ca6e39-74f8-458e-8233-7e310a873f1d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!29", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "48ca6e39-74f8-458e-8233-7e310a873f1d", - "submission_date": "2019-07-23T05:06:11.803Z", - "update_date": "2019-07-23T06:02:49.788Z" - } - }, - "analysis_file/0e722000-9c5a-409e-b113-6f1382317a61": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "0e722000-9c5a-409e-b113-6f1382317a61", - "submission_date": "2019-07-23T05:06:11.973Z", - "update_date": "2019-07-23T06:02:49.789Z" - } - }, - "analysis_file/b4038c93-a07c-4573-8d5a-0428fb766db0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!30", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "b4038c93-a07c-4573-8d5a-0428fb766db0", - "submission_date": "2019-07-23T05:06:12.144Z", - "update_date": "2019-07-23T06:02:52.782Z" - } - }, - "analysis_file/c847ae70-af73-4294-bbdc-b0ac1f10fcc3": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!31", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "c847ae70-af73-4294-bbdc-b0ac1f10fcc3", - "submission_date": "2019-07-23T05:06:12.315Z", - "update_date": "2019-07-23T06:02:55.793Z" - } - }, - "analysis_file/0074fd7c-1c4a-45bb-9a3e-f27f4d66d9d8": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!32", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "0074fd7c-1c4a-45bb-9a3e-f27f4d66d9d8", - "submission_date": "2019-07-23T05:06:12.484Z", - "update_date": "2019-07-23T06:02:55.793Z" - } - }, - "analysis_file/fb66bdf7-df50-4ef1-8c11-e643afc4e1a2": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!33", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "fb66bdf7-df50-4ef1-8c11-e643afc4e1a2", - "submission_date": "2019-07-23T05:06:12.654Z", - "update_date": "2019-07-23T06:02:58.790Z" - } - }, - "analysis_file/981391eb-6ed5-4f38-8b50-99c49db205dc": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!34", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "981391eb-6ed5-4f38-8b50-99c49db205dc", - "submission_date": "2019-07-23T05:06:12.826Z", - "update_date": "2019-07-23T06:02:58.790Z" - } - }, - "analysis_file/7f9e2c6c-abfa-46f6-84bf-c7957c2e25b5": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!35", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "7f9e2c6c-abfa-46f6-84bf-c7957c2e25b5", - "submission_date": "2019-07-23T05:06:13Z", - "update_date": "2019-07-23T06:03:01.786Z" - } - }, - "analysis_file/182fa5c6-b762-414d-8117-d1b7fd6b554a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "182fa5c6-b762-414d-8117-d1b7fd6b554a", - "submission_date": "2019-07-23T05:06:13.171Z", - "update_date": "2019-07-23T06:03:04.795Z" - } - }, - "analysis_file/00689444-5c04-4d33-bc48-bf9412382086": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "00689444-5c04-4d33-bc48-bf9412382086", - "submission_date": "2019-07-23T05:06:13.343Z", - "update_date": "2019-07-23T06:03:04.795Z" - } - }, - "analysis_file/80168b45-6e50-4385-902a-b9da569f272b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!6", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "80168b45-6e50-4385-902a-b9da569f272b", - "submission_date": "2019-07-23T05:06:13.513Z", - "update_date": "2019-07-23T06:03:07.787Z" - } - }, - "analysis_file/63731ed9-61dd-4e32-9696-89b7c4778819": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!7", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "63731ed9-61dd-4e32-9696-89b7c4778819", - "submission_date": "2019-07-23T05:06:13.685Z", - "update_date": "2019-07-23T06:03:10.795Z" - } - }, - "analysis_file/cd4c3355-1e7f-4e6f-989b-b067bcd257d9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!8", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "cd4c3355-1e7f-4e6f-989b-b067bcd257d9", - "submission_date": "2019-07-23T05:06:13.855Z", - "update_date": "2019-07-23T06:03:10.795Z" - } - }, - "analysis_file/12499e08-3eda-42f6-97f1-bb5e6d6b2dc4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_id!9", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "12499e08-3eda-42f6-97f1-bb5e6d6b2dc4", - "submission_date": "2019-07-23T05:06:14.025Z", - "update_date": "2019-07-23T06:03:13.792Z" - } - }, - "analysis_file/d0247302-2653-423d-9945-b160f29a6658": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_metadata_numeric!.zarray", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "d0247302-2653-423d-9945-b160f29a6658", - "submission_date": "2019-07-23T05:06:14.197Z", - "update_date": "2019-07-23T06:03:13.793Z" - } - }, - "analysis_file/fe8110a2-8616-4bdd-a867-b44612f7904f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_metadata_numeric!0.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "fe8110a2-8616-4bdd-a867-b44612f7904f", - "submission_date": "2019-07-23T05:06:14.367Z", - "update_date": "2019-07-23T06:03:19.794Z" - } - }, - "analysis_file/a3c971eb-dd56-4dcd-adb1-530ac7fefca2": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_metadata_numeric_name!.zarray", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "a3c971eb-dd56-4dcd-adb1-530ac7fefca2", - "submission_date": "2019-07-23T05:06:14.546Z", - "update_date": "2019-07-23T06:03:19.794Z" - } - }, - "analysis_file/ea51d2fb-3e38-45b4-b547-683068565fb4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!cell_metadata_numeric_name!0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "ea51d2fb-3e38-45b4-b547-683068565fb4", - "submission_date": "2019-07-23T05:06:14.720Z", - "update_date": "2019-07-23T06:03:22.787Z" - } - }, - "analysis_file/742d8919-182d-4c87-a15d-8857616e9e6a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!.zarray", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "742d8919-182d-4c87-a15d-8857616e9e6a", - "submission_date": "2019-07-23T05:06:14.894Z", - "update_date": "2019-07-23T06:03:25.795Z" - } - }, - "analysis_file/05d16edd-0757-4497-804a-2d540f280f5f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!0.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "05d16edd-0757-4497-804a-2d540f280f5f", - "submission_date": "2019-07-23T05:06:15.069Z", - "update_date": "2019-07-23T06:03:25.810Z" - } - }, - "analysis_file/e8876fea-5529-4e3c-8a1f-6cd0351d95fc": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!0.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "e8876fea-5529-4e3c-8a1f-6cd0351d95fc", - "submission_date": "2019-07-23T05:06:15.242Z", - "update_date": "2019-07-23T06:03:28.787Z" - } - }, - "analysis_file/97c23453-969b-4603-8118-6dfed4c48f67": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!0.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "97c23453-969b-4603-8118-6dfed4c48f67", - "submission_date": "2019-07-23T05:06:15.414Z", - "update_date": "2019-07-23T06:03:31.795Z" - } - }, - "analysis_file/4687994b-b705-4e73-be71-45d6269e952e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!0.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4687994b-b705-4e73-be71-45d6269e952e", - "submission_date": "2019-07-23T05:06:15.586Z", - "update_date": "2019-07-23T06:03:31.795Z" - } - }, - "analysis_file/90ee27d0-46f5-4d79-9e89-708f0f969856": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!0.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "90ee27d0-46f5-4d79-9e89-708f0f969856", - "submission_date": "2019-07-23T05:06:15.759Z", - "update_date": "2019-07-23T06:03:34.791Z" - } - }, - "analysis_file/50752731-16ef-4a55-a849-e3cbf749ce0e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!0.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "50752731-16ef-4a55-a849-e3cbf749ce0e", - "submission_date": "2019-07-23T05:06:15.930Z", - "update_date": "2019-07-23T06:03:37.791Z" - } - }, - "analysis_file/4e1db8fa-f50b-417d-a047-345bba0e64cf": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!1.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4e1db8fa-f50b-417d-a047-345bba0e64cf", - "submission_date": "2019-07-23T05:06:16.104Z", - "update_date": "2019-07-23T06:03:40.790Z" - } - }, - "analysis_file/031e23ee-5241-4246-b832-aaee8f0f32d8": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!1.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "031e23ee-5241-4246-b832-aaee8f0f32d8", - "submission_date": "2019-07-23T05:06:16.283Z", - "update_date": "2019-07-23T06:03:43.787Z" - } - }, - "analysis_file/0270628f-f67b-4505-96b2-c994d6c159ef": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!1.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "0270628f-f67b-4505-96b2-c994d6c159ef", - "submission_date": "2019-07-23T05:06:16.452Z", - "update_date": "2019-07-23T06:03:46.790Z" - } - }, - "analysis_file/345c650f-6d32-45e6-b8a3-2aab65feb7b5": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!1.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "345c650f-6d32-45e6-b8a3-2aab65feb7b5", - "submission_date": "2019-07-23T05:06:16.626Z", - "update_date": "2019-07-23T06:03:49.796Z" - } - }, - "analysis_file/0eda79f2-acc0-429e-8e95-0d85a2c64cc7": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!1.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "0eda79f2-acc0-429e-8e95-0d85a2c64cc7", - "submission_date": "2019-07-23T05:06:16.795Z", - "update_date": "2019-07-23T06:03:49.796Z" - } - }, - "analysis_file/d4971e90-dc72-4f56-a7f4-b1dc674c34af": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!1.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "d4971e90-dc72-4f56-a7f4-b1dc674c34af", - "submission_date": "2019-07-23T05:06:16.968Z", - "update_date": "2019-07-23T06:03:52.788Z" - } - }, - "analysis_file/d333e0a8-0428-498b-956a-8fac862fe90f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!10.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "d333e0a8-0428-498b-956a-8fac862fe90f", - "submission_date": "2019-07-23T05:06:17.140Z", - "update_date": "2019-07-23T06:03:55.788Z" - } - }, - "analysis_file/d044293c-91ae-469f-bcbd-482bb28936b7": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!10.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "d044293c-91ae-469f-bcbd-482bb28936b7", - "submission_date": "2019-07-23T05:06:17.313Z", - "update_date": "2019-07-23T06:03:58.792Z" - } - }, - "analysis_file/bfdc0ca0-8496-470f-a530-366d64724913": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!10.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "bfdc0ca0-8496-470f-a530-366d64724913", - "submission_date": "2019-07-23T05:06:17.488Z", - "update_date": "2019-07-23T06:03:58.795Z" - } - }, - "analysis_file/652a99d4-6f59-452e-8bf3-b506baf5c68e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!10.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "652a99d4-6f59-452e-8bf3-b506baf5c68e", - "submission_date": "2019-07-23T05:06:17.657Z", - "update_date": "2019-07-23T06:04:01.806Z" - } - }, - "analysis_file/68b5d945-61e4-420c-8cda-95b13bb445b0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!10.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "68b5d945-61e4-420c-8cda-95b13bb445b0", - "submission_date": "2019-07-23T05:06:17.830Z", - "update_date": "2019-07-23T06:04:01.806Z" - } - }, - "analysis_file/780ff7bd-0956-4463-b62d-8044d7c17d32": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!10.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "780ff7bd-0956-4463-b62d-8044d7c17d32", - "submission_date": "2019-07-23T05:06:18.011Z", - "update_date": "2019-07-23T06:04:04.789Z" - } - }, - "analysis_file/83934dc7-4fb2-4008-b271-21e5312b12cf": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!11.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "83934dc7-4fb2-4008-b271-21e5312b12cf", - "submission_date": "2019-07-23T05:06:18.184Z", - "update_date": "2019-07-23T06:04:07.798Z" - } - }, - "analysis_file/4fa32ba3-795d-4e12-9f49-a74b0646117c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!11.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4fa32ba3-795d-4e12-9f49-a74b0646117c", - "submission_date": "2019-07-23T05:06:18.351Z", - "update_date": "2019-07-23T06:04:07.798Z" - } - }, - "analysis_file/7820661d-0fb0-429d-b05e-60391c966b4c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!11.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "7820661d-0fb0-429d-b05e-60391c966b4c", - "submission_date": "2019-07-23T05:06:18.521Z", - "update_date": "2019-07-23T06:04:10.791Z" - } - }, - "analysis_file/20f93fc9-6279-4957-89a5-2f95eb2e5eba": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!11.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "20f93fc9-6279-4957-89a5-2f95eb2e5eba", - "submission_date": "2019-07-23T05:06:18.700Z", - "update_date": "2019-07-23T06:04:13.792Z" - } - }, - "analysis_file/caaa5c54-76db-4276-8e3e-11678dc67d38": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!11.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "caaa5c54-76db-4276-8e3e-11678dc67d38", - "submission_date": "2019-07-23T05:06:18.872Z", - "update_date": "2019-07-23T06:04:16.794Z" - } - }, - "analysis_file/105acdb5-4534-4d5d-aecd-ba39c0af7516": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!11.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "105acdb5-4534-4d5d-aecd-ba39c0af7516", - "submission_date": "2019-07-23T05:06:19.041Z", - "update_date": "2019-07-23T06:04:16.794Z" - } - }, - "analysis_file/2eef66ef-69be-4756-9314-38f26e642e9e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!12.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "2eef66ef-69be-4756-9314-38f26e642e9e", - "submission_date": "2019-07-23T05:06:19.216Z", - "update_date": "2019-07-23T06:04:19.792Z" - } - }, - "analysis_file/0fb81d85-3fb8-4f37-9e34-11711bf73ee8": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!12.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "0fb81d85-3fb8-4f37-9e34-11711bf73ee8", - "submission_date": "2019-07-23T05:06:19.394Z", - "update_date": "2019-07-23T06:04:22.797Z" - } - }, - "analysis_file/a3ea4aa6-ebea-4666-a593-1287d2542ec9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!12.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "a3ea4aa6-ebea-4666-a593-1287d2542ec9", - "submission_date": "2019-07-23T05:06:19.568Z", - "update_date": "2019-07-23T06:04:22.797Z" - } - }, - "analysis_file/183032e5-8166-48ec-8788-6d5e995495f4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!12.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "183032e5-8166-48ec-8788-6d5e995495f4", - "submission_date": "2019-07-23T05:06:19.738Z", - "update_date": "2019-07-23T06:04:25.799Z" - } - }, - "analysis_file/70a6e1d8-b5f6-43e9-b3a2-d48b3bc1c0d3": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!12.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "70a6e1d8-b5f6-43e9-b3a2-d48b3bc1c0d3", - "submission_date": "2019-07-23T05:06:19.907Z", - "update_date": "2019-07-23T06:04:28.803Z" - } - }, - "analysis_file/658705d6-5c0f-4039-b988-92476b75822f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!12.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "658705d6-5c0f-4039-b988-92476b75822f", - "submission_date": "2019-07-23T05:06:20.077Z", - "update_date": "2019-07-23T06:04:28.803Z" - } - }, - "analysis_file/b9948faf-c59b-4a20-afdd-3e11527dccab": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!13.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "b9948faf-c59b-4a20-afdd-3e11527dccab", - "submission_date": "2019-07-23T05:06:20.248Z", - "update_date": "2019-07-23T06:04:31.794Z" - } - }, - "analysis_file/27902245-0646-4e5a-8f4a-de716ae84ba6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!13.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "27902245-0646-4e5a-8f4a-de716ae84ba6", - "submission_date": "2019-07-23T05:06:20.423Z", - "update_date": "2019-07-23T06:04:34.792Z" - } - }, - "analysis_file/50351aa9-f9e3-4b17-9ac6-9989d3b8c689": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!13.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "50351aa9-f9e3-4b17-9ac6-9989d3b8c689", - "submission_date": "2019-07-23T05:06:20.594Z", - "update_date": "2019-07-23T06:04:37.797Z" - } - }, - "analysis_file/5b1857c9-1869-4d63-9877-eedc6bb325ca": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!13.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "5b1857c9-1869-4d63-9877-eedc6bb325ca", - "submission_date": "2019-07-23T05:06:20.764Z", - "update_date": "2019-07-23T06:04:37.797Z" - } - }, - "analysis_file/1ce46a1b-be2f-42c6-94e2-16a77807f0e0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!13.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "1ce46a1b-be2f-42c6-94e2-16a77807f0e0", - "submission_date": "2019-07-23T05:06:20.931Z", - "update_date": "2019-07-23T06:04:40.792Z" - } - }, - "analysis_file/94145a97-1909-4451-8f2b-eefd3aa00fc4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!13.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "94145a97-1909-4451-8f2b-eefd3aa00fc4", - "submission_date": "2019-07-23T05:06:21.100Z", - "update_date": "2019-07-23T06:04:43.798Z" - } - }, - "analysis_file/13b6df9f-d6e3-4ab3-83bf-299d25f99da8": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!14.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "13b6df9f-d6e3-4ab3-83bf-299d25f99da8", - "submission_date": "2019-07-23T05:06:21.270Z", - "update_date": "2019-07-23T06:04:46.797Z" - } - }, - "analysis_file/6fc75489-bb46-468b-b363-06da1202a36e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!14.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "6fc75489-bb46-468b-b363-06da1202a36e", - "submission_date": "2019-07-23T05:06:21.438Z", - "update_date": "2019-07-23T06:04:49.807Z" - } - }, - "analysis_file/c8e61d41-7ec3-47f0-96f9-23d508752ad1": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!14.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "c8e61d41-7ec3-47f0-96f9-23d508752ad1", - "submission_date": "2019-07-23T05:06:21.607Z", - "update_date": "2019-07-23T06:04:49.807Z" - } - }, - "analysis_file/f3502c95-418e-4588-91ec-b40c210d8d2a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!14.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f3502c95-418e-4588-91ec-b40c210d8d2a", - "submission_date": "2019-07-23T05:06:21.777Z", - "update_date": "2019-07-23T06:04:52.797Z" - } - }, - "analysis_file/e5248a6a-63f8-44e9-a89b-6a36371849ca": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!14.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "e5248a6a-63f8-44e9-a89b-6a36371849ca", - "submission_date": "2019-07-23T05:06:21.947Z", - "update_date": "2019-07-23T06:04:55.797Z" - } - }, - "analysis_file/c5c50917-2fba-4e94-99f6-cb8f78da4530": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!14.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "c5c50917-2fba-4e94-99f6-cb8f78da4530", - "submission_date": "2019-07-23T05:06:22.118Z", - "update_date": "2019-07-23T06:04:58.821Z" - } - }, - "analysis_file/df1d6920-c7ca-4ce1-96ac-0d0bf1e38939": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!15.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "df1d6920-c7ca-4ce1-96ac-0d0bf1e38939", - "submission_date": "2019-07-23T05:06:22.287Z", - "update_date": "2019-07-23T06:04:58.821Z" - } - }, - "analysis_file/9218468d-abba-45b8-a3a8-406bbee87d42": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!15.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "9218468d-abba-45b8-a3a8-406bbee87d42", - "submission_date": "2019-07-23T05:06:22.456Z", - "update_date": "2019-07-23T06:05:01.797Z" - } - }, - "analysis_file/01fb2583-dd9b-47ac-9109-425786f6c626": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!15.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "01fb2583-dd9b-47ac-9109-425786f6c626", - "submission_date": "2019-07-23T05:06:22.627Z", - "update_date": "2019-07-23T06:05:04.795Z" - } - }, - "analysis_file/fef83950-8e0e-40d8-9280-195c4917e9c8": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!15.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "fef83950-8e0e-40d8-9280-195c4917e9c8", - "submission_date": "2019-07-23T05:06:22.797Z", - "update_date": "2019-07-23T06:05:07.801Z" - } - }, - "analysis_file/11f74322-70bc-4a3f-aa54-f86fb5e84e49": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!15.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "11f74322-70bc-4a3f-aa54-f86fb5e84e49", - "submission_date": "2019-07-23T05:06:22.969Z", - "update_date": "2019-07-23T06:05:07.801Z" - } - }, - "analysis_file/57929f1f-6edd-47b7-91cb-075c823b10ad": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!15.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "57929f1f-6edd-47b7-91cb-075c823b10ad", - "submission_date": "2019-07-23T05:06:23.140Z", - "update_date": "2019-07-23T06:05:10.797Z" - } - }, - "analysis_file/079817a8-aad3-4ecd-bdcf-76e33aeade68": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!16.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "079817a8-aad3-4ecd-bdcf-76e33aeade68", - "submission_date": "2019-07-23T05:06:23.321Z", - "update_date": "2019-07-23T06:05:13.801Z" - } - }, - "analysis_file/1a10e188-28f2-46e2-893d-204f79ec9cff": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!16.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "1a10e188-28f2-46e2-893d-204f79ec9cff", - "submission_date": "2019-07-23T05:06:23.495Z", - "update_date": "2019-07-23T06:05:13.801Z" - } - }, - "analysis_file/522867a7-4a65-429f-bf54-f94f1a81f369": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!16.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "522867a7-4a65-429f-bf54-f94f1a81f369", - "submission_date": "2019-07-23T05:06:23.666Z", - "update_date": "2019-07-23T06:05:16.796Z" - } - }, - "analysis_file/d80a9d3a-9795-4d95-ad57-a34cc238498f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!16.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "d80a9d3a-9795-4d95-ad57-a34cc238498f", - "submission_date": "2019-07-23T05:06:23.836Z", - "update_date": "2019-07-23T06:05:19.804Z" - } - }, - "analysis_file/833d0701-41d0-4cfd-bb55-38a83db95835": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!16.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "833d0701-41d0-4cfd-bb55-38a83db95835", - "submission_date": "2019-07-23T05:06:24.008Z", - "update_date": "2019-07-23T06:05:19.804Z" - } - }, - "analysis_file/985ff7ff-a52d-4f12-afe5-9153225b12ac": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!16.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "985ff7ff-a52d-4f12-afe5-9153225b12ac", - "submission_date": "2019-07-23T05:06:24.179Z", - "update_date": "2019-07-23T06:05:22.798Z" - } - }, - "analysis_file/f5ccbc84-4e00-44d5-a848-c4bc598ddb1f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!17.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f5ccbc84-4e00-44d5-a848-c4bc598ddb1f", - "submission_date": "2019-07-23T05:06:24.353Z", - "update_date": "2019-07-23T06:05:25.799Z" - } - }, - "analysis_file/7dc17a8c-3bac-48f5-b2e4-dfa37bb63c12": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!17.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "7dc17a8c-3bac-48f5-b2e4-dfa37bb63c12", - "submission_date": "2019-07-23T05:06:24.525Z", - "update_date": "2019-07-23T06:05:28.808Z" - } - }, - "analysis_file/b8f6b2a3-4dc0-4f9c-89e2-d287eea185d7": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!17.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "b8f6b2a3-4dc0-4f9c-89e2-d287eea185d7", - "submission_date": "2019-07-23T05:06:24.696Z", - "update_date": "2019-07-23T06:05:28.808Z" - } - }, - "analysis_file/4f0edb28-144e-4559-bf1e-fccce4065291": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!17.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4f0edb28-144e-4559-bf1e-fccce4065291", - "submission_date": "2019-07-23T05:06:24.867Z", - "update_date": "2019-07-23T06:05:31.801Z" - } - }, - "analysis_file/57d4bbc3-b8bb-43b8-90d6-d0ac4a0ef1b4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!17.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "57d4bbc3-b8bb-43b8-90d6-d0ac4a0ef1b4", - "submission_date": "2019-07-23T05:06:25.038Z", - "update_date": "2019-07-23T06:05:34.808Z" - } - }, - "analysis_file/824933fe-baa3-420f-baec-39f98ddb6224": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!17.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "824933fe-baa3-420f-baec-39f98ddb6224", - "submission_date": "2019-07-23T05:06:25.208Z", - "update_date": "2019-07-23T06:05:34.808Z" - } - }, - "analysis_file/07ee5567-37da-4cec-8621-53a4d41ce93d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!18.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "07ee5567-37da-4cec-8621-53a4d41ce93d", - "submission_date": "2019-07-23T05:06:25.378Z", - "update_date": "2019-07-23T06:05:37.797Z" - } - }, - "analysis_file/e7983d22-c3f6-4dee-b108-4409696b108b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!18.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "e7983d22-c3f6-4dee-b108-4409696b108b", - "submission_date": "2019-07-23T05:06:25.550Z", - "update_date": "2019-07-23T06:05:40.800Z" - } - }, - "analysis_file/3e3d666c-0b85-4327-89df-c0b11ae04f7b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!18.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "3e3d666c-0b85-4327-89df-c0b11ae04f7b", - "submission_date": "2019-07-23T05:06:25.721Z", - "update_date": "2019-07-23T06:05:43.809Z" - } - }, - "analysis_file/3ce1634c-ff05-4b38-8df5-b0ea50f678e8": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!18.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "3ce1634c-ff05-4b38-8df5-b0ea50f678e8", - "submission_date": "2019-07-23T05:06:25.897Z", - "update_date": "2019-07-23T06:05:43.809Z" - } - }, - "analysis_file/08e38951-56ae-4d9e-aa95-13a0a5aae502": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!18.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "08e38951-56ae-4d9e-aa95-13a0a5aae502", - "submission_date": "2019-07-23T05:06:26.068Z", - "update_date": "2019-07-23T06:05:46.804Z" - } - }, - "analysis_file/43b66c0c-ffae-46b8-aee8-58e9f18e9f2a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!18.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "43b66c0c-ffae-46b8-aee8-58e9f18e9f2a", - "submission_date": "2019-07-23T05:06:26.237Z", - "update_date": "2019-07-23T06:05:49.803Z" - } - }, - "analysis_file/e71897c8-3fe9-4863-9c67-2f189c374c33": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!19.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "e71897c8-3fe9-4863-9c67-2f189c374c33", - "submission_date": "2019-07-23T05:06:26.407Z", - "update_date": "2019-07-23T06:05:52.806Z" - } - }, - "analysis_file/c9987133-b461-4362-b8c5-1a19315c2010": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!19.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "c9987133-b461-4362-b8c5-1a19315c2010", - "submission_date": "2019-07-23T05:06:26.577Z", - "update_date": "2019-07-23T06:05:52.806Z" - } - }, - "analysis_file/44e604c4-860a-47e2-a20f-ec6189153179": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!19.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "44e604c4-860a-47e2-a20f-ec6189153179", - "submission_date": "2019-07-23T05:06:26.747Z", - "update_date": "2019-07-23T06:05:55.800Z" - } - }, - "analysis_file/33a76ba7-d866-43d5-93bf-5ea6d658669b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!19.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "33a76ba7-d866-43d5-93bf-5ea6d658669b", - "submission_date": "2019-07-23T05:06:26.916Z", - "update_date": "2019-07-23T06:05:58.807Z" - } - }, - "analysis_file/b1047e56-5327-48e6-a95a-fae2e111897a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!19.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "b1047e56-5327-48e6-a95a-fae2e111897a", - "submission_date": "2019-07-23T05:06:27.085Z", - "update_date": "2019-07-23T06:06:01.813Z" - } - }, - "analysis_file/182506c0-48a4-4824-8653-2ea690e6e59e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!19.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "182506c0-48a4-4824-8653-2ea690e6e59e", - "submission_date": "2019-07-23T05:06:27.263Z", - "update_date": "2019-07-23T06:06:01.813Z" - } - }, - "analysis_file/e5db27d2-3b4f-4174-b892-972bb155841f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!2.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "e5db27d2-3b4f-4174-b892-972bb155841f", - "submission_date": "2019-07-23T05:06:27.435Z", - "update_date": "2019-07-23T06:06:04.797Z" - } - }, - "analysis_file/86e060c2-189f-49d3-81c4-bc70bb242bf7": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!2.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "86e060c2-189f-49d3-81c4-bc70bb242bf7", - "submission_date": "2019-07-23T05:06:27.614Z", - "update_date": "2019-07-23T06:06:07.803Z" - } - }, - "analysis_file/a72a8bd5-f137-4244-9d0c-c4e98f4dd7e5": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!2.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "a72a8bd5-f137-4244-9d0c-c4e98f4dd7e5", - "submission_date": "2019-07-23T05:06:27.785Z", - "update_date": "2019-07-23T06:06:10.810Z" - } - }, - "analysis_file/90ccebea-84aa-41d9-87d0-8fda919b4ded": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!2.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "90ccebea-84aa-41d9-87d0-8fda919b4ded", - "submission_date": "2019-07-23T05:06:27.955Z", - "update_date": "2019-07-23T06:06:10.810Z" - } - }, - "analysis_file/af64b766-7778-42d0-af3f-9dc481678d53": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!2.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "af64b766-7778-42d0-af3f-9dc481678d53", - "submission_date": "2019-07-23T05:06:28.125Z", - "update_date": "2019-07-23T06:06:13.802Z" - } - }, - "analysis_file/c31c57d2-8c68-4759-8c20-f928c5adea12": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!2.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "c31c57d2-8c68-4759-8c20-f928c5adea12", - "submission_date": "2019-07-23T05:06:28.295Z", - "update_date": "2019-07-23T06:06:16.802Z" - } - }, - "analysis_file/c8a7a724-33bd-415a-9329-5c4fed847be6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!20.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "c8a7a724-33bd-415a-9329-5c4fed847be6", - "submission_date": "2019-07-23T05:06:28.465Z", - "update_date": "2019-07-23T06:06:19.809Z" - } - }, - "analysis_file/f0b6354a-ed57-445b-8f25-459e070c3604": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!20.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f0b6354a-ed57-445b-8f25-459e070c3604", - "submission_date": "2019-07-23T05:06:28.634Z", - "update_date": "2019-07-23T06:06:19.809Z" - } - }, - "analysis_file/dd386984-9618-4f21-91fe-7eb0bcad675e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!20.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "dd386984-9618-4f21-91fe-7eb0bcad675e", - "submission_date": "2019-07-23T05:06:28.813Z", - "update_date": "2019-07-23T06:06:22.802Z" - } - }, - "analysis_file/3d11a67a-4d43-4a80-a875-8aef2348e4c3": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!20.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "3d11a67a-4d43-4a80-a875-8aef2348e4c3", - "submission_date": "2019-07-23T05:06:28.986Z", - "update_date": "2019-07-23T06:06:25.810Z" - } - }, - "analysis_file/666c7a78-0881-462e-aee9-3731f1be10c7": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!20.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "666c7a78-0881-462e-aee9-3731f1be10c7", - "submission_date": "2019-07-23T05:06:29.157Z", - "update_date": "2019-07-23T06:06:25.811Z" - } - }, - "analysis_file/4e3b3ebd-819c-4143-9d32-a8013d3c7039": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!20.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4e3b3ebd-819c-4143-9d32-a8013d3c7039", - "submission_date": "2019-07-23T05:06:29.329Z", - "update_date": "2019-07-23T06:06:28.805Z" - } - }, - "analysis_file/3950e1d4-f084-4440-88dc-a1917d42aa92": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!21.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "3950e1d4-f084-4440-88dc-a1917d42aa92", - "submission_date": "2019-07-23T05:06:29.499Z", - "update_date": "2019-07-23T06:06:31.806Z" - } - }, - "analysis_file/a9843500-9ce8-49eb-bf58-0dfa807a7149": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!21.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "a9843500-9ce8-49eb-bf58-0dfa807a7149", - "submission_date": "2019-07-23T05:06:29.670Z", - "update_date": "2019-07-23T06:06:34.831Z" - } - }, - "analysis_file/00fd63b3-ffe1-439c-bf85-a224fea6ff17": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!21.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "00fd63b3-ffe1-439c-bf85-a224fea6ff17", - "submission_date": "2019-07-23T05:06:29.839Z", - "update_date": "2019-07-23T06:06:34.831Z" - } - }, - "analysis_file/50bfb16b-0e62-48bf-8ae8-289e1a003cca": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!21.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "50bfb16b-0e62-48bf-8ae8-289e1a003cca", - "submission_date": "2019-07-23T05:06:30.008Z", - "update_date": "2019-07-23T06:06:37.803Z" - } - }, - "analysis_file/6432f0f6-5011-4412-b146-212876e21e77": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!21.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "6432f0f6-5011-4412-b146-212876e21e77", - "submission_date": "2019-07-23T05:06:30.188Z", - "update_date": "2019-07-23T06:06:40.813Z" - } - }, - "analysis_file/cfffdf17-b11a-4720-af77-3d1da94cfb1f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!21.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "cfffdf17-b11a-4720-af77-3d1da94cfb1f", - "submission_date": "2019-07-23T05:06:30.359Z", - "update_date": "2019-07-23T06:06:40.813Z" - } - }, - "analysis_file/7a6c8b19-6c94-4346-9ff9-a54765110e13": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!22.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "7a6c8b19-6c94-4346-9ff9-a54765110e13", - "submission_date": "2019-07-23T05:06:30.547Z", - "update_date": "2019-07-23T06:06:43.807Z" - } - }, - "analysis_file/dae7113c-35e1-46ef-a6d0-53f2c3be9617": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!22.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "dae7113c-35e1-46ef-a6d0-53f2c3be9617", - "submission_date": "2019-07-23T05:06:30.721Z", - "update_date": "2019-07-23T06:06:46.814Z" - } - }, - "analysis_file/75c7091d-e635-4df1-b670-fa7b42c7bb60": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!22.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "75c7091d-e635-4df1-b670-fa7b42c7bb60", - "submission_date": "2019-07-23T05:06:30.889Z", - "update_date": "2019-07-23T06:06:46.814Z" - } - }, - "analysis_file/0e669062-e8ce-4fb6-a853-7630402a4ac4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!22.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "0e669062-e8ce-4fb6-a853-7630402a4ac4", - "submission_date": "2019-07-23T05:06:31.066Z", - "update_date": "2019-07-23T06:06:52.810Z" - } - }, - "analysis_file/c0fd4cbd-1584-4d4d-a914-1a9685961c2f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!22.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "c0fd4cbd-1584-4d4d-a914-1a9685961c2f", - "submission_date": "2019-07-23T05:06:31.269Z", - "update_date": "2019-07-23T06:06:52.810Z" - } - }, - "analysis_file/806695f0-caea-4994-9941-9ff2499e564c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!22.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "806695f0-caea-4994-9941-9ff2499e564c", - "submission_date": "2019-07-23T05:06:31.441Z", - "update_date": "2019-07-23T06:06:55.806Z" - } - }, - "analysis_file/feff32fa-6b89-4054-bc60-d0fb7d32875a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!23.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "feff32fa-6b89-4054-bc60-d0fb7d32875a", - "submission_date": "2019-07-23T05:06:31.612Z", - "update_date": "2019-07-23T06:06:58.813Z" - } - }, - "analysis_file/5d9f525c-5977-434d-8fd1-eb6e81f300a6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!23.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "5d9f525c-5977-434d-8fd1-eb6e81f300a6", - "submission_date": "2019-07-23T05:06:31.783Z", - "update_date": "2019-07-23T06:07:01.811Z" - } - }, - "analysis_file/4846ef52-b97f-41f8-8ad6-116f7374c7da": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!23.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4846ef52-b97f-41f8-8ad6-116f7374c7da", - "submission_date": "2019-07-23T05:06:31.962Z", - "update_date": "2019-07-23T06:07:04.816Z" - } - }, - "analysis_file/591b11ea-4314-46ff-8e1a-b08463dfeb6c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!23.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "591b11ea-4314-46ff-8e1a-b08463dfeb6c", - "submission_date": "2019-07-23T05:06:32.137Z", - "update_date": "2019-07-23T06:07:04.816Z" - } - }, - "analysis_file/69fc6d1f-06a6-4ba5-97a6-9597d9d7e4ba": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!23.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "69fc6d1f-06a6-4ba5-97a6-9597d9d7e4ba", - "submission_date": "2019-07-23T05:06:32.352Z", - "update_date": "2019-07-23T06:07:07.811Z" - } - }, - "analysis_file/65af9aa3-5656-49d8-82b8-ef819da3be57": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!23.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "65af9aa3-5656-49d8-82b8-ef819da3be57", - "submission_date": "2019-07-23T05:06:32.531Z", - "update_date": "2019-07-23T06:07:10.817Z" - } - }, - "analysis_file/f0bc7821-c50c-4457-a73a-ea54e7f802e9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!24.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f0bc7821-c50c-4457-a73a-ea54e7f802e9", - "submission_date": "2019-07-23T05:06:32.709Z", - "update_date": "2019-07-23T06:07:10.818Z" - } - }, - "analysis_file/2ddd447d-ab33-420a-a120-00081eedc5e6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!24.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "2ddd447d-ab33-420a-a120-00081eedc5e6", - "submission_date": "2019-07-23T05:06:32.880Z", - "update_date": "2019-07-23T06:07:13.815Z" - } - }, - "analysis_file/8961082f-b3da-40ce-b925-ee66d815af6c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!24.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "8961082f-b3da-40ce-b925-ee66d815af6c", - "submission_date": "2019-07-23T05:06:33.059Z", - "update_date": "2019-07-23T06:07:13.815Z" - } - }, - "analysis_file/df1d2a75-b4ea-499b-bd59-423f1597dc23": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!24.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "df1d2a75-b4ea-499b-bd59-423f1597dc23", - "submission_date": "2019-07-23T05:06:33.231Z", - "update_date": "2019-07-23T06:07:16.807Z" - } - }, - "analysis_file/75816a17-b08b-49b2-8ae9-1663dc554f0c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!24.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "75816a17-b08b-49b2-8ae9-1663dc554f0c", - "submission_date": "2019-07-23T05:06:33.405Z", - "update_date": "2019-07-23T06:07:19.813Z" - } - }, - "analysis_file/4f44b2bb-7f6b-4c92-8cd4-265b4701600e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!24.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4f44b2bb-7f6b-4c92-8cd4-265b4701600e", - "submission_date": "2019-07-23T05:06:33.576Z", - "update_date": "2019-07-23T06:07:19.813Z" - } - }, - "analysis_file/6e40a5e4-8502-4aad-ba36-581c94d3fecd": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!25.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "6e40a5e4-8502-4aad-ba36-581c94d3fecd", - "submission_date": "2019-07-23T05:06:33.756Z", - "update_date": "2019-07-23T06:07:22.808Z" - } - }, - "analysis_file/bdb05c8d-cee4-49e2-aa96-c4c0955cab9f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!25.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "bdb05c8d-cee4-49e2-aa96-c4c0955cab9f", - "submission_date": "2019-07-23T05:06:33.930Z", - "update_date": "2019-07-23T06:07:25.816Z" - } - }, - "analysis_file/f6bd9ac1-511a-45bd-b544-8a3a719c24f0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!25.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f6bd9ac1-511a-45bd-b544-8a3a719c24f0", - "submission_date": "2019-07-23T05:06:34.108Z", - "update_date": "2019-07-23T06:07:25.816Z" - } - }, - "analysis_file/507cdfe8-e1d5-4022-addf-5a925c6d1596": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!25.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "507cdfe8-e1d5-4022-addf-5a925c6d1596", - "submission_date": "2019-07-23T05:06:34.280Z", - "update_date": "2019-07-23T06:07:28.808Z" - } - }, - "analysis_file/1ec8b57d-e388-4780-abfd-d1d27e96073b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!25.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "1ec8b57d-e388-4780-abfd-d1d27e96073b", - "submission_date": "2019-07-23T05:06:34.449Z", - "update_date": "2019-07-23T06:07:31.809Z" - } - }, - "analysis_file/897fa0f4-fe2e-47c5-8423-9631c905f684": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!25.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "897fa0f4-fe2e-47c5-8423-9631c905f684", - "submission_date": "2019-07-23T05:06:34.626Z", - "update_date": "2019-07-23T06:07:34.817Z" - } - }, - "analysis_file/f85725ed-d0f8-474e-83c0-b1e285b1bffa": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!26.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f85725ed-d0f8-474e-83c0-b1e285b1bffa", - "submission_date": "2019-07-23T05:06:34.806Z", - "update_date": "2019-07-23T06:07:34.817Z" - } - }, - "analysis_file/11f55a0e-dc89-4979-bd9a-b4f386876cb9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!26.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "11f55a0e-dc89-4979-bd9a-b4f386876cb9", - "submission_date": "2019-07-23T05:06:34.977Z", - "update_date": "2019-07-23T06:07:37.809Z" - } - }, - "analysis_file/9baeb127-b802-4e9b-99bd-2c4e292c0083": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!26.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "9baeb127-b802-4e9b-99bd-2c4e292c0083", - "submission_date": "2019-07-23T05:06:35.148Z", - "update_date": "2019-07-23T06:07:40.822Z" - } - }, - "analysis_file/e2cba3c2-caa8-48ed-8e93-c2df94ceaf20": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!26.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "e2cba3c2-caa8-48ed-8e93-c2df94ceaf20", - "submission_date": "2019-07-23T05:06:35.319Z", - "update_date": "2019-07-23T06:07:40.822Z" - } - }, - "analysis_file/08c497ca-781c-4be6-97b7-dc898aa057b4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!26.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "08c497ca-781c-4be6-97b7-dc898aa057b4", - "submission_date": "2019-07-23T05:06:35.488Z", - "update_date": "2019-07-23T06:07:43.812Z" - } - }, - "analysis_file/12e5e6ad-2706-4974-8741-30835f0f4084": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!26.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "12e5e6ad-2706-4974-8741-30835f0f4084", - "submission_date": "2019-07-23T05:06:35.656Z", - "update_date": "2019-07-23T06:07:46.816Z" - } - }, - "analysis_file/2f83e7b6-b82f-4fdb-92f3-17e54d22493a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!27.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "2f83e7b6-b82f-4fdb-92f3-17e54d22493a", - "submission_date": "2019-07-23T05:06:35.825Z", - "update_date": "2019-07-23T06:07:46.816Z" - } - }, - "analysis_file/cbba648a-49df-406e-b6b0-ff5e6994b56c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!27.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "cbba648a-49df-406e-b6b0-ff5e6994b56c", - "submission_date": "2019-07-23T05:06:35.995Z", - "update_date": "2019-07-23T06:07:49.811Z" - } - }, - "analysis_file/603bb7a4-c08b-4f60-8bd3-b8a868331b8f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!27.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "603bb7a4-c08b-4f60-8bd3-b8a868331b8f", - "submission_date": "2019-07-23T05:06:36.163Z", - "update_date": "2019-07-23T06:07:52.812Z" - } - }, - "analysis_file/b21b9a93-a5ab-4045-80cb-010ef8969cc5": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!27.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "b21b9a93-a5ab-4045-80cb-010ef8969cc5", - "submission_date": "2019-07-23T05:06:36.335Z", - "update_date": "2019-07-23T06:07:55.818Z" - } - }, - "analysis_file/c9d52e49-90ac-4159-913c-0ef579c2d00b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!27.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "c9d52e49-90ac-4159-913c-0ef579c2d00b", - "submission_date": "2019-07-23T05:06:36.505Z", - "update_date": "2019-07-23T06:07:55.818Z" - } - }, - "analysis_file/f3ee8a7f-ef00-417e-90b5-193579110532": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!27.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f3ee8a7f-ef00-417e-90b5-193579110532", - "submission_date": "2019-07-23T05:06:36.680Z", - "update_date": "2019-07-23T06:07:58.818Z" - } - }, - "analysis_file/fa977d76-ece4-47c1-9212-a033217523a6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!28.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "fa977d76-ece4-47c1-9212-a033217523a6", - "submission_date": "2019-07-23T05:06:36.847Z", - "update_date": "2019-07-23T06:07:58.818Z" - } - }, - "analysis_file/8da407f0-39cf-43c4-9250-0ba72fff2af7": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!28.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "8da407f0-39cf-43c4-9250-0ba72fff2af7", - "submission_date": "2019-07-23T05:06:37.017Z", - "update_date": "2019-07-23T06:08:01.813Z" - } - }, - "analysis_file/6283a894-b4cf-4bd3-99e3-f12c9110d36e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!28.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "6283a894-b4cf-4bd3-99e3-f12c9110d36e", - "submission_date": "2019-07-23T05:06:37.187Z", - "update_date": "2019-07-23T06:08:04.813Z" - } - }, - "analysis_file/f4956c61-e2b7-46d5-a2e4-f641fbbfc304": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!28.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f4956c61-e2b7-46d5-a2e4-f641fbbfc304", - "submission_date": "2019-07-23T05:06:37.412Z", - "update_date": "2019-07-23T06:08:07.844Z" - } - }, - "analysis_file/aa393ce4-a6fd-4759-824e-729a43b9be59": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!28.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "aa393ce4-a6fd-4759-824e-729a43b9be59", - "submission_date": "2019-07-23T05:06:37.579Z", - "update_date": "2019-07-23T06:08:07.844Z" - } - }, - "analysis_file/9e08f649-6bd2-4504-96fc-c1d4ee09324f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!28.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "9e08f649-6bd2-4504-96fc-c1d4ee09324f", - "submission_date": "2019-07-23T05:06:37.747Z", - "update_date": "2019-07-23T06:08:10.814Z" - } - }, - "analysis_file/19aba152-975a-4942-b953-b1ced7535a79": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!29.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "19aba152-975a-4942-b953-b1ced7535a79", - "submission_date": "2019-07-23T05:06:37.917Z", - "update_date": "2019-07-23T06:08:13.822Z" - } - }, - "analysis_file/7c023882-23a1-46c8-800f-484af5253eb2": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!29.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "7c023882-23a1-46c8-800f-484af5253eb2", - "submission_date": "2019-07-23T05:06:38.086Z", - "update_date": "2019-07-23T06:08:13.822Z" - } - }, - "analysis_file/17527f54-54b8-4f78-8dd9-87882dc0fc9b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!29.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "17527f54-54b8-4f78-8dd9-87882dc0fc9b", - "submission_date": "2019-07-23T05:06:38.264Z", - "update_date": "2019-07-23T06:08:16.826Z" - } - }, - "analysis_file/f8dd465e-50c6-4e9c-9795-4ef6dd6797a5": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!29.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f8dd465e-50c6-4e9c-9795-4ef6dd6797a5", - "submission_date": "2019-07-23T05:06:38.440Z", - "update_date": "2019-07-23T06:08:19.818Z" - } - }, - "analysis_file/3de81811-865d-4fa7-a8c7-bea303bb53df": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!29.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "3de81811-865d-4fa7-a8c7-bea303bb53df", - "submission_date": "2019-07-23T05:06:38.613Z", - "update_date": "2019-07-23T06:08:20.831Z" - } - }, - "analysis_file/4bff4802-f142-44d3-a166-bf60cc655b44": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!29.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4bff4802-f142-44d3-a166-bf60cc655b44", - "submission_date": "2019-07-23T05:06:38.782Z", - "update_date": "2019-07-23T06:08:22.820Z" - } - }, - "analysis_file/59b50701-f235-4a7c-978b-420d03b6fa44": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!3.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "59b50701-f235-4a7c-978b-420d03b6fa44", - "submission_date": "2019-07-23T05:06:38.954Z", - "update_date": "2019-07-23T06:08:25.828Z" - } - }, - "analysis_file/b752a02d-bb2f-4632-b820-9ef817d477ed": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!3.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "b752a02d-bb2f-4632-b820-9ef817d477ed", - "submission_date": "2019-07-23T05:06:39.127Z", - "update_date": "2019-07-23T06:08:25.823Z" - } - }, - "analysis_file/d0753d9f-219b-4ab8-bf4e-a8f539350153": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!3.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "d0753d9f-219b-4ab8-bf4e-a8f539350153", - "submission_date": "2019-07-23T05:06:39.296Z", - "update_date": "2019-07-23T06:08:28.824Z" - } - }, - "analysis_file/6209fcd2-deec-4adc-944d-a2b4b3a9fdd9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!3.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "6209fcd2-deec-4adc-944d-a2b4b3a9fdd9", - "submission_date": "2019-07-23T05:06:39.466Z", - "update_date": "2019-07-23T06:08:28.824Z" - } - }, - "analysis_file/f3a20322-945c-4eb1-a01e-8666e522d5f6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!3.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f3a20322-945c-4eb1-a01e-8666e522d5f6", - "submission_date": "2019-07-23T05:06:39.634Z", - "update_date": "2019-07-23T06:08:31.817Z" - } - }, - "analysis_file/b278a327-9685-44dd-b694-b4c4504cc315": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!3.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "b278a327-9685-44dd-b694-b4c4504cc315", - "submission_date": "2019-07-23T05:06:39.812Z", - "update_date": "2019-07-23T06:08:34.817Z" - } - }, - "analysis_file/0c61d54f-64a2-4242-9e71-5b04464c948d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!30.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "0c61d54f-64a2-4242-9e71-5b04464c948d", - "submission_date": "2019-07-23T05:06:39.986Z", - "update_date": "2019-07-23T06:08:37.815Z" - } - }, - "analysis_file/51302cec-b8fc-4902-9f70-6419677357c3": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!30.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "51302cec-b8fc-4902-9f70-6419677357c3", - "submission_date": "2019-07-23T05:06:40.156Z", - "update_date": "2019-07-23T06:08:40.824Z" - } - }, - "analysis_file/071dc595-4162-4fa6-aa45-54724c308c70": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!30.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "071dc595-4162-4fa6-aa45-54724c308c70", - "submission_date": "2019-07-23T05:06:40.333Z", - "update_date": "2019-07-23T06:08:40.825Z" - } - }, - "analysis_file/9aa478a3-1247-459b-80ac-43cbe091a538": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!30.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "9aa478a3-1247-459b-80ac-43cbe091a538", - "submission_date": "2019-07-23T05:06:40.504Z", - "update_date": "2019-07-23T06:08:43.827Z" - } - }, - "analysis_file/c0bcca58-6d54-4556-b9a4-e5e171992dc0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!30.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "c0bcca58-6d54-4556-b9a4-e5e171992dc0", - "submission_date": "2019-07-23T05:06:40.674Z", - "update_date": "2019-07-23T06:08:46.826Z" - } - }, - "analysis_file/5920491d-bcfe-4f9e-9b48-859afb965041": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!30.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "5920491d-bcfe-4f9e-9b48-859afb965041", - "submission_date": "2019-07-23T05:06:40.843Z", - "update_date": "2019-07-23T06:08:46.826Z" - } - }, - "analysis_file/a8cc3371-471a-4e45-8e51-d5aa4d77d89a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!31.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "a8cc3371-471a-4e45-8e51-d5aa4d77d89a", - "submission_date": "2019-07-23T05:06:41.017Z", - "update_date": "2019-07-23T06:08:49.815Z" - } - }, - "analysis_file/6015140c-a1e1-4644-b783-e0b9a21ce091": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!31.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "6015140c-a1e1-4644-b783-e0b9a21ce091", - "submission_date": "2019-07-23T05:06:41.187Z", - "update_date": "2019-07-23T06:08:52.818Z" - } - }, - "analysis_file/322562e0-4e3f-434f-a302-1567d46d9e5c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!31.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "322562e0-4e3f-434f-a302-1567d46d9e5c", - "submission_date": "2019-07-23T05:06:41.358Z", - "update_date": "2019-07-23T06:08:55.821Z" - } - }, - "analysis_file/00231db3-8195-457a-8a97-e6d0ef754f23": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!31.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "00231db3-8195-457a-8a97-e6d0ef754f23", - "submission_date": "2019-07-23T05:06:41.529Z", - "update_date": "2019-07-23T06:08:58.825Z" - } - }, - "analysis_file/4e656dc6-5b0d-4195-8afa-e8fc0dff2135": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!31.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4e656dc6-5b0d-4195-8afa-e8fc0dff2135", - "submission_date": "2019-07-23T05:06:41.698Z", - "update_date": "2019-07-23T06:08:58.825Z" - } - }, - "analysis_file/08c509c4-8984-4207-904c-49cbe4ded542": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!31.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "08c509c4-8984-4207-904c-49cbe4ded542", - "submission_date": "2019-07-23T05:06:41.869Z", - "update_date": "2019-07-23T06:09:01.821Z" - } - }, - "analysis_file/fccac52f-701b-4748-8aca-e9d75aab055e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!32.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "fccac52f-701b-4748-8aca-e9d75aab055e", - "submission_date": "2019-07-23T05:06:42.058Z", - "update_date": "2019-07-23T06:09:04.825Z" - } - }, - "analysis_file/58ca5671-6477-4639-b041-ba6ae71bdb75": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!32.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "58ca5671-6477-4639-b041-ba6ae71bdb75", - "submission_date": "2019-07-23T05:06:42.232Z", - "update_date": "2019-07-23T06:09:04.823Z" - } - }, - "analysis_file/81e7fea4-13d8-4be2-bf04-e2700feafc5b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!32.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "81e7fea4-13d8-4be2-bf04-e2700feafc5b", - "submission_date": "2019-07-23T05:06:42.406Z", - "update_date": "2019-07-23T06:09:10.828Z" - } - }, - "analysis_file/0d4e13c1-f806-4848-ba2f-fb2ddf8d1f01": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!32.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "0d4e13c1-f806-4848-ba2f-fb2ddf8d1f01", - "submission_date": "2019-07-23T05:06:42.589Z", - "update_date": "2019-07-23T06:09:10.828Z" - } - }, - "analysis_file/bb530315-61b4-47d5-99eb-9e76f3b1b19b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!32.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "bb530315-61b4-47d5-99eb-9e76f3b1b19b", - "submission_date": "2019-07-23T05:06:42.766Z", - "update_date": "2019-07-23T06:09:13.820Z" - } - }, - "analysis_file/1a62335d-e8a6-495e-80b0-bc109aa9cf04": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!32.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "1a62335d-e8a6-495e-80b0-bc109aa9cf04", - "submission_date": "2019-07-23T05:06:42.939Z", - "update_date": "2019-07-23T06:09:16.823Z" - } - }, - "analysis_file/9b0015d6-d4ad-4344-b881-19f63dc9c164": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!33.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "9b0015d6-d4ad-4344-b881-19f63dc9c164", - "submission_date": "2019-07-23T05:06:43.121Z", - "update_date": "2019-07-23T06:09:16.823Z" - } - }, - "analysis_file/db4468f6-6f2f-4cae-9f50-3e2487063143": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!33.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "db4468f6-6f2f-4cae-9f50-3e2487063143", - "submission_date": "2019-07-23T05:06:43.298Z", - "update_date": "2019-07-23T06:09:19.822Z" - } - }, - "analysis_file/e0fba685-682c-4a8c-a4c1-7469075d2355": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!33.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "e0fba685-682c-4a8c-a4c1-7469075d2355", - "submission_date": "2019-07-23T05:06:43.468Z", - "update_date": "2019-07-23T06:09:22.826Z" - } - }, - "analysis_file/84db4a86-cf50-4e00-aaab-4a277737f085": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!33.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "84db4a86-cf50-4e00-aaab-4a277737f085", - "submission_date": "2019-07-23T05:06:43.636Z", - "update_date": "2019-07-23T06:09:22.826Z" - } - }, - "analysis_file/f719374f-7e9d-4aa0-a135-37d378018385": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!33.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f719374f-7e9d-4aa0-a135-37d378018385", - "submission_date": "2019-07-23T05:06:43.805Z", - "update_date": "2019-07-23T06:09:25.821Z" - } - }, - "analysis_file/df814431-6493-4c7a-ae77-f615174cc8f0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!33.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "df814431-6493-4c7a-ae77-f615174cc8f0", - "submission_date": "2019-07-23T05:06:43.976Z", - "update_date": "2019-07-23T06:09:28.828Z" - } - }, - "analysis_file/1702dba8-95ac-4222-ab70-4a09c1281f17": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!34.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "1702dba8-95ac-4222-ab70-4a09c1281f17", - "submission_date": "2019-07-23T05:06:44.152Z", - "update_date": "2019-07-23T06:09:31.837Z" - } - }, - "analysis_file/a4ebbbda-8cf0-4dd3-acf2-935d4b21e635": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!34.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "a4ebbbda-8cf0-4dd3-acf2-935d4b21e635", - "submission_date": "2019-07-23T05:06:44.321Z", - "update_date": "2019-07-23T06:09:31.837Z" - } - }, - "analysis_file/8cd2eb55-a0a7-449c-89f6-8955916433f3": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!34.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "8cd2eb55-a0a7-449c-89f6-8955916433f3", - "submission_date": "2019-07-23T05:06:44.494Z", - "update_date": "2019-07-23T06:09:34.824Z" - } - }, - "analysis_file/980a0a6e-0f00-417f-aaff-a70c28930008": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!34.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "980a0a6e-0f00-417f-aaff-a70c28930008", - "submission_date": "2019-07-23T05:06:44.664Z", - "update_date": "2019-07-23T06:09:37.831Z" - } - }, - "analysis_file/8248bc28-ed8e-4445-a3c9-8d86dbef1c33": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!34.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "8248bc28-ed8e-4445-a3c9-8d86dbef1c33", - "submission_date": "2019-07-23T05:06:44.843Z", - "update_date": "2019-07-23T06:09:37.831Z" - } - }, - "analysis_file/28dc1d99-864a-40f3-b352-091bfa830f44": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!34.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "28dc1d99-864a-40f3-b352-091bfa830f44", - "submission_date": "2019-07-23T05:06:45.014Z", - "update_date": "2019-07-23T06:09:40.824Z" - } - }, - "analysis_file/2054c82b-ab2d-4f2b-b36d-474ee1967db6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!35.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "2054c82b-ab2d-4f2b-b36d-474ee1967db6", - "submission_date": "2019-07-23T05:06:45.195Z", - "update_date": "2019-07-23T06:09:43.845Z" - } - }, - "analysis_file/2e3fff44-0895-41ee-9fc2-392c60970871": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!35.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "2e3fff44-0895-41ee-9fc2-392c60970871", - "submission_date": "2019-07-23T05:06:45.366Z", - "update_date": "2019-07-23T06:09:46.831Z" - } - }, - "analysis_file/4b65b43d-3f81-480d-9b56-64f32f05ae4a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!35.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4b65b43d-3f81-480d-9b56-64f32f05ae4a", - "submission_date": "2019-07-23T05:06:45.534Z", - "update_date": "2019-07-23T06:09:46.831Z" - } - }, - "analysis_file/f3a76c83-575b-4632-a199-79d224a41491": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!35.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "f3a76c83-575b-4632-a199-79d224a41491", - "submission_date": "2019-07-23T05:06:45.704Z", - "update_date": "2019-07-23T06:09:49.821Z" - } - }, - "analysis_file/834a3d7f-03c5-4b80-b812-e46c7a41ea85": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!35.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "834a3d7f-03c5-4b80-b812-e46c7a41ea85", - "submission_date": "2019-07-23T05:06:45.873Z", - "update_date": "2019-07-23T06:09:52.825Z" - } - }, - "analysis_file/b96baaa5-a935-4613-a57a-d46680d65024": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!35.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "b96baaa5-a935-4613-a57a-d46680d65024", - "submission_date": "2019-07-23T05:06:46.042Z", - "update_date": "2019-07-23T06:09:55.825Z" - } - }, - "analysis_file/0de7c34d-c46d-451c-9cce-456604ff8098": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!4.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "0de7c34d-c46d-451c-9cce-456604ff8098", - "submission_date": "2019-07-23T05:06:46.220Z", - "update_date": "2019-07-23T06:09:58.834Z" - } - }, - "analysis_file/27c0877d-17d8-4f7d-8f29-cac03169a134": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!4.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "27c0877d-17d8-4f7d-8f29-cac03169a134", - "submission_date": "2019-07-23T05:06:46.393Z", - "update_date": "2019-07-23T06:09:58.834Z" - } - }, - "analysis_file/0c1db26c-7b42-425a-bdc2-e0939594874b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!4.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "0c1db26c-7b42-425a-bdc2-e0939594874b", - "submission_date": "2019-07-23T05:06:46.564Z", - "update_date": "2019-07-23T06:10:01.826Z" - } - }, - "analysis_file/3edd2d04-d41a-4877-92c0-79f9b81b9d46": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!4.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "3edd2d04-d41a-4877-92c0-79f9b81b9d46", - "submission_date": "2019-07-23T05:06:46.732Z", - "update_date": "2019-07-23T06:10:04.830Z" - } - }, - "analysis_file/1874790c-9a17-48ae-ab4f-5608979d337a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!4.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "1874790c-9a17-48ae-ab4f-5608979d337a", - "submission_date": "2019-07-23T05:06:46.901Z", - "update_date": "2019-07-23T06:10:04.830Z" - } - }, - "analysis_file/270f194e-991f-4eee-a3bf-f3558e0875a7": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!4.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "270f194e-991f-4eee-a3bf-f3558e0875a7", - "submission_date": "2019-07-23T05:06:47.080Z", - "update_date": "2019-07-23T06:10:07.831Z" - } - }, - "analysis_file/d71b2d27-6a8c-4b86-93a8-4c8ed27de03d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!5.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "d71b2d27-6a8c-4b86-93a8-4c8ed27de03d", - "submission_date": "2019-07-23T05:06:47.250Z", - "update_date": "2019-07-23T06:10:10.826Z" - } - }, - "analysis_file/b4eaf58e-77f5-4876-9116-8377b7768301": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!5.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "b4eaf58e-77f5-4876-9116-8377b7768301", - "submission_date": "2019-07-23T05:06:47.431Z", - "update_date": "2019-07-23T06:10:13.833Z" - } - }, - "analysis_file/2c10bd25-0258-4c0f-891b-27e5335aec37": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!5.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "2c10bd25-0258-4c0f-891b-27e5335aec37", - "submission_date": "2019-07-23T05:06:47.602Z", - "update_date": "2019-07-23T06:10:13.833Z" - } - }, - "analysis_file/e05803d2-29fb-4a42-afe1-9eb173d9f175": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!5.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "e05803d2-29fb-4a42-afe1-9eb173d9f175", - "submission_date": "2019-07-23T05:06:47.770Z", - "update_date": "2019-07-23T06:10:16.825Z" - } - }, - "analysis_file/6d20852c-06d3-4187-be32-a6e654480e77": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!5.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "6d20852c-06d3-4187-be32-a6e654480e77", - "submission_date": "2019-07-23T05:06:47.943Z", - "update_date": "2019-07-23T06:10:19.823Z" - } - }, - "analysis_file/a47f0826-d375-4c36-8dfe-e6c7c32f70ac": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!5.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "a47f0826-d375-4c36-8dfe-e6c7c32f70ac", - "submission_date": "2019-07-23T05:06:48.122Z", - "update_date": "2019-07-23T06:10:22.835Z" - } - }, - "analysis_file/522e0dca-0892-4f00-9dde-195b754cb0b8": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!6.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "522e0dca-0892-4f00-9dde-195b754cb0b8", - "submission_date": "2019-07-23T05:06:48.294Z", - "update_date": "2019-07-23T06:10:22.835Z" - } - }, - "analysis_file/b1217476-441a-44de-ab1b-fbe20d24c3ec": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!6.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "b1217476-441a-44de-ab1b-fbe20d24c3ec", - "submission_date": "2019-07-23T05:06:48.464Z", - "update_date": "2019-07-23T06:10:25.828Z" - } - }, - "analysis_file/4694137c-7509-4762-bcc0-f930d1e5a271": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!6.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4694137c-7509-4762-bcc0-f930d1e5a271", - "submission_date": "2019-07-23T05:06:48.634Z", - "update_date": "2019-07-23T06:10:28.835Z" - } - }, - "analysis_file/32cc38e3-118e-40e2-96e1-cd92fe3e11aa": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!6.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "32cc38e3-118e-40e2-96e1-cd92fe3e11aa", - "submission_date": "2019-07-23T05:06:48.805Z", - "update_date": "2019-07-23T06:10:28.835Z" - } - }, - "analysis_file/b72b09fc-9e76-40b4-99fe-8227504be200": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!6.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "b72b09fc-9e76-40b4-99fe-8227504be200", - "submission_date": "2019-07-23T05:06:48.974Z", - "update_date": "2019-07-23T06:10:31.827Z" - } - }, - "analysis_file/a5e57712-e3c6-43ec-b0fc-869d9b66396e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!6.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "a5e57712-e3c6-43ec-b0fc-869d9b66396e", - "submission_date": "2019-07-23T05:06:49.152Z", - "update_date": "2019-07-23T06:10:34.835Z" - } - }, - "analysis_file/080a1ebc-6d00-48ef-b293-138ef083f47d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!7.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "080a1ebc-6d00-48ef-b293-138ef083f47d", - "submission_date": "2019-07-23T05:06:49.326Z", - "update_date": "2019-07-23T06:10:34.835Z" - } - }, - "analysis_file/9b65eed3-eb7a-4c63-9e8f-aeffa81f1e23": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!7.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "9b65eed3-eb7a-4c63-9e8f-aeffa81f1e23", - "submission_date": "2019-07-23T05:06:49.496Z", - "update_date": "2019-07-23T06:10:37.830Z" - } - }, - "analysis_file/0919427e-9f5f-4ce3-baf4-e825f86adbec": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!7.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "0919427e-9f5f-4ce3-baf4-e825f86adbec", - "submission_date": "2019-07-23T05:06:49.665Z", - "update_date": "2019-07-23T06:10:40.838Z" - } - }, - "analysis_file/890b6a2a-99cc-4e0f-b561-45469acce96f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!7.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "890b6a2a-99cc-4e0f-b561-45469acce96f", - "submission_date": "2019-07-23T05:06:49.835Z", - "update_date": "2019-07-23T06:10:40.838Z" - } - }, - "analysis_file/33c48f1d-0909-4e5f-9b41-422c6ab92406": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!7.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "33c48f1d-0909-4e5f-9b41-422c6ab92406", - "submission_date": "2019-07-23T05:06:50.005Z", - "update_date": "2019-07-23T06:10:43.829Z" - } - }, - "analysis_file/c8424e37-f930-4b5c-91b1-93d220968718": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!7.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "c8424e37-f930-4b5c-91b1-93d220968718", - "submission_date": "2019-07-23T05:06:50.176Z", - "update_date": "2019-07-23T06:10:46.838Z" - } - }, - "analysis_file/263cef0c-aac2-4dee-861d-50c74a116b97": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!8.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "263cef0c-aac2-4dee-861d-50c74a116b97", - "submission_date": "2019-07-23T05:06:50.346Z", - "update_date": "2019-07-23T06:10:46.838Z" - } - }, - "analysis_file/8bbac3b8-17b8-48cb-8a08-4bd10da0d852": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!8.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "8bbac3b8-17b8-48cb-8a08-4bd10da0d852", - "submission_date": "2019-07-23T05:06:50.519Z", - "update_date": "2019-07-23T06:10:49.830Z" - } - }, - "analysis_file/ed54d68f-ec20-4925-8096-1aa7a2219166": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!8.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "ed54d68f-ec20-4925-8096-1aa7a2219166", - "submission_date": "2019-07-23T05:06:50.701Z", - "update_date": "2019-07-23T06:10:52.838Z" - } - }, - "analysis_file/26e09825-41c0-47a3-b88e-b3bdda55a64d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!8.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "26e09825-41c0-47a3-b88e-b3bdda55a64d", - "submission_date": "2019-07-23T05:06:50.873Z", - "update_date": "2019-07-23T06:10:52.838Z" - } - }, - "analysis_file/624ae45a-e684-484f-b35c-96c68f1c2818": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!8.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "624ae45a-e684-484f-b35c-96c68f1c2818", - "submission_date": "2019-07-23T05:06:51.044Z", - "update_date": "2019-07-23T06:10:55.831Z" - } - }, - "analysis_file/fe5c88b4-687b-4b66-87f0-271deb195aaf": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!8.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "fe5c88b4-687b-4b66-87f0-271deb195aaf", - "submission_date": "2019-07-23T05:06:51.228Z", - "update_date": "2019-07-23T06:10:58.826Z" - } - }, - "analysis_file/1ff25469-3040-497c-a2ad-ddfcbfa56e81": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!9.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "1ff25469-3040-497c-a2ad-ddfcbfa56e81", - "submission_date": "2019-07-23T05:06:51.400Z", - "update_date": "2019-07-23T06:11:01.832Z" - } - }, - "analysis_file/a4e098fe-d251-4eff-a6c4-1516c3db5f45": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!9.1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "a4e098fe-d251-4eff-a6c4-1516c3db5f45", - "submission_date": "2019-07-23T05:06:51.572Z", - "update_date": "2019-07-23T06:11:04.839Z" - } - }, - "analysis_file/45c524c7-9f61-4fd7-a188-73f2b2f222fe": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!9.2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "45c524c7-9f61-4fd7-a188-73f2b2f222fe", - "submission_date": "2019-07-23T05:06:51.741Z", - "update_date": "2019-07-23T06:11:04.839Z" - } - }, - "analysis_file/a66b12e3-22e0-46b5-8431-49cae2781fa3": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!9.3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "a66b12e3-22e0-46b5-8431-49cae2781fa3", - "submission_date": "2019-07-23T05:06:51.913Z", - "update_date": "2019-07-23T06:11:07.832Z" - } - }, - "analysis_file/d4c479b7-3fa9-45f9-b5dd-d566c069e0b0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!9.4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "d4c479b7-3fa9-45f9-b5dd-d566c069e0b0", - "submission_date": "2019-07-23T05:06:52.087Z", - "update_date": "2019-07-23T06:11:10.838Z" - } - }, - "analysis_file/9ea49dbc-aeec-4c23-89ad-6bb19dc4f3f8": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!expression!9.5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "9ea49dbc-aeec-4c23-89ad-6bb19dc4f3f8", - "submission_date": "2019-07-23T05:06:52.284Z", - "update_date": "2019-07-23T06:11:10.838Z" - } - }, - "analysis_file/0a06b519-54a2-4fe6-a0b9-ced484f2ee88": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!.zarray", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "0a06b519-54a2-4fe6-a0b9-ced484f2ee88", - "submission_date": "2019-07-23T05:06:52.459Z", - "update_date": "2019-07-23T06:11:13.839Z" - } - }, - "analysis_file/09e2872a-e14e-4278-90d9-0272bf674ade": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "09e2872a-e14e-4278-90d9-0272bf674ade", - "submission_date": "2019-07-23T05:06:52.629Z", - "update_date": "2019-07-23T06:11:13.839Z" - } - }, - "analysis_file/4531af8b-472e-4305-8584-136a6139136e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!1", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4531af8b-472e-4305-8584-136a6139136e", - "submission_date": "2019-07-23T05:06:52.799Z", - "update_date": "2019-07-23T06:11:16.851Z" - } - }, - "analysis_file/a21642da-c606-4318-9923-04fef26563c7": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!2", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "a21642da-c606-4318-9923-04fef26563c7", - "submission_date": "2019-07-23T05:06:52.967Z", - "update_date": "2019-07-23T06:11:19.839Z" - } - }, - "analysis_file/cfe7e5fb-90ab-4a31-990f-ebae50e1ac55": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!3", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "cfe7e5fb-90ab-4a31-990f-ebae50e1ac55", - "submission_date": "2019-07-23T05:06:53.138Z", - "update_date": "2019-07-23T06:11:19.839Z" - } - }, - "analysis_file/9e37e92f-fc60-4b1b-807a-b68b332ec42e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!4", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "9e37e92f-fc60-4b1b-807a-b68b332ec42e", - "submission_date": "2019-07-23T05:06:53.309Z", - "update_date": "2019-07-23T06:11:22.831Z" - } - }, - "analysis_file/0a138e45-159d-45ff-afe2-5615cd29e0c3": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_id!5", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "0a138e45-159d-45ff-afe2-5615cd29e0c3", - "submission_date": "2019-07-23T05:06:53.488Z", - "update_date": "2019-07-23T06:11:25.845Z" - } - }, - "analysis_file/4a4baaee-a014-4f01-8796-a78c53d26ff3": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_numeric!.zarray", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "4a4baaee-a014-4f01-8796-a78c53d26ff3", - "submission_date": "2019-07-23T05:06:53.667Z", - "update_date": "2019-07-23T06:11:25.845Z" - } - }, - "analysis_file/ddb54f6b-6286-443d-854e-5cbdd3e73ac9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_numeric!0.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "ddb54f6b-6286-443d-854e-5cbdd3e73ac9", - "submission_date": "2019-07-23T05:06:53.838Z", - "update_date": "2019-07-23T06:11:28.839Z" - } - }, - "analysis_file/82bdd527-5c90-4baa-9970-9067a2c1f7d1": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_numeric_name!.zarray", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "82bdd527-5c90-4baa-9970-9067a2c1f7d1", - "submission_date": "2019-07-23T05:06:54.008Z", - "update_date": "2019-07-23T06:11:28.839Z" - } - }, - "analysis_file/c3feea3c-fcf6-46f5-93db-dd54433e3cf4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_numeric_name!0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "c3feea3c-fcf6-46f5-93db-dd54433e3cf4", - "submission_date": "2019-07-23T05:06:54.179Z", - "update_date": "2019-07-23T06:11:31.841Z" - } - }, - "analysis_file/ff3620c9-5c36-48c0-a4ec-937fd585636e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_string!.zarray", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "ff3620c9-5c36-48c0-a4ec-937fd585636e", - "submission_date": "2019-07-23T05:06:54.347Z", - "update_date": "2019-07-23T06:11:31.841Z" - } - }, - "analysis_file/e727ebf7-276b-4704-801d-cd2f3b81a5c5": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_string!0.0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "e727ebf7-276b-4704-801d-cd2f3b81a5c5", - "submission_date": "2019-07-23T05:06:54.518Z", - "update_date": "2019-07-23T06:11:34.836Z" - } - }, - "analysis_file/fab74ba6-81c8-4d8c-b8c3-9b82e31f5b9f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_string_name!.zarray", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "fab74ba6-81c8-4d8c-b8c3-9b82e31f5b9f", - "submission_date": "2019-07-23T05:06:54.688Z", - "update_date": "2019-07-23T06:11:37.844Z" - } - }, - "analysis_file/2b264ded-d29d-43e2-8288-26ab7ab1406b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "13eab62e-0038-4997-aeab-aa3192cc090e.zarr!expression_matrix!gene_metadata_string_name!0", - "format": "unknown" - }, - "schema_type": "file", - "provenance": { - "document_id": "2b264ded-d29d-43e2-8288-26ab7ab1406b", - "submission_date": "2019-07-23T05:06:54.866Z", - "update_date": "2019-07-23T06:11:37.844Z" - } - }, - "analysis_file/86db2ba1-16df-4d73-afea-18148d4e7faa": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.0.0/analysis_file", - "file_core": { - "file_name": "empty_drops_result.csv", - "format": "csv" - }, - "schema_type": "file", - "provenance": { - "document_id": "86db2ba1-16df-4d73-afea-18148d4e7faa", - "submission_date": "2019-07-23T05:06:55.037Z", - "update_date": "2019-07-23T06:01:52.777Z" - } - }, - "sequence_file/3f193e72-8efe-4c2a-ace1-79140ca36477": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.1.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "BoneMarrow_CD34_2_IGO_07861_2_S2_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "checksum": "4045d9611e200e9d387fd8fcf07cf56f" - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 26, - "library_prep_id": "lib_prep_7", - "provenance": { - "document_id": "3f193e72-8efe-4c2a-ace1-79140ca36477", - "submission_date": "2019-07-18T21:12:40.045Z", - "update_date": "2019-07-18T21:22:48.292Z" - } - }, - "sequence_file/078b71eb-220a-43e5-a0fc-4f231e90f85f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.1.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "BoneMarrow_CD34_2_IGO_07861_2_S2_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "checksum": "6f77234a0d49093b45c3b974ec0d9790" - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 98, - "library_prep_id": "lib_prep_7", - "provenance": { - "document_id": "078b71eb-220a-43e5-a0fc-4f231e90f85f", - "submission_date": "2019-07-18T21:12:40.053Z", - "update_date": "2019-07-18T21:25:28.971Z" - } - }, - "project/091cf39b-01bc-42e5-9437-f419a66c8a45": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.0.2/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Human Hematopoietic Profiling", - "project_title": "Profiling of CD34+ cells from human bone marrow to understand hematopoiesis", - "project_description": "Differentiation is among the most fundamental processes in cell biology. Single cell RNA-seq studies have demonstrated that differentiation is a continuous process and in particular cell states are observed to reside on largely continuous spaces. We have developed Palantir, a graph based algorithm to model continuities in cell state transitions and cell fate choices. Modeling differentiation as a Markov chain, Palantir determines probabilities of reaching terminal states from cells in each intermediate state. The entropy of these probabilities represent the differentiation potential of the cell in the corresponding state. Applied to single cell RNA-seq dataset of CD34+ hematopoietic cells from human bone marrows, Palantir accurately identified key events leading up to cell fate commitment. Integration with ATAC-seq data from bulk sorted populations helped identify key regulators that correlate with cell fate specification and commitment." - }, - "publications": [ - { - "authors": [ - "Setty Manu", - "Kieseliovas Vaidotas", - "Levine Jacob", - "Gayoso Adam", - "Mazutis Linas", - "Pe'er Dana" - ], - "title": "Palantir characterizes cell fate continuities in human hematopoiesis", - "doi": "10.1101/385328", - "url": "https://www.biorxiv.org/content/biorxiv/early/2018/08/05/385328.full.pdf" - } - ], - "funders": [ - { - "grant_id": "DP1-HD084071", - "organization": "National Institutes of Health" - }, - { - "grant_id": "NIH R01CA164729", - "organization": "National Institutes of Health" - }, - { - "grant_id": "P30 CA008748", - "organization": "Gerry Center for Metastasis and Tumor Ecosystems" - } - ], - "contributors": [ - { - "name": "Manu,, Setty", - "email": "manu.talanki@gmail.com", - "phone": "9175451407", - "institution": "Sloan Kettering Institute", - "laboratory": "Pe'er", - "address": "Memorial Sloan Kettering Cancer Center, 1275 York Avenue, New York, NY 10065", - "country": "USA", - "corresponding_contributor": true - }, - { - "name": "Vaidotas,, Kiseliovas", - "email": "vaidotaskiseliovas@yahoo.com", - "phone": "6463480473", - "institution": "Sloan Kettering Institute", - "laboratory": "Pe'er", - "address": "Memorial Sloan Kettering Cancer Center, 1275 York Avenue, New York, NY 10065", - "country": "USA" - }, - { - "name": "Dana,, Pe'er", - "email": "peerster@gmail.com", - "phone": "646-888-2619", - "institution": "Sloan Kettering Institute", - "laboratory": "Pe'er", - "address": "Memorial Sloan Kettering Cancer Center, 1275 York Avenue, New York, NY 10065", - "country": "USA", - "project_role": { - "ontology": "EFO:0009736", - "ontology_label": "principal investigator", - "text": "principal investigator" - }, - "corresponding_contributor": true - }, - { - "name": "Parisa,, Nejad", - "email": "pnejad@ucsc.edu", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "project_role": { - "ontology": "EFO:0009737", - "ontology_label": "data curator", - "text": "Human Cell Atlas wrangler" - }, - "corresponding_contributor": false - } - ], - "provenance": { - "document_id": "091cf39b-01bc-42e5-9437-f419a66c8a45", - "submission_date": "2019-07-18T21:12:39.717Z", - "update_date": "2019-07-18T21:12:44.350Z" - } - }, - "analysis_protocol/d3e7bf92-3c6b-433d-a4ac-488b9d099a74": { - "computational_method": "Optimus", - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/9.0.0/analysis_protocol", - "protocol_core": { - "protocol_id": "optimus_v1.3.1" - }, - "schema_type": "protocol", - "type": { - "text": "analysis" - }, - "provenance": { - "document_id": "d3e7bf92-3c6b-433d-a4ac-488b9d099a74", - "submission_date": "2019-07-23T05:06:04.581Z", - "update_date": "2019-07-23T05:06:10.475Z" - } - }, - "library_preparation_protocol/dc19bb22-ae7b-431b-9b8b-7b49799a8fcd": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.1.1/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HS_BM_P1_LibPrep1", - "protocol_name": "10X Chromium Single Cell 3' Solution v2 Chemistry", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevD.pdf" - }, - "cell_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16, - "white_list_file": "737K-august-2016.txt" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "mRNA", - "ontology": "CHEBI:33699" - }, - "library_construction_method": { - "text": "10X v2 sequencing", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "library_construction_kit": { - "retail_name": "10X Chromium Single Cell 3' Solution v2 Chemistry", - "catalog_number": "120237", - "manufacturer": "10X Genomics", - "lot_number": "151634", - "expiry_date": "2018-07-13" - }, - "nucleic_acid_conversion_kit": { - "retail_name": "10X Chromium Single Cell 3' Solution v2 Chemistry", - "catalog_number": "151634", - "manufacturer": "10X Genomics", - "lot_number": "151634", - "expiry_date": "2018-07-13" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "first", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 16, - "barcode_length": 10 - }, - "provenance": { - "document_id": "dc19bb22-ae7b-431b-9b8b-7b49799a8fcd", - "submission_date": "2019-07-18T21:12:39.848Z", - "update_date": "2019-07-18T21:12:44.269Z" - } - }, - "sequencing_protocol/461851b8-55a5-4ae6-a52a-5bca71a00beb": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HS_BM_P1_Seq1", - "protocol_name": "10X Chromium Single Cell 3' Solution v2 Chemistry", - "document": "CG00052_SingleCell3_ReagentKitv2UserGuide_RevD.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565" - }, - "paired_end": false, - "method": { - "text": "tag-based single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "provenance": { - "document_id": "461851b8-55a5-4ae6-a52a-5bca71a00beb", - "submission_date": "2019-07-18T21:12:39.854Z", - "update_date": "2019-07-18T21:12:44.253Z" - } - }, - "collection_protocol/79f7c6ac-ada8-4c17-86ec-e73e87b94374": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.1.1/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "collection_protocol", - "protocol_name": "bone marrow aspiration", - "protocol_description": "AllCells, LLC Bone Marrow Aspiration Protocol" - }, - "method": { - "text": "bone marrow aspiration", - "ontology": "EFO:0009292" - }, - "provenance": { - "document_id": "79f7c6ac-ada8-4c17-86ec-e73e87b94374", - "submission_date": "2019-07-18T21:12:39.836Z", - "update_date": "2019-07-18T21:12:44.265Z" - } - }, - "enrichment_protocol/5d9fc5a2-5516-4205-9d6e-8d0d674f146f": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.0.1/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "HS_BM_Enrichment_Protocol", - "protocol_name": "Enrichment for CD34+ CD38- cells", - "protocol_description": "FACS sorting for CD34+ CD38- cells" - }, - "method": { - "ontology_label": "fluorescence-activated cell sorting", - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "markers": "CD34+ CD38-", - "provenance": { - "document_id": "5d9fc5a2-5516-4205-9d6e-8d0d674f146f", - "submission_date": "2019-07-18T21:12:39.843Z", - "update_date": "2019-07-18T21:12:44.344Z" - } - }, - "analysis_process/af6dce39-9d35-4299-8239-03ba1d513342": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/11.0.1/analysis_process", - "input_bundles": [ - "cfab8304-dc9f-439e-af29-f8eb75b0729d" - ], - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "gs://org-hca-dss-checkout-prod/bundles/cfab8304-dc9f-439e-af29-f8eb75b0729d.2019-07-18T212820.595913Z/BoneMarrow_CD34_2_IGO_07861_2_S2_L001_R1_001.fastq.gz" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "gs://org-hca-dss-checkout-prod/bundles/cfab8304-dc9f-439e-af29-f8eb75b0729d.2019-07-18T212820.595913Z/BoneMarrow_CD34_2_IGO_07861_2_S2_L001_R2_001.fastq.gz" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "sample_id", - "parameter_value": "13eab62e-0038-4997-aeab-aa3192cc090e" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - } - ], - "process_core": { - "process_id": "e704b83f-409c-4df1-a6e8-cc4afadcbef3" - }, - "reference_bundle": "00000000-0000-0000-0000-000000000000", - "schema_type": "process", - "tasks": [ - { - "cpus": 2, - "disk_size": "local-disk 27 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.2", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-AttachBarcodesNoIndex/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-AttachBarcodesNoIndex/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2019-07-22T22:49:08.678Z", - "stop_time": "2019-07-23T00:34:49.370Z", - "task_name": "AttachBarcodesNoIndex", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.3", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-CalculateCellMetrics/shard-0/stdout", - "memory": "3.759765625 GB", - "start_time": "2019-07-23T03:58:32.589Z", - "stop_time": "2019-07-23T04:26:25.369Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.3", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "21.484375 GB", - "start_time": "2019-07-23T03:54:17.429Z", - "stop_time": "2019-07-23T04:12:44.363Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.2", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-CellSortBam/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-CellSortBam/shard-0/stdout", - "memory": "42.96875 GB", - "start_time": "2019-07-23T03:39:14.729Z", - "stop_time": "2019-07-23T03:58:31.372Z", - "task_name": "CellSortBam", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-CorrectUMItools/shard-0/stdout", - "memory": "10.7421875 GB", - "start_time": "2019-07-23T03:21:59.418Z", - "stop_time": "2019-07-23T03:39:13.369Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 22 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.2", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2019-07-23T03:51:56.669Z", - "stop_time": "2019-07-23T04:00:37.370Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-FastqToUBam/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-FastqToUBam/shard-0/stdout", - "memory": "3.759765625 GB", - "start_time": "2019-07-22T21:38:05.087Z", - "stop_time": "2019-07-22T21:58:54.366Z", - "task_name": "FastqToUBam", - "zone": "us-central1-b" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.2", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-GeneSortBam/shard-0/stdout", - "memory": "42.96875 GB", - "start_time": "2019-07-23T03:39:14.729Z", - "stop_time": "2019-07-23T03:54:16.369Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.3", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-MergeCellMetrics/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2019-07-23T04:39:00.598Z", - "stop_time": "2019-07-23T04:46:25.369Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.2", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-MergeCountFiles/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2019-07-23T04:14:36.818Z", - "stop_time": "2019-07-23T04:25:37.367Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.3", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-MergeGeneMetrics/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2019-07-23T04:38:31.019Z", - "stop_time": "2019-07-23T04:48:01.369Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-MergeSorted/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2019-07-23T04:04:04.088Z", - "stop_time": "2019-07-23T04:48:40.373Z", - "task_name": "MergeSorted", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 6 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-ModifyGtf/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-ModifyGtf/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2019-07-23T02:07:58.900Z", - "stop_time": "2019-07-23T02:08:13.387Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b" - }, - { - "cpus": 4, - "disk_size": "local-disk 100 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-python3-scientific:0.1.10", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-OptimusZarrConversion/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-OptimusZarrConversion/stdout", - "memory": "18 GB", - "start_time": "2019-07-23T04:48:03.409Z", - "stop_time": "2019-07-23T04:56:52.384Z", - "task_name": "OptimusZarrConversion", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-PreCountSort/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2019-07-23T03:39:14.728Z", - "stop_time": "2019-07-23T03:51:55.368Z", - "task_name": "PreCountSort", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2019-07-23T03:39:14.729Z", - "stop_time": "2019-07-23T03:49:52.379Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 58 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-PreUMISort/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2019-07-23T03:09:24.399Z", - "stop_time": "2019-07-23T03:21:58.370Z", - "task_name": "PreUMISort", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.1", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-RunEmptyDrops/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-RunEmptyDrops/stdout", - "memory": "4.296875 GB", - "start_time": "2019-07-23T04:25:38.879Z", - "stop_time": "2019-07-23T04:36:28.369Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b" - }, - { - "cpus": 2, - "disk_size": "local-disk 34 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-ScatterBamFiles/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-ScatterBamFiles/shard-0/stdout", - "memory": "7.5 GB", - "start_time": "2019-07-23T00:34:56.137Z", - "stop_time": "2019-07-23T01:34:07.371Z", - "task_name": "ScatterBamFiles", - "zone": "us-central1-b" - }, - { - "cpus": 16, - "disk_size": "local-disk 500 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.5", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-SplitBamByCellBarcode/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-SplitBamByCellBarcode/stdout", - "memory": "3.759765625 GB", - "start_time": "2019-07-23T01:34:11.878Z", - "stop_time": "2019-07-23T02:07:55.367Z", - "task_name": "SplitBamByCellBarcode", - "zone": "us-central1-b" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-StarAlign/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2019-07-23T02:07:58.900Z", - "stop_time": "2019-07-23T02:56:22.369Z", - "task_name": "StarAlign", - "zone": "us-central1-b" - }, - { - "cpus": 1, - "disk_size": "local-disk 28 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-TagGenes/shard-0/stderr", - "log_out": "gs://hca-dcp-pipelines-prod-cromwell-execution/caas-cromwell-executions/AdapterOptimus/08adf7a9-f0cc-4cb4-ad74-af315a786eb0/call-analysis/Optimus.Optimus/e704b83f-409c-4df1-a6e8-cc4afadcbef3/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2019-07-23T02:56:24.098Z", - "stop_time": "2019-07-23T03:09:22.367Z", - "task_name": "TagGenes", - "zone": "us-central1-b" - } - ], - "timestamp_start_utc": "2019-07-22T21:37:59.978Z", - "timestamp_stop_utc": "2019-07-23T04:56:54.830Z", - "type": { - "text": "analysis" - }, - "provenance": { - "document_id": "af6dce39-9d35-4299-8239-03ba1d513342", - "submission_date": "2019-07-23T05:06:05.705Z", - "update_date": "2019-07-23T05:06:10.588Z" - } - }, - "process/f59c9106-16a8-47f8-b681-490d23ee09de": { - "start_time": "2017-08-08T00:00:00Z", - "process_core": { - "operators": [ - "Vaidotas Kiseliovas" - ], - "location": "Memorial Sloan Kettering Cancer Center", - "process_id": "lib_prep_7" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.1.1/process", - "provenance": { - "document_id": "f59c9106-16a8-47f8-b681-490d23ee09de", - "submission_date": "2019-07-18T21:12:40.246Z", - "update_date": "2019-07-18T21:12:44.356Z" - } - }, - "process/a03f7164-419b-4792-9a52-e6dda08b85bc": { - "process_core": { - "process_id": "process_id_10" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.1.1/process", - "provenance": { - "document_id": "a03f7164-419b-4792-9a52-e6dda08b85bc", - "submission_date": "2019-07-18T21:12:40.185Z", - "update_date": "2019-07-18T21:12:44.410Z" - } - }, - "process/57d2c83d-cd8b-44c9-9644-c3475a44b0a7": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.1.1/process", - "provenance": { - "document_id": "57d2c83d-cd8b-44c9-9644-c3475a44b0a7", - "submission_date": "2019-07-18T21:12:40.134Z", - "update_date": "2019-07-18T21:12:44.498Z" - } - }, - "process/8b1f44be-7eaa-4030-b6c5-697c5fc388eb": { - "process_core": { - "location": "AllCells, LLC", - "process_id": "HS_BM_P3_Run1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.1.1/process", - "provenance": { - "document_id": "8b1f44be-7eaa-4030-b6c5-697c5fc388eb", - "submission_date": "2019-07-18T21:12:40.114Z", - "update_date": "2019-07-18T21:12:44.455Z" - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.5/links", - "schema_type": "link_bundle", - "schema_version": "1.1.5", - "links": [ - { - "process": "af6dce39-9d35-4299-8239-03ba1d513342", - "inputs": [ - "3f193e72-8efe-4c2a-ace1-79140ca36477", - "078b71eb-220a-43e5-a0fc-4f231e90f85f" - ], - "input_type": "file", - "outputs": [ - "2afae9e4-be02-4d57-bc44-24931f71d54c", - "7a42f079-a318-4975-9d91-8f1e816531de", - "aaaf3d7b-9602-4d74-aa6f-b429e1e8b8ef", - "433f86ab-0a07-4f8c-ac18-b4dec37fa434", - "5ec54ddd-c6d7-4ae6-a822-94720c7bdbd1", - "b7890117-4733-4979-91ec-ba0208e088e9", - "5350b852-077e-43e3-885b-d1b37b3d7a6e", - "2c0bc0eb-739f-42ea-a5df-7d2943977fab", - "93153632-bf8c-49bb-a283-00957c7f853c", - "01d206e5-47b4-48dd-b823-74e62e2325d1", - "752857d0-35f9-46fa-9888-fde25f21195b", - "ded3278c-98d4-43d1-81ce-5233f7123842", - "2e205f24-56cc-40ec-81b1-c17ebd0a5047", - "cc486886-d9a2-44e6-8bf3-84a84c035ff6", - "20ac4de0-bb12-4f99-9e54-bd6f284c741a", - "d6ccfc37-bccb-463f-bd96-53accf9b5803", - "12c88fdb-2350-498c-a51c-6f93fad50621", - "bf4431ba-80da-468c-852b-7dbe008519f6", - "4018b8da-201c-423b-a26a-737549674742", - "8be955e9-eb4e-4834-8576-0fd7ba1c672d", - "291bc053-766d-4b04-aa69-53a7d6a05366", - "80b4596c-4047-40f7-8e90-d7ba13c3aba4", - "bd8f069d-1b75-4f7d-b10a-55efe37e4625", - "287203a8-b15c-4fc9-ade7-4bfa9b4928e7", - "3574966b-2810-45e2-8a1f-bb20a183d9c2", - "5a2aa294-f923-4331-98c0-e9556263252e", - "1e84fd86-6cd6-4533-8b48-cd314820e9a9", - "058de439-51f8-47d4-8e63-c98ea902e527", - "f7ab60fb-4ffb-43d5-8ce3-1ce6559d97b5", - "f42e5e79-a8a9-425d-a4bb-b1e3b166f3d4", - "2c0a6b30-a4f7-4edf-86b3-bf344e895893", - "80224b34-0cab-4b02-95db-99573c3aaf4d", - "48ca6e39-74f8-458e-8233-7e310a873f1d", - "0e722000-9c5a-409e-b113-6f1382317a61", - "b4038c93-a07c-4573-8d5a-0428fb766db0", - "c847ae70-af73-4294-bbdc-b0ac1f10fcc3", - "0074fd7c-1c4a-45bb-9a3e-f27f4d66d9d8", - "fb66bdf7-df50-4ef1-8c11-e643afc4e1a2", - "981391eb-6ed5-4f38-8b50-99c49db205dc", - "7f9e2c6c-abfa-46f6-84bf-c7957c2e25b5", - "182fa5c6-b762-414d-8117-d1b7fd6b554a", - "00689444-5c04-4d33-bc48-bf9412382086", - "80168b45-6e50-4385-902a-b9da569f272b", - "63731ed9-61dd-4e32-9696-89b7c4778819", - "cd4c3355-1e7f-4e6f-989b-b067bcd257d9", - "12499e08-3eda-42f6-97f1-bb5e6d6b2dc4", - "d0247302-2653-423d-9945-b160f29a6658", - "fe8110a2-8616-4bdd-a867-b44612f7904f", - "a3c971eb-dd56-4dcd-adb1-530ac7fefca2", - "ea51d2fb-3e38-45b4-b547-683068565fb4", - "742d8919-182d-4c87-a15d-8857616e9e6a", - "05d16edd-0757-4497-804a-2d540f280f5f", - "e8876fea-5529-4e3c-8a1f-6cd0351d95fc", - "97c23453-969b-4603-8118-6dfed4c48f67", - "4687994b-b705-4e73-be71-45d6269e952e", - "90ee27d0-46f5-4d79-9e89-708f0f969856", - "50752731-16ef-4a55-a849-e3cbf749ce0e", - "4e1db8fa-f50b-417d-a047-345bba0e64cf", - "031e23ee-5241-4246-b832-aaee8f0f32d8", - "0270628f-f67b-4505-96b2-c994d6c159ef", - "345c650f-6d32-45e6-b8a3-2aab65feb7b5", - "0eda79f2-acc0-429e-8e95-0d85a2c64cc7", - "d4971e90-dc72-4f56-a7f4-b1dc674c34af", - "d333e0a8-0428-498b-956a-8fac862fe90f", - "d044293c-91ae-469f-bcbd-482bb28936b7", - "bfdc0ca0-8496-470f-a530-366d64724913", - "652a99d4-6f59-452e-8bf3-b506baf5c68e", - "68b5d945-61e4-420c-8cda-95b13bb445b0", - "780ff7bd-0956-4463-b62d-8044d7c17d32", - "83934dc7-4fb2-4008-b271-21e5312b12cf", - "4fa32ba3-795d-4e12-9f49-a74b0646117c", - "7820661d-0fb0-429d-b05e-60391c966b4c", - "20f93fc9-6279-4957-89a5-2f95eb2e5eba", - "caaa5c54-76db-4276-8e3e-11678dc67d38", - "105acdb5-4534-4d5d-aecd-ba39c0af7516", - "2eef66ef-69be-4756-9314-38f26e642e9e", - "0fb81d85-3fb8-4f37-9e34-11711bf73ee8", - "a3ea4aa6-ebea-4666-a593-1287d2542ec9", - "183032e5-8166-48ec-8788-6d5e995495f4", - "70a6e1d8-b5f6-43e9-b3a2-d48b3bc1c0d3", - "658705d6-5c0f-4039-b988-92476b75822f", - "b9948faf-c59b-4a20-afdd-3e11527dccab", - "27902245-0646-4e5a-8f4a-de716ae84ba6", - "50351aa9-f9e3-4b17-9ac6-9989d3b8c689", - "5b1857c9-1869-4d63-9877-eedc6bb325ca", - "1ce46a1b-be2f-42c6-94e2-16a77807f0e0", - "94145a97-1909-4451-8f2b-eefd3aa00fc4", - "13b6df9f-d6e3-4ab3-83bf-299d25f99da8", - "6fc75489-bb46-468b-b363-06da1202a36e", - "c8e61d41-7ec3-47f0-96f9-23d508752ad1", - "f3502c95-418e-4588-91ec-b40c210d8d2a", - "e5248a6a-63f8-44e9-a89b-6a36371849ca", - "c5c50917-2fba-4e94-99f6-cb8f78da4530", - "df1d6920-c7ca-4ce1-96ac-0d0bf1e38939", - "9218468d-abba-45b8-a3a8-406bbee87d42", - "01fb2583-dd9b-47ac-9109-425786f6c626", - "fef83950-8e0e-40d8-9280-195c4917e9c8", - "11f74322-70bc-4a3f-aa54-f86fb5e84e49", - "57929f1f-6edd-47b7-91cb-075c823b10ad", - "079817a8-aad3-4ecd-bdcf-76e33aeade68", - "1a10e188-28f2-46e2-893d-204f79ec9cff", - "522867a7-4a65-429f-bf54-f94f1a81f369", - "d80a9d3a-9795-4d95-ad57-a34cc238498f", - "833d0701-41d0-4cfd-bb55-38a83db95835", - "985ff7ff-a52d-4f12-afe5-9153225b12ac", - "f5ccbc84-4e00-44d5-a848-c4bc598ddb1f", - "7dc17a8c-3bac-48f5-b2e4-dfa37bb63c12", - "b8f6b2a3-4dc0-4f9c-89e2-d287eea185d7", - "4f0edb28-144e-4559-bf1e-fccce4065291", - "57d4bbc3-b8bb-43b8-90d6-d0ac4a0ef1b4", - "824933fe-baa3-420f-baec-39f98ddb6224", - "07ee5567-37da-4cec-8621-53a4d41ce93d", - "e7983d22-c3f6-4dee-b108-4409696b108b", - "3e3d666c-0b85-4327-89df-c0b11ae04f7b", - "3ce1634c-ff05-4b38-8df5-b0ea50f678e8", - "08e38951-56ae-4d9e-aa95-13a0a5aae502", - "43b66c0c-ffae-46b8-aee8-58e9f18e9f2a", - "e71897c8-3fe9-4863-9c67-2f189c374c33", - "c9987133-b461-4362-b8c5-1a19315c2010", - "44e604c4-860a-47e2-a20f-ec6189153179", - "33a76ba7-d866-43d5-93bf-5ea6d658669b", - "b1047e56-5327-48e6-a95a-fae2e111897a", - "182506c0-48a4-4824-8653-2ea690e6e59e", - "e5db27d2-3b4f-4174-b892-972bb155841f", - "86e060c2-189f-49d3-81c4-bc70bb242bf7", - "a72a8bd5-f137-4244-9d0c-c4e98f4dd7e5", - "90ccebea-84aa-41d9-87d0-8fda919b4ded", - "af64b766-7778-42d0-af3f-9dc481678d53", - "c31c57d2-8c68-4759-8c20-f928c5adea12", - "c8a7a724-33bd-415a-9329-5c4fed847be6", - "f0b6354a-ed57-445b-8f25-459e070c3604", - "dd386984-9618-4f21-91fe-7eb0bcad675e", - "3d11a67a-4d43-4a80-a875-8aef2348e4c3", - "666c7a78-0881-462e-aee9-3731f1be10c7", - "4e3b3ebd-819c-4143-9d32-a8013d3c7039", - "3950e1d4-f084-4440-88dc-a1917d42aa92", - "a9843500-9ce8-49eb-bf58-0dfa807a7149", - "00fd63b3-ffe1-439c-bf85-a224fea6ff17", - "50bfb16b-0e62-48bf-8ae8-289e1a003cca", - "6432f0f6-5011-4412-b146-212876e21e77", - "cfffdf17-b11a-4720-af77-3d1da94cfb1f", - "7a6c8b19-6c94-4346-9ff9-a54765110e13", - "dae7113c-35e1-46ef-a6d0-53f2c3be9617", - "75c7091d-e635-4df1-b670-fa7b42c7bb60", - "0e669062-e8ce-4fb6-a853-7630402a4ac4", - "c0fd4cbd-1584-4d4d-a914-1a9685961c2f", - "806695f0-caea-4994-9941-9ff2499e564c", - "feff32fa-6b89-4054-bc60-d0fb7d32875a", - "5d9f525c-5977-434d-8fd1-eb6e81f300a6", - "4846ef52-b97f-41f8-8ad6-116f7374c7da", - "591b11ea-4314-46ff-8e1a-b08463dfeb6c", - "69fc6d1f-06a6-4ba5-97a6-9597d9d7e4ba", - "65af9aa3-5656-49d8-82b8-ef819da3be57", - "f0bc7821-c50c-4457-a73a-ea54e7f802e9", - "2ddd447d-ab33-420a-a120-00081eedc5e6", - "8961082f-b3da-40ce-b925-ee66d815af6c", - "df1d2a75-b4ea-499b-bd59-423f1597dc23", - "75816a17-b08b-49b2-8ae9-1663dc554f0c", - "4f44b2bb-7f6b-4c92-8cd4-265b4701600e", - "6e40a5e4-8502-4aad-ba36-581c94d3fecd", - "bdb05c8d-cee4-49e2-aa96-c4c0955cab9f", - "f6bd9ac1-511a-45bd-b544-8a3a719c24f0", - "507cdfe8-e1d5-4022-addf-5a925c6d1596", - "1ec8b57d-e388-4780-abfd-d1d27e96073b", - "897fa0f4-fe2e-47c5-8423-9631c905f684", - "f85725ed-d0f8-474e-83c0-b1e285b1bffa", - "11f55a0e-dc89-4979-bd9a-b4f386876cb9", - "9baeb127-b802-4e9b-99bd-2c4e292c0083", - "e2cba3c2-caa8-48ed-8e93-c2df94ceaf20", - "08c497ca-781c-4be6-97b7-dc898aa057b4", - "12e5e6ad-2706-4974-8741-30835f0f4084", - "2f83e7b6-b82f-4fdb-92f3-17e54d22493a", - "cbba648a-49df-406e-b6b0-ff5e6994b56c", - "603bb7a4-c08b-4f60-8bd3-b8a868331b8f", - "b21b9a93-a5ab-4045-80cb-010ef8969cc5", - "c9d52e49-90ac-4159-913c-0ef579c2d00b", - "f3ee8a7f-ef00-417e-90b5-193579110532", - "fa977d76-ece4-47c1-9212-a033217523a6", - "8da407f0-39cf-43c4-9250-0ba72fff2af7", - "6283a894-b4cf-4bd3-99e3-f12c9110d36e", - "f4956c61-e2b7-46d5-a2e4-f641fbbfc304", - "aa393ce4-a6fd-4759-824e-729a43b9be59", - "9e08f649-6bd2-4504-96fc-c1d4ee09324f", - "19aba152-975a-4942-b953-b1ced7535a79", - "7c023882-23a1-46c8-800f-484af5253eb2", - "17527f54-54b8-4f78-8dd9-87882dc0fc9b", - "f8dd465e-50c6-4e9c-9795-4ef6dd6797a5", - "3de81811-865d-4fa7-a8c7-bea303bb53df", - "4bff4802-f142-44d3-a166-bf60cc655b44", - "59b50701-f235-4a7c-978b-420d03b6fa44", - "b752a02d-bb2f-4632-b820-9ef817d477ed", - "d0753d9f-219b-4ab8-bf4e-a8f539350153", - "6209fcd2-deec-4adc-944d-a2b4b3a9fdd9", - "f3a20322-945c-4eb1-a01e-8666e522d5f6", - "b278a327-9685-44dd-b694-b4c4504cc315", - "0c61d54f-64a2-4242-9e71-5b04464c948d", - "51302cec-b8fc-4902-9f70-6419677357c3", - "071dc595-4162-4fa6-aa45-54724c308c70", - "9aa478a3-1247-459b-80ac-43cbe091a538", - "c0bcca58-6d54-4556-b9a4-e5e171992dc0", - "5920491d-bcfe-4f9e-9b48-859afb965041", - "a8cc3371-471a-4e45-8e51-d5aa4d77d89a", - "6015140c-a1e1-4644-b783-e0b9a21ce091", - "322562e0-4e3f-434f-a302-1567d46d9e5c", - "00231db3-8195-457a-8a97-e6d0ef754f23", - "4e656dc6-5b0d-4195-8afa-e8fc0dff2135", - "08c509c4-8984-4207-904c-49cbe4ded542", - "fccac52f-701b-4748-8aca-e9d75aab055e", - "58ca5671-6477-4639-b041-ba6ae71bdb75", - "81e7fea4-13d8-4be2-bf04-e2700feafc5b", - "0d4e13c1-f806-4848-ba2f-fb2ddf8d1f01", - "bb530315-61b4-47d5-99eb-9e76f3b1b19b", - "1a62335d-e8a6-495e-80b0-bc109aa9cf04", - "9b0015d6-d4ad-4344-b881-19f63dc9c164", - "db4468f6-6f2f-4cae-9f50-3e2487063143", - "e0fba685-682c-4a8c-a4c1-7469075d2355", - "84db4a86-cf50-4e00-aaab-4a277737f085", - "f719374f-7e9d-4aa0-a135-37d378018385", - "df814431-6493-4c7a-ae77-f615174cc8f0", - "1702dba8-95ac-4222-ab70-4a09c1281f17", - "a4ebbbda-8cf0-4dd3-acf2-935d4b21e635", - "8cd2eb55-a0a7-449c-89f6-8955916433f3", - "980a0a6e-0f00-417f-aaff-a70c28930008", - "8248bc28-ed8e-4445-a3c9-8d86dbef1c33", - "28dc1d99-864a-40f3-b352-091bfa830f44", - "2054c82b-ab2d-4f2b-b36d-474ee1967db6", - "2e3fff44-0895-41ee-9fc2-392c60970871", - "4b65b43d-3f81-480d-9b56-64f32f05ae4a", - "f3a76c83-575b-4632-a199-79d224a41491", - "834a3d7f-03c5-4b80-b812-e46c7a41ea85", - "b96baaa5-a935-4613-a57a-d46680d65024", - "0de7c34d-c46d-451c-9cce-456604ff8098", - "27c0877d-17d8-4f7d-8f29-cac03169a134", - "0c1db26c-7b42-425a-bdc2-e0939594874b", - "3edd2d04-d41a-4877-92c0-79f9b81b9d46", - "1874790c-9a17-48ae-ab4f-5608979d337a", - "270f194e-991f-4eee-a3bf-f3558e0875a7", - "d71b2d27-6a8c-4b86-93a8-4c8ed27de03d", - "b4eaf58e-77f5-4876-9116-8377b7768301", - "2c10bd25-0258-4c0f-891b-27e5335aec37", - "e05803d2-29fb-4a42-afe1-9eb173d9f175", - "6d20852c-06d3-4187-be32-a6e654480e77", - "a47f0826-d375-4c36-8dfe-e6c7c32f70ac", - "522e0dca-0892-4f00-9dde-195b754cb0b8", - "b1217476-441a-44de-ab1b-fbe20d24c3ec", - "4694137c-7509-4762-bcc0-f930d1e5a271", - "32cc38e3-118e-40e2-96e1-cd92fe3e11aa", - "b72b09fc-9e76-40b4-99fe-8227504be200", - "a5e57712-e3c6-43ec-b0fc-869d9b66396e", - "080a1ebc-6d00-48ef-b293-138ef083f47d", - "9b65eed3-eb7a-4c63-9e8f-aeffa81f1e23", - "0919427e-9f5f-4ce3-baf4-e825f86adbec", - "890b6a2a-99cc-4e0f-b561-45469acce96f", - "33c48f1d-0909-4e5f-9b41-422c6ab92406", - "c8424e37-f930-4b5c-91b1-93d220968718", - "263cef0c-aac2-4dee-861d-50c74a116b97", - "8bbac3b8-17b8-48cb-8a08-4bd10da0d852", - "ed54d68f-ec20-4925-8096-1aa7a2219166", - "26e09825-41c0-47a3-b88e-b3bdda55a64d", - "624ae45a-e684-484f-b35c-96c68f1c2818", - "fe5c88b4-687b-4b66-87f0-271deb195aaf", - "1ff25469-3040-497c-a2ad-ddfcbfa56e81", - "a4e098fe-d251-4eff-a6c4-1516c3db5f45", - "45c524c7-9f61-4fd7-a188-73f2b2f222fe", - "a66b12e3-22e0-46b5-8431-49cae2781fa3", - "d4c479b7-3fa9-45f9-b5dd-d566c069e0b0", - "9ea49dbc-aeec-4c23-89ad-6bb19dc4f3f8", - "0a06b519-54a2-4fe6-a0b9-ced484f2ee88", - "09e2872a-e14e-4278-90d9-0272bf674ade", - "4531af8b-472e-4305-8584-136a6139136e", - "a21642da-c606-4318-9923-04fef26563c7", - "cfe7e5fb-90ab-4a31-990f-ebae50e1ac55", - "9e37e92f-fc60-4b1b-807a-b68b332ec42e", - "0a138e45-159d-45ff-afe2-5615cd29e0c3", - "4a4baaee-a014-4f01-8796-a78c53d26ff3", - "ddb54f6b-6286-443d-854e-5cbdd3e73ac9", - "82bdd527-5c90-4baa-9970-9067a2c1f7d1", - "c3feea3c-fcf6-46f5-93db-dd54433e3cf4", - "ff3620c9-5c36-48c0-a4ec-937fd585636e", - "e727ebf7-276b-4704-801d-cd2f3b81a5c5", - "fab74ba6-81c8-4d8c-b8c3-9b82e31f5b9f", - "2b264ded-d29d-43e2-8288-26ab7ab1406b", - "86db2ba1-16df-4d73-afea-18148d4e7faa" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "d3e7bf92-3c6b-433d-a4ac-488b9d099a74" - } - ] - }, - { - "process": "f59c9106-16a8-47f8-b681-490d23ee09de", - "inputs": [ - "13eab62e-0038-4997-aeab-aa3192cc090e" - ], - "input_type": "biomaterial", - "outputs": [ - "3f193e72-8efe-4c2a-ace1-79140ca36477", - "078b71eb-220a-43e5-a0fc-4f231e90f85f" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "dc19bb22-ae7b-431b-9b8b-7b49799a8fcd" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "461851b8-55a5-4ae6-a52a-5bca71a00beb" - } - ] - }, - { - "process": "a03f7164-419b-4792-9a52-e6dda08b85bc", - "inputs": [ - "4ccd163e-a630-4ede-bc0c-336ba044b783" - ], - "input_type": "biomaterial", - "outputs": [ - "13eab62e-0038-4997-aeab-aa3192cc090e" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "57d2c83d-cd8b-44c9-9644-c3475a44b0a7", - "inputs": [ - "92254a9e-3a14-4760-b229-d914f3e8973f" - ], - "input_type": "biomaterial", - "outputs": [ - "4ccd163e-a630-4ede-bc0c-336ba044b783" - ], - "output_type": "biomaterial", - "protocols": [] - }, - { - "process": "8b1f44be-7eaa-4030-b6c5-697c5fc388eb", - "inputs": [ - "39d1a24f-1785-476d-9c04-065be917e3ff" - ], - "input_type": "biomaterial", - "outputs": [ - "92254a9e-3a14-4760-b229-d914f3e8973f" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "79f7c6ac-ada8-4c17-86ec-e73e87b94374" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "5d9fc5a2-5516-4205-9d6e-8d0d674f146f" - } - ] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/f79257a7-dfc6-46d6-ae00-ba4b25313c10.dss.hca.json b/test/indexer/data/f79257a7-dfc6-46d6-ae00-ba4b25313c10.dss.hca.json deleted file mode 100644 index c9cb074931..0000000000 --- a/test/indexer/data/f79257a7-dfc6-46d6-ae00-ba4b25313c10.dss.hca.json +++ /dev/null @@ -1,611 +0,0 @@ -{ - "manifest": { - "sequence_file/6c946b6c-040e-45cc-9114-a8b1454c8d20": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "980453cc", - "indexed": false, - "name": "22028_5#300_1.fastq.gz", - "s3_etag": "e00937999e7f6e6df279c7501c846a04", - "sha1": "dade3a1627214dba42db59b0f7cd138f25f096a4", - "sha256": "3125f2f86092798b85be93fbc66f4e733e9aec0929b558589c06929627115582", - "size": 64718465, - "uuid": "f2b6c6f0-8d25-4aae-b255-1974cc110cfe", - "version": "2018-09-14T12:33:43.720332Z" - }, - "sequence_file/c86e42d7-854a-479b-a627-6be1b49c980c": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "d2417d49", - "indexed": false, - "name": "22028_5#300_2.fastq.gz", - "s3_etag": "7fff346554af9e41c1cae295e253d34d", - "sha1": "1b696e825cd566718334b65f8240e483769a09f8", - "sha256": "cda141411815a9e8e4c3145f6b855a295352fd18f7db449d3797d8de38fb052a", - "size": 65008198, - "uuid": "f6608ce9-a570-4d5d-bd1f-407454958424", - "version": "2018-09-14T12:33:45.304412Z" - }, - "supplementary_file/eeea6514-bfdc-473b-a9ae-82b00ab30c38": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "847325b6", - "indexed": false, - "name": "TissueDissociationProtocol.pdf", - "s3_etag": "7e892bf8f6aa489ccb08a995c7f017e1", - "sha1": "f2237ad0a776fd7057eb3d3498114c85e2f521d7", - "sha256": "6929799f227ae5f0b3e0167a6cf2bd683db097848af6ccde6329185212598779", - "size": 32748, - "uuid": "156c15a3-3406-45d3-a25e-27179baf0c59", - "version": "2018-09-14T12:33:46.866929Z" - }, - "supplementary_file/89e313db-4423-4d53-b17e-164949acfa8f": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "b9364bfa", - "indexed": false, - "name": "SmartSeq2_RTPCR_protocol.pdf", - "s3_etag": "846fd9e6b98041df46a1ddb94e85b6b9", - "sha1": "89d9eb3f1b94f78a33d46c0288c2e81d4002049b", - "sha256": "2f6866c4ede92123f90dd15fb180fac56e33309b8fd3f4f52f263ed2f8af2f16", - "size": 29230, - "uuid": "5f9b45af-9a26-4b16-a785-7f2d1053dd7c", - "version": "2018-09-14T12:33:47.012715Z" - }, - "supplementary_file/bf7df45c-c2d5-49a8-8110-7e1f17ed0094": { - "content-type": "application/pdf; dcp-type=data", - "crc32c": "3658ec51", - "indexed": false, - "name": "SmartSeq2_sequencing_protocol.pdf", - "s3_etag": "2742e1e78f6d4663bf41d3080396695c", - "sha1": "9ec6ee2b6e2093681c1fed694b3a8c78a2aa3438", - "sha256": "9c93a354a8636c041a31ba6f3fb00ef20352e1b853d8080d63a654221cb35673", - "size": 61134, - "uuid": "0db87826-ea2d-422b-ba71-b15d0e4293ae", - "version": "2018-09-14T12:33:47.221025Z" - } - }, - "metadata": { - "cell_suspension/0037c9eb-8038-432f-8d9d-13ee094e54ab": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "22028_5#300", - "ncbi_taxon_id": [ - 10090 - ], - "supplementary_files": [ - "FACS_sorting_markers.pdf" - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "selected_cell_type": [ - { - "text": "CAFs" - } - ], - "total_estimated_cells": 1, - "plate_based_sequencing": { - "plate_id": "827", - "well_id": "G06" - }, - "provenance": { - "document_id": "0037c9eb-8038-432f-8d9d-13ee094e54ab", - "submission_date": "2018-09-13T18:01:10.054Z", - "update_date": "2018-09-13T18:24:16.328Z" - } - }, - "cell_suspension/aaaaaaaa-8038-432f-8d9d-13ee094e54ab": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "22030_5#300", - "ncbi_taxon_id": [ - 10091 - ], - "supplementary_files": [ - "FACS_sorting_markers.pdf" - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "selected_cell_type": [ - { - "text": "CAFs" - } - ], - "total_estimated_cells": 9000, - "plate_based_sequencing": { - "plate_id": "827", - "well_id": "G06" - }, - "provenance": { - "document_id": "aaaaaaaa-8038-432f-8d9d-13ee094e54ab", - "submission_date": "2018-09-13T18:01:10.054Z", - "update_date": "2018-09-13T18:24:16.328Z" - } - }, - "specimen_from_organism/b4e55fe1-7bab-44ba-a81d-3d8cb3873244": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "1209_T", - "biomaterial_name": "Mouse_day8_T_rep12", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "organ": { - "text": "tumor" - }, - "provenance": { - "document_id": "b4e55fe1-7bab-44ba-a81d-3d8cb3873244", - "submission_date": "2018-09-13T17:59:50.293Z", - "update_date": "2018-09-13T18:18:32.288Z" - } - }, - "specimen_from_organism/aaaaaaaa-7bab-44ba-a81d-3d8cb3873244": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/6.3.1/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "1210_T", - "biomaterial_name": "Mouse_day10_T_rep12", - "ncbi_taxon_id": [ - 10091 - ] - }, - "genus_species": [ - { - "text": "heart", - "ontology": "NCBITaxon:10091" - } - ], - "organ": { - "text": "brain" - }, - "provenance": { - "document_id": "aaaaaaaa-7bab-44ba-a81d-3d8cb3873244", - "submission_date": "2018-09-13T17:59:50.293Z", - "update_date": "2018-09-13T18:18:32.288Z" - } - }, - "donor_organism/89b50434-f831-4e15-a8c0-0d57e6baa94c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/biomaterial/10.1.1/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "1209", - "biomaterial_name": "Mouse_day8_rep12", - "ncbi_taxon_id": [ - 10090 - ] - }, - "mouse_specific": { - "strain": [ - { - "text": "C57BL/6", - "ontology": "EFO:0004472" - } - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090" - } - ], - "organism_age": "6-12", - "organism_age_unit": { - "text": "week", - "ontology": "UO:0000034" - }, - "development_stage": { - "text": "adult", - "ontology": "EFO:0001272", - "ontology_label": "adult" - }, - "diseases": [ - { - "text": "subcutaneous melanoma", - "ontology": "MONDO:0005105" - } - ], - "is_living": "no", - "sex": "female", - "provenance": { - "document_id": "89b50434-f831-4e15-a8c0-0d57e6baa94c", - "submission_date": "2018-09-13T17:59:49.762Z", - "update_date": "2018-09-13T18:10:58.580Z" - } - }, - "sequence_file/6c946b6c-040e-45cc-9114-a8b1454c8d20": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "22028_5#300_1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "lane_index": 5, - "provenance": { - "document_id": "6c946b6c-040e-45cc-9114-a8b1454c8d20", - "submission_date": "2018-09-13T17:57:39.967Z", - "update_date": "2018-09-14T09:10:48.771Z" - } - }, - "sequence_file/c86e42d7-854a-479b-a627-6be1b49c980c": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "22028_5#300_2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "lane_index": 5, - "provenance": { - "document_id": "c86e42d7-854a-479b-a627-6be1b49c980c", - "submission_date": "2018-09-13T17:57:39.979Z", - "update_date": "2018-09-14T09:10:48.630Z" - } - }, - "supplementary_file/eeea6514-bfdc-473b-a9ae-82b00ab30c38": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "TissueDissociationProtocol.pdf", - "file_format": "pdf" - }, - "file_description": "Extracting cells from lymph nodes", - "provenance": { - "document_id": "eeea6514-bfdc-473b-a9ae-82b00ab30c38", - "submission_date": "2018-09-13T17:55:24.492Z", - "update_date": "2018-09-13T19:20:05.725Z" - } - }, - "supplementary_file/89e313db-4423-4d53-b17e-164949acfa8f": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "SmartSeq2_RTPCR_protocol.pdf", - "file_format": "pdf" - }, - "file_description": "Make/amplify cDNA for each cell", - "provenance": { - "document_id": "89e313db-4423-4d53-b17e-164949acfa8f", - "submission_date": "2018-09-13T17:55:24.503Z", - "update_date": "2018-09-13T19:20:05.505Z" - } - }, - "supplementary_file/bf7df45c-c2d5-49a8-8110-7e1f17ed0094": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/1.1.5/supplementary_file", - "schema_type": "file", - "file_core": { - "file_name": "SmartSeq2_sequencing_protocol.pdf", - "file_format": "pdf" - }, - "file_description": "Sequencing SmartSeq2 cells", - "provenance": { - "document_id": "bf7df45c-c2d5-49a8-8110-7e1f17ed0094", - "submission_date": "2018-09-13T17:55:24.517Z", - "update_date": "2018-09-13T19:20:06.395Z" - } - }, - "project/67bc798b-a34a-4104-8cab-cad648471f69": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/project/9.0.2/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Mouse Melanoma", - "project_title": "Melanoma infiltration of stromal and immune cells", - "project_description": "The cancer microenvironment is a complex ecosystem characterized by dynamic interactions between diverse cell types, including malignant, immune and stromal cells. Here, we performed single-cell RNA sequencing on CD45+ and CD45- cells isolated from tumour and lymph nodes during a mouse model of melanoma. The transcriptional profiles of these individual cells taken at different time points coupled with assembled T cell receptor sequences, allowed us to identify distinct immune subpopulations and delineate their developmental trajectory. Our study provides insights into the complex interplay among cells within the tumour microenvironment and presents a valuable resource for future translational applications." - }, - "contributors": [ - { - "contact_name": "Sarah,A,Teichmann", - "email": "st9@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Sarah Teichmann", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK" - }, - { - "contact_name": "Mirjana,,Efremova", - "email": "me5@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Sarah Teichmann", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK" - }, - { - "contact_name": "Bidesh,,Mahata", - "email": "bm11@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Sarah Teichmann", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK" - }, - { - "contact_name": "Jacqueline,D,Shields", - "email": "JS970@MRCCU.cam.ac.uk", - "institution": "University of Cambridge", - "laboratory": "MRC Cancer Unit", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "country": "UK" - }, - { - "contact_name": "Sarah,,Davidson", - "email": "SED49@MRCCU.cam.ac.uk", - "institution": "University of Cambridge", - "laboratory": "MRC Cancer Unit", - "address": "Box 197, Cambridge Biomedical Campus, Cambridge, CB2 0XZ", - "country": "UK" - }, - { - "contact_name": "Angela,,Riedel", - "email": "a.riedel@dkfz-heidelberg.de", - "institution": "DKFZ German Cancer Research Center", - "country": "Germany" - }, - { - "contact_name": "Roser,,Vento-Tormo", - "email": "rv4@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Sarah Teichmann", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK" - }, - { - "contact_name": "Jhuma,,Pramanik", - "email": "jp19@sanger.ac.uk", - "institution": "Wellcome Trust Sanger Institute", - "laboratory": "Sarah Teichmann", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK" - }, - { - "contact_name": "Gozde,,Kar", - "email": "gkar@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Sarah Teichmann", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK" - }, - { - "contact_name": "Jani,,Huuhtanen", - "email": "jani.huuhtanen@helsinki.fi", - "institution": "University of Helsinki", - "country": "Finland" - }, - { - "contact_name": "Mallory,Ann,Freeberg", - "email": "mfreeberg@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2949-3921", - "corresponding_contributor": false - }, - { - "contact_name": "Danielle,,Welter", - "email": "dwelter@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Cambridge", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-1058-2668", - "corresponding_contributor": false - } - ], - "provenance": { - "document_id": "67bc798b-a34a-4104-8cab-cad648471f69", - "submission_date": "2018-09-13T17:55:24.481Z", - "update_date": "2018-09-13T18:07:50.370Z" - } - }, - "library_preparation_protocol/0076f0aa-14c6-4cb9-93f8-97229787be21": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/4.3.2/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "SmartSeq2_RTPCR_protocol", - "protocol_name": "Make/amplify cDNA for each cell", - "document": "SmartSeq2_RTPCR_protocol.pdf" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "provenance": { - "document_id": "0076f0aa-14c6-4cb9-93f8-97229787be21", - "submission_date": "2018-09-13T18:02:23.532Z", - "update_date": "2018-09-13T18:02:29.834Z" - } - }, - "sequencing_protocol/362d9c34-f5c0-4906-955b-61ba0aac58cc": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/sequencing/9.0.2/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "SmartSeq2_sequencing_protocol", - "protocol_name": "Sequencing SmartSeq2 cells", - "document": "SmartSeq2_sequencing_protocol.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008567" - }, - "paired_end": true, - "sequencing_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931" - }, - "provenance": { - "document_id": "362d9c34-f5c0-4906-955b-61ba0aac58cc", - "submission_date": "2018-09-13T18:02:23.541Z", - "update_date": "2018-09-13T18:02:29.857Z" - } - }, - "dissociation_protocol/40056e47-131d-4c6e-a884-a927bfccf8ce": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.3/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "tissue_dissociation_protocol", - "protocol_name": "Extracting cells from lymph nodes", - "document": "TissueDissociationProtocol.pdf" - }, - "dissociation_method": { - "text": "mechanical dissociation", - "ontology": "EFO:0009129" - }, - "provenance": { - "document_id": "40056e47-131d-4c6e-a884-a927bfccf8ce", - "submission_date": "2018-09-13T18:02:23.415Z", - "update_date": "2018-09-13T18:02:29.781Z" - } - }, - "enrichment_protocol/d3287615-b97a-4984-a8cf-30a1c30e4773": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.5/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "FACS9", - "protocol_name": "FACS sorting cells by surface markers" - }, - "enrichment_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108" - }, - "markers": "CD45- GFP+ CD31-", - "provenance": { - "document_id": "d3287615-b97a-4984-a8cf-30a1c30e4773", - "submission_date": "2018-09-13T18:02:23.503Z", - "update_date": "2018-09-13T18:02:30.081Z" - } - }, - "process/72732ed3-7b71-47df-bcec-c765ef7ea758": { - "process_core": { - "process_id": "proc_22028_5#300" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "72732ed3-7b71-47df-bcec-c765ef7ea758", - "submission_date": "2018-09-13T18:03:51.357Z", - "update_date": "2018-09-13T18:34:58.206Z" - } - }, - "process/6d77eef9-96cf-410e-8bbc-a83430267b61": { - "process_core": { - "process_id": "process_id_3550" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "6d77eef9-96cf-410e-8bbc-a83430267b61", - "submission_date": "2018-09-13T18:06:35.064Z", - "update_date": "2018-09-13T18:44:31.057Z" - } - }, - "process/c0f05fdb-8375-4c39-adba-24a63c004b9d": { - "process_core": { - "process_id": "process_id_47" - }, - "schema_type": "process", - "describedBy": "http://schema.staging.data.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "c0f05fdb-8375-4c39-adba-24a63c004b9d", - "submission_date": "2018-09-13T18:05:04.998Z", - "update_date": "2018-09-13T18:41:19.322Z" - } - } - }, - "links": { - "describedBy": "http://schema.staging.data.humancellatlas.org/system/1.1.1/links", - "schema_type": "link_bundle", - "schema_version": "1.1.1", - "links": [ - { - "process": "72732ed3-7b71-47df-bcec-c765ef7ea758", - "inputs": [ - "0037c9eb-8038-432f-8d9d-13ee094e54ab", - "aaaaaaaa-8038-432f-8d9d-13ee094e54ab" - ], - "input_type": "biomaterial", - "outputs": [ - "6c946b6c-040e-45cc-9114-a8b1454c8d20", - "c86e42d7-854a-479b-a627-6be1b49c980c" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "0076f0aa-14c6-4cb9-93f8-97229787be21" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "362d9c34-f5c0-4906-955b-61ba0aac58cc" - } - ] - }, - { - "process": "6d77eef9-96cf-410e-8bbc-a83430267b61", - "inputs": [ - "b4e55fe1-7bab-44ba-a81d-3d8cb3873244", - "aaaaaaaa-7bab-44ba-a81d-3d8cb3873244" - ], - "input_type": "biomaterial", - "outputs": [ - "0037c9eb-8038-432f-8d9d-13ee094e54ab", - "aaaaaaaa-8038-432f-8d9d-13ee094e54ab" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "40056e47-131d-4c6e-a884-a927bfccf8ce" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "d3287615-b97a-4984-a8cf-30a1c30e4773" - } - ] - }, - { - "process": "c0f05fdb-8375-4c39-adba-24a63c004b9d", - "inputs": [ - "89b50434-f831-4e15-a8c0-0d57e6baa94c" - ], - "input_type": "biomaterial", - "outputs": [ - "b4e55fe1-7bab-44ba-a81d-3d8cb3873244", - "aaaaaaaa-7bab-44ba-a81d-3d8cb3873244" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/fa5be5eb-2d64-49f5-8ed8-bd627ac9bc7a.dss.hca.json b/test/indexer/data/fa5be5eb-2d64-49f5-8ed8-bd627ac9bc7a.dss.hca.json deleted file mode 100644 index e4929de1a5..0000000000 --- a/test/indexer/data/fa5be5eb-2d64-49f5-8ed8-bd627ac9bc7a.dss.hca.json +++ /dev/null @@ -1,1257 +0,0 @@ -{ - "manifest": { - "analysis_file/bd1307b9-70b5-49e4-8e02-9d4ca0d64747": { - - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "1e03bc76", - "indexed": false, - "name": "barcodes.tsv", - "s3_etag": "cc482a2d5437c4f742f143d31e499763", - "sha1": "e86643f46cc75c226644bd88b07a14be7a67e918", - "sha256": "9e2b7e0e29ae176e25e2a49f169d7d13d3d271911c75913858e127e31cd6499d", - "size": 79914, - "uuid": "9d95b445-e164-43fe-b6cb-3e23f9b3a820", - "version": "2019-02-14T19:24:27.695139Z" - }, - "analysis_file/cf3453a3-68fb-4156-bc3e-0f08f7e6512c": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7571fac9", - "indexed": false, - "name": "genes.tsv", - "s3_etag": "fa0cca9a56bcfc1ef745fdb696492040", - "sha1": "dd08d5183735a7c31e823a1402c422cf2735fba8", - "sha256": "4ce78cc6539d6bff305c602c6c341cf2a3aa167ec804b25c137ef2547103b250", - "size": 892197, - "uuid": "689e9d77-708d-4f02-b2a0-e5cac72ae2ab", - "version": "2019-02-14T19:24:27.995928Z" - }, - "analysis_file/234b0359-3853-4df4-898f-5182f698d48b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "e0b2ceae", - "indexed": false, - "name": "matrix.mtx", - "s3_etag": "3c07094890e9a96208506cb85c92d10b", - "sha1": "ee72f88b38677ed6f0799dbb0d81c9ac63536e39", - "sha256": "66ea293e7cdd6097ec5ee38426f46adfe254847a98da8d485c53b5ff91e9ae53", - "size": 2862416, - "uuid": "94677e48-adf8-4ea3-a42b-5a9ce8853b21", - "version": "2019-02-14T19:24:28.245144Z" - }, - "analysis_file/d95392c5-1958-4825-9076-2a9c130c53f3": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "461eb1e9", - "indexed": false, - "name": "filtered_gene_bc_matrices_h5.h5", - "s3_etag": "e47131ab91d321ef1b431cb9e81e5fff", - "sha1": "109c6f7e4ef9494daac3ba8616b3d405913ed6b5", - "sha256": "44994fc0f580d5f9da6854a88cedf234bdf0e76199a56643754663f4279f81c2", - "size": 794405, - "uuid": "d15b6930-24cb-4217-a963-bf611d48c6e7", - "version": "2019-02-14T19:24:28.654694Z" - }, - "analysis_file/b9609367-7006-4055-8815-1bad881a1502": { - "content-type": "text/csv; dcp-type=data", - "crc32c": "53e5ecf8", - "indexed": false, - "name": "metrics_summary.csv", - "s3_etag": "a4688fa1dadde18ae08b49986f683409", - "sha1": "c9da6c0e57e8e81b5bb184ce811e447a40e96516", - "sha256": "d4aad3461a9da654a4ec51d3ec346ccd4a136835d258532306a33b7d6bf9a408", - "size": 665, - "uuid": "7807d073-e9dd-4f1f-8053-b89b4d12ebfd", - "version": "2019-02-14T19:24:29.157180Z" - }, - "analysis_file/ebb2ec91-2cd0-4ec4-ba2b-5a6d6630bc5a": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "8487a5ae", - "indexed": false, - "name": "molecule_info.h5", - "s3_etag": "2361278b1d891e1138948bd2ca2e9ebd", - "sha1": "82c4bc86ec07330ae799bbf9b6b27014efeb3fd1", - "sha256": "8e3a50c8efbe7662b49b5f65670f23778b0411db376207a7f0b660991de1335e", - "size": 2641350, - "uuid": "0fff97fe-c879-421a-a8d4-f9c5e995b21b", - "version": "2019-02-14T19:24:29.395814Z" - }, - "analysis_file/1ab612ca-2a5a-4443-8004-bb5f0f784c67": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "c3921ecb", - "indexed": false, - "name": "possorted_genome_bam.bam", - "s3_etag": "bd7a2d6ed2f6bda207f31835d8d8aa4f", - "sha1": "feacd15de771f4c5754e767fdac83b318a816e45", - "sha256": "b105c4f8aef7f709cfddf3eee0f3e6dc07ab4729c905f20fa21ff306896af45c", - "size": 55840108, - "uuid": "9ea1b54e-0679-4cdc-93ab-c584110168ac", - "version": "2019-02-14T19:24:30.435350Z" - }, - "analysis_file/34c64244-d3ed-4841-84b7-aa4cbb9d794b": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "466576fa", - "indexed": false, - "name": "possorted_genome_bam.bam.bai", - "s3_etag": "04e7cbefa7968aa2a9bca1ce0dddbd87", - "sha1": "70ea117d34e455724eb3f4efbfb7a660619078e3", - "sha256": "ed9340221766efdee1e5ad9e588b195709dc39ad8bd25d38b6f68fc8de2b63df", - "size": 2395616, - "uuid": "432b5918-90b1-4624-abe3-f6a7c83010a9", - "version": "2019-02-14T19:24:32.112522Z" - }, - "analysis_file/71710439-3864-4fc6-bc48-ca2ac90f7ccf": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "b5e461a4", - "indexed": false, - "name": "raw_gene_bc_matrices_h5.h5", - "s3_etag": "0105a4c067350a775cc027e57820cc24", - "sha1": "9387e1725bd2d9ff90559c4feee0e6cc551b484f", - "sha256": "384b0375be6342b548211588f13592a1cb93e9d837fcae37384227d5bfd098de", - "size": 2137959, - "uuid": "c2e39ef9-91a8-43a0-9600-d05819e30213", - "version": "2019-02-14T19:24:32.795784Z" - }, - "analysis_file/2ab5242e-f118-48e3-afe5-c2287fa2e2b1": { - "content-type": "text/html; dcp-type=data", - "crc32c": "acf47b9f", - "indexed": false, - "name": "web_summary.html", - "s3_etag": "d1940d7531f56f68ce7d0927e4b03e62", - "sha1": "b475d53fe51bedacf1eb1d8d22f241be0611cc99", - "sha256": "5c113095b8f6e1547d29fb603d04725cd9546f8d717e6bcd58c327a012605378", - "size": 2645006, - "uuid": "4f99fb32-9aa4-49cf-b4af-244a804c1259", - "version": "2019-02-14T19:24:33.308106Z" - }, - "analysis_file/6da39577-256d-43fd-97c4-a3bedaa54273": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7c54ea3d", - "indexed": false, - "name": "raw_barcodes.tsv", - "s3_etag": "f010059d7160aac2dad1805e1496bf71", - "sha1": "131a9a81a9666418c503e65828a9a0ac460530ca", - "sha256": "e28353c088bf3b4d660220377a5f5fcc64839fb9e307cea47afe4e23fce2edc2", - "size": 14008320, - "uuid": "eada050f-188b-409b-bbf3-8d586d24dd59", - "version": "2019-02-14T19:24:33.996677Z" - }, - "analysis_file/86a93e19-eb89-4c27-8b64-006f96bb2c83": { - "content-type": "text/tab-separated-values; dcp-type=data", - "crc32c": "7571fac9", - "indexed": false, - "name": "raw_genes.tsv", - "s3_etag": "fa0cca9a56bcfc1ef745fdb696492040", - "sha1": "dd08d5183735a7c31e823a1402c422cf2735fba8", - "sha256": "4ce78cc6539d6bff305c602c6c341cf2a3aa167ec804b25c137ef2547103b250", - "size": 892197, - "uuid": "efbe3d47-8089-4685-835c-f5af0227c31f", - "version": "2019-02-14T19:24:34.225601Z" - }, - "analysis_file/0f858ddb-6d93-404e-95fd-0c200921dd40": { - "content-type": "application/octet-stream; dcp-type=data", - "crc32c": "d04a1146", - "indexed": false, - "name": "raw_matrix.mtx", - "s3_etag": "1a7e002063bf1ec27f86847faad0ab7d", - "sha1": "88124efcf01221f7afe0ad38cec152539acd1367", - "sha256": "2aafea3a03b2b747c7c46006fd2d778329f43ddd0f88bddfaab7e7bc1a9c1836", - "size": 3698725, - "uuid": "c508f1f3-dc97-4378-8e81-1586a881f354", - "version": "2019-02-14T19:24:34.551509Z" - }, - "sequence_file/7df5d656-43cb-49f9-b81d-86cca3c44a65": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "da1a6040", - "indexed": false, - "name": "pbmc4k_1000_S1_L001_R1_001.fastq.gz", - "s3_etag": "eeaf6532a43b731e1ed9068bf32add47", - "sha1": "1e9baaa563f2559a6eb42f586730d1fc2aba6abc", - "sha256": "5e3f4a1a8cad609ab42b3c66c069fc29c2cfc3875f600e121aed3bde36b66fd1", - "size": 10287500, - "uuid": "34e5f1ed-299e-401d-a62b-abad1a4ad2ca", - "version": "2019-02-14T18:34:20.147713Z" - }, - "sequence_file/acd7d986-73ab-4d0b-9ead-377f3a2d646d": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "0eee0a0a", - "indexed": false, - "name": "pbmc4k_1000_S1_L001_R2_001.fastq.gz", - "s3_etag": "891e3067ff772d599a5c424f5a93bfd5", - "sha1": "b866551f9f1b449039b4eeeda6c6b05bf3eee72b", - "sha256": "4718d026a1a2fdd13e6c9cb3bb92eb096f24478571cb6045cd3ce54f2623c2e1", - "size": 30926462, - "uuid": "66ea0038-2481-4c53-8e2f-229b03851701", - "version": "2019-02-14T18:34:20.351186Z" - }, - "sequence_file/f9a78d6a-7c80-4c45-bedf-4bc152dc172d": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "51ffe105", - "indexed": false, - "name": "pbmc4k_1000_S1_L001_I1_001.fastq.gz", - "s3_etag": "3d252f83492bf030ddfd05a5a1411cdc", - "sha1": "02e40d38df063e54310edefe956fc9ed336c70fb", - "sha256": "7f11f8f3a5a8e879d3c7d612f4d37233ebfdd3e226406c013bc375403bae2137", - "size": 3454130, - "uuid": "1b8bd5ec-f0c2-45e5-8fc1-455b48d9b5d6", - "version": "2019-02-14T18:34:20.730308Z" - } - }, - "metadata": { - "cell_suspension/a9ae9936-c11b-4195-b63a-fa6cb9c78e4c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/9.0.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "cell_ID_1", - "biomaterial_name": "This is a dummy cell", - "biomaterial_description": "This is a dummy donor cell", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "DRB1 0401 protective allele", - "biosd_biomaterial": "SAMN00000000", - "insdc_biomaterial": "SRS0000000" - }, - "cell_morphology": { - "cell_morphology": "adherent cells, form single layer colonies", - "cell_size": "20-30", - "cell_size_unit": { - "text": "nm", - "ontology": "UO:0000018", - "ontology_label": "nanometer" - }, - "percent_cell_viability": 85.3, - "cell_viability_method": "Fluorescein diacetate hydrolysis assay", - "cell_viability_result": "pass", - "percent_necrosis": 10 - }, - "growth_conditions": { - "passage_number": 22, - "growth_medium": "lysogeny broth (LB) medium", - "mycoplasma_testing_results": "pass", - "drug_treatment": "100 ug/mL ampicillin", - "feeder_layer_type": "feeder-dependent, mouse embryonic fibroblast cells" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 10001, - "provenance": { - "document_id": "a9ae9936-c11b-4195-b63a-fa6cb9c78e4c", - "submission_date": "2019-02-14T18:29:42.561Z", - "update_date": "2019-02-14T18:29:49.098Z" - } - }, - "specimen_from_organism/58c60e15-e07c-4875-ac34-f026d6912f1c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/7.0.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "specimen_ID_1", - "biomaterial_name": "This is a dummy specimen", - "biomaterial_description": "This is a dummy donor specimen", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "DRB1 0401 protective allele", - "biosd_biomaterial": "SAMN00000000", - "insdc_biomaterial": "SRS0000000" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organ_part": { - "text": "amygdala", - "ontology": "UBERON:0001876", - "ontology_label": "amygdala" - }, - "diseases": [ - { - "text": "H syndrome", - "ontology": "MONDO:0011273", - "ontology_label": "H syndrome" - } - ], - "state_of_specimen": { - "autolysis_score": "none", - "gross_description": "normal color and size" - }, - "provenance": { - "document_id": "58c60e15-e07c-4875-ac34-f026d6912f1c", - "submission_date": "2019-02-14T18:29:42.550Z", - "update_date": "2019-02-14T18:29:49.006Z" - } - }, - "donor_organism/fad95a8a-4156-4631-95d4-a1c99b001dbd": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/biomaterial/14.0.3/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "donor_ID_1", - "biomaterial_name": "This is a dummy donor", - "biomaterial_description": "This is a dummy donor description", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "DRB1 0401 protective allele", - "biosd_biomaterial": "SAMN00000000", - "insdc_biomaterial": "SRS0000000" - }, - "human_specific": { - "body_mass_index": 36.4, - "ethnicity": [ - { - "text": "European", - "ontology": "HANCESTRO:0005", - "ontology_label": "European" - } - ] - }, - "death": { - "cause_of_death": "motor vehicle accident", - "cold_perfused": false, - "days_on_ventilator": 4, - "hardy_scale": 0, - "time_of_death": "1999-01-21T00:00:00Z", - "organ_donation_death_type": "Donation after circulatory death (DCD)" - }, - "medical_history": { - "alcohol_history": "1 units/day", - "medication": "Naproxen 500mg/day, ", - "nutritional_state": "normal", - "smoking_history": "Smoker, 5/day for 10 years, stopped 1995" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organism_age": "20", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "development_stage": { - "text": "human adult stage", - "ontology": "HsapDv:0000087" - }, - "diseases": [ - { - "text": "H syndrome", - "ontology": "MONDO:0011273", - "ontology_label": "H syndrome" - } - ], - "gestational_age": "5-7", - "height": "160", - "height_unit": { - "text": "cm", - "ontology": "UO:0000015", - "ontology_label": "centimeter" - }, - "is_living": "no", - "weight": "60", - "weight_unit": { - "text": "kg", - "ontology": "UO:0000009", - "ontology_label": "kilogram" - }, - "sex": "male", - "provenance": { - "document_id": "fad95a8a-4156-4631-95d4-a1c99b001dbd", - "submission_date": "2019-02-14T18:29:42.540Z", - "update_date": "2019-02-14T18:29:48.962Z" - } - }, - "analysis_file/bd1307b9-70b5-49e4-8e02-9d4ca0d64747": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "barcodes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "bd1307b9-70b5-49e4-8e02-9d4ca0d64747", - "submission_date": "2019-02-14T19:15:11.524Z", - "update_date": "2019-02-14T19:19:39.469Z" - } - }, - "analysis_file/cf3453a3-68fb-4156-bc3e-0f08f7e6512c": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "genes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "cf3453a3-68fb-4156-bc3e-0f08f7e6512c", - "submission_date": "2019-02-14T19:15:11.667Z", - "update_date": "2019-02-14T19:19:42.465Z" - } - }, - "analysis_file/234b0359-3853-4df4-898f-5182f698d48b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "matrix.mtx", - "file_format": "mtx" - }, - "provenance": { - "document_id": "234b0359-3853-4df4-898f-5182f698d48b", - "submission_date": "2019-02-14T19:15:11.818Z", - "update_date": "2019-02-14T19:19:42.465Z" - } - }, - "analysis_file/d95392c5-1958-4825-9076-2a9c130c53f3": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "filtered_gene_bc_matrices_h5.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "d95392c5-1958-4825-9076-2a9c130c53f3", - "submission_date": "2019-02-14T19:15:11.972Z", - "update_date": "2019-02-14T19:19:45.468Z" - } - }, - "analysis_file/b9609367-7006-4055-8815-1bad881a1502": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "metrics_summary.csv", - "file_format": "csv" - }, - "provenance": { - "document_id": "b9609367-7006-4055-8815-1bad881a1502", - "submission_date": "2019-02-14T19:15:12.117Z", - "update_date": "2019-02-14T19:19:33.461Z" - } - }, - "analysis_file/ebb2ec91-2cd0-4ec4-ba2b-5a6d6630bc5a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "molecule_info.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "ebb2ec91-2cd0-4ec4-ba2b-5a6d6630bc5a", - "submission_date": "2019-02-14T19:15:12.259Z", - "update_date": "2019-02-14T19:19:48.464Z" - } - }, - "analysis_file/1ab612ca-2a5a-4443-8004-bb5f0f784c67": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "possorted_genome_bam.bam", - "file_format": "bam" - }, - "provenance": { - "document_id": "1ab612ca-2a5a-4443-8004-bb5f0f784c67", - "submission_date": "2019-02-14T19:15:12.404Z", - "update_date": "2019-02-14T19:19:36.460Z" - } - }, - "analysis_file/34c64244-d3ed-4841-84b7-aa4cbb9d794b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "possorted_genome_bam.bam.bai", - "file_format": "bai" - }, - "provenance": { - "document_id": "34c64244-d3ed-4841-84b7-aa4cbb9d794b", - "submission_date": "2019-02-14T19:15:12.551Z", - "update_date": "2019-02-14T19:19:39.470Z" - } - }, - "analysis_file/71710439-3864-4fc6-bc48-ca2ac90f7ccf": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_gene_bc_matrices_h5.h5", - "file_format": "h5" - }, - "provenance": { - "document_id": "71710439-3864-4fc6-bc48-ca2ac90f7ccf", - "submission_date": "2019-02-14T19:15:12.703Z", - "update_date": "2019-02-14T19:19:45.468Z" - } - }, - "analysis_file/2ab5242e-f118-48e3-afe5-c2287fa2e2b1": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "web_summary.html", - "file_format": "unknown" - }, - "provenance": { - "document_id": "2ab5242e-f118-48e3-afe5-c2287fa2e2b1", - "submission_date": "2019-02-14T19:15:12.844Z", - "update_date": "2019-02-14T19:19:51.465Z" - } - }, - "analysis_file/6da39577-256d-43fd-97c4-a3bedaa54273": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_barcodes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "6da39577-256d-43fd-97c4-a3bedaa54273", - "submission_date": "2019-02-14T19:15:12.989Z", - "update_date": "2019-02-14T19:19:54.466Z" - } - }, - "analysis_file/86a93e19-eb89-4c27-8b64-006f96bb2c83": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_genes.tsv", - "file_format": "tsv" - }, - "provenance": { - "document_id": "86a93e19-eb89-4c27-8b64-006f96bb2c83", - "submission_date": "2019-02-14T19:15:13.138Z", - "update_date": "2019-02-14T19:19:54.466Z" - } - }, - "analysis_file/0f858ddb-6d93-404e-95fd-0c200921dd40": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "schema_type": "file", - "file_core": { - "file_name": "raw_matrix.mtx", - "file_format": "mtx" - }, - "provenance": { - "document_id": "0f858ddb-6d93-404e-95fd-0c200921dd40", - "submission_date": "2019-02-14T19:15:13.280Z", - "update_date": "2019-02-14T19:19:57.464Z" - } - }, - "sequence_file/7df5d656-43cb-49f9-b81d-86cca3c44a65": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/7.0.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "pbmc4k_1000_S1_L001_R1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "eeaf6532a43b731e1ed9068bf32add47" - }, - "read_index": "read1", - "lane_index": 1, - "read_length": 26, - "insdc_run": [ - "SRR0000000" - ], - "provenance": { - "document_id": "7df5d656-43cb-49f9-b81d-86cca3c44a65", - "submission_date": "2019-02-14T18:29:42.574Z", - "update_date": "2019-02-14T18:31:45.892Z" - } - }, - "sequence_file/acd7d986-73ab-4d0b-9ead-377f3a2d646d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/7.0.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "pbmc4k_1000_S1_L001_R2_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "891e3067ff772d599a5c424f5a93bfd5" - }, - "read_index": "read2", - "lane_index": 1, - "read_length": 98, - "insdc_run": [ - "SRR0000000" - ], - "provenance": { - "document_id": "acd7d986-73ab-4d0b-9ead-377f3a2d646d", - "submission_date": "2019-02-14T18:29:42.587Z", - "update_date": "2019-02-14T18:32:02.053Z" - } - }, - "sequence_file/f9a78d6a-7c80-4c45-bedf-4bc152dc172d": { - "describedBy": "http://schema.staging.data.humancellatlas.org/type/file/7.0.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "pbmc4k_1000_S1_L001_I1_001.fastq.gz", - "file_format": "fastq.gz", - "checksum": "3d252f83492bf030ddfd05a5a1411cdc" - }, - "read_index": "index1", - "lane_index": 1, - "read_length": 8, - "insdc_run": [ - "SRR0000000" - ], - "provenance": { - "document_id": "f9a78d6a-7c80-4c45-bedf-4bc152dc172d", - "submission_date": "2019-02-14T18:29:42.597Z", - "update_date": "2019-02-14T18:31:46.472Z" - } - }, - "project/627cb0ba-b8a1-405a-b58f-0add82c3d635": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/project/11.0.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "staging/10x/2019-02-14T18:29:38Z", - "project_title": "10x 1 Run Integration Test", - "project_description": "Contains a small file set from the dataset: 4k PBMCs from a Healthy Donor, a Single Cell Gene Expression Dataset by Cell Ranger 2.1.0. Peripheral blood mononuclear cells (PBMCs) were taken from a healthy donor (same donor as pbmc8k). PBMCs are primary cells with relatively small amounts of RNA (~1pg RNA/cell). Data/Analysis can be found here https://support.10xgenomics.com/single-cell-gene-expression/datasets/2.1.0/pbmc4k and all data is licensed under the creative commons attribution license (https://creativecommons.org/licenses/by/4.0/). This test also contains extensive metadata for browser testing. Metadata is fabricated." - }, - "publications": [ - { - "authors": [ - "Doe JD, Doe JJ" - ], - "publication_title": "A title of a publication goes here.", - "doi": "10.1016/j.cell.2016.07.054", - "pmid": 27565351, - "publication_url": "https://europepmc.org" - } - ], - "insdc_project_accessions": [ - "SRP000000", - "SRP000001" - ], - "geo_series_accessions": [ - "GSE00000" - ], - "array_express_accessions": [ - "E-AAAA-00" - ], - "insdc_study_accessions": [ - "PRJNA000000" - ], - "funders": [ - { - "grant_title": "A title of a grant proposal.", - "grant_id": "BB/P0000001/1", - "organization": "Biotechnology and Biological Sciences Research Council (BBSRC)" - } - ], - "contributors": [ - { - "contact_name": "John,D,Doe. ", - "email": "dummy@email.com", - "phone": "(+1) 234-555-6789", - "institution": "EMBL-EBI", - "laboratory": "Department of Biology", - "address": "0000 Main Street, Nowheretown, MA, 12091", - "country": "USA", - "corresponding_contributor": false, - "project_role": "principal investigator", - "orcid_id": "0000-1111-2222-3333" - } - ], - "provenance": { - "document_id": "627cb0ba-b8a1-405a-b58f-0add82c3d635", - "submission_date": "2019-02-14T18:29:42.531Z", - "update_date": "2019-02-14T18:29:48.555Z" - } - }, - "analysis_protocol/71470c53-1b86-4e6d-9707-55a0f70745a4": { - "computational_method": "10x", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/analysis/8.0.3/analysis_protocol", - "protocol_core": { - "protocol_id": "cellranger_v1.0.2" - }, - "protocol_type": { - "text": "analysis" - }, - "schema_type": "protocol", - "provenance": { - "document_id": "71470c53-1b86-4e6d-9707-55a0f70745a4", - "submission_date": "2019-02-14T19:15:10.720Z", - "update_date": "2019-02-14T19:15:15.466Z" - } - }, - "library_preparation_protocol/b7519a0c-957e-48b5-a416-a7c1115d2963": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/sequencing/4.4.6/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "lib_prep_1", - "protocol_name": "A dummy library prep protocol", - "protocol_description": "A dummy library prep description", - "publication_doi": "10.1101/193219", - "protocols_io_doi": "10.17504/protocols.io.mgjc3un", - "document": "my_cool_protocol.pdf" - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "library_construction_approach": { - "text": "10x v2", - "ontology": "EFO:0009310", - "ontology_label": "10X v2 sequencing" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "umi_barcode": { - "barcode_read": "Read 1", - "barcode_offset": 0, - "barcode_length": 16 - }, - "library_preamplification_method": { - "text": "Rapid Amplification of cDNA Ends", - "ontology": "EFO:0004182", - "ontology_label": "Rapid Amplification of cDNA Ends" - }, - "provenance": { - "document_id": "b7519a0c-957e-48b5-a416-a7c1115d2963", - "submission_date": "2019-02-14T18:29:42.625Z", - "update_date": "2019-02-14T18:29:48.684Z" - } - }, - "sequencing_protocol/f34c4543-4f98-49ce-b8a0-798ec96d5059": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/sequencing/9.0.11/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1", - "protocol_name": "A dummy sequencing protocol", - "protocol_description": "A dummy sequencing protocol description", - "publication_doi": "10.1101/193219", - "protocols_io_doi": "10.17504/protocols.io.mgjc3un", - "document": "my_cool_protocol.pdf" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565" - }, - "local_machine_name": "Machine1", - "paired_end": false, - "sequencing_approach": { - "text": "full length single cell RNA sequencing", - "ontology": "EFO:0008441", - "ontology_label": "full length single cell RNA sequencing" - }, - "10x": { - "fastq_method": "Cellranger mkfastq", - "fastq_method_version": "Cellranger 2.1.1", - "pooled_channels": 4, - "drop_uniformity": false - }, - "provenance": { - "document_id": "f34c4543-4f98-49ce-b8a0-798ec96d5059", - "submission_date": "2019-02-14T18:29:42.630Z", - "update_date": "2019-02-14T18:29:48.777Z" - } - }, - "dissociation_protocol/0fa5708b-b5fb-4cf6-becb-ad48f3f8e7fa": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/5.0.8/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_1", - "protocol_name": "A dummy dissociation protocol", - "protocol_description": "A dummmy description of a dissociation protocol", - "publication_doi": "10.1101/193219", - "protocols_io_doi": "10.17504/protocols.io.mgjc3un", - "document": "my_cool_protocol.pdf" - }, - "dissociation_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "provenance": { - "document_id": "0fa5708b-b5fb-4cf6-becb-ad48f3f8e7fa", - "submission_date": "2019-02-14T18:29:42.612Z", - "update_date": "2019-02-14T18:29:48.635Z" - } - }, - "enrichment_protocol/469fa0db-f00b-4352-a2e2-753733a38e8b": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/2.2.9/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_1", - "protocol_name": "an example enrichment protocol", - "protocol_description": "an example enrichemnt protocol description", - "publication_doi": "10.1101/193219", - "protocols_io_doi": "10.17504/protocols.io.mgjc3un", - "document": "my_cool_protocol.pdf" - }, - "enrichment_method": { - "text": "fluorescence-activated cell sorting", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD4+ CD8-", - "min_size_selected": 70, - "max_size_selected": 90, - "provenance": { - "document_id": "469fa0db-f00b-4352-a2e2-753733a38e8b", - "submission_date": "2019-02-14T18:29:42.620Z", - "update_date": "2019-02-14T18:29:48.680Z" - } - }, - "collection_protocol/c5d77e53-9016-4ed8-96ca-ad0eeb355d3a": { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/protocol/biomaterial_collection/8.2.11/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "collection_protocol_1", - "protocol_name": "A dummy collection protocol", - "protocol_description": "A dummy collection protocol description", - "publication_doi": "10.1101/193219", - "protocols_io_doi": "10.17504/protocols.io.mgjc3un", - "document": "my_cool_protocol.pdf" - }, - "collection_method": { - "text": "organ extraction", - "ontology": "EFO:0009124", - "ontology_label": "organ extraction" - }, - "protocol_reagents": [ - { - "retail_name": "SureCell WTA 3' Library Prep Kit", - "catalog_number": "20014279", - "manufacturer": "Illumina", - "lot_number": "10001A", - "expiry_date": "2018-01-31", - "kit_titer": "Titer: Specification is 3.0x10^7" - } - ], - "provenance": { - "document_id": "c5d77e53-9016-4ed8-96ca-ad0eeb355d3a", - "submission_date": "2019-02-14T18:29:42.606Z", - "update_date": "2019-02-14T18:29:48.629Z" - } - }, - "analysis_process/4b6534a8-7fe7-4792-9ae9-7e87effe458b": { - "analysis_run_type": "run", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/analysis/8.0.3/analysis_process", - "input_bundles": [ - "3a4760a9-096a-45fc-ae9f-fdf1ec5b73f9" - ], - "inputs": [ - { - "parameter_name": "fastqs", - "parameter_value": "gs://org-humancellatlas-dss-checkout-staging/bundles/3a4760a9-096a-45fc-ae9f-fdf1ec5b73f9.2019-02-14T183422.349024Z/pbmc4k_1000_S1_L001_R1_001.fastq.gz, gs://org-humancellatlas-dss-checkout-staging/bundles/3a4760a9-096a-45fc-ae9f-fdf1ec5b73f9.2019-02-14T183422.349024Z/pbmc4k_1000_S1_L001_R2_001.fastq.gz, gs://org-humancellatlas-dss-checkout-staging/bundles/3a4760a9-096a-45fc-ae9f-fdf1ec5b73f9.2019-02-14T183422.349024Z/pbmc4k_1000_S1_L001_I1_001.fastq.gz" - }, - { - "parameter_name": "sample_id", - "parameter_value": "a9ae9936-c11b-4195-b63a-fa6cb9c78e4c" - }, - { - "parameter_name": "reference_name", - "parameter_value": "GRCh38" - }, - { - "parameter_name": "transcriptome_tar_gz", - "parameter_value": "gs://hca-dcp-mint-test-data/reference/GRCh38_Gencode/GRCh38_GencodeV27_Primary_CellRanger.tar" - }, - { - "parameter_name": "expect_cells", - "parameter_value": "3000" - } - ], - "outputs": [ - { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "barcodes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "genes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "mtx", - "file_name": "matrix.mtx" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "filtered_gene_bc_matrices_h5.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "csv", - "file_name": "metrics_summary.csv" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "molecule_info.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bam", - "file_name": "possorted_genome_bam.bam" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "bai", - "file_name": "possorted_genome_bam.bam.bai" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "h5", - "file_name": "raw_gene_bc_matrices_h5.h5" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "unknown", - "file_name": "web_summary.html" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "raw_barcodes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "tsv", - "file_name": "raw_genes.tsv" - }, - "schema_type": "file" - }, - { - "describedBy": "https://schema.staging.data.humancellatlas.org/type/file/5.3.4/analysis_file", - "file_core": { - "file_format": "mtx", - "file_name": "raw_matrix.mtx" - }, - "schema_type": "file" - } - ], - "process_core": { - "process_id": "944c3880-29ba-4b3d-beb6-ac6487e2934c" - }, - "process_type": { - "text": "analysis" - }, - "reference_bundle": "bf51d668-3e14-4843-9bc7-5d676fdf0e01", - "schema_type": "process", - "tasks": [ - { - "cpus": 64, - "disk_size": "local-disk 400 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-cellranger:v1.0.0", - "log_err": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/Adapter10xCount/1e8e4be6-c6aa-4ed0-a469-15af0a988448/call-analysis/CellRanger.CellRanger/944c3880-29ba-4b3d-beb6-ac6487e2934c/call-cellranger_count/stderr", - "log_out": "gs://broad-dsde-mint-staging-cromwell-execution/caas-cromwell-executions/Adapter10xCount/1e8e4be6-c6aa-4ed0-a469-15af0a988448/call-analysis/CellRanger.CellRanger/944c3880-29ba-4b3d-beb6-ac6487e2934c/call-cellranger_count/stdout", - "memory": "416 GB", - "start_time": "2019-02-14T18:43:33.774Z", - "stop_time": "2019-02-14T19:09:15.010Z", - "task_name": "cellranger_count", - "zone": "us-central1-b" - } - ], - "timestamp_start_utc": "2019-02-14T18:43:31.734Z", - "timestamp_stop_utc": "2019-02-14T19:09:16.054Z", - "provenance": { - "document_id": "4b6534a8-7fe7-4792-9ae9-7e87effe458b", - "submission_date": "2019-02-14T19:15:11.034Z", - "update_date": "2019-02-14T19:15:15.647Z" - } - }, - "process/67be2852-4657-43ce-a4eb-a323de228355": { - "process_core": { - "process_id": "bundle1" - }, - "schema_type": "process", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/6.0.7/process", - "provenance": { - "document_id": "67be2852-4657-43ce-a4eb-a323de228355", - "submission_date": "2019-02-14T18:29:42.652Z", - "update_date": "2019-02-14T18:29:48.925Z" - } - }, - "process/10b0325b-45cc-4f27-929c-30e46fec23b6": { - "process_core": { - "process_id": "process_id_2" - }, - "schema_type": "process", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/6.0.7/process", - "provenance": { - "document_id": "10b0325b-45cc-4f27-929c-30e46fec23b6", - "submission_date": "2019-02-14T18:29:42.644Z", - "update_date": "2019-02-14T18:29:49.036Z" - } - }, - "process/85b60548-5e15-4efa-8baa-966f0de7d11c": { - "process_core": { - "process_id": "process_id_1" - }, - "schema_type": "process", - "describedBy": "https://schema.staging.data.humancellatlas.org/type/process/6.0.7/process", - "provenance": { - "document_id": "85b60548-5e15-4efa-8baa-966f0de7d11c", - "submission_date": "2019-02-14T18:29:42.635Z", - "update_date": "2019-02-14T18:29:48.758Z" - } - } - }, - "links": { - "describedBy": "https://schema.staging.data.humancellatlas.org/system/1.1.5/links", - "schema_type": "link_bundle", - "schema_version": "1.1.5", - "links": [ - { - "process": "4b6534a8-7fe7-4792-9ae9-7e87effe458b", - "inputs": [ - "7df5d656-43cb-49f9-b81d-86cca3c44a65", - "acd7d986-73ab-4d0b-9ead-377f3a2d646d", - "f9a78d6a-7c80-4c45-bedf-4bc152dc172d" - ], - "input_type": "file", - "outputs": [ - "bd1307b9-70b5-49e4-8e02-9d4ca0d64747", - "cf3453a3-68fb-4156-bc3e-0f08f7e6512c", - "234b0359-3853-4df4-898f-5182f698d48b", - "d95392c5-1958-4825-9076-2a9c130c53f3", - "b9609367-7006-4055-8815-1bad881a1502", - "ebb2ec91-2cd0-4ec4-ba2b-5a6d6630bc5a", - "1ab612ca-2a5a-4443-8004-bb5f0f784c67", - "34c64244-d3ed-4841-84b7-aa4cbb9d794b", - "71710439-3864-4fc6-bc48-ca2ac90f7ccf", - "2ab5242e-f118-48e3-afe5-c2287fa2e2b1", - "6da39577-256d-43fd-97c4-a3bedaa54273", - "86a93e19-eb89-4c27-8b64-006f96bb2c83", - "0f858ddb-6d93-404e-95fd-0c200921dd40" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "analysis_protocol", - "protocol_id": "71470c53-1b86-4e6d-9707-55a0f70745a4" - } - ] - }, - { - "process": "67be2852-4657-43ce-a4eb-a323de228355", - "inputs": [ - "a9ae9936-c11b-4195-b63a-fa6cb9c78e4c" - ], - "input_type": "biomaterial", - "outputs": [ - "7df5d656-43cb-49f9-b81d-86cca3c44a65", - "acd7d986-73ab-4d0b-9ead-377f3a2d646d", - "f9a78d6a-7c80-4c45-bedf-4bc152dc172d" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "b7519a0c-957e-48b5-a416-a7c1115d2963" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "f34c4543-4f98-49ce-b8a0-798ec96d5059" - } - ] - }, - { - "process": "10b0325b-45cc-4f27-929c-30e46fec23b6", - "inputs": [ - "58c60e15-e07c-4875-ac34-f026d6912f1c" - ], - "input_type": "biomaterial", - "outputs": [ - "a9ae9936-c11b-4195-b63a-fa6cb9c78e4c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0fa5708b-b5fb-4cf6-becb-ad48f3f8e7fa" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "469fa0db-f00b-4352-a2e2-753733a38e8b" - } - ] - }, - { - "process": "85b60548-5e15-4efa-8baa-966f0de7d11c", - "inputs": [ - "fad95a8a-4156-4631-95d4-a1c99b001dbd" - ], - "input_type": "biomaterial", - "outputs": [ - "58c60e15-e07c-4875-ac34-f026d6912f1c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "c5d77e53-9016-4ed8-96ca-ad0eeb355d3a" - } - ] - }, - { - "process": "67be2852-4657-43ce-a4eb-a323de228355", - "inputs": [ - "a9ae9936-c11b-4195-b63a-fa6cb9c78e4c" - ], - "input_type": "biomaterial", - "outputs": [ - "7df5d656-43cb-49f9-b81d-86cca3c44a65", - "acd7d986-73ab-4d0b-9ead-377f3a2d646d", - "f9a78d6a-7c80-4c45-bedf-4bc152dc172d" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "b7519a0c-957e-48b5-a416-a7c1115d2963" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "f34c4543-4f98-49ce-b8a0-798ec96d5059" - } - ] - }, - { - "process": "10b0325b-45cc-4f27-929c-30e46fec23b6", - "inputs": [ - "58c60e15-e07c-4875-ac34-f026d6912f1c" - ], - "input_type": "biomaterial", - "outputs": [ - "a9ae9936-c11b-4195-b63a-fa6cb9c78e4c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0fa5708b-b5fb-4cf6-becb-ad48f3f8e7fa" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "469fa0db-f00b-4352-a2e2-753733a38e8b" - } - ] - }, - { - "process": "85b60548-5e15-4efa-8baa-966f0de7d11c", - "inputs": [ - "fad95a8a-4156-4631-95d4-a1c99b001dbd" - ], - "input_type": "biomaterial", - "outputs": [ - "58c60e15-e07c-4875-ac34-f026d6912f1c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "c5d77e53-9016-4ed8-96ca-ad0eeb355d3a" - } - ] - }, - { - "process": "67be2852-4657-43ce-a4eb-a323de228355", - "inputs": [ - "a9ae9936-c11b-4195-b63a-fa6cb9c78e4c" - ], - "input_type": "biomaterial", - "outputs": [ - "7df5d656-43cb-49f9-b81d-86cca3c44a65", - "acd7d986-73ab-4d0b-9ead-377f3a2d646d", - "f9a78d6a-7c80-4c45-bedf-4bc152dc172d" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "b7519a0c-957e-48b5-a416-a7c1115d2963" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "f34c4543-4f98-49ce-b8a0-798ec96d5059" - } - ] - }, - { - "process": "10b0325b-45cc-4f27-929c-30e46fec23b6", - "inputs": [ - "58c60e15-e07c-4875-ac34-f026d6912f1c" - ], - "input_type": "biomaterial", - "outputs": [ - "a9ae9936-c11b-4195-b63a-fa6cb9c78e4c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "0fa5708b-b5fb-4cf6-becb-ad48f3f8e7fa" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "469fa0db-f00b-4352-a2e2-753733a38e8b" - } - ] - }, - { - "process": "85b60548-5e15-4efa-8baa-966f0de7d11c", - "inputs": [ - "fad95a8a-4156-4631-95d4-a1c99b001dbd" - ], - "input_type": "biomaterial", - "outputs": [ - "58c60e15-e07c-4875-ac34-f026d6912f1c" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "c5d77e53-9016-4ed8-96ca-ad0eeb355d3a" - } - ] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/data/fce68057-b0f0-5d11-b9a7-30e8fa3259a8.dss.hca.json b/test/indexer/data/fce68057-b0f0-5d11-b9a7-30e8fa3259a8.dss.hca.json deleted file mode 100644 index 8590fd87a5..0000000000 --- a/test/indexer/data/fce68057-b0f0-5d11-b9a7-30e8fa3259a8.dss.hca.json +++ /dev/null @@ -1,28909 +0,0 @@ -{ - "manifest": { - "sequence_file/99985ea4-d29e-4357-9879-99440a002b49": { - "name": "FCAImmP7316894_S1_L001_I1_001.fastq.gz", - "uuid": "01824e76-505c-4e99-9ffd-bc1b5f56f726", - "version": "2020-08-13T10:24:33.604000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2552809421, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ab47b7b4-2df9-47b4-bbb4-57d69a382a87", - "crc32c": "3426d4b4", - "sha1": "1dadbac219091ab46d96c3d50d35cbd7746677f7", - "sha256": "5f6e2b3c8d6e00fd6dd51c301d1c97f2536a7887963e0365f215cd0f96d34f97", - "s3_etag": "2a0329a71e83818c5f8e51fa091c5d20-39" - }, - "sequence_file/601bacd5-c250-4dd3-a83d-c9f31a1b0dd8": { - "name": "FCAImmP7352193_S1_L001_R2_001.fastq.gz", - "uuid": "0526e3df-0747-40fb-b4be-99c8813deefd", - "version": "2020-08-13T10:24:34.163000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29797316111, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b56c571e-d974-47a7-941b-b44a53124dc2", - "crc32c": "27ce82ad", - "sha1": "c29dc6c4061fd7651a79929e2820acbc706a6f28", - "sha256": "5eb3a3d3cd1d20a58fef44967e43cc3bab983017fed83619ce583a190f35fc0f", - "s3_etag": "40155c79aec333af98e27949b87fae21-445" - }, - "sequence_file/455c6c50-9424-4dac-b67c-1be48276d5b5": { - "name": "FCAImmP7316890_S1_L001_R1_001.fastq.gz", - "uuid": "085e5f88-ab09-4d69-bc14-afa71e1ae17c", - "version": "2020-08-13T10:24:33.458000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 7988836041, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_37204ac6-191f-47ba-b3c7-3d927d9e522b", - "crc32c": "24a02c8f", - "sha1": "f3ad92f512a428fe57395a344aa34c8bd18a4150", - "sha256": "2c1bbc2263124703a0c818aa4c75f6cfaedd1b567ad15b80fe0c2d2d3004d20e", - "s3_etag": "bb820841d613f555c098abebd67a620d-120" - }, - "analysis_file/63bee9b4-8743-5a13-b144-80cf68313083": { - "name": "cfa1e5da-607e-49b6-aa0d-8f43702b971f.bam", - "uuid": "0a80f21f-3212-596b-9367-f7211c554c7d", - "version": "2021-02-09T10:00:00.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 61104038030, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_8fa0492a-20cc-44cb-b62d-98cb1b1cb02a", - "crc32c": "f9e695e2", - "sha256": "f3f032bc303a9b2cba8ce26f69370f2e1565ab2276a9140e4abcba3721c5e39c" - }, - "analysis_file/07a81052-3964-5b08-8f2d-066c1e29de7d": { - "name": "1248ead2-3dd4-43fe-9f7c-9609ed77d9c2.loom", - "uuid": "0aa3a582-3905-5cba-9dd1-d3cf58be18ce", - "version": "2021-02-09T08:34:58.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1705801482, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e9b071f2-1584-428b-9e3c-9a5943905a7d", - "crc32c": "792b4a5d", - "sha256": "b4d1cf6d019cfb4f27e501d567bd8e9543216037d18a455e32b2012f51dc89d2" - }, - "sequence_file/b61e4f40-1742-4bbb-a20d-78a934c5f8de": { - "name": "FCAImmP7352192_S1_L001_I1_001.fastq.gz", - "uuid": "0c3e7565-d5bc-44ed-8b1c-a9446150f274", - "version": "2020-08-13T10:24:34.100000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2603387356, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c97495cc-41f5-4662-af51-77846111717a", - "crc32c": "dcc11ef6", - "sha1": "1b31b1574d288ab7bc8c20f5c7e71920927085ea", - "sha256": "eee0705784755c472ffe202927e18264aa1664c991c5a3483a3fa6f5216a9aed", - "s3_etag": "bed37bb5bb430de9fa47a5e0b4c0bbcc-39" - }, - "analysis_file/07a18873-6df1-57a8-848c-980bfa29fbf5": { - "name": "3381994d-5624-4f5f-a574-01ad099c448c.loom", - "uuid": "0c410012-5563-5e9d-9841-a0232b69d43f", - "version": "2021-02-09T08:26:46.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1363923249, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_8b6e01b6-7e12-4b8f-9f16-97a1dd354215", - "crc32c": "9a0339f5", - "sha256": "a06fa80743f30442e6fae4eb7d5e85354d11459783b2b52a84ffc4996b85825d" - }, - "sequence_file/71c8dfa2-0a8c-4ae0-8161-933454f56420": { - "name": "FCAImmP7198629_S1_L001_R1_001.fastq.gz", - "uuid": "0ea260e6-08d5-4488-86bb-8bf3412540ee", - "version": "2020-08-13T10:24:32.650000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8159243311, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_78ce92be-f82c-41dd-827c-d5cef8a348f4", - "crc32c": "0c841aab", - "sha1": "1941d18e40b366932e5623fcded703272251c3ee", - "sha256": "7aafb4ae24d84eefc436a6c4b21af230c384271e0615f5c4fdab0103ce3d8356", - "s3_etag": "c05e8bf9ad17eaa5e548d6dc013b3a07-122" - }, - "analysis_file/1f43235c-6299-527b-b470-2b6638bdaf8b": { - "name": "37925a3b-3bce-4876-bb29-745922b2c972.bam", - "uuid": "0edf6004-84e5-5b8a-99e2-bb60390d9b17", - "version": "2021-02-09T08:22:39.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 32947839530, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_76492cfb-8b1b-4c35-b6b1-557d42f5d60c", - "crc32c": "5c6fa039", - "sha256": "c0231f78ab9909b02badc89a3e8dd44f06bba1658197974eaca1d5cc63c3053a" - }, - "analysis_file/91caea03-3c9a-5ba8-9acc-3685e3a6062e": { - "name": "a9c40eb8-24b6-4436-a3d3-e8035e84f6ae.loom", - "uuid": "111c2683-e0ab-5704-b51f-7b93e6717415", - "version": "2021-02-09T08:58:27.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1535383236, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_959f3d74-1e15-4ca8-9acc-4e0ae60ba748", - "crc32c": "cbc2c019", - "sha256": "72f702a989236ac8ee3ab989b73399776a79230e2bf507614004de81b2260396" - }, - "sequence_file/c30c31d2-ccfb-4651-8b78-a25a23ab4e95": { - "name": "4834STDY7002878_S1_L001_R2_001.fastq.gz", - "uuid": "1147a7c1-2f32-4f13-9457-929b9bce46f0", - "version": "2020-08-13T10:24:32.079000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 47392260066, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_746bffff-170c-441b-a24f-08b86f5a5d20", - "crc32c": "8ef4b28c", - "sha1": "8aba69741c7a7fb82386fc65b4824f5d80bc51fe", - "sha256": "79382722d3531de6d4da59335f18428ccaccf8c01688f986fe69aa3a0a5cc3aa", - "s3_etag": "22910df9d0c6a3a7f75bddabb9ba6d32-707" - }, - "sequence_file/d7f0b745-c135-4594-9a4b-a4c66c8a1520": { - "name": "4834STDY7002882_S1_L001_R1_001.fastq.gz", - "uuid": "120e7f3e-597a-4119-a9d6-1624704666b4", - "version": "2020-08-13T10:24:32.208000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 27574032619, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4d25fa13-4b11-4c21-957c-e4ba8b261610", - "crc32c": "1e8c31d4", - "sha1": "ccd3be1abe70fc734d676a1006d866a2a93a82ef", - "sha256": "6816fea09166fd064564088335450eaa5b1083f50519e9a21fa55353920d8f80", - "s3_etag": "157095d69509e358dde9bb6e8e4283a9-411" - }, - "analysis_file/e6604cbc-c882-5f03-b4d0-807eb969a293": { - "name": "bc583c0e-4336-43d4-a7da-dc7e1f72b50b.loom", - "uuid": "139bca8f-674f-5dc9-953f-9cfbf91f3179", - "version": "2021-02-09T08:45:17.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1364895619, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_083e36aa-3de8-42f0-a043-b8646d0c2c71", - "crc32c": "b3564b89", - "sha256": "69f1d8c80296feaa8532a9c5a57f8ec32b2daed104e6477f3bd01ac240c8bee7" - }, - "sequence_file/24c3ce12-e4f9-4299-a005-320d602716ce": { - "name": "FCAImmP7579223_S1_L001_I1_001.fastq.gz", - "uuid": "15087f54-4375-44ad-9aef-405e976767c0", - "version": "2020-08-13T10:24:35.400000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2379045893, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ca3e64ab-a7cb-4575-8440-849f9b2fc6eb", - "crc32c": "0f73566d", - "sha1": "75e6dbeb40313fc5e102eae85b2a58f9cf6895fe", - "sha256": "c3a2884fb50fbe934094ded8c48f2cdc8e0f83be65d6754cb49ff72ebcc0eda0", - "s3_etag": "a1f0b8682c661d898803cbcc8c6d08b2-36" - }, - "analysis_file/129bdef3-ae23-5273-920f-204cccd878fc": { - "name": "cfa1e5da-607e-49b6-aa0d-8f43702b971f.loom", - "uuid": "15c898b4-124d-5c7b-b297-6b21226d0bda", - "version": "2021-02-09T08:43:11.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 649399414, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_42b46880-906c-47a2-bd77-fefb2ff4d45b", - "crc32c": "b023220c", - "sha256": "0809df137e03057eaf5b56daf1c2d7e757d0add92988df5827cca03b97aca65c" - }, - "sequence_file/32714f4f-1a04-4fc3-bdd9-2ae6473fe544": { - "name": "FCAImmP7316891_S1_L001_R2_001.fastq.gz", - "uuid": "15dbb4ef-0c35-48d9-86c2-f56fd6863810", - "version": "2020-08-13T10:24:33.513000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29609252851, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2335283c-4206-44f5-9e4b-0d20fa2ae808", - "crc32c": "38b99048", - "sha1": "96fcc37a83f8e1bd097d4ff07415243d6ee81ef0", - "sha256": "362b2380cd504d128d436c0c9f4c8858b3f8135f75a02f137efa8efe65b5c575", - "s3_etag": "26cbcbf85293abc62a9a9eb181b4b712-442" - }, - "analysis_file/bc454c4f-c3b4-565f-be09-44d7523a80de": { - "name": "5d687d7c-8d96-4203-ad8e-d0668828ad37.bam", - "uuid": "17510bd6-d94b-5f41-a726-967bf9955f31", - "version": "2021-02-09T07:58:54.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 37957956713, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_434730a8-a51b-4fee-bead-eeccab02f463", - "crc32c": "905302dd", - "sha256": "ea95cc86e3823f9c94c28d8131a08859116b856fb519662e3ee4799fca6d1b2c" - }, - "analysis_file/dcaba295-f646-562f-8752-6f6fa634bc4f": { - "name": "9bb08d39-3957-4ff7-a20d-cc45a1cb38ab.loom", - "uuid": "181fc217-c6d8-5fa3-a76a-c0cc766d6dcc", - "version": "2021-02-09T09:21:12.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1455002091, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6bb86ff7-8f4a-4a06-bd75-57137cfd935d", - "crc32c": "7bbeb67f", - "sha256": "18ed3743678f279a15848d61015191871253f0be80427e274bf641e735ce02c3" - }, - "sequence_file/daa5945d-5d1f-4586-9c85-e3fa5af8bfb5": { - "name": "FCAImmP7579223_S1_L001_R1_001.fastq.gz", - "uuid": "18de212b-b326-4daf-80d3-9e8ebc19ab03", - "version": "2020-08-13T10:24:35.433000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 7400300782, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fc7ae751-2405-4c9c-8a49-777eb1f6f1d4", - "crc32c": "8b9ff8c5", - "sha1": "9dc927ef8459572e5c56d8920d8ce91f79b3a141", - "sha256": "0b78e7550bec9323bfa20fa4bf16a885a992910db0325c7a9e58e4d10198c5f9", - "s3_etag": "e38138fa1e08cefe87b3dea37dd042fc-111" - }, - "sequence_file/9403a717-07d2-4510-9f19-77d41747c188": { - "name": "FCAImmP7277560_S1_L001_I1_001.fastq.gz", - "uuid": "1c4a667a-210a-445e-b773-d59840280580", - "version": "2020-08-13T10:24:32.906000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2647677455, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c7ccdc71-8c41-4cbb-956b-e22b73a4a940", - "crc32c": "77b8e825", - "sha1": "0dc27f00b9250277779c6f16ec2d0f68dcae98c1", - "sha256": "18f02f8983cc9555536a272fbcbb0f883ab58bf53b3275fc9e7acf1407d03aa7", - "s3_etag": "425e2241300ed834bde143772abfe0c1-40" - }, - "sequence_file/611d7372-2d5d-4b93-9cb8-b6d689b0f905": { - "name": "FCAImmP7277560_S1_L001_R1_001.fastq.gz", - "uuid": "1d7226b0-ed2f-4ab4-8692-3af8d3bd6017", - "version": "2020-08-13T10:24:32.961000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 7664122784, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ecc695f2-0073-416d-80bc-47fe35daac7a", - "crc32c": "87d62ffb", - "sha1": "dae2ca3ade25d930e4714b8a58a9ac7d8b1991a9", - "sha256": "c224306c744bf9fcda103edbfec0d370b3a5e43b20b87812d0d5396cc46024bb", - "s3_etag": "72cda04b2a2b74da1a3a1580c9072290-115" - }, - "sequence_file/2b40b918-2632-4a06-9746-6f542d884b90": { - "name": "FCAImmP7198631_S1_L001_R2_001.fastq.gz", - "uuid": "1db22fe1-6ca8-4ca3-b91b-678f08d8626f", - "version": "2020-08-13T10:24:32.734000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 30039390235, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b7e94aa3-02f4-40d2-9f1b-43928c817ffb", - "crc32c": "b4cf29b4", - "sha1": "6f04b6d3529674f584e588bb3ef02a115dcd2404", - "sha256": "97698ca3fc5f2e8745d261b18c5eb0c364d7971f2d5d92e20187b0a40c446329", - "s3_etag": "fe7a0ca8fe5ddd5aa8e1e4d8c64287d6-448" - }, - "analysis_file/ce52572d-f7d1-585d-a54f-fc14297d19c0": { - "name": "ded9b30e-12df-4998-846a-7cef685e4bd6.loom", - "uuid": "1ff18c5a-846f-5000-b8c5-889b6328842a", - "version": "2021-02-09T08:55:17.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1924677966, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_72df293d-51e7-4933-b7a6-3a36efa8b2fd", - "crc32c": "10c5753b", - "sha256": "c520a898410a0668208e5176aaf336da590360f7a817f9daf30eeb4e98d23e7e" - }, - "sequence_file/d1bbc8a6-9320-4527-bca3-2dbb172bea38": { - "name": "4834STDY7038751_S1_L001_R2_001.fastq.gz", - "uuid": "21302b0f-80dc-48ce-a69c-b999c5418749", - "version": "2020-08-13T10:24:32.399000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 42003446174, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d38a6174-35b4-404d-9677-a70df7bd32e7", - "crc32c": "2db41d11", - "sha1": "371fa7ac6568be2cce1c8131ec4e576151bfbb2b", - "sha256": "40ee60995e554451cece5ab92f69eddd8ba2cd7c75f000cd6c6886771d2fbba4", - "s3_etag": "cfe1727fda159ebf3947a83e886d609d-626" - }, - "sequence_file/ba276a56-3bdf-42ff-93f4-2920c3a288f9": { - "name": "FCAImmP7528286_S1_L001_R1_001.fastq.gz", - "uuid": "214d0bf4-23de-4aab-816e-52df14eb53f9", - "version": "2020-08-13T10:24:34.934000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8096191323, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2215e846-b67d-4be6-8c8f-7625cda8eb47", - "crc32c": "a9af9c3c", - "sha1": "122f56a93e70d41fdfcc124c8ccf4ca8d0e00923", - "sha256": "bf1ade81264752bbfcda21703e5bc07971898dc8586ca005c73428aaf55f9d1c", - "s3_etag": "9d70f5b588c833437a1d6f37d32796e6-121" - }, - "sequence_file/cf835034-c34b-4b5d-aac6-8de2e280e959": { - "name": "FCAImmP7528288_S1_L001_R2_001.fastq.gz", - "uuid": "21ac5c57-bebb-47d4-ad9b-491cdfbacb88", - "version": "2020-08-13T10:24:35.036000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29450046385, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_af4015fa-9116-4187-808a-584145b2f571", - "crc32c": "dead08e6", - "sha1": "60e846bbde610ee131e5dec083de41376c267bd3", - "sha256": "179686c8e324e376017decb467a68bec0f58558e5ba9636a98beca57b250f1da", - "s3_etag": "3ea0da90965f3173c591f1cae72a1017-439" - }, - "sequence_file/e79faefc-5135-4e43-a64d-8db7472d3f2e": { - "name": "FCAImmP7316892_S1_L001_R1_001.fastq.gz", - "uuid": "2224ee0a-dc74-4bc6-bf71-5752bc090aed", - "version": "2020-08-13T10:24:33.537000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 7882855569, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c3cd00b7-9c8b-4cbb-adb4-4755d4271d5c", - "crc32c": "920855cb", - "sha1": "93d97c76b0183a848d8bf6105abf14187648660b", - "sha256": "cbadf51acf1f2559196a62f96c7ee69460aaf52cff3afc8089dcd92e442278f6", - "s3_etag": "d481165ebb3f592dfd533e1dcacc3d73-118" - }, - "analysis_file/c1770287-3376-5cc1-a2a2-9676e7f5716e": { - "name": "42b114bb-27ee-4415-b046-7ee5581adc27.loom", - "uuid": "25c4395e-dcc3-5fd4-bff6-7dd2be6dbc1f", - "version": "2021-02-09T08:37:06.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1625907345, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6835ecba-8a48-4c52-aa46-44fe1f5d41e2", - "crc32c": "00e25bae", - "sha256": "6eb654ff98948c299bb4aec48368d7300ee3363b5eac4d9f2ef864533ab9f38a" - }, - "sequence_file/dfe9cbbb-cf19-4e2d-bd3c-70e0d9235f67": { - "name": "FCAImmP7277561_S1_L001_R2_001.fastq.gz", - "uuid": "26684c18-6ba0-4e9b-98f2-0a4b6f7f4a86", - "version": "2020-08-13T10:24:33.109000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 27535115175, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0104fe7e-f505-4268-95e2-9b170c80b700", - "crc32c": "fa38cab6", - "sha1": "d521b463eb653d97d2deaedb92ee9c0a67721b7a", - "sha256": "a13f6d951cb5987ffdc9e7959f2a5336f1b438161a81d79b5fbcfbd6db894fe4", - "s3_etag": "bc5c744a4a8291bd7be93c8a7adfc15f-411" - }, - "sequence_file/7ee8e5aa-5faa-4491-bd66-150e202974dd": { - "name": "FCAImmP7198630_S1_L001_R1_001.fastq.gz", - "uuid": "285e146c-92b8-490c-b5e5-c8c24daa8ad2", - "version": "2020-08-13T10:24:32.686000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8127231249, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6d847405-8bbc-4c2e-93c3-2b508497b077", - "crc32c": "38f53dce", - "sha1": "f6b171d98fa87081ddd87e70492d63c9091e6fea", - "sha256": "efdb3d45688d1a0e714fbed560e1e4cd6a26878c4249e5436ac55de1de6eca3e", - "s3_etag": "0eac6bcaca393be153cb08f62c55aeeb-122" - }, - "analysis_file/bbb02342-bad3-5d6c-89fa-1cbaf2e7b5dd": { - "name": "b49fb5d4-6f31-4b7d-827e-bc09ed30a167.bam", - "uuid": "2ee42e3a-73ae-5632-9a22-11b6a0fdced8", - "version": "2021-02-09T09:07:07.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 37471834021, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_88c9c172-e8e5-4271-a556-ae6409e80c21", - "crc32c": "b623c9bb", - "sha256": "9cf2f6304126ce30855d38ea7f6b04493bb0f82a1b60493c921fbdcfcd7615f7" - }, - "sequence_file/835ec088-c1a5-4b0c-897c-22bc92950587": { - "name": "FCAImmP7316889_S1_L001_R1_001.fastq.gz", - "uuid": "2fc7b43d-2351-428d-94f9-10a25c165f1a", - "version": "2020-08-13T10:24:33.403000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8113714492, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a6f3589a-6f4d-4cb7-a702-ea7b196d2c12", - "crc32c": "03274c7a", - "sha1": "2b640b398f8a508945e4ff91469638b91b6c042f", - "sha256": "af7641eda6bdad4c6cb1e54dc07e63297b4bfd7659227e48c1972b5ea8ffac29", - "s3_etag": "6cb68f1add2e32098bab6e8e7880fbd4-121" - }, - "sequence_file/4f91ed04-d045-4904-a78e-103294d4f5e9": { - "name": "FCAImmP7462237_S1_L001_R2_001.fastq.gz", - "uuid": "312ecb1d-d94c-437b-9f36-e2ccf949fd79", - "version": "2020-08-13T10:24:34.315000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 30681130249, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1e7a9b1e-2060-4450-8253-c4e895faef79", - "crc32c": "c8adc630", - "sha1": "56e9372b798e988ab430c8788ba1acedcf377f7d", - "sha256": "3e73232634f1e8f6e25a2f44a75f8d158c725b6b074840f0c08dbe469817b1c4", - "s3_etag": "7c74cb715edf9886f327ee808765d5c3-458" - }, - "analysis_file/0db36828-3fae-5bd2-b052-ae63b88693d9": { - "name": "2d0d630a-58dd-42f7-bd7e-579ebec98d48.loom", - "uuid": "31658494-9514-5169-84bf-0eb0620557f0", - "version": "2021-02-09T07:52:42.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1516197204, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a33985d6-7424-4179-8831-04c491936269", - "crc32c": "fa7dddf4", - "sha256": "fde8ba0d033beb01d3f33f2bee3044b15f745bb4de16f9bb358f96da9c1b6330" - }, - "analysis_file/2c88ef68-7029-5f00-9387-a364d6292976": { - "name": "b49fb5d4-6f31-4b7d-827e-bc09ed30a167.loom", - "uuid": "3516a5d0-2fa9-5fbb-b1cc-5a95ca12bf3d", - "version": "2021-02-09T08:32:23.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1770152665, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f11da9f1-cbaa-4d4b-aa41-2af8072d2ffa", - "crc32c": "8adabeed", - "sha256": "232990e63a8b60017a642fc123be84453b2c1fd18cdc1f22d457e2e64843cd92" - }, - "sequence_file/fd0752c7-210b-4acd-a7ef-df7ffcdfbd3d": { - "name": "FCAImmP7462237_S1_L001_I1_001.fastq.gz", - "uuid": "37e1cc3e-b56d-4cfe-b310-3ef20a6668a5", - "version": "2020-08-13T10:24:34.290000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2795371911, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c0503610-8f0c-45e0-a05c-b93152341c8d", - "crc32c": "73c9cb39", - "sha1": "1741310a7ce9092ea592e621ffb8d3c525ec2095", - "sha256": "407e1285ff411e8ab8b29f80e6e38cd5d562008055f566958919ea84e32c6acb", - "s3_etag": "3f15fa627b29dfca8d70c9dd2849508a-42" - }, - "sequence_file/336b106c-f5f3-4d35-b583-05fc33ee910f": { - "name": "4834STDY7002877_S1_L001_R1_001.fastq.gz", - "uuid": "381edf9b-6bec-45ba-bf1e-07e344ae70f0", - "version": "2020-08-13T10:24:32.031000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 33574288219, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7e29e017-abc0-418b-a687-6f045dbb771a", - "crc32c": "27abbcdc", - "sha1": "7e74eda0c6f46faa3c482d615a49f25e34ffda91", - "sha256": "b065817fa9e7e307781b77919ae119dfb7d5ff60ee29d4b3586b0699498b58ca", - "s3_etag": "947e702e148656bd0e2cef982dee4636-501" - }, - "analysis_file/8cdbf96a-27ae-590c-b967-8a850c760785": { - "name": "62a131e1-c415-460e-bc5b-75cca5d3323b.loom", - "uuid": "39121e35-d7a2-52ac-a826-529b0329033f", - "version": "2021-02-09T08:27:29.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1292449695, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_68603f62-06f5-439d-bb1d-f0ac2dde8b5d", - "crc32c": "23b634b1", - "sha256": "ef0d834594ef9d7a5f260f1cabe62ce80488166776095aa6320d13243af7f29e" - }, - "sequence_file/c50f0504-73bc-4bd6-8ed3-1dcf0b60549f": { - "name": "FCAImmP7555846_S1_L001_R2_001.fastq.gz", - "uuid": "3abd4ba6-320e-4f5e-91cb-3a75070506b3", - "version": "2020-08-13T10:24:35.148000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 30206160452, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_59075c99-0f72-4ffc-a598-5f1f7107c8fe", - "crc32c": "99720b83", - "sha1": "11f17ec9659ca800d99f444b75774417ce0c9f19", - "sha256": "44ef1fe0d91cc512514274372d66ab688b24d696a3d42bd0154613b98942e55c", - "s3_etag": "409e2b7f5d55ea4186f0639ac40caa7f-451" - }, - "analysis_file/b9877824-638a-5fde-8196-70317fa1cc19": { - "name": "232174af-3ebf-4b3b-97fd-35547950c4c8.loom", - "uuid": "3de145e6-2439-593d-9779-c618b174ece0", - "version": "2021-02-09T08:29:42.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1634487281, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_40bc5b5b-0210-431e-a5b5-4634a94c0818", - "crc32c": "6789712c", - "sha256": "8e4d82dbc94e65a2bc71ced2d9cbcd830ef84285b80e73908d35582de2cbeb21" - }, - "analysis_file/0a79ce42-b2b7-5c37-8bb2-e61bc1b5e38f": { - "name": "951a8ffc-69c5-4f7c-8ee8-39b76171f630.loom", - "uuid": "3f0bfbb4-c9be-56db-9eb5-b37a6dc306a2", - "version": "2021-02-09T08:32:25.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1735761928, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_bdfc4e44-3b5d-47b8-9c43-55eaef2e6b1c", - "crc32c": "cee09154", - "sha256": "63dec4047f1f26b7dfdddbada3c4a3a4e06ba896da8df8c0c32bce3b4a1e6728" - }, - "sequence_file/7ae24487-8546-422c-ad9b-bfa36bdd6ba4": { - "name": "FCAImmP7198628_S1_L001_I1_001.fastq.gz", - "uuid": "3f5ad2eb-04e1-4cc0-9513-6f2be5feed42", - "version": "2020-08-13T10:24:32.600000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2602658363, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b99bed54-1eda-46d1-9cef-bf42af726cdd", - "crc32c": "ba5786e5", - "sha1": "f64b1a50655c2bccc2908f0c99afefa27ad513ee", - "sha256": "ba61f3de916922518a63daec153383aa75abac15a5a15d03dcea6a445fa77230", - "s3_etag": "ee7ae10697bfd0ee156a9168f5330af0-39" - }, - "sequence_file/10a76c2f-2a9b-4430-88bc-c4f3828e4e3f": { - "name": "FCAImmP7198630_S1_L001_I1_001.fastq.gz", - "uuid": "420d9c85-32cb-4f35-a939-918b1eda8d62", - "version": "2020-08-13T10:24:32.673000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2641718151, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e0d90078-678e-4942-9005-3f07e01f9487", - "crc32c": "f808bffa", - "sha1": "e74cb8d25f1990382cc0f6b04cff4b7fb3359f8d", - "sha256": "9afd39eba9b62fb767be5c941ff89acebfb1ae8b7c40674944e8c0a49e3c3110", - "s3_etag": "f0e5a243085ea18699a9e2aefe6a480b-40" - }, - "sequence_file/0b9d7ae0-f6af-40e5-898d-7b2afc48c4b1": { - "name": "FCAImmP7579210_S1_L001_R1_001.fastq.gz", - "uuid": "4598ad54-184e-4400-b40c-8b8050e31617", - "version": "2020-08-13T10:24:35.281000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8092391798, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cb6827ec-6fdb-4f00-9f68-d8a7124a9c7b", - "crc32c": "a573585b", - "sha1": "e09968991638d1334fc443db2b0ec4ac404bd1e2", - "sha256": "0553912e9abff42cb957bd0898b27e565b8ddf4cea11f7123ebfee3eb3b540cc", - "s3_etag": "32df44e619302884b46d5d1f13092f45-121" - }, - "sequence_file/47f2b446-7a03-4286-8a35-41e52394622c": { - "name": "FCAImmP7179364_S1_L001_R1_001.fastq.gz", - "uuid": "45b42e03-4fcb-4dd0-8a33-47680b8f5254", - "version": "2020-08-13T10:24:32.540000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8005753163, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_73a0e7a2-e7a5-43c7-8439-e6d2f3d3fd24", - "crc32c": "f7f64c44", - "sha1": "c799bceed9c476a967d4ea2e4013930bbf686f3e", - "sha256": "e99884732ac18895f991d641fe555ab39acbe1d529e83a6aff4ae539180b3188", - "s3_etag": "135dc0767246c28e251065697d3694ed-120" - }, - "sequence_file/82c6f8e4-79f9-48b7-aab5-35853db742a4": { - "name": "FCAImmP7352195_S1_L001_I1_001.fastq.gz", - "uuid": "4725c942-1647-435d-9690-51cf8b817b6a", - "version": "2020-08-13T10:24:34.213000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2712770985, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9fc63729-e1a6-4f29-9ce5-d7e4c04b97b9", - "crc32c": "edf0dc75", - "sha1": "c55a89917022003d5b706db903fc794ac4e4d542", - "sha256": "212a0e536482d9200b9837bae3633633d0f90f6b59b4e340e8b5eef55d712937", - "s3_etag": "789398f1904eb1dfd2064c3003a57c2a-41" - }, - "analysis_file/8de90a27-1f7c-5651-b3d6-8527c1ed92d6": { - "name": "10a02923-b945-43fe-97db-c984e06dc5a7.loom", - "uuid": "47a6d2b8-91a5-51c3-9df3-ac30c79346d2", - "version": "2021-02-09T07:42:30.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1110154771, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_66a01517-b283-4841-9529-539e2c718a5a", - "crc32c": "f0c12312", - "sha256": "128f6819011060a5c67e69fa8a3513cd599c05d7be49bab81ebcc054d9e3e197" - }, - "sequence_file/68cac6a2-5453-4d08-9af2-a4e01f259dd3": { - "name": "FCAImmP7316893_S1_L001_R2_001.fastq.gz", - "uuid": "4a0269a6-6026-4d2f-9d1d-5bb60c0042df", - "version": "2020-08-13T10:24:33.592000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29364453874, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1195598d-6c77-4af6-a0fd-5fb5a1204dc0", - "crc32c": "89676a09", - "sha1": "842e75fc5c823b0e7879ce04c4a64e06d8999642", - "sha256": "695673d12802cabcd09d406f2992b0c517cffa8a88ede0fa877f433b995352f1", - "s3_etag": "a3f16fe800becb016a63999f711764e8-438" - }, - "analysis_file/fda0ea89-2300-59ed-9125-784883c5e211": { - "name": "c301901f-95cd-4a3e-a4df-761fa21e92af.bam", - "uuid": "4a2cee73-ad0a-5ad9-bed4-62c32852f66d", - "version": "2021-02-09T08:50:46.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 35610254235, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_73559e8a-1b51-4a65-b0dd-5f8ce6d2e79f", - "crc32c": "b7940494", - "sha256": "86d81fe60c02eedd66a3ab32fdcd3eb0952b36a8f2217972d1764db9682bdf12" - }, - "analysis_file/538399a0-da86-57f5-88c6-b150db89c3f3": { - "name": "1d5a282b-b4b5-41dc-ab46-862476a87c18.loom", - "uuid": "4a5dedbf-84c4-5772-a103-fc1466aa0c86", - "version": "2021-02-09T08:34:03.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1166855607, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d87b4666-ba29-4e33-8ecb-552171ff22c3", - "crc32c": "f82fe55a", - "sha256": "72693e6aad64abe04d6239c1a2894f6f32cc2b161d4f43ceaef714f7d658fbca" - }, - "analysis_file/a78f0746-6eed-5b0e-9772-aab4bceec02c": { - "name": "a9c40eb8-24b6-4436-a3d3-e8035e84f6ae.bam", - "uuid": "4a9d5d83-3e12-5ece-9524-facb79cd9239", - "version": "2021-02-09T09:40:11.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 40332614890, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_31b13924-fe64-4f21-ab6b-88589f7afe32", - "crc32c": "ed4b4045", - "sha256": "5100ca6d4633f426dfa275e7f6acaac55d667e3eadbc5d62586e6df110684cd6" - }, - "analysis_file/fe4686b9-acd3-5237-acf1-1bd9cc0c19c5": { - "name": "f26c4715-5488-4d7f-ae0e-1c965128fbb1.bam", - "uuid": "4b13d612-7d7e-5ee1-9c8b-20ba230dbb03", - "version": "2021-02-09T09:09:16.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 38131548530, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3d1b845d-f8d6-4c09-8d5d-b86eadf168c8", - "crc32c": "59c9afb8", - "sha256": "b94e08048d43e6cbfa5383d7bfeb351bac619b711e50bc63dd85325f69d2954b" - }, - "sequence_file/e97d853f-aaf2-4b69-8300-f9aac8111c39": { - "name": "FCAImmP7352194_S1_L001_R2_001.fastq.gz", - "uuid": "4bb648cb-6617-4a22-afb8-7c2ea96ea4e9", - "version": "2020-08-13T10:24:34.199000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29298841392, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_64e4b5f0-ef82-4314-acc5-01a695238d31", - "crc32c": "799c2f98", - "sha1": "71f34a269368d2811e6132d941475a3bbe2d0236", - "sha256": "ff28a16f944bee878fc55af7afd87e09c8af4256aa171080358cb22771057f69", - "s3_etag": "da8c7a4b5e4abda322a2e568ee7a7b38-437" - }, - "sequence_file/8fee28bf-4f9b-4d62-814b-ea97119048ee": { - "name": "FCAImmP7316891_S1_L001_R1_001.fastq.gz", - "uuid": "4cbe8be7-074d-4104-a5bd-87150fb592a6", - "version": "2020-08-13T10:24:33.499000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8054577078, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_eadaa69d-0f6a-4c24-a21d-136da13c117e", - "crc32c": "492201cb", - "sha1": "5ce2415e8cc41684a81ea0cb599b2fbc3a1f4c20", - "sha256": "2eda610d3e0979030ca199dea0466482c93973fb86b4f2ab0fb9bc13af1aed97", - "s3_etag": "2374934040596499f756181c0c9d8385-121" - }, - "sequence_file/dbe02baf-4c99-4784-bf03-2ebeeef70288": { - "name": "FCAImmP7198434_S1_L001_R2_001.fastq.gz", - "uuid": "4eedf1da-27b4-4748-9207-c4ae4b86e966", - "version": "2020-08-13T10:24:32.588000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 28681149127, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0e8d3673-5109-41ee-9092-8b79baa6d3b1", - "crc32c": "785f754e", - "sha1": "dc42df3654298b22fd4b899bc7a235355bedc014", - "sha256": "81069c44c6a25355ee3d03cba91862a1e42dc33ddc1522f73d304bd54a732ce3", - "s3_etag": "471a2810a7f27829f1eb173a242ca60f-428" - }, - "sequence_file/3c6b5196-4dd9-4c23-a9d1-c1341d889ecf": { - "name": "FCAImmP7352193_S1_L001_I1_001.fastq.gz", - "uuid": "4f8103b9-edbf-492a-b77f-13120e1d4938", - "version": "2020-08-13T10:24:34.137000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2710626769, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e369361e-e2de-45e6-829b-47068daee3d8", - "crc32c": "4ca806b7", - "sha1": "745ee0360cccde97d38b942cbd05da0144ed9696", - "sha256": "c42d04f1d6c37e870a25eba6aa82b791b8a58c493571b854baf4b14669e29376", - "s3_etag": "81922301e6e20453ca778d6c0ac36e67-41" - }, - "sequence_file/c0e0476d-b0c5-434b-9c33-92e52900341d": { - "name": "FCAImmP7462238_S1_L001_R1_001.fastq.gz", - "uuid": "51ba44d1-35b6-4227-b52d-1d7012a2c5ab", - "version": "2020-08-13T10:24:34.340000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8658421622, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_dabab5b8-d7bb-41c1-8b6f-a31edd0d97bb", - "crc32c": "bbc13b86", - "sha1": "8e6e2dda828578a4d2549b43f3f41c6ee70fdf04", - "sha256": "1143917f5051ac4f01a96ecb9112864de45e7bf98848184e01a8f5bbf265e5f3", - "s3_etag": "a128911ac93de558fa499935a9475e48-130" - }, - "sequence_file/44c70c3c-6fe7-4186-9aa5-b2cb1ea3b9d8": { - "name": "FCAImmP7579222_S1_L001_R2_001.fastq.gz", - "uuid": "51df62ea-0591-4b74-94d8-d143b8738643", - "version": "2020-08-13T10:24:35.373000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29595349500, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c3b18ea4-a329-45a0-a8a4-458a22f496e8", - "crc32c": "db939591", - "sha1": "973fd42ec8f7a621f7de77e7187bb731dd8e8d90", - "sha256": "428cda48ecbda8c86d1a8ea654e3e205422109398ddc6697bcd963d736a04613", - "s3_etag": "bea07c3ac1cc770cdf8c5bd87368969c-442" - }, - "analysis_file/35bc8baa-8916-5835-940c-ce684f30d4aa": { - "name": "bc5ba4f6-a3f1-4156-830f-11228df251bc.bam", - "uuid": "527ee669-a4e3-5a41-bd35-54518b7b514b", - "version": "2021-02-09T07:51:37.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 36887446676, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1796e1b4-7b31-4652-8f43-43c0bde724fd", - "crc32c": "318c8949", - "sha256": "0ae94e2e9d200a942fd31d02dcdcf238ca3993925e018fa063f3b994b7807a59" - }, - "sequence_file/bb2d6938-f6ad-461b-8fa4-eca0e4c040b2": { - "name": "FCAImmP7528288_S1_L001_I1_001.fastq.gz", - "uuid": "539b91c6-886b-443d-8529-440996e839fd", - "version": "2020-08-13T10:24:35.011000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2531732699, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3c6fddd8-d7d5-4b6a-96ec-7ff0884bc7fa", - "crc32c": "2ccba1a0", - "sha1": "0840d90b472537ba0f18f5fdaa8506cf4c0a600f", - "sha256": "d2a084446b790a8537f5993de5c75c135a0117345636ba31f52498281ef968ad", - "s3_etag": "008e3165904cc77ade85b3e653213113-38" - }, - "sequence_file/7beb8479-c655-4b01-af4f-69f1668e1c6d": { - "name": "FCAImmP7277552_S1_L001_R1_001.fastq.gz", - "uuid": "540234b3-0c89-41d1-98aa-63b9968056bf", - "version": "2020-08-13T10:24:32.846000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 7380079824, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_aa0d9a26-ec62-433f-8c07-543ae8188389", - "crc32c": "f0e14d78", - "sha1": "17710032094ce401213198e33803ac3b41c0fc75", - "sha256": "f9faedfe0258b61ecf555daf620e204f07bba3e024ebefd0272970e0d927d841", - "s3_etag": "06621721d572834ea565d2e17b42b917-110" - }, - "sequence_file/6c52e66a-d034-476c-8f32-5d760b6a5029": { - "name": "FCAImmP7528287_S1_L001_I1_001.fastq.gz", - "uuid": "54306568-28bb-4786-aacd-247887f8420f", - "version": "2020-08-13T10:24:34.972000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2527600833, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_692b6aec-9320-4e1d-bffb-6babf930040f", - "crc32c": "ee665ac5", - "sha1": "06283abbf7652e5c95ee2d43021d47255b33df7d", - "sha256": "00f0bcf37a52b830f4093e46cd8e1b14e20df97198269da20cab39d5415313fd", - "s3_etag": "bf1405de08229ed21943bc295ee974da-38" - }, - "sequence_file/81204476-377f-4bf9-b5de-27f8b14d47c5": { - "name": "FCAImmP7352192_S1_L001_R1_001.fastq.gz", - "uuid": "56f78439-cccd-41bb-8eaf-c05f96695879", - "version": "2020-08-13T10:24:34.113000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8205664547, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ea444f79-25fb-4170-9889-b9ab96fe86b2", - "crc32c": "c7ff599a", - "sha1": "27b2734cf00221d1fad57827ef0b640aaf53fd26", - "sha256": "2ec153bd215511111510141be98592c91f9b0819fcc23d575f7feb614bfa5edb", - "s3_etag": "1d8f1eb66749dc7a9cd3ac96d33e9787-123" - }, - "sequence_file/ed8bc174-30cc-4fa4-9e48-0543b825b1e4": { - "name": "FCAImmP7277553_S1_L001_I1_001.fastq.gz", - "uuid": "5916d536-e063-46ce-b3bc-fa0120d2f263", - "version": "2020-08-13T10:24:32.870000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2524321207, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_db65b244-3d7f-4823-a8a8-0bf86f213220", - "crc32c": "f30b7f71", - "sha1": "571a8b25442c1a3a391da41ae14ac8005bb9ba98", - "sha256": "993950d8e5fe36454baa53e7a51fcaa34a61be874f2f9dea203d672ace7dae1b", - "s3_etag": "5ab4f34ab5a2cb4d70a2f9146aeb7740-38" - }, - "sequence_file/012ba773-aefb-4d9f-8ec1-6714dc7f631b": { - "name": "FCAImmP7179363_S1_L001_I1_001.fastq.gz", - "uuid": "59c440a3-b54c-4aa7-a9fb-b51a269c8d6f", - "version": "2020-08-13T10:24:32.490000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2567370695, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_dce50f55-e2ed-4c97-b36b-da609486752f", - "crc32c": "69c93f77", - "sha1": "571aa9412dc1833ebc577725aeb4d9b80fa783b5", - "sha256": "9933f01beb561ca7ea8ca3b33a1622e6b7b3bd031816630aa97a002b7c3e6ce4", - "s3_etag": "14056dc059cb9c576df368ecf211a4a5-39" - }, - "analysis_file/4964726c-4bf7-58a0-a401-6eecf9c7a3b3": { - "name": "bc583c0e-4336-43d4-a7da-dc7e1f72b50b.bam", - "uuid": "59d7c07b-db98-54fc-9088-9c1aae445826", - "version": "2021-02-09T09:30:07.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 37762807667, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7bbcdb92-bb0b-40a2-9e8a-4431c3e430e5", - "crc32c": "ea6693a9", - "sha256": "319987b0cf5410c5a121e0b62e325d748138d0e28ade6fc2bdb811bee74feeaa" - }, - "analysis_file/ff3b3d1c-2ba9-50a9-9ca7-0558012cbe7d": { - "name": "232174af-3ebf-4b3b-97fd-35547950c4c8.bam", - "uuid": "59e161bb-d88b-5153-bd6c-81d2e9c678de", - "version": "2021-02-09T09:55:41.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 74013925528, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_64d345e1-3582-4551-ae9f-1bc8aa018ad0", - "crc32c": "d96afadd", - "sha256": "5594ee95d8320e8661316bf3d85135b1e830bac9a89a2eb37b4d7d1dee7bf04a" - }, - "sequence_file/9c6fffe5-0f64-4325-8e2f-8be4fa5417b9": { - "name": "FCAImmP7316892_S1_L001_I1_001.fastq.gz", - "uuid": "5a6387c1-c6b2-488d-b014-4fb3f3d11c8f", - "version": "2020-08-13T10:24:33.526000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2523843996, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a903180c-2c06-4056-9f39-56992dba8c71", - "crc32c": "2820e86d", - "sha1": "5efba71676977d0335715a536d73972cb4eece72", - "sha256": "ef5dcc63feb49fdca62d6ce16d25f0bae21d4f6132de0047ac8b48bb4f1f5c21", - "s3_etag": "0fc3b6a3bfebdeaf354683198b205e46-38" - }, - "sequence_file/0565f81d-86a0-4591-8a29-f7e3306556f2": { - "name": "FCAImmP7198434_S1_L001_R1_001.fastq.gz", - "uuid": "5af16cd9-8632-410d-b5d4-0441950a7851", - "version": "2020-08-13T10:24:32.576000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 7951923434, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_01b73e38-a2b2-4ec6-b4a0-831e1258c3ea", - "crc32c": "f36645a9", - "sha1": "7f1426c68190325ea8b6498e812b99e7ec7b5461", - "sha256": "1bba0b2e24d823ca12e48e4a6f30ca40a35ce0e8ff58a6225241f3a5619de234", - "s3_etag": "e6b6dfdae6aba4059a0666d355a4fe7c-119" - }, - "analysis_file/845dd01f-cad1-54a4-8ff3-acd78d29a5b1": { - "name": "73bd1209-cfb5-420f-bd97-574ed9c7cd0e.loom", - "uuid": "5c3d1e59-cae7-5f21-b925-9d27bf675a9e", - "version": "2021-02-09T06:58:40.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 928343192, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cbf909fc-caa8-422a-8793-2ec9cfbf15c7", - "crc32c": "04bf8663", - "sha256": "fa1d7780062c99b9a588c0fc662831dfe3452c9656681c15a5335d7820e058a3" - }, - "sequence_file/1e0c544d-2963-4fde-b3cb-5bb9b938acaa": { - "name": "FCAImmP7179364_S1_L001_R2_001.fastq.gz", - "uuid": "5d81a93b-6a82-43dc-912c-95aa10a10839", - "version": "2020-08-13T10:24:32.552000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29591566635, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0f549aae-515b-4504-9e85-07269eb59db0", - "crc32c": "41e2731d", - "sha1": "a6524aa77ae7c627658c14775cd41be72ac8c1e1", - "sha256": "a493428012a9bbe4d03c4d32add54b256ba5b64aad7c50c61dfb8f08de201fdc", - "s3_etag": "eabb9829824325b35532f4a57e30ba5e-441" - }, - "analysis_file/65358965-9b3b-5187-bf6a-f918c6009f83": { - "name": "2e7e4b93-2d6c-4359-804c-f8ca1e21c31c.bam", - "uuid": "5dbd0b94-a351-51c7-858c-045b053881fd", - "version": "2021-02-09T09:23:58.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 36787725415, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7cd9be33-4c18-42c7-a1ba-253be9ea2c2e", - "crc32c": "52b54eb5", - "sha256": "81a48b17067a337fb6061a18c55b75c0a519042990793bfa06e2c9094e145776" - }, - "analysis_file/07b48eae-1703-5821-b3e6-66bb1488e7b2": { - "name": "be7a2637-26cf-48ba-bfc5-52fa945d2d88.loom", - "uuid": "608ff0ee-d075-59e3-b62a-ca5b523078db", - "version": "2021-02-09T08:41:26.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1539661052, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6a9a196e-4f14-49e7-8668-8c4e36f4972f", - "crc32c": "bd72b77c", - "sha256": "203a0617a3488975dfe212816c050900f994159cad8231c53fb29387c9778280" - }, - "sequence_file/71e9623c-1cfa-4efe-9448-f4014da727dc": { - "name": "FCAImmP7579222_S1_L001_I1_001.fastq.gz", - "uuid": "6348e566-f22f-4d96-9d35-c57b27592a9f", - "version": "2020-08-13T10:24:35.346000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2740930201, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1e6ca3ca-eca6-47c5-94dd-0250dc15d885", - "crc32c": "bbc02ddb", - "sha1": "b4e5e41efbbd60b8df88450361b383155afa39b7", - "sha256": "d9e586ae13f8adf1eb2d39fd3177bdb48ecb6857a09c7bd20f81a14c207f26f8", - "s3_etag": "da68aa73befaea452d87139293a85aee-41" - }, - "analysis_file/6a019fd6-5db6-5717-8c4a-3a22a6fba738": { - "name": "62a131e1-c415-460e-bc5b-75cca5d3323b.bam", - "uuid": "6453a4e5-5b30-58a1-bc08-d3a5167b3738", - "version": "2021-02-09T09:03:28.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 39749424357, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cfb5458f-7625-4b83-9098-3aca7ac7180a", - "crc32c": "2012939c", - "sha256": "e6ab7bdc5ea11b0ca25b98bef5e253133796de05fa396d0c8259b912149e1875" - }, - "sequence_file/bb2edf45-1041-4e38-9ace-ec922a747f80": { - "name": "FCAImmP7179364_S1_L001_I1_001.fastq.gz", - "uuid": "656a45cf-0782-4374-a8b5-72c5640b6bce", - "version": "2020-08-13T10:24:32.528000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2559623513, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5e2dbfa6-a1fd-42de-9b00-184e6ba13c28", - "crc32c": "327c1a46", - "sha1": "fdea1dff59386690e2b059042a2b847c107af3b4", - "sha256": "dfe4a4a2716ed5ea037129d9983af141851e607de92ad671672b1ebbd3640fa0", - "s3_etag": "fff9b66c11d47c623e0691d09a8d5abb-39" - }, - "sequence_file/0619dd26-7a22-4fc9-ac35-7a381a502e6f": { - "name": "4834STDY7002878_S1_L001_I1_001.fastq.gz", - "uuid": "66ec4290-c809-4fe9-946d-add8e9b66b4a", - "version": "2020-08-13T10:24:32.055000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 5498156481, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_38ef4491-9ec7-4149-8a67-70cf17488149", - "crc32c": "02df1ea7", - "sha1": "06b6572bf0db5e857353458609ce10095951e64b", - "sha256": "caf3a45be2e2e04951b381cfc814d97f5d1cdc9e3671d6f794d273de8bf36025", - "s3_etag": "7098d988d837772df660387574145cc6-82" - }, - "analysis_file/087aca40-9bc5-56b9-8cd5-a5a0488c18f2": { - "name": "f4183399-0e70-466e-8915-8e4481f9b7d1.loom", - "uuid": "677bcd4c-b135-5fb6-be37-7ece51f1ed7a", - "version": "2021-02-09T07:08:34.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 962998594, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2dd23545-b70a-46b6-94dc-d196d02ab1cd", - "crc32c": "c818d535", - "sha256": "395443dcaa4c06689e1fcfd955d6482fb4311a4d20cdcb5274c1742ec0bfe2df" - }, - "sequence_file/90bd06b3-c8fd-4ed8-98b4-9bf21e9466f9": { - "name": "FCAImmP7528287_S1_L001_R1_001.fastq.gz", - "uuid": "6844ac0e-f1aa-4592-bf2b-9962220c9b62", - "version": "2020-08-13T10:24:34.984000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8440668116, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c23bd7fa-dd83-4b87-bf02-088f26b19201", - "crc32c": "4c5191c5", - "sha1": "1d998660f20fd33bafdb3b28f6fac6f3e368368f", - "sha256": "8e0bba4747174ea16edec48a9bfd0a1c5bde57441b596dcafe1b6af797c1a33e", - "s3_etag": "b99f601c1d1aa686790caa3cab57eed9-126" - }, - "sequence_file/4ba330b1-83f6-4d6f-9eb4-4c2f9f8b12ae": { - "name": "FCAImmP7579211_S1_L001_I1_001.fastq.gz", - "uuid": "69615be2-bace-489c-ab42-4b0842bbebd4", - "version": "2020-08-13T10:24:35.307000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2636369466, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_45726a28-f1c7-48a8-8805-f42cc0593188", - "crc32c": "ead420fa", - "sha1": "17fe9f97dc44c11c5b0be2e489285ea093d44eb8", - "sha256": "e9064d582e2bc66f850d352c3a7e6db6a45c039df88856ba0c93c94f57707120", - "s3_etag": "298920853a2eeaf65d5794b6c4698d7a-40" - }, - "analysis_file/61d46fd3-fd85-5eb1-a251-7000d2394830": { - "name": "a0e661e2-dac9-4004-9605-8307c15f831d.bam", - "uuid": "6a26e03a-37ad-57ff-a8d4-6eccfe56ca12", - "version": "2021-02-09T09:00:25.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 38153744901, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ed6691ee-a3e3-48db-b67d-9ecfca5d4ba0", - "crc32c": "2f566525", - "sha256": "2ea0e6ba08c99d5c56bc2ad13f8d07eb769346897f4dbfffcb6e65bf28cfe165" - }, - "analysis_file/61a2e552-6617-589e-8985-e1b730d3095c": { - "name": "951a8ffc-69c5-4f7c-8ee8-39b76171f630.bam", - "uuid": "6bad9f0e-c0f6-5200-b2e7-6d60296072db", - "version": "2021-02-09T09:09:18.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 36724627878, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b58af2aa-b6f4-4446-9ded-e517c2ca76ee", - "crc32c": "3d1cd02c", - "sha256": "df1c0cd457f8571af823346f5621c603f90ed724dba704ec19f61032b743d4a3" - }, - "analysis_file/6008e2eb-ea1d-54b2-9611-fa896ae9aa21": { - "name": "22ccc95d-d789-4398-a790-83f86bb420d8.bam", - "uuid": "6d83f11c-b3d1-58a8-abed-e9a78b7f64e5", - "version": "2021-02-09T09:20:58.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 39837428286, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_47a36c88-3184-4290-98cf-a01a4b91771e", - "crc32c": "c87c5692", - "sha256": "0a4d79b8773e57e1e9226e3ee9382f5abdd5a99e20d3267caa30d8d212f9c9be" - }, - "sequence_file/9005739b-11b7-410d-88ad-e05a765dabd9": { - "name": "FCAImmP7579211_S1_L001_R1_001.fastq.gz", - "uuid": "6dccc154-99d6-4910-bb88-34288cafcd69", - "version": "2020-08-13T10:24:35.320000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8117405452, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1cb76395-d184-489d-9bd7-d54f91757e23", - "crc32c": "433426ba", - "sha1": "4f9d1734741e8a6d957b7b9a8045623d347a4a09", - "sha256": "20c2199b7ae8608182bb297e398c6df334bb8cf00944c14b3c99154cbc0109bf", - "s3_etag": "62b6325f7ac639ba2d7d6f9895d71de5-121" - }, - "sequence_file/550bbb11-4786-46b4-a9c1-46f105b14644": { - "name": "FCAImmP7528289_S1_L001_I1_001.fastq.gz", - "uuid": "6f654061-017b-41a8-8c4b-9d6f2dcf422b", - "version": "2020-08-13T10:24:35.049000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2754382848, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a82c287c-42e3-4e70-80c1-f9c7dcea74e9", - "crc32c": "f7fac904", - "sha1": "6b270be3b27b51f2b0f246f6c4e92e879f907b48", - "sha256": "6c1146099a52823de399ae8900679a31c3a4a52ed63b40cdf66cbf8a96aa29ed", - "s3_etag": "d26ac29dd31f34ffa9ea8285b2b39a08-42" - }, - "sequence_file/9c25532b-bbac-408a-8b3b-4d7f565f11b9": { - "name": "FCAImmP7198628_S1_L001_R2_001.fastq.gz", - "uuid": "701795c2-dc0b-40f0-ad73-2572e414e278", - "version": "2020-08-13T10:24:32.624000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 30029847641, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7a17314a-d973-4b75-a978-8935b3a71e01", - "crc32c": "fd3371ca", - "sha1": "c6214f3bc54ace2043411fa546a253824c6568c7", - "sha256": "595c262d042e9473dbd2218f738cb09f54df5a8a48a43fc0d674a4f05da623ba", - "s3_etag": "62d493ed347a22b37db419c515c4cc68-448" - }, - "sequence_file/85716ed2-d37c-4e4a-bd8a-864154bad299": { - "name": "FCAImmP7528289_S1_L001_R1_001.fastq.gz", - "uuid": "70ad10de-b4ff-47a7-be15-d9158d0bdb5c", - "version": "2020-08-13T10:24:35.061000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8524527518, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0f524dab-036c-4113-98e2-c5b32076fa04", - "crc32c": "e4ea5733", - "sha1": "0effe6bed6e40a28b387d4e0be60b92aa4280cbd", - "sha256": "60dcfa80b361452088921551827dc348398c116d410c119b64f5af25a79ab194", - "s3_etag": "7fe7d4124d394ccc285f1cad4f052b9e-128" - }, - "analysis_file/69cc1f24-8be9-58aa-af3e-99c13507216e": { - "name": "536ba4f7-6694-4a31-8df1-0e6668ed10da.loom", - "uuid": "7157b964-2c40-579e-96ef-18a6dc94d29e", - "version": "2021-02-09T08:29:35.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1726693893, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_dbb60d21-66b0-4fb9-8147-f16804e03291", - "crc32c": "113c4605", - "sha256": "cdbbe1a4d9799beb06ebcfccd69886e3005d1c46e35a98d8c93c9ea959b369c0" - }, - "sequence_file/05345715-8f9f-44fe-8f28-f75552b17d5d": { - "name": "FCAImmP7555847_S1_L001_I1_001.fastq.gz", - "uuid": "72a375f0-bf6b-4a62-a737-44800855ce46", - "version": "2020-08-13T10:24:35.160000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2640570306, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3c41f6db-d0c3-43da-b76f-9b0a0335db81", - "crc32c": "e6605ec9", - "sha1": "ff18642a3d1b44fd98a5609e827ffc6bd71c7544", - "sha256": "8614636931b55a7b4c96aa496d66598f6e8a64d6394221137045f4be775d7ce7", - "s3_etag": "5726fb174b4861abbe63648860699979-40" - }, - "sequence_file/30286c6d-ca78-4108-aff5-6809618656dc": { - "name": "4834STDY7038751_S1_L001_I1_001.fastq.gz", - "uuid": "739de51d-30f4-45f8-81ea-9f051a18b748", - "version": "2020-08-13T10:24:32.375000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 5592765334, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a3f5fc1c-3faa-44cb-ad4e-e81065a44933", - "crc32c": "f1505101", - "sha1": "dc905e39b918e0cfbfc34fd7697b9433fa26cbc0", - "sha256": "10884b8ece72dcba07519e40a634fb5c8b182f95f485e4bb1bdcb1bf41baddd3", - "s3_etag": "55df2f1a2f2278e3e311ff6afe783c63-84" - }, - "analysis_file/b13f3346-158d-5509-bc82-3aed1b2c23be": { - "name": "b1883730-3304-48c1-904b-eb90ab226168.bam", - "uuid": "73e8d35c-3f1b-5fdf-85ff-4215bfdd0818", - "version": "2021-02-09T08:44:10.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 37541412008, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_08e096ac-08f8-4ec4-a8ab-0cf6e5e821fe", - "crc32c": "dcc73c1d", - "sha256": "3987daecdd2cada1e76d813eac377a8148dd6eacf9c341322fef2a6306678b3b" - }, - "sequence_file/22d5f584-ff73-4a10-8377-387983b72a87": { - "name": "FCAImmP7352193_S1_L001_R1_001.fastq.gz", - "uuid": "7406f566-084c-4d50-a592-3bdd79848e33", - "version": "2020-08-13T10:24:34.149000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8391657139, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4b87ddb9-714f-4f20-9291-e47651e163a9", - "crc32c": "bf976dec", - "sha1": "04213b26aad80002c0732eda31f96857bc43491b", - "sha256": "0c564d8e3155295270f5064bf8301544ccb74b5ff2effe611f70d0fd756a0942", - "s3_etag": "72849a4455b9113be52103fdb9fd1181-126" - }, - "analysis_file/9baa3062-0022-53e2-a3df-14df08c4c66c": { - "name": "0dd65ce8-29ba-4341-9a93-eb2ca1f06c72.loom", - "uuid": "749e78db-e5dd-51a9-8a5f-1b015b182e7a", - "version": "2021-02-09T08:31:12.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1518839816, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c17dce00-5342-4ef9-b431-7b7b31a92cca", - "crc32c": "5c432ac6", - "sha256": "bdb6a040386fb7bc48bbb103b1f7dffc18a9e9a475d76f5025e5d4f6e57bf0c1" - }, - "analysis_file/d2b3f3a1-b030-5c80-89d4-42a76db79127": { - "name": "b7914794-f8a7-4fba-bb5b-10536eac7d8b.bam", - "uuid": "77d1797c-3775-53c1-bb54-10b8e39a1dde", - "version": "2021-02-09T09:38:10.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 39885962156, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b58fd5b9-7cee-41c9-934f-49d5a8e7353e", - "crc32c": "8681eff4", - "sha256": "ad83c61ce04015f2e8e5bfdc80525fcc535c27f70e1e33cc79885cf597aa8c60" - }, - "analysis_file/52ca4cde-727f-564e-95dd-7872573ebeba": { - "name": "5d687d7c-8d96-4203-ad8e-d0668828ad37.loom", - "uuid": "7845673c-e51f-5a49-bdab-c3c3b80b51eb", - "version": "2021-02-09T07:33:37.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1808328147, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1fe3ca9c-6f19-40b4-888c-eba63b1db841", - "crc32c": "7a026058", - "sha256": "f804059f6395477fd0b1c36e85074df068721bfb4811fae8858695fa4c646eb4" - }, - "analysis_file/cc430c2e-f377-5651-aa5d-3dfa30b421cd": { - "name": "10a02923-b945-43fe-97db-c984e06dc5a7.bam", - "uuid": "78514d14-bf42-56a0-954a-9b0d1227bcae", - "version": "2021-02-09T08:06:13.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 33526153780, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a614ecde-cd68-4c6e-b30f-57f5db399101", - "crc32c": "910292ed", - "sha256": "a53c471fc99b199c88dc0bea29771daf8a95e257f66084e619de6a31fe577dca" - }, - "analysis_file/d1b3c364-8f6c-57d2-847c-1b22257f7e87": { - "name": "ded9b30e-12df-4998-846a-7cef685e4bd6.bam", - "uuid": "797f836d-6ad6-512b-a6c7-361375004d1b", - "version": "2021-02-09T09:48:19.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 41248867155, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_da3e3adc-5b23-46bc-b88f-a436a2e80747", - "crc32c": "c11b58da", - "sha256": "f68fcc999138aafa24291d6b928a9ecef7c69ca2d3a6146867e9cf5e985db560" - }, - "sequence_file/b4d16fe2-eeac-4a26-9cc3-17414b87f3b1": { - "name": "FCAImmP7198628_S1_L001_R1_001.fastq.gz", - "uuid": "79d1793f-4b07-4542-a76f-86ed4f1a12db", - "version": "2020-08-13T10:24:32.612000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8113680451, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6e664e9a-7344-4809-a48d-4aff34415976", - "crc32c": "ca2033c8", - "sha1": "cfea5739b36d7205bb530d5942f8975ebb22b322", - "sha256": "f5a6439f50b0cf199572b0c4a924637e33b57a3bfe27551147d5d4e6d7755160", - "s3_etag": "1abf5acd8a06bdbfa7b65e48d6486eeb-121" - }, - "analysis_file/6a73dfce-0163-5b3e-b1cd-0df84fb30871": { - "name": "7fa6adde-000d-4360-9f45-2b5da4721f70.loom", - "uuid": "7a15aec3-1935-55fa-a225-c17a2a3cdc85", - "version": "2021-02-09T08:55:35.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1518855002, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1574e129-3f6e-497f-8fc2-f58c833e2fd9", - "crc32c": "b694799b", - "sha256": "09952b2b40b10237622e73e12bceae63081ac3cf3328460d383920f09ed6b7b0" - }, - "analysis_file/a0ea22e2-cab6-506d-8211-bb479591a04c": { - "name": "f4183399-0e70-466e-8915-8e4481f9b7d1.bam", - "uuid": "7a3a7a6e-8543-5cc7-982e-042350074a40", - "version": "2021-02-09T07:47:33.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 34747308229, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fba73888-3f2a-487b-b91c-5aff91741195", - "crc32c": "cf7f3ce3", - "sha256": "ebf817f953b6d907ba9e98146ecb3197b121f24c78ed4e5a710c5e59bc6e8e16" - }, - "sequence_file/96cbabdb-30b4-4c71-9250-bb7efcd9ee1e": { - "name": "FCAImmP7579222_S1_L001_R1_001.fastq.gz", - "uuid": "7b2d444d-65f1-43e2-848d-22bcd2774c96", - "version": "2020-08-13T10:24:35.358000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8643455475, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_72e8ba6a-2658-4fc0-8c1c-d64c756659a4", - "crc32c": "05222286", - "sha1": "95710d931f3c0f1b586fac3ac07cf3ef5f30f992", - "sha256": "1283217fe012be0fa985627b7dbfec3adf1da5704252fce7177b473c3bb1007c", - "s3_etag": "f656c16c74294bc629ffb3a8426c6f09-129" - }, - "sequence_file/ee9ad501-69c5-49df-89d2-32ea89591634": { - "name": "FCAImmP7316894_S1_L001_R1_001.fastq.gz", - "uuid": "7b7015d5-5915-42d8-9427-7890d9e76282", - "version": "2020-08-13T10:24:33.616000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8058944367, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9808343b-da84-432e-99dd-5d306cc70edf", - "crc32c": "a9c71acc", - "sha1": "ef151feee11889563972ac63f75f061b0b79217b", - "sha256": "be30defc72b614f84e46fbd512b356870d3694e2dea0ab3023df97cd98450d50", - "s3_etag": "6a92546f1cd5d58892af69dea7621752-121" - }, - "analysis_file/2d253fef-4538-511a-a960-bd999afeecf4": { - "name": "c301901f-95cd-4a3e-a4df-761fa21e92af.loom", - "uuid": "7d0d9872-cdea-5f19-956e-eb47032a512a", - "version": "2021-02-09T08:14:41.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1212983844, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9270f2ba-13a9-4e77-a5b1-d9536b0e0fc8", - "crc32c": "d6563e51", - "sha256": "0fca305a7e7793e9219cbe076e333768f3f8608b9cd7cd701f82b83dcd12aa22" - }, - "analysis_file/3450ac1e-8d8f-5bad-bd44-322d792acc8a": { - "name": "f26c4715-5488-4d7f-ae0e-1c965128fbb1.loom", - "uuid": "80971a51-d5f8-51a0-a5c3-bf57de4e8784", - "version": "2021-02-09T08:38:30.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1816595621, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1a944af7-0c3d-44eb-81cb-b8a17272dde1", - "crc32c": "805c7637", - "sha256": "654d326a61ae872a23034612880c0e39f42304afb36328e17b3936c2b53fa1e4" - }, - "sequence_file/f17d1da2-2965-4732-a94a-6cd2a58fc873": { - "name": "4834STDY7002877_S1_L001_R2_001.fastq.gz", - "uuid": "8101b4fa-d322-42ba-83d2-729a0b6b6903", - "version": "2020-08-13T10:24:32.044000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 47340957033, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cf1332d5-400f-4a8e-b180-a95a6deffb8d", - "crc32c": "f6c3976a", - "sha1": "12f855f047ffd9556d03a05617b10fb592ebc05f", - "sha256": "bce200a81d017d12a19db5bae0439ec2bb770d9b04b23281b08918b7f16daa8d", - "s3_etag": "2c9007b937f14a59020fd0e33ac2d7dc-706" - }, - "sequence_file/e512685e-d15e-4b12-9f7f-e871da115586": { - "name": "FCAImmP7179363_S1_L001_R2_001.fastq.gz", - "uuid": "812b02ca-7aab-4166-8fe5-cb623f67ca93", - "version": "2020-08-13T10:24:32.515000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29927666255, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4aad1dbc-3fef-4541-90f5-daab4de02fcc", - "crc32c": "6a4349a3", - "sha1": "ca3edea1c1207cb16cab04fc3722a37a444faad2", - "sha256": "4fb4ec4bf9510f0ede9c06fe14ab8cdb4a4a05aaffd03ea08e9b756472c92a37", - "s3_etag": "3c4fde059dd5b11915f697a689dd79d6-446" - }, - "analysis_file/1685c144-966c-53fe-8bd3-2a053b55966c": { - "name": "3f20a83f-f01c-41f2-acaf-3c111dfa5465.loom", - "uuid": "82aef31f-b0b0-56de-adfc-c6085c65a1f3", - "version": "2021-02-09T08:41:35.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1005304091, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5b612f1d-25b6-4e66-9a73-932a21619fda", - "crc32c": "f6d69eb7", - "sha256": "2ed721c27d441448a2aa8860bab81c9fc1003e445d76db41ceb5a0e7d4051185" - }, - "analysis_file/80738c1d-105a-525e-8b84-ae666d549159": { - "name": "7229676a-4449-4a2f-ac97-284eb599841c.bam", - "uuid": "83ef8445-4462-5d84-b0ef-d812e9256089", - "version": "2021-02-09T09:31:18.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 38861399831, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0f1fe40f-6ba7-4842-aa59-5187a8a84509", - "crc32c": "eb444174", - "sha256": "442bec395a107f1b2188d7afd2761f80483587afd3915e576f3e1f7b5c87d288" - }, - "analysis_file/d3142cb9-7285-5185-a5a5-c63d5f3cade8": { - "name": "73bd1209-cfb5-420f-bd97-574ed9c7cd0e.bam", - "uuid": "861c56b3-6733-5991-863b-31c51fd428c6", - "version": "2021-02-09T07:41:29.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 35811504976, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2400e232-fab4-4d4e-a117-88e3521c32f3", - "crc32c": "542caaf7", - "sha256": "3a39f4e58813285e9da7fce330f85700911ae21794b7b7232196446cb137f912" - }, - "analysis_file/789c58d2-6a0d-514e-ac56-f884cd5e078d": { - "name": "1d5a282b-b4b5-41dc-ab46-862476a87c18.bam", - "uuid": "8822d3e6-d454-500b-b8b6-54c869f2240b", - "version": "2021-02-09T09:05:31.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 37705449199, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_db018aa9-e5f9-4cb7-ab8b-8a3d268d6a9e", - "crc32c": "fb5b0b7a", - "sha256": "8293fc2fd269aea14956128358d1f23168084bc05bd7e60349ee00db92c66872" - }, - "analysis_file/4ba8f00e-0833-5862-bc6e-0cc2acb5d684": { - "name": "1d732738-9b3b-4393-920a-a3dd2ff6f7e1.loom", - "uuid": "8ad2188f-df5c-53d8-aaca-61b637db4d08", - "version": "2021-02-09T07:28:57.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1567802720, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3a5aa503-7718-4e75-8b44-0f66b4a968cb", - "crc32c": "a2485471", - "sha256": "692231d84562f8b2b0c2181c620a1a6d35cfe9b7abe17516c4c470a2051e6121" - }, - "sequence_file/e779b50e-a892-4a0c-af02-2dd400956018": { - "name": "FCAImmP7579223_S1_L001_R2_001.fastq.gz", - "uuid": "8cc41928-cd6a-42e8-91ed-4df865e847c2", - "version": "2020-08-13T10:24:35.477000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 24647352163, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5c55c350-77b6-47ad-8c63-a54acae633cc", - "crc32c": "5a93fd9e", - "sha1": "bbb5b820e8aabee81eae2409f002d44a079fc06b", - "sha256": "b185dc81f5f4888547385c3ca21a07ce8ac73e088654d9786c4d14ddabe5c842", - "s3_etag": "43f0c691f322b435ac8369ada28cf4da-368" - }, - "sequence_file/85df5aac-75ac-416a-ba8b-b9b0f8b4e619": { - "name": "FCAImmP7277552_S1_L001_R2_001.fastq.gz", - "uuid": "8f920042-b17f-4968-b57a-7f86508226d5", - "version": "2020-08-13T10:24:32.858000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 24826056416, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a266d3e1-1dce-4606-be5d-b74e93c91783", - "crc32c": "4bf90bcd", - "sha1": "3cc505e318fb811f19662518b9e101205a3c3449", - "sha256": "ca488c94fc90bf27cdc28ef726fdfa7c15ae8c11242874e76c9d16154ab231ed", - "s3_etag": "5d3ea1d01d7bbf19799636543c8fe84e-370" - }, - "sequence_file/d3c05176-1d0b-4ce1-b005-0af8c35129cd": { - "name": "FCAImmP7316889_S1_L001_I1_001.fastq.gz", - "uuid": "90072d5b-6333-43b5-a032-dbe72c3e38eb", - "version": "2020-08-13T10:24:33.384000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2752979126, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c2fdcc28-3eba-40f7-aa9b-41a7f2630879", - "crc32c": "fa31a9a4", - "sha1": "d7c0471cb07b2099f4e4e387be0e3e02b087f6bc", - "sha256": "7b4dcf0ba4ad66fff5907cccac643a5d978fa036de12306319e8be5685d5325e", - "s3_etag": "3ad7845e2a7b53d40007c6e1398d1966-42" - }, - "sequence_file/232c6da0-b86b-4995-8da1-a428211af836": { - "name": "FCAImmP7198629_S1_L001_R2_001.fastq.gz", - "uuid": "903e21c8-aea0-41fa-9d49-2574fb9d94ba", - "version": "2020-08-13T10:24:32.661000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29568944094, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fb89d42e-84a2-4771-addf-036e22b5d411", - "crc32c": "942a2b3c", - "sha1": "acbe97d6f01b9181bb6a1025b0772506844769fc", - "sha256": "9733bb3c8ff714e40c88e2162c18d6cd0bf79eea583dcf33f9330f77ae0459fb", - "s3_etag": "45baf56975ca408786d7c33b2bb642b3-441" - }, - "analysis_file/e0b0252f-8351-5ce3-a804-632a1cd78d28": { - "name": "27e030cc-b89e-41fc-b0c8-c3258a4b2c6e.bam", - "uuid": "9237b659-a7c4-55df-8159-2a7d4a6ad458", - "version": "2021-02-09T10:39:06.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 66992698678, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_507fc8a8-dea8-448d-a8f6-b99d6145c232", - "crc32c": "250d98bb", - "sha256": "c2b946b037a6558d87f9a44815770354d06a660431914c4076642e49112c927d" - }, - "analysis_file/295db19e-bdcc-5428-a68a-e0de856c4522": { - "name": "2e7e4b93-2d6c-4359-804c-f8ca1e21c31c.loom", - "uuid": "93107fa2-26df-550c-b450-6269ccf0f5ae", - "version": "2021-02-09T08:32:45.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1429598310, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6613496e-73a0-427f-9d60-8d9967ac47e8", - "crc32c": "43ee58d0", - "sha256": "eb90c3d50ce0ab1b6e3d28d285d2cb763bdb764b1824bd6e8efc0bf7cfbc4099" - }, - "analysis_file/9b6d349f-774f-56e1-ab6b-938385c60a4f": { - "name": "b1883730-3304-48c1-904b-eb90ab226168.loom", - "uuid": "939adbf3-850d-591a-a2a8-0bf95c9dedda", - "version": "2021-02-09T08:18:47.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1489412801, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1adcac3d-e01f-412e-ba04-59865b2d9b20", - "crc32c": "ef7c991d", - "sha256": "b5fbff605f99e13e9920afc4d08b814128ab90b59465ecf835c69a6c7dc120e5" - }, - "sequence_file/fa78c4ab-4057-45b1-8266-af045ae28535": { - "name": "FCAImmP7316892_S1_L001_R2_001.fastq.gz", - "uuid": "93a4f15c-e388-4c42-b47a-5f7286793186", - "version": "2020-08-13T10:24:33.552000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 28269232850, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3b387d39-9f87-42c6-82d9-142abb485122", - "crc32c": "dcd651c1", - "sha1": "480318b6c5222dcf8a7c9912c9fe79af4b5dfdb8", - "sha256": "e781d071e22dcd41834b2e95beae3dcc398a6a2d0594af7faff6ac060df10d1c", - "s3_etag": "ce0ee960590fe27d5105b91a00ae6c00-422" - }, - "sequence_file/a3bef94d-a68f-43d4-8cb8-58977b20f849": { - "name": "4834STDY7002878_S1_L001_R1_001.fastq.gz", - "uuid": "9487afae-0606-40f8-9770-2bfbc9635829", - "version": "2020-08-13T10:24:32.067000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 34186133752, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7174b07a-bbc1-4796-9071-a52800c2db12", - "crc32c": "091840f1", - "sha1": "4047d780e161df6effdbfca4d73f953e956e74a1", - "sha256": "474ec32bd0f67a9550afe7602fbafde0efaae4e5cffdb0e6296af97bdaca8291", - "s3_etag": "f41214428524b158cf9f6b99f39127dc-510" - }, - "analysis_file/489c7fd9-1ac8-5b78-a91d-a44761f9d6e0": { - "name": "e7b60260-7ae4-4d5a-b1a4-51622467e4b3.bam", - "uuid": "949f9f56-27b9-59dc-9263-6792dfdc964b", - "version": "2021-02-09T09:15:47.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 37197953325, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f379bb72-faae-47a2-a757-9d5301fafe75", - "crc32c": "ca73b12e", - "sha256": "d01416ffd22ccbf7088da98d8aec8842ea6168128a432f477f57eac51b2739c1" - }, - "sequence_file/da490be5-56d8-4510-a3c9-c256666fbe4d": { - "name": "FCAImmP7528286_S1_L001_I1_001.fastq.gz", - "uuid": "95c3bed5-a62e-4d0b-aaec-dc931cb779ce", - "version": "2020-08-13T10:24:34.921000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2644720206, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_40689d99-e0e4-4637-ab3d-29ac7cf29496", - "crc32c": "1f131d31", - "sha1": "74b5abe3c5b8fcd92f60340ae33639e53954034e", - "sha256": "82a8fb3aafe0fcec277e8d9d6694893b4d13e3e981bad6fb491d62dc382c5718", - "s3_etag": "3572b88b3664945ee00bb962101e9052-40" - }, - "sequence_file/69f04b25-c698-4a6e-aff3-7bccc1e969b7": { - "name": "4834STDY7038750_S1_L001_I1_001.fastq.gz", - "uuid": "96540aa6-2fd5-4102-9b5c-ea0766c3989d", - "version": "2020-08-13T10:24:32.339000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 5473797659, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9d24fef4-d7ac-42bd-8754-376642d97679", - "crc32c": "bc1f78d2", - "sha1": "acdf8660f32035312682d844551d4769eae76fb5", - "sha256": "ef7adc3ffc8b9d0d5a3bf7869c684f18b1253fa3717629dc157cf53b5f5ccd50", - "s3_etag": "2a2a86bff18315a33af72538152d8574-82" - }, - "sequence_file/ea99b549-cd95-445b-a796-a4ccd992491d": { - "name": "4834STDY7038750_S1_L001_R1_001.fastq.gz", - "uuid": "96d0d820-8df2-47b6-8091-3b0a234c5688", - "version": "2020-08-13T10:24:32.351000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 31604322898, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_4cccdd0c-adeb-4d23-8abb-cb9f91f9d4fc", - "crc32c": "737b2a70", - "sha1": "017942614a692014d3aabc5cd758c5e2736be582", - "sha256": "51b70002403b8a1ecd7346c6b8a502c5cc5ab04354406f99b6a587a16f33dc4a", - "s3_etag": "b5c45e68318edf665b6080d514f2b7cb-471" - }, - "analysis_file/e6a532d6-bba0-5304-809c-5fc5f8373529": { - "name": "42b114bb-27ee-4415-b046-7ee5581adc27.bam", - "uuid": "9774fb4a-ead0-55a7-b924-d8a5bd83bbcf", - "version": "2021-02-09T09:16:35.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 37171815921, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_de044165-6e46-4bde-8761-780ef577dd91", - "crc32c": "29f9c047", - "sha256": "fde653a0b1232fb865489fe0c4fa20e46b67722a21f4a3298cfb73767025c936" - }, - "sequence_file/4bd54cd4-ca70-4566-a2bf-9fecb4dfbc34": { - "name": "FCAImmP7555847_S1_L001_R2_001.fastq.gz", - "uuid": "98890737-779e-436b-a305-4c2512de56b9", - "version": "2020-08-13T10:24:35.184000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 26524646588, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ddaea5ad-452a-4979-bb95-1c10e052b24e", - "crc32c": "6a41c885", - "sha1": "eafaf892268e350d0d0a492fd87b5db1b5c7461d", - "sha256": "5b43db589d4558bb4e7def7425230228adead01f04ac417184eb3503e8bd5b0d", - "s3_etag": "42dffda8f0794b5df365294f2e47494d-396" - }, - "analysis_file/d41aa539-54ba-5f2e-bfd6-4c9905ee38a1": { - "name": "0dd65ce8-29ba-4341-9a93-eb2ca1f06c72.bam", - "uuid": "98df7492-84a8-57f5-ad48-d8072c5f595a", - "version": "2021-02-09T09:21:44.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 37546376084, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7b10b449-d20e-478e-8182-9689f849080f", - "crc32c": "99f17ac7", - "sha256": "5b85bc7651d5633b89354073a0334467f301811ba83025fca8fb6c6dc4228d81" - }, - "sequence_file/26131c11-6186-4b1a-b37d-fb12515622bf": { - "name": "FCAImmP7352194_S1_L001_I1_001.fastq.gz", - "uuid": "9eb9a3ac-8d35-4ac8-af2a-9272ffa13b97", - "version": "2020-08-13T10:24:34.175000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2695339160, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f114568a-30a8-4041-9dfc-eace4ecfdcf0", - "crc32c": "2e172bb1", - "sha1": "870e62c617314f4ad94cd70f4dfcb33f924f4d0d", - "sha256": "776b0280fb8687177d1710fd63708f68a12f4941a66dd56eaab2bdcffc606e60", - "s3_etag": "7eaed8f3803ba95fb28b92978e383306-41" - }, - "analysis_file/1da5525c-2986-510e-9890-748b232ad65e": { - "name": "be7a2637-26cf-48ba-bfc5-52fa945d2d88.bam", - "uuid": "9f54e4ee-7b4c-57df-803a-d960b5da3887", - "version": "2021-02-09T09:16:22.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 40477878537, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fd43bb1b-9a0f-4ce7-b78d-c895e548ccac", - "crc32c": "3c606ed1", - "sha256": "a00ef69e48bbde334b0dd5d8770d555140fdd9d5e2c66ccc42a50bc33a7f6978" - }, - "sequence_file/7efd8179-7a9a-4ef1-b199-46f94581cb1a": { - "name": "FCAImmP7316890_S1_L001_I1_001.fastq.gz", - "uuid": "a42125f1-93c2-40c3-9247-ad419a2527e7", - "version": "2020-08-13T10:24:33.438000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2606430396, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6e189345-cf7d-4dc2-b967-bce909a60daf", - "crc32c": "e8bb45c5", - "sha1": "81d637b963ba88e68eabbccdf0dd0db3f5274f0f", - "sha256": "91e01365791dc3b2c665b5244b1265d61c45716f3183bb33326c4fb4e86a824a", - "s3_etag": "3d9ede6ba99224ae4bb451dc8131dd31-39" - }, - "analysis_file/81f56ff9-36eb-5897-b2e7-318c075ecbc8": { - "name": "1d732738-9b3b-4393-920a-a3dd2ff6f7e1.bam", - "uuid": "a4d115b6-9e08-51fd-9f66-20805421a8db", - "version": "2021-02-09T08:06:08.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 38529883052, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9b14d584-d798-4c14-aa36-2c25435eee7d", - "crc32c": "9625ab49", - "sha256": "7f808c1b58bc7f972cc995c6e95e468faad625f2d56ffbd347171d9c5febdc68" - }, - "analysis_file/b7f87bc7-bb85-5bd8-beae-1d14cd6846ef": { - "name": "b7914794-f8a7-4fba-bb5b-10536eac7d8b.loom", - "uuid": "a5a6d033-de94-515c-a742-68e6e1188c2c", - "version": "2021-02-09T08:52:45.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1725559169, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_90b4289c-1b72-4719-b3ec-61c930fd656f", - "crc32c": "ead979ce", - "sha256": "382ad9e9d0545e42d8ea800cf7d4c0fe91a14cb432e58fcc86a13b3f9414b082" - }, - "sequence_file/39c59048-bac9-4b5b-935b-75b150931f41": { - "name": "FCAImmP7277561_S1_L001_R1_001.fastq.gz", - "uuid": "a7708bfc-0d3d-4c87-bea3-34790a7aad2c", - "version": "2020-08-13T10:24:33.086000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 7932249292, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_509c3002-913e-4403-af5c-e9fdd912b383", - "crc32c": "1f2c4145", - "sha1": "82a76bdc5c56153a4b91d1216df2327e386a3d6e", - "sha256": "9ca0b9a333dabc8c1a1de31efb0b4f10f1628cb0338b1db203daef14957314bc", - "s3_etag": "c36b18744bd09a554f8cb80179174de3-119" - }, - "sequence_file/384733f9-328f-4b3f-b201-9489ae09f5de": { - "name": "FCAImmP7277561_S1_L001_I1_001.fastq.gz", - "uuid": "aa7c5481-5b46-4267-bcfa-0940dad1bf1c", - "version": "2020-08-13T10:24:33.060000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2537235360, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_94040803-02b3-44a5-9a8a-0f068639032a", - "crc32c": "2e2f20dc", - "sha1": "a28b793a8dfeef3ff3be817ffc1c17fbf59cbf3e", - "sha256": "4fe5f933dec582fa48bf060dc5ed972b74fd1a2dc97dff1a5a517f1f534dfb76", - "s3_etag": "a086ad56c8942d6fb68b48ca64ca5720-38" - }, - "sequence_file/afe45faa-e5e1-4cf8-8d79-4092dca736bd": { - "name": "FCAImmP7179363_S1_L001_R1_001.fastq.gz", - "uuid": "ab5743e9-3eef-48c8-83f4-8458071fb7f4", - "version": "2020-08-13T10:24:32.503000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8061388633, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3cbbd837-be9e-4771-8778-845c99a8893c", - "crc32c": "ef0d337b", - "sha1": "62e93d8eb2e896d23cd3b914e22cd99ded9f0cbb", - "sha256": "d917c381ac2a61ad8e9bf1a75c410ed9ce1a8d4ddd0b2e4938cd85f98a2d4615", - "s3_etag": "4d7d8122f05534572e160a9c489ddf3c-121" - }, - "analysis_file/4a28b164-2d5a-5232-946a-ac70276036b5": { - "name": "08b799a0-59d8-4c69-87b3-fd239aef4197.bam", - "uuid": "ab887fca-e9b8-529c-9fe2-93595435858d", - "version": "2021-02-09T10:23:06.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 69828774828, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a3f8888a-b975-4bba-87bf-2c0b5e4584c5", - "crc32c": "e682591d", - "sha256": "5826d5b4d61d940252f23006100da6a6e5e77eada00b4fbaa124f8aaec1f8822" - }, - "sequence_file/38b67b47-7ef3-4e9e-88e1-3a8376769eb0": { - "name": "FCAImmP7579210_S1_L001_I1_001.fastq.gz", - "uuid": "ad5b6061-910a-44d0-b8e6-7294d8b9e6d7", - "version": "2020-08-13T10:24:35.268000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2771712478, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_445b501b-2630-485f-a38a-b0b1f2ab075c", - "crc32c": "5029ff14", - "sha1": "797ea06a51d40576e3927645f0823028584a05a5", - "sha256": "deaa8e19d29aba886f3f514d9e43ccad547c9205173b1b34e3af205d781ff791", - "s3_etag": "fb9714e64339d2f9029497d089bed4ab-42" - }, - "analysis_file/b4f3e64c-ff38-5dd3-8656-ee8c06b1c673": { - "name": "7fa6adde-000d-4360-9f45-2b5da4721f70.bam", - "uuid": "b2f7c6e9-087c-5f95-b2c2-6aa9cce695ff", - "version": "2021-02-09T09:36:18.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 37432413492, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_384ab538-2298-4dd0-9e7e-e9f9b646cea3", - "crc32c": "eb901da6", - "sha256": "ac4592e9cbcaeb1bc4e86fd3f864737f11e8ef0c1eb04af63128aa74eabca72d" - }, - "sequence_file/9447492f-3a6a-4f33-a128-605686ae6d65": { - "name": "FCAImmP7352194_S1_L001_R1_001.fastq.gz", - "uuid": "b35f53c9-bb50-487e-9548-7961c3e63170", - "version": "2020-08-13T10:24:34.187000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8374506413, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_058ef571-0842-4255-a4b2-290c6b20be84", - "crc32c": "c7e7b5b6", - "sha1": "94b58f9147a0049580cb5cefbadc85f9155e4de5", - "sha256": "7ae80d1bc2cf67eb4ead85237763e32142ee0573e1dc629ee384bd13195250bb", - "s3_etag": "78335fc7178c5bf74c29adabcef0c75a-125" - }, - "sequence_file/62f9d7c8-cb0b-4c30-b2d8-ab43fa4b3384": { - "name": "FCAImmP7555846_S1_L001_I1_001.fastq.gz", - "uuid": "b544dfff-faa5-4579-b4be-fccb8cf972a4", - "version": "2020-08-13T10:24:35.124000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2813852808, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_06f09e02-e0d9-43ce-80a3-8a572d61ec00", - "crc32c": "b8d01ea7", - "sha1": "8f2cff89a391b0b99204506c9429c497f0202201", - "sha256": "749000111a560a414496e85dae4c24ded0a14c124e709c0140b6f65d19103399", - "s3_etag": "ae13fe00729cf7573a69c73d9d15ddf5-42" - }, - "sequence_file/4b06739c-d81c-45cd-825f-cc5145f15065": { - "name": "FCAImmP7579210_S1_L001_R2_001.fastq.gz", - "uuid": "b913fbad-c5fa-473c-b4a9-ae94e3490593", - "version": "2020-08-13T10:24:35.294000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 28826974589, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fbd1ce3a-9b08-4858-9c48-df24261eceb6", - "crc32c": "225c5259", - "sha1": "17167059b3d85533e0c0b4d5420bc758944667e7", - "sha256": "949f383e13ec273d0e3cb585084540cd61dd46629f108661e5c528dc58c8c8fe", - "s3_etag": "91037e801be9c3e425547c7b258797aa-430" - }, - "sequence_file/756f8cce-2d70-4c53-a893-e26d556f0f06": { - "name": "FCAImmP7462239_S1_L001_I1_001.fastq.gz", - "uuid": "bb8154f5-e9c7-41d1-84dc-bf95c66a9946", - "version": "2020-08-13T10:24:34.365000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2725428706, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ed96c39c-ac5b-4265-854b-2773795406ac", - "crc32c": "68fdd3fd", - "sha1": "232044f9050affb2fdb7f4ee30702cc1b30a69b7", - "sha256": "6cd7dd0c0255d91fd2f448d420fa8ac0a40ebcff5e9017e3d1e1934375c8d8b1", - "s3_etag": "2806dff0c7788ad5ccdb64f40b416fff-41" - }, - "sequence_file/1a17a213-3a73-4af8-a105-6e5b3d056263": { - "name": "FCAImmP7555847_S1_L001_R1_001.fastq.gz", - "uuid": "bcf87efd-2880-49ed-abec-7a176c51ede7", - "version": "2020-08-13T10:24:35.172000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8019487890, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0ceddb9b-834e-4554-b0d4-e932e1083857", - "crc32c": "2ca4c9b3", - "sha1": "f4c2a4d578e25d3ced5129270d460182164b625d", - "sha256": "d796d1e443fde7ab9d102a2ec60ad8d2436a33f1f26ff50e08d27189a73ae27e", - "s3_etag": "ce3ab30561224ded81613129f33f4c43-120" - }, - "sequence_file/28f5f863-26d9-4ca8-abb3-705d369250e7": { - "name": "FCAImmP7316894_S1_L001_R2_001.fastq.gz", - "uuid": "bd1a2c8e-dc02-4167-8c73-ffe00e96a42c", - "version": "2020-08-13T10:24:33.628000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29501970647, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6b9e121a-227e-4a04-9f50-d56cfddf5cb0", - "crc32c": "d28c822b", - "sha1": "f31c1c873a34a36cf69917a327909c15c63e9c02", - "sha256": "5212c8dd34703ea7de4ae5cdb73da036cf0e7d2131996096d734b8413c83b18f", - "s3_etag": "1b1d2ffb22f211139bc1235109249d81-440" - }, - "sequence_file/be3cffb9-150a-4a1e-8f4b-a0afde4eea5a": { - "name": "FCAImmP7528286_S1_L001_R2_001.fastq.gz", - "uuid": "be3b1c9a-c417-4c4f-956f-e1162da429b6", - "version": "2020-08-13T10:24:34.958000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29083825534, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_49f21b80-1466-4160-beec-8a93868c391d", - "crc32c": "9253dbdb", - "sha1": "ac365154accb17d8e654116eddb6ebb85d8c20d6", - "sha256": "6ef549c71a14061b4c4265f80f9965a6014fd37866ed409b406e19ba448af35d", - "s3_etag": "5b1d7c8f8ea2f5951f6da235149171f6-434" - }, - "sequence_file/49a158d2-9786-4f54-bac9-67244497c9c9": { - "name": "FCAImmP7352195_S1_L001_R1_001.fastq.gz", - "uuid": "bf81010d-b56b-4f0e-9fbc-4a27b9901908", - "version": "2020-08-13T10:24:34.230000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8326409166, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_dd60a727-5108-474a-ace9-9ece332cfbe1", - "crc32c": "6b83ece4", - "sha1": "4cc65e4c047ff4f941c463436021bfb46d47dbbd", - "sha256": "1c97bfa720e6f6b565f4aea7bbeb2d80c3592293df2e7ff6498bdae91f8b0c05", - "s3_etag": "92438302dab957869ceb35382d680318-125" - }, - "analysis_file/561a5c40-9014-5bce-b48b-a2df2687b562": { - "name": "3381994d-5624-4f5f-a574-01ad099c448c.bam", - "uuid": "c2088136-2f49-5833-b397-16e27d741b5f", - "version": "2021-02-09T08:58:30.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 35795762149, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9d65c949-0eda-4ee7-a06f-90df40b68410", - "crc32c": "bbd4b704", - "sha256": "168661b3777b0cc21228e13f36bad2c4a562a17a8e31b67b1b5fb84bd6c68619" - }, - "sequence_file/9d578de9-08fb-47f8-9bc4-77e9577965e7": { - "name": "FCAImmP7316891_S1_L001_I1_001.fastq.gz", - "uuid": "c2b3e37f-511e-4e8d-a1b1-ab510204bfcf", - "version": "2020-08-13T10:24:33.485000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2631996916, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e79f0bde-37ec-425c-a804-8134646898e8", - "crc32c": "d61e54e1", - "sha1": "f062847d7c80475e753f1d03a294fd15f9c0edef", - "sha256": "76347112ae421317bec0d5ec9972d4ecdcc7463b98a10c18a7de75fdf6e71791", - "s3_etag": "1c77db5ecc58fb769618f4e6ae648bcc-40" - }, - "sequence_file/32a5b3e4-4f2f-4fb1-aeff-7fb01035eb8d": { - "name": "FCAImmP7198631_S1_L001_I1_001.fastq.gz", - "uuid": "c375c822-c26f-4196-9d4d-586d063a9583", - "version": "2020-08-13T10:24:32.709000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2687326692, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_053ddc57-64a6-4d71-9366-a398f6231137", - "crc32c": "d5974d2d", - "sha1": "490ce3e467cd92e21624adfb2872a746d4e7bed4", - "sha256": "cf660ae1ef55fe01b2c929c74919042f2de369122938099fd2d4eb43f50103fe", - "s3_etag": "2c5760cb790a359354cc583d7fa19de0-41" - }, - "analysis_file/d9b006ee-9626-517f-baed-e6c7bc8a8686": { - "name": "e23d96b7-a271-403e-a29e-b2bdb1949070.loom", - "uuid": "c5674446-c1fa-5509-a077-a296cf1df801", - "version": "2021-02-09T07:18:44.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 979209160, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_92321fe8-831c-419c-8129-198781ffa3c6", - "crc32c": "b1d3e0d6", - "sha256": "a95c5b191e7a0085af5df55c618d9766b2538c82df0a011bf365d13eecf616a4" - }, - "analysis_file/dc9ec562-3a71-5e42-b486-4f846ff7fcc0": { - "name": "e7b60260-7ae4-4d5a-b1a4-51622467e4b3.loom", - "uuid": "c6ce7598-aa0e-5689-b8c3-55109c076a94", - "version": "2021-02-09T09:09:17.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1746029403, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_27c10e50-d47c-4818-bd73-1d5babde7092", - "crc32c": "6b83b07d", - "sha256": "1d1ae07bd6b0b1489a4c4c57ab482ea118023e3f1c37c0078ed78678c0d76603" - }, - "analysis_file/33055074-248b-57fe-99fd-b5deab653ac0": { - "name": "7f0f3ad8-9052-4003-ac7d-4e2e509b85f5.bam", - "uuid": "c7101d0a-844d-580c-b7bf-7223131713e5", - "version": "2021-02-09T09:14:03.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 40638797476, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_799ac6e1-1353-46ed-88cf-4c4ed89b483e", - "crc32c": "8b5edab1", - "sha256": "3528217e3ebd6f758c3707173ff291db40e7fa9f61ec8817c0cd067846190e7b" - }, - "analysis_file/11712f1f-d3c5-54b4-9ab3-cd12b8eb15b7": { - "name": "7f0f3ad8-9052-4003-ac7d-4e2e509b85f5.loom", - "uuid": "c7c7643a-be8f-5f84-92ee-26da94393427", - "version": "2021-02-09T08:39:32.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1739218903, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_c742690a-33f9-4600-91ce-a79b0d766778", - "crc32c": "9801aa22", - "sha256": "25da087f999963bd296cfcb3f91680a79a88268fdbd4946111e59ecaac78c22c" - }, - "sequence_file/c1102423-264b-4668-9e09-39b105474d6f": { - "name": "FCAImmP7555846_S1_L001_R1_001.fastq.gz", - "uuid": "c88c5a0e-73be-495e-a082-a28db1b1eae2", - "version": "2020-08-13T10:24:35.136000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8754921371, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9b5a2347-a15b-40a9-9321-f7dcdc30c17a", - "crc32c": "4cbe4aa1", - "sha1": "ec7a34429db16eb3cd20d2ea2211968c4f639b72", - "sha256": "f4ba68dc01c7e9a275edfd1cc81b60b13b7608b19ded95ee14d0ba2287dfd09b", - "s3_etag": "97169cf73536398646459095973addb3-131" - }, - "sequence_file/3e6ac46b-1d9d-4c91-b5df-e583208357fe": { - "name": "FCAImmP7528288_S1_L001_R1_001.fastq.gz", - "uuid": "c98d43fa-1032-4085-be11-1950c5a6856e", - "version": "2020-08-13T10:24:35.024000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8271806821, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0cfdf6c3-e7ba-48d7-af09-829958a14a07", - "crc32c": "edcba28b", - "sha1": "08952bf7b4980f88ebcc4d6d1383805e36626d43", - "sha256": "1ea528da4991b9037e8aa9d21833a59f53234c239b99c58434ee0aaef14889b9", - "s3_etag": "daaef83e273ffec3052ab2693396581b-124" - }, - "analysis_file/e3735012-e613-5a77-b38e-68fb27f9fdd7": { - "name": "7229676a-4449-4a2f-ac97-284eb599841c.loom", - "uuid": "cbb508b9-a20b-52a1-bf55-026c692c9fcf", - "version": "2021-02-09T09:01:07.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1833252406, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6cfe6b41-3c09-4129-a886-a94a2900cb4d", - "crc32c": "63a21c33", - "sha256": "045b2791c30152e179ad697438465280a912151054174ed84684f83ee36d073f" - }, - "analysis_file/2b64aedb-2563-547f-ba70-aa9b8c1d5d3f": { - "name": "22ccc95d-d789-4398-a790-83f86bb420d8.loom", - "uuid": "cbbeeabb-18e8-52bd-896e-af4ed76b1ca7", - "version": "2021-02-09T08:39:50.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1807104323, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_8aba3d87-55c8-4921-9834-eef52ae91525", - "crc32c": "7144c6ad", - "sha256": "6aae2cf3de8d72fb8a980242bab4109df127e7338829732c927c880e2bf282c9" - }, - "analysis_file/8848e80d-192f-5c47-bb3e-ef0d519e1761": { - "name": "a0e661e2-dac9-4004-9605-8307c15f831d.loom", - "uuid": "cbc3aef2-aa4d-5cb2-8e23-4e83195f29d4", - "version": "2021-02-09T08:23:48.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1461642406, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f6ecaca2-a86c-43fa-a9ae-154a3c22dc76", - "crc32c": "1b9fb227", - "sha256": "632320434b80d7076a222d06182d23ebeb38e4a5398bd66da8e28f55c455fee3" - }, - "sequence_file/dabbfa84-9a92-448a-a09f-8a2eaf13b958": { - "name": "FCAImmP7316893_S1_L001_I1_001.fastq.gz", - "uuid": "cc38ed0e-ac2c-4d75-99a0-8e2ab7e4256e", - "version": "2020-08-13T10:24:33.567000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2528997831, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0b075972-2ccb-450d-81d0-229543ea824f", - "crc32c": "428e58e4", - "sha1": "f5ed049501469278bbdebf5ba5c242a42a79e120", - "sha256": "820cc649fd2f9ea307e0e59819a67b5c4dd63b2067e5a74a5c9a7538b05fd617", - "s3_etag": "e00d24d3b81c33a77630fa565cf4dd1f-38" - }, - "analysis_file/90465f43-bfdf-56d4-a9e1-7a765d60a1fe": { - "name": "2d0d630a-58dd-42f7-bd7e-579ebec98d48.bam", - "uuid": "cd2174ec-d1f0-5cca-a5bc-5070f6736991", - "version": "2021-02-09T08:06:02.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 36589711286, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_bd384fa1-b892-4a0a-8b73-fb2f3b7b1fd5", - "crc32c": "7a4f7b66", - "sha256": "f36bac144ae4be81b2efccc8f5661f60426042dbcc0b19a4e23f2ffa68aadd63" - }, - "sequence_file/15af1b4f-6944-4af6-8a2a-4fea163edde2": { - "name": "4834STDY7002882_S1_L001_I1_001.fastq.gz", - "uuid": "cd90e8e4-0fc5-4f26-86c6-cef5034f01d3", - "version": "2020-08-13T10:24:32.196000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 5367717662, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_68fa3fff-3e98-4d72-a60a-aec8bdb36396", - "crc32c": "cae7e932", - "sha1": "862a9d6693559fee9604cf3fb49c3c4c680873e7", - "sha256": "60c32e0a7b609d83cf9c252fa6c90056e410a24d8f8a277083df6001f29308e1", - "s3_etag": "c053f755982b3cd11a68b6f7bde54dae-80" - }, - "sequence_file/807e13ad-b807-44b5-92c8-9057b858968f": { - "name": "FCAImmP7198631_S1_L001_R1_001.fastq.gz", - "uuid": "ce37ba6d-9b5a-4573-840c-ee6cec97de9e", - "version": "2020-08-13T10:24:32.721000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8302306991, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_f400b4b8-1c0c-4071-87dc-739e412cf717", - "crc32c": "dcb57b6b", - "sha1": "fe90500ce6836e50ce263420e8ed70099a0b01cf", - "sha256": "8d8fc1bf87e005c06c536d335a15e9e7d5ef785ef3cc026a682b0c6942efc5bf", - "s3_etag": "3df42a1fcd0408031c95a87c84a632eb-124" - }, - "sequence_file/529a01ff-db1b-4a8e-924b-8749387f5dcb": { - "name": "FCAImmP7316893_S1_L001_R1_001.fastq.gz", - "uuid": "cf419a69-a9d3-4973-88ce-06f4c22ae90c", - "version": "2020-08-13T10:24:33.579000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8043294313, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_10dcc5ba-960c-4646-9247-c6937b4344cf", - "crc32c": "54158af7", - "sha1": "fd96335ca8295abfca12f461d7c32f8ea330dd89", - "sha256": "ee36efc4c8de7291c12de9c0f4813a1d318ef9eca1e1e32b939ad7aeb35eff96", - "s3_etag": "b2531da9466375d048edd14f513ca0a1-120" - }, - "sequence_file/0f15fb43-c791-4113-a721-a9e3767e8f6d": { - "name": "FCAImmP7316889_S1_L001_R2_001.fastq.gz", - "uuid": "d0a991b4-440b-48ee-87bf-d5613ca9da8b", - "version": "2020-08-13T10:24:33.420000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 30281869308, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_bd4156db-bab0-4f0c-8134-d8c55b18af26", - "crc32c": "1e38ec09", - "sha1": "1ca7c8d56af48a18472dfdc753fb9f33d29eff03", - "sha256": "301de9a4552443cc305f278119b27d6a303eae7b05dc7eb08c3183da43d36943", - "s3_etag": "450cc950037ce1e4e9beace7bc1518c7-452" - }, - "sequence_file/ffba13e2-0937-49b3-961a-2ce3055ad5c6": { - "name": "FCAImmP7198629_S1_L001_I1_001.fastq.gz", - "uuid": "d2fbc3ac-231e-4d92-b35d-a0b94a741937", - "version": "2020-08-13T10:24:32.637000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2660951387, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_5a7db901-5469-46df-98ee-c18c5f699b38", - "crc32c": "da177890", - "sha1": "cec471617503fa3d62066515d74b43f73f687a40", - "sha256": "1b0b864520d6677140a32a5fd4a2e2f532dc9c3666dc43c3d672e886deef19be", - "s3_etag": "c76b0dd7cc59940da4b75782416b3218-40" - }, - "sequence_file/0fb3c4cd-6df4-48ac-b7c6-e96c144e0c42": { - "name": "FCAImmP7198434_S1_L001_I1_001.fastq.gz", - "uuid": "d335dc6e-1d93-471f-867d-9873d12a5b55", - "version": "2020-08-13T10:24:32.564000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2606621962, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_94f359a4-7b77-4eb1-b94a-703a35644886", - "crc32c": "9034c3aa", - "sha1": "fdaf63edffabd9b40a32da8ca659bd2142e82805", - "sha256": "0cd103052225f5288ab3af636a136921b3988e0ae36dd00f01ebbc8fe021813d", - "s3_etag": "72395fb53b187f1b8369f50c28a67509-39" - }, - "sequence_file/d5744e7d-7ab9-4d86-8a3a-bfc9e96946fc": { - "name": "FCAImmP7352195_S1_L001_R2_001.fastq.gz", - "uuid": "d3a27ec7-9a17-45d4-b853-4d1cd768856d", - "version": "2020-08-13T10:24:34.242000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29054731201, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_47bbd010-565c-401a-bba2-50b5938ba62a", - "crc32c": "7dcdd27c", - "sha1": "656d80b31d99d52043ed4057710dcf7da743f119", - "sha256": "40628733878464339e8f2ff8519ad8015b5ec23f8e774fc12685cbd5bda76f84", - "s3_etag": "da9190e8554e35f834b8899ea61b3c0e-433" - }, - "sequence_file/de694c96-1135-4d40-a44c-88ca899d164c": { - "name": "FCAImmP7528287_S1_L001_R2_001.fastq.gz", - "uuid": "d50fce4b-6645-4c91-bac0-401728be36d8", - "version": "2020-08-13T10:24:34.997000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 30747994816, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fd6f1c2d-4e3f-4c7a-9c6d-51edce6ca2a1", - "crc32c": "f598963e", - "sha1": "7914c3a8dc6ce0cbf221cfb14d5c707bed933922", - "sha256": "89fef5accff1842c94eb312f3df65e4dae810f3a538bc46a1ee2547f4f337338", - "s3_etag": "4631fadd9d7dba61943251c40f8f82ac-459" - }, - "sequence_file/837fa4ab-745a-4a41-9fbf-0a4d1d1054d5": { - "name": "FCAImmP7462239_S1_L001_R2_001.fastq.gz", - "uuid": "d5b67ef8-2382-42b0-999e-baf1984141f1", - "version": "2020-08-13T10:24:34.389000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 31484564592, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6e602e50-2565-4f5a-bee6-72888fc6ef14", - "crc32c": "9d30fc3a", - "sha1": "9b65c4f1a5a9164bd1d970263645bb24510aeecf", - "sha256": "58a58d8c7e4878ee703105f0d3cd7f4348afb07725bc457e2773e7bc45947d28", - "s3_etag": "92c281c893dc4da4e1a8e7e083bba124-470" - }, - "sequence_file/41a13523-c45b-4546-8273-9321d9a2c250": { - "name": "FCAImmP7316895_S1_L001_I1_001.fastq.gz", - "uuid": "d64ce807-663f-4a74-89a5-55e313168f35", - "version": "2020-08-13T10:24:33.639000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2715677737, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_d9985d54-10aa-44d9-b67a-7a11b9c33ed4", - "crc32c": "9a7d8e5a", - "sha1": "51bd433e4bd4050aad9f1cdd1ca512534854aaa7", - "sha256": "67db71e91f20956bad0f9b84dfb1331e3c7f113d03b4b79a7997d667c739d105", - "s3_etag": "8b8f3a48c355159c160c4e0886b79964-41" - }, - "sequence_file/1872f705-7ccc-42af-80c5-7645ccd2848c": { - "name": "4834STDY7002877_S1_L001_I1_001.fastq.gz", - "uuid": "d6505f32-dbd6-4d59-8fd7-0a303f7c1263", - "version": "2020-08-13T10:24:32.019000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 5421199497, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_da792aa3-34c0-4be2-bb8c-ea92ab43bc19", - "crc32c": "b99ebffb", - "sha1": "54fb8ac0e032a61d8386abe5fba16f4657931f58", - "sha256": "2b430af1839e44588f69445a0d1be9a0d3d67914547e53442b9163fe89d75b53", - "s3_etag": "ebd1add7b44bcd4acdbec81b2fc67f0e-81" - }, - "sequence_file/a428e47e-0081-497b-9c8a-7c852f4eb103": { - "name": "FCAImmP7579211_S1_L001_R2_001.fastq.gz", - "uuid": "d6dea6fc-64af-4374-b6d1-383d51aaa00a", - "version": "2020-08-13T10:24:35.333000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 27754150835, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b0801ff8-a5c5-4be3-92b9-f125bf3d15a7", - "crc32c": "d78ade9f", - "sha1": "2ec9377bda90aa430eb83bed26bce322951a847b", - "sha256": "e1fb69509c1788b77b8e280f6c15f9af86a7482de1953681163286a25b833172", - "s3_etag": "ec798f789a705a84c15047088574b1c4-414" - }, - "sequence_file/f683fadf-dd8c-4cfe-ae8b-34e3af5b74a1": { - "name": "FCAImmP7316895_S1_L001_R1_001.fastq.gz", - "uuid": "d79ff5a5-7510-4fa7-9ea1-782c6dc09271", - "version": "2020-08-13T10:24:33.652000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8088047660, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_caf3e975-1520-4e33-a51e-341c55f39119", - "crc32c": "5966dc11", - "sha1": "688b385d34552ca12a2a0e43cc1a2fc36df53dd4", - "sha256": "58a995c7143c81535dd7a7d82a2000ab346bc537aa0823118986da45c9ddc089", - "s3_etag": "6b132d0973c5afa226e35f2cf045d0c5-121" - }, - "sequence_file/c27ebc26-f0b4-4f42-8b10-061fb04f77bd": { - "name": "FCAImmP7316890_S1_L001_R2_001.fastq.gz", - "uuid": "db5c9d93-73ce-400f-809a-cf8649a0a3bb", - "version": "2020-08-13T10:24:33.471000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29226036630, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_829acc9e-2f00-47be-85d5-8ba042c5455d", - "crc32c": "da0ef6da", - "sha1": "42e5a4f996b82ad1d58cd6567a4a13c144c7fd15", - "sha256": "6b5b0565bae4d0172d2a35b953961b3708798ba10a98c0c6864b69c7b266efba", - "s3_etag": "956bbe3a0913e93ca54afeb3524e0e90-436" - }, - "analysis_file/d8146d19-442a-5dbe-a075-b3a1ef0ebf07": { - "name": "bc5ba4f6-a3f1-4156-830f-11228df251bc.loom", - "uuid": "dbde50d2-6912-59a2-82b0-3b4014dc988c", - "version": "2021-02-09T07:11:23.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1565901227, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_7e411aad-6f02-48f2-99f6-7f814540fedd", - "crc32c": "56d63318", - "sha256": "78cdef9ebfa842d462b6982bcf2399355fa01f121e47d205143165777b604826" - }, - "analysis_file/c5ab8014-5630-5ce5-9aaf-247e12d4ef6d": { - "name": "3f20a83f-f01c-41f2-acaf-3c111dfa5465.bam", - "uuid": "df1913aa-439c-587d-8192-5e2e66bc5262", - "version": "2021-02-09T09:38:19.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 38824360973, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_e32cd23e-1bd2-4c5f-94bf-968f95d6f2c0", - "crc32c": "7396296b", - "sha256": "0881849b9308290ae3a62ac7606ec920678e77c8f2350ecbc33430d14bc2c889" - }, - "analysis_file/4a302268-f155-5a27-b164-dff6f1fc78fa": { - "name": "37925a3b-3bce-4876-bb29-745922b2c972.loom", - "uuid": "dfd63958-121b-54a8-9b8b-707f3e28d3da", - "version": "2021-02-09T08:21:16.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1740863440, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_b52f8455-679d-43f5-9de3-c1cbf6b56a70", - "crc32c": "d45bc865", - "sha256": "bfce44110db3cf10828073373c12502cc102405254549261ef2c2d29473539e2" - }, - "sequence_file/6a512fd9-3942-4497-87fd-977d2a243b1c": { - "name": "FCAImmP7462239_S1_L001_R1_001.fastq.gz", - "uuid": "e29a9b1c-1ea6-4774-876f-765c7ac65d02", - "version": "2020-08-13T10:24:34.377000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8585695915, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_ae699a07-7b00-4967-b977-d86479e58249", - "crc32c": "797740d6", - "sha1": "e3f923dd6d056312d64d8befdbadc653dfb9a469", - "sha256": "63bfb59ddcd47b03938d55ccc71852512372787409c146aba1f344ec7b1a7bf5", - "s3_etag": "93dfce13f90811593e344eba5c3d094a-128" - }, - "sequence_file/97ab1a9b-43d0-443d-b25c-228f79cb5666": { - "name": "FCAImmP7277552_S1_L001_I1_001.fastq.gz", - "uuid": "e48d6415-0b7b-4e06-9c7b-861f33c1f1c7", - "version": "2020-08-13T10:24:32.834000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2436061386, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_54858ab1-fe9e-4891-97dd-bf5ada0b5bb6", - "crc32c": "48b06974", - "sha1": "be43649c5ebd04a1250f33c14a29f2a82bbe8c8d", - "sha256": "45e12661114a325951c1d9cc3a333adb36cbf88e85b60575a2ab92472b2c875e", - "s3_etag": "86be2e843bc4fed1910a203d7062693e-37" - }, - "sequence_file/76f76203-8b14-4a33-8a0d-d7687d887772": { - "name": "4834STDY7038750_S1_L001_R2_001.fastq.gz", - "uuid": "e512c10b-854a-4c57-8c56-c84c84875664", - "version": "2020-08-13T10:24:32.363000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 42959304661, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a03cb9df-dc59-4a0b-b44c-82d774fca5a3", - "crc32c": "4970865e", - "sha1": "f2c5f50feefd98b6bf5a7afac76a2ff047832277", - "sha256": "5ab45dfdbe7fe42d1bafb8aae280c8375bd23d4dbf9a304a78763ef1e705a815", - "s3_etag": "14354e647d55ee3299f376099ef1bb22-641" - }, - "analysis_file/8f3ed51f-9369-59ac-a2bc-70e1af25d169": { - "name": "27e030cc-b89e-41fc-b0c8-c3258a4b2c6e.loom", - "uuid": "e54680ad-0ebf-50cd-bf66-8d7b888af34c", - "version": "2021-02-09T09:13:43.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 791018526, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_3c6b633d-c61d-41e7-bf2a-82aedf11e6a2", - "crc32c": "d25858a3", - "sha256": "319f9c6ea44f0fb363e2fdd34ecd82cb998997f2f0b9f4abb777b7d550ba0e88" - }, - "sequence_file/529e093e-c122-4939-8264-993ad651efd7": { - "name": "FCAImmP7462237_S1_L001_R1_001.fastq.gz", - "uuid": "e5ca2d0e-2fd8-4a89-88af-ad54c5f36290", - "version": "2020-08-13T10:24:34.304000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 8491601056, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_feb6d95f-25c7-4a13-8d75-64f64a2e1bea", - "crc32c": "d45cfee6", - "sha1": "7c44642c882797e1f6a5235f8870550ce9136bbc", - "sha256": "145ea0e8c692c4322472d16af144e876e056d3c88a5cf00f327de25af1f665de", - "s3_etag": "3c08f55d1cfce81e74b27d01e6a89e6e-127" - }, - "sequence_file/75017000-be20-4f58-91ea-abaf63344959": { - "name": "FCAImmP7277553_S1_L001_R2_001.fastq.gz", - "uuid": "e7bd55f0-f6b6-4bfc-9395-35297fffd7d4", - "version": "2020-08-13T10:24:32.893000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 26743294647, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cf3b69db-ca26-4a67-9cea-a818ade04fb0", - "crc32c": "a4aab160", - "sha1": "27fc3d3839697fc99434c3905a1e84e124ee00b4", - "sha256": "6174cc2b36f0a07e671f7013cde66093c7c7acdffa5e5a2912ce1a344862194b", - "s3_etag": "35c4a30aab199f4974cdf937ea7a2de7-399" - }, - "sequence_file/dbe117fc-c5ee-4347-bb8a-1a3fb9c89895": { - "name": "FCAImmP7198630_S1_L001_R2_001.fastq.gz", - "uuid": "e7c8ff09-e97d-4b2e-8892-49cabbacb4c2", - "version": "2020-08-13T10:24:32.698000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29640509073, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1ed655b5-b090-42b6-8514-9137809b6165", - "crc32c": "58a1cf75", - "sha1": "dd78961d89fb677f00e07672d30323a297d23821", - "sha256": "afa3a5036ffcf985490177857aaa7316e1848be6a5eef8fa87a904c7da8aa312", - "s3_etag": "5b167112db97d9eeea30b67f44481d58-442" - }, - "analysis_file/3aa80a42-646a-5953-afe6-b177a78297df": { - "name": "08b799a0-59d8-4c69-87b3-fd239aef4197.loom", - "uuid": "e85fcce7-59a6-593d-a52a-d25b47fafbfe", - "version": "2021-02-09T08:37:16.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1614253861, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_cf2c2bf2-8b2f-48e3-9a1f-457e0c4c44b4", - "crc32c": "f99f079e", - "sha256": "889cb58651c7ec75e50c040081ed3bad5f81cb731e7f791e282060b310e9e611" - }, - "analysis_file/c18f9014-7086-5216-a73a-e37af51f2bbb": { - "name": "fetal-development-human-liver-10XV2.loom", - "uuid": "e9ac4222-8586-5d9b-8c6d-ba1b58d75a1d", - "version": "2021-02-16T04:18:18.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 5389602923, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_2f503475-0506-4ccb-9abe-2bbf8036d894", - "crc32c": "42dd4073", - "sha256": "9d5294b0fe71b21cd03f1516111c53e1143a23260eaa32871e1a244c0c23b735" - }, - "sequence_file/4e7c6725-5d49-4ed6-9a5f-b7d0eaf75469": { - "name": "FCAImmP7462238_S1_L001_R2_001.fastq.gz", - "uuid": "ea737bae-7b34-4fb1-96a0-c3375446206c", - "version": "2020-08-13T10:24:34.352000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 31686031654, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a8b799b5-daf4-44ae-87f6-fdd330abd6f8", - "crc32c": "e6ca167a", - "sha1": "1d90d37c253370fde01cce5bc8981ca77fbe5bf0", - "sha256": "a04b3bfd947c7bdaa1109383e77bec52fb81c27a2339ee51252e2960469508f6", - "s3_etag": "2734ac545cc9ae534ee2d2465a60e3b1-473" - }, - "analysis_file/00dbea45-4e4d-5220-985e-afd8dcfce0b5": { - "name": "536ba4f7-6694-4a31-8df1-0e6668ed10da.bam", - "uuid": "eb8efbdd-147c-5206-b23c-f561d07335f7", - "version": "2021-02-09T09:09:26.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 36070251944, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_781198aa-507d-4115-b3cd-6880061ed4e0", - "crc32c": "00dc9ae8", - "sha256": "60218362040d530b23fa8ae1275f1917836872f7b533e866509b0a0bf673c472" - }, - "sequence_file/785275c2-08e7-486f-bed5-850993b704d3": { - "name": "FCAImmP7277553_S1_L001_R1_001.fastq.gz", - "uuid": "ebde6cd6-26b6-40d6-9fa4-efe43d99ee8f", - "version": "2020-08-13T10:24:32.882000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 7842094796, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_64f727fd-cd90-415b-a166-ca45e660f835", - "crc32c": "ee9de212", - "sha1": "e40bb03196f2869b75fe5046edefd7e601b51f0c", - "sha256": "4399a1cce3f228de88afe1c8dbb9abd5dc403ae81bd1bb8bcc881fbdd0379a3f", - "s3_etag": "a1f4adadc1ef311fe58a077c39e1414a-117" - }, - "analysis_file/a1dbe553-ade6-5ce4-b9f9-77c740891c97": { - "name": "1248ead2-3dd4-43fe-9f7c-9609ed77d9c2.bam", - "uuid": "ecfd0cb5-5755-5852-b84f-dcaad39a6ddc", - "version": "2021-02-09T09:18:58.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 38107048335, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_77a5c76f-aae4-4ba1-a55c-2830dbebd3ed", - "crc32c": "e26ad592", - "sha256": "37e9cf42e9e91569c0f7d475aee6d31a18404fe1c2bc47dd9bdd7e49e63dc486" - }, - "analysis_file/450befbb-21c9-5b53-a7b9-38b517cebe76": { - "name": "9bb08d39-3957-4ff7-a20d-cc45a1cb38ab.bam", - "uuid": "ee40ec89-7cd0-5a9f-9f21-a1a4d69f5a1d", - "version": "2021-02-09T10:33:14.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 68487846568, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_9599783a-f964-45b6-ab0c-a9b9149cb322", - "crc32c": "b42f4582", - "sha256": "1e853bdb1dab96c62e3ed8959e339cb7e07ee50e9e8a929263ff8ae961e13b43" - }, - "sequence_file/c79e49e1-62b2-41c4-a3eb-96bbe01a2ed4": { - "name": "FCAImmP7352192_S1_L001_R2_001.fastq.gz", - "uuid": "f1a64a47-3ed4-4570-99d7-ea6194826b07", - "version": "2020-08-13T10:24:34.125000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 28410709840, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_6b8ce79a-94dd-41c2-b096-1142145f1b14", - "crc32c": "d6a0d84f", - "sha1": "628fa9c60943a849bc5160d7a7b8818d94439088", - "sha256": "fbb673e8455036e9bc7cbd50918cb5d513a9178040b5f11fc9c88ad9b961aaab", - "s3_etag": "fa422f75cc7b67358c003577ebb1cd33-424" - }, - "analysis_file/e8cb5e82-22fa-5e54-984e-3d2e4b91a100": { - "name": "e23d96b7-a271-403e-a29e-b2bdb1949070.bam", - "uuid": "f264de1c-35b3-5f4e-8d6f-f3a11bd30e93", - "version": "2021-02-09T07:42:39.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 38410429468, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_fa0a6a5c-bc38-4237-9808-7ec817a3c341", - "crc32c": "7602d429", - "sha256": "d60e8996ece7a99f830a0be167f0abeea61ef5e8c267d2afbf56a318c4a88052" - }, - "analysis_file/853ce2df-ac1e-5d3b-aa74-00ff4eab33c2": { - "name": "0ceed66e-513f-450f-89e9-3206f4485cdf.bam", - "uuid": "f2b68b09-0776-5913-a34a-0944942c2b87", - "version": "2021-02-09T08:42:46.000000Z", - "content-type": "application/octet-stream; dcp-type=data", - "size": 38366833938, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a48216e7-c146-411c-97c7-e183ae1daeab", - "crc32c": "4133c641", - "sha256": "af6d158d5d21f2c91cfceece4136a9e27a108eb24dcf35d8125fc9c7f009cfd2" - }, - "sequence_file/9a4277c3-806b-4906-a777-613f01a51003": { - "name": "FCAImmP7277560_S1_L001_R2_001.fastq.gz", - "uuid": "f2fa48aa-5197-40a8-9c2a-c75c5c5f7264", - "version": "2020-08-13T10:24:33.031000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 26750159795, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_1fb40c9b-a3df-46e4-972a-9571f2e6208f", - "crc32c": "86f0006a", - "sha1": "6f737393524941a42f8bd19f896d4e30a906a90a", - "sha256": "b22b52d946aa4dc57e658fdde3457d35766a1d786f9426d24c5ba5abea08a940", - "s3_etag": "a9936256470c5398bb755cc85ccc35c8-399" - }, - "sequence_file/41ae7f5d-67e9-4bc8-a844-262a9dea9b96": { - "name": "4834STDY7002882_S1_L001_R2_001.fastq.gz", - "uuid": "f706178d-1afd-4bbb-bb69-12645ec038a6", - "version": "2020-08-13T10:24:32.221000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 41150350005, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_072ef189-77d1-4fe3-8fec-7d31575d2a1a", - "crc32c": "6ee1c6eb", - "sha1": "bec5a332041c2be7ac226ebf3619ecd834dff895", - "sha256": "5a1aacf952fafcf36435e160cff4b01af9e3fead34c1a42c2f31425e4a1d0583", - "s3_etag": "a52f448699def4372fbf925086ddaebd-614" - }, - "sequence_file/23a28752-d0c7-4a3c-8548-acc8ddc26af4": { - "name": "4834STDY7038751_S1_L001_R1_001.fastq.gz", - "uuid": "f8dcbc35-bb0b-4bd4-ae8d-9be72b39dc16", - "version": "2020-08-13T10:24:32.387000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 30631035509, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0249fe64-269e-4d89-bd0b-5cf2661cbf26", - "crc32c": "c2a358b9", - "sha1": "00a4246f014a4563c94356ebe9ea20e325f48e7f", - "sha256": "489b4d534d89a34ace6e4abdf14fa02695f3e2b94d11e7c54a0ebfe513385a00", - "s3_etag": "f98111cdd543b8f8afdace9ad3aee90d-457" - }, - "sequence_file/8a62b078-1656-4145-83ee-a54b74b1f566": { - "name": "FCAImmP7528289_S1_L001_R2_001.fastq.gz", - "uuid": "f9173d91-b535-40f1-9937-2d0f00f4432f", - "version": "2020-08-13T10:24:35.073000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29264452519, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_8c824321-6022-4a04-b4fe-14c3b341d581", - "crc32c": "67ed297a", - "sha1": "d4fad7f22e0dbdfea471abe2ef1d3c73dd4c9a59", - "sha256": "b28d0729f18c82ac3c3e66f31bae44fb386f920e65e01cdef4f0efc549d7bb4a", - "s3_etag": "e158c26a5a0880ddb27903e34882a7a2-437" - }, - "sequence_file/f895f666-e3ed-4a7e-a7f5-42586a6244ea": { - "name": "FCAImmP7462238_S1_L001_I1_001.fastq.gz", - "uuid": "f97aef9d-20fe-4872-88d1-9b44f174a16c", - "version": "2020-08-13T10:24:34.328000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 2771933689, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_dd63ed96-5924-4c85-87f1-e91532c0d28a", - "crc32c": "1864f708", - "sha1": "de3a7331e0e4eba6acbccfea775134f50056009d", - "sha256": "b4cfabb071a6ba97b64b19a9c5e1718ea9a41fd44b1697e19b0b388fd2444fbe", - "s3_etag": "710cf93f73aeacad79e964a13684ba2d-42" - }, - "analysis_file/c31aecba-db6a-5229-a729-66269d90ee8a": { - "name": "0ceed66e-513f-450f-89e9-3206f4485cdf.loom", - "uuid": "fa5185cb-e48d-5ab8-90b8-5499c3a725b6", - "version": "2021-02-09T08:11:03.000000Z", - "content-type": "application/vnd.loom; dcp-type=data", - "size": 1827060784, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_a9616d3d-c93b-46d7-bd28-83584b765f21", - "crc32c": "4482e678", - "sha256": "c223e4d5e42e03dbc6fc3c0d05bb58acbdcad8e02b1169631fb5fe9bb6fd9ea1" - }, - "sequence_file/82fc4ead-bf34-4834-91ed-cb6ec1717baa": { - "name": "FCAImmP7316895_S1_L001_R2_001.fastq.gz", - "uuid": "fd5a2b33-eebc-41e3-b880-a39736a47a7c", - "version": "2020-08-13T10:24:33.664000Z", - "content-type": "application/gzip; dcp-type=data; dcp-type=data", - "size": 29452283026, - "indexed": false, - "drs_uri": "drs://mock_drs_domain.lan/v1_6f1987da-5cbf-492c-b930-fd24891099a8_0cc171de-21c6-4fd9-b396-8d4a5c697058", - "crc32c": "7b8d8193", - "sha1": "cd8cc28fbdc21ac5ac1f59175dff4c9f8c6e08f0", - "sha256": "6f492eed4c3dce56c23be051c2280c0d02082764cc12eee0d78ec053575e33c8", - "s3_etag": "01f727a9513e37db4f9127dddaa83443-439" - } - }, - "metadata": { - "analysis_file/00dbea45-4e4d-5220-985e-afd8dcfce0b5": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "536ba4f7-6694-4a31-8df1-0e6668ed10da.bam", - "format": "bam" - }, - "provenance": { - "document_id": "00dbea45-4e4d-5220-985e-afd8dcfce0b5", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/07a18873-6df1-57a8-848c-980bfa29fbf5": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "3381994d-5624-4f5f-a574-01ad099c448c.loom", - "format": "loom" - }, - "provenance": { - "document_id": "07a18873-6df1-57a8-848c-980bfa29fbf5", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/07a81052-3964-5b08-8f2d-066c1e29de7d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "1248ead2-3dd4-43fe-9f7c-9609ed77d9c2.loom", - "format": "loom" - }, - "provenance": { - "document_id": "07a81052-3964-5b08-8f2d-066c1e29de7d", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/07b48eae-1703-5821-b3e6-66bb1488e7b2": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "be7a2637-26cf-48ba-bfc5-52fa945d2d88.loom", - "format": "loom" - }, - "provenance": { - "document_id": "07b48eae-1703-5821-b3e6-66bb1488e7b2", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/087aca40-9bc5-56b9-8cd5-a5a0488c18f2": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "f4183399-0e70-466e-8915-8e4481f9b7d1.loom", - "format": "loom" - }, - "provenance": { - "document_id": "087aca40-9bc5-56b9-8cd5-a5a0488c18f2", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/0a79ce42-b2b7-5c37-8bb2-e61bc1b5e38f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "951a8ffc-69c5-4f7c-8ee8-39b76171f630.loom", - "format": "loom" - }, - "provenance": { - "document_id": "0a79ce42-b2b7-5c37-8bb2-e61bc1b5e38f", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/0db36828-3fae-5bd2-b052-ae63b88693d9": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "2d0d630a-58dd-42f7-bd7e-579ebec98d48.loom", - "format": "loom" - }, - "provenance": { - "document_id": "0db36828-3fae-5bd2-b052-ae63b88693d9", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/11712f1f-d3c5-54b4-9ab3-cd12b8eb15b7": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "7f0f3ad8-9052-4003-ac7d-4e2e509b85f5.loom", - "format": "loom" - }, - "provenance": { - "document_id": "11712f1f-d3c5-54b4-9ab3-cd12b8eb15b7", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/129bdef3-ae23-5273-920f-204cccd878fc": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "cfa1e5da-607e-49b6-aa0d-8f43702b971f.loom", - "format": "loom" - }, - "provenance": { - "document_id": "129bdef3-ae23-5273-920f-204cccd878fc", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/1685c144-966c-53fe-8bd3-2a053b55966c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "3f20a83f-f01c-41f2-acaf-3c111dfa5465.loom", - "format": "loom" - }, - "provenance": { - "document_id": "1685c144-966c-53fe-8bd3-2a053b55966c", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/1da5525c-2986-510e-9890-748b232ad65e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "be7a2637-26cf-48ba-bfc5-52fa945d2d88.bam", - "format": "bam" - }, - "provenance": { - "document_id": "1da5525c-2986-510e-9890-748b232ad65e", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/1f43235c-6299-527b-b470-2b6638bdaf8b": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "37925a3b-3bce-4876-bb29-745922b2c972.bam", - "format": "bam" - }, - "provenance": { - "document_id": "1f43235c-6299-527b-b470-2b6638bdaf8b", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/295db19e-bdcc-5428-a68a-e0de856c4522": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "2e7e4b93-2d6c-4359-804c-f8ca1e21c31c.loom", - "format": "loom" - }, - "provenance": { - "document_id": "295db19e-bdcc-5428-a68a-e0de856c4522", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/2b64aedb-2563-547f-ba70-aa9b8c1d5d3f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "22ccc95d-d789-4398-a790-83f86bb420d8.loom", - "format": "loom" - }, - "provenance": { - "document_id": "2b64aedb-2563-547f-ba70-aa9b8c1d5d3f", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/2c88ef68-7029-5f00-9387-a364d6292976": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "b49fb5d4-6f31-4b7d-827e-bc09ed30a167.loom", - "format": "loom" - }, - "provenance": { - "document_id": "2c88ef68-7029-5f00-9387-a364d6292976", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/2d253fef-4538-511a-a960-bd999afeecf4": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "c301901f-95cd-4a3e-a4df-761fa21e92af.loom", - "format": "loom" - }, - "provenance": { - "document_id": "2d253fef-4538-511a-a960-bd999afeecf4", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/33055074-248b-57fe-99fd-b5deab653ac0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "7f0f3ad8-9052-4003-ac7d-4e2e509b85f5.bam", - "format": "bam" - }, - "provenance": { - "document_id": "33055074-248b-57fe-99fd-b5deab653ac0", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/3450ac1e-8d8f-5bad-bd44-322d792acc8a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "f26c4715-5488-4d7f-ae0e-1c965128fbb1.loom", - "format": "loom" - }, - "provenance": { - "document_id": "3450ac1e-8d8f-5bad-bd44-322d792acc8a", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/35bc8baa-8916-5835-940c-ce684f30d4aa": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "bc5ba4f6-a3f1-4156-830f-11228df251bc.bam", - "format": "bam" - }, - "provenance": { - "document_id": "35bc8baa-8916-5835-940c-ce684f30d4aa", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/3aa80a42-646a-5953-afe6-b177a78297df": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "08b799a0-59d8-4c69-87b3-fd239aef4197.loom", - "format": "loom" - }, - "provenance": { - "document_id": "3aa80a42-646a-5953-afe6-b177a78297df", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/450befbb-21c9-5b53-a7b9-38b517cebe76": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "9bb08d39-3957-4ff7-a20d-cc45a1cb38ab.bam", - "format": "bam" - }, - "provenance": { - "document_id": "450befbb-21c9-5b53-a7b9-38b517cebe76", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/489c7fd9-1ac8-5b78-a91d-a44761f9d6e0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "e7b60260-7ae4-4d5a-b1a4-51622467e4b3.bam", - "format": "bam" - }, - "provenance": { - "document_id": "489c7fd9-1ac8-5b78-a91d-a44761f9d6e0", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/4964726c-4bf7-58a0-a401-6eecf9c7a3b3": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "bc583c0e-4336-43d4-a7da-dc7e1f72b50b.bam", - "format": "bam" - }, - "provenance": { - "document_id": "4964726c-4bf7-58a0-a401-6eecf9c7a3b3", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/4a28b164-2d5a-5232-946a-ac70276036b5": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "08b799a0-59d8-4c69-87b3-fd239aef4197.bam", - "format": "bam" - }, - "provenance": { - "document_id": "4a28b164-2d5a-5232-946a-ac70276036b5", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/4a302268-f155-5a27-b164-dff6f1fc78fa": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "37925a3b-3bce-4876-bb29-745922b2c972.loom", - "format": "loom" - }, - "provenance": { - "document_id": "4a302268-f155-5a27-b164-dff6f1fc78fa", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/4ba8f00e-0833-5862-bc6e-0cc2acb5d684": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "1d732738-9b3b-4393-920a-a3dd2ff6f7e1.loom", - "format": "loom" - }, - "provenance": { - "document_id": "4ba8f00e-0833-5862-bc6e-0cc2acb5d684", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/52ca4cde-727f-564e-95dd-7872573ebeba": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "5d687d7c-8d96-4203-ad8e-d0668828ad37.loom", - "format": "loom" - }, - "provenance": { - "document_id": "52ca4cde-727f-564e-95dd-7872573ebeba", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/538399a0-da86-57f5-88c6-b150db89c3f3": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "1d5a282b-b4b5-41dc-ab46-862476a87c18.loom", - "format": "loom" - }, - "provenance": { - "document_id": "538399a0-da86-57f5-88c6-b150db89c3f3", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/561a5c40-9014-5bce-b48b-a2df2687b562": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "3381994d-5624-4f5f-a574-01ad099c448c.bam", - "format": "bam" - }, - "provenance": { - "document_id": "561a5c40-9014-5bce-b48b-a2df2687b562", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/6008e2eb-ea1d-54b2-9611-fa896ae9aa21": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "22ccc95d-d789-4398-a790-83f86bb420d8.bam", - "format": "bam" - }, - "provenance": { - "document_id": "6008e2eb-ea1d-54b2-9611-fa896ae9aa21", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/61a2e552-6617-589e-8985-e1b730d3095c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "951a8ffc-69c5-4f7c-8ee8-39b76171f630.bam", - "format": "bam" - }, - "provenance": { - "document_id": "61a2e552-6617-589e-8985-e1b730d3095c", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/61d46fd3-fd85-5eb1-a251-7000d2394830": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "a0e661e2-dac9-4004-9605-8307c15f831d.bam", - "format": "bam" - }, - "provenance": { - "document_id": "61d46fd3-fd85-5eb1-a251-7000d2394830", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/63bee9b4-8743-5a13-b144-80cf68313083": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "cfa1e5da-607e-49b6-aa0d-8f43702b971f.bam", - "format": "bam" - }, - "provenance": { - "document_id": "63bee9b4-8743-5a13-b144-80cf68313083", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/65358965-9b3b-5187-bf6a-f918c6009f83": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "2e7e4b93-2d6c-4359-804c-f8ca1e21c31c.bam", - "format": "bam" - }, - "provenance": { - "document_id": "65358965-9b3b-5187-bf6a-f918c6009f83", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/69cc1f24-8be9-58aa-af3e-99c13507216e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "536ba4f7-6694-4a31-8df1-0e6668ed10da.loom", - "format": "loom" - }, - "provenance": { - "document_id": "69cc1f24-8be9-58aa-af3e-99c13507216e", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/6a019fd6-5db6-5717-8c4a-3a22a6fba738": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "62a131e1-c415-460e-bc5b-75cca5d3323b.bam", - "format": "bam" - }, - "provenance": { - "document_id": "6a019fd6-5db6-5717-8c4a-3a22a6fba738", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/6a73dfce-0163-5b3e-b1cd-0df84fb30871": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "7fa6adde-000d-4360-9f45-2b5da4721f70.loom", - "format": "loom" - }, - "provenance": { - "document_id": "6a73dfce-0163-5b3e-b1cd-0df84fb30871", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/789c58d2-6a0d-514e-ac56-f884cd5e078d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "1d5a282b-b4b5-41dc-ab46-862476a87c18.bam", - "format": "bam" - }, - "provenance": { - "document_id": "789c58d2-6a0d-514e-ac56-f884cd5e078d", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/80738c1d-105a-525e-8b84-ae666d549159": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "7229676a-4449-4a2f-ac97-284eb599841c.bam", - "format": "bam" - }, - "provenance": { - "document_id": "80738c1d-105a-525e-8b84-ae666d549159", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/81f56ff9-36eb-5897-b2e7-318c075ecbc8": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "1d732738-9b3b-4393-920a-a3dd2ff6f7e1.bam", - "format": "bam" - }, - "provenance": { - "document_id": "81f56ff9-36eb-5897-b2e7-318c075ecbc8", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/845dd01f-cad1-54a4-8ff3-acd78d29a5b1": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "73bd1209-cfb5-420f-bd97-574ed9c7cd0e.loom", - "format": "loom" - }, - "provenance": { - "document_id": "845dd01f-cad1-54a4-8ff3-acd78d29a5b1", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/853ce2df-ac1e-5d3b-aa74-00ff4eab33c2": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "0ceed66e-513f-450f-89e9-3206f4485cdf.bam", - "format": "bam" - }, - "provenance": { - "document_id": "853ce2df-ac1e-5d3b-aa74-00ff4eab33c2", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/8848e80d-192f-5c47-bb3e-ef0d519e1761": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "a0e661e2-dac9-4004-9605-8307c15f831d.loom", - "format": "loom" - }, - "provenance": { - "document_id": "8848e80d-192f-5c47-bb3e-ef0d519e1761", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/8cdbf96a-27ae-590c-b967-8a850c760785": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "62a131e1-c415-460e-bc5b-75cca5d3323b.loom", - "format": "loom" - }, - "provenance": { - "document_id": "8cdbf96a-27ae-590c-b967-8a850c760785", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/8de90a27-1f7c-5651-b3d6-8527c1ed92d6": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "10a02923-b945-43fe-97db-c984e06dc5a7.loom", - "format": "loom" - }, - "provenance": { - "document_id": "8de90a27-1f7c-5651-b3d6-8527c1ed92d6", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/8f3ed51f-9369-59ac-a2bc-70e1af25d169": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "27e030cc-b89e-41fc-b0c8-c3258a4b2c6e.loom", - "format": "loom" - }, - "provenance": { - "document_id": "8f3ed51f-9369-59ac-a2bc-70e1af25d169", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/90465f43-bfdf-56d4-a9e1-7a765d60a1fe": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "2d0d630a-58dd-42f7-bd7e-579ebec98d48.bam", - "format": "bam" - }, - "provenance": { - "document_id": "90465f43-bfdf-56d4-a9e1-7a765d60a1fe", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/91caea03-3c9a-5ba8-9acc-3685e3a6062e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "a9c40eb8-24b6-4436-a3d3-e8035e84f6ae.loom", - "format": "loom" - }, - "provenance": { - "document_id": "91caea03-3c9a-5ba8-9acc-3685e3a6062e", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/9b6d349f-774f-56e1-ab6b-938385c60a4f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "b1883730-3304-48c1-904b-eb90ab226168.loom", - "format": "loom" - }, - "provenance": { - "document_id": "9b6d349f-774f-56e1-ab6b-938385c60a4f", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/9baa3062-0022-53e2-a3df-14df08c4c66c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "0dd65ce8-29ba-4341-9a93-eb2ca1f06c72.loom", - "format": "loom" - }, - "provenance": { - "document_id": "9baa3062-0022-53e2-a3df-14df08c4c66c", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/a0ea22e2-cab6-506d-8211-bb479591a04c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "f4183399-0e70-466e-8915-8e4481f9b7d1.bam", - "format": "bam" - }, - "provenance": { - "document_id": "a0ea22e2-cab6-506d-8211-bb479591a04c", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/a1dbe553-ade6-5ce4-b9f9-77c740891c97": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "1248ead2-3dd4-43fe-9f7c-9609ed77d9c2.bam", - "format": "bam" - }, - "provenance": { - "document_id": "a1dbe553-ade6-5ce4-b9f9-77c740891c97", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/a78f0746-6eed-5b0e-9772-aab4bceec02c": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "a9c40eb8-24b6-4436-a3d3-e8035e84f6ae.bam", - "format": "bam" - }, - "provenance": { - "document_id": "a78f0746-6eed-5b0e-9772-aab4bceec02c", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/b13f3346-158d-5509-bc82-3aed1b2c23be": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "b1883730-3304-48c1-904b-eb90ab226168.bam", - "format": "bam" - }, - "provenance": { - "document_id": "b13f3346-158d-5509-bc82-3aed1b2c23be", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/b4f3e64c-ff38-5dd3-8656-ee8c06b1c673": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "7fa6adde-000d-4360-9f45-2b5da4721f70.bam", - "format": "bam" - }, - "provenance": { - "document_id": "b4f3e64c-ff38-5dd3-8656-ee8c06b1c673", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/b7f87bc7-bb85-5bd8-beae-1d14cd6846ef": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "b7914794-f8a7-4fba-bb5b-10536eac7d8b.loom", - "format": "loom" - }, - "provenance": { - "document_id": "b7f87bc7-bb85-5bd8-beae-1d14cd6846ef", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/b9877824-638a-5fde-8196-70317fa1cc19": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "232174af-3ebf-4b3b-97fd-35547950c4c8.loom", - "format": "loom" - }, - "provenance": { - "document_id": "b9877824-638a-5fde-8196-70317fa1cc19", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/bbb02342-bad3-5d6c-89fa-1cbaf2e7b5dd": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "b49fb5d4-6f31-4b7d-827e-bc09ed30a167.bam", - "format": "bam" - }, - "provenance": { - "document_id": "bbb02342-bad3-5d6c-89fa-1cbaf2e7b5dd", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/bc454c4f-c3b4-565f-be09-44d7523a80de": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "5d687d7c-8d96-4203-ad8e-d0668828ad37.bam", - "format": "bam" - }, - "provenance": { - "document_id": "bc454c4f-c3b4-565f-be09-44d7523a80de", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/c1770287-3376-5cc1-a2a2-9676e7f5716e": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "42b114bb-27ee-4415-b046-7ee5581adc27.loom", - "format": "loom" - }, - "provenance": { - "document_id": "c1770287-3376-5cc1-a2a2-9676e7f5716e", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/c18f9014-7086-5216-a73a-e37af51f2bbb": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "fetal-development-human-liver-10XV2.loom", - "format": "loom" - }, - "provenance": { - "document_id": "c18f9014-7086-5216-a73a-e37af51f2bbb", - "submission_date": "2021-02-09T01:30:00.000000Z", - "submitter_id": "e67aaabe-93ea-564a-aa66-31bc0857b707" - }, - "schema_type": "file" - }, - "analysis_file/c31aecba-db6a-5229-a729-66269d90ee8a": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "0ceed66e-513f-450f-89e9-3206f4485cdf.loom", - "format": "loom" - }, - "provenance": { - "document_id": "c31aecba-db6a-5229-a729-66269d90ee8a", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/c5ab8014-5630-5ce5-9aaf-247e12d4ef6d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "3f20a83f-f01c-41f2-acaf-3c111dfa5465.bam", - "format": "bam" - }, - "provenance": { - "document_id": "c5ab8014-5630-5ce5-9aaf-247e12d4ef6d", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/cc430c2e-f377-5651-aa5d-3dfa30b421cd": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "10a02923-b945-43fe-97db-c984e06dc5a7.bam", - "format": "bam" - }, - "provenance": { - "document_id": "cc430c2e-f377-5651-aa5d-3dfa30b421cd", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/ce52572d-f7d1-585d-a54f-fc14297d19c0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "ded9b30e-12df-4998-846a-7cef685e4bd6.loom", - "format": "loom" - }, - "provenance": { - "document_id": "ce52572d-f7d1-585d-a54f-fc14297d19c0", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/d1b3c364-8f6c-57d2-847c-1b22257f7e87": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "ded9b30e-12df-4998-846a-7cef685e4bd6.bam", - "format": "bam" - }, - "provenance": { - "document_id": "d1b3c364-8f6c-57d2-847c-1b22257f7e87", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/d2b3f3a1-b030-5c80-89d4-42a76db79127": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "b7914794-f8a7-4fba-bb5b-10536eac7d8b.bam", - "format": "bam" - }, - "provenance": { - "document_id": "d2b3f3a1-b030-5c80-89d4-42a76db79127", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/d3142cb9-7285-5185-a5a5-c63d5f3cade8": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "73bd1209-cfb5-420f-bd97-574ed9c7cd0e.bam", - "format": "bam" - }, - "provenance": { - "document_id": "d3142cb9-7285-5185-a5a5-c63d5f3cade8", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/d41aa539-54ba-5f2e-bfd6-4c9905ee38a1": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "0dd65ce8-29ba-4341-9a93-eb2ca1f06c72.bam", - "format": "bam" - }, - "provenance": { - "document_id": "d41aa539-54ba-5f2e-bfd6-4c9905ee38a1", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/d8146d19-442a-5dbe-a075-b3a1ef0ebf07": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "bc5ba4f6-a3f1-4156-830f-11228df251bc.loom", - "format": "loom" - }, - "provenance": { - "document_id": "d8146d19-442a-5dbe-a075-b3a1ef0ebf07", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/d9b006ee-9626-517f-baed-e6c7bc8a8686": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "e23d96b7-a271-403e-a29e-b2bdb1949070.loom", - "format": "loom" - }, - "provenance": { - "document_id": "d9b006ee-9626-517f-baed-e6c7bc8a8686", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/dc9ec562-3a71-5e42-b486-4f846ff7fcc0": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "e7b60260-7ae4-4d5a-b1a4-51622467e4b3.loom", - "format": "loom" - }, - "provenance": { - "document_id": "dc9ec562-3a71-5e42-b486-4f846ff7fcc0", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/dcaba295-f646-562f-8752-6f6fa634bc4f": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "9bb08d39-3957-4ff7-a20d-cc45a1cb38ab.loom", - "format": "loom" - }, - "provenance": { - "document_id": "dcaba295-f646-562f-8752-6f6fa634bc4f", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/e0b0252f-8351-5ce3-a804-632a1cd78d28": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "27e030cc-b89e-41fc-b0c8-c3258a4b2c6e.bam", - "format": "bam" - }, - "provenance": { - "document_id": "e0b0252f-8351-5ce3-a804-632a1cd78d28", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/e3735012-e613-5a77-b38e-68fb27f9fdd7": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "7229676a-4449-4a2f-ac97-284eb599841c.loom", - "format": "loom" - }, - "provenance": { - "document_id": "e3735012-e613-5a77-b38e-68fb27f9fdd7", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/e6604cbc-c882-5f03-b4d0-807eb969a293": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [ - { - "ontology": "data:3917", - "ontology_label": "Count Matrix", - "text": "DCP/2-generated matrix" - } - ], - "file_name": "bc583c0e-4336-43d4-a7da-dc7e1f72b50b.loom", - "format": "loom" - }, - "provenance": { - "document_id": "e6604cbc-c882-5f03-b4d0-807eb969a293", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/e6a532d6-bba0-5304-809c-5fc5f8373529": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "42b114bb-27ee-4415-b046-7ee5581adc27.bam", - "format": "bam" - }, - "provenance": { - "document_id": "e6a532d6-bba0-5304-809c-5fc5f8373529", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/e8cb5e82-22fa-5e54-984e-3d2e4b91a100": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "e23d96b7-a271-403e-a29e-b2bdb1949070.bam", - "format": "bam" - }, - "provenance": { - "document_id": "e8cb5e82-22fa-5e54-984e-3d2e4b91a100", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/fda0ea89-2300-59ed-9125-784883c5e211": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "c301901f-95cd-4a3e-a4df-761fa21e92af.bam", - "format": "bam" - }, - "provenance": { - "document_id": "fda0ea89-2300-59ed-9125-784883c5e211", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/fe4686b9-acd3-5237-acf1-1bd9cc0c19c5": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "f26c4715-5488-4d7f-ae0e-1c965128fbb1.bam", - "format": "bam" - }, - "provenance": { - "document_id": "fe4686b9-acd3-5237-acf1-1bd9cc0c19c5", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_file/ff3b3d1c-2ba9-50a9-9ca7-0558012cbe7d": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.2.0/analysis_file", - "file_core": { - "content_description": [], - "file_name": "232174af-3ebf-4b3b-97fd-35547950c4c8.bam", - "format": "bam" - }, - "provenance": { - "document_id": "ff3b3d1c-2ba9-50a9-9ca7-0558012cbe7d", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "schema_type": "file" - }, - "analysis_protocol/289ec28b-ce11-5be8-89ab-92fbceb874a0": { - "computational_method": "Optimus", - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/9.1.0/analysis_protocol", - "protocol_core": { - "protocol_id": "optimus_v4.2.2" - }, - "provenance": { - "document_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "submission_date": "2021-02-26T16:30:00.000000Z", - "update_date": "2021-02-26T16:30:00.000000Z" - }, - "schema_type": "protocol", - "type": { - "text": "analysis_protocol" - } - }, - "analysis_protocol/432a7422-59b5-5c46-8983-a7953f196781": { - "computational_method": "optimus_post_processing_v1.0.0", - "describedBy": "https://schema.humancellatlas.org/type/protocol/analysis/9.1.0/analysis_protocol", - "protocol_core": { - "protocol_id": "optimus_post_processing_v1.0.0" - }, - "provenance": { - "document_id": "432a7422-59b5-5c46-8983-a7953f196781", - "submission_date": "2021-05-24T12:00:00.000000Z", - "update_date": "2021-05-24T12:00:00.000000Z" - }, - "schema_type": "protocol", - "type": { - "text": "analysis; merge matrices" - } - }, - "project/f2fe82f0-4454-4d84-b416-a885f3121e59": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "FetalLiverHaematopoiesis", - "project_title": "Decoding the development of the blood and immune systems during human fetal liver haematopoiesis", - "project_description": "Definitive haematopoiesis in the fetal liver supports self-renewal and differentiation of haematopoietic stem cells/multipotent progenitors (HSC/MPPs), yet remains poorly defined in humans. Using single cell transcriptome profiling of ~133,000 fetal liver and ~65,000 fetal skin and kidney cells, we identify the repertoire of blood and immune cells in first and early second trimesters of development. From this data, we infer differentiation trajectories from HSC/MPPs, and evaluate the impact of tissue microenvironment on blood and immune cell development. We predict coupling of mast cell differentiation with erythro-megakaryopoiesis and identify physiological erythropoiesis in fetal skin. We demonstrate a shift in fetal liver haematopoietic composition during gestation away from being erythroid-predominant, accompanied by a parallel change in HSC/MPP differentiation potential, which we functionally validate. Our integrated map of fetal liver haematopoiesis provides a blueprint for the study of paediatric blood and immune disorders, and a valuable reference for understanding and harnessing the therapeutic potential of HSC/MPPs." - }, - "supplementary_links": [ - "https://developmentcellatlas.ncl.ac.uk/datasets/hca_liver/", - "https://github.com/haniffalab/FCA_liver" - ], - "insdc_project_accessions": [ - "ERP111845" - ], - "array_express_accessions": [ - "E-MTAB-7407" - ], - "insdc_study_accessions": [ - "PRJEB34784" - ], - "contributors": [ - { - "name": "Dorin-Mirel,,Popescu", - "email": "dorinmirel@gmail.com", - "institution": "Newcastle University", - "laboratory": "Institute of Cellular Medicine", - "address": "Newcastle upon Tyne, NE2 4HH", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-8523-0061" - }, - { - "name": "Rachel,Anne,Botting", - "email": "rachel.botting@ncl.ac.uk", - "institution": "Newcastle University", - "laboratory": "Institute of Cellular Medicine", - "address": "Newcastle upon Tyne, NE2 4HH", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0001-9595-4605" - }, - { - "name": "Emily,,Stephenson", - "email": "Emily.Stephenson2@newcastle.ac.uk", - "institution": "Newcastle University", - "laboratory": "Institute of Cellular Medicine", - "address": "Newcastle upon Tyne, NE2 4HH", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-4244-4019" - }, - { - "name": "Kile,,Green", - "email": "Kile.Green@newcastle.ac.uk", - "institution": "Newcastle University", - "laboratory": "Institute of Cellular Medicine", - "address": "Newcastle upon Tyne, NE2 4HH", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Simone,,Webb", - "email": "Simone.Webb@newcastle.ac.uk", - "institution": "Newcastle University", - "laboratory": "Institute of Cellular Medicine", - "address": "Newcastle upon Tyne, NE2 4HH", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "computational scientist", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Laura,,Jardine", - "email": "laura.jardine@newcastle.ac.uk", - "institution": "Newcastle University", - "laboratory": "Institute of Cellular Medicine", - "address": "Newcastle upon Tyne, NE2 4HH", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0003-4495-8205" - }, - { - "name": "Issac,,Goh", - "email": "Issac.Goh@newcastle.ac.uk", - "institution": "Newcastle University", - "laboratory": "Institute of Cellular Medicine", - "address": "Newcastle upon Tyne, NE2 4HH", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Jongeun,,Park", - "email": "jp24@sanger.ac.uk", - "institution": "Wellcome Sanger Institute", - "laboratory": "Cellular Genetics", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SA", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "experimental scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0002-5170-5831" - }, - { - "name": "Krzysztof,,Polanski", - "email": "kp9@sanger.ac.uk", - "institution": "Wellcome Sanger Institute", - "laboratory": "Cellular Genetics", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SA", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "computational scientist", - "ontology": "EFO:0009742", - "ontology_label": "computational scientist" - } - }, - { - "name": "Steven,,Lisgo", - "email": "steven.lisgo@newcastle.ac.uk", - "institution": "Institute of Genetic Medicine", - "laboratory": "Institute of Cellular Medicine", - "address": "Newcastle upon Tyne, NE2 4HH", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "biomaterial provider", - "ontology": "EFO:0001729", - "ontology_label": "biomaterial provider" - }, - "orcid_id": "0000-0001-5186-3971" - }, - { - "name": "Sam,,Behjati", - "email": "sb31@sanger.ac.uk", - "institution": "University of Cambridge", - "laboratory": "Department of Haematology and Wellcome and MRC Cambridge Stem Cell Institute", - "address": "Cambridge, CB2 2XY", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "co-investigator", - "ontology": "EFO:0009735", - "ontology_label": "co-investigator" - }, - "orcid_id": "0000-0002-6600-7665" - }, - { - "name": "Sarah,A,Teichmann", - "email": "st9@sanger.ac.uk", - "institution": "Wellcome Sanger Institute", - "laboratory": "Cellular Genetics", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SA", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-6294-6366" - }, - { - "name": "Muzlifah,,Haniffa", - "email": "m.a.haniffa@newcastle.ac.uk", - "institution": "Institute of Cellular Medicine, Newcastle University", - "laboratory": "Institute of Cellular Medicine", - "address": "Newcastle upon Tyne, NE2 4HH", - "country": "UK", - "corresponding_contributor": true, - "project_role": { - "text": "principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-3927-2084" - }, - { - "name": "Marion,F,Shadbolt", - "email": "mshadbolt@ebi.ac.uk", - "institution": "EMBL-EBI", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SA", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - }, - "orcid_id": "0000-0001-7505-5418" - }, - { - "name": "Nancy,George", - "institution": "EMBL-EBI", - "laboratory": "ArrayExpress", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SA", - "country": "UK", - "corresponding_contributor": false, - "project_role": { - "text": "ArrayExpress Data curator", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - } - ], - "publications": [ - { - "authors": [ - "Popescu D-M", - "Botting RA", - "Stephenson E", - "Green K", - "Jardine L", - "Calderbank EF", - "Efremova M", - "Acres M", - "Maunder D", - "Vegh P", - "Goh I", - "Gitton Y", - "Park J", - "Polanski K", - "Vento-Tormo R", - "Miao Z", - "Rowell R", - "McDonald D", - "Fletcher J", - "Dixon D", - "Poyner E", - "Reynolds G", - "Mather M", - "Moldovan C", - "Mamanova L", - "Greig F", - "Young M", - "Meyer K", - "Lisgo S", - "Bacardit J", - "Fuller A", - "Millar B", - "Innes B", - "Lindsay S", - "Stubbington MJT", - "Kowalczyk MS", - "Li B", - "Ashenbrg O", - "Tabaka M", - "Dionne D", - "Tickle TL", - "Slyper M", - "Rozenblatt-Rosen O", - "Filby A", - "Villani A-C", - "Roy A", - "Regev A", - "Chedotal A", - "Roberts I", - "G\u00f6ttgens B", - "Laurenti E", - "Behjati S", - "Teichmann SA", - "Haniffa M" - ], - "title": "Decoding human fetal liver haematopoiesis", - "doi": "10.1038/s41586-019-1652-y", - "pmid": 31597962, - "url": "https://www.nature.com/articles/s41586-019-1652-y" - } - ], - "funders": [ - { - "grant_title": "Wellcome Strategic Support Science Award", - "grant_id": "WT211276/Z/18/Z", - "organization": "Wellcome Trust" - }, - { - "grant_id": "WT206194", - "organization": "Wellcome Trust" - }, - { - "grant_id": "WT110104/Z/15/Z", - "organization": "Wellcome Trust" - }, - { - "grant_id": "MR/R006237/1", - "organization": "MRC/Wellcome Trust" - } - ], - "provenance": { - "document_id": "f2fe82f0-4454-4d84-b416-a885f3121e59", - "submission_date": "2020-08-13T09:49:57.572Z", - "update_date": "2020-08-13T10:24:43.988Z", - "schema_major_version": 14, - "schema_minor_version": 1 - } - }, - "analysis_process/0233488f-2a92-4e5c-a7c5-3508b39762aa": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_dd60a727-5108-474a-ace9-9ece332cfbe1']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_47bbd010-565c-401a-bba2-50b5938ba62a']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_9fc63729-e1a6-4f29-9ce5-d7e4c04b97b9']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "0ceed66e-513f-450f-89e9-3206f4485cdf" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "0233488f-2a92-4e5c-a7c5-3508b39762aa" - }, - "provenance": { - "document_id": "0233488f-2a92-4e5c-a7c5-3508b39762aa", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T05:04:57.935Z", - "stop_time": "2021-02-09T05:51:11.508Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T03:48:42.664Z", - "stop_time": "2021-02-09T05:20:41.500Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 9 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T01:18:25.395Z", - "stop_time": "2021-02-09T03:44:35.505Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-08T22:45:55.215Z", - "stop_time": "2021-02-09T01:18:23.508Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:52:12.886Z", - "stop_time": "2021-02-09T03:58:38.472Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 605 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:12:28.751Z", - "stop_time": "2021-02-08T21:14:58.024Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T01:18:25.395Z", - "stop_time": "2021-02-09T03:48:41.482Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:16:04.734Z", - "stop_time": "2021-02-09T07:21:38.469Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:04:04.564Z", - "stop_time": "2021-02-09T07:09:05.469Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:13:22.554Z", - "stop_time": "2021-02-09T07:44:26.469Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T06:56:05.164Z", - "stop_time": "2021-02-09T08:53:53.469Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:12:28.752Z", - "stop_time": "2021-02-08T21:15:01.824Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T07:44:28.363Z", - "stop_time": "2021-02-09T08:15:50.467Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:18:25.395Z", - "stop_time": "2021-02-09T03:52:11.496Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:18:25.395Z", - "stop_time": "2021-02-09T03:48:17.541Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T22:34:28.997Z", - "stop_time": "2021-02-08T22:45:53.487Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:09:06.494Z", - "stop_time": "2021-02-09T07:22:50.470Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:15:01.766Z", - "stop_time": "2021-02-08T22:06:44.520Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T22:06:46.284Z", - "stop_time": "2021-02-08T22:34:26.480Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0233488f-2a92-4e5c-a7c5-3508b39762aa/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:12:28.751Z", - "stop_time": "2021-02-08T21:14:59.781Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:12:25.667Z", - "timestamp_stop_utc": "2021-02-09T08:53:55.314Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_0f524dab-036c-4113-98e2-c5b32076fa04']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_8c824321-6022-4a04-b4fe-14c3b341d581']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_a82c287c-42e3-4e70-80c1-f9c7dcea74e9']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "a9c40eb8-24b6-4436-a3d3-e8035e84f6ae" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "09f063d9-7bc8-4567-bc27-fa1e7c87fa4d" - }, - "provenance": { - "document_id": "09f063d9-7bc8-4567-bc27-fa1e7c87fa4d", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T06:57:30.440Z", - "stop_time": "2021-02-09T07:28:23.312Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T06:55:40.279Z", - "stop_time": "2021-02-09T07:23:23.312Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 9 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:28:22.150Z", - "stop_time": "2021-02-09T06:57:29.312Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T05:48:06.790Z", - "stop_time": "2021-02-09T06:28:20.321Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:55:45.380Z", - "stop_time": "2021-02-09T07:15:35.316Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 606 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.431Z", - "stop_time": "2021-02-08T21:11:28.976Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:28:22.149Z", - "stop_time": "2021-02-09T06:55:38.317Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:17:17.020Z", - "stop_time": "2021-02-09T08:22:59.307Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T08:01:40.601Z", - "stop_time": "2021-02-09T08:06:20.307Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:09:55.369Z", - "stop_time": "2021-02-09T08:35:38.306Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:53:10.619Z", - "stop_time": "2021-02-09T09:42:44.307Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.432Z", - "stop_time": "2021-02-08T21:11:31.552Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:35:39.629Z", - "stop_time": "2021-02-09T09:01:05.306Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:28:22.149Z", - "stop_time": "2021-02-09T06:55:44.312Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:28:22.149Z", - "stop_time": "2021-02-09T06:54:44.312Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:46:47.208Z", - "stop_time": "2021-02-09T05:48:05.698Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T08:06:22.120Z", - "stop_time": "2021-02-09T08:17:44.307Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:32.638Z", - "stop_time": "2021-02-09T00:51:20.333Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T00:51:21.819Z", - "stop_time": "2021-02-09T02:05:42.307Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/09f063d9-7bc8-4567-bc27-fa1e7c87fa4d/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.409Z", - "stop_time": "2021-02-08T21:11:38.623Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.162Z", - "timestamp_stop_utc": "2021-02-09T09:42:45.779Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/0c75f376-4092-403f-8b91-dbb19b4fdf94": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_7174b07a-bbc1-4796-9071-a52800c2db12']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_746bffff-170c-441b-a24f-08b86f5a5d20']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_38ef4491-9ec7-4149-8a67-70cf17488149']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "232174af-3ebf-4b3b-97fd-35547950c4c8" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "0c75f376-4092-403f-8b91-dbb19b4fdf94" - }, - "provenance": { - "document_id": "0c75f376-4092-403f-8b91-dbb19b4fdf94", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T05:25:21.736Z", - "stop_time": "2021-02-09T05:44:41.483Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T05:25:21.736Z", - "stop_time": "2021-02-09T05:39:35.485Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:13:34.326Z", - "stop_time": "2021-02-09T05:25:20.482Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T04:06:42.566Z", - "stop_time": "2021-02-09T05:13:32.478Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:24:39.805Z", - "stop_time": "2021-02-09T05:30:50.477Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 728 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:12:28.751Z", - "stop_time": "2021-02-08T21:14:57.904Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:13:34.326Z", - "stop_time": "2021-02-09T05:25:20.482Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:04:58.636Z", - "stop_time": "2021-02-09T07:10:32.471Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:47:08.457Z", - "stop_time": "2021-02-09T06:53:47.470Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:57:05.346Z", - "stop_time": "2021-02-09T07:52:50.469Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T06:38:32.256Z", - "stop_time": "2021-02-09T09:59:35.469Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:12:28.752Z", - "stop_time": "2021-02-08T21:15:06.886Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T07:52:52.146Z", - "stop_time": "2021-02-09T08:05:25.465Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:13:34.326Z", - "stop_time": "2021-02-09T05:24:38.479Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:13:34.326Z", - "stop_time": "2021-02-09T05:23:44.494Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:55:08.515Z", - "stop_time": "2021-02-09T04:06:41.497Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:53:49.397Z", - "stop_time": "2021-02-09T07:07:11.470Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 71 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-09T01:27:18.652Z", - "stop_time": "2021-02-09T03:45:47.527Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:45:49.297Z", - "stop_time": "2021-02-09T03:55:05.480Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/0c75f376-4092-403f-8b91-dbb19b4fdf94/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:12:28.751Z", - "stop_time": "2021-02-08T21:15:03.842Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:12:25.668Z", - "timestamp_stop_utc": "2021-02-09T09:59:36.787Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/16c04a1a-6c78-4755-ada4-36025cd69ce9": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_caf3e975-1520-4e33-a51e-341c55f39119']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_0cc171de-21c6-4fd9-b396-8d4a5c697058']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_d9985d54-10aa-44d9-b67a-7a11b9c33ed4']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "b7914794-f8a7-4fba-bb5b-10536eac7d8b" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "16c04a1a-6c78-4755-ada4-36025cd69ce9" - }, - "provenance": { - "document_id": "16c04a1a-6c78-4755-ada4-36025cd69ce9", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T07:30:36.938Z", - "stop_time": "2021-02-09T07:48:29.307Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T07:28:24.340Z", - "stop_time": "2021-02-09T07:45:38.308Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 9 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T07:01:09.469Z", - "stop_time": "2021-02-09T07:30:35.313Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 57 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:26:21.998Z", - "stop_time": "2021-02-09T07:01:08.318Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:26:06.508Z", - "stop_time": "2021-02-09T07:34:53.308Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 605 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.441Z", - "stop_time": "2021-02-08T21:11:27.630Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T07:01:09.469Z", - "stop_time": "2021-02-09T07:28:23.313Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:06:17.019Z", - "stop_time": "2021-02-09T08:12:05.309Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:45:40.829Z", - "stop_time": "2021-02-09T07:51:59.310Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:59:16.789Z", - "stop_time": "2021-02-09T08:27:23.309Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:38:10.990Z", - "stop_time": "2021-02-09T09:43:50.308Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.442Z", - "stop_time": "2021-02-08T21:11:35.566Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:27:24.940Z", - "stop_time": "2021-02-09T08:54:20.304Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:01:09.469Z", - "stop_time": "2021-02-09T07:26:05.309Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:01:09.469Z", - "stop_time": "2021-02-09T07:27:14.313Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:54:40.460Z", - "stop_time": "2021-02-09T06:26:20.321Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:52:01.269Z", - "stop_time": "2021-02-09T08:05:14.308Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:31.607Z", - "stop_time": "2021-02-09T05:13:50.317Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:13:52.220Z", - "stop_time": "2021-02-09T05:54:38.320Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/16c04a1a-6c78-4755-ada4-36025cd69ce9/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.406Z", - "stop_time": "2021-02-08T21:11:28.902Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.162Z", - "timestamp_stop_utc": "2021-02-09T09:43:51.889Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/198dff35-0fb9-4edc-bf0c-e973ac7eba59": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_4b87ddb9-714f-4f20-9291-e47651e163a9']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_b56c571e-d974-47a7-941b-b44a53124dc2']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_e369361e-e2de-45e6-829b-47068daee3d8']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "42b114bb-27ee-4415-b046-7ee5581adc27" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "198dff35-0fb9-4edc-bf0c-e973ac7eba59" - }, - "provenance": { - "document_id": "198dff35-0fb9-4edc-bf0c-e973ac7eba59", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T05:09:09.510Z", - "stop_time": "2021-02-09T06:01:53.324Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T05:08:55.229Z", - "stop_time": "2021-02-09T05:55:23.367Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 9 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T03:53:07.301Z", - "stop_time": "2021-02-09T05:09:08.358Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T00:33:30.360Z", - "stop_time": "2021-02-09T03:53:05.314Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:22:00.899Z", - "stop_time": "2021-02-09T05:54:50.317Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 607 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.418Z", - "stop_time": "2021-02-08T21:11:28.881Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T03:53:07.301Z", - "stop_time": "2021-02-09T05:08:53.333Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:46:10.409Z", - "stop_time": "2021-02-09T07:51:14.309Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:33:23.249Z", - "stop_time": "2021-02-09T07:38:08.315Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:40:37.890Z", - "stop_time": "2021-02-09T08:11:53.307Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:19:02.199Z", - "stop_time": "2021-02-09T09:19:20.305Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.418Z", - "stop_time": "2021-02-08T21:11:28.733Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:11:54.699Z", - "stop_time": "2021-02-09T08:37:59.307Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:53:07.301Z", - "stop_time": "2021-02-09T05:21:59.322Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:53:07.301Z", - "stop_time": "2021-02-09T05:04:14.321Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T23:23:52.789Z", - "stop_time": "2021-02-09T00:33:29.321Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:38:09.970Z", - "stop_time": "2021-02-09T07:49:50.308Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:32.604Z", - "stop_time": "2021-02-08T21:16:25.648Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:16:26.738Z", - "stop_time": "2021-02-08T23:23:50.322Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/198dff35-0fb9-4edc-bf0c-e973ac7eba59/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.404Z", - "stop_time": "2021-02-08T21:11:26.601Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.160Z", - "timestamp_stop_utc": "2021-02-09T09:19:22.078Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/1a84035c-6716-40ce-844c-617eeaefb14d": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_78ce92be-f82c-41dd-827c-d5cef8a348f4']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_fb89d42e-84a2-4771-addf-036e22b5d411']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_5a7db901-5469-46df-98ee-c18c5f699b38']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "22ccc95d-d789-4398-a790-83f86bb420d8" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "1a84035c-6716-40ce-844c-617eeaefb14d" - }, - "provenance": { - "document_id": "1a84035c-6716-40ce-844c-617eeaefb14d", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T07:10:46.150Z", - "stop_time": "2021-02-09T07:35:53.321Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T07:10:46.150Z", - "stop_time": "2021-02-09T07:34:38.316Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:43:06.859Z", - "stop_time": "2021-02-09T07:10:44.313Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:05:30.959Z", - "stop_time": "2021-02-09T06:43:05.314Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:08:00.869Z", - "stop_time": "2021-02-09T07:23:59.315Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 606 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.438Z", - "stop_time": "2021-02-08T21:11:37.671Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:43:06.859Z", - "stop_time": "2021-02-09T07:10:44.313Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:49:01.760Z", - "stop_time": "2021-02-09T07:54:14.312Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:30:25.779Z", - "stop_time": "2021-02-09T07:35:53.321Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:44:23.310Z", - "stop_time": "2021-02-09T08:13:08.305Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:33:23.259Z", - "stop_time": "2021-02-09T09:24:50.305Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.438Z", - "stop_time": "2021-02-08T21:11:32.712Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:13:10.180Z", - "stop_time": "2021-02-09T08:47:44.306Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:43:06.859Z", - "stop_time": "2021-02-09T07:07:59.316Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:43:06.859Z", - "stop_time": "2021-02-09T07:07:53.318Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:31:22.569Z", - "stop_time": "2021-02-09T06:05:29.323Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:35:55.330Z", - "stop_time": "2021-02-09T07:50:23.310Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:41.064Z", - "stop_time": "2021-02-09T03:12:23.333Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:12:24.679Z", - "stop_time": "2021-02-09T05:31:20.334Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1a84035c-6716-40ce-844c-617eeaefb14d/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.405Z", - "stop_time": "2021-02-08T21:11:24.653Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.166Z", - "timestamp_stop_utc": "2021-02-09T09:24:51.538Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_3cbbd837-be9e-4771-8778-845c99a8893c']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_4aad1dbc-3fef-4541-90f5-daab4de02fcc']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_dce50f55-e2ed-4c97-b36b-da609486752f']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "3381994d-5624-4f5f-a574-01ad099c448c" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8" - }, - "provenance": { - "document_id": "1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T05:38:39.460Z", - "stop_time": "2021-02-09T06:18:20.317Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T05:45:01.149Z", - "stop_time": "2021-02-09T06:20:38.315Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T03:51:30.740Z", - "stop_time": "2021-02-09T05:38:38.337Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T00:56:15.470Z", - "stop_time": "2021-02-09T03:51:29.324Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:35:30.659Z", - "stop_time": "2021-02-09T06:03:35.341Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 607 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.420Z", - "stop_time": "2021-02-08T21:11:42.621Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T03:51:30.739Z", - "stop_time": "2021-02-09T05:44:59.327Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:43:17.010Z", - "stop_time": "2021-02-09T07:48:38.311Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:33:40.589Z", - "stop_time": "2021-02-09T07:38:38.311Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:41:22.770Z", - "stop_time": "2021-02-09T08:06:35.310Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:15:41.269Z", - "stop_time": "2021-02-09T09:06:08.306Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.421Z", - "stop_time": "2021-02-08T21:11:24.797Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:06:36.389Z", - "stop_time": "2021-02-09T08:30:08.309Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:51:30.740Z", - "stop_time": "2021-02-09T05:35:29.324Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:51:30.740Z", - "stop_time": "2021-02-09T05:35:08.334Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T23:34:08.300Z", - "stop_time": "2021-02-09T00:56:14.330Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:38:39.550Z", - "stop_time": "2021-02-09T07:49:35.306Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:46.115Z", - "stop_time": "2021-02-08T21:53:23.325Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:53:25.289Z", - "stop_time": "2021-02-08T23:34:05.326Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.404Z", - "stop_time": "2021-02-08T21:11:48.591Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.161Z", - "timestamp_stop_utc": "2021-02-09T09:06:09.558Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/2096cc65-c180-45f2-93b7-fcc5c21db3a1": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_fc7ae751-2405-4c9c-8a49-777eb1f6f1d4']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_5c55c350-77b6-47ad-8c63-a54acae633cc']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_ca3e64ab-a7cb-4575-8440-849f9b2fc6eb']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "37925a3b-3bce-4876-bb29-745922b2c972" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "2096cc65-c180-45f2-93b7-fcc5c21db3a1" - }, - "provenance": { - "document_id": "2096cc65-c180-45f2-93b7-fcc5c21db3a1", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T06:04:24.659Z", - "stop_time": "2021-02-09T06:44:08.322Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T06:01:54.549Z", - "stop_time": "2021-02-09T06:34:35.317Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:24:51.960Z", - "stop_time": "2021-02-09T06:04:23.315Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T03:52:15.650Z", - "stop_time": "2021-02-09T05:24:50.333Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:01:51.490Z", - "stop_time": "2021-02-09T06:26:44.313Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 590 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.434Z", - "stop_time": "2021-02-08T21:11:30.545Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:24:51.959Z", - "stop_time": "2021-02-09T06:01:53.325Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:11:47.349Z", - "stop_time": "2021-02-09T07:24:59.314Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:11:55.508Z", - "stop_time": "2021-02-09T07:25:29.313Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:31:07.602Z", - "stop_time": "2021-02-09T07:56:29.310Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T06:36:41.149Z", - "stop_time": "2021-02-09T08:23:38.306Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.434Z", - "stop_time": "2021-02-08T21:11:30.690Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T07:56:30.539Z", - "stop_time": "2021-02-09T08:25:59.308Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:24:51.959Z", - "stop_time": "2021-02-09T06:01:50.324Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:24:51.960Z", - "stop_time": "2021-02-09T05:59:23.330Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T00:57:11.020Z", - "stop_time": "2021-02-09T03:52:14.324Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:25:30.990Z", - "stop_time": "2021-02-09T07:36:12.306Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:33.616Z", - "stop_time": "2021-02-08T23:17:50.324Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T23:17:51.581Z", - "stop_time": "2021-02-09T00:57:08.331Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/2096cc65-c180-45f2-93b7-fcc5c21db3a1/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.403Z", - "stop_time": "2021-02-08T21:11:28.116Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.160Z", - "timestamp_stop_utc": "2021-02-09T08:26:01.299Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/20eaba77-49c4-4d9e-9e82-fb6351a9012a": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_0cfdf6c3-e7ba-48d7-af09-829958a14a07']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_af4015fa-9116-4187-808a-584145b2f571']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_3c6fddd8-d7d5-4b6a-96ec-7ff0884bc7fa']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "1d732738-9b3b-4393-920a-a3dd2ff6f7e1" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "20eaba77-49c4-4d9e-9e82-fb6351a9012a" - }, - "provenance": { - "document_id": "20eaba77-49c4-4d9e-9e82-fb6351a9012a", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T06:22:23.537Z", - "stop_time": "2021-02-09T06:42:10.256Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T06:23:48.227Z", - "stop_time": "2021-02-09T06:38:34.264Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 9 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:05:35.675Z", - "stop_time": "2021-02-09T06:22:22.258Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 57 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T05:45:42.075Z", - "stop_time": "2021-02-09T06:05:34.262Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:19:02.505Z", - "stop_time": "2021-02-09T06:26:49.273Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 606 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:21.883Z", - "stop_time": "2021-02-08T21:13:28.563Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:05:35.675Z", - "stop_time": "2021-02-09T06:23:46.283Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:42:13.006Z", - "stop_time": "2021-02-09T06:47:19.256Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:26:51.856Z", - "stop_time": "2021-02-09T06:32:16.272Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:38:36.765Z", - "stop_time": "2021-02-09T07:05:19.248Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T06:19:18.882Z", - "stop_time": "2021-02-09T08:10:16.250Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:21.883Z", - "stop_time": "2021-02-08T21:13:22.543Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T07:05:20.495Z", - "stop_time": "2021-02-09T07:29:34.252Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:05:35.675Z", - "stop_time": "2021-02-09T06:19:01.268Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:05:35.675Z", - "stop_time": "2021-02-09T06:19:16.279Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:33:57.485Z", - "stop_time": "2021-02-09T05:45:40.262Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:32:17.308Z", - "stop_time": "2021-02-09T06:42:19.254Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T19:06:12.755Z", - "stop_time": "2021-02-09T02:43:22.275Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:43:24.306Z", - "stop_time": "2021-02-09T05:33:55.253Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/20eaba77-49c4-4d9e-9e82-fb6351a9012a/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:21.883Z", - "stop_time": "2021-02-08T17:21:23.962Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:18.774Z", - "timestamp_stop_utc": "2021-02-09T08:10:17.385Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/21581af6-c4c4-4268-9d63-cf5a3a7f5058": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_7e29e017-abc0-418b-a687-6f045dbb771a']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_cf1332d5-400f-4a8e-b180-a95a6deffb8d']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_da792aa3-34c0-4be2-bb8c-ea92ab43bc19']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "27e030cc-b89e-41fc-b0c8-c3258a4b2c6e" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "21581af6-c4c4-4268-9d63-cf5a3a7f5058" - }, - "provenance": { - "document_id": "21581af6-c4c4-4268-9d63-cf5a3a7f5058", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T07:04:55.102Z", - "stop_time": "2021-02-09T07:27:59.311Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T07:04:36.745Z", - "stop_time": "2021-02-09T07:26:20.313Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:43:00.992Z", - "stop_time": "2021-02-09T07:04:53.316Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 53 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:17:36.512Z", - "stop_time": "2021-02-09T06:42:59.310Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 14 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:05:36.932Z", - "stop_time": "2021-02-09T07:20:44.321Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 727 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.427Z", - "stop_time": "2021-02-08T21:11:26.628Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:43:00.992Z", - "stop_time": "2021-02-09T07:04:35.321Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:14:10.363Z", - "stop_time": "2021-02-09T08:20:20.306Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:56:46.892Z", - "stop_time": "2021-02-09T08:03:35.309Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:10:55.552Z", - "stop_time": "2021-02-09T09:01:23.312Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:42:10.723Z", - "stop_time": "2021-02-09T10:43:50.308Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.427Z", - "stop_time": "2021-02-08T21:11:28.935Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T09:01:25.043Z", - "stop_time": "2021-02-09T09:14:14.306Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 203 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:43:00.992Z", - "stop_time": "2021-02-09T07:05:35.319Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 203 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:43:00.992Z", - "stop_time": "2021-02-09T07:04:38.315Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:50:16.851Z", - "stop_time": "2021-02-09T06:17:35.319Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T08:03:36.922Z", - "stop_time": "2021-02-09T08:12:05.308Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 71 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:30.731Z", - "stop_time": "2021-02-09T05:12:23.328Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 23 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:12:24.512Z", - "stop_time": "2021-02-09T05:50:14.330Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/21581af6-c4c4-4268-9d63-cf5a3a7f5058/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.404Z", - "stop_time": "2021-02-08T21:11:40.125Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.160Z", - "timestamp_stop_utc": "2021-02-09T10:43:51.581Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/223980cd-b247-415a-bb6d-41ed360837f2": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_aa0d9a26-ec62-433f-8c07-543ae8188389']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_a266d3e1-1dce-4606-be5d-b74e93c91783']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_54858ab1-fe9e-4891-97dd-bf5ada0b5bb6']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "10a02923-b945-43fe-97db-c984e06dc5a7" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "223980cd-b247-415a-bb6d-41ed360837f2" - }, - "provenance": { - "document_id": "223980cd-b247-415a-bb6d-41ed360837f2", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T02:06:09.574Z", - "stop_time": "2021-02-09T02:29:14.510Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T01:59:33.865Z", - "stop_time": "2021-02-09T03:31:05.487Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 10 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T01:12:00.603Z", - "stop_time": "2021-02-09T02:06:08.490Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 57 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T00:54:37.504Z", - "stop_time": "2021-02-09T01:11:59.491Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:24:16.057Z", - "stop_time": "2021-02-09T01:31:26.475Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 590 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:12:28.751Z", - "stop_time": "2021-02-08T21:15:03.784Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T01:12:00.603Z", - "stop_time": "2021-02-09T01:59:32.474Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:00:49.804Z", - "stop_time": "2021-02-09T07:05:50.470Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:46:31.734Z", - "stop_time": "2021-02-09T06:51:41.470Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:59:32.283Z", - "stop_time": "2021-02-09T07:25:50.480Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T06:38:23.074Z", - "stop_time": "2021-02-09T08:10:41.467Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:12:28.752Z", - "stop_time": "2021-02-08T21:15:05.882Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T07:25:52.263Z", - "stop_time": "2021-02-09T07:44:47.471Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:12:00.603Z", - "stop_time": "2021-02-09T01:24:14.507Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:12:00.603Z", - "stop_time": "2021-02-09T01:25:21.491Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 210 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T00:42:33.353Z", - "stop_time": "2021-02-09T00:54:35.488Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:51:42.914Z", - "stop_time": "2021-02-09T07:03:50.469Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:15:06.865Z", - "stop_time": "2021-02-09T00:32:05.482Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T00:32:07.134Z", - "stop_time": "2021-02-09T00:42:30.481Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/223980cd-b247-415a-bb6d-41ed360837f2/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:12:28.751Z", - "stop_time": "2021-02-08T21:15:05.785Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:12:25.667Z", - "timestamp_stop_utc": "2021-02-09T08:10:43.263Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/3650db01-27bd-4371-a431-71d28620a40a": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_37204ac6-191f-47ba-b3c7-3d927d9e522b']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_829acc9e-2f00-47be-85d5-8ba042c5455d']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_6e189345-cf7d-4dc2-b967-bce909a60daf']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "b1883730-3304-48c1-904b-eb90ab226168" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "3650db01-27bd-4371-a431-71d28620a40a" - }, - "provenance": { - "document_id": "3650db01-27bd-4371-a431-71d28620a40a", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T06:50:48.235Z", - "stop_time": "2021-02-09T07:10:01.256Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T06:50:05.395Z", - "stop_time": "2021-02-09T07:03:25.251Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:35:11.736Z", - "stop_time": "2021-02-09T06:50:46.250Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:21:35.629Z", - "stop_time": "2021-02-09T06:35:10.269Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:47:32.375Z", - "stop_time": "2021-02-09T06:54:49.253Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 604 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T17:21:06.277Z", - "stop_time": "2021-02-08T19:17:38.382Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:35:11.736Z", - "stop_time": "2021-02-09T06:50:04.252Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:34:34.195Z", - "stop_time": "2021-02-09T07:39:19.251Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:10:42.946Z", - "stop_time": "2021-02-09T07:15:40.252Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:28:03.546Z", - "stop_time": "2021-02-09T07:57:04.249Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:04:19.295Z", - "stop_time": "2021-02-09T08:44:55.249Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T17:21:06.277Z", - "stop_time": "2021-02-08T21:21:54.502Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T07:57:05.855Z", - "stop_time": "2021-02-09T08:19:31.251Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:35:11.736Z", - "stop_time": "2021-02-09T06:47:31.257Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:35:11.736Z", - "stop_time": "2021-02-09T06:45:52.254Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:10:48.585Z", - "stop_time": "2021-02-09T06:21:34.267Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:15:41.865Z", - "stop_time": "2021-02-09T07:28:16.251Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T19:17:41.604Z", - "stop_time": "2021-02-09T05:58:25.273Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:58:27.096Z", - "stop_time": "2021-02-09T06:10:46.271Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/3650db01-27bd-4371-a431-71d28620a40a/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T17:21:06.277Z", - "stop_time": "2021-02-08T17:21:14.389Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:12:19.623Z", - "timestamp_stop_utc": "2021-02-09T08:44:56.305Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/39c38ab6-dd8a-4098-87a8-8a861d55b7fb": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_0ceddb9b-834e-4554-b0d4-e932e1083857']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_ddaea5ad-452a-4979-bb95-1c10e052b24e']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_3c41f6db-d0c3-43da-b76f-9b0a0335db81']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "536ba4f7-6694-4a31-8df1-0e6668ed10da" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "39c38ab6-dd8a-4098-87a8-8a861d55b7fb" - }, - "provenance": { - "document_id": "39c38ab6-dd8a-4098-87a8-8a861d55b7fb", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T07:12:16.089Z", - "stop_time": "2021-02-09T07:37:35.310Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T07:10:15.690Z", - "stop_time": "2021-02-09T07:35:23.315Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 9 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:42:39.979Z", - "stop_time": "2021-02-09T07:12:14.316Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 57 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:05:39.989Z", - "stop_time": "2021-02-09T06:42:38.313Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:09:01.239Z", - "stop_time": "2021-02-09T07:24:20.316Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 597 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.443Z", - "stop_time": "2021-02-08T21:11:29.825Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:42:39.979Z", - "stop_time": "2021-02-09T07:10:14.311Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:49:46.640Z", - "stop_time": "2021-02-09T07:55:29.321Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:24:22.480Z", - "stop_time": "2021-02-09T07:32:20.308Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:35:25.651Z", - "stop_time": "2021-02-09T08:03:44.310Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:09:47.139Z", - "stop_time": "2021-02-09T09:14:29.308Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.444Z", - "stop_time": "2021-02-08T21:11:30.662Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:03:46.059Z", - "stop_time": "2021-02-09T08:30:14.309Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:42:39.979Z", - "stop_time": "2021-02-09T07:08:59.313Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:42:39.979Z", - "stop_time": "2021-02-09T07:09:44.316Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:30:46.869Z", - "stop_time": "2021-02-09T06:05:38.324Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:32:22.050Z", - "stop_time": "2021-02-09T07:43:44.311Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:33.662Z", - "stop_time": "2021-02-09T02:33:53.348Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:33:54.520Z", - "stop_time": "2021-02-09T05:30:44.334Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/39c38ab6-dd8a-4098-87a8-8a861d55b7fb/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.404Z", - "stop_time": "2021-02-08T21:11:25.620Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.161Z", - "timestamp_stop_utc": "2021-02-09T09:14:30.429Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/46dc43b4-19e7-475f-a015-157436454de4": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [], - "process_core": { - "process_id": "46dc43b4-19e7-475f-a015-157436454de4" - }, - "provenance": { - "document_id": "46dc43b4-19e7-475f-a015-157436454de4", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [], - "schema_type": "process", - "tasks": [], - "timestamp_start_utc": "2021-02-16T04:18:18.000000Z", - "timestamp_stop_utc": "2021-02-16T04:18:18.000000Z", - "type": { - "text": "analysis; merge matrices" - } - }, - "analysis_process/4ae55a6b-6e40-4300-b2a7-7e8c72c285de": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_dabab5b8-d7bb-41c1-8b6f-a31edd0d97bb']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_a8b799b5-daf4-44ae-87f6-fdd330abd6f8']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_dd63ed96-5924-4c85-87f1-e91532c0d28a']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "e23d96b7-a271-403e-a29e-b2bdb1949070" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "4ae55a6b-6e40-4300-b2a7-7e8c72c285de" - }, - "provenance": { - "document_id": "4ae55a6b-6e40-4300-b2a7-7e8c72c285de", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-08T22:08:31.335Z", - "stop_time": "2021-02-08T22:58:02.498Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-08T22:08:45.614Z", - "stop_time": "2021-02-09T00:23:35.485Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-08T21:55:28.473Z", - "stop_time": "2021-02-08T22:08:29.489Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-08T21:40:25.527Z", - "stop_time": "2021-02-08T21:55:26.482Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T22:07:31.154Z", - "stop_time": "2021-02-08T22:46:38.516Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 613 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:12:28.751Z", - "stop_time": "2021-02-08T21:15:00.805Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-08T21:55:28.473Z", - "stop_time": "2021-02-08T22:08:44.491Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:30:04.554Z", - "stop_time": "2021-02-09T06:34:47.472Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:07:19.676Z", - "stop_time": "2021-02-09T06:11:44.474Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:34:53.224Z", - "stop_time": "2021-02-09T07:03:29.468Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T05:59:17.305Z", - "stop_time": "2021-02-09T07:43:02.470Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:12:28.752Z", - "stop_time": "2021-02-08T21:15:00.876Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T07:03:31.004Z", - "stop_time": "2021-02-09T07:22:02.475Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:55:28.473Z", - "stop_time": "2021-02-08T22:07:29.484Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:55:28.473Z", - "stop_time": "2021-02-08T22:05:29.489Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:29:16.915Z", - "stop_time": "2021-02-08T21:40:23.494Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:11:46.045Z", - "stop_time": "2021-02-09T06:21:11.519Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:15:04.826Z", - "stop_time": "2021-02-08T21:17:53.476Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:17:54.614Z", - "stop_time": "2021-02-08T21:29:14.477Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4ae55a6b-6e40-4300-b2a7-7e8c72c285de/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:12:28.751Z", - "stop_time": "2021-02-08T21:14:59.833Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:12:25.709Z", - "timestamp_stop_utc": "2021-02-09T07:43:03.628Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/4c1d363b-0560-49f2-addd-aaa879db3d30": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_4cccdd0c-adeb-4d23-8abb-cb9f91f9d4fc']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_a03cb9df-dc59-4a0b-b44c-82d774fca5a3']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_9d24fef4-d7ac-42bd-8754-376642d97679']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "cfa1e5da-607e-49b6-aa0d-8f43702b971f" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "4c1d363b-0560-49f2-addd-aaa879db3d30" - }, - "provenance": { - "document_id": "4c1d363b-0560-49f2-addd-aaa879db3d30", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T03:31:55.336Z", - "stop_time": "2021-02-09T05:16:38.320Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T03:32:51.631Z", - "stop_time": "2021-02-09T05:52:59.336Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T01:59:36.502Z", - "stop_time": "2021-02-09T03:31:53.333Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T00:51:09.582Z", - "stop_time": "2021-02-09T01:59:35.323Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:44:46.202Z", - "stop_time": "2021-02-09T04:41:35.332Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 709 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.432Z", - "stop_time": "2021-02-08T21:11:25.646Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T01:59:36.502Z", - "stop_time": "2021-02-09T03:32:50.367Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:58:31.913Z", - "stop_time": "2021-02-09T08:03:53.307Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:28:11.152Z", - "stop_time": "2021-02-09T07:35:23.315Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:49:17.063Z", - "stop_time": "2021-02-09T08:32:35.304Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:12:40.572Z", - "stop_time": "2021-02-09T10:03:38.307Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.448Z", - "stop_time": "2021-02-08T21:11:28.947Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:32:37.052Z", - "stop_time": "2021-02-09T08:44:50.311Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:59:36.502Z", - "stop_time": "2021-02-09T03:44:44.344Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:59:36.502Z", - "stop_time": "2021-02-09T03:43:35.348Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T23:32:22.692Z", - "stop_time": "2021-02-09T00:51:08.318Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:35:24.661Z", - "stop_time": "2021-02-09T07:41:08.307Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:29.726Z", - "stop_time": "2021-02-08T21:59:38.325Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:59:39.581Z", - "stop_time": "2021-02-08T23:32:20.316Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/4c1d363b-0560-49f2-addd-aaa879db3d30/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.406Z", - "stop_time": "2021-02-08T21:11:49.539Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.161Z", - "timestamp_stop_utc": "2021-02-09T10:03:40.170Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/58d03b27-9049-444e-a337-3491a5d715e1": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_6e664e9a-7344-4809-a48d-4aff34415976']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_7a17314a-d973-4b75-a978-8935b3a71e01']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_b99bed54-1eda-46d1-9cef-bf42af726cdd']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "62a131e1-c415-460e-bc5b-75cca5d3323b" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "58d03b27-9049-444e-a337-3491a5d715e1" - }, - "provenance": { - "document_id": "58d03b27-9049-444e-a337-3491a5d715e1", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T02:24:37.164Z", - "stop_time": "2021-02-09T03:59:05.322Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T03:47:52.070Z", - "stop_time": "2021-02-09T05:26:14.328Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 9 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T01:07:10.361Z", - "stop_time": "2021-02-09T02:24:35.331Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-08T23:40:36.889Z", - "stop_time": "2021-02-09T01:07:08.327Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:17:55.071Z", - "stop_time": "2021-02-09T03:42:08.333Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 607 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.445Z", - "stop_time": "2021-02-08T21:11:25.553Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T01:07:10.361Z", - "stop_time": "2021-02-09T02:18:22.314Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:35:22.589Z", - "stop_time": "2021-02-09T07:39:59.315Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:26:32.189Z", - "stop_time": "2021-02-09T07:33:59.317Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:45:56.120Z", - "stop_time": "2021-02-09T08:09:29.310Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:09:11.249Z", - "stop_time": "2021-02-09T09:11:59.306Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.445Z", - "stop_time": "2021-02-08T21:11:30.628Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:09:30.889Z", - "stop_time": "2021-02-09T08:30:08.309Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:07:10.361Z", - "stop_time": "2021-02-09T02:17:53.334Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:07:10.361Z", - "stop_time": "2021-02-09T02:18:35.331Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T22:12:01.379Z", - "stop_time": "2021-02-08T23:40:35.334Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:34:00.989Z", - "stop_time": "2021-02-09T07:46:50.313Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:29.657Z", - "stop_time": "2021-02-08T21:13:50.553Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:13:51.990Z", - "stop_time": "2021-02-08T22:11:59.321Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/58d03b27-9049-444e-a337-3491a5d715e1/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.403Z", - "stop_time": "2021-02-08T21:11:47.724Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.166Z", - "timestamp_stop_utc": "2021-02-09T09:12:00.459Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/725cbe75-92a1-46dc-862a-1b9d012e0fc1": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_01b73e38-a2b2-4ec6-b4a0-831e1258c3ea']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_0e8d3673-5109-41ee-9092-8b79baa6d3b1']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_94f359a4-7b77-4eb1-b94a-703a35644886']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "ded9b30e-12df-4998-846a-7cef685e4bd6" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "725cbe75-92a1-46dc-862a-1b9d012e0fc1" - }, - "provenance": { - "document_id": "725cbe75-92a1-46dc-862a-1b9d012e0fc1", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T06:03:42.339Z", - "stop_time": "2021-02-09T06:38:44.321Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T06:04:09.879Z", - "stop_time": "2021-02-09T06:35:59.314Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 9 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:07:45.960Z", - "stop_time": "2021-02-09T06:03:41.308Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T03:07:52.348Z", - "stop_time": "2021-02-09T05:07:44.313Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:03:00.519Z", - "stop_time": "2021-02-09T06:28:50.314Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 603 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.441Z", - "stop_time": "2021-02-08T21:11:29.566Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:07:45.959Z", - "stop_time": "2021-02-09T06:04:08.338Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:04:47.260Z", - "stop_time": "2021-02-09T08:10:38.307Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:49:52.760Z", - "stop_time": "2021-02-09T07:54:38.309Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:01:01.841Z", - "stop_time": "2021-02-09T08:26:50.306Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:41:25.829Z", - "stop_time": "2021-02-09T09:51:08.309Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.441Z", - "stop_time": "2021-02-08T21:11:31.651Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:26:52.299Z", - "stop_time": "2021-02-09T08:59:53.307Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:07:45.959Z", - "stop_time": "2021-02-09T06:02:59.325Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:07:45.959Z", - "stop_time": "2021-02-09T05:51:20.329Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:46:37.889Z", - "stop_time": "2021-02-09T03:07:50.336Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:54:39.370Z", - "stop_time": "2021-02-09T08:07:44.306Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:14:26.671Z", - "stop_time": "2021-02-09T00:44:50.342Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T00:44:52.001Z", - "stop_time": "2021-02-09T01:46:35.318Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/725cbe75-92a1-46dc-862a-1b9d012e0fc1/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.403Z", - "stop_time": "2021-02-08T21:11:28.080Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.167Z", - "timestamp_stop_utc": "2021-02-09T09:51:09.469Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/82c03181-f541-4770-8bad-5fb68bf221b2": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_73a0e7a2-e7a5-43c7-8439-e6d2f3d3fd24']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_0f549aae-515b-4504-9e85-07269eb59db0']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_5e2dbfa6-a1fd-42de-9b00-184e6ba13c28']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "e7b60260-7ae4-4d5a-b1a4-51622467e4b3" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "82c03181-f541-4770-8bad-5fb68bf221b2" - }, - "provenance": { - "document_id": "82c03181-f541-4770-8bad-5fb68bf221b2", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T07:15:21.900Z", - "stop_time": "2021-02-09T07:38:20.325Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T07:13:52.141Z", - "stop_time": "2021-02-09T07:34:29.313Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:47:30.660Z", - "stop_time": "2021-02-09T07:15:20.324Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:11:06.840Z", - "stop_time": "2021-02-09T06:47:29.311Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:12:54.850Z", - "stop_time": "2021-02-09T07:26:44.315Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 606 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.418Z", - "stop_time": "2021-02-08T21:11:27.571Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:47:30.659Z", - "stop_time": "2021-02-09T07:13:50.315Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:01:23.269Z", - "stop_time": "2021-02-09T08:06:20.307Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:41:22.779Z", - "stop_time": "2021-02-09T07:47:05.314Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:11:16.970Z", - "stop_time": "2021-02-09T08:43:05.307Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:34:56.080Z", - "stop_time": "2021-02-09T09:24:08.308Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.418Z", - "stop_time": "2021-02-08T21:11:25.684Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:43:06.369Z", - "stop_time": "2021-02-09T09:10:50.307Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:47:30.660Z", - "stop_time": "2021-02-09T07:12:53.315Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:47:30.660Z", - "stop_time": "2021-02-09T07:11:44.316Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:38:56.359Z", - "stop_time": "2021-02-09T06:11:05.319Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:47:06.509Z", - "stop_time": "2021-02-09T07:59:53.305Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:31.599Z", - "stop_time": "2021-02-09T04:41:05.333Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T04:41:06.823Z", - "stop_time": "2021-02-09T05:38:53.321Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/82c03181-f541-4770-8bad-5fb68bf221b2/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.405Z", - "stop_time": "2021-02-08T21:11:41.660Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.167Z", - "timestamp_stop_utc": "2021-02-09T09:24:09.629Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_64f727fd-cd90-415b-a166-ca45e660f835']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_cf3b69db-ca26-4a67-9cea-a818ade04fb0']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_db65b244-3d7f-4823-a8a8-0bf86f213220']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "951a8ffc-69c5-4f7c-8ee8-39b76171f630" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "98f74c7b-abd8-4adc-b68f-f68aa5d3e58c" - }, - "provenance": { - "document_id": "98f74c7b-abd8-4adc-b68f-f68aa5d3e58c", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T05:52:31.132Z", - "stop_time": "2021-02-09T06:26:08.314Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T05:51:37.070Z", - "stop_time": "2021-02-09T06:24:38.318Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:05:51.639Z", - "stop_time": "2021-02-09T05:52:29.328Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T03:19:55.321Z", - "stop_time": "2021-02-09T05:05:50.322Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:48:36.369Z", - "stop_time": "2021-02-09T06:13:29.312Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 597 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.433Z", - "stop_time": "2021-02-08T21:11:29.732Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:05:51.639Z", - "stop_time": "2021-02-09T05:51:35.326Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:39:31.590Z", - "stop_time": "2021-02-09T07:45:14.314Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:27:32.319Z", - "stop_time": "2021-02-09T07:32:05.310Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:38:46.690Z", - "stop_time": "2021-02-09T08:07:05.305Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:13:25.439Z", - "stop_time": "2021-02-09T09:12:38.304Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.433Z", - "stop_time": "2021-02-08T21:11:30.719Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:07:07.089Z", - "stop_time": "2021-02-09T08:32:38.309Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:05:51.639Z", - "stop_time": "2021-02-09T05:48:35.330Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:05:51.639Z", - "stop_time": "2021-02-09T05:49:59.327Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:52:46.950Z", - "stop_time": "2021-02-09T03:19:53.328Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:32:06.699Z", - "stop_time": "2021-02-09T07:46:14.306Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:33.638Z", - "stop_time": "2021-02-08T23:26:23.325Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T23:26:24.399Z", - "stop_time": "2021-02-09T01:52:44.330Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/98f74c7b-abd8-4adc-b68f-f68aa5d3e58c/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.403Z", - "stop_time": "2021-02-08T21:11:26.566Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.166Z", - "timestamp_stop_utc": "2021-02-09T09:12:40.199Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/997fecc1-cc72-4357-9a33-8aa2be30d96b": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_0249fe64-269e-4d89-bd0b-5cf2661cbf26']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_d38a6174-35b4-404d-9677-a70df7bd32e7']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_a3f5fc1c-3faa-44cb-ad4e-e81065a44933']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "9bb08d39-3957-4ff7-a20d-cc45a1cb38ab" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "997fecc1-cc72-4357-9a33-8aa2be30d96b" - }, - "provenance": { - "document_id": "997fecc1-cc72-4357-9a33-8aa2be30d96b", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T07:10:15.513Z", - "stop_time": "2021-02-09T07:46:05.308Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T07:11:24.912Z", - "stop_time": "2021-02-09T07:40:20.314Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 9 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:42:51.812Z", - "stop_time": "2021-02-09T07:10:14.311Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 57 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:08:00.904Z", - "stop_time": "2021-02-09T06:42:50.315Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:08:10.052Z", - "stop_time": "2021-02-09T07:23:59.316Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 703 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.419Z", - "stop_time": "2021-02-08T21:11:26.669Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:42:51.811Z", - "stop_time": "2021-02-09T07:11:23.315Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:03:22.672Z", - "stop_time": "2021-02-09T08:09:20.308Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:35:22.623Z", - "stop_time": "2021-02-09T07:41:59.314Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:04:07.552Z", - "stop_time": "2021-02-09T08:12:57.302Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:28:23.372Z", - "stop_time": "2021-02-09T10:43:38.305Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.423Z", - "stop_time": "2021-02-08T21:11:45.597Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:59:52.222Z", - "stop_time": "2021-02-09T09:22:14.307Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:42:51.812Z", - "stop_time": "2021-02-09T07:08:08.316Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:42:51.812Z", - "stop_time": "2021-02-09T07:09:50.312Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:34:26.162Z", - "stop_time": "2021-02-09T06:07:59.331Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:42:00.523Z", - "stop_time": "2021-02-09T07:52:53.309Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:30.662Z", - "stop_time": "2021-02-09T04:24:53.334Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T04:24:54.573Z", - "stop_time": "2021-02-09T05:34:23.325Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/997fecc1-cc72-4357-9a33-8aa2be30d96b/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.404Z", - "stop_time": "2021-02-08T21:11:25.702Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.167Z", - "timestamp_stop_utc": "2021-02-09T10:43:39.521Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/a87c5838-140e-40f4-97b0-591aecbe1b3c": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_feb6d95f-25c7-4a13-8d75-64f64a2e1bea']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_1e7a9b1e-2060-4450-8253-c4e895faef79']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_c0503610-8f0c-45e0-a05c-b93152341c8d']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "3f20a83f-f01c-41f2-acaf-3c111dfa5465" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "a87c5838-140e-40f4-97b0-591aecbe1b3c" - }, - "provenance": { - "document_id": "a87c5838-140e-40f4-97b0-591aecbe1b3c", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T06:39:06.799Z", - "stop_time": "2021-02-09T07:09:05.317Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T06:43:21.799Z", - "stop_time": "2021-02-09T07:09:44.316Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:08:06.869Z", - "stop_time": "2021-02-09T06:39:05.314Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T05:31:21.538Z", - "stop_time": "2021-02-09T06:08:05.337Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:39:31.279Z", - "stop_time": "2021-02-09T06:58:29.313Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 610 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.429Z", - "stop_time": "2021-02-08T21:11:40.533Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:08:06.869Z", - "stop_time": "2021-02-09T06:43:20.317Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:03:40.969Z", - "stop_time": "2021-02-09T08:07:53.310Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:49:01.759Z", - "stop_time": "2021-02-09T07:54:29.314Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:58:41.091Z", - "stop_time": "2021-02-09T08:26:05.305Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:41:07.470Z", - "stop_time": "2021-02-09T09:39:53.309Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.430Z", - "stop_time": "2021-02-08T21:11:28.960Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:26:06.389Z", - "stop_time": "2021-02-09T08:42:59.307Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:08:06.869Z", - "stop_time": "2021-02-09T06:39:29.314Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:08:06.869Z", - "stop_time": "2021-02-09T06:37:44.312Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:57:02.011Z", - "stop_time": "2021-02-09T05:31:20.335Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:54:31.209Z", - "stop_time": "2021-02-09T08:03:14.305Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:26:23.715Z", - "stop_time": "2021-02-09T00:09:35.313Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T00:09:36.910Z", - "stop_time": "2021-02-09T03:56:59.322Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/a87c5838-140e-40f4-97b0-591aecbe1b3c/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.403Z", - "stop_time": "2021-02-08T21:11:43.607Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.160Z", - "timestamp_stop_utc": "2021-02-09T09:39:55.259Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/b486e644-c56d-4209-b7c7-e56c527306b2": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_509c3002-913e-4403-af5c-e9fdd912b383']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_0104fe7e-f505-4268-95e2-9b170c80b700']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_94040803-02b3-44a5-9a8a-0f068639032a']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "b49fb5d4-6f31-4b7d-827e-bc09ed30a167" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "b486e644-c56d-4209-b7c7-e56c527306b2" - }, - "provenance": { - "document_id": "b486e644-c56d-4209-b7c7-e56c527306b2", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T05:56:52.230Z", - "stop_time": "2021-02-09T06:33:44.309Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T05:57:06.510Z", - "stop_time": "2021-02-09T06:32:44.312Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 9 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:11:39.489Z", - "stop_time": "2021-02-09T05:56:50.329Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T03:19:01.119Z", - "stop_time": "2021-02-09T05:11:38.334Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:56:07.350Z", - "stop_time": "2021-02-09T06:21:59.310Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 600 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.418Z", - "stop_time": "2021-02-08T21:11:25.666Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:11:39.489Z", - "stop_time": "2021-02-09T05:57:05.343Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:50:46.821Z", - "stop_time": "2021-02-09T07:55:29.321Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:32:07.719Z", - "stop_time": "2021-02-09T07:37:08.308Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:42:01.530Z", - "stop_time": "2021-02-09T08:06:35.310Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:24:31.639Z", - "stop_time": "2021-02-09T09:09:59.309Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.418Z", - "stop_time": "2021-02-08T21:11:44.575Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:06:36.399Z", - "stop_time": "2021-02-09T08:32:53.310Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:11:39.489Z", - "stop_time": "2021-02-09T05:56:05.320Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:11:39.489Z", - "stop_time": "2021-02-09T05:53:05.326Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:51:55.990Z", - "stop_time": "2021-02-09T03:18:59.334Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:37:09.789Z", - "stop_time": "2021-02-09T07:48:05.307Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:29.636Z", - "stop_time": "2021-02-09T00:50:59.317Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T00:51:00.399Z", - "stop_time": "2021-02-09T01:51:53.323Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b486e644-c56d-4209-b7c7-e56c527306b2/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.405Z", - "stop_time": "2021-02-08T21:11:24.614Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.166Z", - "timestamp_stop_utc": "2021-02-09T09:10:01.019Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/b9b49dd4-471a-4364-bc72-acaa1bcb633d": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_c3cd00b7-9c8b-4cbb-adb4-4755d4271d5c']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_3b387d39-9f87-42c6-82d9-142abb485122']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_a903180c-2c06-4056-9f39-56992dba8c71']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "f26c4715-5488-4d7f-ae0e-1c965128fbb1" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "b9b49dd4-471a-4364-bc72-acaa1bcb633d" - }, - "provenance": { - "document_id": "b9b49dd4-471a-4364-bc72-acaa1bcb633d", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T06:52:06.559Z", - "stop_time": "2021-02-09T07:21:35.318Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T06:48:39.499Z", - "stop_time": "2021-02-09T07:16:44.315Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:21:45.359Z", - "stop_time": "2021-02-09T06:52:05.312Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T05:44:31.050Z", - "stop_time": "2021-02-09T06:21:44.313Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:47:21.950Z", - "stop_time": "2021-02-09T07:06:44.318Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 602 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.420Z", - "stop_time": "2021-02-08T21:11:25.573Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:21:45.359Z", - "stop_time": "2021-02-09T06:48:38.314Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:48:16.889Z", - "stop_time": "2021-02-09T07:53:44.308Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:33:07.949Z", - "stop_time": "2021-02-09T07:38:59.307Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:44:26.370Z", - "stop_time": "2021-02-09T08:11:23.311Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:22:32.329Z", - "stop_time": "2021-02-09T09:15:14.308Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.420Z", - "stop_time": "2021-02-08T21:11:27.999Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:11:25.129Z", - "stop_time": "2021-02-09T08:44:38.304Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:21:45.359Z", - "stop_time": "2021-02-09T06:47:20.312Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:21:45.359Z", - "stop_time": "2021-02-09T06:47:08.312Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T04:49:47.129Z", - "stop_time": "2021-02-09T05:44:29.323Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:39:00.970Z", - "stop_time": "2021-02-09T07:53:14.308Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:29.654Z", - "stop_time": "2021-02-09T03:48:05.320Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:48:06.799Z", - "stop_time": "2021-02-09T04:49:44.316Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/b9b49dd4-471a-4364-bc72-acaa1bcb633d/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.405Z", - "stop_time": "2021-02-08T21:11:37.798Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.166Z", - "timestamp_stop_utc": "2021-02-09T09:15:16.258Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/bc6bf485-351c-47c7-9837-d564bd32699b": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_a6f3589a-6f4d-4cb7-a702-ea7b196d2c12']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_bd4156db-bab0-4f0c-8134-d8c55b18af26']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_c2fdcc28-3eba-40f7-aa9b-41a7f2630879']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "a0e661e2-dac9-4004-9605-8307c15f831d" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "bc6bf485-351c-47c7-9837-d564bd32699b" - }, - "provenance": { - "document_id": "bc6bf485-351c-47c7-9837-d564bd32699b", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T03:50:40.241Z", - "stop_time": "2021-02-09T05:00:29.324Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T05:37:40.300Z", - "stop_time": "2021-02-09T06:13:08.328Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T02:06:06.479Z", - "stop_time": "2021-02-09T03:50:38.324Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T01:03:06.481Z", - "stop_time": "2021-02-09T02:06:05.341Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:47:21.979Z", - "stop_time": "2021-02-09T04:59:59.315Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 608 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.423Z", - "stop_time": "2021-02-08T21:11:25.600Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T02:06:06.479Z", - "stop_time": "2021-02-09T03:45:07.309Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:34:31.590Z", - "stop_time": "2021-02-09T07:40:05.314Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:24:56.140Z", - "stop_time": "2021-02-09T07:30:59.319Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:34:37.710Z", - "stop_time": "2021-02-09T08:02:20.312Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:07:55.770Z", - "stop_time": "2021-02-09T09:04:50.314Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.423Z", - "stop_time": "2021-02-08T21:11:32.565Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:02:21.409Z", - "stop_time": "2021-02-09T08:25:08.308Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:06:06.479Z", - "stop_time": "2021-02-09T03:47:20.331Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:06:06.479Z", - "stop_time": "2021-02-09T03:45:35.346Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T23:45:56.179Z", - "stop_time": "2021-02-09T01:03:05.342Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:31:00.460Z", - "stop_time": "2021-02-09T07:44:14.315Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:29.649Z", - "stop_time": "2021-02-08T22:40:08.322Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T22:40:10.259Z", - "stop_time": "2021-02-08T23:45:53.319Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bc6bf485-351c-47c7-9837-d564bd32699b/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.403Z", - "stop_time": "2021-02-08T21:11:27.593Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.161Z", - "timestamp_stop_utc": "2021-02-09T09:04:52.050Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/bcee0e35-49c4-4af1-b202-eaf4df226025": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_2215e846-b67d-4be6-8c8f-7625cda8eb47']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_49f21b80-1466-4160-beec-8a93868c391d']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_40689d99-e0e4-4637-ab3d-29ac7cf29496']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "73bd1209-cfb5-420f-bd97-574ed9c7cd0e" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "bcee0e35-49c4-4af1-b202-eaf4df226025" - }, - "provenance": { - "document_id": "bcee0e35-49c4-4af1-b202-eaf4df226025", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T03:52:32.464Z", - "stop_time": "2021-02-09T04:51:16.268Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T03:49:17.594Z", - "stop_time": "2021-02-09T04:36:04.264Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-08T21:42:15.174Z", - "stop_time": "2021-02-09T03:52:31.273Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-08T21:39:51.876Z", - "stop_time": "2021-02-08T21:42:13.260Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:56:47.755Z", - "stop_time": "2021-02-08T22:22:16.267Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 604 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T17:21:06.277Z", - "stop_time": "2021-02-08T19:05:41.377Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-08T21:42:15.174Z", - "stop_time": "2021-02-09T03:49:16.265Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:15:34.296Z", - "stop_time": "2021-02-09T06:20:55.271Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:12:27.506Z", - "stop_time": "2021-02-09T06:17:31.271Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:16:58.115Z", - "stop_time": "2021-02-09T06:44:19.253Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T05:51:22.318Z", - "stop_time": "2021-02-09T07:47:31.251Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T17:21:06.277Z", - "stop_time": "2021-02-08T21:22:05.506Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T06:44:20.495Z", - "stop_time": "2021-02-09T06:59:16.258Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:42:15.174Z", - "stop_time": "2021-02-08T21:56:46.260Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:42:15.174Z", - "stop_time": "2021-02-08T21:55:31.254Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:37:01.035Z", - "stop_time": "2021-02-08T21:39:50.532Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:17:32.795Z", - "stop_time": "2021-02-09T06:26:25.264Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:22:13.983Z", - "stop_time": "2021-02-08T21:30:02.566Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:30:03.805Z", - "stop_time": "2021-02-08T21:36:58.523Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/bcee0e35-49c4-4af1-b202-eaf4df226025/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T17:21:06.277Z", - "stop_time": "2021-02-08T17:21:14.389Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:12:19.626Z", - "timestamp_stop_utc": "2021-02-09T07:47:32.625Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/c1ab22ca-2289-4384-82be-a3f16bdf113d": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_ae699a07-7b00-4967-b977-d86479e58249']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_6e602e50-2565-4f5a-bee6-72888fc6ef14']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_ed96c39c-ac5b-4265-854b-2773795406ac']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "be7a2637-26cf-48ba-bfc5-52fa945d2d88" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "c1ab22ca-2289-4384-82be-a3f16bdf113d" - }, - "provenance": { - "document_id": "c1ab22ca-2289-4384-82be-a3f16bdf113d", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T06:36:30.741Z", - "stop_time": "2021-02-09T07:08:29.312Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T06:32:51.441Z", - "stop_time": "2021-02-09T07:02:05.314Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 9 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:58:00.720Z", - "stop_time": "2021-02-09T06:36:29.316Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 57 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T05:07:36.700Z", - "stop_time": "2021-02-09T05:57:59.327Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:30:01.090Z", - "stop_time": "2021-02-09T06:51:29.310Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 612 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.443Z", - "stop_time": "2021-02-08T21:11:34.596Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:58:00.719Z", - "stop_time": "2021-02-09T06:32:50.314Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:52:10.450Z", - "stop_time": "2021-02-09T07:57:20.306Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:38:37.511Z", - "stop_time": "2021-02-09T07:43:29.309Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:49:26.239Z", - "stop_time": "2021-02-09T08:19:14.307Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:25:02.261Z", - "stop_time": "2021-02-09T09:26:20.307Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.443Z", - "stop_time": "2021-02-08T21:11:38.568Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:19:15.339Z", - "stop_time": "2021-02-09T08:42:44.306Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:58:00.719Z", - "stop_time": "2021-02-09T06:29:59.318Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:58:00.719Z", - "stop_time": "2021-02-09T06:30:38.314Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 210 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:42:52.910Z", - "stop_time": "2021-02-09T05:07:35.322Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:43:31.290Z", - "stop_time": "2021-02-09T07:54:29.315Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:37.707Z", - "stop_time": "2021-02-08T21:17:29.357Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:17:31.374Z", - "stop_time": "2021-02-09T00:09:47.304Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c1ab22ca-2289-4384-82be-a3f16bdf113d/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.404Z", - "stop_time": "2021-02-08T21:11:47.542Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.166Z", - "timestamp_stop_utc": "2021-02-09T09:26:22.248Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/c6ca5e48-0be8-4b66-ac11-6e25511afe2a": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_ecc695f2-0073-416d-80bc-47fe35daac7a']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_1fb40c9b-a3df-46e4-972a-9571f2e6208f']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_c7ccdc71-8c41-4cbb-956b-e22b73a4a940']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "c301901f-95cd-4a3e-a4df-761fa21e92af" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "c6ca5e48-0be8-4b66-ac11-6e25511afe2a" - }, - "provenance": { - "document_id": "c6ca5e48-0be8-4b66-ac11-6e25511afe2a", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T06:09:15.411Z", - "stop_time": "2021-02-09T06:46:53.309Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T06:06:06.500Z", - "stop_time": "2021-02-09T06:40:08.316Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:31:36.823Z", - "stop_time": "2021-02-09T06:09:14.323Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T03:45:37.010Z", - "stop_time": "2021-02-09T05:31:35.322Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:08:55.011Z", - "stop_time": "2021-02-09T06:33:14.314Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 597 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.449Z", - "stop_time": "2021-02-08T21:11:35.636Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:31:36.823Z", - "stop_time": "2021-02-09T06:06:05.327Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:37:07.749Z", - "stop_time": "2021-02-09T07:41:59.314Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:19:22.610Z", - "stop_time": "2021-02-09T07:29:08.311Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:30:38.020Z", - "stop_time": "2021-02-09T07:55:53.313Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:01:55.639Z", - "stop_time": "2021-02-09T08:57:05.308Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.450Z", - "stop_time": "2021-02-08T21:11:36.565Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T07:55:54.840Z", - "stop_time": "2021-02-09T08:17:29.307Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:31:36.823Z", - "stop_time": "2021-02-09T06:08:53.354Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:31:36.823Z", - "stop_time": "2021-02-09T06:06:05.327Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:02:38.970Z", - "stop_time": "2021-02-09T03:45:35.346Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:29:10.279Z", - "stop_time": "2021-02-09T07:38:08.315Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:38.786Z", - "stop_time": "2021-02-09T01:03:14.331Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:03:15.690Z", - "stop_time": "2021-02-09T02:02:36.333Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/c6ca5e48-0be8-4b66-ac11-6e25511afe2a/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.404Z", - "stop_time": "2021-02-08T21:11:27.651Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.161Z", - "timestamp_stop_utc": "2021-02-09T08:57:06.839Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/cdba26d8-9b1d-471f-9a08-875a09cbb96b": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_6d847405-8bbc-4c2e-93c3-2b508497b077']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_1ed655b5-b090-42b6-8514-9137809b6165']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_e0d90078-678e-4942-9005-3f07e01f9487']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "2e7e4b93-2d6c-4359-804c-f8ca1e21c31c" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "cdba26d8-9b1d-471f-9a08-875a09cbb96b" - }, - "provenance": { - "document_id": "cdba26d8-9b1d-471f-9a08-875a09cbb96b", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T04:36:45.651Z", - "stop_time": "2021-02-09T05:42:35.322Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T05:06:31.121Z", - "stop_time": "2021-02-09T05:50:50.327Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T03:36:39.979Z", - "stop_time": "2021-02-09T04:36:44.316Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T02:06:31.218Z", - "stop_time": "2021-02-09T03:36:38.352Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:20:27.589Z", - "stop_time": "2021-02-09T05:53:14.345Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 606 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.421Z", - "stop_time": "2021-02-08T21:11:26.646Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T03:36:39.979Z", - "stop_time": "2021-02-09T05:06:29.324Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:52:25.749Z", - "stop_time": "2021-02-09T07:58:20.305Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:38:23.230Z", - "stop_time": "2021-02-09T07:42:59.310Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:47:10.579Z", - "stop_time": "2021-02-09T08:11:05.306Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:34:17.239Z", - "stop_time": "2021-02-09T09:34:23.309Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.421Z", - "stop_time": "2021-02-08T21:11:28.095Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:11:06.769Z", - "stop_time": "2021-02-09T08:35:35.305Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:36:39.979Z", - "stop_time": "2021-02-09T05:20:26.331Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:36:39.979Z", - "stop_time": "2021-02-09T05:26:23.336Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T22:37:07.990Z", - "stop_time": "2021-02-09T01:03:22.305Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:43:00.689Z", - "stop_time": "2021-02-09T07:51:59.310Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:30.644Z", - "stop_time": "2021-02-08T21:15:35.320Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:15:36.819Z", - "stop_time": "2021-02-08T22:37:05.323Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/cdba26d8-9b1d-471f-9a08-875a09cbb96b/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.405Z", - "stop_time": "2021-02-08T21:11:40.629Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.160Z", - "timestamp_stop_utc": "2021-02-09T09:34:24.779Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/d09272b0-2827-4b7b-9a8c-a63fec7376ca": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_ea444f79-25fb-4170-9889-b9ab96fe86b2']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_6b8ce79a-94dd-41c2-b096-1142145f1b14']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_c97495cc-41f5-4662-af51-77846111717a']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "2d0d630a-58dd-42f7-bd7e-579ebec98d48" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "d09272b0-2827-4b7b-9a8c-a63fec7376ca" - }, - "provenance": { - "document_id": "d09272b0-2827-4b7b-9a8c-a63fec7376ca", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T05:58:27.564Z", - "stop_time": "2021-02-09T06:15:32.490Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T05:56:22.103Z", - "stop_time": "2021-02-09T06:08:05.487Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:43:49.054Z", - "stop_time": "2021-02-09T05:58:26.510Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T05:31:21.995Z", - "stop_time": "2021-02-09T05:43:47.484Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:53:04.223Z", - "stop_time": "2021-02-09T05:57:50.483Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 603 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:12:28.751Z", - "stop_time": "2021-02-08T21:14:58.834Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:43:49.054Z", - "stop_time": "2021-02-09T05:56:20.477Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:48:22.913Z", - "stop_time": "2021-02-09T06:52:41.473Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:32:50.463Z", - "stop_time": "2021-02-09T06:37:26.472Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:41:59.314Z", - "stop_time": "2021-02-09T07:03:40.466Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T06:28:43.623Z", - "stop_time": "2021-02-09T08:14:35.469Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:12:28.752Z", - "stop_time": "2021-02-08T21:15:06.795Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T07:29:55.124Z", - "stop_time": "2021-02-09T07:54:02.476Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:43:49.054Z", - "stop_time": "2021-02-09T05:53:02.488Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:43:49.054Z", - "stop_time": "2021-02-09T05:53:44.479Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:19:59.055Z", - "stop_time": "2021-02-09T05:31:20.484Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:37:27.993Z", - "stop_time": "2021-02-09T06:51:47.470Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:15:02.786Z", - "stop_time": "2021-02-09T05:09:47.500Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:09:49.025Z", - "stop_time": "2021-02-09T05:19:56.485Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d09272b0-2827-4b7b-9a8c-a63fec7376ca/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:12:28.751Z", - "stop_time": "2021-02-08T21:15:04.889Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:12:25.668Z", - "timestamp_stop_utc": "2021-02-09T08:14:36.893Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/d2b4df36-221d-413d-8e9a-b233b72d3832": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_c23bd7fa-dd83-4b87-bf02-088f26b19201']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_fd6f1c2d-4e3f-4c7a-9c6d-51edce6ca2a1']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_692b6aec-9320-4e1d-bffb-6babf930040f']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "f4183399-0e70-466e-8915-8e4481f9b7d1" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "d2b4df36-221d-413d-8e9a-b233b72d3832" - }, - "provenance": { - "document_id": "d2b4df36-221d-413d-8e9a-b233b72d3832", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T06:09:50.296Z", - "stop_time": "2021-02-09T06:27:40.289Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T06:10:33.127Z", - "stop_time": "2021-02-09T06:24:31.261Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:56:12.005Z", - "stop_time": "2021-02-09T06:09:49.258Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T05:20:57.034Z", - "stop_time": "2021-02-09T05:56:10.269Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:11:02.696Z", - "stop_time": "2021-02-09T06:17:16.278Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 610 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T17:21:06.287Z", - "stop_time": "2021-02-08T19:23:50.380Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:56:12.005Z", - "stop_time": "2021-02-09T06:10:31.263Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:35:51.515Z", - "stop_time": "2021-02-09T06:40:55.258Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:19:51.508Z", - "stop_time": "2021-02-09T06:24:40.271Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:27:18.426Z", - "stop_time": "2021-02-09T06:53:34.251Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T06:12:27.505Z", - "stop_time": "2021-02-09T07:52:19.251Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T17:21:06.287Z", - "stop_time": "2021-02-08T17:21:20.381Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T06:53:35.516Z", - "stop_time": "2021-02-09T07:10:25.252Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:56:12.005Z", - "stop_time": "2021-02-09T06:11:01.267Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:56:12.005Z", - "stop_time": "2021-02-09T06:07:19.258Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:41:48.515Z", - "stop_time": "2021-02-09T05:20:55.271Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:24:42.378Z", - "stop_time": "2021-02-09T06:34:16.273Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T19:23:54.033Z", - "stop_time": "2021-02-09T02:07:31.260Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:07:32.914Z", - "stop_time": "2021-02-09T03:41:46.263Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d2b4df36-221d-413d-8e9a-b233b72d3832/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T17:21:06.287Z", - "stop_time": "2021-02-08T17:21:14.390Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:12:19.643Z", - "timestamp_stop_utc": "2021-02-09T07:52:21.285Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/d3c42b32-d484-458c-ad66-e7e9e7889ee9": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_058ef571-0842-4255-a4b2-290c6b20be84']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_64e4b5f0-ef82-4314-acc5-01a695238d31']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_f114568a-30a8-4041-9dfc-eace4ecfdcf0']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "5d687d7c-8d96-4203-ad8e-d0668828ad37" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "d3c42b32-d484-458c-ad66-e7e9e7889ee9" - }, - "provenance": { - "document_id": "d3c42b32-d484-458c-ad66-e7e9e7889ee9", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T04:29:33.267Z", - "stop_time": "2021-02-09T05:00:07.257Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T04:43:48.427Z", - "stop_time": "2021-02-09T05:39:46.262Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 9 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T04:08:53.796Z", - "stop_time": "2021-02-09T04:29:31.261Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T03:46:56.776Z", - "stop_time": "2021-02-09T04:08:52.256Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T04:27:05.325Z", - "stop_time": "2021-02-09T05:40:04.260Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 606 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:21.932Z", - "stop_time": "2021-02-08T19:07:20.969Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T04:08:53.796Z", - "stop_time": "2021-02-09T04:43:46.432Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:44:49.056Z", - "stop_time": "2021-02-09T06:49:34.253Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:28:27.747Z", - "stop_time": "2021-02-09T06:33:01.268Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:39:33.885Z", - "stop_time": "2021-02-09T07:07:52.250Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T06:16:51.956Z", - "stop_time": "2021-02-09T08:00:31.249Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:21.933Z", - "stop_time": "2021-02-08T17:21:20.995Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T07:07:53.625Z", - "stop_time": "2021-02-09T07:36:10.249Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T04:08:53.796Z", - "stop_time": "2021-02-09T04:27:04.281Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T04:08:53.796Z", - "stop_time": "2021-02-09T04:43:19.264Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:29:17.735Z", - "stop_time": "2021-02-09T03:46:55.260Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:33:03.207Z", - "stop_time": "2021-02-09T06:48:34.254Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T19:07:24.156Z", - "stop_time": "2021-02-09T00:24:37.262Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T00:24:38.484Z", - "stop_time": "2021-02-09T01:29:15.272Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/d3c42b32-d484-458c-ad66-e7e9e7889ee9/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:21.933Z", - "stop_time": "2021-02-08T21:13:36.534Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:18.774Z", - "timestamp_stop_utc": "2021-02-09T08:00:32.894Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/dab143f7-7a17-48ba-a7b9-60064444ada5": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_10dcc5ba-960c-4646-9247-c6937b4344cf']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_1195598d-6c77-4af6-a0fd-5fb5a1204dc0']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_0b075972-2ccb-450d-81d0-229543ea824f']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "7229676a-4449-4a2f-ac97-284eb599841c" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "dab143f7-7a17-48ba-a7b9-60064444ada5" - }, - "provenance": { - "document_id": "dab143f7-7a17-48ba-a7b9-60064444ada5", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T05:42:36.759Z", - "stop_time": "2021-02-09T06:20:14.315Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T05:37:55.250Z", - "stop_time": "2021-02-09T06:17:29.312Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T02:09:22.291Z", - "stop_time": "2021-02-09T05:42:35.322Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T01:02:21.591Z", - "stop_time": "2021-02-09T02:09:20.332Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:38:06.890Z", - "stop_time": "2021-02-09T04:31:14.335Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 605 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.418Z", - "stop_time": "2021-02-08T21:11:45.546Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T02:09:22.291Z", - "stop_time": "2021-02-09T05:37:53.328Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:06:37.419Z", - "stop_time": "2021-02-09T08:12:29.313Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:51:46.990Z", - "stop_time": "2021-02-09T07:56:23.306Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:03:47.079Z", - "stop_time": "2021-02-09T08:34:08.307Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:47:41.189Z", - "stop_time": "2021-02-09T09:34:50.306Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.419Z", - "stop_time": "2021-02-08T21:11:24.815Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:34:09.871Z", - "stop_time": "2021-02-09T09:05:29.305Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:09:22.291Z", - "stop_time": "2021-02-09T03:38:05.346Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:09:22.291Z", - "stop_time": "2021-02-09T03:37:44.342Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T23:46:37.871Z", - "stop_time": "2021-02-09T01:02:20.336Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:56:24.420Z", - "stop_time": "2021-02-09T08:09:44.309Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:49.194Z", - "stop_time": "2021-02-08T22:41:20.328Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T22:41:22.033Z", - "stop_time": "2021-02-08T23:46:35.330Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/dab143f7-7a17-48ba-a7b9-60064444ada5/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.403Z", - "stop_time": "2021-02-08T21:11:42.541Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.160Z", - "timestamp_stop_utc": "2021-02-09T09:34:52.318Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_9b5a2347-a15b-40a9-9321-f7dcdc30c17a']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_59075c99-0f72-4ffc-a598-5f1f7107c8fe']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_06f09e02-e0d9-43ce-80a3-8a572d61ec00']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "1d5a282b-b4b5-41dc-ab46-862476a87c18" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af" - }, - "provenance": { - "document_id": "e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T07:12:51.790Z", - "stop_time": "2021-02-09T07:36:59.311Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T07:09:52.229Z", - "stop_time": "2021-02-09T07:32:29.310Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:44:09.849Z", - "stop_time": "2021-02-09T07:12:50.315Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:14:06.339Z", - "stop_time": "2021-02-09T06:44:08.322Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:10:37.110Z", - "stop_time": "2021-02-09T07:25:08.311Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 609 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.421Z", - "stop_time": "2021-02-08T21:11:26.718Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:44:09.849Z", - "stop_time": "2021-02-09T07:09:50.311Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:55:07.929Z", - "stop_time": "2021-02-09T07:59:50.311Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:31:32.089Z", - "stop_time": "2021-02-09T07:37:23.310Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:42:01.530Z", - "stop_time": "2021-02-09T08:16:05.308Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:22:01.728Z", - "stop_time": "2021-02-09T09:06:50.308Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.422Z", - "stop_time": "2021-02-08T21:11:28.921Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:16:06.640Z", - "stop_time": "2021-02-09T08:36:38.307Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:44:09.849Z", - "stop_time": "2021-02-09T07:10:35.312Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:44:09.849Z", - "stop_time": "2021-02-09T07:07:23.314Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:44:01.989Z", - "stop_time": "2021-02-09T06:14:05.315Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:37:25.090Z", - "stop_time": "2021-02-09T07:47:44.307Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T23:17:57.071Z", - "stop_time": "2021-02-09T04:51:06.013Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T04:51:07.669Z", - "stop_time": "2021-02-09T05:43:59.324Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.404Z", - "stop_time": "2021-02-08T21:11:28.130Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.162Z", - "timestamp_stop_utc": "2021-02-09T09:06:51.419Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/e607b72f-3024-4d7e-8292-19d2d53a3a95": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_f400b4b8-1c0c-4071-87dc-739e412cf717']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_b7e94aa3-02f4-40d2-9f1b-43928c817ffb']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_053ddc57-64a6-4d71-9366-a398f6231137']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "7f0f3ad8-9052-4003-ac7d-4e2e509b85f5" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "e607b72f-3024-4d7e-8292-19d2d53a3a95" - }, - "provenance": { - "document_id": "e607b72f-3024-4d7e-8292-19d2d53a3a95", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T06:51:55.341Z", - "stop_time": "2021-02-09T07:21:59.316Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T06:50:21.499Z", - "stop_time": "2021-02-09T07:18:44.316Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:22:54.909Z", - "stop_time": "2021-02-09T06:51:53.322Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T05:43:31.189Z", - "stop_time": "2021-02-09T06:22:53.312Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:48:16.009Z", - "stop_time": "2021-02-09T07:08:53.309Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 608 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.423Z", - "stop_time": "2021-02-08T21:11:24.838Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:22:54.909Z", - "stop_time": "2021-02-09T06:50:20.319Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:52:47.170Z", - "stop_time": "2021-02-09T07:58:23.313Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:32:10.780Z", - "stop_time": "2021-02-09T07:38:44.315Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:46:37.940Z", - "stop_time": "2021-02-09T08:13:50.306Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:21:55.589Z", - "stop_time": "2021-02-09T09:22:23.308Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.424Z", - "stop_time": "2021-02-08T21:11:26.684Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:13:52.000Z", - "stop_time": "2021-02-09T08:46:14.309Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:22:54.909Z", - "stop_time": "2021-02-09T06:48:14.312Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:22:54.909Z", - "stop_time": "2021-02-09T06:50:38.319Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T04:51:38.269Z", - "stop_time": "2021-02-09T05:43:29.316Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:38:45.672Z", - "stop_time": "2021-02-09T07:50:20.306Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:28.646Z", - "stop_time": "2021-02-09T03:49:38.344Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:49:39.534Z", - "stop_time": "2021-02-09T04:51:35.343Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e607b72f-3024-4d7e-8292-19d2d53a3a95/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.411Z", - "stop_time": "2021-02-08T21:11:28.663Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.160Z", - "timestamp_stop_utc": "2021-02-09T09:22:24.688Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/e9de5082-46c8-4b26-83c0-7fd480dcb142": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_4d25fa13-4b11-4c21-957c-e4ba8b261610']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_072ef189-77d1-4fe3-8fec-7d31575d2a1a']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_68fa3fff-3e98-4d72-a60a-aec8bdb36396']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "08b799a0-59d8-4c69-87b3-fd239aef4197" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "e9de5082-46c8-4b26-83c0-7fd480dcb142" - }, - "provenance": { - "document_id": "e9de5082-46c8-4b26-83c0-7fd480dcb142", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T05:32:35.917Z", - "stop_time": "2021-02-09T05:48:55.260Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T05:27:48.048Z", - "stop_time": "2021-02-09T05:38:01.270Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 6 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:02:48.066Z", - "stop_time": "2021-02-09T05:32:34.262Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T03:55:26.988Z", - "stop_time": "2021-02-09T05:02:46.264Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 14 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:26:41.689Z", - "stop_time": "2021-02-09T05:31:25.270Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 693 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T17:21:06.287Z", - "stop_time": "2021-02-08T20:01:41.382Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:02:48.066Z", - "stop_time": "2021-02-09T05:27:46.263Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:32:57.298Z", - "stop_time": "2021-02-09T07:39:31.252Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:14:42.837Z", - "stop_time": "2021-02-09T07:22:07.250Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:27:27.848Z", - "stop_time": "2021-02-09T08:13:25.250Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:05:27.957Z", - "stop_time": "2021-02-09T10:25:34.248Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T17:21:06.287Z", - "stop_time": "2021-02-08T17:21:23.374Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:13:27.107Z", - "stop_time": "2021-02-09T08:41:04.251Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:02:48.066Z", - "stop_time": "2021-02-09T05:26:40.583Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:02:48.066Z", - "stop_time": "2021-02-09T05:26:10.268Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:45:34.036Z", - "stop_time": "2021-02-09T03:55:25.264Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:22:08.587Z", - "stop_time": "2021-02-09T07:36:46.250Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 71 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:22:25.190Z", - "stop_time": "2021-02-09T00:46:58.268Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 23 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T00:46:59.855Z", - "stop_time": "2021-02-09T01:45:31.273Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/e9de5082-46c8-4b26-83c0-7fd480dcb142/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T17:21:06.287Z", - "stop_time": "2021-02-08T17:21:14.390Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:12:19.623Z", - "timestamp_stop_utc": "2021-02-09T10:25:35.966Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/f1f25c56-1cd7-44e4-8e58-7adafd43529c": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_cb6827ec-6fdb-4f00-9f68-d8a7124a9c7b']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_fbd1ce3a-9b08-4858-9c48-df24261eceb6']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_445b501b-2630-485f-a38a-b0b1f2ab075c']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "7fa6adde-000d-4360-9f45-2b5da4721f70" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "f1f25c56-1cd7-44e4-8e58-7adafd43529c" - }, - "provenance": { - "document_id": "f1f25c56-1cd7-44e4-8e58-7adafd43529c", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 2 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T05:15:51.369Z", - "stop_time": "2021-02-09T05:58:50.326Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T03:57:24.450Z", - "stop_time": "2021-02-09T05:15:08.317Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 7 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T02:33:06.592Z", - "stop_time": "2021-02-09T05:15:50.332Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 55 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T01:18:54.403Z", - "stop_time": "2021-02-09T02:33:05.333Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:57:39.750Z", - "stop_time": "2021-02-09T05:27:14.332Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 604 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.419Z", - "stop_time": "2021-02-08T21:11:28.063Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T02:33:06.592Z", - "stop_time": "2021-02-09T03:57:23.327Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:11:07.789Z", - "stop_time": "2021-02-09T08:16:50.307Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:54:55.690Z", - "stop_time": "2021-02-09T07:59:38.306Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:01:26.329Z", - "stop_time": "2021-02-09T08:33:35.308Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:42:32.131Z", - "stop_time": "2021-02-09T09:44:44.307Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.425Z", - "stop_time": "2021-02-08T21:11:46.580Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:33:37.219Z", - "stop_time": "2021-02-09T08:59:35.308Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:33:06.592Z", - "stop_time": "2021-02-09T03:57:38.316Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 205 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:33:06.592Z", - "stop_time": "2021-02-09T03:57:53.324Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T00:13:38.319Z", - "stop_time": "2021-02-09T01:18:53.350Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:59:40.250Z", - "stop_time": "2021-02-09T08:10:05.306Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:31.596Z", - "stop_time": "2021-02-08T21:16:35.318Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 24 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:16:37.158Z", - "stop_time": "2021-02-09T00:13:35.312Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f1f25c56-1cd7-44e4-8e58-7adafd43529c/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.403Z", - "stop_time": "2021-02-08T21:11:26.549Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.161Z", - "timestamp_stop_utc": "2021-02-09T09:44:46.139Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/f3b53d83-7ee7-42db-b2d5-05a792204872": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_72e8ba6a-2658-4fc0-8c1c-d64c756659a4']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_c3b18ea4-a329-45a0-a8a4-458a22f496e8']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_1e6ca3ca-eca6-47c5-94dd-0250dc15d885']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "bc5ba4f6-a3f1-4156-830f-11228df251bc" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "f3b53d83-7ee7-42db-b2d5-05a792204872" - }, - "provenance": { - "document_id": "f3b53d83-7ee7-42db-b2d5-05a792204872", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T02:41:55.355Z", - "stop_time": "2021-02-09T02:58:20.490Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T02:37:40.367Z", - "stop_time": "2021-02-09T02:56:29.504Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T02:24:52.014Z", - "stop_time": "2021-02-09T02:41:53.484Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T02:06:31.364Z", - "stop_time": "2021-02-09T02:24:50.482Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:37:15.754Z", - "stop_time": "2021-02-09T02:44:20.489Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 607 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:12:28.751Z", - "stop_time": "2021-02-08T21:14:56.815Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T02:24:52.014Z", - "stop_time": "2021-02-09T02:37:38.525Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:23:44.094Z", - "stop_time": "2021-02-09T06:29:05.479Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:04:58.945Z", - "stop_time": "2021-02-09T06:10:17.482Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T06:16:49.975Z", - "stop_time": "2021-02-09T06:47:47.471Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T05:58:58.956Z", - "stop_time": "2021-02-09T07:57:59.469Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:12:28.752Z", - "stop_time": "2021-02-08T21:15:02.795Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T06:47:49.514Z", - "stop_time": "2021-02-09T07:15:53.468Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:24:52.014Z", - "stop_time": "2021-02-09T02:37:14.489Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:24:52.014Z", - "stop_time": "2021-02-09T02:36:14.517Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:53:43.993Z", - "stop_time": "2021-02-09T02:06:29.489Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:10:19.264Z", - "stop_time": "2021-02-09T06:21:47.491Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:15:00.746Z", - "stop_time": "2021-02-09T01:23:56.476Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T01:23:57.834Z", - "stop_time": "2021-02-09T01:53:41.475Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/f3b53d83-7ee7-42db-b2d5-05a792204872/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:12:28.751Z", - "stop_time": "2021-02-08T21:15:02.836Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:12:25.667Z", - "timestamp_stop_utc": "2021-02-09T07:58:01.394Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/fbbd6c03-df0d-44dd-b383-c1efb83abb2e": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_eadaa69d-0f6a-4c24-a21d-136da13c117e']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_2335283c-4206-44f5-9e4b-0d20fa2ae808']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_e79f0bde-37ec-425c-a804-8134646898e8']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "0dd65ce8-29ba-4341-9a93-eb2ca1f06c72" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "fbbd6c03-df0d-44dd-b383-c1efb83abb2e" - }, - "provenance": { - "document_id": "fbbd6c03-df0d-44dd-b383-c1efb83abb2e", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T07:22:54.760Z", - "stop_time": "2021-02-09T07:43:59.312Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T07:25:24.870Z", - "stop_time": "2021-02-09T07:38:44.315Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:57:54.919Z", - "stop_time": "2021-02-09T07:22:53.314Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T06:26:09.499Z", - "stop_time": "2021-02-09T06:57:53.319Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:20:37.069Z", - "stop_time": "2021-02-09T07:29:59.311Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 606 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.439Z", - "stop_time": "2021-02-08T21:11:25.752Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T06:57:54.919Z", - "stop_time": "2021-02-09T07:25:23.317Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:48:16.879Z", - "stop_time": "2021-02-09T07:54:08.307Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:36:41.229Z", - "stop_time": "2021-02-09T07:42:05.315Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:40:56.250Z", - "stop_time": "2021-02-09T08:08:35.310Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:20:31.969Z", - "stop_time": "2021-02-09T09:30:44.306Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.439Z", - "stop_time": "2021-02-08T21:11:29.791Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:08:36.840Z", - "stop_time": "2021-02-09T08:32:59.307Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:57:54.919Z", - "stop_time": "2021-02-09T07:20:35.309Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:57:54.919Z", - "stop_time": "2021-02-09T07:20:29.316Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 208 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:56:47.110Z", - "stop_time": "2021-02-09T06:26:08.314Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:42:06.630Z", - "stop_time": "2021-02-09T07:53:35.310Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:29.626Z", - "stop_time": "2021-02-09T05:15:08.317Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:15:09.549Z", - "stop_time": "2021-02-09T05:56:44.328Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fbbd6c03-df0d-44dd-b383-c1efb83abb2e/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.405Z", - "stop_time": "2021-02-08T21:11:26.586Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.160Z", - "timestamp_stop_utc": "2021-02-09T09:30:45.478Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/fd0cff96-93f2-4eb4-88f2-991f60542f46": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_9808343b-da84-432e-99dd-5d306cc70edf']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_6b9e121a-227e-4a04-9f50-d56cfddf5cb0']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_ab47b7b4-2df9-47b4-bbb4-57d69a382a87']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "bc583c0e-4336-43d4-a7da-dc7e1f72b50b" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "fd0cff96-93f2-4eb4-88f2-991f60542f46" - }, - "provenance": { - "document_id": "fd0cff96-93f2-4eb4-88f2-991f60542f46", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T06:05:09.539Z", - "stop_time": "2021-02-09T06:43:20.317Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T06:04:55.261Z", - "stop_time": "2021-02-09T06:38:29.315Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 8 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:27:40.061Z", - "stop_time": "2021-02-09T06:05:08.316Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 56 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T04:04:46.359Z", - "stop_time": "2021-02-09T05:27:38.314Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T06:02:45.551Z", - "stop_time": "2021-02-09T06:28:23.315Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 605 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.434Z", - "stop_time": "2021-02-08T21:11:26.700Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 4 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T05:27:40.060Z", - "stop_time": "2021-02-09T06:04:53.322Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T08:02:53.029Z", - "stop_time": "2021-02-09T08:07:38.305Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:45:08.179Z", - "stop_time": "2021-02-09T07:50:20.306Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:57:11.329Z", - "stop_time": "2021-02-09T08:23:38.306Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:37:16.930Z", - "stop_time": "2021-02-09T09:39:20.306Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.435Z", - "stop_time": "2021-02-08T21:11:29.837Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:23:39.509Z", - "stop_time": "2021-02-09T08:47:38.309Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:27:40.060Z", - "stop_time": "2021-02-09T06:02:44.327Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 206 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T05:27:40.061Z", - "stop_time": "2021-02-09T06:02:23.399Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T02:50:37.474Z", - "stop_time": "2021-02-09T04:04:44.343Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:50:22.341Z", - "stop_time": "2021-02-09T08:03:38.309Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:30.639Z", - "stop_time": "2021-02-08T21:55:53.320Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:55:55.380Z", - "stop_time": "2021-02-09T02:50:35.333Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fd0cff96-93f2-4eb4-88f2-991f60542f46/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.403Z", - "stop_time": "2021-02-08T21:11:36.651Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.167Z", - "timestamp_stop_utc": "2021-02-09T09:39:21.588Z", - "type": { - "text": "analysis" - } - }, - "analysis_process/fe261b23-efd5-445b-8dd4-46e47231ccff": { - "analysis_run_type": "run", - "describedBy": "https://schema.humancellatlas.org/type/process/analysis/12.0.0/analysis_process", - "inputs": [ - { - "parameter_name": "r1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_1cb76395-d184-489d-9bd7-d54f91757e23']" - }, - { - "parameter_name": "r2_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_b0801ff8-a5c5-4be3-92b9-f125bf3d15a7']" - }, - { - "parameter_name": "i1_fastq", - "parameter_value": "['drs://jade-terra.datarepo-prod.broadinstitute.org/v1_ec40aa9f-43aa-4839-98e3-6362c96a0bee_45726a28-f1c7-48a8-8805-f42cc0593188']" - }, - { - "parameter_name": "whitelist", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/whitelists/737K-august-2016.txt" - }, - { - "parameter_name": "input_id", - "parameter_value": "1248ead2-3dd4-43fe-9f7c-9609ed77d9c2" - }, - { - "parameter_name": "tar_star_reference", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/buildReference/output_bucket/star_primary_gencode_v27.tar" - }, - { - "parameter_name": "annotations_gtf", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/gencode.v27.primary_assembly.annotation.gtf.gz" - }, - { - "parameter_name": "ref_genome_fasta", - "parameter_value": "gs://hca-dcp-sc-pipelines-test-data/alignmentReferences/optimusGencodeV27/GRCh38.primary_assembly.genome.fa" - }, - { - "parameter_name": "chemistry", - "parameter_value": "tenX_v2" - } - ], - "process_core": { - "process_id": "fe261b23-efd5-445b-8dd4-46e47231ccff" - }, - "provenance": { - "document_id": "fe261b23-efd5-445b-8dd4-46e47231ccff", - "submission_date": "2021-02-09T01:30:00.000000Z" - }, - "reference_files": [ - "5b6ab42c-4e84-573d-a055-4af6ae6d4055" - ], - "schema_type": "process", - "tasks": [ - { - "cpus": 1, - "disk_size": "local-disk 3 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-CalculateCellMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-CalculateCellMetrics/shard-0/stdout", - "memory": "43.9453125 GB", - "start_time": "2021-02-09T05:05:30.960Z", - "stop_time": "2021-02-09T05:58:05.330Z", - "task_name": "CalculateCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-CalculateGeneMetrics/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-CalculateGeneMetrics/shard-0/stdout", - "memory": "29.296875 GB", - "start_time": "2021-02-09T04:59:00.769Z", - "stop_time": "2021-02-09T05:51:53.323Z", - "task_name": "CalculateGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 9 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-CellSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-CellSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T03:50:39.849Z", - "stop_time": "2021-02-09T05:05:29.323Z", - "task_name": "CellSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 57 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-umitools:0.0.1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-CorrectUMItools/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-CorrectUMItools/shard-0/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T01:06:10.288Z", - "stop_time": "2021-02-09T03:50:38.324Z", - "task_name": "CorrectUMItools", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 18 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-CreateSparseCountMatrix/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-CreateSparseCountMatrix/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T04:58:25.068Z", - "stop_time": "2021-02-09T05:40:59.318Z", - "task_name": "CreateSparseCountMatrix", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 601 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.12", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-FastqProcessing/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-FastqProcessing/stdout", - "memory": "39.0625 GB", - "start_time": "2021-02-08T21:11:24.431Z", - "stop_time": "2021-02-08T21:11:33.656Z", - "task_name": "FastqProcessing", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 2, - "disk_size": "local-disk 5 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-GeneSortBam/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-GeneSortBam/shard-0/stdout", - "memory": "97.65625 GB", - "start_time": "2021-02-09T03:50:39.849Z", - "stop_time": "2021-02-09T04:58:59.319Z", - "task_name": "GeneSortBam", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-MergeCellMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-MergeCellMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:46:47.130Z", - "stop_time": "2021-02-09T07:51:23.309Z", - "task_name": "MergeCellMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-MergeCountFiles/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-MergeCountFiles/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T07:32:23.069Z", - "stop_time": "2021-02-09T07:37:08.308Z", - "task_name": "MergeCountFiles", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-sctools:v0.3.11", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-MergeGeneMetrics/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-MergeGeneMetrics/stdout", - "memory": "3.759765625 GB", - "start_time": "2021-02-09T07:44:17.189Z", - "stop_time": "2021-02-09T08:09:44.309Z", - "task_name": "MergeGeneMetrics", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 500 HDD", - "docker_image": "us.gcr.io/broad-gotc-prod/genomes-in-the-cloud:2.3.3-1513176735", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-MergeSorted/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-MergeSorted/stdout", - "memory": "17.724609375 GB", - "start_time": "2021-02-09T07:23:37.599Z", - "stop_time": "2021-02-09T09:29:14.307Z", - "task_name": "MergeSorted", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 11 HDD", - "docker_image": "quay.io/humancellatlas/modify-gtf:0.1.0", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-ModifyGtf/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-ModifyGtf/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:11:24.432Z", - "stop_time": "2021-02-08T21:11:33.573Z", - "task_name": "ModifyGtf", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 4, - "disk_size": "local-disk 200 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-loom-output:0.0.6-1", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-OptimusLoomGeneration/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-OptimusLoomGeneration/stdout", - "memory": "18 GB", - "start_time": "2021-02-09T08:09:46.189Z", - "stop_time": "2021-02-09T08:35:59.307Z", - "task_name": "OptimusLoomGeneration", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-PreCountSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-PreCountSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:50:39.849Z", - "stop_time": "2021-02-09T04:58:23.319Z", - "task_name": "PreCountSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 207 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-PreMergeSort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-PreMergeSort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-09T03:50:39.849Z", - "stop_time": "2021-02-09T04:59:50.322Z", - "task_name": "PreMergeSort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 209 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-picard:v0.2.2-2.10.10", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-PreUMISort/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-PreUMISort/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T23:48:01.749Z", - "stop_time": "2021-02-09T01:06:08.327Z", - "task_name": "PreUMISort", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 20 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropletutils:0.1.2", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-RunEmptyDrops/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-RunEmptyDrops/stdout", - "memory": "15.625 GB", - "start_time": "2021-02-09T07:37:09.789Z", - "stop_time": "2021-02-09T07:48:38.311Z", - "task_name": "RunEmptyDrops", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 16, - "disk_size": "local-disk 72 SSD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-star:v0.2.2-2.5.3a-40ead6e", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-StarAlign/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-StarAlign/shard-0/stdout", - "memory": "36.5234375 GB", - "start_time": "2021-02-08T21:11:37.715Z", - "stop_time": "2021-02-08T21:17:35.319Z", - "task_name": "StarAlign", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 25 HDD", - "docker_image": "quay.io/humancellatlas/secondary-analysis-dropseqtools:v0.2.2-1.13", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-TagGenes/shard-0/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-TagGenes/shard-0/stdout", - "memory": "8.056640625 GB", - "start_time": "2021-02-08T21:17:36.462Z", - "stop_time": "2021-02-08T23:47:59.318Z", - "task_name": "TagGenes", - "zone": "us-central1-b,us-central1-c,us-central1-f" - }, - { - "cpus": 1, - "disk_size": "local-disk 1 HDD", - "docker_image": "ubuntu:18.04", - "log_err": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-checkOptimusInput/stderr", - "log_out": "gs://fc-31f4efbd-841c-4ea7-b1ca-65567bdd34db/917332c6-9613-43de-8d7c-79787c03d548/Optimus/fe261b23-efd5-445b-8dd4-46e47231ccff/call-checkOptimusInput/stdout", - "memory": "1 GB", - "start_time": "2021-02-08T21:11:24.403Z", - "stop_time": "2021-02-08T21:11:28.859Z", - "task_name": "checkOptimusInput", - "zone": "us-central1-b,us-central1-c,us-central1-f" - } - ], - "timestamp_start_utc": "2021-02-08T21:11:17.167Z", - "timestamp_stop_utc": "2021-02-09T09:29:15.909Z", - "type": { - "text": "analysis" - } - }, - "sequence_file/012ba773-aefb-4d9f-8ec1-6714dc7f631b": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7179363_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585507" - ], - "library_prep_id": "F14-LIV-3p-CD45pos", - "provenance": { - "document_id": "012ba773-aefb-4d9f-8ec1-6714dc7f631b", - "submission_date": "2020-08-13T10:24:32.490Z", - "update_date": "2020-08-13T10:39:24.039Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/05345715-8f9f-44fe-8f28-f75552b17d5d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7555847_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585563" - ], - "library_prep_id": "F15-LIV-3p-CD45neg", - "provenance": { - "document_id": "05345715-8f9f-44fe-8f28-f75552b17d5d", - "submission_date": "2020-08-13T10:24:35.160Z", - "update_date": "2020-08-13T11:00:42.408Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/0565f81d-86a0-4591-8a29-f7e3306556f2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198434_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585509" - ], - "library_prep_id": "F07-LIV-3p-live", - "provenance": { - "document_id": "0565f81d-86a0-4591-8a29-f7e3306556f2", - "submission_date": "2020-08-13T10:24:32.576Z", - "update_date": "2020-08-13T10:49:19.731Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/0619dd26-7a22-4fc9-ac35-7a381a502e6f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002878_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585495" - ], - "library_prep_id": "F04-LIV-3p-CD45neg", - "provenance": { - "document_id": "0619dd26-7a22-4fc9-ac35-7a381a502e6f", - "submission_date": "2020-08-13T10:24:32.055Z", - "update_date": "2020-08-13T10:38:47.789Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/0b9d7ae0-f6af-40e5-898d-7b2afc48c4b1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579210_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585566" - ], - "library_prep_id": "F11-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "0b9d7ae0-f6af-40e5-898d-7b2afc48c4b1", - "submission_date": "2020-08-13T10:24:35.281Z", - "update_date": "2020-08-13T11:14:05.113Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/0f15fb43-c791-4113-a721-a9e3767e8f6d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316889_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585525" - ], - "library_prep_id": "F08-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "0f15fb43-c791-4113-a721-a9e3767e8f6d", - "submission_date": "2020-08-13T10:24:33.420Z", - "update_date": "2020-08-13T11:13:06.966Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/0fb3c4cd-6df4-48ac-b7c6-e96c144e0c42": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198434_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585509" - ], - "library_prep_id": "F07-LIV-3p-live", - "provenance": { - "document_id": "0fb3c4cd-6df4-48ac-b7c6-e96c144e0c42", - "submission_date": "2020-08-13T10:24:32.564Z", - "update_date": "2020-08-13T10:39:14.148Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/10a76c2f-2a9b-4430-88bc-c4f3828e4e3f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198630_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585512" - ], - "library_prep_id": "F10-LIV-3p-CD45pos", - "provenance": { - "document_id": "10a76c2f-2a9b-4430-88bc-c4f3828e4e3f", - "submission_date": "2020-08-13T10:24:32.673Z", - "update_date": "2020-08-13T10:42:35.843Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/15af1b4f-6944-4af6-8a2a-4fea163edde2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002882_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585499" - ], - "library_prep_id": "F06-LIV-3p-live", - "provenance": { - "document_id": "15af1b4f-6944-4af6-8a2a-4fea163edde2", - "submission_date": "2020-08-13T10:24:32.196Z", - "update_date": "2020-08-13T10:37:40.733Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/1872f705-7ccc-42af-80c5-7645ccd2848c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002877_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585494" - ], - "library_prep_id": "F04-LIV-3p-CD45pos", - "provenance": { - "document_id": "1872f705-7ccc-42af-80c5-7645ccd2848c", - "submission_date": "2020-08-13T10:24:32.019Z", - "update_date": "2020-08-13T10:38:39.835Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/1a17a213-3a73-4af8-a105-6e5b3d056263": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7555847_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585563" - ], - "library_prep_id": "F15-LIV-3p-CD45neg", - "provenance": { - "document_id": "1a17a213-3a73-4af8-a105-6e5b3d056263", - "submission_date": "2020-08-13T10:24:35.172Z", - "update_date": "2020-08-13T11:16:13.175Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/1e0c544d-2963-4fde-b3cb-5bb9b938acaa": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7179364_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585508" - ], - "library_prep_id": "F14-LIV-3p-CD45neg", - "provenance": { - "document_id": "1e0c544d-2963-4fde-b3cb-5bb9b938acaa", - "submission_date": "2020-08-13T10:24:32.552Z", - "update_date": "2020-08-13T11:31:22.828Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/22d5f584-ff73-4a10-8377-387983b72a87": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7352193_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585540" - ], - "library_prep_id": "F05-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "22d5f584-ff73-4a10-8377-387983b72a87", - "submission_date": "2020-08-13T10:24:34.149Z", - "update_date": "2020-08-13T10:59:32.332Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/232c6da0-b86b-4995-8da1-a428211af836": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198629_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585511" - ], - "library_prep_id": "F07-LIV-3p-CD45neg", - "provenance": { - "document_id": "232c6da0-b86b-4995-8da1-a428211af836", - "submission_date": "2020-08-13T10:24:32.661Z", - "update_date": "2020-08-13T11:38:08.593Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/23a28752-d0c7-4a3c-8548-acc8ddc26af4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7038751_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585504" - ], - "library_prep_id": "F06-LIV-3p-CD45neg", - "provenance": { - "document_id": "23a28752-d0c7-4a3c-8548-acc8ddc26af4", - "submission_date": "2020-08-13T10:24:32.387Z", - "update_date": "2020-08-13T11:41:32.304Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/24c3ce12-e4f9-4299-a005-320d602716ce": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579223_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585569" - ], - "library_prep_id": "F11-LIV-3p-CD45neg_2", - "provenance": { - "document_id": "24c3ce12-e4f9-4299-a005-320d602716ce", - "submission_date": "2020-08-13T10:24:35.400Z", - "update_date": "2020-08-13T10:59:45.133Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/26131c11-6186-4b1a-b37d-fb12515622bf": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7352194_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585541" - ], - "library_prep_id": "F05-LIV-3p-CD45neg_1", - "provenance": { - "document_id": "26131c11-6186-4b1a-b37d-fb12515622bf", - "submission_date": "2020-08-13T10:24:34.175Z", - "update_date": "2020-08-13T10:50:36.362Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/28f5f863-26d9-4ca8-abb3-705d369250e7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316894_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585530" - ], - "library_prep_id": "F02-LIV-3p-CD45pos", - "provenance": { - "document_id": "28f5f863-26d9-4ca8-abb3-705d369250e7", - "submission_date": "2020-08-13T10:24:33.628Z", - "update_date": "2020-08-13T11:47:12.375Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/2b40b918-2632-4a06-9746-6f542d884b90": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198631_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585513" - ], - "library_prep_id": "F10-LIV-3p-CD45neg", - "provenance": { - "document_id": "2b40b918-2632-4a06-9746-6f542d884b90", - "submission_date": "2020-08-13T10:24:32.734Z", - "update_date": "2020-08-13T11:32:35.520Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/30286c6d-ca78-4108-aff5-6809618656dc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7038751_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585504" - ], - "library_prep_id": "F06-LIV-3p-CD45neg", - "provenance": { - "document_id": "30286c6d-ca78-4108-aff5-6809618656dc", - "submission_date": "2020-08-13T10:24:32.375Z", - "update_date": "2020-08-13T10:42:36.486Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/32714f4f-1a04-4fc3-bdd9-2ae6473fe544": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316891_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585527" - ], - "library_prep_id": "F08-LIV-3p-CD45pos_3", - "provenance": { - "document_id": "32714f4f-1a04-4fc3-bdd9-2ae6473fe544", - "submission_date": "2020-08-13T10:24:33.513Z", - "update_date": "2020-08-13T11:52:21.084Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/32a5b3e4-4f2f-4fb1-aeff-7fb01035eb8d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198631_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585513" - ], - "library_prep_id": "F10-LIV-3p-CD45neg", - "provenance": { - "document_id": "32a5b3e4-4f2f-4fb1-aeff-7fb01035eb8d", - "submission_date": "2020-08-13T10:24:32.709Z", - "update_date": "2020-08-13T10:45:47.623Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/336b106c-f5f3-4d35-b583-05fc33ee910f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002877_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "Cellular Genetics" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585494" - ], - "library_prep_id": "F04-LIV-3p-CD45pos", - "provenance": { - "document_id": "336b106c-f5f3-4d35-b583-05fc33ee910f", - "submission_date": "2020-08-13T10:24:32.031Z", - "update_date": "2020-08-13T11:09:07.268Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/384733f9-328f-4b3f-b201-9489ae09f5de": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7277561_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585519" - ], - "library_prep_id": "F13-LIV-3p-CD45neg", - "provenance": { - "document_id": "384733f9-328f-4b3f-b201-9489ae09f5de", - "submission_date": "2020-08-13T10:24:33.060Z", - "update_date": "2020-08-13T10:52:42.153Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/38b67b47-7ef3-4e9e-88e1-3a8376769eb0": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579210_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585566" - ], - "library_prep_id": "F11-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "38b67b47-7ef3-4e9e-88e1-3a8376769eb0", - "submission_date": "2020-08-13T10:24:35.268Z", - "update_date": "2020-08-13T11:00:05.681Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/39c59048-bac9-4b5b-935b-75b150931f41": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7277561_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585519" - ], - "library_prep_id": "F13-LIV-3p-CD45neg", - "provenance": { - "document_id": "39c59048-bac9-4b5b-935b-75b150931f41", - "submission_date": "2020-08-13T10:24:33.086Z", - "update_date": "2020-08-13T11:00:30.339Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/3c6b5196-4dd9-4c23-a9d1-c1341d889ecf": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7352193_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585540" - ], - "library_prep_id": "F05-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "3c6b5196-4dd9-4c23-a9d1-c1341d889ecf", - "submission_date": "2020-08-13T10:24:34.137Z", - "update_date": "2020-08-13T10:50:36.239Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/3e6ac46b-1d9d-4c91-b5df-e583208357fe": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528288_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585559" - ], - "library_prep_id": "F12-LIV-3p-CD45neg_1", - "provenance": { - "document_id": "3e6ac46b-1d9d-4c91-b5df-e583208357fe", - "submission_date": "2020-08-13T10:24:35.024Z", - "update_date": "2020-08-13T11:17:01.305Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/41a13523-c45b-4546-8273-9321d9a2c250": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316895_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585531" - ], - "library_prep_id": "F02-LIV-3p-CD45neg", - "provenance": { - "document_id": "41a13523-c45b-4546-8273-9321d9a2c250", - "submission_date": "2020-08-13T10:24:33.639Z", - "update_date": "2020-08-13T10:53:39.745Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/41ae7f5d-67e9-4bc8-a844-262a9dea9b96": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002882_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585499" - ], - "library_prep_id": "F06-LIV-3p-live", - "provenance": { - "document_id": "41ae7f5d-67e9-4bc8-a844-262a9dea9b96", - "submission_date": "2020-08-13T10:24:32.221Z", - "update_date": "2020-08-13T12:10:04.591Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/44c70c3c-6fe7-4186-9aa5-b2cb1ea3b9d8": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579222_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585568" - ], - "library_prep_id": "F11-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "44c70c3c-6fe7-4186-9aa5-b2cb1ea3b9d8", - "submission_date": "2020-08-13T10:24:35.373Z", - "update_date": "2020-08-13T11:26:56.489Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/455c6c50-9424-4dac-b67c-1be48276d5b5": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316890_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585526" - ], - "library_prep_id": "F08-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "455c6c50-9424-4dac-b67c-1be48276d5b5", - "submission_date": "2020-08-13T10:24:33.458Z", - "update_date": "2020-08-13T11:02:27.200Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/47f2b446-7a03-4286-8a35-41e52394622c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7179364_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585508" - ], - "library_prep_id": "F14-LIV-3p-CD45neg", - "provenance": { - "document_id": "47f2b446-7a03-4286-8a35-41e52394622c", - "submission_date": "2020-08-13T10:24:32.540Z", - "update_date": "2020-08-13T10:50:35.839Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/49a158d2-9786-4f54-bac9-67244497c9c9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7352195_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585542" - ], - "library_prep_id": "F05-LIV-3p-CD45neg_2", - "provenance": { - "document_id": "49a158d2-9786-4f54-bac9-67244497c9c9", - "submission_date": "2020-08-13T10:24:34.230Z", - "update_date": "2020-08-13T10:59:31.565Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/4b06739c-d81c-45cd-825f-cc5145f15065": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579210_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585566" - ], - "library_prep_id": "F11-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "4b06739c-d81c-45cd-825f-cc5145f15065", - "submission_date": "2020-08-13T10:24:35.294Z", - "update_date": "2020-08-13T12:00:19.904Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/4ba330b1-83f6-4d6f-9eb4-4c2f9f8b12ae": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579211_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585567" - ], - "library_prep_id": "F11-LIV-3p-CD45neg_1", - "provenance": { - "document_id": "4ba330b1-83f6-4d6f-9eb4-4c2f9f8b12ae", - "submission_date": "2020-08-13T10:24:35.307Z", - "update_date": "2020-08-13T11:00:11.276Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/4bd54cd4-ca70-4566-a2bf-9fecb4dfbc34": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7555847_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585563" - ], - "library_prep_id": "F15-LIV-3p-CD45neg", - "provenance": { - "document_id": "4bd54cd4-ca70-4566-a2bf-9fecb4dfbc34", - "submission_date": "2020-08-13T10:24:35.184Z", - "update_date": "2020-08-13T11:59:03.260Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/4e7c6725-5d49-4ed6-9a5f-b7d0eaf75469": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462238_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585545" - ], - "library_prep_id": "F03-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "4e7c6725-5d49-4ed6-9a5f-b7d0eaf75469", - "submission_date": "2020-08-13T10:24:34.352Z", - "update_date": "2020-08-13T12:11:01.230Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/4f91ed04-d045-4904-a78e-103294d4f5e9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462237_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585544" - ], - "library_prep_id": "F03-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "4f91ed04-d045-4904-a78e-103294d4f5e9", - "submission_date": "2020-08-13T10:24:34.315Z", - "update_date": "2020-08-13T12:09:14.863Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/529a01ff-db1b-4a8e-924b-8749387f5dcb": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316893_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585529" - ], - "library_prep_id": "F08-LIV-3p-CD45neg_2", - "provenance": { - "document_id": "529a01ff-db1b-4a8e-924b-8749387f5dcb", - "submission_date": "2020-08-13T10:24:33.579Z", - "update_date": "2020-08-13T10:59:02.035Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/529e093e-c122-4939-8264-993ad651efd7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462237_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585544" - ], - "library_prep_id": "F03-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "529e093e-c122-4939-8264-993ad651efd7", - "submission_date": "2020-08-13T10:24:34.304Z", - "update_date": "2020-08-13T11:06:24.257Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/550bbb11-4786-46b4-a9c1-46f105b14644": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528289_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585560" - ], - "library_prep_id": "F12-LIV-3p-CD45neg_2", - "provenance": { - "document_id": "550bbb11-4786-46b4-a9c1-46f105b14644", - "submission_date": "2020-08-13T10:24:35.049Z", - "update_date": "2020-08-13T11:00:58.350Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/601bacd5-c250-4dd3-a83d-c9f31a1b0dd8": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7352193_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585540" - ], - "library_prep_id": "F05-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "601bacd5-c250-4dd3-a83d-c9f31a1b0dd8", - "submission_date": "2020-08-13T10:24:34.163Z", - "update_date": "2020-08-13T11:27:30.611Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/611d7372-2d5d-4b93-9cb8-b6d689b0f905": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7277560_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585518" - ], - "library_prep_id": "F13-LIV-3p-CD45pos", - "provenance": { - "document_id": "611d7372-2d5d-4b93-9cb8-b6d689b0f905", - "submission_date": "2020-08-13T10:24:32.961Z", - "update_date": "2020-08-13T11:01:13.440Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/62f9d7c8-cb0b-4c30-b2d8-ab43fa4b3384": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7555846_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585562" - ], - "library_prep_id": "F15-LIV-3p-CD45pos", - "provenance": { - "document_id": "62f9d7c8-cb0b-4c30-b2d8-ab43fa4b3384", - "submission_date": "2020-08-13T10:24:35.124Z", - "update_date": "2020-08-13T11:01:13.674Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/68cac6a2-5453-4d08-9af2-a4e01f259dd3": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316893_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585529" - ], - "library_prep_id": "F08-LIV-3p-CD45neg_2", - "provenance": { - "document_id": "68cac6a2-5453-4d08-9af2-a4e01f259dd3", - "submission_date": "2020-08-13T10:24:33.592Z", - "update_date": "2020-08-13T11:45:27.512Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/69f04b25-c698-4a6e-aff3-7bccc1e969b7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7038750_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585503" - ], - "library_prep_id": "F06-LIV-3p-CD45pos", - "provenance": { - "document_id": "69f04b25-c698-4a6e-aff3-7bccc1e969b7", - "submission_date": "2020-08-13T10:24:32.339Z", - "update_date": "2020-08-13T10:42:46.422Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/6a512fd9-3942-4497-87fd-977d2a243b1c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462239_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585546" - ], - "library_prep_id": "F03-LIV-3p-CD45neg", - "provenance": { - "document_id": "6a512fd9-3942-4497-87fd-977d2a243b1c", - "submission_date": "2020-08-13T10:24:34.377Z", - "update_date": "2020-08-13T11:03:35.041Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/6c52e66a-d034-476c-8f32-5d760b6a5029": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528287_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585558" - ], - "library_prep_id": "F12-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "6c52e66a-d034-476c-8f32-5d760b6a5029", - "submission_date": "2020-08-13T10:24:34.972Z", - "update_date": "2020-08-13T10:56:17.896Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/71c8dfa2-0a8c-4ae0-8161-933454f56420": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198629_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585511" - ], - "library_prep_id": "F07-LIV-3p-CD45neg", - "provenance": { - "document_id": "71c8dfa2-0a8c-4ae0-8161-933454f56420", - "submission_date": "2020-08-13T10:24:32.650Z", - "update_date": "2020-08-13T10:49:29.053Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/71e9623c-1cfa-4efe-9448-f4014da727dc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579222_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585568" - ], - "library_prep_id": "F11-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "71e9623c-1cfa-4efe-9448-f4014da727dc", - "submission_date": "2020-08-13T10:24:35.346Z", - "update_date": "2020-08-13T11:00:14.399Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/75017000-be20-4f58-91ea-abaf63344959": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7277553_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585517" - ], - "library_prep_id": "F16-LIV-3p-CD45neg", - "provenance": { - "document_id": "75017000-be20-4f58-91ea-abaf63344959", - "submission_date": "2020-08-13T10:24:32.893Z", - "update_date": "2020-08-13T11:27:25.686Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/756f8cce-2d70-4c53-a893-e26d556f0f06": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462239_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585546" - ], - "library_prep_id": "F03-LIV-3p-CD45neg", - "provenance": { - "document_id": "756f8cce-2d70-4c53-a893-e26d556f0f06", - "submission_date": "2020-08-13T10:24:34.365Z", - "update_date": "2020-08-13T10:50:43.778Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/76f76203-8b14-4a33-8a0d-d7687d887772": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7038750_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585503" - ], - "library_prep_id": "F06-LIV-3p-CD45pos", - "provenance": { - "document_id": "76f76203-8b14-4a33-8a0d-d7687d887772", - "submission_date": "2020-08-13T10:24:32.363Z", - "update_date": "2020-08-13T11:56:51.039Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/785275c2-08e7-486f-bed5-850993b704d3": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7277553_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585517" - ], - "library_prep_id": "F16-LIV-3p-CD45neg", - "provenance": { - "document_id": "785275c2-08e7-486f-bed5-850993b704d3", - "submission_date": "2020-08-13T10:24:32.882Z", - "update_date": "2020-08-13T11:01:57.595Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/7ae24487-8546-422c-ad9b-bfa36bdd6ba4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198628_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585510" - ], - "library_prep_id": "F07-LIV-3p-CD45pos", - "provenance": { - "document_id": "7ae24487-8546-422c-ad9b-bfa36bdd6ba4", - "submission_date": "2020-08-13T10:24:32.600Z", - "update_date": "2020-08-13T10:41:09.800Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/7beb8479-c655-4b01-af4f-69f1668e1c6d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7277552_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585516" - ], - "library_prep_id": "F16-LIV-3p-CD45pos", - "provenance": { - "document_id": "7beb8479-c655-4b01-af4f-69f1668e1c6d", - "submission_date": "2020-08-13T10:24:32.846Z", - "update_date": "2020-08-13T10:59:27.364Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/7ee8e5aa-5faa-4491-bd66-150e202974dd": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198630_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585512" - ], - "library_prep_id": "F10-LIV-3p-CD45pos", - "provenance": { - "document_id": "7ee8e5aa-5faa-4491-bd66-150e202974dd", - "submission_date": "2020-08-13T10:24:32.686Z", - "update_date": "2020-08-13T10:55:56.837Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/7efd8179-7a9a-4ef1-b199-46f94581cb1a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316890_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585526" - ], - "library_prep_id": "F08-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "7efd8179-7a9a-4ef1-b199-46f94581cb1a", - "submission_date": "2020-08-13T10:24:33.438Z", - "update_date": "2020-08-13T10:53:33.949Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/807e13ad-b807-44b5-92c8-9057b858968f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198631_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585513" - ], - "library_prep_id": "F10-LIV-3p-CD45neg", - "provenance": { - "document_id": "807e13ad-b807-44b5-92c8-9057b858968f", - "submission_date": "2020-08-13T10:24:32.721Z", - "update_date": "2020-08-13T10:56:11.300Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/81204476-377f-4bf9-b5de-27f8b14d47c5": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7352192_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585539" - ], - "library_prep_id": "F05-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "81204476-377f-4bf9-b5de-27f8b14d47c5", - "submission_date": "2020-08-13T10:24:34.113Z", - "update_date": "2020-08-13T10:58:23.427Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/82c6f8e4-79f9-48b7-aab5-35853db742a4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7352195_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585542" - ], - "library_prep_id": "F05-LIV-3p-CD45neg_2", - "provenance": { - "document_id": "82c6f8e4-79f9-48b7-aab5-35853db742a4", - "submission_date": "2020-08-13T10:24:34.213Z", - "update_date": "2020-08-13T10:50:34.979Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/82fc4ead-bf34-4834-91ed-cb6ec1717baa": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316895_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585531" - ], - "library_prep_id": "F02-LIV-3p-CD45neg", - "provenance": { - "document_id": "82fc4ead-bf34-4834-91ed-cb6ec1717baa", - "submission_date": "2020-08-13T10:24:33.664Z", - "update_date": "2020-08-13T11:48:11.069Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/835ec088-c1a5-4b0c-897c-22bc92950587": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316889_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585525" - ], - "library_prep_id": "F08-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "835ec088-c1a5-4b0c-897c-22bc92950587", - "submission_date": "2020-08-13T10:24:33.403Z", - "update_date": "2020-08-13T11:02:47.049Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/837fa4ab-745a-4a41-9fbf-0a4d1d1054d5": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462239_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585546" - ], - "library_prep_id": "F03-LIV-3p-CD45neg", - "provenance": { - "document_id": "837fa4ab-745a-4a41-9fbf-0a4d1d1054d5", - "submission_date": "2020-08-13T10:24:34.389Z", - "update_date": "2020-08-13T11:52:40.061Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/85716ed2-d37c-4e4a-bd8a-864154bad299": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528289_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585560" - ], - "library_prep_id": "F12-LIV-3p-CD45neg_2", - "provenance": { - "document_id": "85716ed2-d37c-4e4a-bd8a-864154bad299", - "submission_date": "2020-08-13T10:24:35.061Z", - "update_date": "2020-08-13T11:16:00.600Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/85df5aac-75ac-416a-ba8b-b9b0f8b4e619": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7277552_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585516" - ], - "library_prep_id": "F16-LIV-3p-CD45pos", - "provenance": { - "document_id": "85df5aac-75ac-416a-ba8b-b9b0f8b4e619", - "submission_date": "2020-08-13T10:24:32.858Z", - "update_date": "2020-08-13T11:28:18.499Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/8a62b078-1656-4145-83ee-a54b74b1f566": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528289_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585560" - ], - "library_prep_id": "F12-LIV-3p-CD45neg_2", - "provenance": { - "document_id": "8a62b078-1656-4145-83ee-a54b74b1f566", - "submission_date": "2020-08-13T10:24:35.073Z", - "update_date": "2020-08-13T11:20:52.878Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/8fee28bf-4f9b-4d62-814b-ea97119048ee": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316891_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585527" - ], - "library_prep_id": "F08-LIV-3p-CD45pos_3", - "provenance": { - "document_id": "8fee28bf-4f9b-4d62-814b-ea97119048ee", - "submission_date": "2020-08-13T10:24:33.499Z", - "update_date": "2020-08-13T11:01:13.731Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/9005739b-11b7-410d-88ad-e05a765dabd9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579211_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585567" - ], - "library_prep_id": "F11-LIV-3p-CD45neg_1", - "provenance": { - "document_id": "9005739b-11b7-410d-88ad-e05a765dabd9", - "submission_date": "2020-08-13T10:24:35.320Z", - "update_date": "2020-08-13T11:12:34.715Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/90bd06b3-c8fd-4ed8-98b4-9bf21e9466f9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528287_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585558" - ], - "library_prep_id": "F12-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "90bd06b3-c8fd-4ed8-98b4-9bf21e9466f9", - "submission_date": "2020-08-13T10:24:34.984Z", - "update_date": "2020-08-13T11:12:58.099Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/9403a717-07d2-4510-9f19-77d41747c188": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7277560_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585518" - ], - "library_prep_id": "F13-LIV-3p-CD45pos", - "provenance": { - "document_id": "9403a717-07d2-4510-9f19-77d41747c188", - "submission_date": "2020-08-13T10:24:32.906Z", - "update_date": "2020-08-13T10:52:38.100Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/9447492f-3a6a-4f33-a128-605686ae6d65": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7352194_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585541" - ], - "library_prep_id": "F05-LIV-3p-CD45neg_1", - "provenance": { - "document_id": "9447492f-3a6a-4f33-a128-605686ae6d65", - "submission_date": "2020-08-13T10:24:34.187Z", - "update_date": "2020-08-13T10:59:19.129Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/96cbabdb-30b4-4c71-9250-bb7efcd9ee1e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579222_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585568" - ], - "library_prep_id": "F11-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "96cbabdb-30b4-4c71-9250-bb7efcd9ee1e", - "submission_date": "2020-08-13T10:24:35.358Z", - "update_date": "2020-08-13T11:15:11.179Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/97ab1a9b-43d0-443d-b25c-228f79cb5666": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7277552_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585516" - ], - "library_prep_id": "F16-LIV-3p-CD45pos", - "provenance": { - "document_id": "97ab1a9b-43d0-443d-b25c-228f79cb5666", - "submission_date": "2020-08-13T10:24:32.834Z", - "update_date": "2020-08-13T10:45:47.091Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/99985ea4-d29e-4357-9879-99440a002b49": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316894_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585530" - ], - "library_prep_id": "F02-LIV-3p-CD45pos", - "provenance": { - "document_id": "99985ea4-d29e-4357-9879-99440a002b49", - "submission_date": "2020-08-13T10:24:33.604Z", - "update_date": "2020-08-13T10:53:37.756Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/9a4277c3-806b-4906-a777-613f01a51003": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7277560_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585518" - ], - "library_prep_id": "F13-LIV-3p-CD45pos", - "provenance": { - "document_id": "9a4277c3-806b-4906-a777-613f01a51003", - "submission_date": "2020-08-13T10:24:33.031Z", - "update_date": "2020-08-13T11:31:49.904Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/9c25532b-bbac-408a-8b3b-4d7f565f11b9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198628_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585510" - ], - "library_prep_id": "F07-LIV-3p-CD45pos", - "provenance": { - "document_id": "9c25532b-bbac-408a-8b3b-4d7f565f11b9", - "submission_date": "2020-08-13T10:24:32.624Z", - "update_date": "2020-08-13T11:31:21.590Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/9c6fffe5-0f64-4325-8e2f-8be4fa5417b9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316892_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585528" - ], - "library_prep_id": "F08-LIV-3p-CD45neg_1", - "provenance": { - "document_id": "9c6fffe5-0f64-4325-8e2f-8be4fa5417b9", - "submission_date": "2020-08-13T10:24:33.526Z", - "update_date": "2020-08-13T10:53:28.966Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/9d578de9-08fb-47f8-9bc4-77e9577965e7": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316891_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585527" - ], - "library_prep_id": "F08-LIV-3p-CD45pos_3", - "provenance": { - "document_id": "9d578de9-08fb-47f8-9bc4-77e9577965e7", - "submission_date": "2020-08-13T10:24:33.485Z", - "update_date": "2020-08-13T10:53:38.886Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/a3bef94d-a68f-43d4-8cb8-58977b20f849": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002878_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585495" - ], - "library_prep_id": "F04-LIV-3p-CD45neg", - "provenance": { - "document_id": "a3bef94d-a68f-43d4-8cb8-58977b20f849", - "submission_date": "2020-08-13T10:24:32.067Z", - "update_date": "2020-08-13T11:14:05.614Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/a428e47e-0081-497b-9c8a-7c852f4eb103": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579211_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585567" - ], - "library_prep_id": "F11-LIV-3p-CD45neg_1", - "provenance": { - "document_id": "a428e47e-0081-497b-9c8a-7c852f4eb103", - "submission_date": "2020-08-13T10:24:35.333Z", - "update_date": "2020-08-13T11:17:43.179Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/afe45faa-e5e1-4cf8-8d79-4092dca736bd": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7179363_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585507" - ], - "library_prep_id": "F14-LIV-3p-CD45pos", - "provenance": { - "document_id": "afe45faa-e5e1-4cf8-8d79-4092dca736bd", - "submission_date": "2020-08-13T10:24:32.503Z", - "update_date": "2020-08-13T10:45:27.726Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/b4d16fe2-eeac-4a26-9cc3-17414b87f3b1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198628_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585510" - ], - "library_prep_id": "F07-LIV-3p-CD45pos", - "provenance": { - "document_id": "b4d16fe2-eeac-4a26-9cc3-17414b87f3b1", - "submission_date": "2020-08-13T10:24:32.612Z", - "update_date": "2020-08-13T10:49:16.083Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/b61e4f40-1742-4bbb-a20d-78a934c5f8de": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7352192_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585539" - ], - "library_prep_id": "F05-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "b61e4f40-1742-4bbb-a20d-78a934c5f8de", - "submission_date": "2020-08-13T10:24:34.100Z", - "update_date": "2020-08-13T10:50:25.235Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/ba276a56-3bdf-42ff-93f4-2920c3a288f9": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528286_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585557" - ], - "library_prep_id": "F12-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "ba276a56-3bdf-42ff-93f4-2920c3a288f9", - "submission_date": "2020-08-13T10:24:34.934Z", - "update_date": "2020-08-13T11:04:31.017Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/bb2d6938-f6ad-461b-8fa4-eca0e4c040b2": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528288_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585559" - ], - "library_prep_id": "F12-LIV-3p-CD45neg_1", - "provenance": { - "document_id": "bb2d6938-f6ad-461b-8fa4-eca0e4c040b2", - "submission_date": "2020-08-13T10:24:35.011Z", - "update_date": "2020-08-13T11:00:22.504Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/bb2edf45-1041-4e38-9ace-ec922a747f80": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7179364_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585508" - ], - "library_prep_id": "F14-LIV-3p-CD45neg", - "provenance": { - "document_id": "bb2edf45-1041-4e38-9ace-ec922a747f80", - "submission_date": "2020-08-13T10:24:32.528Z", - "update_date": "2020-08-13T10:41:09.662Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/be3cffb9-150a-4a1e-8f4b-a0afde4eea5a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528286_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585557" - ], - "library_prep_id": "F12-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "be3cffb9-150a-4a1e-8f4b-a0afde4eea5a", - "submission_date": "2020-08-13T10:24:34.958Z", - "update_date": "2020-08-13T11:59:18.130Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/c0e0476d-b0c5-434b-9c33-92e52900341d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462238_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585545" - ], - "library_prep_id": "F03-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "c0e0476d-b0c5-434b-9c33-92e52900341d", - "submission_date": "2020-08-13T10:24:34.340Z", - "update_date": "2020-08-13T11:06:50.385Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/c1102423-264b-4668-9e09-39b105474d6f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7555846_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585562" - ], - "library_prep_id": "F15-LIV-3p-CD45pos", - "provenance": { - "document_id": "c1102423-264b-4668-9e09-39b105474d6f", - "submission_date": "2020-08-13T10:24:35.136Z", - "update_date": "2020-08-13T11:04:24.651Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/c27ebc26-f0b4-4f42-8b10-061fb04f77bd": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316890_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585526" - ], - "library_prep_id": "F08-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "c27ebc26-f0b4-4f42-8b10-061fb04f77bd", - "submission_date": "2020-08-13T10:24:33.471Z", - "update_date": "2020-08-13T11:12:21.843Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/c30c31d2-ccfb-4651-8b78-a25a23ab4e95": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002878_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "Cellular Genetics" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585495" - ], - "library_prep_id": "F04-LIV-3p-CD45neg", - "provenance": { - "document_id": "c30c31d2-ccfb-4651-8b78-a25a23ab4e95", - "submission_date": "2020-08-13T10:24:32.079Z", - "update_date": "2020-08-13T12:20:28.129Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/c50f0504-73bc-4bd6-8ed3-1dcf0b60549f": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7555846_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585562" - ], - "library_prep_id": "F15-LIV-3p-CD45pos", - "provenance": { - "document_id": "c50f0504-73bc-4bd6-8ed3-1dcf0b60549f", - "submission_date": "2020-08-13T10:24:35.148Z", - "update_date": "2020-08-13T12:09:07.885Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/c79e49e1-62b2-41c4-a3eb-96bbe01a2ed4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7352192_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585539" - ], - "library_prep_id": "F05-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "c79e49e1-62b2-41c4-a3eb-96bbe01a2ed4", - "submission_date": "2020-08-13T10:24:34.125Z", - "update_date": "2020-08-13T11:21:42.516Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/cf835034-c34b-4b5d-aac6-8de2e280e959": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528288_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585559" - ], - "library_prep_id": "F12-LIV-3p-CD45neg_1", - "provenance": { - "document_id": "cf835034-c34b-4b5d-aac6-8de2e280e959", - "submission_date": "2020-08-13T10:24:35.036Z", - "update_date": "2020-08-13T11:20:59.666Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/d1bbc8a6-9320-4527-bca3-2dbb172bea38": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7038751_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585504" - ], - "library_prep_id": "F06-LIV-3p-CD45neg", - "provenance": { - "document_id": "d1bbc8a6-9320-4527-bca3-2dbb172bea38", - "submission_date": "2020-08-13T10:24:32.399Z", - "update_date": "2020-08-13T12:12:57.707Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/d3c05176-1d0b-4ce1-b005-0af8c35129cd": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316889_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585525" - ], - "library_prep_id": "F08-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "d3c05176-1d0b-4ce1-b005-0af8c35129cd", - "submission_date": "2020-08-13T10:24:33.384Z", - "update_date": "2020-08-13T10:53:46.361Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/d5744e7d-7ab9-4d86-8a3a-bfc9e96946fc": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7352195_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585542" - ], - "library_prep_id": "F05-LIV-3p-CD45neg_2", - "provenance": { - "document_id": "d5744e7d-7ab9-4d86-8a3a-bfc9e96946fc", - "submission_date": "2020-08-13T10:24:34.242Z", - "update_date": "2020-08-13T11:27:06.504Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/d7f0b745-c135-4594-9a4b-a4c66c8a1520": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002882_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585499" - ], - "library_prep_id": "F06-LIV-3p-live", - "provenance": { - "document_id": "d7f0b745-c135-4594-9a4b-a4c66c8a1520", - "submission_date": "2020-08-13T10:24:32.208Z", - "update_date": "2020-08-13T11:11:25.528Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/da490be5-56d8-4510-a3c9-c256666fbe4d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528286_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585557" - ], - "library_prep_id": "F12-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "da490be5-56d8-4510-a3c9-c256666fbe4d", - "submission_date": "2020-08-13T10:24:34.921Z", - "update_date": "2020-08-13T10:57:37.319Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/daa5945d-5d1f-4586-9c85-e3fa5af8bfb5": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579223_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585569" - ], - "library_prep_id": "F11-LIV-3p-CD45neg_2", - "provenance": { - "document_id": "daa5945d-5d1f-4586-9c85-e3fa5af8bfb5", - "submission_date": "2020-08-13T10:24:35.433Z", - "update_date": "2020-08-13T11:16:27.035Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/dabbfa84-9a92-448a-a09f-8a2eaf13b958": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316893_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585529" - ], - "library_prep_id": "F08-LIV-3p-CD45neg_2", - "provenance": { - "document_id": "dabbfa84-9a92-448a-a09f-8a2eaf13b958", - "submission_date": "2020-08-13T10:24:33.567Z", - "update_date": "2020-08-13T10:53:35.537Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/dbe02baf-4c99-4784-bf03-2ebeeef70288": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198434_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585509" - ], - "library_prep_id": "F07-LIV-3p-live", - "provenance": { - "document_id": "dbe02baf-4c99-4784-bf03-2ebeeef70288", - "submission_date": "2020-08-13T10:24:32.588Z", - "update_date": "2020-08-13T11:36:03.993Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/dbe117fc-c5ee-4347-bb8a-1a3fb9c89895": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198630_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585512" - ], - "library_prep_id": "F10-LIV-3p-CD45pos", - "provenance": { - "document_id": "dbe117fc-c5ee-4347-bb8a-1a3fb9c89895", - "submission_date": "2020-08-13T10:24:32.698Z", - "update_date": "2020-08-13T11:38:08.385Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/de694c96-1135-4d40-a44c-88ca899d164c": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7528287_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585558" - ], - "library_prep_id": "F12-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "de694c96-1135-4d40-a44c-88ca899d164c", - "submission_date": "2020-08-13T10:24:34.997Z", - "update_date": "2020-08-13T12:09:37.182Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/dfe9cbbb-cf19-4e2d-bd3c-70e0d9235f67": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7277561_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585519" - ], - "library_prep_id": "F13-LIV-3p-CD45neg", - "provenance": { - "document_id": "dfe9cbbb-cf19-4e2d-bd3c-70e0d9235f67", - "submission_date": "2020-08-13T10:24:33.109Z", - "update_date": "2020-08-13T11:34:01.190Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/e512685e-d15e-4b12-9f7f-e871da115586": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7179363_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585507" - ], - "library_prep_id": "F14-LIV-3p-CD45pos", - "provenance": { - "document_id": "e512685e-d15e-4b12-9f7f-e871da115586", - "submission_date": "2020-08-13T10:24:32.515Z", - "update_date": "2020-08-13T11:37:49.131Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/e779b50e-a892-4a0c-af02-2dd400956018": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7579223_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585569" - ], - "library_prep_id": "F11-LIV-3p-CD45neg_2", - "provenance": { - "document_id": "e779b50e-a892-4a0c-af02-2dd400956018", - "submission_date": "2020-08-13T10:24:35.477Z", - "update_date": "2020-08-13T11:22:43.573Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/e79faefc-5135-4e43-a64d-8db7472d3f2e": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316892_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585528" - ], - "library_prep_id": "F08-LIV-3p-CD45neg_1", - "provenance": { - "document_id": "e79faefc-5135-4e43-a64d-8db7472d3f2e", - "submission_date": "2020-08-13T10:24:33.537Z", - "update_date": "2020-08-13T10:52:20.471Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/e97d853f-aaf2-4b69-8300-f9aac8111c39": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7352194_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585541" - ], - "library_prep_id": "F05-LIV-3p-CD45neg_1", - "provenance": { - "document_id": "e97d853f-aaf2-4b69-8300-f9aac8111c39", - "submission_date": "2020-08-13T10:24:34.199Z", - "update_date": "2020-08-13T12:05:20.548Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/ea99b549-cd95-445b-a796-a4ccd992491d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7038750_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585503" - ], - "library_prep_id": "F06-LIV-3p-CD45pos", - "provenance": { - "document_id": "ea99b549-cd95-445b-a796-a4ccd992491d", - "submission_date": "2020-08-13T10:24:32.351Z", - "update_date": "2020-08-13T11:43:26.209Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/ed8bc174-30cc-4fa4-9e48-0543b825b1e4": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7277553_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585517" - ], - "library_prep_id": "F16-LIV-3p-CD45neg", - "provenance": { - "document_id": "ed8bc174-30cc-4fa4-9e48-0543b825b1e4", - "submission_date": "2020-08-13T10:24:32.870Z", - "update_date": "2020-08-13T10:48:28.010Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/ee9ad501-69c5-49df-89d2-32ea89591634": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316894_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585530" - ], - "library_prep_id": "F02-LIV-3p-CD45pos", - "provenance": { - "document_id": "ee9ad501-69c5-49df-89d2-32ea89591634", - "submission_date": "2020-08-13T10:24:33.616Z", - "update_date": "2020-08-13T10:59:05.921Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/f17d1da2-2965-4732-a94a-6cd2a58fc873": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "4834STDY7002877_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "Cellular Genetics" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585494" - ], - "library_prep_id": "F04-LIV-3p-CD45pos", - "provenance": { - "document_id": "f17d1da2-2965-4732-a94a-6cd2a58fc873", - "submission_date": "2020-08-13T10:24:32.044Z", - "update_date": "2020-08-13T12:20:35.251Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/f683fadf-dd8c-4cfe-ae8b-34e3af5b74a1": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316895_S1_L001_R1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read1", - "insdc_run_accessions": [ - "ERR3585531" - ], - "library_prep_id": "F02-LIV-3p-CD45neg", - "provenance": { - "document_id": "f683fadf-dd8c-4cfe-ae8b-34e3af5b74a1", - "submission_date": "2020-08-13T10:24:33.652Z", - "update_date": "2020-08-13T10:58:14.123Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/f895f666-e3ed-4a7e-a7f5-42586a6244ea": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462238_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585545" - ], - "library_prep_id": "F03-LIV-3p-CD45pos_2", - "provenance": { - "document_id": "f895f666-e3ed-4a7e-a7f5-42586a6244ea", - "submission_date": "2020-08-13T10:24:34.328Z", - "update_date": "2020-08-13T10:50:43.824Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/fa78c4ab-4057-45b1-8266-af045ae28535": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7316892_S1_L001_R2_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "read2", - "insdc_run_accessions": [ - "ERR3585528" - ], - "library_prep_id": "F08-LIV-3p-CD45neg_1", - "provenance": { - "document_id": "fa78c4ab-4057-45b1-8266-af045ae28535", - "submission_date": "2020-08-13T10:24:33.552Z", - "update_date": "2020-08-13T11:49:22.980Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/fd0752c7-210b-4acd-a7ef-df7ffcdfbd3d": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7462237_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585544" - ], - "library_prep_id": "F03-LIV-3p-CD45pos_1", - "provenance": { - "document_id": "fd0752c7-210b-4acd-a7ef-df7ffcdfbd3d", - "submission_date": "2020-08-13T10:24:34.290Z", - "update_date": "2020-08-13T10:50:37.439Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/ffba13e2-0937-49b3-961a-2ce3055ad5c6": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "FCAImmP7198629_S1_L001_I1_001.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "single cell RNA sequencing file", - "ontology": "data:3495", - "ontology_label": "DNA sequence" - } - ] - }, - "read_index": "index1", - "insdc_run_accessions": [ - "ERR3585511" - ], - "library_prep_id": "F07-LIV-3p-CD45neg", - "provenance": { - "document_id": "ffba13e2-0937-49b3-961a-2ce3055ad5c6", - "submission_date": "2020-08-13T10:24:32.637Z", - "update_date": "2020-08-13T10:41:37.764Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequencing_protocol/4adcb95e-8d5d-41dd-8299-8a7b686e8e4a": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "gex_10x_sequencing", - "protocol_name": "10x nucleic acid sequencing protocol", - "protocol_description": "The libraries from eight loaded channels from each fetal sample were multiplexed together and sequenced on an Illumina HiSeq 4000. The libraries were distributed over eight lanes per flow cell and sequenced using the following parameters: Read1: 26 cycles, i7: 8 cycles, i5: 0 cycles; Read2: 98 cycles to generate 75bp paired end reads." - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 4000", - "ontology": "EFO:0008563", - "ontology_label": "Illumina HiSeq 4000" - }, - "paired_end": false, - "method": { - "text": "single cell RNA sequencing", - "ontology": "EFO:0008440", - "ontology_label": "tag based single cell RNA sequencing" - }, - "provenance": { - "document_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a", - "submission_date": "2020-08-13T10:24:31.936Z", - "update_date": "2020-08-13T10:24:38.042Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - }, - "dissociation_protocol/8881df7f-15da-48a9-8934-a2d65188543e": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "haniffa_enzymatic_dissociation", - "protocol_name": "Haniffa Lab Enzymatic Dissociation", - "protocol_description": "Tissue was digested with 1.6mg/mL collagenase type IV (Worthington) in RPMI (Sigma-Aldrich) supplemented with 10%(v/v) heat-inactivated fetal bovine serum (Gibco), 100U/mL penicillin (Sigma-Aldrich), 0.1mg/mL streptomycin (Sigma-Aldrich), and 2mM L-Glutamine (Sigma-Aldrich) for 30 minutes at 37\u00b0C with intermittent shaking. Digested tissue was passed through a 100\u03bcm filter, and cells collected by centrifugation (500g for 5 minutes at 4\u00b0C). Cells were treated with 1X RBC lysis buffer (eBioscience) for 5 minutes at room temperature and washed once with flow buffer (PBS containing 5%(v/v) FBS and 2mM EDTA) prior to counting." - }, - "method": { - "text": "enzymatic dissociation", - "ontology": "EFO:0009128", - "ontology_label": "enzymatic dissociation" - }, - "provenance": { - "document_id": "8881df7f-15da-48a9-8934-a2d65188543e", - "submission_date": "2020-08-13T10:24:31.911Z", - "update_date": "2020-08-13T10:24:38.803Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "enrichment_protocol/003cb4a8-9871-488f-9042-820504991f17": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "CD45_pos", - "protocol_name": "CD45 positive enrichment", - "protocol_description": "Antibody panels were designed to allow enrichment of cell fractions for sequencing and cell types validation. Antibodies used for FACS isolation are listed in Supplementary Table 1. An antibody cocktail was prepared fresh by adding 3\u03bcL of each antibody in 50\u03bcL Brilliant Stain Buffer (BD) per tissue. Cells (\u226410x106) were resuspended in 50-100\u03bcL flow buffer and an equal volume of antibody mix was added to cells from each tissue. Cells were stained for 30 minutes on ice, washed with flow buffer and resuspended at 10x106cells/mL. DAPI (Sigma-Aldrich) was added to a final concentration of 3\u03bcM immediately prior to sorting. Flow sorting was performed on a BD FACSAriaTM Fusion instrument using DIVAv8, and data analysed using FlowJoV10.4.1. Cells were gated to remove dead cells and doublets, and then isolated for scRNA-seq analysis (10x or Smart-seq2). For 10x, cells were sorted into chilled FACS tubes coated with FBS and prefilled with 500\u03bcL sterile PBS. For Smart-seq2, single cells were index-sorted into 96-well lo-bind plates (Eppendorf) containing 10\u03bcL lysis buffer (TCL (Qiagen) + 1% (v/v) B-mercaptoethanol) per well. B cells were also investigated by flow cytometry as per Roy et. al.,77." - }, - "method": { - "text": "FACs sort", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD45+ HLA-DR+", - "provenance": { - "document_id": "003cb4a8-9871-488f-9042-820504991f17", - "submission_date": "2020-08-13T10:24:31.885Z", - "update_date": "2020-08-13T10:24:37.977Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - }, - "enrichment_protocol/ad3e2c96-e515-431a-a1fa-fc7b57cff8ea": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "live_cell", - "protocol_name": "dead cell removal", - "protocol_description": "Cells were gated to remove dead cells and doublets" - }, - "method": { - "text": "dead cell removal", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "DAPI", - "provenance": { - "document_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea", - "submission_date": "2020-08-13T10:24:31.902Z", - "update_date": "2020-08-13T10:24:37.891Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - }, - "enrichment_protocol/f1903d0b-1cb2-4208-bc20-a37ad8612452": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "CD45_neg", - "protocol_name": "CD45 negative enrichment", - "protocol_description": "Antibody panels were designed to allow enrichment of cell fractions for sequencing and cell types validation. Antibodies used for FACS isolation are listed in Supplementary Table 1. An antibody cocktail was prepared fresh by adding 3\u03bcL of each antibody in 50\u03bcL Brilliant Stain Buffer (BD) per tissue. Cells (\u226410x106) were resuspended in 50-100\u03bcL flow buffer and an equal volume of antibody mix was added to cells from each tissue. Cells were stained for 30 minutes on ice, washed with flow buffer and resuspended at 10x106cells/mL. DAPI (Sigma-Aldrich) was added to a final concentration of 3\u03bcM immediately prior to sorting. Flow sorting was performed on a BD FACSAriaTM Fusion instrument using DIVAv8, and data analysed using FlowJoV10.4.1. Cells were gated to remove dead cells and doublets, and then isolated for scRNA-seq analysis (10x or Smart-seq2). For 10x, cells were sorted into chilled FACS tubes coated with FBS and prefilled with 500\u03bcL sterile PBS. For Smart-seq2, single cells were index-sorted into 96-well lo-bind plates (Eppendorf) containing 10\u03bcL lysis buffer (TCL (Qiagen) + 1% (v/v) B-mercaptoethanol) per well. B cells were also investigated by flow cytometry as per Roy et. al.,77." - }, - "method": { - "text": "FACs sort", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "CD45- HLA-DR-", - "provenance": { - "document_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452", - "submission_date": "2020-08-13T10:24:31.894Z", - "update_date": "2020-08-13T10:24:39.224Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - }, - "collection_protocol/266cf33e-5540-42cd-84de-757340908d42": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "hdbr_collection", - "protocol_name": "HDBR collection", - "protocol_description": "Tissue was transferred to a sterile 10mm2 tissue culture dish and cut into <1mm3 segments before being transferred to a 50mL conical tube. Tissue was digested with 1.6mg/mL collagenase type IV (Worthington) in RPMI (Sigma- Aldrich) supplemented with 10%(v/v) heat-inactivated fetal bovine serum (Gibco), 100U/mL penicillin (Sigma-Aldrich), 0.1mg/mL streptomycin (Sigma-Aldrich), and 2mM L-Glutamine (Sigma-Aldrich) for 30 minutes at 37\u00b0C with intermittent shaking. Digested tissue was passed through a 100\u03bcm filter, and cells collected by centrifugation (500g for 5 minutes at 4\u00b0C). Cells were treated with 1X RBC lysis buffer (eBioscience) for 5 minutes at room temperature and washed once with flow buffer (PBS containing 5%(v/v) FBS and 2mM EDTA) prior to counting." - }, - "method": { - "text": "collecting specimen from organ postmortem", - "ontology": "EFO:0009627", - "ontology_label": "collecting specimen from organ postmortem" - }, - "provenance": { - "document_id": "266cf33e-5540-42cd-84de-757340908d42", - "submission_date": "2020-08-13T10:24:31.877Z", - "update_date": "2020-08-13T10:24:38.996Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "specimen_from_organism/0d27ca8e-5325-4e47-9807-8afd92e9bf89": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F05-LIV", - "biomaterial_name": "F05-LIV", - "biomaterial_description": "Liver sample from F05, F34 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "0d27ca8e-5325-4e47-9807-8afd92e9bf89", - "submission_date": "2020-08-13T10:24:30.913Z", - "update_date": "2020-08-13T10:24:45.671Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "specimen_from_organism/1edb7ccc-0cb3-41c4-a193-181542bce479": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F11-LIV", - "biomaterial_name": "F11-LIV", - "biomaterial_description": "Liver sample from F11, F45 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "1edb7ccc-0cb3-41c4-a193-181542bce479", - "submission_date": "2020-08-13T10:24:31.037Z", - "update_date": "2020-08-13T10:24:48.049Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "specimen_from_organism/31899978-a518-4d78-b85a-f62bca7ed723": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F12-LIV", - "biomaterial_name": "F12-LIV", - "biomaterial_description": "Liver sample from F12, F38 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "31899978-a518-4d78-b85a-f62bca7ed723", - "submission_date": "2020-08-13T10:24:31.046Z", - "update_date": "2020-08-13T10:24:48.247Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "specimen_from_organism/54bfca9c-a1f8-4632-a0cb-5f7b5edf48d6": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F10-LIV", - "biomaterial_name": "F10-LIV", - "biomaterial_description": "Liver sample from F10, F23 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "54bfca9c-a1f8-4632-a0cb-5f7b5edf48d6", - "submission_date": "2020-08-13T10:24:31.028Z", - "update_date": "2020-08-13T10:24:47.734Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "specimen_from_organism/619887a0-67fb-4e24-be95-409f9b3e8474": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F02-LIV", - "biomaterial_name": "F02-LIV", - "biomaterial_description": "Liver sample from F02, F32 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "619887a0-67fb-4e24-be95-409f9b3e8474", - "submission_date": "2020-08-13T10:24:30.811Z", - "update_date": "2020-08-13T10:24:44.837Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "specimen_from_organism/69576784-ca06-4ccb-bab7-d6e8353a8036": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F04-LIV", - "biomaterial_name": "F04-LIV", - "biomaterial_description": "Liver sample from F04, F16 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "69576784-ca06-4ccb-bab7-d6e8353a8036", - "submission_date": "2020-08-13T10:24:30.896Z", - "update_date": "2020-08-13T10:24:45.260Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "specimen_from_organism/6b94e023-9280-45df-ac3d-5a258e19bf29": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F06-LIV", - "biomaterial_name": "F06-LIV", - "biomaterial_description": "Liver sample from F06, F17 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "6b94e023-9280-45df-ac3d-5a258e19bf29", - "submission_date": "2020-08-13T10:24:30.949Z", - "update_date": "2020-08-13T10:24:47.223Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "specimen_from_organism/75b6d713-08dc-4eff-9347-95c9519a34cd": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F08-LIV", - "biomaterial_name": "F08-LIV", - "biomaterial_description": "Liver sample from F08, F33 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "75b6d713-08dc-4eff-9347-95c9519a34cd", - "submission_date": "2020-08-13T10:24:30.987Z", - "update_date": "2020-08-13T10:24:47.508Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "specimen_from_organism/94259313-d341-4b1f-b9cc-48a760d81c19": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F15-LIV", - "biomaterial_name": "F15-LIV", - "biomaterial_description": "Liver sample from F15, F41 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "94259313-d341-4b1f-b9cc-48a760d81c19", - "submission_date": "2020-08-13T10:24:31.072Z", - "update_date": "2020-08-13T10:24:48.995Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "specimen_from_organism/ae073235-e422-4c3a-8bf4-9892d6e769b3": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F03-LIV", - "biomaterial_name": "F03-LIV", - "biomaterial_description": "Liver sample from F03, F35 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "ae073235-e422-4c3a-8bf4-9892d6e769b3", - "submission_date": "2020-08-13T10:24:30.849Z", - "update_date": "2020-08-13T10:24:45.062Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "specimen_from_organism/b8912f33-12a7-4bf8-9f25-e91fbc77517c": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F07-LIV", - "biomaterial_name": "F07-LIV", - "biomaterial_description": "Liver sample from F07, F22 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "b8912f33-12a7-4bf8-9f25-e91fbc77517c", - "submission_date": "2020-08-13T10:24:30.976Z", - "update_date": "2020-08-13T10:24:47.374Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "specimen_from_organism/bed46309-3752-4115-a307-8c20d93dce55": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F14-LIV", - "biomaterial_name": "F14-LIV", - "biomaterial_description": "Liver sample from F14, F21 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "bed46309-3752-4115-a307-8c20d93dce55", - "submission_date": "2020-08-13T10:24:31.063Z", - "update_date": "2020-08-13T10:24:48.512Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "specimen_from_organism/dba60b5a-af86-4fde-8cfc-49b008f5adad": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F16-LIV", - "biomaterial_name": "F16-LIV", - "biomaterial_description": "Liver sample from F16, F29 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "dba60b5a-af86-4fde-8cfc-49b008f5adad", - "submission_date": "2020-08-13T10:24:31.081Z", - "update_date": "2020-08-13T10:24:49.131Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "specimen_from_organism/fbed02e6-1547-469c-b96f-45c61111af53": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F13-LIV", - "biomaterial_name": "F13-LIV", - "biomaterial_description": "Liver sample from F13, F30 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "organ": { - "text": "Liver", - "ontology": "UBERON:0002107", - "ontology_label": "liver" - }, - "provenance": { - "document_id": "fbed02e6-1547-469c-b96f-45c61111af53", - "submission_date": "2020-08-13T10:24:31.055Z", - "update_date": "2020-08-13T10:24:48.358Z", - "schema_major_version": 10, - "schema_minor_version": 4 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "library_preparation_protocol/565d6b74-caae-44f1-a1fc-a0b29a1f24f1": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "3prime_10x_protocol", - "protocol_name": "10x 3 prime v2 library construction protocol", - "protocol_description": "As per 10x three prime v2 genomics manufacturer's protocol" - }, - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869", - "ontology_label": "polyA RNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_method": { - "text": "10x 3' V2", - "ontology": "EFO:0009899", - "ontology_label": "10X 3' v2 sequencing" - }, - "end_bias": "3 prime tag", - "primer": "poly-dT", - "strand": "first", - "nominal_length": 350, - "nominal_sdev": 50, - "provenance": { - "document_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1", - "submission_date": "2020-08-13T10:24:31.920Z", - "update_date": "2020-08-13T10:24:37.671Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "process/0370e38d-bb67-4b79-be99-3ff27e21adba": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581441" - }, - "process_core": { - "process_id": "process_id_64" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "0370e38d-bb67-4b79-be99-3ff27e21adba", - "submission_date": "2020-08-13T10:24:39.091Z", - "update_date": "2020-08-13T10:25:01.326Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/08b799a0-59d8-4c69-87b3-fd239aef4197": { - "process_core": { - "process_id": "F06-LIV-3p-live" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "08b799a0-59d8-4c69-87b3-fd239aef4197", - "submission_date": "2020-08-13T10:24:41.908Z", - "update_date": "2020-08-13T10:25:05.086Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/0c1455f0-64c2-48a5-bba1-15588755bad5": { - "process_core": { - "process_id": "process_id_26" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "0c1455f0-64c2-48a5-bba1-15588755bad5", - "submission_date": "2020-08-13T10:24:35.916Z", - "update_date": "2020-08-13T10:24:59.040Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/0ceed66e-513f-450f-89e9-3206f4485cdf": { - "process_core": { - "process_id": "F05-LIV-3p-CD45neg_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "0ceed66e-513f-450f-89e9-3206f4485cdf", - "submission_date": "2020-08-13T10:24:42.459Z", - "update_date": "2020-08-13T10:25:11.077Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/0dd65ce8-29ba-4341-9a93-eb2ca1f06c72": { - "process_core": { - "process_id": "F08-LIV-3p-CD45pos_3" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "0dd65ce8-29ba-4341-9a93-eb2ca1f06c72", - "submission_date": "2020-08-13T10:24:42.189Z", - "update_date": "2020-08-13T10:25:08.999Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/10a02923-b945-43fe-97db-c984e06dc5a7": { - "process_core": { - "process_id": "F16-LIV-3p-CD45pos" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "10a02923-b945-43fe-97db-c984e06dc5a7", - "submission_date": "2020-08-13T10:24:42.080Z", - "update_date": "2020-08-13T10:25:07.482Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/1248ead2-3dd4-43fe-9f7c-9609ed77d9c2": { - "process_core": { - "process_id": "F11-LIV-3p-CD45neg_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "1248ead2-3dd4-43fe-9f7c-9609ed77d9c2", - "submission_date": "2020-08-13T10:24:43.108Z", - "update_date": "2020-08-13T10:25:14.722Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/136b438c-b819-4da2-8cc1-d6cace9c716c": { - "process_core": { - "process_id": "process_id_13" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "136b438c-b819-4da2-8cc1-d6cace9c716c", - "submission_date": "2020-08-13T10:24:35.788Z", - "update_date": "2020-08-13T10:24:58.698Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/16d53d3e-88ef-444a-aaec-e7947fc3e779": { - "process_core": { - "process_id": "process_id_22" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "16d53d3e-88ef-444a-aaec-e7947fc3e779", - "submission_date": "2020-08-13T10:24:35.874Z", - "update_date": "2020-08-13T10:24:58.937Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/1d5a282b-b4b5-41dc-ab46-862476a87c18": { - "process_core": { - "process_id": "F15-LIV-3p-CD45pos" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "1d5a282b-b4b5-41dc-ab46-862476a87c18", - "submission_date": "2020-08-13T10:24:43.022Z", - "update_date": "2020-08-13T10:25:13.974Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/1d732738-9b3b-4393-920a-a3dd2ff6f7e1": { - "process_core": { - "process_id": "F12-LIV-3p-CD45neg_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "1d732738-9b3b-4393-920a-a3dd2ff6f7e1", - "submission_date": "2020-08-13T10:24:42.979Z", - "update_date": "2020-08-13T10:25:13.518Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/204a3bb9-d52f-407e-a3ed-f051a40dd7c3": { - "process_core": { - "process_id": "process_id_19" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "204a3bb9-d52f-407e-a3ed-f051a40dd7c3", - "submission_date": "2020-08-13T10:24:35.845Z", - "update_date": "2020-08-13T10:24:58.847Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/22ccc95d-d789-4398-a790-83f86bb420d8": { - "process_core": { - "process_id": "F07-LIV-3p-CD45neg" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "22ccc95d-d789-4398-a790-83f86bb420d8", - "submission_date": "2020-08-13T10:24:42.022Z", - "update_date": "2020-08-13T10:25:06.676Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/232174af-3ebf-4b3b-97fd-35547950c4c8": { - "process_core": { - "process_id": "F04-LIV-3p-CD45neg" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "232174af-3ebf-4b3b-97fd-35547950c4c8", - "submission_date": "2020-08-13T10:24:41.868Z", - "update_date": "2020-08-13T10:25:04.564Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/2415ecb9-08af-4ecc-868b-69ba70a43c81": { - "process_core": { - "process_id": "process_id_27" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "2415ecb9-08af-4ecc-868b-69ba70a43c81", - "submission_date": "2020-08-13T10:24:35.927Z", - "update_date": "2020-08-13T10:24:59.063Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/27e030cc-b89e-41fc-b0c8-c3258a4b2c6e": { - "process_core": { - "process_id": "F04-LIV-3p-CD45pos" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "27e030cc-b89e-41fc-b0c8-c3258a4b2c6e", - "submission_date": "2020-08-13T10:24:41.859Z", - "update_date": "2020-08-13T10:25:04.444Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/282fda83-f6d8-4d5b-b47a-14d13d5206fe": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581461" - }, - "process_core": { - "process_id": "process_id_99" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "282fda83-f6d8-4d5b-b47a-14d13d5206fe", - "submission_date": "2020-08-13T10:24:41.741Z", - "update_date": "2020-08-13T10:25:03.317Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/2b8cad63-d0bc-486b-923d-cc6f11eb6394": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581500" - }, - "process_core": { - "process_id": "process_id_93" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "2b8cad63-d0bc-486b-923d-cc6f11eb6394", - "submission_date": "2020-08-13T10:24:41.667Z", - "update_date": "2020-08-13T10:25:02.924Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/2d0d630a-58dd-42f7-bd7e-579ebec98d48": { - "process_core": { - "process_id": "F05-LIV-3p-CD45pos_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "2d0d630a-58dd-42f7-bd7e-579ebec98d48", - "submission_date": "2020-08-13T10:24:42.383Z", - "update_date": "2020-08-13T10:25:10.627Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/2e7e4b93-2d6c-4359-804c-f8ca1e21c31c": { - "process_core": { - "process_id": "F10-LIV-3p-CD45pos" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "2e7e4b93-2d6c-4359-804c-f8ca1e21c31c", - "submission_date": "2020-08-13T10:24:42.039Z", - "update_date": "2020-08-13T10:25:06.847Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/2f77c2c6-e843-48cd-a160-65fb904eb112": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581504" - }, - "process_core": { - "process_id": "process_id_102" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "2f77c2c6-e843-48cd-a160-65fb904eb112", - "submission_date": "2020-08-13T10:24:41.770Z", - "update_date": "2020-08-13T10:25:03.767Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/3381994d-5624-4f5f-a574-01ad099c448c": { - "process_core": { - "process_id": "F14-LIV-3p-CD45pos" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "3381994d-5624-4f5f-a574-01ad099c448c", - "submission_date": "2020-08-13T10:24:41.984Z", - "update_date": "2020-08-13T10:25:06.118Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/37925a3b-3bce-4876-bb29-745922b2c972": { - "process_core": { - "process_id": "F11-LIV-3p-CD45neg_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "37925a3b-3bce-4876-bb29-745922b2c972", - "submission_date": "2020-08-13T10:24:43.131Z", - "update_date": "2020-08-13T10:25:15.027Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/3f20a83f-f01c-41f2-acaf-3c111dfa5465": { - "process_core": { - "process_id": "F03-LIV-3p-CD45pos_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "3f20a83f-f01c-41f2-acaf-3c111dfa5465", - "submission_date": "2020-08-13T10:24:42.500Z", - "update_date": "2020-08-13T10:25:11.369Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/42b114bb-27ee-4415-b046-7ee5581adc27": { - "process_core": { - "process_id": "F05-LIV-3p-CD45pos_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "42b114bb-27ee-4415-b046-7ee5581adc27", - "submission_date": "2020-08-13T10:24:42.403Z", - "update_date": "2020-08-13T10:25:10.776Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/43c13443-4e03-42b3-a32f-d048c8ea465e": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581487" - }, - "process_core": { - "process_id": "process_id_41" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "43c13443-4e03-42b3-a32f-d048c8ea465e", - "submission_date": "2020-08-13T10:24:36.065Z", - "update_date": "2020-08-13T10:24:59.742Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/536ba4f7-6694-4a31-8df1-0e6668ed10da": { - "process_core": { - "process_id": "F15-LIV-3p-CD45neg" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "536ba4f7-6694-4a31-8df1-0e6668ed10da", - "submission_date": "2020-08-13T10:24:43.036Z", - "update_date": "2020-08-13T10:25:14.120Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/57c18bb9-bb99-48dc-bf49-70e3e558deeb": { - "process_core": { - "process_id": "process_id_7" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "57c18bb9-bb99-48dc-bf49-70e3e558deeb", - "submission_date": "2020-08-13T10:24:35.731Z", - "update_date": "2020-08-13T10:24:58.561Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/5a0999a5-9945-4d18-8f0a-7ed5a6b1f27b": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581482" - }, - "process_core": { - "process_id": "process_id_55" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "5a0999a5-9945-4d18-8f0a-7ed5a6b1f27b", - "submission_date": "2020-08-13T10:24:36.786Z", - "update_date": "2020-08-13T10:25:00.851Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/5b4f46d9-346e-4eec-b55e-801d37ece165": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581502" - }, - "process_core": { - "process_id": "process_id_96" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "5b4f46d9-346e-4eec-b55e-801d37ece165", - "submission_date": "2020-08-13T10:24:41.711Z", - "update_date": "2020-08-13T10:25:03.127Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/5c745dc7-ece2-4df5-96b3-bca92b832c73": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581453" - }, - "process_core": { - "process_id": "process_id_72" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "5c745dc7-ece2-4df5-96b3-bca92b832c73", - "submission_date": "2020-08-13T10:24:40.340Z", - "update_date": "2020-08-13T10:25:01.779Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/5d687d7c-8d96-4203-ad8e-d0668828ad37": { - "process_core": { - "process_id": "F05-LIV-3p-CD45neg_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "5d687d7c-8d96-4203-ad8e-d0668828ad37", - "submission_date": "2020-08-13T10:24:42.443Z", - "update_date": "2020-08-13T10:25:10.919Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/5fbb11aa-074b-42ad-bb8c-13d80c3b2490": { - "process_core": { - "process_id": "process_id_18" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "5fbb11aa-074b-42ad-bb8c-13d80c3b2490", - "submission_date": "2020-08-13T10:24:35.836Z", - "update_date": "2020-08-13T10:24:58.826Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/61a4052c-bbc0-4666-9747-ed6b4c706ac6": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581467" - }, - "process_core": { - "process_id": "process_id_74" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "61a4052c-bbc0-4666-9747-ed6b4c706ac6", - "submission_date": "2020-08-13T10:24:40.486Z", - "update_date": "2020-08-13T10:25:01.865Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/62a131e1-c415-460e-bc5b-75cca5d3323b": { - "process_core": { - "process_id": "F07-LIV-3p-CD45pos" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "62a131e1-c415-460e-bc5b-75cca5d3323b", - "submission_date": "2020-08-13T10:24:42.013Z", - "update_date": "2020-08-13T10:25:06.539Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/687ef9ee-e18c-446f-bbb6-97c31ba0ce9b": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581445" - }, - "process_core": { - "process_id": "process_id_62" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "687ef9ee-e18c-446f-bbb6-97c31ba0ce9b", - "submission_date": "2020-08-13T10:24:38.998Z", - "update_date": "2020-08-13T10:25:01.231Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/68b20827-e2b9-4d02-ac17-32ebf7aaf49c": { - "process_core": { - "process_id": "process_id_24" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "68b20827-e2b9-4d02-ac17-32ebf7aaf49c", - "submission_date": "2020-08-13T10:24:35.892Z", - "update_date": "2020-08-13T10:24:58.987Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/69ccee6f-c88d-4443-88a0-e46ed47bf2a1": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581473" - }, - "process_core": { - "process_id": "process_id_35" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "69ccee6f-c88d-4443-88a0-e46ed47bf2a1", - "submission_date": "2020-08-13T10:24:36.007Z", - "update_date": "2020-08-13T10:24:59.415Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/71aef8a5-add1-46ce-b5e9-c172a52414a2": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581468" - }, - "process_core": { - "process_id": "process_id_75" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "71aef8a5-add1-46ce-b5e9-c172a52414a2", - "submission_date": "2020-08-13T10:24:40.584Z", - "update_date": "2020-08-13T10:25:01.933Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/7229676a-4449-4a2f-ac97-284eb599841c": { - "process_core": { - "process_id": "F08-LIV-3p-CD45neg_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "7229676a-4449-4a2f-ac97-284eb599841c", - "submission_date": "2020-08-13T10:24:42.208Z", - "update_date": "2020-08-13T10:25:09.270Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/72abfd0e-51d3-4b13-8495-bfaab2f1096b": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581459" - }, - "process_core": { - "process_id": "process_id_107" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "72abfd0e-51d3-4b13-8495-bfaab2f1096b", - "submission_date": "2020-08-13T10:24:41.822Z", - "update_date": "2020-08-13T10:25:04.021Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/73bd1209-cfb5-420f-bd97-574ed9c7cd0e": { - "process_core": { - "process_id": "F12-LIV-3p-CD45pos_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "73bd1209-cfb5-420f-bd97-574ed9c7cd0e", - "submission_date": "2020-08-13T10:24:42.930Z", - "update_date": "2020-08-13T10:25:13.185Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/796e5529-dd1a-4579-a469-a770eaa2216f": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581469" - }, - "process_core": { - "process_id": "process_id_76" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "796e5529-dd1a-4579-a469-a770eaa2216f", - "submission_date": "2020-08-13T10:24:41.011Z", - "update_date": "2020-08-13T10:25:01.984Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/7f0f3ad8-9052-4003-ac7d-4e2e509b85f5": { - "process_core": { - "process_id": "F10-LIV-3p-CD45neg" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "7f0f3ad8-9052-4003-ac7d-4e2e509b85f5", - "submission_date": "2020-08-13T10:24:42.049Z", - "update_date": "2020-08-13T10:25:07.014Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/7fa6adde-000d-4360-9f45-2b5da4721f70": { - "process_core": { - "process_id": "F11-LIV-3p-CD45pos_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "7fa6adde-000d-4360-9f45-2b5da4721f70", - "submission_date": "2020-08-13T10:24:43.095Z", - "update_date": "2020-08-13T10:25:14.578Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/7ff7f0ac-a14a-4c42-800b-016141f020fd": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581449" - }, - "process_core": { - "process_id": "process_id_100" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "7ff7f0ac-a14a-4c42-800b-016141f020fd", - "submission_date": "2020-08-13T10:24:41.751Z", - "update_date": "2020-08-13T10:25:03.446Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/8106eec7-2c2f-41b4-ad4d-997e683ed9fc": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581471" - }, - "process_core": { - "process_id": "process_id_78" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "8106eec7-2c2f-41b4-ad4d-997e683ed9fc", - "submission_date": "2020-08-13T10:24:41.147Z", - "update_date": "2020-08-13T10:25:02.087Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/87fa5eb0-98d2-40ae-8bb1-445d0d2d0c11": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581481" - }, - "process_core": { - "process_id": "process_id_54" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "87fa5eb0-98d2-40ae-8bb1-445d0d2d0c11", - "submission_date": "2020-08-13T10:24:36.291Z", - "update_date": "2020-08-13T10:25:00.447Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/8d4c4056-6a9b-4c33-907c-66f4351fe7c1": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581455" - }, - "process_core": { - "process_id": "process_id_85" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "8d4c4056-6a9b-4c33-907c-66f4351fe7c1", - "submission_date": "2020-08-13T10:24:41.371Z", - "update_date": "2020-08-13T10:25:02.465Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/9210ccdd-107f-4ef3-9a2d-f9c573788f43": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581484" - }, - "process_core": { - "process_id": "process_id_58" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "9210ccdd-107f-4ef3-9a2d-f9c573788f43", - "submission_date": "2020-08-13T10:24:37.787Z", - "update_date": "2020-08-13T10:25:01.009Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/951a8ffc-69c5-4f7c-8ee8-39b76171f630": { - "process_core": { - "process_id": "F16-LIV-3p-CD45neg" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "951a8ffc-69c5-4f7c-8ee8-39b76171f630", - "submission_date": "2020-08-13T10:24:42.092Z", - "update_date": "2020-08-13T10:25:07.621Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/96d2674c-2f8f-4495-b95f-a6be448ba8fb": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581446" - }, - "process_core": { - "process_id": "process_id_63" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "96d2674c-2f8f-4495-b95f-a6be448ba8fb", - "submission_date": "2020-08-13T10:24:39.020Z", - "update_date": "2020-08-13T10:25:01.289Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/9bb08d39-3957-4ff7-a20d-cc45a1cb38ab": { - "process_core": { - "process_id": "F06-LIV-3p-CD45neg" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "9bb08d39-3957-4ff7-a20d-cc45a1cb38ab", - "submission_date": "2020-08-13T10:24:41.954Z", - "update_date": "2020-08-13T10:25:05.731Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/9d8ad642-95f5-4574-b9fd-a22f147f3809": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581509" - }, - "process_core": { - "process_id": "process_id_90" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "9d8ad642-95f5-4574-b9fd-a22f147f3809", - "submission_date": "2020-08-13T10:24:41.585Z", - "update_date": "2020-08-13T10:25:02.758Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/9f686a8c-9b49-4b37-9c5e-a6017b4aaf0e": { - "process_core": { - "process_id": "process_id_16" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "9f686a8c-9b49-4b37-9c5e-a6017b4aaf0e", - "submission_date": "2020-08-13T10:24:35.817Z", - "update_date": "2020-08-13T10:24:58.774Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/a0cf7b57-f8ac-4591-bfe5-a9a2b7416057": { - "process_core": { - "process_id": "process_id_25" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a0cf7b57-f8ac-4591-bfe5-a9a2b7416057", - "submission_date": "2020-08-13T10:24:35.901Z", - "update_date": "2020-08-13T10:24:59.019Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/a0e661e2-dac9-4004-9605-8307c15f831d": { - "process_core": { - "process_id": "F08-LIV-3p-CD45pos_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a0e661e2-dac9-4004-9605-8307c15f831d", - "submission_date": "2020-08-13T10:24:42.170Z", - "update_date": "2020-08-13T10:25:08.711Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/a2653332-1aab-49d6-8da8-b5c5fe004e70": { - "process_core": { - "process_id": "process_id_11" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a2653332-1aab-49d6-8da8-b5c5fe004e70", - "submission_date": "2020-08-13T10:24:35.770Z", - "update_date": "2020-08-13T10:24:58.654Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/a753faac-75d8-442d-a44d-b0320ba88fe0": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581510" - }, - "process_core": { - "process_id": "process_id_87" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a753faac-75d8-442d-a44d-b0320ba88fe0", - "submission_date": "2020-08-13T10:24:41.439Z", - "update_date": "2020-08-13T10:25:02.584Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/a81da3e0-7245-44e8-8034-b9ebab1fcf2f": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581488" - }, - "process_core": { - "process_id": "process_id_42" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a81da3e0-7245-44e8-8034-b9ebab1fcf2f", - "submission_date": "2020-08-13T10:24:36.075Z", - "update_date": "2020-08-13T10:24:59.795Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/a9c40eb8-24b6-4436-a3d3-e8035e84f6ae": { - "process_core": { - "process_id": "F12-LIV-3p-CD45neg_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "a9c40eb8-24b6-4436-a3d3-e8035e84f6ae", - "submission_date": "2020-08-13T10:24:42.991Z", - "update_date": "2020-08-13T10:25:13.668Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/aa76f640-744e-4c50-92af-33c7f54fc7ee": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581499" - }, - "process_core": { - "process_id": "process_id_92" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "aa76f640-744e-4c50-92af-33c7f54fc7ee", - "submission_date": "2020-08-13T10:24:41.649Z", - "update_date": "2020-08-13T10:25:02.871Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/aeaa76b1-161d-4d9f-a520-d30e87d9c1d9": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581505" - }, - "process_core": { - "process_id": "process_id_105" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "aeaa76b1-161d-4d9f-a520-d30e87d9c1d9", - "submission_date": "2020-08-13T10:24:41.802Z", - "update_date": "2020-08-13T10:25:03.913Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/b1883730-3304-48c1-904b-eb90ab226168": { - "process_core": { - "process_id": "F08-LIV-3p-CD45pos_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "b1883730-3304-48c1-904b-eb90ab226168", - "submission_date": "2020-08-13T10:24:42.179Z", - "update_date": "2020-08-13T10:25:08.846Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/b2b1e2e5-b9f9-4a5f-91c5-ea7cda58cffe": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581452" - }, - "process_core": { - "process_id": "process_id_71" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "b2b1e2e5-b9f9-4a5f-91c5-ea7cda58cffe", - "submission_date": "2020-08-13T10:24:40.179Z", - "update_date": "2020-08-13T10:25:01.727Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/b49fb5d4-6f31-4b7d-827e-bc09ed30a167": { - "process_core": { - "process_id": "F13-LIV-3p-CD45neg" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "b49fb5d4-6f31-4b7d-827e-bc09ed30a167", - "submission_date": "2020-08-13T10:24:42.112Z", - "update_date": "2020-08-13T10:25:07.889Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/b7914794-f8a7-4fba-bb5b-10536eac7d8b": { - "process_core": { - "process_id": "F02-LIV-3p-CD45neg" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "b7914794-f8a7-4fba-bb5b-10536eac7d8b", - "submission_date": "2020-08-13T10:24:42.241Z", - "update_date": "2020-08-13T10:25:09.531Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/b92aadd5-3603-4e12-a92d-22e1f9757361": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581508" - }, - "process_core": { - "process_id": "process_id_86" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "b92aadd5-3603-4e12-a92d-22e1f9757361", - "submission_date": "2020-08-13T10:24:41.422Z", - "update_date": "2020-08-13T10:25:02.517Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/bc583c0e-4336-43d4-a7da-dc7e1f72b50b": { - "process_core": { - "process_id": "F02-LIV-3p-CD45pos" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "bc583c0e-4336-43d4-a7da-dc7e1f72b50b", - "submission_date": "2020-08-13T10:24:42.220Z", - "update_date": "2020-08-13T10:25:09.395Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/bc5ba4f6-a3f1-4156-830f-11228df251bc": { - "process_core": { - "process_id": "F11-LIV-3p-CD45pos_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "bc5ba4f6-a3f1-4156-830f-11228df251bc", - "submission_date": "2020-08-13T10:24:43.121Z", - "update_date": "2020-08-13T10:25:14.877Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/bd90d9bf-cf73-407b-8e3a-07ef2f9c2fd8": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581436" - }, - "process_core": { - "process_id": "process_id_48" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "bd90d9bf-cf73-407b-8e3a-07ef2f9c2fd8", - "submission_date": "2020-08-13T10:24:36.136Z", - "update_date": "2020-08-13T10:25:00.093Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/be7a2637-26cf-48ba-bfc5-52fa945d2d88": { - "process_core": { - "process_id": "F03-LIV-3p-CD45neg" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "be7a2637-26cf-48ba-bfc5-52fa945d2d88", - "submission_date": "2020-08-13T10:24:42.576Z", - "update_date": "2020-08-13T10:25:11.674Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/bfac08a4-0266-4d6b-b8a4-24b57f560017": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581454" - }, - "process_core": { - "process_id": "process_id_84" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "bfac08a4-0266-4d6b-b8a4-24b57f560017", - "submission_date": "2020-08-13T10:24:41.338Z", - "update_date": "2020-08-13T10:25:02.412Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/c0c71843-6831-4e91-90cf-cb31d4a4b277": { - "process_core": { - "process_id": "process_id_3" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "c0c71843-6831-4e91-90cf-cb31d4a4b277", - "submission_date": "2020-08-13T10:24:35.694Z", - "update_date": "2020-08-13T10:24:58.473Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/c301901f-95cd-4a3e-a4df-761fa21e92af": { - "process_core": { - "process_id": "F13-LIV-3p-CD45pos" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "c301901f-95cd-4a3e-a4df-761fa21e92af", - "submission_date": "2020-08-13T10:24:42.103Z", - "update_date": "2020-08-13T10:25:07.755Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/cc78276c-f893-4aa3-996a-1c5dc2c351c6": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581486" - }, - "process_core": { - "process_id": "process_id_40" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "cc78276c-f893-4aa3-996a-1c5dc2c351c6", - "submission_date": "2020-08-13T10:24:36.056Z", - "update_date": "2020-08-13T10:24:59.685Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/cf6620a8-3a16-46fe-815b-039a8dde9e16": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581501" - }, - "process_core": { - "process_id": "process_id_95" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "cf6620a8-3a16-46fe-815b-039a8dde9e16", - "submission_date": "2020-08-13T10:24:41.693Z", - "update_date": "2020-08-13T10:25:03.070Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/cfa1e5da-607e-49b6-aa0d-8f43702b971f": { - "process_core": { - "process_id": "F06-LIV-3p-CD45pos" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "cfa1e5da-607e-49b6-aa0d-8f43702b971f", - "submission_date": "2020-08-13T10:24:41.945Z", - "update_date": "2020-08-13T10:25:05.600Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/d7f083b3-1e02-4838-a7a2-a52bc7bcb1bb": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581460" - }, - "process_core": { - "process_id": "process_id_97" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "d7f083b3-1e02-4838-a7a2-a52bc7bcb1bb", - "submission_date": "2020-08-13T10:24:41.721Z", - "update_date": "2020-08-13T10:25:03.199Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/da70fbc5-f917-483a-990f-a5356da78b50": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581472" - }, - "process_core": { - "process_id": "process_id_34" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "da70fbc5-f917-483a-990f-a5356da78b50", - "submission_date": "2020-08-13T10:24:35.998Z", - "update_date": "2020-08-13T10:24:59.363Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/ded9b30e-12df-4998-846a-7cef685e4bd6": { - "process_core": { - "process_id": "F07-LIV-3p-live" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "ded9b30e-12df-4998-846a-7cef685e4bd6", - "submission_date": "2020-08-13T10:24:42.003Z", - "update_date": "2020-08-13T10:25:06.388Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/e23d96b7-a271-403e-a29e-b2bdb1949070": { - "process_core": { - "process_id": "F03-LIV-3p-CD45pos_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "e23d96b7-a271-403e-a29e-b2bdb1949070", - "submission_date": "2020-08-13T10:24:42.543Z", - "update_date": "2020-08-13T10:25:11.536Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/e7b60260-7ae4-4d5a-b1a4-51622467e4b3": { - "process_core": { - "process_id": "F14-LIV-3p-CD45neg" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "e7b60260-7ae4-4d5a-b1a4-51622467e4b3", - "submission_date": "2020-08-13T10:24:41.993Z", - "update_date": "2020-08-13T10:25:06.256Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/e9eb59a6-8324-47c7-8d54-4517587c6802": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581470" - }, - "process_core": { - "process_id": "process_id_77" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "e9eb59a6-8324-47c7-8d54-4517587c6802", - "submission_date": "2020-08-13T10:24:41.106Z", - "update_date": "2020-08-13T10:25:02.035Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/ea7b5ae7-acdc-4d67-8665-c8a0b52da561": { - "process_core": { - "process_id": "process_id_28" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "ea7b5ae7-acdc-4d67-8665-c8a0b52da561", - "submission_date": "2020-08-13T10:24:35.942Z", - "update_date": "2020-08-13T10:24:59.087Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/eed7135f-d544-4e23-b8c9-266999b4135f": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581458" - }, - "process_core": { - "process_id": "process_id_106" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "eed7135f-d544-4e23-b8c9-266999b4135f", - "submission_date": "2020-08-13T10:24:41.811Z", - "update_date": "2020-08-13T10:25:03.972Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/f027f9ff-0d24-49e2-b71d-18543a4631f2": { - "process_core": { - "process_id": "process_id_23" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "f027f9ff-0d24-49e2-b71d-18543a4631f2", - "submission_date": "2020-08-13T10:24:35.883Z", - "update_date": "2020-08-13T10:24:58.961Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/f0e53f0b-f5b9-4b5e-a168-de936401dc24": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581483" - }, - "process_core": { - "process_id": "process_id_57" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "f0e53f0b-f5b9-4b5e-a168-de936401dc24", - "submission_date": "2020-08-13T10:24:37.291Z", - "update_date": "2020-08-13T10:25:00.956Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/f26c4715-5488-4d7f-ae0e-1c965128fbb1": { - "process_core": { - "process_id": "F08-LIV-3p-CD45neg_1" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "f26c4715-5488-4d7f-ae0e-1c965128fbb1", - "submission_date": "2020-08-13T10:24:42.199Z", - "update_date": "2020-08-13T10:25:09.149Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/f333416d-7f9e-4e54-9fbb-2ee29d55aed9": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581450" - }, - "process_core": { - "process_id": "process_id_101" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "f333416d-7f9e-4e54-9fbb-2ee29d55aed9", - "submission_date": "2020-08-13T10:24:41.761Z", - "update_date": "2020-08-13T10:25:03.719Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/f3e0b538-bf64-417d-8746-52d5ad9311be": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581437" - }, - "process_core": { - "process_id": "process_id_49" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "f3e0b538-bf64-417d-8746-52d5ad9311be", - "submission_date": "2020-08-13T10:24:36.162Z", - "update_date": "2020-08-13T10:25:00.155Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/f4183399-0e70-466e-8915-8e4481f9b7d1": { - "process_core": { - "process_id": "F12-LIV-3p-CD45pos_2" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "f4183399-0e70-466e-8915-8e4481f9b7d1", - "submission_date": "2020-08-13T10:24:42.954Z", - "update_date": "2020-08-13T10:25:13.344Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/f4a448a7-bc5a-4014-ab1f-0d1a8cd4e47c": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581451" - }, - "process_core": { - "process_id": "process_id_73" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "f4a448a7-bc5a-4014-ab1f-0d1a8cd4e47c", - "submission_date": "2020-08-13T10:24:40.436Z", - "update_date": "2020-08-13T10:25:01.813Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/f70a20e6-ad33-424e-b385-bb9a19be000e": { - "insdc_experiment": { - "insdc_experiment_accession": "ERX3581511" - }, - "process_core": { - "process_id": "process_id_91" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "f70a20e6-ad33-424e-b385-bb9a19be000e", - "submission_date": "2020-08-13T10:24:41.616Z", - "update_date": "2020-08-13T10:25:02.813Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "cell_suspension/02f33fc2-eb2f-4c78-a7f5-002a1747e71f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F08-LIV-3p-CD45pos_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060678" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3526, - "provenance": { - "document_id": "02f33fc2-eb2f-4c78-a7f5-002a1747e71f", - "submission_date": "2020-08-13T10:24:31.566Z", - "update_date": "2020-08-13T10:24:52.923Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/17782e68-694a-42df-9411-9fd875b95cc7": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F14-LIV-3p-CD45pos", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060659" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2607, - "provenance": { - "document_id": "17782e68-694a-42df-9411-9fd875b95cc7", - "submission_date": "2020-08-13T10:24:31.793Z", - "update_date": "2020-08-13T10:24:54.923Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/1853e602-4743-4179-863b-fb686a6a7a9a": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F15-LIV-3p-CD45pos", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060714" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3191, - "provenance": { - "document_id": "1853e602-4743-4179-863b-fb686a6a7a9a", - "submission_date": "2020-08-13T10:24:31.810Z", - "update_date": "2020-08-13T10:24:55.090Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/19b7eb13-fef6-46a4-abb9-44a310e441b5": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F07-LIV-3p-live", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060661" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 4073, - "provenance": { - "document_id": "19b7eb13-fef6-46a4-abb9-44a310e441b5", - "submission_date": "2020-08-13T10:24:31.538Z", - "update_date": "2020-08-13T10:24:52.756Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/1b8c4fa4-24d0-42b5-99e1-8c04eba5d8c3": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F11-LIV-3p-CD45pos_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060718" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2050, - "provenance": { - "document_id": "1b8c4fa4-24d0-42b5-99e1-8c04eba5d8c3", - "submission_date": "2020-08-13T10:24:31.669Z", - "update_date": "2020-08-13T10:24:53.892Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/1fe49331-d165-4443-a82b-612309cb9567": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F13-LIV-3p-CD45neg", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060671" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 4373, - "provenance": { - "document_id": "1fe49331-d165-4443-a82b-612309cb9567", - "submission_date": "2020-08-13T10:24:31.785Z", - "update_date": "2020-08-13T10:24:54.852Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/204dfd1c-ea7a-494b-a151-f1bcd586ddfb": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F16-LIV-3p-CD45pos", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060668" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 1909, - "provenance": { - "document_id": "204dfd1c-ea7a-494b-a151-f1bcd586ddfb", - "submission_date": "2020-08-13T10:24:31.844Z", - "update_date": "2020-08-13T10:24:55.399Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/27749341-b419-4dca-9175-a6a9025116a9": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F14-LIV-3p-CD45neg", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060660" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 4050, - "provenance": { - "document_id": "27749341-b419-4dca-9175-a6a9025116a9", - "submission_date": "2020-08-13T10:24:31.801Z", - "update_date": "2020-08-13T10:24:55.014Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/2b532bac-4ebb-47db-b5e2-37b8da2b5f6c": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F15-LIV-3p-CD45neg", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060715" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3713, - "provenance": { - "document_id": "2b532bac-4ebb-47db-b5e2-37b8da2b5f6c", - "submission_date": "2020-08-13T10:24:31.835Z", - "update_date": "2020-08-13T10:24:55.330Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/469016a2-3bea-4244-8bae-835c499c8ac0": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F05-LIV-3p-CD45neg_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060694" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3296, - "provenance": { - "document_id": "469016a2-3bea-4244-8bae-835c499c8ac0", - "submission_date": "2020-08-13T10:24:31.350Z", - "update_date": "2020-08-13T10:24:51.602Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/470877fd-03da-40a6-9508-330b580cf728": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F07-LIV-3p-CD45pos", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060662" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2417, - "provenance": { - "document_id": "470877fd-03da-40a6-9508-330b580cf728", - "submission_date": "2020-08-13T10:24:31.516Z", - "update_date": "2020-08-13T10:24:52.586Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/4c32ae0b-8338-4906-90ef-06e1e4fd7577": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F10-LIV-3p-CD45neg", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060665" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3005, - "provenance": { - "document_id": "4c32ae0b-8338-4906-90ef-06e1e4fd7577", - "submission_date": "2020-08-13T10:24:31.660Z", - "update_date": "2020-08-13T10:24:53.810Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/4dae1604-6e74-4306-ae82-2da7ca2efd77": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F05-LIV-3p-CD45pos_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060691" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 4404, - "provenance": { - "document_id": "4dae1604-6e74-4306-ae82-2da7ca2efd77", - "submission_date": "2020-08-13T10:24:31.312Z", - "update_date": "2020-08-13T10:24:51.261Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/4fd506bc-5824-4a7b-a44a-8d02532c5277": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F06-LIV-3p-CD45neg", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060656" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 639, - "provenance": { - "document_id": "4fd506bc-5824-4a7b-a44a-8d02532c5277", - "submission_date": "2020-08-13T10:24:31.408Z", - "update_date": "2020-08-13T10:24:51.990Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/5ee0a825-8c35-4fe5-ab67-454c6bfd949b": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F10-LIV-3p-CD45pos", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060664" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2653, - "provenance": { - "document_id": "5ee0a825-8c35-4fe5-ab67-454c6bfd949b", - "submission_date": "2020-08-13T10:24:31.652Z", - "update_date": "2020-08-13T10:24:53.734Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/5fc661b9-440a-4b6f-b2f9-f847043debec": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F02-LIV-3p-CD45neg", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060683" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3335, - "provenance": { - "document_id": "5fc661b9-440a-4b6f-b2f9-f847043debec", - "submission_date": "2020-08-13T10:24:31.143Z", - "update_date": "2020-08-13T10:24:49.691Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/6194245b-1ce5-495e-8e85-d859b3fcce66": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F12-LIV-3p-CD45pos_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060710" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2070, - "provenance": { - "document_id": "6194245b-1ce5-495e-8e85-d859b3fcce66", - "submission_date": "2020-08-13T10:24:31.731Z", - "update_date": "2020-08-13T10:24:54.413Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/64713d72-8e8f-4350-a3ba-e1981c872100": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F05-LIV-3p-CD45pos_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060692" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 4404, - "provenance": { - "document_id": "64713d72-8e8f-4350-a3ba-e1981c872100", - "submission_date": "2020-08-13T10:24:31.320Z", - "update_date": "2020-08-13T10:24:51.331Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/6b34fa3f-1878-48ec-84c2-e2d8877903c4": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F04-LIV-3p-CD45pos", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060646" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 98, - "provenance": { - "document_id": "6b34fa3f-1878-48ec-84c2-e2d8877903c4", - "submission_date": "2020-08-13T10:24:31.258Z", - "update_date": "2020-08-13T10:24:50.783Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/700af591-d469-4a3d-a908-cff116f28242": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F13-LIV-3p-CD45pos", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060670" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 5357, - "provenance": { - "document_id": "700af591-d469-4a3d-a908-cff116f28242", - "submission_date": "2020-08-13T10:24:31.769Z", - "update_date": "2020-08-13T10:24:54.706Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/7318a24c-7abf-445d-b4d2-2c5acc01e715": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F06-LIV-3p-CD45pos", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060655" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 208, - "provenance": { - "document_id": "7318a24c-7abf-445d-b4d2-2c5acc01e715", - "submission_date": "2020-08-13T10:24:31.393Z", - "update_date": "2020-08-13T10:24:51.897Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/732d6ffa-1d89-4476-ad10-5ce9d83a78ad": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F08-LIV-3p-CD45pos_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060677" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3526, - "provenance": { - "document_id": "732d6ffa-1d89-4476-ad10-5ce9d83a78ad", - "submission_date": "2020-08-13T10:24:31.550Z", - "update_date": "2020-08-13T10:24:52.835Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/74d1b609-5477-4ec3-840e-fa721ffa580f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F08-LIV-3p-CD45neg_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060680" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3174, - "provenance": { - "document_id": "74d1b609-5477-4ec3-840e-fa721ffa580f", - "submission_date": "2020-08-13T10:24:31.585Z", - "update_date": "2020-08-13T10:24:53.116Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/7c2c2ced-a0e3-4df7-ae1d-890218465626": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F05-LIV-3p-CD45neg_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060693" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3296, - "provenance": { - "document_id": "7c2c2ced-a0e3-4df7-ae1d-890218465626", - "submission_date": "2020-08-13T10:24:31.341Z", - "update_date": "2020-08-13T10:24:51.520Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/85a66538-6c12-4ab4-9679-b1f95001606d": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F06-LIV-3p-live", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060651" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 1145, - "provenance": { - "document_id": "85a66538-6c12-4ab4-9679-b1f95001606d", - "submission_date": "2020-08-13T10:24:31.418Z", - "update_date": "2020-08-13T10:24:52.064Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/85e09b5b-24a8-4eea-9b0a-8ca17f9db79d": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F16-LIV-3p-CD45neg", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060669" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3406, - "provenance": { - "document_id": "85e09b5b-24a8-4eea-9b0a-8ca17f9db79d", - "submission_date": "2020-08-13T10:24:31.853Z", - "update_date": "2020-08-13T10:24:55.469Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/8d7b1004-5265-40cd-8912-336d71e0f296": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F11-LIV-3p-CD45neg_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060721" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2137, - "provenance": { - "document_id": "8d7b1004-5265-40cd-8912-336d71e0f296", - "submission_date": "2020-08-13T10:24:31.711Z", - "update_date": "2020-08-13T10:24:54.261Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/90ab9fe3-3847-4477-bff8-66db44610c92": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F11-LIV-3p-CD45pos_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060720" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2050, - "provenance": { - "document_id": "90ab9fe3-3847-4477-bff8-66db44610c92", - "submission_date": "2020-08-13T10:24:31.677Z", - "update_date": "2020-08-13T10:24:53.968Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/91a5af73-4a8a-4285-bcbb-42344e18745f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F07-LIV-3p-CD45neg", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060663" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3468, - "provenance": { - "document_id": "91a5af73-4a8a-4285-bcbb-42344e18745f", - "submission_date": "2020-08-13T10:24:31.527Z", - "update_date": "2020-08-13T10:24:52.669Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/a69fcb4d-a7ec-4101-9e5a-1959bc3265ae": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F08-LIV-3p-CD45pos_3", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060679" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3526, - "provenance": { - "document_id": "a69fcb4d-a7ec-4101-9e5a-1959bc3265ae", - "submission_date": "2020-08-13T10:24:31.575Z", - "update_date": "2020-08-13T10:24:53.030Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/a7738486-8b11-4e05-a004-6c931569972f": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F03-LIV-3p-CD45pos_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060696" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2852, - "provenance": { - "document_id": "a7738486-8b11-4e05-a004-6c931569972f", - "submission_date": "2020-08-13T10:24:31.188Z", - "update_date": "2020-08-13T10:24:50.189Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/a8674039-068d-4560-aa99-b9481239d4fb": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F03-LIV-3p-CD45neg", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060698" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3117, - "provenance": { - "document_id": "a8674039-068d-4560-aa99-b9481239d4fb", - "submission_date": "2020-08-13T10:24:31.205Z", - "update_date": "2020-08-13T10:24:50.328Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/ae38fa93-e50c-4033-a1e9-ac404ede7380": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F12-LIV-3p-CD45neg_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060712" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2640, - "provenance": { - "document_id": "ae38fa93-e50c-4033-a1e9-ac404ede7380", - "submission_date": "2020-08-13T10:24:31.761Z", - "update_date": "2020-08-13T10:24:54.633Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/b5e9df12-e333-4754-a01b-c83c4b8f644a": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F11-LIV-3p-CD45neg_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060719" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2137, - "provenance": { - "document_id": "b5e9df12-e333-4754-a01b-c83c4b8f644a", - "submission_date": "2020-08-13T10:24:31.702Z", - "update_date": "2020-08-13T10:24:54.185Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/c57bdaec-21df-479e-857e-ddb6f5f78f95": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F12-LIV-3p-CD45neg_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060711" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2640, - "provenance": { - "document_id": "c57bdaec-21df-479e-857e-ddb6f5f78f95", - "submission_date": "2020-08-13T10:24:31.749Z", - "update_date": "2020-08-13T10:24:54.560Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/c8d8c14f-4e5e-4911-a386-391fd1153969": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F04-LIV-3p-CD45neg", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060647" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 1037, - "provenance": { - "document_id": "c8d8c14f-4e5e-4911-a386-391fd1153969", - "submission_date": "2020-08-13T10:24:31.267Z", - "update_date": "2020-08-13T10:24:50.861Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/d4b2569d-4f63-41c0-9a11-97068ee3ae68": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F12-LIV-3p-CD45pos_1", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060709" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2070, - "provenance": { - "document_id": "d4b2569d-4f63-41c0-9a11-97068ee3ae68", - "submission_date": "2020-08-13T10:24:31.722Z", - "update_date": "2020-08-13T10:24:54.333Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/d94541a9-1505-4a33-8ff5-fcb2b19b0d92": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F08-LIV-3p-CD45neg_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060681" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3174, - "provenance": { - "document_id": "d94541a9-1505-4a33-8ff5-fcb2b19b0d92", - "submission_date": "2020-08-13T10:24:31.594Z", - "update_date": "2020-08-13T10:24:53.194Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/ef50dd96-a305-4edd-84e7-aae93377c488": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F03-LIV-3p-CD45pos_2", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060697" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 2852, - "provenance": { - "document_id": "ef50dd96-a305-4edd-84e7-aae93377c488", - "submission_date": "2020-08-13T10:24:31.197Z", - "update_date": "2020-08-13T10:24:50.258Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "cell_suspension/ffe830d9-c586-47d1-9bb4-33baed6dcdc7": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F02-LIV-3p-CD45pos", - "ncbi_taxon_id": [ - 9606 - ], - "biosamples_accession": "SAMEA6060682" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "estimated_cell_count": 3418, - "provenance": { - "document_id": "ffe830d9-c586-47d1-9bb4-33baed6dcdc7", - "submission_date": "2020-08-13T10:24:31.133Z", - "update_date": "2020-08-13T10:24:49.619Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "donor_organism/1b5a4bc7-5a90-4782-a657-536a8b533156": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F13", - "biomaterial_name": "F30", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F30 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "rsa(13,15,16,18,21,22)x2 (X,Y)x1", - "HDBR_accession": "13944" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "no", - "development_stage": { - "text": "15pcw", - "ontology": "HsapDv:0000052", - "ontology_label": "15th week post-fertilization human stage" - }, - "gestational_age": "17", - "provenance": { - "document_id": "1b5a4bc7-5a90-4782-a657-536a8b533156", - "submission_date": "2020-08-13T10:24:30.757Z", - "update_date": "2020-08-13T10:24:44.552Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "donor_organism/39046bdd-483c-44ad-9b50-dea608d34255": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F14", - "biomaterial_name": "F21", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F21 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "46, XY", - "HDBR_accession": "13890" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "no", - "development_stage": { - "text": "16pcw", - "ontology": "HsapDv:0000053", - "ontology_label": "16th week post-fertilization human stage" - }, - "gestational_age": "18", - "provenance": { - "document_id": "39046bdd-483c-44ad-9b50-dea608d34255", - "submission_date": "2020-08-13T10:24:30.765Z", - "update_date": "2020-08-13T10:24:44.580Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "donor_organism/5baa7164-60f5-4b28-8bad-e9a0563cac70": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F04", - "biomaterial_name": "F16", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F16 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "46, XY", - "HDBR_accession": "13678" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "no", - "development_stage": { - "text": "L8pcw", - "ontology": "HsapDv:0000015", - "ontology_label": "organogenesis stage" - }, - "gestational_age": "10", - "provenance": { - "document_id": "5baa7164-60f5-4b28-8bad-e9a0563cac70", - "submission_date": "2020-08-13T10:24:30.656Z", - "update_date": "2020-08-13T10:24:44.208Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "donor_organism/793d9bf6-00cb-49e6-acc2-2cc724036645": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F12", - "biomaterial_name": "F38", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F38 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "rsa(13,15,16,18,21,22)x2(X,Y)x1", - "HDBR_accession": "14146" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "no", - "development_stage": { - "text": "13pcw", - "ontology": "HsapDv:0000050", - "ontology_label": "13th week post-fertilization human stage" - }, - "gestational_age": "15", - "provenance": { - "document_id": "793d9bf6-00cb-49e6-acc2-2cc724036645", - "submission_date": "2020-08-13T10:24:30.748Z", - "update_date": "2020-08-13T10:24:44.524Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "donor_organism/85dc3748-6751-482b-b7cd-c1e08f7df5c0": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F06", - "biomaterial_name": "F17", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F17 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "46, XX", - "HDBR_accession": "13687" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "development_stage": { - "text": "9pcw", - "ontology": "HsapDv:0000046", - "ontology_label": "9th week post-fertilization human stage" - }, - "gestational_age": "11", - "provenance": { - "document_id": "85dc3748-6751-482b-b7cd-c1e08f7df5c0", - "submission_date": "2020-08-13T10:24:30.684Z", - "update_date": "2020-08-13T10:24:44.299Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "donor_organism/8f63d864-87e5-40f3-8f68-936640010c7d": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F03", - "biomaterial_name": "F35", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F35 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "not available", - "HDBR_accession": "14087" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "development_stage": { - "text": "CS23", - "ontology": "HsapDv:0000030", - "ontology_label": "Carnegie stage 23" - }, - "gestational_age": "9", - "provenance": { - "document_id": "8f63d864-87e5-40f3-8f68-936640010c7d", - "submission_date": "2020-08-13T10:24:30.639Z", - "update_date": "2020-08-13T10:24:44.155Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "donor_organism/9417041b-2952-41d5-b0d8-b42694f4fd4a": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F11", - "biomaterial_name": "F45", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F45 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "rsa(13,15,16,18,21,22,X)x2", - "HDBR_accession": "14215" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "development_stage": { - "text": "12pcw", - "ontology": "HsapDv:0000049", - "ontology_label": "12th week post-fertilization human stage" - }, - "gestational_age": "14", - "provenance": { - "document_id": "9417041b-2952-41d5-b0d8-b42694f4fd4a", - "submission_date": "2020-08-13T10:24:30.739Z", - "update_date": "2020-08-13T10:24:44.494Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "donor_organism/ae71343b-df16-49a3-829d-a6e61afdc079": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F08", - "biomaterial_name": "F33", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F33 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "rsa(13,15,16,18,21,22)x2 (X,X)x1", - "HDBR_accession": "14011" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "development_stage": { - "text": "9pcw", - "ontology": "HsapDv:0000046", - "ontology_label": "9th week post-fertilization human stage" - }, - "gestational_age": "11", - "provenance": { - "document_id": "ae71343b-df16-49a3-829d-a6e61afdc079", - "submission_date": "2020-08-13T10:24:30.711Z", - "update_date": "2020-08-13T10:24:44.369Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "donor_organism/ba005942-3abb-4988-90a4-57747fb05b8b": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F16", - "biomaterial_name": "F29", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F29 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "rsa(13,15,16,18,21,22)x2 (X,X)x1", - "HDBR_accession": "13935" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "development_stage": { - "text": "17pcw", - "ontology": "HsapDv:0000054", - "ontology_label": "17th week post-fertilization human stage" - }, - "gestational_age": "19", - "provenance": { - "document_id": "ba005942-3abb-4988-90a4-57747fb05b8b", - "submission_date": "2020-08-13T10:24:30.782Z", - "update_date": "2020-08-13T10:24:44.626Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "donor_organism/d0baedfe-0556-4c2b-a1a0-d1e28ef07bb5": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F02", - "biomaterial_name": "F32", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F32 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "rsa(13,15,16,18,21,22,X)x2", - "HDBR_accession": "13994" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "development_stage": { - "text": "CS23", - "ontology": "HsapDv:0000030", - "ontology_label": "Carnegie stage 23" - }, - "gestational_age": "9", - "provenance": { - "document_id": "d0baedfe-0556-4c2b-a1a0-d1e28ef07bb5", - "submission_date": "2020-08-13T10:24:30.629Z", - "update_date": "2020-08-13T10:24:44.081Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "donor_organism/dd19fdc7-35a9-432f-9a97-670637433eda": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F07", - "biomaterial_name": "F22", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F22 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "46, XX", - "HDBR_accession": "13899" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "development_stage": { - "text": "10pcw", - "ontology": "HsapDv:0000047", - "ontology_label": "10th week post-fertilization human stage" - }, - "gestational_age": "12", - "provenance": { - "document_id": "dd19fdc7-35a9-432f-9a97-670637433eda", - "submission_date": "2020-08-13T10:24:30.696Z", - "update_date": "2020-08-13T10:24:44.321Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "donor_organism/e8fbe9c1-ab25-4300-a40d-65d0e8f627e0": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F05", - "biomaterial_name": "F34", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F34 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "rsa(13,15,16,18,21,22,X)x2", - "HDBR_accession": "14023" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "development_stage": { - "text": "CS23", - "ontology": "HsapDv:0000030", - "ontology_label": "Carnegie stage 23" - }, - "gestational_age": "10", - "provenance": { - "document_id": "e8fbe9c1-ab25-4300-a40d-65d0e8f627e0", - "submission_date": "2020-08-13T10:24:30.672Z", - "update_date": "2020-08-13T10:24:44.246Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "donor_organism/eed4d335-880b-4735-9d04-cdbf706e3d44": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F10", - "biomaterial_name": "F23", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F23 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "46, XY", - "HDBR_accession": "13900" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "male", - "is_living": "no", - "development_stage": { - "text": "11pcw", - "ontology": "HsapDv:0000048", - "ontology_label": "11th week post-fertilization human stage" - }, - "gestational_age": "13", - "provenance": { - "document_id": "eed4d335-880b-4735-9d04-cdbf706e3d44", - "submission_date": "2020-08-13T10:24:30.730Z", - "update_date": "2020-08-13T10:24:44.459Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - }, - "donor_organism/f2ed99b4-a68d-4d54-8c65-9534ad5931b5": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "F15", - "biomaterial_name": "F41", - "biomaterial_description": "prenatal donor from HDBR tracked with internal code F41 in internal tracking", - "ncbi_taxon_id": [ - 9606 - ], - "genotype": "rsa(13,15,16,18,21,22,X)x2", - "HDBR_accession": "14167" - }, - "genus_species": [ - { - "text": "Homo Sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "sex": "female", - "is_living": "no", - "development_stage": { - "text": "16pcw", - "ontology": "HsapDv:0000053", - "ontology_label": "16th week post-fertilization human stage" - }, - "gestational_age": "18", - "provenance": { - "document_id": "f2ed99b4-a68d-4d54-8c65-9534ad5931b5", - "submission_date": "2020-08-13T10:24:30.774Z", - "update_date": "2020-08-13T10:24:44.602Z", - "schema_major_version": 15, - "schema_minor_version": 5 - }, - "diseases": [ - { - "text": "normal", - "ontology_label": "normal", - "ontology": "PATO:0000461" - } - ] - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/2.1.1/links", - "schema_type": "links", - "schema_version": "2.1.1", - "links": [ - { - "inputs": [ - { - "input_id": "3aa80a42-646a-5953-afe6-b177a78297df", - "input_type": "analysis_file" - }, - { - "input_id": "c31aecba-db6a-5229-a729-66269d90ee8a", - "input_type": "analysis_file" - }, - { - "input_id": "9baa3062-0022-53e2-a3df-14df08c4c66c", - "input_type": "analysis_file" - }, - { - "input_id": "8de90a27-1f7c-5651-b3d6-8527c1ed92d6", - "input_type": "analysis_file" - }, - { - "input_id": "07a81052-3964-5b08-8f2d-066c1e29de7d", - "input_type": "analysis_file" - }, - { - "input_id": "538399a0-da86-57f5-88c6-b150db89c3f3", - "input_type": "analysis_file" - }, - { - "input_id": "4ba8f00e-0833-5862-bc6e-0cc2acb5d684", - "input_type": "analysis_file" - }, - { - "input_id": "2b64aedb-2563-547f-ba70-aa9b8c1d5d3f", - "input_type": "analysis_file" - }, - { - "input_id": "b9877824-638a-5fde-8196-70317fa1cc19", - "input_type": "analysis_file" - }, - { - "input_id": "8f3ed51f-9369-59ac-a2bc-70e1af25d169", - "input_type": "analysis_file" - }, - { - "input_id": "0db36828-3fae-5bd2-b052-ae63b88693d9", - "input_type": "analysis_file" - }, - { - "input_id": "295db19e-bdcc-5428-a68a-e0de856c4522", - "input_type": "analysis_file" - }, - { - "input_id": "07a18873-6df1-57a8-848c-980bfa29fbf5", - "input_type": "analysis_file" - }, - { - "input_id": "4a302268-f155-5a27-b164-dff6f1fc78fa", - "input_type": "analysis_file" - }, - { - "input_id": "1685c144-966c-53fe-8bd3-2a053b55966c", - "input_type": "analysis_file" - }, - { - "input_id": "c1770287-3376-5cc1-a2a2-9676e7f5716e", - "input_type": "analysis_file" - }, - { - "input_id": "69cc1f24-8be9-58aa-af3e-99c13507216e", - "input_type": "analysis_file" - }, - { - "input_id": "52ca4cde-727f-564e-95dd-7872573ebeba", - "input_type": "analysis_file" - }, - { - "input_id": "8cdbf96a-27ae-590c-b967-8a850c760785", - "input_type": "analysis_file" - }, - { - "input_id": "e3735012-e613-5a77-b38e-68fb27f9fdd7", - "input_type": "analysis_file" - }, - { - "input_id": "845dd01f-cad1-54a4-8ff3-acd78d29a5b1", - "input_type": "analysis_file" - }, - { - "input_id": "11712f1f-d3c5-54b4-9ab3-cd12b8eb15b7", - "input_type": "analysis_file" - }, - { - "input_id": "6a73dfce-0163-5b3e-b1cd-0df84fb30871", - "input_type": "analysis_file" - }, - { - "input_id": "0a79ce42-b2b7-5c37-8bb2-e61bc1b5e38f", - "input_type": "analysis_file" - }, - { - "input_id": "dcaba295-f646-562f-8752-6f6fa634bc4f", - "input_type": "analysis_file" - }, - { - "input_id": "8848e80d-192f-5c47-bb3e-ef0d519e1761", - "input_type": "analysis_file" - }, - { - "input_id": "91caea03-3c9a-5ba8-9acc-3685e3a6062e", - "input_type": "analysis_file" - }, - { - "input_id": "9b6d349f-774f-56e1-ab6b-938385c60a4f", - "input_type": "analysis_file" - }, - { - "input_id": "2c88ef68-7029-5f00-9387-a364d6292976", - "input_type": "analysis_file" - }, - { - "input_id": "b7f87bc7-bb85-5bd8-beae-1d14cd6846ef", - "input_type": "analysis_file" - }, - { - "input_id": "e6604cbc-c882-5f03-b4d0-807eb969a293", - "input_type": "analysis_file" - }, - { - "input_id": "d8146d19-442a-5dbe-a075-b3a1ef0ebf07", - "input_type": "analysis_file" - }, - { - "input_id": "07b48eae-1703-5821-b3e6-66bb1488e7b2", - "input_type": "analysis_file" - }, - { - "input_id": "2d253fef-4538-511a-a960-bd999afeecf4", - "input_type": "analysis_file" - }, - { - "input_id": "129bdef3-ae23-5273-920f-204cccd878fc", - "input_type": "analysis_file" - }, - { - "input_id": "ce52572d-f7d1-585d-a54f-fc14297d19c0", - "input_type": "analysis_file" - }, - { - "input_id": "d9b006ee-9626-517f-baed-e6c7bc8a8686", - "input_type": "analysis_file" - }, - { - "input_id": "dc9ec562-3a71-5e42-b486-4f846ff7fcc0", - "input_type": "analysis_file" - }, - { - "input_id": "3450ac1e-8d8f-5bad-bd44-322d792acc8a", - "input_type": "analysis_file" - }, - { - "input_id": "087aca40-9bc5-56b9-8cd5-a5a0488c18f2", - "input_type": "analysis_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "c18f9014-7086-5216-a73a-e37af51f2bbb", - "output_type": "analysis_file" - } - ], - "process_id": "46dc43b4-19e7-475f-a015-157436454de4", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "432a7422-59b5-5c46-8983-a7953f196781", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "9005739b-11b7-410d-88ad-e05a765dabd9", - "input_type": "sequence_file" - }, - { - "input_id": "a428e47e-0081-497b-9c8a-7c852f4eb103", - "input_type": "sequence_file" - }, - { - "input_id": "4ba330b1-83f6-4d6f-9eb4-4c2f9f8b12ae", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "07a81052-3964-5b08-8f2d-066c1e29de7d", - "output_type": "analysis_file" - }, - { - "output_id": "a1dbe553-ade6-5ce4-b9f9-77c740891c97", - "output_type": "analysis_file" - } - ], - "process_id": "fe261b23-efd5-445b-8dd4-46e47231ccff", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "daa5945d-5d1f-4586-9c85-e3fa5af8bfb5", - "input_type": "sequence_file" - }, - { - "input_id": "e779b50e-a892-4a0c-af02-2dd400956018", - "input_type": "sequence_file" - }, - { - "input_id": "24c3ce12-e4f9-4299-a005-320d602716ce", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "4a302268-f155-5a27-b164-dff6f1fc78fa", - "output_type": "analysis_file" - }, - { - "output_id": "1f43235c-6299-527b-b470-2b6638bdaf8b", - "output_type": "analysis_file" - } - ], - "process_id": "2096cc65-c180-45f2-93b7-fcc5c21db3a1", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "3e6ac46b-1d9d-4c91-b5df-e583208357fe", - "input_type": "sequence_file" - }, - { - "input_id": "cf835034-c34b-4b5d-aac6-8de2e280e959", - "input_type": "sequence_file" - }, - { - "input_id": "bb2d6938-f6ad-461b-8fa4-eca0e4c040b2", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "4ba8f00e-0833-5862-bc6e-0cc2acb5d684", - "output_type": "analysis_file" - }, - { - "output_id": "81f56ff9-36eb-5897-b2e7-318c075ecbc8", - "output_type": "analysis_file" - } - ], - "process_id": "20eaba77-49c4-4d9e-9e82-fb6351a9012a", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "ee9ad501-69c5-49df-89d2-32ea89591634", - "input_type": "sequence_file" - }, - { - "input_id": "28f5f863-26d9-4ca8-abb3-705d369250e7", - "input_type": "sequence_file" - }, - { - "input_id": "99985ea4-d29e-4357-9879-99440a002b49", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "e6604cbc-c882-5f03-b4d0-807eb969a293", - "output_type": "analysis_file" - }, - { - "output_id": "4964726c-4bf7-58a0-a401-6eecf9c7a3b3", - "output_type": "analysis_file" - } - ], - "process_id": "fd0cff96-93f2-4eb4-88f2-991f60542f46", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "7beb8479-c655-4b01-af4f-69f1668e1c6d", - "input_type": "sequence_file" - }, - { - "input_id": "85df5aac-75ac-416a-ba8b-b9b0f8b4e619", - "input_type": "sequence_file" - }, - { - "input_id": "97ab1a9b-43d0-443d-b25c-228f79cb5666", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "8de90a27-1f7c-5651-b3d6-8527c1ed92d6", - "output_type": "analysis_file" - }, - { - "output_id": "cc430c2e-f377-5651-aa5d-3dfa30b421cd", - "output_type": "analysis_file" - } - ], - "process_id": "223980cd-b247-415a-bb6d-41ed360837f2", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "7ee8e5aa-5faa-4491-bd66-150e202974dd", - "input_type": "sequence_file" - }, - { - "input_id": "dbe117fc-c5ee-4347-bb8a-1a3fb9c89895", - "input_type": "sequence_file" - }, - { - "input_id": "10a76c2f-2a9b-4430-88bc-c4f3828e4e3f", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "295db19e-bdcc-5428-a68a-e0de856c4522", - "output_type": "analysis_file" - }, - { - "output_id": "65358965-9b3b-5187-bf6a-f918c6009f83", - "output_type": "analysis_file" - } - ], - "process_id": "cdba26d8-9b1d-471f-9a08-875a09cbb96b", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "afe45faa-e5e1-4cf8-8d79-4092dca736bd", - "input_type": "sequence_file" - }, - { - "input_id": "e512685e-d15e-4b12-9f7f-e871da115586", - "input_type": "sequence_file" - }, - { - "input_id": "012ba773-aefb-4d9f-8ec1-6714dc7f631b", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "07a18873-6df1-57a8-848c-980bfa29fbf5", - "output_type": "analysis_file" - }, - { - "output_id": "561a5c40-9014-5bce-b48b-a2df2687b562", - "output_type": "analysis_file" - } - ], - "process_id": "1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "10a02923-b945-43fe-97db-c984e06dc5a7", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "204dfd1c-ea7a-494b-a151-f1bcd586ddfb" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "97ab1a9b-43d0-443d-b25c-228f79cb5666" - }, - { - "output_type": "sequence_file", - "output_id": "7beb8479-c655-4b01-af4f-69f1668e1c6d" - }, - { - "output_type": "sequence_file", - "output_id": "85df5aac-75ac-416a-ba8b-b9b0f8b4e619" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "eed7135f-d544-4e23-b8c9-266999b4135f", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "dba60b5a-af86-4fde-8cfc-49b008f5adad" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "204dfd1c-ea7a-494b-a151-f1bcd586ddfb" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "ea7b5ae7-acdc-4d67-8665-c8a0b52da561", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "ba005942-3abb-4988-90a4-57747fb05b8b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "dba60b5a-af86-4fde-8cfc-49b008f5adad" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "c1102423-264b-4668-9e09-39b105474d6f", - "input_type": "sequence_file" - }, - { - "input_id": "c50f0504-73bc-4bd6-8ed3-1dcf0b60549f", - "input_type": "sequence_file" - }, - { - "input_id": "62f9d7c8-cb0b-4c30-b2d8-ab43fa4b3384", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "538399a0-da86-57f5-88c6-b150db89c3f3", - "output_type": "analysis_file" - }, - { - "output_id": "789c58d2-6a0d-514e-ac56-f884cd5e078d", - "output_type": "analysis_file" - } - ], - "process_id": "e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "47f2b446-7a03-4286-8a35-41e52394622c", - "input_type": "sequence_file" - }, - { - "input_id": "1e0c544d-2963-4fde-b3cb-5bb9b938acaa", - "input_type": "sequence_file" - }, - { - "input_id": "bb2edf45-1041-4e38-9ace-ec922a747f80", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "dc9ec562-3a71-5e42-b486-4f846ff7fcc0", - "output_type": "analysis_file" - }, - { - "output_id": "489c7fd9-1ac8-5b78-a91d-a44761f9d6e0", - "output_type": "analysis_file" - } - ], - "process_id": "82c03181-f541-4770-8bad-5fb68bf221b2", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "f683fadf-dd8c-4cfe-ae8b-34e3af5b74a1", - "input_type": "sequence_file" - }, - { - "input_id": "82fc4ead-bf34-4834-91ed-cb6ec1717baa", - "input_type": "sequence_file" - }, - { - "input_id": "41a13523-c45b-4546-8273-9321d9a2c250", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "b7f87bc7-bb85-5bd8-beae-1d14cd6846ef", - "output_type": "analysis_file" - }, - { - "output_id": "d2b3f3a1-b030-5c80-89d4-42a76db79127", - "output_type": "analysis_file" - } - ], - "process_id": "16c04a1a-6c78-4755-ada4-36025cd69ce9", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "bc583c0e-4336-43d4-a7da-dc7e1f72b50b", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "ffe830d9-c586-47d1-9bb4-33baed6dcdc7" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "99985ea4-d29e-4357-9879-99440a002b49" - }, - { - "output_type": "sequence_file", - "output_id": "ee9ad501-69c5-49df-89d2-32ea89591634" - }, - { - "output_type": "sequence_file", - "output_id": "28f5f863-26d9-4ca8-abb3-705d369250e7" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "da70fbc5-f917-483a-990f-a5356da78b50", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "619887a0-67fb-4e24-be95-409f9b3e8474" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "ffe830d9-c586-47d1-9bb4-33baed6dcdc7" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "c0c71843-6831-4e91-90cf-cb31d4a4b277", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "d0baedfe-0556-4c2b-a1a0-d1e28ef07bb5" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "619887a0-67fb-4e24-be95-409f9b3e8474" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "6a512fd9-3942-4497-87fd-977d2a243b1c", - "input_type": "sequence_file" - }, - { - "input_id": "837fa4ab-745a-4a41-9fbf-0a4d1d1054d5", - "input_type": "sequence_file" - }, - { - "input_id": "756f8cce-2d70-4c53-a893-e26d556f0f06", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "07b48eae-1703-5821-b3e6-66bb1488e7b2", - "output_type": "analysis_file" - }, - { - "output_id": "1da5525c-2986-510e-9890-748b232ad65e", - "output_type": "analysis_file" - } - ], - "process_id": "c1ab22ca-2289-4384-82be-a3f16bdf113d", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "be7a2637-26cf-48ba-bfc5-52fa945d2d88", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "a8674039-068d-4560-aa99-b9481239d4fb" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "756f8cce-2d70-4c53-a893-e26d556f0f06" - }, - { - "output_type": "sequence_file", - "output_id": "6a512fd9-3942-4497-87fd-977d2a243b1c" - }, - { - "output_type": "sequence_file", - "output_id": "837fa4ab-745a-4a41-9fbf-0a4d1d1054d5" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "a81da3e0-7245-44e8-8034-b9ebab1fcf2f", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "ae073235-e422-4c3a-8bf4-9892d6e769b3" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "a8674039-068d-4560-aa99-b9481239d4fb" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "57c18bb9-bb99-48dc-bf49-70e3e558deeb", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "8f63d864-87e5-40f3-8f68-936640010c7d" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "ae073235-e422-4c3a-8bf4-9892d6e769b3" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "d7f0b745-c135-4594-9a4b-a4c66c8a1520", - "input_type": "sequence_file" - }, - { - "input_id": "41ae7f5d-67e9-4bc8-a844-262a9dea9b96", - "input_type": "sequence_file" - }, - { - "input_id": "15af1b4f-6944-4af6-8a2a-4fea163edde2", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "3aa80a42-646a-5953-afe6-b177a78297df", - "output_type": "analysis_file" - }, - { - "output_id": "4a28b164-2d5a-5232-946a-ac70276036b5", - "output_type": "analysis_file" - } - ], - "process_id": "e9de5082-46c8-4b26-83c0-7fd480dcb142", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "a3bef94d-a68f-43d4-8cb8-58977b20f849", - "input_type": "sequence_file" - }, - { - "input_id": "c30c31d2-ccfb-4651-8b78-a25a23ab4e95", - "input_type": "sequence_file" - }, - { - "input_id": "0619dd26-7a22-4fc9-ac35-7a381a502e6f", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "b9877824-638a-5fde-8196-70317fa1cc19", - "output_type": "analysis_file" - }, - { - "output_id": "ff3b3d1c-2ba9-50a9-9ca7-0558012cbe7d", - "output_type": "analysis_file" - } - ], - "process_id": "0c75f376-4092-403f-8b91-dbb19b4fdf94", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "785275c2-08e7-486f-bed5-850993b704d3", - "input_type": "sequence_file" - }, - { - "input_id": "75017000-be20-4f58-91ea-abaf63344959", - "input_type": "sequence_file" - }, - { - "input_id": "ed8bc174-30cc-4fa4-9e48-0543b825b1e4", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "0a79ce42-b2b7-5c37-8bb2-e61bc1b5e38f", - "output_type": "analysis_file" - }, - { - "output_id": "61a2e552-6617-589e-8985-e1b730d3095c", - "output_type": "analysis_file" - } - ], - "process_id": "98f74c7b-abd8-4adc-b68f-f68aa5d3e58c", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "1248ead2-3dd4-43fe-9f7c-9609ed77d9c2", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "b5e9df12-e333-4754-a01b-c83c4b8f644a" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "4ba330b1-83f6-4d6f-9eb4-4c2f9f8b12ae" - }, - { - "output_type": "sequence_file", - "output_id": "9005739b-11b7-410d-88ad-e05a765dabd9" - }, - { - "output_type": "sequence_file", - "output_id": "a428e47e-0081-497b-9c8a-7c852f4eb103" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "9d8ad642-95f5-4574-b9fd-a22f147f3809", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "1edb7ccc-0cb3-41c4-a193-181542bce479" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "b5e9df12-e333-4754-a01b-c83c4b8f644a" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f027f9ff-0d24-49e2-b71d-18543a4631f2", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "9417041b-2952-41d5-b0d8-b42694f4fd4a" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "1edb7ccc-0cb3-41c4-a193-181542bce479" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "336b106c-f5f3-4d35-b583-05fc33ee910f", - "input_type": "sequence_file" - }, - { - "input_id": "f17d1da2-2965-4732-a94a-6cd2a58fc873", - "input_type": "sequence_file" - }, - { - "input_id": "1872f705-7ccc-42af-80c5-7645ccd2848c", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "8f3ed51f-9369-59ac-a2bc-70e1af25d169", - "output_type": "analysis_file" - }, - { - "output_id": "e0b0252f-8351-5ce3-a804-632a1cd78d28", - "output_type": "analysis_file" - } - ], - "process_id": "21581af6-c4c4-4268-9d63-cf5a3a7f5058", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "85716ed2-d37c-4e4a-bd8a-864154bad299", - "input_type": "sequence_file" - }, - { - "input_id": "8a62b078-1656-4145-83ee-a54b74b1f566", - "input_type": "sequence_file" - }, - { - "input_id": "550bbb11-4786-46b4-a9c1-46f105b14644", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "91caea03-3c9a-5ba8-9acc-3685e3a6062e", - "output_type": "analysis_file" - }, - { - "output_id": "a78f0746-6eed-5b0e-9772-aab4bceec02c", - "output_type": "analysis_file" - } - ], - "process_id": "09f063d9-7bc8-4567-bc27-fa1e7c87fa4d", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "9447492f-3a6a-4f33-a128-605686ae6d65", - "input_type": "sequence_file" - }, - { - "input_id": "e97d853f-aaf2-4b69-8300-f9aac8111c39", - "input_type": "sequence_file" - }, - { - "input_id": "26131c11-6186-4b1a-b37d-fb12515622bf", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "52ca4cde-727f-564e-95dd-7872573ebeba", - "output_type": "analysis_file" - }, - { - "output_id": "bc454c4f-c3b4-565f-be09-44d7523a80de", - "output_type": "analysis_file" - } - ], - "process_id": "d3c42b32-d484-458c-ad66-e7e9e7889ee9", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "2e7e4b93-2d6c-4359-804c-f8ca1e21c31c", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "5ee0a825-8c35-4fe5-ab67-454c6bfd949b" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "10a76c2f-2a9b-4430-88bc-c4f3828e4e3f" - }, - { - "output_type": "sequence_file", - "output_id": "7ee8e5aa-5faa-4491-bd66-150e202974dd" - }, - { - "output_type": "sequence_file", - "output_id": "dbe117fc-c5ee-4347-bb8a-1a3fb9c89895" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "bfac08a4-0266-4d6b-b8a4-24b57f560017", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "54bfca9c-a1f8-4632-a0cb-5f7b5edf48d6" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "5ee0a825-8c35-4fe5-ab67-454c6bfd949b" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "16d53d3e-88ef-444a-aaec-e7947fc3e779", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "eed4d335-880b-4735-9d04-cdbf706e3d44" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "54bfca9c-a1f8-4632-a0cb-5f7b5edf48d6" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "ba276a56-3bdf-42ff-93f4-2920c3a288f9", - "input_type": "sequence_file" - }, - { - "input_id": "be3cffb9-150a-4a1e-8f4b-a0afde4eea5a", - "input_type": "sequence_file" - }, - { - "input_id": "da490be5-56d8-4510-a3c9-c256666fbe4d", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "845dd01f-cad1-54a4-8ff3-acd78d29a5b1", - "output_type": "analysis_file" - }, - { - "output_id": "d3142cb9-7285-5185-a5a5-c63d5f3cade8", - "output_type": "analysis_file" - } - ], - "process_id": "bcee0e35-49c4-4af1-b202-eaf4df226025", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "1d5a282b-b4b5-41dc-ab46-862476a87c18", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "1853e602-4743-4179-863b-fb686a6a7a9a" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "62f9d7c8-cb0b-4c30-b2d8-ab43fa4b3384" - }, - { - "output_type": "sequence_file", - "output_id": "c1102423-264b-4668-9e09-39b105474d6f" - }, - { - "output_type": "sequence_file", - "output_id": "c50f0504-73bc-4bd6-8ed3-1dcf0b60549f" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "2f77c2c6-e843-48cd-a160-65fb904eb112", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "94259313-d341-4b1f-b9cc-48a760d81c19" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "1853e602-4743-4179-863b-fb686a6a7a9a" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "2415ecb9-08af-4ecc-868b-69ba70a43c81", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "f2ed99b4-a68d-4d54-8c65-9534ad5931b5" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "94259313-d341-4b1f-b9cc-48a760d81c19" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "455c6c50-9424-4dac-b67c-1be48276d5b5", - "input_type": "sequence_file" - }, - { - "input_id": "c27ebc26-f0b4-4f42-8b10-061fb04f77bd", - "input_type": "sequence_file" - }, - { - "input_id": "7efd8179-7a9a-4ef1-b199-46f94581cb1a", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "9b6d349f-774f-56e1-ab6b-938385c60a4f", - "output_type": "analysis_file" - }, - { - "output_id": "b13f3346-158d-5509-bc82-3aed1b2c23be", - "output_type": "analysis_file" - } - ], - "process_id": "3650db01-27bd-4371-a431-71d28620a40a", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "529e093e-c122-4939-8264-993ad651efd7", - "input_type": "sequence_file" - }, - { - "input_id": "4f91ed04-d045-4904-a78e-103294d4f5e9", - "input_type": "sequence_file" - }, - { - "input_id": "fd0752c7-210b-4acd-a7ef-df7ffcdfbd3d", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "1685c144-966c-53fe-8bd3-2a053b55966c", - "output_type": "analysis_file" - }, - { - "output_id": "c5ab8014-5630-5ce5-9aaf-247e12d4ef6d", - "output_type": "analysis_file" - } - ], - "process_id": "a87c5838-140e-40f4-97b0-591aecbe1b3c", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "08b799a0-59d8-4c69-87b3-fd239aef4197", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "85a66538-6c12-4ab4-9679-b1f95001606d" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "15af1b4f-6944-4af6-8a2a-4fea163edde2" - }, - { - "output_type": "sequence_file", - "output_id": "d7f0b745-c135-4594-9a4b-a4c66c8a1520" - }, - { - "output_type": "sequence_file", - "output_id": "41ae7f5d-67e9-4bc8-a844-262a9dea9b96" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "0370e38d-bb67-4b79-be99-3ff27e21adba", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "6b94e023-9280-45df-ac3d-5a258e19bf29" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "85a66538-6c12-4ab4-9679-b1f95001606d" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - } - ] - }, - { - "link_type": "process_link", - "process_id": "9f686a8c-9b49-4b37-9c5e-a6017b4aaf0e", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "85dc3748-6751-482b-b7cd-c1e08f7df5c0" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "6b94e023-9280-45df-ac3d-5a258e19bf29" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "529a01ff-db1b-4a8e-924b-8749387f5dcb", - "input_type": "sequence_file" - }, - { - "input_id": "68cac6a2-5453-4d08-9af2-a4e01f259dd3", - "input_type": "sequence_file" - }, - { - "input_id": "dabbfa84-9a92-448a-a09f-8a2eaf13b958", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "e3735012-e613-5a77-b38e-68fb27f9fdd7", - "output_type": "analysis_file" - }, - { - "output_id": "80738c1d-105a-525e-8b84-ae666d549159", - "output_type": "analysis_file" - } - ], - "process_id": "dab143f7-7a17-48ba-a7b9-60064444ada5", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "96cbabdb-30b4-4c71-9250-bb7efcd9ee1e", - "input_type": "sequence_file" - }, - { - "input_id": "44c70c3c-6fe7-4186-9aa5-b2cb1ea3b9d8", - "input_type": "sequence_file" - }, - { - "input_id": "71e9623c-1cfa-4efe-9448-f4014da727dc", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "d8146d19-442a-5dbe-a075-b3a1ef0ebf07", - "output_type": "analysis_file" - }, - { - "output_id": "35bc8baa-8916-5835-940c-ce684f30d4aa", - "output_type": "analysis_file" - } - ], - "process_id": "f3b53d83-7ee7-42db-b2d5-05a792204872", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "27e030cc-b89e-41fc-b0c8-c3258a4b2c6e", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "6b34fa3f-1878-48ec-84c2-e2d8877903c4" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "1872f705-7ccc-42af-80c5-7645ccd2848c" - }, - { - "output_type": "sequence_file", - "output_id": "336b106c-f5f3-4d35-b583-05fc33ee910f" - }, - { - "output_type": "sequence_file", - "output_id": "f17d1da2-2965-4732-a94a-6cd2a58fc873" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "bd90d9bf-cf73-407b-8e3a-07ef2f9c2fd8", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "69576784-ca06-4ccb-bab7-d6e8353a8036" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "6b34fa3f-1878-48ec-84c2-e2d8877903c4" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "a2653332-1aab-49d6-8da8-b5c5fe004e70", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "5baa7164-60f5-4b28-8bad-e9a0563cac70" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "69576784-ca06-4ccb-bab7-d6e8353a8036" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "e7b60260-7ae4-4d5a-b1a4-51622467e4b3", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "27749341-b419-4dca-9175-a6a9025116a9" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "bb2edf45-1041-4e38-9ace-ec922a747f80" - }, - { - "output_type": "sequence_file", - "output_id": "47f2b446-7a03-4286-8a35-41e52394622c" - }, - { - "output_type": "sequence_file", - "output_id": "1e0c544d-2963-4fde-b3cb-5bb9b938acaa" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f333416d-7f9e-4e54-9fbb-2ee29d55aed9", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "bed46309-3752-4115-a307-8c20d93dce55" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "27749341-b419-4dca-9175-a6a9025116a9" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "0c1455f0-64c2-48a5-bba1-15588755bad5", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "39046bdd-483c-44ad-9b50-dea608d34255" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "bed46309-3752-4115-a307-8c20d93dce55" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "3f20a83f-f01c-41f2-acaf-3c111dfa5465", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "a7738486-8b11-4e05-a004-6c931569972f" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "fd0752c7-210b-4acd-a7ef-df7ffcdfbd3d" - }, - { - "output_type": "sequence_file", - "output_id": "529e093e-c122-4939-8264-993ad651efd7" - }, - { - "output_type": "sequence_file", - "output_id": "4f91ed04-d045-4904-a78e-103294d4f5e9" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "cc78276c-f893-4aa3-996a-1c5dc2c351c6", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "ae073235-e422-4c3a-8bf4-9892d6e769b3" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "a7738486-8b11-4e05-a004-6c931569972f" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "57c18bb9-bb99-48dc-bf49-70e3e558deeb", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "8f63d864-87e5-40f3-8f68-936640010c7d" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "ae073235-e422-4c3a-8bf4-9892d6e769b3" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "81204476-377f-4bf9-b5de-27f8b14d47c5", - "input_type": "sequence_file" - }, - { - "input_id": "c79e49e1-62b2-41c4-a3eb-96bbe01a2ed4", - "input_type": "sequence_file" - }, - { - "input_id": "b61e4f40-1742-4bbb-a20d-78a934c5f8de", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "0db36828-3fae-5bd2-b052-ae63b88693d9", - "output_type": "analysis_file" - }, - { - "output_id": "90465f43-bfdf-56d4-a9e1-7a765d60a1fe", - "output_type": "analysis_file" - } - ], - "process_id": "d09272b0-2827-4b7b-9a8c-a63fec7376ca", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "90bd06b3-c8fd-4ed8-98b4-9bf21e9466f9", - "input_type": "sequence_file" - }, - { - "input_id": "de694c96-1135-4d40-a44c-88ca899d164c", - "input_type": "sequence_file" - }, - { - "input_id": "6c52e66a-d034-476c-8f32-5d760b6a5029", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "087aca40-9bc5-56b9-8cd5-a5a0488c18f2", - "output_type": "analysis_file" - }, - { - "output_id": "a0ea22e2-cab6-506d-8211-bb479591a04c", - "output_type": "analysis_file" - } - ], - "process_id": "d2b4df36-221d-413d-8e9a-b233b72d3832", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "7229676a-4449-4a2f-ac97-284eb599841c", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "d94541a9-1505-4a33-8ff5-fcb2b19b0d92" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "dabbfa84-9a92-448a-a09f-8a2eaf13b958" - }, - { - "output_type": "sequence_file", - "output_id": "529a01ff-db1b-4a8e-924b-8749387f5dcb" - }, - { - "output_type": "sequence_file", - "output_id": "68cac6a2-5453-4d08-9af2-a4e01f259dd3" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "8106eec7-2c2f-41b4-ad4d-997e683ed9fc", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "75b6d713-08dc-4eff-9347-95c9519a34cd" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "d94541a9-1505-4a33-8ff5-fcb2b19b0d92" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "204a3bb9-d52f-407e-a3ed-f051a40dd7c3", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "ae71343b-df16-49a3-829d-a6e61afdc079" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "75b6d713-08dc-4eff-9347-95c9519a34cd" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "b4d16fe2-eeac-4a26-9cc3-17414b87f3b1", - "input_type": "sequence_file" - }, - { - "input_id": "9c25532b-bbac-408a-8b3b-4d7f565f11b9", - "input_type": "sequence_file" - }, - { - "input_id": "7ae24487-8546-422c-ad9b-bfa36bdd6ba4", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "8cdbf96a-27ae-590c-b967-8a850c760785", - "output_type": "analysis_file" - }, - { - "output_id": "6a019fd6-5db6-5717-8c4a-3a22a6fba738", - "output_type": "analysis_file" - } - ], - "process_id": "58d03b27-9049-444e-a337-3491a5d715e1", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "1d732738-9b3b-4393-920a-a3dd2ff6f7e1", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "c57bdaec-21df-479e-857e-ddb6f5f78f95" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "bb2d6938-f6ad-461b-8fa4-eca0e4c040b2" - }, - { - "output_type": "sequence_file", - "output_id": "3e6ac46b-1d9d-4c91-b5df-e583208357fe" - }, - { - "output_type": "sequence_file", - "output_id": "cf835034-c34b-4b5d-aac6-8de2e280e959" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "cf6620a8-3a16-46fe-815b-039a8dde9e16", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "31899978-a518-4d78-b85a-f62bca7ed723" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "c57bdaec-21df-479e-857e-ddb6f5f78f95" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "68b20827-e2b9-4d02-ac17-32ebf7aaf49c", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "793d9bf6-00cb-49e6-acc2-2cc724036645" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "31899978-a518-4d78-b85a-f62bca7ed723" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "0b9d7ae0-f6af-40e5-898d-7b2afc48c4b1", - "input_type": "sequence_file" - }, - { - "input_id": "4b06739c-d81c-45cd-825f-cc5145f15065", - "input_type": "sequence_file" - }, - { - "input_id": "38b67b47-7ef3-4e9e-88e1-3a8376769eb0", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "6a73dfce-0163-5b3e-b1cd-0df84fb30871", - "output_type": "analysis_file" - }, - { - "output_id": "b4f3e64c-ff38-5dd3-8656-ee8c06b1c673", - "output_type": "analysis_file" - } - ], - "process_id": "f1f25c56-1cd7-44e4-8e58-7adafd43529c", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "22d5f584-ff73-4a10-8377-387983b72a87", - "input_type": "sequence_file" - }, - { - "input_id": "601bacd5-c250-4dd3-a83d-c9f31a1b0dd8", - "input_type": "sequence_file" - }, - { - "input_id": "3c6b5196-4dd9-4c23-a9d1-c1341d889ecf", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "c1770287-3376-5cc1-a2a2-9676e7f5716e", - "output_type": "analysis_file" - }, - { - "output_id": "e6a532d6-bba0-5304-809c-5fc5f8373529", - "output_type": "analysis_file" - } - ], - "process_id": "198dff35-0fb9-4edc-bf0c-e973ac7eba59", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "0565f81d-86a0-4591-8a29-f7e3306556f2", - "input_type": "sequence_file" - }, - { - "input_id": "dbe02baf-4c99-4784-bf03-2ebeeef70288", - "input_type": "sequence_file" - }, - { - "input_id": "0fb3c4cd-6df4-48ac-b7c6-e96c144e0c42", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "ce52572d-f7d1-585d-a54f-fc14297d19c0", - "output_type": "analysis_file" - }, - { - "output_id": "d1b3c364-8f6c-57d2-847c-1b22257f7e87", - "output_type": "analysis_file" - } - ], - "process_id": "725cbe75-92a1-46dc-862a-1b9d012e0fc1", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "835ec088-c1a5-4b0c-897c-22bc92950587", - "input_type": "sequence_file" - }, - { - "input_id": "0f15fb43-c791-4113-a721-a9e3767e8f6d", - "input_type": "sequence_file" - }, - { - "input_id": "d3c05176-1d0b-4ce1-b005-0af8c35129cd", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "8848e80d-192f-5c47-bb3e-ef0d519e1761", - "output_type": "analysis_file" - }, - { - "output_id": "61d46fd3-fd85-5eb1-a251-7000d2394830", - "output_type": "analysis_file" - } - ], - "process_id": "bc6bf485-351c-47c7-9837-d564bd32699b", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "23a28752-d0c7-4a3c-8548-acc8ddc26af4", - "input_type": "sequence_file" - }, - { - "input_id": "d1bbc8a6-9320-4527-bca3-2dbb172bea38", - "input_type": "sequence_file" - }, - { - "input_id": "30286c6d-ca78-4108-aff5-6809618656dc", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "dcaba295-f646-562f-8752-6f6fa634bc4f", - "output_type": "analysis_file" - }, - { - "output_id": "450befbb-21c9-5b53-a7b9-38b517cebe76", - "output_type": "analysis_file" - } - ], - "process_id": "997fecc1-cc72-4357-9a33-8aa2be30d96b", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f4183399-0e70-466e-8915-8e4481f9b7d1", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "6194245b-1ce5-495e-8e85-d859b3fcce66" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "6c52e66a-d034-476c-8f32-5d760b6a5029" - }, - { - "output_type": "sequence_file", - "output_id": "90bd06b3-c8fd-4ed8-98b4-9bf21e9466f9" - }, - { - "output_type": "sequence_file", - "output_id": "de694c96-1135-4d40-a44c-88ca899d164c" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "2b8cad63-d0bc-486b-923d-cc6f11eb6394", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "31899978-a518-4d78-b85a-f62bca7ed723" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "6194245b-1ce5-495e-8e85-d859b3fcce66" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "68b20827-e2b9-4d02-ac17-32ebf7aaf49c", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "793d9bf6-00cb-49e6-acc2-2cc724036645" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "31899978-a518-4d78-b85a-f62bca7ed723" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "5d687d7c-8d96-4203-ad8e-d0668828ad37", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "7c2c2ced-a0e3-4df7-ae1d-890218465626" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "26131c11-6186-4b1a-b37d-fb12515622bf" - }, - { - "output_type": "sequence_file", - "output_id": "9447492f-3a6a-4f33-a128-605686ae6d65" - }, - { - "output_type": "sequence_file", - "output_id": "e97d853f-aaf2-4b69-8300-f9aac8111c39" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f0e53f0b-f5b9-4b5e-a168-de936401dc24", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "0d27ca8e-5325-4e47-9807-8afd92e9bf89" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "7c2c2ced-a0e3-4df7-ae1d-890218465626" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "136b438c-b819-4da2-8cc1-d6cace9c716c", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "e8fbe9c1-ab25-4300-a40d-65d0e8f627e0" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "0d27ca8e-5325-4e47-9807-8afd92e9bf89" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "ded9b30e-12df-4998-846a-7cef685e4bd6", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "19b7eb13-fef6-46a4-abb9-44a310e441b5" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "0fb3c4cd-6df4-48ac-b7c6-e96c144e0c42" - }, - { - "output_type": "sequence_file", - "output_id": "0565f81d-86a0-4591-8a29-f7e3306556f2" - }, - { - "output_type": "sequence_file", - "output_id": "dbe02baf-4c99-4784-bf03-2ebeeef70288" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f4a448a7-bc5a-4014-ab1f-0d1a8cd4e47c", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "b8912f33-12a7-4bf8-9f25-e91fbc77517c" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "19b7eb13-fef6-46a4-abb9-44a310e441b5" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - } - ] - }, - { - "link_type": "process_link", - "process_id": "5fbb11aa-074b-42ad-bb8c-13d80c3b2490", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "dd19fdc7-35a9-432f-9a97-670637433eda" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "b8912f33-12a7-4bf8-9f25-e91fbc77517c" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "3381994d-5624-4f5f-a574-01ad099c448c", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "17782e68-694a-42df-9411-9fd875b95cc7" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "012ba773-aefb-4d9f-8ec1-6714dc7f631b" - }, - { - "output_type": "sequence_file", - "output_id": "afe45faa-e5e1-4cf8-8d79-4092dca736bd" - }, - { - "output_type": "sequence_file", - "output_id": "e512685e-d15e-4b12-9f7f-e871da115586" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "7ff7f0ac-a14a-4c42-800b-016141f020fd", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "bed46309-3752-4115-a307-8c20d93dce55" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "17782e68-694a-42df-9411-9fd875b95cc7" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "0c1455f0-64c2-48a5-bba1-15588755bad5", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "39046bdd-483c-44ad-9b50-dea608d34255" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "bed46309-3752-4115-a307-8c20d93dce55" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "49a158d2-9786-4f54-bac9-67244497c9c9", - "input_type": "sequence_file" - }, - { - "input_id": "d5744e7d-7ab9-4d86-8a3a-bfc9e96946fc", - "input_type": "sequence_file" - }, - { - "input_id": "82c6f8e4-79f9-48b7-aab5-35853db742a4", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "c31aecba-db6a-5229-a729-66269d90ee8a", - "output_type": "analysis_file" - }, - { - "output_id": "853ce2df-ac1e-5d3b-aa74-00ff4eab33c2", - "output_type": "analysis_file" - } - ], - "process_id": "0233488f-2a92-4e5c-a7c5-3508b39762aa", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "ea99b549-cd95-445b-a796-a4ccd992491d", - "input_type": "sequence_file" - }, - { - "input_id": "76f76203-8b14-4a33-8a0d-d7687d887772", - "input_type": "sequence_file" - }, - { - "input_id": "69f04b25-c698-4a6e-aff3-7bccc1e969b7", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "129bdef3-ae23-5273-920f-204cccd878fc", - "output_type": "analysis_file" - }, - { - "output_id": "63bee9b4-8743-5a13-b144-80cf68313083", - "output_type": "analysis_file" - } - ], - "process_id": "4c1d363b-0560-49f2-addd-aaa879db3d30", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "39c59048-bac9-4b5b-935b-75b150931f41", - "input_type": "sequence_file" - }, - { - "input_id": "dfe9cbbb-cf19-4e2d-bd3c-70e0d9235f67", - "input_type": "sequence_file" - }, - { - "input_id": "384733f9-328f-4b3f-b201-9489ae09f5de", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "2c88ef68-7029-5f00-9387-a364d6292976", - "output_type": "analysis_file" - }, - { - "output_id": "bbb02342-bad3-5d6c-89fa-1cbaf2e7b5dd", - "output_type": "analysis_file" - } - ], - "process_id": "b486e644-c56d-4209-b7c7-e56c527306b2", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "71c8dfa2-0a8c-4ae0-8161-933454f56420", - "input_type": "sequence_file" - }, - { - "input_id": "232c6da0-b86b-4995-8da1-a428211af836", - "input_type": "sequence_file" - }, - { - "input_id": "ffba13e2-0937-49b3-961a-2ce3055ad5c6", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "2b64aedb-2563-547f-ba70-aa9b8c1d5d3f", - "output_type": "analysis_file" - }, - { - "output_id": "6008e2eb-ea1d-54b2-9611-fa896ae9aa21", - "output_type": "analysis_file" - } - ], - "process_id": "1a84035c-6716-40ce-844c-617eeaefb14d", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "c0e0476d-b0c5-434b-9c33-92e52900341d", - "input_type": "sequence_file" - }, - { - "input_id": "4e7c6725-5d49-4ed6-9a5f-b7d0eaf75469", - "input_type": "sequence_file" - }, - { - "input_id": "f895f666-e3ed-4a7e-a7f5-42586a6244ea", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "d9b006ee-9626-517f-baed-e6c7bc8a8686", - "output_type": "analysis_file" - }, - { - "output_id": "e8cb5e82-22fa-5e54-984e-3d2e4b91a100", - "output_type": "analysis_file" - } - ], - "process_id": "4ae55a6b-6e40-4300-b2a7-7e8c72c285de", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "611d7372-2d5d-4b93-9cb8-b6d689b0f905", - "input_type": "sequence_file" - }, - { - "input_id": "9a4277c3-806b-4906-a777-613f01a51003", - "input_type": "sequence_file" - }, - { - "input_id": "9403a717-07d2-4510-9f19-77d41747c188", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "2d253fef-4538-511a-a960-bd999afeecf4", - "output_type": "analysis_file" - }, - { - "output_id": "fda0ea89-2300-59ed-9125-784883c5e211", - "output_type": "analysis_file" - } - ], - "process_id": "c6ca5e48-0be8-4b66-ac11-6e25511afe2a", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "inputs": [ - { - "input_id": "e79faefc-5135-4e43-a64d-8db7472d3f2e", - "input_type": "sequence_file" - }, - { - "input_id": "fa78c4ab-4057-45b1-8266-af045ae28535", - "input_type": "sequence_file" - }, - { - "input_id": "9c6fffe5-0f64-4325-8e2f-8be4fa5417b9", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "3450ac1e-8d8f-5bad-bd44-322d792acc8a", - "output_type": "analysis_file" - }, - { - "output_id": "fe4686b9-acd3-5237-acf1-1bd9cc0c19c5", - "output_type": "analysis_file" - } - ], - "process_id": "b9b49dd4-471a-4364-bc72-acaa1bcb633d", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "cfa1e5da-607e-49b6-aa0d-8f43702b971f", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "7318a24c-7abf-445d-b4d2-2c5acc01e715" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "69f04b25-c698-4a6e-aff3-7bccc1e969b7" - }, - { - "output_type": "sequence_file", - "output_id": "ea99b549-cd95-445b-a796-a4ccd992491d" - }, - { - "output_type": "sequence_file", - "output_id": "76f76203-8b14-4a33-8a0d-d7687d887772" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "687ef9ee-e18c-446f-bbb6-97c31ba0ce9b", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "6b94e023-9280-45df-ac3d-5a258e19bf29" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "7318a24c-7abf-445d-b4d2-2c5acc01e715" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "9f686a8c-9b49-4b37-9c5e-a6017b4aaf0e", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "85dc3748-6751-482b-b7cd-c1e08f7df5c0" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "6b94e023-9280-45df-ac3d-5a258e19bf29" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "a9c40eb8-24b6-4436-a3d3-e8035e84f6ae", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "ae38fa93-e50c-4033-a1e9-ac404ede7380" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "550bbb11-4786-46b4-a9c1-46f105b14644" - }, - { - "output_type": "sequence_file", - "output_id": "85716ed2-d37c-4e4a-bd8a-864154bad299" - }, - { - "output_type": "sequence_file", - "output_id": "8a62b078-1656-4145-83ee-a54b74b1f566" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "5b4f46d9-346e-4eec-b55e-801d37ece165", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "31899978-a518-4d78-b85a-f62bca7ed723" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "ae38fa93-e50c-4033-a1e9-ac404ede7380" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "68b20827-e2b9-4d02-ac17-32ebf7aaf49c", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "793d9bf6-00cb-49e6-acc2-2cc724036645" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "31899978-a518-4d78-b85a-f62bca7ed723" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "37925a3b-3bce-4876-bb29-745922b2c972", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "8d7b1004-5265-40cd-8912-336d71e0f296" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "24c3ce12-e4f9-4299-a005-320d602716ce" - }, - { - "output_type": "sequence_file", - "output_id": "daa5945d-5d1f-4586-9c85-e3fa5af8bfb5" - }, - { - "output_type": "sequence_file", - "output_id": "e779b50e-a892-4a0c-af02-2dd400956018" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f70a20e6-ad33-424e-b385-bb9a19be000e", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "1edb7ccc-0cb3-41c4-a193-181542bce479" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "8d7b1004-5265-40cd-8912-336d71e0f296" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f027f9ff-0d24-49e2-b71d-18543a4631f2", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "9417041b-2952-41d5-b0d8-b42694f4fd4a" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "1edb7ccc-0cb3-41c4-a193-181542bce479" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "0ceed66e-513f-450f-89e9-3206f4485cdf", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "469016a2-3bea-4244-8bae-835c499c8ac0" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "82c6f8e4-79f9-48b7-aab5-35853db742a4" - }, - { - "output_type": "sequence_file", - "output_id": "49a158d2-9786-4f54-bac9-67244497c9c9" - }, - { - "output_type": "sequence_file", - "output_id": "d5744e7d-7ab9-4d86-8a3a-bfc9e96946fc" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "9210ccdd-107f-4ef3-9a2d-f9c573788f43", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "0d27ca8e-5325-4e47-9807-8afd92e9bf89" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "469016a2-3bea-4244-8bae-835c499c8ac0" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "136b438c-b819-4da2-8cc1-d6cace9c716c", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "e8fbe9c1-ab25-4300-a40d-65d0e8f627e0" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "0d27ca8e-5325-4e47-9807-8afd92e9bf89" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "8fee28bf-4f9b-4d62-814b-ea97119048ee", - "input_type": "sequence_file" - }, - { - "input_id": "32714f4f-1a04-4fc3-bdd9-2ae6473fe544", - "input_type": "sequence_file" - }, - { - "input_id": "9d578de9-08fb-47f8-9bc4-77e9577965e7", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "9baa3062-0022-53e2-a3df-14df08c4c66c", - "output_type": "analysis_file" - }, - { - "output_id": "d41aa539-54ba-5f2e-bfd6-4c9905ee38a1", - "output_type": "analysis_file" - } - ], - "process_id": "fbbd6c03-df0d-44dd-b383-c1efb83abb2e", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "e23d96b7-a271-403e-a29e-b2bdb1949070", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "ef50dd96-a305-4edd-84e7-aae93377c488" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "f895f666-e3ed-4a7e-a7f5-42586a6244ea" - }, - { - "output_type": "sequence_file", - "output_id": "c0e0476d-b0c5-434b-9c33-92e52900341d" - }, - { - "output_type": "sequence_file", - "output_id": "4e7c6725-5d49-4ed6-9a5f-b7d0eaf75469" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "43c13443-4e03-42b3-a32f-d048c8ea465e", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "ae073235-e422-4c3a-8bf4-9892d6e769b3" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "ef50dd96-a305-4edd-84e7-aae93377c488" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "57c18bb9-bb99-48dc-bf49-70e3e558deeb", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "8f63d864-87e5-40f3-8f68-936640010c7d" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "ae073235-e422-4c3a-8bf4-9892d6e769b3" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "22ccc95d-d789-4398-a790-83f86bb420d8", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "91a5af73-4a8a-4285-bcbb-42344e18745f" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "ffba13e2-0937-49b3-961a-2ce3055ad5c6" - }, - { - "output_type": "sequence_file", - "output_id": "71c8dfa2-0a8c-4ae0-8161-933454f56420" - }, - { - "output_type": "sequence_file", - "output_id": "232c6da0-b86b-4995-8da1-a428211af836" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "5c745dc7-ece2-4df5-96b3-bca92b832c73", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "b8912f33-12a7-4bf8-9f25-e91fbc77517c" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "91a5af73-4a8a-4285-bcbb-42344e18745f" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "5fbb11aa-074b-42ad-bb8c-13d80c3b2490", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "dd19fdc7-35a9-432f-9a97-670637433eda" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "b8912f33-12a7-4bf8-9f25-e91fbc77517c" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "807e13ad-b807-44b5-92c8-9057b858968f", - "input_type": "sequence_file" - }, - { - "input_id": "2b40b918-2632-4a06-9746-6f542d884b90", - "input_type": "sequence_file" - }, - { - "input_id": "32a5b3e4-4f2f-4fb1-aeff-7fb01035eb8d", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "11712f1f-d3c5-54b4-9ab3-cd12b8eb15b7", - "output_type": "analysis_file" - }, - { - "output_id": "33055074-248b-57fe-99fd-b5deab653ac0", - "output_type": "analysis_file" - } - ], - "process_id": "e607b72f-3024-4d7e-8292-19d2d53a3a95", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "b1883730-3304-48c1-904b-eb90ab226168", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "02f33fc2-eb2f-4c78-a7f5-002a1747e71f" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "7efd8179-7a9a-4ef1-b199-46f94581cb1a" - }, - { - "output_type": "sequence_file", - "output_id": "455c6c50-9424-4dac-b67c-1be48276d5b5" - }, - { - "output_type": "sequence_file", - "output_id": "c27ebc26-f0b4-4f42-8b10-061fb04f77bd" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "71aef8a5-add1-46ce-b5e9-c172a52414a2", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "75b6d713-08dc-4eff-9347-95c9519a34cd" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "02f33fc2-eb2f-4c78-a7f5-002a1747e71f" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "204a3bb9-d52f-407e-a3ed-f051a40dd7c3", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "ae71343b-df16-49a3-829d-a6e61afdc079" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "75b6d713-08dc-4eff-9347-95c9519a34cd" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "c301901f-95cd-4a3e-a4df-761fa21e92af", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "700af591-d469-4a3d-a908-cff116f28242" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "9403a717-07d2-4510-9f19-77d41747c188" - }, - { - "output_type": "sequence_file", - "output_id": "611d7372-2d5d-4b93-9cb8-b6d689b0f905" - }, - { - "output_type": "sequence_file", - "output_id": "9a4277c3-806b-4906-a777-613f01a51003" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "d7f083b3-1e02-4838-a7a2-a52bc7bcb1bb", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "fbed02e6-1547-469c-b96f-45c61111af53" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "700af591-d469-4a3d-a908-cff116f28242" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "a0cf7b57-f8ac-4591-bfe5-a9a2b7416057", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "1b5a4bc7-5a90-4782-a657-536a8b533156" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "fbed02e6-1547-469c-b96f-45c61111af53" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "inputs": [ - { - "input_id": "1a17a213-3a73-4af8-a105-6e5b3d056263", - "input_type": "sequence_file" - }, - { - "input_id": "4bd54cd4-ca70-4566-a2bf-9fecb4dfbc34", - "input_type": "sequence_file" - }, - { - "input_id": "05345715-8f9f-44fe-8f28-f75552b17d5d", - "input_type": "sequence_file" - } - ], - "link_type": "process_link", - "outputs": [ - { - "output_id": "69cc1f24-8be9-58aa-af3e-99c13507216e", - "output_type": "analysis_file" - }, - { - "output_id": "00dbea45-4e4d-5220-985e-afd8dcfce0b5", - "output_type": "analysis_file" - } - ], - "process_id": "39c38ab6-dd8a-4098-87a8-8a861d55b7fb", - "process_type": "analysis_process", - "protocols": [ - { - "protocol_id": "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "protocol_type": "analysis_protocol" - } - ] - }, - { - "link_type": "process_link", - "process_id": "b7914794-f8a7-4fba-bb5b-10536eac7d8b", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "5fc661b9-440a-4b6f-b2f9-f847043debec" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "41a13523-c45b-4546-8273-9321d9a2c250" - }, - { - "output_type": "sequence_file", - "output_id": "f683fadf-dd8c-4cfe-ae8b-34e3af5b74a1" - }, - { - "output_type": "sequence_file", - "output_id": "82fc4ead-bf34-4834-91ed-cb6ec1717baa" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "69ccee6f-c88d-4443-88a0-e46ed47bf2a1", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "619887a0-67fb-4e24-be95-409f9b3e8474" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "5fc661b9-440a-4b6f-b2f9-f847043debec" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "c0c71843-6831-4e91-90cf-cb31d4a4b277", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "d0baedfe-0556-4c2b-a1a0-d1e28ef07bb5" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "619887a0-67fb-4e24-be95-409f9b3e8474" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f26c4715-5488-4d7f-ae0e-1c965128fbb1", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "74d1b609-5477-4ec3-840e-fa721ffa580f" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "9c6fffe5-0f64-4325-8e2f-8be4fa5417b9" - }, - { - "output_type": "sequence_file", - "output_id": "e79faefc-5135-4e43-a64d-8db7472d3f2e" - }, - { - "output_type": "sequence_file", - "output_id": "fa78c4ab-4057-45b1-8266-af045ae28535" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "e9eb59a6-8324-47c7-8d54-4517587c6802", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "75b6d713-08dc-4eff-9347-95c9519a34cd" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "74d1b609-5477-4ec3-840e-fa721ffa580f" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "204a3bb9-d52f-407e-a3ed-f051a40dd7c3", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "ae71343b-df16-49a3-829d-a6e61afdc079" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "75b6d713-08dc-4eff-9347-95c9519a34cd" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "42b114bb-27ee-4415-b046-7ee5581adc27", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "64713d72-8e8f-4350-a3ba-e1981c872100" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "3c6b5196-4dd9-4c23-a9d1-c1341d889ecf" - }, - { - "output_type": "sequence_file", - "output_id": "22d5f584-ff73-4a10-8377-387983b72a87" - }, - { - "output_type": "sequence_file", - "output_id": "601bacd5-c250-4dd3-a83d-c9f31a1b0dd8" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "5a0999a5-9945-4d18-8f0a-7ed5a6b1f27b", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "0d27ca8e-5325-4e47-9807-8afd92e9bf89" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "64713d72-8e8f-4350-a3ba-e1981c872100" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "136b438c-b819-4da2-8cc1-d6cace9c716c", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "e8fbe9c1-ab25-4300-a40d-65d0e8f627e0" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "0d27ca8e-5325-4e47-9807-8afd92e9bf89" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "7f0f3ad8-9052-4003-ac7d-4e2e509b85f5", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "4c32ae0b-8338-4906-90ef-06e1e4fd7577" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "32a5b3e4-4f2f-4fb1-aeff-7fb01035eb8d" - }, - { - "output_type": "sequence_file", - "output_id": "807e13ad-b807-44b5-92c8-9057b858968f" - }, - { - "output_type": "sequence_file", - "output_id": "2b40b918-2632-4a06-9746-6f542d884b90" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "8d4c4056-6a9b-4c33-907c-66f4351fe7c1", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "54bfca9c-a1f8-4632-a0cb-5f7b5edf48d6" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "4c32ae0b-8338-4906-90ef-06e1e4fd7577" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "16d53d3e-88ef-444a-aaec-e7947fc3e779", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "eed4d335-880b-4735-9d04-cdbf706e3d44" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "54bfca9c-a1f8-4632-a0cb-5f7b5edf48d6" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "7fa6adde-000d-4360-9f45-2b5da4721f70", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "1b8c4fa4-24d0-42b5-99e1-8c04eba5d8c3" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "38b67b47-7ef3-4e9e-88e1-3a8376769eb0" - }, - { - "output_type": "sequence_file", - "output_id": "0b9d7ae0-f6af-40e5-898d-7b2afc48c4b1" - }, - { - "output_type": "sequence_file", - "output_id": "4b06739c-d81c-45cd-825f-cc5145f15065" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "b92aadd5-3603-4e12-a92d-22e1f9757361", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "1edb7ccc-0cb3-41c4-a193-181542bce479" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "1b8c4fa4-24d0-42b5-99e1-8c04eba5d8c3" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f027f9ff-0d24-49e2-b71d-18543a4631f2", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "9417041b-2952-41d5-b0d8-b42694f4fd4a" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "1edb7ccc-0cb3-41c4-a193-181542bce479" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "232174af-3ebf-4b3b-97fd-35547950c4c8", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "c8d8c14f-4e5e-4911-a386-391fd1153969" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "0619dd26-7a22-4fc9-ac35-7a381a502e6f" - }, - { - "output_type": "sequence_file", - "output_id": "a3bef94d-a68f-43d4-8cb8-58977b20f849" - }, - { - "output_type": "sequence_file", - "output_id": "c30c31d2-ccfb-4651-8b78-a25a23ab4e95" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f3e0b538-bf64-417d-8746-52d5ad9311be", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "69576784-ca06-4ccb-bab7-d6e8353a8036" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "c8d8c14f-4e5e-4911-a386-391fd1153969" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "a2653332-1aab-49d6-8da8-b5c5fe004e70", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "5baa7164-60f5-4b28-8bad-e9a0563cac70" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "69576784-ca06-4ccb-bab7-d6e8353a8036" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "a0e661e2-dac9-4004-9605-8307c15f831d", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "732d6ffa-1d89-4476-ad10-5ce9d83a78ad" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "d3c05176-1d0b-4ce1-b005-0af8c35129cd" - }, - { - "output_type": "sequence_file", - "output_id": "835ec088-c1a5-4b0c-897c-22bc92950587" - }, - { - "output_type": "sequence_file", - "output_id": "0f15fb43-c791-4113-a721-a9e3767e8f6d" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "61a4052c-bbc0-4666-9747-ed6b4c706ac6", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "75b6d713-08dc-4eff-9347-95c9519a34cd" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "732d6ffa-1d89-4476-ad10-5ce9d83a78ad" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "204a3bb9-d52f-407e-a3ed-f051a40dd7c3", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "ae71343b-df16-49a3-829d-a6e61afdc079" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "75b6d713-08dc-4eff-9347-95c9519a34cd" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "73bd1209-cfb5-420f-bd97-574ed9c7cd0e", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "d4b2569d-4f63-41c0-9a11-97068ee3ae68" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "da490be5-56d8-4510-a3c9-c256666fbe4d" - }, - { - "output_type": "sequence_file", - "output_id": "ba276a56-3bdf-42ff-93f4-2920c3a288f9" - }, - { - "output_type": "sequence_file", - "output_id": "be3cffb9-150a-4a1e-8f4b-a0afde4eea5a" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "aa76f640-744e-4c50-92af-33c7f54fc7ee", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "31899978-a518-4d78-b85a-f62bca7ed723" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "d4b2569d-4f63-41c0-9a11-97068ee3ae68" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "68b20827-e2b9-4d02-ac17-32ebf7aaf49c", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "793d9bf6-00cb-49e6-acc2-2cc724036645" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "31899978-a518-4d78-b85a-f62bca7ed723" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "bc5ba4f6-a3f1-4156-830f-11228df251bc", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "90ab9fe3-3847-4477-bff8-66db44610c92" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "71e9623c-1cfa-4efe-9448-f4014da727dc" - }, - { - "output_type": "sequence_file", - "output_id": "96cbabdb-30b4-4c71-9250-bb7efcd9ee1e" - }, - { - "output_type": "sequence_file", - "output_id": "44c70c3c-6fe7-4186-9aa5-b2cb1ea3b9d8" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "a753faac-75d8-442d-a44d-b0320ba88fe0", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "1edb7ccc-0cb3-41c4-a193-181542bce479" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "90ab9fe3-3847-4477-bff8-66db44610c92" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "f027f9ff-0d24-49e2-b71d-18543a4631f2", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "9417041b-2952-41d5-b0d8-b42694f4fd4a" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "1edb7ccc-0cb3-41c4-a193-181542bce479" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "b49fb5d4-6f31-4b7d-827e-bc09ed30a167", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "1fe49331-d165-4443-a82b-612309cb9567" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "384733f9-328f-4b3f-b201-9489ae09f5de" - }, - { - "output_type": "sequence_file", - "output_id": "39c59048-bac9-4b5b-935b-75b150931f41" - }, - { - "output_type": "sequence_file", - "output_id": "dfe9cbbb-cf19-4e2d-bd3c-70e0d9235f67" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "282fda83-f6d8-4d5b-b47a-14d13d5206fe", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "fbed02e6-1547-469c-b96f-45c61111af53" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "1fe49331-d165-4443-a82b-612309cb9567" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "a0cf7b57-f8ac-4591-bfe5-a9a2b7416057", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "1b5a4bc7-5a90-4782-a657-536a8b533156" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "fbed02e6-1547-469c-b96f-45c61111af53" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "951a8ffc-69c5-4f7c-8ee8-39b76171f630", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "85e09b5b-24a8-4eea-9b0a-8ca17f9db79d" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "ed8bc174-30cc-4fa4-9e48-0543b825b1e4" - }, - { - "output_type": "sequence_file", - "output_id": "785275c2-08e7-486f-bed5-850993b704d3" - }, - { - "output_type": "sequence_file", - "output_id": "75017000-be20-4f58-91ea-abaf63344959" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "72abfd0e-51d3-4b13-8495-bfaab2f1096b", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "dba60b5a-af86-4fde-8cfc-49b008f5adad" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "85e09b5b-24a8-4eea-9b0a-8ca17f9db79d" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "ea7b5ae7-acdc-4d67-8665-c8a0b52da561", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "ba005942-3abb-4988-90a4-57747fb05b8b" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "dba60b5a-af86-4fde-8cfc-49b008f5adad" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "2d0d630a-58dd-42f7-bd7e-579ebec98d48", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "4dae1604-6e74-4306-ae82-2da7ca2efd77" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "b61e4f40-1742-4bbb-a20d-78a934c5f8de" - }, - { - "output_type": "sequence_file", - "output_id": "81204476-377f-4bf9-b5de-27f8b14d47c5" - }, - { - "output_type": "sequence_file", - "output_id": "c79e49e1-62b2-41c4-a3eb-96bbe01a2ed4" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "87fa5eb0-98d2-40ae-8bb1-445d0d2d0c11", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "0d27ca8e-5325-4e47-9807-8afd92e9bf89" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "4dae1604-6e74-4306-ae82-2da7ca2efd77" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "136b438c-b819-4da2-8cc1-d6cace9c716c", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "e8fbe9c1-ab25-4300-a40d-65d0e8f627e0" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "0d27ca8e-5325-4e47-9807-8afd92e9bf89" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "62a131e1-c415-460e-bc5b-75cca5d3323b", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "470877fd-03da-40a6-9508-330b580cf728" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "7ae24487-8546-422c-ad9b-bfa36bdd6ba4" - }, - { - "output_type": "sequence_file", - "output_id": "b4d16fe2-eeac-4a26-9cc3-17414b87f3b1" - }, - { - "output_type": "sequence_file", - "output_id": "9c25532b-bbac-408a-8b3b-4d7f565f11b9" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "b2b1e2e5-b9f9-4a5f-91c5-ea7cda58cffe", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "b8912f33-12a7-4bf8-9f25-e91fbc77517c" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "470877fd-03da-40a6-9508-330b580cf728" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "5fbb11aa-074b-42ad-bb8c-13d80c3b2490", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "dd19fdc7-35a9-432f-9a97-670637433eda" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "b8912f33-12a7-4bf8-9f25-e91fbc77517c" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "9bb08d39-3957-4ff7-a20d-cc45a1cb38ab", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "4fd506bc-5824-4a7b-a44a-8d02532c5277" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "30286c6d-ca78-4108-aff5-6809618656dc" - }, - { - "output_type": "sequence_file", - "output_id": "23a28752-d0c7-4a3c-8548-acc8ddc26af4" - }, - { - "output_type": "sequence_file", - "output_id": "d1bbc8a6-9320-4527-bca3-2dbb172bea38" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "96d2674c-2f8f-4495-b95f-a6be448ba8fb", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "6b94e023-9280-45df-ac3d-5a258e19bf29" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "4fd506bc-5824-4a7b-a44a-8d02532c5277" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "9f686a8c-9b49-4b37-9c5e-a6017b4aaf0e", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "85dc3748-6751-482b-b7cd-c1e08f7df5c0" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "6b94e023-9280-45df-ac3d-5a258e19bf29" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "0dd65ce8-29ba-4341-9a93-eb2ca1f06c72", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "a69fcb4d-a7ec-4101-9e5a-1959bc3265ae" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "9d578de9-08fb-47f8-9bc4-77e9577965e7" - }, - { - "output_type": "sequence_file", - "output_id": "8fee28bf-4f9b-4d62-814b-ea97119048ee" - }, - { - "output_type": "sequence_file", - "output_id": "32714f4f-1a04-4fc3-bdd9-2ae6473fe544" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "796e5529-dd1a-4579-a469-a770eaa2216f", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "75b6d713-08dc-4eff-9347-95c9519a34cd" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "a69fcb4d-a7ec-4101-9e5a-1959bc3265ae" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "003cb4a8-9871-488f-9042-820504991f17" - } - ] - }, - { - "link_type": "process_link", - "process_id": "204a3bb9-d52f-407e-a3ed-f051a40dd7c3", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "ae71343b-df16-49a3-829d-a6e61afdc079" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "75b6d713-08dc-4eff-9347-95c9519a34cd" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - }, - { - "link_type": "process_link", - "process_id": "536ba4f7-6694-4a31-8df1-0e6668ed10da", - "process_type": "process", - "inputs": [ - { - "input_type": "cell_suspension", - "input_id": "2b532bac-4ebb-47db-b5e2-37b8da2b5f6c" - } - ], - "outputs": [ - { - "output_type": "sequence_file", - "output_id": "05345715-8f9f-44fe-8f28-f75552b17d5d" - }, - { - "output_type": "sequence_file", - "output_id": "1a17a213-3a73-4af8-a105-6e5b3d056263" - }, - { - "output_type": "sequence_file", - "output_id": "4bd54cd4-ca70-4566-a2bf-9fecb4dfbc34" - } - ], - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "565d6b74-caae-44f1-a1fc-a0b29a1f24f1" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a" - } - ] - }, - { - "link_type": "process_link", - "process_id": "aeaa76b1-161d-4d9f-a520-d30e87d9c1d9", - "process_type": "process", - "inputs": [ - { - "input_type": "specimen_from_organism", - "input_id": "94259313-d341-4b1f-b9cc-48a760d81c19" - } - ], - "outputs": [ - { - "output_type": "cell_suspension", - "output_id": "2b532bac-4ebb-47db-b5e2-37b8da2b5f6c" - } - ], - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "8881df7f-15da-48a9-8934-a2d65188543e" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "f1903d0b-1cb2-4208-bc20-a37ad8612452" - } - ] - }, - { - "link_type": "process_link", - "process_id": "2415ecb9-08af-4ecc-868b-69ba70a43c81", - "process_type": "process", - "inputs": [ - { - "input_type": "donor_organism", - "input_id": "f2ed99b4-a68d-4d54-8c65-9534ad5931b5" - } - ], - "outputs": [ - { - "output_type": "specimen_from_organism", - "output_id": "94259313-d341-4b1f-b9cc-48a760d81c19" - } - ], - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "266cf33e-5540-42cd-84de-757340908d42" - } - ] - } - ] - }, - "stitched": [ - "003cb4a8-9871-488f-9042-820504991f17", - "00dbea45-4e4d-5220-985e-afd8dcfce0b5", - "012ba773-aefb-4d9f-8ec1-6714dc7f631b", - "01824e76-505c-4e99-9ffd-bc1b5f56f726", - "0233488f-2a92-4e5c-a7c5-3508b39762aa", - "02f33fc2-eb2f-4c78-a7f5-002a1747e71f", - "0370e38d-bb67-4b79-be99-3ff27e21adba", - "0526e3df-0747-40fb-b4be-99c8813deefd", - "05345715-8f9f-44fe-8f28-f75552b17d5d", - "0565f81d-86a0-4591-8a29-f7e3306556f2", - "0619dd26-7a22-4fc9-ac35-7a381a502e6f", - "07a18873-6df1-57a8-848c-980bfa29fbf5", - "07a81052-3964-5b08-8f2d-066c1e29de7d", - "07b48eae-1703-5821-b3e6-66bb1488e7b2", - "085e5f88-ab09-4d69-bc14-afa71e1ae17c", - "087aca40-9bc5-56b9-8cd5-a5a0488c18f2", - "08b799a0-59d8-4c69-87b3-fd239aef4197", - "09f063d9-7bc8-4567-bc27-fa1e7c87fa4d", - "0a79ce42-b2b7-5c37-8bb2-e61bc1b5e38f", - "0a80f21f-3212-596b-9367-f7211c554c7d", - "0aa3a582-3905-5cba-9dd1-d3cf58be18ce", - "0b9d7ae0-f6af-40e5-898d-7b2afc48c4b1", - "0c1455f0-64c2-48a5-bba1-15588755bad5", - "0c3e7565-d5bc-44ed-8b1c-a9446150f274", - "0c410012-5563-5e9d-9841-a0232b69d43f", - "0c75f376-4092-403f-8b91-dbb19b4fdf94", - "0ceed66e-513f-450f-89e9-3206f4485cdf", - "0d27ca8e-5325-4e47-9807-8afd92e9bf89", - "0db36828-3fae-5bd2-b052-ae63b88693d9", - "0dd65ce8-29ba-4341-9a93-eb2ca1f06c72", - "0ea260e6-08d5-4488-86bb-8bf3412540ee", - "0edf6004-84e5-5b8a-99e2-bb60390d9b17", - "0f15fb43-c791-4113-a721-a9e3767e8f6d", - "0fb3c4cd-6df4-48ac-b7c6-e96c144e0c42", - "10a02923-b945-43fe-97db-c984e06dc5a7", - "10a76c2f-2a9b-4430-88bc-c4f3828e4e3f", - "111c2683-e0ab-5704-b51f-7b93e6717415", - "1147a7c1-2f32-4f13-9457-929b9bce46f0", - "11712f1f-d3c5-54b4-9ab3-cd12b8eb15b7", - "120e7f3e-597a-4119-a9d6-1624704666b4", - "1248ead2-3dd4-43fe-9f7c-9609ed77d9c2", - "129bdef3-ae23-5273-920f-204cccd878fc", - "136b438c-b819-4da2-8cc1-d6cace9c716c", - "139bca8f-674f-5dc9-953f-9cfbf91f3179", - "15087f54-4375-44ad-9aef-405e976767c0", - "15af1b4f-6944-4af6-8a2a-4fea163edde2", - "15c898b4-124d-5c7b-b297-6b21226d0bda", - "15dbb4ef-0c35-48d9-86c2-f56fd6863810", - "1685c144-966c-53fe-8bd3-2a053b55966c", - "16c04a1a-6c78-4755-ada4-36025cd69ce9", - "16d53d3e-88ef-444a-aaec-e7947fc3e779", - "17510bd6-d94b-5f41-a726-967bf9955f31", - "17782e68-694a-42df-9411-9fd875b95cc7", - "181fc217-c6d8-5fa3-a76a-c0cc766d6dcc", - "1853e602-4743-4179-863b-fb686a6a7a9a", - "1872f705-7ccc-42af-80c5-7645ccd2848c", - "18de212b-b326-4daf-80d3-9e8ebc19ab03", - "198dff35-0fb9-4edc-bf0c-e973ac7eba59", - "19b7eb13-fef6-46a4-abb9-44a310e441b5", - "1a17a213-3a73-4af8-a105-6e5b3d056263", - "1a84035c-6716-40ce-844c-617eeaefb14d", - "1b5a4bc7-5a90-4782-a657-536a8b533156", - "1b8c4fa4-24d0-42b5-99e1-8c04eba5d8c3", - "1c4a667a-210a-445e-b773-d59840280580", - "1d5a282b-b4b5-41dc-ab46-862476a87c18", - "1d7226b0-ed2f-4ab4-8692-3af8d3bd6017", - "1d732738-9b3b-4393-920a-a3dd2ff6f7e1", - "1da5525c-2986-510e-9890-748b232ad65e", - "1db22fe1-6ca8-4ca3-b91b-678f08d8626f", - "1e0c544d-2963-4fde-b3cb-5bb9b938acaa", - "1edb7ccc-0cb3-41c4-a193-181542bce479", - "1f43235c-6299-527b-b470-2b6638bdaf8b", - "1f4840ce-45d5-4dbc-87a1-c2b06d0aa6c8", - "1fe49331-d165-4443-a82b-612309cb9567", - "1ff18c5a-846f-5000-b8c5-889b6328842a", - "204a3bb9-d52f-407e-a3ed-f051a40dd7c3", - "204dfd1c-ea7a-494b-a151-f1bcd586ddfb", - "2096cc65-c180-45f2-93b7-fcc5c21db3a1", - "20eaba77-49c4-4d9e-9e82-fb6351a9012a", - "21302b0f-80dc-48ce-a69c-b999c5418749", - "214d0bf4-23de-4aab-816e-52df14eb53f9", - "21581af6-c4c4-4268-9d63-cf5a3a7f5058", - "21ac5c57-bebb-47d4-ad9b-491cdfbacb88", - "2224ee0a-dc74-4bc6-bf71-5752bc090aed", - "223980cd-b247-415a-bb6d-41ed360837f2", - "22ccc95d-d789-4398-a790-83f86bb420d8", - "22d5f584-ff73-4a10-8377-387983b72a87", - "232174af-3ebf-4b3b-97fd-35547950c4c8", - "232c6da0-b86b-4995-8da1-a428211af836", - "23a28752-d0c7-4a3c-8548-acc8ddc26af4", - "2415ecb9-08af-4ecc-868b-69ba70a43c81", - "24c3ce12-e4f9-4299-a005-320d602716ce", - "25c4395e-dcc3-5fd4-bff6-7dd2be6dbc1f", - "26131c11-6186-4b1a-b37d-fb12515622bf", - "26684c18-6ba0-4e9b-98f2-0a4b6f7f4a86", - "266cf33e-5540-42cd-84de-757340908d42", - "27749341-b419-4dca-9175-a6a9025116a9", - "27e030cc-b89e-41fc-b0c8-c3258a4b2c6e", - "282fda83-f6d8-4d5b-b47a-14d13d5206fe", - "285e146c-92b8-490c-b5e5-c8c24daa8ad2", - "289ec28b-ce11-5be8-89ab-92fbceb874a0", - "28f5f863-26d9-4ca8-abb3-705d369250e7", - "295db19e-bdcc-5428-a68a-e0de856c4522", - "2b40b918-2632-4a06-9746-6f542d884b90", - "2b532bac-4ebb-47db-b5e2-37b8da2b5f6c", - "2b64aedb-2563-547f-ba70-aa9b8c1d5d3f", - "2b8cad63-d0bc-486b-923d-cc6f11eb6394", - "2c88ef68-7029-5f00-9387-a364d6292976", - "2d0d630a-58dd-42f7-bd7e-579ebec98d48", - "2d253fef-4538-511a-a960-bd999afeecf4", - "2e7e4b93-2d6c-4359-804c-f8ca1e21c31c", - "2ee42e3a-73ae-5632-9a22-11b6a0fdced8", - "2f77c2c6-e843-48cd-a160-65fb904eb112", - "2fc7b43d-2351-428d-94f9-10a25c165f1a", - "30286c6d-ca78-4108-aff5-6809618656dc", - "312ecb1d-d94c-437b-9f36-e2ccf949fd79", - "31658494-9514-5169-84bf-0eb0620557f0", - "31899978-a518-4d78-b85a-f62bca7ed723", - "32714f4f-1a04-4fc3-bdd9-2ae6473fe544", - "32a5b3e4-4f2f-4fb1-aeff-7fb01035eb8d", - "33055074-248b-57fe-99fd-b5deab653ac0", - "336b106c-f5f3-4d35-b583-05fc33ee910f", - "3381994d-5624-4f5f-a574-01ad099c448c", - "3450ac1e-8d8f-5bad-bd44-322d792acc8a", - "3516a5d0-2fa9-5fbb-b1cc-5a95ca12bf3d", - "35bc8baa-8916-5835-940c-ce684f30d4aa", - "3650db01-27bd-4371-a431-71d28620a40a", - "37925a3b-3bce-4876-bb29-745922b2c972", - "37e1cc3e-b56d-4cfe-b310-3ef20a6668a5", - "381edf9b-6bec-45ba-bf1e-07e344ae70f0", - "384733f9-328f-4b3f-b201-9489ae09f5de", - "38b67b47-7ef3-4e9e-88e1-3a8376769eb0", - "39046bdd-483c-44ad-9b50-dea608d34255", - "39121e35-d7a2-52ac-a826-529b0329033f", - "39c38ab6-dd8a-4098-87a8-8a861d55b7fb", - "39c59048-bac9-4b5b-935b-75b150931f41", - "3aa80a42-646a-5953-afe6-b177a78297df", - "3abd4ba6-320e-4f5e-91cb-3a75070506b3", - "3c6b5196-4dd9-4c23-a9d1-c1341d889ecf", - "3de145e6-2439-593d-9779-c618b174ece0", - "3e6ac46b-1d9d-4c91-b5df-e583208357fe", - "3f0bfbb4-c9be-56db-9eb5-b37a6dc306a2", - "3f20a83f-f01c-41f2-acaf-3c111dfa5465", - "3f5ad2eb-04e1-4cc0-9513-6f2be5feed42", - "41a13523-c45b-4546-8273-9321d9a2c250", - "41ae7f5d-67e9-4bc8-a844-262a9dea9b96", - "420d9c85-32cb-4f35-a939-918b1eda8d62", - "42b114bb-27ee-4415-b046-7ee5581adc27", - "43c13443-4e03-42b3-a32f-d048c8ea465e", - "44c70c3c-6fe7-4186-9aa5-b2cb1ea3b9d8", - "450befbb-21c9-5b53-a7b9-38b517cebe76", - "455c6c50-9424-4dac-b67c-1be48276d5b5", - "4598ad54-184e-4400-b40c-8b8050e31617", - "45b42e03-4fcb-4dd0-8a33-47680b8f5254", - "469016a2-3bea-4244-8bae-835c499c8ac0", - "470877fd-03da-40a6-9508-330b580cf728", - "4725c942-1647-435d-9690-51cf8b817b6a", - "47a6d2b8-91a5-51c3-9df3-ac30c79346d2", - "47f2b446-7a03-4286-8a35-41e52394622c", - "489c7fd9-1ac8-5b78-a91d-a44761f9d6e0", - "4964726c-4bf7-58a0-a401-6eecf9c7a3b3", - "49a158d2-9786-4f54-bac9-67244497c9c9", - "4a0269a6-6026-4d2f-9d1d-5bb60c0042df", - "4a28b164-2d5a-5232-946a-ac70276036b5", - "4a2cee73-ad0a-5ad9-bed4-62c32852f66d", - "4a302268-f155-5a27-b164-dff6f1fc78fa", - "4a5dedbf-84c4-5772-a103-fc1466aa0c86", - "4a9d5d83-3e12-5ece-9524-facb79cd9239", - "4adcb95e-8d5d-41dd-8299-8a7b686e8e4a", - "4ae55a6b-6e40-4300-b2a7-7e8c72c285de", - "4b06739c-d81c-45cd-825f-cc5145f15065", - "4b13d612-7d7e-5ee1-9c8b-20ba230dbb03", - "4ba330b1-83f6-4d6f-9eb4-4c2f9f8b12ae", - "4ba8f00e-0833-5862-bc6e-0cc2acb5d684", - "4bb648cb-6617-4a22-afb8-7c2ea96ea4e9", - "4bd54cd4-ca70-4566-a2bf-9fecb4dfbc34", - "4c1d363b-0560-49f2-addd-aaa879db3d30", - "4c32ae0b-8338-4906-90ef-06e1e4fd7577", - "4cbe8be7-074d-4104-a5bd-87150fb592a6", - "4dae1604-6e74-4306-ae82-2da7ca2efd77", - "4e7c6725-5d49-4ed6-9a5f-b7d0eaf75469", - "4eedf1da-27b4-4748-9207-c4ae4b86e966", - "4f8103b9-edbf-492a-b77f-13120e1d4938", - "4f91ed04-d045-4904-a78e-103294d4f5e9", - "4fd506bc-5824-4a7b-a44a-8d02532c5277", - "51ba44d1-35b6-4227-b52d-1d7012a2c5ab", - "51df62ea-0591-4b74-94d8-d143b8738643", - "527ee669-a4e3-5a41-bd35-54518b7b514b", - "529a01ff-db1b-4a8e-924b-8749387f5dcb", - "529e093e-c122-4939-8264-993ad651efd7", - "52ca4cde-727f-564e-95dd-7872573ebeba", - "536ba4f7-6694-4a31-8df1-0e6668ed10da", - "538399a0-da86-57f5-88c6-b150db89c3f3", - "539b91c6-886b-443d-8529-440996e839fd", - "540234b3-0c89-41d1-98aa-63b9968056bf", - "54306568-28bb-4786-aacd-247887f8420f", - "54bfca9c-a1f8-4632-a0cb-5f7b5edf48d6", - "550bbb11-4786-46b4-a9c1-46f105b14644", - "561a5c40-9014-5bce-b48b-a2df2687b562", - "565d6b74-caae-44f1-a1fc-a0b29a1f24f1", - "56f78439-cccd-41bb-8eaf-c05f96695879", - "57c18bb9-bb99-48dc-bf49-70e3e558deeb", - "58d03b27-9049-444e-a337-3491a5d715e1", - "5916d536-e063-46ce-b3bc-fa0120d2f263", - "59c440a3-b54c-4aa7-a9fb-b51a269c8d6f", - "59d7c07b-db98-54fc-9088-9c1aae445826", - "59e161bb-d88b-5153-bd6c-81d2e9c678de", - "5a0999a5-9945-4d18-8f0a-7ed5a6b1f27b", - "5a6387c1-c6b2-488d-b014-4fb3f3d11c8f", - "5af16cd9-8632-410d-b5d4-0441950a7851", - "5b4f46d9-346e-4eec-b55e-801d37ece165", - "5baa7164-60f5-4b28-8bad-e9a0563cac70", - "5c3d1e59-cae7-5f21-b925-9d27bf675a9e", - "5c745dc7-ece2-4df5-96b3-bca92b832c73", - "5d687d7c-8d96-4203-ad8e-d0668828ad37", - "5d81a93b-6a82-43dc-912c-95aa10a10839", - "5dbd0b94-a351-51c7-858c-045b053881fd", - "5ee0a825-8c35-4fe5-ab67-454c6bfd949b", - "5fbb11aa-074b-42ad-bb8c-13d80c3b2490", - "5fc661b9-440a-4b6f-b2f9-f847043debec", - "6008e2eb-ea1d-54b2-9611-fa896ae9aa21", - "601bacd5-c250-4dd3-a83d-c9f31a1b0dd8", - "608ff0ee-d075-59e3-b62a-ca5b523078db", - "611d7372-2d5d-4b93-9cb8-b6d689b0f905", - "6194245b-1ce5-495e-8e85-d859b3fcce66", - "619887a0-67fb-4e24-be95-409f9b3e8474", - "61a2e552-6617-589e-8985-e1b730d3095c", - "61a4052c-bbc0-4666-9747-ed6b4c706ac6", - "61d46fd3-fd85-5eb1-a251-7000d2394830", - "62a131e1-c415-460e-bc5b-75cca5d3323b", - "62f9d7c8-cb0b-4c30-b2d8-ab43fa4b3384", - "6348e566-f22f-4d96-9d35-c57b27592a9f", - "63bee9b4-8743-5a13-b144-80cf68313083", - "6453a4e5-5b30-58a1-bc08-d3a5167b3738", - "64713d72-8e8f-4350-a3ba-e1981c872100", - "65358965-9b3b-5187-bf6a-f918c6009f83", - "656a45cf-0782-4374-a8b5-72c5640b6bce", - "66ec4290-c809-4fe9-946d-add8e9b66b4a", - "677bcd4c-b135-5fb6-be37-7ece51f1ed7a", - "6844ac0e-f1aa-4592-bf2b-9962220c9b62", - "687ef9ee-e18c-446f-bbb6-97c31ba0ce9b", - "68b20827-e2b9-4d02-ac17-32ebf7aaf49c", - "68cac6a2-5453-4d08-9af2-a4e01f259dd3", - "69576784-ca06-4ccb-bab7-d6e8353a8036", - "69615be2-bace-489c-ab42-4b0842bbebd4", - "69cc1f24-8be9-58aa-af3e-99c13507216e", - "69ccee6f-c88d-4443-88a0-e46ed47bf2a1", - "69f04b25-c698-4a6e-aff3-7bccc1e969b7", - "6a019fd6-5db6-5717-8c4a-3a22a6fba738", - "6a26e03a-37ad-57ff-a8d4-6eccfe56ca12", - "6a512fd9-3942-4497-87fd-977d2a243b1c", - "6a73dfce-0163-5b3e-b1cd-0df84fb30871", - "6b34fa3f-1878-48ec-84c2-e2d8877903c4", - "6b94e023-9280-45df-ac3d-5a258e19bf29", - "6bad9f0e-c0f6-5200-b2e7-6d60296072db", - "6c52e66a-d034-476c-8f32-5d760b6a5029", - "6d83f11c-b3d1-58a8-abed-e9a78b7f64e5", - "6dccc154-99d6-4910-bb88-34288cafcd69", - "6f654061-017b-41a8-8c4b-9d6f2dcf422b", - "700af591-d469-4a3d-a908-cff116f28242", - "701795c2-dc0b-40f0-ad73-2572e414e278", - "70ad10de-b4ff-47a7-be15-d9158d0bdb5c", - "7157b964-2c40-579e-96ef-18a6dc94d29e", - "71aef8a5-add1-46ce-b5e9-c172a52414a2", - "71c8dfa2-0a8c-4ae0-8161-933454f56420", - "71e9623c-1cfa-4efe-9448-f4014da727dc", - "7229676a-4449-4a2f-ac97-284eb599841c", - "725cbe75-92a1-46dc-862a-1b9d012e0fc1", - "72a375f0-bf6b-4a62-a737-44800855ce46", - "72abfd0e-51d3-4b13-8495-bfaab2f1096b", - "7318a24c-7abf-445d-b4d2-2c5acc01e715", - "732d6ffa-1d89-4476-ad10-5ce9d83a78ad", - "739de51d-30f4-45f8-81ea-9f051a18b748", - "73bd1209-cfb5-420f-bd97-574ed9c7cd0e", - "73e8d35c-3f1b-5fdf-85ff-4215bfdd0818", - "7406f566-084c-4d50-a592-3bdd79848e33", - "749e78db-e5dd-51a9-8a5f-1b015b182e7a", - "74d1b609-5477-4ec3-840e-fa721ffa580f", - "75017000-be20-4f58-91ea-abaf63344959", - "756f8cce-2d70-4c53-a893-e26d556f0f06", - "75b6d713-08dc-4eff-9347-95c9519a34cd", - "76f76203-8b14-4a33-8a0d-d7687d887772", - "77d1797c-3775-53c1-bb54-10b8e39a1dde", - "7845673c-e51f-5a49-bdab-c3c3b80b51eb", - "78514d14-bf42-56a0-954a-9b0d1227bcae", - "785275c2-08e7-486f-bed5-850993b704d3", - "789c58d2-6a0d-514e-ac56-f884cd5e078d", - "793d9bf6-00cb-49e6-acc2-2cc724036645", - "796e5529-dd1a-4579-a469-a770eaa2216f", - "797f836d-6ad6-512b-a6c7-361375004d1b", - "79d1793f-4b07-4542-a76f-86ed4f1a12db", - "7a15aec3-1935-55fa-a225-c17a2a3cdc85", - "7a3a7a6e-8543-5cc7-982e-042350074a40", - "7ae24487-8546-422c-ad9b-bfa36bdd6ba4", - "7b2d444d-65f1-43e2-848d-22bcd2774c96", - "7b7015d5-5915-42d8-9427-7890d9e76282", - "7beb8479-c655-4b01-af4f-69f1668e1c6d", - "7c2c2ced-a0e3-4df7-ae1d-890218465626", - "7d0d9872-cdea-5f19-956e-eb47032a512a", - "7ee8e5aa-5faa-4491-bd66-150e202974dd", - "7efd8179-7a9a-4ef1-b199-46f94581cb1a", - "7f0f3ad8-9052-4003-ac7d-4e2e509b85f5", - "7fa6adde-000d-4360-9f45-2b5da4721f70", - "7ff7f0ac-a14a-4c42-800b-016141f020fd", - "80738c1d-105a-525e-8b84-ae666d549159", - "807e13ad-b807-44b5-92c8-9057b858968f", - "80971a51-d5f8-51a0-a5c3-bf57de4e8784", - "8101b4fa-d322-42ba-83d2-729a0b6b6903", - "8106eec7-2c2f-41b4-ad4d-997e683ed9fc", - "81204476-377f-4bf9-b5de-27f8b14d47c5", - "812b02ca-7aab-4166-8fe5-cb623f67ca93", - "81f56ff9-36eb-5897-b2e7-318c075ecbc8", - "82aef31f-b0b0-56de-adfc-c6085c65a1f3", - "82c03181-f541-4770-8bad-5fb68bf221b2", - "82c6f8e4-79f9-48b7-aab5-35853db742a4", - "82fc4ead-bf34-4834-91ed-cb6ec1717baa", - "835ec088-c1a5-4b0c-897c-22bc92950587", - "837fa4ab-745a-4a41-9fbf-0a4d1d1054d5", - "83ef8445-4462-5d84-b0ef-d812e9256089", - "845dd01f-cad1-54a4-8ff3-acd78d29a5b1", - "853ce2df-ac1e-5d3b-aa74-00ff4eab33c2", - "85716ed2-d37c-4e4a-bd8a-864154bad299", - "85a66538-6c12-4ab4-9679-b1f95001606d", - "85dc3748-6751-482b-b7cd-c1e08f7df5c0", - "85df5aac-75ac-416a-ba8b-b9b0f8b4e619", - "85e09b5b-24a8-4eea-9b0a-8ca17f9db79d", - "861c56b3-6733-5991-863b-31c51fd428c6", - "87fa5eb0-98d2-40ae-8bb1-445d0d2d0c11", - "8822d3e6-d454-500b-b8b6-54c869f2240b", - "8848e80d-192f-5c47-bb3e-ef0d519e1761", - "8881df7f-15da-48a9-8934-a2d65188543e", - "8a62b078-1656-4145-83ee-a54b74b1f566", - "8ad2188f-df5c-53d8-aaca-61b637db4d08", - "8cc41928-cd6a-42e8-91ed-4df865e847c2", - "8cdbf96a-27ae-590c-b967-8a850c760785", - "8d4c4056-6a9b-4c33-907c-66f4351fe7c1", - "8d7b1004-5265-40cd-8912-336d71e0f296", - "8de90a27-1f7c-5651-b3d6-8527c1ed92d6", - "8f3ed51f-9369-59ac-a2bc-70e1af25d169", - "8f63d864-87e5-40f3-8f68-936640010c7d", - "8f920042-b17f-4968-b57a-7f86508226d5", - "8fee28bf-4f9b-4d62-814b-ea97119048ee", - "9005739b-11b7-410d-88ad-e05a765dabd9", - "90072d5b-6333-43b5-a032-dbe72c3e38eb", - "903e21c8-aea0-41fa-9d49-2574fb9d94ba", - "90465f43-bfdf-56d4-a9e1-7a765d60a1fe", - "90ab9fe3-3847-4477-bff8-66db44610c92", - "90bd06b3-c8fd-4ed8-98b4-9bf21e9466f9", - "91a5af73-4a8a-4285-bcbb-42344e18745f", - "91caea03-3c9a-5ba8-9acc-3685e3a6062e", - "9210ccdd-107f-4ef3-9a2d-f9c573788f43", - "9237b659-a7c4-55df-8159-2a7d4a6ad458", - "93107fa2-26df-550c-b450-6269ccf0f5ae", - "939adbf3-850d-591a-a2a8-0bf95c9dedda", - "93a4f15c-e388-4c42-b47a-5f7286793186", - "9403a717-07d2-4510-9f19-77d41747c188", - "9417041b-2952-41d5-b0d8-b42694f4fd4a", - "94259313-d341-4b1f-b9cc-48a760d81c19", - "9447492f-3a6a-4f33-a128-605686ae6d65", - "9487afae-0606-40f8-9770-2bfbc9635829", - "949f9f56-27b9-59dc-9263-6792dfdc964b", - "951a8ffc-69c5-4f7c-8ee8-39b76171f630", - "95c3bed5-a62e-4d0b-aaec-dc931cb779ce", - "96540aa6-2fd5-4102-9b5c-ea0766c3989d", - "96cbabdb-30b4-4c71-9250-bb7efcd9ee1e", - "96d0d820-8df2-47b6-8091-3b0a234c5688", - "96d2674c-2f8f-4495-b95f-a6be448ba8fb", - "9774fb4a-ead0-55a7-b924-d8a5bd83bbcf", - "97ab1a9b-43d0-443d-b25c-228f79cb5666", - "98890737-779e-436b-a305-4c2512de56b9", - "98df7492-84a8-57f5-ad48-d8072c5f595a", - "98f74c7b-abd8-4adc-b68f-f68aa5d3e58c", - "997fecc1-cc72-4357-9a33-8aa2be30d96b", - "99985ea4-d29e-4357-9879-99440a002b49", - "9a4277c3-806b-4906-a777-613f01a51003", - "9b6d349f-774f-56e1-ab6b-938385c60a4f", - "9baa3062-0022-53e2-a3df-14df08c4c66c", - "9bb08d39-3957-4ff7-a20d-cc45a1cb38ab", - "9c25532b-bbac-408a-8b3b-4d7f565f11b9", - "9c6fffe5-0f64-4325-8e2f-8be4fa5417b9", - "9d578de9-08fb-47f8-9bc4-77e9577965e7", - "9d8ad642-95f5-4574-b9fd-a22f147f3809", - "9eb9a3ac-8d35-4ac8-af2a-9272ffa13b97", - "9f54e4ee-7b4c-57df-803a-d960b5da3887", - "9f686a8c-9b49-4b37-9c5e-a6017b4aaf0e", - "a0cf7b57-f8ac-4591-bfe5-a9a2b7416057", - "a0e661e2-dac9-4004-9605-8307c15f831d", - "a0ea22e2-cab6-506d-8211-bb479591a04c", - "a1dbe553-ade6-5ce4-b9f9-77c740891c97", - "a2653332-1aab-49d6-8da8-b5c5fe004e70", - "a3bef94d-a68f-43d4-8cb8-58977b20f849", - "a42125f1-93c2-40c3-9247-ad419a2527e7", - "a428e47e-0081-497b-9c8a-7c852f4eb103", - "a4d115b6-9e08-51fd-9f66-20805421a8db", - "a5a6d033-de94-515c-a742-68e6e1188c2c", - "a69fcb4d-a7ec-4101-9e5a-1959bc3265ae", - "a753faac-75d8-442d-a44d-b0320ba88fe0", - "a7708bfc-0d3d-4c87-bea3-34790a7aad2c", - "a7738486-8b11-4e05-a004-6c931569972f", - "a78f0746-6eed-5b0e-9772-aab4bceec02c", - "a81da3e0-7245-44e8-8034-b9ebab1fcf2f", - "a8674039-068d-4560-aa99-b9481239d4fb", - "a87c5838-140e-40f4-97b0-591aecbe1b3c", - "a9c40eb8-24b6-4436-a3d3-e8035e84f6ae", - "aa76f640-744e-4c50-92af-33c7f54fc7ee", - "aa7c5481-5b46-4267-bcfa-0940dad1bf1c", - "ab5743e9-3eef-48c8-83f4-8458071fb7f4", - "ab887fca-e9b8-529c-9fe2-93595435858d", - "ad3e2c96-e515-431a-a1fa-fc7b57cff8ea", - "ad5b6061-910a-44d0-b8e6-7294d8b9e6d7", - "ae073235-e422-4c3a-8bf4-9892d6e769b3", - "ae38fa93-e50c-4033-a1e9-ac404ede7380", - "ae71343b-df16-49a3-829d-a6e61afdc079", - "aeaa76b1-161d-4d9f-a520-d30e87d9c1d9", - "afe45faa-e5e1-4cf8-8d79-4092dca736bd", - "b13f3346-158d-5509-bc82-3aed1b2c23be", - "b1883730-3304-48c1-904b-eb90ab226168", - "b2b1e2e5-b9f9-4a5f-91c5-ea7cda58cffe", - "b2f7c6e9-087c-5f95-b2c2-6aa9cce695ff", - "b35f53c9-bb50-487e-9548-7961c3e63170", - "b486e644-c56d-4209-b7c7-e56c527306b2", - "b49fb5d4-6f31-4b7d-827e-bc09ed30a167", - "b4d16fe2-eeac-4a26-9cc3-17414b87f3b1", - "b4f3e64c-ff38-5dd3-8656-ee8c06b1c673", - "b544dfff-faa5-4579-b4be-fccb8cf972a4", - "b5e9df12-e333-4754-a01b-c83c4b8f644a", - "b61e4f40-1742-4bbb-a20d-78a934c5f8de", - "b7914794-f8a7-4fba-bb5b-10536eac7d8b", - "b7f87bc7-bb85-5bd8-beae-1d14cd6846ef", - "b8912f33-12a7-4bf8-9f25-e91fbc77517c", - "b913fbad-c5fa-473c-b4a9-ae94e3490593", - "b92aadd5-3603-4e12-a92d-22e1f9757361", - "b9877824-638a-5fde-8196-70317fa1cc19", - "b9b49dd4-471a-4364-bc72-acaa1bcb633d", - "ba005942-3abb-4988-90a4-57747fb05b8b", - "ba276a56-3bdf-42ff-93f4-2920c3a288f9", - "bb2d6938-f6ad-461b-8fa4-eca0e4c040b2", - "bb2edf45-1041-4e38-9ace-ec922a747f80", - "bb8154f5-e9c7-41d1-84dc-bf95c66a9946", - "bbb02342-bad3-5d6c-89fa-1cbaf2e7b5dd", - "bc454c4f-c3b4-565f-be09-44d7523a80de", - "bc583c0e-4336-43d4-a7da-dc7e1f72b50b", - "bc5ba4f6-a3f1-4156-830f-11228df251bc", - "bc6bf485-351c-47c7-9837-d564bd32699b", - "bcee0e35-49c4-4af1-b202-eaf4df226025", - "bcf87efd-2880-49ed-abec-7a176c51ede7", - "bd1a2c8e-dc02-4167-8c73-ffe00e96a42c", - "bd90d9bf-cf73-407b-8e3a-07ef2f9c2fd8", - "be3b1c9a-c417-4c4f-956f-e1162da429b6", - "be3cffb9-150a-4a1e-8f4b-a0afde4eea5a", - "be7a2637-26cf-48ba-bfc5-52fa945d2d88", - "bed46309-3752-4115-a307-8c20d93dce55", - "bf81010d-b56b-4f0e-9fbc-4a27b9901908", - "bfac08a4-0266-4d6b-b8a4-24b57f560017", - "c0c71843-6831-4e91-90cf-cb31d4a4b277", - "c0e0476d-b0c5-434b-9c33-92e52900341d", - "c1102423-264b-4668-9e09-39b105474d6f", - "c1770287-3376-5cc1-a2a2-9676e7f5716e", - "c1ab22ca-2289-4384-82be-a3f16bdf113d", - "c2088136-2f49-5833-b397-16e27d741b5f", - "c27ebc26-f0b4-4f42-8b10-061fb04f77bd", - "c2b3e37f-511e-4e8d-a1b1-ab510204bfcf", - "c301901f-95cd-4a3e-a4df-761fa21e92af", - "c30c31d2-ccfb-4651-8b78-a25a23ab4e95", - "c31aecba-db6a-5229-a729-66269d90ee8a", - "c375c822-c26f-4196-9d4d-586d063a9583", - "c50f0504-73bc-4bd6-8ed3-1dcf0b60549f", - "c5674446-c1fa-5509-a077-a296cf1df801", - "c57bdaec-21df-479e-857e-ddb6f5f78f95", - "c5ab8014-5630-5ce5-9aaf-247e12d4ef6d", - "c6ca5e48-0be8-4b66-ac11-6e25511afe2a", - "c6ce7598-aa0e-5689-b8c3-55109c076a94", - "c7101d0a-844d-580c-b7bf-7223131713e5", - "c79e49e1-62b2-41c4-a3eb-96bbe01a2ed4", - "c7c7643a-be8f-5f84-92ee-26da94393427", - "c88c5a0e-73be-495e-a082-a28db1b1eae2", - "c8d8c14f-4e5e-4911-a386-391fd1153969", - "c98d43fa-1032-4085-be11-1950c5a6856e", - "cbb508b9-a20b-52a1-bf55-026c692c9fcf", - "cbbeeabb-18e8-52bd-896e-af4ed76b1ca7", - "cbc3aef2-aa4d-5cb2-8e23-4e83195f29d4", - "cc38ed0e-ac2c-4d75-99a0-8e2ab7e4256e", - "cc430c2e-f377-5651-aa5d-3dfa30b421cd", - "cc78276c-f893-4aa3-996a-1c5dc2c351c6", - "cd2174ec-d1f0-5cca-a5bc-5070f6736991", - "cd90e8e4-0fc5-4f26-86c6-cef5034f01d3", - "cdba26d8-9b1d-471f-9a08-875a09cbb96b", - "ce37ba6d-9b5a-4573-840c-ee6cec97de9e", - "ce52572d-f7d1-585d-a54f-fc14297d19c0", - "cf419a69-a9d3-4973-88ce-06f4c22ae90c", - "cf6620a8-3a16-46fe-815b-039a8dde9e16", - "cf835034-c34b-4b5d-aac6-8de2e280e959", - "cfa1e5da-607e-49b6-aa0d-8f43702b971f", - "d09272b0-2827-4b7b-9a8c-a63fec7376ca", - "d0a991b4-440b-48ee-87bf-d5613ca9da8b", - "d0baedfe-0556-4c2b-a1a0-d1e28ef07bb5", - "d1b3c364-8f6c-57d2-847c-1b22257f7e87", - "d1bbc8a6-9320-4527-bca3-2dbb172bea38", - "d2b3f3a1-b030-5c80-89d4-42a76db79127", - "d2b4df36-221d-413d-8e9a-b233b72d3832", - "d2fbc3ac-231e-4d92-b35d-a0b94a741937", - "d3142cb9-7285-5185-a5a5-c63d5f3cade8", - "d335dc6e-1d93-471f-867d-9873d12a5b55", - "d3a27ec7-9a17-45d4-b853-4d1cd768856d", - "d3c05176-1d0b-4ce1-b005-0af8c35129cd", - "d3c42b32-d484-458c-ad66-e7e9e7889ee9", - "d41aa539-54ba-5f2e-bfd6-4c9905ee38a1", - "d4b2569d-4f63-41c0-9a11-97068ee3ae68", - "d50fce4b-6645-4c91-bac0-401728be36d8", - "d5744e7d-7ab9-4d86-8a3a-bfc9e96946fc", - "d5b67ef8-2382-42b0-999e-baf1984141f1", - "d64ce807-663f-4a74-89a5-55e313168f35", - "d6505f32-dbd6-4d59-8fd7-0a303f7c1263", - "d6dea6fc-64af-4374-b6d1-383d51aaa00a", - "d79ff5a5-7510-4fa7-9ea1-782c6dc09271", - "d7f083b3-1e02-4838-a7a2-a52bc7bcb1bb", - "d7f0b745-c135-4594-9a4b-a4c66c8a1520", - "d8146d19-442a-5dbe-a075-b3a1ef0ebf07", - "d94541a9-1505-4a33-8ff5-fcb2b19b0d92", - "d9b006ee-9626-517f-baed-e6c7bc8a8686", - "da490be5-56d8-4510-a3c9-c256666fbe4d", - "da70fbc5-f917-483a-990f-a5356da78b50", - "daa5945d-5d1f-4586-9c85-e3fa5af8bfb5", - "dab143f7-7a17-48ba-a7b9-60064444ada5", - "dabbfa84-9a92-448a-a09f-8a2eaf13b958", - "db5c9d93-73ce-400f-809a-cf8649a0a3bb", - "dba60b5a-af86-4fde-8cfc-49b008f5adad", - "dbde50d2-6912-59a2-82b0-3b4014dc988c", - "dbe02baf-4c99-4784-bf03-2ebeeef70288", - "dbe117fc-c5ee-4347-bb8a-1a3fb9c89895", - "dc9ec562-3a71-5e42-b486-4f846ff7fcc0", - "dcaba295-f646-562f-8752-6f6fa634bc4f", - "dd19fdc7-35a9-432f-9a97-670637433eda", - "de694c96-1135-4d40-a44c-88ca899d164c", - "ded9b30e-12df-4998-846a-7cef685e4bd6", - "df1913aa-439c-587d-8192-5e2e66bc5262", - "dfd63958-121b-54a8-9b8b-707f3e28d3da", - "dfe9cbbb-cf19-4e2d-bd3c-70e0d9235f67", - "e0b0252f-8351-5ce3-a804-632a1cd78d28", - "e1b9ecf6-6fd8-4bc1-a28d-e9c9850055af", - "e23d96b7-a271-403e-a29e-b2bdb1949070", - "e29a9b1c-1ea6-4774-876f-765c7ac65d02", - "e3735012-e613-5a77-b38e-68fb27f9fdd7", - "e48d6415-0b7b-4e06-9c7b-861f33c1f1c7", - "e512685e-d15e-4b12-9f7f-e871da115586", - "e512c10b-854a-4c57-8c56-c84c84875664", - "e54680ad-0ebf-50cd-bf66-8d7b888af34c", - "e5ca2d0e-2fd8-4a89-88af-ad54c5f36290", - "e607b72f-3024-4d7e-8292-19d2d53a3a95", - "e6604cbc-c882-5f03-b4d0-807eb969a293", - "e6a532d6-bba0-5304-809c-5fc5f8373529", - "e779b50e-a892-4a0c-af02-2dd400956018", - "e79faefc-5135-4e43-a64d-8db7472d3f2e", - "e7b60260-7ae4-4d5a-b1a4-51622467e4b3", - "e7bd55f0-f6b6-4bfc-9395-35297fffd7d4", - "e7c8ff09-e97d-4b2e-8892-49cabbacb4c2", - "e85fcce7-59a6-593d-a52a-d25b47fafbfe", - "e8cb5e82-22fa-5e54-984e-3d2e4b91a100", - "e8fbe9c1-ab25-4300-a40d-65d0e8f627e0", - "e97d853f-aaf2-4b69-8300-f9aac8111c39", - "e9de5082-46c8-4b26-83c0-7fd480dcb142", - "e9eb59a6-8324-47c7-8d54-4517587c6802", - "ea737bae-7b34-4fb1-96a0-c3375446206c", - "ea7b5ae7-acdc-4d67-8665-c8a0b52da561", - "ea99b549-cd95-445b-a796-a4ccd992491d", - "eb8efbdd-147c-5206-b23c-f561d07335f7", - "ebde6cd6-26b6-40d6-9fa4-efe43d99ee8f", - "ecfd0cb5-5755-5852-b84f-dcaad39a6ddc", - "ed8bc174-30cc-4fa4-9e48-0543b825b1e4", - "ee40ec89-7cd0-5a9f-9f21-a1a4d69f5a1d", - "ee9ad501-69c5-49df-89d2-32ea89591634", - "eed4d335-880b-4735-9d04-cdbf706e3d44", - "eed7135f-d544-4e23-b8c9-266999b4135f", - "ef50dd96-a305-4edd-84e7-aae93377c488", - "f027f9ff-0d24-49e2-b71d-18543a4631f2", - "f0e53f0b-f5b9-4b5e-a168-de936401dc24", - "f17d1da2-2965-4732-a94a-6cd2a58fc873", - "f1903d0b-1cb2-4208-bc20-a37ad8612452", - "f1a64a47-3ed4-4570-99d7-ea6194826b07", - "f1f25c56-1cd7-44e4-8e58-7adafd43529c", - "f264de1c-35b3-5f4e-8d6f-f3a11bd30e93", - "f26c4715-5488-4d7f-ae0e-1c965128fbb1", - "f2b68b09-0776-5913-a34a-0944942c2b87", - "f2ed99b4-a68d-4d54-8c65-9534ad5931b5", - "f2fa48aa-5197-40a8-9c2a-c75c5c5f7264", - "f333416d-7f9e-4e54-9fbb-2ee29d55aed9", - "f3b53d83-7ee7-42db-b2d5-05a792204872", - "f3e0b538-bf64-417d-8746-52d5ad9311be", - "f4183399-0e70-466e-8915-8e4481f9b7d1", - "f4a448a7-bc5a-4014-ab1f-0d1a8cd4e47c", - "f683fadf-dd8c-4cfe-ae8b-34e3af5b74a1", - "f706178d-1afd-4bbb-bb69-12645ec038a6", - "f70a20e6-ad33-424e-b385-bb9a19be000e", - "f895f666-e3ed-4a7e-a7f5-42586a6244ea", - "f8dcbc35-bb0b-4bd4-ae8d-9be72b39dc16", - "f9173d91-b535-40f1-9937-2d0f00f4432f", - "f97aef9d-20fe-4872-88d1-9b44f174a16c", - "fa5185cb-e48d-5ab8-90b8-5499c3a725b6", - "fa78c4ab-4057-45b1-8266-af045ae28535", - "fbbd6c03-df0d-44dd-b383-c1efb83abb2e", - "fbed02e6-1547-469c-b96f-45c61111af53", - "fd0752c7-210b-4acd-a7ef-df7ffcdfbd3d", - "fd0cff96-93f2-4eb4-88f2-991f60542f46", - "fd5a2b33-eebc-41e3-b880-a39736a47a7c", - "fda0ea89-2300-59ed-9125-784883c5e211", - "fe261b23-efd5-445b-8dd4-46e47231ccff", - "fe4686b9-acd3-5237-acf1-1bd9cc0c19c5", - "ff3b3d1c-2ba9-50a9-9ca7-0558012cbe7d", - "ffba13e2-0937-49b3-961a-2ce3055ad5c6", - "ffe830d9-c586-47d1-9bb4-33baed6dcdc7" - ] -} \ No newline at end of file diff --git a/test/indexer/data/ffac201f-4b1c-4455-bd58-19c1a9e863b4.dss.hca.json b/test/indexer/data/ffac201f-4b1c-4455-bd58-19c1a9e863b4.dss.hca.json deleted file mode 100644 index 531a7b240e..0000000000 --- a/test/indexer/data/ffac201f-4b1c-4455-bd58-19c1a9e863b4.dss.hca.json +++ /dev/null @@ -1,840 +0,0 @@ -{ - "manifest": { - "sequence_file/4015da8b-18d8-4f3c-b2b0-54f0b77ae80a": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "49a9085f", - "indexed": false, - "name": "Cortex2.CCJ15ANXX.SM2_052318p4_D8.unmapped.1.fastq.gz", - "s3_etag": "4d41f6b4e299fae71c710a62264b3f51", - "sha1": "106796b131d970a41f116da6170883649939fb1d", - "sha256": "709fede4736213f0f71ae4d76719fd51fa402a9112582a4c52983973cb7d7e47", - "size": 22819025, - "uuid": "a8b8479d-cfa9-4f74-909f-49552439e698", - "version": "2019-10-09T17:22:51.560099Z" - }, - "sequence_file/fa17159e-52ec-4a88-80cf-a3be5e2e9988": { - "content-type": "application/gzip; dcp-type=data", - "crc32c": "dd098625", - "indexed": false, - "name": "Cortex2.CCJ15ANXX.SM2_052318p4_D8.unmapped.2.fastq.gz", - "s3_etag": "f05d8a8ee401cf11b16ac9c0cd1fb9ff", - "sha1": "84855c92d5ca3035280957422cf3ed41eddb9f3c", - "sha256": "87d440adf8f9bd598083e70ee43d2b45b57f70ae81d1905c74bc2dad6e9a1fee", - "size": 26762221, - "uuid": "7338932d-edc9-49a9-8dbf-e459a465800f", - "version": "2019-10-09T17:22:52.628550Z" - } - }, - "metadata": { - "cell_suspension/0432e9a5-604f-4cb7-8571-014eb5fd8ba2": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/13.3.0/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Cortex2_specimen1_cell1", - "biomaterial_name": "Mouse cortex cells", - "biomaterial_description": "Mouse cortex cells", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "estimated_cell_count": 349, - "provenance": { - "document_id": "0432e9a5-604f-4cb7-8571-014eb5fd8ba2", - "submission_date": "2019-10-09T15:31:09.351Z", - "update_date": "2019-10-09T15:35:11.150Z", - "schema_major_version": 13, - "schema_minor_version": 3 - } - }, - "specimen_from_organism/caadf4b5-f5e4-4416-9f04-9c1f902cc601": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.4.0/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "Cortex2_specimen1", - "biomaterial_name": "Cortex2", - "biomaterial_description": "Mouse cortex cells", - "ncbi_taxon_id": [ - 10090 - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "organ": { - "text": "brain", - "ontology": "UBERON:0000955", - "ontology_label": "brain" - }, - "organ_parts": [ - { - "text": "cortex", - "ontology": "UBERON:0001851", - "ontology_label": "cortex" - } - ], - "preservation_storage": { - "storage_method": "fresh" - }, - "provenance": { - "document_id": "caadf4b5-f5e4-4416-9f04-9c1f902cc601", - "submission_date": "2019-10-09T15:31:09.237Z", - "update_date": "2019-10-09T15:32:51.765Z", - "schema_major_version": 10, - "schema_minor_version": 4 - } - }, - "donor_organism/e66ac278-96b3-4713-9c5f-5c70b1efb6e3": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/15.5.0/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "donor_4", - "biomaterial_name": "mouse cortex donor", - "biomaterial_description": "C57BL/6 mouse cortex donor", - "ncbi_taxon_id": [ - 10090 - ] - }, - "genus_species": [ - { - "text": "Mus musculus", - "ontology": "NCBITaxon:10090", - "ontology_label": "Mus musculus" - } - ], - "mouse_specific": { - "strain": [ - { - "text": "C57BL/6", - "ontology": "EFO:0004472", - "ontology_label": "C57BL/6" - } - ] - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "sex": "male", - "organism_age": "1", - "organism_age_unit": { - "text": "month", - "ontology": "UO:0000035", - "ontology_label": "month" - }, - "is_living": "no", - "development_stage": { - "text": "juvenile stage", - "ontology": "UBERON:0034919", - "ontology_label": "juvenile stage" - }, - "provenance": { - "document_id": "e66ac278-96b3-4713-9c5f-5c70b1efb6e3", - "submission_date": "2019-10-09T15:31:09.213Z", - "update_date": "2019-10-09T15:32:49.737Z", - "schema_major_version": 15, - "schema_minor_version": 5 - } - }, - "sequence_file/4015da8b-18d8-4f3c-b2b0-54f0b77ae80a": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Cortex2.CCJ15ANXX.SM2_052318p4_D8.unmapped.1.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "RNA sequence" - } - ] - }, - "lane_index": 5, - "read_index": "read1", - "library_prep_id": "Cortex2.CCJ15ANXX.SM2_052318p4_D8", - "read_length": 50, - "provenance": { - "document_id": "4015da8b-18d8-4f3c-b2b0-54f0b77ae80a", - "submission_date": "2019-10-09T15:31:58.607Z", - "update_date": "2019-10-09T15:52:46.609Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "sequence_file/fa17159e-52ec-4a88-80cf-a3be5e2e9988": { - "describedBy": "https://schema.humancellatlas.org/type/file/9.2.0/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "Cortex2.CCJ15ANXX.SM2_052318p4_D8.unmapped.2.fastq.gz", - "format": "fastq.gz", - "content_description": [ - { - "text": "RNA sequence" - } - ] - }, - "lane_index": 5, - "read_index": "read2", - "library_prep_id": "Cortex2.CCJ15ANXX.SM2_052318p4_D8", - "read_length": 50, - "provenance": { - "document_id": "fa17159e-52ec-4a88-80cf-a3be5e2e9988", - "submission_date": "2019-10-09T15:31:58.617Z", - "update_date": "2019-10-09T15:52:49.512Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "project/88ec040b-8705-4f77-8f41-f81e57632f7d": { - "describedBy": "https://schema.humancellatlas.org/type/project/14.1.0/project", - "schema_type": "project", - "project_core": { - "project_short_name": "scRNAseqSystemicComparison", - "project_title": "Systematic comparative analysis of single cell RNA-sequencing methods", - "project_description": "A multitude of single-cell RNA sequencing methods have been developed in recent years, with dramatic advances in scale and power, and enabling major discoveries and large scale cell mapping efforts. However, these methods have not been systematically and comprehensively benchmarked. Here, we directly compare seven methods for single cell and/or single nucleus profiling from three types of samples \u2013 cell lines, peripheral blood mononuclear cells and brain tissue \u2013 generating 36 libraries in six separate experiments in a single center. To analyze these datasets, we developed and applied scumi, a flexible computational pipeline that can be used for any scRNA-seq method. We evaluated the methods for both basic performance and for their ability to recover known biological information in the samples. Our study will help guide experiments with the methods in this study as well as serve as a benchmark for future studies and for computational algorithm development." - }, - "supplementary_links": [ - "https://bitbucket.org/jerry00/scumi-dev/src/master/" - ], - "insdc_project_accessions": [ - "SRP200058" - ], - "geo_series_accessions": [ - "GSE132044" - ], - "contributors": [ - { - "name": "Jiarui,,Ding", - "email": "jding@broadinstitute.org", - "institution": "The Broad Institute of MIT & Harvard", - "laboratory": "Klarman Cell Observatory", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - }, - "orcid_id": "0000-0003-3670-7764" - }, - { - "name": "Xian,,Adiconis", - "email": "adiconis@broadinstitute.org", - "institution": "The Broad Institute of MIT & Harvard", - "laboratory": "Klarman Cell Observatory", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Sean,K,Simmons", - "email": "ssimmons@broadinstitute.org", - "institution": "The Broad Institute of MIT & Harvard", - "laboratory": "Klarman Cell Observatory", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Monika,S,Kowalczyk", - "email": "monika@broadinstitute.org", - "institution": "The Broad Institute of MIT & Harvard", - "laboratory": "Klarman Cell Observatory", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Cynthia,C,Hession", - "email": "cynthia.hession@gmail.com", - "institution": "The Broad Institute of MIT & Harvard", - "laboratory": "Klarman Cell Observatory", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Nemanja,D,Marjanovic", - "email": "nemanja@broadinstitute.org", - "institution": "The Broad Institute of MIT & Harvard", - "laboratory": "Klarman Cell Observatory", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Travis,K,Hughes", - "email": "tkhughes@mit.edu", - "institution": "The Broad Institute of MIT & Harvard", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Marc,H,Wadsworth", - "email": "marcwadsworth2@gmail.com", - "institution": "The Broad Institute of MIT & Harvard", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Tyler,,Burks", - "email": "tylerburks01@gmail.com", - "institution": "The Broad Institute of MIT & Harvard", - "laboratory": "Klarman Cell Observatory", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Lan,T,Nguyen", - "email": "ltn@broadinstitute.org", - "institution": "The Broad Institute of MIT & Harvard", - "laboratory": "Klarman Cell Observatory", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "John,Y,Kwon", - "email": "johnyoungkwon@gmail.com", - "institution": "The Broad Institute of MIT & Harvard", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Boaz,,Barak", - "email": "barakboaz@gmail.com", - "institution": "MIT", - "laboratory": "McGovern Institute for Brain Research", - "address": "43 Vassar St, Cambridge, MA, 02139", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "William,,Ge", - "email": "hwilliamge@gmail.com", - "institution": "The Broad Institute of MIT & Harvard", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Amanda,J,Kedaigle", - "email": "akedaigl@broadinstitute.org", - "institution": "The Broad Institute of MIT & Harvard", - "laboratory": "Klarman Cell Observatory", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Shaina,,Carroll", - "email": "shainacarroll12@gmail.com", - "institution": "The Broad Institute of MIT & Harvard", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Shuqiang,,Li", - "email": "shuqiang@broadinstitute.org", - "institution": "The Broad Institute of MIT & Harvard", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Nir,,Hacohen", - "email": "NHACOHEN@mgh.harvard.edu", - "institution": "The Broad Institute of MIT & Harvard", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Orit,,Rozenblatt-Rosen", - "email": "orit@broadinstitute.org", - "institution": "The Broad Institute of MIT & Harvard", - "laboratory": "Klarman Cell Observatory", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Alex,K,Shalek", - "email": "alex.shalek@gmail.com", - "institution": "The Broad Institute of MIT & Harvard", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Alexandra-Chlo\u00e9,,Villani", - "email": "cvillani@broadinstitute.org", - "institution": "The Broad Institute of MIT & Harvard", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Aviv,,Regev", - "email": "aregev@broadinstitute.org", - "institution": "The Broad Institute of MIT & Harvard", - "laboratory": "Klarman Cell Observatory", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "scientist", - "ontology": "EFO:0009741", - "ontology_label": "experimental scientist" - } - }, - { - "name": "Joshua,Z,Levin", - "email": "jlevin@broadinstitute.org", - "institution": "The Broad Institute of MIT & Harvard", - "laboratory": "Klarman Cell Observatory", - "address": "415 Main Street, Cambridge, MA, 02142", - "country": "USA", - "corresponding_contributor": true, - "project_role": { - "text": "principal investigator", - "ontology": "EFO:0009736", - "ontology_label": "principal investigator" - }, - "orcid_id": "0000-0002-0170-3598" - }, - { - "name": "Chris,,Villarreal", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - }, - { - "name": "William,G,Sullivan", - "email": "wisulliv@ucsc.edu", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - } - }, - { - "name": "Parisa,,Nejad", - "email": "pnejad@ucsc.edu", - "institution": "University of California, Santa Cruz", - "laboratory": "Human Cell Atlas Data Coordination Platform", - "country": "USA", - "corresponding_contributor": false, - "project_role": { - "text": "Human Cell Atlas wrangler", - "ontology": "EFO:0009737", - "ontology_label": "data curator" - }, - "orcid_id": "0000-0002-3163-0115" - } - ], - "publications": [ - { - "authors": [ - "Ding J;Adiconis X;Simmons SK;Kowalczyk MS;Hession CC;Marjanovic ND;Hughes TK;MH Wadsworth MH;Burks T;Nguyen LT;Kwon JY;Barak B;Ge W;Kedaigle AJ;Carroll S;Li S;Hacohen N;Rozenblatt-Rosen O;Shalek AK;Villani C;Regev A;Levin JZ" - ], - "title": "Systematic comparative analysis of single cell RNA-sequencing methods", - "doi": "10.1101/632216", - "url": "https://www.biorxiv.org/content/10.1101/632216v2" - } - ], - "funders": [ - { - "grant_title": "Klarman Family Foundation: Klarman Cell Observatory 2.0", - "grant_id": "unknown", - "organization": "Klarman Cell Observatory" - }, - { - "grant_title": "The Manton Foundation: The Immune Cell Atlas 2.0", - "grant_id": "unknown", - "organization": "The Manton Foundation" - }, - { - "grant_title": "A High Resolution Cell Type Atlas of the Mouse Forebrain", - "grant_id": "NIH: 1U19 MH114821 (Huang and Arlotta)", - "organization": "The BRAIN Initiative" - } - ], - "provenance": { - "document_id": "88ec040b-8705-4f77-8f41-f81e57632f7d", - "submission_date": "2019-10-09T15:31:09.188Z", - "update_date": "2019-10-09T15:32:48.934Z", - "schema_major_version": 14, - "schema_minor_version": 1 - }, - "hca_bionetworks": [] - }, - "library_preparation_protocol/76a9a285-f79c-4754-bd26-310b80965b8f": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/6.2.0/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "Smart-seq2", - "protocol_name": "Smart-seq2", - "protocol_description": "Smart-seq2" - }, - "input_nucleic_acid_molecule": { - "text": "mRNA" - }, - "nucleic_acid_source": "single cell", - "library_construction_method": { - "text": "Smart-seq2", - "ontology": "EFO:0008931", - "ontology_label": "Smart-seq2" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "spike_in_kit": { - "retail_name": "ERCC ExFold RNA Spike-In Mixes", - "catalog_number": "4456739", - "manufacturer": "Thermo Fisher Scientific" - }, - "cdna_library_amplification_method": { - "text": "PCR", - "ontology": "OBI:0000415", - "ontology_label": "PCR" - }, - "provenance": { - "document_id": "76a9a285-f79c-4754-bd26-310b80965b8f", - "submission_date": "2019-10-09T15:31:09.411Z", - "update_date": "2019-10-09T15:31:15.989Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "sequencing_protocol/63afce7b-829a-491d-a6ed-ab27bf3b4fbc": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/10.1.0/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_full_length" - }, - "instrument_manufacturer_model": { - "text": "Illumina HiSeq 2500", - "ontology": "EFO:0008565", - "ontology_label": "Illumina HiSeq 2500" - }, - "paired_end": true, - "method": { - "text": "full length", - "ontology": "EFO:0008441", - "ontology_label": "full length single cell RNA sequencing" - }, - "provenance": { - "document_id": "63afce7b-829a-491d-a6ed-ab27bf3b4fbc", - "submission_date": "2019-10-09T15:31:09.466Z", - "update_date": "2019-10-09T15:31:15.893Z", - "schema_major_version": 10, - "schema_minor_version": 1 - } - }, - "dissociation_protocol/78b86ffb-3c85-4b24-81ae-af54815bf222": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.2.0/dissociation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "dissociation_protocol_3", - "protocol_name": "Cortex", - "protocol_description": "Tissue lysis and douncing homogenization followed by centrifugation for nuclei isolation" - }, - "method": { - "text": "mechanical dissociation", - "ontology": "EFO:0009129", - "ontology_label": "mechanical dissociation" - }, - "provenance": { - "document_id": "78b86ffb-3c85-4b24-81ae-af54815bf222", - "submission_date": "2019-10-09T15:31:09.396Z", - "update_date": "2019-10-09T15:31:16.106Z", - "schema_major_version": 6, - "schema_minor_version": 2 - } - }, - "enrichment_protocol/8ec628d3-91d2-46f3-82aa-67c2b831160d": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/3.1.0/enrichment_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "enrichment_protocol_1", - "protocol_name": "Dead Cell Staining", - "protocol_description": "TOPRO\u00ae-3 Iodide (Thermo Fisher Scientific) per ml to stain dead cells" - }, - "method": { - "text": "FACS", - "ontology": "EFO:0009108", - "ontology_label": "fluorescence-activated cell sorting" - }, - "markers": "TO-PRO-3-", - "provenance": { - "document_id": "8ec628d3-91d2-46f3-82aa-67c2b831160d", - "submission_date": "2019-10-09T15:31:09.472Z", - "update_date": "2019-10-09T15:31:16.008Z", - "schema_major_version": 3, - "schema_minor_version": 1 - } - }, - "collection_protocol/a7257865-6a66-472c-bdd1-6314c8a7d4b0": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/9.2.0/collection_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "collection_protocol_2", - "protocol_name": "collection_protocol_2", - "protocol_description": "We obtained whole cortex samples by euthanizing 1 month old C57BL/6 male mice by cervical dislocation. We then dissected the whole cortex out of the first hemisphere by a midsagittal cut and a cut made between the cerebellum and the hemisphere. The hippocampus, olfactory bulb, and all basal ganglia were dissected out, and the cortex was placed\nin 500 \u00b5l RNAlater (Thermo Fisher Scientific) in a 1.5 ml tube, followed by incubation overnight at 4 \u2103 before storage at -80 \u2103. Then second half of the cortex was processed similarly and placed\nin a different tube. We took only 2 min to harvest the first half of the cortex after the cervical dislocation step and another minute for the second half of the cortex." - }, - "method": { - "text": "dissection", - "ontology": "EFO:0003856", - "ontology_label": "dissection" - }, - "provenance": { - "document_id": "a7257865-6a66-472c-bdd1-6314c8a7d4b0", - "submission_date": "2019-10-09T15:31:09.380Z", - "update_date": "2019-10-09T15:31:15.965Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/74fa0d9c-438f-42b7-94c7-7dd63ab67c12": { - "process_core": { - "process_id": "Cortex2.CCJ15ANXX.SM2_052318p4_D8" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "74fa0d9c-438f-42b7-94c7-7dd63ab67c12", - "submission_date": "2019-10-09T15:32:36.850Z", - "update_date": "2019-10-09T15:38:24.184Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/c6598ea5-a7d0-4898-a640-66eb7aba33a4": { - "process_core": { - "process_id": "process_id_23" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "c6598ea5-a7d0-4898-a640-66eb7aba33a4", - "submission_date": "2019-10-09T15:32:18.143Z", - "update_date": "2019-10-09T15:36:21.984Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - }, - "process/c7070951-ec8a-492f-a7be-354b5670c056": { - "process_core": { - "process_id": "process_id_4" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/9.2.0/process", - "provenance": { - "document_id": "c7070951-ec8a-492f-a7be-354b5670c056", - "submission_date": "2019-10-09T15:32:18.035Z", - "update_date": "2019-10-09T15:36:21.507Z", - "schema_major_version": 9, - "schema_minor_version": 2 - } - } - }, - "links": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.5/links", - "schema_type": "link_bundle", - "schema_version": "1.1.5", - "links": [ - { - "process": "74fa0d9c-438f-42b7-94c7-7dd63ab67c12", - "inputs": [ - "0432e9a5-604f-4cb7-8571-014eb5fd8ba2" - ], - "input_type": "biomaterial", - "outputs": [ - "4015da8b-18d8-4f3c-b2b0-54f0b77ae80a", - "fa17159e-52ec-4a88-80cf-a3be5e2e9988" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "76a9a285-f79c-4754-bd26-310b80965b8f" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "63afce7b-829a-491d-a6ed-ab27bf3b4fbc" - } - ] - }, - { - "process": "c6598ea5-a7d0-4898-a640-66eb7aba33a4", - "inputs": [ - "caadf4b5-f5e4-4416-9f04-9c1f902cc601" - ], - "input_type": "biomaterial", - "outputs": [ - "0432e9a5-604f-4cb7-8571-014eb5fd8ba2" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "78b86ffb-3c85-4b24-81ae-af54815bf222" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "8ec628d3-91d2-46f3-82aa-67c2b831160d" - } - ] - }, - { - "process": "c7070951-ec8a-492f-a7be-354b5670c056", - "inputs": [ - "e66ac278-96b3-4713-9c5f-5c70b1efb6e3" - ], - "input_type": "biomaterial", - "outputs": [ - "caadf4b5-f5e4-4416-9f04-9c1f902cc601" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "collection_protocol", - "protocol_id": "a7257865-6a66-472c-bdd1-6314c8a7d4b0" - } - ] - } - ] - }, - "stitched": [] -} \ No newline at end of file diff --git a/test/indexer/test_anvil.py b/test/indexer/test_anvil.py deleted file mode 100644 index 6537a2c905..0000000000 --- a/test/indexer/test_anvil.py +++ /dev/null @@ -1,309 +0,0 @@ -from abc import ( - ABC, -) -from collections import ( - defaultdict, -) -import json -from operator import ( - itemgetter, -) -from typing import ( - Iterable, - Type, - cast, -) -from unittest.mock import ( - Mock, - PropertyMock, - patch, -) - -from furl import ( - furl, -) -from more_itertools import ( - one, -) -from urllib3 import ( - HTTPResponse, -) - -from azul import ( - config, -) -from azul.indexer.document import ( - DocumentType, - EntityReference, -) -from azul.logging import ( - configure_test_logging, -) -from azul.plugins.repository import ( - tdr_anvil, -) -from azul.plugins.repository.tdr_anvil import ( - BundleType, - TDRAnvilBundle, - TDRAnvilBundleFQID, -) -from azul.terra import ( - TDRClient, -) -from azul.types import ( - JSONs, - MutableJSONs, -) -from azul_test_case import ( - TDRTestCase, -) -from indexer import ( - AnvilCannedBundleTestCase, - IndexerTestCase, -) -from indexer.test_tdr import ( - TDRPluginTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class DUOSTestCase(TDRTestCase, ABC): - - def _mock_normal_duos(self): - for p in self._duos_patches(self.normal_response_bodies): - self.addPatch(p) - - @property - def normal_response_bodies(self) -> MutableJSONs: - duos_id = 'DUOS-000000' - return [ - # TDR's /snapshots/{snapshot_id} response: - { - 'name': self.source.spec.name, - 'duosFirecloudGroup': {'duosId': duos_id} - }, - # DUOS' /dataset/registration/{duos_id}: - { - 'consentGroups': [{'datasetIdentifier': duos_id}], - 'studyDescription': 'Study description from DUOS' - } - ] - - def _duos_patches(self, bodies: JSONs) -> Iterable[patch]: - responses = [ - Mock(spec=HTTPResponse, status=200, data=json.dumps(body)) - for body in bodies - ] - mock_url = PropertyMock(return_value=furl('https://mock_duos.lan')) - patches = [ - patch.object(type(config), 'duos_service_url', new=mock_url), - patch.object(TDRClient, '_request', side_effect=responses) - ] - return patches - - -class AnvilIndexerTestCase(AnvilCannedBundleTestCase, IndexerTestCase): - - @classmethod - def primary_bundle(cls) -> TDRAnvilBundleFQID: - return cls.bundle_fqid(uuid='826dea02-e274-affe-aabc-eb3db63ad068') - - @classmethod - def supplementary_bundle(cls) -> TDRAnvilBundleFQID: - return cls.bundle_fqid(uuid='c2711e94-9966-a0ef-88be-88caf3e8a29b', - table_name=BundleType.supplementary.value) - - @classmethod - def duos_bundle(cls) -> TDRAnvilBundleFQID: - return cls.bundle_fqid(uuid='2370f948-2783-aeb6-afea-e022897f4dcf', - table_name=BundleType.duos.value) - - @classmethod - def replica_bundle(cls) -> TDRAnvilBundleFQID: - return cls.bundle_fqid(uuid='6b35f59c-d33d-abf7-9ba0-c7b3a0ca82f3', - table_name='non_schema_orphan_table') - - -class TestAnvilIndexer(AnvilIndexerTestCase, - TDRPluginTestCase[tdr_anvil.Plugin], - DUOSTestCase): - - @classmethod - def _plugin_cls(cls) -> Type[tdr_anvil.Plugin]: - return tdr_anvil.Plugin - - def test_indexing(self): - self.maxDiff = None - bundle = self.primary_bundle() - canned_hits = self._load_canned_result(bundle) - for enable_replicas in True, False: - with patch.object(target=type(config), - attribute='enable_replicas', - new_callable=PropertyMock, - return_value=enable_replicas): - with self.subTest(enable_replicas=enable_replicas): - if enable_replicas: - expected_hits = canned_hits - else: - expected_hits = [ - h - for h in canned_hits - if self._parse_index_name(h)[1] is not DocumentType.replica - ] - self.index_service.create_indices(self.catalog) - try: - self._index_canned_bundle(bundle) - hits = self._get_all_hits() - hits.sort(key=itemgetter('_id')) - self.assertElasticEqual(expected_hits, hits) - finally: - self._purge_indices() - - def test_list_and_fetch_bundles(self): - self._mock_normal_duos() - source_ref = self.source - self._make_mock_tdr_tables(source_ref) - canned_bundle_fqids = [ - self.primary_bundle(), - self.supplementary_bundle(), - self.duos_bundle(), - self.replica_bundle(), - ] - expected_bundle_fqids = sorted(canned_bundle_fqids + [ - # Replica bundles for the AnVIL schema tables, which we don't can - self.bundle_fqid(uuid='9461293c-447c-a75f-a9ee-a544b106cba3', - table_name='anvil_activity'), - self.bundle_fqid(uuid='115cedcf-2b4b-a8ab-ae6f-178e2362dc60', - table_name='anvil_alignmentactivity'), - self.bundle_fqid(uuid='9998900d-4481-aeb5-8a0f-4e485d26412d', - table_name='anvil_assayactivity'), - self.bundle_fqid(uuid='50eaf222-be04-af62-aac4-a21dad96a734', - table_name='anvil_diagnosis'), - self.bundle_fqid(uuid='a3ef24e4-5739-a2ee-ba59-4a2dc24c0bfe', - table_name='anvil_donor'), - self.bundle_fqid(uuid='eeaae015-86da-a018-bc4c-2aec42aa88a2', - table_name='anvil_sequencingactivity'), - self.bundle_fqid(uuid='6aec5e41-3a08-a86e-9f29-07092145ebdb', - table_name='anvil_variantcallingactivity') - ]) - plugin = self.plugin - bundle_fqids = sorted(plugin.list_bundles(source_ref, '')) - self.assertEqual(expected_bundle_fqids, bundle_fqids) - for bundle_fqid in canned_bundle_fqids: - with self.subTest(bundle_fqid=bundle_fqid): - canned_bundle = self._load_canned_bundle(bundle_fqid) - assert isinstance(canned_bundle, TDRAnvilBundle) - bundle = plugin.fetch_bundle(bundle_fqid) - assert isinstance(bundle, TDRAnvilBundle) - self.assertEqual(canned_bundle.fqid, bundle.fqid) - self.assertEqual(canned_bundle.entities, bundle.entities) - self.assertEqual(canned_bundle.links, bundle.links) - self.assertEqual(canned_bundle.orphans, bundle.orphans) - - def test_absent_duos_id(self): - source_ref = self.source - self._make_mock_tdr_tables(source_ref) - cases = { - 'Absent duosFirecloudGroup': [ - {'name': self.source.spec.name} - ], - 'Empty duosFirecloudGroup': [ - { - 'name': self.source.spec.name, - 'duosFirecloudGroup': {} - } - ], - 'Null duosId': [ - { - 'name': self.source.spec.name, - 'duosFirecloudGroup': {'duosId': None} - } - ] - } - for sub_test, response_bodies in cases.items(): - with self.subTest(sub_test): - with self.stacked_patches(self._duos_patches(response_bodies)): - bundle = self.plugin.fetch_bundle(self.duos_bundle()) - self.assertIsInstance(bundle, TDRAnvilBundle) - self.assertEqual({}, bundle.entities) - self.assertEqual(1, len(bundle.orphans)) - - -class TestAnvilIndexerWithIndexesSetUp(AnvilIndexerTestCase): - """ - Conveniently sets up (tears down) indices before (after) each test. - """ - - def setUp(self) -> None: - super().setUp() - self.index_service.create_indices(self.catalog) - - def tearDown(self): - super().tearDown() - self._purge_indices() - - def test_dataset_description(self): - dataset_ref = EntityReference(entity_type='anvil_dataset', - entity_id='2370f948-2783-4eb6-afea-e022897f4dcf') - bundles = [self.primary_bundle(), self.duos_bundle()] - for bundle_fqid in bundles: - bundle = cast(TDRAnvilBundle, self._load_canned_bundle(bundle_fqid)) - # To simplify the test, we drop all entities from the bundles - # except for the dataset - bundle.links.clear() - bundle.entities = {dataset_ref: bundle.entities[dataset_ref]} - self._index_bundle(bundle, delete=False) - - hits = self._get_all_hits() - doc_counts: dict[DocumentType, int] = defaultdict(int) - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - if qualifier == 'bundles': - continue - elif qualifier in {'datasets', 'replica'}: - doc_counts[doc_type] += 1 - if qualifier == 'datasets' and doc_type is DocumentType.aggregate: - self.assertEqual(2, hit['_source']['num_contributions']) - self.assertEqual(sorted(b.uuid for b in bundles), - sorted(b['uuid'] for b in hit['_source']['bundles'])) - contents = one(hit['_source']['contents']['datasets']) - # These fields are populated only in the primary bundle - self.assertEqual(dataset_ref.entity_id, contents['document_id']) - self.assertEqual(['phs000693'], contents['registered_identifier']) - # These fields are populated only in the DUOS bundle - self.assertEqual('Study description from DUOS', contents['description']) - self.assertEqual('DUOS-000000', contents['duos_id']) - # This field is present in both bundles - self.assertEqual('52ee7665-7033-63f2-a8d9-ce8e32666739', contents['dataset_id']) - else: - self.fail(qualifier) - self.assertDictEqual(doc_counts, { - DocumentType.aggregate: 1, - DocumentType.contribution: 2, - **({DocumentType.replica: 2} if config.enable_replicas else {}) - }) - - def test_orphans(self): - bundle = self._index_canned_bundle(self.replica_bundle()) - assert isinstance(bundle, TDRAnvilBundle) - dataset_entity_id = one( - ref.entity_id - for ref in bundle.orphans - if ref.entity_type == 'anvil_dataset' - ) - expected = bundle.orphans if config.enable_replicas else {} - actual = {} - hits = self._get_all_hits() - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - self.assertEqual(DocumentType.replica, doc_type) - source = hit['_source'] - self.assertEqual(source['hub_ids'], [dataset_entity_id]) - ref = EntityReference(entity_type=source['replica_type'], - entity_id=source['entity_id']) - actual[ref] = source['contents'] - self.assertEqual(expected, actual) diff --git a/test/indexer/test_health_check.py b/test/indexer/test_health_check.py deleted file mode 100644 index 76ec0d3f89..0000000000 --- a/test/indexer/test_health_check.py +++ /dev/null @@ -1,49 +0,0 @@ -from moto import ( - mock_aws, -) - -from azul.logging import ( - configure_test_logging, -) -from azul.types import ( - MutableJSON, -) -from azul_test_case import ( - DCP1TestCase, -) -from health_check_test_case import ( - HealthCheckTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class TestIndexerHealthCheck(DCP1TestCase, HealthCheckTestCase): - - @classmethod - def lambda_name(cls) -> str: - return 'indexer' - - def _expected_health(self, - endpoints_up: bool = True, - es_up: bool = True - ) -> MutableJSON: - return { - 'up': False, - **self._expected_elasticsearch(up=es_up), - **self._expected_queues(up=not es_up), - **self._expected_progress() - } - - @mock_aws - def test_queues_down(self): - with self._mock(): - response = self._test('/health/fast') - self.assertEqual(503, response.status_code) - self.assertEqual(self._expected_health(), response.json()) - - -del HealthCheckTestCase diff --git a/test/indexer/test_index_controller.py b/test/indexer/test_index_controller.py deleted file mode 100644 index 12d88d0379..0000000000 --- a/test/indexer/test_index_controller.py +++ /dev/null @@ -1,311 +0,0 @@ -from bisect import ( - insort, -) -from collections import ( - defaultdict, -) -from functools import ( - partial, -) -from unittest.mock import ( - MagicMock, - PropertyMock, - call, - patch, -) - -import attrs -from chalice.app import ( - BadRequestError, -) -from more_itertools import ( - one, -) -from moto import ( - mock_aws, -) -from opensearchpy import ( - TransportError, -) - -from azul import ( - config, -) -from azul.indexer import ( - BundlePartition, -) -from azul.indexer.document import ( - Contribution, -) -from azul.indexer.index_controller import ( - IndexController, -) -from azul.indexer.index_queue_service import ( - IndexAction, - IndexQueueService, -) -from azul.indexer.index_repository_service import ( - IndexRepositoryService, -) -from azul.indexer.index_service import ( - IndexWriter, -) -from azul.logging import ( - configure_test_logging, - get_test_logger, -) -from azul.plugins.repository.tdr import ( - TDRBundleFQID, - TDRPlugin, -) -from azul.plugins.repository.tdr_hca import ( - Plugin, -) -from azul.terra import ( - TDRSourceRef, -) -from azul.types import ( - JSON, -) -from azul_test_case import ( - DCP2TestCase, -) -from indexer.test_indexer import ( - DCP2IndexerTestCase, -) -from sqs_test_case import ( - WorkQueueTestCase, -) - -log = get_test_logger(__name__) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging(log) - - -@mock_aws -class TestIndexController(DCP2IndexerTestCase, WorkQueueTestCase): - source = DCP2TestCase.source.with_prefix( - attrs.evolve(DCP2TestCase.source.spec.prefix, - partition=0) - ) - - def setUp(self) -> None: - super().setUp() - self.index_service.create_indices(self.catalog) - app = MagicMock() - self.controller = IndexController(app=app) - app.catalog = self.catalog - IndexQueueService.index_service.fset(self.queue_service, self.index_service) - - @property - def queue_service(self): - return self.controller.index_queue_service - - @property - def index_repository_service(self): - return self.queue_service.index_repository_service - - def tearDown(self): - self._purge_indices() - super().tearDown() - - def _fqid_from_message(self, message: JSON) -> TDRBundleFQID: - fqid = message['bundle_fqid'] - return TDRBundleFQID(uuid=fqid['uuid'], - version=fqid['version'], - source=TDRSourceRef.from_json(fqid['source'])) - - def test_invalid_notification(self): - event = [ - self._mock_sqs_record(dict(action='foo', - source='foo_source', - notification='bar', - catalog=self.catalog)) - ] - self.assertRaises(BadRequestError, self.controller.contribute, event) - - @patch.object(TDRPlugin, 'resolve_source') - def test_remote_reindex(self, resolve_source): - source = self.source - resolve_source.return_value = source - plugin = self.index_repository_service.repository_plugin(self.catalog) - plugin._assert_source(source) - self._create_mock_queues(config.indexer_queue_names) - self.queue_service.remote_reindex(self.catalog, {str(source.spec)}) - messages = one(self._read_queue(self.queue_service.notifications_queue())) - expected_notification = dict(action='reindex', - catalog=self.catalog, - source=source.to_json(), - prefix='') - self.assertEqual(expected_notification, messages) - event = [self._mock_sqs_record(messages)] - - bundle_fqids = [ - TDRBundleFQID(source=source, - uuid='4426adc5-b3c5-5aab-ab86-51d8ce44dfbe', - version='2020-08-10T21:24:26.174274Z') - ] - - with patch.object(Plugin, 'list_bundles', return_value=bundle_fqids): - self.controller.contribute(event) - - messages = one(self._read_queue(self.queue_service.notifications_queue())) - expected_source = dict(id=source.id, spec=str(source.spec)) - source = messages['bundle_fqid']['source'] - self.assertEqual(expected_source, source) - - def test_contribute_and_aggregate(self): - """ - Contribution and aggregation of two bundles - - Index two bundles that make contributions to the same project. Inspect - that the contributions match the tallies that are returned to SQS. - During aggregation only the project entity is deferred due to - multiple contributions. - """ - self.maxDiff = None - self._create_mock_queues(config.indexer_queue_names) - source = self.source - fqids = [ - TDRBundleFQID(source=source, - uuid='4426adc5-b3c5-5aab-ab86-51d8ce44dfbe', - version='2020-08-10T21:24:26.174274Z'), - TDRBundleFQID(source=source, - uuid='1b6d8348-d6e9-406a-aa6a-7ee886e52bf9', - version='2019-09-24T09:35:06.958773Z') - ] - - # Load canned bundles - bundles = { - fqid: self._load_canned_bundle(fqid) - for fqid in fqids - } - - # Synthesize initial notifications - messages = [ - self.queue_service.index_bundle_message(IndexAction.add, - self.catalog, - fqid.to_json() - ).body - for fqid in fqids - ] - - # Invoke the service once to produce a set of expected entities so we - # don't need to hard-code them. Keep in mind that this test is not - # intended to cover the service, only the controller. - expected_digest = defaultdict(list) - for fqid, bundle in bundles.items(): - contributions, replicas = self.index_service.transform(self.catalog, - bundle, - delete=False) - for contribution in contributions: - assert isinstance(contribution, Contribution) - # Initially, each entity gets a tally of 1 - expected_digest[contribution.entity.entity_type].append(1) - - # Prove that we have two contributions per "container" type, for when we - # test poison tallies and deferrals below. Note that the two project - # contributions are to the same entity, the bundle contributions are not. - for entity_type in ['projects', 'bundles']: - self.assertEqual([1, 1], expected_digest[entity_type]) - - # Test partitioning and contribution - for i in range(3): - mock_plugin = MagicMock() - notified_fqids = list(map(self._fqid_from_message, messages)) - notified_bundles = [bundles[fqid] for fqid in notified_fqids] - mock_plugin.fetch_bundle.side_effect = notified_bundles - type(mock_plugin).bundle_fqid_cls = PropertyMock(return_value=TDRBundleFQID) - mock_plugin.sources = [source] - with patch.object(IndexRepositoryService, - 'repository_plugin', - return_value=mock_plugin): - with patch.object(BundlePartition, - 'max_partition_size', - 4): - event = list(map(self._mock_sqs_record, messages)) - self.controller.contribute(event) - - # Assert plugin calls by controller - expected_calls = list(map(call, notified_fqids)) - self.assertEqual(expected_calls, mock_plugin.fetch_bundle.mock_calls) - - # Assert partitioned notifications, straight from the retry queue - messages = self._read_queue(self.queue_service.notifications_queue(retry=True)) - # Fingerprint the partitions from the resulting notifications - partitions = defaultdict(set) - for n in messages: - fqid = self._fqid_from_message(n) - partition = BundlePartition.from_json(n['bundle_partition']) - partitions[fqid].add(partition) - partitions = {k: len(v) for k, v in partitions.items()} - if i == 0: - # Assert that each bundle was partitioned. The number of - # partitions for each bundle depends on the the number of - # entities in that bundle and the patched max_partition_size - self.assertEqual({fqids[0]: 2, fqids[1]: 8}, partitions) - elif i == 1: - # The partitions resulting from the first iteration should not - # need to be partitioned again - self.assertEqual({fqids[1]: 2}, partitions) - elif i == 2: - self.assertEqual({}, partitions) - - # We got a tally of one for each - tallies = self._read_queue(self.queue_service.tallies_queue()) - digest = self._digest_tallies(tallies) - self.assertEqual(expected_digest, digest) - - # Test aggregation - messages = map(partial(self._mock_sqs_record, fifo=True), tallies) - with patch.object(IndexWriter, 'write', side_effect=TransportError): - try: - self.controller.aggregate(messages) - except TransportError: - pass - else: - self.fail() - - self.assertEqual([], self._read_queue(self.queue_service.tallies_queue())) - - # Poison the two project and the two bundle tallies, by simulating - # a number of failed attempts at processing them - attempts = self.queue_service.num_batched_aggregation_attempts - # While 0 is a valid value, the test logic below wouldn't work with it - self.assertGreater(attempts, 0) - messages = [ - self._mock_sqs_record(tally, - attempts=(attempts + 1 - if tally['entity_type'] in {'bundles', 'projects'} - else 1), - fifo=True) - for tally in tallies - ] - self.controller.aggregate(messages, retry=True) - - tallies = self._read_queue(self.queue_service.tallies_queue(retry=True)) - digest = self._digest_tallies(tallies) - # The two project tallies were consolidated (despite being poisoned) and - # the resulting tally was deferred - expected_digest['projects'] = [2] - # One of the poisoned bundle tallies was referred. Since it was - # poisoned, all other tallies were deferred - expected_digest['bundles'] = [1] - self.assertEqual(expected_digest, digest) - - # Aggregate the remaining deferred tallies - messages = map(partial(self._mock_sqs_record, fifo=True), tallies) - self.controller.aggregate(messages, retry=True) - - # All tallies were referred - self.assertEqual([], self._read_queue(self.queue_service.tallies_queue())) - self.assertEqual([], self._read_queue(self.queue_service.tallies_queue(retry=True))) - - def _digest_tallies(self, tallies): - entities = defaultdict(list) - for tally in tallies: - insort(entities[tally['entity_type']], tally['num_contributions']) - return entities diff --git a/test/indexer/test_indexer.py b/test/indexer/test_indexer.py deleted file mode 100644 index 2b858da701..0000000000 --- a/test/indexer/test_indexer.py +++ /dev/null @@ -1,2321 +0,0 @@ -from bisect import ( - insort, -) -from collections import ( - Counter, - defaultdict, -) -from collections.abc import ( - Mapping, -) -from concurrent.futures import ( - ThreadPoolExecutor, -) -from copy import ( - deepcopy, -) -from itertools import ( - chain, -) -import re -from typing import ( - Iterable, - Optional, - cast, -) -import unittest -from unittest.mock import ( - PropertyMock, - patch, -) -from uuid import ( - uuid4, -) - -import attr -from more_itertools import ( - bucket, - ilen, - one, -) -import opensearchpy -from opensearchpy import ( - OpenSearch, -) - -from azul import ( - R, - cached_property, - config, - true, -) -from azul.collections import ( - NestedDict, -) -from azul.indexer import ( - Bundle, - BundlePartition, -) -from azul.indexer.document import ( - CataloguedEntityReference, - Contribution, - ContributionCoordinates, - DocumentType, - EntityReference, - EntityType, - IndexName, - Replica, - ReplicaCoordinates, -) -from azul.indexer.field import ( - null_bool, - null_int, - null_str, -) -from azul.indexer.index_service import ( - IndexExistsAndDiffersException, - IndexService, - IndexWriter, - Tallies, - log as index_service_log, -) -from azul.json import ( - json_hash, -) -from azul.logging import ( - configure_test_logging, - get_test_logger, -) -from azul.plugins import ( - MetadataPlugin, -) -from azul.plugins.metadata.hca import ( - CellSuspensionTransformer, - HCABundle, -) -from azul.plugins.repository.dss import ( - DSSBundle, -) -from azul.threads import ( - Latch, -) -from azul.types import ( - JSON, - JSONs, -) -from azul_test_case import ( - AzulUnitTestCase, -) -from indexer import ( - DCP1CannedBundleTestCase, - DCP2CannedBundleTestCase, - IndexerTestCase, -) - -log = get_test_logger(__name__) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging(log) - - -class DCP1IndexerTestCase(DCP1CannedBundleTestCase, IndexerTestCase): - - @cached_property - def old_bundle(self): - return self.bundle_fqid(uuid='aaa96233-bf27-44c7-82df-b4dc15ad4d9d', - version='2018-11-02T11:33:44.698028Z') - - @cached_property - def new_bundle(self): - return self.bundle_fqid(uuid='aaa96233-bf27-44c7-82df-b4dc15ad4d9d', - version='2018-11-04T11:33:44.698028Z') - - @cached_property - def metadata_plugin(self) -> MetadataPlugin: - return MetadataPlugin.load(self.catalog).create() - - def _assert_hit_counts(self, - hits: list[JSON], - num_contribs: int, - num_replicas: int, - *, - num_aggs: Optional[int] = None, - ): - """ - Verify that the indices contain the correct number of hits of each - document type - - :param hits: Hits from Elasticsearch - - :param num_contribs: Expected number of contributions - - :param num_replicas: Expected number of replicas, assuming replicas are - enabled. - - :param num_aggs: Expected number of aggregates. If unspecified, - ``num_contribs`` becomes the default. - """ - if num_aggs is None: - # By default, assume 1 aggregate per contribution. - num_aggs = num_contribs - expected = { - DocumentType.contribution: num_contribs, - DocumentType.aggregate: num_aggs, - DocumentType.replica: num_replicas if config.enable_replicas else 0, - } - actual = dict.fromkeys(expected.keys(), 0) - actual |= Counter(self._parse_index_name(h)[1] for h in hits) - self.assertDictEqual(expected, actual) - - @classmethod - def _write_transforms(cls, bundle: HCABundle) -> Tallies: - bundle = attr.evolve(bundle, - manifest=deepcopy(bundle.manifest), - metadata=deepcopy(bundle.metadata)) - transforms = cls.index_service.transform(cls.catalog, bundle, delete=False) - contributions, replicas = transforms - cls.index_service.replicate(cls.catalog, replicas) - return cls.index_service.contribute(cls.catalog, contributions) - - -class DCP2IndexerTestCase(DCP2CannedBundleTestCase, IndexerTestCase): - pass - - -class TestDCP1Indexer(DCP1IndexerTestCase): - - def test_indexing(self): - """ - Index a bundle and assert the index contents verbatim - """ - self.maxDiff = None - bundle = self._load_canned_bundle(self.old_bundle) - canned_hits = self._load_canned_result(self.old_bundle) - for max_partition_size in [BundlePartition.max_partition_size, 1]: - for page_size in (config.contribution_page_size, 1): - for enable_replicas in True, False: - with ( - self.subTest(page_size=page_size, - max_partition_size=max_partition_size, - enable_replicas=enable_replicas), - patch.object(target=type(config), - attribute='enable_replicas', - new_callable=PropertyMock, - return_value=enable_replicas), - patch.object(BundlePartition, - 'max_partition_size', - new=max_partition_size), - patch.object(type(config), - 'contribution_page_size', - new=page_size) - ): - self.index_service.create_indices(self.catalog) - try: - self._index_bundle(bundle, delete=False) - hits = self._get_all_hits() - if enable_replicas: - expected_hits = canned_hits - else: - expected_hits = [ - h - for h in canned_hits - if self._parse_index_name(h)[1] is not DocumentType.replica - ] - self.assertElasticEqual(expected_hits, hits) - contributions = set() - replicas = set() - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - if doc_type is DocumentType.replica: - entity_id = ReplicaCoordinates.from_hit(hit).entity.entity_id - replicas.add(entity_id) - if entity_id == bundle.uuid: - expected = bundle.links - else: - expected = one( - v - for k, v in bundle.metadata.items() - if EntityReference.parse(k).entity_id == entity_id - ) - # Replica contents should match the entity - # metadata as supplied by the repository - # plugin, verbatim - actual = hit['_source']['contents'] - self.assertEqual(expected, actual) - elif doc_type is DocumentType.contribution: - entity_id = ContributionCoordinates.from_hit(hit).entity.entity_id - contributions.add(entity_id) - # Every contribution should be replicated, but many - # replicated entities never manifest as outer - # entities in the index and thus have no - # corresponding contribution. - if enable_replicas: - self.assertIsSubset(contributions, replicas) - else: - self.assertEqual(set(), replicas) - finally: - self._purge_indices() - - def test_deletion(self): - """ - Delete a bundle and check that the index contains the appropriate flags - """ - # Ensure that we have a bundle whose documents are written individually - # and another one that's written in bulk. - bundle_sizes = [ - (self.new_bundle, 6, 10), - (self.bundle_fqid(uuid='2a87dc5c-0c3c-4d91-a348-5d784ab48b92', - version='2018-03-29T10:39:45.437487Z'), 258, 263) - ] - self.assertTrue( - bundle_sizes[0][1] - < IndexWriter.bulk_threshold - < bundle_sizes[1][1] - ) - - field_types = self.index_service.catalogued_field_types() - aggregate_cls = self.metadata_plugin.aggregate_class() - for bundle_fqid, num_contribs, num_replicas in bundle_sizes: - with self.subTest(num_contribs=num_contribs): - bundle = self._load_canned_bundle(bundle_fqid) - bundle = DSSBundle(fqid=bundle_fqid, - manifest=bundle.manifest, - metadata=bundle.metadata, - links=bundle.links) - self.index_service.create_indices(self.catalog) - try: - self._index_bundle(bundle) - hits = self._get_all_hits() - self._assert_hit_counts(hits, num_contribs, num_replicas) - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - if doc_type is DocumentType.aggregate: - doc = aggregate_cls.from_index(field_types, hit) - self.assertNotEqual(doc.contents, {}) - elif doc_type is DocumentType.contribution: - doc = Contribution.from_index(field_types, hit) - self.assertEqual(bundle_fqid, doc.coordinates.bundle) - self.assertFalse(doc.coordinates.deleted) - elif doc_type is DocumentType.replica: - pass - else: - assert False, doc_type - - self._index_bundle(bundle, delete=True) - - hits = self._get_all_hits() - # Twice the number of contributions because deletions create - # new documents instead of removing them. - num_contribs += num_contribs - # The aggregates are removed when the deletions cause their - # contents to become emtpy. - num_aggs = 0 - # Deletions do not affect the number of replicas. - self._assert_hit_counts(hits, - num_contribs=num_contribs, - num_aggs=num_aggs, - num_replicas=num_replicas) - docs_by_entity: dict[EntityReference, list[Contribution]] = defaultdict(list) - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - if doc_type is DocumentType.contribution: - doc = Contribution.from_index(field_types, hit) - docs_by_entity[doc.entity].append(doc) - self.assertEqual(bundle_fqid, doc.coordinates.bundle) - else: - # Since there is only one bundle and it was deleted, - # nothing should be aggregated - self.assertIs(doc_type, DocumentType.replica) - - for pair in docs_by_entity.values(): - self.assertEqual(list(sorted(doc.coordinates.deleted for doc in pair)), [False, True]) - finally: - self._purge_indices() - - def test_disable_automatic_index_creation(self): - with self.assertRaises(opensearchpy.exceptions.NotFoundError) as cm: - self.es_client.index(index='foo', body={'foo': 'bar'}) - expected = 'no such index [foo]' - self.assertEqual(expected, cm.exception.args[2]['error']['reason']) - - -class TestDCP1IndexerWithIndexesSetUp(DCP1IndexerTestCase): - """ - Conveniently sets up (tears down) indices before (after) each test. - """ - - def setUp(self) -> None: - super().setUp() - self.index_service.create_indices(self.catalog) - - def tearDown(self): - self._purge_indices() - super().tearDown() - - translated_str_null = null_str.to_index(None) - translated_int_null = null_int.to_index(None) - translated_bool_null = null_bool.to_index(None) - translated_bool_true = null_bool.to_index(True) - translated_bool_false = null_bool.to_index(False) - - def _filter_hits(self, - hits: JSONs, - doc_type: Optional[DocumentType] = None, - entity_type: Optional[EntityType] = None, - ) -> Iterable[JSON]: - for hit in hits: - qualifier, hit_doc_type = self._parse_index_name(hit) - if entity_type in (None, qualifier) and doc_type in (None, hit_doc_type): - yield hit - - def test_duplicate_notification(self): - # Contribute the bundle once - bundle = self._load_canned_bundle(self.new_bundle) - assert isinstance(bundle, HCABundle) - tallies_1 = self._write_transforms(bundle) - - # There should be one contribution per entity - num_contributions = 6 - self.assertEqual([1] * num_contributions, list(tallies_1.values())) - - # Delete one of the contributions such that when contribute again, one - # of the writes is NOT an overwrite. Since we pretend not having written - # that contribution, we also need to remove its tally. - tallies_1 = dict(tallies_1) - # Exclude bundles because they lack replicas - entity = next(e for e in tallies_1.keys() if e.entity_type != 'bundles') - tallies_1.pop(entity) - - replica_ref, entity_contents = one( - (parsed_ref, metadata) - for ref, metadata in bundle.metadata.items() - if (parsed_ref := EntityReference.parse(ref)).entity_id == entity.entity_id - ) - coordinates = [ - ContributionCoordinates( - entity=entity, - bundle=bundle.fqid, - deleted=False - ).with_catalog(self.catalog) - ] - if config.enable_replicas: - coordinates.append( - ReplicaCoordinates( - entity=replica_ref, - content_hash=json_hash(entity_contents).hexdigest() - ).with_catalog(self.catalog) - ) - for c in coordinates: - self.es_client.delete(index=c.index_name, id=c.document_id) - - # Contribute the bundle again, simulating a duplicate notification or - # a retry of the original notification. - with self.assertLogs(logger=index_service_log, level='WARNING') as logs: - tallies_2 = self._write_transforms(bundle) - - # All entities except the one whose contribution we deleted should have - # been overwrites and therefore have a tally of 0. - expected_tallies_2 = {k: 0 for k in tallies_1.keys()} - expected_tallies_2[entity] = 1 - self.assertEqual(expected_tallies_2, tallies_2) - - # All writes were logged as overwrites, except one. - self.assertEqual(num_contributions - 1, len(logs.output)) - message_re = re.compile(r'^WARNING:azul\.indexer\.index_service:' - r'Document .* exists. ' - r'Retrying with overwrite\.$') - for message in logs.output: - self.assertRegex(message, message_re) - - # Merge the tallies - tallies = Counter() - for k, v in chain(tallies_1.items(), tallies_2.items()): - entity = CataloguedEntityReference.for_entity(entity=k, catalog=self.catalog) - tallies[entity] += v - self.assertEqual([1] * num_contributions, list(tallies.values())) - - # Aggregation should still work despite contributing same bundle twice - self.index_service.aggregate(tallies) - self._assert_new_bundle(expect_old_version=False) - - def test_zero_tallies(self): - """ - Since duplicate notifications are subtracted back out of tally counts, - it's possible to receive a tally with zero notifications. Test that a - tally with count 0 still triggers aggregation. - """ - bundle = self._load_canned_bundle(self.new_bundle) - assert isinstance(bundle, HCABundle) - tallies = dict(self._write_transforms(bundle)) - for tally in tallies: - tallies[tally] = 0 - # Aggregating should not be a non-op even though tallies are all zero - with self.assertLogs(opensearchpy.client.logger, level='INFO') as logs: - self.index_service.aggregate(tallies) - doc_ids = { - '70d1af4a-82c8-478a-8960-e9028b3616ca', - 'a21dc760-a500-4236-bcff-da34a0e873d2', - 'e8642221-4c2c-4fd7-b926-a68bce363c88', - '0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb', - 'aaa96233-bf27-44c7-82df-b4dc15ad4d9d', - } - for doc_id in doc_ids: - message_re = re.compile(fr'INFO:opensearch:' - fr'Got 201 response after [^ ]+ from PUT to ' - fr'.*_aggregate/_create/{doc_id}.*') - self.assertTrue(any(message_re.fullmatch(message) for message in logs.output)) - - def test_deletion_before_addition(self): - self._index_canned_bundle(self.new_bundle, delete=True) - self._assert_index_counts(just_deletion=True) - self._index_canned_bundle(self.new_bundle) - self._assert_index_counts(just_deletion=False) - - def _assert_index_counts(self, *, just_deletion: bool): - # Two files, a project, a cell suspension, a sample, and a bundle - num_old_contribs = 6 - num_addition_contribs = 0 if just_deletion else num_old_contribs - num_deletion_contribs = num_old_contribs - - hits = self._get_all_hits() - - hits_by_deleted = bucket(hits, lambda hit: hit['_source'].get('bundle_deleted')) - actual_addition_contribs = hits_by_deleted[False] - actual_deletion_contribs = hits_by_deleted[True] - self.assertEqual(num_addition_contribs, ilen(actual_addition_contribs)) - self.assertEqual(num_deletion_contribs, ilen(actual_deletion_contribs)) - - # Deletion notifications add deletion markers to the contributions index - # instead of removing the existing contributions. - num_contribs = num_addition_contribs + num_deletion_contribs - # These deletion markers do not affect the number of replicas because we - # don't support deleting replicas. - num_replicas = 0 if just_deletion else 10 - self._assert_hit_counts(hits, - num_contribs=num_contribs, - num_aggs=0, - num_replicas=num_replicas) - - def test_bundle_delete_downgrade(self): - """ - Delete an updated version of a bundle, and ensure that the index reverts - to the previous bundle. - """ - self._index_canned_bundle(self.old_bundle) - old_hits_by_id = self._assert_old_bundle(expect_new_version=False) - self._index_canned_bundle(self.new_bundle) - self._assert_new_bundle(expect_old_version=True, old_hits_by_id=old_hits_by_id) - self._index_canned_bundle(self.new_bundle, delete=True) - self._assert_old_bundle(expect_new_version=None) - - def test_multi_entity_contributing_bundles(self): - """ - Delete a bundle which shares entities with another bundle and ensure - shared entities are not deleted. Only entity associated with deleted - bundle should be marked as deleted. - """ - bundle_fqid = self.bundle_fqid(uuid='8543d32f-4c01-48d5-a79f-1c5439659da3', - version='2018-03-29T14:38:28.884167Z') - bundle = self._load_canned_bundle(bundle_fqid) - self._index_bundle(bundle) - patched_fqid = self.bundle_fqid(uuid='9654e431-4c01-48d5-a79f-1c5439659da3', - version='2018-03-29T15:38:28.884167Z') - patched_bundle = attr.evolve(bundle, fqid=patched_fqid) - old_file_uuid = self._patch_bundle(patched_bundle) - self._index_bundle(patched_bundle) - - hits_before = self._get_all_hits() - num_docs_by_index_before = self._num_docs_by_index(hits_before) - - self._index_bundle(bundle, delete=True) - - hits_after = self._get_all_hits() - num_docs_by_index_after = self._num_docs_by_index(hits_after) - - for entity_type, doc_type in num_docs_by_index_after.keys(): - # Both bundles reference two files. They both share one file and - # exclusively own another one. Deleting one of the bundles removes - # the file owned exclusively by that bundle, as well as the bundle itself. - if doc_type is DocumentType.aggregate: - difference = 1 if entity_type in ('files', 'bundles') else 0 - self.assertEqual(num_docs_by_index_after[entity_type, doc_type], - num_docs_by_index_before[entity_type, doc_type] - difference) - elif doc_type is DocumentType.contribution: - if entity_type in ('bundles', 'samples', 'projects', 'cell_suspensions'): - # Count one extra deletion contribution - self.assertEqual(num_docs_by_index_after[entity_type, doc_type], - num_docs_by_index_before[entity_type, doc_type] + 1) - else: - # Count two extra deletion contributions for the two files - self.assertEqual(entity_type, 'files') - self.assertEqual(num_docs_by_index_after[entity_type, doc_type], - num_docs_by_index_before[entity_type, doc_type] + 2) - elif doc_type is DocumentType.replica: - continue - else: - assert False, doc_type - - entity = CataloguedEntityReference(catalog=self.catalog, - entity_id=old_file_uuid, - entity_type='files') - deletion = ContributionCoordinates(entity=entity, - bundle=bundle_fqid, - deleted=True) - index_name, document_id = deletion.index_name, deletion.document_id - hits = [ - hit['_source'] - for hit in hits_after - if hit['_id'] == document_id and hit['_index'] == index_name - ] - self.assertTrue(one(hits)['bundle_deleted']) - - def _patch_bundle(self, bundle: Bundle) -> str: - new_file_uuid = str(uuid4()) - bundle.manifest = deepcopy(bundle.manifest) - file_name = '21935_7#154_2.fastq.gz' - for file in bundle.manifest.values(): - if file['name'] == file_name: - old_file_uuid = file['uuid'] - file['uuid'] = new_file_uuid - break - else: - assert False, f'Unable to find file name {file_name}' - - def _walkthrough(v): - if isinstance(v, dict): - return dict((k, _walkthrough(v)) for k, v in v.items()) - elif isinstance(v, list): - return list(_walkthrough(i) for i in v) - elif isinstance(v, (str, int, bool, float)): - return new_file_uuid if v == old_file_uuid else v - else: - assert False, f'Cannot handle values of type {type(v)}' - - bundle.metadata = _walkthrough(bundle.metadata) - bundle.links = _walkthrough(bundle.links) - return old_file_uuid - - def _num_docs_by_index(self, hits) -> Mapping[tuple[str, DocumentType], int]: - return Counter(map(self._parse_index_name, hits)) - - def test_indexed_matrices(self): - """ - Test indexing various types of DCP- and contributor-generated matrix - bundles, including analysis and supplementary file CGMs. - """ - bundles = [ - # A hacky CGM subgraph (project 8185730f) - # 8 supplementary file CGMs each with a 'submitter_id' - self.bundle_fqid(uuid='4b03c1ce-9df1-5cd5-a8e4-48a2fe095081', - version='2021-02-10T16:56:40.419579Z'), - # A hacky DCP/1 matrix service subgraph (project 8185730f) - # 3 supplementary file matrices each with a 'submitter_id' - self.bundle_fqid(uuid='8338b891-f3fa-5e7b-885f-e4ee5689ee15', - version='2020-12-03T10:39:17.144517Z'), - # A top-level DCP/2 analysis subgraph (project 8185730f) - # 1 analysis file matrix with a 'submitter_id' - self.bundle_fqid(uuid='00f48893-5e9d-52cd-b32d-af88edccabfa', - version='2020-02-03T10:30:00.000000Z'), - # An organic CGM subgraph (project bd400331) - # 2 analysis file CGMs each with a 'file_source' - self.bundle_fqid(uuid='04836733-0449-4e57-be2e-6f3b8fbdfb12', - version='2021-05-10T23:25:12.412000Z') - ] - for bundle in bundles: - self._index_canned_bundle(bundle) - self.maxDiff = None - hits = self._get_all_hits() - - expected_matrices = { - '8185730f-4113-40d3-9cc3-929271784c2b': { - 'matrices': [ - { - 'file': [ - { - # 3 supplementary files. The 'strata' value was provided in - # the supplementary_file metadata. Source from submitter_id. - 'uuid': '538faa28-3235-5e4b-a998-5672e2d964e8', - 'version': '2020-12-03T10:39:17.144517Z', - 'name': '8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.csv.zip', - 'size': 76742835, - 'size_': 76742835, - 'content-type': 'application/zip; dcp-type=data', - 'indexed': 0, - 'crc32c': '97a7a932', - 'sha256': 'edb8e0139fece9702d89ae5fe7f761c41c291ef6a71129c6420857e025228a24', - 'drs_uri': f'drs://{self._drs_domain_name}/538faa28-3235-5e4b-a998-5672e2d964e8' - '?version=2020-12-03T10%3A39%3A17.144517Z', - 'document_id': '538faa28-3235-5e4b-a998-5672e2d964e8', - 'file_type': 'supplementary_file', - 'file_format': 'zip', - 'content_description': ['Matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'file_source': 'DCP/1 Matrix Service', - 'strata': 'genusSpecies=Homo sapiens;' - 'organ=eye;libraryConstructionApproach=10X v2 sequencing', - }, - { - 'uuid': '6c142250-567c-5b63-bd4f-0d78499863f8', - 'version': '2020-12-03T10:39:17.144517Z', - 'name': '8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.mtx.zip', - 'size': 124022765, - 'size_': 124022765, - 'content-type': 'application/zip; dcp-type=data', - 'indexed': 0, - 'crc32c': '7de6e00e', - 'sha256': 'cb1467f4d23a2429b4928943b51652b32edb949099250d28cf400d13074f5440', - 'drs_uri': f'drs://{self._drs_domain_name}/6c142250-567c-5b63-bd4f-0d78499863f8' - '?version=2020-12-03T10%3A39%3A17.144517Z', - 'document_id': '6c142250-567c-5b63-bd4f-0d78499863f8', - 'file_type': 'supplementary_file', - 'file_format': 'zip', - 'content_description': ['Matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'file_source': 'DCP/1 Matrix Service', - 'strata': 'genusSpecies=Homo sapiens;' - 'organ=eye;libraryConstructionApproach=10X v2 sequencing', - }, - { - 'uuid': '8d2ba1c1-bc9f-5c2a-a74d-fe5e09bdfb18', - 'version': '2020-12-03T10:39:17.144517Z', - 'name': '8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.loom', - 'size': 154980798, - 'size_': 154980798, - 'content-type': 'application/vnd.loom; dcp-type=data', - 'indexed': 0, - 'crc32c': 'd675b7ea', - 'sha256': '724b2c0ddf33c662b362179bc6ca90cd866b99b340d061463c35d27cfd5a23c5', - 'drs_uri': f'drs://{self._drs_domain_name}/8d2ba1c1-bc9f-5c2a-a74d-fe5e09bdfb18' - '?version=2020-12-03T10%3A39%3A17.144517Z', - 'document_id': '8d2ba1c1-bc9f-5c2a-a74d-fe5e09bdfb18', - 'file_type': 'supplementary_file', - 'file_format': 'loom', - 'content_description': ['Matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'file_source': 'DCP/1 Matrix Service', - 'strata': 'genusSpecies=Homo sapiens;' - 'organ=eye;libraryConstructionApproach=10X v2 sequencing', - }, - { - # An analysis file. The 'strata' value was gathered by walking - # the project graph from the file. Source from submitter_id. - 'uuid': 'bd98f428-881e-501a-ac16-24f27a68ce2f', - 'version': '2021-02-11T23:11:45.000000Z', - 'name': 'wong-retina-human-eye-10XV2.loom', - 'size': 255471211, - 'size_': 255471211, - 'content-type': 'application/vnd.loom; dcp-type=data', - 'indexed': 0, - 'crc32c': 'd1b06ce5', - 'sha256': '6a6483c2e78da77017e912a4d350f141bda1ec7b269f20ca718b55145ee5c83c', - 'drs_uri': f'drs://{self._drs_domain_name}/bd98f428-881e-501a-ac16-24f27a68ce2f' - '?version=2021-02-11T23%3A11%3A45.000000Z', - 'document_id': 'fec17064-9014-50b0-9e1a-dfaef2fbb4fc', - 'file_type': 'analysis_file', - 'file_format': 'loom', - 'content_description': ['Count Matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'matrix_cell_count': 9223372036854774784, - 'matrix_cell_count_': None, - 'file_source': 'DCP/2 Analysis', - 'strata': 'genusSpecies=Homo sapiens;developmentStage=human adult stage;' - 'organ=eye;libraryConstructionApproach=10X v2 sequencing', - } - ] - } - ], - 'contributed_analyses': [ - { - 'file': [ - { - # 8 supplementary files. The 'strata' value was provided in - # the supplementary_file metadata. Source from submitter_id. - 'uuid': '0c5ab869-da2d-5c11-b4ae-f978a052899f', - 'version': '2021-02-10T16:56:40.419579Z', - 'name': 'E-MTAB-7316.processed.5.zip', - 'size': 15535233, - 'size_': 15535233, - 'content-type': 'application/zip; dcp-type=data', - 'indexed': 0, - 'crc32c': '5bf9776f', - 'sha256': '053074e25a96a463c081e38bcd02662ba1536dd0cb71411bd111b8a2086a03e1', - 'drs_uri': f'drs://{self._drs_domain_name}/0c5ab869-da2d-5c11-b4ae-f978a052899f' - '?version=2021-02-10T16%3A56%3A40.419579Z', - 'document_id': '0c5ab869-da2d-5c11-b4ae-f978a052899f', - 'file_type': 'supplementary_file', - 'file_format': 'zip', - 'content_description': ['Matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'file_source': 'ArrayExpress', - 'strata': 'genusSpecies=Homo sapiens;developmentStage=adult;' - 'organ=eye;libraryConstructionApproach=10X v2 sequencing', - }, - { - 'uuid': '5b465aad-0981-5152-b468-e615e20f5884', - 'version': '2021-02-10T16:56:40.419579Z', - 'name': 'E-MTAB-7316.processed.7.zip', - 'size': 7570475, - 'size_': 7570475, - 'content-type': 'application/zip; dcp-type=data', - 'indexed': 0, - 'crc32c': 'c8c42fc3', - 'sha256': 'af3ea779ca01a2ba65f9415720a44648ef28a6ed73c9ec30e54ed4ba9895f590', - 'drs_uri': f'drs://{self._drs_domain_name}/5b465aad-0981-5152-b468-e615e20f5884' - '?version=2021-02-10T16%3A56%3A40.419579Z', - 'document_id': '5b465aad-0981-5152-b468-e615e20f5884', - 'file_type': 'supplementary_file', - 'file_format': 'zip', - 'content_description': ['Matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'file_source': 'ArrayExpress', - 'strata': 'genusSpecies=Homo sapiens;developmentStage=adult;' - 'organ=eye;libraryConstructionApproach=10X v2 sequencing', - }, - { - 'uuid': '68bda896-3b3e-5f2a-9212-f4030a0f37e2', - 'version': '2021-02-10T16:56:40.419579Z', - 'name': 'E-MTAB-7316.processed.4.zip', - 'size': 38722784, - 'size_': 38722784, - 'content-type': 'application/zip; dcp-type=data', - 'indexed': 0, - 'crc32c': '82ee1217', - 'sha256': 'f1458913c223553d09966ff94f0ed3d87e7cdfce21904f32943d70f691d8f7a0', - 'drs_uri': f'drs://{self._drs_domain_name}/68bda896-3b3e-5f2a-9212-f4030a0f37e2' - '?version=2021-02-10T16%3A56%3A40.419579Z', - 'document_id': '68bda896-3b3e-5f2a-9212-f4030a0f37e2', - 'file_type': 'supplementary_file', - 'file_format': 'zip', - 'content_description': ['Matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'file_source': 'ArrayExpress', - 'strata': 'genusSpecies=Homo sapiens;developmentStage=adult;' - 'organ=eye;libraryConstructionApproach=10X v2 sequencing', - }, - { - 'uuid': '733318e0-19c2-51e8-9ad6-d94ad562dd46', - 'version': '2021-02-10T16:56:40.419579Z', - 'name': 'E-MTAB-7316.processed.2.zip', - 'size': 118250749, - 'size_': 118250749, - 'content-type': 'application/zip; dcp-type=data', - 'indexed': 0, - 'crc32c': '15b69eed', - 'sha256': 'cb7beb6f4e8c684e41d25aa4dc1294dcb1e070e87f9ed852463bf651d511a36b', - 'drs_uri': f'drs://{self._drs_domain_name}/733318e0-19c2-51e8-9ad6-d94ad562dd46' - '?version=2021-02-10T16%3A56%3A40.419579Z', - 'document_id': '733318e0-19c2-51e8-9ad6-d94ad562dd46', - 'file_type': 'supplementary_file', - 'file_format': 'zip', - 'content_description': ['Matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'file_source': 'ArrayExpress', - 'strata': 'genusSpecies=Homo sapiens;developmentStage=adult;' - 'organ=eye;libraryConstructionApproach=10X v2 sequencing', - }, - { - 'uuid': '87f31102-ebbc-5875-abdf-4fa5cea48e8d', - 'version': '2021-02-10T16:56:40.419579Z', - 'name': 'E-MTAB-7316.processed.1.zip', - 'size': 69813802, - 'size_': 69813802, - 'content-type': 'application/zip; dcp-type=data', - 'indexed': 0, - 'crc32c': '4f3d0c47', - 'sha256': '331bd925c08539194eb06e197a1238e1306c3b7876b6fe13548d03824cc4b68b', - 'drs_uri': f'drs://{self._drs_domain_name}/87f31102-ebbc-5875-abdf-4fa5cea48e8d' - '?version=2021-02-10T16%3A56%3A40.419579Z', - 'document_id': '87f31102-ebbc-5875-abdf-4fa5cea48e8d', - 'file_type': 'supplementary_file', - 'file_format': 'zip', - 'content_description': ['Matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'file_source': 'ArrayExpress', - 'strata': 'genusSpecies=Homo sapiens;developmentStage=adult;' - 'organ=eye;libraryConstructionApproach=10X v2 sequencing', - }, - { - 'uuid': 'b905c8be-2e2d-592c-8481-3eb7a87c6484', - 'version': '2021-02-10T16:56:40.419579Z', - 'name': 'WongRetinaCelltype.csv', - 'size': 2300969, - 'size_': 2300969, - 'content-type': 'application/octet-stream; dcp-type=data', - 'indexed': 0, - 'crc32c': '42fcdb28', - 'sha256': '4f515b8fbbec8bfbc72c8c0d656897ee37bfa30bab6eb50fdc641924227be674', - 'drs_uri': f'drs://{self._drs_domain_name}/b905c8be-2e2d-592c-8481-3eb7a87c6484' - '?version=2021-02-10T16%3A56%3A40.419579Z', - 'document_id': 'b905c8be-2e2d-592c-8481-3eb7a87c6484', - 'file_type': 'supplementary_file', - 'file_format': 'csv', - 'content_description': ['Matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'file_source': 'HCA Release', - 'strata': 'genusSpecies=Homo sapiens;developmentStage=adult;' - 'organ=eye;libraryConstructionApproach=10X v2 sequencing', - }, - { - 'uuid': 'c59e2de5-01fe-56eb-be56-679ed14161bf', - 'version': '2021-02-10T16:56:40.419579Z', - 'name': 'E-MTAB-7316.processed.3.zip', - 'size': 187835236, - 'size_': 187835236, - 'content-type': 'application/zip; dcp-type=data', - 'indexed': 0, - 'crc32c': '0209e859', - 'sha256': '6372732e9fe9b8d58c8be8df88ea439d5c68ee9bb02e3d472c94633fadf782a1', - 'drs_uri': f'drs://{self._drs_domain_name}/c59e2de5-01fe-56eb-be56-679ed14161bf' - '?version=2021-02-10T16%3A56%3A40.419579Z', - 'document_id': 'c59e2de5-01fe-56eb-be56-679ed14161bf', - 'file_type': 'supplementary_file', - 'file_format': 'zip', - 'content_description': ['Matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'file_source': 'ArrayExpress', - 'strata': 'genusSpecies=Homo sapiens;developmentStage=adult;' - 'organ=eye;libraryConstructionApproach=10X v2 sequencing', - }, - { - 'uuid': 'cade4593-bfba-56ed-80ab-080d0de7d5a4', - 'version': '2021-02-10T16:56:40.419579Z', - 'name': 'E-MTAB-7316.processed.6.zip', - 'size': 17985905, - 'size_': 17985905, - 'content-type': 'application/zip; dcp-type=data', - 'indexed': 0, - 'crc32c': 'a21bdb72', - 'sha256': '1c57cba1ade259fc9ec56b914b507507d75ccbf6ddeebf03ba00c922c30e0c6e', - 'drs_uri': f'drs://{self._drs_domain_name}/cade4593-bfba-56ed-80ab-080d0de7d5a4' - '?version=2021-02-10T16%3A56%3A40.419579Z', - 'document_id': 'cade4593-bfba-56ed-80ab-080d0de7d5a4', - 'file_type': 'supplementary_file', - 'file_format': 'zip', - 'content_description': ['Matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'file_source': 'ArrayExpress', - 'strata': 'genusSpecies=Homo sapiens;developmentStage=adult;' - 'organ=eye;libraryConstructionApproach=10X v2 sequencing', - } - ] - } - ] - }, - 'bd400331-54b9-4fcc-bff6-6bb8b079ee1f': { - 'matrices': [], - 'contributed_analyses': [ - { - 'file': [ - # One analysis file. The 'strata' value was gathered by walking - # the project graph from the file. Source from file_source. - # File's content_description does not contain 'matrix' - { - 'uuid': '8a1cead0-b0e8-4da9-a523-7adce5c69aa7', - 'version': '2021-05-10T23:25:11.795000Z', - 'name': 'cellinfo_updated.Rds', - 'size': 406333, - 'size_': 406333, - 'content-type': 'application/gzip; dcp-type=data; dcp-type=data', - 'indexed': 0, - 'crc32c': '64dddda9', - 'sha256': '86767bd1ffcae8da5be495ce7e11a6ff0cffe05199af60c10d8124adc22ec8d3', - 'drs_uri': f'drs://{self._drs_domain_name}/8a1cead0-b0e8-4da9-a523-7adce5c69aa7' - '?version=2021-05-10T23%3A25%3A11.795000Z', - 'document_id': '581ee2ac-fd9a-4563-b8eb-d9cfb96f65ca', - 'file_type': 'analysis_file', - 'file_format': 'Rds', - 'content_description': ['cell level metadata'], - 'is_intermediate': 9223372036854774784, - '_type': 'file', - 'related_files': [], - 'matrix_cell_count': 54140, - 'matrix_cell_count_': 54140, - 'file_source': 'Contributor', - 'strata': "genusSpecies=Homo sapiens;" - "developmentStage=adolescent stage,child stage,fetal stage,human adult stage;" - "organ=heart;libraryConstructionApproach=10x 3' v3 sequencing", - }, - # Two analysis files. The 'strata' value was gathered by walking - # the project graph from the file. Source from file_source. - # File's content_description does contain 'matrix' - { - 'uuid': 'a225da4c-a0db-4411-9c1b-670c69ff3c82', - 'version': '2021-05-10T23:25:11.836000Z', - 'name': 'heartFYA.Rds', - 'size': 2197439516, - 'size_': 2197439516, - 'content-type': 'application/gzip; dcp-type=data; dcp-type=data', - 'indexed': 0, - 'crc32c': '795a29b2', - 'sha256': '3429539fdc0ef3a8c94a8aa46a65fe8f1ad92da3584b56a7727119314463f16c', - 'drs_uri': f'drs://{self._drs_domain_name}/a225da4c-a0db-4411-9c1b-670c69ff3c82' - '?version=2021-05-10T23%3A25%3A11.836000Z', - 'document_id': 'd3b3abc2-0da6-4163-acb8-251fe079284c', - 'file_type': 'analysis_file', - 'file_format': 'Rds', - 'content_description': ['Gene expression matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'matrix_cell_count': 54140, - 'matrix_cell_count_': 54140, - 'file_source': 'Contributor', - 'strata': 'genusSpecies=Homo sapiens;' - 'developmentStage=adolescent stage,child stage,fetal stage,human adult stage;' - 'organ=heart;libraryConstructionApproach=10x 3\' v3 sequencing', - }, - { - 'uuid': 'c255e795-7297-4658-8b5b-044d932efbe9', - 'version': '2021-05-10T23:25:11.821000Z', - 'name': 'heart-counts.Rds', - 'size': 440041264, - 'size_': 440041264, - 'content-type': 'application/gzip; dcp-type=data; dcp-type=data', - 'indexed': 0, - 'crc32c': '3df9657f', - 'sha256': 'b02fa88cff40f8e0fb9b3cd70c6a4d8348b55b7c80ef3ed6afbb548bd3d19db9', - 'drs_uri': f'drs://{self._drs_domain_name}/c255e795-7297-4658-8b5b-044d932efbe9' - '?version=2021-05-10T23%3A25%3A11.821000Z', - 'document_id': '31e6cb06-0062-4096-84f5-c2d1c2621a82', - 'file_type': 'analysis_file', - 'file_format': 'Rds', - 'content_description': ['Count matrix'], - 'is_intermediate': 0, - '_type': 'file', - 'related_files': [], - 'matrix_cell_count': 54140, - 'matrix_cell_count_': 54140, - 'file_source': 'Contributor', - 'strata': 'genusSpecies=Homo sapiens;' - 'developmentStage=adolescent stage,child stage,fetal stage,human adult stage;' - 'organ=heart;libraryConstructionApproach=10x 3\' v3 sequencing', - } - ] - } - ] - } - } - matrices = {} - for hit in self._filter_hits(hits, DocumentType.aggregate, 'projects'): - project_id = hit['_source']['entity_id'] - assert project_id not in matrices, project_id - matrices[project_id] = { - k: hit['_source']['contents'][k] - for k in ('matrices', 'contributed_analyses') - } - self.assertEqual(expected_matrices, matrices) - - def test_organic_matrix_bundle(self): - # A bundle containing an organically described CGM with a 'matrix_cell_count' - bundle = self.bundle_fqid(uuid='04836733-0449-4e57-be2e-6f3b8fbdfb12', - version='2021-05-10T23:25:12.412000Z') - self._index_canned_bundle(bundle) - hits = self._get_all_hits() - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - contents = hit['_source']['contents'] - for file in contents.get('files', ()): - if file['file_format'] == 'Rds': - expected_source = 'Contributor' - expected_cell_count = 54140 - else: - expected_source = self.translated_str_null - expected_cell_count = self.translated_bool_null - if ( - doc_type is DocumentType.aggregate and - qualifier not in ('bundles', 'files') - ): - expected_source = [expected_source] - self.assertEqual(expected_source, file['file_source']) - if 'matrix_cell_count' in file: - self.assertEqual(expected_cell_count, file['matrix_cell_count']) - - def test_sequence_files_with_file_source(self): - """ - Index a bundle that contains both analysis and sequence files that have - `file_source` values matching one of the existing `Submitter` enum. - Verify only the expected analysis files are indexed as matrices. - """ - bundle_fqid = self.bundle_fqid(uuid='02e69c25-71e2-48ca-a87b-e256938c6a98', - version='2021-06-28T14:21:18.700000Z') - self._index_canned_bundle(bundle_fqid) - hits = self._get_all_hits() - files = set() - contributed_analyses = set() - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - contents = hit['_source']['contents'] - if qualifier == 'files' and doc_type in (DocumentType.aggregate, DocumentType.contribution): - file = one(contents['files']) - files.add( - ( - file['name'], - file['file_source'], - null_bool.from_index(file['is_intermediate']) - ) - ) - elif qualifier == 'projects' and doc_type is DocumentType.aggregate: - self.assertEqual([], contents['matrices']) - for file in one(contents['contributed_analyses'])['file']: - contributed_analyses.add( - ( - file['name'], - file['file_source'], - file['matrix_cell_count'] - ) - ) - expected_files = { - # Analysis files (organic CGM, without 'matrix' content_description) - ('experiment2_mouse_pbs_scp_X_diffmap_pca_coords.txt', 'SCP', None), - ('experiment2_mouse_pbs_scp_X_tsne_coords.txt', 'SCP', None), - ('experiment2_mouse_pbs_scp_barcodes.tsv', 'SCP', None), - ('experiment2_mouse_pbs_scp_genes.tsv', 'SCP', None), - # Analysis files (organic CGM, with 'matrix' content_description) - ('experiment2_mouse_pbs_scp_matrix.mtx', 'SCP', False), - ('experiment2_mouse_pbs_scp_metadata.txt', 'SCP', False), - # Sequence files - ('mouse_cortex_I1.fastq', 'GEO', None), - ('mouse_cortex_R1.fastq', 'GEO', None), - ('mouse_cortex_R2.fastq', 'GEO', None) - } - self.assertEqual(expected_files, files) - expected_contributed_analyses = { - ('experiment2_mouse_pbs_scp_X_diffmap_pca_coords.txt', 'SCP', 3402), - ('experiment2_mouse_pbs_scp_X_tsne_coords.txt', 'SCP', 3402), - ('experiment2_mouse_pbs_scp_barcodes.tsv', 'SCP', 3402), - ('experiment2_mouse_pbs_scp_genes.tsv', 'SCP', 9223372036854774784), - ('experiment2_mouse_pbs_scp_metadata.txt', 'SCP', 3402), - ('experiment2_mouse_pbs_scp_matrix.mtx', 'SCP', 3402), - } - self.assertEqual(expected_contributed_analyses, contributed_analyses) - - def test_derived_files(self): - """ - Index an analysis bundle, which, unlike a primary bundle, has data files - derived from other data files, and assert that the resulting `files` - index document contains exactly one file entry. - """ - analysis_bundle = self.bundle_fqid(uuid='d5e01f9d-615f-4153-8a56-f2317d7d9ce8', - version='2018-09-06T18:57:59.326912Z') - self._index_canned_bundle(analysis_bundle) - hits = self._get_all_hits() - num_files = 33 - num_expected = dict(files=num_files, samples=1, cell_suspensions=1, projects=1, bundles=1) - num_contribs = sum(num_expected.values()) - num_replicas = 41 - self._assert_hit_counts(hits, num_contribs, num_replicas) - num_contribs, num_aggregates = Counter(), Counter() - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - source = hit['_source'] - contents = source['contents'] - if doc_type is DocumentType.aggregate: - num_aggregates[qualifier] += 1 - bundle = one(source['bundles']) - actual_fqid = self.bundle_fqid(uuid=bundle['uuid'], - version=bundle['version']) - self.assertEqual(analysis_bundle, actual_fqid) - if qualifier == 'files': - self.assertEqual(1, len(contents['files'])) - elif qualifier == 'bundles': - self.assertEqual(num_files, len(contents['files'])) - else: - self.assertEqual(num_files, sum(file['count'] for file in contents['files'])) - elif doc_type is DocumentType.contribution: - num_contribs[qualifier] += 1 - actual_fqid = self.bundle_fqid(uuid=source['bundle_uuid'], - version=source['bundle_version']) - self.assertEqual(analysis_bundle, actual_fqid) - self.assertEqual(1 if qualifier == 'files' else num_files, len(contents['files'])) - elif doc_type is DocumentType.replica: - continue - else: - assert False, doc_type - self.assertEqual(1, len(contents['specimens'])) - self.assertEqual(1, len(contents['projects'])) - self.assertEqual(num_contribs, num_expected) - self.assertEqual(num_aggregates, num_expected) - - def test_bundle_upgrade(self): - """ - Updating a bundle with a future version should overwrite the old version. - """ - self._index_canned_bundle(self.old_bundle) - old_hits_by_id = self._assert_old_bundle(expect_new_version=False) - self._index_canned_bundle(self.new_bundle) - self._assert_new_bundle(expect_old_version=True, old_hits_by_id=old_hits_by_id) - - def test_bundle_downgrade(self): - """ - Indexing an old version of a bundle *after* a new version should not - have an effect on aggregates. - """ - self._index_canned_bundle(self.new_bundle) - self._assert_new_bundle(expect_old_version=False) - self._index_canned_bundle(self.old_bundle) - self._assert_old_bundle(expect_new_version=True) - self._assert_new_bundle(expect_old_version=True) - - HitsById = Mapping[tuple[str, DocumentType], JSON] - - def _assert_old_bundle(self, *, expect_new_version: bool | None) -> HitsById: - """ - Assert that the old bundle is still indexed correctly. - - :param expect_new_version: Whether to expect effects of indexing a - newer version of the bundle. If False, expect - no such effects. If True, expect additions - by such a bundle. If None, expect deletions. - - :return: A dictionary with all hits from the old bundle - """ - # Two files, a project, a cell suspension, a sample, and a bundle - num_new_contribs = 6 - num_contribs = num_new_contribs - # Expect the old version's contributions - num_aggs = num_new_contribs - # Expect a replica for each entity in the old version - num_replicas = 10 - if expect_new_version in (True, None): - # New and old replicas for `links.json` are identical - num_replicas += num_replicas - 1 - # Expect the new version's contributions... - num_contribs += num_new_contribs - if expect_new_version is None: - # ....as well as deletion markers for them - num_contribs += num_new_contribs - # Even after the new version is deleted, the updated replicas - # remain, since deletion of replicas is not supported - - hits = self._get_all_hits() - self._assert_hit_counts(hits, - num_contribs=num_contribs, - num_aggs=num_aggs, - num_replicas=num_replicas) - - num_actual_new_contributions = 0 - num_actual_new_deleted_contributions = 0 - hits_by_id = {} - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - source = hit['_source'] - hits_by_id[source['entity_id'], doc_type] = hit - if doc_type is DocumentType.replica: - pass - elif doc_type is DocumentType.aggregate and expect_new_version is True: - pass - else: - version = self._extract_bundle_version(doc_type, source) - if doc_type is DocumentType.contribution and version == self.new_bundle.version: - if source['bundle_deleted']: - num_actual_new_deleted_contributions += 1 - else: - self.assertLess(self.old_bundle.version, version) - num_actual_new_contributions += 1 - else: - self.assertEqual(self.old_bundle.version, version) - contents = source['contents'] - project = one(contents['projects']) - self.assertEqual('Single cell transcriptome patterns.', get(project['project_title'])) - self.assertEqual('Single of human pancreas', get(project['project_short_name'])) - self.assertIn('John Dear', get(project['laboratory'])) - if doc_type is DocumentType.aggregate and qualifier != 'projects': - self.assertIn('Farmers Trucks', project['institutions']) - elif doc_type is DocumentType.contribution: - self.assertIn('Farmers Trucks', [c.get('institution') for c in project['contributors']]) - donor = one(contents['donors']) - self.assertIn('Australopithecus', donor['genus_species']) - if doc_type is DocumentType.contribution: - self.assertFalse(source['bundle_deleted']) - - # We count the deleted contributions here too since they should have a - # corresponding addition contribution - self.assertEqual(0 if expect_new_version is False else num_new_contribs, - num_actual_new_contributions) - self.assertEqual(num_new_contribs if expect_new_version is None else 0, - num_actual_new_deleted_contributions) - - return hits_by_id - - def _assert_new_bundle(self, - *, - expect_old_version: bool, - old_hits_by_id: HitsById | None = None - ) -> None: - """ - Assert that the new bundle is indexed correctly. - - :param expect_old_version: Whether to expect effects of indexing an - older version of the bundle. - - :param old_hits_by_id: An optional dictionary with expected hits for - that older version. - """ - if old_hits_by_id is not None: - self.assertTrue(expect_old_version) - - # Two files, a project, a cell suspension, a sample, and a bundle - num_old_contribs = 6 - num_contribs = num_old_contribs - num_aggs = num_old_contribs - num_replicas = 10 - - if expect_old_version: - # Expect an updated contribution for each entity in the old version - num_contribs += num_old_contribs - # New and old replicas for `links.json` are identical - num_replicas += num_replicas - 1 - - hits = self._get_all_hits() - self._assert_hit_counts(hits, - num_contribs=num_contribs, - num_aggs=num_aggs, - num_replicas=num_replicas) - - num_actual_old_contributions = 0 - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - if doc_type is DocumentType.replica: - pass - else: - source = hit['_source'] - version = self._extract_bundle_version(doc_type, source) - contents = source['contents'] - project = one(contents['projects']) - - if doc_type is DocumentType.contribution and version == self.old_bundle.version: - self.assertLess(version, self.new_bundle.version) - num_actual_old_contributions += 1 - else: - if old_hits_by_id is not None: - old_hit = old_hits_by_id[source['entity_id'], doc_type] - old_source = old_hit['_source'] - old_version = self._extract_bundle_version(doc_type, old_source) - self.assertLess(old_version, version) - old_contents = old_source['contents'] - old_project = one(old_contents['projects']) - self.assertNotEqual(old_project['project_title'], project['project_title']) - self.assertNotEqual(old_project['project_short_name'], project['project_short_name']) - self.assertNotEqual(old_project['laboratory'], project['laboratory']) - if doc_type is DocumentType.aggregate and qualifier != 'projects': - self.assertNotEqual(old_project['institutions'], project['institutions']) - elif doc_type is DocumentType.contribution: - self.assertNotEqual(old_project['contributors'], project['contributors']) - self.assertNotEqual(old_contents['donors'][0]['genus_species'], - contents['donors'][0]['genus_species']) - - self.assertEqual('Single cell transcriptome analysis of human pancreas reveals transcriptional ' - 'signatures of aging and somatic mutation patterns.', - get(project['project_title'])) - self.assertEqual('Single cell transcriptome analysis of human pancreas', - get(project['project_short_name'])) - self.assertNotIn('Sarah Teichmann', project['laboratory']) - self.assertIn('Molecular Atlas', project['laboratory']) - if doc_type is DocumentType.aggregate and qualifier != 'projects': - self.assertNotIn('Farmers Trucks', project['institutions']) - elif doc_type is DocumentType.contribution: - self.assertNotIn('Farmers Trucks', [c.get('institution') for c in project['contributors']]) - - self.assertEqual(num_old_contribs if expect_old_version else 0, - num_actual_old_contributions) - - def _extract_bundle_version(self, doc_type: DocumentType, source: JSON) -> str: - if doc_type is DocumentType.aggregate: - return one(source['bundles'])['version'] - elif doc_type is DocumentType.contribution: - return source['bundle_version'] - else: - assert False, doc_type - - def test_concurrent_specimen_submissions(self): - """ - Index two bundles contributing to the same specimen and project, ensure - that conflicts are detected and handled - """ - bundles = [ - self.bundle_fqid(uuid='9dec1bd6-ced8-448a-8e45-1fc7846d8995', - version='2018-03-29T15:43:19.834528Z'), - self.bundle_fqid(uuid='56a338fe-7554-4b5d-96a2-7df127a7640b', - version='2018-03-29T15:35:07.198365Z') - ] - original_mget = OpenSearch.mget - latch = Latch(len(bundles)) - - def mocked_mget(self, body, _source_includes): - mget_return = original_mget(self, body=body, _source_includes=_source_includes) - # all threads wait at the latch after reading to force conflict while writing - latch.decrement(1) - return mget_return - - with patch.object(OpenSearch, 'mget', new=mocked_mget): - with self.assertLogs(level='WARNING') as cm: - with ThreadPoolExecutor(max_workers=len(bundles)) as executor: - thread_results = executor.map(self._index_canned_bundle, bundles) - self.assertIsNotNone(thread_results) - self.assertEqual(set(bundles), set(r.fqid for r in thread_results)) - - self.assertIsNotNone(cm.records) - num_hits = sum(1 for log_msg in cm.output - if 'There was a conflict with document' in log_msg - and (f'_{self.catalog}_samples_aggregate' in log_msg - or f'_{self.catalog}_projects_aggregate' in log_msg)) - # One conflict for the specimen and one for the project - self.assertEqual(2, num_hits) - - hits = self._get_all_hits() - file_uuids = set() - # Two files, a project, a cell suspension, a sample, and a bundle - num_contribs = 6 - # Two bundles - num_contribs = num_contribs * 2 - # Both bundles share the same sample and the project, so they get - # aggregated only once - num_aggs = num_contribs - 2 - # The sample contributions from each bundle are identical and yield a - # single replica, but the project contributions have different schema - # versions and thus yield two. - num_replicas = 14 - self._assert_hit_counts(hits, - num_contribs=num_contribs, - num_aggs=num_aggs, - num_replicas=num_replicas) - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - if doc_type is DocumentType.replica: - continue - contents = hit['_source']['contents'] - if doc_type is DocumentType.aggregate: - self.assertEqual(hit['_id'], hit['_source']['entity_id']) - if qualifier == 'files': - contents = hit['_source']['contents'] - self.assertEqual(1, len(contents['files'])) - if doc_type is DocumentType.aggregate: - file_uuids.add(contents['files'][0]['uuid']) - elif qualifier in ('samples', 'projects'): - if doc_type is DocumentType.aggregate: - self.assertEqual(2, len(hit['_source']['bundles'])) - # All four files are fastqs so they are grouped together - self.assertEqual(4, one(contents['files'])['count']) - elif doc_type is DocumentType.contribution: - self.assertEqual(2, len(contents['files'])) - else: - assert False, doc_type - elif qualifier == 'bundles': - if doc_type is DocumentType.aggregate: - self.assertEqual(1, len(hit['_source']['bundles'])) - self.assertEqual(2, len(contents['files'])) - else: - self.assertEqual(2, len(contents['files'])) - elif qualifier == 'cell_suspensions': - if doc_type is DocumentType.aggregate: - self.assertEqual(1, len(hit['_source']['bundles'])) - self.assertEqual(1, len(contents['files'])) - elif doc_type is DocumentType.contribution: - self.assertEqual(2, len(contents['files'])) - else: - assert False, doc_type - else: - self.fail() - file_document_ids = set() - self.assertEqual(4, len(file_uuids)) - for bundle_fqid in bundles: - bundle = self._load_canned_bundle(bundle_fqid) - for doc in bundle.metadata.values(): - if doc['content']['schema_type'] == 'file': - file_document_ids.add(doc['hca_ingest']['document_id']) - self.assertEqual(file_document_ids, file_uuids) - - def test_indexing_matrix_related_files(self): - bundle_fqid = self.bundle_fqid(uuid='587d74b4-1075-4bbf-b96a-4d1ede0481b2', - version='2018-10-10T02:23:43.182000Z') - self._index_canned_bundle(bundle_fqid) - self.maxDiff = None - hits = self._get_all_hits() - zarrs = [] - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - if qualifier == 'files': - file = one(hit['_source']['contents']['files']) - if len(file['related_files']) > 0: - self.assertEqual(file['file_format'], 'matrix') - zarrs.append(hit) - elif file['file_format'] == 'matrix': - # Matrix of Loom or CSV format possibly - self.assertNotIn('.zarr', file['name']) - elif doc_type is DocumentType.contribution: - for file in hit['_source']['contents']['files']: - self.assertEqual(file['related_files'], []) - - self.assertEqual(len(zarrs), 2) # One contribution, one aggregate - for zarr_file in zarrs: - zarr_file = one(zarr_file['_source']['contents']['files']) - related_files = zarr_file['related_files'] - self.assertNotIn(zarr_file['name'], {f['name'] for f in related_files}) - self.assertEqual(len(related_files), 12) - for related_file in related_files: - self.assertNotIn('!', related_file['name']) - - def test_indexing_with_skipped_matrix_file(self): - # zarray files no longer exist in DCP2. This test covers behavior that - # may no longer be needed to support them, but we don't want to risk - # removing it. - bundle_fqid = self.bundle_fqid(uuid='587d74b4-1075-4bbf-b96a-4d1ede0481b2', - version='2018-10-10T02:23:43.182000Z') - self._index_canned_bundle(bundle_fqid) - self.maxDiff = None - hits = self._get_all_hits() - file_names, aggregate_file_names = set(), set() - entities_with_matrix_files = set() - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - if doc_type is DocumentType.replica: - continue - files = hit['_source']['contents']['files'] - if doc_type is DocumentType.aggregate: - if qualifier == 'files': - aggregate_file_names.add(one(files)['name']) - else: - for file in files: - if qualifier == 'bundles': - if file['file_format'] == 'matrix': - entities_with_matrix_files.add(hit['_source']['entity_id']) - else: - if file['file_format'] == 'matrix': - self.assertEqual(1, file['count']) - entities_with_matrix_files.add(hit['_source']['entity_id']) - elif doc_type is DocumentType.contribution: - for file in files: - file_name = file['name'] - file_names.add(file_name) - else: - assert False, doc_type - # a project, a specimen, a cell suspension and a bundle - self.assertEqual(4, len(entities_with_matrix_files)) - self.assertEqual(aggregate_file_names, file_names) - matrix_file_names = {file_name for file_name in file_names if '.zarr/' in file_name} - self.assertEqual({'377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/.zattrs'}, matrix_file_names) - - def test_plate_bundle(self): - bundle_fqid = self.bundle_fqid(uuid='d0e17014-9a58-4763-9e66-59894efbdaa8', - version='2018-10-03T14:41:37.044509Z') - self._index_canned_bundle(bundle_fqid) - self.maxDiff = None - - hits = self._get_all_hits() - self.assertGreater(len(hits), 0) - counted_cell_count = 0 - # 384 wells in total, four of them empty, the rest with a single cell - expected_cell_count = 380 - documents_with_cell_suspension = 0 - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - contents = hit['_source']['contents'] - if doc_type is DocumentType.replica: - continue - cell_suspensions = contents['cell_suspensions'] - if qualifier == 'files' and contents['files'][0]['file_format'] == 'pdf': - # The PDF files in that bundle aren't linked to a specimen - self.assertEqual(0, len(cell_suspensions)) - else: - if doc_type is DocumentType.aggregate: - bundles = hit['_source']['bundles'] - self.assertEqual(1, len(bundles)) - self.assertEqual(one(contents['sequencing_protocols'])['paired_end'], [ - self.translated_bool_true, - ]) - elif doc_type is DocumentType.contribution: - self.assertEqual({p.get('paired_end') for p in contents['sequencing_protocols']}, { - self.translated_bool_true, - }) - else: - assert False, doc_type - specimens = contents['specimens'] - for specimen in specimens: - self.assertEqual({'bone marrow', 'temporal lobe'}, set(specimen['organ_part'])) - for cell_suspension in cell_suspensions: - self.assertEqual({'bone marrow', 'temporal lobe'}, set(cell_suspension['organ_part'])) - self.assertEqual({'Plasma cells'}, set(cell_suspension['selected_cell_type'])) - if qualifier == 'cell_suspensions': - counted_cell_count += one(cell_suspensions)['total_estimated_cells'] - self.assertEqual(1, len(cell_suspensions)) - else: - self.assertEqual(1 if doc_type is DocumentType.aggregate else 384, len(cell_suspensions)) - self.assertEqual(expected_cell_count, sum(cs['total_estimated_cells'] for cs in cell_suspensions)) - documents_with_cell_suspension += 1 - # Times 2 for original document and aggregate - self.assertEqual(expected_cell_count * 2, counted_cell_count) - # Cell suspensions should be mentioned in 1 bundle, 1 project, - # 1 specimen, 384 cell suspensions, and 2 files (one per fastq). - # There should be one original and one aggregate document for each of - # those. (389 * 2 = 778) - self.assertEqual(778, documents_with_cell_suspension) - - def test_well_bundles(self): - for bundle_fqid in [ - self.bundle_fqid(uuid='3f8176ff-61a7-4504-a57c-fc70f38d5b13', - version='2018-10-24T23:44:31.820615Z'), - self.bundle_fqid(uuid='e2c3054e-9fba-4d7a-b85b-a2220d16da73', - version='2018-10-24T23:43:03.157920Z') - ]: - self._index_canned_bundle(bundle_fqid) - self.maxDiff = None - - hits = self._get_all_hits() - self.assertGreater(len(hits), 0) - for hit in hits: - contents = hit['_source']['contents'] - qualifier, doc_type = self._parse_index_name(hit) - if doc_type is DocumentType.aggregate: - cell_suspensions = contents['cell_suspensions'] - self.assertEqual(1, len(cell_suspensions)) - # Each bundle contributes a well with one cell. The data files - # in each bundle are derived from the cell in that well. This is - # why each data file and bundle should only have a cell count of - # 1. Both bundles refer to the same specimen and project, so the - # cell count for those should be 2. - expected_cells = 1 if qualifier in ('files', 'cell_suspensions', 'bundles') else 2 - self.assertEqual(expected_cells, cell_suspensions[0]['total_estimated_cells']) - self.assertEqual(one(contents['analysis_protocols'])['workflow'], ['smartseq2_v2.1.0']) - elif doc_type is DocumentType.contribution: - self.assertEqual({p['workflow'] for p in contents['analysis_protocols']}, {'smartseq2_v2.1.0'}) - elif doc_type is DocumentType.replica: - pass - # FIXME: would assert something for the proper entity types here, - # but `replica_type` is missing from the hits. Needs mapping? - else: - assert False, doc_type - - def test_pooled_specimens(self): - """ - Index a bundle that combines 3 specimen_from_organism into 1 cell_suspension - """ - bundle_fqid = self.bundle_fqid(uuid='b7fc737e-9b7b-4800-8977-fe7c94e131df', - version='2018-09-12T12:11:55.846604Z') - self._index_canned_bundle(bundle_fqid) - self.maxDiff = None - - hits = self._get_all_hits() - self.assertGreater(len(hits), 0) - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - if doc_type is DocumentType.aggregate: - contents = hit['_source']['contents'] - cell_suspensions = contents['cell_suspensions'] - self.assertEqual(1, len(cell_suspensions)) - # This bundle contains three specimens which are pooled into a - # single cell suspension with 10000 cells. Until we introduced - # cell suspensions as an inner entity we used to associate cell - # counts with specimen which would have inflated the total cell - # count to 30000 in this case. - self.assertEqual(10000, cell_suspensions[0]['total_estimated_cells']) - sample = one(contents['samples']) - self.assertEqual(sample['organ'], sample['effective_organ']) - if qualifier == 'samples': - self.assertIn(sample['effective_organ'], {'Brain 1', 'Brain 2', 'Brain 3'}) - else: - self.assertEqual(set(sample['effective_organ']), {'Brain 1', 'Brain 2', 'Brain 3'}) - - def test_diseases_field(self): - """ - Index a bundle with a specimen `diseases` value that differs from the - donor `diseases` value and assert that both values are represented in - the indexed document. - """ - bundle_fqid = self.bundle_fqid(uuid='3db604da-940e-49b1-9bcc-25699a55b295', - version='2018-11-02T18:40:48.983513Z') - self._index_canned_bundle(bundle_fqid) - - hits = self._get_all_hits() - for hit in hits: - source = hit['_source'] - contents = source['contents'] - qualifier, doc_type = self._parse_index_name(hit) - if doc_type is DocumentType.replica: - continue - specimen_diseases = contents['specimens'][0]['disease'] - donor_diseases = contents['donors'][0]['diseases'] - self.assertEqual(1, len(specimen_diseases)) - self.assertEqual('atrophic vulva (specimen_from_organism)', specimen_diseases[0]) - self.assertEqual(1, len(donor_diseases)) - self.assertEqual('atrophic vulva (donor_organism)', donor_diseases[0]) - - def test_organoid_priority(self): - """ - Index a bundle containing an Organoid and assert that the "organ" and - "organ_part" values saved are the ones from the Organoid and not the - SpecimenFromOrganism - """ - bundle_fqid = self.bundle_fqid(uuid='dcccb551-4766-4210-966c-f9ee25d19190', - version='2018-10-18T20:46:55.866661Z') - self._index_canned_bundle(bundle_fqid) - hits = self._get_all_hits() - inner_specimens, inner_cell_suspensions = 0, 0 - for hit in hits: - - contents = hit['_source']['contents'] - qualifier, doc_type = self._parse_index_name(hit) - if doc_type is DocumentType.replica: - continue - aggregate = doc_type is DocumentType.aggregate - - if qualifier != 'files' or one(contents['files'])['file_format'] != 'pdf': - inner_cell_suspensions += len(contents['cell_suspensions']) - - for specimen in contents['specimens']: - inner_specimens += 1 - expect_list = aggregate and qualifier != 'specimens' - self.assertEqual(['skin of body'] if expect_list else 'skin of body', specimen['organ']) - self.assertEqual(['skin epidermis'], specimen['organ_part']) - - for organoid in contents['organoids']: - self.assertEqual(['Brain'] if aggregate else 'Brain', organoid['model_organ']) - self.assertEqual([self.translated_str_null] if aggregate else self.translated_str_null, - organoid['model_organ_part']) - - projects = 1 - bundles = 1 - specimens = 4 - cell_suspensions = 1 - files = 16 - all_entities = files + specimens + projects + bundles + cell_suspensions - non_specimens = files + projects + bundles + cell_suspensions - inner_specimens_in_contributions = non_specimens * specimens + specimens * 1 - inner_specimens_in_aggregates = all_entities * 1 - inner_cell_suspensions_in_contributions = all_entities * cell_suspensions - inner_cell_suspensions_in_aggregates = all_entities * 1 - - self.assertEqual(inner_specimens_in_contributions + inner_specimens_in_aggregates, - inner_specimens) - self.assertEqual(inner_cell_suspensions_in_contributions + inner_cell_suspensions_in_aggregates, - inner_cell_suspensions) - - def test_accessions_fields(self): - bundle_fqid = self.bundle_fqid(uuid='fa5be5eb-2d64-49f5-8ed8-bd627ac9bc7a', - version='2019-02-14T19:24:38.034764Z') - self._index_canned_bundle(bundle_fqid) - hits = self._get_all_hits() - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - if doc_type is DocumentType.replica: - continue - contents = hit['_source']['contents'] - project = one(contents['projects']) - accessions_by_namespace = { - 'insdc_project': ['SRP000000', 'SRP000001'], - 'geo_series': ['GSE00000'], - 'array_express': ['E-AAAA-00'], - 'insdc_study': ['PRJNA000000'] - } - if qualifier == 'projects': - expected_accessions = [ - {'namespace': namespace, 'accession': accession} - for namespace, accessions in accessions_by_namespace.items() - for accession in accessions - ] - self.assertEqual(expected_accessions, project['accessions']) - - def test_cell_counts(self): - """ - Verify the cell counts found in project, cell_suspension, and file entities - """ - # Bundles from the canned staging area, both for project 90bf705c - # https://github.com/HumanCellAtlas/schema-test-data/ - bundle_fqid = self.bundle_fqid(uuid='4da04038-adab-59a9-b6c4-3a61242cc972', - version='2021-01-01T00:00:00.000000Z') - self._index_canned_bundle(bundle_fqid) - bundle_fqid = self.bundle_fqid(uuid='d7b8cbff-aee9-5a05-a4a1-d8f4e720aee7', - version='2021-01-01T00:00:00.000000Z') - self._index_canned_bundle(bundle_fqid) - hits = self._get_all_hits() - - field_paths = [ - ('projects', 'estimated_cell_count'), - ('cell_suspensions', 'total_estimated_cells'), - ('files', 'matrix_cell_count') - ] - actual = NestedDict(2, list) - for hit in sorted(hits, key=lambda d: d['_id']): - qualifier, doc_type = self._parse_index_name(hit) - if doc_type is DocumentType.replica: - continue - contents = hit['_source']['contents'] - for inner_entity_type, field_name in field_paths: - for inner_entity in contents[inner_entity_type]: - value = inner_entity[field_name] - insort(actual[doc_type][qualifier][inner_entity_type], value) - - expected = NestedDict(1, dict) - for doc_type in DocumentType.contribution, DocumentType.aggregate: - for qualifier in self.index_service.entity_types(self.catalog): - expected[doc_type][qualifier] = { - 'cell_suspensions': [0, 20000, 20000], - 'files': [2100, 15000, 15000], - 'projects': [10000, 10000, 10000] - } if qualifier == 'cell_suspensions' else { - # project.estimated_cell_count is aggregated using max, not sum - 'cell_suspensions': [40000], - 'files': [17100], - 'projects': [10000] - } if doc_type is DocumentType.aggregate and qualifier == 'projects' else { - 'cell_suspensions': [20000, 20000] if doc_type is DocumentType.aggregate else [0, 20000, 20000], - 'files': [2100, 15000], - 'projects': [10000, 10000] - } - - self.assertEqual(expected.to_dict(), actual.to_dict()) - - def test_no_cell_count_contributions(self): - def assert_cell_suspension(expected: JSON, hits: list[JSON]): - project_hit = one(self._filter_hits(hits, DocumentType.aggregate, 'projects')) - contents = project_hit['_source']['contents'] - cell_suspension = cast(JSON, one(contents['cell_suspensions'])) - actual_result = { - field: cell_suspension[field] - for field in expected.keys() - } - self.assertEqual(expected, actual_result) - - # This bundle has a 'cell_suspension' but that `cell_suspension` does - # not contain a `total_estimated_cells` property. - # - no_cells_bundle = self.bundle_fqid(uuid='587d74b4-1075-4bbf-b96a-4d1ede0481b2', - version='2018-09-14T13:33:14.453337Z') - no_cells_bundle = self._load_canned_bundle(no_cells_bundle) - self._index_bundle(no_cells_bundle) - expected = { - 'total_estimated_cells': null_int.null_value, - 'total_estimated_cells_': None, - 'organ_part': ['temporal lobe'] - } - assert_cell_suspension(expected, self._get_all_hits()) - - # This bundle has a 'cell_suspension' with a 'total_estimated_cells' - # field. The bundles are incrementally indexed to prove that the - # estimated_cell_count in the aggregate changes from None to a value. - # - has_cells_bundle = self.bundle_fqid(uuid='3db604da-940e-49b1-9bcc-25699a55b295', - version='2018-09-14T13:33:14.453337Z') - has_cells_bundle = self._load_canned_bundle(has_cells_bundle) - - # We patch the project entity to ensure that the project aggregate gets - # cell suspensions from both bundles. - # - target_metadata = has_cells_bundle.metadata - source_metadata = no_cells_bundle.metadata - target_project = 'project/ed79221b-9713-44cd-94af-183f88c348cd' - source_project = 'project/6615efae-fca8-4dd2-a223-9cfcf30fe94d' - target_metadata[target_project] = source_metadata[source_project] - self._index_bundle(has_cells_bundle) - expected = { - 'total_estimated_cells': 10000, - 'total_estimated_cells_': 10000, - 'organ_part': ['amygdala', 'temporal lobe'] - } - assert_cell_suspension(expected, self._get_all_hits()) - - def test_imaging_bundle(self): - bundle_fqid = self.bundle_fqid(uuid='94f2ba52-30c8-4de0-a78e-f95a3f8deb9c', - version='2019-04-03T10:34:26.471000Z') - self._index_canned_bundle(bundle_fqid) - hits = self._get_all_hits() - sources = defaultdict(list) - for hit in hits: - qualifier, doc_type = self._parse_index_name(hit) - sources[qualifier, doc_type].append(hit['_source']) - # bundle has 240 imaging_protocol_0.json['target'] items, each with - # an assay_type of 'in situ sequencing' - if doc_type is DocumentType.aggregate: - assay_type = ['in situ sequencing'] - elif doc_type is DocumentType.contribution: - assay_type = {'in situ sequencing': 240} - elif doc_type is DocumentType.replica: - continue - else: - assert False, doc_type - self.assertEqual(one(hit['_source']['contents']['imaging_protocols'])['assay_type'], assay_type) - for doc_type in DocumentType.aggregate, DocumentType.contribution: - with self.subTest(doc_type=doc_type): - self.assertEqual( - { - 'bundles': 1, - 'files': 227, - 'projects': 1, - 'samples': 1, - }, - { - qualifier: len(sources) - for (qualifier, _doc_type), sources in sources.items() - if _doc_type is doc_type - } - ) - # This imaging bundle contains 6 data files in JSON format - self.assertEqual( - Counter({'tiff': 221, 'json': 6}), - Counter(one(source['contents']['files'])['file_format'] - for source in sources['files', doc_type]) - ) - - def test_cell_line_sample(self): - """ - Index a bundle with the following structure: - donor -> specimen -> cell_line -> cell_line -> cell_suspension -> sequence_files - and assert the singleton sample matches the first cell_line up from the - sequence_files and assert cell_suspension inherits the organ value from - the nearest ancestor cell_line - """ - bundle_fqid = self.bundle_fqid(uuid='e0ae8cfa-2b51-4419-9cde-34df44c6458a', - version='2018-12-05T23:09:17.591044Z') - self._index_canned_bundle(bundle_fqid) - hits = self._get_all_hits() - for hit in hits: - contents = hit['_source']['contents'] - qualifier, doc_type = self._parse_index_name(hit) - aggregate = doc_type is DocumentType.aggregate - contribution = doc_type is DocumentType.contribution - if qualifier == 'samples': - sample = one(contents['samples']) - sample_entity_type = sample['entity_type'] - if aggregate: - document_ids = one(contents[sample_entity_type])['document_id'] - elif contribution: - document_ids = [d['document_id'] for d in contents[sample_entity_type]] - entity = one(d for d in contents[sample_entity_type] if d['document_id'] == sample['document_id']) - self.assertEqual(sample['biomaterial_id'], entity['biomaterial_id']) - else: - assert False, doc_type - self.assertIn(sample['document_id'], document_ids) - self.assertEqual(one(contents['specimens'])['organ'], ['blood'] if aggregate else 'blood') - self.assertEqual(one(contents['specimens'])['organ_part'], ['venous blood']) - self.assertEqual(len(contents['cell_lines']), 1 if aggregate else 2) - if aggregate: - cell_lines_model_organ = set(one(contents['cell_lines'])['model_organ']) - elif contribution: - cell_lines_model_organ = {cl['model_organ'] for cl in contents['cell_lines']} - else: - assert False, doc_type - self.assertEqual(cell_lines_model_organ, {'blood (parent_cell_line)', 'blood (child_cell_line)'}) - self.assertEqual(one(contents['cell_suspensions'])['organ'], ['blood (child_cell_line)']) - self.assertEqual(one(contents['cell_suspensions'])['organ_part'], [self.translated_str_null]) - - def test_multiple_samples(self): - """ - Index a bundle with a specimen_from_organism and a cell_line input into - a cell_suspension resulting in two samples of different entity_type - """ - bundle_fqid = self.bundle_fqid(uuid='1b6d8348-d6e9-406a-aa6a-7ee886e52bf9', - version='2019-10-03T10:55:24.911627Z') - self._index_canned_bundle(bundle_fqid) - sample_entity_types = ['cell_lines', 'specimens'] - hits = self._get_all_hits() - for hit in hits: - contents = hit['_source']['contents'] - qualifier, doc_type = self._parse_index_name(hit) - if doc_type in [DocumentType.contribution, DocumentType.aggregate]: - cell_suspension = one(contents['cell_suspensions']) - self.assertEqual(cell_suspension['organ'], ['embryo', 'immune system']) - self.assertEqual(cell_suspension['organ_part'], ['skin epidermis', self.translated_str_null]) - if doc_type is DocumentType.aggregate and qualifier != 'samples': - self.assertEqual(one(contents['samples'])['entity_type'], sample_entity_types) - elif doc_type in (DocumentType.aggregate, DocumentType.contribution): - for sample in contents['samples']: - self.assertIn(sample['entity_type'], sample_entity_types) - elif doc_type is DocumentType.replica: - pass - else: - assert False, doc_type - - def test_sample_with_no_donor(self): - """ - Index two bundles for the same project, one bundle has a sample that - is connected to a donor and the other bundle has a sample that is not. - Verify the lack of a donor is represented in the project aggregate. - """ - # Sample (Specimen): 70d2b85a, Donor: b111e5bf - bundle_fqid = self.bundle_fqid(uuid='1fd499c5-f397-4bff-9af0-eb42c37d5fbe', - version='2021-03-18T11:38:49.884000Z') - self._index_canned_bundle(bundle_fqid) - # Sample (Organoid): df23c109, Donor: none - bundle_fqid = self.bundle_fqid(uuid='0722b70c-6778-423d-8fe9-869e2a515d35', - version='2021-03-18T11:38:49.863000Z') - self._index_canned_bundle(bundle_fqid) - donor = { - 'document_id': 'b111e5bf-e907-47f9-8eed-75b2ec5536c5', - 'biomaterial_id': 'Human_62', - 'biological_sex': 'male', - 'genus_species': ['Homo sapiens'], - 'development_stage': 'human adult stage', - 'diseases': ['normal'], - 'organism_age': '62 year', - 'organism_age_range': { - 'gte': 1955232000.0, - 'lte': 1955232000.0 - }, - } - donor_none = { - k: [None] if isinstance(v, list) else None - for k, v in donor.items() - if k != 'organism_age_range' - } - aggregate_donor = { - 'donor_count': 1, - 'donor_count_': 1, - **{ - # The `organism_age_range` field will not have a `None` - # value since the field is only added to the donor - # inner entity if it has `organism_age_in_seconds` value. - # FIXME: The donor inner entity of a project aggregate that - # includes a project without a donor should include - # `None` in each of the aggregated donor fields. - # https://github.com/databiosphere/azul/issues/3152 - k: (v if isinstance(v, list) else [v]) + - ([] if k == 'organism_age_range' or True else [None]) - for k, v in donor.items() - } - } - hits = self._get_all_hits() - for hit in hits: - contents = hit['_source']['contents'] - qualifier, doc_type = self._parse_index_name(hit) - if qualifier == 'projects': - if doc_type is DocumentType.aggregate: - self.assertElasticEqual([aggregate_donor], contents['donors']) - elif doc_type is DocumentType.contribution: - sample_id = one(contents['samples'])['document_id'] - if sample_id == '70d2b85a-8055-4027-a0d9-29452a49d668': - self.assertEqual([donor], contents['donors']) - elif sample_id == 'df23c109-59f0-46d3-bd09-660175b51bda': - # FIXME: The donor inner entity for a project without a donor - # should have all the standard fields of a donor inner - # entity with values of `None`. - # https://github.com/databiosphere/azul/issues/3152 - self.assertEqual([] if true() else [donor_none], contents['donors']) - else: - assert False, sample_id - else: - assert False, doc_type - - def test_files_content_description(self): - bundle_fqid = self.bundle_fqid(uuid='ffac201f-4b1c-4455-bd58-19c1a9e863b4', - version='2019-10-09T17:07:35.528600Z') - self._index_canned_bundle(bundle_fqid) - hits = self._get_all_hits() - for hit in hits: - contents = hit['_source']['contents'] - qualifier, doc_type = self._parse_index_name(hit) - if doc_type is DocumentType.aggregate: - # bundle aggregates keep individual files - num_inner_files = 2 if qualifier == 'bundles' else 1 - elif doc_type is DocumentType.contribution: - # one inner file per file contribution - num_inner_files = 1 if qualifier == 'files' else 2 - elif doc_type is DocumentType.replica: - continue - else: - assert False, doc_type - self.assertEqual(len(contents['files']), num_inner_files) - for file in contents['files']: - self.assertEqual(file['content_description'], ['RNA sequence']) - - def test_related_files_field_exclusion(self): - bundle_fqid = self.bundle_fqid(uuid='587d74b4-1075-4bbf-b96a-4d1ede0481b2', - version='2018-10-10T02:23:43.182000Z') - self._index_canned_bundle(bundle_fqid) - - # Check that the dynamic mapping has the related_files field disabled - index = str(IndexName.create(catalog=self.catalog, - qualifier='files', - doc_type=DocumentType.aggregate)) - mapping = self.es_client.indices.get_mapping(index=index) - contents = mapping[index]['mappings']['properties']['contents'] - self.assertFalse(contents['properties']['files']['properties']['related_files']['enabled']) - - # Ensure that related_files exists - hits = self._get_all_hits() - for hit in self._filter_hits(hits, DocumentType.aggregate, 'files'): - file = one(hit['_source']['contents']['files']) - self.assertIn('related_files', file) - - # … but that it can't be used for queries - zattrs_file = '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/.zattrs' - hits = self.es_client.search(index=index, - body={ - 'query': { - 'match': { - 'contents.files.related_files.name': zattrs_file - } - } - }) - self.assertEqual({'value': 0, 'relation': 'eq'}, hits['hits']['total']) - - def test_downstream_entities(self): - """ - Verify that samples and cell_suspensions include analysis files from - stitched subgraphs - """ - bundle_fqid = self.bundle_fqid(uuid='79fa91b4-f1fc-534b-a935-b57342804a70', - version='2020-12-10T10:30:00.000000Z') - bundle = self._load_canned_bundle(bundle_fqid) - - expected_cell_count = 123 - - # The bundles that motivated this test case lack `estimated_cell_count`, - # so we inject it here to avoid nulls in the index. - for document in bundle.metadata.values(): - if document['describedBy'].endswith('/cell_suspension'): - document['estimated_cell_count'] = expected_cell_count - - self._index_bundle(bundle) - - def get_aggregates(hits, type): - for hit in self._filter_hits(hits, DocumentType.aggregate, type): - yield hit['_source']['contents'] - - hits = self._get_all_hits() - samples = list(get_aggregates(hits, 'samples')) - self.assertEqual(15, len(samples)) - - def assert_analysis_files(hit): - analysis_file_formats = { - file['file_format'] - for file in hit['files'] - if 'DCP/2 Analysis' in file['file_source'] - } - self.assertEqual({'bam', 'loom'}, analysis_file_formats) - - for sample in samples: - assert_analysis_files(sample) - self.assertGreater(len(sample['donors']), 0) - self.assertGreater(len(sample['specimens']), 0) - - transformer = CellSuspensionTransformer - field_name = 'total_estimated_cells' - entity_type = transformer.entity_type() - inner_entity_type = one(transformer.inner_entity_types()) - field_type = transformer.field_types()[inner_entity_type][field_name] - cell_suspensions = list(get_aggregates(hits, entity_type)) - self.assertEqual(22, len(cell_suspensions)) - for cell_suspension in cell_suspensions: - assert_analysis_files(cell_suspension) - inner = one(cell_suspension[entity_type]) - cell_count = field_type.from_index(inner[field_name]) - self.assertEqual(expected_cell_count, cell_count) - - def test_mapper_parsing(self): - """ - Verify that the tests are insensitive to whether a can from DSS or TDR - is indexed first. Especially the dynamic mapping could be sensitive to - subtle difference in the formatting of fields. - """ - bundle_fqids = [ - # A bundle from TDR - self.bundle_fqid(uuid='17a3d288-01a0-464a-9599-7375fda3353d', - version='2018-03-28T15:10:23.074974Z'), - # A bundle from DSS - self.bundle_fqid(uuid='2c7d06b8-658e-4c51-9de4-a768322f84c5', - version='2021-09-21T17:27:23.898000Z'), - ] - - for reverse in (False, True): - with self.subTest(reverse=reverse): - self._purge_indices() - self.index_service.create_indices(self.catalog) - - for bundle_fqid in reversed(bundle_fqids) if reverse else bundle_fqids: - self._index_canned_bundle(bundle_fqid) - - hits = self._get_all_hits() - self._assert_hit_counts(hits, num_contribs=21, num_replicas=28) - - def test_disallow_manifest_column_joiner(self): - bundle_fqid = self.bundle_fqid(uuid='1b6d8348-d6e9-406a-aa6a-7ee886e52bf9', - version='2019-10-03T10:55:24.911627Z') - bundle = self._load_canned_bundle(bundle_fqid) - project = bundle.metadata['project/116965f3-f094-4769-9d28-ae675c1b569c'] - contributor = project['contributors'][0] - assert contributor['institution'] == 'Lund University' - contributor['institution'] += ' || LabMED' - with self.assertRaisesRegex(AssertionError, "'||' is disallowed") as cm: - self._index_bundle(bundle) - self.assertTrue(R.caused(cm.exception)) - - def test_replica_update(self): - contents = {'replica': {}} - coordinates = ReplicaCoordinates(content_hash=json_hash(contents).hexdigest(), - entity=CataloguedEntityReference(catalog=self.catalog, - entity_type='replica', - entity_id='foo')) - replica = Replica(version=None, - replica_type='file', - contents=contents, - hub_ids=[], - source=self.source, - coordinates=coordinates) - - for case, hub_ids, expected_hub_ids in [ - ('New replica', ['1', '1'], ['1']), - ('Additional hub IDs', ['3', '2', '1'], ['1', '2', '3']), - ('Redundant hub IDs', ['1', '2'], ['1', '2', '3']) - ]: - with self.subTest(case): - replica.hub_ids[:] = hub_ids - self.index_service.replicate(self.catalog, [replica]) - hit = one(self._get_all_hits()) - self.assertEqual(hit['_id'], coordinates.document_id) - self.assertEqual(hit['_source']['hub_ids'], expected_hub_ids) - - -class TestIndexManagement(AzulUnitTestCase): - - def test_check_indices(self): - # In all but the first subtest, we vary a single aspect of the actual - # values. The function under test must detect each varied aspect. - for mismatch, settings_value, property_value, dynamic_value, rest_value in [ - (None, '8', 'nested', True, False), - ('settings', '9', 'nested', True, False), - ('properties', '8', 'foo', True, False), - ('properties', '8', None, True, False), - ('dynamic_templates', '8', 'nested', False, False), - ('mappings', '8', 'nested', True, True) - ]: - with self.subTest(settings_value=settings_value, - property_value=property_value, - dynamic_value=dynamic_value, - rest_value=rest_value, - mismatch=mismatch): - # A few helpers - boolean = {'type': 'boolean', 'fields': {'keyword': {'type': 'boolean'}}} - date = {'type': 'date', 'fields': {'keyword': {'type': 'date'}}} - keyword = {'keyword': {'type': 'keyword', 'ignore_above': 256}} - # The literals below are stripped down examples, that are still - # representative of what goes on in a real deployment. The goal - # is to have diversity without repetition but also to capture - # insignificant differences i.e. those that should not be - # detected as a mismatch. - actual_settings = { - 'index': { - 'refresh_interval': '1s', - 'number_of_shards': settings_value, - 'provided_name': 'azul_v2_sandbox_dcp2_files', - } - } - expected_settings = { - 'index': { - 'number_of_shards': 8, - 'refresh_interval': '1s' - } - } - expected_mappings = { - 'numeric_detection': False, - 'properties': { - 'entity_id': {'type': 'text', 'fields': keyword}, - 'contents': { - 'properties': { - 'projects': { - 'properties': { - 'accessions': {'type': 'nested'} - } - } - } - } - }, - 'dynamic_templates': [ - { - 'donor_age_range': { - 'path_match': 'contents.donors.organism_age_range', - 'mapping': {'type': 'double_range'} - } - } - ] - if dynamic_value else - [] - } - actual_mappings = { - 'dynamic_templates': [ - { - 'donor_age_range': { - 'path_match': 'contents.donors.organism_age_range', - 'mapping': {'type': 'double_range'} - } - } - ], - 'numeric_detection': rest_value, - 'date_detection': True, - 'properties': { - 'bundle_deleted': boolean, - 'contents': { - 'properties': { - 'dates': { - 'properties': { - 'submission_date': date - } - }, - 'projects': { - 'properties': { - 'accessions': { - **({} if property_value is None else {'type': property_value}), - 'properties': { - 'accession': { - 'type': 'text', - 'fields': keyword - }, - 'namespace': { - 'type': 'text', - 'fields': keyword - } - } - }, - 'submission_date': date - } - }, - } - }, - 'entity_id': { - 'type': 'text', - 'fields': keyword - }, - } - } - try: - index_service = IndexService() - index_service._check_index(settings=expected_settings, - mappings=expected_mappings, - index=dict(settings=actual_settings, - mappings=actual_mappings)) - except IndexExistsAndDiffersException as e: - assert e.args[0] == mismatch - else: - assert mismatch is None - - -def get(v): - return one(v) if isinstance(v, list) else v - - -if __name__ == '__main__': - unittest.main() diff --git a/test/indexer/test_mirror_controller.py b/test/indexer/test_mirror_controller.py deleted file mode 100644 index bc871957ca..0000000000 --- a/test/indexer/test_mirror_controller.py +++ /dev/null @@ -1,183 +0,0 @@ -import hashlib -import json -from unittest.mock import ( - MagicMock, - patch, -) - -from chalice.app import ( - SQSRecord, -) -import jsonschema -from more_itertools import ( - one, -) - -from app_test_case import ( - LocalAppTestCase, -) -from azul import ( - R, - config, -) -from azul.http import ( - http_client, -) -from azul.indexer.mirror_controller import ( - MirrorController, -) -from azul.indexer.mirror_service import ( - MirrorService, -) -from azul.json import ( - copy_json, -) -from azul.logging import ( - configure_test_logging, - get_test_logger, -) -from azul.plugins.metadata.hca import ( - HCAFile, -) -from azul.types import ( - JSON, -) -from azul_test_case import ( - DCP2TestCase, -) -from service import ( - MirrorTestCase, -) -from sqs_test_case import ( - WorkQueueTestCase, -) - -log = get_test_logger(__name__) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging(log) - - -class TestMirrorController(DCP2TestCase, - LocalAppTestCase, - WorkQueueTestCase, - MirrorTestCase): - - @classmethod - def lambda_name(cls) -> str: - return 'indexer' - - def test_mirroring(self): - self._create_mock_queues(config.mirror_queue_names) - with self.subTest('remote_mirror'): - source_message = self._test_remote_mirror() - - with self.subTest('mirror_source'): - partition_message = self._test_mirror_source(source_message) - - with self.subTest('mirror_partition'): - file, file_message = self._test_mirror_partition(partition_message) - - with self.subTest('mirror_file', corrupted=False, exists=False): - self._test_mirror_file(file, file_message) - - service = self.mirror_controller.service(self.catalog) - self._s3.delete_object(Bucket=self.mirror_bucket, - Key=service.info_object_key(file)) - - with self.subTest('mirror_file', corrupted=True): - self._test_corrupted_download(file_message) - - with self.subTest('mirror_file', corrupted=False, exists=True): - self._test_reuploaded_file(file_message) - - _file_contents = b'lorem ipsum dolor sit\n' - - @property - def mirror_controller(self) -> MirrorController: - return self.app_module.app.mirror_controller - - def _mirror_event(self, body: JSON) -> list[SQSRecord]: - return [self._mock_sqs_record(body, fifo=True)] - - def _test_remote_mirror(self): - self.client.remote_mirror(self.catalog, [self.source]) - source_message = one(self._read_queue(self.client.mirror_queue())) - expected_message = dict(action='mirror_source', - catalog=self.catalog, - source=self.source.to_json()) - self.assertEqual(expected_message, source_message) - return source_message - - def _test_mirror_source(self, source_message): - event = self._mirror_event(source_message) - self.mirror_controller.mirror(event) - partition_messages = self._read_queue(self.client.mirror_queue()) - partition_message = copy_json(partition_messages[0]) - partitions = [] - for message in partition_messages: - partitions.append(message.pop('prefix')) - self.assertEqual(dict(action='mirror_partition', - catalog=self.catalog, - source=self.source.to_json()), - message) - self.assertEqual(list(self.source.spec.prefix.partition_prefixes()), partitions) - return partition_message - - def _test_mirror_partition(self, partition_message): - event = self._mirror_event(partition_message) - file = HCAFile(uuid='405852c9-a0cc-4cd8-b9ff-7c6296223661', - name='foo.txt', - version=None, - drs_uri='drs://fake-domain.lan/foo', - size=len(self._file_contents), - content_type='text/plain', - sha256=hashlib.sha256(self._file_contents).hexdigest()) - plugin_cls = type(self.client.repository_plugin(self.catalog)) - with patch.object(plugin_cls, 'list_files', return_value=[file]): - self.mirror_controller.mirror(event) - file_message = one(self._read_queue(self.client.mirror_queue())) - expected_message = dict(action='mirror_file', - catalog=self.catalog, - source=self.source.to_json(), - file=file.to_json()) - self.assertEqual(expected_message, file_message) - return file, file_message - - def _test_mirror_file(self, file, file_message): - event = self._mirror_event(file_message) - with patch.object(MirrorService, '_download', return_value=self._file_contents): - self.mirror_controller.mirror(event) - service = self.mirror_controller.service(self.catalog) - response = self._s3.get_object(Bucket=self.mirror_bucket, - Key=service.mirror_object_key(file)) - mirrored_file_contents = response['Body'].read() - self.assertEqual(mirrored_file_contents, self._file_contents) - - def _test_corrupted_download(self, file_message): - event = self._mirror_event(file_message) - corrupted_contents = self._file_contents[:-1] + b'Q' - with patch.object(MirrorService, '_download', return_value=corrupted_contents): - with self.assertRaises(AssertionError) as e: - self.mirror_controller.mirror(event) - self.assertTrue(R.caused(e.exception)) - - def _test_reuploaded_file(self, file_message): - event = self._mirror_event(file_message) - with patch.object(MirrorService, '_download', return_value=self._file_contents): - with self.assertRaises(AssertionError) as e: - self.mirror_controller.mirror(event) - self.assertTrue(R.caused(e.exception)) - self.assertEqual(e.exception.args[0].args[0], 'File object is already present') - - def test_info_schema(self): - client = http_client(log) - file = MagicMock(content_type='text/plain') - service = self.mirror_controller.service(self.catalog) - info = service.info_object(file) - response = client.request('GET', info['$schema']) - self.assertEqual(200, response.status, response.data) - schema = json.loads(response.data) - jsonschema.validate(info, schema) diff --git a/test/indexer/test_notifications.py b/test/indexer/test_notifications.py deleted file mode 100644 index a94734fe44..0000000000 --- a/test/indexer/test_notifications.py +++ /dev/null @@ -1,138 +0,0 @@ -from unittest.mock import ( - patch, -) -from uuid import ( - uuid4, -) - -from moto import ( - mock_aws, -) -import requests - -from app_test_case import ( - LocalAppTestCase, -) -from azul import ( - JSON, -) -from azul.deployment import ( - aws, -) -from azul.hmac import ( - SignatureHelper, -) -from azul_test_case import ( - DCP1TestCase, -) -from sqs_test_case import ( - SqsTestCase, -) - - -class TestValidNotificationRequests(LocalAppTestCase, - DCP1TestCase, - SqsTestCase): - - @classmethod - def lambda_name(cls) -> str: - return 'indexer' - - @mock_aws - def test_successful_notifications(self): - self._create_mock_notifications_queue() - body = { - 'bundle_fqid': { - 'uuid': 'bb2365b9-5a5b-436f-92e3-4fc6d86a9efd', - 'version': '2018-03-28T13:55:26.044Z' - } - } - for delete in False, True: - with self.subTest(delete=delete): - response = self._test(body, delete, valid_auth=True) - self.assertEqual(202, response.status_code) - self.assertEqual('', response.text) - - @mock_aws - def test_invalid_notifications(self): - bodies = { - 'Missing body': {}, - 'Missing bundle uuid': - { - 'bundle_fqid': { - 'version': '2018-03-28T13:55:26.044Z' - } - }, - 'bundle uuid is None': - { - 'bundle_fqid': { - 'uuid': None, - 'version': '2018-03-28T13:55:26.044Z' - } - }, - 'Missing bundle_version': - { - 'bundle_fqid': { - 'uuid': 'bb2365b9-5a5b-436f-92e3-4fc6d86a9efd' - } - }, - 'bundle version is None': - { - 'bundle_fqid': { - 'uuid': 'bb2365b9-5a5b-436f-92e3-4fc6d86a9efd', - 'version': None - } - }, - 'Malformed bundle uuid value': - { - 'bundle_fqid': { - 'uuid': f'}}{str(uuid4())}{{', - 'version': '2019-12-31T00:00:00.000Z' - } - }, - 'Malformed bundle version': - { - 'bundle_fqid': { - 'uuid': str(uuid4()), - 'version': '' - } - } - } - for delete in False, True: - with self.subTest(endpoint=delete): - for test, body in bodies.items(): - with self.subTest(test): - response = self._test(body, delete, valid_auth=True) - self.assertEqual(400, response.status_code) - - @mock_aws - def test_invalid_auth_for_notification_request(self): - self._create_mock_notifications_queue() - body = { - 'bundle_fqid': { - 'uuid': str(uuid4()), - 'version': 'SomeBundleVersion' - } - } - for delete in False, True: - with self.subTest(delete=delete): - response = self._test(body, delete, valid_auth=False) - self.assertEqual(401, response.status_code) - - def _test(self, - body: JSON, - delete: bool, - *, - valid_auth: bool - ) -> requests.Response: - with patch.object(aws, 'get_hmac_key_and_id') as get_hmac_key_and_id: - get_hmac_key_and_id.return_value = b'good key', 'the id' - url = self.base_url.set(path=(self.catalog, 'delete' if delete else 'add')) - request = requests.Request(method='POST', url=str(url), json=body) - hmac_support = SignatureHelper() - if valid_auth: - return hmac_support.sign_and_send(request) - else: - with patch.object(hmac_support, 'resolve_private_key') as p: - p.return_value = b'bad key' - return hmac_support.sign_and_send(request) diff --git a/test/indexer/test_projects.py b/test/indexer/test_projects.py deleted file mode 100644 index 45a6ee9042..0000000000 --- a/test/indexer/test_projects.py +++ /dev/null @@ -1,103 +0,0 @@ -from more_itertools import ( - one, -) - -from azul.es import ( - ESClientFactory, -) -from azul.indexer.document import ( - AggregateCoordinates, - CataloguedEntityReference, - ContributionCoordinates, - DocumentType, - IndexName, -) -from azul.logging import ( - configure_test_logging, -) -from indexer.test_indexer import ( - DCP1IndexerTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class TestDataExtractorTestCase(DCP1IndexerTestCase): - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls.es_client = ESClientFactory.get() - - def setUp(self) -> None: - super().setUp() - self.index_service.create_indices(self.catalog) - - def tearDown(self) -> None: - self._purge_indices() - super().tearDown() - - def test_hca_extraction(self): - bundle_fqids = [ - self.bundle_fqid(uuid='17a3d288-01a0-464a-9599-7375fda3353d', - version='2018-03-28T15:10:23.074974Z'), - self.bundle_fqid(uuid='2a87dc5c-0c3c-4d91-a348-5d784ab48b92', - version='2018-03-29T10:40:41.822717Z'), - self.bundle_fqid(uuid='4afbb0ea-81ad-49dc-9b12-9f77f4f50be8', - version='2018-03-29T09:04:03.442059Z'), - self.bundle_fqid(uuid='aaa96233-bf27-44c7-82df-b4dc15ad4d9d', - version='2018-11-04T11:33:44.698028Z'), - self.bundle_fqid(uuid='b0850e79-5544-49fe-b54d-e29b9fc3f61f', - version='2018-03-29T09:03:40.934358Z'), - self.bundle_fqid(uuid='c94a43f9-257f-4cd0-b2fe-eaf6d5d37d18', - version='2018-03-29T09:03:43.782253Z') - ] - for bundle_fqid in bundle_fqids: - self._index_canned_bundle(bundle_fqid) - for aggregate in True, False: - with self.subTest(aggregate=aggregate): - def index_name(entity_type): - doc_type = DocumentType.aggregate if aggregate else DocumentType.contribution - return str(IndexName.create(catalog=self.catalog, - qualifier=entity_type, - doc_type=doc_type)) - - total_projects = self.es_client.count(index=index_name('projects')) - # Three unique projects, six project contributions - self.assertEqual(3 if aggregate else 6, total_projects['count']) - total_files = self.es_client.count(index=index_name('files')) - self.assertEqual(776, total_files['count']) - total_samples = self.es_client.count(index=index_name('samples')) - self.assertEqual(129, total_samples['count']) - - # When two processes point at a file (this is the case for most files in - # production) there was a bug where the files index contains duplicate - # dictionaries for the file. - def test_no_duplicate_files_in_specimen(self): - bundle_fqid = self.bundle_fqid(uuid='8543d32f-4c01-48d5-a79f-1c5439659da3', - version='2018-03-29T14:38:28.884167Z') - self._index_canned_bundle(bundle_fqid) - for aggregate in True, False: - with self.subTest(aggregate=aggregate): - entity = CataloguedEntityReference(catalog=self.catalog, - entity_type='samples', - entity_id='b3623b88-c369-46c9-a2e9-a16042d2c589') - if aggregate: - coordinates = AggregateCoordinates(entity=entity) - else: - coordinates = ContributionCoordinates(entity=entity, - bundle=bundle_fqid, - deleted=False) - result = self.es_client.get(index=coordinates.index_name, - id=coordinates.document_id) - files = result['_source']['contents']['files'] - num_files = 2 # fastqs - if aggregate: - self.assertEqual(num_files, one(files)['count']) - else: - file_ids = [f['uuid'] for f in files] - self.assertEqual(num_files, len(file_ids)) - self.assertEqual(num_files, len(set(file_ids))) diff --git a/test/indexer/test_tdr.py b/test/indexer/test_tdr.py deleted file mode 100644 index 27c1b6dd2a..0000000000 --- a/test/indexer/test_tdr.py +++ /dev/null @@ -1,464 +0,0 @@ -from abc import ( - abstractmethod, -) -from io import ( - BytesIO, -) -import json -import logging -from operator import ( - attrgetter, -) -from typing import ( - Callable, - ClassVar, - Generic, - Sequence, - Type, - TypeVar, -) -from unittest import ( - mock, -) -from unittest.mock import ( - Mock, - patch, -) - -import attr -from furl import ( - furl, -) -from google.api_core.client_options import ( - ClientOptions, -) -from google.auth.credentials import ( - AnonymousCredentials, -) -from google.cloud import ( - bigquery, -) -from google.oauth2.service_account import ( - Credentials as ServiceAccountCredentials, -) -from more_itertools import ( - first, - one, - take, -) -import urllib3 - -from azul import ( - cached_property, - config, -) -from azul.auth import ( - OAuth2, -) -from azul.bigquery import ( - BigQueryRow, -) -from azul.docker import ( - resolve_docker_image_for_launch, -) -from azul.logging import ( - configure_test_logging, - get_test_logger, -) -from azul.oauth2 import ( - ScopedCredentials, -) -from azul.plugins.repository import ( - tdr_hca, -) -from azul.plugins.repository.tdr import ( - TDRPlugin, -) -from azul.plugins.repository.tdr_hca import ( - TDRBundleFQID, - TDRHCABundle, - TDRSourceRef, - log as plugin_log, -) -from azul.terra import ( - TDRClient, - TDRSourceSpec, - TerraClient, - TerraCredentialsProvider, -) -from azul.types import ( - AnyJSON, - JSON, - JSONs, - reify, -) -from azul_test_case import ( - AzulUnitTestCase, - TDRTestCase, -) -from docker_container_test_case import ( - DockerContainerTestCase, -) -from indexer import ( - CannedFileTestCase, - DCP2CannedBundleTestCase, -) - -log = get_test_logger(__name__) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging(log) - - -class MockTDRClient(TDRClient): - netloc: ClassVar[tuple[str, int] | None] = None - - def _bigquery(self, project: str) -> bigquery.Client: - # noinspection PyArgumentList - host, port = self.netloc - options = ClientOptions(api_endpoint=f'http://{host}:{port}') - # noinspection PyTypeChecker - return bigquery.Client(project=project, - credentials=AnonymousCredentials(), - client_options=options) - - def _job_has_result(self, job_info: JSON) -> bool: - # Some queries (such as the one in Plugin._downstream_from_files()) can - # produce job stats that are empty in the test environment. - return True - - -@attr.s(frozen=True, auto_attribs=True) -class MockCredentials(ServiceAccountCredentials): - _project_id: str - - -@attr.s(frozen=True, auto_attribs=True) -class MockCredentialsProvider(TerraCredentialsProvider): - project_id: str - - def insufficient_access(self, resource: str) -> Exception: - pass - - def scoped_credentials(self) -> ScopedCredentials: - return MockCredentials(self.project_id) - - def oauth2_scopes(self) -> Sequence[str]: - pass - - -TDR_PLUGIN = TypeVar('TDR_PLUGIN', bound=TDRPlugin) - - -class TDRPluginTestCase(TDRTestCase, - DockerContainerTestCase, - CannedFileTestCase, - Generic[TDR_PLUGIN]): - - @classmethod - @abstractmethod - def _plugin_cls(cls) -> Type[TDR_PLUGIN]: - raise NotImplementedError - - @classmethod - def _patch_tdr_client(cls): - source = cls.source.spec - credentials_provider = MockCredentialsProvider(project_id=source.subdomain) - tdr = MockTDRClient(credentials_provider=credentials_provider) - assert cls.netloc is not None - MockTDRClient.netloc = cls.netloc - cls.addClassPatch(mock.patch.object(TDRPlugin, '_tdr', return_value=tdr)) - - @cached_property - def plugin(self) -> TDR_PLUGIN: - plugin_cls = self._plugin_cls() - return plugin_cls(catalog=self.catalog) - - netloc: tuple[str, int] | None = None - - @classmethod - def setUpClass(cls): - super().setUpClass() - image = resolve_docker_image_for_launch('bigquery_emulator') - cls.netloc = cls._create_container(image=image, - container_port=9050, - command=[ - '--log-level=debug', - '--port=9050', - '--project=' + cls.source.spec.subdomain, - '--dataset=' + cls.source.spec.name - ]) - cls._patch_tdr_client() - - def _make_mock_tdr_tables(self, source: TDRSourceRef) -> JSON: - tables = self._load_canned_file_version(uuid=source.id, - version=None, - extension='tables.tdr')['tables'] - for table_name, table_rows in tables.items(): - self._make_mock_entity_table(source.spec, - table_name, - table_rows['rows']) - return tables - - def _make_mock_entity_table(self, - source: TDRSourceSpec, - table_name: str, - rows: JSONs) -> None: - schema = self._bq_schema(rows[0]) - columns = {column.name for column in schema} - json_type = reify(JSON) - - def dump_row(row: JSON) -> JSON: - row_columns = row.keys() - assert row_columns == columns, row_columns - return { - column_name: ( - json.dumps(column_value) - if isinstance(column_value, json_type) else - column_value - ) - for column_name, column_value in row.items() - } - - plugin = self.plugin - bq = plugin.tdr._bigquery(source.subdomain) - table_name = plugin._full_table_name(source, table_name) - # https://youtrack.jetbrains.com/issue/PY-50178 - # noinspection PyTypeChecker - table = bigquery.Table(table_name, schema) - bq.create_table(table=table) - self.addCleanup(bq.delete_table, table) - bq.insert_rows(table=table, selected_fields=schema, rows=map(dump_row, rows)) - - def _bq_schema(self, row: BigQueryRow) -> list[bigquery.SchemaField]: - - def field_type(key: str, value: AnyJSON) -> str: - if key == 'version': - return 'TIMESTAMP' - elif isinstance(value, bool): - return 'BOOLEAN' - elif isinstance(value, int): - return 'INTEGER' - else: - return 'STRING' - - return [ - bigquery.SchemaField(name=k, - field_type=field_type(k, v), - mode='REPEATED' if isinstance(v, list) else 'NULLABLE') - for k, v in row.items() - ] - - -class TestTDRHCAPlugin(DCP2CannedBundleTestCase, - TDRPluginTestCase[tdr_hca.Plugin]): - - @classmethod - def _plugin_cls(cls) -> Type[tdr_hca.Plugin]: - return tdr_hca.Plugin - - def test_list_bundles(self): - source = self.source - current_version = '2001-01-01T00:00:00.100001Z' - links_ids = ['42-abc', '42-def', '42-ghi', '86-xyz'] - self._make_mock_entity_table(source=source.spec, - table_name='links', - rows=[ - dict(links_id=links_id, - version=current_version, - content={}) - for links_id in links_ids - ]) - bundle_ids = self.plugin.list_bundles(source, prefix='42') - bundle_ids.sort(key=attrgetter('uuid')) - self.assertEqual(bundle_ids, [ - TDRBundleFQID(source=source, uuid='42-abc', version=current_version), - TDRBundleFQID(source=source, uuid='42-def', version=current_version), - TDRBundleFQID(source=source, uuid='42-ghi', version=current_version) - ]) - - def test_fetch_bundle(self): - fqid = self.bundle_fqid(uuid='1b6d8348-d6e9-406a-aa6a-7ee886e52bf9', - version='2019-09-24T09:35:06.958773Z') - bundle = self._load_canned_bundle(fqid) - # Test valid links - self._test_fetch_bundle(bundle, load_tables=True) - # Test invalid links by modifying the canned bundle - spec = self.source.spec - plugin = self.plugin - links_id = bundle.uuid - links = one(plugin.tdr.run_sql(f''' - SELECT links_id, content - FROM {plugin._full_table_name(spec, 'links')} - WHERE links_id = {links_id!r} - ''')) - links_content = json.loads(links['content']) - link = first( - link - for link in links_content['links'] - if link['link_type'] == 'supplementary_file_link' - ) - linked_entity = link['entity'] - assert linked_entity['entity_type'] == 'project', linked_entity - bad_link_fields = [ - {'entity_type': 'cell_suspension'}, - {'entity_id': linked_entity['entity_id'] + '_wrong'} - ] - for field in bad_link_fields: - link['entity'] = linked_entity | field - # Update table with invalid link - plugin.tdr.run_sql(f''' - UPDATE {plugin._full_table_name(spec, 'links')} - SET content = {json.dumps(links_content)!r} - WHERE links_id = "{links_id}" - ''') - # Invoke code under test - with self.assertRaises(AssertionError): - self._test_fetch_bundle(bundle, - load_tables=False) # Avoid resetting tables to canned state - - def test_subgraph_stitching(self): - downstream_uuid = '4426adc5-b3c5-5aab-ab86-51d8ce44dfbe' - upstream_uuids = [ - 'b0c2c714-45ee-4759-a32b-8ccbbcf911d4', - 'bd4939c1-a078-43bd-8477-99ae59ceb555', - ] - fqid = self.bundle_fqid(uuid=downstream_uuid, - version='2020-08-10T21:24:26.174274Z') - bundle = self._load_canned_bundle(fqid) - assert len(bundle.stitched) > 0 - with self.assertLogs(plugin_log, level=logging.DEBUG) as cm: - self._test_fetch_bundle(bundle, load_tables=True) - record = one(r for r in cm.records if 'Stitched 2 bundle(s): ' in r.message) - for upstream_uuid in upstream_uuids: - self.assertIn("uuid='" + upstream_uuid, record.message) - - def _test_fetch_bundle(self, - test_bundle: TDRHCABundle, - *, - load_tables: bool): - if load_tables: - self._make_mock_tdr_tables(test_bundle.fqid.source) - emulated_bundle = self.plugin.fetch_bundle(test_bundle.fqid) - - self.assertEqual(test_bundle.fqid, emulated_bundle.fqid) - assert isinstance(emulated_bundle, TDRHCABundle) - # Manifest and metadata should both be sorted by entity UUID - self.assertEqual(test_bundle.manifest, emulated_bundle.manifest) - self.assertEqual(test_bundle.metadata, emulated_bundle.metadata) - self.assertEqual(test_bundle.links, emulated_bundle.links) - - -class TestTDRSourceList(AzulUnitTestCase): - - def _mock_snapshots(self, access_token: str) -> JSONs: - return [{ - 'id': 'foo', - 'name': f'{access_token}_snapshot' - }] - - def _mock_tdr_enumerate_snapshots(self, - tdr_client: TDRClient - ) -> Callable[..., urllib3.HTTPResponse]: - called = False - - def _mock_urlopen(_http_client, method, url, *, headers, **_kwargs): - nonlocal called - self.assertEqual(method, 'GET') - self.assertEqual(furl(url).remove(query=True), - tdr_client._repository_endpoint('snapshots')) - headers = {k.capitalize(): v for k, v in headers.items()} - token = headers['Authorization'].split('Bearer ').pop() - body = json.dumps({ - 'total': 1, - 'filteredTotal': 1, - 'items': [] if called else self._mock_snapshots(token) - }).encode() - response = urllib3.HTTPResponse(status=200, body=BytesIO(body)) - called = True - return response - - return _mock_urlopen - - def _mock_google_oauth_tokeninfo(self): - body = json.dumps({'azp': config.google_oauth2_client_id}).encode() - response = urllib3.HTTPResponse(status=200, body=BytesIO(body)) - mock_urlopen = Mock() - mock_urlopen.return_value = response - return mock_urlopen - - def _patch_urlopen(self, **kwargs): - return mock.patch.object(target=urllib3.poolmanager.PoolManager, - attribute='urlopen', - **kwargs) - - def _patch_client_id(self): - return patch.object(type(config), - 'google_oauth2_client_id', - '123-foobar.apps.googleusercontent.com') - - def test_auth_list_snapshots(self): - for token in ('mock_token_1', 'mock_token_2'): - with self._patch_client_id(): - with self._patch_urlopen(new=self._mock_google_oauth_tokeninfo()): - tdr_client = TDRClient.for_registered_user(OAuth2(token)) - expected_snapshots = { - snapshot['id']: snapshot['name'] - for snapshot in self._mock_snapshots(token) - } - # The patching here is deliberately "deep" into the implementation - # to ensure that the proper authorization headers are being sent - # when nothing is mocked. - with self._patch_urlopen(new=self._mock_tdr_enumerate_snapshots(tdr_client)): - self.assertEqual(tdr_client.snapshot_names_by_id(), expected_snapshots) - - def test_list_snapshots_paging(self): - for page_size in [1, 10]: - for num_full_pages in [0, 1, 2]: - for last_page_size in [0, 1, 2]: - for filter in (None, 'snapshot'): - with self.subTest(page_size=page_size, - num_full_pages=num_full_pages, - last_page_size=last_page_size, - filter=filter): - tdr_client = TDRClient.for_anonymous_user() - page_size = 1000 - snapshots = [ - {'id': str(n), 'name': f'snapshot_{n}'} - for n in range(page_size * num_full_pages + last_page_size) - ] - expected = { - snapshot['id']: snapshot['name'] - for snapshot in snapshots - } - - def responses(): - iterator = iter(snapshots) - while True: - items = take(page_size, iterator) - body = json.dumps({ - 'total': len(snapshots) + (0 if filter is None else 42), - 'filteredTotal': len(snapshots), - 'items': list(items) - }).encode() - yield urllib3.HTTPResponse(status=200, body=BytesIO(body)) - if not items: - break - - with mock.patch.object(TDRClient, 'page_size', new=page_size): - self.assertEqual(page_size, tdr_client.page_size) - with mock.patch.object(TerraClient, '_request') as _request: - _request.side_effect = responses() - actual = tdr_client.snapshot_names_by_id(filter=filter) - self.assertEqual(expected, actual) - num_expected_calls = max(1, num_full_pages + (1 if last_page_size else 0)) - self.assertEqual(num_expected_calls, _request.call_count) - for call in _request.mock_calls: - method, url = call.args - assert isinstance(url, furl) - if filter: - self.assertEqual('snapshot', url.args['filter']) - else: - self.assertNotIn('filter', url.args) diff --git a/test/integration_test.py b/test/integration_test.py deleted file mode 100644 index 88dae78f18..0000000000 --- a/test/integration_test.py +++ /dev/null @@ -1,2043 +0,0 @@ -from abc import ( - ABCMeta, -) -from collections.abc import ( - Iterable, - Mapping, - Sequence, -) -from concurrent.futures.thread import ( - ThreadPoolExecutor, -) -from contextlib import ( - contextmanager, - nullcontext, -) -import csv -import gzip -from io import ( - BytesIO, - TextIOWrapper, -) -import json -import os -from pathlib import ( - PurePath, -) -from random import ( - Random, - randint, -) -import sys -import tempfile -import threading -import time -from typing import ( - Any, - Callable, - ContextManager, - IO, - Protocol, - TypedDict, - cast, -) -from unittest import ( - mock, -) -from unittest.mock import ( - PropertyMock, -) -import uuid - -import attr -from chalice import ( - UnauthorizedError, -) -import chalice.cli -import fastavro -from furl import ( - furl, -) -from google.cloud import ( - storage, -) -from google.oauth2 import ( - service_account, -) -from more_itertools import ( - first, - grouper, - one, - only, -) -from openapi_spec_validator import ( - validate, -) -import opensearchpy -import requests -import urllib3 -import urllib3.request - -from azul import ( - CatalogName, - Config, - RequirementError, - cache, - cached_property, - config, - drs, - false, -) -from azul.auth import ( - OAuth2, -) -from azul.azulclient import ( - AzulClient, - AzulClientNotificationError, -) -from azul.chalice import ( - AzulChaliceApp, -) -from azul.collections import ( - alist, -) -from azul.csp import ( - CSP, -) -from azul.deployment import ( - aws, -) -from azul.drs import ( - AccessMethod, -) -from azul.es import ( - ESClientFactory, -) -from azul.http import ( - http_client, -) -from azul.indexer import ( - Prefix, - SourceRef, - SourceSpec, - SourcedBundleFQID, -) -from azul.indexer.document import ( - EntityReference, - EntityType, -) -from azul.indexer.index_queue_service import ( - IndexAction, -) -from azul.indexer.index_service import ( - IndexExistsAndDiffersException, - IndexService, -) -from azul.indexer.mirror_service import ( - BaseMirrorService, -) -from azul.json_freeze import ( - freeze, -) -from azul.logging import ( - configure_test_logging, - get_test_logger, -) -from azul.modules import ( - load_app_module, - load_script, -) -from azul.oauth2 import ( - OAuth2Client, -) -from azul.plugins import ( - MetadataPlugin, - RepositoryPlugin, -) -from azul.plugins.metadata.anvil.bundle import ( - EntityLink, -) -from azul.plugins.repository.tdr_anvil import ( - BundleType, - TDRAnvilBundleFQID, -) -from azul.queues import ( - SQSMessage, -) -from azul.service.async_manifest_service import ( - Token, -) -from azul.service.manifest_service import ( - ManifestFormat, - ManifestGenerator, -) -from azul.terra import ( - ServiceAccountCredentialsProvider, - TDRClient, - TDRSourceRef, - TDRSourceSpec, - UserCredentialsProvider, -) -from azul.types import ( - JSON, - JSONs, - MutableJSON, - MutableJSONs, -) -from azul_test_case import ( - AzulTestCase, -) - -log = get_test_logger(__name__) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging(log) - for catalog in config.integration_test_catalogs: - try: - IndexService().create_indices(catalog) - except IndexExistsAndDiffersException: - log.debug('Properties of the catalog %s have changed, the catalog ' - 'will be deleted and recreated', catalog) - IndexService().delete_indices(catalog) - IndexService().create_indices(catalog) - - -class ReadableFileObject(Protocol): - - def read(self, amount: int) -> bytes: ... - - def seek(self, amount: int) -> Any: ... - - -class FileInnerEntity(TypedDict): - uuid: str - version: str - name: str - size: int - - -GET = 'GET' -HEAD = 'HEAD' -PUT = 'PUT' -POST = 'POST' - - -class IntegrationTestCase(AzulTestCase, metaclass=ABCMeta): - min_bundles = 32 - - @cached_property - def azul_client(self): - return AzulClient() - - @property - def index_queue_service(self): - return self.azul_client.index_queue_service - - @property - def index_repository_service(self): - return self.azul_client.index_repository_service - - def repository_plugin(self, catalog: CatalogName) -> RepositoryPlugin: - return self.azul_client.repository_plugin(catalog) - - @cache - def metadata_plugin(self, catalog: CatalogName) -> MetadataPlugin: - return MetadataPlugin.load(catalog).create() - - def setUp(self) -> None: - super().setUp() - # All random operations should be made using this seed so that test - # results are deterministically reproducible - self.random_seed = randint(0, sys.maxsize) - self.random = Random(self.random_seed) - log.info('Using random seed %r', self.random_seed) - - @cached_property - def _tdr_client(self) -> TDRClient: - return TDRClient.for_indexer() - - @cached_property - def _public_tdr_client(self) -> TDRClient: - return TDRClient.for_anonymous_user() - - @cached_property - def _unregistered_tdr_client(self) -> TDRClient: - tdr = TDRClient( - credentials_provider=ServiceAccountCredentialsProvider( - service_account=config.ServiceAccount.unregistered - ) - ) - email = tdr.credentials.service_account_email - self.assertFalse(tdr.is_registered(), - f'The "unregistered" service account ({email!r}) has ' - f'been registered') - # The unregistered service account should not have access to any sources - with self.assertRaises(RequirementError) as cm: - tdr.snapshot_names_by_id() - msg = str(cm.exception) - expected_msg_prefix = f'The service account (SA) {email!r} is not authorized' - self.assertEqual(expected_msg_prefix, msg[:len(expected_msg_prefix)]) - return tdr - - @cached_property - def managed_access_sources_by_catalog(self - ) -> dict[CatalogName, set[TDRSourceRef]]: - public_sources = self._public_tdr_client.snapshot_names_by_id() - all_sources = self._tdr_client.snapshot_names_by_id() - configured_sources = { - catalog: self.repository_plugin(catalog).sources - for catalog in config.integration_test_catalogs - if config.is_tdr_enabled(catalog) - } - managed_access_sources = {catalog: set() for catalog in config.catalogs} - for catalog, specs in configured_sources.items(): - for spec in specs: - source_id = one(id for id, name in all_sources.items() if name == spec.name) - if source_id not in public_sources: - ref = TDRSourceRef(id=source_id, spec=spec) - managed_access_sources[catalog].add(ref) - return managed_access_sources - - def _select_source(self, - catalog: CatalogName, - *, - public: bool | None = None - ) -> SourceRef | None: - """ - Choose an indexed source at random. - - :param catalog: The name of the catalog to select a source from. - - :param public: If none (as by default), allow the source to be either - public or non-public. If true, choose a public source, or - raise an `AssertionError` if the catalog contains no - public sources. If false, choose a non-public source, or - return `None` if the catalog contains no non-public - sources. - """ - plugin = self.repository_plugin(catalog) - sources = set(plugin.sources) - if public is not None: - ma_sources = { - source.spec - # This would raise a KeyError during the can bundle script test - # due to it using a mock catalog, so we only evaluate it when - # it's actually needed - for source in self.managed_access_sources_by_catalog[catalog] - } - self.assertIsSubset(ma_sources, sources) - if public is True: - sources -= ma_sources - elif public is False: - sources &= ma_sources - else: - assert False, public - if len(sources) == 0: - assert public is False, 'An IT catalog must contain at least one public source' - return None - else: - source = self.random.choice(sorted(sources)) - return plugin.resolve_source(source) - - -class IndexingIntegrationTest(IntegrationTestCase): - """ - An integration test case that tests indexing of public and managed-access - metadata from a random selection of bundles, and the expected effects on the - service API. This is our main integration test case. - """ - - #: A vanilla urllib3 HTTP client without authentication or any of the - #: special retry behaviour that we employ for Terra services. Note that - #: IT-specific retries are configured explicitly for each request, no matter - #: which client is used, in the :py:meth:`_get_url_unchecked` method. - #: - _plain_http: urllib3.request.RequestMethods - - #: Depending on the authorization context, this is either the same client as - #: the one refered to by the attribute above, or a client that sends an - #: access token — whose access token also depends on the context. Note that - #: IT-specific retries are configured explicitly for each request, no matter - #: which client is used, in the :py:meth:`_get_url_unchecked` method. - #: - _http: urllib3.request.RequestMethods - - def setUp(self) -> None: - super().setUp() - self._plain_http = http_client(log) - self._http = self._plain_http - - @contextmanager - def subTest(self, msg: Any = None, **params: Any): - log.info('Beginning sub-test [%s] %r', msg, params) - with super().subTest(msg, **params): - try: - yield - except BaseException: - log.info('Failed sub-test [%s] %r', msg, params) - raise - else: - log.info('Successful sub-test [%s] %r', msg, params) - - def test_catalog_listing(self): - response = self._check_endpoint(GET, '/index/catalogs') - response = json.loads(response) - self.assertEqual(config.default_catalog, response['default_catalog']) - self.assertIn(config.default_catalog, response['catalogs']) - # Test the classification of catalogs as internal or not, other - # response properties are covered by unit tests. - expected = { - catalog.name: catalog.internal - for catalog in config.catalogs.values() - } - actual = { - catalog_name: catalog['internal'] - for catalog_name, catalog in response['catalogs'].items() - } - self.assertEqual(expected, actual) - - def test_snapshot_listing(self): - """ - Test with small page sizes to make sure paging works. - """ - # Without a filter, the test takes so long that there's a real risk of - # failure due to new snapshots being added mid-test. - snapshot_filters_by_deployment = { - 'tempdev': 'anvil_', # ~5 snapshots - 'anvildev': 'anvil_', # ~5 snapshots - 'dev': 'hca_dev_5', # ~10 snapshots - 'anvilprod': 'anvil_page_', # ~13 snapshots - 'prod': '_dcp37' # ~13 snapshots - } - filter = snapshot_filters_by_deployment[config.main_deployment_stage] - for page_size in 1, 2: - with self.subTest(page_size=page_size): - with mock.patch.object(TDRClient, 'page_size', page_size): - paged_snapshots = self._tdr_client.snapshot_names_by_id(filter=filter) - snapshots = self._tdr_client.snapshot_names_by_id(filter=filter) - self.assertLess(len(snapshots), 20) - # Show that multiple pages were fetched, via the pigeonhole - # principle, and under the assumption that the TDR client - # correctly implements paging, and doesn't, for example, ignore - # the page size parameter. This test is designed to detect - # problems in the server-side implementation of paging, or our - # understanding of it. There is a unit test - # (test_list_snapshots_paging) dedicated to ensuring that the - # client-side implementation of paging is correct. - self.assertGreater(len(paged_snapshots), page_size) - self.assertEqual(snapshots, paged_snapshots) - - def test_indexing(self): - - @attr.s(auto_attribs=True, kw_only=True) - class Catalog: - name: CatalogName - bundles: set[SourcedBundleFQID] - notifications: list[SQSMessage] - public_source: SourceRef - ma_source: SourceRef | None - - flags = config.it_flags - index, delete = ['no_' + flag not in flags for flag in ['index', 'delete']] - - self._assert_queues_empty(config.indexer_fail_queue_names) - if index: - self._reset_indexer() - else: - log.warning('Will skip indexing due to overriding IT flag.') - - catalogs: list[Catalog] = [] - for catalog in config.integration_test_catalogs: - if index: - public_source = self._select_source(catalog, public=True) - ma_source = self._select_source(catalog, public=False) - sources = alist(public_source, ma_source) - notifications, fqids = self._prepare_notifications(catalog, sources) - else: - with self._service_account_credentials: - fqids = self._get_indexed_bundles(catalog) - indexed_sources = {fqid.source for fqid in fqids} - # FIXME: Improve equality and interning semantics for source ref and spec - # https://github.com/DataBiosphere/azul/issues/6778 - ma_source_ids = {s.id for s in self.managed_access_sources_by_catalog[catalog]} - public_source = one(s for s in indexed_sources if s.id not in ma_source_ids) - ma_source = only(s for s in indexed_sources if s.id in ma_source_ids) - notifications = [] - catalogs.append(Catalog(name=catalog, - bundles=fqids, - notifications=notifications, - public_source=public_source, - ma_source=ma_source)) - - if index: - service = self.index_queue_service - for catalog in catalogs: - service.queue_notifications(catalog.notifications) - self.azul_client.wait_for_indexer() - self._assert_queues_empty(config.indexer_fail_queue_names) - for catalog in catalogs: - self._assert_catalog_complete(catalog=catalog.name, - bundle_fqids=catalog.bundles) - self._test_single_entity_response(catalog=catalog.name) - - for catalog in catalogs: - self._test_manifest(catalog.name) - self._test_manifest_tagging_race(catalog.name) - self._test_dos_and_drs(catalog.name) - self._test_repository_files(catalog.name) - self._test_managed_access(catalog=catalog.name, - public_source=catalog.public_source, - ma_source=catalog.ma_source) - - if index and delete: - # FIXME: Test delete notifications - # https://github.com/DataBiosphere/azul/issues/3548 - if false(): - with self._service_account_credentials: - for catalog in catalogs: - self._assert_catalog_empty(catalog.name) - else: - log.warning('Will skip deletions due to overriding IT flag') - - self._test_other_endpoints() - - if config.enable_mirroring: - self._test_mirroring(delete=delete) - - def _reset_indexer(self): - # While it's OK to erase the integration test catalog, the queues are - # shared by all catalogs and we can't afford to trash them in a stable - # deployment like production. - self.azul_client.reset_indexer(catalogs=config.integration_test_catalogs, - # Can't purge the queues in stable deployment as - # they may contain work for non-IT catalogs. - purge_queues=not config.deployment.is_stable, - delete_indices=True, - create_indices=True) - - def _test_other_endpoints(self): - catalog = config.default_catalog - if config.is_hca_enabled(catalog): - bundle_index, project_index = 'bundles', 'projects' - elif config.is_anvil_enabled(catalog): - bundle_index, project_index = 'biosamples', 'datasets' - else: - assert False, catalog - service_paths = { - '/': None, - '/openapi.json': None, - # the version endpoint is tested separately - '/index/summary': None, - f'/index/{bundle_index}': { - 'filters': json.dumps(self._fastq_filter(catalog)) - }, - f'/index/{project_index}': {'size': 25} - } - service_routes = ( - (config.service_endpoint, path, args) - for path, args in service_paths.items() - ) - health_endpoints = ( - config.service_endpoint, - config.indexer_endpoint - ) - health_paths = ( - '', # default keys for lambda - '/', # all keys - '/basic', - '/elasticsearch', - '/queues', - '/progress', - '/api_endpoints', - '/other_lambdas' - ) - health_routes = ( - (endpoint, '/health' + path, None) - for endpoint in health_endpoints - for path in health_paths - ) - for endpoint, path, args in [*service_routes, *health_routes]: - with self.subTest('other_endpoints', endpoint=endpoint, path=path, args=args): - self._check_endpoint(GET, path, args=args, endpoint=endpoint) - - def _test_manifest(self, catalog: CatalogName): - supported_formats = self.metadata_plugin(catalog).manifest_formats - assert supported_formats - for format in [None, *supported_formats]: - filters = self._manifest_filters(catalog) - execution_ids = set() - coin_flip = bool(self.random.getrandbits(1)) - for i, fetch in enumerate([coin_flip, coin_flip, not coin_flip]): - with self.subTest('manifest', catalog=catalog, format=format, i=i, fetch=fetch): - args = dict(catalog=catalog, filters=json.dumps(filters)) - if format is None: - format = first(supported_formats) - else: - args['format'] = format.value - - # Wrap self._get_url to collect all HTTP responses - _get_url = self._get_url - responses = list() - - def get_url(*args, **kwargs): - response = _get_url(*args, **kwargs) - responses.append(response) - return response - - is_anvil = config.is_anvil_enabled(catalog) - with ( - mock.patch.object(self, '_get_url', new=get_url), - # Include MA files to reduce the chances of an empty - # manifest due to files not matching the filter - self._service_account_credentials if is_anvil else nullcontext() - ): - # Make multiple identical concurrent requests to test - # the idempotence of manifest generation, and its - # resilience against DOS attacks. - - def worker(_): - response = self._check_endpoint(PUT, '/manifest/files', args=args, fetch=fetch) - self._manifest_validators[format](catalog, response) - - # FIXME: Set number of workers back to 3 - # https://github.com/DataBiosphere/azul/issues/6850 - num_workers = 1 - with ThreadPoolExecutor(max_workers=num_workers) as tpe: - results = list(tpe.map(worker, range(num_workers))) - - self.assertEqual([None] * num_workers, results) - - execution_ids.update(self._manifest_execution_ids(responses)) - bucket, key = one(self._manifest_objects(responses)) - if i == 0: - aws.s3.delete_object(Bucket=bucket, Key=key) - # One execution to generate the manifest - self.assertEqual(1, len(execution_ids)) - elif i == 1: - # One more execution to re-generate the manifest - self.assertEqual(2, len(execution_ids)) - elif i == 2: - # Only fetch mode changed, cached manifest will be used, - # and no additional executions are expectect - self.assertEqual(2, len(execution_ids)) - else: - assert False - - def _manifest_filters(self, catalog: CatalogName) -> JSON: - # IT catalogs with just one public source are always indexed completely - # if that source contains less than the minimum number of bundles - # required. So regardless of any randomness employed by this test, - # manifests derived from these catalogs will always be based on the same - # content hash. Since the resulting reuse of cached manifests interferes - # with this test, we need another means of randomizing the manifest key: - # a random but all-inclusive filter. - tibi_byte = 1024 ** 4 - return { - self._file_size_facet(catalog): { - 'within': [[0, tibi_byte + self.random.randint(0, tibi_byte)]] - } - } - - @cached_property - def _manifest_validators(self) -> dict[ManifestFormat, Callable[[str, bytes], None]]: - return { - ManifestFormat.compact: self._check_compact_manifest, - ManifestFormat.terra_pfb: self._check_terra_pfb_manifest, - ManifestFormat.curl: self._check_curl_manifest, - ManifestFormat.verbatim_jsonl: self._check_jsonl_manifest, - ManifestFormat.verbatim_pfb: self._check_terra_pfb_manifest - } - - def _manifest_formats(self, catalog: CatalogName) -> Sequence[ManifestFormat]: - supported_formats = self.metadata_plugin(catalog).manifest_formats - assert supported_formats - return supported_formats - - def _test_manifest_tagging_race(self, catalog: CatalogName): - supported_formats = self._manifest_formats(catalog) - for format in [ManifestFormat.compact, ManifestFormat.curl]: - if format in supported_formats: - with ( - self.subTest('manifest_tagging_race', catalog=catalog, format=format), - # Include MA files in manifest to reduce our chances of - # an empty manifest due to files not matching the filter - self._service_account_credentials - ): - filters = self._manifest_filters(catalog) - manifest_url = config.service_endpoint.set(path='/manifest/files', - args=dict(catalog=catalog, - filters=json.dumps(filters), - format=format.value)) - method = PUT - responses = [] - while True: - response = self._get_url(method, manifest_url) - if response.status == 301: - responses.append(response) - # Request the same manifest without following the - # redirect in order to expose a potential race - # condition that causes an untagged manifest object. - # The race condition could happen when a step - # function execution has finished generating a - # manifest object but is still in the process of - # tagging it. - # - # The more often we make these requests, the more - # likely it is that we catch the execution in this - # racy state. However, we still have to throttle the - # requests in order to prevent tripping the WAF rate - # limit. - rate_limit = config.waf_rate_limit - time.sleep(rate_limit.period / rate_limit.value) - elif response.status == 302: - responses.append(response) - method, manifest_url = GET, furl(response.headers['Location']) - else: - assert response.status == 200, response - self._manifest_validators[format](catalog, response.data) - break - - execution_ids = self._manifest_execution_ids(responses) - self.assertEqual(1, len(execution_ids)) - - def _manifest_execution_ids(self, - responses: list[urllib3.HTTPResponse] - ) -> set[tuple[uuid.UUID, int]]: - urls = self._manifest_urls(responses, status=301) - tokens = {Token.decode(url.path.segments[-1]) for url in urls} - execution_ids = {token.execution_id for token in tokens} - return execution_ids - - def _manifest_objects(self, - responses: list[urllib3.HTTPResponse] - ) -> set[tuple[str, str]]: - urls = self._manifest_urls(responses, status=302) - return { - (url.path.segments[0], '/'.join(url.path.segments[1:])) - for url in urls - if url.netloc == 's3.amazonaws.com' and url.scheme == 'https' - } - - def _manifest_urls(self, - responses: list[urllib3.HTTPResponse], - *, - status: int - ) -> list[furl]: - urls: list[furl] = [] - for response in responses: - if response.status == 200: - if response.headers['Content-Type'] == 'application/json': - body = json.loads(response.data) - if body['Status'] == status: - urls.append(furl(body['Location'])) - elif response.status == status: - urls.append(furl(response.headers['Location'])) - return urls - - def _get_one_inner_file(self, catalog: CatalogName) -> tuple[JSON, FileInnerEntity]: - outer_file = self._get_one_outer_file(catalog) - inner_files: JSONs = outer_file['files'] - inner_file = one(inner_files) - # FIXME: Two AnVIL snapshots with null in anvil_file.file_size column - # https://github.com/DataBiosphere/azul/issues/7243 - if inner_file['size'] is None: - inner_file = dict(inner_file, size=1) - assert isinstance(inner_file['uuid'], str), inner_file - assert isinstance(inner_file['version'], str), inner_file - assert isinstance(inner_file['name'], str), inner_file - assert isinstance(inner_file['size'], int), inner_file - return outer_file, cast(FileInnerEntity, inner_file) - - @cache - def _get_one_outer_file(self, catalog: CatalogName) -> JSON: - # Try to filter for an easy-to-parse format to verify its contents - file_size_facet = self._file_size_facet(catalog) - for filters in [self._fastq_filter(catalog), {}]: - response = self._check_endpoint(method=GET, - path='/index/files', - args=dict(catalog=catalog, - filters=json.dumps(filters), - size=1, - order='asc', - sort=file_size_facet)) - hits = json.loads(response)['hits'] - if hits: - break - else: - self.fail('No files found') - return one(hits) - - def _source_spec(self, catalog: CatalogName, entity: JSON) -> SourceSpec: - if config.is_hca_enabled(catalog): - field = 'sourceSpec' - elif config.is_anvil_enabled(catalog): - field = 'source_spec' - else: - assert False, catalog - return TDRSourceSpec.parse(one(entity['sources'])[field]) - - def _file_size_facet(self, catalog: CatalogName) -> str: - if config.is_hca_enabled(catalog): - return 'fileSize' - elif config.is_anvil_enabled(catalog): - return 'files.file_size' - else: - assert False, catalog - - def _fastq_filter(self, catalog: CatalogName) -> JSON: - if config.is_hca_enabled(catalog): - facet = 'fileFormat' - prefix = '' - elif config.is_anvil_enabled(catalog): - facet = 'files.file_format' - prefix = '.' - else: - assert False, catalog - return {facet: {'is': [f'{prefix}fastq', f'{prefix}fastq.gz']}} - - def _bundle_type(self, catalog: CatalogName) -> EntityType: - if config.is_hca_enabled(catalog): - return 'bundles' - elif config.is_anvil_enabled(catalog): - return 'biosamples' - else: - assert False, catalog - - def _project_type(self, catalog: CatalogName) -> EntityType: - if config.is_hca_enabled(catalog): - return 'projects' - elif config.is_anvil_enabled(catalog): - return 'datasets' - else: - assert False, catalog - - def _uuid_column_name(self, catalog: CatalogName) -> str: - if config.is_hca_enabled(catalog): - return 'bundle_uuid' - elif config.is_anvil_enabled(catalog): - return 'bundles.bundle_uuid' - else: - assert False, catalog - - def _test_dos_and_drs(self, catalog: CatalogName): - if config.is_dss_enabled(catalog) and config.dss_direct_access: - outer_file, inner_file = self._get_one_inner_file(catalog) - source = self._source_spec(catalog, outer_file) - self._test_dos(catalog, inner_file) - self._test_drs(catalog, source, inner_file) - - @property - def _service_account_credentials(self) -> ContextManager: - client = self._service_account_oauth2_client - return self._authorization_context(client) - - @cached_property - def _service_account_oauth2_client(self): - provider = self._tdr_client.credentials_provider - return OAuth2Client(credentials_provider=provider) - - @property - def _public_service_account_credentials(self) -> ContextManager: - client = self._public_service_account_oauth2_client - return self._authorization_context(client) - - @cached_property - def _public_service_account_oauth2_client(self): - provider = self._public_tdr_client.credentials_provider - return OAuth2Client(credentials_provider=provider) - - @property - def _unregistered_service_account_credentials(self) -> ContextManager: - client = self._unregistered_service_account_oauth2_client - return self._authorization_context(client) - - @cached_property - def _unregistered_service_account_oauth2_client(self): - provider = self._unregistered_tdr_client.credentials_provider - return OAuth2Client(credentials_provider=provider) - - @contextmanager - def _authorization_context(self, oauth2_client: OAuth2Client) -> ContextManager: - old_http = self._http - try: - self._http = oauth2_client._http_client - yield - finally: - self._http = old_http - - def _check_endpoint(self, - method: str, - path: str, - *, - args: Mapping[str, Any] | None = None, - endpoint: furl | None = None, - fetch: bool = False - ) -> bytes: - if endpoint is None: - endpoint = config.service_endpoint - args = {} if args is None else {k: str(v) for k, v in args.items()} - url = furl(url=endpoint, path=path, args=args) - if fetch: - url.path.segments.insert(0, 'fetch') - while True: - response = self._get_url(method, url) - self.assertEqual(200, response.status) - response = json.loads(response.data) - status = response['Status'] - self.assertIn(status, {301, 302}) - method, url = GET, furl(response['Location']) - retry_after = response.get('Retry-After') - if retry_after is not None: - log.info('Sleeping %.3fs to honor Retry-After property', retry_after) - time.sleep(retry_after) - if status == 302: - break - return self._get_url_content(method, url) - - def _get_url_json(self, method: str, url: furl) -> JSON: - return json.loads(self._get_url_content(method, url)) - - def _get_url_content(self, method: str, url: furl) -> bytes: - while True: - response = self._get_url(method, url) - if response.status in [301, 302]: - retry_after = response.headers.get('Retry-After') - if retry_after is not None: - retry_after = float(retry_after) - log.info('Sleeping %.3fs to honor Retry-After header', retry_after) - time.sleep(retry_after) - url = furl(response.headers['Location']) - method = GET - else: - return response.data - - def _get_url(self, - method: str, - url: furl, - stream: bool = False - ) -> urllib3.HTTPResponse: - response = self._get_url_unchecked(method, url, stream=stream) - self._assertResponseStatus(response, 200, 301, 302) - return response - - #: Hosts that require an OAuth 2.0 bearer token via the Authorization header - - authenticating_hosts = { - config.sam_service_url.host, - config.tdr_service_url.host, - config.indexer_endpoint.host, - config.service_endpoint.host - } - - def _get_url_unchecked(self, - method: str, - url: furl, - *, - stream: bool = False - ) -> urllib3.HTTPResponse: - method, url, body, headers = self._hoist_parameters(method, url) - # The type of client used will be evident from the logger name in the - # log message. Authenticated requests will be logged by the azul.oauth2 - # module, plain ones will be logged by this module's logger. - if url.host in self.authenticating_hosts: - http = self._http - else: - http = self._plain_http - url = str(url) - response = http.request(method=method, - url=url, - body=body, - headers=headers, - timeout=float(config.api_gateway_lambda_timeout + 1), - preload_content=not stream) - assert isinstance(response, urllib3.HTTPResponse) - return response - - def _hoist_parameters(self, - method: str, - url: furl - ) -> tuple[str, furl, bytes | None, dict | None]: - """ - Pass filters in the body of a POST if passing them in the URL of a GET - makes the URL longer than what AWS allows for edge-optimized APIs. - - https://docs.aws.amazon.com/apigateway/latest/developerguide/limits.html - """ - body: bytes | None = None - headers: dict | None = None - if method in {GET, PUT, POST} and url.netloc == config.service_endpoint.netloc: - limit = 8192 - if len(str(url)) > limit: - url = url.copy() - filters = url.args.pop('filters') - assert len(str(url)) <= limit, (url, limit) - body = json.dumps({'filters': filters}).encode() - headers = {'Content-Type': 'application/json'} - if method == GET: - method = POST - return method, url, body, headers - - def _assertResponseStatus(self, - response: urllib3.HTTPResponse, - expected_status: int, - /, - *expected_statuses: int): - # Using assert to avoid tampering with response content prematurely - # (in case the response is streamed) - assert response.status in [expected_status, *expected_statuses], ( - response.status, - response.reason, - ( - response.data[:1204] - if response.isclosed() else - next(response.stream(amt=1024)) - ) - ) - - def _check_compact_manifest(self, catalog: CatalogName, response: bytes): - self.__check_csv_manifest(BytesIO(response), self._uuid_column_name(catalog)) - - def _check_terra_pfb_manifest(self, _catalog: CatalogName, response: bytes): - # A PFB is an Avro Object Container File, i.e., a stream of Avro objects - # preceded by a schema describing these objects. The internals of the - # format are slightly more complicated and are described in - # - # https://avro.apache.org/docs/1.11.1/specification/#object-container-files - # - reader = fastavro.reader(BytesIO(response)) - # The schema is also an Avro object, specifically a Avro record which - # FastAVRO exposes to us as a JSON object, i.e., a `dict` with string - # keys - record_schema: MutableJSON = reader.writer_schema - # Each object in a PFB is also of type 'record' - self.assertEqual('record', record_schema['type']) - # PFB calls the records *entities*. Unfortunately, the PFB standard is - # afflicted with confusing terminology, so bear with us. - self.assertEqual('Entity', record_schema['name']) - # Each entity record has four fields: `id`, `name`, `object` and - # `relations`. The `object` field holds the actual entity. The `name` - # field, is a string denoting the type of entity. Entities records with - # the same value in the `name` field are expected to contain entities of - # the same shape. Here we extract the declaration of the `object` field - # from the schema: - object_field = one(f for f in record_schema['fields'] if f['name'] == 'object') - # The different shapes, i.e., entity types are defined as members of a - # union type, which manifests in Avro simply as an array of schemas. - # Here we extract each union member and index it into a dictionary for - # easy access by name. - entity_types = {e['name']: e for e in object_field['type']} - self.assertEqual(len(entity_types), len(object_field['type'])) - # The `id` field is a string uniquely identifying an entity among all - # entities of the same shape, i.e., with the same value in the `name` - # field of the containing record. The `relations` field holds references - # to other entities, as an array of nested Avro records, each record - # containing the `name` and `id` of the referenced entity. - record_fqids = set() - relations = set() - for record in reader: - # Every record must follow the schema. Since each record's `object` - # field contains an entity, the schema check therefore extends to - # the various entity types. - fastavro.validate(record, record_schema) - object = cast(MutableJSON, record['object']) - record_id, record_name = record['id'], record['name'] - record_fqids.add((record_name, record_id)) - if len(record_fqids) == 1: - # PFB requires a special `Metadata` entity to occur first. It is - # used to declare the relations between entity types, thereby - # expressing additional constraints on the `relations` field. - self.assertEqual('Metadata', record_name) - self.assertIsNone(record_id) - nodes = cast(MutableJSONs, object['nodes']) - for node in nodes: - for link in node['links']: - self.assertIn(link['dst'], entity_types) - # The following is redundant given the schema validation above but - # we'll leave it in for illustration. - fields = entity_types[record_name]['fields'] - fields_present = set(object.keys()) - fields_expected = set(f['name'] for f in fields) - self.assertEqual(fields_present, fields_expected) - for relation in cast(MutableJSONs, record['relations']): - relations.add((relation['dst_name'], relation['dst_id'])) - # We expect to observe the special `Metadata` entity record and at least - # one additional entity record - self.assertGreater(len(record_fqids), 1) - # Terra will reject the handover if a relation references a record that - # isn't present in the manifest - self.assertIsSubset(relations, record_fqids) - - def _read_csv_manifest(self, file: IO[bytes]) -> csv.DictReader: - text = TextIOWrapper(file) - return csv.DictReader(text, delimiter='\t') - - def __check_csv_manifest(self, - file: IO[bytes], - uuid_column_name: str - ) -> list[Mapping[str, str]]: - reader = self._read_csv_manifest(file) - rows = list(reader) - log.info(f'Manifest contains {len(rows)} rows.') - self.assertGreater(len(rows), 0) - self.assertIn(uuid_column_name, reader.fieldnames) - bundle_uuids = rows[0][uuid_column_name].split(ManifestGenerator.padded_joiner) - self.assertGreater(len(bundle_uuids), 0) - for bundle_uuid in bundle_uuids: - self.assertEqual(bundle_uuid, str(uuid.UUID(bundle_uuid))) - return rows - - def _check_curl_manifest(self, _catalog: CatalogName, response: bytes): - text = TextIOWrapper(BytesIO(response)) - # Skip over empty lines, comments and curl configurations to count and - # verify that all the remaining lines are pairs of 'url=' and 'output=' - # lines. - lines = ( - line - for line in text - if not (line == '\n' or line.startswith('--') or line.startswith('#')) - ) - num_files = 0 - for url, output in grouper(lines, 2): - num_files += 1 - self.assertTrue(url.startswith('url='), url) - self.assertTrue(output.startswith('output='), output) - log.info(f'Manifest contains {num_files} files.') - self.assertGreater(num_files, 0) - - def _check_jsonl_manifest(self, _catalog: CatalogName, response: bytes): - text = TextIOWrapper(BytesIO(response)) - num_replicas = 0 - for line in text: - json.loads(line) - num_replicas += 1 - log.info('Manifest contains %d replicas', num_replicas) - self.assertGreater(num_replicas, 0) - - def _test_repository_files(self, catalog: CatalogName): - with self.subTest('repository_files', catalog=catalog): - outer_file, inner_file = self._get_one_inner_file(catalog) - source = self._source_spec(catalog, outer_file) - file_uuid, file_version = inner_file['uuid'], inner_file['version'] - endpoint_url = config.service_endpoint - file_url = endpoint_url.set(path=f'/fetch/repository/files/{file_uuid}', - args=dict(catalog=catalog, - version=file_version)) - response = self._get_url_unchecked(GET, file_url) - if response.status == 404: - response = json.loads(response.data) - # Phantom files lack DRS URIs and cannot be downloaded - self.assertEqual('NotFoundError', response['Code']) - self.assertEqual(response['Message'], - f'File {file_uuid!r} with version {file_version!r} ' - f'was found in catalog {catalog!r}, ' - f'however no download is currently available') - else: - self.assertEqual(200, response.status) - response = json.loads(response.data) - while response['Status'] != 302: - self.assertEqual(301, response['Status']) - self.assertNotIn('Retry-After', response) - response = self._get_url_json(GET, furl(response['Location'])) - self.assertNotIn('Retry-After', response) - response = self._get_url(GET, furl(response['Location']), stream=True) - self._validate_file_response(response, source, inner_file) - - def _file_ext(self, file: FileInnerEntity) -> str: - # We believe that the file extension is a more reliable indicator than - # the `format` metadata field. Note that this method preserves multipart - # extensions and includes the leading '.', so the extension of - # "foo.fastq.gz" is ".fastq.gz" instead of "gz" - suffixes = PurePath(file['name']).suffixes - return ''.join(suffixes).lower() - - def _validate_file_content(self, content: ReadableFileObject, file: FileInnerEntity): - file_ext = self._file_ext(file) - if file_ext == '.fastq': - self._validate_fastq_content(content) - elif file_ext == '.fastq.gz': - with gzip.open(content) as buf: - self._validate_fastq_content(buf) - else: - self.assertEqual(1 if file['size'] > 0 else 0, len(content.read(1))) - - def _validate_file_response(self, - response: urllib3.HTTPResponse, - source: SourceSpec, - file: FileInnerEntity): - """ - Note: The response object must have been obtained with stream=True - """ - try: - special = 'ANVIL_1000G_2019_Dev_20230609_ANV5_202306121732' - if isinstance(source, TDRSourceSpec) and source.name == special: - # All files in this snapshot were truncated to zero bytes by the - # Broad to save costs. The metadata is not a reliable indication - # of these files' actual size. - self.assertEqual(response.headers['Content-Length'], '0') - else: - self._validate_file_content(response, file) - finally: - response.close() - - def _test_drs(self, - catalog: CatalogName, - source: SourceSpec, - file: FileInnerEntity - ) -> None: - repository_plugin = self.azul_client.repository_plugin(catalog) - drs = repository_plugin.drs_client() - for access_method in AccessMethod: - with self.subTest('drs', catalog=catalog, access_method=AccessMethod.https): - log.info('Resolving file %r with DRS using %r', file['uuid'], access_method) - drs_uri = f'drs://{config.api_lambda_domain("service")}/{file["uuid"]}' - access = drs.get_object(drs_uri, access_method=access_method) - self.assertIsNone(access.headers) - if access.method is AccessMethod.https: - response = self._get_url(GET, furl(access.url), stream=True) - self._validate_file_response(response, source, file) - elif access.method is AccessMethod.gs: - content = self._get_gs_url_content(furl(access.url), size=self.num_fastq_bytes) - self._validate_file_content(content, file) - else: - self.fail(access_method) - - def _test_dos(self, catalog: CatalogName, file: FileInnerEntity): - with self.subTest('dos', catalog=catalog): - log.info('Resolving file %s with DOS', file['uuid']) - response = self._check_endpoint(method=GET, - path=drs.dos_object_url_path(file['uuid']), - args=dict(catalog=catalog)) - json_data = json.loads(response)['data_object'] - file_url = first(json_data['urls'])['url'] - while True: - with self._get_url(method=GET, - url=file_url, - stream=True - ) as response: - if response.status in (301, 302): - file_url = response.headers['Location'] - try: - retry_after = response.headers['Retry-After'] - except KeyError: - pass - else: - time.sleep(int(retry_after)) - else: - break - self._assertResponseStatus(response, 200) - self._validate_file_content(response, file) - - def _get_gs_url_content(self, - url: furl, - size: int | None = None - ) -> BytesIO: - self.assertEqual('gs', url.scheme) - path = os.environ['GOOGLE_APPLICATION_CREDENTIALS'] - credentials = service_account.Credentials.from_service_account_file(path) - storage_client = storage.Client(credentials=credentials) - content = BytesIO() - storage_client.download_blob_to_file(str(url), content, start=0, end=size) - return content - - num_fastq_bytes = 1024 * 1024 - - def _validate_fastq_content(self, content: ReadableFileObject): - # Check signature of FASTQ file. - fastq = content.read(self.num_fastq_bytes) - lines = fastq.splitlines() - # Assert first character of first and third line of file (see https://en.wikipedia.org/wiki/FASTQ_format). - self.assertTrue(lines[0].startswith(b'@')) - self.assertTrue(lines[2].startswith(b'+')) - - def _prepare_notifications(self, - catalog: CatalogName, - sources: Iterable[SourceRef] - ) -> tuple[list[SQSMessage], set[SourcedBundleFQID]]: - plugin = self.repository_plugin(catalog) - queue_service = self.index_queue_service - repository_service = self.index_repository_service - bundle_fqids, notifications = set(), [] - for source in sources: - source = plugin.partition_source_for_indexing(catalog, source) - # Some partitions may be empty, but we include them anyway to - # ensure test coverage for handling multiple partitions per source - for prefix in source.spec.prefix.partition_prefixes(): - partition = repository_service.list_bundles(catalog, source, prefix) - bundle_fqids.update(partition) - message = queue_service.index_partition_message(catalog, source, prefix) - notifications.append(message) - # Index some bundles again to test that we handle duplicate additions. - # Note: random.choices() may pick the same element multiple times so - # some notifications may end up being sent three or more times. - num_duplicates = len(bundle_fqids) // 2 - duplicate_bundles = [ - queue_service.index_bundle_message(IndexAction.add, catalog, bundle.to_json()) - for bundle in self.random.choices(sorted(bundle_fqids), k=num_duplicates) - ] - notifications.extend(duplicate_bundles) - return notifications, bundle_fqids - - def _get_indexed_bundles(self, - catalog: CatalogName, - filters: JSON | None = None - ) -> set[SourcedBundleFQID]: - indexed_fqids = set() - hits = self._get_entities(catalog, 'bundles', filters) - special_fields = self.metadata_plugin(catalog).special_fields - for hit in hits: - source, bundle = one(hit['sources']), one(hit['bundles']) - source = dict(id=source[special_fields.source_id], - spec=source[special_fields.source_spec]) - source = self.repository_plugin(catalog).source_ref_cls.from_json(source) - bundle_fqid = SourcedBundleFQID(uuid=bundle[special_fields.bundle_uuid], - version=bundle[special_fields.bundle_version], - source=source) - indexed_fqids.add(bundle_fqid) - return indexed_fqids - - def _assert_catalog_complete(self, - catalog: CatalogName, - bundle_fqids: set[SourcedBundleFQID] - ) -> None: - with self.subTest('catalog_complete', catalog=catalog): - expected_fqids = bundle_fqids - if config.is_anvil_enabled(catalog): - # Replica bundles do not add contributions to the index and - # therefore do not appear anywhere in the service response - # FIXME: Integration test does not assert that replica bundles are indexed - # https://github.com/DataBiosphere/azul/issues/6647 - replica_fqids = { - bundle_fqid - for bundle_fqid in expected_fqids - if cast(TDRAnvilBundleFQID, bundle_fqid).table_name not in ( - BundleType.primary.value, - BundleType.supplementary.value, - BundleType.duos.value, - ) - } - expected_fqids -= replica_fqids - log.info('Ignoring replica bundles %r', replica_fqids) - else: - service = self.index_repository_service - expected_fqids = set(service.filter_obsolete_bundle_versions(expected_fqids)) - obsolete_fqids = bundle_fqids - expected_fqids - if obsolete_fqids: - log.debug('Ignoring obsolete bundle versions %r', obsolete_fqids) - num_bundles = len(expected_fqids) - timeout = 600 - log.debug('Expecting bundles %s ', sorted(expected_fqids)) - retries = 0 - deadline = time.time() + timeout - while True: - with self._service_account_credentials: - indexed_fqids = self._get_indexed_bundles(catalog) - log.info('Detected %i of %i bundles on try #%i.', - len(indexed_fqids), num_bundles, retries) - if len(indexed_fqids) == num_bundles: - log.info('Found the expected %i bundles.', num_bundles) - break - elif len(indexed_fqids) > num_bundles: - log.error('Found %i bundles, more than the expected %i.', - len(indexed_fqids), num_bundles) - break - elif time.time() > deadline: - log.error('Only found %i of %i bundles in under %i seconds.', - len(indexed_fqids), num_bundles, timeout) - break - else: - retries += 1 - time.sleep(5) - self.assertSetEqual(indexed_fqids, expected_fqids) - - def _test_single_entity_response(self, - catalog: CatalogName - ) -> None: - entity_type = 'files' - with self.subTest('single_entity', entity_type=entity_type, catalog=catalog): - entity_id = self._get_one_outer_file(catalog)['entryId'] - url = config.service_endpoint.set(path=('index', entity_type, entity_id), - args=dict(catalog=catalog)) - hit = self._get_url_json(GET, url) - self.assertEqual(entity_id, hit['entryId']) - - entity_types = ['files', 'projects', 'samples', 'bundles'] - - def _assert_catalog_empty(self, catalog: CatalogName): - for entity_type in self.entity_types: - with self.subTest('catalog_empty', - catalog=catalog, - entity_type=entity_type): - hits = self._get_entities(catalog, entity_type) - self.assertEqual([], [hit['entryId'] for hit in hits]) - - def _assert_queues_empty(self, queue_names: list[str]) -> None: - for queue_name in queue_names: - self.assertTrue(self.azul_client.is_queue_empty(queue_name)) - - def _get_entities(self, - catalog: CatalogName, - entity_type: EntityType, - filters: JSON | None = None - ) -> MutableJSONs: - entities = [] - size = 100 - params = dict(catalog=catalog, - size=str(size), - filters=json.dumps(filters if filters else {})) - url = config.service_endpoint.set(path=('index', entity_type), - query_params=params) - while True: - body = self._get_url_json(GET, url) - hits = body['hits'] - entities.extend(hits) - url = body['pagination']['next'] - if url is None: - return entities - else: - url = furl(url) - - def _assert_indices_exist(self, catalog: CatalogName): - """ - Aside from checking that all indices exist this method also asserts - that we can instantiate a local ES client pointing at a real, remote - ES domain. - """ - es_client = ESClientFactory.get() - service = IndexService() - for index_name in service.index_names(catalog): - self.assertTrue(es_client.indices.exists(index=str(index_name))) - - def _test_managed_access(self, - catalog: CatalogName, - public_source: SourceRef, - ma_source: SourceRef | None, - ) -> None: - with self.subTest('managed_access', catalog=catalog): - if ma_source is None: - if config.deployment_stage in ('dev', 'sandbox'): - # There should always be at least one managed-access source - # indexed and tested on the default catalog for these deployments - self.assertNotEqual(catalog, config.it_catalog_for(config.default_catalog)) - self.skipTest(f'No managed access sources found in catalog {catalog!r}') - with self.subTest('managed_access_indices', catalog=catalog): - self._test_managed_access_indices(catalog, public_source, ma_source) - with self.subTest('managed_access_repository_files', catalog=catalog): - files = self._test_managed_access_repository_files(catalog, ma_source) - with self.subTest('managed_access_summary', catalog=catalog): - self._test_managed_access_summary(catalog, files) - with self.subTest('managed_access_repository_sources', catalog=catalog): - self._test_managed_access_repository_sources(catalog, - public_source, - ma_source) - with self.subTest('managed_access_manifest', catalog=catalog): - self._test_managed_access_manifest(catalog, files, public_source) - - def _test_managed_access_repository_sources(self, - catalog: CatalogName, - public_source: SourceRef, - ma_source: SourceRef - ) -> None: - """ - Test the managed access controls for the /repository/sources endpoint - :return: the set of public sources - """ - url = config.service_endpoint.set(path='/repository/sources', - query={'catalog': catalog}) - - def list_source_ids() -> set[str]: - response = self._get_url_json(GET, url) - return {source['sourceId'] for source in cast(JSONs, response['sources'])} - - with self._service_account_credentials: - self.assertIsSubset({public_source.id, ma_source.id}, list_source_ids()) - with self._public_service_account_credentials: - public_source_ids = list_source_ids() - self.assertIn(public_source.id, public_source_ids) - self.assertNotIn(ma_source.id, public_source_ids) - with self._unregistered_service_account_credentials: - self.assertEqual(public_source_ids, list_source_ids()) - self.assertEqual(public_source_ids, list_source_ids()) - invalid_auth = OAuth2('foo') - with self.assertRaises(UnauthorizedError): - TDRClient.for_registered_user(invalid_auth) - invalid_provider = UserCredentialsProvider(invalid_auth) - invalid_client = OAuth2Client(credentials_provider=invalid_provider) - with self._authorization_context(invalid_client): - self.assertEqual(401, self._get_url_unchecked(GET, url).status) - - def _test_managed_access_indices(self, - catalog: CatalogName, - public_source: SourceRef, - ma_source: SourceRef - ) -> JSONs: - """ - Test the managed-access controls for the /index/bundles and - /index/projects endpoints - - :return: hits for the managed-access bundles - """ - - special_fields = self.metadata_plugin(catalog).special_fields - bundle_type = self._bundle_type(catalog) - project_type = self._project_type(catalog) - - unfiltered_hits = None - for accessible in None, False, True: - with self.subTest(accessible=accessible): - filters = None if accessible is None else { - special_fields.accessible: {'is': [accessible]} - } - hits = self._get_entities(catalog, project_type, filters=filters) - if accessible is None: - unfiltered_hits = hits - for hit in hits: - source_id = one(hit['sources'])[special_fields.source_id] - source_accessible = {public_source.id: True, ma_source.id: False}[source_id] - hit_accessible = one(hit[project_type])[special_fields.accessible] - self.assertEqual(source_accessible, hit_accessible, hit['entryId']) - if accessible is not None: - self.assertEqual(accessible, hit_accessible) - self.assertIsNotNone(unfiltered_hits, 'Cannot recover from subtest failure') - - bundle_fqids = self._get_indexed_bundles(catalog) - hit_source_ids = {fqid.source.id for fqid in bundle_fqids} - self.assertEqual(hit_source_ids, {public_source.id}) - - source_filter = { - special_fields.source_id: { - 'is': [ma_source.id] - } - } - params = { - 'filters': json.dumps(source_filter), - 'catalog': catalog - } - url = config.service_endpoint.set(path=('index', bundle_type), args=params) - response = self._get_url_unchecked(GET, url) - self.assertEqual(403, response.status) - - with self._service_account_credentials: - bundle_fqids = self._get_indexed_bundles(catalog, filters=source_filter) - hit_source_ids = {fqid.source.id for fqid in bundle_fqids} - self.assertEqual({ma_source.id}, hit_source_ids) - - return unfiltered_hits - - def _test_managed_access_repository_files(self, - catalog: CatalogName, - ma_source: SourceRef - ) -> JSONs: - """ - Test the managed access controls for the /repository/files endpoint - :return: Managed access file hits - """ - special_fields = self.metadata_plugin(catalog).special_fields - with self._service_account_credentials: - files = self._get_entities(catalog, 'files', filters={ - special_fields.source_id: { - 'is': [ma_source.id] - } - }) - managed_access_file_urls = { - one(file['files'])['url'] - for file in files - } - file_url = furl(self.random.choice(sorted(managed_access_file_urls))) - response = self._get_url_unchecked(GET, file_url) - self.assertEqual(404, response.status) - with self._service_account_credentials: - response = self._get_url_unchecked(GET, file_url) - self.assertIn(response.status, (301, 302)) - return files - - def _test_managed_access_summary(self, - catalog: CatalogName, - managed_access_files: JSONs - ) -> None: - """ - Test the managed access controls for the /index/summary endpoint - """ - params = {'catalog': catalog} - summary_url = config.service_endpoint.set(path='/index/summary', args=params) - - def _get_summary_file_count() -> int: - return self._get_url_json(GET, summary_url)['fileCount'] - - public_summary_file_count = _get_summary_file_count() - with self._service_account_credentials: - auth_summary_file_count = _get_summary_file_count() - self.assertEqual(auth_summary_file_count, - public_summary_file_count + len(managed_access_files)) - - def _test_managed_access_manifest(self, - catalog: CatalogName, - files: JSONs, - public_source: SourceRef - ) -> None: - """ - Test the managed access controls for the /manifest/files endpoint and - the cURL manifest file download - """ - endpoint = config.service_endpoint - - metadata_plugin = self.metadata_plugin(catalog) - special_fields = metadata_plugin.special_fields - - def bundle_uuids(hit: JSON) -> set[str]: - return { - bundle[special_fields.bundle_uuid] - for bundle in hit['bundles'] - } - - managed_access_bundles = set.union(*( - bundle_uuids(file) - for file in files - if len(file['sources']) == 1 - )) - filters = {special_fields.source_id: {'is': [public_source.id]}} - params = {'size': 1, 'catalog': catalog, 'filters': json.dumps(filters)} - files_url = furl(url=endpoint, path='index/files', args=params) - response = self._get_url_json(GET, files_url) - public_bundle = self.random.choice(sorted(bundle_uuids(one(response['hits'])))) - self.assertNotIn(public_bundle, managed_access_bundles) - all_bundles = {public_bundle, *managed_access_bundles} - - filters = { - special_fields.bundle_uuid: { - 'is': list(all_bundles) - } - } - params = {'catalog': catalog, 'filters': json.dumps(filters)} - manifest_url = furl(url=endpoint, path='/manifest/files', args=params) - - def test_compact_manifest(expected_bundles): - manifest = BytesIO(self._get_url_content(PUT, manifest_url)) - manifest_rows = self._read_csv_manifest(manifest) - uuid_column_name = self._uuid_column_name(catalog) - all_found_bundles = set() - for row in manifest_rows: - row_bundles = set(row[uuid_column_name].split(ManifestGenerator.padded_joiner)) - # It's possible for one file to be present in multiple - # bundles (e.g. due to stitching), so each row may include - # additional bundles besides those included in the filters. - # However, we still shouldn't observe any files that don't - # occur in *any* of the expected bundles. - found_bundles = row_bundles & expected_bundles - self.assertNotEqual(set(), found_bundles) - all_found_bundles.update(found_bundles) - self.assertEqual(expected_bundles, all_found_bundles) - - # With authorized credentials, all bundles included in the filters - # should be represented in the manifest - with self._service_account_credentials: - test_compact_manifest(all_bundles) - - # Without credentials, only the public bundle should be represented - test_compact_manifest({public_bundle}) - - def read_verbatim_jsonl_manifest(manifest: IO) -> set[JSON]: - manifest_lines = manifest.readlines() - manifest_content = { - freeze(json.loads(replica)) - for replica in manifest_lines - } - self.assertEqual(len(manifest_lines), len(manifest_content)) - return manifest_content - - def read_verbatim_pfb_manifest(manifest: IO) -> set[str]: - entities = list(fastavro.reader(manifest)) - manifest_content = { - # We can't assert the full contents of each entity because the - # schema changes depending on the filters used. - # FIXME: Generate Avro schema from AnVIL schema - # https://github.com/DataBiosphere/azul/issues/6109 - entity['id'] - for entity in entities - # The special "Metadata" entity is always present. Dropping it - # from the result streamlines the set logic used in the - # assertion below. - if entity['name'] != 'Metadata' - } - return manifest_content - - def get_verbatim_manifest(format: ManifestFormat, - bundles: Iterable[str], - ) -> set: - manifest_url = furl(url=endpoint, path='/manifest/files', args={ - 'catalog': catalog, - 'format': format.value, - 'filters': json.dumps({special_fields.bundle_uuid: {'is': list(bundles)}}) - }) - content = BytesIO(self._get_url_content(PUT, manifest_url)) - return { - ManifestFormat.verbatim_jsonl: read_verbatim_jsonl_manifest, - ManifestFormat.verbatim_pfb: read_verbatim_pfb_manifest - }[format](content) - - for format in ManifestFormat.verbatim_jsonl, ManifestFormat.verbatim_pfb: - if format in metadata_plugin.manifest_formats: - with self.subTest(format=format): - unauthorized = get_verbatim_manifest(format, all_bundles) - with self._service_account_credentials: - authorized = get_verbatim_manifest(format, all_bundles) - private_only = get_verbatim_manifest(format, managed_access_bundles) - self.assertSetEqual(private_only, authorized - unauthorized) - - if ManifestFormat.curl in metadata_plugin.manifest_formats: - # Create a single-file curl manifest and verify that the OAuth2 - # token is present on the command line - managed_access_file_id = one(self.random.choice(files)['files'])['uuid'] - filters = {'fileId': {'is': [managed_access_file_id]}} - manifest_url.set(args=dict(catalog=catalog, - filters=json.dumps(filters), - format='curl')) - method = PUT - while True: - with self._service_account_credentials: - response = self._get_url_unchecked(method, manifest_url) - if response.status == 302: - break - else: - self.assertEqual(response.status, 301) - time.sleep(float(response.headers['Retry-After'])) - manifest_url = furl(response.headers['Location']) - method = GET - token = self._tdr_client.credentials.token - expected_auth_header = f'Authorization: Bearer {token}'.encode() - command_lines = list(filter(None, response.data.split(b'\n')))[1::2] - for command_line in command_lines: - self.assertIn(expected_auth_header, command_line) - - def _test_mirroring(self, *, delete: bool): - with self.subTest('mirror_files'): - catalogs = [ - c.name - for c in config.catalogs.values() - if c.is_integration_test_catalog and c.atlas == 'hca' - ] - sources_by_catalog = { - catalog: [self._select_source(catalog, public=True)] - for catalog in catalogs - } - - def _delete(): - if delete: - # This potentially causes redundant ListObjects requests, - # since each IT catalog currently uses the same mirror - # prefix and bucket - for catalog in catalogs: - BaseMirrorService(catalog=catalog).delete_it_files() - - self._assert_queues_empty([config.mirror_queue.name, - config.mirror_queue.to_fail.name]) - _delete() - for _ in range(2): - for catalog, sources in sources_by_catalog.items(): - self.azul_client.remote_mirror(catalog, sources) - self.azul_client.wait_for_mirroring() - self._assert_queues_empty([config.mirror_queue.to_fail.name]) - _delete() - - -class AzulClientIntegrationTest(IntegrationTestCase): - - def test_azul_client_error_handling(self): - invalid_notification = {} - notifications = [invalid_notification] - self.assertRaises(AzulClientNotificationError, - self.azul_client.index, - first(config.integration_test_catalogs), - notifications) - - -class OpenAPIIntegrationTest(AzulTestCase): - - def test_openapi(self): - for component, url in [ - ('service', config.service_endpoint), - ('indexer', config.indexer_endpoint) - ]: - with self.subTest(component=component): - url.set(path='/') - response = requests.get(str(url)) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.headers['content-type'], 'text/html') - self.assertGreater(len(response.content), 0) - # validate OpenAPI spec - url.set(path='/openapi.json') - response = requests.get(str(url)) - response.raise_for_status() - spec = response.json() - validate(spec) - - -class AzulChaliceLocalIntegrationTest(AzulTestCase): - url = furl(scheme='http', host='127.0.0.1', port=8000) - server = None - server_thread = None - - @classmethod - def setUpClass(cls) -> None: - super().setUpClass() - app_module = load_app_module('service') - app_dir = os.path.dirname(app_module.__file__) - factory = chalice.cli.factory.CLIFactory(app_dir) - config = factory.create_config_obj() - cls.server = factory.create_local_server(app_obj=app_module.app, - config=config, - host=cls.url.host, - port=cls.url.port) - cls.server_thread = threading.Thread(target=cls.server.server.serve_forever) - cls.server_thread.start() - - @classmethod - def tearDownClass(cls) -> None: - cls.server.shutdown() - cls.server_thread.join() - super().tearDownClass() - - def test_local_chalice(self): - response = requests.get(str(self.url)) - self.assertEqual(200, response.status_code) - - def test_local_chalice_health_endpoint(self): - url = str(self.url.copy().set(path='health')) - response = requests.get(url) - self.assertEqual(200, response.status_code) - - catalog = first(config.integration_test_catalogs) - - def test_local_chalice_index_endpoints(self): - url = str(self.url.copy().set(path='index/files', - query=dict(catalog=self.catalog))) - response = requests.get(url) - self.assertEqual(200, response.status_code, response.content) - - def test_local_filtered_index_endpoints(self): - if config.is_hca_enabled(self.catalog): - species_facet = 'genusSpecies' - elif config.is_anvil_enabled(self.catalog): - species_facet = 'donors.organism_type' - else: - assert False, self.catalog - filters = {species_facet: {'is': ['Homo sapiens']}} - url = str(self.url.copy().set(path='index/files', - query=dict(filters=json.dumps(filters), - catalog=self.catalog))) - response = requests.get(url) - self.assertEqual(200, response.status_code, response.content) - - -class CanBundleScriptIntegrationTest(IntegrationTestCase): - - def _test_catalog(self, catalog: config.Catalog): - fqid = self.bundle_fqid(catalog.name) - log.info('Canning bundle %r from catalog %r', fqid, catalog.name) - with tempfile.TemporaryDirectory() as d: - self._can_bundle(fqid, output_dir=d) - generated_file = one(os.listdir(d)) - with open(os.path.join(d, generated_file)) as f: - bundle_json = json.load(f) - - metadata_plugin_name = catalog.plugins['metadata'].name - if metadata_plugin_name == 'hca': - self.assertEqual({'manifest', - 'metadata', - 'links', - 'stitched'}, bundle_json.keys()) - manifest = bundle_json['manifest'] - metadata = bundle_json['metadata'] - links = bundle_json['links'] - stitched = bundle_json['stitched'] - self.assertIsInstance(manifest, dict) - self.assertIsInstance(metadata, dict) - self.assertIsInstance(links, dict) - self.assertIsInstance(stitched, list) - metadata_ids = { - EntityReference.parse(ref).entity_id - for ref in metadata.keys() - } - self.assertIsSubset(set(stitched), metadata_ids) - elif metadata_plugin_name == 'anvil': - self.assertEqual({'entities', 'links', 'orphans'}, bundle_json.keys()) - entities, links = bundle_json['entities'], bundle_json['links'] - self.assertIsInstance(entities, dict) - self.assertIsInstance(links, list) - entities = set(map(EntityReference.parse, entities.keys())) - for link in map(EntityLink.from_json, links): - self.assertGreater(len(link.inputs), 0) - self.assertGreater(len(link.outputs), 0) - # Since we know the links' inputs and outputs are nonempty, - # this also validates that bundles containing only orphans - # contain no links. - self.assertIsSubset(link.all_entities, entities) - else: - assert False, metadata_plugin_name - - def test_can_bundle_configured_catalogs(self): - for catalog_name, catalog in config.catalogs.items(): - if catalog.is_integration_test_catalog: - with self.subTest(catalog=catalog.name, - repository=catalog.plugins['repository']): - self._test_catalog(catalog) - - def test_can_bundle_canned_repository(self): - mock_catalog = config.Catalog(name='canned-it', - atlas='hca', - internal=True, - plugins={ - 'metadata': config.Catalog.Plugin(name='hca'), - 'repository': config.Catalog.Plugin(name='canned'), - }, - sources={ - 'https://github.com/HumanCellAtlas/schema-test-data/tree/master/tests:/0' - }) - with mock.patch.object(Config, - 'catalogs', - new=PropertyMock(return_value={ - mock_catalog.name: mock_catalog - })): - self._test_catalog(mock_catalog) - - def bundle_fqid(self, catalog: CatalogName) -> SourcedBundleFQID: - source = self._select_source(catalog) - # The plugin will raise an exception if the source lacks a prefix - source = source.with_prefix(Prefix.of_everything) - bundle_fqids = self.azul_client.index_repository_service.list_bundles(catalog, source, prefix='') - return self.random.choice(sorted(bundle_fqids)) - - def _can_bundle(self, - fqid: SourcedBundleFQID, - output_dir: str - ) -> None: - args = [ - '--uuid', fqid.uuid, - '--version', fqid.version, - '--source', str(fqid.source.spec), - *( - [ - '--table-name', fqid.table_name, - '--batch-prefix', 'null' if fqid.batch_prefix is None else fqid.batch_prefix, - ] - if isinstance(fqid, TDRAnvilBundleFQID) else - [] - ), - '--output-dir', output_dir, - ] - return self._can_bundle_main(args) - - @cached_property - def _can_bundle_main(self) -> Callable[[Sequence[str]], None]: - can_bundle = load_script('can_bundle') - return can_bundle.main - - -class SwaggerResourceIntegrationTest(AzulTestCase): - - def test(self): - http = http_client(log) - for component, base_url in [ - ('service', config.service_endpoint), - ('indexer', config.indexer_endpoint) - ]: - for file, expected_status in [ - ('swagger-ui.css', 200), - ('does-not-exist', 404), - ('../environ.json', 403), - ('../does-not-exist', 403), - # Normally the next two paths would return a 400, however the - # WAF rule group CommonRuleSet now catches and blocks these - ('..%2Fenviron.json', 403), - ('..%2Fdoes-not-exist', 403), - ]: - with self.subTest(component=component, file=file): - response = http.request(GET, str(base_url / 'swagger' / file)) - self.assertEqual(expected_status, response.status) - - -class DeployedVersionIntegrationTest(AzulTestCase): - - def test_version(self): - local_status = config.git_status - for component, endpoint in [ - ('service', config.service_endpoint), - ('indexer', config.indexer_endpoint) - ]: - endpoint.set(path='/version') - response = requests.get(str(endpoint)) - self.assertEqual(response.status_code, 200) - lambda_status = response.json()['git'] - self.assertEqual(local_status, lambda_status) - - -class DisableAutomaticIndexCreationTest(IntegrationTestCase): - - def test(self): - es = ESClientFactory.get() - index_name = 'no-auto-create-' + self.random.randbytes(4).hex() + '-it' - try: - with self.assertRaises(opensearchpy.exceptions.NotFoundError) as cm: - es.index(index=index_name, body={'foo': 'bar'}) - expected = ('no such index [' + index_name + ']') - self.assertEqual(expected, cm.exception.args[2]['error']['reason']) - finally: - if es.indices.exists(index=index_name): - es.indices.delete(index=[index_name]) - - -class ResponseHeadersTest(AzulTestCase): - - def test_response_security_headers(self): - no_cache = 'no-store' - short_cache = 'public, max-age=60, must-revalidate' - long_cache = 'public, max-age=86400, must-revalidate' - test_cases = { - '/swagger/index.html': long_cache, - '/swagger/swagger-initializer.js': short_cache, - '/swagger/swagger-ui.css': long_cache, - '/openapi.json': short_cache, - '/oauth2_redirect': no_cache, - '/health/basic': no_cache - } - for endpoint in (config.service_endpoint, config.indexer_endpoint): - for path, cache_control in test_cases.items(): - with self.subTest(endpoint=endpoint, path=path): - if path == '/oauth2_redirect' and endpoint == config.indexer_endpoint: - pass # no oauth2 endpoint on indexer Lambda - else: - response = requests.get(str(endpoint / path)) - response.raise_for_status() - actual_csp = response.headers['Content-Security-Policy'] - parsed_csp = CSP.parse(actual_csp) - parsed_csp.validate() - nonce = parsed_csp.nonce() - # We only expect a CSP nonce for specific endpoints. - self.assertIs(nonce is None, path != '/oauth2_redirect') - expected_headers = { - # The fact that most headers are hard-coded in - # security_headers() gives us license to use that - # method here to compose the expected value, even - # though it constitutes code under test. There is - # not much that can break in that method, and even - # if one of the literals in it had an error, that - # error would likely be repeated in a literal here. - **AzulChaliceApp.security_headers(), - 'Cache-Control': cache_control, - # The random nonce in the actual CSP makes it hard - # to compose an expected value for it. Instead, we - # parse and validate the actual CSP, then serialize - # it again and interpolate the result into the - # expected value. - 'Content-Security-Policy': str(parsed_csp) - } - self.assertIsSubset(expected_headers.items(), response.headers.items()) - - def test_default_4xx_response_headers(self): - for endpoint in (config.service_endpoint, config.indexer_endpoint): - with self.subTest(endpoint=endpoint): - response = requests.get(str(endpoint / 'does-not-exist')) - self.assertEqual(403, response.status_code) - self.assertIsSubset(AzulChaliceApp.security_headers().items(), - response.headers.items()) diff --git a/test/service/__init__.py b/test/service/__init__.py deleted file mode 100644 index 972ed0a323..0000000000 --- a/test/service/__init__.py +++ /dev/null @@ -1,348 +0,0 @@ -from abc import ( - ABCMeta, -) -import copy -import json -from random import ( - Random, -) -from typing import ( - Any, - Callable, - ClassVar, - Optional, - Union, - cast, - get_args, -) -from unittest.mock import ( - MagicMock, - PropertyMock, - patch, -) -import uuid - -from deprecated import ( - deprecated, -) -from more_itertools import ( - flatten, - one, -) -from moto import ( - mock_aws, -) -from mypy_boto3_s3.client import ( - S3Client, -) -from mypy_boto3_s3.literals import ( - BucketLocationConstraintType, -) - -from app_test_case import ( - LocalAppTestCase, -) -from azul import ( - cached_property, - config, -) -from azul.deployment import ( - aws, -) -from azul.indexer import ( - Bundle, - BundleUUID, - SourcedBundleFQID, -) -from azul.indexer.document import ( - DocumentType, - IndexName, -) -from azul.logging import ( - configure_test_logging, - get_test_logger, -) -from azul.service.source_service import ( - NotFound, - SourceService, -) -from azul.service.storage_service import ( - StorageService, -) -from azul.types import ( - AnyJSON, - JSON, - JSONs, -) -from azul_test_case import ( - AzulUnitTestCase, -) -from indexer import ( - IndexerTestCase, -) - -log = get_test_logger(__name__) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class WebServiceTestCase(IndexerTestCase, LocalAppTestCase, metaclass=ABCMeta): - """ - Although it seems weird for the webservice to inherit the testing mechanisms - for the indexer, we need them in order to send live indexer output to the - webservice. - """ - indexed_bundles: ClassVar[Optional[dict[BundleUUID, Bundle]]] = None - - @classmethod - def bundles(cls) -> list[SourcedBundleFQID]: - return [ - cls.bundle_fqid(uuid='aaa96233-bf27-44c7-82df-b4dc15ad4d9d', - version='2018-11-02T11:33:44.698028Z') - ] - - @classmethod - def lambda_name(cls) -> str: - return 'service' - - @classmethod - def _setup_indices(cls): - cls.index_service.create_indices(cls.catalog) - bundle_fqids = cls.bundles() - bundles = { - bundle_fqid.uuid: cls._index_canned_bundle(bundle_fqid) - for bundle_fqid in bundle_fqids - } - # This class can't handle multiple versions of a bundle - assert len(bundle_fqids) == len(bundles) - cls.indexed_bundles = bundles - - @classmethod - def _teardown_indices(cls): - cls._purge_indices() - cls.indexed_bundles = None - - def _params(self, - filters: Optional[JSON] = None, - **params: Any - ) -> dict[str, Any]: - return { - **({} if filters is None else {'filters': json.dumps(filters)}), - 'catalog': self.catalog, - **params - } - - -class DocumentCloningTestCase(WebServiceTestCase, metaclass=ABCMeta): - _templates: JSONs - _random: Random - - def setUp(self): - super().setUp() - self._random = Random(42) - - def _setup_document_templates(self): - hits = self._get_all_hits() - self._templates = [hit['_source'] for hit in hits] - self._delete_all_hits() - - def tearDown(self): - self._teardown_indices() - super().tearDown() - - _query = { - 'query': { - 'match_all': {} - } - } - - def _get_all_hits(self): - response = self.es_client.search(index=self._index_name, - body=self._query) - return response['hits']['hits'] - - def _delete_all_hits(self): - self.es_client.delete_by_query(index=self._index_name, - body=self._query, - refresh=True) - - def _clone_doc(self, doc): - """ - Duplicate the given `files` document with new identifiers. - """ - doc = copy.deepcopy(doc) - entity_id, file_id = str(uuid.uuid4()), str(uuid.uuid4()) - doc['entity_id'] = entity_id - file = one(doc['contents']['files']) - file['document_id'] = entity_id - file['uuid'] = file_id - return doc - - def _add_docs(self, num_docs): - """ - Make the given number of copies of a randomly selected template - document from the `files` index. - """ - if num_docs > 0: - log.info('Adding %i documents to index', num_docs) - template = self._random.choice(self._templates) - docs = [self._clone_doc(template) for _ in range(num_docs)] - body = '\n'.join( - flatten( - ( - json.dumps({'create': {}}), - json.dumps(doc) - ) - for doc in docs - ) - ) - self.es_client.bulk(body=body, index=self._index_name, refresh=True) - - @property - def _index_name(self): - return str(IndexName.create(catalog=self.catalog, - qualifier='files', - doc_type=DocumentType.aggregate)) - - -class S3TestCase(AzulUnitTestCase): - - @property - def _s3(self) -> S3Client: - return aws.s3 - - def setUp(self) -> None: - super().setUp() - self.addPatch(mock_aws()) - - def _create_test_bucket(self, bucket_name: str): - assert config.region in get_args(BucketLocationConstraintType) - location = cast(BucketLocationConstraintType, config.region) - self._s3.create_bucket(Bucket=bucket_name, - CreateBucketConfiguration={'LocationConstraint': location}) - - -class StorageServiceTestCase(S3TestCase): - """ - A mixin for test cases that utilize StorageService. - """ - - @cached_property - def storage_service(self) -> StorageService: - return StorageService() - - def setUp(self) -> None: - super().setUp() - self._create_test_bucket(self.storage_service.bucket_name) - - -class MirrorTestCase(S3TestCase): - mirror_bucket = 'test-mirror-bucket' - - def setUp(self): - super().setUp() - self.addPatch(patch.object(type(config), - 'enable_mirroring', - new=PropertyMock(return_value=True))) - self.addPatch(patch.object(type(config), - 'mirror_bucket', - new=PropertyMock(return_value=self.mirror_bucket))) - self._create_test_bucket(self.mirror_bucket) - - -@deprecated('Instead of decorating your test case, or its test methods in it, ' - 'mix in the appropriate subclass of CatalogTestCase.') -def patch_source_cache(target: Union[None, type, Callable] = None, - /, - hit: Optional[list[AnyJSON]] = None - ) -> patch: - """ - Patch the cache access methods of SourceService to emulate a cache miss or - return a given set of sources. - - When used directly (without parentheses) to decorate a method (or class), - the SourceService will produce a cache miss, while the method (or any - method in the class) is running. - - >>> @patch_source_cache - ... class C: - ... def test(self): - ... return SourceService()._get('foo') - >>> C().test() - Traceback (most recent call last): - ... - azul.service.source_service.NotFound: Key not found: 'foo' - - >>> class C: - ... @patch_source_cache - ... def test(self): - ... return SourceService()._get('foo') - >>> C().test() - Traceback (most recent call last): - ... - azul.service.source_service.NotFound: Key not found: 'foo' - - When calling it without arguments it returns a decorator that has the same - effect. - - >>> @patch_source_cache() - ... class C: - ... def test(self): - ... return SourceService()._get('foo') - >>> C().test() - Traceback (most recent call last): - ... - azul.service.source_service.NotFound: Key not found: 'foo' - - Alternatively, the return value can be used as a context manager, to the - same effect. - - >>> with patch_source_cache(): - ... SourceService()._get('key') # noqa - Traceback (most recent call last): - ... - azul.service.source_service.NotFound: Key not found: 'key' - - When called with the `hit` keyword argument, the returned decorator/context - manager causes SourceService to produce a cache hit with the given value. - - >>> @patch_source_cache(hit=[{'foo': 'bar'}]) - ... class C: - ... def test(self): - ... return SourceService()._get('key') - >>> C().test() - [{'foo': 'bar'}] - - >>> with patch_source_cache(hit=[{'foo': 'bar'}]): - ... SourceService()._get('foo') # noqa - [{'foo': 'bar'}] - - While the patch is active, any items placed in the cache are discarded. - - >>> with patch_source_cache(hit=[{'foo': 'bar'}]): - ... service = SourceService() - ... service._put('key', [{}]) # noqa - ... service._get('key') # noqa - [{'foo': 'bar'}] - """ - - def not_found(key): - raise NotFound(key) - - get = MagicMock() - if hit is None: - get.side_effect = not_found - else: - get.return_value = hit - - put = MagicMock() - put.return_value = None - the_patch = patch.multiple(SourceService, _get=get, _put=put) - - if target is None: - return the_patch - else: - return the_patch(target) diff --git a/test/service/data/manifest/terra/pfb_entities.json b/test/service/data/manifest/terra/pfb_entities.json deleted file mode 100644 index 49e583c9a8..0000000000 --- a/test/service/data/manifest/terra/pfb_entities.json +++ /dev/null @@ -1,3550 +0,0 @@ -[ - { - "id": null, - "name": "Metadata", - "object": { - "misc": {}, - "nodes": [ - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "samples", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "sample_cell_lines", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "sample_organoids", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "sample_specimens", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "sequencing_inputs", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "specimens", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "cell_suspensions", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "cell_lines", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "donors", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "organoids", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [], - "name": "files", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "analysis_protocols", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "imaging_protocols", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "library_preparation_protocols", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "sequencing_protocols", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "sequencing_processes", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "total_estimated_cells", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "matrices", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "contributed_analyses", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "projects", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "files", - "multiplicity": "MANY_TO_MANY", - "name": "files" - } - ], - "name": "dates", - "ontology_reference": "", - "properties": [], - "values": {} - } - ] - }, - "relations": [] - }, - { - "id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "name": "sample_specimens", - "object": { - "_source": [ - "specimen_from_organism" - ], - "_type": [ - "specimen" - ], - "biomaterial_id": [ - "Q4_DEMO-sample_SAMN02797092" - ], - "disease": [ - "glioblastoma" - ], - "document_id": [ - "b5894cf5-ecdc-4ea6-a0b9-5335ab678c7a" - ], - "has_input_biomaterial": [ - null - ], - "organ": [ - "brain" - ], - "organ_part": [ - "temporal lobe" - ], - "preservation_method": [ - null - ], - "storage_method": [ - null - ] - }, - "relations": [] - }, - { - "id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "name": "samples", - "object": { - "biomaterial_id": [ - "Q4_DEMO-sample_SAMN02797092" - ], - "document_id": [ - "b5894cf5-ecdc-4ea6-a0b9-5335ab678c7a" - ], - "effective_organ": [ - "brain" - ], - "entity_type": [ - "specimens" - ], - "model_organ": [ - null - ], - "model_organ_part": [ - null - ], - "organ": [ - "brain" - ], - "organ_part": [ - "temporal lobe" - ] - }, - "relations": [] - }, - { - "id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "name": "sequencing_inputs", - "object": { - "biomaterial_id": [ - "Q4_DEMO-cellsus_SAMN02797092" - ], - "document_id": [ - "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0" - ], - "sequencing_input_type": [ - "cell_suspension" - ] - }, - "relations": [] - }, - { - "id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "name": "specimens", - "object": { - "_source": [ - "specimen_from_organism" - ], - "_type": [ - "specimen" - ], - "biomaterial_id": [ - "Q4_DEMO-sample_SAMN02797092" - ], - "disease": [ - "glioblastoma" - ], - "document_id": [ - "b5894cf5-ecdc-4ea6-a0b9-5335ab678c7a" - ], - "has_input_biomaterial": [ - null - ], - "organ": [ - "brain" - ], - "organ_part": [ - "temporal lobe" - ], - "preservation_method": [ - null - ], - "storage_method": [ - null - ] - }, - "relations": [] - }, - { - "id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "name": "cell_suspensions", - "object": { - "biomaterial_id": [ - "Q4_DEMO-cellsus_SAMN02797092" - ], - "document_id": [ - "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0" - ], - "organ": [ - "brain" - ], - "organ_part": [ - "temporal lobe" - ], - "selected_cell_type": [ - null - ], - "total_estimated_cells": null, - "total_estimated_cells_redundant": 0 - }, - "relations": [] - }, - { - "id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "name": "donors", - "object": { - "biological_sex": [ - "unknown" - ], - "biomaterial_id": [ - "Q4_DEMO-donor_MGH30" - ], - "development_stage": [ - "adult" - ], - "diseases": [ - null - ], - "document_id": [ - "242e38d2-c975-47ee-800a-6645b47e92d2" - ], - "donor_count": 1, - "genus_species": [ - "Homo sapiens" - ], - "organism_age": [ - null - ], - "organism_age_range": [] - }, - "relations": [] - }, - { - "id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "name": "library_preparation_protocols", - "object": { - "document_id": [ - "92bc8cf5-b595-4536-b0e8-46eb702b4f4f" - ], - "library_construction_approach": [ - "Smart-seq2" - ], - "nucleic_acid_source": [ - "single cell" - ] - }, - "relations": [] - }, - { - "id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "name": "sequencing_protocols", - "object": { - "document_id": [ - "da614ddd-0384-49ca-a6e1-2141ace13a01" - ], - "instrument_manufacturer_model": [ - "Illumina HiSeq 2500" - ], - "paired_end": [ - true - ] - }, - "relations": [] - }, - { - "id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "name": "sequencing_processes", - "object": { - "document_id": [ - "5afa951e-1591-4bad-a4f8-2e13cbdb760c" - ] - }, - "relations": [] - }, - { - "id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "name": "projects", - "object": { - "_type": [ - "project" - ], - "accessions": [], - "bionetwork_name": [ - "Immune" - ], - "contact_names": [ - null - ], - "contributors": [], - "data_use_restriction": [ - null - ], - "document_id": [ - "6615efae-fca8-4dd2-a223-9cfcf30fe94d" - ], - "duos_id": [ - null - ], - "estimated_cell_count": null, - "institutions": [ - "Fake Institution" - ], - "is_tissue_atlas_project": [ - false - ], - "laboratory": [ - null - ], - "project_description": [ - null - ], - "project_short_name": [ - "integration/Smart-seq2/2018-10-10T02:23:36Z" - ], - "project_title": [ - "Q4_DEMO-Single cell RNA-seq of primary human glioblastomas" - ], - "publication_titles": [ - null - ], - "publications": [], - "supplementary_links": [ - null - ], - "tissue_atlas": [ - { - "atlas": "Blood", - "version": "v1.0" - } - ] - }, - "relations": [] - }, - { - "id": "files.9a9689e4-021b-5cb3-86aa-760324215f76.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "text/plain; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "e8b38826", - "document_id": "0b34a80b-c818-4010-b193-e44a77036e27", - "drs_uri": "drs://drs-test.lan/2526ee96-c839-4d0e-869c-585fc9066cda?version=2018-10-10T03%3A10%3A32.229536Z", - "file_format": "txt", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.quality_distribution_metrics.txt", - "read_index": null, - "sha256": "fb2c9cb1dd646e7941086b570df03fb5d6f8c539b0789a1ae1d18fa1129d0838", - "size": 1490, - "uuid": "2526ee96-c839-4d0e-869c-585fc9066cda", - "version": "2018-10-10T03:10:32.229536Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "sample_specimens.76c970ff-96e4-56d4-a6bd-97fe852a147f.1", - "name": "sample_specimens", - "object": { - "_source": [ - "specimen_from_organism" - ], - "_type": [ - "specimen" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "disease": [ - "normal" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "has_input_biomaterial": [ - null - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "preservation_method": [ - null - ], - "storage_method": [ - null - ] - }, - "relations": [] - }, - { - "id": "samples.76c970ff-96e4-56d4-a6bd-97fe852a147f.1", - "name": "samples", - "object": { - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "effective_organ": [ - "pancreas" - ], - "entity_type": [ - "specimens" - ], - "model_organ": [ - null - ], - "model_organ_part": [ - null - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ] - }, - "relations": [] - }, - { - "id": "sequencing_inputs.c4e3c857-be5e-58df-9057-3b3dbe2da411.1", - "name": "sequencing_inputs", - "object": { - "biomaterial_id": [ - "GSM2172585 1" - ], - "document_id": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "sequencing_input_type": [ - "cell_suspension" - ] - }, - "relations": [] - }, - { - "id": "specimens.76c970ff-96e4-56d4-a6bd-97fe852a147f.1", - "name": "specimens", - "object": { - "_source": [ - "specimen_from_organism" - ], - "_type": [ - "specimen" - ], - "biomaterial_id": [ - "DID_scRSq06_pancreas" - ], - "disease": [ - "normal" - ], - "document_id": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "has_input_biomaterial": [ - null - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "preservation_method": [ - null - ], - "storage_method": [ - null - ] - }, - "relations": [] - }, - { - "id": "cell_suspensions.c4e3c857-be5e-58df-9057-3b3dbe2da411.1", - "name": "cell_suspensions", - "object": { - "biomaterial_id": [ - "GSM2172585 1" - ], - "document_id": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "organ": [ - "pancreas" - ], - "organ_part": [ - "islet of Langerhans" - ], - "selected_cell_type": [ - null - ], - "total_estimated_cells": 1, - "total_estimated_cells_redundant": 0 - }, - "relations": [] - }, - { - "id": "donors.7c2ad6c9-6233-5a64-bc01-9f850a3cec66.1", - "name": "donors", - "object": { - "biological_sex": [ - "female" - ], - "biomaterial_id": [ - "DID_scRSq06" - ], - "development_stage": [ - null - ], - "diseases": [ - "normal" - ], - "document_id": [ - "7b07b9d0-cc0e-4098-9f64-f4a569f7d746" - ], - "donor_count": 1, - "genus_species": [ - "Australopithecus" - ], - "organism_age": [ - { - "unit": "year", - "value": "38" - } - ], - "organism_age_range": [ - [ - 1198368000.0, - 1198368000.0 - ] - ] - }, - "relations": [] - }, - { - "id": "library_preparation_protocols.62d37c3d-b944-5336-86ad-896778527408.1", - "name": "library_preparation_protocols", - "object": { - "document_id": [ - "9c32cf70-3ed7-4720-badc-5ee71e8a38af" - ], - "library_construction_approach": [ - "Smart-seq2" - ], - "nucleic_acid_source": [ - "single cell" - ] - }, - "relations": [] - }, - { - "id": "sequencing_protocols.53a54cc4-cd39-5a67-b26e-189937e697b8.1", - "name": "sequencing_protocols", - "object": { - "document_id": [ - "61e629ed-0135-4492-ac8a-5c4ab3ccca8a" - ], - "instrument_manufacturer_model": [ - "Illumina NextSeq 500" - ], - "paired_end": [ - true - ] - }, - "relations": [] - }, - { - "id": "sequencing_processes.596a62d0-05dc-5749-afbf-8a44e8ef27f5.1", - "name": "sequencing_processes", - "object": { - "document_id": [ - "771ddaf6-3a4f-4314-97fe-6294ff8e25a4" - ] - }, - "relations": [] - }, - { - "id": "projects.0a84dcbd-4475-526e-a2be-61e57bebdfa8.1", - "name": "projects", - "object": { - "_type": [ - "project" - ], - "accessions": [], - "bionetwork_name": [ - null - ], - "contact_names": [ - null - ], - "contributors": [], - "data_use_restriction": [ - null - ], - "document_id": [ - "e8642221-4c2c-4fd7-b926-a68bce363c88" - ], - "duos_id": [ - null - ], - "estimated_cell_count": null, - "institutions": [ - "Farmers Trucks", - "University" - ], - "is_tissue_atlas_project": [ - false - ], - "laboratory": [ - "John Dear" - ], - "project_description": [ - null - ], - "project_short_name": [ - "Single of human pancreas" - ], - "project_title": [ - "Single cell transcriptome patterns." - ], - "publication_titles": [ - "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns." - ], - "publications": [], - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "tissue_atlas": [] - }, - "relations": [] - }, - { - "id": "files.c3f5cd27-7540-5371-9493-af007c60547e.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/gzip; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "1d998e49", - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "drs_uri": "drs://drs-test.lan/7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb?version=2018-11-02T11%3A33%3A44.698028Z", - "file_format": "fastq.gz", - "file_source": null, - "file_type": "sequence_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "SRR3562915_1.fastq.gz", - "read_index": "read1", - "sha256": "77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a", - "size": 195142097, - "uuid": "7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb", - "version": "2018-11-02T11:33:44.698028Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.c4e3c857-be5e-58df-9057-3b3dbe2da411.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7c2ad6c9-6233-5a64-bc01-9f850a3cec66.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.62d37c3d-b944-5336-86ad-896778527408.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0a84dcbd-4475-526e-a2be-61e57bebdfa8.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.76c970ff-96e4-56d4-a6bd-97fe852a147f.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.76c970ff-96e4-56d4-a6bd-97fe852a147f.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.c4e3c857-be5e-58df-9057-3b3dbe2da411.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.596a62d0-05dc-5749-afbf-8a44e8ef27f5.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.53a54cc4-cd39-5a67-b26e-189937e697b8.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.76c970ff-96e4-56d4-a6bd-97fe852a147f.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.6a713d50-6e5e-5ef2-8b0c-fc1bca281b1d.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/gzip; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "3d94b063", - "document_id": "14d63962-7cd3-43fc-a4d6-dc8f761c9ebd", - "drs_uri": "drs://drs-test.lan/b1c167da-0825-4c63-9cbc-2aada1ab367c?version=2018-10-10T03%3A10%3A35.971561Z", - "file_format": "bam", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_rsem.bam", - "read_index": null, - "sha256": "f25053412d65429cefc0157c0d18ae12d4bf4c4113a6af7a1820b62246c075a4", - "size": 3752733, - "uuid": "b1c167da-0825-4c63-9cbc-2aada1ab367c", - "version": "2018-10-10T03:10:35.971561Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.f50b6557-2130-5b33-b748-84c8c4fe061b.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "text/csv; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "8c75cbf7", - "document_id": "18791e67-0c74-43e0-be28-f0c3cd78c7a4", - "drs_uri": "drs://drs-test.lan/35a4d374-9eb3-404b-8ef9-fa295062f969?version=2018-10-10T03%3A10%3A33.293412Z", - "file_format": "csv", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_bait_bias_detail_metrics.csv", - "read_index": null, - "sha256": "e6e979ccfbdbadff06e07596b8da15223aefd278552877a318a3b6ee9c6b9e41", - "size": 29544, - "uuid": "35a4d374-9eb3-404b-8ef9-fa295062f969", - "version": "2018-10-10T03:10:33.293412Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.822faf84-6ae9-5815-8d1c-5b3e2d93b917.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "text/csv; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "062199a3", - "document_id": "1d77c6c5-24b6-4d43-ad5d-b02fba050025", - "drs_uri": "drs://drs-test.lan/e399a1c6-f595-400b-b71b-ea95707fbf74?version=2018-10-10T03%3A10%3A32.812584Z", - "file_format": "csv", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_QCs.csv", - "read_index": null, - "sha256": "796caeb3c67f0bbcca14aa76b556e9cbc1eb76c031ef1696799363325fdb4e92", - "size": 7928, - "uuid": "e399a1c6-f595-400b-b71b-ea95707fbf74", - "version": "2018-10-10T03:10:32.812584Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.6c738ce3-f472-5ed5-84ad-b635fd18b97d.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "text/csv; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "ec79e888", - "document_id": "21319798-fe9e-40a4-bcdb-a4c0780ee7bf", - "drs_uri": "drs://drs-test.lan/70367094-c901-4d72-a6b3-d2859729073a?version=2018-10-10T03%3A10%3A34.734838Z", - "file_format": "csv", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_pre_adapter_detail_metrics.csv", - "read_index": null, - "sha256": "674f7fc16bb8c8e4ac0fb03779045ed0c1fdbe8ac6523dcac9341f94a7e2313d", - "size": 27293, - "uuid": "70367094-c901-4d72-a6b3-d2859729073a", - "version": "2018-10-10T03:10:34.734838Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.5c08389f-39ac-5443-a890-98ecaabe2044.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "text/csv; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "38eadd82", - "document_id": "28220905-f58d-48a1-9258-53f97dd9d388", - "drs_uri": "drs://drs-test.lan/4f53c7d8-13fd-4e60-8168-df2a26652d8f?version=2018-10-10T03%3A10%3A34.363765Z", - "file_format": "csv", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_gc_bias.csv", - "read_index": null, - "sha256": "2d6b0ed81a78a2026739a7053ba8319d006a7b0d9e0f46adb010180d22c76b5e", - "size": 8654, - "uuid": "4f53c7d8-13fd-4e60-8168-df2a26652d8f", - "version": "2018-10-10T03:10:34.363765Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.7c805990-e3f4-52c6-a7e8-90c1290cf980.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "text/plain; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "a45828f5", - "document_id": "416e31c0-b0ec-4674-ab37-ab8506a9f219", - "drs_uri": "drs://drs-test.lan/ee417573-2281-439a-98f9-05fcb5dd2faf?version=2018-10-10T03%3A10%3A31.845129Z", - "file_format": "txt", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.quality_by_cycle_metrics.txt", - "read_index": null, - "sha256": "83ee700382b8abf0fd8f70a6d034e14e8387774aa9990cc9d9c4b89211197fca", - "size": 1868, - "uuid": "ee417573-2281-439a-98f9-05fcb5dd2faf", - "version": "2018-10-10T03:10:31.845129Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.5631a24c-a767-56f2-b897-529d1173775e.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "text/plain; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "074766b5", - "document_id": "48e42fe3-41cd-49bd-b7f4-1e3c49682131", - "drs_uri": "drs://drs-test.lan/ac880333-cb92-4f55-971a-614bd065d8ef?version=2018-10-10T03%3A10%3A31.316188Z", - "file_format": "txt", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.bait_bias_summary_metrics.txt", - "read_index": null, - "sha256": "cb53289c95fd1030726cf93e509d4dc37461bc21b29ff8d2a4165b086dd75f50", - "size": 2708, - "uuid": "ac880333-cb92-4f55-971a-614bd065d8ef", - "version": "2018-10-10T03:10:31.316188Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.b0fe453c-effa-5a25-86c1-5cfbf779993f.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/gzip; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "4ef74578", - "document_id": "5f0cdf49-aabe-40f4-8af3-033115805bb0", - "drs_uri": "drs://drs-test.lan/c005f647-b3fb-45a8-857a-8f5e6a878ccf?version=2018-10-10T02%3A38%3A11.612423Z", - "file_format": "fastq.gz", - "file_source": null, - "file_type": "sequence_file", - "indexed": false, - "is_intermediate": null, - "lane_index": 1, - "matrix_cell_count": null, - "name": "R1.fastq.gz", - "read_index": "read1", - "sha256": "fe6d4fdfea2ff1df97500dcfe7085ac3abfb760026bff75a34c20fb97a4b2b29", - "size": 125191, - "uuid": "c005f647-b3fb-45a8-857a-8f5e6a878ccf", - "version": "2018-10-10T02:38:11.612423Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.89e508fa-ec65-501c-ac69-05ddcc51d566.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/gzip; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "54bb9c82", - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "drs_uri": "drs://drs-test.lan/74897eb7-0701-4e4f-9e6b-8b9521b2816b?version=2018-11-02T11%3A33%3A44.450442Z", - "file_format": "fastq.gz", - "file_source": null, - "file_type": "sequence_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "SRR3562915_2.fastq.gz", - "read_index": "read2", - "sha256": "465a230aa127376fa641f8b8f8cad3f08fef37c8aafc67be454f0f0e4e63d68d", - "size": 190330156, - "uuid": "74897eb7-0701-4e4f-9e6b-8b9521b2816b", - "version": "2018-11-02T11:33:44.450442Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.c4e3c857-be5e-58df-9057-3b3dbe2da411.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7c2ad6c9-6233-5a64-bc01-9f850a3cec66.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.62d37c3d-b944-5336-86ad-896778527408.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0a84dcbd-4475-526e-a2be-61e57bebdfa8.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.76c970ff-96e4-56d4-a6bd-97fe852a147f.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.76c970ff-96e4-56d4-a6bd-97fe852a147f.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.c4e3c857-be5e-58df-9057-3b3dbe2da411.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.596a62d0-05dc-5749-afbf-8a44e8ef27f5.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.53a54cc4-cd39-5a67-b26e-189937e697b8.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.76c970ff-96e4-56d4-a6bd-97fe852a147f.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.6d986347-bf6e-584c-a623-9e04f203349d.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/gzip; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "69987b3e", - "document_id": "74c8c730-139e-40a5-b77e-f46088fa4d95", - "drs_uri": "drs://drs-test.lan/b764ce7d-3938-4451-b68c-678feebc8f2a?version=2018-10-10T02%3A38%3A11.851483Z", - "file_format": "fastq.gz", - "file_source": null, - "file_type": "sequence_file", - "indexed": false, - "is_intermediate": null, - "lane_index": 1, - "matrix_cell_count": null, - "name": "R2.fastq.gz", - "read_index": "read2", - "sha256": "c305bee37b3c3735585e11306272b6ab085f04cd22ea8703957b4503488cfeba", - "size": 130024, - "uuid": "b764ce7d-3938-4451-b68c-678feebc8f2a", - "version": "2018-10-10T02:38:11.851483Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.073f88fc-d541-51bd-b2a8-3f6e2684e673.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "text/plain; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "0d086593", - "document_id": "8b4ed86d-99a8-4665-8f56-5a54fac6cb12", - "drs_uri": "drs://drs-test.lan/2866dfcd-6346-4db8-ad1c-36a50dd99f44?version=2018-10-10T03%3A10%3A31.541754Z", - "file_format": "txt", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.insert_size_metrics.txt", - "read_index": null, - "sha256": "15c506c283d8b72c2a58fae1c8b58f525837e7e10adfa00080af72ea156fdaed", - "size": 5005, - "uuid": "2866dfcd-6346-4db8-ad1c-36a50dd99f44", - "version": "2018-10-10T03:10:31.541754Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.d9375054-2281-5af8-999b-6c1634bda214.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "text/plain; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "132739db", - "document_id": "9a827f0b-d74a-436f-a39f-f8c8c9eadfa3", - "drs_uri": "drs://drs-test.lan/3a97e493-d758-4659-84f2-1c8060161459?version=2018-10-10T03%3A10%3A32.503612Z", - "file_format": "txt", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.rna_metrics.txt", - "read_index": null, - "sha256": "cb2373c6dc2048b583c624291f7d3e4690c23934805100af773aa78682543141", - "size": 3218, - "uuid": "3a97e493-d758-4659-84f2-1c8060161459", - "version": "2018-10-10T03:10:32.503612Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.94dd44c7-a939-5c58-b9ee-2ef220d0644b.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "text/csv; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "d0ea20f5", - "document_id": "9d88ec61-e189-4618-ac15-992a134749a8", - "drs_uri": "drs://drs-test.lan/f7cbd75f-abb1-4703-bf11-7d55a28ae5c0?version=2018-10-10T03%3A10%3A33.596635Z", - "file_format": "csv", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_base_distribution_by_cycle_metrics.csv", - "read_index": null, - "sha256": "c910ece6155921d0ef500074db6e8c6b7bc53839a256bbb16eaf558b79583f5c", - "size": 4341, - "uuid": "f7cbd75f-abb1-4703-bf11-7d55a28ae5c0", - "version": "2018-10-10T03:10:33.596635Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.a95f9944-c6d7-5993-825c-3ec7613da92a.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/octet-stream; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "24b04481", - "document_id": "a3b39c62-3dd8-48f9-bcba-08a16f43a40b", - "drs_uri": "drs://drs-test.lan/55878ed2-a7bf-423f-b6ee-97969e2e66ef?version=2018-10-10T03%3A10%3A37.034867Z", - "file_format": "results", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_rsem.isoforms.results", - "read_index": null, - "sha256": "abf4f12296e2e99fa153b63f920657bfa37718681111091d51c098207e7f6b41", - "size": 18940597, - "uuid": "55878ed2-a7bf-423f-b6ee-97969e2e66ef", - "version": "2018-10-10T03:10:37.034867Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.92c1924a-8361-5c76-a4fc-bfcaca8563ad.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/gzip; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "700bd519", - "document_id": "a5acdc07-18bf-4c06-b212-2b36e52173ef", - "drs_uri": "drs://drs-test.lan/51c9ad31-5888-47eb-9e0c-02f042373c4e?version=2018-10-10T03%3A10%3A35.284782Z", - "file_format": "bam", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.bam", - "read_index": null, - "sha256": "e3cd90d79f520c0806dddb1ca0c5a11fbe26ac0c0be983ba5098d6769f78294c", - "size": 550597, - "uuid": "51c9ad31-5888-47eb-9e0c-02f042373c4e", - "version": "2018-10-10T03:10:35.284782Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.a378d4d4-d676-5ab1-9615-e647f9fd080f.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/json; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "4e75003e", - "document_id": "b4767274-c12b-401f-8bc1-9c9213149442", - "drs_uri": "drs://drs-test.lan/c1c4a2bc-b5fb-4083-af64-f5dec70d7f9d?version=2018-10-10T03%3A10%3A37.983672Z", - "file_format": "matrix", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/.zattrs", - "read_index": null, - "sha256": "e9bf2c74bb562b91a45538bd74225edfd3a62bd8b74ab8c71b3c8f7295f3fcc6", - "size": 144, - "uuid": "c1c4a2bc-b5fb-4083-af64-f5dec70d7f9d", - "version": "2018-10-10T03:10:37.983672Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.bb9c0688-7d66-5419-b3d4-b993b537a45c.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/json; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "444a7707", - "document_id": "dfa9da1b-3f48-4c76-86a2-833ded3e2745", - "drs_uri": "drs://drs-test.lan/54541cc5-9010-425b-9037-22e43948c97c?version=2018-10-10T03%3A10%3A38.239541Z", - "file_format": "unknown", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/.zgroup", - "read_index": null, - "sha256": "2383746e67b4bcc2762b3f100f06c3fa2d5f149ab5a8e5da5d33521464a01959", - "size": 24, - "uuid": "54541cc5-9010-425b-9037-22e43948c97c", - "version": "2018-10-10T03:10:38.239541Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.e0381796-2a9a-5aca-8ccf-32e34ece795f.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/json; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "444a7707", - "document_id": "11d84aef-c087-4fd1-bdc9-0c3402a0db01", - "drs_uri": "drs://drs-test.lan/66b8f976-6f1e-45b3-bd97-069658c3c847?version=2018-10-10T03%3A10%3A38.474167Z", - "file_format": "unknown", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/.zgroup", - "read_index": null, - "sha256": "2383746e67b4bcc2762b3f100f06c3fa2d5f149ab5a8e5da5d33521464a01959", - "size": 24, - "uuid": "66b8f976-6f1e-45b3-bd97-069658c3c847", - "version": "2018-10-10T03:10:38.474167Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.5ba04e85-c7d4-59b0-9ef4-9dc0e165df40.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/json; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "c6ab0701", - "document_id": "345c5bd6-ac02-4b5d-9d53-e2ec7d7928aa", - "drs_uri": "drs://drs-test.lan/ac05d7fb-d6b9-4ab1-8c04-6211450dbb62?version=2018-10-10T03%3A10%3A38.714461Z", - "file_format": "unknown", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/cell_id/.zarray", - "read_index": null, - "sha256": "b0ae46aff3e2446c88dbde31abfb6253fcc8b571195f536f83d0641a29890669", - "size": 333, - "uuid": "ac05d7fb-d6b9-4ab1-8c04-6211450dbb62", - "version": "2018-10-10T03:10:38.714461Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.c089fb56-f67f-57fa-98b4-da1b0cad984f.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/octet-stream; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "cd2fd51f", - "document_id": "5aa074b9-f6e6-4790-9608-b5eb37425341", - "drs_uri": "drs://drs-test.lan/0c518a52-f315-4ea2-beed-1c9d8f2d802b?version=2018-10-10T03%3A10%3A39.039270Z", - "file_format": "unknown", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/cell_id/0.0", - "read_index": null, - "sha256": "fa77e1466fbe9d016b8c20dade29ebc19356e586d725feaf83d3efc7b007161a", - "size": 153, - "uuid": "0c518a52-f315-4ea2-beed-1c9d8f2d802b", - "version": "2018-10-10T03:10:39.039270Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.23c591de-089b-5e7b-abfd-9b4f2a13a980.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/json; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "b89e6723", - "document_id": "b9672a5e-03be-41a6-9155-b29626815e11", - "drs_uri": "drs://drs-test.lan/136108ab-277e-47a4-acc3-1feed8fb2f25?version=2018-10-10T03%3A10%3A39.426609Z", - "file_format": "unknown", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/expression/.zarray", - "read_index": null, - "sha256": "31f6f311ce1934669c993d3ae909f89084d605554312bc34262340e3f37005ca", - "size": 341, - "uuid": "136108ab-277e-47a4-acc3-1feed8fb2f25", - "version": "2018-10-10T03:10:39.426609Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.7d4d32cd-5e7e-55cf-a0ad-1efbea34b750.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/octet-stream; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "caaefa77", - "document_id": "c0da3d0b-128b-4b37-a3d6-9538ab29e9b6", - "drs_uri": "drs://drs-test.lan/0bef5419-739c-4a2c-aedb-43754d55d51c?version=2018-10-10T03%3A10%3A39.642846Z", - "file_format": "unknown", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/expression/0.0", - "read_index": null, - "sha256": "625a4c8c5224432840964847bbefaf43cd535d9313d045ac5c9cb19411c86bee", - "size": 3054, - "uuid": "0bef5419-739c-4a2c-aedb-43754d55d51c", - "version": "2018-10-10T03:10:39.642846Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.bc4ad5cc-95c8-5806-8356-2b9542b8a795.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/json; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "f629ec34", - "document_id": "46465f1a-a0cc-413f-aebc-505e4714c6b2", - "drs_uri": "drs://drs-test.lan/3a5f7299-1aa1-4060-9631-212c29b4d807?version=2018-10-10T03%3A10%3A39.899615Z", - "file_format": "unknown", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/gene_id/.zarray", - "read_index": null, - "sha256": "5c65571866242de9ca10a299eb14d239d5c5c5f4538835b2df600bb212076083", - "size": 341, - "uuid": "3a5f7299-1aa1-4060-9631-212c29b4d807", - "version": "2018-10-10T03:10:39.899615Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.fcf3e9fc-55df-5bf4-afcd-ed2ed58d42ab.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/octet-stream; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "59d86b68", - "document_id": "7ba06d4d-c134-4324-84e6-3a37e57af2ce", - "drs_uri": "drs://drs-test.lan/a8f0dc39-6019-4fc7-899d-4e34a48d03e5?version=2018-10-10T03%3A10%3A40.113268Z", - "file_format": "unknown", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/gene_id/0.0", - "read_index": null, - "sha256": "ad468829c4ad38e218b5d0c1573803aba4a5fed31b6fc755c6394d97ac0d417b", - "size": 192191, - "uuid": "a8f0dc39-6019-4fc7-899d-4e34a48d03e5", - "version": "2018-10-10T03:10:40.113268Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.0f862030-bd18-5b93-8fe8-cc2b74e340f7.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/json; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "25d193cf", - "document_id": "7cd4f7cc-8712-4ffd-b91d-9cb7c6182f52", - "drs_uri": "drs://drs-test.lan/68ba4711-1447-42ac-aa40-9c0e4cda1666?version=2018-10-10T03%3A10%3A40.583439Z", - "file_format": "unknown", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/qc_metric/.zarray", - "read_index": null, - "sha256": "334848718d4aee17991ea4cd9f0585654e24c7967a0a11c5f259c7b8825d8227", - "size": 337, - "uuid": "68ba4711-1447-42ac-aa40-9c0e4cda1666", - "version": "2018-10-10T03:10:40.583439Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.3ce24614-e988-5168-9f68-67fce7a75768.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/octet-stream; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "17a84191", - "document_id": "54604922-909e-4094-83d7-9d8ac7e7cdbd", - "drs_uri": "drs://drs-test.lan/27e66328-e337-4bcd-ba15-7893ecaf841f?version=2018-10-10T03%3A10%3A40.801631Z", - "file_format": "unknown", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/qc_metric/0.0", - "read_index": null, - "sha256": "215349395555fa4af2669d6119ef0ff39ba7aa3f34cb981041024466ff462693", - "size": 4054, - "uuid": "27e66328-e337-4bcd-ba15-7893ecaf841f", - "version": "2018-10-10T03:10:40.801631Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.088445ba-bb02-5482-8b52-49a0e48cd859.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/json; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "25d193cf", - "document_id": "e0fc82a4-9bc2-4219-b763-99c865e4f9c0", - "drs_uri": "drs://drs-test.lan/2ab1a516-ef36-41b6-a78f-513361658feb?version=2018-10-10T03%3A10%3A40.958708Z", - "file_format": "unknown", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/qc_values/.zarray", - "read_index": null, - "sha256": "334848718d4aee17991ea4cd9f0585654e24c7967a0a11c5f259c7b8825d8227", - "size": 337, - "uuid": "2ab1a516-ef36-41b6-a78f-513361658feb", - "version": "2018-10-10T03:10:40.958708Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.ffdb0549-afcc-5a58-a2cf-9c2451a61180.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/octet-stream; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "bdc30523", - "document_id": "5c3246df-9ee8-42fe-ab19-ddd0ddea3e15", - "drs_uri": "drs://drs-test.lan/351970aa-bc4c-405e-a274-be9e08e42e98?version=2018-10-10T03%3A10%3A41.135992Z", - "file_format": "unknown", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/qc_values/0.0", - "read_index": null, - "sha256": "af4b69064dd3f393d9da8138f0f5b5599e5fcac35daa0cc0233ec229c5135d0a", - "size": 1257, - "uuid": "351970aa-bc4c-405e-a274-be9e08e42e98", - "version": "2018-10-10T03:10:41.135992Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.ee110f09-10d3-59cc-9aee-97be6f3c6284.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/octet-stream; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "7581baea", - "document_id": "b7f69b47-cbdf-4ec9-be6e-d316827aad8e", - "drs_uri": "drs://drs-test.lan/cf859616-212d-4579-bd86-03c5f8e06ec0?version=2018-10-10T03%3A10%3A36.453150Z", - "file_format": "results", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_rsem.genes.results", - "read_index": null, - "sha256": "60462c3b1ccde59bbff0f3b62a4f8491d07a0d7a55abbb2df093f72aaadb77b5", - "size": 7629174, - "uuid": "cf859616-212d-4579-bd86-03c5f8e06ec0", - "version": "2018-10-10T03:10:36.453150Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.fd4dcf28-df3e-5abe-95c2-2147882cb0f8.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "text/csv; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "d5d1e302", - "document_id": "c059ee58-fbea-40d9-b552-acc1285138a3", - "drs_uri": "drs://drs-test.lan/29466279-4d12-44dd-9f87-8429b61a9f13?version=2018-10-10T03%3A10%3A33.862470Z", - "file_format": "csv", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_error_summary_metrics.csv", - "read_index": null, - "sha256": "c691a24d6bd11b9b60b99efe4641e2392ff50ab518b6474b595e86610dfe9751", - "size": 457, - "uuid": "29466279-4d12-44dd-9f87-8429b61a9f13", - "version": "2018-10-10T03:10:33.862470Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "sample_specimens.a4460596-f04a-5c2a-9512-beed1c0eea6a.2", - "name": "sample_specimens", - "object": { - "_source": [ - "specimen_from_organism" - ], - "_type": [ - "specimen" - ], - "biomaterial_id": [ - "AP1_specimen" - ], - "disease": [ - "COVID-19" - ], - "document_id": [ - "224d3750-f1f7-5b04-bbce-e23f09eea7d7", - "5275e5a0-6043-4ec9-86a1-6c1140cbeede" - ], - "has_input_biomaterial": [ - null - ], - "organ": [ - "blood", - "lung" - ], - "organ_part": [ - null - ], - "preservation_method": [ - null - ], - "storage_method": [ - null - ] - }, - "relations": [] - }, - { - "id": "samples.a4460596-f04a-5c2a-9512-beed1c0eea6a.2", - "name": "samples", - "object": { - "biomaterial_id": [ - "AP1_specimen" - ], - "document_id": [ - "224d3750-f1f7-5b04-bbce-e23f09eea7d7", - "5275e5a0-6043-4ec9-86a1-6c1140cbeede" - ], - "effective_organ": [ - "blood", - "lung" - ], - "entity_type": [ - "specimens" - ], - "model_organ": [ - null - ], - "model_organ_part": [ - null - ], - "organ": [ - "blood", - "lung" - ], - "organ_part": [ - null - ] - }, - "relations": [] - }, - { - "id": "specimens.a4460596-f04a-5c2a-9512-beed1c0eea6a.2", - "name": "specimens", - "object": { - "_source": [ - "specimen_from_organism" - ], - "_type": [ - "specimen" - ], - "biomaterial_id": [ - "AP1_specimen" - ], - "disease": [ - "COVID-19" - ], - "document_id": [ - "224d3750-f1f7-5b04-bbce-e23f09eea7d7", - "5275e5a0-6043-4ec9-86a1-6c1140cbeede" - ], - "has_input_biomaterial": [ - null - ], - "organ": [ - "blood", - "lung" - ], - "organ_part": [ - null - ], - "preservation_method": [ - null - ], - "storage_method": [ - null - ] - }, - "relations": [] - }, - { - "id": "cell_suspensions.6ee4f4eb-d3e5-5c21-8023-21cb9499858d.1", - "name": "cell_suspensions", - "object": { - "biomaterial_id": [ - "AP1CS" - ], - "document_id": [ - "d6b3d2ab-5715-4486-a544-ac09fafac279" - ], - "organ": [ - "lung" - ], - "organ_part": [ - null - ], - "selected_cell_type": [ - "peripheral blood mononuclear cell" - ], - "total_estimated_cells": 20000, - "total_estimated_cells_redundant": 0 - }, - "relations": [] - }, - { - "id": "cell_suspensions.8de635aa-c8ee-5ae0-b8e5-937b93d17ad5.1", - "name": "cell_suspensions", - "object": { - "biomaterial_id": [ - "AP1CS" - ], - "document_id": [ - "d9eaaffe-4c93-5503-984f-762e8dfddce4" - ], - "organ": [ - "blood" - ], - "organ_part": [ - null - ], - "selected_cell_type": [ - "peripheral blood mononuclear cell" - ], - "total_estimated_cells": 20000, - "total_estimated_cells_redundant": 0 - }, - "relations": [] - }, - { - "id": "donors.04b4f86f-be62-58de-a749-7b6ca22f550b.2", - "name": "donors", - "object": { - "biological_sex": [ - "unknown" - ], - "biomaterial_id": [ - "AP1" - ], - "development_stage": [ - "human adult stage" - ], - "diseases": [ - "COVID-19" - ], - "document_id": [ - "0895599c-f57d-4843-963e-11eab29f883b", - "9173ee6a-f1b2-5762-9272-3433b5ef7530" - ], - "donor_count": 1, - "genus_species": [ - "Homo sapiens" - ], - "organism_age": [ - { - "unit": "year", - "value": "56" - }, - null - ], - "organism_age_range": [ - [ - 1766016000.0, - 1766016000.0 - ] - ] - }, - "relations": [] - }, - { - "id": "analysis_protocols.b60d6764-67a8-591e-87e7-3ed91c248627.1", - "name": "analysis_protocols", - "object": { - "document_id": [ - "811adf54-7f27-5aec-9ed7-c6084c4c3a1b" - ], - "workflow": [ - "Combined_AnalysisProt" - ] - }, - "relations": [] - }, - { - "id": "library_preparation_protocols.916caca6-07c2-5085-941f-d762d48b8df8.1", - "name": "library_preparation_protocols", - "object": { - "document_id": [ - "f08df8f8-4966-5265-b127-36625c77deae" - ], - "library_construction_approach": [ - "10x 3' v3" - ], - "nucleic_acid_source": [ - "single cell" - ] - }, - "relations": [] - }, - { - "id": "projects.199f34f4-ea80-5753-b615-8b4b595a8766.1", - "name": "projects", - "object": { - "_type": [ - "project" - ], - "accessions": [ - { - "accession": "E-MTAB-10026", - "namespace": "array_express" - }, - { - "accession": "EGAD00000000002", - "namespace": "ega" - }, - { - "accession": "EGAS00000000001", - "namespace": "ega" - }, - { - "accession": "phs001836", - "namespace": "dbgap" - }, - { - "accession": "phs001997.v1.p1", - "namespace": "dbgap" - } - ], - "bionetwork_name": [ - null - ], - "contact_names": [ - null - ], - "contributors": [], - "data_use_restriction": [ - null - ], - "document_id": [ - "90bf705c-d891-5ce2-aa54-094488b445c6" - ], - "duos_id": [ - null - ], - "estimated_cell_count": 10000, - "institutions": [ - "Newcastle University" - ], - "is_tissue_atlas_project": [ - false - ], - "laboratory": [ - null - ], - "project_description": [ - null - ], - "project_short_name": [ - "Covid19PBMC" - ], - "project_title": [ - "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres" - ], - "publication_titles": [ - "The cellular immune response to COVID-19 deciphered by single cell multi-omics across three UK centres" - ], - "publications": [], - "supplementary_links": [ - null - ], - "tissue_atlas": [] - }, - "relations": [] - }, - { - "id": "files.0132361d-c778-5bf7-a77d-daed6d9036c2.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/gzip; dcp-type=data", - "content_description": [ - "count matrix" - ], - "crc32c": "aff4c924", - "document_id": "cf5d9300-3b81-52eb-a02f-25fb1364419e", - "drs_uri": "drs://drs-test.lan/2ecedea4-b90c-5025-9967-fc08f27a4dc6?version=2021-01-01T00%3A00%3A00.000000Z", - "file_format": "h5ad", - "file_source": "Contributor", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": false, - "lane_index": null, - "matrix_cell_count": 2100, - "name": "AP1_file.h5ad", - "read_index": null, - "sha256": "8908aec2bf49fdc557a5841352c52c8af857707c6f9c760ff51fb6e0858a6577", - "size": 143, - "uuid": "2ecedea4-b90c-5025-9967-fc08f27a4dc6", - "version": "2021-01-01T00:00:00.000000Z" - }, - "relations": [ - { - "dst_id": "analysis_protocols.b60d6764-67a8-591e-87e7-3ed91c248627.1", - "dst_name": "analysis_protocols" - }, - { - "dst_id": "cell_suspensions.6ee4f4eb-d3e5-5c21-8023-21cb9499858d.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "cell_suspensions.8de635aa-c8ee-5ae0-b8e5-937b93d17ad5.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.04b4f86f-be62-58de-a749-7b6ca22f550b.2", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.916caca6-07c2-5085-941f-d762d48b8df8.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.199f34f4-ea80-5753-b615-8b4b595a8766.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.a4460596-f04a-5c2a-9512-beed1c0eea6a.2", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.a4460596-f04a-5c2a-9512-beed1c0eea6a.2", - "dst_name": "samples" - }, - { - "dst_id": "specimens.a4460596-f04a-5c2a-9512-beed1c0eea6a.2", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.097fc0ea-a0af-5571-a29e-09367aaf5a29.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "application/octet-stream; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "6ce5efc2", - "document_id": "da510e7a-5495-40c5-964d-b5291372102c", - "drs_uri": "drs://drs-test.lan/7eda54d3-3522-4079-9089-60839ee4d4f9?version=2018-10-10T03%3A10%3A35.686843Z", - "file_format": "bai", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_qc.bam.bai", - "read_index": null, - "sha256": "d7dd835ba3e9cf56958976fc90267786233958c92d9dfcd5a6cb3c0ce95a52e2", - "size": 1399032, - "uuid": "7eda54d3-3522-4079-9089-60839ee4d4f9", - "version": "2018-10-10T03:10:35.686843Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - }, - { - "id": "files.64128c81-fe0d-5fa4-8040-88a526c5dbb4.1", - "name": "files", - "object": { - "_type": "file", - "content-type": "text/csv; dcp-type=data", - "content_description": [ - null - ], - "crc32c": "5191baeb", - "document_id": "fd67cd38-2483-49ff-8a9b-0fe1f2607901", - "drs_uri": "drs://drs-test.lan/84985aaf-e397-45ee-8b96-37ed2cc650d4?version=2018-10-10T03%3A10%3A35.017351Z", - "file_format": "csv", - "file_source": "DCP/2 Analysis", - "file_type": "analysis_file", - "indexed": false, - "is_intermediate": null, - "lane_index": null, - "matrix_cell_count": null, - "name": "377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0_pre_adapter_summary_metrics.csv", - "read_index": null, - "sha256": "8b90565cdda2daa693e74d5b9e7652eb4bb6aae91e6993b084f1103a9bfda23b", - "size": 1899, - "uuid": "84985aaf-e397-45ee-8b96-37ed2cc650d4", - "version": "2018-10-10T03:10:35.017351Z" - }, - "relations": [ - { - "dst_id": "cell_suspensions.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "cell_suspensions" - }, - { - "dst_id": "donors.7169f434-8d37-5894-8709-707da00dafa0.1", - "dst_name": "donors" - }, - { - "dst_id": "library_preparation_protocols.206faacb-a743-5131-80b5-745da382b5b9.1", - "dst_name": "library_preparation_protocols" - }, - { - "dst_id": "projects.0d35a55d-bdd1-50a2-982f-3524e3579603.1", - "dst_name": "projects" - }, - { - "dst_id": "sample_specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "sample_specimens" - }, - { - "dst_id": "samples.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "samples" - }, - { - "dst_id": "sequencing_inputs.77795119-8498-56a8-b175-6afc82257133.1", - "dst_name": "sequencing_inputs" - }, - { - "dst_id": "sequencing_processes.c5fd9010-0891-5b13-b19b-86bff7d51f1d.1", - "dst_name": "sequencing_processes" - }, - { - "dst_id": "sequencing_protocols.c9566f70-97cb-56ac-bfd5-15f56f9b84dc.1", - "dst_name": "sequencing_protocols" - }, - { - "dst_id": "specimens.7042846c-37e0-5735-80b0-fae53eb4e024.1", - "dst_name": "specimens" - } - ] - } -] \ No newline at end of file diff --git a/test/service/data/manifest/terra/pfb_schema.json b/test/service/data/manifest/terra/pfb_schema.json deleted file mode 100644 index 50e90c7640..0000000000 --- a/test/service/data/manifest/terra/pfb_schema.json +++ /dev/null @@ -1,2127 +0,0 @@ -{ - "fields": [ - { - "default": null, - "name": "id", - "type": [ - "null", - "string" - ] - }, - { - "name": "name", - "type": "string" - }, - { - "name": "object", - "type": [ - { - "fields": [ - { - "name": "nodes", - "type": { - "items": { - "fields": [ - { - "name": "name", - "type": "string" - }, - { - "name": "ontology_reference", - "type": "string" - }, - { - "name": "values", - "type": { - "type": "map", - "values": "string" - } - }, - { - "name": "links", - "type": { - "items": { - "fields": [ - { - "name": "multiplicity", - "type": { - "name": "Multiplicity", - "symbols": [ - "ONE_TO_ONE", - "ONE_TO_MANY", - "MANY_TO_ONE", - "MANY_TO_MANY" - ], - "type": "enum" - } - }, - { - "name": "dst", - "type": "string" - }, - { - "name": "name", - "type": "string" - } - ], - "name": "Link", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "properties", - "type": { - "items": { - "fields": [ - { - "name": "name", - "type": "string" - }, - { - "name": "ontology_reference", - "type": "string" - }, - { - "name": "values", - "type": { - "type": "map", - "values": "string" - } - } - ], - "name": "Property", - "type": "record" - }, - "type": "array" - } - } - ], - "name": "Node", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "misc", - "type": { - "type": "map", - "values": "string" - } - } - ], - "name": "Metadata", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "samples", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "biomaterial_id", - "namespace": "samples", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "entity_type", - "namespace": "samples", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "organ", - "namespace": "samples", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "organ_part", - "namespace": "samples", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "model_organ", - "namespace": "samples", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "model_organ_part", - "namespace": "samples", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "effective_organ", - "namespace": "samples", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "samples", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "sample_cell_lines", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "biomaterial_id", - "namespace": "sample_cell_lines", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "cell_line_type", - "namespace": "sample_cell_lines", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "model_organ", - "namespace": "sample_cell_lines", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "sample_cell_lines", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "sample_organoids", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "biomaterial_id", - "namespace": "sample_organoids", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "model_organ", - "namespace": "sample_organoids", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "model_organ_part", - "namespace": "sample_organoids", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "sample_organoids", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "sample_specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "biomaterial_id", - "namespace": "sample_specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "has_input_biomaterial", - "namespace": "sample_specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "_source", - "namespace": "sample_specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "disease", - "namespace": "sample_specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "organ", - "namespace": "sample_specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "organ_part", - "namespace": "sample_specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "storage_method", - "namespace": "sample_specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "preservation_method", - "namespace": "sample_specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "_type", - "namespace": "sample_specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "sample_specimens", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "sequencing_inputs", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "biomaterial_id", - "namespace": "sequencing_inputs", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "sequencing_input_type", - "namespace": "sequencing_inputs", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "sequencing_inputs", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "biomaterial_id", - "namespace": "specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "has_input_biomaterial", - "namespace": "specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "_source", - "namespace": "specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "disease", - "namespace": "specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "organ", - "namespace": "specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "organ_part", - "namespace": "specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "storage_method", - "namespace": "specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "preservation_method", - "namespace": "specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "_type", - "namespace": "specimens", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "specimens", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "cell_suspensions", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "biomaterial_id", - "namespace": "cell_suspensions", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "total_estimated_cells", - "namespace": "cell_suspensions", - "type": [ - "null", - "long" - ] - }, - { - "name": "total_estimated_cells_redundant", - "namespace": "cell_suspensions", - "type": [ - "null", - "long" - ] - }, - { - "name": "selected_cell_type", - "namespace": "cell_suspensions", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "organ", - "namespace": "cell_suspensions", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "organ_part", - "namespace": "cell_suspensions", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "cell_suspensions", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "cell_lines", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "biomaterial_id", - "namespace": "cell_lines", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "cell_line_type", - "namespace": "cell_lines", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "model_organ", - "namespace": "cell_lines", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "cell_lines", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "donors", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "biomaterial_id", - "namespace": "donors", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "biological_sex", - "namespace": "donors", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "genus_species", - "namespace": "donors", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "development_stage", - "namespace": "donors", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "diseases", - "namespace": "donors", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "organism_age", - "namespace": "donors", - "type": { - "items": [ - "null", - { - "fields": [ - { - "name": "value", - "namespace": "donors.organism_age", - "type": [ - "null", - "string" - ] - }, - { - "name": "unit", - "namespace": "donors.organism_age", - "type": [ - "null", - "string" - ] - } - ], - "name": "donors.organism_age", - "type": "record" - } - ], - "type": "array" - } - }, - { - "name": "organism_age_range", - "namespace": "donors", - "type": { - "items": { - "items": "double", - "type": "array" - }, - "type": "array" - } - }, - { - "name": "donor_count", - "namespace": "donors", - "type": [ - "null", - "long" - ] - } - ], - "name": "donors", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "organoids", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "biomaterial_id", - "namespace": "organoids", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "model_organ", - "namespace": "organoids", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "model_organ_part", - "namespace": "organoids", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "organoids", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "files", - "type": [ - "null", - "string" - ] - }, - { - "name": "content-type", - "namespace": "files", - "type": [ - "null", - "string" - ] - }, - { - "name": "indexed", - "namespace": "files", - "type": [ - "null", - "boolean" - ] - }, - { - "name": "name", - "namespace": "files", - "type": [ - "null", - "string" - ] - }, - { - "name": "crc32c", - "namespace": "files", - "type": [ - "null", - "string" - ] - }, - { - "name": "sha256", - "namespace": "files", - "type": [ - "null", - "string" - ] - }, - { - "name": "size", - "namespace": "files", - "type": [ - "null", - "long" - ] - }, - { - "logicalType": "UUID", - "name": "uuid", - "namespace": "files", - "type": [ - "string" - ] - }, - { - "name": "drs_uri", - "namespace": "files", - "type": [ - "null", - "string" - ] - }, - { - "name": "version", - "namespace": "files", - "type": [ - "null", - "string" - ] - }, - { - "name": "file_type", - "namespace": "files", - "type": [ - "null", - "string" - ] - }, - { - "name": "file_format", - "namespace": "files", - "type": [ - "null", - "string" - ] - }, - { - "name": "content_description", - "namespace": "files", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "is_intermediate", - "namespace": "files", - "type": [ - "null", - "boolean" - ] - }, - { - "name": "file_source", - "namespace": "files", - "type": [ - "null", - "string" - ] - }, - { - "name": "_type", - "namespace": "files", - "type": [ - "null", - "string" - ] - }, - { - "name": "read_index", - "namespace": "files", - "type": [ - "null", - "string" - ] - }, - { - "name": "lane_index", - "namespace": "files", - "type": [ - "null", - "long" - ] - }, - { - "name": "matrix_cell_count", - "namespace": "files", - "type": [ - "null", - "long" - ] - } - ], - "name": "files", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "analysis_protocols", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "workflow", - "namespace": "analysis_protocols", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "analysis_protocols", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "imaging_protocols", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "imaging_protocols", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "library_preparation_protocols", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "library_construction_approach", - "namespace": "library_preparation_protocols", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "nucleic_acid_source", - "namespace": "library_preparation_protocols", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "library_preparation_protocols", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "sequencing_protocols", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "instrument_manufacturer_model", - "namespace": "sequencing_protocols", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "paired_end", - "namespace": "sequencing_protocols", - "type": { - "items": [ - "null", - "boolean" - ], - "type": "array" - } - } - ], - "name": "sequencing_protocols", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "sequencing_processes", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "sequencing_processes", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "matrices", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "file", - "namespace": "matrices", - "type": { - "items": { - "fields": [ - { - "name": "document_id", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "content-type", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "indexed", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "boolean" - ], - "type": "array" - } - }, - { - "name": "name", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "crc32c", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "sha256", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "size", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "long" - ], - "type": "array" - } - }, - { - "logicalType": "UUID", - "name": "uuid", - "namespace": "matrices.file", - "type": [ - "string" - ] - }, - { - "name": "drs_uri", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "version", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "file_type", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "file_format", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "content_description", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "is_intermediate", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "boolean" - ], - "type": "array" - } - }, - { - "name": "file_source", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "_type", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "read_index", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "lane_index", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "long" - ], - "type": "array" - } - }, - { - "name": "matrix_cell_count", - "namespace": "matrices.file", - "type": { - "items": [ - "null", - "long" - ], - "type": "array" - } - } - ], - "name": "matrices.file", - "type": "record" - }, - "type": "array" - } - } - ], - "name": "matrices", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "contributed_analyses", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "file", - "namespace": "contributed_analyses", - "type": { - "items": { - "fields": [ - { - "name": "document_id", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "content-type", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "indexed", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "boolean" - ], - "type": "array" - } - }, - { - "name": "name", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "crc32c", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "sha256", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "size", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "long" - ], - "type": "array" - } - }, - { - "logicalType": "UUID", - "name": "uuid", - "namespace": "contributed_analyses.file", - "type": [ - "string" - ] - }, - { - "name": "drs_uri", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "version", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "file_type", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "file_format", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "content_description", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "is_intermediate", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "boolean" - ], - "type": "array" - } - }, - { - "name": "file_source", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "_type", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "read_index", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "lane_index", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "long" - ], - "type": "array" - } - }, - { - "name": "matrix_cell_count", - "namespace": "contributed_analyses.file", - "type": { - "items": [ - "null", - "long" - ], - "type": "array" - } - } - ], - "name": "contributed_analyses.file", - "type": "record" - }, - "type": "array" - } - } - ], - "name": "contributed_analyses", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "projects", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "project_title", - "namespace": "projects", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "project_description", - "namespace": "projects", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "project_short_name", - "namespace": "projects", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "laboratory", - "namespace": "projects", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "institutions", - "namespace": "projects", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "contact_names", - "namespace": "projects", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "contributors", - "namespace": "projects", - "type": { - "items": { - "fields": [ - { - "name": "contact_name", - "namespace": "projects.contributors", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "corresponding_contributor", - "namespace": "projects.contributors", - "type": { - "items": [ - "null", - "boolean" - ], - "type": "array" - } - }, - { - "name": "email", - "namespace": "projects.contributors", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "institution", - "namespace": "projects.contributors", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "laboratory", - "namespace": "projects.contributors", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "project_role", - "namespace": "projects.contributors", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "projects.contributors", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "publication_titles", - "namespace": "projects", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "publications", - "namespace": "projects", - "type": { - "items": { - "fields": [ - { - "name": "publication_title", - "namespace": "projects.publications", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "publication_url", - "namespace": "projects.publications", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "official_hca_publication", - "namespace": "projects.publications", - "type": { - "items": [ - "null", - "boolean" - ], - "type": "array" - } - }, - { - "name": "doi", - "namespace": "projects.publications", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "projects.publications", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "supplementary_links", - "namespace": "projects", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "_type", - "namespace": "projects", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "accessions", - "namespace": "projects", - "type": { - "items": { - "fields": [ - { - "name": "namespace", - "namespace": "projects.accessions", - "type": [ - "null", - "string" - ] - }, - { - "name": "accession", - "namespace": "projects.accessions", - "type": [ - "null", - "string" - ] - } - ], - "name": "projects.accessions", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "is_tissue_atlas_project", - "namespace": "projects", - "type": { - "items": [ - "null", - "boolean" - ], - "type": "array" - } - }, - { - "name": "tissue_atlas", - "namespace": "projects", - "type": { - "items": { - "fields": [ - { - "name": "atlas", - "namespace": "projects.tissue_atlas", - "type": [ - "null", - "string" - ] - }, - { - "name": "version", - "namespace": "projects.tissue_atlas", - "type": [ - "null", - "string" - ] - } - ], - "name": "projects.tissue_atlas", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "bionetwork_name", - "namespace": "projects", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "estimated_cell_count", - "namespace": "projects", - "type": [ - "null", - "long" - ] - }, - { - "name": "data_use_restriction", - "namespace": "projects", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "duos_id", - "namespace": "projects", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "projects", - "type": "record" - }, - { - "fields": [ - { - "name": "document_id", - "namespace": "dates", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "aggregate_last_modified_date", - "namespace": "dates", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "aggregate_submission_date", - "namespace": "dates", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "aggregate_update_date", - "namespace": "dates", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "submission_date", - "namespace": "dates", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "update_date", - "namespace": "dates", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "last_modified_date", - "namespace": "dates", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "dates", - "type": "record" - } - ] - }, - { - "default": [], - "name": "relations", - "type": { - "items": { - "fields": [ - { - "name": "dst_id", - "type": "string" - }, - { - "name": "dst_name", - "type": "string" - } - ], - "name": "Relation", - "type": "record" - }, - "type": "array" - } - } - ], - "name": "Entity", - "type": "record" -} \ No newline at end of file diff --git a/test/service/data/manifest/verbatim/jsonl/anvil/linked.json b/test/service/data/manifest/verbatim/jsonl/anvil/linked.json deleted file mode 100644 index 02ba7a46ca..0000000000 --- a/test/service/data/manifest/verbatim/jsonl/anvil/linked.json +++ /dev/null @@ -1,235 +0,0 @@ -[ - { - "type": "anvil_biosample", - "value": { - "anatomical_site": null, - "apriori_cell_type": [], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "biosample_type": null, - "datarepo_row_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "disease": null, - "donor_age_at_collection_lower_bound": null, - "donor_age_at_collection_unit": null, - "donor_age_at_collection_upper_bound": null, - "donor_id": [ - "1e2bd7e5-f45e-a391-daea-7c060be76acd" - ], - "part_of_dataset_id": [ - "52ee7665-7033-63f2-a8d9-ce8e32666739" - ], - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ], - "version": "2022-06-01T00:00:00.000000Z" - } - }, - { - "type": "anvil_dataset", - "value": { - "consent_group": [ - "DS-BDIS" - ], - "data_modality": [], - "data_use_permission": [ - "DS-BDIS" - ], - "datarepo_row_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [], - "registered_identifier": [ - "phs000693" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS", - "version": "2022-06-01T00:00:00.000000Z" - } - }, - { - "type": "anvil_diagnosis", - "value": { - "datarepo_row_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "diagnosis_age_lower_bound": null, - "diagnosis_age_unit": null, - "diagnosis_age_upper_bound": null, - "diagnosis_id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "disease": [ - "redacted-A61iJlLx" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "onset_age_lower_bound": null, - "onset_age_unit": null, - "onset_age_upper_bound": null, - "phenopacket": [], - "phenotype": [ - "redacted-acSYHZUr" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "version": "2022-06-01T00:00:00.000000Z" - } - }, - { - "type": "anvil_diagnosis", - "value": { - "datarepo_row_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "diagnosis_age_lower_bound": null, - "diagnosis_age_unit": null, - "diagnosis_age_upper_bound": null, - "diagnosis_id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "disease": [ - "redacted-g50ublm/" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "onset_age_lower_bound": null, - "onset_age_unit": null, - "onset_age_upper_bound": null, - "phenopacket": [], - "phenotype": [ - "redacted-acSYHZUr" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "version": "2022-06-01T00:00:00.000000Z" - } - }, - { - "type": "anvil_donor", - "value": { - "datarepo_row_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "genetic_ancestry": [], - "organism_type": "redacted-ACw+6ecI", - "part_of_dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ], - "version": "2022-06-01T00:00:00.000000Z" - } - }, - { - "type": "anvil_file", - "value": { - "data_modality": [], - "datarepo_row_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "file_format": ".vcf.gz", - "file_id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "file_md5sum": "vuxgbuCqKZ/fkT9CWTFmIg==", - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67", - "file_size": 213021639, - "is_supplementary": false, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ], - "version": "2022-06-01T00:00:00.000000Z", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67", - "sha256": "", - "crc32": "" - } - }, - { - "type": "anvil_file", - "value": { - "data_modality": [], - "datarepo_row_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "file_format": ".bam", - "file_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "file_md5sum": "fNn9e1SovzgOROk3BvH6LQ==", - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37", - "file_size": 3306845592, - "is_supplementary": false, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ], - "version": "2022-06-01T00:00:00.000000Z", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37", - "sha256": "", - "crc32": "" - } - }, - { - "type": "anvil_sequencingactivity", - "value": { - "activity_type": "Sequencing", - "assay_type": [], - "data_modality": [], - "datarepo_row_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "generated_file_id": [ - "1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "sequencingactivity_id": "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "source_datarepo_row_ids": [ - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "used_biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ], - "version": "2022-06-01T00:00:00.000000Z" - } - }, - { - "type": "anvil_sequencingactivity", - "value": { - "activity_type": "Sequencing", - "assay_type": [], - "data_modality": [], - "datarepo_row_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "generated_file_id": [ - "8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "sequencingactivity_id": "a60c5138-3749-f7cb-8714-52d389ad5231", - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b" - ], - "used_biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ], - "version": "2022-06-01T00:00:00.000000Z" - } - }, - { - "type": "anvil_file", - "value": { - "data_modality": [], - "datarepo_row_id": "6b0f6c0f-5d80-4242-accb-840921351cd5", - "file_format": ".txt", - "file_md5sum": "S/GBrRjzZAQYqh3rdiPYzA==", - "file_id": "1fab11f5-7eab-4318-9a58-68d8d06e0715", - "file_name": "CCDG_13607_B01_GRM_WGS_2019-02-19_chr15.recalibrated_variants.annotated.coding.txt", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1fab11f5-7eab-4318-9a58-68d8d06e0715", - "file_size": 15079345, - "is_supplementary": true, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:04ff3af2-0543-4ea6-830a-d31b957fa2ee" - ], - "version": "2022-06-01T00:00:00.000000Z", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1fab11f5-7eab-4318-9a58-68d8d06e0715", - "sha256": "", - "crc32": "" - } - }, - { - "type": "duos_dataset_registration", - "value": { - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "description": "Study description from DUOS", - "duos_id": "DUOS-000000", - "version": "2022-06-01T00:00:00.000000Z" - } - } -] \ No newline at end of file diff --git a/test/service/data/manifest/verbatim/jsonl/anvil/orphans.json b/test/service/data/manifest/verbatim/jsonl/anvil/orphans.json deleted file mode 100644 index 56382b455f..0000000000 --- a/test/service/data/manifest/verbatim/jsonl/anvil/orphans.json +++ /dev/null @@ -1,26 +0,0 @@ -[ - { - "type": "non_schema_orphan_table", - "value": { - "datarepo_row_id": "9687b86d-a2ae-a083-b910-a16bcbef1ba4", - "non_schema_column": "spam", - "version": "2022-06-01T00:00:00.000000Z" - } - }, - { - "type": "non_schema_orphan_table", - "value": { - "datarepo_row_id": "28ed0f3a-157b-417b-a05a-48f57f9d3a34", - "non_schema_column": "eggs", - "version": "2022-06-01T00:00:00.000000Z" - } - }, - { - "type": "non_schema_orphan_table", - "value": { - "datarepo_row_id": "9db5952c-c454-49d9-8a62-5abb026701c0", - "non_schema_column": "baked beans", - "version": "2022-06-01T00:00:00.000000Z" - } - } -] \ No newline at end of file diff --git a/test/service/data/manifest/verbatim/jsonl/hca/manifest.json b/test/service/data/manifest/verbatim/jsonl/hca/manifest.json deleted file mode 100644 index 6976c0bcd1..0000000000 --- a/test/service/data/manifest/verbatim/jsonl/hca/manifest.json +++ /dev/null @@ -1,376 +0,0 @@ -[ - { - "type": "links", - "value": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.3/links", - "schema_type": "link_bundle", - "schema_version": "1.1.3", - "links": [ - { - "process": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4", - "inputs": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "input_type": "biomaterial", - "outputs": [ - "70d1af4a-82c8-478a-8960-e9028b3616ca", - "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb" - ], - "output_type": "file", - "protocols": [ - { - "protocol_type": "library_preparation_protocol", - "protocol_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af" - }, - { - "protocol_type": "sequencing_protocol", - "protocol_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a" - } - ] - }, - { - "process": "4c28e079-59af-4bd3-8c8b-763ea0beba98", - "inputs": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "input_type": "biomaterial", - "outputs": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "output_type": "biomaterial", - "protocols": [ - { - "protocol_type": "dissociation_protocol", - "protocol_id": "31e708d3-79df-49b8-a3df-b1d694963468" - }, - { - "protocol_type": "enrichment_protocol", - "protocol_id": "5bd4ba68-4c0e-4d22-840d-afc025e7badc" - } - ] - }, - { - "process": "4674255d-5ecd-4860-9b8d-beae98772cd9", - "inputs": [ - "7b07b9d0-cc0e-4098-9f64-f4a569f7d746" - ], - "input_type": "biomaterial", - "outputs": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "output_type": "biomaterial", - "protocols": [] - } - ] - } - }, - { - "type": "cell_suspension", - "value": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "GSM2172585 1", - "biomaterial_description": "Single cell from human pancreas", - "ncbi_taxon_id": [ - 9606 - ], - "insdc_biomaterial": "SRS1459312" - }, - "genus_species": [ - { - "text": "Homo sapiens", - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens" - } - ], - "total_estimated_cells": 1, - "provenance": { - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "submission_date": "2018-11-02T10:02:28.599Z", - "update_date": "2018-11-02T10:10:10.908Z" - } - } - }, - { - "type": "project", - "value": { - "describedBy": "https://schema.humancellatlas.org/type/project/9.0.3/project", - "schema_type": "project", - "project_core": { - "project_short_name": "Single of human pancreas", - "project_title": "Single cell transcriptome patterns.", - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue" - }, - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ], - "insdc_project": "SRP075496", - "geo_series": "GSE81547", - "contributors": [ - { - "contact_name": "Martin, Enge", - "email": "martin.enge@gmail.com", - "institution": "University", - "address": "Bioengineering, Stanford University, James H. Clark Center, 318 Campus Drive,, Stanford, CA, USA", - "country": "USA" - }, - { - "contact_name": "Laura,,Huerta", - "email": "lauhuema@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "country": "UK", - "project_role": "external curator", - "orcid_id": "0000-0002-8748-599X", - "corresponding_contributor": false - }, - { - "contact_name": "Matthew,,Green", - "email": "hewgreen@ebi.ac.uk", - "phone": "(+44) 122-349-4444", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD", - "country": "UK", - "project_role": "Human Cell Atlas wrangler", - "orcid_id": "0000-0003-2771-9894", - "corresponding_contributor": false - } - ], - "publications": [ - { - "authors": [ - "Enge M", - "Arda HE", - "Mignardi M", - "Beausang J", - "Bottino R", - "Kim SK", - "Quake SR" - ], - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "doi": "10.1016/j.cell.2017.09.004", - "pmid": 28965763, - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "provenance": { - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "submission_date": "2018-11-02T10:02:12.133Z", - "update_date": "2018-11-02T10:07:39.499Z" - } - } - }, - { - "type": "sequence_file", - "value": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3562915_2.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read2", - "read_length": 75, - "insdc_run": [ - "SRR3562915" - ], - "provenance": { - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "submission_date": "2018-11-02T10:03:39.593Z", - "update_date": "2018-11-02T10:35:03.810Z" - } - } - }, - { - "type": "sequence_file", - "value": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.5.2/sequence_file", - "schema_type": "file", - "file_core": { - "file_name": "SRR3562915_1.fastq.gz", - "file_format": "fastq.gz" - }, - "read_index": "read1", - "read_length": 75, - "insdc_run": [ - "SRR3562915" - ], - "provenance": { - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "submission_date": "2018-11-02T10:03:39.600Z", - "update_date": "2018-11-02T10:35:07.705Z" - } - } - }, - { - "type": "specimen_from_organism", - "value": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "DID_scRSq06_pancreas", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Australopithecus", - "ontology": "NCBITaxon:9606", - "ontology_label": "Australopithecus" - } - ], - "organ": { - "text": "pancreas", - "ontology": "UBERON:0001264", - "ontology_label": "pancreas" - }, - "organ_part": { - "text": "islet of Langerhans", - "ontology": "UBERON:0000006", - "ontology_label": "islet of Langerhans" - }, - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "provenance": { - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "submission_date": "2018-11-02T10:02:12.298Z", - "update_date": "2018-11-02T10:09:26.517Z" - } - } - }, - { - "type": "donor_organism", - "value": { - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "schema_type": "biomaterial", - "biomaterial_core": { - "biomaterial_id": "DID_scRSq06", - "ncbi_taxon_id": [ - 9606 - ] - }, - "genus_species": [ - { - "text": "Australopithecus", - "ontology": "NCBITaxon:9606", - "ontology_label": "Australopithecus" - } - ], - "is_living": "no", - "sex": "female", - "diseases": [ - { - "text": "normal", - "ontology": "PATO:0000461", - "ontology_label": "normal" - } - ], - "organism_age": "38", - "organism_age_unit": { - "text": "year", - "ontology": "UO:0000036", - "ontology_label": "year" - }, - "human_specific": { - "body_mass_index": 29.5, - "ethnicity": [ - { - "text": "European", - "ontology": "hancestro:0005", - "ontology_label": "European" - } - ] - }, - "death": { - "cause_of_death": "stroke" - }, - "provenance": { - "document_id": "7b07b9d0-cc0e-4098-9f64-f4a569f7d746", - "submission_date": "2018-11-02T10:02:12.191Z", - "update_date": "2018-11-02T10:07:39.622Z" - } - } - }, - { - "type": "library_preparation_protocol", - "value": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1" - }, - "nucleic_acid_source": "single cell", - "input_nucleic_acid_molecule": { - "text": "polyA RNA", - "ontology": "OBI:0000869" - }, - "library_construction_approach": { - "text": "Smart-seq2", - "ontology": "EFO:0008931", - "ontology_label": "Smart-seq2" - }, - "library_construction_kit": { - "retail_name": "Nextera XT kit", - "manufacturer": "Illumina" - }, - "end_bias": "full length", - "primer": "poly-dT", - "strand": "unstranded", - "provenance": { - "document_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "submission_date": "2018-11-02T10:05:05.547Z", - "update_date": "2018-11-02T10:05:10.360Z" - } - } - }, - { - "type": "sequencing_protocol", - "value": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/9.0.3/sequencing_protocol", - "schema_type": "protocol", - "protocol_core": { - "protocol_id": "sequencing_protocol_1" - }, - "instrument_manufacturer_model": { - "text": "Illumina NextSeq 500", - "ontology": "EFO:0008566", - "ontology_label": "Illumina NextSeq 500" - }, - "paired_end": true, - "sequencing_approach": { - "text": "RNA-Seq", - "ontology": "EFO:0008896", - "ontology_label": "RNA-Seq" - }, - "provenance": { - "document_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "submission_date": "2018-11-02T10:05:05.555Z", - "update_date": "2018-11-02T10:05:10.376Z" - } - } - }, - { - "type": "process", - "value": { - "process_core": { - "process_id": "SRR3562915" - }, - "schema_type": "process", - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "provenance": { - "document_id": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4", - "submission_date": "2018-11-02T10:06:37.087Z", - "update_date": "2018-11-02T10:13:43.197Z" - } - } - } -] \ No newline at end of file diff --git a/test/service/data/manifest/verbatim/pfb/anvil/pfb_entities.json b/test/service/data/manifest/verbatim/pfb/anvil/pfb_entities.json deleted file mode 100644 index 4725de9ac9..0000000000 --- a/test/service/data/manifest/verbatim/pfb/anvil/pfb_entities.json +++ /dev/null @@ -1,526 +0,0 @@ -[ - { - "id": null, - "name": "Metadata", - "object": { - "misc": {}, - "nodes": [ - { - "links": [ - { - "dst": "anvil_file", - "multiplicity": "MANY_TO_ONE", - "name": "from_activity.used_file_id_to_file.file_id" - }, - { - "dst": "anvil_file", - "multiplicity": "MANY_TO_ONE", - "name": "from_activity.generated_file_id_to_file.file_id" - }, - { - "dst": "anvil_biosample", - "multiplicity": "MANY_TO_ONE", - "name": "from_activity.used_biosample_id_to_biosample.biosample_id" - } - ], - "name": "anvil_activity", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "anvil_file", - "multiplicity": "MANY_TO_ONE", - "name": "from_alignmentactivity.used_file_id_to_file.file_id" - }, - { - "dst": "anvil_file", - "multiplicity": "MANY_TO_ONE", - "name": "from_alignmentactivity.generated_file_id_to_file.file_id" - } - ], - "name": "anvil_alignmentactivity", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [], - "name": "anvil_antibody", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "anvil_antibody", - "multiplicity": "MANY_TO_ONE", - "name": "from_assayactivity.antibody_id_to_antibody.antibody_id" - }, - { - "dst": "anvil_file", - "multiplicity": "MANY_TO_ONE", - "name": "from_assayactivity.generated_file_id_to_file.file_id" - }, - { - "dst": "anvil_biosample", - "multiplicity": "MANY_TO_ONE", - "name": "from_assayactivity.used_biosample_id_to_biosample.biosample_id" - } - ], - "name": "anvil_assayactivity", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "anvil_donor", - "multiplicity": "MANY_TO_ONE", - "name": "from_biosample.donor_id_to_donor.donor_id" - }, - { - "dst": "anvil_dataset", - "multiplicity": "MANY_TO_ONE", - "name": "from_biosample.part_of_dataset_id_to_dataset.dataset_id" - } - ], - "name": "anvil_biosample", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [], - "name": "anvil_dataset", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "anvil_donor", - "multiplicity": "MANY_TO_ONE", - "name": "from_diagnosis.donor_id_to_donor.donor_id" - } - ], - "name": "anvil_diagnosis", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "anvil_dataset", - "multiplicity": "MANY_TO_ONE", - "name": "from_donor.part_of_dataset_id_to_dataset.dataset_id" - } - ], - "name": "anvil_donor", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [], - "name": "anvil_file", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "anvil_dataset", - "multiplicity": "MANY_TO_ONE", - "name": "from_project.generated_dataset_id_to_dataset.dataset_id" - } - ], - "name": "anvil_project", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "anvil_file", - "multiplicity": "MANY_TO_ONE", - "name": "from_sequencingactivity.generated_file_id_to_file.file_id" - }, - { - "dst": "anvil_biosample", - "multiplicity": "MANY_TO_ONE", - "name": "from_sequencingactivity.used_biosample_id_to_biosample.biosample_id" - } - ], - "name": "anvil_sequencingactivity", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "anvil_file", - "multiplicity": "MANY_TO_ONE", - "name": "from_variantcallingactivity.used_file_id_to_file.file_id" - }, - { - "dst": "anvil_file", - "multiplicity": "MANY_TO_ONE", - "name": "from_variantcallingactivity.generated_file_id_to_file.file_id" - } - ], - "name": "anvil_variantcallingactivity", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [ - { - "dst": "anvil_dataset", - "multiplicity": "ONE_TO_ONE", - "name": "" - } - ], - "name": "duos_dataset_registration", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [], - "name": "non_schema_orphan_table", - "ontology_reference": "", - "properties": [], - "values": {} - } - ] - }, - "relations": [] - }, - { - "id": "DUOS-000000", - "name": "duos_dataset_registration", - "object": { - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "description": "Study description from DUOS", - "duos_id": "DUOS-000000", - "version": "2022-06-01T00:00:00.000000Z" - }, - "relations": [ - { - "dst_name": "anvil_dataset", - "dst_id": "52ee7665-7033-63f2-a8d9-ce8e32666739" - } - ] - }, - { - "id": "a60c5138-3749-f7cb-8714-52d389ad5231", - "name": "anvil_sequencingactivity", - "object": { - "activity_type": "Sequencing", - "assay_type": [], - "data_modality": [], - "datarepo_row_id": "816e364e-1193-4e5b-a91a-14e4b009157c", - "generated_file_id": [ - "8b722e88-8103-49c1-b351-e64fa7c6ab37" - ], - "sequencingactivity_id": "a60c5138-3749-f7cb-8714-52d389ad5231", - "source_datarepo_row_ids": [ - "sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b" - ], - "used_biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ] - }, - "relations": [ - { - "dst_name": "anvil_file", - "dst_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37" - }, - { - "dst_name": "anvil_biosample", - "dst_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - } - ] - }, - { - "id": "28ed0f3a-157b-417b-a05a-48f57f9d3a34", - "name": "non_schema_orphan_table", - "object": { - "datarepo_row_id": "28ed0f3a-157b-417b-a05a-48f57f9d3a34", - "non_schema_column": "eggs", - "version": "2022-06-01T00:00:00.000000Z" - }, - "relations": [] - }, - { - "id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "name": "anvil_biosample", - "object": { - "anatomical_site": null, - "apriori_cell_type": [], - "biosample_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b", - "biosample_type": null, - "datarepo_row_id": "826dea02-e274-4ffe-aabc-eb3db63ad068", - "disease": null, - "donor_age_at_collection_lower_bound": null, - "donor_age_at_collection_unit": null, - "donor_age_at_collection_upper_bound": null, - "donor_id": [ - "1e2bd7e5-f45e-a391-daea-7c060be76acd" - ], - "part_of_dataset_id": [ - "52ee7665-7033-63f2-a8d9-ce8e32666739" - ], - "source_datarepo_row_ids": [ - "sample:98048c3b-2525-4090-94fd-477de31f2608" - ] - }, - "relations": [ - { - "dst_name": "anvil_donor", - "dst_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd" - }, - { - "dst_name": "anvil_dataset", - "dst_id": "52ee7665-7033-63f2-a8d9-ce8e32666739" - } - ] - }, - { - "id": "1fab11f5-7eab-4318-9a58-68d8d06e0715", - "name": "anvil_file", - "object": { - "data_modality": [], - "datarepo_row_id": "6b0f6c0f-5d80-4242-accb-840921351cd5", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1fab11f5-7eab-4318-9a58-68d8d06e0715", - "file_format": ".txt", - "file_id": "1fab11f5-7eab-4318-9a58-68d8d06e0715", - "file_md5sum": "S/GBrRjzZAQYqh3rdiPYzA==", - "file_name": "CCDG_13607_B01_GRM_WGS_2019-02-19_chr15.recalibrated_variants.annotated.coding.txt", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1fab11f5-7eab-4318-9a58-68d8d06e0715", - "file_size": 15079345, - "is_supplementary": true, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:04ff3af2-0543-4ea6-830a-d31b957fa2ee" - ] - }, - "relations": [] - }, - { - "id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "name": "anvil_diagnosis", - "object": { - "datarepo_row_id": "15d85d30-ad4a-4f50-87a8-a27f59dd1b5f", - "diagnosis_age_lower_bound": null, - "diagnosis_age_unit": null, - "diagnosis_age_upper_bound": null, - "diagnosis_id": "5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6", - "disease": [ - "redacted-A61iJlLx" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "onset_age_lower_bound": null, - "onset_age_unit": null, - "onset_age_upper_bound": null, - "phenopacket": [], - "phenotype": [ - "redacted-acSYHZUr" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ] - }, - "relations": [ - { - "dst_name": "anvil_donor", - "dst_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd" - } - ] - }, - { - "id": "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "name": "anvil_sequencingactivity", - "object": { - "activity_type": "Sequencing", - "assay_type": [], - "data_modality": [], - "datarepo_row_id": "1509ef40-d1ba-440d-b298-16b7c173dcd4", - "generated_file_id": [ - "1e269f04-4347-4188-b060-1dcc69e71d67" - ], - "sequencingactivity_id": "18b3be87-e26b-4376-0d8d-c1e370e90e07", - "source_datarepo_row_ids": [ - "sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051" - ], - "used_biosample_id": [ - "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - ] - }, - "relations": [ - { - "dst_name": "anvil_file", - "dst_id": "1e269f04-4347-4188-b060-1dcc69e71d67" - }, - { - "dst_name": "anvil_biosample", - "dst_id": "f9d40cf6-37b8-22f3-ce35-0dc614d2452b" - } - ] - }, - { - "id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "name": "anvil_diagnosis", - "object": { - "datarepo_row_id": "939a4bd3-86ed-4a8a-81f4-fbe0ee673461", - "diagnosis_age_lower_bound": null, - "diagnosis_age_unit": null, - "diagnosis_age_upper_bound": null, - "diagnosis_id": "25ff8d32-18c9-fc3e-020a-5de20d35d906", - "disease": [ - "redacted-g50ublm/" - ], - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "onset_age_lower_bound": null, - "onset_age_unit": null, - "onset_age_upper_bound": null, - "phenopacket": [], - "phenotype": [ - "redacted-acSYHZUr" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ] - }, - "relations": [ - { - "dst_name": "anvil_donor", - "dst_id":"1e2bd7e5-f45e-a391-daea-7c060be76acd" - } - ] - }, - { - "id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "name": "anvil_dataset", - "object": { - "consent_group": [ - "DS-BDIS" - ], - "data_modality": [], - "data_use_permission": [ - "DS-BDIS" - ], - "datarepo_row_id": "2370f948-2783-4eb6-afea-e022897f4dcf", - "dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "owner": [ - "Debbie Nickerson" - ], - "principal_investigator": [], - "registered_identifier": [ - "phs000693" - ], - "source_datarepo_row_ids": [ - "workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc" - ], - "title": "ANVIL_CMG_UWASH_DS_BDIS" - }, - "relations": [] - }, - { - "id": "9687b86d-a2ae-a083-b910-a16bcbef1ba4", - "name": "non_schema_orphan_table", - "object": { - "datarepo_row_id": "9687b86d-a2ae-a083-b910-a16bcbef1ba4", - "non_schema_column": "spam", - "version": "2022-06-01T00:00:00.000000Z" - }, - "relations": [] - }, - { - "id": "9db5952c-c454-49d9-8a62-5abb026701c0", - "name": "non_schema_orphan_table", - "object": { - "datarepo_row_id": "9db5952c-c454-49d9-8a62-5abb026701c0", - "non_schema_column": "baked beans", - "version": "2022-06-01T00:00:00.000000Z" - }, - "relations": [] - }, - { - "id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "name": "anvil_file", - "object": { - "data_modality": [], - "datarepo_row_id": "15b76f9c-6b46-433f-851d-34e89f1b9ba6", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67", - "file_format": ".vcf.gz", - "file_id": "1e269f04-4347-4188-b060-1dcc69e71d67", - "file_md5sum": "vuxgbuCqKZ/fkT9CWTFmIg==", - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67", - "file_size": 213021639, - "is_supplementary": false, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0" - ] - }, - "relations": [] - }, - { - "id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "name": "anvil_donor", - "object": { - "datarepo_row_id": "bfd991f2-2797-4083-972a-da7c6d7f1b2e", - "donor_id": "1e2bd7e5-f45e-a391-daea-7c060be76acd", - "genetic_ancestry": [], - "organism_type": "redacted-ACw+6ecI", - "part_of_dataset_id": "52ee7665-7033-63f2-a8d9-ce8e32666739", - "phenotypic_sex": "redacted-JfQ0b3xG", - "reported_ethnicity": [ - "redacted-NSkwDycK" - ], - "source_datarepo_row_ids": [ - "subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef" - ] - }, - "relations": [ - { - "dst_name": "anvil_dataset", - "dst_id": "52ee7665-7033-63f2-a8d9-ce8e32666739" - } - ] - }, - { - "id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "name": "anvil_file", - "object": { - "data_modality": [], - "datarepo_row_id": "3b17377b-16b1-431c-9967-e5d01fc5923f", - "drs_uri": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37", - "file_format": ".bam", - "file_id": "8b722e88-8103-49c1-b351-e64fa7c6ab37", - "file_md5sum": "fNn9e1SovzgOROk3BvH6LQ==", - "file_name": "307500.merged.matefixed.sorted.markeddups.recal.bam", - "file_ref": "drs://mock_tdr.lan/v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37", - "file_size": 3306845592, - "is_supplementary": false, - "reference_assembly": [], - "source_datarepo_row_ids": [ - "file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2" - ] - }, - "relations": [] - } -] \ No newline at end of file diff --git a/test/service/data/manifest/verbatim/pfb/anvil/pfb_schema.json b/test/service/data/manifest/verbatim/pfb/anvil/pfb_schema.json deleted file mode 100644 index 145d3d9f2b..0000000000 --- a/test/service/data/manifest/verbatim/pfb/anvil/pfb_schema.json +++ /dev/null @@ -1,1200 +0,0 @@ -{ - "fields": [ - { - "default": null, - "name": "id", - "type": [ - "null", - "string" - ] - }, - { - "name": "name", - "type": "string" - }, - { - "name": "object", - "type": [ - { - "fields": [ - { - "name": "nodes", - "type": { - "items": { - "fields": [ - { - "name": "name", - "type": "string" - }, - { - "name": "ontology_reference", - "type": "string" - }, - { - "name": "values", - "type": { - "type": "map", - "values": "string" - } - }, - { - "name": "links", - "type": { - "items": { - "fields": [ - { - "name": "multiplicity", - "type": { - "name": "Multiplicity", - "symbols": [ - "ONE_TO_ONE", - "ONE_TO_MANY", - "MANY_TO_ONE", - "MANY_TO_MANY" - ], - "type": "enum" - } - }, - { - "name": "dst", - "type": "string" - }, - { - "name": "name", - "type": "string" - } - ], - "name": "Link", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "properties", - "type": { - "items": { - "fields": [ - { - "name": "name", - "type": "string" - }, - { - "name": "ontology_reference", - "type": "string" - }, - { - "name": "values", - "type": { - "type": "map", - "values": "string" - } - } - ], - "name": "Property", - "type": "record" - }, - "type": "array" - } - } - ], - "name": "Node", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "misc", - "type": { - "type": "map", - "values": "string" - } - } - ], - "name": "Metadata", - "type": "record" - }, - { - "fields": [ - { - "name": "activity_id", - "namespace": "anvil_activity", - "type": "string" - }, - { - "name": "activity_type", - "namespace": "anvil_activity", - "type": [ - "null", - "string" - ] - }, - { - "name": "datarepo_row_id", - "namespace": "anvil_activity", - "type": "string" - }, - { - "name": "generated_file_id", - "namespace": "anvil_activity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "source_datarepo_row_ids", - "namespace": "anvil_activity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "used_biosample_id", - "namespace": "anvil_activity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "used_file_id", - "namespace": "anvil_activity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "anvil_activity", - "type": "record" - }, - { - "fields": [ - { - "name": "activity_type", - "namespace": "anvil_alignmentactivity", - "type": [ - "null", - "string" - ] - }, - { - "name": "alignmentactivity_id", - "namespace": "anvil_alignmentactivity", - "type": "string" - }, - { - "name": "data_modality", - "namespace": "anvil_alignmentactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "datarepo_row_id", - "namespace": "anvil_alignmentactivity", - "type": "string" - }, - { - "name": "generated_file_id", - "namespace": "anvil_alignmentactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "reference_assembly", - "namespace": "anvil_alignmentactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "source_datarepo_row_ids", - "namespace": "anvil_alignmentactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "used_file_id", - "namespace": "anvil_alignmentactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "anvil_alignmentactivity", - "type": "record" - }, - { - "fields": [ - { - "name": "antibody_id", - "namespace": "anvil_antibody", - "type": "string" - }, - { - "name": "datarepo_row_id", - "namespace": "anvil_antibody", - "type": "string" - }, - { - "name": "source_datarepo_row_ids", - "namespace": "anvil_antibody", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "target", - "namespace": "anvil_antibody", - "type": [ - "null", - "string" - ] - } - ], - "name": "anvil_antibody", - "type": "record" - }, - { - "fields": [ - { - "name": "activity_type", - "namespace": "anvil_assayactivity", - "type": [ - "null", - "string" - ] - }, - { - "name": "antibody_id", - "namespace": "anvil_assayactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "assay_type", - "namespace": "anvil_assayactivity", - "type": [ - "null", - "string" - ] - }, - { - "name": "assayactivity_id", - "namespace": "anvil_assayactivity", - "type": "string" - }, - { - "name": "data_modality", - "namespace": "anvil_assayactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "datarepo_row_id", - "namespace": "anvil_assayactivity", - "type": "string" - }, - { - "name": "generated_file_id", - "namespace": "anvil_assayactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "source_datarepo_row_ids", - "namespace": "anvil_assayactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "used_biosample_id", - "namespace": "anvil_assayactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "anvil_assayactivity", - "type": "record" - }, - { - "fields": [ - { - "name": "anatomical_site", - "namespace": "anvil_biosample", - "type": [ - "null", - "string" - ] - }, - { - "name": "apriori_cell_type", - "namespace": "anvil_biosample", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "biosample_id", - "namespace": "anvil_biosample", - "type": "string" - }, - { - "name": "biosample_type", - "namespace": "anvil_biosample", - "type": [ - "null", - "string" - ] - }, - { - "name": "datarepo_row_id", - "namespace": "anvil_biosample", - "type": "string" - }, - { - "name": "disease", - "namespace": "anvil_biosample", - "type": [ - "null", - "string" - ] - }, - { - "name": "donor_age_at_collection_lower_bound", - "namespace": "anvil_biosample", - "type": [ - "null", - "double" - ] - }, - { - "name": "donor_age_at_collection_unit", - "namespace": "anvil_biosample", - "type": [ - "null", - "string" - ] - }, - { - "name": "donor_age_at_collection_upper_bound", - "namespace": "anvil_biosample", - "type": [ - "null", - "double" - ] - }, - { - "name": "donor_id", - "namespace": "anvil_biosample", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "part_of_dataset_id", - "namespace": "anvil_biosample", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "source_datarepo_row_ids", - "namespace": "anvil_biosample", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "anvil_biosample", - "type": "record" - }, - { - "fields": [ - { - "name": "consent_group", - "namespace": "anvil_dataset", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "data_modality", - "namespace": "anvil_dataset", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "data_use_permission", - "namespace": "anvil_dataset", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "datarepo_row_id", - "namespace": "anvil_dataset", - "type": "string" - }, - { - "name": "dataset_id", - "namespace": "anvil_dataset", - "type": "string" - }, - { - "name": "owner", - "namespace": "anvil_dataset", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "principal_investigator", - "namespace": "anvil_dataset", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "registered_identifier", - "namespace": "anvil_dataset", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "source_datarepo_row_ids", - "namespace": "anvil_dataset", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "title", - "namespace": "anvil_dataset", - "type": [ - "null", - "string" - ] - } - ], - "name": "anvil_dataset", - "type": "record" - }, - { - "fields": [ - { - "name": "datarepo_row_id", - "namespace": "anvil_diagnosis", - "type": "string" - }, - { - "name": "diagnosis_age_lower_bound", - "namespace": "anvil_diagnosis", - "type": [ - "null", - "double" - ] - }, - { - "name": "diagnosis_age_unit", - "namespace": "anvil_diagnosis", - "type": [ - "null", - "string" - ] - }, - { - "name": "diagnosis_age_upper_bound", - "namespace": "anvil_diagnosis", - "type": [ - "null", - "double" - ] - }, - { - "name": "diagnosis_id", - "namespace": "anvil_diagnosis", - "type": "string" - }, - { - "name": "disease", - "namespace": "anvil_diagnosis", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "donor_id", - "namespace": "anvil_diagnosis", - "type": [ - "null", - "string" - ] - }, - { - "name": "onset_age_lower_bound", - "namespace": "anvil_diagnosis", - "type": [ - "null", - "double" - ] - }, - { - "name": "onset_age_unit", - "namespace": "anvil_diagnosis", - "type": [ - "null", - "string" - ] - }, - { - "name": "onset_age_upper_bound", - "namespace": "anvil_diagnosis", - "type": [ - "null", - "double" - ] - }, - { - "name": "phenopacket", - "namespace": "anvil_diagnosis", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "phenotype", - "namespace": "anvil_diagnosis", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "source_datarepo_row_ids", - "namespace": "anvil_diagnosis", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "anvil_diagnosis", - "type": "record" - }, - { - "fields": [ - { - "name": "datarepo_row_id", - "namespace": "anvil_donor", - "type": "string" - }, - { - "name": "donor_id", - "namespace": "anvil_donor", - "type": "string" - }, - { - "name": "genetic_ancestry", - "namespace": "anvil_donor", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "organism_type", - "namespace": "anvil_donor", - "type": [ - "null", - "string" - ] - }, - { - "name": "part_of_dataset_id", - "namespace": "anvil_donor", - "type": [ - "null", - "string" - ] - }, - { - "name": "phenotypic_sex", - "namespace": "anvil_donor", - "type": [ - "null", - "string" - ] - }, - { - "name": "reported_ethnicity", - "namespace": "anvil_donor", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "source_datarepo_row_ids", - "namespace": "anvil_donor", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "anvil_donor", - "type": "record" - }, - { - "fields": [ - { - "name": "data_modality", - "namespace": "anvil_file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "datarepo_row_id", - "namespace": "anvil_file", - "type": "string" - }, - { - "name": "drs_uri", - "namespace": "anvil_file", - "type": [ - "null", - "string" - ] - }, - { - "name": "file_format", - "namespace": "anvil_file", - "type": [ - "null", - "string" - ] - }, - { - "name": "file_id", - "namespace": "anvil_file", - "type": "string" - }, - { - "name": "file_md5sum", - "namespace": "anvil_file", - "type": [ - "null", - "string" - ] - }, - { - "name": "file_name", - "namespace": "anvil_file", - "type": [ - "null", - "string" - ] - }, - { - "name": "file_ref", - "namespace": "anvil_file", - "type": [ - "null", - "string" - ] - }, - { - "name": "file_size", - "namespace": "anvil_file", - "type": [ - "null", - "long" - ] - }, - { - "name": "is_supplementary", - "namespace": "anvil_file", - "type": [ - "null", - "boolean" - ] - }, - { - "name": "reference_assembly", - "namespace": "anvil_file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "source_datarepo_row_ids", - "namespace": "anvil_file", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "anvil_file", - "type": "record" - }, - { - "fields": [ - { - "name": "datarepo_row_id", - "namespace": "anvil_project", - "type": "string" - }, - { - "name": "funded_by", - "namespace": "anvil_project", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "generated_dataset_id", - "namespace": "anvil_project", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "principal_investigator", - "namespace": "anvil_project", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "project_id", - "namespace": "anvil_project", - "type": "string" - }, - { - "name": "registered_identifier", - "namespace": "anvil_project", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "source_datarepo_row_ids", - "namespace": "anvil_project", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "title", - "namespace": "anvil_project", - "type": [ - "null", - "string" - ] - } - ], - "name": "anvil_project", - "type": "record" - }, - { - "fields": [ - { - "name": "activity_type", - "namespace": "anvil_sequencingactivity", - "type": [ - "null", - "string" - ] - }, - { - "name": "assay_type", - "namespace": "anvil_sequencingactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "data_modality", - "namespace": "anvil_sequencingactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "datarepo_row_id", - "namespace": "anvil_sequencingactivity", - "type": "string" - }, - { - "name": "generated_file_id", - "namespace": "anvil_sequencingactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "sequencingactivity_id", - "namespace": "anvil_sequencingactivity", - "type": "string" - }, - { - "name": "source_datarepo_row_ids", - "namespace": "anvil_sequencingactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "used_biosample_id", - "namespace": "anvil_sequencingactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - } - ], - "name": "anvil_sequencingactivity", - "type": "record" - }, - { - "fields": [ - { - "name": "activity_type", - "namespace": "anvil_variantcallingactivity", - "type": [ - "null", - "string" - ] - }, - { - "name": "data_modality", - "namespace": "anvil_variantcallingactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "datarepo_row_id", - "namespace": "anvil_variantcallingactivity", - "type": "string" - }, - { - "name": "generated_file_id", - "namespace": "anvil_variantcallingactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "reference_assembly", - "namespace": "anvil_variantcallingactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "source_datarepo_row_ids", - "namespace": "anvil_variantcallingactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "used_file_id", - "namespace": "anvil_variantcallingactivity", - "type": { - "items": [ - "null", - "string" - ], - "type": "array" - } - }, - { - "name": "variantcallingactivity_id", - "namespace": "anvil_variantcallingactivity", - "type": "string" - } - ], - "name": "anvil_variantcallingactivity", - "type": "record" - }, - { - "fields": [ - { - "name": "dataset_id", - "namespace": "duos_dataset_registration", - "type": "string" - }, - { - "name": "description", - "namespace": "duos_dataset_registration", - "type": "string" - }, - { - "name": "duos_id", - "namespace": "duos_dataset_registration", - "type": "string" - }, - { - "name": "version", - "namespace": "duos_dataset_registration", - "type": "string" - } - ], - "name": "duos_dataset_registration", - "type": "record" - }, - { - "fields": [ - { - "name": "datarepo_row_id", - "namespace": "non_schema_orphan_table", - "type": "string" - }, - { - "name": "non_schema_column", - "namespace": "non_schema_orphan_table", - "type": "string" - }, - { - "name": "version", - "namespace": "non_schema_orphan_table", - "type": "string" - } - ], - "name": "non_schema_orphan_table", - "type": "record" - } - ] - }, - { - "default": [], - "name": "relations", - "type": { - "items": { - "fields": [ - { - "name": "dst_id", - "type": "string" - }, - { - "name": "dst_name", - "type": "string" - } - ], - "name": "Relation", - "type": "record" - }, - "type": "array" - } - } - ], - "name": "Entity", - "type": "record" -} \ No newline at end of file diff --git a/test/service/data/manifest/verbatim/pfb/hca/pfb_entities.json b/test/service/data/manifest/verbatim/pfb/hca/pfb_entities.json deleted file mode 100644 index 7b586923c1..0000000000 --- a/test/service/data/manifest/verbatim/pfb/hca/pfb_entities.json +++ /dev/null @@ -1,475 +0,0 @@ -[ - { - "id": null, - "name": "Metadata", - "object": { - "misc": {}, - "nodes": [ - { - "links": [], - "name": "cell_suspension", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [], - "name": "donor_organism", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [], - "name": "library_preparation_protocol", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [], - "name": "links", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [], - "name": "process", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [], - "name": "project", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [], - "name": "sequence_file", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [], - "name": "sequencing_protocol", - "ontology_reference": "", - "properties": [], - "values": {} - }, - { - "links": [], - "name": "specimen_from_organism", - "ontology_reference": "", - "properties": [], - "values": {} - } - ] - }, - "relations": [] - }, - { - "id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "name": "sequence_file", - "object": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.5.2/sequence_file", - "file_core": { - "file_format": "fastq.gz", - "file_name": "SRR3562915_2.fastq.gz" - }, - "insdc_run": [ - "SRR3562915" - ], - "provenance": { - "document_id": "70d1af4a-82c8-478a-8960-e9028b3616ca", - "submission_date": "2018-11-02T10:03:39.593Z", - "update_date": "2018-11-02T10:35:03.810Z" - }, - "read_index": "read2", - "read_length": 75, - "schema_type": "file" - }, - "relations": [] - }, - { - "id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "name": "sequence_file", - "object": { - "describedBy": "https://schema.humancellatlas.org/type/file/6.5.2/sequence_file", - "file_core": { - "file_format": "fastq.gz", - "file_name": "SRR3562915_1.fastq.gz" - }, - "insdc_run": [ - "SRR3562915" - ], - "provenance": { - "document_id": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "submission_date": "2018-11-02T10:03:39.600Z", - "update_date": "2018-11-02T10:35:07.705Z" - }, - "read_index": "read1", - "read_length": 75, - "schema_type": "file" - }, - "relations": [] - }, - { - "id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "name": "cell_suspension", - "object": { - "biomaterial_core": { - "biomaterial_description": "Single cell from human pancreas", - "biomaterial_id": "GSM2172585 1", - "insdc_biomaterial": "SRS1459312", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/8.6.1/cell_suspension", - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Homo sapiens", - "text": "Homo sapiens" - } - ], - "provenance": { - "document_id": "412898c5-5b9b-4907-b07c-e9b89666e204", - "submission_date": "2018-11-02T10:02:28.599Z", - "update_date": "2018-11-02T10:10:10.908Z" - }, - "schema_type": "biomaterial", - "total_estimated_cells": 1 - }, - "relations": [] - }, - { - "id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "name": "sequencing_protocol", - "object": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/9.0.3/sequencing_protocol", - "instrument_manufacturer_model": { - "ontology": "EFO:0008566", - "ontology_label": "Illumina NextSeq 500", - "text": "Illumina NextSeq 500" - }, - "paired_end": true, - "protocol_core": { - "protocol_id": "sequencing_protocol_1" - }, - "provenance": { - "document_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "submission_date": "2018-11-02T10:05:05.555Z", - "update_date": "2018-11-02T10:05:10.376Z" - }, - "schema_type": "protocol", - "sequencing_approach": { - "ontology": "EFO:0008896", - "ontology_label": "RNA-Seq", - "text": "RNA-Seq" - } - }, - "relations": [] - }, - { - "id": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4", - "name": "process", - "object": { - "describedBy": "https://schema.humancellatlas.org/type/process/6.0.2/process", - "process_core": { - "process_id": "SRR3562915" - }, - "provenance": { - "document_id": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4", - "submission_date": "2018-11-02T10:06:37.087Z", - "update_date": "2018-11-02T10:13:43.197Z" - }, - "schema_type": "process" - }, - "relations": [] - }, - { - "id": "7b07b9d0-cc0e-4098-9f64-f4a569f7d746", - "name": "donor_organism", - "object": { - "biomaterial_core": { - "biomaterial_id": "DID_scRSq06", - "ncbi_taxon_id": [ - 9606 - ] - }, - "death": { - "cause_of_death": "stroke" - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/10.1.2/donor_organism", - "diseases": [ - { - "ontology": "PATO:0000461", - "ontology_label": "normal", - "text": "normal" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Australopithecus", - "text": "Australopithecus" - } - ], - "human_specific": { - "body_mass_index": 29.5, - "ethnicity": [ - { - "ontology": "hancestro:0005", - "ontology_label": "European", - "text": "European" - } - ] - }, - "is_living": "no", - "organism_age": "38", - "organism_age_unit": { - "ontology": "UO:0000036", - "ontology_label": "year", - "text": "year" - }, - "provenance": { - "document_id": "7b07b9d0-cc0e-4098-9f64-f4a569f7d746", - "submission_date": "2018-11-02T10:02:12.191Z", - "update_date": "2018-11-02T10:07:39.622Z" - }, - "schema_type": "biomaterial", - "sex": "female" - }, - "relations": [] - }, - { - "id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "name": "library_preparation_protocol", - "object": { - "describedBy": "https://schema.humancellatlas.org/type/protocol/sequencing/4.3.3/library_preparation_protocol", - "end_bias": "full length", - "input_nucleic_acid_molecule": { - "ontology": "OBI:0000869", - "text": "polyA RNA" - }, - "library_construction_approach": { - "ontology": "EFO:0008931", - "ontology_label": "Smart-seq2", - "text": "Smart-seq2" - }, - "library_construction_kit": { - "manufacturer": "Illumina", - "retail_name": "Nextera XT kit" - }, - "nucleic_acid_source": "single cell", - "primer": "poly-dT", - "protocol_core": { - "protocol_id": "library_preparation_protocol_1" - }, - "provenance": { - "document_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "submission_date": "2018-11-02T10:05:05.547Z", - "update_date": "2018-11-02T10:05:10.360Z" - }, - "schema_type": "protocol", - "strand": "unstranded" - }, - "relations": [] - }, - { - "id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "name": "specimen_from_organism", - "object": { - "biomaterial_core": { - "biomaterial_id": "DID_scRSq06_pancreas", - "ncbi_taxon_id": [ - 9606 - ] - }, - "describedBy": "https://schema.humancellatlas.org/type/biomaterial/6.3.3/specimen_from_organism", - "diseases": [ - { - "ontology": "PATO:0000461", - "ontology_label": "normal", - "text": "normal" - } - ], - "genus_species": [ - { - "ontology": "NCBITaxon:9606", - "ontology_label": "Australopithecus", - "text": "Australopithecus" - } - ], - "organ": { - "ontology": "UBERON:0001264", - "ontology_label": "pancreas", - "text": "pancreas" - }, - "organ_part": { - "ontology": "UBERON:0000006", - "ontology_label": "islet of Langerhans", - "text": "islet of Langerhans" - }, - "provenance": { - "document_id": "a21dc760-a500-4236-bcff-da34a0e873d2", - "submission_date": "2018-11-02T10:02:12.298Z", - "update_date": "2018-11-02T10:09:26.517Z" - }, - "schema_type": "biomaterial" - }, - "relations": [] - }, - { - "id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "name": "project", - "object": { - "contributors": [ - { - "address": "Bioengineering, Stanford University, James H. Clark Center, 318 Campus Drive,, Stanford, CA, USA", - "contact_name": "Martin, Enge", - "corresponding_contributor": null, - "country": "USA", - "email": "martin.enge@gmail.com", - "institution": "University", - "laboratory": null, - "orcid_id": null, - "phone": null, - "project_role": null - }, - { - "address": "Wellcome Trust Genome Campus, Cambridge UK", - "contact_name": "Laura,,Huerta", - "corresponding_contributor": false, - "country": "UK", - "email": "lauhuema@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "orcid_id": "0000-0002-8748-599X", - "phone": null, - "project_role": "external curator" - }, - { - "address": "Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD", - "contact_name": "Matthew,,Green", - "corresponding_contributor": false, - "country": "UK", - "email": "hewgreen@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "orcid_id": "0000-0003-2771-9894", - "phone": "(+44) 122-349-4444", - "project_role": "Human Cell Atlas wrangler" - } - ], - "describedBy": "https://schema.humancellatlas.org/type/project/9.0.3/project", - "geo_series": "GSE81547", - "insdc_project": "SRP075496", - "project_core": { - "project_description": "As organisms age, cells accumulate genetic and epigenetic changes that eventually lead to impaired organ function or catastrophic failure such as cancer. Here we describe a single-cell transcriptome analysis of 2544 human pancreas cells from donors, spanning six decades of life. We find that islet cells from older donors have increased levels of disorder as measured both by noise in the transcriptome and by the number of cells which display inappropriate hormone expression, revealing a transcriptional instability associated with aging. By analyzing the spectrum of somatic mutations in single cells from previously-healthy donors, we find a specific age-dependent mutational signature characterized by C to A and C to G transversions, indicators of oxidative stress, which is absent in single cells from human brain tissue or in a tumor cell line. Cells carrying a high load of such mutations also express higher levels of stress and senescence markers, including FOS, JUN, and the cytoplasmic superoxide dismutase SOD1, markers previously linked to pancreatic diseases with substantial age-dependent risk, such as type 2 diabetes mellitus and adenocarcinoma. Thus, our single-cell approach unveils gene expression changes and somatic mutations acquired in aging human tissue, and identifies molecular pathways induced by these genetic changes that could influence human disease. Also, our results demonstrate the feasibility of using single-cell RNA-seq data from primary cells to derive meaningful insights into the genetic processes that operate on aging human tissue and to determine which molecular mechanisms are coordinated with these processes. Examination of single cells from primary human pancreas tissue", - "project_short_name": "Single of human pancreas", - "project_title": "Single cell transcriptome patterns." - }, - "provenance": { - "document_id": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "submission_date": "2018-11-02T10:02:12.133Z", - "update_date": "2018-11-02T10:07:39.499Z" - }, - "publications": [ - { - "authors": [ - "Enge M", - "Arda HE", - "Mignardi M", - "Beausang J", - "Bottino R", - "Kim SK", - "Quake SR" - ], - "doi": "10.1016/j.cell.2017.09.004", - "pmid": 28965763, - "publication_title": "Single-Cell Analysis of Human Pancreas Reveals Transcriptional Signatures of Aging and Somatic Mutation Patterns.", - "publication_url": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "schema_type": "project", - "supplementary_links": [ - "https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results" - ] - }, - "relations": [] - }, - { - "id": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "name": "links", - "object": { - "describedBy": "https://schema.humancellatlas.org/system/1.1.3/links", - "links": [ - { - "input_type": "biomaterial", - "inputs": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "output_type": "file", - "outputs": [ - "70d1af4a-82c8-478a-8960-e9028b3616ca", - "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb" - ], - "process": "771ddaf6-3a4f-4314-97fe-6294ff8e25a4", - "protocols": [ - { - "protocol_id": "9c32cf70-3ed7-4720-badc-5ee71e8a38af", - "protocol_type": "library_preparation_protocol" - }, - { - "protocol_id": "61e629ed-0135-4492-ac8a-5c4ab3ccca8a", - "protocol_type": "sequencing_protocol" - } - ] - }, - { - "input_type": "biomaterial", - "inputs": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "output_type": "biomaterial", - "outputs": [ - "412898c5-5b9b-4907-b07c-e9b89666e204" - ], - "process": "4c28e079-59af-4bd3-8c8b-763ea0beba98", - "protocols": [ - { - "protocol_id": "31e708d3-79df-49b8-a3df-b1d694963468", - "protocol_type": "dissociation_protocol" - }, - { - "protocol_id": "5bd4ba68-4c0e-4d22-840d-afc025e7badc", - "protocol_type": "enrichment_protocol" - } - ] - }, - { - "input_type": "biomaterial", - "inputs": [ - "7b07b9d0-cc0e-4098-9f64-f4a569f7d746" - ], - "output_type": "biomaterial", - "outputs": [ - "a21dc760-a500-4236-bcff-da34a0e873d2" - ], - "process": "4674255d-5ecd-4860-9b8d-beae98772cd9", - "protocols": [] - } - ], - "schema_type": "link_bundle", - "schema_version": "1.1.3" - }, - "relations": [] - } -] \ No newline at end of file diff --git a/test/service/data/manifest/verbatim/pfb/hca/pfb_schema.json b/test/service/data/manifest/verbatim/pfb/hca/pfb_schema.json deleted file mode 100644 index 9a7a044fc4..0000000000 --- a/test/service/data/manifest/verbatim/pfb/hca/pfb_schema.json +++ /dev/null @@ -1,1317 +0,0 @@ -{ - "fields": [ - { - "default": null, - "name": "id", - "type": [ - "null", - "string" - ] - }, - { - "name": "name", - "type": "string" - }, - { - "name": "object", - "type": [ - { - "fields": [ - { - "name": "nodes", - "type": { - "items": { - "fields": [ - { - "name": "name", - "type": "string" - }, - { - "name": "ontology_reference", - "type": "string" - }, - { - "name": "values", - "type": { - "type": "map", - "values": "string" - } - }, - { - "name": "links", - "type": { - "items": { - "fields": [ - { - "name": "multiplicity", - "type": { - "name": "Multiplicity", - "symbols": [ - "ONE_TO_ONE", - "ONE_TO_MANY", - "MANY_TO_ONE", - "MANY_TO_MANY" - ], - "type": "enum" - } - }, - { - "name": "dst", - "type": "string" - }, - { - "name": "name", - "type": "string" - } - ], - "name": "Link", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "properties", - "type": { - "items": { - "fields": [ - { - "name": "name", - "type": "string" - }, - { - "name": "ontology_reference", - "type": "string" - }, - { - "name": "values", - "type": { - "type": "map", - "values": "string" - } - } - ], - "name": "Property", - "type": "record" - }, - "type": "array" - } - } - ], - "name": "Node", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "misc", - "type": { - "type": "map", - "values": "string" - } - } - ], - "name": "Metadata", - "type": "record" - }, - { - "fields": [ - { - "name": "biomaterial_core", - "namespace": "cell_suspension", - "type": { - "fields": [ - { - "name": "biomaterial_description", - "namespace": "cell_suspension.biomaterial_core", - "type": "string" - }, - { - "name": "biomaterial_id", - "namespace": "cell_suspension.biomaterial_core", - "type": "string" - }, - { - "name": "insdc_biomaterial", - "namespace": "cell_suspension.biomaterial_core", - "type": "string" - }, - { - "name": "ncbi_taxon_id", - "namespace": "cell_suspension.biomaterial_core", - "type": { - "items": "long", - "type": "array" - } - } - ], - "name": "cell_suspension.biomaterial_core", - "type": "record" - } - }, - { - "name": "describedBy", - "namespace": "cell_suspension", - "type": "string" - }, - { - "name": "genus_species", - "namespace": "cell_suspension", - "type": { - "items": { - "fields": [ - { - "name": "ontology", - "namespace": "cell_suspension.genus_species", - "type": "string" - }, - { - "name": "ontology_label", - "namespace": "cell_suspension.genus_species", - "type": "string" - }, - { - "name": "text", - "namespace": "cell_suspension.genus_species", - "type": "string" - } - ], - "name": "cell_suspension.genus_species", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "provenance", - "namespace": "cell_suspension", - "type": { - "fields": [ - { - "name": "document_id", - "namespace": "cell_suspension.provenance", - "type": "string" - }, - { - "name": "submission_date", - "namespace": "cell_suspension.provenance", - "type": "string" - }, - { - "name": "update_date", - "namespace": "cell_suspension.provenance", - "type": "string" - } - ], - "name": "cell_suspension.provenance", - "type": "record" - } - }, - { - "name": "schema_type", - "namespace": "cell_suspension", - "type": "string" - }, - { - "name": "total_estimated_cells", - "namespace": "cell_suspension", - "type": "long" - } - ], - "name": "cell_suspension", - "type": "record" - }, - { - "fields": [ - { - "name": "biomaterial_core", - "namespace": "donor_organism", - "type": { - "fields": [ - { - "name": "biomaterial_id", - "namespace": "donor_organism.biomaterial_core", - "type": "string" - }, - { - "name": "ncbi_taxon_id", - "namespace": "donor_organism.biomaterial_core", - "type": { - "items": "long", - "type": "array" - } - } - ], - "name": "donor_organism.biomaterial_core", - "type": "record" - } - }, - { - "name": "death", - "namespace": "donor_organism", - "type": { - "fields": [ - { - "name": "cause_of_death", - "namespace": "donor_organism.death", - "type": "string" - } - ], - "name": "donor_organism.death", - "type": "record" - } - }, - { - "name": "describedBy", - "namespace": "donor_organism", - "type": "string" - }, - { - "name": "diseases", - "namespace": "donor_organism", - "type": { - "items": { - "fields": [ - { - "name": "ontology", - "namespace": "donor_organism.diseases", - "type": "string" - }, - { - "name": "ontology_label", - "namespace": "donor_organism.diseases", - "type": "string" - }, - { - "name": "text", - "namespace": "donor_organism.diseases", - "type": "string" - } - ], - "name": "donor_organism.diseases", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "genus_species", - "namespace": "donor_organism", - "type": { - "items": { - "fields": [ - { - "name": "ontology", - "namespace": "donor_organism.genus_species", - "type": "string" - }, - { - "name": "ontology_label", - "namespace": "donor_organism.genus_species", - "type": "string" - }, - { - "name": "text", - "namespace": "donor_organism.genus_species", - "type": "string" - } - ], - "name": "donor_organism.genus_species", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "human_specific", - "namespace": "donor_organism", - "type": { - "fields": [ - { - "name": "body_mass_index", - "namespace": "donor_organism.human_specific", - "type": "double" - }, - { - "name": "ethnicity", - "namespace": "donor_organism.human_specific", - "type": { - "items": { - "fields": [ - { - "name": "ontology", - "namespace": "donor_organism.human_specific.ethnicity", - "type": "string" - }, - { - "name": "ontology_label", - "namespace": "donor_organism.human_specific.ethnicity", - "type": "string" - }, - { - "name": "text", - "namespace": "donor_organism.human_specific.ethnicity", - "type": "string" - } - ], - "name": "donor_organism.human_specific.ethnicity", - "type": "record" - }, - "type": "array" - } - } - ], - "name": "donor_organism.human_specific", - "type": "record" - } - }, - { - "name": "is_living", - "namespace": "donor_organism", - "type": "string" - }, - { - "name": "organism_age", - "namespace": "donor_organism", - "type": "string" - }, - { - "name": "organism_age_unit", - "namespace": "donor_organism", - "type": { - "fields": [ - { - "name": "ontology", - "namespace": "donor_organism.organism_age_unit", - "type": "string" - }, - { - "name": "ontology_label", - "namespace": "donor_organism.organism_age_unit", - "type": "string" - }, - { - "name": "text", - "namespace": "donor_organism.organism_age_unit", - "type": "string" - } - ], - "name": "donor_organism.organism_age_unit", - "type": "record" - } - }, - { - "name": "provenance", - "namespace": "donor_organism", - "type": { - "fields": [ - { - "name": "document_id", - "namespace": "donor_organism.provenance", - "type": "string" - }, - { - "name": "submission_date", - "namespace": "donor_organism.provenance", - "type": "string" - }, - { - "name": "update_date", - "namespace": "donor_organism.provenance", - "type": "string" - } - ], - "name": "donor_organism.provenance", - "type": "record" - } - }, - { - "name": "schema_type", - "namespace": "donor_organism", - "type": "string" - }, - { - "name": "sex", - "namespace": "donor_organism", - "type": "string" - } - ], - "name": "donor_organism", - "type": "record" - }, - { - "fields": [ - { - "name": "describedBy", - "namespace": "library_preparation_protocol", - "type": "string" - }, - { - "name": "end_bias", - "namespace": "library_preparation_protocol", - "type": "string" - }, - { - "name": "input_nucleic_acid_molecule", - "namespace": "library_preparation_protocol", - "type": { - "fields": [ - { - "name": "ontology", - "namespace": "library_preparation_protocol.input_nucleic_acid_molecule", - "type": "string" - }, - { - "name": "text", - "namespace": "library_preparation_protocol.input_nucleic_acid_molecule", - "type": "string" - } - ], - "name": "library_preparation_protocol.input_nucleic_acid_molecule", - "type": "record" - } - }, - { - "name": "library_construction_approach", - "namespace": "library_preparation_protocol", - "type": { - "fields": [ - { - "name": "ontology", - "namespace": "library_preparation_protocol.library_construction_approach", - "type": "string" - }, - { - "name": "ontology_label", - "namespace": "library_preparation_protocol.library_construction_approach", - "type": "string" - }, - { - "name": "text", - "namespace": "library_preparation_protocol.library_construction_approach", - "type": "string" - } - ], - "name": "library_preparation_protocol.library_construction_approach", - "type": "record" - } - }, - { - "name": "library_construction_kit", - "namespace": "library_preparation_protocol", - "type": { - "fields": [ - { - "name": "manufacturer", - "namespace": "library_preparation_protocol.library_construction_kit", - "type": "string" - }, - { - "name": "retail_name", - "namespace": "library_preparation_protocol.library_construction_kit", - "type": "string" - } - ], - "name": "library_preparation_protocol.library_construction_kit", - "type": "record" - } - }, - { - "name": "nucleic_acid_source", - "namespace": "library_preparation_protocol", - "type": "string" - }, - { - "name": "primer", - "namespace": "library_preparation_protocol", - "type": "string" - }, - { - "name": "protocol_core", - "namespace": "library_preparation_protocol", - "type": { - "fields": [ - { - "name": "protocol_id", - "namespace": "library_preparation_protocol.protocol_core", - "type": "string" - } - ], - "name": "library_preparation_protocol.protocol_core", - "type": "record" - } - }, - { - "name": "provenance", - "namespace": "library_preparation_protocol", - "type": { - "fields": [ - { - "name": "document_id", - "namespace": "library_preparation_protocol.provenance", - "type": "string" - }, - { - "name": "submission_date", - "namespace": "library_preparation_protocol.provenance", - "type": "string" - }, - { - "name": "update_date", - "namespace": "library_preparation_protocol.provenance", - "type": "string" - } - ], - "name": "library_preparation_protocol.provenance", - "type": "record" - } - }, - { - "name": "schema_type", - "namespace": "library_preparation_protocol", - "type": "string" - }, - { - "name": "strand", - "namespace": "library_preparation_protocol", - "type": "string" - } - ], - "name": "library_preparation_protocol", - "type": "record" - }, - { - "fields": [ - { - "name": "describedBy", - "namespace": "links", - "type": "string" - }, - { - "name": "links", - "namespace": "links", - "type": { - "items": { - "fields": [ - { - "name": "input_type", - "namespace": "links.links", - "type": "string" - }, - { - "name": "inputs", - "namespace": "links.links", - "type": { - "items": "string", - "type": "array" - } - }, - { - "name": "output_type", - "namespace": "links.links", - "type": "string" - }, - { - "name": "outputs", - "namespace": "links.links", - "type": { - "items": "string", - "type": "array" - } - }, - { - "name": "process", - "namespace": "links.links", - "type": "string" - }, - { - "name": "protocols", - "namespace": "links.links", - "type": { - "items": { - "fields": [ - { - "name": "protocol_id", - "namespace": "links.links.protocols", - "type": "string" - }, - { - "name": "protocol_type", - "namespace": "links.links.protocols", - "type": "string" - } - ], - "name": "links.links.protocols", - "type": "record" - }, - "type": "array" - } - } - ], - "name": "links.links", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "schema_type", - "namespace": "links", - "type": "string" - }, - { - "name": "schema_version", - "namespace": "links", - "type": "string" - } - ], - "name": "links", - "type": "record" - }, - { - "fields": [ - { - "name": "describedBy", - "namespace": "process", - "type": "string" - }, - { - "name": "process_core", - "namespace": "process", - "type": { - "fields": [ - { - "name": "process_id", - "namespace": "process.process_core", - "type": "string" - } - ], - "name": "process.process_core", - "type": "record" - } - }, - { - "name": "provenance", - "namespace": "process", - "type": { - "fields": [ - { - "name": "document_id", - "namespace": "process.provenance", - "type": "string" - }, - { - "name": "submission_date", - "namespace": "process.provenance", - "type": "string" - }, - { - "name": "update_date", - "namespace": "process.provenance", - "type": "string" - } - ], - "name": "process.provenance", - "type": "record" - } - }, - { - "name": "schema_type", - "namespace": "process", - "type": "string" - } - ], - "name": "process", - "type": "record" - }, - { - "fields": [ - { - "name": "contributors", - "namespace": "project", - "type": { - "items": { - "fields": [ - { - "name": "address", - "namespace": "project.contributors", - "type": "string" - }, - { - "name": "contact_name", - "namespace": "project.contributors", - "type": "string" - }, - { - "name": "corresponding_contributor", - "namespace": "project.contributors", - "type": [ - "boolean", - "null" - ] - }, - { - "name": "country", - "namespace": "project.contributors", - "type": "string" - }, - { - "name": "email", - "namespace": "project.contributors", - "type": "string" - }, - { - "name": "institution", - "namespace": "project.contributors", - "type": "string" - }, - { - "name": "laboratory", - "namespace": "project.contributors", - "type": [ - "null", - "string" - ] - }, - { - "name": "orcid_id", - "namespace": "project.contributors", - "type": [ - "null", - "string" - ] - }, - { - "name": "phone", - "namespace": "project.contributors", - "type": [ - "null", - "string" - ] - }, - { - "name": "project_role", - "namespace": "project.contributors", - "type": [ - "null", - "string" - ] - } - ], - "name": "project.contributors", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "describedBy", - "namespace": "project", - "type": "string" - }, - { - "name": "geo_series", - "namespace": "project", - "type": "string" - }, - { - "name": "insdc_project", - "namespace": "project", - "type": "string" - }, - { - "name": "project_core", - "namespace": "project", - "type": { - "fields": [ - { - "name": "project_description", - "namespace": "project.project_core", - "type": "string" - }, - { - "name": "project_short_name", - "namespace": "project.project_core", - "type": "string" - }, - { - "name": "project_title", - "namespace": "project.project_core", - "type": "string" - } - ], - "name": "project.project_core", - "type": "record" - } - }, - { - "name": "provenance", - "namespace": "project", - "type": { - "fields": [ - { - "name": "document_id", - "namespace": "project.provenance", - "type": "string" - }, - { - "name": "submission_date", - "namespace": "project.provenance", - "type": "string" - }, - { - "name": "update_date", - "namespace": "project.provenance", - "type": "string" - } - ], - "name": "project.provenance", - "type": "record" - } - }, - { - "name": "publications", - "namespace": "project", - "type": { - "items": { - "fields": [ - { - "name": "authors", - "namespace": "project.publications", - "type": { - "items": "string", - "type": "array" - } - }, - { - "name": "doi", - "namespace": "project.publications", - "type": "string" - }, - { - "name": "pmid", - "namespace": "project.publications", - "type": "long" - }, - { - "name": "publication_title", - "namespace": "project.publications", - "type": "string" - }, - { - "name": "publication_url", - "namespace": "project.publications", - "type": "string" - } - ], - "name": "project.publications", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "schema_type", - "namespace": "project", - "type": "string" - }, - { - "name": "supplementary_links", - "namespace": "project", - "type": { - "items": "string", - "type": "array" - } - } - ], - "name": "project", - "type": "record" - }, - { - "fields": [ - { - "name": "describedBy", - "namespace": "sequence_file", - "type": "string" - }, - { - "name": "file_core", - "namespace": "sequence_file", - "type": { - "fields": [ - { - "name": "file_format", - "namespace": "sequence_file.file_core", - "type": "string" - }, - { - "name": "file_name", - "namespace": "sequence_file.file_core", - "type": "string" - } - ], - "name": "sequence_file.file_core", - "type": "record" - } - }, - { - "name": "insdc_run", - "namespace": "sequence_file", - "type": { - "items": "string", - "type": "array" - } - }, - { - "name": "provenance", - "namespace": "sequence_file", - "type": { - "fields": [ - { - "name": "document_id", - "namespace": "sequence_file.provenance", - "type": "string" - }, - { - "name": "submission_date", - "namespace": "sequence_file.provenance", - "type": "string" - }, - { - "name": "update_date", - "namespace": "sequence_file.provenance", - "type": "string" - } - ], - "name": "sequence_file.provenance", - "type": "record" - } - }, - { - "name": "read_index", - "namespace": "sequence_file", - "type": "string" - }, - { - "name": "read_length", - "namespace": "sequence_file", - "type": "long" - }, - { - "name": "schema_type", - "namespace": "sequence_file", - "type": "string" - } - ], - "name": "sequence_file", - "type": "record" - }, - { - "fields": [ - { - "name": "describedBy", - "namespace": "sequencing_protocol", - "type": "string" - }, - { - "name": "instrument_manufacturer_model", - "namespace": "sequencing_protocol", - "type": { - "fields": [ - { - "name": "ontology", - "namespace": "sequencing_protocol.instrument_manufacturer_model", - "type": "string" - }, - { - "name": "ontology_label", - "namespace": "sequencing_protocol.instrument_manufacturer_model", - "type": "string" - }, - { - "name": "text", - "namespace": "sequencing_protocol.instrument_manufacturer_model", - "type": "string" - } - ], - "name": "sequencing_protocol.instrument_manufacturer_model", - "type": "record" - } - }, - { - "name": "paired_end", - "namespace": "sequencing_protocol", - "type": "boolean" - }, - { - "name": "protocol_core", - "namespace": "sequencing_protocol", - "type": { - "fields": [ - { - "name": "protocol_id", - "namespace": "sequencing_protocol.protocol_core", - "type": "string" - } - ], - "name": "sequencing_protocol.protocol_core", - "type": "record" - } - }, - { - "name": "provenance", - "namespace": "sequencing_protocol", - "type": { - "fields": [ - { - "name": "document_id", - "namespace": "sequencing_protocol.provenance", - "type": "string" - }, - { - "name": "submission_date", - "namespace": "sequencing_protocol.provenance", - "type": "string" - }, - { - "name": "update_date", - "namespace": "sequencing_protocol.provenance", - "type": "string" - } - ], - "name": "sequencing_protocol.provenance", - "type": "record" - } - }, - { - "name": "schema_type", - "namespace": "sequencing_protocol", - "type": "string" - }, - { - "name": "sequencing_approach", - "namespace": "sequencing_protocol", - "type": { - "fields": [ - { - "name": "ontology", - "namespace": "sequencing_protocol.sequencing_approach", - "type": "string" - }, - { - "name": "ontology_label", - "namespace": "sequencing_protocol.sequencing_approach", - "type": "string" - }, - { - "name": "text", - "namespace": "sequencing_protocol.sequencing_approach", - "type": "string" - } - ], - "name": "sequencing_protocol.sequencing_approach", - "type": "record" - } - } - ], - "name": "sequencing_protocol", - "type": "record" - }, - { - "fields": [ - { - "name": "biomaterial_core", - "namespace": "specimen_from_organism", - "type": { - "fields": [ - { - "name": "biomaterial_id", - "namespace": "specimen_from_organism.biomaterial_core", - "type": "string" - }, - { - "name": "ncbi_taxon_id", - "namespace": "specimen_from_organism.biomaterial_core", - "type": { - "items": "long", - "type": "array" - } - } - ], - "name": "specimen_from_organism.biomaterial_core", - "type": "record" - } - }, - { - "name": "describedBy", - "namespace": "specimen_from_organism", - "type": "string" - }, - { - "name": "diseases", - "namespace": "specimen_from_organism", - "type": { - "items": { - "fields": [ - { - "name": "ontology", - "namespace": "specimen_from_organism.diseases", - "type": "string" - }, - { - "name": "ontology_label", - "namespace": "specimen_from_organism.diseases", - "type": "string" - }, - { - "name": "text", - "namespace": "specimen_from_organism.diseases", - "type": "string" - } - ], - "name": "specimen_from_organism.diseases", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "genus_species", - "namespace": "specimen_from_organism", - "type": { - "items": { - "fields": [ - { - "name": "ontology", - "namespace": "specimen_from_organism.genus_species", - "type": "string" - }, - { - "name": "ontology_label", - "namespace": "specimen_from_organism.genus_species", - "type": "string" - }, - { - "name": "text", - "namespace": "specimen_from_organism.genus_species", - "type": "string" - } - ], - "name": "specimen_from_organism.genus_species", - "type": "record" - }, - "type": "array" - } - }, - { - "name": "organ", - "namespace": "specimen_from_organism", - "type": { - "fields": [ - { - "name": "ontology", - "namespace": "specimen_from_organism.organ", - "type": "string" - }, - { - "name": "ontology_label", - "namespace": "specimen_from_organism.organ", - "type": "string" - }, - { - "name": "text", - "namespace": "specimen_from_organism.organ", - "type": "string" - } - ], - "name": "specimen_from_organism.organ", - "type": "record" - } - }, - { - "name": "organ_part", - "namespace": "specimen_from_organism", - "type": { - "fields": [ - { - "name": "ontology", - "namespace": "specimen_from_organism.organ_part", - "type": "string" - }, - { - "name": "ontology_label", - "namespace": "specimen_from_organism.organ_part", - "type": "string" - }, - { - "name": "text", - "namespace": "specimen_from_organism.organ_part", - "type": "string" - } - ], - "name": "specimen_from_organism.organ_part", - "type": "record" - } - }, - { - "name": "provenance", - "namespace": "specimen_from_organism", - "type": { - "fields": [ - { - "name": "document_id", - "namespace": "specimen_from_organism.provenance", - "type": "string" - }, - { - "name": "submission_date", - "namespace": "specimen_from_organism.provenance", - "type": "string" - }, - { - "name": "update_date", - "namespace": "specimen_from_organism.provenance", - "type": "string" - } - ], - "name": "specimen_from_organism.provenance", - "type": "record" - } - }, - { - "name": "schema_type", - "namespace": "specimen_from_organism", - "type": "string" - } - ], - "name": "specimen_from_organism", - "type": "record" - } - ] - }, - { - "default": [], - "name": "relations", - "type": { - "items": { - "fields": [ - { - "name": "dst_id", - "type": "string" - }, - { - "name": "dst_name", - "type": "string" - } - ], - "name": "Relation", - "type": "record" - }, - "type": "array" - } - } - ], - "name": "Entity", - "type": "record" -} \ No newline at end of file diff --git a/test/service/test_app_logging.py b/test/service/test_app_logging.py deleted file mode 100644 index c3b3d1b957..0000000000 --- a/test/service/test_app_logging.py +++ /dev/null @@ -1,158 +0,0 @@ -from itertools import ( - product, -) -import json -from logging import ( - DEBUG, - INFO, -) -from unittest.mock import ( - PropertyMock, - patch, -) - -import requests - -from azul import ( - Config, - JSON, -) -from azul.chalice import ( - AzulChaliceApp, - log, -) -from azul.logging import ( - configure_test_logging, -) -from indexer import ( - DCP1CannedBundleTestCase, -) -from service import ( - WebServiceTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class TestServiceAppLogging(DCP1CannedBundleTestCase, WebServiceTestCase): - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - @classmethod - def lambda_name(cls) -> str: - return 'service' - - def test_request_logs(self): - prefix_len = 1024 - - def filter_body(organ: str) -> JSON: - return {'filters': json.dumps({'organ': {'is': [organ]}})} - - for debug, authenticated, request_body_json in product( - [0, 1, 2], - [False, True], - [None, filter_body('foo'), filter_body('foo' * int(prefix_len / 3 + 1))] - ): - if request_body_json is None: - request_body = '' - else: - request_body = json.dumps(request_body_json) - - with self.subTest(azul_debug=debug, - authenticated=authenticated, - request_body=len(request_body)): - url = self.base_url.set(path='/index/projects') - request_headers = {'authorization': 'Bearer foo_token'} if authenticated else {} - level = [INFO, DEBUG, DEBUG][debug] - with self.assertLogs(logger=log, level=level) as logs: - with patch.object(Config, 'debug', new=PropertyMock(return_value=debug)): - if request_body: - request_headers = { - 'content-length': str(len(request_body)), - 'content-type': 'application/json', - **request_headers - } - response = requests.get(str(url), - headers=request_headers, - json=request_body_json) - logs = [(r.levelno, r.getMessage()) for r in logs.records] - body_log_level, body_log_message = logs.pop() # asserted separately - request_headers = { - 'host': url.netloc, - 'user-agent': 'python-requests/2.32.4', - 'accept-encoding': 'gzip, deflate', - 'accept': '*/*', - 'connection': 'keep-alive', - **request_headers, - } - response_headers = { - 'Access-Control-Allow-Origin': '*', - 'Access-Control-Allow-Headers': 'Authorization,' - 'Content-Type,' - 'X-Amz-Date,' - 'X-Amz-Security-Token,' - 'X-Api-Key', - **AzulChaliceApp.security_headers(), - 'Cache-Control': 'no-store' - } - self.assertEqual( - [ - ( - INFO, - "Received GET request for '/index/projects', " - f'with {json.dumps(dict(query=None, headers=request_headers))}.' - ), - ( - INFO, - '… without a request body' - ) - if request_body == '' else - ( - INFO, - "… with a request body of type ()" - ) - if debug == 0 else - ( - INFO, - f'… with a request body starting in {request_body[:prefix_len]}' - if debug == 1 and len(request_body) > prefix_len else - f'… with a request body of length {len(request_body)} being {request_body}' - ), - ( - INFO, - "Authenticated request as OAuth2(access_token='foo_token')" - if authenticated else - 'Did not authenticate request.' - ), - ( - INFO, - 'Returning 200 response with headers ' + - json.dumps(dict(headers=response_headers)) + '.' - ) - ], - logs - ) - body = json.dumps(response.json()) - self.assertGreater(len(body), prefix_len) - if debug == 0: - expected_log = "… with a response body of type ()" - elif debug == 1: - expected_log = f'… with a response body starting in {body[:prefix_len]}' - elif debug > 1: - expected_log = f'… with a response body of length 9118 being {body}' - else: - assert False - self.assertEqual(expected_log, body_log_message) - self.assertEqual(INFO, body_log_level) - self.assertEqual(200, response.status_code) diff --git a/test/service/test_buffer.py b/test/service/test_buffer.py deleted file mode 100644 index 7fa251b9b3..0000000000 --- a/test/service/test_buffer.py +++ /dev/null @@ -1,69 +0,0 @@ -from unittest.mock import ( - Mock, -) - -from azul.service.buffer import ( - FlushableBuffer, -) -from azul_test_case import ( - AzulUnitTestCase, -) - - -class FlushableBufferTest(AzulUnitTestCase): - - def test_not_flushed_because_of_no_data(self): - test_min_size = 5 - mock_callback = Mock() - with FlushableBuffer(test_min_size, mock_callback) as fb: - mock_callback.assert_not_called() - mock_callback.assert_not_called() - self.assertEqual(0, fb.remaining_size) - - def test_not_flushed_because_of_insufficient_data(self): - test_min_size = 5 - mock_callback = Mock() - with FlushableBuffer(test_min_size, mock_callback) as fb: - fb.write(b'?' * 4) - fb.flush() - mock_callback.assert_not_called() - self.assertEqual(4, fb.remaining_size) - mock_callback.assert_called_once() - self.assertEqual(0, fb.remaining_size) - - def test_force_flush_with_insufficient_data(self): - test_min_size = 5 - mock_callback = Mock() - with FlushableBuffer(test_min_size, mock_callback) as fb: - fb.write(b'?' * 4) - mock_callback.assert_not_called() - mock_callback.assert_called_once() - self.assertEqual(0, fb.remaining_size) - - def test_flush_with_sufficient_data(self): - test_min_size = 5 - mock_callback = Mock() - with FlushableBuffer(test_min_size, mock_callback) as fb: - fb.write(b'?' * 5) - mock_callback.assert_called_once() - mock_callback.assert_called_once() - self.assertEqual(0, fb.remaining_size) - - def test_multiple_flush_ok(self): - test_min_size = 5 - mock_callback = Mock() - with FlushableBuffer(test_min_size, mock_callback) as fb: - fb.write(b'?' * 4) - self.assertEqual(4, fb.remaining_size) - self.assertEqual(0, mock_callback.call_count) - fb.write(b'?' * 15) # total: 19 - self.assertEqual(4, fb.remaining_size) - self.assertEqual(3, mock_callback.call_count) - fb.write(b'?' * 7) # total: 26 - self.assertEqual(1, fb.remaining_size) - self.assertEqual(5, mock_callback.call_count) - fb.write(b'?' * 3) # total: 28 - self.assertEqual(4, fb.remaining_size) - self.assertEqual(5, mock_callback.call_count) - self.assertEqual(6, mock_callback.call_count) - self.assertEqual(0, fb.remaining_size) diff --git a/test/service/test_cache_poisoning.py b/test/service/test_cache_poisoning.py deleted file mode 100644 index f9dd68323e..0000000000 --- a/test/service/test_cache_poisoning.py +++ /dev/null @@ -1,84 +0,0 @@ -from abc import ( - ABCMeta, -) -from unittest.mock import ( - patch, -) - -import requests - -from app_test_case import ( - LocalAppTestCase, -) -from azul.logging import ( - configure_test_logging, -) -from azul.terra import ( - TDRClient, -) -from azul_test_case import ( - AnvilTestCase, - DCP1TestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class CachePoisoningTestCase(LocalAppTestCase, metaclass=ABCMeta): - snapshot_mock = None - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls.snapshot_mock = patch.object(TDRClient, - 'snapshot_names_by_id', - return_value={}) - cls.snapshot_mock.start() - - @classmethod - def tearDownClass(cls): - cls.snapshot_mock.stop() - cls.snapshot_mock = None - super().tearDownClass() - - @classmethod - def lambda_name(cls) -> str: - return 'service' - - def _test(self): - url = self.base_url.set(path='/repository/sources') - response = requests.get(str(url)) - response.raise_for_status() - - -# Note that the test cases are named intentionally to force the order in which -# they are run. The AnVIL test case needs to be run first. - -class TestCachePoisoning1(CachePoisoningTestCase, AnvilTestCase): - """ - This test case attempts to poison the class-level cache on - SourceService._repository_plugin with the TDR AnVIL repository plugin. - """ - - def test(self): - self._test() - - -class TestCachePoisoning2(CachePoisoningTestCase, DCP1TestCase): - """ - This test uses the same default catalog name as the test case above but it - should be using the DSS repository plugin, the inherited default, instead. - The source cache is patched to produce a miss and so the DSS plugin should - be asked to list the sources. If the class-level cache on - SourceService._repository_plugin is still poisoned, the plugin from the test - above will be asked instead. That plugin needs service account credentials - and so it will attempt to load them from AWS Secrets Manager which is not - mocked, and would hit our countermeasures against AWS API requests leaking - out of unit tests (intentionally invalid credentials). - """ - - def test(self): - self._test() diff --git a/test/service/test_drs.py b/test/service/test_drs.py deleted file mode 100644 index 6a8fdf4fd9..0000000000 --- a/test/service/test_drs.py +++ /dev/null @@ -1,324 +0,0 @@ -import base64 -import json -from unittest import ( - mock, -) -from unittest.mock import ( - MagicMock, -) -import urllib.parse - -from chalice.config import ( - Config as ChaliceConfig, -) -from furl import ( - furl, -) -import requests -import responses - -from app_test_case import ( - LocalAppTestCase, -) -from azul import ( - config, -) -from azul.drs import ( - AccessMethod, -) -from azul.logging import ( - configure_test_logging, -) -from azul.service.drs_controller import ( - DRSController, - dss_dos_object_url, - dss_drs_object_uri, - dss_drs_object_url, -) -from azul.types import ( - MutableJSON, -) -from azul_test_case import ( - AzulUnitTestCase, -) -from indexer import ( - DCP1CannedBundleTestCase, -) -from service import ( - WebServiceTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class TestDOSEndpoint(DCP1CannedBundleTestCase, WebServiceTestCase): - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - def chalice_config(self): - return ChaliceConfig.create(lambda_timeout=15) - - def _get_data_object(self, file_uuid, file_version): - with responses.RequestsMock() as helper: - helper.add_passthru(str(self.base_url)) - drs_url = dss_dos_object_url(file_uuid=file_uuid, - catalog=self.catalog, - file_version=file_version, - base_url=self.base_url) - with mock.patch('time.time', new=lambda: 1547691253.07010): - dss_url = str(furl(config.dss_endpoint).add(path=('files', file_uuid))) - helper.add(responses.Response(method=responses.GET, - url=dss_url, - status=301, - headers={'location': dss_url})) - helper.add(responses.Response(method=responses.GET, - url=dss_url, - status=302, - headers={'location': 'gs://foo/bar'})) - drs_response = requests.get(str(drs_url)) - drs_response.raise_for_status() - drs_response_json = drs_response.json() - data_object = drs_response_json['data_object'] - return data_object - - def test_get_data_object(self): - file_uuid = '7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb' - file_version = '2018-11-02T11:33:44.698028Z' - data_object = self._get_data_object(file_uuid, file_version) - self.assertEqual({ - 'id': file_uuid, - 'urls': [ - { - 'url': str(self.base_url.set(path=('repository', 'files', file_uuid), - args=dict(catalog=self.catalog, - version=file_version, - wait=1, - fileName='SRR3562915_1.fastq.gz'))) - }, - { - 'url': - 'gs://foo/bar' - } - ], - 'size': '195142097', - 'checksums': [ - { - 'checksum': '77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a', - 'type': 'sha256' - } - ], - 'aliases': ['SRR3562915_1.fastq.gz'], - 'version': file_version, - 'name': 'SRR3562915_1.fastq.gz' - }, data_object) - - def test_data_object_not_found(self): - try: - self._get_data_object('NOT_A_GOOD_IDEA', None) - except requests.exceptions.HTTPError as e: - self.assertEqual(e.response.status_code, 404) - else: - self.fail() - - -class TestDRSEndpoint(DCP1CannedBundleTestCase, LocalAppTestCase): - maxDiff = None - - dss_headers = { - 'X-DSS-SHA1': '7ad306f154ce7de1a9a333cfd9100fc26ef652b4', - 'X-DSS-SHA256': '77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a', - 'X-DSS-SIZE': '195142097', - 'X-DSS-VERSION': '2018-11-02T113344.698028Z', - } - - signed_url = 'https://org-hca-dss-checkout-prod.s3.amazonaws.com/blobs/307.a72.eb6?foo=bar&et=cetera' - gs_url = 'gs://important-bucket/object/path' - - @classmethod - def lambda_name(cls) -> str: - return 'service' - - def test_drs(self): - """ - Mocks the DSS backend, then uses the DRS endpoints as a client is - expected to. - """ - file_uuid = '7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb' - file_version = '2018-11-02T113344.698028Z' - for redirects in (0, 1, 2, 6): - with self.subTest(redirects=redirects): - with responses.RequestsMock() as helper: - helper.add_passthru(str(self.base_url)) - self._mock_responses(helper, redirects, file_uuid, file_version=file_version) - # Make first client request - url = dss_drs_object_url(file_uuid=file_uuid, - file_version=file_version, - base_url=self.base_url) - drs_response = requests.get(str(url)) - drs_response.raise_for_status() - drs_object = drs_response.json() - uri = dss_drs_object_uri(file_uuid=file_uuid, - file_version='2018-11-02T113344.698028Z') - expected: MutableJSON = { - 'checksums': [ - {'sha1': '7ad306f154ce7de1a9a333cfd9100fc26ef652b4'}, - {'sha-256': '77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a'} - ], - 'created_time': '2018-11-02T11:33:44.698028Z', - 'id': file_uuid, - 'self_uri': str(uri), - 'size': '195142097', - 'version': '2018-11-02T113344.698028Z', - } - if not redirects: - # We expect a DRS object with an access URL - expected['access_methods'] = [ - { - 'access_url': { - 'url': 'https://org-hca-dss-checkout-prod.s3.amazonaws.com/' - 'blobs/307.a72.eb6?foo=bar&et=cetera' - }, - 'type': 'https' - }, - { - 'access_url': {'url': 'gs://important-bucket/object/path'}, - 'type': 'gs' - } - ] - self.assertEqual(drs_object, expected) - else: - # The access IDs are so similar because the mock tokens are the same... - expected['access_methods'] = [ - { - 'access_id': 'KCd7ImV4ZWN1dGlvbl9pZCI6ICI5NWIxZmNkMC01OGMyLTRmMmMtYmI0OC0xM2FkODU2YzI0Z' - 'mMiLCAic3RhcnRfdGltZSI6IDE1NzUzMjQzODEuMTk4Mzg2NywgImF0dGVtcHRzIjogMH0nLC' - 'AnYXdzJyk', - # ^ ...but they do differ - 'type': 'https' - }, - { - 'access_id': 'KCd7ImV4ZWN1dGlvbl9pZCI6ICI5NWIxZmNkMC01OGMyLTRmMmMtYmI0OC0xM2FkODU2YzI0Z' - 'mMiLCAic3RhcnRfdGltZSI6IDE1NzUzMjQzODEuMTk4Mzg2NywgImF0dGVtcHRzIjogMH0nLC' - 'AnZ2NwJyk', - 'type': 'gs' - } - ] - # We must make another request with the access ID - self.assertEqual(expected, drs_object) - for method in drs_object['access_methods']: - access_id = method['access_id'] - for _ in range(redirects - 1): - # The first redirect gave us the access ID, the rest are retries on 202 - drs_access_url = dss_drs_object_url(file_uuid=file_uuid, - file_version=file_version, - base_url=self.base_url, - access_id=access_id) - drs_response = requests.get(str(drs_access_url)) - self.assertEqual(drs_response.status_code, 202) - self.assertEqual(drs_response.text, '') - # The final request should give us just the access URL - drs_access_url = dss_drs_object_url(file_uuid=file_uuid, - file_version=file_version, - base_url=self.base_url, - access_id=access_id) - drs_response = requests.get(str(drs_access_url)) - self.assertEqual(drs_response.status_code, 200) - if method['type'] == AccessMethod.https.scheme: - self.assertEqual(drs_response.json(), {'url': self.signed_url}) - elif method['type'] == AccessMethod.gs.scheme: - self.assertEqual(drs_response.json(), {'url': self.gs_url}) - else: - assert False, f'Access type {method["type"]} is not supported' - - def _dss_response(self, - file_uuid, - file_version, - replica, - head=False, - initial=True, - _301=False - ): - request_query = { - 'replica': replica, - **({'version': file_version} if file_version else {}), - **({} if head else {'directurl': replica == 'gcp'}) - } - retry_query = { - **request_query, - 'token': json.dumps({ - 'execution_id': '95b1fcd0-58c2-4f2c-bb48-13ad856c24fc', - 'start_time': 1575324381.1983867, - 'attempts': 0 - }) - } - file_url = f'{config.dss_endpoint}/files/{file_uuid}?' - initial_url = file_url + urllib.parse.urlencode(request_query) - retry_url = file_url + urllib.parse.urlencode(retry_query) - headers_302 = {'location': self.gs_url if replica == 'gcp' else self.signed_url} - headers_301 = { - 'location': retry_url, - # the value is arbitrary for our purposes, but nonetheless expected - 'retry-after': '1' - } - if head: - return responses.Response(method=responses.HEAD, url=initial_url, status=200, headers=self.dss_headers) - else: - return responses.Response(method=responses.GET, - url=initial_url if initial else retry_url, - status=301 if _301 else 302, - headers=headers_301 if _301 else headers_302) - - def _mock_responses(self, helper, redirects, file_uuid, file_version=None): - assert redirects >= 0 - helper.add_passthru(str(self.base_url)) - if redirects == 0: - helper.add(self._dss_response(file_uuid, file_version, 'aws', initial=True, _301=False)) - helper.add(self._dss_response(file_uuid, file_version, 'gcp', initial=True, _301=False)) - helper.add(self._dss_response(file_uuid, file_version, 'aws', head=True)) - else: - helper.add(self._dss_response(file_uuid, file_version, 'aws', initial=True, _301=True)) - helper.add(self._dss_response(file_uuid, file_version, 'gcp', initial=True, _301=True)) - helper.add(self._dss_response(file_uuid, file_version, 'aws', head=True)) - redirects -= 1 - for _ in range(redirects): - helper.add(self._dss_response(file_uuid, file_version, 'aws', initial=False, _301=True)) - helper.add(self._dss_response(file_uuid, file_version, 'gcp', initial=False, _301=True)) - helper.add(self._dss_response(file_uuid, file_version, 'aws', initial=False, _301=False)) - helper.add(self._dss_response(file_uuid, file_version, 'gcp', initial=False, _301=False)) - - def test_data_object_not_found(self): - file_uuid = 'NOT_A_GOOD_IDEA' - error_body = 'DRS should just proxy the DSS for error responses' - with responses.RequestsMock() as helper: - helper.add_passthru(str(self.base_url)) - url = f'{config.dss_endpoint}/files/{file_uuid}' - helper.add(responses.Response(method=responses.GET, - body=error_body, - url=url, - status=404)) - url = dss_drs_object_url(file_uuid=file_uuid, base_url=self.base_url) - drs_response = requests.get(str(url)) - self.assertEqual(drs_response.status_code, 404) - self.assertEqual(drs_response.text, error_body) - - -class TestDRSController(AzulUnitTestCase): - - def test_bad_token(self): - controller = DRSController(app=MagicMock(), file_url_func=MagicMock()) - literal = repr({'a': 'malicious(?) access ID'}).encode() - bad_access_id = base64.urlsafe_b64encode(literal).rstrip(b'=').decode() - response = controller.get_object_access(bad_access_id, 'file_uuid', {}) - self.assertEqual(400, response.status_code) - self.assertEqual('Invalid DRS access ID', response.body) diff --git a/test/service/test_filters.py b/test/service/test_filters.py deleted file mode 100644 index e925d1203e..0000000000 --- a/test/service/test_filters.py +++ /dev/null @@ -1,159 +0,0 @@ -from typing import ( - Optional, -) -from unittest.mock import ( - MagicMock, -) - -from chalice import ( - ForbiddenError, -) - -from azul.plugins import ( - SpecialFields, -) -from azul.service import ( - FilterOperator, - Filters, - FiltersJSON, -) -from azul_test_case import ( - AzulTestCase, -) - - -class TestFilterReification(AzulTestCase): - accessible_source = '123' - accessible_sources = {accessible_source, '456', '789'} - inaccessible_source = '321' - - assert inaccessible_source not in accessible_sources - - special_fields = SpecialFields( - source_id='sourceId', - source_spec=MagicMock(), - bundle_uuid=MagicMock(), - bundle_version=MagicMock(), - root_entity_id=MagicMock() - ) - - @property - def plugin(self): - return MagicMock(special_fields=self.special_fields) - - def _get_filters(self, - *, - limit_access: bool, - explicit_sources: Optional[list[str]] = None, - explicit_access: Optional[list[Optional[bool]]] = None - ) -> FiltersJSON: - explicit = { - 'cellCount': { - 'within': [[10000, 1000000000]] - }, - **({} if explicit_sources is None else { - self.special_fields.source_id: { - 'is': explicit_sources - } - }), - **({} if explicit_access is None else { - self.special_fields.accessible: { - 'is': explicit_access - } - }) - } - filters = Filters(explicit=explicit, source_ids=self.accessible_sources) - return filters.reify(plugin=self.plugin, limit_access=limit_access) - - def _test_filters(self, - expected_source_id_filter: Optional[FilterOperator], - *, - limit_access: bool, - explicit_sources: Optional[list[str]] = None, - explicit_access: Optional[list[Optional[bool]]] = None - ): - expected_filters = { - 'cellCount': {'within': [[10000, 1000000000]]}, - **({} if expected_source_id_filter is None else { - self.special_fields.source_id: expected_source_id_filter - }) - } - with self.subTest(explicit_sources=explicit_sources, - explicit_access=explicit_access, - limit_access=limit_access): - filters = self._get_filters(limit_access=limit_access, - explicit_sources=explicit_sources, - explicit_access=explicit_access) - self.assertEqual(expected_filters, filters) - - def test_implicit(self): - self._test_filters({'is': sorted(self.accessible_sources)}, - limit_access=True) - self._test_filters(None, - limit_access=False) - - def test_explicit_accessible_sources(self): - for limit_access in True, False: - self._test_filters({'is': [self.accessible_source]}, - limit_access=limit_access, - explicit_sources=[self.accessible_source]) - - def test_explicit_inaccessible_sources(self): - for sources in [ - [self.inaccessible_source], - [self.accessible_source, self.inaccessible_source] - ]: - with self.assertRaises(ForbiddenError): - self._get_filters(limit_access=True, - explicit_sources=sources) - - self._test_filters({'is': [self.inaccessible_source]}, - limit_access=False, - explicit_sources=[self.inaccessible_source]) - - def test_explicit_access(self): - for limit_access in True, False: - self._test_filters({'is': sorted(self.accessible_sources)}, - limit_access=limit_access, - explicit_access=[True]) - self._test_filters({'is': []}, - explicit_access=[], - limit_access=limit_access) - - self._test_filters({'is_not': sorted(self.accessible_sources)}, - explicit_access=[False], - limit_access=False) - self._test_filters({'is': []}, - explicit_access=[False], - limit_access=True) - self._test_filters(None, - explicit_access=[True, False], - limit_access=False) - self._test_filters({'is': sorted(self.accessible_sources)}, - explicit_access=[True, False], - limit_access=True) - - def test_explicit_access_with_explicit_public_source(self): - for limit_access in True, False: - for explicit_access in [[True], [False, True]]: - self._test_filters({'is': [self.accessible_source]}, - explicit_sources=[self.accessible_source], - explicit_access=explicit_access, - limit_access=limit_access) - for explicit_access in [[], [False]]: - self._test_filters({'is': []}, - explicit_sources=[self.accessible_source], - explicit_access=explicit_access, - limit_access=limit_access) - - def test_explicit_access_with_explicit_protected_source(self): - for explicit_access in [[], [True], [False], [True, False]]: - with self.assertRaises(ForbiddenError): - self._get_filters(limit_access=True, - explicit_sources=[self.inaccessible_source], - explicit_access=explicit_access) - is_filter = [self.inaccessible_source] if False in explicit_access else [] - self._test_filters({'is': is_filter}, - explicit_sources=[self.inaccessible_source], - limit_access=False, - explicit_access=explicit_access) diff --git a/test/service/test_health_check.py b/test/service/test_health_check.py deleted file mode 100644 index 39f7edc2cc..0000000000 --- a/test/service/test_health_check.py +++ /dev/null @@ -1,49 +0,0 @@ -from moto import ( - mock_aws, -) - -from azul.logging import ( - configure_test_logging, -) -from azul.types import ( - MutableJSON, -) -from azul_test_case import ( - DCP1TestCase, -) -from health_check_test_case import ( - HealthCheckTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class TestServiceHealthCheck(DCP1TestCase, HealthCheckTestCase): - - @classmethod - def lambda_name(cls) -> str: - return 'service' - - def _expected_health(self, - endpoints_up: bool = True, - es_up: bool = True - ) -> MutableJSON: - return { - 'up': es_up and endpoints_up, - **self._expected_elasticsearch(up=es_up), - **self._expected_api_endpoints(up=endpoints_up), - } - - @mock_aws - def test_all_api_endpoints_down(self): - self._create_mock_queues() - with self._mock(endpoints_up=False): - response = self._test('/health/fast') - self.assertEqual(503, response.status_code) - self.assertEqual(self._expected_health(endpoints_up=False), response.json()) - - -del HealthCheckTestCase diff --git a/test/service/test_index_projects.py b/test/service/test_index_projects.py deleted file mode 100644 index 4b3e28e7d3..0000000000 --- a/test/service/test_index_projects.py +++ /dev/null @@ -1,103 +0,0 @@ -from more_itertools import ( - one, -) -import requests - -from azul.logging import ( - configure_test_logging, -) -from indexer import ( - DCP1CannedBundleTestCase, -) -from service import ( - WebServiceTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class TestIndexProjectsEndpoint(DCP1CannedBundleTestCase, WebServiceTestCase): - # Set a seed so that we can test the detail response with a stable project ID - seed = 123 - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - def test_projects_response(self): - """ - Verify some basic properties of the /index/projects response and - that each hit in the response is equal to the single hit response of a - request for one project (e.g. /index/projects/{uuid}) - """ - - def get_response_json(uuid=None): - url = self.base_url.set(path=('index', 'projects', uuid or ''), - args=dict(catalog=self.catalog)) - response = requests.get(str(url)) - response.raise_for_status() - return response.json() - - def assert_file_type_summaries(hit): - self.assertEqual(len(hit['fileTypeSummaries']), 1) - self.assertIn('fileSource', hit['fileTypeSummaries'][0]) - self.assertIn('format', hit['fileTypeSummaries'][0]) - self.assertGreater(hit['fileTypeSummaries'][0]['count'], 0) - self.assertGreater(hit['fileTypeSummaries'][0]['totalSize'], 0) - - hit_properties = { - 'protocols', - 'entryId', - 'projects', - 'sources', - 'samples', - 'specimens', - 'cellLines', - 'donorOrganisms', - 'organoids', - 'cellSuspensions', - 'fileTypeSummaries', - 'dates', - } - projects_properties = { - 'accessible', - 'projectId', - 'projectTitle', - 'projectShortname', - 'laboratory', - 'projectDescription', - 'contributors', - 'publications', - 'supplementaryLinks', - 'matrices', - 'contributedAnalyses', - 'accessions', - 'tissueAtlas', - 'isTissueAtlasProject', - 'bionetworkName', - 'estimatedCellCount', - 'dataUseRestriction', - 'duosId' - } - response_json = get_response_json() - self.assertIn('hits', response_json) - self.assertGreater(len(response_json['hits']), 0) - for hit in response_json['hits']: - self.assertEqual(hit_properties, set(hit.keys())) - self.assertEqual(projects_properties, set(one(hit['projects']).keys())) - assert_file_type_summaries(hit) - self.assertNotIn('projectSummary', hit) - self.assertNotIn('files', hit) - single_hit = get_response_json(hit['entryId']) - self.assertEqual(hit, single_hit) - self.assertIn('pagination', response_json) - self.assertIn('termFacets', response_json) diff --git a/test/service/test_index_samples.py b/test/service/test_index_samples.py deleted file mode 100644 index b743daa663..0000000000 --- a/test/service/test_index_samples.py +++ /dev/null @@ -1,61 +0,0 @@ -import requests - -from azul.logging import ( - configure_test_logging, -) -from indexer import ( - DCP1CannedBundleTestCase, -) -from service import ( - WebServiceTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class TestIndexSamplesEndpoint(DCP1CannedBundleTestCase, WebServiceTestCase): - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - def test_basic_response(self): - url = self.base_url.set(path='/index/samples', - args=dict(catalog=self.catalog)) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - - def assert_file_type_summaries(hit): - self.assertEqual(len(hit['fileTypeSummaries']), 1) - self.assertIn('fileSource', hit['fileTypeSummaries'][0]) - self.assertIn('format', hit['fileTypeSummaries'][0]) - self.assertGreater(hit['fileTypeSummaries'][0]['count'], 0) - self.assertGreater(hit['fileTypeSummaries'][0]['totalSize'], 0) - - self.assertIn('hits', response_json) - self.assertGreater(len(response_json['hits']), 0) - for hit in response_json['hits']: - self.assertIn('protocols', hit) - self.assertIn('entryId', hit) - assert_file_type_summaries(hit) - self.assertIn('projects', hit) - self.assertIn('samples', hit) - self.assertIn('specimens', hit) - self.assertIn('cellLines', hit) - self.assertIn('donorOrganisms', hit) - self.assertIn('organoids', hit) - self.assertIn('cellSuspensions', hit) - self.assertNotIn('projectSummary', hit) - self.assertNotIn('files', hit) - self.assertIn('pagination', response_json) - self.assertIn('termFacets', response_json) diff --git a/test/service/test_manifest.py b/test/service/test_manifest.py deleted file mode 100644 index 6abd16c5f8..0000000000 --- a/test/service/test_manifest.py +++ /dev/null @@ -1,1969 +0,0 @@ -from abc import ( - ABCMeta, -) -import cgi -from collections import ( - defaultdict, -) -from collections.abc import ( - Mapping, -) -from copy import ( - deepcopy, -) -import csv -from datetime import ( - datetime, -) -from io import ( - BytesIO, -) -from itertools import ( - combinations, - starmap, -) -import json -import os -from pathlib import ( - Path, -) -from typing import ( - Optional, - cast, -) -from unittest.mock import ( - MagicMock, - PropertyMock, - patch, -) -import unittest.result -from uuid import ( - UUID, -) - -import attrs -from chalice import ( - ForbiddenError, -) -import fastavro -from furl import ( - furl, -) -from more_itertools import ( - chunked, - one, -) -import requests -from requests import ( - Response, -) - -from azul import ( - R, - cache, - config, -) -from azul.collections import ( - adict, - compose_keys, - none_safe_tuple_key, -) -from azul.indexer import ( - Prefix, - SimpleSourceSpec, - SourcedBundleFQID, -) -from azul.indexer.document import ( - EntityID, - EntityReference, - EntityType, -) -from azul.json import ( - copy_json, - json_hash, -) -from azul.logging import ( - configure_test_logging, - get_test_logger, -) -from azul.plugins import ( - ManifestFormat, -) -from azul.plugins.metadata.hca import ( - FileTransformer, -) -from azul.plugins.repository.dss import ( - DSSBundle, - DSSBundleFQID, - DSSSourceRef, -) -from azul.service import ( - Filters, - FiltersJSON, - avro_pfb, - manifest_service, -) -from azul.service.manifest_service import ( - CachedManifestNotFound, - Manifest, - ManifestGenerator, - ManifestKey, - ManifestPartition, - ManifestService, - PagedManifestGenerator, - SignedManifestKey, -) -from azul.service.storage_service import ( - StorageService, -) -from azul.strings import ( - single_quote as sq, -) -from azul.types import ( - JSON, - JSONs, - MutableCompositeJSON, - MutableJSON, - MutableJSONs, -) -from indexer import ( - AnvilCannedBundleTestCase, - CannedFileTestCase, - DCP1CannedBundleTestCase, -) -from service import ( - DocumentCloningTestCase, - StorageServiceTestCase, - WebServiceTestCase, -) - -log = get_test_logger(__name__) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging(log) - - -class CannedManifestTestCase(CannedFileTestCase): - """ - Support for tests that deal with canned manifests - """ - - def _canned_manifest_path(self, *path: str) -> Path: - return self._data_path('service', 'manifest', *path) - - def _load_canned_manifest(self, *path: str) -> MutableCompositeJSON: - with open(self._canned_manifest_path(*path)) as f: - manifest = json.load(f) - assert isinstance(manifest, (dict, list)), type(manifest) - return manifest - - def _load_canned_pfb(self, *path: str) -> tuple[MutableJSON, MutableJSONs]: - schema = self._load_canned_manifest(*path, 'pfb_schema.json') - assert isinstance(schema, dict), type(schema) - entities = self._load_canned_manifest(*path, 'pfb_entities.json') - assert isinstance(entities, list), type(entities) - return schema, entities - - def _assert_pfb_schema(self, schema): - fastavro.parse_schema(schema) - # Parsing successfully proves our schema is valid - with self.assertRaises(KeyError): - fastavro.parse_schema({'this': 'is not', 'an': 'avro schema'}) - - actual = json.dumps(schema, indent=4, sort_keys=True) - expected = self._canned_manifest_path('terra', 'pfb_schema.json') - self._assert_or_create_json_can(expected, actual) - - def _assert_or_create_json_can(self, expected: Path, actual: str): - if expected.exists(): - with open(expected, 'r') as f: - expected = json.load(f) - self.assertEqual(expected, json.loads(actual)) - else: - with open(expected, 'w') as f: - f.write(actual) - - def _assert_jsonl(self, expected: list[JSON], actual: Response): - """ - Assert that the body of the given response is the expected JSON array, - disregarding any row ordering differences. - - :param expected: a list of JSON objects. - - :param actual: an HTTP response containing JSON objects separated by - newlines - """ - manifest = [ - json.loads(row) - for row in actual.content.decode().splitlines() - ] - - def sort_key(row: JSON) -> bytes: - return json_hash(row).digest() - - manifest.sort(key=sort_key) - expected.sort(key=sort_key) - # The canned manifests are saved as a JSON array instead of JSON Lines - # so that changes to the files are easier to read - self.assertEqual(expected, manifest) - - def _assert_pfb(self, - expected_schema: JSON, - expected_entities: JSONs, - actual: Response): - """ - Assert that the body of the given response contains a valid PFB manifest - matching the expected schema and content, disregarding differences in - the ordering of the PFB entities. - - :param expected_schema: a PFB schema. - - :param expected_entities: a list of PFB entities. - - :param actual: an HTTP response containing a PFB manifest. - """ - manifest = fastavro.reader(BytesIO(actual.content)) - schema = manifest.writer_schema - # The ordering of the entities in the manifest depends on the order of - # the replica documents in the index. We haven't figured out how to - # ensure that this ordering is reliably deterministic, so we sort to - # make the test insensitive to it. - # FIXME: Document order of replicas is nondeterministic - # https://github.com/DataBiosphere/azul/issues/6442 - sort_key = compose_keys(none_safe_tuple_key(), - # This is necessary to stabilize the ordering of - # DUOS replicas, which have the same id as the - # main dataset replica. - lambda entity: (entity['id'], entity['object'].get('datarepo_row_id'))) - expected_entities = sorted(expected_entities, key=sort_key) - entities = sorted(manifest, key=sort_key) - self.assertEqual(expected_schema, schema) - self.assertEqual(expected_entities, entities) - - -class ManifestTestCase(WebServiceTestCase, - StorageServiceTestCase, - CannedManifestTestCase, - metaclass=ABCMeta): - - def setUp(self): - super().setUp() - self.addPatch(patch.object(PagedManifestGenerator, 'page_size', 1)) - self._setup_indices() - self._setup_git_commit() - - def tearDown(self): - self._teardown_indices() - self._teardown_git_commit() - super().tearDown() - - def _filters(self, filters: FiltersJSON) -> Filters: - return Filters(explicit=filters, source_ids={self.source.id}) - - def _setup_git_commit(self): - """ - Set git variables required to derive the manifest object key - """ - assert 'azul_git_commit' not in os.environ - assert 'azul_git_dirty' not in os.environ - os.environ['azul_git_commit'] = '9347432ab0da43c73409ac7fd3edfe29cf3ae678' - os.environ['azul_git_dirty'] = 'False' - - def _teardown_git_commit(self): - os.environ.pop('azul_git_commit') - os.environ.pop('azul_git_dirty') - - @property - def _service(self): - return ManifestService(self.storage_service, self.app_module.app.file_url) - - def _get_manifest(self, - format: ManifestFormat, - filters: FiltersJSON, - stream=False - ) -> Response: - manifest, num_partitions = self._get_manifest_object(format, filters) - self.assertEqual(1, num_partitions) - url = furl(self._service.get_manifest_url(manifest)) - response = requests.get(str(url), stream=stream) - # Moto doesn't support signed S3 URLs with Content-Disposition baked in, - # so we'll retroactively inject it into the response header. - content_disposition = url.args.get('response-content-disposition') - if content_disposition is not None: - response.headers['content-disposition'] = content_disposition - return response - - def _get_manifest_object(self, - format: ManifestFormat, - filters: JSON - ) -> tuple[Manifest, int]: - filters = self._filters(filters) - partition = ManifestPartition.first() - num_partitions = 1 - while True: - partition = self._service.get_manifest(format=format, - catalog=self.catalog, - filters=filters, - partition=partition) - if isinstance(partition, Manifest): - return partition, num_partitions - # Emulate controller serializing the partition between steps - partition = ManifestPartition.from_json(partition.to_json()) - num_partitions += 1 - - def _assert_tsv(self, expected: list[tuple[str, ...]], actual: Response): - """ - Assert that the body of the given response is the expected TSV, - disregarding any row ordering differences. - - :param expected: A transposed TSV, i.e. a list of columns. Each column - is a tuple, and the first element in each tuple is the - column header, or field name. - - :param actual: An HTTP response containing a TSV - """ - expected = list(map(list, zip(*expected))) - actual = actual.content.decode().splitlines() - actual = list(csv.reader(actual, delimiter='\t')) - actual[1:], expected[1:] = sorted(actual[1:]), sorted(expected[1:]) - self.assertEqual(expected, actual) - - def _file_url(self, file_id, version): - return str(self.base_url.set(path='/repository/files/' + file_id, - args=dict(catalog=self.catalog, - version=version))) - - def _drs_uri(self, file_id, version=None): - return str(furl(scheme='drs', - netloc=self._drs_domain, - path=file_id, - args=adict(version=version))) - - @property - def _drs_domain(self) -> str: - return config.drs_domain or config.api_lambda_domain('service') - - -class DCP1ManifestTestCase(ManifestTestCase, DCP1CannedBundleTestCase): - pass - - -class TestManifests(DCP1ManifestTestCase): - - def run(self, - result: Optional[unittest.result.TestResult] = None - ) -> Optional[unittest.result.TestResult]: - # Disable caching of manifests to prevent false assertion positives - with patch.object(ManifestService, - '_get_cached_manifest_file_name', - return_value=None): - return super().run(result) - - _drs_domain_name = 'drs-test.lan' # see canned PFB results - - def test_terra_pfb_manifest(self): - # This test uses canned expectations. It might be difficult to manually - # update the can after changes to the indexer. If that is the case, - # delete the file and run this test. It will repopulate the file. Run - # the test again; it should pass. Make sure you study the resulting diff - # before committing to avoid canning a bug. - self.maxDiff = None - # This bundle contains zarrs which tests related_files (but is dated) - zarr_bundle_fqid = self.bundle_fqid(uuid='587d74b4-1075-4bbf-b96a-4d1ede0481b2', - version='2018-10-10T02:23:43.182000Z') - self._index_canned_bundle(zarr_bundle_fqid) - # This is a more up-to-date, modern bundle - new_bundle_fqid = self.bundle_fqid(uuid='4da04038-adab-59a9-b6c4-3a61242cc972', - version='2021-01-01T00:00:00.000000Z') - new_bundle = self._add_ageless_donor(new_bundle_fqid) - self._index_bundle(new_bundle, delete=False) - shared_file_bundle = self._shared_file_bundle(new_bundle_fqid) - self._index_bundle(shared_file_bundle, delete=False) - - # We write entities differently depending on debug so we test both cases - for debug in (1, 0): - with self.subTest(debug=debug): - with patch.object(type(config), 'debug', debug): - response = self._get_manifest(ManifestFormat.terra_pfb, {}) - self.assertEqual(200, response.status_code) - pfb_file = BytesIO(response.content) - reader = fastavro.reader(pfb_file) - schema = reader.writer_schema - self._assert_pfb_schema(schema) - records = list(reader) - expected = self._canned_manifest_path('terra', 'pfb_entities.json') - # 'default' is specified to handle the conversion of datetime values - actual = json.dumps(records, indent=4, sort_keys=True, default=str) - self._assert_or_create_json_can(expected, actual) - - def _shared_file_bundle(self, bundle): - """ - Create a copy of an existing bundle with slight modifications in order - to test PFB manifest generation with multiple inner-entities of the same - type. - """ - bundle = self._load_canned_bundle(bundle) - new_specimen_id = '5275e5a0-6043-4ec9-86a1-6c1140cbeede' - old_to_new = { - # process - '4da04038-adab-59a9-b6c4-3a61242cc972': '61af0068-1418-46e7-88ef-ab310e0ceaf8', - # cell_suspension - 'd9eaaffe-4c93-5503-984f-762e8dfddce4': 'd6b3d2ab-5715-4486-a544-ac09fafac279', - # specimen - '224d3750-f1f7-5b04-bbce-e23f09eea7d7': new_specimen_id - } - metadata = self._replace_uuids(bundle.metadata, old_to_new) - # Change organ to prevent cell_suspensions aggregating together - metadata[f'specimen_from_organism/{new_specimen_id}']['organ'] = { - 'text': 'lung', - 'ontology': 'UBERON:0002048', - 'ontology_label': 'lung' - } - links = self._replace_uuids(bundle.links, old_to_new) - return DSSBundle(fqid=self.bundle_fqid(uuid=old_to_new[bundle.uuid], - version=bundle.version), - manifest=bundle.manifest, - metadata=metadata, - links=links) - - def _replace_uuids(self, - object_: JSON, - uuids: Mapping[str, str] - ) -> MutableJSON: - object_str = json.dumps(object_) - for old, new in uuids.items(): - assert old in object_str, old - object_str = object_str.replace(old, new) - return json.loads(object_str) - - def _add_ageless_donor(self, bundle): - """ - We add a new donor which lacks "age" metadata to test PFB generation - with both kinds of donors. - """ - bundle = self._load_canned_bundle(bundle) - # Since most of the metadata is duplicated (including biomaterial_id) - # the donor_count will not increase. - old_donor_id = '9173ee6a-f1b2-5762-9272-3433b5ef7530' - duplicate_donor = deepcopy(bundle.metadata[f'donor_organism/{old_donor_id}']) - del duplicate_donor['organism_age'] - del duplicate_donor['organism_age_unit'] - donor_id = '0895599c-f57d-4843-963e-11eab29f883b' - duplicate_donor['provenance']['document_id'] = donor_id - bundle.metadata[f'donor_organism/{donor_id}'] = duplicate_donor - donor_link = one(ln for ln in bundle.links['links'] - if one(ln['inputs'])['input_type'] == 'donor_organism') - new_donor_reference = { - 'input_id': donor_id, - 'input_type': 'donor_organism' - } - donor_link['inputs'].append(new_donor_reference) - return bundle - - def test_manifest_not_cached(self): - """ - Assert that the patch to disable caching is effective. - """ - for i in range(2): - with self.subTest(i=i): - manifest, num_partitions = self._get_manifest_object(ManifestFormat.compact, {}) - self.assertFalse(manifest.was_cached) - self.assertEqual(1, num_partitions) - - def test_compact_manifest(self): - expected = [ - ('source_id', self.source.id, self.source.id), - ('source_spec', str(self.source.spec), str(self.source.spec)), - ('bundle_uuid', - 'b81656cf-231b-47a3-9317-10f1e501a05c || f79257a7-dfc6-46d6-ae00-ba4b25313c10', - 'f79257a7-dfc6-46d6-ae00-ba4b25313c10'), - ('bundle_version', - '2000-01-01T01:00:00.000000Z || 2018-09-14T13:33:14.453337Z', - '2018-09-14T13:33:14.453337Z'), - ('file_document_id', '89e313db-4423-4d53-b17e-164949acfa8f', '6c946b6c-040e-45cc-9114-a8b1454c8d20'), - ('file_type', 'supplementary_file', 'sequence_file'), - ('file_name', 'SmartSeq2_RTPCR_protocol.pdf', '22028_5#300_1.fastq.gz'), - ('file_format', 'pdf', 'fastq.gz'), - ('read_index', '', 'read1'), - ('file_size', '29230', '64718465'), - ('file_uuid', '5f9b45af-9a26-4b16-a785-7f2d1053dd7c', 'f2b6c6f0-8d25-4aae-b255-1974cc110cfe'), - ('file_version', '2018-09-14T12:33:47.012715Z', '2018-09-14T12:33:43.720332Z'), - - ('file_crc32c', 'b9364bfa', '980453cc'), - ('file_sha256', - '2f6866c4ede92123f90dd15fb180fac56e33309b8fd3f4f52f263ed2f8af2f16', - '3125f2f86092798b85be93fbc66f4e733e9aec0929b558589c06929627115582'), - - ('file_content_type', 'application/pdf; dcp-type=data', 'application/gzip; dcp-type=data'), - - ('file_drs_uri', - self._drs_uri('5f9b45af-9a26-4b16-a785-7f2d1053dd7c', - '2018-09-14T12:33:47.012715Z'), - self._drs_uri('f2b6c6f0-8d25-4aae-b255-1974cc110cfe', - '2018-09-14T12:33:43.720332Z')), - - ('file_url', - self._file_url('5f9b45af-9a26-4b16-a785-7f2d1053dd7c', - '2018-09-14T12:33:47.012715Z'), - self._file_url('f2b6c6f0-8d25-4aae-b255-1974cc110cfe', - '2018-09-14T12:33:43.720332Z')), - - ('cell_suspension.provenance.document_id', - '', - '0037c9eb-8038-432f-8d9d-13ee094e54ab || aaaaaaaa-8038-432f-8d9d-13ee094e54ab'), - - ('cell_suspension.biomaterial_core.biomaterial_id', '', '22028_5#300 || 22030_5#300'), - ('cell_suspension.estimated_cell_count', '', '9001'), - ('cell_suspension.selected_cell_type', '', 'CAFs'), - ('sequencing_process.provenance.document_id', '', '72732ed3-7b71-47df-bcec-c765ef7ea758'), - ('sequencing_protocol.instrument_manufacturer_model', '', 'Illumina HiSeq 2500'), - ('sequencing_protocol.paired_end', '', 'True'), - ('library_preparation_protocol.library_construction_approach', '', 'Smart-seq2'), - ('library_preparation_protocol.nucleic_acid_source', '', 'single cell'), - - ('project.provenance.document_id', - '67bc798b-a34a-4104-8cab-cad648471f69', - '67bc798b-a34a-4104-8cab-cad648471f69'), - - ('project.contributors.institution', - ' || '.join([ - 'DKFZ German Cancer Research Center', - 'EMBL-EBI', - 'University of Cambridge', - 'University of Helsinki', - 'Wellcome Trust Sanger Institute']), - ' || '.join([ - 'DKFZ German Cancer Research Center', - 'EMBL-EBI', - 'University of Cambridge', - 'University of Helsinki', - 'Wellcome Trust Sanger Institute'])), - - ('project.contributors.laboratory', - 'Human Cell Atlas Data Coordination Platform || MRC Cancer Unit || Sarah Teichmann', - 'Human Cell Atlas Data Coordination Platform || MRC Cancer Unit || Sarah Teichmann'), - - ('project.project_core.project_short_name', 'Mouse Melanoma', 'Mouse Melanoma'), - - ('project.project_core.project_title', - 'Melanoma infiltration of stromal and immune cells', - 'Melanoma infiltration of stromal and immune cells'), - - ('project.estimated_cell_count', '', ''), - - ('specimen_from_organism.provenance.document_id', - '', - 'aaaaaaaa-7bab-44ba-a81d-3d8cb3873244 || b4e55fe1-7bab-44ba-a81d-3d8cb3873244'), - - ('specimen_from_organism.diseases', '', ''), - ('specimen_from_organism.organ', '', 'brain || tumor'), - ('specimen_from_organism.organ_part', '', ''), - ('specimen_from_organism.preservation_storage.preservation_method', '', ''), - ('donor_organism.sex', '', 'female'), - ('donor_organism.biomaterial_core.biomaterial_id', '', '1209'), - ('donor_organism.provenance.document_id', '', '89b50434-f831-4e15-a8c0-0d57e6baa94c'), - ('donor_organism.genus_species', '', 'Mus musculus'), - ('donor_organism.development_stage', '', 'adult'), - ('donor_organism.diseases', '', 'subcutaneous melanoma'), - ('donor_organism.organism_age', '', '6-12 week'), - ('cell_line.provenance.document_id', '', ''), - ('cell_line.biomaterial_core.biomaterial_id', '', ''), - ('organoid.provenance.document_id', '', ''), - ('organoid.biomaterial_core.biomaterial_id', '', ''), - ('organoid.model_organ', '', ''), - ('organoid.model_organ_part', '', ''), - ('_entity_type', '', 'specimens'), - - ('sample.provenance.document_id', - '', - 'aaaaaaaa-7bab-44ba-a81d-3d8cb3873244 || b4e55fe1-7bab-44ba-a81d-3d8cb3873244'), - - ('sample.biomaterial_core.biomaterial_id', '', '1209_T || 1210_T'), - - ('sequencing_input.provenance.document_id', - '', - '0037c9eb-8038-432f-8d9d-13ee094e54ab || aaaaaaaa-8038-432f-8d9d-13ee094e54ab'), - - ('sequencing_input.biomaterial_core.biomaterial_id', - '', - '22028_5#300 || 22030_5#300'), - - ('sequencing_input_type', '', 'cell_suspension') - ] - self.maxDiff = None - bundle_fqid = self.bundle_fqid(uuid='f79257a7-dfc6-46d6-ae00-ba4b25313c10', - version='2018-09-14T13:33:14.453337Z') - bundle = self._load_canned_bundle(bundle_fqid) - self._index_bundle(bundle) - - # Duplicate one of the files into a minimal mock bundle to test - # redundant file contributions from different bundles (for example due - # to stitching) - entity_ids = { - '89e313db-4423-4d53-b17e-164949acfa8f', # Supplementary file - '67bc798b-a34a-4104-8cab-cad648471f69', # Project - } - manifest = { - ref: entry - for ref, entry in bundle.manifest.items() - if EntityReference.parse(ref).entity_id in entity_ids - } - metadata = { - ref: copy_json(content) - for ref, content in bundle.metadata.items() - if EntityReference.parse(ref).entity_id in entity_ids - } - # This is an older bundle so there are no supplementary file links. - # The existing links reference entities that weren't copied to the mock bundle. - links = bundle.links - links['links'].clear() - new_bundle_fqid = self.bundle_fqid(uuid='b81656cf-231b-47a3-9317-10f1e501a05c', - version='2000-01-01T01:00:00.000000Z') - self._index_bundle(DSSBundle(fqid=new_bundle_fqid, - manifest=manifest, - metadata=metadata, - links=links)) - - filters = { - 'fileId': { - 'is': [ - '5f9b45af-9a26-4b16-a785-7f2d1053dd7c', - 'f2b6c6f0-8d25-4aae-b255-1974cc110cfe' - ] - } - } - response = self._get_manifest(ManifestFormat.compact, filters) - self.assertEqual(200, response.status_code) - self._assert_tsv(expected, response) - - def test_manifest_zarr(self): - """ - Test that when downloading a manifest with a zarr, all of the files are - added into the manifest even if they are not listed in the service - response. - """ - self.maxDiff = None - expected = [ - # Original file - { - 'file_crc32c': '4e75003e', - 'file_name': '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/.zattrs', - 'file_uuid': 'c1c4a2bc-b5fb-4083-af64-f5dec70d7f9d', - 'file_drs_uri': self._drs_uri('c1c4a2bc-b5fb-4083-af64-f5dec70d7f9d', - '2018-10-10T03:10:37.983672Z'), - 'file_url': self._file_url('c1c4a2bc-b5fb-4083-af64-f5dec70d7f9d', - '2018-10-10T03:10:37.983672Z'), - 'specimen_from_organism.organ': 'brain' - }, - # Related files from zarray store - { - 'file_crc32c': '444a7707', - 'file_name': '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/.zgroup', - 'file_uuid': '54541cc5-9010-425b-9037-22e43948c97c', - 'file_drs_uri': self._drs_uri('54541cc5-9010-425b-9037-22e43948c97c', - '2018-10-10T03:10:38.239541Z'), - 'file_url': self._file_url('54541cc5-9010-425b-9037-22e43948c97c', - '2018-10-10T03:10:38.239541Z'), - 'specimen_from_organism.organ': 'brain' - }, - { - 'file_crc32c': '444a7707', - 'file_name': '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/.zgroup', - 'file_uuid': '66b8f976-6f1e-45b3-bd97-069658c3c847', - 'file_drs_uri': self._drs_uri('66b8f976-6f1e-45b3-bd97-069658c3c847', - '2018-10-10T03:10:38.474167Z'), - 'file_url': self._file_url('66b8f976-6f1e-45b3-bd97-069658c3c847', - '2018-10-10T03:10:38.474167Z'), - 'specimen_from_organism.organ': 'brain' - }, - { - 'file_crc32c': 'c6ab0701', - 'file_name': '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/cell_id/.zarray', - 'file_uuid': 'ac05d7fb-d6b9-4ab1-8c04-6211450dbb62', - 'file_drs_uri': self._drs_uri('ac05d7fb-d6b9-4ab1-8c04-6211450dbb62', - '2018-10-10T03:10:38.714461Z'), - 'file_url': self._file_url('ac05d7fb-d6b9-4ab1-8c04-6211450dbb62', - '2018-10-10T03:10:38.714461Z'), - 'specimen_from_organism.organ': 'brain' - }, - { - 'file_crc32c': 'cd2fd51f', - 'file_name': '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/cell_id/0.0', - 'file_uuid': '0c518a52-f315-4ea2-beed-1c9d8f2d802b', - 'file_drs_uri': self._drs_uri('0c518a52-f315-4ea2-beed-1c9d8f2d802b', - '2018-10-10T03:10:39.039270Z'), - 'file_url': self._file_url('0c518a52-f315-4ea2-beed-1c9d8f2d802b', - '2018-10-10T03:10:39.039270Z'), - 'specimen_from_organism.organ': 'brain' - }, - { - 'file_crc32c': 'b89e6723', - 'file_name': '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/expression/.zarray', - 'file_uuid': '136108ab-277e-47a4-acc3-1feed8fb2f25', - 'file_drs_uri': self._drs_uri('136108ab-277e-47a4-acc3-1feed8fb2f25', - '2018-10-10T03:10:39.426609Z'), - 'file_url': self._file_url('136108ab-277e-47a4-acc3-1feed8fb2f25', - '2018-10-10T03:10:39.426609Z'), - 'specimen_from_organism.organ': 'brain' - }, - { - 'file_crc32c': 'caaefa77', - 'file_name': '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/expression/0.0', - 'file_uuid': '0bef5419-739c-4a2c-aedb-43754d55d51c', - 'file_drs_uri': self._drs_uri('0bef5419-739c-4a2c-aedb-43754d55d51c', - '2018-10-10T03:10:39.642846Z'), - 'file_url': self._file_url('0bef5419-739c-4a2c-aedb-43754d55d51c', - '2018-10-10T03:10:39.642846Z'), - 'specimen_from_organism.organ': 'brain' - }, - { - 'file_crc32c': 'f629ec34', - 'file_name': '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/gene_id/.zarray', - 'file_uuid': '3a5f7299-1aa1-4060-9631-212c29b4d807', - 'file_drs_uri': self._drs_uri('3a5f7299-1aa1-4060-9631-212c29b4d807', - '2018-10-10T03:10:39.899615Z'), - 'file_url': self._file_url('3a5f7299-1aa1-4060-9631-212c29b4d807', - '2018-10-10T03:10:39.899615Z'), - 'specimen_from_organism.organ': 'brain' - }, - { - 'file_crc32c': '59d86b68', - 'file_name': '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/gene_id/0.0', - 'file_uuid': 'a8f0dc39-6019-4fc7-899d-4e34a48d03e5', - 'file_drs_uri': self._drs_uri('a8f0dc39-6019-4fc7-899d-4e34a48d03e5', - '2018-10-10T03:10:40.113268Z'), - 'file_url': self._file_url('a8f0dc39-6019-4fc7-899d-4e34a48d03e5', - '2018-10-10T03:10:40.113268Z'), - 'specimen_from_organism.organ': 'brain' - }, - { - 'file_crc32c': '25d193cf', - 'file_name': '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/qc_metric/.zarray', - 'file_uuid': '68ba4711-1447-42ac-aa40-9c0e4cda1666', - 'file_drs_uri': self._drs_uri('68ba4711-1447-42ac-aa40-9c0e4cda1666', - '2018-10-10T03:10:40.583439Z'), - 'file_url': self._file_url('68ba4711-1447-42ac-aa40-9c0e4cda1666', - '2018-10-10T03:10:40.583439Z'), - 'specimen_from_organism.organ': 'brain' - }, - { - 'file_crc32c': '17a84191', - 'file_name': '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/qc_metric/0.0', - 'file_uuid': '27e66328-e337-4bcd-ba15-7893ecaf841f', - 'file_drs_uri': self._drs_uri('27e66328-e337-4bcd-ba15-7893ecaf841f', - '2018-10-10T03:10:40.801631Z'), - 'file_url': self._file_url('27e66328-e337-4bcd-ba15-7893ecaf841f', - '2018-10-10T03:10:40.801631Z'), - 'specimen_from_organism.organ': 'brain' - }, - { - 'file_crc32c': '25d193cf', - 'file_name': '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/qc_values/.zarray', - 'file_uuid': '2ab1a516-ef36-41b6-a78f-513361658feb', - 'file_drs_uri': self._drs_uri('2ab1a516-ef36-41b6-a78f-513361658feb', - '2018-10-10T03:10:40.958708Z'), - 'file_url': self._file_url('2ab1a516-ef36-41b6-a78f-513361658feb', - '2018-10-10T03:10:40.958708Z'), - 'specimen_from_organism.organ': 'brain' - }, - { - 'file_crc32c': 'bdc30523', - 'file_name': '377f2f5a-4a45-4c62-8fb0-db9ef33f5cf0.zarr/expression_matrix/qc_values/0.0', - 'file_uuid': '351970aa-bc4c-405e-a274-be9e08e42e98', - 'file_drs_uri': self._drs_uri('351970aa-bc4c-405e-a274-be9e08e42e98', - '2018-10-10T03:10:41.135992Z'), - 'file_url': self._file_url('351970aa-bc4c-405e-a274-be9e08e42e98', - '2018-10-10T03:10:41.135992Z'), - 'specimen_from_organism.organ': 'brain' - } - ] - expected_keys = one(set(map(frozenset, map(dict.keys, expected)))) - bundle_fqid = self.bundle_fqid(uuid='587d74b4-1075-4bbf-b96a-4d1ede0481b2', - version='2018-10-10T02:23:43.182000Z') - self._index_canned_bundle(bundle_fqid) - filters = {'fileFormat': {'is': ['matrix', 'mtx']}} - url = self.base_url.set(path='/index/files', - args=dict(catalog=self.catalog, - filters=json.dumps(filters))) - response = requests.get(str(url)) - hits = response.json()['hits'] - self.assertEqual(len(hits), 1) - - format = ManifestFormat.compact - with self.subTest(format=format): - response = self._get_manifest(format, filters) - self.assertEqual(200, response.status_code) - # Cannot use response.iter_lines() because of https://github.com/psf/requests/issues/3980 - lines = response.content.decode().splitlines() - tsv_file = csv.DictReader(lines, delimiter='\t') - rows = list(tsv_file) - rows = [{k: v for k, v in row.items() if k in expected_keys} for row in rows] - self.assertEqual(expected, rows) - - format = ManifestFormat.curl - with self.subTest(format=format): - response = self._get_manifest(format, filters) - self.assertEqual(200, response.status_code) - lines = response.content.decode().splitlines() - file_prefix = 'output="587d74b4-1075-4bbf-b96a-4d1ede0481b2/' - url = self.base_url.set(path='/repository/files') - location_prefix = f'url="{str(url)}' - curl_files = [] - urls = [] - related_urls = [] - for line in lines: - if line.startswith(file_prefix): - self.assertTrue(line.endswith('"')) - file_name = line[len(file_prefix):-1] - curl_files.append(file_name) - elif line.startswith(location_prefix): - self.assertTrue(line.endswith('"')) - url = furl(line[len(location_prefix):-1]) - (related_urls if 'drsUri' in url.args else urls).append(url) - else: - # The manifest contains a combination of line formats, - # we only validate `output` and `url` prefixed lines. - pass - self.assertEqual(sorted([f['file_name'] for f in expected]), - sorted(curl_files)) - self.assertEqual(1, len(urls)) - self.assertEqual(len(expected) - 1, len(related_urls)) - expected_args = {'drsUri', 'fileName', 'requestIndex'} - for url in related_urls: - self.assertSetEqual(expected_args - set(url.args.keys()), set()) - - def test_curl_manifest(self): - self.maxDiff = None - bundle_fqid = self.bundle_fqid(uuid='f79257a7-dfc6-46d6-ae00-ba4b25313c10', - version='2018-09-14T13:33:14.453337Z') - self._index_canned_bundle(bundle_fqid) - filters = {'fileFormat': {'is': ['pdf']}} - response = self._get_manifest(ManifestFormat.curl, filters) - self.assertEqual(200, response.status_code) - lines = response.content.decode().splitlines() - expected_header = [ - '--http1.1', - '', - '--create-dirs', - '', - '--compressed', - '', - '--location', - '', - '--globoff', - '', - '--fail', - '', - '--fail-early', - '', - '--continue-at -', - '', - '--write-out "Downloading to: %{filename_effective}\\n\\n"', - '', - ] - header_length = len(expected_header) - header, body = lines[:header_length], lines[header_length:] - self.assertEqual(expected_header, header) - base_url = str(self.base_url.set(path='/repository/files')) - expected_body = [ - [ - f'url="{base_url}/0db87826-ea2d-422b-ba71-b15d0e4293ae' - '?catalog=test&version=2018-09-14T12%3A33%3A47.221025Z"', - 'output="f79257a7-dfc6-46d6-ae00-ba4b25313c10/SmartSeq2_sequencing_protocol.pdf"', - '' - ], - [ - f'url="{base_url}/156c15a3-3406-45d3-a25e-27179baf0c59' - '?catalog=test&version=2018-09-14T12%3A33%3A46.866929Z"', - 'output="f79257a7-dfc6-46d6-ae00-ba4b25313c10/TissueDissociationProtocol.pdf"', - '' - ], - [ - f'url="{base_url}/5f9b45af-9a26-4b16-a785-7f2d1053dd7c' - '?catalog=test&version=2018-09-14T12%3A33%3A47.012715Z"', - 'output="f79257a7-dfc6-46d6-ae00-ba4b25313c10/SmartSeq2_RTPCR_protocol.pdf"', - '' - ], - ] - self.assertEqual(expected_body, sorted(chunked(body, 3))) - - def test_manifest_format_validation(self): - url = self.base_url.set(path='/manifest/files', - args=dict(format='invalid-type')) - response = requests.put(str(url)) - self.assertEqual(400, response.status_code, response.content) - - def test_manifest_filter_validation(self): - url = self.base_url.set(path='/manifest/files', - args=dict(format='compact', - filters=dict(fileFormat=['pdf']))) - response = requests.put(str(url)) - self.assertEqual(400, response.status_code, response.content) - - def test_manifest_content_disposition_header(self): - bundle_fqid = self.bundle_fqid(uuid='f79257a7-dfc6-46d6-ae00-ba4b25313c10', - version='2018-09-14T13:33:14.453337Z') - self._index_canned_bundle(bundle_fqid) - with patch.object(manifest_service, 'datetime') as mock_datetime: - mock_datetime.now.return_value = datetime(1985, 10, 25, 1, 21) - for format in [ManifestFormat.compact]: - for filters, expected_name in [ - # For a single project, the content disposition file name should - # be the project name followed by the date and time - ( - {'project': {'is': ['Single of human pancreas']}}, - 'Single of human pancreas 1985-10-25 01.21' - ), - # In all other cases, the standard content disposition file name - # should be "hca-manifest-" followed by the manifest key, - # a pair of deterministically derived v5 UUIDs. - ( - {'project': {'is': ['Single of human pancreas', 'Mouse Melanoma']}}, - 'hca-manifest-20d97863-d8cf-54f3-8575-0f9593d3d7ef.4bc67e84-4873-591f-b524-a5fe4ec215eb' - ), - ( - {}, - 'hca-manifest-c3cf398e-1927-5aae-ba2a-81d8d1800b2d.4bc67e84-4873-591f-b524-a5fe4ec215eb' - ) - ]: - with self.subTest(filters=filters, format=format): - manifest, num_partitions = self._get_manifest_object(format, filters) - self.assertFalse(manifest.was_cached) - self.assertEqual(1, num_partitions) - url = furl(self._service.get_manifest_url(manifest)) - expected_cd = f'attachment;filename="{expected_name}.tsv"' - actual_cd = url.args['response-content-disposition'] - self.assertEqual(expected_cd, actual_cd) - - def test_verbatim_jsonl_manifest(self): - response = self._get_manifest(ManifestFormat.verbatim_jsonl, {}) - self.assertEqual(200, response.status_code) - path = ['verbatim', 'jsonl', 'hca', 'manifest.json'] - # FIXME: Some replicas are still missing for HCA - # https://github.com/DataBiosphere/azul/issues/6597 - expected = self._load_canned_manifest(*path) - self._assert_jsonl(expected, response) - - def test_verbatim_pfb_manifest(self): - response = self._get_manifest(ManifestFormat.verbatim_pfb, filters={}) - self.assertEqual(200, response.status_code) - # FIXME: Some replicas are still missing for HCA - # https://github.com/DataBiosphere/azul/issues/6597 - canned_pfb = self._load_canned_pfb('verbatim', 'pfb', 'hca') - expected_schema, expected_entities = canned_pfb - self._assert_pfb(expected_schema, expected_entities, response) - - -class TestManifestCache(DCP1ManifestTestCase): - - @patch.object(StorageService, '_time_until_object_expires') - def test_metadata_cache_expiration(self, _time_until_object_expires: MagicMock): - self.maxDiff = None - bundle_fqid = self.bundle_fqid(uuid='f79257a7-dfc6-46d6-ae00-ba4b25313c10', - version='2018-09-14T13:33:14.453337Z') - self._index_canned_bundle(bundle_fqid) - - def test(expiration: int | None) -> list[str]: - if expiration is not None: - _time_until_object_expires.return_value = expiration - filters = {'projectId': {'is': ['67bc798b-a34a-4104-8cab-cad648471f69']}} - from azul.service.manifest_service import ( - log as service_log, - ) - with self.assertLogs(logger=service_log, level='INFO') as logs: - response = self._get_manifest(ManifestFormat.compact, filters) - self.assertEqual(200, response.status_code) - if expiration is None: - _time_until_object_expires.assert_not_called() - _time_until_object_expires.reset_mock() - return logs.output - - # On the first request the cached manifest doesn't exist yet - logs = test(expiration=None) - self.assertTrue(any('Cached manifest not found' in message - for message in logs)) - - # If the cached manifest has a long time till it expires then no log - # message expected - logs = test(expiration=3600) - self.assertFalse(any('Cached manifest' in message - for message in logs)) - - # If the cached manifest has a short time till it expires then a log - # message is expected - logs = test(expiration=30) - self.assertTrue(any('Cached manifest is about to expire' in message - for message in logs)) - - @patch.object(StorageService, '_time_until_object_expires') - def test_compact_metadata_cache(self, _time_until_object_expires: MagicMock): - self.maxDiff = None - bundle_fqids = { - '67bc798b-a34a-4104-8cab-cad648471f69': - self.bundle_fqid(uuid='f79257a7-dfc6-46d6-ae00-ba4b25313c10', - version='2018-09-14T13:33:14.453337Z'), - '6615efae-fca8-4dd2-a223-9cfcf30fe94d': - self.bundle_fqid(uuid='587d74b4-1075-4bbf-b96a-4d1ede0481b2', - version='2018-09-14T13:33:14.453337Z') - } - for i, (project_id, bundle_fqid) in enumerate(bundle_fqids.items()): - self._index_canned_bundle(bundle_fqid) - file_names = defaultdict(list) - for j in range(2): - for filter_project_id in bundle_fqids.keys(): - # We can only get a cache miss for the first of two the - # requests using the same filter (j==2). After indexing the - # first bundle, the first request for either filter will - # produce a miss. After indexing the second bundle, only the - # filter for the project of that second bundle will produce - # a miss. That's because indexing the second bundle won't - # affect the content hash of the manifest filtered by - # project of the first bundle. That manifest is empty. - cache_miss = j == 0 and ( - i == 0 - or i == 1 and project_id == filter_project_id - ) - _time_until_object_expires.return_value = None if cache_miss else 3600 - with self.subTest(bundle_fqid=bundle_fqid.uuid[0:8], - cache_miss=cache_miss, - filter_project_id=filter_project_id[0:8]): - filters = {'projectId': {'is': [filter_project_id]}} - response = self._get_manifest(ManifestFormat.compact, filters=filters) - self.assertEqual(200, response.status_code) - if cache_miss: - _time_until_object_expires.assert_not_called() - else: - _time_until_object_expires.assert_called_once() - _time_until_object_expires.reset_mock() - header = response.headers['Content-Disposition'] - value, params = cgi.parse_header(header) - self.assertEqual('attachment', value) - file_names[filter_project_id].append(params['filename']) - with self.subTest(bundle_fqid=bundle_fqid.uuid[0:8]): - self.assertEqual(file_names.keys(), bundle_fqids.keys()) - # The manifest for the current project should have a custom file - # name instead of the generic one. The manifest for the other - # project will have a generic name, if its empty because its - # bundle hasn't been indexed yet. - self.assertFalse(any(f.startswith('hca-') for f in file_names[project_id])) - other_project_id = one(p for p in bundle_fqids.keys() if p != project_id) - generic_names = (f.startswith('hca-') for f in file_names[other_project_id]) - if i == 0: - self.assertTrue(all(generic_names)) - else: - self.assertFalse(any(generic_names)) - self.assertEqual([2, 2], list(map(len, file_names.values()))) - self.assertEqual([1, 1], list(map(len, map(set, file_names.values())))) - - def test_hash_validity(self): - self.maxDiff = None - bundle_uuid = 'aaa96233-bf27-44c7-82df-b4dc15ad4d9d' - version1 = '2018-11-02T11:33:44.698028Z' - version2 = '2018-11-04T11:33:44.698028Z' - assert (version1 != version2) - original_fqid = self.bundle_fqid(uuid=bundle_uuid, version=version1) - self._index_canned_bundle(original_fqid) - filters = self._filters({'project': {'is': ['Single of human pancreas']}}) - old_keys = {} - service = ManifestService(self.storage_service, self.app_module.app.file_url) - - def manifest_generator(format: ManifestFormat) -> ManifestGenerator: - generator_cls = ManifestGenerator.cls_for_format(format) - return generator_cls(service, self.catalog, filters) - - for format in ManifestFormat: - with self.subTest('indexing new bundle', format=format): - # When a new bundle is indexed and its compact manifest cached, - # a matching manifest key is generated ... - generator = manifest_generator(format) - old_bundle_key = generator.manifest_key() - # and should remain valid ... - self.assertEqual(old_bundle_key, generator.manifest_key()) - old_keys[format] = old_bundle_key - - # ... until a new bundle belonging to the same project is indexed, at - # which point a manifest request will generate a different key ... - update_fqid = self.bundle_fqid(uuid=bundle_uuid, version=version2) - self._index_canned_bundle(update_fqid) - new_keys = {} - for format in ManifestFormat: - with self.subTest('indexing second bundle', format=format): - generator = manifest_generator(format) - new_bundle_key = generator.manifest_key() - # ... invalidating the cached object previously used for the same filter. - self.assertNotEqual(old_keys[format], new_bundle_key) - new_keys[format] = new_bundle_key - - # Updates or additions, unrelated to that project do not affect object - # key generation - other_fqid = self.bundle_fqid(uuid='f79257a7-dfc6-46d6-ae00-ba4b25313c10', - version='2018-09-14T13:33:14.453337Z') - self._index_canned_bundle(other_fqid) - for format in ManifestFormat: - with self.subTest('indexing unrelated bundle', format=format): - generator = manifest_generator(format) - latest_bundle_key = generator.manifest_key() - self.assertEqual(latest_bundle_key, new_keys[format]) - - @patch.object(StorageService, '_time_until_object_expires') - def test_get_cached_manifest(self, _time_until_object_expires: MagicMock): - format = ManifestFormat.curl - filters = {} - - # Prime the cache - manifest, _ = self._get_manifest_object(format=format, filters=filters) - self.assertFalse(manifest.was_cached) - manifest_key = manifest.manifest_key - _time_until_object_expires.assert_not_called() - - # Simulate a valid cached manifest - _time_until_object_expires.return_value = 3000 - filters = self._filters(filters) - cached_manifest_1 = self._service.get_cached_manifest(format=format, - catalog=manifest_key.catalog, - filters=filters) - self.assertTrue(cached_manifest_1.was_cached) - _time_until_object_expires.assert_called_once() - _time_until_object_expires.reset_mock() - # The `was_cached` and `location` properties should be the only - # differences. The `location` is a signed S3 URL that depends on - # the current time. If both manifest where created in different - # seconds, the signed URL is going to have a different expiration. - manifest = attrs.evolve(manifest, - was_cached=True, - object_key=cached_manifest_1.object_key) - self.assertEqual(manifest, cached_manifest_1) - cached_manifest_2 = self._service.get_cached_manifest_with_key(manifest_key) - cached_manifest_1 = attrs.evolve(cached_manifest_1, - object_key=cached_manifest_2.object_key) - self.assertEqual(cached_manifest_1, cached_manifest_2) - _time_until_object_expires.assert_called_once() - _time_until_object_expires.reset_mock() - - # Simulate an expired cached manifest - _time_until_object_expires.return_value = 30 - with self.assertRaises(CachedManifestNotFound) as e: - self._service.get_cached_manifest(format=format, - catalog=manifest_key.catalog, - filters=filters) - self.assertEqual(manifest_key, e.exception.manifest_key) - _time_until_object_expires.assert_called_once() - _time_until_object_expires.reset_mock() - with self.assertRaises(CachedManifestNotFound) as e: - self._service.get_cached_manifest_with_key(manifest_key) - self.assertEqual(manifest_key, e.exception.manifest_key) - _time_until_object_expires.assert_called_once() - _time_until_object_expires.reset_mock() - - -class TestManifestResponse(DCP1ManifestTestCase): - - @patch.dict(os.environ, AZUL_PRIVATE_API='0') - @patch.object(ManifestService, 'get_cached_manifest') - @patch.object(ManifestService, 'get_cached_manifest_with_key') - @patch.object(ManifestService, 'sign_manifest_key') - @patch.object(ManifestService, 'verify_manifest_key') - @patch.object(ManifestService, 'get_manifest_url') - def test_manifest(self, - get_manifest_url, - verify_manifest_key, - sign_manifest_key, - get_cached_manifest_with_key, - get_cached_manifest): - """ - Verify the response from manifest endpoints for all manifest formats - """ - - def test(*, format: ManifestFormat, fetch: bool, url: Optional[furl] = None): - object_url = furl('https://url.to.manifest?foo=bar') - default_file_name = 'some_object_key.csv' - manifest_key = ManifestKey(catalog=self.catalog, - format=format, - manifest_hash=UUID('d2b0ce3c-46f0-57fe-b9d4-2e38d8934fd4'), - source_hash=UUID('77936747-5968-588e-809f-af842d6be9e0')) - signed_manifest_key = SignedManifestKey(value=manifest_key, signature=b'123') - sign_manifest_key.return_value = signed_manifest_key - verify_manifest_key.return_value = manifest_key - manifest = Manifest(object_key='key/of/manifest', - was_cached=False, - format=format, - manifest_key=manifest_key, - file_name=default_file_name) - get_cached_manifest.return_value = manifest - get_cached_manifest_with_key.return_value = manifest - get_manifest_url.return_value = object_url - args = dict(catalog=self.catalog, - format=format.value, - filters='{}') - path = ['manifest', 'files'] - if fetch and format is ManifestFormat.curl: - expected_url = self.base_url.set(path=[*path, signed_manifest_key.encode()]) - expected_url_for_bash = expected_url - else: - expected_url = object_url - expected_url_for_bash = sq(str(expected_url)) - if format is ManifestFormat.curl: - manifest_options = '--location --fail' - file_options = '--retry 15 --retry-delay 10' - expected = { - 'cmd.exe': f'curl.exe {manifest_options} "{expected_url}"' - f' | curl.exe {file_options} --config -', - 'bash': f'curl {manifest_options} {expected_url_for_bash}' - f' | curl {file_options} --config -' - } - else: - file_name = manifest.file_name - options = '--location --fail --output' - expected = { - 'cmd.exe': f'curl.exe {options} "{file_name}" "{expected_url}"', - 'bash': f'curl {options} {file_name} {expected_url_for_bash}' - } - if url is None: - method, request_url = 'PUT', self.base_url.set(path=path, args=args) - else: - assert not fetch - method, request_url = 'GET', url - if fetch: - request_url.path.segments.insert(0, 'fetch') - expected = { - 'Status': 302, - 'Location': str(expected_url), - 'CommandLine': expected - } - response = requests.request('PUT', str(request_url)) - self.assertEqual(200, response.status_code) - self.assertEqual(expected, response.json()) - self.assertEqual('application/json', response.headers['Content-Type']) - if format is ManifestFormat.curl: - test(format=format, fetch=False, url=expected_url) - else: - response = requests.request(method, str(request_url), allow_redirects=False) - expected = ''.join( - f'\nDownload the manifest in {shell} with `curl` using:\n\n{cmd}\n' - for shell, cmd in expected.items() - ) - self.assertEqual(302, response.status_code) - self.assertEqual(expected, response.text) - self.assertEqual(object_url, furl(response.headers['location'])) - self.assertEqual('text/plain', response.headers['Content-Type']) - - for format in self.app_module.app.metadata_plugin.manifest_formats: - for fetch in True, False: - with self.subTest(format=format, fetch=fetch): - test(format=format, fetch=fetch) - - -class TestManifestPartitioning(DCP1ManifestTestCase, DocumentCloningTestCase): - - def setUp(self): - super().setUp() - self._setup_document_templates() - self._add_docs(5000) - - def test(self): - # This is the smallest valid S3 part size - part_size = 5 * 1024 * 1024 - with patch.object(PagedManifestGenerator, 'part_size', part_size): - manifest, num_partitions = self._get_manifest_object(ManifestFormat.compact, - filters={}) - url = self._service.get_manifest_url(manifest) - content = requests.get(url).content - self.assertGreater(num_partitions, 1) - self.assertGreater(len(content), (num_partitions - 1) * part_size) - - -class AnvilManifestTestCase(ManifestTestCase, AnvilCannedBundleTestCase): - - @property - def _drs_domain(self) -> str: - return self.mock_tdr_service_url.netloc - - @classmethod - def bundles(cls) -> list[SourcedBundleFQID]: - return [ - cls.bundle_fqid(uuid='2370f948-2783-aeb6-afea-e022897f4dcf'), - cls.bundle_fqid(uuid='c2711e94-9966-a0ef-88be-88caf3e8a29b'), - cls.bundle_fqid(uuid='826dea02-e274-affe-aabc-eb3db63ad068'), - cls.bundle_fqid(uuid='6b35f59c-d33d-abf7-9ba0-c7b3a0ca82f3') - ] - - source_id_filters: FiltersJSON = { - 'source_id': {'is': ['6c87f0e1-509d-46a4-b845-7584df39263b']} - } - - dataset_id_filters: FiltersJSON = { - 'datasets.dataset_id': {'is': ['52ee7665-7033-63f2-a8d9-ce8e32666739']} - } - - dataset_title_filters: FiltersJSON = { - 'datasets.title': {'is': ['ANVIL_CMG_UWASH_DS_BDIS']} - } - - neutral_file_filters: FiltersJSON = { - 'files.is_supplementary': {'is': [True, False]} - } - - # Whether orphans ought to be present in verbatim manifests generated with - # the given filters. - expect_orphans_by_filters = [ - ({}, True), - (source_id_filters, True), - (dataset_title_filters, True), - (dataset_id_filters, True), - (neutral_file_filters, False), - ({**neutral_file_filters, **dataset_title_filters}, False), - ] - - def _test_verbatim_pfb_manifest(self, *, enable_relations: bool): - with patch.object(type(config), - 'enable_verbatim_relations', - new=PropertyMock(return_value=enable_relations)): - for filters, expect_orphans in self.expect_orphans_by_filters: - with self.subTest(filters=filters): - expect_relations = ( - enable_relations - and expect_orphans - and not self.source.spec.prefix.common - ) - expected_manifest = self._expected_pfb_manifest(expect_orphans, expect_relations) - expected_schema, expected_entities = expected_manifest - response = self._get_manifest(ManifestFormat.verbatim_pfb, filters) - self.assertEqual(200, response.status_code) - self._assert_pfb(expected_schema, expected_entities, response) - - @cache - def _expected_pfb_manifest(self, - include_orphans: bool, - include_relations: bool - ) -> tuple[JSON, JSONs]: - canned_pfb = self._load_canned_pfb('verbatim', 'pfb', 'anvil') - pfb_schema, pfb_entities = canned_pfb - if not include_relations: - for entity in pfb_entities: - entity['relations'].clear() - if not include_orphans: - # To avoid dangling references, relations are only populated when - # including orphans - assert not include_relations - self.assertEqual('Entity', pfb_schema['name']) - object_field_schema = one( - field - for field in pfb_schema['fields'] - if field['name'] == 'object' - ) - # The `object` field is of a union type, so the schema's `type` - # property is an array - schemas = object_field_schema['type'] - # The first AVRO record is the *metadata entity* in PFB terms, - # declaring higher level constraints that can't be expressed in - # the AVRO schema - metadata_entity = pfb_entities[0] - self.assertEqual('Metadata', metadata_entity['name']) - higher_schemas = metadata_entity['object']['nodes'] - for part in [schemas, higher_schemas, pfb_entities]: - filtered = [e for e in part if e['name'] != 'non_schema_orphan_table'] - assert len(filtered) < len(part), 'Expected to filter orphan references' - part[:] = filtered - return pfb_schema, pfb_entities - - -class TestAnvilManifests(AnvilManifestTestCase): - - def test_compact_manifest(self): - response = self._get_manifest(ManifestFormat.compact, filters={}) - self.assertEqual(200, response.status_code) - # The `duos_id` field is absent from manifests since there is only one - # DUOS bundle per dataset, and that bundle only contributes to outer - # entities of the `datasets` type, not to entities of the other types, - # such as files, which the manifest is generated from. - expected = [ - ( - 'bundles.bundle_uuid', - 'c2711e94-9966-a0ef-88be-88caf3e8a29b', - '826dea02-e274-affe-aabc-eb3db63ad068', - '826dea02-e274-affe-aabc-eb3db63ad068' - ), - ( - 'bundles.bundle_version', - '2022-06-01T00:00:00.000000Z', - '2022-06-01T00:00:00.000000Z', - '2022-06-01T00:00:00.000000Z' - ), - ( - 'sources.source_id', - '6c87f0e1-509d-46a4-b845-7584df39263b', - '6c87f0e1-509d-46a4-b845-7584df39263b', - '6c87f0e1-509d-46a4-b845-7584df39263b' - ), - ( - 'sources.source_spec', - 'tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0', - 'tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0', - 'tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0' - ), - ( - 'datasets.document_id', - '2370f948-2783-4eb6-afea-e022897f4dcf', - '2370f948-2783-4eb6-afea-e022897f4dcf', - '2370f948-2783-4eb6-afea-e022897f4dcf' - ), - ( - 'datasets.source_datarepo_row_ids', - 'workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc', - 'workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc', - 'workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc' - ), - ( - 'datasets.dataset_id', - '52ee7665-7033-63f2-a8d9-ce8e32666739', - '52ee7665-7033-63f2-a8d9-ce8e32666739', - '52ee7665-7033-63f2-a8d9-ce8e32666739' - ), - ( - 'datasets.consent_group', - 'DS-BDIS', - 'DS-BDIS', - 'DS-BDIS' - ), - ( - 'datasets.data_use_permission', - 'DS-BDIS', - 'DS-BDIS', - 'DS-BDIS' - ), - ( - 'datasets.owner', - 'Debbie Nickerson', - 'Debbie Nickerson', - 'Debbie Nickerson' - ), - ( - 'datasets.principal_investigator', - '', - '', - '' - ), - ( - 'datasets.registered_identifier', - 'phs000693', - 'phs000693', - 'phs000693' - ), - ( - 'datasets.title', - 'ANVIL_CMG_UWASH_DS_BDIS', - 'ANVIL_CMG_UWASH_DS_BDIS', - 'ANVIL_CMG_UWASH_DS_BDIS' - ), - ( - 'datasets.data_modality', - '', - '', - '' - ), - ( - 'donors.document_id', - '', - 'bfd991f2-2797-4083-972a-da7c6d7f1b2e', - 'bfd991f2-2797-4083-972a-da7c6d7f1b2e' - ), - ( - 'donors.source_datarepo_row_ids', - '', - 'subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef', - 'subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef' - ), - ( - 'donors.donor_id', - '', - '1e2bd7e5-f45e-a391-daea-7c060be76acd', - '1e2bd7e5-f45e-a391-daea-7c060be76acd' - ), - ( - 'donors.organism_type', - '', - 'redacted-ACw+6ecI', - 'redacted-ACw+6ecI' - ), - ( - 'donors.phenotypic_sex', - '', - 'redacted-JfQ0b3xG', - 'redacted-JfQ0b3xG' - ), - ( - 'donors.reported_ethnicity', - '', - 'redacted-NSkwDycK', - 'redacted-NSkwDycK' - ), - ( - 'donors.genetic_ancestry', - '', - '', - '' - ), - ( - 'diagnoses.document_id', - '', - '15d85d30-ad4a-4f50-87a8-a27f59dd1b5f || 939a4bd3-86ed-4a8a-81f4-fbe0ee673461', - '15d85d30-ad4a-4f50-87a8-a27f59dd1b5f || 939a4bd3-86ed-4a8a-81f4-fbe0ee673461' - ), - ( - 'diagnoses.source_datarepo_row_ids', - '', - 'subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef', - 'subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef' - ), - ( - 'diagnoses.diagnosis_id', - '', - '25ff8d32-18c9-fc3e-020a-5de20d35d906 || 5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6', - '25ff8d32-18c9-fc3e-020a-5de20d35d906 || 5ebe9bc4-a1be-0ddf-7277-b1e88276d0f6' - ), - ( - 'diagnoses.disease', - '', - 'redacted-A61iJlLx || redacted-g50ublm/', - 'redacted-A61iJlLx || redacted-g50ublm/' - ), - ( - 'diagnoses.diagnosis_age_unit', - '', - '', - '' - ), - ( - 'diagnoses.diagnosis_age', - '', - "{'gte': None, 'lte': None}", - "{'gte': None, 'lte': None}" - ), - ( - 'diagnoses.onset_age_unit', - '', - '', - '' - ), - ( - 'diagnoses.onset_age', - '', - "{'gte': None, 'lte': None}", - "{'gte': None, 'lte': None}" - ), - ( - 'diagnoses.phenotype', - '', - 'redacted-acSYHZUr', - 'redacted-acSYHZUr' - ), - ( - 'diagnoses.phenopacket', - '', - '', - '' - ), - ( - 'biosamples.document_id', - '', - '826dea02-e274-4ffe-aabc-eb3db63ad068', - '826dea02-e274-4ffe-aabc-eb3db63ad068' - ), - ( - 'biosamples.source_datarepo_row_ids', - '', - 'sample:98048c3b-2525-4090-94fd-477de31f2608', - 'sample:98048c3b-2525-4090-94fd-477de31f2608' - ), - ( - 'biosamples.biosample_id', - '', - 'f9d40cf6-37b8-22f3-ce35-0dc614d2452b', - 'f9d40cf6-37b8-22f3-ce35-0dc614d2452b' - ), - ( - 'biosamples.anatomical_site', - '', - '', - '' - ), - ( - 'biosamples.apriori_cell_type', - '', - '', - '' - ), - ( - 'biosamples.biosample_type', - '', - '', - '' - ), - ( - 'biosamples.disease', - '', - '', - '' - ), - ( - 'biosamples.donor_age_at_collection_unit', - '', - '', - '' - ), - ( - 'biosamples.donor_age_at_collection', - '', - "{'gte': None, 'lte': None}", - "{'gte': None, 'lte': None}" - ), - ( - 'activities.document_id', - '', - '1509ef40-d1ba-440d-b298-16b7c173dcd4', - '816e364e-1193-4e5b-a91a-14e4b009157c' - ), - ( - 'activities.source_datarepo_row_ids', - '', - 'sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051', - 'sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b' - ), - ( - 'activities.activity_id', - '', - '18b3be87-e26b-4376-0d8d-c1e370e90e07', - 'a60c5138-3749-f7cb-8714-52d389ad5231' - ), - ( - 'activities.activity_type', - '', - 'Sequencing', - 'Sequencing' - ), - ( - 'activities.assay_type', - '', - '', - '' - ), - ( - 'activities.data_modality', - '', - '', - '' - ), - ( - 'activities.reference_assembly', - '', - '', - '' - ), - ( - 'files.document_id', - '6b0f6c0f-5d80-4242-accb-840921351cd5', - '15b76f9c-6b46-433f-851d-34e89f1b9ba6', - '3b17377b-16b1-431c-9967-e5d01fc5923f' - ), - ( - 'files.source_datarepo_row_ids', - 'file_inventory:04ff3af2-0543-4ea6-830a-d31b957fa2ee', - 'file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0', - 'file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2' - ), - ( - 'files.file_id', - '1fab11f5-7eab-4318-9a58-68d8d06e0715', - '1e269f04-4347-4188-b060-1dcc69e71d67', - '8b722e88-8103-49c1-b351-e64fa7c6ab37' - ), - ( - 'files.data_modality', - '', - '', - '' - ), - ( - 'files.file_format', - '.txt', - '.vcf.gz', - '.bam' - ), - ( - 'files.file_size', - '15079345', - '213021639', - '3306845592' - ), - ( - 'files.file_md5sum', - 'S/GBrRjzZAQYqh3rdiPYzA==', - 'vuxgbuCqKZ/fkT9CWTFmIg==', - 'fNn9e1SovzgOROk3BvH6LQ==' - ), - ( - 'files.reference_assembly', - '', - '', - '' - ), - ( - 'files.file_name', - 'CCDG_13607_B01_GRM_WGS_2019-02-19_chr15.recalibrated_variants.annotated.coding.txt', - '307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz', - '307500.merged.matefixed.sorted.markeddups.recal.bam' - ), - ( - 'files.is_supplementary', - 'True', - 'False', - 'False' - ), - ( - 'files.crc32', - '', - '', - '' - ), - ( - 'files.sha256', - '', - '', - '' - ), - ( - 'files.drs_uri', - self._drs_uri('v1_6c87f0e1-509d-46a4-b845-7584df39263b_1fab11f5-7eab-4318-9a58-68d8d06e0715'), - self._drs_uri('v1_6c87f0e1-509d-46a4-b845-7584df39263b_1e269f04-4347-4188-b060-1dcc69e71d67'), - self._drs_uri('v1_6c87f0e1-509d-46a4-b845-7584df39263b_8b722e88-8103-49c1-b351-e64fa7c6ab37') - ), - ( - 'files.azul_file_url', - self._file_url('6b0f6c0f-5d80-4242-accb-840921351cd5', self.version), - self._file_url('15b76f9c-6b46-433f-851d-34e89f1b9ba6', self.version), - self._file_url('3b17377b-16b1-431c-9967-e5d01fc5923f', self.version) - ) - ] - self._assert_tsv(expected, response) - - def test_verbatim_jsonl_manifest(self): - base_path = ['verbatim', 'jsonl', 'anvil'] - linked_rows = self._load_canned_manifest(*base_path, 'linked.json') - all_rows = linked_rows + self._load_canned_manifest(*base_path, 'orphans.json') - for filters, expect_orphans in self.expect_orphans_by_filters: - with self.subTest(filters=filters): - response = self._get_manifest(ManifestFormat.verbatim_jsonl, filters=filters) - self.assertEqual(200, response.status_code) - expected_rows = all_rows if expect_orphans else linked_rows - self._assert_jsonl(expected_rows, response) - - def test_verbatim_pfb_manifest_with_relations(self): - self._test_verbatim_pfb_manifest(enable_relations=True) - - # Due to manifest caching, these must be separate tests - def test_verbatim_pfb_manifest_without_relations(self): - self._test_verbatim_pfb_manifest(enable_relations=False) - - def _test_verbatim_pfb_manifest(self, *, enable_relations: bool): - with patch.object(type(config), - 'enable_verbatim_relations', - new=PropertyMock(return_value=enable_relations)): - for filters, expect_orphans in self.expect_orphans_by_filters: - with self.subTest(filters=filters): - expect_relations = enable_relations and expect_orphans - expected_manifest = self._expected_pfb_manifest(expect_orphans, expect_relations) - expected_schema, expected_entities = expected_manifest - response = self._get_manifest(ManifestFormat.verbatim_pfb, filters) - self.assertEqual(200, response.status_code) - self._assert_pfb(expected_schema, expected_entities, response) - - @cache - def _expected_pfb_manifest(self, - include_orphans: bool, - include_relations: bool - ) -> tuple[JSON, JSONs]: - canned_pfb = self._load_canned_pfb('verbatim', 'pfb', 'anvil') - pfb_schema, pfb_entities = canned_pfb - if not include_relations: - for entity in pfb_entities: - entity['relations'].clear() - if not include_orphans: - # To avoid dangling references, relations are only populated when - # including orphans - assert not include_relations - self.assertEqual('Entity', pfb_schema['name']) - object_field_schema = one( - field - for field in pfb_schema['fields'] - if field['name'] == 'object' - ) - # The `object` field is of a union type, so the schema's `type` - # property is an array - schemas = object_field_schema['type'] - # The first AVRO record is the *metadata entity* in PFB terms, - # declaring higher level constraints that can't be expressed in - # the AVRO schema - metadata_entity = pfb_entities[0] - self.assertEqual('Metadata', metadata_entity['name']) - higher_schemas = metadata_entity['object']['nodes'] - for part in [schemas, higher_schemas, pfb_entities]: - filtered = [e for e in part if e['name'] != 'non_schema_orphan_table'] - assert len(filtered) < len(part), 'Expected to filter orphan references' - part[:] = filtered - return pfb_schema, pfb_entities - - -class TestAnvilManifestsWithCommonPrefix(AnvilManifestTestCase): - source = AnvilManifestTestCase.source.with_prefix(Prefix.parse('abc/0')) - - def test(self): - self._test_verbatim_pfb_manifest(enable_relations=True) - - -class TestVerbatimJSONLManifestPartitioningBySource(DCP1ManifestTestCase): - """ - This test covers two important cases not covered by - test_verbatim_jsonl_manifest: the interaction between implicit and explicit - source filters, and partitioning across multiple sources. - """ - - sources_by_bundle_uuid = { - '3ac62c33-93e1-56b4-b857-59497f5d942d': - DSSSourceRef(id='706cc417-9ed1-4c09-8341-0df38e374423', - spec=SimpleSourceSpec.parse('eggs:/1')), - '97f0cc83-f0ac-417a-8a29-221c77debde8': - DSSSourceRef(id='d0024443-bddf-4d3e-b4c8-6a3a1b23e8cf', - spec=SimpleSourceSpec.parse('bacon:/2')), - '4b03c1ce-9df1-5cd5-a8e4-48a2fe095081': - DSSSourceRef(id='22213a35-5c8e-4bad-bcb9-d4b7740c7165', - spec=SimpleSourceSpec.parse('sausage:/3')), - } - - @classmethod - def bundle_fqid(cls, *, uuid: str, version: str) -> DSSBundleFQID: - return DSSBundleFQID(uuid=uuid, - version=version, - source=cls.sources_by_bundle_uuid[uuid]) - - @classmethod - def bundles(cls) -> list[SourcedBundleFQID]: - return [ - cls.bundle_fqid(uuid=uuid, - version='2022-06-01T00:00:00.000000Z') - for uuid in cls.sources_by_bundle_uuid.keys() - ] - - def _filters(self, filters: FiltersJSON) -> Filters: - return Filters(explicit=filters, - source_ids={ - source.id - for source in self.sources_by_bundle_uuid.values() - }) - - def test_manifest_partitioning_by_source(self): - - # We can't assert the presence of every entity from the indexed bundles - # because some HCA entities still lack replicas. - # - # FIXME: Some replicas are still missing for HCA - # https://github.com/DataBiosphere/azul/issues/6597 - # - def replicas_exist_for(entity_type: EntityType) -> bool: - return entity_type in ( - 'project', - 'links', - 'donor_organism', - 'specimen_from_organism' - ) or entity_type.endswith('_file') - - bundles_by_fqid = { - fqid: self._load_canned_bundle(fqid) - for fqid in self.bundles() - } - entity_ids_by_source_id: dict[str, set[EntityID]] = { - bundle_fqid.source.id: {bundle_fqid.uuid} | { - ref.entity_id - for ref in map(EntityReference.parse, bundle.metadata) - if replicas_exist_for(ref.entity_type) - } - for bundle_fqid, bundle in bundles_by_fqid.items() - } - - # The manifest partitioning depends on the invariant that sources are - # disjunctive. It's very easy to accidentally violate this invariant - # while setting up this test, for example by choosing canned bundles - # that came from the same source. - # - assert all(starmap( - set.isdisjoint, - combinations(entity_ids_by_source_id.values(), 2) - )) - - for num_sources in range(1, len(entity_ids_by_source_id) + 1): - for source_ids in combinations(entity_ids_by_source_id, r=num_sources): - with self.subTest(sources=source_ids): - filters = {'sourceId': {'is': list(source_ids)}} - response = self._get_manifest(ManifestFormat.verbatim_jsonl, filters) - manifest_rows = list(map(json.loads, response.content.decode().splitlines())) - - def entity_id(row: JSON) -> EntityID: - if row['type'] == 'links': - return one( - bundle_fqid.uuid - for bundle_fqid, bundle in bundles_by_fqid.items() - if row['value']['links'] == bundle.links['links'] - ) - else: - return row['value']['provenance']['document_id'] - - actual_entity_ids = { - entity_id(row) - for row in manifest_rows - if replicas_exist_for(row['type']) - } - expected_entity_ids = set.union(*( - entity_ids_by_source_id[source_id] - for source_id in source_ids - )) - self.assertEqual(expected_entity_ids, actual_entity_ids) - - def test_inaccessible_source(self): - accessible_source = list(self.sources_by_bundle_uuid.values())[0].id - inaccessible_source = 'cafebabe-5b46-40e9-81c5-aaa7ebadf00d' - with self.assertRaises(ForbiddenError) as e: - filters = {'sourceId': {'is': [accessible_source, inaccessible_source]}} - self._get_manifest(ManifestFormat.verbatim_jsonl, filters) - expected_args = ( - 'Cannot filter by inaccessible sources', - {inaccessible_source} - ) - self.assertEqual(expected_args, e.exception.args) - - -class TestPFB(CannedManifestTestCase): - """ - Tests of terra.pfb code that don't require an ES index. - """ - - def test_terra_pfb_schema(self): - self.maxDiff = None - field_types = FileTransformer.field_types() - schema = avro_pfb.pfb_schema_from_field_types(field_types) - self._assert_pfb_schema(schema) - - def test_pfb_metadata_object(self): - links = avro_pfb.pfb_links_from_field_types(FileTransformer.field_types()) - metadata_entity = avro_pfb.pfb_metadata_entity(links) - field_types = FileTransformer.field_types() - schema = avro_pfb.pfb_schema_from_field_types(field_types) - parsed_schema = fastavro.parse_schema(cast(dict, schema)) - fastavro.validate(metadata_entity, parsed_schema) - - def test_pfb_entity_id(self): - # Terra limits ID's 254 chars - avro_pfb.PFBEntity(id='a' * 254, name='foo', object={}) - with self.assertRaises(AssertionError) as e: - avro_pfb.PFBEntity(id='a' * 255, name='foo', object={}) - self.assertTrue(R.caused(e.exception)) diff --git a/test/service/test_manifest_async.py b/test/service/test_manifest_async.py deleted file mode 100644 index b76b2d1719..0000000000 --- a/test/service/test_manifest_async.py +++ /dev/null @@ -1,657 +0,0 @@ -from contextlib import ( - contextmanager, -) -import datetime -from functools import ( - wraps, -) -from itertools import ( - product, -) -import json -from typing import ( - ContextManager, -) -from unittest import ( - mock, -) -from unittest.mock import ( - patch, -) -from uuid import ( - UUID, -) - -from botocore.exceptions import ( - ClientError, -) -from furl import ( - furl, -) -from moto import ( - mock_aws, -) -import requests - -from app_test_case import ( - LocalAppTestCase, -) -from azul.collections import ( - deep_dict_merge, -) -from azul.logging import ( - configure_test_logging, -) -from azul.plugins import ( - ManifestFormat, -) -from azul.service import ( - Filters, - FiltersJSON, -) -from azul.service.async_manifest_service import ( - AsyncManifestService, - GenerationFailed, - InvalidTokenError, - Token, -) -from azul.service.manifest_controller import ( - ManifestGenerationState, -) -from azul.service.manifest_service import ( - BareManifestKey, - CachedManifestNotFound, - Manifest, - ManifestKey, - ManifestPartition, - ManifestService, - SignedManifestKey, -) -from azul.types import ( - JSON, -) -from azul_test_case import ( - AzulUnitTestCase, - DCP1TestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -@patch.object(AsyncManifestService, '_sfn') -class TestAsyncManifestService(AzulUnitTestCase): - generation_id = UUID('1ea94a54-a64d-54f1-8b41-15455fb958db') - - def test_token_encoding(self, _sfn): - token = Token(generation_id=self.generation_id, - iteration=3, - request_index=42, - retry_after=123) - self.assertEqual(token, Token.decode(token.encode())) - - def test_token_validation(self, _sfn): - token = Token(generation_id=self.generation_id, - iteration=3, - request_index=42, - retry_after=123) - self.assertRaises(InvalidTokenError, token.decode, token.encode()[:-1]) - - def test_status_success(self, _sfn): - """ - A successful manifest job should return a 302 status and a URL to the - manifest - """ - service = AsyncManifestService() - execution_name = service.execution_name(self.generation_id, iteration=0) - input, output = {'filters': {}}, {'foo': 'bar'} - _sfn.describe_execution.return_value = { - 'executionArn': service.execution_arn(execution_name), - 'stateMachineArn': service.machine_arn, - 'name': execution_name, - 'status': 'SUCCEEDED', - 'startDate': datetime.datetime(2018, 11, 15, 18, 30, 44, 896000), - 'stopDate': datetime.datetime(2018, 11, 15, 18, 30, 59, 295000), - 'input': json.dumps(input), - 'output': json.dumps(output) - } - token = Token(generation_id=self.generation_id, - iteration=0, - request_index=0, - retry_after=0) - actual_result = service.inspect_generation(token) - self.assertEqual({'input': input, 'output': output}, actual_result) - - def test_status_running(self, _sfn): - """ - A running manifest job should return a 301 status and a URL to retry - checking the job status - """ - service = AsyncManifestService() - execution_name = service.execution_name(self.generation_id, iteration=0) - _sfn.describe_execution.return_value = { - 'executionArn': service.execution_arn(execution_name), - 'stateMachineArn': service.machine_arn, - 'name': execution_name, - 'status': 'RUNNING', - 'startDate': datetime.datetime(2018, 11, 15, 18, 30, 44, 896000), - 'input': '{"filters": {}}' - } - token = Token(generation_id=self.generation_id, - iteration=0, - request_index=0, - retry_after=0) - token = service.inspect_generation(token) - expected = Token(generation_id=self.generation_id, - iteration=0, - request_index=1, - retry_after=1) - self.assertEqual(expected, token) - - def test_status_failed(self, _sfn): - """ - A failed manifest job should raise a GenerationFailed - """ - service = AsyncManifestService() - execution_name = service.execution_name(self.generation_id, iteration=0) - _sfn.describe_execution.return_value = { - 'executionArn': service.execution_arn(execution_name), - 'stateMachineArn': service.machine_arn, - 'name': execution_name, - 'status': 'FAILED', - 'startDate': datetime.datetime(2018, 11, 14, 16, 6, 53, 382000), - 'stopDate': datetime.datetime(2018, 11, 14, 16, 6, 55, 860000), - 'input': '{"filters": {"organ": {"is": ["lymph node"]}}}', - } - token = Token(generation_id=self.generation_id, - iteration=0, - request_index=0, - retry_after=0) - with self.assertRaises(GenerationFailed): - service.inspect_generation(token) - - -class TestManifestController(DCP1TestCase, LocalAppTestCase): - - @classmethod - def lambda_name(cls) -> str: - return 'service' - - generation_id = UUID('1ea94a54-a64d-54f1-8b41-15455fb958db') - - @mock_aws - @mock.patch.object(AsyncManifestService, '_sfn') - @mock.patch.object(ManifestService, 'get_manifest') - @mock.patch.object(ManifestService, 'get_cached_manifest') - @mock.patch.object(ManifestService, 'verify_manifest_key') - @mock.patch.object(ManifestService, 'get_cached_manifest_with_key') - @mock.patch.object(ManifestService, 'get_manifest_url') - @mock.patch.object(ManifestService, 'sign_manifest_key') - def test(self, - sign_manifest_key, - get_manifest_url, - get_cached_manifest_with_key, - verify_manifest_key, - get_cached_manifest, - get_manifest, - _sfn): - - mocks = [v for v in locals().values() if isinstance(v, mock.Mock)] - - def reset(f): - @wraps(f) - def wrapper(*args, **kwargs): - try: - return f(*args, **kwargs) - finally: - for m in mocks: - m.reset_mock(return_value=True, side_effect=True) - - return wrapper - - for format, fetch in product([ManifestFormat.compact, ManifestFormat.curl], - [True, False]): - with self.subTest(format=format, fetch=fetch): - filters = {'organ': {'is': ['lymph node']}, 'fileFormat': {'is': ['txt']}} - filters = Filters(explicit=filters, source_ids={self.source.id}) - params = { - 'catalog': self.catalog, - 'format': format.value, - 'filters': json.dumps(filters.explicit) - } - path = ['manifest', 'files'] - - initial_url = self.base_url.set(path=path.copy(), args=params) - if fetch: - initial_url.path.segments.insert(0, 'fetch') - - manifest_key = ManifestKey(catalog=self.catalog, - format=format, - manifest_hash=UUID('d2b0ce3c-46f0-57fe-b9d4-2e38d8934fd4'), - source_hash=UUID('77936747-5968-588e-809f-af842d6be9e0')) - signed_manifest_key = SignedManifestKey( - value=BareManifestKey.unpack(manifest_key.pack()), - signature=b'123' - ) - - object_url = furl('https://url.to.manifest?foo=bar') - file_name = 'some_file_name' - manifest = Manifest(object_key='key/of/manifest', - was_cached=False, - format=format, - manifest_key=manifest_key, - file_name=file_name) - - partitions = [ - ManifestPartition(index=0, - is_last=False, - file_name=None, - config=None, - multipart_upload_id=None, - part_etags=None, - page_index=None, - is_last_page=None, - search_after=None), - ManifestPartition(index=1, - is_last=False, - file_name=file_name, - config=[[['foo', 'bar'], {'baz': 'blah'}]], - multipart_upload_id='some_upload_id', - part_etags=('some_etag',), - page_index=512, - is_last_page=False, - search_after=('foo', 'doc#bar')) - ] - input: ManifestGenerationState - input = dict(filters=filters.to_json(), - manifest_key=manifest_key.to_json(), - partition=partitions[0].to_json()) - service: AsyncManifestService - service = self.app_module.app.manifest_controller.async_service - generation_id = manifest_key.uuid - execution_names = [ - service.execution_name(generation_id, iteration=i) - for i in range(3) - ] - machine_arn = service.machine_arn - execution_arns = list(map(service.execution_arn, execution_names)) - - not_found = CachedManifestNotFound(manifest_key) - execution_exists = self._mock_sfn_exception( - _sfn, - operation_name='StartExecution', - error_code='ExecutionAlreadyExists' - ) - - not_found = CachedManifestNotFound(manifest_key) - execution_exists = self._mock_sfn_exception(_sfn, - operation_name='StartExecution', - error_code='ExecutionAlreadyExists') - - def assert_get_cached_manifest(filters=filters): - get_cached_manifest.assert_called_once_with( - format=format, - catalog=self.catalog, - filters=filters - ) - - def assert_get_manifest(partition): - get_manifest.assert_called_once_with( - format=format, - catalog=self.catalog, - filters=filters, - partition=partitions[partition], - manifest_key=manifest_key - ) - - url: furl - state: ManifestGenerationState - token_url: furl - key_url: furl - final_url: furl - equivalent_url: furl - equivalent_filters: FiltersJSON - equivalent_input: ManifestGenerationState - - iterations: list[JSON] = [] - - def mock_start_generation(*, start: int = 0, describe: int = 0): - *rest, last = range(start, len(iterations)) - _sfn.start_execution.side_effect = [ - *(execution_exists for _ in rest), - { - 'executionArn': execution_arns[last], - 'startDate': 1234 - } - ] - *rest, last = range(describe, len(iterations)) - _sfn.describe_execution.side_effect = [ - { - 'status': 'SUCCEEDED', - 'input': json.dumps(iterations[i]), - 'output': json.dumps(state) - } - for i in rest - ] - - def assert_start_generation(*, start: int = 0, describe: int = 0): - indices = range(start, len(iterations)) - expected_calls = [ - mock.call(stateMachineArn=machine_arn, - name=execution_names[i], - input=json.dumps(iterations[-1])) - for i in indices - ] - self.assertEqual(expected_calls, _sfn.start_execution.mock_calls) - indices = range(describe, len(iterations)) - expected_calls = [ - mock.call(executionArn=execution_arns[i]) - for i in indices[:-1] - ] - self.assertEqual(expected_calls, _sfn.describe_execution.mock_calls) - - # Request the manifest. The cached manifest does not exist - # so we expect a StepFunction execution to be started and a - # 301 redirect to the manifest endpoint with a token - # embedded in the URL. - # - @reset - def put(): - nonlocal url, state, token_url - get_cached_manifest.side_effect = not_found - iterations.append(input) - mock_start_generation() - url = self._request('PUT', initial_url, expect=301) - assert_get_cached_manifest() - assert_start_generation() - state = input - token_url = url - - put() - - # Follow the redirect. We expect a call to determine the - # status of the execution, which we mock to be still - # running, and another 301 redirect. - # - @reset - def get_token_while_running(): - nonlocal url, state - _sfn.describe_execution.return_value = {'status': 'RUNNING'} - url = self._request('GET', url, expect=301) - get_manifest.return_value = partitions[1] - state = self.app_module.generate_manifest(state, None) - self.assertEqual(partitions[1], - ManifestPartition.from_json(state['partition'])) - assert_get_manifest(partition=0) - _sfn.describe_execution.assert_called_once() - - get_token_while_running() - - # Follow the redirect. The StepFunction has finished but the - # output is not yet available due to eventual consistency. - # We observed this behaviour a few years ago, but it - # probably doesn't happen anymore. The output is most likely - # stored on S3 under the hood which strongly consistent a - # while back. - # - @reset - def get_token_when_almost_done(): - nonlocal url - _sfn.describe_execution.return_value = {'status': 'SUCCEEDED'} - url = self._request('GET', url, expect=301) - _sfn.describe_execution.assert_called_once() - - get_token_when_almost_done() - - # The StepFunction has finished and the output is available. - # We expect a 302 redirect to either the signed URL of the - # manifest object in S3, or, when fetching a curl manifest, - # a 302 redirect to the non-fetch endpoint with the key of - # the manifest in the URL. - # - @reset - def get_token_when_done(): - nonlocal url, state, key_url, final_url - get_manifest.return_value = manifest - state = self.app_module.generate_manifest(state, None) - _sfn.describe_execution.return_value = { - 'status': 'SUCCEEDED', - 'input': json.dumps(input), - 'output': json.dumps(state) - } - if fetch and format is ManifestFormat.curl: - key_url = self.base_url.set(path=[*path, signed_manifest_key.encode()]) - final_url = key_url - sign_manifest_key.return_value = signed_manifest_key - else: - key_url = None - final_url = object_url - get_manifest_url.return_value = str(object_url) - get_cached_manifest_with_key.return_value = manifest - url = self._request('GET', url, expect=302) - self.assertEqual(final_url, url) - assert_get_manifest(partition=1) - _sfn.describe_execution.assert_called_once() - get_cached_manifest_with_key.assert_called_once_with(manifest_key) - - get_token_when_done() - - # Re-request the manifest at the initial URL. The manifest - # is cached so we expect no intermediate 301 redirects. - # - @reset - def repeat_put(): - nonlocal url - get_cached_manifest.return_value = manifest - get_manifest_url.return_value = str(object_url) - if fetch and format is ManifestFormat.curl: - sign_manifest_key.return_value = signed_manifest_key - url = self._request('PUT', initial_url, expect=302) - assert_get_cached_manifest() - self.assertEqual(final_url, url) - - repeat_put() - - # Re-request the manifest at a URL with an insignificant - # change to the filters parameter. The cached manifest - # should be reused. Note that this does not cover the - # insensitivity of the manifest key derivation to such - # insignificant differences because we mock the manifest - # service method where that is done. However, this test is - # not supposed to cover the service, only the controller. - # - @reset - def modified_put(): - nonlocal url, equivalent_url, equivalent_filters - get_cached_manifest.return_value = manifest - get_manifest_url.return_value = str(object_url) - if key_url is not None: - sign_manifest_key.return_value = signed_manifest_key - equivalent_url = initial_url.copy() - equivalent_filters = json.loads(equivalent_url.args['filters']) - equivalent_filters = dict(reversed(equivalent_filters.items())) - equivalent_url.args['filters'] = json.dumps(equivalent_filters) - url = self._request('PUT', equivalent_url, expect=302) - self.assertEqual(final_url, url) - assert_get_cached_manifest(filters.update(equivalent_filters)) - - modified_put() - - # Expire the cached manifest and repeat the initial request - # with the insignificant difference. The repeated request - # should be considered valid and matching the completed step - # function execution. However, because the manifest is missing, - # the generation should be restarted with a new execution. - # - @reset - def modified_put_after_expiration(): - nonlocal url, state, token_url, equivalent_input - get_cached_manifest.side_effect = not_found - equivalent_input = deep_dict_merge( - {'filters': {'explicit': equivalent_filters}}, - input - ) - iterations.append(equivalent_input) - mock_start_generation() - url = self._request('PUT', equivalent_url, expect=301) - assert_get_cached_manifest() - self.assertNotEqual(token_url, url) - assert_get_cached_manifest() - assert_start_generation() - token_url = url - state = equivalent_input - - modified_put_after_expiration() - get_token_while_running() - get_token_when_almost_done() - - # The StepFunction has finished but the output is has expired - # or was deleted. We expect yet another execution to restart - # the generation. - # - @reset - def get_stale_token_when_done(): - nonlocal url, state, token_url - get_manifest.return_value = manifest - state = self.app_module.generate_manifest(state, None) - get_cached_manifest_with_key.side_effect = not_found - previous_iteration = len(iterations) - iterations.append(equivalent_input) - mock_start_generation(start=previous_iteration, - describe=previous_iteration - 1) - url = self._request('GET', url, expect=301) - self.assertNotEqual(token_url, url) - assert_get_manifest(partition=1) - get_cached_manifest_with_key.assert_called_once_with(manifest_key) - assert_start_generation(start=previous_iteration, - describe=previous_iteration - 1) - token_url = url - state = equivalent_input - - get_stale_token_when_done() - get_token_while_running() - get_token_when_almost_done() - get_token_when_done() - - # Request the manifest by its key if a URL with that key - # was the result of the final 302 redirect above. - # - @reset - def get_key(): - nonlocal url - assert signed_manifest_key.encode() == key_url.path.segments[-1] - verify_manifest_key.return_value = manifest_key - get_cached_manifest_with_key.return_value = manifest - if key_url is not None: - sign_manifest_key.return_value = signed_manifest_key - get_manifest_url.return_value = str(object_url) - url = self._request('GET', key_url, expect=302) - self.assertEqual(object_url, url) - verify_manifest_key.assert_called_once_with(signed_manifest_key) - get_cached_manifest_with_key.assert_called_once_with(manifest_key) - - if key_url is not None: - get_key() - - # Expire the manifest and request the manifest by its key if a - # URL with that key was the result of the final 302 redirect - # above. - # - @reset - def get_key_after_expiration(): - verify_manifest_key.return_value = manifest_key - get_cached_manifest_with_key.side_effect = not_found - response = requests.get(str(key_url), allow_redirects=False) - self.assertEqual(410, response.status_code) - expected_response = { - 'Code': 'GoneError', - 'Message': 'The manifest has expired, please request a new one' - } - self.assertEqual(expected_response, response.json()) - get_cached_manifest_with_key.assert_called_once_with(manifest_key) - - if key_url is not None: - get_key_after_expiration() - - def _request(self, method: str, url: furl, *, expect: int) -> furl: - response = requests.request(method=method, - url=str(url), - allow_redirects=False) - if url.path.segments[0] == 'fetch': - self.assertEqual(200, response.status_code) - response = response.json() - self.assertEqual(expect, response.pop('Status')) - headers = response - else: - self.assertEqual(expect, response.status_code) - headers = response.headers - if expect == 301: - self.assertGreaterEqual(int(headers['Retry-After']), 0) - return furl(headers['Location']) - - token = Token.first(generation_id, iteration=0).encode() - - def _test(self, *, expected_status, token=token): - url = self.base_url.set(path=['fetch', 'manifest', 'files', token]) - response = requests.get(str(url)) - self.assertEqual(expected_status, response.status_code) - - @contextmanager - def _mock_error(self, error_code: str) -> ContextManager: - with patch.object(AsyncManifestService, '_sfn') as _sfn: - exception = self._mock_sfn_exception(_sfn, - operation_name='DescribeExecution', - error_code=error_code) - _sfn.describe_execution.side_effect = exception - yield - - def _mock_sfn_exception(self, - _sfn: mock.MagicMock, - operation_name: str, - error_code: str - ) -> Exception: - exception_cls = type(error_code, (ClientError,), {}) - setattr(_sfn.exceptions, error_code, exception_cls) - error_response = { - 'Error': { - 'Code': error_code - } - } - exception = exception_cls(operation_name=operation_name, - error_response=error_response) - return exception - - def test_execution_not_found(self): - """ - Manifest status check should raise a BadRequestError (400 status code) - if execution cannot be found. - """ - with self._mock_error('ExecutionDoesNotExist'): - self._test(expected_status=400) - - def test_boto_error(self): - """ - Manifest status check should reraise any ClientError that is not caused - by ExecutionDoesNotExist - """ - with self._mock_error('ServiceQuotaExceededException'): - self._test(expected_status=500) - - def test_execution_error(self): - """ - Manifest status check should return a generic error (500 status code) - if the execution errored. - """ - with patch.object(AsyncManifestService, - 'inspect_generation', - side_effect=GenerationFailed): - self._test(expected_status=500) - - def test_invalid_token(self): - """ - Manifest endpoint should raise a BadRequestError when given a token that - cannot be decoded - """ - self._test(token='Invalid base64', expected_status=400) diff --git a/test/service/test_pagination.py b/test/service/test_pagination.py deleted file mode 100644 index 4404d3bb3a..0000000000 --- a/test/service/test_pagination.py +++ /dev/null @@ -1,148 +0,0 @@ -from itertools import ( - chain, - groupby, -) -from operator import ( - itemgetter, -) -from typing import ( - Any, - Optional, -) - -import attr -from more_itertools import ( - unzip, -) -import requests - -from azul.logging import ( - configure_test_logging, - get_test_logger, -) -from indexer import ( - DCP1CannedBundleTestCase, -) -from service import ( - DocumentCloningTestCase, -) - -log = get_test_logger(__name__) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging(log) - - -class TestPagination(DCP1CannedBundleTestCase, DocumentCloningTestCase): - - def setUp(self): - super().setUp() - self._setup_indices() - self._setup_document_templates() - - def test_pagination(self): - - index_to_page_size = { - (page_size * num_pages + num_excess_doc, page_size) - for page_size in (1, 2, 5) - for num_pages in (0, 1, 2, 3) - for num_excess_doc in (-1, 0, 1) - if page_size * num_pages + num_excess_doc > 0 - } - - page_sizes_by_index_size = { - i: list(unzip(page_sizes)[1]) - for i, page_sizes in groupby(sorted(index_to_page_size), key=itemgetter(0)) - } - - index_size_ = 0 - for index_size, page_sizes in page_sizes_by_index_size.items(): - self._add_docs(index_size - index_size_) - for page_size in page_sizes: - for sort_field, sort_path, sort_unique in [ - ('entryId', ['entryId'], True), - ('fileId', ['files', 0, 'uuid'], True), - ('fileName', ['files', 0, 'name'], False) - ]: - for reverse in False, True: - kwargs = dict(index_size=index_size, - page_size=page_size, - sort_field=sort_field, - reverse=reverse) - with self.subTest(**kwargs): - self._test_pagination(**kwargs, - sort_path=sort_path, - sort_unique=sort_unique) - index_size_ = index_size - - @attr.s(frozen=True, kw_only=True, auto_attribs=True) - class Page: - #: The link to the previous page - previous: Optional[str] - #: The value of the sort field in each hit on the page - values: tuple[str, ...] - #: The link to the next page - next: Optional[str] - - def _test_pagination(self, - *, - index_size: int, - page_size: int, - sort_field: str, - sort_path: tuple[Any, ...], - sort_unique: bool, - reverse: bool): - num_pages = (index_size + page_size - 1) // page_size - order = 'desc' if reverse else 'asc' - unique = set if sort_unique else lambda _: _ - - def sort_field_value(doc): - value = doc - for key in sort_path: - value = value[key] - return value - - def fetch(url): - response = requests.get(str(url)) - response.raise_for_status() - response = response.json() - values = tuple(map(sort_field_value, response['hits'])) - self.assertEqual(values, tuple(sorted(unique(values), reverse=reverse))) - pagination = response['pagination'] - previous, next = map(pagination.pop, ['previous', 'next']) - expected_pagination = { - 'pages': num_pages, - 'size': page_size, - 'count': len(values), - 'order': order, - 'total': index_size, - 'sort': sort_field, - } - self.assertEqual(expected_pagination, pagination) - return self.Page(previous=previous, values=values, next=next) - - args = dict(catalog=self.catalog, sort=sort_field, size=page_size, order=order) - url = self.base_url.set(path='/index/files', args=args) - - pages = [] - while url is not None: - page = fetch(url) - if page.previous is None: - self.assertEqual([], pages) - else: - previous = fetch(page.previous) - self.assertEqual(pages[-1], previous) - pages.append(page) - url = page.next - - self.assertEqual(num_pages, len(pages)) - page_lengths = [len(page.values) for page in pages] - expected_lengths = num_pages * [page_size] - if index_size % page_size: - expected_lengths[-1] = index_size % page_size - self.assertEqual(expected_lengths, page_lengths) - self.assertEqual(index_size, sum(page_lengths)) - values = list(chain.from_iterable(page.values for page in pages)) - self.assertEqual(values, list(sorted(unique(values), reverse=reverse))) diff --git a/test/service/test_repository_files.py b/test/service/test_repository_files.py deleted file mode 100644 index 05241219dd..0000000000 --- a/test/service/test_repository_files.py +++ /dev/null @@ -1,444 +0,0 @@ -from abc import ( - ABCMeta, -) -import hashlib -import io -import json -import os -import time -from typing import ( - Union, -) -from unittest import ( - mock, -) -from unittest.mock import ( - MagicMock, -) - -import attr -import certifi -from chalice.config import ( - Config as ChaliceConfig, -) -from furl import ( - furl, -) -from google.auth.transport.urllib3 import ( - AuthorizedHttp, -) -import requests -import responses -import urllib3 - -from app_test_case import ( - LocalAppTestCase, -) -from azul import ( - config, -) -from azul.deployment import ( - aws, -) -from azul.drs import ( - Access, - AccessMethod, - DRSClient, -) -from azul.http import ( - http_client, -) -from azul.indexer.mirror_service import ( - BaseMirrorService, - MirrorService, -) -from azul.logging import ( - configure_test_logging, - get_test_logger, -) -from azul.plugins.metadata.hca import ( - HCAFile, -) -from azul.service.repository_service import ( - RepositoryService, -) -from azul.service.source_service import ( - NotFound, - SourceService, -) -from azul.terra import ( - TDRClient, - TDRSourceSpec, - TerraClient, -) -from azul.types import ( - JSON, -) -from azul_test_case import ( - DCP1TestCase, - DCP2TestCase, -) -from service import ( - MirrorTestCase, - S3TestCase, -) - -log = get_test_logger(__name__) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging(log) - - -class RepositoryFilesTestCase(LocalAppTestCase, metaclass=ABCMeta): - - @classmethod - def lambda_name(cls) -> str: - return 'service' - - def chalice_config(self): - return ChaliceConfig.create(lambda_timeout=15) - - def assertUrlEqual(self, a: Union[str, furl], b: Union[str, furl]): - if isinstance(a, str): - a = furl(a) - if isinstance(b, str): - b = furl(b) - self.assertEqual(a.scheme, b.scheme) - self.assertEqual(a.username, b.username) - self.assertEqual(a.password, b.password) - self.assertEqual(a.host, b.host) - self.assertEqual(a.port, b.port) - self.assertEqual(a.path, b.path) - self.assertEqual(sorted(a.args.allitems()), sorted(b.args.allitems())) - - -@mock.patch.object(SourceService, '_put', new=MagicMock()) -@mock.patch.object(SourceService, '_get') -@mock.patch.object(BaseMirrorService, - 'info_exists', - new=MagicMock(return_value=False)) -class TestRepositoryFilesWithTDR(DCP2TestCase, RepositoryFilesTestCase): - - @mock.patch.dict(os.environ, - AZUL_TDR_SERVICE_URL=str(DCP2TestCase.mock_tdr_service_url)) - @mock.patch.object(TerraClient, - '_http_client', - AuthorizedHttp(MagicMock(), - urllib3.PoolManager(ca_certs=certifi.where()))) - def test_repository_files(self, mock_get_cached_sources): - mock_get_cached_sources.return_value = [] - client = http_client(log) - - file_uuid = '701c9a63-23da-4978-946b-7576b6ad088a' - file_version = '2018-09-12T12:11:54.054628Z' - organic_file_name = 'foo.txt' - drs_path_id = 'v1_c99baa6f-24ce-4837-8c4a-47ca4ec9d292_b967ecc9-98b2-43c6-8bac-28c0a4fa7812' - drs_uri = f'drs://{self._drs_domain_name}/{drs_path_id}' - file = HCAFile(uuid=file_uuid, - name=organic_file_name, - version=file_version, - drs_uri=drs_uri, - size=1, - content_type='text/plain', - sha256='123', - crc32c='abc') - for fetch in True, False: - with self.subTest(fetch=fetch): - with mock.patch.object(RepositoryService, - 'get_data_file', - return_value=file): - azul_url = self.base_url.set(path=['repository', 'files', file_uuid], - args=dict(catalog=self.catalog, version=file_version)) - if fetch: - azul_url.path.segments.insert(0, 'fetch') - - file_name = 'foo.gz' - gs_bucket_name = 'gringotts-wizarding-bank' - gs_drs_id = 'some_dataset_id/some_object_id' - gs_file_url = f'gs://{gs_bucket_name}/{gs_drs_id}/{file_name}' - - pre_signed_gs = furl(url=gs_file_url, - args={ - 'X-Goog-Algorithm': 'SOMEALGORITHM', - 'X-Goog-Credential': 'SOMECREDENTIAL', - 'X-Goog-Date': 'CURRENTDATE', - 'X-Goog-Expires': '900', - 'X-Goog-SignedHeaders': 'host', - 'X-Goog-Signature': 'SOMESIGNATURE', - }) - with mock.patch.object(DRSClient, - 'get_object', - return_value=Access(method=AccessMethod.https, - url=str(pre_signed_gs))): - response = client.request('GET', str(azul_url), redirect=False) - self.assertEqual(200 if fetch else 302, response.status) - if fetch: - response = json.loads(response.data) - self.assertUrlEqual(pre_signed_gs, response['Location']) - self.assertEqual(302, response['Status']) - else: - response = dict(response.headers) - self.assertUrlEqual(pre_signed_gs, response['Location']) - - file = attr.evolve(file, drs_uri=None) - with self.subTest('phantom'): - with mock.patch.object(RepositoryService, - 'get_data_file', - return_value=file): - response = client.request('GET', str(azul_url), redirect=False) - self.assertEqual(response.status, 404) - - mock_source_names = ['mock_snapshot_1', 'mock_snapshot_2'] - make_mock_source_spec = 'tdr:bigquery:gcp:mock:{}:/2'.format - - @classmethod - def _sources(cls): - return set(map(cls.make_mock_source_spec, cls.mock_source_names)) - - @mock.patch.object(TDRClient, 'snapshot_names_by_id') - @mock.patch.object(TDRClient, 'validate', new=MagicMock()) - def test_list_sources(self, - mock_list_snapshots, - mock_get_cached_sources, - ): - # Includes extra sources to check that the endpoint only returns results - # for the current catalog - extra_sources = ['foo', 'bar'] - mock_source_names_by_id = { - str(i): source_name - for i, source_name in enumerate(self.mock_source_names + extra_sources) - } - mock_list_snapshots.return_value = mock_source_names_by_id - client = http_client(log) - azul_url = furl(url=self.base_url, - path='/repository/sources', - query_params=dict(catalog=self.catalog)) - - def _list_sources(headers) -> JSON: - response = client.request('GET', - str(azul_url), - headers=headers) - self.assertEqual(response.status, 200) - return json.loads(response.data) - - def _test(*, authenticate: bool, cache: bool): - with self.subTest(authenticate=authenticate, cache=cache): - response = _list_sources({'Authorization': 'Bearer foo_token'} - if authenticate else {}) - self.assertEqual(response, { - 'sources': [ - { - 'sourceId': id, - 'sourceSpec': str(TDRSourceSpec.parse(self.make_mock_source_spec(name))) - } - for id, name in mock_source_names_by_id.items() - if name not in extra_sources - ] - }) - - mock_get_cached_sources.return_value = list(mock_source_names_by_id.keys()) - _test(authenticate=True, cache=True) - _test(authenticate=False, cache=True) - mock_get_cached_sources.return_value = None - mock_get_cached_sources.side_effect = NotFound('foo_token') - with mock.patch('azul.terra.TDRClient.snapshot_ids', - return_value=mock_source_names_by_id.keys() | {'not_indexed'}): - _test(authenticate=True, cache=False) - _test(authenticate=False, cache=False) - - -@mock.patch.object(BaseMirrorService, - 'info_exists', - new=MagicMock(return_value=False)) -class TestRepositoryFilesWithDSS(DCP1TestCase, - RepositoryFilesTestCase, - S3TestCase): - # These are the credentials defined in - # - # moto.instance_metadata.responses.InstanceMetadataResponse - # - # which, for reasons yet to be determined, is used on Travis but not when I - # run this locally. Maybe it's the absence of ~/.aws/credentials. The - # credentials that @mock_sts provides look more realistic but boto3's STS - # credential provider would be skipped on CI because the lack of - # ~/.aws/credentials there implies that AssumeRole credentials aren't - # configured, causing boto3 to default to use credentials from mock instance - # metadata. - # - mock_access_key_id = 'test-key' # @mock_sts uses AKIAIOSFODNN7EXAMPLE - mock_secret_access_key = 'test-secret-key' # @mock_sts uses wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY - mock_session_token = 'test-session-token' # @mock_sts token starts with AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk - - @mock.patch.dict(os.environ, - AWS_ACCESS_KEY_ID=mock_access_key_id, - AWS_SECRET_ACCESS_KEY=mock_secret_access_key, - AWS_SESSION_TOKEN=mock_session_token) - @mock.patch.object(type(config), 'dss_direct_access_role') - def test_repository_files(self, dss_direct_access_role): - dss_direct_access_role.return_value = None - self.maxDiff = None - key = ('blobs/6929799f227ae5f0b3e0167a6cf2bd683db097848af6ccde6329185212598779' - '.f2237ad0a776fd7057eb3d3498114c85e2f521d7' - '.7e892bf8f6aa489ccb08a995c7f017e1.' - '847325b6') - bucket_name = 'org-humancellatlas-dss-checkout-staging' - self._create_test_bucket(bucket_name) - self._s3.upload_fileobj(Bucket=bucket_name, - Fileobj=io.BytesIO(b'foo'), - Key=key) - file_uuid = '701c9a63-23da-4978-946b-7576b6ad088a' - file_version = '2018-09-12T12:11:54.054628Z' - organic_file_name = 'foo.txt' - file = HCAFile(uuid=file_uuid, - name=organic_file_name, - version=file_version, - drs_uri=f'drs://{self._drs_domain_name}/{file_uuid}?version={file_version}', - size=3, - content_type='text/plain', - sha256='123', - crc32c='abc') - with mock.patch.object(RepositoryService, 'get_data_file', return_value=file): - args = { - 'replica': 'aws', - 'version': file_version - } - dss_url = furl(url=config.dss_endpoint, - path=('v1', 'files', file_uuid), - args=args) - dss_token = 'some_token' - dss_url_with_token = dss_url.copy().add(args={'token': dss_token}) - for fetch in True, False: - for wait in None, 0, 1: - for file_name, signature in [(None, 'Wg8AqCTzZAuHpCN8AKPKWcsFHAM='), - (organic_file_name, 'Wg8AqCTzZAuHpCN8AKPKWcsFHAM=',), - ('foo bar.txt', 'grbM6udwp0n/QE/L/RYfjtQCS/U='), - ('foo&bar.txt', 'r4C8YxpJ4nXTZh+agBsfhZ2e7fI=')]: - with self.subTest(fetch=fetch, file_name=file_name, wait=wait): - with responses.RequestsMock() as helper: - helper.add_passthru(str(self.base_url)) - fixed_time = 1547691253.07010 - expires = str(round(fixed_time + 3600)) - s3_url = furl(url=f'https://{bucket_name}.s3.amazonaws.com', - path=key, - args={ - 'AWSAccessKeyId': 'SOMEACCESSKEY', - 'Signature': 'SOMESIGNATURE=', - 'x-amz-security-token': 'SOMETOKEN', - 'Expires': expires - }) - helper.add(responses.Response(method='GET', - url=str(dss_url), - status=301, - headers={ - 'Location': str(dss_url_with_token), - 'Retry-After': '10' - })) - azul_url = self.base_url.set(path=['repository', 'files', file_uuid], - args=dict(catalog=self.catalog, version=file_version)) - if fetch: - azul_url.path.segments.insert(0, 'fetch') - if wait is not None: - azul_url.args['wait'] = str(wait) - if file_name is not None: - azul_url.args['fileName'] = file_name - - def request_azul(url, expect_status): - retry_after = 1 - expect_retry_after = None if wait or expect_status == 302 else retry_after - before = time.monotonic() - with mock.patch.object(type(aws), 'dss_checkout_bucket', return_value=bucket_name): - with mock.patch('time.time', new=lambda: 1547691253.07010): - response = requests.get(url, allow_redirects=False) - if wait and expect_status == 301: - self.assertLess(retry_after, time.monotonic() - before) - if fetch: - self.assertEqual(200, response.status_code) - response = response.json() - self.assertEqual(expect_status, response['Status']) - else: - if response.status_code != expect_status: - response.raise_for_status() - response = dict(response.headers) - if expect_retry_after is None: - self.assertNotIn('Retry-After', response) - else: - actual_retry_after = response['Retry-After'] - if fetch: - self.assertEqual(expect_retry_after, actual_retry_after) - else: - self.assertEqual(str(expect_retry_after), actual_retry_after) - return response['Location'] - - location = request_azul(url=str(azul_url), expect_status=301) - - if file_name is None: - file_name = organic_file_name - - azul_url.args['token'] = dss_token - azul_url.args['requestIndex'] = '1' - azul_url.args['fileName'] = file_name - azul_url.args['replica'] = 'aws' - azul_url.args['sha256'] = file.sha256 - self.assertUrlEqual(azul_url, location) - - helper.add(responses.Response(method='GET', - url=str(dss_url_with_token), - status=302, - headers={'Location': str(s3_url)})) - - location = request_azul(url=location, expect_status=302) - - args = { - 'response-content-disposition': f'attachment;filename={file_name}', - 'AWSAccessKeyId': self.mock_access_key_id, - 'Signature': signature, - 'Expires': expires, - 'x-amz-security-token': self.mock_session_token - } - re_pre_signed_s3_url = furl(url=f'https://{bucket_name}.s3.amazonaws.com', - path=key, - args=args) - self.assertUrlEqual(re_pre_signed_s3_url, location) - - -class TestRepositoryFilesWithMirroring(DCP2TestCase, - RepositoryFilesTestCase, - MirrorTestCase): - - def test_repository_files(self): - file_content = b'Contents of foo' - file_uuid = '701c9a63-23da-4978-946b-7576b6ad088a' - file_version = '2018-09-12T12:11:54.054628Z' - organic_file_name = 'foo.txt' - file = HCAFile(uuid=file_uuid, - name=organic_file_name, - version=file_version, - drs_uri=None, - size=len(file_content), - content_type='text/plain', - sha256=hashlib.sha256(file_content).hexdigest(), - crc32c=None) - - mirror_service = MirrorService(catalog=self.catalog, - schema_url_func=MagicMock()) - with mock.patch.object(MirrorService, '_download', return_value=file_content): - mirror_service.mirror_file(file) - self.assertTrue(mirror_service.info_exists(file)) - - client = http_client(log) - args = dict(catalog=self.catalog, version=file_version) - azul_url = self.base_url.set(path=['repository', 'files', file_uuid], args=args) - with mock.patch.object(RepositoryService, 'get_data_file', return_value=file): - response = client.request('GET', str(azul_url), redirect=False) - self.assertEqual(302, response.status) - - signed_url = furl(response.headers['Location']) - self.assertEqual('https', signed_url.scheme) - self.assertEqual(f'{self.mirror_bucket}.s3.{config.region}.amazonaws.com', - signed_url.netloc) - self.assertEqual('/' + mirror_service.mirror_object_key(file), - str(signed_url.path)) - self.assertEqual(f'attachment;filename="{file.name}"', - signed_url.args.get('response-content-disposition')) diff --git a/test/service/test_request_builder.py b/test/service/test_request_builder.py deleted file mode 100644 index ac5a833eaa..0000000000 --- a/test/service/test_request_builder.py +++ /dev/null @@ -1,410 +0,0 @@ -from collections.abc import ( - Mapping, - Sequence, -) -import json - -import attr - -from azul import ( - CatalogName, -) -from azul.indexer.field import ( - FieldTypes, - null_str, -) -from azul.logging import ( - configure_test_logging, -) -from azul.plugins import ( - FieldPath, - ManifestConfig, - MetadataPlugin, - SpecialFields, -) -from azul.plugins.metadata.hca import ( - Plugin, -) -from azul.plugins.metadata.hca.service.aggregation import ( - HCAAggregationStage, -) -from azul.service import ( - Filters, -) -from azul.service.elasticsearch_service import ( - ElasticsearchService, - ToDictStage, -) -from indexer import ( - DCP1CannedBundleTestCase, -) -from service import ( - WebServiceTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class TestRequestBuilder(DCP1CannedBundleTestCase, WebServiceTestCase): - # Subclass the class under test so we can inject a mock plugin - @attr.s(frozen=True, auto_attribs=True) - class Service(ElasticsearchService): - plugin: MetadataPlugin - - def metadata_plugin(self, catalog: CatalogName) -> MetadataPlugin: - return self.plugin - - # The mock plugin - class MockPlugin(Plugin): - - @property - def special_fields(self) -> SpecialFields: - return SpecialFields(source_id='sourceId', - source_spec='sourceSpec', - bundle_uuid='bundleUuid', - bundle_version='bundleVersion', - root_entity_id='projectId') - - @property - def _field_mapping(self) -> MetadataPlugin._FieldMapping: - return { - 'default_factory': {}, - 'entity_id': 'entity_id', - 'sources': { - 'id': 'sourceId' - }, - 'contents': { - 'projects': { - 'document_id': 'projectId', - 'institutions': 'institution', - 'laboratory': 'laboratory' - }, - 'library_preparation_protocols': { - 'library_construction_approach': 'libraryConstructionApproach' - }, - 'specimens': { - 'disease': 'specimenDisease', - 'donor_biomaterial_id': 'donorId', - 'genus_species': 'genusSpecies' - } - } - } - - @property - def manifest_config(self) -> ManifestConfig: - return {} - - @property - def facets(self) -> Sequence[str]: - return [] - - sources_filter = { - 'constant_score': { - 'filter': { - 'terms': { - 'sources.id.keyword': [] - } - } - } - } - - def test_create_request(self): - """ - Tests creation of a simple request - """ - expected_output = { - 'post_filter': { - 'bool': { - 'must': [ - { - 'constant_score': { - 'filter': { - 'terms': { - 'entity_id.keyword': [ - 'cbb998ce-ddaf-34fa-e163-d14b399c6b34' - ] - } - } - } - }, - self.sources_filter - ] - } - } - } - sample_filter = {'entity_id': {'is': ['cbb998ce-ddaf-34fa-e163-d14b399c6b34']}} - # Need to work on a couple cases: - # - The empty case - # - The 1 filter case - # - The complex multiple filters case - self._test_create_request(expected_output, sample_filter) - - def test_create_request_empty(self): - """ - Tests creation of an empty request. That is, no filter - """ - expected_output = { - 'query': { - 'bool': { - 'must': [ - self.sources_filter - ] - } - } - } - sample_filter = {} - self._test_create_request(expected_output, sample_filter, post_filter=False) - - def test_create_request_complex(self): - """ - Tests creation of a complex request. - """ - expected_output = { - 'post_filter': { - 'bool': { - 'must': [ - { - 'constant_score': { - 'filter': { - 'terms': { - 'entity_id.keyword': [ - 'cbb998ce-ddaf-34fa-e163-d14b399c6b34' - ] - } - } - } - }, - self.sources_filter - ] - } - } - } - sample_filter = { - 'entity_id': - { - 'is': ['cbb998ce-ddaf-34fa-e163-d14b399c6b34'] - } - } - self._test_create_request(expected_output, sample_filter) - - def test_create_request_missing_values(self): - """ - Tests creation of a request for facets that do not have a value - """ - expected_output = { - 'post_filter': { - 'bool': { - 'must': [ - { - 'constant_score': { - 'filter': { - 'bool': { - 'should': [ - { - 'terms': { - 'contents.' - 'library_preparation_protocols.' - 'library_construction_approach.keyword': [ - '~null' - ] - } - }, - { - 'bool': { - 'must_not': [ - { - 'exists': { - 'field': 'contents.' - 'library_preparation_protocols.' - 'library_construction_approach' - } - } - ] - } - } - ] - } - } - } - }, - self.sources_filter - ] - } - } - } - # Create a filter for missing values - sample_filter = {'libraryConstructionApproach': {'is': [None]}} - self._test_create_request(expected_output, sample_filter) - - def test_create_request_terms_and_missing_values(self): - """ - Tests creation of a request for a combination of facets that do and do - not have a value - """ - expected_output = { - 'post_filter': { - 'bool': { - 'must': [ - { - 'constant_score': { - 'filter': { - 'bool': { - 'should': [ - { - 'terms': { - 'contents.projects.laboratory.keyword': ['~null'] - } - }, - { - 'bool': { - 'must_not': [ - { - 'exists': { - 'field': 'contents.projects.laboratory' - } - } - ] - } - } - ] - } - } - } - }, - { - 'constant_score': { - 'filter': { - 'terms': { - 'contents.projects.institutions.keyword': ['Hogwarts'] - } - } - } - }, - { - 'constant_score': { - 'filter': { - 'bool': { - 'should': [ - { - 'terms': { - 'contents.specimens.disease.keyword': ['~null', 'Dragon Pox'] - } - }, - { - 'bool': { - 'must_not': [ - { - 'exists': { - 'field': 'contents.specimens.disease' - } - } - ] - } - } - ] - } - } - } - }, - self.sources_filter - ] - } - } - } - # Create a filter for missing values - sample_filter = { - 'laboratory': {'is': [None]}, - 'institution': {'is': ['Hogwarts']}, - 'specimenDisease': {'is': [None, 'Dragon Pox']}, - } - self._test_create_request(expected_output, sample_filter) - - def _test_create_request(self, - expected_output, - sample_filter, - post_filter=True - ): - service = self.Service(self.MockPlugin()) - filters = Filters(explicit=sample_filter, source_ids=set()) - request = self._prepare_request(filters, post_filter, service) - expected_output = json.dumps(expected_output, sort_keys=True) - actual_output = json.dumps(request.to_dict(), sort_keys=True) - self.assertEqual(actual_output, expected_output) - - def _prepare_request(self, filters, post_filter, service): - entity_type = 'files' - pipeline = service.create_chain(catalog=self.catalog, - entity_type=entity_type, - filters=filters, - post_filter=post_filter, - document_slice=None) - pipeline = ToDictStage(service=service, - catalog=self.catalog, - entity_type=entity_type).wrap(pipeline) - pipeline = HCAAggregationStage.create_and_wrap(pipeline) - request = pipeline.prepare_request(service.create_request(self.catalog, entity_type)) - return request - - def test_create_aggregate(self): - """ - Tests creation of an ES aggregate - """ - expected_output = { - 'filter': { - 'bool': { - 'must': [ - self.sources_filter - ] - } - }, - 'aggs': { - 'myTerms': { - 'terms': { - 'field': 'path.to.foo.keyword', - 'size': 99999 - }, - 'meta': { - 'path': ['path', 'to', 'foo'] - } - }, - 'untagged': { - 'missing': { - 'field': 'path.to.foo.keyword' - } - } - } - } - - class Service(self.Service): - - def field_types(self, catalog: CatalogName) -> FieldTypes: - return { - **super().field_types(catalog), - 'path': {'to': {'foo': null_str}} - } - - class MockPlugin(self.MockPlugin): - - @property - def field_mapping(self) -> Mapping[str, FieldPath]: - return { - 'sourceId': ('sources', 'id'), - 'foo': ('path', 'to', 'foo') - } - - @property - def facets(self) -> Sequence[str]: - return ['foo'] - - service = Service(MockPlugin()) - - filters = Filters(explicit={}, source_ids=set()) - post_filter = True - request = self._prepare_request(filters, post_filter, service) - aggregation = request.aggs['foo'] - expected_output = json.dumps(expected_output, sort_keys=True) - actual_output = json.dumps(aggregation.to_dict(), sort_keys=True) - self.assertEqual(actual_output, expected_output) diff --git a/test/service/test_request_validation.py b/test/service/test_request_validation.py deleted file mode 100644 index 3c00ca330d..0000000000 --- a/test/service/test_request_validation.py +++ /dev/null @@ -1,358 +0,0 @@ -import json - -from furl import ( - furl, -) -import requests -from requests import ( - Response, -) - -from azul.logging import ( - configure_test_logging, -) -from indexer import ( - DCP1CannedBundleTestCase, -) -from service import ( - WebServiceTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class RequestParameterValidationTest(DCP1CannedBundleTestCase, - WebServiceTestCase): - maxDiff = None - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - def assertResponseStatus(self, url: furl, status: int) -> Response: - if str(url.path) in {'/manifest/files', '/fetch/manifest/files'}: - method = 'PUT' - else: - method = 'GET' - response = requests.request(method, str(url)) - self.assertEqual(status, response.status_code, response.content) - return response - - def assertErrorMessage(self, url: furl, status: int, code: str, message: str): - response = self.assertResponseStatus(url, status) - expected_response = { - 'Code': code, - 'Message': message - } - self.assertEqual(expected_response, response.json()) - - def assertBadRequest(self, url: furl, message: str): - self.assertErrorMessage(url, 400, 'BadRequestError', message) - - def assertNotFound(self, url: furl, message: str): - self.assertErrorMessage(url, 404, 'NotFoundError', message) - - def assertBadField(self, url: furl): - self.assertBadRequest(url, 'Unknown field `bad-field`') - - def test_bad_single_filter_field_of_sample(self): - params = { - 'catalog': self.catalog, - 'size': 1, - 'filters': json.dumps({'bad-field': {'is': ['fake-val']}}), - } - url = self.base_url.set(path='/index/samples', args=params) - self.assertBadField(url) - - def test_bad_multiple_filter_field_of_sample(self): - params = { - 'catalog': self.catalog, - 'size': 1, - 'filters': json.dumps({'bad-field': {'is': ['fake-val']}, 'bad-field2': {'is': ['fake-val2']}}), - } - url = self.base_url.set(path='/index/samples', args=params) - self.assertBadField(url) - - def test_mixed_multiple_filter_field_of_sample(self): - params = { - 'catalog': self.catalog, - 'size': 1, - 'filters': json.dumps({'organPart': {'is': ['fake-val']}, 'bad-field': {'is': ['fake-val']}}), - } - url = self.base_url.set(path='/index/samples', args=params) - self.assertBadField(url) - - def test_bad_sort_field_of_sample(self): - params = { - 'size': 1, - 'filters': json.dumps({}), - 'sort': 'bad-field', - 'order': 'asc', - } - url = self.base_url.set(path='/index/samples', args=params) - self.assertBadField(url) - - def test_bad_sort_field_and_filter_field_of_sample(self): - params = { - 'size': 15, - 'filters': json.dumps({'bad-field': {'is': ['fake-val']}}), - 'sort': 'bad-field', - 'order': 'asc', - } - url = self.base_url.set(path='/index/samples', args=params) - self.assertBadField(url) - - def test_valid_sort_field_but_bad_filter_field_of_sample(self): - params = { - 'catalog': self.catalog, - 'size': 15, - 'filters': json.dumps({'bad-field': {'is': ['fake-val']}}), - 'sort': 'organPart', - 'order': 'asc', - } - url = self.base_url.set(path='/index/samples', args=params) - self.assertBadField(url) - - def test_bad_sort_field_but_valid_filter_field_of_sample(self): - params = { - 'size': 15, - 'filters': json.dumps({'organPart': {'is': ['fake-val2']}}), - 'sort': 'bad-field', - 'order': 'asc', - } - url = self.base_url.set(path='/index/samples', args=params) - self.assertBadField(url) - - def test_bad_single_filter_field_of_file(self): - params = { - 'catalog': self.catalog, - 'size': 1, - 'filters': json.dumps({'bad-field': {'is': ['fake-val2']}}), - } - url = self.base_url.set(path='/index/files', args=params) - self.assertBadField(url) - - def test_bad_multiple_filter_field_of_file(self): - params = { - 'catalog': self.catalog, - 'size': 1, - 'filters': json.dumps({'bad-field': {'is': ['fake-val']}, 'bad-field2': {'is': ['fake-val2']}}), - } - url = self.base_url.set(path='/index/files', args=params) - self.assertBadField(url) - - def test_mixed_multiple_filter_field_of_file(self): - params = { - 'catalog': self.catalog, - 'size': 1, - 'filters': json.dumps({'organPart': {'is': ['fake-val']}, 'bad-field': {'is': ['fake-val']}}), - } - url = self.base_url.set(path='/index/files', args=params) - self.assertBadField(url) - - def test_source_filter(self): - special_fields = self.app_module.app.metadata_plugin.special_fields - for field in special_fields.source_id, special_fields.accessible: - with self.subTest(field=field): - params = { - 'catalog': self.catalog, - 'size': 1, - 'filters': json.dumps({field: {'is': [None]}}) - } - url = self.base_url.set(path='/index/projects', args=params) - self.assertBadRequest(url, f'The `{field}` field does not support null values') - - def test_bad_sort_field_of_file(self): - params = { - 'size': 15, - 'sort': 'bad-field', - 'order': 'asc', - 'filters': json.dumps({}), - } - url = self.base_url.set(path='/index/files', args=params) - self.assertBadField(url) - - def test_bad_sort_field_and_filter_field_of_file(self): - params = { - 'catalog': self.catalog, - 'size': 15, - 'filters': json.dumps({'bad-field': {'is': ['fake-val2']}}), - } - url = self.base_url.set(path='/index/files', args=params) - self.assertBadField(url) - - def test_bad_sort_field_but_valid_filter_field_of_file(self): - params = { - 'size': 15, - 'sort': 'bad-field', - 'order': 'asc', - 'filters': json.dumps({'organ': {'is': ['fake-val2']}}), - } - url = self.base_url.set(path='/index/files', args=params) - self.assertBadField(url) - - def test_valid_sort_field_but_bad_filter_field_of_file(self): - params = { - 'catalog': self.catalog, - 'size': 15, - 'sort': 'organPart', - 'order': 'asc', - 'filters': json.dumps({'bad-field': {'is': ['fake-val2']}}), - } - url = self.base_url.set(path='/index/files', args=params) - self.assertBadField(url) - - def test_bad_filters(self): - url = self.base_url.set(path='/index/files', args=dict(catalog=self.catalog)) - for filters, message in [ - ('"', "The 'filters' parameter is not valid JSON"), - ('""', 'The `filters` parameter must be a dictionary'), - ( - '{"sampleDisease": ["H syndrome"]}', - 'The `filters` parameter entry for `sampleDisease` must be a ' - 'single-item dictionary' - ), - ( - '{"sampleDisease": {"is": "H syndrome"}}', - 'The value of the `is` relation in the `filters` parameter ' - 'entry for `sampleDisease` is not a list' - ), - ( - '{"sampleDisease": {"was": "H syndrome"}}', - "The relation in the `filters` parameter entry " - "for `sampleDisease` must be one of " - "('is', 'contains', 'within', 'intersects')" - ), - ( - '{"fileSource": {"is": [["foo:23/33"]]}}', - 'The value of the `is` relation in the `filters` parameter entry ' - 'for `fileSource` is invalid' - ), - ( - '{"accessions": {"within": ["foo"]}}', - 'The field `accessions` can only be filtered by the `is` relation' - ), - ( - '{"accessions": {"is": []}}', - 'The value of the `is` relation in the `filters` parameter entry ' - 'for `accessions` is not a single-item list' - ), - ( - '{"accessions": {"is": ["foo"]}}', - 'The value of the `is` relation in the `filters` parameter entry ' - 'for `accessions` must contain a dictionary' - ), - ( - '{"accessions": {"is": [{"foo": "geostudies"}]}}', - "The value of the `is` relation in the `filters` parameter entry " - "for `accessions` has invalid properties `{'foo'}`" - ), - ( - '{"accessions": {"is": [{"namespace": "baz", "foo": "bar"}]}}', - "The value of the `is` relation in the `filters` parameter entry " - "for `accessions` has invalid properties `{'foo'}`" - ) - ]: - with self.subTest(filters=filters): - url.args.set('filters', filters) - self.assertBadRequest(url, message) - - def test_single_entity_error_responses(self): - entity_types = ['files', 'projects'] - for uuid, expected_error_code in [('2b7959bb-acd1-4aa3-9557-345f9b3c6327', 404), - ('-0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb-', 400), - ('FOO', 400)]: - for entity_type in entity_types: - with self.subTest(entity_name=entity_type, error_code=expected_error_code, uuid=uuid): - url = self.base_url.set(path=('index', entity_type, uuid)) - self.assertResponseStatus(url, expected_error_code) - - def test_bad_query_params(self): - - for entity_type in ('files', 'bundles', 'samples'): - url = self.base_url.set(path=('index', entity_type)) - with self.subTest(entity_type=entity_type): - url.args = dict(catalog=self.catalog, - some_nonexistent_filter=1) - self.assertBadRequest(url, 'Unknown query parameter `some_nonexistent_filter`') - - def test_bad_catalog_param(self): - for path in (*('/index/' + e for e in ('summary', 'files')), - '/manifest/files', - '/repository/files/74897eb7-0701-4e4f-9e6b-8b9521b2816b'): - for catalog, test, message in [ - ('foo', self.assertNotFound, "Catalog name 'foo' does not exist. Must be one of %r." % {self.catalog}), - ('foo ', self.assertBadRequest, "('Catalog name is invalid', 'foo ')") - ]: - with self.subTest(path=path, catalog=catalog): - url = self.base_url.set(path=path, args=dict(catalog=catalog)) - test(url, message) - - def test_bad_entity_type(self): - bad_entity_type = 'spiders' - good_entity_types = set(self.app_module.app.metadata_plugin.exposed_indices) - assert bad_entity_type not in good_entity_types - url = self.base_url.set(path='/index/' + bad_entity_type) - expected = (f'Entity type {bad_entity_type!r} is invalid for catalog ' - f'{self.catalog!r}. Must be one of {good_entity_types}.') - self.assertBadRequest(url, expected) - - def test_bad_manifest_format(self): - bad_format = 'fluffy' - good_formats = {f.value for f in self.app_module.app.metadata_plugin.manifest_formats} - assert bad_format not in good_formats - url = self.base_url.set(path='/manifest/files', - query_params={'format': bad_format}) - expected = (f'Unknown manifest format `{bad_format}`. ' - f'Must be one of {good_formats}') - self.assertBadRequest(url, expected) - - def test_size(self): - url = self.base_url.set(path='/index/files') - for size, test, arg in [ - (1001, self.assertBadRequest, 'Invalid value for parameter `size`, must not be greater than 1000'), - (0, self.assertBadRequest, 'Invalid value for parameter `size`, must be greater than 0'), - ('foo', self.assertBadRequest, 'Invalid value for parameter `size`') - ]: - with self.subTest(size=size): - url.args.set('size', size) - test(url, arg) - - def test_order(self): - url = self.base_url.set(path='/index/projects') - for order, arg in [ - ('foo', "Unknown order `foo`. Must be one of ('asc', 'desc')"), - ('asc', None), - ('desc', None) - ]: - with self.subTest(order=order): - url.args.set('order', order) - if arg: - self.assertBadRequest(url, arg) - else: - self.assertResponseStatus(url, 200) - - def test_version(self): - for fetch in [False, True]: - for file_id, version, error in [ - ('74897eb7-0701-4e4f-9e6b-8b9521b2816b', 'foo', 'Invalid value for `version`'), - ('foo', '2018-11-02T11:33:44.450442Z', 404) - ]: - with self.subTest(fetch=fetch, file_id=file_id, version=version, error=error): - url = self.base_url.set(path=f'repository/files/{file_id}', - query_params={'version': version}) - if fetch: - url.path.segments.insert(0, 'fetch') - if isinstance(error, int): - self.assertResponseStatus(url, error) - else: - self.assertBadRequest(url, error) diff --git a/test/service/test_response.py b/test/service/test_response.py deleted file mode 100644 index 1d857c00f4..0000000000 --- a/test/service/test_response.py +++ /dev/null @@ -1,3726 +0,0 @@ -from collections import ( - Counter, -) -from collections.abc import ( - Mapping, - Sequence, -) -from itertools import ( - product, -) -import json -import os -from typing import ( - Optional, - Self, - cast, -) -from unittest import ( - mock, -) -from urllib.parse import ( - parse_qs, - parse_qsl, - urlparse, -) - -import attr -from furl import ( - furl, -) -from more_itertools import ( - one, -) -import requests - -from app_test_case import ( - LocalAppTestCase, -) -from azul import ( - cached_property, - config, -) -from azul.collections import ( - none_safe_key, -) -from azul.indexer import ( - BundleFQID, - SourcedBundleFQID, -) -from azul.indexer.document import ( - DocumentType, - IndexName, -) -from azul.indexer.field import ( - null_str, -) -from azul.indexer.index_service import ( - IndexService, -) -from azul.logging import ( - configure_test_logging, -) -from azul.plugins import ( - FieldPath, - MetadataPlugin, - SpecialFields, -) -from azul.plugins.metadata.hca import ( - HCABundle, -) -from azul.plugins.metadata.hca.service.response import ( - HCASearchResponseStage, -) -from azul.service.elasticsearch_service import ( - ResponsePagination, -) -from azul.terra import ( - TDRSourceRef, - TDRSourceSpec, -) -from azul.types import ( - JSON, - JSONs, -) -from indexer import ( - DCP1CannedBundleTestCase, - DCP2CannedBundleTestCase, -) -from service import ( - WebServiceTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -def parse_url_qs(url) -> dict[str, str]: - url_parts = urlparse(url) - query_dict = dict(parse_qsl(url_parts.query, keep_blank_values=True)) - # some PyCharm stub gets in the way, making the cast necessary - return cast(dict[str, str], query_dict) - - -class IndexResponseTestCase(DCP1CannedBundleTestCase, WebServiceTestCase): - pass - - -class TestIndexResponse(IndexResponseTestCase): - maxDiff = None - - @classmethod - def bundles(cls) -> list[BundleFQID]: - return super().bundles() + [ - cls.bundle_fqid(uuid='fa5be5eb-2d64-49f5-8ed8-bd627ac9bc7a', - version='2019-02-14T19:24:38.034764Z'), - cls.bundle_fqid(uuid='d0e17014-9a58-4763-9e66-59894efbdaa8', - version='2018-10-03T14:41:37.044509Z'), - cls.bundle_fqid(uuid='e0ae8cfa-2b51-4419-9cde-34df44c6458a', - version='2018-12-05T23:09:17.591044Z'), - cls.bundle_fqid(uuid='411cd8d5-5990-43cd-84cc-6c7796b8a76d', - version='2018-10-18T20:46:55.866661Z'), - cls.bundle_fqid(uuid='412cd8d5-5990-43cd-84cc-6c7796b8a76d', - version='2018-10-18T20:46:55.866661Z'), - cls.bundle_fqid(uuid='ffac201f-4b1c-4455-bd58-19c1a9e863b4', - version='2019-10-09T17:07:35.528600Z'), - ] - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - def _get_hits(self, entity_type: str, entity_id: str): - """ - Fetches hits from ES instance searching for a particular entity ID - """ - body = { - 'query': { - 'term': { - 'entity_id.keyword': entity_id - } - } - } - # Tests are assumed to only ever run with the azul dev index - results = self.es_client.search(index=str(IndexName.create(catalog=self.catalog, - qualifier=entity_type, - doc_type=DocumentType.aggregate)), - body=body) - return self._index_service.translate_fields(catalog=self.catalog, - doc=[results['hits']['hits'][0]['_source']], - forward=False) - - @cached_property - def _index_service(self): - return IndexService() - - @property - def paginations(self): - return [ - ResponsePagination(count=2, - order='desc', - pages=1, - size=5, - sort='entryId', - total=2, - previous=None, - next=None), - ResponsePagination(count=2, - order='desc', - pages=1, - size=5, - sort='entryId', - total=2, - previous=None, - next=str(self.base_url.set(path='/index/files', - args=dict(size=5, - search_after='cbb998ce-ddaf-34fa-e163-d14b399c6b34', - search_after_uid='meta%2332')))) - ] - - def test_response_stage_files(self): - """ - n=0: Test the SearchResponse object, making sure the functionality works - as appropriate by asserting the apiResponse attribute is the same as - expected. - - n=1: Tests the SearchResponse object, using 'next' pagination. - """ - hits = [ - { - "bundles": [ - { - "bundleUuid": "aaa96233-bf27-44c7-82df-b4dc15ad4d9d", - "bundleVersion": "2018-11-02T11:33:44.698028Z" - } - ], - "cellLines": [ - - ], - "cellSuspensions": [ - { - "organ": ["pancreas"], - "organPart": ["islet of Langerhans"], - "selectedCellType": [None], - "totalCells": 1, - "totalCellsRedundant": 0, - } - ], - "donorOrganisms": [ - { - "biologicalSex": ["female"], - "disease": ['normal'], - "developmentStage": [None], - "genusSpecies": ["Australopithecus"], - "id": ["DID_scRSq06"], - "donorCount": 1, - "organismAge": [{"value": "38", "unit": "year"}], - "organismAgeRange": [[1198368000.0, 1198368000.0]], - } - ], - "entryId": "0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb", - "files": [ - { - "contentDescription": [None], - "format": "fastq.gz", - "matrixCellCount": None, - "isIntermediate": None, - "name": "SRR3562915_1.fastq.gz", - "sha256": "77337cb51b2e584b5ae1b99db6c163b988cbc5b894dda2f5d22424978c3bfc7a", - "size": 195142097, - "fileSource": None, - "drs_uri": f"drs://{self._drs_domain_name}/" - f"7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb?version=2018-11-02T11%3A33%3A44.698028Z", - "uuid": "7b07f99e-4a8a-4ad0-bd4f-db0d7a00c7bb", - "version": "2018-11-02T11:33:44.698028Z" - } - ], - "organoids": [ - - ], - "projects": [ - { - "laboratory": ["John Dear"], - "projectId": ["e8642221-4c2c-4fd7-b926-a68bce363c88"], - "projectShortname": ["Single of human pancreas"], - "projectTitle": ["Single cell transcriptome patterns."], - "bionetworkName": [None], - "isTissueAtlasProject": [False], - "tissueAtlas": [], - "estimatedCellCount": None, - "dataUseRestriction": [None], - "duosId": [None], - } - ], - "protocols": [ - { - "libraryConstructionApproach": ["Smart-seq2"], - "nucleicAcidSource": ["single cell"], - }, - { - "instrumentManufacturerModel": ["Illumina NextSeq 500"], - "pairedEnd": [True], - } - ], - "samples": [ - { - "sampleEntityType": ["specimens"], - "effectiveOrgan": ['pancreas'], - "disease": ["normal"], - "id": ["DID_scRSq06_pancreas"], - "organ": ["pancreas"], - "organPart": ["islet of Langerhans"], - "preservationMethod": [None], - "source": [ - "specimen_from_organism", - ], - } - ], - "sources": [{ - "sourceId": self.source.id, - "sourceSpec": str(self.source.spec) - }], - "specimens": [ - { - "disease": ["normal"], - "id": ["DID_scRSq06_pancreas"], - "organ": ["pancreas"], - "organPart": ["islet of Langerhans"], - "preservationMethod": [None], - "source": [ - "specimen_from_organism", - ], - } - ], - "dates": [ - { - "aggregateLastModifiedDate": None, - "aggregateSubmissionDate": None, - "aggregateUpdateDate": None, - "lastModifiedDate": "2018-11-02T10:35:07.705000Z", - "submissionDate": "2018-11-02T10:03:39.600000Z", - "updateDate": "2018-11-02T10:35:07.705000Z", - } - ] - } - ] - responses = [ - { - "hits": hits, - "pagination": { - "count": 2, - "order": "desc", - "pages": 1, - "next": None, - "previous": None, - "size": 5, - "sort": "entryId", - "total": 2 - }, - "termFacets": {} - }, - { - "hits": hits, - "pagination": { - "count": 2, - "order": "desc", - "pages": 1, - "next": str(self.base_url.set(path='/index/files', - args=dict(size=5, - search_after='cbb998ce-ddaf-34fa-e163-d14b399c6b34', - search_after_uid='meta%2332'))), - "previous": None, - "size": 5, - "sort": "entryId", - "total": 2 - }, - "termFacets": {} - } - ] - for n in 0, 1: - with self.subTest(n=n): - # FIXME: Use response from `/index/files` to validate - # https://github.com/DataBiosphere/azul/issues/2970 - hits = self._get_hits('files', '0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb') - stage = HCASearchResponseStage(service=self.index_service, - entity_type='files', - catalog=self.catalog) - response = stage.process_response((hits, self.paginations[n], {})) - self.assertElasticEqual(responses[n], response) - - def test_response_stage_files_summaries(self): - """ - Test non-'files' entity type passed to SearchResponse will give file summaries - """ - # FIXME: Use response from `/index/samples` to validate - # https://github.com/DataBiosphere/azul/issues/2970 - hits = self._get_hits('samples', 'a21dc760-a500-4236-bcff-da34a0e873d2') - stage = HCASearchResponseStage(service=self.index_service, - entity_type='samples', - catalog=self.catalog) - response = stage.process_response((hits, self.paginations[0], {})) - - for hit in response['hits']: - self.assertIn('fileTypeSummaries', hit) - self.assertNotIn('files', hit) - - canned_aggs = { - "organ": { - "doc_count": 21, - "untagged": { - "doc_count": 0 - }, - "myTerms": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": "silver", - "doc_count": 11 - }, - { - "key": "teal", - "doc_count": 10 - } - ] - } - }, - "disease": { - "doc_count": 21, - "untagged": { - "doc_count": 12 - }, - "myTerms": { - "doc_count_error_upper_bound": 0, - "sum_other_doc_count": 0, - "buckets": [ - { - "key": "silver", - "doc_count": 9 - } - ] - } - } - } - - def test_response_stage_files_facets(self): - """ - Test adding facets to SearchResponse with missing values in one facet - and no missing values in the other - - null term should not appear if there are no missing values - """ - # FIXME: Use response from `/index/files` to validate - # https://github.com/DataBiosphere/azul/issues/2970 - stage = HCASearchResponseStage(service=self.index_service, - entity_type='files', - catalog=self.catalog) - facets = stage.make_facets(self.canned_aggs) - expected_output = { - "organ": { - "terms": [ - { - "term": "silver", - "count": 11 - }, - { - "term": "teal", - "count": 10 - } - ], - "total": 21, - "type": "terms" - }, - "disease": { - "terms": [ - { - "term": "silver", - "count": 9 - }, - { - "term": None, - "count": 12 - } - ], - "total": 21, - "type": "terms" - } - } - self.assertElasticEqual(facets, expected_output) - - def test_response_stage_projects(self): - """ - Test building response for projects. Response should include project - detail fields that do not appear for other entity type responses - """ - # FIXME: Use response from `/index/projects` to validate - # https://github.com/DataBiosphere/azul/issues/2970 - hits = self._get_hits('projects', 'e8642221-4c2c-4fd7-b926-a68bce363c88') - stage = HCASearchResponseStage(service=self.index_service, - entity_type='projects', - catalog=self.catalog) - response = stage.process_response((hits, self.paginations[0], self.canned_aggs)) - - expected_response = { - "hits": [ - { - "cellLines": [ - - ], - "cellSuspensions": [ - { - "organ": ["pancreas"], - "organPart": ["islet of Langerhans"], - "selectedCellType": [None], - "totalCells": 1, - "totalCellsRedundant": 0, - } - ], - "donorOrganisms": [ - { - "biologicalSex": ["female"], - "disease": ['normal'], - "developmentStage": [None], - "genusSpecies": ["Australopithecus"], - "id": ["DID_scRSq06"], - "donorCount": 1, - "organismAge": [{"value": "38", "unit": "year"}], - "organismAgeRange": [[1198368000.0, 1198368000.0]], - } - ], - "entryId": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "fileTypeSummaries": [ - { - "contentDescription": [None], - "count": 2, - "format": "fastq.gz", - "matrixCellCount": None, - "isIntermediate": None, - "fileSource": [None], - "totalSize": 385472253.0 - } - ], - "organoids": [ - ], - "projects": [ - { - "contributors": [ - { - "contactName": "Matthew,,Green", - "correspondingContributor": False, - "email": "hewgreen@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "projectRole": "Human Cell Atlas wrangler" - }, - { - "contactName": "Martin, Enge", - "correspondingContributor": None, - "email": "martin.enge@gmail.com", - "institution": "University", - "laboratory": None, - "projectRole": None - }, - { - "contactName": "Laura,,Huerta", - "correspondingContributor": False, - "email": "lauhuema@ebi.ac.uk", - "institution": "Farmers Trucks", - "laboratory": "John Dear", - "projectRole": "external curator" - } - ], - "laboratory": ["John Dear"], - "projectDescription": "As organisms age, cells accumulate genetic and epigenetic changes " - "that eventually lead to impaired organ function or catastrophic " - "failure such as cancer. Here we describe a single-cell " - "transcriptome analysis of 2544 human pancreas cells from donors, " - "spanning six decades of life. We find that islet cells from older " - "donors have increased levels of disorder as measured both by noise " - "in the transcriptome and by the number of cells which display " - "inappropriate hormone expression, revealing a transcriptional " - "instability associated with aging. By analyzing the spectrum of " - "somatic mutations in single cells from previously-healthy donors, " - "we find a specific age-dependent mutational signature " - "characterized by C to A and C to G transversions, indicators of " - "oxidative stress, which is absent in single cells from human brain " - "tissue or in a tumor cell line. Cells carrying a high load of such " - "mutations also express higher levels of stress and senescence " - "markers, including FOS, JUN, and the cytoplasmic superoxide " - "dismutase SOD1, markers previously linked to pancreatic diseases " - "with substantial age-dependent risk, such as type 2 diabetes " - "mellitus and adenocarcinoma. Thus, our single-cell approach " - "unveils gene expression changes and somatic mutations acquired in " - "aging human tissue, and identifies molecular pathways induced by " - "these genetic changes that could influence human disease. Also, " - "our results demonstrate the feasibility of using single-cell " - "RNA-seq data from primary cells to derive meaningful insights into " - "the genetic processes that operate on aging human tissue and to " - "determine which molecular mechanisms are coordinated with these " - "processes. Examination of single cells from primary human pancreas " - "tissue", - "projectId": "e8642221-4c2c-4fd7-b926-a68bce363c88", - "projectShortname": "Single of human pancreas", - "projectTitle": "Single cell transcriptome patterns.", - "publications": [ - { - "doi": "10.1016/j.cell.2017.09.004", - "officialHcaPublication": None, - "publicationTitle": "Single-Cell Analysis of Human Pancreas Reveals " - "Transcriptional Signatures of Aging and Somatic Mutation " - "Patterns.", - "publicationUrl": "https://www.ncbi.nlm.nih.gov/pubmed/28965763" - } - ], - "supplementaryLinks": [ - 'https://www.ebi.ac.uk/gxa/sc/experiments/E-GEOD-81547/Results' - ], - "estimatedCellCount": None, - "matrices": {}, - "contributedAnalyses": {}, - "bionetworkName": [None], - "tissueAtlas": [], - "isTissueAtlasProject": False, - "accessions": [], - "dataUseRestriction": None, - "duosId": None, - } - ], - "protocols": [ - { - "libraryConstructionApproach": ["Smart-seq2"], - "nucleicAcidSource": ["single cell"], - }, - { - "instrumentManufacturerModel": ["Illumina NextSeq 500"], - "pairedEnd": [True], - } - ], - "samples": [ - { - "sampleEntityType": ["specimens"], - "effectiveOrgan": ["pancreas"], - "disease": ["normal"], - "id": ["DID_scRSq06_pancreas"], - "organ": ["pancreas"], - "organPart": ["islet of Langerhans"], - "preservationMethod": [None], - "source": [ - "specimen_from_organism" - ], - } - ], - "sources": [{ - "sourceId": self.source.id, - "sourceSpec": str(self.source.spec) - }], - "specimens": [ - { - "disease": ["normal"], - "id": ["DID_scRSq06_pancreas"], - "organ": ["pancreas"], - "organPart": ["islet of Langerhans"], - "preservationMethod": [None], - "source": [ - "specimen_from_organism" - ], - } - ], - "dates": [ - { - "aggregateLastModifiedDate": "2018-11-02T10:35:07.705000Z", - "aggregateSubmissionDate": "2018-11-02T10:02:12.133000Z", - "aggregateUpdateDate": "2018-11-02T10:35:07.705000Z", - "lastModifiedDate": "2018-11-02T10:07:39.499000Z", - "submissionDate": "2018-11-02T10:02:12.133000Z", - "updateDate": "2018-11-02T10:07:39.499000Z", - } - ] - } - ], - "pagination": { - "count": 2, - "order": "desc", - "pages": 1, - "next": None, - "previous": None, - "size": 5, - "sort": "entryId", - "total": 2 - }, - "termFacets": { - "disease": { - "terms": [ - { - "count": 9, - "term": "silver" - }, - { - "count": 12, - "term": None - } - ], - "total": 21, - "type": "terms" - }, - "organ": { - "terms": [ - { - "count": 11, - "term": "silver" - }, - { - "count": 10, - "term": "teal" - } - ], - "total": 21, - "type": "terms" - } - } - } - - self.assertElasticEqual(expected_response, response) - - def test_response_stage_projects_accessions(self): - """ - This method tests the SearchResponse object for the projects entity type, - specifically making sure the accessions fields are present in the response. - """ - # FIXME: Use response from `/index/projects` to validate - # https://github.com/DataBiosphere/azul/issues/2970 - hits = self._get_hits('projects', '627cb0ba-b8a1-405a-b58f-0add82c3d635') - stage = HCASearchResponseStage(service=self.index_service, - entity_type='projects', - catalog=self.catalog) - response = stage.process_response((hits, self.paginations[0], {})) - expected_hits = [ - { - "cellLines": [ - - ], - "cellSuspensions": [ - { - "organ": ["brain"], - "organPart": ["amygdala"], - "selectedCellType": [None], - "totalCells": 10001, - "totalCellsRedundant": 0, - } - ], - "donorOrganisms": [ - { - "biologicalSex": ["male"], - "disease": ['H syndrome'], - "developmentStage": ["human adult stage"], - "genusSpecies": ["Homo sapiens"], - "id": ["donor_ID_1"], - "donorCount": 1, - "organismAge": [{"value": "20", "unit": "year"}], - "organismAgeRange": [[630720000.0, 630720000.0]], - } - ], - "entryId": "627cb0ba-b8a1-405a-b58f-0add82c3d635", - "fileTypeSummaries": [ - { - "contentDescription": [None], - "count": 1, - "format": "bai", - "matrixCellCount": None, - "isIntermediate": None, - "fileSource": ['DCP/2 Analysis'], - "totalSize": 2395616.0 - }, - { - "contentDescription": [None], - "count": 1, - "format": "bam", - "matrixCellCount": None, - "isIntermediate": None, - "fileSource": ['DCP/2 Analysis'], - "totalSize": 55840108 - }, - { - "contentDescription": [None], - "count": 1, - "format": "csv", - "matrixCellCount": None, - "isIntermediate": None, - "fileSource": ['DCP/2 Analysis'], - "totalSize": 665 - }, - { - "contentDescription": [None], - "count": 1, - "format": "unknown", - "matrixCellCount": None, - "isIntermediate": None, - "fileSource": ['DCP/2 Analysis'], - "totalSize": 2645006 - }, - { - "contentDescription": [None], - "count": 2, - "format": "mtx", - "matrixCellCount": None, - "isIntermediate": None, - "fileSource": ['DCP/2 Analysis'], - "totalSize": 6561141 - }, - { - "contentDescription": [None], - "count": 3, - "format": "fastq.gz", - "matrixCellCount": None, - "isIntermediate": None, - "fileSource": [None], - "totalSize": 44668092 - }, - { - "contentDescription": [None], - "count": 3, - "format": "h5", - "matrixCellCount": None, - "isIntermediate": None, - "fileSource": ['DCP/2 Analysis'], - "totalSize": 5573714 - }, - { - "contentDescription": [None], - "count": 4, - "format": "tsv", - "matrixCellCount": None, - "isIntermediate": None, - "fileSource": ['DCP/2 Analysis'], - "totalSize": 15872628 - } - ], - "organoids": [ - - ], - "projects": [ - { - "contributors": [ - { - "contactName": "John,D,Doe. ", - "correspondingContributor": False, - "email": "dummy@email.com", - "institution": "EMBL-EBI", - "laboratory": "Department of Biology", - "projectRole": "principal investigator" - } - ], - "laboratory": ["Department of Biology"], - "projectDescription": "Contains a small file set from the dataset: 4k PBMCs from a " - "Healthy Donor, a Single Cell Gene Expression Dataset by Cell " - "Ranger 2.1.0. Peripheral blood mononuclear cells (PBMCs) were " - "taken from a healthy donor (same donor as pbmc8k). PBMCs are " - "primary cells with relatively small amounts of RNA (~1pg " - "RNA/cell). Data/Analysis can be found here " - "https://support.10xgenomics.com/single-cell-gene-expression/datasets" - "/2.1.0/pbmc4k and all data is licensed under the creative commons " - "attribution license (https://creativecommons.org/licenses/by/4.0/). " - "This test also contains extensive metadata for browser testing. " - "Metadata is fabricated.", - "projectId": "627cb0ba-b8a1-405a-b58f-0add82c3d635", - "projectShortname": "staging/10x/2019-02-14T18:29:38Z", - "projectTitle": "10x 1 Run Integration Test", - "publications": [ - { - "doi": "10.1016/j.cell.2016.07.054", - "officialHcaPublication": None, - "publicationTitle": "A title of a publication goes here.", - "publicationUrl": "https://europepmc.org" - } - ], - "supplementaryLinks": [None], - "estimatedCellCount": None, - "matrices": {}, - "contributedAnalyses": {}, - "isTissueAtlasProject": False, - "bionetworkName": [None], - "tissueAtlas": [], - "accessions": [ - {"namespace": "array_express", "accession": "E-AAAA-00"}, - {"namespace": "geo_series", "accession": "GSE00000"}, - {"namespace": "insdc_project", "accession": "SRP000000"}, - {"namespace": "insdc_project", "accession": "SRP000001"}, - {"namespace": "insdc_study", "accession": "PRJNA000000"}, - ], - "dataUseRestriction": None, - "duosId": None, - } - ], - "protocols": [ - { - "workflow": ['cellranger_v1.0.2'], - }, - { - "libraryConstructionApproach": ["10X v2 sequencing"], - "nucleicAcidSource": [None], - }, - { - "instrumentManufacturerModel": ["Illumina HiSeq 2500"], - "pairedEnd": [False], - } - ], - "samples": [ - { - "sampleEntityType": ["specimens"], - "effectiveOrgan": ["brain"], - "disease": ["H syndrome"], - "id": ["specimen_ID_1"], - "organ": ["brain"], - "organPart": ["amygdala"], - "preservationMethod": [None], - "source": [ - "specimen_from_organism" - ], - } - ], - "sources": [{ - "sourceId": self.source.id, - "sourceSpec": str(self.source.spec) - }], - "specimens": [ - { - "disease": ["H syndrome"], - "id": ["specimen_ID_1"], - "organ": ["brain"], - "organPart": ["amygdala"], - "preservationMethod": [None], - "source": [ - "specimen_from_organism" - ], - } - ], - "dates": [ - { - "aggregateLastModifiedDate": "2019-02-14T19:19:57.464000Z", - "aggregateSubmissionDate": "2019-02-14T18:29:42.531000Z", - "aggregateUpdateDate": "2019-02-14T19:19:57.464000Z", - "lastModifiedDate": "2019-02-14T18:29:48.555000Z", - "submissionDate": "2019-02-14T18:29:42.531000Z", - "updateDate": "2019-02-14T18:29:48.555000Z", - } - ] - } - ] - self.assertElasticEqual(expected_hits, response['hits']) - - def test_response_stage_projects_celltype(self): - # FIXME: Use response from `/index/projects` to validate - # https://github.com/DataBiosphere/azul/issues/2970 - hits = self._get_hits('projects', '250aef61-a15b-4d97-b8b4-54bb997c1d7d') - stage = HCASearchResponseStage(service=self.index_service, - entity_type='projects', - catalog=self.catalog) - response = stage.process_response((hits, self.paginations[0], {})) - cell_suspension = one(response['hits'][0]['cellSuspensions']) - self.assertEqual(["Plasma cells"], cell_suspension['selectedCellType']) - - def test_response_stage_projects_cell_line(self): - """ - Test SearchResponse contains the correct cell_line and sample field values - """ - # FIXME: Use response from `/index/projects` to validate - # https://github.com/DataBiosphere/azul/issues/2970 - hits = self._get_hits('projects', 'c765e3f9-7cfc-4501-8832-79e5f7abd321') - stage = HCASearchResponseStage(service=self.index_service, - entity_type='projects', - catalog=self.catalog) - response = stage.process_response((hits, self.paginations[0], {})) - expected_cell_lines = { - 'id': ['cell_line_Day7_hiPSC-CM_BioRep2', 'cell_line_GM18517'], - 'cellLineType': ['primary', 'stem cell-derived'], - 'modelOrgan': ['blood (parent_cell_line)', 'blood (child_cell_line)'], - } - hits = response['hits'] - cell_lines = one(one(hits)['cellLines']) - self.assertElasticEqual(expected_cell_lines, cell_lines) - expected_samples = { - 'sampleEntityType': ['cellLines'], - 'effectiveOrgan': ['blood (child_cell_line)'], - 'id': ['cell_line_Day7_hiPSC-CM_BioRep2'], - 'cellLineType': ['stem cell-derived'], - 'modelOrgan': ['blood (child_cell_line)'], - } - samples = one(one(hits)['samples']) - self.assertElasticEqual(samples, expected_samples) - - def test_response_stage_files_file(self): - """ - Test SearchResponse contains the correct file field values - """ - # FIXME: Use response from `/index/files` to validate - # https://github.com/DataBiosphere/azul/issues/2970 - hits = self._get_hits('files', '4015da8b-18d8-4f3c-b2b0-54f0b77ae80a') - stage = HCASearchResponseStage(service=self.index_service, - entity_type='files', - catalog=self.catalog) - response = stage.process_response((hits, self.paginations[0], {})) - expected_file = { - 'contentDescription': ['RNA sequence'], - 'format': 'fastq.gz', - 'matrixCellCount': None, - 'isIntermediate': None, - 'name': 'Cortex2.CCJ15ANXX.SM2_052318p4_D8.unmapped.1.fastq.gz', - 'sha256': '709fede4736213f0f71ae4d76719fd51fa402a9112582a4c52983973cb7d7e47', - 'size': 22819025, - 'fileSource': None, - 'drs_uri': f'drs://{self._drs_domain_name}/' - f'a8b8479d-cfa9-4f74-909f-49552439e698?version=2019-10-09T17%3A22%3A51.560099Z', - 'uuid': 'a8b8479d-cfa9-4f74-909f-49552439e698', - 'version': '2019-10-09T17:22:51.560099Z' - } - file = one(one(response['hits'])['files']) - self.assertElasticEqual(file, expected_file) - - def test_sorting_details(self): - for entity_type in 'files', 'samples', 'projects', 'bundles': - with self.subTest(entity_type=entity_type): - response = requests.get(str(self.base_url.set(path=('index', entity_type), - args=self._params()))) - response.raise_for_status() - response_json = response.json() - # Verify default sort field is set correctly - self.assertEqual(response_json['pagination']['sort'], - self.app_module.app.metadata_plugin.exposed_indices[entity_type].field_name) - # Verify all fields in the response that are lists of primitives are sorted - for hit in response_json['hits']: - self._verify_sorted_lists(hit) - - def test_transform_request_with_file_url(self): - for entity_type in ('files', 'bundles'): - with self.subTest(entity_type=entity_type): - url = self.base_url.set(path=('index', entity_type), args=self._params()) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - for hit in response_json['hits']: - if entity_type == 'files': - self.assertEqual(len(hit['files']), 1) - else: - self.assertGreater(len(hit['files']), 0) - for file in hit['files']: - self.assertIn('url', file.keys()) - actual_url = urlparse(file['url']) - actual_query_vars = {k: one(v) for k, v in parse_qs(actual_url.query).items()} - self.assertEqual(url.netloc, actual_url.netloc) - self.assertEqual(url.scheme, actual_url.scheme) - self.assertIsNotNone(actual_url.path) - self.assertEqual(self.catalog, actual_query_vars['catalog']) - self.assertIsNotNone(actual_query_vars['version']) - - def test_filter_with_none(self): - """ - Test response when using a filter with a None value - """ - test_data_values = [["normal"], [None], ["normal", None]] - for test_data in test_data_values: - with self.subTest(test_data=test_data): - params = self._params(size=10, filters={'specimenDisease': {'is': test_data}}) - url = self.base_url.set(path='/index/samples', args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - diseases = { - disease - for hit in response_json['hits'] - for specimen in hit['specimens'] - for disease in specimen['disease'] - } - self.assertEqual(diseases, set(test_data)) - - def test_filter_by_projectId(self): - """ - Test response when using a projectId filter - """ - test_data_sets = [ - { - 'id': '627cb0ba-b8a1-405a-b58f-0add82c3d635', - 'title': '10x 1 Run Integration Test' - }, - { - 'id': '250aef61-a15b-4d97-b8b4-54bb997c1d7d', - 'title': 'Bone marrow plasma cells from hip replacement surgeries' - } - ] - for test_data in test_data_sets: - for entity_type in 'files', 'samples', 'projects', 'bundles': - with self.subTest(entity_type=entity_type): - params = self._params(size=2, filters={'projectId': {'is': [test_data['id']]}}) - url = self.base_url.set(path=('index', entity_type), args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - for hit in response_json['hits']: - for project in hit['projects']: - if entity_type == 'projects': - self.assertEqual(test_data['title'], project['projectTitle']) - self.assertEqual(test_data['id'], project['projectId']) - else: - self.assertIn(test_data['title'], project['projectTitle']) - self.assertIn(test_data['id'], project['projectId']) - for term in response_json['termFacets']['project']['terms']: - self.assertEqual(term['projectId'], [test_data['id']]) - - def test_filter_by_contentDescription(self): - url = self.base_url.set(path='/index/files') - params = self._params(size=3, - filters={'contentDescription': {'is': ['RNA sequence']}}, - sort='fileName', - order='asc') - response = requests.get(str(url), params=params) - response.raise_for_status() - response_json = response.json() - expected = [ - 'Cortex2.CCJ15ANXX.SM2_052318p4_D8.unmapped.1.fastq.gz', - 'Cortex2.CCJ15ANXX.SM2_052318p4_D8.unmapped.2.fastq.gz' - ] - actual = [file['name'] - for hit in response_json['hits'] - for file in hit['files']] - self.assertEqual(actual, expected) - - def test_translated_facets(self): - """ - Test that response facets values are correctly translated back to the - correct data types and that the translated None value is not present. - """ - url = self.base_url.set(path='/index/samples', - args=(self._params(size=10))) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - facets = response_json['termFacets'] - - paired_end_terms = {term['term'] for term in facets['pairedEnd']['terms']} - self.assertEqual(paired_end_terms, {'true', 'false'}) - - preservation_method_terms = {term['term'] for term in facets['preservationMethod']['terms']} - self.assertEqual(preservation_method_terms, {None}) - - model_organ_part_terms = {term['term'] for term in facets['modelOrganPart']['terms']} - self.assertEqual(model_organ_part_terms, {None}) - - for facet in facets.values(): - for term in facet['terms']: - self.assertNotEqual(term['term'], null_str.to_index(None)) - - def test_sample(self): - """ - Test that sample(s) in the response contain values matching values in - the source cellLine/organoid/specimen - """ - for entity_type in 'projects', 'samples', 'files', 'bundles': - with self.subTest(entity_type=entity_type): - url = self.base_url.set(path=('index', entity_type), args=self._params()) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - if entity_type == 'samples': - for hit in response_json['hits']: - for sample in hit['samples']: - sample_entity_type = sample['sampleEntityType'] - for key, val in sample.items(): - if key not in [ - 'sampleEntityType', - 'effectiveOrgan', - SpecialFields.accessible, - ]: - if isinstance(val, list): - for one_val in val: - self.assertIn(one_val, hit[sample_entity_type][0][key]) - else: - self.assertIn(val, hit[sample_entity_type][0][key]) - - def test_bundles_outer_entity(self): - entity_type = 'bundles' - url = self.base_url.set(path=('index', entity_type), args=self._params()) - response = requests.get(str(url)) - response.raise_for_status() - response = response.json() - indexed_bundles = set(self.bundles()) - self.assertEqual(len(self.bundles()), len(indexed_bundles)) - special_fields = self.index_service.metadata_plugin(self.catalog).special_fields - actual_bundles = { - self.bundle_fqid(uuid=bundle[special_fields.bundle_uuid], - version=bundle[special_fields.bundle_version]) - for hit in response['hits'] - for bundle in hit['bundles'] - } - self.assertEqual(len(response['hits']), len(actual_bundles)) - self.assertSetEqual(indexed_bundles, actual_bundles) - - def test_ranged_values(self): - gte0, lte0 = 2049840000.0, 2175984000.0 - gte1, lte1 = 1419120000.0, 1545264000.0 - gte2, lte2 = 1734480000.0, 1860624000.0 - gte3, lte3 = 1261440000.0, 1387584000.0 - test_hits = [ - [ - { - "biologicalSex": [ - "male", - "female" - ], - "developmentStage": [None], - "disease": ['normal'], - "genusSpecies": [ - "Homo sapiens" - ], - "id": [ - "HPSI0314i-hoik", - "HPSI0214i-wibj", - "HPSI0314i-sojd", - "HPSI0214i-kucg" - ], - "donorCount": 4, - "organismAge": [ - {"value": "45-49", "unit": "year"}, - {"value": "65-69", "unit": "year"} - ], - "organismAgeRange": [ - [gte0, lte0], - [gte1, lte1] - ], - } - ], - [ - { - "biologicalSex": [ - "male", - "female" - ], - "developmentStage": [None], - "disease": ['normal'], - "genusSpecies": [ - "Homo sapiens" - ], - "id": [ - "HPSI0314i-hoik", - "HPSI0214i-wibj", - "HPSI0314i-sojd", - "HPSI0214i-kucg" - ], - "donorCount": 4, - "organismAge": [ - {"value": "40-44", "unit": "year"}, - {"value": "55-59", "unit": "year"} - ], - "organismAgeRange": [ - [gte2, lte2], - [gte3, lte3] - ], - } - ] - ] - - test_cases = [ - ('contains', (gte1 + 10000, lte1 - 1000), test_hits[:1]), - ('contains', gte1 + 10000, test_hits[:1]), - ('contains', 0.0, []), - ('within', (gte3 - 10000, lte1 + 1000), test_hits), - ('intersects', (lte2 - 1000, 1900000000.0), test_hits[1:]), - ('contains', (lte2, gte0 - 199000), []), - ('within', (gte2 + 10000, lte2 - 1000), []), - ('intersects', (lte2 + 100, gte0 - 199000), []) - ] - for relation, value, expected_hits in test_cases: - for ends_type in int, float: - if isinstance(value, (tuple, list)): - value = list(map(ends_type, value)) - else: - value = ends_type(value) - with self.subTest(relation=relation, value=value, ends_type=ends_type): - params = self._params(filters={'organismAgeRange': {relation: [value]}}, - order='desc', - sort='entryId') - url = self.base_url.set(path='/index/projects', args=params) - response = requests.get(str(url)) - response.raise_for_status() - actual_hits = [hit['donorOrganisms'] for hit in response.json()['hits']] - self.assertElasticEqual(expected_hits, actual_hits) - - def test_ordering(self): - sort_fields = [ - ('cellCount', lambda hit: hit['cellSuspensions'][0]['totalCells']), - ('donorCount', lambda hit: hit['donorOrganisms'][0]['donorCount']) - ] - - for sort_field, accessor in sort_fields: - responses = { - order: requests.get(str(self.base_url.set(path='/index/projects', - args=self._params(order=order, sort=sort_field)))) - for order in ['asc', 'desc'] - } - hit_sort_values = {} - for order, response in responses.items(): - response.raise_for_status() - hit_sort_values[order] = [accessor(hit) for hit in response.json()['hits']] - - self.assertEqual(hit_sort_values['asc'], - sorted(hit_sort_values['asc'], key=none_safe_key())) - self.assertEqual(hit_sort_values['desc'], - sorted(hit_sort_values['desc'], key=none_safe_key(), reverse=True)) - - def test_missing_field_sorting(self): - """ - Test that sorting by a field that doesn't exist in all hits produces - results with the hits missing the field placed at the end of a - ascending sort and the beginning of a descending sort. - """ - ascending_values = [ - ['induced pluripotent'], - ['induced pluripotent'], - ['primary', 'stem cell-derived'], - None, # The last 4 hits don't have any 'cellLines' inner entities - None, # so for purposes of this test we use None to represent - None, # that there is a hit however it has no 'cellLineType'. - None - ] - - def extract_cell_line_types(response_json): - # For each hit yield the 'cellLineType' value or None if not present - for hit in response_json['hits']: - if hit['cellLines']: - yield one(hit['cellLines'])['cellLineType'] - else: - yield None - - for ascending in (True, False): - with self.subTest(ascending=ascending): - params = self._params(size=15, - sort='cellLineType', - order='asc' if ascending else 'desc') - url = self.base_url.set(path='/index/projects', args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - actual_values = list(extract_cell_line_types(response_json)) - expected = ascending_values if ascending else list(reversed(ascending_values)) - self.assertEqual(actual_values, expected) - - def test_multivalued_field_sorting(self): - """ - Test that sorting by a multivalued field responds with hits that are - correctly sorted based on the first value from each multivalued field, - and that each multivalued field itself is sorted low to high regardless - of the search sort - """ - for order, reverse in (('asc', False), ('desc', True)): - with self.subTest(order=order, reverse=reverse): - params = self._params(size=15, sort='laboratory', order=order) - url = self.base_url.set(path='/index/projects', args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - laboratories = [] - for hit in response_json['hits']: - laboratory = one(hit['projects'])['laboratory'] - self.assertEqual(laboratory, sorted(laboratory)) - laboratories.append(laboratory[0]) - self.assertGreater(len(laboratories), 1) - self.assertEqual(laboratories, sorted(laboratories, reverse=reverse)) - - def test_aggregate_date_sort(self): - """ - Verify the search results can be sorted by the entity and aggregate dates. - """ - test_cases = { - 'bundles': { - 'submissionDate': [ - ('2018-10-03T14:41:37.044509Z', 'd0e17014-9a58-4763-9e66-59894efbdaa8'), - ('2018-10-18T20:46:55.866661Z', '411cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-10-18T20:46:55.866661Z', '412cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-11-02T11:33:44.698028Z', 'aaa96233-bf27-44c7-82df-b4dc15ad4d9d'), - ('2018-12-05T23:09:17.591044Z', 'e0ae8cfa-2b51-4419-9cde-34df44c6458a'), - ('2019-02-14T19:24:38.034764Z', 'fa5be5eb-2d64-49f5-8ed8-bd627ac9bc7a'), - ('2019-10-09T17:07:35.528600Z', 'ffac201f-4b1c-4455-bd58-19c1a9e863b4'), - ], - 'updateDate': [ - ('2018-10-03T14:41:37.044509Z', 'd0e17014-9a58-4763-9e66-59894efbdaa8'), - ('2018-10-18T20:46:55.866661Z', '411cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-10-18T20:46:55.866661Z', '412cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-11-02T11:33:44.698028Z', 'aaa96233-bf27-44c7-82df-b4dc15ad4d9d'), - ('2018-12-05T23:09:17.591044Z', 'e0ae8cfa-2b51-4419-9cde-34df44c6458a'), - ('2019-02-14T19:24:38.034764Z', 'fa5be5eb-2d64-49f5-8ed8-bd627ac9bc7a'), - ('2019-10-09T17:07:35.528600Z', 'ffac201f-4b1c-4455-bd58-19c1a9e863b4'), - ], - 'lastModifiedDate': [ - ('2018-10-03T14:41:37.044509Z', 'd0e17014-9a58-4763-9e66-59894efbdaa8'), - ('2018-10-18T20:46:55.866661Z', '411cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-10-18T20:46:55.866661Z', '412cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-11-02T11:33:44.698028Z', 'aaa96233-bf27-44c7-82df-b4dc15ad4d9d'), - ('2018-12-05T23:09:17.591044Z', 'e0ae8cfa-2b51-4419-9cde-34df44c6458a'), - ('2019-02-14T19:24:38.034764Z', 'fa5be5eb-2d64-49f5-8ed8-bd627ac9bc7a'), - ('2019-10-09T17:07:35.528600Z', 'ffac201f-4b1c-4455-bd58-19c1a9e863b4'), - ], - 'aggregateSubmissionDate': [ - ('2018-10-01T14:22:24.370000Z', 'd0e17014-9a58-4763-9e66-59894efbdaa8'), - ('2018-10-11T21:18:01.605000Z', '411cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-10-11T21:18:01.605000Z', '412cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-11-02T10:02:12.133000Z', 'aaa96233-bf27-44c7-82df-b4dc15ad4d9d'), - ('2018-12-04T16:22:45.367000Z', 'e0ae8cfa-2b51-4419-9cde-34df44c6458a'), - ('2019-02-14T18:29:42.531000Z', 'fa5be5eb-2d64-49f5-8ed8-bd627ac9bc7a'), - ('2019-10-09T15:31:09.188000Z', 'ffac201f-4b1c-4455-bd58-19c1a9e863b4'), - ], - 'aggregateUpdateDate': [ - ('2018-10-01T20:13:06.669000Z', 'd0e17014-9a58-4763-9e66-59894efbdaa8'), - ('2018-10-18T20:45:01.366000Z', '411cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-10-18T20:45:01.366000Z', '412cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-11-02T10:35:07.705000Z', 'aaa96233-bf27-44c7-82df-b4dc15ad4d9d'), - ('2019-02-14T19:19:57.464000Z', 'fa5be5eb-2d64-49f5-8ed8-bd627ac9bc7a'), - ('2019-10-09T15:52:49.512000Z', 'ffac201f-4b1c-4455-bd58-19c1a9e863b4'), - (None, 'e0ae8cfa-2b51-4419-9cde-34df44c6458a'), - ], - 'aggregateLastModifiedDate': [ - ('2018-10-01T20:13:06.669000Z', 'd0e17014-9a58-4763-9e66-59894efbdaa8'), - ('2018-10-18T20:45:01.366000Z', '411cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-10-18T20:45:01.366000Z', '412cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-11-02T10:35:07.705000Z', 'aaa96233-bf27-44c7-82df-b4dc15ad4d9d'), - ('2018-12-04T16:22:46.893000Z', 'e0ae8cfa-2b51-4419-9cde-34df44c6458a'), - ('2019-02-14T19:19:57.464000Z', 'fa5be5eb-2d64-49f5-8ed8-bd627ac9bc7a'), - ('2019-10-09T15:52:49.512000Z', 'ffac201f-4b1c-4455-bd58-19c1a9e863b4'), - ], - }, - 'projects': { - 'submissionDate': [ - ('2018-10-01T14:22:24.370000Z', '250aef61-a15b-4d97-b8b4-54bb997c1d7d'), - ('2018-10-11T21:18:01.605000Z', '2c4724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-10-11T21:18:01.605000Z', '2c5724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-11-02T10:02:12.133000Z', 'e8642221-4c2c-4fd7-b926-a68bce363c88'), - ('2018-12-04T16:22:45.367000Z', 'c765e3f9-7cfc-4501-8832-79e5f7abd321'), - ('2019-02-14T18:29:42.531000Z', '627cb0ba-b8a1-405a-b58f-0add82c3d635'), - ('2019-10-09T15:31:09.188000Z', '88ec040b-8705-4f77-8f41-f81e57632f7d'), - ], - 'updateDate': [ - ('2018-10-01T14:34:10.121000Z', '250aef61-a15b-4d97-b8b4-54bb997c1d7d'), - ('2018-10-11T21:18:06.651000Z', '2c4724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-10-11T21:18:06.651000Z', '2c5724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-11-02T10:07:39.499000Z', 'e8642221-4c2c-4fd7-b926-a68bce363c88'), - ('2019-02-14T18:29:48.555000Z', '627cb0ba-b8a1-405a-b58f-0add82c3d635'), - ('2019-10-09T15:32:48.934000Z', '88ec040b-8705-4f77-8f41-f81e57632f7d'), - (None, 'c765e3f9-7cfc-4501-8832-79e5f7abd321'), - ], - 'lastModifiedDate': [ - ('2018-10-01T14:34:10.121000Z', '250aef61-a15b-4d97-b8b4-54bb997c1d7d'), - ('2018-10-11T21:18:06.651000Z', '2c4724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-10-11T21:18:06.651000Z', '2c5724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-11-02T10:07:39.499000Z', 'e8642221-4c2c-4fd7-b926-a68bce363c88'), - ('2018-12-04T16:22:45.367000Z', 'c765e3f9-7cfc-4501-8832-79e5f7abd321'), - ('2019-02-14T18:29:48.555000Z', '627cb0ba-b8a1-405a-b58f-0add82c3d635'), - ('2019-10-09T15:32:48.934000Z', '88ec040b-8705-4f77-8f41-f81e57632f7d'), - ], - 'aggregateSubmissionDate': [ - ('2018-10-01T14:22:24.370000Z', '250aef61-a15b-4d97-b8b4-54bb997c1d7d'), - ('2018-10-11T21:18:01.605000Z', '2c4724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-10-11T21:18:01.605000Z', '2c5724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-11-02T10:02:12.133000Z', 'e8642221-4c2c-4fd7-b926-a68bce363c88'), - ('2018-12-04T16:22:45.367000Z', 'c765e3f9-7cfc-4501-8832-79e5f7abd321'), - ('2019-02-14T18:29:42.531000Z', '627cb0ba-b8a1-405a-b58f-0add82c3d635'), - ('2019-10-09T15:31:09.188000Z', '88ec040b-8705-4f77-8f41-f81e57632f7d'), - ], - 'aggregateUpdateDate': [ - ('2018-10-01T20:13:06.669000Z', '250aef61-a15b-4d97-b8b4-54bb997c1d7d'), - ('2018-10-18T20:45:01.366000Z', '2c4724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-10-18T20:45:01.366000Z', '2c5724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-11-02T10:35:07.705000Z', 'e8642221-4c2c-4fd7-b926-a68bce363c88'), - ('2019-02-14T19:19:57.464000Z', '627cb0ba-b8a1-405a-b58f-0add82c3d635'), - ('2019-10-09T15:52:49.512000Z', '88ec040b-8705-4f77-8f41-f81e57632f7d'), - (None, 'c765e3f9-7cfc-4501-8832-79e5f7abd321'), - ], - 'aggregateLastModifiedDate': [ - ('2018-10-01T20:13:06.669000Z', '250aef61-a15b-4d97-b8b4-54bb997c1d7d'), - ('2018-10-18T20:45:01.366000Z', '2c4724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-10-18T20:45:01.366000Z', '2c5724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-11-02T10:35:07.705000Z', 'e8642221-4c2c-4fd7-b926-a68bce363c88'), - ('2018-12-04T16:22:46.893000Z', 'c765e3f9-7cfc-4501-8832-79e5f7abd321'), - ('2019-02-14T19:19:57.464000Z', '627cb0ba-b8a1-405a-b58f-0add82c3d635'), - ('2019-10-09T15:52:49.512000Z', '88ec040b-8705-4f77-8f41-f81e57632f7d'), - ], - }, - 'samples': { - 'submissionDate': [ - ('2018-10-01T14:22:25.143000Z', '79682426-b813-4f69-8c9c-2764ffac5dc1'), - ('2018-10-11T21:18:02.654000Z', '2d8282f0-6cbb-4d5a-822c-4b01718b4d0d'), - ('2018-10-11T21:18:02.696000Z', 'b7214641-1ac5-4f60-b795-cb33a7c25434'), - ('2018-10-11T21:18:02.732000Z', '308eea51-d14b-4036-8cd1-cfd81d7532c3'), - ('2018-10-11T21:18:02.785000Z', '73f10dad-afc5-4d1d-a71c-4a8b6fff9172'), - ('2018-11-02T10:02:12.298000Z', 'a21dc760-a500-4236-bcff-da34a0e873d2'), - ('2018-12-04T16:22:45.625000Z', '195b2621-ec05-4618-9063-c56048de97d1'), - ('2019-02-14T18:29:42.550000Z', '58c60e15-e07c-4875-ac34-f026d6912f1c'), - ('2019-10-09T15:31:09.237000Z', 'caadf4b5-f5e4-4416-9f04-9c1f902cc601'), - ], - 'updateDate': [ - ('2018-10-01T14:57:17.976000Z', '79682426-b813-4f69-8c9c-2764ffac5dc1'), - ('2018-10-11T21:18:06.725000Z', '73f10dad-afc5-4d1d-a71c-4a8b6fff9172'), - ('2018-10-11T21:18:06.730000Z', '308eea51-d14b-4036-8cd1-cfd81d7532c3'), - ('2018-10-11T21:18:12.763000Z', 'b7214641-1ac5-4f60-b795-cb33a7c25434'), - ('2018-10-11T21:18:12.864000Z', '2d8282f0-6cbb-4d5a-822c-4b01718b4d0d'), - ('2018-11-02T10:09:26.517000Z', 'a21dc760-a500-4236-bcff-da34a0e873d2'), - ('2019-02-14T18:29:49.006000Z', '58c60e15-e07c-4875-ac34-f026d6912f1c'), - ('2019-10-09T15:32:51.765000Z', 'caadf4b5-f5e4-4416-9f04-9c1f902cc601'), - (None, '195b2621-ec05-4618-9063-c56048de97d1'), - ], - 'lastModifiedDate': [ - ('2018-10-01T14:57:17.976000Z', '79682426-b813-4f69-8c9c-2764ffac5dc1'), - ('2018-10-11T21:18:06.725000Z', '73f10dad-afc5-4d1d-a71c-4a8b6fff9172'), - ('2018-10-11T21:18:06.730000Z', '308eea51-d14b-4036-8cd1-cfd81d7532c3'), - ('2018-10-11T21:18:12.763000Z', 'b7214641-1ac5-4f60-b795-cb33a7c25434'), - ('2018-10-11T21:18:12.864000Z', '2d8282f0-6cbb-4d5a-822c-4b01718b4d0d'), - ('2018-11-02T10:09:26.517000Z', 'a21dc760-a500-4236-bcff-da34a0e873d2'), - ('2018-12-04T16:22:45.625000Z', '195b2621-ec05-4618-9063-c56048de97d1'), - ('2019-02-14T18:29:49.006000Z', '58c60e15-e07c-4875-ac34-f026d6912f1c'), - ('2019-10-09T15:32:51.765000Z', 'caadf4b5-f5e4-4416-9f04-9c1f902cc601'), - ], - # samples have no 'aggregate…Date' values - }, - 'files': { - 'submissionDate': [ - ('2018-10-01T14:22:24.380000Z', '665b4341-9950-4e59-a401-e4a097256f1e'), - ('2018-10-01T14:22:24.389000Z', '300ee490-edca-46b1-b23d-c9458ebb9c6e'), - ('2018-10-01T14:22:24.511000Z', '042dce4a-003b-492b-9371-e1897f52d8d9'), - ('2018-10-01T14:22:24.755000Z', '80036f72-7fde-46e9-821b-17dbbe0509bb'), - ('2018-10-11T21:18:01.623000Z', '281c2d08-9e43-47f9-b937-e733e3ba3322'), - ('2018-10-11T21:18:01.642000Z', 'ae1d6fa7-964f-465a-8c78-565206827434'), - ('2018-10-11T21:18:01.654000Z', 'f518a8cc-e1d9-4fc9-bc32-491dd8543902'), - ('2018-10-11T21:18:01.964000Z', '213381ea-6161-4159-853e-cfcae4968001'), - ('2018-10-11T21:18:01.979000Z', '9ee3da9e-83ca-4c02-84d6-ac09702b12ba'), - ('2018-10-11T21:18:01.990000Z', '330a08ca-ae8e-4f1f-aa03-970abcd27f39'), - ('2018-10-18T20:32:25.801000Z', 'cf93f747-1392-4670-8eb3-3ac60a96855e'), - ('2018-10-18T20:32:25.877000Z', '477c0b3e-4a06-4214-8f27-58199ba63528'), - ('2018-10-18T20:32:25.951000Z', 'ad6d5170-d74b-408c-af6b-25a14315c9da'), - ('2018-10-18T20:32:26.026000Z', '50be9b67-fae5-4472-9719-478dd1303d6e'), - ('2018-10-18T20:32:26.097000Z', 'fd16b62e-e540-4f03-8ba0-07d0c204e3c8'), - ('2018-10-18T20:32:26.174000Z', '3c41b5b6-f480-4d47-8c5e-155e7c1adf54'), - ('2018-10-18T20:32:26.243000Z', '022a217c-384d-4d9d-8631-6397b6838e3a'), - ('2018-10-18T20:32:26.313000Z', '9b778e46-0c51-4260-8e3f-000ecc145f0a'), - ('2018-10-18T20:32:26.383000Z', 'af025a74-53f1-4972-b50d-53095b5ffac2'), - ('2018-10-18T20:32:26.453000Z', 'e8395271-7c8e-4ec4-9598-495df43fe5fd'), - ('2018-10-18T20:32:26.528000Z', '211a8fbf-b190-4576-ac2f-2b1a91743abb'), - ('2018-10-18T20:32:26.603000Z', '17222e3a-5757-45e9-9dfe-c4b6aa10f28a'), - ('2018-10-18T20:32:26.681000Z', '2fb8a975-b50c-4528-b850-838a19e19a1e'), - ('2018-11-02T10:03:39.593000Z', '70d1af4a-82c8-478a-8960-e9028b3616ca'), - ('2018-11-02T10:03:39.600000Z', '0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb'), - ('2018-12-04T16:22:46.380000Z', '12b25cbd-8cfa-4f0e-818f-d6ba3e823af4'), - ('2018-12-04T16:22:46.388000Z', '65d3d936-ae9d-4a18-a8c7-73ce6132355e'), - ('2019-02-14T18:29:42.574000Z', '7df5d656-43cb-49f9-b81d-86cca3c44a65'), - ('2019-02-14T18:29:42.587000Z', 'acd7d986-73ab-4d0b-9ead-377f3a2d646d'), - ('2019-02-14T18:29:42.597000Z', 'f9a78d6a-7c80-4c45-bedf-4bc152dc172d'), - ('2019-02-14T19:15:11.524000Z', 'bd1307b9-70b5-49e4-8e02-9d4ca0d64747'), - ('2019-02-14T19:15:11.667000Z', 'cf3453a3-68fb-4156-bc3e-0f08f7e6512c'), - ('2019-02-14T19:15:11.818000Z', '234b0359-3853-4df4-898f-5182f698d48b'), - ('2019-02-14T19:15:11.972000Z', 'd95392c5-1958-4825-9076-2a9c130c53f3'), - ('2019-02-14T19:15:12.117000Z', 'b9609367-7006-4055-8815-1bad881a1502'), - ('2019-02-14T19:15:12.259000Z', 'ebb2ec91-2cd0-4ec4-ba2b-5a6d6630bc5a'), - ('2019-02-14T19:15:12.404000Z', '1ab612ca-2a5a-4443-8004-bb5f0f784c67'), - ('2019-02-14T19:15:12.551000Z', '34c64244-d3ed-4841-84b7-aa4cbb9d794b'), - ('2019-02-14T19:15:12.703000Z', '71710439-3864-4fc6-bc48-ca2ac90f7ccf'), - ('2019-02-14T19:15:12.844000Z', '2ab5242e-f118-48e3-afe5-c2287fa2e2b1'), - ('2019-02-14T19:15:12.989000Z', '6da39577-256d-43fd-97c4-a3bedaa54273'), - ('2019-02-14T19:15:13.138000Z', '86a93e19-eb89-4c27-8b64-006f96bb2c83'), - ('2019-02-14T19:15:13.280000Z', '0f858ddb-6d93-404e-95fd-0c200921dd40'), - ('2019-10-09T15:31:58.607000Z', '4015da8b-18d8-4f3c-b2b0-54f0b77ae80a'), - ('2019-10-09T15:31:58.617000Z', 'fa17159e-52ec-4a88-80cf-a3be5e2e9988'), - ], - 'updateDate': [ - ('2018-10-01T15:40:51.754000Z', '80036f72-7fde-46e9-821b-17dbbe0509bb'), - ('2018-10-01T15:42:33.208000Z', '042dce4a-003b-492b-9371-e1897f52d8d9'), - ('2018-10-01T16:09:56.972000Z', '300ee490-edca-46b1-b23d-c9458ebb9c6e'), - ('2018-10-01T16:09:57.110000Z', '665b4341-9950-4e59-a401-e4a097256f1e'), - ('2018-10-18T20:32:16.894000Z', '213381ea-6161-4159-853e-cfcae4968001'), - ('2018-10-18T20:32:18.864000Z', '9ee3da9e-83ca-4c02-84d6-ac09702b12ba'), - ('2018-10-18T20:32:20.845000Z', '330a08ca-ae8e-4f1f-aa03-970abcd27f39'), - ('2018-10-18T20:37:28.333000Z', 'fd16b62e-e540-4f03-8ba0-07d0c204e3c8'), - ('2018-10-18T20:39:10.339000Z', '9b778e46-0c51-4260-8e3f-000ecc145f0a'), - ('2018-10-18T20:39:13.335000Z', 'cf93f747-1392-4670-8eb3-3ac60a96855e'), - ('2018-10-18T20:39:16.337000Z', '477c0b3e-4a06-4214-8f27-58199ba63528'), - ('2018-10-18T20:39:22.340000Z', '50be9b67-fae5-4472-9719-478dd1303d6e'), - ('2018-10-18T20:39:25.337000Z', 'ad6d5170-d74b-408c-af6b-25a14315c9da'), - ('2018-10-18T20:39:40.335000Z', 'af025a74-53f1-4972-b50d-53095b5ffac2'), - ('2018-10-18T20:39:55.336000Z', 'e8395271-7c8e-4ec4-9598-495df43fe5fd'), - ('2018-10-18T20:39:58.363000Z', '17222e3a-5757-45e9-9dfe-c4b6aa10f28a'), - ('2018-10-18T20:39:58.363000Z', '211a8fbf-b190-4576-ac2f-2b1a91743abb'), - ('2018-10-18T20:40:01.344000Z', '3c41b5b6-f480-4d47-8c5e-155e7c1adf54'), - ('2018-10-18T20:40:13.334000Z', '2fb8a975-b50c-4528-b850-838a19e19a1e'), - ('2018-10-18T20:40:54.699000Z', '281c2d08-9e43-47f9-b937-e733e3ba3322'), - ('2018-10-18T20:40:55.940000Z', 'ae1d6fa7-964f-465a-8c78-565206827434'), - ('2018-10-18T20:40:57.146000Z', 'f518a8cc-e1d9-4fc9-bc32-491dd8543902'), - ('2018-10-18T20:45:01.366000Z', '022a217c-384d-4d9d-8631-6397b6838e3a'), - ('2018-11-02T10:35:03.810000Z', '70d1af4a-82c8-478a-8960-e9028b3616ca'), - ('2018-11-02T10:35:07.705000Z', '0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb'), - ('2019-02-14T18:31:45.892000Z', '7df5d656-43cb-49f9-b81d-86cca3c44a65'), - ('2019-02-14T18:31:46.472000Z', 'f9a78d6a-7c80-4c45-bedf-4bc152dc172d'), - ('2019-02-14T18:32:02.053000Z', 'acd7d986-73ab-4d0b-9ead-377f3a2d646d'), - ('2019-02-14T19:19:33.461000Z', 'b9609367-7006-4055-8815-1bad881a1502'), - ('2019-02-14T19:19:36.460000Z', '1ab612ca-2a5a-4443-8004-bb5f0f784c67'), - ('2019-02-14T19:19:39.469000Z', 'bd1307b9-70b5-49e4-8e02-9d4ca0d64747'), - ('2019-02-14T19:19:39.470000Z', '34c64244-d3ed-4841-84b7-aa4cbb9d794b'), - ('2019-02-14T19:19:42.465000Z', '234b0359-3853-4df4-898f-5182f698d48b'), - ('2019-02-14T19:19:42.465000Z', 'cf3453a3-68fb-4156-bc3e-0f08f7e6512c'), - ('2019-02-14T19:19:45.468000Z', '71710439-3864-4fc6-bc48-ca2ac90f7ccf'), - ('2019-02-14T19:19:45.468000Z', 'd95392c5-1958-4825-9076-2a9c130c53f3'), - ('2019-02-14T19:19:48.464000Z', 'ebb2ec91-2cd0-4ec4-ba2b-5a6d6630bc5a'), - ('2019-02-14T19:19:51.465000Z', '2ab5242e-f118-48e3-afe5-c2287fa2e2b1'), - ('2019-02-14T19:19:54.466000Z', '6da39577-256d-43fd-97c4-a3bedaa54273'), - ('2019-02-14T19:19:54.466000Z', '86a93e19-eb89-4c27-8b64-006f96bb2c83'), - ('2019-02-14T19:19:57.464000Z', '0f858ddb-6d93-404e-95fd-0c200921dd40'), - ('2019-10-09T15:52:46.609000Z', '4015da8b-18d8-4f3c-b2b0-54f0b77ae80a'), - ('2019-10-09T15:52:49.512000Z', 'fa17159e-52ec-4a88-80cf-a3be5e2e9988'), - (None, '12b25cbd-8cfa-4f0e-818f-d6ba3e823af4'), - (None, '65d3d936-ae9d-4a18-a8c7-73ce6132355e'), - ], - 'lastModifiedDate': [ - ('2018-10-01T15:40:51.754000Z', '80036f72-7fde-46e9-821b-17dbbe0509bb'), - ('2018-10-01T15:42:33.208000Z', '042dce4a-003b-492b-9371-e1897f52d8d9'), - ('2018-10-01T16:09:56.972000Z', '300ee490-edca-46b1-b23d-c9458ebb9c6e'), - ('2018-10-01T16:09:57.110000Z', '665b4341-9950-4e59-a401-e4a097256f1e'), - ('2018-10-18T20:32:16.894000Z', '213381ea-6161-4159-853e-cfcae4968001'), - ('2018-10-18T20:32:18.864000Z', '9ee3da9e-83ca-4c02-84d6-ac09702b12ba'), - ('2018-10-18T20:32:20.845000Z', '330a08ca-ae8e-4f1f-aa03-970abcd27f39'), - ('2018-10-18T20:37:28.333000Z', 'fd16b62e-e540-4f03-8ba0-07d0c204e3c8'), - ('2018-10-18T20:39:10.339000Z', '9b778e46-0c51-4260-8e3f-000ecc145f0a'), - ('2018-10-18T20:39:13.335000Z', 'cf93f747-1392-4670-8eb3-3ac60a96855e'), - ('2018-10-18T20:39:16.337000Z', '477c0b3e-4a06-4214-8f27-58199ba63528'), - ('2018-10-18T20:39:22.340000Z', '50be9b67-fae5-4472-9719-478dd1303d6e'), - ('2018-10-18T20:39:25.337000Z', 'ad6d5170-d74b-408c-af6b-25a14315c9da'), - ('2018-10-18T20:39:40.335000Z', 'af025a74-53f1-4972-b50d-53095b5ffac2'), - ('2018-10-18T20:39:55.336000Z', 'e8395271-7c8e-4ec4-9598-495df43fe5fd'), - ('2018-10-18T20:39:58.363000Z', '17222e3a-5757-45e9-9dfe-c4b6aa10f28a'), - ('2018-10-18T20:39:58.363000Z', '211a8fbf-b190-4576-ac2f-2b1a91743abb'), - ('2018-10-18T20:40:01.344000Z', '3c41b5b6-f480-4d47-8c5e-155e7c1adf54'), - ('2018-10-18T20:40:13.334000Z', '2fb8a975-b50c-4528-b850-838a19e19a1e'), - ('2018-10-18T20:40:54.699000Z', '281c2d08-9e43-47f9-b937-e733e3ba3322'), - ('2018-10-18T20:40:55.940000Z', 'ae1d6fa7-964f-465a-8c78-565206827434'), - ('2018-10-18T20:40:57.146000Z', 'f518a8cc-e1d9-4fc9-bc32-491dd8543902'), - ('2018-10-18T20:45:01.366000Z', '022a217c-384d-4d9d-8631-6397b6838e3a'), - ('2018-11-02T10:35:03.810000Z', '70d1af4a-82c8-478a-8960-e9028b3616ca'), - ('2018-11-02T10:35:07.705000Z', '0c5ac7c0-817e-40d4-b1b1-34c3d5cfecdb'), - ('2018-12-04T16:22:46.380000Z', '12b25cbd-8cfa-4f0e-818f-d6ba3e823af4'), - ('2018-12-04T16:22:46.388000Z', '65d3d936-ae9d-4a18-a8c7-73ce6132355e'), - ('2019-02-14T18:31:45.892000Z', '7df5d656-43cb-49f9-b81d-86cca3c44a65'), - ('2019-02-14T18:31:46.472000Z', 'f9a78d6a-7c80-4c45-bedf-4bc152dc172d'), - ('2019-02-14T18:32:02.053000Z', 'acd7d986-73ab-4d0b-9ead-377f3a2d646d'), - ('2019-02-14T19:19:33.461000Z', 'b9609367-7006-4055-8815-1bad881a1502'), - ('2019-02-14T19:19:36.460000Z', '1ab612ca-2a5a-4443-8004-bb5f0f784c67'), - ('2019-02-14T19:19:39.469000Z', 'bd1307b9-70b5-49e4-8e02-9d4ca0d64747'), - ('2019-02-14T19:19:39.470000Z', '34c64244-d3ed-4841-84b7-aa4cbb9d794b'), - ('2019-02-14T19:19:42.465000Z', '234b0359-3853-4df4-898f-5182f698d48b'), - ('2019-02-14T19:19:42.465000Z', 'cf3453a3-68fb-4156-bc3e-0f08f7e6512c'), - ('2019-02-14T19:19:45.468000Z', '71710439-3864-4fc6-bc48-ca2ac90f7ccf'), - ('2019-02-14T19:19:45.468000Z', 'd95392c5-1958-4825-9076-2a9c130c53f3'), - ('2019-02-14T19:19:48.464000Z', 'ebb2ec91-2cd0-4ec4-ba2b-5a6d6630bc5a'), - ('2019-02-14T19:19:51.465000Z', '2ab5242e-f118-48e3-afe5-c2287fa2e2b1'), - ('2019-02-14T19:19:54.466000Z', '6da39577-256d-43fd-97c4-a3bedaa54273'), - ('2019-02-14T19:19:54.466000Z', '86a93e19-eb89-4c27-8b64-006f96bb2c83'), - ('2019-02-14T19:19:57.464000Z', '0f858ddb-6d93-404e-95fd-0c200921dd40'), - ('2019-10-09T15:52:46.609000Z', '4015da8b-18d8-4f3c-b2b0-54f0b77ae80a'), - ('2019-10-09T15:52:49.512000Z', 'fa17159e-52ec-4a88-80cf-a3be5e2e9988'), - ], - # files have no 'aggregate…Date' values - }, - } - for entity_type, fields in test_cases.items(): - for field, direction in product(fields, ['asc', 'desc']): - with self.subTest(entity_type=entity_type, field=field, direction=direction): - expected = fields[field] - if direction == 'asc': - self.assertEqual(expected, - sorted(expected, key=lambda x: (x[0] is None, x[0]))) - params = self._params(size=50, sort=field, order=direction) - url = self.base_url.set(path=('index', entity_type), args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - actual = [ - (dates[field], hit['entryId']) - for hit in response_json['hits'] - for dates in hit['dates'] - ] - expected = fields[field] if direction == 'asc' else fields[field][::-1] - self.assertEqual(expected, actual) - - def test_aggregate_date_filter(self): - """ - Verify the search results can be filtered by the entity and aggregate dates. - """ - test_cases = { - 'bundles': { - 'submissionDate': [ - ('2018-10-03T14:41:37.044509Z', 'd0e17014-9a58-4763-9e66-59894efbdaa8'), - ('2018-10-18T20:46:55.866661Z', '411cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-10-18T20:46:55.866661Z', '412cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ], - 'updateDate': [ - ('2018-10-03T14:41:37.044509Z', 'd0e17014-9a58-4763-9e66-59894efbdaa8'), - ('2018-10-18T20:46:55.866661Z', '411cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-10-18T20:46:55.866661Z', '412cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ], - 'lastModifiedDate': [ - ('2018-10-03T14:41:37.044509Z', 'd0e17014-9a58-4763-9e66-59894efbdaa8'), - ('2018-10-18T20:46:55.866661Z', '411cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-10-18T20:46:55.866661Z', '412cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ], - 'aggregateSubmissionDate': [ - ('2018-10-01T14:22:24.370000Z', 'd0e17014-9a58-4763-9e66-59894efbdaa8'), - ('2018-10-11T21:18:01.605000Z', '411cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-10-11T21:18:01.605000Z', '412cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ], - 'aggregateUpdateDate': [ - ('2018-10-01T20:13:06.669000Z', 'd0e17014-9a58-4763-9e66-59894efbdaa8'), - ('2018-10-18T20:45:01.366000Z', '411cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-10-18T20:45:01.366000Z', '412cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ], - 'aggregateLastModifiedDate': [ - ('2018-10-01T20:13:06.669000Z', 'd0e17014-9a58-4763-9e66-59894efbdaa8'), - ('2018-10-18T20:45:01.366000Z', '411cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ('2018-10-18T20:45:01.366000Z', '412cd8d5-5990-43cd-84cc-6c7796b8a76d'), - ] - }, - 'projects': { - 'submissionDate': [ - ('2018-10-01T14:22:24.370000Z', '250aef61-a15b-4d97-b8b4-54bb997c1d7d'), - ('2018-10-11T21:18:01.605000Z', '2c4724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-10-11T21:18:01.605000Z', '2c5724a4-7252-409e-b008-ff5c127c7e89'), - ], - 'updateDate': [ - ('2018-10-01T14:34:10.121000Z', '250aef61-a15b-4d97-b8b4-54bb997c1d7d'), - ('2018-10-11T21:18:06.651000Z', '2c4724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-10-11T21:18:06.651000Z', '2c5724a4-7252-409e-b008-ff5c127c7e89'), - ], - 'lastModifiedDate': [ - ('2018-10-01T14:34:10.121000Z', '250aef61-a15b-4d97-b8b4-54bb997c1d7d'), - ('2018-10-11T21:18:06.651000Z', '2c4724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-10-11T21:18:06.651000Z', '2c5724a4-7252-409e-b008-ff5c127c7e89'), - ], - 'aggregateSubmissionDate': [ - ('2018-10-01T14:22:24.370000Z', '250aef61-a15b-4d97-b8b4-54bb997c1d7d'), - ('2018-10-11T21:18:01.605000Z', '2c4724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-10-11T21:18:01.605000Z', '2c5724a4-7252-409e-b008-ff5c127c7e89'), - ], - 'aggregateUpdateDate': [ - ('2018-10-01T20:13:06.669000Z', '250aef61-a15b-4d97-b8b4-54bb997c1d7d'), - ('2018-10-18T20:45:01.366000Z', '2c4724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-10-18T20:45:01.366000Z', '2c5724a4-7252-409e-b008-ff5c127c7e89'), - ], - 'aggregateLastModifiedDate': [ - ('2018-10-01T20:13:06.669000Z', '250aef61-a15b-4d97-b8b4-54bb997c1d7d'), - ('2018-10-18T20:45:01.366000Z', '2c4724a4-7252-409e-b008-ff5c127c7e89'), - ('2018-10-18T20:45:01.366000Z', '2c5724a4-7252-409e-b008-ff5c127c7e89'), - ] - }, - 'samples': { - 'submissionDate': [ - ('2018-10-01T14:22:25.143000Z', '79682426-b813-4f69-8c9c-2764ffac5dc1'), - ('2018-10-11T21:18:02.654000Z', '2d8282f0-6cbb-4d5a-822c-4b01718b4d0d'), - ('2018-10-11T21:18:02.696000Z', 'b7214641-1ac5-4f60-b795-cb33a7c25434'), - ('2018-10-11T21:18:02.732000Z', '308eea51-d14b-4036-8cd1-cfd81d7532c3'), - ('2018-10-11T21:18:02.785000Z', '73f10dad-afc5-4d1d-a71c-4a8b6fff9172'), - ], - 'updateDate': [ - ('2018-10-01T14:57:17.976000Z', '79682426-b813-4f69-8c9c-2764ffac5dc1'), - ('2018-10-11T21:18:06.725000Z', '73f10dad-afc5-4d1d-a71c-4a8b6fff9172'), - ('2018-10-11T21:18:06.730000Z', '308eea51-d14b-4036-8cd1-cfd81d7532c3'), - ('2018-10-11T21:18:12.763000Z', 'b7214641-1ac5-4f60-b795-cb33a7c25434'), - ('2018-10-11T21:18:12.864000Z', '2d8282f0-6cbb-4d5a-822c-4b01718b4d0d'), - ], - 'lastModifiedDate': [ - ('2018-10-01T14:57:17.976000Z', '79682426-b813-4f69-8c9c-2764ffac5dc1'), - ('2018-10-11T21:18:06.725000Z', '73f10dad-afc5-4d1d-a71c-4a8b6fff9172'), - ('2018-10-11T21:18:06.730000Z', '308eea51-d14b-4036-8cd1-cfd81d7532c3'), - ('2018-10-11T21:18:12.763000Z', 'b7214641-1ac5-4f60-b795-cb33a7c25434'), - ('2018-10-11T21:18:12.864000Z', '2d8282f0-6cbb-4d5a-822c-4b01718b4d0d'), - ], - # samples have no 'aggregate…Date' values - }, - 'files': { - 'submissionDate': [ - ('2018-10-01T14:22:24.380000Z', '665b4341-9950-4e59-a401-e4a097256f1e'), - ('2018-10-01T14:22:24.389000Z', '300ee490-edca-46b1-b23d-c9458ebb9c6e'), - ('2018-10-01T14:22:24.511000Z', '042dce4a-003b-492b-9371-e1897f52d8d9'), - ('2018-10-01T14:22:24.755000Z', '80036f72-7fde-46e9-821b-17dbbe0509bb'), - ('2018-10-11T21:18:01.623000Z', '281c2d08-9e43-47f9-b937-e733e3ba3322'), - ('2018-10-11T21:18:01.642000Z', 'ae1d6fa7-964f-465a-8c78-565206827434'), - ('2018-10-11T21:18:01.654000Z', 'f518a8cc-e1d9-4fc9-bc32-491dd8543902'), - ('2018-10-11T21:18:01.964000Z', '213381ea-6161-4159-853e-cfcae4968001'), - ('2018-10-11T21:18:01.979000Z', '9ee3da9e-83ca-4c02-84d6-ac09702b12ba'), - ('2018-10-11T21:18:01.990000Z', '330a08ca-ae8e-4f1f-aa03-970abcd27f39'), - ('2018-10-18T20:32:25.801000Z', 'cf93f747-1392-4670-8eb3-3ac60a96855e'), - ('2018-10-18T20:32:25.877000Z', '477c0b3e-4a06-4214-8f27-58199ba63528'), - ('2018-10-18T20:32:25.951000Z', 'ad6d5170-d74b-408c-af6b-25a14315c9da'), - ('2018-10-18T20:32:26.026000Z', '50be9b67-fae5-4472-9719-478dd1303d6e'), - ('2018-10-18T20:32:26.097000Z', 'fd16b62e-e540-4f03-8ba0-07d0c204e3c8') - ], - 'updateDate': [ - ('2018-10-01T15:40:51.754000Z', '80036f72-7fde-46e9-821b-17dbbe0509bb'), - ('2018-10-01T15:42:33.208000Z', '042dce4a-003b-492b-9371-e1897f52d8d9'), - ('2018-10-01T16:09:56.972000Z', '300ee490-edca-46b1-b23d-c9458ebb9c6e'), - ('2018-10-01T16:09:57.110000Z', '665b4341-9950-4e59-a401-e4a097256f1e'), - ('2018-10-18T20:32:16.894000Z', '213381ea-6161-4159-853e-cfcae4968001'), - ('2018-10-18T20:32:18.864000Z', '9ee3da9e-83ca-4c02-84d6-ac09702b12ba'), - ('2018-10-18T20:32:20.845000Z', '330a08ca-ae8e-4f1f-aa03-970abcd27f39'), - ('2018-10-18T20:37:28.333000Z', 'fd16b62e-e540-4f03-8ba0-07d0c204e3c8'), - ('2018-10-18T20:39:10.339000Z', '9b778e46-0c51-4260-8e3f-000ecc145f0a'), - ('2018-10-18T20:39:13.335000Z', 'cf93f747-1392-4670-8eb3-3ac60a96855e'), - ('2018-10-18T20:39:16.337000Z', '477c0b3e-4a06-4214-8f27-58199ba63528'), - ('2018-10-18T20:39:22.340000Z', '50be9b67-fae5-4472-9719-478dd1303d6e'), - ('2018-10-18T20:39:25.337000Z', 'ad6d5170-d74b-408c-af6b-25a14315c9da'), - ('2018-10-18T20:39:40.335000Z', 'af025a74-53f1-4972-b50d-53095b5ffac2'), - ('2018-10-18T20:39:55.336000Z', 'e8395271-7c8e-4ec4-9598-495df43fe5fd') - ], - 'lastModifiedDate': [ - ('2018-10-01T15:40:51.754000Z', '80036f72-7fde-46e9-821b-17dbbe0509bb'), - ('2018-10-01T15:42:33.208000Z', '042dce4a-003b-492b-9371-e1897f52d8d9'), - ('2018-10-01T16:09:56.972000Z', '300ee490-edca-46b1-b23d-c9458ebb9c6e'), - ('2018-10-01T16:09:57.110000Z', '665b4341-9950-4e59-a401-e4a097256f1e'), - ('2018-10-18T20:32:16.894000Z', '213381ea-6161-4159-853e-cfcae4968001'), - ('2018-10-18T20:32:18.864000Z', '9ee3da9e-83ca-4c02-84d6-ac09702b12ba'), - ('2018-10-18T20:32:20.845000Z', '330a08ca-ae8e-4f1f-aa03-970abcd27f39'), - ('2018-10-18T20:37:28.333000Z', 'fd16b62e-e540-4f03-8ba0-07d0c204e3c8'), - ('2018-10-18T20:39:10.339000Z', '9b778e46-0c51-4260-8e3f-000ecc145f0a'), - ('2018-10-18T20:39:13.335000Z', 'cf93f747-1392-4670-8eb3-3ac60a96855e'), - ('2018-10-18T20:39:16.337000Z', '477c0b3e-4a06-4214-8f27-58199ba63528'), - ('2018-10-18T20:39:22.340000Z', '50be9b67-fae5-4472-9719-478dd1303d6e'), - ('2018-10-18T20:39:25.337000Z', 'ad6d5170-d74b-408c-af6b-25a14315c9da'), - ('2018-10-18T20:39:40.335000Z', 'af025a74-53f1-4972-b50d-53095b5ffac2'), - ('2018-10-18T20:39:55.336000Z', 'e8395271-7c8e-4ec4-9598-495df43fe5fd') - ], - # files have no 'aggregate…Date' values - }, - } - for entity_type, fields in test_cases.items(): - for field, expected in fields.items(): - with self.subTest(entity_type=entity_type, field=field): - filters = { - field: { - 'within': [ - [ - '2018-10-01T00:00:00.000000Z', - '2018-11-01T00:00:00.000000Z' - ] - ] - } - } - params = self._params(filters=filters, size=15, sort=field, order='asc') - url = self.base_url.set(path=('index', entity_type), args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - actual = [ - (dates[field], hit['entryId']) - for hit in response_json['hits'] - for dates in hit['dates'] - ] - self.assertEqual(expected, actual) - - def test_contributors_order(self): - # Test that indexing preserves the order of project contributors - expected = [ - 'eyald.david@weizmann.ac.il', - 'guy.ledergor@weizmann.ac.il', - 'assaf.weiner@weizmann.ac.il', - 'ido.amit@weizmann.ac.il', - 'hewgreen@ebi.ac.uk' - ] - project_id = '250aef61-a15b-4d97-b8b4-54bb997c1d7d' - bundle_uuid = 'd0e17014-9a58-4763-9e66-59894efbdaa8' - - # First assert the order of the contributors in the indexed bundle - bundle = self.indexed_bundles[bundle_uuid] - assert isinstance(bundle, HCABundle) - project = bundle.metadata['project/250aef61-a15b-4d97-b8b4-54bb997c1d7d'] - self.assertEqual(project_id, project['provenance']['document_id']) - actual = [c['email'] for c in project['contributors']] - self.assertEqual(expected, actual) - - # Next assert the order of contributors in the service response - url = self.base_url.set(path=('index', 'projects', project_id)) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - project = one(response_json['projects']) - actual = [r['email'] for r in project['contributors']] - self.assertEqual(expected, actual) - - def test_disease_facet(self): - """ - Verify the values of the different types of disease facets - """ - test_data = { - # disease specified in donor, specimen, and sample (the specimen) - '627cb0ba-b8a1-405a-b58f-0add82c3d635': { - 'sampleDisease': [{'term': 'H syndrome', 'count': 1}], - 'donorDisease': [{'term': 'H syndrome', 'count': 1}], - 'specimenDisease': [{'term': 'H syndrome', 'count': 1}], - }, - # disease specified in donor only - '250aef61-a15b-4d97-b8b4-54bb997c1d7d': { - 'sampleDisease': [{'term': None, 'count': 1}], - 'donorDisease': [{'term': 'isolated hip osteoarthritis', 'count': 1}], - 'specimenDisease': [{'term': None, 'count': 1}], - }, - # disease specified in donor and specimen, not in sample (the cell line) - 'c765e3f9-7cfc-4501-8832-79e5f7abd321': { - 'sampleDisease': [{'term': None, 'count': 1}], - 'donorDisease': [{'term': 'normal', 'count': 1}], - 'specimenDisease': [{'term': 'normal', 'count': 1}] - } - } - self._assert_term_facets(test_data, - str(self.base_url.set(path='/index/projects'))) - - def test_contentDescription_facet(self): - url = self.base_url.set(path='/index/projects') - test_data = { - '88ec040b-8705-4f77-8f41-f81e57632f7d': { - 'contentDescription': [{'term': 'RNA sequence', 'count': 1}] - } - } - self._assert_term_facets(test_data, str(url)) - - def _assert_term_facets(self, project_term_facets: JSON, url: str) -> None: - for project_id, term_facets in project_term_facets.items(): - with self.subTest(project_id=project_id): - params = self._params(filters={'projectId': {'is': [project_id]}}) - response = requests.get(url, params=params) - response.raise_for_status() - response_json = response.json() - actual_term_facets = response_json['termFacets'] - for facet, terms in term_facets.items(): - self.assertEqual(actual_term_facets[facet]['terms'], terms) - - def test_organism_age_facet(self): - """ - Verify the terms of the organism age facet - """ - test_data = { - # This project has one donor organism - '627cb0ba-b8a1-405a-b58f-0add82c3d635': { - 'organismAge': [ - { - 'term': { - 'value': '20', - 'unit': 'year' - }, - 'count': 1 - } - ], - }, - # This project has multiple donor organisms - '2c4724a4-7252-409e-b008-ff5c127c7e89': { - 'organismAge': [ - { - 'term': { - 'value': '40-44', - 'unit': 'year' - }, - 'count': 1 - }, - { - 'term': { - 'value': '55-59', - 'unit': 'year' - }, - 'count': 1 - } - ], - }, - # This project has one donor but donor has no age - 'c765e3f9-7cfc-4501-8832-79e5f7abd321': { - 'organismAge': [ - { - 'term': None, - 'count': 1 - } - ], - } - } - self._assert_term_facets(test_data, - str(self.base_url.set(path='/index/projects'))) - - def test_organism_age_facet_search(self): - """ - Verify filtering by organism age - """ - test_cases = [ - ( - '627cb0ba-b8a1-405a-b58f-0add82c3d635', - { - 'is': [ - { - 'value': '20', - 'unit': 'year' - } - ] - } - ), - ( - 'c765e3f9-7cfc-4501-8832-79e5f7abd321', - { - 'is': [ - None - ] - } - ), - ( - None, - { - 'is': [ - {} - ] - } - ), - ( - None, - { - 'is': [ - { - 'value': None, - 'unit': 'weeks' - } - ] - } - ) - ] - for project_id, filters in test_cases: - with self.subTest(filters=filters): - url = self.base_url.set(path='/index/projects', - args=dict(catalog=self.catalog, - filters=json.dumps({'organismAge': filters}))) - response = requests.get(str(url)) - if project_id is None: - self.assertTrue(response.status_code, 400) - else: - response.raise_for_status() - response = response.json() - hit = one(response['hits']) - self.assertEqual(hit['entryId'], project_id) - donor_organism = one(hit['donorOrganisms']) - age = one(one(filters.values())) - self.assertEqual(donor_organism['organismAge'], - [None if age is None else age]) - - def test_pagination_search_after_search_before(self): - """ - Test search_after and search_before values when using sorting on a field - containing None values - """ - params = self._params(size=3, sort='workflow', order='asc') - url = self.base_url.set(path='/index/samples', args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - first_page_next = parse_url_qs(response_json['pagination']['next']) - - expected_entry_ids = [ - '58c60e15-e07c-4875-ac34-f026d6912f1c', - '195b2621-ec05-4618-9063-c56048de97d1', - '2d8282f0-6cbb-4d5a-822c-4b01718b4d0d', - ] - self.assertEqual(expected_entry_ids, [h['entryId'] for h in response_json['hits']]) - - # NOTE: The sort field `workflow` is an `analysis_protocol` field and - # does not exist in all bundles. This is why the `search_after` field - # has the value `null` (JSON representation of `None`) because the last - # row in this page of results does not have an `analysis_protocol` or - # `workflow` field. If the last row did have a `workflow` field with a - # value `None`, `search_after` would be a translated `None` (`"~null"`) - self.assertIsNotNone(response_json['pagination']['next']) - self.assertIsNone(response_json['pagination']['previous']) - self.assertEqual([None, '2d8282f0-6cbb-4d5a-822c-4b01718b4d0d'], - json.loads(first_page_next['search_after'])) - - response = requests.get(response_json['pagination']['next']) - response.raise_for_status() - response_json = response.json() - second_page_next = parse_url_qs(response_json['pagination']['next']) - second_page_previous = parse_url_qs(response_json['pagination']['previous']) - - expected_entry_ids = [ - '308eea51-d14b-4036-8cd1-cfd81d7532c3', - '73f10dad-afc5-4d1d-a71c-4a8b6fff9172', - '79682426-b813-4f69-8c9c-2764ffac5dc1', - ] - self.assertEqual(expected_entry_ids, [h['entryId'] for h in response_json['hits']]) - - self.assertEqual([None, '79682426-b813-4f69-8c9c-2764ffac5dc1'], - json.loads(second_page_next['search_after'])) - self.assertEqual([None, '308eea51-d14b-4036-8cd1-cfd81d7532c3'], - json.loads(second_page_previous['search_before'])) - - def test_bad_search_after_search_before(self): - """ - Test that invalid JSON for search_after or search_before raise a 400 - """ - query_params = self._params(size=1, sort='sampleId', order='asc') - url = self.base_url.set(path='/index/samples', args=query_params) - # Get page 1 - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - # Get page 2 - response = requests.get(response_json['pagination']['next']) - response.raise_for_status() - response_json = response.json() - test_cases = { - 'search_before': response_json['pagination']['previous'], - 'search_after': response_json['pagination']['next'] - } - for pagination_key, good_url in test_cases.items(): - with self.subTest(pagination_key=pagination_key): - # Verify URL works before modifying - response = requests.get(good_url) - response.raise_for_status() - # Modify search_… param in URL and verify expected error occurs - bad_url = furl(good_url) - self.assertIn('"', bad_url.args[pagination_key]) - bad_url.args[pagination_key] = bad_url.args[pagination_key].replace('"', '') - response = requests.get(str(bad_url)) - error_msg = f'The {pagination_key!r} parameter is not valid JSON' - expected_text = f'{{"Code":"BadRequestError","Message":"{error_msg}"}}' - self.assertEqual(400, response.status_code) - self.assertEqual(expected_text, response.text) - - def test_filter_by_publication_title(self): - cases = [ - ( - 'Systematic comparative analysis of single cell RNA-sequencing methods', - { - 'a8b8479d-cfa9-4f74-909f-49552439e698', - '7338932d-edc9-49a9-8dbf-e459a465800f' - } - - ), - ( - 'Palantir characterizes cell fate continuities in human hematopoiesis', - set() - ) - ] - for title, expected_files in cases: - with self.subTest(title=title): - filters = { - 'publicationTitle': { - 'is': [title] - } - } - expected_terms = { - 'terms': [ - { - 'term': None, - 'count': 25 - }, - { - 'term': 'A title of a publication goes here.', - 'count': 16 - }, - { - 'term': 'Single-Cell Analysis of Human Pancreas Reveals Transcriptional ' - 'Signatures of Aging and Somatic Mutation Patterns.', - 'count': 2 - }, - { - 'term': 'Systematic comparative analysis of single cell RNA-sequencing methods', - 'count': 2 - } - ], - 'total': 45, - 'type': 'terms' - } - url = self.base_url.set(path='/index/files', - args=dict(filters=json.dumps(filters))) - response = requests.get(str(url)) - self.assertEqual(200, response.status_code) - self.assertEqual(expected_terms, - response.json()['termFacets']['publicationTitle']) - files = { - one(hit['files'])['uuid'] - for hit in response.json()['hits'] - } - self.assertEqual(expected_files, files) - - def test_access(self): - filtered_entity_types = { - 'bundles': True, - 'files': True, - 'samples': True, - 'projects': False - } - - def _test(entity_type: str, expect_empty: bool, expect_accessible: bool): - with self.subTest(entity_type=entity_type, access=expect_accessible): - url = str(self.base_url.set(path=('index', entity_type))) - response = requests.get(url) - self.assertEqual(200, response.status_code) - hits = response.json()['hits'] - if expect_empty: - self.assertEqual([], hits) - else: - self.assertGreater(len(hits), 0) - for hit in hits: - entity = one(hit[entity_type]) - self.assertEqual(expect_accessible, entity[SpecialFields.accessible]) - - for entity_type in filtered_entity_types: - _test(entity_type, expect_empty=False, expect_accessible=True) - - with mock.patch('azul.plugins.repository.dss.Plugin.list_sources', return_value=[]): - for entity_type, is_filtered in filtered_entity_types.items(): - _test(entity_type, expect_empty=is_filtered, expect_accessible=False) - - def test_filter_by_accession(self): - def request_accessions(nested_properties): - params = self._params(filters={ - 'accessions': { - 'is': [nested_properties] - } - }) - url = self.base_url.set(path='/index/projects') - response = requests.get(str(url), params=params) - self.assertEqual(200, response.status_code) - return response.json() - - for nested_properties, expected_projects in [ - ( - dict(namespace='array_express', accession='E-AAAA-00'), - {'627cb0ba-b8a1-405a-b58f-0add82c3d635'} - ), - ( - dict(namespace='geo_series', accession='GSE132044'), - {'88ec040b-8705-4f77-8f41-f81e57632f7d'} - ), - ( - dict(accession='GSE132044'), - {'88ec040b-8705-4f77-8f41-f81e57632f7d'} - ), - ( - dict(namespace='geo_series'), - { - '627cb0ba-b8a1-405a-b58f-0add82c3d635', - '88ec040b-8705-4f77-8f41-f81e57632f7d' - } - ) - ]: - with self.subTest(nested_properties=nested_properties): - response = request_accessions(nested_properties) - actual_projects = { - one(hit['projects'])['projectId'] - for hit in response['hits'] - } - self.assertEqual(expected_projects, actual_projects) - for hits in response['hits']: - accession_properties = [ - {key: value} - for accession in one(hits['projects'])['accessions'] - for key, value in accession.items() - ] - for key, value in nested_properties.items(): - self.assertIn({key: value}, accession_properties) - - def test_version(self): - commit = 'a9eb85ea214a6cfa6882f4be041d5cce7bee3e45' - for dirty in True, False: - with self.subTest(is_repo_dirty=dirty): - with mock.patch.dict(os.environ, azul_git_commit=commit, azul_git_dirty=str(dirty)): - url = self.base_url.set(path='/version') - response = requests.get(str(url)) - response.raise_for_status() - expected_json = { - 'commit': commit, - 'dirty': dirty - } - self.assertEqual(expected_json, response.json()['git']) - - -class TestFileTypeSummaries(IndexResponseTestCase): - - @classmethod - def bundles(cls) -> list[BundleFQID]: - return super().bundles() + [ - cls.bundle_fqid(uuid='fce68057-b0f0-5d11-b9a7-30e8fa3259a8', - version='2021-02-09T01:30:00.000000Z'), - ] - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - def test_grouping(self): - url = self.base_url.set(path='/index/projects') - filters = {'projectId': {'is': ['f2fe82f0-4454-4d84-b416-a885f3121e59']}} - params = { - 'catalog': self.catalog, - 'filters': json.dumps(filters) - } - response = requests.get(str(url), params=params) - response.raise_for_status() - response_json = response.json() - file_type_summaries = one(response_json['hits'])['fileTypeSummaries'] - expected = [ - { - 'format': 'fastq.gz', - 'count': 117, - 'totalSize': 1670420872710.0, - 'matrixCellCount': None, - 'isIntermediate': None, - 'contentDescription': ['DNA sequence'], - 'fileSource': [None], - }, - { - 'format': 'fastq.gz', - 'count': 3, - 'totalSize': 128307505318.0, - 'matrixCellCount': None, - 'isIntermediate': None, - 'contentDescription': ['Cellular Genetics'], - 'fileSource': [None], - }, - { - 'format': 'loom', - 'count': 40, - 'totalSize': 59207580244.0, - 'matrixCellCount': None, - 'isIntermediate': True, - 'contentDescription': ['Count Matrix'], - 'fileSource': ['DCP/2 Analysis'], - }, - { - 'format': 'loom', - 'count': 1, - 'totalSize': 5389602923.0, - 'matrixCellCount': None, - 'isIntermediate': False, - 'contentDescription': ['Count Matrix'], - 'fileSource': ['DCP/2 Analysis'], - }, - { - 'format': 'bam', - 'count': 40, - 'totalSize': 1659270110045.0, - 'matrixCellCount': None, - 'isIntermediate': None, - 'contentDescription': [None], - 'fileSource': ['DCP/2 Analysis'], - }, - ] - self.assertElasticEqual(file_type_summaries, expected) - - -class TestResponseInnerEntitySamples(IndexResponseTestCase): - maxDiff = None - - @classmethod - def bundles(cls) -> list[BundleFQID]: - return super().bundles() + [ - # A bundle with 1 specimen and 1 cell line sample entities - cls.bundle_fqid(uuid='1b6d8348-d6e9-406a-aa6a-7ee886e52bf9', - version='2019-10-03T10:55:24.911627Z'), - # A bundle with 4 organoid sample entities - cls.bundle_fqid(uuid='411cd8d5-5990-43cd-84cc-6c7796b8a76d', - version='2018-10-18T20:46:55.866661Z'), - ] - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - def test_inner_entity_samples(self): - """ - Verify aggregated 'samples' inner entities are grouped by sample entity - type and that results can be filtered by sampleEntityType. - """ - # Note that this test is against the /index/projects endpoint, so when - # a filter such as {'sampleEntityType':{'is':['cell_lines']}} is used - # and finds a project with both cell line and specimen samples, the - # response hit 'samples' inner entity (an aggregate grouped by entity - # type) will contain both samples. - expected_filter_hits = { - 'cell_lines': [ - # One hit for a project with 2 different type samples - [ - { - 'sampleEntityType': ['cellLines'], - 'effectiveOrgan': ['immune system'], - 'id': ['Cell_line_2'], - 'cellLineType': ['primary'], - 'modelOrgan': ['immune system'], - }, - { - 'sampleEntityType': ['specimens'], - 'effectiveOrgan': ['embryo'], - 'id': ['Specimen1'], - 'organ': ['embryo'], - 'organPart': ['skin epidermis'], - 'disease': ['normal'], - 'preservationMethod': [None], - 'source': ['specimen_from_organism'], - }, - ] - ], - 'organoids': [ - # One hit for a project with 4 samples of the same type - [ - { - 'sampleEntityType': ['organoids'], - 'effectiveOrgan': ['Brain'], - 'id': [ - 'Org_HPSI0214i-kucg_2_2', - 'Org_HPSI0214i-wibj_2_2', - 'Org_HPSI0314i-hoik_1_2', - 'Org_HPSI0314i-sojd_3_2', - ], - 'modelOrgan': ['Brain'], - 'modelOrganPart': [None], - } - ] - ], - 'specimens': [ - # Two hits, one for a project with 2 different type samples and - # one for a project with 1 sample - [ - { - 'sampleEntityType': ['cellLines'], - 'effectiveOrgan': ['immune system'], - 'id': ['Cell_line_2'], - 'cellLineType': ['primary'], - 'modelOrgan': ['immune system'], - }, - { - 'sampleEntityType': ['specimens'], - 'effectiveOrgan': ['embryo'], - 'id': ['Specimen1'], - 'organ': ['embryo'], - 'organPart': ['skin epidermis'], - 'disease': ['normal'], - 'preservationMethod': [None], - 'source': ['specimen_from_organism'], - }, - ], - [ - { - 'sampleEntityType': ['specimens'], - 'effectiveOrgan': ['pancreas'], - 'id': ['DID_scRSq06_pancreas'], - 'organ': ['pancreas'], - 'organPart': ['islet of Langerhans'], - 'disease': ['normal'], - 'preservationMethod': [None], - 'source': ['specimen_from_organism'], - } - ], - ], - } - for entity_type, expected_hits in expected_filter_hits.items(): - with self.subTest(entity_type=entity_type): - params = { - 'filters': json.dumps({'sampleEntityType': {'is': [entity_type]}}), - 'catalog': self.catalog, - 'size': 5, - 'sort': 'projectTitle', - 'order': 'asc', - } - url = self.base_url.set(path='/index/projects', args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - hits = response_json['hits'] - self.assertEqual(expected_hits, [hit['samples'] for hit in hits]) - - -class TestSchemaTestDataCannedBundle(IndexResponseTestCase): - maxDiff = None - - @classmethod - def bundles(cls) -> list[BundleFQID]: - return [ - # Bundles for project 90bf705c - # https://github.com/HumanCellAtlas/schema-test-data/tree/eb93f83b - cls.bundle_fqid(uuid='1f6afb64-fa14-5c6f-a474-a742540108a3', - version='2021-01-01T00:00:00.000000Z'), - cls.bundle_fqid(uuid='3ac62c33-93e1-56b4-b857-59497f5d942d', - version='2021-01-01T00:00:00.000000Z'), - cls.bundle_fqid(uuid='4da04038-adab-59a9-b6c4-3a61242cc972', - version='2021-01-01T00:00:00.000000Z'), - cls.bundle_fqid(uuid='8c1773c3-1885-545f-9381-0dab1edf6074', - version='2021-01-01T00:00:00.000000Z'), - cls.bundle_fqid(uuid='d7b8cbff-aee9-5a05-a4a1-d8f4e720aee7', - version='2021-01-01T00:00:00.000000Z'), - cls.bundle_fqid(uuid='1ed68210-eaba-531d-ba9e-db80164d65ef', - version='2021-01-01T00:00:00.000000Z'), - cls.bundle_fqid(uuid='7a330531-ec7f-5aee-84d4-2ba24d66e93b', - version='2021-01-01T00:00:00.000000Z'), - ] - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - def test_project_cell_count(self): - """ - Verify the project 'estimatedCellCount' value across the various endpoints - """ - expected_cell_counts = { - 'files': [10000] * 10, - 'samples': [10000] * 3, - 'projects': [10000], - 'bundles': [10000] * 7, - } - params = {'catalog': self.catalog} - for entity_type in expected_cell_counts.keys(): - with self.subTest(entity_type=entity_type): - url = self.base_url.set(path=('index', entity_type), args=params) - response = requests.get(url) - response.raise_for_status() - response_json = response.json() - actual_cell_counts = [] - for hit in response_json['hits']: - project = one(hit['projects']) - actual_cell_counts.append(project['estimatedCellCount']) - self.assertEqual(expected_cell_counts[entity_type], - actual_cell_counts) - - def test_summary_cell_counts(self): - url = self.base_url.set(path='/index/summary', - args=dict(catalog=self.catalog)) - response = requests.get(str(url)) - response.raise_for_status() - summary = response.json() - self.assertEqual(1, summary['projectCount']) - self.assertEqual(10, summary['fileCount']) - # There are four bundles with cell suspensions at play here. Three of - # these bundles have cell suspensions that are processed into other - # cell suspensions, and some cell suspensions are referenced in multiple - # bundles, resulting in three distinct leaf node cell suspensions. - # - # Bundle: 1ed68210, Cell Suspension: 119c4135 (40k) -> 6ff38054 (20k) - # Bundle: 7a330531, Cell Suspension: 119c4135 (40k) -> 6ff38054 (20k) - # Bundle: d7b8cbff, Cell Suspension: 119c4135 (40k) -> af3549f4 (20k) - # Bundle: 4da04038, Cell Suspension: d9eaaffe (20k) - expected_summary_cell_counts = [ - { - 'organType': ['blood'], - 'countOfDocsWithOrganType': 4, - 'totalCellCountByOrgan': 20000.0 * 3 - } - ] - self.assertEqual(expected_summary_cell_counts, summary['cellCountSummaries']) - - def test_protocols(self): - """ - Verify the protocol fields - """ - params = {'catalog': self.catalog} - url = self.base_url.set(path='/index/projects', args=params) - response = requests.get(url) - response.raise_for_status() - response_json = response.json() - hit = one(response_json['hits']) - expected_protocols = [ - # analysis protocol - { - 'workflow': [ - 'Combined_AnalysisProt', - 'Visiumanalysis' - ] - }, - # imaging protocol - { - 'assayType': [] - }, - # library preparation protocol - { - 'libraryConstructionApproach': [ - "10x 3' v3", - 'Visium Spatial Gene Expression' - ], - 'nucleicAcidSource': [ - 'single cell', - 'single nucleus' - ] - }, - # sequencing protocol - { - 'instrumentManufacturerModel': [ - 'EFO_0008637' - ], - 'pairedEnd': [ - True - ] - } - ] - self.assertEqual(expected_protocols, hit['protocols']) - - -@attr.s(auto_attribs=True, frozen=True) -class CellCounts: - estimated_cell_count: Optional[int] - total_cells: dict[str, Optional[int]] - - @classmethod - def from_response(cls, hit: JSON) -> Self: - projects: JSONs = hit['projects'] - cell_suspensions: JSONs = hit['cellSuspensions'] - return cls(estimated_cell_count=one(projects)['estimatedCellCount'], - total_cells={ - one(cell_suspension['organ']): cell_suspension['totalCells'] - for cell_suspension in cell_suspensions - }) - - -class TestSortAndFilterByCellCount(IndexResponseTestCase): - maxDiff = None - - @classmethod - def bundles(cls) -> list[BundleFQID]: - return [ - # Two bundles for the same project with 7738 total cell suspension cells - # project=4e6f083b, cs-cells=3869, p-cells=None - cls.bundle_fqid(uuid='97f0cc83-f0ac-417a-8a29-221c77debde8', - version='2019-10-14T19:54:15.397406Z'), - # project=4e6f083b, cs-cells=3869, p-cells=None - cls.bundle_fqid(uuid='8c90d4fe-9a5d-4e3d-ada2-0414b666b880', - version='2019-10-14T19:54:15.397546Z'), - # A bundle with cell suspension cell counts - # project=627cb0ba, cs-cells=10001, p-cells=None - # The cell suspension cell count was incremented in this canned bundle - # to avoid matching the effectiveCellCount from bundle d7b8cbff. - cls.bundle_fqid(uuid='fa5be5eb-2d64-49f5-8ed8-bd627ac9bc7a', - version='2019-02-14T19:24:38.034764Z'), - # A bundle with cell suspension cell counts - # project=2c4724a4, cs-cells=6210, p-cells=None - cls.bundle_fqid(uuid='411cd8d5-5990-43cd-84cc-6c7796b8a76d', - version='2018-10-18T20:46:55.866661Z'), - # A bundle with project cell counts - # project=50151324, cs-cells=None, p-cells=88000 - cls.bundle_fqid(uuid='2c7d06b8-658e-4c51-9de4-a768322f84c5', - version='2021-09-21T17:27:23.898000Z'), - # A bundle with project & cell suspension cell counts - # project=90bf705c, cs-cells=20000, p-cells=10000 - cls.bundle_fqid(uuid='d7b8cbff-aee9-5a05-a4a1-d8f4e720aee7', - version='2021-01-01T00:00:00.000000Z'), - ] - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - def test_sorting_by_cell_count(self): - """ - Verify sorting projects by the total cell suspension cell count, the - project cell count, and the effective cell count. - """ - test_cases = { - 'cellCount': [ - CellCounts(88_000, {'mouth mucosa': None}), - CellCounts(None, {'Brain': 6210}), - CellCounts(None, {'presumptive gut': 3869, 'endoderm': 3869}), - CellCounts(None, {'brain': 10_001}), - CellCounts(10_000, {'blood': 20_000}), - ], - 'projectEstimatedCellCount': [ - CellCounts(10_000, {'blood': 20_000}), - CellCounts(88_000, {'mouth mucosa': None}), - CellCounts(None, {'Brain': 6210}), - CellCounts(None, {'presumptive gut': 3869, 'endoderm': 3869}), - CellCounts(None, {'brain': 10_001}), - ], - 'effectiveCellCount': [ - CellCounts(None, {'Brain': 6210}), - CellCounts(None, {'presumptive gut': 3869, 'endoderm': 3869}), - CellCounts(10_000, {'blood': 20_000}), - CellCounts(None, {'brain': 10_001}), - CellCounts(88_000, {'mouth mucosa': None}), - ] - } - for ascending in False, True: - for field, expected in test_cases.items(): - with self.subTest(facet=field, ascending=ascending): - params = { - 'catalog': self.catalog, - 'sort': field, - 'order': 'asc' if ascending else 'desc' - } - url = self.base_url.set(path='/index/projects', args=params) - response = requests.get(str(url)) - response.raise_for_status() - response = response.json() - actual = list(map(CellCounts.from_response, response['hits'])) - if not ascending: - expected = list(reversed(expected)) - self.assertEqual(expected, actual) - - def test_filter_by_cell_count(self): - """ - Verify filtering projects by the total cell suspension cell count, the - project cell count, and the effective cell count. - """ - test_cases = { - 'cellCount': { - None: [], - 6210: [ - CellCounts(None, {'Brain': 6210}), - ], - (3000, 8000): [ - CellCounts(None, {'Brain': 6210}), - CellCounts(None, {'presumptive gut': 3869, 'endoderm': 3869}), - ], - }, - 'projectEstimatedCellCount': { - None: [ - CellCounts(None, {'Brain': 6210}), - CellCounts(None, {'presumptive gut': 3869, 'endoderm': 3869}), - CellCounts(None, {'brain': 10_001}) - ], - 10_000: [ - CellCounts(10_000, {'blood': 20_000}), - ], - (6000, 100_000): [ - CellCounts(10_000, {'blood': 20_000}), - CellCounts(88_000, {'mouth mucosa': None}), - ], - }, - 'effectiveCellCount': { - None: [], - 10_001: [ - CellCounts(None, {'brain': 10_001}) - ], - (5000, 11_000): [ - CellCounts(None, {'Brain': 6210}), - CellCounts(None, {'presumptive gut': 3869, 'endoderm': 3869}), - CellCounts(10_000, {'blood': 20_000}), - CellCounts(None, {'brain': 10_001}), - ], - }, - } - for field, test_case in test_cases.items(): - for filter, expected in test_case.items(): - with self.subTest(facet=field, value=filter): - filters = { - field: - {'within': [filter]} - if isinstance(filter, tuple) else - {'is': [filter]} - } - params = { - 'catalog': self.catalog, - 'sort': field, - 'order': 'asc', - 'filters': json.dumps(filters) - } - url = self.base_url.set(path='/index/projects', args=params) - response = requests.get(str(url)) - response.raise_for_status() - response = response.json() - actual = list(map(CellCounts.from_response, response['hits'])) - self.assertEqual(actual, expected) - - -class TestProjectMatrices(IndexResponseTestCase): - maxDiff = None - - @classmethod - def bundles(cls) -> list[BundleFQID]: - return super().bundles() + [ - # A hacky CGM subgraph (project 8185730f) - # 8 supplementary file CGMs each with a 'submitter_id' - cls.bundle_fqid(uuid='4b03c1ce-9df1-5cd5-a8e4-48a2fe095081', - version='2021-02-10T16:56:40.419579Z'), - # A hacky DCP/1 matrix service subgraph (project 8185730f) - # 3 supplementary file matrices each with a 'submitter_id' - cls.bundle_fqid(uuid='8338b891-f3fa-5e7b-885f-e4ee5689ee15', - version='2020-12-03T10:39:17.144517Z'), - # An intermediate DCP/2 analysis subgraph (project 8185730f) - # 1 intermediate analysis file matrix - cls.bundle_fqid(uuid='7eb74d9f-8346-5420-b7e4-b486f99451a8', - version='2020-02-03T10:30:00.000000Z'), - # A top-level DCP/2 analysis subgraph (project 8185730f) - # 1 analysis file matrix with a 'submitter_id' - cls.bundle_fqid(uuid='00f48893-5e9d-52cd-b32d-af88edccabfa', - version='2020-02-03T10:30:00.000000Z'), - # An organic CGM subgraph (project bd400331) - # 2 analysis file CGMs each with a 'file_source' - cls.bundle_fqid(uuid='04836733-0449-4e57-be2e-6f3b8fbdfb12', - version='2021-05-10T23:25:12.412000Z') - ] - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - def params(self, - project_id: str, - facet: Optional[str] = None, - value: Optional[str] = None) -> JSON: - return { - 'filters': json.dumps( - { - 'projectId': {'is': [project_id]}, - **({facet: {'is': [value]}} if facet else {}) - } - ), - 'catalog': self.catalog, - 'size': min(sorting.max_page_size - for sorting in self.app_module.app.metadata_plugin.exposed_indices.values()) - } - - def test_file_source_facet(self): - """ - Verify the 'fileSource' facet is populated with the human-readable - versions of the name used to generate the 'submitter_id' UUID, and that - the facet values match the hits[].files[].fileSource values. - """ - params = self.params(project_id='8185730f-4113-40d3-9cc3-929271784c2b') - url = self.base_url.set(path='/index/files', args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - facets = response_json['termFacets'] - expected_counts = { - 'DCP/2 Analysis': 3, - 'DCP/1 Matrix Service': 3, - 'HCA Release': 1, - 'ArrayExpress': 7 - } - expected_facets = [ - {'term': key, 'count': val} - for key, val in expected_counts.items() - ] - self.assertElasticEqual(expected_facets, facets['fileSource']['terms']) - actual_counts = Counter() - for hit in response_json['hits']: - file = one(hit['files']) - actual_counts[file['fileSource']] += 1 - self.assertEqual(expected_counts, actual_counts) - - def test_is_intermediate_facet(self): - """ - Verify the 'isIntermediate' facet. - """ - params = self.params(project_id='8185730f-4113-40d3-9cc3-929271784c2b') - url = self.base_url.set(path='/index/files', args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - facets = response_json['termFacets'] - expected = [ - {'term': None, 'count': 1}, - {'term': 'false', 'count': 12}, - {'term': 'true', 'count': 1} - ] - self.assertElasticEqual(expected, facets['isIntermediate']['terms']) - - def test_contributor_matrix_files(self): - """ - Verify the files endpoint returns all the files from both the analysis - and CGM bundles, and that supplementary file matrices can be found by - their stratification values. - """ - expected = { - (None, None): [ - # 8 supplementary files from bundle 4b03c1ce - 'E-MTAB-7316.processed.1.zip', - 'E-MTAB-7316.processed.2.zip', - 'E-MTAB-7316.processed.3.zip', - 'E-MTAB-7316.processed.4.zip', - 'E-MTAB-7316.processed.5.zip', - 'E-MTAB-7316.processed.6.zip', - 'E-MTAB-7316.processed.7.zip', - 'WongRetinaCelltype.csv', - # 3 supplementary files from bundle 8338b891 - '8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.csv.zip', - '8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.loom', - '8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.mtx.zip', - # 2 analysis files from bundle 7eb74d9f - '1116b396-448e-4dd1-b9c9-78357c511e15.bam', - '1116b396-448e-4dd1-b9c9-78357c511e15.loom', - # 1 analysis file from bundle 00f48893 - 'wong-retina-human-eye-10XV2.loom' - ], - ('developmentStage', 'adult'): [ - 'E-MTAB-7316.processed.1.zip', - 'E-MTAB-7316.processed.2.zip', - 'E-MTAB-7316.processed.3.zip', - 'E-MTAB-7316.processed.4.zip', - 'E-MTAB-7316.processed.5.zip', - 'E-MTAB-7316.processed.6.zip', - 'E-MTAB-7316.processed.7.zip', - 'WongRetinaCelltype.csv', - ], - ('developmentStage', 'human adult stage'): [ - '1116b396-448e-4dd1-b9c9-78357c511e15.bam', - '1116b396-448e-4dd1-b9c9-78357c511e15.loom', - 'wong-retina-human-eye-10XV2.loom' - ], - ('developmentStage', None): [ - '8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.csv.zip', - '8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.loom', - '8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.mtx.zip' - ], - } - for (facet, value), expected_files in expected.items(): - with self.subTest(facet=facet, value=value): - params = self.params(project_id='8185730f-4113-40d3-9cc3-929271784c2b', - facet=facet, - value=value) - url = self.base_url.set(path='/index/files', args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - actual_files = [one(hit['files'])['name'] for hit in response_json['hits']] - self.assertEqual(sorted(expected_files), sorted(actual_files)) - - def test_matrices_tree(self): - """ - Verify the projects endpoint includes a valid 'matrices' and - 'contributedAnalyses' tree inside the projects inner-entity. - """ - params = self.params(project_id='8185730f-4113-40d3-9cc3-929271784c2b') - url = self.base_url.set(path='/index/projects', args=params) - drs_uri = furl(scheme='drs', - netloc=config.drs_domain or config.api_lambda_domain('service')) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - hit = one(response_json['hits']) - self.assertEqual('8185730f-4113-40d3-9cc3-929271784c2b', hit['entryId']) - matrices = { - 'genusSpecies': { - 'Homo sapiens': { - 'developmentStage': { - 'human adult stage': { - 'organ': { - 'eye': { - 'libraryConstructionApproach': { - '10X v2 sequencing': [ - { - # Analysis file, source from submitter_id - 'name': 'wong-retina-human-eye-10XV2.loom', - 'size': 255471211, - 'fileSource': 'DCP/2 Analysis', - 'matrixCellCount': None, - 'uuid': 'bd98f428-881e-501a-ac16-24f27a68ce2f', - 'version': '2021-02-11T23:11:45.000000Z', - 'contentDescription': ['Count Matrix'], - 'format': 'loom', - 'isIntermediate': False, - 'sha256': '6a6483c2e78da77017e912a4d350f141' - 'bda1ec7b269f20ca718b55145ee5c83c', - 'drs_uri': str(drs_uri.set( - path='bd98f428-881e-501a-ac16-24f27a68ce2f', - args=dict(version='2021-02-11T23:11:45.000000Z') - )), - 'url': str(self.base_url.set( - path='/repository/files/bd98f428-881e-501a-ac16-24f27a68ce2f', - args=dict(catalog='test', version='2021-02-11T23:11:45.000000Z') - )) - } - ] - } - } - } - }, - 'Unspecified': { - 'organ': { - 'eye': { - 'libraryConstructionApproach': { - '10X v2 sequencing': [ - { - # Supplementary file, source from submitter_id - 'name': '8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.csv.zip', - 'size': 76742835, - 'fileSource': 'DCP/1 Matrix Service', - 'matrixCellCount': None, - 'uuid': '538faa28-3235-5e4b-a998-5672e2d964e8', - 'version': '2020-12-03T10:39:17.144517Z', - 'contentDescription': ['Matrix'], - 'format': 'zip', - 'isIntermediate': False, - 'sha256': 'edb8e0139fece9702d89ae5fe7f761c4' - '1c291ef6a71129c6420857e025228a24', - 'drs_uri': str(drs_uri.set( - path='538faa28-3235-5e4b-a998-5672e2d964e8', - args=dict(version='2020-12-03T10:39:17.144517Z') - )), - 'url': str(self.base_url.set( - path='/repository/files/538faa28-3235-5e4b-a998-5672e2d964e8', - args=dict(catalog='test', version='2020-12-03T10:39:17.144517Z') - )) - }, - { - # Supplementary file, source from submitter_id - 'name': '8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.mtx.zip', - 'size': 124022765, - 'fileSource': 'DCP/1 Matrix Service', - 'matrixCellCount': None, - 'uuid': '6c142250-567c-5b63-bd4f-0d78499863f8', - 'version': '2020-12-03T10:39:17.144517Z', - 'contentDescription': ['Matrix'], - 'format': 'zip', - 'isIntermediate': False, - 'sha256': 'cb1467f4d23a2429b4928943b51652b3' - '2edb949099250d28cf400d13074f5440', - 'drs_uri': str(drs_uri.set( - path='6c142250-567c-5b63-bd4f-0d78499863f8', - args=dict(version='2020-12-03T10:39:17.144517Z') - )), - 'url': str(self.base_url.set( - path='/repository/files/6c142250-567c-5b63-bd4f-0d78499863f8', - args=dict(catalog='test', version='2020-12-03T10:39:17.144517Z') - )) - }, - { - # Supplementary file, source from submitter_id - 'name': '8185730f-4113-40d3-9cc3-929271784c2b.homo_sapiens.loom', - 'size': 154980798, - 'fileSource': 'DCP/1 Matrix Service', - 'matrixCellCount': None, - 'uuid': '8d2ba1c1-bc9f-5c2a-a74d-fe5e09bdfb18', - 'version': '2020-12-03T10:39:17.144517Z', - 'contentDescription': ['Matrix'], - 'format': 'loom', - 'isIntermediate': False, - 'sha256': '724b2c0ddf33c662b362179bc6ca90cd' - '866b99b340d061463c35d27cfd5a23c5', - 'drs_uri': str(drs_uri.set( - path='8d2ba1c1-bc9f-5c2a-a74d-fe5e09bdfb18', - args=dict(version='2020-12-03T10:39:17.144517Z') - )), - 'url': str(self.base_url.set( - path='/repository/files/8d2ba1c1-bc9f-5c2a-a74d-fe5e09bdfb18', - args=dict(catalog='test', version='2020-12-03T10:39:17.144517Z') - )) - } - ] - } - } - } - } - } - } - } - } - self.assertElasticEqual(matrices, one(hit['projects'])['matrices']) - contributed_analyses = { - 'genusSpecies': { - 'Homo sapiens': { - 'developmentStage': { - 'adult': { - 'organ': { - 'eye': { - 'libraryConstructionApproach': { - '10X v2 sequencing': [ - { - # Supplementary file, source from submitter_id - 'name': 'E-MTAB-7316.processed.1.zip', - 'size': 69813802, - 'fileSource': 'ArrayExpress', - 'matrixCellCount': None, - 'uuid': '87f31102-ebbc-5875-abdf-4fa5cea48e8d', - 'version': '2021-02-10T16:56:40.419579Z', - 'contentDescription': ['Matrix'], - 'format': 'zip', - 'isIntermediate': False, - 'sha256': '331bd925c08539194eb06e197a1238e1' - '306c3b7876b6fe13548d03824cc4b68b', - 'drs_uri': str(drs_uri.set( - path='87f31102-ebbc-5875-abdf-4fa5cea48e8d', - args=dict(version='2021-02-10T16:56:40.419579Z') - )), - 'url': str(self.base_url.set( - path='/repository/files/87f31102-ebbc-5875-abdf-4fa5cea48e8d', - args=dict(catalog='test', version='2021-02-10T16:56:40.419579Z') - )) - }, - { - # Supplementary file, source from submitter_id - 'name': 'E-MTAB-7316.processed.2.zip', - 'size': 118250749, - 'fileSource': 'ArrayExpress', - 'matrixCellCount': None, - 'uuid': '733318e0-19c2-51e8-9ad6-d94ad562dd46', - 'version': '2021-02-10T16:56:40.419579Z', - 'contentDescription': ['Matrix'], - 'format': 'zip', - 'isIntermediate': False, - 'sha256': 'cb7beb6f4e8c684e41d25aa4dc1294dc' - 'b1e070e87f9ed852463bf651d511a36b', - 'drs_uri': str(drs_uri.set( - path='733318e0-19c2-51e8-9ad6-d94ad562dd46', - args=dict(version='2021-02-10T16:56:40.419579Z') - )), - 'url': str(self.base_url.set( - path='/repository/files/733318e0-19c2-51e8-9ad6-d94ad562dd46', - args=dict(catalog='test', version='2021-02-10T16:56:40.419579Z') - )) - }, - { - # Supplementary file, source from submitter_id - 'name': 'E-MTAB-7316.processed.3.zip', - 'size': 187835236, - 'fileSource': 'ArrayExpress', - 'matrixCellCount': None, - 'uuid': 'c59e2de5-01fe-56eb-be56-679ed14161bf', - 'version': '2021-02-10T16:56:40.419579Z', - 'contentDescription': ['Matrix'], - 'format': 'zip', - 'isIntermediate': False, - 'sha256': '6372732e9fe9b8d58c8be8df88ea439d' - '5c68ee9bb02e3d472c94633fadf782a1', - 'drs_uri': str(drs_uri.set( - path='c59e2de5-01fe-56eb-be56-679ed14161bf', - args=dict(version='2021-02-10T16:56:40.419579Z') - )), - 'url': str(self.base_url.set( - path='/repository/files/c59e2de5-01fe-56eb-be56-679ed14161bf', - args=dict(catalog='test', version='2021-02-10T16:56:40.419579Z') - )) - }, - { - # Supplementary file, source from submitter_id - 'name': 'E-MTAB-7316.processed.4.zip', - 'size': 38722784, - 'fileSource': 'ArrayExpress', - 'matrixCellCount': None, - 'uuid': '68bda896-3b3e-5f2a-9212-f4030a0f37e2', - 'version': '2021-02-10T16:56:40.419579Z', - 'contentDescription': ['Matrix'], - 'format': 'zip', - 'isIntermediate': False, - 'sha256': 'f1458913c223553d09966ff94f0ed3d8' - '7e7cdfce21904f32943d70f691d8f7a0', - 'drs_uri': str(drs_uri.set( - path='68bda896-3b3e-5f2a-9212-f4030a0f37e2', - args=dict(version='2021-02-10T16:56:40.419579Z') - )), - 'url': str(self.base_url.set( - path='/repository/files/68bda896-3b3e-5f2a-9212-f4030a0f37e2', - args=dict(catalog='test', version='2021-02-10T16:56:40.419579Z') - )) - }, - { - # Supplementary file, source from submitter_id - 'name': 'E-MTAB-7316.processed.5.zip', - 'size': 15535233, - 'fileSource': 'ArrayExpress', - 'matrixCellCount': None, - 'uuid': '0c5ab869-da2d-5c11-b4ae-f978a052899f', - 'version': '2021-02-10T16:56:40.419579Z', - 'contentDescription': ['Matrix'], - 'format': 'zip', - 'isIntermediate': False, - 'sha256': '053074e25a96a463c081e38bcd02662b' - 'a1536dd0cb71411bd111b8a2086a03e1', - 'drs_uri': str(drs_uri.set( - path='0c5ab869-da2d-5c11-b4ae-f978a052899f', - args=dict(version='2021-02-10T16:56:40.419579Z') - )), - 'url': str(self.base_url.set( - path='/repository/files/0c5ab869-da2d-5c11-b4ae-f978a052899f', - args=dict(catalog='test', version='2021-02-10T16:56:40.419579Z') - )) - }, - { - # Supplementary file, source from submitter_id - 'name': 'E-MTAB-7316.processed.6.zip', - 'size': 17985905, - 'fileSource': 'ArrayExpress', - 'matrixCellCount': None, - 'uuid': 'cade4593-bfba-56ed-80ab-080d0de7d5a4', - 'version': '2021-02-10T16:56:40.419579Z', - 'contentDescription': ['Matrix'], - 'format': 'zip', - 'isIntermediate': False, - 'sha256': '1c57cba1ade259fc9ec56b914b507507' - 'd75ccbf6ddeebf03ba00c922c30e0c6e', - 'drs_uri': str(drs_uri.set( - path='cade4593-bfba-56ed-80ab-080d0de7d5a4', - args=dict(version='2021-02-10T16:56:40.419579Z') - )), - 'url': str(self.base_url.set( - path='/repository/files/cade4593-bfba-56ed-80ab-080d0de7d5a4', - args=dict(catalog='test', version='2021-02-10T16:56:40.419579Z') - )) - }, - { - # Supplementary file, source from submitter_id - 'name': 'E-MTAB-7316.processed.7.zip', - 'size': 7570475, - 'fileSource': 'ArrayExpress', - 'matrixCellCount': None, - 'uuid': '5b465aad-0981-5152-b468-e615e20f5884', - 'version': '2021-02-10T16:56:40.419579Z', - 'contentDescription': ['Matrix'], - 'format': 'zip', - 'isIntermediate': False, - 'sha256': 'af3ea779ca01a2ba65f9415720a44648' - 'ef28a6ed73c9ec30e54ed4ba9895f590', - 'drs_uri': str(drs_uri.set( - path='5b465aad-0981-5152-b468-e615e20f5884', - args=dict(version='2021-02-10T16:56:40.419579Z') - )), - 'url': str(self.base_url.set( - path='/repository/files/5b465aad-0981-5152-b468-e615e20f5884', - args=dict(catalog='test', version='2021-02-10T16:56:40.419579Z') - )) - }, - { - # Supplementary file, source from submitter_id - 'name': 'WongRetinaCelltype.csv', - 'size': 2300969, - 'fileSource': 'HCA Release', - 'matrixCellCount': None, - 'uuid': 'b905c8be-2e2d-592c-8481-3eb7a87c6484', - 'version': '2021-02-10T16:56:40.419579Z', - 'contentDescription': ['Matrix'], - 'format': 'csv', - 'isIntermediate': False, - 'sha256': '4f515b8fbbec8bfbc72c8c0d656897ee' - '37bfa30bab6eb50fdc641924227be674', - 'drs_uri': str(drs_uri.set( - path='b905c8be-2e2d-592c-8481-3eb7a87c6484', - args=dict(version='2021-02-10T16:56:40.419579Z') - )), - 'url': str(self.base_url.set( - path='/repository/files/b905c8be-2e2d-592c-8481-3eb7a87c6484', - args=dict(catalog='test', version='2021-02-10T16:56:40.419579Z') - )) - } - ] - } - } - } - } - } - } - } - } - self.assertElasticEqual(contributed_analyses, - one(hit['projects'])['contributedAnalyses']) - - def test_matrix_cell_count(self): - """ - Verify analysis file matrixCellCount values are correctly reported - on all endpoints - """ - params = self.params(project_id='bd400331-54b9-4fcc-bff6-6bb8b079ee1f') - - # Verify matrix cell counts in each hit from the non-files endpoints - expected_counts = { - 'Rds': 54140, - 'fastq.gz': None - } - for endpoint in ('projects', 'samples'): - with self.subTest(endpoint=endpoint): - url = self.base_url.set(path=('index', endpoint), args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - for hit in response_json['hits']: - actual_counts = { - s['format']: s['matrixCellCount'] - for s in hit['fileTypeSummaries'] - } - self.assertEqual(expected_counts, actual_counts) - - # Verify matrix cell counts across all hits in the 'files' endpoint - expected_counts = { - 'Rds': 54140 * 3, # 3 analysis files - } - actual_counts = Counter() - url = self.base_url.set(path='/index/files', args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - for hit in response_json['hits']: - file = one(hit['files']) - file_format = file['format'] - count = file['matrixCellCount'] - if count is not None: - actual_counts[file_format] += count - self.assertEqual(expected_counts, actual_counts) - - -class TestResponseFields(IndexResponseTestCase): - maxDiff = None - - @classmethod - def bundles(cls) -> list[BundleFQID]: - return [ - # An imaging bundle with no cell suspension - # files=227, donors=1, cs-cells=0, p-cells=0, organ=brain, labs=None - cls.bundle_fqid(uuid='94f2ba52-30c8-4de0-a78e-f95a3f8deb9c', - version='2019-04-03T10:34:26.471000Z'), - # A bundle with project cell counts - # files=1, donors=1, cs-cells=0, p-cells=88000, organ=mouth mucosa, labs=2 - cls.bundle_fqid(uuid='2c7d06b8-658e-4c51-9de4-a768322f84c5', - version='2021-09-21T17:27:23.898000Z'), - # An analysis bundle with cell suspension cell counts - # files=1, donor=3, cs-cells=44000, p-cells=0, organ=eye, labs=11 - cls.bundle_fqid(uuid='00f48893-5e9d-52cd-b32d-af88edccabfa', - version='2020-02-03T10:30:00.000000Z'), - # A bundle with project & cell suspension cell counts - # files=2, donor=1, cs-cells=1, p-cells=3589, organ=brain, labs=3 - cls.bundle_fqid(uuid='80baee6e-00a5-4fdc-bfe3-d339ff8a7178', - version='2021-03-12T22:43:32.330000Z'), - ] - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - def test_summary_response(self): - url = self.base_url.set(path='/index/summary', - args=dict(catalog=self.catalog)) - response = requests.get(str(url)) - response.raise_for_status() - summary = response.json() - self.assertEqual(1 + 1 + 1 + 1, summary['projectCount']) - self.assertEqual(1 + 1 + 3 + 1, summary['specimenCount']) - self.assertEqual(2, summary['speciesCount']) - self.assertEqual(227 + 1 + 1 + 2, summary['fileCount']) - self.assertEqual(838022993.0, summary['totalFileSize']) - self.assertEqual(1 + 1 + 3 + 1, summary['donorCount']) - self.assertEqual(15, summary['labCount']) - self.assertEqual({'brain', 'eye', 'mouth mucosa'}, set(summary['organTypes'])) - expected_file_counts = { - 'tiff': 221, - 'json': 6, - 'fastq.gz': 2, - 'loom': 1, - 'mtx.gz': 1 - } - actual_file_counts = { - s['format']: s['count'] - for s in summary['fileTypeSummaries'] - } - self.assertEqual(expected_file_counts, actual_file_counts) - expected_cell_count_summaries = [ - { - 'organType': ['eye'], - 'countOfDocsWithOrganType': 5, - 'totalCellCountByOrgan': 44000.0 - }, - { - # Note that 'brain' from the imaging bundle is not represented here - # since these values are tallied from the cell suspensions and the - # imaging bundle does not have any cell suspensions. - 'organType': ['brain'], - 'countOfDocsWithOrganType': 1, - 'totalCellCountByOrgan': 1.0 - }, - { - 'organType': ['mouth mucosa'], - 'countOfDocsWithOrganType': 1, - 'totalCellCountByOrgan': 0.0 - } - ] - self.assertEqual(expected_cell_count_summaries, summary['cellCountSummaries']) - expected_projects = [ - { - 'projects': {'estimatedCellCount': 3589.0}, - 'cellSuspensions': {'totalCells': 1.0} - }, - { - 'projects': {'estimatedCellCount': 88000.0}, - 'cellSuspensions': {'totalCells': None} - }, - { - 'projects': {'estimatedCellCount': None}, - 'cellSuspensions': {'totalCells': 44000.0} - } - ] - self.assertElasticEqual(expected_projects, summary['projects']) - - def test_filtered_summary_cell_counts(self): - # Bundle 00f48893 has 5 cell suspensions from 3 donors: - # Donor 427c0a62 (female) Donor 66b7152c (female) Donor b8049daa (male) - # ------------------------- ------------------------ ------------------------- - # CS 1d3e48d7 (10000 cells) CS 0aabed05 (4000 cells) CS eb32bfc6 (10000 cells) - # CS b1b6ea44 (10000 cells) CS 932000d6 (10000 cells) - filters = { - 'bundleUuid': { - 'is': [ - '00f48893-5e9d-52cd-b32d-af88edccabfa' - ] - } - } - expected_projects = [ - { - 'projects': {'estimatedCellCount': 0.0}, - 'cellSuspensions': {'totalCells': None} - }, - { - 'projects': {'estimatedCellCount': None}, - 'cellSuspensions': {'totalCells': 44000.0} - }, - { - 'projects': {'estimatedCellCount': 0.0}, - 'cellSuspensions': {'totalCells': 0.0} - } - ] - for values in (['male', 'female'], ['male'], ['female']): - with self.subTest(values=values): - filters['biologicalSex'] = {'is': values} - url = self.base_url.set(path='/index/summary', - args=dict(catalog=self.catalog, - filters=json.dumps(filters))) - response = requests.get(str(url)) - response.raise_for_status() - summary = response.json() - self.assertElasticEqual(expected_projects, summary['projects']) - - def test_summary_filter_none(self): - for use_filter, labCount in [(False, 15), (True, 1)]: - with self.subTest(use_filter=use_filter, labCount=labCount): - params = dict(catalog=self.catalog) - if use_filter: - params['filters'] = json.dumps({"organPart": {"is": [None]}}) - url = self.base_url.set(path='/index/summary', args=params) - response = requests.get(str(url)) - response.raise_for_status() - summary_object = response.json() - self.assertEqual(summary_object['labCount'], labCount) - - def test_projects_response(self): - """ - Verify a project's contributors, laboratory, bionetworks, - and publications. - """ - params = { - 'catalog': self.catalog, - 'filters': json.dumps({ - 'projectId': { - 'is': ['50151324-f3ed-4358-98af-ec352a940a61'] - } - }) - } - url = self.base_url.set(path='/index/projects', args=params) - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - project = one(one(response_json['hits'])['projects']) - expected_contributors = [ - { - 'institution': 'National Institutes of Health', - 'contactName': 'Drake,W,Williams', - 'projectRole': 'experimental scientist', - 'laboratory': 'National Institute of Dental and Craniofacial Research,', - 'correspondingContributor': False, - 'email': None - }, - { - 'institution': 'National Institutes of Health', - 'contactName': 'Niki,,Moutsopoulos', - 'projectRole': 'principal investigator', - 'laboratory': 'National Institute of Dental and Craniofacial Research,', - 'correspondingContributor': True, - 'email': 'nmoutsopoulos@dir.nidr.nih.gov' - }, - { - 'institution': 'University of California, Santa Cruz', - 'contactName': 'Tiana,,Pereira', - 'projectRole': 'data curator', - 'laboratory': 'Human Cell Atlas Data Coordination Platform', - 'correspondingContributor': False, - 'email': 'tmpereir@ucsc.edu' - } - ] - self.assertElasticEqual(expected_contributors, project['contributors']) - expected_laboratory = [ - 'Human Cell Atlas Data Coordination Platform', - 'National Institute of Dental and Craniofacial Research,' - ] - self.assertElasticEqual(expected_laboratory, project['laboratory']) - expected_publications = [ - { - 'publicationTitle': 'Human oral mucosa cell atlas reveals a ' - 'stromal-neutrophil axis regulating tissue immunity', - 'officialHcaPublication': False, - 'publicationUrl': 'https://pubmed.ncbi.nlm.nih.gov/34129837/', - 'doi': '10.1016/j.cell.2021.05.013' - } - ] - self.assertEqual(expected_publications, project['publications']) - expected_tissue_atlas = [ - {'atlas': None, 'version': None}, - {'atlas': None, 'version': None}, - {'atlas': 'Lung', 'version': None}, - {'atlas': 'Retina', 'version': 'v1.0'}, - {'atlas': 'Blood', 'version': 'v1.0'}, - ] - expected_bionetwork_name = ['Eye', 'Immune', 'Kidney', 'Lung', 'Skin'] - self.assertEqual(expected_tissue_atlas, project['tissueAtlas']) - self.assertEqual(expected_bionetwork_name, project['bionetworkName']) - self.assertTrue(project['isTissueAtlasProject']) - - tissue_atlas = response_json['termFacets']['tissueAtlas'] - self.assertEqual(5, tissue_atlas['total']) - terms = { - entry['term']: entry['count'] - for entry in tissue_atlas['terms'] - } - self.assertEqual({None: 2, 'Lung': 1, 'Retina': 1, 'Blood': 1}, terms) - - def test_data_use_and_duos_id(self): - test_data = [ - ('dataUseRestriction', 'GRU'), - ('duosId', 'DUOS-999999') - ] - for field, value in test_data: - with self.subTest(field=field): - params = { - 'catalog': self.catalog, - 'sort': field, - 'filters': json.dumps({field: {'is': [value]}}) - } - plugin = self.index_service.metadata_plugin(self.catalog) - for entity_type in plugin.exposed_indices: - url = self.base_url.set(path=('index', entity_type), args=params) - response = requests.get(url) - response.raise_for_status() - response = response.json() - if field != 'duosId': - facets = response['termFacets'] - terms = {term['term'] for term in facets[field]['terms']} - self.assertEqual({None, value}, terms) - hits = response['hits'] - self.assertGreater(len(hits), 0) - expected = value if entity_type == 'projects' else [value] - for hit in hits: - self.assertEqual(expected, one(hit['projects'])[field]) - - -class TestUnpopulatedIndexResponse(IndexResponseTestCase): - - @classmethod - def bundles(cls) -> list[BundleFQID]: - return [] - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - cls.maxDiff = None - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - @property - def facets(self) -> Sequence[str]: - # The plugin lists the fields that are used during aggregation to create - # the facets. The aggregation for the source ID field is replaced with - # the `accessible` term facet, so we must perform the same replacement - # before the list of facets can be used to verify the contents of the - # response. - plugin: MetadataPlugin = self.app_module.app.metadata_plugin - facets = list(plugin.facets) - special_fields = plugin.special_fields - facets[facets.index(special_fields.source_id)] = special_fields.accessible - return facets - - @property - def field_mapping(self) -> Mapping[str, FieldPath]: - return self.app_module.app.metadata_plugin.field_mapping - - def entity_types(self) -> list[str]: - return [ - entity_type - for entity_type in self.index_service.entity_types(self.catalog) - if entity_type != 'cell_suspensions' - ] - - def test_empty_response(self): - for entity_type in self.entity_types(): - with self.subTest(entity_type=entity_type): - url = self.base_url.set(path=('index', entity_type), - args=dict(order='asc')) - response = requests.get(str(url)) - response.raise_for_status() - sort_field = self.app_module.app.metadata_plugin.exposed_indices[entity_type].field_name - expected_response = { - 'hits': [], - 'pagination': { - 'count': 0, - 'total': 0, - 'size': 10, - 'next': None, - 'previous': None, - 'pages': 0, - 'sort': sort_field, - 'order': 'asc' - }, - 'termFacets': { - facet: {'terms': [], 'total': 0, 'type': 'terms'} - for facet in self.facets - } - } - self.assertEqual(expected_response, response.json()) - - def test_sorted_responses(self): - # FIXME: Can't sort on fields of nested type - # https://github.com/DataBiosphere/azul/issues/2621 - sortable_fields = { - field - for field in self.field_mapping - if field not in {'assayType', 'organismAgeRange', 'accessions', 'tissueAtlas'} - } - - for entity_type, field in product(self.entity_types(), sortable_fields): - with self.subTest(entity=entity_type, field=field): - url = self.base_url.set(path=('index', entity_type), - args=dict(sort=field)) - response = requests.get(str(url)) - self.assertEqual(200, response.status_code) - - -class TestListCatalogsResponse(DCP1CannedBundleTestCase, LocalAppTestCase): - maxDiff = None - - @classmethod - def lambda_name(cls) -> str: - return 'service' - - def test(self): - response = requests.get(str(self.base_url.set(path='/index/catalogs'))) - self.assertEqual(200, response.status_code) - self.assertEqual({ - 'default_catalog': 'test', - 'catalogs': { - 'test': { - 'internal': False, - 'atlas': 'hca', - 'plugins': { - 'metadata': { - 'name': 'hca', - 'indices': { - 'bundles': { - 'default_sort': 'bundleVersion', - 'default_order': 'desc' - }, - 'files': { - 'default_sort': 'fileName', - 'default_order': 'asc' - }, - 'projects': { - 'default_sort': 'projectTitle', - 'default_order': 'asc' - }, - 'samples': { - 'default_sort': 'sampleId', - 'default_order': 'asc' - } - } - }, - 'repository': { - 'name': 'dss', - 'sources': [ - 'https://fake_dss_instance/v1:/2' - ], - } - } - } - } - }, response.json()) - - -class TestResponseWithDCP2Cans(DCP2CannedBundleTestCase, WebServiceTestCase): - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - @classmethod - def bundles(cls) -> list[SourcedBundleFQID]: - return [ - cls.bundle_fqid(uuid='1b6d8348-d6e9-406a-aa6a-7ee886e52bf9', - version='2019-09-24T09:35:06.958773Z') - ] - - def test_tdr_sources(self): - url = self.base_url.set(path='/index/projects') - response = requests.get(str(url)) - response.raise_for_status() - response_json = response.json() - plugin = self.index_service.metadata_plugin(self.catalog) - special_fields = plugin.special_fields - for hit in response_json['hits']: - source = one(hit['sources']) - source = TDRSourceRef(id=source[special_fields.source_id], - spec=TDRSourceSpec.parse(source[special_fields.source_spec])) - self.assertEqual(self.source, source) - - def get_file(self, entry_id: str) -> JSON: - url = self.base_url.set(path=('index', 'files', entry_id)) - response = requests.get(str(url)) - response.raise_for_status() - return one(response.json()['files']) - - def test_file_urls(self): - with self.subTest(phantom=False): - file = self.get_file('507d2814-1688-54e7-b73e-2f831aa34368') - expected_url = str(self.base_url.set(path='/repository/files/519ee493-0984-5b54-95ec-85452d506b00', - args=dict(catalog=self.catalog, - version='2019-09-24T09:35:06.958773Z'))) - expected_drs_uri = str(furl(scheme='drs', - netloc=self.mock_tdr_service_url.netloc, - path=f'v1_{self.source.id}_9d6f268f-f484-5381-9095-f0998fa0c961')) - - self.assertEqual(expected_url, file['url']) - self.assertEqual(expected_drs_uri, file['drs_uri']) - - with self.subTest(phantom=True): - file = self.get_file('c343a47d-683f-571d-99c4-1331841b4e63') - self.assertIsNone(file['url']) - self.assertIsNone(file['drs_uri']) diff --git a/test/service/test_response_anvil.py b/test/service/test_response_anvil.py deleted file mode 100644 index 1423eeb54f..0000000000 --- a/test/service/test_response_anvil.py +++ /dev/null @@ -1,1544 +0,0 @@ -import requests - -from azul import ( - JSON, -) -from azul.logging import ( - configure_test_logging, -) -from azul.plugins.repository.tdr_anvil import ( - TDRAnvilBundleFQID, -) -from indexer.test_anvil import ( - AnvilIndexerTestCase, -) -from service import ( - WebServiceTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class TestAnvilResponse(AnvilIndexerTestCase, WebServiceTestCase): - - @classmethod - def setUpClass(cls): - super().setUpClass() - cls._setup_indices() - - @classmethod - def tearDownClass(cls): - cls._teardown_indices() - super().tearDownClass() - - @classmethod - def bundles(cls) -> list[TDRAnvilBundleFQID]: - return [cls.primary_bundle(), cls.duos_bundle()] - - def test_entity_indices(self): - self.maxDiff = None - - responses_by_entity_type = { - 'activities': { - 'hits': [ - { - 'entryId': '1509ef40-d1ba-440d-b298-16b7c173dcd4', - 'sources': [ - { - 'source_spec': 'tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0', - 'source_id': '6c87f0e1-509d-46a4-b845-7584df39263b' - } - ], - 'bundles': [ - { - 'bundle_uuid': '826dea02-e274-affe-aabc-eb3db63ad068', - 'bundle_version': '2022-06-01T00:00:00.000000Z' - } - ], - 'activities': [ - { - 'document_id': '1509ef40-d1ba-440d-b298-16b7c173dcd4', - 'source_datarepo_row_ids': ['sequencing:d4f6c0c4-1e11-438e-8218-cfea63b8b051'], - 'activity_id': '18b3be87-e26b-4376-0d8d-c1e370e90e07', - 'activity_table': 'anvil_sequencingactivity', - 'activity_type': 'Sequencing', - 'assay_type': [None], - 'data_modality': [None], - 'reference_assembly': [None], - 'accessible': True - } - ], - 'biosamples': [ - { - 'anatomical_site': [None], - 'biosample_type': [None], - 'disease': [None], - 'donor_age_at_collection_unit': [None], - 'donor_age_at_collection': [{'gte': None, 'lte': None}] - } - ], - 'datasets': [ - { - 'dataset_id': ['52ee7665-7033-63f2-a8d9-ce8e32666739'], - 'title': ['ANVIL_CMG_UWASH_DS_BDIS'] - } - ], - 'diagnoses': [ - { - 'disease': ['redacted-A61iJlLx', 'redacted-g50ublm/'], - 'diagnosis_age_unit': [None], - 'onset_age_unit': [None], - 'phenotype': ['redacted-acSYHZUr'], - 'phenopacket': [None] - } - ], - 'donors': [ - { - 'organism_type': ['redacted-ACw+6ecI'], - 'phenotypic_sex': ['redacted-JfQ0b3xG'], - 'reported_ethnicity': ['redacted-NSkwDycK'], - 'genetic_ancestry': [None] - } - ], - 'files': [ - { - 'data_modality': [None], - 'file_format': ['.vcf.gz'], - 'file_size': 213021639, - 'reference_assembly': [None], - 'is_supplementary': [False], - 'count': 1 - } - ] - }, - { - 'entryId': '816e364e-1193-4e5b-a91a-14e4b009157c', - 'sources': [ - { - 'source_spec': 'tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0', - 'source_id': '6c87f0e1-509d-46a4-b845-7584df39263b' - } - ], - 'bundles': [ - { - 'bundle_uuid': '826dea02-e274-affe-aabc-eb3db63ad068', - 'bundle_version': '2022-06-01T00:00:00.000000Z' - } - ], - 'activities': [ - { - 'document_id': '816e364e-1193-4e5b-a91a-14e4b009157c', - 'source_datarepo_row_ids': ['sequencing:a6c663c7-6f26-4ed2-af9d-48e9c709a22b'], - 'activity_id': 'a60c5138-3749-f7cb-8714-52d389ad5231', - 'activity_table': 'anvil_sequencingactivity', - 'activity_type': 'Sequencing', - 'assay_type': [None], - 'data_modality': [None], - 'reference_assembly': [None], - 'accessible': True - } - ], - 'biosamples': [ - { - 'anatomical_site': [None], - 'biosample_type': [None], - 'disease': [None], - 'donor_age_at_collection_unit': [None], - 'donor_age_at_collection': [{'gte': None, 'lte': None}] - } - ], - 'datasets': [ - { - 'dataset_id': ['52ee7665-7033-63f2-a8d9-ce8e32666739'], - 'title': ['ANVIL_CMG_UWASH_DS_BDIS'] - } - ], - 'diagnoses': [ - { - 'disease': ['redacted-A61iJlLx', 'redacted-g50ublm/'], - 'diagnosis_age_unit': [None], - 'onset_age_unit': [None], - 'phenotype': ['redacted-acSYHZUr'], - 'phenopacket': [None] - } - ], - 'donors': [ - { - 'organism_type': ['redacted-ACw+6ecI'], - 'phenotypic_sex': ['redacted-JfQ0b3xG'], - 'reported_ethnicity': ['redacted-NSkwDycK'], - 'genetic_ancestry': [None] - } - ], - 'files': [ - { - 'data_modality': [None], - 'file_format': ['.bam'], - 'file_size': 3306845592, - 'reference_assembly': [None], - 'is_supplementary': [False], - 'count': 1 - } - ] - } - ], - 'pagination': { - 'count': 2, - 'total': 2, - 'size': 10, - 'next': None, - 'previous': None, - 'pages': 1, - 'sort': 'activities.activity_id', - 'order': 'asc' - }, - 'termFacets': { - 'accessible': { - 'terms': [{'count': 2, 'term': 'true'}], - 'total': 2, - 'type': 'terms' - }, - 'diagnoses.phenotype': { - 'terms': [{'term': 'redacted-acSYHZUr', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'biosamples.disease': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'diagnoses.disease': { - 'terms': [ - {'term': 'redacted-A61iJlLx', 'count': 2}, - {'term': 'redacted-g50ublm/', 'count': 2} - ], - 'total': 2, - 'type': 'terms' - }, - 'diagnoses.phenopacket': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'files.is_supplementary': { - 'terms': [{'term': 'false', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'files.data_modality': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'donors.reported_ethnicity': { - 'terms': [{'term': 'redacted-NSkwDycK', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'datasets.consent_group': { - 'terms': [{'term': 'DS-BDIS', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'activities.assay_type': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'datasets.title': { - 'terms': [{'term': 'ANVIL_CMG_UWASH_DS_BDIS', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'biosamples.anatomical_site': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'donors.organism_type': { - 'terms': [{'term': 'redacted-ACw+6ecI', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'datasets.data_use_permission': { - 'terms': [{'term': 'DS-BDIS', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'donors.phenotypic_sex': { - 'terms': [{'term': 'redacted-JfQ0b3xG', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'activities.data_modality': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'activities.activity_type': { - 'terms': [{'term': 'Sequencing', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'biosamples.biosample_type': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'files.file_format': { - 'terms': [ - {'term': '.bam', 'count': 1}, - {'term': '.vcf.gz', 'count': 1} - ], - 'total': 2, - 'type': 'terms' - }, - 'datasets.registered_identifier': { - 'terms': [{'term': 'phs000693', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'files.reference_assembly': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - } - } - }, - 'biosamples': { - 'hits': [ - { - 'entryId': '826dea02-e274-4ffe-aabc-eb3db63ad068', - 'sources': [ - { - 'source_spec': 'tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0', - 'source_id': '6c87f0e1-509d-46a4-b845-7584df39263b' - } - ], - 'bundles': [ - { - 'bundle_uuid': '826dea02-e274-affe-aabc-eb3db63ad068', - 'bundle_version': '2022-06-01T00:00:00.000000Z' - } - ], - 'activities': [ - { - 'activity_type': ['Sequencing'], - 'assay_type': [None], - 'data_modality': [None] - } - ], - 'biosamples': [ - { - 'document_id': '826dea02-e274-4ffe-aabc-eb3db63ad068', - 'source_datarepo_row_ids': ['sample:98048c3b-2525-4090-94fd-477de31f2608'], - 'biosample_id': 'f9d40cf6-37b8-22f3-ce35-0dc614d2452b', - 'anatomical_site': None, - 'apriori_cell_type': [None], - 'biosample_type': None, - 'disease': None, - 'donor_age_at_collection_unit': None, - 'donor_age_at_collection': {'gte': None, 'lte': None}, - 'accessible': True - } - ], - 'datasets': [ - { - 'dataset_id': ['52ee7665-7033-63f2-a8d9-ce8e32666739'], - 'title': ['ANVIL_CMG_UWASH_DS_BDIS'] - } - ], - 'diagnoses': [ - { - 'disease': ['redacted-A61iJlLx', 'redacted-g50ublm/'], - 'diagnosis_age_unit': [None], - 'onset_age_unit': [None], - 'phenotype': ['redacted-acSYHZUr'], - 'phenopacket': [None] - } - ], - 'donors': [ - { - 'organism_type': ['redacted-ACw+6ecI'], - 'phenotypic_sex': ['redacted-JfQ0b3xG'], - 'reported_ethnicity': ['redacted-NSkwDycK'], - 'genetic_ancestry': [None] - } - ], - 'files': [ - { - 'data_modality': [None], - 'file_format': ['.vcf.gz'], - 'file_size': 213021639, - 'reference_assembly': [None], - 'is_supplementary': [False], - 'count': 1 - }, - { - 'data_modality': [None], - 'file_format': ['.bam'], - 'file_size': 3306845592, - 'reference_assembly': [None], - 'is_supplementary': [False], - 'count': 1 - } - ] - } - ], - 'pagination': { - 'count': 1, - 'total': 1, - 'size': 10, - 'next': None, - 'previous': None, - 'pages': 1, - 'sort': 'biosamples.biosample_id', - 'order': 'asc' - }, - 'termFacets': { - 'accessible': { - 'terms': [{'count': 1, 'term': 'true'}], - 'total': 1, - 'type': 'terms' - }, - 'diagnoses.phenotype': { - 'terms': [{'term': 'redacted-acSYHZUr', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'biosamples.disease': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'diagnoses.disease': { - 'terms': [ - {'term': 'redacted-A61iJlLx', 'count': 1}, - {'term': 'redacted-g50ublm/', 'count': 1} - ], - 'total': 1, - 'type': 'terms' - }, - 'diagnoses.phenopacket': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'files.is_supplementary': { - 'terms': [{'term': 'false', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'files.data_modality': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'donors.reported_ethnicity': { - 'terms': [{'term': 'redacted-NSkwDycK', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'datasets.consent_group': { - 'terms': [{'term': 'DS-BDIS', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'activities.assay_type': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'datasets.title': { - 'terms': [{'term': 'ANVIL_CMG_UWASH_DS_BDIS', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'biosamples.anatomical_site': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'donors.organism_type': { - 'terms': [{'term': 'redacted-ACw+6ecI', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'datasets.data_use_permission': { - 'terms': [{'term': 'DS-BDIS', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'donors.phenotypic_sex': { - 'terms': [{'term': 'redacted-JfQ0b3xG', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'activities.data_modality': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'activities.activity_type': { - 'terms': [{'term': 'Sequencing', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'biosamples.biosample_type': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'files.file_format': { - 'terms': [ - {'term': '.bam', 'count': 1}, - {'term': '.vcf.gz', 'count': 1} - ], - 'total': 1, - 'type': 'terms' - }, - 'datasets.registered_identifier': { - 'terms': [{'term': 'phs000693', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'files.reference_assembly': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - } - } - }, - 'bundles': { - 'hits': [ - { - 'activities': [], - 'biosamples': [], - 'bundles': [ - { - 'accessible': True, - 'bundle_uuid': '2370f948-2783-aeb6-afea-e022897f4dcf', - 'bundle_version': '2022-06-01T00:00:00.000000Z' - } - ], - 'datasets': [{'duos_id': ['DUOS-000000']}], - 'diagnoses': [], - 'donors': [], - 'entryId': '2370f948-2783-aeb6-afea-e022897f4dcf', - 'files': [], - 'sources': [ - { - 'source_id': '6c87f0e1-509d-46a4-b845-7584df39263b', - 'source_spec': 'tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0' - } - ] - }, - { - 'activities': [ - { - 'activity_type': ['Sequencing'], - 'assay_type': [None], - 'data_modality': [None] - } - ], - 'biosamples': [ - { - 'anatomical_site': [None], - 'biosample_type': [None], - 'disease': [None], - 'donor_age_at_collection': [{'gte': None, 'lte': None}], - 'donor_age_at_collection_unit': [None] - } - ], - 'bundles': [ - { - 'accessible': True, - 'bundle_uuid': '826dea02-e274-affe-aabc-eb3db63ad068', - 'bundle_version': '2022-06-01T00:00:00.000000Z' - } - ], - 'datasets': [ - { - 'dataset_id': ['52ee7665-7033-63f2-a8d9-ce8e32666739'], - 'title': ['ANVIL_CMG_UWASH_DS_BDIS'] - } - ], - 'diagnoses': [ - { - 'diagnosis_age_unit': [None], - 'disease': ['redacted-A61iJlLx', 'redacted-g50ublm/'], - 'onset_age_unit': [None], - 'phenopacket': [None], - 'phenotype': ['redacted-acSYHZUr'] - } - ], - 'donors': [ - { - 'genetic_ancestry': [None], - 'organism_type': ['redacted-ACw+6ecI'], - 'phenotypic_sex': ['redacted-JfQ0b3xG'], - 'reported_ethnicity': ['redacted-NSkwDycK'] - } - ], - 'entryId': '826dea02-e274-affe-aabc-eb3db63ad068', - 'files': [ - { - 'count': 1, - 'data_modality': [None], - 'file_format': ['.vcf.gz'], - 'file_size': 213021639, - 'is_supplementary': [False], - 'reference_assembly': [None] - }, - { - 'count': 1, - 'data_modality': [None], - 'file_format': ['.bam'], - 'file_size': 3306845592, - 'is_supplementary': [False], - 'reference_assembly': [None] - } - ], - 'sources': [ - { - 'source_id': '6c87f0e1-509d-46a4-b845-7584df39263b', - 'source_spec': 'tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0' - } - ] - } - ], - 'pagination': { - 'count': 2, - 'next': None, - 'order': 'asc', - 'pages': 1, - 'previous': None, - 'size': 10, - 'sort': 'bundle_uuid', - 'total': 2 - }, - 'termFacets': { - 'accessible': { - 'terms': [{'count': 2, 'term': 'true'}], - 'total': 2, - 'type': 'terms' - }, - 'activities.activity_type': { - 'terms': [ - {'count': 1, 'term': 'Sequencing'}, - {'count': 1, 'term': None} - ], - 'total': 2, - 'type': 'terms' - }, - 'activities.assay_type': { - 'terms': [{'count': 2, 'term': None}], - 'total': 2, - 'type': 'terms' - }, - 'activities.data_modality': { - 'terms': [{'count': 2, 'term': None}], - 'total': 2, - 'type': 'terms' - }, - 'biosamples.anatomical_site': { - 'terms': [{'count': 2, 'term': None}], - 'total': 2, - 'type': 'terms' - }, - 'biosamples.biosample_type': { - 'terms': [{'count': 2, 'term': None}], - 'total': 2, - 'type': 'terms' - }, - 'biosamples.disease': { - 'terms': [{'count': 2, 'term': None}], - 'total': 2, - 'type': 'terms' - }, - 'datasets.consent_group': { - 'terms': [ - {'count': 1, 'term': 'DS-BDIS'}, - {'count': 1, 'term': None} - ], - 'total': 2, - 'type': 'terms' - }, - 'datasets.data_use_permission': { - 'terms': [ - {'count': 1, 'term': 'DS-BDIS'}, - {'count': 1, 'term': None} - ], - 'total': 2, - 'type': 'terms' - }, - 'datasets.registered_identifier': { - 'terms': [ - {'count': 1, 'term': 'phs000693'}, - {'count': 1, 'term': None} - ], - 'total': 2, - 'type': 'terms' - }, - 'datasets.title': { - 'terms': [ - {'count': 1, 'term': 'ANVIL_CMG_UWASH_DS_BDIS'}, - {'count': 1, 'term': None} - ], - 'total': 2, - 'type': 'terms' - }, - 'diagnoses.disease': { - 'terms': [ - {'count': 1, 'term': 'redacted-A61iJlLx'}, - {'count': 1, 'term': 'redacted-g50ublm/'}, - {'count': 1, 'term': None} - ], - 'total': 2, - 'type': 'terms' - }, - 'diagnoses.phenopacket': { - 'terms': [{'count': 2, 'term': None}], - 'total': 2, - 'type': 'terms' - }, - 'diagnoses.phenotype': { - 'terms': [ - {'count': 1, 'term': 'redacted-acSYHZUr'}, - {'count': 1, 'term': None} - ], - 'total': 2, - 'type': 'terms' - }, - 'donors.organism_type': { - 'terms': [ - {'count': 1, 'term': 'redacted-ACw+6ecI'}, - {'count': 1, 'term': None} - ], - 'total': 2, - 'type': 'terms' - }, - 'donors.phenotypic_sex': { - 'terms': [ - {'count': 1, 'term': 'redacted-JfQ0b3xG'}, - {'count': 1, 'term': None} - ], - 'total': 2, - 'type': 'terms' - }, - 'donors.reported_ethnicity': { - 'terms': [ - {'count': 1, 'term': 'redacted-NSkwDycK'}, - {'count': 1, 'term': None} - ], - 'total': 2, - 'type': 'terms' - }, - 'files.data_modality': { - 'terms': [{'count': 2, 'term': None}], - 'total': 2, - 'type': 'terms' - }, - 'files.file_format': { - 'terms': [ - {'count': 1, 'term': '.bam'}, - {'count': 1, 'term': '.vcf.gz'}, - {'count': 1, 'term': None} - ], - 'total': 2, - 'type': 'terms' - }, - 'files.is_supplementary': { - 'terms': [ - {'count': 1, 'term': 'false'}, - {'count': 1, 'term': None} - ], - 'total': 2, - 'type': 'terms' - }, - 'files.reference_assembly': { - 'terms': [{'count': 2, 'term': None}], - 'total': 2, - 'type': 'terms' - } - } - }, - 'datasets': { - 'hits': [ - { - 'entryId': '2370f948-2783-4eb6-afea-e022897f4dcf', - 'sources': [ - { - 'source_spec': 'tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0', - 'source_id': '6c87f0e1-509d-46a4-b845-7584df39263b' - } - ], - 'bundles': [ - { - 'bundle_uuid': '2370f948-2783-aeb6-afea-e022897f4dcf', - 'bundle_version': '2022-06-01T00:00:00.000000Z' - }, - { - 'bundle_uuid': '826dea02-e274-affe-aabc-eb3db63ad068', - 'bundle_version': '2022-06-01T00:00:00.000000Z' - } - ], - 'activities': [ - { - 'activity_type': ['Sequencing'], - 'assay_type': [None], - 'data_modality': [None] - } - ], - 'biosamples': [ - { - 'anatomical_site': [None], - 'biosample_type': [None], - 'disease': [None], - 'donor_age_at_collection_unit': [None], - 'donor_age_at_collection': [{'gte': None, 'lte': None}] - } - ], - 'datasets': [ - { - 'document_id': '2370f948-2783-4eb6-afea-e022897f4dcf', - 'source_datarepo_row_ids': [ - 'workspace_attributes:7a22b629-9d81-4e4d-9297-f9e44ed760bc' - ], - 'dataset_id': '52ee7665-7033-63f2-a8d9-ce8e32666739', - 'consent_group': ['DS-BDIS'], - 'data_use_permission': ['DS-BDIS'], - 'owner': ['Debbie Nickerson'], - 'principal_investigator': [None], - 'registered_identifier': ['phs000693'], - 'title': 'ANVIL_CMG_UWASH_DS_BDIS', - 'data_modality': [None], - 'accessible': True, - 'description': 'Study description from DUOS', - 'duos_id': 'DUOS-000000' - } - ], - 'diagnoses': [ - { - 'disease': ['redacted-A61iJlLx', 'redacted-g50ublm/'], - 'diagnosis_age_unit': [None], - 'onset_age_unit': [None], - 'phenotype': ['redacted-acSYHZUr'], - 'phenopacket': [None] - } - ], - 'donors': [ - { - 'organism_type': ['redacted-ACw+6ecI'], - 'phenotypic_sex': ['redacted-JfQ0b3xG'], - 'reported_ethnicity': ['redacted-NSkwDycK'], - 'genetic_ancestry': [None] - } - ], - 'files': [ - { - 'data_modality': [None], - 'file_format': ['.vcf.gz'], - 'file_size': 213021639, - 'reference_assembly': [None], - 'is_supplementary': [False], - 'count': 1 - }, - { - 'data_modality': [None], - 'file_format': ['.bam'], - 'file_size': 3306845592, - 'reference_assembly': [None], - 'is_supplementary': [False], - 'count': 1 - } - ] - } - ], - 'pagination': { - 'count': 1, - 'total': 1, - 'size': 10, - 'next': None, - 'previous': None, - 'pages': 1, - 'sort': 'datasets.dataset_id', - 'order': 'asc' - }, - 'termFacets': { - 'accessible': { - 'terms': [{'count': 1, 'term': 'true'}], - 'total': 1, - 'type': 'terms' - }, - 'diagnoses.phenotype': { - 'terms': [{'term': 'redacted-acSYHZUr', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'biosamples.disease': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'diagnoses.disease': { - 'terms': [ - {'term': 'redacted-A61iJlLx', 'count': 1}, - {'term': 'redacted-g50ublm/', 'count': 1} - ], - 'total': 1, - 'type': 'terms' - }, - 'diagnoses.phenopacket': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'files.is_supplementary': { - 'terms': [{'term': 'false', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'files.data_modality': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'donors.reported_ethnicity': { - 'terms': [{'term': 'redacted-NSkwDycK', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'datasets.consent_group': { - 'terms': [{'term': 'DS-BDIS', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'activities.assay_type': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'datasets.title': { - 'terms': [{'term': 'ANVIL_CMG_UWASH_DS_BDIS', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'biosamples.anatomical_site': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'donors.organism_type': { - 'terms': [{'term': 'redacted-ACw+6ecI', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'datasets.data_use_permission': { - 'terms': [{'term': 'DS-BDIS', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'donors.phenotypic_sex': { - 'terms': [{'term': 'redacted-JfQ0b3xG', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'activities.data_modality': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'activities.activity_type': { - 'terms': [{'term': 'Sequencing', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'biosamples.biosample_type': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'files.file_format': { - 'terms': [ - {'term': '.bam', 'count': 1}, - {'term': '.vcf.gz', 'count': 1} - ], - 'total': 1, - 'type': 'terms' - }, - 'datasets.registered_identifier': { - 'terms': [{'term': 'phs000693', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'files.reference_assembly': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - } - } - }, - 'donors': { - 'hits': [ - { - 'entryId': 'bfd991f2-2797-4083-972a-da7c6d7f1b2e', - 'sources': [ - { - 'source_spec': 'tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0', - 'source_id': '6c87f0e1-509d-46a4-b845-7584df39263b' - } - ], - 'bundles': [ - { - 'bundle_uuid': '826dea02-e274-affe-aabc-eb3db63ad068', - 'bundle_version': '2022-06-01T00:00:00.000000Z' - } - ], - 'activities': [ - { - 'activity_type': ['Sequencing'], - 'assay_type': [None], - 'data_modality': [None] - } - ], - 'biosamples': [ - { - 'anatomical_site': [None], - 'biosample_type': [None], - 'disease': [None], - 'donor_age_at_collection_unit': [None], - 'donor_age_at_collection': [{'gte': None, 'lte': None}] - } - ], - 'datasets': [ - { - 'dataset_id': ['52ee7665-7033-63f2-a8d9-ce8e32666739'], - 'title': ['ANVIL_CMG_UWASH_DS_BDIS'] - } - ], - 'diagnoses': [ - { - 'disease': ['redacted-A61iJlLx', 'redacted-g50ublm/'], - 'diagnosis_age_unit': [None], - 'diagnosis_age': [{'gte': None, 'lte': None}], - 'onset_age_unit': [None], - 'onset_age': [{'gte': None, 'lte': None}], - 'phenotype': ['redacted-acSYHZUr'], - 'phenopacket': [None] - } - ], - 'donors': [ - { - 'document_id': 'bfd991f2-2797-4083-972a-da7c6d7f1b2e', - 'source_datarepo_row_ids': ['subject:c23887a0-20c1-44e4-a09e-1c5dfdc2d0ef'], - 'donor_id': '1e2bd7e5-f45e-a391-daea-7c060be76acd', - 'organism_type': 'redacted-ACw+6ecI', - 'phenotypic_sex': 'redacted-JfQ0b3xG', - 'reported_ethnicity': ['redacted-NSkwDycK'], - 'genetic_ancestry': [None], - 'accessible': True - } - ], - 'files': [ - { - 'data_modality': [None], - 'file_format': ['.vcf.gz'], - 'file_size': 213021639, - 'reference_assembly': [None], - 'is_supplementary': [False], - 'count': 1 - }, - { - 'data_modality': [None], - 'file_format': ['.bam'], - 'file_size': 3306845592, - 'reference_assembly': [None], - 'is_supplementary': [False], - 'count': 1 - } - ] - } - ], - 'pagination': { - 'count': 1, - 'total': 1, - 'size': 10, - 'next': None, - 'previous': None, - 'pages': 1, - 'sort': 'donors.donor_id', - 'order': 'asc' - }, - 'termFacets': { - 'accessible': { - 'terms': [{'count': 1, 'term': 'true'}], - 'total': 1, - 'type': 'terms' - }, - 'diagnoses.phenotype': { - 'terms': [{'term': 'redacted-acSYHZUr', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'biosamples.disease': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'diagnoses.disease': { - 'terms': [ - {'term': 'redacted-A61iJlLx', 'count': 1}, - {'term': 'redacted-g50ublm/', 'count': 1} - ], - 'total': 1, - 'type': 'terms' - }, - 'diagnoses.phenopacket': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'files.is_supplementary': { - 'terms': [{'term': 'false', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'files.data_modality': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'donors.reported_ethnicity': { - 'terms': [{'term': 'redacted-NSkwDycK', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'datasets.consent_group': { - 'terms': [{'term': 'DS-BDIS', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'activities.assay_type': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'datasets.title': { - 'terms': [{'term': 'ANVIL_CMG_UWASH_DS_BDIS', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'biosamples.anatomical_site': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'donors.organism_type': { - 'terms': [{'term': 'redacted-ACw+6ecI', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'datasets.data_use_permission': { - 'terms': [{'term': 'DS-BDIS', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'donors.phenotypic_sex': { - 'terms': [{'term': 'redacted-JfQ0b3xG', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'activities.data_modality': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'activities.activity_type': { - 'terms': [{'term': 'Sequencing', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'biosamples.biosample_type': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'files.file_format': { - 'terms': [ - {'term': '.bam', 'count': 1}, - {'term': '.vcf.gz', 'count': 1} - ], - 'total': 1, - 'type': 'terms' - }, - 'datasets.registered_identifier': { - 'terms': [{'term': 'phs000693', 'count': 1}], - 'total': 1, - 'type': 'terms' - }, - 'files.reference_assembly': { - 'terms': [{'term': None, 'count': 1}], - 'total': 1, - 'type': 'terms' - } - } - }, - 'files': { - 'hits': [ - { - 'entryId': '15b76f9c-6b46-433f-851d-34e89f1b9ba6', - 'sources': [ - { - 'source_spec': 'tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0', - 'source_id': '6c87f0e1-509d-46a4-b845-7584df39263b' - } - ], - 'bundles': [ - { - 'bundle_uuid': '826dea02-e274-affe-aabc-eb3db63ad068', - 'bundle_version': '2022-06-01T00:00:00.000000Z' - } - ], - 'activities': [ - { - 'activity_type': ['Sequencing'], - 'assay_type': [None], - 'data_modality': [None] - } - ], - 'biosamples': [ - { - 'anatomical_site': [None], - 'biosample_type': [None], - 'disease': [None], - 'donor_age_at_collection_unit': [None], - 'donor_age_at_collection': [{'gte': None, 'lte': None}] - } - ], - 'datasets': [ - { - 'dataset_id': ['52ee7665-7033-63f2-a8d9-ce8e32666739'], - 'title': ['ANVIL_CMG_UWASH_DS_BDIS'] - } - ], - 'diagnoses': [ - { - 'disease': ['redacted-A61iJlLx', 'redacted-g50ublm/'], - 'diagnosis_age_unit': [None], - 'onset_age_unit': [None], - 'phenotype': ['redacted-acSYHZUr'], - 'phenopacket': [None] - } - ], - 'donors': [ - { - 'organism_type': ['redacted-ACw+6ecI'], - 'phenotypic_sex': ['redacted-JfQ0b3xG'], - 'reported_ethnicity': ['redacted-NSkwDycK'], - 'genetic_ancestry': [None] - } - ], - 'files': [ - { - 'document_id': '15b76f9c-6b46-433f-851d-34e89f1b9ba6', - 'source_datarepo_row_ids': [ - 'file_inventory:81d16471-97ac-48fe-99a0-73d9ec62c2c0' - ], - 'file_id': '1e269f04-4347-4188-b060-1dcc69e71d67', - 'data_modality': [None], - 'file_format': '.vcf.gz', - 'file_size': 213021639, - 'file_md5sum': 'vuxgbuCqKZ/fkT9CWTFmIg==', - 'reference_assembly': [None], - 'file_name': '307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz', - 'is_supplementary': False, - 'version': self.version, - 'uuid': '15b76f9c-6b46-433f-851d-34e89f1b9ba6', - 'size': 213021639, - 'name': '307500.merged.matefixed.sorted.markeddups.recal.g.vcf.gz', - 'crc32': '', - 'sha256': '', - 'accessible': True, - 'drs_uri': f'drs://{self._drs_domain_name}/v1_6c87f0e1-509d-46a4-b845-7584df39263b_' - f'1e269f04-4347-4188-b060-1dcc69e71d67', - 'url': str(self.base_url.set( - path='/repository/files/15b76f9c-6b46-433f-851d-34e89f1b9ba6', - args=dict(catalog='test', version=self.version) - )) - } - ] - }, - { - 'entryId': '3b17377b-16b1-431c-9967-e5d01fc5923f', - 'sources': [ - { - 'source_spec': 'tdr:bigquery:gcp:test_anvil_project:anvil_snapshot:/0', - 'source_id': '6c87f0e1-509d-46a4-b845-7584df39263b' - } - ], - 'bundles': [ - { - 'bundle_uuid': '826dea02-e274-affe-aabc-eb3db63ad068', - 'bundle_version': '2022-06-01T00:00:00.000000Z' - } - ], - 'activities': [ - { - 'activity_type': ['Sequencing'], - 'assay_type': [None], - 'data_modality': [None] - } - ], - 'biosamples': [ - { - 'anatomical_site': [None], - 'biosample_type': [None], - 'disease': [None], - 'donor_age_at_collection_unit': [None], - 'donor_age_at_collection': [{'gte': None, 'lte': None}] - } - ], - 'datasets': [ - { - 'dataset_id': ['52ee7665-7033-63f2-a8d9-ce8e32666739'], - 'title': ['ANVIL_CMG_UWASH_DS_BDIS'] - } - ], - 'diagnoses': [ - { - 'disease': ['redacted-A61iJlLx', 'redacted-g50ublm/'], - 'diagnosis_age_unit': [None], - 'onset_age_unit': [None], - 'phenotype': ['redacted-acSYHZUr'], - 'phenopacket': [None] - } - ], - 'donors': [ - { - 'organism_type': ['redacted-ACw+6ecI'], - 'phenotypic_sex': ['redacted-JfQ0b3xG'], - 'reported_ethnicity': ['redacted-NSkwDycK'], - 'genetic_ancestry': [None] - } - ], - 'files': [ - { - 'document_id': '3b17377b-16b1-431c-9967-e5d01fc5923f', - 'source_datarepo_row_ids': [ - 'file_inventory:9658d94a-511d-4b49-82c3-d0cb07e0cff2' - ], - 'file_id': '8b722e88-8103-49c1-b351-e64fa7c6ab37', - 'data_modality': [None], - 'file_format': '.bam', - 'file_size': 3306845592, - 'file_md5sum': 'fNn9e1SovzgOROk3BvH6LQ==', - 'reference_assembly': [None], - 'file_name': '307500.merged.matefixed.sorted.markeddups.recal.bam', - 'is_supplementary': False, - 'version': self.version, - 'uuid': '3b17377b-16b1-431c-9967-e5d01fc5923f', - 'size': 3306845592, - 'name': '307500.merged.matefixed.sorted.markeddups.recal.bam', - 'crc32': '', - 'sha256': '', - 'accessible': True, - 'drs_uri': f'drs://{self._drs_domain_name}/v1_6c87f0e1-509d-46a4-b845-7584df39263b_' - f'8b722e88-8103-49c1-b351-e64fa7c6ab37', - 'url': str(self.base_url.set( - path='/repository/files/3b17377b-16b1-431c-9967-e5d01fc5923f', - args=dict(catalog='test', version=self.version) - )) - } - ] - } - ], - 'pagination': { - 'count': 2, - 'total': 2, - 'size': 10, - 'next': None, - 'previous': None, - 'pages': 1, - 'sort': 'files.file_id', - 'order': 'asc' - }, - 'termFacets': { - 'accessible': { - 'terms': [{'count': 2, 'term': 'true'}], - 'total': 2, - 'type': 'terms' - }, - 'diagnoses.phenotype': { - 'terms': [{'term': 'redacted-acSYHZUr', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'biosamples.disease': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'diagnoses.disease': { - 'terms': [ - {'term': 'redacted-A61iJlLx', 'count': 2}, - {'term': 'redacted-g50ublm/', 'count': 2} - ], - 'total': 2, - 'type': 'terms' - }, - 'diagnoses.phenopacket': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'files.is_supplementary': { - 'terms': [{'term': 'false', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'files.data_modality': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'donors.reported_ethnicity': { - 'terms': [{'term': 'redacted-NSkwDycK', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'datasets.consent_group': { - 'terms': [{'term': 'DS-BDIS', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'activities.assay_type': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'datasets.title': { - 'terms': [{'term': 'ANVIL_CMG_UWASH_DS_BDIS', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'biosamples.anatomical_site': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'donors.organism_type': { - 'terms': [{'term': 'redacted-ACw+6ecI', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'datasets.data_use_permission': { - 'terms': [{'term': 'DS-BDIS', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'donors.phenotypic_sex': { - 'terms': [{'term': 'redacted-JfQ0b3xG', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'activities.data_modality': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'activities.activity_type': { - 'terms': [{'term': 'Sequencing', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'biosamples.biosample_type': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'files.file_format': { - 'terms': [ - {'term': '.bam', 'count': 1}, - {'term': '.vcf.gz', 'count': 1} - ], - 'total': 2, - 'type': 'terms' - }, - 'datasets.registered_identifier': { - 'terms': [{'term': 'phs000693', 'count': 2}], - 'total': 2, - 'type': 'terms' - }, - 'files.reference_assembly': { - 'terms': [{'term': None, 'count': 2}], - 'total': 2, - 'type': 'terms' - } - } - } - } - for entity_type, expected_response in responses_by_entity_type.items(): - with self.subTest(entity_type=entity_type): - url = str(self.base_url.set(path='/index/' + entity_type)) - self._assertResponse(url, expected_response) - - def test_summary(self): - expected_response = { - 'activityCount': 2, - 'activityTypes': [ - { - 'count': 2, - 'type': 'Sequencing' - } - ], - 'biosampleCount': 1, - 'datasetCount': 1, - 'donorCount': 1, - 'donorDiagnosisDiseases': [ - { - 'count': 1, - 'disease': 'redacted-A61iJlLx' - }, - { - 'count': 1, - 'disease': 'redacted-g50ublm/' - } - ], - 'donorDiagnosisPhenotypes': [ - { - 'count': 1, - 'phenotype': 'redacted-acSYHZUr' - } - ], - 'donorSpecies': [ - { - 'count': 1, - 'species': 'redacted-ACw+6ecI' - } - ], - 'fileCount': 2, - 'fileFormats': [ - { - 'count': 1, - 'format': '.bam' - }, - { - 'count': 1, - 'format': '.vcf.gz' - } - ], - 'totalFileSize': 3519867231.0 - } - url = str(self.base_url.set(path='/index/summary')) - self._assertResponse(url, expected_response) - - def _assertResponse(self, url: str, expected_response: JSON): - response = requests.get(url) - response.raise_for_status() - response = response.json() - self.assertEqual(expected_response, response) diff --git a/test/service/test_source_cache.py b/test/service/test_source_cache.py deleted file mode 100644 index 736829ac16..0000000000 --- a/test/service/test_source_cache.py +++ /dev/null @@ -1,51 +0,0 @@ -import time -from typing import ( - Mapping, -) -from unittest import ( - mock, -) - -from moto import ( - mock_aws, -) -from mypy_boto3_dynamodb.literals import ( - ScalarAttributeTypeType, -) - -from azul.service.source_service import ( - Expired, - NotFound, - SourceService, -) -from dynamodb_test_case import ( - DynamoDBTestCase, -) - - -@mock_aws -class TestSourceCache(DynamoDBTestCase): - - def _dynamodb_table_name(self) -> str: - return SourceService.table_name - - def _dynamodb_atttributes(self) -> Mapping[str, ScalarAttributeTypeType]: - return {SourceService.key_attribute: 'S'} - - def _dynamodb_hash_key(self) -> str: - return SourceService.key_attribute - - wait = 2 - - @mock.patch.object(SourceService, attribute='expiration', new=wait) - def test_source_cache(self): - key = 'foo' - value = [{'bar': 'baz'}] - service = SourceService() - with self.assertRaises(NotFound): - service._get('nil') - service._put(key, value) - self.assertEqual(service._get(key), value) - time.sleep(self.wait + 1) - with self.assertRaises(Expired): - service._get(key) diff --git a/test/service/test_storage_service.py b/test/service/test_storage_service.py deleted file mode 100644 index b764f9018b..0000000000 --- a/test/service/test_storage_service.py +++ /dev/null @@ -1,114 +0,0 @@ -from datetime import ( - datetime, - timedelta, - timezone, -) -import json -import tempfile -from unittest.mock import ( - patch, -) - -import requests - -from azul import ( - false, -) -from azul.logging import ( - configure_test_logging, -) -from azul.service import ( - storage_service, -) -from azul.service.storage_service import ( - StorageObjectNotFound, -) -from service import ( - StorageServiceTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class StorageServiceTest(StorageServiceTestCase): - """ - Functional Test for Storage Service - """ - - def test_upload_tags(self): - object_key = 'test_file' - with tempfile.NamedTemporaryFile('w') as f: - f.write('some contents') - f.flush() - for tags in (None, {}, {'Name': 'foo', 'game': 'bar'}): - with self.subTest(tags=tags): - self.storage_service.upload(file_path=f.name, - object_key=object_key, - tagging=tags) - if tags is None: - tags = {} - upload_tags = self.storage_service.get_object_tagging(object_key) - self.assertEqual(tags, - upload_tags) - - def test_simple_get_put(self): - sample_key = 'foo-simple' - sample_content = b'bar' - - # NOTE: Ensure that the key does not exist before writing. - with self.assertRaises(StorageObjectNotFound): - self.storage_service.get(sample_key) - - self.storage_service.put(sample_key, sample_content) - - self.assertEqual(sample_content, self.storage_service.get(sample_key)) - - def test_simple_get_unknown_item(self): - sample_key = 'foo-simple' - - with self.assertRaises(StorageObjectNotFound): - self.storage_service.get(sample_key) - - def test_presigned_url(self): - sample_key = 'foo-presigned-url' - sample_content = json.dumps({'a': 1}) - - self.storage_service.put(sample_key, sample_content.encode()) - - for file_name in None, 'foo.json': - with self.subTest(file_name=file_name): - presigned_url = self.storage_service.get_presigned_url(sample_key, - file_name=file_name) - response = requests.get(presigned_url) - if file_name is None: - self.assertNotIn('Content-Disposition', response.headers) - else: - if false(): - # Unfortunately, moto does not support emulating S3's - # mechanism of specifying response headers via request - # parameters (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html, - # section Request Parameters). - self.assertEqual(response.headers['Content-Disposition'], f'attachment;filename="{file_name}"') - self.assertEqual(sample_content, response.text) - - def test_time_until_object_expires(self): - test_data = [(1, False), (0, False), (-1, True)] - for object_age, expect_error in test_data: - with self.subTest(object_age=object_age, expect_error=expect_error): - with patch.object(storage_service, 'datetime') as mock_datetime: - now = datetime(2020, 1, 1, 0, 0, 0, tzinfo=timezone.utc) - mock_datetime.now.return_value = now - expiration = 7 - headers = { - 'Expiration': 'expiry-date="Wed, 01 Jan 2020 00:00:00 UTC", rule-id="Test Rule"', - 'LastModified': now - timedelta(days=float(expiration), seconds=object_age) - } - with patch.object(self.storage_service, 'head', return_value=headers): - with self.assertLogs(logger=storage_service.log, level='DEBUG') as logs: - actual = self.storage_service.time_until_object_expires('foo', expiration) - self.assertEqual(0, actual) - got_error = any('does not match' in log for log in logs.output) - self.assertIs(expect_error, got_error) diff --git a/test/sqs_test_case.py b/test/sqs_test_case.py deleted file mode 100644 index 3df4b9fa7c..0000000000 --- a/test/sqs_test_case.py +++ /dev/null @@ -1,104 +0,0 @@ -import json -import logging -import random -from random import ( - Random, -) -import sys -import uuid - -from chalice.app import ( - SQSRecord, -) - -from azul import ( - cached_property, - config, - iif, -) -from azul.azulclient import ( - AzulClient, -) -from azul.deployment import ( - aws, -) -from azul.queues import ( - Queues, -) -from azul.types import ( - JSON, - MutableJSONs, -) -from azul_test_case import ( - AzulUnitTestCase, -) - -log = logging.getLogger(__name__) - - -class SqsTestCase(AzulUnitTestCase): - - def _create_mock_queues(self, queue_names: list[str] | None = None) -> None: - if queue_names is not None: - self.assertIsSubset(set(queue_names), set(config.all_queue_names)) - else: - queue_names = config.all_queue_names - - sqs = aws.sqs_resource - for queue_name in queue_names: - sqs.create_queue(QueueName=queue_name, - Attributes=dict(FifoQueue='true') if queue_name.endswith('.fifo') else {}) - - def _create_mock_notifications_queue(self): - self._create_mock_queues([config.notifications_queue.name]) - - -class WorkQueueTestCase(SqsTestCase): - - @cached_property - def queues(self) -> Queues: - return Queues(delete=True) - - @cached_property - def client(self) -> AzulClient: - return AzulClient() - - @cached_property - def random(self) -> Random: - seed = random.randint(0, sys.maxsize) - log.info('Using random seed %d', seed) - return random.Random(seed) - - def random_uuid(self) -> str: - # https://stackoverflow.com/a/41186895/1530508 - bits = self.random.getrandbits(128) - return str(uuid.UUID(int=bits, version=4)) - - def _read_queue(self, queue) -> MutableJSONs: - messages = self.queues.read_messages(queue) - # For unknown reasons, Moto 4.0.6 requires reading the queues a second - # time whereas 2.0.6 didn't. It *is* more realistic, but I am not sure - # how reliable this is. - messages += self.queues.read_messages(queue) - message_bodies = [json.loads(m.body) for m in messages] - return message_bodies - - def _mock_sqs_record(self, - body: JSON, - *, - attempts: int = 1, - fifo: bool = False, - ) -> SQSRecord: - event_dict = { - 'messageId': self.random_uuid(), - 'body': json.dumps(body), - 'receiptHandle': 'ThisWasARandomString', - 'attributes': { - 'ApproximateReceiveCount': str(attempts), - **iif(fifo, { - 'MessageGroupId': self.random_uuid(), - 'MessageDeduplicationId': self.random_uuid() - }) - } - } - return SQSRecord(event_dict=event_dict, context={}) diff --git a/test/test_app_logging.py b/test/test_app_logging.py deleted file mode 100644 index 6c16130f8a..0000000000 --- a/test/test_app_logging.py +++ /dev/null @@ -1,193 +0,0 @@ -import json -import os -from typing import ( - Any, - cast, -) -from unittest import ( - TestCase, - TestResult, - TestSuite, - mock, -) -import warnings - -from chalice.config import ( - Config as ChaliceConfig, -) -from more_itertools import ( - one, -) -import requests - -from app_test_case import ( - ChaliceServerThread, -) -import azul -from azul.chalice import ( - AzulChaliceApp, -) -from azul.logging import ( - azul_log_level, - configure_test_logging, -) -from azul_test_case import ( - AzulUnitTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class TestAppLogging(AzulUnitTestCase): - - def test(self): - magic_message = 'Now you see me' - traceback_header = 'Traceback (most recent call last):' - - for debug in 0, 1, 2: - with mock.patch.dict(os.environ, AZUL_DEBUG=str(debug)): - with self.subTest(debug=debug): - log_level = azul_log_level() - app = AzulChaliceApp(app_name=__name__, - globals={'__file__': '/app.py'}, - spec={}) - path = '/fail/path' - - @app.route(path, spec={}) - def fail(): - raise ValueError(magic_message) - - server_thread = ChaliceServerThread(app, ChaliceConfig(), 'localhost', 0) - server_thread.start() - try: - host, port = server_thread.address - with self.assertLogs(app.log, level=log_level) as app_log: - with self.assertLogs(azul.log, level=log_level) as azul_log: - response = requests.get(f'http://{host}:{port}{path}') - finally: - server_thread.kill_thread() - server_thread.join(timeout=10) - if server_thread.is_alive(): - self.fail('Thread is still alive after joining') - - self.assertEqual(500, response.status_code) - - # The request is always logged - self.assertEqual(5, len(azul_log.output)) - info = { - 'host': f'{host}:{port}', - 'user-agent': 'python-requests/2.32.4', - 'accept-encoding': 'gzip, deflate', - 'accept': '*/*', - 'connection': 'keep-alive' - } - self.assertEqual(f'INFO:azul.chalice:Received GET request for {path!r}, ' - f"with {json.dumps({'query': None, 'headers': info})}.", - azul_log.output[0]) - self.assertEqual('INFO:azul.chalice:… without a request body', - azul_log.output[1]) - self.assertEqual('INFO:azul.chalice:Did not authenticate request.', - azul_log.output[2]) - - # The exception is always logged - self.assertEqual(1, len(app_log.output)) - err_log = f'ERROR:test_app_logging:Caught exception for path {path}' - self.assertTrue(app_log.output[0].startswith(err_log)) - self.assertIn(magic_message, app_log.output[0]) - self.assertIn(traceback_header, app_log.output[0]) - - body = response.content.decode() - if debug < 2: - # We don't allow stacktraces in error responses … - self.assertNotIn(traceback_header, body) - self.assertNotIn(magic_message, body) - body = json.loads(body) - self.assertEqual( - { - 'RequestId': body['RequestId'], # different for every request - 'Code': 'InternalServerError', - 'Message': 'An internal server error occurred.', - }, - body - ) - body = json.dumps(body) # the body is logged without indentation - else: - # … except at the highest debug setting. - self.assertIn(traceback_header, body) - self.assertIn(magic_message, body) - - info = { - 'headers': { - # At lower debug levels, the content type header - # isn't set when running Chalice locally. If it - # were, the expected value would be application/json - **({} if debug < 2 else {'Content-Type': 'text/plain'}), - **app.security_headers(), - 'Cache-Control': 'no-store', - } - } - if debug == 0: - expected = "… with a response body of type ()" - elif debug == 1 and len(body) > 1024: - self.fail('Truncated response bodies are not covered by this test') - else: - if body.startswith('{'): - # If the response body is deserialized JSON, its - # repr() is logged, not the repr() of the serialized - # JSON. The former starts with a curly brace. In the - # latter, that brace would follow a single quote. - length, body = len(body), body - else: - length, body = len(body), repr(body) - expected = f'… with a response body of length {length} being {body}' - - self.maxDiff = None - header = 'INFO:azul.chalice:' - self.assertEqual( - header + 'Returning 500 response with headers ' + json.dumps(info) + '.', - azul_log.output[3] - ) - self.assertEqual( - header + expected, - azul_log.output[4] - ) - - -class TestPermittedWarnings(AzulUnitTestCase): - - def test_permitted_warnings(self): - # The following warning does not get caught by the catch_warning context - # manager in the AzulTestCase class because the message matches an - # ignore warning filter. - warnings.warn("unclosed ", - category=ResourceWarning) - - -class TestUnexpectedWarnings(TestCase): - - def test_unexpected_warning(self): - msg = 'Testing unexpected warnings, nothing to see here.' - category = ResourceWarning - - class Test(AzulUnitTestCase): - - def test(self): - warnings.warn(message=msg, category=category) - - case = Test('test') - suite = TestSuite() - result = TestResult() - suite.addTest(case) - suite.run(result) - - self.assertEqual(1, result.testsRun) - self.assertEqual(1, len(result.errors), repr(result.errors)) - failed_test, trace_back = cast(tuple[Any, str], one(result.errors)) - self.assertEqual(f'tearDownClass ({__name__}.{Test.__qualname__})', str(failed_test)) - error_line = trace_back.splitlines()[-1] - self.assertRegex(error_line, '^AssertionError') - self.assertIn(str(category(msg)), error_line) diff --git a/test/test_azul_flake8.py b/test/test_azul_flake8.py deleted file mode 100644 index 5a1aa27643..0000000000 --- a/test/test_azul_flake8.py +++ /dev/null @@ -1,209 +0,0 @@ -import ast -from textwrap import ( - dedent, -) -import tokenize - -from azul import ( - config, -) -from azul.logging import ( - configure_test_logging, -) -from azul.modules import ( - load_module, -) -from azul_test_case import ( - AzulUnitTestCase, -) - -azul_flake8 = load_module(f'{config.project_root}/.flake8/azul_flake8.py', 'azul_flake8') -ImportErrors = azul_flake8.ImportErrors - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class TestAzulFlake8(AzulUnitTestCase): - - def test_import_syntax(self): - self.assertFlake8Error(ImportErrors.same_line, """ - import sys, os - """) - - self.assertNoErrors(""" - import os - import sys - """) - - self.assertNoErrors(""" - import sys as sys_ - """) - - def test_single_from_import_syntax(self): - self.assertFlake8Error(ImportErrors.not_wrapped, """ - from os import mkdir - """) - - self.assertFlake8Error(ImportErrors.missing_breaks, """ - from os import (mkdir) - """) - - self.assertFlake8Error(ImportErrors.no_trailing_comma, """ - from os import ( - mkdir - ) - """) - - self.assertNoErrors(""" - from os import ( - mkdir, - ) - """) - - self.assertNoErrors(""" - from os import ( - mkdir as mkdir_, - ) - """) - - def test_multiple_from_import_syntax(self): - self.assertFlake8Error(ImportErrors.not_joined, """ - from os import ( - mkdir, - ) - from os import ( - rmdir, - ) - """) - - self.assertFlake8Error(azul_flake8.ImportErrors.same_line, """ - from os import ( - mkdir, rmdir, - ) - """) - - self.assertNoErrors(""" - from os import ( - mkdir, - rmdir, - ) - """) - - def test_ordering(self): - # Modules are first sorted by category of origin. - # Python runtime must precede external dependencies of the project. - self.assertFlake8Error(ImportErrors.statement_not_ordered, """ - import more_itertools - import itertools - """) - - # External dependencies of the project must precede the project itself. - self.assertFlake8Error(ImportErrors.statement_not_ordered, """ - import azul - import more_itertools - """) - - # Modules of the same category are then sorted by lexicographically by name. - self.assertFlake8Error(ImportErrors.statement_not_ordered, """ - import sys - import os - """) - - # This includes from imports. - self.assertFlake8Error(ImportErrors.statement_not_ordered, """ - from sys import ( - exit, - ) - from os import ( - mkdir, - ) - """) - - # Module imports must precede from imports of the same module. - self.assertFlake8Error(ImportErrors.statement_not_ordered, """ - from os import ( - mkdir, - ) - import os - """) - - # Symbols within from imports must also be sorted. - self.assertFlake8Error(ImportErrors.symbol_not_ordered, """ - from os import ( - rmdir, - mkdir, - ) - """) - - # Putting it all together: - self.assertNoErrors(""" - import itertools - import os - from os import ( - mkdir, - rmdir, - ) - import sys - from sys import ( - exit, - ) - import more_itertools - from more_itertools import ( - one, - ) - import azul - from azul import ( - config, - ) - """) - - def test_comments(self): - self.assertNoErrors(""" - import sys # script should not be thrown off by comments in the source code - """) - - self.assertNoErrors(""" - #!/usr/bin/python3 - ''' - Not every source file has its imports at the very top. - ''' - import os - """) - - def test_local_imports(self): - self.assertNoErrors(""" - # imports in different blocks should be checked against each other - # for correct ordering. - import azul.strings - - def foo(): - import azul.modules - - def foo_too(): - import azul.json - - def bar(): - import azul.chalice - """) - - def assertFlake8Error(self, - expected_err: azul_flake8.ImportErrors, - source: str): - self.assertEqual([expected_err.value], [err.msg for err in self._collect_errors(source)]) - - def assertNoErrors(self, source: str): - self.assertEqual([], self._collect_errors(source)) - - def _collect_errors(self, source: str): - source = dedent(source) - lines = iter(source.split('\n')) - - def readline(): - return next(lines) + '\n' - - tokens = tokenize.generate_tokens(readline) - tree = ast.parse(source) - return azul_flake8.AzulImports(tree, tokens, '')._run() diff --git a/test/test_check_branch.py b/test/test_check_branch.py deleted file mode 100644 index 3a80e6ca83..0000000000 --- a/test/test_check_branch.py +++ /dev/null @@ -1,150 +0,0 @@ -import json -import os -from unittest.mock import ( - PropertyMock, - patch, -) - -import git - -from azul.modules import ( - load_script, -) -from azul_test_case import ( - AzulUnitTestCase, -) - - -class TestCheckBranch(AzulUnitTestCase): - - def test_check_branch(self): - script = load_script('check_branch') - check_branch = script.check_branch - - def expect_exception(branch, deployment, message): - with self.assertRaises(script.BranchDeploymentMismatch) as e: - check_branch(branch, deployment) - self.assertEqual((message,), e.exception.args) - - default = { - 'develop': ['dev', 'sandbox'], - 'prod': ['prod'] - } - with patch.dict(os.environ, azul_shared_deployments=json.dumps(default)): - check_branch('develop', 'dev') - check_branch('develop', 'sandbox') - - expect_exception('feature/foo', 'prod', - "Branch 'feature/foo' cannot be deployed to 'prod', " - "only personal deployments.") - expect_exception(None, 'prod', - "Detached head cannot be deployed to 'prod', " - "only personal deployments.") - - check_branch('prod', 'hannes') - check_branch('develop', 'hannes') - - expect_exception('prod', 'dev', - "Branch 'prod' cannot be deployed to 'dev', " - "only one of {'prod'} or personal deployments.") - - expect_exception(None, 'dev', - "Detached head cannot be deployed to 'dev', " - "only personal deployments.") - - expect_exception('feature/foo', 'sandbox', - "Branch 'feature/foo' cannot be deployed to 'sandbox', " - "only personal deployments.") - - expect_exception(None, 'sandbox', - "Detached head cannot be deployed to 'sandbox', " - "only personal deployments.") - - # GitLab overrides the configuration to allow for the deployment of - # feature branches to the sandbox. - gitlab = { - **default, - '': ['sandbox'] - } - with patch.dict(os.environ, azul_shared_deployments=json.dumps(gitlab)): - check_branch('feature/foo', 'sandbox') - check_branch(None, 'sandbox') - expect_exception('feature/foo', - 'prod', - "Branch 'feature/foo' cannot be deployed to 'prod', " - "only one of {'sandbox'} or personal deployments.") - - def test_target_branch(self): - script = load_script('check_branch') - - develop, prod = 'develop', 'prod' - feature, merge = 'issues/foo/1234-bar', '2345/merge' - cases = [ - ( - 'Local build', - feature, - {}, - feature - ), - ( - 'Local build with detached head', - None, - {}, - None - ), - ( - 'GitHub building develop', - develop, - {'GITHUB_REF_NAME': develop}, - develop - ), - ( - 'GitHub building prod', - prod, - {'GITHUB_REF_NAME': prod}, - prod - ), - ( - 'GitHub PR against develop', - merge, - { - 'GITHUB_REF_NAME': merge, - 'GITHUB_HEAD_REF': feature, - 'GITHUB_BASE_REF': develop - }, - develop - ), - ( - 'GitHub PR against prod', - merge, - { - 'GITHUB_REF_NAME': merge, - 'GITHUB_HEAD_REF': feature, - 'GITHUB_BASE_REF': prod - }, - prod - ), - ( - 'Sandbox build on GitLab', - None, - {'CI_COMMIT_REF_NAME': feature}, - feature - ), - ( - 'Non-sandbox build on GitLab', - None, - {'CI_COMMIT_REF_NAME': develop}, - develop - ), - ] - variables = {v for case in cases for v in case[2]} - for sub_test, current_branch, new_env, target_branch in cases: - with self.subTest(sub_test): - with patch.object(git.Repo, 'head', new_callable=PropertyMock) as head: - head.return_value.is_detached = current_branch is None - head.return_value.reference.name = current_branch - with patch.dict(os.environ) as env: - for variable in variables: - env.pop(variable, None) - env.update(new_env) - self.assertEqual(target_branch, script.target_branch()) diff --git a/test/test_deployment.py b/test/test_deployment.py deleted file mode 100644 index 2504f448ae..0000000000 --- a/test/test_deployment.py +++ /dev/null @@ -1,21 +0,0 @@ -from azul import ( - R, -) -from azul.deployment import ( - aws, -) -from azul_test_case import ( - AzulUnitTestCase, -) - - -class TestDeploymentAWS(AzulUnitTestCase): - - def test_qualified_bucket_name(self): - self.assertEqual(f'edu-ucsc-gi-{self._aws_account_name}-foo.us-gov-west-1', - aws.qualified_bucket_name('foo')) - for invalid in ['', 'x', '1foo']: - with self.subTest(invalid=invalid): - with self.assertRaises(AssertionError) as cm: - aws.qualified_bucket_name(invalid) - self.assertTrue(R.caused(cm.exception)) diff --git a/test/test_doctests.py b/test/test_doctests.py deleted file mode 100644 index 3d28e9712a..0000000000 --- a/test/test_doctests.py +++ /dev/null @@ -1,127 +0,0 @@ -import doctest -import unittest - -import azul -import azul.attrs -import azul.auth -import azul.bigquery -import azul.bytes -import azul.caching -import azul.collections -import azul.csp -import azul.docker -import azul.doctests -import azul.drs -import azul.dss -import azul.exceptions -import azul.files -import azul.http -import azul.indexer -import azul.indexer.aggregate -import azul.indexer.document -import azul.indexer.index_repository_service -import azul.iterators -import azul.json -import azul.json_freeze -from azul.logging import ( - configure_test_logging, -) -from azul.modules import ( - load_module, - load_script, -) -import azul.objects -import azul.openapi -import azul.openapi.params -import azul.openapi.responses -import azul.openapi.schema -import azul.plugins.metadata.hca.indexer.transform -import azul.plugins.metadata.hca.service.contributor_matrices -import azul.plugins.repository.canned -import azul.plugins.repository.tdr_hca -import azul.service.app_controller -import azul.service.drs_controller -import azul.service.manifest_service -import azul.service.repository_controller -import azul.strings -import azul.terra -import azul.terraform -import azul.threads -import azul.time -import azul.types -import azul.uuids -import azul.vendored.frozendict -import service - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -def load_tests(_loader, - tests: unittest.TestSuite, - _ignore - ) -> unittest.TestSuite: - root = azul.config.project_root - for module in [ - azul, - azul.attrs, - azul.auth, - azul.bigquery, - azul.bytes, - azul.caching, - azul.collections, - azul.csp, - azul.doctests, - azul.docker, - azul.drs, - azul.dss, - azul.exceptions, - azul.files, - azul.http, - azul.indexer, - azul.indexer.aggregate, - azul.indexer.document, - azul.indexer.index_repository_service, - azul.iterators, - azul.json, - azul.json_freeze, - azul.objects, - azul.openapi, - azul.openapi.params, - azul.openapi.responses, - azul.openapi.schema, - azul.plugins.metadata.hca.service.contributor_matrices, - azul.plugins.repository.canned, - azul.plugins.repository.tdr_hca, - azul.plugins.metadata.hca.indexer.transform, - azul.service.app_controller, - azul.service.drs_controller, - azul.service.manifest_service, - azul.service.repository_controller, - azul.strings, - azul.terra, - azul.terraform, - azul.threads, - azul.time, - azul.types, - azul.uuids, - azul.vendored.frozendict, - load_script('can_bundle'), - load_script('envhook'), - load_script('export_environment'), - load_module(root + '/.flake8/azul_flake8.py', 'azul_flake8'), - load_module(root + '/.github/workflows/schedule.py', 'schedule'), - service - ]: - suite = doctest.DocTestSuite(module) - assert suite.countTestCases() > 0, module - tests.addTests(suite) - return tests - - -if __name__ == '__main__': - setUpModule() - runner = unittest.TextTestRunner() - runner.run(load_tests(None, unittest.TestSuite(), None)) diff --git a/test/test_http.py b/test/test_http.py deleted file mode 100644 index 09fde720c7..0000000000 --- a/test/test_http.py +++ /dev/null @@ -1,169 +0,0 @@ -from contextlib import ( - contextmanager, - nullcontext, -) -from functools import ( - partial, -) -from http.server import ( - BaseHTTPRequestHandler, - ThreadingHTTPServer, -) -import inspect -import logging -import re -from threading import ( - Thread, -) -import time -from unittest import ( - mock, -) -from unittest.mock import ( - PropertyMock, - patch, -) - -from urllib3 import ( - Retry, -) -from urllib3.exceptions import ( - MaxRetryError, -) - -from azul import ( - config, -) -from azul.collections import ( - OrderedSet, -) -from azul.http import ( - LimitedRetryHttpClient, - LimitedTimeoutException, - http_client, -) -from azul.logging import ( - configure_test_logging, -) -from azul_test_case import ( - AzulUnitTestCase, -) - -log = logging.getLogger(__name__) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging(log) - - -class TestHttp(AzulUnitTestCase): - - @contextmanager - def http_server(self, handler: type[BaseHTTPRequestHandler]): - with ThreadingHTTPServer(('127.0.0.1', 0), handler) as server: - # A shorter poll intervall causes the server thread to check the - # exit flag more frequently, but wastes more CPU. Going from the - # default of .5 to .05 caused an improvement of the overall test - # duration by tens of seconds. - thread = Thread(target=partial(server.serve_forever, poll_interval=.1)) - thread.start() - try: - url = f'http://localhost:{server.server_port}' - yield url - finally: - server.shutdown() - thread.join() - - sub_test_locals: OrderedSet[str] - - def subTestFromLocals(self): - locals = inspect.currentframe().f_back.f_locals - try: - sub_test_locals = self.sub_test_locals - except AttributeError: - sub_test_locals = OrderedSet(locals) - sub_test_locals.discard('self') - self.sub_test_locals = sub_test_locals - return self.subTest(**{k: locals[k] for k in sub_test_locals}) - - @mock.patch.object(type(config), 'debug', new=1) - def test(self): - for restricted, retries, sleep, exception, calls, requests, responses in [ - # @formatter:off - ( None, 0, 0, None, 1, 1, 1 ), # noqa - ( None, 1, 0, None, 2, 2, 2 ), # noqa - ( None, 2, 0, None, 3, 3, 3 ), # noqa - ( None, None, 0, MaxRetryError, 6, 6, 6 ), # noqa - ( False, None, 0, LimitedTimeoutException, 3, 3, 3 ), # noqa - ( False, None, 20 / 3 + .1, LimitedTimeoutException, 1, 3, 0 ), # noqa - ( True, None, 0, LimitedTimeoutException, 1, 1, 1 ), # noqa - ( True, None, 5 / 1 + .1, LimitedTimeoutException, 1, 1, 0 ), # noqa - # @formatter:on - ]: - with self.subTestFromLocals(): - - num_actual_requests = 0 - - class Handler(BaseHTTPRequestHandler): - - # noinspection PyPep8Naming - def do_GET(self): - nonlocal num_actual_requests - num_actual_requests += 1 - if sleep: - time.sleep(sleep) - self.send_response(503) - self.send_header('Retry-After', '1') - self.end_headers() - - with self.http_server(Handler) as url: - client = http_client(log) - with self.mock_api_gateway() if restricted else nullcontext(): - if restricted is not None: - client = LimitedRetryHttpClient(client) - assert restricted is client._timing_is_restricted - with self.assertRaises(exception) if exception else nullcontext(): - with self.assertLogs(log) as logs: - if retries is None: - client.request(method='GET', url=url) - else: - retries = Retry(status=retries, - raise_on_status=exception is not None) - client.request(method='GET', url=url, retries=retries) - - self.assertEqual(requests, num_actual_requests) - - prefix, url = 'INFO:test_http:', re.escape(url) - http_header_pattern = ( - r"\{'Server': 'BaseHTTP/\d+\.\d+\s+Python/\d+\.\d+\.\d+', " - r"'Date': '[A-Za-z]{3}, \d{2} [A-Za-z]{3} \d{4} \d{2}:\d{2}:\d{2} GMT', " - r"'Retry-After': '\d+'\}" - ) - - expected_logs = [] - for i in range(calls): - expected_logs.extend( - [ - f"^{prefix}Making GET request to '{url}'$", - f'^{prefix}… without a request body$' - ] - ) - if i < responses: - expected_logs.extend( - [ - rf'^{prefix}Got 503 response after \d.\d\d\ds from GET to {url}$', - rf'^{prefix}… with response headers HTTPHeaderDict\({http_header_pattern}\)$', - f"^{prefix}… with a response body of length 0 being b''$", - ] - ) - if i < calls - 1: - expected_logs.append(f'^{prefix}Sleeping 1s to honor Retry-After header$') - for expected_log, actual_log in zip(expected_logs, logs.output, strict=True): - self.assertRegex(actual_log, expected_log) - - def mock_api_gateway(self): - return patch.object(type(config), - 'lambda_is_handling_api_gateway_request', - new_callable=PropertyMock, - return_value=True) diff --git a/test/test_log_forwarding.py b/test/test_log_forwarding.py deleted file mode 100644 index bb8d8bb757..0000000000 --- a/test/test_log_forwarding.py +++ /dev/null @@ -1,223 +0,0 @@ -import gzip -from io import ( - StringIO, -) -import json -from typing import ( - Callable, -) -from unittest.mock import ( - MagicMock, - patch, -) - -import chalice.app - -from azul import ( - cached_property, - config, -) -from azul.deployment import ( - aws, -) -from azul.indexer.log_forwarding_controller import ( - LogForwardingController, -) -from azul.strings import ( - double_quote as dq, -) -from azul.types import ( - JSONs, -) -from service import ( - S3TestCase, -) - - -class TestLogForwarding(S3TestCase): - maxDiff = None - - @property - def log_bucket(self) -> str: - return aws.logs_bucket - - @property - def log_file_key(self) -> str: - prefix = config.alb_access_log_path_prefix('gitlab') - return '/'.join([prefix, 'AWSLogs', '123123123123', 'elasticloadbalancing', '2023', '01', '01', 'test.log.gz']) - - @cached_property - def controller(self) -> LogForwardingController: - return LogForwardingController(app=MagicMock()) - - def setUp(self) -> None: - super().setUp() - self._create_test_bucket(self.log_bucket) - - def test_alb(self): - log_escape_sequences_by_input = { - # Quotation marks are escaped because they are used wrap fields that - # may contain spaces - '"': r'\x22', - # Backslashes are escaped because they are used to escape non-ASCII - # characters (see subsequent cases) - '\\': r'\x5c', - # Non-ASCII character (Latin-1) - 'È': r'\xC3\x88', - # Non-ASCII character (Cyrillic) - 'Ё': r'\xD0\x81', - # Non-ASCII character (Emoticon) - '😀': r'\xf0\x9f\x98\x80', - } - - for raw, escaped in log_escape_sequences_by_input.items(): - with self.subTest(raw=raw): - input = [' '.join([ - 'https', - '2022-12-31T23:55:00.388951Z', - 'app/azul-gitlab-alb/c051f98624e68d7e', - '172.71.0.215:36056', '172.71.0.215:80', - '0.000', '0.002', '0.000', - '204', '204', - '963', '229', - dq('POST', - f'https://gitlab.dev.singlecell.gi.ucsc.edu:443/api/v4/jobs/request?chars={escaped}', - 'HTTP/1.1'), - dq(f'gitlab-runner 15.6.1 (15-6-stable; go1.18.8; linux/amd64; {escaped})'), - 'ECDHE-RSA-AES128-GCM-SHA256', - 'TLSv1.2', - 'arn:aws:elasticloadbalancing:us-east-1:122796619775:targetgroup/azul-gitlab-http/136c2d6db59941f6', - dq('Root=1-63b0cbd4-7d218b82786295005dbf8b6d'), - dq('gitlab.dev.singlecell.gi.ucsc.edu'), - dq('arn:aws:acm:us-east-1:122796619775:certificate/81241b8e-c875-4a22-a30e-58003ee139ae'), - '0', - '2022-12-31T23:55:00.386000Z', - dq('forward'), - dq('-'), dq('-'), - dq('172.71.0.215:80'), - dq('204'), - dq('-'), dq('-'), - ])] - expected_output = [{ - '_source_bucket': self.log_bucket, - '_source_key': self.log_file_key, - 'actions_executed': 'forward', - 'chosen_cert_arn': 'arn:aws:acm:us-east-1:122796619775:certificate/' - '81241b8e-c875-4a22-a30e-58003ee139ae', - 'client:port': '172.71.0.215:36056', - 'domain_name': 'gitlab.dev.singlecell.gi.ucsc.edu', - 'elb': 'app/azul-gitlab-alb/c051f98624e68d7e', - 'elb_status_code': '204', - 'error_reason': '-', - 'matched_rule_priority': '0', - 'received_bytes': '963', - 'redirect_url': '-', - 'request': f'POST https://gitlab.dev.singlecell.gi.ucsc.edu:443' - f'/api/v4/jobs/request?chars={escaped} HTTP/1.1', - 'request_creation_time': '2022-12-31T23:55:00.386000Z', - 'request_processing_time': '0.000', - 'response_processing_time': '0.000', - 'sent_bytes': '229', - 'ssl_cipher': 'ECDHE-RSA-AES128-GCM-SHA256', - 'ssl_protocol': 'TLSv1.2', - 'target:port': '172.71.0.215:80', - 'target:port_list': '172.71.0.215:80', - 'target_group_arn': 'arn:aws:elasticloadbalancing:us-east-1:' - '122796619775:targetgroup/azul-gitlab-http/136c2d6db59941f6', - 'target_processing_time': '0.002', - 'target_status_code': '204', - 'target_status_code_list': '204', - 'time': '2022-12-31T23:55:00.388951Z', - 'trace_id': 'Root=1-63b0cbd4-7d218b82786295005dbf8b6d', - 'type': 'https', - 'user_agent': f'gitlab-runner 15.6.1 (15-6-stable; go1.18.8; linux/amd64; {escaped})' - }] - input = gzip.compress('\n'.join(input).encode('ascii')) - self._test(self.controller.forward_alb_logs, input, expected_output) - - def test_s3(self): - input = ' '.join([ - 'b30e3bcf6032455643443203384c72722f50257ae46d68aa0cb9624f59b08944', - 'edu-ucsc-gi-platform-anvil-dev-storage-anvilbox.us-east-1', - '[14/Mar/2023:23:18:18 +0000]', - '54.211.146.213 arn:aws:sts::289950828509:assumed-role/' - + 'azul-service-anvilbox/azul-service-anvilbox-servicecachehealth', - 'K829N8AH88F1RX7K', - 'REST.PUT.OBJECT', - 'health/service', - dq('PUT /edu-ucsc-gi-platform-anvil-dev-storage-anvilbox.us-east-1/health/service HTTP/1.1'), - '200', - '-', - '-', - '523', - '85', - '52', - dq('-'), - dq('Boto3/1.24.94 Python/3.12.7 Linux/4.14.255-301-238.520.amzn2.x86_64', - 'exec-env/AWS_Lambda_python3.12 aws-chalice/1.31.3 Botocore/1.27.94'), - '-', - 'jcmyLMRqqJ7dT4ovtY21rtgwmuTC3qs24vgAtLAkcad9sRV92zC90gf2zGvCkxxsLSaKm48AMjo=', - 'SigV4', - 'ECDHE-RSA-AES128-GCM-SHA256', - 'AuthHeader', - 's3.amazonaws.com', - 'TLSv1.2', - '-', - '-', - ]).encode('ascii') - expected_output = [{ - '_source_bucket': self.log_bucket, - '_source_key': self.log_file_key, - 'access_point_arn': '-', - 'acl_required': '-', - 'authentication_type': 'AuthHeader', - 'bucket': 'edu-ucsc-gi-platform-anvil-dev-storage-anvilbox.us-east-1', - 'bucket_owner': 'b30e3bcf6032455643443203384c72722f50257ae46d68aa0cb9624f59b08944', - 'bytes_sent': '-', - 'cipher_suite': 'ECDHE-RSA-AES128-GCM-SHA256', - 'error_code': '-', - 'host_header': 's3.amazonaws.com', - 'host_id': 'jcmyLMRqqJ7dT4ovtY21rtgwmuTC3qs24vgAtLAkcad9sRV92zC90gf2zGvCkxxsLSaKm48AMjo=', - 'http_status': '200', - 'key': 'health/service', - 'object_size': '523', - 'operation': 'REST.PUT.OBJECT', - 'referer': '-', - 'remote_ip': '54.211.146.213', - 'request_id': 'K829N8AH88F1RX7K', - 'request_uri': 'PUT /edu-ucsc-gi-platform-anvil-dev-storage-anvilbox.us-east-1/health/service HTTP/1.1', - 'requester': 'arn:aws:sts::289950828509:assumed-role/' - 'azul-service-anvilbox/azul-service-anvilbox-servicecachehealth', - 'signature_version': 'SigV4', - 'time': '14/Mar/2023:23:18:18 +0000', - 'tls_version': 'TLSv1.2', - 'total_time': '85', - 'turn_around_time': '52', - 'user_agent': 'Boto3/1.24.94 Python/3.12.7 Linux/4.14.255-301-238.520.amzn2.x86_64 ' - 'exec-env/AWS_Lambda_python3.12 aws-chalice/1.31.3 Botocore/1.27.94', - 'version_id': '-', - }] - self._test(self.controller.forward_s3_access_logs, input, expected_output) - - def _test(self, - forward_method: Callable[[chalice.app.S3Event], None], - log_file_contents: bytes, - expected_output: JSONs): - self._s3.put_object(Bucket=self.log_bucket, - Key=self.log_file_key, - Body=log_file_contents) - event = chalice.app.S3Event(context={}, event_dict={ - 'Records': [{ - 's3': { - 'bucket': {'name': self.log_bucket}, - 'object': {'key': self.log_file_key} - } - }] - }) - - with patch('sys.stdout', new=StringIO()) as stdout: - forward_method(event) - output = stdout.getvalue() - - output = list(map(json.loads, output.split('\n')[:-1])) - self.assertEqual(expected_output, output) diff --git a/test/test_openapi.py b/test/test_openapi.py deleted file mode 100644 index a66f287141..0000000000 --- a/test/test_openapi.py +++ /dev/null @@ -1,307 +0,0 @@ -from unittest.mock import ( - patch, -) - -from furl import ( - furl, -) - -from azul import ( - JSON, - RequirementError, -) -from azul.chalice import ( - AzulChaliceApp, -) -from azul.json import ( - copy_json, -) -from azul.logging import ( - configure_test_logging, -) -from azul.openapi import ( - params, - schema, -) -from azul_test_case import ( - AzulUnitTestCase, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -@patch('azul.chalice.AzulChaliceApp.base_url', furl('https://fake.url')) -class TestAppSpecs(AzulUnitTestCase): - - def app(self, spec): - return AzulChaliceApp(app_name='testing', - globals={'__file__': '/app.py'}, - spec=spec) - - def test_top_level_spec(self): - spec = {'foo': 'bar'} - app = self.app(spec) - actual_spec = self._assert_info(app._specs) - self.assertEqual({'foo': 'bar', 'paths': {}}, actual_spec, - "Confirm 'paths' is added") - spec['new key'] = 'new value' - self.assertNotIn('new key', app.spec(), - 'Changing input object should not affect specs') - - def test_already_annotated_top_level_spec(self): - with self.assertRaises(RequirementError): - self.app({'paths': {'/': {'already': 'annotated'}}}) - - def test_unannotated(self): - app = self.app({'foo': 'bar'}) - - @app.route('/foo', methods=['GET', 'PUT'], spec={}) - def route(): - pass # no coverage - - expected = { - 'foo': 'bar', - 'paths': {'/foo': {'get': {}, 'put': {}}}, - 'tags': [], - 'servers': [{'url': 'https://fake.url/'}] - } - actual_spec = self._assert_default_spec(self._assert_info(app.spec())) - self.assertEqual(expected, actual_spec) - - def test_just_spec(self): - app = self.app({'foo': 'bar'}) - - @app.route('/foo', methods=['GET', 'PUT'], spec={'a': 'b'}) - def route(): - pass # no coverage - - expected_spec = { - 'foo': 'bar', - 'paths': { - '/foo': { - 'get': {'a': 'b'}, - 'put': {'a': 'b'} - } - }, - 'tags': [], - 'servers': [{'url': 'https://fake.url/'}] - } - - actual_spec = self._assert_default_spec(self._assert_info(app.spec())) - self.assertEqual(expected_spec, actual_spec) - - def _assert_default_spec(self, actual_spec: JSON) -> JSON: - actual_spec = copy_json(actual_spec) - for path_spec in actual_spec['paths'].values(): - for method, spec in path_spec.items(): - methods = {'get', 'put'} # only what's used in these tests - if method in methods: - responses = spec.pop('responses') - response = responses.pop('504') - description = response.pop('description') - self.assertIn('Request timed out', description) - self.assertEqual(({}, {}), (response, responses)) - return actual_spec - - def _assert_info(self, actual_spec: JSON) -> JSON: - actual_spec = copy_json(actual_spec) - info = actual_spec.pop('info') - self.assertIn('Contact us', info.pop('description')) - self.assertEqual({}, info) - return actual_spec - - def test_fully_annotated_override(self): - app = self.app({'foo': 'bar'}) - path_spec = { - 'a': 'b', - 'get': {'c': 'd'} - } - - with self.assertRaises(RequirementError) as cm: - @app.route('/foo', - methods=['GET'], - path_spec=path_spec, - spec={'e': 'f'}) - def route(): - pass # no coverage - self.assertEqual(str(cm.exception), - "Only specify 'spec' once per route path and method") - - def test_multiple_routes(self): - app = self.app({'foo': 'bar'}) - - @app.route('/foo', - methods=['GET', 'PUT'], - path_spec={'a': 'b'}, - spec={'c': 'd'}) - @app.route('/foo/too', - methods=['GET'], - path_spec={'e': 'f'}, - spec={'g': 'h'}) - def route(): - pass # no coverage - - expected_specs = { - 'foo': 'bar', - 'paths': { - '/foo': { - 'a': 'b', - 'get': {'c': 'd'}, - 'put': {'c': 'd'} - }, - '/foo/too': { - 'e': 'f', - 'get': {'g': 'h'} - } - }, - 'tags': [], - 'servers': [{'url': 'https://fake.url/'}] - } - actual_spec = self._assert_default_spec(self._assert_info(app.spec())) - self.assertEqual(expected_specs, actual_spec) - - def test_duplicate_specs(self): - app = self.app({'foo': 'bar'}) - - with self.assertRaises(RequirementError) as cm: - @app.route('/foo', methods=['GET'], spec={'a': 'b'}) - @app.route('/foo', methods=['GET'], spec={'a': 'XXX'}) - def route(): - pass - self.assertEqual("Only specify 'spec' once per route path and method", - str(cm.exception)) - - def test_duplicate_path_specs(self): - app = self.app({'foo': 'bar'}) - - @app.route('/foo', methods=['PUT'], path_spec={'a': 'XXX'}, spec={}) - def route1(): - pass - - with self.assertRaises(RequirementError) as cm: - @app.route('/foo', methods=['GET'], path_spec={'a': 'b'}, spec={}) - def route2(): - pass - self.assertEqual('Only specify path_spec once per route path', - str(cm.exception)) - - def test_shared_path_spec(self): - """ - Assert that, when sharing the path_spec, routes don't overwrite each - other's properties. - """ - app = self.app({'foo': 'bar'}) - shared_path_spec = { - 'parameters': [ - params.query('foo', schema.optional({'type': 'string'})), - ] - } - for i in range(2): - @app.route(f'/swagger-test-{i}', - methods=['GET'], - cors=True, - path_spec=shared_path_spec, - spec={'summary': f'Swagger test {i}'}) - def swagger_test(): - pass - - specs = app.spec()['paths'].values() - self.assertNotEqual(*specs) - - def test_unused_tags(self): - app = self.app({ - 'tags': [{'name': name} for name in ('foo', 'bar', 'baz', 'qux')] - }) - - @app.route('/foo', methods=['PUT'], spec={'tags': ['foo', 'qux']}) - def route1(): - pass - - self.assertEqual(app.spec()['tags'], [{'name': 'foo'}, {'name': 'qux'}]) - - -class TestSchemaHelpers(AzulUnitTestCase): - - def test_complex_object(self): - self.assertEqual( - schema.object( - git=schema.object( - commit=str, - dirty=bool - ), - changes=schema.array( - schema.object( - title='string', - issues=schema.array(str), - upgrade=schema.array(str), - notes=schema.optional(str) - ) - ) - ), - { - 'type': 'object', - 'properties': { - 'git': { - 'type': 'object', - 'properties': { - 'commit': { - 'type': 'string' - }, - 'dirty': { - 'type': 'boolean' - } - }, - 'required': ['commit', 'dirty'], - 'additionalProperties': False - }, - 'changes': { - 'type': 'array', - 'items': { - 'type': 'object', - 'properties': { - 'title': { - 'type': 'string' - }, - 'issues': { - 'type': 'array', - 'items': { - 'type': 'string' - } - }, - 'upgrade': { - 'type': 'array', - 'items': { - 'type': 'string' - } - }, - 'notes': { - 'type': 'string' - } - }, - 'required': [ - 'title', - 'issues', - 'upgrade' - ], - 'additionalProperties': False - } - } - }, - 'required': ['git', 'changes'], - 'additionalProperties': False - } - ) - - def test_misuse(self): - # Only `object_with` handles required fields via the optional() - # wrapper. - try: - # noinspection PyTypeChecker - schema.make(schema.optional(str)) - except AssertionError as e: - self.assertIn(schema.optional, e.args) - else: - self.fail() diff --git a/test/test_tagging.py b/test/test_tagging.py deleted file mode 100644 index 61d512ccb0..0000000000 --- a/test/test_tagging.py +++ /dev/null @@ -1,124 +0,0 @@ -from azul import ( - JSON, -) -from azul.logging import ( - configure_test_logging, -) -from azul.terraform import ( - _transform_tf, -) -from test.azul_test_case import ( - AzulUnitTestCase, - patch_config, -) - - -# noinspection PyPep8Naming -def setUpModule(): - configure_test_logging() - - -class TestTerraformResourceTags(AzulUnitTestCase): - - @patch_config('deployment_stage', 'spam') - @patch_config('owner', 'spam@alot.tld') - @patch_config('billing', 'donald') - @patch_config('terraform_component', 'blimp') - def test(self): - tagged_aws_resource: JSON = { - 'resource': { - 'aws_vpc': { - 'foo': {} - } - } - } - expected: JSON = { - 'resource': [{ - 'aws_vpc': [{ - 'foo': { - 'tags': { - 'billing': 'donald', - 'service': 'azul', - 'deployment': 'spam', - 'owner': 'spam@alot.tld', - 'Name': 'azul-foo', - 'component': 'azul-foo', - 'terraform_component': 'blimp' - } - } - }] - }] - } - tagged = _transform_tf(tagged_aws_resource) - self.assertDictEqual(expected, tagged) - - tagged_gcp_resource: JSON = { - 'resource': { - 'google_compute_instance': { - 'foo': {} - } - } - } - expected = { - 'resource': [{ - 'google_compute_instance': [{ - 'foo': { - 'tags': { - 'billing': 'donald', - 'service': 'azul', - 'deployment': 'spam', - 'owner': 'spam@alot.tld', - 'name': 'azul-foo', - 'component': 'azul-foo', - 'terraform_component': 'blimp' - } - } - }] - }] - } - tagged = _transform_tf(tagged_gcp_resource) - self.assertDictEqual(expected, tagged) - - untaggable_aws_resource: JSON = { - 'resource': { - 'aws_untaggable_resource': {'foo': {}} - } - } - expected: JSON = { - 'resource': [ - {'aws_untaggable_resource': [{'foo': {}}]} - ] - } - tagged = _transform_tf(untaggable_aws_resource) - self.assertDictEqual(expected, tagged) - - manually_tagged_resource = { - 'resource': { - 'aws_vpc': { - 'foo': { - 'tags': { - 'component': 'bar' - } - } - } - } - } - expected = { - 'resource': [{ - 'aws_vpc': [{ - 'foo': { - 'tags': { - 'billing': 'donald', - 'service': 'azul', - 'deployment': 'spam', - 'owner': 'spam@alot.tld', - 'Name': 'azul-foo', - 'component': 'bar', - 'terraform_component': 'blimp' - } - } - }] - }] - } - tagged = _transform_tf(manually_tagged_resource) - self.assertDictEqual(expected, tagged)

    R@ekv0+%-fn2MD*F>7nBQcU@u*3=1i#Wy+jm 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 z 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%0DmJ8zjg?8JFImDzptA1<6D`=EkpN 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%0DNJTZqFds$(540s8Dc1dTm4(VQ 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 V$|B{Vm3|*!PjDai-e6Jy{FOB@GYRLlCC9m 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%0DEC_A_<+ZE;Y`sVDW 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ͤ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 diff --git a/docs/compliance/cis/license.txt b/docs/compliance/cis/license.txt deleted file mode 100644 index dff84903ae..0000000000 --- a/docs/compliance/cis/license.txt +++ /dev/null @@ -1,429 +0,0 @@ -https://www.cisecurity.org/benchmark/amazon_linux - -Attribution-ShareAlike 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution-ShareAlike 4.0 International Public -License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution-ShareAlike 4.0 International Public License ("Public -License"). To the extent this Public License may be interpreted as a -contract, You are granted the Licensed Rights in consideration of Your -acceptance of these terms and conditions, and the Licensor grants You -such rights in consideration of benefits the Licensor receives from -making the Licensed Material available under these terms and -conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. BY-SA Compatible License means a license listed at - creativecommons.org/compatiblelicenses, approved by Creative - Commons as essentially the equivalent of this Public License. - - d. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - e. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - f. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - g. License Elements means the license attributes listed in the name - of a Creative Commons Public License. The License Elements of this - Public License are Attribution and ShareAlike. - - h. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - i. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - j. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - k. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - l. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - m. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. Additional offer from the Licensor -- Adapted Material. - Every recipient of Adapted Material from You - automatically receives an offer from the Licensor to - exercise the Licensed Rights in the Adapted Material - under the conditions of the Adapter's License You apply. - - c. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - b. ShareAlike. - - In addition to the conditions in Section 3(a), if You Share - Adapted Material You produce, the following conditions also apply. - - 1. The Adapter's License You apply must be a Creative Commons - license with the same License Elements, this version or - later, or a BY-SA Compatible License. - - 2. You must include the text of, or the URI or hyperlink to, the - Adapter's License You apply. You may satisfy this condition - in any reasonable manner based on the medium, means, and - context in which You Share Adapted Material. - - 3. You may not offer or impose any additional or different terms - or conditions on, or apply any Effective Technological - Measures to, Adapted Material that restrict exercise of the - rights granted under the Adapter's License You apply. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material, - including for purposes of Section 3(b); and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public -licenses. Notwithstanding, Creative Commons may elect to apply one of -its public licenses to material it publishes and in those instances -will be considered the “Licensor.” The text of the Creative Commons -public licenses is dedicated to the public domain under the CC0 Public -Domain Dedication. Except for the limited purpose of indicating that -material is shared under a Creative Commons public license or as -otherwise permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the -public licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/docs/dependencies.svg b/docs/dependencies.svg deleted file mode 100644 index 9c1484a9e8..0000000000 --- a/docs/dependencies.svg +++ /dev/null @@ -1,185 +0,0 @@ - -TBDBDRTR diff --git a/docs/gitlab.monopic b/docs/gitlab.monopic deleted file mode 100644 index e8f4331a8d2d24903408c170221a492ecfff1fd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6367 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 diff --git a/docs/licenses/aws-signing-proxy.txt b/docs/licenses/aws-signing-proxy.txt deleted file mode 100644 index d97f5e6375..0000000000 --- a/docs/licenses/aws-signing-proxy.txt +++ /dev/null @@ -1,5 +0,0 @@ -https://github.com/cllunsford/aws-signing-proxy/blob/master/README.md - -License -MIT 2018 (c) Chris Lunsford - diff --git a/docs/licenses/aws_cli.txt b/docs/licenses/aws_cli.txt deleted file mode 100644 index 8cc43f554d..0000000000 --- a/docs/licenses/aws_cli.txt +++ /dev/null @@ -1,14 +0,0 @@ -https://github.com/aws/aws-cli/blob/develop/LICENSE.txt - -Copyright 2012-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"). You -may not use this file except in compliance with the License. A copy of -the License is located at - - http://aws.amazon.com/apache2.0/ - -or in the "license" file accompanying this file. This file is -distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -ANY KIND, either express or implied. See the License for the specific -language governing permissions and limitations under the License. diff --git a/docs/licenses/bigquery.txt b/docs/licenses/bigquery.txt deleted file mode 100644 index 9d642030e9..0000000000 --- a/docs/licenses/bigquery.txt +++ /dev/null @@ -1,121 +0,0 @@ -https://cloud.google.com/terms/service-terms - -Service Specific Terms - -These Service Specific Terms are incorporated into the agreement under which Google has agreed to provide Google Cloud Platform (as described at https://cloud.google.com/terms/services) to Customer (the “Agreement”). If the Agreement authorizes the resale or supply of Google Cloud Platform under a Google Cloud partner or reseller program, then all references to Customer in the Service Specific Terms mean Partner or Reseller (as applicable), and all references to Customer Data in the Service Specific Terms mean Partner Data. Capitalized terms used but not defined in the Service Specific Terms have the meaning given to them in the Agreement. - -General Service Terms - -1. Data Location. Customer may configure the Services listed at https://cloud.google.com/terms/data-residency to store Customer Data in a specific Region or Multi-Region as detailed in the Cloud Locations Page, and Google will store that Customer Data at rest only in the selected Region or Multi-Region. The Services do not limit the locations from which Customer or Customer End Users may access Customer Data or to which they may move Customer Data. For clarity, Customer Data does not include resource identifiers, attributes, or other data labels. - -2. Operations of Communications Services. Notwithstanding any telecommunications restrictions in the Agreement, Customer may use the Services for hosting capacity in connection with Customer’s provision of telecommunications services to Customer End Users if (a) Customer obtains, maintains, and complies with all necessary regulatory licenses, registrations or other applicable requirements relating to such telecommunications services, and (b) Customer does not use or resell the Services to provide telecommunications connectivity, including for virtual private network services, network transport, or voice or data transmission. - -3. General Software Terms. The following terms apply to all Software: - - a. License. Google grants Customer a royalty-free (unless otherwise stated by Google), non-exclusive, non-sublicensable, non-transferable license during the Term to reproduce and use the Software ordered by Customer on systems owned, operated, or managed by or on behalf of Customer in accordance with (i) the Agreement, and (ii) if applicable, the Scope of Use. Customer may authorize its and its Affiliates' employees, agents, and subcontractors (collectively, “Software Users”) to use the Software in accordance with this section (License), so long as Customer remains responsible. Customer may make a reasonable number of copies of the Software for back-up and archival purposes. For clarity, Software does not constitute Services. - - b. Documentation. Google may provide Documentation describing the appropriate operation of the Software, including a description of how Software is properly used, and whether and how the Software collects and processes data. Customer will comply with any restrictions in the Documentation regarding Software use. - - c. Compliance With Scope of Use. Within 30 days of Google’s reasonable written request, Customer will provide a sufficiently detailed written report describing its usage in accordance with the applicable Scope of Use of each Software product used by Customer and its Software Users during the requested period. If requested, Customer will provide reasonable assistance and access to information to verify the accuracy of Customer’s Software usage report(s). - - d. Other Warranties and Compliance. Each party represents and warrants that it will comply with all laws and regulations applicable to its provision or use of the Software, as applicable. Customer will: (i) ensure that Customer and its Software Users' use of the Software complies with the Agreement and the restrictions in the Agreement applying to Customer's use of the Services; (ii) use commercially reasonable efforts to prevent and terminate any unauthorized access to or use of the Software; and (iii) promptly notify Google of any unauthorized access to or use of the Software of which Customer becomes aware. If the Software contains open source or third-party components, those components may be subject to separate license agreements, which Google will make available to Customer. Customer is solely responsible for complying with the terms of any third-party sources from which Customer elects to migrate its workloads onto the Services, and represents and warrants that such third-party sources permit the use of Software to migrate applications away from such sources. If the Agreement terminates or expires, then Customer will stop using all Software and delete it from Customer's systems. - -4. Premium Software Terms. The following terms apply only to Premium Software: - - a. Introduction. Google makes certain Software available under the Agreement described as “Premium Software” at https://cloud.google.com/terms/services(“Premium Software”). Customer will pay applicable Fees for any Premium Software it obtains as described at the Fees URL. Premium Software is Google’s Confidential Information. - - b. Software Warranty. Google warrants to Customer that for one year from its delivery, Premium Software will perform in material conformance with the applicable Documentation. This warranty will not apply if (i) Customer does not notify Google of the non-conformity within 30 days after Customer first discovers it, (ii) Customer modifies Premium Software or uses it in violation of the Agreement, or (iii) the non-conformity is caused by any third-party hardware, software, services, or other offerings or materials, in each case not provided by Google. - - If Google breaches this warranty, then Google will, in its discretion, repair or replace the impacted Premium Software at no additional charge. If Google does not believe that repairing or replacing would be commercially reasonable, then Google will notify Customer and (A) Customer will immediately cease use of the impacted Premium Software and (B) Google will refund or credit any prepaid amounts for the impacted Premium Software and Customer will be relieved of any then-current commitment to pay for future use of the impacted Premium Software. Without limiting the parties’ termination rights, this section (Software Warranty) states Customer’s sole remedy for Google’s breach of the warranty in this section (Software Warranty). - - c. Software Indemnification. Google’s indemnity obligations under the Agreement with respect to allegations of infringement of third-party Intellectual Property Rights apply to Premium Software, and Customer’s indemnity obligations under the Agreement with respect to Customer’s use of the Services apply to Customer’s use of Premium Software. In addition to any other indemnity exclusions in the Agreement, Google’s indemnity obligations will not apply to the extent the underlying allegation arises from modifications to Premium Software not made by Google or use of versions of Premium Software that are no longer supported by Google. - - d. Technical Support. Unless otherwise specified by Google, Google will make TSS available for Premium Software for an additional charge, in accordance with the TSS Guidelines. - - e. Compliance. Premium Software may transmit to Google metering information reasonably necessary to verify that use of the Premium Software complies with the Scope of Use, as described in the applicable Documentation. Customer will not disable or interfere with the transmission of such metering information. - - f. Updates and Maintenance. During the Term, Google will make available to Customer copies of all current versions, updates, and upgrades of Premium Software, promptly upon general availability, as described in the Documentation. Unless otherwise stated in the Documentation for the applicable component of Premium Software, Google will maintain the current release of Premium Software and the two versions immediately preceding the current release, including by providing reasonable bug fixes and security patches. Maintenance for any Premium Software may be discontinued with one year’s notice from Google, except Google may eliminate maintenance for a version and require upgrading to a maintained version to address a material security risk or when reasonably necessary to avoid an infringement claim or comply with applicable law. - -5. Pre-GA Offerings Terms. Google may make available to Customer pre-general availability Google Cloud Platform features, services or software that are either not yet listed at https://cloud.google.com/terms/services or identified as “Early Access,” “Alpha,” “Beta,” “Preview,” “Experimental,” or a similar designation in related documentation or materials (collectively, “Pre-GA Offerings”). While Pre-GA Offerings are not Services or Software, Customer’s use of Pre-GA Offerings is subject to the terms of the Agreement applicable to Services (or Software, if applicable), as amended by this Section 5. - -Customer may provide feedback and suggestions about the Pre-GA Offerings to Google, and Google and its Affiliates may use any feedback or suggestions provided without restriction and without obligation to Customer. - -PRE-GA OFFERINGS ARE PROVIDED “AS IS” WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES OR REPRESENTATIONS OF ANY KIND. Pre-GA Offerings (a) may be changed, suspended or discontinued at any time without prior notice to Customer and (b) are not covered by any SLA or Google indemnity. Except as otherwise expressly indicated in a written notice or the documentation for a given Pre-GA Offering, (i) Pre-GA Offerings may not be covered by TSS, (ii) the Cloud Data Processing Addendum does not apply to Pre-GA Offerings and Customer should not use Pre-GA Offerings to process personal data or other data subject to legal or regulatory compliance requirements, and (iii) Google’s data location commitments set out in these Service Specific Terms will not apply to Pre-GA Offerings. With respect to Pre-GA Offerings, to the maximum extent permitted by applicable law, neither Google nor its suppliers will be liable for any amounts in excess of the lesser of (A) the limitation on the amount of liability stated in the Agreement or (B) $25,000. Nothing in the preceding sentence will affect the remaining terms of the Agreement relating to liability (including any specific exclusions from any limitation of liability). Customer's access to and use of any Pre-GA Offering is subject to any applicable Scope of Use. Either party may terminate Customer's use of a Pre-GA Offering at any time with written notice to the other party. Certain Pre-GA Offerings may be subject to additional terms stated below. - -6. Google-Managed Multi-Cloud. The then-current services described as “Google-Managed Multi-Cloud Services” at https://cloud.google.com/terms/services ("Google-Managed MCS") are Google services, products and features that are hosted on the infrastructure of a third party cloud provider (“Multi-Cloud Service Third-Party Provider”). While the Google-Managed MCS are not Services or Software, Customer’s use of the Google-Managed MCS is subject to the terms of the Agreement applicable to Services (or Software, if applicable), as amended by this Section 6. In addition to the terms of the Agreement and notwithstanding anything to the contrary in the “Conflicting Terms” section of the Agreement, Customer’s use of the Google-Managed MCS is subject to the following terms: - -a. Admin Console. The Google-Managed MCS may not be available through the Admin Console. - -b. Multi-Cloud Service Third-Party Provider Relationship. - -i. To make use of the Google-Managed MCS, Customer must maintain an independent account and billing relationship with the applicable Multi-Cloud Service Third-Party Provider. Customer is responsible for entering into and complying with an appropriate agreement with the applicable Multi-Cloud Service Third-Party Provider governing Customer’s use of the Multi-Cloud Service Third-Party Provider’s services and the Multi-Cloud Service Third-Party Provider’s processing of personal data on behalf of Customer. The Agreement does not obligate Google or the Multi-Cloud Service Third-Party Provider to provide the Multi-Cloud Service Third-Party Provider’s services that are necessary for the Customer to use the Google-Managed MCS. - -ii. If the Multi-Cloud Service Third-Party Provider makes a change to its services or terms, and Google reasonably concludes that its provision of the Google-Managed MCS is no longer commercially feasible as a result of the change, Google may immediately Suspend all or part of Customer's use of the impacted Google-Managed MCS, or make any other discontinuance or backwards-incompatible change necessary to continue to provide the Google-Managed MCS. Google will lift any such Suspension once the circumstances giving rise to the Suspension have been resolved. To the extent Google may Suspend or modify the Google-Managed MCS as set forth in this Section, the Google-Managed MCS are not subject to the sections of the Agreement covering discontinuance and backwards-incompatible changes. - -c. Data Processing. Processing of data by the Google-Managed MCS is subject to the terms of the Cloud Data Processing Addendum, as supplemented and amended by the Google-Managed Multi-Cloud Services Cloud Data Processing Addendum. "Google-Managed Multi-Cloud Services Cloud Data Processing Addendum" means the terms stated at https://cloud.google.com/terms/mcs-data-processing-terms. - -d. Limitation of Liability. Notwithstanding anything to the contrary in the Agreement (except subject to any unlimited liabilities expressly stated in the Agreement), to the maximum extent permitted by law, each party’s total aggregate Liability for damages arising out of or relating to the Google-Managed MCS is limited to the greater of (1) the Fees Customer paid for the Google-Managed MCS during the 12-month period before the event giving rise to liability and (2) $25,000. - -e. Disclaimers. Notwithstanding anything to the contrary in the Agreement, the Google-Managed MCS (i) are not covered by any SLA covering Google Cloud Platform Services, unless specifically identified under the terms of the SLA, (ii) are not subject to any obligations for Google to provide termination or transition assistance or other technical assistance after Suspension or termination, (iii) are not subject to any business continuity or disaster recovery commitments, and (iv) are not Audited Services, unless specifically identified at the Audited Services URL as listed in Section 2.1 (Definitions) of the CDPA. - -f. Survival. The following subsections of these Google-Managed Multi-Cloud Service Specific Terms will survive expiration or termination of the Agreement: d (Limitation of Liability); e (Disclaimer); and f (Survival). - -7. Benchmarking. Customer may conduct benchmark tests of the Services (each a "Test"). Customer may only publicly disclose the results of such Tests if it (a) obtains Google's prior written consent, (b) provides Google all necessary information to replicate the Tests, and (c) allows Google to conduct benchmark tests of Customer's publicly available products or services and publicly disclose the results of such tests. Notwithstanding the foregoing, Customer may not do either of the following on behalf of a hyperscale public cloud provider without Google's prior written consent: (i) conduct (directly or through a third party) any Test of the Services or (ii) disclose the results of any such Test. - -8. Trials. Certain Services may be made available to Customer on a trial basis. The parameters of each trial, including any Scope of Use, may be presented to Customer either through the Fees URL, Admin Console, Documentation, email, or as otherwise communicated by Google. Use of a trial indicates Customer’s acceptance of any such parameters. - -9. User Experience Research. If Customer enrolls in the Google Cloud User Experience Research Program for Google Cloud Platform, Customer’s participation will be subject to the Google Cloud User Experience Research Panel Addendum available at https://cloud.google.com/terms/user-experience-research or a successor URL. - -10. PGSSI-S. Customer will comply with France's General Security Policy for Health Information Systems (PGSSI-S) to the extent applicable. - -11. Additional Definitions. - -“Cloud Locations Page” means https://cloud.google.com/about/locations/. - -“Documentation” means the then-current Google documentation made available by Google to its customers for use with the Services at https://cloud.google.com/docs/. - -“Fees URL” means https://cloud.google.com/skus. - -“Multi-Region” means a defined set of Regions. - -“Region” means a region from which a particular Service is offered, as identified at the Cloud Locations Page. - -“Scope of Use” means any limits on installation or usage of Services or Software described at the Fees URL, Admin Console, order form, or otherwise presented by Google. - -Service Terms - -5. BigQuery. - -a. ODBC/JDBC Drivers. The ODBC and JDBC drivers for BigQuery (as described here) are “Software” as defined in the Agreement and any use of them is subject to the “General Software Terms” above. These drivers may only be used with BigQuery and may not be used with any other product or service. - -b. Analytics Hub (PREVIEW) - -(i) Introduction. Analytics Hub is a feature of BigQuery that helps users find and share sets of Customer Data (“Datasets”). Datasets are organized into shared repositories (“Exchanges”) with each Dataset’s listings containing (as applicable) a description, documentation, branding, metadata or similar materials (“Listing Materials”). - -(ii) Roles. Customer can serve different roles in Analytics Hub: - - A. “Publishers” create and submit Datasets for listing within Exchanges. - - B. “Subscribers” request access to Datasets listed in Exchanges for their own use in BigQuery. - - C. “Exchange Administrators” (1) create and administer Exchanges, (2) add or remove Listing Materials in Exchanges, (3) control visibility of Exchanges and Listing Materials, and (4) on behalf of the relevant Publisher, enable or reject Subscriber requests to access Datasets. - -(iii) Publishers. Publishers can serve as their own Exchange Administrators or submit Datasets to Exchanges operated by third-party Exchange Administrators. In the latter case, the Publisher submits its Dataset to the Exchange Administrator and must follow any enrollment steps specified by the Exchange Administrator for its Exchange. - -(iv) Exchange Administrators. When acting as an Exchange Administrator, Customer must: - - A. Secure and maintain all necessary rights, consents and permissions (including from any third-party Publishers) to list, share or take other action with respect to the Datasets or Listing Materials; and - - B. Handle takedown requests, data subject requests, notices of infringement, and any other notices or requests it receives regarding its Exchange or related Listing Materials or Datasets. - - For clarity, Listing Materials are considered Customer Data of the applicable Exchange Administrator. - -(v) Separate Relationships. - - A. Google is not responsible for and will have no liability to Customer in relation to any terms or relationships between Customer and any third party acting as a Publisher, Subscriber, or Exchange Administrator. If Customer offers any commitments to any third such party beyond the commitments that Google has made to Customer in the Agreement (including in these Service Specific Terms), Google will not be liable for such commitments. - - B. Publishers and Exchange Administrators must ensure that any terms they have with Subscribers do not contradict these Service Specific Terms or the Agreement. - - C. If a Publisher or Exchange Administrator charges fees for access to Datasets, it is solely responsible for (1) collecting the fees independently of Google and Analytics Hub and (2) any related refunds or liabilities to Subscribers. - - D. Google does not guarantee continued availability of any Datasets, and gives no warranty, indemnification or other obligation, and accepts no liability or responsibility, with respect to Datasets or their use. diff --git a/docs/licenses/cerebro.txt b/docs/licenses/cerebro.txt deleted file mode 100644 index e2904bbac9..0000000000 --- a/docs/licenses/cerebro.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/lmenezes/cerebro/blob/main/LICENSE - -MIT License - -Copyright (c) 2017 Leonardo Menezes - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/curl.txt b/docs/licenses/curl.txt deleted file mode 100644 index 3ef779c4eb..0000000000 --- a/docs/licenses/curl.txt +++ /dev/null @@ -1,13 +0,0 @@ -https://curl.se/docs/copyright.html - -COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 1996 - 2022, Daniel Stenberg, daniel@haxx.se, and many contributors, see the THANKS file. - -All rights reserved. - -Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder. diff --git a/docs/licenses/docker.txt b/docs/licenses/docker.txt deleted file mode 100644 index 18f0c0b213..0000000000 --- a/docs/licenses/docker.txt +++ /dev/null @@ -1,51 +0,0 @@ -https://www.docker.com/legal/docker-software-end-user-license-agreement/ - -THIS DOCKER SOFTWARE END USER LICENSE AGREEMENT (“AGREEMENT”) IS BY AND BETWEEN DOCKER, INC., LOCATED AT 318 CAMBRIDGE AVENUE, PALO ALTO, CALIFORNIA 94306 USA (“DOCKER”) AND THE INDIVIDUAL OR LEGAL ENTITY WHO IS USING THE APPLICABLE SOFTWARE MADE AVAILABLE BY DOCKER (“CUSTOMER”) AND GOVERNS ALL USE BY CUSTOMER OF SUCH SOFTWARE. - -BY DOWNLOADING OR USING THE SOFTWARE YOU EXPRESSLY ACCEPT AND AGREE TO THE TERMS OF THIS AGREEMENT. IF YOU ARE AN INDIVIDUAL AGREEING TO THE TERMS OF THIS AGREEMENT ON BEHALF OF AN ENTITY, SUCH AS YOUR EMPLOYER, YOU REPRESENT THAT YOU HAVE THE LEGAL AUTHORITY TO BIND THAT ENTITY AND “YOU” AND “YOUR” SHALL REFER HEREIN TO SUCH ENTITY. IF YOU DO NOT HAVE SUCH AUTHORITY, OR IF YOU DO NOT AGREE WITH ALL THE TERMS OF THIS AGREEMENT, YOU MUST NOT DOWNLOAD, INSTALL, DEPLOY, OR USE THE SOFTWARE. - -1. DEFINITIONS - -The following capitalized terms shall have the meanings set forth below: - -1.1 “Licensed Software” means the Docker software licensed to you pursuant to the terms of this Agreement, excluding any Open Source Software contained therein. - -1.2 “Open Source Software” means Docker or third party software that is distributed or otherwise made available as “free software”, “open source software” or under a similar licensing or distribution model. - -2. LICENSE - -2.1 Licensed Software. Subject to your compliance with the terms and conditions of this Agreement, Docker hereby grants You a limited, non-exclusive, non-transferable, non-sub-licensable license to install, copy and use the Licensed Software solely for your internal use. - -2.2 Open Source Software. If applicable, Open Source Software is distributed or made available under the terms of the open source license agreements referenced in the applicable distribution or the applicable help, notices, about or source files. Copyrights and other proprietary rights to the Open Source Software are held by the copyright holders identified in the applicable distribution or the applicable help, notices, about or source files. - -3. RESTRICTED ACTIVITIES - -You shall not, and shall not encourage any third party to: (a) modify, adapt, alter, translate, or create derivative works of the Licensed Software; (b) reverse-engineer, decompile, disassemble, or attempt to derive the source code for the Licensed Software, in whole or in part, except to the extent that such activities are permitted under applicable law; (c) distribute, license, sublicense, lease, rent, loan, or otherwise transfer the Licensed Software to any third party; (d) remove, alter, or obscure in any way the proprietary rights notices (including copyright, patent, and trademark notices and symbols) of Docker or its suppliers contained on or within any copies of the Licensed Software; (e) use the Licensed Software for the purpose of creating a product or service competitive with the Licensed Software; (f) use the Licensed Software for any time-sharing, outsourcing, service bureau, hosting, application service provider or like purposes; (g) disclose the results of any benchmark tests on the Licensed Software without Docker’s prior written consent; or (h) use the Licensed Software other than as described in the documentation provided therewith, or for any unlawful purpose. - -4. OWNERSHIP - -Docker and its licensors own and retain all right, title, and interest, including all intellectual property rights, in and to the Licensed Software, including any improvements, modifications, and enhancements to it. Except for the rights expressly granted in this Agreement, You shall acquire no other rights, express or implied, in or to the Licensed Software, and all rights not expressly provided to you hereunder are reserved by Docker and its licensors. All the copies of the Licensed Software provided or made available hereunder are licensed, not sold. - -5. FEEDBACK - -Feedback means any comments or other feedback You may provide to Docker, at your sole discretion, concerning the functionality and performance of the Licensed Software, including identification of potential errors and improvements. By submitting any Feedback, You hereby assign to Docker all right, title, and interest in and to the Feedback, if any. - -6. NO WARRANTIES - -YOU EXPRESSLY UNDERSTAND AND AGREE THAT ALL USE OF THE LICENSED SOFTWARE IS AT YOUR SOLE RISK AND THAT THE LICENSED SOFTWARE IS PROVIDED “AS IS” AND “AS AVAILABLE.” DOCKER, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS MAKE NO EXPRESS WARRANTIES AND DISCLAIM ALL IMPLIED WARRANTIES REGARDING THE LICENSED SOFTWARE, INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT, TOGETHER WITH ANY AND ALL WARRANTIES ARISING FROM COURSE OF DEALING OR USAGE IN TRADE. NO ADVICE OR INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED FROM DOCKER OR ELSEWHERE SHALL CREATE ANY WARRANTY NOT EXPRESSLY STATED IN THIS AGREEMENT. WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, DOCKER, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS DO NOT REPRESENT OR WARRANT TO YOU THAT: (A) YOUR USE OF THE LICENSED SOFTWARE WILL MEET YOUR REQUIREMENTS, OR (B) YOUR USE OF THE LICENSED SOFTWARE WILL BE UNINTERRUPTED, TIMELY, SECURE OR FREE FROM ERROR. NOTWITHSTANDING THE FOREGOING, NOTHING HEREIN SHALL EXCLUDE OR LIMIT DOCKER’S WARRANTY OR LIABILITY FOR LOSSES WHICH MAY NOT BE LAWFULLY EXCLUDED OR LIMITED BY APPLICABLE LAW. YOU UNDERSTAND AND ACKNOWLEDGE THAT THE LICENSED SOFTWARE IS NOT DESIGNED, INTENDED OR WARRANTED FOR USE IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE CONTROLS, INCLUDING WITHOUT LIMITATION, OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, AND LIFE SUPPORT OR WEAPONS SYSTEMS. - -7. INDEMNIFICATION BY YOU - -You agree to hold harmless and indemnify Docker and its subsidiaries, affiliates, officers, agents, employees, advertisers, licensors, suppliers or partners from and against any third party claim arising from or in any way related to your breach of this Agreement, use of the Licensed Software, or violation of applicable laws, rules or regulations in connection with the Licensed Software, including any liability or expense arising from all claims, losses, damages (actual and consequential), suits, judgments, litigation costs and attorneys’ fees, of every kind and nature. - -8. LIMITATION OF LIABILITY - -YOU EXPRESSLY UNDERSTAND AND AGREE THAT DOCKER, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES INCURRED BY YOU, HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, ANY LOSS OF PROFIT (WHETHER INCURRED DIRECTLY OR INDIRECTLY), ANY LOSS OF GOODWILL OR BUSINESS REPUTATION, ANY LOSS OF DATA SUFFERED, COST OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR OTHER INTANGIBLE LOSS. THE FOREGOING LIMITATIONS ON DOCKER’S LIABILITY SHALL APPLY WHETHER OR NOT DOCKER HAS BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING. NOTWITHSTANDING THE FOREGOING, NOTHING HEREIN SHALL EXCLUDE OR LIMIT DOCKER’S LIABILITY FOR LOSSES WHICH MAY NOT BE LAWFULLY EXCLUDED OR LIMITED BY APPLICABLE LAW. THE TOTAL LIABILITY OF DOCKER ARISING OUT OF OR RELATED TO THIS AGREEMENT WILL NOT EXCEED USD $100. - -9. EXPORT RESTRICTIONS - -You understand that the software provided under this Agreement may contain encryption technology and other software programs that may require an export license from the U.S. State Department and that export or re-export of the software to certain entities (such as a foreign government and its subdivisions) and certain countries is prohibited. You agree that you will comply with all applicable export and import control laws and regulations of the United States and the foreign jurisdiction in which the software is used and, in particular, You will not export or re-export the software without all required United States and foreign government licenses. You will defend, indemnify, and hold harmless Docker and its suppliers and licensors from and against any violation of such laws or regulations by you or any of your agents, officers, directors or employees. - -10. MISCELLANEOUS - -The Licensed Software and any other software covered under this Agreement are “commercial items” as that term is defined at 48 C.F.R. 2.101; consisting of “commercial computer software” and “commercial computer software documentation” as such terms are used in 48 C.F.R. 12.212. Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4, all U.S. Government end users acquire the Licensed Software and any other software and documentation covered under this Agreement with only those rights set forth herein. This Agreement will be governed by the laws of the State of California without reference to conflict of law principles. Each party agrees to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this Agreement. You may not assign any of your rights or obligations under this Agreement, whether by operation of law or otherwise, without the prior written consent of Docker. Notwithstanding the foregoing, Docker may assign the entirety of its rights and obligations under this Agreement without your consent. The application of the UN Convention of International Sale of Goods to this Agreement is disclaimed in its entirety. This Agreement constitutes the entire agreement between You and Docker governing your use of the Licensed Software and supersedes any prior agreements between You and Docker, including but not limited to, any prior versions of this Agreement. The failure of Docker to enforce its rights under this Agreement at any time for any period shall not be construed as a waiver of such rights. If any provision of this Agreement is held invalid or unenforceable, the remainder of this Agreement will continue in full force and effect and the invalid or unenforceable provision shall be reformed to the extent necessary to make it valid and enforceable. diff --git a/docs/licenses/elasticsearch.txt b/docs/licenses/elasticsearch.txt deleted file mode 100644 index 0caa9c0c3d..0000000000 --- a/docs/licenses/elasticsearch.txt +++ /dev/null @@ -1,57 +0,0 @@ -https://www.elastic.co/licensing/elastic-license - -Elastic License 2.0 (ELv2) - -Elastic License - -Acceptance - -By using the software, you agree to all of the terms and conditions below. - -Copyright License - -The licensor grants you a non-exclusive, royalty-free, worldwide, non-sublicensable, non-transferable license to use, copy, distribute, make available, and prepare derivative works of the software, in each case subject to the limitations and conditions below. - -Limitations - -You may not provide the software to third parties as a hosted or managed service, where the service provides users with access to any substantial set of the features or functionality of the software. - -You may not move, change, disable, or circumvent the license key functionality in the software, and you may not remove or obscure any functionality in the software that is protected by the license key. - -You may not alter, remove, or obscure any licensing, copyright, or other notices of the licensor in the software. Any use of the licensor’s trademarks is subject to applicable law. - -Patents - -The licensor grants you a license, under any patent claims the licensor can license, or becomes able to license, to make, have made, use, sell, offer for sale, import and have imported the software, in each case subject to the limitations and conditions in this license. This license does not cover any patent claims that you cause to be infringed by modifications or additions to the software. If you or your company make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company. - -Notices - -You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms. - -If you modify the software, you must include in any modified copies of the software prominent notices stating that you have modified the software. - -No Other Rights - -These terms do not imply any licenses other than those expressly granted in these terms. - -Termination - -If you use the software in violation of these terms, such use is not licensed, and your licenses will automatically terminate. If the licensor provides you with a notice of your violation, and you cease all violation of this license no later than 30 days after you receive that notice, your licenses will be reinstated retroactively. However, if you violate these terms after such reinstatement, any additional violation of these terms will cause your licenses to terminate automatically and permanently. - -No Liability - -As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim. - -Definitions - -The licensor is the entity offering these terms, and the software is the software the licensor makes available under these terms, including any portion of it. - -you refers to the individual or entity agreeing to these terms. - -your company is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. control means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect. - -your licenses are all the licenses granted to you for the software under these terms. - -use means anything you do with the software requiring one of your licenses. - -trademark means trademarks, service marks, and similar rights. diff --git a/docs/licenses/git.txt b/docs/licenses/git.txt deleted file mode 100644 index b0f26755c2..0000000000 --- a/docs/licenses/git.txt +++ /dev/null @@ -1,7 +0,0 @@ -https://git-scm.com/about/free-and-open-source - -Free and Open Source - -Git is released under the GNU General Public License version 2.0, which is an open source license. The Git project chose to use GPLv2 to guarantee your freedom to share and change free software---to make sure the software is free for all its users. - -However, we do restrict the use of the term "Git" and the logos to avoid confusion. Please see our trademark policy for details. diff --git a/docs/licenses/github.txt b/docs/licenses/github.txt deleted file mode 100644 index dde225504b..0000000000 --- a/docs/licenses/github.txt +++ /dev/null @@ -1,358 +0,0 @@ -https://github.com/customer-terms/general-terms - -GitHub Customer Agreement - -This Agreement consists of the General Terms, the applicable Product Specific Terms and any additional terms -GitHub presents when an order is placed. The Agreement takes effect when Customer accepts the General -Terms, and the individual who accepts these General Terms represents that they are authorized to enter into -this Agreement on behalf of Customer. - -GitHub General Terms - -These General Terms apply to all of Customer’s orders under this Agreement. Capitalized terms have the -meanings given under Definitions. - -1 License to use GitHub Products - -1.1 License grant. Products are licensed and not sold. Subject to Customer’s compliance with this -Agreement, GitHub grants to Customer a nonexclusive and limited license to install and use the -Products ordered as provided in the applicable Product Specific Terms and this Agreement. The licenses -are only for Customer’s internal business purposes and are non-transferable except as expressly -permitted under this Agreement or applicable law. - -1.2 Duration of licenses. Licenses expire at the end of the applicable Subscription Term unless renewed. - -1.3 Accounts. Customer may assign each Subscription License to one individual End User for use or access -on any number of devices. Customer may not reassign a Subscription License to another End User -within 90 days of the last assignment, except where End User’s relationship with Customer ends or End -User goes on leave. End User accounts may not be shared by individuals. - -1.4 End Users. Customer controls access to and use of the Products by End Users. Customer is responsible -for End Users’ use. - -1.5 Product Specific Terms. Product Specific Terms apply to Products, such as GitHub AE, GitHub Enterprise -Cloud and GitHub Enterprise Server. If there is a conflict between the Product Specific Terms and the -General Terms, the Product Specific Terms apply for that Product. - -1.6 Previews. Previews are provided “AS-IS”, “WITH ALL FAULTS” and “AS AVAILABLE”. GitHub may change -or discontinue Previews at any time without notice. - -1.7 Product changes. GitHub has the right to make changes to the Products if such changes do not -materially lessen the Product’s functionality. GitHub may provide additional terms that apply to -Customer’s use of updates, new features or related software. - -1.8 Affiliates. Customer’s Affiliates may use the Products under this Agreement. Customer is responsible for -its Affiliates’ use, and Customer has the sole right to enforce this Agreement. - -1.9 Compliance with laws. Customer’s use of the Products must not violate any applicable laws, including -copyright or trademark laws, export control laws and regulations, including laws and regulations in its -jurisdiction. - -1.10 Reservation of rights. Products are protected by copyright and other intellectual property laws and -international treaties. GitHub reserves all rights not expressly granted in this Agreement, and no rights -are granted or implied by waiver or estoppel. - -1.11 Feedback. Feedback by Customer is voluntary and may be used by GitHub for any purpose without -obligation of any kind. - -1.12 Restrictions. Unless expressly permitted in this Agreement or by law, Customer may not: -(a) reverse engineer, decompile, or disassemble any Product, or try to do so; -(b) run, upgrade or downgrade, or transfer parts of a Product separately at different times or on -different devices; -(c) install, use, or distribute other software or technology in any way that makes -GitHub’s intellectual property or technology subject to any other license terms; -(d) work around technical limitations in a Product or restrictions in Product documentation; or -(e) sell, rent, lease, sublicense, distribute or lend any Products to others, in whole or in part, or host -Products for use by others. - -2 Support - -Support. GitHub will Support a generally available release of a Product for one year from the original -release date or 6 months from the last generally available update of such release, whichever is longer. -GitHub is not responsible for Support if (a) someone other than a GitHub Representative modifies the -Products or (b) Customer uses the Products in a manner unauthorized by the Agreement or Product -documentation. -3 Data Protection - -Personal Data. Customer and GitHub will comply with applicable data protection laws. - -4 Confidentiality - -4.1 Existing NDA. If the parties have entered into a non-disclosure agreement, those terms apply instead of -this confidentiality section. - -4.2 Confidential Information. “Confidential Information” is non-public information in any form that is -marked as “confidential” or that a reasonable person should understand is confidential. This includes, -but is not limited to, Customer Content, the terms of this Agreement and Customer’s account -authentication credentials. -Confidential Information does not include information that: -(a) becomes publicly available without a breach of a confidentiality obligation; -(b) was received lawfully from another source without a confidentiality obligation; -(c) is independently developed; or -(d) is Feedback. - -4.3 Protection of Confidential Information. Each party will take reasonable steps to protect the other’s -Confidential Information. A party will only use the other party’s Confidential Information as part of the -parties’ business relationship. Neither party will disclose Confidential Information to third parties. A -party may only share Confidential Information with a party’s Representatives on a need-to-know basis, -under nondisclosure obligations at least as protective as this Agreement. Each party remains -responsible for the use of Confidential Information by its Representatives. A party must promptly notify -the other party if it discovers any unauthorized use or disclosure. - -4.4 Disclosure required by law. A party may disclose the other’s Confidential Information if required by law, -but only after it notifies the other party (if legally permissible) so that the other party can seek a -protective order. - -4.5 Residual information. Neither party is required to restrict its Representatives in other work assignments -if they have had access to Confidential Information. Each party agrees that the use of information -retained in Representatives’ unaided memories in the development or deployment of the parties’ -respective products or services does not create liability under this Agreement or trade secret law. - -4.6 Duration of confidentiality obligation. These confidentiality obligations apply (1) for Customer Content, -until it is deleted from the Online Services; and (2) for all other Confidential Information, for a period of -five years after a party receives the Confidential Information. - -5 Warranties - -5.1 Limited warranties and remedies. -(a) Online Services. GitHub warrants that the Online Services will perform in accordance with the -applicable SLA during Customer’s use. Customer’s remedies for breach of this warranty are -described in the SLA. -(b) Software. GitHub warrants that the Software will perform substantially as described in the -applicable Product documentation for one year from the date Customer acquires a license for that -version. If it does not and Customer notifies GitHub within the warranty term, GitHub will at its -option (a) return the price Customer paid for the Software license or (b) repair or replace the -Software. -(c) Support. GitHub warrants that it will perform Support in accordance with the applicable Support - -program. Customer’s remedies for breach of this warranty are described in the Support programs. -The remedies above are Customer’s sole remedies for breach of the warranties. Customer waives any -warranty claims not made during the warranty period. - -5.2 Exclusions. The warranties in this Agreement do not apply to problems caused by accident, abuse, or -use inconsistent with this Agreement, including failure to meet minimum system requirements. These -warranties do not apply to Previews. - -5.3 Disclaimer. Except for the limited warranties above and subject to applicable law, GitHub provides no -other warranties. It disclaims any other express, implied or statutory warranties, including warranties of -quality, title, non-infringement, merchantability, and fitness for a particular purpose. - -6 Third party claims - -6.1 The parties will defend each other against third party claims described in this section and will pay the -amount of any resulting adverse final judgment or approved settlement, but only if the defending party -is promptly notified in writing of the claim and has the right to control the defense and any settlement -of it. - -6.2 The party being defended must provide the defending party with all requested assistance, information, -and authority. The defending party will then reimburse the other party for reasonable out-of-pocket -expenses it incurs in providing such assistance. - -6.3 This section describes the parties’ sole remedies and entire liability for such claims. -(a) By GitHub. GitHub will defend Customer against any third-party claim that a Product made -available by GitHub for a fee and used within the scope of this Agreement (unmodified as provided -by GitHub and not combined with anything else), misappropriated a trade secret or directly -infringes a patent, copyright, trademark, or other proprietary right of a third party. If GitHub is -unable to resolve a claim of misappropriation or infringement, it may, at its option, either (1) -modify or replace the Product with a functional equivalent or (2) terminate Customer’s license and -refund any license fees, including amounts paid in advance for any usage period after the -termination date. GitHub will not be liable for any claims or damages due to Customer’s continued -use of a Product after being notified to stop due to a third-party claim. -(b) By Customer. To the extent permitted by applicable law, Customer will defend GitHub and its -Affiliates against any third-party claim that: (1) any Customer Content misappropriated a trade -secret or directly infringes a patent, copyright, trademark, or other proprietary right of a third -party; or (2) Customer’s use of any Product, alone or in combination with anything else, violates -the law or harms a third party. - -7 Limitation of liability - -7.1 Each party’s maximum, aggregate liability to the other under this Agreement is limited to direct -damages finally awarded in an amount not to exceed the following: -(a) Products. For Products ordered on a subscription basis, GitHub’s maximum liability to Customer for -any incident giving rise to a claim will not exceed the amount Customer paid for the Product during -the 12 months before the incident. -(b) Previews. For Previews, GitHub’s maximum liability is limited to US $5,000. -(c) Exclusions. In no event will either party be liable for indirect, incidental, special, punitive, or -consequential damages, or loss of use, loss of profits, or interruption of business; however caused -or on any theory of liability. -(d) Exceptions. No limitation or exclusions will apply to liability arising out of either party’s (1) -confidentiality obligations (except for liability related to Customer Content, which is subject to the -above limitation for Products); (2) defense obligations above; or (3) violation of the other party’s -intellectual property rights. - -8 Pricing and payment - -8.1 Fees. Customer agrees to pay fees in full, up front and, if invoiced, within thirty (30) days of the invoice -date. Amounts payable are non-refundable, except as stated in this Agreement regarding Product -warranty and third-party claims. If billed based on usage, GitHub will invoice according to the billing -model described in the Product documentation. - -8.2 Late payment. If Customer fails to pay fees on time, GitHub has the right to charge 2% monthly interest -on past due amounts as allowed by law. GitHub also has the right to charge Customer for all expenses of -recovery, to terminate the applicable order, turn off access and to take any other action at law. - -8.3 Taxes. Customer is solely responsible for all taxes, fees, duties and governmental assessments (except -for taxes based on GitHub’s net income) that are imposed or become due in connection with this -Agreement. If any taxes are required to be withheld on payments invoiced by GitHub, Customer may -deduct such taxes from the amount owed and pay them to the appropriate taxing authority, but only if -Customer promptly provides GitHub an official receipt for those withholdings and other documents -reasonably requested to allow GitHub to claim a foreign tax credit or refund. Customer will ensure that -any taxes withheld are minimized to the extent possible under applicable law. - -9 Term and termination - -9.1 Term. This Agreement is effective until terminated by a party, as described below. - -9.2 Termination without cause. Either party may terminate this Agreement without cause on 30 days’ -notice. Licenses granted on a subscription basis will continue for the duration of the Subscription Term, -subject to the terms of this Agreement. - -9.3 Termination for cause. Without limiting other remedies, either party may terminate this Agreement for -material breach immediately if the other party fails to cure a curable breach within a 30-day notice -period. Upon such termination: -(a) All licenses granted under this Agreement will terminate immediately. -(b) All amounts due under any unpaid invoices will become due and payable immediately. -(c) If GitHub is in breach, Customer will be reimbursed for any prepaid unused fees. - -9.4 Migration. Customer may migrate or request migration of the data in its repositories for up to ninety -(90) days after termination of this Agreement. Customer may not use the Products on a production -basis during that time. - -9.5 Termination for regulatory reasons. GitHub may modify, discontinue, or terminate a Product in any -country or jurisdiction where there is any current or future government regulation, obligation, or other -requirement, that (1) is not generally applicable to businesses operating there; (2) presents a hardship -for GitHub to continue offering the Product without modification; or (3) causes GitHub to believe these -terms or the Product may conflict with any such regulation, obligation, or requirement. If GitHub -terminates a subscription for regulatory reasons, Customer will receive, as its sole remedy, a -reimbursement for any prepaid, unused subscription fees. - -10 Miscellaneous - -10.1 Independent contractors. The parties are independent contractors. Customer and GitHub may develop -products independently without using the other’s Confidential Information. - -10.2 Amendments. GitHub may require Customer to accept revised or additional terms before processing a -new order. Any additional or conflicting terms and conditions presented by Customer are expressly -rejected and will not apply. - -10.3 Order of precedence. Conflicting terms in the Product Specific Terms take precedence over these -General Terms as to the applicable Products. The parties may agree on changes to Section 8 Pricing and -payment and Section 10.11 Law and venue by a signed order form. Other than that, these General -Terms will take precedence over any conflicting terms in other documents. - -10.4 Assignment. Either party may assign this Agreement to an Affiliate but it must notify the other party in -writing of the assignment. GitHub may also assign its rights to receive payment and enforce Customer’s -payment obligations. Any other assignment of this Agreement must be approved by the other party in -writing. Such notification to GitHub shall be made to the account manager at GitHub. Any attempted -assignment without required approval will be void. - -10.5 Compliance with trade laws. The parties acknowledge that the Products may be subject to U.S. and -other countries’ export jurisdictions. Each party will comply with all laws and regulations applicable to -the import or export of the Products, including, but not limited to, the U.S. Export Administration -Regulations, International Traffic in Arms Regulations, and sanctions regulations administered by the U.S. -Office of Foreign Assets Control (“trade laws”). Customer will not take any action that causes GitHub to -violate U.S. or other applicable trade laws. If Customer learns of a potential violation of trade laws -relating to the performance of this Agreement, or a potential violation of the terms in this subsection, it -will alert GitHub as soon as possible, but in no event more than 14 days after acquiring this knowledge. -GitHub may suspend or terminate this Agreement to the extent that it reasonably concludes that -performance would cause it to violate U.S. or other applicable trade laws, including those described -above, or put it at risk of becoming the subject of economic sanctions under such trade laws. - -10.6 Severability. If any part of this Agreement is held to be unenforceable, the rest of the Agreement will -remain in full force and effect. - -10.7 Waiver. Failure to enforce any provision of this Agreement will not constitute a waiver. Any waiver -must be in writing and signed by the waiving party. - -10.8 No third-party beneficiaries. This Agreement does not create any third-party beneficiary rights except -as expressly provided by its terms. - -10.9 Survival. All provisions survive termination of this Agreement except those requiring performance only -during the term of the Agreement. - -10.10 Notices. Notices to GitHub may be submitted via email to legal@support.github.com. If Customer -wishes to formally service notice on GitHub, it must be made through GitHub’s registered agent: -GitHub, Inc. -c/o Corporation Service Company -2710 Gateway Oaks Drive, Suite 150N -Sacramento, CA 95833-3505 -Notices must be in writing and will be treated as delivered on the date received at the address, date -shown on the return receipt, email transmission date, or date on the courier confirmation of delivery. -Notices to Customer will be sent to the individual at the address Customer identifies on its account as -its contact for notices. GitHub may send notices and other information to Customer by email or other -electronic form. - -10.11 Applicable law and venue. This Agreement will be governed by and construed in accordance with the -laws of the State of California and federal laws of the United States. Any legal action or proceeding will -be brought exclusively in the federal or state courts located in the Northern District of California. The -parties consent to personal jurisdiction and venue there. -If Customer’s principal office is within the European Union, European Economic Area or Switzerland, -however, this Agreement will be governed by the laws of Ireland. Any legal action or proceeding will -be brought exclusively in the courts located in Dublin. The parties consent to personal jurisdiction -and venue there. -The above choices of venue do not prevent either party from seeking injunctive relief in any -jurisdiction with respect to a violation of intellectual property rights or confidentiality obligations. -The 1980 United Nations Convention on Contracts for the International Sale of Goods and its related -instruments will not apply to this Agreement. - -10.12 GitHub Affiliates and contractors. GitHub may perform its obligations under this Agreement through its -Affiliates and use contractors to provide certain services. GitHub remains responsible for their -performance. - -10.13 U.S. Public Sector Amendment. The U.S. Public Sector Amendment applies if you are a Government -Entity (as defined in that amendment). - -10.14 Government procurement rules. By accepting this Agreement, Customer represents and warrants that -(1) it has complied and will comply with all applicable government procurement laws and regulations; -(2) it is authorized to enter into this Agreement; and (3) this Agreement satisfies all applicable -procurement requirements. - -11 Definitions - -“Affiliate” means any legal entity that controls, is controlled by, or is under common control with a -party. In this context control means ownership of more than a 50% interest in an entity. - -“Content” means text, data, software, images and any other materials that are displayed or otherwise -made available through the Online Service. - -“Customer” means the entity that has entered into this Agreement. - -“Customer Content” means Content that Customer creates, owns, or to which Customer holds the -rights. - -“End User” means any person or machine account that Customer permits to use a Product or access -Customer Content. - -“Feedback” means a comment or suggestion volunteered by a party about the other party’s business, -products or services. - -“GitHub” means GitHub, Inc. - -“Online Service” means the GitHub-hosted service to which Customer may subscribe under this -Agreement. - -“Previews” means Products provided for preview, evaluation, demonstration or trial purposes, or prerelease versions of the Products. - -“Product” means all Software, Online Services and Additional Products and Features that GitHub offers, -including Previews, updates, patches, bug fixes and support provided by GitHub. - -“Product Specific Terms” means the additional product terms that apply to Products available under -this Agreement. The Product Specific Terms are provided at github.com/enterprise-legal. - -“Representatives” means a party’s employees, Affiliates, contractors, advisors and consultants. - -“SLA” means GitHub Online Services SLA, available at github.com/enterprise-legal, which specifies the -minimum service level for the Online Services. - -“Software” means licensed copies of the on-premises software GitHub Enterprise Server identified in -the Product Specific Terms, including any generally available updates of the Software. - -“Subscription License” means the license assigned to an End User. - -“Subscription Term” means the license period agreed between the parties when the Products are -ordered. - -“Support” means GitHub’s support programs described on github.com/support-enterprise. - -“U.S. Public Sector Amendment” means the U.S. Public Sector Amendment available at -github.com/enterprise-legal. diff --git a/docs/licenses/gitlab.txt b/docs/licenses/gitlab.txt deleted file mode 100644 index 4aeb38fcdf..0000000000 --- a/docs/licenses/gitlab.txt +++ /dev/null @@ -1,30 +0,0 @@ -https://gitlab.com/gitlab-org/gitlab-foss/blob/master/LICENSE - -Copyright (c) 2011-present GitLab B.V. - -Portions of this software are licensed as follows: - -* All content residing under the "doc/" directory of this repository is licensed under "Creative Commons: CC BY-SA 4.0 license". -* All content that resides under the "ee/" directory of this repository, if that directory exists, is licensed under the license defined in "ee/LICENSE". -* All content that resides under the "jh/" directory of this repository, if that directory exists, is licensed under the license defined in "jh/LICENSE". -* All client-side JavaScript (when served directly or after being compiled, arranged, augmented, or combined), is licensed under the "MIT Expat" license. -* All third party components incorporated into the GitLab Software are licensed under the original license provided by the owner of the applicable component. -* Content outside of the above mentioned directories or restrictions above is available under the "MIT Expat" license as defined below. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/google-cloud-sdk.txt b/docs/licenses/google-cloud-sdk.txt deleted file mode 100644 index 9252b5b5b4..0000000000 --- a/docs/licenses/google-cloud-sdk.txt +++ /dev/null @@ -1,22 +0,0 @@ -$ tar --extract --gunzip --to-stdout --file google-cloud-cli-404.0.0-darwin-x86_64.tar.gz google-cloud-sdk/LICENSE | cat - -The Google Cloud CLI and its source code are licensed under Apache -License v. 2.0 (the "License"), unless otherwise specified by an alternate -license file. - -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Note that if you use the Google Cloud CLI with any Google Cloud Platform -products, your use is additionally going to be governed by the license agreement -or terms of service, as applicable, of the underlying Google Cloud Platform -product with which you are using the Google Cloud CLI. For example, if you are -using the Google Cloud CLI with Google App Engine, your use would additionally -be governed by the Google App Engine Terms of Service. - -This also means that if you were to create works that call Google APIs, you -would still need to agree to the terms of service (usually, Google's -Developer Terms of Service at https://developers.google.com/terms) for those -APIs separately, as this code does not grant you any special rights to use -the services. diff --git a/docs/licenses/grafana.txt b/docs/licenses/grafana.txt deleted file mode 100644 index a68d5d690d..0000000000 --- a/docs/licenses/grafana.txt +++ /dev/null @@ -1,47 +0,0 @@ -https://grafana.com/legal/grafana-labs-license/?plcmt=footer - -Grafana Labs License Agreement - -PLEASE READ CAREFULLY: THIS GRAFANA LABS LICENSE AGREEMENT (THIS “AGREEMENT”), WHICH CONSTITUTES A LEGALLY BINDING AGREEMENT AND GOVERNS ALL OF YOUR USE OF ALL OF THE GRAFANA LABS SOFTWARE WITH WHICH THIS AGREEMENT IS INCLUDED (“GRAFANA LABS SOFTWARE”) THAT IS PROVIDED IN OBJECT CODE FORMAT. BY INSTALLING OR USING ANY OF THE GRAFANA LABS SOFTWARE GOVERNED BY THIS AGREEMENT, SUCH AS THE FREE VERSION OF GRAFANA ENTERPRISE, GRAFANA ENTERPRISE METRICS, OR GRAFANA ENTERPISE LOGS, YOU ARE ASSENTING TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE WITH SUCH TERMS AND CONDITIONS, YOU MAY NOT INSTALL OR USE THE GRAFANA LABS SOFTWARE GOVERNED BY THIS AGREEMENT. IF YOU ARE INSTALLING OR USING THE GRAFANA LABS SOFTWARE ON BEHALF OF A LEGAL ENTITY, YOU REPRESENT AND WARRANT THAT YOU HAVE THE ACTUAL AUTHORITY TO AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT ON BEHALF OF SUCH ENTITY. Posted Date: August 5, 2021. This Agreement is entered into by and between Raintank, Inc. dba Grafana Labs (“Grafana Labs") and You, or the legal entity on behalf of whom You are acting (as applicable, “You”). - -1 OBJECT CODE END USER LICENSES, RESTRICTIONS AND THIRD PARTY OPEN SOURCE SOFTWARE - -1.1 Object Code End User License. Subject to the terms and conditions of Section 1.2 of this Agreement, Grafana Labs hereby grants to You, AT NO CHARGE and for so long as you are not in breach of any provision of this Agreement, a License to the free features and functions of the Grafana Enterprise, Grafana Enterprise Metrics, and/or Grafana Enterprise Logs software, as applicable. - -1.2 Reservation of Rights; Restrictions. As between Grafana Labs and You, Grafana Labs and its licensors own all right, title and interest in and to the Grafana Labs Software, and any related documentation or other intellectual property rights, and except as expressly set forth in Sections 1.1 of this Agreement, no other license to the Grafana Labs Software is granted to You under this Agreement, by implication, estoppel or otherwise. You agree not to: (i) reverse engineer or decompile, decrypt, disassemble or otherwise reduce any Grafana Labs Software provided to You in Object Code, or any portion thereof, to Source Code, except and only to the extent any such restriction is prohibited by applicable law, or otherwise build a competitive product or service, build a product or service using similar ideas, features, functions or graphics, or create any compilations or derivative works thereof, (ii) except as expressly permitted in Section 1.1 above, transfer, sell, rent, lease, distribute, sublicense, loan or otherwise transfer or commercially exploit or make available, Grafana Labs Software Object Code, in whole or in part, to any third party; (iii) use Grafana Labs Software Object Code for providing time-sharing services, any software-as-a-service, service bureau services or as part of an application services provider or other service offering (collectively, “SaaS Offering”) where obtaining access to the Grafana Labs Software or the features and functions of the Grafana Labs Software is a primary reason or substantial motivation for users of the SaaS Offering to access and/or use the SaaS Offering (“Prohibited SaaS Offering”); (iv) circumvent the limitations on use of Grafana Labs Software provided to You in Object Code format that are imposed or preserved by any License Key, (v) alter or remove any Marks and Notices in the Grafana Labs Software, or (vi) violate any of Grafana Labs’ posted policies regarding its Marks and Notices, including its Trademark Usage Policy available at: https://grafana.com/trademark-policy/. If You have any question as to whether a specific SaaS Offering constitutes a Prohibited SaaS Offering, or are interested in obtaining Grafana Labs ’s permission to engage in commercial or non-commercial distribution of the Grafana Labs Software, please contact Grafana Labs at sales@grafana.com - -1.3 Third Party Open Source Software. The Grafana Labs Software may contain or be provided with third party open source libraries, components, utilities and other open source software (collectively, “Open Source Software”), which Open Source Software may have applicable license terms as identified on a website designated by Grafana Labs . Notwithstanding anything to the contrary herein, use of the Open Source Software shall be subject to the license terms and conditions applicable to such Open Source Software, to the extent required by the applicable licensor (which terms shall not restrict the license rights granted to You hereunder, but may contain additional rights). To the extent any condition of this Agreement conflicts with any license to the Open Source Software, the Open Source Software license will govern with respect to such Open Source Software only. Grafana Labs may also separately provide you with certain open source software that is licensed by Grafana Labs . Your use of such Grafana Labs open source software will not be governed by this Agreement, but by the applicable open source license terms. - -2 TERMINATION - -2.1 Termination. This Agreement will automatically terminate, whether or not You receive notice of such Termination from Grafana Labs, if You breach any of its provisions. - -2.2 Post Termination. Upon any termination of this Agreement, for any reason, You shall promptly cease the use of the commercial Grafana Labs Software in Object Code format. For the avoidance of doubt, termination of this Agreement will not affect Your right to use Grafana Labs Software, in either Object Code or Source Code formats, made available under the AGPLv3 License. - -2.3 Survival. Sections 1.2, 2.2. 2.3, 3, 4, 5, and 6 shall survive any termination or expiration of this Agreement. - -3 DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITY - -3.1 Disclaimer of Warranties. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAW, THE GRAFANA LABS SOFTWARE IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, AND GRAFANA LABS AND ITS LICENSORS MAKE NO WARRANTIES WHETHER EXPRESSED, IMPLIED OR STATUTORY REGARDING OR RELATING TO THE GRAFANA LAB SOFTWARE. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAW, GRAFANA LABS AND ITS LICENSORS SPECIFICALLY DISCLAIM ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AS WELL AS ANY WARRANTIES OF REGULATORY COMPLIANCE, PERFORMANCE, ACCURACY, RELIABILITY, TITLE, AND NON-INFRINGEMENT. FURTHER, GRAFANA LABS DOES NOT WARRANT THAT THE GRAFANA LABS SOFTWARE WILL BE ERROR FREE OR UNINTERRUPTED. - -3.2 Limitation of Liability. IN NO EVENT SHALL GRAFANA LABS OR ITS LICENSORS BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, INCLUDING BUT NOT LIMITED TO, LOSS OF PROFITS, LOSS OF USE LOSS OF DATA, BUSINESS INTERRUPTION, COST OF SUBSTITUTE GOODS OR SERVICES, OR OTHER COMMERCIAL DAMAGES OR LOSSES ARISING OUT OF OR IN CONNECTION WITH THIS AGREEMENT, HOWEVER CAUSED AND WHETHER IN CONTRACT, TORT OR UNDER ANY OTHER THEORY OF LIABILITY AND WHETHER OR NOT YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -4 MISCELLANEOUS This Agreement completely and exclusively states the entire agreement of the parties regarding the subject matter herein, and it supersedes, and its terms govern, all prior proposals, agreements, or other communications between the parties, oral or written, regarding such subject matter. This Agreement may be modified by Grafana Labs from time to time, and any such modifications will be effective upon the “Posted Date” set forth at the top of the modified Agreement. If any provision hereof is held unenforceable, this Agreement will continue without said provision and be interpreted to reflect the original intent of the parties. This Agreement and any non-contractual obligation arising out of or in connection with it, is governed exclusively by New York law. This Agreement shall not be governed by the 1980 UN Convention on Contracts for the International Sale of Goods. All disputes arising out of or in connection with this Agreement, including its existence and validity, shall be resolved by the courts with jurisdiction in New York City, USA, except where mandatory law provides for the courts at another location in The United States to have jurisdiction. The parties hereby irrevocably waive any and all claims and defenses either might otherwise have in any such action or proceeding in any of such courts based upon any alleged lack of personal jurisdiction, improper venue, forum non conveniens or any similar claim or defense. A breach or threatened breach, by You of Section 1 may cause irreparable harm for which damages at law may not provide adequate relief, and therefore Grafana Labs shall be entitled to seek injunctive relief without being required to post a bond. You may not assign this Agreement (including by operation of law in connection with a merger or acquisition), in whole or in part to any third party without the prior written consent of Grafana Labs, which may be withheld or granted by Grafana Labs in its sole and absolute discretion. Any assignment in violation of the preceding sentence is void. Notices to Grafana Labs may also be sent to legal@grafana.com. - -5 VERIFICATION. You will maintain accurate records of Your use of the Grafana Labs Software sufficient to show compliance with the terms of this Agreement. On reasonable notice, Grafana Labs may audit Your use of the Grafana Labs Software to confirm Your compliance with the terms of this Agreement, provided such audit does not unreasonably interfere with Your business activities. You will reasonably cooperate with Grafana Labs and/or any third party auditor, and will, without prejudice to other rights of Grafana Labs, address any non-compliance identified by the audit within thirty (30) days after such audit. Grafana Labs may also, at any time on request, require You to furnish Grafana Labs with information necessary to verify that Your use of the Grafana Labs Software is in compliance with the terms of this Agreement. - -6 DEFINITIONS The following terms have the meanings ascribed: - -6.1 “Affiliate” means, with respect to a party, any entity that controls, is controlled by, or which is under common control with, such party, where “control” means ownership of at least fifty percent (50%) of the outstanding voting shares of the entity, or the contractual right to establish policy for, and manage the operations of, the entity. - -6.2 “Grafana Labs Software” means all of the Grafana Labs software with which this Agreement is included, including but not limited to the free features and functions of the Grafana Enterprise, Grafana Enterprise Metrics, and Grafana Enterprise Logs software. - -6.3 “License” means a limited, non-exclusive, non-transferable, fully paid up, royalty free, right and license, without the right to grant or authorize sublicenses, solely for Your internal business operations to (i) install and use the applicable Features and Functions of the Grafana Labs Software in Object Code, and (ii) permit Contractors and Your Affiliates to use the Grafana Labs software as set forth in (i) above, provided that such use by Contractors must be solely for Your benefit and/or the benefit of Your Affiliates, and You shall be responsible for all acts and omissions of such Contractors and Affiliates in connection with their use of the Grafana Labs software that are contrary to the terms and conditions of this Agreement. - -6.4 “License Key” means a sequence of bytes, including but not limited to a JSON blob, that is used to enable certain features and functions of the Grafana Labs Software. - -6.5 “Marks and Notices” means all Grafana Labs trademarks, trade names, logos and notices, including those present on the documentation as provided by Grafana Labs. - -6.6 “Object Code” means any form resulting from mechanical transformation or translation of Source Code form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -6.7 “Source Code” means the preferred form of computer software for making modifications, including but not limited to software source code, documentation source, and configuration files. diff --git a/docs/licenses/jq.txt b/docs/licenses/jq.txt deleted file mode 100644 index a815bd80d8..0000000000 --- a/docs/licenses/jq.txt +++ /dev/null @@ -1,137 +0,0 @@ -https://github.com/stedolan/jq/blob/master/COPYING - -jq is copyright (C) 2012 Stephen Dolan - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -jq's documentation (everything found under the docs/ subdirectory in -the source tree) is licensed under the Creative Commons CC BY 3.0 -license, which can be found at: - - https://creativecommons.org/licenses/by/3.0/ - -The documentation website includes a copy of Twitter's Boostrap and -relies on Bonsai, Liquid templates and various other projects, look -them up for detailed licensing conditions. - - - -jq incorporates David M. Gay's dtoa.c and g_fmt.c, which bear the -following notices: - -dtoa.c: -The author of this software is David M. Gay. - -Copyright (c) 1991, 2000, 2001 by Lucent Technologies. - -Permission to use, copy, modify, and distribute this software for any -purpose without fee is hereby granted, provided that this entire notice -is included in all copies of any software which is or includes a copy -or modification of this software and in all copies of the supporting -documentation for such software. - -THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED -WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY -REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY -OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. - -g_fmt.c: -The author of this software is David M. Gay. - -Copyright (c) 1991, 1996 by Lucent Technologies. - -Permission to use, copy, modify, and distribute this software for any -purpose without fee is hereby granted, provided that this entire notice -is included in all copies of any software which is or includes a copy -or modification of this software and in all copies of the supporting -documentation for such software. - -THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED -WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY -REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY -OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. - - - -jq uses parts of the open source C library "decNumber", which is distribured -under the following license: - - -ICU License - ICU 1.8.1 and later - -COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 1995-2005 International Business Machines Corporation and others -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, and/or sell copies of the Software, and to permit persons -to whom the Software is furnished to do so, provided that the above -copyright notice(s) and this permission notice appear in all copies of -the Software and that both the above copyright notice(s) and this -permission notice appear in supporting documentation. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL -INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING -FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, -NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION -WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, use -or other dealings in this Software without prior written authorization -of the copyright holder. - -Portions Copyright (c) 2016 Kungliga Tekniska Högskolan -(Royal Institute of Technology, Stockholm, Sweden). -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. 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. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE -COPYRIGHT HOLDER OR 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. diff --git a/docs/licenses/lgtm.txt b/docs/licenses/lgtm.txt deleted file mode 100644 index 9cad059c2b..0000000000 --- a/docs/licenses/lgtm.txt +++ /dev/null @@ -1,203 +0,0 @@ -https://github.com/lgtmco/lgtm/blob/master/LICENSE - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/locust.txt b/docs/licenses/locust.txt deleted file mode 100644 index 8bdd85bd16..0000000000 --- a/docs/licenses/locust.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/locustio/locust/blob/master/LICENSE - -The MIT License - -Copyright (c) 2009-2010, Carl Byström, Jonatan Heyman - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/licenses/pycharm.txt b/docs/licenses/pycharm.txt deleted file mode 100644 index 8005b83be3..0000000000 --- a/docs/licenses/pycharm.txt +++ /dev/null @@ -1,44 +0,0 @@ -https://sales.jetbrains.com/hc/en-gb/articles/115001015290-Where-can-I-find-the-EULA-End-User-License-Agreement- - -EULA for Community editions: -Community Edition is open-source, licensed under Apache 2.0. -It can be used for commercial development. - ----------------------------------------- - -https://sales.jetbrains.com/hc/en-gb/articles/206544679-What-is-our-licensing-model- - -JetBrains adopted a subscription-based licensing model for selected products on November 2, 2015. This new model allows our customers to purchase monthly and yearly subscriptions for one or more products. - -Renewing your subscription will keep it active, allowing you to continuously install and use the latest versions of the Products as they are released. Please note, our subscription-based licensing model also grants a perpetual fallback license. - -Subscriptions of least 365 consecutive days qualify for a Perpetual Fallback License. The Perpetual Fallback license lets you keep using the subscribed to products forever at no additional cost if you have ever decided to not renew your subscription. However, the Perpetual Fallback License will be limited to the version of the product available at the time of purchase or 12 months prior. - -An All Products option is also available providing our customers with access to all our desktop products (IDEs, utilities, and extensions). - -For JetBrains Team Tools - - - TeamCity, YouTrack Standalone, and Upsource are covered under a normal perpetual licensing model. - - YouTrack InCloud and Space are covered under a subscription licensing model. - ----------------------------------------- - -https://sales.jetbrains.com/hc/en-gb/articles/207240845 - -What is a perpetual fallback license? - -A perpetual fallback license is a license that allows you to use a specific version of software without an active subscription for it. The license also includes all bugfix updates, more specifically in X.Y.Z version all Z releases are included. - -When purchasing an annual subscription, you will immediately get a perpetual fallback license for the exact version available at the time. - -If paying on a monthly basis, as soon as you pay for 12 consecutive months, you will receive this perpetual fallback license providing you with access to the exact product version for when your 12 consecutive months subscription started. You will receive perpetual fallback licenses for every version you’ve paid 12 consecutive months for. - -This option is available whether you subscribe to a single product or the ‘All Products’ option. - -If you are an Administrator, the version each subscription will continue working with after it expires is shown in the "Fallback Product" column. - -If you are a subscription license User, the version you can continue using after the subscription expires is shown at the main login page at https://account.jetbrains.com/login - -A detailed description on how to obtain and install a fallback license is available here. https://sales.jetbrains.com/hc/en-gb/articles/360001186840-How-do-I-Obtain-and-Install-my-fallback-perpetual-license- - -For related FAQ articles, please refer here. https://sales.jetbrains.com/hc/en-gb/sections/201619995-Our-Licensing-Model-and-JetBrains-Toolbox diff --git a/docs/licenses/python.txt b/docs/licenses/python.txt deleted file mode 100644 index 1384aa43ef..0000000000 --- a/docs/licenses/python.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://docs.python.org/3.12/license.html - -The MIT License - -Copyright (c) 2009-2010, Carl Byström, Jonatan Heyman - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/licenses/python/arrow.txt b/docs/licenses/python/arrow.txt deleted file mode 100644 index ad2709403e..0000000000 --- a/docs/licenses/python/arrow.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/arrow-py/arrow/LICENSE - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2021 Chris Smith - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - diff --git a/docs/licenses/python/atomicwrites.txt b/docs/licenses/python/atomicwrites.txt deleted file mode 100644 index f2fccbed48..0000000000 --- a/docs/licenses/python/atomicwrites.txt +++ /dev/null @@ -1,21 +0,0 @@ -https://github.com/untitaker/python-atomicwrites/LICENSE - -Copyright (c) 2015-2016 Markus Unterwaditzer - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/attrs.txt b/docs/licenses/python/attrs.txt deleted file mode 100644 index e9b408a77e..0000000000 --- a/docs/licenses/python/attrs.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/python-attrs/attrs/LICENSE - -The MIT License (MIT) - -Copyright (c) 2015 Hynek Schlawack and the attrs contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/aws-requests-auth.txt b/docs/licenses/python/aws-requests-auth.txt deleted file mode 100644 index fa50d7d73e..0000000000 --- a/docs/licenses/python/aws-requests-auth.txt +++ /dev/null @@ -1,29 +0,0 @@ -https://github.com/davidmuller/aws-requests-auth/LICENSE - -Copyright (c) David Muller. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. 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. - - 3. The names of its contributors may not be used to endorse or promote - products derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT OWNER OR 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. \ No newline at end of file diff --git a/docs/licenses/python/awscli.txt b/docs/licenses/python/awscli.txt deleted file mode 100644 index 029d671328..0000000000 --- a/docs/licenses/python/awscli.txt +++ /dev/null @@ -1,14 +0,0 @@ -https://github.com/aws/aws-cli/LICENSE.txt - -Copyright 2012-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"). You -may not use this file except in compliance with the License. A copy of -the License is located at - - http://aws.amazon.com/apache2.0/ - -or in the "license" file accompanying this file. This file is -distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -ANY KIND, either express or implied. See the License for the specific -language governing permissions and limitations under the License. diff --git a/docs/licenses/python/bagit-profile.txt b/docs/licenses/python/bagit-profile.txt deleted file mode 100644 index 0e5faa29bb..0000000000 --- a/docs/licenses/python/bagit-profile.txt +++ /dev/null @@ -1,26 +0,0 @@ -https://github.com/bagit-profiles/bagit-profiles-validator/LICENSE - -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to diff --git a/docs/licenses/python/bagit.txt b/docs/licenses/python/bagit.txt deleted file mode 100644 index 9ad2255362..0000000000 --- a/docs/licenses/python/bagit.txt +++ /dev/null @@ -1,40 +0,0 @@ -https://github.com/LibraryOfCongress/bagit-python - -License cc0 - -Note: By contributing to this project, you agree to license your work under the same terms as those that govern this project's distribution. - ---------------------------------------- -https://creativecommons.org/publicdomain/zero/1.0/legalcode - -CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. - -For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: - - - the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; - - moral rights retained by the original author(s) and/or performer(s); - - publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; - - rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; - - rights protecting the extraction, dissemination, use and reuse of data in a Work; - - database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and - - other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - - No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. - - Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. - - Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. - - Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. - diff --git a/docs/licenses/python/blessed.txt b/docs/licenses/python/blessed.txt deleted file mode 100644 index f857bc2f2b..0000000000 --- a/docs/licenses/python/blessed.txt +++ /dev/null @@ -1,22 +0,0 @@ -https://github.com/jquast/blessed/LICENSE - -Copyright (c) 2014 Jeff Quast -Copyright (c) 2011 Erik Rose - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/blinker.txt b/docs/licenses/python/blinker.txt deleted file mode 100644 index 464bda694e..0000000000 --- a/docs/licenses/python/blinker.txt +++ /dev/null @@ -1,22 +0,0 @@ -https://github.com/pallets-eco/blinker/LICENSE.txt - -Copyright 2010 Jason Kirtland - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/licenses/python/boto3-stubs.txt b/docs/licenses/python/boto3-stubs.txt deleted file mode 100644 index cdb67f992c..0000000000 --- a/docs/licenses/python/boto3-stubs.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/youtype/mypy_boto3_builder/LICENSE - -MIT License - -Copyright (c) 2023 Vlad Emelianov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/boto3.txt b/docs/licenses/python/boto3.txt deleted file mode 100644 index 9d14ebe729..0000000000 --- a/docs/licenses/python/boto3.txt +++ /dev/null @@ -1,179 +0,0 @@ -https://github.com/boto/boto3/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/docs/licenses/python/botocore-stubs.txt b/docs/licenses/python/botocore-stubs.txt deleted file mode 100644 index 0e2e0c2fb7..0000000000 --- a/docs/licenses/python/botocore-stubs.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/youtype/botocore-stubs/LICENSE - -MIT License - -Copyright (c) 2022 Vlad Emelianov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/botocore.txt b/docs/licenses/python/botocore.txt deleted file mode 100644 index 7ebadad4d9..0000000000 --- a/docs/licenses/python/botocore.txt +++ /dev/null @@ -1,179 +0,0 @@ -https://github.com/boto/botocore/LICENSE.txt - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/docs/licenses/python/brotli.txt b/docs/licenses/python/brotli.txt deleted file mode 100644 index 158d58d105..0000000000 --- a/docs/licenses/python/brotli.txt +++ /dev/null @@ -1,21 +0,0 @@ -https://github.com/google/brotli/LICENSE - -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/licenses/python/cachetools.txt b/docs/licenses/python/cachetools.txt deleted file mode 100644 index f5ef4e1176..0000000000 --- a/docs/licenses/python/cachetools.txt +++ /dev/null @@ -1,22 +0,0 @@ -https://github.com/tkem/cachetools/LICENSE - -The MIT License (MIT) - -Copyright (c) 2014-2024 Thomas Kemmer - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/licenses/python/certifi.txt b/docs/licenses/python/certifi.txt deleted file mode 100644 index 5ad79c5b30..0000000000 --- a/docs/licenses/python/certifi.txt +++ /dev/null @@ -1,22 +0,0 @@ -https://github.com/certifi/python-certifi/LICENSE - -This package contains a modified version of ca-bundle.crt: - -ca-bundle.crt -- Bundle of CA Root Certificates - -This is a bundle of X.509 certificates of public Certificate Authorities -(CA). These were automatically extracted from Mozilla's root certificates -file (certdata.txt). This file can be found in the mozilla source tree: -https://hg.mozilla.org/mozilla-central/file/tip/security/nss/lib/ckfw/builtins/certdata.txt -It contains the certificates in PEM format and therefore -can be directly used with curl / libcurl / php_curl, or with -an Apache+mod_ssl webserver for SSL client authentication. -Just configure this file as the SSLCACertificateFile.# - -***** BEGIN LICENSE BLOCK ***** -This Source Code Form is subject to the terms of the Mozilla Public License, -v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain -one at http://mozilla.org/MPL/2.0/. - -***** END LICENSE BLOCK ***** -@(#) $RCSfile: certdata.txt,v $ $Revision: 1.80 $ $Date: 2011/11/03 15:11:58 $ diff --git a/docs/licenses/python/cffi.txt b/docs/licenses/python/cffi.txt deleted file mode 100644 index 7bd6d544e5..0000000000 --- a/docs/licenses/python/cffi.txt +++ /dev/null @@ -1,28 +0,0 @@ -https://github.com/python-cffi/cffi/LICENSE - - -Except when otherwise stated (look for LICENSE files in directories or -information at the beginning of each file) all software and -documentation is licensed as follows: - - The MIT License - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation - files (the "Software"), to deal in the Software without - restriction, including without limitation the rights to use, - copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - diff --git a/docs/licenses/python/chalice.txt b/docs/licenses/python/chalice.txt deleted file mode 100644 index 9a47aab2c2..0000000000 --- a/docs/licenses/python/chalice.txt +++ /dev/null @@ -1,203 +0,0 @@ -https://github.com/aws/chalice/LICENSE - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/charset-normalizer.txt b/docs/licenses/python/charset-normalizer.txt deleted file mode 100644 index 5e5d4f97eb..0000000000 --- a/docs/licenses/python/charset-normalizer.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/Ousret/charset_normalizer/LICENSE - -MIT License - -Copyright (c) 2019 TAHRI Ahmed R. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/docs/licenses/python/chevron.txt b/docs/licenses/python/chevron.txt deleted file mode 100644 index 3ad88fe026..0000000000 --- a/docs/licenses/python/chevron.txt +++ /dev/null @@ -1,24 +0,0 @@ -https://github.com/noahmorrison/chevron/LICENSE - -The MIT License (MIT) - -Copyright (c) 2014 Noah Morrison - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/docs/licenses/python/click.txt b/docs/licenses/python/click.txt deleted file mode 100644 index b3b092f069..0000000000 --- a/docs/licenses/python/click.txt +++ /dev/null @@ -1,30 +0,0 @@ -https://github.com/pallets/click/LICENSE.txt - -Copyright 2014 Pallets - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. 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. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT -HOLDER OR 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. diff --git a/docs/licenses/python/colorama.txt b/docs/licenses/python/colorama.txt deleted file mode 100644 index cc0487e0c3..0000000000 --- a/docs/licenses/python/colorama.txt +++ /dev/null @@ -1,29 +0,0 @@ -https://github.com/tartley/colorama/LICENSE.txt - -Copyright (c) 2010 Jonathan Hartley -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 the copyright holders, nor those of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT HOLDER OR 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. diff --git a/docs/licenses/python/configargparse.txt b/docs/licenses/python/configargparse.txt deleted file mode 100644 index d6ea06a6b2..0000000000 --- a/docs/licenses/python/configargparse.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/bw2/ConfigArgParse/LICENSE - -The MIT License (MIT) - -Copyright (c) 2015 bw2 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/licenses/python/coverage.txt b/docs/licenses/python/coverage.txt deleted file mode 100644 index bb7a7416a1..0000000000 --- a/docs/licenses/python/coverage.txt +++ /dev/null @@ -1,179 +0,0 @@ -https://github.com/nedbat/coveragepy/LICENSE.txt - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/docs/licenses/python/cryptography.txt b/docs/licenses/python/cryptography.txt deleted file mode 100644 index 705b366e54..0000000000 --- a/docs/licenses/python/cryptography.txt +++ /dev/null @@ -1,5 +0,0 @@ -https://github.com/pyca/cryptography/LICENSE - -This software is made available under the terms of *either* of the licenses -found in LICENSE.APACHE or LICENSE.BSD. Contributions to cryptography are made -under the terms of *both* these licenses. diff --git a/docs/licenses/python/deprecated.txt b/docs/licenses/python/deprecated.txt deleted file mode 100644 index 56ece2ac41..0000000000 --- a/docs/licenses/python/deprecated.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/tantale/deprecated/LICENSE.rst - -The MIT License (MIT) - -Copyright (c) 2017 Laurent LAPORTE - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/docs/licenses/python/docker.txt b/docs/licenses/python/docker.txt deleted file mode 100644 index 98a5bad3ef..0000000000 --- a/docs/licenses/python/docker.txt +++ /dev/null @@ -1,193 +0,0 @@ -https://github.com/docker/docker-py/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2016 Docker, Inc. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/docutils.txt b/docs/licenses/python/docutils.txt deleted file mode 100644 index 995d8b772c..0000000000 --- a/docs/licenses/python/docutils.txt +++ /dev/null @@ -1,160 +0,0 @@ -https://sourceforge.net/p/docutils/code/HEAD/tree/trunk/docutils/COPYING.txt - -================== - Copying Docutils -================== - -:Author: David Goodger -:Contact: goodger@python.org -:Date: $Date$ -:Web site: https://docutils.sourceforge.io/ -:Copyright: This document has been placed in the public domain. - -Most of the files included in this project have been placed in the -public domain, and therefore have no license requirements and no -restrictions on copying or usage; see the `Public Domain Dedication`_ -below. There are a few exceptions_, listed below. -Files in the Sandbox_ are not distributed with Docutils releases and -may have different license terms. - - -Public Domain Dedication -======================== - -The persons who have associated their work with this project (the -"Dedicator": David Goodger and the many contributors to the Docutils -project) hereby dedicate the entire copyright, less the exceptions_ -listed below, in the work of authorship known as "Docutils" identified -below (the "Work") to the public domain. - -The primary repository for the Work is the Internet World Wide Web -site . The Work consists of the -files within the "docutils" module of the Docutils project Subversion -repository (http://svn.code.sf.net/p/docutils/code/), -whose Internet web interface is located at -. Files dedicated to the -public domain may be identified by the inclusion, near the beginning -of each file, of a declaration of the form:: - - Copyright: This document/module/DTD/stylesheet/file/etc. has been - placed in the public domain. - -Dedicator makes this dedication for the benefit of the public at large -and to the detriment of Dedicator's heirs and successors. Dedicator -intends this dedication to be an overt act of relinquishment in -perpetuity of all present and future rights under copyright law, -whether vested or contingent, in the Work. Dedicator understands that -such relinquishment of all rights includes the relinquishment of all -rights to enforce (by lawsuit or otherwise) those copyrights in the -Work. - -Dedicator recognizes that, once placed in the public domain, the Work -may be freely reproduced, distributed, transmitted, used, modified, -built upon, or otherwise exploited by anyone for any purpose, -commercial or non-commercial, and in any way, including by methods -that have not yet been invented or conceived. - -(This dedication is derived from the text of the `Creative Commons -Public Domain Dedication`. [#]_) - -.. [#] Creative Commons has `retired this legal tool`__ and does not - recommend that it be applied to works: This tool is based on United - States law and may not be applicable outside the US. For dedicating new - works to the public domain, Creative Commons recommend the replacement - Public Domain Dedication CC0_ (CC zero, "No Rights Reserved"). So does - the Free Software Foundation in its license-list_. - - __ http://creativecommons.org/retiredlicenses - .. _CC0: http://creativecommons.org/about/cc0 - -Exceptions -========== - -The exceptions to the `Public Domain Dedication`_ above are: - -* docutils/utils/smartquotes.py - - Copyright © 2011 Günter Milde, - based on `SmartyPants`_ © 2003 John Gruber - (released under a "revised" `BSD 3-Clause License`_ included in the file) - and smartypants.py © 2004, 2007 Chad Miller. - Released under the terms of the `BSD 2-Clause License`_ - (`local copy `__). - - .. _SmartyPants: http://daringfireball.net/projects/smartypants/ - -* docutils/utils/math/latex2mathml.py - - Copyright © Jens Jørgen Mortensen, Günter Milde. - Released under the terms of the `BSD 2-Clause License`_ - (`local copy `__). - -* docutils/utils/math/math2html.py, - docutils/writers/html5_polyglot/math.css - - Copyright © 2009,2010 Alex Fernández; 2021 Günter Milde - - These files were part of eLyXer_, released under the `GNU - General Public License`_ version 3 or later. The author relicensed - them for Docutils under the terms of the `BSD 2-Clause License`_ - (`local copy `__). - - .. _eLyXer: https://github.com/alexfernandez/elyxer - -* docutils/__main__.py, - docutils/parsers/commonmark_wrapper.py, - docutils/parsers/recommonmark_wrapper.py, - docutils/utils/error_reporting.py, - docutils/utils/math/__init__.py, - docutils/utils/math/latex2mathml.py, - docutils/utils/math/tex2mathml_extern.py, - docutils/utils/punctuation_chars.py, - docutils/utils/smartquotes.py, - docutils/writers/html5_polyglot/__init__.py, - docutils/writers/html5_polyglot/*.css, - docutils/writers/latex2e/docutils.sty, - docutils/writers/xetex/__init__.py, - test/test_parsers/test_recommonmark/\*.py, - test/test_parsers/test_rst/test_directives/test__init__.py, - test/test_parsers/test_rst/test_directives/test_code_parsing.py, - test/test_parsers/test_rst/test_line_length_limit_default.py, - test/test_parsers/test_rst/test_line_length_limit.py, - test/test_writers/test_latex2e_misc.py, - test/transforms/test_smartquotes.py, - tools/docutils-cli.py, - tools/rst2html5.py - - Copyright © Günter Milde. - Released under the terms of the `BSD 2-Clause License`_ - (`local copy `__). - -* docutils/utils/roman.py - - copyright by Mark Pilgrim, released under the - `Python 2.1.1 license`_ (`local copy`__). - - __ licenses/python-2-1-1.txt - -* tools/editors/emacs/rst.el - - copyright by Free Software Foundation, Inc., - released under the `GNU General Public License`_ version 3 or later - (`local copy`__). - - __ licenses/gpl-3-0.txt - -All used licenses are OSI-approved_ and GPL-compatible_. - -Plaintext versions of all the linked-to licenses are provided in the -licenses_ directory. - -.. _sandbox: https://docutils.sourceforge.io/sandbox/README.html -.. _licenses: licenses/ -.. _Python 2.1.1 license: https://docs.python.org/3/license.html -.. _GNU General Public License: https://www.gnu.org/copyleft/gpl.html -.. _BSD 2-Clause License: http://opensource.org/licenses/BSD-2-Clause -.. _BSD 3-Clause License: https://opensource.org/licenses/BSD-3-Clause -.. _OSI-approved: http://opensource.org/licenses/ -.. _license-list: -.. _GPL-compatible: https://www.gnu.org/licenses/license-list.html - diff --git a/docs/licenses/python/elasticsearch-dsl.txt b/docs/licenses/python/elasticsearch-dsl.txt deleted file mode 100644 index 6426147088..0000000000 --- a/docs/licenses/python/elasticsearch-dsl.txt +++ /dev/null @@ -1,178 +0,0 @@ -https://github.com/elasticsearch/elasticsearch-dsl-py/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - diff --git a/docs/licenses/python/elasticsearch.txt b/docs/licenses/python/elasticsearch.txt deleted file mode 100644 index f01c90fe70..0000000000 --- a/docs/licenses/python/elasticsearch.txt +++ /dev/null @@ -1,178 +0,0 @@ -https://github.com/elastic/elasticsearch-py/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - diff --git a/docs/licenses/python/fastavro.txt b/docs/licenses/python/fastavro.txt deleted file mode 100644 index f2e436b4aa..0000000000 --- a/docs/licenses/python/fastavro.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/fastavro/fastavro/LICENSE - -MIT License - -Copyright (c) 2011 Miki Tebeka - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/flake8.txt b/docs/licenses/python/flake8.txt deleted file mode 100644 index 62f28139fc..0000000000 --- a/docs/licenses/python/flake8.txt +++ /dev/null @@ -1,24 +0,0 @@ -https://github.com/pycqa/flake8/LICENSE - -== Flake8 License (MIT) == - -Copyright (C) 2011-2013 Tarek Ziade -Copyright (C) 2012-2016 Ian Cordasco - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/flask-basicauth.txt b/docs/licenses/python/flask-basicauth.txt deleted file mode 100644 index 086bd95ab9..0000000000 --- a/docs/licenses/python/flask-basicauth.txt +++ /dev/null @@ -1,29 +0,0 @@ -https://github.com/jpvanhal/flask-basicauth/LICENSE - -Copyright (c) 2013, Janne Vanhala - -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. - -* The names of the contributors may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT HOLDER 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. diff --git a/docs/licenses/python/flask-cors.txt b/docs/licenses/python/flask-cors.txt deleted file mode 100644 index dae7873786..0000000000 --- a/docs/licenses/python/flask-cors.txt +++ /dev/null @@ -1,9 +0,0 @@ -https://github.com/corydolphin/flask-cors/LICENSE - -Copyright (C) 2016 Cory Dolphin, Olin College - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/docs/licenses/python/flask.txt b/docs/licenses/python/flask.txt deleted file mode 100644 index 0ea6fe9a7b..0000000000 --- a/docs/licenses/python/flask.txt +++ /dev/null @@ -1,30 +0,0 @@ -https://github.com/pallets/flask/LICENSE.txt - -Copyright 2010 Pallets - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. 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. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT -HOLDER OR 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. diff --git a/docs/licenses/python/furl.txt b/docs/licenses/python/furl.txt deleted file mode 100644 index 7fc983ed07..0000000000 --- a/docs/licenses/python/furl.txt +++ /dev/null @@ -1,32 +0,0 @@ -https://github.com/gruns/furl/LICENSE.md - -Build Amazing Things. - -*** - -### Unlicense - -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to . \ No newline at end of file diff --git a/docs/licenses/python/gevent.txt b/docs/licenses/python/gevent.txt deleted file mode 100644 index 95b041fcdc..0000000000 --- a/docs/licenses/python/gevent.txt +++ /dev/null @@ -1,27 +0,0 @@ -https://github.com/gevent/gevent/LICENSE - -MIT License - -Except when otherwise stated (look at the beginning of each file) the software -and the documentation in this project are copyrighted by: - - Denis Bilenko and the contributors, http://www.gevent.org - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/licenses/python/geventhttpclient.txt b/docs/licenses/python/geventhttpclient.txt deleted file mode 100644 index 3d2f17d066..0000000000 --- a/docs/licenses/python/geventhttpclient.txt +++ /dev/null @@ -1,30 +0,0 @@ -http://github.com/gwik/geventhttpclient/LICENSE.txt - -Based on llhttp, copyright Fedor Indutny, 2018. - -Python extension is copyright Antonin Amand , -licensed under the same terms. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - -Note: Previous versions of gevenhttpclient used http_parser.c, which in turn -was based on src/http/ngx_http_parse.c from NGINX, copyright Igor Sysoev, -Joyent, Inc. and other Node contributors. See http://github.com/joyent/http-parser -for more information - diff --git a/docs/licenses/python/gitdb.txt b/docs/licenses/python/gitdb.txt deleted file mode 100644 index 4e7879059c..0000000000 --- a/docs/licenses/python/gitdb.txt +++ /dev/null @@ -1,44 +0,0 @@ -https://github.com/gitpython-developers/gitdb/LICENSE - -Copyright (C) 2010, 2011 Sebastian Thiel and contributors -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 the GitDB project nor the names of -its contributors may be used to endorse or promote products derived -from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT -OWNER OR 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. - - -Additional Licenses -------------------- -The files at -gitdb/test/fixtures/packs/pack-11fdfa9e156ab73caae3b6da867192221f2089c2.idx -and -gitdb/test/fixtures/packs/pack-11fdfa9e156ab73caae3b6da867192221f2089c2.pack -are licensed under GNU GPL as part of the git source repository, -see http://en.wikipedia.org/wiki/Git_%28software%29 for more information. - -They are not required for the actual operation, which is why they are not found -in the distribution package. diff --git a/docs/licenses/python/gitpython.txt b/docs/licenses/python/gitpython.txt deleted file mode 100644 index 55d270b112..0000000000 --- a/docs/licenses/python/gitpython.txt +++ /dev/null @@ -1,31 +0,0 @@ -https://github.com/gitpython-developers/GitPython/LICENSE - -Copyright (C) 2008, 2009 Michael Trier and contributors -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 the GitPython project nor the names of -its contributors may be used to endorse or promote products derived -from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT -OWNER OR 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. diff --git a/docs/licenses/python/google-api-core.txt b/docs/licenses/python/google-api-core.txt deleted file mode 100644 index af9bd56811..0000000000 --- a/docs/licenses/python/google-api-core.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/googleapis/python-api-core/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/google-api-python-client.txt b/docs/licenses/python/google-api-python-client.txt deleted file mode 100644 index 995e735ba5..0000000000 --- a/docs/licenses/python/google-api-python-client.txt +++ /dev/null @@ -1,203 +0,0 @@ -https://github.com/googleapis/google-api-python-client/LICENSE - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/google-auth-httplib2.txt b/docs/licenses/python/google-auth-httplib2.txt deleted file mode 100644 index 8ad149cefb..0000000000 --- a/docs/licenses/python/google-auth-httplib2.txt +++ /dev/null @@ -1,203 +0,0 @@ -https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2/LICENSE - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/google-auth.txt b/docs/licenses/python/google-auth.txt deleted file mode 100644 index 3494233057..0000000000 --- a/docs/licenses/python/google-auth.txt +++ /dev/null @@ -1,203 +0,0 @@ -https://github.com/googleapis/google-auth-library-python/LICENSE - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/google-cloud-bigquery-reservation.txt b/docs/licenses/python/google-cloud-bigquery-reservation.txt deleted file mode 100644 index 8cab6f17fc..0000000000 --- a/docs/licenses/python/google-cloud-bigquery-reservation.txt +++ /dev/null @@ -1,205 +0,0 @@ -https://github.com/googleapis/python-bigquery-reservation/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - diff --git a/docs/licenses/python/google-cloud-bigquery.txt b/docs/licenses/python/google-cloud-bigquery.txt deleted file mode 100644 index b7e3df3080..0000000000 --- a/docs/licenses/python/google-cloud-bigquery.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/googleapis/python-bigquery/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/google-cloud-core.txt b/docs/licenses/python/google-cloud-core.txt deleted file mode 100644 index 6aa8a46aab..0000000000 --- a/docs/licenses/python/google-cloud-core.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/googleapis/python-cloud-core/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/google-cloud-storage.txt b/docs/licenses/python/google-cloud-storage.txt deleted file mode 100644 index 697e2700c7..0000000000 --- a/docs/licenses/python/google-cloud-storage.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/googleapis/python-storage/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/google-crc32c.txt b/docs/licenses/python/google-crc32c.txt deleted file mode 100644 index a2b07de157..0000000000 --- a/docs/licenses/python/google-crc32c.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/googleapis/python-crc32c/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/google-resumable-media.txt b/docs/licenses/python/google-resumable-media.txt deleted file mode 100644 index a67bedc830..0000000000 --- a/docs/licenses/python/google-resumable-media.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/googleapis/google-resumable-media-python/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/googleapis-common-protos.txt b/docs/licenses/python/googleapis-common-protos.txt deleted file mode 100644 index 38a6c86134..0000000000 --- a/docs/licenses/python/googleapis-common-protos.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/googleapis/python-api-common-protos/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/greenlet.txt b/docs/licenses/python/greenlet.txt deleted file mode 100644 index 7346ab7a43..0000000000 --- a/docs/licenses/python/greenlet.txt +++ /dev/null @@ -1,32 +0,0 @@ -https://github.com/python-greenlet/greenlet/LICENSE - -The following files are derived from Stackless Python and are subject to the -same license as Stackless Python: - - src/greenlet/slp_platformselect.h - files in src/greenlet/platform/ directory - -See LICENSE.PSF and http://www.stackless.com/ for details. - -Unless otherwise noted, the files in greenlet have been released under the -following MIT license: - -Copyright (c) Armin Rigo, Christian Tismer and contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/licenses/python/grpcio-status.txt b/docs/licenses/python/grpcio-status.txt deleted file mode 100644 index 55b69d8925..0000000000 --- a/docs/licenses/python/grpcio-status.txt +++ /dev/null @@ -1,409 +0,0 @@ -https://github.com/grpc/grpc.io/blob/main/LICENSE - -Except as otherwise noted, the content of this repository is licensed under the -Creative Commons Attribution 4.0 License [1], and code and code samples are -licensed under the Apache License, Version 2.0 [2]. - -Copyright 2015-present gRPC Authors. All rights reserved. - -[1]: https://creativecommons.org/licenses/by/4.0, a copy is included below. -[2]: https://apache.org/licenses/LICENSE-2.0 - ---- - -Creative Commons Attribution 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution 4.0 International Public License ("Public License"). To the -extent this Public License may be interpreted as a contract, You are -granted the Licensed Rights in consideration of Your acceptance of -these terms and conditions, and the Licensor grants You such rights in -consideration of benefits the Licensor receives from making the -Licensed Material available under these terms and conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - d. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - e. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - f. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - g. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - h. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - i. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - j. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - k. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - 4. If You Share Adapted Material You produce, the Adapter's - License You apply must not prevent recipients of the Adapted - Material from complying with this Public License. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material; and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public licenses. -Notwithstanding, Creative Commons may elect to apply one of its public -licenses to material it publishes and in those instances will be -considered the “Licensor.” The text of the Creative Commons public -licenses is dedicated to the public domain under the CC0 Public Domain -Dedication. Except for the limited purpose of indicating that material -is shared under a Creative Commons public license or as otherwise -permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the public -licenses. - -Creative Commons may be contacted at creativecommons.org. - diff --git a/docs/licenses/python/grpcio.txt b/docs/licenses/python/grpcio.txt deleted file mode 100644 index 700b18b2d9..0000000000 --- a/docs/licenses/python/grpcio.txt +++ /dev/null @@ -1,612 +0,0 @@ -https://github.com/grpc/grpc/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ------------------------------------------------------------ - -BSD 3-Clause License - -Copyright 2016, Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. - -2. 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. - -3. Neither the name of the copyright holder nor the names of its -contributors may be used to endorse or promote products derived from this -software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT HOLDER OR 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. - ------------------------------------------------------------ - -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. diff --git a/docs/licenses/python/http-message-signatures.txt b/docs/licenses/python/http-message-signatures.txt deleted file mode 100644 index 92ab5ffe4c..0000000000 --- a/docs/licenses/python/http-message-signatures.txt +++ /dev/null @@ -1,193 +0,0 @@ -https://github.com/pyauth/http-message-signatures/LICENSE - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright -owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities -that control, are controlled by, or are under common control with that entity. -For the purposes of this definition, "control" means (i) the power, direct or -indirect, to cause the direction or management of such entity, whether by -contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including -but not limited to software source code, documentation source, and configuration -files. - -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included -in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that -is based on (or derived from) the Work and for which the editorial revisions, -annotations, elaborations, or other modifications represent, as a whole, an -original work of authorship. For the purposes of this License, Derivative Works -shall not include works that remain separable from, or merely link (or bind by -name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version -of the Work and any modifications or additions to that Work or Derivative Works -thereof, that is intentionally submitted to Licensor for inclusion in the Work -by the copyright owner or by an individual or Legal Entity authorized to submit -on behalf of the copyright owner. For the purposes of this definition, -"submitted" means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding communication -that is conspicuously marked or otherwise designated in writing by the copyright -owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf -of whom a Contribution has been received by Licensor and subsequently -incorporated within the Work. - -2. Grant of Copyright License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. - -3. Grant of Patent License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable (except as stated in this section) patent license to make, have -made, use, offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such Contributor -that are necessarily infringed by their Contribution(s) alone or by combination -of their Contribution(s) with the Work to which such Contribution(s) was -submitted. If You institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work or a -Contribution incorporated within the Work constitutes direct or contributory -patent infringement, then any patent licenses granted to You under this License -for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. - -You may reproduce and distribute copies of the Work or Derivative Works thereof -in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of -this License; and -You must cause any modified files to carry prominent notices stating that You -changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, -all copyright, patent, trademark, and attribution notices from the Source form -of the Work, excluding those notices that do not pertain to any part of the -Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those notices -that do not pertain to any part of the Derivative Works, in at least one of the -following places: within a NOTICE text file distributed as part of the -Derivative Works; within the Source form or documentation, if provided along -with the Derivative Works; or, within a display generated by the Derivative -Works, if and wherever such third-party notices normally appear. The contents of -the NOTICE file are for informational purposes only and do not modify the -License. You may add Your own attribution notices within Derivative Works that -You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as -modifying the License. -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies -with the conditions stated in this License. - -5. Submission of Contributions. - -Unless You explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the terms and -conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of -any separate license agreement you may have executed with Licensor regarding -such Contributions. - -6. Trademarks. - -This License does not grant permission to use the trade names, trademarks, -service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. - -Unless required by applicable law or agreed to in writing, Licensor provides the -Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are -solely responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your exercise of -permissions under this License. - -8. Limitation of Liability. - -In no event and under no legal theory, whether in tort (including negligence), -contract, or otherwise, unless required by applicable law (such as deliberate -and grossly negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, incidental, -or consequential damages of any character arising as a result of this License or -out of the use or inability to use the Work (including but not limited to -damages for loss of goodwill, work stoppage, computer failure or malfunction, or -any and all other commercial damages or losses), even if such Contributor has -been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. - -While redistributing the Work or Derivative Works thereof, You may choose to -offer, and charge a fee for, acceptance of support, warranty, indemnity, or -other liability obligations and/or rights consistent with this License. However, -in accepting such obligations, You may act only on Your own behalf and on Your -sole responsibility, not on behalf of any other Contributor, and only if You -agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your -accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work - -To apply the Apache License to your work, attach the following boilerplate -notice, with the fields enclosed by brackets "[]" replaced with your own -identifying information. (Don't include the brackets!) The text should be -enclosed in the appropriate comment syntax for the file format. We also -recommend that a file or class name and description of purpose be included on -the same "printed page" as the copyright notice for easier identification within -third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/http-sfv.txt b/docs/licenses/python/http-sfv.txt deleted file mode 100644 index 60fd1995d9..0000000000 --- a/docs/licenses/python/http-sfv.txt +++ /dev/null @@ -1,22 +0,0 @@ -https://github.com/mnot/http_sfv/LICENCE.md - -Copyright (c) 2018-2020 Mark Nottingham - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - diff --git a/docs/licenses/python/http_sfv.txt b/docs/licenses/python/http_sfv.txt deleted file mode 100644 index 474f0ef626..0000000000 --- a/docs/licenses/python/http_sfv.txt +++ /dev/null @@ -1,21 +0,0 @@ -https://github.com/mnot/http_sfv/LICENCE.md - -Copyright (c) 2018-2020 Mark Nottingham - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/licenses/python/httplib2.txt b/docs/licenses/python/httplib2.txt deleted file mode 100644 index c352c0b2ad..0000000000 --- a/docs/licenses/python/httplib2.txt +++ /dev/null @@ -1,25 +0,0 @@ -https://github.com/httplib2/httplib2/LICENSE - -Httplib2 Software License - -Copyright (c) 2006 by Joe Gregorio - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of the Software, -and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/idna.txt b/docs/licenses/python/idna.txt deleted file mode 100644 index 191eac8f84..0000000000 --- a/docs/licenses/python/idna.txt +++ /dev/null @@ -1,33 +0,0 @@ -https://github.com/kjd/idna/LICENSE.md - -BSD 3-Clause License - -Copyright (c) 2013-2024, Kim Davies and contributors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. 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. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT -HOLDER OR 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. diff --git a/docs/licenses/python/importlib-metadata.txt b/docs/licenses/python/importlib-metadata.txt deleted file mode 100644 index dc1dee6b7a..0000000000 --- a/docs/licenses/python/importlib-metadata.txt +++ /dev/null @@ -1,205 +0,0 @@ -https://github.com/python/importlib_metadata/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - diff --git a/docs/licenses/python/importlib-resources.txt b/docs/licenses/python/importlib-resources.txt deleted file mode 100644 index 1aeb154472..0000000000 --- a/docs/licenses/python/importlib-resources.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/python/importlib_resources/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/inquirer.txt b/docs/licenses/python/inquirer.txt deleted file mode 100644 index 322190b9e6..0000000000 --- a/docs/licenses/python/inquirer.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/magmax/python-inquirer/LICENSE - -The MIT License (MIT) - -Copyright (c) 2014 Miguel Ángel García - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/itsdangerous.txt b/docs/licenses/python/itsdangerous.txt deleted file mode 100644 index fda1ed4792..0000000000 --- a/docs/licenses/python/itsdangerous.txt +++ /dev/null @@ -1,30 +0,0 @@ -https://github.com/pallets/itsdangerous/LICENSE.txt - -Copyright 2011 Pallets - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. 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. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT -HOLDER OR 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. diff --git a/docs/licenses/python/jdcal.txt b/docs/licenses/python/jdcal.txt deleted file mode 100644 index 31bc046ec9..0000000000 --- a/docs/licenses/python/jdcal.txt +++ /dev/null @@ -1,12 +0,0 @@ -https://github.com/phn/jdcal/LICENSE.txt - -Copyright (c) 2011, Prasanth Nair -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. 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. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT HOLDER OR 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. \ No newline at end of file diff --git a/docs/licenses/python/jinja2.txt b/docs/licenses/python/jinja2.txt deleted file mode 100644 index 41ff7363b7..0000000000 --- a/docs/licenses/python/jinja2.txt +++ /dev/null @@ -1,30 +0,0 @@ -https://github.com/pallets/jinja/LICENSE.txt - -Copyright 2007 Pallets - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. 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. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT -HOLDER OR 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. diff --git a/docs/licenses/python/jmespath.txt b/docs/licenses/python/jmespath.txt deleted file mode 100644 index 8cb688b400..0000000000 --- a/docs/licenses/python/jmespath.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/jmespath/jmespath.py/LICENSE - -MIT License - -Copyright (c) 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/jq.txt b/docs/licenses/python/jq.txt deleted file mode 100644 index 6fead34282..0000000000 --- a/docs/licenses/python/jq.txt +++ /dev/null @@ -1,24 +0,0 @@ -https://github.com/mwilliamson/jq.py/LICENSE - -Copyright (c) 2013, Michael Williamson -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -2. 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. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT OWNER OR 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. diff --git a/docs/licenses/python/jsonschema-spec.txt b/docs/licenses/python/jsonschema-spec.txt deleted file mode 100644 index e8a4367409..0000000000 --- a/docs/licenses/python/jsonschema-spec.txt +++ /dev/null @@ -1,203 +0,0 @@ -https://github.com/p1c2u/jsonschema-spec/LICENSE - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/jsonschema.txt b/docs/licenses/python/jsonschema.txt deleted file mode 100644 index a69b4161ad..0000000000 --- a/docs/licenses/python/jsonschema.txt +++ /dev/null @@ -1,21 +0,0 @@ -https://github.com/python-jsonschema/jsonschema/COPYING - -Copyright (c) 2013 Julian Berman - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/licenses/python/jwcrypto.txt b/docs/licenses/python/jwcrypto.txt deleted file mode 100644 index f8acf0d962..0000000000 --- a/docs/licenses/python/jwcrypto.txt +++ /dev/null @@ -1,167 +0,0 @@ -https://github.com/latchset/jwcrypto/LICENSE - - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/docs/licenses/python/lazy-object-proxy.txt b/docs/licenses/python/lazy-object-proxy.txt deleted file mode 100644 index ca906f681b..0000000000 --- a/docs/licenses/python/lazy-object-proxy.txt +++ /dev/null @@ -1,22 +0,0 @@ -https://github.com/ionelmc/python-lazy-object-proxy/LICENSE - -BSD 2-Clause License - -Copyright (c) 2014-2023, Ionel Cristian Mărieș. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the -following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following -disclaimer. - -2. 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. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT HOLDER OR 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. diff --git a/docs/licenses/python/locust.txt b/docs/licenses/python/locust.txt deleted file mode 100644 index 758d1260c0..0000000000 --- a/docs/licenses/python/locust.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/locustio/locust/LICENSE - -The MIT License - -Copyright (c) 2009-2010, Carl Byström, Jonatan Heyman - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/docs/licenses/python/markupsafe.txt b/docs/licenses/python/markupsafe.txt deleted file mode 100644 index 5a8da38607..0000000000 --- a/docs/licenses/python/markupsafe.txt +++ /dev/null @@ -1,30 +0,0 @@ -https://github.com/pallets/markupsafe/LICENSE.txt - -Copyright 2010 Pallets - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. 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. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT -HOLDER OR 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. diff --git a/docs/licenses/python/mccabe.txt b/docs/licenses/python/mccabe.txt deleted file mode 100644 index ad02297d10..0000000000 --- a/docs/licenses/python/mccabe.txt +++ /dev/null @@ -1,27 +0,0 @@ -https://github.com/pycqa/mccabe/LICENSE - -Copyright © Ned Batchelder -Copyright © 2011-2013 Tarek Ziade -Copyright © 2013 Florent Xicluna - -Licensed under the terms of the Expat License - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation files -(the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of the Software, -and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/more-itertools.txt b/docs/licenses/python/more-itertools.txt deleted file mode 100644 index b2e6d80e47..0000000000 --- a/docs/licenses/python/more-itertools.txt +++ /dev/null @@ -1,21 +0,0 @@ -https://github.com/more-itertools/more-itertools/LICENSE - -Copyright (c) 2012 Erik Rose - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/moto.txt b/docs/licenses/python/moto.txt deleted file mode 100644 index 2f15f61b9d..0000000000 --- a/docs/licenses/python/moto.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/getmoto/moto/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright 2012 Steve Pulec - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. \ No newline at end of file diff --git a/docs/licenses/python/msgpack.txt b/docs/licenses/python/msgpack.txt deleted file mode 100644 index 7f747a874c..0000000000 --- a/docs/licenses/python/msgpack.txt +++ /dev/null @@ -1,16 +0,0 @@ -https://github.com/msgpack/msgpack-python/COPYING - -Copyright (C) 2008-2011 INADA Naoki - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - diff --git a/docs/licenses/python/mypy-boto3-dynamodb.txt b/docs/licenses/python/mypy-boto3-dynamodb.txt deleted file mode 100644 index cdb67f992c..0000000000 --- a/docs/licenses/python/mypy-boto3-dynamodb.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/youtype/mypy_boto3_builder/LICENSE - -MIT License - -Copyright (c) 2023 Vlad Emelianov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/mypy-boto3-ecr.txt b/docs/licenses/python/mypy-boto3-ecr.txt deleted file mode 100644 index cdb67f992c..0000000000 --- a/docs/licenses/python/mypy-boto3-ecr.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/youtype/mypy_boto3_builder/LICENSE - -MIT License - -Copyright (c) 2023 Vlad Emelianov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/mypy-boto3-iam.txt b/docs/licenses/python/mypy-boto3-iam.txt deleted file mode 100644 index cdb67f992c..0000000000 --- a/docs/licenses/python/mypy-boto3-iam.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/youtype/mypy_boto3_builder/LICENSE - -MIT License - -Copyright (c) 2023 Vlad Emelianov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/mypy-boto3-kms.txt b/docs/licenses/python/mypy-boto3-kms.txt deleted file mode 100644 index cdb67f992c..0000000000 --- a/docs/licenses/python/mypy-boto3-kms.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/youtype/mypy_boto3_builder/LICENSE - -MIT License - -Copyright (c) 2023 Vlad Emelianov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/mypy-boto3-lambda.txt b/docs/licenses/python/mypy-boto3-lambda.txt deleted file mode 100644 index cdb67f992c..0000000000 --- a/docs/licenses/python/mypy-boto3-lambda.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/youtype/mypy_boto3_builder/LICENSE - -MIT License - -Copyright (c) 2023 Vlad Emelianov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/mypy-boto3-s3.txt b/docs/licenses/python/mypy-boto3-s3.txt deleted file mode 100644 index cdb67f992c..0000000000 --- a/docs/licenses/python/mypy-boto3-s3.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/youtype/mypy_boto3_builder/LICENSE - -MIT License - -Copyright (c) 2023 Vlad Emelianov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/mypy-boto3-sqs.txt b/docs/licenses/python/mypy-boto3-sqs.txt deleted file mode 100644 index cdb67f992c..0000000000 --- a/docs/licenses/python/mypy-boto3-sqs.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/youtype/mypy_boto3_builder/LICENSE - -MIT License - -Copyright (c) 2023 Vlad Emelianov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/mypy-boto3-stepfunctions.txt b/docs/licenses/python/mypy-boto3-stepfunctions.txt deleted file mode 100644 index cdb67f992c..0000000000 --- a/docs/licenses/python/mypy-boto3-stepfunctions.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/youtype/mypy_boto3_builder/LICENSE - -MIT License - -Copyright (c) 2023 Vlad Emelianov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/openapi-schema-validator.txt b/docs/licenses/python/openapi-schema-validator.txt deleted file mode 100644 index c6bc5c2c36..0000000000 --- a/docs/licenses/python/openapi-schema-validator.txt +++ /dev/null @@ -1,31 +0,0 @@ -https://github.com/python-openapi/openapi-schema-validator/LICENSE - -BSD 3-Clause License - -Copyright (c) 2020, A -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. 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. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT HOLDER OR 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. diff --git a/docs/licenses/python/openapi-spec-validator.txt b/docs/licenses/python/openapi-spec-validator.txt deleted file mode 100644 index e6fc0a268e..0000000000 --- a/docs/licenses/python/openapi-spec-validator.txt +++ /dev/null @@ -1,203 +0,0 @@ -https://github.com/python-openapi/openapi-spec-validator/LICENSE - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/orderedmultidict.txt b/docs/licenses/python/orderedmultidict.txt deleted file mode 100644 index 44c4be3486..0000000000 --- a/docs/licenses/python/orderedmultidict.txt +++ /dev/null @@ -1,33 +0,0 @@ -https://github.com/gruns/orderedmultidict/LICENSE.md - -Build Amazing Things. - -*** - -### Unlicense - -This is free and unencumbered software released into the public\ -domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or distribute\ -this software, either in source code form or as a compiled binary, for any\ -purpose, commercial or non-commercial, and by any means. - -In jurisdictions that recognize copyright laws, the author or authors of\ -this software dedicate any and all copyright interest in the software to the\ -public domain. We make this dedication for the benefit of the public at\ -large and to the detriment of our heirs and successors. We intend this\ -dedication to be an overt act of relinquishment in perpetuity of all\ -present and future rights to this software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF\ -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\ -TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\ -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\ -SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR\ -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT\ -OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\ -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\ -SOFTWARE. - -For more information, please refer to diff --git a/docs/licenses/python/packaging.txt b/docs/licenses/python/packaging.txt deleted file mode 100644 index c057147a95..0000000000 --- a/docs/licenses/python/packaging.txt +++ /dev/null @@ -1,5 +0,0 @@ -https://github.com/pypa/packaging/LICENSE - -This software is made available under the terms of *either* of the licenses -found in LICENSE.APACHE or LICENSE.BSD. Contributions to this software is made -under the terms of *both* these licenses. diff --git a/docs/licenses/python/pathable.txt b/docs/licenses/python/pathable.txt deleted file mode 100644 index 19c6da45ab..0000000000 --- a/docs/licenses/python/pathable.txt +++ /dev/null @@ -1,203 +0,0 @@ -https://github.com/p1c2u/pathable/LICENSE - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/pip.txt b/docs/licenses/python/pip.txt deleted file mode 100644 index 6853293422..0000000000 --- a/docs/licenses/python/pip.txt +++ /dev/null @@ -1,22 +0,0 @@ -https://github.com/pypa/pip/LICENSE.txt - -Copyright (c) 2008-present The pip developers (see AUTHORS.txt file) - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/licenses/python/ply.txt b/docs/licenses/python/ply.txt deleted file mode 100644 index 3918f6100d..0000000000 --- a/docs/licenses/python/ply.txt +++ /dev/null @@ -1,5 +0,0 @@ -http://www.dabeaz.com/ply/ - -Copyright -PLY-3.2 and newer releases are distributed under a BSD-license. Older versions are licensed under the terms of the Lesser GPL (LGPL). - diff --git a/docs/licenses/python/posix-ipc.txt b/docs/licenses/python/posix-ipc.txt deleted file mode 100644 index c8b37f5d50..0000000000 --- a/docs/licenses/python/posix-ipc.txt +++ /dev/null @@ -1,26 +0,0 @@ -https://github.com/osvenskan/posix_ipc/LICENSE - -Copyright (c) 2022, Philip Semanchuk -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 posix_ipc nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY 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 Philip Semanchuk 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. diff --git a/docs/licenses/python/proto-plus.txt b/docs/licenses/python/proto-plus.txt deleted file mode 100644 index 8755edc64f..0000000000 --- a/docs/licenses/python/proto-plus.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/googleapis/proto-plus-python/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/protobuf.txt b/docs/licenses/python/protobuf.txt deleted file mode 100644 index 41f14095b5..0000000000 --- a/docs/licenses/python/protobuf.txt +++ /dev/null @@ -1,4 +0,0 @@ -https://pypi.org/project/protobuf/ - -License: 3-Clause BSD License - diff --git a/docs/licenses/python/psutil.txt b/docs/licenses/python/psutil.txt deleted file mode 100644 index c8b10cbacd..0000000000 --- a/docs/licenses/python/psutil.txt +++ /dev/null @@ -1,31 +0,0 @@ -https://github.com/giampaolo/psutil/LICENSE - -BSD 3-Clause License - -Copyright (c) 2009, Jay Loden, Dave Daeschler, Giampaolo Rodola -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 the psutil authors nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT OWNER OR 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. diff --git a/docs/licenses/python/py-partiql-parser.txt b/docs/licenses/python/py-partiql-parser.txt deleted file mode 100644 index 6582dba73e..0000000000 --- a/docs/licenses/python/py-partiql-parser.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/getmoto/py-partiql-parser/LICENSE - -MIT License - -Copyright (c) 2022 Bert Blommers - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/pyasn1-modules.txt b/docs/licenses/python/pyasn1-modules.txt deleted file mode 100644 index 4e8cb25fcb..0000000000 --- a/docs/licenses/python/pyasn1-modules.txt +++ /dev/null @@ -1,27 +0,0 @@ -https://github.com/etingof/pyasn1-modules/LICENSE.txt - -Copyright (c) 2005-2020, Ilya Etingof -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. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT HOLDER OR 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. - diff --git a/docs/licenses/python/pyasn1.txt b/docs/licenses/python/pyasn1.txt deleted file mode 100644 index f4c14b485d..0000000000 --- a/docs/licenses/python/pyasn1.txt +++ /dev/null @@ -1,26 +0,0 @@ -https://github.com/pyasn1/pyasn1/LICENSE.rst - -Copyright (c) 2005-2020, Ilya Etingof -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. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT HOLDER OR 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. diff --git a/docs/licenses/python/pyasn1_modules.txt b/docs/licenses/python/pyasn1_modules.txt deleted file mode 100644 index a4de67181f..0000000000 --- a/docs/licenses/python/pyasn1_modules.txt +++ /dev/null @@ -1,26 +0,0 @@ -https://github.com/pyasn1/pyasn1-modules/LICENSE.txt - -Copyright (c) 2005-2020, Ilya Etingof -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. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT HOLDER OR 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. diff --git a/docs/licenses/python/pycodestyle.txt b/docs/licenses/python/pycodestyle.txt deleted file mode 100644 index 1d7ac30e60..0000000000 --- a/docs/licenses/python/pycodestyle.txt +++ /dev/null @@ -1,22 +0,0 @@ -https://pycodestyle.pycqa.org/en/latest/ - -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation files -# (the "Software"), to deal in the Software without restriction, -# including without limitation the rights to use, copy, modify, merge, -# publish, distribute, sublicense, and/or sell copies of the Software, -# and to permit persons to whom the Software is furnished to do so, -# subject to the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - diff --git a/docs/licenses/python/pycparser.txt b/docs/licenses/python/pycparser.txt deleted file mode 100644 index da275799eb..0000000000 --- a/docs/licenses/python/pycparser.txt +++ /dev/null @@ -1,29 +0,0 @@ -https://github.com/eliben/pycparser/LICENSE - -pycparser -- A C parser in Python - -Copyright (c) 2008-2022, Eli Bendersky -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 the copyright holder nor the names of its contributors may - be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT HOLDER OR 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. diff --git a/docs/licenses/python/pyflakes.txt b/docs/licenses/python/pyflakes.txt deleted file mode 100644 index 376c0aac9d..0000000000 --- a/docs/licenses/python/pyflakes.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/PyCQA/pyflakes/LICENSE - -Copyright 2005-2011 Divmod, Inc. -Copyright 2013-2014 Florent Xicluna - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/licenses/python/pygithub.txt b/docs/licenses/python/pygithub.txt deleted file mode 100644 index 6bf3815f7a..0000000000 --- a/docs/licenses/python/pygithub.txt +++ /dev/null @@ -1,676 +0,0 @@ -https://github.com/pygithub/pygithub/COPYING - - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/docs/licenses/python/pyjwt.txt b/docs/licenses/python/pyjwt.txt deleted file mode 100644 index 12a9437d3c..0000000000 --- a/docs/licenses/python/pyjwt.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/jpadilla/pyjwt/LICENSE - -The MIT License (MIT) - -Copyright (c) 2015-2022 José Padilla - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/pynacl.txt b/docs/licenses/python/pynacl.txt deleted file mode 100644 index 0ddca8f198..0000000000 --- a/docs/licenses/python/pynacl.txt +++ /dev/null @@ -1,176 +0,0 @@ -https://github.com/pyca/pynacl/LICENSE - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. diff --git a/docs/licenses/python/pyopenssl.txt b/docs/licenses/python/pyopenssl.txt deleted file mode 100644 index bea9ae7aca..0000000000 --- a/docs/licenses/python/pyopenssl.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/pyca/pyopenssl/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/pyparsing.txt b/docs/licenses/python/pyparsing.txt deleted file mode 100644 index 53c3454e1a..0000000000 --- a/docs/licenses/python/pyparsing.txt +++ /dev/null @@ -1,20 +0,0 @@ -https://github.com/pyparsing/pyparsing/LICENSE - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/licenses/python/pyrsistent.txt b/docs/licenses/python/pyrsistent.txt deleted file mode 100644 index 7d0a59c1fa..0000000000 --- a/docs/licenses/python/pyrsistent.txt +++ /dev/null @@ -1,24 +0,0 @@ -https://github.com/tobgu/pyrsistent/LICENSE.mit - -Copyright (c) 2023 Tobias Gustafsson - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/docs/licenses/python/python-dateutil.txt b/docs/licenses/python/python-dateutil.txt deleted file mode 100644 index 65426364dd..0000000000 --- a/docs/licenses/python/python-dateutil.txt +++ /dev/null @@ -1,56 +0,0 @@ -https://github.com/dateutil/dateutil/LICENSE - -Copyright 2017- Paul Ganssle -Copyright 2017- dateutil contributors (see AUTHORS file) - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -The above license applies to all contributions after 2017-12-01, as well as -all contributions that have been re-licensed (see AUTHORS file for the list of -contributors who have re-licensed their code). --------------------------------------------------------------------------------- -dateutil - Extensions to the standard Python datetime module. - -Copyright (c) 2003-2011 - Gustavo Niemeyer -Copyright (c) 2012-2014 - Tomi Pieviläinen -Copyright (c) 2014-2016 - Yaron de Leeuw -Copyright (c) 2015- - Paul Ganssle -Copyright (c) 2015- - dateutil contributors (see AUTHORS file) - -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 the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT OWNER OR -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. - -The above BSD License Applies to all code, even that also covered by Apache 2.0. \ No newline at end of file diff --git a/docs/licenses/python/python-dxf.txt b/docs/licenses/python/python-dxf.txt deleted file mode 100644 index a411e223bc..0000000000 --- a/docs/licenses/python/python-dxf.txt +++ /dev/null @@ -1,21 +0,0 @@ -https://github.com/davedoesdev/dxf/LICENCE - -Copyright (c) 2015 David Halls - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/licenses/python/python-editor.txt b/docs/licenses/python/python-editor.txt deleted file mode 100644 index 0ac0c0f236..0000000000 --- a/docs/licenses/python/python-editor.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/fmoo/python-editor/LICENSE - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - diff --git a/docs/licenses/python/python-gitlab.txt b/docs/licenses/python/python-gitlab.txt deleted file mode 100644 index 85d4e7408a..0000000000 --- a/docs/licenses/python/python-gitlab.txt +++ /dev/null @@ -1,167 +0,0 @@ -https://github.com/python-gitlab/python-gitlab/COPYING - - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/docs/licenses/python/pytz.txt b/docs/licenses/python/pytz.txt deleted file mode 100644 index 93e86cf308..0000000000 --- a/docs/licenses/python/pytz.txt +++ /dev/null @@ -1,10 +0,0 @@ -https://pythonhosted.org/pytz/#license - -License - -MIT license. - -This code is also available as part of Zope 3 under the Zope Public License, Version 2.1 (ZPL). - -I’m happy to relicense this code if necessary for inclusion in other open source projects. - diff --git a/docs/licenses/python/pyyaml.txt b/docs/licenses/python/pyyaml.txt deleted file mode 100644 index 76913ffb23..0000000000 --- a/docs/licenses/python/pyyaml.txt +++ /dev/null @@ -1,22 +0,0 @@ -https://github.com/yaml/pyyaml/LICENSE - -Copyright (c) 2017-2021 Ingy döt Net -Copyright (c) 2006-2016 Kirill Simonov - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/pyzmq.txt b/docs/licenses/python/pyzmq.txt deleted file mode 100644 index 53dfb7231e..0000000000 --- a/docs/licenses/python/pyzmq.txt +++ /dev/null @@ -1,32 +0,0 @@ -https://github.com/zeromq/pyzmq/LICENSE.md - -BSD 3-Clause License - -Copyright (c) 2009-2012, Brian Granger, Min Ragan-Kelley - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. 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. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT HOLDER OR 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. diff --git a/docs/licenses/python/readchar.txt b/docs/licenses/python/readchar.txt deleted file mode 100644 index adaf8f5450..0000000000 --- a/docs/licenses/python/readchar.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/magmax/python-readchar/LICENCE - -MIT Licence - -Copyright (c) 2022 Miguel Angel Garcia - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicence, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/requests-toolbelt.txt b/docs/licenses/python/requests-toolbelt.txt deleted file mode 100644 index ad4d3cccb4..0000000000 --- a/docs/licenses/python/requests-toolbelt.txt +++ /dev/null @@ -1,15 +0,0 @@ -https://github.com/requests/toolbelt/LICENSE - -Copyright 2014 Ian Cordasco, Cory Benfield - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/requests.txt b/docs/licenses/python/requests.txt deleted file mode 100644 index f6f8b7e41a..0000000000 --- a/docs/licenses/python/requests.txt +++ /dev/null @@ -1,177 +0,0 @@ -https://github.com/psf/requests/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. diff --git a/docs/licenses/python/requirements-parser.txt b/docs/licenses/python/requirements-parser.txt deleted file mode 100644 index a552092b5e..0000000000 --- a/docs/licenses/python/requirements-parser.txt +++ /dev/null @@ -1,2478 +0,0 @@ -https://github.com/madpah/requirements-parser/#readme/LICENSE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GitHub - madpah/requirements-parser: A Pip requirements file parser. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - - - -
    - Skip to content - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - - - - - - - -
    - -
    - - - - - - - - -
    - - - - - - -
    - - - - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - -

    madpah/requirements-parser

    -
    -
    - - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - -

    Repository files navigation

    Requirements Parser

    -

    shield_pypi-version -shield_rtfd -shield_gh-workflow-test -shield_license

    -
    -

    This is a small Python module for parsing Pip requirement files.

    -

    The goal is to parse everything in the Pip requirement file format spec.

    -

    Installation

    -
    pip install requirements-parser
    -
    -

    or

    -
    poetry add requirements-parser
    -
    -

    Examples

    -

    requirements-parser can parse a file-like object or a text string.

    -
    >>> import requirements
    ->>> with open('requirements.txt', 'r') as fd:
    -...     for req in requirements.parse(fd):
    -...         print(req.name, req.specs)
    -Django [('>=', '1.11'), ('<', '1.12')]
    -six [('==', '1.10.0')]
    -
    -

    It can handle most (if not all) of the options in requirement files that do not involve traversing the local filesystem. These include:

    -
      -
    • editables (-e git+https://github.com/toastdriven/pyelasticsearch.git]{.title-ref})
    • -
    • version control URIs
    • -
    • egg hashes and subdirectories ([\#egg=django-haystack&subdirectory=setup]{.title-ref})
    • -
    • extras ([DocParser[PDF]]{.title-ref})
    • -
    • URLs
    • -
    -

    Documentation

    -

    View the documentation here.

    -

    Python Support

    -

    We endeavour to support all functionality for all current actively supported Python versions. -However, some features may not be possible/present in older Python versions due to their lack of support.

    -

    Changelog

    -

    See our CHANGELOG.

    -

    Contributing

    -

    Feel free to open issues, bugreports or pull requests.
    -See the CONTRIBUTING file for details.

    -

    Copyright & License

    -

    requirements-parser was originally written by @davidfischer and is now maintained by @madpah. See Authors for full details.

    -

    Permission to modify and redistribute is granted under the terms of the Apache 2.0 license.

    -

    See the LICENSE file for the full license.

    -
    -
    - - -
    -
    - -
    -
    -
    -
    -

    About

    - -

    - A Pip requirements file parser. -

    - - -

    Topics

    -
    - - -
    - -

    Resources

    - - - -

    License

    - - - - - - - - - - - -

    Stars

    - - -

    Watchers

    - - -

    Forks

    - - - -
    - -
    -
    - - - - - - - - - - -
    -
    -

    - - Contributors - 16 -

    - - - -
      -
    • -
      -
    • -
    • -
      -
    • -
    • -
      -
    • -
    • -
      -
    • -
    • -
      -
    • -
    • -
      -
    • -
    • -
      -
    • -
    • -
      -
    • -
    • -
      -
    • -
    • -
      -
    • -
    • -
      -
    • -
    • -
      -
    • -
    • -
      -
    • -
    • -
      -
    • -
    -
    - - -
    -
    - - - -
    -
    -

    Languages

    -
    - - -
    - - -
    -
    - -
    -
    - -
    - -
    - - -
    - -
    - - -
    -
    - -
    - -
    -

    Footer

    - - - - -
    -
    - - - - - © 2024 GitHub, Inc. - -
    - - -
    -
    - - - - - - - - - - - - - - - - - - - -
    - -
    -
    - - - diff --git a/docs/licenses/python/responses.txt b/docs/licenses/python/responses.txt deleted file mode 100644 index d22758b3a2..0000000000 --- a/docs/licenses/python/responses.txt +++ /dev/null @@ -1,203 +0,0 @@ -https://github.com/getsentry/responses/LICENSE - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright 2015 David Cramer - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/docs/licenses/python/roundrobin.txt b/docs/licenses/python/roundrobin.txt deleted file mode 100644 index 0be18c8728..0000000000 --- a/docs/licenses/python/roundrobin.txt +++ /dev/null @@ -1,24 +0,0 @@ -https://github.com/linnik/roundrobin/LICENSE - -MIT License - -Copyright (c) 2020 Vyacheslav Linnik - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/docs/licenses/python/rsa.txt b/docs/licenses/python/rsa.txt deleted file mode 100644 index bc96bf6d6c..0000000000 --- a/docs/licenses/python/rsa.txt +++ /dev/null @@ -1,15 +0,0 @@ -https://github.com/sybrenstuvel/python-rsa/LICENSE - -Copyright 2011 Sybren A. Stüvel - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/docs/licenses/python/s3transfer.txt b/docs/licenses/python/s3transfer.txt deleted file mode 100644 index 3699777117..0000000000 --- a/docs/licenses/python/s3transfer.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/boto/s3transfer/LICENSE.txt - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/setuptools-scm.txt b/docs/licenses/python/setuptools-scm.txt deleted file mode 100644 index 60a942824f..0000000000 --- a/docs/licenses/python/setuptools-scm.txt +++ /dev/null @@ -1,19 +0,0 @@ -https://github.com/pypa/setuptools_scm/LICENSE - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/docs/licenses/python/setuptools.txt b/docs/licenses/python/setuptools.txt deleted file mode 100644 index a495bf4b24..0000000000 --- a/docs/licenses/python/setuptools.txt +++ /dev/null @@ -1,19 +0,0 @@ -https://github.com/pypa/setuptools/LICENSE - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. diff --git a/docs/licenses/python/six.txt b/docs/licenses/python/six.txt deleted file mode 100644 index 912ef5422a..0000000000 --- a/docs/licenses/python/six.txt +++ /dev/null @@ -1,20 +0,0 @@ -https://github.com/benjaminp/six/LICENSE - -Copyright (c) 2010-2020 Benjamin Peterson - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/licenses/python/smmap.txt b/docs/licenses/python/smmap.txt deleted file mode 100644 index 47f7e4814a..0000000000 --- a/docs/licenses/python/smmap.txt +++ /dev/null @@ -1,32 +0,0 @@ -https://github.com/gitpython-developers/smmap/LICENSE - -Copyright (C) 2010, 2011 Sebastian Thiel and contributors -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 the async project nor the names of -its contributors may be used to endorse or promote products derived -from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT -OWNER OR 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. - diff --git a/docs/licenses/python/strict-rfc3339.txt b/docs/licenses/python/strict-rfc3339.txt deleted file mode 100644 index bd1ad32dd5..0000000000 --- a/docs/licenses/python/strict-rfc3339.txt +++ /dev/null @@ -1,4 +0,0 @@ -https://pypi.org/project/strict-rfc3339/ - -License: GNU General Public License v3 (GPLv3) (GNU General Public License Version 3) - diff --git a/docs/licenses/python/tinyquery.txt b/docs/licenses/python/tinyquery.txt deleted file mode 100644 index a29e2080bc..0000000000 --- a/docs/licenses/python/tinyquery.txt +++ /dev/null @@ -1,24 +0,0 @@ -https://github.com/Khan/tinyquery/LICENSE - -The MIT License (MIT) - -Copyright (c) 2014 Khan Academy - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/docs/licenses/python/toml.txt b/docs/licenses/python/toml.txt deleted file mode 100644 index 1f73df9e6c..0000000000 --- a/docs/licenses/python/toml.txt +++ /dev/null @@ -1,29 +0,0 @@ -https://github.com/uiri/toml/LICENSE - -The MIT License - -Copyright 2013-2019 William Pearson -Copyright 2015-2016 Julien Enselme -Copyright 2016 Google Inc. -Copyright 2017 Samuel Vasko -Copyright 2017 Nate Prewitt -Copyright 2017 Jack Evans -Copyright 2019 Filippo Broggini - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/docs/licenses/python/tqdm.txt b/docs/licenses/python/tqdm.txt deleted file mode 100644 index dc07d7dd3e..0000000000 --- a/docs/licenses/python/tqdm.txt +++ /dev/null @@ -1,2043 +0,0 @@ -https://github.com/tqdm/tqdm/wiki/LICENSE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Home · tqdm/tqdm Wiki · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    - Skip to content - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - - - - - - - -
    - -
    - - - - - - - - -
    - - - - - - -
    - - - - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    - - - - - - -
    -
    -

    Home

    - - -
    - -
    - Casper da Costa-Luis edited this page May 3, 2021 - · - - 25 revisions - -
    - -
    -
    -
    -
    -

    Welcome to the tqdm wiki!

    -

    -

    The wiki is still in its infancy. You may nevertheless find interesting -additional information by browsing the pages on the right.

    -

    Feel free to clone and contribute to this wiki, and open issues or -pull requests on the main repository!

    -

    Here, have some impressive background:

    -

    stats

    - -

    blogs

    - -

    publications

    -
      -
    • da Costa-Luis, Casper (2019). "tqdm: A Fast, Extensible Progress Meter for -Python and CLI," Journal of Open Source Software. 4(37), 1277. -doi:10.21105/joss.01277 -
    • -
    • Miller, Preston; Bryce, Chapin (2017). Python Digital Forensics Cookbook: -Effective Python recipes for digital investigations. Packt Publishing Ltd. -ISBN 9781783987474.
    • -
    • Van Boxel, Dan (2017). Hands-On Deep Learning with TensorFlow. Packt -Publishing. ISBN 9781787125827.
    • -
    • Nandy, Abhishek; Biswas, Manisha (2018). "Reinforcement Learning with Keras, -TensorFlow, and ChainerRL". Reinforcement Learning : With Open AI, TensorFlow -and Keras Using Python. Apress. pp. 129–153. -doi:10.1007/978-1-4842-3285-9_5. -ISBN 9781484232859.
    • -
    • Stein, Helge S.; Guevarra, Dan; Newhouse, Paul F.; Soedarmadji, Edwin; -Gregoire, John M. (2019). "Machine learning of optical properties of -materials – predicting spectra from images and images from spectra". Chemical -Science. 10 (1): 47–55. -doi:10.1039/C8SC03077D.
    • -
    • Cook, Neil J.; Scholz, Aleks; Jayawardhana, Ray (28 November 2017). "Very -Low-mass Stars and Brown Dwarfs in Upper Scorpius Using Gaia DR1: Mass -Function, Disks, and Kinematics". The Astronomical Journal. 154 (6): 256. -arXiv:1710.11625. Bibcode:2017AJ....154..256C. -doi:10.3847/1538-3881/aa9751.
    • -
    • Madhikar, Pranav; Åström, Jan; Westerholm, Jan; Karttunen, Mikko (November -2018). "CellSim3D: GPU accelerated software for simulations of cellular growth -and division in three dimensions". Computer Physics Communications. 232: -206–213. Bibcode:2018CoPhC.232..206M. -doi:10.1016/j.cpc.2018.05.024.
    • -
    • Palmer, Geraint I.; Knight, Vincent A.; Harper, Paul R.; Hawa, Asyl L. (20 May -2018). "Ciw: An open-source discrete event simulation library". Journal of -Simulation: 1–15. -doi:10.1080/17477778.2018.1473909.
    • -
    • Knight, Vincent et al. (31 August 2016). "An open reproducible framework for -the study of the iterated prisoner's dilemma". Journal of Open Research -Software. 4. doi:10.5334/jors.125. ISSN -2049-9647.
    • -
    -

    ... and many, many more. See e.g. https://www.oreilly.com/search/?query=tqdm.

    -

    misc

    - - -
    - - -
    -
    -
    - - - -
    Clone this wiki locally
    -
    - - - - - - - - -
    -
    -
    - -
    -
    - - -
    - -
    - - - -
    -
    - -
    - -
    -

    Footer

    - - - - -
    -
    - - - - - © 2024 GitHub, Inc. - -
    - - -
    -
    - - - - - - - - - - - - - - - - - - - -
    - -
    -
    - - - diff --git a/docs/licenses/python/types-awscrt.txt b/docs/licenses/python/types-awscrt.txt deleted file mode 100644 index 9cc34b2078..0000000000 --- a/docs/licenses/python/types-awscrt.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/youtype/types-awscrt/LICENSE - -MIT License - -Copyright (c) 2022 Vlad Emelianov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/types-s3transfer.txt b/docs/licenses/python/types-s3transfer.txt deleted file mode 100644 index 9ea4f60f86..0000000000 --- a/docs/licenses/python/types-s3transfer.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/youtype/types-s3transfer/LICENSE - -MIT License - -Copyright (c) 2022 Vlad Emelianov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/types-toml.txt b/docs/licenses/python/types-toml.txt deleted file mode 100644 index 2d4638afd9..0000000000 --- a/docs/licenses/python/types-toml.txt +++ /dev/null @@ -1,239 +0,0 @@ -https://github.com/python/typeshed/LICENSE - -The "typeshed" project is licensed under the terms of the Apache license, as -reproduced below. - -= = = = = - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -= = = = = - -Parts of typeshed are licensed under different licenses (like the MIT -license), reproduced below. - -= = = = = - -The MIT License - -Copyright (c) 2015 Jukka Lehtosalo and contributors - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - -= = = = = diff --git a/docs/licenses/python/typing_extensions.txt b/docs/licenses/python/typing_extensions.txt deleted file mode 100644 index 2e58e5448f..0000000000 --- a/docs/licenses/python/typing_extensions.txt +++ /dev/null @@ -1,281 +0,0 @@ -https://github.com/python/typing_extensions/LICENSE - -A. HISTORY OF THE SOFTWARE -========================== - -Python was created in the early 1990s by Guido van Rossum at Stichting -Mathematisch Centrum (CWI, see https://www.cwi.nl) in the Netherlands -as a successor of a language called ABC. Guido remains Python's -principal author, although it includes many contributions from others. - -In 1995, Guido continued his work on Python at the Corporation for -National Research Initiatives (CNRI, see https://www.cnri.reston.va.us) -in Reston, Virginia where he released several versions of the -software. - -In May 2000, Guido and the Python core development team moved to -BeOpen.com to form the BeOpen PythonLabs team. In October of the same -year, the PythonLabs team moved to Digital Creations, which became -Zope Corporation. In 2001, the Python Software Foundation (PSF, see -https://www.python.org/psf/) was formed, a non-profit organization -created specifically to own Python-related Intellectual Property. -Zope Corporation was a sponsoring member of the PSF. - -All Python releases are Open Source (see https://opensource.org for -the Open Source Definition). Historically, most, but not all, Python -releases have also been GPL-compatible; the table below summarizes -the various releases. - - Release Derived Year Owner GPL- - from compatible? (1) - - 0.9.0 thru 1.2 1991-1995 CWI yes - 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes - 1.6 1.5.2 2000 CNRI no - 2.0 1.6 2000 BeOpen.com no - 1.6.1 1.6 2001 CNRI yes (2) - 2.1 2.0+1.6.1 2001 PSF no - 2.0.1 2.0+1.6.1 2001 PSF yes - 2.1.1 2.1+2.0.1 2001 PSF yes - 2.1.2 2.1.1 2002 PSF yes - 2.1.3 2.1.2 2002 PSF yes - 2.2 and above 2.1.1 2001-now PSF yes - -Footnotes: - -(1) GPL-compatible doesn't mean that we're distributing Python under - the GPL. All Python licenses, unlike the GPL, let you distribute - a modified version without making your changes open source. The - GPL-compatible licenses make it possible to combine Python with - other software that is released under the GPL; the others don't. - -(2) According to Richard Stallman, 1.6.1 is not GPL-compatible, - because its license has a choice of law clause. According to - CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 - is "not incompatible" with the GPL. - -Thanks to the many outside volunteers who have worked under Guido's -direction to make these releases possible. - - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON -=============================================================== - -Python software and documentation are licensed under the -Python Software Foundation License Version 2. - -Starting with Python 3.8.6, examples, recipes, and other code in -the documentation are dual licensed under the PSF License Version 2 -and the Zero-Clause BSD license. - -Some software incorporated into Python is under different licenses. -The licenses are listed with code falling under that license. - - -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- - -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, PSF hereby -grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, -analyze, test, perform and/or display publicly, prepare derivative works, -distribute, and otherwise use Python alone or in any derivative version, -provided, however, that PSF's License Agreement and PSF's notice of copyright, -i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Python Software Foundation; -All Rights Reserved" are retained in Python alone or in any derivative version -prepared by Licensee. - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. - -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 -------------------------------------------- - -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 - -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the -Individual or Organization ("Licensee") accessing and otherwise using -this software in source or binary form and its associated -documentation ("the Software"). - -2. Subject to the terms and conditions of this BeOpen Python License -Agreement, BeOpen hereby grants Licensee a non-exclusive, -royalty-free, world-wide license to reproduce, analyze, test, perform -and/or display publicly, prepare derivative works, distribute, and -otherwise use the Software alone or in any derivative version, -provided, however, that the BeOpen Python License is retained in the -Software, alone or in any derivative version prepared by Licensee. - -3. BeOpen is making the Software available to Licensee on an "AS IS" -basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -5. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -6. This License Agreement shall be governed by and interpreted in all -respects by the law of the State of California, excluding conflict of -law provisions. Nothing in this License Agreement shall be deemed to -create any relationship of agency, partnership, or joint venture -between BeOpen and Licensee. This License Agreement does not grant -permission to use BeOpen trademarks or trade names in a trademark -sense to endorse or promote products or services of Licensee, or any -third party. As an exception, the "BeOpen Python" logos available at -http://www.pythonlabs.com/logos.html may be used according to the -permissions granted on that web page. - -7. By copying, installing or otherwise using the software, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - - -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 ---------------------------------------- - -1. This LICENSE AGREEMENT is between the Corporation for National -Research Initiatives, having an office at 1895 Preston White Drive, -Reston, VA 20191 ("CNRI"), and the Individual or Organization -("Licensee") accessing and otherwise using Python 1.6.1 software in -source or binary form and its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, CNRI -hereby grants Licensee a nonexclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display publicly, -prepare derivative works, distribute, and otherwise use Python 1.6.1 -alone or in any derivative version, provided, however, that CNRI's -License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) -1995-2001 Corporation for National Research Initiatives; All Rights -Reserved" are retained in Python 1.6.1 alone or in any derivative -version prepared by Licensee. Alternately, in lieu of CNRI's License -Agreement, Licensee may substitute the following text (omitting the -quotes): "Python 1.6.1 is made available subject to the terms and -conditions in CNRI's License Agreement. This Agreement together with -Python 1.6.1 may be located on the internet using the following -unique, persistent identifier (known as a handle): 1895.22/1013. This -Agreement may also be obtained from a proxy server on the internet -using the following URL: http://hdl.handle.net/1895.22/1013". - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python 1.6.1 or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python 1.6.1. - -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" -basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. This License Agreement shall be governed by the federal -intellectual property law of the United States, including without -limitation the federal copyright law, and, to the extent such -U.S. federal law does not apply, by the law of the Commonwealth of -Virginia, excluding Virginia's conflict of law provisions. -Notwithstanding the foregoing, with regard to derivative works based -on Python 1.6.1 that incorporate non-separable material that was -previously distributed under the GNU General Public License (GPL), the -law of the Commonwealth of Virginia shall govern this License -Agreement only as to issues arising under or with respect to -Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this -License Agreement shall be deemed to create any relationship of -agency, partnership, or joint venture between CNRI and Licensee. This -License Agreement does not grant permission to use CNRI trademarks or -trade name in a trademark sense to endorse or promote products or -services of Licensee, or any third party. - -8. By clicking on the "ACCEPT" button where indicated, or by copying, -installing or otherwise using Python 1.6.1, Licensee agrees to be -bound by the terms and conditions of this License Agreement. - - ACCEPT - - -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 --------------------------------------------------- - -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, -The Netherlands. All rights reserved. - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Stichting Mathematisch -Centrum or CWI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON DOCUMENTATION ----------------------------------------------------------------------- - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. diff --git a/docs/licenses/python/tzlocal.txt b/docs/licenses/python/tzlocal.txt deleted file mode 100644 index b5163f9910..0000000000 --- a/docs/licenses/python/tzlocal.txt +++ /dev/null @@ -1,21 +0,0 @@ -https://github.com/regebro/tzlocal/LICENSE.txt - -Copyright 2011-2017 Lennart Regebro - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/uritemplate.txt b/docs/licenses/python/uritemplate.txt deleted file mode 100644 index 086dbaafc9..0000000000 --- a/docs/licenses/python/uritemplate.txt +++ /dev/null @@ -1,6 +0,0 @@ -https://github.com/python-hyper/uritemplate/blob/main/LICENSE - -This software is made available under the terms of *either* of the licenses -found in LICENSE.APACHE or LICENSE.BSD. Contributions to uritemplate are -made under the terms of *both* these licenses. - diff --git a/docs/licenses/python/urllib3.txt b/docs/licenses/python/urllib3.txt deleted file mode 100644 index cd2d803a61..0000000000 --- a/docs/licenses/python/urllib3.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/urllib3/urllib3/LICENSE.txt - -MIT License - -Copyright (c) 2008-2020 Andrey Petrov and contributors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/licenses/python/watchdog.txt b/docs/licenses/python/watchdog.txt deleted file mode 100644 index 298afaa151..0000000000 --- a/docs/licenses/python/watchdog.txt +++ /dev/null @@ -1,204 +0,0 @@ -https://github.com/gorakhargosh/watchdog/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/licenses/python/wcwidth.txt b/docs/licenses/python/wcwidth.txt deleted file mode 100644 index 739e5e0896..0000000000 --- a/docs/licenses/python/wcwidth.txt +++ /dev/null @@ -1,29 +0,0 @@ -https://github.com/jquast/wcwidth/LICENSE - -The MIT License (MIT) - -Copyright (c) 2014 Jeff Quast - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Markus Kuhn -- 2007-05-26 (Unicode 5.0) - -Permission to use, copy, modify, and distribute this software -for any purpose and without fee is hereby granted. The author -disclaims all warranties with regard to this software. diff --git a/docs/licenses/python/websocket-client.txt b/docs/licenses/python/websocket-client.txt deleted file mode 100644 index 426e703149..0000000000 --- a/docs/licenses/python/websocket-client.txt +++ /dev/null @@ -1,205 +0,0 @@ -https://github.com/websocket-client/websocket-client/LICENSE - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2024 engn33r - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - diff --git a/docs/licenses/python/werkzeug.txt b/docs/licenses/python/werkzeug.txt deleted file mode 100644 index 72f54c1c5a..0000000000 --- a/docs/licenses/python/werkzeug.txt +++ /dev/null @@ -1,30 +0,0 @@ -https://github.com/pallets/werkzeug/LICENSE.txt - -Copyright 2007 Pallets - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. 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. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT -HOLDER OR 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. diff --git a/docs/licenses/python/wheel.txt b/docs/licenses/python/wheel.txt deleted file mode 100644 index 0fd4094a19..0000000000 --- a/docs/licenses/python/wheel.txt +++ /dev/null @@ -1,23 +0,0 @@ -https://github.com/pypa/wheel/LICENSE.txt - -MIT License - -Copyright (c) 2012 Daniel Holth and contributors - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/licenses/python/wrapt.txt b/docs/licenses/python/wrapt.txt deleted file mode 100644 index 8fcf79357c..0000000000 --- a/docs/licenses/python/wrapt.txt +++ /dev/null @@ -1,26 +0,0 @@ -https://github.com/GrahamDumpleton/wrapt/LICENSE - -Copyright (c) 2013-2023, Graham Dumpleton -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. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT HOLDER OR 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. diff --git a/docs/licenses/python/www-authenticate.txt b/docs/licenses/python/www-authenticate.txt deleted file mode 100644 index afe50c19bc..0000000000 --- a/docs/licenses/python/www-authenticate.txt +++ /dev/null @@ -1,16 +0,0 @@ -https://github.com/alexsdutton/www-authenticate/LICENSE - -Copyright (c) 2015 Alexander Dutton. -All rights reserved. - -Redistribution and use in source and binary forms are permitted -provided that the above copyright notice and this paragraph are -duplicated in all such forms and that any documentation, -advertising materials, and other materials related to such -distribution and use acknowledge that the software was developed -by the Alexander Dutton. The name of the Alexander Dutton may not -be used to endorse or promote products derived from this software -without specific prior written permission. -THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. diff --git a/docs/licenses/python/xmltodict.txt b/docs/licenses/python/xmltodict.txt deleted file mode 100644 index 81194ea465..0000000000 --- a/docs/licenses/python/xmltodict.txt +++ /dev/null @@ -1,9 +0,0 @@ -https://github.com/martinblech/xmltodict/LICENSE - -Copyright (C) 2012 Martin Blech and individual contributors. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/licenses/python/zipp.txt b/docs/licenses/python/zipp.txt deleted file mode 100644 index 626dc62a17..0000000000 --- a/docs/licenses/python/zipp.txt +++ /dev/null @@ -1,22 +0,0 @@ -https://github.com/jaraco/zipp/LICENSE - -Copyright Jason R. Coombs - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -IN THE SOFTWARE. - diff --git a/docs/licenses/python/zope.event.txt b/docs/licenses/python/zope.event.txt deleted file mode 100644 index 67f3a92117..0000000000 --- a/docs/licenses/python/zope.event.txt +++ /dev/null @@ -1,46 +0,0 @@ -https://github.com/zopefoundation/zope.event/LICENSE.txt - -Zope Public License (ZPL) Version 2.1 - -A copyright notice accompanies this license document that identifies the -copyright holders. - -This license has been certified as open source. It has also been designated as -GPL compatible by the Free Software Foundation (FSF). - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions in source code must retain the accompanying copyright -notice, this list of conditions, and the following disclaimer. - -2. Redistributions in binary form must reproduce the accompanying copyright -notice, this list of conditions, and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -3. Names of the copyright holders must not be used to endorse or promote -products derived from this software without prior written permission from the -copyright holders. - -4. The right to distribute this software or to use it for any purpose does not -give you the right to use Servicemarks (sm) or Trademarks (tm) of the -copyright -holders. Use of them is covered by separate agreement with the copyright -holders. - -5. If any files are modified, you must cause the modified files to carry -prominent notices stating that you changed the files and the date of any -change. - -Disclaimer - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED -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 THE COPYRIGHT HOLDERS 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. diff --git a/docs/licenses/python/zope.interface.txt b/docs/licenses/python/zope.interface.txt deleted file mode 100644 index a248c2cc64..0000000000 --- a/docs/licenses/python/zope.interface.txt +++ /dev/null @@ -1,46 +0,0 @@ -https://github.com/zopefoundation/zope.interface/LICENSE.txt - -Zope Public License (ZPL) Version 2.1 - -A copyright notice accompanies this license document that identifies the -copyright holders. - -This license has been certified as open source. It has also been designated as -GPL compatible by the Free Software Foundation (FSF). - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions in source code must retain the accompanying copyright -notice, this list of conditions, and the following disclaimer. - -2. Redistributions in binary form must reproduce the accompanying copyright -notice, this list of conditions, and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -3. Names of the copyright holders must not be used to endorse or promote -products derived from this software without prior written permission from the -copyright holders. - -4. The right to distribute this software or to use it for any purpose does not -give you the right to use Servicemarks (sm) or Trademarks (tm) of the -copyright -holders. Use of them is covered by separate agreement with the copyright -holders. - -5. If any files are modified, you must cause the modified files to carry -prominent notices stating that you changed the files and the date of any -change. - -Disclaimer - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED -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 THE COPYRIGHT HOLDERS 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. diff --git a/docs/licenses/smartgit.txt b/docs/licenses/smartgit.txt deleted file mode 100644 index ee019c2a65..0000000000 --- a/docs/licenses/smartgit.txt +++ /dev/null @@ -1,147 +0,0 @@ -https://www.syntevo.com/documents/smartgit-license.html - -License Agreement for SmartGit - -Last date of change: 2022-07-26 - -1 Subject of the Contract: The license terms of syntevo GmbH (hereinafter called "licensor") are applied for the concession of the rights of use for the entire or partly use of the object code of the software SmartGit (hereinafter called "SOFTWARE") to contractors, juristic persons under public law or official fund assets in terms of §310 in conjunction with §14 BGB [Civil Code] (hereinafter called "licensee"). Herewith the inclusion of the licensee's own terms and conditions is contradicted, unless their validity has explicitly been agreed to. - -2 Scope of the Rights of Use - -2.1 The following terms are valid for the assignment and use of the SOFTWARE including any documentation and the license file (a file that is custom-made for each individual granting of a license, the file being necessary for the operation of the SOFTWARE). - -2.2 They are not valid for additional services such as installation, integration, parameterization and customization of the SOFTWARE to the licensee's requirements. - -2.3 If the licensor grants a "lifetime" license, the licensee may use any new SOFTWARE version which has been released by the licensor until the SOFTWARE has reached its end of life. It's at the sole discretion of the licensor to declare the SOFTWARE's end of life. - -3 Rights of Use - -3.1 The SOFTWARE is partly copyrighted in favour of the licensor and partly in favour of other holders of rights. - -3.2 The SOFTWARE is handed over to the licensee for its intended use. The scope of the intended use as well as the kind and scope of the rights of use result from the assignment contract and said license terms. They especially depend on whether the licensee gets a - - - SOFTWARE Non-Commercial License, - - SOFTWARE Commercial License. - -3.2.1 The SOFTWARE Non-Commercial License can only be agreed-upon with a natural person. - -3.2.1.1 If a SOFTWARE Non-Commercial License is agreed-upon with the licensee, the licensor grants to licensee the non-exclusive, non-transferable right, which is limited according to the terms of clause 7 and terminated according to the terms of clause 3.2.1.2, to have the SOFTWARE used - - - on any number of machines - - if the licensee - - spends the majority of their work on open-source projects, or - - is an employee or student on a public academic institution, or - - is an employee of a public charitable organizations primarily targeting philanthropy, health research, education or social well-being. - -3.2.1.2 The Non-Commercial License is only valid for the latest version of the SOFTWARE as it is published on licensor's website and for all versions which have been first published not earlier than 6 months prior to the latest published version ('License Transition Period'). The SOFTWARE may contain a feature which enforces the termination of the Non-Commercial License for older versions by making them stop working after the License Transition Period. - -3.2.2 If a SOFTWARE Commercial License is agreed-upon with the licensee, the licensor grants the licensee the worldwide, non-exclusive, non-transferable right to have the SOFTWARE used by the agreed-upon number of users nameable on demand, that means to have the SOFTWARE saved, loaded, displayed and run permanently or temporarily. Each user (person) must be nameable on demand. Each user can be replaced by another user known by name only once in a month. From that time on, said first user must not use the SOFTWARE anymore and said second user may start to use the SOFTWARE. The licensee is responsible to perform suitable measures to ensure that the number of users known by name at no time exceeds the number of the agreed-upon licenses. Each user may use his assigned license on any number of machines, regardless whether the SOFTWARE is installed on a server, used by a terminal server, by a network share, or is installed on a Machine or virtual machine (each use counts). - -3.2.2.1 If the Commercial License has been purchased with a one-time fee, it is granted permanently (for an unlimited period of time), limited by clause 7. - -3.2.2.2 If the Commercial License has been purchased by a subscription, it is only valid for the agreed-upon subscription period, limited by clause 7. The subscription extends automatically by the subscription period. Both, licensee and licensor, can cancel the subscription at any time; the termination will become effective at the end of the subscription period. - -3.3 The licensee undertakes to take care that the intended use of the SOFTWARE is assured by appropriate technical and organizational measures. - -3.4 The licensee is obliged to back up the data orderly and regularly (especially with respect to working copies and repositories). - -3.5 The licensee is entitled to produce one backup from the SOFTWARE. - -3.6 The licensee is not entitled to translate, process, arrange the SOFTWARE differently or adapt or alter it and to copy the achieved results. - -3.7 The licensee is not entitled to distribute the SOFTWARE. This comprises any form of sublicensing, especially selling, letting, leasing or lending. Passing on the license file, a digitally signed file containing name and address of the licensee which allows the technical exploitation of the SOFTWARE, is also considered to be a form of distribution. - -3.8 The licensee is not entitled to make the SOFTWARE publicly accessible in such a way that it is accessible to the public at any place and at any time. - -3.9 The licensee undertakes not to decompile the SOFTWARE. - -4 Demo - -4.1 If the SOFTWARE is handed over only for test purposes, the licensor grants the licensee the non-exclusive, non-transferable right, limited to the test period of thirty-one (31) days, to have a non-registered copy of the SOFTWARE (demo) used on a arbitrary number of single-user computers or on a central server or via terminal server clients by a arbitrary number of users simultaneously for test purposes only, that means not productively, which again means to have the SOFTWARE saved, loaded, displayed and run permanently or temporarily. - -4.2 The demo of the SOFTWARE includes a function that terminates the use of the SOFTWARE after the expiration of the test period. After the payment of the agreed-upon license fee and the agreement to said license terms within the agreed-upon scope, this function is deactivated and the licensee gets the agreed-upon rights of use according to these license terms. Bypassing this technical protective function results in an immediate loss of all conceded rights of use. In this case a termination according to clause 5 is no longer applicable. - -5 On-line Functionality - -5.1 The SOFTWARE contains features which will automatically connect to licensor's servers to - - - activate the license, for evaluation, commercial and non-commercial licensing - - check for a new program version - - in case of an internal error, report a "crash footprint" - -The transferred data may contain the user's Git email address and license ID. All other transferred data DON'T contain POTENTIALLY SENSITIVE INFORMATION. - -5.2 Only upon user confirmation the SOFTWARE will send a full "bug report" to licensor for investigation. The contents of a full "bug report" may contain POTENTIALLY SENSITIVE INFORMATION and should be reviewed by the licensee before sending. - -5.3 The licensor treats the information sent by the licensee according to 5.1 and 5.2 as confidential and in accordance with the privacy policy at https://www.syntevo.com/privacy-policy/. - -6 Liability - -6.1 When the SOFTWARE is handed over cost-free or for test purposes, the licensor is only liable in case that malice or gross negligence are blamed on him. - -6.2 The licensee's rights on indemnification due to a certain lack are excluded, if, for example, he has known the lack at the conclusion of the contract, especially when there had been a test phase before that date. If the licensee has not known of a lack due to gross negligence, he can only claim rights with respect to that lack if the licensor had fraudulently concealed the lack or had taken over a guarantee for the quality of that object. - -6.3 In case of data loss the licensor is only liable for the effort that would have been necessary for the recovery of the data, provided that the data backup was properly executed by the licensee. - -6.4 If a third party asserts rights against the licensee because of claimed infringement of the SOFTWARE, the licensee is entitled to the rights defined in the corresponding sales contract. In case there is no sales contract or no such stipulation in the sales contract, the licensor is liable as follows: - - - To cure, the licensor can, at its own expense, either change or replace the SOFTWARE in such a way that it does not infringe the property rights, but still essentially corresponds to the stipulated functional and performance characteristics in a manner reasonable for the licensee, or the licensor can indemnify the licensee against claims by the holder of the property rights. - - If cure is impossible for the licensor or is possible only under disproportionate conditions, the licensor has the right to take back the respective SOFTWARE in exchange for reimbursement of the paid remuneration. In doing so, the licensor must grant the licensee a reasonable phase-out period, unless that is possible only under unreasonable legal or other conditions. - -The licensee's other claims regarding section 6.2 remain unaffected. - -However this only applies, if the licensee immediately notifies the licensor about the claims of the third party, does not accept any claimed infringement and either leaves any legal actions, including possible out-of-court arrangements, to the licensor or only consummates them in agreement with the licensor. - -7 Termination of the Rights of Use - -7.1 The subscription license according to 3.2.2.2 can be terminated by either party with written notice on the agreed-upon period. - -7.2 If the licensee culpably and materially violates the agreed-upon rights of use or intellectual property rights of the entitled person, the licensor can cancel the rights to use the respective SOFTWARE. In this case the license fee will not be refunded. - -7.3 The Non-Commercial License terminates automatically if the usage of SOFTWARE is not considered non-commercial any more according to clause 3.2.1. - -7.4 In case of cancellation the licensee is obliged to destroy the original of the SOFTWARE affected by the cancellation including any documentation and all copies or to return them to the licensor. If demanded by the licensor, the licensee will deliver a statement certifying the destruction. - -7.5 The other legal provisions remain untouched. - -8 Applicable Law and Place of Jurisdiction - -8.1 The law of the Federal Republic of Germany is applicable for all legal relationships of the parties excluding the laws on the international sale of goods. - -8.2 The licensor has the right to change this license agreement for new SOFTWARE versions. By using these new SOFTWARE versions the new license agreement supersedes any older one. - -8.3 If the licensee is a merchant, a juristic person under public law or a person having special property under public law, the exclusive place of jurisdiction for all disputes from this contract will be the licensor's place of business. The same is applicable for the case when the licensee does not have a domestic place of general jurisdiction in Germany or the licensor's residence or habitual abode are not known at the time of filing an action. The licensor's capacity to apply to the court of a different place of jurisdiction remains untouched. - -9 The following third parties have rights on parts of the SOFTWARE: - - - ANTLR, copyright by Terence Parr and Sam Harwell (http://www.antlr.org). - The corresponding license agreement (BSD) can be found at http://www.antlr.org/license.html or in the file licenses/ANTLR-LICENSE within the installation directory of the SOFTWARE. - - Autolink-Java, copyright by Robin Stocker (https://github.com/robinst/autolink-java). - The corresponding license agreement (MIT) can be found at https://github.com/robinst/autolink-java/blob/master/LICENSE or in the file licenses/AUTOLINK-LICENSE within the installation directory of the SOFTWARE. - - Bouncy Castle Crypto API, copyright by Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org/java.html). - The corresponding license agreement (MIT) can be found at http://www.bouncycastle.org/licence.html or in the file licenses/BOUNCY-CASTLE-LICENSE within the installation directory of the SOFTWARE. - - EdDSA-Java, copyright by str4d (https://github.com/str4d/ed25519-java). - The corresponding license agreement (Creative Commons Legal Code) can be found at https://github.com/str4d/ed25519-java/blob/master/LICENSE.txt or in the file licenses/EDDSA-JAVA-LICENSE within the installation directory of the SOFTWARE. - - Flexmark-Java, copyright by Atlassian Pty Ltd and Vladimir Schneider (https://github.com/vsch/flexmark-java) - The corresponding license agreement (BSD) can be found at https://github.com/vsch/flexmark-java/blob/master/LICENSE.txt or in the file licenses/FLEXMARK-LICENSE within the installation directory of the SOFTWARE. - - JavaEWAH, copyright by Daniel Lemire and others (https://github.com/lemire/javaewah). - The corresponding license agreement (Apache License 2.0) can be found at https://github.com/lemire/javaewah/blob/master/LICENSE or in the file licenses/JAVA-EWAH-LICENSE within the installation directory of the SOFTWARE. - - JGit, copyright by various authors (http://www.eclipse.org/jgit/). - The corresponding license agreement (Eclipse Distribution License 1.0) can be found at http://www.eclipse.org/org/documents/edl-v10.php or in the file licenses/JGIT-LICENSE within the installation directory of the SOFTWARE. - - JMySpell, copyright by DreamTangerine (dreamtangerine@hotmail.com) The corresponding license agreement can be found in the file licenses/JMYSPELL-LICENSE within the installation directory of the SOFTWARE. - - JNA, copyright by Timothy Wall and Wayne Meissner (https://github.com/twall/jna) - The corresponding license agreement (LGPL 2.1) can be found at https://github.com/twall/jna/blob/master/LGPL2.1 or in the file licenses/JNA-LICENSE within the installation directory of the SOFTWARE. - - JOpt-Simple, copyright by various authors (http://sourceforge.net/projects/jopt-simple/). The corresponding license agreement (MIT License) can be found at http://pholser.github.io/jopt-simple/license.html or in the file licenses/JOPT-SIMPLE-LICENSE within the installation directory of the SOFTWARE. - - JSch, copyright by Atsuhiko Yamanaka, JCraft, Inc. (http://www.jcraft.com/jsch/). The corresponding license agreement (BSD) can be found at http://www.jcraft.com/jsch/LICENSE.txt or in the file licenses/JSCH-LICENSE within the installation directory of the SOFTWARE. - - JSon-Simple, copyright by various authors (https://code.google.com/p/json-simple/). The corresponding license agreement (Apache License 2.0) can be found at https://code.google.com/p/json-simple/ or in the file licenses/JSON-SIMPLE-LICENSE within the installation directory of the SOFTWARE. - - JZlib, copyright by ymnk, JCraft,Inc. (http://www.jcraft.com/jzlib/) The corresponding license agreement (LGPL) can be found at http://www.jcraft.com/jzlib/LICENSE.txt or in the file licenses/JZLIB-LICENSE within the installation directory of the SOFTWARE. - - LZ4 compression for Java, copyright by various authors (https://github.com/lz4/lz4-java/) The corresponding license agreement (LGPL) can be found at https://github.com/lz4/lz4-java/blob/master/LICENSE.txt or in the file licenses/LZ4J-LICENSE within the installation directory of the SOFTWARE. - - SSHJ, copyright by various authors (https://github.com/hierynomus/sshj). The corresponding license agreement can be found at https://github.com/hierynomus/sshj/blob/master/LICENSE or in the file licenses/SSHJ-LICENSE within the installation directory of the SOFTWARE. - - SLF4J, copyright by QOS.ch (https://www.slf4j.org). The corresponding license agreement (MIT) can be found at https://www.slf4j.org/license.html or in the file licenses/SLF4J-LICENSE within the installation directory of the SOFTWARE. - - Snakeyaml, copyright by various authors (https://bitbucket.org/asomov/snakeyaml-engine/src/default/). The corresponding license agreement (Apache License 2.0) can be found at https://bitbucket.org/asomov/snakeyaml-engine/src/default/LICENSE.txt or in the file licenses/SNAKEYML-LICENSE within the installation directory of the SOFTWARE. - - SWT, copyright by Eclipse (http://eclipse.org). The corresponding license agreement can be found at http://www.eclipse.org/legal/epl-v10.html or in the file licenses/SWT-LICENSE within the installation directory of the SOFTWARE. - - SVNKit (including SQLJet), copyright by TMate Software s.r.o. (http://svnkit.com/) The corresponding license agreement (TMate License) can be found in the file licenses/SVNKIT-LICENSE within the installation directory of the SOFTWARE. - - Trilead SSH API, Copyright (c) Trilead AG (http://www.trilead.com) and others. - The corresponding license agreement can be found in the file licenses/TRILEAD-LICENSE within the installation directory of the SOFTWARE. - -The licensee is obliged to abide by these third parties license terms. Consequently they are part of this license agreement. diff --git a/docs/licenses/snyk.txt b/docs/licenses/snyk.txt deleted file mode 100644 index 50592a8501..0000000000 --- a/docs/licenses/snyk.txt +++ /dev/null @@ -1,182 +0,0 @@ -https://snyk.io/policies/terms-of-service-2020/ - -Terms of Service 2020 - -April 8, 2020 - -Your attention is drawn to Section 5 (which includes certain disclaimers regarding the Snyk Service) and Section 9 (under which you give us the right to use data about your project for analytics and project improvement purposes). - -Unless you or the organization to which you belong have entered into a separate agreement with us covering your subscription, these Terms of Service (together with the documents referred to in them) tell you the terms on which you may make use of the services which are made available to you via our software platform at https://snyk.io and our CLI tool (together, the “Platform”) (the “Services”), as well as all information and data made available to you in connection with the Services (“Service Data”). - -If you have entered into a separate Enterprise Subscription agreement with us for your and your employees, contractors and agents use of the Services, then that agreement will apply instead of these Terms of Service. - -Please read these Terms of Service carefully before you start to use the Services. We recommend that you print a copy of this for future reference. - -By using the Services or installing our CLI tool, you are confirming that you accept these Terms of Service and that you agree to comply with them. If you do not agree to these Terms of Service, you must not use the Services. - -Other applicable terms - -These Terms of Service refer to the following additional terms, which also apply to your use of the Services: - -Our Privacy Policy, which sets out the terms on which we process any personal data we collect from you, or that you provide to us. -Our Acceptable Use Policy, which sets out the permitted uses and prohibited uses of our Services, including any material and data transmitted using the Services. -Our Data Processing Addendum, which describes how we will process any personal data on your behalf. -Our Cookies Policy, which sets out information about the cookies on the Platform. - -1. Introduction - -Snyk ** (“Snyk”, “us”, “our” or “we”) is the provider of the Services and operator of the Platform. - -2. Changes to these terms - -We may revise these Terms of Service at any time by amending this page. Where appropriate (for example, where the changes limit your rights or increase your obligations), we will also give you notice of the changes by sending you an email – where possible, a reasonable time in advance. The process for changes to fees and payment plans is set out separately in clause 8. If you are using the Services as an anonymous user (and therefore on a session by session basis), the version of these Terms of Service which is in force at the beginning of a particular session will apply to your use of the Services during that particular session. We will not notify you of changes. - -Please check this page from time to time and give careful consideration to any emails we send you, as the changes to the Terms of Service will be binding on you. - -3. User account - -If you register for an account on the Platform (including via third party authentication), you are responsible for any use of our Services with your account details, and for protecting your account details from unauthorised use. You are also responsible for the security of any computer from which you sign in to your account. - -You may also use our Services as an anonymous user, in which case no account is necessary. - -In the case of a company, you hereby warrant that you have authority to bind the company (as the contracting party) to these Terms of Service. In the case of an individual, you hereby warrant that you are 18 years of age or older or, where you are not, that you have the consent of your parent or guardian to use the Services in accordance with these Terms of Service. - -4. Rights we grant you - -We grant you a non-exclusive, non-transferable, revocable right to install the CLI tool and make use of the Services and to make use of the documentation available at https://snyk.io/docs (“Documentation”) and Service Data, solely for your internal business operations and in accordance with these Terms of Service. - -This licence shall remain in effect until and unless these Terms of Service are terminated by you or us (see clause 13 for information about termination). You promise and agree that you will only make use of the Services, Documentation and Service Data within the scope of this licence and limits, terms and conditions set out in these Terms of Service, and that you will not redistribute or transfer the Services, Documentation or Service Data, or any part of them. - -You acknowledge that all intellectual property rights in the Services, the Documentation, the Service Data and the Platform anywhere in the world belong to us or our licensors (even after installation onto a computer owned by you or integration into your system), and that you have no rights in or to the Services, Documentation, Service Data or the Platform other than the right to use each of them in accordance with the terms of these Terms of Service. - -In the event that you breach the terms of the licence granted to you herein and such breach results in the creation of derivative works of the Services, the Documentation, and/or the Service Data (“Improvements”), you hereby assign with full title guarantee all such Improvements to us. Such assignment does not preclude us from taking any legal or other action against you for contravention of these terms and conditions, including for infringement of our intellectual property rights. - -You may from time-to-time provide suggestions, comments, ideas or other feedback (“Feedback”) to us with respect to the Services, Service Data, Platform or Documentation. To the extent that you provide such Feedback, you grant us an unlimited licence right and license to use, disclose, reproduce, license or otherwise distribute and exploit the Feedback as we see fit, entirely without obligation or payment to you or restriction of any kind. - -5. Services - -From time to time, we may introduce new services, features or functionality to the Services. These Terms of Service will apply to such new services, features or functionality, unless they come with separate or additional terms, in which case you will be required to agree to such separate or additional terms before being permitted to use the new services, features or functionality. - -We undertake that the Services will be performed substantially in accordance with the Documentation. This undertaking shall not apply to the extent of any non-conformance which is caused by your use of the Services contrary to our instructions or these Terms of Service, or any alternation or modification made to the Services or the software used in the provision of the Services by a third party who is not authorised by us. You understand and agree that we have no obligation to modify software to support your use of the Services. - -You acknowledge that the accuracy and completeness of the Services is dependent on a number of factors outside the control of Snyk, including design, implementation, and use of your project, erroneous dependency or vulnerability data, and changes to the environment in which your project is used. - -We do not warrant that: --the Services will be able to find and monitor all vulnerabilities in all dependencies (including open source dependencies) included or used by your application or code. Whilst we endeavour to keep up to date and build on our open source vulnerability database, you acknowledge that it does not provide any legal or other professional advice in relation to the Services and that we do not guarantee it is a complete source of all vulnerabilities and license issues for all dependencies or that it is relevant or suited to all the dependencies included or used by your code or applications; --we will be able to fix all vulnerabilities discovered using the Services; or --a patch or recommended version upgrade will not break the functionality of your code or will not result in the introduction of new vulnerabilities. We take care when authoring patches and test all patches before making them available to you as part of the Services; however, you acknowledge that it is your responsibility to assess the impact of patch before using it. -You further acknowledge that the suggestions made by us in relation to fixes (whether for updates, patches or monitoring services) are provided for general information only, and have not been made with your particular requirements in mind. It is therefore not intended to amount to advice on which you should solely rely. - -We will not be liable to you for our failure to find, fix and monitor dependencies, or for any damage or loss suffered as a result of a fix deployed. - -6. Accessing the Services - -You acknowledge that the extent of your use of the Services will depend on your subscription plan, and you further agree to only use the Services within the limits of such subscription plan. The default subscription plan is the ‘Free Plan’. Details about the Services available under each subscription plan can be found here: https://snyk.io/plans. If, at any time whilst using the Services, you exceed the limit of your subscription plan, we will charge you, and you will pay, the relevant fees which apply to such excess use as set out above. We will use our reasonable endeavours to notify you when the limit is close to being exceeded; however, we accept no liability for failure to do this. You are solely responsible for monitoring your use of the Services within the permitted limits. - -Whilst we will make reasonable efforts to ensure the Services are operational 24 hours a day, 7 days a week, we do not guarantee that the Services will always be available or be uninterrupted. In particular, but without limitation: - -Maintenance Services: The Services will not be available to you when we carry out maintenance services. We will endeavour to carry out these services outside of normal business hours (being 9:00am to 5:00pm UK time) and to give you at least three hours’ notice in writing (via email where possible); however you acknowledge that this may not be possible in cases of urgency. -Communication networks: The Services may be subject to limitations, delays and other problems inherent in the use of communication networks and facilities. -We will not be liable to you if the Services are unavailable at any time, or for any period due to an event or cause outside of our control. - -We reserve the right to suspend your access to or use of the Services without notice in the event you breach these Terms of Service or if we reasonably suspect that you have breached these Terms of Service. - -7. Using the Services - -You must not use the Services for any commercial use (other than for internal use within your business), and you must not redistribute or transfer the Services, Platform, Documentation or Service Data to any third party or make any part of the Services, Documentation or Service Data available to be accessed, in whole or in part, by any third party. - -The licence granted to you to install and make use of the Services, the Platform, the Documentation, and Service Data, does not permit you to do, and you shall not do nor permit any third party to do, any of the following: - -- Embed our Services, Platform, Documentation, or Service Data into any product of yours or any third party; -- Make available through automated or manual means any part of the Services, the Platform, the Documentation, or the Service Data, by way of crawling, scraping, spidering or otherwise; -- Copy or access all or any part of the Services, the Platform, the Documentation, or the Service Data other than via the interface(s) provided to you by us; -- Use web-crawlers, bots, or scripts to copy or access any part of the Services, the Documentation or the Service Data; -- Circumvent or attempt to override any security features we have installed around the Services, the Platform, the Documentation, or the Service Data; or -- Copy in part or in whole, our database of vulnerabilities. - -You further agree to comply with the Acceptable Use Policy at https://snyk.io/policies/acceptable-use-policy with regards to your use of the Services, Platform, Service Data and Documentation, including any material and data you transmit using the Services. This Acceptable Use Policy is hereby incorporated into these Terms of Service. - -A breach of the Acceptable Use Policy will constitute a breach of these Terms of Service, and may result in termination or suspension of your account in accordance with these Terms of Service. - -You shall comply with all applicable laws, rules and regulations that apply to your use of the Services, and comply with all applicable laws, rules and regulations governing export that apply to the Services. - -8. Purchases - -If you choose a paid-subscription plan, you agree to pay us fees in accordance with the relevant pricing plan. Details of those fees are set out on our Pricing Page at https://snyk.io/plans (which do not include VAT). - -Depending on the pricing plan chosen by you, our third party payment processor will (and you hereby authorise it to) bill your payment card for the applicable fee in advance on or shortly after the date you subscribe for a paid plan and each month or anniversary thereafter, until terminated by you or us. The fees are non-refundable, except as expressly stated otherwise in these Terms of Service. - -If you move to a higher tier of a paid plan, the change will take effect immediately and we will charge you for the additional fees associated with the new paid plan on a pro-rata basis. If you move to a lower tier of a paid plan, the change will take effect in the next billing cycle. You acknowledge that you will not receive a refund for the then-current billing cycle if you move to a lower tier of a paid plan, or to a non-payment subscription plan. - -We reserve the right not to provide you with the Services until the relevant fee has been received in full and cleared funds. - -We also reserve the right to change our fees or payment plans at any time. If you do not agree to such change, you must ask us to delete your account via email to support@snyk.io and stop using the Services within 30 days of the date the new fee or payment plan becomes effective, at which point these Terms of Service will be deemed to have been terminated by you. We will only charge you in respect of the period before termination and based on the old fee or payment plan. If you do agree to such change (which will be deemed from your continued use of the Services after the date the new fee or payment plan becomes effective), your next bill will include the new fees on a pro rata basis. - -You will pay fees without any set-off, counterclaim, deduction or withholding of any kind, except as may be required by law. If any withholding or deduction is required by law, you will, when making the payment to which the withholding or deduction relates, pay to us such additional amount as will ensure that we receive the same total amount that it would have received if no such withholding or deduction had been required. - -9. Project Data and Rights you give us - -We claim no intellectual property rights in and to your applications, project or any material you provide or otherwise transmit to us via the Service. - -However, to enable your use of the Services, we do need to inspect portions of your project and send parts of it to our servers. This information includes, but is not limited to, information relating to the project (such as the project name and metadata), information relating to the dependencies (including open source and closed source locally available to our tool), being used and how they are referenced by the project, Snyk-related files and environmental information (“Project Information”). We may also collect Project Information for each of the project’s dependencies (“Dependency Information”). For these purposes, we require, and you hereby grant us, a worldwide, non-exclusive, royalty free licence to store, use, reproduce, display and transmit the Project Information, the Dependency Information and any other materials transmitted via the Service to the extent necessary to enable your use of the Services, including monitoring services. This licence shall remain in effect until and unless these Terms of Service are terminated by you or us. - -In addition to the rights granted to us above, we also require, and you hereby grant to us, a licence to store, use, reproduce, display and transmit the Project Information, the Dependency Information and any other materials transmitted via the Service for analytical purposes (for example, so that we can see what stage the project was in when it was deleted) and to improve our Services. This licence shall remain in effect unless and until you email us at support@snyk.io and expressly ask us to delete such data from our database. For the avoidance of doubt, this licence will not end upon termination of these Terms of Service or where you delete the relevant project on the project page of the Platform. - -10. Usage Data Analysis - -Our CLI tool reports to us an event for each command you issue, including, but not limited to, the version of the CLI tool, the versions of surrounding tools such as node and npm, the Snyk User and organization ID, the arguments and inputs provided to the CLI, and details about duration, success and failure of CLI actions. This information is used by us for analytical purposes and to improve our Services. It allows us to better understand how the CLI tool is used, and informs our product development decisions. - -If you would like to opt out of this, you can do so by setting the disable-analytics configuration item, as explained in our FAQ page at https://snyk.io/docs/faqs/#using-snyk. - -11. Limitation of Liability - -You agree to the following limitations on our liability to you: - -- Exclusion of certain losses: We shall not be liable to you for any loss of profits, business, anticipated savings, goodwill or business opportunity, business interruption, loss or corruption of data or information, or for any special, indirect or consequential loss or damage, howsoever arising under these Terms of Service; and -- Cap on liability: Our maximum aggregate liability to you in contract, tort (including negligence or breach of statutory duty), misrepresentation, restitution or otherwise, arising in connection with the performance or contemplated performance of these Terms of Service shall be limited to the higher of either: i) the total amount paid to us in the 12 month period preceding the date on which the claim arose; or ii) £100. - Further, due to the nature of the Services, we do not take responsibility for any damage caused by errors or omissions in any content or omissions in any information, instructions or scripts provided by you to us in connection with the Services, or any action taken by us (or not taken by us) at your direction. - -Nothing in these Terms of Service shall exclude either party’s liability for death or personal injury caused by negligence, fraud or fraudulent misrepresentation or any other liability that cannot be excluded or limited by law. - -All warranties, conditions, representations or other terms implied by statute or common law in relation to the Services, Documentation, the Service Data and the Platform provided by us are excluded to the fullest extent permitted by law. - -12. Indemnity - -You shall defend, indemnify and hold harmless Snyk against claims, actions, proceedings, losses, damages, expenses and costs (including without limitation court costs and reasonable legal fees) arising out of or in connection with your use of the Services, Documentation, Service Data or Platform in breach of these Terms of Service or other agreements referred to in these Terms of Service (including, but not limited to, the acceptable use policy https://snyk.io/policies#acceptable-use-policy). - -13. Termination - -You may terminate these Terms of Service with us at any time, for any reason, by asking us to delete your account via email to support@snyk.io (as applicable) and ceasing all use of the Services, Documentation and Service Data. - -We may terminate these Terms of Service with you immediately, without notice, in the event you commit a material or persistent breach of these Terms of Service (including the Acceptable Use Policy), the Services are discontinued, we lose the right to provide you with the Services, or where the provision of the Services becomes unlawful. - -Upon termination: - -- all rights granted to you under these Terms of Service, including the licence in clause 4, shall cease; -- you must cease all activities authorised by these Terms of Service, including use of the Services, Documentation and Service Data; -- all fees payable to us under these Terms of Service shall become due and shall be billed immediately, despite any other provision; and -- you must immediately uninstall, delete or remove from all computer equipment in your possession or control, and destroy or return to us all copies of, any software used in the provision of the Services including our CLI tool. - -14. Other important terms - -Assignment and other dealings: You may not assign, transfer, sub-licence or deal in any other manner with any or all of your rights under these Terms of Service, without our prior written consent. - -Waiver: A waiver of any right or remedy under these Terms of Service or by law is only effective if given in writing and shall not be deemed a waiver of any subsequent breach or default. A failure or delay by a party to exercise any right or remedy provided under these Terms of Service or by law shall not constitute a waiver of that or any other right or remedy, nor shall it prevent or restrict any further exercise of that or any other right or remedy. - -Severance: If any provision or part-provision of these Terms of Service is or becomes invalid, illegal or unenforceable, it shall be deemed modified to the minimum extent necessary to make it valid, legal and enforceable. If such modification is not possible, the relevant provision or part-provision shall be deemed deleted. Any such modification to or deletion of a provision or part-provision shall not affect the validity and enforceability of the rest of these Terms of Service. - -Relationship: Nothing in these Terms of Service is intended to, or shall be deemed to, establish any partnership or joint venture between any of the parties or constitute any party the agent of another party. - -Third Party Rights: No one other than a party to these Terms of Service, their successors and permitted assignees, shall have any right to enforce any of its terms. - -Entire Agreement: these Terms of Service, and all documents referred to in them, constitute the entire agreement between the parties and supersedes and extinguishes all previous agreements, promises, assurances, warranties, representations and understandings between them, whether written or oral, relating to its subject matter. - -Jurisdiction/ Governing Law: These Terms of Service, its subject matter and its formation (and any non-contractual disputes or claims) are governed by English law. We both agree to the exclusive jurisdiction of the courts of England and Wales. - -15. Contact us - -To contact us, or if you are experiencing problems with the Services, please email support@snyk.io - -** If you are based in the United States, Snyk shall mean: Snyk, Inc., having a place of business at 100 Summer Street, Boston, MA 02110. - -If you are based outside of the United States, Snyk shall mean: Snyk Ltd, having its registered place of business at Highlands House, Basingstoke Road, Spencers Wood, Reading, Berkshire, RG7 1NT United Kingdom. Our VAT number is 227200547. diff --git a/docs/licenses/ssh.txt b/docs/licenses/ssh.txt deleted file mode 100644 index a188b70200..0000000000 --- a/docs/licenses/ssh.txt +++ /dev/null @@ -1,187 +0,0 @@ -https://cvsweb.openbsd.org/src/usr.bin/ssh/LICENCE?rev=HEAD - -This file is part of the OpenSSH software. - -The licences which components of this software fall under are as -follows. First, we will summarize and say that all components -are under a BSD licence, or a licence more free than that. - -OpenSSH contains no GPL code. - -1) - * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland - * All rights reserved - * - * As far as I am concerned, the code I have written for this software - * can be used freely for any purpose. Any derived versions of this - * software must be clearly marked as such, and if the derived work is - * incompatible with the protocol description in the RFC file, it must be - * called by a name other than "ssh" or "Secure Shell". - - [Tatu continues] - * However, I am not implying to give any licenses to any patents or - * copyrights held by third parties, and the software includes parts that - * are not under my direct control. As far as I know, all included - * source code is used in accordance with the relevant license agreements - * and can be used freely for any purpose (the GNU license being the most - * restrictive); see below for details. - - [However, none of that term is relevant at this point in time. All of - these restrictively licenced software components which he talks about - have been removed from OpenSSH, i.e., - - - RSA is no longer included, found in the OpenSSL library - - IDEA is no longer included, its use is deprecated - - DES is now external, in the OpenSSL library - - GMP is no longer used, and instead we call BN code from OpenSSL - - Zlib is now external, in a library - - The make-ssh-known-hosts script is no longer included - - TSS has been removed - - MD5 is now external, in the OpenSSL library - - RC4 support has been replaced with ARC4 support from OpenSSL - - Blowfish is now external, in the OpenSSL library - - [The licence continues] - - Note that any information and cryptographic algorithms used in this - software are publicly available on the Internet and at any major - bookstore, scientific library, and patent office worldwide. More - information can be found e.g. at "http://www.cs.hut.fi/crypto". - - The legal status of this program is some combination of all these - permissions and restrictions. Use only at your own responsibility. - You will be responsible for any legal consequences yourself; I am not - making any claims whether possessing or using this is legal or not in - your country, and I am not taking any responsibility on your behalf. - - - NO WARRANTY - - BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY - FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN - OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES - PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED - OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS - TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE - PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, - REPAIR OR CORRECTION. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING - WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR - REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, - INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING - OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED - TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY - YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER - PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGES. - -3) - ssh-keyscan was contributed by David Mazieres under a BSD-style - license. - - * Copyright 1995, 1996 by David Mazieres . - * - * Modification and redistribution in source and binary forms is - * permitted provided that due credit is given to the author and the - * OpenBSD project by leaving this copyright notice intact. - -4) - The Rijndael implementation by Vincent Rijmen, Antoon Bosselaers - and Paulo Barreto is in the public domain and distributed - with the following license: - - * @version 3.0 (December 2000) - * - * Optimised ANSI C code for the Rijndael cipher (now AES) - * - * @author Vincent Rijmen - * @author Antoon Bosselaers - * @author Paulo Barreto - * - * This code is hereby placed in the public domain. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''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 THE AUTHORS OR 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. - -5) - One component of the ssh source code is under a 3-clause BSD license, - held by the University of California, since we pulled these parts from - original Berkeley code. - - * Copyright (c) 1983, 1990, 1992, 1993, 1995 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND 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 THE REGENTS OR 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. - -6) - Remaining components of the software are provided under a standard - 2-term BSD licence with the following names as copyright holders: - - Markus Friedl - Theo de Raadt - Niels Provos - Dug Song - Aaron Campbell - Damien Miller - Kevin Steves - Daniel Kouril - Wesley Griffin - Per Allansson - Nils Nordman - Simon Wilkinson - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 THE AUTHOR 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. - ------- -$OpenBSD: LICENCE,v 1.20 2017/04/30 23:26:16 djm Exp $ diff --git a/docs/licenses/terraform.txt b/docs/licenses/terraform.txt deleted file mode 100644 index b6b0c2c8d0..0000000000 --- a/docs/licenses/terraform.txt +++ /dev/null @@ -1,355 +0,0 @@ -https://github.com/hashicorp/terraform/blob/main/LICENSE - -Mozilla Public License, version 2.0 - -1. Definitions - -1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - -1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - -1.3. “Contribution” - - means Covered Software of a particular Contributor. - -1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - -1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - -1.6. “Executable Form” - - means any form of the work other than Source Code Form. - -1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - -1.8. “License” - - means this document. - -1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - -1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - -1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - -1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - -1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - -1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - -2. License Grants and Conditions - -2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - -2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - -2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - -2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - -2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - -2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - -2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - -3. Responsibilities - -3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - -3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - -3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - -4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Termination - -5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - -6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - -7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - -8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - -9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - -10. Versions of the License - -10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - -10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - -10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular file, then -You may include the notice in a location (such as a LICENSE file in a relevant -directory) where a recipient would be likely to look for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. diff --git a/docs/licenses/viscosity.txt b/docs/licenses/viscosity.txt deleted file mode 100644 index 8d111c8ec2..0000000000 --- a/docs/licenses/viscosity.txt +++ /dev/null @@ -1,198 +0,0 @@ -https://www.sparklabs.com/company/legal/ - -Viscosity End User License Agreement (EULA) - -By installing, operating, distributing, or otherwise using Viscosity you agree to the terms of this End User License Agreement. If you do not agree to the terms of this License Agreement, do not install or use Viscosity. - -1. LICENSE. Your rights and obligations with respect to the use of Viscosity are as follows. You may: (a) make copies of Viscosity for archival purposes, or copy Viscosity onto the hard disk of your computer and retain the original for archival purposes; and (b) use Viscosity in accordance with any additional permitted uses set forth below. You may not: (a) sublicense, rent, or lease any portion of Viscosity; reverse engineer, decompile, disassemble, modify, translate, make any attempt to discover the source code of Viscosity, or create derivative works from Viscosity; (b) use Viscosity in any manner not authorized by this license; nor (c) use Viscosity in any manner that contradicts any additional restrictions set forth below. - -2. EVALUATION. Viscosity is not free software. You may use this software for evaluation purposes without charge for a period of 30 days. To continue using the software beyond the 30 day evaluation period, you must register it. - -3. REGISTRATION. (a) Individual Registration. If you have purchased an individual registration, also known as a "single user" and "single person" registration, you may install and register Viscosity on up to three computers, provided that you are the sole user of Viscosity on these computer/s. (b) Volume Registration. A company or other organization may purchase a volume registration, also known as a "volume license" and a "site license". A volume registration permits either (i) Viscosity to be installed and registered on multiple computers owned or operated by the company or organization, where each installation counts as an allocated seat; or (ii) Viscosity to be installed and registered by a number of users, where each user counts as an allocated seat, and each user may install and register Viscosity on up to three computers owned or operated by the company or organization provided that they are the sole user of Viscosity on these computer/s. As long as the total number of seat allocations do not exceed the registered number of seats, you may: (i) distribute Viscosity to users as governed by section 4 below; and (ii) allow an employee to install and register Viscosity on their personal computer for use in the course of their employment, where the user or their computer is as an allocated seat. (c) Server-Locked Registration. If you have purchased a server-locked registration, also known as a "server-locked license", as long as the total number of seat allocations do not exceed the registered number of seats, you may: (i) distribute Viscosity to users as governed by section 4 below; and (ii) allow any user associated with your company or organization, including, but not limited to, employees, students, parents, contractors, and visitors, to install and register Viscosity on their work or personal computer/s for the sole use of connecting to the server DNS or IP addresses associated with the registration. You may not have VPN server/s available at the DNS or IP addresses associated with the registration that are part of a commercial VPN service of which the registered users are customers. - -4. REDISTRIBUTION. You may provide unmodified copies of Viscosity under these conditions: (a) distribute only the unregistered version of Viscosity; (b) provide exact, unmodified copies of Viscosity including all accompanying files, this License Agreement, and all copyright, trademark, proprietary, and other notices; (c) reference the official Viscosity website of https://www.sparklabs.com/viscosity/; and (d) the total price of a compilation (such as a DVD-Disc) that includes Viscosity must be no more than $1 USD per package in the compilation. You may provide modified copies of Viscosity under these conditions: (a) Viscosity is only modified by bundling it to include connection files and/or preference settings; and (b) You have a Volume Registration or Server-Locked Registration and are distributing Viscosity only to users or machines covered by this registration. - -5. UPGRADES. Upgraded versions of Viscosity are announced on the Viscosity website. Upgrades may include additional features and/or bug fixes over previous releases. Registered users are entitled to receive free upgrades for all minor-point (1.x) version releases. - -6. SUPPORT. Support is available online via the Viscosity website and email under these conditions: (a) we guarantee that we will respond to the best of our ability, and as promptly as is reasonably possible, to all reasonable queries received from registered users; and (b) in the case of registrations that cover multiple users, we may ask that the organization designate one user as the contact point to receive support requests from other users and filter out duplicates. - -7. THIRD-PARTY SOFTWARE. Portions of the code included in or with Viscosity may contain, or may be derived from, third-party code, including without limitation, open source software. All use of third-party software is subject to and governed by the respective licenses for the third-party software. These licenses are available at the third-party licenses page (https://www.sparklabs.com/company/legal/thirdparty/) for the most recent version of the software, as well available as part of the software installation. Where a third-party license requires that the source code of the covered software or components be made available such as, but not limited to, the GNU General Public License, you may request a copy of the source code by following the offer instructions included with the third-party license. - -8. LIMITED WARRANTY AND LIMITATION OF REMEDIES. The software and documentation for Viscosity are offered AS IS and WITHOUT ANY WARRANTY express or implied, including but not limited to warranty of design, merchantability, or fitness for a particular purpose. In no event will SparkLabs be liable for any damages, including lost profits, lost savings, data theft, or other incidental or consequential damages, even if SparkLabs is advised of the possibility of such damages, or for any claim by you or any third party. - -9. ACKNOWLEDGMENT. You acknowledge that you have read this agreement, understand it, and agree to be bound by its terms and conditions. - -SparkLabs® and Viscosity® are registered trademarks of SparkLabs Pty Ltd. Any unauthorized use is expressly prohibited. - -Privacy Policy - -We at SparkLabs are committed to maintaining the trust and confidence of the users of our software and of visitors to our website. We strongly support the right to privacy, and where possible we prefer to avoid collecting data from you. - -Our Privacy Policy is designed to give a transparent overview of the cases where we do collect data, why we collect it, how it is used, and how long it is kept for. By using our website or products, you consent to our Privacy Policy. - -ONLINE STORE - -If you make a purchase of a product from our website your full name, company name (optional), address, and email address are collected. If the gift option is enabled, an additional full name, company name (optional) and email address are also collected to be used instead for billing information. - -This information is collected for a number of reasons: a) We are legally required to collect some or all of this information to assess taxation obligations (such as the collection of GST) and to meet record-keeping requirements; b) To verify you are the license owner in the event you contact us for support; c) To verify you are the license owner if you request we re-send your license information; d) To verify you are the license owner when upgrading an existing license; and e) To help prevent fraudulent purchases. - -We do not sell or provide any of your collected details to third-parties beyond what is required to process your payment. To process a payment, some of your billing details may be provided to the payment processor. Please see the Third-Party Data Processors section for further information. - -We do not collect or retain your credit card number, expiration date, or security code. These details are sent directly to the payment processor and do not pass through our servers or network. - -We retain data related to the purchase of a product as long as is legally required to meet record-keeping obligations under taxation law and related legislation. Beyond that, we may continue to retain purchase-related data while the product is still considered active by us. An active product is one that is available for purchase, or technical support is still available, or upgrades from the product are still offered. - -SUPPORT AND CORRESPONDENCE - -We provide the ability to get in contact with us for product support, feedback, and for other general correspondence. When contacting us we will collect the email address (for emails or forum posts), username (if contacting us via our website forum or Twitter), and any information you provide. This information is used to resolve your support inquiry. - -We may elect to delete support emails shortly after they are resolved if we believe they contain highly sensitive data, for example if an email contains the credentials needed to access a user's VPN server. Other support emails and correspondence are retained indefinitely, however you may request we remove support emails you have sent. - -PRODUCTS - -Our software products may need to contact our servers as part of their operation, such as when checking for an updated version, submitting a crash log, or checking the authenticity of a license. - -Update Checking - -By default, our products will periodically check to see if an updated version is available. To perform these checks our products will send, via an encrypted connection, the product name, currently installed version, the operating system name, and operating system version. - -Our products do not send any "system profiling" data (detailed information about your computer's system) as part of these checks. If desired, update checking can be disabled by using the appropriate setting in the product's preferences window. - -Further technical details regarding Update Checking can be found in our support section. - -We do not retain any data sent as part of an update check. However, data about the network request itself may be logged by the server (please see Server Logging below). - -Crash Logs - -If one of our products crash while using it, you'll be given the option to send along data about the crash to us. This is used to help us identify the cause of the crash, and where possible, fix it in a future update. Crash data is anonymised, you can view it prior to sending, and the report is sent via an encrypted connection. - -The submission of a crash report is optional, and you can choose not to send a crash report. You can optionally provide additional comments about the crash, as well as provide an email address. If providing an email address, it will only ever be used to contact you if we need to seek more information about the cause of the crash. - -If we are actively working to fix the cause of a crash, we may retain the crash report until the problem has been resolved. Otherwise crash reports are retained for up to 60 days. Data about the network request when sending the report may be logged by the server (please see Server Logging below). - -License Checks - -Our products may contact our servers to check that the license details used to register the product are valid. This may occur when entering your license details into the product, and occasionally repeated. - -A license check sends a secure irreversible hash of your license details over an encrypted connection, and the server will return either a valid or invalid status. Your actual license details are not sent. Like with update checks, our products do not collect or send any "system profiling" data as part of a license check. - -In addition, Viscosity will endeavour to perform these checks in a fashion that prevents monitoring for these checks by a malicious administrator or country level actor in an attempt to identify someone as a Viscosity user. Further technical details regarding License Checks can be found in our support section. - -We retain a log of license checks for 60 days. Data about the network request when sending the report may be logged by the server (please see Server Logging below). - -Core Operation - -Our products may need to send some private data as part of their core operation. For example, Viscosity may need to send your username and password to the VPN server you are connecting to as part of the authentication process, and subsequently send network traffic to the VPN server. Such data will be sent to the configured party, and not to us or any other third-party. It is your responsibility to be aware of the security and privacy implications for the VPN configurations you use (such as encryption options and network routes) and the VPN servers you connect to. - -Data Not Collected - -With the exception of the operations listed in the sections above, our products do not collect or send out any private data. For example, our products will not send any interactions (such as keyboard and mouse input), network traffic, usernames, passwords, settings, encryption keys, microphone or camera recordings, VPN connection names, VPN connection configuration data, or VPN traffic. - -EMAIL LISTS - -We maintain a low-volume email newsletter that you may subscribe to through our website. This newsletter is completely optional, and you will never be automatically subscribed. - -If you subscribe to our newsletter, we will retain your email address until you ask to be unsubscribed. Instructions on how to unsubscribe are included in all newsletter emails. - -SERVER LOGGING - -When you visit our website or interact with one of our servers via a network request, some basic data about the request is logged. This may include data such as your IP address, date and time, the URL or path of the resource or file accessed, browser/software information contained in HTTP/HTTPS request headers (such as your browser/software name and version and operating system information), and request status. - -We may also log additional user-entered data when using features of our website that allow for access to customer data, such as the Lost License and View Invoice features. This extra data is used to help protect against malicious users attempting to gain access, for example by using brute-force attacks. - -Server logs are typically only examined when diagnosing a server problem and to monitor for malicious access or use. Server logs may be kept for up to 90 days. - -THIRD-PARTY DATA PROCESSORS - -We use a small number of third-party service providers that may process your personal data. Who these are, and what they are used for, can be found below: - -* Credit card and Apple Pay processing for purchases and payments made using our website is provided by Braintree. Braintree are provided with your payment and billing details when making a payment. Privacy Policy. -* PayPal is used to accept PayPal and Discover card payments for purchases and payments made using our website. PayPal are provided with your billing details when making a payment. Privacy Policy. -* Coinbase Commerce is used to accept Bitcoin payments. Privacy Policy. -* Fraud prevention is performed by MaxMind. They are provided with your IP address and email address. Privacy Policy. -* Mailroute is used for spam email filtering. Emails you send to us will pass through their email filtering servers. Privacy Policy. -* CDN and DDoS protection services are provided by Cloudflare. When using our website your requests may be proxied through their servers. Privacy Policy. - -BACKUPS - -We keep archived backups of company data so that a data loss event, such as a significant hardware failure, doesn't have an adverse business impact. Archived backups have strictly limited access, they are not readily accessible, and they are not used in "production" environments. Backups of data will only be used in the event of data loss, and they are not otherwise accessed. - -Archived backups may be kept for up to 12 months. Archived data may persist in backups for up to this length of time even if it has otherwise been removed from our production data. - -RIGHTS UNDER GDPR - -European Union citizens may exercise their rights under the GDPR (General Data Protection Regulation), such as access to their personal information, by contacting us via email with their request. - -QUESTIONS - -This privacy policy may be updated or edited in the future. The most up-to-date information will always be available from our legal information page on our website. - -If you have any questions about our privacy policy or collection of data, please don't hesitate to get in touch via email with our support staff. - -GDPR Erasure Requests - -As outlined in our Privacy Policy, we may collect certain personal data from you when using our website or products, such as when purchasing one of our products, making a support request, or subscribing to our newsletter. Under Article 17 of the GDPR individual citizens of the European Union (EU) have the right to have certain personal data erased, commonly known as the "right to be forgotten". - -This document outlines what personal data we can erase, how to submit an erasure request if you're an EU citizen and you'd like certain personal data permanently removed, and the timeframe you can expect for it to be processed. - -Special Note: We are not your VPN Provider. We do not run or operate the VPN server/s you connect to using Viscosity. We have no knowledge, data, or logs regarding your VPN connection/s or the use of your VPN connection/s. - -DATA WE CAN'T ERASE - -Before submitting an erasure request it's important to realise that not all personal data can be erased. The GDPR outlines a number of circumstances where the right to erasure does not apply. - -In particular, we can only erase personal data if we no longer have a legal obligation to retain it, and that the data is no longer necessary for the purpose it was collected or processed. We have outlined where this applies and why below: - -* We cannot erase any financial, billing, purchase, or other associated data for store purchases, refunds, or other transactions that occurred during the current Australian financial year or the previous five (5) financial years. This is a legal obligation to comply with the record keeping provisions of the Australian Tax Office (ATO). -* We cannot erase purchase or billing data that is included on invoices for purchases less than ten (10) years old. All online store purchases have an invoice associated with them. Personal data on an invoice includes your name, address, and tax identifier (if applicable). This is a legal obligation to comply with the record keeping requirements of the EU's VAT Mini One Stop Shop (MOSS) scheme. -* We cannot erase personal data which wasn't collected or stored by us (for example, if you have created an account with PayPal, we cannot erase the data they directly collected from you). -* We cannot erase data which isn't considered personal data. This includes non-identifying data we have generated, such as product serial numbers. - -Please note that this is not an exhaustive list. When processing a request we may find there is a legal or other obligation that prevents erasure of certain data. You will be notified if this is the case. - -DATA WE CAN ERASE - -The following is a list of personal data we collect: - -* Newsletter subscriptions (includes email address and IP address used for signup) -* Forum accounts (includes username, email address, posts, and IP addresses) -* Crash logs (if submitted with a contact email address) -* Email and written correspondence (subject to the conditions in the section above) -* Support requests (subject to the conditions in the section above) -* License and receipt emails (subject to the conditions in the section above) -* A purchase or quote billing name, address, email address, and IP address (subject to the conditions in the section above) -* Personal data from website logs - -You can request the erasure of any or all of the above information. We do not retain any other personal information. - -SUBMITTING AN ERASURE REQUEST - -To submit an Erasure Request under Article 17 of the GDPR please send an email titled "GDPR Erasure Request" to our support email address. This request must contain the following information to allow us to locate your personal data, confirm your identity, and identify the scope of the request: - -* Identify the information you wish erased, for example "all personal data associated with me", "only data related to my store purchase", "only support requests I have submitted", etc. -* Include the email address/es associated with your data (e.g. the billing email address used when making a purchase, the email address used when signing up to our newsletter, the email address used when creating a forum account, etc.). We may send an email to these addresses to verify you as the owner. If these email addresses are no longer active we may request additional verification. -* Include the transaction/receipt number and/or serial number of any purchases. - -Please note that the erasure of personal data relating to a product license (such as the license name or email address) will result in that license ceasing to function. Any software products using that license will be unregistered. This cannot be reverted. - -TIMEFRAME - -We will reply to all erasure requests within 30 days. If further information or correspondence is required to confirm your identity the erasure request will be processed within 30-days of confirmation. Otherwise all requests will be processed within 30 days of the initial request. - -When an erasure request is processed, all personal data it applies to is immediately and permanently deleted from our production systems. However please note that some of this data may temporarily persist in archived backup data for an additional period of time. For more information please refer to Backups section of our Privacy Policy. - -Refund Policy - -In certain instances you may be eligible for a refund if desired. We hope our products exceed your expectations, but in the rare instance they don't please read this document to ensure you understand our Refund Policy. - -As SparkLabs is based in NSW, Australia, we comply with the refund regulations of the NSW Fair Trading Act. Refund requests must be received in writing. Refunds will be given at the discretion of SparkLabs management. - -Our products can be downloaded and used at no cost for a trial-period of 30-days. The products are fully functional during this time and not restricted in any way. This provides the ability to completely test out the product to ensure it is fit for purpose and understand the job the product is designed to do. Hence: - -* Refunds will not be given if a customer changes their mind. -* Refunds will not be given if the customer believed the product performed a different job than it actually does. -* Refunds will not be given if we have incurred significant support costs. - -We do understand that mistakes can be made, and generally we will try to refund a purchase regardless of the reason. However we do ask that customers make use of the 30-day trial period, and we reserve the right to adhere to the refund rules specified above. - -If a refund is given, the license serial/key for the purchase will be disabled. diff --git a/docs/mirror.rst b/docs/mirror.rst deleted file mode 100644 index 49e752daad..0000000000 --- a/docs/mirror.rst +++ /dev/null @@ -1,234 +0,0 @@ -.. sectnum:: - :suffix: . - -Data mirroring -############## - -This is a draft specification of the data mirroring facility in Azul. The -facility is currently under construction in an effort to make all public data in -the Human Cell Atlas [1]_ available in AWS S3, under the auspices of the Open -Data Sponsorship Program [2]_. This specification may not be fully implemented -at this time and is subject to change as the implementation progresses. - -.. [1] https://www.humancellatlas.org/ -.. [2] https://aws.amazon.com/opendata/open-data-sponsorship-program/ - - -Mirror bucket layout -==================== - -A mirror bucket is an AWS S3 bucket. The bucket layout employs content-based -addressing in order to allow for efficient mirroring and to avoid redundantly -storing duplicate files. The bucket contains three types of objects: file -objects, alias objects and info objects. - - -File objects -++++++++++++ - -A file object holds a file's content, a sequence of bytes. There is one file -object per unique sequence of bytes. If two files have the same content, there -is only one file object in the mirror, representing both. The key of a file -object is ``file/${digest_value}.${digest_type}`` where ``digest_value`` is the -hexadecimal form of a hash of the file object's content and ``digest_type`` is -one of ``sha1``, ``md5`` or ``sha256``, denoting the type of algorithm used to -derive that hash. Henceforth we'll be referring to the pair of ``digest_type`` -and ``digest_value`` as *digest*. - - -Alias objects -+++++++++++++ - -Alias objects are used to make a file object accessible under hash algorithms -other than the algorithm specified in the file object's key. The key of an alias -object is ``alias/${digest_value}.${digest_type}.json`` where ``digest_value`` -is the hexadecimal form of a hash of a file object's content and ``digest_type`` -is one of ``sha1``, ``md5`` or ``sha256``, denoting the type of algorithm used -to derive that hash. The content of an alias object is JSON of the form -``{"$schema":"…", "digest_value":…, "digest_type":…}`` where ``digest_value`` -and ``digest_type`` represent the digest to be used when composing the aliased -file object's key. - -The ``$schema`` property facilitates future changes to the format of aliase -objects. For details see the `Schemas`_ section below. - - -Info objects -++++++++++++ - -Info objects contain JSON further describing a file. The key of an info object -is ``info/${digest_value}.${digest_type}.json`` where ``digest_value`` is the -hexadecimal form of a hash of the corresponding file object's content and -``digest_type`` is one of ``sha1``, ``md5`` or ``sha256``, denoting the type of -algorithm used to derive that hash. The content of an ``info`` object is JSON of -the form ``{"$schema":"…", "content-type":…}``. - -The ``content-type`` property contains the content type of the file, as defined -for the HTTP response header of the same name [4]_. - -.. [4] https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Type - -The ``$schema`` property facilitates future changes to the format of info -objects. For details see the `Schemas`_ section below. - - -Schemas -======= - -The ``$schema`` property of alias and info objects contains, and always will -contain, the ``http://`` or ``https://`` URL of a JSON schema [3]_ that the -alias and info objects' JSON content conforms to. The last path component of the -schema URL is, and will always be, of the form ``v${schema_version}.json`` where -``schema_version`` is a monotonically increasing integer. - -The contents of a schema at a given URL may change without a change to the URL, -but only in backwards compatible ways, i.e. by adding a new property. Backwards -incompatible schema changes will lead to an increment in the version. -Programmatic consumers of alias and info objects should check the version number -encoded in the schema URL stored in the object prior to consuming the rest of -the object and should not attempt to consume the remainder of an object with an -unexpected schema version. - -Other parts of a schema URL may change without notice. Consumers of alias and -info objects should not make any assumptions about those parts. Consumers may -only assume that a request to the URL yields a valid JSON schema, that the last -path component encodes the schema version and that different schema versions are -incompatible to each other. - -.. [3] https://json-schema.org/ - - -Constraints and invariants -========================== - -The digest stored in an alias object is always different to the digest encoded -in its key. In other words, there are no redundant aliases. - -If there is an alias object, the aliased file object is guaranteed to exist. - -If there is an info object for a given digest, then there is also a file object -for that same digest. However, if there is a file object for a given digest, -there *typically* is an info object for that digest. In the uncommon and -temporary situation that there isn't, the client should retry checking both the -file object and the info object at a later time, at which point both will either -exist or not exist. Alternatively, clients can avoid this situation by always -checking for the info object first. - - -File retrieval procedure -======================== - -A file can be retrieved from the mirror using the S3 REST API, given a certain -digest, i.e., content hash of the file. There is only a limited set of digest -types through which a file is accessible in the mirror: at most it will be -``sha256``, ``sha1`` and ``md5``, but at least one of those. One of these digest -types, the *primary* one, is used in the key of the file object, and there may -or may not be alias objects for the other two. - -Digests of a file can be looked up in the Azul REST API, using the file's name -or a combination of other metadata properties associated with the file. The Azul -response indicates a file's primary type of digest. If the mirror doesn't -contain a file object for the primary digest returned by Azul, it won't contain -aliases for other digests returned by Azul either, but if Azul returns a primary -digest for a file, the mirror will eventually include aliases for every other -digest returned by Azul for that file. - -There are two retrieval procedures, depending on whether the content type of the -file is desired or not, and if the digest is guaranteed to be correct. - - -Retrieval of just the file content -++++++++++++++++++++++++++++++++++ - -This method is slightly simpler than the one described in the next section but -it should only be used if the file's content type is not needed, and if it is -acceptable that, in rare circumstances, the file's actual content doesn't match -the digest used in the file object's key or in the key of one of its aliases. - -Step 1: Try the file object ---------------------------- - -Using the digest, compose the key of the file object. Attempt to retrieve the -file object. If the digest originated from Azul and Azul denoted it as primary, -the file object will exist. If the file object does not exist, continue with -step 2. This can happen if the digest originated from another source or if it is -unknown whether the digest is the primary one. - -Step 2: Try an alias --------------------- - -Using the digest, compose the key of an alias object. This is the key used in -step 1 but with ``alias/`` at the beginning, instead of ``file/``. Attempt to -retrieve the alias object. If the alias object exists, proceed to step 3. If the -alias object doesn't exist, the mirror doesn't include the file, at least not -under the given type of digest. - -Step 3: Retrieve the file object --------------------------------- - -Using the digest extracted from the alias object's JSON content, compose the key -of the file object. Retrieve the file object (it will exist). - - -Retrieval of file content and content type -++++++++++++++++++++++++++++++++++++++++++ - -This method is slightly more involved than the one described in the previous -section but it yields a file's content type in addition to the content itself, -and it guarantees that the digests used in the file and alias objects' keys -match that content. It is the recommended retrieval procedure. - -Step 1: Try the info object ---------------------------- - -Using the digest, compose the key of the info object. Attempt to retrieve the -info object. If the info object exists, extract the ``content-type`` property -from the info object's JSON content and proceed to step 4. If the info object -does not exist, continue with step 2. - -Step 2: Try an alias --------------------- - -Using the digest, compose the key of an alias object. This is the key used in -step 1 but with ``alias/`` at the beginning, instead of ``info/``. Retrieve the -alias object. If the alias object exists, proceed to step 3. If the alias object -doesn't exist, the mirror doesn't include the file, at least not under the given -type of digest. - -Step 3: Retrieve the info object --------------------------------- - -Compose the key of the info object using the digest extracted from the alias -object's JSON content. Retrieve the info object (it will exist), extract the -``content-type`` property from its JSON content and proceed to step 4. - -Step 4: Retrieve the file object --------------------------------- - -Using the current digest, i.e. the one used in step 1 or step 3, compose the key -of the file object. Retrieve the file object (it will exist). - - -Rationale -========= - -How does the specified layout represent the orginal names of the files stored in -the bucket? It doesn't. Because the mirror bucket is content-addressed, the same -file object could be associated with multiple names. File names are metadata -that can be easily retrieved from Azul, a REST webservice for querying an index -of rich metadata describing file objects, including their name, format and -provenance. Azul also provides a convenient way to retrieve the signed URL of -both the original copy of a file in an upstream data repository, as well as that -of the copy in a mirror bucket. The signed URLs minted by Azul encode the name -of the file, so that common user agents such as a web browser, or utilities like -``curl`` or ``wget`` will save a downloaded file under its original name. - -Another question might be why the layout doesn't associate the content type -directly with the S3 object. After all, S3 has a mechanism for associating -arbitrary response headers directly with an object. The reason we don't make use -of that feature is that we want the mirror bucket layout to be highly portable. -This makes it possible to replicate the mirror bucket to virtually any file -system or cloud storage service. While this design decision complicates access -to files in the mirror bucket, we've believe we addressed those complications by -offering the Azul endpoint for minting signed URLs mentioned above. The signed -URLs encode both the content type and the name of a file. diff --git a/lambdas/Makefile b/lambdas/Makefile deleted file mode 100644 index cf78d594d6..0000000000 --- a/lambdas/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -.PHONY: all -all: layer indexer service - -include ../common.mk - -.PHONY: layer -layer: check_env - $(MAKE) -C layer layer - -.PHONY: indexer -indexer: check_env - $(MAKE) -C indexer package - -.PHONY: service -service: check_env - $(MAKE) -C service package - -.PHONY: clean -clean: check_env - for d in indexer service layer; do $(MAKE) -C $$d clean || ! break; done - -.PHONY: openapi -openapi: check_env - for d in indexer service; do $(MAKE) -C $$d openapi || ! break; done diff --git a/lambdas/indexer/.chalice/config.json.template.py b/lambdas/indexer/.chalice/config.json.template.py deleted file mode 100644 index 0217e66d7c..0000000000 --- a/lambdas/indexer/.chalice/config.json.template.py +++ /dev/null @@ -1,88 +0,0 @@ -from azul import ( - config, -) -from azul.modules import ( - load_app_module, -) -from azul.template import ( - emit, -) -from azul.terraform import ( - chalice, -) - -suffix = '-' + config.deployment_stage -assert config.indexer_name.endswith(suffix) - -app_name = 'indexer' - -indexer = load_app_module(app_name) - -emit({ - 'version': '2.0', - 'app_name': config.indexer_name[:-len(suffix)], # Chalice appends stage name implicitly - 'api_gateway_stage': config.deployment_stage, - 'manage_iam_role': False, - 'iam_role_arn': '${aws_iam_role.%s.arn}' % app_name, - 'environment_variables': config.lambda_env, - 'lambda_timeout': config.api_gateway_lambda_timeout, - 'lambda_memory_size': 128, - 'stages': { - config.deployment_stage: { - **chalice.private_api_stage_config(app_name), - 'lambda_functions': { - 'api_handler': chalice.vpc_lambda_config(app_name), - indexer.contribute.name: { - 'reserved_concurrency': config.contribution_concurrency(retry=False), - 'lambda_memory_size': 256, - 'lambda_timeout': config.contribution_lambda_timeout(retry=False), - **chalice.vpc_lambda_config(app_name) - }, - indexer.contribute_retry.name: { - 'reserved_concurrency': config.contribution_concurrency(retry=True), - 'lambda_memory_size': 4096, # FIXME https://github.com/DataBiosphere/azul/issues/2902 - 'lambda_timeout': config.contribution_lambda_timeout(retry=True), - **chalice.vpc_lambda_config(app_name) - }, - indexer.aggregate.name: { - 'reserved_concurrency': config.aggregation_concurrency(retry=False), - 'lambda_memory_size': 256, - 'lambda_timeout': config.aggregation_lambda_timeout(retry=False), - **chalice.vpc_lambda_config(app_name) - }, - indexer.aggregate_retry.name: { - 'reserved_concurrency': config.aggregation_concurrency(retry=True), - 'lambda_memory_size': 6500, - 'lambda_timeout': config.aggregation_lambda_timeout(retry=True), - **chalice.vpc_lambda_config(app_name) - }, - **( - { - indexer.forward_alb_logs.name: chalice.vpc_lambda_config(app_name), - indexer.forward_s3_logs.name: chalice.vpc_lambda_config(app_name), - } - if config.enable_log_forwarding else - {} - ), - **( - { - indexer.mirror.name: { - 'reserved_concurrency': config.mirroring_concurrency, - 'lambda_memory_size': 512, - 'lambda_timeout': config.mirror_lambda_timeout - # No VPC for this function so as to avoid paying for - # NAT Gateway traffic - }, - } - if config.enable_mirroring else - {} - ), - indexer.update_health_cache.name: { - 'lambda_memory_size': 128, - 'lambda_timeout': config.health_cache_lambda_timeout, - **chalice.vpc_lambda_config(app_name) - } - } - } - } -}) diff --git a/lambdas/indexer/.chalice/deployed/.gitkeep b/lambdas/indexer/.chalice/deployed/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lambdas/indexer/.gitignore b/lambdas/indexer/.gitignore deleted file mode 100644 index e19601411e..0000000000 --- a/lambdas/indexer/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -/.chalice/* -!/.chalice/*.template.py -/lambda-policy.json -/vendor/* -!/vendor/azul -!/vendor/humancellatlas -!/vendor/resources/static -!/vendor/resources/*.template.py diff --git a/lambdas/indexer/Makefile b/lambdas/indexer/Makefile deleted file mode 100644 index bd674c8176..0000000000 --- a/lambdas/indexer/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -.PHONY: all -all: package - -include ../lambdas.mk diff --git a/lambdas/indexer/app.py b/lambdas/indexer/app.py deleted file mode 100644 index 10ff2ec656..0000000000 --- a/lambdas/indexer/app.py +++ /dev/null @@ -1,129 +0,0 @@ -import logging -from typing import ( - Optional, -) - -import chalice - -from azul import ( - JSON, - cached_property, - config, -) -from azul.chalice import ( - LambdaMetric, -) -from azul.deployment import ( - aws, -) -from azul.health import ( - HealthApp, -) -from azul.hmac import ( - HMACAuthentication, - SignatureHelper, -) -from azul.indexer.index_controller import ( - IndexController, -) -from azul.indexer.log_forwarding_controller import ( - LogForwardingController, -) -from azul.indexer.mirror_controller import ( - MirrorController, -) -from azul.logging import ( - configure_app_logging, -) -from azul.openapi import ( - format_description as fd, -) -from azul.types import ( - not_none, -) - -log = logging.getLogger(__name__) - -spec: JSON = { - 'openapi': '3.0.1', - 'info': { - 'title': config.indexer_name, - # The version property should be updated in any PR connected to an issue - # labeled `API`. Increment the major version for backwards incompatible - # changes and reset the minor version to zero. Otherwise, increment only - # the minor version for backwards compatible changes. A backwards - # compatible change is one that does not require updates to clients. - 'version': '3.3', - 'description': fd(''' - This is the internal API for Azul's indexer component. - ''') - } -} - - -class IndexerApp(HealthApp, SignatureHelper): - - @cached_property - def index_controller(self) -> IndexController: - return IndexController(app=self) - - @cached_property - def mirror_controller(self) -> MirrorController: - return MirrorController(app=self) - - @cached_property - def log_controller(self) -> LogForwardingController: - return LogForwardingController(app=self) - - def __init__(self): - super().__init__(app_name=config.indexer_name, - globals=globals(), - spec=spec) - - def log_forwarder(self, prefix: str): - if config.enable_log_forwarding: - s3_decorator = self.on_s3_event(bucket=aws.logs_bucket, - events=['s3:ObjectCreated:*'], - prefix=prefix) - error_decorator = self.metric_alarm(metric=LambdaMetric.errors, - threshold=1, # One alarm … - period=24 * 60 * 60) # … per day. - throttle_decorator = self.metric_alarm(metric=LambdaMetric.throttles, - threshold=0, - period=5 * 60) - retry_decorator = self.retry(num_retries=2) - - def decorator(f): - return retry_decorator(throttle_decorator(error_decorator(s3_decorator(f)))) - - return decorator - else: - return lambda func: func - - def _authenticate(self) -> Optional[HMACAuthentication]: - return self.auth_from_request(not_none(self.current_request)) - - -app = IndexerApp() -configure_app_logging(app, log) - -globals().update(app.default_routes()) - -globals().update(app.index_controller.handlers()) - - -@app.log_forwarder( - config.alb_access_log_path_prefix(deployment=None) -) -def forward_alb_logs(event: chalice.app.S3Event): - app.log_controller.forward_alb_logs(event) - - -@app.log_forwarder( - config.s3_access_log_path_prefix(deployment=None) -) -def forward_s3_logs(event: chalice.app.S3Event): - app.log_controller.forward_s3_access_logs(event) - - -globals().update(app.mirror_controller.handlers()) diff --git a/lambdas/indexer/openapi.json b/lambdas/indexer/openapi.json deleted file mode 100644 index 73c8898443..0000000000 --- a/lambdas/indexer/openapi.json +++ /dev/null @@ -1,908 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "azul-indexer-dev", - "version": "3.3", - "description": "\nThis is the internal API for Azul's indexer component.\n\n\n## Contact us\n\nFor technical support please file an issue at\n[GitHub](https://github.com/DataBiosphere/azul/issues) or email\n`azul-group@ucsc.edu`. To report a security concern or misconduct please email\n`azul-group@ucsc.edu`.\n" - }, - "paths": { - "/": { - "get": { - "summary": "Redirect to the Swagger UI for interactive use of this REST API", - "tags": [ - "Auxiliary" - ], - "responses": { - "301": { - "description": "A redirect to the Swagger UI" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/swagger/index.html": { - "get": { - "summary": "The Swagger UI for interactive use of this REST API", - "tags": [ - "Auxiliary" - ], - "responses": { - "200": { - "description": "The response body is an HTML page containing the Swagger UI" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/swagger/swagger-initializer.js": { - "get": { - "summary": "Used internally by the Swagger UI", - "tags": [ - "Auxiliary" - ], - "responses": { - "200": { - "description": "The response body is JavaScript used internally by the Swagger UI" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/swagger/{file}": { - "parameters": [ - { - "name": "file", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "The name of a static file to be returned" - } - ], - "get": { - "summary": "Static files needed for the Swagger UI", - "tags": [ - "Auxiliary" - ], - "responses": { - "200": { - "description": "The response body is the contents of the requested file" - }, - "404": { - "description": "The requested file does not exist" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/openapi.json": { - "get": { - "summary": "Return OpenAPI specifications for this REST API", - "description": "\nThis endpoint returns the [OpenAPI specifications]'\n(https://github.com/OAI/OpenAPI-Specification) for this REST\nAPI. These are the specifications used to generate the page\nyou are visiting now.\n", - "responses": { - "200": { - "description": "200 response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "openapi": { - "type": "string" - }, - "info": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "tags": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "servers": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "paths": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "components": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - }, - "required": [ - "openapi", - "info", - "tags", - "servers", - "paths", - "components" - ], - "additionalProperties": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "tags": [ - "Auxiliary" - ] - } - }, - "/version": { - "get": { - "summary": "Describe current version of this REST API", - "tags": [ - "Auxiliary" - ], - "responses": { - "200": { - "description": "Version endpoint is reachable.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "git": { - "type": "object", - "properties": { - "commit": { - "type": "string" - }, - "dirty": { - "type": "boolean" - } - }, - "required": [ - "commit", - "dirty" - ], - "additionalProperties": false - } - }, - "required": [ - "git" - ], - "additionalProperties": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/robots.txt": { - "get": { - "summary": "Robots Exclusion Protocol", - "tags": [ - "Auxiliary" - ], - "responses": { - "200": { - "description": "\nThe robots.txt resource according to\n[RFC9309](https://datatracker.ietf.org/doc/html/rfc9309)\n" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/health": { - "get": { - "summary": "Complete health check", - "description": "\nHealth check of the indexer REST API and all\nresources it depends on. This may take long time to complete\nand exerts considerable load on the API. For that reason it\nshould not be requested frequently or by automated\nmonitoring facilities that would be better served by the\n[`/health/fast`](#operations-Auxiliary-get_health_fast) or\n[`/health/cached`](#operations-Auxiliary-get_health_cached)\nendpoints.\n", - "responses": { - "200": { - "description": "\nThe checked resources\nare healthy.\n\nThe response consists of the following keys:\n\n* `other_lambdas` \nIndicates whether the companion REST API responds to HTTP requests.\n* `queues` \nReturns information about the SQS queues used by the indexer and the\nmirror.\n* `progress` \nThe number of Data Store bundles pending to be indexed and the number\nof index documents in need of updating.\n* `api_endpoints` \nIndicates whether important service API endpoints are operational.\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`true`.\n\n\nAll of the nested `up` keys\nare `true`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "other_lambdas": {}, - "queues": {}, - "progress": {}, - "api_endpoints": {}, - "elasticsearch": {}, - "up": true - } - } - } - }, - "503": { - "description": "\nAt least one of the checked resources\nis not healthy.\n\nThe response consists of the following keys:\n\n* `other_lambdas` \nIndicates whether the companion REST API responds to HTTP requests.\n* `queues` \nReturns information about the SQS queues used by the indexer and the\nmirror.\n* `progress` \nThe number of Data Store bundles pending to be indexed and the number\nof index documents in need of updating.\n* `api_endpoints` \nIndicates whether important service API endpoints are operational.\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`false`.\n\n\nAt least one of the nested `up` keys\nis `false`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "other_lambdas": {}, - "queues": {}, - "progress": {}, - "api_endpoints": {}, - "elasticsearch": {}, - "up": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "tags": [ - "Auxiliary" - ] - } - }, - "/health/basic": { - "get": { - "summary": "Basic health check", - "description": "\nHealth check of only the REST API itself, excluding other\nresources that it depends on. A 200 response indicates that\nthe indexer is reachable via HTTP(S) but nothing\nmore.\n", - "responses": { - "200": { - "description": "\nThe checked resources\nare healthy.\n\nThe response consists of the following keys:\n\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`true`.\n\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "up": true - } - } - } - }, - "503": { - "description": "\nAt least one of the checked resources\nis not healthy.\n\nThe response consists of the following keys:\n\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`false`.\n\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "up": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "tags": [ - "Auxiliary" - ] - } - }, - "/health/cached": { - "get": { - "summary": "Cached health check for continuous monitoring", - "description": "\nReturn a cached copy of the\n[`/health/fast`](#operations-Auxiliary-get_health_fast)\nresponse. This endpoint is optimized for continuously\nrunning, distributed health monitors such as Route 53 health\nchecks. The cache ensures that the indexer is not\noverloaded by these types of health monitors. The cache is\nupdated every minute.\n", - "responses": { - "200": { - "description": "\nThe checked resources\nare healthy.\n\nThe response consists of the following keys:\n\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `queues` \nReturns information about the SQS queues used by the indexer and the\nmirror.\n* `progress` \nThe number of Data Store bundles pending to be indexed and the number\nof index documents in need of updating.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`true`.\n\n\nAll of the nested `up` keys\nare `true`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "elasticsearch": {}, - "queues": {}, - "progress": {}, - "up": true - } - } - } - }, - "503": { - "description": "\nAt least one of the checked resources\nis not healthy.\n\nThe response consists of the following keys:\n\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `queues` \nReturns information about the SQS queues used by the indexer and the\nmirror.\n* `progress` \nThe number of Data Store bundles pending to be indexed and the number\nof index documents in need of updating.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`false`.\n\n\nAt least one of the nested `up` keys\nis `false`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "elasticsearch": {}, - "queues": {}, - "progress": {}, - "up": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "tags": [ - "Auxiliary" - ] - } - }, - "/health/fast": { - "get": { - "summary": "Fast health check", - "description": "\nPerformance-optimized health check of the REST API and other\ncritical resources tht it depends on. This endpoint can be\nrequested more frequently than\n[`/health`](#operations-Auxiliary-get_health) but\nperiodically scheduled, automated requests should be made to\n[`/health/cached`](#operations-Auxiliary-get_health_cached).\n", - "responses": { - "200": { - "description": "\nThe checked resources\nare healthy.\n\nThe response consists of the following keys:\n\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `queues` \nReturns information about the SQS queues used by the indexer and the\nmirror.\n* `progress` \nThe number of Data Store bundles pending to be indexed and the number\nof index documents in need of updating.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`true`.\n\n\nAll of the nested `up` keys\nare `true`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "elasticsearch": {}, - "queues": {}, - "progress": {}, - "up": true - } - } - } - }, - "503": { - "description": "\nAt least one of the checked resources\nis not healthy.\n\nThe response consists of the following keys:\n\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `queues` \nReturns information about the SQS queues used by the indexer and the\nmirror.\n* `progress` \nThe number of Data Store bundles pending to be indexed and the number\nof index documents in need of updating.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`false`.\n\n\nAt least one of the nested `up` keys\nis `false`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "elasticsearch": {}, - "queues": {}, - "progress": {}, - "up": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "tags": [ - "Auxiliary" - ] - } - }, - "/health/{keys}": { - "parameters": [ - { - "name": "keys", - "in": "path", - "required": true, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "api_endpoints", - "elasticsearch", - "other_lambdas", - "progress", - "queues" - ] - } - }, - "description": "\nA comma-separated list of keys selecting the health\nchecks to be performed. Each key corresponds to an\nentry in the response.\n" - } - ], - "get": { - "summary": "Selective health check", - "description": "\nThis endpoint allows clients to request a health check on a\nspecific set of resources. Each resource is identified by a\n*key*, the same key under which the resource appears in a\n[`/health`](#operations-Auxiliary-get_health) response.\n", - "responses": { - "200": { - "description": "\nThe checked resources\nare healthy.\n\nThe response consists of the following keys:\n\n* `other_lambdas` \nIndicates whether the companion REST API responds to HTTP requests.\n* `queues` \nReturns information about the SQS queues used by the indexer and the\nmirror.\n* `progress` \nThe number of Data Store bundles pending to be indexed and the number\nof index documents in need of updating.\n* `api_endpoints` \nIndicates whether important service API endpoints are operational.\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`true`.\n\n\nAll of the nested `up` keys\nare `true`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "other_lambdas": {}, - "queues": {}, - "progress": {}, - "api_endpoints": {}, - "elasticsearch": {}, - "up": true - } - } - } - }, - "503": { - "description": "\nAt least one of the checked resources\nis not healthy.\n\nThe response consists of the following keys:\n\n* `other_lambdas` \nIndicates whether the companion REST API responds to HTTP requests.\n* `queues` \nReturns information about the SQS queues used by the indexer and the\nmirror.\n* `progress` \nThe number of Data Store bundles pending to be indexed and the number\nof index documents in need of updating.\n* `api_endpoints` \nIndicates whether important service API endpoints are operational.\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`false`.\n\n\nAt least one of the nested `up` keys\nis `false`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "other_lambdas": {}, - "queues": {}, - "progress": {}, - "api_endpoints": {}, - "elasticsearch": {}, - "up": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "tags": [ - "Auxiliary" - ] - } - }, - "/{catalog}/{action}": { - "post": { - "tags": [ - "Indexing" - ], - "summary": "Notify the indexer to perform an action on a bundle", - "description": "\nQueue a bundle for addition to or deletion from the index.\n\nThe request must be authenticated using HMAC via the ``signature``\nheader. Each Azul deployment has its own unique HMAC key. The HMAC\ncomponents are the request method, request path, and the SHA256\ndigest of the request body.\n\nA valid HMAC header proves that the client is in possession of the\nsecret HMAC key and that the request wasn't tampered with while\ntravelling between client and service, even though the latter is not\nstrictly necessary considering that TLS is used to encrypt the\nentire exchange. Internal clients can obtain the secret key from the\nenvironment they are running in, and that they share with the\nservice. External clients must have been given the secret key. The\nnow-defunct DSS was such an external client. The Azul indexer\nprovided the HMAC secret to DSS when it registered with DSS to be\nnotified about bundle additions/deletions. These days only internal\nclients use this endpoint.\n", - "requestBody": { - "description": "Contents of the notification", - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "bundle_fqid": { - "type": "object", - "properties": { - "uuid": { - "type": "string" - }, - "version": { - "type": "string" - }, - "source": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "spec": { - "type": "string" - } - }, - "required": [ - "id", - "spec" - ], - "additionalProperties": false - } - }, - "required": [ - "uuid", - "version", - "source" - ], - "additionalProperties": false - } - }, - "required": [ - "bundle_fqid" - ], - "additionalProperties": false - } - } - } - }, - "parameters": [ - { - "name": "catalog", - "in": "path", - "required": true, - "schema": { - "type": "string", - "enum": [ - "dcp2" - ] - }, - "description": "The name of the catalog to notify." - }, - { - "name": "action", - "in": "path", - "required": true, - "schema": { - "type": "string", - "enum": [ - "add", - "delete" - ] - }, - "description": "Which action to perform." - }, - { - "name": "signature", - "in": "header", - "required": true, - "schema": { - "type": "string" - }, - "description": "HMAC authentication signature." - } - ], - "responses": { - "200": { - "description": "Notification was successfully queued for processing" - }, - "400": { - "description": "Request was rejected due to malformed parameters" - }, - "401": { - "description": "Request lacked a valid HMAC header" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/schemas/{facility}/{schema_name}/{version_and_extension}": { - "get": { - "summary": "Retrieve JSON schemas", - "tags": [ - "Auxiliary" - ], - "parameters": [ - { - "name": "facility", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "schema_name", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "version_and_extension", - "in": "path", - "required": true, - "schema": { - "type": "string", - "pattern": "v\\d+\\.json" - } - } - ], - "description": "\n[JSON Schemas](https://json-schema.org/docs) for various Azul facilities.\n", - "responses": { - "200": { - "description": "Contents of the schema", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "schema": { - "type": "string" - }, - "id": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "required": [ - "schema", - "id", - "type" - ], - "additionalProperties": true - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - } - }, - "tags": [], - "servers": [ - { - "url": "http://localhost/" - } - ] -} \ No newline at end of file diff --git a/lambdas/indexer/vendor/azul b/lambdas/indexer/vendor/azul deleted file mode 120000 index b3310b2b5d..0000000000 --- a/lambdas/indexer/vendor/azul +++ /dev/null @@ -1 +0,0 @@ -../../../src/azul \ No newline at end of file diff --git a/lambdas/indexer/vendor/humancellatlas b/lambdas/indexer/vendor/humancellatlas deleted file mode 120000 index bf4bcf48ff..0000000000 --- a/lambdas/indexer/vendor/humancellatlas +++ /dev/null @@ -1 +0,0 @@ -../../../src/humancellatlas \ No newline at end of file diff --git a/lambdas/indexer/vendor/resources/environ.json.template.py b/lambdas/indexer/vendor/resources/environ.json.template.py deleted file mode 100644 index f77298a3aa..0000000000 --- a/lambdas/indexer/vendor/resources/environ.json.template.py +++ /dev/null @@ -1,8 +0,0 @@ -from azul import ( - config, -) -from azul.template import ( - emit, -) - -emit(config.lambda_env_for_outsourcing) diff --git a/lambdas/indexer/vendor/resources/static/schemas b/lambdas/indexer/vendor/resources/static/schemas deleted file mode 120000 index fd8289d0d9..0000000000 --- a/lambdas/indexer/vendor/resources/static/schemas +++ /dev/null @@ -1 +0,0 @@ -../../../../../schemas \ No newline at end of file diff --git a/lambdas/indexer/vendor/resources/static/swagger b/lambdas/indexer/vendor/resources/static/swagger deleted file mode 120000 index 7c782ec5ff..0000000000 --- a/lambdas/indexer/vendor/resources/static/swagger +++ /dev/null @@ -1 +0,0 @@ -../../../../../swagger/ \ No newline at end of file diff --git a/lambdas/lambdas.mk b/lambdas/lambdas.mk deleted file mode 100644 index 84f4816385..0000000000 --- a/lambdas/lambdas.mk +++ /dev/null @@ -1,60 +0,0 @@ -# Relative paths are based on the CWD, not the directory containing this file. -# project_root is not defined if the user forgot to source environment. This -# solution is based on comments in https://stackoverflow.com/questions/322936. -include $(abspath $(dir $(lastword $(MAKEFILE_LIST))))/../common.mk - -# The compile target is used during packaging of lambdas. The target ensures -# that a .pyc file is present for every .py file in the package. -# -# One reason to compile before deploying is to reduce lambda start-up time. But -# more importantly, it ensures that the same files are always included in the -# Chalice deployment package. Having a consistent, deterministic deployment -# package allows Terraform to use the hash of the deployment package to easily -# decide if anything new is being deployed, and skip updating the lambdas -# otherwise. -# -# By default, Python embeds the modify timestamp of the source file into the -# .pyc and uses this to determine when to re-compile, but since Gitlab clones -# the repository each time it deploys, fresh timestamps prevented the deployment -# package from being deterministic. With the `--invalidation-mode checked-hash` -# option, Python embeds the hash of the source file embedded in the .pyc instead -# of the timestamp, which is consistent regardless of when the files were -# downloaded. -# -# The `-f` option forces recompilation. This is necessary because timestamp -# style .pycs may have already been created when other deployment scripts are -# run, and we need to overwrite them. -# -# Set literals will compile in a non-deterministic order unless PYTHONHASHSEED -# is set. For a full explanation see http://benno.id.au/blog/2013/01/15/python-determinism -# -# `compileall` ignores symlinks to directories during traversal, so we must -# explicitly list them as arguments to ensure all files in vendor/ are -# deterministically compiled. -# -.PHONY: compile -compile: check_python - PYTHONHASHSEED=0 python -m compileall \ - -f -q --invalidation-mode checked-hash \ - vendor $(shell find -L $$(find vendor -maxdepth 1 -type l) -maxdepth 0 -type d) - -.PHONY: config -config: .chalice/config.json - -.PHONY: environ -environ: vendor/resources/environ.json - -.PHONY: local -local: check_python config - chalice local - -.PHONY: clean -clean: git_clean_recursive - -.PHONY: package -package: check_branch check_python check_aws config environ compile - chalice package --stage $(AZUL_DEPLOYMENT_STAGE) --pkg-format terraform .chalice/terraform - -.PHONY: openapi -openapi: check_python - python $(project_root)/scripts/generate_openapi_document.py diff --git a/lambdas/layer/.chalice/config.json.template.py b/lambdas/layer/.chalice/config.json.template.py deleted file mode 100644 index feb9d0db1e..0000000000 --- a/lambdas/layer/.chalice/config.json.template.py +++ /dev/null @@ -1,14 +0,0 @@ -from azul import ( - config, -) -from azul.template import ( - emit, -) - -emit({ - "version": "2.0", - "app_name": config.qualified_resource_name("dependencies"), - "api_gateway_stage": config.deployment_stage, - "manage_iam_role": False, - "lambda_memory_size": 128, -}) diff --git a/lambdas/layer/.gitignore b/lambdas/layer/.gitignore deleted file mode 100644 index 9591dc1ed3..0000000000 --- a/lambdas/layer/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/.chalice/* -!/.chalice/config.json.template.py diff --git a/lambdas/layer/Makefile b/lambdas/layer/Makefile deleted file mode 100644 index ed5c9055ae..0000000000 --- a/lambdas/layer/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -.PHONY: all -all: layer - -include ../lambdas.mk - -.PHONY: layer -layer: check_branch check_python check_aws config - python $(project_root)/scripts/stage_layer.py diff --git a/lambdas/layer/app.py b/lambdas/layer/app.py deleted file mode 100644 index f9865c4d82..0000000000 --- a/lambdas/layer/app.py +++ /dev/null @@ -1,18 +0,0 @@ -from azul import ( - config, -) -from azul.chalice import ( - AzulChaliceApp, -) - -# This whole file only exists so that we can use Chalice to create the layer -# package and is removed from the final result. - -app = AzulChaliceApp(app_name=config.qualified_resource_name('dependencies'), - globals=globals(), - spec={}) - - -@app.route('/', spec={}) -def foo(): - pass diff --git a/lambdas/layer/requirements.trans.txt b/lambdas/layer/requirements.trans.txt deleted file mode 120000 index a45a5d5f05..0000000000 --- a/lambdas/layer/requirements.trans.txt +++ /dev/null @@ -1 +0,0 @@ -../../requirements.trans.txt \ No newline at end of file diff --git a/lambdas/layer/requirements.txt b/lambdas/layer/requirements.txt deleted file mode 120000 index fd1efae711..0000000000 --- a/lambdas/layer/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -../../requirements.txt \ No newline at end of file diff --git a/lambdas/service/.chalice/config.json.template.py b/lambdas/service/.chalice/config.json.template.py deleted file mode 100644 index c40dff9442..0000000000 --- a/lambdas/service/.chalice/config.json.template.py +++ /dev/null @@ -1,46 +0,0 @@ -from azul import ( - config, -) -from azul.modules import ( - load_app_module, -) -from azul.template import ( - emit, -) -from azul.terraform import ( - chalice, -) - -suffix = '-' + config.deployment_stage -assert config.service_name.endswith(suffix) - -app_name = 'service' - -service = load_app_module(app_name) - -emit({ - "version": "2.0", - "app_name": config.service_name[:-len(suffix)], # Chalice appends stage name implicitly - "api_gateway_stage": config.deployment_stage, - "manage_iam_role": False, - "iam_role_arn": "${aws_iam_role.%s.arn}" % app_name, - "environment_variables": config.lambda_env, - "lambda_timeout": config.api_gateway_lambda_timeout, - "lambda_memory_size": 2048, - **chalice.vpc_lambda_config(app_name), - "stages": { - config.deployment_stage: { - **chalice.private_api_stage_config(app_name), - "lambda_functions": { - "api_handler": chalice.vpc_lambda_config(app_name), - service.generate_manifest.name: { - "lambda_timeout": config.service_lambda_timeout - }, - service.update_health_cache.name: { - "lambda_memory_size": 128, - "lambda_timeout": config.health_cache_lambda_timeout - } - } - } - } -}) diff --git a/lambdas/service/.chalice/deployed/.gitkeep b/lambdas/service/.chalice/deployed/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lambdas/service/.gitignore b/lambdas/service/.gitignore deleted file mode 100644 index e19601411e..0000000000 --- a/lambdas/service/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -/.chalice/* -!/.chalice/*.template.py -/lambda-policy.json -/vendor/* -!/vendor/azul -!/vendor/humancellatlas -!/vendor/resources/static -!/vendor/resources/*.template.py diff --git a/lambdas/service/Makefile b/lambdas/service/Makefile deleted file mode 100644 index bd674c8176..0000000000 --- a/lambdas/service/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -.PHONY: all -all: package - -include ../lambdas.mk diff --git a/lambdas/service/app.py b/lambdas/service/app.py deleted file mode 100644 index 3be85bd6c3..0000000000 --- a/lambdas/service/app.py +++ /dev/null @@ -1,1774 +0,0 @@ -import base64 -from collections.abc import ( - Mapping, - Sequence, -) -from functools import ( - partial, -) -import hashlib -from inspect import ( - signature, -) -import json -import logging.config -from typing import ( - Callable, -) -import urllib.parse - -import attr -from chalice import ( - BadRequestError as BRE, - ChaliceViewError, - Response, - UnauthorizedError, -) -import chevron -from furl import ( - furl, -) -from more_itertools import ( - one, -) - -from azul import ( - CatalogName, - R, - cache, - cached_property, - config, - drs, - iif, - mutable_furl, - require, -) -from azul.auth import ( - OAuth2, -) -from azul.collections import ( - OrderedSet, -) -from azul.csp import ( - CSP, -) -from azul.drs import ( - AccessMethod, -) -from azul.health import ( - HealthApp, - HealthController, -) -from azul.indexer.document import ( - EntityType, -) -from azul.indexer.field import ( - FieldType, - Nested, -) -from azul.logging import ( - configure_app_logging, -) -from azul.openapi import ( - application_json, - format_description as fd, - params, - responses, - schema, -) -from azul.plugins import ( - ManifestFormat, - MetadataPlugin, - RepositoryPlugin, -) -from azul.plugins.metadata.hca.indexer.transform import ( - value_and_unit, -) -from azul.service.app_controller import ( - validate_catalog, - validate_params, -) -from azul.service.catalog_controller import ( - CatalogController, -) -from azul.service.drs_controller import ( - DRSController, -) -from azul.service.elasticsearch_service import ( - Pagination, -) -from azul.service.manifest_controller import ( - ManifestController, -) -from azul.service.manifest_service import ( - CurlManifestGenerator, -) -from azul.service.repository_controller import ( - RepositoryController, -) -from azul.types import ( - AnyJSON, - JSON, - LambdaContext, - MutableJSON, - PrimitiveJSON, - reify, -) - -log = logging.getLogger(__name__) - -spec = { - 'openapi': '3.0.1', - 'info': { - 'title': config.service_name, - # The version property should be updated in any PR connected to an issue - # labeled `API`. Increment the major version for backwards incompatible - # changes and reset the minor version to zero. Otherwise, increment only - # the minor version for backwards compatible changes. A backwards - # compatible change is one that does not require updates to clients. - 'version': '13.0', - 'description': fd(f''' - # Overview - - Azul is a REST web service for querying metadata associated with - both experimental and analysis data from a data repository. In order - to deliver response times that make it suitable for interactive use - cases, the set of metadata properties that it exposes for sorting, - filtering, and aggregation is limited. Azul provides a uniform view - of the metadata over a range of diverse schemas, effectively - shielding clients from changes in the schemas as they occur over - time. It does so, however, at the expense of detail in the set of - metadata properties it exposes and in the accuracy with which it - aggregates them. - - Azul denormalizes and aggregates metadata into several different - indices for selected entity types. Metadata entities can be queried - using the [Index](#operations-tag-Index) endpoints. - - A set of indices forms a catalog. There is a default catalog called - `{config.default_catalog}` which will be used unless a - different catalog name is specified using the `catalog` query - parameter. Metadata from different catalogs is completely - independent: a response obtained by querying one catalog does not - necessarily correlate to a response obtained by querying another - one. Two catalogs can contain metadata from the same sources or - different sources. It is only guaranteed that the body of a - response by any given endpoint adheres to one schema, - independently of which catalog was specified in the request. - - Azul provides the ability to download data and metadata via the - [Manifests](#operations-tag-Manifests) endpoints. The - `{ManifestFormat.curl.value}` format manifests can be used to - download data files. Other formats provide various views of the - metadata. Manifests can be generated for a selection of files using - filters. These filters are interchangeable with the filters used by - the [Index](#operations-tag-Index) endpoints. - - Azul also provides a [summary](#operations-Index-get_index_summary) - view of indexed data. - - ## Data model - - Any index, when queried, returns a JSON array of hits. Each hit - represents a metadata entity. Nested in each hit is a summary of the - properties of entities associated with the hit. An entity is - associated either by a direct edge in the original metadata graph, - or indirectly as a series of edges. The nested properties are - grouped by the type of the associated entity. The properties of all - data files associated with a particular sample, for example, are - listed under `hits[*].files` in a `/index/samples` response. It is - important to note that while each _hit_ represents a discrete - entity, the properties nested within that hit are the result of an - aggregation over potentially many associated entities. - - To illustrate this, consider a data file that is part of two - projects (a project is a group of related experiments, typically by - one laboratory, institution or consortium). Querying the `files` - index for this file yields a hit looking something like: - - ``` - {{ - "projects": [ - {{ - "projectTitle": "Project One" - "laboratory": ..., - ... - }}, - {{ - "projectTitle": "Project Two" - "laboratory": ..., - ... - }} - ], - "files": [ - {{ - "format": "pdf", - "name": "Team description.pdf", - ... - }} - ] - }} - ``` - - This example hit contains two kinds of nested entities (a hit in an - actual Azul response will contain more): There are the two projects - entities, and the file itself. These nested entities contain - selected metadata properties extracted in a consistent way. This - makes filtering and sorting simple. - - Also notice that there is only one file. When querying a particular - index, the corresponding entity will always be a singleton like - this. - ''') - }, - 'tags': [ - { - 'name': 'Index', - 'description': fd(''' - Query the indices for entities of interest - ''') - }, - { - 'name': 'Manifests', - 'description': fd(''' - Complete listing of files matching a given filter in TSV and - other formats - ''') - }, - { - 'name': 'Repository', - 'description': fd(''' - Access to data files in the underlying repository - ''') - }, - { - 'name': 'DSS', - 'description': fd(''' - Access to files maintained in the Data Store - ''') - }, - { - 'name': 'DRS', - 'description': fd(''' - DRS-compliant proxy of the underlying repository - ''') - }, - { - 'name': 'Auxiliary', - 'description': fd(''' - Describes various aspects of the Azul service - ''') - }, - { - 'name': 'Deprecated', - 'description': fd(''' - Endpoints that should not be used and that will be removed - ''') - } - ] -} - - -class ServiceApp(HealthApp): - - def spec(self) -> JSON: - return { - **super().spec(), - **self._oauth2_spec() - } - - def _oauth2_spec(self) -> JSON: - scopes = ('email',) - return { - 'components': { - 'securitySchemes': { - self.app_name: { - 'type': 'oauth2', - 'flows': { - 'implicit': { - 'authorizationUrl': 'https://accounts.google.com/o/oauth2/auth', - 'scopes': {scope: scope for scope in scopes} - } - } - } - } - }, - 'security': [ - {}, - {self.app_name: scopes} - ] - } - - @property - def drs_controller(self) -> DRSController: - return DRSController(app=self, file_url_func=self.file_url) - - @cached_property - def health_controller(self) -> HealthController: - return HealthController(app=self, lambda_name=self.unqualified_app_name) - - @cached_property - def catalog_controller(self) -> CatalogController: - return CatalogController(app=self, file_url_func=self.file_url) - - @cached_property - def repository_controller(self) -> RepositoryController: - return RepositoryController(app=self, file_url_func=self.file_url) - - @cached_property - def manifest_controller(self) -> ManifestController: - return ManifestController(app=self, - file_url_func=self.file_url, - manifest_url_func=self.manifest_url) - - @property - def metadata_plugin(self) -> MetadataPlugin: - return self._metadata_plugin(self.catalog) - - @cache - def _metadata_plugin(self, catalog: CatalogName): - return MetadataPlugin.load(catalog).create() - - @property - def repository_plugin(self) -> RepositoryPlugin: - return self._repository_plugin(self.catalog) - - @cache - def _repository_plugin(self, catalog: CatalogName): - return RepositoryPlugin.load(catalog).create(catalog) - - @property - def fields(self) -> Sequence[str]: - organic, synthetic = self.organic_fields, self.synthetic_fields - all = OrderedSet(organic) - all.update(synthetic) - assert len(all) == len(organic) + len(synthetic) - return tuple(all) - - @property - def organic_fields(self) -> Sequence[str]: - return sorted(self.metadata_plugin.field_mapping.keys()) - - @property - def synthetic_fields(self) -> Sequence[str]: - return self.metadata_plugin.special_fields.accessible, - - def __init__(self): - super().__init__(app_name=config.service_name, - globals=globals(), - spec=spec) - - @attr.s(kw_only=True, auto_attribs=True, frozen=True) - class Pagination(Pagination): - self_url: furl - - def link(self, *, previous: bool, **params: str) -> furl | None: - search_key = self.search_before if previous else self.search_after - if search_key is None: - return None - else: - before_or_after = 'before' if previous else 'after' - params = { - **params, - f'search_{before_or_after}': json.dumps(search_key), - 'sort': self.sort, - 'order': self.order, - 'size': self.size - } - return furl(url=self.self_url, args=params) - - def get_pagination(self, entity_type: str) -> Pagination: - default_sorting = self.metadata_plugin.exposed_indices[entity_type] - params = self.current_request.query_params or {} - sb, sa = params.get('search_before'), params.get('search_after') - if sb is None: - if sa is not None: - sa = tuple(json.loads(sa)) - else: - if sa is None: - sb = tuple(json.loads(sb)) - else: - raise BRE('Only one of search_after or search_before may be set') - try: - return self.Pagination(order=params.get('order', default_sorting.order), - size=int(params.get('size', '10')), - sort=params.get('sort', default_sorting.field_name), - search_before=sb, - search_after=sa, - self_url=self.self_url) - except AssertionError as e: - if R.caused(e): - raise R.propagate(e, ChaliceViewError) - else: - raise - - def file_url(self, - *, - catalog: CatalogName, - file_uuid: str, - fetch: bool = True, - **params: str - ) -> mutable_furl: - file_uuid = urllib.parse.quote(file_uuid, safe='') - view_function = fetch_repository_files if fetch else repository_files - path = one(view_function.path) - url = self.base_url.add(path=path.format(file_uuid=file_uuid)) - return url.set(args=dict(catalog=catalog, **params)) - - def _authenticate(self) -> OAuth2 | None: - try: - header = self.current_request.headers['Authorization'] - except KeyError: - return None - else: - try: - auth_type, auth_token = header.split() - except ValueError: - raise UnauthorizedError(header) - else: - if auth_type.lower() == 'bearer': - return OAuth2(auth_token) - else: - raise UnauthorizedError(header) - - def manifest_url(self, - *, - fetch: bool, - token_or_key: str | None = None, - **params: str - ) -> mutable_furl: - if token_or_key is None: - handler = fetch_file_manifest if fetch else file_manifest - path = one(handler.path) - else: - handler = fetch_file_manifest_with_token if fetch else file_manifest_with_token - path: str = one(handler.path) - path = path.format(token=token_or_key) - url = self.base_url.add(path=path) - return url.set(args=params) - - -app = ServiceApp() -configure_app_logging(app, log) - -globals().update(app.default_routes()) - - -@app.route( - '/oauth2_redirect', - enabled=config.google_oauth2_client_id is not None, - cache_control='no-store', - interactive=False, - spec={ - 'summary': 'Destination endpoint for Google OAuth 2.0 redirects', - 'tags': ['Auxiliary'], - 'responses': { - '200': { - 'description': fd(''' - The response body is HTML page with a script that extracts - the access token and redirects back to the Swagger UI. - ''') - } - } - } -) -def oauth2_redirect(): - file_name = 'oauth2-redirect.html.template.mustache' - template = app.load_static_resource('swagger', file_name) - nonce = CSP.new_nonce() - html = chevron.render(template, { - 'CSP_NONCE': json.dumps(nonce) - }) - csp = CSP.for_azul(nonce) - return Response(status_code=200, - headers={ - 'Content-Type': 'text/html', - 'Content-Security-Policy': str(csp) - }, - body=html) - - -def validate_repository_search(entity_type: EntityType, - params: Mapping[str, str], - **validators): - validate_params(params, **{ - 'catalog': validate_catalog, - 'filters': validate_filters, - 'order': validate_order, - 'search_after': partial(validate_json_param, 'search_after'), - 'search_after_uid': str, - 'search_before': partial(validate_json_param, 'search_before'), - 'search_before_uid': str, - 'size': partial(validate_size, entity_type), - 'sort': validate_field, - **validators - }) - - -def validate_entity_type(entity_type: str): - entity_types = app.metadata_plugin.exposed_indices.keys() - if entity_type not in entity_types: - raise BRE(f'Entity type {entity_type!r} is invalid for catalog ' - f'{app.catalog!r}. Must be one of {set(entity_types)}.') - - -min_page_size = 1 - - -def validate_size(entity_type: EntityType, size: str): - sorting = app.metadata_plugin.exposed_indices[entity_type] - try: - size = int(size) - except BaseException: - raise BRE('Invalid value for parameter `size`') - else: - if size > sorting.max_page_size: - raise BRE(f'Invalid value for parameter `size`, ' - f'must not be greater than {sorting.max_page_size}') - elif size < min_page_size: - raise BRE('Invalid value for parameter `size`, must be greater than 0') - - -def validate_filters(filters): - filters = validate_json_param('filters', filters) - if type(filters) is not dict: - raise BRE('The `filters` parameter must be a dictionary') - field_types = app.repository_controller.field_types(app.catalog) - for field, filter_ in filters.items(): - validate_field(field, include_synthetic=True) - try: - relation, values = one(filter_.items()) - except Exception: - raise BRE(f'The `filters` parameter entry for `{field}` ' - f'must be a single-item dictionary') - else: - special_fields = app.metadata_plugin.special_fields - if field in (special_fields.source_id, special_fields.accessible): - valid_relations = ('is',) - disallow_null = True - else: - valid_relations = ('is', 'contains', 'within', 'intersects') - disallow_null = False - if relation in valid_relations: - if not isinstance(values, list): - raise BRE(f'The value of the `{relation}` relation in the `filters` ' - f'parameter entry for `{field}` is not a list') - if disallow_null and None in values: - raise BRE(f'The `{field}` field does not support null values') - else: - raise BRE(f'The relation in the `filters` parameter entry ' - f'for `{field}` must be one of {valid_relations}') - if relation == 'is': - value_types = reify(JSON | PrimitiveJSON) - if not all(isinstance(value, value_types) for value in values): - raise BRE(f'The value of the `is` relation in the `filters` ' - f'parameter entry for `{field}` is invalid') - if field == 'organismAge': - validate_organism_age_filter(values) - field_type = field_types[field] - if isinstance(field_type, Nested): - if relation != 'is': - raise BRE(f'The field `{field}` can only be filtered by the `is` relation') - try: - nested = one(values) - except ValueError: - raise BRE(f'The value of the `is` relation in the `filters` ' - f'parameter entry for `{field}` is not a single-item list') - try: - require(isinstance(nested, dict)) - except AssertionError as e: - if R.caused(e): - raise BRE(f'The value of the `is` relation in the `filters` ' - f'parameter entry for `{field}` must contain a dictionary') - else: - raise - extra_props = nested.keys() - field_type.properties.keys() - if extra_props: - raise BRE(f'The value of the `is` relation in the `filters` ' - f'parameter entry for `{field}` has invalid properties `{extra_props}`') - - -def validate_organism_age_filter(values): - for value in values: - try: - value_and_unit.to_index(value) - except AssertionError as e: - if R.caused(e): - raise R.propagate(e, BRE) - else: - raise - - -def validate_field(field: str, *, include_synthetic: bool = False): - fields = app.fields if include_synthetic else app.organic_fields - if field not in fields: - raise BRE(f'Unknown field `{field}`') - - -def validate_manifest_format(format: str): - supported_formats = {f.value for f in app.metadata_plugin.manifest_formats} - try: - ManifestFormat(format) - except ValueError: - raise BRE(f'Unknown manifest format `{format}`. ' - f'Must be one of {supported_formats}') - else: - if format not in supported_formats: - raise BRE(f'Manifest format `{format}` is not supported for ' - f'catalog {app.catalog}. Must be one of {supported_formats}') - - -def validate_order(order: str): - supported_orders = ('asc', 'desc') - if order not in supported_orders: - raise BRE(f'Unknown order `{order}`. Must be one of {supported_orders}') - - -def validate_json_param(name: str, value: str) -> MutableJSON: - try: - return json.loads(value) - except json.decoder.JSONDecodeError: - raise BRE(f'The {name!r} parameter is not valid JSON') - - -class Mandatory: - """ - Validation wrapper signifying that a parameter is mandatory. - """ - - def __init__(self, validator: Callable) -> None: - super().__init__() - self._validator = validator - - def __call__(self, param): - return self._validator(param) - - -deprecated_spec = { - 'summary': 'This endpoint will be removed in the future.', - 'tags': ['Deprecated'], - 'deprecated': True -} - - -@app.route( - '/index/catalogs', - methods=['GET'], - cors=True, - spec={ - 'summary': 'List all available catalogs.', - 'tags': ['Index'], - 'responses': { - '200': { - 'description': fd(''' - The name of the default catalog and a list of all available - catalogs. For each catalog, the response includes the name - of the atlas the catalog belongs to, a flag indicating - whether the catalog is for internal use only as well as the - names and types of plugins currently active for the catalog. - For some plugins, the response includes additional - configuration properties, such as the sources used by the - repository plugin to populate the catalog or the set of - available [indices][1]. - - [1]: #operations-Index-get_index__entity_type_ - '''), - **responses.json_content( - # The custom return type annotation is an experiment. Please - # don't adopt this just yet elsewhere in the program. - signature(app.catalog_controller.list_catalogs).return_annotation - ) - } - } - } -) -def list_catalogs(): - return app.catalog_controller.list_catalogs() - - -generic_object_spec = schema.object(additionalProperties=True) -array_of_object_spec = schema.array(generic_object_spec) -hit_spec = schema.object( - additionalProperties=True, - protocols=array_of_object_spec, - entryId=str, - sources=array_of_object_spec, - samples=array_of_object_spec, - specimens=array_of_object_spec, - cellLines=array_of_object_spec, - donorOrganisms=array_of_object_spec, - organoids=schema.array(str), - cellSuspensions=array_of_object_spec -) - -page_spec = schema.object( - hits=schema.array(hit_spec), - pagination=generic_object_spec, - termFacets=generic_object_spec -) - - -def _filter_schema(field_type: FieldType) -> JSON: - relations = field_type.supported_filter_relations - - def filter_schema(relation: str) -> JSON: - return schema.object( - properties={relation: schema.array(field_type.api_filter_schema(relation))}, - required=[relation], - additionalProperties=False - ) - - if len(relations) == 1: - return filter_schema(one(relations)) - else: - return {'oneOf': list(map(filter_schema, relations))} - - -types = app.repository_controller.field_types(app.catalog) - -filters_param_spec = params.query( - 'filters', - schema.optional(application_json(schema.object( - default='{}', - example={'cellCount': {'within': [[10000, 1000000000]]}}, - properties={ - field: _filter_schema(types[field]) - for field in app.fields - } - ))), - description=fd(''' - Criteria to filter entities from the search results. - - Each filter consists of a field name, a relation (relational operator), - and an array of field values. The available relations are "is", - "within", "contains", and "intersects". Multiple filters are combined - using "and" logic. An entity must match all filters to be included in - the response. How multiple field values within a single filter are - combined depends on the relation. - - For the "is" relation, multiple values are combined using "or" logic. - For example, `{"fileFormat": {"is": ["fastq", "fastq.gz"]}}` selects - entities where the file format is either "fastq" or "fastq.gz". For the - "within", "intersects", and "contains" relations, the field values must - come in nested pairs specifying upper and lower bounds, and multiple - pairs are combined using "and" logic. For example, `{"donorCount": - {"within": [[1,5], [5,10]]}}` selects entities whose donor organism - count falls within both ranges, i.e., is exactly 5. - - The accessions field supports filtering for a specific accession and/or - namespace within a project. For example, `{"accessions": {"is": [ - {"namespace":"array_express"}]}}` will filter for projects that have an - `array_express` accession. Similarly, `{"accessions": {"is": [ - {"accession":"ERP112843"}]}}` will filter for projects that have the - accession `ERP112843` while `{"accessions": {"is": [ - {"namespace":"array_express", "accession": "E-AAAA-00"}]}}` will filter - for projects that match both values. - - The organismAge field is special in that it contains two property keys: - value and unit. For example, `{"organismAge": {"is": [{"value": "20", - "unit": "year"}]}}`. Both keys are required. `{"organismAge": {"is": - [null]}}` selects entities that have no organism age.''' + f''' - - Supported field names are: {', '.join(app.fields)} - ''') -) - -catalog_param_spec = params.query( - 'catalog', - schema.optional(schema.default(app.catalog, - form=schema.enum(*config.catalogs))), - description='The name of the catalog to query.') - - -def repository_search_params_spec(): - return [ - catalog_param_spec, - filters_param_spec, - params.path( - 'entity_type', - schema.enum(*app.metadata_plugin.exposed_indices.keys()), - description='Which index to search.' - ), - params.query( - 'size', - schema.optional(schema.default(10, form=schema.range(min_page_size, None))), - description=fd(''' - The number of hits included per page. The maximum size allowed - depends on the catalog and entity type. - ''') - ), - params.query( - 'sort', - schema.optional(schema.enum(*app.organic_fields)), - description=fd(''' - The field to sort the hits by. The default value depends on the - entity type. - ''') - ), - params.query( - 'order', - schema.optional(schema.enum('asc', 'desc')), - description=fd(''' - The ordering of the sorted hits, either ascending or descending. - The default value depends on the entity type. - ''') - ), - *[ - params.query( - param, - schema.optional(str), - description=fd(''' - Use the `next` and `previous` properties of the - `pagination` response element to navigate between pages. - '''), - deprecated=True) - for param in [ - 'search_before', - 'search_before_uid', - 'search_after', - 'search_after_uid' - ] - ] - ] - - -def parameter_hoisting_note(method: str, - endpoint: str, - equivalent_method: str - ) -> str: - return fd(''' - Any of the query parameters documented below can alternatively be passed - as a property of a JSON object in the body of the request. This can be - useful in case the value of the `filters` query parameter causes the URL - to exceed the maximum length of 8192 characters, resulting in a 413 - Request Entity Too Large response. - - The request `%s %s?filters={…}`, for example, is equivalent to `%s %s` - with the body `{"filters": "{…}"}` in which any double quotes or - backslash characters inside `…` are escaped with another backslash. That - escaping is the requisite procedure for embedding one JSON structure - inside another. - ''' % (method, endpoint, equivalent_method, endpoint)) - - -def repository_search_spec(*, post: bool): - id_spec_link = '#operations-Index-get_index__entity_type___entity_id_' - return { - 'summary': fd(f''' - Search an index for entities of interest - {", with filters provided in the request body" if post else ""}. - '''), - 'deprecated': post, - 'description': - iif(post, parameter_hoisting_note('GET', '/index/files', 'POST') + fd(''' - - Note that the Swagger UI can't currently be used to pass a body. - - Please also note that this endpoint should be considered beta and - may change or disappear in the future. That is the reason for the - deprecation. - ''')), - 'tags': ['Index'], - 'parameters': repository_search_params_spec(), - 'responses': { - '200': { - 'description': fd(f''' - Paginated list of entities that meet the search criteria - ("hits"). The structure of these hits is documented under - the [corresponding endpoint for a specific - entity]({id_spec_link}). - - The `pagination` section describes the total number of hits - and total number of pages, as well as user-supplied search - parameters for page size and sorting behavior. It also - provides links for navigating forwards and backwards between - pages of results. - - The `termFacets` section tabulates the occurrence of unique - values within nested fields of the `hits` section across all - entities meeting the filter criteria (this includes entities - not listed on the current page, meaning that this section - will be invariable across all pages from the same search). - Not every nested field is tabulated, but the set of - tabulated fields is consistent between entity types. - '''), - **responses.json_content(page_spec) - } - } - } - - -def repository_id_spec(): - search_spec_link = '#operations-Index-get_index__entity_type_' - return { - 'summary': 'Detailed information on a particular entity.', - 'tags': ['Index'], - 'parameters': [ - catalog_param_spec, - params.path('entity_type', str, description='The type of the desired entity'), - params.path('entity_id', str, description='The UUID of the desired entity') - ], - 'responses': { - '200': { - 'description': fd(f''' - This response describes a single entity. To search the index - for multiple entities, see the [corresponding search - endpoint]({search_spec_link}). - - The properties that are common to all entity types are - listed in the schema below; however, additional properties - may be present for certain entity types. With the exception - of the entity's unique identifier, all properties are - arrays, even in cases where only one value is present. - - The structures of the objects within these arrays are not - perfectly consistent, since they may represent either - singleton entities or aggregations depending on context. - - For example, any biomaterial that yields a cell suspension - which yields a sequence file will be considered a "sample". - Therefore, the `samples` field is polymorphic, and each - sample may be either a specimen, an organoid, or a cell line - (the field `sampleEntityType` can be used to discriminate - between these cases). - '''), - **responses.json_content(hit_spec) - } - } - } - - -def repository_head_spec(for_summary: bool = False): - search_spec_link = f'#operations-Index-get_index_{"summary" if for_summary else "_entity_type_"}' - return { - 'summary': 'Perform a query without returning its result.', - 'tags': ['Index'], - 'responses': { - '200': { - 'description': fd(f''' - The HEAD method can be used to test whether an index is - operational, or to check the validity of query parameters - for the [GET method]({search_spec_link}). - ''') - } - } - } - - -def repository_head_search_spec(): - return { - **repository_head_spec(), - 'parameters': repository_search_params_spec() - } - - -repository_summary_spec = { - 'tags': ['Index'], - 'parameters': [catalog_param_spec, filters_param_spec] -} - - -@app.route( - '/index/{entity_type}', - methods=['GET'], - spec=repository_search_spec(post=False), - cors=True -) -# FIXME: Properly document the POST version of /index -# https://github.com/DataBiosphere/azul/issues/5900 -@app.route( - '/index/{entity_type}', - methods=['POST'], - content_types=['application/json'], - spec=repository_search_spec(post=True), - cors=True -) -@app.route( - '/index/{entity_type}', - methods=['HEAD'], - spec=repository_head_search_spec(), - cors=True -) -@app.route( - '/index/{entity_type}/{entity_id}', - methods=['GET'], - spec=repository_id_spec(), - cors=True -) -def repository_search(entity_type: str, entity_id: str | None = None) -> JSON: - request = app.current_request - query_params = request.query_params or {} - _hoist_parameters(query_params, request) - validate_repository_search(entity_type, query_params) - validate_entity_type(entity_type) - return app.repository_controller.search(catalog=app.catalog, - entity_type=entity_type, - item_id=entity_id, - filters=query_params.get('filters'), - pagination=app.get_pagination(entity_type), - authentication=request.authentication) - - -def _hoist_parameters(query_params, request): - if request.method in ('POST', 'PUT'): - body = request.json_body - if body is not None: - if not isinstance(body, dict): - raise BRE('Request body is not a JSON object') - elif body.keys() & query_params.keys(): - raise BRE('Conflicting keys between body and query parameters') - else: - query_params.update(body) - - -@app.route( - '/index/summary', - methods=['GET'], - cors=True, - spec={ - 'summary': 'Statistics on the data present across all entities.', - 'responses': { - '200': { - # FIXME: Add 'projects' to API documentation & schema - # https://github.com/DataBiosphere/azul/issues/3917 - 'description': fd(''' - Counts the total number and total size in bytes of assorted - entities, subject to the provided filters. - - `fileTypeSummaries` provides the count and total size in - bytes of files grouped by their format, e.g. "fastq" or - "matrix." `fileCount` and `totalFileSize` compile these - figures across all file formats. Likewise, - `cellCountSummaries` counts cells and their associated - documents grouped by organ type, with `organTypes` listing - all referenced organs. - - Total counts of unique entities are also provided for other - entity types such as projects and tissue donors. These - values are not grouped/aggregated. - '''), - **responses.json_content( - schema.object( - additionalProperties=True, - organTypes=schema.array(str), - totalFileSize=float, - fileTypeSummaries=array_of_object_spec, - cellCountSummaries=array_of_object_spec, - donorCount=int, - fileCount=int, - labCount=int, - projectCount=int, - speciesCount=int, - specimenCount=int - ) - ) - } - }, - **repository_summary_spec - } -) -@app.route( - '/index/summary', - methods=['HEAD'], - spec={ - **repository_head_spec(for_summary=True), - **repository_summary_spec - } -) -def get_summary(): - """ - Returns a summary based on the filters passed on to the call. Based on the - ICGC endpoint. - :return: Returns a jsonified Summary API response - """ - request = app.current_request - query_params = request.query_params or {} - validate_params(query_params, - filters=str, - catalog=validate_catalog) - filters = query_params.get('filters', '{}') - validate_filters(filters) - return app.repository_controller.summary(catalog=app.catalog, - filters=filters, - authentication=request.authentication) - - -def manifest_route(*, fetch: bool, initiate: bool): - return app.route( - # The path parameter could be a token *or* an object key, but we don't - # want to complicate the API with this detail - ('/fetch' if fetch else '') - + ('/manifest/files' if initiate else '/manifest/files/{token}'), - # The initial PUT request is idempotent. - methods=['PUT' if initiate else 'GET'], - interactive=fetch, - cors=True, - path_spec=None if initiate else { - 'parameters': [ - params.path('token', str, description=fd(''' - An opaque string representing the manifest preparation job - ''')) - ] - }, - spec={ - 'tags': ['Manifests'], - 'summary': - ( - 'Initiate the preparation of a manifest' - if initiate else - 'Determine status of a manifest preparation job' - ) + ( - ' via XHR' if fetch else '' - ), - 'description': fd(''' - Create a manifest preparation job, returning either - - - a 301 redirect to the URL of the status of that job or - - - a 302 redirect to the URL of an already prepared manifest. - - This endpoint is not suitable for interactive use via the - Swagger UI. Please use [PUT /fetch/manifest/files][1] instead. - - [1]: #operations-Manifests-put_fetch_manifest_files - ''') + parameter_hoisting_note('PUT', '/manifest/files', 'PUT') - if initiate and not fetch else - fd(''' - Check on the status of an ongoing manifest preparation job, - returning either - - - a 301 redirect to this endpoint if the manifest job is still - running - - - a 302 redirect to the URL of the completed manifest. - - This endpoint is not suitable for interactive use via the - Swagger UI. Please use [GET /fetch/manifest/files/{token}][1] - instead. - - [1]: #operations-Manifests-get_fetch_manifest_files - ''') if not initiate and not fetch else fd(''' - Create a manifest preparation job, returning a 200 status - response whose JSON body emulates the HTTP headers that would be - found in a response to an equivalent request to the [PUT - /manifest/files][1] endpoint. - - Whenever client-side JavaScript code is used in a web - application to request the preparation of a manifest from Azul, - this endpoint should be used instead of [PUT - /manifest/files][1]. This way, the client can use XHR to make - the request, retaining full control over the handling of - redirects and enabling the client to bypass certain limitations - on the native handling of redirects in web browsers. For - example, most browsers ignore the `Retry-After` header in - redirect responses, causing them to prematurely exhaust the - upper limit on the number of consecutive redirects, before the - manifest generation job is done. - - [1]: #operations-Manifests-put_manifest_files - ''') + parameter_hoisting_note('PUT', '/fetch/manifest/files', 'PUT') - if initiate and fetch else - fd(''' - Check on the status of an ongoing manifest preparation job, - returning a 200 status response whose JSON body emulates the - HTTP headers that would be found in a response to an equivalent - request to the [GET /manifest/files/{token}][1] endpoint. - - Whenever client-side JavaScript code is used in a web - application to request the preparation of a manifest from Azul, - this endpoint should be used instead of [GET - /manifest/files/{token}][1]. This way, the client can use XHR to - make the request, retaining full control over the handling of - redirects and enabling the client to bypass certain limitations - on the native handling of redirects in web browsers. For - example, most browsers ignore the `Retry-After` header in - redirect responses, causing them to prematurely exhaust the - upper limit on the number of consecutive redirects, before the - manifest generation job is done. - - [1]: #operations-Manifests-get_manifest_files - '''), - 'parameters': [ - catalog_param_spec, - filters_param_spec, - params.query( - 'format', - schema.optional( - schema.enum( - *[ - format.value - for format in app.metadata_plugin.manifest_formats - ], - form=str - ) - ), - description=f''' - The desired format of the output. - - - `{ManifestFormat.compact.value}` (the default) for a compact, - tab-separated manifest - - - `{ManifestFormat.terra_pfb.value}` for a manifest in the [PFB - format][2]. This format is mainly used for exporting data to - Terra. - - - `{ManifestFormat.curl.value}` for a [curl configuration - file][3] manifest. This manifest can be used with the curl - program to download all the files listed in the manifest. - - - `{ManifestFormat.verbatim_jsonl.value}` for a verbatim - manifest in [JSONL][4] format. Each line contains an - unaltered metadata entity from the underlying repository. - - - `{ManifestFormat.verbatim_pfb.value}` for a verbatim - manifest in the [PFB format][2]. This format is mainly - used for exporting data to Terra. - - [1]: https://software.broadinstitute.org/firecloud/documentation/article?id=10954 - - [2]: https://github.com/uc-cdis/pypfb - - [3]: https://curl.haxx.se/docs/manpage.html#-K - - [4]: https://jsonlines.org/ - ''' - ) - ] if initiate else [], - 'responses': { - '301': { - 'description': fd(f''' - A redirect indicating that the manifest preparation job - {'has started' if initiate else 'is running'}. Wait for - the recommended number of seconds (see `Retry-After` - header) and then follow the redirect to check the status - of {'that job' if initiate else 'the job again'}. - '''), - 'headers': { - 'Location': { - 'description': fd(''' - The URL of the manifest preparation job at - ''') + fd('''the [`GET - /manifest/files/{token}`][2] endpoint. - - [2]: #operations-Manifests-get_fetch_manifest_files_token - ''') if initiate else fd(''' - The URL of this endpoint - '''), - 'schema': {'type': 'string', 'format': 'url'} - }, - 'Retry-After': { - 'description': fd(''' - The recommended number of seconds to wait before - requesting the URL specified in the `Location` - header - '''), - 'schema': {'type': 'string'} - } - } - }, - '302': { - 'description': fd(f''' - A redirect indicating that the manifest preparation job - is {'already' if initiate else 'now'} done. Immediately - follow the redirect to obtain the manifest contents. - - The response body contains, for a number of commonly - used shells, a command line suitable for downloading the - manifest. - '''), - 'headers': { - 'Location': { - 'description': fd(''' The URL of the manifest. - Clients should not make any assumptions about - any parts of the returned domain, except that - the scheme will be `https`. - '''), - 'schema': {'type': 'string', 'format': 'url'} - } - } - }, - **({} if initiate else { - '410': { - 'description': fd(''' - The manifest preparation job has expired. Request a - new preparation using the `PUT /manifest/files` - endpoint. - ''') - } - }) - } if not fetch else { - '200': { - 'description': fd(''' - When handling this response, clients should wait the - number of seconds given in the `Retry-After` property of - the response body and then make another XHR request to - the URL specified in the `Location` property. - - For a detailed description of these properties see the - documentation for the respective response headers - documented under ''') + (fd(''' - [PUT /manifest/files][1]. - - [1]: #operations-Manifests-put_manifest_files - ''') if initiate else fd(''' - [GET /manifest/files/{token}][1]. - - [1]: #operations-Manifests-get_manifest_files - ''')) + fd(''' - - Note: For a 200 status code response whose body has the - `Status` property set to 302, the `Location` property - may reference the [GET /manifest/files/{token}][2] - endpoint and that endpoint may return yet another - redirect, this time a genuine (not emulated) 302 status - redirect to the actual location of the manifest. - - [2]: #operations-Manifests-get_manifest_files - - Note: A 200 status response with a `Status` property of - 302 in its body additionally contains a `CommandLine` - property that lists, for a number of commonly used - shells, a command line suitable for downloading the - manifest. - '''), - **responses.json_content( - schema.object( - Status=int, - Location={'type': 'string', 'format': 'url'}, - **{'Retry-After': schema.optional(int)}, - CommandLine=schema.optional(schema.object(**{ - key: str - for key in CurlManifestGenerator.command_lines(url=furl(''), - file_name='', - authentication=None) - })) - ) - ), - } - } - - } - ) - - -@manifest_route(fetch=False, initiate=True) -def file_manifest(): - return _file_manifest(fetch=False) - - -@manifest_route(fetch=False, initiate=False) -def file_manifest_with_token(token: str): - return _file_manifest(fetch=False, token_or_key=token) - - -@manifest_route(fetch=True, initiate=True) -def fetch_file_manifest(): - return _file_manifest(fetch=True) - - -@manifest_route(fetch=True, initiate=False) -def fetch_file_manifest_with_token(token: str): - return _file_manifest(fetch=True, token_or_key=token) - - -def _file_manifest(fetch: bool, token_or_key: str | None = None): - request = app.current_request - query_params = request.query_params or {} - _hoist_parameters(query_params, request) - if token_or_key is None: - query_params.setdefault('filters', '{}') - # We list the `catalog` validator first so that the catalog is validated - # before any other potentially catalog-dependent validators are invoked - validate_params(query_params, - catalog=validate_catalog, - format=validate_manifest_format, - filters=validate_filters) - # Now that the catalog is valid, we can provide the default format that - # depends on it - default_format = app.metadata_plugin.manifest_formats[0].value - query_params.setdefault('format', default_format) - else: - validate_params(query_params) - return app.manifest_controller.get_manifest_async(query_params=query_params, - token_or_key=token_or_key, - fetch=fetch, - authentication=request.authentication) - - -@app.lambda_function(name=config.manifest_sfn) -def generate_manifest(event: AnyJSON, _context: LambdaContext): - assert isinstance(event, Mapping) - assert all(isinstance(k, str) for k in event.keys()) - return app.manifest_controller.get_manifest(event) - - -file_fqid_parameters_spec = [ - params.path( - 'file_uuid', - str, - description='The UUID of the file to be returned.'), - params.query( - 'version', - schema.optional(str), - description=fd(''' - The version of the file to be returned. File versions are opaque - strings with only one documented property: they can be - lexicographically compared with each other in order to determine - which version is more recent. If this parameter is omitted then the - most recent version of the file is returned. - ''') - ) -] - -repository_files_spec = { - 'tags': ['Repository'], - 'parameters': [ - catalog_param_spec, - *file_fqid_parameters_spec, - params.query( - 'fileName', - schema.optional(str), - description=fd(''' - The desired name of the file. The given value will be included - in the Content-Disposition header of the response. If absent, a - best effort to determine the file name from metadata will be - made. If that fails, the UUID of the file will be used instead. - ''') - ), - params.query( - 'wait', - schema.optional(int), - description=fd(''' - If 0, the client is responsible for honoring the waiting period - specified in the Retry-After response header. If 1, the server - will delay the response in order to consume as much of that - waiting period as possible. This parameter should only be set to - 1 by clients who can't honor the `Retry-After` header, - preventing them from quickly exhausting the maximum number of - redirects. If the server cannot wait the full amount, any amount - of wait time left will still be returned in the Retry-After - header of the response. - ''') - ), - params.query( - 'replica', - schema.optional(str), - description=fd(''' - If the underlying repository offers multiple replicas of the - requested file, use the specified replica. Otherwise, this - parameter is ignored. If absent, the only replica — for - repositories that don't support replication — or the default - replica — for those that do — will be used. - ''') - ), - params.query( - 'requestIndex', - schema.optional(int), - description='Do not use. Reserved for internal purposes.' - ), - params.query( - 'drsUri', - schema.optional(str), - description='Do not use. Reserved for internal purposes.' - ), - params.query('token', - schema.optional(str), - description='Reserved. Do not pass explicitly.') - ] -} - - -@app.route( - '/repository/files/{file_uuid}', - methods=['GET'], - interactive=False, - cors=True, - spec={ - **repository_files_spec, - 'summary': 'Redirect to a URL for downloading a given data file from the ' - 'underlying repository', - 'description': fd(''' - This endpoint is not suitable for interactive use via the Swagger - UI. Please use the [/fetch endpoint][1] instead. - - [1]: #operations-Repository-get_fetch_repository_files__file_uuid_ - '''), - 'responses': { - '301': { - 'description': fd(''' - A URL to the given file is still being prepared. Retry by - waiting the number of seconds specified in the `Retry-After` - header of the response and the requesting the URL specified - in the `Location` header. - '''), - 'headers': { - 'Location': responses.header(str, description=fd(''' - A URL pointing back at this endpoint, potentially with - different or additional request parameters. - ''')), - 'Retry-After': responses.header(int, description=fd(''' - Recommended number of seconds to wait before requesting - the URL specified in the `Location` header. The response - may carry this header even if server-side waiting was - requested via `wait=1`. - ''')) - } - }, - '302': { - 'description': fd(''' - The file can be downloaded from the URL returned in the - `Location` header. - '''), - 'headers': { - 'Location': responses.header(str, description=fd(''' - A URL that will yield the actual content of the file. - ''')), - 'Content-Disposition': responses.header(str, description=fd(''' - Set to a value that makes user agents download the file - instead of rendering it, suggesting a meaningful name - for the downloaded file stored on the user's file - system. The suggested file name is taken from the - `fileName` request parameter or, if absent, from - metadata describing the file. It generally does not - correlate with the path component of the URL returned in - the `Location` header. - ''')) - } - } - } - } -) -def repository_files(file_uuid: str) -> Response: - result = _repository_files(file_uuid, fetch=False) - status_code = result.pop('Status') - return Response(body='', - headers={k: str(v) for k, v in result.items()}, - status_code=status_code) - - -@app.route( - '/fetch/repository/files/{file_uuid}', - methods=['GET'], - cors=True, - spec={ - **repository_files_spec, - 'summary': 'Request a URL for downloading a given data file', - 'responses': { - '200': { - 'description': fd(f''' - Emulates the response code and headers of - {one(repository_files.path)} while bypassing the default - user agent behavior. Note that the status code of a - successful response will be 200 while the `Status` field of - its body will be 302. - - The response described here is intended to be processed by - client-side Javascript such that the emulated headers can be - handled in Javascript rather than relying on the native - implementation by the web browser. - '''), - **responses.json_content( - schema.object( - Status=int, - Location=str - ) - ) - } - } - } -) -def fetch_repository_files(file_uuid: str) -> Response: - body = _repository_files(file_uuid, fetch=True) - return Response(body=json.dumps(body), status_code=200) - - -def _repository_files(file_uuid: str, fetch: bool) -> MutableJSON: - request = app.current_request - query_params = request.query_params or {} - headers = request.headers - - # FIXME: Prevent duplicate filenames from files in different subgraphs by - # prepending the subgraph UUID to each filename when downloaded - # https://github.com/DataBiosphere/azul/issues/2682 - - catalog = app.catalog - return app.repository_controller.download_file(catalog=catalog, - fetch=fetch, - file_uuid=file_uuid, - query_params=query_params, - headers=headers, - authentication=request.authentication) - - -@app.route( - '/repository/sources', - methods=['GET'], - cors=True, - spec={ - 'summary': 'List available data sources', - 'tags': ['Repository'], - 'parameters': [catalog_param_spec], - 'responses': { - '200': { - 'description': fd(''' - List the sources the currently authenticated user is - authorized to access in the underlying data repository. - '''), - **responses.json_content( - schema.object(sources=schema.array( - schema.object( - sourceId=str, - sourceSpec=str - ) - )) - ) - } - } - } -) -def list_sources() -> Response: - validate_params(app.current_request.query_params or {}, - catalog=validate_catalog) - sources = app.repository_controller.list_sources(app.catalog, - app.current_request.authentication) - return Response(body={'sources': sources}, status_code=200) - - -def hash_url(url): - url_hash = hashlib.sha1(bytes(url, encoding='utf-8')).digest() - return base64.urlsafe_b64encode(url_hash).decode() - - -drs_spec_description = fd(''' - This is a partial implementation of the [DRS 1.0.0 spec][1]. Not all - features are implemented. This endpoint acts as a DRS-compliant proxy for - accessing files in the underlying repository. - - [1]: https://ga4gh.github.io/data-repository-service-schemas/preview/release/drs-1.0.0/docs/ - - Any errors encountered from the underlying repository are forwarded on as - errors from this endpoint. -''') - - -@app.route( - drs.drs_object_url_path(object_id='{file_uuid}'), - methods=['GET'], - enabled=config.is_dss_enabled(), - cors=True, - spec={ - 'summary': 'Get file DRS object', - 'tags': ['DRS'], - 'description': fd(''' - This endpoint returns object metadata, and a list of access methods - that can be used to fetch object bytes. - ''') + drs_spec_description, - 'parameters': file_fqid_parameters_spec, - 'responses': { - '200': { - 'description': fd( - ''' - A DRS object is returned. Two [`AccessMethod`s][1] are - included: - - [1]: {link} - - {access_methods} - - If the object is not immediately ready, an `access_id` will - be returned instead of an `access_url`. - ''', - access_methods='\n'.join(f'- {am!s}' for am in AccessMethod), - link='https://ga4gh.github.io/data-repository-service-schemas' - '/preview/release/drs-1.1.0/docs/#_accessmethod'), - **app.drs_controller.get_object_response_schema() - } - } - } -) -def get_data_object(file_uuid): - """ - Return a DRS data object dictionary for a given DSS file UUID and version. - - If the file is already checked out, we can return a drs_object with a URL - immediately. Otherwise, we need to send the request through the /access - endpoint. - """ - query_params = app.current_request.query_params or {} - validate_params(query_params, version=str) - return app.drs_controller.get_object(file_uuid, query_params) - - -@app.route( - drs.drs_object_url_path(object_id='{file_uuid}', access_id='{access_id}'), - methods=['GET'], - enabled=config.is_dss_enabled(), - cors=True, - spec={ - 'summary': 'Get a file with an access ID', - 'description': fd(''' - This endpoint returns a URL that can be used to fetch the bytes of a - DRS object. - - This method only needs to be called when using an `AccessMethod` - that contains an `access_id`. - - An `access_id` is returned when the underlying file is not ready. - When the underlying repository is the DSS, the 202 response allowed - time for the DSS to do a checkout. - ''') + drs_spec_description, - 'parameters': [ - *file_fqid_parameters_spec, - params.path('access_id', str, description='Access ID returned from a previous request') - ], - 'responses': { - '202': { - 'description': fd(''' - This response is issued if the object is not yet ready. - Respect the `Retry-After` header, then try again. - '''), - 'headers': { - 'Retry-After': responses.header(str, description=fd(''' - Recommended number of seconds to wait before requesting - the URL specified in the Location header. - ''')) - } - }, - '200': { - 'description': fd(''' - The object is ready. The URL is in the response object. - '''), - **responses.json_content(schema.object(url=str)) - } - }, - 'tags': ['DRS'] - } -) -def get_data_object_access(file_uuid, access_id): - query_params = app.current_request.query_params or {} - validate_params(query_params, version=str) - return app.drs_controller.get_object_access(access_id, file_uuid, query_params) - - -@app.route( - drs.dos_object_url_path('{file_uuid}'), - methods=['GET'], - enabled=config.is_dss_enabled(), - cors=True, - spec=deprecated_spec -) -def dos_get_data_object(file_uuid): - """ - Return a DRS data object dictionary for a given DSS file UUID and version. - """ - request = app.current_request - query_params = request.query_params or {} - validate_params(query_params, - version=str, - catalog=validate_catalog) - catalog = app.catalog - file_version = query_params.get('version') - return app.drs_controller.dos_get_object(catalog, - file_uuid, - file_version, - request.authentication) diff --git a/lambdas/service/openapi.json b/lambdas/service/openapi.json deleted file mode 100644 index cd07900746..0000000000 --- a/lambdas/service/openapi.json +++ /dev/null @@ -1,11835 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "azul-service-dev", - "version": "13.0", - "description": "\n# Overview\n\nAzul is a REST web service for querying metadata associated with\nboth experimental and analysis data from a data repository. In order\nto deliver response times that make it suitable for interactive use\ncases, the set of metadata properties that it exposes for sorting,\nfiltering, and aggregation is limited. Azul provides a uniform view\nof the metadata over a range of diverse schemas, effectively\nshielding clients from changes in the schemas as they occur over\ntime. It does so, however, at the expense of detail in the set of\nmetadata properties it exposes and in the accuracy with which it\naggregates them.\n\nAzul denormalizes and aggregates metadata into several different\nindices for selected entity types. Metadata entities can be queried\nusing the [Index](#operations-tag-Index) endpoints.\n\nA set of indices forms a catalog. There is a default catalog called\n`dcp2` which will be used unless a\ndifferent catalog name is specified using the `catalog` query\nparameter. Metadata from different catalogs is completely\nindependent: a response obtained by querying one catalog does not\nnecessarily correlate to a response obtained by querying another\none. Two catalogs can contain metadata from the same sources or\ndifferent sources. It is only guaranteed that the body of a\nresponse by any given endpoint adheres to one schema,\nindependently of which catalog was specified in the request.\n\nAzul provides the ability to download data and metadata via the\n[Manifests](#operations-tag-Manifests) endpoints. The\n`curl` format manifests can be used to\ndownload data files. Other formats provide various views of the\nmetadata. Manifests can be generated for a selection of files using\nfilters. These filters are interchangeable with the filters used by\nthe [Index](#operations-tag-Index) endpoints.\n\nAzul also provides a [summary](#operations-Index-get_index_summary)\nview of indexed data.\n\n## Data model\n\nAny index, when queried, returns a JSON array of hits. Each hit\nrepresents a metadata entity. Nested in each hit is a summary of the\nproperties of entities associated with the hit. An entity is\nassociated either by a direct edge in the original metadata graph,\nor indirectly as a series of edges. The nested properties are\ngrouped by the type of the associated entity. The properties of all\ndata files associated with a particular sample, for example, are\nlisted under `hits[*].files` in a `/index/samples` response. It is\nimportant to note that while each _hit_ represents a discrete\nentity, the properties nested within that hit are the result of an\naggregation over potentially many associated entities.\n\nTo illustrate this, consider a data file that is part of two\nprojects (a project is a group of related experiments, typically by\none laboratory, institution or consortium). Querying the `files`\nindex for this file yields a hit looking something like:\n\n```\n{\n \"projects\": [\n {\n \"projectTitle\": \"Project One\"\n \"laboratory\": ...,\n ...\n },\n {\n \"projectTitle\": \"Project Two\"\n \"laboratory\": ...,\n ...\n }\n ],\n \"files\": [\n {\n \"format\": \"pdf\",\n \"name\": \"Team description.pdf\",\n ...\n }\n ]\n}\n```\n\nThis example hit contains two kinds of nested entities (a hit in an\nactual Azul response will contain more): There are the two projects\nentities, and the file itself. These nested entities contain\nselected metadata properties extracted in a consistent way. This\nmakes filtering and sorting simple.\n\nAlso notice that there is only one file. When querying a particular\nindex, the corresponding entity will always be a singleton like\nthis.\n\n\n## Contact us\n\nFor technical support please file an issue at\n[GitHub](https://github.com/DataBiosphere/azul/issues) or email\n`azul-group@ucsc.edu`. To report a security concern or misconduct please email\n`azul-group@ucsc.edu`.\n" - }, - "tags": [ - { - "name": "Index", - "description": "\nQuery the indices for entities of interest\n" - }, - { - "name": "Manifests", - "description": "\nComplete listing of files matching a given filter in TSV and\nother formats\n" - }, - { - "name": "Repository", - "description": "\nAccess to data files in the underlying repository\n" - }, - { - "name": "Auxiliary", - "description": "\nDescribes various aspects of the Azul service\n" - } - ], - "paths": { - "/": { - "get": { - "summary": "Redirect to the Swagger UI for interactive use of this REST API", - "tags": [ - "Auxiliary" - ], - "responses": { - "301": { - "description": "A redirect to the Swagger UI" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/swagger/index.html": { - "get": { - "summary": "The Swagger UI for interactive use of this REST API", - "tags": [ - "Auxiliary" - ], - "responses": { - "200": { - "description": "The response body is an HTML page containing the Swagger UI" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/swagger/swagger-initializer.js": { - "get": { - "summary": "Used internally by the Swagger UI", - "tags": [ - "Auxiliary" - ], - "responses": { - "200": { - "description": "The response body is JavaScript used internally by the Swagger UI" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/swagger/{file}": { - "parameters": [ - { - "name": "file", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "The name of a static file to be returned" - } - ], - "get": { - "summary": "Static files needed for the Swagger UI", - "tags": [ - "Auxiliary" - ], - "responses": { - "200": { - "description": "The response body is the contents of the requested file" - }, - "404": { - "description": "The requested file does not exist" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/openapi.json": { - "get": { - "summary": "Return OpenAPI specifications for this REST API", - "description": "\nThis endpoint returns the [OpenAPI specifications]'\n(https://github.com/OAI/OpenAPI-Specification) for this REST\nAPI. These are the specifications used to generate the page\nyou are visiting now.\n", - "responses": { - "200": { - "description": "200 response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "openapi": { - "type": "string" - }, - "info": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "tags": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "servers": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "paths": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "components": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - }, - "required": [ - "openapi", - "info", - "tags", - "servers", - "paths", - "components" - ], - "additionalProperties": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "tags": [ - "Auxiliary" - ] - } - }, - "/version": { - "get": { - "summary": "Describe current version of this REST API", - "tags": [ - "Auxiliary" - ], - "responses": { - "200": { - "description": "Version endpoint is reachable.", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "git": { - "type": "object", - "properties": { - "commit": { - "type": "string" - }, - "dirty": { - "type": "boolean" - } - }, - "required": [ - "commit", - "dirty" - ], - "additionalProperties": false - } - }, - "required": [ - "git" - ], - "additionalProperties": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/robots.txt": { - "get": { - "summary": "Robots Exclusion Protocol", - "tags": [ - "Auxiliary" - ], - "responses": { - "200": { - "description": "\nThe robots.txt resource according to\n[RFC9309](https://datatracker.ietf.org/doc/html/rfc9309)\n" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/health": { - "get": { - "summary": "Complete health check", - "description": "\nHealth check of the service REST API and all\nresources it depends on. This may take long time to complete\nand exerts considerable load on the API. For that reason it\nshould not be requested frequently or by automated\nmonitoring facilities that would be better served by the\n[`/health/fast`](#operations-Auxiliary-get_health_fast) or\n[`/health/cached`](#operations-Auxiliary-get_health_cached)\nendpoints.\n", - "responses": { - "200": { - "description": "\nThe checked resources\nare healthy.\n\nThe response consists of the following keys:\n\n* `other_lambdas` \nIndicates whether the companion REST API responds to HTTP requests.\n* `queues` \nReturns information about the SQS queues used by the indexer and the\nmirror.\n* `progress` \nThe number of Data Store bundles pending to be indexed and the number\nof index documents in need of updating.\n* `api_endpoints` \nIndicates whether important service API endpoints are operational.\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`true`.\n\n\nAll of the nested `up` keys\nare `true`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "other_lambdas": {}, - "queues": {}, - "progress": {}, - "api_endpoints": {}, - "elasticsearch": {}, - "up": true - } - } - } - }, - "503": { - "description": "\nAt least one of the checked resources\nis not healthy.\n\nThe response consists of the following keys:\n\n* `other_lambdas` \nIndicates whether the companion REST API responds to HTTP requests.\n* `queues` \nReturns information about the SQS queues used by the indexer and the\nmirror.\n* `progress` \nThe number of Data Store bundles pending to be indexed and the number\nof index documents in need of updating.\n* `api_endpoints` \nIndicates whether important service API endpoints are operational.\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`false`.\n\n\nAt least one of the nested `up` keys\nis `false`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "other_lambdas": {}, - "queues": {}, - "progress": {}, - "api_endpoints": {}, - "elasticsearch": {}, - "up": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "tags": [ - "Auxiliary" - ] - } - }, - "/health/basic": { - "get": { - "summary": "Basic health check", - "description": "\nHealth check of only the REST API itself, excluding other\nresources that it depends on. A 200 response indicates that\nthe service is reachable via HTTP(S) but nothing\nmore.\n", - "responses": { - "200": { - "description": "\nThe checked resources\nare healthy.\n\nThe response consists of the following keys:\n\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`true`.\n\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "up": true - } - } - } - }, - "503": { - "description": "\nAt least one of the checked resources\nis not healthy.\n\nThe response consists of the following keys:\n\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`false`.\n\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "up": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "tags": [ - "Auxiliary" - ] - } - }, - "/health/cached": { - "get": { - "summary": "Cached health check for continuous monitoring", - "description": "\nReturn a cached copy of the\n[`/health/fast`](#operations-Auxiliary-get_health_fast)\nresponse. This endpoint is optimized for continuously\nrunning, distributed health monitors such as Route 53 health\nchecks. The cache ensures that the service is not\noverloaded by these types of health monitors. The cache is\nupdated every minute.\n", - "responses": { - "200": { - "description": "\nThe checked resources\nare healthy.\n\nThe response consists of the following keys:\n\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `api_endpoints` \nIndicates whether important service API endpoints are operational.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`true`.\n\n\nAll of the nested `up` keys\nare `true`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "elasticsearch": {}, - "api_endpoints": {}, - "up": true - } - } - } - }, - "503": { - "description": "\nAt least one of the checked resources\nis not healthy.\n\nThe response consists of the following keys:\n\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `api_endpoints` \nIndicates whether important service API endpoints are operational.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`false`.\n\n\nAt least one of the nested `up` keys\nis `false`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "elasticsearch": {}, - "api_endpoints": {}, - "up": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "tags": [ - "Auxiliary" - ] - } - }, - "/health/fast": { - "get": { - "summary": "Fast health check", - "description": "\nPerformance-optimized health check of the REST API and other\ncritical resources tht it depends on. This endpoint can be\nrequested more frequently than\n[`/health`](#operations-Auxiliary-get_health) but\nperiodically scheduled, automated requests should be made to\n[`/health/cached`](#operations-Auxiliary-get_health_cached).\n", - "responses": { - "200": { - "description": "\nThe checked resources\nare healthy.\n\nThe response consists of the following keys:\n\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `api_endpoints` \nIndicates whether important service API endpoints are operational.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`true`.\n\n\nAll of the nested `up` keys\nare `true`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "elasticsearch": {}, - "api_endpoints": {}, - "up": true - } - } - } - }, - "503": { - "description": "\nAt least one of the checked resources\nis not healthy.\n\nThe response consists of the following keys:\n\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `api_endpoints` \nIndicates whether important service API endpoints are operational.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`false`.\n\n\nAt least one of the nested `up` keys\nis `false`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "elasticsearch": {}, - "api_endpoints": {}, - "up": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "tags": [ - "Auxiliary" - ] - } - }, - "/health/{keys}": { - "parameters": [ - { - "name": "keys", - "in": "path", - "required": true, - "schema": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "api_endpoints", - "elasticsearch", - "other_lambdas", - "progress", - "queues" - ] - } - }, - "description": "\nA comma-separated list of keys selecting the health\nchecks to be performed. Each key corresponds to an\nentry in the response.\n" - } - ], - "get": { - "summary": "Selective health check", - "description": "\nThis endpoint allows clients to request a health check on a\nspecific set of resources. Each resource is identified by a\n*key*, the same key under which the resource appears in a\n[`/health`](#operations-Auxiliary-get_health) response.\n", - "responses": { - "200": { - "description": "\nThe checked resources\nare healthy.\n\nThe response consists of the following keys:\n\n* `other_lambdas` \nIndicates whether the companion REST API responds to HTTP requests.\n* `queues` \nReturns information about the SQS queues used by the indexer and the\nmirror.\n* `progress` \nThe number of Data Store bundles pending to be indexed and the number\nof index documents in need of updating.\n* `api_endpoints` \nIndicates whether important service API endpoints are operational.\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`true`.\n\n\nAll of the nested `up` keys\nare `true`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - true - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "other_lambdas": {}, - "queues": {}, - "progress": {}, - "api_endpoints": {}, - "elasticsearch": {}, - "up": true - } - } - } - }, - "503": { - "description": "\nAt least one of the checked resources\nis not healthy.\n\nThe response consists of the following keys:\n\n* `other_lambdas` \nIndicates whether the companion REST API responds to HTTP requests.\n* `queues` \nReturns information about the SQS queues used by the indexer and the\nmirror.\n* `progress` \nThe number of Data Store bundles pending to be indexed and the number\nof index documents in need of updating.\n* `api_endpoints` \nIndicates whether important service API endpoints are operational.\n* `elasticsearch` \nIndicates whether the Elasticsearch cluster is responsive.\n* `up` \nindicates the overall result of the health check\n\n\nThe top-level `up` key of the response is\n`false`.\n\n\nAt least one of the nested `up` keys\nis `false`.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": { - "type": "object", - "properties": { - "up": { - "type": "boolean", - "enum": [ - false - ] - } - }, - "required": [ - "up" - ], - "additionalProperties": true - } - }, - "example": { - "other_lambdas": {}, - "queues": {}, - "progress": {}, - "api_endpoints": {}, - "elasticsearch": {}, - "up": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "tags": [ - "Auxiliary" - ] - } - }, - "/oauth2_redirect": { - "get": { - "summary": "Destination endpoint for Google OAuth 2.0 redirects", - "tags": [ - "Auxiliary" - ], - "responses": { - "200": { - "description": "\nThe response body is HTML page with a script that extracts\nthe access token and redirects back to the Swagger UI.\n" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/index/catalogs": { - "get": { - "summary": "List all available catalogs.", - "tags": [ - "Index" - ], - "responses": { - "200": { - "description": "\nThe name of the default catalog and a list of all available\ncatalogs. For each catalog, the response includes the name\nof the atlas the catalog belongs to, a flag indicating\nwhether the catalog is for internal use only as well as the\nnames and types of plugins currently active for the catalog.\nFor some plugins, the response includes additional\nconfiguration properties, such as the sources used by the\nrepository plugin to populate the catalog or the set of\navailable [indices][1].\n\n[1]: #operations-Index-get_index__entity_type_\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "default_catalog": { - "type": "string" - }, - "catalogs": { - "type": "object", - "properties": {}, - "additionalProperties": { - "type": "object", - "properties": { - "atlas": { - "type": "string" - }, - "internal": { - "type": "boolean" - }, - "plugins": { - "type": "object", - "properties": {}, - "additionalProperties": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "sources": { - "type": "array", - "items": { - "type": "string" - } - }, - "indices": { - "type": "object", - "properties": {}, - "additionalProperties": { - "type": "object", - "properties": { - "default_sort": { - "type": "string" - }, - "default_order": { - "type": "string" - } - }, - "required": [ - "default_sort", - "default_order" - ], - "additionalProperties": false - } - } - }, - "required": [ - "name" - ], - "additionalProperties": false - } - } - }, - "required": [ - "atlas", - "internal", - "plugins" - ], - "additionalProperties": false - } - } - }, - "required": [ - "default_catalog", - "catalogs" - ], - "additionalProperties": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/index/{entity_type}/{entity_id}": { - "get": { - "summary": "Detailed information on a particular entity.", - "tags": [ - "Index" - ], - "parameters": [ - { - "name": "catalog", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "dcp2" - ], - "default": "dcp2" - }, - "description": "The name of the catalog to query." - }, - { - "name": "entity_type", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "The type of the desired entity" - }, - { - "name": "entity_id", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "The UUID of the desired entity" - } - ], - "responses": { - "200": { - "description": "\nThis response describes a single entity. To search the index\nfor multiple entities, see the [corresponding search\nendpoint](#operations-Index-get_index__entity_type_).\n\nThe properties that are common to all entity types are\nlisted in the schema below; however, additional properties\nmay be present for certain entity types. With the exception\nof the entity's unique identifier, all properties are\narrays, even in cases where only one value is present.\n\nThe structures of the objects within these arrays are not\nperfectly consistent, since they may represent either\nsingleton entities or aggregations depending on context.\n\nFor example, any biomaterial that yields a cell suspension\nwhich yields a sequence file will be considered a \"sample\".\nTherefore, the `samples` field is polymorphic, and each\nsample may be either a specimen, an organoid, or a cell line\n(the field `sampleEntityType` can be used to discriminate\nbetween these cases).\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "protocols": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "entryId": { - "type": "string" - }, - "sources": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "samples": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "specimens": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "cellLines": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "donorOrganisms": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "organoids": { - "type": "array", - "items": { - "type": "string" - } - }, - "cellSuspensions": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - } - }, - "required": [ - "protocols", - "entryId", - "sources", - "samples", - "specimens", - "cellLines", - "donorOrganisms", - "organoids", - "cellSuspensions" - ], - "additionalProperties": true - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/index/{entity_type}": { - "head": { - "summary": "Perform a query without returning its result.", - "tags": [ - "Index" - ], - "responses": { - "200": { - "description": "\nThe HEAD method can be used to test whether an index is\noperational, or to check the validity of query parameters\nfor the [GET method](#operations-Index-get_index__entity_type_).\n" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "parameters": [ - { - "name": "catalog", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "dcp2" - ], - "default": "dcp2" - }, - "description": "The name of the catalog to query." - }, - { - "name": "filters", - "in": "query", - "required": false, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "accessions": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "namespace": { - "type": "string", - "nullable": true - }, - "accession": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateLastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateSubmissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateUpdateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "assayType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "biologicalSex": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bionetworkName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleUuid": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "cellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "cellLineType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contactName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contentDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "dataUseRestriction": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "developmentStage": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "donorCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "donorDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "duosId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "effectiveCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "effectiveOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "entryId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileFormat": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileSize": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "fileSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "genusSpecies": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "institution": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "instrumentManufacturerModel": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isIntermediate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isTissueAtlasProject": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "laboratory": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "lastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "libraryConstructionApproach": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "matrixCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "modelOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "modelOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "nucleicAcidSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organ": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAge": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "unit": { - "type": "string" - } - }, - "required": [ - "value", - "unit" - ], - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAgeRange": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "contains": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - ] - } - } - }, - "required": [ - "contains" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "intersects": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "intersects" - ], - "additionalProperties": false - } - ] - }, - "pairedEnd": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "preservationMethod": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "project": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectEstimatedCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "projectId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "publicationTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleEntityType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "selectedCellType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceSpec": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "submissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "tissueAtlas": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "atlas": { - "type": "string", - "nullable": true - }, - "version": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "updateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "workflow": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "accessible": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - } - }, - "default": "{}", - "example": { - "cellCount": { - "within": [ - [ - 10000, - 1000000000 - ] - ] - } - } - } - } - }, - "description": "\nCriteria to filter entities from the search results.\n\nEach filter consists of a field name, a relation (relational operator),\nand an array of field values. The available relations are \"is\",\n\"within\", \"contains\", and \"intersects\". Multiple filters are combined\nusing \"and\" logic. An entity must match all filters to be included in\nthe response. How multiple field values within a single filter are\ncombined depends on the relation.\n\nFor the \"is\" relation, multiple values are combined using \"or\" logic.\nFor example, `{\"fileFormat\": {\"is\": [\"fastq\", \"fastq.gz\"]}}` selects\nentities where the file format is either \"fastq\" or \"fastq.gz\". For the\n\"within\", \"intersects\", and \"contains\" relations, the field values must\ncome in nested pairs specifying upper and lower bounds, and multiple\npairs are combined using \"and\" logic. For example, `{\"donorCount\":\n{\"within\": [[1,5], [5,10]]}}` selects entities whose donor organism\ncount falls within both ranges, i.e., is exactly 5.\n\nThe accessions field supports filtering for a specific accession and/or\nnamespace within a project. For example, `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\"}]}}` will filter for projects that have an\n`array_express` accession. Similarly, `{\"accessions\": {\"is\": [\n{\"accession\":\"ERP112843\"}]}}` will filter for projects that have the\naccession `ERP112843` while `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\", \"accession\": \"E-AAAA-00\"}]}}` will filter\nfor projects that match both values.\n\nThe organismAge field is special in that it contains two property keys:\nvalue and unit. For example, `{\"organismAge\": {\"is\": [{\"value\": \"20\",\n\"unit\": \"year\"}]}}`. Both keys are required. `{\"organismAge\": {\"is\":\n[null]}}` selects entities that have no organism age.\n\nSupported field names are: accessions, aggregateLastModifiedDate, aggregateSubmissionDate, aggregateUpdateDate, assayType, biologicalSex, bionetworkName, bundleUuid, bundleVersion, cellCount, cellLineType, contactName, contentDescription, dataUseRestriction, developmentStage, donorCount, donorDisease, duosId, effectiveCellCount, effectiveOrgan, entryId, fileFormat, fileId, fileName, fileSize, fileSource, fileVersion, genusSpecies, institution, instrumentManufacturerModel, isIntermediate, isTissueAtlasProject, laboratory, lastModifiedDate, libraryConstructionApproach, matrixCellCount, modelOrgan, modelOrganPart, nucleicAcidSource, organ, organPart, organismAge, organismAgeRange, pairedEnd, preservationMethod, project, projectDescription, projectEstimatedCellCount, projectId, projectTitle, publicationTitle, sampleDisease, sampleEntityType, sampleId, selectedCellType, sourceId, sourceSpec, specimenDisease, specimenOrgan, specimenOrganPart, submissionDate, tissueAtlas, updateDate, workflow, accessible\n" - }, - { - "name": "entity_type", - "in": "path", - "required": true, - "schema": { - "type": "string", - "enum": [ - "bundles", - "files", - "projects", - "samples" - ] - }, - "description": "Which index to search." - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int64", - "minimum": 1, - "default": 10 - }, - "description": "\nThe number of hits included per page. The maximum size allowed\ndepends on the catalog and entity type.\n" - }, - { - "name": "sort", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "accessions", - "aggregateLastModifiedDate", - "aggregateSubmissionDate", - "aggregateUpdateDate", - "assayType", - "biologicalSex", - "bionetworkName", - "bundleUuid", - "bundleVersion", - "cellCount", - "cellLineType", - "contactName", - "contentDescription", - "dataUseRestriction", - "developmentStage", - "donorCount", - "donorDisease", - "duosId", - "effectiveCellCount", - "effectiveOrgan", - "entryId", - "fileFormat", - "fileId", - "fileName", - "fileSize", - "fileSource", - "fileVersion", - "genusSpecies", - "institution", - "instrumentManufacturerModel", - "isIntermediate", - "isTissueAtlasProject", - "laboratory", - "lastModifiedDate", - "libraryConstructionApproach", - "matrixCellCount", - "modelOrgan", - "modelOrganPart", - "nucleicAcidSource", - "organ", - "organPart", - "organismAge", - "organismAgeRange", - "pairedEnd", - "preservationMethod", - "project", - "projectDescription", - "projectEstimatedCellCount", - "projectId", - "projectTitle", - "publicationTitle", - "sampleDisease", - "sampleEntityType", - "sampleId", - "selectedCellType", - "sourceId", - "sourceSpec", - "specimenDisease", - "specimenOrgan", - "specimenOrganPart", - "submissionDate", - "tissueAtlas", - "updateDate", - "workflow" - ] - }, - "description": "\nThe field to sort the hits by. The default value depends on the\nentity type.\n" - }, - { - "name": "order", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ] - }, - "description": "\nThe ordering of the sorted hits, either ascending or descending.\nThe default value depends on the entity type.\n" - }, - { - "name": "search_before", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nUse the `next` and `previous` properties of the\n`pagination` response element to navigate between pages.\n", - "deprecated": true - }, - { - "name": "search_before_uid", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nUse the `next` and `previous` properties of the\n`pagination` response element to navigate between pages.\n", - "deprecated": true - }, - { - "name": "search_after", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nUse the `next` and `previous` properties of the\n`pagination` response element to navigate between pages.\n", - "deprecated": true - }, - { - "name": "search_after_uid", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nUse the `next` and `previous` properties of the\n`pagination` response element to navigate between pages.\n", - "deprecated": true - } - ] - }, - "post": { - "summary": "\nSearch an index for entities of interest\n, with filters provided in the request body.\n", - "deprecated": true, - "description": "\nAny of the query parameters documented below can alternatively be passed\nas a property of a JSON object in the body of the request. This can be\nuseful in case the value of the `filters` query parameter causes the URL\nto exceed the maximum length of 8192 characters, resulting in a 413\nRequest Entity Too Large response.\n\nThe request `GET /index/files?filters={\u2026}`, for example, is equivalent to `POST /index/files`\nwith the body `{\"filters\": \"{\u2026}\"}` in which any double quotes or\nbackslash characters inside `\u2026` are escaped with another backslash. That\nescaping is the requisite procedure for embedding one JSON structure\ninside another.\n\n\nNote that the Swagger UI can't currently be used to pass a body.\n\nPlease also note that this endpoint should be considered beta and\nmay change or disappear in the future. That is the reason for the\ndeprecation.\n", - "tags": [ - "Index" - ], - "parameters": [ - { - "name": "catalog", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "dcp2" - ], - "default": "dcp2" - }, - "description": "The name of the catalog to query." - }, - { - "name": "filters", - "in": "query", - "required": false, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "accessions": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "namespace": { - "type": "string", - "nullable": true - }, - "accession": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateLastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateSubmissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateUpdateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "assayType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "biologicalSex": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bionetworkName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleUuid": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "cellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "cellLineType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contactName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contentDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "dataUseRestriction": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "developmentStage": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "donorCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "donorDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "duosId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "effectiveCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "effectiveOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "entryId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileFormat": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileSize": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "fileSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "genusSpecies": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "institution": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "instrumentManufacturerModel": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isIntermediate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isTissueAtlasProject": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "laboratory": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "lastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "libraryConstructionApproach": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "matrixCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "modelOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "modelOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "nucleicAcidSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organ": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAge": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "unit": { - "type": "string" - } - }, - "required": [ - "value", - "unit" - ], - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAgeRange": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "contains": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - ] - } - } - }, - "required": [ - "contains" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "intersects": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "intersects" - ], - "additionalProperties": false - } - ] - }, - "pairedEnd": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "preservationMethod": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "project": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectEstimatedCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "projectId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "publicationTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleEntityType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "selectedCellType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceSpec": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "submissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "tissueAtlas": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "atlas": { - "type": "string", - "nullable": true - }, - "version": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "updateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "workflow": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "accessible": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - } - }, - "default": "{}", - "example": { - "cellCount": { - "within": [ - [ - 10000, - 1000000000 - ] - ] - } - } - } - } - }, - "description": "\nCriteria to filter entities from the search results.\n\nEach filter consists of a field name, a relation (relational operator),\nand an array of field values. The available relations are \"is\",\n\"within\", \"contains\", and \"intersects\". Multiple filters are combined\nusing \"and\" logic. An entity must match all filters to be included in\nthe response. How multiple field values within a single filter are\ncombined depends on the relation.\n\nFor the \"is\" relation, multiple values are combined using \"or\" logic.\nFor example, `{\"fileFormat\": {\"is\": [\"fastq\", \"fastq.gz\"]}}` selects\nentities where the file format is either \"fastq\" or \"fastq.gz\". For the\n\"within\", \"intersects\", and \"contains\" relations, the field values must\ncome in nested pairs specifying upper and lower bounds, and multiple\npairs are combined using \"and\" logic. For example, `{\"donorCount\":\n{\"within\": [[1,5], [5,10]]}}` selects entities whose donor organism\ncount falls within both ranges, i.e., is exactly 5.\n\nThe accessions field supports filtering for a specific accession and/or\nnamespace within a project. For example, `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\"}]}}` will filter for projects that have an\n`array_express` accession. Similarly, `{\"accessions\": {\"is\": [\n{\"accession\":\"ERP112843\"}]}}` will filter for projects that have the\naccession `ERP112843` while `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\", \"accession\": \"E-AAAA-00\"}]}}` will filter\nfor projects that match both values.\n\nThe organismAge field is special in that it contains two property keys:\nvalue and unit. For example, `{\"organismAge\": {\"is\": [{\"value\": \"20\",\n\"unit\": \"year\"}]}}`. Both keys are required. `{\"organismAge\": {\"is\":\n[null]}}` selects entities that have no organism age.\n\nSupported field names are: accessions, aggregateLastModifiedDate, aggregateSubmissionDate, aggregateUpdateDate, assayType, biologicalSex, bionetworkName, bundleUuid, bundleVersion, cellCount, cellLineType, contactName, contentDescription, dataUseRestriction, developmentStage, donorCount, donorDisease, duosId, effectiveCellCount, effectiveOrgan, entryId, fileFormat, fileId, fileName, fileSize, fileSource, fileVersion, genusSpecies, institution, instrumentManufacturerModel, isIntermediate, isTissueAtlasProject, laboratory, lastModifiedDate, libraryConstructionApproach, matrixCellCount, modelOrgan, modelOrganPart, nucleicAcidSource, organ, organPart, organismAge, organismAgeRange, pairedEnd, preservationMethod, project, projectDescription, projectEstimatedCellCount, projectId, projectTitle, publicationTitle, sampleDisease, sampleEntityType, sampleId, selectedCellType, sourceId, sourceSpec, specimenDisease, specimenOrgan, specimenOrganPart, submissionDate, tissueAtlas, updateDate, workflow, accessible\n" - }, - { - "name": "entity_type", - "in": "path", - "required": true, - "schema": { - "type": "string", - "enum": [ - "bundles", - "files", - "projects", - "samples" - ] - }, - "description": "Which index to search." - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int64", - "minimum": 1, - "default": 10 - }, - "description": "\nThe number of hits included per page. The maximum size allowed\ndepends on the catalog and entity type.\n" - }, - { - "name": "sort", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "accessions", - "aggregateLastModifiedDate", - "aggregateSubmissionDate", - "aggregateUpdateDate", - "assayType", - "biologicalSex", - "bionetworkName", - "bundleUuid", - "bundleVersion", - "cellCount", - "cellLineType", - "contactName", - "contentDescription", - "dataUseRestriction", - "developmentStage", - "donorCount", - "donorDisease", - "duosId", - "effectiveCellCount", - "effectiveOrgan", - "entryId", - "fileFormat", - "fileId", - "fileName", - "fileSize", - "fileSource", - "fileVersion", - "genusSpecies", - "institution", - "instrumentManufacturerModel", - "isIntermediate", - "isTissueAtlasProject", - "laboratory", - "lastModifiedDate", - "libraryConstructionApproach", - "matrixCellCount", - "modelOrgan", - "modelOrganPart", - "nucleicAcidSource", - "organ", - "organPart", - "organismAge", - "organismAgeRange", - "pairedEnd", - "preservationMethod", - "project", - "projectDescription", - "projectEstimatedCellCount", - "projectId", - "projectTitle", - "publicationTitle", - "sampleDisease", - "sampleEntityType", - "sampleId", - "selectedCellType", - "sourceId", - "sourceSpec", - "specimenDisease", - "specimenOrgan", - "specimenOrganPart", - "submissionDate", - "tissueAtlas", - "updateDate", - "workflow" - ] - }, - "description": "\nThe field to sort the hits by. The default value depends on the\nentity type.\n" - }, - { - "name": "order", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ] - }, - "description": "\nThe ordering of the sorted hits, either ascending or descending.\nThe default value depends on the entity type.\n" - }, - { - "name": "search_before", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nUse the `next` and `previous` properties of the\n`pagination` response element to navigate between pages.\n", - "deprecated": true - }, - { - "name": "search_before_uid", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nUse the `next` and `previous` properties of the\n`pagination` response element to navigate between pages.\n", - "deprecated": true - }, - { - "name": "search_after", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nUse the `next` and `previous` properties of the\n`pagination` response element to navigate between pages.\n", - "deprecated": true - }, - { - "name": "search_after_uid", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nUse the `next` and `previous` properties of the\n`pagination` response element to navigate between pages.\n", - "deprecated": true - } - ], - "responses": { - "200": { - "description": "\nPaginated list of entities that meet the search criteria\n(\"hits\"). The structure of these hits is documented under\nthe [corresponding endpoint for a specific\nentity](#operations-Index-get_index__entity_type___entity_id_).\n\nThe `pagination` section describes the total number of hits\nand total number of pages, as well as user-supplied search\nparameters for page size and sorting behavior. It also\nprovides links for navigating forwards and backwards between\npages of results.\n\nThe `termFacets` section tabulates the occurrence of unique\nvalues within nested fields of the `hits` section across all\nentities meeting the filter criteria (this includes entities\nnot listed on the current page, meaning that this section\nwill be invariable across all pages from the same search).\nNot every nested field is tabulated, but the set of\ntabulated fields is consistent between entity types.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "hits": { - "type": "array", - "items": { - "type": "object", - "properties": { - "protocols": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "entryId": { - "type": "string" - }, - "sources": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "samples": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "specimens": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "cellLines": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "donorOrganisms": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "organoids": { - "type": "array", - "items": { - "type": "string" - } - }, - "cellSuspensions": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - } - }, - "required": [ - "protocols", - "entryId", - "sources", - "samples", - "specimens", - "cellLines", - "donorOrganisms", - "organoids", - "cellSuspensions" - ], - "additionalProperties": true - } - }, - "pagination": { - "type": "object", - "properties": {}, - "additionalProperties": true - }, - "termFacets": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "required": [ - "hits", - "pagination", - "termFacets" - ], - "additionalProperties": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - }, - "get": { - "summary": "\nSearch an index for entities of interest\n.\n", - "deprecated": false, - "description": "", - "tags": [ - "Index" - ], - "parameters": [ - { - "name": "catalog", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "dcp2" - ], - "default": "dcp2" - }, - "description": "The name of the catalog to query." - }, - { - "name": "filters", - "in": "query", - "required": false, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "accessions": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "namespace": { - "type": "string", - "nullable": true - }, - "accession": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateLastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateSubmissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateUpdateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "assayType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "biologicalSex": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bionetworkName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleUuid": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "cellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "cellLineType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contactName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contentDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "dataUseRestriction": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "developmentStage": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "donorCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "donorDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "duosId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "effectiveCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "effectiveOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "entryId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileFormat": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileSize": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "fileSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "genusSpecies": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "institution": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "instrumentManufacturerModel": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isIntermediate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isTissueAtlasProject": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "laboratory": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "lastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "libraryConstructionApproach": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "matrixCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "modelOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "modelOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "nucleicAcidSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organ": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAge": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "unit": { - "type": "string" - } - }, - "required": [ - "value", - "unit" - ], - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAgeRange": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "contains": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - ] - } - } - }, - "required": [ - "contains" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "intersects": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "intersects" - ], - "additionalProperties": false - } - ] - }, - "pairedEnd": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "preservationMethod": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "project": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectEstimatedCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "projectId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "publicationTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleEntityType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "selectedCellType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceSpec": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "submissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "tissueAtlas": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "atlas": { - "type": "string", - "nullable": true - }, - "version": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "updateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "workflow": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "accessible": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - } - }, - "default": "{}", - "example": { - "cellCount": { - "within": [ - [ - 10000, - 1000000000 - ] - ] - } - } - } - } - }, - "description": "\nCriteria to filter entities from the search results.\n\nEach filter consists of a field name, a relation (relational operator),\nand an array of field values. The available relations are \"is\",\n\"within\", \"contains\", and \"intersects\". Multiple filters are combined\nusing \"and\" logic. An entity must match all filters to be included in\nthe response. How multiple field values within a single filter are\ncombined depends on the relation.\n\nFor the \"is\" relation, multiple values are combined using \"or\" logic.\nFor example, `{\"fileFormat\": {\"is\": [\"fastq\", \"fastq.gz\"]}}` selects\nentities where the file format is either \"fastq\" or \"fastq.gz\". For the\n\"within\", \"intersects\", and \"contains\" relations, the field values must\ncome in nested pairs specifying upper and lower bounds, and multiple\npairs are combined using \"and\" logic. For example, `{\"donorCount\":\n{\"within\": [[1,5], [5,10]]}}` selects entities whose donor organism\ncount falls within both ranges, i.e., is exactly 5.\n\nThe accessions field supports filtering for a specific accession and/or\nnamespace within a project. For example, `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\"}]}}` will filter for projects that have an\n`array_express` accession. Similarly, `{\"accessions\": {\"is\": [\n{\"accession\":\"ERP112843\"}]}}` will filter for projects that have the\naccession `ERP112843` while `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\", \"accession\": \"E-AAAA-00\"}]}}` will filter\nfor projects that match both values.\n\nThe organismAge field is special in that it contains two property keys:\nvalue and unit. For example, `{\"organismAge\": {\"is\": [{\"value\": \"20\",\n\"unit\": \"year\"}]}}`. Both keys are required. `{\"organismAge\": {\"is\":\n[null]}}` selects entities that have no organism age.\n\nSupported field names are: accessions, aggregateLastModifiedDate, aggregateSubmissionDate, aggregateUpdateDate, assayType, biologicalSex, bionetworkName, bundleUuid, bundleVersion, cellCount, cellLineType, contactName, contentDescription, dataUseRestriction, developmentStage, donorCount, donorDisease, duosId, effectiveCellCount, effectiveOrgan, entryId, fileFormat, fileId, fileName, fileSize, fileSource, fileVersion, genusSpecies, institution, instrumentManufacturerModel, isIntermediate, isTissueAtlasProject, laboratory, lastModifiedDate, libraryConstructionApproach, matrixCellCount, modelOrgan, modelOrganPart, nucleicAcidSource, organ, organPart, organismAge, organismAgeRange, pairedEnd, preservationMethod, project, projectDescription, projectEstimatedCellCount, projectId, projectTitle, publicationTitle, sampleDisease, sampleEntityType, sampleId, selectedCellType, sourceId, sourceSpec, specimenDisease, specimenOrgan, specimenOrganPart, submissionDate, tissueAtlas, updateDate, workflow, accessible\n" - }, - { - "name": "entity_type", - "in": "path", - "required": true, - "schema": { - "type": "string", - "enum": [ - "bundles", - "files", - "projects", - "samples" - ] - }, - "description": "Which index to search." - }, - { - "name": "size", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int64", - "minimum": 1, - "default": 10 - }, - "description": "\nThe number of hits included per page. The maximum size allowed\ndepends on the catalog and entity type.\n" - }, - { - "name": "sort", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "accessions", - "aggregateLastModifiedDate", - "aggregateSubmissionDate", - "aggregateUpdateDate", - "assayType", - "biologicalSex", - "bionetworkName", - "bundleUuid", - "bundleVersion", - "cellCount", - "cellLineType", - "contactName", - "contentDescription", - "dataUseRestriction", - "developmentStage", - "donorCount", - "donorDisease", - "duosId", - "effectiveCellCount", - "effectiveOrgan", - "entryId", - "fileFormat", - "fileId", - "fileName", - "fileSize", - "fileSource", - "fileVersion", - "genusSpecies", - "institution", - "instrumentManufacturerModel", - "isIntermediate", - "isTissueAtlasProject", - "laboratory", - "lastModifiedDate", - "libraryConstructionApproach", - "matrixCellCount", - "modelOrgan", - "modelOrganPart", - "nucleicAcidSource", - "organ", - "organPart", - "organismAge", - "organismAgeRange", - "pairedEnd", - "preservationMethod", - "project", - "projectDescription", - "projectEstimatedCellCount", - "projectId", - "projectTitle", - "publicationTitle", - "sampleDisease", - "sampleEntityType", - "sampleId", - "selectedCellType", - "sourceId", - "sourceSpec", - "specimenDisease", - "specimenOrgan", - "specimenOrganPart", - "submissionDate", - "tissueAtlas", - "updateDate", - "workflow" - ] - }, - "description": "\nThe field to sort the hits by. The default value depends on the\nentity type.\n" - }, - { - "name": "order", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ] - }, - "description": "\nThe ordering of the sorted hits, either ascending or descending.\nThe default value depends on the entity type.\n" - }, - { - "name": "search_before", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nUse the `next` and `previous` properties of the\n`pagination` response element to navigate between pages.\n", - "deprecated": true - }, - { - "name": "search_before_uid", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nUse the `next` and `previous` properties of the\n`pagination` response element to navigate between pages.\n", - "deprecated": true - }, - { - "name": "search_after", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nUse the `next` and `previous` properties of the\n`pagination` response element to navigate between pages.\n", - "deprecated": true - }, - { - "name": "search_after_uid", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nUse the `next` and `previous` properties of the\n`pagination` response element to navigate between pages.\n", - "deprecated": true - } - ], - "responses": { - "200": { - "description": "\nPaginated list of entities that meet the search criteria\n(\"hits\"). The structure of these hits is documented under\nthe [corresponding endpoint for a specific\nentity](#operations-Index-get_index__entity_type___entity_id_).\n\nThe `pagination` section describes the total number of hits\nand total number of pages, as well as user-supplied search\nparameters for page size and sorting behavior. It also\nprovides links for navigating forwards and backwards between\npages of results.\n\nThe `termFacets` section tabulates the occurrence of unique\nvalues within nested fields of the `hits` section across all\nentities meeting the filter criteria (this includes entities\nnot listed on the current page, meaning that this section\nwill be invariable across all pages from the same search).\nNot every nested field is tabulated, but the set of\ntabulated fields is consistent between entity types.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "hits": { - "type": "array", - "items": { - "type": "object", - "properties": { - "protocols": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "entryId": { - "type": "string" - }, - "sources": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "samples": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "specimens": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "cellLines": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "donorOrganisms": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "organoids": { - "type": "array", - "items": { - "type": "string" - } - }, - "cellSuspensions": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - } - }, - "required": [ - "protocols", - "entryId", - "sources", - "samples", - "specimens", - "cellLines", - "donorOrganisms", - "organoids", - "cellSuspensions" - ], - "additionalProperties": true - } - }, - "pagination": { - "type": "object", - "properties": {}, - "additionalProperties": true - }, - "termFacets": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "required": [ - "hits", - "pagination", - "termFacets" - ], - "additionalProperties": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/index/summary": { - "head": { - "summary": "Perform a query without returning its result.", - "tags": [ - "Index" - ], - "responses": { - "200": { - "description": "\nThe HEAD method can be used to test whether an index is\noperational, or to check the validity of query parameters\nfor the [GET method](#operations-Index-get_index_summary).\n" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "parameters": [ - { - "name": "catalog", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "dcp2" - ], - "default": "dcp2" - }, - "description": "The name of the catalog to query." - }, - { - "name": "filters", - "in": "query", - "required": false, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "accessions": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "namespace": { - "type": "string", - "nullable": true - }, - "accession": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateLastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateSubmissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateUpdateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "assayType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "biologicalSex": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bionetworkName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleUuid": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "cellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "cellLineType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contactName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contentDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "dataUseRestriction": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "developmentStage": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "donorCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "donorDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "duosId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "effectiveCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "effectiveOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "entryId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileFormat": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileSize": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "fileSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "genusSpecies": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "institution": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "instrumentManufacturerModel": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isIntermediate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isTissueAtlasProject": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "laboratory": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "lastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "libraryConstructionApproach": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "matrixCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "modelOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "modelOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "nucleicAcidSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organ": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAge": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "unit": { - "type": "string" - } - }, - "required": [ - "value", - "unit" - ], - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAgeRange": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "contains": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - ] - } - } - }, - "required": [ - "contains" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "intersects": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "intersects" - ], - "additionalProperties": false - } - ] - }, - "pairedEnd": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "preservationMethod": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "project": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectEstimatedCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "projectId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "publicationTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleEntityType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "selectedCellType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceSpec": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "submissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "tissueAtlas": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "atlas": { - "type": "string", - "nullable": true - }, - "version": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "updateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "workflow": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "accessible": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - } - }, - "default": "{}", - "example": { - "cellCount": { - "within": [ - [ - 10000, - 1000000000 - ] - ] - } - } - } - } - }, - "description": "\nCriteria to filter entities from the search results.\n\nEach filter consists of a field name, a relation (relational operator),\nand an array of field values. The available relations are \"is\",\n\"within\", \"contains\", and \"intersects\". Multiple filters are combined\nusing \"and\" logic. An entity must match all filters to be included in\nthe response. How multiple field values within a single filter are\ncombined depends on the relation.\n\nFor the \"is\" relation, multiple values are combined using \"or\" logic.\nFor example, `{\"fileFormat\": {\"is\": [\"fastq\", \"fastq.gz\"]}}` selects\nentities where the file format is either \"fastq\" or \"fastq.gz\". For the\n\"within\", \"intersects\", and \"contains\" relations, the field values must\ncome in nested pairs specifying upper and lower bounds, and multiple\npairs are combined using \"and\" logic. For example, `{\"donorCount\":\n{\"within\": [[1,5], [5,10]]}}` selects entities whose donor organism\ncount falls within both ranges, i.e., is exactly 5.\n\nThe accessions field supports filtering for a specific accession and/or\nnamespace within a project. For example, `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\"}]}}` will filter for projects that have an\n`array_express` accession. Similarly, `{\"accessions\": {\"is\": [\n{\"accession\":\"ERP112843\"}]}}` will filter for projects that have the\naccession `ERP112843` while `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\", \"accession\": \"E-AAAA-00\"}]}}` will filter\nfor projects that match both values.\n\nThe organismAge field is special in that it contains two property keys:\nvalue and unit. For example, `{\"organismAge\": {\"is\": [{\"value\": \"20\",\n\"unit\": \"year\"}]}}`. Both keys are required. `{\"organismAge\": {\"is\":\n[null]}}` selects entities that have no organism age.\n\nSupported field names are: accessions, aggregateLastModifiedDate, aggregateSubmissionDate, aggregateUpdateDate, assayType, biologicalSex, bionetworkName, bundleUuid, bundleVersion, cellCount, cellLineType, contactName, contentDescription, dataUseRestriction, developmentStage, donorCount, donorDisease, duosId, effectiveCellCount, effectiveOrgan, entryId, fileFormat, fileId, fileName, fileSize, fileSource, fileVersion, genusSpecies, institution, instrumentManufacturerModel, isIntermediate, isTissueAtlasProject, laboratory, lastModifiedDate, libraryConstructionApproach, matrixCellCount, modelOrgan, modelOrganPart, nucleicAcidSource, organ, organPart, organismAge, organismAgeRange, pairedEnd, preservationMethod, project, projectDescription, projectEstimatedCellCount, projectId, projectTitle, publicationTitle, sampleDisease, sampleEntityType, sampleId, selectedCellType, sourceId, sourceSpec, specimenDisease, specimenOrgan, specimenOrganPart, submissionDate, tissueAtlas, updateDate, workflow, accessible\n" - } - ] - }, - "get": { - "summary": "Statistics on the data present across all entities.", - "responses": { - "200": { - "description": "\nCounts the total number and total size in bytes of assorted\nentities, subject to the provided filters.\n\n`fileTypeSummaries` provides the count and total size in\nbytes of files grouped by their format, e.g. \"fastq\" or\n\"matrix.\" `fileCount` and `totalFileSize` compile these\nfigures across all file formats. Likewise,\n`cellCountSummaries` counts cells and their associated\ndocuments grouped by organ type, with `organTypes` listing\nall referenced organs.\n\nTotal counts of unique entities are also provided for other\nentity types such as projects and tissue donors. These\nvalues are not grouped/aggregated.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "organTypes": { - "type": "array", - "items": { - "type": "string" - } - }, - "totalFileSize": { - "type": "number", - "format": "double" - }, - "fileTypeSummaries": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "cellCountSummaries": { - "type": "array", - "items": { - "type": "object", - "properties": {}, - "additionalProperties": true - } - }, - "donorCount": { - "type": "integer", - "format": "int64" - }, - "fileCount": { - "type": "integer", - "format": "int64" - }, - "labCount": { - "type": "integer", - "format": "int64" - }, - "projectCount": { - "type": "integer", - "format": "int64" - }, - "speciesCount": { - "type": "integer", - "format": "int64" - }, - "specimenCount": { - "type": "integer", - "format": "int64" - } - }, - "required": [ - "organTypes", - "totalFileSize", - "fileTypeSummaries", - "cellCountSummaries", - "donorCount", - "fileCount", - "labCount", - "projectCount", - "speciesCount", - "specimenCount" - ], - "additionalProperties": true - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - }, - "tags": [ - "Index" - ], - "parameters": [ - { - "name": "catalog", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "dcp2" - ], - "default": "dcp2" - }, - "description": "The name of the catalog to query." - }, - { - "name": "filters", - "in": "query", - "required": false, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "accessions": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "namespace": { - "type": "string", - "nullable": true - }, - "accession": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateLastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateSubmissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateUpdateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "assayType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "biologicalSex": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bionetworkName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleUuid": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "cellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "cellLineType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contactName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contentDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "dataUseRestriction": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "developmentStage": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "donorCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "donorDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "duosId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "effectiveCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "effectiveOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "entryId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileFormat": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileSize": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "fileSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "genusSpecies": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "institution": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "instrumentManufacturerModel": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isIntermediate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isTissueAtlasProject": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "laboratory": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "lastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "libraryConstructionApproach": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "matrixCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "modelOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "modelOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "nucleicAcidSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organ": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAge": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "unit": { - "type": "string" - } - }, - "required": [ - "value", - "unit" - ], - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAgeRange": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "contains": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - ] - } - } - }, - "required": [ - "contains" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "intersects": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "intersects" - ], - "additionalProperties": false - } - ] - }, - "pairedEnd": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "preservationMethod": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "project": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectEstimatedCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "projectId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "publicationTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleEntityType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "selectedCellType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceSpec": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "submissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "tissueAtlas": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "atlas": { - "type": "string", - "nullable": true - }, - "version": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "updateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "workflow": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "accessible": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - } - }, - "default": "{}", - "example": { - "cellCount": { - "within": [ - [ - 10000, - 1000000000 - ] - ] - } - } - } - } - }, - "description": "\nCriteria to filter entities from the search results.\n\nEach filter consists of a field name, a relation (relational operator),\nand an array of field values. The available relations are \"is\",\n\"within\", \"contains\", and \"intersects\". Multiple filters are combined\nusing \"and\" logic. An entity must match all filters to be included in\nthe response. How multiple field values within a single filter are\ncombined depends on the relation.\n\nFor the \"is\" relation, multiple values are combined using \"or\" logic.\nFor example, `{\"fileFormat\": {\"is\": [\"fastq\", \"fastq.gz\"]}}` selects\nentities where the file format is either \"fastq\" or \"fastq.gz\". For the\n\"within\", \"intersects\", and \"contains\" relations, the field values must\ncome in nested pairs specifying upper and lower bounds, and multiple\npairs are combined using \"and\" logic. For example, `{\"donorCount\":\n{\"within\": [[1,5], [5,10]]}}` selects entities whose donor organism\ncount falls within both ranges, i.e., is exactly 5.\n\nThe accessions field supports filtering for a specific accession and/or\nnamespace within a project. For example, `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\"}]}}` will filter for projects that have an\n`array_express` accession. Similarly, `{\"accessions\": {\"is\": [\n{\"accession\":\"ERP112843\"}]}}` will filter for projects that have the\naccession `ERP112843` while `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\", \"accession\": \"E-AAAA-00\"}]}}` will filter\nfor projects that match both values.\n\nThe organismAge field is special in that it contains two property keys:\nvalue and unit. For example, `{\"organismAge\": {\"is\": [{\"value\": \"20\",\n\"unit\": \"year\"}]}}`. Both keys are required. `{\"organismAge\": {\"is\":\n[null]}}` selects entities that have no organism age.\n\nSupported field names are: accessions, aggregateLastModifiedDate, aggregateSubmissionDate, aggregateUpdateDate, assayType, biologicalSex, bionetworkName, bundleUuid, bundleVersion, cellCount, cellLineType, contactName, contentDescription, dataUseRestriction, developmentStage, donorCount, donorDisease, duosId, effectiveCellCount, effectiveOrgan, entryId, fileFormat, fileId, fileName, fileSize, fileSource, fileVersion, genusSpecies, institution, instrumentManufacturerModel, isIntermediate, isTissueAtlasProject, laboratory, lastModifiedDate, libraryConstructionApproach, matrixCellCount, modelOrgan, modelOrganPart, nucleicAcidSource, organ, organPart, organismAge, organismAgeRange, pairedEnd, preservationMethod, project, projectDescription, projectEstimatedCellCount, projectId, projectTitle, publicationTitle, sampleDisease, sampleEntityType, sampleId, selectedCellType, sourceId, sourceSpec, specimenDisease, specimenOrgan, specimenOrganPart, submissionDate, tissueAtlas, updateDate, workflow, accessible\n" - } - ] - } - }, - "/manifest/files": { - "put": { - "tags": [ - "Manifests" - ], - "summary": "Initiate the preparation of a manifest", - "description": "\nCreate a manifest preparation job, returning either\n\n- a 301 redirect to the URL of the status of that job or\n\n- a 302 redirect to the URL of an already prepared manifest.\n\nThis endpoint is not suitable for interactive use via the\nSwagger UI. Please use [PUT /fetch/manifest/files][1] instead.\n\n[1]: #operations-Manifests-put_fetch_manifest_files\n\nAny of the query parameters documented below can alternatively be passed\nas a property of a JSON object in the body of the request. This can be\nuseful in case the value of the `filters` query parameter causes the URL\nto exceed the maximum length of 8192 characters, resulting in a 413\nRequest Entity Too Large response.\n\nThe request `PUT /manifest/files?filters={\u2026}`, for example, is equivalent to `PUT /manifest/files`\nwith the body `{\"filters\": \"{\u2026}\"}` in which any double quotes or\nbackslash characters inside `\u2026` are escaped with another backslash. That\nescaping is the requisite procedure for embedding one JSON structure\ninside another.\n", - "parameters": [ - { - "name": "catalog", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "dcp2" - ], - "default": "dcp2" - }, - "description": "The name of the catalog to query." - }, - { - "name": "filters", - "in": "query", - "required": false, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "accessions": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "namespace": { - "type": "string", - "nullable": true - }, - "accession": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateLastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateSubmissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateUpdateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "assayType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "biologicalSex": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bionetworkName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleUuid": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "cellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "cellLineType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contactName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contentDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "dataUseRestriction": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "developmentStage": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "donorCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "donorDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "duosId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "effectiveCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "effectiveOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "entryId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileFormat": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileSize": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "fileSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "genusSpecies": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "institution": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "instrumentManufacturerModel": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isIntermediate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isTissueAtlasProject": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "laboratory": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "lastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "libraryConstructionApproach": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "matrixCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "modelOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "modelOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "nucleicAcidSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organ": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAge": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "unit": { - "type": "string" - } - }, - "required": [ - "value", - "unit" - ], - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAgeRange": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "contains": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - ] - } - } - }, - "required": [ - "contains" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "intersects": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "intersects" - ], - "additionalProperties": false - } - ] - }, - "pairedEnd": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "preservationMethod": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "project": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectEstimatedCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "projectId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "publicationTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleEntityType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "selectedCellType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceSpec": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "submissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "tissueAtlas": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "atlas": { - "type": "string", - "nullable": true - }, - "version": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "updateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "workflow": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "accessible": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - } - }, - "default": "{}", - "example": { - "cellCount": { - "within": [ - [ - 10000, - 1000000000 - ] - ] - } - } - } - } - }, - "description": "\nCriteria to filter entities from the search results.\n\nEach filter consists of a field name, a relation (relational operator),\nand an array of field values. The available relations are \"is\",\n\"within\", \"contains\", and \"intersects\". Multiple filters are combined\nusing \"and\" logic. An entity must match all filters to be included in\nthe response. How multiple field values within a single filter are\ncombined depends on the relation.\n\nFor the \"is\" relation, multiple values are combined using \"or\" logic.\nFor example, `{\"fileFormat\": {\"is\": [\"fastq\", \"fastq.gz\"]}}` selects\nentities where the file format is either \"fastq\" or \"fastq.gz\". For the\n\"within\", \"intersects\", and \"contains\" relations, the field values must\ncome in nested pairs specifying upper and lower bounds, and multiple\npairs are combined using \"and\" logic. For example, `{\"donorCount\":\n{\"within\": [[1,5], [5,10]]}}` selects entities whose donor organism\ncount falls within both ranges, i.e., is exactly 5.\n\nThe accessions field supports filtering for a specific accession and/or\nnamespace within a project. For example, `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\"}]}}` will filter for projects that have an\n`array_express` accession. Similarly, `{\"accessions\": {\"is\": [\n{\"accession\":\"ERP112843\"}]}}` will filter for projects that have the\naccession `ERP112843` while `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\", \"accession\": \"E-AAAA-00\"}]}}` will filter\nfor projects that match both values.\n\nThe organismAge field is special in that it contains two property keys:\nvalue and unit. For example, `{\"organismAge\": {\"is\": [{\"value\": \"20\",\n\"unit\": \"year\"}]}}`. Both keys are required. `{\"organismAge\": {\"is\":\n[null]}}` selects entities that have no organism age.\n\nSupported field names are: accessions, aggregateLastModifiedDate, aggregateSubmissionDate, aggregateUpdateDate, assayType, biologicalSex, bionetworkName, bundleUuid, bundleVersion, cellCount, cellLineType, contactName, contentDescription, dataUseRestriction, developmentStage, donorCount, donorDisease, duosId, effectiveCellCount, effectiveOrgan, entryId, fileFormat, fileId, fileName, fileSize, fileSource, fileVersion, genusSpecies, institution, instrumentManufacturerModel, isIntermediate, isTissueAtlasProject, laboratory, lastModifiedDate, libraryConstructionApproach, matrixCellCount, modelOrgan, modelOrganPart, nucleicAcidSource, organ, organPart, organismAge, organismAgeRange, pairedEnd, preservationMethod, project, projectDescription, projectEstimatedCellCount, projectId, projectTitle, publicationTitle, sampleDisease, sampleEntityType, sampleId, selectedCellType, sourceId, sourceSpec, specimenDisease, specimenOrgan, specimenOrganPart, submissionDate, tissueAtlas, updateDate, workflow, accessible\n" - }, - { - "name": "format", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "compact", - "terra.pfb", - "curl", - "verbatim.jsonl", - "verbatim.pfb" - ] - }, - "description": "\nThe desired format of the output.\n\n- `compact` (the default) for a compact,\n tab-separated manifest\n\n- `terra.pfb` for a manifest in the [PFB\n format][2]. This format is mainly used for exporting data to\n Terra.\n\n- `curl` for a [curl configuration\n file][3] manifest. This manifest can be used with the curl\n program to download all the files listed in the manifest.\n\n- `verbatim.jsonl` for a verbatim\n manifest in [JSONL][4] format. Each line contains an\n unaltered metadata entity from the underlying repository.\n\n- `verbatim.pfb` for a verbatim\n manifest in the [PFB format][2]. This format is mainly\n used for exporting data to Terra.\n\n[1]: https://software.broadinstitute.org/firecloud/documentation/article?id=10954\n\n[2]: https://github.com/uc-cdis/pypfb\n\n[3]: https://curl.haxx.se/docs/manpage.html#-K\n\n[4]: https://jsonlines.org/\n" - } - ], - "responses": { - "301": { - "description": "\nA redirect indicating that the manifest preparation job\nhas started. Wait for\nthe recommended number of seconds (see `Retry-After`\nheader) and then follow the redirect to check the status\nof that job.\n", - "headers": { - "Location": { - "description": "\nThe URL of the manifest preparation job at\nthe [`GET\n /manifest/files/{token}`][2] endpoint.\n\n [2]: #operations-Manifests-get_fetch_manifest_files_token\n", - "schema": { - "type": "string", - "format": "url" - } - }, - "Retry-After": { - "description": "\nThe recommended number of seconds to wait before\nrequesting the URL specified in the `Location`\nheader\n", - "schema": { - "type": "string" - } - } - } - }, - "302": { - "description": "\nA redirect indicating that the manifest preparation job\nis already done. Immediately\nfollow the redirect to obtain the manifest contents.\n\nThe response body contains, for a number of commonly\nused shells, a command line suitable for downloading the\nmanifest.\n", - "headers": { - "Location": { - "description": "The URL of the manifest.\n Clients should not make any assumptions about\n any parts of the returned domain, except that\n the scheme will be `https`.\n", - "schema": { - "type": "string", - "format": "url" - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/manifest/files/{token}": { - "parameters": [ - { - "name": "token", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "\nAn opaque string representing the manifest preparation job\n" - } - ], - "get": { - "tags": [ - "Manifests" - ], - "summary": "Determine status of a manifest preparation job", - "description": "\nCheck on the status of an ongoing manifest preparation job,\nreturning either\n\n- a 301 redirect to this endpoint if the manifest job is still\n running\n\n- a 302 redirect to the URL of the completed manifest.\n\nThis endpoint is not suitable for interactive use via the\nSwagger UI. Please use [GET /fetch/manifest/files/{token}][1]\ninstead.\n\n[1]: #operations-Manifests-get_fetch_manifest_files\n", - "parameters": [], - "responses": { - "301": { - "description": "\nA redirect indicating that the manifest preparation job\nis running. Wait for\nthe recommended number of seconds (see `Retry-After`\nheader) and then follow the redirect to check the status\nof the job again.\n", - "headers": { - "Location": { - "description": "\nThe URL of this endpoint\n", - "schema": { - "type": "string", - "format": "url" - } - }, - "Retry-After": { - "description": "\nThe recommended number of seconds to wait before\nrequesting the URL specified in the `Location`\nheader\n", - "schema": { - "type": "string" - } - } - } - }, - "302": { - "description": "\nA redirect indicating that the manifest preparation job\nis now done. Immediately\nfollow the redirect to obtain the manifest contents.\n\nThe response body contains, for a number of commonly\nused shells, a command line suitable for downloading the\nmanifest.\n", - "headers": { - "Location": { - "description": "The URL of the manifest.\n Clients should not make any assumptions about\n any parts of the returned domain, except that\n the scheme will be `https`.\n", - "schema": { - "type": "string", - "format": "url" - } - } - } - }, - "410": { - "description": "\nThe manifest preparation job has expired. Request a\nnew preparation using the `PUT /manifest/files`\nendpoint.\n" - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/fetch/manifest/files": { - "put": { - "tags": [ - "Manifests" - ], - "summary": "Initiate the preparation of a manifest via XHR", - "description": "\nCreate a manifest preparation job, returning a 200 status\nresponse whose JSON body emulates the HTTP headers that would be\nfound in a response to an equivalent request to the [PUT\n/manifest/files][1] endpoint.\n\nWhenever client-side JavaScript code is used in a web\napplication to request the preparation of a manifest from Azul,\nthis endpoint should be used instead of [PUT\n/manifest/files][1]. This way, the client can use XHR to make\nthe request, retaining full control over the handling of\nredirects and enabling the client to bypass certain limitations\non the native handling of redirects in web browsers. For\nexample, most browsers ignore the `Retry-After` header in\nredirect responses, causing them to prematurely exhaust the\nupper limit on the number of consecutive redirects, before the\nmanifest generation job is done.\n\n[1]: #operations-Manifests-put_manifest_files\n\nAny of the query parameters documented below can alternatively be passed\nas a property of a JSON object in the body of the request. This can be\nuseful in case the value of the `filters` query parameter causes the URL\nto exceed the maximum length of 8192 characters, resulting in a 413\nRequest Entity Too Large response.\n\nThe request `PUT /fetch/manifest/files?filters={\u2026}`, for example, is equivalent to `PUT /fetch/manifest/files`\nwith the body `{\"filters\": \"{\u2026}\"}` in which any double quotes or\nbackslash characters inside `\u2026` are escaped with another backslash. That\nescaping is the requisite procedure for embedding one JSON structure\ninside another.\n", - "parameters": [ - { - "name": "catalog", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "dcp2" - ], - "default": "dcp2" - }, - "description": "The name of the catalog to query." - }, - { - "name": "filters", - "in": "query", - "required": false, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "accessions": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "namespace": { - "type": "string", - "nullable": true - }, - "accession": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateLastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateSubmissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "aggregateUpdateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "assayType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "biologicalSex": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bionetworkName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleUuid": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "bundleVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "cellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "cellLineType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contactName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "contentDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "dataUseRestriction": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "developmentStage": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "donorCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "donorDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "duosId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "effectiveCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "effectiveOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "entryId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileFormat": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileName": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileSize": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "fileSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "fileVersion": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "genusSpecies": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "institution": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "instrumentManufacturerModel": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isIntermediate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "isTissueAtlasProject": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "laboratory": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "lastModifiedDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "libraryConstructionApproach": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "matrixCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "modelOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "modelOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "nucleicAcidSource": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organ": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAge": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "unit": { - "type": "string" - } - }, - "required": [ - "value", - "unit" - ], - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "organismAgeRange": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "contains": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "number", - "format": "double" - }, - { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - ] - } - } - }, - "required": [ - "contains" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "intersects": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "number", - "format": "double" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "intersects" - ], - "additionalProperties": false - } - ] - }, - "pairedEnd": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "preservationMethod": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "project": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectDescription": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectEstimatedCellCount": { - "oneOf": [ - { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "integer", - "format": "int64", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - { - "type": "object", - "properties": { - "within": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minItems": 2, - "maxItems": 2 - } - } - }, - "required": [ - "within" - ], - "additionalProperties": false - } - ] - }, - "projectId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "projectTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "publicationTitle": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleEntityType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sampleId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "selectedCellType": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceId": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "sourceSpec": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenDisease": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrgan": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "specimenOrganPart": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "submissionDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "tissueAtlas": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "object", - "properties": { - "atlas": { - "type": "string", - "nullable": true - }, - "version": { - "type": "string", - "nullable": true - } - }, - "additionalProperties": false - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "updateDate": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "workflow": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "string", - "nullable": true - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - }, - "accessible": { - "type": "object", - "properties": { - "is": { - "type": "array", - "items": { - "type": "boolean" - } - } - }, - "required": [ - "is" - ], - "additionalProperties": false - } - }, - "default": "{}", - "example": { - "cellCount": { - "within": [ - [ - 10000, - 1000000000 - ] - ] - } - } - } - } - }, - "description": "\nCriteria to filter entities from the search results.\n\nEach filter consists of a field name, a relation (relational operator),\nand an array of field values. The available relations are \"is\",\n\"within\", \"contains\", and \"intersects\". Multiple filters are combined\nusing \"and\" logic. An entity must match all filters to be included in\nthe response. How multiple field values within a single filter are\ncombined depends on the relation.\n\nFor the \"is\" relation, multiple values are combined using \"or\" logic.\nFor example, `{\"fileFormat\": {\"is\": [\"fastq\", \"fastq.gz\"]}}` selects\nentities where the file format is either \"fastq\" or \"fastq.gz\". For the\n\"within\", \"intersects\", and \"contains\" relations, the field values must\ncome in nested pairs specifying upper and lower bounds, and multiple\npairs are combined using \"and\" logic. For example, `{\"donorCount\":\n{\"within\": [[1,5], [5,10]]}}` selects entities whose donor organism\ncount falls within both ranges, i.e., is exactly 5.\n\nThe accessions field supports filtering for a specific accession and/or\nnamespace within a project. For example, `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\"}]}}` will filter for projects that have an\n`array_express` accession. Similarly, `{\"accessions\": {\"is\": [\n{\"accession\":\"ERP112843\"}]}}` will filter for projects that have the\naccession `ERP112843` while `{\"accessions\": {\"is\": [\n{\"namespace\":\"array_express\", \"accession\": \"E-AAAA-00\"}]}}` will filter\nfor projects that match both values.\n\nThe organismAge field is special in that it contains two property keys:\nvalue and unit. For example, `{\"organismAge\": {\"is\": [{\"value\": \"20\",\n\"unit\": \"year\"}]}}`. Both keys are required. `{\"organismAge\": {\"is\":\n[null]}}` selects entities that have no organism age.\n\nSupported field names are: accessions, aggregateLastModifiedDate, aggregateSubmissionDate, aggregateUpdateDate, assayType, biologicalSex, bionetworkName, bundleUuid, bundleVersion, cellCount, cellLineType, contactName, contentDescription, dataUseRestriction, developmentStage, donorCount, donorDisease, duosId, effectiveCellCount, effectiveOrgan, entryId, fileFormat, fileId, fileName, fileSize, fileSource, fileVersion, genusSpecies, institution, instrumentManufacturerModel, isIntermediate, isTissueAtlasProject, laboratory, lastModifiedDate, libraryConstructionApproach, matrixCellCount, modelOrgan, modelOrganPart, nucleicAcidSource, organ, organPart, organismAge, organismAgeRange, pairedEnd, preservationMethod, project, projectDescription, projectEstimatedCellCount, projectId, projectTitle, publicationTitle, sampleDisease, sampleEntityType, sampleId, selectedCellType, sourceId, sourceSpec, specimenDisease, specimenOrgan, specimenOrganPart, submissionDate, tissueAtlas, updateDate, workflow, accessible\n" - }, - { - "name": "format", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "compact", - "terra.pfb", - "curl", - "verbatim.jsonl", - "verbatim.pfb" - ] - }, - "description": "\nThe desired format of the output.\n\n- `compact` (the default) for a compact,\n tab-separated manifest\n\n- `terra.pfb` for a manifest in the [PFB\n format][2]. This format is mainly used for exporting data to\n Terra.\n\n- `curl` for a [curl configuration\n file][3] manifest. This manifest can be used with the curl\n program to download all the files listed in the manifest.\n\n- `verbatim.jsonl` for a verbatim\n manifest in [JSONL][4] format. Each line contains an\n unaltered metadata entity from the underlying repository.\n\n- `verbatim.pfb` for a verbatim\n manifest in the [PFB format][2]. This format is mainly\n used for exporting data to Terra.\n\n[1]: https://software.broadinstitute.org/firecloud/documentation/article?id=10954\n\n[2]: https://github.com/uc-cdis/pypfb\n\n[3]: https://curl.haxx.se/docs/manpage.html#-K\n\n[4]: https://jsonlines.org/\n" - } - ], - "responses": { - "200": { - "description": "\nWhen handling this response, clients should wait the\nnumber of seconds given in the `Retry-After` property of\nthe response body and then make another XHR request to\nthe URL specified in the `Location` property.\n\nFor a detailed description of these properties see the\ndocumentation for the respective response headers\ndocumented under \n[PUT /manifest/files][1].\n\n[1]: #operations-Manifests-put_manifest_files\n\n\nNote: For a 200 status code response whose body has the\n`Status` property set to 302, the `Location` property\nmay reference the [GET /manifest/files/{token}][2]\nendpoint and that endpoint may return yet another\nredirect, this time a genuine (not emulated) 302 status\nredirect to the actual location of the manifest.\n\n[2]: #operations-Manifests-get_manifest_files\n\nNote: A 200 status response with a `Status` property of\n302 in its body additionally contains a `CommandLine`\nproperty that lists, for a number of commonly used\nshells, a command line suitable for downloading the\nmanifest.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Status": { - "type": "integer", - "format": "int64" - }, - "Location": { - "type": "string", - "format": "url" - }, - "Retry-After": { - "type": "integer", - "format": "int64" - }, - "CommandLine": { - "type": "object", - "properties": { - "cmd.exe": { - "type": "string" - }, - "bash": { - "type": "string" - } - }, - "required": [ - "cmd.exe", - "bash" - ], - "additionalProperties": false - } - }, - "required": [ - "Status", - "Location" - ], - "additionalProperties": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/fetch/manifest/files/{token}": { - "parameters": [ - { - "name": "token", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "\nAn opaque string representing the manifest preparation job\n" - } - ], - "get": { - "tags": [ - "Manifests" - ], - "summary": "Determine status of a manifest preparation job via XHR", - "description": "\nCheck on the status of an ongoing manifest preparation job,\nreturning a 200 status response whose JSON body emulates the\nHTTP headers that would be found in a response to an equivalent\nrequest to the [GET /manifest/files/{token}][1] endpoint.\n\nWhenever client-side JavaScript code is used in a web\napplication to request the preparation of a manifest from Azul,\nthis endpoint should be used instead of [GET\n/manifest/files/{token}][1]. This way, the client can use XHR to\nmake the request, retaining full control over the handling of\nredirects and enabling the client to bypass certain limitations\non the native handling of redirects in web browsers. For\nexample, most browsers ignore the `Retry-After` header in\nredirect responses, causing them to prematurely exhaust the\nupper limit on the number of consecutive redirects, before the\nmanifest generation job is done.\n\n[1]: #operations-Manifests-get_manifest_files\n", - "parameters": [], - "responses": { - "200": { - "description": "\nWhen handling this response, clients should wait the\nnumber of seconds given in the `Retry-After` property of\nthe response body and then make another XHR request to\nthe URL specified in the `Location` property.\n\nFor a detailed description of these properties see the\ndocumentation for the respective response headers\ndocumented under \n[GET /manifest/files/{token}][1].\n\n[1]: #operations-Manifests-get_manifest_files\n\n\nNote: For a 200 status code response whose body has the\n`Status` property set to 302, the `Location` property\nmay reference the [GET /manifest/files/{token}][2]\nendpoint and that endpoint may return yet another\nredirect, this time a genuine (not emulated) 302 status\nredirect to the actual location of the manifest.\n\n[2]: #operations-Manifests-get_manifest_files\n\nNote: A 200 status response with a `Status` property of\n302 in its body additionally contains a `CommandLine`\nproperty that lists, for a number of commonly used\nshells, a command line suitable for downloading the\nmanifest.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Status": { - "type": "integer", - "format": "int64" - }, - "Location": { - "type": "string", - "format": "url" - }, - "Retry-After": { - "type": "integer", - "format": "int64" - }, - "CommandLine": { - "type": "object", - "properties": { - "cmd.exe": { - "type": "string" - }, - "bash": { - "type": "string" - } - }, - "required": [ - "cmd.exe", - "bash" - ], - "additionalProperties": false - } - }, - "required": [ - "Status", - "Location" - ], - "additionalProperties": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/repository/files/{file_uuid}": { - "get": { - "tags": [ - "Repository" - ], - "parameters": [ - { - "name": "catalog", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "dcp2" - ], - "default": "dcp2" - }, - "description": "The name of the catalog to query." - }, - { - "name": "file_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "The UUID of the file to be returned." - }, - { - "name": "version", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nThe version of the file to be returned. File versions are opaque\nstrings with only one documented property: they can be\nlexicographically compared with each other in order to determine\nwhich version is more recent. If this parameter is omitted then the\nmost recent version of the file is returned.\n" - }, - { - "name": "fileName", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nThe desired name of the file. The given value will be included\nin the Content-Disposition header of the response. If absent, a\nbest effort to determine the file name from metadata will be\nmade. If that fails, the UUID of the file will be used instead.\n" - }, - { - "name": "wait", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - }, - "description": "\nIf 0, the client is responsible for honoring the waiting period\nspecified in the Retry-After response header. If 1, the server\nwill delay the response in order to consume as much of that\nwaiting period as possible. This parameter should only be set to\n1 by clients who can't honor the `Retry-After` header,\npreventing them from quickly exhausting the maximum number of\nredirects. If the server cannot wait the full amount, any amount\nof wait time left will still be returned in the Retry-After\nheader of the response.\n" - }, - { - "name": "replica", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nIf the underlying repository offers multiple replicas of the\nrequested file, use the specified replica. Otherwise, this\nparameter is ignored. If absent, the only replica \u2014 for\nrepositories that don't support replication \u2014 or the default\nreplica \u2014 for those that do \u2014 will be used.\n" - }, - { - "name": "requestIndex", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - }, - "description": "Do not use. Reserved for internal purposes." - }, - { - "name": "drsUri", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "Do not use. Reserved for internal purposes." - }, - { - "name": "token", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "Reserved. Do not pass explicitly." - } - ], - "summary": "Redirect to a URL for downloading a given data file from the underlying repository", - "description": "\nThis endpoint is not suitable for interactive use via the Swagger\nUI. Please use the [/fetch endpoint][1] instead.\n\n[1]: #operations-Repository-get_fetch_repository_files__file_uuid_\n", - "responses": { - "301": { - "description": "\nA URL to the given file is still being prepared. Retry by\nwaiting the number of seconds specified in the `Retry-After`\nheader of the response and the requesting the URL specified\nin the `Location` header.\n", - "headers": { - "Location": { - "schema": { - "type": "string" - }, - "description": "\nA URL pointing back at this endpoint, potentially with\ndifferent or additional request parameters.\n" - }, - "Retry-After": { - "schema": { - "type": "integer", - "format": "int64" - }, - "description": "\nRecommended number of seconds to wait before requesting\nthe URL specified in the `Location` header. The response\nmay carry this header even if server-side waiting was\nrequested via `wait=1`.\n" - } - } - }, - "302": { - "description": "\nThe file can be downloaded from the URL returned in the\n`Location` header.\n", - "headers": { - "Location": { - "schema": { - "type": "string" - }, - "description": "\nA URL that will yield the actual content of the file.\n" - }, - "Content-Disposition": { - "schema": { - "type": "string" - }, - "description": "\nSet to a value that makes user agents download the file\ninstead of rendering it, suggesting a meaningful name\nfor the downloaded file stored on the user's file\nsystem. The suggested file name is taken from the\n`fileName` request parameter or, if absent, from\nmetadata describing the file. It generally does not\ncorrelate with the path component of the URL returned in\nthe `Location` header.\n" - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/fetch/repository/files/{file_uuid}": { - "get": { - "tags": [ - "Repository" - ], - "parameters": [ - { - "name": "catalog", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "dcp2" - ], - "default": "dcp2" - }, - "description": "The name of the catalog to query." - }, - { - "name": "file_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "description": "The UUID of the file to be returned." - }, - { - "name": "version", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nThe version of the file to be returned. File versions are opaque\nstrings with only one documented property: they can be\nlexicographically compared with each other in order to determine\nwhich version is more recent. If this parameter is omitted then the\nmost recent version of the file is returned.\n" - }, - { - "name": "fileName", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nThe desired name of the file. The given value will be included\nin the Content-Disposition header of the response. If absent, a\nbest effort to determine the file name from metadata will be\nmade. If that fails, the UUID of the file will be used instead.\n" - }, - { - "name": "wait", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - }, - "description": "\nIf 0, the client is responsible for honoring the waiting period\nspecified in the Retry-After response header. If 1, the server\nwill delay the response in order to consume as much of that\nwaiting period as possible. This parameter should only be set to\n1 by clients who can't honor the `Retry-After` header,\npreventing them from quickly exhausting the maximum number of\nredirects. If the server cannot wait the full amount, any amount\nof wait time left will still be returned in the Retry-After\nheader of the response.\n" - }, - { - "name": "replica", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "\nIf the underlying repository offers multiple replicas of the\nrequested file, use the specified replica. Otherwise, this\nparameter is ignored. If absent, the only replica \u2014 for\nrepositories that don't support replication \u2014 or the default\nreplica \u2014 for those that do \u2014 will be used.\n" - }, - { - "name": "requestIndex", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - }, - "description": "Do not use. Reserved for internal purposes." - }, - { - "name": "drsUri", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "Do not use. Reserved for internal purposes." - }, - { - "name": "token", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "description": "Reserved. Do not pass explicitly." - } - ], - "summary": "Request a URL for downloading a given data file", - "responses": { - "200": { - "description": "\nEmulates the response code and headers of\n/repository/files/{file_uuid} while bypassing the default\nuser agent behavior. Note that the status code of a\nsuccessful response will be 200 while the `Status` field of\nits body will be 302.\n\nThe response described here is intended to be processed by\nclient-side Javascript such that the emulated headers can be\nhandled in Javascript rather than relying on the native\nimplementation by the web browser.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "Status": { - "type": "integer", - "format": "int64" - }, - "Location": { - "type": "string" - } - }, - "required": [ - "Status", - "Location" - ], - "additionalProperties": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - }, - "/repository/sources": { - "get": { - "summary": "List available data sources", - "tags": [ - "Repository" - ], - "parameters": [ - { - "name": "catalog", - "in": "query", - "required": false, - "schema": { - "type": "string", - "enum": [ - "dcp2" - ], - "default": "dcp2" - }, - "description": "The name of the catalog to query." - } - ], - "responses": { - "200": { - "description": "\nList the sources the currently authenticated user is\nauthorized to access in the underlying data repository.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "sources": { - "type": "array", - "items": { - "type": "object", - "properties": { - "sourceId": { - "type": "string" - }, - "sourceSpec": { - "type": "string" - } - }, - "required": [ - "sourceId", - "sourceSpec" - ], - "additionalProperties": false - } - } - }, - "required": [ - "sources" - ], - "additionalProperties": false - } - } - } - }, - "504": { - "description": "\nRequest timed out. When handling this response, clients\nshould wait the number of seconds specified in the\n`Retry-After` header and then retry the request.\n" - } - } - } - } - }, - "servers": [ - { - "url": "http://localhost/" - } - ], - "components": { - "securitySchemes": { - "azul-service-dev": { - "type": "oauth2", - "flows": { - "implicit": { - "authorizationUrl": "https://accounts.google.com/o/oauth2/auth", - "scopes": { - "email": "email" - } - } - } - } - } - }, - "security": [ - {}, - { - "azul-service-dev": [ - "email" - ] - } - ] -} \ No newline at end of file diff --git a/lambdas/service/vendor/azul b/lambdas/service/vendor/azul deleted file mode 120000 index b3310b2b5d..0000000000 --- a/lambdas/service/vendor/azul +++ /dev/null @@ -1 +0,0 @@ -../../../src/azul \ No newline at end of file diff --git a/lambdas/service/vendor/humancellatlas b/lambdas/service/vendor/humancellatlas deleted file mode 120000 index bf4bcf48ff..0000000000 --- a/lambdas/service/vendor/humancellatlas +++ /dev/null @@ -1 +0,0 @@ -../../../src/humancellatlas \ No newline at end of file diff --git a/lambdas/service/vendor/resources/environ.json.template.py b/lambdas/service/vendor/resources/environ.json.template.py deleted file mode 100644 index f77298a3aa..0000000000 --- a/lambdas/service/vendor/resources/environ.json.template.py +++ /dev/null @@ -1,8 +0,0 @@ -from azul import ( - config, -) -from azul.template import ( - emit, -) - -emit(config.lambda_env_for_outsourcing) diff --git a/lambdas/service/vendor/resources/static/swagger b/lambdas/service/vendor/resources/static/swagger deleted file mode 120000 index 7c782ec5ff..0000000000 --- a/lambdas/service/vendor/resources/static/swagger +++ /dev/null @@ -1 +0,0 @@ -../../../../../swagger/ \ No newline at end of file diff --git a/schemas/mirror/info/v1.json b/schemas/mirror/info/v1.json deleted file mode 100644 index fa7429aa4a..0000000000 --- a/schemas/mirror/info/v1.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "info", - "description": "Information describing a file mirrored by Azul", - "type": "object", - "properties": { - "content-type": { - "type": "string", - "description": "Content type of the mirrored file, as defined for the HTTP response header of the same name" - }, - "$schema": { - "type": "string", - "format": "uri", - "pattern": "^https?://.*/info/v\\d+\\.json$", - "description": "URL of a JSON schema the JSON containing this property is valid against" - } - }, - "required": [ - "content-type", - "$schema" - ] -} \ No newline at end of file diff --git a/security.txt b/security.txt deleted file mode 100644 index 4420b84af9..0000000000 --- a/security.txt +++ /dev/null @@ -1,2 +0,0 @@ -If you'd like to report a security issue please contact us -Contact: security-leads@data.humancellatlas.org \ No newline at end of file diff --git a/src/azul/__main__.py b/src/azul/__main__.py deleted file mode 100644 index 37befb1f1c..0000000000 --- a/src/azul/__main__.py +++ /dev/null @@ -1,39 +0,0 @@ -""" -Evaluate an expression after 'from azul import config, docker' and either print -the result or return it via the process exit status. -""" -import argparse -import logging -import sys - -from azul import ( - config, - docker, -) -from azul.logging import ( - configure_script_logging, -) - -log = logging.getLogger(__name__) -configure_script_logging() -parser = argparse.ArgumentParser(description=__doc__) -parser.add_argument('expression', - help='the Python expression to evaluate') -group = parser.add_mutually_exclusive_group() -for status in (True, False): - lower = str(status).lower() - group.add_argument('--' + lower, '-' + lower[0], - dest='status', - default=None, - action='store_' + lower, - help=f'do not print the result of the evaluation but instead ' - f'exit with a status of 0 if the result is {status}-ish or ' - f'a non-zero exit status otherwise.') -args = parser.parse_args(sys.argv[1:]) -locals = dict(config=config, docker=docker) -result = eval(args.expression, dict(__builtins__={}), locals) -log.info('Expression %r evaluated to %r', args.expression, result) -if args.status is None: - print(result) -else: - sys.exit(0 if bool(result) == args.status else 1) diff --git a/src/azul/attrs.py b/src/azul/attrs.py deleted file mode 100644 index 2c35934f4e..0000000000 --- a/src/azul/attrs.py +++ /dev/null @@ -1,860 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from itertools import ( - count, -) -import logging -from types import ( - UnionType, -) -from typing import ( - Any, - Callable, - Iterator, - Optional, - Self, - Tuple, - TypeAliasType, - TypeVar, - TypedDict, - Union, - final, - get_args, - get_origin, -) -from uuid import ( - UUID, -) - -import attrs -from more_itertools import ( - flatten, - one, -) - -from azul import ( - R, - cached_property, - config, - require, -) -from azul.json import ( - PolymorphicSerializable, - Serializable, -) -from azul.types import ( - AnyJSON, - CompositeJSON, - JSON, - JSONArray, - MutableCompositeJSON, - MutableJSON, - MutableJSONArray, - PrimitiveJSON, - derived_type_params, - json_mapping, - not_none, - reify, -) - -log = logging.getLogger(__name__) - - -def strict_auto(*args, **kwargs): - """ - A field that uses the annotated type for validation. - - See :func:`as_annotated` for details - """ - return attrs.field(*args, validator=as_annotated(), **kwargs) - - -def as_annotated(): - """ - Returns a validator that verifies that a field's value is of the annotated - type. Has some limited magic for parameterized types such as typing.Union - and typing.Optional. - - >>> from azul.types import AnyJSON - >>> @attrs.define - ... class Foo: - ... x: Optional[bool] = strict_auto() - ... y: AnyJSON = strict_auto() - - >>> Foo(x=None, y={}), Foo(x=True, y=[]), Foo(x=False, y='foo') - (Foo(x=None, y={}), Foo(x=True, y=[]), Foo(x=False, y='foo')) - - >>> # noinspection PyTypeChecker - >>> Foo(x='foo', y={}) - Traceback (most recent call last): - ... - TypeError: ('x', 'foo', (, )) - - >>> # noinspection PyTypeChecker - >>> Foo(x=None, y=set()) - ... # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - TypeError: ('y', set(), (, - , , , - , , )) - - Note that you cannot share one return value of this function between more - than one field. - - >>> validator = as_annotated() - >>> @attrs.define - ... class Bar: - ... x: int = attrs.field(validator=validator) - ... y: str = attrs.field(validator=validator) - >>> Bar(x=1, y='') - ... # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - azul.RequirementError: ('Validator cannot be shared among fields', - Attribute(name='x', default=NOTHING, validator=as_annotated(), repr=True, - eq=True, eq_key=None, order=True, order_key=None, hash=None, init=True, - metadata=mappingproxy({}), type=, converter=None, - kw_only=False, inherited=False, on_setattr=None, alias='x'), - Attribute(name='y', default=NOTHING, validator=as_annotated(), repr=True, - eq=True, eq_key=None, order=True, order_key=None, hash=None, init=True, - metadata=mappingproxy({}), type=, converter=None, - kw_only=False, inherited=False, on_setattr=None, alias='y')) - - Unfortunately, this sharing violation is currently detected very late, - during the first instantiation of a class that reuses a validator. - - >>> validator = as_annotated() - >>> @attrs.define - ... class Bar: - ... x: int = attrs.field(validator=validator) - >>> @attrs.define - ... class Foo: - ... y: str = attrs.field(validator=validator) - >>> Bar(x=1) - Bar(x=1) - >>> Foo(y='') - ... # doctest: +ELLIPSIS - Traceback (most recent call last): - ... - azul.RequirementError: ('Validator cannot be shared among fields', ... - - """ - return _AsAnnotated() - - -class _AsAnnotated: - _cache: Optional[Tuple[attrs.Attribute, Union[type, Tuple[type]]]] = None - - def __call__(self, _instance, field, value): - reified_type = self._reify(field) - if not isinstance(value, reified_type): - raise TypeError(field.name, value, reified_type) - - def _reify(self, field): - # reify() isn't exactly cheap so we'll cache its result - if self._cache is None: - reified_types = reify(field.type) - self._cache = field, reified_types - else: - cached_field, reified_types = self._cache - require(cached_field == field, - 'Validator cannot be shared among fields', cached_field, field) - return reified_types - - def __repr__(self): - return 'as_annotated()' - - -def is_uuid(version): - def validator(_instance, field, value): - if not isinstance(value, UUID) or value.version != version: - raise TypeError(f'Not a UUID{version}', field.name, value) - - return validator - - -type Source = list[str | tuple[str, ...] | Source] - -type FromJSON = Callable[[AnyJSON], Any] -type ToJSON = Callable[[Any], AnyJSON] - - -class SerializableAttrs(Serializable, attrs.AttrsInstance): - """ - >>> @attrs.frozen(kw_only=True) - ... class InnerBase(SerializableAttrs): - ... x: int - - >>> @attrs.frozen(kw_only=True) - ... class MiddleInner[T](InnerBase): - ... y: T | None - - >>> @attrs.frozen(kw_only=True) - ... class Inner(MiddleInner[str]): ... - - >>> @attrs.frozen(kw_only=True) - ... class OuterBase[X, T: InnerBase](SerializableAttrs): - ... inner: list[T] | None - - >>> class MiddleOuter[X](OuterBase[X, Inner]): ... - - >>> class Outer(MiddleOuter[float]): ... - - >>> outer = Outer(inner=[Inner(x=1, y='b')]) - >>> outer.to_json() - {'inner': [{'x': 1, 'y': 'b'}]} - - >>> Outer.from_json(outer.to_json()) - Outer(inner=[Inner(x=1, y='b')]) - - >>> Outer(inner=None).to_json() - {'inner': None} - - >>> Outer.from_json({'inner': None}) - Outer(inner=None) - - >>> Outer.from_json({'inner': [{'x': 'bad', 'y': 'b'}]}) - Traceback (most recent call last): - ... - ValueError: ('Invalid type of value', , 'expecting', ) - - >>> Outer.from_json({'inner': [{'x': 1, 'y': None}]}) - Outer(inner=[Inner(x=1, y=None)]) - - A class with custom serialization (float serialized as string): - - >>> @attrs.frozen(kw_only=True) - ... class CustomBase(SerializableAttrs): - ... x: float - ... - ... def to_json(self) -> JSON: - ... return super().to_json() | {'x': str(self.x)} - ... - ... @classmethod - ... def _from_json(cls, json: JSON) -> dict[str, Any]: - ... return dict(super()._from_json(json), x=float(json['x'])) - - >>> @attrs.frozen(kw_only=True) - ... class Custom(CustomBase): - ... y: str - - >>> Custom(x=1.23, y='y').to_json() - {'x': '1.23', 'y': 'y'} - - >>> Custom.from_json({'x': '1.23', 'y': 'y'}) - Custom(x=1.23, y='y') - - >>> @attrs.frozen(kw_only=True) - ... class Embedded(SerializableAttrs): - ... x: JSON - - >>> Embedded(x={'y': 12}).to_json() - {'x': {'y': 12}} - - >>> @attrs.frozen(kw_only=True) - ... class WithDicts(SerializableAttrs): - ... inners: dict[int, Inner] - - >>> WithDicts(inners={1: Inner(x=1, y='b')}).to_json() - {'inners': {1: {'x': 1, 'y': 'b'}}} - - >>> WithDicts.from_json({'inners': {1: {'x': 1, 'y': 'b'}}}) - WithDicts(inners={1: Inner(x=1, y='b')}) - """ - - @classmethod - @final - def from_json(cls, json: AnyJSON) -> Self: - cls._assert_concrete() - kwargs = cls._from_json(json_mapping(json)) - return cls(**kwargs) - - @classmethod - def _from_json(cls, json: JSON) -> dict[str, Any]: - """ - Return a dictionary with keyword arguments for the constructor. An - override must call the overridden method via super() but only need to - populate keyword arguments for the fields defined by the class that - overrides the method. Typically, the overrides in subclasses will be - generated automatically but if a subclass explicitly defines an - override, it will be left alone. - """ - return {} - - def to_json(self) -> dict[str, AnyJSON]: - """ - Typically, the overrides in subclasses will be generated automatically - but if a subclass explicitly defines an override, it will be left alone. - """ - self._assert_concrete() - return {} - - @classmethod - def _assert_concrete(cls): - assert not cls._deferred_fields, R( - 'Class has fields of unknown type', cls._deferred_fields) - - def __init_subclass__(cls): - super().__init_subclass__() - try: - fields = attrs.fields(cls) - except attrs.exceptions.NotAnAttrsClassError: - pass - else: - cls._instrument(fields) - - @classmethod - def __attrs_init_subclass__(cls): - cls._instrument(attrs.fields(cls)) - - #: The names of fields that we weren't able to generate code for in this - #: class because at least one of them was annotated with a variable type. - #: Generic descendants that use free type variables in their attrs field - #: annotations override this attribute to a non-empty set. The - #: responsibility to handle deferred fields falls on the descendant that - #: binds the last remaining free type variable. - #: - _deferred_fields: frozenset[str] = frozenset() - - @classmethod - def _instrument(cls, fields: list[attrs.Attribute]): - """ - Add overrides for to_json and _from_json to the given class. The - overrides will handle the serialization and deserialization of the - fields defined by the class, not those that it inherits. An override - will only be added if the class doesn't already provide one. This method - must be idempotent because it may be invoked twice for the same class, - before and after the attrs decorator did its work. Even for slotted - classes this method will be invoked twice, albeit the second time on a - copy of the class. - """ - # When slots=True (the default for attrs.define), attrs makes a copy of - # the class so the subclass hook will be invoked twice, once for the - # original class, and again for the copy. The copy is likely to have - # additional fields defined so we need to start from scratch and reset - # any left-overs that would interfere with that. - # - if cls._has_custom('to_json') and cls._has_custom('_from_json'): - pass - else: - if '_deferred_fields' in cls.__dict__: - del cls._deferred_fields - owned_fields = [ - field - for field in fields - if field.name in cls.__annotations__ or field.name in cls._deferred_fields - ] - if owned_fields: - deferred_fields = cls._make(owned_fields) - if deferred_fields != cls._deferred_fields: - cls._deferred_fields = deferred_fields - - @classmethod - def _make(cls, fields: list[attrs.Attribute]) -> frozenset[str]: - try: - _from_json = cls._make_from_json(fields) - except cls.Strategy.MustDefer: - deferred_fields = frozenset(field.name for field in fields) - else: - cls._define(_from_json) - deferred_fields = frozenset() - to_json = cls._make_to_json(fields) - cls._define(to_json) - return deferred_fields - - @classmethod - def _make_from_json(cls, fields: list[attrs.Attribute]) -> Callable: - globals = {cls.__name__: cls} - deserializers = (cls.Deserializer(cls, field, globals) for field in fields) - source = cls._indent([ - '@classmethod', - 'def _from_json(cls, json):', [ - f'kwargs = super({cls.__name__}, cls)._from_json(json)', - *flatten( - [ - f'x = json["{deserializer.field.name}"]', - *(deserializer.handle('x')), - f'kwargs["{deserializer.field.name}"] = x' - ] - for deserializer in deserializers - if deserializer.enabled - ), - 'return kwargs' - ] - ]) - return cls._compile(source, globals) - - @classmethod - def _make_to_json(cls, fields: list[attrs.Attribute]) -> Callable: - globals = {cls.__name__: cls} - serializers = (cls.Serializer(cls, field, globals) for field in fields) - to_json = cls._indent([ - 'def to_json(self):', [ - # Using the super() shortcut would require messing with the - # ``__closure__`` attribute of the function, and, we assume, - # would be slower. - f'json = super({cls.__name__}, self).to_json()', - *flatten( - [ - f'x = self.{serializer.field.name}', - f'json["{serializer.field.name}"] = ' + serializer.handle('x') - ] - for serializer in serializers - if serializer.enabled - ), - 'return json' - ] - ]) - return cls._compile(to_json, globals) - - @classmethod - def _indent(cls, source: Source, level=0): - """ - Indent and join the given list of source code items. An item can be - either a line, a tuple of words, or a nested list of items. The - indentation of lines is based on the nesting of the lists. Lines are - joined with a newline character, words are joined with a comma. - """ - return '\n'.join( - cls._indent(v, level + 1) - if isinstance(v, list) else - ' ' * level * 4 + (', '.join(v) if isinstance(v, tuple) else v) - for v in source - ) - - @classmethod - def _compile(cls, source: str, globals: dict[str, Any]): - """ - Compile a function definition from the given source & context - """ - if config.debug > 2: - log.debug('Generating code for method in %r with globals %r. ' - 'See next line for body of method.\n%s', cls, globals, source) - bytecode = compile(source, cls.__module__, 'exec') - locals: dict[str, Any] = {} - eval(bytecode, globals, locals) - function = one(locals.values()) - return function - - _method_marker = '__azul_serializable__' - - @classmethod - def _has_custom(cls, method_name): - method = cls.__dict__.get(method_name) - return method is not None and not hasattr(method, cls._method_marker) - - @classmethod - def _define(cls, function: Callable) -> None: - """ - Add the given function as a method of the class to be instrumented - """ - method_name = function.__name__ - custom = cls._has_custom(method_name) - # We should never replace a custom definition. However, an - # instrumentation during attrs' subclass hook must replace - # the definition from the standard subclass hook. - if not custom: - setattr(function, cls._method_marker, None) - setattr(cls, method_name, function) - - @attrs.frozen - class Strategy[T](metaclass=ABCMeta): - cls: type['SerializableAttrs'] - field: attrs.Attribute - globals: dict[str, Any] - depth: Iterator[int] = attrs.field(factory=count) - - class MustDefer(Exception): - pass - - class Custom(TypedDict): - from_json: FromJSON | None - to_json: ToJSON | None - - @cached_property - def custom(self) -> Custom | None: - return self._metadata('custom', None) - - def _metadata[V](self, key: str, default: V) -> V: - try: - return self.field.metadata['azul'][key] - except KeyError: - return default - - @cached_property - def discriminator(self) -> str | None: - return self._metadata('discriminator', None) - - def handle(self, x: str) -> T: - if self.custom is None: - return self._handle(x, self._reify(self.field.type)) - else: - return self._custom(x) - - def _owner(self) -> type: - """ - Find the nearest ancestor that introduced the given field - """ - for base in self.cls.__mro__: - if self.field.name in base.__annotations__: - assert isinstance(base, type) - assert issubclass(base, SerializableAttrs) - return base - assert False - - def _reify(self, field_type: Any) -> Any: - """ - Resolve the type parameters of the given type, or raise - MustDefer if that's not possible. - """ - while isinstance(field_type, TypeVar): - owner = self._owner() - if owner is self.cls: - raise self.MustDefer - params = derived_type_params(self.cls, root=owner) - try: - field_type = params[field_type] - except KeyError: - raise self.MustDefer - return field_type - - embedded_json_types = ( - JSON, - CompositeJSON, - JSONArray, - MutableJSON, - MutableCompositeJSON, - MutableJSONArray - ) - - def _handle(self, x: str, field_type: Any): - if field_type in self.embedded_json_types: - return self._embedded_json(x, one(reify(field_type))) - elif isinstance(field_type, TypeAliasType): - field_type = field_type.__value__ - if isinstance(field_type, type): - if field_type in reify(PrimitiveJSON): - return self._primitive(x, field_type) - elif issubclass(field_type, Serializable): - cls_name = field_type.__name__ - self.globals[cls_name] = field_type - is_polymorphic = issubclass(field_type, PolymorphicSerializable) - has_discriminator = self.discriminator is not None - if is_polymorphic and has_discriminator: - return self._polymorphic(x, cls_name) - else: - return self._serializable(x, cls_name) - else: - origin = get_origin(field_type) - if origin in (Union, UnionType): - arg_types = set(get_args(field_type)) - arg_types.discard(type(None)) - if len(arg_types) == 1: - field_type = self._reify(one(arg_types)) - return self._optional(x, field_type) - elif issubclass(origin, list): - item_type = one(get_args(field_type)) - item_type = self._reify(item_type) - return self._list(x, item_type) - elif issubclass(origin, dict): - key_type, value_type = map(self._reify, get_args(field_type)) - return self._dict(x, key_type, value_type) - raise TypeError('Unserializable field', field_type, self.field) - - @property - @abstractmethod - def enabled(self) -> bool: - raise NotImplementedError - - @abstractmethod - def _primitive(self, x: str, field_type: type) -> T: - raise NotImplementedError - - @abstractmethod - def _embedded_json(self, x: str, field_type: type) -> T: - raise NotImplementedError - - @abstractmethod - def _optional(self, x: str, field_type: type) -> T: - raise NotImplementedError - - @abstractmethod - def _serializable(self, x: str, cls: str) -> T: - raise NotImplementedError - - @abstractmethod - def _polymorphic(self, x: str, base_cls: str) -> T: - raise NotImplementedError - - @abstractmethod - def _list(self, x: str, item_type: type) -> T: - raise NotImplementedError - - @abstractmethod - def _dict(self, x: str, key_type: type, value_type: type) -> T: - raise NotImplementedError - - @abstractmethod - def _custom(self, x: str) -> T: - raise NotImplementedError - - class Deserializer(Strategy[Source]): - - @property - def enabled(self) -> bool: - return self.custom is None or self.custom['from_json'] is not None - - def _optional(self, x: str, field_type: type) -> Source: - return [ - f'if {x} is not None:', self._handle(x, field_type) - ] - - def _serializable(self, x: str, cls: str) -> Source: - return [ - f'{x} = {cls}.from_json({x})' - ] - - def _polymorphic(self, x: str, base_cls: str) -> Source: - depth = next(self.depth) - cls = f'cls{depth}' - return [ - f'{cls} = {x}["{self.discriminator}"]', - f'{cls} = {base_cls}.cls_from_json({cls})', - f'{x} = {cls}.from_json({x})' - ] - - def _primitive(self, x: str, field_type: type) -> Source: - return [ - f'if not isinstance({x}, {field_type.__name__}):', [ - 'raise ValueError(', [( - '"Invalid type of value"', - f'type({x})', - '"expecting"', - field_type.__name__, - )], ')' - ] - ] - - def _embedded_json(self, x: str, field_type: type) -> Source: - self.globals[field_type.__name__] = field_type - return self._primitive(x, field_type) - - def _list(self, x: str, item_type: type) -> Source: - depth = next(self.depth) - l, v = f'l{depth}', f'v{depth}' - return [ - f'{l} = []', - f'for {v} in {x}:', [ - *self._handle(v, item_type), - f'{l}.append({v})' - ], - f'{x} = {l}' - ] - - def _dict(self, x: str, key_type: type, value_type: type) -> Source: - level = next(self.depth) - d, k, v = f'd{level}', f'k{level}', f'v{level}' - return [ - f'{d} = {{}}', - f'for {k},{v} in {x}.items():', [ - *self._handle(k, key_type), - *self._handle(v, value_type), - f'{d}[{k}] = {v}' - ], - f'{x} = {d}' - ] - - def _custom(self, x: str) -> Source: - var_name = self.field.name + '_from_json' - from_json = not_none(not_none(self.custom)['from_json']) - self.globals[var_name] = from_json - return [ - f'{x} = {var_name}({x})' - ] - - class Serializer(Strategy[str]): - - @property - def enabled(self) -> bool: - return self.custom is None or self.custom['to_json'] is not None - - def _primitive(self, x: str, field_type: type) -> str: - return x - - def _embedded_json(self, x: str, field_type: type) -> str: - return x - - def _optional(self, x: str, field_type: type) -> str: - return f'{x} if {x} is None else ({self._handle(x, field_type)})' - - def _serializable(self, x: str, cls: str) -> str: - return f'{x}.to_json()' - - def _polymorphic(self, x: str, base_cls: str) -> str: - return f'dict({x}.to_json(), {self.discriminator}={x}.cls_to_json())' - - def _list(self, x: str, item_type: type) -> str: - depth = next(self.depth) - v = f'v{depth}' - v_ = self._handle(v, item_type) - return f'[({v_}) for {v} in {x}]' - - def _dict(self, x: str, key_type: type, value_type: type) -> str: - level = next(self.depth) - k, v = f'k{level}', f'v{level}' - k_, v_ = self._handle(k, key_type), self._handle(v, value_type) - return f'{{{k_}: {v_} for {k}, {v} in x.items()}}' - - def _custom(self, x: str) -> str: - to_json = not_none(not_none(self.custom)['to_json']) - var_name = self.field.name + '_to_json' - self.globals[var_name] = to_json - return f'{var_name}({x})' - - -def serializable[T: attrs.Attribute](field: T | None = None, - *, - from_json: FromJSON, - to_json: ToJSON) -> T: - """ - Use the provided callables to (de)serialize values of the given field, - instead of generating them. - - >>> @attrs.frozen - ... class Foo(SerializableAttrs): - ... x: set[str] = serializable(to_json=sorted, from_json=set) - - >>> Foo(x={'b','a'}).to_json() - {'x': ['a', 'b']} - - >>> Foo.from_json({'x': ['a']}) - Foo(x={'a'}) - """ - custom = SerializableAttrs.Strategy.Custom(from_json=from_json, - to_json=to_json) - return _set_field_metadata(field, 'custom', custom) - - -def not_serializable[T: attrs.Attribute](field: T) -> T: - """ - Skip the given field during (de)serialization. The field should have a - default value or there should be some other provision for the constructor to - handle the case that no argument will be passed to it for any field that was - marked this way. - - >>> @attrs.frozen - ... class Foo(SerializableAttrs): - ... x: int = not_serializable(attrs.field(default=42)) - - >>> Foo().to_json() - {} - - >>> Foo.from_json({}) - Foo(x=42) - """ - custom = SerializableAttrs.Strategy.Custom(from_json=None, - to_json=None) - return _set_field_metadata(field, 'custom', custom) - - -def _set_field_metadata[T: attrs.Attribute](field: T | None, key, value): - if field is None: - field = attrs.field() - metadata = field.metadata.setdefault('azul', {}) - metadata[key] = value - return field - - -def polymorphic[T: attrs.Attribute](field: T | None = None, - *, - discriminator: str - ) -> T: - """ - Mark an attrs field to use the given name for the discriminator property in - serialized instances of PolymorphicSerializable that occur in the value of - that field. The given discriminator property of a serialized instance - represents the type to use when deserializing that instance again. - - >>> from azul.json import RegisteredPolymorphicSerializable - - >>> class Inner(SerializableAttrs, RegisteredPolymorphicSerializable): - ... pass - - >>> @attrs.frozen - ... class InnerWithInt(Inner): - ... x: int - - >>> @attrs.frozen - ... class InnerWithStr(Inner): - ... y: str - - >>> @attrs.frozen(kw_only=True) - ... class Outer(SerializableAttrs): - ... inner: Inner = polymorphic(discriminator='type') - ... inners: list[Inner] = polymorphic(discriminator='_cls') - - >>> from azul.doctests import assert_json - - >>> outer = Outer(inner=InnerWithInt(42), - ... inners=[InnerWithStr('foo'), InnerWithInt(7)]) - >>> assert_json(outer.to_json()) - { - "inner": { - "x": 42, - "type": "InnerWithInt" - }, - "inners": [ - { - "y": "foo", - "_cls": "InnerWithStr" - }, - { - "x": 7, - "_cls": "InnerWithInt" - } - ] - } - >>> Outer.from_json(outer.to_json()) == outer - True - - In order to enable polymorphic serialization of the value of a given field, - the discriminator property needs to be specified explicitly, otherwise the - serialization framework will resort to the static type of the field. - - >>> @attrs.frozen - ... class GenericOuter[T: Inner](SerializableAttrs): - ... inner: T - - >>> class StaticOuter(GenericOuter[InnerWithInt]): - ... pass - - >>> outer = StaticOuter(InnerWithInt(42)) - >>> outer.to_json() - {'inner': {'x': 42}} - - Despite the fact that ``{'x': 42}`` does not encode any type information, - ``from_json`` can tell from the static type of the field that {'x': 42} - should be deserialized as an ``InnerWithInt``. - - >>> StaticOuter.from_json(outer.to_json()).inner - InnerWithInt(x=42) - - >>> StaticOuter.from_json(outer.to_json()) == outer - True - - However, when the static type of the field is not concrete, deserialization - may fail or, like in this case, lose information by creating an instance of - the parent class instead of the class that was serialized. - - >>> @attrs.frozen - ... class AbstractOuter(SerializableAttrs): - ... inner: Inner - - >>> outer = AbstractOuter(InnerWithInt(42)) - >>> AbstractOuter.from_json(outer.to_json()).inner # doctest: +ELLIPSIS - - """ - return _set_field_metadata(field, 'discriminator', discriminator) diff --git a/src/azul/auth.py b/src/azul/auth.py deleted file mode 100644 index de7b61a132..0000000000 --- a/src/azul/auth.py +++ /dev/null @@ -1,103 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from inspect import ( - isabstract, -) -from typing import ( - ClassVar, -) - -import attr - -from azul.json import ( - copy_json, -) -from azul.types import ( - JSON, -) - - -@attr.s(auto_attribs=True, frozen=True) -class Authentication(metaclass=ABCMeta): - - @abstractmethod - def identity(self) -> str: - """ - A string uniquely identifying the authenticated entity, for at least - some period of time. - """ - raise NotImplementedError - - @abstractmethod - def as_http_header(self) -> str: - """ - A string representing the authenticated entity as an HTTP header - name/value pair. Raises NotImplementedError if the authentication format - does not support such a representation. - """ - raise NotImplementedError - - _cls_field: ClassVar[str] = '_cls' - - def to_json(self) -> JSON: - """ - >>> @attr.s(auto_attribs=True, frozen=True) - ... class Foo(Authentication): - ... foo: str - ... def identity(self) -> str: - ... # noinspection PyUnresolvedReferences - ... return self.foo - ... def as_http_header(self) -> str: - ... raise NotImplementedError - >>> f = Foo('bar') - >>> f - Foo(foo='bar') - >>> f.to_json() - {'foo': 'bar', '_cls': 'Foo'} - >>> Authentication.from_json(f.to_json()) - Foo(foo='bar') - """ - json = attr.asdict(self) - json[self._cls_field] = type(self).__name__ - return json - - @classmethod - def from_json(cls, json: JSON) -> 'Authentication': - json = copy_json(json) - cls_name = json.pop(cls._cls_field) - assert isinstance(cls_name, str) - return cls._cls_for_name[cls_name](**json) - - _cls_for_name: ClassVar[dict[str, type['Authentication']]] = {} - - def __init_subclass__(cls) -> None: - super().__init_subclass__() - if not isabstract(cls): - name = cls.__name__ - assert name not in cls._cls_for_name, cls - assert cls._cls_field not in attr.fields_dict(cls), cls - cls._cls_for_name[name] = cls - - -@attr.s(auto_attribs=True, frozen=True) -class OAuth2(Authentication): - access_token: str - - def identity(self) -> str: - return self.access_token - - def as_http_header(self) -> str: - return f'Authorization: Bearer {self.access_token}' - - -@attr.s(auto_attribs=True, frozen=True) -class HMACAuthentication(Authentication): - key_id: str - - def identity(self) -> str: - return self.key_id - - def as_http_header(self) -> str: - raise NotImplementedError diff --git a/src/azul/azulclient.py b/src/azul/azulclient.py deleted file mode 100644 index 04a9a8e25a..0000000000 --- a/src/azul/azulclient.py +++ /dev/null @@ -1,435 +0,0 @@ -from collections import ( - defaultdict, -) -from collections.abc import ( - Iterable, -) -from concurrent.futures import ( - Future, - ThreadPoolExecutor, -) -from enum import ( - auto, -) -import fnmatch -from functools import ( - partial, -) -import logging -from pprint import ( - PrettyPrinter, -) -from typing import ( - AbstractSet, - cast, -) -import uuid - -import attrs -import requests -from urllib3 import ( - HTTPResponse, -) -from urllib3.exceptions import ( - HTTPError, -) - -from azul import ( - CatalogName, - R, - cached_property, - config, -) -from azul.deployment import ( - aws, -) -from azul.es import ( - ESClientFactory, -) -from azul.hmac import ( - SignatureHelper, -) -from azul.http import ( - HasCachedHttpClient, -) -from azul.indexer import ( - SourceRef, - SourceSpec, -) -from azul.indexer.index_queue_service import ( - IndexQueueService, -) -from azul.indexer.index_repository_service import ( - IndexRepositoryService, -) -from azul.indexer.index_service import ( - IndexService, -) -from azul.plugins import ( - MetadataPlugin, - RepositoryPlugin, -) -from azul.queues import ( - Action, - Queues, - SQSFifoMessage, - SQSMessage, -) -from azul.types import ( - JSON, - JSONs, -) - -log = logging.getLogger(__name__) - - -class MirrorAction(Action): - mirror_source = auto() - mirror_partition = auto() - mirror_file = auto() - mirror_part = auto() - finalize_file = auto() - - -@attrs.frozen(kw_only=True) -class AzulClient(SignatureHelper, HasCachedHttpClient): - num_workers: int = 16 - - @cached_property - def queues(self) -> Queues: - return Queues() - - @cached_property - def index_service(self) -> IndexService: - return IndexService() - - @cached_property - def index_queue_service(self) -> IndexQueueService: - return IndexQueueService() - - @cached_property - def index_repository_service(self) -> IndexRepositoryService: - return IndexRepositoryService() - - def repository_plugin(self, catalog: CatalogName) -> RepositoryPlugin: - return self.index_repository_service.repository_plugin(catalog) - - def metadata_plugin(self, catalog: CatalogName) -> MetadataPlugin: - return self.index_service.metadata_plugin(catalog) - - def mirror_source_message(self, - catalog: CatalogName, - source: SourceRef - ) -> SQSFifoMessage: - return SQSFifoMessage( - body={ - 'action': MirrorAction.mirror_source.to_json(), - 'catalog': catalog, - 'source': cast(JSON, source.to_json()), - }, - group_id=source.id - ) - - def local_reindex(self, catalog: CatalogName, prefix: str) -> int: - service = self.index_repository_service - plugin = self.repository_plugin(catalog) - notifications: JSONs = [ - # Notifications sent organically by DSS had a different structure, - # but since DSS is long gone these synthetic notifications are now - # the only variant that would ever occur in the wild. - { - 'transaction_id': str(uuid.uuid4()), - 'bundle_fqid': bundle_fqid.to_json() - } - for source in map(plugin.resolve_source, config.sources(catalog)) - for bundle_fqid in service.list_bundles(catalog, source, prefix) - ] - self.index(catalog, notifications) - return len(notifications) - - def index(self, - catalog: CatalogName, - notifications: Iterable[JSON], - delete: bool = False - ): - errors = defaultdict[int, int](int) - missing = [] - indexed = 0 - total = 0 - path = (catalog, 'delete' if delete else 'add') - indexer_url = config.indexer_endpoint.set(path=path) - - def attempt(notification: JSON, - i: int - ) -> tuple[JSON, None | Future | HTTPResponse | HTTPError]: - log_args = (indexer_url, notification, i) - log.info('Notifying %s about %s, attempt %i.', - *log_args) - # We want to send the request with urllib3 directly but HMAC - # signing is only available for Requests, so we need to prepare a - # request, sign it and then unpack it again before calling urllib3. - request = requests.Request('POST', str(indexer_url), json=notification) - request = request.prepare() - self.sign(request) - try: - result = self._http_client.request(url=request.url, - method=request.method, - headers=request.headers, - body=request.body) - except HTTPError as e: - result = e - - if isinstance(result, HTTPResponse) and result.status == 202: - log.info('Success notifying %s about %s, attempt %i.', - *log_args) - return notification, None - else: - assert isinstance(result, (HTTPResponse, HTTPError)), result - if i < 3: - log.warning('Retrying to notify %s about %s, attempt %i, after error %s.', - *log_args, result) - return notification, tpe.submit(partial(attempt, notification, i + 1)) - else: - log.warning('Failed to notify %s about %s, attempt %i: after error %s.', - *log_args, result) - return notification, result - - def handle_future(future: Future) -> None: - nonlocal indexed - bundle_fqid, result = future.result() - if result is None: - indexed += 1 - elif isinstance(result, HTTPResponse): - errors[result.status] += 1 - missing.append((notification, result.status)) - elif isinstance(result, Future): - # The task scheduled a follow-on task, presumably a retry. - # Follow that new task. - handle_future(result) - else: - assert False - - with ThreadPoolExecutor(max_workers=self.num_workers, - thread_name_prefix='pool') as tpe: - futures = [] - for notification in notifications: - total += 1 - futures.append(tpe.submit(partial(attempt, notification, 0))) - for future in futures: - handle_future(future) - - printer = PrettyPrinter(compact=False) - log.info('Sent notifications for %i of %i bundles for catalog %r.', - indexed, total, catalog) - if errors: - log.error('Number of errors by HTTP status code:\n%s', - printer.pformat(dict(errors))) - if missing: - log.error('Unsent notifications and their HTTP status code:\n%s', - printer.pformat(missing)) - if errors or missing: - raise AzulClientNotificationError - - def matching_sources(self, - catalogs: Iterable[CatalogName], - globs: AbstractSet[str] = frozenset('*') - ) -> dict[CatalogName, set[SourceSpec]]: - result = {} - matched_globs = set() - for catalog in catalogs: - raw_specs = config.sources(catalog) - specs = set(self.repository_plugin(catalog).sources) - if '*' not in globs: - matching_raw_specs: set[str] = set() - for glob in globs: - _matching_raw_specs = fnmatch.filter(raw_specs, glob) - if _matching_raw_specs: - matching_raw_specs.update(_matching_raw_specs) - matched_globs.add(glob) - log.debug('Source glob %r matched sources %r in catalog %r', - glob, _matching_raw_specs, catalog) - specs = {spec for spec in specs if str(spec) in matching_raw_specs} - result[catalog] = specs - unmatched_globs = globs - matched_globs - if unmatched_globs: - log.warning('Source(s) not found in any catalog: %r', unmatched_globs) - assert any(result.values()), R( - 'No valid sources specified for any catalog') - return result - - def mirror_queue(self): - name = config.mirror_queue.name - return aws.sqs_queue(name) - - def queue_mirror_messages(self, messages: Iterable[SQSMessage]) -> int: - return self.queues.send_messages(self.mirror_queue(), messages) - - def delete_all_indices(self, catalog: CatalogName): - self.index_service.delete_indices(catalog) - - def create_all_indices(self, catalog: CatalogName): - self.index_service.create_indices(catalog) - - def delete_bundle(self, catalog: CatalogName, bundle_uuid, bundle_version): - log.info('Deleting bundle %r, version %r in catalog %r.', - bundle_uuid, bundle_version, catalog) - notifications = [ - { - # FIXME: delete_bundle script fails with KeyError: 'source' - # https://github.com/DataBiosphere/azul/issues/5105 - 'bundle_fqid': { - 'uuid': bundle_uuid, - 'version': bundle_version - } - } - ] - self.index(catalog, notifications, delete=True) - - def deindex(self, catalog: CatalogName, sources: Iterable[SourceSpec]): - plugin = self.repository_plugin(catalog) - source_ids = [plugin.resolve_source(s).id for s in sources] - es_client = ESClientFactory.get() - indices = ','.join(map(str, self.index_service.index_names(catalog))) - query = { - 'query': { - 'bool': { - 'should': [ - { - 'terms': { - # Aggregate documents - 'sources.id.keyword': source_ids - } - }, - { - 'terms': { - # Contribution documents - 'source.id.keyword': source_ids - } - } - ] - } - } - } - log.info('Deindexing sources %r from catalog %r', sources, catalog) - log.debug('Using query: %r', query) - response = es_client.delete_by_query(index=indices, body=query, slices='auto') - if len(response['failures']) > 0: - if response['version_conflicts'] > 0: - log.error('Version conflicts encountered. Do not deindex while ' - 'indexing is occurring. The index may now be in an ' - 'inconsistent state.') - raise RuntimeError('Failures during deletion', response['failures']) - - def reset_indexer(self, - catalogs: Iterable[CatalogName], - *, - purge_queues: bool, - delete_indices: bool, - create_indices: bool): - """ - Reset the indexer, to a degree. - - :param catalogs: The catalogs to create and delete indices for. - - :param purge_queues: whether to purge the indexer queues at the - beginning. Note that purging the queues affects - all catalogs, not just the specified one. - - :param delete_indices: whether to delete the indexes before optionally - recreating them - - :param create_indices: whether to create the indexes at the end. - """ - indexer_queues = self.queues.get_queues(config.indexer_work_queue_names) - if purge_queues: - log.info('Disabling lambdas ...') - self.queues.manage_lambdas(indexer_queues, enable=False) - log.info('Purging queues: %s', ', '.join(indexer_queues.keys())) - self.queues.purge_queues_unsafely(indexer_queues) - if delete_indices: - log.info('Deleting indices ...') - for catalog in catalogs: - self.delete_all_indices(catalog) - if purge_queues: - log.info('Re-enabling lambdas ...') - self.queues.manage_lambdas(indexer_queues, enable=True) - if create_indices: - log.info('Creating indices ...') - for catalog in catalogs: - self.create_all_indices(catalog) - - def wait_for_indexer(self): - """ - Wait for indexer to begin processing notifications, then wait for work - to finish. - """ - # Indexing can still succeed after a transient stall. A stall's - # transience cannot be proven until all lambdas and their respective - # retries repeatedly time out, but this would result in an unreasonably - # long wait time. Waiting for just one retry is sufficient to - # accommodate the most probable scenarios for transient stalls. - timeout = max(config.contribution_lambda_timeout(retry=True), - config.aggregation_lambda_timeout(retry=True)) - self.queues.wait_to_stabilize(config.indexer_work_queue_names, - timeout, - detect_stall=True) - - def wait_for_mirroring(self): - self.queues.wait_to_stabilize(config.mirror_work_queue_names, - config.mirror_lambda_timeout, - detect_stall=False) - - def is_queue_empty(self, queue_name: str) -> bool: - queues = self.queues.get_queues([queue_name]) - length, _ = self.queues.get_queue_lengths(queues) - return length == 0 - - def remote_mirror(self, catalog: CatalogName, sources: Iterable[SourceRef]): - - def message(source: SourceRef): - log.info('Mirroring files in source %r from catalog %r', - str(source.spec), catalog) - return self.mirror_source_message(catalog, source) - - messages = map(message, sources) - self.queue_mirror_messages(messages) - - def _get_non_empty_fail_queues(self) -> set[str]: - return { - queue - for queue in config.indexer_fail_queue_names - if not self.is_queue_empty(queue) - } - - _common_fail_queue_msg = ( - "If needed, empty the work queues via 'manage_queues.py purge_indexer'. " - "Then run 'manage_queues.py dump --delete' for each fail queue listed: " - ) - - def require_no_failures_before(self): - queues = self._get_non_empty_fail_queues() - assert 0 == len(queues), R( - 'Cannot begin indexing because a previous operation failed: ' - 'At least one fail queue is not empty. ' + - self._common_fail_queue_msg, - queues - ) - - def require_no_failures_after(self): - queues = self._get_non_empty_fail_queues() - assert 0 == len(queues), R( - 'At least one fail queue is not empty, indicating that there were ' - 'persistent indexer failures. ' + - self._common_fail_queue_msg, - queues - ) - - -class AzulClientError(RuntimeError): - pass - - -class AzulClientNotificationError(AzulClientError): - - def __init__(self) -> None: - super().__init__('Some notifications could not be sent') diff --git a/src/azul/bigquery.py b/src/azul/bigquery.py deleted file mode 100644 index c95179e6f8..0000000000 --- a/src/azul/bigquery.py +++ /dev/null @@ -1,50 +0,0 @@ -from collections.abc import ( - Iterable, - Mapping, -) -from datetime import ( - datetime, -) -import re -from typing import ( - Union, -) - -from azul.strings import ( - back_quote as bq, -) - -BigQueryValue = Union[int, float, bool, str, bytes, datetime, None] -BigQueryRow = Mapping[str, BigQueryValue] -BigQueryRows = Iterable[BigQueryRow] - -identifier_re = r'([a-zA-Z_][a-zA-Z_0-9]*)' -table_name_re = re.compile(fr'{identifier_re}(\.{identifier_re})*') - - -def backtick(table_name: str) -> str: - """ - Return the given string surrounded by backticks if deemed necessary based - on a simplified interpretation of BigQuery's lexical structure and syntax - for identifier tokens. - - https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical - - >>> backtick('foo.bar.my_table') - 'foo.bar.my_table' - - >>> backtick('foo2.bar.my_table') - 'foo2.bar.my_table' - - >>> backtick('foo-2.bar.my_table') - '`foo-2.bar.my_table`' - - >>> backtick('foo-2.bar`s.my_table') - Traceback (most recent call last): - ... - azul.RequirementError: ('`', 'must not occur in', 'foo-2.bar`s.my_table') - """ - if table_name_re.fullmatch(table_name): - return table_name - else: - return bq(table_name) diff --git a/src/azul/bigquery_reservation.py b/src/azul/bigquery_reservation.py deleted file mode 100644 index 0aa5645724..0000000000 --- a/src/azul/bigquery_reservation.py +++ /dev/null @@ -1,238 +0,0 @@ -import logging - -from google.cloud.bigquery_reservation_v1 import ( - Assignment, - CapacityCommitment, - Edition, - Reservation, - ReservationServiceClient, -) -from google.cloud.bigquery_reservation_v1.services.reservation_service.pagers import ( - ListAssignmentsPager, - ListCapacityCommitmentsPager, - ListReservationsPager, -) -from google.oauth2.service_account import ( - Credentials, -) -from more_itertools import ( - one, -) - -from azul import ( - cached_property, - config, - require, -) -from azul.deployment import ( - aws, -) - -log = logging.getLogger(__name__) - -ResourcePager = ( - ListCapacityCommitmentsPager | - ListReservationsPager | - ListAssignmentsPager -) - -Resource = CapacityCommitment | Reservation | Assignment - - -class BigQueryReservation: - _reservation_id = 'default' - - _rest_api_url = 'https://content-bigqueryreservation.googleapis.com/v1/' - - _http_scopes = ['https://www.googleapis.com/auth/bigquery'] - - _path_suffixes = { - 'capacity_commitment': '', - 'reservation': '', - 'assignment': '/reservations/-' - } - - reservation: Reservation | None - assignment: Assignment | None - location: str - - def __init__(self, - *, - location: str = config.tdr_source_location, - slots: int = config.bigquery_reserved_slots, - dry_run: bool = False): - """ - :param dry_run: If true, methods will not create/update/destroy any - cloud resources. - """ - self.location = location - self.slots = slots - self.dry_run = dry_run - self.refresh() - - def refresh(self): - for resource_type, path_suffix in self._path_suffixes.items(): - self._refresh(resource_type) - - def _refresh(self, resource_type): - pager_method = getattr(self._client, f'list_{resource_type}s') - path_suffix = self._path_suffixes[resource_type] - pager = pager_method(parent=self._reservation_parent_path + path_suffix) - setattr(self, f'{resource_type}', self._single_resource(pager)) - - @cached_property - def credentials(self) -> Credentials: - with aws.service_account_credentials(config.ServiceAccount.indexer) as file_name: - credentials = Credentials.from_service_account_file(file_name) - return credentials.with_scopes(self._http_scopes) - - @cached_property - def _client(self) -> ReservationServiceClient: - return ReservationServiceClient(credentials=self.credentials) - - @property - def _project(self) -> str: - return self.credentials.project_id - - @property - def _reservation_parent_path(self) -> str: - return self._client.common_location_path(project=self._project, - location=self.location) - - @property - def is_active(self) -> bool | None: - resource_statuses = { - self.reservation is not None, - self.assignment is not None - } - try: - return one(resource_statuses) - except ValueError: - return None - - @property - def update_time(self) -> float | None: - """ - The time at which the current Reservation was updated as a Unix - timestamp, or None if is there is no Reservation. - """ - if self.reservation is None: - return None - else: - return self.reservation.update_time.timestamp() - - def activate(self) -> None: - self._create_reservation() - self._assign_slots() - self.refresh() - if not self.dry_run: - assert self.reservation is not None - if not self.is_active: - raise RuntimeError('Failed to activate slots') - if self.reservation.autoscale.max_slots < self.slots: - raise RuntimeError('Failed to acquire enough slots', - self.reservation.autoscale.max_slots, - self.slots) - - def _create_reservation(self) -> None: - """ - Idempotently create reservation. - """ - self._refresh('reservation') - if self.reservation is None: - reservation = Reservation(dict(edition=Edition.STANDARD, - autoscale=Reservation.Autoscale(dict(max_slots=self.slots)), - ignore_idle_slots=True)) - if self.dry_run: - log.info('Would reserve %d BigQuery slots in location %r, reservation ID: %r', - reservation.autoscale.max_slots, self.location, self._reservation_id) - else: - log.info('Reserving %d BigQuery slots in location %r, reservation ID: %r', - reservation.autoscale.max_slots, self.location, self._reservation_id) - reservation = self._client.create_reservation(reservation=reservation, - reservation_id=self._reservation_id, - parent=self._reservation_parent_path) - log.info('Reserved %d BigQuery slots in location %r, reservation name: %r', - reservation.autoscale.max_slots, self.location, reservation.name) - self.reservation = reservation - else: - current_capacity = self.reservation.autoscale.max_slots - log.info('Reservation with capacity %d already created in location %r', - current_capacity, self.location) - if current_capacity < self.slots: - log.info('Capacity deficit is %d', self.slots - current_capacity) - if self.dry_run: - log.info('Would increase reservation capacity to %d', self.slots) - else: - assert self.reservation is not None - log.info('Increasing reservation capacity to %d', self.slots) - self.reservation.autoscale.max_slots = self.slots - reservation = self._client.update_reservation( - reservation=self.reservation, - update_mask='autoscale' - ) - log.info('Reservation now has capacity %d', reservation.autoscale.max_slots) - self.reservation = reservation - - def _assign_slots(self) -> None: - """ - Idempotently assign capacity commitment to a reservation. - """ - self._refresh('assignment') - if self.assignment is not None: - log.info('Slots already assigned in location %r', - self.location) - else: - assignment = Assignment(dict(assignee=f'projects/{self._project}', - job_type=Assignment.JobType.QUERY)) - if self.dry_run: - reservation_name = None if self.reservation is None else self.reservation.name - log.info('Would assign slots to reservation %r in location %r', - reservation_name, self.location) - else: - # FIXME: Mutability of BigQueryReservation confuses type checker - # https://github.com/DataBiosphere/azul/issues/6834 - assert self.reservation is not None - log.info('Assigning slots to reservation %r in location %r', - self.reservation.name, self.location) - assignment = self._client.create_assignment(parent=self.reservation.name, - assignment=assignment) - log.info('Assigned slots in location %r, assignment name: %r', - self.location, assignment.name) - self.assignment = assignment - - def deactivate(self) -> None: - """ - Idempotently delete all resources. - """ - for resource_type in ('assignment', 'reservation', 'capacity_commitment'): - resource = getattr(self, resource_type) - if resource is None: - log.info('%r does not exist in location %r', - resource_type, self.location) - else: - resource_str = f'{resource_type}:{resource.name}' - if self.dry_run: - log.info('Would delete resource %r in location %r', - resource_str, self.location) - else: - delete_method = getattr(self._client, 'delete_' + resource_type) - delete_method(name=resource.name) - log.info('Deleted resource %r in location %r', - resource_str, self.location) - self.refresh() - # self.is_active is None when some, but not all resources are present - if not self.dry_run and self.is_active is not False: - raise RuntimeError(f'Failed to delete slots in location {self.location!r}') - - def _single_resource(self, resources: ResourcePager) -> Resource | None: - resources: list[Resource] = list(resources) - try: - resource, *extras = resources - except ValueError: - return None - else: - require(not extras, - 'Too many resources in path (should be 0 or 1)', - self._reservation_parent_path, resources) - return resource diff --git a/src/azul/bytes.py b/src/azul/bytes.py deleted file mode 100644 index 91f9a0b6fb..0000000000 --- a/src/azul/bytes.py +++ /dev/null @@ -1,114 +0,0 @@ -import base64 - -_urlsafe_encode_translation = bytes.maketrans(b'+/', b'-_') -_urlsafe_decode_translation = bytes.maketrans(b'-_+/', b'+/\0\0') - - -def azul_urlsafe_b64encode(x: bytes) -> str: - r""" - Same as base64.urlsafe_b64encode but removes padding and returns a string. - - >>> azul_urlsafe_b64encode(b'') - '' - - >>> azul_urlsafe_b64encode(b'\x00') - 'AA' - >>> base64.urlsafe_b64encode(b'\x00') - b'AA==' - - >>> azul_urlsafe_b64encode(b'\x00\x01') - 'AAE' - >>> base64.urlsafe_b64encode(b'\x00\x01') - b'AAE=' - - """ - x = base64.b64encode(x).rstrip(b'=').translate(_urlsafe_encode_translation) - return x.decode() - - -def azul_urlsafe_b64decode(s: str) -> bytes: - r""" - Same as base64.urlsafe_b64decode but also works with inputs from which - padding was removed *and* rejects inputs with characters not part of the - base64 alphabet. It's also stricter in rejecting the URL-unsafe alt - characters plus and slash. - - >>> azul_urlsafe_b64decode('') - b'' - - >>> azul_urlsafe_b64decode('AQ') - b'\x01' - >>> azul_urlsafe_b64decode('AQ==') - b'\x01' - - >>> azul_urlsafe_b64decode('AQI') - b'\x01\x02' - >>> azul_urlsafe_b64decode('AQI=') - b'\x01\x02' - - >>> azul_urlsafe_b64decode('AQI==') - Traceback (most recent call last): - ... - binascii.Error: Excess data after padding - - >>> azul_urlsafe_b64decode('-_') - b'\xfb' - - An invalid characters is rejected. - - >>> azul_urlsafe_b64decode('AQ$') - Traceback (most recent call last): - ... - binascii.Error: Only base64 data is allowed - - Same for the builtin, but for unintuitive reason. - - >>> base64.urlsafe_b64decode('AQ$') - Traceback (most recent call last): - ... - binascii.Error: Incorrect padding - - The same happens with padding. - - >>> azul_urlsafe_b64decode('AQ$=') - Traceback (most recent call last): - ... - binascii.Error: Only base64 data is allowed - - >>> base64.urlsafe_b64decode('AQ$=') - Traceback (most recent call last): - ... - binascii.Error: Incorrect padding - - With just the right amount of padding, however, the builtin can be coaxed - into ignoring the invalid character … - - >>> base64.urlsafe_b64decode('AQ$==') - b'\x01' - - … whereas this function cannot. - - >>> azul_urlsafe_b64decode('AQ$==') - Traceback (most recent call last): - ... - binascii.Error: Only base64 data is allowed - - Also, somewhat surprisingly, base64.urlsafe_b64decode allows plus and slash - in addition to dash and underscore. - - >>> base64.urlsafe_b64decode('+/==') - b'\xfb' - - This function doesn't. - - >>> azul_urlsafe_b64decode('+/') - Traceback (most recent call last): - ... - binascii.Error: Only base64 data is allowed - """ - # We could pass `altchars=` to b64decode() but that would invoke - # bytes.maketrans() on every invocation. Using a static translation table is - # slightly faster. That's the same approach base64.urlsafe_b64decode uses. - s = s.translate(_urlsafe_decode_translation) - s += '=='[:3 - ((len(s) + 3) % 4)] - return base64.b64decode(s, validate=True) diff --git a/src/azul/chalice.py b/src/azul/chalice.py deleted file mode 100644 index cd18d85279..0000000000 --- a/src/azul/chalice.py +++ /dev/null @@ -1,885 +0,0 @@ -from abc import ( - ABCMeta, -) -from collections.abc import ( - Iterable, -) -from enum import ( - Enum, -) -import json -import logging -import mimetypes -import os -import pathlib -from typing import ( - Any, - Callable, - Iterator, - Literal, - Mapping, - Self, - Sequence, -) -from urllib.parse import ( - unquote, -) - -import attrs -import chalice -from chalice import ( - Chalice, - ChaliceViewError, -) -from chalice.app import ( - BadRequestError, - CaseInsensitiveMapping, - HeadersType, - MultiDict, - NotFoundError, - Request, - Response, -) -import chevron -from furl import ( - furl, -) - -from azul import ( - config, - mutable_furl, - open_resource, - reject, - require, -) -from azul.auth import ( - Authentication, -) -from azul.collections import ( - deep_dict_merge, -) -from azul.csp import ( - CSP, -) -from azul.enums import ( - auto, -) -from azul.json import ( - copy_json, -) -from azul.logging import ( - http_body_log_message, -) -from azul.modules import ( - module_loaded_dynamically, -) -from azul.openapi import ( - format_description, - params, - responses, - schema, -) -from azul.strings import ( - join_words as jw, -) -from azul.types import ( - JSON, - LambdaContext, - MutableJSON, - json_dict, - json_list, - json_str, - not_none, -) - -log = logging.getLogger(__name__) - - -class AzulRequest(Request): - """ - Use only for type hints. The actual requests will be instances of the parent - class, but they will have the attributes defined here. - """ - authentication: Authentication | None - - -# For some reason Chalice does not define an exception for the 410 status code -class GoneError(ChaliceViewError): - STATUS_CODE = 410 - - -# Chalice does not define any exceptions for 5xx status codes besides 500 -class BadGatewayError(ChaliceViewError): - STATUS_CODE = 502 - - -class ServiceUnavailableError(ChaliceViewError): - STATUS_CODE = 503 - - -class LambdaMetric(Enum): - """ - For the full list of supported metrics in the `AWS/Lambda` namespace, see: - https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics.html - """ - errors = auto() - throttles = auto() - - @property - def aws_name(self) -> str: - return self.name.capitalize() - - -class AzulChaliceApp(Chalice): - lambda_context: LambdaContext | None - current_request: AzulRequest | None - - def __init__(self, - app_name: str, - globals: Mapping[str, Any], - *, - spec: JSON): - self._patch_event_source_handler() - app_module_path = globals['__file__'] - require(app_module_path.endswith('/app.py'), app_module_path) - self.app_module_path = app_module_path - self.loaded_dynamically = module_loaded_dynamically(globals) - self.non_interactive_routes: set[tuple[str, str]] = set() - reject('paths' in spec, 'The top-level spec must not define paths') - self._specs = self._add_contact_to_spec(spec) - self._specs['paths'] = {} - # The `debug` arg controls whether tracebacks appear in error responses - super().__init__(app_name, debug=config.debug > 1, configure_logs=False) - # Middleware is invoked in order of registration - self.register_middleware(self._logging_middleware, 'http') - self.register_middleware(self._security_headers_middleware, 'http') - self.register_middleware(self._api_gateway_context_middleware, 'http') - self.register_middleware(self._authentication_middleware, 'http') - - def _add_contact_to_spec(self, spec: JSON) -> MutableJSON: - spec = copy_json(spec) - info = json_dict(spec.setdefault('info', {})) - info['description'] = json_str(info.get('description', '')) + config.contact_us - return spec - - @property - def unqualified_app_name(self): - result, _ = config.unqualified_resource_name(self.app_name) - return result - - def __call__(self, event: dict, context: LambdaContext) -> dict[str, Any]: - # Chalice does not URL-decode path parameters - # (https://github.com/aws/chalice/issues/511) - # This appears to actually be a bug in API Gateway, as the parameters - # are already parsed when the event is passed to Chalice - # (https://docs.aws.amazon.com/lambda/latest/dg/services-apigateway.html#apigateway-example-event) - path_params = event['pathParameters'] - if path_params is not None: - for key, value in path_params.items(): - path_params[key] = unquote(value) - return super().__call__(event, context) - - def _patch_event_source_handler(self): - """ - Work around https://github.com/aws/chalice/issues/856. That issue has - been fixed for a while now but in a way that doesn't help us: it makes - the context available in each event object whereas we need the context - in the application object. - """ - import chalice.app - - def patched_event_source_handler(self_, event, context): - self.lambda_context = context - return old_handler(self_, event, context) - - old_handler = chalice.app.EventSourceHandler.__call__ - if old_handler.__code__ != patched_event_source_handler.__code__: - setattr(chalice.app.EventSourceHandler, - '__call__', - patched_event_source_handler) - - def _logging_middleware(self, event, get_response): - self._log_request(not_none(self.current_request)) - response = get_response(event) - self._log_response(response) - return response - - def _authentication_middleware(self, event, get_response): - try: - self.__authenticate() - except ChaliceViewError as e: - response = Response(body={'Code': type(e).__name__, 'Message': str(e)}, - status_code=e.STATUS_CODE) - else: - response = get_response(event) - return response - - def _api_gateway_context_middleware(self, event, get_response): - config.lambda_is_handling_api_gateway_request = True - try: - return get_response(event) - finally: - config.lambda_is_handling_api_gateway_request = False - - @classmethod - def security_headers(cls) -> dict[str, str]: - """ - Default values for headers added to every response from the app, as well - as canned 4XX and 5XX responses from API Gateway. Use of these headers - addresses known security vulnerabilities. - """ - hsts_max_age = 60 * 60 * 24 * 365 * 2 - csp = CSP.for_azul() - return { - 'Content-Security-Policy': str(csp), - 'Referrer-Policy': 'strict-origin-when-cross-origin', - 'Strict-Transport-Security': jw(f'max-age={hsts_max_age};', - 'includeSubDomains;', - 'preload'), - 'X-Content-Type-Options': 'nosniff', - 'X-Frame-Options': 'DENY', - 'X-XSS-Protection': '1; mode=block' - } - - def _security_headers_middleware(self, event, get_response): - """ - Add headers to the response - """ - response = get_response(event) - # Add security headers to the response without overwriting any headers - # that might have been added already (e.g. Content-Security-Policy) - for k, v in self.security_headers().items(): - response.headers.setdefault(k, v) - view_function = self.routes[event.path][event.method].view_function - cache_control = getattr(view_function, 'cache_control') - # Caching defeats the automatic reloading of application source code by - # `chalice local`, which is useful, so we disable caching in that case. - cache_control = 'no-store' if self.is_running_locally else cache_control - response.headers['Cache-Control'] = cache_control - return response - - def _http_cache_for(self, seconds: int): - """ - The HTTP Cache-Control response header value that will cause the - response to the current request to be cached for the given amount of - time. - """ - return f'public, max-age={seconds}, must-revalidate' - - HttpMethod = Literal['GET', 'POST', 'PUT', 'PATCH', 'HEAD', 'OPTIONS', 'DELETE'] - - def route[C: Callable](self, - path: str, - *, - methods: Sequence[HttpMethod] = ('GET',), - enabled: bool = True, - interactive: bool = True, - cache_control: str = 'no-store', - path_spec: JSON | None = None, - spec: JSON | None = None, - **kwargs - ) -> Callable[[C], C]: - """ - Decorates a view handler function in a Chalice application. - - See https://chalice.readthedocs.io/en/latest/api.html#Chalice.route. - - :param path: See https://aws.github.io/chalice/api#Chalice.route - - :param methods: See https://aws.github.io/chalice/api#Chalice.route - - :param enabled: If False, do not route any requests to the decorated - view function. The application will behave as if the - view function wasn't decorated. - - :param interactive: If False, do not show the "Try it out" button in the - Swagger UI. - - :param cache_control: The value to set in the 'Cache-Control' response - header. - - :param path_spec: Corresponds to an OpenAPI Paths Object. See - - https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#paths-object - - If multiple `@app.route` invocations refer to the same - path (but with different HTTP methods), only specify - this argument for one of them, otherwise an - AssertionError will be raised. - - :param spec: Corresponds to an OpenAPI Operation Object. See - - https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#operation-object - - Even though this keyword argument has a default value, it - must be specified for every `@app.route` invocation. The - reason for the default is so that the signature of the - override is compatible with that of the overridden method, - a mypy requirement. - """ - require(spec is not None, "Argument 'spec' is required") - assert spec is not None - if enabled: - if not interactive: - require(bool(methods), 'Must list methods with interactive=False') - self.non_interactive_routes.update((path, method) for method in methods) - spec = deep_dict_merge(spec, self.default_specs()) - chalice_decorator = super().route(path, methods=methods, **kwargs) - - def decorator(view_func): - view_func.cache_control = cache_control - self._register_spec(path, methods, path_spec, spec) - return chalice_decorator(view_func) - - return decorator - else: - return lambda view_func: view_func - - def spec(self) -> JSON: - """ - Return the final OpenAPI spec, stripping out unused tags. - - Only call this method after all routes are registered. - """ - used_tags = set( - json_str(tag) - for path in json_dict(self._specs['paths']).values() - for method in json_dict(path).values() if isinstance(method, dict) - for tag in json_list(method.get('tags', [])) - ) - reject('servers' in self._specs, "The 'servers' entry is computed") - return { - **self._specs, - 'tags': [ - tag for tag in json_list(self._specs.get('tags', [])) - if json_dict(tag)['name'] in used_tags - ], - 'servers': [{'url': str(self.base_url.add(path='/'))}] - } - - @property - def self_url(self) -> mutable_furl: - """ - The URL of the current request, including the path, but without query - arguments. Callers can safely modify the returned `furl` instance. - """ - request = self.current_request - assert request is not None - path = request.context['path'] - return self.base_url.add(path=path) - - @property - def base_url(self) -> mutable_furl: - """ - Returns the base URL of this application. Callers can safely modify the - returned `furl` instance. The base URL may or may not have a path and - callers should always append to it. - """ - if self.current_request is None: - # Invocation from outside the context of handling of a request, for - # example, when `chalice local` loads the app module or during an - # invocation via AWS StepFunctions - self_url = config.lambda_endpoint(self.unqualified_app_name) - elif isinstance(self.current_request, Request): - try: - scheme = self.current_request.headers['x-forwarded-proto'] - except KeyError: - # Invocation via `chalice local` or tests - from chalice.constants import ( - DEFAULT_HANDLER_NAME, - ) - lambda_context = self.lambda_context - assert lambda_context is not None - assert lambda_context.function_name == DEFAULT_HANDLER_NAME - scheme = 'http' - else: - # Invocation via API Gateway - pass - self_url = furl(scheme=scheme, netloc=self.current_request.headers['host']) - else: - assert False, self.current_request - return self_url - - @property - def is_running_locally(self) -> bool: - host = self.base_url.netloc.partition(':')[0] - return host in ('localhost', '127.0.0.1') - - def _register_spec(self, - path: str, - methods: Iterable[str], - path_spec: JSON | None, - spec: JSON): - """ - Add a route's specifications to the specification object. - """ - paths = json_dict(self._specs['paths']) - if path_spec is not None: - reject(path in paths, - 'Only specify path_spec once per route path') - paths[path] = copy_json(path_spec) - - for method in methods: - # OpenAPI requires HTTP method names be lower case - method = method.lower() - # This may override duplicate specs from path_specs - path_methods = json_dict(paths.setdefault(path, {})) - reject(method in path_methods, - "Only specify 'spec' once per route path and method") - path_methods[method] = copy_json(spec) - - class _LogJSONEncoder(json.JSONEncoder): - - def default(self, o: Any) -> Any: - if isinstance(o, MultiDict): - # Convert to dict and flatten the singleton values. - return { - k: v[0] if len(v) == 1 else v - for k, v in ((k, o.getlist(k)) for k in o.keys()) - } - elif isinstance(o, CaseInsensitiveMapping): - return dict(o) - else: - return super().default(o) - - def _authenticate(self) -> Authentication | None: - """ - Authenticate the current request, return None if it is unauthenticated, - or raise a ChaliceViewError if it carries invalid authentication. - """ - return None - - def __authenticate(self): - auth = self._authenticate() - attribute_name = 'authentication' - assert attribute_name in AzulRequest.__annotations__ - setattr(self.current_request, attribute_name, auth) - if auth is None: - log.info('Did not authenticate request.') - else: - log.info('Authenticated request as %r', auth) - - def _log_request(self, request: Request) -> None: - info = { - 'query': request.query_params, - 'headers': request.headers - } - info = json.dumps(info, cls=self._LogJSONEncoder) - log.info('Received %s request for %r, with %s.', - request.context['httpMethod'], request.context['path'], info) - log.info(http_body_log_message('request', request.json_body)) - - def _log_response(self, response: Response) -> None: - info = { - 'headers': response.headers - } - info = json.dumps(info, cls=self._LogJSONEncoder) - log.info('Returning %i response with headers %s.', - response.status_code, info) - log.info(http_body_log_message('response', response.body)) - - absent = object() - - def _register_handler(self, - handler_type, - name, - user_handler, - wrapped_handler, - kwargs, - options=None): - super()._register_handler(handler_type, name, user_handler, - wrapped_handler, kwargs, options) - # Our handlers reference the name of the corresponding Lambda function - # which allows the handler to be the single source of truth when - # configuring Terraform, etc. We store other parameters used to - # configure the handler for the same reason. - for attribute, new_value, is_additive in [ - ('name', name, False), - ('queue', kwargs.get('queue', self.absent), False), - ('path', kwargs.get('path', self.absent), True) - ]: - if new_value is not self.absent: - try: - old_value = getattr(wrapped_handler, attribute) - except AttributeError: - if is_additive: - new_value = [new_value] - setattr(wrapped_handler, attribute, new_value) - else: - if is_additive: - old_value.append(new_value) - else: - assert old_value == new_value - - def load_static_resource(self, *path: str) -> str: - for part in path: - if os.sep in part: - raise BadRequestError(part) - try: - return self.load_resource('static', *path) - except FileNotFoundError as e: - log.warning('Resource not found', exc_info=e) - raise NotFoundError(path) - - def load_resource(self, *path: str) -> str: - package_root = os.path.dirname(self.app_module_path) - with open_resource(*path, package_root=package_root) as f: - return f.read() - - @property - def catalog(self) -> str: - request = self.current_request - # A request is only present when this Lambda function is invoked by API - # Gateway (or a simulation like `make local`). Prominent examples of - # when the request is absent are `chalice package` or when the Lambda - # function is invoked via an event schedule. - if request is not None: - params = request.query_params - if params is not None: - try: - return params['catalog'] - except KeyError: - pass - return config.default_catalog - - def swagger_resource(self, file_name: str) -> Response: - body = self.load_static_resource('swagger', file_name) - path = pathlib.Path(file_name) - content_type = mimetypes.types_map[path.suffix] - return Response(status_code=200, - headers={'Content-Type': content_type}, - body=body) - - @attrs.frozen(kw_only=True) - class HandlerDecorator(metaclass=ABCMeta): - """ - A base class for decorators of handler functions. - """ - - #: The unqualified name of the app the handler is part of or None for an - #: unbound decorator. - app_name: str | None = attrs.field(default=None) - - #: The name of the handler, or None for the main handler, or for an - #: unbound decorator. - handler_name: str | None = attrs.field(default=None) - - def bind(self, app: Chalice, handler_name: str | None = None) -> Self: - app_name, _ = config.unqualified_resource_name(app.app_name) - return attrs.evolve(self, app_name=app_name, handler_name=handler_name) - - @property - def tf_function_resource_name(self) -> str: - assert self.app_name is not None, 'Unbound decorator' - if self.handler_name is None: - return self.app_name - else: - assert self.handler_name != '' - return f'{self.app_name}_{self.handler_name}' - - # noinspection PyPep8Naming - @attrs.frozen(kw_only=True) - class metric_alarm(HandlerDecorator): - """ - Use this decorator on a Chalice handler function to configure a metric - alarm for the corresponding Lambda function. This decorator cannot be - used to decorate view functions, i.e. functions also decorated with - ``@app.route``. - """ - #: The CloudWatch metric to configure the alarm for - metric: LambdaMetric - - #: The number of failed or throttled lambda invocations that, when - #: exceeded, will trigger the alarm. - threshold: int - - #: The interval (in seconds) at which the alarm threshold is evaluated, - #: ranging from 1 minute to 1 day. The default is 5 minutes. - period: int - - def __call__(self, f): - assert isinstance(f, chalice.app.EventSourceHandler), f - try: - metric_alarms = getattr(f, 'metric_alarms') - except AttributeError: - metric_alarms = [] - setattr(f, 'metric_alarms', metric_alarms) - metric_alarms.append(self) - return f - - @property - def tf_resource_name(self) -> str: - return f'{self.tf_function_resource_name}_{self.metric.name}' - - @property - def metric_alarms(self) -> Iterator[metric_alarm]: - for metric in LambdaMetric: - # The api_handler lambda functions (indexer & service) aren't - # included in the app_module's handler_map, so we account for those - # first. - for_errors = metric is LambdaMetric.errors - alarm = self.metric_alarm(metric=metric, - threshold=1 if for_errors else 0, - period=24 * 60 * 60 if for_errors else 5 * 60) - yield alarm.bind(self) - for handler_name, handler in self.handler_map.items(): - if isinstance(handler, chalice.app.EventSourceHandler): - try: - metric_alarms = getattr(handler, 'metric_alarms') - except AttributeError: - metric_alarms = ( - self.metric_alarm(metric=metric, - threshold=0, - period=5 * 60) - for metric in LambdaMetric - ) - for metric_alarm in metric_alarms: - yield metric_alarm.bind(self, handler_name) - - # noinspection PyPep8Naming - @attrs.frozen - class retry(HandlerDecorator): - """ - Use this decorator to specify the number of times a Lambda invocation of - the decorated event handler function should be retried. This decorator - cannot be used to decorate view functions, i.e. functions also decorated - with ``@app.route``. - - https://docs.aws.amazon.com/lambda/latest/dg/invocation-retries.html - """ - num_retries: int - - def __call__(self, f): - assert isinstance(f, chalice.app.EventSourceHandler), f - setattr(f, 'retry', self) - return f - - @property - def retries(self) -> Iterator[retry]: - for handler_name, handler in self.handler_map.items(): - if isinstance(handler, chalice.app.EventSourceHandler): - try: - retry = getattr(handler, 'retry') - except AttributeError: - pass - else: - yield retry.bind(self, handler_name) - - def default_routes(self): - - @self.route( - '/', - interactive=False, - spec={ - 'summary': 'Redirect to the Swagger UI for interactive use of this REST API', - 'tags': ['Auxiliary'], - 'responses': { - '301': { - 'description': 'A redirect to the Swagger UI' - } - } - } - ) - def swagger_redirect(): - headers: HeadersType = { - 'Location': str(self.base_url.set(path='swagger/index.html')) - } - return Response(status_code=301, body='', headers=headers) - - @self.route( - '/swagger/index.html', - interactive=False, - cache_control=self._http_cache_for(24 * 60 * 60), - cors=False, - spec={ - 'summary': 'The Swagger UI for interactive use of this REST API', - 'tags': ['Auxiliary'], - 'responses': { - '200': { - 'description': 'The response body is an HTML page containing the Swagger UI' - } - } - } - ) - def swagger_ui(): - return self.swagger_resource('index.html') - - @self.route( - '/swagger/swagger-initializer.js', - interactive=False, - cache_control=self._http_cache_for(60), - cors=True, - spec={ - 'summary': 'Used internally by the Swagger UI', - 'tags': ['Auxiliary'], - 'responses': { - '200': { - 'description': 'The response body is JavaScript used internally by the Swagger UI' - } - } - } - ) - def swagger_initializer(): - file_name = 'swagger-initializer.js.template.mustache' - template = self.load_static_resource('swagger', file_name) - base_url = self.base_url - redirect_url = furl(base_url).add(path='oauth2_redirect') - openapi_spec = furl(base_url).add(path='openapi.json') - body = chevron.render(template, { - 'OPENAPI_SPEC': json.dumps(str(openapi_spec.path)), - 'OAUTH2_CLIENT_ID': json.dumps(config.google_oauth2_client_id), - 'OAUTH2_REDIRECT_URL': json.dumps(str(redirect_url)), - 'NON_INTERACTIVE_METHODS': json.dumps([ - f'{path}/{method.lower()}' - for path, method in self.non_interactive_routes - ]) - }) - headers: HeadersType = {'Content-Type': 'application/javascript'} - return Response(status_code=200, body=body, headers=headers) - - @self.route( - '/swagger/{file}', - interactive=False, - cache_control=self._http_cache_for(24 * 60 * 60), - cors=True, - spec={ - 'summary': 'Static files needed for the Swagger UI', - 'tags': ['Auxiliary'], - 'responses': { - '200': { - 'description': 'The response body is the contents of the requested file' - }, - '404': { - 'description': 'The requested file does not exist' - } - } - }, - path_spec={ - 'parameters': [ - params.path('file', str, description='The name of a static file to be returned') - ] - } - ) - def swagger_resource(file): - return self.swagger_resource(file) - - @self.route( - '/openapi.json', - methods=['GET'], - cache_control=self._http_cache_for(60), - cors=True, - spec={ - 'summary': 'Return OpenAPI specifications for this REST API', - 'description': format_description(''' - This endpoint returns the [OpenAPI specifications]' - (https://github.com/OAI/OpenAPI-Specification) for this REST - API. These are the specifications used to generate the page - you are visiting now. - '''), - 'responses': { - '200': { - 'description': '200 response', - **responses.json_content( - schema.object( - openapi=str, - **{ - k: schema.object() - for k in ('info', 'tags', 'servers', 'paths', 'components') - } - ) - ) - } - }, - 'tags': ['Auxiliary'] - } - ) - def openapi(): - return Response(status_code=200, - headers={'content-type': 'application/json'}, - body=self.spec()) - - @self.route( - '/version', - methods=['GET'], - cors=True, - spec={ - 'summary': 'Describe current version of this REST API', - 'tags': ['Auxiliary'], - 'responses': { - '200': { - 'description': 'Version endpoint is reachable.', - **responses.json_content( - schema.object( - git=schema.object( - commit=str, - dirty=bool - ) - ) - ) - } - } - } - ) - def version(): - return { - 'git': config.lambda_git_status - } - - @self.route( - '/robots.txt', - methods=['GET'], - cors=True, - spec={ - 'summary': 'Robots Exclusion Protocol', - 'tags': ['Auxiliary'], - 'responses': { - '200': { - 'description': format_description(''' - The robots.txt resource according to - [RFC9309](https://datatracker.ietf.org/doc/html/rfc9309) - '''), - } - } - } - ) - def robots_txt(): - body = '\n'.join(f'{k}: {v}' for k, v in [ - ('User-agent', '*'), - ('Disallow', '/'), - # Keep consistent with regex in scope-down statement for the - # bot control rule set in api_gateway.tf.json.template.py - ('Allow', '/$'), - ('Allow', '/swagger/') - ]) - headers: HeadersType = {'Content-Type': 'text/plain'} - return Response(status_code=200, headers=headers, body=body) - - return locals() - - def default_specs(self): - return { - 'responses': { - '504': { - 'description': format_description(''' - Request timed out. When handling this response, clients - should wait the number of seconds specified in the - `Retry-After` header and then retry the request. - ''') - } - } - } - - -@attrs.frozen(kw_only=True) -class AppController: - app: AzulChaliceApp - - @property - def lambda_context(self) -> LambdaContext: - assert self.app.lambda_context is not None - return self.app.lambda_context - - @property - def current_request(self) -> AzulRequest: - assert self.app.current_request is not None - return self.app.current_request diff --git a/src/azul/compliance/__init__.py b/src/azul/compliance/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/azul/compliance/fedramp_inventory_service.py b/src/azul/compliance/fedramp_inventory_service.py deleted file mode 100644 index 69ab18103b..0000000000 --- a/src/azul/compliance/fedramp_inventory_service.py +++ /dev/null @@ -1,932 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from collections import ( - Counter, - defaultdict, -) -import inspect -import json -import logging -from operator import ( - attrgetter, -) -import pathlib -import sys -from typing import ( - AbstractSet, - Iterable, - Iterator, - Optional, - Self, - Sequence, -) - -import attr -import attrs -from furl import ( - furl, -) -import gitlab.v4.objects.projects -from more_itertools import ( - chunked, - flatten, -) -import openpyxl -from openpyxl.utils import ( - get_column_letter, -) -from openpyxl.worksheet.worksheet import ( - Worksheet, -) - -from azul import ( - cached_property, - config, -) -from azul.deployment import ( - aws, -) -from azul.types import ( - JSON, - JSONs, -) - -log = logging.getLogger(__name__) - - -@attr.s(auto_attribs=True, frozen=True, kw_only=True) -class ResourceConfig: - id: str - name: Optional[str] - region: str - type: str - state_id: str - config: JSON - supplementary_config: JSON - - @classmethod - def from_response(cls, response: dict) -> Self: - return cls( - id=response['resourceId'], - name=response.get('resourceName'), - region=response['awsRegion'], - type=response['resourceType'], - state_id=response['configurationStateId'], - config=json.loads(response['configuration']), - supplementary_config=response['supplementaryConfiguration'] - ) - - -null_str = Optional[str] - - -class YesNo: - yes = 'Yes' - no = 'No' - - @classmethod - def from_bool(cls, b: bool) -> str: - return cls.yes if b else cls.no - - -@attr.s(auto_attribs=True, frozen=True, kw_only=True) -class InventoryRow: - unique_id: null_str = attr.ib(default=None) - ip_address: null_str = attr.ib(default=None) - is_virtual: null_str = attr.ib(default=None) - is_public: null_str = attr.ib(default=None) - dns_name: null_str = attr.ib(default=None) - netbios_name: null_str = attr.ib(default=None) - mac_address: null_str = attr.ib(default=None) - authenticated_scan_planned: null_str = attr.ib(default=None) - baseline_config: null_str = attr.ib(default=None) - os: null_str = attr.ib(default=None) - location: null_str = attr.ib(default=None) - asset_type: null_str = attr.ib(default=None) - hardware_model: null_str = attr.ib(default=None) - in_latest_scan: null_str = attr.ib(default=None) - software_vendor: null_str = attr.ib(default=None) - software_product_name: null_str = attr.ib(default=None) - patch_level: null_str = attr.ib(default=None) - purpose: null_str = attr.ib(default=None) - comments: null_str = attr.ib(default=None) - asset_tag: null_str = attr.ib(default=None) - network_id: null_str = attr.ib(default=None) - system_owner: null_str = attr.ib(default=None) - application_owner: null_str = attr.ib(default=None) - - -class Mapper(metaclass=ABCMeta): - - @abstractmethod - def map(self, resource: ResourceConfig) -> Iterable[InventoryRow]: - raise NotImplementedError - - def _common_fields(self, - resource: ResourceConfig, - *, - id_suffix: Optional[str] = None - ) -> dict: - return dict( - asset_tag=resource.name, - location=resource.region, - software_vendor='AWS', - system_owner=config.owner, - application_owner=config.owner, - unique_id=resource.id + ('' if id_suffix is None else f'/{id_suffix}') - ) - - def _supported_resource_types(self) -> AbstractSet[str]: - return frozenset() - - def can_map(self, resource: ResourceConfig) -> bool: - return resource.type in self._supported_resource_types() - - -class LambdaMapper(Mapper): - - def _supported_resource_types(self) -> set[str]: - return {'AWS::Lambda::Function'} - - def map(self, resource: ResourceConfig) -> Iterator[InventoryRow]: - yield InventoryRow( - asset_type='AWS Lambda Function', - baseline_config=resource.config['runtime'], - is_public=YesNo.no, - is_virtual=YesNo.yes, - purpose=resource.config.get('description'), - software_product_name='AWS Lambda', - **self._common_fields(resource) - ) - - -class ElasticSearchMapper(Mapper): - - def _supported_resource_types(self) -> set[str]: - return {'AWS::Elasticsearch::Domain'} - - def map(self, resource: ResourceConfig) -> Iterator[InventoryRow]: - yield InventoryRow( - asset_type='AWS OpenSearch Domain', - baseline_config=resource.config['elasticsearchVersion'], - is_public=YesNo.no, - is_virtual=YesNo.yes, - network_id=resource.config['endpoints'].get('vpc'), - patch_level=resource.config.get('serviceSoftwareOptions', {}).get('currentVersion'), - software_product_name='AWS OpenSearch', - **self._common_fields(resource) - ) - - -class EC2Mapper(Mapper): - - def _supported_resource_types(self) -> set[str]: - return {'AWS::EC2::Instance'} - - def map(self, resource: ResourceConfig) -> Iterable[InventoryRow]: - for nic in resource.config['networkInterfaces']: - for ip_addresses in nic['privateIpAddresses']: - ip_addresses: JSON - association = ip_addresses.get('association') - ips = [ - dict(ip_address=ip_addresses['privateIpAddress'], - dns_name=ip_addresses['privateDnsName'], - is_public=YesNo.no), - *(() if association is None else ( - dict(ip_address=association['publicIp'], - is_public=YesNo.yes, - dns_name=resource.config.get('publicDnsName')) - )) - ] - for ip_fields in ips: - yield InventoryRow( - asset_type='AWS EC2 Instance', - authenticated_scan_planned=YesNo.yes, - baseline_config=resource.config['imageId'], - hardware_model=resource.config['instanceType'], - is_virtual=YesNo.yes, - mac_address=nic['macAddress'], - network_id=ip_addresses.get('subnetId'), - **ip_fields, - **self._common_fields(resource, id_suffix=ip_fields['ip_address']) - ) - - def _get_ip_address(self, ip_addresses: JSON, keys) -> str: - for key in keys: - ip_addresses = ip_addresses[key] - return ip_addresses - - -class ELBMapper(Mapper): - - def _supported_resource_types(self) -> set[str]: - return { - 'AWS::ElasticLoadBalancing::LoadBalancer', - 'AWS::ElasticLoadBalancingV2::LoadBalancer' - } - - def map(self, resource: ResourceConfig) -> Iterator[InventoryRow]: - ip_addresses = self._get_ip_addresses(resource.config['availabilityZones']) - if not ip_addresses: - ip_addresses = [None] - for ip_address in ip_addresses: - yield InventoryRow( - dns_name=resource.config['dNSName'], - ip_address=ip_address, - is_public=YesNo.from_bool(resource.config['scheme'] == 'internet-facing'), - is_virtual=YesNo.yes, - **self._polymorphic_fields(resource), - **self._common_fields(resource, id_suffix=ip_address) - ) - - def _polymorphic_fields(self, resource: ResourceConfig) -> dict[str, str]: - # Classic ELBs have key of 'vpcid' while V2 ELBs have key of 'vpcId' - prefix = 'AWS Elastic Load Balancer-' - if resource.type == 'AWS::ElasticLoadBalancing::LoadBalancer': - asset_type = prefix + 'Classic' - network_id = resource.config['vpcid'] - else: - asset_type = prefix + resource.config['type'] - network_id = resource.config['vpcId'] - return dict(asset_type=asset_type, network_id=network_id) - - def _get_ip_addresses(self, availability_zones: JSONs) -> set[Optional[str]]: - return { - load_balancer_address.get('ipAddress') - for availability_zone in availability_zones - for load_balancer_addresses in availability_zone.get('loadBalancerAddresses', ()) - for load_balancer_address in load_balancer_addresses - } - - -class NetworkInterfaceMapper(Mapper): - - def _supported_resource_types(self) -> AbstractSet[str]: - return {'AWS::EC2::NetworkInterface'} - - def map(self, resource: ResourceConfig) -> Iterable[InventoryRow]: - ips = [ - dict(is_public=YesNo.no, - ip_address=private_ip['privateIpAddress'], - dns_name=private_ip.get('privateDnsName')) - for private_ip in resource.config['privateIpAddresses'] - ] - association = resource.config.get('association') - if association is not None: - ips.append(dict(is_public=YesNo.yes, - ip_address=association['publicIp'], - dns_name=association['publicDnsName'])) - for ip_fields in ips: - yield InventoryRow( - asset_type='AWS EC2 Network Interface', - mac_address=resource.config.get('macAddress'), - network_id=resource.config['subnetId'], - purpose=resource.config.get('description'), - **ip_fields, - **self._common_fields(resource, id_suffix=ip_fields['ip_address']) - ) - - -class S3Mapper(Mapper): - - def _supported_resource_types(self) -> set[str]: - return {'AWS::S3::Bucket'} - - def map(self, resource: ResourceConfig) -> Iterator[InventoryRow]: - yield InventoryRow( - asset_type='AWS S3 Bucket', - comments=self._get_encryption_status(resource), - is_public=YesNo.from_bool(self._get_is_public(resource)), - is_virtual=YesNo.yes, - **self._common_fields(resource) - ) - - def _get_is_public(self, resource: ResourceConfig) -> bool: - try: - public_access_config = resource.supplementary_config['PublicAccessBlockConfiguration'] - except KeyError: - # If there is no PublicAccessBlockConfiguration then this bucket is public - return True - else: - public_access_config = json.loads(public_access_config) - # The bucket is public if any access blocks are false - return not all(public_access_config.values()) - - def _get_encryption_status(self, resource: ResourceConfig) -> str: - if 'ServerSideEncryptionConfiguration' in resource.supplementary_config: - return 'Encrypted' - else: - return 'Not encrypted' - - -class DynamoDbTableMapper(Mapper): - - def _supported_resource_types(self) -> set[str]: - return {'AWS::DynamoDB::Table'} - - def map(self, resource: ResourceConfig) -> Iterator[InventoryRow]: - yield InventoryRow( - asset_type='AWS DynamoDB Table', - is_public=YesNo.no, - is_virtual=YesNo.yes, - software_product_name='AWS DynamoDB', - **self._common_fields(resource) - ) - - -class ElasticIPMapper(Mapper): - - def _supported_resource_types(self) -> AbstractSet[str]: - return {'AWS::EC2::EIP'} - - def map(self, resource: ResourceConfig) -> Iterable[InventoryRow]: - for ip, is_public in [ - (resource.config['publicIp'], YesNo.yes), - (resource.config['privateIpAddress'], YesNo.no) - ]: - yield InventoryRow( - asset_type='AWS EC2 Elastic IP', - ip_address=ip, - is_public=is_public, - network_id=resource.config['networkInterfaceId'], - **self._common_fields(resource, id_suffix=ip) - ) - - -class RDSMapper(Mapper): - - def _supported_resource_types(self) -> set[str]: - return {'AWS::RDS::DBInstance'} - - def map(self, resource: ResourceConfig) -> Iterator[InventoryRow]: - yield InventoryRow( - asset_type='AWS RDS Instance', - hardware_model=resource.config['dBInstanceClass'], - is_public=YesNo.from_bool(resource.config['publiclyAccessible']), - is_virtual=YesNo.yes, - network_id=resource.config.get('dBSubnetGroup', {}).get('vpcId'), - software_product_name=f"{resource.config['engine']}-{resource.config['engineVersion']}", - **self._common_fields(resource) - ) - - -class VPCMapper(Mapper): - - def _supported_resource_types(self) -> set[str]: - return {'AWS::EC2::VPC'} - - def map(self, resource: ResourceConfig) -> Iterator[InventoryRow]: - yield InventoryRow( - asset_type='AWS VPC', - baseline_config=resource.state_id, - ip_address=resource.config['cidrBlock'], - is_public=YesNo.yes, - is_virtual=YesNo.yes, - network_id=resource.config['vpcId'], - **self._common_fields(resource) - ) - - -class ACMCertificateMapper(Mapper): - - def _supported_resource_types(self) -> AbstractSet[str]: - return {'AWS::ACM::Certificate'} - - def map(self, resource: ResourceConfig) -> Iterable[InventoryRow]: - yield InventoryRow( - asset_type='AWS ACM Certificate', - **self._common_fields(resource) - ) - for user in resource.config['inUseBy']: - parts, id = user.split('/', 1) - parts = parts.split(':') - if parts[:2] == ['aws', 'clientvpn']: - _, resource_type, region, stage = parts - url = '.'.join([id, stage, resource_type, region, 'amazonaws.com']) - yield InventoryRow( - asset_tag=user, - asset_type='AWS Client VPN', - dns_name=url, - location=region, - software_vendor='AWS', - unique_id=url + ':443', - ) - - -class ResourceComplianceMapper(Mapper): - - def _supported_resource_types(self) -> AbstractSet[str]: - return {'AWS::Config::ResourceCompliance'} - - def map(self, resource: ResourceConfig) -> Iterable[InventoryRow]: - # Intentionally omit rows for this resource type - return () - - -class DefaultMapper(Mapper): - - def can_map(self, resource: ResourceConfig) -> bool: - return True - - def map(self, resource: ResourceConfig) -> Iterable[InventoryRow]: - yield InventoryRow( - asset_type=resource.type, - **self._common_fields(resource) - ) - - -class FedRAMPInventoryService: - default_column_width = 10 - first_writable_row = 6 - report_worksheet_name = 'Inventory' - - @property - def config(self): - return aws.client('config') - - @cached_property - def _mappers(self) -> Sequence[Mapper]: - current_module = sys.modules[__name__] - - def is_mapper_cls(o: object) -> bool: - return ( - inspect.isclass(o) - and not inspect.isabstract(o) - and issubclass(o, Mapper) - ) - - mapper_clss = [ - mapper_cls - for name, mapper_cls in inspect.getmembers(current_module, is_mapper_cls) - ] - - def get_linenno(o: type) -> int: - src, lineno = inspect.findsource(o) - return lineno - - mapper_clss.sort(key=get_linenno) - return [mapper_cls() for mapper_cls in mapper_clss] - - def resource_ids_by_type(self) -> defaultdict[str, list[str]]: - resource_ids_by_type = defaultdict(list) - for resource_type in self._all_aws_resource_types: - args = dict(resourceType=resource_type) - while True: - response = self.config.list_discovered_resources(**args) - resources = response['resourceIdentifiers'] - log.debug('Discovered %d resources of type %s', len(resources), resource_type) - for resource in resources: - assert resource['resourceType'] == resource_type - resource_ids_by_type[resource_type].append(resource['resourceId']) - next_token = response.get('nextToken') - if next_token is None: - break - else: - args['nextToken'] = next_token - return resource_ids_by_type - - def get_resources(self) -> Iterator[ResourceConfig]: - for resource_type, resource_ids in self.resource_ids_by_type().items(): - # Maximum permitted batch size - for resource_ids in chunked(resource_ids, 100): - resource_keys = [ - dict(resourceType=resource_type, resourceId=resource_id) - for resource_id in resource_ids - ] - while resource_keys: - response = self.config.batch_get_resource_config(resourceKeys=resource_keys) - items = response['baseConfigurationItems'] - log.debug('Got page of %d resources of type %s', len(items), resource_type) - yield from map(ResourceConfig.from_response, items) - resource_keys = response['unprocessedResourceKeys'] - - def get_inventory(self, - resources: Iterable[ResourceConfig] - ) -> Iterable[InventoryRow]: - rows_by_mapper: defaultdict[Mapper, list[InventoryRow]] = defaultdict(list) - resource_counts = Counter() - row_counts = Counter() - for resource in resources: - mapper = self._get_mapper(resource) - log.debug('Mapping %r resource using %r', - resource.type, type(mapper).__name__) - rows = sorted(mapper.map(resource), key=attrgetter('unique_id')) - log.debug('Mapped to %d rows', len(rows)) - resource_counts[resource.type] += 1 - row_counts[resource.type] += len(rows) - rows_by_mapper[mapper].extend(rows) - - log.info('Inventory contents:') - print(f'\n{"Resource type":<42s}' - f'{"# resources":<20s}' - f'{"# rows":<20s}\n') - for resource_type in resource_counts.keys(): - print(f'{resource_type:<42s}' - f'{resource_counts[resource_type]:>15d}' - f'{row_counts[resource_type]:>10d}') - - return flatten(rows_by_mapper[mapper] for mapper in self._mappers) - - def get_synthetic_inventory(self) -> Iterable[InventoryRow]: - data_browser_url = furl(scheme='https', netloc=config.data_browser_domain) - yield InventoryRow( - asset_type='Application endpoint', - dns_name=str(data_browser_url), - is_public=YesNo.yes, - purpose='UI for external users', - software_vendor='UCSC', - system_owner=config.owner, - application_owner=config.owner, - unique_id='Data Browser UI', - ) - yield InventoryRow( - asset_type='Service endpoint', - dns_name=str(config.service_endpoint), - is_public=YesNo.from_bool(not config.private_api), - purpose='Service API (backend for Data Browser UI, programmatic use by external users)', - software_vendor='UCSC', - system_owner=config.owner, - application_owner=config.owner, - unique_id='Service REST API', - ) - yield InventoryRow( - asset_type='Application endpoint', - dns_name=str(config.indexer_endpoint), - is_public=YesNo.from_bool(not config.private_api), - purpose='Indexer API (primarily for internal users)', - software_vendor='UCSC', - system_owner=config.owner, - application_owner=config.owner, - unique_id='Indexer API', - ) - - for unique_id, purpose, port, scheme in [ - ('GitLab UI', 'CI/CD (internal users only)', None, 'https'), - ('GitLab SSH', 'CI/CD (system administrators only)', 2222, 'ssh'), - ('GitLab Git', 'Source repository for CI/CD (internal users only)', 22, 'git+ssh') - ]: - gitlab_url = furl(scheme=scheme, - host=f'gitlab.{config.domain_name}', - port=port) - yield InventoryRow( - asset_type='Service endpoint', - dns_name=str(gitlab_url), - is_public=YesNo.no, - software_vendor='GitLab', - system_owner=config.owner, - application_owner=config.owner, - purpose=purpose, - unique_id=unique_id, - ) - - def write_report(self, - inventory: Iterable[InventoryRow], - template_path: pathlib.Path, - output_path: pathlib.Path - ) -> None: - workbook = openpyxl.load_workbook(template_path) - worksheet = workbook[self.report_worksheet_name] - for row_number, row in enumerate(inventory, start=self.first_writable_row): - row = attr.astuple(row) - for column_number, value in enumerate(row, start=1): - self._write_cell_if_value_provided(worksheet, - column=column_number, - row=row_number, - value=value) - workbook.save(output_path) - log.info('Wrote report to %s', output_path) - - def update_wiki(self, - project: gitlab.v4.objects.projects.Project, - page_name: str, - resources: Iterable[ResourceConfig], - ) -> None: - content = self._wiki_content(resources) - try: - page = project.wikis.get(page_name) - except gitlab.exceptions.GitlabError as e: - if e.response_code == 404: - log.info('Wiki page %r not found', page_name) - project.wikis.create({ - 'title': page_name, - 'content': content - }) - log.info('Created wiki page %r (character count: %d)', - page_name, len(content)) - else: - raise - else: - old_length = len(page.content) - page.content = content - page.save() - log.info('Updated wiki page %r (character count: %d -> %d)', - page_name, old_length, len(content)) - - def _get_mapper(self, resource: ResourceConfig) -> Mapper: - return next( - mapper - for mapper in self._mappers - if mapper.can_map(resource) - ) - - def _write_cell_if_value_provided(self, - worksheet: Worksheet, - column: int, - row: int, - value: Optional[str] - ) -> None: - if value: - # Scale the size of the column with the input value if necessary. - # By default, width is None. - dimensions = worksheet.column_dimensions[get_column_letter(column)] - if dimensions.width is None: - dimensions.width = self.default_column_width - else: - dimensions.width = max(dimensions.width, len(value)) - worksheet.cell(column=column, row=row, value=value) - - def _wiki_content(self, resources: Iterable[ResourceConfig]) -> str: - return '\n\n'.join( - f'```\n{json.dumps(attrs.asdict(resource), indent=4)}\n```' - for resource in resources - ) - - # https://docs.aws.amazon.com/config/latest/APIReference/API_ListDiscoveredResources.html#API_ListDiscoveredResources_RequestSyntax - _all_aws_resource_types = [ - 'AWS::ACM::Certificate', - 'AWS::AccessAnalyzer::Analyzer', - 'AWS::AmazonMQ::Broker', - 'AWS::ApiGateway::RestApi', - 'AWS::ApiGateway::Stage', - 'AWS::ApiGatewayV2::Api', - 'AWS::ApiGatewayV2::Stage', - 'AWS::AppConfig::Application', - 'AWS::AppConfig::ConfigurationProfile', - 'AWS::AppConfig::Environment', - 'AWS::AppStream::DirectoryConfig', - 'AWS::AppSync::GraphQLApi', - 'AWS::Athena::DataCatalog', - 'AWS::Athena::WorkGroup', - 'AWS::AutoScaling::AutoScalingGroup', - 'AWS::AutoScaling::LaunchConfiguration', - 'AWS::AutoScaling::ScalingPolicy', - 'AWS::AutoScaling::ScheduledAction', - 'AWS::AutoScaling::WarmPool', - 'AWS::Backup::BackupPlan', - 'AWS::Backup::BackupSelection', - 'AWS::Backup::BackupVault', - 'AWS::Backup::RecoveryPoint', - 'AWS::Backup::ReportPlan', - 'AWS::Batch::ComputeEnvironment', - 'AWS::Batch::JobQueue', - 'AWS::Budgets::BudgetsAction', - 'AWS::Cloud9::EnvironmentEC2', - 'AWS::CloudFormation::Stack', - 'AWS::CloudFront::Distribution', - 'AWS::CloudFront::StreamingDistribution', - 'AWS::CloudTrail::Trail', - 'AWS::CloudWatch::Alarm', - 'AWS::CodeBuild::Project', - 'AWS::CodeDeploy::Application', - 'AWS::CodeDeploy::DeploymentConfig', - 'AWS::CodeDeploy::DeploymentGroup', - 'AWS::CodeGuruReviewer::RepositoryAssociation', - 'AWS::CodePipeline::Pipeline', - 'AWS::Config::ConformancePackCompliance', - 'AWS::Config::ResourceCompliance', - 'AWS::Connect::PhoneNumber', - 'AWS::CustomerProfiles::Domain', - 'AWS::DMS::Certificate', - 'AWS::DMS::EventSubscription', - 'AWS::DMS::ReplicationSubnetGroup', - 'AWS::DataSync::LocationEFS', - 'AWS::DataSync::LocationFSxLustre', - 'AWS::DataSync::LocationFSxWindows', - 'AWS::DataSync::LocationHDFS', - 'AWS::DataSync::LocationNFS', - 'AWS::DataSync::LocationObjectStorage', - 'AWS::DataSync::LocationS3', - 'AWS::DataSync::LocationSMB', - 'AWS::DataSync::Task', - 'AWS::Detective::Graph', - 'AWS::DeviceFarm::TestGridProject', - 'AWS::DynamoDB::Table', - 'AWS::EC2::CustomerGateway', - 'AWS::EC2::DHCPOptions', - 'AWS::EC2::EIP', - 'AWS::EC2::EgressOnlyInternetGateway', - 'AWS::EC2::FlowLog', - 'AWS::EC2::Host', - 'AWS::EC2::IPAM', - 'AWS::EC2::Instance', - 'AWS::EC2::InternetGateway', - 'AWS::EC2::LaunchTemplate', - 'AWS::EC2::NatGateway', - 'AWS::EC2::NetworkAcl', - 'AWS::EC2::NetworkInsightsAccessScopeAnalysis', - 'AWS::EC2::NetworkInsightsPath', - 'AWS::EC2::NetworkInterface', - 'AWS::EC2::RegisteredHAInstance', - 'AWS::EC2::RouteTable', - 'AWS::EC2::SecurityGroup', - 'AWS::EC2::Subnet', - 'AWS::EC2::TrafficMirrorFilter', - 'AWS::EC2::TrafficMirrorSession', - 'AWS::EC2::TrafficMirrorTarget', - 'AWS::EC2::TransitGateway', - 'AWS::EC2::TransitGatewayAttachment', - 'AWS::EC2::TransitGatewayRouteTable', - 'AWS::EC2::VPC', - 'AWS::EC2::VPCEndpoint', - 'AWS::EC2::VPCEndpointService', - 'AWS::EC2::VPCPeeringConnection', - 'AWS::EC2::VPNConnection', - 'AWS::EC2::VPNGateway', - 'AWS::EC2::Volume', - 'AWS::ECR::PublicRepository', - 'AWS::ECR::RegistryPolicy', - 'AWS::ECR::Repository', - 'AWS::ECS::Cluster', - 'AWS::ECS::Service', - 'AWS::ECS::TaskDefinition', - 'AWS::EFS::AccessPoint', - 'AWS::EFS::FileSystem', - 'AWS::EKS::Addon', - 'AWS::EKS::Cluster', - 'AWS::EKS::FargateProfile', - 'AWS::EKS::IdentityProviderConfig', - 'AWS::EMR::SecurityConfiguration', - 'AWS::ElasticBeanstalk::Application', - 'AWS::ElasticBeanstalk::ApplicationVersion', - 'AWS::ElasticBeanstalk::Environment', - 'AWS::ElasticLoadBalancing::LoadBalancer', - 'AWS::ElasticLoadBalancingV2::Listener', - 'AWS::ElasticLoadBalancingV2::LoadBalancer', - 'AWS::Elasticsearch::Domain', - 'AWS::EventSchemas::Discoverer', - 'AWS::EventSchemas::Registry', - 'AWS::EventSchemas::RegistryPolicy', - 'AWS::EventSchemas::Schema', - 'AWS::Events::ApiDestination', - 'AWS::Events::Archive', - 'AWS::Events::Connection', - 'AWS::Events::Endpoint', - 'AWS::Events::EventBus', - 'AWS::Events::Rule', - 'AWS::FIS::ExperimentTemplate', - 'AWS::FraudDetector::EntityType', - 'AWS::FraudDetector::Label', - 'AWS::FraudDetector::Outcome', - 'AWS::FraudDetector::Variable', - 'AWS::GlobalAccelerator::Accelerator', - 'AWS::GlobalAccelerator::EndpointGroup', - 'AWS::GlobalAccelerator::Listener', - 'AWS::Glue::Classifier', - 'AWS::Glue::Job', - 'AWS::Glue::MLTransform', - 'AWS::GuardDuty::Detector', - 'AWS::GuardDuty::Filter', - 'AWS::GuardDuty::IPSet', - 'AWS::GuardDuty::ThreatIntelSet', - 'AWS::HealthLake::FHIRDatastore', - 'AWS::IAM::Group', - 'AWS::IAM::Policy', - 'AWS::IAM::Role', - 'AWS::IAM::User', - 'AWS::IVS::Channel', - 'AWS::IVS::PlaybackKeyPair', - 'AWS::IVS::RecordingConfiguration', - 'AWS::ImageBuilder::ContainerRecipe', - 'AWS::ImageBuilder::DistributionConfiguration', - 'AWS::ImageBuilder::InfrastructureConfiguration', - 'AWS::IoT::AccountAuditConfiguration', - 'AWS::IoT::Authorizer', - 'AWS::IoT::CustomMetric', - 'AWS::IoT::Dimension', - 'AWS::IoT::MitigationAction', - 'AWS::IoT::Policy', - 'AWS::IoT::RoleAlias', - 'AWS::IoT::ScheduledAudit', - 'AWS::IoT::SecurityProfile', - 'AWS::IoTAnalytics::Channel', - 'AWS::IoTAnalytics::Dataset', - 'AWS::IoTAnalytics::Datastore', - 'AWS::IoTAnalytics::Pipeline', - 'AWS::IoTEvents::AlarmModel', - 'AWS::IoTEvents::DetectorModel', - 'AWS::IoTEvents::Input', - 'AWS::IoTSiteWise::AssetModel', - 'AWS::IoTSiteWise::Dashboard', - 'AWS::IoTSiteWise::Gateway', - 'AWS::IoTSiteWise::Portal', - 'AWS::IoTSiteWise::Project', - 'AWS::IoTTwinMaker::Entity', - 'AWS::IoTTwinMaker::Scene', - 'AWS::IoTTwinMaker::Workspace', - 'AWS::KMS::Key', - 'AWS::Kinesis::Stream', - 'AWS::Kinesis::StreamConsumer', - 'AWS::KinesisAnalyticsV2::Application', - 'AWS::KinesisVideo::SignalingChannel', - 'AWS::Lambda::Function', - 'AWS::Lex::Bot', - 'AWS::Lex::BotAlias', - 'AWS::Lightsail::Bucket', - 'AWS::Lightsail::Certificate', - 'AWS::Lightsail::Disk', - 'AWS::Lightsail::StaticIp', - 'AWS::LookoutMetrics::Alert', - 'AWS::LookoutVision::Project', - 'AWS::MSK::Cluster', - 'AWS::MediaPackage::PackagingConfiguration', - 'AWS::MediaPackage::PackagingGroup', - 'AWS::NetworkFirewall::Firewall', - 'AWS::NetworkFirewall::FirewallPolicy', - 'AWS::NetworkFirewall::RuleGroup', - 'AWS::NetworkManager::TransitGatewayRegistration', - 'AWS::OpenSearch::Domain', - 'AWS::Pinpoint::ApplicationSettings', - 'AWS::Pinpoint::Segment', - 'AWS::QLDB::Ledger', - 'AWS::RDS::DBCluster', - 'AWS::RDS::DBClusterSnapshot', - 'AWS::RDS::DBInstance', - 'AWS::RDS::DBSecurityGroup', - 'AWS::RDS::DBSnapshot', - 'AWS::RDS::DBSubnetGroup', - 'AWS::RDS::EventSubscription', - 'AWS::RDS::GlobalCluster', - 'AWS::RUM::AppMonitor', - 'AWS::Redshift::Cluster', - 'AWS::Redshift::ClusterParameterGroup', - 'AWS::Redshift::ClusterSecurityGroup', - 'AWS::Redshift::ClusterSnapshot', - 'AWS::Redshift::ClusterSubnetGroup', - 'AWS::Redshift::EventSubscription', - 'AWS::ResilienceHub::ResiliencyPolicy', - 'AWS::RoboMaker::RobotApplication', - 'AWS::RoboMaker::RobotApplicationVersion', - 'AWS::RoboMaker::SimulationApplication', - 'AWS::Route53::HostedZone', - 'AWS::Route53RecoveryControl::Cluster', - 'AWS::Route53RecoveryControl::ControlPanel', - 'AWS::Route53RecoveryControl::RoutingControl', - 'AWS::Route53RecoveryControl::SafetyRule', - 'AWS::Route53RecoveryReadiness::Cell', - 'AWS::Route53RecoveryReadiness::ReadinessCheck', - 'AWS::Route53RecoveryReadiness::RecoveryGroup', - 'AWS::Route53RecoveryReadiness::ResourceSet', - 'AWS::Route53Resolver::FirewallDomainList', - 'AWS::Route53Resolver::ResolverEndpoint', - 'AWS::Route53Resolver::ResolverRule', - 'AWS::Route53Resolver::ResolverRuleAssociation', - 'AWS::S3::AccountPublicAccessBlock', - 'AWS::S3::Bucket', - 'AWS::S3::MultiRegionAccessPoint', - 'AWS::S3::StorageLens', - 'AWS::SES::ConfigurationSet', - 'AWS::SES::ContactList', - 'AWS::SES::ReceiptFilter', - 'AWS::SES::ReceiptRuleSet', - 'AWS::SES::Template', - 'AWS::SNS::Topic', - 'AWS::SQS::Queue', - 'AWS::SSM::AssociationCompliance', - 'AWS::SSM::FileData', - 'AWS::SSM::ManagedInstanceInventory', - 'AWS::SSM::PatchCompliance', - 'AWS::SageMaker::CodeRepository', - 'AWS::SageMaker::Model', - 'AWS::SageMaker::NotebookInstanceLifecycleConfig', - 'AWS::SageMaker::Workteam', - 'AWS::SecretsManager::Secret', - 'AWS::ServiceCatalog::CloudFormationProduct', - 'AWS::ServiceCatalog::CloudFormationProvisionedProduct', - 'AWS::ServiceCatalog::Portfolio', - 'AWS::ServiceDiscovery::HttpNamespace', - 'AWS::ServiceDiscovery::PublicDnsNamespace', - 'AWS::ServiceDiscovery::Service', - 'AWS::Shield::Protection', - 'AWS::ShieldRegional::Protection', - 'AWS::StepFunctions::Activity', - 'AWS::StepFunctions::StateMachine', - 'AWS::Transfer::Workflow', - 'AWS::WAF::RateBasedRule', - 'AWS::WAF::Rule', - 'AWS::WAF::RuleGroup', - 'AWS::WAF::WebACL', - 'AWS::WAFRegional::RateBasedRule', - 'AWS::WAFRegional::Rule', - 'AWS::WAFRegional::RuleGroup', - 'AWS::WAFRegional::WebACL', - 'AWS::WAFv2::IPSet', - 'AWS::WAFv2::ManagedRuleSet', - 'AWS::WAFv2::RegexPatternSet', - 'AWS::WAFv2::RuleGroup', - 'AWS::WAFv2::WebACL', - 'AWS::WorkSpaces::ConnectionAlias', - 'AWS::WorkSpaces::Workspace', - 'AWS::XRay::EncryptionConfig', - ] diff --git a/src/azul/csp.py b/src/azul/csp.py deleted file mode 100644 index 1e6d0fe073..0000000000 --- a/src/azul/csp.py +++ /dev/null @@ -1,215 +0,0 @@ -import base64 -from collections import ( - defaultdict, -) -import logging -import re -import secrets -from typing import ( - Self, -) - -import attrs -from more_itertools import ( - only, - prepend, -) - -from azul import ( - R, -) -from azul.strings import ( - single_quote as sq, -) - -log = logging.getLogger(__name__) - - -@attrs.frozen -class CSP: - directives: dict[str, list[str]] - - @classmethod - def for_azul(cls, nonce: str | None = None) -> Self: - self, none, data = sq('self'), sq('none'), 'data:' - nonce = [] if nonce is None else [sq('nonce-' + nonce)] - return cls({ - 'default-src': [self], - 'img-src': [self, data], - 'script-src': [self, *nonce], - 'style-src': [self, *nonce], - 'frame-ancestors': [none], - 'form-action': [self] - }) - - @classmethod - def new_nonce(cls) -> str: - """ - A random nonce for use in a CSP. - """ - return base64.b64encode(secrets.token_bytes(32)).decode('ascii').rstrip('=') - - @classmethod - def parse(cls, csp: str) -> Self: - """( - - Parse the given CSP or raise RequirementError if it is not syntactically - valid against the specification at https://www.w3.org/TR/CSP2. - - >>> from azul.doctests import ( - ... assert_json, - ... ) - - >>> def parse(s): return CSP.parse(s).directives - - A valid CSP: - - >>> valid_csp = "img-src 'self' data:;frame-ancestors 'none'" - >>> assert_json(parse(valid_csp)) - { - "img-src": [ - "'self'", - "data:" - ], - "frame-ancestors": [ - "'none'" - ] - } - - Insignificant whitespace is removed: - - >>> fluffy_csp = " \timg-src\t'self' data:\t;\tframe-ancestors\t 'none' \t" - >>> parse(valid_csp) == parse(fluffy_csp) - True - - Multiple multiple directives of the same name are consolidated: - - >>> assert_json(parse("img-src data:;img-src 'self':")) - { - "img-src": [ - "data:", - "'self':" - ] - } - - Invalid CSPs: - - >>> parse(";") - Traceback (most recent call last): - ... - AssertionError: R('Invalid directive', '') - - >>> parse('img_src;') - Traceback (most recent call last): - ... - AssertionError: R('Invalid directive', 'img_src') - - >>> parse('img-src a,b') - Traceback (most recent call last): - ... - AssertionError: R('Invalid directive', 'img-src a,b') - """ - # https://www.w3.org/TR/CSP2/#policy-syntax - directive_re = re.compile(r'[ \t]*([a-zA-Z0-9-]+)' - # Space, tab and any visible character - # (0x21-0xFE) except for comma (0x2C) or - # semicolon (0x3B). - r'(?:[ \t]([ \t\x21-\x2B\x2D-\x3A\x3C-\xFE]*))?') - wsp_re = re.compile(r'[ \t]+') - directives: dict[str, list[str]] = defaultdict(list) - for directive in csp.split(';'): - match = directive_re.fullmatch(directive) - assert match is not None, R('Invalid directive', directive) - name, values = match.groups() - values = [] if values is None else filter(None, wsp_re.split(values)) - directives[name].extend(values) - return cls(directives) - - # Matches only Azul nonces, specifically - nonce_re = re.compile(sq(r'nonce-([a-zA-Z0-9+/]{43})')) - - def validate(self): - """ - Validate the directive values against a subset of the Source List - grammar from the specification. Of that grammar, only the productions - used in CSPs for Azul are supported. - - >>> def validate(s): return CSP.parse(s).validate() - - >>> valid = ('0a+/' * 11)[:43] - >>> validate(f"script-src 'self' 'nonce-{valid}'") - - Disallowed characters in nonce: - - >>> invalid = valid.replace('+','*') - >>> validate(f"script-src 'self' 'nonce-{invalid}'") - Traceback (most recent call last): - ... - AssertionError: R('Invalid value', "'nonce-0a*/0a*/0a*/0a*/0a*/0a*/0a*/0a*/0a*/0a*/0a*'") - - Nonce is too short: - - >>> invalid = valid[:-1] - >>> validate(f"script-src 'self' 'nonce-{invalid}'") - Traceback (most recent call last): - ... - AssertionError: R('Invalid value', "'nonce-0a+/0a+/0a+/0a+/0a+/0a+/0a+/0a+/0a+/0a+/0a'") - - Nonce is too long: - - >>> invalid = valid + '/' - >>> validate(f"script-src 'self' 'nonce-{invalid}'") - Traceback (most recent call last): - ... - AssertionError: R('Invalid value', "'nonce-0a+/0a+/0a+/0a+/0a+/0a+/0a+/0a+/0a+/0a+/0a+/'") - - Other invalid combinations: - - >>> validate("frame-ancestors 'none' 'none'") - Traceback (most recent call last): - ... - AssertionError: R("'none' must appear alone", ["'none'", "'none'"]) - - >>> validate("frame-ancestors 'self' 'none'") - Traceback (most recent call last): - ... - AssertionError: R("'none' must appear alone", ["'self'", "'none'"]) - - >>> validate("img-src 'self' data: 'self'") - Traceback (most recent call last): - ... - AssertionError: R('Duplicated value', ["'self'", 'data:', "'self'"]) - """ - self_, none, data = sq('self'), sq('none'), 'data:' - value_res = prepend(self.nonce_re.pattern, map(re.escape, [self_, none, data])) - value_re = re.compile('|'.join(value_res)) - for name, values in self.directives.items(): - for value in values: - match = value_re.fullmatch(value) - assert match is not None, R('Invalid value', value) - assert values == [none] or none not in values, R( - f'{none} must appear alone', values) - assert len(values) == len(set(values)), R('Duplicated value', values) - - def nonce(self) -> str | None: - """ - Extract the Azul nonce from this CSP, if present. If there are multiple - occurrances of a nonce, they must all be equal. - """ - return only(set( - value - for name, values in self.directives.items() - for value in values - if self.nonce_re.fullmatch(value) is not None - )) - - def __str__(self) -> str: - """ - >>> s = "img-src 'self' data:;frame-ancestors 'none'" - >>> s == str(CSP.parse(s)) - True - """ - return ';'.join( - ' '.join(value for value in prepend(name, values)) - for name, values in self.directives.items() - ) diff --git a/src/azul/digests.py b/src/azul/digests.py deleted file mode 100644 index 99e089aca3..0000000000 --- a/src/azul/digests.py +++ /dev/null @@ -1,48 +0,0 @@ -import base64 -import pickle -from typing import ( - Any, - Literal, - TYPE_CHECKING, -) - -import attrs -import resumablesha256 - -from azul import ( - R, -) - -if TYPE_CHECKING: - class Hasher: - - def hexdigest(self) -> str: ... - - def update(self, data: bytes, /) -> None: ... -else: - Hasher = Any - - -def get_resumable_hasher(digest_type: str) -> Hasher: - assert digest_type == 'sha256', R('Only sha256 is currently supported') - return resumablesha256.sha256() - - -def hasher_to_str(hasher: Hasher) -> str: - return base64.b64encode(pickle.dumps(hasher)).decode('ascii') - - -def hasher_from_str(s: str) -> Hasher: - return pickle.loads(base64.b64decode(s)) - - -@attrs.frozen(kw_only=True) -class Digest: - """ - A hexadecimal digest of a sequence of bytes, and the type of algorithm used - to produce said digest. The set of supported algorithms is limited to those - we believe to present an acceptable risk of hash collisions. - """ - - type: Literal['sha256', 'sha1', 'md5'] - value: str diff --git a/src/azul/docker.py b/src/azul/docker.py deleted file mode 100644 index c5e0c64aa8..0000000000 --- a/src/azul/docker.py +++ /dev/null @@ -1,740 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from base64 import ( - b64decode, - b64encode, - urlsafe_b64encode, -) -from collections import ( - defaultdict, -) -from contextlib import ( - contextmanager, -) -from hashlib import ( - sha1, - sha256, -) -import json -import logging -import os -import re -import subprocess -import tempfile -from typing import ( - Any, - Iterable, - Literal, - Optional, - Self, - TypedDict, - cast, -) - -import attrs -import docker -from docker.models.images import ( - Image, -) -from dxf import ( - DXF, - DXFBase, -) -from more_itertools import ( - one, - padded, -) -import requests - -from azul import ( - R, - cache, - cached_property, - config, -) -from azul.types import ( - JSONs, - json_int, - json_str, -) - -log = logging.getLogger(__name__) - - -@attrs.define(frozen=True) -class ImageRef(metaclass=ABCMeta): - """ - A fully qualified reference to a Docker image in a registry. - - Does not support any abbreviations such as omitting the registry (defaulting - to ``docker.io``), username (defaulting to ``library``) or tag (defaulting - to ``latest``). - """ - - #: The part before the first slash. This is usually the domain name of image - #: registry e.g., ``"docker.io"`` - registry: str - - #: The part between the first and second slash. This is usually the name of - #: the user or organisation owning the image. It can also be a generic term - #: such as ``"library"``. - username: str - - #: The part after the second slash, split on the remaining slashes. Will - #: have at least one element. - repository: tuple[str, ...] - - @classmethod - def parse(cls, image_ref: str) -> 'ImageRef': - """ - >>> ImageRef.parse('2@1') - DigestImageRef(registry='docker.io', username='library', repository=('2',), digest='1') - >>> ImageRef.parse('3/2:1') - TagImageRef(registry='docker.io', username='3', repository=('2',), tag='1') - >>> ImageRef.parse('4/3/2:1') - TagImageRef(registry='4', username='3', repository=('2',), tag='1') - >>> ImageRef.parse('5/4/3/2:1') - TagImageRef(registry='5', username='4', repository=('3', '2'), tag='1') - >>> ImageRef.parse('localhost:5000/docker.io/ucscgi/azul-pycharm:2023.3.4-15') - ... # doctest: +NORMALIZE_WHITESPACE - TagImageRef(registry='localhost:5000', - username='docker.io', - repository=('ucscgi', 'azul-pycharm'), - tag='2023.3.4-15') - """ - if '@' in image_ref: - return DigestImageRef.parse(image_ref) - else: - return TagImageRef.parse(image_ref) - - @classmethod - def _create(cls, name: str, **kwargs) -> Self: - name = name.split('/') - if len(name) == 1: - registry, username, repository = 'docker.io', 'library', name - elif len(name) == 2: - registry, (username, *repository) = 'docker.io', name - elif len(name) > 2: - registry, username, *repository = name - else: - assert False - # noinspection PyArgumentList - return cls(registry=registry, - username=username, - repository=tuple(repository), - **kwargs) - - @property - def name(self): - """ - The name of the image, starting with the registry, up to, but not - including, the tag. - """ - return '/'.join((self.registry, self.relative_name)) - - @property - def relative_name(self): - """ - The name of the image relative to the registry. - """ - return '/'.join((self.username, *self.repository)) - - @property - def registry_host(self): - """ - Same as :py:attr:``registry`` with hacks for DockerHub. - - https://github.com/docker/cli/issues/3793#issuecomment-1269051403 - """ - registry = self.registry - return 'registry-1.docker.io' if registry == 'docker.io' else registry - - def with_digest(self, digest: str) -> 'DigestImageRef': - return DigestImageRef.create(self.name, digest) - - def with_tag(self, tag: str) -> 'TagImageRef': - return TagImageRef.create(self.name, tag) - - ecr_registry_host_re = re.compile(r'[\d]+\.dkr\.ecr\.[^.]+\.amazonaws\.com') - - @property - def is_mirrored(self) -> bool: - return self.ecr_registry_host_re.fullmatch(self.registry_host) is not None - - def port_to(self, registry: str) -> Self: - """ - >>> ref = ImageRef.parse('a/b/c:d') - >>> ref.port_to('e') - TagImageRef(registry='e', username='a', repository=('b', 'c'), tag='d') - >>> ref.port_to('') - TagImageRef(registry='a', username='b', repository=('c',), tag='d') - >>> ref.port_to('a') - ... # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - AssertionError: R('Reference already ported to registry', - TagImageRef(registry='a', username='b', repository=('c',), tag='d'), - 'a') - """ - if registry: - assert self.registry != registry, R( - 'Reference already ported to registry', - self, registry) - other = type(self).parse(registry + '/' + str(self)) - assert isinstance(other, type(self)) - return other - else: - return self - - def port_from(self, registry: str) -> Self: - """ - >>> ref = ImageRef.parse('a/b/c:d') - >>> ref.port_to('e').port_from('e') - TagImageRef(registry='a', username='b', repository=('c',), tag='d') - >>> ref.port_to('').port_from('') - TagImageRef(registry='a', username='b', repository=('c',), tag='d') - >>> ref.port_from('e') - ... # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - AssertionError: R('Reference does not use the registry to port from', - TagImageRef(registry='a', username='b', repository=('c',), tag='d'), 'e') - """ - if registry: - assert self.registry == registry, R( - 'Reference does not use the registry to port from', - self, registry) - other = type(self).parse(str(self).removeprefix(registry + '/')) - assert isinstance(other, type(self)) - return other - else: - return self - - @property - def auth_server_url(self) -> str: - """ - The Docker client tracks credentials in ~/.docker/config.json using the - URL or hostname of the server requesting authentication. Similarly, the - credential helpers expect the same value on stdandard input. This method - returns that value for this repository. - """ - if self.registry == 'docker.io': - return 'https://index.docker.io/v1/' - else: - return self.registry_host - - @property - def tf_repository(self): - """ - A string suitable for identifying (in Terraform config) the ECR - repository resource holding this image. - """ - hash = urlsafe_b64encode(sha1(self.name.encode()).digest()).decode()[:-1] - return 'repository_' + hash - - @property - def tf_alnum_repository(self): - """ - An alphanumeric string suitable for identifying (in Terraform config) - the ECR repository resource holding this image. Unlike `tf_repository`, - the string may only contain characters in [0-9a-zA-Z]. - """ - return 'repository' + sha1(self.name.encode()).hexdigest() - - @property - def tf_image(self): - """ - A string suitable for identifying (in Terraform config) any resource - specific to this image. - """ - hash = urlsafe_b64encode(sha1(str(self).encode()).digest()).decode()[:-1] - return 'image_' + hash - - @property - @abstractmethod - def qualifier(self) -> str: - raise NotImplementedError - - -@attrs.define(frozen=True) -class DigestImageRef(ImageRef): - """ - A fully qualified and stable reference to a Docker image in a registry. - """ - - #: The part after the '@', a hash of the image manifest. While it uniquely - #: identifies an image within a registry, it is not consistent accross - #: registries. The same image can have different digests in different - #: registries. - digest: str - - @classmethod - def parse(cls, image_ref: str) -> Self: - name, digest = image_ref.split('@') - return cls.create(name, digest) - - @classmethod - def create(cls, name: str, digest: str) -> Self: - return super()._create(name, digest=digest) - - def __str__(self) -> str: - """ - The inverse of :py:meth:`parse`. - """ - return self.name + '@' + self.digest - - @property - def qualifier(self) -> str: - return self.digest - - -@attrs.define(frozen=True) -class TagImageRef(ImageRef): - """ - A fully qualified reference to a tagged Docker image in a registry. - """ - - #: The part after the colon in an image name. This is the name of a tag - #: associated with the image. Tags refer to digests and are mutable. For a - #: stable references to images in a registry use :py:class:`DigestImageRef`. - tag: str - - @classmethod - def parse(cls, image_ref: str) -> Self: - # A colon in the first part of the name might separate host and port - name, _, tag = image_ref.rpartition(':') - return cls.create(name, tag) - - @classmethod - def create(cls, name: str, tag: str) -> Self: - return super()._create(name, tag=tag) - - def __str__(self) -> str: - """ - The inverse of :py:meth:`parse`. - """ - return self.name + ':' + self.tag - - @property - def qualifier(self) -> str: - return self.tag - - -@attrs.define(frozen=True) -class Platform: - os: str - arch: str - variant: Optional[str] - - def normalize(self) -> Self: - os = _normalize_os(self.os) - arch, variant = _normalize_arch(self.arch, self.variant) - return attrs.evolve(self, os=os, arch=arch, variant=variant) - - @classmethod - def parse(cls, platform: str) -> Self: - os, arch, variant = padded(platform.split('/'), None, 3) - assert os, R('Invalid operating system', platform) - assert arch, R('Invalid architecture', platform) - assert variant is None or variant, R('Invalid variant', platform) - return cls(os=os, arch=arch, variant=variant) - - @classmethod - def from_json(cls, platform, config: bool = False) -> Self: - def case(s): - return s.capitalize() if config else s - - return cls(os=platform[case('os')], - arch=platform[case('architecture')], - variant=platform.get(case('variant'))) - - def __str__(self) -> str: - result = [self.os, self.arch] - if self.variant is not None: - result.append(self.variant) - return '/'.join(result) - - -images_by_alias = { - alias: TagImageRef.parse(spec['ref']) - for alias, spec in config.docker_images.items() -} - -images = images_by_alias.values() - -platforms = list(map(Platform.parse, config.docker_platforms)) - -images_by_name: dict[str, list] = defaultdict(list) -for image in images: - images_by_name[image.name].append(image) -del image - -images_by_tf_repository: dict[tuple[str, str], list[TagImageRef]] = { - (name, one(set(image.tf_repository for image in images))): images - for name, images in images_by_name.items() -} - - -# https://github.com/containerd/containerd/blob/1fbd70374134b891f97ce19c70b6e50c7b9f4e0d/platforms/database.go#L62 - -def _normalize_os(os: str) -> str: - os = os and os.lower() - if os == 'macos': - os = 'darwin' - return os - - -# https://github.com/containerd/containerd/blob/1fbd70374134b891f97ce19c70b6e50c7b9f4e0d/platforms/database.go#L76 - -def _normalize_arch(arch: str, - variant: Optional[str] - ) -> tuple[str, Optional[str]]: - arch = arch.lower() - variant = variant and variant.lower() - if arch == 'i386': - arch = '386' - variant = None - elif arch in ('x86_64', 'x86-64', 'amd64'): - arch = 'amd64' - if variant == 'v1': - variant = None - elif arch in ('aarch64', 'arm64'): - arch = 'arm64' - if variant in ('8', 'v8'): - variant = None - elif arch == 'armhf': - arch = 'arm' - variant = 'v7' - elif arch == 'armel': - arch = 'arm' - variant = 'v6' - elif arch == 'arm': - if variant in (None, '7'): - variant = 'v7' - elif variant in ('5', '6', '8'): - variant = 'v' + variant - return arch, variant - - -class Gist(TypedDict): - """ - Represents an image manifest or a blob, or any Docker artifact with a digest - """ - - #: A hash of the content, typically starting in `sha256:` - digest: str - - -class ImageGist(Gist): - """ - A Docker image - """ - #: Type of system to run the image on, as in `os/arch` or `os/arch/variant` - platform: str - - #: The hash of the image config JSON, most likely starting in `sha256:`. - #: This is consistent accross registries and includes the hashes of the - #: uncompressed, binary content of the image, and is commonly referred to as - #: the "image ID". - id: str - - -class IndexImageGist(Gist): - """ - A multi-platform image, also known as an image index - """ - #: While the inherited ``digest`` property pertains to the original - #: registry, this property contains the digest of the image in the mirror - #: registry, i.e. ECR. Even though the digests of the platform-specific - #: parts of a multi-platform image are the same in both registries, the - #: digest of the mirrored multi-platform image usually differs from the - #: original because 1) the mirror only includes a subset of the original - #: parts and 2) the digest algorithm is generally sensitive to insignificant - #: JSON differences in whitespace or property order. - mirror_digest: str - - #: The images in the list, by platform (`os/arch` or `os/arch/variant`) - parts: dict[str, ImageGist] - - -@attrs.define(frozen=True, slots=False) -class Repository: - image_ref: ImageRef - - @cached_property - def host(self) -> str: - return self.image_ref.registry_host - - @cached_property - def name(self) -> str: - return self.image_ref.relative_name - - @classmethod - def get_gists(cls) -> dict[str, ImageGist | IndexImageGist]: - gists = {} - for alias, ref in images_by_alias.items(): - log.info('Getting information for %r (%s)', alias, ref) - repository = cls(ref) - digest = repository.get_tag(ref.tag) - gists[str(ref)] = repository.get_gist(digest) - return gists - - def get_tag(self, tag: str) -> str: - """ - Return the manifest digest associated with the given tag. - """ - log.info('Getting tag %r', tag) - digest, _ = self._client.head_manifest_and_response(tag) - return digest - - def get_gist(self, digest: str) -> ImageGist | IndexImageGist: - """ - Return the manifest for the given digest. - """ - log.info('Getting manifest %r', digest) - manifest, _ = self._client.get_manifest_and_response(digest) - manifest = json.loads(manifest) - match manifest['mediaType']: - case ('application/vnd.oci.image.index.v1+json' - | 'application/vnd.docker.distribution.manifest.list.v2+json'): - parts = self._get_mirrored_parts(manifest['manifests']) - mirror_manifest = ImageIndexManifest.create({ - platform: ImageIndexPart(digest=part['digest'], size=size) - for platform, (part, size) in parts.items() - }) - return { - 'digest': digest, - 'mirror_digest': mirror_manifest.digest, - 'parts': {str(platform): part for platform, (part, size) in parts.items()} - } - case ('application/vnd.docker.distribution.manifest.v2+json' - | 'application/vnd.oci.image.manifest.v1+json'): - config_digest = manifest['config']['digest'] - config = json.loads(self.get_blob(config_digest)) - return { - 'digest': digest, - 'id': config_digest, - 'platform': str(Platform.from_json(config).normalize()) - } - case media_type: - raise NotImplementedError(media_type) - - def _get_mirrored_parts(self, - manifests: JSONs - ) -> dict[Platform, tuple[ImageGist, int]]: - gists = {} - for manifest in manifests: - platform = Platform.from_json(manifest['platform']).normalize() - if platform in platforms: - digest, size = json_str(manifest['digest']), json_int(manifest['size']) - gist = self.get_gist(digest) - assert gist.get('platform') == str(platform), R( - 'Inconsistent platform between manifest and manifest list', - manifest, gist) - gists[platform] = cast(ImageGist, gist), size - return gists - - def get_blob(self, digest: str) -> bytes: - """ - Return the content for the given digest. - """ - log.info('Getting blob %r', digest) - chunks = self._client.pull_blob(digest) - return b''.join(chunks) - - @cached_property - def _client(self): - return DXF(host=self.host, - repo=self.name, - auth=self._dxf_auth, - insecure=self.host.startswith('localhost:') or self.host == 'localhost') - - def _dxf_auth(self, dxf: DXFBase, response: requests.Response): - username, password = self._auth - dxf.authenticate(username=username, - password=password, - response=response) - - @cached_property - def _auth(self) -> tuple[str, str]: - auth_server_url = self.image_ref.auth_server_url - with open(os.path.expanduser('~/.docker/config.json')) as f: - config = json.load(f) - try: - creds_store = config['credsStore'] - except KeyError: - return self._decode_auth(config['auths'][auth_server_url]['auth']) - else: - command = 'docker-credential-' + creds_store - output = subprocess.check_output(args=[command, 'get'], - input=auth_server_url.encode('ascii')) - credentials = json.loads(output) - return credentials['Username'], credentials['Secret'] - - @property - def encoded_auth(self) -> str: - return self._encode_auth(*self._auth) - - def _decode_auth(self, auth: str) -> tuple[str, str]: - auth = b64decode(auth.encode('ascii')).decode() - username, _, secret = auth.partition(':') - return username, secret - - def _encode_auth(self, username: str, secret: str) -> str: - auth = username + ':' + secret - return b64encode(auth.encode()).decode('ascii') - - @classmethod - @contextmanager - def temporary_auth_file(cls, *refs: ImageRef): - """ - While some utilities in the Docker/OCI ecosystem are able to read - plain-text credentials from the Docker client's configuration file - (~/.docker/config.json), they often lack support for the credential - helpers that can be configured there. Removing the credStore entry from - that configiguration file would disable these helpers, but a prominent - Docker client distribution (Docker Desktop for macOS and Windows) - reinserts the entry every time it starts up. - - This context manager provides a temporary containers-auth.json [1] with - plain-text credentials for the repositories hosting the given images. - The credentials are obtained by extracting plain-text credentials from - ~/.docker/config.json or by invoking the credStore helper configured - there. The path to the temporary file is passed to the context on entry - and the file is deleted when the context is exited. - - [1] https://github.com/containers/image/blob/main/docs/containers-auth.json.5.md - """ - with tempfile.NamedTemporaryFile() as auth_file: - auths = { - 'auths': { - ref.auth_server_url: { - 'auth': cls(ref).encoded_auth - } - for ref in refs - }, - } - auth_file.write(json.dumps(auths).encode()) - auth_file.flush() - yield auth_file.name - - -@attrs.frozen(kw_only=True) -class ImageIndexPart: - digest: str - size: int - - -@attrs.frozen(kw_only=True) -class ImageIndexManifest: - json: str - digest: str - - @classmethod - def create(cls, parts: dict[Platform, ImageIndexPart]) -> Self: - manifest = { - 'schemaVersion': 2, - 'mediaType': 'application/vnd.docker.distribution.manifest.list.v2+json', - 'manifests': [ - { - 'mediaType': 'application/vnd.docker.distribution.manifest.v2+json', - 'size': part.size, - 'digest': part.digest, - 'platform': { - 'architecture': platform.arch, - 'os': platform.os - } - } - for platform, part in parts.items() - ] - } - manifest = json.dumps(manifest, indent=4) - digest = 'sha256:' + sha256(manifest.encode()).hexdigest() - return cls(json=manifest, digest=digest) - - -def pull_docker_image(ref: ImageRef) -> Image: - return _push_or_pull(ref, 'pull') - - -def push_docker_image(ref: ImageRef) -> Image: - return _push_or_pull(ref, 'push') - - -def _push_or_pull(ref: ImageRef, - direction: Literal['push'] | Literal['pull'] - ) -> Image: - log.info('%sing image %r …', direction.capitalize(), ref) - client = docker.client.from_env() - # Despite its name, the `tag` keyword argument can be a digest, too - method = getattr(client.api, direction) - output = method(ref.name, tag=ref.qualifier, stream=True) - log_lines(ref, direction, output) - log.info('%sed image %r', direction.capitalize(), ref) - return client.images.get(str(ref)) - - -def log_lines(context: Any, command: str, output: Iterable[bytes]): - for line in output: - log.debug('%s: docker %s %s', context, command, line.decode().strip()) - - -def get_docker_image_gist(ref: TagImageRef) -> ImageGist | IndexImageGist: - return get_docker_image_gists()[str(ref)] - - -def get_docker_image_gists() -> dict[str, ImageGist | IndexImageGist]: - with open(config.docker_image_gists_path) as f: - return json.load(f) - - -@cache -def resolve_docker_image_for_launch(alias: str) -> str: - """ - Return an image reference that can be used to launch a container from the - image with the given alias. The alias is the top level key in the JSON - object contained in the environment variable `azul_docker_images`. - """ - ref_to_pull, gist = resolve_docker_image_for_pull(alias) - image = pull_docker_image(ref_to_pull) - # In either case, the verification below ensures that the image we pulled - # has the expected ID. - try: - parts = cast(IndexImageGist, gist)['parts'] - except KeyError: - # For single-platform images, this is straight forward. - assert image.id == cast(ImageGist, gist)['id'] - else: - # To determine the expected ID for images that are part of a multi- - # platform image aka "manifest list" aka "image index", we need to know - # what specific platform was pulled since we left it to Docker to - # determine the best match. - platform = Platform.from_json(image.attrs, config=True).normalize() - assert image.id == parts[str(platform)]['id'] - # Returning the image ID means that the container will be launched using - # exactly the image we just pulled and verified. - return image.id - - -def resolve_docker_image_for_pull(alias: str - ) -> tuple[DigestImageRef, ImageGist | IndexImageGist]: - """ - Return a reference to, and the gist of, the image with the given alias, for - the purpose of pulling said image. - """ - ref = TagImageRef.parse(config.docker_images[alias]['ref']) - log.info('Resolving %r image %r …', alias, ref) - gist = get_docker_image_gist(ref) - ref = ref.port_to(config.docker_registry) - # For multi-arch images, we need to use the digest of the mirrored image, if - # we're pulling from a mirror. For single-arch images, the digest is the - # same between the upstream and mirror registries. - if 'parts' in gist and ref.is_mirrored: - digest = cast(IndexImageGist, gist)['mirror_digest'] - else: - digest = gist['digest'] - ref = ref.with_digest(digest) - log.info('Resolved %r image to %r', alias, ref) - return ref, gist diff --git a/src/azul/doctests.py b/src/azul/doctests.py deleted file mode 100644 index 328ed91d3a..0000000000 --- a/src/azul/doctests.py +++ /dev/null @@ -1,27 +0,0 @@ -import json - -from azul.types import ( - AnyJSON, -) - - -def assert_json(j: AnyJSON): - """ - Makes it easier to assert JSON in doctests. The argument is checked for - validity and pretty-printed with and indent of four spaces. - - >>> assert_json(dict(foo=[None], bar=42)) - { - "foo": [ - null - ], - "bar": 42 - } - - Compare this with a traditional doctest assertion which has to fit on a - single line: - - >>> dict(foo=[None], bar=42) - {'foo': [None], 'bar': 42} - """ - print(json.dumps(j, indent=4)) diff --git a/src/azul/drs.py b/src/azul/drs.py deleted file mode 100644 index ff392f1b0e..0000000000 --- a/src/azul/drs.py +++ /dev/null @@ -1,320 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from collections import ( - namedtuple, -) -from collections.abc import ( - Mapping, - Sequence, -) -from enum import ( - Enum, -) -import json -import logging -import time -from typing import ( - Self, -) - -import attr -from furl import ( - furl, -) -from more_itertools import ( - one, -) -import urllib3.request - -from azul import ( - R, - cache, - cached_property, - mutable_furl, -) -from azul.http import ( - HasCachedHttpClient, - LimitedRetryHttpClient, - Propagate429HttpClient, -) -from azul.types import ( - MutableJSON, - json_dict, - json_list, - json_str, -) - -log = logging.getLogger(__name__) - - -def drs_object_uri(*, - base_url: furl, - path: Sequence[str], - params: Mapping[str, str] - ) -> mutable_furl: - assert ':' not in base_url.netloc - return furl(url=base_url, scheme='drs', path=path, args=params) - - -def drs_object_url_path(*, object_id: str, access_id: str | None = None) -> str: - """ - >>> drs_object_url_path(object_id='abc') - '/ga4gh/drs/v1/objects/abc' - - >>> drs_object_url_path(object_id='abc', access_id='123') - '/ga4gh/drs/v1/objects/abc/access/123' - """ - drs_url = '/ga4gh/drs/v1/objects' - return '/'.join(( - drs_url, - object_id, - *(('access', access_id) if access_id else ()) - )) - - -def dos_object_url_path(object_id: str) -> str: - return f'/ga4gh/dos/v1/dataobjects/{object_id}' - - -class AccessMethod(namedtuple('AccessMethod', 'scheme replica'), Enum): - https = 'https', 'aws' - gs = 'gs', 'gcp' - - def __str__(self) -> str: - return self.name - - -@attr.s(auto_attribs=True, kw_only=True, frozen=True) -class Access: - method: AccessMethod - url: str - headers: Mapping[str, str] | None = None - - -class DRSURI(metaclass=ABCMeta): - - @classmethod - def parse(cls, drs_uri: str) -> 'DRSURI': - prefix = 'drs://' - assert drs_uri.startswith(prefix), R('Invalid DRS uri scheme', drs_uri) - # "The colon character is not allowed in a hostname-based DRS URI". - # - # https://ga4gh.github.io/data-repository-service-schemas/preview/develop/docs/#_drs_uris - # - subcls = CompactDRSURI if drs_uri.find(':', len(prefix)) >= 0 else RegularDRSURI - return subcls.parse(drs_uri) - - @abstractmethod - def to_url(self, client: 'DRSClient', access_id: str | None = None) -> furl: - """ - Translate the DRS URI into a DRS URL. All query params included in the - DRS URI (eg '{drs_uri}?version=123') will be carried over to the DRS URL. - """ - raise NotImplementedError - - -@attr.s(auto_attribs=True, kw_only=True, frozen=True, slots=True) -class RegularDRSURI(DRSURI): - uri: furl - - def __attrs_post_init__(self): - assert self.uri.scheme == 'drs', self.uri - - @classmethod - def parse(cls, drs_uri: str) -> Self: - return cls(uri=furl(drs_uri)) - - def to_url(self, client: 'DRSClient', access_id: str | None = None) -> furl: - url = self.uri.copy().set(scheme='https') - url.set(path=drs_object_url_path(object_id=one(self.uri.path.segments), - access_id=access_id)) - return url - - -@attr.s(auto_attribs=True, kw_only=True, frozen=True, slots=True) -class CompactDRSURI(DRSURI): - """ - So-called DRS "URIs" [1] for Compact Identifiers [2] are NOT URIs according - to RFC 3986 [3] so we can't use off-the-shelf URI parsers. - - [1] https://ga4gh.github.io/data-repository-service-schemas/preview/release/drs-1.3.0/docs/ - - [2] https://www.nature.com/articles/sdata201829 - - [3] https://datatracker.ietf.org/doc/html/rfc3986 - """ - namespace: str - accession: str - - def __attrs_post_init__(self): - assert '/' not in self.namespace and '?' not in self.accession, self - - @classmethod - def parse(cls, drs_uri: str) -> Self: - scheme, netloc = drs_uri.split('://', 1) - # Compact identifier-based URIs can be hard to parse when following - # RFC3986, with the 'namespace:accession' part matching either the - # heir-part or path production depending if the optional provider code - # and following slash is included. - # - # https://ga4gh.github.io/data-repository-service-schemas/preview/develop/docs/#compact-identifier-based-drs-uris - # - prefix, accession = netloc.split(':', 1) - assert '/' not in prefix, R( - 'Compact identifiers with provider codes are not supported', drs_uri) - assert '?' not in accession, R( - 'Compact identifiers must not contain query parameters', drs_uri) - return cls(namespace=prefix, - accession=accession) - - def to_url(self, client: 'DRSClient', access_id: str | None = None) -> furl: - url = client.id_client.resolve(self.namespace, self.accession) - # The URL pattern registered at identifiers.org ought to replicate the - # DRS spec, but we have to re-create the path using the spec because the - # registered pattern does not support embedding the access ID. - assert str(url.path) == drs_object_url_path(object_id=self.accession), R( - 'Unexpected DRS URL format', url) - url.set(path=drs_object_url_path(object_id=self.accession, access_id=access_id)) - return url - - -class IdentifiersDotOrgClient(HasCachedHttpClient): - - def _create_http_client(self) -> urllib3.request.RequestMethods: - return Propagate429HttpClient( - LimitedRetryHttpClient( - super()._create_http_client() - ) - ) - - def resolve(self, prefix: str, accession: str) -> mutable_furl: - namespace_id = self._prefix_to_namespace(prefix) - log.info('Resolved prefix %r to namespace ID %r', prefix, namespace_id) - resource_name, url_pattern = self._namespace_to_host(namespace_id) - log.info('Obtained URL pattern %r from resource %r', url_pattern, resource_name) - placeholder = '{$id}' - assert placeholder in url_pattern, R( - 'Missing accession placeholder in URL pattern', url_pattern) - url = url_pattern.replace(placeholder, accession) - return furl(url) - - _api_url = 'https://registry.api.identifiers.org/restApi/' - - @cache - def _prefix_to_namespace(self, prefix: str) -> str: - prefix_info = self._api_request('namespaces/search/findByPrefix', prefix=prefix) - href = json_str(json_dict(json_dict(prefix_info['_links'])['self'])['href']) - return furl(href).path.segments[-1] - - @cache - def _namespace_to_host(self, namespace_id: str) -> tuple[str, str]: - namespace_info = self._api_request('resources/search/findAllByNamespaceId', - id=namespace_id) - resources = json_list(json_dict(namespace_info['_embedded'])['resources']) - resource = json_dict(one(resources)) - return json_str(resource['name']), json_str(resource['urlPattern']) - - def _api_request(self, path: str, **args) -> MutableJSON: - url = furl(self._api_url).add(path=path, args=args) - response = self._http_client.request('GET', str(url)) - if response.status == 200: - return json.loads(response.data) - else: - raise DRSStatusException(url, response) - - -@attr.s(auto_attribs=True, kw_only=True, frozen=True) -class DRSClient: - _http_client: urllib3.request.RequestMethods - - @cached_property - def id_client(self) -> IdentifiersDotOrgClient: - return IdentifiersDotOrgClient() - - def get_object(self, - drs_uri: str, - access_method: AccessMethod = AccessMethod.https - ) -> Access: - """ - Returns access to the content of the data object identified by the - given URI. The scheme of the URL in the returned access object depends - on the access method specified. - """ - return self._get_object(drs_uri, access_method) - - def _get_object(self, drs_uri: str, access_method: AccessMethod) -> Access: - url = DRSURI.parse(drs_uri).to_url(self) - while True: - response = self._request(url) - if response.status == 200: - # Bundles are not supported therefore we can expect 'access_methods' - response_data = json_dict(json.loads(response.data)) - access_methods = map(json_dict, json_list(response_data['access_methods'])) - method = one(m for m in access_methods if m['type'] == access_method.scheme) - access_url = json_dict(method.get('access_url')) - access_id = json_str(method.get('access_id')) - if access_url is not None and access_id is not None: - # TDR quirkily uses the GS access method to provide both a - # GS access URL *and* an access ID that produces an HTTPS - # signed URL - # - # https://github.com/ga4gh/data-repository-service-schemas/issues/360 - # https://github.com/ga4gh/data-repository-service-schemas/issues/361 - assert access_method is AccessMethod.gs, R( - 'Unexpected access method', access_method) - return self._get_object_access(drs_uri, access_id, AccessMethod.https) - elif access_id is not None: - return self._get_object_access(drs_uri, access_id, access_method) - elif access_url is not None: - scheme = furl(access_url['url']).scheme - assert scheme == access_method.scheme, R( - 'Unexpected access URL scheme', scheme) - # We can't convert the signed URL into a furl object since - # the path can contain `%3A` which furl converts to `:` - return Access(method=access_method, - url=access_url['url']) - else: - assert False, R("'access_url' and 'access_id' are both missing") - elif response.status == 202: - wait_time = int(response.headers['retry-after']) - time.sleep(wait_time) - else: - raise DRSStatusException(url, response) - - def _get_object_access(self, - drs_uri: str, - access_id: str, - access_method: AccessMethod - ) -> Access: - url = DRSURI.parse(drs_uri).to_url(self, access_id) - while True: - response = self._request(url) - if response.status == 200: - response_data = json_dict(json.loads(response.data)) - scheme = furl(response_data['url']).scheme - assert scheme == access_method.scheme, R( - 'Unexpected access URL scheme', scheme) - access_url = json_str(response_data['url']) - headers = response_data.get('headers') - if headers is None: - access_headers = None - else: - access_headers = {k: json_str(v) for k, v in json_dict(headers).items()} - return Access(method=access_method, url=access_url, headers=access_headers) - elif response.status == 202: - wait_time = int(response.headers['retry-after']) - time.sleep(wait_time) - else: - raise DRSStatusException(url, response) - - def _request(self, url: furl) -> urllib3.HTTPResponse: - return self._http_client.request('GET', str(url), redirect=False) - - -class DRSStatusException(Exception): - - def __init__(self, url: furl, response: urllib3.HTTPResponse) -> None: - super().__init__(f'Unexpected response from {url}', - response.status, response.data) diff --git a/src/azul/dss.py b/src/azul/dss.py deleted file mode 100644 index bf1ca6baf5..0000000000 --- a/src/azul/dss.py +++ /dev/null @@ -1,45 +0,0 @@ -from datetime import ( - datetime, -) -import logging - -log = logging.getLogger(__name__) - -version_format = '%Y-%m-%dT%H%M%S.%fZ' - - -def new_version(): - # FIXME: DeprecationWarning for datetime methods in Python 3.12 - # https://github.com/DataBiosphere/azul/issues/5953 - return datetime.utcnow().strftime(version_format) - - -def validate_version(version: str): - """ - >>> validate_version('2018-10-18T150431.370880Z') - '2018-10-18T150431.370880Z' - - >>> validate_version('2018-10-18T150431.0Z') - Traceback (most recent call last): - ... - ValueError: ('2018-10-18T150431.0Z', '2018-10-18T150431.000000Z') - - >>> validate_version(' 2018-10-18T150431.370880Z') - Traceback (most recent call last): - ... - ValueError: time data ' 2018-10-18T150431.370880Z' does not match format '%Y-%m-%dT%H%M%S.%fZ' - - >>> validate_version('2018-10-18T150431.370880') - Traceback (most recent call last): - ... - ValueError: time data '2018-10-18T150431.370880' does not match format '%Y-%m-%dT%H%M%S.%fZ' - - >>> validate_version('2018-10-187150431.370880Z') - Traceback (most recent call last): - ... - ValueError: time data '2018-10-187150431.370880Z' does not match format '%Y-%m-%dT%H%M%S.%fZ' - """ - reparsed_version = datetime.strptime(version, version_format).strftime(version_format) - if version != reparsed_version: - raise ValueError(version, reparsed_version) - return version diff --git a/src/azul/enums.py b/src/azul/enums.py deleted file mode 100644 index 02e11d724e..0000000000 --- a/src/azul/enums.py +++ /dev/null @@ -1,14 +0,0 @@ -import enum -from typing import ( - TYPE_CHECKING, -) - -if TYPE_CHECKING: - def auto(): - """ - https://youtrack.jetbrains.com/issue/PY-53388/PyCharm-thinks-enumauto-needs-an-argument#focus=Comments-27-6302771.0-0 - """ - # noinspection PyArgumentList - return enum.auto() -else: - auto = enum.auto diff --git a/src/azul/es.py b/src/azul/es.py deleted file mode 100644 index 09cac18b76..0000000000 --- a/src/azul/es.py +++ /dev/null @@ -1,241 +0,0 @@ -import logging -from typing import ( - Any, - Collection, - Mapping, - Tuple, - cast, -) -from urllib.parse import ( - urlencode, -) - -from aws_requests_auth.boto_utils import ( - BotoAWSRequestsAuth, -) -from opensearchpy import ( - Connection, - OpenSearch, - Urllib3HttpConnection, -) -import requests -import requests.auth -import urllib3.request - -from azul import ( - config, - lru_cache, -) -from azul.deployment import ( - aws, -) -from azul.logging import ( - es_log, - http_body_log_message, -) - -log = logging.getLogger(__name__) - - -class CachedBotoAWSRequestsAuth(BotoAWSRequestsAuth): - - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - # We use the botocore session from Boto3 since it is pre-configured by - # envhook.py to use cached credentials for the AssumeRoleProvider. This - # avoids repeated entry of MFA tokens when running this code locally. - # noinspection PyProtectedMember - credentials = aws.boto3_session.get_credentials() - assert credentials is not None, R'Need credentials' - self._refreshable_credentials = credentials - - -class AzulConnection(Connection): - """ - Improves the request logging by the Elasticsearch client library with - respect to performance and utility. Most importantly, this class logs a - request *before* it is made, not just when a response is received. At INFO - level, only the beginning of a request or response body is logged. At DEBUG - level the complete body is logged. Also eliminates expensive decoding at - INFO level by logging the request body as a raw ``bytes`` literal. At DEBUG - level, the *decoded* (and complete) body is logged as a string literal. - """ - - def perform_request(self, - method: str, - url: str, - params: Mapping[str, Any] | None = None, - body: bytes | None = None, - timeout: int | float | None = None, - ignore: Collection[int] = (), - headers: Mapping[str, str] | None = None - ) -> Tuple[int, Mapping[str, str], str]: - self._log_request(method, self._full_url(url, params), headers, body) - return super().perform_request(method, url, params, body, timeout, ignore, headers) - - def log_request_success(self, - method: str, - full_url: str, - path: str, - body: bytes | None, - status_code: int, - response: str, - duration: float - ) -> None: - self._log_response(logging.INFO, status_code, duration, full_url, method, response) - self._log_trace(method, path, body, status_code, response, duration) - - def log_request_fail(self, - method: str, - full_url: str, - path: str, - body: bytes | None, - duration: float, - status_code: int | None = None, - response: str | None = None, - exception: Exception | None = None - ) -> None: - self._log_response(logging.INFO if method == 'HEAD' and status_code == 404 else logging.WARN, - status_code, duration, full_url, method, response, exception) - self._log_trace(method, path, body, status_code, response, duration) - - # Duplicates functionality in the ``perform_request`` method of the base - # class so that our override of that method can log it speculatively. We - # also log the full URL *actually* used by the base class when the response - # is received, since it is only then that it is passed to our overrides of - # ``log_request_success`` and ``log_request_fail``. - - def _full_url(self, url: str, params: Mapping[str, Any] | None) -> str: - full_url = self.host + self.url_prefix + url - if params: - full_url = f'{full_url}?{urlencode(params)}' - return full_url - - def _log_request(self, method, full_url, headers, body): - es_log.info('Making %s request to %s', method, full_url) - es_log.debug('… with request headers %r', headers) - es_log.info(http_body_log_message('request', body)) - - def _log_response(self, - log_level: int, - status_code: int | None, - duration: float, - full_url: str, - method: str, - response: str | None, - exception=None - ) -> None: - status_code = 'no' if status_code is None else status_code - # Note that here we log the full URL actually used, see _full_url above - es_log.log(log_level, 'Got %s response after %.3fs from %s to %s', - status_code, duration, method, full_url, exc_info=exception) - es_log.log(log_level, http_body_log_message('response', response)) - - -class AWSAuthHttpClient(urllib3.request.RequestMethods): - """ - Decorates a urllib3 HTTPConnectionPool instance so that requests are - signed with AWS's Signature Version 4 flavor of HMAC. - """ - - def __init__(self, - pool: urllib3.HTTPConnectionPool, - http_auth: BotoAWSRequestsAuth): - super().__init__() - self._inner = pool - self._http_auth = http_auth - - def urlopen(self, # type: ignore[override] - method: str, - url: str, - body: bytes | None = None, - headers: Mapping[str, str] | None = None, - **kwargs - ) -> urllib3.HTTPResponse: - # self._http_auth is an instance of BotoAWSRequestsAuth, a subclass of - # AuthBase from the Requests library. To use that instance with urllib3 - # directly, we need to prepare a Requests request object, sign it with - # self._http_auth and pass the resulting signature header to urllib3's - # urlopen() method. - request = requests.PreparedRequest() - request.method = method - # Because urllib3 connection pools are host-specific, URLs passed to a - # connection pool's urlencode() must be relative and path-absolute. And - # while PreparedRequest.prepare() requires an absolute URL, we can sneak - # a relative one in by setting the attribute directly. This neatly - # avoids having to compose an absolute URL and the URL-encoding - # ambiguities that entails. The Elasticsearch client, for example, - # encodes colons in absolute paths even though the leading slash in such - # a path makes that unnecessary. These ambiguities could lead to an - # invalid signature. The AWS signature algorithm only looks at path and - # query of URLs. - assert url.startswith('/'), url - request.url = url - request.headers = headers - request.body = body - request = self._http_auth(request) - # Note that the various urlopen() implementations in urllib3 declare the - # `body` argument with a default value, making it a keyword argument, - # the ES client passes it as a positional. If this were ever to change, - # this method would get a duplicate of the `body` argument as part of - # `kwargs`, resulting in a TypeError. - return self._inner.urlopen(method, url, body, headers=request.headers, **kwargs) - - def close(self): - self._inner.close() - - -class AzulUrllib3HttpConnection(AzulConnection, Urllib3HttpConnection): - - def __init__(self, - *args, - http_auth: BotoAWSRequestsAuth | None = None, - **kwargs - ) -> None: - super().__init__(*args, **kwargs) - if http_auth is not None: - # We can't extend the pool class because we don't control the - # instantiation. We therefore have to decorate the pool instance. - # Looking at the source of Urllib3HttpConnection we notice that only - # the methods `urlopen()` and `close()` are called. This means that - # the decorating class doesn't need to implement (or extend) a full - # HTTPConnectionPool, only the much slimmer RequestMethods. - client = AWSAuthHttpClient(self.pool, http_auth) - # We still need the cast because the stub declares `self.pool` to be - # an instance of HTTPConnectionPool. - self.pool = cast(urllib3.HTTPConnectionPool, client) - - -class ESClientFactory: - - @classmethod - def get(cls) -> OpenSearch: - host, port = aws.es_endpoint - return cls._create_client(host, port, config.es_timeout) - - @classmethod - @lru_cache(maxsize=32) - def _create_client(cls, host, port, timeout): - log.debug(f'Creating ES client [{host}:{port}]') - # Implicit retries don't make much sense in conjunction with optimistic - # locking (versioning). Consider a write request that times out in ELB - # with a 504 while the upstream ES node actually finishes the request. - # Retrying that individual write request will fail with a 409. Instead - # of retrying just the write request, the entire read-modify-write - # transaction needs to be retried. In order to be in full control of - # error handling, we disable the implicit retries via max_retries=0. - common_params = dict(hosts=[dict(host=host, port=port)], - timeout=timeout, - max_retries=0) - if host.endswith('.amazonaws.com'): - aws_auth = CachedBotoAWSRequestsAuth(aws_host=host, - aws_region=aws.region_name, - aws_service='es') - return OpenSearch(http_auth=aws_auth, - use_ssl=True, - verify_certs=True, - connection_class=AzulUrllib3HttpConnection, - **common_params) - else: - return OpenSearch(connection_class=AzulUrllib3HttpConnection, - **common_params) diff --git a/src/azul/exceptions.py b/src/azul/exceptions.py deleted file mode 100644 index 6cc6ab742f..0000000000 --- a/src/azul/exceptions.py +++ /dev/null @@ -1,59 +0,0 @@ -from typing import ( - Callable, - Type, - TypeVar, -) - -E = TypeVar('E', bound=BaseException) -R = TypeVar('R') - - -def catch(f: Callable[..., R], - exception_cls: Type[E], - /, - *args, - **kwargs - ) -> tuple[E, None] | tuple[None, R]: - """ - Invoke the given callable. If the callable raises an instance of the - specified exception class, return that exception, otherwise return the - result of the callable. - - :param f: The callable to invoke - - :param exception_cls: The class of exceptions to catch - - :param args: Positional arguments to the callable - - :param kwargs: Keyword arguments to the callable - - :return: Either a tuple of None and the return value of the callable or a - tuple of the exception raised by the callable and None - - >>> catch(int, Exception, '42') - (None, 42) - - >>> catch(int, Exception, '42', base=16) - (None, 66) - - >>> catch(int, ValueError, '') - (ValueError("invalid literal for int() with base 10: ''"), None) - - >>> catch(int, BaseException, '') - (ValueError("invalid literal for int() with base 10: ''"), None) - - >>> catch(int, NotImplementedError, '') - Traceback (most recent call last): - ... - ValueError: invalid literal for int() with base 10: '' - - >>> catch(int, ValueError, '', base=16) - (ValueError("invalid literal for int() with base 16: ''"), None) - - >>> catch(int, ValueError, '', base=16) - (ValueError("invalid literal for int() with base 16: ''"), None) - """ - try: - return None, f(*args, **kwargs) - except exception_cls as e: - return e, None diff --git a/src/azul/files.py b/src/azul/files.py deleted file mode 100644 index 8a4bb92401..0000000000 --- a/src/azul/files.py +++ /dev/null @@ -1,57 +0,0 @@ -from contextlib import ( - contextmanager, -) -import hashlib -from os import ( - PathLike, -) -import os.path -import tempfile - - -@contextmanager -def write_file_atomically(path, mode=0o644): - dir_path, file_name = os.path.split(path) - fd, temp_path = tempfile.mkstemp(dir=dir_path) - try: - with os.fdopen(fd, 'w') as f: - yield f - os.chmod(temp_path, mode) - os.rename(temp_path, path) - except BaseException: - os.unlink(temp_path) - raise - - -def file_sha1(path: str | PathLike) -> str: - """ - >>> file_sha1('/dev/null') - 'da39a3ee5e6b4b0d3255bfef95601890afd80709' - - >>> from tempfile import NamedTemporaryFile - >>> with NamedTemporaryFile() as f: - ... f.write(b'f' * (1024 * 1024 - 1)) - ... file_sha1(f.name) - 1048575 - 'f5e766a4faaac674df1dfb707f6557b67bebe99b' - - >>> with NamedTemporaryFile() as f: - ... f.write(b'f' * 1024 * 1024) - ... file_sha1(f.name) - 1048576 - 'c08874b8aacb429a677f0ad660d64919e7d56734' - - >>> with NamedTemporaryFile() as f: - ... f.write(b'f' * (1024 * 1024 + 1)) - ... file_sha1(f.name) - 1048577 - '6a8e89f614a497f5cf741a50d5c2f3c2e430db4e' - """ - with open(path, 'rb') as f: - sha1 = hashlib.sha1() - while True: - data = f.read(1024 * 1024) - if not data: - break - sha1.update(data) - return sha1.hexdigest() diff --git a/src/azul/health.py b/src/azul/health.py deleted file mode 100644 index 4a5f0031db..0000000000 --- a/src/azul/health.py +++ /dev/null @@ -1,529 +0,0 @@ -from collections.abc import ( - Iterable, - Mapping, -) -from itertools import ( - chain, -) -import json -import logging -import random -import time -from typing import ( - ClassVar, -) - -import attr -from botocore.exceptions import ( - ClientError, -) -import chalice -from chalice import ( - ChaliceViewError, - NotFoundError, - Response, -) -from furl import ( - furl, -) -import requests - -from azul import ( - CatalogName, - R, - cache, - cached_property, - config, - lru_cache, - require, -) -from azul.chalice import ( - AppController, - AzulChaliceApp, - LambdaMetric, -) -from azul.deployment import ( - aws, -) -from azul.es import ( - ESClientFactory, -) -from azul.openapi import ( - format_description, - params, - responses, - schema, -) -from azul.plugins import ( - MetadataPlugin, -) -from azul.service.storage_service import ( - StorageObjectNotFound, - StorageService, -) -from azul.types import ( - JSON, - MutableJSON, - json_bool, -) - -log = logging.getLogger(__name__) - - -# noinspection PyPep8Naming -class health_property(cached_property): - """ - Use this to decorate any methods you would like to be automatically - returned by HealthController.as_json(). Be sure to provide a docstring in - the decorated method. - """ - - def __get__(self, obj, objtype=None): - log.info('Getting health property %r', self.key) - return super().__get__(obj, objtype=objtype) - - @property - def key(self): - return self.fget.__name__ - - @property - def description(self): - return self.fget.__doc__ - - -@attr.s(frozen=True, kw_only=True, auto_attribs=True) -class HealthController(AppController): - lambda_name: str - - @cached_property - def storage_service(self): - return StorageService() - - @cache - def metadata_plugin(self, catalog: CatalogName) -> MetadataPlugin: - return MetadataPlugin.load(catalog).create() - - def basic_health(self) -> Response: - return self._make_response({'up': True}) - - def health(self) -> Response: - return self._make_response(self._health.as_json(Health.all_keys)) - - def custom_health(self, keys: str | None) -> Response: - if keys is None: - body = self._health.as_json(Health.all_keys) - elif isinstance(keys, str): - assert keys # Chalice maps empty string to None - try: - body = self._health.as_json(keys.split(',')) - except AssertionError as e: - if R.caused(e): - body = {'Message': 'Invalid health keys'} - else: - raise - else: - body = {'Message': 'Invalid health keys'} - return self._make_response(body) - - def fast_health(self) -> Response: - return self._make_response(self._health.as_json_fast()) - - def cached_health(self) -> JSON: - if self.app.catalog != config.default_catalog: - raise NotFoundError('Health is only cached for default catalog', - self.app.catalog, config.default_catalog) - else: - try: - cache = json.loads(self.storage_service.get(f'health/{self.lambda_name}')) - except StorageObjectNotFound: - raise NotFoundError('Cached health object does not exist') - else: - max_age = 2 * 60 - if time.time() - cache['time'] > max_age: - raise ChaliceViewError('Cached health object is stale') - else: - body = cache['health'] - return body - - def update_cache(self) -> None: - assert self.app.catalog == config.default_catalog - health_object = dict(time=time.time(), health=self._health.as_json_fast()) - self.storage_service.put(object_key=f'health/{self.lambda_name}', - data=json.dumps(health_object).encode()) - - @property - def _health(self): - # Don't cache. A Health instance is meant to be short-lived since it - # applies its own caching. If we cached the instance, we'd never observe - # any changes in health. - return Health(controller=self, catalog=self.app.catalog) - - def _make_response(self, body: JSON) -> Response: - try: - up = body['up'] - except KeyError: - status = 400 - else: - status = 200 if up else 503 - return Response(body=json.dumps(body), status_code=status) - - -@attr.s(frozen=True, kw_only=True, auto_attribs=True) -class Health: - """ - Encapsulates information about the health status of an Azul deployment. All - aspects of health are exposed as lazily loaded properties. Instantiating the - class does not examine any resources, only accessing the individual - properties does, or using the `to_json` method. - """ - controller: HealthController - catalog: str - _random: ClassVar[random.Random] = random.Random() - - @property - def lambda_name(self): - return self.controller.lambda_name - - def as_json(self, keys: Iterable[str]) -> JSON: - keys = frozenset(keys) - if keys: - require(keys <= self.all_keys) - else: - keys = self.all_keys - json = {k: getattr(self, k) for k in sorted(keys)} - json['up'] = all(v['up'] for v in json.values()) - return json - - @health_property - def other_lambdas(self) -> JSON: - """ - Indicates whether the companion REST API responds to HTTP requests. - """ - response = { - lambda_name: self._lambda(lambda_name) - for lambda_name in config.lambda_names() - if lambda_name != self.lambda_name - } - return { - 'up': all(json_bool(v['up']) for v in response.values()), - **response - } - - @health_property - def queues(self): - """ - Returns information about the SQS queues used by the indexer and the - mirror. - """ - sqs = aws.sqs_resource - response: MutableJSON = {'up': True} - for queue in config.all_queue_names: - try: - queue_instance = sqs.get_queue_by_name(QueueName=queue).attributes - except ClientError as ex: - response[queue] = { - 'up': False, - 'error': ex.response['Error']['Message'] - } - response['up'] = False - else: - response[queue] = { - 'up': True, - 'messages': { - 'delayed': int(queue_instance['ApproximateNumberOfMessagesDelayed']), - 'invisible': int(queue_instance['ApproximateNumberOfMessagesNotVisible']), - 'queued': int(queue_instance['ApproximateNumberOfMessages']) - } - } - return response - - @health_property - def progress(self) -> JSON: - """ - The number of Data Store bundles pending to be indexed and the number - of index documents in need of updating. - """ - return { - 'up': True, - 'unindexed_bundles': sum(self.queues[config.notifications_queue.name].get('messages', {}).values()), - 'unindexed_documents': sum(chain.from_iterable( - self.queues[config.tallies_queue.derive(retry=retry).name].get('messages', {}).values() - for retry in (False, True) - )) - } - - def _api_endpoint(self, entity_type: str) -> JSON: - relative_url = furl(path=('index', entity_type), args={'size': '1'}) - url = str(config.service_endpoint.join(relative_url)) - log.info('Making HEAD request to %s', url) - start = time.time() - response = requests.head(url) - log.info('Got %s response after %.3fs from HEAD request to %s', - response.status_code, time.time() - start, url) - try: - response.raise_for_status() - except requests.exceptions.HTTPError as e: - return {'up': False, 'error': repr(e)} - else: - return {'up': True} - - @cached_property - def entity_types(self): - return self.controller.metadata_plugin(self.catalog).exposed_indices.keys() - - @health_property - def api_endpoints(self): - """ - Indicates whether important service API endpoints are operational. - """ - entity_type = self._random.choice(list(self.entity_types)) - return self._api_endpoint(entity_type) - - @health_property - def elasticsearch(self): - """ - Indicates whether the Elasticsearch cluster is responsive. - """ - return { - 'up': ESClientFactory.get().ping(), - } - - @lru_cache - def _lambda(self, lambda_name) -> JSON: - try: - url = config.lambda_endpoint(lambda_name).set(path='/health/basic', - args={'catalog': self.catalog}) - log.info('Requesting %r', url) - response = requests.get(str(url)) - response.raise_for_status() - up = response.json()['up'] - except Exception as e: - return { - 'up': False, - 'error': repr(e) - } - else: - return { - 'up': up, - } - - fast_properties: ClassVar[Mapping[str, Iterable[health_property]]] = { - 'indexer': ( - elasticsearch, - queues, - progress - ), - 'service': ( - elasticsearch, - api_endpoints, - ) - } - - def as_json_fast(self) -> JSON: - return self.as_json(p.key for p in self.fast_properties[self.lambda_name]) - - all_properties: ClassVar[Iterable[health_property]] = tuple( - p for p in locals().values() if isinstance(p, health_property) - ) - - all_keys: ClassVar[frozenset[str]] = frozenset(p.key for p in all_properties) - - -class HealthApp(AzulChaliceApp): - - @cached_property - def health_controller(self) -> HealthController: - return HealthController(app=self, lambda_name=self.unqualified_app_name) - - def default_routes(self): - _routes = super().default_routes() - _app_name = self.unqualified_app_name - - _up_key = { - 'up': format_description(''' - indicates the overall result of the health check - '''), - } - - _fast_keys = { - **{ - prop.key: format_description(prop.description) - for prop in Health.fast_properties[_app_name] - }, - **_up_key - } - - _all_keys = { - **{ - prop.key: format_description(prop.description) - for prop in Health.all_properties - }, - **_up_key - } - - def _health_spec(health_keys: dict) -> JSON: - return { - 'responses': { - f'{200 if up else 503}': { - 'description': format_description(f''' - {'The' if up else 'At least one of the'} checked resources - {'are' if up else 'is not'} healthy. - - The response consists of the following keys: - - ''') + ''.join(f'* `{k}` {v}' for k, v in health_keys.items()) + format_description(f''' - - The top-level `up` key of the response is - `{'true' if up else 'false'}`. - - ''') + (format_description(f''' - {'All' if up else 'At least one'} of the nested `up` keys - {'are `true`' if up else 'is `false`'}. - ''') if len(health_keys) > 1 else ''), - **responses.json_content( - schema.object( - additionalProperties=schema.object( - additionalProperties=True, - up=schema.enum(up) - ), - up=schema.enum(up) - ), - example={ - k: up if k == 'up' else {} for k in health_keys - } - ) - } for up in [True, False] - }, - 'tags': ['Auxiliary'] - } - - @self.route( - '/health', - methods=['GET'], - cors=True, - spec={ - 'summary': 'Complete health check', - 'description': format_description(f''' - Health check of the {_app_name} REST API and all - resources it depends on. This may take long time to complete - and exerts considerable load on the API. For that reason it - should not be requested frequently or by automated - monitoring facilities that would be better served by the - [`/health/fast`](#operations-Auxiliary-get_health_fast) or - [`/health/cached`](#operations-Auxiliary-get_health_cached) - endpoints. - '''), - **_health_spec(_all_keys) - } - ) - def health(): - return self.health_controller.health() - - @self.route( - '/health/basic', - methods=['GET'], - cors=True, - spec={ - 'summary': 'Basic health check', - 'description': format_description(f''' - Health check of only the REST API itself, excluding other - resources that it depends on. A 200 response indicates that - the {_app_name} is reachable via HTTP(S) but nothing - more. - '''), - **_health_spec(_up_key) - } - ) - def basic_health(): - return self.health_controller.basic_health() - - @self.route( - '/health/cached', - methods=['GET'], - cors=True, - spec={ - 'summary': 'Cached health check for continuous monitoring', - 'description': format_description(f''' - Return a cached copy of the - [`/health/fast`](#operations-Auxiliary-get_health_fast) - response. This endpoint is optimized for continuously - running, distributed health monitors such as Route 53 health - checks. The cache ensures that the {_app_name} is not - overloaded by these types of health monitors. The cache is - updated every minute. - '''), - **_health_spec(_fast_keys) - } - ) - def cached_health(): - return self.health_controller.cached_health() - - @self.route( - '/health/fast', - methods=['GET'], - cors=True, - spec={ - 'summary': 'Fast health check', - 'description': format_description(''' - Performance-optimized health check of the REST API and other - critical resources tht it depends on. This endpoint can be - requested more frequently than - [`/health`](#operations-Auxiliary-get_health) but - periodically scheduled, automated requests should be made to - [`/health/cached`](#operations-Auxiliary-get_health_cached). - '''), - **_health_spec(_fast_keys) - } - ) - def fast_health(): - return self.health_controller.fast_health() - - @self.route( - '/health/{keys}', - methods=['GET'], - cors=True, - spec={ - 'summary': 'Selective health check', - 'description': format_description(''' - This endpoint allows clients to request a health check on a - specific set of resources. Each resource is identified by a - *key*, the same key under which the resource appears in a - [`/health`](#operations-Auxiliary-get_health) response. - '''), - **_health_spec(_all_keys) - }, path_spec={ - 'parameters': [ - params.path( - 'keys', - form=schema.array(schema.enum(*sorted(Health.all_keys))), - description=''' - A comma-separated list of keys selecting the health - checks to be performed. Each key corresponds to an - entry in the response. - ''') - ] - } - ) - def custom_health(keys: str | None = None): - return self.health_controller.custom_health(keys) - - @self.metric_alarm(metric=LambdaMetric.errors, - threshold=1, - period=24 * 60 * 60) - @self.metric_alarm(metric=LambdaMetric.throttles, - threshold=0, - period=5 * 60) - @self.retry(num_retries=0) - # FIXME: Remove redundant prefix from name - # https://github.com/DataBiosphere/azul/issues/5337 - @self.schedule( - 'rate(1 minute)', - name=self.unqualified_app_name + 'cachehealth' - ) - def update_health_cache(_event: chalice.app.CloudWatchEvent): - self.health_controller.update_cache() - - return { - **_routes, - **{k: v for k, v in locals().items() if not k.startswith('_')} - } diff --git a/src/azul/hmac.py b/src/azul/hmac.py deleted file mode 100644 index fa9c5e7cd6..0000000000 --- a/src/azul/hmac.py +++ /dev/null @@ -1,104 +0,0 @@ -import hashlib -import logging - -import chalice -from http_message_signatures import ( - HTTPMessageSigner, - HTTPMessageVerifier, - HTTPSignatureKeyResolver, -) -from http_message_signatures.algorithms import ( - HMAC_SHA256, -) -import http_sfv -from more_itertools import ( - one, -) -import requests -import requests.sessions -import requests.structures - -from azul import ( - cached_property, -) -from azul.auth import ( - HMACAuthentication, -) -from azul.deployment import ( - aws, -) - -log = logging.getLogger(__name__) - - -class SignatureHelper(HTTPSignatureKeyResolver): - """ - Client-side signing of HTTP requests and server-side checking of the - resulting signatures. On the client, requests are represented as instances - of requests.Request. On the server, chalice.Request is used. Internally - though, the latter is converted back to the former. - - This class should work as both a mix-in, and stand-alone. - """ - - @cached_property - def verifier(self): - return HTTPMessageVerifier(signature_algorithm=HMAC_SHA256, - key_resolver=self) - - @cached_property - def signer(self): - return HTTPMessageSigner(signature_algorithm=HMAC_SHA256, - key_resolver=self) - - def auth_from_request(self, - request: chalice.app.Request - ) -> HMACAuthentication | None: - try: - request.headers['signature'] - except KeyError: - return None - else: - key_id = self.verify(request) - return HMACAuthentication(key_id) - - def resolve_public_key(self, key_id: str) -> bytes: - return self.resolve_private_key(key_id) - - def resolve_private_key(self, key_id: str) -> bytes: - key, actual_key_id = aws.get_hmac_key_and_id() - assert actual_key_id == key_id - return key - - def verify(self, current_request: chalice.app.Request) -> str: - try: - base_url = current_request.headers['host'] - path = current_request.context['path'] - endpoint = f'http://{base_url}{path}' - method = current_request.context['httpMethod'] - headers = current_request.headers - request = requests.Request(method, endpoint, headers, data=current_request.raw_body).prepare() - result = one(self.verifier.verify(request)) - except BaseException as e: - log.warning('Exception while validating HMAC: ', exc_info=e) - raise chalice.UnauthorizedError('Invalid authorization credentials') - else: - return result.parameters - - def sign_and_send(self, request: requests.Request) -> requests.Response: - request = request.prepare() - self.sign(request) - with requests.sessions.Session() as session: - response = session.send(request) - return response - - def sign(self, request: requests.PreparedRequest): - body = request.body - assert body is not None - digest = hashlib.sha256(body).digest() - assert isinstance(request.headers, requests.structures.CaseInsensitiveDict) - request.headers['Content-Digest'] = str(http_sfv.Dictionary({'sha-256': digest})) - key, key_id = aws.get_hmac_key_and_id() - self.signer.sign(request, - key_id=key_id, - covered_component_ids=('@method', '@path', 'content-digest')) diff --git a/src/azul/indexer/__init__.py b/src/azul/indexer/__init__.py deleted file mode 100644 index a6a60fc3a2..0000000000 --- a/src/azul/indexer/__init__.py +++ /dev/null @@ -1,692 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from functools import ( - total_ordering, -) -from itertools import ( - product, -) -import json -import logging -import math -from threading import ( - RLock, -) -from typing import ( - Any, - ClassVar, - Iterable, - Iterator, - Self, - cast, - final, -) - -import attrs - -from azul import ( - R, - config, -) -from azul.attrs import ( - SerializableAttrs, -) -from azul.json import ( - Parseable, -) -from azul.types import ( - AnyJSON, - JSON, - SupportsLessAndGreaterThan, - derived_type_params, -) -from azul.uuids import ( - UUIDPartition, - validate_uuid_prefix, -) - -log = logging.getLogger(__name__) - -BundleUUID = str -BundleVersion = str - - -# PyCharm can't handle mixing `attrs` with `total_ordering` and falsely claims -# that comparison operators besides `__lt__` are not defined. -# noinspection PyDataclass -@attrs.frozen(kw_only=True, eq=False) -@total_ordering -class BundleFQID(SerializableAttrs): - """ - A fully qualified bundle identifier. The attributes defined in this class - must always be sufficient to decide whether two instances of this class or - its subclasses identify the same bundle or not. Subclasses may define - additional attributes to help describe the bundle, but they are forbidden - from using these attributes in the implementations of their `__eq__` or - `__hash__` methods, either explicitly or in code generated by `attrs`. - """ - uuid: BundleUUID - version: BundleVersion - - def _nucleus(self) -> tuple[str, str]: - return self.uuid.lower(), self.version.lower() - - # We can't use attrs' generated implementation because it always - # considers operands with different types to be unequal, regardless of - # their inheritance relationships or how their attributes are annotated - # (e.g. specifying `eq=False` has no effect). We want instances of - # all subclasses to compare equal as long as `uuid` and `version` are - # equal. For the same reason, we can't use `typing.Self` in the signature - # because it would constrain the RHS to instances of subclasses of the LHS. - @final - def __eq__(self, other: Any) -> bool: - """ - >>> b1 = BundleFQID(uuid='a', version='b') - >>> b2 = BundleFQID(uuid='a', version='b') - >>> b1 == b2 - True - - >>> s1 = SourceRef(id='x', spec=SimpleSourceSpec.parse('y:/0')) - >>> sb1 = SourcedBundleFQID(uuid='a', version='b', source=s1) - >>> sb2 = SourcedBundleFQID(uuid='a', version='b', source=s1) - >>> sb1 == sb2 - True - - >>> b1 == sb1 - True - - >>> s2 = SourceRef(id='w', spec=SimpleSourceSpec.parse('z:/0')) - >>> sb3 = SourcedBundleFQID(uuid='a', version='b', source=s2) - >>> b1 == sb3 - True - - >>> sb1 == sb3 - ... # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - AssertionError: (('a', 'b'), - SourceRef(id='x', spec=SimpleSourceSpec(prefix=Prefix(common='', partition=0), name='y')), - SourceRef(id='w', spec=SimpleSourceSpec(prefix=Prefix(common='', partition=0), name='z'))) - """ - if isinstance(other, BundleFQID): - same_bundle = self._nucleus() == other._nucleus() - if ( - same_bundle - and isinstance(self, SourcedBundleFQID) - and isinstance(other, SourcedBundleFQID) - ): - assert self.source == other.source, (self._nucleus(), self.source, other.source) - return same_bundle - else: - return False - - @final - def __hash__(self) -> int: - return hash(self._nucleus()) - - def __init_subclass__(cls): - """ - >>> @attrs.frozen(kw_only=True) - ... class FooBundleFQID(SourcedBundleFQID): - ... foo: str - Traceback (most recent call last): - ... - AssertionError: - - >>> @attrs.frozen(kw_only=True, eq=False) - ... class FooBundleFQID(SourcedBundleFQID): - ... foo: str - """ - super().__init_subclass__() - assert cls.__eq__ is BundleFQID.__eq__, cls - assert cls.__hash__ is BundleFQID.__hash__, cls - - # attrs doesn't allow `order=True` when `eq=False` - def __lt__(self, other: 'BundleFQID') -> bool: - """ - >>> aa = BundleFQID(uuid='a', version='a') - >>> ab = BundleFQID(uuid='a', version='b') - >>> ba = BundleFQID(uuid='b', version='a') - >>> aa < ab < ba - True - - >>> ba > ab > aa - True - - >>> aa <= ab <= ba - True - - >>> ba >= ab >= aa - True - - >>> aa != ab != ba - True - """ - return self._nucleus() < other._nucleus() - - -@attrs.frozen(kw_only=True) -class Prefix: - common: str = '' - partition: int - of_everything: ClassVar['Prefix'] - - digits = '0123456789abcdef' - - def __attrs_post_init__(self): - validate_uuid_prefix(self.common) - assert ':' not in self.common, self.common - assert isinstance(self.partition, int), self.partition - # Version 4 UUIDs specify fixed bits in the third dash-seperated - # group. To ensure that any concatenation of common and - # partition_prefix is a valid UUID prefix, we restrict the number of - # characters from the concatenation to be within the first - # dash-seperated group. - assert len(self.common) + self.partition <= 8, R( - 'Invalid common prefix and partition length', self) - - @classmethod - def parse(cls, prefix: str) -> Self: - """ - >>> Prefix.parse('aa/1') - Prefix(common='aa', partition=1) - - >>> p = Prefix.parse('a') - Traceback (most recent call last): - ... - ValueError: ('Missing partition prefix length', 'a') - - >>> Prefix.parse('aa/') - Traceback (most recent call last): - ... - AssertionError: R('Prefix source cannot end in a delimiter', 'aa/', '/') - - >>> Prefix.parse('8f538f53/1').partition_prefixes() # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - AssertionError: R('Invalid common prefix and partition length', - Prefix(common='8f538f53', partition=1)) - - >>> list(Prefix.parse('8f538f53/0').partition_prefixes()) - ['8f538f53'] - - >>> Prefix.parse('aa/bb') - Traceback (most recent call last): - ... - ValueError: ('Partition prefix length must be an integer', 'bb') - - >>> Prefix.parse('') - Traceback (most recent call last): - ... - AssertionError: R('Cannot parse an empty prefix source') - """ - source_delimiter = '/' - assert prefix != '', R('Cannot parse an empty prefix source') - assert not prefix.endswith(source_delimiter), R( - 'Prefix source cannot end in a delimiter', prefix, source_delimiter) - partition: str | int - try: - entry, partition = prefix.split(source_delimiter) - except ValueError: - raise ValueError('Missing partition prefix length', prefix) - try: - partition = int(partition) - except ValueError: - raise ValueError('Partition prefix length must be an integer', partition) - validate_uuid_prefix(entry) - return cls(common=entry, partition=partition) - - @classmethod - def for_main_deployment(cls, num_subgraphs: int) -> Self: - """ - A prefix that is expected to rarely exceed 8192 subgraphs per partition - - >>> str(Prefix.for_main_deployment(0)) - Traceback (most recent call last): - ... - ValueError: math domain error - - >>> str(Prefix.for_main_deployment(1)) - '/0' - - >>> cases = [-1, 0, 1, 2] - - >>> n = 8192 - >>> [str(Prefix.for_main_deployment(n + i)) for i in cases] - ['/0', '/0', '/1', '/1'] - - Sources with this many bundles are very rare, so we have a generous - margin of error surrounding this cutoff point - - >>> n = 8192 * 16 - >>> [str(Prefix.for_main_deployment(n + i)) for i in cases] - ['/1', '/1', '/2', '/2'] - """ - partition = cls._prefix_length(num_subgraphs, 8192) - return cls(common='', partition=partition) - - @classmethod - def for_lesser_deployment(cls, num_subgraphs: int) -> Self: - """ - A prefix that yields an average of approximately 24 subgraphs per - source, using an experimentally derived heuristic formula designed to - minimize manual adjustment of the computed common prefixes. The - partition prefix length is always 1, even though some partitions may be - empty, to provide test coverage for handling multiple partitions. - - >>> str(Prefix.for_lesser_deployment(0)) - Traceback (most recent call last): - ... - ValueError: math domain error - - >>> str(Prefix.for_lesser_deployment(1)) - '/1' - - >>> cases = [-1, 0, 1, 2] - - >>> n = 64 - >>> [str(Prefix.for_lesser_deployment(n + i)) for i in cases] - ['/1', '/1', '0/1', '1/1'] - - >>> n = 64 * 16 - >>> [str(Prefix.for_lesser_deployment(n + i)) for i in cases] - ['e/1', 'f/1', '00/1', '10/1'] - """ - digits = f'{num_subgraphs - 1:x}'[::-1] - length = cls._prefix_length(num_subgraphs, 64) - assert length < len(digits), num_subgraphs - return cls(common=digits[:length], partition=1) - - @classmethod - def _prefix_length(cls, n, m) -> int: - return max(0, math.ceil(math.log(n / m, len(cls.digits)))) - - def partition_prefixes(self) -> Iterator[str]: - """ - >>> list(Prefix.parse('/0').partition_prefixes()) - [''] - - >>> list(Prefix.parse('a/1').partition_prefixes()) - ['a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8', 'a9', 'aa', 'ab', 'ac', 'ad', 'ae', 'af'] - - >>> len(list(Prefix.parse('/2').partition_prefixes())) - 256 - """ - for partition_prefix_digits in product(self.digits, repeat=self.partition): - complete_prefix = ''.join((self.common, *partition_prefix_digits)) - validate_uuid_prefix(complete_prefix) - yield complete_prefix - - @property - def num_partitions(self) -> int: - """ - Equivalent to `len(self.partition_prefixes())`, but more efficient. - - >>> Prefix.parse('aa/0').num_partitions - 1 - >>> Prefix.parse('/3').num_partitions - 4096 - >>> Prefix.parse('aa/3').num_partitions - 4096 - """ - return len(self.digits) ** self.partition - - def __str__(self): - """ - >>> s = 'aa/1' - >>> s == str(Prefix.parse(s)) - True - """ - return f'{self.common}/{self.partition}' - - def __len__(self): - """ - >>> len(Prefix.parse('aa/0')) - 2 - >>> len(Prefix.parse('/3')) - 3 - >>> len(Prefix.parse('aa/3')) - 5 - """ - return len(self.common) + self.partition - - def __contains__(self, partition_prefix: str) -> bool: - """ - Same as `partition_prefix in prefix.partition_prefixes()` but more - efficient. See also :meth:`partition_prefixes`. - - >>> p0, p1, p2 = Prefix.parse('/0'), Prefix.parse('/1'), Prefix.parse('/2') - >>> 'a' in p0, 'a' in p1, 'a' in p2 - (False, True, False) - - >>> p1, p2, p3 = Prefix.parse('a/0'), Prefix.parse('a/1'), Prefix.parse('a/2') - >>> 'ab' in p1, 'ab' in p2, 'ab' in p3 - (False, True, False) - - >>> 'ab' in Prefix.parse('b/1') - False - - >>> 'ag' in Prefix.parse('a/1') - False - - >>> 'aB' in Prefix.parse('a/1') - False - """ - return ( - partition_prefix.startswith(self.common) - and len(partition_prefix) == len(self) - and all(c in self.digits for c in partition_prefix[len(self.common):]) - ) - - -Prefix.of_everything = Prefix.parse('/0') - - -@attrs.frozen(kw_only=True, order=True) -class SourceSpec(Parseable, metaclass=ABCMeta): - """ - The name of a repository source containing bundles to index. A repository - has at least one source. Repository plugins whose repository source names - are structured might want to implement this abstract class. Plugins that - have simple unstructured names may want to use :class:`SimpleSourceSpec`. - """ - - # FIXME: Improve equality and interning semantics for source ref and spec - # https://github.com/DataBiosphere/azul/issues/6778 - prefix: Prefix | None - - @classmethod - def parse_prefix_only(cls, spec: str) -> Prefix | None: - """ - Parse only the prefix component of a string representation of a - `SourceSpec.` To parse the entire spec, use :meth:`parse`. A return - value of `None` indicates that no prefix is configured for the spec. - - >>> SourceSpec.parse_prefix_only('foo:/0') - Prefix(common='', partition=0) - - >>> SourceSpec.parse_prefix_only('foo:') is None - True - - >>> SourceSpec.parse_prefix_only('foo') - Traceback (most recent call last): - ... - AssertionError: R('Invalid source specification', 'foo') - """ - _, prefix = cls._parse(spec) - return prefix - - @classmethod - @abstractmethod - def parse(cls, spec: str) -> Self: - raise NotImplementedError - - @classmethod - def _parse(cls, spec: str) -> tuple[str, Prefix | None]: - rest, sep, prefix = spec.rpartition(':') - assert sep != '', R('Invalid source specification', spec) - prefix = Prefix.parse(prefix) if prefix else None - return rest, prefix - - @property - def _prefix_str(self) -> str: - return '' if self.prefix is None else str(self.prefix) - - @abstractmethod - def __str__(self) -> str: - raise NotImplementedError - - def eq_ignoring_prefix(self, other: Self) -> bool: - """ - >>> p = SimpleSourceSpec.parse - - >>> p('foo:4/0').eq_ignoring_prefix(p('foo:42/0')) - True - - >>> p('foo:4/0').eq_ignoring_prefix(p('bar:4/0')) - False - """ - return self == attrs.evolve(other, prefix=self.prefix) - - -@attrs.frozen(kw_only=True) -class SimpleSourceSpec(SourceSpec): - """ - Default implementation for unstructured source names. - """ - name: str - - @classmethod - def parse(cls, spec: str) -> Self: - """ - >>> SimpleSourceSpec.parse('https://foo.edu:12/0') # doctest: +NORMALIZE_WHITESPACE - SimpleSourceSpec(prefix=Prefix(common='12', - partition=0), - name='https://foo.edu') - - >>> SimpleSourceSpec.parse('foo') - Traceback (most recent call last): - ... - AssertionError: R('Invalid source specification', 'foo') - - >>> SimpleSourceSpec.parse('foo:8F53/0') - Traceback (most recent call last): - ... - azul.uuids.InvalidUUIDPrefixError: '8F53' is not a valid UUID prefix. - - >>> SimpleSourceSpec.parse('https:foo.edu/0') - Traceback (most recent call last): - ... - azul.uuids.InvalidUUIDPrefixError: 'foo.edu' is not a valid UUID prefix. - """ - name, prefix = cls._parse(spec) - self = cls(prefix=prefix, name=name) - assert spec == str(self), spec - return self - - def __str__(self) -> str: - """ - >>> s = 'foo:bar/baz:/0' - >>> s == str(SimpleSourceSpec.parse(s)) - True - - >>> s = 'foo:bar/baz:12/0' - >>> s == str(SimpleSourceSpec.parse(s)) - True - - >>> s = 'foo:bar/baz:12/2' - >>> s == str(SimpleSourceSpec.parse(s)) - True - """ - return f'{self.name}:{self._prefix_str}' - - -@attrs.frozen(kw_only=True, order=True) -class SourceRef[SOURCE_SPEC: SourceSpec](SerializableAttrs, - SupportsLessAndGreaterThan): - """ - A reference to a repository source containing bundles to index. A repository - has at least one source. A source is primarily referenced by its ID but we - drag the spec along to 1) avoid repeatedly looking it up and 2) ensure that - the mapping between the two doesn't change while we index a source. - - Instances of this class are interned: within a Python interpreter process, - there will only ever be one instance of this class for any given ID and - spec. There may be an instance of a subclass of this class that has the same - ID and spec as an instance of this class or another subclass of this class. - - FIXME: Improve equality and interning semantics for source ref and spec - https://github.com/DataBiosphere/azul/issues/6778 - - Note to plugin implementers: Since the source ID can't be assumed to be - globally unique, plugins should subclass this class, even if the subclass - body is empty. - - >>> spec = SimpleSourceSpec(name='', prefix=(Prefix(partition=0))) - >>> list(sorted([ - ... SourceRef(id='d', spec=spec), - ... SourceRef(id='a', spec=spec), - ... ])) - ... # doctest: +NORMALIZE_WHITESPACE - [SourceRef(id='a', spec=SimpleSourceSpec(prefix=Prefix(common='', partition=0), name='')), - SourceRef(id='d', spec=SimpleSourceSpec(prefix=Prefix(common='', partition=0), name=''))] - - """ - id: str = attrs.field(order=str.lower) - spec: SOURCE_SPEC = attrs.field(order=False) - - _lookup: ClassVar[dict[tuple[type['SourceRef'], str, SourceSpec], 'SourceRef']] = {} - _lookup_lock = RLock() - - def __new__(cls, *, id: str, spec: SOURCE_SPEC) -> Self: - """ - Interns instances by their ID and spec. Two different sources may still - use the same ID or spec. - - FIXME: Improve equality and interning semantics for source ref and spec - https://github.com/DataBiosphere/azul/issues/6778 - - >>> class S(SourceRef): pass - >>> a, b = SimpleSourceSpec.parse('a:/0'), SimpleSourceSpec.parse('b:/0') - - >>> S(id='1', spec=a) is S(id='1', spec=a) - True - - >>> S(id='1', spec=a) is S(id='2', spec=a) - False - - >>> S(id='1', spec=b) # doctest: +NORMALIZE_WHITESPACE - S(id='1', spec=SimpleSourceSpec(prefix=Prefix(common='', - partition=0), - name='b')) - - Interning is done per class: - - >>> class T(S): pass - >>> T(id='1', spec=a) is S(id='1', spec=a) - False - - >>> T(id='1', spec=a) == S(id='1', spec=a) - False - """ - with cls._lookup_lock: - lookup = cls._lookup - try: - self = lookup[cls, id, spec] - except KeyError: - self = super().__new__(cls) - cls.__init__(self, id=id, spec=spec) - lookup[cls, id, spec] = self - assert isinstance(self, cls) - assert self.id == id - assert self.spec == spec, (self.spec, spec) - return self - - @classmethod - def spec_cls(cls) -> type[SOURCE_SPEC]: - spec_cls = derived_type_params(cls, root=SourceRef)[SOURCE_SPEC] - assert isinstance(spec_cls, type) - assert issubclass(spec_cls, SourceSpec) - return cast(type[SOURCE_SPEC], spec_cls) - - def with_prefix(self, prefix: Prefix) -> Self: - return attrs.evolve(self, spec=attrs.evolve(self.spec, prefix=prefix)) - - -@attrs.frozen(kw_only=True, eq=False) -class SourcedBundleFQID[SOURCE_REF: SourceRef](BundleFQID): - """ - >>> spec = SimpleSourceSpec(name='', prefix=(Prefix(partition=0))) - >>> list(sorted([ - ... SourcedBundleFQID(uuid='d', version='e', source=SourceRef(id='1', spec=spec)), - ... SourcedBundleFQID(uuid='a', version='c', source=SourceRef(id='2', spec=spec)), - ... SourcedBundleFQID(uuid='a', version='b', source=SourceRef(id='3', spec=spec)), - ... ])) - ... # doctest: +NORMALIZE_WHITESPACE - [SourcedBundleFQID(uuid='a', version='b', - source=SourceRef(id='3', spec=SimpleSourceSpec(prefix=Prefix(common='', partition=0), name=''))), - SourcedBundleFQID(uuid='a', version='c', - source=SourceRef(id='2', spec=SimpleSourceSpec(prefix=Prefix(common='', partition=0), name=''))), - SourcedBundleFQID(uuid='d', version='e', - source=SourceRef(id='1', spec=SimpleSourceSpec(prefix=Prefix(common='', partition=0), name='')))] - """ - - source: SOURCE_REF - - @classmethod - def source_ref_cls(cls) -> type[SOURCE_REF]: - ref_cls = derived_type_params(cls, root=SourcedBundleFQID)[SOURCE_REF] - assert isinstance(ref_cls, type) - assert issubclass(ref_cls, SourceRef) - return cast(type[SOURCE_REF], ref_cls) - - -@attrs.define(kw_only=True) -class Bundle[BUNDLE_FQID: BundleFQID](SerializableAttrs, metaclass=ABCMeta): - fqid: BUNDLE_FQID - - @property - def uuid(self) -> BundleUUID: - return self.fqid.uuid - - @property - def version(self) -> BundleVersion: - return self.fqid.version - - @abstractmethod - def drs_uri(self, manifest_entry: JSON) -> str | None: - """ - Return the DRS URI to a data file in this bundle, or None if the data - file is not accessible via DRS. - - :param manifest_entry: the manifest entry of the data file. - """ - raise NotImplementedError - - def _reject_joiner(self, values: Iterable[AnyJSON]): - joiner = config.manifest_column_joiner - # We expect that skipping the check for circular references will provide - # a small performance benefit. The tradeoff is a risk of infinite - # recursion, which we consider unlikely enough to be acceptable. - encoder = json.JSONEncoder(check_circular=False) - for value in values: - for chunk in encoder.iterencode(value): - assert joiner not in chunk, R( - f'The string {joiner!r} is disallowed in metadata', self.fqid) - - @abstractmethod - def reject_joiner(self): - """ - Raise a requirement error if the manifest joiner occurs in this bundle - """ - raise NotImplementedError - - @classmethod - @abstractmethod - def canning_qualifier(cls) -> str: - """ - Short string prepended to the file extension to distinguish between - canned bundle formats originating from different plugins. - """ - raise NotImplementedError - - -class BundlePartition(UUIDPartition): - """ - A binary partitioning of the UUIDs of outer entities in a bundle. - """ - - #: 512 caused timeouts writing contributions, even in the retry Lambda - max_partition_size: ClassVar[int] = 256 - - def divisions(self, num_entities: int) -> int: - return math.ceil(num_entities / self.max_partition_size) - - def __attrs_post_init__(self): - super().__attrs_post_init__() - # Most bits in a v4 or v5 UUID are pseudo-random, including the leading - # 32 bits but those are followed by a couple of deterministic ones. - # For simplicity, we'll limit ourselves to 2 ** 32 leaf partitions. - assert self.prefix_length <= 32, R('Too many partitions', self.prefix_length) diff --git a/src/azul/indexer/action_controller.py b/src/azul/indexer/action_controller.py deleted file mode 100644 index e5d60c4d9c..0000000000 --- a/src/azul/indexer/action_controller.py +++ /dev/null @@ -1,88 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -import logging -import time -from typing import ( - Callable, - Iterable, -) - -import chalice -from chalice.app import ( - SQSRecord, -) - -from azul import ( - R, - cached_property, -) -from azul.chalice import ( - AppController, -) -from azul.queues import ( - Action, - SQSFifoMessage, - SQSMessage, -) -from azul.types import ( - JSON, - derived_type_params, - json_str, -) - -log = logging.getLogger(__name__) - - -class ActionController[A: Action](AppController, metaclass=ABCMeta): - - @property - @abstractmethod - def actions_are_fifo(self) -> bool: - raise NotImplementedError - - @cached_property - def _action_cls(self) -> type[A]: - action_cls = derived_type_params(type(self), root=ActionController)[A] - assert isinstance(action_cls, type), action_cls - return action_cls - - def _load_action(self, action_str: str) -> A: - action_cls = self._action_cls - try: - action = action_cls.from_json(action_str) - except AssertionError as e: - if R.caused(e): - raise R.propagate(e, chalice.BadRequestError) - else: - raise - else: - return action - - def _handle_events(self, - event: Iterable[SQSRecord], - message_handler: Callable[[A, JSON], None]): - for record in event: - message: SQSMessage - if self.actions_are_fifo: - message = SQSFifoMessage.from_record(record) - suffix, args = ', group ID %s', [message.group_id] - else: - message = SQSMessage.from_record(record) - suffix, args = '', [] - log.info('Worker handling message %r, ' + - 'attempt #%i (approx), message ID %s' + suffix, - message.body, message.attempts, message.id, *args) - start = time.time() - try: - action = self._load_action(json_str(message.body['action'])) - message_handler(action, message.body) - except BaseException: - # Note that another problematic outcome is for the Lambda invocation - # to time out, in which case this log message will not be written. - log.warning('Worker failed to handle message %r', message, exc_info=True) - raise - else: - duration = time.time() - start - log.info('Worker successfully handled message %r in %.3fs.', message, duration) diff --git a/src/azul/indexer/aggregate.py b/src/azul/indexer/aggregate.py deleted file mode 100644 index 5cea8ad4ed..0000000000 --- a/src/azul/indexer/aggregate.py +++ /dev/null @@ -1,635 +0,0 @@ -from __future__ import ( - annotations, -) - -from abc import ( - ABCMeta, - abstractmethod, -) -from collections import ( - Counter, - defaultdict, -) -import logging -import sys -from typing import ( - Any, - Callable, - Hashable, - TYPE_CHECKING, -) - -from azul import ( - R, -) -from azul.collections import ( - none_safe_key, -) -from azul.indexer.document import ( - EntityType, -) -from azul.json_freeze import ( - freeze, - thaw, -) -from azul.types import ( - AnyJSON, - JSON, - JSONs, - json_mapping, -) - -log = logging.getLogger(__name__) - -if TYPE_CHECKING: - from _typeshed import ( - SupportsAdd, - SupportsDunderGT, - SupportsDunderLT, - SupportsRichComparison, - ) - - -class Accumulator[V, A](metaclass=ABCMeta): - """ - Accumulates multiple values into a single value, not necessarily of the same - type. - """ - - def __init__(self): - self.dropped = 0 - - @abstractmethod - def accumulate(self, value: V | list[V]) -> Any: - """ - Incorporate the given value into this accumulator. If the value is not - incorporated (due to e.g. a maximum size constraint), implementations - should increment :py:attr:`dropped`. - """ - raise NotImplementedError - - @abstractmethod - def get(self) -> A: - """ - Return the accumulated value. - """ - raise NotImplementedError - - -class BaseAccumulator[V, A](Accumulator[V, A], metaclass=ABCMeta): - """ - Handles lists of values by accumulating each item individually. For certain - types of accumulators this may not be the most efficient way to handle such - lists. - """ - - def accumulate(self, value: V | list[V]) -> None: - if isinstance(value, list): - for value in value: - self._accumulate(value) - else: - self._accumulate(value) - - @abstractmethod - def _accumulate(self, value: V) -> None: - raise NotImplementedError - - -class SumAccumulator[V:SupportsAdd](BaseAccumulator[V | None, V | None]): - """ - Add values. - - Unlike the built-in sum() function, this accumulator doesn't default to an - initial value of 0 but defaults to the first accumulated value instead. Also - unlike sum(), it simply ignores None values. - """ - - def __init__(self, *, initially: V | None = None) -> None: - """ - :param initially: the initial value for the sum. If None, the first - accumulated value that is not None will be used to - initialize the sum. Note that if this parameter is - None, the return value of get() could be None, too. - """ - super().__init__() - self.value = initially - - def _accumulate(self, value: V | None) -> None: - if value is not None: - if self.value is None: - self.value = value - else: - self.value += value - - def get(self) -> V | None: - return self.value - - -class SetAccumulator[V: Hashable](Accumulator[V, list[V]]): - """ - Accumulates values into a set, discarding duplicates and, optionally, values - that would grow the set past the maximum size. The accumulated value is - returned as a sorted list. The maximum size constraint does not take the - ordering into account. This accumulator does not return a list of the N - smallest values, it returns a sorted list of the first N distinct values. - """ - - def __init__(self, - max_size: int | None = None, - key: Callable[[V], SupportsRichComparison] | None = None - ) -> None: - """ - :param max_size: the maximum number of elements to retain - - :param key: The key to be used for sorting the accumulated set of - values. If this value is None, a default None-safe key will - be used. With that default key, if any None values were - placed in the accumulator, the first element, and only the - first element of the returned list will be None. - """ - super().__init__() - self.value: set[V] = set() - self.max_size = max_size - self.key = none_safe_key(none_last=True) if key is None else key - - def accumulate(self, value: V | list[V]) -> int: - """ - :return: The number of distinct values that were incorporated. There are - two reasons a value may not be incorporated: it was already in - the set or the accumulator is full. The latter is reflected in - self.dropped - - >>> acc = SetAccumulator(max_size=4) - >>> acc.accumulate([]), acc.get(), acc.dropped - (0, [], 0) - - >>> acc.accumulate(1), acc.get(), acc.dropped - (1, [1], 0) - - >>> acc.accumulate(1), acc.get(), acc.dropped - (0, [1], 0) - - >>> acc.accumulate(2), acc.get(), acc.dropped - (1, [1, 2], 0) - - >>> acc.accumulate([1, 2, 3]), acc.get(), acc.dropped - (1, [1, 2, 3], 0) - - >>> acc.accumulate([1, 2, 3]), acc.get(), acc.dropped - (0, [1, 2, 3], 0) - - >>> acc.accumulate([3, 4, 5]), acc.get(), acc.dropped - (1, [1, 2, 3, 4], 1) - - >>> acc.accumulate([5, 6]), acc.get(), acc.dropped - (0, [1, 2, 3, 4], 3) - - >>> acc.accumulate(1), acc.get(), acc.dropped - (0, [1, 2, 3, 4], 3) - - >>> acc.accumulate(5), acc.get(), acc.dropped - (0, [1, 2, 3, 4], 4) - - The ``dropped`` attribute is incremented for each of the 5's below since - that's what would happen were they incorporated in separate calls. - - >>> acc.accumulate([4, 4, 5, 5]), acc.get(), acc.dropped - (0, [1, 2, 3, 4], 6) - - >>> acc = SetAccumulator(max_size=0) - - >>> acc.accumulate([]), acc.get(), acc.dropped - (0, [], 0) - - >>> acc.accumulate(1), acc.get(), acc.dropped - (0, [], 1) - - >>> acc.accumulate([1, 1]), acc.get(), acc.dropped - (0, [], 3) - - >>> import random - >>> l = [random.randint(0, 9) for _ in range(10000)] - >>> acc = SetAccumulator() - >>> acc.accumulate(l) - 10 - - >>> list(set(acc.get())) == acc.get() - True - - >>> set(l) == set(acc.get()) - True - - Tuples are treated as scalars. We rely on this behavior when aggregating - `ValueAndUnit` fields. - - >>> acc = SetAccumulator(max_size=2) - >>> acc.accumulate((1, 2)), acc.get(), acc.dropped - (1, [(1, 2)], 0) - - >>> acc.accumulate([(2, 1), (1, 2), ()]), acc.get(), acc.dropped - (1, [(1, 2), (2, 1)], 1) - """ - current, max_size = self.value, self.max_size - initial_len = len(current) - free_space = sys.maxsize if max_size is None else max_size - initial_len - assert free_space >= 0 - if isinstance(value, list): - if len(value) <= free_space: - # If there is sufficient free space to incorporate all values, - # even if they're all the same, do so. - current.update(value) - else: - # If there are no duplicates in the argument, we can add as many - # items from the argument as we have free space for. - current.update(value[0:free_space]) - value = value[free_space:] - new_len = len(current) - # We may still have free space left if there were duplicate - # items in the slice we just incorporated, or if some of those - # items had already been incorporated before the slice was. - num_added = new_len - initial_len - free_space -= num_added - assert free_space >= 0 - # We could repeat the above but that could lead to many slices - # of length one. Instead we'll switch to handling elements - # individually until we run out of space. - i = iter(value) - try: - while free_space > 0: - current.add(next(i)) - if new_len != len(current): - new_len += 1 - free_space -= 1 - # We've run out of space. Report any elements not already - # accumulated as dropped. - while True: - if next(i) not in current: - self.dropped += 1 - except StopIteration: - pass - else: - if free_space > 0: - current.add(value) - elif value not in current: - self.dropped += 1 - final_len = len(current) - assert max_size is None or final_len <= max_size - return final_len - initial_len - - def get(self) -> list[V]: - return sorted(self.value, key=self.key) - - -class SetOfDictAccumulator(SetAccumulator[JSON | None]): - """ - A set accumulator that supports mutable mappings as values. - - >>> acc = SetOfDictAccumulator(key=lambda d: d['foo']) - >>> d = {'foo': 2} - >>> acc.accumulate(d) - 1 - - >>> acc.accumulate(d) - 0 - - >>> d = {'foo': 1, 'bar': 1} - >>> acc.accumulate(d) - 1 - - >>> acc.accumulate([d, d]) - 0 - - >>> acc.get() - [{'foo': 1, 'bar': 1}, {'foo': 2}] - """ - - def _freeze(self, value: JSON | None) -> JSON | None: - return None if value is None else json_mapping(freeze(value)) - - def _thaw(self, value: JSON | None) -> JSON | None: - return None if value is None else json_mapping(thaw(value)) - - def accumulate(self, value: JSON | None | list[JSON | None]) -> int: - if isinstance(value, list): - # `freeze` converts lists to tuples, which the superclass treats as - # scalars instead of sequences. Passing a list as a tuple would - # therefore introduce an extraneous level of nesting, as every - # element in `value` would end up in a single element of the - # accumulated result. - value = list(map(self._freeze, value)) - else: - value = self._freeze(value) - return super().accumulate(value) - - def get(self) -> list[JSON | None]: - return [self._thaw(value) for value in super().get()] - - -if TYPE_CHECKING: - # @formatter:off (PyCharm puts two blank lines around indented top-level - # classes, flake8 wants one) - class HashableAndSupportsDunderLT(SupportsDunderLT, - Hashable, - metaclass=ABCMeta): - ... - - class HashableAndSupportsDunderGT(SupportsDunderGT, - Hashable, - metaclass=ABCMeta): - ... - - type HashableAndSortable = ( - HashableAndSupportsDunderGT - | HashableAndSupportsDunderLT - ) - # @formatter:on - - -class DictAccumulator[K: HashableAndSortable, V](Accumulator[V, list[V]]): - """ - Accumulate values into a dictionary, allowing one unique value per key, - discarding values that would exceed the maximum number of dictionary keys. - In a way this is a generalized SetAccumulator. DictAccumulator can replace a - SetAccumulator by using the identity function for the key. - """ - - def __init__(self, - *, - max_size: int | None, - key: Callable[[V], K]): - """ - :param max_size: The maximum number of elements to retain. A value of - None can be used to specify no maximum. - - :param key: A function returning the key to be used both for storing the - accumulated value and sorting the accumulated set of values. - """ - super().__init__() - self.max_size = max_size - self.key = key - self.value: dict[K, V] = {} - - def accumulate(self, value): - """ - >>> acc = DictAccumulator(max_size=3, key=lambda s: s.lower()) - >>> acc.accumulate('foo') - >>> acc.get(), acc.dropped - (['foo'], 0) - - >>> acc.accumulate('foo') - >>> acc.get(), acc.dropped - (['foo'], 0) - - >>> acc.accumulate('Foo') - Traceback (most recent call last): - ... - AssertionError: R('Ambiguos key:', 'foo', 'values:', 'foo', 'Foo') - - >>> acc.accumulate('Bar') - >>> acc.accumulate('BAZ') - >>> acc.get(), acc.dropped - (['Bar', 'BAZ', 'foo'], 0) - - >>> acc.accumulate('spam') - >>> acc.get(), acc.dropped - (['Bar', 'BAZ', 'foo'], 1) - """ - key = self.key(value) - if self.max_size is None or len(self.value) < self.max_size: - try: - old_value = self.value[key] - except KeyError: - self.value[key] = value - else: - assert old_value == value, R( - 'Ambiguos key:', key, 'values:', old_value, value) - elif key not in self.value: - self.dropped += 1 - - def get(self): - return sorted(self.value.values(), key=self.key) - - -class FrequencySetAccumulator[V](Accumulator[V, list[V]]): - """ - An accumulator that accepts any number of values and returns a list with - at most max_size most frequently occurring values. - - Note the max_size argument only limits the length of the accumulate, the - overall menory consumption of this accumulator is unbounded. - - >>> acc = FrequencySetAccumulator(max_size=2) - >>> acc.accumulate('x') - >>> acc.accumulate(['x','y']) - >>> acc.accumulate(['x','y','z']) - >>> acc.get() - ['x', 'y'] - - >>> acc = FrequencySetAccumulator(max_size=0) - >>> acc.accumulate('x') - >>> acc.get() - [] - """ - - def __init__(self, *, max_size: int) -> None: - super().__init__() - self.value: Counter[V] = Counter() - self.max_size = max_size - - def accumulate(self, value: V | list[V]) -> None: - if isinstance(value, (dict, list)): - self.value.update(value) - else: - self.value[value] += 1 - - def get(self) -> list[V]: - self.dropped = max(0, len(self.value) - self.max_size) - return [item for item, count in self.value.most_common(self.max_size)] - - -class LastValueAccumulator(Accumulator): - """ - An accumulator that accepts any number of values and returns the value most - recently seen. - """ - - def __init__(self) -> None: - super().__init__() - self.value = None - - def accumulate(self, value): - self.value = value - - def get(self): - return self.value - - -class SingleValueAccumulator(LastValueAccumulator): - """ - An accumulator that accepts any number of values given that they all are the - same value and returns a single value. Occurrence of any value that is - different than the first accumulated value raises a ValueError. - """ - - def accumulate(self, value): - if self.value is None: - super().accumulate(value) - elif self.value != value: - raise ValueError('Conflicting values:', self.value, value) - - -class MinAccumulator(LastValueAccumulator): - """ - An accumulator that returns the minimal value seen. - """ - - def accumulate(self, value): - if value is not None and (self.value is None or value < self.value): - super().accumulate(value) - - -class MaxAccumulator(LastValueAccumulator): - """ - An accumulator that returns the maximal value seen. - """ - - def accumulate(self, value): - if value is not None and (self.value is None or value > self.value): - super().accumulate(value) - - -class DistinctAccumulator[K:Hashable, V, A](BaseAccumulator[tuple[K, V], A]): - """ - An accumulator for (key, value) tuples. Of two pairs with the same key, only - the value from the first pair will be accumulated. The actual values will be - accumulated in another accumulator instance specified at construction. - - >>> acc = DistinctAccumulator(SumAccumulator(initially=0), max_size=3) - - Keys can be tuples, too. - - >>> acc.accumulate((('x', 'y'), 3)) - - Values associated with a recurring key will not be accumulated. - - >>> acc.accumulate((('x', 'y'), 4)) - >>> acc.accumulate(('a', 20)) - >>> acc.accumulate(('b', 100)) - - Accumulation stops at max_size distinct keys. - - >>> acc.accumulate(('c', 1000)) - >>> acc.get() - 123 - """ - - def __init__(self, - inner: Accumulator[V, A], - max_size: int | None = None) -> None: - super().__init__() - self.inner = inner - self.keys: SetAccumulator[K] = SetAccumulator(max_size=max_size) - - def _accumulate(self, value: tuple[K, V]) -> None: - key, value = value - if self.keys.accumulate(key): - self.inner.accumulate(value) - - def get(self) -> A: - return self.inner.get() - - -class UniqueValueCountAccumulator[V:Hashable](Accumulator[V, int]): - """ - Count the number of unique values - """ - - def __init__(self): - self.inner: SetAccumulator[V] = SetAccumulator() - super().__init__() - - def accumulate(self, value: V | list[V]) -> Any: - self.inner.accumulate(value) - - def get(self) -> int: - return len(self.inner.get()) - - -class EntityAggregator(metaclass=ABCMeta): - - def __init__(self, outer_entity_type: EntityType, entity_type: EntityType): - self.outer_entity_type = outer_entity_type - self.entity_type = entity_type - - def _transform_entity(self, entity: JSON) -> JSON: - return entity - - def _accumulator(self, field: str) -> Accumulator | None: - """ - Return the Accumulator instance to be used for the given field or None - if the field should not be accumulated. - """ - return self._default_accumulator() - - def _default_accumulator(self) -> Accumulator | None: - return SetAccumulator(max_size=100) - - @abstractmethod - def aggregate(self, entities: JSONs) -> JSONs: - raise NotImplementedError - - -type JSONAccumulator = Accumulator[AnyJSON, AnyJSON] - -type Aggregate = dict[str, JSONAccumulator | None] - - -class SimpleAggregator(EntityAggregator): - - def aggregate(self, entities: JSONs) -> JSONs: - aggregate: Aggregate = {} - for entity in entities: - self._accumulate(aggregate, entity) - return [self._aggregate(aggregate)] if aggregate else [] - - def _accumulate(self, aggregate: Aggregate, entity: JSON) -> None: - entity = self._transform_entity(entity) - for field, value in entity.items(): - try: - accumulator = aggregate[field] - except KeyError: - accumulator = self._accumulator(field) - aggregate[field] = accumulator - if accumulator is not None: - accumulator.accumulate(value) - - def _aggregate(self, aggregate: Aggregate) -> JSON: - result = {} - for k, accumulator in aggregate.items(): - if accumulator is not None: - result[k] = accumulator.get() - if accumulator.dropped > 0: - log.warning('Values were dropped %d times while aggregating %s.%s into %s', - accumulator.dropped, self.entity_type, k, self.outer_entity_type) - return result - - -type GroupKeys = tuple[Hashable, ...] - - -class GroupingAggregator(SimpleAggregator): - - def aggregate(self, entities: JSONs) -> JSONs: - aggregates: dict[GroupKeys, Aggregate] = defaultdict(dict) - for entity in entities: - group_keys = self._group_keys(entity) - aggregate = aggregates[group_keys] - self._accumulate(aggregate, entity) - return [ - self._aggregate(aggregate) - for aggregate in aggregates.values() - ] - - @abstractmethod - def _group_keys(self, entity) -> GroupKeys: - raise NotImplementedError diff --git a/src/azul/indexer/document.py b/src/azul/indexer/document.py deleted file mode 100644 index 64fd6281c7..0000000000 --- a/src/azul/indexer/document.py +++ /dev/null @@ -1,1162 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from enum import ( - Enum, -) -import re -from typing import ( - ClassVar, - Self, - overload, -) - -import attr -from more_itertools import ( - one, -) - -from azul import ( - CatalogName, - R, - config, -) -from azul.enums import ( - auto, -) -from azul.indexer import ( - BundleFQID, - SimpleSourceSpec, - SourceRef, -) -from azul.indexer.field import ( - CataloguedFieldTypes, - FieldType, - FieldTypes, - null_str, - pass_thru_bool, - pass_thru_int, - pass_thru_json, - pass_thru_str, -) -from azul.json import ( - Parseable, -) -from azul.types import ( - AnyJSON, - AnyMutableJSON, - JSON, - MutableJSON, - json_int, - json_mapping, - json_sequence, - json_str, - optional, -) - -type EntityID = str -type EntityType = str - - -@attr.s(frozen=True, auto_attribs=True, kw_only=True, slots=True) -class EntityReference(Parseable): - entity_type: EntityType - entity_id: EntityID - - def __str__(self) -> str: - return f'{self.entity_type}/{self.entity_id}' - - @classmethod - def parse(cls, s: str) -> Self: - entity_type, entity_id = s.split('/') - return cls(entity_type=entity_type, entity_id=entity_id) - - -@attr.s(frozen=True, auto_attribs=True, kw_only=True, slots=True) -class CataloguedEntityReference(EntityReference): - catalog: CatalogName - - def __str__(self) -> str: - return f'{self.catalog}/{super().__str__()}' - - @classmethod - def for_entity(cls, catalog: CatalogName, entity: EntityReference): - return cls(catalog=catalog, - entity_type=entity.entity_type, - entity_id=entity.entity_id) - - -class DocumentType(Enum): - contribution = 'contribution' - aggregate = 'aggregate' - replica = 'replica' - - def __repr__(self) -> str: - return f'<{self.__class__.__name__}.{self._name_}>' - - -@attr.s(frozen=True, kw_only=True, auto_attribs=True) -class IndexName: - """ - The name of an Elasticsearch index used by an Azul deployment, parsed into - its components. The index naming scheme underwent a number of changes during - the evolution of Azul. The different naming schemes are captured in a - `version` component. Note that the first version of the index name syntax - did not carry an explicit version. The resulting ambiguity requires entity - types to not match the version regex below. - """ - #: Every index name starts with this prefix - prefix: ClassVar[str] = 'azul' - - #: The version of the index naming scheme - version: int - - #: The name of the deployment the index belongs to - deployment: str - - #: The catalog the index belongs to - catalog: CatalogName - - #: An additional qualifier to distinguish between indices of the same - #: `doc_type`. For indices containing contribution or aggregate documents, - #: for example, this is the name of the type of entity the documents contain - #: metadata about. - qualifier: str - - #: Whether the documents in the index are contributions, aggregates, or - #: replicas - doc_type: DocumentType - - index_name_version_re: ClassVar[re.Pattern] = re.compile(r'v(\d+)') - - def __attrs_post_init__(self): - """ - >>> IndexName(version=2, - ... deployment='dev', - ... catalog='main', - ... qualifier='foo_bar', - ... doc_type=DocumentType.contribution) - ... # doctest: +NORMALIZE_WHITESPACE - IndexName(version=2, - deployment='dev', - catalog='main', - qualifier='foo_bar', - doc_type=) - - >>> IndexName(version=1, - ... deployment='', - ... catalog='', - ... qualifier='', - ... doc_type=DocumentType.contribution) - Traceback (most recent call last): - ... - AssertionError: R('Version must be 2', 1) - - >>> IndexName(version=2, - ... deployment='dev', - ... catalog=None, # noqa - ... qualifier='foo', - ... doc_type=DocumentType.contribution) - Traceback (most recent call last): - ... - AssertionError: R('Catalog name is required', None) - - >>> IndexName(version=2, - ... deployment='_', - ... catalog='foo', - ... qualifier='bar', - ... doc_type=DocumentType.contribution) - ... # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - AssertionError: R("Deployment name '_' is too short, too long - or contains invalid characters.") - - >>> IndexName(version=2, - ... deployment='dev', - ... catalog='_', - ... qualifier='bar', - ... doc_type=DocumentType.contribution) - Traceback (most recent call last): - ... - AssertionError: R('Catalog name is invalid', '_') - - >>> IndexName(version=2, - ... deployment='dev', - ... catalog='foo', - ... qualifier='_', - ... doc_type=DocumentType.contribution) - ... # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - AssertionError: R("qualifier is either too short, too long - or contains invalid characters: '_'") - - >>> str(IndexName(version=2, - ... deployment='dev', - ... catalog='hca', - ... qualifier='foo', - ... doc_type=DocumentType.replica)) - Traceback (most recent call last): - ... - AssertionError: R('Unexpected replica qualifier', 'foo') - """ - config.validate_prefix(self.prefix) - assert self.version == 2, R('Version must be 2', self.version) - config.validate_deployment_name(self.deployment) - assert self.catalog is not None, R('Catalog name is required', self.catalog) - config.Catalog.validate_name(self.catalog) - config.validate_qualifier(self.qualifier) - if self.doc_type is DocumentType.replica: - # To shorten the string representation of replica index names, we - # expect the qualifier and document type to be the same string. - assert self.qualifier == self.doc_type.value, R( - 'Unexpected replica qualifier', self.qualifier) - assert '_' not in self.prefix, self.prefix - assert '_' not in self.deployment, self.deployment - assert self.catalog is None or '_' not in self.catalog, self.catalog - - def validate(self): - assert self.deployment == config.deployment_stage, R( - 'Index name does not use current deployment', - self, config.deployment_stage) - - @classmethod - def create(cls, - *, - catalog: CatalogName, - qualifier: str, - doc_type: DocumentType - ) -> Self: - return cls(version=2, - deployment=config.deployment_stage, - catalog=catalog, - qualifier=qualifier, - doc_type=doc_type) - - @classmethod - def parse(cls, index_name: str) -> Self: - """ - Parse the name of an index from any deployment and any version of Azul. - - >>> IndexName.parse('azul_dev') - Traceback (most recent call last): - ... - AssertionError: R('Too few index name elements', ['azul', 'dev']) - - >>> IndexName.parse('azul_foo_dev') - Traceback (most recent call last): - ... - AssertionError: R('Version is required') - - >>> IndexName.parse('azl_v2_dev_main_foo') - Traceback (most recent call last): - ... - AssertionError: R('Unexpected prefix', 'azul', 'azl') - - >>> IndexName.parse('azul_v2_dev_main_foo') - ... # doctest: +NORMALIZE_WHITESPACE - IndexName(version=2, - deployment='dev', - catalog='main', - qualifier='foo', - doc_type=) - - >>> IndexName.parse('azul_v2_dev_main_foo_aggregate') - ... # doctest: +NORMALIZE_WHITESPACE - IndexName(version=2, - deployment='dev', - catalog='main', - qualifier='foo', - doc_type=) - - >>> IndexName.parse('azul_v2_dev_main_foo_bar') - ... # doctest: +NORMALIZE_WHITESPACE - IndexName(version=2, - deployment='dev', - catalog='main', - qualifier='foo_bar', - doc_type=) - - >>> IndexName.parse('azul_v2_dev_main_foo_bar_aggregate') - ... # doctest: +NORMALIZE_WHITESPACE - IndexName(version=2, - deployment='dev', - catalog='main', - qualifier='foo_bar', - doc_type=) - - >>> IndexName.parse('azul_v2_staging_hca_foo_bar_aggregate') - ... # doctest: +NORMALIZE_WHITESPACE - IndexName(version=2, - deployment='staging', - catalog='hca', - qualifier='foo_bar', - doc_type=) - - >>> IndexName.parse('azul_v2_dev_main_replica') - ... # doctest: +NORMALIZE_WHITESPACE - IndexName(version=2, - deployment='dev', - catalog='main', - qualifier='replica', - doc_type=) - - >>> IndexName.parse('azul_v2_staging__foo_bar__aggregate') - ... # doctest: +ELLIPSIS - Traceback (most recent call last): - ... - AssertionError: R("qualifier ... 'foo_bar_'") - - >>> IndexName.parse('azul_v3_bla') - Traceback (most recent call last): - ... - AssertionError: R('Version must be 2', 3) - """ - index_name = index_name.split('_') - assert len(index_name) > 2, R('Too few index name elements', index_name) - prefix, *index_name = index_name - assert prefix == cls.prefix, R('Unexpected prefix', cls.prefix, prefix) - version = cls.index_name_version_re.fullmatch(index_name[0]) - assert version is not None, R('Version is required') - _, *index_name = index_name - version = int(version.group(1)) - assert version == 2, R('Version must be 2', version) - deployment, catalog, *index_name = index_name - if index_name[-1] == DocumentType.aggregate.value: - *index_name, _ = index_name - doc_type = DocumentType.aggregate - elif index_name == [DocumentType.replica.value]: - doc_type = DocumentType.replica - else: - doc_type = DocumentType.contribution - qualifier = '_'.join(index_name) - config.validate_qualifier(qualifier) - self = cls(version=version, - deployment=deployment, - catalog=catalog, - qualifier=qualifier, - doc_type=doc_type) - return self - - def __str__(self) -> str: - """ - >>> str(IndexName(version=2, - ... deployment='dev', - ... catalog='main', - ... qualifier='foo', - ... doc_type=DocumentType.contribution)) - 'azul_v2_dev_main_foo' - - >>> str(IndexName(version=2, - ... deployment='dev', - ... catalog='main', - ... qualifier='foo', - ... doc_type=DocumentType.aggregate)) - 'azul_v2_dev_main_foo_aggregate' - - >>> str(IndexName(version=2, - ... deployment='dev', - ... catalog='main', - ... qualifier='foo_bar', - ... doc_type=DocumentType.contribution)) - 'azul_v2_dev_main_foo_bar' - - >>> str(IndexName(version=2, - ... deployment='dev', - ... catalog='main', - ... qualifier='foo_bar', - ... doc_type=DocumentType.aggregate)) - 'azul_v2_dev_main_foo_bar_aggregate' - - >>> str(IndexName(version=2, - ... deployment='staging', - ... catalog='hca', - ... qualifier='foo_bar', - ... doc_type=DocumentType.aggregate)) - 'azul_v2_staging_hca_foo_bar_aggregate' - - >>> str(IndexName(version=2, - ... deployment='dev', - ... catalog='hca', - ... qualifier='replica', - ... doc_type=DocumentType.replica)) - 'azul_v2_dev_hca_replica' - """ - if self.doc_type is DocumentType.aggregate: - doc_type = ['aggregate'] - elif self.doc_type is DocumentType.contribution: - doc_type = [] - elif self.doc_type is DocumentType.replica: - assert self.qualifier == self.doc_type.value - doc_type = [] - else: - assert False, self.doc_type - assert self.version == 2, self - assert self.catalog is not None, R('Catalog is required') - return '_'.join([ - self.prefix, - f'v{self.version}', - self.deployment, - self.catalog, - self.qualifier, - *doc_type, - ]) - - -type CataloguedDocumentCoordinates = DocumentCoordinates[CataloguedEntityReference] - - -@attr.s(frozen=True, auto_attribs=True, kw_only=True, slots=True) -class DocumentCoordinates[E: EntityReference](metaclass=ABCMeta): - """ - The coordinates of a document ultimately define two strings: 1) the name of - the Elasticsearch index that contains the document and 2) the unique ID by - which it can be retrieved from that index. Both of these strings are - composed of smaller elements information, e.g., a reference to the entity - the document contains metadata about and the type of the document. Concrete - subclasses typically add more such elements to be encoded in their index - names and document IDs. - """ - - doc_type: ClassVar[DocumentType] - - entity: E - - @property - def index_name(self) -> str: - """ - The fully qualified name of the Elasticsearch index for a document with - these coordinates. Only call this if these coordinates use a catalogued - entity reference. You can use `.with_catalog()` to create one. - """ - assert isinstance(self.entity, CataloguedEntityReference) - return str(IndexName.create(catalog=self.entity.catalog, - qualifier=self.index_qualifier, - doc_type=self.doc_type)) - - @property - def index_qualifier(self): - return self.entity.entity_type - - @property - @abstractmethod - def document_id(self) -> str: - raise NotImplementedError - - @classmethod - def from_hit(cls, hit: JSON) -> CataloguedDocumentCoordinates: - index_name = IndexName.parse(json_str(hit['_index'])) - index_name.validate() - document_id = json_str(hit['_id']) - subcls: type[CataloguedDocumentCoordinates] - if index_name.doc_type is DocumentType.contribution: - subcls = ContributionCoordinates - elif index_name.doc_type is DocumentType.aggregate: - subcls = AggregateCoordinates - elif index_name.doc_type is DocumentType.replica: - subcls = ReplicaCoordinates - else: - assert False, index_name.doc_type - assert issubclass(subcls, DocumentCoordinates) - return subcls._from_index(index_name, document_id) - - @classmethod - @abstractmethod - def _from_index(cls, - index_name: IndexName, - document_id: str - ) -> CataloguedDocumentCoordinates: - raise NotImplementedError - - def with_catalog(self: 'DocumentCoordinates', - catalog: CatalogName | None - ) -> CataloguedDocumentCoordinates: - """ - Return coordinates for the given catalog. Only works for instances that - have no catalog or ones having the same catalog in which case ``self`` - is returned. - """ - if isinstance(self.entity, CataloguedEntityReference): - if catalog is not None: - assert self.entity.catalog == catalog, (self.entity.catalog, catalog) - return self - else: - assert catalog is not None - entity = CataloguedEntityReference.for_entity(catalog, self.entity) - return attr.evolve(self, entity=entity) - - -type CataloguedContributionCoordinates = ContributionCoordinates[CataloguedEntityReference] - - -@attr.s(frozen=True, auto_attribs=True, kw_only=True, slots=True) -class ContributionCoordinates[E: EntityReference](DocumentCoordinates[E]): - """ - Coordinates of contribution documents. Contributions originate from a - subgraph ("bundle") and represent either the addition of metadata to an - entity or the removal of metadata from an entity. - - Contributions produced by transformers don't specify a catalog. The catalog - is supplied when the contributions are written to the index and it is - guaranteed to be the same for all contributions produced in response to one - notification. When contributions are read back during aggregation, they - specify a catalog, the catalog they were read from. Because of that duality - this class has to be generic in E, the type of EntityReference. - """ - - doc_type: ClassVar[DocumentType] = DocumentType.contribution - - bundle: BundleFQID - - deleted: bool - - @property - def document_id(self) -> str: - return '_'.join(( - self.entity.entity_id, - self.bundle.uuid, - self.bundle.version, - 'deleted' if self.deleted else 'exists' - )) - - @classmethod - def _from_index(cls, - index_name: IndexName, - document_id: str - ) -> CataloguedContributionCoordinates: - entity_type = index_name.qualifier - assert index_name.doc_type is DocumentType.contribution - deleted: str | bool - entity_id, bundle_uuid, bundle_version, deleted = document_id.split('_') - if deleted == 'deleted': - deleted = True - elif deleted == 'exists': - deleted = False - else: - assert False, deleted - entity = CataloguedEntityReference(catalog=index_name.catalog, - entity_type=entity_type, - entity_id=entity_id) - bundle = BundleFQID(uuid=bundle_uuid, version=bundle_version) - return ContributionCoordinates(entity=entity, bundle=bundle, deleted=deleted) - - def __str__(self) -> str: - return ' '.join(( - 'deletion of' if self.deleted else 'contribution to', - str(self.entity), - 'by bundle', self.bundle.uuid, 'at', self.bundle.version - )) - - -@attr.s(frozen=True, auto_attribs=True, kw_only=True, slots=True) -class AggregateCoordinates(DocumentCoordinates[CataloguedEntityReference]): - """ - Coordinates of aggregate documents. Aggregate coordinates always carry a - catalog. - """ - - doc_type: ClassVar[DocumentType] = DocumentType.aggregate - - @classmethod - def _from_index(cls, index_name: IndexName, document_id: str) -> Self: - entity_type = index_name.qualifier - assert index_name.doc_type is DocumentType.aggregate - return cls(entity=CataloguedEntityReference(catalog=index_name.catalog, - entity_type=entity_type, - entity_id=document_id)) - - def __attrs_post_init__(self): - assert isinstance(self.entity, CataloguedEntityReference), type(self.entity) - - @property - def document_id(self) -> str: - return self.entity.entity_id - - def __str__(self) -> str: - return f'aggregate for {self.entity}' - - -type CataloguedReplicaCoordinates = ReplicaCoordinates[CataloguedEntityReference] - - -@attr.s(frozen=True, auto_attribs=True, kw_only=True, slots=True) -class ReplicaCoordinates[E: EntityReference](DocumentCoordinates[E]): - """ - Coordinates of replica documents. Replicas are content-addressed, so these - coordinates depend not only on the entity reference, but on the contents of - the underlying metadata document. - """ - - doc_type: ClassVar[DocumentType] = DocumentType.replica - - #: A hash of the replica's JSON document - content_hash: str - - # Overrides the property in the base class. We need this to be statically - # accessible through the class. - index_qualifier: ClassVar[str] = 'replica' - - # The current v2 index name encoding depends on this - assert index_qualifier == doc_type.value - - @property - def document_id(self) -> str: - return '_'.join(( - self.entity.entity_type, - self.entity.entity_id, - self.content_hash - )) - - @classmethod - def _from_index(cls, - index_name: IndexName, - document_id: str - ) -> CataloguedReplicaCoordinates: - assert index_name.doc_type is DocumentType.replica, index_name - assert index_name.qualifier == cls.index_qualifier, index_name - # entity_type, the first component, may contain underscores - entity_type, entity_id, content_hash = document_id.rsplit('_', 2) - entity = CataloguedEntityReference(catalog=index_name.catalog, - entity_type=entity_type, - entity_id=entity_id) - return ReplicaCoordinates(content_hash=content_hash, entity=entity) - - def __str__(self) -> str: - return f'replica of {self.entity}' - - -FieldPathElement = str -FieldPath = tuple[FieldPathElement, ...] - -InternalVersion = tuple[int, int] - - -class OpType(Enum): - #: Write the document to the index, overwriting it if it already exists - index = auto() - - #: Write the document to the index or fail if it already exists - create = auto() - - #: Remove the document from the index or fail if it does not exist - delete = auto() - - #: Modify a document in the index via a scripted update or create it if it - #: does not exist - update = auto() - - -@attr.s(frozen=False, kw_only=True, auto_attribs=True) -class Document[C: DocumentCoordinates](metaclass=ABCMeta): - needs_translation: ClassVar[bool] = True - - coordinates: C - - version: InternalVersion | None - - # In the index, the `contents` property is always present and never null in - # documents. In instances of the Aggregate subclass, this attribute is None - # when they were created from documents that were retrieved from the - # index while intentionally excluding that property for efficiency. In - # instances of the Contribution subclass, this attribute is never None. - # - contents: JSON | None - - @property - def entity(self) -> EntityReference: - return self.coordinates.entity - - @property - @abstractmethod - def op_type(self) -> OpType: - """ - Get the ES client method to use when writing this document to the index. - """ - raise NotImplementedError - - @op_type.setter - @abstractmethod - def op_type(self, value: OpType): - """ - Set the ES client method to use when writing this document to the index. - This setter is optional, concrete classes may raise NotImplementedError - in their implementations and callers must gracefully handle that case. - """ - raise NotImplementedError - - @classmethod - def field_types(cls, field_types: FieldTypes) -> FieldTypes: - return { - 'entity_id': null_str, - 'contents': field_types - } - - @classmethod - @overload - def translate_fields(cls, - doc: JSON, - field_types: FieldType | FieldTypes, - *, - forward: bool, - allowed_paths: list[FieldPath] | None = None - ) -> MutableJSON: - ... - - @classmethod - @overload - def translate_fields(cls, - doc: AnyJSON, - field_types: FieldType | FieldTypes, - *, - forward: bool, - allowed_paths: list[FieldPath] | None = None, - path: FieldPath - ) -> AnyMutableJSON: - ... - - @classmethod - def translate_fields(cls, - doc: AnyJSON, - field_types: FieldType | FieldTypes, - *, - forward: bool, - allowed_paths: list[FieldPath] | None = None, - path: FieldPath = () - ) -> AnyMutableJSON: - """ - Traverse a document to translate field values for insert into - Elasticsearch, or to translate back response data. This is done to - support None/null values since Elasticsearch does not index these - values. Values that are empty lists ([]) and lists of None ([None]) are - both forward converted to [null_string] - - :param doc: A document dict of values - - :param field_types: A mapping of field paths to field type - - :param forward: If True, substitute None values with their respective - Elasticsearch placeholder. - - :param allowed_paths: A list of field paths expected to be present in - the resulting document. If an unexpected field is - found, an AssertionError will be raised. - - :param path: Used internally during document traversal to capture the - current path into the document as a tuple of keys. - - :return: A copy of the original document with values translated - according to their type. - """ - if isinstance(field_types, dict): - if isinstance(doc, dict): - new_doc = {} - for key, val in doc.items(): - if key.endswith('_'): - # Shadow copy fields should only be present during a reverse - # translation and we skip over to remove them. - assert not forward, path - else: - try: - field_type = field_types[key] - except KeyError: - raise KeyError(f'Key {key!r} not defined in field_types') - except TypeError: - raise TypeError(f'Key {key!r} not defined in field_types') - new_doc[key] = cls.translate_fields(val, - field_type, - forward=forward, - allowed_paths=allowed_paths, - path=(*path, key)) - if forward and isinstance(field_type, FieldType) and field_type.shadowed: - # Add a non-translated shadow copy of this field's - # numeric value for sum aggregations - new_doc[key + '_'] = val - return new_doc - elif isinstance(doc, list): - return [ - cls.translate_fields(val, - field_types, - forward=forward, - allowed_paths=allowed_paths, - path=path) - for val in doc - ] - else: - assert False, (path, type(doc)) - else: - if isinstance(field_types, list): - # FIXME: Assert that a non-list field_type implies a non-list - # doc (only possible for contributions). - # https://github.com/DataBiosphere/azul/issues/2689 - assert isinstance(doc, list), (doc, path) - - field_types = one(field_types) - if isinstance(field_types, FieldType): - field_type = field_types - else: - assert False, (path, type(field_types)) - if allowed_paths is not None: - # An allowed path may be a prefix instead of a complete path, - # as is the case for `contents.files.related_files` - assert path in allowed_paths or path[:-1] in allowed_paths, (path, allowed_paths) - if forward: - if isinstance(doc, list): - if not doc and field_type.allow_sorting_by_empty_lists: - # Translate an empty list to a list containing a single - # None value (and then further translate that None value - # according to the field type) so ES doesn't discard it. - # That way, documents with fields that are empty lists - # are placed at the beginning (end) of an ascending - # (descending) sort. PassTrough fields like - # contents.metadata should not undergo this transformation. - doc = [None] - return [field_type.to_index(value) for value in doc] - else: - return field_type.to_index(doc) - else: - if isinstance(doc, list): - assert doc or not field_type.allow_sorting_by_empty_lists - return [field_type.from_index(value) for value in doc] - else: - return field_type.from_index(doc) - - def to_json(self) -> JSON: - assert self.contents is not None, self - return dict(entity_id=self.coordinates.entity.entity_id, - contents=self.contents) - - @classmethod - def from_json(cls, - *, - coordinates: C, - document: JSON, - version: InternalVersion | None, - **kwargs, - ) -> Self: - self = cls(coordinates=coordinates, - version=version, - contents=optional(json_mapping, document.get('contents')), - **kwargs) - assert document['entity_id'] == self.entity.entity_id - return self - - @classmethod - def mandatory_source_fields(cls) -> list[str]: - """ - A list of dot-separated field paths into the source of each document - that :meth:`from_json` expects to be present. Subclasses that override - that method should also override this one. - """ - return ['entity_id'] - - @classmethod - def from_index(cls, - field_types: CataloguedFieldTypes, - hit: JSON, - *, - coordinates: CataloguedDocumentCoordinates | None = None - ) -> Self: - if coordinates is None: - coordinates = DocumentCoordinates.from_hit(hit) - document = json_mapping(hit['_source']) - if cls.needs_translation: - document = cls.translate_fields(document, - field_types[coordinates.entity.catalog], - forward=False) - try: - version = json_int(hit['_seq_no']), json_int(hit['_primary_term']) - except KeyError: - assert '_seq_no' not in hit - assert '_primary_term' not in hit - version = None - - assert isinstance(coordinates, cls.coordinate_cls()) - - return cls.from_json(coordinates=coordinates, - document=json_mapping(document), - version=version) - - @classmethod - @abstractmethod - def coordinate_cls(cls) -> type[C]: - pass - - def to_index(self, - catalog: CatalogName | None, - field_types: CataloguedFieldTypes - ) -> JSON: - """ - Prepare a request to write this document to the index. The return value - is a dictionary with keyword arguments to the ES client method selected - by the :meth:`op_type` property. - - :param catalog: An optional catalog name. If None, this document's - coordinates must supply it. Otherwise this document's - coordinates must supply the same catalog or none at all. - - :param field_types: A mapping of field paths to field type - - :return: Request parameters for indexing - """ - coordinates = self.coordinates.with_catalog(catalog) - result: dict[str, AnyJSON] = { - 'index': coordinates.index_name, - 'id': self.coordinates.document_id - } - if self.op_type is not OpType.delete: - result['body'] = self._body(field_types[coordinates.entity.catalog]) - if self.version is not None: - result['if_seq_no'], result['if_primary_term'] = self.version - if self.op_type is OpType.update: - result['params'] = {'retry_on_conflict': 3} - return result - - def _body(self, field_types: FieldTypes) -> JSON: - body = self.to_json() - if self.needs_translation: - body = self.translate_fields(doc=body, - field_types=field_types, - forward=True) - return body - - -class DocumentSource(SourceRef[SimpleSourceSpec]): - pass - - -@attr.s(frozen=False, kw_only=True, auto_attribs=True) -class Contribution[E: EntityReference](Document[ContributionCoordinates[E]]): - - @classmethod - def coordinate_cls(cls) -> type[ContributionCoordinates[E]]: - return ContributionCoordinates - - # This narrows the type declared in the superclass. See comment there. - contents: JSON - source: DocumentSource - - #: The op_type attribute will change to OpType.index if writing - #: to Elasticsearch fails with 409 - _op_type: OpType = OpType.create - - @property - def op_type(self) -> OpType: - return self._op_type - - @op_type.setter - def op_type(self, op_type: OpType): - self._op_type = op_type - - def __attrs_post_init__(self): - assert self.contents is not None - assert isinstance(self.coordinates, ContributionCoordinates) - assert self.coordinates.doc_type is DocumentType.contribution - - @classmethod - def field_types(cls, field_types: FieldTypes) -> FieldTypes: - return { - **super().field_types(field_types), - 'document_id': null_str, - 'source': pass_thru_json, - # These pass-through fields will never be None - 'bundle_uuid': pass_thru_str, - 'bundle_version': pass_thru_str, - 'bundle_deleted': pass_thru_bool - } - - @classmethod - def from_json(cls, - *, - coordinates: ContributionCoordinates[E], - document: JSON, - version: InternalVersion | None, - **kwargs - ) -> Self: - self = super().from_json(coordinates=coordinates, - document=document, - version=version, - source=DocumentSource.from_json(document['source']), - **kwargs) - assert self.coordinates.document_id == document['document_id'] - assert self.coordinates.bundle.uuid == document['bundle_uuid'] - assert self.coordinates.bundle.version == document['bundle_version'] - assert self.coordinates.deleted == document['bundle_deleted'] - return self - - @classmethod - def mandatory_source_fields(cls) -> list[str]: - return super().mandatory_source_fields() + [ - 'contents', - 'document_id', - 'source', - 'bundle_uuid', - 'bundle_version', - 'bundle_deleted' - ] - - def to_json(self): - return dict(super().to_json(), - document_id=self.coordinates.document_id, - source=self.source.to_json(), - bundle_uuid=self.coordinates.bundle.uuid, - bundle_version=self.coordinates.bundle.version, - bundle_deleted=self.coordinates.deleted) - - -@attr.s(frozen=False, kw_only=True, auto_attribs=True) -class Aggregate(Document[AggregateCoordinates]): - sources: set[DocumentSource] - bundles: list[BundleFQID] | None - num_contributions: int - - def __attrs_post_init__(self): - assert isinstance(self.coordinates, AggregateCoordinates) - assert self.coordinates.doc_type is DocumentType.aggregate - - @classmethod - def coordinate_cls(cls) -> type[AggregateCoordinates]: - return AggregateCoordinates - - @classmethod - def field_types(cls, field_types: FieldTypes) -> FieldTypes: - return { - **super().field_types(field_types), - 'num_contributions': pass_thru_int, - 'sources': { - 'id': pass_thru_str, - 'spec': pass_thru_str - }, - 'bundles': { - 'uuid': pass_thru_str, - 'version': pass_thru_str, - } - } - - @classmethod - def from_json(cls, - *, - coordinates: AggregateCoordinates, - document: JSON, - version: InternalVersion | None, - **kwargs - ) -> Self: - sources = set(map(DocumentSource.from_json, json_sequence(document['sources']))) - bundles = optional(json_sequence, document.get('bundles')) - bundles = None if bundles is None else list(map(BundleFQID.from_json, bundles)) - num_contributions = json_int(document['num_contributions']) - self = super().from_json(coordinates=coordinates, - document=document, - version=version, - num_contributions=num_contributions, - sources=sources, - bundles=bundles) - assert isinstance(self, Aggregate) - return self - - @classmethod - def mandatory_source_fields(cls) -> list[str]: - return super().mandatory_source_fields() + [ - 'num_contributions', - 'sources.id', - 'sources.spec' - ] - - def to_json(self) -> JSON: - sources = [source.to_json() for source in self.sources] - if self.bundles is None: - bundles = None - else: - bundles = [bundle.to_json() for bundle in self.bundles] - return dict(super().to_json(), - num_contributions=self.num_contributions, - sources=sources, - bundles=bundles) - - @property - def op_type(self) -> OpType: - if self.contents: - return OpType.create if self.version is None else OpType.index - else: - # Aggregates are deleted when their contents goes blank - return OpType.delete - - @op_type.setter - def op_type(self, value: OpType): - raise NotImplementedError - - -@attr.s(frozen=False, kw_only=True, auto_attribs=True) -class Replica[E: EntityReference](Document[ReplicaCoordinates[E]]): - """ - A verbatim copy of a metadata document - """ - - #: The type of replica, i.e., what sort of metadata document from the - #: underlying data repository we are storing a copy of. In practice, this is - #: the same as `self.coordinates.entity.entity_type`, but this isn't - #: necessarily the case. - #: - #: Typically, all replicas of the same type have similar shapes, just like - #: contributions for entities of the same type. However, mixing replicas of - #: different types results in an index containing documents of heterogeneous - #: shapes. Document heterogeneity is a problem for ES, but we deal with it - #: by disabling the ES index mapping, essentially turning off the reverse - #: index that ES normally builds from these documents and using the index - #: only to store and retrieve the documents by their coordinates. - replica_type: str - - contents: JSON - - source: DocumentSource - - hub_ids: list[EntityID] - - needs_translation: ClassVar[bool] = False - - def __attrs_post_init__(self): - assert isinstance(self.coordinates, ReplicaCoordinates) - assert self.coordinates.doc_type is DocumentType.replica - - @classmethod - def coordinate_cls(cls) -> type[ReplicaCoordinates]: - return ReplicaCoordinates - - @classmethod - def field_types(cls, field_types: FieldTypes) -> FieldTypes: - # Replicas do not undergo translation - raise NotImplementedError - - def to_json(self) -> JSON: - return dict(super().to_json(), - source=self.source.to_json(), - replica_type=self.replica_type, - # Ensure that index contents is deterministic for unit tests - hub_ids=sorted(set(self.hub_ids))) - - @property - def op_type(self) -> OpType: - return OpType.update - - @op_type.setter - def op_type(self, value: OpType): - raise NotImplementedError - - def _body(self, field_types: FieldTypes) -> JSON: - return { - 'script': { - 'source': ''' - Stream stream = Stream.concat(ctx._source.hub_ids.stream(), - params.hub_ids.stream()); - ctx._source.hub_ids = stream.sorted().distinct().collect(Collectors.toList()); - ''', - 'params': { - 'hub_ids': self.hub_ids - } - }, - 'upsert': super()._body(field_types) - } - - -CataloguedContribution = Contribution[CataloguedEntityReference] diff --git a/src/azul/indexer/document_service.py b/src/azul/indexer/document_service.py deleted file mode 100644 index 27756e4421..0000000000 --- a/src/azul/indexer/document_service.py +++ /dev/null @@ -1,134 +0,0 @@ -from collections.abc import ( - Iterable, -) -from typing import ( - Type, -) - -from more_itertools import ( - one, -) - -from azul import ( - CatalogName, - cache, - config, -) -from azul.collections import ( - deep_dict_merge, -) -from azul.indexer.document import ( - Aggregate, - Contribution, - Document, -) -from azul.indexer.field import ( - CataloguedFieldTypes, - FieldType, - FieldTypes, - Nested, -) -from azul.indexer.transform import ( - Transformer, -) -from azul.plugins import ( - FieldPath, - MetadataPlugin, -) -from azul.types import ( - AnyJSON, - AnyMutableJSON, -) - - -class DocumentService: - - @cache - def metadata_plugin(self, catalog: CatalogName) -> MetadataPlugin: - return MetadataPlugin.load(catalog).create() - - @cache - def aggregate_class(self, catalog: CatalogName) -> Type[Aggregate]: - return self.metadata_plugin(catalog).aggregate_class() - - @property - def always_limit_access(self) -> bool: - """ - True if access restrictions are enforced unconditionally. False, if the - filter stage is allowed to weaken them, e.g., based on the entity type. - """ - return True - - def transformer_types(self, - catalog: CatalogName - ) -> Iterable[Type[Transformer]]: - return self.metadata_plugin(catalog).transformer_types() - - @cache - def entity_types(self, catalog: CatalogName) -> list[str]: - return [ - transformer_cls.entity_type() - for transformer_cls in self.transformer_types(catalog) - ] - - @cache - def field_type(self, catalog: CatalogName, path: FieldPath) -> FieldType: - """ - Get the type of the field at the given document path. - - :param catalog: The catalog to operate on. Different catalogs may use - different field types. - - :param path: A tuple of keys to traverse document. - """ - field_types = self.field_types(catalog) - for element in path: - try: - field_types = field_types[element] - except (KeyError, TypeError) as e: - if isinstance(field_types, list): - field_types = one(field_types) - if isinstance(field_types, Nested) and element == field_types.agg_property: - field_types = field_types.properties[element] - else: - raise type(e)('Path not represented in field_types', path) - if isinstance(field_types, list): - field_types = one(field_types) - return field_types - - def field_types(self, catalog: CatalogName) -> FieldTypes: - """ - Returns a mapping of fields to field types - - :return: dict with nested keys matching Elasticsearch fields and values - with the field's type - """ - field_types = deep_dict_merge.from_iterable( - transformer_cls.field_types() - for transformer_cls in self.transformer_types(catalog) - ) - aggregate_cls = self.aggregate_class(catalog) - return deep_dict_merge( - Contribution.field_types(field_types), - aggregate_cls.field_types(field_types) - # Replicas are intentionally omitted here because their contents - # does not undergo translation - ) - - def catalogued_field_types(self) -> CataloguedFieldTypes: - return { - catalog: self.field_types(catalog) - for catalog in config.catalogs - } - - def translate_fields(self, - catalog: CatalogName, - doc: AnyJSON, - *, - forward: bool, - allowed_paths: list[FieldPath] | None = None - ) -> AnyMutableJSON: - return Document.translate_fields(doc, - self.field_types(catalog), - forward=forward, - allowed_paths=allowed_paths) diff --git a/src/azul/indexer/field.py b/src/azul/indexer/field.py deleted file mode 100644 index 33eeae8a0f..0000000000 --- a/src/azul/indexer/field.py +++ /dev/null @@ -1,504 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from datetime import ( - datetime, - timezone, -) -import sys -from types import ( - UnionType, -) -from typing import ( - ClassVar, - Final, - Iterable, - Mapping, - Sequence, - TypeAliasType, - TypedDict, - cast, -) - -from more_itertools import ( - first, - one, -) - -from azul import ( - CatalogName, - cached_property, -) -from azul.openapi import ( - schema, -) -from azul.time import ( - format_dcp2_datetime, - parse_dcp2_datetime, -) -from azul.types import ( - AnyJSON, - JSON, - PrimitiveJSON, - reify, -) - -# A type variable named ``N`` denotes the native type of a field in documents as -# they are being created by a transformer or processed by an aggregator. -# -# A type variable named ``X`` denotes the type of a field in a document just -# before it's being written to the index. Think "index type". - -#: The static (build time) type of a document field value -#: -type Form[T] = type[T] | TypeAliasType | UnionType - -#: The upper bound on the type of field values stored in the index: -#: -#: Note that while ``IndexRange`` *is* assignable to JSON, ``mypy`` doesn't -#: realize that hence the need for the union in the definition. -#: -type IndexForm = AnyJSON | IndexRange - - -#: The Elasticsearch index representation of ranges along with a factory -#: -class IndexRange[X: IndexForm](TypedDict): - gte: X - lte: X - - -def index_range[X: IndexForm](gte: X, lte: X) -> IndexRange[X]: - return dict(gte=gte, lte=lte) - - -#: The native and API representations of ranges -#: -type Range[E] = tuple[E, E] -type ApiRange = Range[AnyJSON] | list[AnyJSON] - -#: While Elasticsearch distinguishes between integers and floating point numbers -#: in its index, JSON does not. Since all payloads to and from Elasticsearch are -#: serialized as JSON we have to be prepared to get 1 back when we write 1.0. -#: -type JSONNumber = int | float - - -class FieldType[N, X: IndexForm](metaclass=ABCMeta): - shadowed: ClassVar[bool] = False - es_sort_mode: ClassVar[str] = 'min' - allow_sorting_by_empty_lists: ClassVar[bool] = True - - def __init__(self, native_form: Form[N], index_form: Form[X]): - self.native_form: Final[Form[N]] = native_form - self.index_form: Final[Form[X]] = index_form - - @cached_property - def native_types(self) -> tuple[type, ...]: - """ - The possible runtime (reified) types of the value of document fields - of this type. - """ - return reify(self.native_form) - - @cached_property - def index_types(self) -> tuple[type, ...]: - return reify(self.index_form) - - @property - @abstractmethod - def es_type(self) -> str | None: - raise NotImplementedError - - @abstractmethod - def to_index(self, value: N) -> X: - raise NotImplementedError - - @abstractmethod - def from_index(self, value: X) -> N: - raise NotImplementedError - - def to_tsv(self, value: N) -> str: - return '' if value is None else str(value) - - @property - def api_schema(self) -> JSON: - """ - The JSONSchema describing fields of this type in OpenAPI specifications. - """ - return schema.coalesce(self.native_types) - - def from_api(self, value: AnyJSON) -> N: - """ - Convert a deserialized JSON value occurring as an input to a REST API - to the native representation of values of this field type. - - The default implementation assumes that the REST API representation - of the value is already of the native type, and just returns the - argument. Subclasses must override this if the native and API - representations differ. An API representation of a field only occurs - in inputs to a REST API. Outputs like the body of a response use the - native representation. - """ - assert isinstance(value, self.native_types), (value, self) - return cast(N, value) - - @property - def supported_filter_relations(self) -> tuple[str, ...]: - """ - The filter relations in which fields of this type can be used as a - left-handside. By default, this class only supports equality. A scalar - field type would override this method to include the `within` relation. - """ - return 'is', - - def api_filter_schema(self, relation: str) -> JSON: - """ - The JSONSchema describing the right-handside operand of the given filter - relation in OpenAPI specifications when the left-handside operand is a - field of this type. - """ - assert relation in self.supported_filter_relations, relation - if relation == 'is': - return self.api_schema - elif relation == 'within': - return self._api_range_schema(self.api_schema) - else: - assert False, relation - - def _api_range_schema(self, api_schema: JSON) -> JSON: - return schema.array(api_schema, minItems=2, maxItems=2) - - def _range_to_index(self, value: Range[N]) -> IndexRange[X]: - gte, lte = value - return index_range(self.to_index(gte), self.to_index(lte)) - - def _from_api_range(self, value: AnyJSON) -> Range[N]: - assert isinstance(value, (list, tuple)) and len(value) == 2, value - gte, lte = value - return self.from_api(gte), self.from_api(lte) - - def filter(self, - relation: str, - values: Iterable[AnyJSON | ApiRange] - ) -> Iterable[X | IndexRange[X]]: - if relation == 'within': - return list(map(self._range_to_index, map(self._from_api_range, values))) - else: - return list(map(self.to_index, map(self.from_api, values))) - - -class PassThrough[T: AnyJSON](FieldType[T, T]): - allow_sorting_by_empty_lists = False - - def __init__(self, type: Form[T], *, es_type: str | None): - super().__init__(type, type) - self._es_type = es_type - - @property - def es_type(self) -> str | None: - return self._es_type - - def to_index(self, value: T) -> T: - return value - - def from_index(self, value: T) -> T: - return value - - -# FIXME: change the es_type for JSON to `nested` -# https://github.com/DataBiosphere/azul/issues/2621 -pass_thru_json: PassThrough[JSON] = PassThrough(JSON, es_type=None) - - -class NumericPassThrough[T: JSONNumber](PassThrough[T]): - - @property - def supported_filter_relations(self) -> tuple[str, ...]: - return *super().supported_filter_relations, 'within' - - def from_api(self, value: AnyJSON) -> T: - """ - 1.0 is a valid JSONSchema `integer` - - >>> pass_thru_int.from_api(1.0) - 1 - - 1 is a valid JSONSchema `number` - - >>> pass_thru_float.from_api(1) - 1.0 - - 1.1 is not a valid JSONSchema `integer` - - >>> pass_thru_int.from_api(1.1) - Traceback (most recent call last): - ... - AssertionError: 1.1 - - 1.1 is a valid JSONSchema `float` - - >>> pass_thru_float.from_api(1.1) - 1.1 - """ - assert isinstance(value, (int, float)) - native_type, = self.native_types - native_value = native_type(value) - assert native_value == value, value - assert isinstance(native_value, native_type) - return cast(T, native_value) - - -pass_thru_str = PassThrough(str, es_type='keyword') -pass_thru_int = NumericPassThrough(int, es_type='long') -pass_thru_float = NumericPassThrough(float, es_type='double') -pass_thru_bool = PassThrough(bool, es_type='boolean') - - -class Nullable[N, X: IndexForm](FieldType[N | None, X], metaclass=ABCMeta): - - def __init__(self, native_type: type[N], translated_from: Form[X]) -> None: - self.native_type: Final[type[N]] = native_type - super().__init__(native_type | None, translated_from) - - @property - def api_schema(self) -> JSON: - return schema.nullable(schema.make(self.native_type)) - - -class NullableScalar[N, X: IndexForm](Nullable[N, X], metaclass=ABCMeta): - - def api_filter_schema(self, relation: str) -> JSON: - if relation == 'within': - # The LHS operand of a range relation can't be null - api_type = schema.make(self.native_type) - return self._api_range_schema(api_type) - else: - return super().api_filter_schema(relation) - - @property - def supported_filter_relations(self) -> tuple[str, ...]: - return *super().supported_filter_relations, 'within' - - -class NullableString(Nullable[str, str]): - # Note that the replacement values for `None` used for each data type - # ensure that `None` values are placed at the end of a sorted list. - null_string = '~null' - es_type = 'keyword' - - def __init__(self): - super().__init__(str, str) - - def to_index(self, value: str | None) -> str: - return self.null_string if value is None else value - - def from_index(self, value: str) -> str | None: - return None if value == self.null_string else value - - -null_str = NullableString() - - -class NullableNumber[U: bool | int | float](NullableScalar[U, JSONNumber]): - shadowed = True - # Maximum int that can be represented as a 64-bit int and double IEEE - # floating point number. This prevents loss when converting between the two. - null_value = sys.maxsize - 1023 - assert null_value == int(float(null_value)) - - def __init__(self, native_type: type[U], es_type: str) -> None: - assert native_type in (bool, int, float) - super().__init__(native_type, JSONNumber) - self._es_type = es_type - - @property - def es_type(self) -> str | None: - return self._es_type - - def to_index(self, value: U | None) -> JSONNumber: - if value is None: - return self.null_value - elif value is False: - return 0 - elif value is True: - return 1 - else: - assert value < self.null_value, (value, self.null_value) - return value - - def from_index(self, value: JSONNumber) -> U | None: - if value == self.null_value: - return None - else: - return self._from_json(value) - - def _from_json(self, value: AnyJSON) -> U | None: - assert isinstance(value, (int, float)) - native_type = self.native_type - native_value = native_type(value) - assert native_value == value, value - assert isinstance(native_value, native_type) - return native_value - - def from_api(self, value: AnyJSON) -> U | None: - """ - 1.0 is a valid JSONSchema `integer` - - >>> null_int.from_api(1.0) - 1 - - 1 is a valid JSONSchema `number` - - >>> pass_thru_float.from_api(1) - 1.0 - - 1.1 is not a valid JSONSchema `integer` - - >>> null_int.from_api(1.1) - Traceback (most recent call last): - ... - AssertionError: 1.1 - - 1.1 is a valid JSONSchema `float` - - >>> pass_thru_float.from_api(1.1) - 1.1 - """ - if value is None: - return None - else: - return self._from_json(value) - - -null_int = NullableNumber(int, 'long') -null_float = NullableNumber(float, 'double') - - -class NullableBool(NullableNumber[bool]): - shadowed = False - - def __init__(self): - super().__init__(bool, 'boolean') - - @property - def supported_filter_relations(self) -> tuple[str, ...]: - return 'is', # no point in supporting range relation - - -null_bool = NullableBool() - - -class NullableDateTime(Nullable[str, str]): - es_type = 'date' - null = format_dcp2_datetime(datetime(9999, 1, 1, tzinfo=timezone.utc)) - - def to_index(self, value: str | None) -> str: - if value is None: - return self.null - else: - parse_dcp2_datetime(value) - return value - - def from_index(self, value: str) -> str | None: - if value == self.null: - return None - else: - return value - - -null_datetime: NullableDateTime = NullableDateTime(str, str) - - -class Nested(PassThrough[JSON]): - properties: Mapping[str, FieldType] - agg_property: str - - def __init__(self, **properties): - super().__init__(JSON, es_type='nested') - self.agg_property = first(properties.keys()) - self.properties = properties - - def api_filter_schema(self, relation: str) -> JSON: - assert relation == 'is' - properties, required = {}, [] - for field, field_type in self.properties.items(): - properties[field] = field_type.api_filter_schema(relation) - if not isinstance(field_type, Nullable): - required.append(field) - kwargs: dict[str, AnyJSON] = dict(additionalProperties=False) - if required: - kwargs['required'] = required - return schema.object(properties=properties, **kwargs) - - def filter(self, - relation: str, - values: Iterable[AnyJSON | ApiRange] - ) -> Iterable[JSON | IndexRange[JSON]]: - nested_object = one(values) - assert isinstance(nested_object, dict) - query_filters = {} - for nested_field, nested_value in nested_object.items(): - nested_type = self.properties[nested_field] - to_index = nested_type.to_index - query_filters[nested_field] = to_index(nested_value) - return [query_filters] - - -class ClosedRange[N: PrimitiveJSON, X: IndexForm](FieldType[Range[N], IndexRange[X]]): - - def __init__(self, ends_type: FieldType[N, X]): - super().__init__(reify(Range[N]), reify(JSON)) - self.ends_type = ends_type - - @property - def es_type(self) -> str | None: - return None - - def to_index(self, value: Range[N]) -> IndexRange[X]: - gte, lte = value - to_index = self.ends_type.to_index - return index_range(to_index(gte), to_index(lte)) - - def from_index(self, value: IndexRange[X]) -> Range[N]: - from_index = self.ends_type.from_index - return from_index(value['gte']), from_index(value['lte']) - - @property - def api_schema(self): - return self._api_range_schema(self.ends_type.api_schema) - - @property - def supported_filter_relations(self) -> tuple[str, ...]: - return 'is', 'within', 'contains', 'intersects' - - def api_filter_schema(self, relation: str) -> JSON: - if relation == 'contains': - # A range can contain a range or a value - return schema.union(self.ends_type.api_schema, self.api_schema) - else: - return self.api_schema - - def from_api(self, value: AnyJSON) -> Range[N]: - return self.ends_type._from_api_range(value) - - def filter(self, - relation: str, - values: Iterable[AnyJSON] - ) -> Iterable[IndexRange[X]]: - result = [] - for value in values: - if isinstance(value, list): - pass - elif relation == 'contains' and isinstance(value, reify(PrimitiveJSON)): - value = [value, value] - else: - assert False, (relation, value) - result.append(self.to_index(self.from_api(value))) - return result - - -type FieldTypes1 = Mapping[str, FieldTypes1] | Sequence[FieldType] | FieldType -type FieldTypes = Mapping[str, FieldTypes1] -type CataloguedFieldTypes = Mapping[CatalogName, FieldTypes] diff --git a/src/azul/indexer/index_controller.py b/src/azul/indexer/index_controller.py deleted file mode 100644 index dfa4069a7b..0000000000 --- a/src/azul/indexer/index_controller.py +++ /dev/null @@ -1,285 +0,0 @@ -from collections.abc import ( - Iterable, -) -import http -import logging -from typing import ( - Any, -) -import uuid - -import chalice -from chalice.app import ( - SQSRecord, - UnauthorizedError, -) - -from azul import ( - CatalogName, - R, - cached_property, - config, -) -from azul.azulclient import ( - AzulClient, -) -from azul.chalice import ( - LambdaMetric, -) -from azul.hmac import ( - HMACAuthentication, -) -from azul.indexer import ( - BundlePartition, -) -from azul.indexer.action_controller import ( - ActionController, -) -from azul.indexer.index_queue_service import ( - DocumentTally, - IndexAction, - IndexQueueService, -) -from azul.openapi import ( - format_description as fd, - params, - schema, -) -from azul.openapi.responses import ( - json_content, -) -from azul.queues import ( - Queues, - SQSFifoMessage, -) - -log = logging.getLogger(__name__) - - -class IndexController(ActionController[IndexAction]): - - @cached_property - def index_queue_service(self) -> IndexQueueService: - return IndexQueueService() - - @cached_property - def client(self) -> AzulClient: - return AzulClient() - - @property - def actions_are_fifo(self) -> bool: - return False - - def handlers(self) -> dict[str, Any]: - @self.app.route( - '/{catalog}/{action}', - methods=['POST'], - spec={ - 'tags': ['Indexing'], - 'summary': 'Notify the indexer to perform an action on a bundle', - 'description': fd(''' - Queue a bundle for addition to or deletion from the index. - - The request must be authenticated using HMAC via the ``signature`` - header. Each Azul deployment has its own unique HMAC key. The HMAC - components are the request method, request path, and the SHA256 - digest of the request body. - - A valid HMAC header proves that the client is in possession of the - secret HMAC key and that the request wasn't tampered with while - travelling between client and service, even though the latter is not - strictly necessary considering that TLS is used to encrypt the - entire exchange. Internal clients can obtain the secret key from the - environment they are running in, and that they share with the - service. External clients must have been given the secret key. The - now-defunct DSS was such an external client. The Azul indexer - provided the HMAC secret to DSS when it registered with DSS to be - notified about bundle additions/deletions. These days only internal - clients use this endpoint. - '''), - 'requestBody': { - 'description': 'Contents of the notification', - 'required': True, - **json_content(schema.object( - bundle_fqid=schema.object( - uuid=str, - version=str, - source=schema.object( - id=str, - spec=str - ) - ) - )) - }, - 'parameters': [ - params.path('catalog', - schema.enum(*config.catalogs), - description='The name of the catalog to notify.'), - params.path('action', - schema.enum(IndexAction.add.name, IndexAction.delete.name), - description='Which action to perform.'), - params.header('signature', - str, - description='HMAC authentication signature.') - ], - 'responses': { - '200': { - 'description': 'Notification was successfully queued for processing' - }, - '400': { - 'description': 'Request was rejected due to malformed parameters' - }, - '401': { - 'description': 'Request lacked a valid HMAC header' - } - } - } - ) - def post_notification(catalog: CatalogName, action: str): - """ - Receive a notification event and queue it for indexing or deletion. - """ - return self.handle_notification(catalog, action) - - @self.app.metric_alarm(metric=LambdaMetric.errors, - threshold=int(config.contribution_concurrency(retry=False) * 2 / 3), - period=5 * 60) - @self.app.metric_alarm(metric=LambdaMetric.throttles, - threshold=int(96000 / config.contribution_concurrency(retry=False)), - period=5 * 60) - @self.app.on_sqs_message( - queue=config.notifications_queue.name, - batch_size=1 - ) - def contribute(event: chalice.app.SQSEvent): - self.contribute(event) - - @self.app.metric_alarm(metric=LambdaMetric.errors, - threshold=int(config.aggregation_concurrency(retry=False) * 3), - period=5 * 60) - @self.app.metric_alarm(metric=LambdaMetric.throttles, - threshold=int(37760 / config.aggregation_concurrency(retry=False)), - period=5 * 60) - @self.app.on_sqs_message( - queue=config.tallies_queue.name, - batch_size=Queues.batch_size - ) - def aggregate(event: chalice.app.SQSEvent): - self.aggregate(event) - - # Any messages in the tallies queue that fail being processed will be - # retried with more RAM in the tallies_retry queue. - - @self.app.metric_alarm(metric=LambdaMetric.errors, - threshold=int(config.aggregation_concurrency(retry=True) * 1 / 16), - period=5 * 60) - @self.app.metric_alarm(metric=LambdaMetric.throttles, - threshold=0, - period=5 * 60) - @self.app.on_sqs_message( - queue=config.tallies_queue.to_retry.name, - batch_size=Queues.batch_size - ) - def aggregate_retry(event: chalice.app.SQSEvent): - self.aggregate(event, retry=True) - - # Any messages in the notifications queue that fail being processed will - # be retried with more RAM and a longer timeout in the - # notifications_retry queue. - - @self.app.metric_alarm(metric=LambdaMetric.errors, - threshold=int(config.contribution_concurrency(retry=True) * 1 / 4), - period=5 * 60) - @self.app.metric_alarm(metric=LambdaMetric.throttles, - threshold=int(31760 / config.contribution_concurrency(retry=True)), - period=5 * 60) - @self.app.on_sqs_message( - queue=config.notifications_queue.to_retry.name, - batch_size=1 - ) - def contribute_retry(event: chalice.app.SQSEvent): - self.contribute(event, retry=True) - - return locals() - - def handle_notification(self, catalog: CatalogName, action: str): - request = self.current_request - if isinstance(request.authentication, HMACAuthentication): - assert request.authentication.identity() is not None - try: - config.Catalog.validate_name(catalog) - except AssertionError as e: - if R.caused(e): - raise R.propagate(e, chalice.BadRequestError) - notification = request.json_body - log.info('Received notification %r for catalog %r', notification, catalog) - self._validate_notification(notification) - service = self.index_queue_service - message = service.index_bundle_message(self._load_action(action), - catalog, - notification['bundle_fqid'], - BundlePartition.root) - service.queue_notification(message, retry=False) - return chalice.app.Response(body='', status_code=http.HTTPStatus.ACCEPTED) - else: - raise UnauthorizedError() - - def _validate_notification(self, notification): - try: - bundle_fqid = notification['bundle_fqid'] - except KeyError: - raise chalice.BadRequestError('Missing notification entry: bundle_fqid') - - try: - bundle_uuid = bundle_fqid['uuid'] - except KeyError: - raise chalice.BadRequestError('Missing notification entry: bundle_fqid.uuid') - - try: - bundle_version = bundle_fqid['version'] - except KeyError: - raise chalice.BadRequestError('Missing notification entry: bundle_fqid.version') - - if not isinstance(bundle_uuid, str): - raise chalice.BadRequestError(f'Invalid type: uuid: {type(bundle_uuid)} (should be str)') - - if not isinstance(bundle_version, str): - raise chalice.BadRequestError(f'Invalid type: version: {type(bundle_version)} (should be str)') - - if bundle_uuid.lower() != str(uuid.UUID(bundle_uuid)).lower(): - raise chalice.BadRequestError(f'Invalid syntax: {bundle_uuid} (should be a UUID)') - - if not bundle_version: - raise chalice.BadRequestError('Invalid syntax: bundle_version can not be empty') - - def contribute(self, event: Iterable[SQSRecord], *, retry=False): - self._handle_events(event, self.index_queue_service.contribute) - - def aggregate(self, event: Iterable[SQSRecord], *, retry=False): - # Consolidate multiple tallies for the same entity and process entities - # with only one message. Because SQS FIFO queues try to put as many - # messages from the same message group in a reception batch, a single - # message per group may indicate that that message is the last one in - # the group. Inversely, multiple messages per group in a batch are a - # likely indicator for the presence of even more queued messages in - # that group. The more bundle contributions we defer, the higher the - # amortized savings on aggregation become. Aggregating bundle - # contributions is a costly operation for any entity with many - # contributions e.g., a large project. - # - tallies = [] - for record in event: - message = SQSFifoMessage.from_record(record) - tally = DocumentTally.from_message(message) - log.info('Attempt %i of handling %i contribution(s) for entity %s, ' - 'message ID %s, group ID %s', - tally.attempts, tally.num_contributions, tally.entity, - message.id, message.group_id) - tallies.append(tally) - try: - self.index_queue_service.aggregate(tallies, retry=retry) - except BaseException: - # Note that another problematic outcome is for the Lambda invocation - # to time out, in which case this log message will not be written. - log.warning('Failed to aggregate tallies: %r', tallies, exc_info=True) - raise diff --git a/src/azul/indexer/index_queue_service.py b/src/azul/indexer/index_queue_service.py deleted file mode 100644 index b4b9d58c36..0000000000 --- a/src/azul/indexer/index_queue_service.py +++ /dev/null @@ -1,357 +0,0 @@ -from collections import ( - defaultdict, -) -from enum import ( - auto, -) -import logging -from typing import ( - Iterable, - Self, - TYPE_CHECKING, - cast, -) - -import attrs - -from azul import ( - CatalogName, - cached_property, - config, - json_mapping, -) -from azul.deployment import ( - aws, -) -from azul.indexer import ( - BundlePartition, - SourceRef, - SourceSpec, -) -from azul.indexer.document import ( - Contribution, - EntityReference, - Replica, -) -from azul.indexer.index_repository_service import ( - IndexRepositoryService, -) -from azul.indexer.index_service import ( - CataloguedEntityReference, - IndexService, -) -from azul.queues import ( - Action, - Queues, - SQSFifoMessage, - SQSMessage, -) -from azul.types import ( - JSON, - json_int, - json_str, -) - -if TYPE_CHECKING: - from mypy_boto3_sqs.service_resource import ( - Queue, - ) - -log = logging.getLogger(__name__) - - -class IndexAction(Action): - reindex = auto() - add = auto() - delete = auto() - - -class IndexQueueService: - - @cached_property - def index_service(self) -> IndexService: - return IndexService() - - @cached_property - def index_repository_service(self) -> IndexRepositoryService: - return IndexRepositoryService() - - @cached_property - def queues(self) -> Queues: - return Queues() - - def notifications_queue(self, *, retry: bool = False) -> 'Queue': - name = config.notifications_queue.derive(retry=retry).name - return aws.sqs_queue(name) - - def tallies_queue(self, *, retry: bool = False) -> 'Queue': - name = config.tallies_queue.derive(retry=retry).name - return aws.sqs_queue(name) - - def queue_notifications(self, - messages: Iterable[SQSMessage], - *, - retry: bool = False - ) -> int: - queue = self.notifications_queue(retry=retry) - return self.queues.send_messages(queue, messages) - - def queue_notification(self, - message: SQSMessage, - *, - retry: bool - ) -> None: - queue = self.notifications_queue(retry=retry) - self.queues.send_message(queue, message) - log.info('Queued notification message %r', message) - - def queue_tallies(self, - messages: Iterable[SQSMessage], - *, - retry: bool = False - ) -> int: - queue = self.tallies_queue(retry=retry) - return self.queues.send_messages(queue, messages) - - def index_bundle_message(self, - action: IndexAction, - catalog: CatalogName, - bundle_fqid: JSON, - bundle_partition: BundlePartition = BundlePartition.root, - ) -> SQSMessage: - return SQSMessage( - body={ - 'action': action.to_json(), - 'catalog': catalog, - 'bundle_fqid': bundle_fqid, - 'bundle_partition': bundle_partition.to_json(), - } - ) - - def index_partition_message(self, - catalog: CatalogName, - source: SourceRef, - prefix: str - ) -> SQSMessage: - return SQSMessage( - body={ - 'action': IndexAction.reindex.to_json(), - 'catalog': catalog, - 'source': cast(JSON, source.to_json()), - 'prefix': prefix - } - ) - - def remote_reindex(self, catalog: CatalogName, sources: Iterable[SourceSpec]): - service = self.index_repository_service - plugin = service.repository_plugin(catalog) - for source_spec in sources: - source_ref = plugin.resolve_source(source_spec) - source_ref = plugin.partition_source_for_indexing(catalog, source_ref) - - def message(partition_prefix: str) -> SQSMessage: - log.info('Remotely reindexing prefix %r of source_ref %r into catalog %r', - partition_prefix, str(source_ref.spec), catalog) - return self.index_partition_message(catalog, source_ref, partition_prefix) - - messages = map(message, source_ref.spec.prefix.partition_prefixes()) - self.queue_notifications(messages) - - def remote_reindex_partition(self, message: JSON) -> None: - service = self.index_repository_service - catalog, prefix = message['catalog'], message['prefix'] - assert isinstance(catalog, str) and isinstance(prefix, str) - source = json_mapping(message['source']) - plugin = service.repository_plugin(catalog) - source = plugin.source_ref_cls.from_json(source) - bundle_fqids = service.list_bundles(catalog, source, prefix) - # All AnVIL bundles and entities use the same version - if not config.is_anvil_enabled(catalog): - bundle_fqids = service.filter_obsolete_bundle_versions(bundle_fqids) - log.info('After filtering obsolete versions, ' - '%i bundles remain in prefix %r of source %r in catalog %r', - len(bundle_fqids), prefix, str(source.spec), catalog) - messages = ( - self.index_bundle_message(IndexAction.add, catalog, bundle_fqid.to_json()) - for bundle_fqid in bundle_fqids - ) - num_messages = self.queue_notifications(messages) - log.info('Successfully queued %i notification(s) for prefix %s of ' - 'source %r', num_messages, prefix, source) - - def contribute(self, action: IndexAction, message: JSON): - if action is IndexAction.reindex: - self.remote_reindex_partition(message) - else: - catalog = json_str(message['catalog']) - assert catalog is not None - delete = action is IndexAction.delete - bundle_fqid = json_mapping(message['bundle_fqid']) - bundle_partition = json_mapping(message['bundle_partition']) - bundle_partition = BundlePartition.from_json(bundle_partition) - contributions, replicas = self.transform(catalog, - bundle_fqid, - bundle_partition, - delete=delete) - log.info('Writing %i contributions to index.', len(contributions)) - tallies = self.index_service.contribute(catalog, contributions) - tallies = [DocumentTally.for_entity(catalog, entity, num_contributions) - for entity, num_contributions in tallies.items()] - - if replicas: - if delete: - # FIXME: Replica index does not support deletions - # https://github.com/DataBiosphere/azul/issues/5846 - log.warning('Deletion of replicas is not supported') - else: - log.info('Writing %i replicas to index.', len(replicas)) - num_written = self.index_service.replicate(catalog, replicas) - log.info('Successfully wrote %i replicas', num_written) - else: - log.info('No replicas to write.') - - log.info('Queueing %i entities for aggregating a total of %i contributions.', - len(tallies), sum(tally.num_contributions for tally in tallies)) - messages = (tally.to_message() for tally in tallies) - self.queue_tallies(messages) - - def transform(self, - catalog: CatalogName, - bundle_fqid: JSON, - bundle_partition: BundlePartition, - *, - delete: bool - ) -> tuple[list[Contribution], list[Replica]]: - """ - Transform the metadata in the bundle referenced by the given - notification into a list of contributions to documents, each document - representing one metadata entity in the index. Replicas of the original, - untransformed metadata are returned as well. - """ - bundle = self.index_repository_service.fetch_bundle(catalog, - bundle_fqid) - results = self.index_service.transform(catalog, - bundle, - bundle_partition, - delete=delete) - if isinstance(results, list): - action = IndexAction.delete if delete else IndexAction.add - for bundle_partition in results: - assert isinstance(bundle_partition, BundlePartition) - # There's a good chance that the partition will also fail in - # the non-retry Lambda function so we'll go straight to retry. - message = self.index_bundle_message(action, - catalog, - bundle_fqid, - bundle_partition) - self.queue_notification(message, retry=True) - return [], [] - elif isinstance(results, tuple): - return results - else: - assert False, results - - #: The number of failed attempts before a tally is referred as a batch of 1. - #: Note that the retry lambda does first attempts, too, namely on re-fed and - #: deferred tallies. - # - num_batched_aggregation_attempts = 3 - - def aggregate(self, tallies: list['DocumentTally'], *, retry: bool): - tallies_by_entity: dict[CataloguedEntityReference, list[DocumentTally]] = defaultdict(list) - for tally in tallies: - tallies_by_entity[tally.entity].append(tally) - deferrals, referrals = [], [] - for tallies in tallies_by_entity.values(): - if len(tallies) == 1: - referrals.append(tallies[0]) - elif len(tallies) > 1: - deferrals.append(tallies[0].consolidate(tallies[1:])) - else: - assert False - if referrals: - for i, tally in enumerate(referrals): - if tally.attempts > self.num_batched_aggregation_attempts: - log.info('Only aggregating problematic entity %s, deferring all others', - tally.entity) - referrals.pop(i) - deferrals.extend(referrals) - referrals = [tally] - break - - log.info('Referring %i tallies', len(referrals)) - tally_by_entity = {} - for tally in referrals: - log.info('Aggregating %i contribution(s) to entity %s', - tally.num_contributions, tally.entity) - tally_by_entity[tally.entity] = tally.num_contributions - - self.index_service.aggregate(tally_by_entity) - - for tally in referrals: - log.info('Successfully aggregated %i contribution(s) to entity %s', - tally.num_contributions, tally.entity) - log.info('Successfully referred %i tallies', len(referrals)) - if deferrals: - log.info('Deferring %i tallies', len(deferrals)) - for tally in deferrals: - log.info('Deferring aggregation of %i contribution(s) to entity %s', - tally.num_contributions, tally.entity) - messages = (tally.to_message() for tally in deferrals) - # Hopefully this is more or less atomic. If we crash below here, - # tallies will be inflated because some or all deferrals have - # been sent and the original tallies will be returned. - self.queue_tallies(messages, retry=retry) - - -@attrs.frozen(kw_only=True) -class DocumentTally: - """ - Tracks the number of bundle contributions to a particular metadata entity. - - Each instance represents a message in the document queue. - """ - entity: CataloguedEntityReference - num_contributions: int - attempts: int - - @classmethod - def for_entity(cls, - catalog: CatalogName, - entity: EntityReference, - num_contributions: int) -> Self: - return cls(entity=CataloguedEntityReference(catalog=catalog, - entity_type=entity.entity_type, - entity_id=entity.entity_id), - num_contributions=num_contributions, - attempts=0) - - @classmethod - def from_message(cls, msg: SQSFifoMessage) -> Self: - return cls.from_json(msg.body, json_int(msg.attempts)) - - @classmethod - def from_json(cls, json: JSON, attempts: int) -> Self: - return cls(entity=CataloguedEntityReference(catalog=json_str(json['catalog']), - entity_type=json_str(json['entity_type']), - entity_id=json_str(json['entity_id'])), - num_contributions=json_int(json['num_contributions']), - attempts=attempts) - - def to_json(self) -> JSON: - return { - 'catalog': self.entity.catalog, - 'entity_type': self.entity.entity_type, - 'entity_id': self.entity.entity_id, - 'num_contributions': self.num_contributions - } - - def to_message(self) -> SQSFifoMessage: - return SQSFifoMessage(body=self.to_json(), - group_id=str(self.entity)) - - def consolidate(self, others: list['DocumentTally']) -> Self: - assert all(self.entity == other.entity for other in others) - num_contributions = sum((other.num_contributions for other in others), - start=self.num_contributions) - return attrs.evolve(self, num_contributions=num_contributions) diff --git a/src/azul/indexer/index_repository_service.py b/src/azul/indexer/index_repository_service.py deleted file mode 100644 index c9f593e87c..0000000000 --- a/src/azul/indexer/index_repository_service.py +++ /dev/null @@ -1,142 +0,0 @@ -from itertools import ( - groupby, -) -import logging -from typing import ( - Iterable, -) - -from azul import ( - CatalogName, - JSON, - cache, -) -from azul.indexer import ( - Bundle, - SourceRef, - SourcedBundleFQID, -) -from azul.plugins import ( - RepositoryPlugin, -) - -log = logging.getLogger(__name__) - - -class IndexRepositoryService: - - @cache - def repository_plugin(self, catalog: CatalogName) -> RepositoryPlugin: - return RepositoryPlugin.load(catalog).create(catalog) - - def list_bundles(self, - catalog: CatalogName, - source: SourceRef, - prefix: str - ) -> list[SourcedBundleFQID]: - plugin = self.repository_plugin(catalog) - log.info('Listing bundles with prefix %r in source %r.', prefix, source) - bundle_fqids = plugin.list_bundles(source, prefix) - log.info('There are %i bundle(s) with prefix %r in source %r.', - len(bundle_fqids), prefix, source) - return bundle_fqids - - def filter_obsolete_bundle_versions(self, - bundle_fqids: Iterable[SourcedBundleFQID] - ) -> list[SourcedBundleFQID]: - """ - Suppress obsolete bundle versions by only taking the latest version for - each bundle UUID. - >>> service = IndexRepositoryService() - >>> service.filter_obsolete_bundle_versions([]) - [] - >>> from azul.indexer import SimpleSourceSpec, SourceRef, Prefix - >>> p = Prefix.parse('/2') - >>> s = SourceRef(id='i', spec=SimpleSourceSpec(prefix=p, name='n')) - >>> def b(u, v): - ... return SourcedBundleFQID(source=s, uuid=u, version=v) - >>> service.filter_obsolete_bundle_versions([ - ... b('c', '0'), - ... b('a', '1'), - ... b('b', '3') - ... ]) # doctest: +NORMALIZE_WHITESPACE - [SourcedBundleFQID(uuid='c', - version='0', - source=SourceRef(id='i', - spec=SimpleSourceSpec(prefix=Prefix(common='', - partition=2), - name='n'))), - SourcedBundleFQID(uuid='b', - version='3', - source=SourceRef(id='i', - spec=SimpleSourceSpec(prefix=Prefix(common='', - partition=2), - name='n'))), - SourcedBundleFQID(uuid='a', - version='1', - source=SourceRef(id='i', - spec=SimpleSourceSpec(prefix=Prefix(common='', - partition=2), - name='n')))] - >>> service.filter_obsolete_bundle_versions([ - ... b('C', '0'), b('a', '1'), b('a', '0'), - ... b('a', '2'), b('b', '1'), b('c', '2') - ... ]) # doctest: +NORMALIZE_WHITESPACE - [SourcedBundleFQID(uuid='c', - version='2', - source=SourceRef(id='i', - spec=SimpleSourceSpec(prefix=Prefix(common='', - partition=2), - name='n'))), - SourcedBundleFQID(uuid='b', - version='1', - source=SourceRef(id='i', - spec=SimpleSourceSpec(prefix=Prefix(common='', - partition=2), - name='n'))), - SourcedBundleFQID(uuid='a', - version='2', - source=SourceRef(id='i', - spec=SimpleSourceSpec(prefix=Prefix(common='', - partition=2), - name='n')))] - >>> service.filter_obsolete_bundle_versions([ - ... b('a', '0'), b('A', '1') - ... ]) # doctest: +NORMALIZE_WHITESPACE - [SourcedBundleFQID(uuid='A', - version='1', - source=SourceRef(id='i', - spec=SimpleSourceSpec(prefix=Prefix(common='', - partition=2), - name='n')))] - """ - - # Sort lexicographically by source and FQID. I've observed the DSS - # response to already be in this order - def sort_key(fqid: SourcedBundleFQID): - return ( - fqid.source, - fqid.uuid.lower(), - fqid.version.lower() - ) - - bundle_fqids = sorted(bundle_fqids, key=sort_key, reverse=True) - - # Group by source and bundle UUID - def group_key(fqid: SourcedBundleFQID): - return ( - fqid.source.id.lower(), - fqid.uuid.lower() - ) - - groups = groupby(bundle_fqids, key=group_key) - - # Take the first item in each group. Because the oder is reversed, this - # is the latest version - bundle_fqids = [next(group) for _, group in groups] - return bundle_fqids - - def fetch_bundle(self, catalog: CatalogName, bundle_fqid: JSON) -> Bundle: - plugin = self.repository_plugin(catalog) - bundle_fqid = plugin.bundle_fqid_cls.from_json(bundle_fqid) - return plugin.fetch_bundle(bundle_fqid) diff --git a/src/azul/indexer/index_service.py b/src/azul/indexer/index_service.py deleted file mode 100644 index 30cbf29a41..0000000000 --- a/src/azul/indexer/index_service.py +++ /dev/null @@ -1,976 +0,0 @@ -from collections import ( - Counter, - defaultdict, -) -from collections.abc import ( - Iterable, - Iterator, - Mapping, - Sequence, -) -from itertools import ( - groupby, -) -import logging -from operator import ( - attrgetter, -) -from typing import ( - Any, - TYPE_CHECKING, - cast, -) - -from more_itertools import ( - first, - one, -) -from opensearchpy import ( - ConflictError, - OpenSearchException, -) -from opensearchpy.exceptions import ( - NotFoundError, - RequestError, -) -from opensearchpy.helpers import ( - streaming_bulk, -) - -from azul import ( - CatalogName, - config, -) -from azul.deployment import ( - aws, -) -from azul.es import ( - ESClientFactory, -) -from azul.indexer import ( - Bundle, - BundleFQID, - BundlePartition, - BundleUUID, -) -from azul.indexer.document import ( - Aggregate, - AggregateCoordinates, - CataloguedContribution, - CataloguedEntityReference, - Contribution, - Document, - DocumentCoordinates, - DocumentType, - EntityID, - EntityReference, - EntityType, - IndexName, - OpType, - Replica, - ReplicaCoordinates, -) -from azul.indexer.document_service import ( - DocumentService, -) -from azul.indexer.field import ( - CataloguedFieldTypes, -) -from azul.indexer.transform import ( - Transformer, -) -from azul.json_freeze import ( - freeze, -) -from azul.logging import ( - silenced_es_logger, -) -from azul.types import ( - AnyJSON, - CompositeJSON, - JSON, - JSONs, -) - -log = logging.getLogger(__name__) - -Tallies = Mapping[EntityReference, int] - -CataloguedTallies = Mapping[CataloguedEntityReference, int] - -MutableCataloguedTallies = dict[CataloguedEntityReference, int] - - -class IndexExistsAndDiffersException(Exception): - pass - - -class IndexService(DocumentService): - - def settings(self, index_name: IndexName) -> JSON: - index_name.validate() - aggregate = index_name.doc_type is DocumentType.aggregate - # There is a terminology collision between ElasticSearch's concept of an - # index replica, and our Azul-specific concept of an entity/document - # replica. - replica = index_name.doc_type is DocumentType.replica - catalog = index_name.catalog - assert catalog is not None, catalog - if ( - config.catalogs[catalog].is_integration_test_catalog - or config.deployment.is_unit_test - ): - # The test catalogs are far smaller than non-test catalogs. There is - # no need for the same degree of concurrency as the non-test catalogs. - # Fixing the number of shards also helps keep the order of documents - # in the index deterministic, which helps with writing unit tests, - # e.g. the verbatim PFB manifest tests. - num_shards = 1 - num_replicas = 0 - else: - num_nodes = aws.es_instance_count - num_workers = config.contribution_concurrency(retry=False) - - # Put the sole primary aggregate shard on one node and a replica - # on all others. The reason for just one primary shard is that - # aggregate indices are small and don't need to be sharded. Each - # shard incurs a significant overhead in ES so we want to - # minimize their number in the absence of overriding concerns - # like optimization for write concurrency. The reason for putting - # a replica on all other nodes is that we do want a full copy of - # each aggregate index on every node so that every node can - # answer client requests without coordinating with other nodes. - # - # Linearly scale the number of contribution shards with the number - # of contribution writers. There was no notable difference in - # speed between factors 1 and 1/4 but the memory pressure was - # unsustainably high with factor 1. In later experiments a factor - # of 1/8 was determined to be preferential, but I don't recall - # the details. We neglected to document our process at the time. - # - # There is no need to replicate the contribution indices because - # their durability does not matter to us as much. If a node goes - # down, we'll just reindex. Since service requests only hit the - # aggregate indices, we can lose all but one node before - # customers are affected. - # - num_shards = 1 if aggregate else max(num_nodes, num_workers // 8) - num_replicas = (num_nodes - 1) if aggregate or replica else 0 - return { - 'index': { - 'number_of_shards': num_shards, - 'number_of_replicas': num_replicas, - 'refresh_interval': f'{config.es_refresh_interval}s' - } - } - - def index_names(self, catalog: CatalogName) -> list[IndexName]: - return [ - IndexName.create(catalog=catalog, - qualifier=entity_type, - doc_type=doc_type) - for entity_type in self.entity_types(catalog) - for doc_type in (DocumentType.contribution, DocumentType.aggregate) - ] + ( - [ - IndexName.create(catalog=catalog, - qualifier=ReplicaCoordinates.index_qualifier, - doc_type=DocumentType.replica) - ] - if config.enable_replicas else - [] - ) - - def index(self, catalog: CatalogName, bundle: Bundle) -> None: - """ - Index the bundle referenced by the given notification into the specified - catalog. This is an inefficient default implementation. A more efficient - implementation would transform many bundles, collect their contributions - and aggregate all affected entities at the end. - """ - transforms = self.deep_transform(catalog, bundle, delete=False) - tallies = {} - for contributions, replicas in transforms: - tallies.update(self.contribute(catalog, contributions)) - self.replicate(catalog, replicas) - self.aggregate(tallies) - - def delete(self, catalog: CatalogName, bundle: Bundle) -> None: - """ - Synchronous form of delete that is currently only used for testing. - - In production code, there is an SQS queue between the calls to - `contribute()` and `aggregate()`. - """ - # FIXME: this only works if the bundle version is not being indexed - # concurrently. The fix could be to optimistically lock on the - # aggregate version (https://github.com/DataBiosphere/azul/issues/611) - transforms = self.deep_transform(catalog, bundle, delete=True) - tallies = {} - for contributions, replicas in transforms: - # FIXME: these are all modified contributions, not new ones. This also - # happens when we reindex without deleting the indices first. The - # tallies refer to number of updated or added contributions but - # we treat them as if they are all new when we estimate the - # number of contributions per bundle. - # https://github.com/DataBiosphere/azul/issues/610 - tallies.update(self.contribute(catalog, contributions)) - # FIXME: Replica index does not support deletions - # https://github.com/DataBiosphere/azul/issues/5846 - self.aggregate(tallies) - - def deep_transform(self, - catalog: CatalogName, - bundle: Bundle, - partition: BundlePartition = BundlePartition.root, - *, - delete: bool - ) -> Iterator[tuple[list[Contribution], list[Replica]]]: - """ - Recursively transform the given partition of the specified bundle and - any divisions of that partition. This should be used by synchronous - indexing. The default asynchronous indexing would defer divisions of the - starting partition and schedule a follow-on notification for each of the - divisions. - """ - results = self.transform(catalog, bundle, partition, delete=delete) - result = first(results, None) - if isinstance(result, BundlePartition): - for sub_partition in results: - yield from self.deep_transform(catalog, bundle, sub_partition, delete=delete) - elif isinstance(results, tuple): - yield results - elif result is None: - yield [], [] - else: - assert False, type(result) - - def transform(self, - catalog: CatalogName, - bundle: Bundle, - partition: BundlePartition = BundlePartition.root, - *, - delete: bool, - ) -> list[BundlePartition] | tuple[list[Contribution], list[Replica]]: - """ - Return a list of contributions and a list of replicas for the entities - in the given partition of the specified bundle, or a set of divisions of - the given partition if it contains too many entities. - - :param catalog: the name of the catalog to contribute to - - :param bundle: the bundle to transform - - :param partition: the bundle partition to transform - - :param delete: True, if the bundle should be removed from the catalog. - The resulting contributions will be deletions instead - of additions. - """ - plugin = self.metadata_plugin(catalog) - bundle.reject_joiner() - transformers = plugin.transformers(bundle, delete=delete) - log.info('Estimating size of partition %s of bundle %s, version %s.', - partition, bundle.uuid, bundle.version) - num_entities = sum(transformer.estimate(partition) for transformer in transformers) - num_divisions = partition.divisions(num_entities) - if num_divisions > 1: - log.info('Dividing partition %s of bundle %s, version %s, ' - 'with %i entities into %i sub-partitions.', - partition, bundle.uuid, bundle.version, num_entities, num_divisions) - return partition.divide(num_divisions) - else: - log.info('Transforming %i entities in partition %s of bundle %s, version %s.', - num_entities, partition, bundle.uuid, bundle.version) - contributions = [] - replicas_by_coords = {} - for transformer in transformers: - for document in transformer.transform(partition): - if isinstance(document, Contribution): - contributions.append(document) - elif isinstance(document, Replica): - try: - dup = replicas_by_coords[document.coordinates] - except KeyError: - replicas_by_coords[document.coordinates] = document - else: - dup.hub_ids.extend(document.hub_ids) - else: - assert False, document - return contributions, list(replicas_by_coords.values()) - - def create_indices(self, catalog: CatalogName): - es_client = ESClientFactory.get() - for index_name in self.index_names(catalog): - while True: - settings = self.settings(index_name) - mappings = self.metadata_plugin(catalog).mapping(index_name) - try: - with silenced_es_logger(): - index = es_client.indices.get(index=str(index_name)) - except NotFoundError: - try: - es_client.indices.create(index=str(index_name), - body=dict(settings=settings, - mappings=mappings)) - except RequestError as e: - if e.error == 'resource_already_exists_exception': - log.info('Another party concurrently created index %s (%r), retrying.', - index_name, index_name) - else: - raise - else: - self._check_index(settings=settings, - mappings=mappings, - index=index[str(index_name)]) - break - - def _check_index(self, *, settings: JSON, mappings: JSON, index: JSON): - - def stringify(value: AnyJSON) -> AnyJSON: - return ( - {k: stringify(v) for k, v in value.items()} - if isinstance(value, dict) else - [stringify(v) for v in value] - if isinstance(value, list) else - str(value) - ) - - def setify(value: CompositeJSON - ) -> set[tuple[str, AnyJSON]] | set[AnyJSON]: - value = freeze(value) - return set( - value.items() - if isinstance(value, Mapping) else - value - ) - - def flatten(value: JSON, *path) -> Iterable[tuple[tuple[str, ...], AnyJSON]]: - for k, v in value.items(): - if isinstance(v, Mapping): - yield from flatten(v, *path, k) - else: - yield (*path, k), v - - # Compare the index settings - expected, actual = ( - setify(dict(flatten(stringify(s)))) - for s in [settings, index['settings']] - ) - if not expected <= actual: - raise IndexExistsAndDiffersException('settings', settings, index['settings']) - - # Compare the static field mapping - key = 'properties' - expected, actual = ( - setify(dict(flatten(m.get(key, {})))) - for m in [mappings, index['mappings']] - ) - if not expected <= actual: - raise IndexExistsAndDiffersException(key, mappings, index['mappings']) - - # Compare the dynamic field mapping - key = 'dynamic_templates' - expected, actual = ( - setify(m.get(key, [])) - for m in [mappings, index['mappings']] - ) - if not expected == actual: - raise IndexExistsAndDiffersException(key, mappings, index['mappings']) - - # Compare the rest of the mapping - expected, actual = ( - setify(dict(flatten({ - k: v - for k, v in m.items() - if k not in {'properties', 'dynamic_templates'} - }))) - for m in [mappings, index['mappings']] - ) - if not expected <= actual: - raise IndexExistsAndDiffersException('mappings', mappings, index['mappings']) - - def delete_indices(self, catalog: CatalogName): - es_client = ESClientFactory.get() - for index_name in self.index_names(catalog): - if es_client.indices.exists(index=str(index_name)): - es_client.indices.delete(index=str(index_name)) - - def contribute(self, - catalog: CatalogName, - contributions: list[Contribution] - ) -> CataloguedTallies: - """ - Write the given entity contributions to the index and return tallies, a - dictionary tracking the number of contributions made to each entity. - - Tallies for overwritten documents are not counted. This means a tally - with a count of 0 may exist. This is ok. See description of aggregate(). - """ - tallies = Counter() - writer = self._create_writer(DocumentType.contribution, catalog) - while contributions: - writer.write(contributions) - retry_contributions = [] - for c in contributions: - if c.coordinates in writer.retries: - retry_contributions.append(c) - else: - entity = CataloguedEntityReference.for_entity(catalog, c.coordinates.entity) - # Don't count overwrites, but ensure entry exists - was_overwrite = c.op_type is OpType.index - tallies[entity] += 0 if was_overwrite else 1 - contributions = retry_contributions - writer.raise_on_errors() - return tallies - - def aggregate(self, tallies: CataloguedTallies): - """ - Read all contributions to the entities listed in the given tallies from - the index, aggregate the contributions into one aggregate per entity and - write the resulting aggregates to the index. - - Normally there is a one-to-one correspondence between number of - contributions for an entity and the value for a tally, however tallies - are not counted for updates. This means, in the case of a duplicate - notification or writing over an already populated index, it's possible - to receive a tally with a value of 0. We still need to aggregate (if the - indexed format changed for example). Tallies are a lower bound for the - number of contributions in the index for a given entity. - - Also note that the input tallies can refer to entities from different - catalogs. - """ - # Attempting to filter by an empty array of coordinates while reading - # the aggregates will fail with a 400 error from ElasticSearch. This - # happens when indexing replica bundles for AnVIL, since they emit no - # contributions. - if not tallies: - return - # Use catalog specified in each tally - writer = self._create_writer(DocumentType.aggregate, catalog=None) - while True: - # Read the aggregates - old_aggregates = self._read_aggregates(tallies) - total_tallies: MutableCataloguedTallies = Counter(tallies) - total_tallies.update({ - old_aggregate.coordinates.entity: old_aggregate.num_contributions - for old_aggregate in old_aggregates.values() - }) - - # Read all contributions - contributions = self._read_contributions(total_tallies) - actual_tallies = Counter(contribution.coordinates.entity - for contribution in contributions) - if tallies.keys() != actual_tallies.keys(): - message = 'Could not find all expected contributions.' - args = (tallies, actual_tallies) if config.debug else () - raise EventualConsistencyException(message, *args) - assert all(tallies[entity] <= actual_tally - for entity, actual_tally in actual_tallies.items()) - - # Combine the contributions into new aggregates, one per entity - new_aggregates = self._aggregate(contributions) - - # Remove old aggregates (leaving over only deletions) while - # propagating the expected document version to the corresponding new - # aggregate - for new_aggregate in new_aggregates: - old_aggregate = old_aggregates.pop(new_aggregate.coordinates.entity, None) - new_aggregate.version = None if old_aggregate is None else old_aggregate.version - - # Empty out the left-over, deleted aggregates - for old_aggregate in old_aggregates.values(): - old_aggregate.contents = {} - new_aggregates.append(old_aggregate) - - # Write new aggregates - writer.write(new_aggregates) - - # Retry writes if necessary - if writer.retries: - tallies: CataloguedTallies = { - aggregate.coordinates.entity: tallies[aggregate.coordinates.entity] - for aggregate in new_aggregates - if aggregate.coordinates in writer.retries - } - else: - break - writer.raise_on_errors() - - def replicate(self, catalog: CatalogName, replicas: list[Replica]) -> int: - writer = self._create_writer(DocumentType.replica, catalog) - num_replicas = len(replicas) - num_written = 0 - while replicas: - writer.write(replicas) - retry_replicas = [] - for r in replicas: - if r.coordinates in writer.retries: - retry_replicas.append(r) - else: - num_written += 1 - replicas = retry_replicas - - writer.raise_on_errors() - assert num_written == num_replicas, (num_written, num_replicas) - return num_written - - def _read_aggregates(self, - entities: CataloguedTallies - ) -> dict[CataloguedEntityReference, Aggregate]: - coordinates = [ - AggregateCoordinates(entity=entity) - for entity in entities - ] - request = { - 'docs': [ - { - '_index': coordinate.index_name, - '_id': coordinate.document_id - } - for coordinate in coordinates - ] - } - catalogs = {coordinate.entity.catalog for coordinate in coordinates} - mandatory_source_fields = set() - for catalog in catalogs: - aggregate_cls = self.aggregate_class(catalog) - mandatory_source_fields.update(aggregate_cls.mandatory_source_fields()) - response = ESClientFactory.get().mget(body=request, - _source_includes=list(mandatory_source_fields)) - - def aggregates(): - for doc in response['docs']: - try: - found = doc['found'] - except KeyError: - raise RuntimeError('Malformed document', doc) - else: - if found: - coordinate = DocumentCoordinates.from_hit(doc) - aggregate_cls = self.aggregate_class(coordinate.entity.catalog) - aggregate = aggregate_cls.from_index(self.catalogued_field_types(), - doc, - coordinates=coordinate) - yield aggregate - - return {a.coordinates.entity: a for a in aggregates()} - - def _read_contributions(self, - tallies: CataloguedTallies - ) -> list[CataloguedContribution]: - es_client = ESClientFactory.get() - - entity_ids_by_index: dict[str, set[str]] = defaultdict(set) - for entity in tallies.keys(): - index = str(IndexName.create(catalog=entity.catalog, - qualifier=entity.entity_type, - doc_type=DocumentType.contribution)) - entity_ids_by_index[index].add(entity.entity_id) - - query = { - 'bool': { - 'should': [ - { - 'bool': { - 'must': [ - { - 'term': { - '_index': index - } - }, - { - 'terms': { - 'entity_id.keyword': list(entity_ids) - } - } - ] - } - } for index, entity_ids in entity_ids_by_index.items() - ] - } - } - - index = sorted(list(entity_ids_by_index.keys())) - num_contributions = sum(tallies.values()) - log.info('Reading %i expected contribution(s)', num_contributions) - - def pages() -> Iterable[JSONs]: - body = dict(query=query) - while True: - response = es_client.search(index=index, - sort=['_index', 'document_id.keyword'], - body=body, - size=config.contribution_page_size, - track_total_hits=False, - seq_no_primary_term=True) - hits = response['hits']['hits'] - log.debug('Read a page with %i contribution(s)', len(hits)) - if hits: - yield hits - body['search_after'] = hits[-1]['sort'] - else: - break - - contributions = [ - Contribution.from_index(self.catalogued_field_types(), hit) - for hits in pages() - for hit in hits - ] - - log.info('Read %i contribution(s)', len(contributions)) - if log.isEnabledFor(logging.DEBUG): - entity_ref = attrgetter('entity') - contributions_by_entity = cast( - Iterator[tuple[EntityReference, Iterator[Contribution]]], - groupby(sorted(contributions, key=entity_ref), key=entity_ref) - ) - log.debug( - 'Number of contributions read, by entity: %r', - { - f'{entity.entity_type}/{entity.entity_id}': sum(1 for _ in contribution_group) - for entity, contribution_group in contributions_by_entity - } - ) - return contributions - - def _aggregate(self, - contributions: list[CataloguedContribution] - ) -> list[Aggregate]: - # Group contributions by entity and bundle UUID - contributions_by_bundle: Mapping[ - tuple[CataloguedEntityReference, BundleUUID], - list[CataloguedContribution] - ] = defaultdict(list) - tallies: MutableCataloguedTallies = Counter() - for contribution in contributions: - entity = contribution.coordinates.entity - bundle_uuid = contribution.coordinates.bundle.uuid - contributions_by_bundle[entity, bundle_uuid].append(contribution) - # Track the raw, unfiltered number of contributions per entity. - assert isinstance(contribution.coordinates.entity, CataloguedEntityReference) - tallies[contribution.coordinates.entity] += 1 - - # For each entity and bundle, find the most recent contribution that is - # not a deletion - contributions_by_entity: dict[ - CataloguedEntityReference, list[CataloguedContribution]] = defaultdict(list) - for (entity, bundle_uuid), contributions in contributions_by_bundle.items(): - contributions = sorted(contributions, - key=attrgetter('coordinates.bundle.version', 'coordinates.deleted'), - reverse=True) - for bundle_version, group in groupby(contributions, key=attrgetter('coordinates.bundle.version')): - contribution: Contribution = next(group) - if not contribution.coordinates.deleted: - assert bundle_uuid == contribution.coordinates.bundle.uuid - assert bundle_version == contribution.coordinates.bundle.version - assert entity == contribution.coordinates.entity - contributions_by_entity[entity].append(contribution) - break - log.info('Selected %i contribution(s) to be aggregated.', - sum(len(contributions) for contributions in contributions_by_entity.values())) - if log.isEnabledFor(logging.DEBUG): - log.debug( - 'Number of contributions selected for aggregation, by entity: %r', - { - f'{entity.entity_type}/{entity.entity_id}': len(contributions) - for entity, contributions in sorted(contributions_by_entity.items()) - } - ) - - # Create lookup for transformer by entity type - transformers: dict[tuple[CatalogName, str], type[Transformer]] = { - (catalog, transformer_cls.entity_type()): transformer_cls - for catalog in config.catalogs - for transformer_cls in self.transformer_types(catalog) - } - - # Aggregate contributions for the same entity - aggregates = [] - for entity, contributions in contributions_by_entity.items(): - transformer = transformers[entity.catalog, entity.entity_type] - contents = self._aggregate_entity(transformer, contributions) - bundles = [ - BundleFQID(uuid=c.coordinates.bundle.uuid, - version=c.coordinates.bundle.version) - for c in contributions - ] - # FIXME: Replace hard coded limit with a config property - # https://github.com/DataBiosphere/azul/issues/3725 - max_bundles = 100 - if len(bundles) > max_bundles: - log.warning('Only aggregating %i out of %i bundles for outer entity %r', - max_bundles, len(bundles), entity) - bundles = bundles[:max_bundles] - sources = set(c.source for c in contributions) - aggregate_cls = self.aggregate_class(entity.catalog) - if TYPE_CHECKING: # work around https://youtrack.jetbrains.com/issue/PY-44728 - aggregate_cls = Aggregate - aggregate = aggregate_cls(coordinates=AggregateCoordinates(entity=entity), - version=None, - sources=sources, - contents=contents, - bundles=bundles, - num_contributions=tallies[entity]) - aggregates.append(aggregate) - - return aggregates - - def _aggregate_entity(self, - transformer: type[Transformer], - contributions: list[Contribution] - ) -> JSON: - contents = self._reconcile(transformer, contributions) - aggregate_contents = {} - inner_entity_types = transformer.inner_entity_types() - inner_entity_counts = [] - for entity_type, entities in contents.items(): - num_entities = len(entities) - if entity_type in inner_entity_types: - assert num_entities <= 1 - inner_entity_counts.append(num_entities) - else: - aggregator = transformer.aggregator(entity_type) - if aggregator is not None: - entities = aggregator.aggregate(entities) - aggregate_contents[entity_type] = entities - if inner_entity_counts: - assert sum(inner_entity_counts) > 0 - return aggregate_contents - - def _reconcile(self, - transformer: type[Transformer], - contributions: Sequence[Contribution], - ) -> Mapping[EntityType, JSONs]: - """ - Given all the contributions to a certain outer entity, reconcile - potentially different copies of the same inner entity in those - contributions. - """ - if len(contributions) == 1: - return one(contributions).contents - else: - result: dict[EntityType, dict[EntityID, tuple[JSON, BundleFQID]]] - result = defaultdict(dict) - for contribution in contributions: - that_bundle = contribution.coordinates.bundle - for entity_type, those_entities in contribution.contents.items(): - these_entities = result[entity_type] - for that_entity in those_entities: - entity_id = transformer.inner_entity_id(entity_type, that_entity) - this = these_entities.get(entity_id, (None, None)) - this_entity, this_bundle = this - that = (that_entity, that_bundle) - if this_entity is None: - these_entities[entity_id] = that - else: - that = transformer.reconcile_inner_entities(entity_type, this=this, that=that) - if this != that: - these_entities[entity_id] = that - return { - entity_type: [entity for entity, _ in entities.values()] - for entity_type, entities in result.items() - } - - def _create_writer(self, - doc_type: DocumentType, - catalog: CatalogName | None - ) -> 'IndexWriter': - # We allow one conflict retry in the case of duplicate notifications and - # switch from 'add' to 'update'. After that, there should be no - # conflicts because we use an SQS FIFO message group per entity. - # Conflicts are common when writing replicas due to entities being - # shared between bundles. For other errors we use SQS message redelivery - # to take care of the retries. - limits = { - DocumentType.contribution: 1, - DocumentType.aggregate: 1, - DocumentType.replica: config.replica_conflict_limit - } - return IndexWriter(catalog, - self.catalogued_field_types(), - refresh=False, - conflict_retry_limit=limits[doc_type], - error_retry_limit=0) - - -class IndexWriter: - - def __init__(self, - catalog: CatalogName | None, - field_types: CataloguedFieldTypes, - refresh: bool | str, - conflict_retry_limit: int, - error_retry_limit: int) -> None: - """ - :param field_types: A mapping of field paths to field type - - :param refresh: https://www.elastic.co/guide/en/elasticsearch/reference/5.5/docs-refresh.html - - :param conflict_retry_limit: The maximum number of retries (the second - attempt is the first retry) on version - conflicts. Specify 0 for no retries or None - for unlimited retries. - - :param error_retry_limit: The maximum number of retries (the second - attempt is the first retry) on other errors. - Specify 0 for no retries or None for - unlimited retries. - """ - super().__init__() - self.catalog = catalog - self.field_types = field_types - self.refresh = refresh - self.conflict_retry_limit = conflict_retry_limit - self.error_retry_limit = error_retry_limit - self.es_client = ESClientFactory.get() - self.errors: dict[DocumentCoordinates, int] = defaultdict(int) - self.conflicts: dict[DocumentCoordinates, int] = defaultdict(int) - self.retries: set[DocumentCoordinates] | None = None - - bulk_threshold = 32 - - def write(self, documents: list[Document]): - """ - Make an attempt to write the documents into the index, updating local - state with failures and conflicts - - :param documents: Documents to index - """ - self.retries = set() - if len(documents) < self.bulk_threshold: - self._write_individually(documents) - else: - self._write_bulk(documents) - - def _write_individually(self, documents: Iterable[Document]): - log.info('Writing documents individually') - for doc in documents: - try: - method = getattr(self.es_client, doc.op_type.name) - method(refresh=self.refresh, **doc.to_index(self.catalog, self.field_types)) - except ConflictError as e: - self._on_conflict(doc, e) - except OpenSearchException as e: - self._on_error(doc, e) - else: - self._on_success(doc) - - def _write_bulk(self, documents: Iterable[Document]): - # FIXME: document this quirk - documents: dict[DocumentCoordinates, Document] = { - doc.coordinates.with_catalog(self.catalog): doc - for doc in documents - } if self.catalog is not None else { - doc.coordinates: doc - for doc in documents - } - - def expand_action(doc: Any) -> tuple[dict[str, Any], dict[str, Any] | None]: - # Document.to_index returns the keyword arguments to the ES client - # method referenced by Document.op_type. In bulk requests, these - # methods are not invoked individually. This function converts the - # keyword arguments returned by Document.to_index to the form - # internally used by the ES client's `bulk` method: a pair - # consisting of 1) the action and associated metadata and 2) an - # optional document source. - assert isinstance(doc, Document), doc - action = dict(doc.to_index(self.catalog, self.field_types)) - action.update(action.pop('params', {})) - action['_index'] = action.pop('index') - action['_id'] = action.pop('id') - body = action.pop('body', None) - action = {doc.op_type.name: action} - return action, body - - log.info('Writing documents using streaming_bulk().') - - # We cannot use parallel_bulk() for 1024+ actions because Lambda doesn't - # support shared memory. See the issue below for details. - # - # https://github.com/DataBiosphere/azul/issues/3200 - # - # Another caveat to keep in mind is that streaming_bulk() may still - # exceed the maximum request size if one or more actions exceed it. - # There is no way to split a single action and hence a single document - # into multiple requests. - # - # Technically, we're not supposed to pass Document instances in the - # `action` parameter but we're exploiting the undocumented fact that the - # method immediately maps the value of the `expand_action_callback` - # parameter over the list passed in the `actions` parameter. - response = streaming_bulk(client=self.es_client, - actions=list(documents.values()), - expand_action_callback=expand_action, - refresh=self.refresh, - raise_on_error=False, - max_chunk_bytes=config.max_chunk_size) - for success, info in response: - op_type, info = one(info.items()) - assert op_type in OpType.__members__, op_type - coordinates = DocumentCoordinates.from_hit(info) - doc = documents[coordinates] - if success: - self._on_success(doc) - else: - if info['status'] == 409: - self._on_conflict(doc, info) - else: - self._on_error(doc, info) - - def _on_success(self, doc: Document): - coordinates = doc.coordinates - self.conflicts.pop(coordinates, None) - self.errors.pop(coordinates, None) - if isinstance(doc, Aggregate): - log.debug('Successfully wrote %s with %i contribution(s).', - coordinates, doc.num_contributions) - else: - log.debug('Successfully wrote %s.', coordinates) - - def _on_error(self, doc: Document, e: Exception | JSON): - self.errors[doc.coordinates] += 1 - if self.error_retry_limit is None or self.errors[doc.coordinates] <= self.error_retry_limit: - action = 'retrying' - self.retries.add(doc.coordinates) - else: - action = 'giving up' - log.warning('There was a general error with document %r: %r. Total # of errors: %i, %s.', - doc.coordinates, e, self.errors[doc.coordinates], action, - exc_info=isinstance(e, Exception)) - - def _on_conflict(self, doc: Document, e: Exception | JSON): - self.conflicts[doc.coordinates] += 1 - self.errors.pop(doc.coordinates, None) # a conflict resets the error count - if self.conflict_retry_limit is None or self.conflicts[doc.coordinates] <= self.conflict_retry_limit: - action = 'retrying' - self.retries.add(doc.coordinates) - else: - action = 'giving up' - - def warn(): - log.warning('There was a conflict with document %r: %r. Total # of errors: %i, %s.', - doc.coordinates, e, self.conflicts[doc.coordinates], action) - - if doc.op_type is OpType.create: - try: - doc.op_type = OpType.index - except NotImplementedError: - # We don't expect all Document types will let us modify op_type - warn() - else: - log.warning('Document %r exists. Retrying with overwrite.', doc.coordinates) - else: - warn() - - def raise_on_errors(self): - if self.errors or self.conflicts: - log.warning('Failures: %r', self.errors) - log.warning('Conflicts: %r', self.conflicts) - raise RuntimeError('Failed to index documents. Failures: %i, conflicts: %i.' % - (len(self.errors), len(self.conflicts))) - - -class EventualConsistencyException(RuntimeError): - pass diff --git a/src/azul/indexer/lambda_iam_policy.py b/src/azul/indexer/lambda_iam_policy.py deleted file mode 100644 index ac5d53f88e..0000000000 --- a/src/azul/indexer/lambda_iam_policy.py +++ /dev/null @@ -1,167 +0,0 @@ -from azul import ( - config, -) -from azul.collections import ( - alist, -) -from azul.deployment import ( - aws, -) -from azul.terraform import ( - chalice, -) - -direct_access_role = config.dss_direct_access_role('indexer') - -policy = { - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Action': [ - 'logs:CreateLogGroup', - 'logs:CreateLogStream', - 'logs:PutLogEvents' - ], - 'Resource': 'arn:aws:logs:*:*:*' - }, - { - 'Effect': 'Allow', - 'Action': [ - 'es:ESHttpDelete', - 'es:ESHttpGet', - 'es:ESHttpHead', - 'es:ESHttpPut', - 'es:ESHttpPost', - 'es:ESHttpDelete' - ], - 'Resource': f'arn:aws:es:{aws.region_name}:{aws.account}:domain/{config.es_domain}/*' - }, - { - 'Effect': 'Allow', - 'Action': [ - 'es:DescribeElasticsearchDomain' - ], - 'Resource': f'arn:aws:es:{aws.region_name}:{aws.account}:domain/{config.es_domain}' - }, - { - 'Effect': 'Allow', - 'Action': [ - 'sqs:ChangeMessageVisibility*', - 'sqs:DeleteMessage*', - 'sqs:ReceiveMessage', - 'sqs:SendMessage' - ], - 'Resource': [ - f'arn:aws:sqs:{aws.region_name}:{aws.account}:{name}' - for name in config.work_queue_names - ] - }, - { - 'Effect': 'Allow', - 'Action': [ - 'sqs:GetQueueAttributes', - 'sqs:GetQueueUrl', - ], - 'Resource': [ - f'arn:aws:sqs:{aws.region_name}:{aws.account}:{name}' - for name in config.all_queue_names - ] - }, - { - 'Effect': 'Allow', - 'Action': [ - 'sqs:ListQueues' - ], - 'Resource': [ - f'arn:aws:sqs:{aws.region_name}:{aws.account}:*' - ] - }, - { - 'Effect': 'Allow', - 'Action': [ - 'secretsmanager:GetSecretValue' - ], - 'Resource': [ - f'arn:aws:secretsmanager:{aws.region_name}:{aws.account}:secret:*' - ] - }, - *( - [ - { - 'Effect': 'Allow', - 'Action': [ - 's3:GetObject', - ], - 'Resource': [ - f'arn:aws:s3:::{aws.dss_main_bucket(config.dss_endpoint)}/*', - ] - }, - ] if config.dss_endpoint else [] - ), - *( - [ - { - 'Effect': 'Allow', - 'Action': [ - 's3:GetObject', - ], - 'Resource': [ - f'arn:aws:s3:::{aws.logs_bucket}/{prefix}' - for prefix in ( - config.alb_access_log_path_prefix('*', deployment=None), - config.s3_access_log_path_prefix('*', deployment=None), - ) - ] - }, - ] if config.enable_log_forwarding else [] - ), - *( - [ - { - 'Effect': 'Allow', - 'Action': [ - 's3:ListBucket', - 's3:GetObject', - 's3:PutObject', - ], - 'Resource': [ - f'arn:aws:s3:::{resource}' - for bucket in alist(aws.mirror_bucket, config.mirror_bucket) - for resource in [bucket, f'{bucket}/*'] - ] - } - ] if config.enable_mirroring else [] - ), - { - 'Effect': 'Allow', - 'Action': [ - 's3:GetObject', - 's3:PutObject' - ], - 'Resource': [ - '${aws_s3_bucket.%s.arn}/health/*' % config.storage_term, - ] - }, - { - 'Effect': 'Allow', - 'Action': [ - 'ssm:GetParameter' - ], - 'Resource': [ - f'arn:aws:ssm:{aws.region_name}:{aws.account}:parameter/dcp/*' - ] - }, - *( - [ - { - 'Effect': 'Allow', - 'Action': 'sts:AssumeRole', - 'Resource': direct_access_role - } - ] if direct_access_role is not None else [ - ] - ), - *chalice.vpc_lambda_iam_policy() - ] -} diff --git a/src/azul/indexer/log_forwarding_controller.py b/src/azul/indexer/log_forwarding_controller.py deleted file mode 100644 index 1907f75a55..0000000000 --- a/src/azul/indexer/log_forwarding_controller.py +++ /dev/null @@ -1,47 +0,0 @@ -import json -import sys - -import chalice.app - -from azul import ( - cached_property, -) -from azul.chalice import ( - AppController, -) -from azul.indexer.log_forwarding_service import ( - ALBLogForwardingService, - LogForwardingService, - S3AccessLogForwardingService, -) - - -class LogForwardingController(AppController): - """ - Forward logs from an Application Load Balancer (ALB) or S3 to standard output. - When this behavior is invoked via an AWS Lambda function, the output is - forwarded to the default CloudWatch log group associated with the function - """ - - @cached_property - def alb(self) -> LogForwardingService: - return ALBLogForwardingService() - - @cached_property - def s3(self) -> LogForwardingService: - return S3AccessLogForwardingService() - - def _forward_logs(self, - event: chalice.app.S3Event, - service: LogForwardingService - ) -> None: - for message in service.read_logs(event.bucket, event.key): - json.dump(message, sys.stdout) - sys.stdout.write('\n') - sys.stdout.flush() - - def forward_alb_logs(self, event: chalice.app.S3Event) -> None: - self._forward_logs(event, self.alb) - - def forward_s3_access_logs(self, event: chalice.app.S3Event) -> None: - self._forward_logs(event, self.s3) diff --git a/src/azul/indexer/log_forwarding_service.py b/src/azul/indexer/log_forwarding_service.py deleted file mode 100644 index ee1e7bec87..0000000000 --- a/src/azul/indexer/log_forwarding_service.py +++ /dev/null @@ -1,183 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -import csv -from datetime import ( - datetime, -) -import gzip -from typing import ( - Iterable, - Iterator, - Sequence, -) -import urllib.parse - -from botocore.response import ( - StreamingBody, -) - -from azul import ( - cached_property, - require, -) -from azul.deployment import ( - aws, -) -from azul.types import ( - MutableJSON, -) - - -class LogForwardingService(metaclass=ABCMeta): - - def read_logs(self, bucket: str, key: str) -> Iterator[MutableJSON]: - response = aws.s3.get_object(Bucket=bucket, Key=key) - body = self._read_log(response['Body']) - for message in self._parse_log_lines(body): - message['_source_bucket'] = bucket - message['_source_key'] = key - yield message - - def _parse_log_lines(self, file_body: Iterable[str]) -> Iterator[MutableJSON]: - # CSV format escapes the quotechar by repeating it. This cannot - # occur in the logs because quotations marks occurring within the - # field values are escaped. AWS does not document how the access - # logs are encoded, but our experiments indicate that characters - # including quotation marks, backslashes, and non-ASCII characters - # are escaped when they occur in access logs. ALB logs using a syntax - # based on NGINX log format - # (http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format), - # while S3 logs use URL-encoding. For example, quotation marks are - # represented as `\x22` and `%22` in ALB and S3 logs respectively. - for row in csv.reader(file_body, delimiter=' ', quotechar='"'): - # When new fields are introduced, they are added at the end of - # the log entry, so observing more fields than expected does not - # indicate a problem. - require(len(row) >= len(self.fields), 'Missing expected fields') - fields = dict(zip(self.fields, row)) - yield fields - - @abstractmethod - def _read_log(self, response: StreamingBody) -> Iterable[str]: - """ - Read the given body of an object from the log bucket and return the - individual lines contained therein. - """ - raise NotImplementedError - - @property - @abstractmethod - def fields(self) -> Sequence[str]: - raise NotImplementedError - - -class ALBLogForwardingService(LogForwardingService): - """ - Parse logs from an Application Load Balancer. - Adapted from https://github.com/rupertbg/aws-load-balancer-logs-to-cloudwatch - """ - - def _read_log(self, response: StreamingBody) -> Iterable[str]: - with gzip.open(response, mode='rt', encoding='ascii') as f: - yield from f - - # https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html#access-log-entry-syntax - @cached_property - def fields(self) -> Sequence[str]: - return [ - 'type', - 'time', - 'elb', - 'client:port', - 'target:port', - 'request_processing_time', - 'target_processing_time', - 'response_processing_time', - 'elb_status_code', - 'target_status_code', - 'received_bytes', - 'sent_bytes', - 'request', - 'user_agent', - 'ssl_cipher', - 'ssl_protocol', - 'target_group_arn', - 'trace_id', - 'domain_name', - 'chosen_cert_arn', - 'matched_rule_priority', - 'request_creation_time', - 'actions_executed', - 'redirect_url', - 'error_reason', - 'target:port_list', - 'target_status_code_list' - ] - - -class S3AccessLogForwardingService(LogForwardingService): - """ - Parse access logs for S3. - """ - - def _read_log(self, response: StreamingBody) -> Iterable[str]: - for line in response.iter_lines(): - # AWS does not document what encoding is used for these log objects. - # Using Latin-1 ensures the log forwarder won't fail due to decoding - # errors, since every octet is a valid Latin-1 character. The - # strings will be re-encoded using UTF-8, so the binary content of - # the CloudWatch log messages will differ from the S3 log if the - # latter contains characters that can't be encoded using UTF-8. This - # decision was made to minimize time spent diagnosing these decoding - # errors. - yield line.decode('latin1') - - def _parse_log_lines(self, file_body: Iterable[str]) -> Iterator[MutableJSON]: - for message in super()._parse_log_lines(file_body): - # For some reason, AWS does not quote the `time` field, - # which contains a space between the seconds and timezone offset. - # All other fields appear to properly use quotes as needed. - time = f"{message.pop('time_1')} {message.pop('time_2')}" - # Verify that the restored field matches the expected format - datetime.strptime(time, '[%d/%b/%Y:%H:%M:%S %z]') - message['time'] = time.strip('[]') - # Experiments indicate that the `key` field is url-encoded *twice*, - # e.g., a quotation mark is represented as "%2522" - message['key'] = urllib.parse.unquote(urllib.parse.unquote(message['key'])) - yield message - - @cached_property - def fields(self) -> Sequence[str]: - # https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#log-record-fields - return [ - 'bucket_owner', - 'bucket', - # See comment in `_read_logs` - 'time_1', - 'time_2', - 'remote_ip', - 'requester', - 'request_id', - 'operation', - 'key', - 'request_uri', - 'http_status', - 'error_code', - 'bytes_sent', - 'object_size', - 'total_time', - 'turn_around_time', - 'referer', - 'user_agent', - 'version_id', - 'host_id', - 'signature_version', - 'cipher_suite', - 'authentication_type', - 'host_header', - 'tls_version', - 'access_point_arn', - 'acl_required', - ] diff --git a/src/azul/indexer/mirror_controller.py b/src/azul/indexer/mirror_controller.py deleted file mode 100644 index 49fd0d6b88..0000000000 --- a/src/azul/indexer/mirror_controller.py +++ /dev/null @@ -1,331 +0,0 @@ -from functools import ( - partial, -) -import logging -from typing import ( - Any, - Iterable, - Sequence, - cast, -) - -import chalice -from chalice.app import ( - SQSRecord, -) - -from azul import ( - CatalogName, - R, - cache, - cached_property, - config, -) -from azul.azulclient import ( - AzulClient, - MirrorAction, -) -from azul.chalice import ( - LambdaMetric, -) -from azul.digests import ( - Hasher, - get_resumable_hasher, - hasher_from_str, - hasher_to_str, -) -from azul.indexer import ( - SourceRef, -) -from azul.indexer.action_controller import ( - ActionController, -) -from azul.indexer.mirror_service import ( - FilePart, - MirrorService, -) -from azul.plugins import ( - File, - RepositoryPlugin, -) -from azul.queues import ( - SQSFifoMessage, - SQSMessage, -) -from azul.schemas import ( - SchemaController, -) -from azul.types import ( - JSON, - json_element_strings, - json_mapping, - json_str, -) - -log = logging.getLogger(__name__) - - -class MirrorController(ActionController[MirrorAction], SchemaController): - - @cached_property - def client(self) -> AzulClient: - return AzulClient() - - @property - def actions_are_fifo(self) -> bool: - return True - - @cache - def service(self, catalog: CatalogName) -> MirrorService: - schema_url_func = partial(self.schema_url, facility='mirror') - return MirrorService(catalog=catalog, schema_url_func=schema_url_func) - - def repository_plugin(self, catalog: CatalogName) -> RepositoryPlugin: - return self.client.repository_plugin(catalog) - - def handlers(self) -> dict[str, Any]: - if config.enable_mirroring: - @self.app.metric_alarm(metric=LambdaMetric.errors, - threshold=int(config.mirroring_concurrency * 2 / 3), - period=5 * 60) - @self.app.metric_alarm(metric=LambdaMetric.throttles, - threshold=int(96000 / config.mirroring_concurrency), - period=5 * 60) - @self.app.on_sqs_message(queue=config.mirror_queue.name, - batch_size=1) - def mirror(event: chalice.app.SQSEvent): - self.mirror(event) - - return super().handlers() | locals() - - def mirror(self, event: Iterable[SQSRecord]): - self._handle_events(event, self._mirror) - - def _mirror(self, action: MirrorAction, message: JSON): - if action is MirrorAction.mirror_source: - self.mirror_source(json_str(message['catalog']), - json_mapping(message['source'])) - elif action is MirrorAction.mirror_partition: - self.mirror_partition(json_str(message['catalog']), - json_mapping(message['source']), - json_str(message['prefix'])) - elif action is MirrorAction.mirror_file: - self.mirror_file(json_str(message['catalog']), - json_mapping(message['file'])) - elif action is MirrorAction.mirror_part: - self.mirror_file_part(json_str(message['catalog']), - json_mapping(message['file']), - json_mapping(message['part']), - json_str(message['upload_id']), - list(json_element_strings(message['etags'])), - json_str(message['hasher'])) - elif action is MirrorAction.finalize_file: - self.finalize_file(json_str(message['catalog']), - json_mapping(message['file']), - json_str(message['upload_id']), - list(json_element_strings(message['etags'])), - json_str(message['hasher'])) - else: - assert False, action - - def mirror_source(self, catalog: CatalogName, source_json: JSON): - plugin = self.repository_plugin(catalog) - source = plugin.source_ref_cls.from_json(source_json) - source = plugin.partition_source_for_mirroring(catalog, source) - prefix = source.spec.prefix - log.info('Queueing %d partitions of source %r in catalog %r', - prefix.num_partitions, str(source.spec), catalog) - - def message(partition: str) -> SQSMessage: - log.debug('Queueing partition %r', partition) - return self.mirror_partition_message(catalog, source, partition) - - messages = map(message, prefix.partition_prefixes()) - self.client.queue_mirror_messages(messages) - - def mirror_partition(self, - catalog: CatalogName, - source_json: JSON, - prefix: str - ): - plugin = self.repository_plugin(catalog) - source = plugin.source_ref_cls.from_json(source_json) - files = plugin.list_files(source, prefix) - - def messages() -> Iterable[SQSMessage]: - for file in files: - log.debug('Queueing file %r', file) - yield self.mirror_file_message(catalog, source, file) - - self.client.queue_mirror_messages(messages()) - log.info('Queued %d files in partition %r of source %r in catalog %r', - len(files), prefix, str(source), catalog) - - def mirror_file(self, - catalog: CatalogName, - file_json: JSON - ): - file = self.load_file(catalog, file_json) - assert file.size is not None, R('File size unknown', file) - - file_is_large = file.size > 1.5 * 1024 ** 3 - deployment_is_stable = (config.deployment.is_stable - and not config.deployment.is_unit_test - and catalog not in config.integration_test_catalogs) - - service = self.service(catalog) - if file_is_large and not deployment_is_stable: - log.info('Not mirroring file to save cost: %r', file) - elif service.info_exists(file): - log.info('File is already mirrored, skipping upload: %r', file) - elif service.file_exists(file): - assert False, R('File object is already present', file) - else: - part_size = FilePart.default_size - if file.size <= part_size: - log.info('Mirroring file via standard upload: %r', file) - service.mirror_file(file) - log.info('Successfully mirrored file via standard upload: %r', file) - else: - log.info('Mirroring file via multi-part upload: %r', file) - hasher = get_resumable_hasher(file.digest.type) - upload_id = service.begin_mirroring_file(file) - first_part = FilePart.first(file, part_size) - log.info('Uploading part #%d of file %r', first_part.index, file) - etag = service.mirror_file_part(file, - first_part, - upload_id, - hasher) - next_part = first_part.next(file) - assert next_part is not None - log.info('Queueing part #%d of file %r', next_part.index, file) - message = self.mirror_part_message(catalog, - file, - next_part, - upload_id, - [etag], - hasher) - self.client.queue_mirror_messages([message]) - - def mirror_file_part(self, - catalog: CatalogName, - file_json: JSON, - part_json: JSON, - upload_id: str, - etags: Iterable[str], - hasher_data: str - ): - file = self.load_file(catalog, file_json) - part = FilePart.from_json(part_json) - hasher = hasher_from_str(hasher_data) - log.info('Uploading part #%d of file %r', part.index, file) - service = self.service(catalog) - etag = service.mirror_file_part(file, part, upload_id, hasher) - etags = [*etags, etag] - next_part = part.next(file) - if next_part is None: - log.info('File fully uploaded in %d parts: %r', len(etags), file) - message = self.finalize_file_message(catalog, - file, - upload_id, - etags, - hasher) - else: - log.info('Queueing part #%d of file %r', next_part.index, file) - message = self.mirror_part_message(catalog, - file, - next_part, - upload_id, - etags, - hasher) - self.client.queue_mirror_messages([message]) - - def finalize_file(self, - catalog: CatalogName, - file_json: JSON, - upload_id: str, - etags: Sequence[str], - hasher_data: str - ): - file = self.load_file(catalog, file_json) - assert len(etags) > 0 - hasher = hasher_from_str(hasher_data) - service = self.service(catalog) - service.finish_mirroring_file(file=file, - upload_id=upload_id, - etags=etags, - hasher=hasher) - log.info('Successfully mirrored file via multi-part upload: %r', file) - - def load_file(self, catalog: CatalogName, file: JSON) -> File: - return self.client.metadata_plugin(catalog).file_class.from_json(file) - - def mirror_partition_message(self, - catalog: CatalogName, - source: SourceRef, - prefix: str - ) -> SQSFifoMessage: - return SQSFifoMessage( - body={ - 'action': MirrorAction.mirror_partition.to_json(), - 'catalog': catalog, - 'source': cast(JSON, source.to_json()), - 'prefix': prefix - }, - group_id=f'{source.id}:{prefix}' - ) - - def mirror_file_message(self, - catalog: CatalogName, - source: SourceRef, - file: File, - ) -> SQSFifoMessage: - return SQSFifoMessage( - body={ - 'action': MirrorAction.mirror_file.to_json(), - 'catalog': catalog, - 'source': cast(JSON, source.to_json()), - 'file': file.to_json() - }, - group_id=file.digest.value - ) - - def mirror_part_message(self, - catalog: CatalogName, - file: File, - part: FilePart, - upload_id: str, - etags: Sequence[str], - hasher: Hasher - ) -> SQSFifoMessage: - return SQSFifoMessage( - body={ - 'catalog': catalog, - 'file': file.to_json(), - 'upload_id': upload_id, - 'action': MirrorAction.mirror_part.to_json(), - 'part': part.to_json(), - 'etags': etags, - 'hasher': hasher_to_str(hasher) - }, - group_id=file.digest.value - ) - - def finalize_file_message(self, - catalog: CatalogName, - file: File, - upload_id: str, - etags: Sequence[str], - hasher: Hasher - ) -> SQSFifoMessage: - return SQSFifoMessage( - body={ - 'catalog': catalog, - 'file': file.to_json(), - 'upload_id': upload_id, - 'action': MirrorAction.finalize_file.to_json(), - 'etags': etags, - 'hasher': hasher_to_str(hasher) - }, - group_id=file.digest.value - ) diff --git a/src/azul/indexer/mirror_service.py b/src/azul/indexer/mirror_service.py deleted file mode 100644 index 9f9d8264ed..0000000000 --- a/src/azul/indexer/mirror_service.py +++ /dev/null @@ -1,386 +0,0 @@ -import json -import logging -import math -import string -import time -from typing import ( - ClassVar, - Protocol, - Self, - Sequence, - TYPE_CHECKING, -) - -import attr -import attrs -from furl import ( - furl, -) - -from azul import ( - CatalogName, - JSON, - R, - cached_property, - config, - mutable_furl, -) -from azul.attrs import ( - SerializableAttrs, -) -from azul.auth import ( - Authentication, -) -from azul.deployment import ( - aws, -) -from azul.digests import ( - Hasher, - get_resumable_hasher, -) -from azul.drs import ( - AccessMethod, -) -from azul.http import ( - HasCachedHttpClient, -) -from azul.plugins import ( - File, - RepositoryFileDownload, - RepositoryPlugin, -) -from azul.service.storage_service import ( - StorageObjectNotFound, - StorageService, -) - -if TYPE_CHECKING: - from mypy_boto3_s3.service_resource import ( - MultipartUpload, - ) - -log = logging.getLogger(__name__) - - -@attrs.frozen(kw_only=True) -class FilePart(SerializableAttrs): - """ - A part of a mirrored file - """ - #: The part number, starting at 0 for the first part, unlike S3 API part - #: numbers, which start at 1. - #: - index: int - - #: Offset of the first byte of this part, relative to the start of the file - offset: int - - #: The size of this part - #: - size: int - - #: Various S3 quotas related to parts and part sizes - #: https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html - #: - min_size: ClassVar[int] = 5 * 1024 ** 2 - max_size: ClassVar[int] = 5 * 1024 ** 3 - max_num_parts: ClassVar[int] = 10000 - - #: We observe a download rate of ~14 MB/s. Download time should ideally be - #: 1/4 of the Lambda timeout. Since we track the ETag of each part in SQS - #: messages, message size becomes another constraint: we observe ETags to be - #: 32 byte hexadecimal strings which, if represented in a JSON array, take - #: up 35 bytes per item, 36 if the comma is followed by a space. With a - #: maximum SQS message size of 256 KiB, we can store approximately 7280 - #: ETags in an SQS messages, so the largest file we can mirror using a part - #: size of 256 MiB is 1.5 TiB. - #: - default_size: ClassVar[int] = 256 * 1024 ** 2 - - @classmethod - def first(cls, file: File, part_size: int) -> Self: - """ - The first part of the given file, using the given part size. - """ - assert file.size is not None, R( - 'File size unknown', file) - assert cls.min_size <= part_size <= cls.max_size, R( - 'Invalid part size', part_size) - part_count = math.ceil(file.size / part_size) - assert part_count <= cls.max_num_parts, R( - 'Part size is too small for this file', part_size, file) - return cls(index=0, offset=0, size=min(part_size, file.size)) - - def next(self, file: File) -> Self | None: - """ - The part following this part in the given file, or None if this is the - last part. - """ - assert file.size is not None, R('File size unknown', file) - next_offset = self.offset + self.size - if next_offset == file.size: - return None - elif 0 < next_offset < file.size: - next_index = self.index + 1 - next_size = min(self.size, file.size - next_offset) - return attr.evolve(self, index=next_index, offset=next_offset, size=next_size) - else: - assert False, R('Part range exceeds file size', self, file) - - -@attrs.frozen(kw_only=True) -class MirrorFileDownload(RepositoryFileDownload): - _location: str - - @property - def retry_after(self) -> int | None: - return None - - @property - def location(self) -> str | None: - return self._location - - def update(self, - plugin: RepositoryPlugin, - authentication: Authentication | None - ) -> None: - pass - - -@attrs.frozen(kw_only=True, slots=False) -class BaseMirrorService: - catalog: CatalogName - - @cached_property - def _storage(self) -> StorageService: - bucket = config.mirror_bucket - if bucket is None or self.catalog in config.integration_test_catalogs: - bucket = aws.mirror_bucket - return StorageService(bucket) - - def get_mirror_url(self, file: File) -> str: - return self._storage.get_presigned_url(key=self.mirror_object_key(file), - file_name=file.name, - content_type=file.content_type) - - def _get_info(self, file: File) -> JSON | None: - key = self.info_object_key(file) - try: - content = self._storage.get(key) - except StorageObjectNotFound: - return None - else: - json_content = json.loads(content) - content_type = json_content['content-type'] - if content_type != file.content_type: - # FIXME: Content type in mirror info objects inconsistent with index - # https://github.com/DataBiosphere/azul/issues/7193 - log.warning('Conflicting content type %r for file %r', content_type, file) - return json_content - - info_prefix, file_prefix = 'info', 'file' - - def mirror_object_key(self, file: File) -> str: - return self._file_key(self.file_prefix, file) - - def info_object_key(self, file: File) -> str: - return self._file_key(self.info_prefix, file, extension='.json') - - def info_exists(self, file: File) -> bool: - return self._get_info(file) is not None - - def file_exists(self, file: File) -> bool: - try: - self._storage.head(self.mirror_object_key(file)) - except StorageObjectNotFound: - return False - else: - return True - - def delete_it_files(self): - """ - Delete all objects (both file/ and info/) with the given catalog's - mirror prefix. Currently, the mirror prefix is only used to distinguish - IT catalogs from non-IT catalogs, so if an IT catalog is specified, - objects from *all* IT catalogs will be deleted, not just the specified - catalog. - """ - assert self.catalog in config.integration_test_catalogs, R( - 'Not an IT catalog', self.catalog) - prefix = self._mirror_prefix - assert len(prefix) > 1 and prefix.endswith('/'), prefix - keys = self._storage.list(prefix) - assert len(keys) <= 300, R('Too many objects', len(keys)) - self._storage.delete(keys, batch_size=100) - - @cached_property - def _mirror_prefix(self) -> str: - return '_it/' if self.catalog in config.integration_test_catalogs else '' - - def _file_key(self, - prefix: str, - file: File, - *, - extension: str = '' - ) -> str: - digest = file.digest - digest_value = digest.value.lower() - assert all(c in string.hexdigits for c in digest_value), R( - 'Expected a hexadecimal digest', digest) - mirror_prefix = self._mirror_prefix - return f'{mirror_prefix}{prefix}/{digest_value}.{digest.type}{extension}' - - -class SchemaUrlFunc(Protocol): - - def __call__(self, - *, - schema_name: str, - version: int - ) -> mutable_furl: ... - - -@attrs.frozen(kw_only=True, slots=False) -class MirrorService(BaseMirrorService, HasCachedHttpClient): - schema_url_func: SchemaUrlFunc - - # We don't store the mirrored files' actual content type(s) in S3's - # `Content-Type` metadata because a single file object may store the - # contents of multiple file metadata entities, which may declare different - # content types for the same data. When file objects are downloaded from the - # mirror bucket via Azul, this value will be overridden with the requested - # file's actual content type via a query parameter in the signed URL. - # - # Files mirrored prior to this change may erroneously specify a different - # value in the `Content-Type` metadata. We haven't found an efficient way to - # update the content type of an existing object without copying its data. - # - file_object_content_type = 'application/octet-stream' - - @cached_property - def repository_plugin(self) -> RepositoryPlugin: - return RepositoryPlugin.load(self.catalog).create(self.catalog) - - def mirror_file(self, file: File): - """ - Upload the file in a single request. For larger files, use - :meth:`begin_mirroring_file` instead. - """ - file_content = self._download(file) - self._storage.put(object_key=self.mirror_object_key(file), - data=file_content, - content_type=self.file_object_content_type, - overwrite=False) - hasher = get_resumable_hasher(file.digest.type) - hasher.update(file_content) - self._verify_digest(file, hasher) - self._put_info(file) - - def begin_mirroring_file(self, file: File) -> str: - """ - Initiate a multipart upload of the file's content and return the upload - ID. - """ - storage = self._storage - key = self.mirror_object_key(file) - upload = storage.create_multipart_upload(object_key=key, - content_type=self.file_object_content_type) - return upload.id - - def mirror_file_part(self, - file: File, - part: FilePart, - upload_id: str, - hasher: Hasher - ) -> str: - """ - Upload a part of a file to a multipart upload begun with - :meth:`begin_mirroring_file` and return the uploaded part's ETag. - The provided hasher is mutated to incorporated the part's content. - """ - upload = self._get_upload(file, upload_id) - file_content = self._download(file, part) - hasher.update(file_content) - return self._storage.upload_multipart_part(file_content, - part.index + 1, - upload) - - def finish_mirroring_file(self, - *, - file: File, - upload_id: str, - etags: Sequence[str], - hasher: Hasher - ): - """ - Complete a multipart upload begun with :meth:`begin_mirroring_file`. - """ - upload = self._get_upload(file, upload_id) - self._storage.complete_multipart_upload(upload, - etags, - overwrite=False) - self._verify_digest(file, hasher) - self._get_info(file) - self._put_info(file) - - def info_object(self, file: File) -> JSON: - return { - 'content-type': file.content_type, - '$schema': str(self.schema_url_func(schema_name='info', version=1)) - } - - def _put_info(self, file: File): - key = self.info_object_key(file) - content = self.info_object(file) - self._storage.put(object_key=key, - data=json.dumps(content).encode(), - content_type='application/json') - - def _get_repository_url(self, file: File) -> furl: - assert config.is_tdr_enabled(self.catalog), R( - 'Only TDR catalogs are supported', self.catalog) - assert file.drs_uri is not None, R( - 'File cannot be downloaded', file) - drs = self.repository_plugin.drs_client(authentication=None) - access = drs.get_object(file.drs_uri, AccessMethod.gs) - assert access.method is AccessMethod.https, access - return furl(access.url) - - def _download(self, file: File, part: FilePart | None = None) -> bytes: - download_url = self._get_repository_url(file) - start = time.time() - if part is None: - headers = {} - size = file.size - expected_status = 200 - else: - headers = {'Range': f'bytes={part.offset}-{part.offset + part.size - 1}'} - size = part.size - expected_status = 206 - # Ideally we would stream the response, but boto only supports uploading - # from streams that are seekable. - response = self._http_client.request('GET', - str(download_url), - headers=headers) - if response.status == expected_status: - log.info('Downloaded %d bytes in %.3fs from file %r', - size, time.time() - start, file) - return response.data - else: - raise RuntimeError('Unexpected response from repository', response.status) - - def _get_upload(self, - file: File, - upload_id: str - ) -> 'MultipartUpload': - storage = self._storage - key = self.mirror_object_key(file) - return storage.load_multipart_upload(object_key=key, - upload_id=upload_id) - - def _verify_digest(self, file: File, hasher: Hasher): - expected_digest = file.digest - actual_digest_value = hasher.hexdigest() - assert expected_digest.value == actual_digest_value, R( - 'File digest value does not match its contents', - expected_digest, file) diff --git a/src/azul/indexer/transform.py b/src/azul/indexer/transform.py deleted file mode 100644 index d715e0fa4c..0000000000 --- a/src/azul/indexer/transform.py +++ /dev/null @@ -1,206 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from collections.abc import ( - Iterable, -) -from typing import ( - Optional, -) - -import attr - -from azul.collections import ( - alist, -) -from azul.indexer import ( - Bundle, - BundleFQID, - BundlePartition, -) -from azul.indexer.aggregate import ( - EntityAggregator, -) -from azul.indexer.document import ( - Contribution, - ContributionCoordinates, - EntityID, - EntityReference, - EntityType, - Replica, - ReplicaCoordinates, -) -from azul.indexer.field import ( - FieldTypes, -) -from azul.json import ( - json_hash, -) -from azul.types import ( - JSON, -) - - -@attr.s(frozen=True, kw_only=True, auto_attribs=True) -class Transformer(metaclass=ABCMeta): - bundle: Bundle - deleted: bool - - @classmethod - @abstractmethod - def entity_type(cls) -> EntityType: - """ - The type of outer entity this transformer creates and aggregates - contributions for. - """ - raise NotImplementedError - - def _replica_type(self, entity: EntityReference) -> str: - """ - The name of the type of replica emitted by this transformer for a given - entity. See :py:attr:`Replica.replica_type`. - """ - return entity.entity_type - - @abstractmethod - def _replica_contents(self, entity: EntityReference) -> JSON: - """ - The contents of the replica emitted by this transformer for a given - entity. - """ - raise NotImplementedError - - @classmethod - def inner_entity_types(cls) -> frozenset[str]: - """ - The set of types of inner entities that *do not* require aggregation in - an aggregate for an entity of this transformer's outer entity type. For - any *outer* entity of a certain type there is usually just one *inner* - entity of that same type, eliminating the need to aggregate multiple - inner entities. - """ - return frozenset((cls.entity_type(),)) - - @classmethod - @abstractmethod - def field_types(cls) -> FieldTypes: - raise NotImplementedError - - @abstractmethod - def estimate(self, partition: BundlePartition) -> int: - """ - Return the expected number of contributions that would be returned by - a call to :meth:`transform()`. - """ - - @abstractmethod - def transform(self, - partition: BundlePartition - ) -> Iterable[Contribution | Replica]: - """ - Return the contributions by the current bundle to the entities it - contains metadata about. More than one bundle can contribute to a - particular entity and any such entity can receive contributions by more - than one bundle. Only after all bundles have been transformed, can the - contributions pertaining to a particular entity be aggregated into - a single index document containing exhaustive metadata about that - entity. - - :param partition: The partition of the bundle to return contributions - for. - """ - raise NotImplementedError - - @classmethod - @abstractmethod - def aggregator(cls, entity_type: EntityType) -> Optional[EntityAggregator]: - """ - Returns the aggregator to be used for inner entities of the given type - that occur in contributions to an entity of this transformer's (outer) - entity type. - """ - raise NotImplementedError - - def _contribution(self, - contents: JSON, - entity_id: EntityID - ) -> Contribution: - entity = EntityReference(entity_type=self.entity_type(), entity_id=entity_id) - coordinates = ContributionCoordinates(entity=entity, - bundle=self.bundle.fqid, - deleted=self.deleted) - return Contribution(coordinates=coordinates, - version=None, - source=self.bundle.fqid.source, - contents=contents) - - def _replica(self, - entity: EntityReference, - *, - root_hub: EntityID, - file_hub: EntityID | None, - ) -> Replica: - replica_type = self._replica_type(entity) - contents = self._replica_contents(entity) - coordinates = ReplicaCoordinates(content_hash=json_hash(contents).hexdigest(), - entity=entity) - return Replica(coordinates=coordinates, - version=None, - replica_type=replica_type, - contents=contents, - source=self.bundle.fqid.source, - # The other hubs will be added when the indexer - # consolidates duplicate replicas. - hub_ids=alist(file_hub, root_hub)) - - @classmethod - @abstractmethod - def inner_entity_id(cls, entity_type: EntityType, entity: JSON) -> EntityID: - """ - Return the identifier of the given inner entity. Typically, the - identifier is the value of a particular property of the entity. - """ - raise NotImplementedError - - @classmethod - @abstractmethod - def reconcile_inner_entities(cls, - entity_type: EntityType, - *, - this: tuple[JSON, BundleFQID], - that: tuple[JSON, BundleFQID], - ) -> tuple[JSON, BundleFQID]: - """ - Given two potentially different copies of an inner entity, return the - copy that should be incorporated into the aggregate for an outer entity - of this transformer's entity type. Each copy is accompanied by the FQID - of the bundle that contributed it. Typically, the copy from the more - recently updated bundle is returned, but other implementations, such as - merging the two copies are plausible, too. - - :param entity_type: The type of the entity to reconcile - - :param this: One copy of the entity and the bundle it came from - - :param that: Another copy of the entity and the bundle it came from - - :return: The copy to use and the bundle it came from. The return value - may be passed to this method again in case there is yet another - copy to reconcile. In that case, the return value will be - passed as the ``this`` argument. - """ - raise NotImplementedError - - -class ReplicaTransformer(Transformer, metaclass=ABCMeta): - - @classmethod - @abstractmethod - def hot_entity_types(cls) -> dict[EntityType, EntityType]: - """ - The types of entities that do not explicitly track their hubs in - replica documents. Keys describe untransformed entities in a bundle; - values describe transformed inner entities in the index. - """ - raise NotImplementedError diff --git a/src/azul/iterators.py b/src/azul/iterators.py deleted file mode 100644 index 17bbd94808..0000000000 --- a/src/azul/iterators.py +++ /dev/null @@ -1,99 +0,0 @@ -from collections.abc import ( - Iterable, - Iterator, -) -from functools import ( - partial, -) -from itertools import ( - islice, -) -import random -from typing import ( - Callable, - TypeVar, - cast, -) - -from azul import ( - require, -) - -T = TypeVar('T') - - -# noinspection PyPep8Naming -class generable(Iterable[T]): - """ - Convert a generator into a true iterable, i.e. an iterable that is not an - iterator i.e., whose ``__iter__`` does not return ``self`` and that does not - have ``__next__``. - - A generator function: - - >>> def f(n): - ... for i in range(n): - ... yield i - - It returns an iterator that can only be consumed once: - - >>> g = f(3) - >>> list(g) - [0, 1, 2] - >>> list(g) - [] - - Wrapping the generator function with ``generable`` produces a true iterable - that can be consumed multiple times: - - >>> g = generable(f, 3) - >>> list(g) - [0, 1, 2] - >>> list(g) - [0, 1, 2] - """ - - def __init__(self, generator: Callable[..., Iterator[T]], *args, **kwargs): - self._generator = partial(generator, *args, **kwargs) - - def __iter__(self) -> Iterator[T]: - return self._generator() - - -def reservoir_sample(k: int, - it: Iterable[T], - *, - # The cast is safe because the `random` module has a - # function for every method in the `random.Random` class. - random: random.Random = cast(random.Random, random) - ) -> list[T]: - """ - Return a random choice of a given size from an iterable. - - https://stackoverflow.com/a/35671225/4171119 - - >>> r = random.Random(42) - - >>> reservoir_sample(5, '', random=r) - [] - - >>> reservoir_sample(5, 'abcd', random=r) - ['c', 'b', 'd', 'a'] - - >>> reservoir_sample(0, 'abcd', random=r) - [] - - >>> reservoir_sample(5, 'abcdefghijklmnopqrstuvwxyz', random=r) - ['x', 'l', 'a', 'n', 'b'] - """ - if k == 0: - return [] - require(k > 0, 'Sample size must not be negative', k, exception=ValueError) - it = iter(it) - sample = list(islice(it, k)) - random.shuffle(sample) - for i, item in enumerate(it, start=k + 1): - j = random.randrange(i) - if j < k: - sample[j] = item - return sample diff --git a/src/azul/json_freeze.py b/src/azul/json_freeze.py deleted file mode 100644 index 0b82e7f15f..0000000000 --- a/src/azul/json_freeze.py +++ /dev/null @@ -1,159 +0,0 @@ -from azul.types import ( - AnyJSON, - AnyMutableJSON, -) -from azul.vendored.frozendict import ( - frozendict, -) - - -def freeze(x: AnyJSON) -> AnyJSON: - """ - Return a copy of the argument JSON structure with every `dict` in that - structure converted to a `frozendict` and every list converted to a tuple. - - Frozen JSON structures are immutable and can be added to sets or used as - keys in other dictionaries. - - >>> from copy import deepcopy - >>> k = freeze({"1":[2,3]}) - >>> k_ = deepcopy(k) - >>> k is k_ - False - >>> {k: 42}[k_] - 42 - - Freeze is idempotent - - >>> thaw(freeze(freeze({"1":[2,3]}))) - {'1': [2, 3]} - """ - if isinstance(x, (dict, frozendict)): - return frozendict((k, freeze(v)) for k, v in x.items()) - elif isinstance(x, (list, tuple)): - return tuple(freeze(v) for v in x) - elif isinstance(x, (bool, str, int, float)) or x is None: - return x - else: - assert False, f'Cannot handle values of type {type(x)}' - - -def thaw(x: AnyJSON) -> AnyMutableJSON: - """ - Return a copy of the argument JSON structure with every `frozendict` in that - structure converted to a `dict` and every tuple converted to a list. - - >>> d = {"1":[2, 3]} - >>> d_ = thaw(freeze(d)) - >>> d_ == d, d_ is d - (True, False) - - thaw() is idempotent - - >>> thaw(thaw(freeze(d))) - {'1': [2, 3]} - """ - if isinstance(x, (frozendict, dict)): - return {k: thaw(v) for k, v in x.items()} - elif isinstance(x, (tuple, list)): - return [thaw(v) for v in x] - elif isinstance(x, (bool, str, int, float)) or x is None: - return x - else: - assert False, f'Cannot handle values of type {type(x)}' - - -def sort_frozen(x: AnyJSON) -> AnyJSON: - """ - Attempt to recursively sort a frozen JSON structure. Not all JSON structures - are supported. The restrictions are noted below. This method is really only - useful when comparing Elasticsearch documents. Elasticsearches semantics - for lists is that the order in which list elements occur doesn't really - matter. The "term" query {"foo": "bar"} matches a documents with - "foo": "bar" and ones with "foo":["baz","bar"]. - - >>> sort_frozen(freeze({"2": [{"3": True}, {"4": [5, None, None]}], "1": 1})) - (('1', 1), ('2', ((('3', True),), (('4', (None, None, 5)),)))) - - Tuples in the frozen JSON must only contain values that are either None or - of types that are comparable against each other. All None values in a tuple - are put first in the sorted tuple, as if None were less than any other - value. - - >>> sort_frozen(freeze([0, ""])) - Traceback (most recent call last): - ... - TypeError: '<' not supported between instances of 'str' and 'int' - - Note that True == 0 and False == 1 - - >>> sort_frozen(freeze([1, 0, False])) - (0, False, 1) - - >>> sort_frozen(freeze([{'x':True}, {'x': None}])) - ((('x', None),), (('x', True),)) - """ - if isinstance(x, frozendict): - # Note that each key occurs exactly once, so there will be no ties that - # have to be broken by comparing the values. The values may be of - # heterogeneous types and therefore can't be compared. - return tuple(sorted((k, sort_frozen(v)) for k, v in x.items())) - elif isinstance(x, tuple): - return tuple(sorted((sort_frozen(v) for v in x), key=TupleKey)) - elif isinstance(x, (bool, str, int, float)) or x is None: - return x - else: - assert False, f'Cannot handle values of type {type(x)}' - - -class TupleKey(object): - """ - Tuples are compared element-wise so (None,) < (True,) involves None < True - which fails. To solve this, we wrap all tuple elements. Note that this - means recursively wrapping tuple elements that are tuples themselves. - - >>> # noinspection PyTypeChecker - ... (None,) < (True,) - Traceback (most recent call last): - ... - TypeError: '<' not supported between instances of 'NoneType' and 'bool' - - >>> TupleKey((None,)) < TupleKey((True,)) - True - - From https://docs.python.org/3.8/reference/datamodel.html#object.__hash__ - - > A class that overrides __eq__() and does not define __hash__() will have - > its __hash__() implicitly set to None. - - Just making sure - - >>> {TupleKey((True,)):1} - Traceback (most recent call last): - ... - TypeError: unhashable type: 'TupleKey' - """ - __slots__ = ['obj'] - - def __init__(self, obj): - if isinstance(obj, tuple): - obj = tuple(TupleKey(e) for e in obj) - self.obj = obj - - def __lt__(self, other): - if self.obj is None: - return other.obj is not None - else: - return other.obj is not None and self.obj < other.obj - - def __gt__(self, other): - raise NotImplementedError - - def __eq__(self, other): - return self.obj == other.obj - - def __le__(self, other): - raise NotImplementedError - - def __ge__(self, other): - raise NotImplementedError diff --git a/src/azul/lambda_layer.py b/src/azul/lambda_layer.py deleted file mode 100644 index 56fba00ae1..0000000000 --- a/src/azul/lambda_layer.py +++ /dev/null @@ -1,115 +0,0 @@ -from collections import ( - defaultdict, -) -import hashlib -import logging -from pathlib import ( - Path, -) -import shutil -import subprocess -from zipfile import ( - ZipFile, - ZipInfo, -) - -from azul import ( - cached_property, - config, -) -from azul.deployment import ( - aws, -) -from azul.files import ( - file_sha1, -) - -log = logging.getLogger(__name__) - - -class DependenciesLayer: - - @property - def s3(self): - return aws.s3 - - def _update_required(self) -> bool: - log.info('Checking for dependencies layer package at s3://%s/%s.', - aws.shared_bucket, self.object_key) - try: - # Since the object is content-addressed, just checking for the - # object's presence is sufficient - self.s3.head_object(Bucket=aws.shared_bucket, Key=self.object_key) - except self.s3.exceptions.ClientError as e: - if e.response['Error']['Code'] == '404': - return True - else: - raise - else: - return False - - layer_dir = Path(config.project_root) / 'lambdas' / 'layer' - - def update_layer(self): - if self._update_required(): - log.info('Generating new layer package ...') - out_dir = self.layer_dir / '.chalice' / 'terraform' - self._build_package(out_dir) - input_zip = out_dir / 'deployment.zip' - output_zip = out_dir / 'layer.zip' - self._filter_package(input_zip, output_zip) - self._validate_layer(output_zip) - log.info('Uploading layer package to S3 ...') - self.s3.upload_file(str(output_zip), aws.shared_bucket, self.object_key) - log.info('Successfully staged updated layer package.') - else: - log.info('Layer package already up-to-date.') - - def _build_package(self, out_dir): - # Delete Chalice's build cache because our layer cache eviction rules - # are stricter and we want a full rebuild. - try: - cache_dir = self.layer_dir / '.chalice' / 'deployments' - log.info('Removing deployment cache at %r', str(cache_dir)) - shutil.rmtree(cache_dir) - except FileNotFoundError: - pass - command = ['chalice', 'package', out_dir] - log.info('Running %r', command) - subprocess.run(command, cwd=self.layer_dir).check_returncode() - - def _filter_package(self, input_zip_path: Path, output_zip_path: Path): - """ - Filter a ZIP file, removing `app.py` and prefixing other archive member - paths with `python/`. - """ - log.info('Filtering %r to %r', str(input_zip_path), str(output_zip_path)) - with ZipFile(input_zip_path, 'r') as input_zip: - with ZipFile(output_zip_path, 'w') as output_zip: - for input in input_zip.infolist(): - if input.filename != 'app.py': - # ZipFile doesn't copy permissions. Setting permissions - # manually also requires setting other fields. - output = ZipInfo(filename='python/' + input.filename) - output.external_attr = input.external_attr - output.date_time = input.date_time - output.compress_type = input.compress_type - with input_zip.open(input, 'r') as rf: - with output_zip.open(output, 'w') as wf: - shutil.copyfileobj(rf, wf, length=1024 * 1024) - - def _validate_layer(self, layer_zip: Path): - with ZipFile(layer_zip, 'r') as z: - infos = z.infolist() - files = defaultdict(list) - for info in infos: - files[info.filename].append(info) - duplicates = {k: v for k, v in files.items() if len(v) > 1} - assert not duplicates, duplicates - - @cached_property - def object_key(self): - sha1 = hashlib.sha1() - for path in Path(config.chalice_bin).iterdir(): - sha1.update(file_sha1(path).encode()) - return f'azul/{config.deployment_stage}/{config.lambda_layer_key}/{sha1.hexdigest()}.zip' diff --git a/src/azul/lambdas.py b/src/azul/lambdas.py deleted file mode 100644 index 4ed12c197a..0000000000 --- a/src/azul/lambdas.py +++ /dev/null @@ -1,188 +0,0 @@ -import ast -import logging -import time -from typing import ( - Optional, - Self, - TYPE_CHECKING, -) - -import attr -from more_itertools import ( - one, -) - -from azul import ( - R, - cache, - config, -) -from azul.deployment import ( - aws, -) -from azul.modules import ( - load_app_module, -) - -if TYPE_CHECKING: - from mypy_boto3_lambda.type_defs import ( - FunctionConfigurationTypeDef, - ) - -log = logging.getLogger(__name__) - - -@attr.s(auto_attribs=True, kw_only=True, frozen=True) -class Lambda: - name: str - role: str - slot_location: Optional[str] - - @property - def is_contribution_lambda(self) -> bool: - for lambda_name in self._contribution_lambda_names(): - try: - # FIXME: Eliminate hardcoded separator - # https://github.com/databiosphere/azul/issues/2964 - resource_name, _ = config.unqualified_resource_name(self.name, - suffix='-' + lambda_name) - except AssertionError as e: - if not R.caused(e): - raise - else: - if resource_name == 'indexer': - return True - return False - - @classmethod - @cache - def _contribution_lambda_names(cls) -> frozenset[str]: - indexer = load_app_module('indexer') - notification_queue_names = { - config.notifications_queue.derive(retry=retry).unqual_name - for retry in (False, True) - } - - def has_notification_queue(handler) -> bool: - try: - queue = handler.queue - except AttributeError: - return False - else: - resource_name, _, _ = config.unqualified_resource_name_and_suffix(queue) - return resource_name in notification_queue_names - - return frozenset(( - handler.name - for handler in vars(indexer).values() - if has_notification_queue(handler) - )) - - @classmethod - def from_response(cls, response: 'FunctionConfigurationTypeDef') -> Self: - name = response['FunctionName'] - role = response['Role'] - try: - slot_location = response['Environment']['Variables']['AZUL_TDR_SOURCE_LOCATION'] - except KeyError: - slot_location = None - return cls(name=name, - role=role, - slot_location=slot_location) - - def __attrs_post_init__(self): - if self.slot_location is None: - assert not self.is_contribution_lambda, self - else: - allowed_locations = config.tdr_allowed_source_locations - assert self.slot_location in allowed_locations, self.slot_location - - -class Lambdas: - tag_name = 'azul-original-concurrency-limit' - - @property - def _lambda(self): - return aws.lambda_ - - def list_lambdas(self) -> list[Lambda]: - return [ - Lambda.from_response(function) - for response in self._lambda.get_paginator('list_functions').paginate() - for function in response['Functions'] - ] - - def manage_lambdas(self, enabled: bool): - paginator = self._lambda.get_paginator('list_functions') - lambda_prefixes = [config.qualified_resource_name(lambda_infix) for lambda_infix in config.lambda_names()] - assert all(lambda_prefixes) - for lambda_page in paginator.paginate(FunctionVersion='ALL', MaxItems=500): - for lambda_name in [metadata['FunctionName'] for metadata in lambda_page['Functions']]: - if any(lambda_name.startswith(prefix) for prefix in lambda_prefixes): - self.manage_lambda(lambda_name, enabled) - - def manage_lambda(self, lambda_name: str, enable: bool): - lambda_settings = self._lambda.get_function(FunctionName=lambda_name) - lambda_arn = lambda_settings['Configuration']['FunctionArn'] - lambda_tags = self._lambda.list_tags(Resource=lambda_arn)['Tags'] - lambda_name = lambda_settings['Configuration']['FunctionName'] - if enable: - if self.tag_name in lambda_tags.keys(): - original_concurrency_limit = ast.literal_eval(lambda_tags[self.tag_name]) - - if original_concurrency_limit is not None: - log.info(f'Setting concurrency limit for {lambda_name} back to {original_concurrency_limit}.') - self._lambda.put_function_concurrency(FunctionName=lambda_name, - ReservedConcurrentExecutions=original_concurrency_limit) - else: - log.info(f'Removed concurrency limit for {lambda_name}.') - self._lambda.delete_function_concurrency(FunctionName=lambda_name) - - lambda_arn = lambda_settings['Configuration']['FunctionArn'] - self._lambda.untag_resource(Resource=lambda_arn, TagKeys=[self.tag_name]) - else: - log.warning(f'{lambda_name} is already enabled.') - else: - if self.tag_name not in lambda_tags.keys(): - try: - concurrency = lambda_settings['Concurrency'] - except KeyError: - # If a lambda doesn't have a limit for concurrency - # executions, Lambda.Client.get_function() - # doesn't return a response with the key, `Concurrency`. - concurrency_limit = None - else: - concurrency_limit = concurrency['ReservedConcurrentExecutions'] - - log.info(f'Setting concurrency limit for {lambda_name} to zero.') - new_tag = {self.tag_name: repr(concurrency_limit)} - self._lambda.tag_resource(Resource=lambda_settings['Configuration']['FunctionArn'], Tags=new_tag) - self._lambda.put_function_concurrency(FunctionName=lambda_name, ReservedConcurrentExecutions=0) - else: - log.warning(f'{lambda_name} is already disabled.') - - def reset_lambda_roles(self): - client = self._lambda - lambda_names = set(config.lambda_names()) - - for lambda_ in self.list_lambdas(): - for lambda_name in lambda_names: - if lambda_.name.startswith(config.qualified_resource_name(lambda_name)): - other_lambda_name = one(lambda_names - {lambda_name}) - temporary_role = lambda_.role.replace( - config.qualified_resource_name(lambda_name), - config.qualified_resource_name(other_lambda_name) - ) - log.info('Temporarily updating %r to role %r', lambda_.name, temporary_role) - client.update_function_configuration(FunctionName=lambda_.name, - Role=temporary_role) - log.info('Updating %r to role %r', lambda_.name, lambda_.role) - while True: - try: - client.update_function_configuration(FunctionName=lambda_.name, - Role=lambda_.role) - except client.exceptions.ResourceConflictException: - log.info('Function %r is being updated. Retrying ...', lambda_.name) - time.sleep(1) - else: - break diff --git a/src/azul/modules.py b/src/azul/modules.py deleted file mode 100644 index e02dcb409b..0000000000 --- a/src/azul/modules.py +++ /dev/null @@ -1,78 +0,0 @@ -from collections.abc import ( - Mapping, -) -from importlib.abc import ( - Loader, -) -import importlib.util -import os -from pathlib import ( - Path, -) -from typing import ( - Any, -) - -from azul import ( - R, - config, -) -from azul.types import ( - not_none, -) - - -def load_module(path: str, module_name: str): - """ - Load a module from the .py file at the given path without affecting - `sys.path` or `sys.modules`. - - :param path: the file system path to the module file - (typically ending in .py) - - :param module_name: the value to assign to the __name__ attribute of the - module. - - :param module_attributes: a dictionary of additional attributes to set on - the module before executing it. These attributes - will be available at module scope when it is first - executed - - :return: the module - """ - spec = importlib.util.spec_from_file_location(module_name, path) - assert spec is not None, R('Unable to load module', module_name, path) - assert isinstance(spec.loader, Loader) - module = importlib.util.module_from_spec(spec) - setattr(module, _loaded_dynamically, True) - assert Path(path).samefile(not_none(module.__file__)) - assert module.__name__ == module_name - spec.loader.exec_module(module) - return module - - -def load_app_module(lambda_name): - path = os.path.join(config.project_root, 'lambdas', lambda_name, 'app.py') - # Changing the module name here will break doctest discoverability - return load_module(path, f'lambdas.{lambda_name}.app') - - -def load_script(script_name: str): - path = os.path.join(config.project_root, 'scripts', f'{script_name}.py') - return load_module(path, script_name) - - -_loaded_dynamically = '__azul_loaded_dynamically__' - - -def module_loaded_dynamically(module_globals: Mapping[str, Any]) -> bool: - """ - Determine if a module was loaded dynamically - - :param module_globals: The return value of globals() when invoked from - within the module in question - - :return: True, if the module with the given globals was loaded dynamically - via a facility in this module, False otherwise - """ - return module_globals.get(_loaded_dynamically, False) diff --git a/src/azul/oauth2.py b/src/azul/oauth2.py deleted file mode 100644 index 2b1c116b8b..0000000000 --- a/src/azul/oauth2.py +++ /dev/null @@ -1,188 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from collections.abc import ( - Sequence, -) -import json -import logging -from typing import ( - TYPE_CHECKING, - TypedDict, -) - -import attr -from furl import ( - furl, -) -from google.auth.transport.urllib3 import ( - AuthorizedHttp, -) -from google.oauth2.credentials import ( - Credentials as TokenCredentials, -) -from google.oauth2.service_account import ( - Credentials as ServiceAccountCredentials, -) -import urllib3.request - -from azul import ( - R, - cached_property, - config, - reject, - require, -) -from azul.http import ( - HasCachedHttpClient, - HttpClientDecorator, -) - -log = logging.getLogger(__name__) - -ScopedCredentials = ServiceAccountCredentials | TokenCredentials - - -class CredentialsProvider(metaclass=ABCMeta): - - @abstractmethod - def scoped_credentials(self) -> ScopedCredentials: - raise NotImplementedError - - @abstractmethod - def oauth2_scopes(self) -> Sequence[str]: - raise NotImplementedError - - -class TokenInfo(TypedDict): - azp: str # "713613812354-aelk662bncv14d319dk8juce9p11um00.apps.googleusercontent.com", - aud: str # "713613812354-aelk662bncv14d319dk8juce9p11um00.apps.googleusercontent.com", - sub: str # "105096702580025601450", - scope: str # "https://www.googleapis.com/auth/userinfo.email openid", - exp: str # "1689645319", - expires_in: str # "3511", - email: str # "hannes@ucsc.edu", - email_verified: str # "true", - access_type: str # "online" - - -@attr.s(auto_attribs=True, kw_only=True, frozen=True) -class OAuth2Client(HasCachedHttpClient): - credentials_provider: CredentialsProvider - - @property - def credentials(self) -> ScopedCredentials: - return self.credentials_provider.scoped_credentials() - - @property - def service_account_credentials(self) -> ServiceAccountCredentials: - credentials = self.credentials - assert isinstance(credentials, ServiceAccountCredentials), R( - 'Expecting service account credentials', type(credentials) - ) - return credentials - - # The AuthorizedHttp class declares the second constructor argument to be a - # PoolManager instance but, except for __del__, doesn't actually use methods - # from the latter, only those from RequestMethods, at least in the scenarios - # we use AuthorizedHttp in. The AuthorizedHttp.__del__ method calls `clear` - # on the wrapped instance, so this adapter only provides that. - # - if TYPE_CHECKING: - _PoolManagerAdapter = urllib3.PoolManager - else: - class _PoolManagerAdapter(HttpClientDecorator): - - def clear(self): - pass - - def _create_http_client(self) -> urllib3.request.RequestMethods: - """ - A urllib3 HTTP client with OAuth 2.0 credentials - """ - # By default, AuthorizedHTTP attempts to refresh the credentials on a - # 401 response, which is never helpful. When using service account - # credentials, a fresh token is obtained for every lambda invocation, - # which will never persist long enough for the token to expire. User - # tokens can expire, but attempting to refresh them raises - # `google.auth.exceptions.RefreshError` due to the credentials not being - # configured with (among other fields) the client secret. - # - return AuthorizedHttp(self.credentials, - self._PoolManagerAdapter(super()._create_http_client()), - refresh_status_codes=()) - - @cached_property - def _http_client_without_credentials(self) -> urllib3.request.RequestMethods: - """ - A urllib3 HTTP client for making unauthenticated requests - """ - return super()._create_http_client() - - def validate(self): - """ - Validate the credentials from the provider this client was initialized - with. Raises an exception if the credentials are invalid, or if their - validity cannot be determined. - - For a user's access token to be valid, it must not be expired, and - originate from a Google OAuth 2.0 client belonging to the current - Google Cloud project. - - For service account credentials (those with a private key) to be valid, - the associated access token must not be expired and the email associated - with the token must be that of the service account itself. - - For a service account's access token (a bare access token created from - the service account's private key by some other party) to be valid, the - token must not be expired and the service account must belong to the - current Google Cloud project. - - :raise RequirementError: if the token is definitely invalid - - :raise Exception: if the validity of the token cannot be determined - """ - credentials = self.credentials - url = furl(url='https://www.googleapis.com/oauth2/v3/tokeninfo', - args=dict(access_token=credentials.token)) - response = self._http_client_without_credentials.request('GET', str(url)) - reject(response.status == 400, - 'The token is not valid') - require(response.status == 200, - 'Unexpected response status', response.status) - token_info: TokenInfo = json.loads(response.data) - # The error messages here intentionally lack detail, for confidentiality - if isinstance(credentials, ServiceAccountCredentials): - # Actual service account credentials - require(token_info['email_verified'] == 'true', - 'Service account email is not verified') - require(token_info['email'] == credentials.service_account_email, - 'Service account email does not match') - elif isinstance(credentials, TokenCredentials): - authorized_party = token_info['azp'] - email = token_info.get('email') - if authorized_party.endswith('.apps.googleusercontent.com'): - # A user's access token originating from an OAuth 2.0 client - azul_client_id = config.google_oauth2_client_id - reject(azul_client_id is None, - 'Acceptance of OAuth 2.0 user access tokens is disabled') - project_id = self._project_id_from_client_id(azul_client_id) - authorized_project_id = self._project_id_from_client_id(authorized_party) - require(project_id == authorized_project_id, - 'OAuth 2.0 client project does not match') - elif email is not None and email.endswith('.iam.gserviceaccount.com'): - # A service account's bare access token - require(token_info['email_verified'] == 'true', - 'Service account email is not verified') - local_part, _, host = email.partition('@') - host, _, domain = host.partition('.') - require(host == config.google_project(), - 'Service account project does not match') - else: - assert False, 'Unexpected type of authorized party' - else: - assert False, type(credentials) - - def _project_id_from_client_id(self, client_id): - return client_id.split('-', 1)[0] diff --git a/src/azul/objects.py b/src/azul/objects.py deleted file mode 100644 index a05c4c3bd7..0000000000 --- a/src/azul/objects.py +++ /dev/null @@ -1,71 +0,0 @@ -from azul import ( - lru_cache, -) - - -class InternMeta(type): - """ - A metaclass that interns instances of its instances such that the invariant - (x == y) == (x is y) holds for all instances x and y of any instance of this - metaclass. Note that an instance of a metaclass is a class. - - This metaclass does not consider thread safety. It should be as safe or - unsafe as lru_cache from functools. - - Note also that this metaclass never releases the memory used by instances of - its instances. - - >>> from typing import ClassVar - - >>> class C(metaclass=InternMeta): - ... i: ClassVar[int] = 0 - ... def __init__(self, x:int): - ... C.i += 1 - ... self.x = x - - >>> C(1) is C(1) - True - >>> C.i - 1 - >>> C(1) is C(2) - False - >>> C.i - 2 - - Instances of an instance of this metaclass should be immutable. - - >>> from dataclasses import dataclass, field - >>> @dataclass - ... class D(metaclass=InternMeta): - ... x: int - >>> d1, d2 = D(1), D(2) - >>> d1 == d2 - False - >>> d2.x = 1 # make them equal - >>> d1 == d2 - True - >>> d1 is d2 # but they are still not the same, violating the invariant. - False - - Instances of an instance are interned based on the arguments they were - constructed with. That means that instance equality must be consistent with - the equality of the construction arguments. If it isn't i.e., if two - instances are equal even if their construction arguments are not, the - invariant will be violated. - - >>> @dataclass - ... class E(metaclass=InternMeta): - ... x: int - ... y: int = field(compare=False) - >>> e1, e2 = E(1, 1), E(1, 2) - >>> e1.y == e2.y # Even though .y is differs between instances … - False - >>> e1 == e2 # they are considered equal because .y is insignificant for equality. - True - >>> e1 is e2 # Invariant is invalidated. - False - """ - - @lru_cache - def __call__(cls, *args, **kwargs): - return super().__call__(*args, **kwargs) diff --git a/src/azul/plugins/__init__.py b/src/azul/plugins/__init__.py deleted file mode 100644 index 280d6f20c7..0000000000 --- a/src/azul/plugins/__init__.py +++ /dev/null @@ -1,894 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from enum import ( - Enum, -) -import importlib -from inspect import ( - isabstract, -) -from typing import ( - AbstractSet, - Callable, - ClassVar, - Iterable, - Mapping, - Self, - Sequence, - TYPE_CHECKING, - TypeVar, - TypedDict, - cast, -) - -import attrs -from more_itertools import ( - one, -) - -from azul import ( - CatalogName, - cached_property, - config, -) -from azul.attrs import ( - SerializableAttrs, -) -from azul.chalice import ( - Authentication, -) -from azul.digests import ( - Digest, -) -from azul.drs import ( - DRSClient, -) -from azul.indexer import ( - Bundle, - Prefix, - SourceRef, - SourceSpec, - SourcedBundleFQID, -) -from azul.indexer.document import ( - Aggregate, - DocumentType, - EntityType, - FieldPath, - FieldPathElement, - IndexName, -) -from azul.indexer.transform import ( - ReplicaTransformer, - Transformer, -) -from azul.types import ( - JSON, - MutableJSON, - MutableJSONs, - derived_type_params, - json_str, -) -from azul.uuids import ( - validate_uuid_prefix, -) - -if TYPE_CHECKING: - from azul.service.elasticsearch_service import ( - AggregationStage, - FilterStage, - ) - # These are only needed for type hints and would otherwise introduce a - # circular import since the service layer heavily depends on the plugin. - from azul.service.repository_service import ( - SearchResponseStage, - SummaryResponseStage, - ) - -FieldName = str - -FieldMapping = Mapping[FieldName, FieldPath] - -ColumnMapping = Mapping[FieldPathElement, FieldName | None] -ManifestConfig = Mapping[FieldPath, ColumnMapping] -MutableColumnMapping = dict[FieldPathElement, FieldName] -MutableManifestConfig = dict[FieldPath, MutableColumnMapping] - -DottedFieldPath = str -FieldGlobs = list[DottedFieldPath] - - -def dotted(path_or_element: FieldPathElement | FieldPath, - *elements: FieldPathElement - ) -> DottedFieldPath: - dot = '.' - if isinstance(path_or_element, FieldPathElement): - # The dotted('field') case is pointless, so we won't special-case it - return dot.join((path_or_element, *elements)) - elif elements: - return dot.join((*path_or_element, *elements)) - else: - return dot.join(path_or_element) - - -class DocumentSlice(TypedDict, total=False): - """ - Also known in Elasticsearch land as a *source filter*, but that phrase has - a different meaning in Azul. - - https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-fields.html#source-filtering - """ - includes: FieldGlobs - excludes: FieldGlobs - - -@attrs.frozen(auto_attribs=True, kw_only=True) -class Sorting: - field_name: FieldName - descending: bool = attrs.field(default=False) - max_page_size: int = 1000 - - @property - def order(self) -> str: - return 'desc' if self.descending else 'asc' - - -@attrs.frozen(auto_attribs=True, kw_only=True) -class SpecialFields: - """ - Azul defines a number of fields in each /index/{entity_type} response that - are synthetic (not directly taken from the metadata) and/or are used - internally. Their naming is inconsistent between metadata plugin - implementations. This class encapsulates the naming of these fields so that - we don't need to litter the source with strings literals and conditionals. - - It is an incomplete abstraction in that it does not express the name of the - inner entity the field is a property of in the /index/{entity_type} - response. In that way, the values of the attributes of instances of this - class are more akin to a facet name, rather than a field name. However, not - every field represented here is actually a facet. - """ - accessible: ClassVar[FieldName] = 'accessible' - source_id: FieldName - source_spec: FieldName - bundle_uuid: FieldName - bundle_version: FieldName - root_entity_id: FieldName - - -class ManifestFormat(Enum): - compact = 'compact' - terra_pfb = 'terra.pfb' - curl = 'curl' - verbatim_jsonl = 'verbatim.jsonl' - verbatim_pfb = 'verbatim.pfb' - - -class Plugin[BUNDLE: Bundle](metaclass=ABCMeta): - """ - A base class for Azul plugins. Concrete plugins shouldn't inherit this - class directly but one of the subclasses of this class. This class just - defines the mechanism for loading concrete plugins classes and doesn't - specify any interface to the concrete plugin itself. - """ - - @classmethod - def load(cls, catalog: CatalogName) -> type[Self]: - """ - Load and return one of the concrete subclasses of the class this method - is called on. Which concrete class is returned depends on how the - catalog is configured. Different catalogs can use different combinations - of concrete plugin implementations. - - :param catalog: the name of the catalog for which to load the plugin - """ - assert cls != Plugin, f'Must use a subclass of {cls.__name__}' - assert isabstract(cls), f'Must use an abstract subclass of {cls.__name__}' - plugin_type_name = cls._plugin_type_name() - plugin_package_name = config.catalogs[catalog].plugins[plugin_type_name].name - return cls._load(plugin_type_name, plugin_package_name) - - @classmethod - def types(cls) -> Sequence[type[Self]]: - return cls.__subclasses__() - - @classmethod - def type_for_name(cls, plugin_type_name: str) -> type[Self]: - """ - Return the plugin type for the given name. - - Note that the returned class is still abstract. To get a concrete - implementation of a particular plugin type, call the :meth:`.load` - method of the class returned by this method. The need to call this - method is uncommon. Depending on the purpose, say, interacting with - the repository, a client usually knows the abstract type of plugin - they'd like to use i.e., :class:`RepositoryPlugin`. The only thing - they don't know is which concrete implementation of that class to - use, as that depends on the catalog. - """ - for subclass in cls.types(): - if subclass.type_name() == plugin_type_name: - return subclass - raise ValueError('No such plugin type', plugin_type_name) - - @classmethod - @abstractmethod - def type_name(cls) -> str: - raise NotImplementedError - - @classmethod - def bundle_cls(cls, - plugin_package_name: str - ) -> type[BUNDLE]: - plugin_type_name = cls._plugin_type_name() - plugin_cls = cls._load(plugin_type_name, plugin_package_name) - bundle_cls = derived_type_params(plugin_cls, root=Plugin)[BUNDLE] - assert isinstance(bundle_cls, type) - assert issubclass(bundle_cls, Bundle), bundle_cls - return cast(type[BUNDLE], bundle_cls) - - @classmethod - def _plugin_type_name(cls) -> str: - assert cls != Plugin, f'Must use a subclass of {cls.__name__}' - assert isabstract(cls) != Plugin, f'Must use an abstract subclass of {cls.__name__}' - plugin_type_name = cls.type_name() - return plugin_type_name - - @classmethod - def _load(cls, plugin_type_name: str, plugin_package_name: str) -> type[Self]: - plugin_package_path = f'{__name__}.{plugin_type_name}.{plugin_package_name}' - plugin_module = importlib.import_module(plugin_package_path) - plugin_cls = getattr(plugin_module, 'Plugin') - assert issubclass(plugin_cls, cls) - return plugin_cls - - -class MetadataPlugin[BUNDLE: Bundle](Plugin[BUNDLE]): - - @classmethod - def type_name(cls) -> str: - return 'metadata' - - # If the need arises to parameterize instances of a concrete plugin class, - # add the parameters to create() and make it abstract. - - @classmethod - def create(cls) -> Self: - return cls() - - @abstractmethod - def transformer_types(self) -> Iterable[type[Transformer]]: - raise NotImplementedError - - @abstractmethod - def transformers(self, - bundle: BUNDLE, - *, - delete: bool - ) -> Iterable[Transformer]: - """ - Instantiate all transformer classes. - - :param bundle: the bundle to initialize the transformers with - - :param delete: whether the bundle was deleted - """ - raise NotImplementedError - - def aggregate_class(self) -> type[Aggregate]: - """ - Returns the concrete class to use for representing aggregate documents - in the indexer. - """ - return Aggregate - - @property - def string_mapping(self): - return { - 'type': 'text', - 'fields': { - 'keyword': { - 'type': 'keyword', - 'ignore_above': 256 - } - } - } - - range_mapping = { - # A float (single precision IEEE-754) can represent all integers up to - # 16,777,216. If we used float values for organism ages in seconds, we - # would not be able to accurately represent an organism age of - # 16,777,217 seconds. That is 194 days and 15617 seconds. - # A double precision IEEE-754 representation loses accuracy at - # 9,007,199,254,740,993 which is more than 285616415 years. - - # Note that Python's float uses double precision IEEE-754. - # (https://docs.python.org/3/tutorial/floatingpoint.html#representation-error) - 'type': 'double_range' - } - - def mapping(self, index_name: IndexName) -> MutableJSON: - return { - 'numeric_detection': False, - 'properties': { - # Declare the primary key since it's used as the tiebreaker when - # sorting. We used to use _uid for that but that's gone in ES 7 and - # _id can't be used for sorting: - # - # https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking-changes-7.0.html#uid-meta-field-removed - # - # https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-id-field.html - # - # > The _id field is restricted from use in aggregations, sorting, - # > and scripting. In case sorting or aggregating on the _id field - # > is required, it is advised to duplicate the content of the _id - # > field into another field that has doc_values enabled. - # - 'entity_id': self.string_mapping, - **( - { - 'contents': { - # All replicas are stored in a single index per catalog, - # regardless of entity type, resulting in heterogeneous - # documents. Additionally, we don't want ES re-ordering - # arrays or dictionary items within replica documents. - # Therefore, we disable the mapping for their contents. - 'type': 'object', - 'enabled': False - } - } - if index_name.doc_type is DocumentType.replica else - {} - ) - }, - 'dynamic_templates': [ - { - 'strings_as_text': { - 'match_mapping_type': 'string', - 'mapping': self.string_mapping - } - }, - { - 'other_types_with_keyword': { - 'match_mapping_type': '*', - 'mapping': { - 'type': '{dynamic_type}', - 'fields': { - 'keyword': { - 'type': '{dynamic_type}' - } - } - } - } - } - ] - } - - @property - @abstractmethod - def exposed_indices(self) -> dict[EntityType, Sorting]: - """ - The indices for which the service provides an `/index/…` endpoint. - The return value maps the outer entity type of each exposed index to the - default values of the request parameters that control the paging and - ordering of hits returned by the corresponding endpoint. - """ - raise NotImplementedError - - @property - @abstractmethod - def manifest_formats(self) -> Sequence[ManifestFormat]: - """ - The supported formats for generating a manifest. The first value will be - used as a default if no format is explicitly specified. - """ - raise NotImplementedError - - #: See :meth:`_field_mapping` - _FieldMapping2 = Mapping[FieldPathElement, FieldName] - _FieldMapping1 = Mapping[FieldPathElement, FieldName | _FieldMapping2] - _FieldMapping = Mapping[FieldPathElement, FieldName | _FieldMapping1] - - @cached_property - def field_mapping(self) -> FieldMapping: - """ - Maps a field's name in the service response to the field's path in - Elasticsearch index documents. - """ - - def invert(v: MetadataPlugin._FieldMapping, - *path: FieldPathElement - ) -> Iterable[tuple[FieldName, FieldPath]]: - if isinstance(v, dict): - for k, v in v.items(): - assert isinstance(k, FieldPathElement) - yield from invert(v, *path, k) - elif isinstance(v, FieldName): - yield v, path - else: - assert False, v - - inversion: dict[FieldName, FieldPath] = {} - for v, path in invert(self._field_mapping): - other_path = inversion.setdefault(v, path) - assert other_path == path, ( - f'Field {v!r} has conflicting paths', path, other_path - ) - return inversion - - @property - @abstractmethod - def _field_mapping(self) -> _FieldMapping: - """ - An inverted and more compact representation of the field mapping. It is - made up of nested dictionaries where each key is an element in a field's - path whereas the corresponding value is either the field's name, if the - key represents the element in the path, or a dictionary otherwise. - """ - raise NotImplementedError - - @property - @abstractmethod - def special_fields(self) -> SpecialFields: - """ - See :py:class:`SpecialFields`. - """ - raise NotImplementedError - - @property - def root_entity_type(self) -> str: - """ - The type of entity that sits at the root of the entity graph, and that - all other entities are directly or indirectly associated with. - Typically, entities of other types are thought of as *belonging to* the - root entity and this relationship is implied rather than made explicit - via a foreign key or some other manifestation of a graph connection. The - mere presence of a `project` entity in a TDR snapshot for HCA, for - example, implies that all other entities in that snapshot *belong* to - that project. - """ - raise NotImplementedError - - @property - def hot_entity_types(self) -> Iterable[str]: - """ - The types of inner entities that do not explicitly track their hubs in - replica documents in order to avoid a large list of hub references in - the replica document, and to avoid contention when updating that list - during indexing. This will always include the root type. - """ - replica_transformer_type = one( - t for t in self.transformer_types() - if issubclass(t, ReplicaTransformer) - ) - hot_entity_types = replica_transformer_type.hot_entity_types().values() - assert self.root_entity_type in hot_entity_types - return hot_entity_types - - @property - def facets(self) -> Sequence[str]: - return [self.special_fields.source_id] - - @property - @abstractmethod - def manifest_config(self) -> ManifestConfig: - raise NotImplementedError - - def verbatim_pfb_entity_id(self, replica: JSON) -> str: - return json_str(replica['entity_id']) - - def verbatim_pfb_schema(self, replicas: list[JSON]) -> list[JSON]: - """ - Generate the azul-specific parts of the PFB schema for the verbatim - manifest. The default, metadata-agnostic implementation loads all - replica documents into memory and dynamically generates a schema based - on their observed shapes. This results in inconsistencies in the schema - depending on the manifest contents, so subclasses should override this - method if their metadata adheres to an authoritative schema that can be - known in advance. - - :param replicas: The replica documents to be described by the PFB schema - - :return: a list of PFB entity schemas describing the replicas - """ - from azul.service import ( - avro_pfb, - ) - return avro_pfb.pfb_schema_from_replicas(replicas) - - def verbatim_pfb_relations(self, replica: JSON) -> list[tuple[str, str]]: - """ - A list of the replicas that the given replica references/depends on, - represented as (replica_type, entity_id) pairs. - """ - return [] - - def verbatim_pfb_links(self, replica_type: str) -> MutableJSONs: - """ - Express the relationships of the given replica type as PFB links - (https://uc-cdis.github.io/pypfb/#link). - """ - return [] - - @abstractmethod - def document_slice(self, entity_type: str) -> DocumentSlice | None: - raise NotImplementedError - - @property - @abstractmethod - def summary_response_stage(self) -> 'type[SummaryResponseStage]': - raise NotImplementedError - - @property - @abstractmethod - def search_response_stage(self) -> 'type[SearchResponseStage]': - raise NotImplementedError - - @property - @abstractmethod - def summary_aggregation_stage(self) -> 'type[AggregationStage]': - raise NotImplementedError - - @property - @abstractmethod - def aggregation_stage(self) -> 'type[AggregationStage]': - raise NotImplementedError - - @property - @abstractmethod - def filter_stage(self) -> 'type[FilterStage]': - raise NotImplementedError - - @property - @abstractmethod - def file_class(self) -> type['File']: - raise NotImplementedError - - -@attrs.frozen(auto_attribs=True, kw_only=True) -class RepositoryPlugin[BUNDLE: Bundle, - SOURCE_SPEC: SourceSpec, - SOURCE_REF: SourceRef, - BUNDLE_FQID: SourcedBundleFQID]( - Plugin[BUNDLE] -): - catalog: CatalogName - - @classmethod - def type_name(cls) -> str: - return 'repository' - - @classmethod - def create(cls, catalog: CatalogName) -> Self: - """ - Return a plugin instance suitable for populating the given catalog. - """ - return cls(catalog=catalog) - - @cached_property - def sources(self) -> AbstractSet[SOURCE_SPEC]: - """ - The sources the plugin is configured to read metadata from. - """ - return frozenset(map(self.parse_source, config.sources(self.catalog))) - - def _assert_source(self, source: SOURCE_REF): - """ - Assert that the given source is present in the plugin configuration. - """ - assert source.spec.prefix is not None, source - for configured_spec in self.sources: - if configured_spec == source.spec: - break - # Most configured sources lack an explicit prefix - elif configured_spec.eq_ignoring_prefix(source.spec): - assert configured_spec.prefix is None, (configured_spec, source) - break - else: - continue - else: - assert False, (self.sources, source) - - def _assert_partition(self, source: SOURCE_REF, prefix: str): - """ - Assert that the given partition is a valid derivation of the given - source's configured prefix. - """ - validate_uuid_prefix(prefix) - assert prefix in source.spec.prefix, (source.spec, prefix) - - @abstractmethod - def list_sources(self, - authentication: Authentication | None - ) -> Iterable[SOURCE_REF]: - """ - The sources the plugin is configured to read metadata from that are - accessible using the provided authentication. Retrieving this - information may require a round-trip to the underlying repository. - Implementations should raise PermissionError if the provided - authentication is insufficient to access the repository. - """ - raise NotImplementedError - - def list_source_ids(self, - authentication: Authentication | None - ) -> set[str]: - """ - List source IDs in the underlying repository that are accessible using - the provided authentication. Sources may be included even if they are - not configured to be read from. Subclasses should override this method - if it can be implemented more efficiently than `list_sources`. - - Retrieving this information may require a round-trip to the underlying - repository. Implementations should raise PermissionError if the provided - authentication is insufficient to access the repository. - """ - return {source.id for source in self.list_sources(authentication)} - - @cached_property - def _generic_params(self) -> dict[TypeVar, type]: - params = derived_type_params(type(self), root=RepositoryPlugin) - assert all(isinstance(p, type) for p in params.values()), params - return cast(dict[TypeVar, type], params) - - @property - def source_ref_cls(self) -> type[SOURCE_REF]: - ref_cls = self._generic_params[SOURCE_REF] - assert isinstance(ref_cls, type), ref_cls - assert issubclass(ref_cls, SourceRef), ref_cls - return cast(type[SOURCE_REF], ref_cls) - - @property - def bundle_fqid_cls(self) -> type[BUNDLE_FQID]: - fqid_cls = self._generic_params[BUNDLE_FQID] - assert isinstance(fqid_cls, type), fqid_cls - assert issubclass(fqid_cls, SourcedBundleFQID), fqid_cls - return cast(type[BUNDLE_FQID], fqid_cls) - - def parse_source(self, spec: str) -> SOURCE_SPEC: - return self.source_ref_cls.spec_cls().parse(spec) - - def resolve_source(self, spec: SOURCE_SPEC) -> SOURCE_REF: - """ - Return an instance of :class:`SourceRef` for the repository source - matching the given specification or raise an exception if no such source - exists. - """ - ref_cls = self.source_ref_cls - spec_cls = ref_cls.spec_cls() - assert isinstance(spec, spec_cls), spec - id = self._lookup_source_id(spec) - return ref_cls(id=id, spec=spec) - - @abstractmethod - def _lookup_source_id(self, spec: SOURCE_SPEC) -> str: - """ - Return the ID of the repository source with the specified name or raise - an exception if no such source exists. - """ - raise NotImplementedError - - @abstractmethod - def count_bundles(self, source: SOURCE_SPEC) -> int: - """ - The total number of subgraphs in the given source. The source's prefix - may be None, indicating that the source hasn't been partitioned yet and - that this method should count all bundles in the source. - """ - raise NotImplementedError - - @abstractmethod - def count_files(self, source: SOURCE_SPEC) -> int: - """ - The total number of files in the given source. The source's prefix - may be None, indicating that the source hasn't been partitioned yet and - that this method should count all files in the source. - """ - raise NotImplementedError - - def partition_source_for_indexing(self, - catalog: CatalogName, - source: SOURCE_REF - ) -> SOURCE_REF: - """ - If the source already has a prefix, return the source. Otherwise, return - an updated copy of the source with a heuristically computed prefix that - should be appropriate for indexing in the given catalog. - """ - return self._partition_source(catalog, source, self.count_bundles) - - def partition_source_for_mirroring(self, - catalog: CatalogName, - source: SOURCE_REF - ) -> SOURCE_REF: - """ - If the source already has a prefix, return the source. Otherwise, return - an updated copy of the source with a heuristically computed prefix that - should be appropriate for mirroring in the given catalog. - """ - return self._partition_source(catalog, source, self.count_files) - - def _partition_source(self, - catalog: CatalogName, - source: SOURCE_REF, - counter: Callable[[SOURCE_SPEC], int] - ) -> SOURCE_REF: - if source.spec.prefix is None: - count = counter(source.spec) - is_main = config.deployment.is_main - is_it = catalog in config.integration_test_catalogs - # We use the "lesser" heuristic during IT to keep the cost and - # performance of the tests within reasonable limits - if is_main and not is_it: - prefix = Prefix.for_main_deployment(count) - else: - prefix = Prefix.for_lesser_deployment(count) - return source.with_prefix(prefix) - else: - return source - - @abstractmethod - def list_bundles(self, - source: SOURCE_REF, - prefix: str - ) -> list[BUNDLE_FQID]: - """ - List the bundles in the given source whose UUID starts with the given - prefix. - - :param source: a reference to the repository source that contains the - bundles to list - - :param prefix: a string that should be no more than eight lower-case - hexadecimal characters - """ - - raise NotImplementedError - - @abstractmethod - def fetch_bundle(self, bundle_fqid: BUNDLE_FQID) -> BUNDLE: - """ - Fetch the given bundle. - - :param bundle_fqid: The fully qualified ID of the bundle to fetch, - including its source. - """ - raise NotImplementedError - - @abstractmethod - def list_files(self, source: SOURCE_REF, prefix: str) -> list['File']: - """ - List the files in the given source whose digest value starts with the - given prefix. - - :param source: A reference to the repository source that contains the - files to list - - :param prefix: A string of lower-case hexadecimal characters - """ - - raise NotImplementedError - - @abstractmethod - def drs_client(self, - authentication: Authentication | None = None - ) -> DRSClient: - """ - Returns a DRS client that uses the given authentication with requests to - the DRS server. If a concrete subclass doesn't support authentication, - it should assert that the argument is ``None``. - """ - raise NotImplementedError - - @abstractmethod - def file_download_class(self) -> type['RepositoryFileDownload']: - raise NotImplementedError - - @abstractmethod - def validate_version(self, version: str) -> None: - """ - Raise ValueError if the given version string is invalid. - """ - raise NotImplementedError - - -@attrs.frozen(auto_attribs=True, kw_only=True) -class File(SerializableAttrs, metaclass=ABCMeta): - """ - A reference to a data file in the repository. - """ - - #: The UUID of the data file. Some plugins use the same UUID for the - #: file's metadata document. - uuid: str - - #: The name of the file on the user's disk. - name: str - - #: Optional version of the file. Defaults to the most recent version. - version: str | None - - #: The DRS URI of the file in the repository from which to download the - #: file. - #: - #: https://ga4gh.github.io/data-repository-service-schemas/preview/release/drs-1.0.0/docs/#_drs_ids - #: - #: Repository plugins that populate the DRS URI (``azul.indexer.Bundle. - #: drs_uri``) usually require this to be set. Plugins that don't will - #: ignore this. - drs_uri: str | None - - #: The file's size on disk, if known. - size: int | None = None - - #: The file's MIME content type, if known - content_type: str | None = None - - @classmethod - @abstractmethod - def from_hit(cls, hit: JSON) -> Self: - """ - Instantiate this class from an entity aggregate document retrieved from - Elasticsearch. - """ - raise NotImplementedError - - @property - @abstractmethod - def digest(self) -> Digest: - raise NotImplementedError - - -@attrs.define(auto_attribs=True, kw_only=True) -class RepositoryFileDownload(metaclass=ABCMeta): - #: The file being downloaded - file: File - - #: True if the download of a file requires its DRS URI - needs_drs_uri: ClassVar[bool] = False - - #: The name of the replica to download the file from. Defaults to the name - #: of the default replica. The set of valid replica names depends on the - #: repository, but each repository must support the default replica. - replica: str | None - - #: A token to capture download state in. Should be `None` when the download - #: is first requested. - token: str | None - - @abstractmethod - def update(self, - plugin: RepositoryPlugin, - authentication: Authentication | None - ) -> None: - """ - Initiate the preparation of a URL from which the file can be downloaded. - Set any attributes that are None to their default values. If a download - is already being prepared, update those attributes and set the - `retry_after` property. If the download has been prepared, set the - `location` property. - - :param plugin: The plugin for the repository from which the file is to - be downloaded. - - :param authentication: The authentication provided with the download - request. - """ - raise NotImplementedError - - @property - @abstractmethod - def location(self) -> str | None: - """ - The final URL from which the file contents can be downloaded. - """ - raise NotImplementedError - - @property - @abstractmethod - def retry_after(self) -> int | None: - """ - A number of seconds to wait before calling `update` again. - """ diff --git a/src/azul/plugins/metadata/__init__.py b/src/azul/plugins/metadata/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/azul/plugins/metadata/anvil/__init__.py b/src/azul/plugins/metadata/anvil/__init__.py deleted file mode 100644 index 487582e4b8..0000000000 --- a/src/azul/plugins/metadata/anvil/__init__.py +++ /dev/null @@ -1,537 +0,0 @@ -from collections import ( - defaultdict, -) -from operator import ( - itemgetter, -) -from typing import ( - Iterable, - Self, - Sequence, -) - -from attrs import ( - frozen, -) -from more_itertools import ( - one, -) -from more_itertools.more import ( - always_iterable, -) - -from azul import ( - config, - iif, -) -from azul.digests import ( - Digest, -) -from azul.indexer.document import ( - DocumentType, - EntityType, - FieldPath, - IndexName, -) -from azul.plugins import ( - DocumentSlice, - File, - ManifestConfig, - MetadataPlugin, - Sorting, - SpecialFields, -) -from azul.plugins.metadata.anvil.bundle import ( - AnvilBundle, -) -from azul.plugins.metadata.anvil.indexer.transform import ( - ActivityTransformer, - BaseTransformer, - BiosampleTransformer, - BundleTransformer, - DatasetTransformer, - DonorTransformer, - FileTransformer, -) -from azul.plugins.metadata.anvil.schema import ( - anvil_schema, -) -from azul.plugins.metadata.anvil.service.aggregation import ( - AnvilAggregationStage, - AnvilSummaryAggregationStage, -) -from azul.plugins.metadata.anvil.service.filter import ( - AnvilFilterStage, -) -from azul.plugins.metadata.anvil.service.response import ( - AnvilSearchResponseStage, - AnvilSummaryResponseStage, -) -from azul.service.manifest_service import ( - ManifestFormat, -) -from azul.types import ( - AnyMutableJSON, - JSON, - MutableJSON, - MutableJSONs, -) - - -class Plugin(MetadataPlugin[AnvilBundle]): - - @property - def exposed_indices(self) -> dict[EntityType, Sorting]: - return dict( - activities=Sorting(field_name='activities.activity_id'), - biosamples=Sorting(field_name='biosamples.biosample_id'), - bundles=Sorting(field_name=self.special_fields.bundle_uuid), - datasets=Sorting(field_name='datasets.dataset_id'), - donors=Sorting(field_name='donors.donor_id'), - files=Sorting(field_name='files.file_id'), - ) - - @property - def manifest_formats(self) -> Sequence[ManifestFormat]: - return [ - ManifestFormat.compact, - ManifestFormat.terra_pfb, - *iif(config.enable_replicas, [ - ManifestFormat.verbatim_jsonl, - ManifestFormat.verbatim_pfb - ]) - ] - - def transformer_types(self) -> Iterable[type[BaseTransformer]]: - return ( - ActivityTransformer, - BiosampleTransformer, - BundleTransformer, - DatasetTransformer, - DonorTransformer, - FileTransformer, - ) - - def transformers(self, - bundle: AnvilBundle, - *, - delete: bool - ) -> Iterable[BaseTransformer]: - return [ - transformer_cls(bundle=bundle, deleted=delete) - for transformer_cls in self.transformer_types() - ] - - def mapping(self, index_name: IndexName) -> MutableJSON: - mapping = super().mapping(index_name) - if index_name.doc_type in (DocumentType.contribution, DocumentType.aggregate): - def range_mapping(name: str, path: str) -> MutableJSON: - return { - name: { - 'path_match': path, - 'mapping': self.range_mapping - } - } - - mapping['dynamic_templates'].extend([ - range_mapping('biosample_age_range', 'contents.biosamples.donor_age_at_collection'), - range_mapping('diagnosis_age_range', 'contents.diagnoses.diagnosis_age'), - range_mapping('diagnosis_onset_age_range', 'contents.diagnoses.diagnosis_onset_age') - ]) - return mapping - - @property - def _field_mapping(self) -> MetadataPlugin._FieldMapping: - common_fields = [ - 'document_id', - 'source_datarepo_row_ids' - ] - return { - 'entity_id': 'entryId', - 'bundles': { - # These field paths have a brittle coupling that must be - # maintained to the field lookups in `self.manifest_config`. - 'uuid': self.special_fields.bundle_uuid, - 'version': self.special_fields.bundle_version - }, - 'sources': { - # These field paths have a brittle coupling that must be - # maintained to the field lookups in `self.manifest_config`. - 'id': self.special_fields.source_id, - 'spec': self.special_fields.source_spec - }, - 'contents': { - 'datasets': { - f: f'datasets.{f}' for f in [ - *common_fields, - 'dataset_id', - 'consent_group', - 'data_use_permission', - 'owner', - 'principal_investigator', - 'registered_identifier', - 'title', - 'data_modality', - # This field path has a brittle coupling that must be - # maintained to the field lookup in - # `self.manifest_config`. - 'duos_id', - ] - }, - 'donors': { - f: f'donors.{f}' for f in [ - *common_fields, - 'donor_id', - 'organism_type', - 'phenotypic_sex', - 'reported_ethnicity', - 'genetic_ancestry', - ] - }, - 'diagnoses': { - f: f'diagnoses.{f}' for f in [ - *common_fields, - 'diagnosis_id', - 'disease', - 'diagnosis_age_unit', - 'diagnosis_age', - 'onset_age_unit', - 'onset_age', - 'phenotype', - 'phenopacket' - ] - }, - 'biosamples': { - f: f'biosamples.{f}' for f in [ - *common_fields, - 'biosample_id', - 'anatomical_site', - 'apriori_cell_type', - 'biosample_type', - 'disease', - 'donor_age_at_collection_unit', - 'donor_age_at_collection', - ] - }, - 'activities': { - f: f'activities.{f}' for f in [ - *common_fields, - 'activity_id', - # This field path has a brittle coupling that must be - # maintained to the field lookup in - # `self.manifest_config`. - 'activity_table', - 'activity_type', - 'assay_type', - 'data_modality', - 'reference_assembly', - ] - }, - 'files': { - **{ - f: f'files.{f}' for f in [ - *common_fields, - 'file_id', - 'data_modality', - 'file_format', - 'file_size', - 'file_md5sum', - 'reference_assembly', - 'file_name', - 'is_supplementary', - # Not in schema - 'crc32', - 'sha256', - 'drs_uri', - ] - }, - # These field names are hard-coded in the implementation of - # the repository service/controller. Also, these field paths - # have a brittle coupling that must be maintained to the - # field lookups in `self.manifest_config`. - **{ - # Not in schema - 'version': 'fileVersion', - 'uuid': 'fileId', - } - } - } - } - - @property - def special_fields(self) -> SpecialFields: - return SpecialFields(source_id='source_id', - source_spec='source_spec', - bundle_uuid='bundle_uuid', - bundle_version='bundle_version', - root_entity_id='datasets.dataset_id') - - @property - def root_entity_type(self) -> str: - return 'datasets' - - @property - def facets(self) -> Sequence[str]: - return [ - *super().facets, - 'activities.activity_type', - 'activities.assay_type', - 'activities.data_modality', - 'biosamples.anatomical_site', - 'biosamples.biosample_type', - 'biosamples.disease', - 'diagnoses.disease', - 'diagnoses.phenotype', - 'diagnoses.phenopacket', - 'datasets.consent_group', - 'datasets.data_use_permission', - 'datasets.registered_identifier', - 'datasets.title', - 'donors.organism_type', - 'donors.phenotypic_sex', - 'donors.reported_ethnicity', - 'files.data_modality', - 'files.file_format', - 'files.reference_assembly', - 'files.is_supplementary', - ] - - @property - def manifest_config(self) -> ManifestConfig: - result = defaultdict(dict) - - # Note that there is a brittle coupling that must be maintained between - # the fields listed here and those used in `self._field_mapping`. - fields_to_omit_from_manifest = [ - ('contents', 'activities', 'activity_table'), - # We omit the `duos_id` field from manifests since there is only one - # DUOS bundle per dataset, and that bundle only contributes to outer - # entities of the `datasets` type, not to entities of the other - # types, such as files, which the manifest is generated from. - ('contents', 'datasets', 'duos_id'), - ('contents', 'files', 'uuid'), - ('contents', 'files', 'version'), - ] - - # Furthermore, renamed values should match the field's path in a - # response hit from the `/index/files` endpoint. - fields_to_rename_in_manifest = { - ('bundles', 'uuid'): 'bundles.bundle_uuid', - ('bundles', 'version'): 'bundles.bundle_version', - ('sources', 'id'): 'sources.source_id', - ('sources', 'spec'): 'sources.source_spec', - } - - def recurse(mapping: MetadataPlugin._FieldMapping, path: FieldPath): - for path_element, name_or_type in mapping.items(): - new_path = (*path, path_element) - if isinstance(name_or_type, dict): - recurse(name_or_type, new_path) - elif isinstance(name_or_type, str): - if new_path == ('entity_id',): - pass - elif new_path in fields_to_omit_from_manifest: - result[path][path_element] = None - fields_to_omit_from_manifest.remove(new_path) - elif new_path in fields_to_rename_in_manifest: - result[path][path_element] = fields_to_rename_in_manifest.pop(new_path) - else: - result[path][path_element] = name_or_type - else: - assert False, (path, path_element, name_or_type) - - recurse(self._field_mapping, ()) - assert len(fields_to_omit_from_manifest) == 0, fields_to_omit_from_manifest - assert len(fields_to_rename_in_manifest) == 0, fields_to_rename_in_manifest - # The file URL is synthesized from the `uuid` and `version` fields. - # Above, we already configured these two fields to be omitted from the - # manifest since they are not informative to the user. - result[('contents', 'files')]['file_url'] = 'files.azul_file_url' - return result - - primary_keys_by_table = { - table['name']: one(table['primaryKey']) - for table in anvil_schema['tables'] - } - - foreign_keys_by_table = { - table['name']: [ - (r['to']['table'], r['from']['column']) - for r in anvil_schema['relationships'] - if r['from']['table'] == table['name'] - ] - for table in anvil_schema['tables'] - } - - def verbatim_pfb_entity_id(self, replica: JSON) -> str: - replica_type = replica['replica_type'] - try: - primary_key = self.primary_keys_by_table[replica_type] - except KeyError: - if replica_type == 'duos_dataset_registration': - return replica['contents']['duos_id'] - else: - return super().verbatim_pfb_entity_id(replica) - else: - return replica['contents'][primary_key] - - def verbatim_pfb_relations(self, replica: JSON) -> list[tuple[str, str]]: - table_name, contents = replica['replica_type'], replica['contents'] - try: - foreign_keys = self.foreign_keys_by_table[table_name] - except KeyError: - if table_name == 'duos_dataset_registration': - return [('anvil_dataset', contents['dataset_id'])] - else: - return super().verbatim_pfb_relations(replica) - else: - return [ - (foreign_table_name, foreign_key) - for (foreign_table_name, foreign_key_column) in foreign_keys - # AnVIL foreign keys may be either scalars (e.g. `anvil_diagnosis.donor_id`) - # or arrays (e.g. `anvil_activity.used_file_id`). Scalar foreign keys may be - # null; we should never observe null values in array columns thanks to - # BigQuery's type semantics: - # https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#array_nulls - for foreign_key in always_iterable(contents[foreign_key_column]) - ] - - def verbatim_pfb_links(self, replica_type: str) -> MutableJSONs: - return ( - [ - { - 'dst': 'anvil_dataset', - 'name': '', - 'multiplicity': 'ONE_TO_ONE' - } - ] - if replica_type == 'duos_dataset_registration' else - [ - { - 'dst': r['to']['table'], - 'name': r['name'], - # Each link is between a foreign key and a primary key. - # Primary keys are unique within their own table, but - # multiple rows in other tables can reference them. - 'multiplicity': 'MANY_TO_ONE', - } - for r in anvil_schema['relationships'] - if r['from']['table'] == replica_type - ] - ) - - def verbatim_pfb_schema(self, replicas: list[JSON]) -> list[JSON]: - table_schemas_by_name = { - schema['name']: schema - for schema in anvil_schema['tables'] - } - non_schema_replicas = [ - r for r in replicas - if r['replica_type'] not in table_schemas_by_name - ] - # For tables not described by the AnVIL schema, fall back to building - # their PFB schema dynamically from the shapes of the replicas - entity_schemas = super().verbatim_pfb_schema(non_schema_replicas) - # For the rest, use the AnVIL schema as the basis of the PFB schema - for table_name, table_schema in table_schemas_by_name.items(): - field_schemas = [ - self._pfb_schema_from_anvil_column(table_name=table_name, - column_name='datarepo_row_id', - anvil_datatype='string', - is_optional=False) - ] - if table_name == 'anvil_file': - field_schemas.append(self._pfb_schema_from_anvil_column(table_name=table_name, - column_name='drs_uri', - anvil_datatype='string')) - for column_schema in table_schema['columns']: - field_schemas.append( - self._pfb_schema_from_anvil_column(table_name=table_name, - column_name=column_schema['name'], - anvil_datatype=column_schema['datatype'], - is_array=column_schema['array_of'], - is_optional=not column_schema['required']) - ) - - field_schemas.sort(key=itemgetter('name')) - entity_schemas.append({ - 'name': table_name, - 'type': 'record', - 'fields': field_schemas - }) - return entity_schemas - - def _pfb_schema_from_anvil_column(self, - *, - table_name: str, - column_name: str, - anvil_datatype: str, - is_array: bool = False, - is_optional: bool = True, - ) -> AnyMutableJSON: - _anvil_to_pfb_types = { - 'boolean': 'boolean', - 'float': 'double', - 'integer': 'long', - 'string': 'string', - 'fileref': 'string' - } - type_ = _anvil_to_pfb_types[anvil_datatype] - if is_optional: - type_ = ['null', type_] - if is_array: - type_ = { - 'type': 'array', - 'items': type_ - } - return { - 'name': column_name, - 'namespace': table_name, - 'type': type_, - } - - def document_slice(self, entity_type: str) -> DocumentSlice | None: - return None - - @property - def summary_response_stage(self) -> 'type[AnvilSummaryResponseStage]': - return AnvilSummaryResponseStage - - @property - def search_response_stage(self) -> 'type[AnvilSearchResponseStage]': - return AnvilSearchResponseStage - - @property - def summary_aggregation_stage(self) -> 'type[AnvilSummaryAggregationStage]': - return AnvilSummaryAggregationStage - - @property - def aggregation_stage(self) -> 'type[AnvilAggregationStage]': - return AnvilAggregationStage - - @property - def filter_stage(self) -> 'type[AnvilFilterStage]': - return AnvilFilterStage - - @property - def file_class(self) -> type[File]: - return AnvilFile - - -@frozen(kw_only=True) -class AnvilFile(File): - #: MD5 hash of the file's contents - md5: str - - @classmethod - def from_hit(cls, hit: JSON) -> Self: - return cls(uuid=hit['document_id'], - version=hit['version'], - name=hit['file_name'], - size=hit['file_size'], - drs_uri=hit['drs_uri'], - md5=hit['file_md5sum']) - - @property - def digest(self) -> Digest: - return Digest(value=self.md5, type='md5') diff --git a/src/azul/plugins/metadata/anvil/bundle.py b/src/azul/plugins/metadata/anvil/bundle.py deleted file mode 100644 index 7eedfab6b2..0000000000 --- a/src/azul/plugins/metadata/anvil/bundle.py +++ /dev/null @@ -1,121 +0,0 @@ -from abc import ( - ABCMeta, -) -from collections import ( - defaultdict, -) -from itertools import ( - chain, -) -from typing import ( - Mapping, - Self, -) - -import attrs - -from azul.attrs import ( - SerializableAttrs, - serializable, -) -from azul.collections import ( - aset, - none_safe_apply, -) -from azul.indexer import ( - Bundle, - SourcedBundleFQID, -) -from azul.indexer.document import ( - EntityReference, - EntityType, -) -from azul.types import ( - MutableJSON, -) - -# AnVIL snapshots do not use UUIDs for primary/foreign keys. This type alias -# helps us distinguish these keys from the document UUIDs, which are drawn from -# the `datarepo_row_id` column. Note that entities from different tables may -# have the same key, so `KeyReference` should be used when mixing keys from -# different entity types. -Key = str - - -@attrs.frozen(kw_only=True) -class KeyReference(SerializableAttrs): - key: Key - entity_type: EntityType - - -def ref_set_field(): - return serializable(attrs.field(), - from_json=lambda x: frozenset(map(EntityReference.parse, x)), - to_json=lambda x: sorted(map(str, x))) - - -@attrs.frozen(kw_only=True, order=False) -class Link[REF: EntityReference | KeyReference](SerializableAttrs): - inputs: frozenset[REF] = ref_set_field() - activity: REF | None = None - outputs: frozenset[REF] = ref_set_field() - - @property - def all_entities(self) -> frozenset[REF]: - return self.inputs | self.outputs | aset(self.activity) - - @classmethod - def group_by_activity(cls, links: set[Self]): - """ - Merge links that share the same (non-null) activity. - """ - groups_by_activity: Mapping[KeyReference, set[Self]] = defaultdict(set) - for link in links: - if link.activity is not None: - groups_by_activity[link.activity].add(link) - for activity, group in groups_by_activity.items(): - if len(group) > 1: - links -= group - merged_link = cls(inputs=frozenset.union(*[link.inputs for link in group]), - activity=activity, - outputs=frozenset.union(*[link.outputs for link in group])) - links.add(merged_link) - - def __lt__(self, other: Self) -> bool: - return min(self.inputs) < min(other.inputs) - - -class EntityLink(Link[EntityReference]): - pass - - -class KeyLink(Link[KeyReference]): - - def to_entity_link(self, - entities_by_key: Mapping[KeyReference, EntityReference] - ) -> EntityLink: - lookup = entities_by_key.__getitem__ - return EntityLink(inputs=frozenset(map(lookup, self.inputs)), - activity=none_safe_apply(lookup, self.activity), - outputs=frozenset(map(lookup, self.outputs))) - - -@attrs.define(kw_only=True) -class AnvilBundle[BUNDLE_FQID: SourcedBundleFQID](Bundle[BUNDLE_FQID], - metaclass=ABCMeta): - # The `entity_type` attribute of these keys contains the entities' BigQuery - # table name (e.g. `anvil_sequencingactivity`), not the entity type used for - # the contributions (e.g. `activities`). The metadata plugin converts from - # the former to the latter during transformation. - entities: dict[EntityReference, MutableJSON] = attrs.field(factory=dict) - links: set[EntityLink] = serializable( - attrs.field(factory=set), - from_json=lambda x: set(EntityLink.from_json(v) for v in x), - to_json=lambda x: [v.to_json() for v in sorted(x)] - ) - orphans: dict[EntityReference, MutableJSON] = attrs.field(factory=dict) - - def reject_joiner(self): - # We can skip the `links` attribute because the only strings it contains - # are UUIDs and table names - self._reject_joiner(chain(self.entities.values(), self.orphans.values())) diff --git a/src/azul/plugins/metadata/anvil/indexer/__init__.py b/src/azul/plugins/metadata/anvil/indexer/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/azul/plugins/metadata/anvil/indexer/aggregate.py b/src/azul/plugins/metadata/anvil/indexer/aggregate.py deleted file mode 100644 index 8c9ce9bad7..0000000000 --- a/src/azul/plugins/metadata/anvil/indexer/aggregate.py +++ /dev/null @@ -1,74 +0,0 @@ -from operator import ( - itemgetter, -) -from typing import ( - Any, -) - -from azul.collections import ( - compose_keys, - none_safe_tuple_key, -) -from azul.indexer.aggregate import ( - Accumulator, - DistinctAccumulator, - GroupingAggregator, - SetOfDictAccumulator, - SimpleAggregator, - SumAccumulator, -) -from azul.types import ( - JSON, -) - - -class ActivityAggregator(SimpleAggregator): - pass - - -class BiosampleAggregator(SimpleAggregator): - - def _accumulator(self, field: str) -> Accumulator | None: - if field == 'donor_age_at_collection': - return SetOfDictAccumulator(max_size=100, - key=compose_keys(none_safe_tuple_key(none_last=True), - itemgetter('lte', 'gte'))) - else: - return super()._accumulator(field) - - -class DatasetAggregator(SimpleAggregator): - pass - - -class DiagnosisAggregator(SimpleAggregator): - - def _accumulator(self, field: str) -> Accumulator | None: - if field in ('diagnosis_age', 'onset_age'): - return SetOfDictAccumulator(max_size=100, - key=compose_keys(none_safe_tuple_key(none_last=True), - itemgetter('lte', 'gte'))) - else: - return super()._accumulator(field) - - -class DonorAggregator(SimpleAggregator): - pass - - -class FileAggregator(GroupingAggregator): - - def _transform_entity(self, entity: JSON) -> JSON: - return super()._transform_entity(entity) | { - 'file_size': (entity['document_id'], entity['file_size']), - 'count': (entity['document_id'], 1) - } - - def _group_keys(self, entity) -> tuple[Any, ...]: - return entity['file_format'], - - def _accumulator(self, field: str) -> Accumulator | None: - if field in ('count', 'file_size'): - return DistinctAccumulator(SumAccumulator()) - else: - return super()._accumulator(field) diff --git a/src/azul/plugins/metadata/anvil/indexer/transform.py b/src/azul/plugins/metadata/anvil/indexer/transform.py deleted file mode 100644 index 2e2f26b6f6..0000000000 --- a/src/azul/plugins/metadata/anvil/indexer/transform.py +++ /dev/null @@ -1,681 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from collections import ( - ChainMap, - defaultdict, -) -from functools import ( - cached_property, - partial, -) -from itertools import ( - chain, -) -import logging -from operator import ( - attrgetter, -) -from typing import ( - AbstractSet, - Callable, - Collection, - Iterable, - Self, -) -from uuid import ( - UUID, -) - -import attr -from more_itertools import ( - one, -) - -from azul import ( - cache, - config, -) -from azul.collections import ( - deep_dict_merge, -) -from azul.indexer import ( - BundleFQID, - BundlePartition, -) -from azul.indexer.aggregate import ( - EntityAggregator, -) -from azul.indexer.document import ( - Contribution, - EntityID, - EntityReference, - EntityType, - Replica, -) -from azul.indexer.field import ( - FieldTypes, - null_bool, - null_int, - null_str, - pass_thru_int, - pass_thru_json, -) -from azul.indexer.transform import ( - ReplicaTransformer, - Transformer, -) -from azul.plugins.metadata.anvil.bundle import ( - AnvilBundle, - EntityLink, -) -from azul.plugins.metadata.anvil.indexer.aggregate import ( - ActivityAggregator, - BiosampleAggregator, - DatasetAggregator, - DiagnosisAggregator, - DonorAggregator, - FileAggregator, -) -from azul.strings import ( - pluralize, -) -from azul.types import ( - JSON, - MutableJSON, - MutableJSONs, -) - -log = logging.getLogger(__name__) - -EntityRefsByType = dict[EntityType, set[EntityReference]] - - -@attr.s(auto_attribs=True, kw_only=True, frozen=True) -class LinkedEntities: - origin: EntityReference - ancestors: EntityRefsByType - descendants: EntityRefsByType - - def __getitem__(self, item: EntityType) -> set[EntityReference]: - return self.ancestors[item] | self.descendants[item] - - def __iter__(self) -> Iterable[EntityReference]: - for entities in self.ancestors.values(): - yield from entities - for entities in self.descendants.values(): - yield from entities - - @classmethod - def from_links(cls, - origin: EntityReference, - links: Collection[EntityLink] - ) -> Self: - return cls(origin=origin, - ancestors=cls._search(origin, links, from_='outputs', to='inputs'), - descendants=cls._search(origin, links, from_='inputs', to='outputs')) - - @classmethod - def _search(cls, - entity_ref: EntityReference, - links: Collection[EntityLink], - entities: EntityRefsByType | None = None, - *, - from_: str, - to: str - ) -> EntityRefsByType: - entities = defaultdict(set) if entities is None else entities - if entity_ref.entity_type.endswith('activity'): - follow = [one(link for link in links if entity_ref == link.activity)] - else: - follow = [link for link in links if entity_ref in getattr(link, from_)] - for link in follow: - for relative in [link.activity, *getattr(link, to)]: - if relative is not None: - if relative != entity_ref and relative.entity_id not in entities[relative.entity_type]: - entities[relative.entity_type].add(relative) - cls._search(relative, links, entities, from_=from_, to=to) - return entities - - -@attr.s(frozen=True, kw_only=True, auto_attribs=True) -class BaseTransformer(Transformer, metaclass=ABCMeta): - bundle: AnvilBundle - - @classmethod - def field_types(cls) -> FieldTypes: - return { - 'activities': cls._activity_types(), - 'biosamples': cls._biosample_types(), - 'datasets': cls._dataset_types(), - 'diagnoses': cls._diagnosis_types(), - 'donors': cls._donor_types(), - 'files': cls._aggregate_file_types(), - } - - @classmethod - def aggregator(cls, entity_type) -> EntityAggregator: - if entity_type == 'activities': - agg_cls = ActivityAggregator - elif entity_type == 'biosamples': - agg_cls = BiosampleAggregator - elif entity_type == 'datasets': - agg_cls = DatasetAggregator - elif entity_type == 'diagnoses': - agg_cls = DiagnosisAggregator - elif entity_type == 'donors': - agg_cls = DonorAggregator - elif entity_type == 'files': - agg_cls = FileAggregator - else: - assert False, entity_type - return agg_cls(cls.entity_type(), entity_type) - - def estimate(self, partition: BundlePartition) -> int: - # Orphans are not considered when deciding whether to partition the - # bundle, but if the bundle is partitioned then each partition will only - # emit replicas for the orphans that it contains - return sum(map(partial(self._contains, partition), self.bundle.entities)) - - def transform(self, - partition: BundlePartition - ) -> Iterable[Contribution | Replica]: - for entity in self._list_entities(): - if self._contains(partition, entity): - yield from self._transform(entity) - - def _list_entities(self) -> Iterable[EntityReference]: - return self.bundle.entities - - @abstractmethod - def _transform(self, - entity: EntityReference - ) -> Iterable[Contribution | Replica]: - raise NotImplementedError - - def _replica_contents(self, entity: EntityReference) -> JSON: - return ChainMap(self.bundle.entities, self.bundle.orphans)[entity] - - def _convert_entity_type(self, entity_type: str) -> str: - assert entity_type == 'bundle' or entity_type.startswith('anvil_'), entity_type - if entity_type == 'anvil_diagnosis': - # Irregular plural form - return 'diagnoses' - elif entity_type.endswith('activity'): - # Polymorphic. Could be `anvil_sequencingactivity`, - # `anvil_assayactivity`, `anvil_activity`, etc - return 'activities' - else: - return pluralize(entity_type.removeprefix('anvil_')) - - def _contains(self, - partition: BundlePartition, - entity: EntityReference - ) -> bool: - return ( - self._convert_entity_type(entity.entity_type) == self.entity_type() - and partition.contains(UUID(entity.entity_id)) - ) - - @cached_property - def _entities_by_type(self) -> dict[EntityType, set[EntityReference]]: - entries = defaultdict(set) - for e in self.bundle.entities: - entries[e.entity_type].add(e) - return entries - - def _linked_entities(self, entity: EntityReference) -> LinkedEntities: - return LinkedEntities.from_links(entity, self.bundle.links) - - @classmethod - def _entity_types(cls) -> FieldTypes: - return { - 'document_id': null_str, - 'source_datarepo_row_ids': [null_str] - } - - @classmethod - def _activity_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - 'activity_id': null_str, - 'activity_table': null_str, - 'activity_type': null_str, - 'assay_type': null_str, - 'data_modality': null_str, - 'reference_assembly': [null_str], - } - - @classmethod - def _biosample_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - 'biosample_id': null_str, - 'anatomical_site': null_str, - 'apriori_cell_type': [null_str], - 'biosample_type': null_str, - 'disease': null_str, - 'donor_age_at_collection_unit': null_str, - 'donor_age_at_collection': pass_thru_json, - } - - @classmethod - def _dataset_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - 'dataset_id': null_str, - 'consent_group': [null_str], - 'data_use_permission': [null_str], - 'owner': [null_str], - 'principal_investigator': [null_str], - 'registered_identifier': [null_str], - 'title': null_str, - 'data_modality': [null_str], - } - - @classmethod - def _diagnosis_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - 'diagnosis_id': null_str, - 'disease': [null_str], - 'diagnosis_age_unit': null_str, - 'diagnosis_age': pass_thru_json, - 'onset_age_unit': null_str, - 'onset_age': pass_thru_json, - 'phenotype': [null_str], - 'phenopacket': [null_str] - } - - @classmethod - def _donor_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - 'donor_id': null_str, - 'organism_type': null_str, - 'phenotypic_sex': null_str, - 'reported_ethnicity': null_str, - 'genetic_ancestry': [null_str], - } - - @classmethod - def _file_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - 'file_id': null_str, - 'data_modality': [null_str], - 'file_format': null_str, - 'file_size': null_int, - 'file_md5sum': null_str, - 'reference_assembly': [null_str], - 'file_name': null_str, - 'is_supplementary': null_bool, - # Not in schema - 'version': null_str, - # FIXME: Redundant file fields for AnVIL are no longer needed - # https://github.com/DataBiosphere/azul/issues/7005 - 'uuid': null_str, - 'size': null_int, - 'name': null_str, - 'crc32': null_str, - 'sha256': null_str, - 'drs_uri': null_str - } - - @classmethod - def _aggregate_file_types(cls) -> FieldTypes: - return { - **cls._file_types(), - 'count': pass_thru_int # Added by FileAggregator, ever null - } - - def _range(self, entity: EntityReference, *field_prefixes: str) -> MutableJSON: - metadata = self.bundle.entities[entity] - - def get_bound(field_name: str) -> float | None: - val = metadata[field_name] - return None if val is None else float(val) - - return { - field_prefix: { - 'gte': get_bound(field_prefix + '_lower_bound'), - 'lte': get_bound(field_prefix + '_upper_bound') - } - for field_prefix in field_prefixes - } - - def _entity(self, - entity: EntityReference, - field_types: FieldTypes, - **additional_fields - ) -> MutableJSON: - metadata = self.bundle.entities[entity] - field_values = ChainMap(metadata, - {'document_id': entity.entity_id}, - additional_fields) - return { - field: field_values[field] - for field in field_types - } - - def _entities(self, - factory: Callable[[EntityReference], MutableJSON], - entities: Iterable[EntityReference], - ) -> MutableJSONs: - return [ - factory(entity) - for entity in sorted(entities, key=attrgetter('entity_id')) - ] - - def _activity(self, activity: EntityReference) -> MutableJSON: - metadata = self.bundle.entities[activity] - field_types = self._activity_types() - common_fields = { - 'activity_table': activity.entity_type, - 'activity_id': metadata[f'{activity.entity_type.removeprefix("anvil_")}_id'] - } - # Activities are unique in that they may not contain every field defined - # in their field types due to polymorphism, so we need to pad the field - # values with nulls. - union_fields = { - field_name: [None] if isinstance(field_type, list) else None - for field_name, field_type in field_types.items() - if field_name not in common_fields - } - activity = self._entity(activity, - self._activity_types(), - **common_fields, - **union_fields) - - return activity - - def _biosample(self, biosample: EntityReference) -> MutableJSON: - return self._entity(biosample, - self._biosample_types(), - **self._range(biosample, 'donor_age_at_collection')) - - def _dataset(self, dataset: EntityReference) -> MutableJSON: - return self._entity(dataset, self._dataset_types()) - - def _diagnosis(self, diagnosis: EntityReference) -> MutableJSON: - return self._entity(diagnosis, - self._diagnosis_types(), - **self._range(diagnosis, 'diagnosis_age', 'onset_age')) - - def _donor(self, donor: EntityReference) -> MutableJSON: - return self._entity(donor, self._donor_types()) - - def _file(self, file: EntityReference) -> MutableJSON: - metadata = self.bundle.entities[file] - return self._entity(file, - self._file_types(), - size=metadata['file_size'], - name=metadata['file_name'], - uuid=file.entity_id) - - def _only_dataset(self) -> EntityReference: - try: - return one(self._entities_by_type['anvil_dataset']) - except ValueError: - return one(o for o in self.bundle.orphans if o.entity_type == 'anvil_dataset') - - @cached_property - def _activity_polymorphic_types(self) -> AbstractSet[str]: - from azul.plugins.metadata.anvil import ( - anvil_schema, - ) - return { - table['name'] - for table in anvil_schema['tables'] - if table['name'].endswith('activity') - } - - @classmethod - def inner_entity_id(cls, entity_type: EntityType, entity: JSON) -> EntityID: - return entity['document_id'] - - @classmethod - def reconcile_inner_entities(cls, - entity_type: EntityType, - *, - this: tuple[JSON, BundleFQID], - that: tuple[JSON, BundleFQID] - ) -> tuple[JSON, BundleFQID]: - this_entity, this_bundle = this - that_entity, that_bundle = that - # All AnVIL bundles use a fixed known version - assert this_bundle.version == that_bundle.version, (this, that) - if this_entity.keys() == that_entity.keys(): - return this - else: - assert entity_type == 'datasets', (entity_type, this, that) - expected_keys = cls._complete_dataset_keys() - # There will be one contribution for a DUOS stub, and many redundant - # contributions (one per non-DUOS bundle) for the dataset metadata - # from BigQuery. Once the stub has been merged with a single main - # contribution to consolidate all expected fields, we can disregard - # the other contributions as usual. - if this_entity.keys() == expected_keys: - return this - elif that_entity.keys() == expected_keys: - return that - else: - assert this_entity.keys() < expected_keys, this - assert that_entity.keys() < expected_keys, that - merged = deep_dict_merge(this_entity, that_entity) - assert merged.keys() == expected_keys, (this, that) - # We can safely discard that_bundle because only the version is - # used by the caller, and we know the versions are equal. - return merged, this_bundle - - @classmethod - @cache - def _complete_dataset_keys(cls) -> AbstractSet[str]: - return cls.field_types()['datasets'].keys() - - -class SingletonTransformer(BaseTransformer, metaclass=ABCMeta): - - def _transform(self, entity: EntityReference) -> Iterable[Contribution]: - contents = dict( - activities=self._entities(self._activity, chain.from_iterable( - self._entities_by_type[activity_type] - for activity_type in self._activity_polymorphic_types - )), - biosamples=self._entities(self._biosample, self._entities_by_type['anvil_biosample']), - datasets=[self._dataset(self._only_dataset())], - diagnoses=self._entities(self._diagnosis, self._entities_by_type['anvil_diagnosis']), - donors=self._entities(self._donor, self._entities_by_type['anvil_donor']), - files=self._entities(self._file, self._entities_by_type['anvil_file']) - ) - yield self._contribution(contents, entity.entity_id) - - @classmethod - def field_types(cls) -> FieldTypes: - return deep_dict_merge( - super().field_types(), - {'datasets': cls._duos_types()} - ) - - @classmethod - def _duos_types(cls) -> FieldTypes: - return { - 'document_id': null_str, - 'description': null_str, - 'duos_id': null_str, - } - - def _duos(self, dataset: EntityReference) -> MutableJSON: - return self._entity(dataset, self._duos_types()) - - def _is_duos(self, dataset: EntityReference) -> bool: - try: - contents = self.bundle.entities[dataset] - except KeyError: - return False - else: - return 'duos_id' in contents - - def _dataset(self, dataset: EntityReference) -> MutableJSON: - if self._is_duos(dataset): - return self._duos(dataset) - else: - return super()._dataset(dataset) - - def _replica_type(self, entity: EntityReference) -> str: - if entity.entity_type == 'anvil_dataset' and self._is_duos(entity): - return 'duos_dataset_registration' - else: - return super()._replica_type(entity) - - def _list_entities(self) -> Iterable[EntityReference]: - # Suppress contributions for bundles that only contain orphans - if self.bundle.entities: - yield self._singleton() - - @abstractmethod - def _singleton(self) -> EntityReference: - raise NotImplementedError - - -class ActivityTransformer(BaseTransformer): - - @classmethod - def entity_type(cls) -> str: - return 'activities' - - def _transform(self, entity: EntityReference) -> Iterable[Contribution]: - linked = self._linked_entities(entity) - contents = dict( - activities=[self._activity(entity)], - biosamples=self._entities(self._biosample, linked['anvil_biosample']), - datasets=[self._dataset(self._only_dataset())], - diagnoses=self._entities(self._diagnosis, linked['anvil_diagnosis']), - donors=self._entities(self._donor, linked['anvil_donor']), - files=self._entities(self._file, linked['anvil_file']) - ) - yield self._contribution(contents, entity.entity_id) - - -class BiosampleTransformer(BaseTransformer): - - @classmethod - def entity_type(cls) -> str: - return 'biosamples' - - def _transform(self, entity: EntityReference) -> Iterable[Contribution]: - linked = self._linked_entities(entity) - contents = dict( - activities=self._entities(self._activity, chain.from_iterable( - linked[activity_type] - for activity_type in self._activity_polymorphic_types - )), - biosamples=[self._biosample(entity)], - datasets=[self._dataset(self._only_dataset())], - diagnoses=self._entities(self._diagnosis, linked['anvil_diagnosis']), - donors=self._entities(self._donor, linked['anvil_donor']), - files=self._entities(self._file, linked['anvil_file']), - ) - yield self._contribution(contents, entity.entity_id) - - -class BundleTransformer(SingletonTransformer): - - @classmethod - def entity_type(cls) -> EntityType: - return 'bundles' - - def _singleton(self) -> EntityReference: - return EntityReference(entity_type='bundle', - entity_id=self.bundle.uuid) - - def transform(self, - partition: BundlePartition - ) -> Iterable[Contribution | Replica]: - yield from super().transform(partition) - if config.enable_replicas: - # The file transformer only emits replicas for entities that are - # linked to at least one file. This excludes all orphans, and a - # small number of linked entities, usually from primary bundles - # don't include any files. Some of the replicas we emit here will be - # redundant with those emitted by the file transformer, but these - # will be consolidated by the index service before they are written - # to ElasticSearch. - dataset = self._only_dataset() - for entity in chain(self.bundle.orphans, self.bundle.entities): - if partition.contains(UUID(entity.entity_id)): - yield self._replica(entity, file_hub=None, root_hub=dataset.entity_id) - - -class DatasetTransformer(SingletonTransformer): - - @classmethod - def entity_type(cls) -> str: - return 'datasets' - - def _singleton(self) -> EntityReference: - return self._only_dataset() - - -class DonorTransformer(BaseTransformer): - - @classmethod - def entity_type(cls) -> str: - return 'donors' - - def _transform(self, entity: EntityReference) -> Iterable[Contribution]: - linked = self._linked_entities(entity) - contents = dict( - activities=self._entities(self._activity, chain.from_iterable( - linked[activity_type] - for activity_type in self._activity_polymorphic_types - )), - biosamples=self._entities(self._biosample, linked['anvil_biosample']), - datasets=[self._dataset(self._only_dataset())], - diagnoses=self._entities(self._diagnosis, linked['anvil_diagnosis']), - donors=[self._donor(entity)], - files=self._entities(self._file, linked['anvil_file']), - ) - yield self._contribution(contents, entity.entity_id) - - -class FileTransformer(BaseTransformer, ReplicaTransformer): - - @classmethod - def entity_type(cls) -> str: - return 'files' - - @classmethod - def hot_entity_types(cls) -> dict[EntityType, EntityType]: - return { - 'anvil_dataset': 'datasets', - } - - def _transform(self, - entity: EntityReference - ) -> Iterable[Contribution | Replica]: - linked = self._linked_entities(entity) - dataset = self._only_dataset() - contents = dict( - activities=self._entities(self._activity, chain.from_iterable( - linked[activity_type] - for activity_type in self._activity_polymorphic_types - )), - biosamples=self._entities(self._biosample, linked['anvil_biosample']), - datasets=[self._dataset(self._only_dataset())], - diagnoses=self._entities(self._diagnosis, linked['anvil_diagnosis']), - donors=self._entities(self._donor, linked['anvil_donor']), - files=[self._file(entity)], - ) - file_id = entity.entity_id - yield self._contribution(contents, file_id) - if config.enable_replicas: - dataset_id = dataset.entity_id - yield self._replica(entity, file_hub=file_id, root_hub=dataset_id) - for linked_entity in linked: - yield self._replica( - linked_entity, - file_hub=None if linked_entity.entity_type in self.hot_entity_types() else file_id, - root_hub=dataset_id - ) diff --git a/src/azul/plugins/metadata/anvil/schema.py b/src/azul/plugins/metadata/anvil/schema.py deleted file mode 100644 index b0cea08384..0000000000 --- a/src/azul/plugins/metadata/anvil/schema.py +++ /dev/null @@ -1,898 +0,0 @@ -""" -Auto-generated by scripts/download_anvil_schema.py - -Do not edit this file directly. - -Instead, update the script and run `make anvil_schema` -""" - -anvil_schema = { - 'version': 5, - 'tables': [ - { - 'name': 'anvil_activity', - 'columns': [ - { - 'name': 'activity_id', - 'datatype': 'string', - 'array_of': False, - 'required': True - }, - { - 'name': 'activity_type', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'used_file_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'generated_file_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'used_biosample_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'source_datarepo_row_ids', - 'datatype': 'string', - 'array_of': True, - 'required': False - } - ], - 'primaryKey': [ - 'activity_id' - ], - 'partitionMode': 'none', - 'datePartitionOptions': None, - 'intPartitionOptions': None - }, - { - 'name': 'anvil_alignmentactivity', - 'columns': [ - { - 'name': 'alignmentactivity_id', - 'datatype': 'string', - 'array_of': False, - 'required': True - }, - { - 'name': 'activity_type', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'data_modality', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'generated_file_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'used_file_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'reference_assembly', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'source_datarepo_row_ids', - 'datatype': 'string', - 'array_of': True, - 'required': False - } - ], - 'primaryKey': [ - 'alignmentactivity_id' - ], - 'partitionMode': 'none', - 'datePartitionOptions': None, - 'intPartitionOptions': None - }, - { - 'name': 'anvil_antibody', - 'columns': [ - { - 'name': 'antibody_id', - 'datatype': 'string', - 'array_of': False, - 'required': True - }, - { - 'name': 'target', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'source_datarepo_row_ids', - 'datatype': 'string', - 'array_of': True, - 'required': False - } - ], - 'primaryKey': [ - 'antibody_id' - ], - 'partitionMode': 'none', - 'datePartitionOptions': None, - 'intPartitionOptions': None - }, - { - 'name': 'anvil_assayactivity', - 'columns': [ - { - 'name': 'assayactivity_id', - 'datatype': 'string', - 'array_of': False, - 'required': True - }, - { - 'name': 'activity_type', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'antibody_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'assay_type', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'data_modality', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'generated_file_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'used_biosample_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'source_datarepo_row_ids', - 'datatype': 'string', - 'array_of': True, - 'required': False - } - ], - 'primaryKey': [ - 'assayactivity_id' - ], - 'partitionMode': 'none', - 'datePartitionOptions': None, - 'intPartitionOptions': None - }, - { - 'name': 'anvil_biosample', - 'columns': [ - { - 'name': 'biosample_id', - 'datatype': 'string', - 'array_of': False, - 'required': True - }, - { - 'name': 'anatomical_site', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'apriori_cell_type', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'biosample_type', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'disease', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'donor_age_at_collection_unit', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'donor_age_at_collection_lower_bound', - 'datatype': 'float', - 'array_of': False, - 'required': False - }, - { - 'name': 'donor_age_at_collection_upper_bound', - 'datatype': 'float', - 'array_of': False, - 'required': False - }, - { - 'name': 'donor_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'part_of_dataset_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'source_datarepo_row_ids', - 'datatype': 'string', - 'array_of': True, - 'required': False - } - ], - 'primaryKey': [ - 'biosample_id' - ], - 'partitionMode': 'none', - 'datePartitionOptions': None, - 'intPartitionOptions': None - }, - { - 'name': 'anvil_dataset', - 'columns': [ - { - 'name': 'dataset_id', - 'datatype': 'string', - 'array_of': False, - 'required': True - }, - { - 'name': 'consent_group', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'data_use_permission', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'owner', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'principal_investigator', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'registered_identifier', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'title', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'data_modality', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'source_datarepo_row_ids', - 'datatype': 'string', - 'array_of': True, - 'required': False - } - ], - 'primaryKey': [ - 'dataset_id' - ], - 'partitionMode': 'none', - 'datePartitionOptions': None, - 'intPartitionOptions': None - }, - { - 'name': 'anvil_diagnosis', - 'columns': [ - { - 'name': 'diagnosis_id', - 'datatype': 'string', - 'array_of': False, - 'required': True - }, - { - 'name': 'donor_id', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'disease', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'diagnosis_age_unit', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'diagnosis_age_lower_bound', - 'datatype': 'float', - 'array_of': False, - 'required': False - }, - { - 'name': 'diagnosis_age_upper_bound', - 'datatype': 'float', - 'array_of': False, - 'required': False - }, - { - 'name': 'onset_age_unit', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'onset_age_lower_bound', - 'datatype': 'float', - 'array_of': False, - 'required': False - }, - { - 'name': 'onset_age_upper_bound', - 'datatype': 'float', - 'array_of': False, - 'required': False - }, - { - 'name': 'phenotype', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'phenopacket', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'source_datarepo_row_ids', - 'datatype': 'string', - 'array_of': True, - 'required': False - } - ], - 'primaryKey': [ - 'diagnosis_id' - ], - 'partitionMode': 'none', - 'datePartitionOptions': None, - 'intPartitionOptions': None - }, - { - 'name': 'anvil_donor', - 'columns': [ - { - 'name': 'donor_id', - 'datatype': 'string', - 'array_of': False, - 'required': True - }, - { - 'name': 'organism_type', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'part_of_dataset_id', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'phenotypic_sex', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'reported_ethnicity', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'genetic_ancestry', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'source_datarepo_row_ids', - 'datatype': 'string', - 'array_of': True, - 'required': False - } - ], - 'primaryKey': [ - 'donor_id' - ], - 'partitionMode': 'none', - 'datePartitionOptions': None, - 'intPartitionOptions': None - }, - { - 'name': 'anvil_file', - 'columns': [ - { - 'name': 'file_id', - 'datatype': 'string', - 'array_of': False, - 'required': True - }, - { - 'name': 'data_modality', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'file_format', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'file_size', - 'datatype': 'integer', - 'array_of': False, - 'required': False - }, - { - 'name': 'file_md5sum', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'reference_assembly', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'file_name', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'file_ref', - 'datatype': 'fileref', - 'array_of': False, - 'required': False - }, - { - 'name': 'is_supplementary', - 'datatype': 'boolean', - 'array_of': False, - 'required': False - }, - { - 'name': 'source_datarepo_row_ids', - 'datatype': 'string', - 'array_of': True, - 'required': False - } - ], - 'primaryKey': [ - 'file_id' - ], - 'partitionMode': 'none', - 'datePartitionOptions': None, - 'intPartitionOptions': None - }, - { - 'name': 'anvil_project', - 'columns': [ - { - 'name': 'project_id', - 'datatype': 'string', - 'array_of': False, - 'required': True - }, - { - 'name': 'funded_by', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'generated_dataset_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'principal_investigator', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'title', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'registered_identifier', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'source_datarepo_row_ids', - 'datatype': 'string', - 'array_of': True, - 'required': False - } - ], - 'primaryKey': [ - 'project_id' - ], - 'partitionMode': 'none', - 'datePartitionOptions': None, - 'intPartitionOptions': None - }, - { - 'name': 'anvil_sequencingactivity', - 'columns': [ - { - 'name': 'sequencingactivity_id', - 'datatype': 'string', - 'array_of': False, - 'required': True - }, - { - 'name': 'activity_type', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'assay_type', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'data_modality', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'generated_file_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'used_biosample_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'source_datarepo_row_ids', - 'datatype': 'string', - 'array_of': True, - 'required': False - } - ], - 'primaryKey': [ - 'sequencingactivity_id' - ], - 'partitionMode': 'none', - 'datePartitionOptions': None, - 'intPartitionOptions': None - }, - { - 'name': 'anvil_variantcallingactivity', - 'columns': [ - { - 'name': 'variantcallingactivity_id', - 'datatype': 'string', - 'array_of': False, - 'required': True - }, - { - 'name': 'activity_type', - 'datatype': 'string', - 'array_of': False, - 'required': False - }, - { - 'name': 'used_file_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'generated_file_id', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'reference_assembly', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'data_modality', - 'datatype': 'string', - 'array_of': True, - 'required': False - }, - { - 'name': 'source_datarepo_row_ids', - 'datatype': 'string', - 'array_of': True, - 'required': False - } - ], - 'primaryKey': [ - 'variantcallingactivity_id' - ], - 'partitionMode': 'none', - 'datePartitionOptions': None, - 'intPartitionOptions': None - } - ], - 'relationships': [ - { - 'name': 'from_activity.used_file_id_to_file.file_id', - 'from': { - 'table': 'anvil_activity', - 'column': 'used_file_id' - }, - 'to': { - 'table': 'anvil_file', - 'column': 'file_id' - } - }, - { - 'name': 'from_activity.generated_file_id_to_file.file_id', - 'from': { - 'table': 'anvil_activity', - 'column': 'generated_file_id' - }, - 'to': { - 'table': 'anvil_file', - 'column': 'file_id' - } - }, - { - 'name': 'from_activity.used_biosample_id_to_biosample.biosample_id', - 'from': { - 'table': 'anvil_activity', - 'column': 'used_biosample_id' - }, - 'to': { - 'table': 'anvil_biosample', - 'column': 'biosample_id' - } - }, - { - 'name': 'from_alignmentactivity.used_file_id_to_file.file_id', - 'from': { - 'table': 'anvil_alignmentactivity', - 'column': 'used_file_id' - }, - 'to': { - 'table': 'anvil_file', - 'column': 'file_id' - } - }, - { - 'name': 'from_alignmentactivity.generated_file_id_to_file.file_id', - 'from': { - 'table': 'anvil_alignmentactivity', - 'column': 'generated_file_id' - }, - 'to': { - 'table': 'anvil_file', - 'column': 'file_id' - } - }, - { - 'name': 'from_assayactivity.antibody_id_to_antibody.antibody_id', - 'from': { - 'table': 'anvil_assayactivity', - 'column': 'antibody_id' - }, - 'to': { - 'table': 'anvil_antibody', - 'column': 'antibody_id' - } - }, - { - 'name': 'from_assayactivity.generated_file_id_to_file.file_id', - 'from': { - 'table': 'anvil_assayactivity', - 'column': 'generated_file_id' - }, - 'to': { - 'table': 'anvil_file', - 'column': 'file_id' - } - }, - { - 'name': 'from_assayactivity.used_biosample_id_to_biosample.biosample_id', - 'from': { - 'table': 'anvil_assayactivity', - 'column': 'used_biosample_id' - }, - 'to': { - 'table': 'anvil_biosample', - 'column': 'biosample_id' - } - }, - { - 'name': 'from_biosample.donor_id_to_donor.donor_id', - 'from': { - 'table': 'anvil_biosample', - 'column': 'donor_id' - }, - 'to': { - 'table': 'anvil_donor', - 'column': 'donor_id' - } - }, - { - 'name': 'from_biosample.part_of_dataset_id_to_dataset.dataset_id', - 'from': { - 'table': 'anvil_biosample', - 'column': 'part_of_dataset_id' - }, - 'to': { - 'table': 'anvil_dataset', - 'column': 'dataset_id' - } - }, - { - 'name': 'from_donor.part_of_dataset_id_to_dataset.dataset_id', - 'from': { - 'table': 'anvil_donor', - 'column': 'part_of_dataset_id' - }, - 'to': { - 'table': 'anvil_dataset', - 'column': 'dataset_id' - } - }, - { - 'name': 'from_diagnosis.donor_id_to_donor.donor_id', - 'from': { - 'table': 'anvil_diagnosis', - 'column': 'donor_id' - }, - 'to': { - 'table': 'anvil_donor', - 'column': 'donor_id' - } - }, - { - 'name': 'from_project.generated_dataset_id_to_dataset.dataset_id', - 'from': { - 'table': 'anvil_project', - 'column': 'generated_dataset_id' - }, - 'to': { - 'table': 'anvil_dataset', - 'column': 'dataset_id' - } - }, - { - 'name': 'from_sequencingactivity.generated_file_id_to_file.file_id', - 'from': { - 'table': 'anvil_sequencingactivity', - 'column': 'generated_file_id' - }, - 'to': { - 'table': 'anvil_file', - 'column': 'file_id' - } - }, - { - 'name': 'from_sequencingactivity.used_biosample_id_to_biosample.biosample_id', - 'from': { - 'table': 'anvil_sequencingactivity', - 'column': 'used_biosample_id' - }, - 'to': { - 'table': 'anvil_biosample', - 'column': 'biosample_id' - } - }, - { - 'name': 'from_variantcallingactivity.used_file_id_to_file.file_id', - 'from': { - 'table': 'anvil_variantcallingactivity', - 'column': 'used_file_id' - }, - 'to': { - 'table': 'anvil_file', - 'column': 'file_id' - } - }, - { - 'name': 'from_variantcallingactivity.generated_file_id_to_file.file_id', - 'from': { - 'table': 'anvil_variantcallingactivity', - 'column': 'generated_file_id' - }, - 'to': { - 'table': 'anvil_file', - 'column': 'file_id' - } - } - ] -} diff --git a/src/azul/plugins/metadata/anvil/service/__init__.py b/src/azul/plugins/metadata/anvil/service/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/azul/plugins/metadata/anvil/service/aggregation.py b/src/azul/plugins/metadata/anvil/service/aggregation.py deleted file mode 100644 index 02452feb51..0000000000 --- a/src/azul/plugins/metadata/anvil/service/aggregation.py +++ /dev/null @@ -1,39 +0,0 @@ -from opensearchpy import ( - Search, -) -from opensearchpy.helpers.aggs import ( - Agg, -) - -from azul.plugins import ( - FieldPath, -) -from azul.service.elasticsearch_service import ( - AggregationStage, -) -from azul.types import ( - MutableJSON, -) - - -class AnvilAggregationStage(AggregationStage): - - def _prepare_aggregation(self, *, facet: str, facet_path: FieldPath) -> Agg: - agg = super()._prepare_aggregation(facet=facet, facet_path=facet_path) - return agg - - -class AnvilSummaryAggregationStage(AnvilAggregationStage): - - def prepare_request(self, request: Search) -> Search: - request = super().prepare_request(request) - request = request.extra(size=0) - if self.entity_type == 'files': - request.aggs.metric('totalFileSize', - 'sum', - field='contents.files.size_') - return request - - def process_response(self, response: MutableJSON) -> MutableJSON: - response = super().process_response(response) - return response['aggregations'] diff --git a/src/azul/plugins/metadata/anvil/service/filter.py b/src/azul/plugins/metadata/anvil/service/filter.py deleted file mode 100644 index 0b21e2c62b..0000000000 --- a/src/azul/plugins/metadata/anvil/service/filter.py +++ /dev/null @@ -1,10 +0,0 @@ -from azul.service.elasticsearch_service import ( - FilterStage, -) - - -class AnvilFilterStage(FilterStage): - - @property - def _limit_access(self) -> bool: - return self.entity_type != 'datasets' diff --git a/src/azul/plugins/metadata/anvil/service/response.py b/src/azul/plugins/metadata/anvil/service/response.py deleted file mode 100644 index 23ac4deb43..0000000000 --- a/src/azul/plugins/metadata/anvil/service/response.py +++ /dev/null @@ -1,251 +0,0 @@ -from functools import ( - partial, -) -from typing import ( - Mapping, - Sequence, -) - -from more_itertools import ( - one, -) - -from azul import ( - cached_property, -) -from azul.json import ( - copy_json, -) -from azul.plugins import ( - SpecialFields, -) -from azul.service.elasticsearch_service import ( - ResponseTriple, -) -from azul.service.repository_service import ( - SearchResponseStage, - SummaryResponseStage, -) -from azul.types import ( - JSON, - MutableJSON, -) - - -class AnvilSummaryResponseStage(SummaryResponseStage): - - @property - def aggs_by_authority(self) -> Mapping[str, Sequence[str]]: - return { - 'activities': [ - 'activities.activity_type' - ], - 'biosamples': [ - 'biosamples.anatomical_site' - ], - 'datasets': [ - 'datasets.title' - ], - 'donors': [ - 'donors.organism_type', - 'diagnoses.disease', - 'diagnoses.phenotype' - ], - 'files': [ - 'files.file_format', - 'totalFileSize' - ] - } - - def process_response(self, response: JSON) -> JSON: - def doc_count(field): - return response[field]['doc_count'] - - def bucket_count(field, bucket_key): - return [ - { - 'count': bucket['doc_count'], - bucket_key: bucket['key'] - } - for bucket in response[field]['myTerms']['buckets'] - ] - - return { - 'activityCount': doc_count('activities.activity_type'), - 'activityTypes': bucket_count('activities.activity_type', 'type'), - 'biosampleCount': doc_count('biosamples.anatomical_site'), - 'datasetCount': doc_count('datasets.title'), - 'donorCount': doc_count('donors.organism_type'), - 'donorDiagnosisDiseases': bucket_count('diagnoses.disease', 'disease'), - 'donorDiagnosisPhenotypes': bucket_count('diagnoses.phenotype', 'phenotype'), - 'donorSpecies': bucket_count('donors.organism_type', 'species'), - 'fileCount': doc_count('files.file_format'), - 'fileFormats': bucket_count('files.file_format', 'format'), - 'totalFileSize': response['totalFileSize']['value'], - } - - -class AnvilSearchResponseStage(SearchResponseStage): - - def process_response(self, response: ResponseTriple) -> MutableJSON: - hits, pagination, aggs = response - return dict( - hits=list(map(self._make_hit, hits)), - pagination=pagination, - termFacets=dict(zip(aggs.keys(), map(self._make_terms, aggs.values()))) - ) - - def _make_terms(self, agg: JSON) -> JSON: - # FIXME: much of this is duplicated from - # azul.plugins.metadata.hca.service.response.SearchResponseFactory - # https://github.com/DataBiosphere/azul/issues/4135 - def choose_entry(_term): - if 'key_as_string' in _term: - return _term['key_as_string'] - elif (term_key := _term['key']) is None: - return None - elif isinstance(term_key, bool): - return str(term_key).lower() - elif isinstance(term_key, dict): - return term_key - else: - return str(term_key) - - terms = [ - { - 'term': choose_entry(bucket), - 'count': bucket['doc_count'] - } - for bucket in agg['myTerms']['buckets'] - ] - - # Add the untagged_count to the existing termObj for a None value, - # or add a new one - untagged_count = agg['untagged']['doc_count'] - if untagged_count > 0: - for term in terms: - if term['term'] is None: - term['count'] += untagged_count - break - else: - terms.append({'term': None, 'count': untagged_count}) - - return { - 'terms': terms, - 'total': 0 if len(agg['myTerms']['buckets']) == 0 else agg['doc_count'], - # FIXME: Remove type from termsFacets in /index responses - # https://github.com/DataBiosphere/azul/issues/2460 - 'type': 'terms' - } - - def _make_hit(self, es_hit: JSON) -> MutableJSON: - return { - 'entryId': es_hit['entity_id'], - # Note that there is a brittle coupling that must be maintained - # between the `sources` and `bundles` field paths here and the - # renamed fields in `Plugin.manifest_config`. - 'sources': list(map(self._make_source, es_hit['sources'])), - 'bundles': list(map(self._make_bundle, es_hit['bundles'])), - **self._make_contents(es_hit['contents']) - } - - def _make_source(self, es_source: JSON) -> MutableJSON: - return { - self._special_fields.source_spec: es_source['spec'], - self._special_fields.source_id: es_source['id'] - } - - @cached_property - def _special_fields(self) -> SpecialFields: - return self.plugin.special_fields - - def _make_bundle(self, es_bundle: JSON) -> MutableJSON: - return { - self._special_fields.bundle_uuid: es_bundle['uuid'], - self._special_fields.bundle_version: es_bundle['version'] - } - - def _make_contents(self, es_contents: JSON) -> MutableJSON: - return { - inner_entity_type: ( - [self._pivotal_entity(inner_entity_type, one(inner_entities))] - if inner_entity_type == self.entity_type else - list(map(partial(self._non_pivotal_entity, inner_entity_type), inner_entities)) - ) - for inner_entity_type, inner_entities in es_contents.items() - } - - def _pivotal_entity(self, - inner_entity_type: str, - inner_entity: JSON - ) -> MutableJSON: - inner_entity = copy_json(inner_entity) - if inner_entity_type == 'files': - inner_entity['uuid'] = inner_entity['document_id'] - return inner_entity - - def _non_pivotal_entity(self, - inner_entity_type: str, - inner_entity: JSON - ) -> MutableJSON: - fields = self._non_pivotal_fields_by_entity_type[inner_entity_type] - return { - k: v - for k, v in inner_entity.items() - if k in fields - } - - @cached_property - def _non_pivotal_fields_by_entity_type(self) -> dict[str, set[str]]: - return { - 'activities': { - 'activity_type', - 'assay_type', - 'data_modality' - }, - 'biosamples': { - 'anatomical_site', - 'biosample_type', - 'disease', - 'donor_age_at_collection_unit', - 'donor_age_at_collection', - }, - 'datasets': { - 'dataset_id', - 'duos_id', - 'title' - }, - 'diagnoses': { - 'disease', - 'phenotype', - 'phenopacket', - 'onset_age_unit', - 'diagnosis_age_unit', - *( - # These fields are of high cardinality, but the number of - # aggregated inner entities per donor should be low. Since - # diagnoses do not appear in the index as outer entities, - # this is our only opportunity to display these fields. - [ - 'diagnosis_age', - 'onset_age' - ] - if self.entity_type == 'donors' else - [] - ) - }, - 'donors': { - 'organism_type', - 'phenotypic_sex', - 'reported_ethnicity', - 'genetic_ancestry' - }, - 'files': { - 'count', - 'data_modality', - 'file_format', - 'file_size', - 'is_supplementary', - 'reference_assembly' - } - } diff --git a/src/azul/plugins/metadata/hca/__init__.py b/src/azul/plugins/metadata/hca/__init__.py deleted file mode 100644 index fb665d6f4d..0000000000 --- a/src/azul/plugins/metadata/hca/__init__.py +++ /dev/null @@ -1,521 +0,0 @@ -from typing import ( - Iterable, - Self, - Sequence, - TYPE_CHECKING, -) - -from attrs import ( - frozen, -) - -from azul import ( - JSON, - R, - config, - iif, -) -from azul.digests import ( - Digest, -) -from azul.indexer.document import ( - Aggregate, - DocumentType, - EntityType, - IndexName, -) -from azul.plugins import ( - DocumentSlice, - File, - ManifestConfig, - MetadataPlugin, - Sorting, - SpecialFields, -) -from azul.plugins.metadata.hca.bundle import ( - HCABundle, -) -from azul.plugins.metadata.hca.indexer.aggregate import ( - HCAAggregate, -) -from azul.plugins.metadata.hca.indexer.transform import ( - BaseTransformer, - BundleTransformer, - CellSuspensionTransformer, - FileTransformer, - ProjectTransformer, - SampleTransformer, -) -from azul.plugins.metadata.hca.service.aggregation import ( - HCAAggregationStage, - HCASummaryAggregationStage, -) -from azul.plugins.metadata.hca.service.filter import ( - HCAFilterStage, -) -from azul.plugins.metadata.hca.service.response import ( - HCASearchResponseStage, - HCASummaryResponseStage, -) -from azul.service.manifest_service import ( - ManifestFormat, -) -from azul.types import ( - MutableJSON, -) -from humancellatlas.data.metadata import ( - api, -) - - -class Plugin(MetadataPlugin[HCABundle]): - - def transformer_types(self) -> Iterable[type[BaseTransformer]]: - return ( - FileTransformer, - CellSuspensionTransformer, - SampleTransformer, - ProjectTransformer, - BundleTransformer - ) - - def transformers(self, - bundle: HCABundle, - *, - delete: bool - ) -> Iterable[BaseTransformer]: - api_bundle = api.Bundle(uuid=bundle.uuid, - version=bundle.version, - manifest=bundle.manifest, - metadata=bundle.metadata, - links_json=bundle.links, - stitched_entity_ids=bundle.stitched) - - def transformers(): - for transformer_cls in self.transformer_types(): - if TYPE_CHECKING: # work around https://youtrack.jetbrains.com/issue/PY-44728 - transformer_cls = BaseTransformer - yield transformer_cls(bundle=bundle, api_bundle=api_bundle, deleted=delete) - - return list(transformers()) - - def aggregate_class(self) -> type[Aggregate]: - return HCAAggregate - - def mapping(self, index_name: IndexName) -> MutableJSON: - mapping = super().mapping(index_name) - if index_name.doc_type in (DocumentType.contribution, DocumentType.aggregate): - mapping['properties']['contents'] = { - 'properties': { - 'projects': { - 'properties': { - 'accessions': { - 'type': 'nested' - }, - 'tissue_atlas': { - 'type': 'nested' - } - } - } - } - } - mapping['dynamic_templates'][0:0] = [ - { - 'donor_age_range': { - 'path_match': 'contents.donors.organism_age_range', - 'mapping': self.range_mapping - } - }, - { - 'exclude_metadata_field': { - 'path_match': 'contents.metadata', - 'mapping': { - 'enabled': False - } - } - }, - { - 'exclude_metadata_field': { - 'path_match': 'contents.files.related_files', - 'mapping': { - 'enabled': False - } - } - }, - { - 'project_nested_contributors': { - 'path_match': 'contents.projects.contributors', - 'mapping': { - 'enabled': False - } - } - }, - { - 'project_nested_publications': { - 'path_match': 'contents.projects.publications', - 'mapping': { - 'enabled': False - } - } - } - ] - return mapping - - @property - def exposed_indices(self) -> dict[EntityType, Sorting]: - return dict( - bundles=Sorting(field_name=self.special_fields.bundle_version, - descending=True, - max_page_size=100), - files=Sorting(field_name='fileName'), - projects=Sorting(field_name='projectTitle', - max_page_size=100), - samples=Sorting(field_name='sampleId') - ) - - @property - def manifest_formats(self) -> Sequence[ManifestFormat]: - return [ - ManifestFormat.compact, - ManifestFormat.terra_pfb, - ManifestFormat.curl, - *iif(config.enable_replicas, [ - ManifestFormat.verbatim_jsonl, - ManifestFormat.verbatim_pfb - ]) - ] - - @property - def _field_mapping(self) -> MetadataPlugin._FieldMapping: - # FIXME: Detect invalid values in field mapping - # https://github.com/DataBiosphere/azul/issues/3071 - return { - 'entity_id': 'entryId', - 'bundles': { - 'uuid': self.special_fields.bundle_uuid, - 'version': self.special_fields.bundle_version - }, - 'sources': { - 'id': self.special_fields.source_id, - 'spec': self.special_fields.source_spec - }, - 'cell_count': 'cellCount', - 'effective_cell_count': 'effectiveCellCount', - 'contents': { - 'dates': { - 'submission_date': 'submissionDate', - 'update_date': 'updateDate', - 'last_modified_date': 'lastModifiedDate', - 'aggregate_submission_date': 'aggregateSubmissionDate', - 'aggregate_update_date': 'aggregateUpdateDate', - 'aggregate_last_modified_date': 'aggregateLastModifiedDate' - }, - 'files': { - 'file_format': 'fileFormat', - 'name': 'fileName', - 'size': 'fileSize', - 'file_source': 'fileSource', - 'uuid': 'fileId', - 'version': 'fileVersion', - 'content_description': 'contentDescription', - 'matrix_cell_count': 'matrixCellCount', - 'is_intermediate': 'isIntermediate' - }, - 'projects': { - 'contact_names': 'contactName', - 'document_id': 'projectId', - 'institutions': 'institution', - 'laboratory': 'laboratory', - 'project_description': 'projectDescription', - 'project_short_name': 'project', - 'project_title': 'projectTitle', - 'publication_titles': 'publicationTitle', - 'accessions': 'accessions', - 'estimated_cell_count': 'projectEstimatedCellCount', - 'is_tissue_atlas_project': 'isTissueAtlasProject', - 'tissue_atlas': 'tissueAtlas', - 'bionetwork_name': 'bionetworkName', - 'data_use_restriction': 'dataUseRestriction', - 'duos_id': 'duosId' - }, - 'sequencing_protocols': { - 'instrument_manufacturer_model': 'instrumentManufacturerModel', - 'paired_end': 'pairedEnd' - }, - 'library_preparation_protocols': { - 'library_construction_approach': 'libraryConstructionApproach', - 'nucleic_acid_source': 'nucleicAcidSource' - }, - 'analysis_protocols': { - 'workflow': 'workflow' - }, - 'imaging_protocols': { - 'assay_type': 'assayType' - }, - 'donors': { - 'biological_sex': 'biologicalSex', - 'genus_species': 'genusSpecies', - 'diseases': 'donorDisease', - 'development_stage': 'developmentStage', - 'organism_age': 'organismAge', - 'organism_age_range': 'organismAgeRange', - 'donor_count': 'donorCount' - }, - 'samples': { - 'biomaterial_id': 'sampleId', - 'entity_type': 'sampleEntityType', - 'organ': 'organ', - 'organ_part': 'organPart', - 'model_organ': 'modelOrgan', - 'model_organ_part': 'modelOrganPart', - 'effective_organ': 'effectiveOrgan' - }, - 'sample_specimens': { - 'disease': 'sampleDisease' - }, - 'specimens': { - 'disease': 'specimenDisease', - 'organ': 'specimenOrgan', - 'organ_part': 'specimenOrganPart', - 'preservation_method': 'preservationMethod' - }, - 'cell_suspensions': { - 'selected_cell_type': 'selectedCellType' - }, - 'cell_lines': { - 'cell_line_type': 'cellLineType' - } - } - } - - @property - def special_fields(self) -> SpecialFields: - return SpecialFields(source_id='sourceId', - source_spec='sourceSpec', - bundle_uuid='bundleUuid', - bundle_version='bundleVersion', - root_entity_id='projectId') - - @property - def root_entity_type(self) -> str: - return 'projects' - - @property - def facets(self) -> Sequence[str]: - return [ - *super().facets, - 'organ', - 'organPart', - 'modelOrgan', - 'modelOrganPart', - 'effectiveOrgan', - 'specimenOrgan', - 'specimenOrganPart', - 'sampleEntityType', - 'libraryConstructionApproach', - 'nucleicAcidSource', - 'genusSpecies', - 'organismAge', - 'biologicalSex', - 'sampleDisease', - 'specimenDisease', - 'donorDisease', - 'developmentStage', - 'instrumentManufacturerModel', - 'pairedEnd', - 'workflow', - 'assayType', - 'project', - 'fileFormat', - 'fileSource', - 'isIntermediate', - 'contentDescription', - 'laboratory', - 'preservationMethod', - 'projectTitle', - 'cellLineType', - 'selectedCellType', - 'projectDescription', - 'institution', - 'contactName', - 'publicationTitle', - 'isTissueAtlasProject', - 'tissueAtlas', - 'bionetworkName', - 'dataUseRestriction' - ] - - @property - def manifest_config(self) -> ManifestConfig: - return { - ('sources',): { - 'id': 'source_id', - 'spec': 'source_spec', - }, - ('bundles',): { - 'uuid': 'bundle_uuid', - 'version': 'bundle_version' - }, - ('contents', 'files'): { - 'document_id': 'file_document_id', - 'file_type': 'file_type', - 'name': 'file_name', - 'file_format': 'file_format', - 'read_index': 'read_index', - 'size': 'file_size', - 'uuid': 'file_uuid', - 'version': 'file_version', - 'crc32c': 'file_crc32c', - 'sha256': 'file_sha256', - 'content-type': 'file_content_type', - 'drs_uri': 'file_drs_uri', - 'file_url': 'file_url' - }, - ('contents', 'cell_suspensions'): { - 'document_id': 'cell_suspension.provenance.document_id', - 'biomaterial_id': 'cell_suspension.biomaterial_core.biomaterial_id', - 'total_estimated_cells': 'cell_suspension.estimated_cell_count', - 'selected_cell_type': 'cell_suspension.selected_cell_type' - }, - ('contents', 'sequencing_processes'): { - 'document_id': 'sequencing_process.provenance.document_id' - }, - ('contents', 'sequencing_protocols'): { - 'instrument_manufacturer_model': 'sequencing_protocol.instrument_manufacturer_model', - 'paired_end': 'sequencing_protocol.paired_end' - }, - ('contents', 'library_preparation_protocols'): { - 'library_construction_approach': 'library_preparation_protocol.library_construction_approach', - 'nucleic_acid_source': 'library_preparation_protocol.nucleic_acid_source' - }, - ('contents', 'projects'): { - 'document_id': 'project.provenance.document_id', - 'institutions': 'project.contributors.institution', - 'laboratory': 'project.contributors.laboratory', - 'project_short_name': 'project.project_core.project_short_name', - 'project_title': 'project.project_core.project_title', - 'estimated_cell_count': 'project.estimated_cell_count' - }, - ('contents', 'specimens'): { - 'document_id': 'specimen_from_organism.provenance.document_id', - 'disease': 'specimen_from_organism.diseases', - 'organ': 'specimen_from_organism.organ', - 'organ_part': 'specimen_from_organism.organ_part', - 'preservation_method': 'specimen_from_organism.preservation_storage.preservation_method' - }, - ('contents', 'donors'): { - 'biological_sex': 'donor_organism.sex', - 'biomaterial_id': 'donor_organism.biomaterial_core.biomaterial_id', - 'document_id': 'donor_organism.provenance.document_id', - 'genus_species': 'donor_organism.genus_species', - 'development_stage': 'donor_organism.development_stage', - 'diseases': 'donor_organism.diseases', - 'organism_age': 'donor_organism.organism_age' - }, - ('contents', 'cell_lines'): { - 'document_id': 'cell_line.provenance.document_id', - 'biomaterial_id': 'cell_line.biomaterial_core.biomaterial_id' - }, - ('contents', 'organoids'): { - 'document_id': 'organoid.provenance.document_id', - 'biomaterial_id': 'organoid.biomaterial_core.biomaterial_id', - 'model_organ': 'organoid.model_organ', - 'model_organ_part': 'organoid.model_organ_part' - }, - ('contents', 'samples'): { - 'entity_type': '_entity_type', - 'document_id': 'sample.provenance.document_id', - 'biomaterial_id': 'sample.biomaterial_core.biomaterial_id' - }, - ('contents', 'sequencing_inputs'): { - 'document_id': 'sequencing_input.provenance.document_id', - 'biomaterial_id': 'sequencing_input.biomaterial_core.biomaterial_id', - 'sequencing_input_type': 'sequencing_input_type' - } - } - - def document_slice(self, entity_type: str) -> DocumentSlice | None: - if entity_type in ('files', 'bundles'): - return None - else: - return DocumentSlice(excludes=['bundles']) - - @property - def summary_response_stage(self) -> type[HCASummaryResponseStage]: - return HCASummaryResponseStage - - @property - def search_response_stage(self) -> type[HCASearchResponseStage]: - return HCASearchResponseStage - - @property - def summary_aggregation_stage(self) -> type[HCASummaryAggregationStage]: - return HCASummaryAggregationStage - - @property - def aggregation_stage(self) -> type[HCAAggregationStage]: - return HCAAggregationStage - - @property - def filter_stage(self) -> type[HCAFilterStage]: - return HCAFilterStage - - @property - def file_class(self) -> type[File]: - return HCAFile - - -@frozen(kw_only=True) -class HCAFile(File): - #: Various checksums of the file's content - sha256: str - # crc32c is required by the HCA API, but we allow it to be None for mirroring - crc32c: str | None = None - sha1: str | None = None - s3_etag: str | None = None - - @classmethod - def from_hit(cls, hit: JSON) -> Self: - return cls(uuid=hit['uuid'], - version=hit['version'], - name=hit['name'], - size=hit['size'], - drs_uri=hit['drs_uri'], - content_type=hit['content-type'], - sha256=hit['sha256'], - crc32c=hit['crc32c'], - sha1=hit.get('sha1'), - s3_etag=hit.get('s3_etag')) - - @classmethod - def from_descriptor(cls, - descriptor: JSON, - *, - uuid: str, - name: str, - drs_uri: str | None) -> Self: - content_type = descriptor['content_type'] - # FIXME: Obsolete MIME parameter in file content types - # https://github.com/HumanCellAtlas/dcp2/issues/73 - parameter_suffix = '; dcp-type=data' - if content_type.endswith(parameter_suffix): - content_type = content_type.removesuffix(parameter_suffix) - else: - # FIXME: Re-enable assertion, potentially in a weakened form - # https://github.com/DataBiosphere/azul/issues/7244 - assert True or ';' not in content_type, R( - 'Unexpected MIME parameter in content type', content_type) - return cls(uuid=uuid, - name=name, - version=descriptor['file_version'], - size=descriptor['size'], - content_type=content_type, - sha256=descriptor['sha256'], - crc32c=descriptor['crc32c'], - sha1=descriptor.get('sha1'), - s3_etag=descriptor.get('s3_etag'), - drs_uri=drs_uri) - - @property - def digest(self) -> Digest: - return Digest(value=self.sha256, type='sha256') diff --git a/src/azul/plugins/metadata/hca/bundle.py b/src/azul/plugins/metadata/hca/bundle.py deleted file mode 100644 index 12d829fc71..0000000000 --- a/src/azul/plugins/metadata/hca/bundle.py +++ /dev/null @@ -1,49 +0,0 @@ -from abc import ( - ABCMeta, -) -import logging - -import attrs - -from azul.attrs import ( - serializable, -) -from azul.indexer import ( - Bundle, - SourcedBundleFQID, -) -from azul.types import ( - MutableJSON, -) - -log = logging.getLogger(__name__) - - -@attrs.define(kw_only=True) -class HCABundle[BUNDLE_FQID: SourcedBundleFQID](Bundle[BUNDLE_FQID], - metaclass=ABCMeta): - manifest: MutableJSON - """ - Each item of the `manifest` attribute's value has this shape: - { - 'content-type': 'application/json; dcp-type="metadata/biomaterial"', - 'crc32c': 'fd239631', - 'indexed': True, - 'name': 'cell_suspension_0.json', - 's3_etag': 'aa31c093cc816edb1f3a42e577872ec6', - 'sha1': 'f413a9a7923dee616309e4f40752859195798a5d', - 'sha256': 'ea4c9ed9e53a3aa2ca4b7dffcacb6bbe9108a460e8e15d2b3d5e8e5261fb043e', - 'size': 1366, - 'uuid': '0136ebb4-1317-42a0-8826-502fae25c29f', - 'version': '2019-05-16T162155.020000Z' - } - """ - metadata: MutableJSON - links: MutableJSON - stitched: set[str] = serializable(attrs.field(factory=set), - to_json=sorted, - from_json=set) - - def reject_joiner(self): - # We can skip the `stitched` attribute because it only contains UUIDs - self._reject_joiner([self.manifest, self.metadata, self.links]) diff --git a/src/azul/plugins/metadata/hca/indexer/__init__.py b/src/azul/plugins/metadata/hca/indexer/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/azul/plugins/metadata/hca/indexer/aggregate.py b/src/azul/plugins/metadata/hca/indexer/aggregate.py deleted file mode 100644 index cf139c127c..0000000000 --- a/src/azul/plugins/metadata/hca/indexer/aggregate.py +++ /dev/null @@ -1,258 +0,0 @@ -from operator import ( - itemgetter, -) -from typing import ( - Any, - cast, -) - -from more_itertools import ( - one, -) - -from azul import ( - cached_property, -) -from azul.collections import ( - compose_keys, - none_safe_itemgetter, - none_safe_key, - none_safe_tuple_key, -) -from azul.indexer.aggregate import ( - Accumulator, - DictAccumulator, - DistinctAccumulator, - FrequencySetAccumulator, - GroupingAggregator, - MaxAccumulator, - MinAccumulator, - SetAccumulator, - SetOfDictAccumulator, - SimpleAggregator, - SingleValueAccumulator, - SumAccumulator, - UniqueValueCountAccumulator, -) -from azul.indexer.document import ( - Aggregate, -) -from azul.indexer.field import ( - FieldTypes, - null_int, -) -from azul.types import ( - JSON, -) - - -class HCAAggregate(Aggregate): - - @cached_property - def cell_count(self) -> int: - return sum(cs['total_estimated_cells'] - for cs in self.contents['cell_suspensions'] - if cs['total_estimated_cells'] is not None) - - @cached_property - def effective_cell_count(self) -> int: - if self.entity.entity_type == 'projects': - project = cast(JSON, one(self.contents['projects'])) - project_cells = project['estimated_cell_count'] - if project_cells is None: - return self.cell_count - else: - return project_cells - else: - return self.cell_count - - @classmethod - def field_types(cls, field_types: FieldTypes) -> FieldTypes: - return dict(super().field_types(field_types), - cell_count=null_int, - effective_cell_count=null_int) - - def to_json(self) -> JSON: - return dict(super().to_json(), - cell_count=self.cell_count, - effective_cell_count=self.effective_cell_count) - - -class FileAggregator(GroupingAggregator): - - def _transform_entity(self, entity: JSON) -> JSON: - fqid = entity['uuid'], entity['version'] - return dict(size=(fqid, entity['size']), - file_format=entity['file_format'], - file_source=entity['file_source'], - is_intermediate=entity['is_intermediate'], - count=(fqid, 1), - content_description=entity['content_description'], - matrix_cell_count=(fqid, entity.get('matrix_cell_count'))) - - def _group_keys(self, entity) -> tuple[Any, ...]: - return ( - frozenset(entity['content_description']), - entity['file_format'], - entity['is_intermediate'] - ) - - def _accumulator(self, field) -> Accumulator | None: - if field in ('content_description', 'file_format', 'is_intermediate'): - return SingleValueAccumulator() - elif field == 'file_source': - return SetAccumulator(max_size=100) - elif field in ('size', 'count', 'matrix_cell_count'): - return DistinctAccumulator(SumAccumulator()) - else: - return super()._accumulator(field) - - def _default_accumulator(self) -> Accumulator | None: - return None - - -class SampleAggregator(SimpleAggregator): - pass - - -class SpecimenAggregator(SimpleAggregator): - pass - - -class CellSuspensionAggregator(GroupingAggregator): - cell_count_fields = frozenset([ - 'total_estimated_cells', - 'total_estimated_cells_redundant' - ]) - - def _transform_entity(self, entity: JSON) -> JSON: - return entity | { - field: (entity['document_id'], entity[field]) - for field in self.cell_count_fields - } - - def _group_keys(self, entity) -> tuple[Any, ...]: - return frozenset(entity['organ']), - - def _accumulator(self, field) -> Accumulator | None: - if field in self.cell_count_fields: - return DistinctAccumulator(SumAccumulator()) - else: - return super()._accumulator(field) - - -class CellLineAggregator(SimpleAggregator): - pass - - -class DonorOrganismAggregator(SimpleAggregator): - - def _transform_entity(self, entity: JSON) -> JSON: - return { - **entity, - 'donor_count': entity['biomaterial_id'] - } - - def _accumulator(self, field) -> Accumulator | None: - if field == 'organism_age_range': - return SetAccumulator(max_size=100) - elif field == 'organism_age': - return SetOfDictAccumulator(max_size=100, - key=compose_keys(none_safe_tuple_key(none_last=True), - none_safe_itemgetter('value', 'unit'))) - elif field == 'donor_count': - return UniqueValueCountAccumulator() - elif field == 'document_id': - # If any donor IDs are missing from the aggregate, those donors will - # be omitted during the verbatim handover. Donors are a "hot" entity - # type, and we can't track their hubs in replica documents, so we - # rely on the inner entity IDs instead. - # - # FIXME: Enforce that hot entity types are completely aggregated - # https://github.com/DataBiosphere/azul/issues/6793 - return SetAccumulator(max_size=100) - else: - return super()._accumulator(field) - - -class OrganoidAggregator(SimpleAggregator): - pass - - -class ProjectAggregator(SimpleAggregator): - - def _accumulator(self, field) -> Accumulator | None: - if field == 'document_id': - return SetAccumulator(max_size=100) - elif field in ('project_description', - 'contact_names', - 'contributors', - 'publications'): - return None - elif field == 'estimated_cell_count': - return MaxAccumulator() - elif field == 'accessions': - return SetOfDictAccumulator(key=compose_keys(none_safe_key(), - none_safe_itemgetter('accession'))) - elif field == 'tissue_atlas': - return SetOfDictAccumulator(key=compose_keys(none_safe_key(), - none_safe_itemgetter('atlas'))) - else: - return super()._accumulator(field) - - -class ProtocolAggregator(SimpleAggregator): - - def _accumulator(self, field) -> Accumulator | None: - if field == 'assay_type': - return FrequencySetAccumulator(max_size=100) - elif field == 'document_id': - # If any protocol IDs are missing from the aggregate, those - # protocols may be omitted during the verbatim handover. Some - # protocols are "hot" entity types, and we can't track their hubs in - # replicas, so we rely on the inner entity IDs instead. - # - # FIXME: Enforce that hot entity types are completely aggregated - # https://github.com/DataBiosphere/azul/issues/6793 - return SetAccumulator(max_size=100) - else: - return super()._accumulator(field) - - def _default_accumulator(self) -> Accumulator | None: - return SetAccumulator() - - -class SequencingInputAggregator(SimpleAggregator): - pass - - -class SequencingProcessAggregator(SimpleAggregator): - - def _default_accumulator(self) -> Accumulator | None: - return SetAccumulator(max_size=10) - - -class MatricesAggregator(SimpleAggregator): - - def _accumulator(self, field) -> Accumulator | None: - if field == 'document_id': - return None - elif field == 'file': - return DictAccumulator(max_size=100, key=itemgetter('uuid')) - else: - return SetAccumulator() - - -class DateAggregator(SimpleAggregator): - - def _accumulator(self, field) -> Accumulator | None: - if field == 'document_id': - return None - elif field in ('submission_date', 'aggregate_submission_date'): - return MinAccumulator() - elif field in ('update_date', 'aggregate_update_date'): - return MaxAccumulator() - elif field in ('last_modified_date', 'aggregate_last_modified_date'): - return MaxAccumulator() - else: - return super()._accumulator(field) diff --git a/src/azul/plugins/metadata/hca/indexer/transform.py b/src/azul/plugins/metadata/hca/indexer/transform.py deleted file mode 100644 index 0e4c3e2197..0000000000 --- a/src/azul/plugins/metadata/hca/indexer/transform.py +++ /dev/null @@ -1,1772 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from collections import ( - Counter, - defaultdict, -) -from datetime import ( - datetime, -) -from enum import ( - Enum, -) -from itertools import ( - chain, -) -import logging -import re -from typing import ( - Callable, - Generic, - Iterable, - Iterator, - Mapping, - Protocol, - Self, - TypeVar, - get_args, -) -from uuid import ( - UUID, - uuid5, -) - -import attr -from more_itertools import ( - ilen, - one, - only, -) - -from azul import ( - R, - cached_property, - config, -) -from azul.collections import ( - OrderedSet, - none_safe_key, -) -from azul.enums import ( - auto, -) -from azul.indexer import ( - BundleFQID, - BundlePartition, -) -from azul.indexer.aggregate import ( - EntityAggregator, - SimpleAggregator, -) -from azul.indexer.document import ( - Contribution, - EntityID, - EntityReference, - EntityType, - Replica, -) -from azul.indexer.field import ( - ClosedRange, - FieldTypes, - Nested, - Nullable, - NullableString, - PassThrough, - null_bool, - null_datetime, - null_int, - null_str, - pass_thru_float, - pass_thru_int, - pass_thru_json, -) -from azul.indexer.transform import ( - ReplicaTransformer, - Transformer, -) -from azul.iterators import ( - generable, -) -from azul.openapi import ( - schema, -) -from azul.plugins.metadata.hca.bundle import ( - HCABundle, -) -from azul.plugins.metadata.hca.indexer.aggregate import ( - CellLineAggregator, - CellSuspensionAggregator, - DateAggregator, - DonorOrganismAggregator, - FileAggregator, - MatricesAggregator, - OrganoidAggregator, - ProjectAggregator, - ProtocolAggregator, - SampleAggregator, - SequencingInputAggregator, - SequencingProcessAggregator, - SpecimenAggregator, -) -from azul.plugins.metadata.hca.service.contributor_matrices import ( - parse_strata, -) -from azul.time import ( - format_dcp2_datetime, - parse_dcp2_version, -) -from azul.types import ( - JSON, - JSONs, - MutableJSON, -) -from humancellatlas.data.metadata import ( - api, -) - -log = logging.getLogger(__name__) - -Sample = api.CellLine | api.Organoid | api.SpecimenFromOrganism -sample_types = api.CellLine, api.Organoid, api.SpecimenFromOrganism -assert get_args(Sample) == sample_types # since we can't use * in generic types - -pass_thru_uuid4: PassThrough[api.UUID4] = PassThrough(str, es_type='keyword') - - -def _format_dcp2_datetime(d: datetime | None) -> str | None: - return None if d is None else format_dcp2_datetime(d) - - -class ValueAndUnit(Nullable[JSON, str]): - """ - The type of document fields whose values consist of a numeric quantity and - a symbolic unit, such as the age of a donor organism at collection time. - """ - - # FIXME: change the es_type for JSON to `nested` - # https://github.com/DataBiosphere/azul/issues/2621 - es_type = 'keyword' - - def to_index(self, value_unit: JSON | None) -> str: - """ - >>> a = ValueAndUnit(JSON, str) - >>> a.to_index({'value': '20', 'unit': 'year'}) - '20 year' - - >>> a.to_index({'value': '20', 'unit': None}) - '20' - - >>> a.to_index(None) - '~null' - - >>> a.to_index({}) - Traceback (most recent call last): - ... - AssertionError: R('Need dictionary with entries for `value` and `unit`') - - >>> a.to_index({'value': '1', 'unit': 'day', 'foo': 12}) - Traceback (most recent call last): - ... - AssertionError: R('Need dictionary with exactly two entries') - - >>> a.to_index({'unit': 'day'}) - Traceback (most recent call last): - ... - AssertionError: R('Need dictionary with entries for `value` and `unit`') - - >>> a.to_index({'value': '1'}) - Traceback (most recent call last): - ... - AssertionError: R('Need dictionary with entries for `value` and `unit`') - - >>> a.to_index({'value': '', 'unit': 'year'}) - Traceback (most recent call last): - ... - AssertionError: R('The `value` entry must not be empty') - - >>> a.to_index({'value': '20', 'unit': ''}) - Traceback (most recent call last): - ... - AssertionError: R('The `unit` entry must not be empty') - - >>> a.to_index({'value': None, 'unit': 'years'}) - Traceback (most recent call last): - ... - AssertionError: R('The `value` entry must not be null') - - >>> a.to_index({'value': 20, 'unit': None}) - Traceback (most recent call last): - ... - AssertionError: R('The `value` entry must be a string') - - >>> a.to_index({'value': '20', 'unit': True}) - Traceback (most recent call last): - ... - AssertionError: R('The `unit` entry must be a string') - - >>> a.to_index({'value': '20 ', 'unit': None}) - Traceback (most recent call last): - ... - AssertionError: R('The `value` entry must not contain spaces') - - >>> a.to_index({'value': '20', 'unit': 'years '}) - Traceback (most recent call last): - ... - AssertionError: R('The `unit` entry must not contain spaces') - """ - if value_unit is None: - return NullableString.null_string - else: - try: - value, unit = value_unit['value'], value_unit['unit'] - except KeyError: - assert False, R('Need dictionary with entries for `value` and `unit`') - else: - assert len(value_unit) == 2, R('Need dictionary with exactly two entries') - assert value != '', R('The `value` entry must not be empty') - assert unit != '', R('The `unit` entry must not be empty') - assert value is not None, R('The `value` entry must not be null') - assert type(value) is str, R('The `value` entry must be a string') - assert ' ' not in value, R('The `value` entry must not contain spaces') - if unit is None: - return value - else: - assert type(unit) is str, R('The `unit` entry must be a string') - assert ' ' not in unit, R('The `unit` entry must not contain spaces') - return f'{value} {unit}' - - def from_index(self, value: str) -> JSON | None: - """ - >>> a = ValueAndUnit(JSON, str) - >>> a.from_index('20 year') - {'value': '20', 'unit': 'year'} - - >>> a.from_index('20') - {'value': '20', 'unit': None} - - >>> a.from_index('~null') is None - True - - Although 'year' looks like a unit, we intentionally treat it like a - value because this class does not enforce any constraints on value or - unit other than it not contain spaces. - - >>> a.from_index('year') - {'value': 'year', 'unit': None} - - >>> a.from_index('20 ') - Traceback (most recent call last): - ... - ValueError: Expected exactly one item in iterable, but got '', '', and perhaps more. - - >>> a.from_index(' year') - Traceback (most recent call last): - ... - AssertionError - - >>> a.from_index('1 ') - Traceback (most recent call last): - ... - AssertionError - - >>> a.from_index('') - Traceback (most recent call last): - ... - AssertionError - """ - if value == NullableString.null_string: - return None - else: - i = iter(value.split(' ')) - value = next(i) - # only() fails with more than one item left in the iterator - unit = only(i) - assert value, value - assert unit is None or unit, unit - return {'value': value, 'unit': unit} - - def to_tsv(self, value: JSON | None) -> str: - return '' if value is None else self.to_index(value) - - @property - def api_schema(self) -> JSON: - return schema.object(value=str, unit=str) - - -value_and_unit: ValueAndUnit = ValueAndUnit(JSON, str) - -accession: Nested = Nested(namespace=null_str, accession=null_str) - -tissue_atlas: Nested = Nested(atlas=null_str, version=null_str) - -age_range = ClosedRange(pass_thru_float) - - -class SubmitterCategory(Enum): - """ - The types of submitters, such as internal (submitter of DCP generated - matrices) and external (submitter of contributor generated matrices). - """ - internal = auto() - external = auto() - - -class SubmitterBase: - # These class attributes must be defined in a superclass because Enum and - # EnumMeta would get confused if they were defined in the Enum subclass. - by_id: dict[str, 'Submitter'] = {} - by_title: dict[str, 'Submitter'] = {} - id_namespace = UUID('382415e5-67a6-49be-8f3c-aaaa707d82db') - - -class Submitter(SubmitterBase, Enum): - """ - The known submitters of data files, specifically matrix files. - """ - # A submitter's ID is derived from its slug. We hard-code it for the sake of - # documenting it. The constructor ensures the hard-coded value is correct. - - arrayexpress = ( - 'b7525d8e-8c7a-5fec-911a-323e5c3a79f7', - 'ArrayExpress', - SubmitterCategory.external - ) - contributor = ( - 'f180f1c3-9073-54a9-9bab-633008c307cc', - 'Contributor', - SubmitterCategory.external - ) - geo = ( - '21b9424e-4043-5e80-85d0-1f0449430b57', - 'GEO', - SubmitterCategory.external - ) - hca_release = ( - '656db407-02f1-547c-9840-6908c4f09ce8', - 'HCA Release', - SubmitterCategory.external - ) - scea = ( - '099feafe-ab42-5fb1-bff5-dbbe5ea61a0d', - 'SCEA', - SubmitterCategory.external - ) - scp = ( - '3d76d2d3-51f4-5b17-85c8-f3549a7ab716', - 'SCP', - SubmitterCategory.external - ) - dcp2 = ( - 'e67aaabe-93ea-564a-aa66-31bc0857b707', - 'DCP/2 Analysis', - SubmitterCategory.internal - ) - dcp2_ingest = ( - '8d59f7a5-6245-5e42-9bc0-a53dd8a10f28', - 'DCP/2 Ingest', - SubmitterCategory.internal - ) - dcp1_matrix_service = ( - 'c9efbb15-c50c-5796-8d15-35e9e1219dc5', - 'DCP/1 Matrix Service', - SubmitterCategory.internal - ) - lungmap = ( - '31ad7d2c-7262-54aa-92df-7f16418f3b84', - 'LungMAP', - SubmitterCategory.external - ) - zenodo = ( - 'bd24572b-a535-5ff8-b167-0e43d7f0d4b0', - 'Zenodo', - SubmitterCategory.external - ) - publication = ( - '210ca4c7-f6f6-5a0d-8b1c-88ab5349a8f3', - 'Publication', - SubmitterCategory.external - ) - - def __init__(self, id: str, title: str, category: SubmitterCategory): - super().__init__() - slug = self.name.replace('_', ' ') - generated_uuid = str(uuid5(self.id_namespace, slug)) - assert id == generated_uuid, (id, generated_uuid) - self.id = id - self.slug = slug - self.title = title - self.category = category - assert title not in self.by_title, title - self.by_title[title] = self - self.by_id[id] = self - - @classmethod - def for_id(cls, submitter_id: str) -> Self | None: - try: - return cls.by_id[submitter_id] - except KeyError: - return None - - @classmethod - def for_file(cls, file: api.File) -> Self | None: - if file.file_source is None: - if ( - # The DCP/2 system design specification mistakenly required that - # intermediate matrices generated by the DCP/2 Analysis do not - # carry any submitter_id: - # - # > Any intermediate matrices created during the processing are - # > described as analysis_file, but the - # > analysis_file.provenance.submitter_id property is omitted. - # - # https://github.com/HumanCellAtlas/dcp2/blob/main/docs/dcp2_system_design.rst#52dcp2-generated-matrices - # - # This heuristic attempts to retroactively assign the `dcp2` - # submitter ID to all analysis files produced by DCP/2 Analysis, - # not just intermediate matrices but also BAMs and other - # intermediate files. - file.submitter_id is None - and isinstance(file, api.AnalysisFile) - and any(isinstance(p, api.AnalysisProcess) - for p in file.from_processes.values()) - ): - self = cls.dcp2 - else: - self = cls.for_id(file.submitter_id) - else: - self = cls.by_title[file.file_source] - return self - - @classmethod - def title_for_file(cls, file: api.File) -> str | None: - self = cls.for_file(file) - return None if self is None else self.title - - @classmethod - def category_for_file(cls, file: api.File) -> SubmitterCategory | None: - self = cls.for_file(file) - if self is None: - return None - else: - return self.category - - -class Entity(Protocol): - document_id: api.UUID4 - - -class DatedEntity(Entity, Protocol): - submission_date: datetime - update_date: datetime - - -@attr.s(frozen=True, kw_only=True, auto_attribs=True) -class BaseTransformer(Transformer, metaclass=ABCMeta): - bundle: HCABundle - api_bundle: api.Bundle - - @classmethod - def aggregator(cls, entity_type: EntityType) -> EntityAggregator | None: - if entity_type == 'files': - agg_cls = FileAggregator - elif entity_type in SampleTransformer.inner_entity_types(): - agg_cls = SampleAggregator - elif entity_type == 'specimens': - agg_cls = SpecimenAggregator - elif entity_type == 'cell_suspensions': - agg_cls = CellSuspensionAggregator - elif entity_type == 'cell_lines': - agg_cls = CellLineAggregator - elif entity_type == 'donors': - agg_cls = DonorOrganismAggregator - elif entity_type == 'organoids': - agg_cls = OrganoidAggregator - elif entity_type == 'projects': - agg_cls = ProjectAggregator - elif entity_type in ( - 'analysis_protocols', - 'imaging_protocols', - 'library_preparation_protocols', - 'sequencing_protocols' - ): - agg_cls = ProtocolAggregator - elif entity_type == 'sequencing_inputs': - agg_cls = SequencingInputAggregator - elif entity_type == 'sequencing_processes': - agg_cls = SequencingProcessAggregator - elif entity_type in ('matrices', 'contributed_analyses'): - agg_cls = MatricesAggregator - elif entity_type == 'dates': - agg_cls = DateAggregator - else: - agg_cls = SimpleAggregator - return agg_cls(cls.entity_type(), entity_type) - - def _replica_contents(self, entity: EntityReference) -> JSON: - if entity == self.api_bundle.ref: - return self.bundle.links - else: - api_entity = self.api_bundle.entities[UUID(entity.entity_id)] - return api_entity.json - - def _find_ancestor_samples(self, - entity: api.LinkedEntity, - samples: dict[str, Sample] - ): - """ - Populate the `samples` argument with the sample ancestors of the given - entity. A sample is any biomaterial that is neither a cell suspension - nor an ancestor of another sample. - - :param entity: the entity whose ancestor samples should be found - - :param samples: the dictionary into which to place found ancestor - samples, by their document ID - """ - if isinstance(entity, sample_types): - samples[str(entity.document_id)] = entity - else: - for parent in entity.parents.values(): - self._find_ancestor_samples(parent, samples) - - def _visit_file(self, file): - visitor = TransformerVisitor() - file.accept(visitor) - file.ancestors(visitor) - samples: dict[str, Sample] = dict() - self._find_ancestor_samples(file, samples) - return visitor, samples - - def __dates(self, entity: DatedEntity) -> MutableJSON: - dates = (entity.submission_date, entity.update_date) - last_modified_date = max(filter(None, dates)) - return { - 'submission_date': format_dcp2_datetime(entity.submission_date), - 'update_date': _format_dcp2_datetime(entity.update_date), - 'last_modified_date': format_dcp2_datetime(last_modified_date) - } - - def __aggregate_dates(self, entities: Iterable[DatedEntity]) -> MutableJSON: - submission_dates = {entity.submission_date for entity in entities} - update_dates = {entity.update_date for entity in entities} - dates = submission_dates | update_dates - agg_last_modified_date = max(filter(None, dates), default=None) - agg_submission_date = min(submission_dates, default=None) - agg_update_date = max(filter(None, update_dates), default=None) - return { - 'aggregate_last_modified_date': _format_dcp2_datetime(agg_last_modified_date), - 'aggregate_submission_date': _format_dcp2_datetime(agg_submission_date), - 'aggregate_update_date': _format_dcp2_datetime(agg_update_date), - } - - @classmethod - def _date_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - 'aggregate_last_modified_date': null_datetime, - 'aggregate_submission_date': null_datetime, - 'aggregate_update_date': null_datetime, - 'submission_date': null_datetime, - 'update_date': null_datetime, - 'last_modified_date': null_datetime, - } - - def _date(self, entity: DatedEntity) -> MutableJSON: - return { - **self._entity(entity), - **self.__dates(entity), - **self.__aggregate_dates(self._dated_entities()) - } - - def _dated_entities(self) -> Iterable[DatedEntity]: - # Only containers have dated entities - return [] - - @classmethod - def _entity_types(cls) -> FieldTypes: - return { - 'document_id': null_str, - } - - def _entity(self, entity: Entity): - return { - 'document_id': str(entity.document_id), - } - - @classmethod - def _biomaterial_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - 'biomaterial_id': null_str, - } - - def _biomaterial(self, biomaterial: api.Biomaterial): - return { - **self._entity(biomaterial), - 'biomaterial_id': str(biomaterial.biomaterial_id), - } - - @classmethod - def _contact_types(cls) -> FieldTypes: - return { - 'contact_name': null_str, - 'corresponding_contributor': null_bool, - 'email': null_str, - 'institution': null_str, - 'laboratory': null_str, - 'project_role': null_str - } - - def _contact(self, p: api.ProjectContact): - # noinspection PyDeprecation - return { - 'contact_name': p.contact_name, - 'corresponding_contributor': p.corresponding_contributor, - 'email': p.email, - 'institution': p.institution, - 'laboratory': p.laboratory, - 'project_role': p.project_role - } - - @classmethod - def _publication_types(cls) -> FieldTypes: - return { - 'publication_title': null_str, - 'publication_url': null_str, - 'official_hca_publication': null_bool, - 'doi': null_str - } - - def _publication(self, p: api.ProjectPublication): - # noinspection PyDeprecation - return { - 'publication_title': p.publication_title, - 'publication_url': p.publication_url, - 'official_hca_publication': p.official_hca, - 'doi': p.doi - } - - def _accession(self, p: api.Accession): - return { - 'namespace': p.namespace, - 'accession': p.accession - } - - def _tissue_atlas(self, b: api.Bionetwork): - return { - 'atlas': b.hca_tissue_atlas, - 'version': b.hca_tissue_atlas_version - } - - @classmethod - def _project_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - 'project_title': null_str, - 'project_description': null_str, - 'project_short_name': null_str, - 'laboratory': [null_str], - 'institutions': [null_str], - 'contact_names': [null_str], - 'contributors': cls._contact_types(), - 'publication_titles': [null_str], - 'publications': cls._publication_types(), - 'supplementary_links': [null_str], - '_type': null_str, - 'accessions': [accession], - 'is_tissue_atlas_project': null_bool, - 'tissue_atlas': [tissue_atlas], - 'bionetwork_name': [null_str], - 'estimated_cell_count': null_int, - 'data_use_restriction': null_str, - 'duos_id': null_str - } - - def _project(self, project: api.Project) -> MutableJSON: - # Store lists of all values of each of these facets to allow facet filtering - # and term counting on the webservice - laboratories: OrderedSet[str] = OrderedSet() - institutions: OrderedSet[str] = OrderedSet() - contact_names: OrderedSet[str] = OrderedSet() - publication_titles: OrderedSet[str] = OrderedSet() - - for contributor in project.contributors: - if contributor.laboratory: - laboratories.add(contributor.laboratory) - # noinspection PyDeprecation - if contributor.contact_name: - # noinspection PyDeprecation - contact_names.add(contributor.contact_name) - if contributor.institution: - institutions.add(contributor.institution) - - for publication in project.publications: - # noinspection PyDeprecation - if publication.publication_title: - # noinspection PyDeprecation - publication_titles.add(publication.publication_title) - - return { - **self._entity(project), - 'project_title': project.project_title, - # FIXME: Omit large project fields from non-project contributions - # https://github.com/DataBiosphere/azul/issues/5346 - 'project_description': project.project_description, - 'project_short_name': project.project_short_name, - 'laboratory': list(laboratories), - 'institutions': list(institutions), - 'contact_names': list(contact_names), - 'contributors': list(map(self._contact, project.contributors)), - 'publication_titles': list(publication_titles), - 'publications': list(map(self._publication, project.publications)), - 'supplementary_links': sorted(project.supplementary_links), - '_type': 'project', - 'accessions': list(map(self._accession, project.accessions)), - 'is_tissue_atlas_project': any(bionetwork.atlas_project - for bionetwork in project.bionetworks), - 'tissue_atlas': list(map(self._tissue_atlas, project.bionetworks)), - 'bionetwork_name': sorted(bionetwork.name for bionetwork in project.bionetworks), - 'estimated_cell_count': project.estimated_cell_count, - 'data_use_restriction': project.data_use_restriction, - 'duos_id': project.duos_id - } - - @classmethod - def _specimen_types(cls) -> FieldTypes: - return { - **cls._biomaterial_types(), - 'has_input_biomaterial': null_str, - '_source': null_str, - 'disease': [null_str], - 'organ': null_str, - 'organ_part': [null_str], - 'storage_method': null_str, - 'preservation_method': null_str, - '_type': null_str - } - - def _specimen(self, specimen: api.SpecimenFromOrganism) -> MutableJSON: - return { - **self._biomaterial(specimen), - 'has_input_biomaterial': specimen.has_input_biomaterial, - '_source': api.schema_names[type(specimen)], - 'disease': sorted(specimen.diseases), - 'organ': specimen.organ, - 'organ_part': sorted(specimen.organ_parts), - 'storage_method': specimen.storage_method, - 'preservation_method': specimen.preservation_method, - '_type': 'specimen' - } - - cell_count_fields = [ - ('total_estimated_cells', True), - ('total_estimated_cells_redundant', False) - ] - - @classmethod - def _cell_suspension_types(cls) -> FieldTypes: - return { - **cls._biomaterial_types(), - **{field: null_int for field, _ in cls.cell_count_fields}, - 'selected_cell_type': [null_str], - 'organ': [null_str], - 'organ_part': [null_str] - } - - def _cell_suspension(self, cell_suspension: api.CellSuspension) -> MutableJSON: - organs = set() - organ_parts = set() - samples: dict[str, Sample] = dict() - self._find_ancestor_samples(cell_suspension, samples) - for sample in samples.values(): - if isinstance(sample, api.SpecimenFromOrganism): - organs.add(sample.organ) - organ_parts.update(sample.organ_parts) - elif isinstance(sample, api.CellLine): - organs.add(sample.model_organ) - organ_parts.add(None) - elif isinstance(sample, api.Organoid): - organs.add(sample.model_organ) - organ_parts.add(sample.model_organ_part) - else: - assert False - is_leaf = cell_suspension.document_id in self.api_bundle.leaf_cell_suspensions - return { - **self._biomaterial(cell_suspension), - **{ - field: cell_suspension.estimated_cell_count if is_leaf_field == is_leaf else 0 - for field, is_leaf_field in self.cell_count_fields - }, - 'selected_cell_type': sorted(cell_suspension.selected_cell_types), - 'organ': sorted(organs), - # With multiple samples it is possible to have str and None values - 'organ_part': sorted(organ_parts, key=none_safe_key(none_last=True)) - } - - @classmethod - def _cell_line_types(cls) -> FieldTypes: - return { - **cls._biomaterial_types(), - 'cell_line_type': null_str, - 'model_organ': null_str - } - - def _cell_line(self, cell_line: api.CellLine) -> MutableJSON: - # noinspection PyDeprecation - return { - **self._biomaterial(cell_line), - 'cell_line_type': cell_line.cell_line_type, - 'model_organ': cell_line.model_organ - } - - @classmethod - def _donor_types(cls) -> FieldTypes: - return { - **cls._biomaterial_types(), - 'biological_sex': null_str, - 'genus_species': [null_str], - 'development_stage': null_str, - 'diseases': [null_str], - 'organism_age': value_and_unit, - # Prevent problem due to shadow copies on numeric ranges - 'organism_age_range': age_range, - 'donor_count': null_int - } - - def _donor(self, donor: api.DonorOrganism) -> MutableJSON: - if donor.organism_age is None: - assert donor.organism_age_unit is None, R('Unit must be None if value is') - organism_age = None - else: - organism_age = { - 'value': donor.organism_age, - 'unit': donor.organism_age_unit - } - return { - **self._biomaterial(donor), - 'biological_sex': donor.sex, - 'genus_species': sorted(donor.genus_species), - 'development_stage': donor.development_stage, - 'diseases': sorted(donor.diseases), - 'organism_age': organism_age, - **( - { - 'organism_age_range': ( - donor.organism_age_in_seconds.min, - donor.organism_age_in_seconds.max - ) - } if donor.organism_age_in_seconds else { - } - ) - } - - @classmethod - def _organoid_types(cls) -> FieldTypes: - return { - **cls._biomaterial_types(), - 'model_organ': null_str, - 'model_organ_part': null_str - } - - def _organoid(self, organoid: api.Organoid) -> MutableJSON: - return { - **self._biomaterial(organoid), - 'model_organ': organoid.model_organ, - 'model_organ_part': organoid.model_organ_part - } - - def _is_intermediate_matrix(self, file: api.File) -> bool | None: - if file.is_matrix: - if isinstance(file, api.SupplementaryFile): - # Non-organic CGM - is_intermediate = False - elif isinstance(file, api.AnalysisFile): - if ( - any(isinstance(p, api.AnalysisProcess) for p in file.to_processes.values()) - # As per DCP/2 System Design, intermediate matrices generated by - # DCP/2 analysis do not carry a submitter ID. Also see Submitter.for_file - or (file.submitter_id is None and Submitter.for_file(file) == Submitter.dcp2) - ): - # Intermediate DCP/2-generated matrix - is_intermediate = True - else: - # Organic CGM or final DCP/2-generated matrix - is_intermediate = False - else: - assert False, file - else: - # Not a matrix - is_intermediate = None - return is_intermediate - - @classmethod - def _file_base_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - 'content-type': null_str, - 'indexed': null_bool, - 'name': null_str, - 'crc32c': null_str, - 'sha256': null_str, - 'size': null_int, - 'uuid': pass_thru_uuid4, - 'drs_uri': null_str, - 'version': null_str, - 'file_type': null_str, - 'file_format': null_str, - 'content_description': [null_str], - 'is_intermediate': null_bool, - 'file_source': null_str, - '_type': null_str, - 'read_index': null_str, - 'lane_index': null_int, - 'matrix_cell_count': null_int - } - - def _file_base(self, file: api.File) -> MutableJSON: - # noinspection PyDeprecation - return { - **self._entity(file), - 'content-type': file.manifest_entry.content_type, - 'indexed': file.manifest_entry.indexed, - 'name': file.manifest_entry.name, - 'crc32c': file.manifest_entry.crc32c, - 'sha256': file.manifest_entry.sha256, - 'size': file.manifest_entry.size, - 'uuid': file.manifest_entry.uuid, - 'drs_uri': self.bundle.drs_uri(file.manifest_entry.json), - 'version': file.manifest_entry.version, - 'file_type': file.schema_name, - 'file_format': file.file_format, - 'content_description': sorted(file.content_description), - 'is_intermediate': self._is_intermediate_matrix(file), - 'file_source': Submitter.title_for_file(file), - '_type': 'file', - **( - { - 'read_index': file.read_index, - 'lane_index': file.lane_index - } if isinstance(file, api.SequenceFile) else { - } - ), - **( - { - 'matrix_cell_count': file.matrix_cell_count - } if isinstance(file, api.AnalysisFile) else { - } - ), - } - - @classmethod - def _file_types(cls) -> FieldTypes: - return { - **cls._file_base_types(), - # Pass through field added by FileAggregator, will never be None - 'count': pass_thru_int, - 'related_files': cls._related_file_types(), - } - - def _file(self, - file: api.File, - related_files: Iterable[api.File] = () - ) -> MutableJSON: - # noinspection PyDeprecation - return { - **self._file_base(file), - 'related_files': list(map(self._related_file, related_files)), - } - - @classmethod - def _related_file_types(cls) -> FieldTypes: - return cls._file_base_types() - - def _related_file(self, file: api.File) -> MutableJSON: - return self._file_base(file) - - @classmethod - def _analysis_protocol_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - 'workflow': null_str - } - - def _analysis_protocol(self, protocol: api.AnalysisProtocol) -> MutableJSON: - return { - **self._entity(protocol), - 'workflow': protocol.protocol_id - } - - @classmethod - def _imaging_protocol_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - # Pass through counter used to produce a FrequencySetAccumulator - 'assay_type': pass_thru_json - } - - def _imaging_protocol(self, protocol: api.ImagingProtocol) -> MutableJSON: - return { - **self._entity(protocol), - 'assay_type': dict(Counter(probe.assay_type for probe in protocol.probe)) - } - - @classmethod - def _library_preparation_protocol_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - 'library_construction_approach': null_str, - 'nucleic_acid_source': null_str - } - - def _library_preparation_protocol(self, - protocol: api.LibraryPreparationProtocol - ) -> MutableJSON: - return { - **self._entity(protocol), - 'library_construction_approach': protocol.library_construction_method, - 'nucleic_acid_source': protocol.nucleic_acid_source - } - - @classmethod - def _sequencing_protocol_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - 'instrument_manufacturer_model': null_str, - 'paired_end': null_bool - } - - def _sequencing_protocol(self, protocol: api.SequencingProtocol) -> MutableJSON: - return { - **self._entity(protocol), - 'instrument_manufacturer_model': protocol.instrument_manufacturer_model, - 'paired_end': protocol.paired_end - } - - @classmethod - def _sequencing_process_types(cls) -> FieldTypes: - return { - **cls._entity_types(), - } - - def _sequencing_process(self, process: api.Process) -> MutableJSON: - return { - **self._entity(process), - } - - @classmethod - def _sequencing_input_types(cls) -> FieldTypes: - return { - **cls._biomaterial_types(), - 'sequencing_input_type': null_str, - } - - def _sequencing_input(self, sequencing_input: api.Biomaterial) -> MutableJSON: - return { - **self._biomaterial(sequencing_input), - 'sequencing_input_type': api.schema_names[type(sequencing_input)] - } - - @classmethod - def _sample_types(cls) -> FieldTypes: - return { - **cls._biomaterial_types(), - 'entity_type': null_str, - 'organ': null_str, - 'organ_part': [null_str], - 'model_organ': null_str, - 'model_organ_part': null_str, - 'effective_organ': null_str, - } - - class Sample: - entity_type: str - api_class: type[api.Biomaterial] - - @classmethod - def to_dict(cls, sample: api.Biomaterial) -> MutableJSON: - assert isinstance(sample, cls.api_class) - return { - 'document_id': sample.document_id, - 'biomaterial_id': sample.biomaterial_id, - 'entity_type': cls.entity_type, - } - - class SampleCellLine(Sample): - entity_type = 'cell_lines' - api_class = api.CellLine - - @classmethod - def to_dict(cls, cellline: api_class) -> MutableJSON: - return { - **super().to_dict(cellline), - 'organ': None, - 'organ_part': [], - 'model_organ': cellline.model_organ, - 'model_organ_part': None, - 'effective_organ': cellline.model_organ, - } - - class SampleOrganoid(Sample): - entity_type = 'organoids' - api_class = api.Organoid - - @classmethod - def to_dict(cls, organoid: api_class) -> MutableJSON: - return { - **super().to_dict(organoid), - 'organ': None, - 'organ_part': [], - 'model_organ': organoid.model_organ, - 'model_organ_part': organoid.model_organ_part, - 'effective_organ': organoid.model_organ, - } - - class SampleSpecimen(Sample): - entity_type = 'specimens' - api_class = api.SpecimenFromOrganism - - @classmethod - def to_dict(cls, specimen: api_class) -> MutableJSON: - return { - **super().to_dict(specimen), - 'organ': specimen.organ, - 'organ_part': sorted(specimen.organ_parts), - 'model_organ': None, - 'model_organ_part': None, - 'effective_organ': specimen.organ, - } - - sample_types: Mapping[Callable, type[Sample]] = { - _cell_line: SampleCellLine, - _organoid: SampleOrganoid, - _specimen: SampleSpecimen - } - - def _samples(self, samples: Iterable[api.Biomaterial]) -> MutableJSON: - """ - Returns inner entities representing the given samples as both, generic - 'samples' inner entities and specific 'sample_{entity_type}' entities. - A 'samples' inner entity is a polymorphic structure containing - the properties common to all samples. This allows filtering on these - common properties regardless of the sample entity type. - """ - result = defaultdict(list) - for sample in samples: - for to_dict, sample_type in self.sample_types.items(): - if isinstance(sample, sample_type.api_class): - entity_type = f'sample_{sample_type.entity_type}' - result[entity_type].append(to_dict(self, sample)) - result['samples'].append(sample_type.to_dict(sample)) - break - else: - assert False, sample - return result - - @classmethod - def _matrix_types(cls) -> FieldTypes: - return { - 'document_id': null_str, - 'file': { - **cls._file_types(), - 'strata': null_str - } - } - - def _matrix(self, file: api.File) -> MutableJSON: - if isinstance(file, api.SupplementaryFile): - # Stratification values for supplementary files are - # provided in the 'file_description' field of the file JSON. - strata_string = file.json['file_description'] - elif isinstance(file, api.File): - # Stratification values for other file types are gathered by - # visiting the file and using values from the graph. - strata_string = self._build_strata_string(file) - else: - assert False, type(file) - return { - 'document_id': str(file.document_id), - # These values are grouped together in a dict so when the dicts are - # aggregated together we will have preserved the grouping of values. - 'file': { - **self._file(file), - 'strata': strata_string - } - } - - dimension_value_re = re.compile(r'[^,=;\n]+') - - def _build_strata_string(self, file): - visitor, samples = self._visit_file(file) - points = { - 'genusSpecies': { - genus_species - for donor in visitor.donors.values() - for genus_species in donor.genus_species - }, - 'developmentStage': { - donor.development_stage - for donor in visitor.donors.values() - if donor.development_stage is not None - }, - 'organ': { - sample.organ if hasattr(sample, 'organ') else sample.model_organ - for sample in samples.values() - }, - 'libraryConstructionApproach': { - protocol.library_construction_method - for protocol in visitor.library_preparation_protocols.values() - } - } - point_strings = [] - for dimension, values in points.items(): - if values: - for value in values: - assert self.dimension_value_re.fullmatch(value), value - point_strings.append(dimension + '=' + ','.join(sorted(values))) - return ';'.join(point_strings) - - @classmethod - def field_types(cls) -> FieldTypes: - """ - Field types outline the general shape of our documents. - """ - # FIXME: Not all information is captured. Lists of primitive types are - # represented, but lists of container types are not. Eventually, - # we want field_types to more accurately describe the shape of - # the documents, in particular the contributions. - # https://github.com/DataBiosphere/azul/issues/2689 - return { - 'samples': cls._sample_types(), - 'sample_cell_lines': cls._cell_line_types(), - 'sample_organoids': cls._organoid_types(), - 'sample_specimens': cls._specimen_types(), - 'sequencing_inputs': cls._sequencing_input_types(), - 'specimens': cls._specimen_types(), - 'cell_suspensions': cls._cell_suspension_types(), - 'cell_lines': cls._cell_line_types(), - 'donors': cls._donor_types(), - 'organoids': cls._organoid_types(), - 'files': cls._file_types(), - 'analysis_protocols': cls._analysis_protocol_types(), - 'imaging_protocols': cls._imaging_protocol_types(), - 'library_preparation_protocols': cls._library_preparation_protocol_types(), - 'sequencing_protocols': cls._sequencing_protocol_types(), - 'sequencing_processes': cls._sequencing_process_types(), - 'total_estimated_cells': pass_thru_int, - 'matrices': cls._matrix_types(), - 'contributed_analyses': cls._matrix_types(), - 'projects': cls._project_types(), - 'dates': cls._date_types(), - } - - def _protocols(self, visitor) -> Mapping[str, JSONs]: - return { - p + 's': list(map(getattr(self, '_' + p), getattr(visitor, p + 's').values())) - for p in ( - 'analysis_protocol', - 'imaging_protocol', - 'library_preparation_protocol', - 'sequencing_protocol' - ) - } - - @classmethod - def validate_class(cls): - # Manifest generation depends on this: - assert cls._related_file_types().keys() <= cls._file_types().keys() - - @cached_property - def _api_project(self) -> api.Project: - return one(self.api_bundle.projects.values()) - - @classmethod - def inner_entity_id(cls, entity_type: EntityType, entity: JSON) -> EntityID: - return entity['document_id'] - - @classmethod - def reconcile_inner_entities(cls, - entity_type: EntityType, - *, - this: tuple[JSON, BundleFQID], - that: tuple[JSON, BundleFQID] - ) -> tuple[JSON, BundleFQID]: - this_entity, this_bundle = this - that_entity, that_bundle = that - if that_entity.keys() != this_entity.keys(): - mismatch = set(that_entity.keys()).symmetric_difference(this_entity) - log.warning('Document shape of `%s` this_entity `%s` ' - 'does not match between bundles %r and %r, ' - 'the mismatched properties being: %s', - entity_type, cls.inner_entity_id(entity_type, this_entity), - this_bundle, that_bundle, - mismatch) - return that if that_bundle.version > this_bundle.version else this - - -BaseTransformer.validate_class() - - -def _parse_zarr_file_name(file_name: str - ) -> tuple[bool, str | None, str | None]: - file_name = file_name.split('.zarr/') - if len(file_name) == 1: - return False, None, None - elif len(file_name) == 2: - zarr_name, sub_name = file_name - return True, zarr_name, sub_name - else: - assert False - - -class TransformerVisitor(api.EntityVisitor): - # Entities are tracked by ID to ensure uniqueness if an entity is visited - # twice while descending the entity DAG - specimens: dict[api.UUID4, api.SpecimenFromOrganism] - cell_suspensions: dict[api.UUID4, api.CellSuspension] - cell_lines: dict[api.UUID4, api.CellLine] - donors: dict[api.UUID4, api.DonorOrganism] - organoids: dict[api.UUID4, api.Organoid] - analysis_protocols: dict[api.UUID4, api.AnalysisProtocol] - imaging_protocols: dict[api.UUID4, api.ImagingProtocol] - library_preparation_protocols: dict[api.UUID4, api.LibraryPreparationProtocol] - sequencing_inputs: dict[api.UUID4, api.Biomaterial] - sequencing_protocols: dict[api.UUID4, api.SequencingProtocol] - sequencing_processes: dict[api.UUID4, api.Process] - files: dict[api.UUID4, api.File] - - def __init__(self) -> None: - self.specimens = {} - self.cell_suspensions = {} - self.cell_lines = {} - self.donors = {} - self.organoids = {} - self.analysis_protocols = {} - self.imaging_protocols = {} - self.library_preparation_protocols = {} - self.sequencing_inputs = {} - self.sequencing_protocols = {} - self.sequencing_processes = {} - self.files = {} - - def visit(self, entity: api.Entity) -> None: - if ( - isinstance(entity, api.Biomaterial) - and any(isinstance(protocol, api.SequencingProtocol) - for process in entity.to_processes.values() - for protocol in process.protocols.values()) - ): - self.sequencing_inputs[entity.document_id] = entity - if isinstance(entity, api.SpecimenFromOrganism): - self.specimens[entity.document_id] = entity - elif isinstance(entity, api.CellSuspension): - self.cell_suspensions[entity.document_id] = entity - elif isinstance(entity, api.CellLine): - self.cell_lines[entity.document_id] = entity - elif isinstance(entity, api.DonorOrganism): - self.donors[entity.document_id] = entity - elif isinstance(entity, api.Organoid): - self.organoids[entity.document_id] = entity - elif isinstance(entity, api.Process): - if entity.is_sequencing_process(): - self.sequencing_processes[entity.document_id] = entity - for protocol in entity.protocols.values(): - if isinstance(protocol, api.AnalysisProtocol): - self.analysis_protocols[protocol.document_id] = protocol - elif isinstance(protocol, api.ImagingProtocol): - self.imaging_protocols[protocol.document_id] = protocol - elif isinstance(protocol, api.LibraryPreparationProtocol): - self.library_preparation_protocols[protocol.document_id] = protocol - elif isinstance(protocol, api.SequencingProtocol): - self.sequencing_protocols[protocol.document_id] = protocol - elif isinstance(entity, api.File): - # noinspection PyDeprecation - file_name = entity.manifest_entry.name - is_zarr, zarr_name, sub_name = _parse_zarr_file_name(file_name) - # zarray files no longer exist in DCP2. This condition may no longer - # be needed to support them, but we don't want to risk removing it. - if not is_zarr or sub_name.endswith('.zattrs'): - self.files[entity.document_id] = entity - - @property - def entities(self) -> Iterable[EntityReference]: - # FIXME: Some replicas are still missing for HCA - # https://github.com/DataBiosphere/azul/issues/6597 - for entity_dict in vars(self).values(): - for entity in entity_dict.values(): - yield EntityReference(entity_type=entity.schema_name, - entity_id=str(entity.document_id)) - - -ENTITY = TypeVar('ENTITY', bound=api.Entity) - - -class PartitionedTransformer(BaseTransformer, Generic[ENTITY]): - - @abstractmethod - def _transform(self, - entities: Iterable[ENTITY] - ) -> Iterable[Contribution | Replica]: - """ - Transform the given outer entities into contributions. - """ - raise NotImplementedError - - @abstractmethod - def _entities(self) -> Iterable[ENTITY]: - """ - Return all outer entities of interest in the bundle. - """ - raise NotImplementedError - - def _entities_in(self, partition: BundlePartition) -> Iterator[ENTITY]: - return (e for e in self._entities() if partition.contains(e.document_id)) - - def estimate(self, partition: BundlePartition) -> int: - return ilen(self._entities_in(partition)) - - def transform(self, - partition: BundlePartition - ) -> Iterable[Contribution | Replica]: - return self._transform(generable(self._entities_in, partition)) - - -class FileTransformer(PartitionedTransformer[api.File], ReplicaTransformer): - - @classmethod - def entity_type(cls) -> str: - return 'files' - - @classmethod - def hot_entity_types(cls) -> dict[EntityType, EntityType]: - return { - 'project': 'projects', - 'donor_organism': 'donors', - **{ - f'{protocol_type}_protocol': f'{protocol_type}_protocols' - for protocol_type in ['analysis', 'imaging', 'library_preparation', 'sequencing'] - } - } - - def _entities(self) -> Iterable[api.File]: - return self.api_bundle.not_stitched(self.api_bundle.files) - - def _transform(self, - files: Iterable[api.File] - ) -> Iterable[Contribution | Replica]: - zarr_stores: Mapping[str, list[api.File]] = self.group_zarrs(files) - for file in files: - file_name = file.manifest_entry.name - is_zarr, zarr_name, sub_name = _parse_zarr_file_name(file_name) - # zarray files no longer exist in DCP2. This condition may no longer - # be needed to support them, but we don't want to risk removing it. - if not is_zarr or sub_name.endswith('.zattrs'): - if is_zarr: - # This is the representative file, so add the related files - related_files = zarr_stores[zarr_name] - else: - related_files = () - visitor, samples = self._visit_file(file) - contents = dict(self._samples(samples.values()), - sequencing_inputs=list( - map(self._sequencing_input, visitor.sequencing_inputs.values()) - ), - specimens=list(map(self._specimen, visitor.specimens.values())), - cell_suspensions=list(map(self._cell_suspension, visitor.cell_suspensions.values())), - cell_lines=list(map(self._cell_line, visitor.cell_lines.values())), - donors=list(map(self._donor, visitor.donors.values())), - organoids=list(map(self._organoid, visitor.organoids.values())), - files=[self._file(file, related_files=related_files)], - **self._protocols(visitor), - sequencing_processes=list( - map(self._sequencing_process, visitor.sequencing_processes.values()) - ), - dates=[self._date(file)], - projects=[self._project(self._api_project)]) - # Supplementary file matrices provide stratification values that - # need to be reflected by inner entities in the contribution. - if isinstance(file, api.SupplementaryFile) and file.is_matrix: - if Submitter.category_for_file(file) in ( - SubmitterCategory.internal, - SubmitterCategory.external - ): - additional_contents = self.matrix_stratification_values(file) - for entity_type, values in additional_contents.items(): - contents[entity_type].extend(values) - file_id = file.ref.entity_id - yield self._contribution(contents, file_id) - if config.enable_replicas: - project_ref = self._api_project.ref - project_id = project_ref.entity_id - for ref in chain([project_ref, self.api_bundle.ref], visitor.entities): - file_hub = None if ref.entity_type in self.hot_entity_types() else file_id - yield self._replica(ref, file_hub=file_hub, root_hub=project_id) - - def matrix_stratification_values(self, file: api.File) -> JSON: - """ - Returns inner entity values (contents) read from the stratification - values provided by a supplementary file project-level matrix. - """ - contents = defaultdict(list) - file_description = file.json.get('file_description') - if file_description: - file_name = file.manifest_entry.name - strata = parse_strata(file_description) - for stratum in strata: - donor = {} - genus_species = stratum.get('genusSpecies') - if genus_species is not None: - donor['genus_species'] = sorted(genus_species) - development_stage = stratum.get('developmentStage') - if development_stage is not None: - donor['development_stage'] = sorted(development_stage) - if donor: - donor.update( - { - 'biomaterial_id': f'donor_organism_{file_name}', - } - ) - contents['donors'].append(donor) - organ = stratum.get('organ') - if organ is not None: - for i, one_organ in enumerate(sorted(organ)): - contents['specimens'].append( - { - 'biomaterial_id': f'specimen_from_organism_{i}_{file_name}', - 'organ': one_organ, - }, - ) - library = stratum.get('libraryConstructionApproach') - if library is not None: - contents['library_preparation_protocols'].append( - { - 'library_construction_approach': sorted(library), - } - ) - return contents - - def group_zarrs(self, - files: Iterable[api.File] - ) -> Mapping[str, list[api.File]]: - zarr_stores = defaultdict(list) - for file in files: - file_name = file.manifest_entry.name - is_zarr, zarr_name, sub_name = _parse_zarr_file_name(file_name) - if is_zarr: - # Leave the representative file out of the list since it's already in the manifest - if not sub_name.startswith('.zattrs'): - zarr_stores[zarr_name].append(file) - return zarr_stores - - -class CellSuspensionTransformer(PartitionedTransformer): - - @classmethod - def entity_type(cls) -> str: - return 'cell_suspensions' - - def _entities(self) -> Iterable[api.CellSuspension]: - for biomaterial in self.api_bundle.biomaterials.values(): - if isinstance(biomaterial, api.CellSuspension): - yield biomaterial - - def _transform(self, - cell_suspensions: Iterable[api.CellSuspension] - ) -> Iterable[Contribution]: - for cell_suspension in cell_suspensions: - samples: dict[str, Sample] = dict() - self._find_ancestor_samples(cell_suspension, samples) - visitor = TransformerVisitor() - cell_suspension.accept(visitor) - cell_suspension.ancestors(visitor) - contents = dict(self._samples(samples.values()), - sequencing_inputs=list( - map(self._sequencing_input, visitor.sequencing_inputs.values()) - ), - specimens=list(map(self._specimen, visitor.specimens.values())), - cell_suspensions=[self._cell_suspension(cell_suspension)], - cell_lines=list(map(self._cell_line, visitor.cell_lines.values())), - donors=list(map(self._donor, visitor.donors.values())), - organoids=list(map(self._organoid, visitor.organoids.values())), - files=list(map(self._file, visitor.files.values())), - **self._protocols(visitor), - sequencing_processes=list( - map(self._sequencing_process, visitor.sequencing_processes.values()) - ), - dates=[self._date(cell_suspension)], - projects=[self._project(self._api_project)]) - yield self._contribution(contents, cell_suspension.ref.entity_id) - - -class SampleTransformer(PartitionedTransformer): - - @classmethod - def entity_type(cls) -> str: - return 'samples' - - @classmethod - def inner_entity_types(cls) -> frozenset[str]: - return frozenset([ - cls.entity_type(), - 'sample_cell_lines', - 'sample_organoids', - 'sample_specimens' - ]) - - def _entities(self) -> Iterable[Sample]: - samples: dict[str, Sample] = dict() - for file in self.api_bundle.not_stitched(self.api_bundle.files): - self._find_ancestor_samples(file, samples) - return samples.values() - - def _transform(self, samples: Iterable[Sample]) -> Iterable[Contribution]: - for sample in samples: - visitor = TransformerVisitor() - sample.accept(visitor) - sample.ancestors(visitor) - contents = dict(self._samples([sample]), - sequencing_inputs=list( - map(self._sequencing_input, visitor.sequencing_inputs.values()) - ), - specimens=list(map(self._specimen, visitor.specimens.values())), - cell_suspensions=list(map(self._cell_suspension, visitor.cell_suspensions.values())), - cell_lines=list(map(self._cell_line, visitor.cell_lines.values())), - donors=list(map(self._donor, visitor.donors.values())), - organoids=list(map(self._organoid, visitor.organoids.values())), - files=list(map(self._file, visitor.files.values())), - **self._protocols(visitor), - sequencing_processes=list( - map(self._sequencing_process, visitor.sequencing_processes.values()) - ), - dates=[self._date(sample)], - projects=[self._project(self._api_project)]) - yield self._contribution(contents, sample.ref.entity_id) - - -class BundleAsEntity(DatedEntity): - - def __init__(self, bundle: api.Bundle) -> None: - super().__init__() - self.document_id = bundle.uuid - # A bundle's version should be a sortable string, however we happen to - # know that all bundles in current deployments use a DCP/2 version - # string, so we use this to set the entity's date fields. - date = parse_dcp2_version(bundle.version) - self.update_date = date - self.submission_date = date - - -class SingletonTransformer(BaseTransformer, metaclass=ABCMeta): - """ - A transformer for entity types of which there is exactly one instance in - every bundle. - """ - - @property - def _singleton_id(self) -> api.UUID4: - return self._singleton_entity().document_id - - @abstractmethod - def _singleton_entity(self) -> DatedEntity: - raise NotImplementedError - - def _dated_entities(self) -> Iterable[DatedEntity]: - return self.api_bundle.not_stitched(self.api_bundle.entities) - - def estimate(self, partition: BundlePartition) -> int: - return int(partition.contains(self._singleton_id)) - - def transform(self, partition: BundlePartition) -> Iterable[Contribution]: - if partition.contains(self._singleton_id): - yield self._transform() - - def _transform(self) -> Contribution: - # Project entities are not explicitly linked in the graph. The mere - # presence of project metadata in a bundle indicates that all other - # entities in that bundle belong to that project. Because of that we - # can't rely on a visitor to collect the related entities but have to - # enumerate them explicitly. - # FIXME: https://github.com/DataBiosphere/azul/issues/3270 - # Comment doesn't match code behavior - # The enumeration should not include any - # stitched entities because those will be discovered when the stitched - # bundle is transformed. - # - visitor = TransformerVisitor() - for specimen in self.api_bundle.specimens: - specimen.accept(visitor) - specimen.ancestors(visitor) - samples: dict[str, Sample] = dict() - for file in self.api_bundle.files.values(): - file.accept(visitor) - file.ancestors(visitor) - self._find_ancestor_samples(file, samples) - matrices = [ - self._matrix(file) - for file in visitor.files.values() - if ( - file.is_matrix - and not self._is_intermediate_matrix(file) - and Submitter.category_for_file(file) == SubmitterCategory.internal - ) - ] - contributed_analyses = [ - self._matrix(file) - for file in visitor.files.values() - if ( - (file.is_matrix or isinstance(file, api.AnalysisFile)) - and not self._is_intermediate_matrix(file) - and Submitter.category_for_file(file) == SubmitterCategory.external - ) - ] - - contents = dict(self._samples(samples.values()), - sequencing_inputs=list( - map(self._sequencing_input, visitor.sequencing_inputs.values()) - ), - specimens=list(map(self._specimen, visitor.specimens.values())), - cell_suspensions=list(map(self._cell_suspension, visitor.cell_suspensions.values())), - cell_lines=list(map(self._cell_line, visitor.cell_lines.values())), - donors=list(map(self._donor, visitor.donors.values())), - organoids=list(map(self._organoid, visitor.organoids.values())), - files=list(map(self._file, visitor.files.values())), - **self._protocols(visitor), - sequencing_processes=list( - map(self._sequencing_process, visitor.sequencing_processes.values()) - ), - matrices=matrices, - contributed_analyses=contributed_analyses, - dates=[self._date(self._singleton_entity())], - projects=[self._project(self._api_project)]) - return self._contribution(contents, str(self._singleton_id)) - - -class ProjectTransformer(SingletonTransformer): - - def _singleton_entity(self) -> DatedEntity: - return self._api_project - - @classmethod - def entity_type(cls) -> str: - return 'projects' - - -class BundleTransformer(SingletonTransformer): - - # FIXME: Some replicas are still missing for HCA - # https://github.com/DataBiosphere/azul/issues/6597 - - def _singleton_entity(self) -> DatedEntity: - return BundleAsEntity(self.api_bundle) - - @classmethod - def aggregator(cls, entity_type: EntityType) -> EntityAggregator | None: - if entity_type == 'files': - return None - else: - return super().aggregator(entity_type) - - @classmethod - def entity_type(cls) -> str: - return 'bundles' diff --git a/src/azul/plugins/metadata/hca/service/__init__.py b/src/azul/plugins/metadata/hca/service/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/azul/plugins/metadata/hca/service/aggregation.py b/src/azul/plugins/metadata/hca/service/aggregation.py deleted file mode 100644 index bb30ceb084..0000000000 --- a/src/azul/plugins/metadata/hca/service/aggregation.py +++ /dev/null @@ -1,153 +0,0 @@ -from typing import ( - Mapping, -) - -from opensearchpy import ( - Q, - Search, -) -from opensearchpy.helpers.aggs import ( - Agg, -) - -from azul import ( - cached_property, - config, -) -from azul.plugins import ( - FieldPath, - dotted, -) -from azul.service.elasticsearch_service import ( - AggregationStage, -) -from azul.types import ( - MutableJSON, -) - - -class HCAAggregationStage(AggregationStage): - - def _prepare_aggregation(self, *, facet: str, facet_path: FieldPath) -> Agg: - agg = super()._prepare_aggregation(facet=facet, facet_path=facet_path) - - if facet == 'project': - sub_path = dotted(self.plugin.field_mapping['projectId'], 'keyword') - agg.aggs['myTerms'].bucket(name='myProjectIds', - agg_type='terms', - field=sub_path, - size=config.terms_aggregation_size) - elif facet == 'fileFormat': - # FIXME: Use of shadow field is brittle - # https://github.com/DataBiosphere/azul/issues/2289 - def set_summary_agg(field: str, bucket: str) -> None: - path = dotted(self.plugin.field_mapping[field]) + '_' - agg.aggs['myTerms'].metric(bucket, 'sum', field=path) - agg.aggs['untagged'].metric(bucket, 'sum', field=path) - - set_summary_agg(field='fileSize', bucket='size_by_type') - set_summary_agg(field='matrixCellCount', bucket='matrix_cell_count_by_type') - - return agg - - -class HCASummaryAggregationStage(HCAAggregationStage): - - def prepare_request(self, request: Search) -> Search: - request = super().prepare_request(request) - entity_type = self.entity_type - - def add_filters_sum_agg(parent_field, parent_bucket, child_field, child_bucket): - parent_field_type = self.service.field_type(self.catalog, tuple(parent_field.split('.'))) - null_value = parent_field_type.to_index(None) - request.aggs.bucket( - parent_bucket, - 'filters', - filters={ - 'hasSome': Q('bool', must=[ - Q('exists', field=parent_field), # field exists... - Q('bool', must_not=[ # ...and is not zero or null - Q('terms', **{parent_field: [0, null_value]}) - ]) - ]) - }, - other_bucket_key='hasNone', - ).metric( - child_bucket, - 'sum', - field=child_field - ) - - if entity_type == 'files': - # Add a total file size aggregate - request.aggs.metric('totalFileSize', - 'sum', - field='contents.files.size_') - elif entity_type == 'cell_suspensions': - # Add a cell count aggregate per organ - request.aggs.bucket( - 'cellCountSummaries', - 'terms', - field='contents.cell_suspensions.organ.keyword', - size=config.terms_aggregation_size - ).bucket( - 'cellCount', - 'sum', - field='contents.cell_suspensions.total_estimated_cells_' - ) - elif entity_type == 'samples': - # Add an organ aggregate to the Elasticsearch request - request.aggs.bucket('organTypes', - 'terms', - field='contents.samples.effective_organ.keyword', - size=config.terms_aggregation_size) - elif entity_type == 'projects': - # Add project cell count sum aggregates from the projects with and - # without any cell suspension cell counts. - add_filters_sum_agg(parent_field='contents.cell_suspensions.total_estimated_cells', - parent_bucket='cellSuspensionCellCount', - child_field='contents.projects.estimated_cell_count_', - child_bucket='projectCellCount') - # Add cell suspensions cell count sum aggregates from projects - # with and without a project level estimated cell count. - add_filters_sum_agg(parent_field='contents.projects.estimated_cell_count', - parent_bucket='projectCellCount', - child_field='contents.cell_suspensions.total_estimated_cells_', - child_bucket='cellSuspensionCellCount') - else: - assert False, entity_type - - threshold = config.precision_threshold - for agg_name, cardinality in self._cardinality_aggregations.items(): - request.aggs.metric(agg_name, - 'cardinality', - field=cardinality + '.keyword', - precision_threshold=str(threshold)) - - self._annotate_aggs_for_translation(request) - request = request.extra(size=0) - return request - - @cached_property - def _cardinality_aggregations(self) -> Mapping[str, str]: - return { - 'samples': { - 'specimenCount': 'contents.specimens.document_id', - 'speciesCount': 'contents.donors.genus_species', - 'donorCount': 'contents.donors.document_id', - }, - 'projects': { - 'labCount': 'contents.projects.laboratory', - } - }.get(self.entity_type, {}) - - def process_response(self, response: MutableJSON) -> MutableJSON: - response = super().process_response(response) - result = response['aggregations'] - threshold = config.precision_threshold - - for agg_name in self._cardinality_aggregations: - agg_value = result[agg_name]['value'] - assert agg_value <= threshold * .9, (agg_name, agg_value, threshold) - - return result diff --git a/src/azul/plugins/metadata/hca/service/contributor_matrices.py b/src/azul/plugins/metadata/hca/service/contributor_matrices.py deleted file mode 100644 index 5e2f2df0eb..0000000000 --- a/src/azul/plugins/metadata/hca/service/contributor_matrices.py +++ /dev/null @@ -1,367 +0,0 @@ -from collections import ( - defaultdict, -) -from itertools import ( - chain, - product, -) -from typing import ( - Mapping, - Sequence, -) - -from azul.collections import ( - NestedDict, -) -from azul.types import ( - JSON, - JSONs, -) - -default_order_of_matrix_dimensions = [ - 'genusSpecies', - 'developmentStage', - 'organ', - 'libraryConstructionApproach', -] - - -def parse_strata(strata: str) -> JSONs: - """ - >>> from azul.doctests import assert_json - >>> def f(strata): - ... return assert_json(parse_strata(strata)) - - >>> f('a=A1;b=B1,B2') - [ - { - "a": [ - "A1" - ], - "b": [ - "B1", - "B2" - ] - } - ] - - >>> f('a=A1;b=B1\\na=A2;b=B2,B3') - [ - { - "a": [ - "A1" - ], - "b": [ - "B1" - ] - }, - { - "a": [ - "A2" - ], - "b": [ - "B2", - "B3" - ] - } - ] - - >>> f('') - Traceback (most recent call last): - ... - ValueError: not enough values to unpack (expected 2, got 1) - """ - return [ - { - dimension: values.split(',') - for dimension, values in (point.split('=') for point in stratum.split(';')) - } - for stratum in strata.split('\n') - ] - - -def make_stratification_tree(files: Sequence[Mapping[str, str]]) -> JSON: - """ - >>> from azul.doctests import assert_json - >>> def f(files): - ... return assert_json(make_stratification_tree(files)) - - >>> f( - ... [ - ... { - ... 'uuid': 'u', - ... 'version': 'v', - ... 'name': 'n', - ... 'size': 1, - ... 'source': 's', - ... 'strata': 'developmentStage=a;genusSpecies=b;organ=c' - ... } - ... ] - ... ) - { - "genusSpecies": { - "b": { - "developmentStage": { - "a": { - "organ": { - "c": [ - { - "uuid": "u", - "version": "v", - "name": "n", - "size": 1, - "source": "s", - "drs_uri": null - } - ] - } - } - } - } - } - } - - >>> f( - ... [ - ... { - ... 'uuid': 'u1', - ... 'version': 'v1', - ... 'name': 'n1', - ... 'size': 1, - ... 'source': 's1', - ... 'strata': 'genusSpecies=a;organ=b' - ... }, - ... { - ... 'uuid': 'u2', - ... 'version': 'v2', - ... 'name': 'n2', - ... 'size': 2, - ... 'source': 's2', - ... 'strata': 'genusSpecies=a;organ=b' - ... } - ... ] - ... ) - { - "genusSpecies": { - "a": { - "organ": { - "b": [ - { - "uuid": "u1", - "version": "v1", - "name": "n1", - "size": 1, - "source": "s1", - "drs_uri": null - }, - { - "uuid": "u2", - "version": "v2", - "name": "n2", - "size": 2, - "source": "s2", - "drs_uri": null - } - ] - } - } - } - } - - >>> f( - ... [ - ... { - ... 'uuid': 'u1', - ... 'version': 'v1', - ... 'name': 'n1', - ... 'size': 1, - ... 'source': 's1', - ... 'strata': 'genusSpecies=a;organ=b\\ngenusSpecies=c;organ=d' - ... }, - ... { - ... 'uuid': 'u2', - ... 'version': 'v2', - ... 'name': 'n2', - ... 'size': 2, - ... 'source': 's2', - ... 'strata': 'genusSpecies=a,e;organ=f' - ... } - ... ] - ... ) - { - "genusSpecies": { - "a": { - "organ": { - "b": [ - { - "uuid": "u1", - "version": "v1", - "name": "n1", - "size": 1, - "source": "s1", - "drs_uri": null - } - ], - "f": [ - { - "uuid": "u2", - "version": "v2", - "name": "n2", - "size": 2, - "source": "s2", - "drs_uri": null - } - ] - } - }, - "c": { - "organ": { - "d": [ - { - "uuid": "u1", - "version": "v1", - "name": "n1", - "size": 1, - "source": "s1", - "drs_uri": null - } - ] - } - }, - "e": { - "organ": { - "f": [ - { - "uuid": "u2", - "version": "v2", - "name": "n2", - "size": 2, - "source": "s2", - "drs_uri": null - } - ] - } - } - } - } - - >>> f( - ... [ - ... { - ... 'uuid': 'u', - ... 'version': 'v', - ... 'name': 'n', - ... 'size': 1, - ... 'source': 's', - ... 'strata': 'genusSpecies=a;organ=b\\ngenusSpecies=a' - ... } - ... ] - ... ) - { - "genusSpecies": { - "a": { - "organ": { - "b": [ - { - "uuid": "u", - "version": "v", - "name": "n", - "size": 1, - "source": "s", - "drs_uri": null - } - ], - "Unspecified": [ - { - "uuid": "u", - "version": "v", - "name": "n", - "size": 1, - "source": "s", - "drs_uri": null - } - ] - } - } - } - } - - >>> f( - ... [ - ... { - ... 'uuid': 'u', - ... 'version': 'v', - ... 'name': 'n', - ... 'size': 1, - ... 'source': 's', - ... 'strata': 'genusSpecies=a;foo=b' - ... } - ... ] - ... ) - Traceback (most recent call last): - ... - ValueError: 'foo' is not in list - """ - assert len(set(file['uuid'] for file in files)) == len(files), files - - files = [ - { - **file, - # Each line in the stratification string represents a stratum, - # each stratum is a list of points, each point has a dimension - # and a list of values. Transform that string into a list of - # dictionaries. Each entry in those dictionaries maps the - # dimension to a value in that dimension. If dimension in a - # stratum has multiple values, the stratum is expanded into - # multiple strata, one per value. The strata are identical except - # in the dimension that had the multiple values. - 'strata': list(chain.from_iterable( - map(dict, product(*( - [(dimension, value) for value in values] - for dimension, values in stratum.items() - ))) - for stratum in parse_strata(file['strata']) - )), - 'drs_uri': file.get('drs_uri') - } - for file in files - ] - - def dimension_placement(dimension: str) -> tuple[int, int]: - dimension_index = default_order_of_matrix_dimensions.index(dimension) - return len(distinct_values[dimension]), dimension_index - - # To produce a tree with the most shared base branches possible we sort - # the dimensions by number of distinct values on each dimension, and - # secondarily sort according to the defined default ordering. - distinct_values = defaultdict(set) - for file in files: - for stratum in file['strata']: - for dimension, value in stratum.items(): - distinct_values[dimension].add(value) - sorted_dimensions = sorted(distinct_values, key=dimension_placement) - - # Ensure every stratum of every file has the same dimensions - for file in files: - for stratum in file['strata']: - # FIXME: https://github.com/DataBiosphere/azul/issues/2443 - # Instead of creating 'Unspecified' nodes the tree branches - # should not include those nodes, making the branches shorter - # and of different lengths. - for dimension in set(sorted_dimensions).difference(stratum.keys()): - stratum[dimension] = 'Unspecified' - - # Build the tree, as a nested dictionary. The keys in the dictionary - # alternate between dimensions and values. The leaves of the tree are - # lists of matrix files. If a matrix covers multiple strata, it will occur - # multiple times in the tree. - tree = NestedDict(2 * len(sorted_dimensions) - 1, list) - for file in files: - for stratum in file['strata']: - node = tree - for dimension in sorted_dimensions: - value = stratum[dimension] - node = node[dimension][value] - node.append({k: v for k, v in file.items() if k != 'strata'}) - - return tree.to_dict() diff --git a/src/azul/plugins/metadata/hca/service/filter.py b/src/azul/plugins/metadata/hca/service/filter.py deleted file mode 100644 index c2ba76ab88..0000000000 --- a/src/azul/plugins/metadata/hca/service/filter.py +++ /dev/null @@ -1,10 +0,0 @@ -from azul.service.elasticsearch_service import ( - FilterStage, -) - - -class HCAFilterStage(FilterStage): - - @property - def _limit_access(self) -> bool: - return self.entity_type != 'projects' diff --git a/src/azul/plugins/metadata/hca/service/response.py b/src/azul/plugins/metadata/hca/service/response.py deleted file mode 100644 index 0ab6f72243..0000000000 --- a/src/azul/plugins/metadata/hca/service/response.py +++ /dev/null @@ -1,578 +0,0 @@ -from itertools import ( - permutations, - product, -) -import logging -from typing import ( - Callable, - Mapping, - Sequence, - TypeVar, - TypedDict, - cast, -) - -from more_itertools import ( - one, -) - -from azul import ( - cached_property, -) -from azul.plugins import ( - SpecialFields, -) -from azul.plugins.metadata.hca.service.contributor_matrices import ( - make_stratification_tree, -) -from azul.service.elasticsearch_service import ( - ResponsePagination, - ResponseTriple, -) -from azul.service.repository_service import ( - SearchResponseStage, - SummaryResponseStage, -) -from azul.strings import ( - to_camel_case, -) -from azul.types import ( - AnyJSON, - JSON, - JSONs, - MutableJSON, - MutableJSONs, -) - -log = logging.getLogger(__name__) - - -class ValueAndUnit(TypedDict): - value: str - unit: str - - -class Term(TypedDict): - count: int - term: str | ValueAndUnit | None - - -class ProjectTerm(Term): - projectId: list[str] - - -class Terms(TypedDict): - terms: list[Term] - total: int - # FIXME: Remove type from termsFacets in /index responses - # https://github.com/DataBiosphere/azul/issues/2460 - type: str - - -class FileTypeSummary(TypedDict): - format: str - count: int - totalSize: float - matrixCellCount: float - - -class FileTypeSummaryForHit(FileTypeSummary): - fileSource: list[str | None] - isIntermediate: bool - contentDescription: list[str | None] - - -class OrganCellCountSummary(TypedDict): - organType: list[str | None] - countOfDocsWithOrganType: int - totalCellCountByOrgan: float - - -class Hit(TypedDict): - protocols: JSONs - entryId: str - sources: JSONs - projects: JSONs - samples: JSONs - specimens: JSONs - cellLines: JSONs - donorOrganisms: JSONs - organoids: JSONs - cellSuspensions: JSONs - dates: JSONs - - -class CompleteHit(Hit): - bundles: JSONs - files: JSONs - - -class SummarizedHit(Hit): - fileTypeSummaries: list[FileTypeSummary] - - -class SearchResponse(TypedDict): - hits: list[SummarizedHit | CompleteHit] - pagination: ResponsePagination - termFacets: dict[str, Terms] - - -class SummaryResponse(TypedDict): - projectCount: int - specimenCount: int - speciesCount: int - fileCount: int - totalFileSize: float - donorCount: int - labCount: int - organTypes: list[str] - fileTypeSummaries: list[FileTypeSummary] - cellCountSummaries: list[OrganCellCountSummary] - projects: JSONs - - -T = TypeVar('T') - - -class HCASummaryResponseStage(SummaryResponseStage): - - @property - def aggs_by_authority(self) -> Mapping[str, Sequence[str]]: - return { - 'files': [ - 'totalFileSize', - 'fileFormat', - ], - 'samples': [ - 'organTypes', - 'donorCount', - 'specimenCount', - 'speciesCount' - ], - 'projects': [ - 'project', - 'labCount', - 'cellSuspensionCellCount', - 'projectCellCount', - ], - 'cell_suspensions': [ - 'cellCountSummaries', - ] - } - - def process_response(self, response: JSON) -> SummaryResponse: - response = self.make_response(response) - self._validate_response(response) - return response - - def _validate_response(self, response: SummaryResponse): - for total, summary_field in ( - (response['totalFileSize'], 'totalSize'), - (response['fileCount'], 'count') - ): - summaries = cast(JSONs, response['fileTypeSummaries']) - summary_total = sum(summary[summary_field] for summary in summaries) - assert total == summary_total, (total, summary_total) - - def make_response(self, aggs: JSON) -> SummaryResponse: - def agg_value(*path: str) -> AnyJSON: - agg = aggs - for name in path: - agg = agg[name] - return agg - - def agg_values(function: Callable[[JSON], T], *path: str) -> list[T]: - values = agg_value(*path) - assert isinstance(values, list) - return list(map(function, values)) - - bools = [False, True] - cell_counts = { - child: { - (parent, present): agg_value(parent + 'CellCount', - 'buckets', - 'hasSome' if present else 'hasNone', - child + 'CellCount', - 'value') - for present in bools - } - for parent, child in permutations(['project', 'cellSuspension']) - } - - def file_type_summary(bucket: JSON) -> FileTypeSummary: - return FileTypeSummary( - count=bucket['doc_count'], - totalSize=bucket['size_by_type']['value'], - matrixCellCount=bucket['matrix_cell_count_by_type']['value'], - format=bucket['key'] - ) - - def organ_cell_count_summary(bucket: JSON) -> OrganCellCountSummary: - return OrganCellCountSummary( - organType=[bucket['key']], - countOfDocsWithOrganType=bucket['doc_count'], - totalCellCountByOrgan=bucket['cellCount']['value'] - ) - - def organ_type(bucket: JSON) -> str: - return bucket['key'] - - return SummaryResponse(projectCount=agg_value('project', 'doc_count'), - specimenCount=agg_value('specimenCount', 'value'), - speciesCount=agg_value('speciesCount', 'value'), - fileCount=agg_value('fileFormat', 'doc_count'), - totalFileSize=agg_value('totalFileSize', 'value'), - donorCount=agg_value('donorCount', 'value'), - labCount=agg_value('labCount', 'value'), - organTypes=agg_values(organ_type, 'organTypes', 'buckets'), - fileTypeSummaries=agg_values(file_type_summary, - 'fileFormat', - 'myTerms', - 'buckets'), - cellCountSummaries=agg_values(organ_cell_count_summary, - 'cellCountSummaries', - 'buckets'), - projects=[ - { - 'projects': { - 'estimatedCellCount': ( - cell_counts['project']['cellSuspension', project_present] - if cs_present else None - ) - }, - 'cellSuspensions': { - 'totalCells': ( - cell_counts['cellSuspension']['project', cs_present] - if project_present else None - ) - } - } - for project_present, cs_present in product(bools, bools) - if project_present or cs_present - ]) - - -class HCASearchResponseStage(SearchResponseStage): - - def process_response(self, response: ResponseTriple) -> SearchResponse: - hits, pagination, aggs = response - return SearchResponse(pagination=pagination, - termFacets=self.make_facets(aggs), - hits=self.make_hits(hits)) - - def make_bundles(self, entry) -> MutableJSONs: - return [ - { - self._special_fields.bundle_uuid: b['uuid'], - self._special_fields.bundle_version: b['version'] - } - for b in entry['bundles'] - ] - - def make_sources(self, entry) -> MutableJSONs: - return [ - { - self._special_fields.source_id: s['id'], - self._special_fields.source_spec: s['spec'] - } - for s in entry['sources'] - ] - - @cached_property - def _special_fields(self) -> SpecialFields: - return self.plugin.special_fields - - def make_protocols(self, entry) -> MutableJSONs: - return [ - *( - { - 'workflow': p.get('workflow', None), - } - for p in entry['contents']['analysis_protocols'] - ), - *( - { - 'assayType': p.get('assay_type', None), - } - for p in entry['contents']['imaging_protocols'] - ), - *( - { - 'libraryConstructionApproach': p.get('library_construction_approach', None), - 'nucleicAcidSource': p.get('nucleic_acid_source', None), - } - for p in entry['contents']['library_preparation_protocols']), - *( - { - 'instrumentManufacturerModel': p.get('instrument_manufacturer_model', None), - 'pairedEnd': p.get('paired_end', None), - } - for p in entry['contents']['sequencing_protocols'] - ) - ] - - def make_dates(self, entry) -> MutableJSONs: - return [ - { - 'aggregateLastModifiedDate': dates['aggregate_last_modified_date'], - 'aggregateSubmissionDate': dates['aggregate_submission_date'], - 'aggregateUpdateDate': dates['aggregate_update_date'], - 'lastModifiedDate': dates['last_modified_date'], - 'submissionDate': dates['submission_date'], - 'updateDate': dates['update_date'], - } - for dates in entry['contents']['dates'] - ] - - def make_projects(self, entry) -> MutableJSONs: - projects = [] - contents = entry['contents'] - for project in contents['projects']: - translated_project = { - 'projectId': project['document_id'], - 'projectTitle': project.get('project_title'), - 'projectShortname': project['project_short_name'], - 'laboratory': sorted(set(project.get('laboratory', [None]))), - 'estimatedCellCount': project['estimated_cell_count'], - 'isTissueAtlasProject': project['is_tissue_atlas_project'], - 'tissueAtlas': project.get('tissue_atlas'), - 'bionetworkName': project['bionetwork_name'], - 'dataUseRestriction': project.get('data_use_restriction'), - 'duosId': project.get('duos_id') - } - if self.entity_type == 'projects': - translated_project['projectDescription'] = project.get('project_description', []) - contributors = project.get('contributors', []) # list of dict - translated_project['contributors'] = contributors - publications = project.get('publications', []) # list of dict - translated_project['publications'] = publications - for contributor in contributors: - for key in list(contributor.keys()): - contributor[to_camel_case(key)] = contributor.pop(key) - for publication in publications: - for key in list(publication.keys()): - publication[to_camel_case(key)] = publication.pop(key) - translated_project['supplementaryLinks'] = project.get('supplementary_links', [None]) - translated_project['matrices'] = self.make_matrices_(contents['matrices']) - translated_project['contributedAnalyses'] = self.make_matrices_(contents['contributed_analyses']) - translated_project['accessions'] = project.get('accessions', [None]) - projects.append(translated_project) - return projects - - # FIXME: Move this to during aggregation - # https://github.com/DataBiosphere/azul/issues/2415 - - def make_matrices_(self, matrices: JSONs) -> JSON: - files = [] - if matrices: - for file in cast(JSONs, one(matrices)['file']): - translated_file = { - **self.make_translated_file(file), - 'strata': file['strata'] - } - files.append(translated_file) - return make_stratification_tree(files) - - def make_files(self, entry: JSON) -> JSONs: - files = [] - for _file in entry['contents']['files']: - translated_file = self.make_translated_file(_file) - files.append(translated_file) - return files - - def make_translated_file(self, file: JSON) -> JSON: - translated_file = { - 'contentDescription': file.get('content_description'), - 'format': file.get('file_format'), - 'isIntermediate': file.get('is_intermediate'), - 'name': file.get('name'), - 'sha256': file.get('sha256'), - 'size': file.get('size'), - 'fileSource': file.get('file_source'), - 'uuid': file.get('uuid'), - 'version': file.get('version'), - 'matrixCellCount': file.get('matrix_cell_count'), - 'drs_uri': file.get('drs_uri') - } - return translated_file - - def make_specimen(self, specimen) -> MutableJSON: - return { - 'id': specimen['biomaterial_id'], - 'organ': specimen.get('organ', None), - 'organPart': specimen.get('organ_part', None), - 'disease': specimen.get('disease', None), - 'preservationMethod': specimen.get('preservation_method', None), - 'source': specimen.get('_source', None) - } - - def make_specimens(self, entry) -> MutableJSONs: - return [self.make_specimen(specimen) for specimen in entry['contents']['specimens']] - - cell_suspension_fields = [ - ('organ', 'organ'), - ('organPart', 'organ_part'), - ('selectedCellType', 'selected_cell_type'), - ('totalCells', 'total_estimated_cells'), - ('totalCellsRedundant', 'total_estimated_cells_redundant') - ] - - def make_cell_suspension(self, cell_suspension) -> MutableJSON: - return { - k: cell_suspension.get(v, None) - for k, v in self.cell_suspension_fields - } - - def make_cell_suspensions(self, entry) -> MutableJSONs: - return [self.make_cell_suspension(cs) for cs in entry['contents']['cell_suspensions']] - - def make_cell_line(self, cell_line) -> MutableJSON: - return { - 'id': cell_line['biomaterial_id'], - 'cellLineType': cell_line.get('cell_line_type', None), - 'modelOrgan': cell_line.get('model_organ', None), - } - - def make_cell_lines(self, entry) -> MutableJSONs: - return [self.make_cell_line(cell_line) for cell_line in entry['contents']['cell_lines']] - - def make_donor(self, donor) -> MutableJSON: - return { - 'id': donor['biomaterial_id'], - 'donorCount': donor.get('donor_count', None), - 'developmentStage': donor.get('development_stage', None), - 'genusSpecies': donor.get('genus_species', None), - 'organismAge': donor.get('organism_age', None), - 'organismAgeRange': donor.get('organism_age_range', None), # list of dict - 'biologicalSex': donor.get('biological_sex', None), - 'disease': donor.get('diseases', None) - } - - def make_donors(self, entry) -> MutableJSONs: - return [self.make_donor(donor) for donor in entry['contents']['donors']] - - def make_organoid(self, organoid) -> MutableJSON: - return { - 'id': organoid['biomaterial_id'], - 'modelOrgan': organoid.get('model_organ', None), - 'modelOrganPart': organoid.get('model_organ_part', None) - } - - def make_organoids(self, entry) -> MutableJSONs: - return [self.make_organoid(organoid) for organoid in entry['contents']['organoids']] - - def make_sample(self, sample, entity_dict, entity_type) -> MutableJSON: - is_aggregate = isinstance(sample['document_id'], list) - organ_prop = 'organ' if entity_type == 'specimens' else 'model_organ' - return { - 'sampleEntityType': [entity_type] if is_aggregate else entity_type, - 'effectiveOrgan': sample[organ_prop], - **entity_dict - } - - def make_samples(self, entry) -> MutableJSONs: - pieces = [ - (self.make_cell_line, 'cellLines', 'sample_cell_lines'), - (self.make_organoid, 'organoids', 'sample_organoids'), - (self.make_specimen, 'specimens', 'sample_specimens'), - ] - return [ - self.make_sample(sample, entity_fn(sample), entity_type) - for entity_fn, entity_type, sample_entity_type in pieces - for sample in entry['contents'].get(sample_entity_type, []) - ] - - def make_hits(self, hits: JSONs) -> MutableJSONs: - return list(map(self.make_hit, hits)) - - def make_hit(self, es_hit) -> MutableJSON: - hit = Hit(protocols=self.make_protocols(es_hit), - entryId=es_hit['entity_id'], - sources=self.make_sources(es_hit), - projects=self.make_projects(es_hit), - samples=self.make_samples(es_hit), - specimens=self.make_specimens(es_hit), - cellLines=self.make_cell_lines(es_hit), - donorOrganisms=self.make_donors(es_hit), - organoids=self.make_organoids(es_hit), - cellSuspensions=self.make_cell_suspensions(es_hit), - dates=self.make_dates(es_hit)) - if self.entity_type in ('files', 'bundles'): - hit = cast(CompleteHit, hit) - hit['bundles'] = self.make_bundles(es_hit) - hit['files'] = self.make_files(es_hit) - else: - hit = cast(SummarizedHit, hit) - - def file_type_summary(aggregate_file: JSON) -> FileTypeSummaryForHit: - summary = FileTypeSummaryForHit( - count=aggregate_file['count'], - fileSource=cast(list, aggregate_file['file_source']), - totalSize=aggregate_file['size'], - matrixCellCount=aggregate_file['matrix_cell_count'], - format=aggregate_file['file_format'], - isIntermediate=aggregate_file['is_intermediate'], - contentDescription=cast(list, aggregate_file['content_description']) - ) - assert isinstance(summary['format'], str), type(str) - assert summary['format'] - return summary - - hit['fileTypeSummaries'] = [ - file_type_summary(aggregate_file) - for aggregate_file in es_hit['contents']['files'] - ] - return hit - - def make_terms(self, agg) -> Terms: - def choose_entry(_term): - if 'key_as_string' in _term: - return _term['key_as_string'] - elif (term_key := _term['key']) is None: - return None - elif isinstance(term_key, bool): - return str(term_key).lower() - elif isinstance(term_key, dict): - return term_key - else: - return str(term_key) - - terms: list[Term] = [] - for bucket in agg['myTerms']['buckets']: - term = Term(term=choose_entry(bucket), - count=bucket['doc_count']) - try: - sub_agg = bucket['myProjectIds'] - except KeyError: - pass - else: - project_ids = [sub_bucket['key'] for sub_bucket in sub_agg['buckets']] - term = cast(ProjectTerm, term) - term['projectId'] = project_ids - terms.append(term) - - untagged_count = agg['untagged']['doc_count'] - - # Add the untagged_count to the existing termObj for a None value, or - # add a new one - if untagged_count > 0: - for term in terms: - if term['term'] is None: - term['count'] += untagged_count - untagged_count = 0 - break - if untagged_count > 0: - terms.append(Term(term=None, count=untagged_count)) - - return Terms(terms=terms, - total=0 if len(agg['myTerms']['buckets']) == 0 else agg['doc_count'], - # FIXME: Remove type from termsFacets in /index responses - # https://github.com/DataBiosphere/azul/issues/2460 - type='terms') - - def make_facets(self, aggs: JSON) -> MutableJSON: - facets = {} - for facet, agg in aggs.items(): - if facet != '_project_agg': # Filter out project specific aggs - facets[facet] = self.make_terms(agg) - return facets diff --git a/src/azul/plugins/repository/__init__.py b/src/azul/plugins/repository/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/azul/plugins/repository/canned/__init__.py b/src/azul/plugins/repository/canned/__init__.py deleted file mode 100644 index 093cc5a9c4..0000000000 --- a/src/azul/plugins/repository/canned/__init__.py +++ /dev/null @@ -1,308 +0,0 @@ -""" -This repository plugin allows reading from a canned staging area like the one in -the GitHub repo https://github.com/HumanCellAtlas/schema-test-data . - -NOTE: This plugin's purpose is for testing and verification of a canned staging -area, and should not be used to create catalogs on a deployment. It can however -be used with the `can_bundle.py` script to create a local canned bundle from the -files in the canned staging area. -""" -import logging -from pathlib import ( - Path, -) -from tempfile import ( - TemporaryDirectory, -) -import time - -from furl import ( - furl, -) - -from azul import ( - R, - lru_cache, -) -from azul.auth import ( - Authentication, -) -from azul.drs import ( - DRSClient, -) -from azul.http import ( - HasCachedHttpClient, -) -from azul.indexer import ( - SimpleSourceSpec, - SourceRef, - SourcedBundleFQID, -) -from azul.plugins import ( - RepositoryFileDownload, - RepositoryPlugin, -) -from azul.plugins.metadata.hca import ( - HCAFile, -) -from azul.plugins.metadata.hca.bundle import ( - HCABundle, -) -from azul.time import ( - parse_dcp2_version, -) -from azul.types import ( - JSON, -) -from humancellatlas.data.metadata.helpers.staging_area import ( - CannedStagingAreaFactory, - StagingArea, -) - -log = logging.getLogger(__name__) - - -class CannedSourceRef(SourceRef[SimpleSourceSpec]): - pass - - -class CannedBundleFQID(SourcedBundleFQID[CannedSourceRef]): - pass - - -class CannedBundle(HCABundle[CannedBundleFQID]): - - @classmethod - def canning_qualifier(cls) -> str: - return 'gh.hca' - - def drs_uri(self, manifest_entry: JSON) -> str | None: - return 'dss' - - -class Plugin(RepositoryPlugin[ - CannedBundle, - SimpleSourceSpec, - CannedSourceRef, - CannedBundleFQID - ], - HasCachedHttpClient): - - def list_sources(self, - authentication: Authentication | None - ) -> list[CannedSourceRef]: - return [ - CannedSourceRef(id=self._lookup_source_id(spec), spec=spec) - for spec in self.sources - ] - - def _lookup_source_id(self, spec: SimpleSourceSpec) -> str: - return str(spec) - - def parse_github_url(self, url: furl) -> tuple[furl, Path, str]: - """ - Parse a GitHub URL. - - :param url: A GitHub URL of the format - https://github.com///tree/[/]. Note - that REF can be the name of a branch, the name of a tag, or - a commit SHA. If REF contains special characters like `/`, - '?` or `#` they must be URL-encoded. This is especially - noteworthy for `/` in branch names. - - :return: A tuple containing the URL of a GitHub repository, a relative - path inside that repository, and a Git ref. - - >>> plugin = Plugin(catalog='') - - >>> plugin.parse_github_url(furl('https://github.com/OWNER/NAME/tree/REF/tests')) - (furl('https://github.com/OWNER/NAME.git'), PosixPath('tests'), 'REF') - """ - assert url.scheme == 'https', R('Unexpected scheme', url) - assert url.host == 'github.com', R('Unexpected host', url) - owner, name, slug, ref, *path = url.path.segments - assert slug == 'tree', R('Unexpected slug', url) - remote_url = furl(url.origin) - remote_url.path.add((owner, f'{name}.git')) - return remote_url, Path(*path), ref - - @lru_cache - def staging_area(self, url: str) -> StagingArea: - """ - Process the contents of a staging area. - - :param url: The URL of a staging area located in a GitHub repository. - - :return: A StagingArea object containing the contents of the staging - area's JSON files. - """ - with TemporaryDirectory() as tmpdir: - remote_url, path, ref = self.parse_github_url(furl(url)) - factory = CannedStagingAreaFactory.clone_remote(remote_url, - Path(tmpdir), - ref) - return factory.load_staging_area(path) - - def count_bundles(self, source: CannedSourceRef) -> int: - staging_area = self.staging_area(source.spec.name) - if source.spec.prefix is None: - return len(staging_area.links) - else: - prefix = source.spec.prefix.common - assert prefix == prefix.lower(), source - return sum( - 1 - for links_id in staging_area.links - if links_id.lower().startswith(prefix) - ) - - def count_files(self, source: SimpleSourceSpec) -> int: - staging_area = self.staging_area(source.name) - if source.prefix is None: - return len(staging_area.descriptors) - else: - prefix = source.prefix.common - assert prefix == prefix.lower(), source - return sum( - 1 - for descriptor in staging_area.descriptors.values() - if descriptor.content['sha256'].lower().startswith(prefix) - ) - - def list_bundles(self, - source: CannedSourceRef, - prefix: str - ) -> list[CannedBundleFQID]: - self._assert_source(source) - self._assert_partition(source, prefix) - assert prefix == prefix.lower(), prefix - staging_area = self.staging_area(source.spec.name) - return [ - CannedBundleFQID(source=source, - uuid=link.uuid, - version=link.version) - for link in staging_area.links.values() - if link.uuid.lower().startswith(prefix) - ] - - def fetch_bundle(self, bundle_fqid: CannedBundleFQID) -> CannedBundle: - self._assert_source(bundle_fqid.source) - now = time.time() - staging_area = self.staging_area(bundle_fqid.source.spec.name) - version, manifest, metadata, links = staging_area.get_bundle_parts(bundle_fqid.uuid) - if bundle_fqid.version is None: - bundle_fqid = CannedBundleFQID(source=bundle_fqid.source, - uuid=bundle_fqid.uuid, - version=version) - bundle = CannedBundle(fqid=bundle_fqid, - manifest=manifest, - metadata=metadata, - links=links) - assert version == bundle.version, (version, bundle) - log.info('It took %.003fs to download bundle %s.%s', - time.time() - now, bundle.uuid, bundle.version) - return bundle - - def list_files(self, source: CannedSourceRef, prefix: str) -> list[HCAFile]: - self._assert_source(source) - self._assert_partition(source, prefix) - assert prefix == prefix.lower(), prefix - staging_area = self.staging_area(source.spec.name) - return [ - HCAFile.from_descriptor(descriptor.content, - uuid=file_uuid, - name=descriptor.content['file_name'], - drs_uri=None) - for file_uuid, descriptor in staging_area.descriptors.items() - if descriptor.content['sha256'].lower().startswith(prefix) - ] - - def _construct_file_url(self, url: furl, file_name: str) -> furl: - """ - >>> plugin = Plugin(catalog='') - >>> url = furl('https://github.com/OWNER/REPO/tree/REF/tests') - - >>> plugin._construct_file_url(url, 'foo.zip') - furl('https://github.com/OWNER/REPO/raw/REF/tests/data/foo.zip') - - >>> plugin._construct_file_url(url, '') - Traceback (most recent call last): - ... - AssertionError: R('file_name cannot be empty') - """ - assert url.path.segments[2] == 'tree', R( - 'Unexpected path', str(url)) - file_url = furl(url) - file_url.path.segments[2] = 'raw' - file_url.path.segments.append('data') - assert len(file_name) > 0, R( - 'file_name cannot be empty') - assert not file_name.endswith('/'), R( - "File name cannot end with '/'", file_name) - for segment in file_name.split('/'): - file_url.path.segments.append(segment) - return file_url - - def _direct_file_url(self, - file_uuid: str, - *, - file_version: str | None = None, - ) -> furl | None: - # Check all sources for the file. If a file_version was specified return - # when we find a match, otherwise continue checking all sources and - # return the URL for the match with the latest (largest) version. - found_version = None - found_url = None - for source_spec in self.sources: - staging_area = self.staging_area(source_spec.name) - try: - descriptor = staging_area.descriptors[file_uuid] - except KeyError: - continue - else: - staging_area_url = furl(source_spec.name) - actual_file_version = descriptor.content['file_version'] - if file_version: - if file_version == actual_file_version: - file_name = descriptor.content['file_name'] - return self._construct_file_url(staging_area_url, file_name) - else: - if found_version is None or actual_file_version > found_version: - file_name = descriptor.content['file_name'] - found_url = self._construct_file_url(staging_area_url, file_name) - found_version = actual_file_version - return found_url - - def file_download_class(self) -> type[RepositoryFileDownload]: - return CannedFileDownload - - def drs_client(self, - authentication: Authentication | None = None - ) -> DRSClient: - assert authentication is None, type(authentication) - return DRSClient(http_client=self._http_client) - - def validate_version(self, version: str) -> None: - parse_dcp2_version(version) - - -class CannedFileDownload(RepositoryFileDownload): - _location: furl | None = None - _retry_after: int | None = None - - def update(self, - plugin: RepositoryPlugin, - authentication: Authentication | None - ) -> None: - assert isinstance(plugin, Plugin) - url = plugin._direct_file_url(file_uuid=self.file.uuid, - file_version=self.file.version) - self._location = url - - @property - def location(self) -> str | None: - return None if self._location is None else str(self._location) - - @property - def retry_after(self) -> int | None: - return self._retry_after diff --git a/src/azul/plugins/repository/dss/__init__.py b/src/azul/plugins/repository/dss/__init__.py deleted file mode 100644 index 75e6a1eb69..0000000000 --- a/src/azul/plugins/repository/dss/__init__.py +++ /dev/null @@ -1,275 +0,0 @@ -import logging -import time -from typing import ( - NoReturn, -) -import urllib -import urllib.parse -from uuid import ( - UUID, - uuid5, -) - -import attrs -from furl import ( - furl, -) -from more_itertools import ( - one, -) -import requests - -from azul import ( - config, -) -from azul.auth import ( - Authentication, -) -from azul.collections import ( - adict, -) -from azul.deployment import ( - aws, -) -from azul.drs import ( - DRSClient, -) -from azul.http import ( - HasCachedHttpClient, -) -from azul.indexer import ( - SimpleSourceSpec, - SourceRef, - SourcedBundleFQID, -) -from azul.plugins import ( - RepositoryFileDownload, - RepositoryPlugin, -) -from azul.plugins.metadata.hca.bundle import ( - HCABundle, -) -from azul.time import ( - parse_dcp2_version, -) -from azul.types import ( - JSON, -) - -log = logging.getLogger(__name__) - - -class DSSSourceRef(SourceRef[SimpleSourceSpec]): - """ - Subclass of `Source` to create new namespace for source IDs. - """ - namespace: UUID = UUID('6925391e-6519-41d9-879f-c6307eb83c1c') - - @classmethod - def for_dss_source(cls, source: str): - # We hash the endpoint instead of using it verbatim to distinguish them - # within a document, which is helpful for testing. - spec = SimpleSourceSpec.parse(source) - return cls(id=cls.id_from_spec(spec), spec=spec) - - @classmethod - def id_from_spec(cls, spec: SimpleSourceSpec) -> str: - return str(uuid5(cls.namespace, spec.name)) - - -class DSSBundleFQID(SourcedBundleFQID[DSSSourceRef]): - pass - - -class DSSBundle(HCABundle[DSSBundleFQID]): - - @classmethod - def canning_qualifier(cls) -> str: - return 'dss.hca' - - def drs_uri(self, manifest_entry: JSON) -> str: - file_uuid = manifest_entry['uuid'] - file_version = manifest_entry['version'] - netloc = config.drs_domain or config.api_lambda_domain('service') - return str(furl(scheme='drs', - netloc=netloc, - path=(file_uuid,), - args={'version': file_version})) - - -class Plugin(RepositoryPlugin[ - DSSBundle, - SimpleSourceSpec, - DSSSourceRef, - DSSBundleFQID - ], - HasCachedHttpClient): - - def _lookup_source_id(self, spec: SimpleSourceSpec) -> str: - return DSSSourceRef.id_from_spec(spec) - - def count_bundles(self, source: SimpleSourceSpec) -> NoReturn: - assert False, 'DSS is EOL' - - def count_files(self, source: SimpleSourceSpec) -> NoReturn: - assert False, 'DSS is EOL' - - def list_sources(self, - authentication: Authentication | None - ) -> list[DSSSourceRef]: - return [ - DSSSourceRef(id=self._lookup_source_id(spec), spec=spec) - for spec in self.sources - ] - - def list_bundles(self, - source: DSSSourceRef, - prefix: str - ) -> NoReturn: - assert False, 'DSS is EOL' - - def fetch_bundle(self, bundle_fqid: DSSBundleFQID) -> NoReturn: - assert False, 'DSS is EOL' - - def list_files(self, source: DSSSourceRef, prefix: str) -> NoReturn: - assert False, 'DSS is EOL' - - def dss_subscription_query(self, prefix: str) -> JSON: - return { - "query": { - "bool": { - "must_not": [ - { - "term": { - "admin_deleted": True - } - } - ], - "must": [ - { - "exists": { - "field": "files.project_json" - } - }, - *self._prefix_clause(prefix) - ] - } - } - } - - def dss_deletion_subscription_query(self, prefix: str) -> JSON: - return { - "query": { - "bool": { - "must": [ - { - "term": { - "admin_deleted": True - } - }, - *self._prefix_clause(prefix) - ] - } - } - } - - def _prefix_clause(self, prefix): - return [ - { - 'prefix': { - 'uuid': prefix - } - } - ] if prefix else [] - - def _direct_file_url(self, - file_uuid: str, - *, - file_version: str | None = None, - replica: str | None = None, - token: str | None = None, - ) -> str | None: - dss_endpoint = one(self.sources).name - url = furl(dss_endpoint) - url.path.add(['files', file_uuid]) - url.query.add(adict(version=file_version, replica=replica, token=token)) - return str(url) - - def drs_client(self, - authentication: Authentication | None = None - ) -> DRSClient: - assert authentication is None, type(authentication) - return DRSClient(http_client=self._http_client) - - def file_download_class(self) -> type[RepositoryFileDownload]: - return DSSFileDownload - - def validate_version(self, version: str) -> None: - # Note that this validates against the DCP2 format instead of the DSS - # format (azul.dss.version_format). This is necessary due to commit - # 48ef9388 which manually updated all the canned DSS bundles to use - # DCP/2 version format. - parse_dcp2_version(version) - - -class DSSFileDownload(RepositoryFileDownload): - _location: str | None = None - _retry_after: int | None = None - - def update(self, - plugin: RepositoryPlugin, - authentication: Authentication | None - ) -> None: - self.file = attrs.evolve(self.file, drs_uri=None) # to shorten the retry URLs - if self.replica is None: - self.replica = 'aws' - assert isinstance(plugin, Plugin) - # noinspection PyProtectedMember - dss_url = plugin._direct_file_url(file_uuid=self.file.uuid, - file_version=self.file.version, - replica=self.replica, - token=self.token) - dss_response = requests.get(dss_url, allow_redirects=False) - if dss_response.status_code == 301: - retry_after = int(dss_response.headers.get('Retry-After')) - location = dss_response.headers['Location'] - - location = urllib.parse.urlparse(location) - query = urllib.parse.parse_qs(location.query, strict_parsing=True) - self.token = one(query['token']) - self.replica = one(query['replica']) - self.file = attrs.evolve(self.file, version=one(query['version'])) - self._retry_after = retry_after - elif dss_response.status_code == 302: - location = dss_response.headers['Location'] - # Remove once https://github.com/HumanCellAtlas/data-store/issues/1837 is resolved - if True: - location = urllib.parse.urlparse(location) - query = urllib.parse.parse_qs(location.query, strict_parsing=True) - expires = int(one(query['Expires'])) - bucket = location.netloc.partition('.')[0] - dss_endpoint = one(plugin.sources).name - assert bucket == aws.dss_checkout_bucket(dss_endpoint), bucket - with aws.direct_access_credentials(dss_endpoint, lambda_name='service'): - # FIXME: make region configurable (https://github.com/DataBiosphere/azul/issues/1560) - s3 = aws.client('s3', region_name='us-east-1') - params = { - 'Bucket': bucket, - 'Key': location.path[1:], - 'ResponseContentDisposition': 'attachment;filename=' + self.file.name, - } - location = s3.generate_presigned_url(ClientMethod=s3.get_object.__name__, - ExpiresIn=round(expires - time.time()), - Params=params) - self._location = location - else: - dss_response.raise_for_status() - assert False - - @property - def location(self) -> str | None: - return self._location - - @property - def retry_after(self) -> int | None: - return self._retry_after diff --git a/src/azul/plugins/repository/tdr.py b/src/azul/plugins/repository/tdr.py deleted file mode 100644 index 5b5e75d6e1..0000000000 --- a/src/azul/plugins/repository/tdr.py +++ /dev/null @@ -1,288 +0,0 @@ -from abc import ( - ABC, - abstractmethod, -) -from collections import ( - defaultdict, -) -import datetime -import logging -import time -from typing import ( - Callable, - Iterable, - TypeVar, -) - -from chalice import ( - UnauthorizedError, -) -from furl import ( - furl, -) - -from azul import ( - cache_per_thread, - require, -) -from azul.auth import ( - Authentication, - OAuth2, -) -from azul.bigquery import ( - BigQueryRows, - backtick, -) -from azul.drs import ( - AccessMethod, - DRSClient, -) -from azul.indexer import ( - Bundle, - SourcedBundleFQID, -) -from azul.plugins import ( - RepositoryFileDownload, - RepositoryPlugin, -) -from azul.strings import ( - longest_common_prefix, -) -from azul.terra import ( - TDRClient, - TDRSourceRef, - TDRSourceSpec, -) -from azul.time import ( - format_dcp2_datetime, - parse_dcp2_version, -) -from azul.types import ( - JSON, -) - -log = logging.getLogger(__name__) - - -class TDRBundleFQID(SourcedBundleFQID[TDRSourceRef]): - pass - - -class TDRBundle(Bundle[TDRBundleFQID], ABC): - - @classmethod - def canning_qualifier(cls): - return 'tdr' - - def drs_uri(self, manifest_entry: JSON) -> str | None: - return manifest_entry.get('drs_uri') - - -T = TypeVar('T') - -TDR_BUNDLE = TypeVar('TDR_BUNDLE', bound=TDRBundle) - - -class TDRPlugin[TDR_BUNDLE: TDRBundle, - TDR_BUNDLE_FQID: TDRBundleFQID]( - RepositoryPlugin[ - TDR_BUNDLE, - TDRSourceSpec, - TDRSourceRef, - TDR_BUNDLE_FQID - ] -): - - def _auth_fallback(self, - authentication: Authentication | None, - tdr_callback: Callable[[TDRClient], T] - ) -> T: - # The line below raises UnauthorizedError for invalid tokens. We don't - # want to fall back to anonymous authentication in that case. - tdr = self._user_authenticated_tdr(authentication) - try: - return tdr_callback(tdr) - except UnauthorizedError: - if authentication is None or tdr.is_registered(): - raise - else: - # Fall back to anonymous access if the request is authenticated - # using an unregistered account. - tdr = self._user_authenticated_tdr(None) - return tdr_callback(tdr) - - def list_sources(self, - authentication: Authentication | None - ) -> list[TDRSourceRef]: - configured_specs_by_name = {spec.name: spec for spec in self.sources} - # Filter by prefix of snapshot names in an attempt to speed up the - # listing by limiting the number of irrelevant snapshots returned. Note - # that TDR does a substring match, not a prefix match, but determining - # the longest common substring is complicated and, as of yet, I haven't - # found a trustworthy, reusable implementation. - filter = longest_common_prefix(configured_specs_by_name.keys()) - snapshots = self._auth_fallback(authentication, - lambda tdr: tdr.snapshot_names_by_id(filter=filter)) - snapshot_ids_by_name = { - name: id - for id, name in snapshots.items() - if name in configured_specs_by_name - } - return [ - TDRSourceRef(id=id, - spec=configured_specs_by_name[name]) - for name, id in snapshot_ids_by_name.items() - ] - - def list_source_ids(self, - authentication: Authentication | None - ) -> set[str]: - return self._auth_fallback(authentication, - lambda tdr: tdr.snapshot_ids()) - - @property - def tdr(self): - return self._tdr() - - # To utilize the caching of certain responses that's occurring within - # the TDR and DRS client instances (from the TDR API and identifiers.org, - # respectively), we need to cache these client instances. If we cached the - # client instances within the plugin instance, we would get one client - # instance per plugin instance. The plugin is instantiated frequently and in - # a variety of contexts. - # - # Because of that, caching the plugin instances would be a more invasive - # change than simply caching the client instances per plugin class. That's - # why these are class methods. The clients use urllib3, whose thread-safety - # is disputed (https://github.com/urllib3/urllib3/issues/1252), so have to - # cache client instances per-class AND per-thread. - - @classmethod - @cache_per_thread - def _tdr(cls): - return TDRClient.for_indexer() - - @classmethod - @cache_per_thread - def _user_authenticated_tdr(cls, - authentication: Authentication | None - ) -> TDRClient: - if authentication is None: - tdr = TDRClient.for_anonymous_user() - elif isinstance(authentication, OAuth2): - tdr = TDRClient.for_registered_user(authentication) - else: - raise PermissionError('Unsupported authentication format', - type(authentication)) - return tdr - - @classmethod - @cache_per_thread - def _drs_client(cls, - authentication: Authentication | None = None - ) -> DRSClient: - return cls._user_authenticated_tdr(authentication).drs_client() - - def _lookup_source_id(self, spec: TDRSourceSpec) -> str: - return self.tdr.lookup_source(spec) - - def fetch_bundle(self, bundle_fqid: TDRBundleFQID) -> TDR_BUNDLE: - self._assert_source(bundle_fqid.source) - now = time.time() - bundle = self._emulate_bundle(bundle_fqid) - log.info('It took %.003fs to download bundle %s.%s', - time.time() - now, bundle.uuid, bundle.version) - return bundle - - @classmethod - def format_version(cls, version: datetime.datetime) -> str: - return format_dcp2_datetime(version) - - def _run_sql(self, query) -> BigQueryRows: - return self.tdr.run_sql(query) - - def _full_table_name(self, source: TDRSourceSpec, table_name: str) -> str: - return source.qualify_table(table_name) - - @abstractmethod - def _emulate_bundle(self, bundle_fqid: TDRBundleFQID) -> TDR_BUNDLE: - raise NotImplementedError - - def drs_client(self, - authentication: Authentication | None = None - ) -> DRSClient: - return self._drs_client(authentication) - - def file_download_class(self) -> type[RepositoryFileDownload]: - return TDRFileDownload - - def validate_version(self, version: str) -> None: - parse_dcp2_version(version) - - def find_in_source(self, - source: TDRSourceSpec, - string: str - ) -> Iterable[JSON]: - log.info('Validating snapshot %s', source) - query = f''' - SELECT table_name, column_name - FROM {backtick(self._full_table_name(source, 'INFORMATION_SCHEMA.COLUMNS'))} - ''' - table_columns = defaultdict(list) - for row in self._run_sql(query): - table_name, column_name = row['table_name'], row['column_name'] - assert isinstance(table_name, str), table_name - assert isinstance(column_name, str), column_name - table_columns[table_name].append(column_name) - for table_name, columns in table_columns.items(): - log.info('Validating table %s', table_name) - for column in columns: - query = f''' - SELECT datarepo_row_id, {column} - FROM {backtick(self._full_table_name(source, table_name))} - WHERE CONTAINS_SUBSTR({column}, {string!r}) - ''' - for row in self._run_sql(query): - match = { - 'catalog': self.catalog, - 'spec': str(source), - 'table': table_name, - 'column': column, - 'row_id': row['datarepo_row_id'], - 'value': row[column] - } - log.warning('Undesired string found: %r', match) - yield match - - -class TDRFileDownload(RepositoryFileDownload): - _location: str | None = None - - needs_drs_uri = True - - def update(self, - plugin: RepositoryPlugin, - authentication: Authentication | None - ) -> None: - require(self.replica is None or self.replica == 'gcp') - if self.file.drs_uri is None: - assert self.location is None, self - assert self.retry_after is None, self - else: - drs_client = plugin.drs_client(authentication) - access = drs_client.get_object(self.file.drs_uri, - access_method=AccessMethod.gs) - require(access.method is AccessMethod.https, access.method) - require(access.headers is None, access.headers) - signed_url = access.url - args = furl(signed_url).args - require('X-Goog-Signature' in args, args) - self._location = signed_url - - @property - def location(self) -> str | None: - return self._location - - @property - def retry_after(self) -> int | None: - return None diff --git a/src/azul/plugins/repository/tdr_anvil/__init__.py b/src/azul/plugins/repository/tdr_anvil/__init__.py deleted file mode 100644 index 206aed5e39..0000000000 --- a/src/azul/plugins/repository/tdr_anvil/__init__.py +++ /dev/null @@ -1,940 +0,0 @@ -import datetime -from enum import ( - Enum, -) -import itertools -import logging -from operator import ( - itemgetter, -) -from typing import ( - AbstractSet, - Callable, - Iterable, -) -import uuid - -import attrs -from more_itertools import ( - one, -) - -from azul import ( - R, - cached_property, - config, - uuids, -) -from azul.bigquery import ( - BigQueryRow, - backtick, -) -from azul.collections import ( - singleton, -) -from azul.drs import ( - DRSURI, -) -from azul.indexer import ( - Prefix, -) -from azul.indexer.document import ( - EntityReference, - EntityType, -) -from azul.plugins.metadata.anvil import ( - AnvilFile, -) -from azul.plugins.metadata.anvil.bundle import ( - AnvilBundle, - EntityLink, - Key, - KeyLink, - KeyReference, -) -from azul.plugins.metadata.anvil.schema import ( - anvil_schema, -) -from azul.plugins.repository.tdr import ( - TDRBundle, - TDRBundleFQID, - TDRPlugin, -) -from azul.terra import ( - TDRSourceRef, - TDRSourceSpec, -) -from azul.types import ( - MutableJSON, - MutableJSONs, -) -from azul.uuids import ( - change_version, -) - -log = logging.getLogger(__name__) - -Keys = AbstractSet[KeyReference] -MutableKeys = set[KeyReference] -KeysByType = dict[EntityType, AbstractSet[Key]] -MutableKeysByType = dict[EntityType, set[Key]] -KeyLinks = set[KeyLink] - - -class BundleType(Enum): - """ - Unlike HCA, AnVIL has no inherent notion of a "bundle". Its data model is - strictly relational: each row in a table represents an entity, each entity - has a primary key, and entities reference each other via foreign keys. - During indexing, we dynamically construct bundles by querying each table in - the snapshot. This class enumerates the tables that require special - strategies for listing and fetching their bundles. - - An orphan is defined as an AnVIL entity that does not appear in any of - Azul's `/index/{entity_type}`. Bundles *can* contain orphans, but they will - only ever manifest as replicas in our index. A *local orphan* is an entity - in a bundle that is not referenced anywhere in that bundle's links. Local - orphans may or may not be true/global orphans (because they may still be - references in *other* bundles' links), but all global orphans are always - local orphans. Bundles only contain local orphans from the table that - matches the bundle's `table_name` attribute. - - Primary bundles are defined by a biosample entity, termed the *bundle - entity*. Each primary bundle includes all of the bundle entity's descendants - and all of those entities' ancestors. Descendants and ancestors are - discovered by iteratively following foreign keys. Biosamples were chosen to - act as the bundle entities for primary bundles based on a desirable balance - between the size and number of the resulting bundles as well as the degree - of overlap between them. The implementation of the graph traversal is - tightly coupled to this choice, and switching to a different bundle entity - type would require re-implementing much of the Plugin code. Primary bundles - consist of at least one biosample (the bundle entity), exactly one dataset - entity, and zero or more other entities of assorted types. Primary bundles - never contain local orphans because they are bijective to rows in the - biosample table. - - Supplementary bundles consist of batches of file entities, which may include - supplementary files. Supplementary files lack any foreign keys that would - associate them with any other entity. Each supplementary bundle also - includes a dataset entity, and we create synthetic links between the - supplementary files and the dataset. Without these links, the relationship - between these files and their parent dataset would not be properly - represented in the service response. Supplementary files therefore are never - local or global orphans. - - Normal (non-supplementary) files are not linked to the dataset and thus are - local orphans within these bundles. This is because these files may also - appear in primary bundles. If they do, then those bundles will contribute - them to the index alongside all of their linked entities. If they don't, - then they are global orphans. In either case, it would be pointless for a - supplementary bundle to emit contributions for them, hence we treat them as - orphans. - - DUOS bundles consist of a single dataset entity. This "entity" includes the - DUOS ID retrieved from TDR and dataset description retrieved from DUOS, - while a copy of the BigQuery row for this dataset is also included as an - orphan. We chose this design because there is only one dataset per snapshot, - which is referenced in all bundles. Therefore, only one request to DUOS per - *snapshot* is necessary. If the DUOS `description` were retrieved at the - same time as the other fields of the dataset entity, we would make one - request per *bundle* instead, potentially overloading the DUOS service. Our - solution is to retrieve `description` only in a bundle of this dedicated - DUOS type, once per snapshot, and merge it with the other dataset fields - during aggregation. As a result, `duos_id` cannot be included in file - manifests since there is only one DUOS bundle per dataset, and that bundle - only contributes to outer entities of the `datasets` type, not to entities - of the other types, such as files, which the manifest is generated from. - - All other bundles are replica bundles. Replica bundles consist of a batch of - rows from an arbitrary BigQuery table, which may or may not be described by - the AnVIL schema, and the snapshot's dataset entity. Replica bundles contain - no links and thus all of their entities are local orphans. - """ - primary = 'anvil_biosample' - supplementary = 'anvil_file' - duos = 'anvil_dataset' - - @classmethod - def is_batched(cls, table_name: str) -> bool: - """ - True if bundles for the table of the given name represent batches of - rows, or False if each bundle represents a single row. - - >>> BundleType.is_batched(BundleType.primary.value) - False - - >>> BundleType.is_batched('anvil_activity') - True - """ - return table_name not in (cls.primary.value, cls.duos.value) - - -@attrs.frozen(kw_only=True, eq=False) -class TDRAnvilBundleFQID(TDRBundleFQID): - table_name: str - batch_prefix: str | None - - def __attrs_post_init__(self): - should_be_batched = BundleType.is_batched(self.table_name) - is_batched = self.is_batched - assert is_batched == should_be_batched, self - if is_batched: - assert len(self.batch_prefix) <= 8, self - - @property - def is_batched(self) -> bool: - return self.batch_prefix is not None - - -class TDRAnvilBundle(AnvilBundle[TDRAnvilBundleFQID], TDRBundle): - - @classmethod - def canning_qualifier(cls) -> str: - return super().canning_qualifier() + '.anvil' - - def add_entity(self, - entity: EntityReference, - version: str, - row: MutableJSON, - *, - is_orphan: bool = False - ) -> None: - target = self.orphans if is_orphan else self.entities - # In DUOS bundles, the dataset is represented as both as entity and an - # orphan - assert entity not in target, entity - metadata = dict(row, - version=version) - if entity.entity_type == 'anvil_file': - drs_uri = row['file_ref'] - # Validate URI syntax - DRSURI.parse(drs_uri) - metadata.update(drs_uri=drs_uri, - sha256='', - crc32='') - target[entity] = metadata - - def add_links(self, links: Iterable[EntityLink]): - self.links.update(links) - EntityLink.group_by_activity(self.links) - - -class Plugin(TDRPlugin[TDRAnvilBundle, TDRAnvilBundleFQID]): - - @cached_property - def _version(self): - return self.format_version(datetime.datetime(year=2022, - month=6, - day=1, - hour=0, - tzinfo=datetime.timezone.utc)) - - datarepo_row_uuid_version = 4 - batch_uuid_version = 5 - bundle_uuid_version = 10 - - def _batch_uuid(self, - source: TDRSourceSpec, - table_name: str, - batch_prefix: str - ) -> str: - namespace = uuid.UUID('b8b3ac80-e035-4904-8b02-2d04f9e9a369') - batch_uuid = uuid.uuid5(namespace, f'{source}:{table_name}:{batch_prefix}') - return change_version(str(batch_uuid), - self.batch_uuid_version, - self.bundle_uuid_version) - - def count_files(self, source: TDRSourceSpec) -> int: - prefix = '' if source.prefix is None else source.prefix.common - assert prefix == prefix.lower(), source - query = f''' - SELECT COUNT(*) AS count - FROM {backtick(self._full_table_name(source, 'anvil_file'))} - WHERE STARTS_WITH(LOWER(file_md5sum), {prefix!r}) - ''' - return one(self._run_sql(query))['count'] - - def count_bundles(self, source: TDRSourceSpec) -> int: - prefix = '' if source.prefix is None else source.prefix.common - assert prefix == prefix.lower(), source - primary_count = one(self._run_sql(f''' - SELECT COUNT(*) AS count - FROM {backtick(self._full_table_name(source, BundleType.primary.value))} - WHERE STARTS_WITH(LOWER(datarepo_row_id), {prefix!r}) - '''))['count'] - duos_count = 0 if config.duos_service_url is None else one(self._run_sql(f''' - SELECT COUNT(*) AS count - FROM {backtick(self._full_table_name(source, BundleType.duos.value))} - WHERE STARTS_WITH(LOWER(datarepo_row_id), {prefix!r}) - '''))['count'] - sizes_by_table = self._batch_tables(source, prefix) - batched_count = sum(batch_size for (_, batch_size) in sizes_by_table.values()) - return primary_count + duos_count + batched_count - - def list_bundles(self, - source: TDRSourceRef, - prefix: str - ) -> list[TDRAnvilBundleFQID]: - self._assert_source(source) - self._assert_partition(source, prefix) - assert prefix == prefix.lower(), prefix - bundles = [] - spec = source.spec - - if config.duos_service_url is not None: - # We intentionally omit the WHERE clause for datasets in order to - # verify our assumption that each snapshot only contains rows for a - # single dataset. This verification is performed independently and - # concurrently for every partition, but only one partition actually - # emits the bundle. - row = one(self._run_sql(f''' - SELECT datarepo_row_id - FROM {backtick(self._full_table_name(spec, BundleType.duos.value))} - ''')) - dataset_row_id = row['datarepo_row_id'] - if dataset_row_id.startswith(prefix): - bundle_uuid = change_version(dataset_row_id, - self.datarepo_row_uuid_version, - self.bundle_uuid_version) - bundle_fqid = TDRAnvilBundleFQID(uuid=bundle_uuid, - version=self._version, - source=source, - table_name=BundleType.duos.value, - batch_prefix=None) - bundles.append(bundle_fqid) - for row in self._run_sql(f''' - SELECT datarepo_row_id - FROM {backtick(self._full_table_name(spec, BundleType.primary.value))} - WHERE STARTS_WITH(LOWER(datarepo_row_id), {prefix!r}) - '''): - bundle_uuid = change_version(row['datarepo_row_id'], - self.datarepo_row_uuid_version, - self.bundle_uuid_version) - bundle_fqid = TDRAnvilBundleFQID(uuid=bundle_uuid, - version=self._version, - source=source, - table_name=BundleType.primary.value, - batch_prefix=None) - bundles.append(bundle_fqid) - prefix_lengths_by_table = self._batch_tables(source.spec, prefix) - for table_name, (batch_prefix_length, _) in prefix_lengths_by_table.items(): - batch_prefixes = Prefix(common=prefix, - partition=batch_prefix_length - len(prefix)).partition_prefixes() - for batch_prefix in batch_prefixes: - bundle_uuid = self._batch_uuid(spec, table_name, batch_prefix) - bundles.append(TDRAnvilBundleFQID(uuid=bundle_uuid, - version=self._version, - source=source, - table_name=table_name, - batch_prefix=batch_prefix)) - return bundles - - def list_files(self, source: TDRSourceRef, prefix: str) -> list[AnvilFile]: - self._assert_source(source) - self._assert_partition(source, prefix) - batch = self._get_batch(source.spec, - 'anvil_file', - prefix, - key_column='file_md5sum') - return [ - AnvilFile(uuid=ref.entity_id, - name=row['file_name'], - version=self._version, - size=row['file_size'], - md5=row['file_md5sum'], - drs_uri=row['file_ref']) - for ref, row in batch - ] - - def _emulate_bundle(self, bundle_fqid: TDRAnvilBundleFQID) -> TDRAnvilBundle: - if bundle_fqid.table_name == BundleType.primary.value: - log.info('Bundle %r is a primary bundle', bundle_fqid.uuid) - return self._primary_bundle(bundle_fqid) - elif bundle_fqid.table_name == BundleType.supplementary.value: - log.info('Bundle %r is a supplementary bundle', bundle_fqid.uuid) - return self._supplementary_bundle(bundle_fqid) - elif bundle_fqid.table_name == BundleType.duos.value: - assert config.duos_service_url is not None, bundle_fqid - log.info('Bundle %r is a DUOS bundle', bundle_fqid.uuid) - return self._duos_bundle(bundle_fqid) - else: - log.info('Bundle %r is a replica bundle', bundle_fqid.uuid) - return self._replica_bundle(bundle_fqid) - - def _batch_tables(self, - source: TDRSourceSpec, - prefix: str, - ) -> dict[str, tuple[int, int]]: - """ - Find a batch prefix length that yields as close to 256 rows per batch - as possible for each table within the specified partition. The result's - keys are table names and its values are tuples where the first element - is the prefix length (*including* the partition prefix) and the second - element is the resulting number of batches. Tables are only included in - the result if they are non-empty and are used to produce batched bundle - formats (i.e. replica and supplementary). - - Because the partitions of a table do not contain exactly the same number - of bundles, calculating the batch size statistics for the entire table - at once produces a different result than performing the same calculation - for any individual partition. We expect the inconsistencies to average - out across partitions so that `count_bundles` and `list_bundles` give - consistent results as long the partition size is substantially larger - than the batch size. - - This method relies on BigQuery's `AVG` function, which is - nondeterministic for floating-point return values. The probability that - this affects this method's return value is very small, but nonzero. - https://cloud.google.com/bigquery/docs/reference/standard-sql/aggregate_functions#avg - """ - assert prefix == prefix.lower(), prefix - max_length = 4 - - def repeat(fmt): - return ', '.join(fmt.format(i=i) for i in range(1, max_length + 1)) - - target_size = 256 - prefix_len = len(prefix) - table_names = self.tdr.list_tables(source) - # This table is present in all snapshots. It is large and contains no - # useful metadata, so we skip indexing replicas from it. - table_names.discard('datarepo_row_ids') - table_names = sorted(filter(BundleType.is_batched, table_names)) - log.info('Calculating batch prefix lengths for partition %r of %d tables ' - 'in source %s', prefix, len(table_names), source) - # The extraneous outer 'SELECT *' works around a bug in BigQuery emulator - # FIXME: BigQuery Emulator rejects valid query - # https://github.com/DataBiosphere/azul/issues/6704 - query = ' UNION ALL '.join(f'''( - SELECT * FROM ( - SELECT - {table_name!r} AS table_name, - {prefix_len} + LENGTH(CONCAT( - {repeat('IFNULL(p{i}, "")')} - )) AS batch_prefix_length, - AVG(num_rows) AS average_batch_size, - COUNT(*) AS num_batches - FROM ( - SELECT - {repeat(f'LOWER(SUBSTR(datarepo_row_id, {prefix_len} + {{i}}, 1)) AS p{{i}}')}, - COUNT(*) AS num_rows - FROM {backtick(self._full_table_name(source, table_name))} - WHERE STARTS_WITH(LOWER(datarepo_row_id), {prefix!r}) - GROUP BY ROLLUP ({repeat('p{i}')}) - ) - GROUP BY batch_prefix_length - ORDER BY ABS({target_size} - average_batch_size) - LIMIT 1 - ) - )''' for table_name in table_names) - - def result(row): - table_name = row['table_name'] - prefix_length = row['batch_prefix_length'] - average_size = row['average_batch_size'] - num_batches = row['num_batches'] - log.info('Selected batch prefix length %d for table %r (average ' - 'batch size %.1f, num batches %d)', - prefix_length, table_name, average_size, num_batches) - return table_name, (prefix_length, num_batches) - - return dict(map(result, self._run_sql(query))) - - def _primary_bundle(self, bundle_fqid: TDRAnvilBundleFQID) -> TDRAnvilBundle: - assert not bundle_fqid.is_batched, bundle_fqid - source = bundle_fqid.source - bundle_entity = self._bundle_entity(bundle_fqid) - - keys: MutableKeys = {bundle_entity} - links: KeyLinks = set() - - for method in [self._follow_downstream, self._follow_upstream]: - method: Callable[[TDRSourceSpec, KeysByType], KeyLinks] - n = len(keys) - frontier: Keys = keys - while frontier: - new_links = method(source.spec, self._consolidate_by_type(frontier)) - links.update(new_links) - frontier = frozenset().union(*(link.all_entities for link in new_links)) - keys - keys.update(frontier) - log.debug('Found %r linked entities via method %s', - len(keys) - n, method.__name__) - - keys_by_type: KeysByType = self._consolidate_by_type(keys) - if log.isEnabledFor(logging.DEBUG): - arg = keys_by_type - else: - arg = {entity_type: len(keys) for entity_type, keys in keys_by_type.items()} - log.info('Found %i entities linked to bundle %r: %r', - len(keys), bundle_fqid.uuid, arg) - - result = TDRAnvilBundle(fqid=bundle_fqid) - entities_by_key: dict[KeyReference, EntityReference] = {} - for entity_type, typed_keys in sorted(keys_by_type.items()): - pk_column = entity_type.removeprefix('anvil_') + '_id' - rows = self._retrieve_entities(source.spec, entity_type, typed_keys) - if entity_type == 'anvil_donor': - # We expect that the foreign key `part_of_dataset_id` is - # redundant for biosamples and donors. To simplify our queries, - # we do not follow the latter during the graph traversal. - # Here, we validate our expectation. Note that the key is an - # array for biosamples, but not for donors. - dataset_id: Key = one(keys_by_type['anvil_dataset']) - for row in rows: - donor_dataset_id = row['part_of_dataset_id'] - assert donor_dataset_id == dataset_id, R( - 'Conflicting keys', donor_dataset_id, dataset_id) - for row in sorted(rows, key=itemgetter(pk_column)): - key = KeyReference(key=row[pk_column], entity_type=entity_type) - entity = EntityReference(entity_id=row['datarepo_row_id'], - entity_type=entity_type) - entities_by_key[key] = entity - result.add_entity(entity, self._version, row) - result.add_links(link.to_entity_link(entities_by_key) for link in links) - return result - - def _supplementary_bundle(self, bundle_fqid: TDRAnvilBundleFQID) -> TDRAnvilBundle: - assert bundle_fqid.is_batched, bundle_fqid - source = bundle_fqid.source.spec - result = TDRAnvilBundle(fqid=bundle_fqid) - linked_file_refs = set() - for file_ref, file_row in self._get_bundle_batch(bundle_fqid): - is_supplementary = file_row['is_supplementary'] - result.add_entity(file_ref, - self._version, - dict(file_row), - is_orphan=not is_supplementary) - if is_supplementary: - linked_file_refs.add(file_ref) - dataset_ref, dataset_row = self._get_dataset(source) - result.add_entity(dataset_ref, self._version, dict(dataset_row)) - # Avoid inserting "degenerate" links with an empty list of outputs, i.e. - # in case of an empty batch (as is common on `anvilbox`). Such links - # would be harmless in production, but would complicate the bundle - # canning integration test. - if linked_file_refs: - result.add_links([ - EntityLink(inputs=singleton(dataset_ref), - outputs=frozenset(linked_file_refs)) - ]) - return result - - def _duos_bundle(self, bundle_fqid: TDRAnvilBundleFQID) -> TDRAnvilBundle: - assert not bundle_fqid.is_batched, bundle_fqid - ref, row = self._get_dataset(bundle_fqid.source.spec) - expected_entity_id = change_version(bundle_fqid.uuid, - self.bundle_uuid_version, - self.datarepo_row_uuid_version) - assert ref.entity_id == expected_entity_id, (ref, bundle_fqid) - bundle = TDRAnvilBundle(fqid=bundle_fqid) - # Classify as orphan to suppress the emission of a contribution - bundle.add_entity(ref, self._version, dict(row), is_orphan=True) - duos_id, duos_info = self.tdr.get_duos(bundle_fqid.source) - if duos_id is not None: - entity_row = { - 'duos_id': duos_id, - 'description': duos_info.get('studyDescription'), - 'dataset_id': row['dataset_id'] - } - bundle.add_entity(ref, self._version, entity_row) - return bundle - - def _replica_bundle(self, bundle_fqid: TDRAnvilBundleFQID) -> TDRAnvilBundle: - assert bundle_fqid.is_batched, bundle_fqid - source = bundle_fqid.source.spec - result = TDRAnvilBundle(fqid=bundle_fqid) - batch = self._get_bundle_batch(bundle_fqid) - dataset = self._get_dataset(source) - for (ref, row) in itertools.chain([dataset], batch): - result.add_entity(ref, self._version, dict(row), is_orphan=True) - return result - - def _get_dataset(self, source: TDRSourceSpec) -> tuple[EntityReference, BigQueryRow]: - table_name = 'anvil_dataset' - columns = self._columns(table_name) - row = one(self._run_sql(f''' - SELECT {', '.join(sorted(columns))} - FROM {backtick(self._full_table_name(source, table_name))} - ''')) - ref = EntityReference(entity_type=table_name, entity_id=row['datarepo_row_id']) - return ref, row - - def _get_batch(self, - source: TDRSourceSpec, - table_name: str, - batch_prefix: str, - *, - key_column: str - ) -> Iterable[tuple[EntityReference, BigQueryRow]]: - columns = self._columns(table_name) - assert not any(map(str.isupper, batch_prefix)), source - for row in self._run_sql(f''' - SELECT {', '.join(sorted(columns))} - FROM {backtick(self._full_table_name(source, table_name))} - WHERE STARTS_WITH(LOWER({key_column}), {batch_prefix!r}) - '''): - ref = EntityReference(entity_type=table_name, entity_id=row['datarepo_row_id']) - yield ref, row - - def _get_bundle_batch(self, - bundle_fqid: TDRAnvilBundleFQID - ) -> Iterable[tuple[EntityReference, BigQueryRow]]: - return self._get_batch(bundle_fqid.source.spec, - bundle_fqid.table_name, - bundle_fqid.batch_prefix, - key_column='datarepo_row_id') - - def _bundle_entity(self, bundle_fqid: TDRAnvilBundleFQID) -> KeyReference: - source = bundle_fqid.source - bundle_uuid = bundle_fqid.uuid - entity_id = uuids.change_version(bundle_uuid, - self.bundle_uuid_version, - self.datarepo_row_uuid_version) - table_name = bundle_fqid.table_name - pk_column = table_name.removeprefix('anvil_') + '_id' - bundle_entity = one(self._run_sql(f''' - SELECT {pk_column} - FROM {backtick(self._full_table_name(source.spec, table_name))} - WHERE datarepo_row_id = '{entity_id}' - '''))[pk_column] - bundle_entity = KeyReference(key=bundle_entity, entity_type=table_name) - log.info('Bundle UUID %r resolved to primary key %r in table %r', - bundle_uuid, bundle_entity.key, table_name) - return bundle_entity - - def _consolidate_by_type(self, entities: Keys) -> MutableKeysByType: - result = { - table['name']: set() - for table in anvil_schema['tables'] - } - for e in entities: - result[e.entity_type].add(e.key) - return result - - def _follow_upstream(self, - source: TDRSourceSpec, - entities: KeysByType - ) -> KeyLinks: - return set.union( - self._upstream_from_files(source, entities['anvil_file']), - self._upstream_from_biosamples(source, entities['anvil_biosample']), - # The direction of the edges linking donors to diagnoses is - # contentious. Currently, we model diagnoses as being upstream from - # donors. This is counterintuitive, but has two important practical - # benefits. - # - # First, it greatly simplifies the process of discovering the - # diagnoses while building the bundle, because performing a complete - # *downstream* search with donors as input would be tantamount to - # using donors as bundle entities instead of biosamples, leading to - # increased bundle size and increased overlap between bundles. - # - # Each diagnosis is linked to exactly one other entity (the donor), - # so the direction in which the donor-diagnosis links are followed - # won't affect the discovery of other entities. However, edge - # direction *is* important for deciding which entities in the bundle - # are linked to each other (and thus constitute each other's - # inner/outer entities). This leads to the second and more important - # benefit of our decision to model diagnoses as being upstream from - # donors: it creates continuous directed paths through the graph - # from the diagnoses to all entities downstream of the donor. - # Without such a path, we would be unable to associate biosamples or - # files with diagnoses without adding cumbersome diagnosis-specific - # logic to the transformers' graph traversal algorithm. The only - # entities that are upstream from donors are datasets, which do not - # perform a traversal and are treated as being linked to every - # entity in the bundle regardless of the edges in the graph. - self._diagnoses_from_donors(source, entities['anvil_donor']) - ) - - def _follow_downstream(self, - source: TDRSourceSpec, - entities: KeysByType - ) -> KeyLinks: - return set.union( - self._downstream_from_biosamples(source, entities['anvil_biosample']), - self._downstream_from_files(source, entities['anvil_file']) - ) - - def _upstream_from_biosamples(self, - source: TDRSourceSpec, - biosample_ids: AbstractSet[Key] - ) -> KeyLinks: - if biosample_ids: - rows = self._run_sql(f''' - SELECT b.biosample_id, b.donor_id, b.part_of_dataset_id - FROM {backtick(self._full_table_name(source, 'anvil_biosample'))} AS b - WHERE b.biosample_id IN ({', '.join(map(repr, biosample_ids))}) - ''') - result: KeyLinks = set() - for row in rows: - outputs = singleton(KeyReference(entity_type='anvil_biosample', - key=row['biosample_id'])) - inputs = singleton(KeyReference(entity_type='anvil_dataset', - key=one(row['part_of_dataset_id']))) - result.add(KeyLink(outputs=outputs, inputs=inputs)) - for donor_id in row['donor_id']: - inputs = singleton(KeyReference(entity_type='anvil_donor', - key=donor_id)) - result.add(KeyLink(outputs=outputs, inputs=inputs)) - return result - else: - return set() - - def _upstream_from_files(self, - source: TDRSourceSpec, - file_ids: AbstractSet[Key] - ) -> KeyLinks: - if file_ids: - rows = self._run_sql(f''' - WITH file AS ( - SELECT f.file_id FROM {backtick(self._full_table_name(source, 'anvil_file'))} AS f - WHERE f.file_id IN ({', '.join(map(repr, file_ids))}) - ) - SELECT - f.file_id AS generated_file_id, - 'anvil_alignmentactivity' AS activity_table, - ama.alignmentactivity_id AS activity_id, - ama.used_file_id AS uses_file_id, - [] AS uses_biosample_id, - FROM file AS f - JOIN {backtick(self._full_table_name(source, 'anvil_alignmentactivity'))} AS ama - ON f.file_id IN UNNEST(ama.generated_file_id) - UNION ALL SELECT - f.file_id, - 'anvil_assayactivity', - aya.assayactivity_id, - [], - aya.used_biosample_id, - FROM file AS f - JOIN {backtick(self._full_table_name(source, 'anvil_assayactivity'))} AS aya - ON f.file_id IN UNNEST(aya.generated_file_id) - UNION ALL SELECT - f.file_id, - 'anvil_sequencingactivity', - sqa.sequencingactivity_id, - [], - sqa.used_biosample_id, - FROM file AS f - JOIN {backtick(self._full_table_name(source, 'anvil_sequencingactivity'))} AS sqa - ON f.file_id IN UNNEST(sqa.generated_file_id) - UNION ALL SELECT - f.file_id, - 'anvil_variantcallingactivity', - vca.variantcallingactivity_id, - vca.used_file_id, - [] - FROM file AS f - JOIN {backtick(self._full_table_name(source, 'anvil_variantcallingactivity'))} AS vca - ON f.file_id IN UNNEST(vca.generated_file_id) - UNION ALL SELECT - f.file_id, - 'anvil_activity', - a.activity_id, - a.used_file_id, - a.used_biosample_id, - FROM file AS f - JOIN {backtick(self._full_table_name(source, 'anvil_activity'))} AS a - ON f.file_id IN UNNEST(a.generated_file_id) - ''') - return { - KeyLink( - activity=KeyReference(entity_type=row['activity_table'], - key=row['activity_id']), - # The generated link is not a complete representation of the - # upstream activity because it does not include generated files - # that are not ancestors of the downstream file - outputs=singleton( - KeyReference(entity_type='anvil_file', - key=row['generated_file_id'])), - inputs=frozenset( - KeyReference(entity_type=entity_type, - key=key) - for entity_type, column in [ - ('anvil_file', 'uses_file_id'), - ('anvil_biosample', 'uses_biosample_id') - ] - for key in row[column] - ) - ) - for row in rows - } - else: - return set() - - def _diagnoses_from_donors(self, - source: TDRSourceSpec, - donor_ids: AbstractSet[Key] - ) -> KeyLinks: - if donor_ids: - rows = self._run_sql(f''' - SELECT dgn.donor_id, dgn.diagnosis_id - FROM {backtick(self._full_table_name(source, 'anvil_diagnosis'))} as dgn - WHERE dgn.donor_id IN ({', '.join(map(repr, donor_ids))}) - ''') - return { - KeyLink( - inputs=singleton( - KeyReference(key=row['diagnosis_id'], - entity_type='anvil_diagnosis')), - outputs=singleton( - KeyReference(key=row['donor_id'], - entity_type='anvil_donor')), - activity=None) - for row in rows - } - else: - return set() - - def _downstream_from_biosamples(self, - source: TDRSourceSpec, - biosample_ids: AbstractSet[Key], - ) -> KeyLinks: - if biosample_ids: - rows = self._run_sql(f''' - WITH activities AS ( - SELECT - sqa.sequencingactivity_id as activity_id, - 'anvil_sequencingactivity' as activity_table, - sqa.used_biosample_id, - sqa.generated_file_id - FROM {backtick(self._full_table_name(source, 'anvil_sequencingactivity'))} AS sqa - UNION ALL - SELECT - aya.assayactivity_id, - 'anvil_assayactivity', - aya.used_biosample_id, - aya.generated_file_id, - FROM {backtick(self._full_table_name(source, 'anvil_assayactivity'))} AS aya - UNION ALL - SELECT - a.activity_id, - 'anvil_activity', - a.used_biosample_id, - a.generated_file_id, - FROM {backtick(self._full_table_name(source, 'anvil_activity'))} AS a - ) - SELECT - biosample_id, - a.activity_id, - a.activity_table, - a.generated_file_id - FROM activities AS a, UNNEST(a.used_biosample_id) AS biosample_id - WHERE biosample_id IN ({', '.join(map(repr, biosample_ids))}) - ''') - return { - KeyLink( - inputs=singleton( - KeyReference(key=row['biosample_id'], - entity_type='anvil_biosample') - ), - outputs=frozenset( - KeyReference(key=output_id, - entity_type='anvil_file') - for output_id in row['generated_file_id'] - ), - activity=KeyReference(key=row['activity_id'], - entity_type=row['activity_table'])) - for row in rows - } - else: - return set() - - def _downstream_from_files(self, - source: TDRSourceSpec, - file_ids: AbstractSet[Key] - ) -> KeyLinks: - if file_ids: - rows = self._run_sql(f''' - WITH activities AS ( - SELECT - ala.alignmentactivity_id AS activity_id, - 'anvil_alignmentactivity' AS activity_table, - ala.used_file_id, - ala.generated_file_id - FROM {backtick(self._full_table_name(source, 'anvil_alignmentactivity'))} AS ala - UNION ALL SELECT - vca.variantcallingactivity_id, - 'anvil_variantcallingactivity', - vca.used_file_id, - vca.generated_file_id - FROM {backtick(self._full_table_name(source, 'anvil_variantcallingactivity'))} AS vca - UNION ALL SELECT - a.activity_id, - 'anvil_activity', - a.used_file_id, - a.generated_file_id - FROM {backtick(self._full_table_name(source, 'anvil_activity'))} AS a - ) - SELECT - used_file_id, - a.generated_file_id, - a.activity_id, - a.activity_table - FROM activities AS a, UNNEST(a.used_file_id) AS used_file_id - WHERE used_file_id IN ({', '.join(map(repr, file_ids))}) - ''') - return { - KeyLink( - inputs=singleton( - KeyReference(key=row['used_file_id'], - entity_type='anvil_file')), - outputs=frozenset( - KeyReference(key=file_id, - entity_type='anvil_file') - for file_id in row['generated_file_id'] - ), - activity=KeyReference(key=row['activity_id'], - entity_type=row['activity_table'])) - for row in rows - } - else: - return set() - - def _retrieve_entities(self, - source: TDRSourceSpec, - entity_type: EntityType, - keys: AbstractSet[Key], - ) -> MutableJSONs: - if keys: - columns = self._columns(entity_type) - table_name = self._full_table_name(source, entity_type) - pk_column = entity_type.removeprefix('anvil_') + '_id' - assert pk_column in columns, entity_type - log.debug('Retrieving %i entities of type %r ...', len(keys), entity_type) - rows = self._run_sql(f''' - SELECT {', '.join(sorted(columns))} - FROM {backtick(table_name)} - WHERE {pk_column} IN ({', '.join(map(repr, keys))}) - ''') - - rows = [ - { - k: self.format_version(v) if isinstance(v, datetime.datetime) else v - for k, v in row.items() - } - for row in rows - ] - log.debug('Retrieved %i entities of type %r', len(rows), entity_type) - missing = keys - {row[pk_column] for row in rows} - assert not missing, R( - f'Found only {len(rows)} out of {len(keys)} expected rows in {table_name}. ' - f'Missing entities: {missing}') - return rows - else: - return [] - - _schema_columns = { - table['name']: [column['name'] for column in table['columns']] - for table in anvil_schema['tables'] - } - - def _columns(self, table_name: str) -> set[str]: - try: - columns = self._schema_columns[table_name] - except KeyError: - return {'*'} - else: - columns = set(columns) - columns.add('datarepo_row_id') - return columns diff --git a/src/azul/plugins/repository/tdr_hca/__init__.py b/src/azul/plugins/repository/tdr_hca/__init__.py deleted file mode 100644 index c1541a75bd..0000000000 --- a/src/azul/plugins/repository/tdr_hca/__init__.py +++ /dev/null @@ -1,535 +0,0 @@ -from collections import ( - defaultdict, -) -from concurrent.futures import ( - ThreadPoolExecutor, -) -from itertools import ( - islice, -) -import json -import logging -from operator import ( - itemgetter, -) -from typing import ( - ClassVar, - Iterable, - Self, - cast, -) - -import attr -from furl import ( - furl, -) -from more_itertools import ( - one, -) - -from azul import ( - R, - config, - iif, -) -from azul.bigquery import ( - BigQueryRow, - backtick, -) -from azul.collections import ( - singleton, -) -from azul.drs import ( - RegularDRSURI, -) -from azul.indexer import ( - BundleFQID, -) -from azul.indexer.document import ( - EntityID, - EntityReference, - EntityType, -) -from azul.plugins.metadata.hca import ( - HCAFile, -) -from azul.plugins.metadata.hca.bundle import ( - HCABundle, -) -from azul.plugins.repository.tdr import ( - TDRBundle, - TDRBundleFQID, - TDRPlugin, -) -from azul.strings import ( - single_quote as sq, -) -from azul.terra import ( - TDRSourceRef, - TDRSourceSpec, -) -from azul.types import ( - JSON, - JSONs, - MutableJSON, - MutableJSONs, -) -from humancellatlas.data.metadata import ( - api, -) - -log = logging.getLogger(__name__) - -Entities = set[EntityReference] -EntitiesByType = dict[EntityType, set[EntityID]] - - -@attr.s(frozen=True, auto_attribs=True) -class Links: - project: EntityReference - processes: Entities = attr.Factory(set) - protocols: Entities = attr.Factory(set) - inputs: Entities = attr.Factory(set) - outputs: Entities = attr.Factory(set) - supplementary_files: Entities = attr.Factory(set) - - @classmethod - def from_json(cls, project: EntityReference, links_json: JSON) -> Self: - """ - A `links.json` file, in a more accessible form. - - :param links_json: The contents of a `links.json` file. - - :param project: A reference to the project the given `links.json` - belongs to. - """ - self = cls(project) - for link in cast(JSONs, links_json['links']): - link_type = link['link_type'] - if link_type == 'process_link': - self.processes.add(EntityReference(entity_type=link['process_type'], - entity_id=link['process_id'])) - for category in ('input', 'output', 'protocol'): - plural = category + 's' - target = getattr(self, plural) - for entity in cast(JSONs, link[plural]): - target.add(EntityReference(entity_type=entity[category + '_type'], - entity_id=entity[category + '_id'])) - elif link_type == 'supplementary_file_link': - associate = EntityReference(entity_type=link['entity']['entity_type'], - entity_id=link['entity']['entity_id']) - # For MVP, only project entities can have associated supplementary files. - assert associate == project, R( - 'Supplementary file must be associated with the current project', - project, associate) - for entity in cast(JSONs, link['files']): - self.supplementary_files.add( - EntityReference(entity_type='supplementary_file', - entity_id=entity['file_id'])) - else: - assert False, R('Unexpected link_type', link_type) - return self - - def all_entities(self) -> Entities: - return set.union(*(value if isinstance(value, set) else {value} - for field, value in attr.asdict(self, recurse=False).items())) - - def dangling_inputs(self) -> Entities: - return { - input_ - for input_ in self.inputs - if input_.entity_type.endswith('_file') and not ( - input_ in self.outputs or - input_ in self.supplementary_files - ) - } - - -class TDRHCABundle(HCABundle[TDRBundleFQID], TDRBundle): - - @classmethod - def canning_qualifier(cls) -> str: - return super().canning_qualifier() + '.hca' - - def add_entity(self, - *, - entity: EntityReference, - row: BigQueryRow, - is_stitched: bool - ) -> None: - if is_stitched: - self.stitched.add(entity.entity_id) - if entity.entity_type.endswith('_file'): - self._add_manifest_entry(entity, self.file_from_row(row)) - content = row['content'] - self.metadata[str(entity)] = (json.loads(content) - if isinstance(content, str) - else content) - - metadata_columns: ClassVar[frozenset[str]] = singleton( - 'content' - ) - - data_columns: ClassVar[frozenset[str]] = frozenset({ - 'descriptor', - 'JSON_EXTRACT_SCALAR(content, "$.file_core.file_name") AS file_name', - 'file_id' - }) - - # `links_id` is omitted for consistency since the other sets do not include - # the primary key - links_columns: ClassVar[frozenset[str]] = singleton( - 'project_id' - ) - - @classmethod - def file_from_row(cls, row: BigQueryRow) -> HCAFile: - descriptor = json.loads(row['descriptor']) - # FIXME: Move validation of descriptor to the metadata API - # https://github.com/DataBiosphere/azul/issues/6299 - api.Entity.validate_described_by(descriptor) - return HCAFile.from_descriptor(descriptor, - uuid=descriptor['file_id'], - name=row['file_name'], - drs_uri=cls._parse_drs_uri(row['file_id'], descriptor)) - - def _add_manifest_entry(self, - entity: EntityReference, - file: HCAFile) -> None: - file_json = file.to_json() - file_json['content-type'] = file_json.pop('content_type') - file_json['indexed'] = False - self.manifest[str(entity)] = file_json - - @classmethod - def _parse_drs_uri(cls, - file_id: str | None, - descriptor: JSON - ) -> str | None: - if file_id is None: - try: - external_drs_uri = descriptor['drs_uri'] - except KeyError: - assert False, R( - '`file_id` is null and `drs_uri` is not set in file descriptor', - descriptor) - else: - # FIXME: Support non-null DRS URIs in file descriptors - # https://github.com/DataBiosphere/azul/issues/3631 - if external_drs_uri is not None: - log.warning('Non-null `drs_uri` in file descriptor (%s)', external_drs_uri) - external_drs_uri = None - return external_drs_uri - else: - # This requirement prevent mismatches in the DRS domain, and ensures - # that changes to the column syntax don't go undetected. - parsed = RegularDRSURI.parse(file_id) - assert parsed.uri.netloc == config.tdr_service_url.netloc, R( - 'Unexpected DRS URI location', parsed.uri) - return file_id - - -class Plugin(TDRPlugin[TDRHCABundle, TDRBundleFQID]): - - def count_bundles(self, source: TDRSourceSpec) -> int: - prefix = '' if source.prefix is None else source.prefix.common - assert prefix == prefix.lower(), source - query = f''' - SELECT COUNT(*) AS count - FROM {backtick(self._full_table_name(source, 'links'))} - WHERE STARTS_WITH(LOWER(datarepo_row_id), {prefix!r}) - ''' - rows = self._run_sql(query) - return one(rows)['count'] - - def count_files(self, source: TDRSourceSpec) -> int: - prefix = '' if source.prefix is None else source.prefix.common - assert prefix == prefix.lower(), source - query = ' UNION ALL '.join( - f''' - SELECT COUNT(*) AS count - FROM {backtick(self._full_table_name(source, entity_type))} - WHERE STARTS_WITH(LOWER(JSON_EXTRACT_SCALAR(descriptor, "$.sha256")), - {prefix!r}) - ''' - for entity_type, entity_cls in api.entity_types.items() - if entity_type.endswith('_file') - ) - rows = self._run_sql(query) - return sum(row['count'] for row in rows) - - def list_bundles(self, - source: TDRSourceRef, - prefix: str - ) -> list[TDRBundleFQID]: - self._assert_source(source) - self._assert_partition(source, prefix) - assert prefix == prefix.lower(), source - current_bundles = self._query_unique_sorted(f''' - SELECT links_id, version - FROM {backtick(self._full_table_name(source.spec, 'links'))} - WHERE STARTS_WITH(LOWER(links_id), {prefix!r}) - ''', group_by='links_id') - return [ - TDRBundleFQID(source=source, - uuid=row['links_id'], - version=self.format_version(row['version'])) - for row in current_bundles - ] - - def list_files(self, source: TDRSourceRef, prefix: str) -> list[HCAFile]: - self._assert_source(source) - self._assert_partition(source, prefix) - assert prefix == prefix.lower(), prefix - rows = self._run_sql(' UNION ALL '.join( - f''' - SELECT {', '.join(TDRHCABundle.data_columns)} - FROM {backtick(self._full_table_name(source.spec, entity_type))} - WHERE STARTS_WITH(LOWER(JSON_EXTRACT_SCALAR(descriptor, "$.sha256")), - {prefix!r}) - ''' - for entity_type, entity_cls in api.entity_types.items() - if entity_type.endswith('_file') - )) - return list(map(TDRHCABundle.file_from_row, rows)) - - def _query_unique_sorted(self, - query: str, - group_by: str - ) -> list[BigQueryRow]: - iter_rows = self._run_sql(query) - key = itemgetter(group_by) - rows = sorted(iter_rows, key=key) - assert len(set(map(key, rows))) == len(rows), R( - 'Expected unique keys', group_by) - return rows - - def _emulate_bundle(self, bundle_fqid: TDRBundleFQID) -> TDRHCABundle: - bundle = TDRHCABundle(fqid=bundle_fqid, - manifest={}, - metadata={}, - links={}) - entities, root_entities, links_jsons = self._stitch_bundles(bundle) - bundle.links = self._merge_links(links_jsons) - - with ThreadPoolExecutor(max_workers=config.num_tdr_workers) as executor: - futures = { - entity_type: executor.submit(self._retrieve_entities, - bundle.fqid.source.spec, - entity_type, - entity_ids) - for entity_type, entity_ids in entities.items() - } - for entity_type, future in futures.items(): - e = future.exception() - if e is None: - rows = future.result() - pk_column = entity_type + '_id' - rows.sort(key=itemgetter(pk_column)) - for row in rows: - entity = EntityReference(entity_id=row[pk_column], entity_type=entity_type) - is_stitched = entity not in root_entities - bundle.add_entity(entity=entity, - row=row, - is_stitched=is_stitched) - else: - log.error('TDR worker failed to retrieve entities of type %r', - entity_type, exc_info=e) - raise e - return bundle - - def _stitch_bundles(self, - root_bundle: TDRHCABundle - ) -> tuple[EntitiesByType, Entities, MutableJSONs]: - """ - Recursively follow dangling inputs to collect entities from upstream - bundles, ensuring that no bundle is processed more than once. - """ - source = root_bundle.fqid.source - entities: EntitiesByType = defaultdict(set) - root_entities = None - unprocessed: set[TDRBundleFQID] = {root_bundle.fqid} - processed: set[TDRBundleFQID] = set() - stitched_links: MutableJSONs = [] - # Retrieving links in batches eliminates the risk of exceeding - # BigQuery's maximum query size. Using a batches size 1000 appears to be - # equally performant as retrieving the links without batching. - batch_size = 1000 - while unprocessed: - batch = set(islice(unprocessed, batch_size)) - links = self._retrieve_links(batch) - processed.update(batch) - unprocessed -= batch - stitched_links.extend(links.values()) - all_dangling_inputs: set[EntityReference] = set() - for links_id, links_json in links.items(): - project = EntityReference(entity_type='project', - entity_id=links_json['project_id']) - links = Links.from_json(project, links_json['content']) - linked_entities = links.all_entities() - dangling_inputs = links.dangling_inputs() - if links_id == root_bundle.fqid: - assert root_entities is None - root_entities = linked_entities - dangling_inputs - for entity in linked_entities: - entities[entity.entity_type].add(entity.entity_id) - if dangling_inputs: - log.info('There are %i dangling inputs in bundle %r', len(dangling_inputs), links_id) - log.debug('Dangling inputs in bundle %r: %r', links_id, dangling_inputs) - all_dangling_inputs.update(dangling_inputs) - else: - log.info('Bundle %r is self-contained', links_id) - if all_dangling_inputs: - upstream = self._find_upstream_bundles(source, all_dangling_inputs) - unprocessed |= upstream - processed - - assert root_entities is not None - processed.remove(root_bundle.fqid) - if processed: - arg = f': {processed!r}' if log.isEnabledFor(logging.DEBUG) else '' - log.info('Stitched %i bundle(s)%s', len(processed), arg) - return entities, root_entities, stitched_links - - def _retrieve_links(self, - links_ids: set[TDRBundleFQID] - ) -> dict[TDRBundleFQID, MutableJSON]: - """ - Retrieve links entities from BigQuery and parse the `content` column. - :param links_ids: Which links entities to retrieve. - """ - source = one({fqid.source.spec for fqid in links_ids}) - links = self._retrieve_entities(source, 'links', links_ids) - links = { - # Copy the values so we can reassign `content` below - fqid: dict(one(links_json - for links_json in links - if links_json['links_id'] == fqid.uuid)) - for fqid in links_ids - } - for links_json in links.values(): - links_json['content'] = json.loads(links_json['content']) - return links - - def _retrieve_entities(self, - source: TDRSourceSpec, - entity_type: EntityType, - entity_ids: set[EntityID] | set[BundleFQID], - ) -> list[BigQueryRow]: - """ - Efficiently retrieve multiple entities from BigQuery in a single query. - - :param source: Snapshot containing the entity table - - :param entity_type: The type of entity, corresponding to the table name - - :param entity_ids: For links, the fully qualified UUID and version of - each `links` entity. For other entities, just the UUIDs. - """ - pk_column = entity_type + '_id' - version_column = 'version' - columns = { - pk_column, - *TDRHCABundle.metadata_columns, - *iif(entity_type == 'links', TDRHCABundle.links_columns), - *iif(entity_type.endswith('_file'), TDRHCABundle.data_columns) - } - table_name = backtick(self._full_table_name(source, entity_type)) - entity_id_type = one(set(map(type, entity_ids))) - - if entity_type == 'links': - assert issubclass(entity_id_type, BundleFQID), entity_id_type - entity_ids = cast(set[BundleFQID], entity_ids) - where_columns = (pk_column, version_column) - where_values = ( - (sq(fqid.uuid), f'TIMESTAMP({sq(fqid.version)})') - for fqid in entity_ids - ) - expected = {fqid.uuid for fqid in entity_ids} - else: - assert issubclass(entity_id_type, str), (entity_type, entity_id_type) - where_columns = (pk_column,) - where_values = ((sq(str(entity_id)),) for entity_id in entity_ids) - expected = entity_ids - query = f''' - SELECT {', '.join(columns)} - FROM {table_name} - WHERE {self._in(where_columns, where_values)} - ''' - log.debug('Retrieving %i entities of type %r ...', len(entity_ids), entity_type) - rows = self._query_unique_sorted(query, group_by=pk_column) - log.debug('Retrieved %i entities of type %r', len(rows), entity_type) - missing = expected - {row[pk_column] for row in rows} - assert not missing, R( - f'Found only {len(rows)} out of {len(entity_ids)} expected rows in {table_name}. ' - f'Missing entities: {missing}') - return rows - - def _in(self, - columns: tuple[str, ...], - values: Iterable[tuple[str, ...]] - ) -> str: - """ - >>> plugin = Plugin(catalog='') - >>> plugin._in(('foo', 'bar'), [('"abc"', '123'), ('"def"', '456')]) - '(foo, bar) IN (("abc", 123), ("def", 456))' - """ - - def join(i): - return '(' + ', '.join(i) + ')' - - return join(columns) + ' IN ' + join(map(join, values)) - - def _find_upstream_bundles(self, - source: TDRSourceRef, - outputs: Entities) -> set[TDRBundleFQID]: - """ - Search for bundles containing processes that produce the specified output - entities. - """ - output_ids = [output.entity_id for output in outputs] - output_id = 'JSON_EXTRACT_SCALAR(link_output, "$.output_id")' - rows = self._run_sql(f''' - SELECT links_id, version, {output_id} AS output_id - FROM {backtick(self._full_table_name(source.spec, 'links'))} AS links - JOIN UNNEST(JSON_EXTRACT_ARRAY(links.content, '$.links')) AS content_links - ON JSON_EXTRACT_SCALAR(content_links, '$.link_type') = 'process_link' - JOIN UNNEST(JSON_EXTRACT_ARRAY(content_links, '$.outputs')) AS link_output - ON {output_id} IN UNNEST({output_ids}) - ''') - bundles = set() - outputs_found = set() - for row in rows: - bundles.add(TDRBundleFQID(source=source, - uuid=row['links_id'], - version=self.format_version(row['version']))) - outputs_found.add(row['output_id']) - missing = set(output_ids) - outputs_found - assert not missing, R(f'Dangling inputs not found in any bundle: {missing}') - return bundles - - def _merge_links(self, links_jsons: MutableJSONs) -> MutableJSON: - """ - Merge the links.json documents from multiple stitched bundles into a - single document. - """ - root, *stitched = links_jsons - if stitched: - source_contents = [row['content'] for row in links_jsons] - # FIXME: Explicitly verify compatible schema versions for stitched subgraphs - # https://github.com/DataBiosphere/azul/issues/3215 - schema_type = 'links' - schema_version = '3.0.0' - schema_url = furl(url='https://schema.humancellatlas.org', - path=('system', schema_version, schema_type)) - merged_content = { - 'schema_type': schema_type, - 'schema_version': schema_version, - 'describedBy': str(schema_url), - 'links': sum((sc['links'] for sc in source_contents), start=[]) - } - assert merged_content.keys() == one({ - frozenset(sc.keys()) for sc in source_contents - }), merged_content - return merged_content - else: - return root['content'] diff --git a/src/azul/queues.py b/src/azul/queues.py deleted file mode 100644 index 03c2faebd5..0000000000 --- a/src/azul/queues.py +++ /dev/null @@ -1,591 +0,0 @@ -import builtins -from collections import ( - deque, -) -from collections.abc import ( - Iterable, - Mapping, -) -from concurrent.futures import ( - Future, - ThreadPoolExecutor, - as_completed, -) -from datetime import ( - datetime, -) -from enum import ( - Enum, -) -from itertools import ( - chain, - islice, -) -import json -import logging -from math import ( - ceil, -) -import os -import time -from typing import ( - Self, - TYPE_CHECKING, - cast, -) -import uuid - -import attrs -from chalice.app import ( - SQSRecord, -) -import more_itertools -from more_itertools import ( - chunked, - one, -) - -from azul import ( - R, - cached_property, - config, -) -from azul.deployment import ( - aws, -) -from azul.files import ( - write_file_atomically, -) -from azul.json import ( - Serializable, -) -from azul.lambdas import ( - Lambdas, -) -from azul.modules import ( - load_app_module, -) -from azul.types import ( - AnyJSON, - JSON, - json_mapping, - json_str, -) - -log = logging.getLogger(__name__) - -if TYPE_CHECKING: - from mypy_boto3_sqs.type_defs import ( - ChangeMessageVisibilityBatchRequestEntryTypeDef, - SendMessageBatchRequestEntryTypeDef, - SendMessageRequestQueueSendMessageTypeDef, - ) - from mypy_boto3_sqs.service_resource import ( - Message, - Queue, - ) - - -@attrs.frozen(kw_only=True) -class SQSMessage: - body: JSON - - #: Approximate number of times this message has been received, or None if - #: this message was not received from a queue - #: - attempts: int | None = None - - #: The ID of this message in the queue, or None if this message was not - #: received from a queue. - #: - id: str | None = None - - def to_entry(self) -> 'SendMessageRequestQueueSendMessageTypeDef': - return {'MessageBody': json.dumps(self.body)} - - def to_batch_entry(self, id: int) -> 'SendMessageBatchRequestEntryTypeDef': - return {**self.to_entry(), 'Id': str(id)} - - @classmethod - def from_record(cls, record: SQSRecord) -> Self: - attributes = json_mapping(record.to_dict()['attributes']) - return cls(id=json_str(record.to_dict()['messageId']), - body=json.loads(record.body), - attempts=int(json_str(attributes['ApproximateReceiveCount']))) - - -@attrs.frozen(kw_only=True) -class SQSFifoMessage(SQSMessage): - group_id: str - dedup_id: str = attrs.field(factory=lambda: str(uuid.uuid4())) - - def to_entry(self) -> 'SendMessageRequestQueueSendMessageTypeDef': - return { - **super().to_entry(), - 'MessageGroupId': self.group_id, - 'MessageDeduplicationId': self.dedup_id - } - - @classmethod - def from_record(cls, record: SQSRecord) -> Self: - attributes = json_mapping(record.to_dict()['attributes']) - return cls(id=json_str(record.to_dict()['messageId']), - body=json.loads(record.body), - attempts=int(json_str(attributes['ApproximateReceiveCount'])), - group_id=json_str(attributes['MessageGroupId']), - dedup_id=json_str(attributes['MessageDeduplicationId'])) - - -class Queues: - #: The number of messages to be queued in a single SQS SendMessageBatch - #: action. Theoretically, larger batches are better but SQS currently limits - #: the SendMessageBatch size to 10. This is also used to configure the - #: number of SQS messages that Lambda delivers to a function bound to a - #: queue. Lambda can deliver at most 10 FIFO messages or 10,000 standard - #: messages. - #: - batch_size = 10 - - def __init__(self, delete: bool = False, json_body: bool = True): - self._delete = delete - self._json_body = json_body - - def list(self): - log.info('Listing queues') - print(f'\n{"Queue Name":<35s}' - f'{"Messages Available":^20s}' - f'{"Messages In Flight":^20s}' - f'{"Messages Delayed":^18s}\n') - queues = self.all_queues() - for queue_name, queue in queues.items(): - print(f'{queue_name:<35s}' - f'{queue.attributes["ApproximateNumberOfMessages"]:^20s}' - f'{queue.attributes["ApproximateNumberOfMessagesNotVisible"]:^20s}' - f'{queue.attributes["ApproximateNumberOfMessagesDelayed"]:^18s}') - - def dump(self, queue_name: str, path: str): - queue = aws.sqs_queue(queue_name) - self._dump(queue, path) - - def dump_all(self): - for queue_name, queue in self.all_queues().items(): - self._dump(queue, queue_name + '.json') - - def _dump(self, queue: 'Queue', path: str): - log.info('Writing messages from queue %r to file %r', queue.url, path) - messages = self._get_messages(queue) - self._dump_messages(messages, queue.url, path) - log.info(f'Finished writing {path!r}') - self._cleanup_messages(queue, messages) - - def _get_messages(self, queue: 'Queue') -> builtins.list['Message']: - messages: list['Message'] = [] - while True: - message_batch = queue.receive_messages(AttributeNames=['All'], - MaxNumberOfMessages=10, - VisibilityTimeout=300) - if not message_batch: # Nothing left in queue - return messages - else: - messages.extend(message_batch) - - def read_messages(self, queue: 'Queue') -> builtins.list['Message']: - messages = self._get_messages(queue) - self._cleanup_messages(queue, messages) - return messages - - def send_messages(self, queue: 'Queue', messages: Iterable[SQSMessage]) -> int: - num_messages = 0 - for batch in chunked(messages, self.batch_size): - entries = [message.to_batch_entry(i) for i, message in enumerate(batch)] - queue.send_messages(Entries=entries) - num_messages += len(batch) - return num_messages - - def send_message(self, queue: 'Queue', message: SQSMessage): - queue.send_message(**message.to_entry()) - - def _cleanup_messages(self, queue: 'Queue', messages: Iterable['Message']): - message_batches = list(more_itertools.chunked(messages, self.batch_size)) - if self._delete: - log.info('Removing messages from queue %r', queue.url) - self._delete_messages(message_batches, queue) - else: - log.info('Returning messages to queue %r', queue.url) - self._return_messages(message_batches, queue) - - def _dump_messages(self, - messages: Iterable['Message'], - queue_url: str, - path: str): - messages = [self._condense(message) for message in messages] - with write_file_atomically(path) as file: - content = { - 'queue': queue_url, - 'messages': messages - } - json.dump(content, file, indent=4) - log.info('Wrote %i messages', len(messages)) - - def _return_messages(self, - message_batches: Iterable[Iterable['Message']], - queue: 'Queue'): - for message_batch in message_batches: - batch: list['ChangeMessageVisibilityBatchRequestEntryTypeDef'] = [ - dict(Id=message.message_id, - ReceiptHandle=message.receipt_handle, - VisibilityTimeout=0) - for message in message_batch - ] - response = queue.change_message_visibility_batch(Entries=batch) - if len(response['Successful']) != len(batch): - raise RuntimeError(f'Failed to return message: {response!r}') - - def _delete_messages(self, - message_batches: Iterable[builtins.list['Message']], - queue: 'Queue'): - for message_batch in message_batches: - response = queue.delete_messages( - Entries=[dict(Id=message.message_id, - ReceiptHandle=message.receipt_handle) for message in message_batch]) - if len(response['Successful']) != len(message_batch): - raise RuntimeError(f'Failed to delete messages: {response!r}') - - def _condense(self, message: 'Message') -> JSON: - """ - Prepare a message for writing to a local file. - """ - # The cast is needed because the type stub for `Message` misuses `typing.Literal` - attributes = cast(dict[str, str], message.attributes) - return { - 'MessageId': message.message_id, - 'ReceiptHandle': message.receipt_handle, - 'MD5OfBody': message.md5_of_body, - 'Body': json.loads(message.body) if self._json_body else message.body, - 'Attributes': json_mapping(attributes), - '_Attributes': { - k: datetime.fromtimestamp(int(json_str(attributes[k])) / 1000).astimezone().isoformat() - for k in ('SentTimestamp', 'ApproximateFirstReceiveTimestamp') - } - } - - def _reconstitute(self, message: JSON) -> 'SendMessageBatchRequestEntryTypeDef': - """ - Prepare a message from a local file for submission to a queue. - - The inverse of _condense(). - """ - body = message['Body'] - if not isinstance(body, str): - body = json.dumps(body) - attributes = json_mapping(message['Attributes']) - result: 'SendMessageBatchRequestEntryTypeDef' = { - 'Id': json_str(message['MessageId']), - 'MessageBody': body, - } - for key in ('MessageGroupId', 'MessageDeduplicationId'): - try: - result[key] = json_str(attributes[key]) - except KeyError: - pass - return result - - def all_queues(self) -> dict[str, 'Queue']: - return self.get_queues(config.all_queue_names) - - def get_queues(self, queue_names: Iterable[str]) -> dict[str, 'Queue']: - return { - queue_name: aws.sqs_queue(queue_name) - for queue_name in queue_names - } - - def get_queue_lengths(self, - queues: Mapping[str, 'Queue'] - ) -> tuple[int, dict[str, int]]: - """ - Count the number of messages in the given queues. - - :param queues: A dictionary of Boto3 queue resources by name. - - :return: A tuple of the total number of messages in all queues and a - dictionary mapping each queue's name to the number of messages - in that queue. - """ - total, lengths = 0, {} - for queue_name, queue in queues.items(): - queue.reload() - message_counts = [ - int(queue.attributes['ApproximateNumberOfMessages']), - int(queue.attributes['ApproximateNumberOfMessagesNotVisible']), - int(queue.attributes['ApproximateNumberOfMessagesDelayed']), - ] - length = sum(message_counts) - log.debug('Queue %s has %i message(s) (%i available, %i in flight and %i delayed).', - queue_name, length, *message_counts) - total += length - lengths[queue_name] = length - return total, lengths - - def wait_to_stabilize(self, - queue_names: Iterable[str], - timeout: int, - *, - detect_stall: bool - ) -> int: - """ - Wait for queues to reach a steady state. - - :param queue_names: Which queues to wait for. - - :param timeout: The highest timeout among lambda functions receiving - messages from the queues. - - :param detect_stall: If True, the method will raise an exception if - there is no observable progress while the queues - are nonempty. Otherwise, the method will wait - indefinitely for the queues to empty. - - :return: The total final length of the stabilized queues. The only - observable is zero; otherwise, an exception is raised. - """ - sleep_time = 10 - queues = self.get_queues(queue_names) - maxlen = ceil(timeout / sleep_time) - total_lengths: deque[int] = deque(maxlen=maxlen) - # Two minutes to safely accommodate SQS eventual consistency window of - # one minute. For more info, read WARNING section on - # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Client.get_queue_attributes - assert maxlen * sleep_time >= 2 * 60 - - while True: - # Determine queue lengths - total_length, queue_lengths = self.get_queue_lengths(queues) - total_lengths.append(total_length) - log.info('Counting %i messages in %i queues.', - total_length, len(queue_lengths)) - log.info('Message count history (most recent first) is %r.', - list(reversed(total_lengths))) - - min_num_zeros = 60 // sleep_time - assert min_num_zeros <= maxlen, min_num_zeros - num_total_lengths = len(total_lengths) - if num_total_lengths >= min_num_zeros: - if not any(islice(reversed(total_lengths), min_num_zeros)): - final_length = total_lengths[-1] - log.info('The queues have emptied.') - break - elif detect_stall and num_total_lengths == total_lengths.maxlen: - cummdiff = sum( - abs(first - second) - for first, second in more_itertools.pairwise(total_lengths) - ) - if cummdiff == 0: - final_length = total_lengths[-1] - log.info('The queues have stabilized.') - break - - log.info('Waiting for %s queue(s) to stabilize ...', len(queues)) - time.sleep(sleep_time) - - if final_length != 0: - raise Exception('The queues have stalled', final_length) - return final_length - - def feed(self, path: str, queue_name: str, force: bool = False): - with open(path) as file: - content = json.load(file) - orig_queue = content['queue'] - messages = content['messages'] - queue = aws.sqs_queue(queue_name) - log.info('Writing messages from file %r to queue %r', path, queue.url) - if orig_queue != queue.url: - if force: - log.warning('Messages originating from queue %r are being fed into queue %r', - orig_queue, queue.url) - else: - raise RuntimeError(f'Cannot feed messages originating from {orig_queue!r} to {queue.url!r}. ' - f'Use --force to override.') - message_batches = list(more_itertools.chunked(messages, self.batch_size)) - - def _cleanup(): - if self._delete: - remaining_messages = list(chain.from_iterable(message_batches)) - if len(remaining_messages) < len(messages): - self._dump_messages(messages, orig_queue, path) - else: - assert len(remaining_messages) == len(messages) - log.info('No messages were submitted, not touching local file %r', path) - - while message_batches: - message_batch = message_batches[0] - entries = [self._reconstitute(message) for message in message_batch] - try: - queue.send_messages(Entries=entries) - except BaseException: - assert message_batches - _cleanup() - raise - message_batches.pop(0) - - if self._delete: - if message_batches: - _cleanup() - else: - log.info('All messages were submitted, removing local file %r', path) - os.unlink(path) - - def purge(self, queue_name: str): - queues = self.get_queues([queue_name]) - self.purge_queues_safely(queues) - - def purge_all(self): - self.purge_queues_safely(self.all_queues()) - - def purge_indexer(self): - queues = self.get_queues(config.indexer_work_queue_names) - self.purge_queues_safely(queues) - - def purge_mirror(self): - queues = self.get_queues(config.mirror_work_queue_names) - self.purge_queues_safely(queues) - - def purge_queues_safely(self, queues: Mapping[str, 'Queue']): - self.manage_lambdas(queues, enable=False) - self.purge_queues_unsafely(queues) - self.manage_lambdas(queues, enable=True) - - def purge_queues_unsafely(self, queues: Mapping[str, 'Queue']): - with ThreadPoolExecutor(max_workers=len(queues)) as tpe: - futures = [tpe.submit(self._purge_queue, queue) for queue in queues.values()] - self._handle_futures(futures) - - def _purge_queue(self, queue: 'Queue'): - log.info('Purging queue %r', queue.url) - queue.purge() - self._wait_for_queue_empty(queue) - - def _wait_for_queue_idle(self, queue: 'Queue'): - while True: - num_inflight_messages = int(queue.attributes['ApproximateNumberOfMessagesNotVisible']) - if num_inflight_messages == 0: - break - log.info('Queue %r has %i in-flight messages', queue.url, num_inflight_messages) - time.sleep(3) - queue.reload() - - def _wait_for_queue_empty(self, queue: 'Queue'): - while True: - num_messages = ( - int(queue.attributes['ApproximateNumberOfMessages']) + - int(queue.attributes['ApproximateNumberOfMessagesDelayed']) + - int(queue.attributes['ApproximateNumberOfMessages']) - ) - if num_messages == 0: - break - log.info('Queue %r still has %i messages', queue.url, num_messages) - time.sleep(3) - queue.reload() - - def _manage_sqs_push(self, function_name: str, queue: 'Queue', enable: bool): - lambda_ = aws.lambda_ - response = lambda_.list_event_source_mappings(FunctionName=function_name, - EventSourceArn=queue.attributes['QueueArn']) - mapping_uuid = one(response['EventSourceMappings'])['UUID'] - - def update_(): - log.info('%s push from %r to lambda function %r', - 'Enabling' if enable else 'Disabling', queue.url, function_name) - lambda_.update_event_source_mapping(UUID=mapping_uuid, Enabled=enable) - - state = one(response['EventSourceMappings'])['State'] - while True: - log.info('Push from %r to lambda function %r is in state %r.', - queue.url, function_name, state) - if state in ('Disabling', 'Enabling', 'Updating'): - pass - elif state == 'Enabled': - if enable: - break - else: - update_() - elif state == 'Disabled': - if enable: - update_() - else: - break - else: - raise NotImplementedError(state) - time.sleep(3) - state = lambda_.get_event_source_mapping(UUID=mapping_uuid)['State'] - - def functions_by_queue(self) -> dict[str, str]: - """ - Returns a dictionary that maps queues to the Lambda function triggered - by the queue. The keys and values are fully qualified resource names. - """ - indexer = load_app_module('indexer') - functions_by_queue = { - handler.queue: config.indexer_function_name(handler.name) - for handler in indexer.app.handler_map.values() - if hasattr(handler, 'queue') - } - invalid_queues = functions_by_queue.keys() - set(config.all_queue_names) - assert not invalid_queues, invalid_queues - return functions_by_queue - - def manage_lambdas(self, queues: Mapping[str, 'Queue'], enable: bool): - """ - Enable or disable the readers and writers of the given queues. - """ - functions_by_queue = self.functions_by_queue() - - with ThreadPoolExecutor(max_workers=len(queues)) as tpe: - futures = [] - - def submit(f, *args, **kwargs): - futures.append(tpe.submit(f, *args, **kwargs)) - - for queue_name, queue in queues.items(): - try: - function = functions_by_queue[queue_name] - except KeyError: - assert queue_name in config.fail_queue_names - else: - if queue_name == config.notifications_queue.name: - # Prevent new notifications from being added - submit(self._manage_lambda, config.indexer_name, enable) - submit(self._manage_sqs_push, function, queue, enable) - self._handle_futures(futures) - futures = [tpe.submit(self._wait_for_queue_idle, queue) for queue in queues.values()] - self._handle_futures(futures) - - def _manage_lambda(self, function_name: str, enable: bool): - self._lambdas.manage_lambda(function_name, enable) - - @cached_property - def _lambdas(self) -> Lambdas: - return Lambdas() - - def _handle_futures(self, futures: Iterable[Future]): - errors = [] - for future in as_completed(futures): - e = future.exception() - if e: - errors.append(e) - log.error('Exception in worker thread', exc_info=e) - if errors: - raise RuntimeError(errors) - - -class Action(Serializable, Enum): - - @classmethod - def from_json(cls, action: AnyJSON) -> Self: - assert isinstance(action, str), R('Action is not a string', type(action)) - try: - return cls[action] - except KeyError: - assert False, R('Invalid action', action) - - def to_json(self) -> str: - return self.name diff --git a/src/azul/schemas.py b/src/azul/schemas.py deleted file mode 100644 index ca47889b0b..0000000000 --- a/src/azul/schemas.py +++ /dev/null @@ -1,85 +0,0 @@ -import json -from typing import ( - Any, -) - -from azul import ( - JSON, - format_description as fd, - mutable_furl, -) -from azul.chalice import ( - AppController, -) -from azul.openapi import ( - params, - responses, - schema, -) - - -class SchemaController(AppController): - """ - A controller for serving JSON schemas relating to an Azul facility - """ - schema_url_path = '/schemas/{facility}/{schema_name}/{version_and_extension}' - - def schema_url(self, - *, - facility: str, - schema_name: str, - version: int - ) -> mutable_furl: - path = self.schema_url_path.format(facility=facility, - schema_name=schema_name, - version_and_extension=f'v{version}.json') - return self.app.base_url.set(path=path) - - def handlers(self) -> dict[str, Any]: - """ - Chalice routes and application handlers to be injected into the global - scope of a Chalice application module. - """ - - @self.app.route( - self.schema_url_path, - methods=['GET'], - cors=True, - spec={ - 'summary': 'Retrieve JSON schemas', - 'tags': ['Auxiliary'], - 'parameters': [ - params.path('facility', str), - params.path('schema_name', str), - params.path('version_and_extension', schema.pattern(r'v\d+\.json')), - ], - 'description': fd( - ''' - [JSON Schemas](https://json-schema.org/docs) for various Azul facilities. - ''' - ), - 'responses': { - '200': { - 'description': 'Contents of the schema', - **responses.json_content( - schema.object( - schema=str, - id=str, - type=str, - additionalProperties=True - ) - ) - } - } - } - ) - def get_schema(facility: str, - schema_name: str, - version_and_extension: str - ) -> JSON: - path = 'schemas', facility, schema_name, version_and_extension - schema = json.loads(self.app.load_static_resource(*path)) - schema['$id'] = str(self.app.self_url) - return schema - - return locals() diff --git a/src/azul/service/__init__.py b/src/azul/service/__init__.py deleted file mode 100644 index f9470a08d7..0000000000 --- a/src/azul/service/__init__.py +++ /dev/null @@ -1,172 +0,0 @@ -from collections.abc import ( - Mapping, - Sequence, -) -import logging -from typing import ( - Protocol, - Self, - TypedDict, -) - -import attr -from chalice import ( - ForbiddenError, -) - -from azul import ( - CatalogName, - mutable_furl, -) -from azul.json import ( - copy_json, -) -from azul.plugins import ( - MetadataPlugin, -) -from azul.types import ( - FlatJSON, - JSON, - PrimitiveJSON, -) - -log = logging.getLogger(__name__) - -# We can't express that these are actually pairs. We could, using tuples, but -# those are not JSON, generally speaking, even though the `json` module supports -# serializing them by default. -FilterRange = Sequence[int] | Sequence[float] | Sequence[str] - -# `is` is a reserved keyword so we can't use the class-based syntax for -# TypedDict, but have to use the constructor-based one instead. We don't -# currently represent the mutual exclusivity of the operators. We could, as a -# union of singleton TypeDict subclasses, but PyCharm doesn't support that. -# -FilterOperator = TypedDict( - 'FilterOperator', - { - 'is': list[PrimitiveJSON | FlatJSON], - 'is_not': list[PrimitiveJSON | FlatJSON], - 'intersects': Sequence[FilterRange], - 'contains': Sequence[FilterRange | int | float | str], - 'within': Sequence[FilterRange], - }, - total=False -) - -FiltersJSON = Mapping[str, FilterOperator] - - -@attr.s(auto_attribs=True, kw_only=True, frozen=True) -class Filters: - explicit: FiltersJSON - source_ids: set[str] - - @classmethod - def from_json(cls, json: JSON) -> Self: - """ - Deserialize an instance of this class without reifying it. - """ - return cls(explicit=json['explicit'], - source_ids=set(json['source_ids'])) - - def to_json(self) -> JSON: - """ - The inverse of :py:meth:`from_json`. - """ - return { - 'explicit': self.explicit, - 'source_ids': sorted(self.source_ids) - } - - def update(self, filters: FiltersJSON) -> Self: - return attr.evolve(self, explicit={**self.explicit, **filters}) - - def reify(self, - plugin: MetadataPlugin, - *, - limit_access: bool = True - ) -> FiltersJSON: - """ - Combine the explicit filters passed in by clients with the implicit ones - representing additional restrictions such as which sources are - accessible to clients. - - :param plugin: Metadata plugin for the current request's catalog - - :param limit_access: Whether to enforce data access controls by - inserting an implicit filter on the source ID facet - """ - filters = copy_json(self.explicit) - special_fields = plugin.special_fields - - def extract_filter(field: str, *, default: set | None) -> set | None: - filter = filters.pop(field, {}) - # Other operators are not supported on string or boolean fields - assert filter.keys() <= {'is'}, filter - try: - values = filter['is'] - except KeyError: - return default - else: - return set(values) - - explicit_sources = extract_filter(special_fields.source_id, default=None) - accessible = extract_filter(special_fields.accessible, default={False, True}) - source_relation = 'is' - - if limit_access: - if explicit_sources is None: - sources = self.source_ids if True in accessible else [] - else: - forbidden_sources = explicit_sources - self.source_ids - if forbidden_sources: - raise ForbiddenError('Cannot filter by inaccessible sources', - forbidden_sources) - else: - sources = explicit_sources if True in accessible else [] - else: - if accessible == set(): - sources = [] - elif accessible == {False, True}: - sources = explicit_sources - elif accessible == {True}: - if explicit_sources is None: - sources = self.source_ids - else: - sources = self.source_ids & explicit_sources - elif accessible == {False}: - if explicit_sources is None: - sources = self.source_ids - source_relation = 'is_not' - else: - sources = explicit_sources - self.source_ids - else: - assert False, accessible - - if sources is None: - assert limit_access is False, limit_access - else: - filters[special_fields.source_id] = {source_relation: sorted(sources)} - - if limit_access: - assert set(filters[special_fields.source_id]['is']) <= self.source_ids - - return filters - - -class BadArgumentException(Exception): - - def __init__(self, message): - super().__init__(message) - - -class FileUrlFunc(Protocol): - - def __call__(self, - *, - catalog: CatalogName, - file_uuid: str, - fetch: bool = True, - **params: str - ) -> mutable_furl: ... diff --git a/src/azul/service/app_controller.py b/src/azul/service/app_controller.py deleted file mode 100644 index da3057a210..0000000000 --- a/src/azul/service/app_controller.py +++ /dev/null @@ -1,153 +0,0 @@ -import json -from typing import ( - Any, - Callable, - Mapping, -) - -import attr -from chalice import ( - BadRequestError as BRE, - NotFoundError, -) - -from azul import ( - R, - RequirementError, - config, -) -from azul.chalice import ( - AppController, -) -from azul.service import ( - FileUrlFunc, - FiltersJSON, -) -from azul.strings import ( - pluralize, -) - - -@attr.s(auto_attribs=True, frozen=True, kw_only=True) -class ServiceAppController(AppController): - file_url_func: FileUrlFunc - - def _parse_filters(self, filters: str | None) -> FiltersJSON: - """ - Parses a string with Azul filters in JSON syntax. Handles default cases - where filters are None or '{}'. - """ - if filters is None: - return {} - else: - return json.loads(filters) - - -def validate_catalog(catalog): - try: - config.Catalog.validate_name(catalog) - except AssertionError as e: - if R.caused(e): - raise R.propagate(e, BRE) - else: - raise - else: - if catalog not in config.catalogs: - raise NotFoundError(f'Catalog name {catalog!r} does not exist. ' - f'Must be one of {set(config.catalogs)}.') - - -class Mandatory: - """ - Validation wrapper signifying that a parameter is mandatory. - """ - - def __init__(self, validator: Callable) -> None: - super().__init__() - self._validator = validator - - def __call__(self, param): - return self._validator(param) - - -def validate_params(query_params: Mapping[str, str], - allow_extra_params: bool = False, - **validators: Callable[[Any], Any]) -> None: - """ - Validates request query parameters for web-service API. - - :param query_params: the parameters to be validated - - :param allow_extra_params: - - When False, only parameters specified via '**validators' are accepted, - and validation fails if additional parameters are present. When True, - additional parameters are allowed but their value is not validated. - - :param validators: - - A dictionary mapping the name of a parameter to a function that will be - used to validate the parameter if it is provided. The callable will be - called with a single argument, the parameter value to be validated, and - is expected to raise ValueError, TypeError or azul.RequirementError if - the value is invalid. Only these exceptions will yield a 4xx status - response, all other exceptions will yield a 500 status response. If the - validator is an instance of `Mandatory`, then validation will fail if - its corresponding parameter is not provided. - - >>> validate_params({'order': 'asc'}, order=str) - - >>> validate_params({'size': 'foo'}, size=int) - Traceback (most recent call last): - ... - chalice.app.BadRequestError: Invalid value for `size` - - >>> validate_params({'order': 'asc', 'foo': 'bar'}, order=str) - Traceback (most recent call last): - ... - chalice.app.BadRequestError: Unknown query parameter `foo` - - >>> validate_params({'order': 'asc', 'foo': 'bar'}, order=str, allow_extra_params=True) - - >>> validate_params({}, foo=str) - - >>> validate_params({}, foo=Mandatory(str)) - Traceback (most recent call last): - ... - chalice.app.BadRequestError: Missing required query parameter `foo` - - """ - - def fmt_error(err_description, params): - # Sorting is to produce a deterministic error message - joined = ', '.join(f'`{p}`' for p in sorted(params)) - return f'{err_description} {pluralize("query parameter", len(params))} {joined}' - - provided_params = query_params.keys() - validation_params = validators.keys() - mandatory_params = { - param_name - for param_name, validator in validators.items() - if isinstance(validator, Mandatory) - } - - if not allow_extra_params: - extra_params = provided_params - validation_params - if extra_params: - raise BRE(fmt_error('Unknown', extra_params)) - - if mandatory_params: - missing_params = mandatory_params - provided_params - if missing_params: - raise BRE(fmt_error('Missing required', missing_params)) - - for param_name, validator in validators.items(): - try: - param_value = query_params[param_name] - except KeyError: - pass - else: - try: - validator(param_value) - except (TypeError, ValueError, RequirementError): - raise BRE(f'Invalid value for `{param_name}`') diff --git a/src/azul/service/async_manifest_service.py b/src/azul/service/async_manifest_service.py deleted file mode 100644 index 6d4dbac3e8..0000000000 --- a/src/azul/service/async_manifest_service.py +++ /dev/null @@ -1,230 +0,0 @@ -import base64 -import json -import logging -from typing import ( - Self, - TypedDict, -) -from uuid import ( - UUID, -) - -import attrs -import msgpack - -from azul import ( - config, -) -from azul.attrs import ( - strict_auto, -) -from azul.deployment import ( - aws, -) -from azul.types import ( - JSON, -) - -log = logging.getLogger(__name__) - - -@attrs.frozen -class InvalidTokenError(Exception): - value: str = strict_auto() - - -@attrs.frozen(kw_only=True) -class Token: - """ - Represents a Step Function execution to generate a manifest - """ - #: A hash of the inputs - generation_id: UUID = strict_auto() - - #: Number of prior executions for the generation represented by this token - iteration: int = strict_auto() - - #: The number of times the service received a request to inspect the - #: status of the execution represented by this token - request_index: int = strict_auto() - - #: How long clients should wait before requesting a status update about the - #: execution represented by the token - retry_after: int = strict_auto() - - @property - def execution_id(self) -> tuple[UUID, int]: - return self.generation_id, self.iteration - - def pack(self) -> bytes: - return msgpack.packb([ - self.generation_id.bytes, - self.iteration, - self.request_index, - self.retry_after - ]) - - @classmethod - def unpack(cls, pack: bytes) -> Self: - i = iter(msgpack.unpackb(pack)) - return cls(generation_id=UUID(bytes=next(i)), - iteration=next(i), - request_index=next(i), - retry_after=next(i)) - - def encode(self) -> str: - return base64.urlsafe_b64encode(self.pack()).decode() - - @classmethod - def decode(cls, token: str) -> Self: - try: - return cls.unpack(base64.urlsafe_b64decode(token)) - except Exception as e: - raise InvalidTokenError(token) from e - - @classmethod - def first(cls, generation_id: UUID, iteration: int) -> Self: - return cls(generation_id=generation_id, - iteration=iteration, - request_index=0, - retry_after=cls._next_retry_after(0)) - - def next(self, *, retry_after: int | None = None) -> Self: - if retry_after is None: - retry_after = self._next_retry_after(self.request_index) - return attrs.evolve(self, - retry_after=retry_after, - request_index=self.request_index + 1) - - @classmethod - def _next_retry_after(cls, request_index: int) -> int: - delays = [1, 1, 4, 6, 10] - try: - return delays[request_index] - except IndexError: - return delays[-1] - - -class ExecutionResult(TypedDict): - input: JSON - output: JSON - - -@attrs.frozen -class NoSuchGeneration(Exception): - token: Token = strict_auto() - - -@attrs.frozen -class GenerationFinished(Exception): - token: Token = strict_auto() - - -@attrs.frozen(kw_only=True) -class GenerationFailed(Exception): - status: str = strict_auto() - output: str | None = strict_auto() - - -@attrs.frozen -class InvalidGeneration(Exception): - token: Token = strict_auto() - - -class AsyncManifestService: - """ - Starting and checking the status of manifest generation jobs. - """ - - @property - def machine_name(self): - return config.qualified_resource_name(config.manifest_sfn) - - def start_generation(self, - generation_id: UUID, - input: JSON, - iteration: int - ) -> Token: - execution_name = self.execution_name(generation_id, iteration) - execution_arn = self.execution_arn(execution_name) - # The input contains the verbatim manifest key as JSON while the ARN - # contains the encoded hash of the key so this log line is useful for - # associating the hash with the key for diagnostic purposes. - log.info('Starting execution %r for input %r', execution_arn, input) - token = Token.first(generation_id, iteration) - try: - # If there already is an execution of the given name, and if that - # execution is still ongoing and was given the same input as what we - # pass here, `start_execution` will succeed idempotently. - execution = self._sfn.start_execution(stateMachineArn=self.machine_arn, - name=execution_name, - input=json.dumps(input)) - except self._sfn.exceptions.ExecutionAlreadyExists: - # This exception indicates that there is already an execution with - # the given name but that it has ended, or that its input differs - # from what we were passing just now. The latter case is unexpected - # because any part of the input that affects the output is covered - # in the manifest hash and therefore the execution name. Any part of - # the input not affecting the output is constant and can only change - # with the source code which would have resulted in a different - # execution name. - # - # In the former case we return the token so that the client has to - # make another request to actually obtain the resulting manifest. - # Strictly speaking, we could return the manifest here, but it keeps - # the control flow simpler. This benevolent race is not probable - # enough to warrant an optimization. - execution = self._sfn.describe_execution(executionArn=execution_arn) - if input == json.loads(execution['input']): - log.info('A completed execution %r already exists', execution_arn) - raise GenerationFinished(token) - else: - raise InvalidGeneration(token) - else: - assert execution_arn == execution['executionArn'], (execution_arn, execution) - log.info('Started execution %r or it was already running', execution_arn) - return token - - def inspect_generation(self, token: Token) -> Token | ExecutionResult: - execution_name = self.execution_name(token.generation_id, token.iteration) - execution_arn = self.execution_arn(execution_name) - try: - execution = self._sfn.describe_execution(executionArn=execution_arn) - except self._sfn.exceptions.ExecutionDoesNotExist: - raise NoSuchGeneration(token) - else: - output = execution.get('output') - status = execution['status'] - if status == 'SUCCEEDED': - if output is None: - log.info('Execution %r succeeded, no output yet', execution_arn) - return token.next(retry_after=1) - else: - log.info('Execution %r succeeded with output %r', execution_arn, output) - return {k: json.loads(execution[k]) for k in ['input', 'output']} - elif status == 'RUNNING': - log.info('Execution %r is still running', execution_arn) - return token.next() - else: - raise GenerationFailed(status=status, output=output) - - def arn(self, suffix): - return f'arn:aws:states:{aws.region_name}:{aws.account}:{suffix}' - - @property - def machine_arn(self): - return self.arn(f'stateMachine:{self.machine_name}') - - def execution_arn(self, execution_name): - return self.arn(f'execution:{self.machine_name}:{execution_name}') - - def execution_name(self, generation_id: UUID, iteration: int) -> str: - assert isinstance(generation_id, UUID), generation_id - assert isinstance(iteration, int), iteration - execution_name = f'{generation_id}_{iteration}' - assert 0 < len(execution_name) <= 80, execution_name - return execution_name - - @property - def _sfn(self): - return aws.stepfunctions diff --git a/src/azul/service/avro_pfb.py b/src/azul/service/avro_pfb.py deleted file mode 100644 index 604fc0f8da..0000000000 --- a/src/azul/service/avro_pfb.py +++ /dev/null @@ -1,805 +0,0 @@ -import bisect -from collections import ( - defaultdict, -) -from collections.abc import ( - Iterable, -) -from itertools import ( - chain, -) -import logging -from operator import ( - attrgetter, - itemgetter, -) -from typing import ( - ClassVar, - Mapping, - MutableSet, - Self, -) -from uuid import ( - UUID, - uuid5, -) - -import attr -import fastavro -from fastavro.validation import ( - ValidationError, -) -from more_itertools import ( - one, -) - -from azul import ( - R, - config, -) -from azul.indexer.field import ( - ClosedRange, - FieldTypes, - Nested, - null_bool, - null_datetime, - null_float, - null_int, - null_str, - pass_thru_int, - pass_thru_json, -) -from azul.json import ( - copy_json, -) -from azul.plugins import ( - RepositoryPlugin, -) -from azul.plugins.metadata.hca.indexer.transform import ( - pass_thru_uuid4, - value_and_unit, -) -from azul.types import ( - AnyJSON, - AnyMutableJSON, - JSON, - MutableJSON, - MutableJSONs, -) - -log = logging.getLogger(__name__) - -renamed_fields = { - 'related_files': None # None to remove field -} - - -def write_pfb_entities(entities: Iterable[JSON], pfb_schema: JSON, path: str): - assert isinstance(pfb_schema, dict) - parsed_schema = fastavro.parse_schema(pfb_schema) - with open(path, 'w+b') as fh: - # Writing the entities one at a time is ~2.5 slower, but makes it clear - # which entities fail, which is useful for debugging. - if config.debug > 1: - log.info('Writing PFB entities individually') - for entity in entities: - try: - fastavro.writer(fh, parsed_schema, [entity], validator=True) - except ValidationError: - log.error('Failed to write Avro entity: %r', entity) - raise - else: - fastavro.writer(fh, parsed_schema, entities, validator=True) - - -# FIXME: Unit tests do not cover PFB handover using an AnVIL catalog -# https://github.com/DataBiosphere/azul/issues/4606 -class PFBConverter: - """ - Converts documents from Elasticsearch into PFB entities. A document's inner - entities correspond to PFB entities which are normalized and linked via - Relations. - """ - - entity_type = 'files' - - def __init__(self, schema: JSON, repository_plugin: RepositoryPlugin): - self.schema = schema - self.repository_plugin = repository_plugin - self._entities: dict[PFBEntity, MutableSet[PFBRelation]] = defaultdict(set) - - def add_doc(self, doc: JSON): - """ - Add an Elasticsearch document to be transformed. - """ - doc_copy = copy_json(doc, 'contents', self.entity_type) - contents = doc_copy['contents'] - file_relations = set() - for entity_type, entities in contents.items(): - # copy_json is expected to only deep copy a subset of the document - if entity_type == self.entity_type: - assert entities is not doc['contents'][entity_type] - else: - assert entities is doc['contents'][entity_type] - entities = (e for e in entities if 'document_id' in e) - # Sorting entities is required for deterministic output since - # the order of the inner entities in an aggregate document is - # tied to the order with which contributions are returned by ES - # during aggregation, which happens to be non-deterministic. - for entity in sorted(entities, key=itemgetter('document_id')): - if entity_type != self.entity_type: - _inject_reference_handover_values(entity, doc) - pfb_entity = PFBEntity.for_aggregate(name=entity_type, - object_=entity, - schema=self.schema) - if pfb_entity not in self._entities: - self._entities[pfb_entity] = set() - file_relations.add(PFBRelation.to_entity(pfb_entity)) - file_entity: MutableJSON = one(contents[self.entity_type]) - related_files = file_entity.pop('related_files', []) - for entity in chain([file_entity], related_files): - _inject_reference_handover_values(entity, doc) - # File entities are assumed to be unique - pfb_entity = PFBEntity.for_aggregate(name=self.entity_type, - object_=entity, - schema=self.schema) - assert pfb_entity not in self._entities - # Terra streams PFBs and requires entities be defined before they are - # referenced. Thus we add the file entity after all the entities - # it relates to. - self._entities[pfb_entity] = file_relations - - def entities(self) -> Iterable[JSON]: - for entity, relations in self._entities.items(): - # Sort relations to make entities consistent for easy diffing - yield entity.to_json(sorted(relations, key=attrgetter('dst_name', 'dst_id'))) - - -def _reversible_join(joiner: str, parts: Iterable[str]) -> str: - parts = list(parts) - assert all(joiner not in part for part in parts), R('Found joiner in', parts) - return joiner.join(parts) - - -@attr.s(auto_attribs=True, frozen=True, kw_only=True) -class PFBEntity: - """ - Python representation of the PFB data object. Attribute names conform to the - PFB spec (which simplifies serialization). - """ - id: str - name: str - object: MutableJSON = attr.ib(eq=False) - namespace_uuid: ClassVar[UUID] = UUID('bc93372b-9218-4f0e-b64e-6f3b339687d6') - - def __attrs_post_init__(self): - assert len(self.id) <= 254, R('Terra requires IDs be no longer than 254 chars') - - @classmethod - def for_aggregate(cls, - name: str, - object_: MutableJSON, - schema: JSON - ) -> Self: - """ - Derive ID from object in a reproducible way so that we can distinguish - entities by comparing their IDs. - """ - cls._add_missing_fields(name, object_, schema) - ids = object_['document_id'] - # document_id is an array unless the inner entity type matches the - # outer entity type - ids = sorted(ids) if isinstance(ids, list) else [ids] - id_ = uuid5(cls.namespace_uuid, _reversible_join('_', ids)) - id_ = _reversible_join('.', map(str, (name, id_, len(ids)))) - return cls(id=id_, name=name, object=object_) - - @classmethod - def for_replica(cls, id: str, replica: MutableJSON) -> Self: - name, object_ = replica['replica_type'], replica['contents'] - return cls(id=id, name=name, object=object_) - - @classmethod - def _add_missing_fields(cls, name: str, object_: MutableJSON, schema): - """ - Compare entities against the schema and add any fields that are missing. - None is the default value. - """ - if schema['type'] == 'record': - object_schema = one(f for f in schema['fields'] if f['name'] == 'object') - entity_schema = one(e for e in object_schema['type'] if e['name'] == name) - elif isinstance(schema['type'], dict): - entity_schema = schema['type']['items'] - else: - assert False, schema - for field in entity_schema['fields']: - field_name, field_type = field['name'], field['type'] - if field_name not in object_: - if isinstance(field_type, list): - assert 'null' in field_type, field - default_value = None - elif isinstance(field_type, dict) and field_type['type'] == 'array': - if isinstance(field_type['items'], dict): - assert field_type['items']['type'] in ('record', 'array'), field - default_value = [] - else: - assert 'null' in field_type['items'], field - default_value = [None] - elif field_type == 'null': - default_value = None - else: - assert False, field - object_[field_name] = default_value - if ( - isinstance(field_type, dict) - and field_type['type'] == 'array' - and isinstance(field_type['items'], dict) - and field_type['items']['type'] == 'record' - ): - for sub_object in object_[field_name]: - cls._add_missing_fields(name=field_name, - object_=sub_object, - schema=field) - - def to_json(self, relations: Iterable['PFBRelation']) -> JSON: - return { - 'id': self.id, - 'name': self.name, - # https://fastavro.readthedocs.io/en/latest/writer.html#using-the-tuple-notation-to-specify-which-branch-of-a-union-to-take - 'object': (self.name, self.object), - 'relations': [attr.asdict(relation) for relation in relations] - } - - -@attr.s(auto_attribs=True, frozen=True, kw_only=True) -class PFBRelation: - dst_id: str - # A more appropriate attribute name would be dst_type, but we stick with - # 'dst_name' to conform to PFB spec - dst_name: str - - @classmethod - def to_entity(cls, entity: PFBEntity) -> Self: - return cls(dst_id=entity.id, dst_name=entity.name) - - -def pfb_links_from_field_types(field_types: FieldTypes) -> MutableJSON: - return { - entity_type: [] if entity_type == 'files' else [{ - 'multiplicity': 'MANY_TO_MANY', - 'dst': 'files', - 'name': 'files' - }] - for entity_type in field_types - } - - -def pfb_metadata_entity(links_by_entity_type: Mapping[str, MutableJSONs], - ) -> MutableJSON: - """ - The Metadata entity encodes the possible relationships between tables. - - Unfortunately Terra does not display the relations between the nodes. - """ - return { - 'id': None, - 'name': 'Metadata', - 'object': { - 'nodes': [ - { - 'name': entity_type, - 'ontology_reference': '', - 'values': {}, - 'links': links, - 'properties': [] - } - for entity_type, links in links_by_entity_type.items() - ], - 'misc': {} - } - } - - -def pfb_schema_from_field_types(field_types: FieldTypes) -> JSON: - field_types = _inject_reference_handover_columns(field_types) - entity_schemas = ( - { - 'name': entity_type, - 'type': 'record', - 'fields': list(_entity_schema_recursive(field_type, entity_type)) - } - for entity_type, field_type in field_types.items() - # We skip primitive top-level fields like total_estimated_cells - if isinstance(field_type, dict) - ) - return avro_pfb_schema(entity_schemas) - - -def pfb_schema_from_replicas(replicas: Iterable[JSON]) -> list[JSON]: - schemas_by_replica_type: dict[str, MutableJSON] = {} - for replica in replicas: - replica_type, replica_contents = replica['replica_type'], replica['contents'] - _update_replica_schema(schema=schemas_by_replica_type, - path=(replica_type,), - key=replica_type, - value=replica_contents) - return list(schemas_by_replica_type.values()) - - -def avro_pfb_schema(azul_avro_schema: Iterable[JSON]) -> JSON: - """ - The boilerplate Avro schema that comprises a PFB's schema is returned in - this JSON literal below. This schema was copied from - - https://github.com/uc-cdis/pypfb/blob/1497bf50e5c85201f6bad9ca69616138b17b8c77/src/pfb/writer.py#L85 - - :param azul_avro_schema: The parts of the schema describe the custom tables - we insert into the PFB - - :return: The complete and valid Avro schema - """ - return { - 'type': 'record', - 'name': 'Entity', - 'fields': [ - { - 'name': 'id', - 'type': ['null', 'string'], - 'default': None - }, - { - 'name': 'name', - 'type': 'string' - }, - { - 'name': 'object', - 'type': [ - { - 'type': 'record', - 'name': 'Metadata', - 'fields': [ - { - 'name': 'nodes', - 'type': { - 'type': 'array', - 'items': { - 'type': 'record', - 'name': 'Node', - 'fields': [ - { - 'name': 'name', - 'type': 'string' - }, - { - 'name': 'ontology_reference', - 'type': 'string', - }, - { - 'name': 'values', - 'type': { - 'type': 'map', - 'values': 'string', - }, - }, - { - 'name': 'links', - 'type': { - 'type': 'array', - 'items': { - 'type': 'record', - 'name': 'Link', - 'fields': [ - { - 'name': 'multiplicity', - 'type': { - 'type': 'enum', - 'name': 'Multiplicity', - 'symbols': [ - 'ONE_TO_ONE', - 'ONE_TO_MANY', - 'MANY_TO_ONE', - 'MANY_TO_MANY', - ], - }, - }, - { - 'name': 'dst', - 'type': 'string', - }, - { - 'name': 'name', - 'type': 'string', - }, - ], - }, - }, - }, - { - 'name': 'properties', - 'type': { - 'type': 'array', - 'items': { - 'type': 'record', - 'name': 'Property', - 'fields': [ - { - 'name': 'name', - 'type': 'string', - }, - { - 'name': 'ontology_reference', - 'type': 'string', - }, - { - 'name': 'values', - 'type': { - 'type': 'map', - 'values': 'string', - }, - }, - ], - }, - }, - }, - ], - }, - }, - }, - { - 'name': 'misc', - 'type': { - 'type': 'map', - 'values': 'string' - }, - }, - ], - }, - *azul_avro_schema - ] - }, - { - 'name': 'relations', - 'type': { - 'type': 'array', - 'items': { - 'type': 'record', - 'name': 'Relation', - 'fields': [ - { - 'name': 'dst_id', - 'type': 'string' - }, - { - 'name': 'dst_name', - 'type': 'string' - }, - ], - }, - }, - 'default': [], - }, - ], - } - - -def _inject_reference_handover_columns(field_types: FieldTypes) -> FieldTypes: - return { - entity_type: ( - dict(fields, datarepo_row_id=null_str, source_datarepo_snapshot_id=null_str) - if isinstance(fields, dict) and 'source_datarepo_row_ids' in fields - else fields - ) - for entity_type, fields in field_types.items() - } - - -def _inject_reference_handover_values(entity: MutableJSON, doc: JSON): - if 'source_datarepo_row_ids' in entity: - entity['datarepo_row_id'] = entity['document_id'] - entity['source_datarepo_snapshot_id'] = one(doc['sources'])['id'] - - -# FIXME: It's not obvious as to why these are union types. Explain or change. -# https://github.com/DataBiosphere/azul/issues/4094 - -# FIXME: It seems that these are just all primitive types, it just so happens -# that all of the primitive field types types are nullable -# https://github.com/DataBiosphere/azul/issues/4094 - -_json_to_pfb_types = { - bool: 'boolean', - float: 'double', - int: 'long', - str: 'string' -} - -_nullable_to_pfb_types = { - null_bool: ['null', 'boolean'], - null_float: ['null', 'double'], - null_int: ['null', 'long'], - null_str: ['null', 'string'], - null_datetime: ['null', 'string'], -} - - -def _entity_schema_recursive(field_types: FieldTypes, - *path: str - ) -> Iterable[JSON]: - for field_name, field_type in field_types.items(): - plural = isinstance(field_type, list) - if plural: - field_type = one(field_type) - try: - new_field_name = renamed_fields[field_name] - except KeyError: - pass - else: - if new_field_name is None: - break # to not include this field in the schema - else: - field_name = new_field_name - - if isinstance(field_type, Nested): - field_type = field_type.properties - - name_fields = {'name': field_name} - if path: - namespace = '.'.join(path) - qualified_name = namespace + '.' + field_name - name_fields['namespace'] = namespace - else: - qualified_name = field_name - - if isinstance(field_type, dict): - yield { - **name_fields, - 'type': { - # This is always an array, even if singleton is passed in - 'type': 'array', - 'items': { - 'name': qualified_name, - 'type': 'record', - 'fields': list(_entity_schema_recursive(field_type, *path, field_name)) - } - } - } - elif field_type in _nullable_to_pfb_types: - # Exceptions are fields that do not become lists during aggregation - field_exceptions = ( - 'donor_count', - 'estimated_cell_count', - 'total_estimated_cells', - 'total_estimated_cells_redundant', - 'source_datarepo_snapshot_id', - ) - path_exceptions = ( - ('projects', 'accessions'), - ('projects', 'tissue_atlas') - ) - # FIXME: The first term is not self-explanatory - # https://github.com/DataBiosphere/azul/issues/4094 - if ( - path[0] == 'files' and not plural - or field_name in field_exceptions - or path in path_exceptions - ): - yield { - **name_fields, - 'type': _nullable_to_pfb_types[field_type], - } - else: - yield { - **name_fields, - 'type': { - 'type': 'array', - 'items': _nullable_to_pfb_types[field_type], - } - } - elif field_type is pass_thru_uuid4: - yield { - **name_fields, - 'type': ['string'], - 'logicalType': 'UUID' - } - elif isinstance(field_type, ClosedRange): - yield { - **name_fields, - 'type': { - 'type': 'array', - 'items': { - 'type': 'array', - 'items': _json_to_pfb_types[one(field_type.ends_type.native_types)] - } - } - } - # FIXME: Nested is handled so much more elegantly. See if we can have - # ValueAndUnit inherit Nested. - # https://github.com/DataBiosphere/azul/issues/4094 - elif field_type is value_and_unit: - yield { - **name_fields, - 'type': { - 'type': 'array', - 'items': [ - 'null', - { - # FIXME: Why do we need to repeat `name` and `namespace` - # with the same values at two different depths? - # https://github.com/DataBiosphere/azul/issues/4094 - 'name': qualified_name, - 'type': 'record', - 'fields': [ - { - 'name': name, - 'namespace': qualified_name, - # Although, not technically a null_str, it's effectively the same - 'type': _nullable_to_pfb_types[null_str] - } - for name in ('value', 'unit') - ] - } - ] - } - } - elif field_type in (pass_thru_json, pass_thru_int): - # Pass thru types are used only for aggregation and are excluded - # from actual hits - pass - else: - assert False, field_type - - -def _sort_pfb_union(schema: str | dict) -> str: - if isinstance(schema, str): - return schema - else: - return schema['type'] - - -class SchemaUpdateException(Exception): - pass - - -def _update_replica_schema(*, - schema: MutableJSON, - path: tuple[str, ...], - key: str, - value: AnyMutableJSON): - """ - Update in place a (part of an) existing PFB schema to ensure that it - accommodates a given (part of a) JSON document. The schema will only ever - expand, so after updating it will describe a superset of the documents that - it described pre-update. Starting from an empty schema, repeatedly calling - this function allows us to discover a general schema for a series of - documents of unknown shape. - - :param schema: a part of a PFB schema. It may be empty. - - :param path: the series of field names that locate `schema` within its - top-level parent schema. The first entry should be the name of - the underlying PFB entity's record type. - - :param key: the key within `schema` whose associated value will be updated - to describe `value`. This is the only part of `schema` that may - be mutated. - - :param value: a part of a PFB entity. - """ - try: - old_type = schema[key] - except KeyError: - schema[key] = _new_replica_schema(path=path, value=value) - else: - if isinstance(old_type, list): - _update_replica_schema_union(schema=schema, path=path, key=key, value=value) - else: - if value is None and old_type == 'null': - pass - elif (isinstance(value, list) - and isinstance(old_type, dict) and old_type['type'] == 'array'): - for v in value: - _update_replica_schema_union(schema=old_type, - path=path, - key='items', - value=v) - elif (isinstance(value, dict) - and isinstance(old_type, dict) and old_type['type'] == 'record'): - old_fields = {field['name']: field for field in old_type['fields']} - for k in value.keys() | old_fields.keys(): - try: - field = old_fields[k] - except KeyError: - field = { - 'name': k, - 'namespace': '.'.join(path), - 'type': 'null' - } - bisect.insort(old_type['fields'], field, key=itemgetter('name')) - new_value = value[k] - else: - new_value = value.get(k) - _update_replica_schema_union(schema=field, - path=(*path, k), - key='type', - value=new_value) - else: - try: - new_type = _json_to_pfb_types[type(value)] - except KeyError: - raise SchemaUpdateException - else: - if new_type != old_type: - raise SchemaUpdateException - - -def _update_replica_schema_union(*, - schema: MutableJSON, - path: tuple[str, ...], - key: str, - value: AnyMutableJSON): - old_type = schema[key] - if not isinstance(old_type, list): - old_type = [old_type] - for union_member in old_type: - try: - _update_replica_schema(schema={key: union_member}, - path=path, - key=key, - value=value) - except SchemaUpdateException: - continue - else: - break - else: - new_type = _new_replica_schema(path=path, value=value) - if old_type: - bisect.insort(old_type, new_type, key=_sort_pfb_union) - else: - old_type = new_type - schema[key] = old_type - - -def _new_replica_schema(*, - path: tuple[str, ...], - value: AnyJSON, - ) -> AnyMutableJSON: - """ - Create a part of a PFB schema to describe a part of a PFB entity represented - as a JSON document. - - :param path: the location of `value` within the root document as a series - of keys. The first key should be the name of the underlying PFB - entity's type within the schema. - - :param value: a part of a PFB entity. - - :return: JSON describing the contents of `value` as a part of PFB schema. - """ - if value is None: - result = 'null' - elif isinstance(value, list): - # Empty list indicates "no type" (emtpy union). This will be replaced - # with an actual type unless we never encounter a non-empty array. - result = {'type': 'array', 'items': []} - for v in value: - _update_replica_schema(schema=result, - path=path, - key='items', - value=v) - elif isinstance(value, dict): - name = '.'.join(path) - result = { - 'name': name, - 'type': 'record', - 'fields': [ - { - 'name': k, - 'namespace': name, - 'type': _new_replica_schema(path=(*path, k), value=v) - } - for k, v in sorted(value.items()) - ] - } - else: - result = _json_to_pfb_types[type(value)] - return result diff --git a/src/azul/service/buffer.py b/src/azul/service/buffer.py deleted file mode 100644 index cf6fbc2f23..0000000000 --- a/src/azul/service/buffer.py +++ /dev/null @@ -1,67 +0,0 @@ -from io import ( - BytesIO, -) -from logging import ( - getLogger, -) -from typing import ( - Callable, -) - -log = getLogger(__name__) - - -class FlushableBuffer(BytesIO): - """ - A buffer that flushes the output to a callback function (``callback``), - when either if the remaining size is large enough (more than ``chunk_size``) - or when the buffer is closed. - - The callback is invoked zero or more times with an argument that is N bytes - long, followed by exactly one invocation with an argument that is between 1 - and N bytes long. - - :param chunk_size: The exact size of each chunk - :param callback: The callback function to receive flushed output - """ - - def __init__(self, chunk_size: int, callback: Callable): - super(FlushableBuffer, self).__init__() - self.__chunk_size = chunk_size - self.__callback = callback - self.__remaining_size = 0 - - def write(self, b: bytes): - super().write(b) - self.__remaining_size += len(b) - - if self.__remaining_size >= self.__chunk_size: - offset = 0 - while self.__remaining_size >= self.__chunk_size: - self.seek(offset) - self.__callback(self.read(self.__chunk_size)) - offset += self.__chunk_size - self.__remaining_size -= self.__chunk_size - - # Get the remainder before resetting the pointer. - self.seek(offset) - remainder = self.read() - - # Reset the buffer to the empty state. - self.seek(0) - self.truncate(0) - self.__remaining_size = 0 - - # Write the remainder back to the buffer. - self.write(remainder) - - def close(self): - if self.__remaining_size > 0: - self.__callback(self.getvalue()) - self.__remaining_size = 0 - # As the buffer is closed, the buffer doesn't need to be reset. - super().close() - - @property - def remaining_size(self): - return self.__remaining_size diff --git a/src/azul/service/catalog_controller.py b/src/azul/service/catalog_controller.py deleted file mode 100644 index 6b985c5401..0000000000 --- a/src/azul/service/catalog_controller.py +++ /dev/null @@ -1,89 +0,0 @@ -import attr - -from azul import ( - CatalogName, - cache, - config, -) -from azul.openapi import ( - schema, -) -from azul.plugins import ( - MetadataPlugin, - Plugin, - RepositoryPlugin, -) -from azul.service.app_controller import ( - ServiceAppController, -) -from azul.types import ( - JSON, -) - - -class CatalogController(ServiceAppController): - - # The custom return type annotation is an experiment. Please don't adopt - # this just yet elsewhere in the program. - - def list_catalogs(self) -> schema.object( - default_catalog=str, - catalogs=schema.object( - additionalProperties=schema.object( - atlas=str, - internal=bool, - plugins=schema.object( - additionalProperties=schema.object( - name=str, - sources=schema.optional(schema.array(str)), - indices=schema.optional(schema.object( - additionalProperties=schema.object( - default_sort=str, - default_order=str - ) - )), - ), - ) - ) - ) - ): - return { - 'default_catalog': config.default_catalog, - 'catalogs': { - catalog.name: { - 'internal': catalog.internal, - 'atlas': catalog.atlas, - 'plugins': { - plugin_type: { - **attr.asdict(plugin), - **self._plugin_config(plugin_type, catalog.name) - } - for plugin_type, plugin in catalog.plugins.items() - } - } - for catalog in config.catalogs.values() - } - } - - @cache - def _plugin_config(self, plugin_base_cls: str, catalog: CatalogName) -> JSON: - plugin_base_cls = Plugin.type_for_name(plugin_base_cls) - plugin_cls = plugin_base_cls.load(catalog) - if issubclass(plugin_base_cls, RepositoryPlugin): - plugin = plugin_cls.create(catalog) - return { - 'sources': list(map(str, plugin.sources)) - } - elif issubclass(plugin_base_cls, MetadataPlugin): - plugin = plugin_cls.create() - return { - 'indices': { - entity_type: { - 'default_sort': sorting.field_name, - 'default_order': sorting.order - } - for entity_type, sorting in plugin.exposed_indices.items() - } - } - else: - assert False, plugin_base_cls diff --git a/src/azul/service/drs_controller.py b/src/azul/service/drs_controller.py deleted file mode 100644 index 3a3955cb81..0000000000 --- a/src/azul/service/drs_controller.py +++ /dev/null @@ -1,427 +0,0 @@ -from ast import ( - literal_eval, -) -import base64 -from collections.abc import ( - Mapping, -) -from dataclasses import ( - dataclass, - field, -) -from datetime import ( - datetime, -) -import time -import urllib.parse - -from chalice import ( - ChaliceViewError, - Response, -) -from deprecated import ( - deprecated, -) -from furl import ( - furl, -) -from more_itertools import ( - one, -) -import requests - -from azul import ( - CatalogName, - R, - cached_property, - config, - dss, - mutable_furl, -) -from azul.collections import ( - adict, -) -from azul.drs import ( - AccessMethod, - dos_object_url_path, - drs_object_uri, - drs_object_url_path, -) -from azul.openapi import ( - responses, - schema, -) -from azul.plugins import ( - File, -) -from azul.service.repository_service import ( - RepositoryService, -) -from azul.service.source_controller import ( - SourceController, -) -from azul.types import ( - JSON, - MutableJSON, -) - - -class DRSController(SourceController): - - @cached_property - def service(self) -> RepositoryService: - return RepositoryService() - - def _access_url(self, url): - return {'url': url} - - @classmethod - def get_object_response_schema(cls): - return responses.json_content( - schema.object( - created_time=str, - id=str, - self_uri=str, - size=str, - version=str, - checksums=schema.object(sha1=str, **{'sha-256': str}), - access_methods=schema.array(schema.object( - access_url=schema.optional(schema.object(url=str)), - type=schema.optional(str), - access_id=schema.optional(str) - )) - ) - ) - - def get_object(self, file_uuid, query_params): - drs_object = DRSObject(file_uuid, version=query_params.get('version')) - for access_method in AccessMethod: - # We only want direct URLs for Google - extra_params = dict(query_params, directurl=access_method.replica == 'gcp') - response = self.dss_get_file(file_uuid, access_method.replica, **extra_params) - if response.status_code == 301: - retry_url = response.headers['location'] - query = urllib.parse.urlparse(retry_url).query - query = urllib.parse.parse_qs(query, strict_parsing=True) - token = one(query['token']) - # We use the encoded token string as the key for our access ID. - access_id = encode_access_id(token, access_method.replica) - drs_object.add_access_method(access_method, access_id=access_id) - elif response.status_code == 302: - retry_url = response.headers['location'] - if access_method.replica == 'gcp': - assert retry_url.startswith('gs:') - drs_object.add_access_method(access_method, url=retry_url) - else: - # For errors, just proxy DSS response - return Response(response.text, status_code=response.status_code) - return Response(drs_object.to_json()) - - def get_object_access(self, access_id, file_uuid, query_params): - try: - token, replica = decode_access_id(access_id) - except ValueError: - return Response('Invalid DRS access ID', status_code=400) - else: - # Using the same token as before is OK. The DSS only starts a new - # checkout if the token is absent. Otherwise the token undergoes - # minimal validation and receives an update to the `attempts` key - # (which is not used for anything besides perhaps diagnostics). - response = self.dss_get_file(file_uuid, replica, **{ - **query_params, - 'directurl': replica == 'gcp', - 'token': token - }) - if response.status_code == 301: - headers = {'retry-after': response.headers['retry-after']} - # DRS says no body for 202 responses - return Response(body='', status_code=202, headers=headers) - elif response.status_code == 302: - retry_url = response.headers['location'] - return Response(self._access_url(retry_url)) - else: - # For errors, just proxy DSS response - return Response(response.text, status_code=response.status_code) - - def dss_get_file(self, file_uuid, replica, **kwargs): - dss_params = { - 'replica': replica, - **kwargs - } - url = self.dss_file_url(file_uuid) - return requests.get(str(url), params=dss_params, allow_redirects=False) - - @classmethod - def dss_file_url(cls, file_uuid: str) -> mutable_furl: - return furl(config.dss_endpoint).add(path=('files', file_uuid)) - - @deprecated('DOS support will be removed') - def dos_get_object(self, catalog, file_uuid, file_version, authentication): - file = self.service.get_data_file(catalog=catalog, - file_uuid=file_uuid, - file_version=file_version, - filters=self.get_filters(catalog, authentication, None)) - if file is not None: - data_obj = self.file_to_drs(catalog, file) - assert data_obj['id'] == file_uuid - assert file_version is None or data_obj['version'] == file_version - return Response({'data_object': data_obj}, status_code=200) - else: - return Response({'msg': 'Data object not found.'}, status_code=404) - - @deprecated('DOS support will be removed') - def _dos_gs_url(self, file_uuid, version) -> mutable_furl: - url = self.dss_file_url(file_uuid) - params = dict({'file_version': version} if version else {}, - directurl=True, - replica='gcp') - while True: - if self.lambda_context.get_remaining_time_in_millis() / 1000 > 3: - dss_response = requests.get(url, params=params, allow_redirects=False) - if dss_response.status_code == 302: - url = furl(dss_response.next.url) - assert url.scheme == 'gs', R('Expected a gs:// URL', url) - return url - elif dss_response.status_code == 301: - url = dss_response.next.url - remaining_lambda_seconds = self.lambda_context.get_remaining_time_in_millis() / 1000 - server_side_sleep = min(1, - max(remaining_lambda_seconds - config.api_gateway_timeout_padding - 3, 0)) - time.sleep(server_side_sleep) - else: - raise ChaliceViewError({ - 'msg': f'Received {dss_response.status_code} from DSS. Could not get file' - }) - else: - raise GatewayTimeoutError({ - 'msg': f"DSS timed out getting file: '{file_uuid}', version: '{version}'." - }) - - @deprecated('DOS support will be removed') - def file_to_drs(self, catalog: CatalogName, file: File): - """ - Converts an aggregate file document to a DRS data object response. - """ - urls = [ - self.file_url_func(catalog=catalog, - file_uuid=file.uuid, - version=file.version, - fetch=False, - wait='1', - fileName=file.name), - self._dos_gs_url(file.uuid, file.version) - ] - - return { - 'id': file.uuid, - 'urls': [ - { - 'url': str(url) - } - for url in urls - ], - 'size': str(file.size), - 'checksums': [ - { - 'checksum': file.sha256, - 'type': 'sha256' - } - ], - 'aliases': [file.name], - 'version': file.version, - 'name': file.name - } - - -class GatewayTimeoutError(ChaliceViewError): - STATUS_CODE = 504 - - -@dataclass -class DRSObject: - """" - Used to build up a https://ga4gh.github.io/data-repository-service-schemas/docs/#_drsobject - """ - uuid: str - version: str | None = None - access_methods: list[MutableJSON] = field(default_factory=list) - - def add_access_method(self, - access_method: AccessMethod, *, - url: str | None = None, - access_id: str | None = None): - """ - We only currently use `url_type`s of 'https' and 'gs'. Only one of `url` - and `access_id` should be specified. - """ - assert url is None or access_id is None - self.access_methods.append({ - 'type': access_method.scheme, - **({} if access_id is None else {'access_id': access_id}), - **({} if url is None else {'access_url': {'url': url}}), - }) - - def to_json(self) -> JSON: - args = adict(replica='aws', version=self.version) - url = DRSController.dss_file_url(self.uuid).add(args=args) - headers = requests.head(url).headers - version = headers['x-dss-version'] - if self.version is not None: - assert version == self.version - uri = dss_drs_object_uri(file_uuid=self.uuid, file_version=version) - return { - **{ - 'checksums': [ - {'sha1': headers['x-dss-sha1']}, - {'sha-256': headers['x-dss-sha256']} - ], - 'created_time': timestamp(version), - 'id': self.uuid, - 'self_uri': str(uri), - 'size': headers['x-dss-size'], - 'version': version - }, - 'access_methods': self.access_methods - } - - -def timestamp(version): - """ - Convert a DSS version into a proper, RFC3339 compliant timestamp. - - >>> timestamp('2019-08-01T211621.345939Z') - '2019-08-01T21:16:21.345939Z' - - >>> timestamp('2019-08-01T211621:345939Z') - Traceback (most recent call last): - ... - ValueError: time data '2019-08-01T211621:345939Z' does not match format '%Y-%m-%dT%H%M%S.%fZ' - """ - return datetime.strptime(version, dss.version_format).isoformat() + 'Z' - - -def encode_access_id(token_str: str, replica: str) -> str: - """ - Encode a given token as an access ID using URL-safe base64 without padding. - - Standard base64 pads the result with equal signs (`=`). Those would need to - be URL-encoded when used in the query portion of a URL: - - >>> base64.urlsafe_b64encode(b"('back on boogie street', 'aws')") - b'KCdiYWNrIG9uIGJvb2dpZSBzdHJlZXQnLCAnYXdzJyk=' - - This function strips that padding. The padding is redundant as long as the - length of the encoded string is known at the time of decoding. With URL - query parameters this is always the case. - - >>> encode_access_id('back on boogie street', 'aws') - 'KCdiYWNrIG9uIGJvb2dpZSBzdHJlZXQnLCAnYXdzJyk' - - >>> decode_access_id(encode_access_id('back on boogie street', 'aws')) - ('back on boogie street', 'aws') - - >>> bad_access_id = 'KHsnbm90IGEnOiAnc3RyaW5nJ30sICdhd3MnKQ' - >>> base64.urlsafe_b64decode(bad_access_id + '==') - b"({'not a': 'string'}, 'aws')" - - >>> decode_access_id(bad_access_id) - Traceback (most recent call last): - ... - ValueError: Malformed access ID - """ - access_id = repr((token_str, replica)).encode() - access_id = base64.urlsafe_b64encode(access_id) - return access_id.rstrip(b'=').decode() - - -def decode_access_id(access_id: str) -> tuple[str, str]: - token = access_id.encode('ascii') # Base64 is a subset of ASCII - padding = b'=' * (-len(token) % 4) - token = base64.urlsafe_b64decode(token + padding) - token, replica = literal_eval(token.decode()) - if not isinstance(token, str) or not isinstance(replica, str): - raise ValueError('Malformed access ID') - return token, replica - - -def dss_drs_object_uri(*, - file_uuid: str, - file_version: str | None = None, - base_url: furl | None = None - ) -> mutable_furl: - """ - The drs:// URL for a given DSS file UUID and version. The return value will - point at the bare-bones DRS data object endpoint in the web service. - - :param file_uuid: the DSS file UUID of the file - - :param file_version: the DSS file version of the file - - :param base_url: an optional service endpoint, e.g. for local test servers. - If absent, the service endpoint for the current deployment - will be used. - """ - return drs_object_uri(base_url=_base_url(base_url), - path=(file_uuid,), - params=_url_query(file_version)) - - -def dss_dos_object_url(*, - catalog: CatalogName, - file_uuid: str, - file_version: str | None = None, - base_url: furl | None = None - ) -> mutable_furl: - """ - The http:// or https:// URL for a given DSS file UUID and version. The - return value will point at the bare-bones DOS data object endpoint in the - web service. - - :param catalog: the name of the catalog to retrieve the file from - - :param file_uuid: the DSS file UUID of the file - - :param file_version: the DSS file version of the file - - :param base_url: an optional service endpoint, e.g. for local test servers. - If absent, the service endpoint for the current deployment - will be used. - """ - return furl(url=_base_url(base_url), - path=dos_object_url_path(file_uuid), - query_params=dict(_url_query(file_version), catalog=catalog)) - - -def dss_drs_object_url(*, - file_uuid: str, - file_version: str | None = None, - base_url: furl | None = None, - access_id: str | None = None - ) -> mutable_furl: - """ - The http:// or https:// URL for a given DSS file UUID and version. The - return value will point at the bare-bones DRS data object endpoint in the - web service. - - :param file_uuid: the DSS file UUID of the file - - :param file_version: the optional DSS file version of the file - - :param base_url: an optional service endpoint, e.g. for local test servers. - If absent, the service endpoint for the current deployment - will be used. - - :param access_id: access id will be included in the URL if this parameter is - supplied - """ - return furl(url=_base_url(base_url), - path=drs_object_url_path(object_id=file_uuid, access_id=access_id), - args=_url_query(file_version)) - - -def _base_url(base_url: furl | None) -> furl: - return config.drs_endpoint if base_url is None else base_url - - -def _url_query(file_version: str | None) -> Mapping[str, str]: - return {'version': file_version} if file_version else {} diff --git a/src/azul/service/elasticsearch_service.py b/src/azul/service/elasticsearch_service.py deleted file mode 100644 index 62a286127f..0000000000 --- a/src/azul/service/elasticsearch_service.py +++ /dev/null @@ -1,712 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from collections import ( - defaultdict, -) -from collections.abc import ( - Iterable, - Mapping, - Sequence, -) -import json -import logging -from typing import ( - Any, - Generic, - Self, - TypeVar, - TypedDict, -) - -import attr -from more_itertools import ( - one, -) -from opensearchpy import ( - A, - OpenSearch, - Q, - Search, -) -from opensearchpy.helpers.aggs import ( - Agg, - Terms, -) -from opensearchpy.helpers.query import ( - Query, -) -from opensearchpy.helpers.response import ( - Response, -) - -from azul import ( - CatalogName, - R, - cached_property, - config, -) -from azul.es import ( - ESClientFactory, -) -from azul.indexer.document import ( - DocumentType, - IndexName, -) -from azul.indexer.document_service import ( - DocumentService, -) -from azul.indexer.field import ( - Nested, -) -from azul.plugins import ( - DocumentSlice, - FieldPath, - MetadataPlugin, - dotted, -) -from azul.service import ( - Filters, - FiltersJSON, -) -from azul.types import ( - JSON, - JSONs, - MutableJSON, - PrimitiveJSON, -) - -log = logging.getLogger(__name__) - - -class IndexNotFoundError(Exception): - - def __init__(self, missing_index: str): - super().__init__(f'Index `{missing_index}` was not found') - - -R1 = TypeVar('R1') -R2 = TypeVar('R2') - - -class ElasticsearchStage(Generic[R1, R2], metaclass=ABCMeta): - """ - A stage in a chain of responsibility to prepare an Elasticsearch request and - to process the response to that request. If an implementation modifies the - argument in place, it must return the argument. - """ - - @abstractmethod - def prepare_request(self, request: Search) -> Search: - """ - Modify the given request and return the argument or convert the given - request and return the result of the conversion. - """ - raise NotImplementedError - - @abstractmethod - def process_response(self, response: R1) -> R2: - """ - Handle the given response and return the result of the processing. - If an implementation modifies the argument in place it must return the - argument. - """ - raise NotImplementedError - - -R0 = TypeVar('R0') - - -@attr.s(frozen=True, auto_attribs=True, kw_only=True) -class ElasticsearchChain(ElasticsearchStage[R0, R2]): - """ - The result of wrapping a stage or chain in another stage. - """ - - inner: ElasticsearchStage[R0, R1] - outer: ElasticsearchStage[R1, R2] - - def __attrs_post_init__(self): - assert not isinstance(self.outer, ElasticsearchChain), R( - 'Outer stage must not be a chain', type(self.outer)) - - def prepare_request(self, request: Search) -> Search: - request = self.inner.prepare_request(request) - request = self.outer.prepare_request(request) - return request - - def process_response(self, response0: R0) -> R2: - response1: R1 = self.inner.process_response(response0) - response2: R2 = self.outer.process_response(response1) - return response2 - - def stages(self) -> Iterable[ElasticsearchStage]: - yield self.outer - if isinstance(self.inner, ElasticsearchChain): - yield from self.inner.stages() - else: - yield self.inner - - -@attr.s(frozen=True, auto_attribs=True, kw_only=True) -class _ElasticsearchStage(ElasticsearchStage[R1, R2], metaclass=ABCMeta): - """ - A base implementation of a stage. - """ - service: DocumentService - catalog: CatalogName - entity_type: str - - @cached_property - def plugin(self) -> MetadataPlugin: - return self.service.metadata_plugin(self.catalog) - - def wrap(self, other: ElasticsearchStage[R0, R1]) -> ElasticsearchChain[R0, R2]: - return ElasticsearchChain(inner=other, outer=self) - - -TranslatedFilters = Mapping[FieldPath, Mapping[str, Sequence[PrimitiveJSON]]] - - -@attr.s(frozen=True, auto_attribs=True, kw_only=True) -class FilterStage(_ElasticsearchStage[Response, Response]): - """ - Converts the given filters to an Elasticsearch query and adds that query as - either a `query` or `post_filter` property to the request. - """ - filters: Filters - post_filter: bool - - def prepare_request(self, request: Search) -> Search: - query = self.prepare_query() - if self.post_filter: - request = request.post_filter(query) - else: - request = request.query(query) - return request - - def process_response(self, response: Response) -> Response: - return response - - @cached_property - def prepared_filters(self) -> TranslatedFilters: - limit_access = self.service.always_limit_access or self._limit_access - filters_json = self.filters.reify(self.plugin, limit_access=limit_access) - return self._translate_filters(filters_json) - - @property - @abstractmethod - def _limit_access(self) -> bool: - """ - Whether to enforce the managed access controls during filter - reification, provided that the service allows such conditional - enforcement of access. If it doesn't, the return value should be - ignored, and access must be enforced unconditionally. - """ - raise NotImplementedError - - def _translate_filters(self, filters: FiltersJSON) -> TranslatedFilters: - """ - Translate the field values in the given filter JSON to their respective - Elasticsearch form, using the field types, the field names to field - paths. - """ - catalog = self.catalog - field_mapping = self.plugin.field_mapping - translated_filters = {} - for field, filter in filters.items(): - field = field_mapping[field] - relation, values = one(filter.items()) - field_type = self.service.field_type(catalog, field) - values = field_type.filter(relation, values) - translated_filters[field] = {relation: list(values)} - return translated_filters - - def prepare_query(self, skip_field_paths: tuple[FieldPath] = ()) -> Query: - """ - Converts the given filters into an Elasticsearch DSL Query object. - """ - filter_list = [] - for field_path, relation_and_values in self.prepared_filters.items(): - if field_path not in skip_field_paths: - relation, values = one(relation_and_values.items()) - # Note that `is_not` is only used internally (for filtering by - # inaccessible sources) - if relation in ('is', 'is_not'): - field_type = self.service.field_type(self.catalog, field_path) - if isinstance(field_type, Nested): - term_queries = [] - for nested_field, nested_value in one(values).items(): - nested_body = {dotted(field_path, nested_field, 'keyword'): nested_value} - term_queries.append(Q('term', **nested_body)) - query = Q('nested', path=dotted(field_path), query=Q('bool', must=term_queries)) - else: - query = Q('terms', **{dotted(field_path, 'keyword'): values}) - translated_none = field_type.to_index(None) - if translated_none in values: - # Note that at this point None values in filters have already - # been translated e.g. {'is': ['~null']} and if the filter has a - # None our query needs to find fields with None values as well - # as absent fields - absent_query = Q('bool', must_not=[Q('exists', field=dotted(field_path))]) - query = Q('bool', should=[query, absent_query]) - if relation == 'is_not': - query = Q('bool', must_not=[query]) - filter_list.append(query) - elif relation in ('contains', 'within', 'intersects'): - for value in values: - value = value | {'relation': relation} - filter_list.append(Q('range', **{dotted(field_path): value})) - else: - assert False - - # Each iteration will AND the contents of the list - query_list = [Q('constant_score', filter=f) for f in filter_list] - - return Q('bool', must=query_list) - - -@attr.s(frozen=True, auto_attribs=True, kw_only=True) -class AggregationStage(_ElasticsearchStage[MutableJSON, MutableJSON]): - """ - Cooperate with the given filter stage to augment the request with an - `aggregation` property containing an aggregation for each of the facet - fields configured in the current metadata plugin. If this aggregation stage - is to be part of a chain, the chain should include the given filter stage. - """ - filter_stage: FilterStage - - @classmethod - def create_and_wrap(cls, - chain: ElasticsearchChain[R0, MutableJSON] - ) -> ElasticsearchChain[R0, MutableJSON]: - """ - Creates and adds an aggregation stage to the specified chain. The chain - must contain a filter stage. - """ - filter_stage = one(s for s in chain.stages() if isinstance(s, FilterStage)) - aggregation_stage = cls(service=filter_stage.service, - catalog=filter_stage.catalog, - entity_type=filter_stage.entity_type, - filter_stage=filter_stage) - return aggregation_stage.wrap(chain) - - def prepare_request(self, request: Search) -> Search: - field_mapping = self.plugin.field_mapping - for facet in self.plugin.facets: - # FIXME: Aggregation filters may be redundant when post_filter is false - # https://github.com/DataBiosphere/azul/issues/3435 - aggregate = self._prepare_aggregation(facet=facet, - facet_path=field_mapping[facet]) - request.aggs.bucket(facet, aggregate) - self._annotate_aggs_for_translation(request) - return request - - def process_response(self, response: MutableJSON) -> MutableJSON: - try: - aggs = response['aggregations'] - except KeyError: - pass - else: - self._flatten_nested_aggs(aggs) - self._translate_response_aggs(aggs) - self._populate_accessible(aggs) - return response - - def _prepare_aggregation(self, *, facet: str, facet_path: FieldPath) -> Agg: - """ - Creates an aggregation to be used in an Elasticsearch search request. - """ - # Create a filter agg using a query that represents all filters - # except for the current facet. - query = self.filter_stage.prepare_query(skip_field_paths=(facet_path,)) - agg = A('filter', query) - - field_type = self.service.field_type(self.catalog, facet_path) - if isinstance(field_type, Nested): - nested_agg = agg.bucket(name='nested', - agg_type='nested', - path=dotted(facet_path)) - facet_path = dotted(facet_path, field_type.agg_property) - else: - nested_agg = agg - # Make an inner agg that will contain the terms in question - path = dotted(facet_path, 'keyword') - # FIXME: Approximation errors for terms aggregation are unchecked - # https://github.com/DataBiosphere/azul/issues/3413 - nested_agg.bucket(name='myTerms', - agg_type='terms', - field=path, - size=config.terms_aggregation_size) - nested_agg.bucket('untagged', 'missing', field=path) - return agg - - def _annotate_aggs_for_translation(self, request: Search): - """ - Annotate the aggregations in the given Elasticsearch search request so - we can later translate substitutes for None in the aggregations part of - the response. - """ - - def annotate(agg: Agg): - if isinstance(agg, Terms): - path = agg.field.split('.') - if path[-1] == 'keyword': - path.pop() - if not hasattr(agg, 'meta'): - agg.meta = {} - agg.meta['path'] = path - if hasattr(agg, 'aggs'): - subs = agg.aggs - for sub_name in subs: - annotate(subs[sub_name]) - - for agg_name in request.aggs: - annotate(request.aggs[agg_name]) - - def _flatten_nested_aggs(self, aggs: MutableJSON): - for facet, agg in aggs.items(): - try: - nested_agg = agg.pop('nested') - except KeyError: - pass - else: - agg.update(nested_agg) - - def _translate_response_aggs(self, aggs: MutableJSON): - """ - Translate substitutes for None in the aggregations part of an - Elasticsearch response. - """ - - def translate(k, v: MutableJSON): - try: - buckets = v['buckets'] - except KeyError: - for k, v in v.items(): - if isinstance(v, dict): - translate(k, v) - else: - try: - path = v['meta']['path'] - except KeyError: - pass - else: - field_type = self.service.field_type(self.catalog, tuple(path)) - for bucket in buckets: - bucket['key'] = field_type.from_index(bucket['key']) - translate(k, bucket) - - for k, v in aggs.items(): - translate(k, v) - - def _populate_accessible(self, aggs: MutableJSON) -> None: - # Because the value of the `accessible` field depends on the provided - # authentication, we have to synthesize the field and its corresponding - # facet from the `sourceId` field. - source_ids = self.filter_stage.filters.source_ids - plugin = self.service.metadata_plugin(self.catalog) - special_fields = plugin.special_fields - agg = aggs.pop(special_fields.source_id) - counts_by_accessibility: dict[bool, int] = defaultdict(int) - for bucket in agg['myTerms']['buckets']: - accessible = bucket['key'] in source_ids - counts_by_accessibility[accessible] += bucket['doc_count'] - agg['myTerms']['buckets'] = [ - {'key': accessible, 'doc_count': count} - for accessible, count in counts_by_accessibility.items() - ] - aggs[special_fields.accessible] = agg - - -@attr.s(frozen=True, auto_attribs=True, kw_only=True) -class SlicingStage(_ElasticsearchStage[Response, Response]): - """ - Augments the request with a document slice (known as a *source filter* in - Elasticsearch land) to restrict the set of properties in each hit in the - response. If the given document slice is None, the default one from the - plugin is used. If that is None, too, each hit will contain all properties. - """ - document_slice: DocumentSlice | None - - def prepare_request(self, request: Search) -> Search: - document_slice = self._prepared_slice() - if document_slice is not None: - request = request.source(**document_slice) - return request - - def process_response(self, response: Response) -> Response: - return response - - def _prepared_slice(self) -> DocumentSlice | None: - if self.document_slice is None: - return self.plugin.document_slice(self.entity_type) - else: - return self.document_slice - - -# FIXME: Elminate Eliminate reliance on Elasticsearch DSL -# https://github.com/DataBiosphere/azul/issues/4111 - -@attr.s(frozen=True, auto_attribs=True, kw_only=True) -class ToDictStage(_ElasticsearchStage[Response, MutableJSON]): - - def prepare_request(self, request: Search) -> Search: - return request - - def process_response(self, response: Response) -> MutableJSON: - return response.to_dict() - - -SortKey = tuple[Any, str] - - -@attr.s(auto_attribs=True, kw_only=True, frozen=True) -class Pagination: - order: str - size: int - sort: str - search_before: SortKey | None = None - search_after: SortKey | None = None - - def __attrs_post_init__(self): - self._check_sort_key(self.search_before) - self._check_sort_key(self.search_after) - - def _check_sort_key(self, sort_key): - if sort_key is not None: - assert isinstance(sort_key, tuple), R( - 'Not a tuple', sort_key) - assert len(sort_key) == 2, R( - 'Not a tuple with two elements', sort_key) - assert isinstance(sort_key[1], str), R( - 'Second sort key element not a string', sort_key) - - def advance(self, - *, - search_before: SortKey | None, - search_after: SortKey | None - ) -> Self: - return attr.evolve(self, - search_before=search_before, - search_after=search_after) - - def link(self, *, previous: bool, **params: str) -> str | None: - """ - Return the URL of the next or previous page in this pagination or None - if there is no such page. - - :param previous: True, for a link to the previous page, False for a link - to the next one. - - :param params: Additional query parameters to embed in the URL - """ - return None - - -class ResponsePagination(TypedDict): - count: int - total: int - size: int - pages: int - next: str | None - previous: str | None - sort: str - order: str - - -ResponseTriple = tuple[JSONs, ResponsePagination, JSON] - - -@attr.s(frozen=True, auto_attribs=True, kw_only=True) -class PaginationStage(_ElasticsearchStage[JSON, ResponseTriple]): - """ - Handles the pagination of search results - """ - pagination: Pagination - - #: If True, request one more hit so that _generate_paging_dict can know if - #: there is another page. Use this to prevent a last page that's empty. - peek_ahead: bool - - filters: Filters - - def prepare_request(self, request: Search) -> Search: - sort_order = self.pagination.order - sort_field = self.plugin.field_mapping[self.pagination.sort] - field_type = self.service.field_type(self.catalog, sort_field) - sort_mode = field_type.es_sort_mode - sort_field = dotted(sort_field, 'keyword') - - def sort(order): - assert order in ('asc', 'desc'), order - return ( - { - sort_field: { - 'order': order, - 'mode': sort_mode, - 'missing': '_last' if order == 'asc' else '_first', - **( - {} - if field_type.es_type is None else - {'unmapped_type': field_type.es_type} - ) - } - }, - # This secondary sort field serves as the tiebreaker for when - # the primary sort field is not unique across documents. - # Otherwise it's redundant, especially if it's the same as the - # primary sort field. However, always having a secondary - # simplifies the code and most real-world use cases use sort - # fields that are not unique. - { - 'entity_id.keyword': { - 'order': order - } - } - ) - - # Using search_after/search_before pagination - if self.pagination.search_after is not None: - request = request.extra(search_after=self.pagination.search_after) - request = request.sort(*sort(sort_order)) - elif self.pagination.search_before is not None: - request = request.extra(search_after=self.pagination.search_before) - rev_order = 'asc' if sort_order == 'desc' else 'desc' - request = request.sort(*sort(rev_order)) - else: - request = request.sort(*sort(sort_order)) - - # FIXME: Remove this or change to 10000 (the default) - # https://github.com/DataBiosphere/azul/issues/3770 - request = request.extra(track_total_hits=True) - - assert isinstance(self.peek_ahead, bool), type(self.peek_ahead) - # fetch one more than needed to see if there's a "next page". - request = request.extra(size=self.pagination.size + self.peek_ahead) - - return request - - def process_response(self, response: JSON) -> ResponseTriple: - """ - Returns hits and pagination as dict - """ - # The slice is necessary because we may have fetched an extra entry to - # determine if there is a previous or next page. - hits = self._extract_hits(response) - hits = self._translate_hits(hits) - pagination = self._process_pagination(response) - aggregations = response.get('aggregations', {}) - return hits, pagination, aggregations - - def _extract_hits(self, response): - hits = response['hits']['hits'][0:self.pagination.size] - if self.pagination.search_before is not None: - hits = reversed(hits) - hits = [hit['_source'] for hit in hits] - return hits - - def _translate_hits(self, hits): - hits = self.service.translate_fields(self.catalog, hits, forward=False) - return hits - - def _process_pagination(self, response: JSON) -> MutableJSON: - total = response['hits']['total'] - # FIXME: Handle other relations - # https://github.com/DataBiosphere/azul/issues/3770 - assert total['relation'] == 'eq' - pages = -(-total['value'] // self.pagination.size) - - # ... else use search_after/search_before pagination - hits: JSONs = response['hits']['hits'] - count = len(hits) - if self.pagination.search_before is None: - # hits are normal sorted - if count > self.pagination.size: - # There is an extra hit, indicating a next page. - count -= 1 - search_after = tuple(hits[count - 1]['sort']) - else: - # No next page - search_after = None - if self.pagination.search_after is not None: - search_before = tuple(hits[0]['sort']) - else: - search_before = None - else: - # hits are reverse sorted - if count > self.pagination.size: - # There is an extra hit, indicating a previous page. - count -= 1 - search_before = tuple(hits[count - 1]['sort']) - else: - # No previous page - search_before = None - search_after = tuple(hits[0]['sort']) - - pagination = self.pagination.advance(search_before=search_before, - search_after=search_after) - - def page_link(*, previous): - url = pagination.link(previous=previous, - catalog=self.catalog, - filters=json.dumps(self.filters.explicit)) - return None if url is None else str(url) - - return ResponsePagination(count=count, - total=total['value'], - size=pagination.size, - next=page_link(previous=False), - previous=page_link(previous=True), - pages=pages, - sort=pagination.sort, - order=pagination.order) - - -class ElasticsearchService(DocumentService): - - @cached_property - def _es_client(self) -> OpenSearch: - return ESClientFactory.get() - - def create_chain(self, - *, - catalog: CatalogName, - entity_type: str, - filters: Filters, - post_filter: bool, - document_slice: DocumentSlice | None - ) -> ElasticsearchChain[Response, Response]: - """ - Create a chain for a basic Elasticsearch `search` request for documents - matching the given filter, optionally restricting the set of properties - returned for each matching document. - """ - plugin = self.metadata_plugin(catalog) - - # noinspection PyArgumentList - chain = plugin.filter_stage(service=self, - catalog=catalog, - entity_type=entity_type, - filters=filters, - post_filter=post_filter) - chain = SlicingStage(service=self, - catalog=catalog, - entity_type=entity_type, - document_slice=document_slice).wrap(chain) - return chain - - def create_request(self, - catalog: CatalogName, - entity_type: str, - doc_type: DocumentType = DocumentType.aggregate - ) -> Search: - """ - Create an Elasticsearch request against the index containing documents - of the given entity and document types, in the given catalog. - """ - return Search(using=self._es_client, - index=str(IndexName.create(catalog=catalog, - qualifier=entity_type, - doc_type=doc_type))) diff --git a/src/azul/service/lambda_iam_policy.py b/src/azul/service/lambda_iam_policy.py deleted file mode 100644 index 5947099bb0..0000000000 --- a/src/azul/service/lambda_iam_policy.py +++ /dev/null @@ -1,212 +0,0 @@ -from azul import ( - config, -) -from azul.collections import ( - alist, -) -from azul.deployment import ( - aws, -) -from azul.modules import ( - load_app_module, -) -from azul.terraform import ( - chalice, -) - -direct_access_role = config.dss_direct_access_role('service') -service = load_app_module('service') - -policy = { - 'Version': '2012-10-17', - 'Statement': [ - { - 'Effect': 'Allow', - 'Action': [ - 'logs:CreateLogGroup', - 'logs:CreateLogStream', - 'logs:PutLogEvents' - ], - 'Resource': 'arn:aws:logs:*:*:*' - }, - { - 'Effect': 'Allow', - 'Action': [ - 'es:ESHttpDelete', - 'es:ESHttpGet', - 'es:ESHttpHead', - 'es:ESHttpPut', - 'es:ESHttpPost', - 'es:ESHttpDelete' - ], - 'Resource': f'arn:aws:es:{aws.region_name}:{aws.account}:domain/{config.es_domain}/*' - }, - { - 'Effect': 'Allow', - 'Action': [ - 'es:DescribeElasticsearchDomain' - ], - 'Resource': f'arn:aws:es:{aws.region_name}:{aws.account}:domain/{config.es_domain}' - }, - { - 'Effect': 'Allow', - 'Action': [ - 'sqs:GetQueueAttributes', - 'sqs:GetQueueUrl', - ], - 'Resource': [ - f'arn:aws:sqs:{aws.region_name}:{aws.account}:{name}' - for name in config.all_queue_names - ] - }, - { - 'Effect': 'Allow', - 'Action': [ - 'secretsmanager:GetSecretValue' - ], - 'Resource': [ - f'arn:aws:secretsmanager:{aws.region_name}:{aws.account}:secret:*' - ] - }, - { - 'Effect': 'Allow', - 'Action': [ - 's3:PutObject', - 's3:GetObject', - 's3:PutObjectAcl', - 's3:PutObjectTagging', - 's3:GetObjectTagging' - ], - 'Resource': [ - '${aws_s3_bucket.%s.arn}/*' % config.storage_term, - f'arn:aws:s3:::{aws.shared_bucket}/*' - ] - }, - # Needed for GetObject to work in versioned bucket - { - 'Effect': 'Allow', - 'Action': [ - 's3:GetObjectVersion' - ], - 'Resource': [ - f'arn:aws:s3:::{aws.shared_bucket}/*' - ] - }, - { - 'Effect': 'Allow', - 'Action': [ - 's3:ListBucket' # Without this, GetObject and HeadObject yield 403 for missing keys, not 404 - ], - 'Resource': [ - '${aws_s3_bucket.%s.arn}' % config.storage_term, - f'arn:aws:s3:::{aws.shared_bucket}' - ] - }, - { - 'Effect': 'Allow', - 'Action': [ - 's3:GetObject', - 's3:ListBucket' - ], - 'Resource': [ - f'arn:aws:s3:::{resource}' - for bucket in alist(aws.mirror_bucket, config.mirror_bucket) - for resource in [bucket, f'{bucket}/*'] - ] - }, - *( - [ - # Remove once https://github.com/HumanCellAtlas/data-store/issues/1837 is resolved - { - 'Effect': 'Allow', - 'Action': [ - 's3:GetObject', - ], - 'Resource': [ - f'arn:aws:s3:::{aws.dss_checkout_bucket(config.dss_endpoint)}/*', - ] - }, - # Remove once https://github.com/HumanCellAtlas/data-store/issues/1837 is resolved - { - 'Effect': 'Allow', - 'Action': [ - 's3:ListBucket' - # Without this, GetObject and HeadObject yield 403 for missing keys, not 404 - ], - 'Resource': [ - f'arn:aws:s3:::{aws.dss_checkout_bucket(config.dss_endpoint)}' - ] - } - ] if config.dss_endpoint else [] - ), - { - 'Effect': 'Allow', - 'Action': [ - 'dynamodb:Query', - 'dynamodb:GetItem', - 'dynamodb:PutItem', - 'dynamodb:UpdateItem', - 'dynamodb:DeleteItem', - 'dynamodb:BatchWriteItem', - 'dynamodb:DescribeTable' - ], - 'Resource': [ - f'arn:aws:dynamodb:{aws.region_name}:{aws.account}:table/{table_name}' - for table_name in ( - config.dynamo_object_version_table_name, - config.dynamo_sources_cache_table_name - ) - ] - }, - { - 'Effect': 'Allow', - 'Action': [ - 'states:StartExecution' - ], - 'Resource': [ - f'arn:aws:states:{aws.region_name}:{aws.account}:stateMachine:' - f'{config.qualified_resource_name(config.manifest_sfn)}' - ] - }, - { - 'Effect': 'Allow', - 'Action': [ - 'states:DescribeExecution' - ], - 'Resource': [ - f'arn:aws:states:{aws.region_name}:{aws.account}:execution:' - f'{config.qualified_resource_name(config.manifest_sfn)}*' - ] - }, - { - 'Effect': 'Allow', - 'Action': [ - 'kms:GenerateMac', - 'kms:VerifyMac' - ], - 'Resource': [ - '${aws_kms_key.%s.arn}' % config.manifest_kms_key_tf_name - ] - }, - { - 'Effect': 'Allow', - 'Action': [ - 'ssm:GetParameter' - ], - 'Resource': [ - f'arn:aws:ssm:{aws.region_name}:{aws.account}:parameter/dcp/*' - ] - }, - *( - [ - { - 'Effect': 'Allow', - 'Action': 'sts:AssumeRole', - 'Resource': direct_access_role - } - ] if direct_access_role is not None else [ - ] - ), - *chalice.vpc_lambda_iam_policy() - ] -} diff --git a/src/azul/service/manifest_controller.py b/src/azul/service/manifest_controller.py deleted file mode 100644 index 72cc9f67f8..0000000000 --- a/src/azul/service/manifest_controller.py +++ /dev/null @@ -1,302 +0,0 @@ -from collections.abc import ( - Mapping, -) -from typing import ( - TypedDict, - cast, - get_type_hints, -) - -import attr -from chalice import ( - BadRequestError, - ChaliceViewError, - Response, -) -from furl import ( - furl, -) - -from azul import ( - cached_property, - config, -) -from azul.auth import ( - Authentication, -) -from azul.chalice import ( - GoneError, -) -from azul.plugins import ( - ManifestFormat, -) -from azul.service import ( - Filters, -) -from azul.service.async_manifest_service import ( - AsyncManifestService, - GenerationFailed, - GenerationFinished, - InvalidTokenError, - NoSuchGeneration, - Token, -) -from azul.service.manifest_service import ( - CachedManifestNotFound, - InvalidManifestKey, - InvalidManifestKeySignature, - Manifest, - ManifestKey, - ManifestPartition, - ManifestService, - ManifestUrlFunc, - SignedManifestKey, -) -from azul.service.source_controller import ( - SourceController, -) -from azul.service.storage_service import ( - StorageService, -) -from azul.types import ( - FlatJSON, - JSON, -) - -manifest_state_key = 'manifest' - - -class ManifestGenerationState(TypedDict, total=False): - manifest_key: JSON - filters: JSON - partition: JSON | None - manifest: JSON | None - - -assert manifest_state_key in get_type_hints(ManifestGenerationState) - - -@attr.s(frozen=True, auto_attribs=True, kw_only=True) -class ManifestController(SourceController): - manifest_url_func: ManifestUrlFunc - - @cached_property - def async_service(self) -> AsyncManifestService: - return AsyncManifestService() - - @cached_property - def service(self) -> ManifestService: - return ManifestService(StorageService(), self.file_url_func) - - def get_manifest(self, state: JSON) -> ManifestGenerationState: - # We trust StepFunctions to pass - state: ManifestGenerationState - partition = ManifestPartition.from_json(state['partition']) - manifest_key = ManifestKey.from_json(state['manifest_key']) - result = self.service.get_manifest(format=manifest_key.format, - catalog=manifest_key.catalog, - filters=Filters.from_json(state['filters']), - partition=partition, - manifest_key=manifest_key) - if isinstance(result, ManifestPartition): - assert not result.is_last, result - return { - **state, - 'partition': result.to_json() - } - elif isinstance(result, Manifest): - return { - # The presence of this key terminates the step function loop - 'manifest': result.to_json() - } - else: - assert False, type(result) - - def _unpack_token_or_key(self, - token_or_key: str - ) -> tuple[Token | None, SignedManifestKey | None]: - if token_or_key is None: - return None, None - else: - try: - return Token.decode(token_or_key), None - except InvalidTokenError: - try: - return None, SignedManifestKey.decode(token_or_key) - except InvalidManifestKey: - # The OpenAPI spec doesn't distinguish key and token - raise BadRequestError('Invalid token') - - def _start_execution(self, - filters: Filters, - manifest_key: ManifestKey, - previous_token: Token | None = None, - ) -> Token: - partition = ManifestPartition.first() - state: ManifestGenerationState = { - 'filters': filters.to_json(), - 'manifest_key': manifest_key.to_json(), - 'partition': partition.to_json() - } - # Manifest keys for catalogs with long names would be too long to be - # used directly as state machine execution names. - generation_id = manifest_key.uuid - # ManifestGenerationState is also JSON but there is no way to express - # that since TypedDict rejects a co-parent class. - input = cast(JSON, state) - next_iteration = 0 if previous_token is None else previous_token.iteration + 1 - for i in range(10): - try: - return self.async_service.start_generation(generation_id, - input, - iteration=next_iteration + i) - except GenerationFinished: - pass - raise ChaliceViewError('Too many executions of this manifest generation') - - def get_manifest_async(self, - *, - token_or_key: str, - query_params: Mapping[str, str], - fetch: bool, - authentication: Authentication | None): - - token, manifest_key = self._unpack_token_or_key(token_or_key) - - if token is None: - if manifest_key is None: - # Neither a token representing an ongoing execution was given, - # nor the key of an already cached manifest. There could still - # be a cached manifest, so we'll need to look it up. - format = ManifestFormat(query_params['format']) - catalog = query_params.get('catalog', config.default_catalog) - filters = self.get_filters(catalog, authentication, query_params.get('filters')) - try: - manifest = self.service.get_cached_manifest(format=format, - catalog=catalog, - filters=filters) - except CachedManifestNotFound as e: - # A cache miss, but the exception tells us the cache key - manifest, manifest_key = None, e.manifest_key - # Prepare the execution that will generate the manifest - token = self._start_execution(filters=filters, - manifest_key=manifest_key) - else: - # A cache hit - manifest_key = manifest.manifest_key - else: - # The client passed the key of a cached manifest, originating - # from the final 302 response to a fetch request for a curl - # manifest (see below). - if fetch: - raise BadRequestError('The fetch endpoint does not support a manifest key') - if authentication is not None: - raise BadRequestError('Must omit authentication when passing a manifest key') - try: - manifest_key = self.service.verify_manifest_key(manifest_key) - manifest = self.service.get_cached_manifest_with_key(manifest_key) - except CachedManifestNotFound: - # We could start another execution but that would require - # the client to follow more redirects. We've already sent - # the final 302 so we shouldn't that. - raise GoneError('The manifest has expired, please request a new one') - except InvalidManifestKeySignature: - raise BadRequestError('Invalid token') - else: - # A token for an ongoing execution was given - assert manifest_key is None, manifest_key - try: - token_or_result = self.async_service.inspect_generation(token) - except NoSuchGeneration: - raise BadRequestError('Invalid token') - except GenerationFailed as e: - raise ChaliceViewError('Failed to generate manifest', e.status, e.output) - if isinstance(token_or_result, Token): - # Execution is still ongoing, we got an updated token - token, manifest, manifest_key = token_or_result, None, None - elif isinstance(token_or_result, dict): - # The execution is done, the resulting manifest should be ready - result = token_or_result - manifest = Manifest.from_json(result['output']['manifest']) - manifest_key = manifest.manifest_key - try: - manifest = self.service.get_cached_manifest_with_key(manifest_key) - except CachedManifestNotFound as e: - assert manifest_key == e.manifest_key - # There are two possible causes for the missing manifest: it - # may have expired, in which case the supplied token must be - # really stale, or the manifest was deleted immediately - # after it was created. We haven't sent a 302 redirect yet, - # so we'll just restart the generation by starting another - # execution for it. - manifest = None - filters = Filters.from_json(result['input']['filters']) - token = self._start_execution(filters=filters, - manifest_key=manifest_key, - previous_token=token) - else: - assert manifest_key == manifest.manifest_key - else: - assert False, token_or_result - - body: dict[str, int | str | FlatJSON] - - if manifest is None: - assert token is not None - url = self.manifest_url_func(fetch=fetch, token_or_key=token.encode()) - body = { - 'Status': 301, - 'Location': str(url), - 'Retry-After': token.retry_after - } - else: - assert manifest.manifest_key == manifest_key - # The manifest is ultimately downloaded via a signed URL that points - # to the storage bucket. This signed URL expires after one hour, - # which is desirable because it is a client and its short lifespan - # reduces the risk of it being shared. However, this also makes it - # unsuitable for cURL downloads that may need to be retried over - # longer timespans (https://github.com/DataBiosphere/azul/issues/2875) - # To allow for cURL manifests to remain valid for longer than 1 - # hour, we instead return a 301 redirect to the non-fetch - # `/manifest/files` endpoint with the object key of the cached - # manifest specified as a query parameter. This object key is also a - # client secret; it is mutually exclusive with OAuth tokens and - # allows for the cached manifest to be downloaded without - # authentication for as long as the cached manifest persists in S3. - # This increases the risk of the secret being shared, but is - # necessary to preserve the functionality of the cURL download. - if fetch and manifest.format is ManifestFormat.curl: - # For AnVIL, we are prohibited from exposing a manifest URL that - # remains valid for longer than 1 hour. Currently, the AnVIL - # plugin does not support cURL-format manifests. - assert not config.is_anvil_enabled(manifest_key.catalog) - manifest_key = self.service.sign_manifest_key(manifest_key) - url = self.manifest_url_func(fetch=False, token_or_key=manifest_key.encode()) - else: - url = furl(self.service.get_manifest_url(manifest)) - body = { - 'Status': 302, - 'Location': str(url), - 'CommandLine': self.service.command_lines(manifest, url, authentication) - } - - # Note: Response objects returned without a 'Content-Type' header will - # be given one of type 'application/json' as default by Chalice. - # https://aws.github.io/chalice/tutorials/basicrestapi.html#customizing-the-http-response - - if fetch: - return Response(body=body) - else: - status = body.pop('Status') - command_line: FlatJSON = body.pop('CommandLine', None) - headers = {k: str(v) for k, v in body.items()} - if command_line is None: - new_body = None - else: - headers['Content-Type'] = 'text/plain' - new_body = ''.join( - f'\nDownload the manifest in {shell} with `curl` using:\n\n{cmd}\n' - for shell, cmd in command_line.items() - ) - return Response(body=new_body, status_code=status, headers=headers) diff --git a/src/azul/service/manifest_service.py b/src/azul/service/manifest_service.py deleted file mode 100644 index 4cba0c10d7..0000000000 --- a/src/azul/service/manifest_service.py +++ /dev/null @@ -1,2095 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -import base64 -from collections.abc import ( - Iterable, - Mapping, -) -import csv -from datetime import ( - datetime, -) -from inspect import ( - isabstract, -) -from io import ( - BytesIO, - TextIOWrapper, -) -import itertools -from itertools import ( - chain, -) -import json -import logging -from math import ( - ceil, -) -from operator import ( - itemgetter, -) -import os -import re -import shlex -from tempfile import ( - mkstemp, -) -import time -from typing import ( - Callable, - ClassVar, - IO, - Protocol, - Self, - cast, -) -import unicodedata -from uuid import ( - UUID, - uuid5, -) - -import attrs -from furl import ( - furl, -) -from more_itertools import ( - always_iterable, - chunked, - one, -) -import msgpack -from opensearchpy import ( - Q, - Search, -) -from opensearchpy.helpers.response import ( - Hit, -) - -from azul import ( - CatalogName, - R, - cached_property, - config, - mutable_furl, -) -from azul.attrs import ( - is_uuid, - strict_auto, -) -from azul.auth import ( - Authentication, -) -from azul.bytes import ( - azul_urlsafe_b64decode, - azul_urlsafe_b64encode, -) -from azul.collections import ( - getitem, -) -from azul.deployment import ( - aws, -) -from azul.indexer import ( - SourceSpec, -) -from azul.indexer.document import ( - DocumentType, - FieldPath, -) -from azul.indexer.field import ( - FieldTypes, - null_str, -) -from azul.json import ( - copy_json, -) -from azul.json_freeze import ( - freeze, - sort_frozen, -) -from azul.plugins import ( - ColumnMapping, - DocumentSlice, - ManifestConfig, - ManifestFormat, - MetadataPlugin, - RepositoryPlugin, - dotted, -) -from azul.service import ( - FileUrlFunc, - Filters, - avro_pfb, -) -from azul.service.avro_pfb import ( - PFBRelation, -) -from azul.service.elasticsearch_service import ( - ElasticsearchChain, - ElasticsearchService, - Pagination, - PaginationStage, - SortKey, - ToDictStage, -) -from azul.service.storage_service import ( - AWS_S3_DEFAULT_MINIMUM_PART_SIZE, - StorageObjectNotFound, - StorageService, -) -from azul.strings import ( - double_quote as dq, -) -from azul.types import ( - AnyJSON, - FlatJSON, - JSON, - JSONs, - MutableJSON, -) -from azul.uuids import ( - uuid5_for_bytes, -) -from azul.vendored.frozendict import ( - frozendict, -) - -log = logging.getLogger(__name__) - - -class ManifestUrlFunc(Protocol): - - def __call__(self, - *, - fetch: bool = True, - token_or_key: str | None = None, - **params: str - ) -> mutable_furl: ... - - -@attrs.frozen -class InvalidManifestKey(Exception): - value: str - - -class AbstractManifestKey(metaclass=ABCMeta): - """ - The root of the manifest key class hierarchy. The hierarchy expresses the - basic security constraints on manifest keys as they are sent through - potentially insecure channels. This class defines the methods for - (de)serializing a manifest key using a somewhat space-efficient - binary "packed" representation. - """ - - @abstractmethod - def pack(self) -> bytes: - raise NotImplementedError - - def encode(self) -> str: - return azul_urlsafe_b64encode(self.pack()) - - @classmethod - @abstractmethod - def unpack(cls, pack: bytes) -> Self: - raise NotImplementedError - - @classmethod - def decode(cls, value: str) -> Self: - try: - return cls.unpack(azul_urlsafe_b64decode(value)) - except Exception as e: - raise InvalidManifestKey(value) from e - - -@attrs.frozen(kw_only=True) -class BareManifestKey(AbstractManifestKey): - """ - An untrusted manifest key. Instances can be freely serialized and - deserialized but the service won't accept them. To obtain a key the service - trusts, use an instance of :class:`ManifestKey` that was returned by the - service. - - To send a manifest key through an an untrusted channel, it must first be - signed using :meth:`ManifestService.verify_manifest_key_signature`. After - reading it from the untrusted channel the signature must be verified using - :meth:`ManifestService.verify_manifest_key_signature`. - - >>> manifest_key = BareManifestKey(catalog='foo', - ... format=ManifestFormat.curl, - ... manifest_hash=UUID('d2b0ce3c-46f0-57fe-b9d4-2e38d8934fd4'), - ... source_hash=UUID('77936747-5968-588e-809f-af842d6be9e0')) - - >>> manifest_key.encode() - 'lKNmb2-kY3VybMQQ0rDOPEbwV_651C442JNP1MQQd5NnR1loWI6An6-ELWvp4A' - - The encode() method is the inverse of decode(): - - >>> BareManifestKey.decode(manifest_key.encode()) == manifest_key - True - - Invalid base64: - - >>> BareManifestKey.decode(manifest_key.encode()[:-1]) - ... # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - azul.service.manifest_service.InvalidManifestKey: - lKNmb2-kY3VybMQQ0rDOPEbwV_651C442JNP1MQQd5NnR1loWI6An6-ELWvp4 - - Valid base64 encoding and msgpack format, but value of wrong type for - `catalog` atrribute - - >>> with attrs.validators.disabled(): - ... # noinspection PyTypeChecker - ... bad_key = attrs.evolve(manifest_key, catalog=123).encode() - >>> bad_key - 'lHukY3VybMQQ0rDOPEbwV_651C442JNP1MQQd5NnR1loWI6An6-ELWvp4A' - - >>> BareManifestKey.decode(bad_key) - ... # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - azul.service.manifest_service.InvalidManifestKey: - lHukY3VybMQQ0rDOPEbwV_651C442JNP1MQQd5NnR1loWI6An6-ELWvp4A - - >>> bad_key = base64.b64encode(manifest_key.pack() + b'123').decode() - >>> BareManifestKey.decode(bad_key) - ... # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - azul.service.manifest_service.InvalidManifestKey: - lKNmb2+kY3VybMQQ0rDOPEbwV/651C442JNP1MQQd5NnR1loWI6An6+ELWvp4DEyMw== - - >>> bad_key = base64.b64encode(manifest_key.pack()[:-1]).decode() - >>> BareManifestKey.decode(bad_key) - ... # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - azul.service.manifest_service.InvalidManifestKey: - lKNmb2+kY3VybMQQ0rDOPEbwV/651C442JNP1MQQd5NnR1loWI6An6+ELWvp - - Manifest keys contain the catalog name which can be quite long, extending - the length of the encoded manifest key proportionally by 4 characters for - every 3 catalog name characters. - - >>> manifest_key = BareManifestKey(catalog='a' * 64, - ... format=ManifestFormat.terra_pfb, - ... manifest_hash=UUID('d2b0ce3c-46f0-57fe-b9d4-2e38d8934fd4'), - ... source_hash=UUID('77936747-5968-588e-809f-af842d6be9e0')) - >>> len(manifest_key.encode()) - 151 - """ - catalog: CatalogName = strict_auto() - format: ManifestFormat = strict_auto() - manifest_hash: UUID = attrs.field(validator=is_uuid(5)) - source_hash: UUID = attrs.field(validator=is_uuid(5)) - - def pack(self) -> bytes: - return msgpack.packb([ - self.catalog, - self.format.value, - self.manifest_hash.bytes, - self.source_hash.bytes, - ]) - - @classmethod - def unpack(cls, pack: bytes) -> Self: - i = iter(msgpack.unpackb(pack)) - return cls(catalog=next(i), - format=ManifestFormat(next(i)), - manifest_hash=UUID(bytes=next(i)), - source_hash=UUID(bytes=next(i))) - - -@attrs.frozen(kw_only=True) -class SignedManifestKey(AbstractManifestKey): - """ - A bare manifest key and its signature. - - >>> bare_manifest_key = BareManifestKey(catalog='foo', - ... format=ManifestFormat.curl, - ... manifest_hash=UUID('d2b0ce3c-46f0-57fe-b9d4-2e38d8934fd4'), - ... source_hash=UUID('77936747-5968-588e-809f-af842d6be9e0')) - >>> manifest_key = SignedManifestKey(value=bare_manifest_key, - ... signature=b'123') - - >>> manifest_key.encode() - 'ksQulKNmb2-kY3VybMQQ0rDOPEbwV_651C442JNP1MQQd5NnR1loWI6An6-ELWvp4MQDMTIz' - - >>> SignedManifestKey.decode(manifest_key.encode()) == manifest_key - True - """ - value: BareManifestKey = strict_auto() - signature: bytes = strict_auto() - - def pack(self) -> bytes: - return msgpack.packb([ - self.value.pack(), - self.signature - ]) - - @classmethod - def unpack(cls, pack: bytes) -> Self: - i = iter(msgpack.unpackb(pack)) - return cls(value=BareManifestKey.unpack(next(i)), - signature=next(i)) - - -class ManifestKey(BareManifestKey): - """ - A manifest key that the service trusts implicitly. It is assumed to have - either been instantiated by the service itself and transmitted exclusively - over secure channels, or to have been extracted from a signed manifest key - after signature verification. - - >>> manifest_key = ManifestKey(catalog='foo', - ... format=ManifestFormat.curl, - ... manifest_hash=UUID('d2b0ce3c-46f0-57fe-b9d4-2e38d8934fd4'), - ... source_hash=UUID('77936747-5968-588e-809f-af842d6be9e0')) - - Encoded representation is short: - - >>> manifest_key.encode() - 'lKNmb2-kY3VybMQQ0rDOPEbwV_651C442JNP1MQQd5NnR1loWI6An6-ELWvp4A' - - It shouldn't be possible to deserialize a ManifestKey instance. - - >>> ManifestKey.decode(manifest_key.encode()) - ... # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - azul.service.manifest_service.InvalidManifestKey: - lKNmb2-kY3VybMQQ0rDOPEbwV_651C442JNP1MQQd5NnR1loWI6An6-ELWvp4A - - The from_json() method is the inverse of to_json(): - - >>> ManifestKey.from_json(manifest_key.to_json()) == manifest_key - True - """ - - @classmethod - def unpack(cls, pack: bytes) -> None: - """ - Do not call this method. It is unsafe to deserialize an instance of - this class. Instead, deserialize a :class:`SignedManifestKey` and use - :meth:`ManifestService.verify_manifest_key_signature`. - """ - assert False - - def to_json(self) -> JSON: - return { - 'catalog': self.catalog, - 'format': self.format.value, - 'manifest_hash': str(self.manifest_hash), - 'source_hash': str(self.source_hash) - } - - @classmethod - def from_json(cls, json: JSON) -> Self: - return cls(catalog=json['catalog'], - format=ManifestFormat(json['format']), - manifest_hash=UUID(json['manifest_hash']), - source_hash=UUID(json['source_hash'])) - - _uuid_namespace: ClassVar[UUID] = UUID('c5a0cd95-44f7-4216-972f-623f00f8fd22') - - @property - def uuid(self) -> UUID: - return uuid5_for_bytes(self._uuid_namespace, self.pack()) - - -@attrs.frozen -class InvalidManifestKeySignature(Exception): - value: SignedManifestKey - - -@attrs.frozen(kw_only=True) -class Manifest: - """ - Contains the details of a prepared manifest. - """ - #: The S3 object key under which the manifest is stored in the storage - #: bucket - object_key: str - - #: True if an existing manifest was reused or False if a new manifest was - #: generated. - was_cached: bool - - #: The format of the manifest - format: ManifestFormat - - #: Uniquely identifies this manifest - manifest_key: ManifestKey - - #: The proposed file name of the manifest when downloading it to a user's - #: system - file_name: str - - def to_json(self) -> JSON: - return { - 'object_key': self.object_key, - 'was_cached': self.was_cached, - 'format': self.format.value, - 'manifest_key': self.manifest_key.to_json(), - 'file_name': self.file_name - } - - @classmethod - def from_json(cls, json: JSON) -> Self: - return cls(object_key=json['object_key'], - was_cached=json['was_cached'], - format=ManifestFormat(json['format']), - manifest_key=ManifestKey.from_json(json['manifest_key']), - file_name=json['file_name']) - - -def tuple_or_none(v): - return v if v is None else tuple(v) - - -@attrs.frozen(kw_only=True) -class ManifestPartition: - """ - A partial manifest. An instance of this class encapsulates the state that - might need to be tracked while a manifest is populated, in increments of - partitions, or even pages within partitions. The simplest of manifests - consist of just one big partition that's not split into pages. These - monolithic manifests come at a price: the size of the manifest must be no - more than what fits into memory at once. - """ - #: The 0-based index of the partition - index: int - - #: True if this is the last partition - is_last: bool - - #: The file name to use for a manifest that contains this partition. While - #: this attribute may seem misplaced, the file name is derived from the - #: contents of the ES hits that make up the manifest rows. If a manifest is - #: partitioned, we need to track the state of that derivation somewhere. - #: On the last partition, this attribute is not None and represents the file - #: name to be used. On the other partitions this attribute may be None, if - #: it isn't, it represents the base name, the manifest content-dependent - #: portion of the file name. If all pages of all partitions yield the same - #: base name, the file name on the last partition will incorporate the base - #: name. Otherwise, a generic, content-independent file name will be used. - file_name: str | None = None - - #: The cached configuration of the manifest that contains this partition. - #: Manifest generators whose `manifest_config` property is expensive should - #: cache the returned value here for subsequent partitions to reuse. - config: AnyJSON | None = None - - #: The ID of the S3 multi-part upload this partition is a part of. If a - #: manifest consists of just one partition, this may be None, but it doesn't - #: have to be. - multipart_upload_id: str | None = None - - #: The S3 ETag of each partition; the current one and all the ones before it - part_etags: tuple[str, ...] | None = attrs.field(converter=tuple_or_none, - default=None) - - #: The index of the current page. The index is zero-based and global. For - #: example, if the first partition contains five pages, the index of the - #: first page in the second partition is 5. This is None for manifests whose - #: partitions aren't split into pages. - page_index: int | None = None - - #: True if the current page is the last page of the entire manifest. This is - #: None for manifests whose partitions aren't split into pages. - is_last_page: bool | None = None - - #: The `sort` value of the first hit of the current page in this partition, - #: or None if there is no current page. - search_after: SortKey | None = None - - @classmethod - def from_json(cls, partition: JSON) -> Self: - return cls(**{ - k: tuple(v) if k == 'search_after' and v is not None else v - for k, v in partition.items() - }) - - def to_json(self) -> MutableJSON: - return attrs.asdict(self) - - @classmethod - def first(cls) -> Self: - return cls(index=0, - is_last=False) - - @property - def is_first(self) -> bool: - return not (self.index or self.page_index) - - def with_config(self, config: AnyJSON) -> Self: - return attrs.evolve(self, config=config) - - def with_upload(self, multipart_upload_id) -> Self: - return attrs.evolve(self, - multipart_upload_id=multipart_upload_id, - part_etags=()) - - def first_page(self) -> Self: - assert self.index == 0, self - return attrs.evolve(self, - page_index=0, - is_last_page=False) - - def next_page(self, - file_name: str | None, - search_after: SortKey | None - ) -> Self: - assert self.page_index is not None, self - # If different pages yield different file names, use default file name - if self.page_index > 0: - if file_name != self.file_name: - file_name = None - return attrs.evolve(self, - page_index=self.page_index + 1, - file_name=file_name, - search_after=search_after) - - def last_page(self) -> Self: - return attrs.evolve(self, is_last_page=True) - - def next(self, part_etag: str) -> Self: - return attrs.evolve(self, - index=self.index + 1, - part_etags=(*self.part_etags, part_etag)) - - def last(self, file_name: str) -> Self: - return attrs.evolve(self, - file_name=file_name, - is_last=True) - - -@attrs.frozen -class CachedManifestNotFound(Exception): - manifest_key: ManifestKey - - -class ManifestService(ElasticsearchService): - - def __init__(self, storage_service: StorageService, file_url_func: FileUrlFunc): - super().__init__() - self.storage_service = storage_service - self.file_url_func = file_url_func - - def get_manifest(self, - *, - format: ManifestFormat, - catalog: CatalogName, - filters: Filters, - partition: ManifestPartition, - manifest_key: ManifestKey | None = None - ) -> Manifest | ManifestPartition: - """ - Return a fully populated manifest that ends with the given partition or - the next partition if the given partition isn't the last. - - If a manifest is returned, its 'location' attribute contains the - pre-signed URL of a manifest in the given format, and containing file - entities matching the given filter. - - If a suitable manifest already exists, it will be used and returned - immediately. Otherwise, a new manifest will be generated. Subsequent - invocations of this method with the same arguments are likely to reuse - that manifest, skipping the time-consuming manifest generation. - - If a manifest needs to be generated and the generation involves multiple - partitions, this method will only generate one partition and return - the next one. Repeat calling this method with the returned partition - until the return value is a Manifest instance. - - :param format: The desired format of the manifest. - - :param catalog: The name of the catalog to generate the manifest from. - - :param filters: The filters by which to restrict the contents of the - manifest. - - :param partition: The manifest partition to generate. Not all manifests - involve multiple partitions. If they don't, a Manifest - instance will be returned. Otherwise, the next - ManifestPartition instance will be returned. - - :param manifest_key: An optional key identifying the cached manifest. If - None, the key will be computed dynamically. This - may take a few seconds. If a valid cached manifest - exists under the given key, it will be used. - Otherwise, a new manifest will be created and - stored under the given key. - """ - generator_cls = ManifestGenerator.cls_for_format(format) - generator = generator_cls(self, catalog, filters) - if manifest_key is None: - manifest_key = generator.manifest_key() - if partition.is_first: - try: - return self._get_cached_manifest(generator_cls, manifest_key) - except CachedManifestNotFound: - return self._generate_manifest(generator, manifest_key, partition) - else: - return self._generate_manifest(generator, manifest_key, partition) - - def _generate_manifest(self, - generator: 'ManifestGenerator', - manifest_key: ManifestKey, - partition: ManifestPartition - ) -> Manifest | ManifestPartition: - partition = generator.write(manifest_key, partition) - if partition.is_last: - return self._make_manifest(generator_cls=type(generator), - manifest_key=manifest_key, - file_name=partition.file_name, - was_cached=False) - else: - return partition - - def get_cached_manifest(self, - format: ManifestFormat, - catalog: CatalogName, - filters: Filters - ) -> Manifest: - generator_cls = ManifestGenerator.cls_for_format(format) - generator = generator_cls(self, catalog, filters) - manifest_key = generator.manifest_key() - return self._get_cached_manifest(generator_cls, manifest_key) - - @classmethod - def sign_manifest_key(cls, manifest_key: ManifestKey) -> SignedManifestKey: - """ - Sign the given manifest key with a secret so that it can later be - verified to have not been tamplered with. - """ - response = aws.kms.generate_mac(Message=manifest_key.pack(), - KeyId=config.manifest_kms_alias, - MacAlgorithm='HMAC_SHA_256') - return SignedManifestKey(value=manifest_key, - signature=response['Mac']) - - @classmethod - def verify_manifest_key(cls, manifest_key: SignedManifestKey) -> ManifestKey: - """ - Verify a manifest key against its signature. If either the key or the - signature have been tampered with, an exception will be raised. - """ - try: - response = aws.kms.verify_mac(KeyId=config.manifest_kms_alias, - MacAlgorithm='HMAC_SHA_256', - Message=manifest_key.value.pack(), - Mac=manifest_key.signature) - except aws.kms.exceptions.KMSInvalidMacException: - raise InvalidManifestKeySignature(manifest_key) - else: - assert response['MacValid'] - return ManifestKey(**attrs.asdict(manifest_key.value)) - - def get_cached_manifest_with_key(self, manifest_key: ManifestKey) -> Manifest: - generator_cls = ManifestGenerator.cls_for_format(manifest_key.format) - return self._get_cached_manifest(generator_cls, manifest_key) - - def _get_cached_manifest(self, - generator_cls: type['ManifestGenerator'], - manifest_key: ManifestKey - ) -> Manifest: - file_name = self._get_cached_manifest_file_name(generator_cls, manifest_key) - if file_name is None: - raise CachedManifestNotFound(manifest_key) - else: - return self._make_manifest(generator_cls=generator_cls, - manifest_key=manifest_key, - file_name=file_name, - was_cached=True) - - def _make_manifest(self, - generator_cls: type['ManifestGenerator'], - manifest_key: ManifestKey, - file_name: str | None, - was_cached: bool - ) -> Manifest: - if not generator_cls.use_content_disposition_file_name: - file_name = None - object_key = generator_cls.s3_object_key(manifest_key) - return Manifest(object_key=object_key, - was_cached=was_cached, - format=generator_cls.format(), - manifest_key=manifest_key, - file_name=file_name) - - def get_manifest_url(self, manifest: Manifest) -> str: - return self.storage_service.get_presigned_url(key=manifest.object_key, - file_name=manifest.file_name) - - file_name_tag = 'azul_file_name' - - def _get_cached_manifest_file_name(self, - generator_cls: type['ManifestGenerator'], - manifest_key: ManifestKey - ) -> str | None: - """ - Return the proposed local file name of the manifest with the given - object key if it was previously created, still exists in the bucket, and - won't be expiring soon. Otherwise return None. - - :param generator_cls: The generator class of the manifest - - :param manifest_key: The key of the cached manifest - """ - object_key = generator_cls.s3_object_key(manifest_key) - try: - time_left = self.storage_service.time_until_object_expires(object_key, - expiration=config.manifest_expiration) - except StorageObjectNotFound: - log.info('Cached manifest not found: %s', manifest_key) - return None - else: - if time_left > config.manifest_expiration_margin: - tagging = self.storage_service.get_object_tagging(object_key) - try: - encoded_file_name = tagging[self.file_name_tag] - except KeyError: - # While unpaged manifest generators apply the tag *at* - # object creation, paged ones do so in a separate request. - # Reaching this point for a paged manifest (no name tag) - # means that the manifest has been created but not yet - # tagged. In this case, we treat the manifest as if it - # doesn't yet exist and return None. This assumes that the - # caller will then raise a `CachedManifestNotFound` - # exception causing a redirect response to the client and - # when the client follows the redirect, the tagging should - # be complete. - return None - else: - encoded_file_name = encoded_file_name.encode('ascii') - return base64.urlsafe_b64decode(encoded_file_name).decode('utf-8') - else: - log.info('Cached manifest is about to expire: %s', object_key) - return None - - def command_lines(self, - manifest: Manifest | None, - url: furl, - authentication: Authentication | None - ) -> FlatJSON: - format = None if manifest is None else manifest.format - generator_cls = ManifestGenerator.cls_for_format(format) - file_name = None if manifest is None else manifest.file_name - return generator_cls.command_lines(url, file_name, authentication) - - -Cells = dict[str, str] - - -class ManifestGenerator(metaclass=ABCMeta): - """ - A generator for manifests. A manifest is an exhaustive representation of - the documents in the aggregate index for a particular entity type. The - generator queries that index for documents that match a given filter and - transforms the result. - """ - - # Note to implementors: all property getters in this class and its - # descendants must be inexpensive. If a property getter performs and - # expensive computation or I/O, it should cache its return value. - - @classmethod - @abstractmethod - def format(cls) -> ManifestFormat: - """ - Returns the manifest format implemented by this generator class. - """ - raise NotImplementedError - - @cached_property - def repository_plugin(self) -> RepositoryPlugin: - catalog = self.catalog - return RepositoryPlugin.load(catalog).create(catalog) - - @property - def metadata_plugin(self) -> MetadataPlugin: - return self.service.metadata_plugin(self.catalog) - - @classmethod - @abstractmethod - def file_name_extension(cls) -> str: - """ - The file name extension to use when persisting the output of this - generator to a file system or an object store. - """ - raise NotImplementedError - - @property - @abstractmethod - def content_type(self) -> str: - """ - The MIME type to use when describing the output of this generator. - """ - raise NotImplementedError - - @classmethod - def use_content_disposition_file_name(cls) -> bool: - """ - True if the manifest output produced by the generator should use a custom - file name when stored on a file system. - """ - return True - - @property - @abstractmethod - def entity_type(self) -> str: - """ - The type of the index entities this generator consumes. This controls - which aggregate Elasticsearch index is queried to fetch the aggregate - entity documents that this generator consumes when generating the - output manifest. - """ - raise NotImplementedError - - @cached_property - def manifest_config(self) -> ManifestConfig: - """ - The manifest config this generator uses. A manifest config is a mapping - from document properties to manifest fields. - """ - return self.metadata_plugin.manifest_config - - @cached_property - def included_fields(self) -> list[FieldPath] | None: - """ - A list of field paths to be included when requesting entity documents - from the index or None if all fields should be included. - - https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-fields.html#source-filtering - """ - return [ - (*field_path, field_name) - for field_path, column_mapping in self.manifest_config.items() - for field_name in column_mapping.keys() - if field_name is not None - ] - - _cls_for_format: dict[ManifestFormat, type['ManifestGenerator']] = {} - - def __init_subclass__(cls) -> None: - super().__init_subclass__() - if not isabstract(cls): - format = cls.format() - assert format not in cls._cls_for_format - cls._cls_for_format[format] = cls - - @classmethod - def cls_for_format(cls, - format: ManifestFormat | None - ) -> type['ManifestGenerator']: - """ - Return the generator class for the given format. - - :param format: format specifying which type of generator to use - - :return: a concrete subclass of ManifestGenerator - """ - if format is None: - return cls - else: - return cls._cls_for_format[format] - - @classmethod - def _cmd_exe_quote(cls, s: str) -> str: - """ - Escape a string for insertion into a `cmd.exe` command line - """ - assert '\\' not in s, s - return dq(s) - - @classmethod - def command_lines(cls, - url: furl, - file_name: str | None, - authentication: Authentication | None - ) -> FlatJSON: - # Normally we would have used --remote-name and --remote-header-name - # which gets the file name from the content-disposition header. However, - # URLs longer than 255 characters trigger a bug in curl.exe's - # implementation of --remote-name on Windows. This is especially - # surprising because --remote-name doesn't need to parse the URL when - # --remote-header-name is also passed. To circumvent the URL parsing - # bug we provide the file name explicitly with --output. - - # Normally, curl writes the response body and returns 0 (success), - # even on server errors. With --fail, it writes an error message - # containing the HTTP status code and exits with 22 in those cases. - def options(quote_func): - return [] if file_name is None else [ - '--location', - '--fail', - '--output', - quote_func(file_name) - ] - - return { - 'cmd.exe': ' '.join([ - 'curl.exe', - *options(cls._cmd_exe_quote), - cls._cmd_exe_quote(str(url)) - ]), - 'bash': ' '.join([ - 'curl', - *options(shlex.quote), - shlex.quote(str(url)) - ]) - } - - def __init__(self, - service: ManifestService, - catalog: CatalogName, - filters: Filters - ) -> None: - """ - Construct a generator instance. - - :param catalog: the name of the catalog to use when querying the index - for the documents to be transformed into the manifest - - :param filters: the filter to use when querying the index for the - documents to be transformed into the manifest - - :param service: the service to use when querying the index - """ - super().__init__() - self.service = service - self.catalog = catalog - self.filters = filters - self.file_url_func = service.file_url_func - - manifest_namespace = UUID('ca1df635-b42c-4671-9322-b0a7209f0235') - - source_namespace = UUID('6540b139-ea49-4e36-8f19-17c309b5fa76') - - def manifest_key(self) -> ManifestKey: - """ - Return a manifest object key deterministically derived from this - generator's parameters (its concrete type and the arguments passed to - its constructor) and the current commit hash. The same parameters will - always produce the same return value in one revision of this code. - Different parameters should, with a very high probability, produce - different return values. - """ - git_commit = config.lambda_git_status['commit'] - filter_string = repr(sort_frozen(freeze(self.filters.explicit))) - content_hash = str(self.manifest_content_hash) - catalog = self.catalog - format = self.format() - manifest_hash_input = [ - git_commit, - catalog, - format.value, - content_hash, - filter_string - ] - joiner = ',' - assert not any(joiner in param for param in manifest_hash_input[:-1]) - manifest_hash = uuid5(self.manifest_namespace, joiner.join(manifest_hash_input)) - - source_ids = sorted(self.filters.source_ids) - assert not any(joiner in source_id for source_id in source_ids), source_ids - source_hash = uuid5(self.source_namespace, joiner.join(source_ids)) - - return ManifestKey(catalog=catalog, - format=format, - manifest_hash=manifest_hash, - source_hash=source_hash) - - @classmethod - def s3_object_key(cls, manifest_key: ManifestKey) -> str: - return 'manifests' + '/' + cls.s3_object_key_base(manifest_key) - - @classmethod - def s3_object_key_base(cls, manifest_key: ManifestKey) -> str: - manifest_hash = str(manifest_key.manifest_hash) - source_hash = str(manifest_key.source_hash) - for part in manifest_hash, source_hash: - for joiner in '.', '/': - assert joiner not in part, (joiner, part) - return '.'.join([manifest_hash, source_hash, cls.file_name_extension()]) - - def file_name(self, - manifest_key: ManifestKey, - base_name: str | None = None - ) -> str: - if base_name: - file_name_prefix = unicodedata.normalize('NFKD', base_name) - file_name_prefix = re.sub(r'[^\w ,.@%&\-_()\\[\]/{}]', '_', file_name_prefix).strip() - timestamp = datetime.now().strftime('%Y-%m-%d %H.%M') - file_name = f'{file_name_prefix} {timestamp}.{self.file_name_extension()}' - else: - atlas = config.catalogs[self.catalog].atlas - file_name = atlas + '-manifest-' + self.s3_object_key_base(manifest_key) - return file_name - - def _create_request(self) -> Search: - pipeline = self._create_pipeline() - request = self.service.create_request(self.catalog, self.entity_type) - request = pipeline.prepare_request(request) - # The response is processed by the generator, not the pipeline - return request - - def _create_pipeline(self) -> ElasticsearchChain: - if self.included_fields is None: - document_slice = DocumentSlice() - else: - document_slice = DocumentSlice(includes=list(map(dotted, self.included_fields))) - pipeline = self.service.create_chain(catalog=self.catalog, - entity_type=self.entity_type, - filters=self.filters, - post_filter=False, - document_slice=document_slice) - return pipeline - - def _hit_to_doc(self, hit: Hit) -> MutableJSON: - return self.service.translate_fields(self.catalog, - hit.to_dict(), - forward=False, - allowed_paths=self.included_fields) - - column_joiner = config.manifest_column_joiner - padded_joiner = ' ' + column_joiner + ' ' - - @cached_property - def _field_types(self) -> FieldTypes: - return self.service.field_types(self.catalog) - - def _extract_fields(self, - *, - field_path: FieldPath, - entities: JSONs, - column_mapping: ColumnMapping, - row: Cells) -> None: - """ - Extract columns in `column_mapping` from `entities` and insert values - into `row`. - """ - field_types = self._field_types - for field in field_path: - field_types = field_types[field] - - def convert(field_name, field_value): - try: - field_type = field_types[field_name] - except KeyError: - if field_name == 'file_url': - field_type = null_str - else: - raise - else: - if isinstance(field_type, list): - field_type = one(field_type) - return field_type.to_tsv(field_value) - - def validate(field_value: str) -> str: - assert self.column_joiner not in field_value - return field_value - - for field_name, column_name in column_mapping.items(): - if column_name is not None: - assert column_name not in row, f'Column mapping defines {column_name} twice' - column_value = [] - for entity in entities: - try: - field_value = entity[field_name] - except KeyError: - pass - else: - if isinstance(field_value, list): - column_value += [ - validate(convert(field_name, field_sub_value)) - for field_sub_value in field_value - if field_sub_value is not None - ] - else: - column_value.append(validate(convert(field_name, field_value))) - # FIXME: The slice is a hotfix. Reconsider. - # https://github.com/DataBiosphere/azul/issues/2649 - column_value = self.padded_joiner.join(sorted(set(column_value))[:100]) - row[column_name] = column_value - - def _get_entities(self, field_path: FieldPath, doc: JSON) -> JSONs: - """ - Given a document and a dotted path into that document, return the list - of entities designated by that path. - """ - assert field_path, field_path - d = doc - for key in field_path[:-1]: - d = d.get(key, {}) - entities = d.get(field_path[-1], []) - return entities - - def _azul_file_url(self, - file: JSON, - args: Mapping = frozendict() - ) -> str | None: - download_cls = self.repository_plugin.file_download_class() - if download_cls.needs_drs_uri and file['drs_uri'] is None: - return None - else: - return str(self.file_url_func(catalog=self.catalog, - file_uuid=file['uuid'], - version=file['version'], - fetch=False, - **args)) - - @cached_property - def manifest_content_hash(self) -> int: - log.debug('Computing content hash for manifest using filters %r ...', self.filters) - start_time = time.time() - request = self._create_request() - request.aggs.metric( - 'hash', - 'scripted_metric', - init_script=''' - state.fields = 0 - ''', - map_script=''' - for (bundle in params._source.bundles) { - state.fields += (bundle.uuid + bundle.version).hashCode() - } - ''', - combine_script=''' - return state.fields.hashCode() - ''', - reduce_script=''' - int result = 0; - for (state in states) { - result += state - } - return result - ''') - request = request.extra(size=0) - response = request.execute() - assert len(response.hits) == 0 - hash_value = response.aggregations.hash.value - log.info('Manifest content hash %i was computed in %.3fs using filters %r.', - hash_value, time.time() - start_time, self.filters) - return hash_value - - def tagging(self, file_name: str | None) -> Mapping[str, str] | None: - if file_name is None: - return None - else: - encoded_file_name = base64.urlsafe_b64encode(file_name.encode('utf-8')) - return {self.service.file_name_tag: encoded_file_name.decode('ascii')} - - @abstractmethod - def write(self, - manifest_key: ManifestKey, - partition: ManifestPartition, - ) -> ManifestPartition: - """ - Write the given partition of a manifest to object storage under the - specified key and return the next partition to be written. Unless the - returned partition is the last one, this method will soon be invoked - again, passing the partition returned by the previous invocation. - - A minimal implementation of this method would write the entire manifest - in just one large partition and return that partition with the is_last - flag set. - - :param manifest_key: The manifest key under which to store the manifest - partition. - - :param partition: The partition to write. - """ - raise NotImplementedError - - @property - def storage(self): - return self.service.storage_service - - -class ClientSidePagingManifestGenerator(ManifestGenerator, metaclass=ABCMeta): - """ - A mixin for manifest generators that use client-side paging to query - Elasticsearch. - """ - page_size = 500 - - def _create_paged_request(self, search_after: SortKey | None) -> Search: - pagination = Pagination(sort='entryId', - order='asc', - size=self.page_size, - search_after=search_after) - pipeline = self._create_pipeline() - # Only needs this to satisfy the type constraints - pipeline = ToDictStage(service=self.service, - catalog=self.catalog, - entity_type=self.entity_type).wrap(pipeline) - pipeline = PaginationStage(service=self.service, - catalog=self.catalog, - entity_type=self.entity_type, - pagination=pagination, - filters=self.filters, - peek_ahead=False).wrap(pipeline) - request = self.service.create_request(catalog=self.catalog, - entity_type=self.entity_type) - # The response is processed by the generator, not the pipeline - request = pipeline.prepare_request(request) - return request - - def _search_after(self, hit: Hit) -> SortKey: - a, b = hit.meta.sort - return a, b - - -class PagedManifestGenerator(ClientSidePagingManifestGenerator): - """ - A manifest generator whose output is split over several concatenable - segments, also known as pages. - - In some subclasses, e.g. CompactManifestGenerator and CurlManifestGenerator, - a manifest page corresponds to a page of hits from a paginated Elasticsearch - request. In others, e.g. JSONLVerbatimManifestGenerator, the relationship - between manifest pages and Elasticsearch pages is more complicated. - """ - - @abstractmethod - def write_page_to(self, - partition: ManifestPartition, - output: IO[str] - ) -> ManifestPartition: - """ - Write the generator output for the current page of the given partition - to the given stream and return an updated partition object that - represents the next page of the given partition. - - :param partition: the current partition - - :param output: the stream to write to - """ - raise NotImplementedError - - # With the minimum part size of 5 MiB I've observed a running time of only - # 5s per partition so to minimize step function churn we'll go with 50 MiB - # instead. - - part_size = 50 * 1024 * 1024 - - assert part_size >= AWS_S3_DEFAULT_MINIMUM_PART_SIZE - - def write(self, - manifest_key: ManifestKey, - partition: ManifestPartition, - ) -> ManifestPartition: - assert not partition.is_last, partition - if partition.config is None: - # The keys in manifest config are tuples which aren't allowed in - # JSON. We convert the outer mapping to a list of entries. - config = [[list(k), v] for k, v in self.manifest_config.items()] - partition = partition.with_config(config) - else: - config = {tuple(k): v for k, v in partition.config} - type(self).manifest_config.fset(self, config) - object_key = self.s3_object_key(manifest_key) - if partition.multipart_upload_id is None: - upload = self.storage.create_multipart_upload(object_key) - partition = partition.with_upload(upload.id) - else: - upload = self.storage.load_multipart_upload(object_key=object_key, - upload_id=partition.multipart_upload_id) - if partition.page_index is None: - partition = partition.first_page() - with BytesIO() as buffer: - with TextIOWrapper(buffer, encoding='utf-8', write_through=True) as text_buffer: - while True: - partition = self.write_page_to(partition, output=text_buffer) - # Manifest lambda has 2 GB of memory - assert buffer.tell() < 1.5 * 1024 ** 3 - if partition.is_last_page or buffer.tell() > self.part_size: - break - if buffer.tell() > 0: - buffer.seek(0) - part_etag = self.storage.upload_multipart_part(buffer, partition.index + 1, upload) - partition = partition.next(part_etag=part_etag) - if partition.is_last_page: - self.storage.complete_multipart_upload(upload, partition.part_etags) - file_name = self.file_name(manifest_key, base_name=partition.file_name) - tagging = self.tagging(file_name) - if tagging is not None: - self.storage.put_object_tagging(object_key, tagging) - partition = partition.last(file_name) - return partition - - -class FileBasedManifestGenerator(ManifestGenerator): - """ - A manifest generator that writes its output to a file. - - :return: the path to the file containing the output of the generator and an - optional string that should be used to name the output when - persisting it to an object store or another file system - """ - - @abstractmethod - def create_file(self) -> tuple[str, str | None]: - raise NotImplementedError - - def write(self, - manifest_key: ManifestKey, - partition: ManifestPartition, - ) -> ManifestPartition: - """ - Generate the manifest and return the desired content disposition file - name if necessary. - """ - assert partition.index == 0 and partition.page_index is None, partition - file_path, base_name = self.create_file() - file_name = self.file_name(manifest_key, base_name) - try: - self.storage.upload(file_path=file_path, - object_key=(self.s3_object_key(manifest_key)), - content_type=self.content_type, - tagging=self.tagging(file_name)) - finally: - os.remove(file_path) - partition = partition.last(file_name) - return partition - - -class CurlManifestGenerator(PagedManifestGenerator): - - @classmethod - def format(cls) -> ManifestFormat: - return ManifestFormat.curl - - @property - def content_type(self) -> str: - return 'text/plain' - - @classmethod - def file_name_extension(cls): - return 'curlrc' - - @property - def entity_type(self) -> str: - return 'files' - - @cached_property - def included_fields(self) -> list[FieldPath] | None: - return [ - *super().included_fields, - ('contents', 'files', 'related_files') - ] - - @classmethod - def command_lines(cls, - url: furl, - file_name: str | None, - authentication: Authentication | None - ) -> FlatJSON: - authentication_option = [] if authentication is None else [ - '--header', - cls._option(authentication.as_http_header()) - ] - manifest_options = [ - '--location', - '--fail', - ] - rate_limit = config.waf_rate_limit - # Some options are added to the command-line instead of the curl - # manifest so that the user can more easily customize them. - file_options = [ - # We want curl to make enough retries so that it waits a total of - # one and a half times the evaluation window of the WAF rate rule, - # long enough for the tripped rule to clear. - f'--retry {ceil(rate_limit.period * 1.5 / rate_limit.retry_after)}', - # Curl will respect the 'Retry-After' header if given in a response, - # like the one returned when the WAF rate rule is tripped. Otherwise, - # curl will wait for the number of seconds specified here. - '--retry-delay 10', - ] - return { - 'cmd.exe': ' '.join([ - 'curl.exe', - *manifest_options, - cls._cmd_exe_quote(str(url)), - '|', - 'curl.exe', - *authentication_option, - *file_options, - '--config', - '-' - ]), - 'bash': ' '.join([ - 'curl', - *manifest_options, - shlex.quote(str(url)), - '|', - 'curl', - *authentication_option, - *file_options, - '--config', - '-' - ]) - } - - @classmethod - def _option(cls, s: str) -> str: - """ - >>> f = CurlManifestGenerator._option - >>> f('') - '""' - - >>> f('abc') - '"abc"' - - >>> list(map(ord, f('"'))) - [34, 92, 34, 34] - - >>> list(map(ord, f(f('"')))) - [34, 92, 34, 92, 92, 92, 34, 92, 34, 34] - - """ - return '"' + s.replace('\\', '\\\\').replace('"', '\\"') + '"' - - def write_page_to(self, - partition: ManifestPartition, - output: IO[str] - ) -> ManifestPartition: - - def _write(file: JSON, is_related_file: bool = False): - name = file['name'] - # Related files are indexed differently than normal files (they - # don't have their own document but are listed inside the main - # file's document), so to ensure that the /repository/files - # endpoint can resolve them correctly, their endpoint URLs - # contain additional parameters, so that the endpoint does not - # need to query the index for that information. - args = { - 'requestIndex': 1, - 'fileName': name, - 'drsUri': file['drs_uri'] - } if is_related_file else { - } - - file_url = self._azul_file_url(file, args) - if file_url is None: - output.write(f"# File {file['uuid']!r}, version {file['version']!r} is " - f"currently not available in catalog {self.catalog!r}.\n\n") - else: - # To prevent overwriting one file with another one of the same name - # but different content we nest each file in a folder using the - # bundle UUID. Because a file can belong to multiple bundles we use - # the one with the most recent version. - bundle = max(cast(JSONs, doc['bundles']), key=itemgetter('version', 'uuid')) - output_name = self._sanitize_path(bundle['uuid'] + '/' + name) - output.write(f'url={self._option(file_url)}\n' - f'output={self._option(output_name)}\n\n') - - if partition.page_index == 0: - curl_options = [ - # FIXME: Remove `--http1.1` option - # https://github.com/DataBiosphere/azul/issues/7032 - '--http1.1', # Avoid a bug in curl 8.7.1 where 429s aren't retried with HTTP/2 - '--create-dirs', # Allow curl to create folders - '--compressed', # Request a compressed response - '--location', # Follow redirects - '--globoff', # Prevent '#' in file names from being interpreted as output variables - '--fail', # Upon server error don't save the error message to the file - '--fail-early', # Exit curl with error on the first failure encountered - '--continue-at -', # Resume partially downloaded files - '--write-out "Downloading to: %{filename_effective}\\n\\n"' - ] - output.write('\n\n'.join(curl_options)) - output.write('\n\n') - - request = self._create_paged_request(partition.search_after) - response = request.execute() - if response.hits: - hit = None - for hit in response.hits: - doc = self._hit_to_doc(hit) - file = one(cast(JSONs, doc['contents']['files'])) - _write(file) - for related_file in file['related_files']: - _write(related_file, is_related_file=True) - assert hit is not None - return partition.next_page(file_name=None, - search_after=self._search_after(hit)) - else: - return partition.last_page() - - # Disallow control characters and backslash as they likely indicate an - # injection attack. No useful file name should contain them - # - _malicious_chars = re.compile(r'[\x00-\x1f\\]') - - # Benign occurrences of potentially problematic characters - # - _problematic_chars = re.compile(r'[<>:"|?*]') - - # Disallow slashes anywhere in a path component. Allow a single dot at the - # beginning as long as it's followed by a something other than space or dot. - # Disallow space or dot at the end. Within the path component (anywhere but - # the beginning or end), dots and spaces are allowed, even consecutive ones - # - _valid_path_component = r'\.?[^./ ]([^/]*[^./ ])?' - - # Allow single slashes between path components - # - _valid_path = re.compile(rf'{_valid_path_component}(/{_valid_path_component})*') - - # Reject path components that are special on Windows, courtesy of DOS - # - special_dos_files = { - 'CON', 'PRN', 'AUX', 'NUL', - *(f'{cmd}{i}' for cmd in ['COM', 'LPT'] for i in range(1, 10)) - } - - @classmethod - def _sanitize_path(cls, path: str) -> str: - """ - >>> f = CurlManifestGenerator._sanitize_path - >>> f('foo/bar/\\x1F/file') # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - AssertionError: R('Invalid file path', 'foo/bar/\\x1f/file', - 'Control character or backslash at position', 8) - - >>> f('foo/bar/COM6/file') # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - AssertionError: R('Invalid file path', 'foo/bar/COM6/file', - 'Use of reserved path component for Windows', {'COM6'}) - - >>> f('foo/bar/ / baz/file') # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - AssertionError: R('Invalid file path', 'foo/bar/ / baz/file') - - Substitutions: - - >>> f('<>:"|?*<>:"|?*') - '______________' - - Pass-through: - - >>> f('foo/bar/file.fastq.gz') - 'foo/bar/file.fastq.gz' - - Invalid paths: - - >>> s: str # work around false `Unresolved reference` warning by PyCharm - - >>> all( - ... CurlManifestGenerator._valid_path.fullmatch(s) is None - ... for s in ('', '.', '..', ' ', ' x', 'x ', 'x ', '/', 'x/', '/x', 'x//x') - ... ) - True - - Valid paths: - - >>> all( - ... CurlManifestGenerator._valid_path.fullmatch(s) is not None - ... for s in ('x', '.x', '.x. y', 'x/x', '.x/.y') - ... ) - True - """ - match = cls._malicious_chars.search(path) - assert match is None, R('Invalid file path', path, - 'Control character or backslash at position', match.start()) - - path = cls._problematic_chars.sub('_', path) - - assert cls._valid_path.fullmatch(path) is not None, R('Invalid file path', path) - - components = set(path.split('/')) & cls.special_dos_files - assert not components, R('Invalid file path', path, - 'Use of reserved path component for Windows', components) - - return path - - -class CompactManifestGenerator(PagedManifestGenerator): - - @classmethod - def format(cls) -> ManifestFormat: - return ManifestFormat.compact - - @property - def content_type(self) -> str: - return 'text/tab-separated-values' - - @classmethod - def file_name_extension(cls): - return 'tsv' - - @property - def entity_type(self) -> str: - return 'files' - - @cached_property - def included_fields(self) -> list[FieldPath] | None: - return [ - *super().included_fields, - ('contents', 'files', 'related_files') - ] - - def write_page_to(self, - partition: ManifestPartition, - output: IO[str] - ) -> ManifestPartition: - column_mappings = self.manifest_config.values() - column_mappings = (d.values() for d in column_mappings) - column_names = list(filter(None, chain.from_iterable(column_mappings))) - writer = csv.DictWriter(output, column_names, dialect='excel-tab') - - if partition.page_index == 0: - writer.writeheader() - - request = self._create_paged_request(partition.search_after) - response = request.execute() - if response.hits: - project_short_names = set() - hit = None - for hit in response.hits: - doc = self._hit_to_doc(hit) - assert isinstance(doc, dict) - contents = doc['contents'] - if len(project_short_names) < 2 and 'projects' in contents: - project = one(cast(JSONs, contents['projects'])) - short_names = project['project_short_name'] - project_short_names.update(short_names) - row = {} - related_rows = [] - for field_path, column_mapping in self.manifest_config.items(): - entities = self._get_entities(field_path, doc) - if field_path == ('contents', 'files'): - file = copy_json(one(entities)) - file['file_url'] = self._azul_file_url(file) - entities = [file] - self._extract_fields(field_path=field_path, - entities=entities, - column_mapping=column_mapping, - row=row) - if field_path == ('contents', 'files'): - file = copy_json(one(entities)) - if 'related_files' in file: - field_path = (*field_path, 'related_files') - for related_file in file['related_files']: - related_row = {} - file.update(related_file) - file['file_url'] = self._azul_file_url(file) - self._extract_fields(field_path=field_path, - entities=[file], - column_mapping=column_mapping, - row=related_row) - related_rows.append(related_row) - writer.writerow(row) - for related in related_rows: - row.update(related) - writer.writerow(row) - assert hit is not None - file_name = project_short_names.pop() if len(project_short_names) == 1 else None - return partition.next_page(file_name=file_name, - search_after=self._search_after(hit)) - else: - return partition.last_page() - - -FQID = tuple[str, str] -Qualifier = str - -Group = Mapping[str, Cells] -Groups = list[Group] -Bundle = dict[Qualifier, Groups] -Bundles = dict[FQID, Bundle] - - -class PFBManifestGenerator(FileBasedManifestGenerator): - - @classmethod - def format(cls) -> ManifestFormat: - return ManifestFormat.terra_pfb - - @classmethod - def file_name_extension(cls): - return 'avro' - - @property - def content_type(self) -> str: - return 'application/octet-stream' - - @property - def entity_type(self) -> str: - return 'files' - - @property - def included_fields(self) -> list[FieldPath] | None: - """ - We want all of the metadata because then we can use the field_types() - to generate the complete schema. - """ - return None - - def _all_docs_sorted(self) -> Iterable[JSON]: - request = self._create_request() - request = request.params(preserve_order=True).sort('entity_id.keyword') - for hit in request.scan(): - doc = self._hit_to_doc(hit) - yield doc - - def create_file(self) -> tuple[str, str | None]: - transformers = self.service.transformer_types(self.catalog) - transformer = one(t for t in transformers if t.entity_type() == 'files') - field_types = transformer.field_types() - pfb_schema = avro_pfb.pfb_schema_from_field_types(field_types) - - converter = avro_pfb.PFBConverter(pfb_schema, self.repository_plugin) - for doc in self._all_docs_sorted(): - converter.add_doc(doc) - - links = avro_pfb.pfb_links_from_field_types(field_types) - entity = avro_pfb.pfb_metadata_entity(links) - entities = itertools.chain([entity], converter.entities()) - - fd, path = mkstemp(suffix='.avro') - os.close(fd) - avro_pfb.write_pfb_entities(entities, pfb_schema, path) - return path, None - - -class VerbatimManifestGenerator(ClientSidePagingManifestGenerator, - metaclass=ABCMeta): - - @property - def entity_type(self) -> str: - # Orphans only have projects/datasets as hubs, so we need to retrieve - # aggregates of those types in order to join against orphan replicas - root_entity_type = self.metadata_plugin.root_entity_type - return root_entity_type if self.include_orphans else 'files' - - @property - def included_fields(self) -> list[FieldPath]: - # This is only used when searching the aggregates, which are only used - # to perform a "join" on the replicas index. Therefore, we only need the - # "keys" used for the join. - return [ - ('entity_id',), - *( - ('contents', entity_type, 'document_id') - for entity_type in self.hot_entity_types - ) - ] - - @property - def hot_entity_types(self) -> Iterable[str]: - return self.metadata_plugin.hot_entity_types - - @property - def include_orphans(self) -> bool: - - # When filtering exclusively by properties of implicit hubs, e.g., - # data sets for AnVIL or projects for HCA, we include replicas of all - # entities implicitly connected to the matching hubs, even replicas of - # orphans, i.e., entities that aren't connected to files. - # - plugin = self.metadata_plugin - root_entity_fields = { - field_name - for field_name, field_path in plugin.field_mapping.items() - if field_path[0] == 'contents' and field_path[1] == plugin.root_entity_type - } - - # For both HCA and AnVIL, these root entities are bijective with the - # sources used for indexing, and filtering by a specific project - # or dataset entity should produce the same results as filtering by - # that entity's source. - # - # The verbatim JSONL generator temporarily inserts a source ID condition - # into its provided filters in order to partition the manifest. If the - # source ID field were not included below, that insertion would cause - # orphans to be absent from the manifest, which is incorrect. - # - source_fields = { - plugin.special_fields.source_id, - plugin.special_fields.source_spec - } - return self.filters.explicit.keys() < (root_entity_fields | source_fields) - - @attrs.frozen(kw_only=True) - class ReplicaKeys: - """ - Most replicas contain a list of the entity ID of their hubs, usually - file entities. However, some low-cardinality entities like HCA projects - have too many hubs to track within their replica document. - - This class captures the information needed to locate all replicas - associated with a given a hub entity, either using the hub's entity ID - or the replica's entity ID. - """ - hub_id: str - replica_ids: list[str] - - def _paginate_hits(self, - request_factory: Callable[[SortKey | None], Search] - ) -> Iterable[Hit]: - """ - Yield all hits in every page of Elasticsearch hits in responses to - requests that use client-side paging. - - :param request_factory: A callable that returns a prepared Elasticsearch - request for the given search-after key, with the - appropriate filters and sorting applied. The - returned request should yield one page worth of - hits, starting at the first page (if the argument - is None), or the hit right after the hit with - given search-after key - """ - search_after = None - while True: - request = request_factory(search_after) - response = request.execute() - if response.hits: - hit = None - for hit in response.hits: - yield hit - assert hit is not None - search_after = self._search_after(hit) - else: - break - - def _list_replica_keys(self) -> Iterable[ReplicaKeys]: - for hit in self._paginate_hits(self._create_paged_request): - document_ids = [ - document_id - for entity_type in self.hot_entity_types - for inner_entity in getitem(hit['contents'], entity_type, ()) - # `document_id` is a scalar (string) when the inner and outer - # entity types match, and an array otherwise. `None` should not - # occur. - for document_id in always_iterable(inner_entity['document_id']) - ] - yield self.ReplicaKeys(hub_id=hit['entity_id'], - replica_ids=document_ids) - - def _list_replicas(self) -> Iterable[JSON]: - emitted_replica_ids = set() - for page in chunked(self._list_replica_keys(), self.page_size): - num_replicas = 0 - num_new_replicas = 0 - for replica in self._join_replicas(page): - num_replicas += 1 - # A single replica may have many hubs. To prevent replicas from - # being emitted more than once, we need to keep track of - # replicas already emitted. - replica_id = replica.meta.id - if replica_id not in emitted_replica_ids: - num_new_replicas += 1 - yield replica.to_dict() - emitted_replica_ids.add(replica_id) - log.info('Found %d replicas (%d already emitted) from page of %d hubs', - num_replicas, num_replicas - num_new_replicas, len(page)) - - def _join_replicas(self, keys: Iterable[ReplicaKeys]) -> Iterable[Hit]: - hub_ids, replica_ids = set(), set() - for key in keys: - hub_ids.add(key.hub_id) - replica_ids.update(key.replica_ids) - - request = self.service.create_request(catalog=self.catalog, - entity_type='replica', - doc_type=DocumentType.replica) - request = request.query(Q('bool', should=[ - {'terms': {'hub_ids.keyword': list(hub_ids)}}, - {'terms': {'entity_id.keyword': list(replica_ids)}} - ])) - request = request.extra(size=self.page_size) - - # `_id` is currently the only index field that is unique to each replica - # document (and thus results in an unambiguous total ordering). However, - # sorting just by `_id` is unacceptably slow, an Elasticsearch quirk. To - # overcome the performance hit, we sort by a field that's *almost* - # unique to each replica, so that `_id` only needs to be loaded and - # compared in the infrequent event that it's needed as a tiebreaker. - # - # FIXME: ES DeprecationWarning for using _id as sort key - # https://github.com/DataBiosphere/azul/issues/7290 - # - request = request.sort('entity_id.keyword', '_id') - - def request_factory(search_after: SortKey | None) -> Search: - if search_after is None: - return request - else: - return request.extra(search_after=search_after) - - return self._paginate_hits(request_factory) - - -class JSONLVerbatimManifestGenerator(PagedManifestGenerator, - VerbatimManifestGenerator): - - @property - def content_type(self) -> str: - return 'application/jsonl' - - @classmethod - def file_name_extension(cls) -> str: - return 'jsonl' - - @classmethod - def format(cls) -> ManifestFormat: - return ManifestFormat.verbatim_jsonl - - @property - def source_id_field(self) -> str: - return self.metadata_plugin.special_fields.source_id - - def source_ids(self) -> list[str]: - # Currently, we process each source that might be included in the - # manifest. This can be very inefficient since many partitions may be - # empty for small manifests. A potential optimization is to use a terms - # aggregation to query for the set of nonempty sources before - # processing any hits. - - # It's possible that inaccessible sources are included in the explicit - # sources. If they are, an exception will be raised when the filters are - # reified, so it's safe to skip that check here. - try: - source_filter = self.filters.explicit[self.source_id_field] - except KeyError: - sources = self.filters.source_ids - else: - sources = source_filter['is'] - return sorted(sources) - - def write_page_to(self, - partition: ManifestPartition, - output: IO[str] - ) -> ManifestPartition: - # All replicas from each source must be held in memory simultaneously to - # avoid emitting duplicates. Therefore, each "page" of this manifest - # must retrieve every replica from a given source, using multiple paged - # requests to ElasticSearch if necessary. - source_ids = self.source_ids() - source_id = source_ids[partition.page_index] - log.info('Listing replicas from source %r for manifest page %d', - source_id, partition.page_index) - partition_filter = {self.source_id_field: {'is': [source_id]}} - original_filters = self.filters - try: - self.filters = original_filters.update(partition_filter) - replicas = self._list_replicas() - for replica in replicas: - entry = { - 'value': replica['contents'], - 'type': replica['replica_type'] - } - json.dump(entry, output) - output.write('\n') - finally: - self.filters = original_filters - last_page = len(source_ids) - 1 - if partition.page_index < last_page: - return partition.next_page(file_name=None, search_after=None) - elif partition.page_index == last_page: - return partition.last_page() - else: - assert False, (partition, source_ids) - - -class PFBVerbatimManifestGenerator(FileBasedManifestGenerator, - VerbatimManifestGenerator): - - @property - def content_type(self) -> str: - return 'application/octet-stream' - - @classmethod - def file_name_extension(cls): - return 'avro' - - @classmethod - def format(cls) -> ManifestFormat: - return ManifestFormat.verbatim_pfb - - def _include_relations(self, replica: JSON) -> bool: - # Terra will reject the handover if the manifest includes - # dangling relations, i.e., if any entity references another - # entity that isn't included in the manifest. There are three - # known cases where dangling relations can occur (note that - # currently only the AnVIL plugins support adding relations - # to the manifest): - # - # 1. If an entity occurs in both a replica bundle and a primary - # bundle, but only the replica bundle is indexed, its - # referenced entities may be missing from the index (and - # consequently from the manifest). This can only occur when - # the deployment is configured to index snapshots using a - # common prefix. See - # https://github.com/DataBiosphere/azul/issues/6843 - # - # 2. When using a filter that matches some but not all of the - # files derived from a particular activity, the activity will - # be left with dangling relations to the derived files that - # didn't match the filter. - # - # 3. The `anvil_assayactivity` table includes a foreign key into - # the `anvil_antibody` table. We only index replicas from the - # latter as orphans, so replicas from the former can include - # dangling relations when orphans are not included. - # See https://github.com/DataBiosphere/azul/issues/4440 - # - # (1) can only occur when orphans are included, and (2) and (3) - # can only occur when orphans are *not* included. - # - prefix = SourceSpec.parse_prefix_only(replica['source']['spec']) - return ( - config.enable_verbatim_relations - and self.include_orphans - and not prefix.common - ) - - def create_file(self) -> tuple[str, str | None]: - replicas = list(self._list_replicas()) - plugin = self.metadata_plugin - replica_schemas = plugin.verbatim_pfb_schema(replicas) - # Ensure field order is consistent for unit tests - replica_schemas.sort(key=itemgetter('name')) - links = { - replica_type: plugin.verbatim_pfb_links(replica_type) - for replica_type in ([s['name'] for s in replica_schemas]) - } - pfb_metadata_entity = avro_pfb.pfb_metadata_entity(links) - pfb_schema = avro_pfb.avro_pfb_schema(replica_schemas) - - def pfb_entities(): - yield pfb_metadata_entity - for replica in replicas: - id = plugin.verbatim_pfb_entity_id(replica) - entity = avro_pfb.PFBEntity.for_replica(id, dict(replica)) - # The inclusion of relations is determined on a case-by-case - # basis for each replica, which may result in inconsistent - # expression of relations across rows in the same manifest. - # We chose this approach because scanning all replicas in - # advance would present another obstacle to our goal of - # parallelizing the manifest generation. - if self._include_relations(replica): - relations = plugin.verbatim_pfb_relations(replica) - entity_relations = [ - PFBRelation(dst_name=replica_type, dst_id=entity_id) - for replica_type, entity_id in relations - ] - else: - entity_relations = [] - yield entity.to_json(entity_relations) - - fd, path = mkstemp(suffix=f'.{self.file_name_extension()}') - os.close(fd) - avro_pfb.write_pfb_entities(pfb_entities(), pfb_schema, path) - return path, None diff --git a/src/azul/service/repository_controller.py b/src/azul/service/repository_controller.py deleted file mode 100644 index 5bf7d88e06..0000000000 --- a/src/azul/service/repository_controller.py +++ /dev/null @@ -1,441 +0,0 @@ -from collections.abc import ( - Mapping, - Sequence, -) -import json -import logging -import time -from typing import ( - Any, - Callable, - cast, -) - -import attr -import attrs -from chalice import ( - BadRequestError, - NotFoundError, - TooManyRequestsError, -) - -from azul import ( - CatalogName, - R, - cache, - cached_property, - config, -) -from azul.auth import ( - Authentication, -) -from azul.chalice import ( - ServiceUnavailableError, -) -from azul.collections import ( - adict, -) -from azul.http import ( - LimitedTimeoutException, - TooManyRequestsException, -) -from azul.indexer.field import ( - FieldType, - pass_thru_bool, -) -from azul.indexer.mirror_service import ( - BaseMirrorService, - MirrorFileDownload, -) -from azul.plugins import ( - File, - RepositoryPlugin, -) -from azul.service import ( - BadArgumentException, -) -from azul.service.app_controller import ( - Mandatory, - validate_catalog, - validate_params, -) -from azul.service.elasticsearch_service import ( - IndexNotFoundError, - Pagination, -) -from azul.service.repository_service import ( - EntityNotFoundError, - RepositoryService, -) -from azul.service.source_controller import ( - SourceController, -) -from azul.types import ( - JSON, - is_optional, -) -from azul.uuids import ( - InvalidUUIDError, -) - -log = logging.getLogger(__name__) - - -class RepositoryController(SourceController): - - @cached_property - def service(self) -> RepositoryService: - return RepositoryService() - - @cache - def mirror_service(self, catalog: CatalogName) -> BaseMirrorService: - return BaseMirrorService(catalog=catalog) - - @cache - def repository_plugin(self, catalog: CatalogName) -> RepositoryPlugin: - return RepositoryPlugin.load(catalog).create(catalog) - - def search(self, - *, - catalog: CatalogName, - entity_type: str, - item_id: str | None, - filters: str | None, - pagination: Pagination, - authentication: Authentication - ) -> JSON: - filters = self.get_filters(catalog, authentication, filters) - try: - response = self.service.search(catalog=catalog, - entity_type=entity_type, - file_url_func=self.file_url_func, - item_id=item_id, - filters=filters, - pagination=pagination) - except (BadArgumentException, InvalidUUIDError) as e: - raise BadRequestError(e) - except (EntityNotFoundError, IndexNotFoundError) as e: - raise NotFoundError(e) - return cast(JSON, response) - - def summary(self, - *, - catalog: CatalogName, - filters: str, - authentication: Authentication - ) -> JSON: - filters = self.get_filters(catalog, authentication, filters) - try: - response = self.service.summary(catalog, filters) - except BadArgumentException as e: - raise BadRequestError(e) - return cast(JSON, response) - - def _parse_range_request_header(self, - range_specifier: str - ) -> Sequence[tuple[int | None, int | None]]: - """ - >>> # noinspection PyTypeChecker - >>> rc = RepositoryController(app=None, file_url_func=None) - >>> rc._parse_range_request_header('bytes=100-200,300-400') - [(100, 200), (300, 400)] - - >>> rc._parse_range_request_header('bytes=-100') - [(None, 100)] - - >>> rc._parse_range_request_header('bytes=100-') - [(100, None)] - - >>> rc._parse_range_request_header('foo=100') - [] - - >>> rc._parse_range_request_header('') - Traceback (most recent call last): - ... - chalice.app.BadRequestError: Invalid range specifier '' - - >>> rc._parse_range_request_header('100-200') - Traceback (most recent call last): - ... - chalice.app.BadRequestError: Invalid range specifier '100-200' - - >>> rc._parse_range_request_header('bytes=') - Traceback (most recent call last): - ... - chalice.app.BadRequestError: Invalid range specifier 'bytes=' - - >>> rc._parse_range_request_header('bytes=100') - Traceback (most recent call last): - ... - chalice.app.BadRequestError: Invalid range specifier 'bytes=100' - - >>> rc._parse_range_request_header('bytes=-') - Traceback (most recent call last): - ... - chalice.app.BadRequestError: Invalid range specifier 'bytes=-' - - >>> rc._parse_range_request_header('bytes=--') - Traceback (most recent call last): - ... - chalice.app.BadRequestError: Invalid range specifier 'bytes=--' - """ - - def to_int_or_none(value: str) -> int | None: - return None if value == '' else int(value) - - parsed_ranges = [] - try: - unit, ranges = range_specifier.split('=') - if unit == 'bytes': - for range_spec in ranges.split(','): - start, end = range_spec.split('-') - assert start != '' or end != '', R('Empty range') - parsed_ranges.append((to_int_or_none(start), to_int_or_none(end))) - else: - assert unit != '', R('Empty range unit') - except Exception as e: - raise BadRequestError(f'Invalid range specifier {range_specifier!r}') from e - return parsed_ranges - - def download_file(self, - catalog: CatalogName, - fetch: bool, - file_uuid: str, - query_params: Mapping[str, str], - headers: Mapping[str, str], - authentication: Authentication | None - ): - - # Check the catalog in a separate step so that the plugins can be loaded - # safely, since doing so requires a valid catalog. We need the metadata - # plugin to know which file parameters to expect, and the repository - # plugin to validate the file version. - validate_params(query_params, - catalog=validate_catalog, - requestIndex=int, - allow_extra_params=True) - - request_index = int(query_params.get('requestIndex', '0')) - - validate_params(query_params, - catalog=str, - requestIndex=int, - wait=self._validate_wait, - replica=self._validate_replica, - token=str, - **self._file_param_validators(catalog, request_index)) - - file_version = query_params.get('version') - replica = query_params.get('replica') - file_name = query_params.get('fileName') - drs_uri = query_params.get('drsUri') - wait = query_params.get('wait') - token = query_params.get('token') - - if request_index == 0: - file = self.service.get_data_file(catalog=catalog, - file_uuid=file_uuid, - file_version=file_version, - filters=self.get_filters(catalog, authentication, None)) - if file is None: - raise NotFoundError(f'Unable to find file {file_uuid!r}, ' - f'version {file_version!r} in catalog {catalog!r}') - file = attr.evolve(file, **adict(name=file_name, drs_uri=drs_uri)) - else: - file = self._file_from_request(catalog, file_uuid, query_params) - - try: - range_specifier = headers['range'] - except KeyError: - pass - else: - requested_range = self._parse_range_request_header(range_specifier) - if requested_range == [(file.size, None)]: - # Due to https://github.com/curl/curl/issues/10521 which causes - # curl below 8.5.0 to fail when getting a 416 response for an - # attempt to resume a previously completed file download, - # instead, we return a 206 along with a `Content-Range` header, - # which has been confirmed to work for all curl versions tested - # (7.71.1 through 8.12.1). - return { - 'Status': 206, - 'Content-Length': 0, - 'Content-Range': f'bytes */{file.size}' - } - - plugin = self.repository_plugin(catalog) - - if config.enable_mirroring: - mirror_service = self.mirror_service(catalog) - is_mirrored = mirror_service.info_exists(file) - else: - mirror_service, is_mirrored = None, False - if is_mirrored: - # The file's content type would be None on subsequent requests since - # it isn't propagated via a query parameter. `MirrorFileDownload` - # will always be ready immediately. - assert request_index == 0, request_index - download = MirrorFileDownload( - file=file, - location=mirror_service.get_mirror_url(file), - replica=replica, - token=token - ) - assert download.retry_after is None, download - else: - download_cls = plugin.file_download_class() - download = download_cls(file=file, replica=replica, token=token) - - try: - download.update(plugin, authentication) - except LimitedTimeoutException as e: - raise ServiceUnavailableError(*e.args) - except TooManyRequestsException as e: - raise TooManyRequestsError(*e.args) - if download.retry_after is not None: - retry_after = min(download.retry_after, int(1.3 ** request_index)) - if wait is not None: - if wait == '0': - pass - elif wait == '1': - # Sleep in the lambda but ensure that we wake up before it - # runs out of execution time (and before API Gateway times - # out) so we get a chance to return a response to the client - remaining_time = self.lambda_context.get_remaining_time_in_millis() / 1000 - server_side_sleep = min(float(retry_after), - remaining_time - config.api_gateway_timeout_padding - 3) - time.sleep(server_side_sleep) - retry_after = round(retry_after - server_side_sleep) - else: - assert False, wait - query_params = self._file_to_request(download.file) | adict( - token=download.token, - replica=download.replica, - requestIndex=request_index + 1, - wait=wait - ) - return { - 'Status': 301, - **({'Retry-After': retry_after} if retry_after else {}), - 'Location': str(self.file_url_func(catalog=catalog, - file_uuid=file_uuid, - fetch=fetch, - **query_params)) - } - elif download.location is not None: - log_data = { - **file.to_json(), - 'catalog': catalog, - 'fetch': fetch, - **{ - k: headers.get(k) - for k in ('range', 'host', 'user-agent', 'x-forwarded-for') - } - } - log.info('Download of %s file %s', - 'mirrored' if is_mirrored else 'repository', - json.dumps(log_data)) - return { - 'Status': 302, - 'Location': download.location - } - else: - assert download.file.drs_uri is None, download - raise NotFoundError(f'File {file_uuid!r} with version {file_version!r} ' - f'was found in catalog {catalog!r}, however no download is currently available') - - @cache - def field_types(self, catalog: CatalogName) -> Mapping[str, FieldType]: - """ - Returns the field type for each supported sort and filter field, using - the name of the field as provided by clients. - """ - result = {} - plugin = self.service.metadata_plugin(catalog) - for field, path in plugin.field_mapping.items(): - field_type = self.service.field_type(catalog, path) - if isinstance(field_type, FieldType): - result[field] = field_type - # This field is a synthetic element of the response and will never be - # null. Including it here helps to streamline request validation. - accessible = plugin.special_fields.accessible - assert accessible not in result, result - result[accessible] = pass_thru_bool - return result - - def _validate_wait(self, wait: str | None): - if wait not in ('0', '1', None): - raise ValueError - - def _validate_replica(self, replica: str): - if replica not in ('aws', 'gcp'): - raise ValueError - - def _file_param_validators(self, - catalog: CatalogName, - request_index: int - ) -> dict[str, Callable[[Any], Any]]: - all_file_validators = dict( - version=self.repository_plugin(catalog).validate_version, - fileName=str, - drsUri=str, - sha256=str, - md5=str - ) - result = {} - for a in attrs.fields(self._file_class(catalog)): - try: - param_name = self._file_params_by_field[a.name] - except KeyError: - assert a.name == 'uuid' or is_optional(a.type), a - else: - validator = all_file_validators[param_name] - if request_index > 0 and not is_optional(a.type): - validator = Mandatory(validator) - result[param_name] = validator - return result - - def _file_from_request(self, - catalog: CatalogName, - uuid: str, - params: Mapping[str, str] - ) -> File: - file_class = self._file_class(catalog) - fields = {} - for a in attrs.fields(file_class): - if a.name == 'uuid': - value = uuid - else: - try: - # A KeyError here means we do not support passing the field as a query parameter - param_name = self._file_params_by_field[a.name] - # A KeyError here means we do support it, but no parameter was provided - value = params[param_name] - except KeyError: - assert is_optional(a.type), a - value = None - fields[a.name] = value - return file_class.from_json(fields) - - def _file_to_request(self, file: File) -> dict[str, str]: - params = {} - for a in attrs.fields(type(file)): - if a.name != 'uuid': - value = getattr(file, a.name) - param_name = self._file_params_by_field.get(a.name) - if param_name is None or not isinstance(value, str): - assert is_optional(a.type), (a.name, file) - else: - params[param_name] = value - return params - - _file_params_by_field = { - 'version': 'version', - 'name': 'fileName', - 'drs_uri': 'drsUri', - 'sha256': 'sha256', - 'md5': 'md5' - } - - def _file_class(self, catalog: CatalogName) -> type[File]: - return self.service.metadata_plugin(catalog).file_class diff --git a/src/azul/service/repository_service.py b/src/azul/service/repository_service.py deleted file mode 100644 index eb20e0a2da..0000000000 --- a/src/azul/service/repository_service.py +++ /dev/null @@ -1,381 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from collections.abc import ( - Mapping, - Sequence, -) -from concurrent.futures import ( - ThreadPoolExecutor, -) -import json -import logging -from typing import ( - TYPE_CHECKING, -) - -from more_itertools import ( - first, - one, -) -import opensearchpy -from opensearchpy import ( - Search, -) -from opensearchpy.helpers.response import ( - Hit, -) - -from azul import ( - CatalogName, - cache, - config, -) -from azul.plugins import ( - File, - RepositoryPlugin, - dotted, -) -from azul.service import ( - BadArgumentException, - FileUrlFunc, - Filters, -) -from azul.service.elasticsearch_service import ( - ElasticsearchService, - ElasticsearchStage, - IndexNotFoundError, - Pagination, - PaginationStage, - ResponseTriple, - ToDictStage, - _ElasticsearchStage, -) -from azul.types import ( - AnyMutableJSON, - JSON, - MutableJSON, -) -from azul.uuids import ( - validate_uuid, -) - -log = logging.getLogger(__name__) - - -class EntityNotFoundError(Exception): - - def __init__(self, entity_type: str, entity_id: str): - super().__init__(f"Can't find an entity in {entity_type} with an uuid, {entity_id}.") - - -class SearchResponseStage(_ElasticsearchStage[ResponseTriple, MutableJSON], - metaclass=ABCMeta): - - def prepare_request(self, request: Search) -> Search: - return request - - -class SummaryResponseStage(ElasticsearchStage[JSON, MutableJSON], - metaclass=ABCMeta): - - @property - @abstractmethod - def aggs_by_authority(self) -> Mapping[str, Sequence[str]]: - raise NotImplementedError - - def prepare_request(self, request: Search) -> Search: - return request - - -class RepositoryService(ElasticsearchService): - - @cache - def repository_plugin(self, catalog: CatalogName) -> RepositoryPlugin: - return RepositoryPlugin.load(catalog).create(catalog) - - def search(self, - *, - catalog: CatalogName, - entity_type: str, - file_url_func: FileUrlFunc, - item_id: str | None, - filters: Filters, - pagination: Pagination - ) -> MutableJSON: - """ - Returns data for a particular entity type of single item. - :param catalog: The name of the catalog to query - :param entity_type: Which index to search (i.e. 'projects', 'specimens', etc.) - :param pagination: A dictionary with pagination information as return from `_get_pagination()` - :param filters: parsed JSON filters from the request - :param item_id: If item_id is specified, only a single item is searched for - :param file_url_func: A function that is used only when getting a *list* of files data. - It creates the files URL based on info from the request. It should have the type - signature `(uuid: str, **params) -> str` - :return: The Elasticsearch JSON response - """ - if item_id is not None: - validate_uuid(item_id) - filters = filters.update({'entryId': {'is': [item_id]}}) - - response = self._search(catalog=catalog, - filters=filters, - pagination=pagination, - aggregate=item_id is None, - entity_type=entity_type) - - special_fields = self.metadata_plugin(catalog).special_fields - for hit in response['hits']: - entity = one(hit[entity_type]) - source_id = one(hit['sources'])[special_fields.source_id] - entity[special_fields.accessible] = source_id in filters.source_ids - - def inject_file_urls(node: AnyMutableJSON, *path: str) -> None: - if node is None: - pass - elif isinstance(node, (str, int, float, bool)): - pass - elif isinstance(node, list): - for child in node: - inject_file_urls(child, *path) - elif isinstance(node, dict): - if path: - try: - next_node = node[path[0]] - except KeyError: - # Not all node trees will match the given path. (e.g. a - # response from the 'files' index won't have a - # 'matrices' in its 'hits[].projects' inner entities. - pass - else: - inject_file_urls(next_node, *path[1:]) - else: - try: - version = node['version'] - uuid = node['uuid'] - drs_uri = node['drs_uri'] - except KeyError: - for child in node.values(): - inject_file_urls(child, *path) - else: - plugin = self.repository_plugin(catalog) - if drs_uri is None and plugin.file_download_class().needs_drs_uri: - node['url'] = None - else: - node['url'] = str(file_url_func(catalog=catalog, - fetch=False, - file_uuid=uuid, - version=version)) - else: - assert False - - inject_file_urls(response['hits'], 'projects', 'contributedAnalyses') - inject_file_urls(response['hits'], 'projects', 'matrices') - inject_file_urls(response['hits'], 'files') - - if item_id is not None: - response = one(response['hits'], too_short=EntityNotFoundError(entity_type, item_id)) - return response - - def _search(self, - *, - catalog: CatalogName, - entity_type: str, - aggregate: bool, - filters: Filters, - pagination: Pagination - ) -> MutableJSON: - """ - This function does the whole transformation process. It takes the path - of the config file, the filters, and pagination, if any. Excluding - filters will do a match_all request. Excluding pagination will exclude - pagination from the output. - - :param catalog: The name of the catalog to query - - :param entity_type: the string referring to the entity type used to get - the ElasticSearch index to search - - :param aggregate: Whether to perform the aggregation stage or not. - - :param filters: Filter parameter from the API to be used in the query. - - :param pagination: Pagination to be used for the API - - :return: Returns the transformed request - """ - plugin = self.metadata_plugin(catalog) - field_mapping = plugin.field_mapping - - for facet in filters.explicit.keys(): - if facet != plugin.special_fields.accessible and facet not in field_mapping: - raise BadArgumentException(f'Unable to filter by undefined facet {facet}.') - - facet = pagination.sort - if facet not in field_mapping: - raise BadArgumentException(f'Unable to sort by undefined facet {facet}.') - - chain = self.create_chain(catalog=catalog, - entity_type=entity_type, - filters=filters, - post_filter=True, - document_slice=None) - - chain = ToDictStage(service=self, - catalog=catalog, - entity_type=entity_type).wrap(chain) - - if aggregate: - chain = plugin.aggregation_stage.create_and_wrap(chain) - - chain = PaginationStage(service=self, - catalog=catalog, - entity_type=entity_type, - pagination=pagination, - peek_ahead=True, - filters=filters).wrap(chain) - - response_stage_cls = plugin.search_response_stage - if TYPE_CHECKING: # work around https://youtrack.jetbrains.com/issue/PY-44728 - response_stage_cls = SearchResponseStage - chain = response_stage_cls(service=self, - catalog=catalog, - entity_type=entity_type).wrap(chain) - - request = self.create_request(catalog, entity_type) - request = chain.prepare_request(request) - try: - response = request.execute(ignore_cache=True) - except opensearchpy.NotFoundError as e: - raise IndexNotFoundError(e.info['error']['index']) - response = chain.process_response(response) - return response - - def summary(self, - catalog: CatalogName, - filters: Filters - ) -> MutableJSON: - # FIXME: Due to the fact that we run multiple requests in parallel each - # in a separate chain, and the resulting need to multiplex the - # responses, the response stage is not part of any chain. - # https://github.com/DataBiosphere/azul/issues/4128 - plugin = self.metadata_plugin(catalog) - response_stage = plugin.summary_response_stage() - - aggs_by_authority = response_stage.aggs_by_authority - - def summary(entity_type): - return entity_type, self._summary(catalog=catalog, - entity_type=entity_type, - filters=filters) - - with ThreadPoolExecutor(max_workers=len(aggs_by_authority)) as executor: - aggs = dict(executor.map(summary, aggs_by_authority)) - - aggs = { - agg_name: aggs[entity_type][agg_name] - for entity_type, summary_fields in aggs_by_authority.items() - for agg_name in summary_fields - } - - response = response_stage.process_response(aggs) - return response - - def _summary(self, - *, - catalog: CatalogName, - entity_type: str, - filters: Filters - ) -> MutableJSON: - plugin = self.metadata_plugin(catalog) - chain = self.create_chain(catalog=catalog, - entity_type=entity_type, - filters=filters, - post_filter=False, - document_slice=None) - chain = ToDictStage(service=self, - catalog=catalog, - entity_type=entity_type).wrap(chain) - chain = plugin.summary_aggregation_stage.create_and_wrap(chain) - request = chain.prepare_request(self.create_request(catalog, entity_type)) - - response = request.execute(ignore_cache=True) - assert len(response.hits) == 0 - - if config.debug == 2 and log.isEnabledFor(logging.DEBUG): - log.debug('Elasticsearch request: %s', json.dumps(request.to_dict(), indent=4)) - - result = chain.process_response(response) - - return result - - def get_data_file(self, - catalog: CatalogName, - file_uuid: str, - file_version: str | None, - filters: Filters, - ) -> File | None: - """ - Return the inner `files` entity describing the data file with the - given UUID and version. - - :param catalog: the catalog to search in - - :param file_uuid: the UUID of the data file - - :param file_version: the version of the data file, if absent the most - recent version will be returned - - :param filters: parsed filters from the request - - :return: The inner `files` entity or None if the catalog does not - contain information about the specified data file - """ - filters = filters.update({ - 'fileId': {'is': [file_uuid]}, - **( - {'fileVersion': {'is': [file_version]}} - if file_version is not None else - {} - ) - }) - - def _hit_to_doc(hit: Hit) -> JSON: - return self.translate_fields(catalog, hit.to_dict(), forward=False) - - entity_type = 'files' - chain = self.create_chain(catalog=catalog, - entity_type=entity_type, - filters=filters, - post_filter=False, - document_slice=None) - request = self.create_request(catalog, entity_type) - request = chain.prepare_request(request) - - plugin = self.metadata_plugin(catalog) - if file_version is None: - field_path = dotted(plugin.field_mapping['fileVersion']) - request.sort({field_path: dict(order='desc')}) - - # Just need two hits to detect an ambiguous response - request.params(size=2) - - hits = list(map(_hit_to_doc, request.execute().hits)) - - if len(hits) == 0: - return None - elif len(hits) > 1: - # Can't have more than one hit with the same version - assert file_version is None, len(hits) - - file = one(first(hits)['contents']['files']) - file = plugin.file_class.from_hit(file) - if file_version is not None: - assert file_version == file.version - return file - - @property - def always_limit_access(self) -> bool: - return False diff --git a/src/azul/service/source_controller.py b/src/azul/service/source_controller.py deleted file mode 100644 index d8160eaa44..0000000000 --- a/src/azul/service/source_controller.py +++ /dev/null @@ -1,94 +0,0 @@ -import logging - -from chalice import ( - TooManyRequestsError, - UnauthorizedError, -) - -from azul import ( - CatalogName, - cached_property, -) -from azul.auth import ( - Authentication, -) -from azul.chalice import ( - BadGatewayError, - ServiceUnavailableError, -) -from azul.http import ( - LimitedTimeoutException, - TooManyRequestsException, -) -from azul.service import ( - Filters, -) -from azul.service.app_controller import ( - ServiceAppController, -) -from azul.service.source_service import ( - SourceService, -) -from azul.types import ( - JSONs, -) - -log = logging.getLogger(__name__) - - -class SourceController(ServiceAppController): - - @cached_property - def _source_service(self) -> SourceService: - return SourceService() - - def list_sources(self, - catalog: CatalogName, - authentication: Authentication | None - ) -> JSONs: - try: - sources = self._source_service.list_sources(catalog, authentication) - except PermissionError: - raise UnauthorizedError - except LimitedTimeoutException as e: - raise ServiceUnavailableError(*e.args) - except TooManyRequestsException as e: - raise TooManyRequestsError(*e.args) - else: - authoritative_source_ids = {source.id for source in sources} - cached_source_ids = self._list_source_ids(catalog, authentication) - # For optimized performance, the cache may include source IDs that - # are accessible but are not configured for indexing. Therefore, we - # expect the set of actual sources to be a subset of the cached - # sources. - diff = authoritative_source_ids - cached_source_ids - if diff: - log.debug(diff) - raise BadGatewayError('Inconsistent response from repository') - return [ - {'sourceId': source.id, 'sourceSpec': str(source.spec)} - for source in sources - ] - - def _list_source_ids(self, - catalog: CatalogName, - authentication: Authentication | None - ) -> set[str]: - try: - source_ids = self._source_service.list_source_ids(catalog, authentication) - except PermissionError: - raise UnauthorizedError - except LimitedTimeoutException as e: - raise ServiceUnavailableError(*e.args) - except TooManyRequestsException as e: - raise TooManyRequestsError(*e.args) - else: - return source_ids - - def get_filters(self, - catalog: CatalogName, - authentication: Authentication | None, - filters: str | None = None - ) -> Filters: - return Filters(explicit=self._parse_filters(filters), - source_ids=self._list_source_ids(catalog, authentication)) diff --git a/src/azul/service/source_service.py b/src/azul/service/source_service.py deleted file mode 100644 index cd3c88ed6f..0000000000 --- a/src/azul/service/source_service.py +++ /dev/null @@ -1,123 +0,0 @@ -import json -import logging -from time import ( - time, -) -from typing import ( - Iterable, -) - -from azul import ( - CatalogName, - cache, - config, -) -from azul.auth import ( - Authentication, -) -from azul.deployment import ( - aws, -) -from azul.indexer import ( - SourceRef, -) -from azul.plugins import ( - RepositoryPlugin, -) -from azul.types import ( - AnyJSON, -) - -log = logging.getLogger(__name__) - - -class CacheMiss(Exception): - pass - - -class NotFound(CacheMiss): - - def __init__(self, key: str): - super().__init__(f'Key not found: {key!r}') - - -class Expired(CacheMiss): - - def __init__(self, key: str): - super().__init__(f'Entry for key {key!r} is expired') - - -class SourceService: - - @cache - def _repository_plugin(self, catalog: CatalogName) -> RepositoryPlugin: - return RepositoryPlugin.load(catalog).create(catalog) - - def list_source_ids(self, - catalog: CatalogName, - authentication: Authentication | None - ) -> set[str]: - plugin = self._repository_plugin(catalog) - - cache_key = ( - catalog, - '' if authentication is None else authentication.identity() - ) - joiner = ':' - assert not any(joiner in c for c in cache_key), cache_key - cache_key = joiner.join(cache_key) - try: - source_ids = set(self._get(cache_key)) - except CacheMiss: - source_ids = plugin.list_source_ids(authentication) - self._put(cache_key, list(source_ids)) - return source_ids - - def list_sources(self, - catalog: CatalogName, - authentication: Authentication | None - ) -> Iterable[SourceRef]: - return self._repository_plugin(catalog).list_sources(authentication) - - table_name = config.dynamo_sources_cache_table_name - - key_attribute = 'identity' - value_attribute = 'sources' - ttl_attribute = 'expiration' - - # Timespan in seconds that sources persist in the cache - expiration = 60 - - @property - def _dynamodb(self): - return aws.dynamodb - - def _get(self, key: str) -> list[AnyJSON]: - response = self._dynamodb.get_item(TableName=self.table_name, - Key={self.key_attribute: {'S': key}}, - ProjectionExpression=','.join([self.value_attribute, self.ttl_attribute])) - try: - result = response['Item'] - except KeyError: - raise NotFound(key) - else: - # Items can persist in DynamoDB after they are marked as expired - # https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/howitworks-ttl.html - if int(result[self.ttl_attribute]['N']) < self._now(): - raise Expired(key) - else: - return json.loads(result[self.value_attribute]['S']) - - def _put(self, key: str, sources: list[AnyJSON]) -> None: - item = { - self.key_attribute: {'S': key}, - self.value_attribute: {'S': json.dumps(sources)}, - self.ttl_attribute: { - 'N': str(self._now() + self.expiration) - } - } - self._dynamodb.put_item(TableName=self.table_name, - Item=item) - - def _now(self) -> int: - return int(time()) diff --git a/src/azul/service/storage_service.py b/src/azul/service/storage_service.py deleted file mode 100644 index ad9f1822f0..0000000000 --- a/src/azul/service/storage_service.py +++ /dev/null @@ -1,372 +0,0 @@ -from __future__ import ( - annotations, -) - -from collections.abc import ( - Mapping, - Sequence, -) -from dataclasses import ( - dataclass, -) -from datetime import ( - datetime, - timedelta, - timezone, -) -from email.utils import ( - parsedate_to_datetime, -) -from logging import ( - getLogger, -) -import time -from typing import ( - Collection, - IO, - TYPE_CHECKING, -) -from urllib.parse import ( - urlencode, -) - -import botocore -import botocore.exceptions -from botocore.response import ( - StreamingBody, -) -from more_itertools import ( - chunked, -) -from werkzeug.http import ( - parse_dict_header, -) - -from azul import ( - R, -) -from azul.collections import ( - OrderedSet, -) -from azul.deployment import ( - aws, -) - -if TYPE_CHECKING: - from mypy_boto3_s3.client import ( - S3Client, - ) - from mypy_boto3_s3.service_resource import ( - MultipartUpload, - ) - from mypy_boto3_s3.type_defs import ( - HeadObjectOutputTypeDef, - ) - -log = getLogger(__name__) - -# 5 MB; see https://docs.aws.amazon.com/AmazonS3/latest/dev/qfacts.html -AWS_S3_DEFAULT_MINIMUM_PART_SIZE = 5242880 - -MULTIPART_UPLOAD_MAX_WORKERS = 4 - -# The amount of pending tasks that can be queued for execution. A value of 0 -# allows no tasks to be queued, only running tasks allowed in the thread pool. -MULTIPART_UPLOAD_MAX_PENDING_PARTS = 4 - -Tagging = Mapping[str, str] - - -class StorageObjectNotFound(Exception): - pass - - -class StorageObjectExists(Exception): - pass - - -class StorageService: - - def __init__(self, bucket_name: str | None = None): - if bucket_name is None: - bucket_name = aws.storage_bucket - self.bucket_name = bucket_name - - @property - def _s3(self) -> S3Client: - return aws.s3 - - def head(self, object_key: str) -> HeadObjectOutputTypeDef: - try: - return self._s3.head_object(Bucket=self.bucket_name, - Key=object_key) - except self._s3.exceptions.ClientError as e: - if int(e.response['Error']['Code']) == 404: - raise StorageObjectNotFound(object_key) - else: - raise e - - def get(self, object_key: str) -> bytes: - try: - response = self._s3.get_object(Bucket=self.bucket_name, - Key=object_key) - except self._s3.exceptions.NoSuchKey: - raise StorageObjectNotFound(object_key) - else: - return response['Body'].read() - - def put(self, - object_key: str, - data: bytes, - content_type: str | None = None, - tagging: Tagging | None = None, - *, - overwrite: bool = True, - **kwargs): - try: - self._s3.put_object(Bucket=self.bucket_name, - Key=object_key, - Body=data, - **self._object_creation_kwargs(content_type=content_type, - tagging=tagging, - overwrite=overwrite), - **kwargs) - except botocore.exceptions.ClientError as e: - self._handle_overwrite(e, object_key) - - def delete(self, keys: Collection[str], batch_size: int = 1000) -> None: - assert batch_size <= 1000, R('Batch size must <= 1000', batch_size) - num_keys = len(keys) - for batch in chunked(keys, batch_size): - log.debug('Deleting batch of objects: %r', batch) - self._s3.delete_objects(Bucket=self.bucket_name, - Delete={ - 'Objects': [ - {'Key': key} - for key in batch - ] - }) - log.info('Deleted %d objects overall', num_keys) - - def list(self, prefix: str) -> OrderedSet[str]: - keys, num_keys = OrderedSet(), 0 - paginator = self._s3.get_paginator('list_objects_v2') - for page in paginator.paginate(Bucket=self.bucket_name, Prefix=prefix): - contents = page.get('Contents', ()) - num_keys += len(contents) - keys.update(object['Key'] for object in contents) - assert len(keys) == num_keys, R('Got duplicate keys from S3') - return keys - - def create_multipart_upload(self, - object_key: str, - content_type: str | None = None, - tagging: Tagging | None = None) -> MultipartUpload: - kwargs = self._object_creation_kwargs(content_type=content_type, - tagging=tagging) - return self._create_multipart_upload(object_key=object_key, **kwargs) - - def _create_multipart_upload(self, *, object_key, **kwargs) -> MultipartUpload: - api_response = self._s3.create_multipart_upload(Bucket=self.bucket_name, - Key=object_key, - **kwargs) - upload_id = api_response['UploadId'] - return self.load_multipart_upload(object_key, upload_id) - - def load_multipart_upload(self, object_key, upload_id) -> MultipartUpload: - s3 = aws.s3_resource - return s3.MultipartUpload(self.bucket_name, object_key, upload_id) - - def upload_multipart_part(self, - buffer: str | bytes | IO | StreamingBody, - part_number: int, - upload: MultipartUpload - ) -> str: - return upload.Part(part_number).upload(Body=buffer)['ETag'] - - def complete_multipart_upload(self, - upload: MultipartUpload, - etags: Sequence[str], - *, - overwrite: bool = True, - ) -> None: - parts = [ - { - 'PartNumber': index + 1, - 'ETag': etag - } - for index, etag in enumerate(etags) - ] - try: - upload.complete(MultipartUpload={'Parts': parts}, - **self._object_creation_kwargs(overwrite=overwrite)) - except botocore.exceptions.ClientError as e: - self._handle_overwrite(e, upload.object_key) - - def upload(self, - file_path: str, - object_key: str, - content_type: str | None = None, - tagging: Tagging | None = None): - self._s3.upload_file(Filename=file_path, - Bucket=self.bucket_name, - Key=object_key, - ExtraArgs=self._object_creation_kwargs(content_type=content_type)) - # upload_file doesn't support tags so we need to make a separate request - # https://stackoverflow.com/a/56351011/7830612 - if tagging: - self.put_object_tagging(object_key, tagging) - - def _object_creation_kwargs(self, - *, - content_type: str | None = None, - tagging: Tagging | None = None, - overwrite: bool = True - ) -> Mapping[str, str]: - kwargs = {} - if content_type is not None: - kwargs['ContentType'] = content_type - if tagging is not None: - kwargs['Tagging'] = urlencode(tagging) - if overwrite is False: - kwargs['IfNoneMatch'] = '*' - return kwargs - - def get_presigned_url(self, - key: str, - *, - file_name: str | None = None, - content_type: str | None = None - ) -> str: - """ - Return a pre-signed URL to the given key. - - :param key: The key of the S3 object whose content a request to the - signed URL will return - - :param file_name: the file name to be returned as part of a - Content-Disposition header in the response to a - request to the signed URL. If None, no such header - will be present in the response. - - :param content_type: the value for the Content-Type header in the - response to a request to the signed URL. If None, - the value stored in the object's metadata will be - used. - """ - assert file_name is None or '"' not in file_name, file_name - return self._s3.generate_presigned_url( - ClientMethod=self._s3.get_object.__name__, - Params={ - 'Bucket': self.bucket_name, - 'Key': key, - **( - {} - if file_name is None else - {'ResponseContentDisposition': f'attachment;filename="{file_name}"'} - ), - **( - {} - if content_type is None else - {'ResponseContentType': content_type} - ) - }) - - def put_object_tagging(self, object_key: str, tagging: Tagging = None): - deadline = time.time() + 60 - tagging = {'TagSet': [{'Key': k, 'Value': v} for k, v in tagging.items()]} - log.info('Tagging object %r with %r', object_key, tagging) - while True: - try: - self._s3.put_object_tagging(Bucket=self.bucket_name, - Key=object_key, - Tagging=tagging) - except self._s3.exceptions.NoSuchKey: - if time.time() > deadline: - log.error('Unable to tag %s on object.', tagging) - raise - else: - log.warning('Object key %s is not found. Retrying in 5 s.', object_key) - time.sleep(5) - else: - break - - def get_object_tagging(self, object_key: str) -> Tagging: - response = self._s3.get_object_tagging(Bucket=self.bucket_name, Key=object_key) - tagging = {tag['Key']: tag['Value'] for tag in response['TagSet']} - return tagging - - def time_until_object_expires(self, object_key: str, expiration: int) -> float: - """ - The time, in seconds, before the object at the given key will expire. - - :param object_key: The key of the object - - :param expiration: the number of days between the last write of an - object and its expected expiration by a bucket - lifecycle rule. This parameter is solely used to - verify the return value. - """ - response = self.head(object_key) - return self._time_until_object_expires(response, expiration) - - def _time_until_object_expires(self, - head_response: HeadObjectOutputTypeDef, - expiration: int - ) -> float: - now = datetime.now(timezone.utc) - # Example header value - # expiry-date="Fri, 21 Dec 2012 00:00:00 GMT", rule-id="Rule for testfile.txt" - expiration_header = parse_dict_header(head_response['Expiration']) - expiry = parsedate_to_datetime(expiration_header['expiry-date']) - time_left = (expiry - now).total_seconds() - # Verify the 'Expiration' value is what is expected given the - # 'LastModified' value, the number of days before expiration, and that - # AWS rounds the expiration up to midnight UTC. - last_modified = head_response['LastModified'] - last_modified_floor = last_modified.replace(hour=0, - minute=0, - second=0, - microsecond=0) - if last_modified != last_modified_floor: - expiration += 1 - expected_expiry = last_modified_floor + timedelta(days=expiration) - if expiry == expected_expiry: - log.debug('Object expires in %s seconds, on %s', - time_left, expiry) - else: - log.error('Actual object expiration (%s) does not match expected value (%s)', - expiration_header, expected_expiry) - return time_left - - def _handle_overwrite(self, - exception: botocore.exceptions.ClientError, - object_key: str - ): - error = exception.response['Error'] - # `Condition` is only present when using conditional writes - code, condition = error['Code'], error.get('Condition') - if code == 'PreconditionFailed' and condition == 'If-None-Match': - raise StorageObjectExists(object_key) - else: - raise exception - - -@dataclass -class Part: - etag: str | None # If ETag is defined, the content is already pushed to S3. - part_number: int - content: bytes - - @property - def already_uploaded(self): - return self.etag is not None - - def to_dict(self): - return dict(PartNumber=self.part_number, ETag=self.etag) - - -class MultipartUploadError(RuntimeError): - - def __init__(self, bucket_name, object_key): - super(MultipartUploadError, self).__init__(f'{bucket_name}/{object_key}') diff --git a/src/azul/template/__init__.py b/src/azul/template/__init__.py deleted file mode 100644 index 1f39030b1d..0000000000 --- a/src/azul/template/__init__.py +++ /dev/null @@ -1,48 +0,0 @@ -from contextlib import ( - contextmanager, -) -import json -import os -import sys -import tempfile -from typing import ( - IO, -) - -from azul.types import ( - AnyJSON, -) - - -def emit(json_doc: AnyJSON | None): - with emit_text(remove=json_doc is None) as f: - json.dump(json_doc, f, indent=4) - - -@contextmanager -def emit_text(*, remove: bool = False): - path = sys.argv[1] - f: IO[str] - if remove: - try: - os.unlink(path) - except FileNotFoundError: - pass - else: - print(f'Removed {path}') - with open('/dev/null', 'a') as f: - yield f - else: - f = tempfile.NamedTemporaryFile(mode='w+', - dir=os.path.dirname(path), - encoding='utf-8', delete=False) - try: - yield f - except BaseException: - os.unlink(f.name) - raise - else: - print(f'Creating {path}') - os.rename(f.name, path) - finally: - f.close() diff --git a/src/azul/template/__main__.py b/src/azul/template/__main__.py deleted file mode 100644 index e32723781d..0000000000 --- a/src/azul/template/__main__.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -Usage: python -m azul.template foo.json.template.py foo.json - -Same as ``python foo.json.template.py foo.json`` but configures script logging -""" -import logging -import sys - -from azul.logging import ( - configure_script_logging, -) -from azul.modules import ( - load_module, -) - -# This module is the real __main__ -# -assert __name__ == '__main__' - -# Even though we don't directly use the logger here, we need to instantiate and -# configure it. If we called configure_script_logging() without passing the -# logger, any logger instantiated by the template script would not be considered -# an Azul logger -# -log = logging.getLogger(__name__) -configure_script_logging(log) - -# Shift the arguments so that the output file name becomes sys.argv[1] as -# expected by the emit… functions in the sibling __init__.py -# -template = sys.argv.pop(1) - -# Invoke the template script and pretend that its module name is also __main__ -# -load_module(template, __name__) diff --git a/src/azul/terra.py b/src/azul/terra.py deleted file mode 100644 index 74efa35b00..0000000000 --- a/src/azul/terra.py +++ /dev/null @@ -1,714 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from collections.abc import ( - Sequence, -) -from enum import ( - StrEnum, - auto, -) -import json -import logging -from time import ( - sleep, -) -from typing import ( - ClassVar, - Optional, - Self, -) - -import attrs -from chalice import ( - UnauthorizedError, -) -from furl import ( - furl, -) -from google.api_core.exceptions import ( - BadRequest, - Forbidden, - InternalServerError, - ServiceUnavailable, -) -from google.auth.transport.requests import ( - Request, -) -from google.cloud import ( - bigquery, -) -from google.cloud.bigquery import ( - DatasetReference, - QueryJob, - QueryJobConfig, - QueryPriority, -) -from google.cloud.bigquery.table import ( - RowIterator, -) -from more_itertools import ( - one, -) -import urllib3 -import urllib3.exceptions -import urllib3.request -import urllib3.response - -from azul import ( - Config, - R, - RequirementError, - cache, - config, - mutable_furl, - reject, - require, -) -from azul.auth import ( - OAuth2, -) -from azul.bigquery import ( - BigQueryRows, -) -from azul.deployment import ( - aws, -) -from azul.drs import ( - DRSClient, -) -from azul.http import ( - LimitedRetryHttpClient, - LimitedTimeoutException, - Propagate429HttpClient, -) -from azul.indexer import ( - SourceRef, - SourceSpec, -) -from azul.oauth2 import ( - CredentialsProvider, - OAuth2Client, - ServiceAccountCredentials, - TokenCredentials, -) -from azul.strings import ( - trunc_ellipses, -) -from azul.types import ( - JSON, - MutableJSON, - json_dict, - json_int, - json_list, - json_mapping, - json_str, -) - -log = logging.getLogger(__name__) - - -@attrs.frozen(kw_only=True) -class TDRSourceSpec(SourceSpec): - class Type(StrEnum): - bigquery = auto() - parquet = auto() - - class Domain(StrEnum): - gcp = auto() - azure = auto() - - type: Type - domain: Domain - subdomain: str - name: str - - @classmethod - def parse(cls, spec: str) -> Self: - """ - Construct an instance from its string representation, using the syntax - 'tdr:{type}:{domain}:{subdomain}:{name}:{prefix}', where prefix is - either the empty string or '{common_prefix}/{partition_prefix}'. - - >>> s = TDRSourceSpec.parse('tdr:bigquery:gcp:foo:bar:/0') - >>> s # doctest: +NORMALIZE_WHITESPACE - TDRSourceSpec(prefix=Prefix(common='', partition=0), - type=, - domain=, - subdomain='foo', - name='bar') - - >>> str(s) - 'tdr:bigquery:gcp:foo:bar:/0' - - >>> TDRSourceSpec.parse('tdr:spam:gcp:foo:bar:/0') - Traceback (most recent call last): - ... - ValueError: 'spam' is not a valid TDRSourceSpec.Type - - >>> TDRSourceSpec.parse('tdr:bigquery:eggs:foo:bar:/0') - Traceback (most recent call last): - ... - ValueError: 'eggs' is not a valid TDRSourceSpec.Domain - - If any :'s are missing, the last part will be interpreted as the prefix - - >>> TDRSourceSpec.parse('tdr:bigquery:gcp:foo:bar') - Traceback (most recent call last): - ... - ValueError: ('Missing partition prefix length', 'bar') - - >>> TDRSourceSpec.parse('tdr:bigquery:gcp:foo:bar:') - ... # doctest: +NORMALIZE_WHITESPACE - TDRSourceSpec(prefix=None, - type=, - domain=, - subdomain='foo', - name='bar') - - >>> TDRSourceSpec.parse('tdr:bigquery:gcp:foo:aaa') - Traceback (most recent call last): - ... - ValueError: ('Missing partition prefix length', 'aaa') - - >>> TDRSourceSpec.parse('tdr:bigquery:gcp:foo:bar:n32/0') - Traceback (most recent call last): - ... - azul.uuids.InvalidUUIDPrefixError: 'n32' is not a valid UUID prefix. - """ - rest, prefix = cls._parse(spec) - # BigQuery (and by extension the TDR) does not allow : or / in dataset names - service, type, domain, subdomain, name = rest.split(':') - assert service == 'tdr', service - type = cls.Type(type) - reject(type == cls.Type.parquet, 'Parquet sources are not yet supported') - domain = cls.Domain(domain) - reject(domain == cls.Domain.azure, 'Azure sources are not yet supported') - self = cls(prefix=prefix, - type=type, - domain=domain, - subdomain=subdomain, - name=name) - assert spec == str(self), spec - return self - - def __str__(self) -> str: - """ - The inverse of :meth:`parse`. - - >>> s = 'tdr:bigquery:gcp:foo:bar:/0' - >>> s == str(TDRSourceSpec.parse(s)) - True - - >>> s = 'tdr:bigquery:gcp:foo:bar:22/0' - >>> s == str(TDRSourceSpec.parse(s)) - True - - >>> s = 'tdr:bigquery:gcp:foo:bar:22/2' - >>> s == str(TDRSourceSpec.parse(s)) - True - """ - return ':'.join([ - 'tdr', - self.type.value, - self.domain.value, - self.subdomain, - self.name, - self._prefix_str - ]) - - def qualify_table(self, table_name: str) -> str: - return '.'.join((self.subdomain, self.name, table_name)) - - -class TDRSourceRef(SourceRef[TDRSourceSpec]): - pass - - -class TerraCredentialsProvider(CredentialsProvider, metaclass=ABCMeta): - - @abstractmethod - def insufficient_access(self, resource: str) -> Exception: - raise NotImplementedError - - -@attrs.frozen(kw_only=True) -class ServiceAccountCredentialsProvider(TerraCredentialsProvider): - service_account: Config.ServiceAccount - - def oauth2_scopes(self) -> Sequence[str]: - # Minimum scopes required for SAM registration - return [ - 'https://www.googleapis.com/auth/userinfo.email', - 'openid' - ] - - @cache - def scoped_credentials(self) -> ServiceAccountCredentials: - with aws.service_account_credentials(self.service_account) as file_name: - credentials = ServiceAccountCredentials.from_service_account_file(file_name) - credentials = credentials.with_scopes(self.oauth2_scopes()) - credentials.refresh(Request()) # Obtain access token - return credentials - - def insufficient_access(self, resource: str): - return RequirementError( - f'The service account (SA) {self.scoped_credentials().service_account_email!r} is not ' - f'authorized to access {resource} or that resource does not exist. Make sure ' - f'that it exists, that the SA is registered with SAM and has been granted read ' - f'access to the resource.' - ) - - -class IndexerServiceAccountCredentialsProvider(ServiceAccountCredentialsProvider): - - def oauth2_scopes(self) -> Sequence[str]: - return [ - *super().oauth2_scopes(), - 'https://www.googleapis.com/auth/devstorage.read_only', - 'https://www.googleapis.com/auth/bigquery.readonly' - ] - - -class UserCredentialsProvider(TerraCredentialsProvider): - - def __init__(self, authentication: OAuth2): - self.token = authentication.identity() - - def oauth2_scopes(self) -> Sequence[str]: - return ['https://www.googleapis.com/auth/userinfo.email'] - - @cache - def scoped_credentials(self) -> TokenCredentials: - # FIXME: this assumes the user has selected all required scopes. - return TokenCredentials(self.token, scopes=self.oauth2_scopes()) - - def insufficient_access(self, resource: str): - scopes = ', '.join(self.oauth2_scopes()) - return UnauthorizedError( - f'The current user is not authorized to access {resource} or that ' - f'resource does not exist. Make sure that it exists, that the user ' - f'is registered with Terra, that the provided access token is not ' - f'expired, and that the following access scopes were granted when ' - f'authenticating: {scopes}.' - ) - - -class TerraClientException(Exception): - pass - - -class TerraStatusException(TerraClientException): - - def __init__(self, url: furl, response: urllib3.response.HTTPResponse): - super().__init__(f'Unexpected response from {url}', - response.status, response.data) - - -class TerraNameConflictException(TerraClientException): - - def __int__(self, url: furl, source_name: str, response_json: JSON): - super().__init__(f'More than one source named {source_name!r}', - str(url), response_json) - - -class TerraConcurrentModificationException(TerraClientException): - - def __init__(self) -> None: - super().__init__('Snapshot listing changed while we were paging through it') - - -@attrs.frozen(kw_only=True) -class TerraClient(OAuth2Client): - """ - A client to a service in the Broad Institute's Terra ecosystem. - """ - credentials_provider: TerraCredentialsProvider - - def _create_http_client(self) -> urllib3.request.RequestMethods: - return Propagate429HttpClient( - LimitedRetryHttpClient( - super()._create_http_client() - ) - ) - - def _request(self, - method: str, - url: furl, - *, - headers=None, - body=None - ) -> urllib3.HTTPResponse: - response = self._http_client.request(method, - str(url), - headers=headers, - body=body) - - assert isinstance(response, urllib3.HTTPResponse) - header_name = 'WWW-Authenticate' - try: - header_value = response.headers[header_name] - except KeyError: - pass - else: - log.warning('_request(…) -> %r: %r', header_name, header_value) - return response - - -class SAMClient(TerraClient): - """ - A client to Broad's SAM (https://github.com/broadinstitute/sam). TDR uses - SAM for authorization, and SAM uses Google OAuth 2.0 for authentication. - """ - - def register_with_sam(self) -> None: - """ - Register the current service account with SAM. - - https://github.com/DataBiosphere/jade-data-repo/blob/develop/docs/register-sa-with-sam.md - """ - email = self.service_account_credentials.service_account_email - url = config.sam_service_url.set(path='/register/user/v1') - response = self._request('POST', url, body='') - if response.status == 201: - log.info('Google service account %r successfully registered with SAM.', email) - elif response.status == 409: - log.info('Google service account %r previously registered with SAM.', email) - elif response.status == 500 and b'Cannot update googleSubjectId' in response.data: - raise RuntimeError( - 'Unable to register service account. SAM does not allow re-registration of a ' - 'new service account whose name matches that of another previously registered ' - 'service account. Please refer to the troubleshooting section of the README.', - email - ) - else: - raise TerraStatusException(url, response) - - def is_registered(self) -> bool: - """ - Check whether the user or service account associated with the current - client's credentials is registered with SAM. - """ - endpoint = config.sam_service_url.set(path='/register/user/v1') - response = self._request('GET', endpoint) - auth_header = response.headers.get('WWW-Authenticate') - if response.status == 200: - return True - elif response.status == 404: - return False - elif response.status == 401 and auth_header and 'invalid_token' in auth_header: - raise PermissionError('The provided authentication is invalid') - else: - raise TerraStatusException(endpoint, response) - - def _insufficient_access(self, resource: str) -> Exception: - return self.credentials_provider.insufficient_access(resource) - - -class TDRClient(SAMClient): - """ - A client for the Broad Institute's Terra Data Repository aka "Jade". - """ - - @cache - def lookup_source(self, source_spec: TDRSourceSpec) -> str: - """ - Validate that the repository's reported values for the snapshot's Google - project name and storage location match our expectations, and return the - snapshot's UUID. - """ - source = self._lookup_source(source_spec) - actual_project = source['dataProject'] - require(actual_project == source_spec.subdomain, - 'Actual Google project of TDR source differs from configured one', - actual_project, source_spec.subdomain) - storage = one( - resource - for resource in map(json_dict, json_list(source['storage'])) - if json_str(resource['cloudResource']) == 'bigquery' - ) - actual_location = json_str(storage['region']) - # Uppercase is standard for multi-regions in the documentation but TDR - # returns 'us' in lowercase - require(actual_location.lower() == config.tdr_source_location.lower(), - 'Actual storage location of TDR source differs from configured one', - actual_location, config.tdr_source_location) - return json_str(source['id']) - - def _retrieve_source(self, source: TDRSourceRef) -> MutableJSON: - endpoint = self._repository_endpoint('snapshots', source.id) - response = self._request('GET', endpoint) - response = self._check_response(endpoint, response) - require(source.spec.name == response['name'], - 'Source name changed unexpectedly', source, response) - return response - - def _lookup_source(self, source: TDRSourceSpec) -> MutableJSON: - endpoint = self._repository_endpoint('snapshots') - endpoint.set(args=dict(filter=source.name, limit='2')) - response = self._request('GET', endpoint) - response = self._check_response(endpoint, response) - total = json_int(response['filteredTotal']) - if total == 0: - raise self._insufficient_access(str(endpoint)) - elif total == 1: - return json_dict(one(json_list(response['items']))) - else: - raise TerraNameConflictException(endpoint, source.name, response) - - def check_bigquery_access(self, source: TDRSourceSpec): - """ - Verify that the client is authorized to read from TDR BigQuery tables. - """ - resource = f'BigQuery dataset {source.name!r} in Google Cloud project {source.subdomain!r}' - try: - self.run_sql(f''' - SELECT * - FROM `{source.subdomain}.{source.name}.INFORMATION_SCHEMA.TABLES` - LIMIT 1 - ''') - except Forbidden: - raise self._insufficient_access(resource) - else: - log.info('TDR client is authorized to access tables in %s', resource) - - @cache - def _bigquery(self, project: str) -> bigquery.Client: - # We get a false warning from PyCharm here, probably because of - # - # https://youtrack.jetbrains.com/issue/PY-23400/regression-PEP484-type-annotations-in-docstrings-nearly-completely-broken - # - # Google uses the docstring syntax to annotate types in its BQ client. - # - # noinspection PyTypeChecker - return bigquery.Client(project=project, credentials=self.credentials) - - class _EmptySQLResult(Exception): - pass - - def run_sql(self, query: str) -> BigQueryRows: - bigquery = self._bigquery(self.service_account_credentials.project_id) - if log.isEnabledFor(logging.DEBUG): - log.debug('Query (%r characters total): %r', - len(query), self._trunc_query(query)) - job: QueryJob - if config.bigquery_batch_mode: - job_config = QueryJobConfig(priority=QueryPriority.BATCH) - job = bigquery.query(query, job_config=job_config) - result = job.result() - job_info = self._job_info(job, result) - else: - delays = (10, 20, 40, 80) - assert sum(delays) < config.contribution_lambda_timeout(retry=False) - for attempt, delay in enumerate((*delays, None)): - job = bigquery.query(query) - try: - result = job.result() - job_info = self._job_info(job, result) - if not self._job_has_result(job_info): - raise self._EmptySQLResult - except ( - BadRequest, - Forbidden, - InternalServerError, - ServiceUnavailable, - self._EmptySQLResult - ) as e: - if delay is None: - raise e - elif isinstance(e, Forbidden) and 'Exceeded rate limits' not in e.message: - raise e - elif (isinstance(e, BadRequest) - and 'project does not have the reservation in the data region' not in e.message): - raise e - else: - log.warning('BigQuery job error during attempt %i/%i. Retrying in %is.', - attempt + 1, len(delays) + 1, delay, exc_info=e) - sleep(delay) - else: - break - else: - assert False - if log.isEnabledFor(logging.DEBUG): - log.debug('Job info: %s', json.dumps(job_info)) - return result - - def list_tables(self, source: TDRSourceSpec) -> set[str]: - bigquery = self._bigquery(self.service_account_credentials.project_id) - ref = DatasetReference(project=source.subdomain, dataset_id=source.name) - return { - table.to_api_repr()['tableReference']['tableId'] - for table in bigquery.list_tables(ref) - } - - def _trunc_query(self, query: str) -> str: - return trunc_ellipses(query, 2048) - - def _job_info(self, job: QueryJob, result: RowIterator) -> JSON: - # noinspection PyProtectedMember - stats = job._properties['statistics']['query'] - if config.debug < 2: - ignore = ('referencedTables', 'statementType', 'queryPlan') - stats = {k: v for k, v in stats.items() if k not in ignore} - return { - 'job_id': job.job_id, - 'total_rows': result.total_rows, - 'stats': stats, - 'query': self._trunc_query(job.query) - } - - def _job_has_result(self, job_info: JSON) -> bool: - # In order to detect when a BigQuery job silently fails (i.e. returns - # no rows when there should be some), we check for an expected field in - # the jobs stats that we have observed missing in prior silent failures. - return 'totalBytesProcessed' in json_mapping(job_info['stats']) - - def _repository_endpoint(self, *path: str) -> mutable_furl: - return config.tdr_service_url.set(path=('api', 'repository', 'v1', *path)) - - def _duos_endpoint(self, *path: str) -> mutable_furl: - url = config.duos_service_url - assert url is not None - return url.set(path=('api', *path)) - - def _check_response(self, - endpoint: furl, - response: urllib3.HTTPResponse - ) -> MutableJSON: - if response.status == 200: - return json.loads(response.data) - # FIXME: Azul sometimes conflates 401 and 403 - # https://github.com/DataBiosphere/azul/issues/4463 - elif response.status in (401, 403): - raise self._insufficient_access(str(endpoint)) - else: - raise TerraStatusException(endpoint, response) - - page_size: ClassVar[int] = 1000 - - def snapshot_ids(self) -> set[str]: - """ - List the IDs of the TDR snapshots accessible to the current credentials. - Much faster than listing the snapshots' names. - """ - endpoint = self._repository_endpoint('snapshots', 'roleMap') - response = self._request('GET', endpoint) - response = self._check_response(endpoint, response) - return set(json_dict(response['roleMap']).keys()) - - def snapshot_names_by_id(self, - *, - filter: Optional[str] = None - ) -> dict[str, str]: - """ - List the TDR snapshots accessible to the current credentials. - - :param filter: Unless None, a string that must occur in the description - or name of the snapshots to be listed - """ - # For reference: https://github.com/DataBiosphere/jade-data-repo/blob - # /22ff5c57d46db42c874639e1ffa6ad833c51e29f - # /src/main/java/bio/terra/service/snapshot/SnapshotDao.java#L550 - # - # The creation of a snapshot is only one of the two ways a snapshot is - # added to the list. The other way is making an existing snapshot - # accessible. Sorting by creation date only defends against the first - # scenario, not the second. Also note that as we page through - # snapshots, a snapshot we already retrieved might be removed and - # another one added. If the added one precedes the current page, we - # won't notice at all. - # - endpoint = self._repository_endpoint('snapshots') - snapshots = {} - before = 0 - while True: - args = dict(offset=before, - limit=self.page_size, - sort='created_date', - direction='asc') - if filter is not None: - args['filter'] = filter - endpoint.set(args=args) - response = self._request('GET', endpoint) - response = self._check_response(endpoint, response) - snapshots.update({ - json_str(snapshot['id']): json_str(snapshot['name']) - for snapshot in map(json_dict, json_list(response['items'])) - }) - after = len(snapshots) - total = json_int(response['filteredTotal']) - if after == total: - break - elif after > total or after == before: - # Something is off if we got more snapshots than reported by TDR - # or if there was no progress even though we got fewer than that. - raise TerraConcurrentModificationException() - before = after - return snapshots - - @classmethod - def for_indexer(cls) -> Self: - return cls( - credentials_provider=IndexerServiceAccountCredentialsProvider( - service_account=config.ServiceAccount.indexer - ) - ) - - @classmethod - def for_anonymous_user(cls) -> Self: - return cls( - credentials_provider=ServiceAccountCredentialsProvider( - service_account=config.ServiceAccount.public - ) - ) - - @classmethod - def for_registered_user(cls, authentication: OAuth2) -> Self: - self = cls(credentials_provider=UserCredentialsProvider(authentication)) - try: - self.validate() - except AssertionError as e: - if R.caused(e): - log.warning('Invalid credentials', exc_info=e) - raise UnauthorizedError('Invalid credentials') - else: - raise - else: - return self - - def drs_client(self) -> DRSClient: - return DRSClient(http_client=self._http_client) - - def get_duos(self, - source: TDRSourceRef - ) -> tuple[str, MutableJSON] | tuple[None, None]: - """ - Return the DUOS ID and DUOS dataset registration information for the - given TDR snapshot. - """ - body = self._retrieve_source(source) - try: - duos_id = json_str(json_dict(body['duosFirecloudGroup'])['duosId']) - except (KeyError, AssertionError): - log.warning('No DUOS ID available for %r', source.spec) - return None, None - else: - url = self._duos_endpoint('dataset', 'registration', duos_id) - # FIXME: Fail on timeout instead of faking response - # https://github.com/DataBiosphere/azul/issues/7230 - try: - response = self._request('GET', url) - except LimitedTimeoutException: - body = {'studyDescription': '[Description currently not available]'} - return duos_id, body - if response.status == 404: - log.warning('No DUOS dataset registration with ID %r from %r', - duos_id, source.spec) - return None, None - else: - body = self._check_response(url, response) - consent_group = json_dict(one(json_list(body['consentGroups']))) - require(duos_id == json_str(consent_group['datasetIdentifier']), - 'Mismatched identifiers', duos_id, consent_group) - return duos_id, body diff --git a/src/azul/terraform.py b/src/azul/terraform.py deleted file mode 100644 index 8f7b67082b..0000000000 --- a/src/azul/terraform.py +++ /dev/null @@ -1,969 +0,0 @@ -from collections import ( - defaultdict, -) -from collections.abc import ( - Iterable, - Sequence, -) -import gzip -from itertools import ( - chain, -) -import json -import logging -from pathlib import ( - Path, -) -import subprocess -from typing import ( - Mapping, -) - -import attr - -from azul import ( - cache, - cached_property, - config, - require, -) -from azul.chalice import ( - AzulChaliceApp, -) -from azul.deployment import ( - aws, -) -from azul.json import ( - copy_any_json, - copy_json, -) -from azul.template import ( - emit, -) -from azul.types import ( - AnyMutableJSON, - CompositeJSON, - JSON, - JSONs, - MutableJSON, - json_composite, - json_dict, - json_element_dicts, - json_item_dicts, - json_item_mappings, - json_mapping, - json_str, - not_none, -) - -log = logging.getLogger(__name__) - - -@attr.s(auto_attribs=True, kw_only=True, frozen=True) -class TerraformSchema: - versions: JSON - document: JSON - path: Path - - @classmethod - def load(cls, path: Path): - with gzip.open(path, 'rt') as f: - doc = json.load(f) - return cls(versions=doc['versions'], - document=doc['schema'], - path=path) - - def store(self): - with gzip.open(self.path, 'wt') as f: - doc = dict(versions=self.versions, schema=self.document) - json.dump(doc, f) - - -class Terraform: - - def taggable_resource_types(self) -> set[str]: - schema = self.schema.document - version = schema['format_version'] - require(version == '1.0', 'Unexpected format version', version) - resources = chain.from_iterable( - provider['resource_schemas'].items() - for provider in schema['provider_schemas'].values() - if 'resource_schemas' in provider - ) - return { - resource_type - for resource_type, resource in resources - if 'tags' in resource['block']['attributes'] - } - - def run(self, *args: str, **kwargs) -> str: - args = ['terraform', *args] - log.info('Running %r', args) - cmd = subprocess.run(args, - check=True, - stdout=subprocess.PIPE, - text=True, - shell=False, - **kwargs) - return cmd.stdout - - def run_state_list(self) -> list[str]: - try: - stdout = self.run('state', 'list', stderr=subprocess.PIPE) - except subprocess.CalledProcessError as e: - if e.returncode == 1 and 'No state file was found' in e.stderr: - log.info('No state file was found, assuming empty list of resources.') - return [] - else: - raise - else: - return stdout.splitlines() - - schema_path = Path(config.project_root) / 'terraform' / '_schema.json.gz' - - @cached_property - def schema(self): - return TerraformSchema.load(self.schema_path) - - def update_schema(self): - schema = self.run('providers', 'schema', '-json') - schema = TerraformSchema(versions=self.versions, - document=json.loads(schema), - path=self.schema_path) - schema.store() - # Reset the cache - try: - # noinspection PyPropertyAccess - del self.schema - except AttributeError: - pass - - @cached_property - def versions(self) -> MutableJSON: - output = self.run('version', '-json') - log.info('Terraform output:\n%s', output) - versions = json.loads(output) - return { - 'terraform': versions['terraform_version'], - 'providers': versions['provider_selections'] - } - - -terraform = Terraform() -del Terraform - - -def emit_tf(config: JSON | None, *, tag_resources: bool = True) -> None: - if config is None: - emit(config) - else: - emit(_transform_tf(config, tag_resources=tag_resources)) - - -def _sanitize_tf(tf_config: CompositeJSON) -> CompositeJSON: - """ - Avoid errors like - - Error: Missing block label - - on api_gateway.tf.json line 12: - 12: "resource": [] - - At least one object property is required, whose name represents the resource - block's type. - """ - if isinstance(tf_config, Mapping): - return {k: v for k, v in tf_config.items() if v} - elif isinstance(tf_config, Sequence): - return [v for v in tf_config if v] - else: - assert False, type(tf_config) - - -def _normalize_tf(tf_config: CompositeJSON) -> Iterable[tuple[str, JSON]]: - """ - Certain levels of a Terraform JSON structure can either be a single - dictionary or a list of dictionaries. For example, these are equivalent: - - {"resource": {"": {"": {"foo": ...}}}} - {"resource": [{"": {"": {"foo": ...}}}]} - - So are these: - - {"resource": {"": {"": {"foo": ...}, "": {"bar": ...}}}} - {"resource": {"": [{"": {"foo": ...}}, {"": {"bar": ...}}]}} - - This function normalizes input to prefer the second form of both cases to - make parsing Terraform configuration simpler. It returns an iterator of the - dictionary entries in the argument, regardless which form is used. - - >>> def n(c): - ... return list(_normalize_tf(c)) - - >>> n({}) - [] - - A Singleton dict: - - >>> n({'t': {'r':{}}}) - [('t', {'r': {}})] - - A singleton list of a singleton dict: - - >>> n([{'t': {'r': {}}}]) - [('t', {'r': {}})] - - A two-entry dict: - - >>> n({"t1": {"r1": {}}, "t2": {"r2" :{}}}) - [('t1', {'r1': {}}), ('t2', {'r2': {}})] - - A two-entry list of singleton dicts: - - >>> n([{"t1": {"r1": {}}}, {"t2": {"r2": {}}}]) - [('t1', {'r1': {}}), ('t2', {'r2': {}})] - - A singleton list of a two-entry dict: - - >>> n([{"t1": {"r1": {}}, "t2": {"r2": {}}}]) - [('t1', {'r1': {}}), ('t2', {'r2': {}})] - - A two-entry list of two-entry dicts: - - >>> n([{"t1": {"r1": {}}, "t2": {"r2": {}}}, {"t1": {"r3": {}}, "t2": {"r4": {}}}]) - [('t1', {'r1': {}}), ('t2', {'r2': {}}), ('t1', {'r3': {}}), ('t2', {'r4': {}})] - """ - if isinstance(tf_config, Mapping): - return json_item_mappings(tf_config) - elif isinstance(tf_config, Sequence): - return chain.from_iterable(map(json_item_mappings, tf_config)) - else: - assert False, type(tf_config) - - -def _transform_tf(tf_config: JSON, *, tag_resources: bool = True) -> JSON: - """ - Add tags to all taggable resources and change the `name` tag to `Name` - for tagged AWS resources. - """ - taggable_types = terraform.taggable_resource_types() if tag_resources else {} - return json_mapping(_sanitize_tf({ - block_name: _sanitize_tf([ - _sanitize_tf({ - resource_type: _sanitize_tf([ - { - resource_name: { - **resource, - **( - _tagged_resource(resource_type, resource_name, resource) - if block_name == 'resource' and resource_type in taggable_types else - {} - ) - } - } - for resource_name, resource in _normalize_tf(json_composite(resources)) - ]) - }) - for resource_type, resources in _normalize_tf(json_composite(block)) - ]) - if block_name in {'data', 'resource'} else - block - for block_name, block in tf_config.items() - })) - - -def _tagged_resource(resource_type: str, resource_name: str, resource: JSON) -> JSON: - tags = json_mapping(resource.get('tags', {})) - return { - 'tags': _tags(resource_type, resource_name, tags) - } - - -def _tags(resource_type: str, resource_name: str, tags: JSON) -> JSON: - """ - Return tags named for cloud resources based on :class:`azul.Config`. - - :param resource_type: The Terraform resource type - - :param resource_name: The Terraform name of the resource - - :param tags: Additional tags that override the defaults - - >>> from azul.doctests import assert_json - >>> from test.azul_test_case import patch_config - - >>> with patch_config('terraform_component', 'foo'): - ... assert_json(_tags('aws_instance', 'service', {})) - ... #doctest: +ELLIPSIS - { - "billing": "...", - "service": "azul", - "deployment": "...", - "owner": "...", - "Name": "azul-...", - "component": "azul-service", - "terraform_component": "foo" - } - - >>> with patch_config('terraform_component', None): - ... assert_json(_tags('aws_instance', 'service', {'billing' : 'foo'})) - ... #doctest: +ELLIPSIS - { - "billing": "foo", - "service": "azul", - "deployment": "...", - "owner": "...", - "Name": "azul-service-...", - "component": "azul-service" - } - """ - component = f'{config.resource_prefix}-{resource_name}' - tags = { - 'billing': config.billing, - 'service': config.resource_prefix, - 'deployment': config.deployment_stage, - 'owner': config.owner, - **( - { - 'name': component, - 'component': component, - 'terraform_component': config.terraform_component - } - if config.terraform_component else - { - 'name': config.qualified_resource_name(resource_name), - 'component': component - } - ), - **tags - } - return { - 'Name' if k == 'name' and resource_type.startswith('aws_') else k: v - for k, v in tags.items() - } - - -def provider_fragment(region: str) -> JSON: - """ - Return a fragment of Terraform configuration JSON that specifies a - resource's provider. Empty JSON will be returned if the resource's region - is the same as the default region. - A non-default region must first be configured by adding a matching provider - for that region in `providers.tf.json`. - """ - if region == config.region: - return {} - else: - return {'provider': f'aws.{region}'} - - -def block_public_s3_bucket_access(tf_config: JSON) -> JSON: - """ - Return a shallow copy of the given TerraForm configuration embellished with - an aws_s3_bucket_public_access_block resource for each of the aws_s3_bucket - resources in the argument. This is a convenient way to block public access - to every bucket in a given Terraform configuration. The argument is not - modified but the return value may share parts of the argument. - """ - tf_config = copy_json(tf_config, 'resource') - resources = json_dict(tf_config['resource']) - bucket_resources = json_dict(resources['aws_s3_bucket']) - resources['aws_s3_bucket_public_access_block'] = { - resource_name: { - **( - {'provider': resource['provider']} - if 'provider' in resource else - {} - ), - 'bucket': '${aws_s3_bucket.%s.id}' % resource_name, - 'block_public_acls': True, - 'block_public_policy': True, - 'ignore_public_acls': True, - 'restrict_public_buckets': True - } for resource_name, resource in json_item_dicts(bucket_resources) - } - return tf_config - - -def enable_s3_bucket_inventory(tf_config: JSON, - dest_bucket_ref: str = 'data.aws_s3_bucket.logs', - /, - ) -> JSON: - tf_config = copy_json(tf_config, 'resource') - resources = json_dict(tf_config['resource']) - bucket_resources = json_dict(resources['aws_s3_bucket']) - resources['aws_s3_bucket_inventory'] = { - resource_name: { - **( - {'provider': resource['provider']} - if 'provider' in resource else - {} - ), - 'bucket': '${aws_s3_bucket.%s.id}' % resource_name, - 'name': config.qualified_resource_name('inventory'), - 'included_object_versions': 'All', - 'destination': { - 'bucket': { - 'format': 'CSV', - 'bucket_arn': '${%s.arn}' % dest_bucket_ref, - 'prefix': 'inventory' - } - }, - 'schedule': { - 'frequency': 'Daily' - }, - 'optional_fields': [ - 'Size', - 'LastModifiedDate', - 'StorageClass', - 'ETag', - 'IsMultipartUploaded', - 'ReplicationStatus', - 'EncryptionStatus', - 'ChecksumAlgorithm', - 'BucketKeyStatus', - 'IntelligentTieringAccessTier', - 'ObjectLockMode', - 'ObjectLockRetainUntilDate', - 'ObjectLockLegalHoldStatus' - ] - } for resource_name, resource in json_item_dicts(bucket_resources) - } - return tf_config - - -def set_empty_s3_bucket_lifecycle_config(tf_config: JSON) -> JSON: - """ - Return a shallow copy of the given TerraForm configuration embellished with - an `aws_s3_bucket_lifecycle_configuration` resource for each of the - `aws_s3_bucket` resources in the argument that lack an explicit lifecycle - configuration. The argument is not modified but the return value may share - parts of the argument. - """ - tf_config = copy_json(tf_config, 'resource') - resources = json_dict(tf_config['resource']) - lifecycles = resources.get('aws_s3_bucket_lifecycle_configuration', {}) - explicit = { - json_str(lifecycle_config['bucket']).split('.')[1] - for _, lifecycle_config in json_item_dicts(lifecycles) - } - buckets = resources.get('aws_s3_bucket', {}) - for resource_name, bucket in json_item_dicts(buckets): - if resource_name not in explicit: - # We can't create a completely empty policy, but a disabled policy - # achieves the goal of preventing/removing policies that originate - # from outside TF. - bucket.setdefault('lifecycle_rule', { - 'id': config.qualified_resource_name('dummy'), - 'enabled': False, - 'expiration': {'days': 36500} - }) - return tf_config - - -class Chalice: - - def private_api_stage_config(self, app_name: str) -> JSON: - """ - Returns the stage-specific fragment of Chalice configuration JSON that - configures the Lambda function to be invoked by a private API Gateway, - if enabled. - """ - return { - 'api_gateway_endpoint_type': 'PRIVATE', - 'api_gateway_endpoint_vpce': ['${aws_vpc_endpoint.%s.id}' % app_name] - } if config.private_api else { - } - - def vpc_lambda_config(self, app_name: str) -> JSON: - """ - Returns the Lambda-specific fragment of Chalice configuration JSON that - configures the Lambda function to connect to the VPC. - """ - return { - 'subnet_ids': [ - '${data.aws_subnet.gitlab_%s_%s.id}' % (vpc.subnet_name(public=False), zone) - for zone in range(vpc.num_zones) - ], - 'security_group_ids': ['${aws_security_group.%s.id}' % app_name], - } - - def vpc_lambda_iam_policy(self, for_tf: bool = False) -> JSONs: - """ - Returns the fragment of IAM policy JSON needed for placing a Lambda - function into a VPC. - """ - actions = [ - 'ec2:CreateNetworkInterface', - 'ec2:DescribeNetworkInterfaces', - 'ec2:DeleteNetworkInterface', - ] - return [ - { - 'actions': actions, - 'resources': ['*'], - } if for_tf else { - 'Effect': 'Allow', - 'Action': actions, - 'Resource': ['*'] - } - ] - - def package_dir_path(self, app_name) -> Path: - root = Path(config.project_root) - return root / 'lambdas' / app_name / '.chalice' / 'terraform' - - def package_zip_path(self, app_name) -> Path: - return self.package_dir_path(app_name) / 'deployment.zip' - - def tf_config_path(self, app_name) -> Path: - return self.package_dir_path(app_name) / 'chalice.tf.json' - - def patch_resource_names(self, app_name: str, tf_config: JSON) -> MutableJSON: - """ - Patch the names of local variables, resources and data source in the - given Chalice-generated Terraform config. Definitions and references - will be patched. - - >>> from azul.doctests import assert_json - - >>> assert_json(chalice.patch_resource_names('indexer', { - ... 'locals': { - ... 'foo': '' - ... }, - ... 'data': { - ... 'aws_foo': { - ... 'bar': {} - ... } - ... }, - ... "resource": { - ... "aws_lambda_function": { - ... "indexercachehealth": { # patch - ... "foo": "${data.aws_foo.bar}${md5(local.foo)}" - ... } - ... }, - ... "aws_cloudwatch_event_rule": { - ... "indexercachehealth-event": { # patch - ... "name": "indexercachehealth-event" # leave - ... } - ... }, - ... "aws_cloudwatch_event_target": { - ... "indexercachehealth-event": { # patch - ... "rule": "${aws_cloudwatch_event_rule.indexercachehealth-event.name}", # patch - ... "target_id": "indexercachehealth-event", # leave - ... "arn": "${aws_lambda_function.indexercachehealth.arn}" - ... } - ... }, - ... "aws_lambda_permission": { - ... "indexercachehealth-event": { # patch - ... "function_name": "azul-indexer-prod-indexercachehealth", - ... "source_arn": "${aws_cloudwatch_event_rule.indexercachehealth-event.arn}" # patch - ... } - ... }, - ... "aws_lambda_event_source_mapping": { - ... "contribute-sqs-event-source": { - ... "batch_size": 1 - ... } - ... } - ... } - ... })) - { - "locals": { - "indexer_foo": "" - }, - "data": { - "aws_foo": { - "indexer_bar": {} - } - }, - "resource": { - "aws_lambda_function": { - "indexer_indexercachehealth": { - "foo": "${data.aws_foo.indexer_bar}${md5(local.indexer_foo)}" - } - }, - "aws_cloudwatch_event_rule": { - "indexer_indexercachehealth": { - "name": "indexercachehealth-event" - } - }, - "aws_cloudwatch_event_target": { - "indexer_indexercachehealth": { - "rule": "${aws_cloudwatch_event_rule.indexer_indexercachehealth.name}", - "target_id": "indexercachehealth-event", - "arn": "${aws_lambda_function.indexer_indexercachehealth.arn}" - } - }, - "aws_lambda_permission": { - "indexer_indexercachehealth": { - "function_name": "azul-indexer-prod-indexercachehealth", - "source_arn": "${aws_cloudwatch_event_rule.indexer_indexercachehealth.arn}" - } - }, - "aws_lambda_event_source_mapping": { - "indexer_contribute": { - "batch_size": 1 - } - } - } - } - """ - - renamed = {} - - def rename(block_name, resource_type, old): - # Rename and track the renaming as a side effect - new = self._rename_chalice_resource(app_name, old) - renamed[(block_name, resource_type, old)] = new - return new - - # Translate the definitions - tf_result: MutableJSON = { - block_name: { - resource_type: { - rename(block_name, resource_type, resource_name): copy_json(resource) - for resource_name, resource in json_item_mappings(resources) - } - for resource_type, resources in json_item_mappings(block) - } - if block_name in ('resource', 'data') else - { - rename(block_name, None, name): copy_any_json(value) - for name, value in json_mapping(block).items() - } - if block_name == 'locals' else - copy_any_json(block) - for block_name, block in tf_config.items() - } - - def ref(block_name: str, resource_type: str, name: str) -> str: - if block_name == 'resource': - return '.'.join([resource_type, name]) - elif block_name == 'locals': - return '.'.join(['local', name]) - else: - return '.'.join([block_name, resource_type, name]) - - ref_map = { - ref(block_name, resource_type, name): ref(block_name, resource_type, new_name) - for (block_name, resource_type, name), new_name in renamed.items() - } - assert len(ref_map) == len(renamed) - # Sort in reverse so that keys that are prefixes of other keys go last - rev_ref_map = sorted(ref_map.items(), reverse=True) - - def patch_refs(v: AnyMutableJSON) -> AnyMutableJSON: - if isinstance(v, dict): - return {k: patch_refs(v) for k, v in json_dict(v).items()} - elif isinstance(v, list): - return list(map(patch_refs, v)) - elif isinstance(v, str): - for old_ref, new_ref in rev_ref_map: - v = v.replace(old_ref, new_ref) - return v - else: - return v - - return json_dict(patch_refs(tf_result)) - - def rename_chalice_resource_in_tf_state(self, reference: str) -> str: - """ - Translate the resource and data references found Terraform state that - resulted from applying Terraform configuration generated by Chalice. - The configuration is assumed to have been applied as a module, which - is how we used to incorporate the Chalice-generated TF config into our - own. The returned references omit the module prefix and instead - disambiguate between indexer and service lambda directly in the - resource name, eliminating the need to apply the config as a module. - - >>> f = chalice.rename_chalice_resource_in_tf_state - - >>> f('module.chalice_indexer.aws_foo.rest_api') - 'aws_foo.indexer' - - >>> f('module.chalice_indexer.aws_foo.api_handler') - 'aws_foo.indexer' - - >>> f('module.chalice_indexer.aws_foo.rest_api_invoke') - 'aws_foo.indexer' - - >>> f('module.chalice_indexer.data.aws_foo.chalice') - 'data.aws_foo.indexer' - - >>> f('module.chalice_indexer.aws_foo.aggregate-sqs-event-source') - 'aws_foo.indexer_aggregate' - """ - prefix, module, *reference = reference.split('.') - assert prefix == 'module', prefix - prefix, module = module.split('_') - assert prefix == 'chalice' - return self.rename_chalice_resource(module, reference) - - def rename_chalice_resource(self, app_name: str, reference: list[str]) -> str: - """ - Translate the resource and data references found in Terraform - configuration generated by Chalice. - - :param reference: the reference to translate - - :param app_name: the name of the Lambda function to which the resource - belongs. - """ - assert app_name in ('service', 'indexer'), app_name - *reference, resource_type, resource_name = reference - if reference: - assert reference == ['data'] - resource_name = self._rename_chalice_resource(app_name, resource_name) - return '.'.join([*reference, resource_type, resource_name]) - - def _rename_chalice_resource(self, app_name: str, resource_name: str) -> str: - singletons = { - 'rest_api', - 'api_handler', - 'rest_api_invoke', - 'chalice', - 'chalice_api_swagger' - } - if resource_name in singletons: - resource_name = app_name - else: - resource_name = resource_name.removesuffix('-sqs-event-source') - resource_name = resource_name.removesuffix('-event') - resource_name = app_name + '_' + resource_name - return resource_name - - @cache - def tf_config(self, app_name): - with open(self.tf_config_path(app_name)) as f: - tf_config = json.load(f) - tf_config = self.patch_resource_names(app_name, tf_config) - resources = json_dict(tf_config['resource']) - data = json_dict(tf_config['data']) - locals = json_dict(tf_config['locals']) - - # null_data_source has been deprecated and locals should be used instead. - # However, the data sources defined underneath it aren't actually used - # anywhere so we can just delete the entry. - del data['null_data_source'] - - if config.private_api: - # Hack to inject the VPC endpoint IDs that Chalice doesn't (but should) - # add when the `api_gateway_endpoint_vpce` config is used. - rest_apis = json_dict(resources['aws_api_gateway_rest_api']) - rest_api = json_dict(rest_apis[app_name]) - json_dict(rest_api['endpoint_configuration'])['vpc_endpoint_ids'] = [ - '${aws_vpc_endpoint.%s.id}' % app_name - ] - - functions = json_item_dicts(json_dict(resources['aws_lambda_function'])) - for _, resource in functions: - assert 'layers' not in resource - resource['layers'] = ['${aws_lambda_layer_version.dependencies.arn}'] - env = config.es_endpoint_env( - es_endpoint=( - aws.es_endpoint - if config.share_es_domain else - '${aws_opensearch_domain.index.endpoint}:443' - ), - es_instance_count=( - not_none(aws.es_instance_count) - if config.share_es_domain else - '${aws_opensearch_domain.index.cluster_config[0].instance_count}' - ) - ) - json_dict(json_dict(resource['environment'])['variables']).update(env) - package_zip = str(self.package_zip_path(app_name)) - resource['source_code_hash'] = '${filebase64sha256("%s")}' % package_zip - resource['filename'] = package_zip - - assert 'aws_cloudwatch_log_group' not in resources - functions = json_item_dicts(resources['aws_lambda_function']) - resources['aws_cloudwatch_log_group'] = { - f'{resource_name}_lambda': { - 'name': f'/aws/lambda/{resource['function_name']}', - 'retention_in_days': config.audit_log_retention_days - } - for resource_name, resource in functions - } - - for resource_type, argument in [ - ('aws_cloudwatch_event_rule', 'name'), - ('aws_cloudwatch_event_target', 'target_id') - ]: - # Currently, Chalice fails to prefix the names of some resources. We - # need them to be prefixed with `azul-` to allow for limiting the - # scope of certain IAM permissions for Gitlab and, more importantly, - # the deployment stage so these resources are segregated by deployment. - for _, resource in json_item_dicts(resources[resource_type]): - function_name, _, suffix = json_str(resource[argument]).partition('-') - assert suffix == 'event', suffix - assert function_name, function_name - resource[argument] = config.qualified_resource_name(function_name) - - # Chalice-generated S3 bucket notifications include the bucket name in - # the resource name, resulting in an invalid resource name when the - # bucket name contains periods. Bucket names cannot include underscores - # (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html), - # so replacing the periods with underscores results in valid resource - # names while retaining the correlation with bucket names. - try: - bucket_notifications = resources['aws_s3_bucket_notification'] - except KeyError: - pass - else: - resources['aws_s3_bucket_notification'] = { - key.replace('.', '_'): value - for key, value in json_item_dicts(bucket_notifications) - } - # To prevent a race condition by Terraform, we make the bucket - # notifications depend on the related aws_lambda_permission. - permissions_by_function = defaultdict(set) - permissions = resources['aws_lambda_permission'] - for permission_name, permission in json_item_dicts(permissions): - function_ref = permission['function_name'] - permissions_by_function[function_ref].add(permission_name) - for _, notification in json_item_dicts(resources['aws_s3_bucket_notification']): - assert 'depends_on' not in notification, notification - notification['depends_on'] = [ - f'aws_lambda_permission.{permission_name}' - for function in json_element_dicts(notification['lambda_function']) - for permission_name in permissions_by_function[function['lambda_function_arn']] - ] - - # The fix for https://github.com/aws/chalice/issues/1237 introduced the - # create_before_destroy hack and it may have helped but has far-ranging - # implications such as pushing create-before-destroy semantics upstream - # to the dependencies. - # - # This is what caused https://github.com/DataBiosphere/azul/issues/4752 - # - # Managing the stage as an explicit resource as per TF recommendation - # - # https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/api_gateway_deployment - # - # and using the new `replace_triggered_by` lifecycle property introduced - # in TF 1.2 to propagate the replacement downstream is a more intuitive - # and less intrusive fix. - # - deployments = json_dict(resources['aws_api_gateway_deployment']) - deployment = json_dict(deployments[app_name]) - stage_name = deployment.pop('stage_name') - require(stage_name == config.deployment_stage, - 'The TF config from Chalice does not match the selected deployment', - stage_name, config.deployment_stage) - del json_dict(deployment['lifecycle'])['create_before_destroy'] - assert not deployment['lifecycle'], deployment - del deployment['lifecycle'] - deployment['triggers'] = {'redeployment': deployment.pop('stage_description')} - - # Using Terraform to specify the REST API minimum compression size - # proved to be problematic as it would first make an UpdateRestApi call - # to set the property, followed by a PutRestApi call with mode=overwrite - # which would reset the property back to its default value (disabled). - # Setting this property using AWS API Gateway extensions to the OpenAPI - # specification works around this issue. - # - # We ran into similar difficulties when using Terraform to configure - # default responses for the API, so we use these extensions for that - # purpose, too. - # - openapi_spec = json.loads(json_str(locals[app_name])) - rest_apis = json_dict(resources['aws_api_gateway_rest_api']) - rest_api = json_dict(rest_apis[app_name]) - assert 'minimum_compression_size' not in rest_api, rest_api - key = 'x-amazon-apigateway-minimum-compression-size' - openapi_spec[key] = config.minimum_compression_size - - # When mapping a static value to a response parameter, the value - # must be enclosed within a pair of single quotes. Note that - # azul.strings.single_quote() is not used here since API Gateway allows - # internal single quotes, which that function would prohibit. - # - # https://docs.aws.amazon.com/apigateway/latest/developerguide/request-response-data-mappings.html#mapping-response-parameters - # - security_headers = { - f'gatewayresponse.header.{k}': f"'{v}'" - for k, v in AzulChaliceApp.security_headers().items() - } - assert 'aws_api_gateway_gateway_response' not in resources, resources - openapi_spec['x-amazon-apigateway-gateway-responses'] = ( - { - f'DEFAULT_{response_type}': { - 'responseParameters': security_headers - } for response_type in ['4XX', '5XX'] - } | { - response_type: { - 'responseParameters': { - **security_headers, - 'gatewayresponse.header.Retry-After': "'10'" - }, - 'responseTemplates': { - "application/json": json.dumps({ - 'message': '504 Gateway Timeout. Wait the number of ' - 'seconds specified in the `Retry-After` ' - 'header before retrying the request.' - }) - } - } for response_type in ['INTEGRATION_TIMEOUT', 'INTEGRATION_FAILURE'] - } - ) - locals[app_name] = json.dumps(openapi_spec) - - # Replace the hard-coded ARN emitted by Chalice with a resource - # reference so that the event source (the queue) is created before the - # event source mapping depending on it. - # - if app_name == 'indexer': - event_source_mappings = resources['aws_lambda_event_source_mapping'] - for _, resource in json_item_dicts(event_source_mappings): - _, _, resource_name = json_str(resource['event_source_arn']).rpartition(':') - suffix = '.fifo' if resource_name.endswith('.fifo') else '' - sqs_name, _ = config.unqualified_resource_name(resource_name, suffix) - resource['event_source_arn'] = f'${{aws_sqs_queue.{sqs_name}.arn}}' - - return { - 'resource': resources, - 'data': data, - 'locals': locals - } - - -chalice = Chalice() - - -class VPC: - num_zones = 2 # An ALB needs at least two availability zones - - # These are TF resource names, the real-world resource names are fixed by AWS. - default_vpc_name = 'default' - default_security_group_name = 'default' - - @classmethod - def subnet_name(cls, public: bool) -> str: - return 'public' if public else 'private' - - @classmethod - def subnet_number(cls, zone: int, public: bool) -> int: - # Returns even numbers for private subnets, odd numbers for public - # subnets. The advantage of this numbering scheme is that it won't be - # perturbed by adding zones. - return 2 * zone + int(public) - - @classmethod - def security_rule(cls, **rule): - return { - 'cidr_blocks': None, - 'ipv6_cidr_blocks': None, - 'prefix_list_ids': None, - 'from_port': None, - 'protocol': None, - 'security_groups': None, - 'self': None, - 'to_port': None, - 'description': None, - **rule - } - - -vpc = VPC() -del VPC diff --git a/src/azul/threads.py b/src/azul/threads.py deleted file mode 100644 index 4dc89a4a37..0000000000 --- a/src/azul/threads.py +++ /dev/null @@ -1,258 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from collections.abc import ( - Iterable, -) -from concurrent.futures import ( - Future, - ThreadPoolExecutor, - as_completed, -) -import logging -import threading -import time - -from azul import ( - require, -) - -log = logging.getLogger(__name__) - - -class Latch: - """ - >>> l = Latch(1) - >>> l.decrement(1) # opens the latch - >>> l.decrement(1) # latch already open, but decrements value - >>> l.value - -1 - - >>> l = Latch(0) # latch is initially open - >>> l.decrement(1) - >>> l.value - -1 - - >>> l = Latch(0) - >>> l.decrement(0) - >>> l.value - 0 - - - >>> l = Latch(value=0) - >>> l.decrement(0, timeout=0.01) - >>> l.value - 0 - - >>> l = Latch(value=2) - >>> l.decrement(1, timeout=0.01) # not enough to open latch, so time out - Traceback (most recent call last): - ... - TimeoutError - >>> l.decrement(1) # opens latch - >>> l.value - 0 - - >>> from concurrent.futures import ThreadPoolExecutor - >>> n = 2 - >>> with ThreadPoolExecutor(max_workers=n) as tpe: - ... l = Latch(n) - ... fs = [tpe.submit(l.decrement, 1) for i in range(n)] - >>> list(map(Future.result, fs)) - [None, None] - - >>> with ThreadPoolExecutor(max_workers=n) as tpe: - ... l = Latch(n+1) - ... fs = [tpe.submit(l.decrement, 1, timeout=1) for i in range(n)] - >>> list(map(Future.result, fs)) - Traceback (most recent call last): - ... - TimeoutError - """ - - def __init__(self, value): - require(isinstance(value, int)) - self.value = value - self.condition = threading.Condition() - - def decrement(self, value, *, timeout=None): - require(isinstance(value, int)) - self.condition.acquire() - try: - self.value -= value - if self.value > 0: - while True: - if self.condition.wait(timeout=timeout): - if self.value <= 0: - break - else: - raise TimeoutError - else: - self.condition.notify_all() - finally: - self.condition.release() - - -class DeferredTaskExecutor(metaclass=ABCMeta): - """ - A wrapper around ThreadPoolExecutor that allows for conveniently deferring - method calls to be performed concurrently, optionally after other deferred - method calls have completed and/or a given amount of time has passed. - - >>> class MyExecutor(DeferredTaskExecutor): - ... - ... def __init__(self) -> None: - ... super().__init__(num_workers=2) - ... self.delta = None - ... self.a, self.b, self.c, self.d = None, None, None, None - ... - ... def _run(self): - ... foo = self._defer(self.set, time.time(), 1, b=2, delay=1.23) - ... self._defer(self.sum, run_after=[foo]) - ... - ... def set(self, start, a, b=None): - ... self.delta = time.time() - start - ... self._defer(self.never, run_after=[self._defer(self.err)]) - ... self.a = a - ... self.b = b - ... - ... def sum(self): - ... self.c = self.a + self.b - ... - ... def err(self): - ... raise ValueError(123) - ... - ... def never(self): - ... self.d = 1 - - >>> from logging import Logger - >>> import unittest.mock - >>> with unittest.mock.patch.object(Logger, 'warning') as mock_warning: - ... e = MyExecutor() - ... e.run() # err() raises an exception, and emits a warning log - [ValueError(123)] - - >>> mock_warning.mock_calls - [call('Exception in deferred callable', exc_info=True)] - - >>> 1.23 <= e.delta < 2 # set() runs after the given delay, but not much later - True - - >>> e.a, e.b, e.c, e.d # sum() runs after set(), and never() does not run at all - (1, 2, 3, None) - """ - - @abstractmethod - def _run(self) -> None: - """ - Subclasses override this method for the top-level task they'd like to be performed. - - This method typically calls _defer() at least once. - """ - raise NotImplementedError - - def __init__(self, num_workers: int | None = None) -> None: - super().__init__() - self.tpe = ThreadPoolExecutor(max_workers=num_workers) - self.futures: set[Future] = set() - - def run(self) -> list[BaseException]: - """ - Clients call this method to initiate the top-level task. - - :return: A list of the exceptions that occurred in deferred methods. - """ - with self.tpe: - self._run() - return self._collect_futures() - - def _defer(self, - callable_, - *args, - run_after: Iterable[Future] | None = None, - start_time: float | None = None, - delay: float | None = None, - **kwargs) -> Future: - """ - Invoke the given callable (typically a method of this class or a function nested in a method) with the given - arguments and after the preconditions are met. - - :param callable_: the callable to invoke - - :param args: the positional arguments to pass to the callable - - :param kwargs: the keyword arguments to pass to the callable - - :param run_after: the futures representing other callables that must complete successfully before - this callable is invoked - - :param start_time: an optional absolute point in time (as returned by time.time()) - before which that task will not be invoked, defaults to now - - :param delay: an optional number of seconds that will be added to start_time - - :return: a Future instance representing the callable - """ - if start_time is None: - if delay is not None: - start_time = time.time() + delay - else: - if delay is not None: - start_time = start_time + delay - - def run_if_possible(): - can_run = self._check_run_after(run_after) if run_after else True - if can_run is False: - raise self.UnsatisfiedDependency - elif can_run is True and (start_time is None or start_time < time.time()): - return callable_(*args, **kwargs) - else: - return self._defer(callable_, *args, run_after=run_after, start_time=start_time, **kwargs) - - def log_exceptions_early(future): - e = future.exception() - if e is not None and not isinstance(e, self.UnsatisfiedDependency): - log.warning('Exception in deferred callable', exc_info=True) - - future = self.tpe.submit(run_if_possible) - future.add_done_callback(log_exceptions_early) - self.futures.add(future) - return future - - class UnsatisfiedDependency(RuntimeError): - pass - - def _check_run_after(self, run_after: Iterable[Future]) -> bool | None: - for future in run_after: - while True: - if future.done(): - if future.exception(): - return False # at least one future failed - else: - # Tasks that call _defer() will return a future which needs to be examined recursively. - # This tail recursion could be of arbitrary depth. - result = future.result() - if isinstance(result, Future): - future = result - else: - break - else: - return None # some futures are not yet done - return True # all futures succeeded - - def _collect_futures(self): - errors = [] - num_secondary_errors = 0 - while self.futures: - for future in as_completed(self.futures): - e = future.exception() - if e is not None: - if isinstance(e, self.UnsatisfiedDependency): - num_secondary_errors += 1 - else: - errors.append(e) - self.futures.remove(future) - # We cannot have any secondary errors without primary ones - assert bool(errors) or not bool(num_secondary_errors) - return errors diff --git a/src/azul/time.py b/src/azul/time.py deleted file mode 100644 index fbc7b292d8..0000000000 --- a/src/azul/time.py +++ /dev/null @@ -1,193 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from datetime import ( - datetime, -) -import email.utils -import re -import time - -from azul import ( - require, -) -from azul.types import ( - LambdaContext, -) - - -class RemainingTime(metaclass=ABCMeta): - """ - A monotonically decreasing, non-negative estimate of time remaining in a - particular context - """ - - @abstractmethod - def get(self) -> float: - """ - Returns the estimated remaining time in seconds - """ - raise NotImplementedError - - -class RemainingLambdaContextTime(RemainingTime): - """ - The estimated running time in an AWS Lambda context - """ - - def __init__(self, context: LambdaContext) -> None: - super().__init__() - self._context = context - - def get(self) -> float: - return self._context.get_remaining_time_in_millis() / 1000 - - -class RemainingTimeUntil(RemainingTime): - """ - The remaining wall clock time up to a given absolute deadline in terms of - time.time() - """ - - def __init__(self, deadline: float) -> None: - super().__init__() - self._deadline = deadline - - def get(self) -> float: - return max(0.0, self._deadline - time.time()) - - -class SpecificRemainingTime(RemainingTimeUntil): - """ - A specific relative amount of wall clock time in seconds - """ - - def __init__(self, amount: float) -> None: - require(amount >= 0, 'Initial remaining time must be non-negative') - super().__init__(time.time() + amount) - - -class AdjustedRemainingTime(RemainingTime): - """ - Some other estimate of remaining time, adjusted by a fixed offset. Use a - negative offset to reduce the remaining time or a positive offset to - increase it. - """ - - def __init__(self, offset: float, actual: RemainingTime) -> None: - super().__init__() - self._offset = offset - self._actual = actual - - def get(self) -> float: - return max(0.0, self._actual.get() + self._offset) - - -def parse_http_date(http_date: str, base_time: float | None = None) -> float: - """ - Convert an HTTP date string to a Python timestamp (UNIX time). - - :param http_date: a string matching https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1 - - :param base_time: the timestamp for converting a relative HTTP date into - Python timestamp, if None, the current time will be used. - - >>> parse_http_date('123', 0.4) - 123.4 - >>> t = 1541313273.0 - >>> parse_http_date('Sun, 04 Nov 2018 06:34:33 GMT') == t - True - >>> parse_http_date('Sun, 04 Nov 2018 06:34:33 PST') == t + 8 * 60 * 60 - True - """ - if base_time is None: - base_time = time.time() - try: - relative = int(http_date) - except ValueError: - absolute = email.utils.parsedate_to_datetime(http_date) - return absolute.timestamp() - else: - return base_time + float(relative) - - -dcp2_datetime_format = '%Y-%m-%dT%H:%M:%S.%f%z' - - -def format_dcp2_datetime(d: datetime) -> str: - """ - Convert a tz-aware (UTC) datetime into a '2020-01-01T00:00:00.000000Z' - formatted string. - - >>> from datetime import timezone - >>> format_dcp2_datetime(datetime(2020, 12, 31, 23, 59, 59, 1, tzinfo=timezone.utc)) - '2020-12-31T23:59:59.000001Z' - - >>> format_dcp2_datetime(datetime(9999, 1, 1, tzinfo=timezone.utc)) - '9999-01-01T00:00:00.000000Z' - - >>> format_dcp2_datetime(datetime(1, 1, 1, tzinfo=timezone.utc)) - '0001-01-01T00:00:00.000000Z' - - >>> format_dcp2_datetime(datetime(2020, 1, 1)) - Traceback (most recent call last): - ... - azul.RequirementError: 2020-01-01 00:00:00 - """ - require(str(d.tzinfo) == 'UTC', d) - date_string = datetime.strftime(d, dcp2_datetime_format) - # Work around https://bugs.python.org/issue13305 - date_string = ('0000' + date_string)[-31:] - assert date_string.endswith('+0000'), date_string - return date_string[:-5] + 'Z' - - -def parse_dcp2_datetime(s: str) -> datetime: - """ - Convert a '2020-01-01T00:00:00.000000Z' formatted string into a tz-aware - (UTC) datetime. - - >>> parse_dcp2_datetime('2020-01-01T00:00:00.000000Z') - datetime.datetime(2020, 1, 1, 0, 0, tzinfo=datetime.timezone.utc) - - >>> parse_dcp2_datetime('0001-01-01T00:00:00.000000Z') - datetime.datetime(1, 1, 1, 0, 0, tzinfo=datetime.timezone.utc) - - >>> parse_dcp2_datetime('2020-01-01T00:00:00.000000') - Traceback (most recent call last): - ... - ValueError: time data '2020-01-01T00:00:00.000000' does not match format '%Y-%m-%dT%H:%M:%S.%f%z' - """ - return datetime.strptime(s, dcp2_datetime_format) - - -def parse_dcp2_version(s: str) -> datetime: - """ - Convert a dcp2 `version` string into a tz-aware (UTC) datetime. - - https://github.com/HumanCellAtlas/dcp2/blob/main/docs/dcp2_system_design.rst#312object-naming - - >>> parse_dcp2_version('2020-01-01T00:00:00.123456Z') - datetime.datetime(2020, 1, 1, 0, 0, 0, 123456, tzinfo=datetime.timezone.utc) - - >>> parse_dcp2_version('2020-01-01t00:00:00.123456Z') - Traceback (most recent call last): - ... - ValueError: Invalid version value '2020-01-01t00:00:00.123456Z' - - >>> parse_dcp2_version('2020-1-01T00:00:00.123456Z') - Traceback (most recent call last): - ... - ValueError: Invalid version value '2020-1-01T00:00:00.123456Z' - - >>> parse_dcp2_version('2020-01-01T00:00:00.12345Z') - Traceback (most recent call last): - ... - ValueError: Invalid version value '2020-01-01T00:00:00.12345Z' - """ - pattern = r'\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6}Z' - if re.fullmatch(pattern, s): - return parse_dcp2_datetime(s) - else: - raise ValueError(f'Invalid version value {s!r}') diff --git a/src/azul/uuids.py b/src/azul/uuids.py deleted file mode 100644 index 2aaf6a381c..0000000000 --- a/src/azul/uuids.py +++ /dev/null @@ -1,270 +0,0 @@ -from hashlib import ( - sha1, -) -import math -from typing import ( - ClassVar, - Self, -) -from uuid import ( - UUID, -) - -import attr - -from azul import ( - reject, - require, -) -from azul.types import ( - JSON, - MutableJSON, - json_int, -) - - -class InvalidUUIDError(Exception): - - def __init__(self, uuid: str, *args): - super().__init__(f'{uuid!r} is not a valid UUID.', *args) - - -class InvalidUUIDVersionError(InvalidUUIDError): - - def __init__(self, uuid: UUID): - super().__init__(str(uuid), f'Not a valid RFC-4122 UUID (undefined version {uuid.version}).') - - -class InvalidUUIDPrefixError(Exception): - - def __init__(self, prefix: str): - super().__init__(f'{prefix!r} is not a valid UUID prefix.') - - -def validate_uuid(uuid_str: str) -> None: - """ - >>> validate_uuid('8f53d355-b2fa-4bab-a2f2-6852d852d2ec') - - >>> validate_uuid('foo') - Traceback (most recent call last): - ... - azul.uuids.InvalidUUIDError: 'foo' is not a valid UUID. - - >>> validate_uuid('8F53d355-b2fa-4bab-a2f2-6852d852d2ec') - Traceback (most recent call last): - ... - azul.uuids.InvalidUUIDError: '8F53d355-b2fa-4bab-a2f2-6852d852d2ec' is not a valid UUID. - - >>> validate_uuid('aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa') # doctest: +NORMALIZE_WHITESPACE - Traceback (most recent call last): - ... - azul.uuids.InvalidUUIDVersionError: ("'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa' is not a valid UUID.", - 'Not a valid RFC-4122 UUID (undefined version 10).') - """ - try: - formatted_uuid = UUID(uuid_str) - except ValueError: - raise InvalidUUIDError(uuid_str) - else: - if str(formatted_uuid) != uuid_str: - raise InvalidUUIDError(uuid_str) - if formatted_uuid.version not in (1, 3, 4, 5): - raise InvalidUUIDVersionError(formatted_uuid) - - -def validate_uuid_prefix(uuid_prefix: str) -> None: - """ - # The empty string is a valid prefix - >>> validate_uuid_prefix('') - - >>> validate_uuid_prefix('8f53') - - # A complete UUID is a valid prefix - >>> validate_uuid_prefix('8f53d355-b2fa-4bab-a2f2-6852d852d2ec') - - >>> validate_uuid_prefix('8F53') - Traceback (most recent call last): - ... - azul.uuids.InvalidUUIDPrefixError: '8F53' is not a valid UUID prefix. - - >>> validate_uuid_prefix('8') - - >>> validate_uuid_prefix('8f538f53') - - >>> validate_uuid_prefix('8f538f5-') - Traceback (most recent call last): - ... - azul.RequirementError: UUID prefix ends with an invalid character: 8f538f5- - - >>> validate_uuid_prefix('8f538f-') - Traceback (most recent call last): - ... - azul.RequirementError: UUID prefix ends with an invalid character: 8f538f- - - >>> validate_uuid_prefix('8f538f53a') - Traceback (most recent call last): - ... - azul.uuids.InvalidUUIDPrefixError: '8f538f53a' is not a valid UUID prefix. - """ - valid_uuid_str = '26a8fccd-bbd2-4342-9c19-6ed7c9bb9278' - reject(uuid_prefix.endswith('-'), - f'UUID prefix ends with an invalid character: {uuid_prefix}') - try: - validate_uuid(uuid_prefix + valid_uuid_str[len(uuid_prefix):]) - except InvalidUUIDError: - raise InvalidUUIDPrefixError(uuid_prefix) - - -def change_version(uuid: str, old_version: int, new_version: int) -> str: - """ - >>> change_version('d36eb64f-162c-4b8f-bb17-069e2fd2b208', 1, 10) - Traceback (most recent call last): - ... - AssertionError: ('d36eb64f-162c-4b8f-bb17-069e2fd2b208', 4, 1) - >>> change_version('d36eb64f-162c-4b8f-bb17-069e2fd2b208', 4, 10) - 'd36eb64f-162c-ab8f-bb17-069e2fd2b208' - """ - assert 1 <= new_version < 16, new_version - if old_version in (1, 3, 4, 5): - validate_uuid(uuid) - prefix, version, suffix = uuid[:14], uuid[14], uuid[15:] - version = int(version, 16) - assert version == old_version, (uuid, version, old_version) - uuid = f'{prefix}{new_version:x}{suffix}' - assert UUID(uuid).version == new_version, (uuid, old_version) - if new_version in (1, 3, 4, 5): - validate_uuid(uuid) - return uuid - - -class UUIDPartitionMeta(type): - - def __init__(cls, *args, **kwargs): - super().__init__(*args, **kwargs) - attr.s(frozen=True, kw_only=True, auto_attribs=True)(cls) - cls.root = cls(prefix_length=0, prefix=0) - - -class UUIDPartition(metaclass=UUIDPartitionMeta): - """ - A binary partitioning of the UUID space. Most partitionings of the UUID - space use a prefix of the hexadecimal representation of UUIDs. This class - uses the binary representation and is therefore more granular. - """ - prefix_length: int - prefix: int - - root: ClassVar[Self] # see metaclass above - - # This stub is only needed to aid PyCharm's type inference. Without this, - # a constructor invocation that doesn't refer to the class explicitly, but - # through a variable will cause a warning. I suspect a bug in PyCharm: - # - # https://youtrack.jetbrains.com/issue/PY-44728 - # - # noinspection PyDataclass - def __init__(self, *, prefix_length: int, prefix: int) -> None: ... - - def __attrs_post_init__(self): - reject(self.prefix_length == 0 and self.prefix != 0) - require(0 <= self.prefix < 2 ** self.prefix_length) - - @classmethod - def from_json(cls, json: JSON) -> Self: - return cls(prefix_length=json_int(json['prefix_length']), - prefix=json_int(json['prefix'])) - - def to_json(self) -> MutableJSON: - return { - 'prefix_length': self.prefix_length, - 'prefix': self.prefix - } - - def contains(self, member: UUID) -> bool: - """ - >>> p = UUIDPartition(prefix_length=7, prefix=0b0111_1111) - >>> p.contains(UUID('fdd4524e-14c4-41d7-9071-6cadab09d75c')) - False - >>> p.contains(UUID('fed4524e-14c4-41d7-9071-6cadab09d75c')) - True - >>> p.contains(UUID('ffd4524e-14c4-41d7-9071-6cadab09d75c')) - True - """ - # UUIDs are 128 bit integers - shift = 128 - self.prefix_length - return member.int >> shift == self.prefix - - def divide(self, num_divisions: int) -> list[Self]: - """ - Divide this partition into a set of at least the given number of - sub-partitions. The length of the return value will always be the - smallest a power of two that is greater than ``num_divisions`. - - >>> sorted(UUIDPartition.root.divide(3)) - ... # doctest: +NORMALIZE_WHITESPACE - [UUIDPartition(prefix_length=2, prefix=0),\ - UUIDPartition(prefix_length=2, prefix=1),\ - UUIDPartition(prefix_length=2, prefix=2),\ - UUIDPartition(prefix_length=2, prefix=3)] - """ - prefix_length = math.ceil(math.log2(num_divisions)) - num_divisions = 2 ** prefix_length - cls = type(self) - return [ - cls(prefix_length=self.prefix_length + prefix_length, - prefix=(self.prefix << prefix_length) + prefix) - for prefix in range(num_divisions) - ] - - def __str__(self) -> str: - """ - Represent this partition as a hexadecimal range. This range can be used - to visually tell wether this partition contains a particular UUID: it - does, if the UUID starts with any hexadecimal sequence in the range - returned by this function. - - >>> str(UUIDPartition.root) - '-' - - 0b1111_1110 == 0xfe - 0b1111_1111 == 0xff - >>> str(UUIDPartition(prefix_length=7, prefix=0b1111_111)) - 'fe-ff' - - Leading zeroes in the high and low end of the range: - - 0b0000_1110 == 0x0e - 0b0000_1111 == 0x0f - >>> str(UUIDPartition(prefix_length=7, prefix=0b0000_111)) - '0e-0f' - - A partition twice as big (a binary prefix that's one bit shorter): - - 0b0000_1100 = 0x0c - 0b0000_1101 = 0x0d - 0b0000_1110 = 0x0e - 0b0000_1111 = 0x0f - >>> str(UUIDPartition(prefix_length=6, prefix=0b0000_11)) - '0c-0f' - """ - shift = 4 - self.prefix_length % 4 # shift to align at nibble boundary - all_ones = (1 << shift) - 1 - lo = self.prefix << shift - hi = lo + all_ones - - hex_len = (self.prefix_length + 3) // 4 - - def hex(i): - return format(i, f'0{hex_len}x')[:hex_len] - - return '-'.join(map(hex, (lo, hi))) - - -def uuid5_for_bytes(namespace: UUID, name: bytes) -> UUID: - """ - Generate a UUID from the SHA-1 hash of a namespace UUID and a name. Same as - uuid.uuid5 but takes `bytes` not `str`, and thereby avoids assuming an - encoding (uuid.uuid5 assumes UTF-8). - """ - hash = sha1(namespace.bytes + name).digest() - return UUID(bytes=hash[:16], version=5) diff --git a/src/azul/vendored/README.md b/src/azul/vendored/README.md deleted file mode 100644 index f3a5c370c9..0000000000 --- a/src/azul/vendored/README.md +++ /dev/null @@ -1,11 +0,0 @@ -This directory contains vendored distributions. - -Please link each vendored distribution along with a link to the tree at the -exact commit when the tree was copied. - -* [frozendict](https://github.com/slezica/python-frozendict/tree/7e078bf084ee734367dde8db2c8a2f00ec37375f) - -Place the vendored distributions' license into LICENSE at the project root. - -Try to maintain the package path. If the unvendored distribution introduces the -package `foo.bar`, the vendored package should be at `azul.vendored.foo.bar` diff --git a/src/azul/vendored/__init__.py b/src/azul/vendored/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/humancellatlas/data/metadata/age_range.py b/src/humancellatlas/data/metadata/age_range.py deleted file mode 100644 index 8418f59738..0000000000 --- a/src/humancellatlas/data/metadata/age_range.py +++ /dev/null @@ -1,113 +0,0 @@ -from dataclasses import ( - dataclass, -) -from typing import ( - Self, -) - - -@dataclass(frozen=True) -class AgeRange: - """ - >>> AgeRange.parse(' 1 - 2 ', 'second') - AgeRange(min=1.0, max=2.0) - - >>> AgeRange.parse(' - ', 'second') - AgeRange(min=0.0, max=inf) - - >>> AgeRange.parse('', 'years') - AgeRange(min=0.0, max=inf) - - >>> r = AgeRange.parse('0-1', 'year'); r - AgeRange(min=0.0, max=31536000.0) - >>> 365 * 24 * 60 * 60 == r.max - True - - >>> AgeRange.parse('1-', 'seconds') - AgeRange(min=1.0, max=inf) - - >>> AgeRange.parse('-2', 'seconds') - AgeRange(min=0.0, max=2.0) - - >>> AgeRange.parse('', 'blink') - Traceback (most recent call last): - ... - ValueError: Cannot convert age '' with unit 'blink' to an AgeRange object - - >>> AgeRange.parse(' 1 - 2 ', 'blinks') - Traceback (most recent call last): - ... - ValueError: Cannot convert age ' 1 - 2 ' with unit 'blinks' to an AgeRange object - - >>> AgeRange.parse('1-2-3', 'hours') - Traceback (most recent call last): - ... - ValueError: Cannot convert age '1-2-3' with unit 'hours' to an AgeRange object - - >>> AgeRange.parse('one-2', 'days') - Traceback (most recent call last): - ... - ValueError: Cannot convert age 'one-2' with unit 'days' to an AgeRange object - - >>> AgeRange(0, 1.0) - Traceback (most recent call last): - ... - TypeError: ('Constructor arguments must be float values', 0) - - >>> AgeRange(0.0, 1) - Traceback (most recent call last): - ... - TypeError: ('Constructor arguments must be float values', 1) - """ - min: float - max: float - - FACTORS = dict(year=365.0 * 24 * 3600, - month=365.0 * 24 * 3600 / 12, - week=7.0 * 24 * 3600, - day=24.0 * 3600, - hour=3600.0, - minute=60.0, - second=1.0) - - @classmethod - def parse(cls, age: str, unit: str) -> Self: - def fail(): - return ValueError(f"Cannot convert age '{age}' with unit '{unit}' to an AgeRange object") - - age_ = [s.strip() for s in age.split('-')] - unit_ = unit.lower().strip() - - try: - factor = cls.FACTORS[unit_] - except KeyError as e1: - if unit_.endswith('s'): - try: - factor = cls.FACTORS[unit_[:-1]] - except KeyError as e2: - raise fail() from e2 - else: - raise fail() from e1 - - def cvt(value: str, default: float) -> float | None: - assert isinstance(default, float) - try: - return factor * float(value) if value else default - except ValueError as e: - raise fail() from e - - if len(age_) in (1, 2): - self = cls(min=cvt(age_[0], 0.0), max=cvt(age_[-1], float('inf'))) - return self - else: - raise fail() - - def __post_init__(self): - for v in self.min, self.max: - if not isinstance(v, float): - raise TypeError("Constructor arguments must be float values", v) - - any = None - - -AgeRange.any = AgeRange(min=0.0, max=float('inf')) diff --git a/src/humancellatlas/data/metadata/api.py b/src/humancellatlas/data/metadata/api.py deleted file mode 100644 index 757bc8a70e..0000000000 --- a/src/humancellatlas/data/metadata/api.py +++ /dev/null @@ -1,1165 +0,0 @@ -from abc import ( - ABCMeta, - abstractmethod, -) -from collections import ( - defaultdict, -) -from dataclasses import ( - dataclass, - field, - fields, -) -from datetime import ( - datetime, - timezone, -) -from itertools import ( - chain, -) -from typing import ( - Collection, - Iterable, - Mapping, - MutableMapping, - Self, - TypeVar, -) -from uuid import ( - UUID, -) -import warnings - -from furl import ( - furl, -) - -from azul import ( - R, - cached_property, -) -from azul.collections import ( - OrderedSet, - adict, - dict_merge, -) - -from azul.indexer.document import ( - EntityReference, -) -from azul.types import ( - JSON, - MutableJSON, - is_optional, -) -from humancellatlas.data.metadata.age_range import ( - AgeRange, -) -from humancellatlas.data.metadata.datetime import ( - parse_jsonschema_date_time, -) -from humancellatlas.data.metadata.lookup import ( - LookupDefault, - lookup, -) - -# A few helpful type aliases -# -UUID4 = UUID - - -@dataclass(init=False) -class ManifestEntry: - json: JSON = field(init=False, repr=False) - content_type: str = field(init=False) - crc32c: str - indexed: bool - name: str - s3_etag: str | None - sha1: str | None - sha256: str - size: int - # only populated if bundle was requested with `directurls` or `directurls` set - url: str | None - uuid: UUID4 = field(init=False) - # FIXME: Change Bundle.version and ManifestEntry.version from string to datetime - # https://github.com/DataBiosphere/hca-metadata-api/issues/48 - version: str - - def __init__(self, json: MutableJSON): - # '/' was once forbidden in file paths and was encoded with '!'. Now - # '/' is allowed and we force it in the metadata so that backwards - # compatibility is simplified downstream. - json['name'] = json['name'].replace('!', '/') - self.json = json - self.content_type = json['content-type'] - self.uuid = UUID4(json['uuid']) - for f in fields(self): - if f.init: - value = json.get(f.name) - if value is None and not is_optional(f.type): - raise TypeError('Property cannot be absent or None', f.name) - else: - setattr(self, f.name, value) - - -valid_schema_domains = ['schema.humancellatlas.org'] - - -@dataclass(init=False) -class Entity: - json: JSON = field(repr=False) - document_id: UUID4 - submitter_id: str | None - submission_date: datetime - update_date: datetime | None - - @classmethod - def from_json(cls, - json: JSON, - **kwargs): - content = json.get('content', json) - described_by = cls.validate_described_by(content) - schema_name = described_by.path.segments[-1] - try: - sub_cls = entity_types[schema_name] - except KeyError: - raise TypeLookupError(described_by) - return sub_cls(json, **kwargs) - - @classmethod - def validate_described_by(cls, content: JSON) -> furl: - described_by = furl(content['describedBy']) - assert described_by.netloc in valid_schema_domains, R( - 'Unexpected schema domain', - described_by, - valid_schema_domains - ) - return described_by - - def __init__(self, - json: JSON - ) -> None: - super().__init__() - self.json = json - provenance = json.get('hca_ingest') or json['provenance'] - self.document_id = UUID4(provenance['document_id']) - self.submitter_id = provenance.get('submitter_id') - submission_date = lookup(provenance, 'submission_date', 'submissionDate') - self.submission_date = self._datetime(submission_date) - update_date = lookup(provenance, 'update_date', 'updateDate', default=None) - self.update_date = self._optional_datetime(update_date) - - def _datetime(self, s: str) -> datetime: - return parse_jsonschema_date_time(s).astimezone(timezone.utc) - - def _optional_datetime(self, s: str | None) -> datetime | None: - return s if s is None else self._datetime(s) - - @property - def ref(self) -> EntityReference: - return EntityReference(entity_type=self.schema_name, - entity_id=str(self.document_id)) - - @property - def schema_name(self): - return schema_names[type(self)] - - def accept(self, visitor: 'EntityVisitor') -> None: - visitor.visit(self) - - -# A type variable for subtypes of Entity -# -E = TypeVar('E', bound=Entity) - - -class TypeLookupError(Exception): - - def __init__(self, described_by: furl) -> None: - super().__init__(f"No entity type for schema URL '{described_by}'") - - -class EntityVisitor(metaclass=ABCMeta): - - @abstractmethod - def visit(self, entity: 'Entity') -> None: - raise NotImplementedError() - - -@dataclass(init=False) -class LinkedEntity(Entity, metaclass=ABCMeta): - children: MutableMapping[UUID4, Entity] = field(repr=False) - parents: MutableMapping[UUID4, 'LinkedEntity'] = field(repr=False) - - @abstractmethod - def _connect_to(self, other: Entity, forward: bool) -> None: - raise NotImplementedError() - - def __init__(self, - json: JSON - ) -> None: - super().__init__(json) - self.children = {} - self.parents = {} - - def connect_to(self, other: Entity, forward: bool) -> None: - mapping = self.children if forward else self.parents - mapping[other.document_id] = other - self._connect_to(other, forward) - - def ancestors(self, visitor: EntityVisitor): - for parent in self.parents.values(): - parent.ancestors(visitor) - visitor.visit(parent) - - def accept(self, visitor: EntityVisitor): - super().accept(visitor) - for child in self.children.values(): - child.accept(visitor) - - -class LinkError(RuntimeError): - - def __init__(self, entity: LinkedEntity, other_entity: Entity, forward: bool) -> None: - super().__init__( - f'{entity.ref} cannot {"reference" if forward else "be referenced by"} ' - f'{other_entity.ref}' - ) - - -L = TypeVar('L', bound=LinkedEntity) - - -@dataclass(frozen=True) -class ProjectPublication: - title: str - url: str | None - official_hca: bool | None - doi: str | None - - @classmethod - def from_json(cls, json: JSON) -> Self: - title = lookup(json, 'title', 'publication_title') - url = lookup(json, 'url', 'publication_url', default=None) - return cls(title=title, - url=url, - official_hca=json.get('official_hca_publication'), - doi=json.get('doi')) - - @property - def publication_title(self): - warnings.warn("ProjectPublication.publication_title is deprecated. " - "Use ProjectPublication.title instead.", DeprecationWarning) - return self.title - - @property - def publication_url(self): - warnings.warn("ProjectPublication.publication_url is deprecated. " - "Use ProjectPublication.url instead.", DeprecationWarning) - return self.url - - -@dataclass(frozen=True) -class ProjectContact: - name: str - email: str | None - institution: str | None # optional up to project/5.3.0/contact - laboratory: str | None - corresponding_contributor: bool | None - project_role: str | None - - @classmethod - def from_json(cls, json: JSON) -> Self: - project_role = json.get('project_role') - project_role = ontology_label(project_role) if isinstance(project_role, dict) else project_role - return cls(name=lookup(json, 'name', 'contact_name'), - email=json.get('email'), - institution=json.get('institution'), - laboratory=json.get('laboratory'), - corresponding_contributor=json.get('corresponding_contributor'), - project_role=project_role) - - @property - def contact_name(self) -> str: - warnings.warn("ProjectContact.contact_name is deprecated. " - "Use ProjectContact.name instead.", DeprecationWarning) - return self.name - - -@dataclass(eq=True, frozen=True) -class Accession: - namespace: str - accession: str - - -@dataclass(eq=True, frozen=True) -class Bionetwork: - name: str - atlas_project: bool | None = None - hca_tissue_atlas: str | None = None - hca_tissue_atlas_version: str | None = None - schema_version: str | None = None - - -@dataclass(init=False) -class Project(Entity): - project_short_name: str - project_title: str - project_description: str | None # optional up to core/project/5.2.2/project_core - publications: OrderedSet[ProjectPublication] - contributors: OrderedSet[ProjectContact] - accessions: OrderedSet[Accession] - supplementary_links: OrderedSet[str] - estimated_cell_count: int | None - bionetworks: OrderedSet[Bionetwork] - data_use_restriction: str | None - duos_id: str | None - - def __init__(self, json: JSON) -> None: - super().__init__(json) - content = json.get('content', json) - core = content['project_core'] - self.project_short_name = lookup(core, 'project_short_name', 'project_shortname') - self.project_title = core['project_title'] - self.project_description = core.get('project_description') - self.publications = OrderedSet(ProjectPublication.from_json(publication) - for publication in content.get('publications', [])) - self.contributors = OrderedSet(ProjectContact.from_json(contributor) - for contributor in content.get('contributors', [])) - self.supplementary_links = OrderedSet(content.get('supplementary_links', [])) - self.estimated_cell_count = content.get('estimated_cell_count') - accessions = OrderedSet() - for name, value in content.items(): - prefix, _, suffix = name.rpartition('_') - if suffix == 'accessions': - assert prefix, name - assert isinstance(value, list) - accessions.update(Accession(namespace=prefix, accession=v) for v in value) - self.accessions = accessions - self.bionetworks = OrderedSet(Bionetwork(**bionetwork) - for bionetwork in content.get('hca_bionetworks', ()) - if bionetwork) - self.data_use_restriction = content.get('data_use_restriction') - self.duos_id = content.get('duos_id') - - def _accessions(self, namespace: str) -> set[str]: - return {a.accession for a in self.accessions if a.namespace == namespace} - - @property - def insdc_project_accessions(self) -> set[str]: - warnings.warn("Project.insdc_project_accessions is deprecated. " - "Use Project.accessions instead.", DeprecationWarning) - return self._accessions('insdc_project') - - @property - def geo_series_accessions(self) -> set[str]: - warnings.warn("Project.geo_series_accessions is deprecated. " - "Use Project.accessions instead.", DeprecationWarning) - return self._accessions('geo_series') - - @property - def array_express_accessions(self) -> set[str]: - warnings.warn("Project.array_express_accessions is deprecated. " - "Use Project.accessions instead.", DeprecationWarning) - return self._accessions('array_express') - - @property - def insdc_study_accessions(self) -> set[str]: - warnings.warn("Project.insdc_study_accessions is deprecated. " - "Use Project.accessions instead.", DeprecationWarning) - return self._accessions('insdc_study') - - @property - def laboratory_names(self) -> set: - warnings.warn("Project.laboratory_names is deprecated. " - "Use contributors.laboratory instead.", DeprecationWarning) - return {contributor.laboratory for contributor in self.contributors if contributor.laboratory} - - @property - def project_shortname(self) -> str: - warnings.warn("Project.project_shortname is deprecated. " - "Use project_short_name instead.", DeprecationWarning) - return self.project_short_name - - -@dataclass(init=False) -class Biomaterial(LinkedEntity): - biomaterial_id: str - ncbi_taxon_id: list[int] - has_input_biomaterial: str | None - from_processes: MutableMapping[UUID4, 'Process'] = field(repr=False) - to_processes: MutableMapping[UUID4, 'Process'] - - def __init__(self, json: JSON) -> None: - super().__init__(json) - content = json.get('content', json) - self.biomaterial_id = content['biomaterial_core']['biomaterial_id'] - self.ncbi_taxon_id = content['biomaterial_core']['ncbi_taxon_id'] - self.has_input_biomaterial = content['biomaterial_core'].get('has_input_biomaterial') - self.from_processes = {} - self.to_processes = {} - - def _connect_to(self, other: Entity, forward: bool) -> None: - if isinstance(other, Process): - if forward: - self.to_processes[other.document_id] = other - else: - self.from_processes[other.document_id] = other - else: - raise LinkError(self, other, forward) - - -@dataclass(init=False) -class DonorOrganism(Biomaterial): - genus_species: set[str] - diseases: set[str] - organism_age: str - organism_age_unit: str - sex: str - development_stage: str | None - - def __init__(self, json: JSON) -> None: - super().__init__(json) - content = json.get('content', json) - self.genus_species = {ontology_label(gs) for gs in content['genus_species']} - self.diseases = {ontology_label(d) for d in lookup(content, 'diseases', 'disease', default=[]) if d} - self.organism_age = content.get('organism_age') - self.organism_age_unit = ontology_label(content.get('organism_age_unit'), default=None) - self.sex = lookup(content, 'sex', 'biological_sex') - self.development_stage = ontology_label(content.get('development_stage'), default=None) - - @property - def organism_age_in_seconds(self) -> AgeRange | None: - if self.organism_age and self.organism_age_unit: - return AgeRange.parse(self.organism_age, self.organism_age_unit) - else: - return None - - @property - def biological_sex(self): - warnings.warn("DonorOrganism.biological_sex is deprecated. " - "Use DonorOrganism.sex instead.", DeprecationWarning) - return self.sex - - @property - def disease(self): - warnings.warn("DonorOrganism.disease is deprecated. " - "Use DonorOrganism.diseases instead.", DeprecationWarning) - return self.diseases - - -@dataclass(init=False) -class SpecimenFromOrganism(Biomaterial): - storage_method: str | None - preservation_method: str | None - diseases: set[str] - organ: str | None - organ_parts: set[str] - - def __init__(self, json: JSON) -> None: - super().__init__(json) - content = json.get('content', json) - preservation_storage = content.get('preservation_storage') - self.storage_method = preservation_storage.get('storage_method') if preservation_storage else None - self.preservation_method = preservation_storage.get('preservation_method') if preservation_storage else None - self.diseases = {ontology_label(d) for d in lookup(content, 'diseases', 'disease', default=[]) if d} - self.organ = ontology_label(content.get('organ'), default=None) - - organ_parts = lookup(content, 'organ_parts', 'organ_part', default=[]) - if not isinstance(organ_parts, list): - organ_parts = [organ_parts] - assert isinstance(organ_parts, list) - self.organ_parts = {ontology_label(d) for d in organ_parts if d} - - @property - def disease(self): - warnings.warn("SpecimenFromOrganism.disease is deprecated. " - "Use SpecimenFromOrganism.diseases instead.", DeprecationWarning) - return self.diseases - - @property - def organ_part(self): - msg = ("SpecimenFromOrganism.organ_part has been removed. " - "Use SpecimenFromOrganism.organ_parts instead.") - warnings.warn(msg, DeprecationWarning) - raise AttributeError(msg) - - -@dataclass(init=False) -class ImagedSpecimen(Biomaterial): - slice_thickness: float | int - - def __init__(self, json: JSON) -> None: - super().__init__(json) - self.slice_thickness = json['slice_thickness'] - - -@dataclass(init=False) -class CellSuspension(Biomaterial): - estimated_cell_count: int | None - selected_cell_types: set[str] - - def __init__(self, json: JSON) -> None: - super().__init__(json) - content = json.get('content', json) - self.estimated_cell_count = lookup(content, 'estimated_cell_count', 'total_estimated_cells', default=None) - self.selected_cell_types = {ontology_label(sct) for sct in - lookup(content, 'selected_cell_types', 'selected_cell_type', default=[])} - - @property - def total_estimated_cells(self) -> int: - warnings.warn("CellSuspension.total_estimated_cells is deprecated. " - "Use CellSuspension.estimated_cell_count instead.", DeprecationWarning) - return self.estimated_cell_count - - @property - def selected_cell_type(self) -> set[str]: - warnings.warn("CellSuspension.selected_cell_type is deprecated. " - "Use CellSuspension.selected_cell_types instead.", DeprecationWarning) - return self.selected_cell_types - - -@dataclass(init=False) -class CellLine(Biomaterial): - type: str - model_organ: str | None - - def __init__(self, json: JSON) -> None: - super().__init__(json) - content = json.get('content', json) - self.type = lookup(content, 'type', 'cell_line_type') - self.model_organ = ontology_label(content.get('model_organ'), default=None) - - @property - def cell_line_type(self) -> str: - warnings.warn("CellLine.cell_line_type is deprecated. " - "Use CellLine.type instead.", DeprecationWarning) - return self.type - - -@dataclass(init=False) -class Organoid(Biomaterial): - model_organ: str - model_organ_part: str | None - - def __init__(self, json: JSON) -> None: - super().__init__(json) - content = json.get('content', json) - self.model_organ = ontology_label(lookup(content, 'model_organ', 'model_for_organ'), default=None) - self.model_organ_part = ontology_label(content.get('model_organ_part'), default=None) - - -@dataclass(init=False) -class Process(LinkedEntity): - process_id: str - process_name: str | None - input_biomaterials: MutableMapping[UUID4, Biomaterial] = field(repr=False) - input_files: MutableMapping[UUID4, 'File'] = field(repr=False) - output_biomaterials: MutableMapping[UUID4, Biomaterial] - output_files: MutableMapping[UUID4, 'File'] - protocols: MutableMapping[UUID4, 'Protocol'] - - def __init__(self, json: JSON) -> None: - super().__init__(json) - content = json.get('content', json) - process_core = content['process_core'] - self.process_id = process_core['process_id'] - self.process_name = process_core.get('process_name') - self.input_biomaterials = {} - self.input_files = {} - self.output_biomaterials = {} - self.output_files = {} - self.protocols = {} - - def _connect_to(self, other: Entity, forward: bool) -> None: - if isinstance(other, Biomaterial): - biomaterials = self.output_biomaterials if forward else self.input_biomaterials - biomaterials[other.document_id] = other - elif isinstance(other, File): - files = self.output_files if forward else self.input_files - files[other.document_id] = other - elif isinstance(other, Protocol): - if forward: - self.protocols[other.document_id] = other - else: - raise LinkError(self, other, forward) - else: - raise LinkError(self, other, forward) - - def is_sequencing_process(self): - return any(isinstance(pl, SequencingProtocol) for pl in self.protocols.values()) - - -@dataclass(init=False) -class AnalysisProcess(Process): - pass - - -@dataclass(init=False) -class DissociationProcess(Process): - - def __init__(self, json: JSON) -> None: - warnings.warn(f"{type(self)} is deprecated", DeprecationWarning) - super().__init__(json) - - -@dataclass(init=False) -class EnrichmentProcess(Process): - - def __init__(self, json: JSON) -> None: - warnings.warn(f"{type(self)} is deprecated", DeprecationWarning) - super().__init__(json) - - -@dataclass(init=False) -class LibraryPreparationProcess(Process): - library_construction_approach: str - - def __init__(self, json: JSON) -> None: - warnings.warn(f"{type(self)} is deprecated", DeprecationWarning) - super().__init__(json) - content = json.get('content', json) - self.library_construction_approach = content['library_construction_approach'] - - -@dataclass(init=False) -class SequencingProcess(Process): - instrument_manufacturer_model: str - - def __init__(self, json: JSON) -> None: - warnings.warn(f"{type(self)} is deprecated", DeprecationWarning) - super().__init__(json) - content = json.get('content', json) - self.instrument_manufacturer_model = ontology_label(content['instrument_manufacturer_model']) - - def is_sequencing_process(self): - return True - - -@dataclass(frozen=True) -class ImagingProbe: - assay_type: str - - @classmethod - def from_json(cls, json: JSON) -> Self: - assay_type = ontology_label(json['assay_type']) - return cls(assay_type=assay_type) - - -@dataclass(init=False) -class Protocol(LinkedEntity): - protocol_id: str - protocol_name: str | None - - def __init__(self, json: JSON) -> None: - super().__init__(json) - content = json.get('content', json) - protocol_core = content['protocol_core'] - self.protocol_id = protocol_core['protocol_id'] - self.protocol_name = protocol_core.get('protocol_name') - - def _connect_to(self, other: Entity, forward: bool) -> None: - if isinstance(other, Process) and not forward: - pass # no explicit, typed back reference - else: - raise LinkError(self, other, forward) - - -@dataclass(init=False) -class LibraryPreparationProtocol(Protocol): - library_construction_method: str - nucleic_acid_source: str | None - - def __init__(self, json: JSON) -> None: - super().__init__(json) - content = json.get('content', json) - temp = lookup(content, 'library_construction_method', 'library_construction_approach') - self.library_construction_method = ontology_label(temp) if isinstance(temp, dict) else temp - self.nucleic_acid_source = content.get('nucleic_acid_source') - - @property - def library_construction_approach(self) -> str: - warnings.warn("LibraryPreparationProtocol.library_construction_approach is deprecated. " - "Use LibraryPreparationProtocol.library_construction_method instead.", DeprecationWarning) - return self.library_construction_method - - -@dataclass(init=False) -class SequencingProtocol(Protocol): - instrument_manufacturer_model: str - paired_end: bool | None - - def __init__(self, json: JSON) -> None: - super().__init__(json) - content = json.get('content', json) - self.instrument_manufacturer_model = ontology_label(content.get('instrument_manufacturer_model'), default=None) - self.paired_end = lookup(content, 'paired_end', 'paired_ends', default=None) - - -@dataclass(init=False) -class AnalysisProtocol(Protocol): - pass - - -@dataclass(init=False) -class AggregateGenerationProtocol(Protocol): - pass - - -@dataclass(init=False) -class CollectionProtocol(Protocol): - pass - - -@dataclass(init=False) -class DifferentiationProtocol(Protocol): - pass - - -@dataclass(init=False) -class DissociationProtocol(Protocol): - pass - - -@dataclass(init=False) -class EnrichmentProtocol(Protocol): - pass - - -@dataclass(init=False) -class IpscInductionProtocol(Protocol): - pass - - -@dataclass(init=False) -class TreatmentProtocol(Protocol): - pass - - -@dataclass(init=False) -class ImagingProtocol(Protocol): - probe: list[ImagingProbe] # A list so all the ImagingProbe objects can be tallied when indexed - - def __init__(self, json: JSON) -> None: - super().__init__(json) - content = json.get('content', json) - self.probe = [ - ImagingProbe.from_json(probe) - for probe in lookup(content, 'probe', 'target', default=[]) - ] - - @property - def target(self) -> list[ImagingProbe]: - warnings.warn('ImagingProtocol.target is deprecated. ' - 'Use ImagingProtocol.probe instead.', DeprecationWarning) - return self.probe - - -@dataclass(init=False) -class ImagingPreparationProtocol(Protocol): - pass - - -@dataclass(init=False) -class File(LinkedEntity): - format: str - from_processes: MutableMapping[UUID4, Process] = field(repr=False) - to_processes: MutableMapping[UUID4, Process] - manifest_entry: ManifestEntry - content_description: set[str] - file_source: str - - def __init__(self, - json: JSON, - manifest_entry: ManifestEntry): - super().__init__(json) - content = json.get('content', json) - # '/' was once forbidden in file paths and was encoded with '!'. Now - # '/' is allowed and we force it in the metadata so that backwards - # compatibility is simplified downstream. - core = content['file_core'] - core['file_name'] = core['file_name'].replace('!', '/') - self.format = lookup(core, 'format', 'file_format') - self.manifest_entry = manifest_entry - self.content_description = {ontology_label(cd) for cd in core.get('content_description', [])} - self.file_source = core.get('file_source') - self.from_processes = dict() - self.to_processes = dict() - - def _connect_to(self, other: Entity, forward: bool) -> None: - if isinstance(other, Process): - if forward: - self.to_processes[other.document_id] = other - else: - self.from_processes[other.document_id] = other - else: - raise LinkError(self, other, forward) - - @property - def file_format(self) -> str: - warnings.warn("File.file_format is deprecated. " - "Use File.format instead.", DeprecationWarning) - return self.format - - @property - def is_matrix(self) -> bool: - return any('matrix' in c.lower() for c in self.content_description) - - -@dataclass(init=False) -class SequenceFile(File): - read_index: str - lane_index: str | None - - def __init__(self, - json: JSON, - manifest_entry: ManifestEntry): - super().__init__(json, manifest_entry) - content = json.get('content', json) - self.read_index = content['read_index'] - self.lane_index = content.get('lane_index') - - -@dataclass(init=False) -class SupplementaryFile(File): - pass - - -@dataclass(init=False) -class AnalysisFile(File): - matrix_cell_count: int - - def __init__(self, - json: JSON, - manifest_entry: ManifestEntry): - super().__init__(json, manifest_entry) - content = json.get('content', json) - self.matrix_cell_count = content.get('matrix_cell_count') - - -@dataclass(init=False) -class ReferenceFile(File): - pass - - -@dataclass(init=False) -class ImageFile(File): - pass - - -@dataclass -class Link: - source_id: UUID4 - source_type: str - destination_id: UUID4 - destination_type: str - link_type: str = 'process_link' - - @classmethod - def from_json(cls, json: JSON, schema_version: tuple[int, ...]) -> Iterable['Link']: - if 'source_id' in json: - # DCP/1 v5 (obsolete) - yield cls(source_id=UUID4(json['source_id']), - source_type=json['source_type'], - destination_id=UUID4(json['destination_id']), - destination_type=json['destination_type']) - elif schema_version[0] == 1: - # DCP/1 vx (current) - process_id = UUID4(json['process']) - for source_id in json['inputs']: - yield cls(source_id=UUID4(source_id), - source_type=json['input_type'], - destination_id=process_id, - destination_type='process') - for destination_id in json['outputs']: - yield cls(source_id=process_id, - source_type='process', - destination_id=UUID4(destination_id), - destination_type=json['output_type']) - for protocol in json['protocols']: - yield cls(source_id=process_id, - source_type='process', - destination_id=UUID4(protocol['protocol_id']), - destination_type=lookup(protocol, 'type', 'protocol_type')) - elif schema_version[0] in (2, 3): - # DCP/2 (current) - link_type = json['link_type'] - if link_type == 'process_link': - process_id = UUID4(json['process_id']) - process_type = json['process_type'] - for input_ in json['inputs']: - yield cls(link_type=link_type, - source_id=UUID4(input_['input_id']), - source_type=input_['input_type'], - destination_id=process_id, - destination_type=process_type) - for output in json['outputs']: - yield cls(link_type=link_type, - source_id=process_id, - source_type=process_type, - destination_id=UUID4(output['output_id']), - destination_type=output['output_type']) - for protocol in json['protocols']: - yield cls(link_type=link_type, - source_id=process_id, - source_type=process_type, - destination_id=UUID4(protocol['protocol_id']), - destination_type=protocol['protocol_type']) - elif link_type == 'supplementary_file_link': - entity = json['entity'] - for supp_file in json['files']: - yield cls(link_type=link_type, - source_id=UUID4(entity['entity_id']), - source_type=entity['entity_type'], - destination_id=UUID4(supp_file['file_id']), - destination_type=supp_file['file_type']) - else: - assert False, f'Unknown link_type {link_type}' - else: - assert False, f'Unknown schema_version {schema_version}' - - -@dataclass(init=False) -class Bundle: - uuid: UUID4 - # FIXME: Change Bundle.version and ManifestEntry.version from string to datetime - # https://github.com/DataBiosphere/hca-metadata-api/issues/48 - version: str - projects: MutableMapping[UUID4, Project] - biomaterials: MutableMapping[UUID4, Biomaterial] - processes: MutableMapping[UUID4, Process] - protocols: MutableMapping[UUID4, Protocol] - files: MutableMapping[UUID4, File] - - manifest: MutableMapping[str, ManifestEntry] - entities: MutableMapping[UUID4, Entity] = field(repr=False) - links: list[Link] - - def __init__(self, - uuid: str, - version: str, - manifest: Mapping[str, MutableJSON], - metadata: Mapping[str, MutableJSON], - links_json: JSON, - stitched_entity_ids: Collection[str] = ()): - self.uuid = UUID4(uuid) - self.version = version - self.manifest = {ref: ManifestEntry(e) for ref, e in manifest.items()} - self.stitched = frozenset(map(UUID4, stitched_entity_ids)) - - entity_args_by_core_cls: MutableMapping[type[E], list[dict]] = defaultdict(list) - for key, json in metadata.items(): - schema_name = EntityReference.parse(key).entity_type - entity_cls = entity_types[schema_name] - core_cls = core_types[entity_cls] - args = adict(json=json, - manifest_entry=self.manifest.get(key)) - entity_args_by_core_cls[core_cls].append(args) - - def from_json_vx(core_cls: type[E], - ) -> MutableMapping[UUID4, E]: - args_list = entity_args_by_core_cls[core_cls] - entities = ( - core_cls.from_json(**args) - for args in args_list - ) - return {entity.document_id: entity for entity in entities} - - self.projects = from_json_vx(Project) - self.biomaterials = from_json_vx(Biomaterial) - self.processes = from_json_vx(Process) - self.protocols = from_json_vx(Protocol) - self.files = from_json_vx(File) - - self.entities = {**self.projects, **self.biomaterials, **self.processes, **self.protocols, **self.files} - - Entity.validate_described_by(links_json) - schema_version = tuple(map(int, links_json['schema_version'].split('.'))) - self.links = list(chain.from_iterable( - Link.from_json(link, schema_version) - for link in links_json['links'] - )) - - for link in self.links: - if link.link_type == 'process_link': - source_entity = self.entities[link.source_id] - destination_entity = self.entities[link.destination_id] - assert isinstance(source_entity, LinkedEntity) - assert isinstance(destination_entity, LinkedEntity) - source_entity.connect_to(destination_entity, forward=True) - destination_entity.connect_to(source_entity, forward=False) - - def root_entities(self) -> Mapping[UUID4, LinkedEntity]: - roots = {} - - class RootFinder(EntityVisitor): - - def visit(self, entity: Entity) -> None: - if isinstance(entity, LinkedEntity) and not entity.parents: - roots[entity.document_id] = entity - - visitor = RootFinder() - for entity in self.entities.values(): - entity.accept(visitor) - - return roots - - def leaf_entities(self, entity_type: type[L]) -> Mapping[UUID4, L]: - """ - Return a set of all leaf entities in this bundle. A leaf entity is a - linked entity of a given type that has no descendants of that type. - """ - - empty = {} - - def recurse(entities: Iterable[Entity]) -> Mapping[UUID4, L]: - # Unroll the first two iterations over the argument in order to - # accelerate the common cases - i = iter(entities) - try: - entity = next(i) - except StopIteration: - return empty - else: - try: - next(i) - except StopIteration: - return visit(entity) - else: - return dict_merge(map(visit, entities)) - - def visit(entity: Entity) -> Mapping[UUID4, L]: - if isinstance(entity, LinkedEntity): - leafs = recurse(entity.children.values()) - if leafs: - return leafs - elif isinstance(entity, entity_type): - return {entity.document_id: entity} - return empty - - return recurse(self.root_entities().values()) - - def not_stitched(self, entities: Mapping[UUID, E]) -> list[E]: - return [ - entity - for uuid, entity in entities.items() - if uuid not in self.stitched - ] - - @cached_property - def leaf_cell_suspensions(self) -> Mapping[UUID4, CellSuspension]: - return self.leaf_entities(CellSuspension) - - @property - def specimens(self) -> list[SpecimenFromOrganism]: - return [s for s in self.biomaterials.values() if isinstance(s, SpecimenFromOrganism)] - - @property - def sequencing_input(self) -> list[Biomaterial]: - return [bm for bm in self.biomaterials.values() - if any(ps.is_sequencing_process() for ps in bm.to_processes.values())] - - @property - def sequencing_output(self) -> list[SequenceFile]: - return [f for f in self.files.values() - if isinstance(f, SequenceFile) - and any(ps.is_sequencing_process() for ps in f.from_processes.values())] - - @property - def ref(self) -> EntityReference: - return EntityReference(entity_type='links', entity_id=str(self.uuid)) - - -entity_types = { - # Biomaterials - 'donor_organism': DonorOrganism, - 'specimen_from_organism': SpecimenFromOrganism, - 'cell_suspension': CellSuspension, - 'cell_line': CellLine, - 'organoid': Organoid, - 'imaged_specimen': ImagedSpecimen, - - # Files - 'analysis_file': AnalysisFile, - 'reference_file': ReferenceFile, - 'sequence_file': SequenceFile, - 'supplementary_file': SupplementaryFile, - 'image_file': ImageFile, - - # Protocols - 'protocol': Protocol, - 'analysis_protocol': AnalysisProtocol, - 'aggregate_generation_protocol': AggregateGenerationProtocol, - 'collection_protocol': CollectionProtocol, - 'differentiation_protocol': DifferentiationProtocol, - 'dissociation_protocol': DissociationProtocol, - 'enrichment_protocol': EnrichmentProtocol, - 'ipsc_induction_protocol': IpscInductionProtocol, - 'imaging_protocol': ImagingProtocol, - 'library_preparation_protocol': LibraryPreparationProtocol, - 'sequencing_protocol': SequencingProtocol, - 'imaging_preparation_protocol': ImagingPreparationProtocol, - 'treatment_protocol': TreatmentProtocol, - - 'project': Project, - - # Processes - 'process': Process, - 'analysis_process': AnalysisProcess, - 'dissociation_process': DissociationProcess, - 'enrichment_process': EnrichmentProcess, - 'library_preparation_process': LibraryPreparationProcess, - 'sequencing_process': SequencingProcess -} - -schema_names = { - v: k for k, v in entity_types.items() -} - -core_types = { - entity_type: core_type - for core_type in (Project, Biomaterial, Process, Protocol, File) - for entity_type in entity_types.values() - if issubclass(entity_type, core_type) -} - -assert len(entity_types) == len(schema_names), "The mapping from schema name to entity type is not bijective" - - -def ontology_label(ontology: Mapping[str, str] | None, - default: str | LookupDefault | None = LookupDefault.RAISE) -> str: - """ - Return the best-suited value from the given ontology dictionary. - - >>> ontology_label({'ontology_label': '1', 'text': '2', 'ontology': '3'}) - '1' - - >>> ontology_label({'text': '2', 'ontology': '3'}) - '2' - - >>> ontology_label({'ontology': '3'}) - '3' - - >>> ontology_label({}, default=None) - >>> ontology_label({}, default='default') - 'default' - - >>> ontology_label(None, default=None) - >>> ontology_label(None, default='default') - 'default' - - >>> ontology_label({}) - Traceback (most recent call last): - ... - KeyError: 'ontology_label' - - >>> ontology_label(None) - Traceback (most recent call last): - ... - TypeError: 'NoneType' object is not subscriptable - """ - if ontology is None and default is not LookupDefault.RAISE: - return default - else: - return lookup(ontology, 'ontology_label', 'text', 'ontology', default=default) diff --git a/src/humancellatlas/data/metadata/datetime.py b/src/humancellatlas/data/metadata/datetime.py deleted file mode 100644 index 66502b4c04..0000000000 --- a/src/humancellatlas/data/metadata/datetime.py +++ /dev/null @@ -1,147 +0,0 @@ -from datetime import ( - datetime, - timedelta, - timezone, -) -import re - - -def parse_jsonschema_date_time(s: str) -> datetime | None: - """ - Convert a string in JSONSchema `date-time` format - - https://json-schema.org/understanding-json-schema/reference/string.html#dates-and-times - - to a timezone-aware `datetime` instance. Only up to 6 digits of fractional - seconds are supported. This is a deviation from the standard which allows an - arbitrary number of digits (impracticably so) but Python does not support - more and silent truncation or rounding is not a good option. I never - observed more than six digits in the wild, anyways. - - No fractional seconds, UTC - - >>> parse_jsonschema_date_time('2021-05-05T21:24:26Z') - datetime.datetime(2021, 5, 5, 21, 24, 26, tzinfo=datetime.timezone.utc) - - Fractional seconds, UTC - - >>> parse_jsonschema_date_time('2021-05-05T21:24:26.174274Z') - datetime.datetime(2021, 5, 5, 21, 24, 26, 174274, tzinfo=datetime.timezone.utc) - - Same with zero offset - - >>> parse_jsonschema_date_time('2021-05-05T21:24:26.174274+00:00') - datetime.datetime(2021, 5, 5, 21, 24, 26, 174274, tzinfo=datetime.timezone.utc) - - Same with negative zero offset - - >>> parse_jsonschema_date_time('2021-05-05T21:24:26.174274-00:00') - datetime.datetime(2021, 5, 5, 21, 24, 26, 174274, tzinfo=datetime.timezone.utc) - - Short fraction : - - >>> parse_jsonschema_date_time('2021-05-05T21:24:26.5Z') - datetime.datetime(2021, 5, 5, 21, 24, 26, 500000, tzinfo=datetime.timezone.utc) - - Overlong fraction: - - >>> parse_jsonschema_date_time('2021-05-05T21:24:26.1234567Z') - Traceback (most recent call last): - ... - ValueError: ('Not an RFC-3339 datetime', '2021-05-05T21:24:26.1234567Z') - - - >>> s1 = '2021-05-05T21:24:26.174274+00:00' - >>> s2 = '2021-05-05T14:24:26.174274-07:00' - >>> d1 = parse_jsonschema_date_time(s1) - >>> d2 = parse_jsonschema_date_time(s2) - >>> d1 - datetime.datetime(2021, 5, 5, 21, 24, 26, 174274, tzinfo=datetime.timezone.utc) - - >>> d1 == d2 - True - - >>> d1.tzinfo == d2.tzinfo - False - - >>> parse_jsonschema_date_time('') - Traceback (most recent call last): - ... - ValueError: ('Not an RFC-3339 datetime', '') - - Missing colon in offset: - - >>> parse_jsonschema_date_time('2021-05-05T14:24:26.174274-0700') - Traceback (most recent call last): - ... - ValueError: ('Not an RFC-3339 datetime', '2021-05-05T14:24:26.174274-0700') - - Out of range hour: (this is just a sample; we're relying in datetime to - enforce ranges on all components) - - >>> parse_jsonschema_date_time('2021-05-05T24:24:26Z') - Traceback (most recent call last): - ... - ValueError: hour must be in 0..23 - - Out of range time offset: - - >>> parse_jsonschema_date_time('2021-05-05T21:24:26.174274-24:00') #doctest: +ELLIPSIS - Traceback (most recent call last): - ... - ValueError: offset must be a timedelta strictly between -timedelta(hours=24) and timedelta(hours=24), not ... - - 2020 was a leap year - - >>> parse_jsonschema_date_time('2020-02-29T00:00:00.0Z') - datetime.datetime(2020, 2, 29, 0, 0, tzinfo=datetime.timezone.utc) - - 2021 was not - - >>> parse_jsonschema_date_time('2021-02-29T00:00:00.0Z') - Traceback (most recent call last): - ... - ValueError: day is out of range for month - """ - pattern = re.compile(r''' - (?P\d{4})-(?P\d{2})-(?P\d{2}) - [Tt] - (?P\d{2}):(?P\d{2}):(?P\d{2}) - (?: - \.(?P\d{1,6}) - )? - (?: - (?P[Zz]) - | - (?P[+-])(?P\d{2}):(?P\d{2}) - ) - ''', flags=re.VERBOSE) - m = pattern.fullmatch(s) - if m: - g = m.groupdict() - year, month, day = int(g['year']), int(g['month']), int(g['day']) - hour, minute, second = int(g['hour']), int(g['minute']), int(g['second']) - fractional_second = g['fractional_second'] - if fractional_second is None: - microsecond = 0 - else: - microsecond = int(fractional_second.ljust(6, '0')) - if g['zulu']: - tzinfo = timezone.utc - else: - offset_hour, offset_minute = int(g['offset_hour']), int(g['offset_minute']) - if offset_hour == 0 and offset_minute == 0: - tzinfo = timezone.utc - else: - sign = g['offset_sign'] - if sign == '-': - sign = -1 - elif sign == '+': - sign = 1 - else: - assert False, sign - delta = sign * timedelta(hours=offset_hour, minutes=offset_minute) - tzinfo = timezone(offset=delta) - return datetime(year, month, day, hour, minute, second, microsecond, tzinfo=tzinfo) - else: - raise ValueError('Not an RFC-3339 datetime', s) diff --git a/src/humancellatlas/data/metadata/helpers/json.py b/src/humancellatlas/data/metadata/helpers/json.py deleted file mode 100644 index 464f29afe6..0000000000 --- a/src/humancellatlas/data/metadata/helpers/json.py +++ /dev/null @@ -1,48 +0,0 @@ -import copy -from dataclasses import ( - field, - fields, - is_dataclass, -) -from uuid import ( - UUID, -) - -from humancellatlas.data.metadata.api import ( - Entity, -) - - -def as_json(obj, fld: field = None): - if is_dataclass(obj): - d = {f.name: as_json(getattr(obj, f.name), f) for f in fields(obj) if f.repr} - if isinstance(obj, Entity): - d['schema_name'] = obj.schema_name - return d - elif isinstance(obj, (list, tuple, set)): - return [as_json(v) for v in obj] - elif isinstance(obj, dict): - if fld: - # Convert Mapping[UUID, Entity] to List[Entity]. In a JSON structure we typically don't want dynamic keys. - # That makes it easier to descend a JSON structure using dotted field paths. - key_type, value_type = fld.type.__args__ - if _issubclass_(key_type, UUID) and _issubclass_(value_type, Entity): - return [as_json(v) for v in obj.values()] - else: - return {as_json(k): as_json(v) for k, v in obj.items()} - else: - return {as_json(k): as_json(v) for k, v in obj.items()} - elif isinstance(obj, UUID): - return str(obj) - else: - return copy.deepcopy(obj) - - -def _issubclass_(t, s): - import humancellatlas.data.metadata - # FIXME: This is ugly for various reasons: We might get a forward ref from a different module, not - # humancellatlas.data.metadata. _ForwardRef and _eval_type are internals of `typing`. They are exposed via - # typing.get_type_hints but I am currently struggling to make that work. - if t.__class__.__name__ == '_ForwardRef': - t = t._eval_type(localns={}, globalns=humancellatlas.data.metadata.api.__dict__) - return isinstance(t, type) and isinstance(s, type) and issubclass(t, s) diff --git a/src/humancellatlas/data/metadata/helpers/schema_validation.py b/src/humancellatlas/data/metadata/helpers/schema_validation.py deleted file mode 100644 index 3a96d3dffc..0000000000 --- a/src/humancellatlas/data/metadata/helpers/schema_validation.py +++ /dev/null @@ -1,61 +0,0 @@ -from functools import ( - lru_cache, -) -import json -import logging - -from jsonschema import ( - FormatChecker, - ValidationError, -) -from jsonschema.validators import ( - Draft202012Validator, -) -from referencing import ( - Registry, - Resource, -) -import requests - -from azul import ( - R, - cached_property, -) -from azul.types import ( - JSON, -) - -log = logging.getLogger(__name__) - - -class SchemaValidator: - - def validate_json(self, file_json: JSON, file_name: str): - try: - schema = self._download_json_file(file_json['describedBy']) - except json.decoder.JSONDecodeError: - schema_url = file_json['describedBy'] - assert False, R( - 'Failed to parse schema JSON', file_name, schema_url) - self.validator = self.validator.evolve(schema=schema) - try: - self.validator.validate(file_json) - except ValidationError as e: - assert False, R(*e.args, file_name) - - @lru_cache(maxsize=None) - def _download_json_file(self, file_url: str) -> JSON: - response = requests.get(file_url, allow_redirects=False) - response.raise_for_status() - return response.json() - - def _retrieve_resource(self, resource_url: str) -> Resource: - file_json = self._download_json_file(resource_url) - return Resource.from_contents(file_json) - - @cached_property - def validator(self) -> Draft202012Validator: - registry = Registry(retrieve=self._retrieve_resource) - return Draft202012Validator(schema={}, - registry=registry, - format_checker=FormatChecker()) diff --git a/src/humancellatlas/data/metadata/helpers/staging_area.py b/src/humancellatlas/data/metadata/helpers/staging_area.py deleted file mode 100644 index 7bda07e3e6..0000000000 --- a/src/humancellatlas/data/metadata/helpers/staging_area.py +++ /dev/null @@ -1,318 +0,0 @@ -from collections import ( - defaultdict, -) -import json -import logging -from pathlib import ( - Path, -) -from typing import ( - ClassVar, - Mapping, - Self, - Sequence, - TypeVar, -) -from uuid import ( - UUID, - uuid5, -) - -import attr -from furl import ( - furl, -) - -import git - -from azul import ( - reject, - require, -) -from azul.indexer.document import ( - EntityReference, -) -from azul.types import ( - JSON, - MutableJSON, -) -from humancellatlas.data.metadata.api import ( - Bundle, -) -from humancellatlas.data.metadata.helpers.schema_validation import ( - SchemaValidator, -) - -log = logging.getLogger(__name__) - - -@attr.s(frozen=True, kw_only=True, auto_attribs=True) -class JsonFile: - """ - A JSON file in the staging area. - """ - uuid: str - version: str - name: str - content: MutableJSON - _validator: ClassVar[SchemaValidator] = SchemaValidator() - - def __attrs_post_init__(self): - self._validator.validate_json(self.content, self.name) - - @classmethod - def from_json(cls, file_name: str, content: MutableJSON) -> 'JsonFile': - def parse_file_name(file_name: str) -> Sequence[str]: - suffix = '.json' - assert file_name.endswith(suffix), file_name - return file_name[:-len(suffix)].split('_') - - schema_type = content['schema_type'] - if schema_type == 'links': - subgraph_id, version, project_id = parse_file_name(file_name) - return LinksFile(uuid=subgraph_id, - version=version, - name=file_name, - content=content, - project_id=project_id) - else: - entity_id, version = parse_file_name(file_name) - if schema_type == 'file_descriptor': - return DescriptorFile(uuid=entity_id, - version=version, - name=file_name, - content=content) - else: # 'biomaterial', 'protocol', 'file', ... - return MetadataFile(uuid=entity_id, - version=version, - name=file_name, - content=content) - - -@attr.s(frozen=True, kw_only=True, auto_attribs=True) -class LinksFile(JsonFile): - """ - A file describing the links between entities in a subgraph. - """ - project_id: str - - -@attr.s(frozen=True, kw_only=True, auto_attribs=True) -class MetadataFile(JsonFile): - """ - A file describing one entity (e.g. biomaterial, protocol) in a subgraph. - """ - pass - - -@attr.s(frozen=True, kw_only=True, auto_attribs=True) -class DescriptorFile(JsonFile): - """ - A file containing the checksums and other information for asserting the - integrity of a data file. - """ - namespace: ClassVar[UUID] = UUID('5767014a-c431-4019-8703-0ab1b3e9e4d0') - - @property - def manifest_entry(self): - """ - The content of a descriptor transformed into a format ready to create a - ManifestEntry object. - """ - return { - 'content-type': self.content['content_type'], - 'crc32c': self.content['crc32c'], - 'indexed': False, - 'name': self.content['file_name'], - 's3_etag': self.content['s3_etag'], - 'sha1': self.content['sha1'], - 'sha256': self.content['sha256'], - 'size': self.content['size'], - 'uuid': str(uuid5(self.namespace, self.content['file_name'])), - 'version': self.content['file_version'] - } - - -@attr.s(frozen=True, kw_only=True, auto_attribs=True) -class StagingArea: - links: Mapping[str, LinksFile] # Key is the subgraph ID aka links_id - metadata: Mapping[str, MetadataFile] # Key is the entity ID - descriptors: Mapping[str, DescriptorFile] # Key is the entity ID - - def get_bundle(self, subgraph_id: str) -> Bundle: - """ - Return a bundle from the staging area - """ - version, manifest, metadata, links = self.get_bundle_parts(subgraph_id) - return Bundle(subgraph_id, version, manifest, metadata, links) - - def get_bundle_parts(self, - subgraph_id: str - ) -> tuple[str, MutableJSON, MutableJSON, MutableJSON]: - """ - Return the components to create a bundle from the staging area - """ - links_file = self.links[subgraph_id] - manifest = {} - metadata = {} - entity_ids_by_type = self._entity_ids_by_type(subgraph_id) - for entity_type, entity_ids in entity_ids_by_type.items(): - # Sort entity_ids to produce the same ordering on multiple runs - for entity_id in sorted(entity_ids): - metadata_file = self.metadata[entity_id] - json_content = metadata_file.content - key = str(EntityReference(entity_type=entity_type, entity_id=entity_id)) - metadata[key] = json_content - if entity_type.endswith('_file'): - file_manifest = self.descriptors[entity_id].manifest_entry - manifest[key] = file_manifest - else: - pass - return links_file.version, manifest, metadata, links_file.content - - def _entity_ids_by_type(self, - subgraph_id: str - ) -> dict[str, set[str]]: - """ - Return a mapping of entity types (e.g. 'analysis_file', - 'cell_suspension') to a set of entity IDs - """ - links_file: LinksFile = self.links[subgraph_id] - links_json = links_file.content - entity_ids = defaultdict(set) - # Project ID is only mentioned in the links JSON if there is a - # supplementary_file_link so add it in here to make sure it is included. - entity_ids['project'].add(links_file.project_id) - link: JSON - for link in links_json['links']: - link_type = link['link_type'] - if link_type == 'process_link': - entity_type = link['process_type'] - entity_id = link['process_id'] - entity_ids[entity_type].add(entity_id) - for category in ('input', 'output', 'protocol'): - for file in link[f'{category}s']: - entity_type = file[f'{category}_type'] - entity_id = file[f'{category}_id'] - entity_ids[entity_type].add(entity_id) - elif link_type == 'supplementary_file_link': - for file in link['files']: - entity_type = file['file_type'] - entity_id = file['file_id'] - entity_ids[entity_type].add(entity_id) - else: - raise ValueError('Unknown link type', link_type) - entity_ids.default_factory = None - return entity_ids - - -JSON_FILE = TypeVar('JSON_FILE', bound=JsonFile) - - -@attr.s(frozen=True, kw_only=True, auto_attribs=True) -class CannedStagingAreaFactory: - #: Path to a local directory containing one or more staging areas - base_path: Path - - @classmethod - def clone_remote(cls, remote_url: furl, local_path: Path, ref: str) -> Self: - """ - Clone a remote Git repository and return a factory for staging areas - inside that clone. - - :param remote_url: The URL of a remote Git repository containing one or - more staging areas - - :param local_path: The path to an empty local directory where the - repository will be cloned - - :param ref: A Git ref (branch, tag, or commit SHA) - """ - log.debug('Cloning %s into %s', remote_url, local_path) - repo = git.Repo.clone_from(str(remote_url), local_path) - log.debug('Checking out ref %s', ref) - repo.git.checkout(ref) - return cls(base_path=local_path) - - def load_staging_area(self, path: Path) -> StagingArea: - """ - Create and return a staging area object from the files in a local - staging area. - - :param path: The relative path from `self.base_path` to a local staging - area - """ - path = self.base_path / path - staging_area_folders = {p.name for p in path.iterdir()} - expected_folders = {'data', 'descriptors', 'links', 'metadata'} - require(expected_folders == staging_area_folders, - 'Invalid staging area', path) - return StagingArea(links=self._get_link_files(path), - metadata=self._get_metadata_files(path), - descriptors=self._get_descriptor_files(path)) - - def _get_link_files(self, path: Path) -> dict[str, LinksFile]: - """ - Return a mapping of file ID to file content for all the link files in - the staging area. - """ - return self._get_files(path=path / 'links', file_cls=LinksFile) - - def _get_metadata_files(self, path: Path) -> dict[str, MetadataFile]: - """ - Return a mapping of file ID to file content for all the metadata files - in the staging area. - """ - files = {} - for sub_dir in (path / 'metadata').iterdir(): - assert sub_dir.is_dir() - files.update(self._get_files(path=sub_dir, file_cls=MetadataFile)) - return files - - def _get_descriptor_files(self, path: Path) -> dict[str, DescriptorFile]: - """ - Return a mapping of file ID to file content for all the descriptor files - in the staging area. - """ - files = {} - for sub_dir in (path / 'descriptors').iterdir(): - assert sub_dir.is_dir() - files.update(self._get_files(path=sub_dir, file_cls=DescriptorFile)) - return files - - def _get_files(self, - path: Path, - file_cls: type[JSON_FILE] - ) -> dict[str, JSON_FILE]: - """ - Return a mapping of file ID to file content for all the files found in - the directory at the given path. - """ - files = {} - log.debug('Reading files in %s', path) - for file in path.iterdir(): - assert file.is_file() - with open(file, 'r') as f: - content = json.load(f) - file_name = file.name - json_file = JsonFile.from_json(file_name, content) - require(isinstance(json_file, file_cls), json_file) - self._add_file(files, json_file) - return files - - def _add_file(self, files: dict[str, JSON_FILE], file: JSON_FILE) -> None: - """ - Add `file` to `files`. If a file with the same ID already exists in - `files`, the file with the most recent version will be kept. - """ - try: - existing_version = files[file.uuid].version - except KeyError: - files[file.uuid] = file - else: - reject(file.version == existing_version, file) - if file.version > existing_version: - files[file.uuid] = file - else: - log.debug('Discarding previous %s version of file %s', - existing_version, file) diff --git a/src/humancellatlas/data/metadata/lookup.py b/src/humancellatlas/data/metadata/lookup.py deleted file mode 100644 index 41fd21f679..0000000000 --- a/src/humancellatlas/data/metadata/lookup.py +++ /dev/null @@ -1,73 +0,0 @@ -from enum import ( - Enum, -) -from typing import ( - Mapping, - TypeVar, -) - -K = TypeVar('K') -V = TypeVar('V') - - -class LookupDefault(Enum): - RAISE = 0 - - -def lookup(d: Mapping[K, V], - k: K, - *ks: K, - default: V | LookupDefault | None = LookupDefault.RAISE - ) -> V: - """ - Look up a value in the specified dictionary given one or more candidate keys. - - This function raises a key error for the first (!) key if none of the keys are present and the `default` keyword - argument absent. If the `default` keyword argument is present (None is a valid default), this function returns - that argument instead of raising an KeyError in that case. This is notably different to dict.get() whose default - default is `None`. This function does not have a default default. - - If the first key is present, return its value ... - >>> lookup({1:2}, 1) - 2 - - ... and ignore the other keys. - >>> lookup({1:2}, 1, 3) - 2 - - If the first key is absent, try the fallbacks. - >>> lookup({1:2}, 3, 1) - 2 - - If the key isn't present, raise a KeyError referring to that key. - >>> lookup({1:2}, 3) - Traceback (most recent call last): - ... - KeyError: 3 - - If neither the first key nor the fallbacks are present, raise a KeyError referring to the first key. - >>> lookup({1:2}, 3, 4) - Traceback (most recent call last): - ... - KeyError: 3 - - If the key isn't present but a default was passed, return the default. - >>> lookup({1:2}, 3, default=4) - 4 - - None is a valid default. - >>> lookup({1:2}, 3, 4, default=None) is None - True - """ - try: - return d[k] - except KeyError: - for k in ks: - try: - return d[k] - except KeyError: - pass - if default is LookupDefault.RAISE: - raise - else: - return default diff --git a/stubs/hca/dss/__init__.pyi b/stubs/hca/dss/__init__.pyi deleted file mode 100644 index 219b75d783..0000000000 --- a/stubs/hca/dss/__init__.pyi +++ /dev/null @@ -1,20 +0,0 @@ -from hca.util import SwaggerClient - - -class _Method: - - def _request(self): ... - - def __call__(self, *args, **kwargs): ... - - -class DSSClient(SwaggerClient): - get_bundle = _Method() - get_file = _Method() - put_file = _Method() - put_bundle = _Method() - get_subscriptions = _Method() - put_subscription = _Method() - delete_subscription = _Method() - post_search = _Method() - get_bundles_all = _Method() diff --git a/swagger/index.html b/swagger/index.html deleted file mode 100644 index 84ae62d3da..0000000000 --- a/swagger/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - Swagger UI - - - - - - - -
    - - - - - diff --git a/swagger/oauth2-redirect.html b/swagger/oauth2-redirect.html deleted file mode 100644 index 5640917181..0000000000 --- a/swagger/oauth2-redirect.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - Swagger UI: OAuth2 Redirect - - - - - diff --git a/swagger/oauth2-redirect.html.template.mustache b/swagger/oauth2-redirect.html.template.mustache deleted file mode 100644 index fad71fcd78..0000000000 --- a/swagger/oauth2-redirect.html.template.mustache +++ /dev/null @@ -1,79 +0,0 @@ - - - - Swagger UI: OAuth2 Redirect - - - - - diff --git a/swagger/swagger-initializer.js b/swagger/swagger-initializer.js deleted file mode 100644 index 8ea0ea3afc..0000000000 --- a/swagger/swagger-initializer.js +++ /dev/null @@ -1,20 +0,0 @@ -window.onload = function() { - // - - // the following lines will be replaced by docker/configurator, when it runs in a docker-container - window.ui = SwaggerUIBundle({ - url: "https://petstore.swagger.io/v2/swagger.json", - dom_id: '#swagger-ui', - deepLinking: true, - presets: [ - SwaggerUIBundle.presets.apis, - SwaggerUIStandalonePreset - ], - plugins: [ - SwaggerUIBundle.plugins.DownloadUrl - ], - layout: "StandaloneLayout" - }); - - // -}; diff --git a/swagger/swagger-initializer.js.template.mustache b/swagger/swagger-initializer.js.template.mustache deleted file mode 100644 index b83e4b5207..0000000000 --- a/swagger/swagger-initializer.js.template.mustache +++ /dev/null @@ -1,41 +0,0 @@ -window.onload = function() { - // - - // Adapted from https://github.com/swagger-api/swagger-ui/issues/3725#issuecomment-334899276 - const DisableTryItOutPlugin = function() { - return { - statePlugins: { - spec: { - wrapSelectors: { - allowTryItOutFor: (oriSelector, system) => (state, ...args) => { - return oriSelector(state, ...args) && ({{{NON_INTERACTIVE_METHODS}}}.indexOf(args.join('/')) == -1); - } - } - } - } - } - } - - window.ui = SwaggerUIBundle({ - url: {{{OPENAPI_SPEC}}}, - dom_id: '#swagger-ui', - deepLinking: true, - presets: [ - SwaggerUIBundle.presets.apis - ], - plugins: [ - SwaggerUIBundle.plugins.DownloadUrl, - DisableTryItOutPlugin - ], - oauth2RedirectUrl: {{{OAUTH2_REDIRECT_URL}}} - }); - - const client_id = {{{OAUTH2_CLIENT_ID}}}; - if (client_id !== null) { - window.ui.initOAuth({ - clientId: client_id - }) - } - - // -}; diff --git a/swagger/swagger-ui-bundle.js b/swagger/swagger-ui-bundle.js deleted file mode 100644 index a080132459..0000000000 --- a/swagger/swagger-ui-bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see swagger-ui-bundle.js.LICENSE.txt */ -!function webpackUniversalModuleDefinition(s,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.SwaggerUIBundle=o():s.SwaggerUIBundle=o()}(this,(()=>(()=>{var s={251:(s,o)=>{o.read=function(s,o,i,a,u){var _,w,x=8*u-a-1,C=(1<>1,L=-7,B=i?u-1:0,$=i?-1:1,V=s[o+B];for(B+=$,_=V&(1<<-L)-1,V>>=-L,L+=x;L>0;_=256*_+s[o+B],B+=$,L-=8);for(w=_&(1<<-L)-1,_>>=-L,L+=a;L>0;w=256*w+s[o+B],B+=$,L-=8);if(0===_)_=1-j;else{if(_===C)return w?NaN:1/0*(V?-1:1);w+=Math.pow(2,a),_-=j}return(V?-1:1)*w*Math.pow(2,_-a)},o.write=function(s,o,i,a,u,_){var w,x,C,j=8*_-u-1,L=(1<>1,$=23===u?Math.pow(2,-24)-Math.pow(2,-77):0,V=a?0:_-1,U=a?1:-1,z=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(x=isNaN(o)?1:0,w=L):(w=Math.floor(Math.log(o)/Math.LN2),o*(C=Math.pow(2,-w))<1&&(w--,C*=2),(o+=w+B>=1?$/C:$*Math.pow(2,1-B))*C>=2&&(w++,C/=2),w+B>=L?(x=0,w=L):w+B>=1?(x=(o*C-1)*Math.pow(2,u),w+=B):(x=o*Math.pow(2,B-1)*Math.pow(2,u),w=0));u>=8;s[i+V]=255&x,V+=U,x/=256,u-=8);for(w=w<0;s[i+V]=255&w,V+=U,w/=256,j-=8);s[i+V-U]|=128*z}},462:(s,o,i)=>{"use strict";var a=i(40975);s.exports=a},659:(s,o,i)=>{var a=i(51873),u=Object.prototype,_=u.hasOwnProperty,w=u.toString,x=a?a.toStringTag:void 0;s.exports=function getRawTag(s){var o=_.call(s,x),i=s[x];try{s[x]=void 0;var a=!0}catch(s){}var u=w.call(s);return a&&(o?s[x]=i:delete s[x]),u}},694:(s,o,i)=>{"use strict";i(91599);var a=i(37257);i(12560),s.exports=a},953:(s,o,i)=>{"use strict";s.exports=i(53375)},1733:s=>{var o=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;s.exports=function asciiWords(s){return s.match(o)||[]}},1882:(s,o,i)=>{var a=i(72552),u=i(23805);s.exports=function isFunction(s){if(!u(s))return!1;var o=a(s);return"[object Function]"==o||"[object GeneratorFunction]"==o||"[object AsyncFunction]"==o||"[object Proxy]"==o}},1907:(s,o,i)=>{"use strict";var a=i(41505),u=Function.prototype,_=u.call,w=a&&u.bind.bind(_,_);s.exports=a?w:function(s){return function(){return _.apply(s,arguments)}}},2205:function(s,o,i){var a;a=void 0!==i.g?i.g:this,s.exports=function(s){if(s.CSS&&s.CSS.escape)return s.CSS.escape;var cssEscape=function(s){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var o,i=String(s),a=i.length,u=-1,_="",w=i.charCodeAt(0);++u=1&&o<=31||127==o||0==u&&o>=48&&o<=57||1==u&&o>=48&&o<=57&&45==w?"\\"+o.toString(16)+" ":0==u&&1==a&&45==o||!(o>=128||45==o||95==o||o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122)?"\\"+i.charAt(u):i.charAt(u):_+="�";return _};return s.CSS||(s.CSS={}),s.CSS.escape=cssEscape,cssEscape}(a)},2209:(s,o,i)=>{"use strict";var a,u=i(9404),_=function productionTypeChecker(){invariant(!1,"ImmutablePropTypes type checking code is stripped in production.")};_.isRequired=_;var w=function getProductionTypeChecker(){return _};function getPropType(s){var o=typeof s;return Array.isArray(s)?"array":s instanceof RegExp?"object":s instanceof u.Iterable?"Immutable."+s.toSource().split(" ")[0]:o}function createChainableTypeChecker(s){function checkType(o,i,a,u,_,w){for(var x=arguments.length,C=Array(x>6?x-6:0),j=6;j>",null!=i[a]?s.apply(void 0,[i,a,u,_,w].concat(C)):o?new Error("Required "+_+" `"+w+"` was not specified in `"+u+"`."):void 0}var o=checkType.bind(null,!1);return o.isRequired=checkType.bind(null,!0),o}function createIterableSubclassTypeChecker(s,o){return function createImmutableTypeChecker(s,o){return createChainableTypeChecker((function validate(i,a,u,_,w){var x=i[a];if(!o(x)){var C=getPropType(x);return new Error("Invalid "+_+" `"+w+"` of type `"+C+"` supplied to `"+u+"`, expected `"+s+"`.")}return null}))}("Iterable."+s,(function(s){return u.Iterable.isIterable(s)&&o(s)}))}(a={listOf:w,mapOf:w,orderedMapOf:w,setOf:w,orderedSetOf:w,stackOf:w,iterableOf:w,recordOf:w,shape:w,contains:w,mapContains:w,orderedMapContains:w,list:_,map:_,orderedMap:_,set:_,orderedSet:_,stack:_,seq:_,record:_,iterable:_}).iterable.indexed=createIterableSubclassTypeChecker("Indexed",u.Iterable.isIndexed),a.iterable.keyed=createIterableSubclassTypeChecker("Keyed",u.Iterable.isKeyed),s.exports=a},2404:(s,o,i)=>{var a=i(60270);s.exports=function isEqual(s,o){return a(s,o)}},2523:s=>{s.exports=function baseFindIndex(s,o,i,a){for(var u=s.length,_=i+(a?1:-1);a?_--:++_{"use strict";var a=i(45951),u=Object.defineProperty;s.exports=function(s,o){try{u(a,s,{value:o,configurable:!0,writable:!0})}catch(i){a[s]=o}return o}},2694:(s,o,i)=>{"use strict";var a=i(6925);function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction,s.exports=function(){function shim(s,o,i,u,_,w){if(w!==a){var x=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw x.name="Invariant Violation",x}}function getShim(){return shim}shim.isRequired=shim;var s={array:shim,bigint:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,elementType:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return s.PropTypes=s,s}},2874:s=>{s.exports={}},2875:(s,o,i)=>{"use strict";var a=i(23045),u=i(80376);s.exports=Object.keys||function keys(s){return a(s,u)}},2955:(s,o,i)=>{"use strict";var a,u=i(65606);function _defineProperty(s,o,i){return(o=function _toPropertyKey(s){var o=function _toPrimitive(s,o){if("object"!=typeof s||null===s)return s;var i=s[Symbol.toPrimitive];if(void 0!==i){var a=i.call(s,o||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===o?String:Number)(s)}(s,"string");return"symbol"==typeof o?o:String(o)}(o))in s?Object.defineProperty(s,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):s[o]=i,s}var _=i(86238),w=Symbol("lastResolve"),x=Symbol("lastReject"),C=Symbol("error"),j=Symbol("ended"),L=Symbol("lastPromise"),B=Symbol("handlePromise"),$=Symbol("stream");function createIterResult(s,o){return{value:s,done:o}}function readAndResolve(s){var o=s[w];if(null!==o){var i=s[$].read();null!==i&&(s[L]=null,s[w]=null,s[x]=null,o(createIterResult(i,!1)))}}function onReadable(s){u.nextTick(readAndResolve,s)}var V=Object.getPrototypeOf((function(){})),U=Object.setPrototypeOf((_defineProperty(a={get stream(){return this[$]},next:function next(){var s=this,o=this[C];if(null!==o)return Promise.reject(o);if(this[j])return Promise.resolve(createIterResult(void 0,!0));if(this[$].destroyed)return new Promise((function(o,i){u.nextTick((function(){s[C]?i(s[C]):o(createIterResult(void 0,!0))}))}));var i,a=this[L];if(a)i=new Promise(function wrapForNext(s,o){return function(i,a){s.then((function(){o[j]?i(createIterResult(void 0,!0)):o[B](i,a)}),a)}}(a,this));else{var _=this[$].read();if(null!==_)return Promise.resolve(createIterResult(_,!1));i=new Promise(this[B])}return this[L]=i,i}},Symbol.asyncIterator,(function(){return this})),_defineProperty(a,"return",(function _return(){var s=this;return new Promise((function(o,i){s[$].destroy(null,(function(s){s?i(s):o(createIterResult(void 0,!0))}))}))})),a),V);s.exports=function createReadableStreamAsyncIterator(s){var o,i=Object.create(U,(_defineProperty(o={},$,{value:s,writable:!0}),_defineProperty(o,w,{value:null,writable:!0}),_defineProperty(o,x,{value:null,writable:!0}),_defineProperty(o,C,{value:null,writable:!0}),_defineProperty(o,j,{value:s._readableState.endEmitted,writable:!0}),_defineProperty(o,B,{value:function value(s,o){var a=i[$].read();a?(i[L]=null,i[w]=null,i[x]=null,s(createIterResult(a,!1))):(i[w]=s,i[x]=o)},writable:!0}),o));return i[L]=null,_(s,(function(s){if(s&&"ERR_STREAM_PREMATURE_CLOSE"!==s.code){var o=i[x];return null!==o&&(i[L]=null,i[w]=null,i[x]=null,o(s)),void(i[C]=s)}var a=i[w];null!==a&&(i[L]=null,i[w]=null,i[x]=null,a(createIterResult(void 0,!0))),i[j]=!0})),s.on("readable",onReadable.bind(null,i)),i}},3110:(s,o,i)=>{const a=i(5187),u=i(85015),_=i(98023),w=i(53812),x=i(23805),C=i(85105),j=i(86804);class Namespace{constructor(s){this.elementMap={},this.elementDetection=[],this.Element=j.Element,this.KeyValuePair=j.KeyValuePair,s&&s.noDefault||this.useDefault(),this._attributeElementKeys=[],this._attributeElementArrayKeys=[]}use(s){return s.namespace&&s.namespace({base:this}),s.load&&s.load({base:this}),this}useDefault(){return this.register("null",j.NullElement).register("string",j.StringElement).register("number",j.NumberElement).register("boolean",j.BooleanElement).register("array",j.ArrayElement).register("object",j.ObjectElement).register("member",j.MemberElement).register("ref",j.RefElement).register("link",j.LinkElement),this.detect(a,j.NullElement,!1).detect(u,j.StringElement,!1).detect(_,j.NumberElement,!1).detect(w,j.BooleanElement,!1).detect(Array.isArray,j.ArrayElement,!1).detect(x,j.ObjectElement,!1),this}register(s,o){return this._elements=void 0,this.elementMap[s]=o,this}unregister(s){return this._elements=void 0,delete this.elementMap[s],this}detect(s,o,i){return void 0===i||i?this.elementDetection.unshift([s,o]):this.elementDetection.push([s,o]),this}toElement(s){if(s instanceof this.Element)return s;let o;for(let i=0;i{const o=s[0].toUpperCase()+s.substr(1);this._elements[o]=this.elementMap[s]}))),this._elements}get serialiser(){return new C(this)}}C.prototype.Namespace=Namespace,s.exports=Namespace},3121:(s,o,i)=>{"use strict";var a=i(65482),u=Math.min;s.exports=function(s){var o=a(s);return o>0?u(o,9007199254740991):0}},3209:(s,o,i)=>{var a=i(91596),u=i(53320),_=i(36306),w="__lodash_placeholder__",x=128,C=Math.min;s.exports=function mergeData(s,o){var i=s[1],j=o[1],L=i|j,B=L<131,$=j==x&&8==i||j==x&&256==i&&s[7].length<=o[8]||384==j&&o[7].length<=o[8]&&8==i;if(!B&&!$)return s;1&j&&(s[2]=o[2],L|=1&i?0:4);var V=o[3];if(V){var U=s[3];s[3]=U?a(U,V,o[4]):V,s[4]=U?_(s[3],w):o[4]}return(V=o[5])&&(U=s[5],s[5]=U?u(U,V,o[6]):V,s[6]=U?_(s[5],w):o[6]),(V=o[7])&&(s[7]=V),j&x&&(s[8]=null==s[8]?o[8]:C(s[8],o[8])),null==s[9]&&(s[9]=o[9]),s[0]=o[0],s[1]=L,s}},3650:(s,o,i)=>{var a=i(74335)(Object.keys,Object);s.exports=a},3656:(s,o,i)=>{s=i.nmd(s);var a=i(9325),u=i(89935),_=o&&!o.nodeType&&o,w=_&&s&&!s.nodeType&&s,x=w&&w.exports===_?a.Buffer:void 0,C=(x?x.isBuffer:void 0)||u;s.exports=C},4509:(s,o,i)=>{var a=i(12651);s.exports=function mapCacheHas(s){return a(this,s).has(s)}},4640:s=>{"use strict";var o=String;s.exports=function(s){try{return o(s)}catch(s){return"Object"}}},4664:(s,o,i)=>{var a=i(79770),u=i(63345),_=Object.prototype.propertyIsEnumerable,w=Object.getOwnPropertySymbols,x=w?function(s){return null==s?[]:(s=Object(s),a(w(s),(function(o){return _.call(s,o)})))}:u;s.exports=x},4901:(s,o,i)=>{var a=i(72552),u=i(30294),_=i(40346),w={};w["[object Float32Array]"]=w["[object Float64Array]"]=w["[object Int8Array]"]=w["[object Int16Array]"]=w["[object Int32Array]"]=w["[object Uint8Array]"]=w["[object Uint8ClampedArray]"]=w["[object Uint16Array]"]=w["[object Uint32Array]"]=!0,w["[object Arguments]"]=w["[object Array]"]=w["[object ArrayBuffer]"]=w["[object Boolean]"]=w["[object DataView]"]=w["[object Date]"]=w["[object Error]"]=w["[object Function]"]=w["[object Map]"]=w["[object Number]"]=w["[object Object]"]=w["[object RegExp]"]=w["[object Set]"]=w["[object String]"]=w["[object WeakMap]"]=!1,s.exports=function baseIsTypedArray(s){return _(s)&&u(s.length)&&!!w[a(s)]}},4993:(s,o,i)=>{"use strict";var a=i(16946),u=i(74239);s.exports=function(s){return a(u(s))}},5187:s=>{s.exports=function isNull(s){return null===s}},5419:s=>{s.exports=function(s,o,i,a){var u=new Blob(void 0!==a?[a,s]:[s],{type:i||"application/octet-stream"});if(void 0!==window.navigator.msSaveBlob)window.navigator.msSaveBlob(u,o);else{var _=window.URL&&window.URL.createObjectURL?window.URL.createObjectURL(u):window.webkitURL.createObjectURL(u),w=document.createElement("a");w.style.display="none",w.href=_,w.setAttribute("download",o),void 0===w.download&&w.setAttribute("target","_blank"),document.body.appendChild(w),w.click(),setTimeout((function(){document.body.removeChild(w),window.URL.revokeObjectURL(_)}),200)}}},5556:(s,o,i)=>{s.exports=i(2694)()},5861:(s,o,i)=>{var a=i(55580),u=i(68223),_=i(32804),w=i(76545),x=i(28303),C=i(72552),j=i(47473),L="[object Map]",B="[object Promise]",$="[object Set]",V="[object WeakMap]",U="[object DataView]",z=j(a),Y=j(u),Z=j(_),ee=j(w),ie=j(x),ae=C;(a&&ae(new a(new ArrayBuffer(1)))!=U||u&&ae(new u)!=L||_&&ae(_.resolve())!=B||w&&ae(new w)!=$||x&&ae(new x)!=V)&&(ae=function(s){var o=C(s),i="[object Object]"==o?s.constructor:void 0,a=i?j(i):"";if(a)switch(a){case z:return U;case Y:return L;case Z:return B;case ee:return $;case ie:return V}return o}),s.exports=ae},6048:s=>{s.exports=function negate(s){if("function"!=typeof s)throw new TypeError("Expected a function");return function(){var o=arguments;switch(o.length){case 0:return!s.call(this);case 1:return!s.call(this,o[0]);case 2:return!s.call(this,o[0],o[1]);case 3:return!s.call(this,o[0],o[1],o[2])}return!s.apply(this,o)}}},6205:s=>{s.exports={ROOT:0,GROUP:1,POSITION:2,SET:3,RANGE:4,REPETITION:5,REFERENCE:6,CHAR:7}},6233:(s,o,i)=>{const a=i(6048),u=i(10316),_=i(92340);class ArrayElement extends u{constructor(s,o,i){super(s||[],o,i),this.element="array"}primitive(){return"array"}get(s){return this.content[s]}getValue(s){const o=this.get(s);if(o)return o.toValue()}getIndex(s){return this.content[s]}set(s,o){return this.content[s]=this.refract(o),this}remove(s){const o=this.content.splice(s,1);return o.length?o[0]:null}map(s,o){return this.content.map(s,o)}flatMap(s,o){return this.map(s,o).reduce(((s,o)=>s.concat(o)),[])}compactMap(s,o){const i=[];return this.forEach((a=>{const u=s.bind(o)(a);u&&i.push(u)})),i}filter(s,o){return new _(this.content.filter(s,o))}reject(s,o){return this.filter(a(s),o)}reduce(s,o){let i,a;void 0!==o?(i=0,a=this.refract(o)):(i=1,a="object"===this.primitive()?this.first.value:this.first);for(let o=i;o{s.bind(o)(i,this.refract(a))}))}shift(){return this.content.shift()}unshift(s){this.content.unshift(this.refract(s))}push(s){return this.content.push(this.refract(s)),this}add(s){this.push(s)}findElements(s,o){const i=o||{},a=!!i.recursive,u=void 0===i.results?[]:i.results;return this.forEach(((o,i,_)=>{a&&void 0!==o.findElements&&o.findElements(s,{results:u,recursive:a}),s(o,i,_)&&u.push(o)})),u}find(s){return new _(this.findElements(s,{recursive:!0}))}findByElement(s){return this.find((o=>o.element===s))}findByClass(s){return this.find((o=>o.classes.includes(s)))}getById(s){return this.find((o=>o.id.toValue()===s)).first}includes(s){return this.content.some((o=>o.equals(s)))}contains(s){return this.includes(s)}empty(){return new this.constructor([])}"fantasy-land/empty"(){return this.empty()}concat(s){return new this.constructor(this.content.concat(s.content))}"fantasy-land/concat"(s){return this.concat(s)}"fantasy-land/map"(s){return new this.constructor(this.map(s))}"fantasy-land/chain"(s){return this.map((o=>s(o)),this).reduce(((s,o)=>s.concat(o)),this.empty())}"fantasy-land/filter"(s){return new this.constructor(this.content.filter(s))}"fantasy-land/reduce"(s,o){return this.content.reduce(s,o)}get length(){return this.content.length}get isEmpty(){return 0===this.content.length}get first(){return this.getIndex(0)}get second(){return this.getIndex(1)}get last(){return this.getIndex(this.length-1)}}ArrayElement.empty=function empty(){return new this},ArrayElement["fantasy-land/empty"]=ArrayElement.empty,"undefined"!=typeof Symbol&&(ArrayElement.prototype[Symbol.iterator]=function symbol(){return this.content[Symbol.iterator]()}),s.exports=ArrayElement},6499:(s,o,i)=>{"use strict";var a=i(1907),u=0,_=Math.random(),w=a(1..toString);s.exports=function(s){return"Symbol("+(void 0===s?"":s)+")_"+w(++u+_,36)}},6925:s=>{"use strict";s.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},7057:(s,o,i)=>{"use strict";var a=i(11470).charAt,u=i(90160),_=i(64932),w=i(60183),x=i(59550),C="String Iterator",j=_.set,L=_.getterFor(C);w(String,"String",(function(s){j(this,{type:C,string:u(s),index:0})}),(function next(){var s,o=L(this),i=o.string,u=o.index;return u>=i.length?x(void 0,!0):(s=a(i,u),o.index+=s.length,x(s,!1))}))},7309:(s,o,i)=>{var a=i(62006)(i(24713));s.exports=a},7376:s=>{"use strict";s.exports=!0},7463:(s,o,i)=>{"use strict";var a=i(98828),u=i(62250),_=/#|\.prototype\./,isForced=function(s,o){var i=x[w(s)];return i===j||i!==C&&(u(o)?a(o):!!o)},w=isForced.normalize=function(s){return String(s).replace(_,".").toLowerCase()},x=isForced.data={},C=isForced.NATIVE="N",j=isForced.POLYFILL="P";s.exports=isForced},7666:(s,o,i)=>{var a=i(84851),u=i(953);function _extends(){var o;return s.exports=_extends=a?u(o=a).call(o):function(s){for(var o=1;o{const a=i(6205);o.wordBoundary=()=>({type:a.POSITION,value:"b"}),o.nonWordBoundary=()=>({type:a.POSITION,value:"B"}),o.begin=()=>({type:a.POSITION,value:"^"}),o.end=()=>({type:a.POSITION,value:"$"})},8068:s=>{"use strict";var o=(()=>{var s=Object.defineProperty,o=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable,__defNormalProp=(o,i,a)=>i in o?s(o,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):o[i]=a,__spreadValues=(s,o)=>{for(var i in o||(o={}))u.call(o,i)&&__defNormalProp(s,i,o[i]);if(a)for(var i of a(o))_.call(o,i)&&__defNormalProp(s,i,o[i]);return s},__publicField=(s,o,i)=>__defNormalProp(s,"symbol"!=typeof o?o+"":o,i),w={};((o,i)=>{for(var a in i)s(o,a,{get:i[a],enumerable:!0})})(w,{DEFAULT_OPTIONS:()=>C,DEFAULT_UUID_LENGTH:()=>x,default:()=>B});var x=6,C={dictionary:"alphanum",shuffle:!0,debug:!1,length:x,counter:0},j=class _ShortUniqueId{constructor(s={}){__publicField(this,"counter"),__publicField(this,"debug"),__publicField(this,"dict"),__publicField(this,"version"),__publicField(this,"dictIndex",0),__publicField(this,"dictRange",[]),__publicField(this,"lowerBound",0),__publicField(this,"upperBound",0),__publicField(this,"dictLength",0),__publicField(this,"uuidLength"),__publicField(this,"_digit_first_ascii",48),__publicField(this,"_digit_last_ascii",58),__publicField(this,"_alpha_lower_first_ascii",97),__publicField(this,"_alpha_lower_last_ascii",123),__publicField(this,"_hex_last_ascii",103),__publicField(this,"_alpha_upper_first_ascii",65),__publicField(this,"_alpha_upper_last_ascii",91),__publicField(this,"_number_dict_ranges",{digits:[this._digit_first_ascii,this._digit_last_ascii]}),__publicField(this,"_alpha_dict_ranges",{lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii],upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]}),__publicField(this,"_alpha_lower_dict_ranges",{lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii]}),__publicField(this,"_alpha_upper_dict_ranges",{upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]}),__publicField(this,"_alphanum_dict_ranges",{digits:[this._digit_first_ascii,this._digit_last_ascii],lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii],upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]}),__publicField(this,"_alphanum_lower_dict_ranges",{digits:[this._digit_first_ascii,this._digit_last_ascii],lowerCase:[this._alpha_lower_first_ascii,this._alpha_lower_last_ascii]}),__publicField(this,"_alphanum_upper_dict_ranges",{digits:[this._digit_first_ascii,this._digit_last_ascii],upperCase:[this._alpha_upper_first_ascii,this._alpha_upper_last_ascii]}),__publicField(this,"_hex_dict_ranges",{decDigits:[this._digit_first_ascii,this._digit_last_ascii],alphaDigits:[this._alpha_lower_first_ascii,this._hex_last_ascii]}),__publicField(this,"_dict_ranges",{_number_dict_ranges:this._number_dict_ranges,_alpha_dict_ranges:this._alpha_dict_ranges,_alpha_lower_dict_ranges:this._alpha_lower_dict_ranges,_alpha_upper_dict_ranges:this._alpha_upper_dict_ranges,_alphanum_dict_ranges:this._alphanum_dict_ranges,_alphanum_lower_dict_ranges:this._alphanum_lower_dict_ranges,_alphanum_upper_dict_ranges:this._alphanum_upper_dict_ranges,_hex_dict_ranges:this._hex_dict_ranges}),__publicField(this,"log",((...s)=>{const o=[...s];o[0]="[short-unique-id] ".concat(s[0]),!0!==this.debug||"undefined"==typeof console||null===console||console.log(...o)})),__publicField(this,"_normalizeDictionary",((s,o)=>{let i;if(s&&Array.isArray(s)&&s.length>1)i=s;else{i=[],this.dictIndex=0;const o="_".concat(s,"_dict_ranges"),a=this._dict_ranges[o];let u=0;for(const[,s]of Object.entries(a)){const[o,i]=s;u+=Math.abs(i-o)}i=new Array(u);let _=0;for(const[,s]of Object.entries(a)){this.dictRange=s,this.lowerBound=this.dictRange[0],this.upperBound=this.dictRange[1];const o=this.lowerBound<=this.upperBound,a=this.lowerBound,u=this.upperBound;if(o)for(let s=a;su;s--)i[_++]=String.fromCharCode(s),this.dictIndex=s}i.length=_}if(o){for(let s=i.length-1;s>0;s--){const o=Math.floor(Math.random()*(s+1));[i[s],i[o]]=[i[o],i[s]]}}return i})),__publicField(this,"setDictionary",((s,o)=>{this.dict=this._normalizeDictionary(s,o),this.dictLength=this.dict.length,this.setCounter(0)})),__publicField(this,"seq",(()=>this.sequentialUUID())),__publicField(this,"sequentialUUID",(()=>{const s=this.dictLength,o=this.dict;let i=this.counter;const a=[];do{const u=i%s;i=Math.trunc(i/s),a.push(o[u])}while(0!==i);const u=a.join("");return this.counter+=1,u})),__publicField(this,"rnd",((s=this.uuidLength||x)=>this.randomUUID(s))),__publicField(this,"randomUUID",((s=this.uuidLength||x)=>{if(null==s||s<1)throw new Error("Invalid UUID Length Provided");const o=new Array(s),i=this.dictLength,a=this.dict;for(let u=0;uthis.formattedUUID(s,o))),__publicField(this,"formattedUUID",((s,o)=>{const i={$r:this.randomUUID,$s:this.sequentialUUID,$t:this.stamp};return s.replace(/\$[rs]\d{0,}|\$t0|\$t[1-9]\d{1,}/g,(s=>{const a=s.slice(0,2),u=Number.parseInt(s.slice(2),10);return"$s"===a?i[a]().padStart(u,"0"):"$t"===a&&o?i[a](u,o):i[a](u)}))})),__publicField(this,"availableUUIDs",((s=this.uuidLength)=>Number.parseFloat(([...new Set(this.dict)].length**s).toFixed(0)))),__publicField(this,"_collisionCache",new Map),__publicField(this,"approxMaxBeforeCollision",((s=this.availableUUIDs(this.uuidLength))=>{const o=s,i=this._collisionCache.get(o);if(void 0!==i)return i;const a=Number.parseFloat(Math.sqrt(Math.PI/2*s).toFixed(20));return this._collisionCache.set(o,a),a})),__publicField(this,"collisionProbability",((s=this.availableUUIDs(this.uuidLength),o=this.uuidLength)=>Number.parseFloat((this.approxMaxBeforeCollision(s)/this.availableUUIDs(o)).toFixed(20)))),__publicField(this,"uniqueness",((s=this.availableUUIDs(this.uuidLength))=>{const o=Number.parseFloat((1-this.approxMaxBeforeCollision(s)/s).toFixed(20));return o>1?1:o<0?0:o})),__publicField(this,"getVersion",(()=>this.version)),__publicField(this,"stamp",((s,o)=>{const i=Math.floor(+(o||new Date)/1e3).toString(16);if("number"==typeof s&&0===s)return i;if("number"!=typeof s||s<10)throw new Error(["Param finalLength must be a number greater than or equal to 10,","or 0 if you want the raw hexadecimal timestamp"].join("\n"));const a=s-9,u=Math.round(Math.random()*(a>15?15:a)),_=this.randomUUID(a);return"".concat(_.substring(0,u)).concat(i).concat(_.substring(u)).concat(u.toString(16))})),__publicField(this,"parseStamp",((s,o)=>{if(o&&!/t0|t[1-9]\d{1,}/.test(o))throw new Error("Cannot extract date from a formated UUID with no timestamp in the format");const i=o?o.replace(/\$[rs]\d{0,}|\$t0|\$t[1-9]\d{1,}/g,(s=>{const o={$r:s=>[...Array(s)].map((()=>"r")).join(""),$s:s=>[...Array(s)].map((()=>"s")).join(""),$t:s=>[...Array(s)].map((()=>"t")).join("")},i=s.slice(0,2),a=Number.parseInt(s.slice(2),10);return o[i](a)})).replace(/^(.*?)(t{8,})(.*)$/g,((o,i,a)=>s.substring(i.length,i.length+a.length))):s;if(8===i.length)return new Date(1e3*Number.parseInt(i,16));if(i.length<10)throw new Error("Stamp length invalid");const a=Number.parseInt(i.substring(i.length-1),16);return new Date(1e3*Number.parseInt(i.substring(a,a+8),16))})),__publicField(this,"setCounter",(s=>{this.counter=s})),__publicField(this,"validate",((s,o)=>{const i=o?this._normalizeDictionary(o):this.dict;return s.split("").every((s=>i.includes(s)))}));const o=__spreadValues(__spreadValues({},C),s);this.counter=0,this.debug=!1,this.dict=[],this.version="5.3.2";const{dictionary:i,shuffle:a,length:u,counter:_}=o;this.uuidLength=u,this.setDictionary(i,a),this.setCounter(_),this.debug=o.debug,this.log(this.dict),this.log("Generator instantiated with Dictionary Size ".concat(this.dictLength," and counter set to ").concat(this.counter)),this.log=this.log.bind(this),this.setDictionary=this.setDictionary.bind(this),this.setCounter=this.setCounter.bind(this),this.seq=this.seq.bind(this),this.sequentialUUID=this.sequentialUUID.bind(this),this.rnd=this.rnd.bind(this),this.randomUUID=this.randomUUID.bind(this),this.fmt=this.fmt.bind(this),this.formattedUUID=this.formattedUUID.bind(this),this.availableUUIDs=this.availableUUIDs.bind(this),this.approxMaxBeforeCollision=this.approxMaxBeforeCollision.bind(this),this.collisionProbability=this.collisionProbability.bind(this),this.uniqueness=this.uniqueness.bind(this),this.getVersion=this.getVersion.bind(this),this.stamp=this.stamp.bind(this),this.parseStamp=this.parseStamp.bind(this)}};__publicField(j,"default",j);var L,B=j;return L=w,((a,_,w,x)=>{if(_&&"object"==typeof _||"function"==typeof _)for(let C of i(_))u.call(a,C)||C===w||s(a,C,{get:()=>_[C],enumerable:!(x=o(_,C))||x.enumerable});return a})(s({},"__esModule",{value:!0}),L)})();s.exports=o.default,"undefined"!=typeof window&&(o=o.default)},9325:(s,o,i)=>{var a=i(34840),u="object"==typeof self&&self&&self.Object===Object&&self,_=a||u||Function("return this")();s.exports=_},9404:function(s){s.exports=function(){"use strict";var s=Array.prototype.slice;function createClass(s,o){o&&(s.prototype=Object.create(o.prototype)),s.prototype.constructor=s}function Iterable(s){return isIterable(s)?s:Seq(s)}function KeyedIterable(s){return isKeyed(s)?s:KeyedSeq(s)}function IndexedIterable(s){return isIndexed(s)?s:IndexedSeq(s)}function SetIterable(s){return isIterable(s)&&!isAssociative(s)?s:SetSeq(s)}function isIterable(s){return!(!s||!s[o])}function isKeyed(s){return!(!s||!s[i])}function isIndexed(s){return!(!s||!s[a])}function isAssociative(s){return isKeyed(s)||isIndexed(s)}function isOrdered(s){return!(!s||!s[u])}createClass(KeyedIterable,Iterable),createClass(IndexedIterable,Iterable),createClass(SetIterable,Iterable),Iterable.isIterable=isIterable,Iterable.isKeyed=isKeyed,Iterable.isIndexed=isIndexed,Iterable.isAssociative=isAssociative,Iterable.isOrdered=isOrdered,Iterable.Keyed=KeyedIterable,Iterable.Indexed=IndexedIterable,Iterable.Set=SetIterable;var o="@@__IMMUTABLE_ITERABLE__@@",i="@@__IMMUTABLE_KEYED__@@",a="@@__IMMUTABLE_INDEXED__@@",u="@@__IMMUTABLE_ORDERED__@@",_="delete",w=5,x=1<>>0;if(""+i!==o||4294967295===i)return NaN;o=i}return o<0?ensureSize(s)+o:o}function returnTrue(){return!0}function wholeSlice(s,o,i){return(0===s||void 0!==i&&s<=-i)&&(void 0===o||void 0!==i&&o>=i)}function resolveBegin(s,o){return resolveIndex(s,o,0)}function resolveEnd(s,o){return resolveIndex(s,o,o)}function resolveIndex(s,o,i){return void 0===s?i:s<0?Math.max(0,o+s):void 0===o?s:Math.min(o,s)}var $=0,V=1,U=2,z="function"==typeof Symbol&&Symbol.iterator,Y="@@iterator",Z=z||Y;function Iterator(s){this.next=s}function iteratorValue(s,o,i,a){var u=0===s?o:1===s?i:[o,i];return a?a.value=u:a={value:u,done:!1},a}function iteratorDone(){return{value:void 0,done:!0}}function hasIterator(s){return!!getIteratorFn(s)}function isIterator(s){return s&&"function"==typeof s.next}function getIterator(s){var o=getIteratorFn(s);return o&&o.call(s)}function getIteratorFn(s){var o=s&&(z&&s[z]||s[Y]);if("function"==typeof o)return o}function isArrayLike(s){return s&&"number"==typeof s.length}function Seq(s){return null==s?emptySequence():isIterable(s)?s.toSeq():seqFromValue(s)}function KeyedSeq(s){return null==s?emptySequence().toKeyedSeq():isIterable(s)?isKeyed(s)?s.toSeq():s.fromEntrySeq():keyedSeqFromValue(s)}function IndexedSeq(s){return null==s?emptySequence():isIterable(s)?isKeyed(s)?s.entrySeq():s.toIndexedSeq():indexedSeqFromValue(s)}function SetSeq(s){return(null==s?emptySequence():isIterable(s)?isKeyed(s)?s.entrySeq():s:indexedSeqFromValue(s)).toSetSeq()}Iterator.prototype.toString=function(){return"[Iterator]"},Iterator.KEYS=$,Iterator.VALUES=V,Iterator.ENTRIES=U,Iterator.prototype.inspect=Iterator.prototype.toSource=function(){return this.toString()},Iterator.prototype[Z]=function(){return this},createClass(Seq,Iterable),Seq.of=function(){return Seq(arguments)},Seq.prototype.toSeq=function(){return this},Seq.prototype.toString=function(){return this.__toString("Seq {","}")},Seq.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},Seq.prototype.__iterate=function(s,o){return seqIterate(this,s,o,!0)},Seq.prototype.__iterator=function(s,o){return seqIterator(this,s,o,!0)},createClass(KeyedSeq,Seq),KeyedSeq.prototype.toKeyedSeq=function(){return this},createClass(IndexedSeq,Seq),IndexedSeq.of=function(){return IndexedSeq(arguments)},IndexedSeq.prototype.toIndexedSeq=function(){return this},IndexedSeq.prototype.toString=function(){return this.__toString("Seq [","]")},IndexedSeq.prototype.__iterate=function(s,o){return seqIterate(this,s,o,!1)},IndexedSeq.prototype.__iterator=function(s,o){return seqIterator(this,s,o,!1)},createClass(SetSeq,Seq),SetSeq.of=function(){return SetSeq(arguments)},SetSeq.prototype.toSetSeq=function(){return this},Seq.isSeq=isSeq,Seq.Keyed=KeyedSeq,Seq.Set=SetSeq,Seq.Indexed=IndexedSeq;var ee,ie,ae,ce="@@__IMMUTABLE_SEQ__@@";function ArraySeq(s){this._array=s,this.size=s.length}function ObjectSeq(s){var o=Object.keys(s);this._object=s,this._keys=o,this.size=o.length}function IterableSeq(s){this._iterable=s,this.size=s.length||s.size}function IteratorSeq(s){this._iterator=s,this._iteratorCache=[]}function isSeq(s){return!(!s||!s[ce])}function emptySequence(){return ee||(ee=new ArraySeq([]))}function keyedSeqFromValue(s){var o=Array.isArray(s)?new ArraySeq(s).fromEntrySeq():isIterator(s)?new IteratorSeq(s).fromEntrySeq():hasIterator(s)?new IterableSeq(s).fromEntrySeq():"object"==typeof s?new ObjectSeq(s):void 0;if(!o)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+s);return o}function indexedSeqFromValue(s){var o=maybeIndexedSeqFromValue(s);if(!o)throw new TypeError("Expected Array or iterable object of values: "+s);return o}function seqFromValue(s){var o=maybeIndexedSeqFromValue(s)||"object"==typeof s&&new ObjectSeq(s);if(!o)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+s);return o}function maybeIndexedSeqFromValue(s){return isArrayLike(s)?new ArraySeq(s):isIterator(s)?new IteratorSeq(s):hasIterator(s)?new IterableSeq(s):void 0}function seqIterate(s,o,i,a){var u=s._cache;if(u){for(var _=u.length-1,w=0;w<=_;w++){var x=u[i?_-w:w];if(!1===o(x[1],a?x[0]:w,s))return w+1}return w}return s.__iterateUncached(o,i)}function seqIterator(s,o,i,a){var u=s._cache;if(u){var _=u.length-1,w=0;return new Iterator((function(){var s=u[i?_-w:w];return w++>_?iteratorDone():iteratorValue(o,a?s[0]:w-1,s[1])}))}return s.__iteratorUncached(o,i)}function fromJS(s,o){return o?fromJSWith(o,s,"",{"":s}):fromJSDefault(s)}function fromJSWith(s,o,i,a){return Array.isArray(o)?s.call(a,i,IndexedSeq(o).map((function(i,a){return fromJSWith(s,i,a,o)}))):isPlainObj(o)?s.call(a,i,KeyedSeq(o).map((function(i,a){return fromJSWith(s,i,a,o)}))):o}function fromJSDefault(s){return Array.isArray(s)?IndexedSeq(s).map(fromJSDefault).toList():isPlainObj(s)?KeyedSeq(s).map(fromJSDefault).toMap():s}function isPlainObj(s){return s&&(s.constructor===Object||void 0===s.constructor)}function is(s,o){if(s===o||s!=s&&o!=o)return!0;if(!s||!o)return!1;if("function"==typeof s.valueOf&&"function"==typeof o.valueOf){if((s=s.valueOf())===(o=o.valueOf())||s!=s&&o!=o)return!0;if(!s||!o)return!1}return!("function"!=typeof s.equals||"function"!=typeof o.equals||!s.equals(o))}function deepEqual(s,o){if(s===o)return!0;if(!isIterable(o)||void 0!==s.size&&void 0!==o.size&&s.size!==o.size||void 0!==s.__hash&&void 0!==o.__hash&&s.__hash!==o.__hash||isKeyed(s)!==isKeyed(o)||isIndexed(s)!==isIndexed(o)||isOrdered(s)!==isOrdered(o))return!1;if(0===s.size&&0===o.size)return!0;var i=!isAssociative(s);if(isOrdered(s)){var a=s.entries();return o.every((function(s,o){var u=a.next().value;return u&&is(u[1],s)&&(i||is(u[0],o))}))&&a.next().done}var u=!1;if(void 0===s.size)if(void 0===o.size)"function"==typeof s.cacheResult&&s.cacheResult();else{u=!0;var _=s;s=o,o=_}var w=!0,x=o.__iterate((function(o,a){if(i?!s.has(o):u?!is(o,s.get(a,j)):!is(s.get(a,j),o))return w=!1,!1}));return w&&s.size===x}function Repeat(s,o){if(!(this instanceof Repeat))return new Repeat(s,o);if(this._value=s,this.size=void 0===o?1/0:Math.max(0,o),0===this.size){if(ie)return ie;ie=this}}function invariant(s,o){if(!s)throw new Error(o)}function Range(s,o,i){if(!(this instanceof Range))return new Range(s,o,i);if(invariant(0!==i,"Cannot step a Range by 0"),s=s||0,void 0===o&&(o=1/0),i=void 0===i?1:Math.abs(i),oa?iteratorDone():iteratorValue(s,u,i[o?a-u++:u++])}))},createClass(ObjectSeq,KeyedSeq),ObjectSeq.prototype.get=function(s,o){return void 0===o||this.has(s)?this._object[s]:o},ObjectSeq.prototype.has=function(s){return this._object.hasOwnProperty(s)},ObjectSeq.prototype.__iterate=function(s,o){for(var i=this._object,a=this._keys,u=a.length-1,_=0;_<=u;_++){var w=a[o?u-_:_];if(!1===s(i[w],w,this))return _+1}return _},ObjectSeq.prototype.__iterator=function(s,o){var i=this._object,a=this._keys,u=a.length-1,_=0;return new Iterator((function(){var w=a[o?u-_:_];return _++>u?iteratorDone():iteratorValue(s,w,i[w])}))},ObjectSeq.prototype[u]=!0,createClass(IterableSeq,IndexedSeq),IterableSeq.prototype.__iterateUncached=function(s,o){if(o)return this.cacheResult().__iterate(s,o);var i=getIterator(this._iterable),a=0;if(isIterator(i))for(var u;!(u=i.next()).done&&!1!==s(u.value,a++,this););return a},IterableSeq.prototype.__iteratorUncached=function(s,o){if(o)return this.cacheResult().__iterator(s,o);var i=getIterator(this._iterable);if(!isIterator(i))return new Iterator(iteratorDone);var a=0;return new Iterator((function(){var o=i.next();return o.done?o:iteratorValue(s,a++,o.value)}))},createClass(IteratorSeq,IndexedSeq),IteratorSeq.prototype.__iterateUncached=function(s,o){if(o)return this.cacheResult().__iterate(s,o);for(var i,a=this._iterator,u=this._iteratorCache,_=0;_=a.length){var o=i.next();if(o.done)return o;a[u]=o.value}return iteratorValue(s,u,a[u++])}))},createClass(Repeat,IndexedSeq),Repeat.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},Repeat.prototype.get=function(s,o){return this.has(s)?this._value:o},Repeat.prototype.includes=function(s){return is(this._value,s)},Repeat.prototype.slice=function(s,o){var i=this.size;return wholeSlice(s,o,i)?this:new Repeat(this._value,resolveEnd(o,i)-resolveBegin(s,i))},Repeat.prototype.reverse=function(){return this},Repeat.prototype.indexOf=function(s){return is(this._value,s)?0:-1},Repeat.prototype.lastIndexOf=function(s){return is(this._value,s)?this.size:-1},Repeat.prototype.__iterate=function(s,o){for(var i=0;i=0&&o=0&&ii?iteratorDone():iteratorValue(s,_++,w)}))},Range.prototype.equals=function(s){return s instanceof Range?this._start===s._start&&this._end===s._end&&this._step===s._step:deepEqual(this,s)},createClass(Collection,Iterable),createClass(KeyedCollection,Collection),createClass(IndexedCollection,Collection),createClass(SetCollection,Collection),Collection.Keyed=KeyedCollection,Collection.Indexed=IndexedCollection,Collection.Set=SetCollection;var le="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function imul(s,o){var i=65535&(s|=0),a=65535&(o|=0);return i*a+((s>>>16)*a+i*(o>>>16)<<16>>>0)|0};function smi(s){return s>>>1&1073741824|3221225471&s}function hash(s){if(!1===s||null==s)return 0;if("function"==typeof s.valueOf&&(!1===(s=s.valueOf())||null==s))return 0;if(!0===s)return 1;var o=typeof s;if("number"===o){if(s!=s||s===1/0)return 0;var i=0|s;for(i!==s&&(i^=4294967295*s);s>4294967295;)i^=s/=4294967295;return smi(i)}if("string"===o)return s.length>Se?cachedHashString(s):hashString(s);if("function"==typeof s.hashCode)return s.hashCode();if("object"===o)return hashJSObj(s);if("function"==typeof s.toString)return hashString(s.toString());throw new Error("Value type "+o+" cannot be hashed.")}function cachedHashString(s){var o=Pe[s];return void 0===o&&(o=hashString(s),xe===we&&(xe=0,Pe={}),xe++,Pe[s]=o),o}function hashString(s){for(var o=0,i=0;i0)switch(s.nodeType){case 1:return s.uniqueID;case 9:return s.documentElement&&s.documentElement.uniqueID}}var fe,ye="function"==typeof WeakMap;ye&&(fe=new WeakMap);var be=0,_e="__immutablehash__";"function"==typeof Symbol&&(_e=Symbol(_e));var Se=16,we=255,xe=0,Pe={};function assertNotInfinite(s){invariant(s!==1/0,"Cannot perform this action with an infinite size.")}function Map(s){return null==s?emptyMap():isMap(s)&&!isOrdered(s)?s:emptyMap().withMutations((function(o){var i=KeyedIterable(s);assertNotInfinite(i.size),i.forEach((function(s,i){return o.set(i,s)}))}))}function isMap(s){return!(!s||!s[Re])}createClass(Map,KeyedCollection),Map.of=function(){var o=s.call(arguments,0);return emptyMap().withMutations((function(s){for(var i=0;i=o.length)throw new Error("Missing value for key: "+o[i]);s.set(o[i],o[i+1])}}))},Map.prototype.toString=function(){return this.__toString("Map {","}")},Map.prototype.get=function(s,o){return this._root?this._root.get(0,void 0,s,o):o},Map.prototype.set=function(s,o){return updateMap(this,s,o)},Map.prototype.setIn=function(s,o){return this.updateIn(s,j,(function(){return o}))},Map.prototype.remove=function(s){return updateMap(this,s,j)},Map.prototype.deleteIn=function(s){return this.updateIn(s,(function(){return j}))},Map.prototype.update=function(s,o,i){return 1===arguments.length?s(this):this.updateIn([s],o,i)},Map.prototype.updateIn=function(s,o,i){i||(i=o,o=void 0);var a=updateInDeepMap(this,forceIterator(s),o,i);return a===j?void 0:a},Map.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):emptyMap()},Map.prototype.merge=function(){return mergeIntoMapWith(this,void 0,arguments)},Map.prototype.mergeWith=function(o){return mergeIntoMapWith(this,o,s.call(arguments,1))},Map.prototype.mergeIn=function(o){var i=s.call(arguments,1);return this.updateIn(o,emptyMap(),(function(s){return"function"==typeof s.merge?s.merge.apply(s,i):i[i.length-1]}))},Map.prototype.mergeDeep=function(){return mergeIntoMapWith(this,deepMerger,arguments)},Map.prototype.mergeDeepWith=function(o){var i=s.call(arguments,1);return mergeIntoMapWith(this,deepMergerWith(o),i)},Map.prototype.mergeDeepIn=function(o){var i=s.call(arguments,1);return this.updateIn(o,emptyMap(),(function(s){return"function"==typeof s.mergeDeep?s.mergeDeep.apply(s,i):i[i.length-1]}))},Map.prototype.sort=function(s){return OrderedMap(sortFactory(this,s))},Map.prototype.sortBy=function(s,o){return OrderedMap(sortFactory(this,o,s))},Map.prototype.withMutations=function(s){var o=this.asMutable();return s(o),o.wasAltered()?o.__ensureOwner(this.__ownerID):this},Map.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new OwnerID)},Map.prototype.asImmutable=function(){return this.__ensureOwner()},Map.prototype.wasAltered=function(){return this.__altered},Map.prototype.__iterator=function(s,o){return new MapIterator(this,s,o)},Map.prototype.__iterate=function(s,o){var i=this,a=0;return this._root&&this._root.iterate((function(o){return a++,s(o[1],o[0],i)}),o),a},Map.prototype.__ensureOwner=function(s){return s===this.__ownerID?this:s?makeMap(this.size,this._root,s,this.__hash):(this.__ownerID=s,this.__altered=!1,this)},Map.isMap=isMap;var Te,Re="@@__IMMUTABLE_MAP__@@",$e=Map.prototype;function ArrayMapNode(s,o){this.ownerID=s,this.entries=o}function BitmapIndexedNode(s,o,i){this.ownerID=s,this.bitmap=o,this.nodes=i}function HashArrayMapNode(s,o,i){this.ownerID=s,this.count=o,this.nodes=i}function HashCollisionNode(s,o,i){this.ownerID=s,this.keyHash=o,this.entries=i}function ValueNode(s,o,i){this.ownerID=s,this.keyHash=o,this.entry=i}function MapIterator(s,o,i){this._type=o,this._reverse=i,this._stack=s._root&&mapIteratorFrame(s._root)}function mapIteratorValue(s,o){return iteratorValue(s,o[0],o[1])}function mapIteratorFrame(s,o){return{node:s,index:0,__prev:o}}function makeMap(s,o,i,a){var u=Object.create($e);return u.size=s,u._root=o,u.__ownerID=i,u.__hash=a,u.__altered=!1,u}function emptyMap(){return Te||(Te=makeMap(0))}function updateMap(s,o,i){var a,u;if(s._root){var _=MakeRef(L),w=MakeRef(B);if(a=updateNode(s._root,s.__ownerID,0,void 0,o,i,_,w),!w.value)return s;u=s.size+(_.value?i===j?-1:1:0)}else{if(i===j)return s;u=1,a=new ArrayMapNode(s.__ownerID,[[o,i]])}return s.__ownerID?(s.size=u,s._root=a,s.__hash=void 0,s.__altered=!0,s):a?makeMap(u,a):emptyMap()}function updateNode(s,o,i,a,u,_,w,x){return s?s.update(o,i,a,u,_,w,x):_===j?s:(SetRef(x),SetRef(w),new ValueNode(o,a,[u,_]))}function isLeafNode(s){return s.constructor===ValueNode||s.constructor===HashCollisionNode}function mergeIntoNode(s,o,i,a,u){if(s.keyHash===a)return new HashCollisionNode(o,a,[s.entry,u]);var _,x=(0===i?s.keyHash:s.keyHash>>>i)&C,j=(0===i?a:a>>>i)&C;return new BitmapIndexedNode(o,1<>>=1)w[C]=1&i?o[_++]:void 0;return w[a]=u,new HashArrayMapNode(s,_+1,w)}function mergeIntoMapWith(s,o,i){for(var a=[],u=0;u>1&1431655765))+(s>>2&858993459))+(s>>4)&252645135,s+=s>>8,127&(s+=s>>16)}function setIn(s,o,i,a){var u=a?s:arrCopy(s);return u[o]=i,u}function spliceIn(s,o,i,a){var u=s.length+1;if(a&&o+1===u)return s[o]=i,s;for(var _=new Array(u),w=0,x=0;x=qe)return createNodes(s,C,a,u);var V=s&&s===this.ownerID,U=V?C:arrCopy(C);return $?x?L===B-1?U.pop():U[L]=U.pop():U[L]=[a,u]:U.push([a,u]),V?(this.entries=U,this):new ArrayMapNode(s,U)}},BitmapIndexedNode.prototype.get=function(s,o,i,a){void 0===o&&(o=hash(i));var u=1<<((0===s?o:o>>>s)&C),_=this.bitmap;return _&u?this.nodes[popCount(_&u-1)].get(s+w,o,i,a):a},BitmapIndexedNode.prototype.update=function(s,o,i,a,u,_,x){void 0===i&&(i=hash(a));var L=(0===o?i:i>>>o)&C,B=1<=ze)return expandNodes(s,z,$,L,Z);if(V&&!Z&&2===z.length&&isLeafNode(z[1^U]))return z[1^U];if(V&&Z&&1===z.length&&isLeafNode(Z))return Z;var ee=s&&s===this.ownerID,ie=V?Z?$:$^B:$|B,ae=V?Z?setIn(z,U,Z,ee):spliceOut(z,U,ee):spliceIn(z,U,Z,ee);return ee?(this.bitmap=ie,this.nodes=ae,this):new BitmapIndexedNode(s,ie,ae)},HashArrayMapNode.prototype.get=function(s,o,i,a){void 0===o&&(o=hash(i));var u=(0===s?o:o>>>s)&C,_=this.nodes[u];return _?_.get(s+w,o,i,a):a},HashArrayMapNode.prototype.update=function(s,o,i,a,u,_,x){void 0===i&&(i=hash(a));var L=(0===o?i:i>>>o)&C,B=u===j,$=this.nodes,V=$[L];if(B&&!V)return this;var U=updateNode(V,s,o+w,i,a,u,_,x);if(U===V)return this;var z=this.count;if(V){if(!U&&--z0&&a=0&&s>>o&C;if(a>=this.array.length)return new VNode([],s);var u,_=0===a;if(o>0){var x=this.array[a];if((u=x&&x.removeBefore(s,o-w,i))===x&&_)return this}if(_&&!u)return this;var j=editableVNode(this,s);if(!_)for(var L=0;L>>o&C;if(u>=this.array.length)return this;if(o>0){var _=this.array[u];if((a=_&&_.removeAfter(s,o-w,i))===_&&u===this.array.length-1)return this}var x=editableVNode(this,s);return x.array.splice(u+1),a&&(x.array[u]=a),x};var Xe,Qe,et={};function iterateList(s,o){var i=s._origin,a=s._capacity,u=getTailOffset(a),_=s._tail;return iterateNodeOrLeaf(s._root,s._level,0);function iterateNodeOrLeaf(s,o,i){return 0===o?iterateLeaf(s,i):iterateNode(s,o,i)}function iterateLeaf(s,w){var C=w===u?_&&_.array:s&&s.array,j=w>i?0:i-w,L=a-w;return L>x&&(L=x),function(){if(j===L)return et;var s=o?--L:j++;return C&&C[s]}}function iterateNode(s,u,_){var C,j=s&&s.array,L=_>i?0:i-_>>u,B=1+(a-_>>u);return B>x&&(B=x),function(){for(;;){if(C){var s=C();if(s!==et)return s;C=null}if(L===B)return et;var i=o?--B:L++;C=iterateNodeOrLeaf(j&&j[i],u-w,_+(i<=s.size||o<0)return s.withMutations((function(s){o<0?setListBounds(s,o).set(0,i):setListBounds(s,0,o+1).set(o,i)}));o+=s._origin;var a=s._tail,u=s._root,_=MakeRef(B);return o>=getTailOffset(s._capacity)?a=updateVNode(a,s.__ownerID,0,o,i,_):u=updateVNode(u,s.__ownerID,s._level,o,i,_),_.value?s.__ownerID?(s._root=u,s._tail=a,s.__hash=void 0,s.__altered=!0,s):makeList(s._origin,s._capacity,s._level,u,a):s}function updateVNode(s,o,i,a,u,_){var x,j=a>>>i&C,L=s&&j0){var B=s&&s.array[j],$=updateVNode(B,o,i-w,a,u,_);return $===B?s:((x=editableVNode(s,o)).array[j]=$,x)}return L&&s.array[j]===u?s:(SetRef(_),x=editableVNode(s,o),void 0===u&&j===x.array.length-1?x.array.pop():x.array[j]=u,x)}function editableVNode(s,o){return o&&s&&o===s.ownerID?s:new VNode(s?s.array.slice():[],o)}function listNodeFor(s,o){if(o>=getTailOffset(s._capacity))return s._tail;if(o<1<0;)i=i.array[o>>>a&C],a-=w;return i}}function setListBounds(s,o,i){void 0!==o&&(o|=0),void 0!==i&&(i|=0);var a=s.__ownerID||new OwnerID,u=s._origin,_=s._capacity,x=u+o,j=void 0===i?_:i<0?_+i:u+i;if(x===u&&j===_)return s;if(x>=j)return s.clear();for(var L=s._level,B=s._root,$=0;x+$<0;)B=new VNode(B&&B.array.length?[void 0,B]:[],a),$+=1<<(L+=w);$&&(x+=$,u+=$,j+=$,_+=$);for(var V=getTailOffset(_),U=getTailOffset(j);U>=1<V?new VNode([],a):z;if(z&&U>V&&x<_&&z.array.length){for(var Z=B=editableVNode(B,a),ee=L;ee>w;ee-=w){var ie=V>>>ee&C;Z=Z.array[ie]=editableVNode(Z.array[ie],a)}Z.array[V>>>w&C]=z}if(j<_&&(Y=Y&&Y.removeAfter(a,0,j)),x>=U)x-=U,j-=U,L=w,B=null,Y=Y&&Y.removeBefore(a,0,x);else if(x>u||U>>L&C;if(ae!==U>>>L&C)break;ae&&($+=(1<u&&(B=B.removeBefore(a,L,x-$)),B&&Uu&&(u=x.size),isIterable(w)||(x=x.map((function(s){return fromJS(s)}))),a.push(x)}return u>s.size&&(s=s.setSize(u)),mergeIntoCollectionWith(s,o,a)}function getTailOffset(s){return s>>w<=x&&w.size>=2*_.size?(a=(u=w.filter((function(s,o){return void 0!==s&&C!==o}))).toKeyedSeq().map((function(s){return s[0]})).flip().toMap(),s.__ownerID&&(a.__ownerID=u.__ownerID=s.__ownerID)):(a=_.remove(o),u=C===w.size-1?w.pop():w.set(C,void 0))}else if(L){if(i===w.get(C)[1])return s;a=_,u=w.set(C,[o,i])}else a=_.set(o,w.size),u=w.set(w.size,[o,i]);return s.__ownerID?(s.size=a.size,s._map=a,s._list=u,s.__hash=void 0,s):makeOrderedMap(a,u)}function ToKeyedSequence(s,o){this._iter=s,this._useKeys=o,this.size=s.size}function ToIndexedSequence(s){this._iter=s,this.size=s.size}function ToSetSequence(s){this._iter=s,this.size=s.size}function FromEntriesSequence(s){this._iter=s,this.size=s.size}function flipFactory(s){var o=makeSequence(s);return o._iter=s,o.size=s.size,o.flip=function(){return s},o.reverse=function(){var o=s.reverse.apply(this);return o.flip=function(){return s.reverse()},o},o.has=function(o){return s.includes(o)},o.includes=function(o){return s.has(o)},o.cacheResult=cacheResultThrough,o.__iterateUncached=function(o,i){var a=this;return s.__iterate((function(s,i){return!1!==o(i,s,a)}),i)},o.__iteratorUncached=function(o,i){if(o===U){var a=s.__iterator(o,i);return new Iterator((function(){var s=a.next();if(!s.done){var o=s.value[0];s.value[0]=s.value[1],s.value[1]=o}return s}))}return s.__iterator(o===V?$:V,i)},o}function mapFactory(s,o,i){var a=makeSequence(s);return a.size=s.size,a.has=function(o){return s.has(o)},a.get=function(a,u){var _=s.get(a,j);return _===j?u:o.call(i,_,a,s)},a.__iterateUncached=function(a,u){var _=this;return s.__iterate((function(s,u,w){return!1!==a(o.call(i,s,u,w),u,_)}),u)},a.__iteratorUncached=function(a,u){var _=s.__iterator(U,u);return new Iterator((function(){var u=_.next();if(u.done)return u;var w=u.value,x=w[0];return iteratorValue(a,x,o.call(i,w[1],x,s),u)}))},a}function reverseFactory(s,o){var i=makeSequence(s);return i._iter=s,i.size=s.size,i.reverse=function(){return s},s.flip&&(i.flip=function(){var o=flipFactory(s);return o.reverse=function(){return s.flip()},o}),i.get=function(i,a){return s.get(o?i:-1-i,a)},i.has=function(i){return s.has(o?i:-1-i)},i.includes=function(o){return s.includes(o)},i.cacheResult=cacheResultThrough,i.__iterate=function(o,i){var a=this;return s.__iterate((function(s,i){return o(s,i,a)}),!i)},i.__iterator=function(o,i){return s.__iterator(o,!i)},i}function filterFactory(s,o,i,a){var u=makeSequence(s);return a&&(u.has=function(a){var u=s.get(a,j);return u!==j&&!!o.call(i,u,a,s)},u.get=function(a,u){var _=s.get(a,j);return _!==j&&o.call(i,_,a,s)?_:u}),u.__iterateUncached=function(u,_){var w=this,x=0;return s.__iterate((function(s,_,C){if(o.call(i,s,_,C))return x++,u(s,a?_:x-1,w)}),_),x},u.__iteratorUncached=function(u,_){var w=s.__iterator(U,_),x=0;return new Iterator((function(){for(;;){var _=w.next();if(_.done)return _;var C=_.value,j=C[0],L=C[1];if(o.call(i,L,j,s))return iteratorValue(u,a?j:x++,L,_)}}))},u}function countByFactory(s,o,i){var a=Map().asMutable();return s.__iterate((function(u,_){a.update(o.call(i,u,_,s),0,(function(s){return s+1}))})),a.asImmutable()}function groupByFactory(s,o,i){var a=isKeyed(s),u=(isOrdered(s)?OrderedMap():Map()).asMutable();s.__iterate((function(_,w){u.update(o.call(i,_,w,s),(function(s){return(s=s||[]).push(a?[w,_]:_),s}))}));var _=iterableClass(s);return u.map((function(o){return reify(s,_(o))}))}function sliceFactory(s,o,i,a){var u=s.size;if(void 0!==o&&(o|=0),void 0!==i&&(i===1/0?i=u:i|=0),wholeSlice(o,i,u))return s;var _=resolveBegin(o,u),w=resolveEnd(i,u);if(_!=_||w!=w)return sliceFactory(s.toSeq().cacheResult(),o,i,a);var x,C=w-_;C==C&&(x=C<0?0:C);var j=makeSequence(s);return j.size=0===x?x:s.size&&x||void 0,!a&&isSeq(s)&&x>=0&&(j.get=function(o,i){return(o=wrapIndex(this,o))>=0&&ox)return iteratorDone();var s=u.next();return a||o===V?s:iteratorValue(o,C-1,o===$?void 0:s.value[1],s)}))},j}function takeWhileFactory(s,o,i){var a=makeSequence(s);return a.__iterateUncached=function(a,u){var _=this;if(u)return this.cacheResult().__iterate(a,u);var w=0;return s.__iterate((function(s,u,x){return o.call(i,s,u,x)&&++w&&a(s,u,_)})),w},a.__iteratorUncached=function(a,u){var _=this;if(u)return this.cacheResult().__iterator(a,u);var w=s.__iterator(U,u),x=!0;return new Iterator((function(){if(!x)return iteratorDone();var s=w.next();if(s.done)return s;var u=s.value,C=u[0],j=u[1];return o.call(i,j,C,_)?a===U?s:iteratorValue(a,C,j,s):(x=!1,iteratorDone())}))},a}function skipWhileFactory(s,o,i,a){var u=makeSequence(s);return u.__iterateUncached=function(u,_){var w=this;if(_)return this.cacheResult().__iterate(u,_);var x=!0,C=0;return s.__iterate((function(s,_,j){if(!x||!(x=o.call(i,s,_,j)))return C++,u(s,a?_:C-1,w)})),C},u.__iteratorUncached=function(u,_){var w=this;if(_)return this.cacheResult().__iterator(u,_);var x=s.__iterator(U,_),C=!0,j=0;return new Iterator((function(){var s,_,L;do{if((s=x.next()).done)return a||u===V?s:iteratorValue(u,j++,u===$?void 0:s.value[1],s);var B=s.value;_=B[0],L=B[1],C&&(C=o.call(i,L,_,w))}while(C);return u===U?s:iteratorValue(u,_,L,s)}))},u}function concatFactory(s,o){var i=isKeyed(s),a=[s].concat(o).map((function(s){return isIterable(s)?i&&(s=KeyedIterable(s)):s=i?keyedSeqFromValue(s):indexedSeqFromValue(Array.isArray(s)?s:[s]),s})).filter((function(s){return 0!==s.size}));if(0===a.length)return s;if(1===a.length){var u=a[0];if(u===s||i&&isKeyed(u)||isIndexed(s)&&isIndexed(u))return u}var _=new ArraySeq(a);return i?_=_.toKeyedSeq():isIndexed(s)||(_=_.toSetSeq()),(_=_.flatten(!0)).size=a.reduce((function(s,o){if(void 0!==s){var i=o.size;if(void 0!==i)return s+i}}),0),_}function flattenFactory(s,o,i){var a=makeSequence(s);return a.__iterateUncached=function(a,u){var _=0,w=!1;function flatDeep(s,x){var C=this;s.__iterate((function(s,u){return(!o||x0}function zipWithFactory(s,o,i){var a=makeSequence(s);return a.size=new ArraySeq(i).map((function(s){return s.size})).min(),a.__iterate=function(s,o){for(var i,a=this.__iterator(V,o),u=0;!(i=a.next()).done&&!1!==s(i.value,u++,this););return u},a.__iteratorUncached=function(s,a){var u=i.map((function(s){return s=Iterable(s),getIterator(a?s.reverse():s)})),_=0,w=!1;return new Iterator((function(){var i;return w||(i=u.map((function(s){return s.next()})),w=i.some((function(s){return s.done}))),w?iteratorDone():iteratorValue(s,_++,o.apply(null,i.map((function(s){return s.value}))))}))},a}function reify(s,o){return isSeq(s)?o:s.constructor(o)}function validateEntry(s){if(s!==Object(s))throw new TypeError("Expected [K, V] tuple: "+s)}function resolveSize(s){return assertNotInfinite(s.size),ensureSize(s)}function iterableClass(s){return isKeyed(s)?KeyedIterable:isIndexed(s)?IndexedIterable:SetIterable}function makeSequence(s){return Object.create((isKeyed(s)?KeyedSeq:isIndexed(s)?IndexedSeq:SetSeq).prototype)}function cacheResultThrough(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):Seq.prototype.cacheResult.call(this)}function defaultComparator(s,o){return s>o?1:s=0;i--)o={value:arguments[i],next:o};return this.__ownerID?(this.size=s,this._head=o,this.__hash=void 0,this.__altered=!0,this):makeStack(s,o)},Stack.prototype.pushAll=function(s){if(0===(s=IndexedIterable(s)).size)return this;assertNotInfinite(s.size);var o=this.size,i=this._head;return s.reverse().forEach((function(s){o++,i={value:s,next:i}})),this.__ownerID?(this.size=o,this._head=i,this.__hash=void 0,this.__altered=!0,this):makeStack(o,i)},Stack.prototype.pop=function(){return this.slice(1)},Stack.prototype.unshift=function(){return this.push.apply(this,arguments)},Stack.prototype.unshiftAll=function(s){return this.pushAll(s)},Stack.prototype.shift=function(){return this.pop.apply(this,arguments)},Stack.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):emptyStack()},Stack.prototype.slice=function(s,o){if(wholeSlice(s,o,this.size))return this;var i=resolveBegin(s,this.size);if(resolveEnd(o,this.size)!==this.size)return IndexedCollection.prototype.slice.call(this,s,o);for(var a=this.size-i,u=this._head;i--;)u=u.next;return this.__ownerID?(this.size=a,this._head=u,this.__hash=void 0,this.__altered=!0,this):makeStack(a,u)},Stack.prototype.__ensureOwner=function(s){return s===this.__ownerID?this:s?makeStack(this.size,this._head,s,this.__hash):(this.__ownerID=s,this.__altered=!1,this)},Stack.prototype.__iterate=function(s,o){if(o)return this.reverse().__iterate(s);for(var i=0,a=this._head;a&&!1!==s(a.value,i++,this);)a=a.next;return i},Stack.prototype.__iterator=function(s,o){if(o)return this.reverse().__iterator(s);var i=0,a=this._head;return new Iterator((function(){if(a){var o=a.value;return a=a.next,iteratorValue(s,i++,o)}return iteratorDone()}))},Stack.isStack=isStack;var at,ct="@@__IMMUTABLE_STACK__@@",lt=Stack.prototype;function makeStack(s,o,i,a){var u=Object.create(lt);return u.size=s,u._head=o,u.__ownerID=i,u.__hash=a,u.__altered=!1,u}function emptyStack(){return at||(at=makeStack(0))}function mixin(s,o){var keyCopier=function(i){s.prototype[i]=o[i]};return Object.keys(o).forEach(keyCopier),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(o).forEach(keyCopier),s}lt[ct]=!0,lt.withMutations=$e.withMutations,lt.asMutable=$e.asMutable,lt.asImmutable=$e.asImmutable,lt.wasAltered=$e.wasAltered,Iterable.Iterator=Iterator,mixin(Iterable,{toArray:function(){assertNotInfinite(this.size);var s=new Array(this.size||0);return this.valueSeq().__iterate((function(o,i){s[i]=o})),s},toIndexedSeq:function(){return new ToIndexedSequence(this)},toJS:function(){return this.toSeq().map((function(s){return s&&"function"==typeof s.toJS?s.toJS():s})).__toJS()},toJSON:function(){return this.toSeq().map((function(s){return s&&"function"==typeof s.toJSON?s.toJSON():s})).__toJS()},toKeyedSeq:function(){return new ToKeyedSequence(this,!0)},toMap:function(){return Map(this.toKeyedSeq())},toObject:function(){assertNotInfinite(this.size);var s={};return this.__iterate((function(o,i){s[i]=o})),s},toOrderedMap:function(){return OrderedMap(this.toKeyedSeq())},toOrderedSet:function(){return OrderedSet(isKeyed(this)?this.valueSeq():this)},toSet:function(){return Set(isKeyed(this)?this.valueSeq():this)},toSetSeq:function(){return new ToSetSequence(this)},toSeq:function(){return isIndexed(this)?this.toIndexedSeq():isKeyed(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Stack(isKeyed(this)?this.valueSeq():this)},toList:function(){return List(isKeyed(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(s,o){return 0===this.size?s+o:s+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+o},concat:function(){return reify(this,concatFactory(this,s.call(arguments,0)))},includes:function(s){return this.some((function(o){return is(o,s)}))},entries:function(){return this.__iterator(U)},every:function(s,o){assertNotInfinite(this.size);var i=!0;return this.__iterate((function(a,u,_){if(!s.call(o,a,u,_))return i=!1,!1})),i},filter:function(s,o){return reify(this,filterFactory(this,s,o,!0))},find:function(s,o,i){var a=this.findEntry(s,o);return a?a[1]:i},forEach:function(s,o){return assertNotInfinite(this.size),this.__iterate(o?s.bind(o):s)},join:function(s){assertNotInfinite(this.size),s=void 0!==s?""+s:",";var o="",i=!0;return this.__iterate((function(a){i?i=!1:o+=s,o+=null!=a?a.toString():""})),o},keys:function(){return this.__iterator($)},map:function(s,o){return reify(this,mapFactory(this,s,o))},reduce:function(s,o,i){var a,u;return assertNotInfinite(this.size),arguments.length<2?u=!0:a=o,this.__iterate((function(o,_,w){u?(u=!1,a=o):a=s.call(i,a,o,_,w)})),a},reduceRight:function(s,o,i){var a=this.toKeyedSeq().reverse();return a.reduce.apply(a,arguments)},reverse:function(){return reify(this,reverseFactory(this,!0))},slice:function(s,o){return reify(this,sliceFactory(this,s,o,!0))},some:function(s,o){return!this.every(not(s),o)},sort:function(s){return reify(this,sortFactory(this,s))},values:function(){return this.__iterator(V)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some((function(){return!0}))},count:function(s,o){return ensureSize(s?this.toSeq().filter(s,o):this)},countBy:function(s,o){return countByFactory(this,s,o)},equals:function(s){return deepEqual(this,s)},entrySeq:function(){var s=this;if(s._cache)return new ArraySeq(s._cache);var o=s.toSeq().map(entryMapper).toIndexedSeq();return o.fromEntrySeq=function(){return s.toSeq()},o},filterNot:function(s,o){return this.filter(not(s),o)},findEntry:function(s,o,i){var a=i;return this.__iterate((function(i,u,_){if(s.call(o,i,u,_))return a=[u,i],!1})),a},findKey:function(s,o){var i=this.findEntry(s,o);return i&&i[0]},findLast:function(s,o,i){return this.toKeyedSeq().reverse().find(s,o,i)},findLastEntry:function(s,o,i){return this.toKeyedSeq().reverse().findEntry(s,o,i)},findLastKey:function(s,o){return this.toKeyedSeq().reverse().findKey(s,o)},first:function(){return this.find(returnTrue)},flatMap:function(s,o){return reify(this,flatMapFactory(this,s,o))},flatten:function(s){return reify(this,flattenFactory(this,s,!0))},fromEntrySeq:function(){return new FromEntriesSequence(this)},get:function(s,o){return this.find((function(o,i){return is(i,s)}),void 0,o)},getIn:function(s,o){for(var i,a=this,u=forceIterator(s);!(i=u.next()).done;){var _=i.value;if((a=a&&a.get?a.get(_,j):j)===j)return o}return a},groupBy:function(s,o){return groupByFactory(this,s,o)},has:function(s){return this.get(s,j)!==j},hasIn:function(s){return this.getIn(s,j)!==j},isSubset:function(s){return s="function"==typeof s.includes?s:Iterable(s),this.every((function(o){return s.includes(o)}))},isSuperset:function(s){return(s="function"==typeof s.isSubset?s:Iterable(s)).isSubset(this)},keyOf:function(s){return this.findKey((function(o){return is(o,s)}))},keySeq:function(){return this.toSeq().map(keyMapper).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(s){return this.toKeyedSeq().reverse().keyOf(s)},max:function(s){return maxFactory(this,s)},maxBy:function(s,o){return maxFactory(this,o,s)},min:function(s){return maxFactory(this,s?neg(s):defaultNegComparator)},minBy:function(s,o){return maxFactory(this,o?neg(o):defaultNegComparator,s)},rest:function(){return this.slice(1)},skip:function(s){return this.slice(Math.max(0,s))},skipLast:function(s){return reify(this,this.toSeq().reverse().skip(s).reverse())},skipWhile:function(s,o){return reify(this,skipWhileFactory(this,s,o,!0))},skipUntil:function(s,o){return this.skipWhile(not(s),o)},sortBy:function(s,o){return reify(this,sortFactory(this,o,s))},take:function(s){return this.slice(0,Math.max(0,s))},takeLast:function(s){return reify(this,this.toSeq().reverse().take(s).reverse())},takeWhile:function(s,o){return reify(this,takeWhileFactory(this,s,o))},takeUntil:function(s,o){return this.takeWhile(not(s),o)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=hashIterable(this))}});var ut=Iterable.prototype;ut[o]=!0,ut[Z]=ut.values,ut.__toJS=ut.toArray,ut.__toStringMapper=quoteString,ut.inspect=ut.toSource=function(){return this.toString()},ut.chain=ut.flatMap,ut.contains=ut.includes,mixin(KeyedIterable,{flip:function(){return reify(this,flipFactory(this))},mapEntries:function(s,o){var i=this,a=0;return reify(this,this.toSeq().map((function(u,_){return s.call(o,[_,u],a++,i)})).fromEntrySeq())},mapKeys:function(s,o){var i=this;return reify(this,this.toSeq().flip().map((function(a,u){return s.call(o,a,u,i)})).flip())}});var pt=KeyedIterable.prototype;function keyMapper(s,o){return o}function entryMapper(s,o){return[o,s]}function not(s){return function(){return!s.apply(this,arguments)}}function neg(s){return function(){return-s.apply(this,arguments)}}function quoteString(s){return"string"==typeof s?JSON.stringify(s):String(s)}function defaultZipper(){return arrCopy(arguments)}function defaultNegComparator(s,o){return so?-1:0}function hashIterable(s){if(s.size===1/0)return 0;var o=isOrdered(s),i=isKeyed(s),a=o?1:0;return murmurHashOfSize(s.__iterate(i?o?function(s,o){a=31*a+hashMerge(hash(s),hash(o))|0}:function(s,o){a=a+hashMerge(hash(s),hash(o))|0}:o?function(s){a=31*a+hash(s)|0}:function(s){a=a+hash(s)|0}),a)}function murmurHashOfSize(s,o){return o=le(o,3432918353),o=le(o<<15|o>>>-15,461845907),o=le(o<<13|o>>>-13,5),o=le((o=o+3864292196^s)^o>>>16,2246822507),o=smi((o=le(o^o>>>13,3266489909))^o>>>16)}function hashMerge(s,o){return s^o+2654435769+(s<<6)+(s>>2)}return pt[i]=!0,pt[Z]=ut.entries,pt.__toJS=ut.toObject,pt.__toStringMapper=function(s,o){return JSON.stringify(o)+": "+quoteString(s)},mixin(IndexedIterable,{toKeyedSeq:function(){return new ToKeyedSequence(this,!1)},filter:function(s,o){return reify(this,filterFactory(this,s,o,!1))},findIndex:function(s,o){var i=this.findEntry(s,o);return i?i[0]:-1},indexOf:function(s){var o=this.keyOf(s);return void 0===o?-1:o},lastIndexOf:function(s){var o=this.lastKeyOf(s);return void 0===o?-1:o},reverse:function(){return reify(this,reverseFactory(this,!1))},slice:function(s,o){return reify(this,sliceFactory(this,s,o,!1))},splice:function(s,o){var i=arguments.length;if(o=Math.max(0|o,0),0===i||2===i&&!o)return this;s=resolveBegin(s,s<0?this.count():this.size);var a=this.slice(0,s);return reify(this,1===i?a:a.concat(arrCopy(arguments,2),this.slice(s+o)))},findLastIndex:function(s,o){var i=this.findLastEntry(s,o);return i?i[0]:-1},first:function(){return this.get(0)},flatten:function(s){return reify(this,flattenFactory(this,s,!1))},get:function(s,o){return(s=wrapIndex(this,s))<0||this.size===1/0||void 0!==this.size&&s>this.size?o:this.find((function(o,i){return i===s}),void 0,o)},has:function(s){return(s=wrapIndex(this,s))>=0&&(void 0!==this.size?this.size===1/0||s{"use strict";i(71340);var a=i(92046);s.exports=a.Object.assign},9999:(s,o,i)=>{var a=i(37217),u=i(83729),_=i(16547),w=i(74733),x=i(43838),C=i(93290),j=i(23007),L=i(92271),B=i(48948),$=i(50002),V=i(83349),U=i(5861),z=i(76189),Y=i(77199),Z=i(35529),ee=i(56449),ie=i(3656),ae=i(87730),ce=i(23805),le=i(38440),pe=i(95950),de=i(37241),fe="[object Arguments]",ye="[object Function]",be="[object Object]",_e={};_e[fe]=_e["[object Array]"]=_e["[object ArrayBuffer]"]=_e["[object DataView]"]=_e["[object Boolean]"]=_e["[object Date]"]=_e["[object Float32Array]"]=_e["[object Float64Array]"]=_e["[object Int8Array]"]=_e["[object Int16Array]"]=_e["[object Int32Array]"]=_e["[object Map]"]=_e["[object Number]"]=_e[be]=_e["[object RegExp]"]=_e["[object Set]"]=_e["[object String]"]=_e["[object Symbol]"]=_e["[object Uint8Array]"]=_e["[object Uint8ClampedArray]"]=_e["[object Uint16Array]"]=_e["[object Uint32Array]"]=!0,_e["[object Error]"]=_e[ye]=_e["[object WeakMap]"]=!1,s.exports=function baseClone(s,o,i,Se,we,xe){var Pe,Te=1&o,Re=2&o,$e=4&o;if(i&&(Pe=we?i(s,Se,we,xe):i(s)),void 0!==Pe)return Pe;if(!ce(s))return s;var qe=ee(s);if(qe){if(Pe=z(s),!Te)return j(s,Pe)}else{var ze=U(s),We=ze==ye||"[object GeneratorFunction]"==ze;if(ie(s))return C(s,Te);if(ze==be||ze==fe||We&&!we){if(Pe=Re||We?{}:Z(s),!Te)return Re?B(s,x(Pe,s)):L(s,w(Pe,s))}else{if(!_e[ze])return we?s:{};Pe=Y(s,ze,Te)}}xe||(xe=new a);var He=xe.get(s);if(He)return He;xe.set(s,Pe),le(s)?s.forEach((function(a){Pe.add(baseClone(a,o,i,a,s,xe))})):ae(s)&&s.forEach((function(a,u){Pe.set(u,baseClone(a,o,i,u,s,xe))}));var Ye=qe?void 0:($e?Re?V:$:Re?de:pe)(s);return u(Ye||s,(function(a,u){Ye&&(a=s[u=a]),_(Pe,u,baseClone(a,o,i,u,s,xe))})),Pe}},10023:(s,o,i)=>{const a=i(6205),INTS=()=>[{type:a.RANGE,from:48,to:57}],WORDS=()=>[{type:a.CHAR,value:95},{type:a.RANGE,from:97,to:122},{type:a.RANGE,from:65,to:90}].concat(INTS()),WHITESPACE=()=>[{type:a.CHAR,value:9},{type:a.CHAR,value:10},{type:a.CHAR,value:11},{type:a.CHAR,value:12},{type:a.CHAR,value:13},{type:a.CHAR,value:32},{type:a.CHAR,value:160},{type:a.CHAR,value:5760},{type:a.RANGE,from:8192,to:8202},{type:a.CHAR,value:8232},{type:a.CHAR,value:8233},{type:a.CHAR,value:8239},{type:a.CHAR,value:8287},{type:a.CHAR,value:12288},{type:a.CHAR,value:65279}];o.words=()=>({type:a.SET,set:WORDS(),not:!1}),o.notWords=()=>({type:a.SET,set:WORDS(),not:!0}),o.ints=()=>({type:a.SET,set:INTS(),not:!1}),o.notInts=()=>({type:a.SET,set:INTS(),not:!0}),o.whitespace=()=>({type:a.SET,set:WHITESPACE(),not:!1}),o.notWhitespace=()=>({type:a.SET,set:WHITESPACE(),not:!0}),o.anyChar=()=>({type:a.SET,set:[{type:a.CHAR,value:10},{type:a.CHAR,value:13},{type:a.CHAR,value:8232},{type:a.CHAR,value:8233}],not:!0})},10043:(s,o,i)=>{"use strict";var a=i(54018),u=String,_=TypeError;s.exports=function(s){if(a(s))return s;throw new _("Can't set "+u(s)+" as a prototype")}},10124:(s,o,i)=>{var a=i(9325);s.exports=function(){return a.Date.now()}},10300:(s,o,i)=>{"use strict";var a=i(13930),u=i(82159),_=i(36624),w=i(4640),x=i(73448),C=TypeError;s.exports=function(s,o){var i=arguments.length<2?x(s):o;if(u(i))return _(a(i,s));throw new C(w(s)+" is not iterable")}},10316:(s,o,i)=>{const a=i(2404),u=i(55973),_=i(92340);class Element{constructor(s,o,i){o&&(this.meta=o),i&&(this.attributes=i),this.content=s}freeze(){Object.isFrozen(this)||(this._meta&&(this.meta.parent=this,this.meta.freeze()),this._attributes&&(this.attributes.parent=this,this.attributes.freeze()),this.children.forEach((s=>{s.parent=this,s.freeze()}),this),this.content&&Array.isArray(this.content)&&Object.freeze(this.content),Object.freeze(this))}primitive(){}clone(){const s=new this.constructor;return s.element=this.element,this.meta.length&&(s._meta=this.meta.clone()),this.attributes.length&&(s._attributes=this.attributes.clone()),this.content?this.content.clone?s.content=this.content.clone():Array.isArray(this.content)?s.content=this.content.map((s=>s.clone())):s.content=this.content:s.content=this.content,s}toValue(){return this.content instanceof Element?this.content.toValue():this.content instanceof u?{key:this.content.key.toValue(),value:this.content.value?this.content.value.toValue():void 0}:this.content&&this.content.map?this.content.map((s=>s.toValue()),this):this.content}toRef(s){if(""===this.id.toValue())throw Error("Cannot create reference to an element that does not contain an ID");const o=new this.RefElement(this.id.toValue());return s&&(o.path=s),o}findRecursive(...s){if(arguments.length>1&&!this.isFrozen)throw new Error("Cannot find recursive with multiple element names without first freezing the element. Call `element.freeze()`");const o=s.pop();let i=new _;const append=(s,o)=>(s.push(o),s),checkElement=(s,i)=>{i.element===o&&s.push(i);const a=i.findRecursive(o);return a&&a.reduce(append,s),i.content instanceof u&&(i.content.key&&checkElement(s,i.content.key),i.content.value&&checkElement(s,i.content.value)),s};return this.content&&(this.content.element&&checkElement(i,this.content),Array.isArray(this.content)&&this.content.reduce(checkElement,i)),s.isEmpty||(i=i.filter((o=>{let i=o.parents.map((s=>s.element));for(const o in s){const a=s[o],u=i.indexOf(a);if(-1===u)return!1;i=i.splice(0,u)}return!0}))),i}set(s){return this.content=s,this}equals(s){return a(this.toValue(),s)}getMetaProperty(s,o){if(!this.meta.hasKey(s)){if(this.isFrozen){const s=this.refract(o);return s.freeze(),s}this.meta.set(s,o)}return this.meta.get(s)}setMetaProperty(s,o){this.meta.set(s,o)}get element(){return this._storedElement||"element"}set element(s){this._storedElement=s}get content(){return this._content}set content(s){if(s instanceof Element)this._content=s;else if(s instanceof _)this.content=s.elements;else if("string"==typeof s||"number"==typeof s||"boolean"==typeof s||"null"===s||null==s)this._content=s;else if(s instanceof u)this._content=s;else if(Array.isArray(s))this._content=s.map(this.refract);else{if("object"!=typeof s)throw new Error("Cannot set content to given value");this._content=Object.keys(s).map((o=>new this.MemberElement(o,s[o])))}}get meta(){if(!this._meta){if(this.isFrozen){const s=new this.ObjectElement;return s.freeze(),s}this._meta=new this.ObjectElement}return this._meta}set meta(s){s instanceof this.ObjectElement?this._meta=s:this.meta.set(s||{})}get attributes(){if(!this._attributes){if(this.isFrozen){const s=new this.ObjectElement;return s.freeze(),s}this._attributes=new this.ObjectElement}return this._attributes}set attributes(s){s instanceof this.ObjectElement?this._attributes=s:this.attributes.set(s||{})}get id(){return this.getMetaProperty("id","")}set id(s){this.setMetaProperty("id",s)}get classes(){return this.getMetaProperty("classes",[])}set classes(s){this.setMetaProperty("classes",s)}get title(){return this.getMetaProperty("title","")}set title(s){this.setMetaProperty("title",s)}get description(){return this.getMetaProperty("description","")}set description(s){this.setMetaProperty("description",s)}get links(){return this.getMetaProperty("links",[])}set links(s){this.setMetaProperty("links",s)}get isFrozen(){return Object.isFrozen(this)}get parents(){let{parent:s}=this;const o=new _;for(;s;)o.push(s),s=s.parent;return o}get children(){if(Array.isArray(this.content))return new _(this.content);if(this.content instanceof u){const s=new _([this.content.key]);return this.content.value&&s.push(this.content.value),s}return this.content instanceof Element?new _([this.content]):new _}get recursiveChildren(){const s=new _;return this.children.forEach((o=>{s.push(o),o.recursiveChildren.forEach((o=>{s.push(o)}))})),s}}s.exports=Element},10392:s=>{s.exports=function getValue(s,o){return null==s?void 0:s[o]}},10776:(s,o,i)=>{var a=i(30756),u=i(95950);s.exports=function getMatchData(s){for(var o=u(s),i=o.length;i--;){var _=o[i],w=s[_];o[i]=[_,w,a(w)]}return o}},10866:(s,o,i)=>{const a=i(6048),u=i(92340);class ObjectSlice extends u{map(s,o){return this.elements.map((i=>s.bind(o)(i.value,i.key,i)))}filter(s,o){return new ObjectSlice(this.elements.filter((i=>s.bind(o)(i.value,i.key,i))))}reject(s,o){return this.filter(a(s.bind(o)))}forEach(s,o){return this.elements.forEach(((i,a)=>{s.bind(o)(i.value,i.key,i,a)}))}keys(){return this.map(((s,o)=>o.toValue()))}values(){return this.map((s=>s.toValue()))}}s.exports=ObjectSlice},11042:(s,o,i)=>{"use strict";var a=i(85582),u=i(1907),_=i(24443),w=i(87170),x=i(36624),C=u([].concat);s.exports=a("Reflect","ownKeys")||function ownKeys(s){var o=_.f(x(s)),i=w.f;return i?C(o,i(s)):o}},11091:(s,o,i)=>{"use strict";var a=i(45951),u=i(76024),_=i(92361),w=i(62250),x=i(13846).f,C=i(7463),j=i(92046),L=i(28311),B=i(61626),$=i(49724);i(36128);var wrapConstructor=function(s){var Wrapper=function(o,i,a){if(this instanceof Wrapper){switch(arguments.length){case 0:return new s;case 1:return new s(o);case 2:return new s(o,i)}return new s(o,i,a)}return u(s,this,arguments)};return Wrapper.prototype=s.prototype,Wrapper};s.exports=function(s,o){var i,u,V,U,z,Y,Z,ee,ie,ae=s.target,ce=s.global,le=s.stat,pe=s.proto,de=ce?a:le?a[ae]:a[ae]&&a[ae].prototype,fe=ce?j:j[ae]||B(j,ae,{})[ae],ye=fe.prototype;for(U in o)u=!(i=C(ce?U:ae+(le?".":"#")+U,s.forced))&&de&&$(de,U),Y=fe[U],u&&(Z=s.dontCallGetSet?(ie=x(de,U))&&ie.value:de[U]),z=u&&Z?Z:o[U],(i||pe||typeof Y!=typeof z)&&(ee=s.bind&&u?L(z,a):s.wrap&&u?wrapConstructor(z):pe&&w(z)?_(z):z,(s.sham||z&&z.sham||Y&&Y.sham)&&B(ee,"sham",!0),B(fe,U,ee),pe&&($(j,V=ae+"Prototype")||B(j,V,{}),B(j[V],U,z),s.real&&ye&&(i||!ye[U])&&B(ye,U,z)))}},11287:s=>{s.exports=function getHolder(s){return s.placeholder}},11331:(s,o,i)=>{var a=i(72552),u=i(28879),_=i(40346),w=Function.prototype,x=Object.prototype,C=w.toString,j=x.hasOwnProperty,L=C.call(Object);s.exports=function isPlainObject(s){if(!_(s)||"[object Object]"!=a(s))return!1;var o=u(s);if(null===o)return!0;var i=j.call(o,"constructor")&&o.constructor;return"function"==typeof i&&i instanceof i&&C.call(i)==L}},11470:(s,o,i)=>{"use strict";var a=i(1907),u=i(65482),_=i(90160),w=i(74239),x=a("".charAt),C=a("".charCodeAt),j=a("".slice),createMethod=function(s){return function(o,i){var a,L,B=_(w(o)),$=u(i),V=B.length;return $<0||$>=V?s?"":void 0:(a=C(B,$))<55296||a>56319||$+1===V||(L=C(B,$+1))<56320||L>57343?s?x(B,$):a:s?j(B,$,$+2):L-56320+(a-55296<<10)+65536}};s.exports={codeAt:createMethod(!1),charAt:createMethod(!0)}},11842:(s,o,i)=>{var a=i(82819),u=i(9325);s.exports=function createBind(s,o,i){var _=1&o,w=a(s);return function wrapper(){return(this&&this!==u&&this instanceof wrapper?w:s).apply(_?i:this,arguments)}}},12242:(s,o,i)=>{const a=i(10316);s.exports=class BooleanElement extends a{constructor(s,o,i){super(s,o,i),this.element="boolean"}primitive(){return"boolean"}}},12507:(s,o,i)=>{var a=i(28754),u=i(49698),_=i(63912),w=i(13222);s.exports=function createCaseFirst(s){return function(o){o=w(o);var i=u(o)?_(o):void 0,x=i?i[0]:o.charAt(0),C=i?a(i,1).join(""):o.slice(1);return x[s]()+C}}},12560:(s,o,i)=>{"use strict";i(99363);var a=i(19287),u=i(45951),_=i(14840),w=i(93742);for(var x in a)_(u[x],x),w[x]=w.Array},12651:(s,o,i)=>{var a=i(74218);s.exports=function getMapData(s,o){var i=s.__data__;return a(o)?i["string"==typeof o?"string":"hash"]:i.map}},12749:(s,o,i)=>{var a=i(81042),u=Object.prototype.hasOwnProperty;s.exports=function hashHas(s){var o=this.__data__;return a?void 0!==o[s]:u.call(o,s)}},13222:(s,o,i)=>{var a=i(77556);s.exports=function toString(s){return null==s?"":a(s)}},13846:(s,o,i)=>{"use strict";var a=i(39447),u=i(13930),_=i(22574),w=i(75817),x=i(4993),C=i(70470),j=i(49724),L=i(73648),B=Object.getOwnPropertyDescriptor;o.f=a?B:function getOwnPropertyDescriptor(s,o){if(s=x(s),o=C(o),L)try{return B(s,o)}catch(s){}if(j(s,o))return w(!u(_.f,s,o),s[o])}},13930:(s,o,i)=>{"use strict";var a=i(41505),u=Function.prototype.call;s.exports=a?u.bind(u):function(){return u.apply(u,arguments)}},14248:s=>{s.exports=function arraySome(s,o){for(var i=-1,a=null==s?0:s.length;++i{s.exports=function arrayPush(s,o){for(var i=-1,a=o.length,u=s.length;++i{const a=i(10316);s.exports=class RefElement extends a{constructor(s,o,i){super(s||[],o,i),this.element="ref",this.path||(this.path="element")}get path(){return this.attributes.get("path")}set path(s){this.attributes.set("path",s)}}},14744:s=>{"use strict";var o=function isMergeableObject(s){return function isNonNullObject(s){return!!s&&"object"==typeof s}(s)&&!function isSpecial(s){var o=Object.prototype.toString.call(s);return"[object RegExp]"===o||"[object Date]"===o||function isReactElement(s){return s.$$typeof===i}(s)}(s)};var i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function cloneUnlessOtherwiseSpecified(s,o){return!1!==o.clone&&o.isMergeableObject(s)?deepmerge(function emptyTarget(s){return Array.isArray(s)?[]:{}}(s),s,o):s}function defaultArrayMerge(s,o,i){return s.concat(o).map((function(s){return cloneUnlessOtherwiseSpecified(s,i)}))}function getKeys(s){return Object.keys(s).concat(function getEnumerableOwnPropertySymbols(s){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(s).filter((function(o){return Object.propertyIsEnumerable.call(s,o)})):[]}(s))}function propertyIsOnObject(s,o){try{return o in s}catch(s){return!1}}function mergeObject(s,o,i){var a={};return i.isMergeableObject(s)&&getKeys(s).forEach((function(o){a[o]=cloneUnlessOtherwiseSpecified(s[o],i)})),getKeys(o).forEach((function(u){(function propertyIsUnsafe(s,o){return propertyIsOnObject(s,o)&&!(Object.hasOwnProperty.call(s,o)&&Object.propertyIsEnumerable.call(s,o))})(s,u)||(propertyIsOnObject(s,u)&&i.isMergeableObject(o[u])?a[u]=function getMergeFunction(s,o){if(!o.customMerge)return deepmerge;var i=o.customMerge(s);return"function"==typeof i?i:deepmerge}(u,i)(s[u],o[u],i):a[u]=cloneUnlessOtherwiseSpecified(o[u],i))})),a}function deepmerge(s,i,a){(a=a||{}).arrayMerge=a.arrayMerge||defaultArrayMerge,a.isMergeableObject=a.isMergeableObject||o,a.cloneUnlessOtherwiseSpecified=cloneUnlessOtherwiseSpecified;var u=Array.isArray(i);return u===Array.isArray(s)?u?a.arrayMerge(s,i,a):mergeObject(s,i,a):cloneUnlessOtherwiseSpecified(i,a)}deepmerge.all=function deepmergeAll(s,o){if(!Array.isArray(s))throw new Error("first argument should be an array");return s.reduce((function(s,i){return deepmerge(s,i,o)}),{})};var a=deepmerge;s.exports=a},14792:(s,o,i)=>{var a=i(13222),u=i(55808);s.exports=function capitalize(s){return u(a(s).toLowerCase())}},14840:(s,o,i)=>{"use strict";var a=i(52623),u=i(74284).f,_=i(61626),w=i(49724),x=i(54878),C=i(76264)("toStringTag");s.exports=function(s,o,i,j){var L=i?s:s&&s.prototype;L&&(w(L,C)||u(L,C,{configurable:!0,value:o}),j&&!a&&_(L,"toString",x))}},14974:s=>{s.exports=function safeGet(s,o){if(("constructor"!==o||"function"!=typeof s[o])&&"__proto__"!=o)return s[o]}},15287:(s,o)=>{"use strict";var i=Symbol.for("react.element"),a=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),w=Symbol.for("react.profiler"),x=Symbol.for("react.provider"),C=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),L=Symbol.for("react.suspense"),B=Symbol.for("react.memo"),$=Symbol.for("react.lazy"),V=Symbol.iterator;var U={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},z=Object.assign,Y={};function E(s,o,i){this.props=s,this.context=o,this.refs=Y,this.updater=i||U}function F(){}function G(s,o,i){this.props=s,this.context=o,this.refs=Y,this.updater=i||U}E.prototype.isReactComponent={},E.prototype.setState=function(s,o){if("object"!=typeof s&&"function"!=typeof s&&null!=s)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,s,o,"setState")},E.prototype.forceUpdate=function(s){this.updater.enqueueForceUpdate(this,s,"forceUpdate")},F.prototype=E.prototype;var Z=G.prototype=new F;Z.constructor=G,z(Z,E.prototype),Z.isPureReactComponent=!0;var ee=Array.isArray,ie=Object.prototype.hasOwnProperty,ae={current:null},ce={key:!0,ref:!0,__self:!0,__source:!0};function M(s,o,a){var u,_={},w=null,x=null;if(null!=o)for(u in void 0!==o.ref&&(x=o.ref),void 0!==o.key&&(w=""+o.key),o)ie.call(o,u)&&!ce.hasOwnProperty(u)&&(_[u]=o[u]);var C=arguments.length-2;if(1===C)_.children=a;else if(1{var a=i(96131);s.exports=function arrayIncludes(s,o){return!!(null==s?0:s.length)&&a(s,o,0)>-1}},15340:()=>{},15389:(s,o,i)=>{var a=i(93663),u=i(87978),_=i(83488),w=i(56449),x=i(50583);s.exports=function baseIteratee(s){return"function"==typeof s?s:null==s?_:"object"==typeof s?w(s)?u(s[0],s[1]):a(s):x(s)}},15972:(s,o,i)=>{"use strict";var a=i(49724),u=i(62250),_=i(39298),w=i(92522),x=i(57382),C=w("IE_PROTO"),j=Object,L=j.prototype;s.exports=x?j.getPrototypeOf:function(s){var o=_(s);if(a(o,C))return o[C];var i=o.constructor;return u(i)&&o instanceof i?i.prototype:o instanceof j?L:null}},16038:(s,o,i)=>{var a=i(5861),u=i(40346);s.exports=function baseIsSet(s){return u(s)&&"[object Set]"==a(s)}},16426:s=>{s.exports=function(){var s=document.getSelection();if(!s.rangeCount)return function(){};for(var o=document.activeElement,i=[],a=0;a{var a=i(43360),u=i(75288),_=Object.prototype.hasOwnProperty;s.exports=function assignValue(s,o,i){var w=s[o];_.call(s,o)&&u(w,i)&&(void 0!==i||o in s)||a(s,o,i)}},16708:(s,o,i)=>{"use strict";var a,u=i(65606);function CorkedRequest(s){var o=this;this.next=null,this.entry=null,this.finish=function(){!function onCorkedFinish(s,o,i){var a=s.entry;s.entry=null;for(;a;){var u=a.callback;o.pendingcb--,u(i),a=a.next}o.corkedRequestsFree.next=s}(o,s)}}s.exports=Writable,Writable.WritableState=WritableState;var _={deprecate:i(94643)},w=i(40345),x=i(48287).Buffer,C=(void 0!==i.g?i.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var j,L=i(75896),B=i(65291).getHighWaterMark,$=i(86048).F,V=$.ERR_INVALID_ARG_TYPE,U=$.ERR_METHOD_NOT_IMPLEMENTED,z=$.ERR_MULTIPLE_CALLBACK,Y=$.ERR_STREAM_CANNOT_PIPE,Z=$.ERR_STREAM_DESTROYED,ee=$.ERR_STREAM_NULL_VALUES,ie=$.ERR_STREAM_WRITE_AFTER_END,ae=$.ERR_UNKNOWN_ENCODING,ce=L.errorOrDestroy;function nop(){}function WritableState(s,o,_){a=a||i(25382),s=s||{},"boolean"!=typeof _&&(_=o instanceof a),this.objectMode=!!s.objectMode,_&&(this.objectMode=this.objectMode||!!s.writableObjectMode),this.highWaterMark=B(this,s,"writableHighWaterMark",_),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var w=!1===s.decodeStrings;this.decodeStrings=!w,this.defaultEncoding=s.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(s){!function onwrite(s,o){var i=s._writableState,a=i.sync,_=i.writecb;if("function"!=typeof _)throw new z;if(function onwriteStateUpdate(s){s.writing=!1,s.writecb=null,s.length-=s.writelen,s.writelen=0}(i),o)!function onwriteError(s,o,i,a,_){--o.pendingcb,i?(u.nextTick(_,a),u.nextTick(finishMaybe,s,o),s._writableState.errorEmitted=!0,ce(s,a)):(_(a),s._writableState.errorEmitted=!0,ce(s,a),finishMaybe(s,o))}(s,i,a,o,_);else{var w=needFinish(i)||s.destroyed;w||i.corked||i.bufferProcessing||!i.bufferedRequest||clearBuffer(s,i),a?u.nextTick(afterWrite,s,i,w,_):afterWrite(s,i,w,_)}}(o,s)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==s.emitClose,this.autoDestroy=!!s.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}function Writable(s){var o=this instanceof(a=a||i(25382));if(!o&&!j.call(Writable,this))return new Writable(s);this._writableState=new WritableState(s,this,o),this.writable=!0,s&&("function"==typeof s.write&&(this._write=s.write),"function"==typeof s.writev&&(this._writev=s.writev),"function"==typeof s.destroy&&(this._destroy=s.destroy),"function"==typeof s.final&&(this._final=s.final)),w.call(this)}function doWrite(s,o,i,a,u,_,w){o.writelen=a,o.writecb=w,o.writing=!0,o.sync=!0,o.destroyed?o.onwrite(new Z("write")):i?s._writev(u,o.onwrite):s._write(u,_,o.onwrite),o.sync=!1}function afterWrite(s,o,i,a){i||function onwriteDrain(s,o){0===o.length&&o.needDrain&&(o.needDrain=!1,s.emit("drain"))}(s,o),o.pendingcb--,a(),finishMaybe(s,o)}function clearBuffer(s,o){o.bufferProcessing=!0;var i=o.bufferedRequest;if(s._writev&&i&&i.next){var a=o.bufferedRequestCount,u=new Array(a),_=o.corkedRequestsFree;_.entry=i;for(var w=0,x=!0;i;)u[w]=i,i.isBuf||(x=!1),i=i.next,w+=1;u.allBuffers=x,doWrite(s,o,!0,o.length,u,"",_.finish),o.pendingcb++,o.lastBufferedRequest=null,_.next?(o.corkedRequestsFree=_.next,_.next=null):o.corkedRequestsFree=new CorkedRequest(o),o.bufferedRequestCount=0}else{for(;i;){var C=i.chunk,j=i.encoding,L=i.callback;if(doWrite(s,o,!1,o.objectMode?1:C.length,C,j,L),i=i.next,o.bufferedRequestCount--,o.writing)break}null===i&&(o.lastBufferedRequest=null)}o.bufferedRequest=i,o.bufferProcessing=!1}function needFinish(s){return s.ending&&0===s.length&&null===s.bufferedRequest&&!s.finished&&!s.writing}function callFinal(s,o){s._final((function(i){o.pendingcb--,i&&ce(s,i),o.prefinished=!0,s.emit("prefinish"),finishMaybe(s,o)}))}function finishMaybe(s,o){var i=needFinish(o);if(i&&(function prefinish(s,o){o.prefinished||o.finalCalled||("function"!=typeof s._final||o.destroyed?(o.prefinished=!0,s.emit("prefinish")):(o.pendingcb++,o.finalCalled=!0,u.nextTick(callFinal,s,o)))}(s,o),0===o.pendingcb&&(o.finished=!0,s.emit("finish"),o.autoDestroy))){var a=s._readableState;(!a||a.autoDestroy&&a.endEmitted)&&s.destroy()}return i}i(56698)(Writable,w),WritableState.prototype.getBuffer=function getBuffer(){for(var s=this.bufferedRequest,o=[];s;)o.push(s),s=s.next;return o},function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:_.deprecate((function writableStateBufferGetter(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(s){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(j=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function value(s){return!!j.call(this,s)||this===Writable&&(s&&s._writableState instanceof WritableState)}})):j=function realHasInstance(s){return s instanceof this},Writable.prototype.pipe=function(){ce(this,new Y)},Writable.prototype.write=function(s,o,i){var a=this._writableState,_=!1,w=!a.objectMode&&function _isUint8Array(s){return x.isBuffer(s)||s instanceof C}(s);return w&&!x.isBuffer(s)&&(s=function _uint8ArrayToBuffer(s){return x.from(s)}(s)),"function"==typeof o&&(i=o,o=null),w?o="buffer":o||(o=a.defaultEncoding),"function"!=typeof i&&(i=nop),a.ending?function writeAfterEnd(s,o){var i=new ie;ce(s,i),u.nextTick(o,i)}(this,i):(w||function validChunk(s,o,i,a){var _;return null===i?_=new ee:"string"==typeof i||o.objectMode||(_=new V("chunk",["string","Buffer"],i)),!_||(ce(s,_),u.nextTick(a,_),!1)}(this,a,s,i))&&(a.pendingcb++,_=function writeOrBuffer(s,o,i,a,u,_){if(!i){var w=function decodeChunk(s,o,i){s.objectMode||!1===s.decodeStrings||"string"!=typeof o||(o=x.from(o,i));return o}(o,a,u);a!==w&&(i=!0,u="buffer",a=w)}var C=o.objectMode?1:a.length;o.length+=C;var j=o.length-1))throw new ae(s);return this._writableState.defaultEncoding=s,this},Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:!1,get:function get(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function get(){return this._writableState.highWaterMark}}),Writable.prototype._write=function(s,o,i){i(new U("_write()"))},Writable.prototype._writev=null,Writable.prototype.end=function(s,o,i){var a=this._writableState;return"function"==typeof s?(i=s,s=null,o=null):"function"==typeof o&&(i=o,o=null),null!=s&&this.write(s,o),a.corked&&(a.corked=1,this.uncork()),a.ending||function endWritable(s,o,i){o.ending=!0,finishMaybe(s,o),i&&(o.finished?u.nextTick(i):s.once("finish",i));o.ended=!0,s.writable=!1}(this,a,i),this},Object.defineProperty(Writable.prototype,"writableLength",{enumerable:!1,get:function get(){return this._writableState.length}}),Object.defineProperty(Writable.prototype,"destroyed",{enumerable:!1,get:function get(){return void 0!==this._writableState&&this._writableState.destroyed},set:function set(s){this._writableState&&(this._writableState.destroyed=s)}}),Writable.prototype.destroy=L.destroy,Writable.prototype._undestroy=L.undestroy,Writable.prototype._destroy=function(s,o){o(s)}},16946:(s,o,i)=>{"use strict";var a=i(1907),u=i(98828),_=i(45807),w=Object,x=a("".split);s.exports=u((function(){return!w("z").propertyIsEnumerable(0)}))?function(s){return"String"===_(s)?x(s,""):w(s)}:w},16962:(s,o)=>{o.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},o.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},o.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},o.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},o.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},o.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},o.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},o.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},o.realToAlias=function(){var s=Object.prototype.hasOwnProperty,i=o.aliasToReal,a={};for(var u in i){var _=i[u];s.call(a,_)?a[_].push(u):a[_]=[u]}return a}(),o.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},o.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},o.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},17255:(s,o,i)=>{var a=i(47422);s.exports=function basePropertyDeep(s){return function(o){return a(o,s)}}},17285:s=>{function source(s){return s?"string"==typeof s?s:s.source:null}function lookahead(s){return concat("(?=",s,")")}function concat(...s){return s.map((s=>source(s))).join("")}function either(...s){return"("+s.map((s=>source(s))).join("|")+")"}s.exports=function xml(s){const o=concat(/[A-Z_]/,function optional(s){return concat("(",s,")?")}(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),i={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},u=s.inherit(a,{begin:/\(/,end:/\)/}),_=s.inherit(s.APOS_STRING_MODE,{className:"meta-string"}),w=s.inherit(s.QUOTE_STRING_MODE,{className:"meta-string"}),x={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin://,relevance:10,contains:[a,w,_,u,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[a,u,w,_]}]}]},s.COMMENT(//,{relevance:10}),{begin://,relevance:10},i,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[x],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[x],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:o,relevance:0,starts:x}]},{className:"tag",begin:concat(/<\//,lookahead(concat(o,/>/))),contains:[{className:"name",begin:o,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}},17400:(s,o,i)=>{var a=i(99374),u=1/0;s.exports=function toFinite(s){return s?(s=a(s))===u||s===-1/0?17976931348623157e292*(s<0?-1:1):s==s?s:0:0===s?s:0}},17533:s=>{s.exports=function yaml(s){var o="true false yes no null",i="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[s.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},u=s.inherit(a,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),_={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},w={end:",",endsWithParent:!0,excludeEnd:!0,keywords:o,relevance:0},x={begin:/\{/,end:/\}/,contains:[w],illegal:"\\n",relevance:0},C={begin:"\\[",end:"\\]",contains:[w],illegal:"\\n",relevance:0},j=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+i},{className:"type",begin:"!<"+i+">"},{className:"type",begin:"!"+i},{className:"type",begin:"!!"+i},{className:"meta",begin:"&"+s.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+s.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},s.HASH_COMMENT_MODE,{beginKeywords:o,keywords:{literal:o}},_,{className:"number",begin:s.C_NUMBER_RE+"\\b",relevance:0},x,C,a],L=[...j];return L.pop(),L.push(u),w.contains=L,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:j}}},17670:(s,o,i)=>{var a=i(12651);s.exports=function mapCacheDelete(s){var o=a(this,s).delete(s);return this.size-=o?1:0,o}},17965:(s,o,i)=>{"use strict";var a=i(16426),u={"text/plain":"Text","text/html":"Url",default:"Text"};s.exports=function copy(s,o){var i,_,w,x,C,j,L=!1;o||(o={}),i=o.debug||!1;try{if(w=a(),x=document.createRange(),C=document.getSelection(),(j=document.createElement("span")).textContent=s,j.ariaHidden="true",j.style.all="unset",j.style.position="fixed",j.style.top=0,j.style.clip="rect(0, 0, 0, 0)",j.style.whiteSpace="pre",j.style.webkitUserSelect="text",j.style.MozUserSelect="text",j.style.msUserSelect="text",j.style.userSelect="text",j.addEventListener("copy",(function(a){if(a.stopPropagation(),o.format)if(a.preventDefault(),void 0===a.clipboardData){i&&console.warn("unable to use e.clipboardData"),i&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var _=u[o.format]||u.default;window.clipboardData.setData(_,s)}else a.clipboardData.clearData(),a.clipboardData.setData(o.format,s);o.onCopy&&(a.preventDefault(),o.onCopy(a.clipboardData))})),document.body.appendChild(j),x.selectNodeContents(j),C.addRange(x),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");L=!0}catch(a){i&&console.error("unable to copy using execCommand: ",a),i&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(o.format||"text",s),o.onCopy&&o.onCopy(window.clipboardData),L=!0}catch(a){i&&console.error("unable to copy using clipboardData: ",a),i&&console.error("falling back to prompt"),_=function format(s){var o=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return s.replace(/#{\s*key\s*}/g,o)}("message"in o?o.message:"Copy to clipboard: #{key}, Enter"),window.prompt(_,s)}}finally{C&&("function"==typeof C.removeRange?C.removeRange(x):C.removeAllRanges()),j&&document.body.removeChild(j),w()}return L}},18073:(s,o,i)=>{var a=i(85087),u=i(54641),_=i(70981);s.exports=function createRecurry(s,o,i,w,x,C,j,L,B,$){var V=8&o;o|=V?32:64,4&(o&=~(V?64:32))||(o&=-4);var U=[s,o,x,V?C:void 0,V?j:void 0,V?void 0:C,V?void 0:j,L,B,$],z=i.apply(void 0,U);return a(s)&&u(z,U),z.placeholder=w,_(z,s,o)}},19123:(s,o,i)=>{var a=i(65606),u=i(31499),_=i(88310).Stream;function resolve(s,o,i){var a,_=function create_indent(s,o){return new Array(o||0).join(s||"")}(o,i=i||0),w=s;if("object"==typeof s&&((w=s[a=Object.keys(s)[0]])&&w._elem))return w._elem.name=a,w._elem.icount=i,w._elem.indent=o,w._elem.indents=_,w._elem.interrupt=w,w._elem;var x,C=[],j=[];function get_attributes(s){Object.keys(s).forEach((function(o){C.push(function attribute(s,o){return s+'="'+u(o)+'"'}(o,s[o]))}))}switch(typeof w){case"object":if(null===w)break;w._attr&&get_attributes(w._attr),w._cdata&&j.push(("/g,"]]]]>")+"]]>"),w.forEach&&(x=!1,j.push(""),w.forEach((function(s){"object"==typeof s?"_attr"==Object.keys(s)[0]?get_attributes(s._attr):j.push(resolve(s,o,i+1)):(j.pop(),x=!0,j.push(u(s)))})),x||j.push(""));break;default:j.push(u(w))}return{name:a,interrupt:!1,attributes:C,content:j,icount:i,indents:_,indent:o}}function format(s,o,i){if("object"!=typeof o)return s(!1,o);var a=o.interrupt?1:o.content.length;function proceed(){for(;o.content.length;){var u=o.content.shift();if(void 0!==u){if(interrupt(u))return;format(s,u)}}s(!1,(a>1?o.indents:"")+(o.name?"":"")+(o.indent&&!i?"\n":"")),i&&i()}function interrupt(o){return!!o.interrupt&&(o.interrupt.append=s,o.interrupt.end=proceed,o.interrupt=!1,s(!0),!0)}if(s(!1,o.indents+(o.name?"<"+o.name:"")+(o.attributes.length?" "+o.attributes.join(" "):"")+(a?o.name?">":"":o.name?"/>":"")+(o.indent&&a>1?"\n":"")),!a)return s(!1,o.indent?"\n":"");interrupt(o)||proceed()}s.exports=function xml(s,o){"object"!=typeof o&&(o={indent:o});var i=o.stream?new _:null,u="",w=!1,x=o.indent?!0===o.indent?" ":o.indent:"",C=!0;function delay(s){C?a.nextTick(s):s()}function append(s,o){if(void 0!==o&&(u+=o),s&&!w&&(i=i||new _,w=!0),s&&w){var a=u;delay((function(){i.emit("data",a)})),u=""}}function add(s,o){format(append,resolve(s,x,x?1:0),o)}function end(){if(i){var s=u;delay((function(){i.emit("data",s),i.emit("end"),i.readable=!1,i.emit("close")}))}}return delay((function(){C=!1})),o.declaration&&function addXmlDeclaration(s){var o={version:"1.0",encoding:s.encoding||"UTF-8"};s.standalone&&(o.standalone=s.standalone),add({"?xml":{_attr:o}}),u=u.replace("/>","?>")}(o.declaration),s&&s.forEach?s.forEach((function(o,i){var a;i+1===s.length&&(a=end),add(o,a)})):add(s,end),i?(i.readable=!0,i):u},s.exports.element=s.exports.Element=function element(){var s={_elem:resolve(Array.prototype.slice.call(arguments)),push:function(s){if(!this.append)throw new Error("not assigned to a parent!");var o=this,i=this._elem.indent;format(this.append,resolve(s,i,this._elem.icount+(i?1:0)),(function(){o.append(!0)}))},close:function(s){void 0!==s&&this.push(s),this.end&&this.end()}};return s}},19219:s=>{s.exports=function cacheHas(s,o){return s.has(o)}},19287:s=>{"use strict";s.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},19358:(s,o,i)=>{"use strict";var a=i(85582),u=i(49724),_=i(61626),w=i(88280),x=i(79192),C=i(19595),j=i(54829),L=i(34084),B=i(32096),$=i(39259),V=i(85884),U=i(39447),z=i(7376);s.exports=function(s,o,i,Y){var Z="stackTraceLimit",ee=Y?2:1,ie=s.split("."),ae=ie[ie.length-1],ce=a.apply(null,ie);if(ce){var le=ce.prototype;if(!z&&u(le,"cause")&&delete le.cause,!i)return ce;var pe=a("Error"),de=o((function(s,o){var i=B(Y?o:s,void 0),a=Y?new ce(s):new ce;return void 0!==i&&_(a,"message",i),V(a,de,a.stack,2),this&&w(le,this)&&L(a,this,de),arguments.length>ee&&$(a,arguments[ee]),a}));if(de.prototype=le,"Error"!==ae?x?x(de,pe):C(de,pe,{name:!0}):U&&Z in ce&&(j(de,ce,Z),j(de,ce,"prepareStackTrace")),C(de,ce),!z)try{le.name!==ae&&_(le,"name",ae),le.constructor=de}catch(s){}return de}}},19570:(s,o,i)=>{var a=i(37334),u=i(93243),_=i(83488),w=u?function(s,o){return u(s,"toString",{configurable:!0,enumerable:!1,value:a(o),writable:!0})}:_;s.exports=w},19595:(s,o,i)=>{"use strict";var a=i(49724),u=i(11042),_=i(13846),w=i(74284);s.exports=function(s,o,i){for(var x=u(o),C=w.f,j=_.f,L=0;L{"use strict";var a=i(23034);s.exports=a},19846:(s,o,i)=>{"use strict";var a=i(20798),u=i(98828),_=i(45951).String;s.exports=!!Object.getOwnPropertySymbols&&!u((function(){var s=Symbol("symbol detection");return!_(s)||!(Object(s)instanceof Symbol)||!Symbol.sham&&a&&a<41}))},19931:(s,o,i)=>{var a=i(31769),u=i(68090),_=i(68969),w=i(77797);s.exports=function baseUnset(s,o){return o=a(o,s),null==(s=_(s,o))||delete s[w(u(o))]}},20181:(s,o,i)=>{var a=/^\s+|\s+$/g,u=/^[-+]0x[0-9a-f]+$/i,_=/^0b[01]+$/i,w=/^0o[0-7]+$/i,x=parseInt,C="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,j="object"==typeof self&&self&&self.Object===Object&&self,L=C||j||Function("return this")(),B=Object.prototype.toString,$=Math.max,V=Math.min,now=function(){return L.Date.now()};function isObject(s){var o=typeof s;return!!s&&("object"==o||"function"==o)}function toNumber(s){if("number"==typeof s)return s;if(function isSymbol(s){return"symbol"==typeof s||function isObjectLike(s){return!!s&&"object"==typeof s}(s)&&"[object Symbol]"==B.call(s)}(s))return NaN;if(isObject(s)){var o="function"==typeof s.valueOf?s.valueOf():s;s=isObject(o)?o+"":o}if("string"!=typeof s)return 0===s?s:+s;s=s.replace(a,"");var i=_.test(s);return i||w.test(s)?x(s.slice(2),i?2:8):u.test(s)?NaN:+s}s.exports=function debounce(s,o,i){var a,u,_,w,x,C,j=0,L=!1,B=!1,U=!0;if("function"!=typeof s)throw new TypeError("Expected a function");function invokeFunc(o){var i=a,_=u;return a=u=void 0,j=o,w=s.apply(_,i)}function shouldInvoke(s){var i=s-C;return void 0===C||i>=o||i<0||B&&s-j>=_}function timerExpired(){var s=now();if(shouldInvoke(s))return trailingEdge(s);x=setTimeout(timerExpired,function remainingWait(s){var i=o-(s-C);return B?V(i,_-(s-j)):i}(s))}function trailingEdge(s){return x=void 0,U&&a?invokeFunc(s):(a=u=void 0,w)}function debounced(){var s=now(),i=shouldInvoke(s);if(a=arguments,u=this,C=s,i){if(void 0===x)return function leadingEdge(s){return j=s,x=setTimeout(timerExpired,o),L?invokeFunc(s):w}(C);if(B)return x=setTimeout(timerExpired,o),invokeFunc(C)}return void 0===x&&(x=setTimeout(timerExpired,o)),w}return o=toNumber(o)||0,isObject(i)&&(L=!!i.leading,_=(B="maxWait"in i)?$(toNumber(i.maxWait)||0,o):_,U="trailing"in i?!!i.trailing:U),debounced.cancel=function cancel(){void 0!==x&&clearTimeout(x),j=0,a=C=u=x=void 0},debounced.flush=function flush(){return void 0===x?w:trailingEdge(now())},debounced}},20317:s=>{s.exports=function mapToArray(s){var o=-1,i=Array(s.size);return s.forEach((function(s,a){i[++o]=[a,s]})),i}},20334:(s,o,i)=>{"use strict";var a=i(48287).Buffer;class NonError extends Error{constructor(s){super(NonError._prepareSuperMessage(s)),Object.defineProperty(this,"name",{value:"NonError",configurable:!0,writable:!0}),Error.captureStackTrace&&Error.captureStackTrace(this,NonError)}static _prepareSuperMessage(s){try{return JSON.stringify(s)}catch{return String(s)}}}const u=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0}],_=Symbol(".toJSON called"),destroyCircular=({from:s,seen:o,to_:i,forceEnumerable:w,maxDepth:x,depth:C})=>{const j=i||(Array.isArray(s)?[]:{});if(o.push(s),C>=x)return j;if("function"==typeof s.toJSON&&!0!==s[_])return(s=>{s[_]=!0;const o=s.toJSON();return delete s[_],o})(s);for(const[i,u]of Object.entries(s))"function"==typeof a&&a.isBuffer(u)?j[i]="[object Buffer]":"function"!=typeof u&&(u&&"object"==typeof u?o.includes(s[i])?j[i]="[Circular]":(C++,j[i]=destroyCircular({from:s[i],seen:o.slice(),forceEnumerable:w,maxDepth:x,depth:C})):j[i]=u);for(const{property:o,enumerable:i}of u)"string"==typeof s[o]&&Object.defineProperty(j,o,{value:s[o],enumerable:!!w||i,configurable:!0,writable:!0});return j};s.exports={serializeError:(s,o={})=>{const{maxDepth:i=Number.POSITIVE_INFINITY}=o;return"object"==typeof s&&null!==s?destroyCircular({from:s,seen:[],forceEnumerable:!0,maxDepth:i,depth:0}):"function"==typeof s?`[Function: ${s.name||"anonymous"}]`:s},deserializeError:(s,o={})=>{const{maxDepth:i=Number.POSITIVE_INFINITY}=o;if(s instanceof Error)return s;if("object"==typeof s&&null!==s&&!Array.isArray(s)){const o=new Error;return destroyCircular({from:s,seen:[],to_:o,maxDepth:i,depth:0}),o}return new NonError(s)}}},20426:s=>{var o=Object.prototype.hasOwnProperty;s.exports=function baseHas(s,i){return null!=s&&o.call(s,i)}},20575:(s,o,i)=>{"use strict";var a=i(3121);s.exports=function(s){return a(s.length)}},20798:(s,o,i)=>{"use strict";var a,u,_=i(45951),w=i(96794),x=_.process,C=_.Deno,j=x&&x.versions||C&&C.version,L=j&&j.v8;L&&(u=(a=L.split("."))[0]>0&&a[0]<4?1:+(a[0]+a[1])),!u&&w&&(!(a=w.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=w.match(/Chrome\/(\d+)/))&&(u=+a[1]),s.exports=u},20850:(s,o,i)=>{"use strict";s.exports=i(46076)},20999:(s,o,i)=>{var a=i(69302),u=i(36800);s.exports=function createAssigner(s){return a((function(o,i){var a=-1,_=i.length,w=_>1?i[_-1]:void 0,x=_>2?i[2]:void 0;for(w=s.length>3&&"function"==typeof w?(_--,w):void 0,x&&u(i[0],i[1],x)&&(w=_<3?void 0:w,_=1),o=Object(o);++a<_;){var C=i[a];C&&s(o,C,a,w)}return o}))}},21549:(s,o,i)=>{var a=i(22032),u=i(63862),_=i(66721),w=i(12749),x=i(35749);function Hash(s){var o=-1,i=null==s?0:s.length;for(this.clear();++o{var a=i(16547),u=i(43360);s.exports=function copyObject(s,o,i,_){var w=!i;i||(i={});for(var x=-1,C=o.length;++x{var a=i(51873),u=i(37828),_=i(75288),w=i(25911),x=i(20317),C=i(84247),j=a?a.prototype:void 0,L=j?j.valueOf:void 0;s.exports=function equalByTag(s,o,i,a,j,B,$){switch(i){case"[object DataView]":if(s.byteLength!=o.byteLength||s.byteOffset!=o.byteOffset)return!1;s=s.buffer,o=o.buffer;case"[object ArrayBuffer]":return!(s.byteLength!=o.byteLength||!B(new u(s),new u(o)));case"[object Boolean]":case"[object Date]":case"[object Number]":return _(+s,+o);case"[object Error]":return s.name==o.name&&s.message==o.message;case"[object RegExp]":case"[object String]":return s==o+"";case"[object Map]":var V=x;case"[object Set]":var U=1&a;if(V||(V=C),s.size!=o.size&&!U)return!1;var z=$.get(s);if(z)return z==o;a|=2,$.set(s,o);var Y=w(V(s),V(o),a,j,B,$);return $.delete(s),Y;case"[object Symbol]":if(L)return L.call(s)==L.call(o)}return!1}},22032:(s,o,i)=>{var a=i(81042);s.exports=function hashClear(){this.__data__=a?a(null):{},this.size=0}},22225:s=>{var o="\\ud800-\\udfff",i="\\u2700-\\u27bf",a="a-z\\xdf-\\xf6\\xf8-\\xff",u="A-Z\\xc0-\\xd6\\xd8-\\xde",_="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",w="["+_+"]",x="\\d+",C="["+i+"]",j="["+a+"]",L="[^"+o+_+x+i+a+u+"]",B="(?:\\ud83c[\\udde6-\\uddff]){2}",$="[\\ud800-\\udbff][\\udc00-\\udfff]",V="["+u+"]",U="(?:"+j+"|"+L+")",z="(?:"+V+"|"+L+")",Y="(?:['’](?:d|ll|m|re|s|t|ve))?",Z="(?:['’](?:D|LL|M|RE|S|T|VE))?",ee="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",ie="[\\ufe0e\\ufe0f]?",ae=ie+ee+("(?:\\u200d(?:"+["[^"+o+"]",B,$].join("|")+")"+ie+ee+")*"),ce="(?:"+[C,B,$].join("|")+")"+ae,le=RegExp([V+"?"+j+"+"+Y+"(?="+[w,V,"$"].join("|")+")",z+"+"+Z+"(?="+[w,V+U,"$"].join("|")+")",V+"?"+U+"+"+Y,V+"+"+Z,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",x,ce].join("|"),"g");s.exports=function unicodeWords(s){return s.match(le)||[]}},22551:(s,o,i)=>{"use strict";var a=i(96540),u=i(69982);function p(s){for(var o="https://reactjs.org/docs/error-decoder.html?invariant="+s,i=1;i